diff --git a/.gitattributes b/.gitattributes index a6344aac8c09253b3b630fb776ae94478aa0275b..ecc1b8cfa1f935057bc2e4ba9eafab9c87d1cb41 100644 --- a/.gitattributes +++ b/.gitattributes @@ -33,3 +33,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text *.zst filter=lfs diff=lfs merge=lfs -text *tfevents* filter=lfs diff=lfs merge=lfs -text +/web/assets/** linguist-generated +/web/** linguist-vendored + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..61881b8a4f3eb751c0343b99778348ba0d08d1ac --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +__pycache__/ +*.py[cod] +/output/ +/input/ +!/input/example.png +/models/ +/temp/ +/custom_nodes/ +!custom_nodes/example_node.py.example +extra_model_paths.yaml +/.vs +.vscode/ +.idea/ +venv/ +.venv/ +/web/extensions/* +!/web/extensions/logging.js.example +!/web/extensions/core/ +/tests-ui/data/object_info.json +/user/ +*.log +web_custom_versions/ +.DS_Store diff --git a/.python-version b/.python-version new file mode 100644 index 0000000000000000000000000000000000000000..e4fba2183587225f216eeada4c78dfab6b2e65f5 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.12 diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 0000000000000000000000000000000000000000..814d1ecdc7e5be2201ce413ffb05de1744a2a7aa --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,23 @@ +# Admins +* @comfyanonymous + +# Note: Github teams syntax cannot be used here as the repo is not owned by Comfy-Org. +# Inlined the team members for now. + +# Maintainers +*.md @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata @Kosinkadink +/tests/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata @Kosinkadink +/tests-unit/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata @Kosinkadink +/notebooks/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata @Kosinkadink +/script_examples/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata @Kosinkadink +/.github/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata @Kosinkadink + +# Python web server +/api_server/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata +/app/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata + +# Frontend assets +/web/ @huchenlei @webfiltered @pythongosssss @yoland68 @robinjhuang + +# Extra nodes +/comfy_extras/ @yoland68 @robinjhuang @huchenlei @pythongosssss @ltdrdata @Kosinkadink diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000000000000000000000000000000000..048f127e72ddc351451a9612d4c715f603393a84 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,41 @@ +# Contributing to ComfyUI + +Welcome, and thank you for your interest in contributing to ComfyUI! + +There are several ways in which you can contribute, beyond writing code. The goal of this document is to provide a high-level overview of how you can get involved. + +## Asking Questions + +Have a question? Instead of opening an issue, please ask on [Discord](https://comfy.org/discord) or [Matrix](https://app.element.io/#/room/%23comfyui_space%3Amatrix.org) channels. Our team and the community will help you. + +## Providing Feedback + +Your comments and feedback are welcome, and the development team is available via a handful of different channels. + +See the `#bug-report`, `#feature-request` and `#feedback` channels on Discord. + +## Reporting Issues + +Have you identified a reproducible problem in ComfyUI? Do you have a feature request? We want to hear about it! Here's how you can report your issue as effectively as possible. + + +### Look For an Existing Issue + +Before you create a new issue, please do a search in [open issues](https://github.com/comfyanonymous/ComfyUI/issues) to see if the issue or feature request has already been filed. + +If you find your issue already exists, make relevant comments and add your [reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments). Use a reaction in place of a "+1" comment: + +* 👍 - upvote +* 👎 - downvote + +If you cannot find an existing issue that describes your bug or feature, create a new issue. We have an issue template in place to organize new issues. + + +### Creating Pull Requests + +* Please refer to the article on [creating pull requests](https://github.com/comfyanonymous/ComfyUI/wiki/How-to-Contribute-Code) and contributing to this project. + + +## Thank You + +Your contributions to open source, large or small, make great projects like this possible. Thank you for taking the time to contribute. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..f288702d2fa16d3cdf0035b15a9fcbc552cd88e7 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + 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. + + + Copyright (C) + + 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 . + +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: + + Copyright (C) + 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 +. + + 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 +. diff --git a/README.md b/README.md index 3573c5c68b46044bc1195b78e22a25da71da54ab..752a0216eb53fdd04a18d7c3e14f658b351ea24d 100644 --- a/README.md +++ b/README.md @@ -11,3 +11,347 @@ short_description: test --- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference + +
+ +# ComfyUI + +**The most powerful and modular diffusion model GUI and backend.** + +[![Website][website-shield]][website-url] +[![Dynamic JSON Badge][discord-shield]][discord-url] +[![Matrix][matrix-shield]][matrix-url] +
+[![][github-release-shield]][github-release-link] +[![][github-release-date-shield]][github-release-link] +[![][github-downloads-shield]][github-downloads-link] +[![][github-downloads-latest-shield]][github-downloads-link] + +[matrix-shield]: https://img.shields.io/badge/Matrix-000000?style=flat&logo=matrix&logoColor=white +[matrix-url]: https://app.element.io/#/room/%23comfyui_space%3Amatrix.org +[website-shield]: https://img.shields.io/badge/ComfyOrg-4285F4?style=flat +[website-url]: https://www.comfy.org/ + + + +[discord-shield]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fdiscord.com%2Fapi%2Finvites%2Fcomfyorg%3Fwith_counts%3Dtrue&query=%24.approximate_member_count&logo=discord&logoColor=white&label=Discord&color=green&suffix=%20total +[discord-url]: https://www.comfy.org/discord +[github-release-shield]: https://img.shields.io/github/v/release/comfyanonymous/ComfyUI?style=flat&sort=semver +[github-release-link]: https://github.com/comfyanonymous/ComfyUI/releases +[github-release-date-shield]: https://img.shields.io/github/release-date/comfyanonymous/ComfyUI?style=flat +[github-downloads-shield]: https://img.shields.io/github/downloads/comfyanonymous/ComfyUI/total?style=flat +[github-downloads-latest-shield]: https://img.shields.io/github/downloads/comfyanonymous/ComfyUI/latest/total?style=flat&label=downloads%40latest +[github-downloads-link]: https://github.com/comfyanonymous/ComfyUI/releases + +![ComfyUI Screenshot](https://github.com/user-attachments/assets/7ccaf2c1-9b72-41ae-9a89-5688c94b7abe) + +
+ +This ui will let you design and execute advanced stable diffusion pipelines using a graph/nodes/flowchart based interface. For some workflow examples and see what ComfyUI can do you can check out: + +### [ComfyUI Examples](https://comfyanonymous.github.io/ComfyUI_examples/) + +### [Installing ComfyUI](#installing) + +## Features + +- Nodes/graph/flowchart interface to experiment and create complex Stable Diffusion workflows without needing to code anything. +- Image Models + - SD1.x, SD2.x, + - [SDXL](https://comfyanonymous.github.io/ComfyUI_examples/sdxl/), [SDXL Turbo](https://comfyanonymous.github.io/ComfyUI_examples/sdturbo/) + - [Stable Cascade](https://comfyanonymous.github.io/ComfyUI_examples/stable_cascade/) + - [SD3 and SD3.5](https://comfyanonymous.github.io/ComfyUI_examples/sd3/) + - Pixart Alpha and Sigma + - [AuraFlow](https://comfyanonymous.github.io/ComfyUI_examples/aura_flow/) + - [HunyuanDiT](https://comfyanonymous.github.io/ComfyUI_examples/hunyuan_dit/) + - [Flux](https://comfyanonymous.github.io/ComfyUI_examples/flux/) +- Video Models + - [Stable Video Diffusion](https://comfyanonymous.github.io/ComfyUI_examples/video/) + - [Mochi](https://comfyanonymous.github.io/ComfyUI_examples/mochi/) + - [LTX-Video](https://comfyanonymous.github.io/ComfyUI_examples/ltxv/) + - [Hunyuan Video](https://comfyanonymous.github.io/ComfyUI_examples/hunyuan_video/) +- [Stable Audio](https://comfyanonymous.github.io/ComfyUI_examples/audio/) +- Asynchronous Queue system +- Many optimizations: Only re-executes the parts of the workflow that changes between executions. +- Smart memory management: can automatically run models on GPUs with as low as 1GB vram. +- Works even if you don't have a GPU with: `--cpu` (slow) +- Can load ckpt, safetensors and diffusers models/checkpoints. Standalone VAEs and CLIP models. +- Embeddings/Textual inversion +- [Loras (regular, locon and loha)](https://comfyanonymous.github.io/ComfyUI_examples/lora/) +- [Hypernetworks](https://comfyanonymous.github.io/ComfyUI_examples/hypernetworks/) +- Loading full workflows (with seeds) from generated PNG, WebP and FLAC files. +- Saving/Loading workflows as Json files. +- Nodes interface can be used to create complex workflows like one for [Hires fix](https://comfyanonymous.github.io/ComfyUI_examples/2_pass_txt2img/) or much more advanced ones. +- [Area Composition](https://comfyanonymous.github.io/ComfyUI_examples/area_composition/) +- [Inpainting](https://comfyanonymous.github.io/ComfyUI_examples/inpaint/) with both regular and inpainting models. +- [ControlNet and T2I-Adapter](https://comfyanonymous.github.io/ComfyUI_examples/controlnet/) +- [Upscale Models (ESRGAN, ESRGAN variants, SwinIR, Swin2SR, etc...)](https://comfyanonymous.github.io/ComfyUI_examples/upscale_models/) +- [unCLIP Models](https://comfyanonymous.github.io/ComfyUI_examples/unclip/) +- [GLIGEN](https://comfyanonymous.github.io/ComfyUI_examples/gligen/) +- [Model Merging](https://comfyanonymous.github.io/ComfyUI_examples/model_merging/) +- [LCM models and Loras](https://comfyanonymous.github.io/ComfyUI_examples/lcm/) +- Latent previews with [TAESD](#how-to-show-high-quality-previews) +- Starts up very fast. +- Works fully offline: will never download anything. +- [Config file](extra_model_paths.yaml.example) to set the search paths for models. + +Workflow examples can be found on the [Examples page](https://comfyanonymous.github.io/ComfyUI_examples/) + +## Shortcuts + +| Keybind | Explanation | +| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | +| `Ctrl` + `Enter` | Queue up current graph for generation | +| `Ctrl` + `Shift` + `Enter` | Queue up current graph as first for generation | +| `Ctrl` + `Alt` + `Enter` | Cancel current generation | +| `Ctrl` + `Z`/`Ctrl` + `Y` | Undo/Redo | +| `Ctrl` + `S` | Save workflow | +| `Ctrl` + `O` | Load workflow | +| `Ctrl` + `A` | Select all nodes | +| `Alt `+ `C` | Collapse/uncollapse selected nodes | +| `Ctrl` + `M` | Mute/unmute selected nodes | +| `Ctrl` + `B` | Bypass selected nodes (acts like the node was removed from the graph and the wires reconnected through) | +| `Delete`/`Backspace` | Delete selected nodes | +| `Ctrl` + `Backspace` | Delete the current graph | +| `Space` | Move the canvas around when held and moving the cursor | +| `Ctrl`/`Shift` + `Click` | Add clicked node to selection | +| `Ctrl` + `C`/`Ctrl` + `V` | Copy and paste selected nodes (without maintaining connections to outputs of unselected nodes) | +| `Ctrl` + `C`/`Ctrl` + `Shift` + `V` | Copy and paste selected nodes (maintaining connections from outputs of unselected nodes to inputs of pasted nodes) | +| `Shift` + `Drag` | Move multiple selected nodes at the same time | +| `Ctrl` + `D` | Load default graph | +| `Alt` + `+` | Canvas Zoom in | +| `Alt` + `-` | Canvas Zoom out | +| `Ctrl` + `Shift` + LMB + Vertical drag | Canvas Zoom in/out | +| `P` | Pin/Unpin selected nodes | +| `Ctrl` + `G` | Group selected nodes | +| `Q` | Toggle visibility of the queue | +| `H` | Toggle visibility of history | +| `R` | Refresh graph | +| `F` | Show/Hide menu | +| `.` | Fit view to selection (Whole graph when nothing is selected) | +| Double-Click LMB | Open node quick search palette | +| `Shift` + Drag | Move multiple wires at once | +| `Ctrl` + `Alt` + LMB | Disconnect all wires from clicked slot | + +`Ctrl` can also be replaced with `Cmd` instead for macOS users + +# Installing + +## Windows + +There is a portable standalone build for Windows that should work for running on Nvidia GPUs or for running on your CPU only on the [releases page](https://github.com/comfyanonymous/ComfyUI/releases). + +### [Direct link to download](https://github.com/comfyanonymous/ComfyUI/releases/latest/download/ComfyUI_windows_portable_nvidia.7z) + +Simply download, extract with [7-Zip](https://7-zip.org) and run. Make sure you put your Stable Diffusion checkpoints/models (the huge ckpt/safetensors files) in: ComfyUI\models\checkpoints + +If you have trouble extracting it, right click the file -> properties -> unblock + +#### How do I share models between another UI and ComfyUI? + +See the [Config file](extra_model_paths.yaml.example) to set the search paths for models. In the standalone windows build you can find this file in the ComfyUI directory. Rename this file to extra_model_paths.yaml and edit it with your favorite text editor. + +## Jupyter Notebook + +To run it on services like paperspace, kaggle or colab you can use my [Jupyter Notebook](notebooks/comfyui_colab.ipynb) + +## Manual Install (Windows, Linux) + +Note that some dependencies do not yet support python 3.13 so using 3.12 is recommended. + +Git clone this repo. + +Put your SD checkpoints (the huge ckpt/safetensors files) in: models/checkpoints + +Put your VAE in: models/vae + +### AMD GPUs (Linux only) + +AMD users can install rocm and pytorch with pip if you don't have it already installed, this is the command to install the stable version: + +`pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.2` + +This is the command to install the nightly with ROCm 6.2 which might have some performance improvements: + +`pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.2.4` + +### Intel GPUs (Windows and Linux) + +(Option 1) Intel Arc GPU users can install native PyTorch with torch.xpu support using pip (currently available in PyTorch nightly builds). More information can be found [here](https://pytorch.org/docs/main/notes/get_start_xpu.html) + +1. To install PyTorch nightly, use the following command: + +`pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/xpu` + +2. Launch ComfyUI by running `python main.py` + +(Option 2) Alternatively, Intel GPUs supported by Intel Extension for PyTorch (IPEX) can leverage IPEX for improved performance. + +1. For Intel® Arc™ A-Series Graphics utilizing IPEX, create a conda environment and use the commands below: + +``` +conda install libuv +pip install torch==2.3.1.post0+cxx11.abi torchvision==0.18.1.post0+cxx11.abi torchaudio==2.3.1.post0+cxx11.abi intel-extension-for-pytorch==2.3.110.post0+xpu --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/ --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/cn/ +``` + +For other supported Intel GPUs with IPEX, visit [Installation](https://intel.github.io/intel-extension-for-pytorch/index.html#installation?platform=gpu) for more information. + +Additional discussion and help can be found [here](https://github.com/comfyanonymous/ComfyUI/discussions/476). + +### NVIDIA + +Nvidia users should install stable pytorch using this command: + +`pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu124` + +This is the command to install pytorch nightly instead which might have performance improvements: + +`pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu126` + +#### Troubleshooting + +If you get the "Torch not compiled with CUDA enabled" error, uninstall torch with: + +`pip uninstall torch` + +And install it again with the command above. + +### Dependencies + +Install the dependencies by opening your terminal inside the ComfyUI folder and: + +`pip install -r requirements.txt` + +After this you should have everything installed and can proceed to running ComfyUI. + +### Others: + +#### Apple Mac silicon + +You can install ComfyUI in Apple Mac silicon (M1 or M2) with any recent macOS version. + +1. Install pytorch nightly. For instructions, read the [Accelerated PyTorch training on Mac](https://developer.apple.com/metal/pytorch/) Apple Developer guide (make sure to install the latest pytorch nightly). +1. Follow the [ComfyUI manual installation](#manual-install-windows-linux) instructions for Windows and Linux. +1. Install the ComfyUI [dependencies](#dependencies). If you have another Stable Diffusion UI [you might be able to reuse the dependencies](#i-already-have-another-ui-for-stable-diffusion-installed-do-i-really-have-to-install-all-of-these-dependencies). +1. Launch ComfyUI by running `python main.py` + +> **Note**: Remember to add your models, VAE, LoRAs etc. to the corresponding Comfy folders, as discussed in [ComfyUI manual installation](#manual-install-windows-linux). + +#### DirectML (AMD Cards on Windows) + +`pip install torch-directml` Then you can launch ComfyUI with: `python main.py --directml` + +#### Ascend NPUs + +For models compatible with Ascend Extension for PyTorch (torch_npu). To get started, ensure your environment meets the prerequisites outlined on the [installation](https://ascend.github.io/docs/sources/ascend/quick_install.html) page. Here's a step-by-step guide tailored to your platform and installation method: + +1. Begin by installing the recommended or newer kernel version for Linux as specified in the Installation page of torch-npu, if necessary. +2. Proceed with the installation of Ascend Basekit, which includes the driver, firmware, and CANN, following the instructions provided for your specific platform. +3. Next, install the necessary packages for torch-npu by adhering to the platform-specific instructions on the [Installation](https://ascend.github.io/docs/sources/pytorch/install.html#pytorch) page. +4. Finally, adhere to the [ComfyUI manual installation](#manual-install-windows-linux) guide for Linux. Once all components are installed, you can run ComfyUI as described earlier. + +# Running + +`python main.py` + +### For AMD cards not officially supported by ROCm + +Try running it with this command if you have issues: + +For 6700, 6600 and maybe other RDNA2 or older: `HSA_OVERRIDE_GFX_VERSION=10.3.0 python main.py` + +For AMD 7600 and maybe other RDNA3 cards: `HSA_OVERRIDE_GFX_VERSION=11.0.0 python main.py` + +### AMD ROCm Tips + +You can enable experimental memory efficient attention on pytorch 2.5 in ComfyUI on RDNA3 and potentially other AMD GPUs using this command: + +`TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1 python main.py --use-pytorch-cross-attention` + +You can also try setting this env variable `PYTORCH_TUNABLEOP_ENABLED=1` which might speed things up at the cost of a very slow initial run. + +# Notes + +Only parts of the graph that have an output with all the correct inputs will be executed. + +Only parts of the graph that change from each execution to the next will be executed, if you submit the same graph twice only the first will be executed. If you change the last part of the graph only the part you changed and the part that depends on it will be executed. + +Dragging a generated png on the webpage or loading one will give you the full workflow including seeds that were used to create it. + +You can use () to change emphasis of a word or phrase like: (good code:1.2) or (bad code:0.8). The default emphasis for () is 1.1. To use () characters in your actual prompt escape them like \\( or \\). + +You can use {day|night}, for wildcard/dynamic prompts. With this syntax "{wild|card|test}" will be randomly replaced by either "wild", "card" or "test" by the frontend every time you queue the prompt. To use {} characters in your actual prompt escape them like: \\{ or \\}. + +Dynamic prompts also support C-style comments, like `// comment` or `/* comment */`. + +To use a textual inversion concepts/embeddings in a text prompt put them in the models/embeddings directory and use them in the CLIPTextEncode node like this (you can omit the .pt extension): + +`embedding:embedding_filename.pt` + +## How to show high-quality previews? + +Use `--preview-method auto` to enable previews. + +The default installation includes a fast latent preview method that's low-resolution. To enable higher-quality previews with [TAESD](https://github.com/madebyollin/taesd), download the [taesd_decoder.pth, taesdxl_decoder.pth, taesd3_decoder.pth and taef1_decoder.pth](https://github.com/madebyollin/taesd/) and place them in the `models/vae_approx` folder. Once they're installed, restart ComfyUI and launch it with `--preview-method taesd` to enable high-quality previews. + +## How to use TLS/SSL? + +Generate a self-signed certificate (not appropriate for shared/production use) and key by running the command: `openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes -subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname"` + +Use `--tls-keyfile key.pem --tls-certfile cert.pem` to enable TLS/SSL, the app will now be accessible with `https://...` instead of `http://...`. + +> Note: Windows users can use [alexisrolland/docker-openssl](https://github.com/alexisrolland/docker-openssl) or one of the [3rd party binary distributions](https://wiki.openssl.org/index.php/Binaries) to run the command example above. +>

If you use a container, note that the volume mount `-v` can be a relative path so `... -v ".\:/openssl-certs" ...` would create the key & cert files in the current directory of your command prompt or powershell terminal. + +## Support and dev channel + +[Matrix space: #comfyui_space:matrix.org](https://app.element.io/#/room/%23comfyui_space%3Amatrix.org) (it's like discord but open source). + +See also: [https://www.comfy.org/](https://www.comfy.org/) + +## Frontend Development + +As of August 15, 2024, we have transitioned to a new frontend, which is now hosted in a separate repository: [ComfyUI Frontend](https://github.com/Comfy-Org/ComfyUI_frontend). This repository now hosts the compiled JS (from TS/Vue) under the `web/` directory. + +### Reporting Issues and Requesting Features + +For any bugs, issues, or feature requests related to the frontend, please use the [ComfyUI Frontend repository](https://github.com/Comfy-Org/ComfyUI_frontend). This will help us manage and address frontend-specific concerns more efficiently. + +### Using the Latest Frontend + +The new frontend is now the default for ComfyUI. However, please note: + +1. The frontend in the main ComfyUI repository is updated weekly. +2. Daily releases are available in the separate frontend repository. + +To use the most up-to-date frontend version: + +1. For the latest daily release, launch ComfyUI with this command line argument: + + ``` + --front-end-version Comfy-Org/ComfyUI_frontend@latest + ``` + +2. For a specific version, replace `latest` with the desired version number: + + ``` + --front-end-version Comfy-Org/ComfyUI_frontend@1.2.2 + ``` + +This approach allows you to easily switch between the stable weekly release and the cutting-edge daily updates, or even specific versions for testing purposes. + +### Accessing the Legacy Frontend + +If you need to use the legacy frontend for any reason, you can access it using the following command line argument: + +``` +--front-end-version Comfy-Org/ComfyUI_legacy_frontend@latest +``` + +This will use a snapshot of the legacy frontend preserved in the [ComfyUI Legacy Frontend repository](https://github.com/Comfy-Org/ComfyUI_legacy_frontend). + +# QA + +### Which GPU should I buy for this? + +[See this page for some recommendations](https://github.com/comfyanonymous/ComfyUI/wiki/Which-GPU-should-I-buy-for-ComfyUI) diff --git a/api_server/__init__.py b/api_server/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/api_server/routes/__init__.py b/api_server/routes/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/api_server/routes/internal/README.md b/api_server/routes/internal/README.md new file mode 100644 index 0000000000000000000000000000000000000000..35330c36f83962385b4afe4653c5967f2bdb73c1 --- /dev/null +++ b/api_server/routes/internal/README.md @@ -0,0 +1,3 @@ +# ComfyUI Internal Routes + +All routes under the `/internal` path are designated for **internal use by ComfyUI only**. These routes are not intended for use by external applications may change at any time without notice. diff --git a/api_server/routes/internal/__init__.py b/api_server/routes/internal/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/api_server/routes/internal/internal_routes.py b/api_server/routes/internal/internal_routes.py new file mode 100644 index 0000000000000000000000000000000000000000..8f74529ba567d282d1dc80dd7dfa6edebfc2a5f4 --- /dev/null +++ b/api_server/routes/internal/internal_routes.py @@ -0,0 +1,75 @@ +from aiohttp import web +from typing import Optional +from folder_paths import models_dir, user_directory, output_directory, folder_names_and_paths +from api_server.services.file_service import FileService +from api_server.services.terminal_service import TerminalService +import app.logger + +class InternalRoutes: + ''' + The top level web router for internal routes: /internal/* + The endpoints here should NOT be depended upon. It is for ComfyUI frontend use only. + Check README.md for more information. + ''' + + def __init__(self, prompt_server): + self.routes: web.RouteTableDef = web.RouteTableDef() + self._app: Optional[web.Application] = None + self.file_service = FileService({ + "models": models_dir, + "user": user_directory, + "output": output_directory + }) + self.prompt_server = prompt_server + self.terminal_service = TerminalService(prompt_server) + + def setup_routes(self): + @self.routes.get('/files') + async def list_files(request): + directory_key = request.query.get('directory', '') + try: + file_list = self.file_service.list_files(directory_key) + return web.json_response({"files": file_list}) + except ValueError as e: + return web.json_response({"error": str(e)}, status=400) + except Exception as e: + return web.json_response({"error": str(e)}, status=500) + + @self.routes.get('/logs') + async def get_logs(request): + return web.json_response("".join([(l["t"] + " - " + l["m"]) for l in app.logger.get_logs()])) + + @self.routes.get('/logs/raw') + async def get_raw_logs(request): + self.terminal_service.update_size() + return web.json_response({ + "entries": list(app.logger.get_logs()), + "size": {"cols": self.terminal_service.cols, "rows": self.terminal_service.rows} + }) + + @self.routes.patch('/logs/subscribe') + async def subscribe_logs(request): + json_data = await request.json() + client_id = json_data["clientId"] + enabled = json_data["enabled"] + if enabled: + self.terminal_service.subscribe(client_id) + else: + self.terminal_service.unsubscribe(client_id) + + return web.Response(status=200) + + + @self.routes.get('/folder_paths') + async def get_folder_paths(request): + response = {} + for key in folder_names_and_paths: + response[key] = folder_names_and_paths[key][0] + return web.json_response(response) + + def get_app(self): + if self._app is None: + self._app = web.Application() + self.setup_routes() + self._app.add_routes(self.routes) + return self._app diff --git a/api_server/services/__init__.py b/api_server/services/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/api_server/services/file_service.py b/api_server/services/file_service.py new file mode 100644 index 0000000000000000000000000000000000000000..115edccd30b995f28a0c15f54d48c43788740a76 --- /dev/null +++ b/api_server/services/file_service.py @@ -0,0 +1,13 @@ +from typing import Dict, List, Optional +from api_server.utils.file_operations import FileSystemOperations, FileSystemItem + +class FileService: + def __init__(self, allowed_directories: Dict[str, str], file_system_ops: Optional[FileSystemOperations] = None): + self.allowed_directories: Dict[str, str] = allowed_directories + self.file_system_ops: FileSystemOperations = file_system_ops or FileSystemOperations() + + def list_files(self, directory_key: str) -> List[FileSystemItem]: + if directory_key not in self.allowed_directories: + raise ValueError("Invalid directory key") + directory_path: str = self.allowed_directories[directory_key] + return self.file_system_ops.walk_directory(directory_path) diff --git a/api_server/services/terminal_service.py b/api_server/services/terminal_service.py new file mode 100644 index 0000000000000000000000000000000000000000..ab4371f4f855c6d347744f751fd1bc5cc0f5a173 --- /dev/null +++ b/api_server/services/terminal_service.py @@ -0,0 +1,60 @@ +from app.logger import on_flush +import os +import shutil + + +class TerminalService: + def __init__(self, server): + self.server = server + self.cols = None + self.rows = None + self.subscriptions = set() + on_flush(self.send_messages) + + def get_terminal_size(self): + try: + size = os.get_terminal_size() + return (size.columns, size.lines) + except OSError: + try: + size = shutil.get_terminal_size() + return (size.columns, size.lines) + except OSError: + return (80, 24) # fallback to 80x24 + + def update_size(self): + columns, lines = self.get_terminal_size() + changed = False + + if columns != self.cols: + self.cols = columns + changed = True + + if lines != self.rows: + self.rows = lines + changed = True + + if changed: + return {"cols": self.cols, "rows": self.rows} + + return None + + def subscribe(self, client_id): + self.subscriptions.add(client_id) + + def unsubscribe(self, client_id): + self.subscriptions.discard(client_id) + + def send_messages(self, entries): + if not len(entries) or not len(self.subscriptions): + return + + new_size = self.update_size() + + for client_id in self.subscriptions.copy(): # prevent: Set changed size during iteration + if client_id not in self.server.sockets: + # Automatically unsub if the socket has disconnected + self.unsubscribe(client_id) + continue + + self.server.send_sync("logs", {"entries": entries, "size": new_size}, client_id) diff --git a/api_server/utils/file_operations.py b/api_server/utils/file_operations.py new file mode 100644 index 0000000000000000000000000000000000000000..32d6e047a5da09d0f382bb3fa93ce8d52b699aa7 --- /dev/null +++ b/api_server/utils/file_operations.py @@ -0,0 +1,42 @@ +import os +from typing import List, Union, TypedDict, Literal +from typing_extensions import TypeGuard +class FileInfo(TypedDict): + name: str + path: str + type: Literal["file"] + size: int + +class DirectoryInfo(TypedDict): + name: str + path: str + type: Literal["directory"] + +FileSystemItem = Union[FileInfo, DirectoryInfo] + +def is_file_info(item: FileSystemItem) -> TypeGuard[FileInfo]: + return item["type"] == "file" + +class FileSystemOperations: + @staticmethod + def walk_directory(directory: str) -> List[FileSystemItem]: + file_list: List[FileSystemItem] = [] + for root, dirs, files in os.walk(directory): + for name in files: + file_path = os.path.join(root, name) + relative_path = os.path.relpath(file_path, directory) + file_list.append({ + "name": name, + "path": relative_path, + "type": "file", + "size": os.path.getsize(file_path) + }) + for name in dirs: + dir_path = os.path.join(root, name) + relative_path = os.path.relpath(dir_path, directory) + file_list.append({ + "name": name, + "path": relative_path, + "type": "directory" + }) + return file_list diff --git a/app.py b/app.py new file mode 100644 index 0000000000000000000000000000000000000000..dcbe26f4e3b7c9fd06a564f4caa1bc8d76e56360 --- /dev/null +++ b/app.py @@ -0,0 +1,397 @@ +import os +import random +import sys +from typing import Sequence, Mapping, Any, Union +import torch +import gradio as gr +from huggingface_hub import hf_hub_download +import spaces +from comfy import model_management + +hf_hub_download(repo_id="black-forest-labs/FLUX.1-Redux-dev", filename="flux1-redux-dev.safetensors", local_dir="models/style_models") +hf_hub_download(repo_id="black-forest-labs/FLUX.1-Depth-dev", filename="flux1-depth-dev.safetensors", local_dir="models/diffusion_models") +hf_hub_download(repo_id="Comfy-Org/sigclip_vision_384", filename="sigclip_vision_patch14_384.safetensors", local_dir="models/clip_vision") +hf_hub_download(repo_id="Kijai/DepthAnythingV2-safetensors", filename="depth_anything_v2_vitl_fp32.safetensors", local_dir="models/depthanything") +hf_hub_download(repo_id="black-forest-labs/FLUX.1-dev", filename="ae.safetensors", local_dir="models/vae/FLUX1") +hf_hub_download(repo_id="comfyanonymous/flux_text_encoders", filename="clip_l.safetensors", local_dir="models/text_encoders") +hf_hub_download(repo_id="comfyanonymous/flux_text_encoders", filename="t5xxl_fp16.safetensors", local_dir="models/text_encoders/t5") + +def get_value_at_index(obj: Union[Sequence, Mapping], index: int) -> Any: + """Returns the value at the given index of a sequence or mapping. + If the object is a sequence (like list or string), returns the value at the given index. + If the object is a mapping (like a dictionary), returns the value at the index-th key. + Some return a dictionary, in these cases, we look for the "results" key + Args: + obj (Union[Sequence, Mapping]): The object to retrieve the value from. + index (int): The index of the value to retrieve. + Returns: + Any: The value at the given index. + Raises: + IndexError: If the index is out of bounds for the object and the object is not a mapping. + """ + try: + return obj[index] + except KeyError: + return obj["result"][index] + + +def find_path(name: str, path: str = None) -> str: + """ + Recursively looks at parent folders starting from the given path until it finds the given name. + Returns the path as a Path object if found, or None otherwise. + """ + # If no path is given, use the current working directory + if path is None: + path = os.getcwd() + + # Check if the current directory contains the name + if name in os.listdir(path): + path_name = os.path.join(path, name) + print(f"{name} found: {path_name}") + return path_name + + # Get the parent directory + parent_directory = os.path.dirname(path) + + # If the parent directory is the same as the current directory, we've reached the root and stop the search + if parent_directory == path: + return None + + # Recursively call the function with the parent directory + return find_path(name, parent_directory) + + +def add_comfyui_directory_to_sys_path() -> None: + """ + Add 'ComfyUI' to the sys.path + """ + comfyui_path = find_path("ComfyUI") + if comfyui_path is not None and os.path.isdir(comfyui_path): + sys.path.append(comfyui_path) + print(f"'{comfyui_path}' added to sys.path") + + +def add_extra_model_paths() -> None: + """ + Parse the optional extra_model_paths.yaml file and add the parsed paths to the sys.path. + """ + try: + from main import load_extra_path_config + except ImportError: + print( + "Could not import load_extra_path_config from main.py. Looking in utils.extra_config instead." + ) + from utils.extra_config import load_extra_path_config + + extra_model_paths = find_path("extra_model_paths.yaml") + + if extra_model_paths is not None: + load_extra_path_config(extra_model_paths) + else: + print("Could not find the extra_model_paths config file.") + + +add_comfyui_directory_to_sys_path() +add_extra_model_paths() + + +def import_custom_nodes() -> None: + """Find all custom nodes in the custom_nodes folder and add those node objects to NODE_CLASS_MAPPINGS + This function sets up a new asyncio event loop, initializes the PromptServer, + creates a PromptQueue, and initializes the custom nodes. + """ + import asyncio + import execution + from nodes import init_extra_nodes + import server + + # Creating a new event loop and setting it as the default loop + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + + # Creating an instance of PromptServer with the loop + server_instance = server.PromptServer(loop) + execution.PromptQueue(server_instance) + + # Initializing custom nodes + init_extra_nodes() + + +from nodes import NODE_CLASS_MAPPINGS + +intconstant = NODE_CLASS_MAPPINGS["INTConstant"]() +dualcliploader = NODE_CLASS_MAPPINGS["DualCLIPLoader"]() + +#To be added to `model_loaders` as it loads a model +dualcliploader_357 = dualcliploader.load_clip( + clip_name1="t5/t5xxl_fp16.safetensors", + clip_name2="clip_l.safetensors", + type="flux", +) +cr_clip_input_switch = NODE_CLASS_MAPPINGS["CR Clip Input Switch"]() +cliptextencode = NODE_CLASS_MAPPINGS["CLIPTextEncode"]() +loadimage = NODE_CLASS_MAPPINGS["LoadImage"]() +imageresize = NODE_CLASS_MAPPINGS["ImageResize+"]() +getimagesizeandcount = NODE_CLASS_MAPPINGS["GetImageSizeAndCount"]() +vaeloader = NODE_CLASS_MAPPINGS["VAELoader"]() + +#To be added to `model_loaders` as it loads a model +vaeloader_359 = vaeloader.load_vae(vae_name="FLUX1/ae.safetensors") + +vaeencode = NODE_CLASS_MAPPINGS["VAEEncode"]() +unetloader = NODE_CLASS_MAPPINGS["UNETLoader"]() + +#To be added to `model_loaders` as it loads a model +unetloader_358 = unetloader.load_unet( + unet_name="flux1-depth-dev.safetensors", weight_dtype="default" +) +ksamplerselect = NODE_CLASS_MAPPINGS["KSamplerSelect"]() +randomnoise = NODE_CLASS_MAPPINGS["RandomNoise"]() +fluxguidance = NODE_CLASS_MAPPINGS["FluxGuidance"]() +depthanything_v2 = NODE_CLASS_MAPPINGS["DepthAnything_V2"]() +downloadandloaddepthanythingv2model = NODE_CLASS_MAPPINGS[ + "DownloadAndLoadDepthAnythingV2Model" +]() + +#To be added to `model_loaders` as it loads a model +downloadandloaddepthanythingv2model_437 = ( + downloadandloaddepthanythingv2model.loadmodel( + model="depth_anything_v2_vitl_fp32.safetensors" + ) +) +instructpixtopixconditioning = NODE_CLASS_MAPPINGS[ + "InstructPixToPixConditioning" +]() +text_multiline_454 = text_multiline.text_multiline(text="FLUX_Redux") +clipvisionloader = NODE_CLASS_MAPPINGS["CLIPVisionLoader"]() + +#To be added to `model_loaders` as it loads a model +clipvisionloader_438 = clipvisionloader.load_clip( + clip_name="sigclip_vision_patch14_384.safetensors" +) +clipvisionencode = NODE_CLASS_MAPPINGS["CLIPVisionEncode"]() +stylemodelloader = NODE_CLASS_MAPPINGS["StyleModelLoader"]() + +#To be added to `model_loaders` as it loads a model +stylemodelloader_441 = stylemodelloader.load_style_model( + style_model_name="flux1-redux-dev.safetensors" +) +text_multiline = NODE_CLASS_MAPPINGS["Text Multiline"]() +emptylatentimage = NODE_CLASS_MAPPINGS["EmptyLatentImage"]() +cr_conditioning_input_switch = NODE_CLASS_MAPPINGS[ + "CR Conditioning Input Switch" +]() +cr_model_input_switch = NODE_CLASS_MAPPINGS["CR Model Input Switch"]() +stylemodelapplyadvanced = NODE_CLASS_MAPPINGS["StyleModelApplyAdvanced"]() +basicguider = NODE_CLASS_MAPPINGS["BasicGuider"]() +basicscheduler = NODE_CLASS_MAPPINGS["BasicScheduler"]() +samplercustomadvanced = NODE_CLASS_MAPPINGS["SamplerCustomAdvanced"]() +vaedecode = NODE_CLASS_MAPPINGS["VAEDecode"]() +saveimage = NODE_CLASS_MAPPINGS["SaveImage"]() +imagecrop = NODE_CLASS_MAPPINGS["ImageCrop+"]() + +#Add all the models that load a safetensors file +model_loaders = [dualcliploader_357, vaeloader_359, unetloader_358, clipvisionloader_438, stylemodelloader_441, downloadandloaddepthanythingv2model_437] + +# Check which models are valid and how to best load them +valid_models = [ + getattr(loader[0], 'patcher', loader[0]) + for loader in model_loaders + if not isinstance(loader[0], dict) and not isinstance(getattr(loader[0], 'patcher', None), dict) +] + +#Finally loads the models +model_management.load_models_gpu(valid_models) + +@spaces.GPU(duration=60) +def generate_image(prompt, structure_image, style_image, depth_strength, style_strength): + import_custom_nodes() + with torch.inference_mode(): + + intconstant_83 = intconstant.get_value(value=1024) + + intconstant_84 = intconstant.get_value(value=1024) + + cr_clip_input_switch_319 = cr_clip_input_switch.switch( + Input=1, + clip1=get_value_at_index(dualcliploader_357, 0), + clip2=get_value_at_index(dualcliploader_357, 0), + ) + + cliptextencode_174 = cliptextencode.encode( + text=prompt, + clip=get_value_at_index(cr_clip_input_switch_319, 0), + ) + + cliptextencode_175 = cliptextencode.encode( + text="purple", clip=get_value_at_index(cr_clip_input_switch_319, 0) + ) + + loadimage_429 = loadimage.load_image(image=structure_image) + + imageresize_72 = imageresize.execute( + width=get_value_at_index(intconstant_83, 0), + height=get_value_at_index(intconstant_84, 0), + interpolation="bicubic", + method="keep proportion", + condition="always", + multiple_of=16, + image=get_value_at_index(loadimage_429, 0), + ) + + getimagesizeandcount_360 = getimagesizeandcount.getsize( + image=get_value_at_index(imageresize_72, 0) + ) + + vaeencode_197 = vaeencode.encode( + pixels=get_value_at_index(getimagesizeandcount_360, 0), + vae=get_value_at_index(vaeloader_359, 0), + ) + + ksamplerselect_363 = ksamplerselect.get_sampler(sampler_name="euler") + + randomnoise_365 = randomnoise.get_noise(noise_seed=random.randint(1, 2**64)) + + + fluxguidance_430 = fluxguidance.append( + guidance=15, conditioning=get_value_at_index(cliptextencode_174, 0) + ) + + depthanything_v2_436 = depthanything_v2.process( + da_model=get_value_at_index(downloadandloaddepthanythingv2model_437, 0), + images=get_value_at_index(getimagesizeandcount_360, 0), + ) + + instructpixtopixconditioning_431 = instructpixtopixconditioning.encode( + positive=get_value_at_index(fluxguidance_430, 0), + negative=get_value_at_index(cliptextencode_175, 0), + vae=get_value_at_index(vaeloader_359, 0), + pixels=get_value_at_index(depthanything_v2_436, 0), + ) + + loadimage_440 = loadimage.load_image(image=style_image) + + clipvisionencode_439 = clipvisionencode.encode( + crop="center", + clip_vision=get_value_at_index(clipvisionloader_438, 0), + image=get_value_at_index(loadimage_440, 0), + ) + + + emptylatentimage_10 = emptylatentimage.generate( + width=get_value_at_index(imageresize_72, 1), + height=get_value_at_index(imageresize_72, 2), + batch_size=1, + ) + + cr_conditioning_input_switch_271 = cr_conditioning_input_switch.switch( + Input=1, + conditioning1=get_value_at_index(instructpixtopixconditioning_431, 0), + conditioning2=get_value_at_index(instructpixtopixconditioning_431, 0), + ) + + cr_conditioning_input_switch_272 = cr_conditioning_input_switch.switch( + Input=1, + conditioning1=get_value_at_index(instructpixtopixconditioning_431, 1), + conditioning2=get_value_at_index(instructpixtopixconditioning_431, 1), + ) + + cr_model_input_switch_320 = cr_model_input_switch.switch( + Input=1, + model1=get_value_at_index(unetloader_358, 0), + model2=get_value_at_index(unetloader_358, 0), + ) + + stylemodelapplyadvanced_442 = stylemodelapplyadvanced.apply_stylemodel( + strength=style_strength, + conditioning=get_value_at_index(instructpixtopixconditioning_431, 0), + style_model=get_value_at_index(stylemodelloader_441, 0), + clip_vision_output=get_value_at_index(clipvisionencode_439, 0), + ) + + basicguider_366 = basicguider.get_guider( + model=get_value_at_index(cr_model_input_switch_320, 0), + conditioning=get_value_at_index(stylemodelapplyadvanced_442, 0), + ) + + basicscheduler_364 = basicscheduler.get_sigmas( + scheduler="simple", + steps=28, + denoise=1, + model=get_value_at_index(cr_model_input_switch_320, 0), + ) + + samplercustomadvanced_362 = samplercustomadvanced.sample( + noise=get_value_at_index(randomnoise_365, 0), + guider=get_value_at_index(basicguider_366, 0), + sampler=get_value_at_index(ksamplerselect_363, 0), + sigmas=get_value_at_index(basicscheduler_364, 0), + latent_image=get_value_at_index(emptylatentimage_10, 0), + ) + + vaedecode_321 = vaedecode.decode( + samples=get_value_at_index(samplercustomadvanced_362, 0), + vae=get_value_at_index(vaeloader_359, 0), + ) + + saveimage_327 = saveimage.save_images( + filename_prefix=get_value_at_index(text_multiline_454, 0), + images=get_value_at_index(vaedecode_321, 0), + ) + + + fluxguidance_382 = fluxguidance.append( + guidance=depth_strength, + conditioning=get_value_at_index(cr_conditioning_input_switch_272, 0), + ) + + imagecrop_447 = imagecrop.execute( + width=2000, + height=2000, + position="top-center", + x_offset=0, + y_offset=0, + image=get_value_at_index(loadimage_440, 0), + ) + + saved_path = f"output/{saveimage_327['ui']['images'][0]['filename']}" + return saved_path + +if __name__ == "__main__": + # Comment out the main() call + + # Start your Gradio app + with gr.Blocks() as app: + # Add a title + gr.Markdown("# FLUX Style Shaping") + + with gr.Row(): + with gr.Column(): + # Add an input + prompt_input = gr.Textbox(label="Prompt", placeholder="Enter your prompt here...") + # Add a `Row` to include the groups side by side + with gr.Row(): + # First group includes structure image and depth strength + with gr.Group(): + structure_image = gr.Image(label="Structure Image", type="filepath") + depth_strength = gr.Slider(minimum=0, maximum=50, value=15, label="Depth Strength") + # Second group includes style image and style strength + with gr.Group(): + style_image = gr.Image(label="Style Image", type="filepath") + style_strength = gr.Slider(minimum=0, maximum=1, value=0.5, label="Style Strength") + + # The generate button + generate_btn = gr.Button("Generate") + + with gr.Column(): + # The output image + output_image = gr.Image(label="Generated Image") + + # When clicking the button, it will trigger the `generate_image` function, with the respective inputs + # and the output an image + generate_btn.click( + fn=generate_image, + inputs=[prompt_input, structure_image, style_image, depth_strength, style_strength], + outputs=[output_image] + ) + app.launch(share=True) \ No newline at end of file diff --git a/app/__init__.py b/app/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/app/app_settings.py b/app/app_settings.py new file mode 100644 index 0000000000000000000000000000000000000000..a545df92e8676d8b3a92e6e3fa7fe5107f8a6038 --- /dev/null +++ b/app/app_settings.py @@ -0,0 +1,59 @@ +import os +import json +from aiohttp import web +import logging + + +class AppSettings(): + def __init__(self, user_manager): + self.user_manager = user_manager + + def get_settings(self, request): + file = self.user_manager.get_request_user_filepath( + request, "comfy.settings.json") + if os.path.isfile(file): + try: + with open(file) as f: + return json.load(f) + except: + logging.error(f"The user settings file is corrupted: {file}") + return {} + else: + return {} + + def save_settings(self, request, settings): + file = self.user_manager.get_request_user_filepath( + request, "comfy.settings.json") + with open(file, "w") as f: + f.write(json.dumps(settings, indent=4)) + + def add_routes(self, routes): + @routes.get("/settings") + async def get_settings(request): + return web.json_response(self.get_settings(request)) + + @routes.get("/settings/{id}") + async def get_setting(request): + value = None + settings = self.get_settings(request) + setting_id = request.match_info.get("id", None) + if setting_id and setting_id in settings: + value = settings[setting_id] + return web.json_response(value) + + @routes.post("/settings") + async def post_settings(request): + settings = self.get_settings(request) + new_settings = await request.json() + self.save_settings(request, {**settings, **new_settings}) + return web.Response(status=200) + + @routes.post("/settings/{id}") + async def post_setting(request): + setting_id = request.match_info.get("id", None) + if not setting_id: + return web.Response(status=400) + settings = self.get_settings(request) + settings[setting_id] = await request.json() + self.save_settings(request, settings) + return web.Response(status=200) diff --git a/app/custom_node_manager.py b/app/custom_node_manager.py new file mode 100644 index 0000000000000000000000000000000000000000..7f9f645cd86f3c97df51d8a291235c69c6d9009f --- /dev/null +++ b/app/custom_node_manager.py @@ -0,0 +1,34 @@ +from __future__ import annotations + +import os +import folder_paths +import glob +from aiohttp import web + +class CustomNodeManager: + """ + Placeholder to refactor the custom node management features from ComfyUI-Manager. + Currently it only contains the custom workflow templates feature. + """ + def add_routes(self, routes, webapp, loadedModules): + + @routes.get("/workflow_templates") + async def get_workflow_templates(request): + """Returns a web response that contains the map of custom_nodes names and their associated workflow templates. The ones without templates are omitted.""" + files = [ + file + for folder in folder_paths.get_folder_paths("custom_nodes") + for file in glob.glob(os.path.join(folder, '*/example_workflows/*.json')) + ] + workflow_templates_dict = {} # custom_nodes folder name -> example workflow names + for file in files: + custom_nodes_name = os.path.basename(os.path.dirname(os.path.dirname(file))) + workflow_name = os.path.splitext(os.path.basename(file))[0] + workflow_templates_dict.setdefault(custom_nodes_name, []).append(workflow_name) + return web.json_response(workflow_templates_dict) + + # Serve workflow templates from custom nodes. + for module_name, module_dir in loadedModules: + workflows_dir = os.path.join(module_dir, 'example_workflows') + if os.path.exists(workflows_dir): + webapp.add_routes([web.static('/api/workflow_templates/' + module_name, workflows_dir)]) diff --git a/app/frontend_management.py b/app/frontend_management.py new file mode 100644 index 0000000000000000000000000000000000000000..6f20e439c306fe4717f33b6dc66296e090dbcd57 --- /dev/null +++ b/app/frontend_management.py @@ -0,0 +1,204 @@ +from __future__ import annotations +import argparse +import logging +import os +import re +import tempfile +import zipfile +from dataclasses import dataclass +from functools import cached_property +from pathlib import Path +from typing import TypedDict, Optional + +import requests +from typing_extensions import NotRequired +from comfy.cli_args import DEFAULT_VERSION_STRING + + +REQUEST_TIMEOUT = 10 # seconds + + +class Asset(TypedDict): + url: str + + +class Release(TypedDict): + id: int + tag_name: str + name: str + prerelease: bool + created_at: str + published_at: str + body: str + assets: NotRequired[list[Asset]] + + +@dataclass +class FrontEndProvider: + owner: str + repo: str + + @property + def folder_name(self) -> str: + return f"{self.owner}_{self.repo}" + + @property + def release_url(self) -> str: + return f"https://api.github.com/repos/{self.owner}/{self.repo}/releases" + + @cached_property + def all_releases(self) -> list[Release]: + releases = [] + api_url = self.release_url + while api_url: + response = requests.get(api_url, timeout=REQUEST_TIMEOUT) + response.raise_for_status() # Raises an HTTPError if the response was an error + releases.extend(response.json()) + # GitHub uses the Link header to provide pagination links. Check if it exists and update api_url accordingly. + if "next" in response.links: + api_url = response.links["next"]["url"] + else: + api_url = None + return releases + + @cached_property + def latest_release(self) -> Release: + latest_release_url = f"{self.release_url}/latest" + response = requests.get(latest_release_url, timeout=REQUEST_TIMEOUT) + response.raise_for_status() # Raises an HTTPError if the response was an error + return response.json() + + def get_release(self, version: str) -> Release: + if version == "latest": + return self.latest_release + else: + for release in self.all_releases: + if release["tag_name"] in [version, f"v{version}"]: + return release + raise ValueError(f"Version {version} not found in releases") + + +def download_release_asset_zip(release: Release, destination_path: str) -> None: + """Download dist.zip from github release.""" + asset_url = None + for asset in release.get("assets", []): + if asset["name"] == "dist.zip": + asset_url = asset["url"] + break + + if not asset_url: + raise ValueError("dist.zip not found in the release assets") + + # Use a temporary file to download the zip content + with tempfile.TemporaryFile() as tmp_file: + headers = {"Accept": "application/octet-stream"} + response = requests.get( + asset_url, headers=headers, allow_redirects=True, timeout=REQUEST_TIMEOUT + ) + response.raise_for_status() # Ensure we got a successful response + + # Write the content to the temporary file + tmp_file.write(response.content) + + # Go back to the beginning of the temporary file + tmp_file.seek(0) + + # Extract the zip file content to the destination path + with zipfile.ZipFile(tmp_file, "r") as zip_ref: + zip_ref.extractall(destination_path) + + +class FrontendManager: + DEFAULT_FRONTEND_PATH = str(Path(__file__).parents[1] / "web") + CUSTOM_FRONTENDS_ROOT = str(Path(__file__).parents[1] / "web_custom_versions") + + @classmethod + def parse_version_string(cls, value: str) -> tuple[str, str, str]: + """ + Args: + value (str): The version string to parse. + + Returns: + tuple[str, str]: A tuple containing provider name and version. + + Raises: + argparse.ArgumentTypeError: If the version string is invalid. + """ + VERSION_PATTERN = r"^([a-zA-Z0-9][a-zA-Z0-9-]{0,38})/([a-zA-Z0-9_.-]+)@(v?\d+\.\d+\.\d+|latest)$" + match_result = re.match(VERSION_PATTERN, value) + if match_result is None: + raise argparse.ArgumentTypeError(f"Invalid version string: {value}") + + return match_result.group(1), match_result.group(2), match_result.group(3) + + @classmethod + def init_frontend_unsafe(cls, version_string: str, provider: Optional[FrontEndProvider] = None) -> str: + """ + Initializes the frontend for the specified version. + + Args: + version_string (str): The version string. + provider (FrontEndProvider, optional): The provider to use. Defaults to None. + + Returns: + str: The path to the initialized frontend. + + Raises: + Exception: If there is an error during the initialization process. + main error source might be request timeout or invalid URL. + """ + if version_string == DEFAULT_VERSION_STRING: + return cls.DEFAULT_FRONTEND_PATH + + repo_owner, repo_name, version = cls.parse_version_string(version_string) + + if version.startswith("v"): + expected_path = str(Path(cls.CUSTOM_FRONTENDS_ROOT) / f"{repo_owner}_{repo_name}" / version.lstrip("v")) + if os.path.exists(expected_path): + logging.info(f"Using existing copy of specific frontend version tag: {repo_owner}/{repo_name}@{version}") + return expected_path + + logging.info(f"Initializing frontend: {repo_owner}/{repo_name}@{version}, requesting version details from GitHub...") + + provider = provider or FrontEndProvider(repo_owner, repo_name) + release = provider.get_release(version) + + semantic_version = release["tag_name"].lstrip("v") + web_root = str( + Path(cls.CUSTOM_FRONTENDS_ROOT) / provider.folder_name / semantic_version + ) + if not os.path.exists(web_root): + try: + os.makedirs(web_root, exist_ok=True) + logging.info( + "Downloading frontend(%s) version(%s) to (%s)", + provider.folder_name, + semantic_version, + web_root, + ) + logging.debug(release) + download_release_asset_zip(release, destination_path=web_root) + finally: + # Clean up the directory if it is empty, i.e. the download failed + if not os.listdir(web_root): + os.rmdir(web_root) + + return web_root + + @classmethod + def init_frontend(cls, version_string: str) -> str: + """ + Initializes the frontend with the specified version string. + + Args: + version_string (str): The version string to initialize the frontend with. + + Returns: + str: The path of the initialized frontend. + """ + try: + return cls.init_frontend_unsafe(version_string) + except Exception as e: + logging.error("Failed to initialize frontend: %s", e) + logging.info("Falling back to the default frontend.") + return cls.DEFAULT_FRONTEND_PATH diff --git a/app/logger.py b/app/logger.py new file mode 100644 index 0000000000000000000000000000000000000000..9e9f84ccf383e18e72d47b79d02067fec3ff5b31 --- /dev/null +++ b/app/logger.py @@ -0,0 +1,84 @@ +from collections import deque +from datetime import datetime +import io +import logging +import sys +import threading + +logs = None +stdout_interceptor = None +stderr_interceptor = None + + +class LogInterceptor(io.TextIOWrapper): + def __init__(self, stream, *args, **kwargs): + buffer = stream.buffer + encoding = stream.encoding + super().__init__(buffer, *args, **kwargs, encoding=encoding, line_buffering=stream.line_buffering) + self._lock = threading.Lock() + self._flush_callbacks = [] + self._logs_since_flush = [] + + def write(self, data): + entry = {"t": datetime.now().isoformat(), "m": data} + with self._lock: + self._logs_since_flush.append(entry) + + # Simple handling for cr to overwrite the last output if it isnt a full line + # else logs just get full of progress messages + if isinstance(data, str) and data.startswith("\r") and not logs[-1]["m"].endswith("\n"): + logs.pop() + logs.append(entry) + super().write(data) + + def flush(self): + super().flush() + for cb in self._flush_callbacks: + cb(self._logs_since_flush) + self._logs_since_flush = [] + + def on_flush(self, callback): + self._flush_callbacks.append(callback) + + +def get_logs(): + return logs + + +def on_flush(callback): + if stdout_interceptor is not None: + stdout_interceptor.on_flush(callback) + if stderr_interceptor is not None: + stderr_interceptor.on_flush(callback) + +def setup_logger(log_level: str = 'INFO', capacity: int = 300, use_stdout: bool = False): + global logs + if logs: + return + + # Override output streams and log to buffer + logs = deque(maxlen=capacity) + + global stdout_interceptor + global stderr_interceptor + stdout_interceptor = sys.stdout = LogInterceptor(sys.stdout) + stderr_interceptor = sys.stderr = LogInterceptor(sys.stderr) + + # Setup default global logger + logger = logging.getLogger() + logger.setLevel(log_level) + + stream_handler = logging.StreamHandler() + stream_handler.setFormatter(logging.Formatter("%(message)s")) + + if use_stdout: + # Only errors and critical to stderr + stream_handler.addFilter(lambda record: not record.levelno < logging.ERROR) + + # Lesser to stdout + stdout_handler = logging.StreamHandler(sys.stdout) + stdout_handler.setFormatter(logging.Formatter("%(message)s")) + stdout_handler.addFilter(lambda record: record.levelno < logging.ERROR) + logger.addHandler(stdout_handler) + + logger.addHandler(stream_handler) diff --git a/app/model_manager.py b/app/model_manager.py new file mode 100644 index 0000000000000000000000000000000000000000..74d942fb85c560dd85903e1cc82ef64968b74316 --- /dev/null +++ b/app/model_manager.py @@ -0,0 +1,184 @@ +from __future__ import annotations + +import os +import base64 +import json +import time +import logging +import folder_paths +import glob +import comfy.utils +from aiohttp import web +from PIL import Image +from io import BytesIO +from folder_paths import map_legacy, filter_files_extensions, filter_files_content_types + + +class ModelFileManager: + def __init__(self) -> None: + self.cache: dict[str, tuple[list[dict], dict[str, float], float]] = {} + + def get_cache(self, key: str, default=None) -> tuple[list[dict], dict[str, float], float] | None: + return self.cache.get(key, default) + + def set_cache(self, key: str, value: tuple[list[dict], dict[str, float], float]): + self.cache[key] = value + + def clear_cache(self): + self.cache.clear() + + def add_routes(self, routes): + # NOTE: This is an experiment to replace `/models` + @routes.get("/experiment/models") + async def get_model_folders(request): + model_types = list(folder_paths.folder_names_and_paths.keys()) + folder_black_list = ["configs", "custom_nodes"] + output_folders: list[dict] = [] + for folder in model_types: + if folder in folder_black_list: + continue + output_folders.append({"name": folder, "folders": folder_paths.get_folder_paths(folder)}) + return web.json_response(output_folders) + + # NOTE: This is an experiment to replace `/models/{folder}` + @routes.get("/experiment/models/{folder}") + async def get_all_models(request): + folder = request.match_info.get("folder", None) + if not folder in folder_paths.folder_names_and_paths: + return web.Response(status=404) + files = self.get_model_file_list(folder) + return web.json_response(files) + + @routes.get("/experiment/models/preview/{folder}/{path_index}/{filename:.*}") + async def get_model_preview(request): + folder_name = request.match_info.get("folder", None) + path_index = int(request.match_info.get("path_index", None)) + filename = request.match_info.get("filename", None) + + if not folder_name in folder_paths.folder_names_and_paths: + return web.Response(status=404) + + folders = folder_paths.folder_names_and_paths[folder_name] + folder = folders[0][path_index] + full_filename = os.path.join(folder, filename) + + previews = self.get_model_previews(full_filename) + default_preview = previews[0] if len(previews) > 0 else None + if default_preview is None or (isinstance(default_preview, str) and not os.path.isfile(default_preview)): + return web.Response(status=404) + + try: + with Image.open(default_preview) as img: + img_bytes = BytesIO() + img.save(img_bytes, format="WEBP") + img_bytes.seek(0) + return web.Response(body=img_bytes.getvalue(), content_type="image/webp") + except: + return web.Response(status=404) + + def get_model_file_list(self, folder_name: str): + folder_name = map_legacy(folder_name) + folders = folder_paths.folder_names_and_paths[folder_name] + output_list: list[dict] = [] + + for index, folder in enumerate(folders[0]): + if not os.path.isdir(folder): + continue + out = self.cache_model_file_list_(folder) + if out is None: + out = self.recursive_search_models_(folder, index) + self.set_cache(folder, out) + output_list.extend(out[0]) + + return output_list + + def cache_model_file_list_(self, folder: str): + model_file_list_cache = self.get_cache(folder) + + if model_file_list_cache is None: + return None + if not os.path.isdir(folder): + return None + if os.path.getmtime(folder) != model_file_list_cache[1]: + return None + for x in model_file_list_cache[1]: + time_modified = model_file_list_cache[1][x] + folder = x + if os.path.getmtime(folder) != time_modified: + return None + + return model_file_list_cache + + def recursive_search_models_(self, directory: str, pathIndex: int) -> tuple[list[str], dict[str, float], float]: + if not os.path.isdir(directory): + return [], {}, time.perf_counter() + + excluded_dir_names = [".git"] + # TODO use settings + include_hidden_files = False + + result: list[str] = [] + dirs: dict[str, float] = {} + + for dirpath, subdirs, filenames in os.walk(directory, followlinks=True, topdown=True): + subdirs[:] = [d for d in subdirs if d not in excluded_dir_names] + if not include_hidden_files: + subdirs[:] = [d for d in subdirs if not d.startswith(".")] + filenames = [f for f in filenames if not f.startswith(".")] + + filenames = filter_files_extensions(filenames, folder_paths.supported_pt_extensions) + + for file_name in filenames: + try: + relative_path = os.path.relpath(os.path.join(dirpath, file_name), directory) + result.append(relative_path) + except: + logging.warning(f"Warning: Unable to access {file_name}. Skipping this file.") + continue + + for d in subdirs: + path: str = os.path.join(dirpath, d) + try: + dirs[path] = os.path.getmtime(path) + except FileNotFoundError: + logging.warning(f"Warning: Unable to access {path}. Skipping this path.") + continue + + return [{"name": f, "pathIndex": pathIndex} for f in result], dirs, time.perf_counter() + + def get_model_previews(self, filepath: str) -> list[str | BytesIO]: + dirname = os.path.dirname(filepath) + + if not os.path.exists(dirname): + return [] + + basename = os.path.splitext(filepath)[0] + match_files = glob.glob(f"{basename}.*", recursive=False) + image_files = filter_files_content_types(match_files, "image") + safetensors_file = next(filter(lambda x: x.endswith(".safetensors"), match_files), None) + safetensors_metadata = {} + + result: list[str | BytesIO] = [] + + for filename in image_files: + _basename = os.path.splitext(filename)[0] + if _basename == basename: + result.append(filename) + if _basename == f"{basename}.preview": + result.append(filename) + + if safetensors_file: + safetensors_filepath = os.path.join(dirname, safetensors_file) + header = comfy.utils.safetensors_header(safetensors_filepath, max_size=8*1024*1024) + if header: + safetensors_metadata = json.loads(header) + safetensors_images = safetensors_metadata.get("__metadata__", {}).get("ssmd_cover_images", None) + if safetensors_images: + safetensors_images = json.loads(safetensors_images) + for image in safetensors_images: + result.append(BytesIO(base64.b64decode(image))) + + return result + + def __exit__(self, exc_type, exc_value, traceback): + self.clear_cache() diff --git a/app/user_manager.py b/app/user_manager.py new file mode 100644 index 0000000000000000000000000000000000000000..e7381e621d98f8c0958bb57c10a074f7caa93152 --- /dev/null +++ b/app/user_manager.py @@ -0,0 +1,330 @@ +from __future__ import annotations +import json +import os +import re +import uuid +import glob +import shutil +import logging +from aiohttp import web +from urllib import parse +from comfy.cli_args import args +import folder_paths +from .app_settings import AppSettings +from typing import TypedDict + +default_user = "default" + + +class FileInfo(TypedDict): + path: str + size: int + modified: int + + +def get_file_info(path: str, relative_to: str) -> FileInfo: + return { + "path": os.path.relpath(path, relative_to).replace(os.sep, '/'), + "size": os.path.getsize(path), + "modified": os.path.getmtime(path) + } + + +class UserManager(): + def __init__(self): + user_directory = folder_paths.get_user_directory() + + self.settings = AppSettings(self) + if not os.path.exists(user_directory): + os.makedirs(user_directory, exist_ok=True) + if not args.multi_user: + logging.warning("****** User settings have been changed to be stored on the server instead of browser storage. ******") + logging.warning("****** For multi-user setups add the --multi-user CLI argument to enable multiple user profiles. ******") + + if args.multi_user: + if os.path.isfile(self.get_users_file()): + with open(self.get_users_file()) as f: + self.users = json.load(f) + else: + self.users = {} + else: + self.users = {"default": "default"} + + def get_users_file(self): + return os.path.join(folder_paths.get_user_directory(), "users.json") + + def get_request_user_id(self, request): + user = "default" + if args.multi_user and "comfy-user" in request.headers: + user = request.headers["comfy-user"] + + if user not in self.users: + raise KeyError("Unknown user: " + user) + + return user + + def get_request_user_filepath(self, request, file, type="userdata", create_dir=True): + user_directory = folder_paths.get_user_directory() + + if type == "userdata": + root_dir = user_directory + else: + raise KeyError("Unknown filepath type:" + type) + + user = self.get_request_user_id(request) + path = user_root = os.path.abspath(os.path.join(root_dir, user)) + + # prevent leaving /{type} + if os.path.commonpath((root_dir, user_root)) != root_dir: + return None + + if file is not None: + # Check if filename is url encoded + if "%" in file: + file = parse.unquote(file) + + # prevent leaving /{type}/{user} + path = os.path.abspath(os.path.join(user_root, file)) + if os.path.commonpath((user_root, path)) != user_root: + return None + + parent = os.path.split(path)[0] + + if create_dir and not os.path.exists(parent): + os.makedirs(parent, exist_ok=True) + + return path + + def add_user(self, name): + name = name.strip() + if not name: + raise ValueError("username not provided") + user_id = re.sub("[^a-zA-Z0-9-_]+", '-', name) + user_id = user_id + "_" + str(uuid.uuid4()) + + self.users[user_id] = name + + with open(self.get_users_file(), "w") as f: + json.dump(self.users, f) + + return user_id + + def add_routes(self, routes): + self.settings.add_routes(routes) + + @routes.get("/users") + async def get_users(request): + if args.multi_user: + return web.json_response({"storage": "server", "users": self.users}) + else: + user_dir = self.get_request_user_filepath(request, None, create_dir=False) + return web.json_response({ + "storage": "server", + "migrated": os.path.exists(user_dir) + }) + + @routes.post("/users") + async def post_users(request): + body = await request.json() + username = body["username"] + if username in self.users.values(): + return web.json_response({"error": "Duplicate username."}, status=400) + + user_id = self.add_user(username) + return web.json_response(user_id) + + @routes.get("/userdata") + async def listuserdata(request): + """ + List user data files in a specified directory. + + This endpoint allows listing files in a user's data directory, with options for recursion, + full file information, and path splitting. + + Query Parameters: + - dir (required): The directory to list files from. + - recurse (optional): If "true", recursively list files in subdirectories. + - full_info (optional): If "true", return detailed file information (path, size, modified time). + - split (optional): If "true", split file paths into components (only applies when full_info is false). + + Returns: + - 400: If 'dir' parameter is missing. + - 403: If the requested path is not allowed. + - 404: If the requested directory does not exist. + - 200: JSON response with the list of files or file information. + + The response format depends on the query parameters: + - Default: List of relative file paths. + - full_info=true: List of dictionaries with file details. + - split=true (and full_info=false): List of lists, each containing path components. + """ + directory = request.rel_url.query.get('dir', '') + if not directory: + return web.Response(status=400, text="Directory not provided") + + path = self.get_request_user_filepath(request, directory) + if not path: + return web.Response(status=403, text="Invalid directory") + + if not os.path.exists(path): + return web.Response(status=404, text="Directory not found") + + recurse = request.rel_url.query.get('recurse', '').lower() == "true" + full_info = request.rel_url.query.get('full_info', '').lower() == "true" + split_path = request.rel_url.query.get('split', '').lower() == "true" + + # Use different patterns based on whether we're recursing or not + if recurse: + pattern = os.path.join(glob.escape(path), '**', '*') + else: + pattern = os.path.join(glob.escape(path), '*') + + def process_full_path(full_path: str) -> FileInfo | str | list[str]: + if full_info: + return get_file_info(full_path, path) + + rel_path = os.path.relpath(full_path, path).replace(os.sep, '/') + if split_path: + return [rel_path] + rel_path.split('/') + + return rel_path + + results = [ + process_full_path(full_path) + for full_path in glob.glob(pattern, recursive=recurse) + if os.path.isfile(full_path) + ] + + return web.json_response(results) + + def get_user_data_path(request, check_exists = False, param = "file"): + file = request.match_info.get(param, None) + if not file: + return web.Response(status=400) + + path = self.get_request_user_filepath(request, file) + if not path: + return web.Response(status=403) + + if check_exists and not os.path.exists(path): + return web.Response(status=404) + + return path + + @routes.get("/userdata/{file}") + async def getuserdata(request): + path = get_user_data_path(request, check_exists=True) + if not isinstance(path, str): + return path + + return web.FileResponse(path) + + @routes.post("/userdata/{file}") + async def post_userdata(request): + """ + Upload or update a user data file. + + This endpoint handles file uploads to a user's data directory, with options for + controlling overwrite behavior and response format. + + Query Parameters: + - overwrite (optional): If "false", prevents overwriting existing files. Defaults to "true". + - full_info (optional): If "true", returns detailed file information (path, size, modified time). + If "false", returns only the relative file path. + + Path Parameters: + - file: The target file path (URL encoded if necessary). + + Returns: + - 400: If 'file' parameter is missing. + - 403: If the requested path is not allowed. + - 409: If overwrite=false and the file already exists. + - 200: JSON response with either: + - Full file information (if full_info=true) + - Relative file path (if full_info=false) + + The request body should contain the raw file content to be written. + """ + path = get_user_data_path(request) + if not isinstance(path, str): + return path + + overwrite = request.query.get("overwrite", 'true') != "false" + full_info = request.query.get('full_info', 'false').lower() == "true" + + if not overwrite and os.path.exists(path): + return web.Response(status=409, text="File already exists") + + body = await request.read() + + with open(path, "wb") as f: + f.write(body) + + user_path = self.get_request_user_filepath(request, None) + if full_info: + resp = get_file_info(path, user_path) + else: + resp = os.path.relpath(path, user_path) + + return web.json_response(resp) + + @routes.delete("/userdata/{file}") + async def delete_userdata(request): + path = get_user_data_path(request, check_exists=True) + if not isinstance(path, str): + return path + + os.remove(path) + + return web.Response(status=204) + + @routes.post("/userdata/{file}/move/{dest}") + async def move_userdata(request): + """ + Move or rename a user data file. + + This endpoint handles moving or renaming files within a user's data directory, with options for + controlling overwrite behavior and response format. + + Path Parameters: + - file: The source file path (URL encoded if necessary) + - dest: The destination file path (URL encoded if necessary) + + Query Parameters: + - overwrite (optional): If "false", prevents overwriting existing files. Defaults to "true". + - full_info (optional): If "true", returns detailed file information (path, size, modified time). + If "false", returns only the relative file path. + + Returns: + - 400: If either 'file' or 'dest' parameter is missing + - 403: If either requested path is not allowed + - 404: If the source file does not exist + - 409: If overwrite=false and the destination file already exists + - 200: JSON response with either: + - Full file information (if full_info=true) + - Relative file path (if full_info=false) + """ + source = get_user_data_path(request, check_exists=True) + if not isinstance(source, str): + return source + + dest = get_user_data_path(request, check_exists=False, param="dest") + if not isinstance(source, str): + return dest + + overwrite = request.query.get("overwrite", 'true') != "false" + full_info = request.query.get('full_info', 'false').lower() == "true" + + if not overwrite and os.path.exists(dest): + return web.Response(status=409, text="File already exists") + + logging.info(f"moving '{source}' -> '{dest}'") + shutil.move(source, dest) + + user_path = self.get_request_user_filepath(request, None) + if full_info: + resp = get_file_info(dest, user_path) + else: + resp = os.path.relpath(dest, user_path) + + return web.json_response(resp) diff --git a/comfy/checkpoint_pickle.py b/comfy/checkpoint_pickle.py new file mode 100644 index 0000000000000000000000000000000000000000..206551d3c1cf0d654c907534629a800196ba138b --- /dev/null +++ b/comfy/checkpoint_pickle.py @@ -0,0 +1,13 @@ +import pickle + +load = pickle.load + +class Empty: + pass + +class Unpickler(pickle.Unpickler): + def find_class(self, module, name): + #TODO: safe unpickle + if module.startswith("pytorch_lightning"): + return Empty + return super().find_class(module, name) diff --git a/comfy/cldm/cldm.py b/comfy/cldm/cldm.py new file mode 100644 index 0000000000000000000000000000000000000000..ec01665e2181d4aea1c9cbb5b95bdc7715a3e8a8 --- /dev/null +++ b/comfy/cldm/cldm.py @@ -0,0 +1,433 @@ +#taken from: https://github.com/lllyasviel/ControlNet +#and modified + +import torch +import torch.nn as nn + +from ..ldm.modules.diffusionmodules.util import ( + timestep_embedding, +) + +from ..ldm.modules.attention import SpatialTransformer +from ..ldm.modules.diffusionmodules.openaimodel import UNetModel, TimestepEmbedSequential, ResBlock, Downsample +from ..ldm.util import exists +from .control_types import UNION_CONTROLNET_TYPES +from collections import OrderedDict +import comfy.ops +from comfy.ldm.modules.attention import optimized_attention + +class OptimizedAttention(nn.Module): + def __init__(self, c, nhead, dropout=0.0, dtype=None, device=None, operations=None): + super().__init__() + self.heads = nhead + self.c = c + + self.in_proj = operations.Linear(c, c * 3, bias=True, dtype=dtype, device=device) + self.out_proj = operations.Linear(c, c, bias=True, dtype=dtype, device=device) + + def forward(self, x): + x = self.in_proj(x) + q, k, v = x.split(self.c, dim=2) + out = optimized_attention(q, k, v, self.heads) + return self.out_proj(out) + +class QuickGELU(nn.Module): + def forward(self, x: torch.Tensor): + return x * torch.sigmoid(1.702 * x) + +class ResBlockUnionControlnet(nn.Module): + def __init__(self, dim, nhead, dtype=None, device=None, operations=None): + super().__init__() + self.attn = OptimizedAttention(dim, nhead, dtype=dtype, device=device, operations=operations) + self.ln_1 = operations.LayerNorm(dim, dtype=dtype, device=device) + self.mlp = nn.Sequential( + OrderedDict([("c_fc", operations.Linear(dim, dim * 4, dtype=dtype, device=device)), ("gelu", QuickGELU()), + ("c_proj", operations.Linear(dim * 4, dim, dtype=dtype, device=device))])) + self.ln_2 = operations.LayerNorm(dim, dtype=dtype, device=device) + + def attention(self, x: torch.Tensor): + return self.attn(x) + + def forward(self, x: torch.Tensor): + x = x + self.attention(self.ln_1(x)) + x = x + self.mlp(self.ln_2(x)) + return x + +class ControlledUnetModel(UNetModel): + #implemented in the ldm unet + pass + +class ControlNet(nn.Module): + def __init__( + self, + image_size, + in_channels, + model_channels, + hint_channels, + num_res_blocks, + dropout=0, + channel_mult=(1, 2, 4, 8), + conv_resample=True, + dims=2, + num_classes=None, + use_checkpoint=False, + dtype=torch.float32, + num_heads=-1, + num_head_channels=-1, + num_heads_upsample=-1, + use_scale_shift_norm=False, + resblock_updown=False, + use_new_attention_order=False, + use_spatial_transformer=False, # custom transformer support + transformer_depth=1, # custom transformer support + context_dim=None, # custom transformer support + n_embed=None, # custom support for prediction of discrete ids into codebook of first stage vq model + legacy=True, + disable_self_attentions=None, + num_attention_blocks=None, + disable_middle_self_attn=False, + use_linear_in_transformer=False, + adm_in_channels=None, + transformer_depth_middle=None, + transformer_depth_output=None, + attn_precision=None, + union_controlnet_num_control_type=None, + device=None, + operations=comfy.ops.disable_weight_init, + **kwargs, + ): + super().__init__() + assert use_spatial_transformer == True, "use_spatial_transformer has to be true" + if use_spatial_transformer: + assert context_dim is not None, 'Fool!! You forgot to include the dimension of your cross-attention conditioning...' + + if context_dim is not None: + assert use_spatial_transformer, 'Fool!! You forgot to use the spatial transformer for your cross-attention conditioning...' + # from omegaconf.listconfig import ListConfig + # if type(context_dim) == ListConfig: + # context_dim = list(context_dim) + + if num_heads_upsample == -1: + num_heads_upsample = num_heads + + if num_heads == -1: + assert num_head_channels != -1, 'Either num_heads or num_head_channels has to be set' + + if num_head_channels == -1: + assert num_heads != -1, 'Either num_heads or num_head_channels has to be set' + + self.dims = dims + self.image_size = image_size + self.in_channels = in_channels + self.model_channels = model_channels + + if isinstance(num_res_blocks, int): + self.num_res_blocks = len(channel_mult) * [num_res_blocks] + else: + if len(num_res_blocks) != len(channel_mult): + raise ValueError("provide num_res_blocks either as an int (globally constant) or " + "as a list/tuple (per-level) with the same length as channel_mult") + self.num_res_blocks = num_res_blocks + + if disable_self_attentions is not None: + # should be a list of booleans, indicating whether to disable self-attention in TransformerBlocks or not + assert len(disable_self_attentions) == len(channel_mult) + if num_attention_blocks is not None: + assert len(num_attention_blocks) == len(self.num_res_blocks) + assert all(map(lambda i: self.num_res_blocks[i] >= num_attention_blocks[i], range(len(num_attention_blocks)))) + + transformer_depth = transformer_depth[:] + + self.dropout = dropout + self.channel_mult = channel_mult + self.conv_resample = conv_resample + self.num_classes = num_classes + self.use_checkpoint = use_checkpoint + self.dtype = dtype + self.num_heads = num_heads + self.num_head_channels = num_head_channels + self.num_heads_upsample = num_heads_upsample + self.predict_codebook_ids = n_embed is not None + + time_embed_dim = model_channels * 4 + self.time_embed = nn.Sequential( + operations.Linear(model_channels, time_embed_dim, dtype=self.dtype, device=device), + nn.SiLU(), + operations.Linear(time_embed_dim, time_embed_dim, dtype=self.dtype, device=device), + ) + + if self.num_classes is not None: + if isinstance(self.num_classes, int): + self.label_emb = nn.Embedding(num_classes, time_embed_dim) + elif self.num_classes == "continuous": + self.label_emb = nn.Linear(1, time_embed_dim) + elif self.num_classes == "sequential": + assert adm_in_channels is not None + self.label_emb = nn.Sequential( + nn.Sequential( + operations.Linear(adm_in_channels, time_embed_dim, dtype=self.dtype, device=device), + nn.SiLU(), + operations.Linear(time_embed_dim, time_embed_dim, dtype=self.dtype, device=device), + ) + ) + else: + raise ValueError() + + self.input_blocks = nn.ModuleList( + [ + TimestepEmbedSequential( + operations.conv_nd(dims, in_channels, model_channels, 3, padding=1, dtype=self.dtype, device=device) + ) + ] + ) + self.zero_convs = nn.ModuleList([self.make_zero_conv(model_channels, operations=operations, dtype=self.dtype, device=device)]) + + self.input_hint_block = TimestepEmbedSequential( + operations.conv_nd(dims, hint_channels, 16, 3, padding=1, dtype=self.dtype, device=device), + nn.SiLU(), + operations.conv_nd(dims, 16, 16, 3, padding=1, dtype=self.dtype, device=device), + nn.SiLU(), + operations.conv_nd(dims, 16, 32, 3, padding=1, stride=2, dtype=self.dtype, device=device), + nn.SiLU(), + operations.conv_nd(dims, 32, 32, 3, padding=1, dtype=self.dtype, device=device), + nn.SiLU(), + operations.conv_nd(dims, 32, 96, 3, padding=1, stride=2, dtype=self.dtype, device=device), + nn.SiLU(), + operations.conv_nd(dims, 96, 96, 3, padding=1, dtype=self.dtype, device=device), + nn.SiLU(), + operations.conv_nd(dims, 96, 256, 3, padding=1, stride=2, dtype=self.dtype, device=device), + nn.SiLU(), + operations.conv_nd(dims, 256, model_channels, 3, padding=1, dtype=self.dtype, device=device) + ) + + self._feature_size = model_channels + input_block_chans = [model_channels] + ch = model_channels + ds = 1 + for level, mult in enumerate(channel_mult): + for nr in range(self.num_res_blocks[level]): + layers = [ + ResBlock( + ch, + time_embed_dim, + dropout, + out_channels=mult * model_channels, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + dtype=self.dtype, + device=device, + operations=operations, + ) + ] + ch = mult * model_channels + num_transformers = transformer_depth.pop(0) + if num_transformers > 0: + if num_head_channels == -1: + dim_head = ch // num_heads + else: + num_heads = ch // num_head_channels + dim_head = num_head_channels + if legacy: + #num_heads = 1 + dim_head = ch // num_heads if use_spatial_transformer else num_head_channels + if exists(disable_self_attentions): + disabled_sa = disable_self_attentions[level] + else: + disabled_sa = False + + if not exists(num_attention_blocks) or nr < num_attention_blocks[level]: + layers.append( + SpatialTransformer( + ch, num_heads, dim_head, depth=num_transformers, context_dim=context_dim, + disable_self_attn=disabled_sa, use_linear=use_linear_in_transformer, + use_checkpoint=use_checkpoint, attn_precision=attn_precision, dtype=self.dtype, device=device, operations=operations + ) + ) + self.input_blocks.append(TimestepEmbedSequential(*layers)) + self.zero_convs.append(self.make_zero_conv(ch, operations=operations, dtype=self.dtype, device=device)) + self._feature_size += ch + input_block_chans.append(ch) + if level != len(channel_mult) - 1: + out_ch = ch + self.input_blocks.append( + TimestepEmbedSequential( + ResBlock( + ch, + time_embed_dim, + dropout, + out_channels=out_ch, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + down=True, + dtype=self.dtype, + device=device, + operations=operations + ) + if resblock_updown + else Downsample( + ch, conv_resample, dims=dims, out_channels=out_ch, dtype=self.dtype, device=device, operations=operations + ) + ) + ) + ch = out_ch + input_block_chans.append(ch) + self.zero_convs.append(self.make_zero_conv(ch, operations=operations, dtype=self.dtype, device=device)) + ds *= 2 + self._feature_size += ch + + if num_head_channels == -1: + dim_head = ch // num_heads + else: + num_heads = ch // num_head_channels + dim_head = num_head_channels + if legacy: + #num_heads = 1 + dim_head = ch // num_heads if use_spatial_transformer else num_head_channels + mid_block = [ + ResBlock( + ch, + time_embed_dim, + dropout, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + dtype=self.dtype, + device=device, + operations=operations + )] + if transformer_depth_middle >= 0: + mid_block += [SpatialTransformer( # always uses a self-attn + ch, num_heads, dim_head, depth=transformer_depth_middle, context_dim=context_dim, + disable_self_attn=disable_middle_self_attn, use_linear=use_linear_in_transformer, + use_checkpoint=use_checkpoint, attn_precision=attn_precision, dtype=self.dtype, device=device, operations=operations + ), + ResBlock( + ch, + time_embed_dim, + dropout, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + dtype=self.dtype, + device=device, + operations=operations + )] + self.middle_block = TimestepEmbedSequential(*mid_block) + self.middle_block_out = self.make_zero_conv(ch, operations=operations, dtype=self.dtype, device=device) + self._feature_size += ch + + if union_controlnet_num_control_type is not None: + self.num_control_type = union_controlnet_num_control_type + num_trans_channel = 320 + num_trans_head = 8 + num_trans_layer = 1 + num_proj_channel = 320 + # task_scale_factor = num_trans_channel ** 0.5 + self.task_embedding = nn.Parameter(torch.empty(self.num_control_type, num_trans_channel, dtype=self.dtype, device=device)) + + self.transformer_layes = nn.Sequential(*[ResBlockUnionControlnet(num_trans_channel, num_trans_head, dtype=self.dtype, device=device, operations=operations) for _ in range(num_trans_layer)]) + self.spatial_ch_projs = operations.Linear(num_trans_channel, num_proj_channel, dtype=self.dtype, device=device) + #----------------------------------------------------------------------------------------------------- + + control_add_embed_dim = 256 + class ControlAddEmbedding(nn.Module): + def __init__(self, in_dim, out_dim, num_control_type, dtype=None, device=None, operations=None): + super().__init__() + self.num_control_type = num_control_type + self.in_dim = in_dim + self.linear_1 = operations.Linear(in_dim * num_control_type, out_dim, dtype=dtype, device=device) + self.linear_2 = operations.Linear(out_dim, out_dim, dtype=dtype, device=device) + def forward(self, control_type, dtype, device): + c_type = torch.zeros((self.num_control_type,), device=device) + c_type[control_type] = 1.0 + c_type = timestep_embedding(c_type.flatten(), self.in_dim, repeat_only=False).to(dtype).reshape((-1, self.num_control_type * self.in_dim)) + return self.linear_2(torch.nn.functional.silu(self.linear_1(c_type))) + + self.control_add_embedding = ControlAddEmbedding(control_add_embed_dim, time_embed_dim, self.num_control_type, dtype=self.dtype, device=device, operations=operations) + else: + self.task_embedding = None + self.control_add_embedding = None + + def union_controlnet_merge(self, hint, control_type, emb, context): + # Equivalent to: https://github.com/xinsir6/ControlNetPlus/tree/main + inputs = [] + condition_list = [] + + for idx in range(min(1, len(control_type))): + controlnet_cond = self.input_hint_block(hint[idx], emb, context) + feat_seq = torch.mean(controlnet_cond, dim=(2, 3)) + if idx < len(control_type): + feat_seq += self.task_embedding[control_type[idx]].to(dtype=feat_seq.dtype, device=feat_seq.device) + + inputs.append(feat_seq.unsqueeze(1)) + condition_list.append(controlnet_cond) + + x = torch.cat(inputs, dim=1) + x = self.transformer_layes(x) + controlnet_cond_fuser = None + for idx in range(len(control_type)): + alpha = self.spatial_ch_projs(x[:, idx]) + alpha = alpha.unsqueeze(-1).unsqueeze(-1) + o = condition_list[idx] + alpha + if controlnet_cond_fuser is None: + controlnet_cond_fuser = o + else: + controlnet_cond_fuser += o + return controlnet_cond_fuser + + def make_zero_conv(self, channels, operations=None, dtype=None, device=None): + return TimestepEmbedSequential(operations.conv_nd(self.dims, channels, channels, 1, padding=0, dtype=dtype, device=device)) + + def forward(self, x, hint, timesteps, context, y=None, **kwargs): + t_emb = timestep_embedding(timesteps, self.model_channels, repeat_only=False).to(x.dtype) + emb = self.time_embed(t_emb) + + guided_hint = None + if self.control_add_embedding is not None: #Union Controlnet + control_type = kwargs.get("control_type", []) + + if any([c >= self.num_control_type for c in control_type]): + max_type = max(control_type) + max_type_name = { + v: k for k, v in UNION_CONTROLNET_TYPES.items() + }[max_type] + raise ValueError( + f"Control type {max_type_name}({max_type}) is out of range for the number of control types" + + f"({self.num_control_type}) supported.\n" + + "Please consider using the ProMax ControlNet Union model.\n" + + "https://huggingface.co/xinsir/controlnet-union-sdxl-1.0/tree/main" + ) + + emb += self.control_add_embedding(control_type, emb.dtype, emb.device) + if len(control_type) > 0: + if len(hint.shape) < 5: + hint = hint.unsqueeze(dim=0) + guided_hint = self.union_controlnet_merge(hint, control_type, emb, context) + + if guided_hint is None: + guided_hint = self.input_hint_block(hint, emb, context) + + out_output = [] + out_middle = [] + + if self.num_classes is not None: + assert y.shape[0] == x.shape[0] + emb = emb + self.label_emb(y) + + h = x + for module, zero_conv in zip(self.input_blocks, self.zero_convs): + if guided_hint is not None: + h = module(h, emb, context) + h += guided_hint + guided_hint = None + else: + h = module(h, emb, context) + out_output.append(zero_conv(h, emb, context)) + + h = self.middle_block(h, emb, context) + out_middle.append(self.middle_block_out(h, emb, context)) + + return {"middle": out_middle, "output": out_output} + diff --git a/comfy/cldm/control_types.py b/comfy/cldm/control_types.py new file mode 100644 index 0000000000000000000000000000000000000000..4128631a305a13d65c3c37ced17179d23fbbdcff --- /dev/null +++ b/comfy/cldm/control_types.py @@ -0,0 +1,10 @@ +UNION_CONTROLNET_TYPES = { + "openpose": 0, + "depth": 1, + "hed/pidi/scribble/ted": 2, + "canny/lineart/anime_lineart/mlsd": 3, + "normal": 4, + "segment": 5, + "tile": 6, + "repaint": 7, +} diff --git a/comfy/cldm/dit_embedder.py b/comfy/cldm/dit_embedder.py new file mode 100644 index 0000000000000000000000000000000000000000..f9bf31012b1319e929cab381c9a3b32be62fc589 --- /dev/null +++ b/comfy/cldm/dit_embedder.py @@ -0,0 +1,120 @@ +import math +from typing import List, Optional, Tuple + +import torch +import torch.nn as nn +from torch import Tensor + +from comfy.ldm.modules.diffusionmodules.mmdit import DismantledBlock, PatchEmbed, VectorEmbedder, TimestepEmbedder, get_2d_sincos_pos_embed_torch + + +class ControlNetEmbedder(nn.Module): + + def __init__( + self, + img_size: int, + patch_size: int, + in_chans: int, + attention_head_dim: int, + num_attention_heads: int, + adm_in_channels: int, + num_layers: int, + main_model_double: int, + double_y_emb: bool, + device: torch.device, + dtype: torch.dtype, + pos_embed_max_size: Optional[int] = None, + operations = None, + ): + super().__init__() + self.main_model_double = main_model_double + self.dtype = dtype + self.hidden_size = num_attention_heads * attention_head_dim + self.patch_size = patch_size + self.x_embedder = PatchEmbed( + img_size=img_size, + patch_size=patch_size, + in_chans=in_chans, + embed_dim=self.hidden_size, + strict_img_size=pos_embed_max_size is None, + device=device, + dtype=dtype, + operations=operations, + ) + + self.t_embedder = TimestepEmbedder(self.hidden_size, dtype=dtype, device=device, operations=operations) + + self.double_y_emb = double_y_emb + if self.double_y_emb: + self.orig_y_embedder = VectorEmbedder( + adm_in_channels, self.hidden_size, dtype, device, operations=operations + ) + self.y_embedder = VectorEmbedder( + self.hidden_size, self.hidden_size, dtype, device, operations=operations + ) + else: + self.y_embedder = VectorEmbedder( + adm_in_channels, self.hidden_size, dtype, device, operations=operations + ) + + self.transformer_blocks = nn.ModuleList( + DismantledBlock( + hidden_size=self.hidden_size, num_heads=num_attention_heads, qkv_bias=True, + dtype=dtype, device=device, operations=operations + ) + for _ in range(num_layers) + ) + + # self.use_y_embedder = pooled_projection_dim != self.time_text_embed.text_embedder.linear_1.in_features + # TODO double check this logic when 8b + self.use_y_embedder = True + + self.controlnet_blocks = nn.ModuleList([]) + for _ in range(len(self.transformer_blocks)): + controlnet_block = operations.Linear(self.hidden_size, self.hidden_size, dtype=dtype, device=device) + self.controlnet_blocks.append(controlnet_block) + + self.pos_embed_input = PatchEmbed( + img_size=img_size, + patch_size=patch_size, + in_chans=in_chans, + embed_dim=self.hidden_size, + strict_img_size=False, + device=device, + dtype=dtype, + operations=operations, + ) + + def forward( + self, + x: torch.Tensor, + timesteps: torch.Tensor, + y: Optional[torch.Tensor] = None, + context: Optional[torch.Tensor] = None, + hint = None, + ) -> Tuple[Tensor, List[Tensor]]: + x_shape = list(x.shape) + x = self.x_embedder(x) + if not self.double_y_emb: + h = (x_shape[-2] + 1) // self.patch_size + w = (x_shape[-1] + 1) // self.patch_size + x += get_2d_sincos_pos_embed_torch(self.hidden_size, w, h, device=x.device) + c = self.t_embedder(timesteps, dtype=x.dtype) + if y is not None and self.y_embedder is not None: + if self.double_y_emb: + y = self.orig_y_embedder(y) + y = self.y_embedder(y) + c = c + y + + x = x + self.pos_embed_input(hint) + + block_out = () + + repeat = math.ceil(self.main_model_double / len(self.transformer_blocks)) + for i in range(len(self.transformer_blocks)): + out = self.transformer_blocks[i](x, c) + if not self.double_y_emb: + x = out + block_out += (self.controlnet_blocks[i](out),) * repeat + + return {"output": block_out} diff --git a/comfy/cldm/mmdit.py b/comfy/cldm/mmdit.py new file mode 100644 index 0000000000000000000000000000000000000000..b7764085e9431259d43701654af897effe0799da --- /dev/null +++ b/comfy/cldm/mmdit.py @@ -0,0 +1,81 @@ +import torch +from typing import Optional +import comfy.ldm.modules.diffusionmodules.mmdit + +class ControlNet(comfy.ldm.modules.diffusionmodules.mmdit.MMDiT): + def __init__( + self, + num_blocks = None, + control_latent_channels = None, + dtype = None, + device = None, + operations = None, + **kwargs, + ): + super().__init__(dtype=dtype, device=device, operations=operations, final_layer=False, num_blocks=num_blocks, **kwargs) + # controlnet_blocks + self.controlnet_blocks = torch.nn.ModuleList([]) + for _ in range(len(self.joint_blocks)): + self.controlnet_blocks.append(operations.Linear(self.hidden_size, self.hidden_size, device=device, dtype=dtype)) + + if control_latent_channels is None: + control_latent_channels = self.in_channels + + self.pos_embed_input = comfy.ldm.modules.diffusionmodules.mmdit.PatchEmbed( + None, + self.patch_size, + control_latent_channels, + self.hidden_size, + bias=True, + strict_img_size=False, + dtype=dtype, + device=device, + operations=operations + ) + + def forward( + self, + x: torch.Tensor, + timesteps: torch.Tensor, + y: Optional[torch.Tensor] = None, + context: Optional[torch.Tensor] = None, + hint = None, + ) -> torch.Tensor: + + #weird sd3 controlnet specific stuff + y = torch.zeros_like(y) + + if self.context_processor is not None: + context = self.context_processor(context) + + hw = x.shape[-2:] + x = self.x_embedder(x) + self.cropped_pos_embed(hw, device=x.device).to(dtype=x.dtype, device=x.device) + x += self.pos_embed_input(hint) + + c = self.t_embedder(timesteps, dtype=x.dtype) + if y is not None and self.y_embedder is not None: + y = self.y_embedder(y) + c = c + y + + if context is not None: + context = self.context_embedder(context) + + output = [] + + blocks = len(self.joint_blocks) + for i in range(blocks): + context, x = self.joint_blocks[i]( + context, + x, + c=c, + use_checkpoint=self.use_checkpoint, + ) + + out = self.controlnet_blocks[i](x) + count = self.depth // blocks + if i == blocks - 1: + count -= 1 + for j in range(count): + output.append(out) + + return {"output": output} diff --git a/comfy/cli_args.py b/comfy/cli_args.py new file mode 100644 index 0000000000000000000000000000000000000000..812798bf88fdd7e2044326541e603d065a760800 --- /dev/null +++ b/comfy/cli_args.py @@ -0,0 +1,190 @@ +import argparse +import enum +import os +from typing import Optional +import comfy.options + + +class EnumAction(argparse.Action): + """ + Argparse action for handling Enums + """ + def __init__(self, **kwargs): + # Pop off the type value + enum_type = kwargs.pop("type", None) + + # Ensure an Enum subclass is provided + if enum_type is None: + raise ValueError("type must be assigned an Enum when using EnumAction") + if not issubclass(enum_type, enum.Enum): + raise TypeError("type must be an Enum when using EnumAction") + + # Generate choices from the Enum + choices = tuple(e.value for e in enum_type) + kwargs.setdefault("choices", choices) + kwargs.setdefault("metavar", f"[{','.join(list(choices))}]") + + super(EnumAction, self).__init__(**kwargs) + + self._enum = enum_type + + def __call__(self, parser, namespace, values, option_string=None): + # Convert value back into an Enum + value = self._enum(values) + setattr(namespace, self.dest, value) + + +parser = argparse.ArgumentParser() + +parser.add_argument("--listen", type=str, default="127.0.0.1", metavar="IP", nargs="?", const="0.0.0.0,::", help="Specify the IP address to listen on (default: 127.0.0.1). You can give a list of ip addresses by separating them with a comma like: 127.2.2.2,127.3.3.3 If --listen is provided without an argument, it defaults to 0.0.0.0,:: (listens on all ipv4 and ipv6)") +parser.add_argument("--port", type=int, default=8188, help="Set the listen port.") +parser.add_argument("--tls-keyfile", type=str, help="Path to TLS (SSL) key file. Enables TLS, makes app accessible at https://... requires --tls-certfile to function") +parser.add_argument("--tls-certfile", type=str, help="Path to TLS (SSL) certificate file. Enables TLS, makes app accessible at https://... requires --tls-keyfile to function") +parser.add_argument("--enable-cors-header", type=str, default=None, metavar="ORIGIN", nargs="?", const="*", help="Enable CORS (Cross-Origin Resource Sharing) with optional origin or allow all with default '*'.") +parser.add_argument("--max-upload-size", type=float, default=100, help="Set the maximum upload size in MB.") + +parser.add_argument("--extra-model-paths-config", type=str, default=None, metavar="PATH", nargs='+', action='append', help="Load one or more extra_model_paths.yaml files.") +parser.add_argument("--output-directory", type=str, default=None, help="Set the ComfyUI output directory.") +parser.add_argument("--temp-directory", type=str, default=None, help="Set the ComfyUI temp directory (default is in the ComfyUI directory).") +parser.add_argument("--input-directory", type=str, default=None, help="Set the ComfyUI input directory.") +parser.add_argument("--auto-launch", action="store_true", help="Automatically launch ComfyUI in the default browser.") +parser.add_argument("--disable-auto-launch", action="store_true", help="Disable auto launching the browser.") +parser.add_argument("--cuda-device", type=int, default=None, metavar="DEVICE_ID", help="Set the id of the cuda device this instance will use.") +cm_group = parser.add_mutually_exclusive_group() +cm_group.add_argument("--cuda-malloc", action="store_true", help="Enable cudaMallocAsync (enabled by default for torch 2.0 and up).") +cm_group.add_argument("--disable-cuda-malloc", action="store_true", help="Disable cudaMallocAsync.") + + +fp_group = parser.add_mutually_exclusive_group() +fp_group.add_argument("--force-fp32", action="store_true", help="Force fp32 (If this makes your GPU work better please report it).") +fp_group.add_argument("--force-fp16", action="store_true", help="Force fp16.") + +fpunet_group = parser.add_mutually_exclusive_group() +fpunet_group.add_argument("--fp32-unet", action="store_true", help="Run the diffusion model in fp32.") +fpunet_group.add_argument("--fp64-unet", action="store_true", help="Run the diffusion model in fp64.") +fpunet_group.add_argument("--bf16-unet", action="store_true", help="Run the diffusion model in bf16.") +fpunet_group.add_argument("--fp16-unet", action="store_true", help="Run the diffusion model in fp16") +fpunet_group.add_argument("--fp8_e4m3fn-unet", action="store_true", help="Store unet weights in fp8_e4m3fn.") +fpunet_group.add_argument("--fp8_e5m2-unet", action="store_true", help="Store unet weights in fp8_e5m2.") + +fpvae_group = parser.add_mutually_exclusive_group() +fpvae_group.add_argument("--fp16-vae", action="store_true", help="Run the VAE in fp16, might cause black images.") +fpvae_group.add_argument("--fp32-vae", action="store_true", help="Run the VAE in full precision fp32.") +fpvae_group.add_argument("--bf16-vae", action="store_true", help="Run the VAE in bf16.") + +parser.add_argument("--cpu-vae", action="store_true", help="Run the VAE on the CPU.") + +fpte_group = parser.add_mutually_exclusive_group() +fpte_group.add_argument("--fp8_e4m3fn-text-enc", action="store_true", help="Store text encoder weights in fp8 (e4m3fn variant).") +fpte_group.add_argument("--fp8_e5m2-text-enc", action="store_true", help="Store text encoder weights in fp8 (e5m2 variant).") +fpte_group.add_argument("--fp16-text-enc", action="store_true", help="Store text encoder weights in fp16.") +fpte_group.add_argument("--fp32-text-enc", action="store_true", help="Store text encoder weights in fp32.") + +parser.add_argument("--force-channels-last", action="store_true", help="Force channels last format when inferencing the models.") + +parser.add_argument("--directml", type=int, nargs="?", metavar="DIRECTML_DEVICE", const=-1, help="Use torch-directml.") + +parser.add_argument("--oneapi-device-selector", type=str, default=None, metavar="SELECTOR_STRING", help="Sets the oneAPI device(s) this instance will use.") +parser.add_argument("--disable-ipex-optimize", action="store_true", help="Disables ipex.optimize default when loading models with Intel's Extension for Pytorch.") + +class LatentPreviewMethod(enum.Enum): + NoPreviews = "none" + Auto = "auto" + Latent2RGB = "latent2rgb" + TAESD = "taesd" + +parser.add_argument("--preview-method", type=LatentPreviewMethod, default=LatentPreviewMethod.NoPreviews, help="Default preview method for sampler nodes.", action=EnumAction) + +parser.add_argument("--preview-size", type=int, default=512, help="Sets the maximum preview size for sampler nodes.") + +cache_group = parser.add_mutually_exclusive_group() +cache_group.add_argument("--cache-classic", action="store_true", help="Use the old style (aggressive) caching.") +cache_group.add_argument("--cache-lru", type=int, default=0, help="Use LRU caching with a maximum of N node results cached. May use more RAM/VRAM.") + +attn_group = parser.add_mutually_exclusive_group() +attn_group.add_argument("--use-split-cross-attention", action="store_true", help="Use the split cross attention optimization. Ignored when xformers is used.") +attn_group.add_argument("--use-quad-cross-attention", action="store_true", help="Use the sub-quadratic cross attention optimization . Ignored when xformers is used.") +attn_group.add_argument("--use-pytorch-cross-attention", action="store_true", help="Use the new pytorch 2.0 cross attention function.") +attn_group.add_argument("--use-sage-attention", action="store_true", help="Use sage attention.") + +parser.add_argument("--disable-xformers", action="store_true", help="Disable xformers.") + +upcast = parser.add_mutually_exclusive_group() +upcast.add_argument("--force-upcast-attention", action="store_true", help="Force enable attention upcasting, please report if it fixes black images.") +upcast.add_argument("--dont-upcast-attention", action="store_true", help="Disable all upcasting of attention. Should be unnecessary except for debugging.") + + +vram_group = parser.add_mutually_exclusive_group() +vram_group.add_argument("--gpu-only", action="store_true", help="Store and run everything (text encoders/CLIP models, etc... on the GPU).") +vram_group.add_argument("--highvram", action="store_true", help="By default models will be unloaded to CPU memory after being used. This option keeps them in GPU memory.") +vram_group.add_argument("--normalvram", action="store_true", help="Used to force normal vram use if lowvram gets automatically enabled.") +vram_group.add_argument("--lowvram", action="store_true", help="Split the unet in parts to use less vram.") +vram_group.add_argument("--novram", action="store_true", help="When lowvram isn't enough.") +vram_group.add_argument("--cpu", action="store_true", help="To use the CPU for everything (slow).") + +parser.add_argument("--reserve-vram", type=float, default=None, help="Set the amount of vram in GB you want to reserve for use by your OS/other software. By default some amount is reserved depending on your OS.") + + +parser.add_argument("--default-hashing-function", type=str, choices=['md5', 'sha1', 'sha256', 'sha512'], default='sha256', help="Allows you to choose the hash function to use for duplicate filename / contents comparison. Default is sha256.") + +parser.add_argument("--disable-smart-memory", action="store_true", help="Force ComfyUI to agressively offload to regular ram instead of keeping models in vram when it can.") +parser.add_argument("--deterministic", action="store_true", help="Make pytorch use slower deterministic algorithms when it can. Note that this might not make images deterministic in all cases.") +parser.add_argument("--fast", action="store_true", help="Enable some untested and potentially quality deteriorating optimizations.") + +parser.add_argument("--dont-print-server", action="store_true", help="Don't print server output.") +parser.add_argument("--quick-test-for-ci", action="store_true", help="Quick test for CI.") +parser.add_argument("--windows-standalone-build", action="store_true", help="Windows standalone build: Enable convenient things that most people using the standalone windows build will probably enjoy (like auto opening the page on startup).") + +parser.add_argument("--disable-metadata", action="store_true", help="Disable saving prompt metadata in files.") +parser.add_argument("--disable-all-custom-nodes", action="store_true", help="Disable loading all custom nodes.") + +parser.add_argument("--multi-user", action="store_true", help="Enables per-user storage.") + +parser.add_argument("--verbose", default='INFO', const='DEBUG', nargs="?", choices=['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'], help='Set the logging level') +parser.add_argument("--log-stdout", action="store_true", help="Send normal process output to stdout instead of stderr (default).") + +# The default built-in provider hosted under web/ +DEFAULT_VERSION_STRING = "comfyanonymous/ComfyUI@latest" + +parser.add_argument( + "--front-end-version", + type=str, + default=DEFAULT_VERSION_STRING, + help=""" + Specifies the version of the frontend to be used. This command needs internet connectivity to query and + download available frontend implementations from GitHub releases. + + The version string should be in the format of: + [repoOwner]/[repoName]@[version] + where version is one of: "latest" or a valid version number (e.g. "1.0.0") + """, +) + +def is_valid_directory(path: Optional[str]) -> Optional[str]: + """Validate if the given path is a directory.""" + if path is None: + return None + + if not os.path.isdir(path): + raise argparse.ArgumentTypeError(f"{path} is not a valid directory.") + return path + +parser.add_argument( + "--front-end-root", + type=is_valid_directory, + default=None, + help="The local filesystem path to the directory where the frontend is located. Overrides --front-end-version.", +) + +parser.add_argument("--user-directory", type=is_valid_directory, default=None, help="Set the ComfyUI user directory with an absolute path.") + +if comfy.options.args_parsing: + args = parser.parse_args() +else: + args = parser.parse_args([]) + +if args.windows_standalone_build: + args.auto_launch = True + +if args.disable_auto_launch: + args.auto_launch = False diff --git a/comfy/clip_config_bigg.json b/comfy/clip_config_bigg.json new file mode 100644 index 0000000000000000000000000000000000000000..35261deef14a68fcc6c5b1fc32914b5c102781a9 --- /dev/null +++ b/comfy/clip_config_bigg.json @@ -0,0 +1,23 @@ +{ + "architectures": [ + "CLIPTextModel" + ], + "attention_dropout": 0.0, + "bos_token_id": 0, + "dropout": 0.0, + "eos_token_id": 49407, + "hidden_act": "gelu", + "hidden_size": 1280, + "initializer_factor": 1.0, + "initializer_range": 0.02, + "intermediate_size": 5120, + "layer_norm_eps": 1e-05, + "max_position_embeddings": 77, + "model_type": "clip_text_model", + "num_attention_heads": 20, + "num_hidden_layers": 32, + "pad_token_id": 1, + "projection_dim": 1280, + "torch_dtype": "float32", + "vocab_size": 49408 +} diff --git a/comfy/clip_model.py b/comfy/clip_model.py new file mode 100644 index 0000000000000000000000000000000000000000..23ddea9c02991b7b82c5525a315bb47023b64143 --- /dev/null +++ b/comfy/clip_model.py @@ -0,0 +1,218 @@ +import torch +from comfy.ldm.modules.attention import optimized_attention_for_device +import comfy.ops + +class CLIPAttention(torch.nn.Module): + def __init__(self, embed_dim, heads, dtype, device, operations): + super().__init__() + + self.heads = heads + self.q_proj = operations.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) + self.k_proj = operations.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) + self.v_proj = operations.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) + + self.out_proj = operations.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) + + def forward(self, x, mask=None, optimized_attention=None): + q = self.q_proj(x) + k = self.k_proj(x) + v = self.v_proj(x) + + out = optimized_attention(q, k, v, self.heads, mask) + return self.out_proj(out) + +ACTIVATIONS = {"quick_gelu": lambda a: a * torch.sigmoid(1.702 * a), + "gelu": torch.nn.functional.gelu, + "gelu_pytorch_tanh": lambda a: torch.nn.functional.gelu(a, approximate="tanh"), +} + +class CLIPMLP(torch.nn.Module): + def __init__(self, embed_dim, intermediate_size, activation, dtype, device, operations): + super().__init__() + self.fc1 = operations.Linear(embed_dim, intermediate_size, bias=True, dtype=dtype, device=device) + self.activation = ACTIVATIONS[activation] + self.fc2 = operations.Linear(intermediate_size, embed_dim, bias=True, dtype=dtype, device=device) + + def forward(self, x): + x = self.fc1(x) + x = self.activation(x) + x = self.fc2(x) + return x + +class CLIPLayer(torch.nn.Module): + def __init__(self, embed_dim, heads, intermediate_size, intermediate_activation, dtype, device, operations): + super().__init__() + self.layer_norm1 = operations.LayerNorm(embed_dim, dtype=dtype, device=device) + self.self_attn = CLIPAttention(embed_dim, heads, dtype, device, operations) + self.layer_norm2 = operations.LayerNorm(embed_dim, dtype=dtype, device=device) + self.mlp = CLIPMLP(embed_dim, intermediate_size, intermediate_activation, dtype, device, operations) + + def forward(self, x, mask=None, optimized_attention=None): + x += self.self_attn(self.layer_norm1(x), mask, optimized_attention) + x += self.mlp(self.layer_norm2(x)) + return x + + +class CLIPEncoder(torch.nn.Module): + def __init__(self, num_layers, embed_dim, heads, intermediate_size, intermediate_activation, dtype, device, operations): + super().__init__() + self.layers = torch.nn.ModuleList([CLIPLayer(embed_dim, heads, intermediate_size, intermediate_activation, dtype, device, operations) for i in range(num_layers)]) + + def forward(self, x, mask=None, intermediate_output=None): + optimized_attention = optimized_attention_for_device(x.device, mask=mask is not None, small_input=True) + + if intermediate_output is not None: + if intermediate_output < 0: + intermediate_output = len(self.layers) + intermediate_output + + intermediate = None + for i, l in enumerate(self.layers): + x = l(x, mask, optimized_attention) + if i == intermediate_output: + intermediate = x.clone() + return x, intermediate + +class CLIPEmbeddings(torch.nn.Module): + def __init__(self, embed_dim, vocab_size=49408, num_positions=77, dtype=None, device=None, operations=None): + super().__init__() + self.token_embedding = operations.Embedding(vocab_size, embed_dim, dtype=dtype, device=device) + self.position_embedding = operations.Embedding(num_positions, embed_dim, dtype=dtype, device=device) + + def forward(self, input_tokens, dtype=torch.float32): + return self.token_embedding(input_tokens, out_dtype=dtype) + comfy.ops.cast_to(self.position_embedding.weight, dtype=dtype, device=input_tokens.device) + + +class CLIPTextModel_(torch.nn.Module): + def __init__(self, config_dict, dtype, device, operations): + num_layers = config_dict["num_hidden_layers"] + embed_dim = config_dict["hidden_size"] + heads = config_dict["num_attention_heads"] + intermediate_size = config_dict["intermediate_size"] + intermediate_activation = config_dict["hidden_act"] + num_positions = config_dict["max_position_embeddings"] + self.eos_token_id = config_dict["eos_token_id"] + + super().__init__() + self.embeddings = CLIPEmbeddings(embed_dim, num_positions=num_positions, dtype=dtype, device=device, operations=operations) + self.encoder = CLIPEncoder(num_layers, embed_dim, heads, intermediate_size, intermediate_activation, dtype, device, operations) + self.final_layer_norm = operations.LayerNorm(embed_dim, dtype=dtype, device=device) + + def forward(self, input_tokens, attention_mask=None, intermediate_output=None, final_layer_norm_intermediate=True, dtype=torch.float32): + x = self.embeddings(input_tokens, dtype=dtype) + mask = None + if attention_mask is not None: + mask = 1.0 - attention_mask.to(x.dtype).reshape((attention_mask.shape[0], 1, -1, attention_mask.shape[-1])).expand(attention_mask.shape[0], 1, attention_mask.shape[-1], attention_mask.shape[-1]) + mask = mask.masked_fill(mask.to(torch.bool), float("-inf")) + + causal_mask = torch.empty(x.shape[1], x.shape[1], dtype=x.dtype, device=x.device).fill_(float("-inf")).triu_(1) + if mask is not None: + mask += causal_mask + else: + mask = causal_mask + + x, i = self.encoder(x, mask=mask, intermediate_output=intermediate_output) + x = self.final_layer_norm(x) + if i is not None and final_layer_norm_intermediate: + i = self.final_layer_norm(i) + + pooled_output = x[torch.arange(x.shape[0], device=x.device), (torch.round(input_tokens).to(dtype=torch.int, device=x.device) == self.eos_token_id).int().argmax(dim=-1),] + return x, i, pooled_output + +class CLIPTextModel(torch.nn.Module): + def __init__(self, config_dict, dtype, device, operations): + super().__init__() + self.num_layers = config_dict["num_hidden_layers"] + self.text_model = CLIPTextModel_(config_dict, dtype, device, operations) + embed_dim = config_dict["hidden_size"] + self.text_projection = operations.Linear(embed_dim, embed_dim, bias=False, dtype=dtype, device=device) + self.dtype = dtype + + def get_input_embeddings(self): + return self.text_model.embeddings.token_embedding + + def set_input_embeddings(self, embeddings): + self.text_model.embeddings.token_embedding = embeddings + + def forward(self, *args, **kwargs): + x = self.text_model(*args, **kwargs) + out = self.text_projection(x[2]) + return (x[0], x[1], out, x[2]) + + +class CLIPVisionEmbeddings(torch.nn.Module): + def __init__(self, embed_dim, num_channels=3, patch_size=14, image_size=224, model_type="", dtype=None, device=None, operations=None): + super().__init__() + + num_patches = (image_size // patch_size) ** 2 + if model_type == "siglip_vision_model": + self.class_embedding = None + patch_bias = True + else: + num_patches = num_patches + 1 + self.class_embedding = torch.nn.Parameter(torch.empty(embed_dim, dtype=dtype, device=device)) + patch_bias = False + + self.patch_embedding = operations.Conv2d( + in_channels=num_channels, + out_channels=embed_dim, + kernel_size=patch_size, + stride=patch_size, + bias=patch_bias, + dtype=dtype, + device=device + ) + + self.position_embedding = operations.Embedding(num_patches, embed_dim, dtype=dtype, device=device) + + def forward(self, pixel_values): + embeds = self.patch_embedding(pixel_values).flatten(2).transpose(1, 2) + if self.class_embedding is not None: + embeds = torch.cat([comfy.ops.cast_to_input(self.class_embedding, embeds).expand(pixel_values.shape[0], 1, -1), embeds], dim=1) + return embeds + comfy.ops.cast_to_input(self.position_embedding.weight, embeds) + + +class CLIPVision(torch.nn.Module): + def __init__(self, config_dict, dtype, device, operations): + super().__init__() + num_layers = config_dict["num_hidden_layers"] + embed_dim = config_dict["hidden_size"] + heads = config_dict["num_attention_heads"] + intermediate_size = config_dict["intermediate_size"] + intermediate_activation = config_dict["hidden_act"] + model_type = config_dict["model_type"] + + self.embeddings = CLIPVisionEmbeddings(embed_dim, config_dict["num_channels"], config_dict["patch_size"], config_dict["image_size"], model_type=model_type, dtype=dtype, device=device, operations=operations) + if model_type == "siglip_vision_model": + self.pre_layrnorm = lambda a: a + self.output_layernorm = True + else: + self.pre_layrnorm = operations.LayerNorm(embed_dim) + self.output_layernorm = False + self.encoder = CLIPEncoder(num_layers, embed_dim, heads, intermediate_size, intermediate_activation, dtype, device, operations) + self.post_layernorm = operations.LayerNorm(embed_dim) + + def forward(self, pixel_values, attention_mask=None, intermediate_output=None): + x = self.embeddings(pixel_values) + x = self.pre_layrnorm(x) + #TODO: attention_mask? + x, i = self.encoder(x, mask=None, intermediate_output=intermediate_output) + if self.output_layernorm: + x = self.post_layernorm(x) + pooled_output = x + else: + pooled_output = self.post_layernorm(x[:, 0, :]) + return x, i, pooled_output + +class CLIPVisionModelProjection(torch.nn.Module): + def __init__(self, config_dict, dtype, device, operations): + super().__init__() + self.vision_model = CLIPVision(config_dict, dtype, device, operations) + if "projection_dim" in config_dict: + self.visual_projection = operations.Linear(config_dict["hidden_size"], config_dict["projection_dim"], bias=False) + else: + self.visual_projection = lambda a: a + + def forward(self, *args, **kwargs): + x = self.vision_model(*args, **kwargs) + out = self.visual_projection(x[2]) + return (x[0], x[1], out) diff --git a/comfy/clip_vision.py b/comfy/clip_vision.py new file mode 100644 index 0000000000000000000000000000000000000000..c9c82e9ade0ecfc6587d527889969e28b4cd39af --- /dev/null +++ b/comfy/clip_vision.py @@ -0,0 +1,129 @@ +from .utils import load_torch_file, transformers_convert, state_dict_prefix_replace +import os +import torch +import json +import logging + +import comfy.ops +import comfy.model_patcher +import comfy.model_management +import comfy.utils +import comfy.clip_model + +class Output: + def __getitem__(self, key): + return getattr(self, key) + def __setitem__(self, key, item): + setattr(self, key, item) + +def clip_preprocess(image, size=224, mean=[0.48145466, 0.4578275, 0.40821073], std=[0.26862954, 0.26130258, 0.27577711], crop=True): + mean = torch.tensor(mean, device=image.device, dtype=image.dtype) + std = torch.tensor(std, device=image.device, dtype=image.dtype) + image = image.movedim(-1, 1) + if not (image.shape[2] == size and image.shape[3] == size): + if crop: + scale = (size / min(image.shape[2], image.shape[3])) + scale_size = (round(scale * image.shape[2]), round(scale * image.shape[3])) + else: + scale_size = (size, size) + + image = torch.nn.functional.interpolate(image, size=scale_size, mode="bicubic", antialias=True) + h = (image.shape[2] - size)//2 + w = (image.shape[3] - size)//2 + image = image[:,:,h:h+size,w:w+size] + image = torch.clip((255. * image), 0, 255).round() / 255.0 + return (image - mean.view([3,1,1])) / std.view([3,1,1]) + +class ClipVisionModel(): + def __init__(self, json_config): + with open(json_config) as f: + config = json.load(f) + + self.image_size = config.get("image_size", 224) + self.image_mean = config.get("image_mean", [0.48145466, 0.4578275, 0.40821073]) + self.image_std = config.get("image_std", [0.26862954, 0.26130258, 0.27577711]) + self.load_device = comfy.model_management.text_encoder_device() + offload_device = comfy.model_management.text_encoder_offload_device() + self.dtype = comfy.model_management.text_encoder_dtype(self.load_device) + self.model = comfy.clip_model.CLIPVisionModelProjection(config, self.dtype, offload_device, comfy.ops.manual_cast) + self.model.eval() + + self.patcher = comfy.model_patcher.ModelPatcher(self.model, load_device=self.load_device, offload_device=offload_device) + + def load_sd(self, sd): + return self.model.load_state_dict(sd, strict=False) + + def get_sd(self): + return self.model.state_dict() + + def encode_image(self, image, crop=True): + comfy.model_management.load_model_gpu(self.patcher) + pixel_values = clip_preprocess(image.to(self.load_device), size=self.image_size, mean=self.image_mean, std=self.image_std, crop=crop).float() + out = self.model(pixel_values=pixel_values, intermediate_output=-2) + + outputs = Output() + outputs["last_hidden_state"] = out[0].to(comfy.model_management.intermediate_device()) + outputs["image_embeds"] = out[2].to(comfy.model_management.intermediate_device()) + outputs["penultimate_hidden_states"] = out[1].to(comfy.model_management.intermediate_device()) + return outputs + +def convert_to_transformers(sd, prefix): + sd_k = sd.keys() + if "{}transformer.resblocks.0.attn.in_proj_weight".format(prefix) in sd_k: + keys_to_replace = { + "{}class_embedding".format(prefix): "vision_model.embeddings.class_embedding", + "{}conv1.weight".format(prefix): "vision_model.embeddings.patch_embedding.weight", + "{}positional_embedding".format(prefix): "vision_model.embeddings.position_embedding.weight", + "{}ln_post.bias".format(prefix): "vision_model.post_layernorm.bias", + "{}ln_post.weight".format(prefix): "vision_model.post_layernorm.weight", + "{}ln_pre.bias".format(prefix): "vision_model.pre_layrnorm.bias", + "{}ln_pre.weight".format(prefix): "vision_model.pre_layrnorm.weight", + } + + for x in keys_to_replace: + if x in sd_k: + sd[keys_to_replace[x]] = sd.pop(x) + + if "{}proj".format(prefix) in sd_k: + sd['visual_projection.weight'] = sd.pop("{}proj".format(prefix)).transpose(0, 1) + + sd = transformers_convert(sd, prefix, "vision_model.", 48) + else: + replace_prefix = {prefix: ""} + sd = state_dict_prefix_replace(sd, replace_prefix) + return sd + +def load_clipvision_from_sd(sd, prefix="", convert_keys=False): + if convert_keys: + sd = convert_to_transformers(sd, prefix) + if "vision_model.encoder.layers.47.layer_norm1.weight" in sd: + json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "clip_vision_config_g.json") + elif "vision_model.encoder.layers.30.layer_norm1.weight" in sd: + json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "clip_vision_config_h.json") + elif "vision_model.encoder.layers.22.layer_norm1.weight" in sd: + if sd["vision_model.encoder.layers.0.layer_norm1.weight"].shape[0] == 1152: + json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "clip_vision_siglip_384.json") + elif sd["vision_model.embeddings.position_embedding.weight"].shape[0] == 577: + json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "clip_vision_config_vitl_336.json") + else: + json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "clip_vision_config_vitl.json") + else: + return None + + clip = ClipVisionModel(json_config) + m, u = clip.load_sd(sd) + if len(m) > 0: + logging.warning("missing clip vision: {}".format(m)) + u = set(u) + keys = list(sd.keys()) + for k in keys: + if k not in u: + sd.pop(k) + return clip + +def load(ckpt_path): + sd = load_torch_file(ckpt_path) + if "visual.transformer.resblocks.0.attn.in_proj_weight" in sd: + return load_clipvision_from_sd(sd, prefix="visual.", convert_keys=True) + else: + return load_clipvision_from_sd(sd) diff --git a/comfy/clip_vision_config_g.json b/comfy/clip_vision_config_g.json new file mode 100644 index 0000000000000000000000000000000000000000..708e7e21ac3513a719d6a49e88e756f5ef7e2c8d --- /dev/null +++ b/comfy/clip_vision_config_g.json @@ -0,0 +1,18 @@ +{ + "attention_dropout": 0.0, + "dropout": 0.0, + "hidden_act": "gelu", + "hidden_size": 1664, + "image_size": 224, + "initializer_factor": 1.0, + "initializer_range": 0.02, + "intermediate_size": 8192, + "layer_norm_eps": 1e-05, + "model_type": "clip_vision_model", + "num_attention_heads": 16, + "num_channels": 3, + "num_hidden_layers": 48, + "patch_size": 14, + "projection_dim": 1280, + "torch_dtype": "float32" +} diff --git a/comfy/clip_vision_config_h.json b/comfy/clip_vision_config_h.json new file mode 100644 index 0000000000000000000000000000000000000000..bb71be419a4be0ad5c8c157850de032a65593cb9 --- /dev/null +++ b/comfy/clip_vision_config_h.json @@ -0,0 +1,18 @@ +{ + "attention_dropout": 0.0, + "dropout": 0.0, + "hidden_act": "gelu", + "hidden_size": 1280, + "image_size": 224, + "initializer_factor": 1.0, + "initializer_range": 0.02, + "intermediate_size": 5120, + "layer_norm_eps": 1e-05, + "model_type": "clip_vision_model", + "num_attention_heads": 16, + "num_channels": 3, + "num_hidden_layers": 32, + "patch_size": 14, + "projection_dim": 1024, + "torch_dtype": "float32" +} diff --git a/comfy/clip_vision_config_vitl.json b/comfy/clip_vision_config_vitl.json new file mode 100644 index 0000000000000000000000000000000000000000..c59b8ed5a4c1f41fbcc9e6811d2c7dfe44273de7 --- /dev/null +++ b/comfy/clip_vision_config_vitl.json @@ -0,0 +1,18 @@ +{ + "attention_dropout": 0.0, + "dropout": 0.0, + "hidden_act": "quick_gelu", + "hidden_size": 1024, + "image_size": 224, + "initializer_factor": 1.0, + "initializer_range": 0.02, + "intermediate_size": 4096, + "layer_norm_eps": 1e-05, + "model_type": "clip_vision_model", + "num_attention_heads": 16, + "num_channels": 3, + "num_hidden_layers": 24, + "patch_size": 14, + "projection_dim": 768, + "torch_dtype": "float32" +} diff --git a/comfy/clip_vision_config_vitl_336.json b/comfy/clip_vision_config_vitl_336.json new file mode 100644 index 0000000000000000000000000000000000000000..f26945273d99e88f207d64dcec78feee63b4b625 --- /dev/null +++ b/comfy/clip_vision_config_vitl_336.json @@ -0,0 +1,18 @@ +{ + "attention_dropout": 0.0, + "dropout": 0.0, + "hidden_act": "quick_gelu", + "hidden_size": 1024, + "image_size": 336, + "initializer_factor": 1.0, + "initializer_range": 0.02, + "intermediate_size": 4096, + "layer_norm_eps": 1e-5, + "model_type": "clip_vision_model", + "num_attention_heads": 16, + "num_channels": 3, + "num_hidden_layers": 24, + "patch_size": 14, + "projection_dim": 768, + "torch_dtype": "float32" +} diff --git a/comfy/clip_vision_siglip_384.json b/comfy/clip_vision_siglip_384.json new file mode 100644 index 0000000000000000000000000000000000000000..532e03ac181d8849a7202445d42565f01441177b --- /dev/null +++ b/comfy/clip_vision_siglip_384.json @@ -0,0 +1,13 @@ +{ + "num_channels": 3, + "hidden_act": "gelu_pytorch_tanh", + "hidden_size": 1152, + "image_size": 384, + "intermediate_size": 4304, + "model_type": "siglip_vision_model", + "num_attention_heads": 16, + "num_hidden_layers": 27, + "patch_size": 14, + "image_mean": [0.5, 0.5, 0.5], + "image_std": [0.5, 0.5, 0.5] +} diff --git a/comfy/comfy_types/README.md b/comfy/comfy_types/README.md new file mode 100644 index 0000000000000000000000000000000000000000..20a786a5eac805a0b3f41c4fa42be558819b89c8 --- /dev/null +++ b/comfy/comfy_types/README.md @@ -0,0 +1,43 @@ +# Comfy Typing +## Type hinting for ComfyUI Node development + +This module provides type hinting and concrete convenience types for node developers. +If cloned to the custom_nodes directory of ComfyUI, types can be imported using: + +```python +from comfy.comfy_types import IO, ComfyNodeABC, CheckLazyMixin + +class ExampleNode(ComfyNodeABC): + @classmethod + def INPUT_TYPES(s) -> InputTypeDict: + return {"required": {}} +``` + +Full example is in [examples/example_nodes.py](examples/example_nodes.py). + +# Types +A few primary types are documented below. More complete information is available via the docstrings on each type. + +## `IO` + +A string enum of built-in and a few custom data types. Includes the following special types and their requisite plumbing: + +- `ANY`: `"*"` +- `NUMBER`: `"FLOAT,INT"` +- `PRIMITIVE`: `"STRING,FLOAT,INT,BOOLEAN"` + +## `ComfyNodeABC` + +An abstract base class for nodes, offering type-hinting / autocomplete, and somewhat-alright docstrings. + +### Type hinting for `INPUT_TYPES` + +![INPUT_TYPES auto-completion in Visual Studio Code](examples/input_types.png) + +### `INPUT_TYPES` return dict + +![INPUT_TYPES return value type hinting in Visual Studio Code](examples/required_hint.png) + +### Options for individual inputs + +![INPUT_TYPES return value option auto-completion in Visual Studio Code](examples/input_options.png) diff --git a/comfy/comfy_types/__init__.py b/comfy/comfy_types/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..19ec33f9844b8d853c26bbee84f83914654a6c6b --- /dev/null +++ b/comfy/comfy_types/__init__.py @@ -0,0 +1,45 @@ +import torch +from typing import Callable, Protocol, TypedDict, Optional, List +from .node_typing import IO, InputTypeDict, ComfyNodeABC, CheckLazyMixin + + +class UnetApplyFunction(Protocol): + """Function signature protocol on comfy.model_base.BaseModel.apply_model""" + + def __call__(self, x: torch.Tensor, t: torch.Tensor, **kwargs) -> torch.Tensor: + pass + + +class UnetApplyConds(TypedDict): + """Optional conditions for unet apply function.""" + + c_concat: Optional[torch.Tensor] + c_crossattn: Optional[torch.Tensor] + control: Optional[torch.Tensor] + transformer_options: Optional[dict] + + +class UnetParams(TypedDict): + # Tensor of shape [B, C, H, W] + input: torch.Tensor + # Tensor of shape [B] + timestep: torch.Tensor + c: UnetApplyConds + # List of [0, 1], [0], [1], ... + # 0 means conditional, 1 means conditional unconditional + cond_or_uncond: List[int] + + +UnetWrapperFunction = Callable[[UnetApplyFunction, UnetParams], torch.Tensor] + + +__all__ = [ + "UnetWrapperFunction", + UnetApplyConds.__name__, + UnetParams.__name__, + UnetApplyFunction.__name__, + IO.__name__, + InputTypeDict.__name__, + ComfyNodeABC.__name__, + CheckLazyMixin.__name__, +] diff --git a/comfy/comfy_types/examples/example_nodes.py b/comfy/comfy_types/examples/example_nodes.py new file mode 100644 index 0000000000000000000000000000000000000000..6e19c545153db36b2c2e7481e5c8bc96ccbbe1f1 --- /dev/null +++ b/comfy/comfy_types/examples/example_nodes.py @@ -0,0 +1,28 @@ +from comfy.comfy_types import IO, ComfyNodeABC, InputTypeDict +from inspect import cleandoc + + +class ExampleNode(ComfyNodeABC): + """An example node that just adds 1 to an input integer. + + * Requires a modern IDE to provide any benefit (detail: an IDE configured with analysis paths etc). + * This node is intended as an example for developers only. + """ + + DESCRIPTION = cleandoc(__doc__) + CATEGORY = "examples" + + @classmethod + def INPUT_TYPES(s) -> InputTypeDict: + return { + "required": { + "input_int": (IO.INT, {"defaultInput": True}), + } + } + + RETURN_TYPES = (IO.INT,) + RETURN_NAMES = ("input_plus_one",) + FUNCTION = "execute" + + def execute(self, input_int: int): + return (input_int + 1,) diff --git a/comfy/comfy_types/examples/input_options.png b/comfy/comfy_types/examples/input_options.png new file mode 100644 index 0000000000000000000000000000000000000000..ac859bbc0c15728e6f5464f9388f44d5e38dd650 Binary files /dev/null and b/comfy/comfy_types/examples/input_options.png differ diff --git a/comfy/comfy_types/examples/input_types.png b/comfy/comfy_types/examples/input_types.png new file mode 100644 index 0000000000000000000000000000000000000000..27e031ccf9c32958da0d41164b567e252c1b0c5c Binary files /dev/null and b/comfy/comfy_types/examples/input_types.png differ diff --git a/comfy/comfy_types/examples/required_hint.png b/comfy/comfy_types/examples/required_hint.png new file mode 100644 index 0000000000000000000000000000000000000000..22c0182a0aed3245201f2ffac86a6d3ad5b7e2ea Binary files /dev/null and b/comfy/comfy_types/examples/required_hint.png differ diff --git a/comfy/comfy_types/node_typing.py b/comfy/comfy_types/node_typing.py new file mode 100644 index 0000000000000000000000000000000000000000..056b1aa659766ebc2dd66e26b6aa8b9e6d1ec309 --- /dev/null +++ b/comfy/comfy_types/node_typing.py @@ -0,0 +1,274 @@ +"""Comfy-specific type hinting""" + +from __future__ import annotations +from typing import Literal, TypedDict +from abc import ABC, abstractmethod +from enum import Enum + + +class StrEnum(str, Enum): + """Base class for string enums. Python's StrEnum is not available until 3.11.""" + + def __str__(self) -> str: + return self.value + + +class IO(StrEnum): + """Node input/output data types. + + Includes functionality for ``"*"`` (`ANY`) and ``"MULTI,TYPES"``. + """ + + STRING = "STRING" + IMAGE = "IMAGE" + MASK = "MASK" + LATENT = "LATENT" + BOOLEAN = "BOOLEAN" + INT = "INT" + FLOAT = "FLOAT" + CONDITIONING = "CONDITIONING" + SAMPLER = "SAMPLER" + SIGMAS = "SIGMAS" + GUIDER = "GUIDER" + NOISE = "NOISE" + CLIP = "CLIP" + CONTROL_NET = "CONTROL_NET" + VAE = "VAE" + MODEL = "MODEL" + CLIP_VISION = "CLIP_VISION" + CLIP_VISION_OUTPUT = "CLIP_VISION_OUTPUT" + STYLE_MODEL = "STYLE_MODEL" + GLIGEN = "GLIGEN" + UPSCALE_MODEL = "UPSCALE_MODEL" + AUDIO = "AUDIO" + WEBCAM = "WEBCAM" + POINT = "POINT" + FACE_ANALYSIS = "FACE_ANALYSIS" + BBOX = "BBOX" + SEGS = "SEGS" + + ANY = "*" + """Always matches any type, but at a price. + + Causes some functionality issues (e.g. reroutes, link types), and should be avoided whenever possible. + """ + NUMBER = "FLOAT,INT" + """A float or an int - could be either""" + PRIMITIVE = "STRING,FLOAT,INT,BOOLEAN" + """Could be any of: string, float, int, or bool""" + + def __ne__(self, value: object) -> bool: + if self == "*" or value == "*": + return False + if not isinstance(value, str): + return True + a = frozenset(self.split(",")) + b = frozenset(value.split(",")) + return not (b.issubset(a) or a.issubset(b)) + + +class InputTypeOptions(TypedDict): + """Provides type hinting for the return type of the INPUT_TYPES node function. + + Due to IDE limitations with unions, for now all options are available for all types (e.g. `label_on` is hinted even when the type is not `IO.BOOLEAN`). + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_datatypes + """ + + default: bool | str | float | int | list | tuple + """The default value of the widget""" + defaultInput: bool + """Defaults to an input slot rather than a widget""" + forceInput: bool + """`defaultInput` and also don't allow converting to a widget""" + lazy: bool + """Declares that this input uses lazy evaluation""" + rawLink: bool + """When a link exists, rather than receiving the evaluated value, you will receive the link (i.e. `["nodeId", ]`). Designed for node expansion.""" + tooltip: str + """Tooltip for the input (or widget), shown on pointer hover""" + # class InputTypeNumber(InputTypeOptions): + # default: float | int + min: float + """The minimum value of a number (``FLOAT`` | ``INT``)""" + max: float + """The maximum value of a number (``FLOAT`` | ``INT``)""" + step: float + """The amount to increment or decrement a widget by when stepping up/down (``FLOAT`` | ``INT``)""" + round: float + """Floats are rounded by this value (``FLOAT``)""" + # class InputTypeBoolean(InputTypeOptions): + # default: bool + label_on: str + """The label to use in the UI when the bool is True (``BOOLEAN``)""" + label_on: str + """The label to use in the UI when the bool is False (``BOOLEAN``)""" + # class InputTypeString(InputTypeOptions): + # default: str + multiline: bool + """Use a multiline text box (``STRING``)""" + placeholder: str + """Placeholder text to display in the UI when empty (``STRING``)""" + # Deprecated: + # defaultVal: str + dynamicPrompts: bool + """Causes the front-end to evaluate dynamic prompts (``STRING``)""" + + +class HiddenInputTypeDict(TypedDict): + """Provides type hinting for the hidden entry of node INPUT_TYPES.""" + + node_id: Literal["UNIQUE_ID"] + """UNIQUE_ID is the unique identifier of the node, and matches the id property of the node on the client side. It is commonly used in client-server communications (see messages).""" + unique_id: Literal["UNIQUE_ID"] + """UNIQUE_ID is the unique identifier of the node, and matches the id property of the node on the client side. It is commonly used in client-server communications (see messages).""" + prompt: Literal["PROMPT"] + """PROMPT is the complete prompt sent by the client to the server. See the prompt object for a full description.""" + extra_pnginfo: Literal["EXTRA_PNGINFO"] + """EXTRA_PNGINFO is a dictionary that will be copied into the metadata of any .png files saved. Custom nodes can store additional information in this dictionary for saving (or as a way to communicate with a downstream node).""" + dynprompt: Literal["DYNPROMPT"] + """DYNPROMPT is an instance of comfy_execution.graph.DynamicPrompt. It differs from PROMPT in that it may mutate during the course of execution in response to Node Expansion.""" + + +class InputTypeDict(TypedDict): + """Provides type hinting for node INPUT_TYPES. + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_more_on_inputs + """ + + required: dict[str, tuple[IO, InputTypeOptions]] + """Describes all inputs that must be connected for the node to execute.""" + optional: dict[str, tuple[IO, InputTypeOptions]] + """Describes inputs which do not need to be connected.""" + hidden: HiddenInputTypeDict + """Offers advanced functionality and server-client communication. + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_more_on_inputs#hidden-inputs + """ + + +class ComfyNodeABC(ABC): + """Abstract base class for Comfy nodes. Includes the names and expected types of attributes. + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview + """ + + DESCRIPTION: str + """Node description, shown as a tooltip when hovering over the node. + + Usage:: + + # Explicitly define the description + DESCRIPTION = "Example description here." + + # Use the docstring of the node class. + DESCRIPTION = cleandoc(__doc__) + """ + CATEGORY: str + """The category of the node, as per the "Add Node" menu. + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#category + """ + EXPERIMENTAL: bool + """Flags a node as experimental, informing users that it may change or not work as expected.""" + DEPRECATED: bool + """Flags a node as deprecated, indicating to users that they should find alternatives to this node.""" + + @classmethod + @abstractmethod + def INPUT_TYPES(s) -> InputTypeDict: + """Defines node inputs. + + * Must include the ``required`` key, which describes all inputs that must be connected for the node to execute. + * The ``optional`` key can be added to describe inputs which do not need to be connected. + * The ``hidden`` key offers some advanced functionality. More info at: https://docs.comfy.org/essentials/custom_node_more_on_inputs#hidden-inputs + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#input-types + """ + return {"required": {}} + + OUTPUT_NODE: bool + """Flags this node as an output node, causing any inputs it requires to be executed. + + If a node is not connected to any output nodes, that node will not be executed. Usage:: + + OUTPUT_NODE = True + + From the docs: + + By default, a node is not considered an output. Set ``OUTPUT_NODE = True`` to specify that it is. + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#output-node + """ + INPUT_IS_LIST: bool + """A flag indicating if this node implements the additional code necessary to deal with OUTPUT_IS_LIST nodes. + + All inputs of ``type`` will become ``list[type]``, regardless of how many items are passed in. This also affects ``check_lazy_status``. + + From the docs: + + A node can also override the default input behaviour and receive the whole list in a single call. This is done by setting a class attribute `INPUT_IS_LIST` to ``True``. + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_lists#list-processing + """ + OUTPUT_IS_LIST: tuple[bool] + """A tuple indicating which node outputs are lists, but will be connected to nodes that expect individual items. + + Connected nodes that do not implement `INPUT_IS_LIST` will be executed once for every item in the list. + + A ``tuple[bool]``, where the items match those in `RETURN_TYPES`:: + + RETURN_TYPES = (IO.INT, IO.INT, IO.STRING) + OUTPUT_IS_LIST = (True, True, False) # The string output will be handled normally + + From the docs: + + In order to tell Comfy that the list being returned should not be wrapped, but treated as a series of data for sequential processing, + the node should provide a class attribute `OUTPUT_IS_LIST`, which is a ``tuple[bool]``, of the same length as `RETURN_TYPES`, + specifying which outputs which should be so treated. + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_lists#list-processing + """ + + RETURN_TYPES: tuple[IO] + """A tuple representing the outputs of this node. + + Usage:: + + RETURN_TYPES = (IO.INT, "INT", "CUSTOM_TYPE") + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#return-types + """ + RETURN_NAMES: tuple[str] + """The output slot names for each item in `RETURN_TYPES`, e.g. ``RETURN_NAMES = ("count", "filter_string")`` + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#return-names + """ + OUTPUT_TOOLTIPS: tuple[str] + """A tuple of strings to use as tooltips for node outputs, one for each item in `RETURN_TYPES`.""" + FUNCTION: str + """The name of the function to execute as a literal string, e.g. `FUNCTION = "execute"` + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#function + """ + + +class CheckLazyMixin: + """Provides a basic check_lazy_status implementation and type hinting for nodes that use lazy inputs.""" + + def check_lazy_status(self, **kwargs) -> list[str]: + """Returns a list of input names that should be evaluated. + + This basic mixin impl. requires all inputs. + + :kwargs: All node inputs will be included here. If the input is ``None``, it should be assumed that it has not yet been evaluated. \ + When using ``INPUT_IS_LIST = True``, unevaluated will instead be ``(None,)``. + + Params should match the nodes execution ``FUNCTION`` (self, and all inputs by name). + Will be executed repeatedly until it returns an empty list, or all requested items were already evaluated (and sent as params). + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_lazy_evaluation#defining-check-lazy-status + """ + + need = [name for name in kwargs if kwargs[name] is None] + return need diff --git a/comfy/conds.py b/comfy/conds.py new file mode 100644 index 0000000000000000000000000000000000000000..660690af8425209e6cc8d8b3e17185065e269a47 --- /dev/null +++ b/comfy/conds.py @@ -0,0 +1,83 @@ +import torch +import math +import comfy.utils + + +def lcm(a, b): #TODO: eventually replace by math.lcm (added in python3.9) + return abs(a*b) // math.gcd(a, b) + +class CONDRegular: + def __init__(self, cond): + self.cond = cond + + def _copy_with(self, cond): + return self.__class__(cond) + + def process_cond(self, batch_size, device, **kwargs): + return self._copy_with(comfy.utils.repeat_to_batch_size(self.cond, batch_size).to(device)) + + def can_concat(self, other): + if self.cond.shape != other.cond.shape: + return False + return True + + def concat(self, others): + conds = [self.cond] + for x in others: + conds.append(x.cond) + return torch.cat(conds) + +class CONDNoiseShape(CONDRegular): + def process_cond(self, batch_size, device, area, **kwargs): + data = self.cond + if area is not None: + dims = len(area) // 2 + for i in range(dims): + data = data.narrow(i + 2, area[i + dims], area[i]) + + return self._copy_with(comfy.utils.repeat_to_batch_size(data, batch_size).to(device)) + + +class CONDCrossAttn(CONDRegular): + def can_concat(self, other): + s1 = self.cond.shape + s2 = other.cond.shape + if s1 != s2: + if s1[0] != s2[0] or s1[2] != s2[2]: #these 2 cases should not happen + return False + + mult_min = lcm(s1[1], s2[1]) + diff = mult_min // min(s1[1], s2[1]) + if diff > 4: #arbitrary limit on the padding because it's probably going to impact performance negatively if it's too much + return False + return True + + def concat(self, others): + conds = [self.cond] + crossattn_max_len = self.cond.shape[1] + for x in others: + c = x.cond + crossattn_max_len = lcm(crossattn_max_len, c.shape[1]) + conds.append(c) + + out = [] + for c in conds: + if c.shape[1] < crossattn_max_len: + c = c.repeat(1, crossattn_max_len // c.shape[1], 1) #padding with repeat doesn't change result + out.append(c) + return torch.cat(out) + +class CONDConstant(CONDRegular): + def __init__(self, cond): + self.cond = cond + + def process_cond(self, batch_size, device, **kwargs): + return self._copy_with(self.cond) + + def can_concat(self, other): + if self.cond != other.cond: + return False + return True + + def concat(self, others): + return self.cond diff --git a/comfy/controlnet.py b/comfy/controlnet.py new file mode 100644 index 0000000000000000000000000000000000000000..ee29251b9727ef657272dae2fe45f76f8dc9f87e --- /dev/null +++ b/comfy/controlnet.py @@ -0,0 +1,862 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Comfy + + 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 . +""" + + +import torch +from enum import Enum +import math +import os +import logging +import comfy.utils +import comfy.model_management +import comfy.model_detection +import comfy.model_patcher +import comfy.ops +import comfy.latent_formats + +import comfy.cldm.cldm +import comfy.t2i_adapter.adapter +import comfy.ldm.cascade.controlnet +import comfy.cldm.mmdit +import comfy.ldm.hydit.controlnet +import comfy.ldm.flux.controlnet +import comfy.cldm.dit_embedder +from typing import TYPE_CHECKING +if TYPE_CHECKING: + from comfy.hooks import HookGroup + + +def broadcast_image_to(tensor, target_batch_size, batched_number): + current_batch_size = tensor.shape[0] + #print(current_batch_size, target_batch_size) + if current_batch_size == 1: + return tensor + + per_batch = target_batch_size // batched_number + tensor = tensor[:per_batch] + + if per_batch > tensor.shape[0]: + tensor = torch.cat([tensor] * (per_batch // tensor.shape[0]) + [tensor[:(per_batch % tensor.shape[0])]], dim=0) + + current_batch_size = tensor.shape[0] + if current_batch_size == target_batch_size: + return tensor + else: + return torch.cat([tensor] * batched_number, dim=0) + +class StrengthType(Enum): + CONSTANT = 1 + LINEAR_UP = 2 + +class ControlBase: + def __init__(self): + self.cond_hint_original = None + self.cond_hint = None + self.strength = 1.0 + self.timestep_percent_range = (0.0, 1.0) + self.latent_format = None + self.vae = None + self.global_average_pooling = False + self.timestep_range = None + self.compression_ratio = 8 + self.upscale_algorithm = 'nearest-exact' + self.extra_args = {} + self.previous_controlnet = None + self.extra_conds = [] + self.strength_type = StrengthType.CONSTANT + self.concat_mask = False + self.extra_concat_orig = [] + self.extra_concat = None + self.extra_hooks: HookGroup = None + self.preprocess_image = lambda a: a + + def set_cond_hint(self, cond_hint, strength=1.0, timestep_percent_range=(0.0, 1.0), vae=None, extra_concat=[]): + self.cond_hint_original = cond_hint + self.strength = strength + self.timestep_percent_range = timestep_percent_range + if self.latent_format is not None: + if vae is None: + logging.warning("WARNING: no VAE provided to the controlnet apply node when this controlnet requires one.") + self.vae = vae + self.extra_concat_orig = extra_concat.copy() + if self.concat_mask and len(self.extra_concat_orig) == 0: + self.extra_concat_orig.append(torch.tensor([[[[1.0]]]])) + return self + + def pre_run(self, model, percent_to_timestep_function): + self.timestep_range = (percent_to_timestep_function(self.timestep_percent_range[0]), percent_to_timestep_function(self.timestep_percent_range[1])) + if self.previous_controlnet is not None: + self.previous_controlnet.pre_run(model, percent_to_timestep_function) + + def set_previous_controlnet(self, controlnet): + self.previous_controlnet = controlnet + return self + + def cleanup(self): + if self.previous_controlnet is not None: + self.previous_controlnet.cleanup() + + self.cond_hint = None + self.extra_concat = None + self.timestep_range = None + + def get_models(self): + out = [] + if self.previous_controlnet is not None: + out += self.previous_controlnet.get_models() + return out + + def get_extra_hooks(self): + out = [] + if self.extra_hooks is not None: + out.append(self.extra_hooks) + if self.previous_controlnet is not None: + out += self.previous_controlnet.get_extra_hooks() + return out + + def copy_to(self, c): + c.cond_hint_original = self.cond_hint_original + c.strength = self.strength + c.timestep_percent_range = self.timestep_percent_range + c.global_average_pooling = self.global_average_pooling + c.compression_ratio = self.compression_ratio + c.upscale_algorithm = self.upscale_algorithm + c.latent_format = self.latent_format + c.extra_args = self.extra_args.copy() + c.vae = self.vae + c.extra_conds = self.extra_conds.copy() + c.strength_type = self.strength_type + c.concat_mask = self.concat_mask + c.extra_concat_orig = self.extra_concat_orig.copy() + c.extra_hooks = self.extra_hooks.clone() if self.extra_hooks else None + c.preprocess_image = self.preprocess_image + + def inference_memory_requirements(self, dtype): + if self.previous_controlnet is not None: + return self.previous_controlnet.inference_memory_requirements(dtype) + return 0 + + def control_merge(self, control, control_prev, output_dtype): + out = {'input':[], 'middle':[], 'output': []} + + for key in control: + control_output = control[key] + applied_to = set() + for i in range(len(control_output)): + x = control_output[i] + if x is not None: + if self.global_average_pooling: + x = torch.mean(x, dim=(2, 3), keepdim=True).repeat(1, 1, x.shape[2], x.shape[3]) + + if x not in applied_to: #memory saving strategy, allow shared tensors and only apply strength to shared tensors once + applied_to.add(x) + if self.strength_type == StrengthType.CONSTANT: + x *= self.strength + elif self.strength_type == StrengthType.LINEAR_UP: + x *= (self.strength ** float(len(control_output) - i)) + + if output_dtype is not None and x.dtype != output_dtype: + x = x.to(output_dtype) + + out[key].append(x) + + if control_prev is not None: + for x in ['input', 'middle', 'output']: + o = out[x] + for i in range(len(control_prev[x])): + prev_val = control_prev[x][i] + if i >= len(o): + o.append(prev_val) + elif prev_val is not None: + if o[i] is None: + o[i] = prev_val + else: + if o[i].shape[0] < prev_val.shape[0]: + o[i] = prev_val + o[i] + else: + o[i] = prev_val + o[i] #TODO: change back to inplace add if shared tensors stop being an issue + return out + + def set_extra_arg(self, argument, value=None): + self.extra_args[argument] = value + + +class ControlNet(ControlBase): + def __init__(self, control_model=None, global_average_pooling=False, compression_ratio=8, latent_format=None, load_device=None, manual_cast_dtype=None, extra_conds=["y"], strength_type=StrengthType.CONSTANT, concat_mask=False, preprocess_image=lambda a: a): + super().__init__() + self.control_model = control_model + self.load_device = load_device + if control_model is not None: + self.control_model_wrapped = comfy.model_patcher.ModelPatcher(self.control_model, load_device=load_device, offload_device=comfy.model_management.unet_offload_device()) + + self.compression_ratio = compression_ratio + self.global_average_pooling = global_average_pooling + self.model_sampling_current = None + self.manual_cast_dtype = manual_cast_dtype + self.latent_format = latent_format + self.extra_conds += extra_conds + self.strength_type = strength_type + self.concat_mask = concat_mask + self.preprocess_image = preprocess_image + + def get_control(self, x_noisy, t, cond, batched_number, transformer_options): + control_prev = None + if self.previous_controlnet is not None: + control_prev = self.previous_controlnet.get_control(x_noisy, t, cond, batched_number, transformer_options) + + if self.timestep_range is not None: + if t[0] > self.timestep_range[0] or t[0] < self.timestep_range[1]: + if control_prev is not None: + return control_prev + else: + return None + + dtype = self.control_model.dtype + if self.manual_cast_dtype is not None: + dtype = self.manual_cast_dtype + + if self.cond_hint is None or x_noisy.shape[2] * self.compression_ratio != self.cond_hint.shape[2] or x_noisy.shape[3] * self.compression_ratio != self.cond_hint.shape[3]: + if self.cond_hint is not None: + del self.cond_hint + self.cond_hint = None + compression_ratio = self.compression_ratio + if self.vae is not None: + compression_ratio *= self.vae.downscale_ratio + else: + if self.latent_format is not None: + raise ValueError("This Controlnet needs a VAE but none was provided, please use a ControlNetApply node with a VAE input and connect it.") + self.cond_hint = comfy.utils.common_upscale(self.cond_hint_original, x_noisy.shape[3] * compression_ratio, x_noisy.shape[2] * compression_ratio, self.upscale_algorithm, "center") + self.cond_hint = self.preprocess_image(self.cond_hint) + if self.vae is not None: + loaded_models = comfy.model_management.loaded_models(only_currently_used=True) + self.cond_hint = self.vae.encode(self.cond_hint.movedim(1, -1)) + comfy.model_management.load_models_gpu(loaded_models) + if self.latent_format is not None: + self.cond_hint = self.latent_format.process_in(self.cond_hint) + if len(self.extra_concat_orig) > 0: + to_concat = [] + for c in self.extra_concat_orig: + c = c.to(self.cond_hint.device) + c = comfy.utils.common_upscale(c, self.cond_hint.shape[3], self.cond_hint.shape[2], self.upscale_algorithm, "center") + to_concat.append(comfy.utils.repeat_to_batch_size(c, self.cond_hint.shape[0])) + self.cond_hint = torch.cat([self.cond_hint] + to_concat, dim=1) + + self.cond_hint = self.cond_hint.to(device=x_noisy.device, dtype=dtype) + if x_noisy.shape[0] != self.cond_hint.shape[0]: + self.cond_hint = broadcast_image_to(self.cond_hint, x_noisy.shape[0], batched_number) + + context = cond.get('crossattn_controlnet', cond['c_crossattn']) + extra = self.extra_args.copy() + for c in self.extra_conds: + temp = cond.get(c, None) + if temp is not None: + extra[c] = temp.to(dtype) + + timestep = self.model_sampling_current.timestep(t) + x_noisy = self.model_sampling_current.calculate_input(t, x_noisy) + + control = self.control_model(x=x_noisy.to(dtype), hint=self.cond_hint, timesteps=timestep.to(dtype), context=context.to(dtype), **extra) + return self.control_merge(control, control_prev, output_dtype=None) + + def copy(self): + c = ControlNet(None, global_average_pooling=self.global_average_pooling, load_device=self.load_device, manual_cast_dtype=self.manual_cast_dtype) + c.control_model = self.control_model + c.control_model_wrapped = self.control_model_wrapped + self.copy_to(c) + return c + + def get_models(self): + out = super().get_models() + out.append(self.control_model_wrapped) + return out + + def pre_run(self, model, percent_to_timestep_function): + super().pre_run(model, percent_to_timestep_function) + self.model_sampling_current = model.model_sampling + + def cleanup(self): + self.model_sampling_current = None + super().cleanup() + +class ControlLoraOps: + class Linear(torch.nn.Module, comfy.ops.CastWeightBiasOp): + def __init__(self, in_features: int, out_features: int, bias: bool = True, + device=None, dtype=None) -> None: + super().__init__() + self.in_features = in_features + self.out_features = out_features + self.weight = None + self.up = None + self.down = None + self.bias = None + + def forward(self, input): + weight, bias = comfy.ops.cast_bias_weight(self, input) + if self.up is not None: + return torch.nn.functional.linear(input, weight + (torch.mm(self.up.flatten(start_dim=1), self.down.flatten(start_dim=1))).reshape(self.weight.shape).type(input.dtype), bias) + else: + return torch.nn.functional.linear(input, weight, bias) + + class Conv2d(torch.nn.Module, comfy.ops.CastWeightBiasOp): + def __init__( + self, + in_channels, + out_channels, + kernel_size, + stride=1, + padding=0, + dilation=1, + groups=1, + bias=True, + padding_mode='zeros', + device=None, + dtype=None + ): + super().__init__() + self.in_channels = in_channels + self.out_channels = out_channels + self.kernel_size = kernel_size + self.stride = stride + self.padding = padding + self.dilation = dilation + self.transposed = False + self.output_padding = 0 + self.groups = groups + self.padding_mode = padding_mode + + self.weight = None + self.bias = None + self.up = None + self.down = None + + + def forward(self, input): + weight, bias = comfy.ops.cast_bias_weight(self, input) + if self.up is not None: + return torch.nn.functional.conv2d(input, weight + (torch.mm(self.up.flatten(start_dim=1), self.down.flatten(start_dim=1))).reshape(self.weight.shape).type(input.dtype), bias, self.stride, self.padding, self.dilation, self.groups) + else: + return torch.nn.functional.conv2d(input, weight, bias, self.stride, self.padding, self.dilation, self.groups) + + +class ControlLora(ControlNet): + def __init__(self, control_weights, global_average_pooling=False, model_options={}): #TODO? model_options + ControlBase.__init__(self) + self.control_weights = control_weights + self.global_average_pooling = global_average_pooling + self.extra_conds += ["y"] + + def pre_run(self, model, percent_to_timestep_function): + super().pre_run(model, percent_to_timestep_function) + controlnet_config = model.model_config.unet_config.copy() + controlnet_config.pop("out_channels") + controlnet_config["hint_channels"] = self.control_weights["input_hint_block.0.weight"].shape[1] + self.manual_cast_dtype = model.manual_cast_dtype + dtype = model.get_dtype() + if self.manual_cast_dtype is None: + class control_lora_ops(ControlLoraOps, comfy.ops.disable_weight_init): + pass + else: + class control_lora_ops(ControlLoraOps, comfy.ops.manual_cast): + pass + dtype = self.manual_cast_dtype + + controlnet_config["operations"] = control_lora_ops + controlnet_config["dtype"] = dtype + self.control_model = comfy.cldm.cldm.ControlNet(**controlnet_config) + self.control_model.to(comfy.model_management.get_torch_device()) + diffusion_model = model.diffusion_model + sd = diffusion_model.state_dict() + + for k in sd: + weight = sd[k] + try: + comfy.utils.set_attr_param(self.control_model, k, weight) + except: + pass + + for k in self.control_weights: + if k not in {"lora_controlnet"}: + comfy.utils.set_attr_param(self.control_model, k, self.control_weights[k].to(dtype).to(comfy.model_management.get_torch_device())) + + def copy(self): + c = ControlLora(self.control_weights, global_average_pooling=self.global_average_pooling) + self.copy_to(c) + return c + + def cleanup(self): + del self.control_model + self.control_model = None + super().cleanup() + + def get_models(self): + out = ControlBase.get_models(self) + return out + + def inference_memory_requirements(self, dtype): + return comfy.utils.calculate_parameters(self.control_weights) * comfy.model_management.dtype_size(dtype) + ControlBase.inference_memory_requirements(self, dtype) + +def controlnet_config(sd, model_options={}): + model_config = comfy.model_detection.model_config_from_unet(sd, "", True) + + unet_dtype = model_options.get("dtype", None) + if unet_dtype is None: + weight_dtype = comfy.utils.weight_dtype(sd) + + supported_inference_dtypes = list(model_config.supported_inference_dtypes) + if weight_dtype is not None: + supported_inference_dtypes.append(weight_dtype) + + unet_dtype = comfy.model_management.unet_dtype(model_params=-1, supported_dtypes=supported_inference_dtypes) + + load_device = comfy.model_management.get_torch_device() + manual_cast_dtype = comfy.model_management.unet_manual_cast(unet_dtype, load_device) + + operations = model_options.get("custom_operations", None) + if operations is None: + operations = comfy.ops.pick_operations(unet_dtype, manual_cast_dtype, disable_fast_fp8=True) + + offload_device = comfy.model_management.unet_offload_device() + return model_config, operations, load_device, unet_dtype, manual_cast_dtype, offload_device + +def controlnet_load_state_dict(control_model, sd): + missing, unexpected = control_model.load_state_dict(sd, strict=False) + + if len(missing) > 0: + logging.warning("missing controlnet keys: {}".format(missing)) + + if len(unexpected) > 0: + logging.debug("unexpected controlnet keys: {}".format(unexpected)) + return control_model + + +def load_controlnet_mmdit(sd, model_options={}): + new_sd = comfy.model_detection.convert_diffusers_mmdit(sd, "") + model_config, operations, load_device, unet_dtype, manual_cast_dtype, offload_device = controlnet_config(new_sd, model_options=model_options) + num_blocks = comfy.model_detection.count_blocks(new_sd, 'joint_blocks.{}.') + for k in sd: + new_sd[k] = sd[k] + + concat_mask = False + control_latent_channels = new_sd.get("pos_embed_input.proj.weight").shape[1] + if control_latent_channels == 17: #inpaint controlnet + concat_mask = True + + control_model = comfy.cldm.mmdit.ControlNet(num_blocks=num_blocks, control_latent_channels=control_latent_channels, operations=operations, device=offload_device, dtype=unet_dtype, **model_config.unet_config) + control_model = controlnet_load_state_dict(control_model, new_sd) + + latent_format = comfy.latent_formats.SD3() + latent_format.shift_factor = 0 #SD3 controlnet weirdness + control = ControlNet(control_model, compression_ratio=1, latent_format=latent_format, concat_mask=concat_mask, load_device=load_device, manual_cast_dtype=manual_cast_dtype) + return control + + +class ControlNetSD35(ControlNet): + def pre_run(self, model, percent_to_timestep_function): + if self.control_model.double_y_emb: + missing, unexpected = self.control_model.orig_y_embedder.load_state_dict(model.diffusion_model.y_embedder.state_dict(), strict=False) + else: + missing, unexpected = self.control_model.x_embedder.load_state_dict(model.diffusion_model.x_embedder.state_dict(), strict=False) + super().pre_run(model, percent_to_timestep_function) + + def copy(self): + c = ControlNetSD35(None, global_average_pooling=self.global_average_pooling, load_device=self.load_device, manual_cast_dtype=self.manual_cast_dtype) + c.control_model = self.control_model + c.control_model_wrapped = self.control_model_wrapped + self.copy_to(c) + return c + +def load_controlnet_sd35(sd, model_options={}): + control_type = -1 + if "control_type" in sd: + control_type = round(sd.pop("control_type").item()) + + # blur_cnet = control_type == 0 + canny_cnet = control_type == 1 + depth_cnet = control_type == 2 + + new_sd = {} + for k in comfy.utils.MMDIT_MAP_BASIC: + if k[1] in sd: + new_sd[k[0]] = sd.pop(k[1]) + for k in sd: + new_sd[k] = sd[k] + sd = new_sd + + y_emb_shape = sd["y_embedder.mlp.0.weight"].shape + depth = y_emb_shape[0] // 64 + hidden_size = 64 * depth + num_heads = depth + head_dim = hidden_size // num_heads + num_blocks = comfy.model_detection.count_blocks(new_sd, 'transformer_blocks.{}.') + + load_device = comfy.model_management.get_torch_device() + offload_device = comfy.model_management.unet_offload_device() + unet_dtype = comfy.model_management.unet_dtype(model_params=-1) + + manual_cast_dtype = comfy.model_management.unet_manual_cast(unet_dtype, load_device) + + operations = model_options.get("custom_operations", None) + if operations is None: + operations = comfy.ops.pick_operations(unet_dtype, manual_cast_dtype, disable_fast_fp8=True) + + control_model = comfy.cldm.dit_embedder.ControlNetEmbedder(img_size=None, + patch_size=2, + in_chans=16, + num_layers=num_blocks, + main_model_double=depth, + double_y_emb=y_emb_shape[0] == y_emb_shape[1], + attention_head_dim=head_dim, + num_attention_heads=num_heads, + adm_in_channels=2048, + device=offload_device, + dtype=unet_dtype, + operations=operations) + + control_model = controlnet_load_state_dict(control_model, sd) + + latent_format = comfy.latent_formats.SD3() + preprocess_image = lambda a: a + if canny_cnet: + preprocess_image = lambda a: (a * 255 * 0.5 + 0.5) + elif depth_cnet: + preprocess_image = lambda a: 1.0 - a + + control = ControlNetSD35(control_model, compression_ratio=1, latent_format=latent_format, load_device=load_device, manual_cast_dtype=manual_cast_dtype, preprocess_image=preprocess_image) + return control + + + +def load_controlnet_hunyuandit(controlnet_data, model_options={}): + model_config, operations, load_device, unet_dtype, manual_cast_dtype, offload_device = controlnet_config(controlnet_data, model_options=model_options) + + control_model = comfy.ldm.hydit.controlnet.HunYuanControlNet(operations=operations, device=offload_device, dtype=unet_dtype) + control_model = controlnet_load_state_dict(control_model, controlnet_data) + + latent_format = comfy.latent_formats.SDXL() + extra_conds = ['text_embedding_mask', 'encoder_hidden_states_t5', 'text_embedding_mask_t5', 'image_meta_size', 'style', 'cos_cis_img', 'sin_cis_img'] + control = ControlNet(control_model, compression_ratio=1, latent_format=latent_format, load_device=load_device, manual_cast_dtype=manual_cast_dtype, extra_conds=extra_conds, strength_type=StrengthType.CONSTANT) + return control + +def load_controlnet_flux_xlabs_mistoline(sd, mistoline=False, model_options={}): + model_config, operations, load_device, unet_dtype, manual_cast_dtype, offload_device = controlnet_config(sd, model_options=model_options) + control_model = comfy.ldm.flux.controlnet.ControlNetFlux(mistoline=mistoline, operations=operations, device=offload_device, dtype=unet_dtype, **model_config.unet_config) + control_model = controlnet_load_state_dict(control_model, sd) + extra_conds = ['y', 'guidance'] + control = ControlNet(control_model, load_device=load_device, manual_cast_dtype=manual_cast_dtype, extra_conds=extra_conds) + return control + +def load_controlnet_flux_instantx(sd, model_options={}): + new_sd = comfy.model_detection.convert_diffusers_mmdit(sd, "") + model_config, operations, load_device, unet_dtype, manual_cast_dtype, offload_device = controlnet_config(new_sd, model_options=model_options) + for k in sd: + new_sd[k] = sd[k] + + num_union_modes = 0 + union_cnet = "controlnet_mode_embedder.weight" + if union_cnet in new_sd: + num_union_modes = new_sd[union_cnet].shape[0] + + control_latent_channels = new_sd.get("pos_embed_input.weight").shape[1] // 4 + concat_mask = False + if control_latent_channels == 17: + concat_mask = True + + control_model = comfy.ldm.flux.controlnet.ControlNetFlux(latent_input=True, num_union_modes=num_union_modes, control_latent_channels=control_latent_channels, operations=operations, device=offload_device, dtype=unet_dtype, **model_config.unet_config) + control_model = controlnet_load_state_dict(control_model, new_sd) + + latent_format = comfy.latent_formats.Flux() + extra_conds = ['y', 'guidance'] + control = ControlNet(control_model, compression_ratio=1, latent_format=latent_format, concat_mask=concat_mask, load_device=load_device, manual_cast_dtype=manual_cast_dtype, extra_conds=extra_conds) + return control + +def convert_mistoline(sd): + return comfy.utils.state_dict_prefix_replace(sd, {"single_controlnet_blocks.": "controlnet_single_blocks."}) + + +def load_controlnet_state_dict(state_dict, model=None, model_options={}): + controlnet_data = state_dict + if 'after_proj_list.18.bias' in controlnet_data.keys(): #Hunyuan DiT + return load_controlnet_hunyuandit(controlnet_data, model_options=model_options) + + if "lora_controlnet" in controlnet_data: + return ControlLora(controlnet_data, model_options=model_options) + + controlnet_config = None + supported_inference_dtypes = None + + if "controlnet_cond_embedding.conv_in.weight" in controlnet_data: #diffusers format + controlnet_config = comfy.model_detection.unet_config_from_diffusers_unet(controlnet_data) + diffusers_keys = comfy.utils.unet_to_diffusers(controlnet_config) + diffusers_keys["controlnet_mid_block.weight"] = "middle_block_out.0.weight" + diffusers_keys["controlnet_mid_block.bias"] = "middle_block_out.0.bias" + + count = 0 + loop = True + while loop: + suffix = [".weight", ".bias"] + for s in suffix: + k_in = "controlnet_down_blocks.{}{}".format(count, s) + k_out = "zero_convs.{}.0{}".format(count, s) + if k_in not in controlnet_data: + loop = False + break + diffusers_keys[k_in] = k_out + count += 1 + + count = 0 + loop = True + while loop: + suffix = [".weight", ".bias"] + for s in suffix: + if count == 0: + k_in = "controlnet_cond_embedding.conv_in{}".format(s) + else: + k_in = "controlnet_cond_embedding.blocks.{}{}".format(count - 1, s) + k_out = "input_hint_block.{}{}".format(count * 2, s) + if k_in not in controlnet_data: + k_in = "controlnet_cond_embedding.conv_out{}".format(s) + loop = False + diffusers_keys[k_in] = k_out + count += 1 + + new_sd = {} + for k in diffusers_keys: + if k in controlnet_data: + new_sd[diffusers_keys[k]] = controlnet_data.pop(k) + + if "control_add_embedding.linear_1.bias" in controlnet_data: #Union Controlnet + controlnet_config["union_controlnet_num_control_type"] = controlnet_data["task_embedding"].shape[0] + for k in list(controlnet_data.keys()): + new_k = k.replace('.attn.in_proj_', '.attn.in_proj.') + new_sd[new_k] = controlnet_data.pop(k) + + leftover_keys = controlnet_data.keys() + if len(leftover_keys) > 0: + logging.warning("leftover keys: {}".format(leftover_keys)) + controlnet_data = new_sd + elif "controlnet_blocks.0.weight" in controlnet_data: + if "double_blocks.0.img_attn.norm.key_norm.scale" in controlnet_data: + return load_controlnet_flux_xlabs_mistoline(controlnet_data, model_options=model_options) + elif "pos_embed_input.proj.weight" in controlnet_data: + if "transformer_blocks.0.adaLN_modulation.1.bias" in controlnet_data: + return load_controlnet_sd35(controlnet_data, model_options=model_options) #Stability sd3.5 format + else: + return load_controlnet_mmdit(controlnet_data, model_options=model_options) #SD3 diffusers controlnet + elif "controlnet_x_embedder.weight" in controlnet_data: + return load_controlnet_flux_instantx(controlnet_data, model_options=model_options) + elif "controlnet_blocks.0.linear.weight" in controlnet_data: #mistoline flux + return load_controlnet_flux_xlabs_mistoline(convert_mistoline(controlnet_data), mistoline=True, model_options=model_options) + + pth_key = 'control_model.zero_convs.0.0.weight' + pth = False + key = 'zero_convs.0.0.weight' + if pth_key in controlnet_data: + pth = True + key = pth_key + prefix = "control_model." + elif key in controlnet_data: + prefix = "" + else: + net = load_t2i_adapter(controlnet_data, model_options=model_options) + if net is None: + logging.error("error could not detect control model type.") + return net + + if controlnet_config is None: + model_config = comfy.model_detection.model_config_from_unet(controlnet_data, prefix, True) + supported_inference_dtypes = list(model_config.supported_inference_dtypes) + controlnet_config = model_config.unet_config + + unet_dtype = model_options.get("dtype", None) + if unet_dtype is None: + weight_dtype = comfy.utils.weight_dtype(controlnet_data) + + if supported_inference_dtypes is None: + supported_inference_dtypes = [comfy.model_management.unet_dtype()] + + if weight_dtype is not None: + supported_inference_dtypes.append(weight_dtype) + + unet_dtype = comfy.model_management.unet_dtype(model_params=-1, supported_dtypes=supported_inference_dtypes) + + load_device = comfy.model_management.get_torch_device() + + manual_cast_dtype = comfy.model_management.unet_manual_cast(unet_dtype, load_device) + operations = model_options.get("custom_operations", None) + if operations is None: + operations = comfy.ops.pick_operations(unet_dtype, manual_cast_dtype) + + controlnet_config["operations"] = operations + controlnet_config["dtype"] = unet_dtype + controlnet_config["device"] = comfy.model_management.unet_offload_device() + controlnet_config.pop("out_channels") + controlnet_config["hint_channels"] = controlnet_data["{}input_hint_block.0.weight".format(prefix)].shape[1] + control_model = comfy.cldm.cldm.ControlNet(**controlnet_config) + + if pth: + if 'difference' in controlnet_data: + if model is not None: + comfy.model_management.load_models_gpu([model]) + model_sd = model.model_state_dict() + for x in controlnet_data: + c_m = "control_model." + if x.startswith(c_m): + sd_key = "diffusion_model.{}".format(x[len(c_m):]) + if sd_key in model_sd: + cd = controlnet_data[x] + cd += model_sd[sd_key].type(cd.dtype).to(cd.device) + else: + logging.warning("WARNING: Loaded a diff controlnet without a model. It will very likely not work.") + + class WeightsLoader(torch.nn.Module): + pass + w = WeightsLoader() + w.control_model = control_model + missing, unexpected = w.load_state_dict(controlnet_data, strict=False) + else: + missing, unexpected = control_model.load_state_dict(controlnet_data, strict=False) + + if len(missing) > 0: + logging.warning("missing controlnet keys: {}".format(missing)) + + if len(unexpected) > 0: + logging.debug("unexpected controlnet keys: {}".format(unexpected)) + + global_average_pooling = model_options.get("global_average_pooling", False) + control = ControlNet(control_model, global_average_pooling=global_average_pooling, load_device=load_device, manual_cast_dtype=manual_cast_dtype) + return control + +def load_controlnet(ckpt_path, model=None, model_options={}): + if "global_average_pooling" not in model_options: + filename = os.path.splitext(ckpt_path)[0] + if filename.endswith("_shuffle") or filename.endswith("_shuffle_fp16"): #TODO: smarter way of enabling global_average_pooling + model_options["global_average_pooling"] = True + + cnet = load_controlnet_state_dict(comfy.utils.load_torch_file(ckpt_path, safe_load=True), model=model, model_options=model_options) + if cnet is None: + logging.error("error checkpoint does not contain controlnet or t2i adapter data {}".format(ckpt_path)) + return cnet + +class T2IAdapter(ControlBase): + def __init__(self, t2i_model, channels_in, compression_ratio, upscale_algorithm, device=None): + super().__init__() + self.t2i_model = t2i_model + self.channels_in = channels_in + self.control_input = None + self.compression_ratio = compression_ratio + self.upscale_algorithm = upscale_algorithm + if device is None: + device = comfy.model_management.get_torch_device() + self.device = device + + def scale_image_to(self, width, height): + unshuffle_amount = self.t2i_model.unshuffle_amount + width = math.ceil(width / unshuffle_amount) * unshuffle_amount + height = math.ceil(height / unshuffle_amount) * unshuffle_amount + return width, height + + def get_control(self, x_noisy, t, cond, batched_number, transformer_options): + control_prev = None + if self.previous_controlnet is not None: + control_prev = self.previous_controlnet.get_control(x_noisy, t, cond, batched_number, transformer_options) + + if self.timestep_range is not None: + if t[0] > self.timestep_range[0] or t[0] < self.timestep_range[1]: + if control_prev is not None: + return control_prev + else: + return None + + if self.cond_hint is None or x_noisy.shape[2] * self.compression_ratio != self.cond_hint.shape[2] or x_noisy.shape[3] * self.compression_ratio != self.cond_hint.shape[3]: + if self.cond_hint is not None: + del self.cond_hint + self.control_input = None + self.cond_hint = None + width, height = self.scale_image_to(x_noisy.shape[3] * self.compression_ratio, x_noisy.shape[2] * self.compression_ratio) + self.cond_hint = comfy.utils.common_upscale(self.cond_hint_original, width, height, self.upscale_algorithm, "center").float().to(self.device) + if self.channels_in == 1 and self.cond_hint.shape[1] > 1: + self.cond_hint = torch.mean(self.cond_hint, 1, keepdim=True) + if x_noisy.shape[0] != self.cond_hint.shape[0]: + self.cond_hint = broadcast_image_to(self.cond_hint, x_noisy.shape[0], batched_number) + if self.control_input is None: + self.t2i_model.to(x_noisy.dtype) + self.t2i_model.to(self.device) + self.control_input = self.t2i_model(self.cond_hint.to(x_noisy.dtype)) + self.t2i_model.cpu() + + control_input = {} + for k in self.control_input: + control_input[k] = list(map(lambda a: None if a is None else a.clone(), self.control_input[k])) + + return self.control_merge(control_input, control_prev, x_noisy.dtype) + + def copy(self): + c = T2IAdapter(self.t2i_model, self.channels_in, self.compression_ratio, self.upscale_algorithm) + self.copy_to(c) + return c + +def load_t2i_adapter(t2i_data, model_options={}): #TODO: model_options + compression_ratio = 8 + upscale_algorithm = 'nearest-exact' + + if 'adapter' in t2i_data: + t2i_data = t2i_data['adapter'] + if 'adapter.body.0.resnets.0.block1.weight' in t2i_data: #diffusers format + prefix_replace = {} + for i in range(4): + for j in range(2): + prefix_replace["adapter.body.{}.resnets.{}.".format(i, j)] = "body.{}.".format(i * 2 + j) + prefix_replace["adapter.body.{}.".format(i, )] = "body.{}.".format(i * 2) + prefix_replace["adapter."] = "" + t2i_data = comfy.utils.state_dict_prefix_replace(t2i_data, prefix_replace) + keys = t2i_data.keys() + + if "body.0.in_conv.weight" in keys: + cin = t2i_data['body.0.in_conv.weight'].shape[1] + model_ad = comfy.t2i_adapter.adapter.Adapter_light(cin=cin, channels=[320, 640, 1280, 1280], nums_rb=4) + elif 'conv_in.weight' in keys: + cin = t2i_data['conv_in.weight'].shape[1] + channel = t2i_data['conv_in.weight'].shape[0] + ksize = t2i_data['body.0.block2.weight'].shape[2] + use_conv = False + down_opts = list(filter(lambda a: a.endswith("down_opt.op.weight"), keys)) + if len(down_opts) > 0: + use_conv = True + xl = False + if cin == 256 or cin == 768: + xl = True + model_ad = comfy.t2i_adapter.adapter.Adapter(cin=cin, channels=[channel, channel*2, channel*4, channel*4][:4], nums_rb=2, ksize=ksize, sk=True, use_conv=use_conv, xl=xl) + elif "backbone.0.0.weight" in keys: + model_ad = comfy.ldm.cascade.controlnet.ControlNet(c_in=t2i_data['backbone.0.0.weight'].shape[1], proj_blocks=[0, 4, 8, 12, 51, 55, 59, 63]) + compression_ratio = 32 + upscale_algorithm = 'bilinear' + elif "backbone.10.blocks.0.weight" in keys: + model_ad = comfy.ldm.cascade.controlnet.ControlNet(c_in=t2i_data['backbone.0.weight'].shape[1], bottleneck_mode="large", proj_blocks=[0, 4, 8, 12, 51, 55, 59, 63]) + compression_ratio = 1 + upscale_algorithm = 'nearest-exact' + else: + return None + + missing, unexpected = model_ad.load_state_dict(t2i_data) + if len(missing) > 0: + logging.warning("t2i missing {}".format(missing)) + + if len(unexpected) > 0: + logging.debug("t2i unexpected {}".format(unexpected)) + + return T2IAdapter(model_ad, model_ad.input_channels, compression_ratio, upscale_algorithm) diff --git a/comfy/diffusers_convert.py b/comfy/diffusers_convert.py new file mode 100644 index 0000000000000000000000000000000000000000..26e8d96d52a556d024e39996b8cfea83a73c2ecc --- /dev/null +++ b/comfy/diffusers_convert.py @@ -0,0 +1,288 @@ +import re +import torch +import logging + +# conversion code from https://github.com/huggingface/diffusers/blob/main/scripts/convert_diffusers_to_original_stable_diffusion.py + +# =================# +# UNet Conversion # +# =================# + +unet_conversion_map = [ + # (stable-diffusion, HF Diffusers) + ("time_embed.0.weight", "time_embedding.linear_1.weight"), + ("time_embed.0.bias", "time_embedding.linear_1.bias"), + ("time_embed.2.weight", "time_embedding.linear_2.weight"), + ("time_embed.2.bias", "time_embedding.linear_2.bias"), + ("input_blocks.0.0.weight", "conv_in.weight"), + ("input_blocks.0.0.bias", "conv_in.bias"), + ("out.0.weight", "conv_norm_out.weight"), + ("out.0.bias", "conv_norm_out.bias"), + ("out.2.weight", "conv_out.weight"), + ("out.2.bias", "conv_out.bias"), +] + +unet_conversion_map_resnet = [ + # (stable-diffusion, HF Diffusers) + ("in_layers.0", "norm1"), + ("in_layers.2", "conv1"), + ("out_layers.0", "norm2"), + ("out_layers.3", "conv2"), + ("emb_layers.1", "time_emb_proj"), + ("skip_connection", "conv_shortcut"), +] + +unet_conversion_map_layer = [] +# hardcoded number of downblocks and resnets/attentions... +# would need smarter logic for other networks. +for i in range(4): + # loop over downblocks/upblocks + + for j in range(2): + # loop over resnets/attentions for downblocks + hf_down_res_prefix = f"down_blocks.{i}.resnets.{j}." + sd_down_res_prefix = f"input_blocks.{3 * i + j + 1}.0." + unet_conversion_map_layer.append((sd_down_res_prefix, hf_down_res_prefix)) + + if i < 3: + # no attention layers in down_blocks.3 + hf_down_atn_prefix = f"down_blocks.{i}.attentions.{j}." + sd_down_atn_prefix = f"input_blocks.{3 * i + j + 1}.1." + unet_conversion_map_layer.append((sd_down_atn_prefix, hf_down_atn_prefix)) + + for j in range(3): + # loop over resnets/attentions for upblocks + hf_up_res_prefix = f"up_blocks.{i}.resnets.{j}." + sd_up_res_prefix = f"output_blocks.{3 * i + j}.0." + unet_conversion_map_layer.append((sd_up_res_prefix, hf_up_res_prefix)) + + if i > 0: + # no attention layers in up_blocks.0 + hf_up_atn_prefix = f"up_blocks.{i}.attentions.{j}." + sd_up_atn_prefix = f"output_blocks.{3 * i + j}.1." + unet_conversion_map_layer.append((sd_up_atn_prefix, hf_up_atn_prefix)) + + if i < 3: + # no downsample in down_blocks.3 + hf_downsample_prefix = f"down_blocks.{i}.downsamplers.0.conv." + sd_downsample_prefix = f"input_blocks.{3 * (i + 1)}.0.op." + unet_conversion_map_layer.append((sd_downsample_prefix, hf_downsample_prefix)) + + # no upsample in up_blocks.3 + hf_upsample_prefix = f"up_blocks.{i}.upsamplers.0." + sd_upsample_prefix = f"output_blocks.{3 * i + 2}.{1 if i == 0 else 2}." + unet_conversion_map_layer.append((sd_upsample_prefix, hf_upsample_prefix)) + +hf_mid_atn_prefix = "mid_block.attentions.0." +sd_mid_atn_prefix = "middle_block.1." +unet_conversion_map_layer.append((sd_mid_atn_prefix, hf_mid_atn_prefix)) + +for j in range(2): + hf_mid_res_prefix = f"mid_block.resnets.{j}." + sd_mid_res_prefix = f"middle_block.{2 * j}." + unet_conversion_map_layer.append((sd_mid_res_prefix, hf_mid_res_prefix)) + + +def convert_unet_state_dict(unet_state_dict): + # buyer beware: this is a *brittle* function, + # and correct output requires that all of these pieces interact in + # the exact order in which I have arranged them. + mapping = {k: k for k in unet_state_dict.keys()} + for sd_name, hf_name in unet_conversion_map: + mapping[hf_name] = sd_name + for k, v in mapping.items(): + if "resnets" in k: + for sd_part, hf_part in unet_conversion_map_resnet: + v = v.replace(hf_part, sd_part) + mapping[k] = v + for k, v in mapping.items(): + for sd_part, hf_part in unet_conversion_map_layer: + v = v.replace(hf_part, sd_part) + mapping[k] = v + new_state_dict = {v: unet_state_dict[k] for k, v in mapping.items()} + return new_state_dict + + +# ================# +# VAE Conversion # +# ================# + +vae_conversion_map = [ + # (stable-diffusion, HF Diffusers) + ("nin_shortcut", "conv_shortcut"), + ("norm_out", "conv_norm_out"), + ("mid.attn_1.", "mid_block.attentions.0."), +] + +for i in range(4): + # down_blocks have two resnets + for j in range(2): + hf_down_prefix = f"encoder.down_blocks.{i}.resnets.{j}." + sd_down_prefix = f"encoder.down.{i}.block.{j}." + vae_conversion_map.append((sd_down_prefix, hf_down_prefix)) + + if i < 3: + hf_downsample_prefix = f"down_blocks.{i}.downsamplers.0." + sd_downsample_prefix = f"down.{i}.downsample." + vae_conversion_map.append((sd_downsample_prefix, hf_downsample_prefix)) + + hf_upsample_prefix = f"up_blocks.{i}.upsamplers.0." + sd_upsample_prefix = f"up.{3 - i}.upsample." + vae_conversion_map.append((sd_upsample_prefix, hf_upsample_prefix)) + + # up_blocks have three resnets + # also, up blocks in hf are numbered in reverse from sd + for j in range(3): + hf_up_prefix = f"decoder.up_blocks.{i}.resnets.{j}." + sd_up_prefix = f"decoder.up.{3 - i}.block.{j}." + vae_conversion_map.append((sd_up_prefix, hf_up_prefix)) + +# this part accounts for mid blocks in both the encoder and the decoder +for i in range(2): + hf_mid_res_prefix = f"mid_block.resnets.{i}." + sd_mid_res_prefix = f"mid.block_{i + 1}." + vae_conversion_map.append((sd_mid_res_prefix, hf_mid_res_prefix)) + +vae_conversion_map_attn = [ + # (stable-diffusion, HF Diffusers) + ("norm.", "group_norm."), + ("q.", "query."), + ("k.", "key."), + ("v.", "value."), + ("q.", "to_q."), + ("k.", "to_k."), + ("v.", "to_v."), + ("proj_out.", "to_out.0."), + ("proj_out.", "proj_attn."), +] + + +def reshape_weight_for_sd(w, conv3d=False): + # convert HF linear weights to SD conv2d weights + if conv3d: + return w.reshape(*w.shape, 1, 1, 1) + else: + return w.reshape(*w.shape, 1, 1) + + +def convert_vae_state_dict(vae_state_dict): + mapping = {k: k for k in vae_state_dict.keys()} + conv3d = False + for k, v in mapping.items(): + for sd_part, hf_part in vae_conversion_map: + v = v.replace(hf_part, sd_part) + if v.endswith(".conv.weight"): + if not conv3d and vae_state_dict[k].ndim == 5: + conv3d = True + mapping[k] = v + for k, v in mapping.items(): + if "attentions" in k: + for sd_part, hf_part in vae_conversion_map_attn: + v = v.replace(hf_part, sd_part) + mapping[k] = v + new_state_dict = {v: vae_state_dict[k] for k, v in mapping.items()} + weights_to_convert = ["q", "k", "v", "proj_out"] + for k, v in new_state_dict.items(): + for weight_name in weights_to_convert: + if f"mid.attn_1.{weight_name}.weight" in k: + logging.debug(f"Reshaping {k} for SD format") + new_state_dict[k] = reshape_weight_for_sd(v, conv3d=conv3d) + return new_state_dict + + +# =========================# +# Text Encoder Conversion # +# =========================# + + +textenc_conversion_lst = [ + # (stable-diffusion, HF Diffusers) + ("resblocks.", "text_model.encoder.layers."), + ("ln_1", "layer_norm1"), + ("ln_2", "layer_norm2"), + (".c_fc.", ".fc1."), + (".c_proj.", ".fc2."), + (".attn", ".self_attn"), + ("ln_final.", "transformer.text_model.final_layer_norm."), + ("token_embedding.weight", "transformer.text_model.embeddings.token_embedding.weight"), + ("positional_embedding", "transformer.text_model.embeddings.position_embedding.weight"), +] +protected = {re.escape(x[1]): x[0] for x in textenc_conversion_lst} +textenc_pattern = re.compile("|".join(protected.keys())) + +# Ordering is from https://github.com/pytorch/pytorch/blob/master/test/cpp/api/modules.cpp +code2idx = {"q": 0, "k": 1, "v": 2} + +# This function exists because at the time of writing torch.cat can't do fp8 with cuda +def cat_tensors(tensors): + x = 0 + for t in tensors: + x += t.shape[0] + + shape = [x] + list(tensors[0].shape)[1:] + out = torch.empty(shape, device=tensors[0].device, dtype=tensors[0].dtype) + + x = 0 + for t in tensors: + out[x:x + t.shape[0]] = t + x += t.shape[0] + + return out + +def convert_text_enc_state_dict_v20(text_enc_dict, prefix=""): + new_state_dict = {} + capture_qkv_weight = {} + capture_qkv_bias = {} + for k, v in text_enc_dict.items(): + if not k.startswith(prefix): + continue + if ( + k.endswith(".self_attn.q_proj.weight") + or k.endswith(".self_attn.k_proj.weight") + or k.endswith(".self_attn.v_proj.weight") + ): + k_pre = k[: -len(".q_proj.weight")] + k_code = k[-len("q_proj.weight")] + if k_pre not in capture_qkv_weight: + capture_qkv_weight[k_pre] = [None, None, None] + capture_qkv_weight[k_pre][code2idx[k_code]] = v + continue + + if ( + k.endswith(".self_attn.q_proj.bias") + or k.endswith(".self_attn.k_proj.bias") + or k.endswith(".self_attn.v_proj.bias") + ): + k_pre = k[: -len(".q_proj.bias")] + k_code = k[-len("q_proj.bias")] + if k_pre not in capture_qkv_bias: + capture_qkv_bias[k_pre] = [None, None, None] + capture_qkv_bias[k_pre][code2idx[k_code]] = v + continue + + text_proj = "transformer.text_projection.weight" + if k.endswith(text_proj): + new_state_dict[k.replace(text_proj, "text_projection")] = v.transpose(0, 1).contiguous() + else: + relabelled_key = textenc_pattern.sub(lambda m: protected[re.escape(m.group(0))], k) + new_state_dict[relabelled_key] = v + + for k_pre, tensors in capture_qkv_weight.items(): + if None in tensors: + raise Exception("CORRUPTED MODEL: one of the q-k-v values for the text encoder was missing") + relabelled_key = textenc_pattern.sub(lambda m: protected[re.escape(m.group(0))], k_pre) + new_state_dict[relabelled_key + ".in_proj_weight"] = cat_tensors(tensors) + + for k_pre, tensors in capture_qkv_bias.items(): + if None in tensors: + raise Exception("CORRUPTED MODEL: one of the q-k-v values for the text encoder was missing") + relabelled_key = textenc_pattern.sub(lambda m: protected[re.escape(m.group(0))], k_pre) + new_state_dict[relabelled_key + ".in_proj_bias"] = cat_tensors(tensors) + + return new_state_dict + + +def convert_text_enc_state_dict(text_enc_dict): + return text_enc_dict + + diff --git a/comfy/diffusers_load.py b/comfy/diffusers_load.py new file mode 100644 index 0000000000000000000000000000000000000000..56e63a7565f083eb4e3bc484a3a9f90103306a2f --- /dev/null +++ b/comfy/diffusers_load.py @@ -0,0 +1,36 @@ +import os + +import comfy.sd + +def first_file(path, filenames): + for f in filenames: + p = os.path.join(path, f) + if os.path.exists(p): + return p + return None + +def load_diffusers(model_path, output_vae=True, output_clip=True, embedding_directory=None): + diffusion_model_names = ["diffusion_pytorch_model.fp16.safetensors", "diffusion_pytorch_model.safetensors", "diffusion_pytorch_model.fp16.bin", "diffusion_pytorch_model.bin"] + unet_path = first_file(os.path.join(model_path, "unet"), diffusion_model_names) + vae_path = first_file(os.path.join(model_path, "vae"), diffusion_model_names) + + text_encoder_model_names = ["model.fp16.safetensors", "model.safetensors", "pytorch_model.fp16.bin", "pytorch_model.bin"] + text_encoder1_path = first_file(os.path.join(model_path, "text_encoder"), text_encoder_model_names) + text_encoder2_path = first_file(os.path.join(model_path, "text_encoder_2"), text_encoder_model_names) + + text_encoder_paths = [text_encoder1_path] + if text_encoder2_path is not None: + text_encoder_paths.append(text_encoder2_path) + + unet = comfy.sd.load_diffusion_model(unet_path) + + clip = None + if output_clip: + clip = comfy.sd.load_clip(text_encoder_paths, embedding_directory=embedding_directory) + + vae = None + if output_vae: + sd = comfy.utils.load_torch_file(vae_path) + vae = comfy.sd.VAE(sd=sd) + + return (unet, clip, vae) diff --git a/comfy/extra_samplers/uni_pc.py b/comfy/extra_samplers/uni_pc.py new file mode 100644 index 0000000000000000000000000000000000000000..5b80a8affe95b5c0bb07617cfeedc30eaf062116 --- /dev/null +++ b/comfy/extra_samplers/uni_pc.py @@ -0,0 +1,873 @@ +#code taken from: https://github.com/wl-zhao/UniPC and modified + +import torch +import math +import logging + +from tqdm.auto import trange + + +class NoiseScheduleVP: + def __init__( + self, + schedule='discrete', + betas=None, + alphas_cumprod=None, + continuous_beta_0=0.1, + continuous_beta_1=20., + ): + r"""Create a wrapper class for the forward SDE (VP type). + + *** + Update: We support discrete-time diffusion models by implementing a picewise linear interpolation for log_alpha_t. + We recommend to use schedule='discrete' for the discrete-time diffusion models, especially for high-resolution images. + *** + + The forward SDE ensures that the condition distribution q_{t|0}(x_t | x_0) = N ( alpha_t * x_0, sigma_t^2 * I ). + We further define lambda_t = log(alpha_t) - log(sigma_t), which is the half-logSNR (described in the DPM-Solver paper). + Therefore, we implement the functions for computing alpha_t, sigma_t and lambda_t. For t in [0, T], we have: + + log_alpha_t = self.marginal_log_mean_coeff(t) + sigma_t = self.marginal_std(t) + lambda_t = self.marginal_lambda(t) + + Moreover, as lambda(t) is an invertible function, we also support its inverse function: + + t = self.inverse_lambda(lambda_t) + + =============================================================== + + We support both discrete-time DPMs (trained on n = 0, 1, ..., N-1) and continuous-time DPMs (trained on t in [t_0, T]). + + 1. For discrete-time DPMs: + + For discrete-time DPMs trained on n = 0, 1, ..., N-1, we convert the discrete steps to continuous time steps by: + t_i = (i + 1) / N + e.g. for N = 1000, we have t_0 = 1e-3 and T = t_{N-1} = 1. + We solve the corresponding diffusion ODE from time T = 1 to time t_0 = 1e-3. + + Args: + betas: A `torch.Tensor`. The beta array for the discrete-time DPM. (See the original DDPM paper for details) + alphas_cumprod: A `torch.Tensor`. The cumprod alphas for the discrete-time DPM. (See the original DDPM paper for details) + + Note that we always have alphas_cumprod = cumprod(betas). Therefore, we only need to set one of `betas` and `alphas_cumprod`. + + **Important**: Please pay special attention for the args for `alphas_cumprod`: + The `alphas_cumprod` is the \hat{alpha_n} arrays in the notations of DDPM. Specifically, DDPMs assume that + q_{t_n | 0}(x_{t_n} | x_0) = N ( \sqrt{\hat{alpha_n}} * x_0, (1 - \hat{alpha_n}) * I ). + Therefore, the notation \hat{alpha_n} is different from the notation alpha_t in DPM-Solver. In fact, we have + alpha_{t_n} = \sqrt{\hat{alpha_n}}, + and + log(alpha_{t_n}) = 0.5 * log(\hat{alpha_n}). + + + 2. For continuous-time DPMs: + + We support two types of VPSDEs: linear (DDPM) and cosine (improved-DDPM). The hyperparameters for the noise + schedule are the default settings in DDPM and improved-DDPM: + + Args: + beta_min: A `float` number. The smallest beta for the linear schedule. + beta_max: A `float` number. The largest beta for the linear schedule. + cosine_s: A `float` number. The hyperparameter in the cosine schedule. + cosine_beta_max: A `float` number. The hyperparameter in the cosine schedule. + T: A `float` number. The ending time of the forward process. + + =============================================================== + + Args: + schedule: A `str`. The noise schedule of the forward SDE. 'discrete' for discrete-time DPMs, + 'linear' or 'cosine' for continuous-time DPMs. + Returns: + A wrapper object of the forward SDE (VP type). + + =============================================================== + + Example: + + # For discrete-time DPMs, given betas (the beta array for n = 0, 1, ..., N - 1): + >>> ns = NoiseScheduleVP('discrete', betas=betas) + + # For discrete-time DPMs, given alphas_cumprod (the \hat{alpha_n} array for n = 0, 1, ..., N - 1): + >>> ns = NoiseScheduleVP('discrete', alphas_cumprod=alphas_cumprod) + + # For continuous-time DPMs (VPSDE), linear schedule: + >>> ns = NoiseScheduleVP('linear', continuous_beta_0=0.1, continuous_beta_1=20.) + + """ + + if schedule not in ['discrete', 'linear', 'cosine']: + raise ValueError("Unsupported noise schedule {}. The schedule needs to be 'discrete' or 'linear' or 'cosine'".format(schedule)) + + self.schedule = schedule + if schedule == 'discrete': + if betas is not None: + log_alphas = 0.5 * torch.log(1 - betas).cumsum(dim=0) + else: + assert alphas_cumprod is not None + log_alphas = 0.5 * torch.log(alphas_cumprod) + self.total_N = len(log_alphas) + self.T = 1. + self.t_array = torch.linspace(0., 1., self.total_N + 1)[1:].reshape((1, -1)) + self.log_alpha_array = log_alphas.reshape((1, -1,)) + else: + self.total_N = 1000 + self.beta_0 = continuous_beta_0 + self.beta_1 = continuous_beta_1 + self.cosine_s = 0.008 + self.cosine_beta_max = 999. + self.cosine_t_max = math.atan(self.cosine_beta_max * (1. + self.cosine_s) / math.pi) * 2. * (1. + self.cosine_s) / math.pi - self.cosine_s + self.cosine_log_alpha_0 = math.log(math.cos(self.cosine_s / (1. + self.cosine_s) * math.pi / 2.)) + self.schedule = schedule + if schedule == 'cosine': + # For the cosine schedule, T = 1 will have numerical issues. So we manually set the ending time T. + # Note that T = 0.9946 may be not the optimal setting. However, we find it works well. + self.T = 0.9946 + else: + self.T = 1. + + def marginal_log_mean_coeff(self, t): + """ + Compute log(alpha_t) of a given continuous-time label t in [0, T]. + """ + if self.schedule == 'discrete': + return interpolate_fn(t.reshape((-1, 1)), self.t_array.to(t.device), self.log_alpha_array.to(t.device)).reshape((-1)) + elif self.schedule == 'linear': + return -0.25 * t ** 2 * (self.beta_1 - self.beta_0) - 0.5 * t * self.beta_0 + elif self.schedule == 'cosine': + log_alpha_fn = lambda s: torch.log(torch.cos((s + self.cosine_s) / (1. + self.cosine_s) * math.pi / 2.)) + log_alpha_t = log_alpha_fn(t) - self.cosine_log_alpha_0 + return log_alpha_t + + def marginal_alpha(self, t): + """ + Compute alpha_t of a given continuous-time label t in [0, T]. + """ + return torch.exp(self.marginal_log_mean_coeff(t)) + + def marginal_std(self, t): + """ + Compute sigma_t of a given continuous-time label t in [0, T]. + """ + return torch.sqrt(1. - torch.exp(2. * self.marginal_log_mean_coeff(t))) + + def marginal_lambda(self, t): + """ + Compute lambda_t = log(alpha_t) - log(sigma_t) of a given continuous-time label t in [0, T]. + """ + log_mean_coeff = self.marginal_log_mean_coeff(t) + log_std = 0.5 * torch.log(1. - torch.exp(2. * log_mean_coeff)) + return log_mean_coeff - log_std + + def inverse_lambda(self, lamb): + """ + Compute the continuous-time label t in [0, T] of a given half-logSNR lambda_t. + """ + if self.schedule == 'linear': + tmp = 2. * (self.beta_1 - self.beta_0) * torch.logaddexp(-2. * lamb, torch.zeros((1,)).to(lamb)) + Delta = self.beta_0**2 + tmp + return tmp / (torch.sqrt(Delta) + self.beta_0) / (self.beta_1 - self.beta_0) + elif self.schedule == 'discrete': + log_alpha = -0.5 * torch.logaddexp(torch.zeros((1,)).to(lamb.device), -2. * lamb) + t = interpolate_fn(log_alpha.reshape((-1, 1)), torch.flip(self.log_alpha_array.to(lamb.device), [1]), torch.flip(self.t_array.to(lamb.device), [1])) + return t.reshape((-1,)) + else: + log_alpha = -0.5 * torch.logaddexp(-2. * lamb, torch.zeros((1,)).to(lamb)) + t_fn = lambda log_alpha_t: torch.arccos(torch.exp(log_alpha_t + self.cosine_log_alpha_0)) * 2. * (1. + self.cosine_s) / math.pi - self.cosine_s + t = t_fn(log_alpha) + return t + + +def model_wrapper( + model, + noise_schedule, + model_type="noise", + model_kwargs={}, + guidance_type="uncond", + condition=None, + unconditional_condition=None, + guidance_scale=1., + classifier_fn=None, + classifier_kwargs={}, +): + """Create a wrapper function for the noise prediction model. + + DPM-Solver needs to solve the continuous-time diffusion ODEs. For DPMs trained on discrete-time labels, we need to + firstly wrap the model function to a noise prediction model that accepts the continuous time as the input. + + We support four types of the diffusion model by setting `model_type`: + + 1. "noise": noise prediction model. (Trained by predicting noise). + + 2. "x_start": data prediction model. (Trained by predicting the data x_0 at time 0). + + 3. "v": velocity prediction model. (Trained by predicting the velocity). + The "v" prediction is derivation detailed in Appendix D of [1], and is used in Imagen-Video [2]. + + [1] Salimans, Tim, and Jonathan Ho. "Progressive distillation for fast sampling of diffusion models." + arXiv preprint arXiv:2202.00512 (2022). + [2] Ho, Jonathan, et al. "Imagen Video: High Definition Video Generation with Diffusion Models." + arXiv preprint arXiv:2210.02303 (2022). + + 4. "score": marginal score function. (Trained by denoising score matching). + Note that the score function and the noise prediction model follows a simple relationship: + ``` + noise(x_t, t) = -sigma_t * score(x_t, t) + ``` + + We support three types of guided sampling by DPMs by setting `guidance_type`: + 1. "uncond": unconditional sampling by DPMs. + The input `model` has the following format: + `` + model(x, t_input, **model_kwargs) -> noise | x_start | v | score + `` + + 2. "classifier": classifier guidance sampling [3] by DPMs and another classifier. + The input `model` has the following format: + `` + model(x, t_input, **model_kwargs) -> noise | x_start | v | score + `` + + The input `classifier_fn` has the following format: + `` + classifier_fn(x, t_input, cond, **classifier_kwargs) -> logits(x, t_input, cond) + `` + + [3] P. Dhariwal and A. Q. Nichol, "Diffusion models beat GANs on image synthesis," + in Advances in Neural Information Processing Systems, vol. 34, 2021, pp. 8780-8794. + + 3. "classifier-free": classifier-free guidance sampling by conditional DPMs. + The input `model` has the following format: + `` + model(x, t_input, cond, **model_kwargs) -> noise | x_start | v | score + `` + And if cond == `unconditional_condition`, the model output is the unconditional DPM output. + + [4] Ho, Jonathan, and Tim Salimans. "Classifier-free diffusion guidance." + arXiv preprint arXiv:2207.12598 (2022). + + + The `t_input` is the time label of the model, which may be discrete-time labels (i.e. 0 to 999) + or continuous-time labels (i.e. epsilon to T). + + We wrap the model function to accept only `x` and `t_continuous` as inputs, and outputs the predicted noise: + `` + def model_fn(x, t_continuous) -> noise: + t_input = get_model_input_time(t_continuous) + return noise_pred(model, x, t_input, **model_kwargs) + `` + where `t_continuous` is the continuous time labels (i.e. epsilon to T). And we use `model_fn` for DPM-Solver. + + =============================================================== + + Args: + model: A diffusion model with the corresponding format described above. + noise_schedule: A noise schedule object, such as NoiseScheduleVP. + model_type: A `str`. The parameterization type of the diffusion model. + "noise" or "x_start" or "v" or "score". + model_kwargs: A `dict`. A dict for the other inputs of the model function. + guidance_type: A `str`. The type of the guidance for sampling. + "uncond" or "classifier" or "classifier-free". + condition: A pytorch tensor. The condition for the guided sampling. + Only used for "classifier" or "classifier-free" guidance type. + unconditional_condition: A pytorch tensor. The condition for the unconditional sampling. + Only used for "classifier-free" guidance type. + guidance_scale: A `float`. The scale for the guided sampling. + classifier_fn: A classifier function. Only used for the classifier guidance. + classifier_kwargs: A `dict`. A dict for the other inputs of the classifier function. + Returns: + A noise prediction model that accepts the noised data and the continuous time as the inputs. + """ + + def get_model_input_time(t_continuous): + """ + Convert the continuous-time `t_continuous` (in [epsilon, T]) to the model input time. + For discrete-time DPMs, we convert `t_continuous` in [1 / N, 1] to `t_input` in [0, 1000 * (N - 1) / N]. + For continuous-time DPMs, we just use `t_continuous`. + """ + if noise_schedule.schedule == 'discrete': + return (t_continuous - 1. / noise_schedule.total_N) * 1000. + else: + return t_continuous + + def noise_pred_fn(x, t_continuous, cond=None): + if t_continuous.reshape((-1,)).shape[0] == 1: + t_continuous = t_continuous.expand((x.shape[0])) + t_input = get_model_input_time(t_continuous) + output = model(x, t_input, **model_kwargs) + if model_type == "noise": + return output + elif model_type == "x_start": + alpha_t, sigma_t = noise_schedule.marginal_alpha(t_continuous), noise_schedule.marginal_std(t_continuous) + dims = x.dim() + return (x - expand_dims(alpha_t, dims) * output) / expand_dims(sigma_t, dims) + elif model_type == "v": + alpha_t, sigma_t = noise_schedule.marginal_alpha(t_continuous), noise_schedule.marginal_std(t_continuous) + dims = x.dim() + return expand_dims(alpha_t, dims) * output + expand_dims(sigma_t, dims) * x + elif model_type == "score": + sigma_t = noise_schedule.marginal_std(t_continuous) + dims = x.dim() + return -expand_dims(sigma_t, dims) * output + + def cond_grad_fn(x, t_input): + """ + Compute the gradient of the classifier, i.e. nabla_{x} log p_t(cond | x_t). + """ + with torch.enable_grad(): + x_in = x.detach().requires_grad_(True) + log_prob = classifier_fn(x_in, t_input, condition, **classifier_kwargs) + return torch.autograd.grad(log_prob.sum(), x_in)[0] + + def model_fn(x, t_continuous): + """ + The noise predicition model function that is used for DPM-Solver. + """ + if t_continuous.reshape((-1,)).shape[0] == 1: + t_continuous = t_continuous.expand((x.shape[0])) + if guidance_type == "uncond": + return noise_pred_fn(x, t_continuous) + elif guidance_type == "classifier": + assert classifier_fn is not None + t_input = get_model_input_time(t_continuous) + cond_grad = cond_grad_fn(x, t_input) + sigma_t = noise_schedule.marginal_std(t_continuous) + noise = noise_pred_fn(x, t_continuous) + return noise - guidance_scale * expand_dims(sigma_t, dims=cond_grad.dim()) * cond_grad + elif guidance_type == "classifier-free": + if guidance_scale == 1. or unconditional_condition is None: + return noise_pred_fn(x, t_continuous, cond=condition) + else: + x_in = torch.cat([x] * 2) + t_in = torch.cat([t_continuous] * 2) + c_in = torch.cat([unconditional_condition, condition]) + noise_uncond, noise = noise_pred_fn(x_in, t_in, cond=c_in).chunk(2) + return noise_uncond + guidance_scale * (noise - noise_uncond) + + assert model_type in ["noise", "x_start", "v"] + assert guidance_type in ["uncond", "classifier", "classifier-free"] + return model_fn + + +class UniPC: + def __init__( + self, + model_fn, + noise_schedule, + predict_x0=True, + thresholding=False, + max_val=1., + variant='bh1', + ): + """Construct a UniPC. + + We support both data_prediction and noise_prediction. + """ + self.model = model_fn + self.noise_schedule = noise_schedule + self.variant = variant + self.predict_x0 = predict_x0 + self.thresholding = thresholding + self.max_val = max_val + + def dynamic_thresholding_fn(self, x0, t=None): + """ + The dynamic thresholding method. + """ + dims = x0.dim() + p = self.dynamic_thresholding_ratio + s = torch.quantile(torch.abs(x0).reshape((x0.shape[0], -1)), p, dim=1) + s = expand_dims(torch.maximum(s, self.thresholding_max_val * torch.ones_like(s).to(s.device)), dims) + x0 = torch.clamp(x0, -s, s) / s + return x0 + + def noise_prediction_fn(self, x, t): + """ + Return the noise prediction model. + """ + return self.model(x, t) + + def data_prediction_fn(self, x, t): + """ + Return the data prediction model (with thresholding). + """ + noise = self.noise_prediction_fn(x, t) + dims = x.dim() + alpha_t, sigma_t = self.noise_schedule.marginal_alpha(t), self.noise_schedule.marginal_std(t) + x0 = (x - expand_dims(sigma_t, dims) * noise) / expand_dims(alpha_t, dims) + if self.thresholding: + p = 0.995 # A hyperparameter in the paper of "Imagen" [1]. + s = torch.quantile(torch.abs(x0).reshape((x0.shape[0], -1)), p, dim=1) + s = expand_dims(torch.maximum(s, self.max_val * torch.ones_like(s).to(s.device)), dims) + x0 = torch.clamp(x0, -s, s) / s + return x0 + + def model_fn(self, x, t): + """ + Convert the model to the noise prediction model or the data prediction model. + """ + if self.predict_x0: + return self.data_prediction_fn(x, t) + else: + return self.noise_prediction_fn(x, t) + + def get_time_steps(self, skip_type, t_T, t_0, N, device): + """Compute the intermediate time steps for sampling. + """ + if skip_type == 'logSNR': + lambda_T = self.noise_schedule.marginal_lambda(torch.tensor(t_T).to(device)) + lambda_0 = self.noise_schedule.marginal_lambda(torch.tensor(t_0).to(device)) + logSNR_steps = torch.linspace(lambda_T.cpu().item(), lambda_0.cpu().item(), N + 1).to(device) + return self.noise_schedule.inverse_lambda(logSNR_steps) + elif skip_type == 'time_uniform': + return torch.linspace(t_T, t_0, N + 1).to(device) + elif skip_type == 'time_quadratic': + t_order = 2 + t = torch.linspace(t_T**(1. / t_order), t_0**(1. / t_order), N + 1).pow(t_order).to(device) + return t + else: + raise ValueError("Unsupported skip_type {}, need to be 'logSNR' or 'time_uniform' or 'time_quadratic'".format(skip_type)) + + def get_orders_and_timesteps_for_singlestep_solver(self, steps, order, skip_type, t_T, t_0, device): + """ + Get the order of each step for sampling by the singlestep DPM-Solver. + """ + if order == 3: + K = steps // 3 + 1 + if steps % 3 == 0: + orders = [3,] * (K - 2) + [2, 1] + elif steps % 3 == 1: + orders = [3,] * (K - 1) + [1] + else: + orders = [3,] * (K - 1) + [2] + elif order == 2: + if steps % 2 == 0: + K = steps // 2 + orders = [2,] * K + else: + K = steps // 2 + 1 + orders = [2,] * (K - 1) + [1] + elif order == 1: + K = steps + orders = [1,] * steps + else: + raise ValueError("'order' must be '1' or '2' or '3'.") + if skip_type == 'logSNR': + # To reproduce the results in DPM-Solver paper + timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, K, device) + else: + timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, steps, device)[torch.cumsum(torch.tensor([0,] + orders), 0).to(device)] + return timesteps_outer, orders + + def denoise_to_zero_fn(self, x, s): + """ + Denoise at the final step, which is equivalent to solve the ODE from lambda_s to infty by first-order discretization. + """ + return self.data_prediction_fn(x, s) + + def multistep_uni_pc_update(self, x, model_prev_list, t_prev_list, t, order, **kwargs): + if len(t.shape) == 0: + t = t.view(-1) + if 'bh' in self.variant: + return self.multistep_uni_pc_bh_update(x, model_prev_list, t_prev_list, t, order, **kwargs) + else: + assert self.variant == 'vary_coeff' + return self.multistep_uni_pc_vary_update(x, model_prev_list, t_prev_list, t, order, **kwargs) + + def multistep_uni_pc_vary_update(self, x, model_prev_list, t_prev_list, t, order, use_corrector=True): + logging.info(f'using unified predictor-corrector with order {order} (solver type: vary coeff)') + ns = self.noise_schedule + assert order <= len(model_prev_list) + + # first compute rks + t_prev_0 = t_prev_list[-1] + lambda_prev_0 = ns.marginal_lambda(t_prev_0) + lambda_t = ns.marginal_lambda(t) + model_prev_0 = model_prev_list[-1] + sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t) + log_alpha_t = ns.marginal_log_mean_coeff(t) + alpha_t = torch.exp(log_alpha_t) + + h = lambda_t - lambda_prev_0 + + rks = [] + D1s = [] + for i in range(1, order): + t_prev_i = t_prev_list[-(i + 1)] + model_prev_i = model_prev_list[-(i + 1)] + lambda_prev_i = ns.marginal_lambda(t_prev_i) + rk = (lambda_prev_i - lambda_prev_0) / h + rks.append(rk) + D1s.append((model_prev_i - model_prev_0) / rk) + + rks.append(1.) + rks = torch.tensor(rks, device=x.device) + + K = len(rks) + # build C matrix + C = [] + + col = torch.ones_like(rks) + for k in range(1, K + 1): + C.append(col) + col = col * rks / (k + 1) + C = torch.stack(C, dim=1) + + if len(D1s) > 0: + D1s = torch.stack(D1s, dim=1) # (B, K) + C_inv_p = torch.linalg.inv(C[:-1, :-1]) + A_p = C_inv_p + + if use_corrector: + C_inv = torch.linalg.inv(C) + A_c = C_inv + + hh = -h if self.predict_x0 else h + h_phi_1 = torch.expm1(hh) + h_phi_ks = [] + factorial_k = 1 + h_phi_k = h_phi_1 + for k in range(1, K + 2): + h_phi_ks.append(h_phi_k) + h_phi_k = h_phi_k / hh - 1 / factorial_k + factorial_k *= (k + 1) + + model_t = None + if self.predict_x0: + x_t_ = ( + sigma_t / sigma_prev_0 * x + - alpha_t * h_phi_1 * model_prev_0 + ) + # now predictor + x_t = x_t_ + if len(D1s) > 0: + # compute the residuals for predictor + for k in range(K - 1): + x_t = x_t - alpha_t * h_phi_ks[k + 1] * torch.einsum('bkchw,k->bchw', D1s, A_p[k]) + # now corrector + if use_corrector: + model_t = self.model_fn(x_t, t) + D1_t = (model_t - model_prev_0) + x_t = x_t_ + k = 0 + for k in range(K - 1): + x_t = x_t - alpha_t * h_phi_ks[k + 1] * torch.einsum('bkchw,k->bchw', D1s, A_c[k][:-1]) + x_t = x_t - alpha_t * h_phi_ks[K] * (D1_t * A_c[k][-1]) + else: + log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(t_prev_0), ns.marginal_log_mean_coeff(t) + x_t_ = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * h_phi_1) * model_prev_0 + ) + # now predictor + x_t = x_t_ + if len(D1s) > 0: + # compute the residuals for predictor + for k in range(K - 1): + x_t = x_t - sigma_t * h_phi_ks[k + 1] * torch.einsum('bkchw,k->bchw', D1s, A_p[k]) + # now corrector + if use_corrector: + model_t = self.model_fn(x_t, t) + D1_t = (model_t - model_prev_0) + x_t = x_t_ + k = 0 + for k in range(K - 1): + x_t = x_t - sigma_t * h_phi_ks[k + 1] * torch.einsum('bkchw,k->bchw', D1s, A_c[k][:-1]) + x_t = x_t - sigma_t * h_phi_ks[K] * (D1_t * A_c[k][-1]) + return x_t, model_t + + def multistep_uni_pc_bh_update(self, x, model_prev_list, t_prev_list, t, order, x_t=None, use_corrector=True): + # print(f'using unified predictor-corrector with order {order} (solver type: B(h))') + ns = self.noise_schedule + assert order <= len(model_prev_list) + dims = x.dim() + + # first compute rks + t_prev_0 = t_prev_list[-1] + lambda_prev_0 = ns.marginal_lambda(t_prev_0) + lambda_t = ns.marginal_lambda(t) + model_prev_0 = model_prev_list[-1] + sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t) + log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(t_prev_0), ns.marginal_log_mean_coeff(t) + alpha_t = torch.exp(log_alpha_t) + + h = lambda_t - lambda_prev_0 + + rks = [] + D1s = [] + for i in range(1, order): + t_prev_i = t_prev_list[-(i + 1)] + model_prev_i = model_prev_list[-(i + 1)] + lambda_prev_i = ns.marginal_lambda(t_prev_i) + rk = ((lambda_prev_i - lambda_prev_0) / h)[0] + rks.append(rk) + D1s.append((model_prev_i - model_prev_0) / rk) + + rks.append(1.) + rks = torch.tensor(rks, device=x.device) + + R = [] + b = [] + + hh = -h[0] if self.predict_x0 else h[0] + h_phi_1 = torch.expm1(hh) # h\phi_1(h) = e^h - 1 + h_phi_k = h_phi_1 / hh - 1 + + factorial_i = 1 + + if self.variant == 'bh1': + B_h = hh + elif self.variant == 'bh2': + B_h = torch.expm1(hh) + else: + raise NotImplementedError() + + for i in range(1, order + 1): + R.append(torch.pow(rks, i - 1)) + b.append(h_phi_k * factorial_i / B_h) + factorial_i *= (i + 1) + h_phi_k = h_phi_k / hh - 1 / factorial_i + + R = torch.stack(R) + b = torch.tensor(b, device=x.device) + + # now predictor + use_predictor = len(D1s) > 0 and x_t is None + if len(D1s) > 0: + D1s = torch.stack(D1s, dim=1) # (B, K) + if x_t is None: + # for order 2, we use a simplified version + if order == 2: + rhos_p = torch.tensor([0.5], device=b.device) + else: + rhos_p = torch.linalg.solve(R[:-1, :-1], b[:-1]) + else: + D1s = None + + if use_corrector: + # print('using corrector') + # for order 1, we use a simplified version + if order == 1: + rhos_c = torch.tensor([0.5], device=b.device) + else: + rhos_c = torch.linalg.solve(R, b) + + model_t = None + if self.predict_x0: + x_t_ = ( + expand_dims(sigma_t / sigma_prev_0, dims) * x + - expand_dims(alpha_t * h_phi_1, dims)* model_prev_0 + ) + + if x_t is None: + if use_predictor: + pred_res = torch.einsum('k,bkchw->bchw', rhos_p, D1s) + else: + pred_res = 0 + x_t = x_t_ - expand_dims(alpha_t * B_h, dims) * pred_res + + if use_corrector: + model_t = self.model_fn(x_t, t) + if D1s is not None: + corr_res = torch.einsum('k,bkchw->bchw', rhos_c[:-1], D1s) + else: + corr_res = 0 + D1_t = (model_t - model_prev_0) + x_t = x_t_ - expand_dims(alpha_t * B_h, dims) * (corr_res + rhos_c[-1] * D1_t) + else: + x_t_ = ( + expand_dims(torch.exp(log_alpha_t - log_alpha_prev_0), dims) * x + - expand_dims(sigma_t * h_phi_1, dims) * model_prev_0 + ) + if x_t is None: + if use_predictor: + pred_res = torch.einsum('k,bkchw->bchw', rhos_p, D1s) + else: + pred_res = 0 + x_t = x_t_ - expand_dims(sigma_t * B_h, dims) * pred_res + + if use_corrector: + model_t = self.model_fn(x_t, t) + if D1s is not None: + corr_res = torch.einsum('k,bkchw->bchw', rhos_c[:-1], D1s) + else: + corr_res = 0 + D1_t = (model_t - model_prev_0) + x_t = x_t_ - expand_dims(sigma_t * B_h, dims) * (corr_res + rhos_c[-1] * D1_t) + return x_t, model_t + + + def sample(self, x, timesteps, t_start=None, t_end=None, order=3, skip_type='time_uniform', + method='singlestep', lower_order_final=True, denoise_to_zero=False, solver_type='dpm_solver', + atol=0.0078, rtol=0.05, corrector=False, callback=None, disable_pbar=False + ): + # t_0 = 1. / self.noise_schedule.total_N if t_end is None else t_end + # t_T = self.noise_schedule.T if t_start is None else t_start + steps = len(timesteps) - 1 + if method == 'multistep': + assert steps >= order + # timesteps = self.get_time_steps(skip_type=skip_type, t_T=t_T, t_0=t_0, N=steps, device=device) + assert timesteps.shape[0] - 1 == steps + # with torch.no_grad(): + for step_index in trange(steps, disable=disable_pbar): + if step_index == 0: + vec_t = timesteps[0].expand((x.shape[0])) + model_prev_list = [self.model_fn(x, vec_t)] + t_prev_list = [vec_t] + elif step_index < order: + init_order = step_index + # Init the first `order` values by lower order multistep DPM-Solver. + # for init_order in range(1, order): + vec_t = timesteps[init_order].expand(x.shape[0]) + x, model_x = self.multistep_uni_pc_update(x, model_prev_list, t_prev_list, vec_t, init_order, use_corrector=True) + if model_x is None: + model_x = self.model_fn(x, vec_t) + model_prev_list.append(model_x) + t_prev_list.append(vec_t) + else: + extra_final_step = 0 + if step_index == (steps - 1): + extra_final_step = 1 + for step in range(step_index, step_index + 1 + extra_final_step): + vec_t = timesteps[step].expand(x.shape[0]) + if lower_order_final: + step_order = min(order, steps + 1 - step) + else: + step_order = order + # print('this step order:', step_order) + if step == steps: + # print('do not run corrector at the last step') + use_corrector = False + else: + use_corrector = True + x, model_x = self.multistep_uni_pc_update(x, model_prev_list, t_prev_list, vec_t, step_order, use_corrector=use_corrector) + for i in range(order - 1): + t_prev_list[i] = t_prev_list[i + 1] + model_prev_list[i] = model_prev_list[i + 1] + t_prev_list[-1] = vec_t + # We do not need to evaluate the final model value. + if step < steps: + if model_x is None: + model_x = self.model_fn(x, vec_t) + model_prev_list[-1] = model_x + if callback is not None: + callback({'x': x, 'i': step_index, 'denoised': model_prev_list[-1]}) + else: + raise NotImplementedError() + # if denoise_to_zero: + # x = self.denoise_to_zero_fn(x, torch.ones((x.shape[0],)).to(device) * t_0) + return x + + +############################################################# +# other utility functions +############################################################# + +def interpolate_fn(x, xp, yp): + """ + A piecewise linear function y = f(x), using xp and yp as keypoints. + We implement f(x) in a differentiable way (i.e. applicable for autograd). + The function f(x) is well-defined for all x-axis. (For x beyond the bounds of xp, we use the outmost points of xp to define the linear function.) + + Args: + x: PyTorch tensor with shape [N, C], where N is the batch size, C is the number of channels (we use C = 1 for DPM-Solver). + xp: PyTorch tensor with shape [C, K], where K is the number of keypoints. + yp: PyTorch tensor with shape [C, K]. + Returns: + The function values f(x), with shape [N, C]. + """ + N, K = x.shape[0], xp.shape[1] + all_x = torch.cat([x.unsqueeze(2), xp.unsqueeze(0).repeat((N, 1, 1))], dim=2) + sorted_all_x, x_indices = torch.sort(all_x, dim=2) + x_idx = torch.argmin(x_indices, dim=2) + cand_start_idx = x_idx - 1 + start_idx = torch.where( + torch.eq(x_idx, 0), + torch.tensor(1, device=x.device), + torch.where( + torch.eq(x_idx, K), torch.tensor(K - 2, device=x.device), cand_start_idx, + ), + ) + end_idx = torch.where(torch.eq(start_idx, cand_start_idx), start_idx + 2, start_idx + 1) + start_x = torch.gather(sorted_all_x, dim=2, index=start_idx.unsqueeze(2)).squeeze(2) + end_x = torch.gather(sorted_all_x, dim=2, index=end_idx.unsqueeze(2)).squeeze(2) + start_idx2 = torch.where( + torch.eq(x_idx, 0), + torch.tensor(0, device=x.device), + torch.where( + torch.eq(x_idx, K), torch.tensor(K - 2, device=x.device), cand_start_idx, + ), + ) + y_positions_expanded = yp.unsqueeze(0).expand(N, -1, -1) + start_y = torch.gather(y_positions_expanded, dim=2, index=start_idx2.unsqueeze(2)).squeeze(2) + end_y = torch.gather(y_positions_expanded, dim=2, index=(start_idx2 + 1).unsqueeze(2)).squeeze(2) + cand = start_y + (x - start_x) * (end_y - start_y) / (end_x - start_x) + return cand + + +def expand_dims(v, dims): + """ + Expand the tensor `v` to the dim `dims`. + + Args: + `v`: a PyTorch tensor with shape [N]. + `dim`: a `int`. + Returns: + a PyTorch tensor with shape [N, 1, 1, ..., 1] and the total dimension is `dims`. + """ + return v[(...,) + (None,)*(dims - 1)] + + +class SigmaConvert: + schedule = "" + def marginal_log_mean_coeff(self, sigma): + return 0.5 * torch.log(1 / ((sigma * sigma) + 1)) + + def marginal_alpha(self, t): + return torch.exp(self.marginal_log_mean_coeff(t)) + + def marginal_std(self, t): + return torch.sqrt(1. - torch.exp(2. * self.marginal_log_mean_coeff(t))) + + def marginal_lambda(self, t): + """ + Compute lambda_t = log(alpha_t) - log(sigma_t) of a given continuous-time label t in [0, T]. + """ + log_mean_coeff = self.marginal_log_mean_coeff(t) + log_std = 0.5 * torch.log(1. - torch.exp(2. * log_mean_coeff)) + return log_mean_coeff - log_std + +def predict_eps_sigma(model, input, sigma_in, **kwargs): + sigma = sigma_in.view(sigma_in.shape[:1] + (1,) * (input.ndim - 1)) + input = input * ((sigma ** 2 + 1.0) ** 0.5) + return (input - model(input, sigma_in, **kwargs)) / sigma + + +def sample_unipc(model, noise, sigmas, extra_args=None, callback=None, disable=False, variant='bh1'): + timesteps = sigmas.clone() + if sigmas[-1] == 0: + timesteps = sigmas[:] + timesteps[-1] = 0.001 + else: + timesteps = sigmas.clone() + ns = SigmaConvert() + + noise = noise / torch.sqrt(1.0 + timesteps[0] ** 2.0) + model_type = "noise" + + model_fn = model_wrapper( + lambda input, sigma, **kwargs: predict_eps_sigma(model, input, sigma, **kwargs), + ns, + model_type=model_type, + guidance_type="uncond", + model_kwargs=extra_args, + ) + + order = min(3, len(timesteps) - 2) + uni_pc = UniPC(model_fn, ns, predict_x0=True, thresholding=False, variant=variant) + x = uni_pc.sample(noise, timesteps=timesteps, skip_type="time_uniform", method="multistep", order=order, lower_order_final=True, callback=callback, disable_pbar=disable) + x /= ns.marginal_alpha(timesteps[-1]) + return x + +def sample_unipc_bh2(model, noise, sigmas, extra_args=None, callback=None, disable=False): + return sample_unipc(model, noise, sigmas, extra_args, callback, disable, variant='bh2') diff --git a/comfy/float.py b/comfy/float.py new file mode 100644 index 0000000000000000000000000000000000000000..521316fd2facaab90583da8487029a365aefd9e7 --- /dev/null +++ b/comfy/float.py @@ -0,0 +1,67 @@ +import torch + +def calc_mantissa(abs_x, exponent, normal_mask, MANTISSA_BITS, EXPONENT_BIAS, generator=None): + mantissa_scaled = torch.where( + normal_mask, + (abs_x / (2.0 ** (exponent - EXPONENT_BIAS)) - 1.0) * (2**MANTISSA_BITS), + (abs_x / (2.0 ** (-EXPONENT_BIAS + 1 - MANTISSA_BITS))) + ) + + mantissa_scaled += torch.rand(mantissa_scaled.size(), dtype=mantissa_scaled.dtype, layout=mantissa_scaled.layout, device=mantissa_scaled.device, generator=generator) + return mantissa_scaled.floor() / (2**MANTISSA_BITS) + +#Not 100% sure about this +def manual_stochastic_round_to_float8(x, dtype, generator=None): + if dtype == torch.float8_e4m3fn: + EXPONENT_BITS, MANTISSA_BITS, EXPONENT_BIAS = 4, 3, 7 + elif dtype == torch.float8_e5m2: + EXPONENT_BITS, MANTISSA_BITS, EXPONENT_BIAS = 5, 2, 15 + else: + raise ValueError("Unsupported dtype") + + x = x.half() + sign = torch.sign(x) + abs_x = x.abs() + sign = torch.where(abs_x == 0, 0, sign) + + # Combine exponent calculation and clamping + exponent = torch.clamp( + torch.floor(torch.log2(abs_x)) + EXPONENT_BIAS, + 0, 2**EXPONENT_BITS - 1 + ) + + # Combine mantissa calculation and rounding + normal_mask = ~(exponent == 0) + + abs_x[:] = calc_mantissa(abs_x, exponent, normal_mask, MANTISSA_BITS, EXPONENT_BIAS, generator=generator) + + sign *= torch.where( + normal_mask, + (2.0 ** (exponent - EXPONENT_BIAS)) * (1.0 + abs_x), + (2.0 ** (-EXPONENT_BIAS + 1)) * abs_x + ) + + inf = torch.finfo(dtype) + torch.clamp(sign, min=inf.min, max=inf.max, out=sign) + return sign + + + +def stochastic_rounding(value, dtype, seed=0): + if dtype == torch.float32: + return value.to(dtype=torch.float32) + if dtype == torch.float16: + return value.to(dtype=torch.float16) + if dtype == torch.bfloat16: + return value.to(dtype=torch.bfloat16) + if dtype == torch.float8_e4m3fn or dtype == torch.float8_e5m2: + generator = torch.Generator(device=value.device) + generator.manual_seed(seed) + output = torch.empty_like(value, dtype=dtype) + num_slices = max(1, (value.numel() / (4096 * 4096))) + slice_size = max(1, round(value.shape[0] / num_slices)) + for i in range(0, value.shape[0], slice_size): + output[i:i+slice_size].copy_(manual_stochastic_round_to_float8(value[i:i+slice_size], dtype, generator=generator)) + return output + + return value.to(dtype=dtype) diff --git a/comfy/gligen.py b/comfy/gligen.py new file mode 100644 index 0000000000000000000000000000000000000000..161d8a5e562cc38791b8484f2999a07eb97c94a3 --- /dev/null +++ b/comfy/gligen.py @@ -0,0 +1,344 @@ +import math +import torch +from torch import nn +from .ldm.modules.attention import CrossAttention +from inspect import isfunction +import comfy.ops +ops = comfy.ops.manual_cast + +def exists(val): + return val is not None + + +def uniq(arr): + return{el: True for el in arr}.keys() + + +def default(val, d): + if exists(val): + return val + return d() if isfunction(d) else d + + +# feedforward +class GEGLU(nn.Module): + def __init__(self, dim_in, dim_out): + super().__init__() + self.proj = ops.Linear(dim_in, dim_out * 2) + + def forward(self, x): + x, gate = self.proj(x).chunk(2, dim=-1) + return x * torch.nn.functional.gelu(gate) + + +class FeedForward(nn.Module): + def __init__(self, dim, dim_out=None, mult=4, glu=False, dropout=0.): + super().__init__() + inner_dim = int(dim * mult) + dim_out = default(dim_out, dim) + project_in = nn.Sequential( + ops.Linear(dim, inner_dim), + nn.GELU() + ) if not glu else GEGLU(dim, inner_dim) + + self.net = nn.Sequential( + project_in, + nn.Dropout(dropout), + ops.Linear(inner_dim, dim_out) + ) + + def forward(self, x): + return self.net(x) + + +class GatedCrossAttentionDense(nn.Module): + def __init__(self, query_dim, context_dim, n_heads, d_head): + super().__init__() + + self.attn = CrossAttention( + query_dim=query_dim, + context_dim=context_dim, + heads=n_heads, + dim_head=d_head, + operations=ops) + self.ff = FeedForward(query_dim, glu=True) + + self.norm1 = ops.LayerNorm(query_dim) + self.norm2 = ops.LayerNorm(query_dim) + + self.register_parameter('alpha_attn', nn.Parameter(torch.tensor(0.))) + self.register_parameter('alpha_dense', nn.Parameter(torch.tensor(0.))) + + # this can be useful: we can externally change magnitude of tanh(alpha) + # for example, when it is set to 0, then the entire model is same as + # original one + self.scale = 1 + + def forward(self, x, objs): + + x = x + self.scale * \ + torch.tanh(self.alpha_attn) * self.attn(self.norm1(x), objs, objs) + x = x + self.scale * \ + torch.tanh(self.alpha_dense) * self.ff(self.norm2(x)) + + return x + + +class GatedSelfAttentionDense(nn.Module): + def __init__(self, query_dim, context_dim, n_heads, d_head): + super().__init__() + + # we need a linear projection since we need cat visual feature and obj + # feature + self.linear = ops.Linear(context_dim, query_dim) + + self.attn = CrossAttention( + query_dim=query_dim, + context_dim=query_dim, + heads=n_heads, + dim_head=d_head, + operations=ops) + self.ff = FeedForward(query_dim, glu=True) + + self.norm1 = ops.LayerNorm(query_dim) + self.norm2 = ops.LayerNorm(query_dim) + + self.register_parameter('alpha_attn', nn.Parameter(torch.tensor(0.))) + self.register_parameter('alpha_dense', nn.Parameter(torch.tensor(0.))) + + # this can be useful: we can externally change magnitude of tanh(alpha) + # for example, when it is set to 0, then the entire model is same as + # original one + self.scale = 1 + + def forward(self, x, objs): + + N_visual = x.shape[1] + objs = self.linear(objs) + + x = x + self.scale * torch.tanh(self.alpha_attn) * self.attn( + self.norm1(torch.cat([x, objs], dim=1)))[:, 0:N_visual, :] + x = x + self.scale * \ + torch.tanh(self.alpha_dense) * self.ff(self.norm2(x)) + + return x + + +class GatedSelfAttentionDense2(nn.Module): + def __init__(self, query_dim, context_dim, n_heads, d_head): + super().__init__() + + # we need a linear projection since we need cat visual feature and obj + # feature + self.linear = ops.Linear(context_dim, query_dim) + + self.attn = CrossAttention( + query_dim=query_dim, context_dim=query_dim, dim_head=d_head, operations=ops) + self.ff = FeedForward(query_dim, glu=True) + + self.norm1 = ops.LayerNorm(query_dim) + self.norm2 = ops.LayerNorm(query_dim) + + self.register_parameter('alpha_attn', nn.Parameter(torch.tensor(0.))) + self.register_parameter('alpha_dense', nn.Parameter(torch.tensor(0.))) + + # this can be useful: we can externally change magnitude of tanh(alpha) + # for example, when it is set to 0, then the entire model is same as + # original one + self.scale = 1 + + def forward(self, x, objs): + + B, N_visual, _ = x.shape + B, N_ground, _ = objs.shape + + objs = self.linear(objs) + + # sanity check + size_v = math.sqrt(N_visual) + size_g = math.sqrt(N_ground) + assert int(size_v) == size_v, "Visual tokens must be square rootable" + assert int(size_g) == size_g, "Grounding tokens must be square rootable" + size_v = int(size_v) + size_g = int(size_g) + + # select grounding token and resize it to visual token size as residual + out = self.attn(self.norm1(torch.cat([x, objs], dim=1)))[ + :, N_visual:, :] + out = out.permute(0, 2, 1).reshape(B, -1, size_g, size_g) + out = torch.nn.functional.interpolate( + out, (size_v, size_v), mode='bicubic') + residual = out.reshape(B, -1, N_visual).permute(0, 2, 1) + + # add residual to visual feature + x = x + self.scale * torch.tanh(self.alpha_attn) * residual + x = x + self.scale * \ + torch.tanh(self.alpha_dense) * self.ff(self.norm2(x)) + + return x + + +class FourierEmbedder(): + def __init__(self, num_freqs=64, temperature=100): + + self.num_freqs = num_freqs + self.temperature = temperature + self.freq_bands = temperature ** (torch.arange(num_freqs) / num_freqs) + + @torch.no_grad() + def __call__(self, x, cat_dim=-1): + "x: arbitrary shape of tensor. dim: cat dim" + out = [] + for freq in self.freq_bands: + out.append(torch.sin(freq * x)) + out.append(torch.cos(freq * x)) + return torch.cat(out, cat_dim) + + +class PositionNet(nn.Module): + def __init__(self, in_dim, out_dim, fourier_freqs=8): + super().__init__() + self.in_dim = in_dim + self.out_dim = out_dim + + self.fourier_embedder = FourierEmbedder(num_freqs=fourier_freqs) + self.position_dim = fourier_freqs * 2 * 4 # 2 is sin&cos, 4 is xyxy + + self.linears = nn.Sequential( + ops.Linear(self.in_dim + self.position_dim, 512), + nn.SiLU(), + ops.Linear(512, 512), + nn.SiLU(), + ops.Linear(512, out_dim), + ) + + self.null_positive_feature = torch.nn.Parameter( + torch.zeros([self.in_dim])) + self.null_position_feature = torch.nn.Parameter( + torch.zeros([self.position_dim])) + + def forward(self, boxes, masks, positive_embeddings): + B, N, _ = boxes.shape + masks = masks.unsqueeze(-1) + positive_embeddings = positive_embeddings + + # embedding position (it may includes padding as placeholder) + xyxy_embedding = self.fourier_embedder(boxes) # B*N*4 --> B*N*C + + # learnable null embedding + positive_null = self.null_positive_feature.to(device=boxes.device, dtype=boxes.dtype).view(1, 1, -1) + xyxy_null = self.null_position_feature.to(device=boxes.device, dtype=boxes.dtype).view(1, 1, -1) + + # replace padding with learnable null embedding + positive_embeddings = positive_embeddings * \ + masks + (1 - masks) * positive_null + xyxy_embedding = xyxy_embedding * masks + (1 - masks) * xyxy_null + + objs = self.linears( + torch.cat([positive_embeddings, xyxy_embedding], dim=-1)) + assert objs.shape == torch.Size([B, N, self.out_dim]) + return objs + + +class Gligen(nn.Module): + def __init__(self, modules, position_net, key_dim): + super().__init__() + self.module_list = nn.ModuleList(modules) + self.position_net = position_net + self.key_dim = key_dim + self.max_objs = 30 + self.current_device = torch.device("cpu") + + def _set_position(self, boxes, masks, positive_embeddings): + objs = self.position_net(boxes, masks, positive_embeddings) + def func(x, extra_options): + key = extra_options["transformer_index"] + module = self.module_list[key] + return module(x, objs.to(device=x.device, dtype=x.dtype)) + return func + + def set_position(self, latent_image_shape, position_params, device): + batch, c, h, w = latent_image_shape + masks = torch.zeros([self.max_objs], device="cpu") + boxes = [] + positive_embeddings = [] + for p in position_params: + x1 = (p[4]) / w + y1 = (p[3]) / h + x2 = (p[4] + p[2]) / w + y2 = (p[3] + p[1]) / h + masks[len(boxes)] = 1.0 + boxes += [torch.tensor((x1, y1, x2, y2)).unsqueeze(0)] + positive_embeddings += [p[0]] + append_boxes = [] + append_conds = [] + if len(boxes) < self.max_objs: + append_boxes = [torch.zeros( + [self.max_objs - len(boxes), 4], device="cpu")] + append_conds = [torch.zeros( + [self.max_objs - len(boxes), self.key_dim], device="cpu")] + + box_out = torch.cat( + boxes + append_boxes).unsqueeze(0).repeat(batch, 1, 1) + masks = masks.unsqueeze(0).repeat(batch, 1) + conds = torch.cat(positive_embeddings + + append_conds).unsqueeze(0).repeat(batch, 1, 1) + return self._set_position( + box_out.to(device), + masks.to(device), + conds.to(device)) + + def set_empty(self, latent_image_shape, device): + batch, c, h, w = latent_image_shape + masks = torch.zeros([self.max_objs], device="cpu").repeat(batch, 1) + box_out = torch.zeros([self.max_objs, 4], + device="cpu").repeat(batch, 1, 1) + conds = torch.zeros([self.max_objs, self.key_dim], + device="cpu").repeat(batch, 1, 1) + return self._set_position( + box_out.to(device), + masks.to(device), + conds.to(device)) + + +def load_gligen(sd): + sd_k = sd.keys() + output_list = [] + key_dim = 768 + for a in ["input_blocks", "middle_block", "output_blocks"]: + for b in range(20): + k_temp = filter(lambda k: "{}.{}.".format(a, b) + in k and ".fuser." in k, sd_k) + k_temp = map(lambda k: (k, k.split(".fuser.")[-1]), k_temp) + + n_sd = {} + for k in k_temp: + n_sd[k[1]] = sd[k[0]] + if len(n_sd) > 0: + query_dim = n_sd["linear.weight"].shape[0] + key_dim = n_sd["linear.weight"].shape[1] + + if key_dim == 768: # SD1.x + n_heads = 8 + d_head = query_dim // n_heads + else: + d_head = 64 + n_heads = query_dim // d_head + + gated = GatedSelfAttentionDense( + query_dim, key_dim, n_heads, d_head) + gated.load_state_dict(n_sd, strict=False) + output_list.append(gated) + + if "position_net.null_positive_feature" in sd_k: + in_dim = sd["position_net.null_positive_feature"].shape[0] + out_dim = sd["position_net.linears.4.weight"].shape[0] + + class WeightsLoader(torch.nn.Module): + pass + w = WeightsLoader() + w.position_net = PositionNet(in_dim, out_dim) + w.load_state_dict(sd, strict=False) + + gligen = Gligen(output_list, w.position_net, key_dim) + return gligen diff --git a/comfy/hooks.py b/comfy/hooks.py new file mode 100644 index 0000000000000000000000000000000000000000..9d07310729020a033f705395433c318152432935 --- /dev/null +++ b/comfy/hooks.py @@ -0,0 +1,785 @@ +from __future__ import annotations +from typing import TYPE_CHECKING, Callable +import enum +import math +import torch +import numpy as np +import itertools +import logging + +if TYPE_CHECKING: + from comfy.model_patcher import ModelPatcher, PatcherInjection + from comfy.model_base import BaseModel + from comfy.sd import CLIP +import comfy.lora +import comfy.model_management +import comfy.patcher_extension +from node_helpers import conditioning_set_values + +# ####################################################################################################### +# Hooks explanation +# ------------------- +# The purpose of hooks is to allow conds to influence sampling without the need for ComfyUI core code to +# make explicit special cases like it does for ControlNet and GLIGEN. +# +# This is necessary for nodes/features that are intended for use with masked or scheduled conds, or those +# that should run special code when a 'marked' cond is used in sampling. +# ####################################################################################################### + +class EnumHookMode(enum.Enum): + ''' + Priority of hook memory optimization vs. speed, mostly related to WeightHooks. + + MinVram: No caching will occur for any operations related to hooks. + MaxSpeed: Excess VRAM (and RAM, once VRAM is sufficiently depleted) will be used to cache hook weights when switching hook groups. + ''' + MinVram = "minvram" + MaxSpeed = "maxspeed" + +class EnumHookType(enum.Enum): + ''' + Hook types, each of which has different expected behavior. + ''' + Weight = "weight" + ObjectPatch = "object_patch" + AdditionalModels = "add_models" + TransformerOptions = "transformer_options" + Injections = "add_injections" + +class EnumWeightTarget(enum.Enum): + Model = "model" + Clip = "clip" + +class EnumHookScope(enum.Enum): + ''' + Determines if hook should be limited in its influence over sampling. + + AllConditioning: hook will affect all conds used in sampling. + HookedOnly: hook will only affect the conds it was attached to. + ''' + AllConditioning = "all_conditioning" + HookedOnly = "hooked_only" + + +class _HookRef: + pass + + +def default_should_register(hook: Hook, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + '''Example for how custom_should_register function can look like.''' + return True + + +def create_target_dict(target: EnumWeightTarget=None, **kwargs) -> dict[str]: + '''Creates base dictionary for use with Hooks' target param.''' + d = {} + if target is not None: + d['target'] = target + d.update(kwargs) + return d + + +class Hook: + def __init__(self, hook_type: EnumHookType=None, hook_ref: _HookRef=None, hook_id: str=None, + hook_keyframe: HookKeyframeGroup=None, hook_scope=EnumHookScope.AllConditioning): + self.hook_type = hook_type + '''Enum identifying the general class of this hook.''' + self.hook_ref = hook_ref if hook_ref else _HookRef() + '''Reference shared between hook clones that have the same value. Should NOT be modified.''' + self.hook_id = hook_id + '''Optional string ID to identify hook; useful if need to consolidate duplicates at registration time.''' + self.hook_keyframe = hook_keyframe if hook_keyframe else HookKeyframeGroup() + '''Keyframe storage that can be referenced to get strength for current sampling step.''' + self.hook_scope = hook_scope + '''Scope of where this hook should apply in terms of the conds used in sampling run.''' + self.custom_should_register = default_should_register + '''Can be overriden with a compatible function to decide if this hook should be registered without the need to override .should_register''' + + @property + def strength(self): + return self.hook_keyframe.strength + + def initialize_timesteps(self, model: BaseModel): + self.reset() + self.hook_keyframe.initialize_timesteps(model) + + def reset(self): + self.hook_keyframe.reset() + + def clone(self): + c: Hook = self.__class__() + c.hook_type = self.hook_type + c.hook_ref = self.hook_ref + c.hook_id = self.hook_id + c.hook_keyframe = self.hook_keyframe + c.hook_scope = self.hook_scope + c.custom_should_register = self.custom_should_register + return c + + def should_register(self, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + return self.custom_should_register(self, model, model_options, target_dict, registered) + + def add_hook_patches(self, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + raise NotImplementedError("add_hook_patches should be defined for Hook subclasses") + + def __eq__(self, other: Hook): + return self.__class__ == other.__class__ and self.hook_ref == other.hook_ref + + def __hash__(self): + return hash(self.hook_ref) + +class WeightHook(Hook): + ''' + Hook responsible for tracking weights to be applied to some model/clip. + + Note, value of hook_scope is ignored and is treated as HookedOnly. + ''' + def __init__(self, strength_model=1.0, strength_clip=1.0): + super().__init__(hook_type=EnumHookType.Weight, hook_scope=EnumHookScope.HookedOnly) + self.weights: dict = None + self.weights_clip: dict = None + self.need_weight_init = True + self._strength_model = strength_model + self._strength_clip = strength_clip + self.hook_scope = EnumHookScope.HookedOnly # this value does not matter for WeightHooks, just for docs + + @property + def strength_model(self): + return self._strength_model * self.strength + + @property + def strength_clip(self): + return self._strength_clip * self.strength + + def add_hook_patches(self, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + if not self.should_register(model, model_options, target_dict, registered): + return False + weights = None + + target = target_dict.get('target', None) + if target == EnumWeightTarget.Clip: + strength = self._strength_clip + else: + strength = self._strength_model + + if self.need_weight_init: + key_map = {} + if target == EnumWeightTarget.Clip: + key_map = comfy.lora.model_lora_keys_clip(model.model, key_map) + else: + key_map = comfy.lora.model_lora_keys_unet(model.model, key_map) + weights = comfy.lora.load_lora(self.weights, key_map, log_missing=False) + else: + if target == EnumWeightTarget.Clip: + weights = self.weights_clip + else: + weights = self.weights + model.add_hook_patches(hook=self, patches=weights, strength_patch=strength) + registered.add(self) + return True + # TODO: add logs about any keys that were not applied + + def clone(self): + c: WeightHook = super().clone() + c.weights = self.weights + c.weights_clip = self.weights_clip + c.need_weight_init = self.need_weight_init + c._strength_model = self._strength_model + c._strength_clip = self._strength_clip + return c + +class ObjectPatchHook(Hook): + def __init__(self, object_patches: dict[str]=None, + hook_scope=EnumHookScope.AllConditioning): + super().__init__(hook_type=EnumHookType.ObjectPatch) + self.object_patches = object_patches + self.hook_scope = hook_scope + + def clone(self): + c: ObjectPatchHook = super().clone() + c.object_patches = self.object_patches + return c + + def add_hook_patches(self, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + raise NotImplementedError("ObjectPatchHook is not supported yet in ComfyUI.") + +class AdditionalModelsHook(Hook): + ''' + Hook responsible for telling model management any additional models that should be loaded. + + Note, value of hook_scope is ignored and is treated as AllConditioning. + ''' + def __init__(self, models: list[ModelPatcher]=None, key: str=None): + super().__init__(hook_type=EnumHookType.AdditionalModels) + self.models = models + self.key = key + + def clone(self): + c: AdditionalModelsHook = super().clone() + c.models = self.models.copy() if self.models else self.models + c.key = self.key + return c + + def add_hook_patches(self, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + if not self.should_register(model, model_options, target_dict, registered): + return False + registered.add(self) + return True + +class TransformerOptionsHook(Hook): + ''' + Hook responsible for adding wrappers, callbacks, patches, or anything else related to transformer_options. + ''' + def __init__(self, transformers_dict: dict[str, dict[str, dict[str, list[Callable]]]]=None, + hook_scope=EnumHookScope.AllConditioning): + super().__init__(hook_type=EnumHookType.TransformerOptions) + self.transformers_dict = transformers_dict + self.hook_scope = hook_scope + self._skip_adding = False + '''Internal value used to avoid double load of transformer_options when hook_scope is AllConditioning.''' + + def clone(self): + c: TransformerOptionsHook = super().clone() + c.transformers_dict = self.transformers_dict + c._skip_adding = self._skip_adding + return c + + def add_hook_patches(self, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + if not self.should_register(model, model_options, target_dict, registered): + return False + # NOTE: to_load_options will be used to manually load patches/wrappers/callbacks from hooks + self._skip_adding = False + if self.hook_scope == EnumHookScope.AllConditioning: + add_model_options = {"transformer_options": self.transformers_dict, + "to_load_options": self.transformers_dict} + # skip_adding if included in AllConditioning to avoid double loading + self._skip_adding = True + else: + add_model_options = {"to_load_options": self.transformers_dict} + registered.add(self) + comfy.patcher_extension.merge_nested_dicts(model_options, add_model_options, copy_dict1=False) + return True + + def on_apply_hooks(self, model: ModelPatcher, transformer_options: dict[str]): + if not self._skip_adding: + comfy.patcher_extension.merge_nested_dicts(transformer_options, self.transformers_dict, copy_dict1=False) + +WrapperHook = TransformerOptionsHook +'''Only here for backwards compatibility, WrapperHook is identical to TransformerOptionsHook.''' + +class InjectionsHook(Hook): + def __init__(self, key: str=None, injections: list[PatcherInjection]=None, + hook_scope=EnumHookScope.AllConditioning): + super().__init__(hook_type=EnumHookType.Injections) + self.key = key + self.injections = injections + self.hook_scope = hook_scope + + def clone(self): + c: InjectionsHook = super().clone() + c.key = self.key + c.injections = self.injections.copy() if self.injections else self.injections + return c + + def add_hook_patches(self, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + raise NotImplementedError("InjectionsHook is not supported yet in ComfyUI.") + +class HookGroup: + ''' + Stores groups of hooks, and allows them to be queried by type. + + To prevent breaking their functionality, never modify the underlying self.hooks or self._hook_dict vars directly; + always use the provided functions on HookGroup. + ''' + def __init__(self): + self.hooks: list[Hook] = [] + self._hook_dict: dict[EnumHookType, list[Hook]] = {} + + def __len__(self): + return len(self.hooks) + + def add(self, hook: Hook): + if hook not in self.hooks: + self.hooks.append(hook) + self._hook_dict.setdefault(hook.hook_type, []).append(hook) + + def remove(self, hook: Hook): + if hook in self.hooks: + self.hooks.remove(hook) + self._hook_dict[hook.hook_type].remove(hook) + + def get_type(self, hook_type: EnumHookType): + return self._hook_dict.get(hook_type, []) + + def contains(self, hook: Hook): + return hook in self.hooks + + def is_subset_of(self, other: HookGroup): + self_hooks = set(self.hooks) + other_hooks = set(other.hooks) + return self_hooks.issubset(other_hooks) + + def new_with_common_hooks(self, other: HookGroup): + c = HookGroup() + for hook in self.hooks: + if other.contains(hook): + c.add(hook.clone()) + return c + + def clone(self): + c = HookGroup() + for hook in self.hooks: + c.add(hook.clone()) + return c + + def clone_and_combine(self, other: HookGroup): + c = self.clone() + if other is not None: + for hook in other.hooks: + c.add(hook.clone()) + return c + + def set_keyframes_on_hooks(self, hook_kf: HookKeyframeGroup): + if hook_kf is None: + hook_kf = HookKeyframeGroup() + else: + hook_kf = hook_kf.clone() + for hook in self.hooks: + hook.hook_keyframe = hook_kf + + def get_hooks_for_clip_schedule(self): + scheduled_hooks: dict[WeightHook, list[tuple[tuple[float,float], HookKeyframe]]] = {} + # only care about WeightHooks, for now + for hook in self.get_type(EnumHookType.Weight): + hook: WeightHook + hook_schedule = [] + # if no hook keyframes, assign default value + if len(hook.hook_keyframe.keyframes) == 0: + hook_schedule.append(((0.0, 1.0), None)) + scheduled_hooks[hook] = hook_schedule + continue + # find ranges of values + prev_keyframe = hook.hook_keyframe.keyframes[0] + for keyframe in hook.hook_keyframe.keyframes: + if keyframe.start_percent > prev_keyframe.start_percent and not math.isclose(keyframe.strength, prev_keyframe.strength): + hook_schedule.append(((prev_keyframe.start_percent, keyframe.start_percent), prev_keyframe)) + prev_keyframe = keyframe + elif keyframe.start_percent == prev_keyframe.start_percent: + prev_keyframe = keyframe + # create final range, assuming last start_percent was not 1.0 + if not math.isclose(prev_keyframe.start_percent, 1.0): + hook_schedule.append(((prev_keyframe.start_percent, 1.0), prev_keyframe)) + scheduled_hooks[hook] = hook_schedule + # hooks should not have their schedules in a list of tuples + all_ranges: list[tuple[float, float]] = [] + for range_kfs in scheduled_hooks.values(): + for t_range, keyframe in range_kfs: + all_ranges.append(t_range) + # turn list of ranges into boundaries + boundaries_set = set(itertools.chain.from_iterable(all_ranges)) + boundaries_set.add(0.0) + boundaries = sorted(boundaries_set) + real_ranges = [(boundaries[i], boundaries[i + 1]) for i in range(len(boundaries) - 1)] + # with real ranges defined, give appropriate hooks w/ keyframes for each range + scheduled_keyframes: list[tuple[tuple[float,float], list[tuple[WeightHook, HookKeyframe]]]] = [] + for t_range in real_ranges: + hooks_schedule = [] + for hook, val in scheduled_hooks.items(): + keyframe = None + # check if is a keyframe that works for the current t_range + for stored_range, stored_kf in val: + # if stored start is less than current end, then fits - give it assigned keyframe + if stored_range[0] < t_range[1] and stored_range[1] > t_range[0]: + keyframe = stored_kf + break + hooks_schedule.append((hook, keyframe)) + scheduled_keyframes.append((t_range, hooks_schedule)) + return scheduled_keyframes + + def reset(self): + for hook in self.hooks: + hook.reset() + + @staticmethod + def combine_all_hooks(hooks_list: list[HookGroup], require_count=0) -> HookGroup: + actual: list[HookGroup] = [] + for group in hooks_list: + if group is not None: + actual.append(group) + if len(actual) < require_count: + raise Exception(f"Need at least {require_count} hooks to combine, but only had {len(actual)}.") + # if no hooks, then return None + if len(actual) == 0: + return None + # if only 1 hook, just return itself without cloning + elif len(actual) == 1: + return actual[0] + final_hook: HookGroup = None + for hook in actual: + if final_hook is None: + final_hook = hook.clone() + else: + final_hook = final_hook.clone_and_combine(hook) + return final_hook + + +class HookKeyframe: + def __init__(self, strength: float, start_percent=0.0, guarantee_steps=1): + self.strength = strength + # scheduling + self.start_percent = float(start_percent) + self.start_t = 999999999.9 + self.guarantee_steps = guarantee_steps + + def get_effective_guarantee_steps(self, max_sigma: torch.Tensor): + '''If keyframe starts before current sampling range (max_sigma), treat as 0.''' + if self.start_t > max_sigma: + return 0 + return self.guarantee_steps + + def clone(self): + c = HookKeyframe(strength=self.strength, + start_percent=self.start_percent, guarantee_steps=self.guarantee_steps) + c.start_t = self.start_t + return c + +class HookKeyframeGroup: + def __init__(self): + self.keyframes: list[HookKeyframe] = [] + self._current_keyframe: HookKeyframe = None + self._current_used_steps = 0 + self._current_index = 0 + self._current_strength = None + self._curr_t = -1. + + # properties shadow those of HookWeightsKeyframe + @property + def strength(self): + if self._current_keyframe is not None: + return self._current_keyframe.strength + return 1.0 + + def reset(self): + self._current_keyframe = None + self._current_used_steps = 0 + self._current_index = 0 + self._current_strength = None + self.curr_t = -1. + self._set_first_as_current() + + def add(self, keyframe: HookKeyframe): + # add to end of list, then sort + self.keyframes.append(keyframe) + self.keyframes = get_sorted_list_via_attr(self.keyframes, "start_percent") + self._set_first_as_current() + + def _set_first_as_current(self): + if len(self.keyframes) > 0: + self._current_keyframe = self.keyframes[0] + else: + self._current_keyframe = None + + def has_guarantee_steps(self): + for kf in self.keyframes: + if kf.guarantee_steps > 0: + return True + return False + + def has_index(self, index: int): + return index >= 0 and index < len(self.keyframes) + + def is_empty(self): + return len(self.keyframes) == 0 + + def clone(self): + c = HookKeyframeGroup() + for keyframe in self.keyframes: + c.keyframes.append(keyframe.clone()) + c._set_first_as_current() + return c + + def initialize_timesteps(self, model: BaseModel): + for keyframe in self.keyframes: + keyframe.start_t = model.model_sampling.percent_to_sigma(keyframe.start_percent) + + def prepare_current_keyframe(self, curr_t: float, transformer_options: dict[str, torch.Tensor]) -> bool: + if self.is_empty(): + return False + if curr_t == self._curr_t: + return False + max_sigma = torch.max(transformer_options["sample_sigmas"]) + prev_index = self._current_index + prev_strength = self._current_strength + # if met guaranteed steps, look for next keyframe in case need to switch + if self._current_used_steps >= self._current_keyframe.get_effective_guarantee_steps(max_sigma): + # if has next index, loop through and see if need to switch + if self.has_index(self._current_index+1): + for i in range(self._current_index+1, len(self.keyframes)): + eval_c = self.keyframes[i] + # check if start_t is greater or equal to curr_t + # NOTE: t is in terms of sigmas, not percent, so bigger number = earlier step in sampling + if eval_c.start_t >= curr_t: + self._current_index = i + self._current_strength = eval_c.strength + self._current_keyframe = eval_c + self._current_used_steps = 0 + # if guarantee_steps greater than zero, stop searching for other keyframes + if self._current_keyframe.get_effective_guarantee_steps(max_sigma) > 0: + break + # if eval_c is outside the percent range, stop looking further + else: break + # update steps current context is used + self._current_used_steps += 1 + # update current timestep this was performed on + self._curr_t = curr_t + # return True if keyframe changed, False if no change + return prev_index != self._current_index and prev_strength != self._current_strength + + +class InterpolationMethod: + LINEAR = "linear" + EASE_IN = "ease_in" + EASE_OUT = "ease_out" + EASE_IN_OUT = "ease_in_out" + + _LIST = [LINEAR, EASE_IN, EASE_OUT, EASE_IN_OUT] + + @classmethod + def get_weights(cls, num_from: float, num_to: float, length: int, method: str, reverse=False): + diff = num_to - num_from + if method == cls.LINEAR: + weights = torch.linspace(num_from, num_to, length) + elif method == cls.EASE_IN: + index = torch.linspace(0, 1, length) + weights = diff * np.power(index, 2) + num_from + elif method == cls.EASE_OUT: + index = torch.linspace(0, 1, length) + weights = diff * (1 - np.power(1 - index, 2)) + num_from + elif method == cls.EASE_IN_OUT: + index = torch.linspace(0, 1, length) + weights = diff * ((1 - np.cos(index * np.pi)) / 2) + num_from + else: + raise ValueError(f"Unrecognized interpolation method '{method}'.") + if reverse: + weights = weights.flip(dims=(0,)) + return weights + +def get_sorted_list_via_attr(objects: list, attr: str) -> list: + if not objects: + return objects + elif len(objects) <= 1: + return [x for x in objects] + # now that we know we have to sort, do it following these rules: + # a) if objects have same value of attribute, maintain their relative order + # b) perform sorting of the groups of objects with same attributes + unique_attrs = {} + for o in objects: + val_attr = getattr(o, attr) + attr_list: list = unique_attrs.get(val_attr, list()) + attr_list.append(o) + if val_attr not in unique_attrs: + unique_attrs[val_attr] = attr_list + # now that we have the unique attr values grouped together in relative order, sort them by key + sorted_attrs = dict(sorted(unique_attrs.items())) + # now flatten out the dict into a list to return + sorted_list = [] + for object_list in sorted_attrs.values(): + sorted_list.extend(object_list) + return sorted_list + +def create_transformer_options_from_hooks(model: ModelPatcher, hooks: HookGroup, transformer_options: dict[str]=None): + # if no hooks or is not a ModelPatcher for sampling, return empty dict + if hooks is None or model.is_clip: + return {} + if transformer_options is None: + transformer_options = {} + for hook in hooks.get_type(EnumHookType.TransformerOptions): + hook: TransformerOptionsHook + hook.on_apply_hooks(model, transformer_options) + return transformer_options + +def create_hook_lora(lora: dict[str, torch.Tensor], strength_model: float, strength_clip: float): + hook_group = HookGroup() + hook = WeightHook(strength_model=strength_model, strength_clip=strength_clip) + hook_group.add(hook) + hook.weights = lora + return hook_group + +def create_hook_model_as_lora(weights_model, weights_clip, strength_model: float, strength_clip: float): + hook_group = HookGroup() + hook = WeightHook(strength_model=strength_model, strength_clip=strength_clip) + hook_group.add(hook) + patches_model = None + patches_clip = None + if weights_model is not None: + patches_model = {} + for key in weights_model: + patches_model[key] = ("model_as_lora", (weights_model[key],)) + if weights_clip is not None: + patches_clip = {} + for key in weights_clip: + patches_clip[key] = ("model_as_lora", (weights_clip[key],)) + hook.weights = patches_model + hook.weights_clip = patches_clip + hook.need_weight_init = False + return hook_group + +def get_patch_weights_from_model(model: ModelPatcher, discard_model_sampling=True): + if model is None: + return None + patches_model: dict[str, torch.Tensor] = model.model.state_dict() + if discard_model_sampling: + # do not include ANY model_sampling components of the model that should act as a patch + for key in list(patches_model.keys()): + if key.startswith("model_sampling"): + patches_model.pop(key, None) + return patches_model + +# NOTE: this function shows how to register weight hooks directly on the ModelPatchers +def load_hook_lora_for_models(model: ModelPatcher, clip: CLIP, lora: dict[str, torch.Tensor], + strength_model: float, strength_clip: float): + key_map = {} + if model is not None: + key_map = comfy.lora.model_lora_keys_unet(model.model, key_map) + if clip is not None: + key_map = comfy.lora.model_lora_keys_clip(clip.cond_stage_model, key_map) + + hook_group = HookGroup() + hook = WeightHook() + hook_group.add(hook) + loaded: dict[str] = comfy.lora.load_lora(lora, key_map) + if model is not None: + new_modelpatcher = model.clone() + k = new_modelpatcher.add_hook_patches(hook=hook, patches=loaded, strength_patch=strength_model) + else: + k = () + new_modelpatcher = None + + if clip is not None: + new_clip = clip.clone() + k1 = new_clip.patcher.add_hook_patches(hook=hook, patches=loaded, strength_patch=strength_clip) + else: + k1 = () + new_clip = None + k = set(k) + k1 = set(k1) + for x in loaded: + if (x not in k) and (x not in k1): + logging.warning(f"NOT LOADED {x}") + return (new_modelpatcher, new_clip, hook_group) + +def _combine_hooks_from_values(c_dict: dict[str, HookGroup], values: dict[str, HookGroup], cache: dict[tuple[HookGroup, HookGroup], HookGroup]): + hooks_key = 'hooks' + # if hooks only exist in one dict, do what's needed so that it ends up in c_dict + if hooks_key not in values: + return + if hooks_key not in c_dict: + hooks_value = values.get(hooks_key, None) + if hooks_value is not None: + c_dict[hooks_key] = hooks_value + return + # otherwise, need to combine with minimum duplication via cache + hooks_tuple = (c_dict[hooks_key], values[hooks_key]) + cached_hooks = cache.get(hooks_tuple, None) + if cached_hooks is None: + new_hooks = hooks_tuple[0].clone_and_combine(hooks_tuple[1]) + cache[hooks_tuple] = new_hooks + c_dict[hooks_key] = new_hooks + else: + c_dict[hooks_key] = cache[hooks_tuple] + +def conditioning_set_values_with_hooks(conditioning, values={}, append_hooks=True, + cache: dict[tuple[HookGroup, HookGroup], HookGroup]=None): + c = [] + if cache is None: + cache = {} + for t in conditioning: + n = [t[0], t[1].copy()] + for k in values: + if append_hooks and k == 'hooks': + _combine_hooks_from_values(n[1], values, cache) + else: + n[1][k] = values[k] + c.append(n) + + return c + +def set_hooks_for_conditioning(cond, hooks: HookGroup, append_hooks=True, cache: dict[tuple[HookGroup, HookGroup], HookGroup]=None): + if hooks is None: + return cond + return conditioning_set_values_with_hooks(cond, {'hooks': hooks}, append_hooks=append_hooks, cache=cache) + +def set_timesteps_for_conditioning(cond, timestep_range: tuple[float,float]): + if timestep_range is None: + return cond + return conditioning_set_values(cond, {"start_percent": timestep_range[0], + "end_percent": timestep_range[1]}) + +def set_mask_for_conditioning(cond, mask: torch.Tensor, set_cond_area: str, strength: float): + if mask is None: + return cond + set_area_to_bounds = False + if set_cond_area != 'default': + set_area_to_bounds = True + if len(mask.shape) < 3: + mask = mask.unsqueeze(0) + return conditioning_set_values(cond, {'mask': mask, + 'set_area_to_bounds': set_area_to_bounds, + 'mask_strength': strength}) + +def combine_conditioning(conds: list): + combined_conds = [] + for cond in conds: + combined_conds.extend(cond) + return combined_conds + +def combine_with_new_conds(conds: list, new_conds: list): + combined_conds = [] + for c, new_c in zip(conds, new_conds): + combined_conds.append(combine_conditioning([c, new_c])) + return combined_conds + +def set_conds_props(conds: list, strength: float, set_cond_area: str, + mask: torch.Tensor=None, hooks: HookGroup=None, timesteps_range: tuple[float,float]=None, append_hooks=True): + final_conds = [] + cache = {} + for c in conds: + # first, apply lora_hook to conditioning, if provided + c = set_hooks_for_conditioning(c, hooks, append_hooks=append_hooks, cache=cache) + # next, apply mask to conditioning + c = set_mask_for_conditioning(cond=c, mask=mask, strength=strength, set_cond_area=set_cond_area) + # apply timesteps, if present + c = set_timesteps_for_conditioning(cond=c, timestep_range=timesteps_range) + # finally, apply mask to conditioning and store + final_conds.append(c) + return final_conds + +def set_conds_props_and_combine(conds: list, new_conds: list, strength: float=1.0, set_cond_area: str="default", + mask: torch.Tensor=None, hooks: HookGroup=None, timesteps_range: tuple[float,float]=None, append_hooks=True): + combined_conds = [] + cache = {} + for c, masked_c in zip(conds, new_conds): + # first, apply lora_hook to new conditioning, if provided + masked_c = set_hooks_for_conditioning(masked_c, hooks, append_hooks=append_hooks, cache=cache) + # next, apply mask to new conditioning, if provided + masked_c = set_mask_for_conditioning(cond=masked_c, mask=mask, set_cond_area=set_cond_area, strength=strength) + # apply timesteps, if present + masked_c = set_timesteps_for_conditioning(cond=masked_c, timestep_range=timesteps_range) + # finally, combine with existing conditioning and store + combined_conds.append(combine_conditioning([c, masked_c])) + return combined_conds + +def set_default_conds_and_combine(conds: list, new_conds: list, + hooks: HookGroup=None, timesteps_range: tuple[float,float]=None, append_hooks=True): + combined_conds = [] + cache = {} + for c, new_c in zip(conds, new_conds): + # first, apply lora_hook to new conditioning, if provided + new_c = set_hooks_for_conditioning(new_c, hooks, append_hooks=append_hooks, cache=cache) + # next, add default_cond key to cond so that during sampling, it can be identified + new_c = conditioning_set_values(new_c, {'default': True}) + # apply timesteps, if present + new_c = set_timesteps_for_conditioning(cond=new_c, timestep_range=timesteps_range) + # finally, combine with existing conditioning and store + combined_conds.append(combine_conditioning([c, new_c])) + return combined_conds diff --git a/comfy/k_diffusion/deis.py b/comfy/k_diffusion/deis.py new file mode 100644 index 0000000000000000000000000000000000000000..a1167a4a36c42b22168ea8b3d80b1d83b2505db5 --- /dev/null +++ b/comfy/k_diffusion/deis.py @@ -0,0 +1,120 @@ +#Taken from: https://github.com/zju-pi/diff-sampler/blob/main/gits-main/solver_utils.py +#under Apache 2 license +import torch +import numpy as np + +# A pytorch reimplementation of DEIS (https://github.com/qsh-zh/deis). +############################# +### Utils for DEIS solver ### +############################# +#---------------------------------------------------------------------------- +# Transfer from the input time (sigma) used in EDM to that (t) used in DEIS. + +def edm2t(edm_steps, epsilon_s=1e-3, sigma_min=0.002, sigma_max=80): + vp_sigma_inv = lambda beta_d, beta_min: lambda sigma: ((beta_min ** 2 + 2 * beta_d * (sigma ** 2 + 1).log()).sqrt() - beta_min) / beta_d + vp_beta_d = 2 * (np.log(torch.tensor(sigma_min).cpu() ** 2 + 1) / epsilon_s - np.log(torch.tensor(sigma_max).cpu() ** 2 + 1)) / (epsilon_s - 1) + vp_beta_min = np.log(torch.tensor(sigma_max).cpu() ** 2 + 1) - 0.5 * vp_beta_d + t_steps = vp_sigma_inv(vp_beta_d.clone().detach().cpu(), vp_beta_min.clone().detach().cpu())(edm_steps.clone().detach().cpu()) + return t_steps, vp_beta_min, vp_beta_d + vp_beta_min + +#---------------------------------------------------------------------------- + +def cal_poly(prev_t, j, taus): + poly = 1 + for k in range(prev_t.shape[0]): + if k == j: + continue + poly *= (taus - prev_t[k]) / (prev_t[j] - prev_t[k]) + return poly + +#---------------------------------------------------------------------------- +# Transfer from t to alpha_t. + +def t2alpha_fn(beta_0, beta_1, t): + return torch.exp(-0.5 * t ** 2 * (beta_1 - beta_0) - t * beta_0) + +#---------------------------------------------------------------------------- + +def cal_intergrand(beta_0, beta_1, taus): + with torch.inference_mode(mode=False): + taus = taus.clone() + beta_0 = beta_0.clone() + beta_1 = beta_1.clone() + with torch.enable_grad(): + taus.requires_grad_(True) + alpha = t2alpha_fn(beta_0, beta_1, taus) + log_alpha = alpha.log() + log_alpha.sum().backward() + d_log_alpha_dtau = taus.grad + integrand = -0.5 * d_log_alpha_dtau / torch.sqrt(alpha * (1 - alpha)) + return integrand + +#---------------------------------------------------------------------------- + +def get_deis_coeff_list(t_steps, max_order, N=10000, deis_mode='tab'): + """ + Get the coefficient list for DEIS sampling. + + Args: + t_steps: A pytorch tensor. The time steps for sampling. + max_order: A `int`. Maximum order of the solver. 1 <= max_order <= 4 + N: A `int`. Use how many points to perform the numerical integration when deis_mode=='tab'. + deis_mode: A `str`. Select between 'tab' and 'rhoab'. Type of DEIS. + Returns: + A pytorch tensor. A batch of generated samples or sampling trajectories if return_inters=True. + """ + if deis_mode == 'tab': + t_steps, beta_0, beta_1 = edm2t(t_steps) + C = [] + for i, (t_cur, t_next) in enumerate(zip(t_steps[:-1], t_steps[1:])): + order = min(i+1, max_order) + if order == 1: + C.append([]) + else: + taus = torch.linspace(t_cur, t_next, N) # split the interval for integral appximation + dtau = (t_next - t_cur) / N + prev_t = t_steps[[i - k for k in range(order)]] + coeff_temp = [] + integrand = cal_intergrand(beta_0, beta_1, taus) + for j in range(order): + poly = cal_poly(prev_t, j, taus) + coeff_temp.append(torch.sum(integrand * poly) * dtau) + C.append(coeff_temp) + + elif deis_mode == 'rhoab': + # Analytical solution, second order + def get_def_intergral_2(a, b, start, end, c): + coeff = (end**3 - start**3) / 3 - (end**2 - start**2) * (a + b) / 2 + (end - start) * a * b + return coeff / ((c - a) * (c - b)) + + # Analytical solution, third order + def get_def_intergral_3(a, b, c, start, end, d): + coeff = (end**4 - start**4) / 4 - (end**3 - start**3) * (a + b + c) / 3 \ + + (end**2 - start**2) * (a*b + a*c + b*c) / 2 - (end - start) * a * b * c + return coeff / ((d - a) * (d - b) * (d - c)) + + C = [] + for i, (t_cur, t_next) in enumerate(zip(t_steps[:-1], t_steps[1:])): + order = min(i, max_order) + if order == 0: + C.append([]) + else: + prev_t = t_steps[[i - k for k in range(order+1)]] + if order == 1: + coeff_cur = ((t_next - prev_t[1])**2 - (t_cur - prev_t[1])**2) / (2 * (t_cur - prev_t[1])) + coeff_prev1 = (t_next - t_cur)**2 / (2 * (prev_t[1] - t_cur)) + coeff_temp = [coeff_cur, coeff_prev1] + elif order == 2: + coeff_cur = get_def_intergral_2(prev_t[1], prev_t[2], t_cur, t_next, t_cur) + coeff_prev1 = get_def_intergral_2(t_cur, prev_t[2], t_cur, t_next, prev_t[1]) + coeff_prev2 = get_def_intergral_2(t_cur, prev_t[1], t_cur, t_next, prev_t[2]) + coeff_temp = [coeff_cur, coeff_prev1, coeff_prev2] + elif order == 3: + coeff_cur = get_def_intergral_3(prev_t[1], prev_t[2], prev_t[3], t_cur, t_next, t_cur) + coeff_prev1 = get_def_intergral_3(t_cur, prev_t[2], prev_t[3], t_cur, t_next, prev_t[1]) + coeff_prev2 = get_def_intergral_3(t_cur, prev_t[1], prev_t[3], t_cur, t_next, prev_t[2]) + coeff_prev3 = get_def_intergral_3(t_cur, prev_t[1], prev_t[2], t_cur, t_next, prev_t[3]) + coeff_temp = [coeff_cur, coeff_prev1, coeff_prev2, coeff_prev3] + C.append(coeff_temp) + return C + diff --git a/comfy/k_diffusion/sampling.py b/comfy/k_diffusion/sampling.py new file mode 100644 index 0000000000000000000000000000000000000000..13ae272fd210937f917b0a7771d2a6131ce25ac6 --- /dev/null +++ b/comfy/k_diffusion/sampling.py @@ -0,0 +1,1338 @@ +import math + +from scipy import integrate +import torch +from torch import nn +import torchsde +from tqdm.auto import trange, tqdm + +from . import utils +from . import deis +import comfy.model_patcher +import comfy.model_sampling + +def append_zero(x): + return torch.cat([x, x.new_zeros([1])]) + + +def get_sigmas_karras(n, sigma_min, sigma_max, rho=7., device='cpu'): + """Constructs the noise schedule of Karras et al. (2022).""" + ramp = torch.linspace(0, 1, n, device=device) + min_inv_rho = sigma_min ** (1 / rho) + max_inv_rho = sigma_max ** (1 / rho) + sigmas = (max_inv_rho + ramp * (min_inv_rho - max_inv_rho)) ** rho + return append_zero(sigmas).to(device) + + +def get_sigmas_exponential(n, sigma_min, sigma_max, device='cpu'): + """Constructs an exponential noise schedule.""" + sigmas = torch.linspace(math.log(sigma_max), math.log(sigma_min), n, device=device).exp() + return append_zero(sigmas) + + +def get_sigmas_polyexponential(n, sigma_min, sigma_max, rho=1., device='cpu'): + """Constructs an polynomial in log sigma noise schedule.""" + ramp = torch.linspace(1, 0, n, device=device) ** rho + sigmas = torch.exp(ramp * (math.log(sigma_max) - math.log(sigma_min)) + math.log(sigma_min)) + return append_zero(sigmas) + + +def get_sigmas_vp(n, beta_d=19.9, beta_min=0.1, eps_s=1e-3, device='cpu'): + """Constructs a continuous VP noise schedule.""" + t = torch.linspace(1, eps_s, n, device=device) + sigmas = torch.sqrt(torch.exp(beta_d * t ** 2 / 2 + beta_min * t) - 1) + return append_zero(sigmas) + + +def get_sigmas_laplace(n, sigma_min, sigma_max, mu=0., beta=0.5, device='cpu'): + """Constructs the noise schedule proposed by Tiankai et al. (2024). """ + epsilon = 1e-5 # avoid log(0) + x = torch.linspace(0, 1, n, device=device) + clamp = lambda x: torch.clamp(x, min=sigma_min, max=sigma_max) + lmb = mu - beta * torch.sign(0.5-x) * torch.log(1 - 2 * torch.abs(0.5-x) + epsilon) + sigmas = clamp(torch.exp(lmb)) + return sigmas + + + +def to_d(x, sigma, denoised): + """Converts a denoiser output to a Karras ODE derivative.""" + return (x - denoised) / utils.append_dims(sigma, x.ndim) + + +def get_ancestral_step(sigma_from, sigma_to, eta=1.): + """Calculates the noise level (sigma_down) to step down to and the amount + of noise to add (sigma_up) when doing an ancestral sampling step.""" + if not eta: + return sigma_to, 0. + sigma_up = min(sigma_to, eta * (sigma_to ** 2 * (sigma_from ** 2 - sigma_to ** 2) / sigma_from ** 2) ** 0.5) + sigma_down = (sigma_to ** 2 - sigma_up ** 2) ** 0.5 + return sigma_down, sigma_up + + +def default_noise_sampler(x, seed=None): + if seed is not None: + generator = torch.Generator(device=x.device) + generator.manual_seed(seed) + else: + generator = None + + return lambda sigma, sigma_next: torch.randn(x.size(), dtype=x.dtype, layout=x.layout, device=x.device, generator=generator) + + +class BatchedBrownianTree: + """A wrapper around torchsde.BrownianTree that enables batches of entropy.""" + + def __init__(self, x, t0, t1, seed=None, **kwargs): + self.cpu_tree = True + if "cpu" in kwargs: + self.cpu_tree = kwargs.pop("cpu") + t0, t1, self.sign = self.sort(t0, t1) + w0 = kwargs.get('w0', torch.zeros_like(x)) + if seed is None: + seed = torch.randint(0, 2 ** 63 - 1, []).item() + self.batched = True + try: + assert len(seed) == x.shape[0] + w0 = w0[0] + except TypeError: + seed = [seed] + self.batched = False + if self.cpu_tree: + self.trees = [torchsde.BrownianTree(t0.cpu(), w0.cpu(), t1.cpu(), entropy=s, **kwargs) for s in seed] + else: + self.trees = [torchsde.BrownianTree(t0, w0, t1, entropy=s, **kwargs) for s in seed] + + @staticmethod + def sort(a, b): + return (a, b, 1) if a < b else (b, a, -1) + + def __call__(self, t0, t1): + t0, t1, sign = self.sort(t0, t1) + if self.cpu_tree: + w = torch.stack([tree(t0.cpu().float(), t1.cpu().float()).to(t0.dtype).to(t0.device) for tree in self.trees]) * (self.sign * sign) + else: + w = torch.stack([tree(t0, t1) for tree in self.trees]) * (self.sign * sign) + + return w if self.batched else w[0] + + +class BrownianTreeNoiseSampler: + """A noise sampler backed by a torchsde.BrownianTree. + + Args: + x (Tensor): The tensor whose shape, device and dtype to use to generate + random samples. + sigma_min (float): The low end of the valid interval. + sigma_max (float): The high end of the valid interval. + seed (int or List[int]): The random seed. If a list of seeds is + supplied instead of a single integer, then the noise sampler will + use one BrownianTree per batch item, each with its own seed. + transform (callable): A function that maps sigma to the sampler's + internal timestep. + """ + + def __init__(self, x, sigma_min, sigma_max, seed=None, transform=lambda x: x, cpu=False): + self.transform = transform + t0, t1 = self.transform(torch.as_tensor(sigma_min)), self.transform(torch.as_tensor(sigma_max)) + self.tree = BatchedBrownianTree(x, t0, t1, seed, cpu=cpu) + + def __call__(self, sigma, sigma_next): + t0, t1 = self.transform(torch.as_tensor(sigma)), self.transform(torch.as_tensor(sigma_next)) + return self.tree(t0, t1) / (t1 - t0).abs().sqrt() + + +@torch.no_grad() +def sample_euler(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1.): + """Implements Algorithm 2 (Euler steps) from Karras et al. (2022).""" + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + if s_churn > 0: + gamma = min(s_churn / (len(sigmas) - 1), 2 ** 0.5 - 1) if s_tmin <= sigmas[i] <= s_tmax else 0. + sigma_hat = sigmas[i] * (gamma + 1) + else: + gamma = 0 + sigma_hat = sigmas[i] + + if gamma > 0: + eps = torch.randn_like(x) * s_noise + x = x + eps * (sigma_hat ** 2 - sigmas[i] ** 2) ** 0.5 + denoised = model(x, sigma_hat * s_in, **extra_args) + d = to_d(x, sigma_hat, denoised) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigma_hat, 'denoised': denoised}) + dt = sigmas[i + 1] - sigma_hat + # Euler method + x = x + d * dt + return x + + +@torch.no_grad() +def sample_euler_ancestral(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + if isinstance(model.inner_model.inner_model.model_sampling, comfy.model_sampling.CONST): + return sample_euler_ancestral_RF(model, x, sigmas, extra_args, callback, disable, eta, s_noise, noise_sampler) + """Ancestral sampling with Euler method steps.""" + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1], eta=eta) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + + if sigma_down == 0: + x = denoised + else: + d = to_d(x, sigmas[i], denoised) + # Euler method + dt = sigma_down - sigmas[i] + x = x + d * dt + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * sigma_up + return x + +@torch.no_grad() +def sample_euler_ancestral_RF(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1.0, s_noise=1., noise_sampler=None): + """Ancestral sampling with Euler method steps.""" + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + # sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1], eta=eta) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + + if sigmas[i + 1] == 0: + x = denoised + else: + downstep_ratio = 1 + (sigmas[i + 1] / sigmas[i] - 1) * eta + sigma_down = sigmas[i + 1] * downstep_ratio + alpha_ip1 = 1 - sigmas[i + 1] + alpha_down = 1 - sigma_down + renoise_coeff = (sigmas[i + 1]**2 - sigma_down**2 * alpha_ip1**2 / alpha_down**2)**0.5 + # Euler method + sigma_down_i_ratio = sigma_down / sigmas[i] + x = sigma_down_i_ratio * x + (1 - sigma_down_i_ratio) * denoised + if eta > 0: + x = (alpha_ip1 / alpha_down) * x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * renoise_coeff + return x + +@torch.no_grad() +def sample_heun(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1.): + """Implements Algorithm 2 (Heun steps) from Karras et al. (2022).""" + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + if s_churn > 0: + gamma = min(s_churn / (len(sigmas) - 1), 2 ** 0.5 - 1) if s_tmin <= sigmas[i] <= s_tmax else 0. + sigma_hat = sigmas[i] * (gamma + 1) + else: + gamma = 0 + sigma_hat = sigmas[i] + + sigma_hat = sigmas[i] * (gamma + 1) + if gamma > 0: + eps = torch.randn_like(x) * s_noise + x = x + eps * (sigma_hat ** 2 - sigmas[i] ** 2) ** 0.5 + denoised = model(x, sigma_hat * s_in, **extra_args) + d = to_d(x, sigma_hat, denoised) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigma_hat, 'denoised': denoised}) + dt = sigmas[i + 1] - sigma_hat + if sigmas[i + 1] == 0: + # Euler method + x = x + d * dt + else: + # Heun's method + x_2 = x + d * dt + denoised_2 = model(x_2, sigmas[i + 1] * s_in, **extra_args) + d_2 = to_d(x_2, sigmas[i + 1], denoised_2) + d_prime = (d + d_2) / 2 + x = x + d_prime * dt + return x + + +@torch.no_grad() +def sample_dpm_2(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1.): + """A sampler inspired by DPM-Solver-2 and Algorithm 2 from Karras et al. (2022).""" + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + if s_churn > 0: + gamma = min(s_churn / (len(sigmas) - 1), 2 ** 0.5 - 1) if s_tmin <= sigmas[i] <= s_tmax else 0. + sigma_hat = sigmas[i] * (gamma + 1) + else: + gamma = 0 + sigma_hat = sigmas[i] + + if gamma > 0: + eps = torch.randn_like(x) * s_noise + x = x + eps * (sigma_hat ** 2 - sigmas[i] ** 2) ** 0.5 + denoised = model(x, sigma_hat * s_in, **extra_args) + d = to_d(x, sigma_hat, denoised) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigma_hat, 'denoised': denoised}) + if sigmas[i + 1] == 0: + # Euler method + dt = sigmas[i + 1] - sigma_hat + x = x + d * dt + else: + # DPM-Solver-2 + sigma_mid = sigma_hat.log().lerp(sigmas[i + 1].log(), 0.5).exp() + dt_1 = sigma_mid - sigma_hat + dt_2 = sigmas[i + 1] - sigma_hat + x_2 = x + d * dt_1 + denoised_2 = model(x_2, sigma_mid * s_in, **extra_args) + d_2 = to_d(x_2, sigma_mid, denoised_2) + x = x + d_2 * dt_2 + return x + + +@torch.no_grad() +def sample_dpm_2_ancestral(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + if isinstance(model.inner_model.inner_model.model_sampling, comfy.model_sampling.CONST): + return sample_dpm_2_ancestral_RF(model, x, sigmas, extra_args, callback, disable, eta, s_noise, noise_sampler) + + """Ancestral sampling with DPM-Solver second-order steps.""" + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1], eta=eta) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + d = to_d(x, sigmas[i], denoised) + if sigma_down == 0: + # Euler method + dt = sigma_down - sigmas[i] + x = x + d * dt + else: + # DPM-Solver-2 + sigma_mid = sigmas[i].log().lerp(sigma_down.log(), 0.5).exp() + dt_1 = sigma_mid - sigmas[i] + dt_2 = sigma_down - sigmas[i] + x_2 = x + d * dt_1 + denoised_2 = model(x_2, sigma_mid * s_in, **extra_args) + d_2 = to_d(x_2, sigma_mid, denoised_2) + x = x + d_2 * dt_2 + x = x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * sigma_up + return x + +@torch.no_grad() +def sample_dpm_2_ancestral_RF(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + """Ancestral sampling with DPM-Solver second-order steps.""" + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + downstep_ratio = 1 + (sigmas[i+1]/sigmas[i] - 1) * eta + sigma_down = sigmas[i+1] * downstep_ratio + alpha_ip1 = 1 - sigmas[i+1] + alpha_down = 1 - sigma_down + renoise_coeff = (sigmas[i+1]**2 - sigma_down**2*alpha_ip1**2/alpha_down**2)**0.5 + + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + d = to_d(x, sigmas[i], denoised) + if sigma_down == 0: + # Euler method + dt = sigma_down - sigmas[i] + x = x + d * dt + else: + # DPM-Solver-2 + sigma_mid = sigmas[i].log().lerp(sigma_down.log(), 0.5).exp() + dt_1 = sigma_mid - sigmas[i] + dt_2 = sigma_down - sigmas[i] + x_2 = x + d * dt_1 + denoised_2 = model(x_2, sigma_mid * s_in, **extra_args) + d_2 = to_d(x_2, sigma_mid, denoised_2) + x = x + d_2 * dt_2 + x = (alpha_ip1/alpha_down) * x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * renoise_coeff + return x + +def linear_multistep_coeff(order, t, i, j): + if order - 1 > i: + raise ValueError(f'Order {order} too high for step {i}') + def fn(tau): + prod = 1. + for k in range(order): + if j == k: + continue + prod *= (tau - t[i - k]) / (t[i - j] - t[i - k]) + return prod + return integrate.quad(fn, t[i], t[i + 1], epsrel=1e-4)[0] + + +@torch.no_grad() +def sample_lms(model, x, sigmas, extra_args=None, callback=None, disable=None, order=4): + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + sigmas_cpu = sigmas.detach().cpu().numpy() + ds = [] + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + d = to_d(x, sigmas[i], denoised) + ds.append(d) + if len(ds) > order: + ds.pop(0) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + cur_order = min(i + 1, order) + coeffs = [linear_multistep_coeff(cur_order, sigmas_cpu, i, j) for j in range(cur_order)] + x = x + sum(coeff * d for coeff, d in zip(coeffs, reversed(ds))) + return x + + +class PIDStepSizeController: + """A PID controller for ODE adaptive step size control.""" + def __init__(self, h, pcoeff, icoeff, dcoeff, order=1, accept_safety=0.81, eps=1e-8): + self.h = h + self.b1 = (pcoeff + icoeff + dcoeff) / order + self.b2 = -(pcoeff + 2 * dcoeff) / order + self.b3 = dcoeff / order + self.accept_safety = accept_safety + self.eps = eps + self.errs = [] + + def limiter(self, x): + return 1 + math.atan(x - 1) + + def propose_step(self, error): + inv_error = 1 / (float(error) + self.eps) + if not self.errs: + self.errs = [inv_error, inv_error, inv_error] + self.errs[0] = inv_error + factor = self.errs[0] ** self.b1 * self.errs[1] ** self.b2 * self.errs[2] ** self.b3 + factor = self.limiter(factor) + accept = factor >= self.accept_safety + if accept: + self.errs[2] = self.errs[1] + self.errs[1] = self.errs[0] + self.h *= factor + return accept + + +class DPMSolver(nn.Module): + """DPM-Solver. See https://arxiv.org/abs/2206.00927.""" + + def __init__(self, model, extra_args=None, eps_callback=None, info_callback=None): + super().__init__() + self.model = model + self.extra_args = {} if extra_args is None else extra_args + self.eps_callback = eps_callback + self.info_callback = info_callback + + def t(self, sigma): + return -sigma.log() + + def sigma(self, t): + return t.neg().exp() + + def eps(self, eps_cache, key, x, t, *args, **kwargs): + if key in eps_cache: + return eps_cache[key], eps_cache + sigma = self.sigma(t) * x.new_ones([x.shape[0]]) + eps = (x - self.model(x, sigma, *args, **self.extra_args, **kwargs)) / self.sigma(t) + if self.eps_callback is not None: + self.eps_callback() + return eps, {key: eps, **eps_cache} + + def dpm_solver_1_step(self, x, t, t_next, eps_cache=None): + eps_cache = {} if eps_cache is None else eps_cache + h = t_next - t + eps, eps_cache = self.eps(eps_cache, 'eps', x, t) + x_1 = x - self.sigma(t_next) * h.expm1() * eps + return x_1, eps_cache + + def dpm_solver_2_step(self, x, t, t_next, r1=1 / 2, eps_cache=None): + eps_cache = {} if eps_cache is None else eps_cache + h = t_next - t + eps, eps_cache = self.eps(eps_cache, 'eps', x, t) + s1 = t + r1 * h + u1 = x - self.sigma(s1) * (r1 * h).expm1() * eps + eps_r1, eps_cache = self.eps(eps_cache, 'eps_r1', u1, s1) + x_2 = x - self.sigma(t_next) * h.expm1() * eps - self.sigma(t_next) / (2 * r1) * h.expm1() * (eps_r1 - eps) + return x_2, eps_cache + + def dpm_solver_3_step(self, x, t, t_next, r1=1 / 3, r2=2 / 3, eps_cache=None): + eps_cache = {} if eps_cache is None else eps_cache + h = t_next - t + eps, eps_cache = self.eps(eps_cache, 'eps', x, t) + s1 = t + r1 * h + s2 = t + r2 * h + u1 = x - self.sigma(s1) * (r1 * h).expm1() * eps + eps_r1, eps_cache = self.eps(eps_cache, 'eps_r1', u1, s1) + u2 = x - self.sigma(s2) * (r2 * h).expm1() * eps - self.sigma(s2) * (r2 / r1) * ((r2 * h).expm1() / (r2 * h) - 1) * (eps_r1 - eps) + eps_r2, eps_cache = self.eps(eps_cache, 'eps_r2', u2, s2) + x_3 = x - self.sigma(t_next) * h.expm1() * eps - self.sigma(t_next) / r2 * (h.expm1() / h - 1) * (eps_r2 - eps) + return x_3, eps_cache + + def dpm_solver_fast(self, x, t_start, t_end, nfe, eta=0., s_noise=1., noise_sampler=None): + noise_sampler = default_noise_sampler(x, seed=self.extra_args.get("seed", None)) if noise_sampler is None else noise_sampler + if not t_end > t_start and eta: + raise ValueError('eta must be 0 for reverse sampling') + + m = math.floor(nfe / 3) + 1 + ts = torch.linspace(t_start, t_end, m + 1, device=x.device) + + if nfe % 3 == 0: + orders = [3] * (m - 2) + [2, 1] + else: + orders = [3] * (m - 1) + [nfe % 3] + + for i in range(len(orders)): + eps_cache = {} + t, t_next = ts[i], ts[i + 1] + if eta: + sd, su = get_ancestral_step(self.sigma(t), self.sigma(t_next), eta) + t_next_ = torch.minimum(t_end, self.t(sd)) + su = (self.sigma(t_next) ** 2 - self.sigma(t_next_) ** 2) ** 0.5 + else: + t_next_, su = t_next, 0. + + eps, eps_cache = self.eps(eps_cache, 'eps', x, t) + denoised = x - self.sigma(t) * eps + if self.info_callback is not None: + self.info_callback({'x': x, 'i': i, 't': ts[i], 't_up': t, 'denoised': denoised}) + + if orders[i] == 1: + x, eps_cache = self.dpm_solver_1_step(x, t, t_next_, eps_cache=eps_cache) + elif orders[i] == 2: + x, eps_cache = self.dpm_solver_2_step(x, t, t_next_, eps_cache=eps_cache) + else: + x, eps_cache = self.dpm_solver_3_step(x, t, t_next_, eps_cache=eps_cache) + + x = x + su * s_noise * noise_sampler(self.sigma(t), self.sigma(t_next)) + + return x + + def dpm_solver_adaptive(self, x, t_start, t_end, order=3, rtol=0.05, atol=0.0078, h_init=0.05, pcoeff=0., icoeff=1., dcoeff=0., accept_safety=0.81, eta=0., s_noise=1., noise_sampler=None): + noise_sampler = default_noise_sampler(x, seed=self.extra_args.get("seed", None)) if noise_sampler is None else noise_sampler + if order not in {2, 3}: + raise ValueError('order should be 2 or 3') + forward = t_end > t_start + if not forward and eta: + raise ValueError('eta must be 0 for reverse sampling') + h_init = abs(h_init) * (1 if forward else -1) + atol = torch.tensor(atol) + rtol = torch.tensor(rtol) + s = t_start + x_prev = x + accept = True + pid = PIDStepSizeController(h_init, pcoeff, icoeff, dcoeff, 1.5 if eta else order, accept_safety) + info = {'steps': 0, 'nfe': 0, 'n_accept': 0, 'n_reject': 0} + + while s < t_end - 1e-5 if forward else s > t_end + 1e-5: + eps_cache = {} + t = torch.minimum(t_end, s + pid.h) if forward else torch.maximum(t_end, s + pid.h) + if eta: + sd, su = get_ancestral_step(self.sigma(s), self.sigma(t), eta) + t_ = torch.minimum(t_end, self.t(sd)) + su = (self.sigma(t) ** 2 - self.sigma(t_) ** 2) ** 0.5 + else: + t_, su = t, 0. + + eps, eps_cache = self.eps(eps_cache, 'eps', x, s) + denoised = x - self.sigma(s) * eps + + if order == 2: + x_low, eps_cache = self.dpm_solver_1_step(x, s, t_, eps_cache=eps_cache) + x_high, eps_cache = self.dpm_solver_2_step(x, s, t_, eps_cache=eps_cache) + else: + x_low, eps_cache = self.dpm_solver_2_step(x, s, t_, r1=1 / 3, eps_cache=eps_cache) + x_high, eps_cache = self.dpm_solver_3_step(x, s, t_, eps_cache=eps_cache) + delta = torch.maximum(atol, rtol * torch.maximum(x_low.abs(), x_prev.abs())) + error = torch.linalg.norm((x_low - x_high) / delta) / x.numel() ** 0.5 + accept = pid.propose_step(error) + if accept: + x_prev = x_low + x = x_high + su * s_noise * noise_sampler(self.sigma(s), self.sigma(t)) + s = t + info['n_accept'] += 1 + else: + info['n_reject'] += 1 + info['nfe'] += order + info['steps'] += 1 + + if self.info_callback is not None: + self.info_callback({'x': x, 'i': info['steps'] - 1, 't': s, 't_up': s, 'denoised': denoised, 'error': error, 'h': pid.h, **info}) + + return x, info + + +@torch.no_grad() +def sample_dpm_fast(model, x, sigma_min, sigma_max, n, extra_args=None, callback=None, disable=None, eta=0., s_noise=1., noise_sampler=None): + """DPM-Solver-Fast (fixed step size). See https://arxiv.org/abs/2206.00927.""" + if sigma_min <= 0 or sigma_max <= 0: + raise ValueError('sigma_min and sigma_max must not be 0') + with tqdm(total=n, disable=disable) as pbar: + dpm_solver = DPMSolver(model, extra_args, eps_callback=pbar.update) + if callback is not None: + dpm_solver.info_callback = lambda info: callback({'sigma': dpm_solver.sigma(info['t']), 'sigma_hat': dpm_solver.sigma(info['t_up']), **info}) + return dpm_solver.dpm_solver_fast(x, dpm_solver.t(torch.tensor(sigma_max)), dpm_solver.t(torch.tensor(sigma_min)), n, eta, s_noise, noise_sampler) + + +@torch.no_grad() +def sample_dpm_adaptive(model, x, sigma_min, sigma_max, extra_args=None, callback=None, disable=None, order=3, rtol=0.05, atol=0.0078, h_init=0.05, pcoeff=0., icoeff=1., dcoeff=0., accept_safety=0.81, eta=0., s_noise=1., noise_sampler=None, return_info=False): + """DPM-Solver-12 and 23 (adaptive step size). See https://arxiv.org/abs/2206.00927.""" + if sigma_min <= 0 or sigma_max <= 0: + raise ValueError('sigma_min and sigma_max must not be 0') + with tqdm(disable=disable) as pbar: + dpm_solver = DPMSolver(model, extra_args, eps_callback=pbar.update) + if callback is not None: + dpm_solver.info_callback = lambda info: callback({'sigma': dpm_solver.sigma(info['t']), 'sigma_hat': dpm_solver.sigma(info['t_up']), **info}) + x, info = dpm_solver.dpm_solver_adaptive(x, dpm_solver.t(torch.tensor(sigma_max)), dpm_solver.t(torch.tensor(sigma_min)), order, rtol, atol, h_init, pcoeff, icoeff, dcoeff, accept_safety, eta, s_noise, noise_sampler) + if return_info: + return x, info + return x + + +@torch.no_grad() +def sample_dpmpp_2s_ancestral(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + if isinstance(model.inner_model.inner_model.model_sampling, comfy.model_sampling.CONST): + return sample_dpmpp_2s_ancestral_RF(model, x, sigmas, extra_args, callback, disable, eta, s_noise, noise_sampler) + + """Ancestral sampling with DPM-Solver++(2S) second-order steps.""" + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + s_in = x.new_ones([x.shape[0]]) + sigma_fn = lambda t: t.neg().exp() + t_fn = lambda sigma: sigma.log().neg() + + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1], eta=eta) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + if sigma_down == 0: + # Euler method + d = to_d(x, sigmas[i], denoised) + dt = sigma_down - sigmas[i] + x = x + d * dt + else: + # DPM-Solver++(2S) + t, t_next = t_fn(sigmas[i]), t_fn(sigma_down) + r = 1 / 2 + h = t_next - t + s = t + r * h + x_2 = (sigma_fn(s) / sigma_fn(t)) * x - (-h * r).expm1() * denoised + denoised_2 = model(x_2, sigma_fn(s) * s_in, **extra_args) + x = (sigma_fn(t_next) / sigma_fn(t)) * x - (-h).expm1() * denoised_2 + # Noise addition + if sigmas[i + 1] > 0: + x = x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * sigma_up + return x + + +@torch.no_grad() +def sample_dpmpp_2s_ancestral_RF(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + """Ancestral sampling with DPM-Solver++(2S) second-order steps.""" + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + s_in = x.new_ones([x.shape[0]]) + sigma_fn = lambda lbda: (lbda.exp() + 1) ** -1 + lambda_fn = lambda sigma: ((1-sigma)/sigma).log() + + # logged_x = x.unsqueeze(0) + + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + downstep_ratio = 1 + (sigmas[i+1]/sigmas[i] - 1) * eta + sigma_down = sigmas[i+1] * downstep_ratio + alpha_ip1 = 1 - sigmas[i+1] + alpha_down = 1 - sigma_down + renoise_coeff = (sigmas[i+1]**2 - sigma_down**2*alpha_ip1**2/alpha_down**2)**0.5 + # sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1], eta=eta) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + if sigmas[i + 1] == 0: + # Euler method + d = to_d(x, sigmas[i], denoised) + dt = sigma_down - sigmas[i] + x = x + d * dt + else: + # DPM-Solver++(2S) + if sigmas[i] == 1.0: + sigma_s = 0.9999 + else: + t_i, t_down = lambda_fn(sigmas[i]), lambda_fn(sigma_down) + r = 1 / 2 + h = t_down - t_i + s = t_i + r * h + sigma_s = sigma_fn(s) + # sigma_s = sigmas[i+1] + sigma_s_i_ratio = sigma_s / sigmas[i] + u = sigma_s_i_ratio * x + (1 - sigma_s_i_ratio) * denoised + D_i = model(u, sigma_s * s_in, **extra_args) + sigma_down_i_ratio = sigma_down / sigmas[i] + x = sigma_down_i_ratio * x + (1 - sigma_down_i_ratio) * D_i + # print("sigma_i", sigmas[i], "sigma_ip1", sigmas[i+1],"sigma_down", sigma_down, "sigma_down_i_ratio", sigma_down_i_ratio, "sigma_s_i_ratio", sigma_s_i_ratio, "renoise_coeff", renoise_coeff) + # Noise addition + if sigmas[i + 1] > 0 and eta > 0: + x = (alpha_ip1/alpha_down) * x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * renoise_coeff + # logged_x = torch.cat((logged_x, x.unsqueeze(0)), dim=0) + return x + +@torch.no_grad() +def sample_dpmpp_sde(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None, r=1 / 2): + """DPM-Solver++ (stochastic).""" + if len(sigmas) <= 1: + return x + + sigma_min, sigma_max = sigmas[sigmas > 0].min(), sigmas.max() + seed = extra_args.get("seed", None) + noise_sampler = BrownianTreeNoiseSampler(x, sigma_min, sigma_max, seed=seed, cpu=True) if noise_sampler is None else noise_sampler + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + sigma_fn = lambda t: t.neg().exp() + t_fn = lambda sigma: sigma.log().neg() + + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + if sigmas[i + 1] == 0: + # Euler method + d = to_d(x, sigmas[i], denoised) + dt = sigmas[i + 1] - sigmas[i] + x = x + d * dt + else: + # DPM-Solver++ + t, t_next = t_fn(sigmas[i]), t_fn(sigmas[i + 1]) + h = t_next - t + s = t + h * r + fac = 1 / (2 * r) + + # Step 1 + sd, su = get_ancestral_step(sigma_fn(t), sigma_fn(s), eta) + s_ = t_fn(sd) + x_2 = (sigma_fn(s_) / sigma_fn(t)) * x - (t - s_).expm1() * denoised + x_2 = x_2 + noise_sampler(sigma_fn(t), sigma_fn(s)) * s_noise * su + denoised_2 = model(x_2, sigma_fn(s) * s_in, **extra_args) + + # Step 2 + sd, su = get_ancestral_step(sigma_fn(t), sigma_fn(t_next), eta) + t_next_ = t_fn(sd) + denoised_d = (1 - fac) * denoised + fac * denoised_2 + x = (sigma_fn(t_next_) / sigma_fn(t)) * x - (t - t_next_).expm1() * denoised_d + x = x + noise_sampler(sigma_fn(t), sigma_fn(t_next)) * s_noise * su + return x + + +@torch.no_grad() +def sample_dpmpp_2m(model, x, sigmas, extra_args=None, callback=None, disable=None): + """DPM-Solver++(2M).""" + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + sigma_fn = lambda t: t.neg().exp() + t_fn = lambda sigma: sigma.log().neg() + old_denoised = None + + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + t, t_next = t_fn(sigmas[i]), t_fn(sigmas[i + 1]) + h = t_next - t + if old_denoised is None or sigmas[i + 1] == 0: + x = (sigma_fn(t_next) / sigma_fn(t)) * x - (-h).expm1() * denoised + else: + h_last = t - t_fn(sigmas[i - 1]) + r = h_last / h + denoised_d = (1 + 1 / (2 * r)) * denoised - (1 / (2 * r)) * old_denoised + x = (sigma_fn(t_next) / sigma_fn(t)) * x - (-h).expm1() * denoised_d + old_denoised = denoised + return x + +@torch.no_grad() +def sample_dpmpp_2m_sde(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None, solver_type='midpoint'): + """DPM-Solver++(2M) SDE.""" + if len(sigmas) <= 1: + return x + + if solver_type not in {'heun', 'midpoint'}: + raise ValueError('solver_type must be \'heun\' or \'midpoint\'') + + seed = extra_args.get("seed", None) + sigma_min, sigma_max = sigmas[sigmas > 0].min(), sigmas.max() + noise_sampler = BrownianTreeNoiseSampler(x, sigma_min, sigma_max, seed=seed, cpu=True) if noise_sampler is None else noise_sampler + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + + old_denoised = None + h_last = None + h = None + + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + if sigmas[i + 1] == 0: + # Denoising step + x = denoised + else: + # DPM-Solver++(2M) SDE + t, s = -sigmas[i].log(), -sigmas[i + 1].log() + h = s - t + eta_h = eta * h + + x = sigmas[i + 1] / sigmas[i] * (-eta_h).exp() * x + (-h - eta_h).expm1().neg() * denoised + + if old_denoised is not None: + r = h_last / h + if solver_type == 'heun': + x = x + ((-h - eta_h).expm1().neg() / (-h - eta_h) + 1) * (1 / r) * (denoised - old_denoised) + elif solver_type == 'midpoint': + x = x + 0.5 * (-h - eta_h).expm1().neg() * (1 / r) * (denoised - old_denoised) + + if eta: + x = x + noise_sampler(sigmas[i], sigmas[i + 1]) * sigmas[i + 1] * (-2 * eta_h).expm1().neg().sqrt() * s_noise + + old_denoised = denoised + h_last = h + return x + +@torch.no_grad() +def sample_dpmpp_3m_sde(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + """DPM-Solver++(3M) SDE.""" + + if len(sigmas) <= 1: + return x + + seed = extra_args.get("seed", None) + sigma_min, sigma_max = sigmas[sigmas > 0].min(), sigmas.max() + noise_sampler = BrownianTreeNoiseSampler(x, sigma_min, sigma_max, seed=seed, cpu=True) if noise_sampler is None else noise_sampler + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + + denoised_1, denoised_2 = None, None + h, h_1, h_2 = None, None, None + + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + if sigmas[i + 1] == 0: + # Denoising step + x = denoised + else: + t, s = -sigmas[i].log(), -sigmas[i + 1].log() + h = s - t + h_eta = h * (eta + 1) + + x = torch.exp(-h_eta) * x + (-h_eta).expm1().neg() * denoised + + if h_2 is not None: + r0 = h_1 / h + r1 = h_2 / h + d1_0 = (denoised - denoised_1) / r0 + d1_1 = (denoised_1 - denoised_2) / r1 + d1 = d1_0 + (d1_0 - d1_1) * r0 / (r0 + r1) + d2 = (d1_0 - d1_1) / (r0 + r1) + phi_2 = h_eta.neg().expm1() / h_eta + 1 + phi_3 = phi_2 / h_eta - 0.5 + x = x + phi_2 * d1 - phi_3 * d2 + elif h_1 is not None: + r = h_1 / h + d = (denoised - denoised_1) / r + phi_2 = h_eta.neg().expm1() / h_eta + 1 + x = x + phi_2 * d + + if eta: + x = x + noise_sampler(sigmas[i], sigmas[i + 1]) * sigmas[i + 1] * (-2 * h * eta).expm1().neg().sqrt() * s_noise + + denoised_1, denoised_2 = denoised, denoised_1 + h_1, h_2 = h, h_1 + return x + +@torch.no_grad() +def sample_dpmpp_3m_sde_gpu(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + if len(sigmas) <= 1: + return x + + sigma_min, sigma_max = sigmas[sigmas > 0].min(), sigmas.max() + noise_sampler = BrownianTreeNoiseSampler(x, sigma_min, sigma_max, seed=extra_args.get("seed", None), cpu=False) if noise_sampler is None else noise_sampler + return sample_dpmpp_3m_sde(model, x, sigmas, extra_args=extra_args, callback=callback, disable=disable, eta=eta, s_noise=s_noise, noise_sampler=noise_sampler) + +@torch.no_grad() +def sample_dpmpp_2m_sde_gpu(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None, solver_type='midpoint'): + if len(sigmas) <= 1: + return x + + sigma_min, sigma_max = sigmas[sigmas > 0].min(), sigmas.max() + noise_sampler = BrownianTreeNoiseSampler(x, sigma_min, sigma_max, seed=extra_args.get("seed", None), cpu=False) if noise_sampler is None else noise_sampler + return sample_dpmpp_2m_sde(model, x, sigmas, extra_args=extra_args, callback=callback, disable=disable, eta=eta, s_noise=s_noise, noise_sampler=noise_sampler, solver_type=solver_type) + +@torch.no_grad() +def sample_dpmpp_sde_gpu(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None, r=1 / 2): + if len(sigmas) <= 1: + return x + + sigma_min, sigma_max = sigmas[sigmas > 0].min(), sigmas.max() + noise_sampler = BrownianTreeNoiseSampler(x, sigma_min, sigma_max, seed=extra_args.get("seed", None), cpu=False) if noise_sampler is None else noise_sampler + return sample_dpmpp_sde(model, x, sigmas, extra_args=extra_args, callback=callback, disable=disable, eta=eta, s_noise=s_noise, noise_sampler=noise_sampler, r=r) + + +def DDPMSampler_step(x, sigma, sigma_prev, noise, noise_sampler): + alpha_cumprod = 1 / ((sigma * sigma) + 1) + alpha_cumprod_prev = 1 / ((sigma_prev * sigma_prev) + 1) + alpha = (alpha_cumprod / alpha_cumprod_prev) + + mu = (1.0 / alpha).sqrt() * (x - (1 - alpha) * noise / (1 - alpha_cumprod).sqrt()) + if sigma_prev > 0: + mu += ((1 - alpha) * (1. - alpha_cumprod_prev) / (1. - alpha_cumprod)).sqrt() * noise_sampler(sigma, sigma_prev) + return mu + +def generic_step_sampler(model, x, sigmas, extra_args=None, callback=None, disable=None, noise_sampler=None, step_function=None): + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + s_in = x.new_ones([x.shape[0]]) + + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + x = step_function(x / torch.sqrt(1.0 + sigmas[i] ** 2.0), sigmas[i], sigmas[i + 1], (x - denoised) / sigmas[i], noise_sampler) + if sigmas[i + 1] != 0: + x *= torch.sqrt(1.0 + sigmas[i + 1] ** 2.0) + return x + + +@torch.no_grad() +def sample_ddpm(model, x, sigmas, extra_args=None, callback=None, disable=None, noise_sampler=None): + return generic_step_sampler(model, x, sigmas, extra_args, callback, disable, noise_sampler, DDPMSampler_step) + +@torch.no_grad() +def sample_lcm(model, x, sigmas, extra_args=None, callback=None, disable=None, noise_sampler=None): + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + + x = denoised + if sigmas[i + 1] > 0: + x = model.inner_model.inner_model.model_sampling.noise_scaling(sigmas[i + 1], noise_sampler(sigmas[i], sigmas[i + 1]), x) + return x + + + +@torch.no_grad() +def sample_heunpp2(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1.): + # From MIT licensed: https://github.com/Carzit/sd-webui-samplers-scheduler/ + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + s_end = sigmas[-1] + for i in trange(len(sigmas) - 1, disable=disable): + gamma = min(s_churn / (len(sigmas) - 1), 2 ** 0.5 - 1) if s_tmin <= sigmas[i] <= s_tmax else 0. + eps = torch.randn_like(x) * s_noise + sigma_hat = sigmas[i] * (gamma + 1) + if gamma > 0: + x = x + eps * (sigma_hat ** 2 - sigmas[i] ** 2) ** 0.5 + denoised = model(x, sigma_hat * s_in, **extra_args) + d = to_d(x, sigma_hat, denoised) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigma_hat, 'denoised': denoised}) + dt = sigmas[i + 1] - sigma_hat + if sigmas[i + 1] == s_end: + # Euler method + x = x + d * dt + elif sigmas[i + 2] == s_end: + + # Heun's method + x_2 = x + d * dt + denoised_2 = model(x_2, sigmas[i + 1] * s_in, **extra_args) + d_2 = to_d(x_2, sigmas[i + 1], denoised_2) + + w = 2 * sigmas[0] + w2 = sigmas[i+1]/w + w1 = 1 - w2 + + d_prime = d * w1 + d_2 * w2 + + + x = x + d_prime * dt + + else: + # Heun++ + x_2 = x + d * dt + denoised_2 = model(x_2, sigmas[i + 1] * s_in, **extra_args) + d_2 = to_d(x_2, sigmas[i + 1], denoised_2) + dt_2 = sigmas[i + 2] - sigmas[i + 1] + + x_3 = x_2 + d_2 * dt_2 + denoised_3 = model(x_3, sigmas[i + 2] * s_in, **extra_args) + d_3 = to_d(x_3, sigmas[i + 2], denoised_3) + + w = 3 * sigmas[0] + w2 = sigmas[i + 1] / w + w3 = sigmas[i + 2] / w + w1 = 1 - w2 - w3 + + d_prime = w1 * d + w2 * d_2 + w3 * d_3 + x = x + d_prime * dt + return x + + +#From https://github.com/zju-pi/diff-sampler/blob/main/diff-solvers-main/solvers.py +#under Apache 2 license +def sample_ipndm(model, x, sigmas, extra_args=None, callback=None, disable=None, max_order=4): + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + + x_next = x + + buffer_model = [] + for i in trange(len(sigmas) - 1, disable=disable): + t_cur = sigmas[i] + t_next = sigmas[i + 1] + + x_cur = x_next + + denoised = model(x_cur, t_cur * s_in, **extra_args) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + + d_cur = (x_cur - denoised) / t_cur + + order = min(max_order, i+1) + if order == 1: # First Euler step. + x_next = x_cur + (t_next - t_cur) * d_cur + elif order == 2: # Use one history point. + x_next = x_cur + (t_next - t_cur) * (3 * d_cur - buffer_model[-1]) / 2 + elif order == 3: # Use two history points. + x_next = x_cur + (t_next - t_cur) * (23 * d_cur - 16 * buffer_model[-1] + 5 * buffer_model[-2]) / 12 + elif order == 4: # Use three history points. + x_next = x_cur + (t_next - t_cur) * (55 * d_cur - 59 * buffer_model[-1] + 37 * buffer_model[-2] - 9 * buffer_model[-3]) / 24 + + if len(buffer_model) == max_order - 1: + for k in range(max_order - 2): + buffer_model[k] = buffer_model[k+1] + buffer_model[-1] = d_cur + else: + buffer_model.append(d_cur) + + return x_next + +#From https://github.com/zju-pi/diff-sampler/blob/main/diff-solvers-main/solvers.py +#under Apache 2 license +def sample_ipndm_v(model, x, sigmas, extra_args=None, callback=None, disable=None, max_order=4): + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + + x_next = x + t_steps = sigmas + + buffer_model = [] + for i in trange(len(sigmas) - 1, disable=disable): + t_cur = sigmas[i] + t_next = sigmas[i + 1] + + x_cur = x_next + + denoised = model(x_cur, t_cur * s_in, **extra_args) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + + d_cur = (x_cur - denoised) / t_cur + + order = min(max_order, i+1) + if order == 1: # First Euler step. + x_next = x_cur + (t_next - t_cur) * d_cur + elif order == 2: # Use one history point. + h_n = (t_next - t_cur) + h_n_1 = (t_cur - t_steps[i-1]) + coeff1 = (2 + (h_n / h_n_1)) / 2 + coeff2 = -(h_n / h_n_1) / 2 + x_next = x_cur + (t_next - t_cur) * (coeff1 * d_cur + coeff2 * buffer_model[-1]) + elif order == 3: # Use two history points. + h_n = (t_next - t_cur) + h_n_1 = (t_cur - t_steps[i-1]) + h_n_2 = (t_steps[i-1] - t_steps[i-2]) + temp = (1 - h_n / (3 * (h_n + h_n_1)) * (h_n * (h_n + h_n_1)) / (h_n_1 * (h_n_1 + h_n_2))) / 2 + coeff1 = (2 + (h_n / h_n_1)) / 2 + temp + coeff2 = -(h_n / h_n_1) / 2 - (1 + h_n_1 / h_n_2) * temp + coeff3 = temp * h_n_1 / h_n_2 + x_next = x_cur + (t_next - t_cur) * (coeff1 * d_cur + coeff2 * buffer_model[-1] + coeff3 * buffer_model[-2]) + elif order == 4: # Use three history points. + h_n = (t_next - t_cur) + h_n_1 = (t_cur - t_steps[i-1]) + h_n_2 = (t_steps[i-1] - t_steps[i-2]) + h_n_3 = (t_steps[i-2] - t_steps[i-3]) + temp1 = (1 - h_n / (3 * (h_n + h_n_1)) * (h_n * (h_n + h_n_1)) / (h_n_1 * (h_n_1 + h_n_2))) / 2 + temp2 = ((1 - h_n / (3 * (h_n + h_n_1))) / 2 + (1 - h_n / (2 * (h_n + h_n_1))) * h_n / (6 * (h_n + h_n_1 + h_n_2))) \ + * (h_n * (h_n + h_n_1) * (h_n + h_n_1 + h_n_2)) / (h_n_1 * (h_n_1 + h_n_2) * (h_n_1 + h_n_2 + h_n_3)) + coeff1 = (2 + (h_n / h_n_1)) / 2 + temp1 + temp2 + coeff2 = -(h_n / h_n_1) / 2 - (1 + h_n_1 / h_n_2) * temp1 - (1 + (h_n_1 / h_n_2) + (h_n_1 * (h_n_1 + h_n_2) / (h_n_2 * (h_n_2 + h_n_3)))) * temp2 + coeff3 = temp1 * h_n_1 / h_n_2 + ((h_n_1 / h_n_2) + (h_n_1 * (h_n_1 + h_n_2) / (h_n_2 * (h_n_2 + h_n_3))) * (1 + h_n_2 / h_n_3)) * temp2 + coeff4 = -temp2 * (h_n_1 * (h_n_1 + h_n_2) / (h_n_2 * (h_n_2 + h_n_3))) * h_n_1 / h_n_2 + x_next = x_cur + (t_next - t_cur) * (coeff1 * d_cur + coeff2 * buffer_model[-1] + coeff3 * buffer_model[-2] + coeff4 * buffer_model[-3]) + + if len(buffer_model) == max_order - 1: + for k in range(max_order - 2): + buffer_model[k] = buffer_model[k+1] + buffer_model[-1] = d_cur.detach() + else: + buffer_model.append(d_cur.detach()) + + return x_next + +#From https://github.com/zju-pi/diff-sampler/blob/main/diff-solvers-main/solvers.py +#under Apache 2 license +@torch.no_grad() +def sample_deis(model, x, sigmas, extra_args=None, callback=None, disable=None, max_order=3, deis_mode='tab'): + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + + x_next = x + t_steps = sigmas + + coeff_list = deis.get_deis_coeff_list(t_steps, max_order, deis_mode=deis_mode) + + buffer_model = [] + for i in trange(len(sigmas) - 1, disable=disable): + t_cur = sigmas[i] + t_next = sigmas[i + 1] + + x_cur = x_next + + denoised = model(x_cur, t_cur * s_in, **extra_args) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + + d_cur = (x_cur - denoised) / t_cur + + order = min(max_order, i+1) + if t_next <= 0: + order = 1 + + if order == 1: # First Euler step. + x_next = x_cur + (t_next - t_cur) * d_cur + elif order == 2: # Use one history point. + coeff_cur, coeff_prev1 = coeff_list[i] + x_next = x_cur + coeff_cur * d_cur + coeff_prev1 * buffer_model[-1] + elif order == 3: # Use two history points. + coeff_cur, coeff_prev1, coeff_prev2 = coeff_list[i] + x_next = x_cur + coeff_cur * d_cur + coeff_prev1 * buffer_model[-1] + coeff_prev2 * buffer_model[-2] + elif order == 4: # Use three history points. + coeff_cur, coeff_prev1, coeff_prev2, coeff_prev3 = coeff_list[i] + x_next = x_cur + coeff_cur * d_cur + coeff_prev1 * buffer_model[-1] + coeff_prev2 * buffer_model[-2] + coeff_prev3 * buffer_model[-3] + + if len(buffer_model) == max_order - 1: + for k in range(max_order - 2): + buffer_model[k] = buffer_model[k+1] + buffer_model[-1] = d_cur.detach() + else: + buffer_model.append(d_cur.detach()) + + return x_next + +@torch.no_grad() +def sample_euler_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disable=None): + extra_args = {} if extra_args is None else extra_args + + temp = [0] + def post_cfg_function(args): + temp[0] = args["uncond_denoised"] + return args["denoised"] + + model_options = extra_args.get("model_options", {}).copy() + extra_args["model_options"] = comfy.model_patcher.set_model_options_post_cfg_function(model_options, post_cfg_function, disable_cfg1_optimization=True) + + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + sigma_hat = sigmas[i] + denoised = model(x, sigma_hat * s_in, **extra_args) + d = to_d(x, sigma_hat, temp[0]) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigma_hat, 'denoised': denoised}) + # Euler method + x = denoised + d * sigmas[i + 1] + return x + +@torch.no_grad() +def sample_euler_ancestral_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + """Ancestral sampling with Euler method steps.""" + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + + temp = [0] + def post_cfg_function(args): + temp[0] = args["uncond_denoised"] + return args["denoised"] + + model_options = extra_args.get("model_options", {}).copy() + extra_args["model_options"] = comfy.model_patcher.set_model_options_post_cfg_function(model_options, post_cfg_function, disable_cfg1_optimization=True) + + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1], eta=eta) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + d = to_d(x, sigmas[i], temp[0]) + # Euler method + x = denoised + d * sigma_down + if sigmas[i + 1] > 0: + x = x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * sigma_up + return x +@torch.no_grad() +def sample_dpmpp_2s_ancestral_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + """Ancestral sampling with DPM-Solver++(2S) second-order steps.""" + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + + temp = [0] + def post_cfg_function(args): + temp[0] = args["uncond_denoised"] + return args["denoised"] + + model_options = extra_args.get("model_options", {}).copy() + extra_args["model_options"] = comfy.model_patcher.set_model_options_post_cfg_function(model_options, post_cfg_function, disable_cfg1_optimization=True) + + s_in = x.new_ones([x.shape[0]]) + sigma_fn = lambda t: t.neg().exp() + t_fn = lambda sigma: sigma.log().neg() + + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1], eta=eta) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + if sigma_down == 0: + # Euler method + d = to_d(x, sigmas[i], temp[0]) + x = denoised + d * sigma_down + else: + # DPM-Solver++(2S) + t, t_next = t_fn(sigmas[i]), t_fn(sigma_down) + # r = torch.sinh(1 + (2 - eta) * (t_next - t) / (t - t_fn(sigma_up))) works only on non-cfgpp, weird + r = 1 / 2 + h = t_next - t + s = t + r * h + x_2 = (sigma_fn(s) / sigma_fn(t)) * (x + (denoised - temp[0])) - (-h * r).expm1() * denoised + denoised_2 = model(x_2, sigma_fn(s) * s_in, **extra_args) + x = (sigma_fn(t_next) / sigma_fn(t)) * (x + (denoised - temp[0])) - (-h).expm1() * denoised_2 + # Noise addition + if sigmas[i + 1] > 0: + x = x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * sigma_up + return x + +@torch.no_grad() +def sample_dpmpp_2m_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disable=None): + """DPM-Solver++(2M).""" + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + t_fn = lambda sigma: sigma.log().neg() + + old_uncond_denoised = None + uncond_denoised = None + def post_cfg_function(args): + nonlocal uncond_denoised + uncond_denoised = args["uncond_denoised"] + return args["denoised"] + + model_options = extra_args.get("model_options", {}).copy() + extra_args["model_options"] = comfy.model_patcher.set_model_options_post_cfg_function(model_options, post_cfg_function, disable_cfg1_optimization=True) + + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + t, t_next = t_fn(sigmas[i]), t_fn(sigmas[i + 1]) + h = t_next - t + if old_uncond_denoised is None or sigmas[i + 1] == 0: + denoised_mix = -torch.exp(-h) * uncond_denoised + else: + h_last = t - t_fn(sigmas[i - 1]) + r = h_last / h + denoised_mix = -torch.exp(-h) * uncond_denoised - torch.expm1(-h) * (1 / (2 * r)) * (denoised - old_uncond_denoised) + x = denoised + denoised_mix + torch.exp(-h) * x + old_uncond_denoised = uncond_denoised + return x + +@torch.no_grad() +def res_multistep(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1., noise_sampler=None, cfg_pp=False): + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + s_in = x.new_ones([x.shape[0]]) + sigma_fn = lambda t: t.neg().exp() + t_fn = lambda sigma: sigma.log().neg() + phi1_fn = lambda t: torch.expm1(t) / t + phi2_fn = lambda t: (phi1_fn(t) - 1.0) / t + + old_denoised = None + uncond_denoised = None + def post_cfg_function(args): + nonlocal uncond_denoised + uncond_denoised = args["uncond_denoised"] + return args["denoised"] + + if cfg_pp: + model_options = extra_args.get("model_options", {}).copy() + extra_args["model_options"] = comfy.model_patcher.set_model_options_post_cfg_function(model_options, post_cfg_function, disable_cfg1_optimization=True) + + for i in trange(len(sigmas) - 1, disable=disable): + if s_churn > 0: + gamma = min(s_churn / (len(sigmas) - 1), 2**0.5 - 1) if s_tmin <= sigmas[i] <= s_tmax else 0.0 + sigma_hat = sigmas[i] * (gamma + 1) + else: + gamma = 0 + sigma_hat = sigmas[i] + + if gamma > 0: + eps = torch.randn_like(x) * s_noise + x = x + eps * (sigma_hat**2 - sigmas[i] ** 2) ** 0.5 + denoised = model(x, sigma_hat * s_in, **extra_args) + if callback is not None: + callback({"x": x, "i": i, "sigma": sigmas[i], "sigma_hat": sigma_hat, "denoised": denoised}) + if sigmas[i + 1] == 0 or old_denoised is None: + # Euler method + if cfg_pp: + d = to_d(x, sigma_hat, uncond_denoised) + x = denoised + d * sigmas[i + 1] + else: + d = to_d(x, sigma_hat, denoised) + dt = sigmas[i + 1] - sigma_hat + x = x + d * dt + else: + # Second order multistep method in https://arxiv.org/pdf/2308.02157 + t, t_next, t_prev = t_fn(sigmas[i]), t_fn(sigmas[i + 1]), t_fn(sigmas[i - 1]) + h = t_next - t + c2 = (t_prev - t) / h + + phi1_val, phi2_val = phi1_fn(-h), phi2_fn(-h) + b1 = torch.nan_to_num(phi1_val - 1.0 / c2 * phi2_val, nan=0.0) + b2 = torch.nan_to_num(1.0 / c2 * phi2_val, nan=0.0) + + if cfg_pp: + x = x + (denoised - uncond_denoised) + + x = (sigma_fn(t_next) / sigma_fn(t)) * x + h * (b1 * denoised + b2 * old_denoised) + + old_denoised = denoised + return x + +@torch.no_grad() +def sample_res_multistep(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1., noise_sampler=None): + return res_multistep(model, x, sigmas, extra_args=extra_args, callback=callback, disable=disable, s_churn=s_churn, s_tmin=s_tmin, s_tmax=s_tmax, s_noise=s_noise, noise_sampler=noise_sampler, cfg_pp=False) + +@torch.no_grad() +def sample_res_multistep_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1., noise_sampler=None): + return res_multistep(model, x, sigmas, extra_args=extra_args, callback=callback, disable=disable, s_churn=s_churn, s_tmin=s_tmin, s_tmax=s_tmax, s_noise=s_noise, noise_sampler=noise_sampler, cfg_pp=True) diff --git a/comfy/k_diffusion/utils.py b/comfy/k_diffusion/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..a644df2f3cf82b32ac6e9bf2cb7bfc70c95e05f9 --- /dev/null +++ b/comfy/k_diffusion/utils.py @@ -0,0 +1,313 @@ +from contextlib import contextmanager +import hashlib +import math +from pathlib import Path +import shutil +import urllib +import warnings + +from PIL import Image +import torch +from torch import nn, optim +from torch.utils import data + + +def hf_datasets_augs_helper(examples, transform, image_key, mode='RGB'): + """Apply passed in transforms for HuggingFace Datasets.""" + images = [transform(image.convert(mode)) for image in examples[image_key]] + return {image_key: images} + + +def append_dims(x, target_dims): + """Appends dimensions to the end of a tensor until it has target_dims dimensions.""" + dims_to_append = target_dims - x.ndim + if dims_to_append < 0: + raise ValueError(f'input has {x.ndim} dims but target_dims is {target_dims}, which is less') + expanded = x[(...,) + (None,) * dims_to_append] + # MPS will get inf values if it tries to index into the new axes, but detaching fixes this. + # https://github.com/pytorch/pytorch/issues/84364 + return expanded.detach().clone() if expanded.device.type == 'mps' else expanded + + +def n_params(module): + """Returns the number of trainable parameters in a module.""" + return sum(p.numel() for p in module.parameters()) + + +def download_file(path, url, digest=None): + """Downloads a file if it does not exist, optionally checking its SHA-256 hash.""" + path = Path(path) + path.parent.mkdir(parents=True, exist_ok=True) + if not path.exists(): + with urllib.request.urlopen(url) as response, open(path, 'wb') as f: + shutil.copyfileobj(response, f) + if digest is not None: + file_digest = hashlib.sha256(open(path, 'rb').read()).hexdigest() + if digest != file_digest: + raise OSError(f'hash of {path} (url: {url}) failed to validate') + return path + + +@contextmanager +def train_mode(model, mode=True): + """A context manager that places a model into training mode and restores + the previous mode on exit.""" + modes = [module.training for module in model.modules()] + try: + yield model.train(mode) + finally: + for i, module in enumerate(model.modules()): + module.training = modes[i] + + +def eval_mode(model): + """A context manager that places a model into evaluation mode and restores + the previous mode on exit.""" + return train_mode(model, False) + + +@torch.no_grad() +def ema_update(model, averaged_model, decay): + """Incorporates updated model parameters into an exponential moving averaged + version of a model. It should be called after each optimizer step.""" + model_params = dict(model.named_parameters()) + averaged_params = dict(averaged_model.named_parameters()) + assert model_params.keys() == averaged_params.keys() + + for name, param in model_params.items(): + averaged_params[name].mul_(decay).add_(param, alpha=1 - decay) + + model_buffers = dict(model.named_buffers()) + averaged_buffers = dict(averaged_model.named_buffers()) + assert model_buffers.keys() == averaged_buffers.keys() + + for name, buf in model_buffers.items(): + averaged_buffers[name].copy_(buf) + + +class EMAWarmup: + """Implements an EMA warmup using an inverse decay schedule. + If inv_gamma=1 and power=1, implements a simple average. inv_gamma=1, power=2/3 are + good values for models you plan to train for a million or more steps (reaches decay + factor 0.999 at 31.6K steps, 0.9999 at 1M steps), inv_gamma=1, power=3/4 for models + you plan to train for less (reaches decay factor 0.999 at 10K steps, 0.9999 at + 215.4k steps). + Args: + inv_gamma (float): Inverse multiplicative factor of EMA warmup. Default: 1. + power (float): Exponential factor of EMA warmup. Default: 1. + min_value (float): The minimum EMA decay rate. Default: 0. + max_value (float): The maximum EMA decay rate. Default: 1. + start_at (int): The epoch to start averaging at. Default: 0. + last_epoch (int): The index of last epoch. Default: 0. + """ + + def __init__(self, inv_gamma=1., power=1., min_value=0., max_value=1., start_at=0, + last_epoch=0): + self.inv_gamma = inv_gamma + self.power = power + self.min_value = min_value + self.max_value = max_value + self.start_at = start_at + self.last_epoch = last_epoch + + def state_dict(self): + """Returns the state of the class as a :class:`dict`.""" + return dict(self.__dict__.items()) + + def load_state_dict(self, state_dict): + """Loads the class's state. + Args: + state_dict (dict): scaler state. Should be an object returned + from a call to :meth:`state_dict`. + """ + self.__dict__.update(state_dict) + + def get_value(self): + """Gets the current EMA decay rate.""" + epoch = max(0, self.last_epoch - self.start_at) + value = 1 - (1 + epoch / self.inv_gamma) ** -self.power + return 0. if epoch < 0 else min(self.max_value, max(self.min_value, value)) + + def step(self): + """Updates the step count.""" + self.last_epoch += 1 + + +class InverseLR(optim.lr_scheduler._LRScheduler): + """Implements an inverse decay learning rate schedule with an optional exponential + warmup. When last_epoch=-1, sets initial lr as lr. + inv_gamma is the number of steps/epochs required for the learning rate to decay to + (1 / 2)**power of its original value. + Args: + optimizer (Optimizer): Wrapped optimizer. + inv_gamma (float): Inverse multiplicative factor of learning rate decay. Default: 1. + power (float): Exponential factor of learning rate decay. Default: 1. + warmup (float): Exponential warmup factor (0 <= warmup < 1, 0 to disable) + Default: 0. + min_lr (float): The minimum learning rate. Default: 0. + last_epoch (int): The index of last epoch. Default: -1. + verbose (bool): If ``True``, prints a message to stdout for + each update. Default: ``False``. + """ + + def __init__(self, optimizer, inv_gamma=1., power=1., warmup=0., min_lr=0., + last_epoch=-1, verbose=False): + self.inv_gamma = inv_gamma + self.power = power + if not 0. <= warmup < 1: + raise ValueError('Invalid value for warmup') + self.warmup = warmup + self.min_lr = min_lr + super().__init__(optimizer, last_epoch, verbose) + + def get_lr(self): + if not self._get_lr_called_within_step: + warnings.warn("To get the last learning rate computed by the scheduler, " + "please use `get_last_lr()`.") + + return self._get_closed_form_lr() + + def _get_closed_form_lr(self): + warmup = 1 - self.warmup ** (self.last_epoch + 1) + lr_mult = (1 + self.last_epoch / self.inv_gamma) ** -self.power + return [warmup * max(self.min_lr, base_lr * lr_mult) + for base_lr in self.base_lrs] + + +class ExponentialLR(optim.lr_scheduler._LRScheduler): + """Implements an exponential learning rate schedule with an optional exponential + warmup. When last_epoch=-1, sets initial lr as lr. Decays the learning rate + continuously by decay (default 0.5) every num_steps steps. + Args: + optimizer (Optimizer): Wrapped optimizer. + num_steps (float): The number of steps to decay the learning rate by decay in. + decay (float): The factor by which to decay the learning rate every num_steps + steps. Default: 0.5. + warmup (float): Exponential warmup factor (0 <= warmup < 1, 0 to disable) + Default: 0. + min_lr (float): The minimum learning rate. Default: 0. + last_epoch (int): The index of last epoch. Default: -1. + verbose (bool): If ``True``, prints a message to stdout for + each update. Default: ``False``. + """ + + def __init__(self, optimizer, num_steps, decay=0.5, warmup=0., min_lr=0., + last_epoch=-1, verbose=False): + self.num_steps = num_steps + self.decay = decay + if not 0. <= warmup < 1: + raise ValueError('Invalid value for warmup') + self.warmup = warmup + self.min_lr = min_lr + super().__init__(optimizer, last_epoch, verbose) + + def get_lr(self): + if not self._get_lr_called_within_step: + warnings.warn("To get the last learning rate computed by the scheduler, " + "please use `get_last_lr()`.") + + return self._get_closed_form_lr() + + def _get_closed_form_lr(self): + warmup = 1 - self.warmup ** (self.last_epoch + 1) + lr_mult = (self.decay ** (1 / self.num_steps)) ** self.last_epoch + return [warmup * max(self.min_lr, base_lr * lr_mult) + for base_lr in self.base_lrs] + + +def rand_log_normal(shape, loc=0., scale=1., device='cpu', dtype=torch.float32): + """Draws samples from an lognormal distribution.""" + return (torch.randn(shape, device=device, dtype=dtype) * scale + loc).exp() + + +def rand_log_logistic(shape, loc=0., scale=1., min_value=0., max_value=float('inf'), device='cpu', dtype=torch.float32): + """Draws samples from an optionally truncated log-logistic distribution.""" + min_value = torch.as_tensor(min_value, device=device, dtype=torch.float64) + max_value = torch.as_tensor(max_value, device=device, dtype=torch.float64) + min_cdf = min_value.log().sub(loc).div(scale).sigmoid() + max_cdf = max_value.log().sub(loc).div(scale).sigmoid() + u = torch.rand(shape, device=device, dtype=torch.float64) * (max_cdf - min_cdf) + min_cdf + return u.logit().mul(scale).add(loc).exp().to(dtype) + + +def rand_log_uniform(shape, min_value, max_value, device='cpu', dtype=torch.float32): + """Draws samples from an log-uniform distribution.""" + min_value = math.log(min_value) + max_value = math.log(max_value) + return (torch.rand(shape, device=device, dtype=dtype) * (max_value - min_value) + min_value).exp() + + +def rand_v_diffusion(shape, sigma_data=1., min_value=0., max_value=float('inf'), device='cpu', dtype=torch.float32): + """Draws samples from a truncated v-diffusion training timestep distribution.""" + min_cdf = math.atan(min_value / sigma_data) * 2 / math.pi + max_cdf = math.atan(max_value / sigma_data) * 2 / math.pi + u = torch.rand(shape, device=device, dtype=dtype) * (max_cdf - min_cdf) + min_cdf + return torch.tan(u * math.pi / 2) * sigma_data + + +def rand_split_log_normal(shape, loc, scale_1, scale_2, device='cpu', dtype=torch.float32): + """Draws samples from a split lognormal distribution.""" + n = torch.randn(shape, device=device, dtype=dtype).abs() + u = torch.rand(shape, device=device, dtype=dtype) + n_left = n * -scale_1 + loc + n_right = n * scale_2 + loc + ratio = scale_1 / (scale_1 + scale_2) + return torch.where(u < ratio, n_left, n_right).exp() + + +class FolderOfImages(data.Dataset): + """Recursively finds all images in a directory. It does not support + classes/targets.""" + + IMG_EXTENSIONS = {'.jpg', '.jpeg', '.png', '.ppm', '.bmp', '.pgm', '.tif', '.tiff', '.webp'} + + def __init__(self, root, transform=None): + super().__init__() + self.root = Path(root) + self.transform = nn.Identity() if transform is None else transform + self.paths = sorted(path for path in self.root.rglob('*') if path.suffix.lower() in self.IMG_EXTENSIONS) + + def __repr__(self): + return f'FolderOfImages(root="{self.root}", len: {len(self)})' + + def __len__(self): + return len(self.paths) + + def __getitem__(self, key): + path = self.paths[key] + with open(path, 'rb') as f: + image = Image.open(f).convert('RGB') + image = self.transform(image) + return image, + + +class CSVLogger: + def __init__(self, filename, columns): + self.filename = Path(filename) + self.columns = columns + if self.filename.exists(): + self.file = open(self.filename, 'a') + else: + self.file = open(self.filename, 'w') + self.write(*self.columns) + + def write(self, *args): + print(*args, sep=',', file=self.file, flush=True) + + +@contextmanager +def tf32_mode(cudnn=None, matmul=None): + """A context manager that sets whether TF32 is allowed on cuDNN or matmul.""" + cudnn_old = torch.backends.cudnn.allow_tf32 + matmul_old = torch.backends.cuda.matmul.allow_tf32 + try: + if cudnn is not None: + torch.backends.cudnn.allow_tf32 = cudnn + if matmul is not None: + torch.backends.cuda.matmul.allow_tf32 = matmul + yield + finally: + if cudnn is not None: + torch.backends.cudnn.allow_tf32 = cudnn_old + if matmul is not None: + torch.backends.cuda.matmul.allow_tf32 = matmul_old diff --git a/comfy/latent_formats.py b/comfy/latent_formats.py new file mode 100644 index 0000000000000000000000000000000000000000..e98982c941f75eb7f607e9f65d0baba974534d91 --- /dev/null +++ b/comfy/latent_formats.py @@ -0,0 +1,409 @@ +import torch + +class LatentFormat: + scale_factor = 1.0 + latent_channels = 4 + latent_dimensions = 2 + latent_rgb_factors = None + latent_rgb_factors_bias = None + taesd_decoder_name = None + + def process_in(self, latent): + return latent * self.scale_factor + + def process_out(self, latent): + return latent / self.scale_factor + +class SD15(LatentFormat): + def __init__(self, scale_factor=0.18215): + self.scale_factor = scale_factor + self.latent_rgb_factors = [ + # R G B + [ 0.3512, 0.2297, 0.3227], + [ 0.3250, 0.4974, 0.2350], + [-0.2829, 0.1762, 0.2721], + [-0.2120, -0.2616, -0.7177] + ] + self.taesd_decoder_name = "taesd_decoder" + +class SDXL(LatentFormat): + scale_factor = 0.13025 + + def __init__(self): + self.latent_rgb_factors = [ + # R G B + [ 0.3651, 0.4232, 0.4341], + [-0.2533, -0.0042, 0.1068], + [ 0.1076, 0.1111, -0.0362], + [-0.3165, -0.2492, -0.2188] + ] + self.latent_rgb_factors_bias = [ 0.1084, -0.0175, -0.0011] + + self.taesd_decoder_name = "taesdxl_decoder" + +class SDXL_Playground_2_5(LatentFormat): + def __init__(self): + self.scale_factor = 0.5 + self.latents_mean = torch.tensor([-1.6574, 1.886, -1.383, 2.5155]).view(1, 4, 1, 1) + self.latents_std = torch.tensor([8.4927, 5.9022, 6.5498, 5.2299]).view(1, 4, 1, 1) + + self.latent_rgb_factors = [ + # R G B + [ 0.3920, 0.4054, 0.4549], + [-0.2634, -0.0196, 0.0653], + [ 0.0568, 0.1687, -0.0755], + [-0.3112, -0.2359, -0.2076] + ] + self.taesd_decoder_name = "taesdxl_decoder" + + def process_in(self, latent): + latents_mean = self.latents_mean.to(latent.device, latent.dtype) + latents_std = self.latents_std.to(latent.device, latent.dtype) + return (latent - latents_mean) * self.scale_factor / latents_std + + def process_out(self, latent): + latents_mean = self.latents_mean.to(latent.device, latent.dtype) + latents_std = self.latents_std.to(latent.device, latent.dtype) + return latent * latents_std / self.scale_factor + latents_mean + + +class SD_X4(LatentFormat): + def __init__(self): + self.scale_factor = 0.08333 + self.latent_rgb_factors = [ + [-0.2340, -0.3863, -0.3257], + [ 0.0994, 0.0885, -0.0908], + [-0.2833, -0.2349, -0.3741], + [ 0.2523, -0.0055, -0.1651] + ] + +class SC_Prior(LatentFormat): + latent_channels = 16 + def __init__(self): + self.scale_factor = 1.0 + self.latent_rgb_factors = [ + [-0.0326, -0.0204, -0.0127], + [-0.1592, -0.0427, 0.0216], + [ 0.0873, 0.0638, -0.0020], + [-0.0602, 0.0442, 0.1304], + [ 0.0800, -0.0313, -0.1796], + [-0.0810, -0.0638, -0.1581], + [ 0.1791, 0.1180, 0.0967], + [ 0.0740, 0.1416, 0.0432], + [-0.1745, -0.1888, -0.1373], + [ 0.2412, 0.1577, 0.0928], + [ 0.1908, 0.0998, 0.0682], + [ 0.0209, 0.0365, -0.0092], + [ 0.0448, -0.0650, -0.1728], + [-0.1658, -0.1045, -0.1308], + [ 0.0542, 0.1545, 0.1325], + [-0.0352, -0.1672, -0.2541] + ] + +class SC_B(LatentFormat): + def __init__(self): + self.scale_factor = 1.0 / 0.43 + self.latent_rgb_factors = [ + [ 0.1121, 0.2006, 0.1023], + [-0.2093, -0.0222, -0.0195], + [-0.3087, -0.1535, 0.0366], + [ 0.0290, -0.1574, -0.4078] + ] + +class SD3(LatentFormat): + latent_channels = 16 + def __init__(self): + self.scale_factor = 1.5305 + self.shift_factor = 0.0609 + self.latent_rgb_factors = [ + [-0.0922, -0.0175, 0.0749], + [ 0.0311, 0.0633, 0.0954], + [ 0.1994, 0.0927, 0.0458], + [ 0.0856, 0.0339, 0.0902], + [ 0.0587, 0.0272, -0.0496], + [-0.0006, 0.1104, 0.0309], + [ 0.0978, 0.0306, 0.0427], + [-0.0042, 0.1038, 0.1358], + [-0.0194, 0.0020, 0.0669], + [-0.0488, 0.0130, -0.0268], + [ 0.0922, 0.0988, 0.0951], + [-0.0278, 0.0524, -0.0542], + [ 0.0332, 0.0456, 0.0895], + [-0.0069, -0.0030, -0.0810], + [-0.0596, -0.0465, -0.0293], + [-0.1448, -0.1463, -0.1189] + ] + self.latent_rgb_factors_bias = [0.2394, 0.2135, 0.1925] + self.taesd_decoder_name = "taesd3_decoder" + + def process_in(self, latent): + return (latent - self.shift_factor) * self.scale_factor + + def process_out(self, latent): + return (latent / self.scale_factor) + self.shift_factor + +class StableAudio1(LatentFormat): + latent_channels = 64 + latent_dimensions = 1 + +class Flux(SD3): + latent_channels = 16 + def __init__(self): + self.scale_factor = 0.3611 + self.shift_factor = 0.1159 + self.latent_rgb_factors =[ + [-0.0346, 0.0244, 0.0681], + [ 0.0034, 0.0210, 0.0687], + [ 0.0275, -0.0668, -0.0433], + [-0.0174, 0.0160, 0.0617], + [ 0.0859, 0.0721, 0.0329], + [ 0.0004, 0.0383, 0.0115], + [ 0.0405, 0.0861, 0.0915], + [-0.0236, -0.0185, -0.0259], + [-0.0245, 0.0250, 0.1180], + [ 0.1008, 0.0755, -0.0421], + [-0.0515, 0.0201, 0.0011], + [ 0.0428, -0.0012, -0.0036], + [ 0.0817, 0.0765, 0.0749], + [-0.1264, -0.0522, -0.1103], + [-0.0280, -0.0881, -0.0499], + [-0.1262, -0.0982, -0.0778] + ] + self.latent_rgb_factors_bias = [-0.0329, -0.0718, -0.0851] + self.taesd_decoder_name = "taef1_decoder" + + def process_in(self, latent): + return (latent - self.shift_factor) * self.scale_factor + + def process_out(self, latent): + return (latent / self.scale_factor) + self.shift_factor + +class Mochi(LatentFormat): + latent_channels = 12 + latent_dimensions = 3 + + def __init__(self): + self.scale_factor = 1.0 + self.latents_mean = torch.tensor([-0.06730895953510081, -0.038011381506090416, -0.07477820912866141, + -0.05565264470995561, 0.012767231469026969, -0.04703542746246419, + 0.043896967884726704, -0.09346305707025976, -0.09918314763016893, + -0.008729793427399178, -0.011931556316503654, -0.0321993391887285]).view(1, self.latent_channels, 1, 1, 1) + self.latents_std = torch.tensor([0.9263795028493863, 0.9248894543193766, 0.9393059390890617, + 0.959253732819592, 0.8244560132752793, 0.917259975397747, + 0.9294154431013696, 1.3720942357788521, 0.881393668867029, + 0.9168315692124348, 0.9185249279345552, 0.9274757570805041]).view(1, self.latent_channels, 1, 1, 1) + + self.latent_rgb_factors =[ + [-0.0069, -0.0045, 0.0018], + [ 0.0154, -0.0692, -0.0274], + [ 0.0333, 0.0019, 0.0206], + [-0.1390, 0.0628, 0.1678], + [-0.0725, 0.0134, -0.1898], + [ 0.0074, -0.0270, -0.0209], + [-0.0176, -0.0277, -0.0221], + [ 0.5294, 0.5204, 0.3852], + [-0.0326, -0.0446, -0.0143], + [-0.0659, 0.0153, -0.0153], + [ 0.0185, -0.0217, 0.0014], + [-0.0396, -0.0495, -0.0281] + ] + self.latent_rgb_factors_bias = [-0.0940, -0.1418, -0.1453] + self.taesd_decoder_name = None #TODO + + def process_in(self, latent): + latents_mean = self.latents_mean.to(latent.device, latent.dtype) + latents_std = self.latents_std.to(latent.device, latent.dtype) + return (latent - latents_mean) * self.scale_factor / latents_std + + def process_out(self, latent): + latents_mean = self.latents_mean.to(latent.device, latent.dtype) + latents_std = self.latents_std.to(latent.device, latent.dtype) + return latent * latents_std / self.scale_factor + latents_mean + +class LTXV(LatentFormat): + latent_channels = 128 + latent_dimensions = 3 + + def __init__(self): + self.latent_rgb_factors = [ + [ 1.1202e-02, -6.3815e-04, -1.0021e-02], + [ 8.6031e-02, 6.5813e-02, 9.5409e-04], + [-1.2576e-02, -7.5734e-03, -4.0528e-03], + [ 9.4063e-03, -2.1688e-03, 2.6093e-03], + [ 3.7636e-03, 1.2765e-02, 9.1548e-03], + [ 2.1024e-02, -5.2973e-03, 3.4373e-03], + [-8.8896e-03, -1.9703e-02, -1.8761e-02], + [-1.3160e-02, -1.0523e-02, 1.9709e-03], + [-1.5152e-03, -6.9891e-03, -7.5810e-03], + [-1.7247e-03, 4.6560e-04, -3.3839e-03], + [ 1.3617e-02, 4.7077e-03, -2.0045e-03], + [ 1.0256e-02, 7.7318e-03, 1.3948e-02], + [-1.6108e-02, -6.2151e-03, 1.1561e-03], + [ 7.3407e-03, 1.5628e-02, 4.4865e-04], + [ 9.5357e-04, -2.9518e-03, -1.4760e-02], + [ 1.9143e-02, 1.0868e-02, 1.2264e-02], + [ 4.4575e-03, 3.6682e-05, -6.8508e-03], + [-4.5681e-04, 3.2570e-03, 7.7929e-03], + [ 3.3902e-02, 3.3405e-02, 3.7454e-02], + [-2.3001e-02, -2.4877e-03, -3.1033e-03], + [ 5.0265e-02, 3.8841e-02, 3.3539e-02], + [-4.1018e-03, -1.1095e-03, 1.5859e-03], + [-1.2689e-01, -1.3107e-01, -2.1005e-01], + [ 2.6276e-02, 1.4189e-02, -3.5963e-03], + [-4.8679e-03, 8.8486e-03, 7.8029e-03], + [-1.6610e-03, -4.8597e-03, -5.2060e-03], + [-2.1010e-03, 2.3610e-03, 9.3796e-03], + [-2.2482e-02, -2.1305e-02, -1.5087e-02], + [-1.5753e-02, -1.0646e-02, -6.5083e-03], + [-4.6975e-03, 5.0288e-03, -6.7390e-03], + [ 1.1951e-02, 2.0712e-02, 1.6191e-02], + [-6.3704e-03, -8.4827e-03, -9.5483e-03], + [ 7.2610e-03, -9.9326e-03, -2.2978e-02], + [-9.1904e-04, 6.2882e-03, 9.5720e-03], + [-3.7178e-02, -3.7123e-02, -5.6713e-02], + [-1.3373e-01, -1.0720e-01, -5.3801e-02], + [-5.3702e-03, 8.1256e-03, 8.8397e-03], + [-1.5247e-01, -2.1437e-01, -2.1843e-01], + [ 3.1441e-02, 7.0335e-03, -9.7541e-03], + [ 2.1528e-03, -8.9817e-03, -2.1023e-02], + [ 3.8461e-03, -5.8957e-03, -1.5014e-02], + [-4.3470e-03, -1.2940e-02, -1.5972e-02], + [-5.4781e-03, -1.0842e-02, -3.0204e-03], + [-6.5347e-03, 3.0806e-03, -1.0163e-02], + [-5.0414e-03, -7.1503e-03, -8.9686e-04], + [-8.5851e-03, -2.4351e-03, 1.0674e-03], + [-9.0016e-03, -9.6493e-03, 1.5692e-03], + [ 5.0914e-03, 1.2099e-02, 1.9968e-02], + [ 1.3758e-02, 1.1669e-02, 8.1958e-03], + [-1.0518e-02, -1.1575e-02, -4.1307e-03], + [-2.8410e-02, -3.1266e-02, -2.2149e-02], + [ 2.9336e-03, 3.6511e-02, 1.8717e-02], + [-1.6703e-02, -1.6696e-02, -4.4529e-03], + [ 4.8818e-02, 4.0063e-02, 8.7410e-03], + [-1.5066e-02, -5.7328e-04, 2.9785e-03], + [-1.7613e-02, -8.1034e-03, 1.3086e-02], + [-9.2633e-03, 1.0803e-02, -6.3489e-03], + [ 3.0851e-03, 4.7750e-04, 1.2347e-02], + [-2.2785e-02, -2.3043e-02, -2.6005e-02], + [-2.4787e-02, -1.5389e-02, -2.2104e-02], + [-2.3572e-02, 1.0544e-03, 1.2361e-02], + [-7.8915e-03, -1.2271e-03, -6.0968e-03], + [-1.1478e-02, -1.2543e-03, 6.2679e-03], + [-5.4229e-02, 2.6644e-02, 6.3394e-03], + [ 4.4216e-03, -7.3338e-03, -1.0464e-02], + [-4.5013e-03, 1.6082e-03, 1.4420e-02], + [ 1.3673e-02, 8.8877e-03, 4.1253e-03], + [-1.0145e-02, 9.0072e-03, 1.5695e-02], + [-5.6234e-03, 1.1847e-03, 8.1261e-03], + [-3.7171e-03, -5.3538e-03, 1.2590e-03], + [ 2.9476e-02, 2.1424e-02, 3.0424e-02], + [-3.4925e-02, -2.4340e-02, -2.5316e-02], + [-3.4127e-02, -2.2406e-02, -1.0589e-02], + [-1.7342e-02, -1.3249e-02, -1.0719e-02], + [-2.1478e-03, -8.6051e-03, -2.9878e-03], + [ 1.2089e-03, -4.2391e-03, -6.8569e-03], + [ 9.0411e-04, -6.6886e-03, -6.7547e-05], + [ 1.6048e-02, -1.0057e-02, -2.8929e-02], + [ 1.2290e-03, 1.0163e-02, 1.8861e-02], + [ 1.7264e-02, 2.7257e-04, 1.3785e-02], + [-1.3482e-02, -3.6427e-03, 6.7481e-04], + [ 4.6782e-03, -5.2423e-03, 2.4467e-03], + [-5.9113e-03, -6.2244e-03, -1.8162e-03], + [ 1.5496e-02, 1.4582e-02, 1.9514e-03], + [ 7.4958e-03, 1.5886e-03, -8.2305e-03], + [ 1.9086e-02, 1.6360e-03, -3.9674e-03], + [-5.7021e-03, -2.7307e-03, -4.1066e-03], + [ 1.7450e-03, 1.4602e-02, 2.5794e-02], + [-8.2788e-04, 2.2902e-03, 4.5161e-03], + [ 1.1632e-02, 8.9193e-03, -7.2813e-03], + [ 7.5721e-03, 2.6784e-03, 1.1393e-02], + [ 5.1939e-03, 3.6903e-03, 1.4049e-02], + [-1.8383e-02, -2.2529e-02, -2.4477e-02], + [ 5.8842e-04, -5.7874e-03, -1.4770e-02], + [-1.6125e-02, -8.6101e-03, -1.4533e-02], + [ 2.0540e-02, 2.0729e-02, 6.4338e-03], + [ 3.3587e-03, -1.1226e-02, -1.6444e-02], + [-1.4742e-03, -1.0489e-02, 1.7097e-03], + [ 2.8130e-02, 2.3546e-02, 3.2791e-02], + [-1.8532e-02, -1.2842e-02, -8.7756e-03], + [-8.0533e-03, -1.0771e-02, -1.7536e-02], + [-3.9009e-03, 1.6150e-02, 3.3359e-02], + [-7.4554e-03, -1.4154e-02, -6.1910e-03], + [ 3.4734e-03, -1.1370e-02, -1.0581e-02], + [ 1.1476e-02, 3.9281e-03, 2.8231e-03], + [ 7.1639e-03, -1.4741e-03, -3.8066e-03], + [ 2.2250e-03, -8.7552e-03, -9.5719e-03], + [ 2.4146e-02, 2.1696e-02, 2.8056e-02], + [-5.4365e-03, -2.4291e-02, -1.7802e-02], + [ 7.4263e-03, 1.0510e-02, 1.2705e-02], + [ 6.2669e-03, 6.2658e-03, 1.9211e-02], + [ 1.6378e-02, 9.4933e-03, 6.6971e-03], + [ 1.7173e-02, 2.3601e-02, 2.3296e-02], + [-1.4568e-02, -9.8279e-03, -1.1556e-02], + [ 1.4431e-02, 1.4430e-02, 6.6362e-03], + [-6.8230e-03, 1.8863e-02, 1.4555e-02], + [ 6.1156e-03, 3.4700e-03, -2.6662e-03], + [-2.6983e-03, -5.9402e-03, -9.2276e-03], + [ 1.0235e-02, 7.4173e-03, -7.6243e-03], + [-1.3255e-02, 1.9322e-02, -9.2153e-04], + [ 2.4222e-03, -4.8039e-03, -1.5759e-02], + [ 2.6244e-02, 2.5951e-02, 2.0249e-02], + [ 1.5711e-02, 1.8498e-02, 2.7407e-03], + [-2.1714e-03, 4.7214e-03, -2.2443e-02], + [-7.4747e-03, 7.4166e-03, 1.4430e-02], + [-8.3906e-03, -7.9776e-03, 9.7927e-03], + [ 3.8321e-02, 9.6622e-03, -1.9268e-02], + [-1.4605e-02, -6.7032e-03, 3.9675e-03] + ] + + self.latent_rgb_factors_bias = [-0.0571, -0.1657, -0.2512] + +class HunyuanVideo(LatentFormat): + latent_channels = 16 + latent_dimensions = 3 + scale_factor = 0.476986 + latent_rgb_factors = [ + [-0.0395, -0.0331, 0.0445], + [ 0.0696, 0.0795, 0.0518], + [ 0.0135, -0.0945, -0.0282], + [ 0.0108, -0.0250, -0.0765], + [-0.0209, 0.0032, 0.0224], + [-0.0804, -0.0254, -0.0639], + [-0.0991, 0.0271, -0.0669], + [-0.0646, -0.0422, -0.0400], + [-0.0696, -0.0595, -0.0894], + [-0.0799, -0.0208, -0.0375], + [ 0.1166, 0.1627, 0.0962], + [ 0.1165, 0.0432, 0.0407], + [-0.2315, -0.1920, -0.1355], + [-0.0270, 0.0401, -0.0821], + [-0.0616, -0.0997, -0.0727], + [ 0.0249, -0.0469, -0.1703] + ] + + latent_rgb_factors_bias = [ 0.0259, -0.0192, -0.0761] + +class Cosmos1CV8x8x8(LatentFormat): + latent_channels = 16 + latent_dimensions = 3 + + latent_rgb_factors = [ + [ 0.1817, 0.2284, 0.2423], + [-0.0586, -0.0862, -0.3108], + [-0.4703, -0.4255, -0.3995], + [ 0.0803, 0.1963, 0.1001], + [-0.0820, -0.1050, 0.0400], + [ 0.2511, 0.3098, 0.2787], + [-0.1830, -0.2117, -0.0040], + [-0.0621, -0.2187, -0.0939], + [ 0.3619, 0.1082, 0.1455], + [ 0.3164, 0.3922, 0.2575], + [ 0.1152, 0.0231, -0.0462], + [-0.1434, -0.3609, -0.3665], + [ 0.0635, 0.1471, 0.1680], + [-0.3635, -0.1963, -0.3248], + [-0.1865, 0.0365, 0.2346], + [ 0.0447, 0.0994, 0.0881] + ] + + latent_rgb_factors_bias = [-0.1223, -0.1889, -0.1976] diff --git a/comfy/ldm/audio/autoencoder.py b/comfy/ldm/audio/autoencoder.py new file mode 100644 index 0000000000000000000000000000000000000000..9e7e7c87602f74771522c24503bcc008d052720e --- /dev/null +++ b/comfy/ldm/audio/autoencoder.py @@ -0,0 +1,282 @@ +# code adapted from: https://github.com/Stability-AI/stable-audio-tools + +import torch +from torch import nn +from typing import Literal +import math +import comfy.ops +ops = comfy.ops.disable_weight_init + +def vae_sample(mean, scale): + stdev = nn.functional.softplus(scale) + 1e-4 + var = stdev * stdev + logvar = torch.log(var) + latents = torch.randn_like(mean) * stdev + mean + + kl = (mean * mean + var - logvar - 1).sum(1).mean() + + return latents, kl + +class VAEBottleneck(nn.Module): + def __init__(self): + super().__init__() + self.is_discrete = False + + def encode(self, x, return_info=False, **kwargs): + info = {} + + mean, scale = x.chunk(2, dim=1) + + x, kl = vae_sample(mean, scale) + + info["kl"] = kl + + if return_info: + return x, info + else: + return x + + def decode(self, x): + return x + + +def snake_beta(x, alpha, beta): + return x + (1.0 / (beta + 0.000000001)) * pow(torch.sin(x * alpha), 2) + +# Adapted from https://github.com/NVIDIA/BigVGAN/blob/main/activations.py under MIT license +class SnakeBeta(nn.Module): + + def __init__(self, in_features, alpha=1.0, alpha_trainable=True, alpha_logscale=True): + super(SnakeBeta, self).__init__() + self.in_features = in_features + + # initialize alpha + self.alpha_logscale = alpha_logscale + if self.alpha_logscale: # log scale alphas initialized to zeros + self.alpha = nn.Parameter(torch.zeros(in_features) * alpha) + self.beta = nn.Parameter(torch.zeros(in_features) * alpha) + else: # linear scale alphas initialized to ones + self.alpha = nn.Parameter(torch.ones(in_features) * alpha) + self.beta = nn.Parameter(torch.ones(in_features) * alpha) + + # self.alpha.requires_grad = alpha_trainable + # self.beta.requires_grad = alpha_trainable + + self.no_div_by_zero = 0.000000001 + + def forward(self, x): + alpha = self.alpha.unsqueeze(0).unsqueeze(-1).to(x.device) # line up with x to [B, C, T] + beta = self.beta.unsqueeze(0).unsqueeze(-1).to(x.device) + if self.alpha_logscale: + alpha = torch.exp(alpha) + beta = torch.exp(beta) + x = snake_beta(x, alpha, beta) + + return x + +def WNConv1d(*args, **kwargs): + try: + return torch.nn.utils.parametrizations.weight_norm(ops.Conv1d(*args, **kwargs)) + except: + return torch.nn.utils.weight_norm(ops.Conv1d(*args, **kwargs)) #support pytorch 2.1 and older + +def WNConvTranspose1d(*args, **kwargs): + try: + return torch.nn.utils.parametrizations.weight_norm(ops.ConvTranspose1d(*args, **kwargs)) + except: + return torch.nn.utils.weight_norm(ops.ConvTranspose1d(*args, **kwargs)) #support pytorch 2.1 and older + +def get_activation(activation: Literal["elu", "snake", "none"], antialias=False, channels=None) -> nn.Module: + if activation == "elu": + act = torch.nn.ELU() + elif activation == "snake": + act = SnakeBeta(channels) + elif activation == "none": + act = torch.nn.Identity() + else: + raise ValueError(f"Unknown activation {activation}") + + if antialias: + act = Activation1d(act) # noqa: F821 Activation1d is not defined + + return act + + +class ResidualUnit(nn.Module): + def __init__(self, in_channels, out_channels, dilation, use_snake=False, antialias_activation=False): + super().__init__() + + self.dilation = dilation + + padding = (dilation * (7-1)) // 2 + + self.layers = nn.Sequential( + get_activation("snake" if use_snake else "elu", antialias=antialias_activation, channels=out_channels), + WNConv1d(in_channels=in_channels, out_channels=out_channels, + kernel_size=7, dilation=dilation, padding=padding), + get_activation("snake" if use_snake else "elu", antialias=antialias_activation, channels=out_channels), + WNConv1d(in_channels=out_channels, out_channels=out_channels, + kernel_size=1) + ) + + def forward(self, x): + res = x + + #x = checkpoint(self.layers, x) + x = self.layers(x) + + return x + res + +class EncoderBlock(nn.Module): + def __init__(self, in_channels, out_channels, stride, use_snake=False, antialias_activation=False): + super().__init__() + + self.layers = nn.Sequential( + ResidualUnit(in_channels=in_channels, + out_channels=in_channels, dilation=1, use_snake=use_snake), + ResidualUnit(in_channels=in_channels, + out_channels=in_channels, dilation=3, use_snake=use_snake), + ResidualUnit(in_channels=in_channels, + out_channels=in_channels, dilation=9, use_snake=use_snake), + get_activation("snake" if use_snake else "elu", antialias=antialias_activation, channels=in_channels), + WNConv1d(in_channels=in_channels, out_channels=out_channels, + kernel_size=2*stride, stride=stride, padding=math.ceil(stride/2)), + ) + + def forward(self, x): + return self.layers(x) + +class DecoderBlock(nn.Module): + def __init__(self, in_channels, out_channels, stride, use_snake=False, antialias_activation=False, use_nearest_upsample=False): + super().__init__() + + if use_nearest_upsample: + upsample_layer = nn.Sequential( + nn.Upsample(scale_factor=stride, mode="nearest"), + WNConv1d(in_channels=in_channels, + out_channels=out_channels, + kernel_size=2*stride, + stride=1, + bias=False, + padding='same') + ) + else: + upsample_layer = WNConvTranspose1d(in_channels=in_channels, + out_channels=out_channels, + kernel_size=2*stride, stride=stride, padding=math.ceil(stride/2)) + + self.layers = nn.Sequential( + get_activation("snake" if use_snake else "elu", antialias=antialias_activation, channels=in_channels), + upsample_layer, + ResidualUnit(in_channels=out_channels, out_channels=out_channels, + dilation=1, use_snake=use_snake), + ResidualUnit(in_channels=out_channels, out_channels=out_channels, + dilation=3, use_snake=use_snake), + ResidualUnit(in_channels=out_channels, out_channels=out_channels, + dilation=9, use_snake=use_snake), + ) + + def forward(self, x): + return self.layers(x) + +class OobleckEncoder(nn.Module): + def __init__(self, + in_channels=2, + channels=128, + latent_dim=32, + c_mults = [1, 2, 4, 8], + strides = [2, 4, 8, 8], + use_snake=False, + antialias_activation=False + ): + super().__init__() + + c_mults = [1] + c_mults + + self.depth = len(c_mults) + + layers = [ + WNConv1d(in_channels=in_channels, out_channels=c_mults[0] * channels, kernel_size=7, padding=3) + ] + + for i in range(self.depth-1): + layers += [EncoderBlock(in_channels=c_mults[i]*channels, out_channels=c_mults[i+1]*channels, stride=strides[i], use_snake=use_snake)] + + layers += [ + get_activation("snake" if use_snake else "elu", antialias=antialias_activation, channels=c_mults[-1] * channels), + WNConv1d(in_channels=c_mults[-1]*channels, out_channels=latent_dim, kernel_size=3, padding=1) + ] + + self.layers = nn.Sequential(*layers) + + def forward(self, x): + return self.layers(x) + + +class OobleckDecoder(nn.Module): + def __init__(self, + out_channels=2, + channels=128, + latent_dim=32, + c_mults = [1, 2, 4, 8], + strides = [2, 4, 8, 8], + use_snake=False, + antialias_activation=False, + use_nearest_upsample=False, + final_tanh=True): + super().__init__() + + c_mults = [1] + c_mults + + self.depth = len(c_mults) + + layers = [ + WNConv1d(in_channels=latent_dim, out_channels=c_mults[-1]*channels, kernel_size=7, padding=3), + ] + + for i in range(self.depth-1, 0, -1): + layers += [DecoderBlock( + in_channels=c_mults[i]*channels, + out_channels=c_mults[i-1]*channels, + stride=strides[i-1], + use_snake=use_snake, + antialias_activation=antialias_activation, + use_nearest_upsample=use_nearest_upsample + ) + ] + + layers += [ + get_activation("snake" if use_snake else "elu", antialias=antialias_activation, channels=c_mults[0] * channels), + WNConv1d(in_channels=c_mults[0] * channels, out_channels=out_channels, kernel_size=7, padding=3, bias=False), + nn.Tanh() if final_tanh else nn.Identity() + ] + + self.layers = nn.Sequential(*layers) + + def forward(self, x): + return self.layers(x) + + +class AudioOobleckVAE(nn.Module): + def __init__(self, + in_channels=2, + channels=128, + latent_dim=64, + c_mults = [1, 2, 4, 8, 16], + strides = [2, 4, 4, 8, 8], + use_snake=True, + antialias_activation=False, + use_nearest_upsample=False, + final_tanh=False): + super().__init__() + self.encoder = OobleckEncoder(in_channels, channels, latent_dim * 2, c_mults, strides, use_snake, antialias_activation) + self.decoder = OobleckDecoder(in_channels, channels, latent_dim, c_mults, strides, use_snake, antialias_activation, + use_nearest_upsample=use_nearest_upsample, final_tanh=final_tanh) + self.bottleneck = VAEBottleneck() + + def encode(self, x): + return self.bottleneck.encode(self.encoder(x)) + + def decode(self, x): + return self.decoder(self.bottleneck.decode(x)) + diff --git a/comfy/ldm/audio/dit.py b/comfy/ldm/audio/dit.py new file mode 100644 index 0000000000000000000000000000000000000000..179c5b67eac40a5c907f46d821c057c5de18e8d9 --- /dev/null +++ b/comfy/ldm/audio/dit.py @@ -0,0 +1,896 @@ +# code adapted from: https://github.com/Stability-AI/stable-audio-tools + +from comfy.ldm.modules.attention import optimized_attention +import typing as tp + +import torch + +from einops import rearrange +from torch import nn +from torch.nn import functional as F +import math +import comfy.ops + +class FourierFeatures(nn.Module): + def __init__(self, in_features, out_features, std=1., dtype=None, device=None): + super().__init__() + assert out_features % 2 == 0 + self.weight = nn.Parameter(torch.empty( + [out_features // 2, in_features], dtype=dtype, device=device)) + + def forward(self, input): + f = 2 * math.pi * input @ comfy.ops.cast_to_input(self.weight.T, input) + return torch.cat([f.cos(), f.sin()], dim=-1) + +# norms +class LayerNorm(nn.Module): + def __init__(self, dim, bias=False, fix_scale=False, dtype=None, device=None): + """ + bias-less layernorm has been shown to be more stable. most newer models have moved towards rmsnorm, also bias-less + """ + super().__init__() + + self.gamma = nn.Parameter(torch.empty(dim, dtype=dtype, device=device)) + + if bias: + self.beta = nn.Parameter(torch.empty(dim, dtype=dtype, device=device)) + else: + self.beta = None + + def forward(self, x): + beta = self.beta + if beta is not None: + beta = comfy.ops.cast_to_input(beta, x) + return F.layer_norm(x, x.shape[-1:], weight=comfy.ops.cast_to_input(self.gamma, x), bias=beta) + +class GLU(nn.Module): + def __init__( + self, + dim_in, + dim_out, + activation, + use_conv = False, + conv_kernel_size = 3, + dtype=None, + device=None, + operations=None, + ): + super().__init__() + self.act = activation + self.proj = operations.Linear(dim_in, dim_out * 2, dtype=dtype, device=device) if not use_conv else operations.Conv1d(dim_in, dim_out * 2, conv_kernel_size, padding = (conv_kernel_size // 2), dtype=dtype, device=device) + self.use_conv = use_conv + + def forward(self, x): + if self.use_conv: + x = rearrange(x, 'b n d -> b d n') + x = self.proj(x) + x = rearrange(x, 'b d n -> b n d') + else: + x = self.proj(x) + + x, gate = x.chunk(2, dim = -1) + return x * self.act(gate) + +class AbsolutePositionalEmbedding(nn.Module): + def __init__(self, dim, max_seq_len): + super().__init__() + self.scale = dim ** -0.5 + self.max_seq_len = max_seq_len + self.emb = nn.Embedding(max_seq_len, dim) + + def forward(self, x, pos = None, seq_start_pos = None): + seq_len, device = x.shape[1], x.device + assert seq_len <= self.max_seq_len, f'you are passing in a sequence length of {seq_len} but your absolute positional embedding has a max sequence length of {self.max_seq_len}' + + if pos is None: + pos = torch.arange(seq_len, device = device) + + if seq_start_pos is not None: + pos = (pos - seq_start_pos[..., None]).clamp(min = 0) + + pos_emb = self.emb(pos) + pos_emb = pos_emb * self.scale + return pos_emb + +class ScaledSinusoidalEmbedding(nn.Module): + def __init__(self, dim, theta = 10000): + super().__init__() + assert (dim % 2) == 0, 'dimension must be divisible by 2' + self.scale = nn.Parameter(torch.ones(1) * dim ** -0.5) + + half_dim = dim // 2 + freq_seq = torch.arange(half_dim).float() / half_dim + inv_freq = theta ** -freq_seq + self.register_buffer('inv_freq', inv_freq, persistent = False) + + def forward(self, x, pos = None, seq_start_pos = None): + seq_len, device = x.shape[1], x.device + + if pos is None: + pos = torch.arange(seq_len, device = device) + + if seq_start_pos is not None: + pos = pos - seq_start_pos[..., None] + + emb = torch.einsum('i, j -> i j', pos, self.inv_freq) + emb = torch.cat((emb.sin(), emb.cos()), dim = -1) + return emb * self.scale + +class RotaryEmbedding(nn.Module): + def __init__( + self, + dim, + use_xpos = False, + scale_base = 512, + interpolation_factor = 1., + base = 10000, + base_rescale_factor = 1., + dtype=None, + device=None, + ): + super().__init__() + # proposed by reddit user bloc97, to rescale rotary embeddings to longer sequence length without fine-tuning + # has some connection to NTK literature + # https://www.reddit.com/r/LocalLLaMA/comments/14lz7j5/ntkaware_scaled_rope_allows_llama_models_to_have/ + base *= base_rescale_factor ** (dim / (dim - 2)) + + # inv_freq = 1. / (base ** (torch.arange(0, dim, 2).float() / dim)) + self.register_buffer('inv_freq', torch.empty((dim // 2,), device=device, dtype=dtype)) + + assert interpolation_factor >= 1. + self.interpolation_factor = interpolation_factor + + if not use_xpos: + self.register_buffer('scale', None) + return + + scale = (torch.arange(0, dim, 2) + 0.4 * dim) / (1.4 * dim) + + self.scale_base = scale_base + self.register_buffer('scale', scale) + + def forward_from_seq_len(self, seq_len, device, dtype): + # device = self.inv_freq.device + + t = torch.arange(seq_len, device=device, dtype=dtype) + return self.forward(t) + + def forward(self, t): + # device = self.inv_freq.device + device = t.device + + # t = t.to(torch.float32) + + t = t / self.interpolation_factor + + freqs = torch.einsum('i , j -> i j', t, comfy.ops.cast_to_input(self.inv_freq, t)) + freqs = torch.cat((freqs, freqs), dim = -1) + + if self.scale is None: + return freqs, 1. + + power = (torch.arange(seq_len, device = device) - (seq_len // 2)) / self.scale_base # noqa: F821 seq_len is not defined + scale = comfy.ops.cast_to_input(self.scale, t) ** rearrange(power, 'n -> n 1') + scale = torch.cat((scale, scale), dim = -1) + + return freqs, scale + +def rotate_half(x): + x = rearrange(x, '... (j d) -> ... j d', j = 2) + x1, x2 = x.unbind(dim = -2) + return torch.cat((-x2, x1), dim = -1) + +def apply_rotary_pos_emb(t, freqs, scale = 1): + out_dtype = t.dtype + + # cast to float32 if necessary for numerical stability + dtype = t.dtype #reduce(torch.promote_types, (t.dtype, freqs.dtype, torch.float32)) + rot_dim, seq_len = freqs.shape[-1], t.shape[-2] + freqs, t = freqs.to(dtype), t.to(dtype) + freqs = freqs[-seq_len:, :] + + if t.ndim == 4 and freqs.ndim == 3: + freqs = rearrange(freqs, 'b n d -> b 1 n d') + + # partial rotary embeddings, Wang et al. GPT-J + t, t_unrotated = t[..., :rot_dim], t[..., rot_dim:] + t = (t * freqs.cos() * scale) + (rotate_half(t) * freqs.sin() * scale) + + t, t_unrotated = t.to(out_dtype), t_unrotated.to(out_dtype) + + return torch.cat((t, t_unrotated), dim = -1) + +class FeedForward(nn.Module): + def __init__( + self, + dim, + dim_out = None, + mult = 4, + no_bias = False, + glu = True, + use_conv = False, + conv_kernel_size = 3, + zero_init_output = True, + dtype=None, + device=None, + operations=None, + ): + super().__init__() + inner_dim = int(dim * mult) + + # Default to SwiGLU + + activation = nn.SiLU() + + dim_out = dim if dim_out is None else dim_out + + if glu: + linear_in = GLU(dim, inner_dim, activation, dtype=dtype, device=device, operations=operations) + else: + linear_in = nn.Sequential( + rearrange('b n d -> b d n') if use_conv else nn.Identity(), + operations.Linear(dim, inner_dim, bias = not no_bias, dtype=dtype, device=device) if not use_conv else operations.Conv1d(dim, inner_dim, conv_kernel_size, padding = (conv_kernel_size // 2), bias = not no_bias, dtype=dtype, device=device), + rearrange('b n d -> b d n') if use_conv else nn.Identity(), + activation + ) + + linear_out = operations.Linear(inner_dim, dim_out, bias = not no_bias, dtype=dtype, device=device) if not use_conv else operations.Conv1d(inner_dim, dim_out, conv_kernel_size, padding = (conv_kernel_size // 2), bias = not no_bias, dtype=dtype, device=device) + + # # init last linear layer to 0 + # if zero_init_output: + # nn.init.zeros_(linear_out.weight) + # if not no_bias: + # nn.init.zeros_(linear_out.bias) + + + self.ff = nn.Sequential( + linear_in, + rearrange('b d n -> b n d') if use_conv else nn.Identity(), + linear_out, + rearrange('b n d -> b d n') if use_conv else nn.Identity(), + ) + + def forward(self, x): + return self.ff(x) + +class Attention(nn.Module): + def __init__( + self, + dim, + dim_heads = 64, + dim_context = None, + causal = False, + zero_init_output=True, + qk_norm = False, + natten_kernel_size = None, + dtype=None, + device=None, + operations=None, + ): + super().__init__() + self.dim = dim + self.dim_heads = dim_heads + self.causal = causal + + dim_kv = dim_context if dim_context is not None else dim + + self.num_heads = dim // dim_heads + self.kv_heads = dim_kv // dim_heads + + if dim_context is not None: + self.to_q = operations.Linear(dim, dim, bias=False, dtype=dtype, device=device) + self.to_kv = operations.Linear(dim_kv, dim_kv * 2, bias=False, dtype=dtype, device=device) + else: + self.to_qkv = operations.Linear(dim, dim * 3, bias=False, dtype=dtype, device=device) + + self.to_out = operations.Linear(dim, dim, bias=False, dtype=dtype, device=device) + + # if zero_init_output: + # nn.init.zeros_(self.to_out.weight) + + self.qk_norm = qk_norm + + + def forward( + self, + x, + context = None, + mask = None, + context_mask = None, + rotary_pos_emb = None, + causal = None + ): + h, kv_h, has_context = self.num_heads, self.kv_heads, context is not None + + kv_input = context if has_context else x + + if hasattr(self, 'to_q'): + # Use separate linear projections for q and k/v + q = self.to_q(x) + q = rearrange(q, 'b n (h d) -> b h n d', h = h) + + k, v = self.to_kv(kv_input).chunk(2, dim=-1) + + k, v = map(lambda t: rearrange(t, 'b n (h d) -> b h n d', h = kv_h), (k, v)) + else: + # Use fused linear projection + q, k, v = self.to_qkv(x).chunk(3, dim=-1) + q, k, v = map(lambda t: rearrange(t, 'b n (h d) -> b h n d', h = h), (q, k, v)) + + # Normalize q and k for cosine sim attention + if self.qk_norm: + q = F.normalize(q, dim=-1) + k = F.normalize(k, dim=-1) + + if rotary_pos_emb is not None and not has_context: + freqs, _ = rotary_pos_emb + + q_dtype = q.dtype + k_dtype = k.dtype + + q = q.to(torch.float32) + k = k.to(torch.float32) + freqs = freqs.to(torch.float32) + + q = apply_rotary_pos_emb(q, freqs) + k = apply_rotary_pos_emb(k, freqs) + + q = q.to(q_dtype) + k = k.to(k_dtype) + + input_mask = context_mask + + if input_mask is None and not has_context: + input_mask = mask + + # determine masking + masks = [] + + if input_mask is not None: + input_mask = rearrange(input_mask, 'b j -> b 1 1 j') + masks.append(~input_mask) + + # Other masks will be added here later + n = q.shape[-2] + + causal = self.causal if causal is None else causal + + if n == 1 and causal: + causal = False + + if h != kv_h: + # Repeat interleave kv_heads to match q_heads + heads_per_kv_head = h // kv_h + k, v = map(lambda t: t.repeat_interleave(heads_per_kv_head, dim = 1), (k, v)) + + out = optimized_attention(q, k, v, h, skip_reshape=True) + out = self.to_out(out) + + if mask is not None: + mask = rearrange(mask, 'b n -> b n 1') + out = out.masked_fill(~mask, 0.) + + return out + +class ConformerModule(nn.Module): + def __init__( + self, + dim, + norm_kwargs = {}, + ): + + super().__init__() + + self.dim = dim + + self.in_norm = LayerNorm(dim, **norm_kwargs) + self.pointwise_conv = nn.Conv1d(dim, dim, kernel_size=1, bias=False) + self.glu = GLU(dim, dim, nn.SiLU()) + self.depthwise_conv = nn.Conv1d(dim, dim, kernel_size=17, groups=dim, padding=8, bias=False) + self.mid_norm = LayerNorm(dim, **norm_kwargs) # This is a batch norm in the original but I don't like batch norm + self.swish = nn.SiLU() + self.pointwise_conv_2 = nn.Conv1d(dim, dim, kernel_size=1, bias=False) + + def forward(self, x): + x = self.in_norm(x) + x = rearrange(x, 'b n d -> b d n') + x = self.pointwise_conv(x) + x = rearrange(x, 'b d n -> b n d') + x = self.glu(x) + x = rearrange(x, 'b n d -> b d n') + x = self.depthwise_conv(x) + x = rearrange(x, 'b d n -> b n d') + x = self.mid_norm(x) + x = self.swish(x) + x = rearrange(x, 'b n d -> b d n') + x = self.pointwise_conv_2(x) + x = rearrange(x, 'b d n -> b n d') + + return x + +class TransformerBlock(nn.Module): + def __init__( + self, + dim, + dim_heads = 64, + cross_attend = False, + dim_context = None, + global_cond_dim = None, + causal = False, + zero_init_branch_outputs = True, + conformer = False, + layer_ix = -1, + remove_norms = False, + attn_kwargs = {}, + ff_kwargs = {}, + norm_kwargs = {}, + dtype=None, + device=None, + operations=None, + ): + + super().__init__() + self.dim = dim + self.dim_heads = dim_heads + self.cross_attend = cross_attend + self.dim_context = dim_context + self.causal = causal + + self.pre_norm = LayerNorm(dim, dtype=dtype, device=device, **norm_kwargs) if not remove_norms else nn.Identity() + + self.self_attn = Attention( + dim, + dim_heads = dim_heads, + causal = causal, + zero_init_output=zero_init_branch_outputs, + dtype=dtype, + device=device, + operations=operations, + **attn_kwargs + ) + + if cross_attend: + self.cross_attend_norm = LayerNorm(dim, dtype=dtype, device=device, **norm_kwargs) if not remove_norms else nn.Identity() + self.cross_attn = Attention( + dim, + dim_heads = dim_heads, + dim_context=dim_context, + causal = causal, + zero_init_output=zero_init_branch_outputs, + dtype=dtype, + device=device, + operations=operations, + **attn_kwargs + ) + + self.ff_norm = LayerNorm(dim, dtype=dtype, device=device, **norm_kwargs) if not remove_norms else nn.Identity() + self.ff = FeedForward(dim, zero_init_output=zero_init_branch_outputs, dtype=dtype, device=device, operations=operations,**ff_kwargs) + + self.layer_ix = layer_ix + + self.conformer = ConformerModule(dim, norm_kwargs=norm_kwargs) if conformer else None + + self.global_cond_dim = global_cond_dim + + if global_cond_dim is not None: + self.to_scale_shift_gate = nn.Sequential( + nn.SiLU(), + nn.Linear(global_cond_dim, dim * 6, bias=False) + ) + + nn.init.zeros_(self.to_scale_shift_gate[1].weight) + #nn.init.zeros_(self.to_scale_shift_gate_self[1].bias) + + def forward( + self, + x, + context = None, + global_cond=None, + mask = None, + context_mask = None, + rotary_pos_emb = None + ): + if self.global_cond_dim is not None and self.global_cond_dim > 0 and global_cond is not None: + + scale_self, shift_self, gate_self, scale_ff, shift_ff, gate_ff = self.to_scale_shift_gate(global_cond).unsqueeze(1).chunk(6, dim = -1) + + # self-attention with adaLN + residual = x + x = self.pre_norm(x) + x = x * (1 + scale_self) + shift_self + x = self.self_attn(x, mask = mask, rotary_pos_emb = rotary_pos_emb) + x = x * torch.sigmoid(1 - gate_self) + x = x + residual + + if context is not None: + x = x + self.cross_attn(self.cross_attend_norm(x), context = context, context_mask = context_mask) + + if self.conformer is not None: + x = x + self.conformer(x) + + # feedforward with adaLN + residual = x + x = self.ff_norm(x) + x = x * (1 + scale_ff) + shift_ff + x = self.ff(x) + x = x * torch.sigmoid(1 - gate_ff) + x = x + residual + + else: + x = x + self.self_attn(self.pre_norm(x), mask = mask, rotary_pos_emb = rotary_pos_emb) + + if context is not None: + x = x + self.cross_attn(self.cross_attend_norm(x), context = context, context_mask = context_mask) + + if self.conformer is not None: + x = x + self.conformer(x) + + x = x + self.ff(self.ff_norm(x)) + + return x + +class ContinuousTransformer(nn.Module): + def __init__( + self, + dim, + depth, + *, + dim_in = None, + dim_out = None, + dim_heads = 64, + cross_attend=False, + cond_token_dim=None, + global_cond_dim=None, + causal=False, + rotary_pos_emb=True, + zero_init_branch_outputs=True, + conformer=False, + use_sinusoidal_emb=False, + use_abs_pos_emb=False, + abs_pos_emb_max_length=10000, + dtype=None, + device=None, + operations=None, + **kwargs + ): + + super().__init__() + + self.dim = dim + self.depth = depth + self.causal = causal + self.layers = nn.ModuleList([]) + + self.project_in = operations.Linear(dim_in, dim, bias=False, dtype=dtype, device=device) if dim_in is not None else nn.Identity() + self.project_out = operations.Linear(dim, dim_out, bias=False, dtype=dtype, device=device) if dim_out is not None else nn.Identity() + + if rotary_pos_emb: + self.rotary_pos_emb = RotaryEmbedding(max(dim_heads // 2, 32), device=device, dtype=dtype) + else: + self.rotary_pos_emb = None + + self.use_sinusoidal_emb = use_sinusoidal_emb + if use_sinusoidal_emb: + self.pos_emb = ScaledSinusoidalEmbedding(dim) + + self.use_abs_pos_emb = use_abs_pos_emb + if use_abs_pos_emb: + self.pos_emb = AbsolutePositionalEmbedding(dim, abs_pos_emb_max_length) + + for i in range(depth): + self.layers.append( + TransformerBlock( + dim, + dim_heads = dim_heads, + cross_attend = cross_attend, + dim_context = cond_token_dim, + global_cond_dim = global_cond_dim, + causal = causal, + zero_init_branch_outputs = zero_init_branch_outputs, + conformer=conformer, + layer_ix=i, + dtype=dtype, + device=device, + operations=operations, + **kwargs + ) + ) + + def forward( + self, + x, + mask = None, + prepend_embeds = None, + prepend_mask = None, + global_cond = None, + return_info = False, + **kwargs + ): + patches_replace = kwargs.get("transformer_options", {}).get("patches_replace", {}) + batch, seq, device = *x.shape[:2], x.device + context = kwargs["context"] + + info = { + "hidden_states": [], + } + + x = self.project_in(x) + + if prepend_embeds is not None: + prepend_length, prepend_dim = prepend_embeds.shape[1:] + + assert prepend_dim == x.shape[-1], 'prepend dimension must match sequence dimension' + + x = torch.cat((prepend_embeds, x), dim = -2) + + if prepend_mask is not None or mask is not None: + mask = mask if mask is not None else torch.ones((batch, seq), device = device, dtype = torch.bool) + prepend_mask = prepend_mask if prepend_mask is not None else torch.ones((batch, prepend_length), device = device, dtype = torch.bool) + + mask = torch.cat((prepend_mask, mask), dim = -1) + + # Attention layers + + if self.rotary_pos_emb is not None: + rotary_pos_emb = self.rotary_pos_emb.forward_from_seq_len(x.shape[1], dtype=x.dtype, device=x.device) + else: + rotary_pos_emb = None + + if self.use_sinusoidal_emb or self.use_abs_pos_emb: + x = x + self.pos_emb(x) + + blocks_replace = patches_replace.get("dit", {}) + # Iterate over the transformer layers + for i, layer in enumerate(self.layers): + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"] = layer(args["img"], rotary_pos_emb=args["pe"], global_cond=args["vec"], context=args["txt"]) + return out + + out = blocks_replace[("double_block", i)]({"img": x, "txt": context, "vec": global_cond, "pe": rotary_pos_emb}, {"original_block": block_wrap}) + x = out["img"] + else: + x = layer(x, rotary_pos_emb = rotary_pos_emb, global_cond=global_cond, context=context) + # x = checkpoint(layer, x, rotary_pos_emb = rotary_pos_emb, global_cond=global_cond, **kwargs) + + if return_info: + info["hidden_states"].append(x) + + x = self.project_out(x) + + if return_info: + return x, info + + return x + +class AudioDiffusionTransformer(nn.Module): + def __init__(self, + io_channels=64, + patch_size=1, + embed_dim=1536, + cond_token_dim=768, + project_cond_tokens=False, + global_cond_dim=1536, + project_global_cond=True, + input_concat_dim=0, + prepend_cond_dim=0, + depth=24, + num_heads=24, + transformer_type: tp.Literal["continuous_transformer"] = "continuous_transformer", + global_cond_type: tp.Literal["prepend", "adaLN"] = "prepend", + audio_model="", + dtype=None, + device=None, + operations=None, + **kwargs): + + super().__init__() + + self.dtype = dtype + self.cond_token_dim = cond_token_dim + + # Timestep embeddings + timestep_features_dim = 256 + + self.timestep_features = FourierFeatures(1, timestep_features_dim, dtype=dtype, device=device) + + self.to_timestep_embed = nn.Sequential( + operations.Linear(timestep_features_dim, embed_dim, bias=True, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device), + ) + + if cond_token_dim > 0: + # Conditioning tokens + + cond_embed_dim = cond_token_dim if not project_cond_tokens else embed_dim + self.to_cond_embed = nn.Sequential( + operations.Linear(cond_token_dim, cond_embed_dim, bias=False, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(cond_embed_dim, cond_embed_dim, bias=False, dtype=dtype, device=device) + ) + else: + cond_embed_dim = 0 + + if global_cond_dim > 0: + # Global conditioning + global_embed_dim = global_cond_dim if not project_global_cond else embed_dim + self.to_global_embed = nn.Sequential( + operations.Linear(global_cond_dim, global_embed_dim, bias=False, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(global_embed_dim, global_embed_dim, bias=False, dtype=dtype, device=device) + ) + + if prepend_cond_dim > 0: + # Prepend conditioning + self.to_prepend_embed = nn.Sequential( + operations.Linear(prepend_cond_dim, embed_dim, bias=False, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(embed_dim, embed_dim, bias=False, dtype=dtype, device=device) + ) + + self.input_concat_dim = input_concat_dim + + dim_in = io_channels + self.input_concat_dim + + self.patch_size = patch_size + + # Transformer + + self.transformer_type = transformer_type + + self.global_cond_type = global_cond_type + + if self.transformer_type == "continuous_transformer": + + global_dim = None + + if self.global_cond_type == "adaLN": + # The global conditioning is projected to the embed_dim already at this point + global_dim = embed_dim + + self.transformer = ContinuousTransformer( + dim=embed_dim, + depth=depth, + dim_heads=embed_dim // num_heads, + dim_in=dim_in * patch_size, + dim_out=io_channels * patch_size, + cross_attend = cond_token_dim > 0, + cond_token_dim = cond_embed_dim, + global_cond_dim=global_dim, + dtype=dtype, + device=device, + operations=operations, + **kwargs + ) + else: + raise ValueError(f"Unknown transformer type: {self.transformer_type}") + + self.preprocess_conv = operations.Conv1d(dim_in, dim_in, 1, bias=False, dtype=dtype, device=device) + self.postprocess_conv = operations.Conv1d(io_channels, io_channels, 1, bias=False, dtype=dtype, device=device) + + def _forward( + self, + x, + t, + mask=None, + cross_attn_cond=None, + cross_attn_cond_mask=None, + input_concat_cond=None, + global_embed=None, + prepend_cond=None, + prepend_cond_mask=None, + return_info=False, + **kwargs): + + if cross_attn_cond is not None: + cross_attn_cond = self.to_cond_embed(cross_attn_cond) + + if global_embed is not None: + # Project the global conditioning to the embedding dimension + global_embed = self.to_global_embed(global_embed) + + prepend_inputs = None + prepend_mask = None + prepend_length = 0 + if prepend_cond is not None: + # Project the prepend conditioning to the embedding dimension + prepend_cond = self.to_prepend_embed(prepend_cond) + + prepend_inputs = prepend_cond + if prepend_cond_mask is not None: + prepend_mask = prepend_cond_mask + + if input_concat_cond is not None: + + # Interpolate input_concat_cond to the same length as x + if input_concat_cond.shape[2] != x.shape[2]: + input_concat_cond = F.interpolate(input_concat_cond, (x.shape[2], ), mode='nearest') + + x = torch.cat([x, input_concat_cond], dim=1) + + # Get the batch of timestep embeddings + timestep_embed = self.to_timestep_embed(self.timestep_features(t[:, None]).to(x.dtype)) # (b, embed_dim) + + # Timestep embedding is considered a global embedding. Add to the global conditioning if it exists + if global_embed is not None: + global_embed = global_embed + timestep_embed + else: + global_embed = timestep_embed + + # Add the global_embed to the prepend inputs if there is no global conditioning support in the transformer + if self.global_cond_type == "prepend": + if prepend_inputs is None: + # Prepend inputs are just the global embed, and the mask is all ones + prepend_inputs = global_embed.unsqueeze(1) + prepend_mask = torch.ones((x.shape[0], 1), device=x.device, dtype=torch.bool) + else: + # Prepend inputs are the prepend conditioning + the global embed + prepend_inputs = torch.cat([prepend_inputs, global_embed.unsqueeze(1)], dim=1) + prepend_mask = torch.cat([prepend_mask, torch.ones((x.shape[0], 1), device=x.device, dtype=torch.bool)], dim=1) + + prepend_length = prepend_inputs.shape[1] + + x = self.preprocess_conv(x) + x + + x = rearrange(x, "b c t -> b t c") + + extra_args = {} + + if self.global_cond_type == "adaLN": + extra_args["global_cond"] = global_embed + + if self.patch_size > 1: + x = rearrange(x, "b (t p) c -> b t (c p)", p=self.patch_size) + + if self.transformer_type == "x-transformers": + output = self.transformer(x, prepend_embeds=prepend_inputs, context=cross_attn_cond, context_mask=cross_attn_cond_mask, mask=mask, prepend_mask=prepend_mask, **extra_args, **kwargs) + elif self.transformer_type == "continuous_transformer": + output = self.transformer(x, prepend_embeds=prepend_inputs, context=cross_attn_cond, context_mask=cross_attn_cond_mask, mask=mask, prepend_mask=prepend_mask, return_info=return_info, **extra_args, **kwargs) + + if return_info: + output, info = output + elif self.transformer_type == "mm_transformer": + output = self.transformer(x, context=cross_attn_cond, mask=mask, context_mask=cross_attn_cond_mask, **extra_args, **kwargs) + + output = rearrange(output, "b t c -> b c t")[:,:,prepend_length:] + + if self.patch_size > 1: + output = rearrange(output, "b (c p) t -> b c (t p)", p=self.patch_size) + + output = self.postprocess_conv(output) + output + + if return_info: + return output, info + + return output + + def forward( + self, + x, + timestep, + context=None, + context_mask=None, + input_concat_cond=None, + global_embed=None, + negative_global_embed=None, + prepend_cond=None, + prepend_cond_mask=None, + mask=None, + return_info=False, + control=None, + **kwargs): + return self._forward( + x, + timestep, + cross_attn_cond=context, + cross_attn_cond_mask=context_mask, + input_concat_cond=input_concat_cond, + global_embed=global_embed, + prepend_cond=prepend_cond, + prepend_cond_mask=prepend_cond_mask, + mask=mask, + return_info=return_info, + **kwargs + ) diff --git a/comfy/ldm/audio/embedders.py b/comfy/ldm/audio/embedders.py new file mode 100644 index 0000000000000000000000000000000000000000..20edb365aaafe7f344a2616a53470c837d0a8a6e --- /dev/null +++ b/comfy/ldm/audio/embedders.py @@ -0,0 +1,108 @@ +# code adapted from: https://github.com/Stability-AI/stable-audio-tools + +import torch +import torch.nn as nn +from torch import Tensor +from typing import List, Union +from einops import rearrange +import math +import comfy.ops + +class LearnedPositionalEmbedding(nn.Module): + """Used for continuous time""" + + def __init__(self, dim: int): + super().__init__() + assert (dim % 2) == 0 + half_dim = dim // 2 + self.weights = nn.Parameter(torch.empty(half_dim)) + + def forward(self, x: Tensor) -> Tensor: + x = rearrange(x, "b -> b 1") + freqs = x * rearrange(self.weights, "d -> 1 d") * 2 * math.pi + fouriered = torch.cat((freqs.sin(), freqs.cos()), dim=-1) + fouriered = torch.cat((x, fouriered), dim=-1) + return fouriered + +def TimePositionalEmbedding(dim: int, out_features: int) -> nn.Module: + return nn.Sequential( + LearnedPositionalEmbedding(dim), + comfy.ops.manual_cast.Linear(in_features=dim + 1, out_features=out_features), + ) + + +class NumberEmbedder(nn.Module): + def __init__( + self, + features: int, + dim: int = 256, + ): + super().__init__() + self.features = features + self.embedding = TimePositionalEmbedding(dim=dim, out_features=features) + + def forward(self, x: Union[List[float], Tensor]) -> Tensor: + if not torch.is_tensor(x): + device = next(self.embedding.parameters()).device + x = torch.tensor(x, device=device) + assert isinstance(x, Tensor) + shape = x.shape + x = rearrange(x, "... -> (...)") + embedding = self.embedding(x) + x = embedding.view(*shape, self.features) + return x # type: ignore + + +class Conditioner(nn.Module): + def __init__( + self, + dim: int, + output_dim: int, + project_out: bool = False + ): + + super().__init__() + + self.dim = dim + self.output_dim = output_dim + self.proj_out = nn.Linear(dim, output_dim) if (dim != output_dim or project_out) else nn.Identity() + + def forward(self, x): + raise NotImplementedError() + +class NumberConditioner(Conditioner): + ''' + Conditioner that takes a list of floats, normalizes them for a given range, and returns a list of embeddings + ''' + def __init__(self, + output_dim: int, + min_val: float=0, + max_val: float=1 + ): + super().__init__(output_dim, output_dim) + + self.min_val = min_val + self.max_val = max_val + + self.embedder = NumberEmbedder(features=output_dim) + + def forward(self, floats, device=None): + # Cast the inputs to floats + floats = [float(x) for x in floats] + + if device is None: + device = next(self.embedder.parameters()).device + + floats = torch.tensor(floats).to(device) + + floats = floats.clamp(self.min_val, self.max_val) + + normalized_floats = (floats - self.min_val) / (self.max_val - self.min_val) + + # Cast floats to same type as embedder + embedder_dtype = next(self.embedder.parameters()).dtype + normalized_floats = normalized_floats.to(embedder_dtype) + + float_embeds = self.embedder(normalized_floats).unsqueeze(1) + + return [float_embeds, torch.ones(float_embeds.shape[0], 1).to(device)] diff --git a/comfy/ldm/aura/mmdit.py b/comfy/ldm/aura/mmdit.py new file mode 100644 index 0000000000000000000000000000000000000000..1258ae11fd064a2ab2fb944bb897fa120be2c9ca --- /dev/null +++ b/comfy/ldm/aura/mmdit.py @@ -0,0 +1,498 @@ +#AuraFlow MMDiT +#Originally written by the AuraFlow Authors + +import math + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from comfy.ldm.modules.attention import optimized_attention +import comfy.ops +import comfy.ldm.common_dit + +def modulate(x, shift, scale): + return x * (1 + scale.unsqueeze(1)) + shift.unsqueeze(1) + + +def find_multiple(n: int, k: int) -> int: + if n % k == 0: + return n + return n + k - (n % k) + + +class MLP(nn.Module): + def __init__(self, dim, hidden_dim=None, dtype=None, device=None, operations=None) -> None: + super().__init__() + if hidden_dim is None: + hidden_dim = 4 * dim + + n_hidden = int(2 * hidden_dim / 3) + n_hidden = find_multiple(n_hidden, 256) + + self.c_fc1 = operations.Linear(dim, n_hidden, bias=False, dtype=dtype, device=device) + self.c_fc2 = operations.Linear(dim, n_hidden, bias=False, dtype=dtype, device=device) + self.c_proj = operations.Linear(n_hidden, dim, bias=False, dtype=dtype, device=device) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + x = F.silu(self.c_fc1(x)) * self.c_fc2(x) + x = self.c_proj(x) + return x + + +class MultiHeadLayerNorm(nn.Module): + def __init__(self, hidden_size=None, eps=1e-5, dtype=None, device=None): + # Copy pasta from https://github.com/huggingface/transformers/blob/e5f71ecaae50ea476d1e12351003790273c4b2ed/src/transformers/models/cohere/modeling_cohere.py#L78 + + super().__init__() + self.weight = nn.Parameter(torch.empty(hidden_size, dtype=dtype, device=device)) + self.variance_epsilon = eps + + def forward(self, hidden_states): + input_dtype = hidden_states.dtype + hidden_states = hidden_states.to(torch.float32) + mean = hidden_states.mean(-1, keepdim=True) + variance = (hidden_states - mean).pow(2).mean(-1, keepdim=True) + hidden_states = (hidden_states - mean) * torch.rsqrt( + variance + self.variance_epsilon + ) + hidden_states = self.weight.to(torch.float32) * hidden_states + return hidden_states.to(input_dtype) + +class SingleAttention(nn.Module): + def __init__(self, dim, n_heads, mh_qknorm=False, dtype=None, device=None, operations=None): + super().__init__() + + self.n_heads = n_heads + self.head_dim = dim // n_heads + + # this is for cond + self.w1q = operations.Linear(dim, dim, bias=False, dtype=dtype, device=device) + self.w1k = operations.Linear(dim, dim, bias=False, dtype=dtype, device=device) + self.w1v = operations.Linear(dim, dim, bias=False, dtype=dtype, device=device) + self.w1o = operations.Linear(dim, dim, bias=False, dtype=dtype, device=device) + + self.q_norm1 = ( + MultiHeadLayerNorm((self.n_heads, self.head_dim), dtype=dtype, device=device) + if mh_qknorm + else operations.LayerNorm(self.head_dim, elementwise_affine=False, dtype=dtype, device=device) + ) + self.k_norm1 = ( + MultiHeadLayerNorm((self.n_heads, self.head_dim), dtype=dtype, device=device) + if mh_qknorm + else operations.LayerNorm(self.head_dim, elementwise_affine=False, dtype=dtype, device=device) + ) + + #@torch.compile() + def forward(self, c): + + bsz, seqlen1, _ = c.shape + + q, k, v = self.w1q(c), self.w1k(c), self.w1v(c) + q = q.view(bsz, seqlen1, self.n_heads, self.head_dim) + k = k.view(bsz, seqlen1, self.n_heads, self.head_dim) + v = v.view(bsz, seqlen1, self.n_heads, self.head_dim) + q, k = self.q_norm1(q), self.k_norm1(k) + + output = optimized_attention(q.permute(0, 2, 1, 3), k.permute(0, 2, 1, 3), v.permute(0, 2, 1, 3), self.n_heads, skip_reshape=True) + c = self.w1o(output) + return c + + + +class DoubleAttention(nn.Module): + def __init__(self, dim, n_heads, mh_qknorm=False, dtype=None, device=None, operations=None): + super().__init__() + + self.n_heads = n_heads + self.head_dim = dim // n_heads + + # this is for cond + self.w1q = operations.Linear(dim, dim, bias=False, dtype=dtype, device=device) + self.w1k = operations.Linear(dim, dim, bias=False, dtype=dtype, device=device) + self.w1v = operations.Linear(dim, dim, bias=False, dtype=dtype, device=device) + self.w1o = operations.Linear(dim, dim, bias=False, dtype=dtype, device=device) + + # this is for x + self.w2q = operations.Linear(dim, dim, bias=False, dtype=dtype, device=device) + self.w2k = operations.Linear(dim, dim, bias=False, dtype=dtype, device=device) + self.w2v = operations.Linear(dim, dim, bias=False, dtype=dtype, device=device) + self.w2o = operations.Linear(dim, dim, bias=False, dtype=dtype, device=device) + + self.q_norm1 = ( + MultiHeadLayerNorm((self.n_heads, self.head_dim), dtype=dtype, device=device) + if mh_qknorm + else operations.LayerNorm(self.head_dim, elementwise_affine=False, dtype=dtype, device=device) + ) + self.k_norm1 = ( + MultiHeadLayerNorm((self.n_heads, self.head_dim), dtype=dtype, device=device) + if mh_qknorm + else operations.LayerNorm(self.head_dim, elementwise_affine=False, dtype=dtype, device=device) + ) + + self.q_norm2 = ( + MultiHeadLayerNorm((self.n_heads, self.head_dim), dtype=dtype, device=device) + if mh_qknorm + else operations.LayerNorm(self.head_dim, elementwise_affine=False, dtype=dtype, device=device) + ) + self.k_norm2 = ( + MultiHeadLayerNorm((self.n_heads, self.head_dim), dtype=dtype, device=device) + if mh_qknorm + else operations.LayerNorm(self.head_dim, elementwise_affine=False, dtype=dtype, device=device) + ) + + + #@torch.compile() + def forward(self, c, x): + + bsz, seqlen1, _ = c.shape + bsz, seqlen2, _ = x.shape + + cq, ck, cv = self.w1q(c), self.w1k(c), self.w1v(c) + cq = cq.view(bsz, seqlen1, self.n_heads, self.head_dim) + ck = ck.view(bsz, seqlen1, self.n_heads, self.head_dim) + cv = cv.view(bsz, seqlen1, self.n_heads, self.head_dim) + cq, ck = self.q_norm1(cq), self.k_norm1(ck) + + xq, xk, xv = self.w2q(x), self.w2k(x), self.w2v(x) + xq = xq.view(bsz, seqlen2, self.n_heads, self.head_dim) + xk = xk.view(bsz, seqlen2, self.n_heads, self.head_dim) + xv = xv.view(bsz, seqlen2, self.n_heads, self.head_dim) + xq, xk = self.q_norm2(xq), self.k_norm2(xk) + + # concat all + q, k, v = ( + torch.cat([cq, xq], dim=1), + torch.cat([ck, xk], dim=1), + torch.cat([cv, xv], dim=1), + ) + + output = optimized_attention(q.permute(0, 2, 1, 3), k.permute(0, 2, 1, 3), v.permute(0, 2, 1, 3), self.n_heads, skip_reshape=True) + + c, x = output.split([seqlen1, seqlen2], dim=1) + c = self.w1o(c) + x = self.w2o(x) + + return c, x + + +class MMDiTBlock(nn.Module): + def __init__(self, dim, heads=8, global_conddim=1024, is_last=False, dtype=None, device=None, operations=None): + super().__init__() + + self.normC1 = operations.LayerNorm(dim, elementwise_affine=False, dtype=dtype, device=device) + self.normC2 = operations.LayerNorm(dim, elementwise_affine=False, dtype=dtype, device=device) + if not is_last: + self.mlpC = MLP(dim, hidden_dim=dim * 4, dtype=dtype, device=device, operations=operations) + self.modC = nn.Sequential( + nn.SiLU(), + operations.Linear(global_conddim, 6 * dim, bias=False, dtype=dtype, device=device), + ) + else: + self.modC = nn.Sequential( + nn.SiLU(), + operations.Linear(global_conddim, 2 * dim, bias=False, dtype=dtype, device=device), + ) + + self.normX1 = operations.LayerNorm(dim, elementwise_affine=False, dtype=dtype, device=device) + self.normX2 = operations.LayerNorm(dim, elementwise_affine=False, dtype=dtype, device=device) + self.mlpX = MLP(dim, hidden_dim=dim * 4, dtype=dtype, device=device, operations=operations) + self.modX = nn.Sequential( + nn.SiLU(), + operations.Linear(global_conddim, 6 * dim, bias=False, dtype=dtype, device=device), + ) + + self.attn = DoubleAttention(dim, heads, dtype=dtype, device=device, operations=operations) + self.is_last = is_last + + #@torch.compile() + def forward(self, c, x, global_cond, **kwargs): + + cres, xres = c, x + + cshift_msa, cscale_msa, cgate_msa, cshift_mlp, cscale_mlp, cgate_mlp = ( + self.modC(global_cond).chunk(6, dim=1) + ) + + c = modulate(self.normC1(c), cshift_msa, cscale_msa) + + # xpath + xshift_msa, xscale_msa, xgate_msa, xshift_mlp, xscale_mlp, xgate_mlp = ( + self.modX(global_cond).chunk(6, dim=1) + ) + + x = modulate(self.normX1(x), xshift_msa, xscale_msa) + + # attention + c, x = self.attn(c, x) + + + c = self.normC2(cres + cgate_msa.unsqueeze(1) * c) + c = cgate_mlp.unsqueeze(1) * self.mlpC(modulate(c, cshift_mlp, cscale_mlp)) + c = cres + c + + x = self.normX2(xres + xgate_msa.unsqueeze(1) * x) + x = xgate_mlp.unsqueeze(1) * self.mlpX(modulate(x, xshift_mlp, xscale_mlp)) + x = xres + x + + return c, x + +class DiTBlock(nn.Module): + # like MMDiTBlock, but it only has X + def __init__(self, dim, heads=8, global_conddim=1024, dtype=None, device=None, operations=None): + super().__init__() + + self.norm1 = operations.LayerNorm(dim, elementwise_affine=False, dtype=dtype, device=device) + self.norm2 = operations.LayerNorm(dim, elementwise_affine=False, dtype=dtype, device=device) + + self.modCX = nn.Sequential( + nn.SiLU(), + operations.Linear(global_conddim, 6 * dim, bias=False, dtype=dtype, device=device), + ) + + self.attn = SingleAttention(dim, heads, dtype=dtype, device=device, operations=operations) + self.mlp = MLP(dim, hidden_dim=dim * 4, dtype=dtype, device=device, operations=operations) + + #@torch.compile() + def forward(self, cx, global_cond, **kwargs): + cxres = cx + shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp = self.modCX( + global_cond + ).chunk(6, dim=1) + cx = modulate(self.norm1(cx), shift_msa, scale_msa) + cx = self.attn(cx) + cx = self.norm2(cxres + gate_msa.unsqueeze(1) * cx) + mlpout = self.mlp(modulate(cx, shift_mlp, scale_mlp)) + cx = gate_mlp.unsqueeze(1) * mlpout + + cx = cxres + cx + + return cx + + + +class TimestepEmbedder(nn.Module): + def __init__(self, hidden_size, frequency_embedding_size=256, dtype=None, device=None, operations=None): + super().__init__() + self.mlp = nn.Sequential( + operations.Linear(frequency_embedding_size, hidden_size, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(hidden_size, hidden_size, dtype=dtype, device=device), + ) + self.frequency_embedding_size = frequency_embedding_size + + @staticmethod + def timestep_embedding(t, dim, max_period=10000): + half = dim // 2 + freqs = 1000 * torch.exp( + -math.log(max_period) * torch.arange(start=0, end=half) / half + ).to(t.device) + args = t[:, None] * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1 + ) + return embedding + + #@torch.compile() + def forward(self, t, dtype): + t_freq = self.timestep_embedding(t, self.frequency_embedding_size).to(dtype) + t_emb = self.mlp(t_freq) + return t_emb + + +class MMDiT(nn.Module): + def __init__( + self, + in_channels=4, + out_channels=4, + patch_size=2, + dim=3072, + n_layers=36, + n_double_layers=4, + n_heads=12, + global_conddim=3072, + cond_seq_dim=2048, + max_seq=32 * 32, + device=None, + dtype=None, + operations=None, + ): + super().__init__() + self.dtype = dtype + + self.t_embedder = TimestepEmbedder(global_conddim, dtype=dtype, device=device, operations=operations) + + self.cond_seq_linear = operations.Linear( + cond_seq_dim, dim, bias=False, dtype=dtype, device=device + ) # linear for something like text sequence. + self.init_x_linear = operations.Linear( + patch_size * patch_size * in_channels, dim, dtype=dtype, device=device + ) # init linear for patchified image. + + self.positional_encoding = nn.Parameter(torch.empty(1, max_seq, dim, dtype=dtype, device=device)) + self.register_tokens = nn.Parameter(torch.empty(1, 8, dim, dtype=dtype, device=device)) + + self.double_layers = nn.ModuleList([]) + self.single_layers = nn.ModuleList([]) + + + for idx in range(n_double_layers): + self.double_layers.append( + MMDiTBlock(dim, n_heads, global_conddim, is_last=(idx == n_layers - 1), dtype=dtype, device=device, operations=operations) + ) + + for idx in range(n_double_layers, n_layers): + self.single_layers.append( + DiTBlock(dim, n_heads, global_conddim, dtype=dtype, device=device, operations=operations) + ) + + + self.final_linear = operations.Linear( + dim, patch_size * patch_size * out_channels, bias=False, dtype=dtype, device=device + ) + + self.modF = nn.Sequential( + nn.SiLU(), + operations.Linear(global_conddim, 2 * dim, bias=False, dtype=dtype, device=device), + ) + + self.out_channels = out_channels + self.patch_size = patch_size + self.n_double_layers = n_double_layers + self.n_layers = n_layers + + self.h_max = round(max_seq**0.5) + self.w_max = round(max_seq**0.5) + + @torch.no_grad() + def extend_pe(self, init_dim=(16, 16), target_dim=(64, 64)): + # extend pe + pe_data = self.positional_encoding.data.squeeze(0)[: init_dim[0] * init_dim[1]] + + pe_as_2d = pe_data.view(init_dim[0], init_dim[1], -1).permute(2, 0, 1) + + # now we need to extend this to target_dim. for this we will use interpolation. + # we will use torch.nn.functional.interpolate + pe_as_2d = F.interpolate( + pe_as_2d.unsqueeze(0), size=target_dim, mode="bilinear" + ) + pe_new = pe_as_2d.squeeze(0).permute(1, 2, 0).flatten(0, 1) + self.positional_encoding.data = pe_new.unsqueeze(0).contiguous() + self.h_max, self.w_max = target_dim + + def pe_selection_index_based_on_dim(self, h, w): + h_p, w_p = h // self.patch_size, w // self.patch_size + original_pe_indexes = torch.arange(self.positional_encoding.shape[1]) + original_pe_indexes = original_pe_indexes.view(self.h_max, self.w_max) + starth = self.h_max // 2 - h_p // 2 + endh =starth + h_p + startw = self.w_max // 2 - w_p // 2 + endw = startw + w_p + original_pe_indexes = original_pe_indexes[ + starth:endh, startw:endw + ] + return original_pe_indexes.flatten() + + def unpatchify(self, x, h, w): + c = self.out_channels + p = self.patch_size + + x = x.reshape(shape=(x.shape[0], h, w, p, p, c)) + x = torch.einsum("nhwpqc->nchpwq", x) + imgs = x.reshape(shape=(x.shape[0], c, h * p, w * p)) + return imgs + + def patchify(self, x): + B, C, H, W = x.size() + x = comfy.ldm.common_dit.pad_to_patch_size(x, (self.patch_size, self.patch_size)) + x = x.view( + B, + C, + (H + 1) // self.patch_size, + self.patch_size, + (W + 1) // self.patch_size, + self.patch_size, + ) + x = x.permute(0, 2, 4, 1, 3, 5).flatten(-3).flatten(1, 2) + return x + + def apply_pos_embeds(self, x, h, w): + h = (h + 1) // self.patch_size + w = (w + 1) // self.patch_size + max_dim = max(h, w) + + cur_dim = self.h_max + pos_encoding = comfy.ops.cast_to_input(self.positional_encoding.reshape(1, cur_dim, cur_dim, -1), x) + + if max_dim > cur_dim: + pos_encoding = F.interpolate(pos_encoding.movedim(-1, 1), (max_dim, max_dim), mode="bilinear").movedim(1, -1) + cur_dim = max_dim + + from_h = (cur_dim - h) // 2 + from_w = (cur_dim - w) // 2 + pos_encoding = pos_encoding[:,from_h:from_h+h,from_w:from_w+w] + return x + pos_encoding.reshape(1, -1, self.positional_encoding.shape[-1]) + + def forward(self, x, timestep, context, transformer_options={}, **kwargs): + patches_replace = transformer_options.get("patches_replace", {}) + # patchify x, add PE + b, c, h, w = x.shape + + # pe_indexes = self.pe_selection_index_based_on_dim(h, w) + # print(pe_indexes, pe_indexes.shape) + + x = self.init_x_linear(self.patchify(x)) # B, T_x, D + x = self.apply_pos_embeds(x, h, w) + # x = x + self.positional_encoding[:, : x.size(1)].to(device=x.device, dtype=x.dtype) + # x = x + self.positional_encoding[:, pe_indexes].to(device=x.device, dtype=x.dtype) + + # process conditions for MMDiT Blocks + c_seq = context # B, T_c, D_c + t = timestep + + c = self.cond_seq_linear(c_seq) # B, T_c, D + c = torch.cat([comfy.ops.cast_to_input(self.register_tokens, c).repeat(c.size(0), 1, 1), c], dim=1) + + global_cond = self.t_embedder(t, x.dtype) # B, D + + blocks_replace = patches_replace.get("dit", {}) + if len(self.double_layers) > 0: + for i, layer in enumerate(self.double_layers): + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["txt"], out["img"] = layer(args["txt"], + args["img"], + args["vec"]) + return out + out = blocks_replace[("double_block", i)]({"img": x, "txt": c, "vec": global_cond}, {"original_block": block_wrap}) + c = out["txt"] + x = out["img"] + else: + c, x = layer(c, x, global_cond, **kwargs) + + if len(self.single_layers) > 0: + c_len = c.size(1) + cx = torch.cat([c, x], dim=1) + for i, layer in enumerate(self.single_layers): + if ("single_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"] = layer(args["img"], args["vec"]) + return out + + out = blocks_replace[("single_block", i)]({"img": cx, "vec": global_cond}, {"original_block": block_wrap}) + cx = out["img"] + else: + cx = layer(cx, global_cond, **kwargs) + + x = cx[:, c_len:] + + fshift, fscale = self.modF(global_cond).chunk(2, dim=1) + + x = modulate(x, fshift, fscale) + x = self.final_linear(x) + x = self.unpatchify(x, (h + 1) // self.patch_size, (w + 1) // self.patch_size)[:,:,:h,:w] + return x diff --git a/comfy/ldm/cascade/common.py b/comfy/ldm/cascade/common.py new file mode 100644 index 0000000000000000000000000000000000000000..3eaa0c821cccddbe891ac8a705d702c509c85582 --- /dev/null +++ b/comfy/ldm/cascade/common.py @@ -0,0 +1,154 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Stability AI + + 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 . +""" + +import torch +import torch.nn as nn +from comfy.ldm.modules.attention import optimized_attention +import comfy.ops + +class OptimizedAttention(nn.Module): + def __init__(self, c, nhead, dropout=0.0, dtype=None, device=None, operations=None): + super().__init__() + self.heads = nhead + + self.to_q = operations.Linear(c, c, bias=True, dtype=dtype, device=device) + self.to_k = operations.Linear(c, c, bias=True, dtype=dtype, device=device) + self.to_v = operations.Linear(c, c, bias=True, dtype=dtype, device=device) + + self.out_proj = operations.Linear(c, c, bias=True, dtype=dtype, device=device) + + def forward(self, q, k, v): + q = self.to_q(q) + k = self.to_k(k) + v = self.to_v(v) + + out = optimized_attention(q, k, v, self.heads) + + return self.out_proj(out) + +class Attention2D(nn.Module): + def __init__(self, c, nhead, dropout=0.0, dtype=None, device=None, operations=None): + super().__init__() + self.attn = OptimizedAttention(c, nhead, dtype=dtype, device=device, operations=operations) + # self.attn = nn.MultiheadAttention(c, nhead, dropout=dropout, bias=True, batch_first=True, dtype=dtype, device=device) + + def forward(self, x, kv, self_attn=False): + orig_shape = x.shape + x = x.view(x.size(0), x.size(1), -1).permute(0, 2, 1) # Bx4xHxW -> Bx(HxW)x4 + if self_attn: + kv = torch.cat([x, kv], dim=1) + # x = self.attn(x, kv, kv, need_weights=False)[0] + x = self.attn(x, kv, kv) + x = x.permute(0, 2, 1).view(*orig_shape) + return x + + +def LayerNorm2d_op(operations): + class LayerNorm2d(operations.LayerNorm): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + def forward(self, x): + return super().forward(x.permute(0, 2, 3, 1)).permute(0, 3, 1, 2) + return LayerNorm2d + +class GlobalResponseNorm(nn.Module): + "from https://github.com/facebookresearch/ConvNeXt-V2/blob/3608f67cc1dae164790c5d0aead7bf2d73d9719b/models/utils.py#L105" + def __init__(self, dim, dtype=None, device=None): + super().__init__() + self.gamma = nn.Parameter(torch.empty(1, 1, 1, dim, dtype=dtype, device=device)) + self.beta = nn.Parameter(torch.empty(1, 1, 1, dim, dtype=dtype, device=device)) + + def forward(self, x): + Gx = torch.norm(x, p=2, dim=(1, 2), keepdim=True) + Nx = Gx / (Gx.mean(dim=-1, keepdim=True) + 1e-6) + return comfy.ops.cast_to_input(self.gamma, x) * (x * Nx) + comfy.ops.cast_to_input(self.beta, x) + x + + +class ResBlock(nn.Module): + def __init__(self, c, c_skip=0, kernel_size=3, dropout=0.0, dtype=None, device=None, operations=None): # , num_heads=4, expansion=2): + super().__init__() + self.depthwise = operations.Conv2d(c, c, kernel_size=kernel_size, padding=kernel_size // 2, groups=c, dtype=dtype, device=device) + # self.depthwise = SAMBlock(c, num_heads, expansion) + self.norm = LayerNorm2d_op(operations)(c, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.channelwise = nn.Sequential( + operations.Linear(c + c_skip, c * 4, dtype=dtype, device=device), + nn.GELU(), + GlobalResponseNorm(c * 4, dtype=dtype, device=device), + nn.Dropout(dropout), + operations.Linear(c * 4, c, dtype=dtype, device=device) + ) + + def forward(self, x, x_skip=None): + x_res = x + x = self.norm(self.depthwise(x)) + if x_skip is not None: + x = torch.cat([x, x_skip], dim=1) + x = self.channelwise(x.permute(0, 2, 3, 1)).permute(0, 3, 1, 2) + return x + x_res + + +class AttnBlock(nn.Module): + def __init__(self, c, c_cond, nhead, self_attn=True, dropout=0.0, dtype=None, device=None, operations=None): + super().__init__() + self.self_attn = self_attn + self.norm = LayerNorm2d_op(operations)(c, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.attention = Attention2D(c, nhead, dropout, dtype=dtype, device=device, operations=operations) + self.kv_mapper = nn.Sequential( + nn.SiLU(), + operations.Linear(c_cond, c, dtype=dtype, device=device) + ) + + def forward(self, x, kv): + kv = self.kv_mapper(kv) + x = x + self.attention(self.norm(x), kv, self_attn=self.self_attn) + return x + + +class FeedForwardBlock(nn.Module): + def __init__(self, c, dropout=0.0, dtype=None, device=None, operations=None): + super().__init__() + self.norm = LayerNorm2d_op(operations)(c, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.channelwise = nn.Sequential( + operations.Linear(c, c * 4, dtype=dtype, device=device), + nn.GELU(), + GlobalResponseNorm(c * 4, dtype=dtype, device=device), + nn.Dropout(dropout), + operations.Linear(c * 4, c, dtype=dtype, device=device) + ) + + def forward(self, x): + x = x + self.channelwise(self.norm(x).permute(0, 2, 3, 1)).permute(0, 3, 1, 2) + return x + + +class TimestepBlock(nn.Module): + def __init__(self, c, c_timestep, conds=['sca'], dtype=None, device=None, operations=None): + super().__init__() + self.mapper = operations.Linear(c_timestep, c * 2, dtype=dtype, device=device) + self.conds = conds + for cname in conds: + setattr(self, f"mapper_{cname}", operations.Linear(c_timestep, c * 2, dtype=dtype, device=device)) + + def forward(self, x, t): + t = t.chunk(len(self.conds) + 1, dim=1) + a, b = self.mapper(t[0])[:, :, None, None].chunk(2, dim=1) + for i, c in enumerate(self.conds): + ac, bc = getattr(self, f"mapper_{c}")(t[i + 1])[:, :, None, None].chunk(2, dim=1) + a, b = a + ac, b + bc + return x * (1 + a) + b diff --git a/comfy/ldm/cascade/controlnet.py b/comfy/ldm/cascade/controlnet.py new file mode 100644 index 0000000000000000000000000000000000000000..90473481a078323be11e2c5530de378b1ac6425c --- /dev/null +++ b/comfy/ldm/cascade/controlnet.py @@ -0,0 +1,92 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Stability AI + + 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 . +""" + +import torchvision +from torch import nn +from .common import LayerNorm2d_op + + +class CNetResBlock(nn.Module): + def __init__(self, c, dtype=None, device=None, operations=None): + super().__init__() + self.blocks = nn.Sequential( + LayerNorm2d_op(operations)(c, dtype=dtype, device=device), + nn.GELU(), + operations.Conv2d(c, c, kernel_size=3, padding=1), + LayerNorm2d_op(operations)(c, dtype=dtype, device=device), + nn.GELU(), + operations.Conv2d(c, c, kernel_size=3, padding=1), + ) + + def forward(self, x): + return x + self.blocks(x) + + +class ControlNet(nn.Module): + def __init__(self, c_in=3, c_proj=2048, proj_blocks=None, bottleneck_mode=None, dtype=None, device=None, operations=nn): + super().__init__() + if bottleneck_mode is None: + bottleneck_mode = 'effnet' + self.proj_blocks = proj_blocks + if bottleneck_mode == 'effnet': + embd_channels = 1280 + self.backbone = torchvision.models.efficientnet_v2_s().features.eval() + if c_in != 3: + in_weights = self.backbone[0][0].weight.data + self.backbone[0][0] = operations.Conv2d(c_in, 24, kernel_size=3, stride=2, bias=False, dtype=dtype, device=device) + if c_in > 3: + # nn.init.constant_(self.backbone[0][0].weight, 0) + self.backbone[0][0].weight.data[:, :3] = in_weights[:, :3].clone() + else: + self.backbone[0][0].weight.data = in_weights[:, :c_in].clone() + elif bottleneck_mode == 'simple': + embd_channels = c_in + self.backbone = nn.Sequential( + operations.Conv2d(embd_channels, embd_channels * 4, kernel_size=3, padding=1, dtype=dtype, device=device), + nn.LeakyReLU(0.2, inplace=True), + operations.Conv2d(embd_channels * 4, embd_channels, kernel_size=3, padding=1, dtype=dtype, device=device), + ) + elif bottleneck_mode == 'large': + self.backbone = nn.Sequential( + operations.Conv2d(c_in, 4096 * 4, kernel_size=1, dtype=dtype, device=device), + nn.LeakyReLU(0.2, inplace=True), + operations.Conv2d(4096 * 4, 1024, kernel_size=1, dtype=dtype, device=device), + *[CNetResBlock(1024, dtype=dtype, device=device, operations=operations) for _ in range(8)], + operations.Conv2d(1024, 1280, kernel_size=1, dtype=dtype, device=device), + ) + embd_channels = 1280 + else: + raise ValueError(f'Unknown bottleneck mode: {bottleneck_mode}') + self.projections = nn.ModuleList() + for _ in range(len(proj_blocks)): + self.projections.append(nn.Sequential( + operations.Conv2d(embd_channels, embd_channels, kernel_size=1, bias=False, dtype=dtype, device=device), + nn.LeakyReLU(0.2, inplace=True), + operations.Conv2d(embd_channels, c_proj, kernel_size=1, bias=False, dtype=dtype, device=device), + )) + # nn.init.constant_(self.projections[-1][-1].weight, 0) # zero output projection + self.xl = False + self.input_channels = c_in + self.unshuffle_amount = 8 + + def forward(self, x): + x = self.backbone(x) + proj_outputs = [None for _ in range(max(self.proj_blocks) + 1)] + for i, idx in enumerate(self.proj_blocks): + proj_outputs[idx] = self.projections[i](x) + return {"input": proj_outputs[::-1]} diff --git a/comfy/ldm/cascade/stage_a.py b/comfy/ldm/cascade/stage_a.py new file mode 100644 index 0000000000000000000000000000000000000000..ca8867eaf35cbc57eb5d925082b7e2bb7b36932d --- /dev/null +++ b/comfy/ldm/cascade/stage_a.py @@ -0,0 +1,255 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Stability AI + + 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 . +""" + +import torch +from torch import nn +from torch.autograd import Function + +class vector_quantize(Function): + @staticmethod + def forward(ctx, x, codebook): + with torch.no_grad(): + codebook_sqr = torch.sum(codebook ** 2, dim=1) + x_sqr = torch.sum(x ** 2, dim=1, keepdim=True) + + dist = torch.addmm(codebook_sqr + x_sqr, x, codebook.t(), alpha=-2.0, beta=1.0) + _, indices = dist.min(dim=1) + + ctx.save_for_backward(indices, codebook) + ctx.mark_non_differentiable(indices) + + nn = torch.index_select(codebook, 0, indices) + return nn, indices + + @staticmethod + def backward(ctx, grad_output, grad_indices): + grad_inputs, grad_codebook = None, None + + if ctx.needs_input_grad[0]: + grad_inputs = grad_output.clone() + if ctx.needs_input_grad[1]: + # Gradient wrt. the codebook + indices, codebook = ctx.saved_tensors + + grad_codebook = torch.zeros_like(codebook) + grad_codebook.index_add_(0, indices, grad_output) + + return (grad_inputs, grad_codebook) + + +class VectorQuantize(nn.Module): + def __init__(self, embedding_size, k, ema_decay=0.99, ema_loss=False): + """ + Takes an input of variable size (as long as the last dimension matches the embedding size). + Returns one tensor containing the nearest neigbour embeddings to each of the inputs, + with the same size as the input, vq and commitment components for the loss as a touple + in the second output and the indices of the quantized vectors in the third: + quantized, (vq_loss, commit_loss), indices + """ + super(VectorQuantize, self).__init__() + + self.codebook = nn.Embedding(k, embedding_size) + self.codebook.weight.data.uniform_(-1./k, 1./k) + self.vq = vector_quantize.apply + + self.ema_decay = ema_decay + self.ema_loss = ema_loss + if ema_loss: + self.register_buffer('ema_element_count', torch.ones(k)) + self.register_buffer('ema_weight_sum', torch.zeros_like(self.codebook.weight)) + + def _laplace_smoothing(self, x, epsilon): + n = torch.sum(x) + return ((x + epsilon) / (n + x.size(0) * epsilon) * n) + + def _updateEMA(self, z_e_x, indices): + mask = nn.functional.one_hot(indices, self.ema_element_count.size(0)).float() + elem_count = mask.sum(dim=0) + weight_sum = torch.mm(mask.t(), z_e_x) + + self.ema_element_count = (self.ema_decay * self.ema_element_count) + ((1-self.ema_decay) * elem_count) + self.ema_element_count = self._laplace_smoothing(self.ema_element_count, 1e-5) + self.ema_weight_sum = (self.ema_decay * self.ema_weight_sum) + ((1-self.ema_decay) * weight_sum) + + self.codebook.weight.data = self.ema_weight_sum / self.ema_element_count.unsqueeze(-1) + + def idx2vq(self, idx, dim=-1): + q_idx = self.codebook(idx) + if dim != -1: + q_idx = q_idx.movedim(-1, dim) + return q_idx + + def forward(self, x, get_losses=True, dim=-1): + if dim != -1: + x = x.movedim(dim, -1) + z_e_x = x.contiguous().view(-1, x.size(-1)) if len(x.shape) > 2 else x + z_q_x, indices = self.vq(z_e_x, self.codebook.weight.detach()) + vq_loss, commit_loss = None, None + if self.ema_loss and self.training: + self._updateEMA(z_e_x.detach(), indices.detach()) + # pick the graded embeddings after updating the codebook in order to have a more accurate commitment loss + z_q_x_grd = torch.index_select(self.codebook.weight, dim=0, index=indices) + if get_losses: + vq_loss = (z_q_x_grd - z_e_x.detach()).pow(2).mean() + commit_loss = (z_e_x - z_q_x_grd.detach()).pow(2).mean() + + z_q_x = z_q_x.view(x.shape) + if dim != -1: + z_q_x = z_q_x.movedim(-1, dim) + return z_q_x, (vq_loss, commit_loss), indices.view(x.shape[:-1]) + + +class ResBlock(nn.Module): + def __init__(self, c, c_hidden): + super().__init__() + # depthwise/attention + self.norm1 = nn.LayerNorm(c, elementwise_affine=False, eps=1e-6) + self.depthwise = nn.Sequential( + nn.ReplicationPad2d(1), + nn.Conv2d(c, c, kernel_size=3, groups=c) + ) + + # channelwise + self.norm2 = nn.LayerNorm(c, elementwise_affine=False, eps=1e-6) + self.channelwise = nn.Sequential( + nn.Linear(c, c_hidden), + nn.GELU(), + nn.Linear(c_hidden, c), + ) + + self.gammas = nn.Parameter(torch.zeros(6), requires_grad=True) + + # Init weights + def _basic_init(module): + if isinstance(module, nn.Linear) or isinstance(module, nn.Conv2d): + torch.nn.init.xavier_uniform_(module.weight) + if module.bias is not None: + nn.init.constant_(module.bias, 0) + + self.apply(_basic_init) + + def _norm(self, x, norm): + return norm(x.permute(0, 2, 3, 1)).permute(0, 3, 1, 2) + + def forward(self, x): + mods = self.gammas + + x_temp = self._norm(x, self.norm1) * (1 + mods[0]) + mods[1] + try: + x = x + self.depthwise(x_temp) * mods[2] + except: #operation not implemented for bf16 + x_temp = self.depthwise[0](x_temp.float()).to(x.dtype) + x = x + self.depthwise[1](x_temp) * mods[2] + + x_temp = self._norm(x, self.norm2) * (1 + mods[3]) + mods[4] + x = x + self.channelwise(x_temp.permute(0, 2, 3, 1)).permute(0, 3, 1, 2) * mods[5] + + return x + + +class StageA(nn.Module): + def __init__(self, levels=2, bottleneck_blocks=12, c_hidden=384, c_latent=4, codebook_size=8192): + super().__init__() + self.c_latent = c_latent + c_levels = [c_hidden // (2 ** i) for i in reversed(range(levels))] + + # Encoder blocks + self.in_block = nn.Sequential( + nn.PixelUnshuffle(2), + nn.Conv2d(3 * 4, c_levels[0], kernel_size=1) + ) + down_blocks = [] + for i in range(levels): + if i > 0: + down_blocks.append(nn.Conv2d(c_levels[i - 1], c_levels[i], kernel_size=4, stride=2, padding=1)) + block = ResBlock(c_levels[i], c_levels[i] * 4) + down_blocks.append(block) + down_blocks.append(nn.Sequential( + nn.Conv2d(c_levels[-1], c_latent, kernel_size=1, bias=False), + nn.BatchNorm2d(c_latent), # then normalize them to have mean 0 and std 1 + )) + self.down_blocks = nn.Sequential(*down_blocks) + self.down_blocks[0] + + self.codebook_size = codebook_size + self.vquantizer = VectorQuantize(c_latent, k=codebook_size) + + # Decoder blocks + up_blocks = [nn.Sequential( + nn.Conv2d(c_latent, c_levels[-1], kernel_size=1) + )] + for i in range(levels): + for j in range(bottleneck_blocks if i == 0 else 1): + block = ResBlock(c_levels[levels - 1 - i], c_levels[levels - 1 - i] * 4) + up_blocks.append(block) + if i < levels - 1: + up_blocks.append( + nn.ConvTranspose2d(c_levels[levels - 1 - i], c_levels[levels - 2 - i], kernel_size=4, stride=2, + padding=1)) + self.up_blocks = nn.Sequential(*up_blocks) + self.out_block = nn.Sequential( + nn.Conv2d(c_levels[0], 3 * 4, kernel_size=1), + nn.PixelShuffle(2), + ) + + def encode(self, x, quantize=False): + x = self.in_block(x) + x = self.down_blocks(x) + if quantize: + qe, (vq_loss, commit_loss), indices = self.vquantizer.forward(x, dim=1) + return qe, x, indices, vq_loss + commit_loss * 0.25 + else: + return x + + def decode(self, x): + x = self.up_blocks(x) + x = self.out_block(x) + return x + + def forward(self, x, quantize=False): + qe, x, _, vq_loss = self.encode(x, quantize) + x = self.decode(qe) + return x, vq_loss + + +class Discriminator(nn.Module): + def __init__(self, c_in=3, c_cond=0, c_hidden=512, depth=6): + super().__init__() + d = max(depth - 3, 3) + layers = [ + nn.utils.spectral_norm(nn.Conv2d(c_in, c_hidden // (2 ** d), kernel_size=3, stride=2, padding=1)), + nn.LeakyReLU(0.2), + ] + for i in range(depth - 1): + c_in = c_hidden // (2 ** max((d - i), 0)) + c_out = c_hidden // (2 ** max((d - 1 - i), 0)) + layers.append(nn.utils.spectral_norm(nn.Conv2d(c_in, c_out, kernel_size=3, stride=2, padding=1))) + layers.append(nn.InstanceNorm2d(c_out)) + layers.append(nn.LeakyReLU(0.2)) + self.encoder = nn.Sequential(*layers) + self.shuffle = nn.Conv2d((c_hidden + c_cond) if c_cond > 0 else c_hidden, 1, kernel_size=1) + self.logits = nn.Sigmoid() + + def forward(self, x, cond=None): + x = self.encoder(x) + if cond is not None: + cond = cond.view(cond.size(0), cond.size(1), 1, 1, ).expand(-1, -1, x.size(-2), x.size(-1)) + x = torch.cat([x, cond], dim=1) + x = self.shuffle(x) + x = self.logits(x) + return x diff --git a/comfy/ldm/cascade/stage_b.py b/comfy/ldm/cascade/stage_b.py new file mode 100644 index 0000000000000000000000000000000000000000..77383095681d994dcf94e52a106cfe93dcbb6a50 --- /dev/null +++ b/comfy/ldm/cascade/stage_b.py @@ -0,0 +1,256 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Stability AI + + 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 . +""" + +import math +import torch +from torch import nn +from .common import AttnBlock, LayerNorm2d_op, ResBlock, FeedForwardBlock, TimestepBlock + +class StageB(nn.Module): + def __init__(self, c_in=4, c_out=4, c_r=64, patch_size=2, c_cond=1280, c_hidden=[320, 640, 1280, 1280], + nhead=[-1, -1, 20, 20], blocks=[[2, 6, 28, 6], [6, 28, 6, 2]], + block_repeat=[[1, 1, 1, 1], [3, 3, 2, 2]], level_config=['CT', 'CT', 'CTA', 'CTA'], c_clip=1280, + c_clip_seq=4, c_effnet=16, c_pixels=3, kernel_size=3, dropout=[0, 0, 0.0, 0.0], self_attn=True, + t_conds=['sca'], stable_cascade_stage=None, dtype=None, device=None, operations=None): + super().__init__() + self.dtype = dtype + self.c_r = c_r + self.t_conds = t_conds + self.c_clip_seq = c_clip_seq + if not isinstance(dropout, list): + dropout = [dropout] * len(c_hidden) + if not isinstance(self_attn, list): + self_attn = [self_attn] * len(c_hidden) + + # CONDITIONING + self.effnet_mapper = nn.Sequential( + operations.Conv2d(c_effnet, c_hidden[0] * 4, kernel_size=1, dtype=dtype, device=device), + nn.GELU(), + operations.Conv2d(c_hidden[0] * 4, c_hidden[0], kernel_size=1, dtype=dtype, device=device), + LayerNorm2d_op(operations)(c_hidden[0], elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + ) + self.pixels_mapper = nn.Sequential( + operations.Conv2d(c_pixels, c_hidden[0] * 4, kernel_size=1, dtype=dtype, device=device), + nn.GELU(), + operations.Conv2d(c_hidden[0] * 4, c_hidden[0], kernel_size=1, dtype=dtype, device=device), + LayerNorm2d_op(operations)(c_hidden[0], elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + ) + self.clip_mapper = operations.Linear(c_clip, c_cond * c_clip_seq, dtype=dtype, device=device) + self.clip_norm = operations.LayerNorm(c_cond, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + + self.embedding = nn.Sequential( + nn.PixelUnshuffle(patch_size), + operations.Conv2d(c_in * (patch_size ** 2), c_hidden[0], kernel_size=1, dtype=dtype, device=device), + LayerNorm2d_op(operations)(c_hidden[0], elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + ) + + def get_block(block_type, c_hidden, nhead, c_skip=0, dropout=0, self_attn=True): + if block_type == 'C': + return ResBlock(c_hidden, c_skip, kernel_size=kernel_size, dropout=dropout, dtype=dtype, device=device, operations=operations) + elif block_type == 'A': + return AttnBlock(c_hidden, c_cond, nhead, self_attn=self_attn, dropout=dropout, dtype=dtype, device=device, operations=operations) + elif block_type == 'F': + return FeedForwardBlock(c_hidden, dropout=dropout, dtype=dtype, device=device, operations=operations) + elif block_type == 'T': + return TimestepBlock(c_hidden, c_r, conds=t_conds, dtype=dtype, device=device, operations=operations) + else: + raise Exception(f'Block type {block_type} not supported') + + # BLOCKS + # -- down blocks + self.down_blocks = nn.ModuleList() + self.down_downscalers = nn.ModuleList() + self.down_repeat_mappers = nn.ModuleList() + for i in range(len(c_hidden)): + if i > 0: + self.down_downscalers.append(nn.Sequential( + LayerNorm2d_op(operations)(c_hidden[i - 1], elementwise_affine=False, eps=1e-6, dtype=dtype, device=device), + operations.Conv2d(c_hidden[i - 1], c_hidden[i], kernel_size=2, stride=2, dtype=dtype, device=device), + )) + else: + self.down_downscalers.append(nn.Identity()) + down_block = nn.ModuleList() + for _ in range(blocks[0][i]): + for block_type in level_config[i]: + block = get_block(block_type, c_hidden[i], nhead[i], dropout=dropout[i], self_attn=self_attn[i]) + down_block.append(block) + self.down_blocks.append(down_block) + if block_repeat is not None: + block_repeat_mappers = nn.ModuleList() + for _ in range(block_repeat[0][i] - 1): + block_repeat_mappers.append(operations.Conv2d(c_hidden[i], c_hidden[i], kernel_size=1, dtype=dtype, device=device)) + self.down_repeat_mappers.append(block_repeat_mappers) + + # -- up blocks + self.up_blocks = nn.ModuleList() + self.up_upscalers = nn.ModuleList() + self.up_repeat_mappers = nn.ModuleList() + for i in reversed(range(len(c_hidden))): + if i > 0: + self.up_upscalers.append(nn.Sequential( + LayerNorm2d_op(operations)(c_hidden[i], elementwise_affine=False, eps=1e-6, dtype=dtype, device=device), + operations.ConvTranspose2d(c_hidden[i], c_hidden[i - 1], kernel_size=2, stride=2, dtype=dtype, device=device), + )) + else: + self.up_upscalers.append(nn.Identity()) + up_block = nn.ModuleList() + for j in range(blocks[1][::-1][i]): + for k, block_type in enumerate(level_config[i]): + c_skip = c_hidden[i] if i < len(c_hidden) - 1 and j == k == 0 else 0 + block = get_block(block_type, c_hidden[i], nhead[i], c_skip=c_skip, dropout=dropout[i], + self_attn=self_attn[i]) + up_block.append(block) + self.up_blocks.append(up_block) + if block_repeat is not None: + block_repeat_mappers = nn.ModuleList() + for _ in range(block_repeat[1][::-1][i] - 1): + block_repeat_mappers.append(operations.Conv2d(c_hidden[i], c_hidden[i], kernel_size=1, dtype=dtype, device=device)) + self.up_repeat_mappers.append(block_repeat_mappers) + + # OUTPUT + self.clf = nn.Sequential( + LayerNorm2d_op(operations)(c_hidden[0], elementwise_affine=False, eps=1e-6, dtype=dtype, device=device), + operations.Conv2d(c_hidden[0], c_out * (patch_size ** 2), kernel_size=1, dtype=dtype, device=device), + nn.PixelShuffle(patch_size), + ) + + # --- WEIGHT INIT --- + # self.apply(self._init_weights) # General init + # nn.init.normal_(self.clip_mapper.weight, std=0.02) # conditionings + # nn.init.normal_(self.effnet_mapper[0].weight, std=0.02) # conditionings + # nn.init.normal_(self.effnet_mapper[2].weight, std=0.02) # conditionings + # nn.init.normal_(self.pixels_mapper[0].weight, std=0.02) # conditionings + # nn.init.normal_(self.pixels_mapper[2].weight, std=0.02) # conditionings + # torch.nn.init.xavier_uniform_(self.embedding[1].weight, 0.02) # inputs + # nn.init.constant_(self.clf[1].weight, 0) # outputs + # + # # blocks + # for level_block in self.down_blocks + self.up_blocks: + # for block in level_block: + # if isinstance(block, ResBlock) or isinstance(block, FeedForwardBlock): + # block.channelwise[-1].weight.data *= np.sqrt(1 / sum(blocks[0])) + # elif isinstance(block, TimestepBlock): + # for layer in block.modules(): + # if isinstance(layer, nn.Linear): + # nn.init.constant_(layer.weight, 0) + # + # def _init_weights(self, m): + # if isinstance(m, (nn.Conv2d, nn.Linear)): + # torch.nn.init.xavier_uniform_(m.weight) + # if m.bias is not None: + # nn.init.constant_(m.bias, 0) + + def gen_r_embedding(self, r, max_positions=10000): + r = r * max_positions + half_dim = self.c_r // 2 + emb = math.log(max_positions) / (half_dim - 1) + emb = torch.arange(half_dim, device=r.device).float().mul(-emb).exp() + emb = r[:, None] * emb[None, :] + emb = torch.cat([emb.sin(), emb.cos()], dim=1) + if self.c_r % 2 == 1: # zero pad + emb = nn.functional.pad(emb, (0, 1), mode='constant') + return emb + + def gen_c_embeddings(self, clip): + if len(clip.shape) == 2: + clip = clip.unsqueeze(1) + clip = self.clip_mapper(clip).view(clip.size(0), clip.size(1) * self.c_clip_seq, -1) + clip = self.clip_norm(clip) + return clip + + def _down_encode(self, x, r_embed, clip): + level_outputs = [] + block_group = zip(self.down_blocks, self.down_downscalers, self.down_repeat_mappers) + for down_block, downscaler, repmap in block_group: + x = downscaler(x) + for i in range(len(repmap) + 1): + for block in down_block: + if isinstance(block, ResBlock) or ( + hasattr(block, '_fsdp_wrapped_module') and isinstance(block._fsdp_wrapped_module, + ResBlock)): + x = block(x) + elif isinstance(block, AttnBlock) or ( + hasattr(block, '_fsdp_wrapped_module') and isinstance(block._fsdp_wrapped_module, + AttnBlock)): + x = block(x, clip) + elif isinstance(block, TimestepBlock) or ( + hasattr(block, '_fsdp_wrapped_module') and isinstance(block._fsdp_wrapped_module, + TimestepBlock)): + x = block(x, r_embed) + else: + x = block(x) + if i < len(repmap): + x = repmap[i](x) + level_outputs.insert(0, x) + return level_outputs + + def _up_decode(self, level_outputs, r_embed, clip): + x = level_outputs[0] + block_group = zip(self.up_blocks, self.up_upscalers, self.up_repeat_mappers) + for i, (up_block, upscaler, repmap) in enumerate(block_group): + for j in range(len(repmap) + 1): + for k, block in enumerate(up_block): + if isinstance(block, ResBlock) or ( + hasattr(block, '_fsdp_wrapped_module') and isinstance(block._fsdp_wrapped_module, + ResBlock)): + skip = level_outputs[i] if k == 0 and i > 0 else None + if skip is not None and (x.size(-1) != skip.size(-1) or x.size(-2) != skip.size(-2)): + x = torch.nn.functional.interpolate(x, skip.shape[-2:], mode='bilinear', + align_corners=True) + x = block(x, skip) + elif isinstance(block, AttnBlock) or ( + hasattr(block, '_fsdp_wrapped_module') and isinstance(block._fsdp_wrapped_module, + AttnBlock)): + x = block(x, clip) + elif isinstance(block, TimestepBlock) or ( + hasattr(block, '_fsdp_wrapped_module') and isinstance(block._fsdp_wrapped_module, + TimestepBlock)): + x = block(x, r_embed) + else: + x = block(x) + if j < len(repmap): + x = repmap[j](x) + x = upscaler(x) + return x + + def forward(self, x, r, effnet, clip, pixels=None, **kwargs): + if pixels is None: + pixels = x.new_zeros(x.size(0), 3, 8, 8) + + # Process the conditioning embeddings + r_embed = self.gen_r_embedding(r).to(dtype=x.dtype) + for c in self.t_conds: + t_cond = kwargs.get(c, torch.zeros_like(r)) + r_embed = torch.cat([r_embed, self.gen_r_embedding(t_cond).to(dtype=x.dtype)], dim=1) + clip = self.gen_c_embeddings(clip) + + # Model Blocks + x = self.embedding(x) + x = x + self.effnet_mapper( + nn.functional.interpolate(effnet, size=x.shape[-2:], mode='bilinear', align_corners=True)) + x = x + nn.functional.interpolate(self.pixels_mapper(pixels), size=x.shape[-2:], mode='bilinear', + align_corners=True) + level_outputs = self._down_encode(x, r_embed, clip) + x = self._up_decode(level_outputs, r_embed, clip) + return self.clf(x) + + def update_weights_ema(self, src_model, beta=0.999): + for self_params, src_params in zip(self.parameters(), src_model.parameters()): + self_params.data = self_params.data * beta + src_params.data.clone().to(self_params.device) * (1 - beta) + for self_buffers, src_buffers in zip(self.buffers(), src_model.buffers()): + self_buffers.data = self_buffers.data * beta + src_buffers.data.clone().to(self_buffers.device) * (1 - beta) diff --git a/comfy/ldm/cascade/stage_c.py b/comfy/ldm/cascade/stage_c.py new file mode 100644 index 0000000000000000000000000000000000000000..b952d03490578840deadfb4623225819903bf09d --- /dev/null +++ b/comfy/ldm/cascade/stage_c.py @@ -0,0 +1,273 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Stability AI + + 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 . +""" + +import torch +from torch import nn +import math +from .common import AttnBlock, LayerNorm2d_op, ResBlock, FeedForwardBlock, TimestepBlock +# from .controlnet import ControlNetDeliverer + +class UpDownBlock2d(nn.Module): + def __init__(self, c_in, c_out, mode, enabled=True, dtype=None, device=None, operations=None): + super().__init__() + assert mode in ['up', 'down'] + interpolation = nn.Upsample(scale_factor=2 if mode == 'up' else 0.5, mode='bilinear', + align_corners=True) if enabled else nn.Identity() + mapping = operations.Conv2d(c_in, c_out, kernel_size=1, dtype=dtype, device=device) + self.blocks = nn.ModuleList([interpolation, mapping] if mode == 'up' else [mapping, interpolation]) + + def forward(self, x): + for block in self.blocks: + x = block(x) + return x + + +class StageC(nn.Module): + def __init__(self, c_in=16, c_out=16, c_r=64, patch_size=1, c_cond=2048, c_hidden=[2048, 2048], nhead=[32, 32], + blocks=[[8, 24], [24, 8]], block_repeat=[[1, 1], [1, 1]], level_config=['CTA', 'CTA'], + c_clip_text=1280, c_clip_text_pooled=1280, c_clip_img=768, c_clip_seq=4, kernel_size=3, + dropout=[0.0, 0.0], self_attn=True, t_conds=['sca', 'crp'], switch_level=[False], stable_cascade_stage=None, + dtype=None, device=None, operations=None): + super().__init__() + self.dtype = dtype + self.c_r = c_r + self.t_conds = t_conds + self.c_clip_seq = c_clip_seq + if not isinstance(dropout, list): + dropout = [dropout] * len(c_hidden) + if not isinstance(self_attn, list): + self_attn = [self_attn] * len(c_hidden) + + # CONDITIONING + self.clip_txt_mapper = operations.Linear(c_clip_text, c_cond, dtype=dtype, device=device) + self.clip_txt_pooled_mapper = operations.Linear(c_clip_text_pooled, c_cond * c_clip_seq, dtype=dtype, device=device) + self.clip_img_mapper = operations.Linear(c_clip_img, c_cond * c_clip_seq, dtype=dtype, device=device) + self.clip_norm = operations.LayerNorm(c_cond, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + + self.embedding = nn.Sequential( + nn.PixelUnshuffle(patch_size), + operations.Conv2d(c_in * (patch_size ** 2), c_hidden[0], kernel_size=1, dtype=dtype, device=device), + LayerNorm2d_op(operations)(c_hidden[0], elementwise_affine=False, eps=1e-6) + ) + + def get_block(block_type, c_hidden, nhead, c_skip=0, dropout=0, self_attn=True): + if block_type == 'C': + return ResBlock(c_hidden, c_skip, kernel_size=kernel_size, dropout=dropout, dtype=dtype, device=device, operations=operations) + elif block_type == 'A': + return AttnBlock(c_hidden, c_cond, nhead, self_attn=self_attn, dropout=dropout, dtype=dtype, device=device, operations=operations) + elif block_type == 'F': + return FeedForwardBlock(c_hidden, dropout=dropout, dtype=dtype, device=device, operations=operations) + elif block_type == 'T': + return TimestepBlock(c_hidden, c_r, conds=t_conds, dtype=dtype, device=device, operations=operations) + else: + raise Exception(f'Block type {block_type} not supported') + + # BLOCKS + # -- down blocks + self.down_blocks = nn.ModuleList() + self.down_downscalers = nn.ModuleList() + self.down_repeat_mappers = nn.ModuleList() + for i in range(len(c_hidden)): + if i > 0: + self.down_downscalers.append(nn.Sequential( + LayerNorm2d_op(operations)(c_hidden[i - 1], elementwise_affine=False, eps=1e-6), + UpDownBlock2d(c_hidden[i - 1], c_hidden[i], mode='down', enabled=switch_level[i - 1], dtype=dtype, device=device, operations=operations) + )) + else: + self.down_downscalers.append(nn.Identity()) + down_block = nn.ModuleList() + for _ in range(blocks[0][i]): + for block_type in level_config[i]: + block = get_block(block_type, c_hidden[i], nhead[i], dropout=dropout[i], self_attn=self_attn[i]) + down_block.append(block) + self.down_blocks.append(down_block) + if block_repeat is not None: + block_repeat_mappers = nn.ModuleList() + for _ in range(block_repeat[0][i] - 1): + block_repeat_mappers.append(operations.Conv2d(c_hidden[i], c_hidden[i], kernel_size=1, dtype=dtype, device=device)) + self.down_repeat_mappers.append(block_repeat_mappers) + + # -- up blocks + self.up_blocks = nn.ModuleList() + self.up_upscalers = nn.ModuleList() + self.up_repeat_mappers = nn.ModuleList() + for i in reversed(range(len(c_hidden))): + if i > 0: + self.up_upscalers.append(nn.Sequential( + LayerNorm2d_op(operations)(c_hidden[i], elementwise_affine=False, eps=1e-6), + UpDownBlock2d(c_hidden[i], c_hidden[i - 1], mode='up', enabled=switch_level[i - 1], dtype=dtype, device=device, operations=operations) + )) + else: + self.up_upscalers.append(nn.Identity()) + up_block = nn.ModuleList() + for j in range(blocks[1][::-1][i]): + for k, block_type in enumerate(level_config[i]): + c_skip = c_hidden[i] if i < len(c_hidden) - 1 and j == k == 0 else 0 + block = get_block(block_type, c_hidden[i], nhead[i], c_skip=c_skip, dropout=dropout[i], + self_attn=self_attn[i]) + up_block.append(block) + self.up_blocks.append(up_block) + if block_repeat is not None: + block_repeat_mappers = nn.ModuleList() + for _ in range(block_repeat[1][::-1][i] - 1): + block_repeat_mappers.append(operations.Conv2d(c_hidden[i], c_hidden[i], kernel_size=1, dtype=dtype, device=device)) + self.up_repeat_mappers.append(block_repeat_mappers) + + # OUTPUT + self.clf = nn.Sequential( + LayerNorm2d_op(operations)(c_hidden[0], elementwise_affine=False, eps=1e-6, dtype=dtype, device=device), + operations.Conv2d(c_hidden[0], c_out * (patch_size ** 2), kernel_size=1, dtype=dtype, device=device), + nn.PixelShuffle(patch_size), + ) + + # --- WEIGHT INIT --- + # self.apply(self._init_weights) # General init + # nn.init.normal_(self.clip_txt_mapper.weight, std=0.02) # conditionings + # nn.init.normal_(self.clip_txt_pooled_mapper.weight, std=0.02) # conditionings + # nn.init.normal_(self.clip_img_mapper.weight, std=0.02) # conditionings + # torch.nn.init.xavier_uniform_(self.embedding[1].weight, 0.02) # inputs + # nn.init.constant_(self.clf[1].weight, 0) # outputs + # + # # blocks + # for level_block in self.down_blocks + self.up_blocks: + # for block in level_block: + # if isinstance(block, ResBlock) or isinstance(block, FeedForwardBlock): + # block.channelwise[-1].weight.data *= np.sqrt(1 / sum(blocks[0])) + # elif isinstance(block, TimestepBlock): + # for layer in block.modules(): + # if isinstance(layer, nn.Linear): + # nn.init.constant_(layer.weight, 0) + # + # def _init_weights(self, m): + # if isinstance(m, (nn.Conv2d, nn.Linear)): + # torch.nn.init.xavier_uniform_(m.weight) + # if m.bias is not None: + # nn.init.constant_(m.bias, 0) + + def gen_r_embedding(self, r, max_positions=10000): + r = r * max_positions + half_dim = self.c_r // 2 + emb = math.log(max_positions) / (half_dim - 1) + emb = torch.arange(half_dim, device=r.device).float().mul(-emb).exp() + emb = r[:, None] * emb[None, :] + emb = torch.cat([emb.sin(), emb.cos()], dim=1) + if self.c_r % 2 == 1: # zero pad + emb = nn.functional.pad(emb, (0, 1), mode='constant') + return emb + + def gen_c_embeddings(self, clip_txt, clip_txt_pooled, clip_img): + clip_txt = self.clip_txt_mapper(clip_txt) + if len(clip_txt_pooled.shape) == 2: + clip_txt_pooled = clip_txt_pooled.unsqueeze(1) + if len(clip_img.shape) == 2: + clip_img = clip_img.unsqueeze(1) + clip_txt_pool = self.clip_txt_pooled_mapper(clip_txt_pooled).view(clip_txt_pooled.size(0), clip_txt_pooled.size(1) * self.c_clip_seq, -1) + clip_img = self.clip_img_mapper(clip_img).view(clip_img.size(0), clip_img.size(1) * self.c_clip_seq, -1) + clip = torch.cat([clip_txt, clip_txt_pool, clip_img], dim=1) + clip = self.clip_norm(clip) + return clip + + def _down_encode(self, x, r_embed, clip, cnet=None): + level_outputs = [] + block_group = zip(self.down_blocks, self.down_downscalers, self.down_repeat_mappers) + for down_block, downscaler, repmap in block_group: + x = downscaler(x) + for i in range(len(repmap) + 1): + for block in down_block: + if isinstance(block, ResBlock) or ( + hasattr(block, '_fsdp_wrapped_module') and isinstance(block._fsdp_wrapped_module, + ResBlock)): + if cnet is not None: + next_cnet = cnet.pop() + if next_cnet is not None: + x = x + nn.functional.interpolate(next_cnet, size=x.shape[-2:], mode='bilinear', + align_corners=True).to(x.dtype) + x = block(x) + elif isinstance(block, AttnBlock) or ( + hasattr(block, '_fsdp_wrapped_module') and isinstance(block._fsdp_wrapped_module, + AttnBlock)): + x = block(x, clip) + elif isinstance(block, TimestepBlock) or ( + hasattr(block, '_fsdp_wrapped_module') and isinstance(block._fsdp_wrapped_module, + TimestepBlock)): + x = block(x, r_embed) + else: + x = block(x) + if i < len(repmap): + x = repmap[i](x) + level_outputs.insert(0, x) + return level_outputs + + def _up_decode(self, level_outputs, r_embed, clip, cnet=None): + x = level_outputs[0] + block_group = zip(self.up_blocks, self.up_upscalers, self.up_repeat_mappers) + for i, (up_block, upscaler, repmap) in enumerate(block_group): + for j in range(len(repmap) + 1): + for k, block in enumerate(up_block): + if isinstance(block, ResBlock) or ( + hasattr(block, '_fsdp_wrapped_module') and isinstance(block._fsdp_wrapped_module, + ResBlock)): + skip = level_outputs[i] if k == 0 and i > 0 else None + if skip is not None and (x.size(-1) != skip.size(-1) or x.size(-2) != skip.size(-2)): + x = torch.nn.functional.interpolate(x, skip.shape[-2:], mode='bilinear', + align_corners=True) + if cnet is not None: + next_cnet = cnet.pop() + if next_cnet is not None: + x = x + nn.functional.interpolate(next_cnet, size=x.shape[-2:], mode='bilinear', + align_corners=True).to(x.dtype) + x = block(x, skip) + elif isinstance(block, AttnBlock) or ( + hasattr(block, '_fsdp_wrapped_module') and isinstance(block._fsdp_wrapped_module, + AttnBlock)): + x = block(x, clip) + elif isinstance(block, TimestepBlock) or ( + hasattr(block, '_fsdp_wrapped_module') and isinstance(block._fsdp_wrapped_module, + TimestepBlock)): + x = block(x, r_embed) + else: + x = block(x) + if j < len(repmap): + x = repmap[j](x) + x = upscaler(x) + return x + + def forward(self, x, r, clip_text, clip_text_pooled, clip_img, control=None, **kwargs): + # Process the conditioning embeddings + r_embed = self.gen_r_embedding(r).to(dtype=x.dtype) + for c in self.t_conds: + t_cond = kwargs.get(c, torch.zeros_like(r)) + r_embed = torch.cat([r_embed, self.gen_r_embedding(t_cond).to(dtype=x.dtype)], dim=1) + clip = self.gen_c_embeddings(clip_text, clip_text_pooled, clip_img) + + if control is not None: + cnet = control.get("input") + else: + cnet = None + + # Model Blocks + x = self.embedding(x) + level_outputs = self._down_encode(x, r_embed, clip, cnet) + x = self._up_decode(level_outputs, r_embed, clip, cnet) + return self.clf(x) + + def update_weights_ema(self, src_model, beta=0.999): + for self_params, src_params in zip(self.parameters(), src_model.parameters()): + self_params.data = self_params.data * beta + src_params.data.clone().to(self_params.device) * (1 - beta) + for self_buffers, src_buffers in zip(self.buffers(), src_model.buffers()): + self_buffers.data = self_buffers.data * beta + src_buffers.data.clone().to(self_buffers.device) * (1 - beta) diff --git a/comfy/ldm/cascade/stage_c_coder.py b/comfy/ldm/cascade/stage_c_coder.py new file mode 100644 index 0000000000000000000000000000000000000000..0cb7c49fc90c434553954772cbf522e1f4a88955 --- /dev/null +++ b/comfy/ldm/cascade/stage_c_coder.py @@ -0,0 +1,95 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Stability AI + + 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 . +""" +import torch +import torchvision +from torch import nn + + +# EfficientNet +class EfficientNetEncoder(nn.Module): + def __init__(self, c_latent=16): + super().__init__() + self.backbone = torchvision.models.efficientnet_v2_s().features.eval() + self.mapper = nn.Sequential( + nn.Conv2d(1280, c_latent, kernel_size=1, bias=False), + nn.BatchNorm2d(c_latent, affine=False), # then normalize them to have mean 0 and std 1 + ) + self.mean = nn.Parameter(torch.tensor([0.485, 0.456, 0.406])) + self.std = nn.Parameter(torch.tensor([0.229, 0.224, 0.225])) + + def forward(self, x): + x = x * 0.5 + 0.5 + x = (x - self.mean.view([3,1,1])) / self.std.view([3,1,1]) + o = self.mapper(self.backbone(x)) + return o + + +# Fast Decoder for Stage C latents. E.g. 16 x 24 x 24 -> 3 x 192 x 192 +class Previewer(nn.Module): + def __init__(self, c_in=16, c_hidden=512, c_out=3): + super().__init__() + self.blocks = nn.Sequential( + nn.Conv2d(c_in, c_hidden, kernel_size=1), # 16 channels to 512 channels + nn.GELU(), + nn.BatchNorm2d(c_hidden), + + nn.Conv2d(c_hidden, c_hidden, kernel_size=3, padding=1), + nn.GELU(), + nn.BatchNorm2d(c_hidden), + + nn.ConvTranspose2d(c_hidden, c_hidden // 2, kernel_size=2, stride=2), # 16 -> 32 + nn.GELU(), + nn.BatchNorm2d(c_hidden // 2), + + nn.Conv2d(c_hidden // 2, c_hidden // 2, kernel_size=3, padding=1), + nn.GELU(), + nn.BatchNorm2d(c_hidden // 2), + + nn.ConvTranspose2d(c_hidden // 2, c_hidden // 4, kernel_size=2, stride=2), # 32 -> 64 + nn.GELU(), + nn.BatchNorm2d(c_hidden // 4), + + nn.Conv2d(c_hidden // 4, c_hidden // 4, kernel_size=3, padding=1), + nn.GELU(), + nn.BatchNorm2d(c_hidden // 4), + + nn.ConvTranspose2d(c_hidden // 4, c_hidden // 4, kernel_size=2, stride=2), # 64 -> 128 + nn.GELU(), + nn.BatchNorm2d(c_hidden // 4), + + nn.Conv2d(c_hidden // 4, c_hidden // 4, kernel_size=3, padding=1), + nn.GELU(), + nn.BatchNorm2d(c_hidden // 4), + + nn.Conv2d(c_hidden // 4, c_out, kernel_size=1), + ) + + def forward(self, x): + return (self.blocks(x) - 0.5) * 2.0 + +class StageC_coder(nn.Module): + def __init__(self): + super().__init__() + self.previewer = Previewer() + self.encoder = EfficientNetEncoder() + + def encode(self, x): + return self.encoder(x) + + def decode(self, x): + return self.previewer(x) diff --git a/comfy/ldm/common_dit.py b/comfy/ldm/common_dit.py new file mode 100644 index 0000000000000000000000000000000000000000..e0f3057f7566fe162a984f1514016d078ae293cc --- /dev/null +++ b/comfy/ldm/common_dit.py @@ -0,0 +1,30 @@ +import torch +import comfy.ops + +def pad_to_patch_size(img, patch_size=(2, 2), padding_mode="circular"): + if padding_mode == "circular" and (torch.jit.is_tracing() or torch.jit.is_scripting()): + padding_mode = "reflect" + + pad = () + for i in range(img.ndim - 2): + pad = (0, (patch_size[i] - img.shape[i + 2] % patch_size[i]) % patch_size[i]) + pad + + return torch.nn.functional.pad(img, pad, mode=padding_mode) + +try: + rms_norm_torch = torch.nn.functional.rms_norm +except: + rms_norm_torch = None + +def rms_norm(x, weight=None, eps=1e-6): + if rms_norm_torch is not None and not (torch.jit.is_tracing() or torch.jit.is_scripting()): + if weight is None: + return rms_norm_torch(x, (x.shape[-1],), eps=eps) + else: + return rms_norm_torch(x, weight.shape, weight=comfy.ops.cast_to(weight, dtype=x.dtype, device=x.device), eps=eps) + else: + r = x * torch.rsqrt(torch.mean(x**2, dim=-1, keepdim=True) + eps) + if weight is None: + return r + else: + return r * comfy.ops.cast_to(weight, dtype=x.dtype, device=x.device) diff --git a/comfy/ldm/cosmos/blocks.py b/comfy/ldm/cosmos/blocks.py new file mode 100644 index 0000000000000000000000000000000000000000..3e9c6497a03189ff9cfb726d6ad7a8d5d36ade64 --- /dev/null +++ b/comfy/ldm/cosmos/blocks.py @@ -0,0 +1,804 @@ +# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import math +from typing import Optional +import logging + +import numpy as np +import torch +from einops import rearrange, repeat +from einops.layers.torch import Rearrange +from torch import nn + +from comfy.ldm.modules.diffusionmodules.mmdit import RMSNorm +from comfy.ldm.modules.attention import optimized_attention + + +def apply_rotary_pos_emb( + t: torch.Tensor, + freqs: torch.Tensor, +) -> torch.Tensor: + t_ = t.reshape(*t.shape[:-1], 2, -1).movedim(-2, -1).unsqueeze(-2).float() + t_out = freqs[..., 0] * t_[..., 0] + freqs[..., 1] * t_[..., 1] + t_out = t_out.movedim(-1, -2).reshape(*t.shape).type_as(t) + return t_out + + +def get_normalization(name: str, channels: int, weight_args={}): + if name == "I": + return nn.Identity() + elif name == "R": + return RMSNorm(channels, elementwise_affine=True, eps=1e-6, **weight_args) + else: + raise ValueError(f"Normalization {name} not found") + + +class BaseAttentionOp(nn.Module): + def __init__(self): + super().__init__() + + +class Attention(nn.Module): + """ + Generalized attention impl. + + Allowing for both self-attention and cross-attention configurations depending on whether a `context_dim` is provided. + If `context_dim` is None, self-attention is assumed. + + Parameters: + query_dim (int): Dimension of each query vector. + context_dim (int, optional): Dimension of each context vector. If None, self-attention is assumed. + heads (int, optional): Number of attention heads. Defaults to 8. + dim_head (int, optional): Dimension of each head. Defaults to 64. + dropout (float, optional): Dropout rate applied to the output of the attention block. Defaults to 0.0. + attn_op (BaseAttentionOp, optional): Custom attention operation to be used instead of the default. + qkv_bias (bool, optional): If True, adds a learnable bias to query, key, and value projections. Defaults to False. + out_bias (bool, optional): If True, adds a learnable bias to the output projection. Defaults to False. + qkv_norm (str, optional): A string representing normalization strategies for query, key, and value projections. + Defaults to "SSI". + qkv_norm_mode (str, optional): A string representing normalization mode for query, key, and value projections. + Defaults to 'per_head'. Only support 'per_head'. + + Examples: + >>> attn = Attention(query_dim=128, context_dim=256, heads=4, dim_head=32, dropout=0.1) + >>> query = torch.randn(10, 128) # Batch size of 10 + >>> context = torch.randn(10, 256) # Batch size of 10 + >>> output = attn(query, context) # Perform the attention operation + + Note: + https://github.com/MatthieuTPHR/diffusers/blob/d80b531ff8060ec1ea982b65a1b8df70f73aa67c/src/diffusers/models/attention.py#L223 + """ + + def __init__( + self, + query_dim: int, + context_dim=None, + heads=8, + dim_head=64, + dropout=0.0, + attn_op: Optional[BaseAttentionOp] = None, + qkv_bias: bool = False, + out_bias: bool = False, + qkv_norm: str = "SSI", + qkv_norm_mode: str = "per_head", + backend: str = "transformer_engine", + qkv_format: str = "bshd", + weight_args={}, + operations=None, + ) -> None: + super().__init__() + + self.is_selfattn = context_dim is None # self attention + + inner_dim = dim_head * heads + context_dim = query_dim if context_dim is None else context_dim + + self.heads = heads + self.dim_head = dim_head + self.qkv_norm_mode = qkv_norm_mode + self.qkv_format = qkv_format + + if self.qkv_norm_mode == "per_head": + norm_dim = dim_head + else: + raise ValueError(f"Normalization mode {self.qkv_norm_mode} not found, only support 'per_head'") + + self.backend = backend + + self.to_q = nn.Sequential( + operations.Linear(query_dim, inner_dim, bias=qkv_bias, **weight_args), + get_normalization(qkv_norm[0], norm_dim), + ) + self.to_k = nn.Sequential( + operations.Linear(context_dim, inner_dim, bias=qkv_bias, **weight_args), + get_normalization(qkv_norm[1], norm_dim), + ) + self.to_v = nn.Sequential( + operations.Linear(context_dim, inner_dim, bias=qkv_bias, **weight_args), + get_normalization(qkv_norm[2], norm_dim), + ) + + self.to_out = nn.Sequential( + operations.Linear(inner_dim, query_dim, bias=out_bias, **weight_args), + nn.Dropout(dropout), + ) + + def cal_qkv( + self, x, context=None, mask=None, rope_emb=None, **kwargs + ) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor]: + del kwargs + + + """ + self.to_q, self.to_k, self.to_v are nn.Sequential with projection + normalization layers. + Before 07/24/2024, these modules normalize across all heads. + After 07/24/2024, to support tensor parallelism and follow the common practice in the community, + we support to normalize per head. + To keep the checkpoint copatibility with the previous code, + we keep the nn.Sequential but call the projection and the normalization layers separately. + We use a flag `self.qkv_norm_mode` to control the normalization behavior. + The default value of `self.qkv_norm_mode` is "per_head", which means we normalize per head. + """ + if self.qkv_norm_mode == "per_head": + q = self.to_q[0](x) + context = x if context is None else context + k = self.to_k[0](context) + v = self.to_v[0](context) + q, k, v = map( + lambda t: rearrange(t, "s b (n c) -> b n s c", n=self.heads, c=self.dim_head), + (q, k, v), + ) + else: + raise ValueError(f"Normalization mode {self.qkv_norm_mode} not found, only support 'per_head'") + + q = self.to_q[1](q) + k = self.to_k[1](k) + v = self.to_v[1](v) + if self.is_selfattn and rope_emb is not None: # only apply to self-attention! + q = apply_rotary_pos_emb(q, rope_emb) + k = apply_rotary_pos_emb(k, rope_emb) + return q, k, v + + def cal_attn(self, q, k, v, mask=None): + out = optimized_attention(q, k, v, self.heads, skip_reshape=True, mask=mask, skip_output_reshape=True) + out = rearrange(out, " b n s c -> s b (n c)") + return self.to_out(out) + + def forward( + self, + x, + context=None, + mask=None, + rope_emb=None, + **kwargs, + ): + """ + Args: + x (Tensor): The query tensor of shape [B, Mq, K] + context (Optional[Tensor]): The key tensor of shape [B, Mk, K] or use x as context [self attention] if None + """ + q, k, v = self.cal_qkv(x, context, mask, rope_emb=rope_emb, **kwargs) + return self.cal_attn(q, k, v, mask) + + +class FeedForward(nn.Module): + """ + Transformer FFN with optional gating + + Parameters: + d_model (int): Dimensionality of input features. + d_ff (int): Dimensionality of the hidden layer. + dropout (float, optional): Dropout rate applied after the activation function. Defaults to 0.1. + activation (callable, optional): The activation function applied after the first linear layer. + Defaults to nn.ReLU(). + is_gated (bool, optional): If set to True, incorporates gating mechanism to the feed-forward layer. + Defaults to False. + bias (bool, optional): If set to True, adds a bias to the linear layers. Defaults to True. + + Example: + >>> ff = FeedForward(d_model=512, d_ff=2048) + >>> x = torch.randn(64, 10, 512) # Example input tensor + >>> output = ff(x) + >>> print(output.shape) # Expected shape: (64, 10, 512) + """ + + def __init__( + self, + d_model: int, + d_ff: int, + dropout: float = 0.1, + activation=nn.ReLU(), + is_gated: bool = False, + bias: bool = False, + weight_args={}, + operations=None, + ) -> None: + super().__init__() + + self.layer1 = operations.Linear(d_model, d_ff, bias=bias, **weight_args) + self.layer2 = operations.Linear(d_ff, d_model, bias=bias, **weight_args) + + self.dropout = nn.Dropout(dropout) + self.activation = activation + self.is_gated = is_gated + if is_gated: + self.linear_gate = operations.Linear(d_model, d_ff, bias=False, **weight_args) + + def forward(self, x: torch.Tensor): + g = self.activation(self.layer1(x)) + if self.is_gated: + x = g * self.linear_gate(x) + else: + x = g + assert self.dropout.p == 0.0, "we skip dropout" + return self.layer2(x) + + +class GPT2FeedForward(FeedForward): + def __init__(self, d_model: int, d_ff: int, dropout: float = 0.1, bias: bool = False, weight_args={}, operations=None): + super().__init__( + d_model=d_model, + d_ff=d_ff, + dropout=dropout, + activation=nn.GELU(), + is_gated=False, + bias=bias, + weight_args=weight_args, + operations=operations, + ) + + def forward(self, x: torch.Tensor): + assert self.dropout.p == 0.0, "we skip dropout" + + x = self.layer1(x) + x = self.activation(x) + x = self.layer2(x) + + return x + + +def modulate(x, shift, scale): + return x * (1 + scale.unsqueeze(1)) + shift.unsqueeze(1) + + +class Timesteps(nn.Module): + def __init__(self, num_channels): + super().__init__() + self.num_channels = num_channels + + def forward(self, timesteps): + half_dim = self.num_channels // 2 + exponent = -math.log(10000) * torch.arange(half_dim, dtype=torch.float32, device=timesteps.device) + exponent = exponent / (half_dim - 0.0) + + emb = torch.exp(exponent) + emb = timesteps[:, None].float() * emb[None, :] + + sin_emb = torch.sin(emb) + cos_emb = torch.cos(emb) + emb = torch.cat([cos_emb, sin_emb], dim=-1) + + return emb + + +class TimestepEmbedding(nn.Module): + def __init__(self, in_features: int, out_features: int, use_adaln_lora: bool = False, weight_args={}, operations=None): + super().__init__() + logging.debug( + f"Using AdaLN LoRA Flag: {use_adaln_lora}. We enable bias if no AdaLN LoRA for backward compatibility." + ) + self.linear_1 = operations.Linear(in_features, out_features, bias=not use_adaln_lora, **weight_args) + self.activation = nn.SiLU() + self.use_adaln_lora = use_adaln_lora + if use_adaln_lora: + self.linear_2 = operations.Linear(out_features, 3 * out_features, bias=False, **weight_args) + else: + self.linear_2 = operations.Linear(out_features, out_features, bias=True, **weight_args) + + def forward(self, sample: torch.Tensor) -> torch.Tensor: + emb = self.linear_1(sample) + emb = self.activation(emb) + emb = self.linear_2(emb) + + if self.use_adaln_lora: + adaln_lora_B_3D = emb + emb_B_D = sample + else: + emb_B_D = emb + adaln_lora_B_3D = None + + return emb_B_D, adaln_lora_B_3D + + +class FourierFeatures(nn.Module): + """ + Implements a layer that generates Fourier features from input tensors, based on randomly sampled + frequencies and phases. This can help in learning high-frequency functions in low-dimensional problems. + + [B] -> [B, D] + + Parameters: + num_channels (int): The number of Fourier features to generate. + bandwidth (float, optional): The scaling factor for the frequency of the Fourier features. Defaults to 1. + normalize (bool, optional): If set to True, the outputs are scaled by sqrt(2), usually to normalize + the variance of the features. Defaults to False. + + Example: + >>> layer = FourierFeatures(num_channels=256, bandwidth=0.5, normalize=True) + >>> x = torch.randn(10, 256) # Example input tensor + >>> output = layer(x) + >>> print(output.shape) # Expected shape: (10, 256) + """ + + def __init__(self, num_channels, bandwidth=1, normalize=False): + super().__init__() + self.register_buffer("freqs", 2 * np.pi * bandwidth * torch.randn(num_channels), persistent=True) + self.register_buffer("phases", 2 * np.pi * torch.rand(num_channels), persistent=True) + self.gain = np.sqrt(2) if normalize else 1 + + def forward(self, x, gain: float = 1.0): + """ + Apply the Fourier feature transformation to the input tensor. + + Args: + x (torch.Tensor): The input tensor. + gain (float, optional): An additional gain factor applied during the forward pass. Defaults to 1. + + Returns: + torch.Tensor: The transformed tensor, with Fourier features applied. + """ + in_dtype = x.dtype + x = x.to(torch.float32).ger(self.freqs.to(torch.float32)).add(self.phases.to(torch.float32)) + x = x.cos().mul(self.gain * gain).to(in_dtype) + return x + + +class PatchEmbed(nn.Module): + """ + PatchEmbed is a module for embedding patches from an input tensor by applying either 3D or 2D convolutional layers, + depending on the . This module can process inputs with temporal (video) and spatial (image) dimensions, + making it suitable for video and image processing tasks. It supports dividing the input into patches + and embedding each patch into a vector of size `out_channels`. + + Parameters: + - spatial_patch_size (int): The size of each spatial patch. + - temporal_patch_size (int): The size of each temporal patch. + - in_channels (int): Number of input channels. Default: 3. + - out_channels (int): The dimension of the embedding vector for each patch. Default: 768. + - bias (bool): If True, adds a learnable bias to the output of the convolutional layers. Default: True. + """ + + def __init__( + self, + spatial_patch_size, + temporal_patch_size, + in_channels=3, + out_channels=768, + bias=True, + weight_args={}, + operations=None, + ): + super().__init__() + self.spatial_patch_size = spatial_patch_size + self.temporal_patch_size = temporal_patch_size + + self.proj = nn.Sequential( + Rearrange( + "b c (t r) (h m) (w n) -> b t h w (c r m n)", + r=temporal_patch_size, + m=spatial_patch_size, + n=spatial_patch_size, + ), + operations.Linear( + in_channels * spatial_patch_size * spatial_patch_size * temporal_patch_size, out_channels, bias=bias, **weight_args + ), + ) + self.out = nn.Identity() + + def forward(self, x): + """ + Forward pass of the PatchEmbed module. + + Parameters: + - x (torch.Tensor): The input tensor of shape (B, C, T, H, W) where + B is the batch size, + C is the number of channels, + T is the temporal dimension, + H is the height, and + W is the width of the input. + + Returns: + - torch.Tensor: The embedded patches as a tensor, with shape b t h w c. + """ + assert x.dim() == 5 + _, _, T, H, W = x.shape + assert H % self.spatial_patch_size == 0 and W % self.spatial_patch_size == 0 + assert T % self.temporal_patch_size == 0 + x = self.proj(x) + return self.out(x) + + +class FinalLayer(nn.Module): + """ + The final layer of video DiT. + """ + + def __init__( + self, + hidden_size, + spatial_patch_size, + temporal_patch_size, + out_channels, + use_adaln_lora: bool = False, + adaln_lora_dim: int = 256, + weight_args={}, + operations=None, + ): + super().__init__() + self.norm_final = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, **weight_args) + self.linear = operations.Linear( + hidden_size, spatial_patch_size * spatial_patch_size * temporal_patch_size * out_channels, bias=False, **weight_args + ) + self.hidden_size = hidden_size + self.n_adaln_chunks = 2 + self.use_adaln_lora = use_adaln_lora + if use_adaln_lora: + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operations.Linear(hidden_size, adaln_lora_dim, bias=False, **weight_args), + operations.Linear(adaln_lora_dim, self.n_adaln_chunks * hidden_size, bias=False, **weight_args), + ) + else: + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), operations.Linear(hidden_size, self.n_adaln_chunks * hidden_size, bias=False, **weight_args) + ) + + def forward( + self, + x_BT_HW_D, + emb_B_D, + adaln_lora_B_3D: Optional[torch.Tensor] = None, + ): + if self.use_adaln_lora: + assert adaln_lora_B_3D is not None + shift_B_D, scale_B_D = (self.adaLN_modulation(emb_B_D) + adaln_lora_B_3D[:, : 2 * self.hidden_size]).chunk( + 2, dim=1 + ) + else: + shift_B_D, scale_B_D = self.adaLN_modulation(emb_B_D).chunk(2, dim=1) + + B = emb_B_D.shape[0] + T = x_BT_HW_D.shape[0] // B + shift_BT_D, scale_BT_D = repeat(shift_B_D, "b d -> (b t) d", t=T), repeat(scale_B_D, "b d -> (b t) d", t=T) + x_BT_HW_D = modulate(self.norm_final(x_BT_HW_D), shift_BT_D, scale_BT_D) + + x_BT_HW_D = self.linear(x_BT_HW_D) + return x_BT_HW_D + + +class VideoAttn(nn.Module): + """ + Implements video attention with optional cross-attention capabilities. + + This module processes video features while maintaining their spatio-temporal structure. It can perform + self-attention within the video features or cross-attention with external context features. + + Parameters: + x_dim (int): Dimension of input feature vectors + context_dim (Optional[int]): Dimension of context features for cross-attention. None for self-attention + num_heads (int): Number of attention heads + bias (bool): Whether to include bias in attention projections. Default: False + qkv_norm_mode (str): Normalization mode for query/key/value projections. Must be "per_head". Default: "per_head" + x_format (str): Format of input tensor. Must be "BTHWD". Default: "BTHWD" + + Input shape: + - x: (T, H, W, B, D) video features + - context (optional): (M, B, D) context features for cross-attention + where: + T: temporal dimension + H: height + W: width + B: batch size + D: feature dimension + M: context sequence length + """ + + def __init__( + self, + x_dim: int, + context_dim: Optional[int], + num_heads: int, + bias: bool = False, + qkv_norm_mode: str = "per_head", + x_format: str = "BTHWD", + weight_args={}, + operations=None, + ) -> None: + super().__init__() + self.x_format = x_format + + self.attn = Attention( + x_dim, + context_dim, + num_heads, + x_dim // num_heads, + qkv_bias=bias, + qkv_norm="RRI", + out_bias=bias, + qkv_norm_mode=qkv_norm_mode, + qkv_format="sbhd", + weight_args=weight_args, + operations=operations, + ) + + def forward( + self, + x: torch.Tensor, + context: Optional[torch.Tensor] = None, + crossattn_mask: Optional[torch.Tensor] = None, + rope_emb_L_1_1_D: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + """ + Forward pass for video attention. + + Args: + x (Tensor): Input tensor of shape (B, T, H, W, D) or (T, H, W, B, D) representing batches of video data. + context (Tensor): Context tensor of shape (B, M, D) or (M, B, D), + where M is the sequence length of the context. + crossattn_mask (Optional[Tensor]): An optional mask for cross-attention mechanisms. + rope_emb_L_1_1_D (Optional[Tensor]): + Rotary positional embedding tensor of shape (L, 1, 1, D). L == THW for current video training. + + Returns: + Tensor: The output tensor with applied attention, maintaining the input shape. + """ + + x_T_H_W_B_D = x + context_M_B_D = context + T, H, W, B, D = x_T_H_W_B_D.shape + x_THW_B_D = rearrange(x_T_H_W_B_D, "t h w b d -> (t h w) b d") + x_THW_B_D = self.attn( + x_THW_B_D, + context_M_B_D, + crossattn_mask, + rope_emb=rope_emb_L_1_1_D, + ) + x_T_H_W_B_D = rearrange(x_THW_B_D, "(t h w) b d -> t h w b d", h=H, w=W) + return x_T_H_W_B_D + + +def adaln_norm_state(norm_state, x, scale, shift): + normalized = norm_state(x) + return normalized * (1 + scale) + shift + + +class DITBuildingBlock(nn.Module): + """ + A building block for the DiT (Diffusion Transformer) architecture that supports different types of + attention and MLP operations with adaptive layer normalization. + + Parameters: + block_type (str): Type of block - one of: + - "cross_attn"/"ca": Cross-attention + - "full_attn"/"fa": Full self-attention + - "mlp"/"ff": MLP/feedforward block + x_dim (int): Dimension of input features + context_dim (Optional[int]): Dimension of context features for cross-attention + num_heads (int): Number of attention heads + mlp_ratio (float): MLP hidden dimension multiplier. Default: 4.0 + bias (bool): Whether to use bias in layers. Default: False + mlp_dropout (float): Dropout rate for MLP. Default: 0.0 + qkv_norm_mode (str): QKV normalization mode. Default: "per_head" + x_format (str): Input tensor format. Default: "BTHWD" + use_adaln_lora (bool): Whether to use AdaLN-LoRA. Default: False + adaln_lora_dim (int): Dimension for AdaLN-LoRA. Default: 256 + """ + + def __init__( + self, + block_type: str, + x_dim: int, + context_dim: Optional[int], + num_heads: int, + mlp_ratio: float = 4.0, + bias: bool = False, + mlp_dropout: float = 0.0, + qkv_norm_mode: str = "per_head", + x_format: str = "BTHWD", + use_adaln_lora: bool = False, + adaln_lora_dim: int = 256, + weight_args={}, + operations=None + ) -> None: + block_type = block_type.lower() + + super().__init__() + self.x_format = x_format + if block_type in ["cross_attn", "ca"]: + self.block = VideoAttn( + x_dim, + context_dim, + num_heads, + bias=bias, + qkv_norm_mode=qkv_norm_mode, + x_format=self.x_format, + weight_args=weight_args, + operations=operations, + ) + elif block_type in ["full_attn", "fa"]: + self.block = VideoAttn( + x_dim, None, num_heads, bias=bias, qkv_norm_mode=qkv_norm_mode, x_format=self.x_format, weight_args=weight_args, operations=operations + ) + elif block_type in ["mlp", "ff"]: + self.block = GPT2FeedForward(x_dim, int(x_dim * mlp_ratio), dropout=mlp_dropout, bias=bias, weight_args=weight_args, operations=operations) + else: + raise ValueError(f"Unknown block type: {block_type}") + + self.block_type = block_type + self.use_adaln_lora = use_adaln_lora + + self.norm_state = nn.LayerNorm(x_dim, elementwise_affine=False, eps=1e-6) + self.n_adaln_chunks = 3 + if use_adaln_lora: + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operations.Linear(x_dim, adaln_lora_dim, bias=False, **weight_args), + operations.Linear(adaln_lora_dim, self.n_adaln_chunks * x_dim, bias=False, **weight_args), + ) + else: + self.adaLN_modulation = nn.Sequential(nn.SiLU(), operations.Linear(x_dim, self.n_adaln_chunks * x_dim, bias=False, **weight_args)) + + def forward( + self, + x: torch.Tensor, + emb_B_D: torch.Tensor, + crossattn_emb: torch.Tensor, + crossattn_mask: Optional[torch.Tensor] = None, + rope_emb_L_1_1_D: Optional[torch.Tensor] = None, + adaln_lora_B_3D: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + """ + Forward pass for dynamically configured blocks with adaptive normalization. + + Args: + x (Tensor): Input tensor of shape (B, T, H, W, D) or (T, H, W, B, D). + emb_B_D (Tensor): Embedding tensor for adaptive layer normalization modulation. + crossattn_emb (Tensor): Tensor for cross-attention blocks. + crossattn_mask (Optional[Tensor]): Optional mask for cross-attention. + rope_emb_L_1_1_D (Optional[Tensor]): + Rotary positional embedding tensor of shape (L, 1, 1, D). L == THW for current video training. + + Returns: + Tensor: The output tensor after processing through the configured block and adaptive normalization. + """ + if self.use_adaln_lora: + shift_B_D, scale_B_D, gate_B_D = (self.adaLN_modulation(emb_B_D) + adaln_lora_B_3D).chunk( + self.n_adaln_chunks, dim=1 + ) + else: + shift_B_D, scale_B_D, gate_B_D = self.adaLN_modulation(emb_B_D).chunk(self.n_adaln_chunks, dim=1) + + shift_1_1_1_B_D, scale_1_1_1_B_D, gate_1_1_1_B_D = ( + shift_B_D.unsqueeze(0).unsqueeze(0).unsqueeze(0), + scale_B_D.unsqueeze(0).unsqueeze(0).unsqueeze(0), + gate_B_D.unsqueeze(0).unsqueeze(0).unsqueeze(0), + ) + + if self.block_type in ["mlp", "ff"]: + x = x + gate_1_1_1_B_D * self.block( + adaln_norm_state(self.norm_state, x, scale_1_1_1_B_D, shift_1_1_1_B_D), + ) + elif self.block_type in ["full_attn", "fa"]: + x = x + gate_1_1_1_B_D * self.block( + adaln_norm_state(self.norm_state, x, scale_1_1_1_B_D, shift_1_1_1_B_D), + context=None, + rope_emb_L_1_1_D=rope_emb_L_1_1_D, + ) + elif self.block_type in ["cross_attn", "ca"]: + x = x + gate_1_1_1_B_D * self.block( + adaln_norm_state(self.norm_state, x, scale_1_1_1_B_D, shift_1_1_1_B_D), + context=crossattn_emb, + crossattn_mask=crossattn_mask, + rope_emb_L_1_1_D=rope_emb_L_1_1_D, + ) + else: + raise ValueError(f"Unknown block type: {self.block_type}") + + return x + + +class GeneralDITTransformerBlock(nn.Module): + """ + A wrapper module that manages a sequence of DITBuildingBlocks to form a complete transformer layer. + Each block in the sequence is specified by a block configuration string. + + Parameters: + x_dim (int): Dimension of input features + context_dim (int): Dimension of context features for cross-attention blocks + num_heads (int): Number of attention heads + block_config (str): String specifying block sequence (e.g. "ca-fa-mlp" for cross-attention, + full-attention, then MLP) + mlp_ratio (float): MLP hidden dimension multiplier. Default: 4.0 + x_format (str): Input tensor format. Default: "BTHWD" + use_adaln_lora (bool): Whether to use AdaLN-LoRA. Default: False + adaln_lora_dim (int): Dimension for AdaLN-LoRA. Default: 256 + + The block_config string uses "-" to separate block types: + - "ca"/"cross_attn": Cross-attention block + - "fa"/"full_attn": Full self-attention block + - "mlp"/"ff": MLP/feedforward block + + Example: + block_config = "ca-fa-mlp" creates a sequence of: + 1. Cross-attention block + 2. Full self-attention block + 3. MLP block + """ + + def __init__( + self, + x_dim: int, + context_dim: int, + num_heads: int, + block_config: str, + mlp_ratio: float = 4.0, + x_format: str = "BTHWD", + use_adaln_lora: bool = False, + adaln_lora_dim: int = 256, + weight_args={}, + operations=None + ): + super().__init__() + self.blocks = nn.ModuleList() + self.x_format = x_format + for block_type in block_config.split("-"): + self.blocks.append( + DITBuildingBlock( + block_type, + x_dim, + context_dim, + num_heads, + mlp_ratio, + x_format=self.x_format, + use_adaln_lora=use_adaln_lora, + adaln_lora_dim=adaln_lora_dim, + weight_args=weight_args, + operations=operations, + ) + ) + + def forward( + self, + x: torch.Tensor, + emb_B_D: torch.Tensor, + crossattn_emb: torch.Tensor, + crossattn_mask: Optional[torch.Tensor] = None, + rope_emb_L_1_1_D: Optional[torch.Tensor] = None, + adaln_lora_B_3D: Optional[torch.Tensor] = None, + extra_per_block_pos_emb: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + if extra_per_block_pos_emb is not None: + x = x + extra_per_block_pos_emb + for block in self.blocks: + x = block( + x, + emb_B_D, + crossattn_emb, + crossattn_mask, + rope_emb_L_1_1_D=rope_emb_L_1_1_D, + adaln_lora_B_3D=adaln_lora_B_3D, + ) + return x diff --git a/comfy/ldm/cosmos/cosmos_tokenizer/layers3d.py b/comfy/ldm/cosmos/cosmos_tokenizer/layers3d.py new file mode 100644 index 0000000000000000000000000000000000000000..6149e53ec3bde2a2e430d04a8e52131c169196d6 --- /dev/null +++ b/comfy/ldm/cosmos/cosmos_tokenizer/layers3d.py @@ -0,0 +1,1050 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""The model definition for 3D layers + +Adapted from: https://github.com/lucidrains/magvit2-pytorch/blob/ +9f49074179c912736e617d61b32be367eb5f993a/magvit2_pytorch/magvit2_pytorch.py#L889 + +[MIT License Copyright (c) 2023 Phil Wang] +https://github.com/lucidrains/magvit2-pytorch/blob/ +9f49074179c912736e617d61b32be367eb5f993a/LICENSE +""" +import math +from typing import Tuple, Union + +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F +import logging + +from .patching import ( + Patcher, + Patcher3D, + UnPatcher, + UnPatcher3D, +) +from .utils import ( + CausalNormalize, + batch2space, + batch2time, + cast_tuple, + is_odd, + nonlinearity, + replication_pad, + space2batch, + time2batch, +) + +import comfy.ops +ops = comfy.ops.disable_weight_init + +_LEGACY_NUM_GROUPS = 32 + + +class CausalConv3d(nn.Module): + def __init__( + self, + chan_in: int = 1, + chan_out: int = 1, + kernel_size: Union[int, Tuple[int, int, int]] = 3, + pad_mode: str = "constant", + **kwargs, + ): + super().__init__() + kernel_size = cast_tuple(kernel_size, 3) + + time_kernel_size, height_kernel_size, width_kernel_size = kernel_size + + assert is_odd(height_kernel_size) and is_odd(width_kernel_size) + + dilation = kwargs.pop("dilation", 1) + stride = kwargs.pop("stride", 1) + time_stride = kwargs.pop("time_stride", 1) + time_dilation = kwargs.pop("time_dilation", 1) + padding = kwargs.pop("padding", 1) + + self.pad_mode = pad_mode + time_pad = time_dilation * (time_kernel_size - 1) + (1 - time_stride) + self.time_pad = time_pad + + self.spatial_pad = (padding, padding, padding, padding) + + stride = (time_stride, stride, stride) + dilation = (time_dilation, dilation, dilation) + self.conv3d = ops.Conv3d( + chan_in, + chan_out, + kernel_size, + stride=stride, + dilation=dilation, + **kwargs, + ) + + def _replication_pad(self, x: torch.Tensor) -> torch.Tensor: + x_prev = x[:, :, :1, ...].repeat(1, 1, self.time_pad, 1, 1) + x = torch.cat([x_prev, x], dim=2) + padding = self.spatial_pad + (0, 0) + return F.pad(x, padding, mode=self.pad_mode, value=0.0) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + x = self._replication_pad(x) + return self.conv3d(x) + + +class CausalUpsample3d(nn.Module): + def __init__(self, in_channels: int) -> None: + super().__init__() + self.conv = CausalConv3d( + in_channels, in_channels, kernel_size=3, stride=1, padding=1 + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + x = x.repeat_interleave(2, dim=3).repeat_interleave(2, dim=4) + time_factor = 1.0 + 1.0 * (x.shape[2] > 1) + if isinstance(time_factor, torch.Tensor): + time_factor = time_factor.item() + x = x.repeat_interleave(int(time_factor), dim=2) + # TODO(freda): Check if this causes temporal inconsistency. + # Shoule reverse the order of the following two ops, + # better perf and better temporal smoothness. + x = self.conv(x) + return x[..., int(time_factor - 1) :, :, :] + + +class CausalDownsample3d(nn.Module): + def __init__(self, in_channels: int) -> None: + super().__init__() + self.conv = CausalConv3d( + in_channels, + in_channels, + kernel_size=3, + stride=2, + time_stride=2, + padding=0, + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + pad = (0, 1, 0, 1, 0, 0) + x = F.pad(x, pad, mode="constant", value=0) + x = replication_pad(x) + x = self.conv(x) + return x + + +class CausalHybridUpsample3d(nn.Module): + def __init__( + self, + in_channels: int, + spatial_up: bool = True, + temporal_up: bool = True, + **kwargs, + ) -> None: + super().__init__() + self.spatial_up = spatial_up + self.temporal_up = temporal_up + if not self.spatial_up and not self.temporal_up: + return + + self.conv1 = CausalConv3d( + in_channels, + in_channels, + kernel_size=(3, 1, 1), + stride=1, + time_stride=1, + padding=0, + ) + self.conv2 = CausalConv3d( + in_channels, + in_channels, + kernel_size=(1, 3, 3), + stride=1, + time_stride=1, + padding=1, + ) + self.conv3 = CausalConv3d( + in_channels, + in_channels, + kernel_size=1, + stride=1, + time_stride=1, + padding=0, + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + if not self.spatial_up and not self.temporal_up: + return x + + # hybrid upsample temporally. + if self.temporal_up: + time_factor = 1.0 + 1.0 * (x.shape[2] > 1) + if isinstance(time_factor, torch.Tensor): + time_factor = time_factor.item() + x = x.repeat_interleave(int(time_factor), dim=2) + x = x[..., int(time_factor - 1) :, :, :] + x = self.conv1(x) + x + + # hybrid upsample spatially. + if self.spatial_up: + x = x.repeat_interleave(2, dim=3).repeat_interleave(2, dim=4) + x = self.conv2(x) + x + + # final 1x1x1 conv. + x = self.conv3(x) + return x + + +class CausalHybridDownsample3d(nn.Module): + def __init__( + self, + in_channels: int, + spatial_down: bool = True, + temporal_down: bool = True, + **kwargs, + ) -> None: + super().__init__() + self.spatial_down = spatial_down + self.temporal_down = temporal_down + if not self.spatial_down and not self.temporal_down: + return + + self.conv1 = CausalConv3d( + in_channels, + in_channels, + kernel_size=(1, 3, 3), + stride=2, + time_stride=1, + padding=0, + ) + self.conv2 = CausalConv3d( + in_channels, + in_channels, + kernel_size=(3, 1, 1), + stride=1, + time_stride=2, + padding=0, + ) + self.conv3 = CausalConv3d( + in_channels, + in_channels, + kernel_size=1, + stride=1, + time_stride=1, + padding=0, + ) + + + def forward(self, x: torch.Tensor) -> torch.Tensor: + if not self.spatial_down and not self.temporal_down: + return x + + # hybrid downsample spatially. + if self.spatial_down: + pad = (0, 1, 0, 1, 0, 0) + x = F.pad(x, pad, mode="constant", value=0) + x1 = self.conv1(x) + x2 = F.avg_pool3d(x, kernel_size=(1, 2, 2), stride=(1, 2, 2)) + x = x1 + x2 + + # hybrid downsample temporally. + if self.temporal_down: + x = replication_pad(x) + x1 = self.conv2(x) + x2 = F.avg_pool3d(x, kernel_size=(2, 1, 1), stride=(2, 1, 1)) + x = x1 + x2 + + # final 1x1x1 conv. + x = self.conv3(x) + return x + + +class CausalResnetBlock3d(nn.Module): + def __init__( + self, + *, + in_channels: int, + out_channels: int = None, + dropout: float, + num_groups: int, + ) -> None: + super().__init__() + self.in_channels = in_channels + out_channels = in_channels if out_channels is None else out_channels + + self.norm1 = CausalNormalize(in_channels, num_groups=num_groups) + self.conv1 = CausalConv3d( + in_channels, out_channels, kernel_size=3, stride=1, padding=1 + ) + self.norm2 = CausalNormalize(out_channels, num_groups=num_groups) + self.dropout = torch.nn.Dropout(dropout) + self.conv2 = CausalConv3d( + out_channels, out_channels, kernel_size=3, stride=1, padding=1 + ) + self.nin_shortcut = ( + CausalConv3d(in_channels, out_channels, kernel_size=1, stride=1, padding=0) + if in_channels != out_channels + else nn.Identity() + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + h = x + h = self.norm1(h) + h = nonlinearity(h) + h = self.conv1(h) + + h = self.norm2(h) + h = nonlinearity(h) + h = self.dropout(h) + h = self.conv2(h) + x = self.nin_shortcut(x) + + return x + h + + +class CausalResnetBlockFactorized3d(nn.Module): + def __init__( + self, + *, + in_channels: int, + out_channels: int = None, + dropout: float, + num_groups: int, + ) -> None: + super().__init__() + self.in_channels = in_channels + out_channels = in_channels if out_channels is None else out_channels + + self.norm1 = CausalNormalize(in_channels, num_groups=1) + self.conv1 = nn.Sequential( + CausalConv3d( + in_channels, + out_channels, + kernel_size=(1, 3, 3), + stride=1, + padding=1, + ), + CausalConv3d( + out_channels, + out_channels, + kernel_size=(3, 1, 1), + stride=1, + padding=0, + ), + ) + self.norm2 = CausalNormalize(out_channels, num_groups=num_groups) + self.dropout = torch.nn.Dropout(dropout) + self.conv2 = nn.Sequential( + CausalConv3d( + out_channels, + out_channels, + kernel_size=(1, 3, 3), + stride=1, + padding=1, + ), + CausalConv3d( + out_channels, + out_channels, + kernel_size=(3, 1, 1), + stride=1, + padding=0, + ), + ) + self.nin_shortcut = ( + CausalConv3d(in_channels, out_channels, kernel_size=1, stride=1, padding=0) + if in_channels != out_channels + else nn.Identity() + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + h = x + h = self.norm1(h) + h = nonlinearity(h) + h = self.conv1(h) + + h = self.norm2(h) + h = nonlinearity(h) + h = self.dropout(h) + h = self.conv2(h) + x = self.nin_shortcut(x) + + return x + h + + +class CausalAttnBlock(nn.Module): + def __init__(self, in_channels: int, num_groups: int) -> None: + super().__init__() + + self.norm = CausalNormalize(in_channels, num_groups=num_groups) + self.q = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.k = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.v = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.proj_out = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + h_ = x + h_ = self.norm(h_) + q = self.q(h_) + k = self.k(h_) + v = self.v(h_) + + # compute attention + q, batch_size = time2batch(q) + k, batch_size = time2batch(k) + v, batch_size = time2batch(v) + + b, c, h, w = q.shape + q = q.reshape(b, c, h * w) + q = q.permute(0, 2, 1) + k = k.reshape(b, c, h * w) + w_ = torch.bmm(q, k) + w_ = w_ * (int(c) ** (-0.5)) + w_ = F.softmax(w_, dim=2) + + # attend to values + v = v.reshape(b, c, h * w) + w_ = w_.permute(0, 2, 1) + h_ = torch.bmm(v, w_) + h_ = h_.reshape(b, c, h, w) + + h_ = batch2time(h_, batch_size) + h_ = self.proj_out(h_) + return x + h_ + + +class CausalTemporalAttnBlock(nn.Module): + def __init__(self, in_channels: int, num_groups: int) -> None: + super().__init__() + + self.norm = CausalNormalize(in_channels, num_groups=num_groups) + self.q = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.k = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.v = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.proj_out = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + h_ = x + h_ = self.norm(h_) + q = self.q(h_) + k = self.k(h_) + v = self.v(h_) + + # compute attention + q, batch_size, height = space2batch(q) + k, _, _ = space2batch(k) + v, _, _ = space2batch(v) + + bhw, c, t = q.shape + q = q.permute(0, 2, 1) # (bhw, t, c) + k = k.permute(0, 2, 1) # (bhw, t, c) + v = v.permute(0, 2, 1) # (bhw, t, c) + + w_ = torch.bmm(q, k.permute(0, 2, 1)) # (bhw, t, t) + w_ = w_ * (int(c) ** (-0.5)) + + # Apply causal mask + mask = torch.tril(torch.ones_like(w_)) + w_ = w_.masked_fill(mask == 0, float("-inf")) + w_ = F.softmax(w_, dim=2) + + # attend to values + h_ = torch.bmm(w_, v) # (bhw, t, c) + h_ = h_.permute(0, 2, 1).reshape(bhw, c, t) # (bhw, c, t) + + h_ = batch2space(h_, batch_size, height) + h_ = self.proj_out(h_) + return x + h_ + + +class EncoderBase(nn.Module): + def __init__( + self, + in_channels: int, + channels: int, + channels_mult: list[int], + num_res_blocks: int, + attn_resolutions: list[int], + dropout: float, + resolution: int, + z_channels: int, + **ignore_kwargs, + ) -> None: + super().__init__() + self.num_resolutions = len(channels_mult) + self.num_res_blocks = num_res_blocks + + # Patcher. + patch_size = ignore_kwargs.get("patch_size", 1) + self.patcher = Patcher( + patch_size, ignore_kwargs.get("patch_method", "rearrange") + ) + in_channels = in_channels * patch_size * patch_size + + # downsampling + self.conv_in = CausalConv3d( + in_channels, channels, kernel_size=3, stride=1, padding=1 + ) + + # num of groups for GroupNorm, num_groups=1 for LayerNorm. + num_groups = ignore_kwargs.get("num_groups", _LEGACY_NUM_GROUPS) + curr_res = resolution // patch_size + in_ch_mult = (1,) + tuple(channels_mult) + self.in_ch_mult = in_ch_mult + self.down = nn.ModuleList() + for i_level in range(self.num_resolutions): + block = nn.ModuleList() + attn = nn.ModuleList() + block_in = channels * in_ch_mult[i_level] + block_out = channels * channels_mult[i_level] + for _ in range(self.num_res_blocks): + block.append( + CausalResnetBlock3d( + in_channels=block_in, + out_channels=block_out, + dropout=dropout, + num_groups=num_groups, + ) + ) + block_in = block_out + if curr_res in attn_resolutions: + attn.append(CausalAttnBlock(block_in, num_groups=num_groups)) + down = nn.Module() + down.block = block + down.attn = attn + if i_level != self.num_resolutions - 1: + down.downsample = CausalDownsample3d(block_in) + curr_res = curr_res // 2 + self.down.append(down) + + # middle + self.mid = nn.Module() + self.mid.block_1 = CausalResnetBlock3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=num_groups, + ) + self.mid.attn_1 = CausalAttnBlock(block_in, num_groups=num_groups) + self.mid.block_2 = CausalResnetBlock3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=num_groups, + ) + + # end + self.norm_out = CausalNormalize(block_in, num_groups=num_groups) + self.conv_out = CausalConv3d( + block_in, z_channels, kernel_size=3, stride=1, padding=1 + ) + + def patcher3d(self, x: torch.Tensor) -> torch.Tensor: + x, batch_size = time2batch(x) + x = self.patcher(x) + x = batch2time(x, batch_size) + return x + + def forward(self, x: torch.Tensor) -> torch.Tensor: + x = self.patcher3d(x) + + # downsampling + hs = [self.conv_in(x)] + for i_level in range(self.num_resolutions): + for i_block in range(self.num_res_blocks): + h = self.down[i_level].block[i_block](hs[-1]) + if len(self.down[i_level].attn) > 0: + h = self.down[i_level].attn[i_block](h) + hs.append(h) + if i_level != self.num_resolutions - 1: + hs.append(self.down[i_level].downsample(hs[-1])) + else: + # temporal downsample (last level) + time_factor = 1 + 1 * (hs[-1].shape[2] > 1) + if isinstance(time_factor, torch.Tensor): + time_factor = time_factor.item() + hs[-1] = replication_pad(hs[-1]) + hs.append( + F.avg_pool3d( + hs[-1], + kernel_size=[time_factor, 1, 1], + stride=[2, 1, 1], + ) + ) + + # middle + h = hs[-1] + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + + # end + h = self.norm_out(h) + h = nonlinearity(h) + h = self.conv_out(h) + return h + + +class DecoderBase(nn.Module): + def __init__( + self, + out_channels: int, + channels: int, + channels_mult: list[int], + num_res_blocks: int, + attn_resolutions: list[int], + dropout: float, + resolution: int, + z_channels: int, + **ignore_kwargs, + ): + super().__init__() + self.num_resolutions = len(channels_mult) + self.num_res_blocks = num_res_blocks + + # UnPatcher. + patch_size = ignore_kwargs.get("patch_size", 1) + self.unpatcher = UnPatcher( + patch_size, ignore_kwargs.get("patch_method", "rearrange") + ) + out_ch = out_channels * patch_size * patch_size + + block_in = channels * channels_mult[self.num_resolutions - 1] + curr_res = (resolution // patch_size) // 2 ** (self.num_resolutions - 1) + self.z_shape = (1, z_channels, curr_res, curr_res) + logging.debug( + "Working with z of shape {} = {} dimensions.".format( + self.z_shape, np.prod(self.z_shape) + ) + ) + + # z to block_in + self.conv_in = CausalConv3d( + z_channels, block_in, kernel_size=3, stride=1, padding=1 + ) + + # num of groups for GroupNorm, num_groups=1 for LayerNorm. + num_groups = ignore_kwargs.get("num_groups", _LEGACY_NUM_GROUPS) + + # middle + self.mid = nn.Module() + self.mid.block_1 = CausalResnetBlock3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=num_groups, + ) + self.mid.attn_1 = CausalAttnBlock(block_in, num_groups=num_groups) + self.mid.block_2 = CausalResnetBlock3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=num_groups, + ) + + # upsampling + self.up = nn.ModuleList() + for i_level in reversed(range(self.num_resolutions)): + block = nn.ModuleList() + attn = nn.ModuleList() + block_out = channels * channels_mult[i_level] + for _ in range(self.num_res_blocks + 1): + block.append( + CausalResnetBlock3d( + in_channels=block_in, + out_channels=block_out, + dropout=dropout, + num_groups=num_groups, + ) + ) + block_in = block_out + if curr_res in attn_resolutions: + attn.append(CausalAttnBlock(block_in, num_groups=num_groups)) + up = nn.Module() + up.block = block + up.attn = attn + if i_level != 0: + up.upsample = CausalUpsample3d(block_in) + curr_res = curr_res * 2 + self.up.insert(0, up) # prepend to get consistent order + + # end + self.norm_out = CausalNormalize(block_in, num_groups=num_groups) + self.conv_out = CausalConv3d( + block_in, out_ch, kernel_size=3, stride=1, padding=1 + ) + + def unpatcher3d(self, x: torch.Tensor) -> torch.Tensor: + x, batch_size = time2batch(x) + x = self.unpatcher(x) + x = batch2time(x, batch_size) + + return x + + def forward(self, z): + h = self.conv_in(z) + + # middle block. + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + + # decoder blocks. + for i_level in reversed(range(self.num_resolutions)): + for i_block in range(self.num_res_blocks + 1): + h = self.up[i_level].block[i_block](h) + if len(self.up[i_level].attn) > 0: + h = self.up[i_level].attn[i_block](h) + if i_level != 0: + h = self.up[i_level].upsample(h) + else: + # temporal upsample (last level) + time_factor = 1.0 + 1.0 * (h.shape[2] > 1) + if isinstance(time_factor, torch.Tensor): + time_factor = time_factor.item() + h = h.repeat_interleave(int(time_factor), dim=2) + h = h[..., int(time_factor - 1) :, :, :] + + h = self.norm_out(h) + h = nonlinearity(h) + h = self.conv_out(h) + h = self.unpatcher3d(h) + return h + + +class EncoderFactorized(nn.Module): + def __init__( + self, + in_channels: int, + channels: int, + channels_mult: list[int], + num_res_blocks: int, + attn_resolutions: list[int], + dropout: float, + resolution: int, + z_channels: int, + spatial_compression: int = 8, + temporal_compression: int = 8, + **ignore_kwargs, + ) -> None: + super().__init__() + self.num_resolutions = len(channels_mult) + self.num_res_blocks = num_res_blocks + + # Patcher. + patch_size = ignore_kwargs.get("patch_size", 1) + self.patcher3d = Patcher3D( + patch_size, ignore_kwargs.get("patch_method", "haar") + ) + in_channels = in_channels * patch_size * patch_size * patch_size + + # calculate the number of downsample operations + self.num_spatial_downs = int(math.log2(spatial_compression)) - int( + math.log2(patch_size) + ) + assert ( + self.num_spatial_downs <= self.num_resolutions + ), f"Spatially downsample {self.num_resolutions} times at most" + + self.num_temporal_downs = int(math.log2(temporal_compression)) - int( + math.log2(patch_size) + ) + assert ( + self.num_temporal_downs <= self.num_resolutions + ), f"Temporally downsample {self.num_resolutions} times at most" + + # downsampling + self.conv_in = nn.Sequential( + CausalConv3d( + in_channels, + channels, + kernel_size=(1, 3, 3), + stride=1, + padding=1, + ), + CausalConv3d( + channels, channels, kernel_size=(3, 1, 1), stride=1, padding=0 + ), + ) + + curr_res = resolution // patch_size + in_ch_mult = (1,) + tuple(channels_mult) + self.in_ch_mult = in_ch_mult + self.down = nn.ModuleList() + for i_level in range(self.num_resolutions): + block = nn.ModuleList() + attn = nn.ModuleList() + block_in = channels * in_ch_mult[i_level] + block_out = channels * channels_mult[i_level] + for _ in range(self.num_res_blocks): + block.append( + CausalResnetBlockFactorized3d( + in_channels=block_in, + out_channels=block_out, + dropout=dropout, + num_groups=1, + ) + ) + block_in = block_out + if curr_res in attn_resolutions: + attn.append( + nn.Sequential( + CausalAttnBlock(block_in, num_groups=1), + CausalTemporalAttnBlock(block_in, num_groups=1), + ) + ) + down = nn.Module() + down.block = block + down.attn = attn + if i_level != self.num_resolutions - 1: + spatial_down = i_level < self.num_spatial_downs + temporal_down = i_level < self.num_temporal_downs + down.downsample = CausalHybridDownsample3d( + block_in, + spatial_down=spatial_down, + temporal_down=temporal_down, + ) + curr_res = curr_res // 2 + self.down.append(down) + + # middle + self.mid = nn.Module() + self.mid.block_1 = CausalResnetBlockFactorized3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=1, + ) + self.mid.attn_1 = nn.Sequential( + CausalAttnBlock(block_in, num_groups=1), + CausalTemporalAttnBlock(block_in, num_groups=1), + ) + self.mid.block_2 = CausalResnetBlockFactorized3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=1, + ) + + # end + self.norm_out = CausalNormalize(block_in, num_groups=1) + self.conv_out = nn.Sequential( + CausalConv3d( + block_in, z_channels, kernel_size=(1, 3, 3), stride=1, padding=1 + ), + CausalConv3d( + z_channels, + z_channels, + kernel_size=(3, 1, 1), + stride=1, + padding=0, + ), + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + x = self.patcher3d(x) + + # downsampling + hs = [self.conv_in(x)] + for i_level in range(self.num_resolutions): + for i_block in range(self.num_res_blocks): + h = self.down[i_level].block[i_block](hs[-1]) + if len(self.down[i_level].attn) > 0: + h = self.down[i_level].attn[i_block](h) + hs.append(h) + if i_level != self.num_resolutions - 1: + hs.append(self.down[i_level].downsample(hs[-1])) + + # middle + h = hs[-1] + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + + # end + h = self.norm_out(h) + h = nonlinearity(h) + h = self.conv_out(h) + return h + + +class DecoderFactorized(nn.Module): + def __init__( + self, + out_channels: int, + channels: int, + channels_mult: list[int], + num_res_blocks: int, + attn_resolutions: list[int], + dropout: float, + resolution: int, + z_channels: int, + spatial_compression: int = 8, + temporal_compression: int = 8, + **ignore_kwargs, + ): + super().__init__() + self.num_resolutions = len(channels_mult) + self.num_res_blocks = num_res_blocks + + # UnPatcher. + patch_size = ignore_kwargs.get("patch_size", 1) + self.unpatcher3d = UnPatcher3D( + patch_size, ignore_kwargs.get("patch_method", "haar") + ) + out_ch = out_channels * patch_size * patch_size * patch_size + + # calculate the number of upsample operations + self.num_spatial_ups = int(math.log2(spatial_compression)) - int( + math.log2(patch_size) + ) + assert ( + self.num_spatial_ups <= self.num_resolutions + ), f"Spatially upsample {self.num_resolutions} times at most" + self.num_temporal_ups = int(math.log2(temporal_compression)) - int( + math.log2(patch_size) + ) + assert ( + self.num_temporal_ups <= self.num_resolutions + ), f"Temporally upsample {self.num_resolutions} times at most" + + block_in = channels * channels_mult[self.num_resolutions - 1] + curr_res = (resolution // patch_size) // 2 ** (self.num_resolutions - 1) + self.z_shape = (1, z_channels, curr_res, curr_res) + logging.debug( + "Working with z of shape {} = {} dimensions.".format( + self.z_shape, np.prod(self.z_shape) + ) + ) + + # z to block_in + self.conv_in = nn.Sequential( + CausalConv3d( + z_channels, block_in, kernel_size=(1, 3, 3), stride=1, padding=1 + ), + CausalConv3d( + block_in, block_in, kernel_size=(3, 1, 1), stride=1, padding=0 + ), + ) + + # middle + self.mid = nn.Module() + self.mid.block_1 = CausalResnetBlockFactorized3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=1, + ) + self.mid.attn_1 = nn.Sequential( + CausalAttnBlock(block_in, num_groups=1), + CausalTemporalAttnBlock(block_in, num_groups=1), + ) + self.mid.block_2 = CausalResnetBlockFactorized3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=1, + ) + + legacy_mode = ignore_kwargs.get("legacy_mode", False) + # upsampling + self.up = nn.ModuleList() + for i_level in reversed(range(self.num_resolutions)): + block = nn.ModuleList() + attn = nn.ModuleList() + block_out = channels * channels_mult[i_level] + for _ in range(self.num_res_blocks + 1): + block.append( + CausalResnetBlockFactorized3d( + in_channels=block_in, + out_channels=block_out, + dropout=dropout, + num_groups=1, + ) + ) + block_in = block_out + if curr_res in attn_resolutions: + attn.append( + nn.Sequential( + CausalAttnBlock(block_in, num_groups=1), + CausalTemporalAttnBlock(block_in, num_groups=1), + ) + ) + up = nn.Module() + up.block = block + up.attn = attn + if i_level != 0: + # The layer index for temporal/spatial downsampling performed + # in the encoder should correspond to the layer index in + # reverse order where upsampling is performed in the decoder. + # If you've a pre-trained model, you can simply finetune. + i_level_reverse = self.num_resolutions - i_level - 1 + if legacy_mode: + temporal_up = i_level_reverse < self.num_temporal_ups + else: + temporal_up = 0 < i_level_reverse < self.num_temporal_ups + 1 + spatial_up = temporal_up or ( + i_level_reverse < self.num_spatial_ups + and self.num_spatial_ups > self.num_temporal_ups + ) + up.upsample = CausalHybridUpsample3d( + block_in, spatial_up=spatial_up, temporal_up=temporal_up + ) + curr_res = curr_res * 2 + self.up.insert(0, up) # prepend to get consistent order + + # end + self.norm_out = CausalNormalize(block_in, num_groups=1) + self.conv_out = nn.Sequential( + CausalConv3d(block_in, out_ch, kernel_size=(1, 3, 3), stride=1, padding=1), + CausalConv3d(out_ch, out_ch, kernel_size=(3, 1, 1), stride=1, padding=0), + ) + + def forward(self, z): + h = self.conv_in(z) + + # middle block. + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + + # decoder blocks. + for i_level in reversed(range(self.num_resolutions)): + for i_block in range(self.num_res_blocks + 1): + h = self.up[i_level].block[i_block](h) + if len(self.up[i_level].attn) > 0: + h = self.up[i_level].attn[i_block](h) + if i_level != 0: + h = self.up[i_level].upsample(h) + + h = self.norm_out(h) + h = nonlinearity(h) + h = self.conv_out(h) + h = self.unpatcher3d(h) + return h diff --git a/comfy/ldm/cosmos/cosmos_tokenizer/patching.py b/comfy/ldm/cosmos/cosmos_tokenizer/patching.py new file mode 100644 index 0000000000000000000000000000000000000000..793f0da8a9e676f5f39227d309e88cffd5544b77 --- /dev/null +++ b/comfy/ldm/cosmos/cosmos_tokenizer/patching.py @@ -0,0 +1,355 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""The patcher and unpatcher implementation for 2D and 3D data. + +The idea of Haar wavelet is to compute LL, LH, HL, HH component as two 1D convolutions. +One on the rows and one on the columns. +For example, in 1D signal, we have [a, b], then the low-freq compoenent is [a + b] / 2 and high-freq is [a - b] / 2. +We can use a 1D convolution with kernel [1, 1] and stride 2 to represent the L component. +For H component, we can use a 1D convolution with kernel [1, -1] and stride 2. +Although in principle, we typically only do additional Haar wavelet over the LL component. But here we do it for all + as we need to support downsampling for more than 2x. +For example, 4x downsampling can be done by 2x Haar and additional 2x Haar, and the shape would be. + [3, 256, 256] -> [12, 128, 128] -> [48, 64, 64] +""" + +import torch +import torch.nn.functional as F +from einops import rearrange + +_WAVELETS = { + "haar": torch.tensor([0.7071067811865476, 0.7071067811865476]), + "rearrange": torch.tensor([1.0, 1.0]), +} +_PERSISTENT = False + + +class Patcher(torch.nn.Module): + """A module to convert image tensors into patches using torch operations. + + The main difference from `class Patching` is that this module implements + all operations using torch, rather than python or numpy, for efficiency purpose. + + It's bit-wise identical to the Patching module outputs, with the added + benefit of being torch.jit scriptable. + """ + + def __init__(self, patch_size=1, patch_method="haar"): + super().__init__() + self.patch_size = patch_size + self.patch_method = patch_method + self.register_buffer( + "wavelets", _WAVELETS[patch_method], persistent=_PERSISTENT + ) + self.range = range(int(torch.log2(torch.tensor(self.patch_size)).item())) + self.register_buffer( + "_arange", + torch.arange(_WAVELETS[patch_method].shape[0]), + persistent=_PERSISTENT, + ) + for param in self.parameters(): + param.requires_grad = False + + def forward(self, x): + if self.patch_method == "haar": + return self._haar(x) + elif self.patch_method == "rearrange": + return self._arrange(x) + else: + raise ValueError("Unknown patch method: " + self.patch_method) + + def _dwt(self, x, mode="reflect", rescale=False): + dtype = x.dtype + h = self.wavelets.to(device=x.device) + + n = h.shape[0] + g = x.shape[1] + hl = h.flip(0).reshape(1, 1, -1).repeat(g, 1, 1) + hh = (h * ((-1) ** self._arange.to(device=x.device))).reshape(1, 1, -1).repeat(g, 1, 1) + hh = hh.to(dtype=dtype) + hl = hl.to(dtype=dtype) + + x = F.pad(x, pad=(n - 2, n - 1, n - 2, n - 1), mode=mode).to(dtype) + xl = F.conv2d(x, hl.unsqueeze(2), groups=g, stride=(1, 2)) + xh = F.conv2d(x, hh.unsqueeze(2), groups=g, stride=(1, 2)) + xll = F.conv2d(xl, hl.unsqueeze(3), groups=g, stride=(2, 1)) + xlh = F.conv2d(xl, hh.unsqueeze(3), groups=g, stride=(2, 1)) + xhl = F.conv2d(xh, hl.unsqueeze(3), groups=g, stride=(2, 1)) + xhh = F.conv2d(xh, hh.unsqueeze(3), groups=g, stride=(2, 1)) + + out = torch.cat([xll, xlh, xhl, xhh], dim=1) + if rescale: + out = out / 2 + return out + + def _haar(self, x): + for _ in self.range: + x = self._dwt(x, rescale=True) + return x + + def _arrange(self, x): + x = rearrange( + x, + "b c (h p1) (w p2) -> b (c p1 p2) h w", + p1=self.patch_size, + p2=self.patch_size, + ).contiguous() + return x + + +class Patcher3D(Patcher): + """A 3D discrete wavelet transform for video data, expects 5D tensor, i.e. a batch of videos.""" + + def __init__(self, patch_size=1, patch_method="haar"): + super().__init__(patch_method=patch_method, patch_size=patch_size) + self.register_buffer( + "patch_size_buffer", + patch_size * torch.ones([1], dtype=torch.int32), + persistent=_PERSISTENT, + ) + + def _dwt(self, x, wavelet, mode="reflect", rescale=False): + dtype = x.dtype + h = self.wavelets.to(device=x.device) + + n = h.shape[0] + g = x.shape[1] + hl = h.flip(0).reshape(1, 1, -1).repeat(g, 1, 1) + hh = (h * ((-1) ** self._arange.to(device=x.device))).reshape(1, 1, -1).repeat(g, 1, 1) + hh = hh.to(dtype=dtype) + hl = hl.to(dtype=dtype) + + # Handles temporal axis. + x = F.pad( + x, pad=(max(0, n - 2), n - 1, n - 2, n - 1, n - 2, n - 1), mode=mode + ).to(dtype) + xl = F.conv3d(x, hl.unsqueeze(3).unsqueeze(4), groups=g, stride=(2, 1, 1)) + xh = F.conv3d(x, hh.unsqueeze(3).unsqueeze(4), groups=g, stride=(2, 1, 1)) + + # Handles spatial axes. + xll = F.conv3d(xl, hl.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1)) + xlh = F.conv3d(xl, hh.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1)) + xhl = F.conv3d(xh, hl.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1)) + xhh = F.conv3d(xh, hh.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1)) + + xlll = F.conv3d(xll, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + xllh = F.conv3d(xll, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + xlhl = F.conv3d(xlh, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + xlhh = F.conv3d(xlh, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + xhll = F.conv3d(xhl, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + xhlh = F.conv3d(xhl, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + xhhl = F.conv3d(xhh, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + xhhh = F.conv3d(xhh, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + + out = torch.cat([xlll, xllh, xlhl, xlhh, xhll, xhlh, xhhl, xhhh], dim=1) + if rescale: + out = out / (2 * torch.sqrt(torch.tensor(2.0))) + return out + + def _haar(self, x): + xi, xv = torch.split(x, [1, x.shape[2] - 1], dim=2) + x = torch.cat([xi.repeat_interleave(self.patch_size, dim=2), xv], dim=2) + for _ in self.range: + x = self._dwt(x, "haar", rescale=True) + return x + + def _arrange(self, x): + xi, xv = torch.split(x, [1, x.shape[2] - 1], dim=2) + x = torch.cat([xi.repeat_interleave(self.patch_size, dim=2), xv], dim=2) + x = rearrange( + x, + "b c (t p1) (h p2) (w p3) -> b (c p1 p2 p3) t h w", + p1=self.patch_size, + p2=self.patch_size, + p3=self.patch_size, + ).contiguous() + return x + + +class UnPatcher(torch.nn.Module): + """A module to convert patches into image tensorsusing torch operations. + + The main difference from `class Unpatching` is that this module implements + all operations using torch, rather than python or numpy, for efficiency purpose. + + It's bit-wise identical to the Unpatching module outputs, with the added + benefit of being torch.jit scriptable. + """ + + def __init__(self, patch_size=1, patch_method="haar"): + super().__init__() + self.patch_size = patch_size + self.patch_method = patch_method + self.register_buffer( + "wavelets", _WAVELETS[patch_method], persistent=_PERSISTENT + ) + self.range = range(int(torch.log2(torch.tensor(self.patch_size)).item())) + self.register_buffer( + "_arange", + torch.arange(_WAVELETS[patch_method].shape[0]), + persistent=_PERSISTENT, + ) + for param in self.parameters(): + param.requires_grad = False + + def forward(self, x): + if self.patch_method == "haar": + return self._ihaar(x) + elif self.patch_method == "rearrange": + return self._iarrange(x) + else: + raise ValueError("Unknown patch method: " + self.patch_method) + + def _idwt(self, x, wavelet="haar", mode="reflect", rescale=False): + dtype = x.dtype + h = self.wavelets.to(device=x.device) + n = h.shape[0] + + g = x.shape[1] // 4 + hl = h.flip([0]).reshape(1, 1, -1).repeat([g, 1, 1]) + hh = (h * ((-1) ** self._arange.to(device=x.device))).reshape(1, 1, -1).repeat(g, 1, 1) + hh = hh.to(dtype=dtype) + hl = hl.to(dtype=dtype) + + xll, xlh, xhl, xhh = torch.chunk(x.to(dtype), 4, dim=1) + + # Inverse transform. + yl = torch.nn.functional.conv_transpose2d( + xll, hl.unsqueeze(3), groups=g, stride=(2, 1), padding=(n - 2, 0) + ) + yl += torch.nn.functional.conv_transpose2d( + xlh, hh.unsqueeze(3), groups=g, stride=(2, 1), padding=(n - 2, 0) + ) + yh = torch.nn.functional.conv_transpose2d( + xhl, hl.unsqueeze(3), groups=g, stride=(2, 1), padding=(n - 2, 0) + ) + yh += torch.nn.functional.conv_transpose2d( + xhh, hh.unsqueeze(3), groups=g, stride=(2, 1), padding=(n - 2, 0) + ) + y = torch.nn.functional.conv_transpose2d( + yl, hl.unsqueeze(2), groups=g, stride=(1, 2), padding=(0, n - 2) + ) + y += torch.nn.functional.conv_transpose2d( + yh, hh.unsqueeze(2), groups=g, stride=(1, 2), padding=(0, n - 2) + ) + + if rescale: + y = y * 2 + return y + + def _ihaar(self, x): + for _ in self.range: + x = self._idwt(x, "haar", rescale=True) + return x + + def _iarrange(self, x): + x = rearrange( + x, + "b (c p1 p2) h w -> b c (h p1) (w p2)", + p1=self.patch_size, + p2=self.patch_size, + ) + return x + + +class UnPatcher3D(UnPatcher): + """A 3D inverse discrete wavelet transform for video wavelet decompositions.""" + + def __init__(self, patch_size=1, patch_method="haar"): + super().__init__(patch_method=patch_method, patch_size=patch_size) + + def _idwt(self, x, wavelet="haar", mode="reflect", rescale=False): + dtype = x.dtype + h = self.wavelets.to(device=x.device) + + g = x.shape[1] // 8 # split into 8 spatio-temporal filtered tesnors. + hl = h.flip([0]).reshape(1, 1, -1).repeat([g, 1, 1]) + hh = (h * ((-1) ** self._arange.to(device=x.device))).reshape(1, 1, -1).repeat(g, 1, 1) + hl = hl.to(dtype=dtype) + hh = hh.to(dtype=dtype) + + xlll, xllh, xlhl, xlhh, xhll, xhlh, xhhl, xhhh = torch.chunk(x, 8, dim=1) + + # Height height transposed convolutions. + xll = F.conv_transpose3d( + xlll, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + xll += F.conv_transpose3d( + xllh, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + + xlh = F.conv_transpose3d( + xlhl, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + xlh += F.conv_transpose3d( + xlhh, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + + xhl = F.conv_transpose3d( + xhll, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + xhl += F.conv_transpose3d( + xhlh, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + + xhh = F.conv_transpose3d( + xhhl, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + xhh += F.conv_transpose3d( + xhhh, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + + # Handles width transposed convolutions. + xl = F.conv_transpose3d( + xll, hl.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1) + ) + xl += F.conv_transpose3d( + xlh, hh.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1) + ) + xh = F.conv_transpose3d( + xhl, hl.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1) + ) + xh += F.conv_transpose3d( + xhh, hh.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1) + ) + + # Handles time axis transposed convolutions. + x = F.conv_transpose3d( + xl, hl.unsqueeze(3).unsqueeze(4), groups=g, stride=(2, 1, 1) + ) + x += F.conv_transpose3d( + xh, hh.unsqueeze(3).unsqueeze(4), groups=g, stride=(2, 1, 1) + ) + + if rescale: + x = x * (2 * torch.sqrt(torch.tensor(2.0))) + return x + + def _ihaar(self, x): + for _ in self.range: + x = self._idwt(x, "haar", rescale=True) + x = x[:, :, self.patch_size - 1 :, ...] + return x + + def _iarrange(self, x): + x = rearrange( + x, + "b (c p1 p2 p3) t h w -> b c (t p1) (h p2) (w p3)", + p1=self.patch_size, + p2=self.patch_size, + p3=self.patch_size, + ) + x = x[:, :, self.patch_size - 1 :, ...] + return x diff --git a/comfy/ldm/cosmos/cosmos_tokenizer/utils.py b/comfy/ldm/cosmos/cosmos_tokenizer/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..3af8d0d0571c04b87c66f5280442f5f4e345ba0e --- /dev/null +++ b/comfy/ldm/cosmos/cosmos_tokenizer/utils.py @@ -0,0 +1,112 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Shared utilities for the networks module.""" + +from typing import Any + +import torch +from einops import rearrange + + +import comfy.ops +ops = comfy.ops.disable_weight_init + +def time2batch(x: torch.Tensor) -> tuple[torch.Tensor, int]: + batch_size = x.shape[0] + return rearrange(x, "b c t h w -> (b t) c h w"), batch_size + + +def batch2time(x: torch.Tensor, batch_size: int) -> torch.Tensor: + return rearrange(x, "(b t) c h w -> b c t h w", b=batch_size) + + +def space2batch(x: torch.Tensor) -> tuple[torch.Tensor, int]: + batch_size, height = x.shape[0], x.shape[-2] + return rearrange(x, "b c t h w -> (b h w) c t"), batch_size, height + + +def batch2space(x: torch.Tensor, batch_size: int, height: int) -> torch.Tensor: + return rearrange(x, "(b h w) c t -> b c t h w", b=batch_size, h=height) + + +def cast_tuple(t: Any, length: int = 1) -> Any: + return t if isinstance(t, tuple) else ((t,) * length) + + +def replication_pad(x): + return torch.cat([x[:, :, :1, ...], x], dim=2) + + +def divisible_by(num: int, den: int) -> bool: + return (num % den) == 0 + + +def is_odd(n: int) -> bool: + return not divisible_by(n, 2) + + +def nonlinearity(x): + return x * torch.sigmoid(x) + + +def Normalize(in_channels, num_groups=32): + return ops.GroupNorm( + num_groups=num_groups, num_channels=in_channels, eps=1e-6, affine=True + ) + + +class CausalNormalize(torch.nn.Module): + def __init__(self, in_channels, num_groups=1): + super().__init__() + self.norm = ops.GroupNorm( + num_groups=num_groups, + num_channels=in_channels, + eps=1e-6, + affine=True, + ) + self.num_groups = num_groups + + def forward(self, x): + # if num_groups !=1, we apply a spatio-temporal groupnorm for backward compatibility purpose. + # All new models should use num_groups=1, otherwise causality is not guaranteed. + if self.num_groups == 1: + x, batch_size = time2batch(x) + return batch2time(self.norm(x), batch_size) + return self.norm(x) + + +def exists(v): + return v is not None + + +def default(*args): + for arg in args: + if exists(arg): + return arg + return None + + +def round_ste(z: torch.Tensor) -> torch.Tensor: + """Round with straight through gradients.""" + zhat = z.round() + return z + (zhat - z).detach() + + +def log(t, eps=1e-5): + return t.clamp(min=eps).log() + + +def entropy(prob): + return (-prob * log(prob)).sum(dim=-1) diff --git a/comfy/ldm/cosmos/model.py b/comfy/ldm/cosmos/model.py new file mode 100644 index 0000000000000000000000000000000000000000..05dd384696025d14fd40f497181670c911471e8a --- /dev/null +++ b/comfy/ldm/cosmos/model.py @@ -0,0 +1,510 @@ +# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +A general implementation of adaln-modulated VIT-like~(DiT) transformer for video processing. +""" + +from typing import Optional, Tuple + +import torch +from einops import rearrange +from torch import nn +from torchvision import transforms + +from enum import Enum +import logging + +from comfy.ldm.modules.diffusionmodules.mmdit import RMSNorm + +from .blocks import ( + FinalLayer, + GeneralDITTransformerBlock, + PatchEmbed, + TimestepEmbedding, + Timesteps, +) + +from .position_embedding import LearnablePosEmbAxis, VideoRopePosition3DEmb + + +class DataType(Enum): + IMAGE = "image" + VIDEO = "video" + + +class GeneralDIT(nn.Module): + """ + A general implementation of adaln-modulated VIT-like~(DiT) transformer for video processing. + + Args: + max_img_h (int): Maximum height of the input images. + max_img_w (int): Maximum width of the input images. + max_frames (int): Maximum number of frames in the video sequence. + in_channels (int): Number of input channels (e.g., RGB channels for color images). + out_channels (int): Number of output channels. + patch_spatial (tuple): Spatial resolution of patches for input processing. + patch_temporal (int): Temporal resolution of patches for input processing. + concat_padding_mask (bool): If True, includes a mask channel in the input to handle padding. + block_config (str): Configuration of the transformer block. See Notes for supported block types. + model_channels (int): Base number of channels used throughout the model. + num_blocks (int): Number of transformer blocks. + num_heads (int): Number of heads in the multi-head attention layers. + mlp_ratio (float): Expansion ratio for MLP blocks. + block_x_format (str): Format of input tensor for transformer blocks ('BTHWD' or 'THWBD'). + crossattn_emb_channels (int): Number of embedding channels for cross-attention. + use_cross_attn_mask (bool): Whether to use mask in cross-attention. + pos_emb_cls (str): Type of positional embeddings. + pos_emb_learnable (bool): Whether positional embeddings are learnable. + pos_emb_interpolation (str): Method for interpolating positional embeddings. + affline_emb_norm (bool): Whether to normalize affine embeddings. + use_adaln_lora (bool): Whether to use AdaLN-LoRA. + adaln_lora_dim (int): Dimension for AdaLN-LoRA. + rope_h_extrapolation_ratio (float): Height extrapolation ratio for RoPE. + rope_w_extrapolation_ratio (float): Width extrapolation ratio for RoPE. + rope_t_extrapolation_ratio (float): Temporal extrapolation ratio for RoPE. + extra_per_block_abs_pos_emb (bool): Whether to use extra per-block absolute positional embeddings. + extra_per_block_abs_pos_emb_type (str): Type of extra per-block positional embeddings. + extra_h_extrapolation_ratio (float): Height extrapolation ratio for extra embeddings. + extra_w_extrapolation_ratio (float): Width extrapolation ratio for extra embeddings. + extra_t_extrapolation_ratio (float): Temporal extrapolation ratio for extra embeddings. + + Notes: + Supported block types in block_config: + * cross_attn, ca: Cross attention + * full_attn: Full attention on all flattened tokens + * mlp, ff: Feed forward block + """ + + def __init__( + self, + max_img_h: int, + max_img_w: int, + max_frames: int, + in_channels: int, + out_channels: int, + patch_spatial: tuple, + patch_temporal: int, + concat_padding_mask: bool = True, + # attention settings + block_config: str = "FA-CA-MLP", + model_channels: int = 768, + num_blocks: int = 10, + num_heads: int = 16, + mlp_ratio: float = 4.0, + block_x_format: str = "BTHWD", + # cross attention settings + crossattn_emb_channels: int = 1024, + use_cross_attn_mask: bool = False, + # positional embedding settings + pos_emb_cls: str = "sincos", + pos_emb_learnable: bool = False, + pos_emb_interpolation: str = "crop", + affline_emb_norm: bool = False, # whether or not to normalize the affine embedding + use_adaln_lora: bool = False, + adaln_lora_dim: int = 256, + rope_h_extrapolation_ratio: float = 1.0, + rope_w_extrapolation_ratio: float = 1.0, + rope_t_extrapolation_ratio: float = 1.0, + extra_per_block_abs_pos_emb: bool = False, + extra_per_block_abs_pos_emb_type: str = "sincos", + extra_h_extrapolation_ratio: float = 1.0, + extra_w_extrapolation_ratio: float = 1.0, + extra_t_extrapolation_ratio: float = 1.0, + image_model=None, + device=None, + dtype=None, + operations=None, + ) -> None: + super().__init__() + self.max_img_h = max_img_h + self.max_img_w = max_img_w + self.max_frames = max_frames + self.in_channels = in_channels + self.out_channels = out_channels + self.patch_spatial = patch_spatial + self.patch_temporal = patch_temporal + self.num_heads = num_heads + self.num_blocks = num_blocks + self.model_channels = model_channels + self.use_cross_attn_mask = use_cross_attn_mask + self.concat_padding_mask = concat_padding_mask + # positional embedding settings + self.pos_emb_cls = pos_emb_cls + self.pos_emb_learnable = pos_emb_learnable + self.pos_emb_interpolation = pos_emb_interpolation + self.affline_emb_norm = affline_emb_norm + self.rope_h_extrapolation_ratio = rope_h_extrapolation_ratio + self.rope_w_extrapolation_ratio = rope_w_extrapolation_ratio + self.rope_t_extrapolation_ratio = rope_t_extrapolation_ratio + self.extra_per_block_abs_pos_emb = extra_per_block_abs_pos_emb + self.extra_per_block_abs_pos_emb_type = extra_per_block_abs_pos_emb_type.lower() + self.extra_h_extrapolation_ratio = extra_h_extrapolation_ratio + self.extra_w_extrapolation_ratio = extra_w_extrapolation_ratio + self.extra_t_extrapolation_ratio = extra_t_extrapolation_ratio + self.dtype = dtype + weight_args = {"device": device, "dtype": dtype} + + in_channels = in_channels + 1 if concat_padding_mask else in_channels + self.x_embedder = PatchEmbed( + spatial_patch_size=patch_spatial, + temporal_patch_size=patch_temporal, + in_channels=in_channels, + out_channels=model_channels, + bias=False, + weight_args=weight_args, + operations=operations, + ) + + self.build_pos_embed(device=device) + self.block_x_format = block_x_format + self.use_adaln_lora = use_adaln_lora + self.adaln_lora_dim = adaln_lora_dim + self.t_embedder = nn.ModuleList( + [Timesteps(model_channels), + TimestepEmbedding(model_channels, model_channels, use_adaln_lora=use_adaln_lora, weight_args=weight_args, operations=operations),] + ) + + self.blocks = nn.ModuleDict() + + for idx in range(num_blocks): + self.blocks[f"block{idx}"] = GeneralDITTransformerBlock( + x_dim=model_channels, + context_dim=crossattn_emb_channels, + num_heads=num_heads, + block_config=block_config, + mlp_ratio=mlp_ratio, + x_format=self.block_x_format, + use_adaln_lora=use_adaln_lora, + adaln_lora_dim=adaln_lora_dim, + weight_args=weight_args, + operations=operations, + ) + + if self.affline_emb_norm: + logging.debug("Building affine embedding normalization layer") + self.affline_norm = RMSNorm(model_channels, elementwise_affine=True, eps=1e-6) + else: + self.affline_norm = nn.Identity() + + self.final_layer = FinalLayer( + hidden_size=self.model_channels, + spatial_patch_size=self.patch_spatial, + temporal_patch_size=self.patch_temporal, + out_channels=self.out_channels, + use_adaln_lora=self.use_adaln_lora, + adaln_lora_dim=self.adaln_lora_dim, + weight_args=weight_args, + operations=operations, + ) + + def build_pos_embed(self, device=None): + if self.pos_emb_cls == "rope3d": + cls_type = VideoRopePosition3DEmb + else: + raise ValueError(f"Unknown pos_emb_cls {self.pos_emb_cls}") + + logging.debug(f"Building positional embedding with {self.pos_emb_cls} class, impl {cls_type}") + kwargs = dict( + model_channels=self.model_channels, + len_h=self.max_img_h // self.patch_spatial, + len_w=self.max_img_w // self.patch_spatial, + len_t=self.max_frames // self.patch_temporal, + is_learnable=self.pos_emb_learnable, + interpolation=self.pos_emb_interpolation, + head_dim=self.model_channels // self.num_heads, + h_extrapolation_ratio=self.rope_h_extrapolation_ratio, + w_extrapolation_ratio=self.rope_w_extrapolation_ratio, + t_extrapolation_ratio=self.rope_t_extrapolation_ratio, + device=device, + ) + self.pos_embedder = cls_type( + **kwargs, + ) + + if self.extra_per_block_abs_pos_emb: + assert self.extra_per_block_abs_pos_emb_type in [ + "learnable", + ], f"Unknown extra_per_block_abs_pos_emb_type {self.extra_per_block_abs_pos_emb_type}" + kwargs["h_extrapolation_ratio"] = self.extra_h_extrapolation_ratio + kwargs["w_extrapolation_ratio"] = self.extra_w_extrapolation_ratio + kwargs["t_extrapolation_ratio"] = self.extra_t_extrapolation_ratio + kwargs["device"] = device + self.extra_pos_embedder = LearnablePosEmbAxis( + **kwargs, + ) + + def prepare_embedded_sequence( + self, + x_B_C_T_H_W: torch.Tensor, + fps: Optional[torch.Tensor] = None, + padding_mask: Optional[torch.Tensor] = None, + latent_condition: Optional[torch.Tensor] = None, + latent_condition_sigma: Optional[torch.Tensor] = None, + ) -> Tuple[torch.Tensor, Optional[torch.Tensor]]: + """ + Prepares an embedded sequence tensor by applying positional embeddings and handling padding masks. + + Args: + x_B_C_T_H_W (torch.Tensor): video + fps (Optional[torch.Tensor]): Frames per second tensor to be used for positional embedding when required. + If None, a default value (`self.base_fps`) will be used. + padding_mask (Optional[torch.Tensor]): current it is not used + + Returns: + Tuple[torch.Tensor, Optional[torch.Tensor]]: + - A tensor of shape (B, T, H, W, D) with the embedded sequence. + - An optional positional embedding tensor, returned only if the positional embedding class + (`self.pos_emb_cls`) includes 'rope'. Otherwise, None. + + Notes: + - If `self.concat_padding_mask` is True, a padding mask channel is concatenated to the input tensor. + - The method of applying positional embeddings depends on the value of `self.pos_emb_cls`. + - If 'rope' is in `self.pos_emb_cls` (case insensitive), the positional embeddings are generated using + the `self.pos_embedder` with the shape [T, H, W]. + - If "fps_aware" is in `self.pos_emb_cls`, the positional embeddings are generated using the + `self.pos_embedder` with the fps tensor. + - Otherwise, the positional embeddings are generated without considering fps. + """ + if self.concat_padding_mask: + if padding_mask is not None: + padding_mask = transforms.functional.resize( + padding_mask, list(x_B_C_T_H_W.shape[-2:]), interpolation=transforms.InterpolationMode.NEAREST + ) + else: + padding_mask = torch.zeros((x_B_C_T_H_W.shape[0], 1, x_B_C_T_H_W.shape[-2], x_B_C_T_H_W.shape[-1]), dtype=x_B_C_T_H_W.dtype, device=x_B_C_T_H_W.device) + + x_B_C_T_H_W = torch.cat( + [x_B_C_T_H_W, padding_mask.unsqueeze(1).repeat(1, 1, x_B_C_T_H_W.shape[2], 1, 1)], dim=1 + ) + x_B_T_H_W_D = self.x_embedder(x_B_C_T_H_W) + + if self.extra_per_block_abs_pos_emb: + extra_pos_emb = self.extra_pos_embedder(x_B_T_H_W_D, fps=fps, device=x_B_C_T_H_W.device) + else: + extra_pos_emb = None + + if "rope" in self.pos_emb_cls.lower(): + return x_B_T_H_W_D, self.pos_embedder(x_B_T_H_W_D, fps=fps, device=x_B_C_T_H_W.device), extra_pos_emb + + if "fps_aware" in self.pos_emb_cls: + x_B_T_H_W_D = x_B_T_H_W_D + self.pos_embedder(x_B_T_H_W_D, fps=fps, device=x_B_C_T_H_W.device) # [B, T, H, W, D] + else: + x_B_T_H_W_D = x_B_T_H_W_D + self.pos_embedder(x_B_T_H_W_D, device=x_B_C_T_H_W.device) # [B, T, H, W, D] + + return x_B_T_H_W_D, None, extra_pos_emb + + def decoder_head( + self, + x_B_T_H_W_D: torch.Tensor, + emb_B_D: torch.Tensor, + crossattn_emb: torch.Tensor, + origin_shape: Tuple[int, int, int, int, int], # [B, C, T, H, W] + crossattn_mask: Optional[torch.Tensor] = None, + adaln_lora_B_3D: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + del crossattn_emb, crossattn_mask + B, C, T_before_patchify, H_before_patchify, W_before_patchify = origin_shape + x_BT_HW_D = rearrange(x_B_T_H_W_D, "B T H W D -> (B T) (H W) D") + x_BT_HW_D = self.final_layer(x_BT_HW_D, emb_B_D, adaln_lora_B_3D=adaln_lora_B_3D) + # This is to ensure x_BT_HW_D has the correct shape because + # when we merge T, H, W into one dimension, x_BT_HW_D has shape (B * T * H * W, 1*1, D). + x_BT_HW_D = x_BT_HW_D.view( + B * T_before_patchify // self.patch_temporal, + H_before_patchify // self.patch_spatial * W_before_patchify // self.patch_spatial, + -1, + ) + x_B_D_T_H_W = rearrange( + x_BT_HW_D, + "(B T) (H W) (p1 p2 t C) -> B C (T t) (H p1) (W p2)", + p1=self.patch_spatial, + p2=self.patch_spatial, + H=H_before_patchify // self.patch_spatial, + W=W_before_patchify // self.patch_spatial, + t=self.patch_temporal, + B=B, + ) + return x_B_D_T_H_W + + def forward_before_blocks( + self, + x: torch.Tensor, + timesteps: torch.Tensor, + crossattn_emb: torch.Tensor, + crossattn_mask: Optional[torch.Tensor] = None, + fps: Optional[torch.Tensor] = None, + image_size: Optional[torch.Tensor] = None, + padding_mask: Optional[torch.Tensor] = None, + scalar_feature: Optional[torch.Tensor] = None, + data_type: Optional[DataType] = DataType.VIDEO, + latent_condition: Optional[torch.Tensor] = None, + latent_condition_sigma: Optional[torch.Tensor] = None, + **kwargs, + ) -> torch.Tensor: + """ + Args: + x: (B, C, T, H, W) tensor of spatial-temp inputs + timesteps: (B, ) tensor of timesteps + crossattn_emb: (B, N, D) tensor of cross-attention embeddings + crossattn_mask: (B, N) tensor of cross-attention masks + """ + del kwargs + assert isinstance( + data_type, DataType + ), f"Expected DataType, got {type(data_type)}. We need discuss this flag later." + original_shape = x.shape + x_B_T_H_W_D, rope_emb_L_1_1_D, extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D = self.prepare_embedded_sequence( + x, + fps=fps, + padding_mask=padding_mask, + latent_condition=latent_condition, + latent_condition_sigma=latent_condition_sigma, + ) + # logging affline scale information + affline_scale_log_info = {} + + timesteps_B_D, adaln_lora_B_3D = self.t_embedder[1](self.t_embedder[0](timesteps.flatten()).to(x.dtype)) + affline_emb_B_D = timesteps_B_D + affline_scale_log_info["timesteps_B_D"] = timesteps_B_D.detach() + + if scalar_feature is not None: + raise NotImplementedError("Scalar feature is not implemented yet.") + + affline_scale_log_info["affline_emb_B_D"] = affline_emb_B_D.detach() + affline_emb_B_D = self.affline_norm(affline_emb_B_D) + + if self.use_cross_attn_mask: + if crossattn_mask is not None and not torch.is_floating_point(crossattn_mask): + crossattn_mask = (crossattn_mask - 1).to(x.dtype) * torch.finfo(x.dtype).max + crossattn_mask = crossattn_mask[:, None, None, :] # .to(dtype=torch.bool) # [B, 1, 1, length] + else: + crossattn_mask = None + + if self.blocks["block0"].x_format == "THWBD": + x = rearrange(x_B_T_H_W_D, "B T H W D -> T H W B D") + if extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D is not None: + extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D = rearrange( + extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D, "B T H W D -> T H W B D" + ) + crossattn_emb = rearrange(crossattn_emb, "B M D -> M B D") + + if crossattn_mask: + crossattn_mask = rearrange(crossattn_mask, "B M -> M B") + + elif self.blocks["block0"].x_format == "BTHWD": + x = x_B_T_H_W_D + else: + raise ValueError(f"Unknown x_format {self.blocks[0].x_format}") + output = { + "x": x, + "affline_emb_B_D": affline_emb_B_D, + "crossattn_emb": crossattn_emb, + "crossattn_mask": crossattn_mask, + "rope_emb_L_1_1_D": rope_emb_L_1_1_D, + "adaln_lora_B_3D": adaln_lora_B_3D, + "original_shape": original_shape, + "extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D": extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D, + } + return output + + def forward( + self, + x: torch.Tensor, + timesteps: torch.Tensor, + context: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + # crossattn_emb: torch.Tensor, + # crossattn_mask: Optional[torch.Tensor] = None, + fps: Optional[torch.Tensor] = None, + image_size: Optional[torch.Tensor] = None, + padding_mask: Optional[torch.Tensor] = None, + scalar_feature: Optional[torch.Tensor] = None, + data_type: Optional[DataType] = DataType.VIDEO, + latent_condition: Optional[torch.Tensor] = None, + latent_condition_sigma: Optional[torch.Tensor] = None, + condition_video_augment_sigma: Optional[torch.Tensor] = None, + **kwargs, + ): + """ + Args: + x: (B, C, T, H, W) tensor of spatial-temp inputs + timesteps: (B, ) tensor of timesteps + crossattn_emb: (B, N, D) tensor of cross-attention embeddings + crossattn_mask: (B, N) tensor of cross-attention masks + condition_video_augment_sigma: (B,) used in lvg(long video generation), we add noise with this sigma to + augment condition input, the lvg model will condition on the condition_video_augment_sigma value; + we need forward_before_blocks pass to the forward_before_blocks function. + """ + + crossattn_emb = context + crossattn_mask = attention_mask + + inputs = self.forward_before_blocks( + x=x, + timesteps=timesteps, + crossattn_emb=crossattn_emb, + crossattn_mask=crossattn_mask, + fps=fps, + image_size=image_size, + padding_mask=padding_mask, + scalar_feature=scalar_feature, + data_type=data_type, + latent_condition=latent_condition, + latent_condition_sigma=latent_condition_sigma, + condition_video_augment_sigma=condition_video_augment_sigma, + **kwargs, + ) + x, affline_emb_B_D, crossattn_emb, crossattn_mask, rope_emb_L_1_1_D, adaln_lora_B_3D, original_shape = ( + inputs["x"], + inputs["affline_emb_B_D"], + inputs["crossattn_emb"], + inputs["crossattn_mask"], + inputs["rope_emb_L_1_1_D"], + inputs["adaln_lora_B_3D"], + inputs["original_shape"], + ) + extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D = inputs["extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D"].to(x.dtype) + if extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D is not None: + assert ( + x.shape == extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D.shape + ), f"{x.shape} != {extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D.shape} {original_shape}" + + for _, block in self.blocks.items(): + assert ( + self.blocks["block0"].x_format == block.x_format + ), f"First block has x_format {self.blocks[0].x_format}, got {block.x_format}" + + x = block( + x, + affline_emb_B_D, + crossattn_emb, + crossattn_mask, + rope_emb_L_1_1_D=rope_emb_L_1_1_D, + adaln_lora_B_3D=adaln_lora_B_3D, + extra_per_block_pos_emb=extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D, + ) + + x_B_T_H_W_D = rearrange(x, "T H W B D -> B T H W D") + + x_B_D_T_H_W = self.decoder_head( + x_B_T_H_W_D=x_B_T_H_W_D, + emb_B_D=affline_emb_B_D, + crossattn_emb=None, + origin_shape=original_shape, + crossattn_mask=None, + adaln_lora_B_3D=adaln_lora_B_3D, + ) + + return x_B_D_T_H_W diff --git a/comfy/ldm/cosmos/position_embedding.py b/comfy/ldm/cosmos/position_embedding.py new file mode 100644 index 0000000000000000000000000000000000000000..dda752cb87550378cfcc8e803e5700ce88eaadf3 --- /dev/null +++ b/comfy/ldm/cosmos/position_embedding.py @@ -0,0 +1,207 @@ +# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from typing import List, Optional + +import torch +from einops import rearrange, repeat +from torch import nn +import math + + +def normalize(x: torch.Tensor, dim: Optional[List[int]] = None, eps: float = 0) -> torch.Tensor: + """ + Normalizes the input tensor along specified dimensions such that the average square norm of elements is adjusted. + + Args: + x (torch.Tensor): The input tensor to normalize. + dim (list, optional): The dimensions over which to normalize. If None, normalizes over all dimensions except the first. + eps (float, optional): A small constant to ensure numerical stability during division. + + Returns: + torch.Tensor: The normalized tensor. + """ + if dim is None: + dim = list(range(1, x.ndim)) + norm = torch.linalg.vector_norm(x, dim=dim, keepdim=True, dtype=torch.float32) + norm = torch.add(eps, norm, alpha=math.sqrt(norm.numel() / x.numel())) + return x / norm.to(x.dtype) + + +class VideoPositionEmb(nn.Module): + def forward(self, x_B_T_H_W_C: torch.Tensor, fps=Optional[torch.Tensor], device=None) -> torch.Tensor: + """ + It delegates the embedding generation to generate_embeddings function. + """ + B_T_H_W_C = x_B_T_H_W_C.shape + embeddings = self.generate_embeddings(B_T_H_W_C, fps=fps, device=device) + + return embeddings + + def generate_embeddings(self, B_T_H_W_C: torch.Size, fps=Optional[torch.Tensor], device=None): + raise NotImplementedError + + +class VideoRopePosition3DEmb(VideoPositionEmb): + def __init__( + self, + *, # enforce keyword arguments + head_dim: int, + len_h: int, + len_w: int, + len_t: int, + base_fps: int = 24, + h_extrapolation_ratio: float = 1.0, + w_extrapolation_ratio: float = 1.0, + t_extrapolation_ratio: float = 1.0, + device=None, + **kwargs, # used for compatibility with other positional embeddings; unused in this class + ): + del kwargs + super().__init__() + self.register_buffer("seq", torch.arange(max(len_h, len_w, len_t), dtype=torch.float, device=device)) + self.base_fps = base_fps + self.max_h = len_h + self.max_w = len_w + + dim = head_dim + dim_h = dim // 6 * 2 + dim_w = dim_h + dim_t = dim - 2 * dim_h + assert dim == dim_h + dim_w + dim_t, f"bad dim: {dim} != {dim_h} + {dim_w} + {dim_t}" + self.register_buffer( + "dim_spatial_range", + torch.arange(0, dim_h, 2, device=device)[: (dim_h // 2)].float() / dim_h, + persistent=False, + ) + self.register_buffer( + "dim_temporal_range", + torch.arange(0, dim_t, 2, device=device)[: (dim_t // 2)].float() / dim_t, + persistent=False, + ) + + self.h_ntk_factor = h_extrapolation_ratio ** (dim_h / (dim_h - 2)) + self.w_ntk_factor = w_extrapolation_ratio ** (dim_w / (dim_w - 2)) + self.t_ntk_factor = t_extrapolation_ratio ** (dim_t / (dim_t - 2)) + + def generate_embeddings( + self, + B_T_H_W_C: torch.Size, + fps: Optional[torch.Tensor] = None, + h_ntk_factor: Optional[float] = None, + w_ntk_factor: Optional[float] = None, + t_ntk_factor: Optional[float] = None, + device=None, + ): + """ + Generate embeddings for the given input size. + + Args: + B_T_H_W_C (torch.Size): Input tensor size (Batch, Time, Height, Width, Channels). + fps (Optional[torch.Tensor], optional): Frames per second. Defaults to None. + h_ntk_factor (Optional[float], optional): Height NTK factor. If None, uses self.h_ntk_factor. + w_ntk_factor (Optional[float], optional): Width NTK factor. If None, uses self.w_ntk_factor. + t_ntk_factor (Optional[float], optional): Time NTK factor. If None, uses self.t_ntk_factor. + + Returns: + Not specified in the original code snippet. + """ + h_ntk_factor = h_ntk_factor if h_ntk_factor is not None else self.h_ntk_factor + w_ntk_factor = w_ntk_factor if w_ntk_factor is not None else self.w_ntk_factor + t_ntk_factor = t_ntk_factor if t_ntk_factor is not None else self.t_ntk_factor + + h_theta = 10000.0 * h_ntk_factor + w_theta = 10000.0 * w_ntk_factor + t_theta = 10000.0 * t_ntk_factor + + h_spatial_freqs = 1.0 / (h_theta**self.dim_spatial_range.to(device=device)) + w_spatial_freqs = 1.0 / (w_theta**self.dim_spatial_range.to(device=device)) + temporal_freqs = 1.0 / (t_theta**self.dim_temporal_range.to(device=device)) + + B, T, H, W, _ = B_T_H_W_C + uniform_fps = (fps is None) or isinstance(fps, (int, float)) or (fps.min() == fps.max()) + assert ( + uniform_fps or B == 1 or T == 1 + ), "For video batch, batch size should be 1 for non-uniform fps. For image batch, T should be 1" + assert ( + H <= self.max_h and W <= self.max_w + ), f"Input dimensions (H={H}, W={W}) exceed the maximum dimensions (max_h={self.max_h}, max_w={self.max_w})" + half_emb_h = torch.outer(self.seq[:H].to(device=device), h_spatial_freqs) + half_emb_w = torch.outer(self.seq[:W].to(device=device), w_spatial_freqs) + + # apply sequence scaling in temporal dimension + if fps is None: # image case + half_emb_t = torch.outer(self.seq[:T].to(device=device), temporal_freqs) + else: + half_emb_t = torch.outer(self.seq[:T].to(device=device) / fps * self.base_fps, temporal_freqs) + + half_emb_h = torch.stack([torch.cos(half_emb_h), -torch.sin(half_emb_h), torch.sin(half_emb_h), torch.cos(half_emb_h)], dim=-1) + half_emb_w = torch.stack([torch.cos(half_emb_w), -torch.sin(half_emb_w), torch.sin(half_emb_w), torch.cos(half_emb_w)], dim=-1) + half_emb_t = torch.stack([torch.cos(half_emb_t), -torch.sin(half_emb_t), torch.sin(half_emb_t), torch.cos(half_emb_t)], dim=-1) + + em_T_H_W_D = torch.cat( + [ + repeat(half_emb_t, "t d x -> t h w d x", h=H, w=W), + repeat(half_emb_h, "h d x -> t h w d x", t=T, w=W), + repeat(half_emb_w, "w d x -> t h w d x", t=T, h=H), + ] + , dim=-2, + ) + + return rearrange(em_T_H_W_D, "t h w d (i j) -> (t h w) d i j", i=2, j=2).float() + + +class LearnablePosEmbAxis(VideoPositionEmb): + def __init__( + self, + *, # enforce keyword arguments + interpolation: str, + model_channels: int, + len_h: int, + len_w: int, + len_t: int, + device=None, + **kwargs, + ): + """ + Args: + interpolation (str): we curretly only support "crop", ideally when we need extrapolation capacity, we should adjust frequency or other more advanced methods. they are not implemented yet. + """ + del kwargs # unused + super().__init__() + self.interpolation = interpolation + assert self.interpolation in ["crop"], f"Unknown interpolation method {self.interpolation}" + + self.pos_emb_h = nn.Parameter(torch.empty(len_h, model_channels, device=device)) + self.pos_emb_w = nn.Parameter(torch.empty(len_w, model_channels, device=device)) + self.pos_emb_t = nn.Parameter(torch.empty(len_t, model_channels, device=device)) + + + def generate_embeddings(self, B_T_H_W_C: torch.Size, fps=Optional[torch.Tensor], device=None) -> torch.Tensor: + B, T, H, W, _ = B_T_H_W_C + if self.interpolation == "crop": + emb_h_H = self.pos_emb_h[:H].to(device=device) + emb_w_W = self.pos_emb_w[:W].to(device=device) + emb_t_T = self.pos_emb_t[:T].to(device=device) + emb = ( + repeat(emb_t_T, "t d-> b t h w d", b=B, h=H, w=W) + + repeat(emb_h_H, "h d-> b t h w d", b=B, t=T, w=W) + + repeat(emb_w_W, "w d-> b t h w d", b=B, t=T, h=H) + ) + assert list(emb.shape)[:4] == [B, T, H, W], f"bad shape: {list(emb.shape)[:4]} != {B, T, H, W}" + else: + raise ValueError(f"Unknown interpolation method {self.interpolation}") + + return normalize(emb, dim=-1, eps=1e-6) diff --git a/comfy/ldm/cosmos/vae.py b/comfy/ldm/cosmos/vae.py new file mode 100644 index 0000000000000000000000000000000000000000..94fcc54ce89d742e80ac9644edb315699ccf8c25 --- /dev/null +++ b/comfy/ldm/cosmos/vae.py @@ -0,0 +1,124 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""The causal continuous video tokenizer with VAE or AE formulation for 3D data..""" + +import logging +import torch +from torch import nn +from enum import Enum + +from .cosmos_tokenizer.layers3d import ( + EncoderFactorized, + DecoderFactorized, + CausalConv3d, +) + + +class IdentityDistribution(torch.nn.Module): + def __init__(self): + super().__init__() + + def forward(self, parameters): + return parameters, (torch.tensor([0.0]), torch.tensor([0.0])) + + +class GaussianDistribution(torch.nn.Module): + def __init__(self, min_logvar: float = -30.0, max_logvar: float = 20.0): + super().__init__() + self.min_logvar = min_logvar + self.max_logvar = max_logvar + + def sample(self, mean, logvar): + std = torch.exp(0.5 * logvar) + return mean + std * torch.randn_like(mean) + + def forward(self, parameters): + mean, logvar = torch.chunk(parameters, 2, dim=1) + logvar = torch.clamp(logvar, self.min_logvar, self.max_logvar) + return self.sample(mean, logvar), (mean, logvar) + + +class ContinuousFormulation(Enum): + VAE = GaussianDistribution + AE = IdentityDistribution + + +class CausalContinuousVideoTokenizer(nn.Module): + def __init__( + self, z_channels: int, z_factor: int, latent_channels: int, **kwargs + ) -> None: + super().__init__() + self.name = kwargs.get("name", "CausalContinuousVideoTokenizer") + self.latent_channels = latent_channels + self.sigma_data = 0.5 + + # encoder_name = kwargs.get("encoder", Encoder3DType.BASE.name) + self.encoder = EncoderFactorized( + z_channels=z_factor * z_channels, **kwargs + ) + if kwargs.get("temporal_compression", 4) == 4: + kwargs["channels_mult"] = [2, 4] + # decoder_name = kwargs.get("decoder", Decoder3DType.BASE.name) + self.decoder = DecoderFactorized( + z_channels=z_channels, **kwargs + ) + + self.quant_conv = CausalConv3d( + z_factor * z_channels, + z_factor * latent_channels, + kernel_size=1, + padding=0, + ) + self.post_quant_conv = CausalConv3d( + latent_channels, z_channels, kernel_size=1, padding=0 + ) + + # formulation_name = kwargs.get("formulation", ContinuousFormulation.AE.name) + self.distribution = IdentityDistribution() # ContinuousFormulation[formulation_name].value() + + num_parameters = sum(param.numel() for param in self.parameters()) + logging.info(f"model={self.name}, num_parameters={num_parameters:,}") + logging.info( + f"z_channels={z_channels}, latent_channels={self.latent_channels}." + ) + + latent_temporal_chunk = 16 + self.latent_mean = nn.Parameter(torch.zeros([self.latent_channels * latent_temporal_chunk], dtype=torch.float32)) + self.latent_std = nn.Parameter(torch.ones([self.latent_channels * latent_temporal_chunk], dtype=torch.float32)) + + + def encode(self, x): + h = self.encoder(x) + moments = self.quant_conv(h) + z, posteriors = self.distribution(moments) + latent_ch = z.shape[1] + latent_t = z.shape[2] + dtype = z.dtype + mean = self.latent_mean.view(latent_ch, -1)[:, : latent_t].reshape([1, latent_ch, -1, 1, 1]).to(dtype=dtype, device=z.device) + std = self.latent_std.view(latent_ch, -1)[:, : latent_t].reshape([1, latent_ch, -1, 1, 1]).to(dtype=dtype, device=z.device) + return ((z - mean) / std) * self.sigma_data + + def decode(self, z): + in_dtype = z.dtype + latent_ch = z.shape[1] + latent_t = z.shape[2] + mean = self.latent_mean.view(latent_ch, -1)[:, : latent_t].reshape([1, latent_ch, -1, 1, 1]).to(dtype=in_dtype, device=z.device) + std = self.latent_std.view(latent_ch, -1)[:, : latent_t].reshape([1, latent_ch, -1, 1, 1]).to(dtype=in_dtype, device=z.device) + + z = z / self.sigma_data + z = z * std + mean + z = self.post_quant_conv(z) + return self.decoder(z) + diff --git a/comfy/ldm/flux/controlnet.py b/comfy/ldm/flux/controlnet.py new file mode 100644 index 0000000000000000000000000000000000000000..5322c48910126842a411b4096fd949f95430b71d --- /dev/null +++ b/comfy/ldm/flux/controlnet.py @@ -0,0 +1,203 @@ +#Original code can be found on: https://github.com/XLabs-AI/x-flux/blob/main/src/flux/controlnet.py +#modified to support different types of flux controlnets + +import torch +import math +from torch import Tensor, nn +from einops import rearrange, repeat + +from .layers import (timestep_embedding) + +from .model import Flux +import comfy.ldm.common_dit + +class MistolineCondDownsamplBlock(nn.Module): + def __init__(self, dtype=None, device=None, operations=None): + super().__init__() + self.encoder = nn.Sequential( + operations.Conv2d(3, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device) + ) + + def forward(self, x): + return self.encoder(x) + +class MistolineControlnetBlock(nn.Module): + def __init__(self, hidden_size, dtype=None, device=None, operations=None): + super().__init__() + self.linear = operations.Linear(hidden_size, hidden_size, dtype=dtype, device=device) + self.act = nn.SiLU() + + def forward(self, x): + return self.act(self.linear(x)) + + +class ControlNetFlux(Flux): + def __init__(self, latent_input=False, num_union_modes=0, mistoline=False, control_latent_channels=None, image_model=None, dtype=None, device=None, operations=None, **kwargs): + super().__init__(final_layer=False, dtype=dtype, device=device, operations=operations, **kwargs) + + self.main_model_double = 19 + self.main_model_single = 38 + + self.mistoline = mistoline + # add ControlNet blocks + if self.mistoline: + control_block = lambda : MistolineControlnetBlock(self.hidden_size, dtype=dtype, device=device, operations=operations) + else: + control_block = lambda : operations.Linear(self.hidden_size, self.hidden_size, dtype=dtype, device=device) + + self.controlnet_blocks = nn.ModuleList([]) + for _ in range(self.params.depth): + self.controlnet_blocks.append(control_block()) + + self.controlnet_single_blocks = nn.ModuleList([]) + for _ in range(self.params.depth_single_blocks): + self.controlnet_single_blocks.append(control_block()) + + self.num_union_modes = num_union_modes + self.controlnet_mode_embedder = None + if self.num_union_modes > 0: + self.controlnet_mode_embedder = operations.Embedding(self.num_union_modes, self.hidden_size, dtype=dtype, device=device) + + self.gradient_checkpointing = False + self.latent_input = latent_input + if control_latent_channels is None: + control_latent_channels = self.in_channels + else: + control_latent_channels *= 2 * 2 #patch size + + self.pos_embed_input = operations.Linear(control_latent_channels, self.hidden_size, bias=True, dtype=dtype, device=device) + if not self.latent_input: + if self.mistoline: + self.input_cond_block = MistolineCondDownsamplBlock(dtype=dtype, device=device, operations=operations) + else: + self.input_hint_block = nn.Sequential( + operations.Conv2d(3, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device) + ) + + def forward_orig( + self, + img: Tensor, + img_ids: Tensor, + controlnet_cond: Tensor, + txt: Tensor, + txt_ids: Tensor, + timesteps: Tensor, + y: Tensor, + guidance: Tensor = None, + control_type: Tensor = None, + ) -> Tensor: + if img.ndim != 3 or txt.ndim != 3: + raise ValueError("Input img and txt tensors must have 3 dimensions.") + + # running on sequences img + img = self.img_in(img) + + controlnet_cond = self.pos_embed_input(controlnet_cond) + img = img + controlnet_cond + vec = self.time_in(timestep_embedding(timesteps, 256)) + if self.params.guidance_embed: + vec = vec + self.guidance_in(timestep_embedding(guidance, 256)) + vec = vec + self.vector_in(y) + txt = self.txt_in(txt) + + if self.controlnet_mode_embedder is not None and len(control_type) > 0: + control_cond = self.controlnet_mode_embedder(torch.tensor(control_type, device=img.device), out_dtype=img.dtype).unsqueeze(0).repeat((txt.shape[0], 1, 1)) + txt = torch.cat([control_cond, txt], dim=1) + txt_ids = torch.cat([txt_ids[:,:1], txt_ids], dim=1) + + ids = torch.cat((txt_ids, img_ids), dim=1) + pe = self.pe_embedder(ids) + + controlnet_double = () + + for i in range(len(self.double_blocks)): + img, txt = self.double_blocks[i](img=img, txt=txt, vec=vec, pe=pe) + controlnet_double = controlnet_double + (self.controlnet_blocks[i](img),) + + img = torch.cat((txt, img), 1) + + controlnet_single = () + + for i in range(len(self.single_blocks)): + img = self.single_blocks[i](img, vec=vec, pe=pe) + controlnet_single = controlnet_single + (self.controlnet_single_blocks[i](img[:, txt.shape[1] :, ...]),) + + repeat = math.ceil(self.main_model_double / len(controlnet_double)) + if self.latent_input: + out_input = () + for x in controlnet_double: + out_input += (x,) * repeat + else: + out_input = (controlnet_double * repeat) + + out = {"input": out_input[:self.main_model_double]} + if len(controlnet_single) > 0: + repeat = math.ceil(self.main_model_single / len(controlnet_single)) + out_output = () + if self.latent_input: + for x in controlnet_single: + out_output += (x,) * repeat + else: + out_output = (controlnet_single * repeat) + out["output"] = out_output[:self.main_model_single] + return out + + def forward(self, x, timesteps, context, y, guidance=None, hint=None, **kwargs): + patch_size = 2 + if self.latent_input: + hint = comfy.ldm.common_dit.pad_to_patch_size(hint, (patch_size, patch_size)) + elif self.mistoline: + hint = hint * 2.0 - 1.0 + hint = self.input_cond_block(hint) + else: + hint = hint * 2.0 - 1.0 + hint = self.input_hint_block(hint) + + hint = rearrange(hint, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=patch_size, pw=patch_size) + + bs, c, h, w = x.shape + x = comfy.ldm.common_dit.pad_to_patch_size(x, (patch_size, patch_size)) + + img = rearrange(x, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=patch_size, pw=patch_size) + + h_len = ((h + (patch_size // 2)) // patch_size) + w_len = ((w + (patch_size // 2)) // patch_size) + img_ids = torch.zeros((h_len, w_len, 3), device=x.device, dtype=x.dtype) + img_ids[..., 1] = img_ids[..., 1] + torch.linspace(0, h_len - 1, steps=h_len, device=x.device, dtype=x.dtype)[:, None] + img_ids[..., 2] = img_ids[..., 2] + torch.linspace(0, w_len - 1, steps=w_len, device=x.device, dtype=x.dtype)[None, :] + img_ids = repeat(img_ids, "h w c -> b (h w) c", b=bs) + + txt_ids = torch.zeros((bs, context.shape[1], 3), device=x.device, dtype=x.dtype) + return self.forward_orig(img, img_ids, hint, context, txt_ids, timesteps, y, guidance, control_type=kwargs.get("control_type", [])) diff --git a/comfy/ldm/flux/layers.py b/comfy/ldm/flux/layers.py new file mode 100644 index 0000000000000000000000000000000000000000..8e055151ff1e564e5cca469305f2e476ed1afd31 --- /dev/null +++ b/comfy/ldm/flux/layers.py @@ -0,0 +1,260 @@ +import math +from dataclasses import dataclass + +import torch +from torch import Tensor, nn + +from .math import attention, rope +import comfy.ops +import comfy.ldm.common_dit + + +class EmbedND(nn.Module): + def __init__(self, dim: int, theta: int, axes_dim: list): + super().__init__() + self.dim = dim + self.theta = theta + self.axes_dim = axes_dim + + def forward(self, ids: Tensor) -> Tensor: + n_axes = ids.shape[-1] + emb = torch.cat( + [rope(ids[..., i], self.axes_dim[i], self.theta) for i in range(n_axes)], + dim=-3, + ) + + return emb.unsqueeze(1) + + +def timestep_embedding(t: Tensor, dim, max_period=10000, time_factor: float = 1000.0): + """ + Create sinusoidal timestep embeddings. + :param t: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an (N, D) Tensor of positional embeddings. + """ + t = time_factor * t + half = dim // 2 + freqs = torch.exp(-math.log(max_period) * torch.arange(start=0, end=half, dtype=torch.float32, device=t.device) / half) + + args = t[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat([embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + if torch.is_floating_point(t): + embedding = embedding.to(t) + return embedding + +class MLPEmbedder(nn.Module): + def __init__(self, in_dim: int, hidden_dim: int, dtype=None, device=None, operations=None): + super().__init__() + self.in_layer = operations.Linear(in_dim, hidden_dim, bias=True, dtype=dtype, device=device) + self.silu = nn.SiLU() + self.out_layer = operations.Linear(hidden_dim, hidden_dim, bias=True, dtype=dtype, device=device) + + def forward(self, x: Tensor) -> Tensor: + return self.out_layer(self.silu(self.in_layer(x))) + + +class RMSNorm(torch.nn.Module): + def __init__(self, dim: int, dtype=None, device=None, operations=None): + super().__init__() + self.scale = nn.Parameter(torch.empty((dim), dtype=dtype, device=device)) + + def forward(self, x: Tensor): + return comfy.ldm.common_dit.rms_norm(x, self.scale, 1e-6) + + +class QKNorm(torch.nn.Module): + def __init__(self, dim: int, dtype=None, device=None, operations=None): + super().__init__() + self.query_norm = RMSNorm(dim, dtype=dtype, device=device, operations=operations) + self.key_norm = RMSNorm(dim, dtype=dtype, device=device, operations=operations) + + def forward(self, q: Tensor, k: Tensor, v: Tensor) -> tuple: + q = self.query_norm(q) + k = self.key_norm(k) + return q.to(v), k.to(v) + + +class SelfAttention(nn.Module): + def __init__(self, dim: int, num_heads: int = 8, qkv_bias: bool = False, dtype=None, device=None, operations=None): + super().__init__() + self.num_heads = num_heads + head_dim = dim // num_heads + + self.qkv = operations.Linear(dim, dim * 3, bias=qkv_bias, dtype=dtype, device=device) + self.norm = QKNorm(head_dim, dtype=dtype, device=device, operations=operations) + self.proj = operations.Linear(dim, dim, dtype=dtype, device=device) + + +@dataclass +class ModulationOut: + shift: Tensor + scale: Tensor + gate: Tensor + + +class Modulation(nn.Module): + def __init__(self, dim: int, double: bool, dtype=None, device=None, operations=None): + super().__init__() + self.is_double = double + self.multiplier = 6 if double else 3 + self.lin = operations.Linear(dim, self.multiplier * dim, bias=True, dtype=dtype, device=device) + + def forward(self, vec: Tensor) -> tuple: + out = self.lin(nn.functional.silu(vec))[:, None, :].chunk(self.multiplier, dim=-1) + + return ( + ModulationOut(*out[:3]), + ModulationOut(*out[3:]) if self.is_double else None, + ) + + +class DoubleStreamBlock(nn.Module): + def __init__(self, hidden_size: int, num_heads: int, mlp_ratio: float, qkv_bias: bool = False, flipped_img_txt=False, dtype=None, device=None, operations=None): + super().__init__() + + mlp_hidden_dim = int(hidden_size * mlp_ratio) + self.num_heads = num_heads + self.hidden_size = hidden_size + self.img_mod = Modulation(hidden_size, double=True, dtype=dtype, device=device, operations=operations) + self.img_norm1 = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.img_attn = SelfAttention(dim=hidden_size, num_heads=num_heads, qkv_bias=qkv_bias, dtype=dtype, device=device, operations=operations) + + self.img_norm2 = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.img_mlp = nn.Sequential( + operations.Linear(hidden_size, mlp_hidden_dim, bias=True, dtype=dtype, device=device), + nn.GELU(approximate="tanh"), + operations.Linear(mlp_hidden_dim, hidden_size, bias=True, dtype=dtype, device=device), + ) + + self.txt_mod = Modulation(hidden_size, double=True, dtype=dtype, device=device, operations=operations) + self.txt_norm1 = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.txt_attn = SelfAttention(dim=hidden_size, num_heads=num_heads, qkv_bias=qkv_bias, dtype=dtype, device=device, operations=operations) + + self.txt_norm2 = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.txt_mlp = nn.Sequential( + operations.Linear(hidden_size, mlp_hidden_dim, bias=True, dtype=dtype, device=device), + nn.GELU(approximate="tanh"), + operations.Linear(mlp_hidden_dim, hidden_size, bias=True, dtype=dtype, device=device), + ) + self.flipped_img_txt = flipped_img_txt + + def forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor, attn_mask=None): + img_mod1, img_mod2 = self.img_mod(vec) + txt_mod1, txt_mod2 = self.txt_mod(vec) + + # prepare image for attention + img_modulated = self.img_norm1(img) + img_modulated = (1 + img_mod1.scale) * img_modulated + img_mod1.shift + img_qkv = self.img_attn.qkv(img_modulated) + img_q, img_k, img_v = img_qkv.view(img_qkv.shape[0], img_qkv.shape[1], 3, self.num_heads, -1).permute(2, 0, 3, 1, 4) + img_q, img_k = self.img_attn.norm(img_q, img_k, img_v) + + # prepare txt for attention + txt_modulated = self.txt_norm1(txt) + txt_modulated = (1 + txt_mod1.scale) * txt_modulated + txt_mod1.shift + txt_qkv = self.txt_attn.qkv(txt_modulated) + txt_q, txt_k, txt_v = txt_qkv.view(txt_qkv.shape[0], txt_qkv.shape[1], 3, self.num_heads, -1).permute(2, 0, 3, 1, 4) + txt_q, txt_k = self.txt_attn.norm(txt_q, txt_k, txt_v) + + if self.flipped_img_txt: + # run actual attention + attn = attention(torch.cat((img_q, txt_q), dim=2), + torch.cat((img_k, txt_k), dim=2), + torch.cat((img_v, txt_v), dim=2), + pe=pe, mask=attn_mask) + + img_attn, txt_attn = attn[:, : img.shape[1]], attn[:, img.shape[1]:] + else: + # run actual attention + attn = attention(torch.cat((txt_q, img_q), dim=2), + torch.cat((txt_k, img_k), dim=2), + torch.cat((txt_v, img_v), dim=2), + pe=pe, mask=attn_mask) + + txt_attn, img_attn = attn[:, : txt.shape[1]], attn[:, txt.shape[1]:] + + # calculate the img bloks + img = img + img_mod1.gate * self.img_attn.proj(img_attn) + img = img + img_mod2.gate * self.img_mlp((1 + img_mod2.scale) * self.img_norm2(img) + img_mod2.shift) + + # calculate the txt bloks + txt += txt_mod1.gate * self.txt_attn.proj(txt_attn) + txt += txt_mod2.gate * self.txt_mlp((1 + txt_mod2.scale) * self.txt_norm2(txt) + txt_mod2.shift) + + if txt.dtype == torch.float16: + txt = torch.nan_to_num(txt, nan=0.0, posinf=65504, neginf=-65504) + + return img, txt + + +class SingleStreamBlock(nn.Module): + """ + A DiT block with parallel linear layers as described in + https://arxiv.org/abs/2302.05442 and adapted modulation interface. + """ + + def __init__( + self, + hidden_size: int, + num_heads: int, + mlp_ratio: float = 4.0, + qk_scale: float = None, + dtype=None, + device=None, + operations=None + ): + super().__init__() + self.hidden_dim = hidden_size + self.num_heads = num_heads + head_dim = hidden_size // num_heads + self.scale = qk_scale or head_dim**-0.5 + + self.mlp_hidden_dim = int(hidden_size * mlp_ratio) + # qkv and mlp_in + self.linear1 = operations.Linear(hidden_size, hidden_size * 3 + self.mlp_hidden_dim, dtype=dtype, device=device) + # proj and mlp_out + self.linear2 = operations.Linear(hidden_size + self.mlp_hidden_dim, hidden_size, dtype=dtype, device=device) + + self.norm = QKNorm(head_dim, dtype=dtype, device=device, operations=operations) + + self.hidden_size = hidden_size + self.pre_norm = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + + self.mlp_act = nn.GELU(approximate="tanh") + self.modulation = Modulation(hidden_size, double=False, dtype=dtype, device=device, operations=operations) + + def forward(self, x: Tensor, vec: Tensor, pe: Tensor, attn_mask=None) -> Tensor: + mod, _ = self.modulation(vec) + x_mod = (1 + mod.scale) * self.pre_norm(x) + mod.shift + qkv, mlp = torch.split(self.linear1(x_mod), [3 * self.hidden_size, self.mlp_hidden_dim], dim=-1) + + q, k, v = qkv.view(qkv.shape[0], qkv.shape[1], 3, self.num_heads, -1).permute(2, 0, 3, 1, 4) + q, k = self.norm(q, k, v) + + # compute attention + attn = attention(q, k, v, pe=pe, mask=attn_mask) + # compute activation in mlp stream, cat again and run second linear layer + output = self.linear2(torch.cat((attn, self.mlp_act(mlp)), 2)) + x += mod.gate * output + if x.dtype == torch.float16: + x = torch.nan_to_num(x, nan=0.0, posinf=65504, neginf=-65504) + return x + + +class LastLayer(nn.Module): + def __init__(self, hidden_size: int, patch_size: int, out_channels: int, dtype=None, device=None, operations=None): + super().__init__() + self.norm_final = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.linear = operations.Linear(hidden_size, patch_size * patch_size * out_channels, bias=True, dtype=dtype, device=device) + self.adaLN_modulation = nn.Sequential(nn.SiLU(), operations.Linear(hidden_size, 2 * hidden_size, bias=True, dtype=dtype, device=device)) + + def forward(self, x: Tensor, vec: Tensor) -> Tensor: + shift, scale = self.adaLN_modulation(vec).chunk(2, dim=1) + x = (1 + scale[:, None, :]) * self.norm_final(x) + shift[:, None, :] + x = self.linear(x) + return x diff --git a/comfy/ldm/flux/math.py b/comfy/ldm/flux/math.py new file mode 100644 index 0000000000000000000000000000000000000000..b6549585a2ecb91b238f9e23156327f0d7516289 --- /dev/null +++ b/comfy/ldm/flux/math.py @@ -0,0 +1,37 @@ +import torch +from einops import rearrange +from torch import Tensor + +from comfy.ldm.modules.attention import optimized_attention +import comfy.model_management + +def attention(q: Tensor, k: Tensor, v: Tensor, pe: Tensor, mask=None) -> Tensor: + q, k = apply_rope(q, k, pe) + + heads = q.shape[1] + x = optimized_attention(q, k, v, heads, skip_reshape=True, mask=mask) + return x + + +def rope(pos: Tensor, dim: int, theta: int) -> Tensor: + assert dim % 2 == 0 + if comfy.model_management.is_device_mps(pos.device) or comfy.model_management.is_intel_xpu(): + device = torch.device("cpu") + else: + device = pos.device + + scale = torch.linspace(0, (dim - 2) / dim, steps=dim//2, dtype=torch.float64, device=device) + omega = 1.0 / (theta**scale) + out = torch.einsum("...n,d->...nd", pos.to(dtype=torch.float32, device=device), omega) + out = torch.stack([torch.cos(out), -torch.sin(out), torch.sin(out), torch.cos(out)], dim=-1) + out = rearrange(out, "b n d (i j) -> b n d i j", i=2, j=2) + return out.to(dtype=torch.float32, device=pos.device) + + +def apply_rope(xq: Tensor, xk: Tensor, freqs_cis: Tensor): + xq_ = xq.float().reshape(*xq.shape[:-1], -1, 1, 2) + xk_ = xk.float().reshape(*xk.shape[:-1], -1, 1, 2) + xq_out = freqs_cis[..., 0] * xq_[..., 0] + freqs_cis[..., 1] * xq_[..., 1] + xk_out = freqs_cis[..., 0] * xk_[..., 0] + freqs_cis[..., 1] * xk_[..., 1] + return xq_out.reshape(*xq.shape).type_as(xq), xk_out.reshape(*xk.shape).type_as(xk) + diff --git a/comfy/ldm/flux/model.py b/comfy/ldm/flux/model.py new file mode 100644 index 0000000000000000000000000000000000000000..dead87de8ad932d842c421cd4054c3f1465a58fc --- /dev/null +++ b/comfy/ldm/flux/model.py @@ -0,0 +1,205 @@ +#Original code can be found on: https://github.com/black-forest-labs/flux + +from dataclasses import dataclass + +import torch +from torch import Tensor, nn +from einops import rearrange, repeat +import comfy.ldm.common_dit + +from .layers import ( + DoubleStreamBlock, + EmbedND, + LastLayer, + MLPEmbedder, + SingleStreamBlock, + timestep_embedding, +) + +@dataclass +class FluxParams: + in_channels: int + out_channels: int + vec_in_dim: int + context_in_dim: int + hidden_size: int + mlp_ratio: float + num_heads: int + depth: int + depth_single_blocks: int + axes_dim: list + theta: int + patch_size: int + qkv_bias: bool + guidance_embed: bool + + +class Flux(nn.Module): + """ + Transformer model for flow matching on sequences. + """ + + def __init__(self, image_model=None, final_layer=True, dtype=None, device=None, operations=None, **kwargs): + super().__init__() + self.dtype = dtype + params = FluxParams(**kwargs) + self.params = params + self.patch_size = params.patch_size + self.in_channels = params.in_channels * params.patch_size * params.patch_size + self.out_channels = params.out_channels * params.patch_size * params.patch_size + if params.hidden_size % params.num_heads != 0: + raise ValueError( + f"Hidden size {params.hidden_size} must be divisible by num_heads {params.num_heads}" + ) + pe_dim = params.hidden_size // params.num_heads + if sum(params.axes_dim) != pe_dim: + raise ValueError(f"Got {params.axes_dim} but expected positional dim {pe_dim}") + self.hidden_size = params.hidden_size + self.num_heads = params.num_heads + self.pe_embedder = EmbedND(dim=pe_dim, theta=params.theta, axes_dim=params.axes_dim) + self.img_in = operations.Linear(self.in_channels, self.hidden_size, bias=True, dtype=dtype, device=device) + self.time_in = MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size, dtype=dtype, device=device, operations=operations) + self.vector_in = MLPEmbedder(params.vec_in_dim, self.hidden_size, dtype=dtype, device=device, operations=operations) + self.guidance_in = ( + MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size, dtype=dtype, device=device, operations=operations) if params.guidance_embed else nn.Identity() + ) + self.txt_in = operations.Linear(params.context_in_dim, self.hidden_size, dtype=dtype, device=device) + + self.double_blocks = nn.ModuleList( + [ + DoubleStreamBlock( + self.hidden_size, + self.num_heads, + mlp_ratio=params.mlp_ratio, + qkv_bias=params.qkv_bias, + dtype=dtype, device=device, operations=operations + ) + for _ in range(params.depth) + ] + ) + + self.single_blocks = nn.ModuleList( + [ + SingleStreamBlock(self.hidden_size, self.num_heads, mlp_ratio=params.mlp_ratio, dtype=dtype, device=device, operations=operations) + for _ in range(params.depth_single_blocks) + ] + ) + + if final_layer: + self.final_layer = LastLayer(self.hidden_size, 1, self.out_channels, dtype=dtype, device=device, operations=operations) + + def forward_orig( + self, + img: Tensor, + img_ids: Tensor, + txt: Tensor, + txt_ids: Tensor, + timesteps: Tensor, + y: Tensor, + guidance: Tensor = None, + control = None, + transformer_options={}, + attn_mask: Tensor = None, + ) -> Tensor: + patches_replace = transformer_options.get("patches_replace", {}) + if img.ndim != 3 or txt.ndim != 3: + raise ValueError("Input img and txt tensors must have 3 dimensions.") + + # running on sequences img + img = self.img_in(img) + vec = self.time_in(timestep_embedding(timesteps, 256).to(img.dtype)) + if self.params.guidance_embed: + if guidance is None: + raise ValueError("Didn't get guidance strength for guidance distilled model.") + vec = vec + self.guidance_in(timestep_embedding(guidance, 256).to(img.dtype)) + + vec = vec + self.vector_in(y[:,:self.params.vec_in_dim]) + txt = self.txt_in(txt) + + ids = torch.cat((txt_ids, img_ids), dim=1) + pe = self.pe_embedder(ids) + + blocks_replace = patches_replace.get("dit", {}) + for i, block in enumerate(self.double_blocks): + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"], out["txt"] = block(img=args["img"], + txt=args["txt"], + vec=args["vec"], + pe=args["pe"], + attn_mask=args.get("attn_mask")) + return out + + out = blocks_replace[("double_block", i)]({"img": img, + "txt": txt, + "vec": vec, + "pe": pe, + "attn_mask": attn_mask}, + {"original_block": block_wrap}) + txt = out["txt"] + img = out["img"] + else: + img, txt = block(img=img, + txt=txt, + vec=vec, + pe=pe, + attn_mask=attn_mask) + + if control is not None: # Controlnet + control_i = control.get("input") + if i < len(control_i): + add = control_i[i] + if add is not None: + img += add + + img = torch.cat((txt, img), 1) + + for i, block in enumerate(self.single_blocks): + if ("single_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"] = block(args["img"], + vec=args["vec"], + pe=args["pe"], + attn_mask=args.get("attn_mask")) + return out + + out = blocks_replace[("single_block", i)]({"img": img, + "vec": vec, + "pe": pe, + "attn_mask": attn_mask}, + {"original_block": block_wrap}) + img = out["img"] + else: + img = block(img, vec=vec, pe=pe, attn_mask=attn_mask) + + if control is not None: # Controlnet + control_o = control.get("output") + if i < len(control_o): + add = control_o[i] + if add is not None: + img[:, txt.shape[1] :, ...] += add + + img = img[:, txt.shape[1] :, ...] + + img = self.final_layer(img, vec) # (N, T, patch_size ** 2 * out_channels) + return img + + def forward(self, x, timestep, context, y, guidance, control=None, transformer_options={}, **kwargs): + bs, c, h, w = x.shape + patch_size = self.patch_size + x = comfy.ldm.common_dit.pad_to_patch_size(x, (patch_size, patch_size)) + + img = rearrange(x, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=patch_size, pw=patch_size) + + h_len = ((h + (patch_size // 2)) // patch_size) + w_len = ((w + (patch_size // 2)) // patch_size) + img_ids = torch.zeros((h_len, w_len, 3), device=x.device, dtype=x.dtype) + img_ids[:, :, 1] = img_ids[:, :, 1] + torch.linspace(0, h_len - 1, steps=h_len, device=x.device, dtype=x.dtype).unsqueeze(1) + img_ids[:, :, 2] = img_ids[:, :, 2] + torch.linspace(0, w_len - 1, steps=w_len, device=x.device, dtype=x.dtype).unsqueeze(0) + img_ids = repeat(img_ids, "h w c -> b (h w) c", b=bs) + + txt_ids = torch.zeros((bs, context.shape[1], 3), device=x.device, dtype=x.dtype) + out = self.forward_orig(img, img_ids, context, txt_ids, timestep, y, guidance, control, transformer_options, attn_mask=kwargs.get("attention_mask", None)) + return rearrange(out, "b (h w) (c ph pw) -> b c (h ph) (w pw)", h=h_len, w=w_len, ph=2, pw=2)[:,:,:h,:w] diff --git a/comfy/ldm/flux/redux.py b/comfy/ldm/flux/redux.py new file mode 100644 index 0000000000000000000000000000000000000000..527e83164ea2fd1bdf7431f3791ebede00895051 --- /dev/null +++ b/comfy/ldm/flux/redux.py @@ -0,0 +1,25 @@ +import torch +import comfy.ops + +ops = comfy.ops.manual_cast + +class ReduxImageEncoder(torch.nn.Module): + def __init__( + self, + redux_dim: int = 1152, + txt_in_features: int = 4096, + device=None, + dtype=None, + ) -> None: + super().__init__() + + self.redux_dim = redux_dim + self.device = device + self.dtype = dtype + + self.redux_up = ops.Linear(redux_dim, txt_in_features * 3, dtype=dtype) + self.redux_down = ops.Linear(txt_in_features * 3, txt_in_features, dtype=dtype) + + def forward(self, sigclip_embeds) -> torch.Tensor: + projected_x = self.redux_down(torch.nn.functional.silu(self.redux_up(sigclip_embeds))) + return projected_x diff --git a/comfy/ldm/genmo/joint_model/asymm_models_joint.py b/comfy/ldm/genmo/joint_model/asymm_models_joint.py new file mode 100644 index 0000000000000000000000000000000000000000..2c46c24bf11ba2d09ab2a20d8b92c4862db6a89c --- /dev/null +++ b/comfy/ldm/genmo/joint_model/asymm_models_joint.py @@ -0,0 +1,557 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license +#adapted to ComfyUI + +from typing import Dict, List, Optional, Tuple + +import torch +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange +# from flash_attn import flash_attn_varlen_qkvpacked_func +from comfy.ldm.modules.attention import optimized_attention + +from .layers import ( + FeedForward, + PatchEmbed, + RMSNorm, + TimestepEmbedder, +) + +from .rope_mixed import ( + compute_mixed_rotation, + create_position_matrix, +) +from .temporal_rope import apply_rotary_emb_qk_real +from .utils import ( + AttentionPool, + modulate, +) + +import comfy.ldm.common_dit +import comfy.ops + + +def modulated_rmsnorm(x, scale, eps=1e-6): + # Normalize and modulate + x_normed = comfy.ldm.common_dit.rms_norm(x, eps=eps) + x_modulated = x_normed * (1 + scale.unsqueeze(1)) + + return x_modulated + + +def residual_tanh_gated_rmsnorm(x, x_res, gate, eps=1e-6): + # Apply tanh to gate + tanh_gate = torch.tanh(gate).unsqueeze(1) + + # Normalize and apply gated scaling + x_normed = comfy.ldm.common_dit.rms_norm(x_res, eps=eps) * tanh_gate + + # Apply residual connection + output = x + x_normed + + return output + +class AsymmetricAttention(nn.Module): + def __init__( + self, + dim_x: int, + dim_y: int, + num_heads: int = 8, + qkv_bias: bool = True, + qk_norm: bool = False, + attn_drop: float = 0.0, + update_y: bool = True, + out_bias: bool = True, + attend_to_padding: bool = False, + softmax_scale: Optional[float] = None, + device: Optional[torch.device] = None, + dtype=None, + operations=None, + ): + super().__init__() + self.dim_x = dim_x + self.dim_y = dim_y + self.num_heads = num_heads + self.head_dim = dim_x // num_heads + self.attn_drop = attn_drop + self.update_y = update_y + self.attend_to_padding = attend_to_padding + self.softmax_scale = softmax_scale + if dim_x % num_heads != 0: + raise ValueError( + f"dim_x={dim_x} should be divisible by num_heads={num_heads}" + ) + + # Input layers. + self.qkv_bias = qkv_bias + self.qkv_x = operations.Linear(dim_x, 3 * dim_x, bias=qkv_bias, device=device, dtype=dtype) + # Project text features to match visual features (dim_y -> dim_x) + self.qkv_y = operations.Linear(dim_y, 3 * dim_x, bias=qkv_bias, device=device, dtype=dtype) + + # Query and key normalization for stability. + assert qk_norm + self.q_norm_x = RMSNorm(self.head_dim, device=device, dtype=dtype) + self.k_norm_x = RMSNorm(self.head_dim, device=device, dtype=dtype) + self.q_norm_y = RMSNorm(self.head_dim, device=device, dtype=dtype) + self.k_norm_y = RMSNorm(self.head_dim, device=device, dtype=dtype) + + # Output layers. y features go back down from dim_x -> dim_y. + self.proj_x = operations.Linear(dim_x, dim_x, bias=out_bias, device=device, dtype=dtype) + self.proj_y = ( + operations.Linear(dim_x, dim_y, bias=out_bias, device=device, dtype=dtype) + if update_y + else nn.Identity() + ) + + def forward( + self, + x: torch.Tensor, # (B, N, dim_x) + y: torch.Tensor, # (B, L, dim_y) + scale_x: torch.Tensor, # (B, dim_x), modulation for pre-RMSNorm. + scale_y: torch.Tensor, # (B, dim_y), modulation for pre-RMSNorm. + crop_y, + **rope_rotation, + ) -> Tuple[torch.Tensor, torch.Tensor]: + rope_cos = rope_rotation.get("rope_cos") + rope_sin = rope_rotation.get("rope_sin") + # Pre-norm for visual features + x = modulated_rmsnorm(x, scale_x) # (B, M, dim_x) where M = N / cp_group_size + + # Process visual features + # qkv_x = self.qkv_x(x) # (B, M, 3 * dim_x) + # assert qkv_x.dtype == torch.bfloat16 + # qkv_x = all_to_all_collect_tokens( + # qkv_x, self.num_heads + # ) # (3, B, N, local_h, head_dim) + + # Process text features + y = modulated_rmsnorm(y, scale_y) # (B, L, dim_y) + q_y, k_y, v_y = self.qkv_y(y).view(y.shape[0], y.shape[1], 3, self.num_heads, -1).unbind(2) # (B, N, local_h, head_dim) + + q_y = self.q_norm_y(q_y) + k_y = self.k_norm_y(k_y) + + # Split qkv_x into q, k, v + q_x, k_x, v_x = self.qkv_x(x).view(x.shape[0], x.shape[1], 3, self.num_heads, -1).unbind(2) # (B, N, local_h, head_dim) + q_x = self.q_norm_x(q_x) + q_x = apply_rotary_emb_qk_real(q_x, rope_cos, rope_sin) + k_x = self.k_norm_x(k_x) + k_x = apply_rotary_emb_qk_real(k_x, rope_cos, rope_sin) + + q = torch.cat([q_x, q_y[:, :crop_y]], dim=1).transpose(1, 2) + k = torch.cat([k_x, k_y[:, :crop_y]], dim=1).transpose(1, 2) + v = torch.cat([v_x, v_y[:, :crop_y]], dim=1).transpose(1, 2) + + xy = optimized_attention(q, + k, + v, self.num_heads, skip_reshape=True) + + x, y = torch.tensor_split(xy, (q_x.shape[1],), dim=1) + x = self.proj_x(x) + o = torch.zeros(y.shape[0], q_y.shape[1], y.shape[-1], device=y.device, dtype=y.dtype) + o[:, :y.shape[1]] = y + + y = self.proj_y(o) + # print("ox", x) + # print("oy", y) + return x, y + + +class AsymmetricJointBlock(nn.Module): + def __init__( + self, + hidden_size_x: int, + hidden_size_y: int, + num_heads: int, + *, + mlp_ratio_x: float = 8.0, # Ratio of hidden size to d_model for MLP for visual tokens. + mlp_ratio_y: float = 4.0, # Ratio of hidden size to d_model for MLP for text tokens. + update_y: bool = True, # Whether to update text tokens in this block. + device: Optional[torch.device] = None, + dtype=None, + operations=None, + **block_kwargs, + ): + super().__init__() + self.update_y = update_y + self.hidden_size_x = hidden_size_x + self.hidden_size_y = hidden_size_y + self.mod_x = operations.Linear(hidden_size_x, 4 * hidden_size_x, device=device, dtype=dtype) + if self.update_y: + self.mod_y = operations.Linear(hidden_size_x, 4 * hidden_size_y, device=device, dtype=dtype) + else: + self.mod_y = operations.Linear(hidden_size_x, hidden_size_y, device=device, dtype=dtype) + + # Self-attention: + self.attn = AsymmetricAttention( + hidden_size_x, + hidden_size_y, + num_heads=num_heads, + update_y=update_y, + device=device, + dtype=dtype, + operations=operations, + **block_kwargs, + ) + + # MLP. + mlp_hidden_dim_x = int(hidden_size_x * mlp_ratio_x) + assert mlp_hidden_dim_x == int(1536 * 8) + self.mlp_x = FeedForward( + in_features=hidden_size_x, + hidden_size=mlp_hidden_dim_x, + multiple_of=256, + ffn_dim_multiplier=None, + device=device, + dtype=dtype, + operations=operations, + ) + + # MLP for text not needed in last block. + if self.update_y: + mlp_hidden_dim_y = int(hidden_size_y * mlp_ratio_y) + self.mlp_y = FeedForward( + in_features=hidden_size_y, + hidden_size=mlp_hidden_dim_y, + multiple_of=256, + ffn_dim_multiplier=None, + device=device, + dtype=dtype, + operations=operations, + ) + + def forward( + self, + x: torch.Tensor, + c: torch.Tensor, + y: torch.Tensor, + **attn_kwargs, + ): + """Forward pass of a block. + + Args: + x: (B, N, dim) tensor of visual tokens + c: (B, dim) tensor of conditioned features + y: (B, L, dim) tensor of text tokens + num_frames: Number of frames in the video. N = num_frames * num_spatial_tokens + + Returns: + x: (B, N, dim) tensor of visual tokens after block + y: (B, L, dim) tensor of text tokens after block + """ + N = x.size(1) + + c = F.silu(c) + mod_x = self.mod_x(c) + scale_msa_x, gate_msa_x, scale_mlp_x, gate_mlp_x = mod_x.chunk(4, dim=1) + + mod_y = self.mod_y(c) + if self.update_y: + scale_msa_y, gate_msa_y, scale_mlp_y, gate_mlp_y = mod_y.chunk(4, dim=1) + else: + scale_msa_y = mod_y + + # Self-attention block. + x_attn, y_attn = self.attn( + x, + y, + scale_x=scale_msa_x, + scale_y=scale_msa_y, + **attn_kwargs, + ) + + assert x_attn.size(1) == N + x = residual_tanh_gated_rmsnorm(x, x_attn, gate_msa_x) + if self.update_y: + y = residual_tanh_gated_rmsnorm(y, y_attn, gate_msa_y) + + # MLP block. + x = self.ff_block_x(x, scale_mlp_x, gate_mlp_x) + if self.update_y: + y = self.ff_block_y(y, scale_mlp_y, gate_mlp_y) + + return x, y + + def ff_block_x(self, x, scale_x, gate_x): + x_mod = modulated_rmsnorm(x, scale_x) + x_res = self.mlp_x(x_mod) + x = residual_tanh_gated_rmsnorm(x, x_res, gate_x) # Sandwich norm + return x + + def ff_block_y(self, y, scale_y, gate_y): + y_mod = modulated_rmsnorm(y, scale_y) + y_res = self.mlp_y(y_mod) + y = residual_tanh_gated_rmsnorm(y, y_res, gate_y) # Sandwich norm + return y + + +class FinalLayer(nn.Module): + """ + The final layer of DiT. + """ + + def __init__( + self, + hidden_size, + patch_size, + out_channels, + device: Optional[torch.device] = None, + dtype=None, + operations=None, + ): + super().__init__() + self.norm_final = operations.LayerNorm( + hidden_size, elementwise_affine=False, eps=1e-6, device=device, dtype=dtype + ) + self.mod = operations.Linear(hidden_size, 2 * hidden_size, device=device, dtype=dtype) + self.linear = operations.Linear( + hidden_size, patch_size * patch_size * out_channels, device=device, dtype=dtype + ) + + def forward(self, x, c): + c = F.silu(c) + shift, scale = self.mod(c).chunk(2, dim=1) + x = modulate(self.norm_final(x), shift, scale) + x = self.linear(x) + return x + + +class AsymmDiTJoint(nn.Module): + """ + Diffusion model with a Transformer backbone. + + Ingests text embeddings instead of a label. + """ + + def __init__( + self, + *, + patch_size=2, + in_channels=4, + hidden_size_x=1152, + hidden_size_y=1152, + depth=48, + num_heads=16, + mlp_ratio_x=8.0, + mlp_ratio_y=4.0, + use_t5: bool = False, + t5_feat_dim: int = 4096, + t5_token_length: int = 256, + learn_sigma=True, + patch_embed_bias: bool = True, + timestep_mlp_bias: bool = True, + attend_to_padding: bool = False, + timestep_scale: Optional[float] = None, + use_extended_posenc: bool = False, + posenc_preserve_area: bool = False, + rope_theta: float = 10000.0, + image_model=None, + device: Optional[torch.device] = None, + dtype=None, + operations=None, + **block_kwargs, + ): + super().__init__() + + self.dtype = dtype + self.learn_sigma = learn_sigma + self.in_channels = in_channels + self.out_channels = in_channels * 2 if learn_sigma else in_channels + self.patch_size = patch_size + self.num_heads = num_heads + self.hidden_size_x = hidden_size_x + self.hidden_size_y = hidden_size_y + self.head_dim = ( + hidden_size_x // num_heads + ) # Head dimension and count is determined by visual. + self.attend_to_padding = attend_to_padding + self.use_extended_posenc = use_extended_posenc + self.posenc_preserve_area = posenc_preserve_area + self.use_t5 = use_t5 + self.t5_token_length = t5_token_length + self.t5_feat_dim = t5_feat_dim + self.rope_theta = ( + rope_theta # Scaling factor for frequency computation for temporal RoPE. + ) + + self.x_embedder = PatchEmbed( + patch_size=patch_size, + in_chans=in_channels, + embed_dim=hidden_size_x, + bias=patch_embed_bias, + dtype=dtype, + device=device, + operations=operations + ) + # Conditionings + # Timestep + self.t_embedder = TimestepEmbedder( + hidden_size_x, bias=timestep_mlp_bias, timestep_scale=timestep_scale, dtype=dtype, device=device, operations=operations + ) + + if self.use_t5: + # Caption Pooling (T5) + self.t5_y_embedder = AttentionPool( + t5_feat_dim, num_heads=8, output_dim=hidden_size_x, dtype=dtype, device=device, operations=operations + ) + + # Dense Embedding Projection (T5) + self.t5_yproj = operations.Linear( + t5_feat_dim, hidden_size_y, bias=True, dtype=dtype, device=device + ) + + # Initialize pos_frequencies as an empty parameter. + self.pos_frequencies = nn.Parameter( + torch.empty(3, self.num_heads, self.head_dim // 2, dtype=dtype, device=device) + ) + + assert not self.attend_to_padding + + # for depth 48: + # b = 0: AsymmetricJointBlock, update_y=True + # b = 1: AsymmetricJointBlock, update_y=True + # ... + # b = 46: AsymmetricJointBlock, update_y=True + # b = 47: AsymmetricJointBlock, update_y=False. No need to update text features. + blocks = [] + for b in range(depth): + # Joint multi-modal block + update_y = b < depth - 1 + block = AsymmetricJointBlock( + hidden_size_x, + hidden_size_y, + num_heads, + mlp_ratio_x=mlp_ratio_x, + mlp_ratio_y=mlp_ratio_y, + update_y=update_y, + attend_to_padding=attend_to_padding, + device=device, + dtype=dtype, + operations=operations, + **block_kwargs, + ) + + blocks.append(block) + self.blocks = nn.ModuleList(blocks) + + self.final_layer = FinalLayer( + hidden_size_x, patch_size, self.out_channels, dtype=dtype, device=device, operations=operations + ) + + def embed_x(self, x: torch.Tensor) -> torch.Tensor: + """ + Args: + x: (B, C=12, T, H, W) tensor of visual tokens + + Returns: + x: (B, C=3072, N) tensor of visual tokens with positional embedding. + """ + return self.x_embedder(x) # Convert BcTHW to BCN + + def prepare( + self, + x: torch.Tensor, + sigma: torch.Tensor, + t5_feat: torch.Tensor, + t5_mask: torch.Tensor, + ): + """Prepare input and conditioning embeddings.""" + # Visual patch embeddings with positional encoding. + T, H, W = x.shape[-3:] + pH, pW = H // self.patch_size, W // self.patch_size + x = self.embed_x(x) # (B, N, D), where N = T * H * W / patch_size ** 2 + assert x.ndim == 3 + + pH, pW = H // self.patch_size, W // self.patch_size + N = T * pH * pW + assert x.size(1) == N + pos = create_position_matrix( + T, pH=pH, pW=pW, device=x.device, dtype=torch.float32 + ) # (N, 3) + rope_cos, rope_sin = compute_mixed_rotation( + freqs=comfy.ops.cast_to(self.pos_frequencies, dtype=x.dtype, device=x.device), pos=pos + ) # Each are (N, num_heads, dim // 2) + + c_t = self.t_embedder(1 - sigma, out_dtype=x.dtype) # (B, D) + + t5_y_pool = self.t5_y_embedder(t5_feat, t5_mask) # (B, D) + + c = c_t + t5_y_pool + + y_feat = self.t5_yproj(t5_feat) # (B, L, t5_feat_dim) --> (B, L, D) + + return x, c, y_feat, rope_cos, rope_sin + + def forward( + self, + x: torch.Tensor, + timestep: torch.Tensor, + context: List[torch.Tensor], + attention_mask: List[torch.Tensor], + num_tokens=256, + packed_indices: Dict[str, torch.Tensor] = None, + rope_cos: torch.Tensor = None, + rope_sin: torch.Tensor = None, + control=None, transformer_options={}, **kwargs + ): + patches_replace = transformer_options.get("patches_replace", {}) + y_feat = context + y_mask = attention_mask + sigma = timestep + """Forward pass of DiT. + + Args: + x: (B, C, T, H, W) tensor of spatial inputs (images or latent representations of images) + sigma: (B,) tensor of noise standard deviations + y_feat: List((B, L, y_feat_dim) tensor of caption token features. For SDXL text encoders: L=77, y_feat_dim=2048) + y_mask: List((B, L) boolean tensor indicating which tokens are not padding) + packed_indices: Dict with keys for Flash Attention. Result of compute_packed_indices. + """ + B, _, T, H, W = x.shape + + x, c, y_feat, rope_cos, rope_sin = self.prepare( + x, sigma, y_feat, y_mask + ) + del y_mask + + blocks_replace = patches_replace.get("dit", {}) + for i, block in enumerate(self.blocks): + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"], out["txt"] = block( + args["img"], + args["vec"], + args["txt"], + rope_cos=args["rope_cos"], + rope_sin=args["rope_sin"], + crop_y=args["num_tokens"] + ) + return out + out = blocks_replace[("double_block", i)]({"img": x, "txt": y_feat, "vec": c, "rope_cos": rope_cos, "rope_sin": rope_sin, "num_tokens": num_tokens}, {"original_block": block_wrap}) + y_feat = out["txt"] + x = out["img"] + else: + x, y_feat = block( + x, + c, + y_feat, + rope_cos=rope_cos, + rope_sin=rope_sin, + crop_y=num_tokens, + ) # (B, M, D), (B, L, D) + del y_feat # Final layers don't use dense text features. + + x = self.final_layer(x, c) # (B, M, patch_size ** 2 * out_channels) + x = rearrange( + x, + "B (T hp wp) (p1 p2 c) -> B c T (hp p1) (wp p2)", + T=T, + hp=H // self.patch_size, + wp=W // self.patch_size, + p1=self.patch_size, + p2=self.patch_size, + c=self.out_channels, + ) + + return -x diff --git a/comfy/ldm/genmo/joint_model/layers.py b/comfy/ldm/genmo/joint_model/layers.py new file mode 100644 index 0000000000000000000000000000000000000000..51d979559ed574ca97bd4c86d52576ea9bd33826 --- /dev/null +++ b/comfy/ldm/genmo/joint_model/layers.py @@ -0,0 +1,164 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license +#adapted to ComfyUI + +import collections.abc +import math +from itertools import repeat +from typing import Callable, Optional + +import torch +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange +import comfy.ldm.common_dit + + +# From PyTorch internals +def _ntuple(n): + def parse(x): + if isinstance(x, collections.abc.Iterable) and not isinstance(x, str): + return tuple(x) + return tuple(repeat(x, n)) + + return parse + + +to_2tuple = _ntuple(2) + + +class TimestepEmbedder(nn.Module): + def __init__( + self, + hidden_size: int, + frequency_embedding_size: int = 256, + *, + bias: bool = True, + timestep_scale: Optional[float] = None, + dtype=None, + device=None, + operations=None, + ): + super().__init__() + self.mlp = nn.Sequential( + operations.Linear(frequency_embedding_size, hidden_size, bias=bias, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(hidden_size, hidden_size, bias=bias, dtype=dtype, device=device), + ) + self.frequency_embedding_size = frequency_embedding_size + self.timestep_scale = timestep_scale + + @staticmethod + def timestep_embedding(t, dim, max_period=10000): + half = dim // 2 + freqs = torch.arange(start=0, end=half, dtype=torch.float32, device=t.device) + freqs.mul_(-math.log(max_period) / half).exp_() + args = t[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1 + ) + return embedding + + def forward(self, t, out_dtype): + if self.timestep_scale is not None: + t = t * self.timestep_scale + t_freq = self.timestep_embedding(t, self.frequency_embedding_size).to(dtype=out_dtype) + t_emb = self.mlp(t_freq) + return t_emb + + +class FeedForward(nn.Module): + def __init__( + self, + in_features: int, + hidden_size: int, + multiple_of: int, + ffn_dim_multiplier: Optional[float], + device: Optional[torch.device] = None, + dtype=None, + operations=None, + ): + super().__init__() + # keep parameter count and computation constant compared to standard FFN + hidden_size = int(2 * hidden_size / 3) + # custom dim factor multiplier + if ffn_dim_multiplier is not None: + hidden_size = int(ffn_dim_multiplier * hidden_size) + hidden_size = multiple_of * ((hidden_size + multiple_of - 1) // multiple_of) + + self.hidden_dim = hidden_size + self.w1 = operations.Linear(in_features, 2 * hidden_size, bias=False, device=device, dtype=dtype) + self.w2 = operations.Linear(hidden_size, in_features, bias=False, device=device, dtype=dtype) + + def forward(self, x): + x, gate = self.w1(x).chunk(2, dim=-1) + x = self.w2(F.silu(x) * gate) + return x + + +class PatchEmbed(nn.Module): + def __init__( + self, + patch_size: int = 16, + in_chans: int = 3, + embed_dim: int = 768, + norm_layer: Optional[Callable] = None, + flatten: bool = True, + bias: bool = True, + dynamic_img_pad: bool = False, + dtype=None, + device=None, + operations=None, + ): + super().__init__() + self.patch_size = to_2tuple(patch_size) + self.flatten = flatten + self.dynamic_img_pad = dynamic_img_pad + + self.proj = operations.Conv2d( + in_chans, + embed_dim, + kernel_size=patch_size, + stride=patch_size, + bias=bias, + device=device, + dtype=dtype, + ) + assert norm_layer is None + self.norm = ( + norm_layer(embed_dim, device=device) if norm_layer else nn.Identity() + ) + + def forward(self, x): + B, _C, T, H, W = x.shape + if not self.dynamic_img_pad: + assert H % self.patch_size[0] == 0, f"Input height ({H}) should be divisible by patch size ({self.patch_size[0]})." + assert W % self.patch_size[1] == 0, f"Input width ({W}) should be divisible by patch size ({self.patch_size[1]})." + else: + pad_h = (self.patch_size[0] - H % self.patch_size[0]) % self.patch_size[0] + pad_w = (self.patch_size[1] - W % self.patch_size[1]) % self.patch_size[1] + x = F.pad(x, (0, pad_w, 0, pad_h)) + + x = rearrange(x, "B C T H W -> (B T) C H W", B=B, T=T) + x = comfy.ldm.common_dit.pad_to_patch_size(x, self.patch_size, padding_mode='circular') + x = self.proj(x) + + # Flatten temporal and spatial dimensions. + if not self.flatten: + raise NotImplementedError("Must flatten output.") + x = rearrange(x, "(B T) C H W -> B (T H W) C", B=B, T=T) + + x = self.norm(x) + return x + + +class RMSNorm(torch.nn.Module): + def __init__(self, hidden_size, eps=1e-5, device=None, dtype=None): + super().__init__() + self.eps = eps + self.weight = torch.nn.Parameter(torch.empty(hidden_size, device=device, dtype=dtype)) + self.register_parameter("bias", None) + + def forward(self, x): + return comfy.ldm.common_dit.rms_norm(x, self.weight, self.eps) diff --git a/comfy/ldm/genmo/joint_model/rope_mixed.py b/comfy/ldm/genmo/joint_model/rope_mixed.py new file mode 100644 index 0000000000000000000000000000000000000000..dee3fa21f5318a610321fc9372553d618462f773 --- /dev/null +++ b/comfy/ldm/genmo/joint_model/rope_mixed.py @@ -0,0 +1,88 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license + +# import functools +import math + +import torch + + +def centers(start: float, stop, num, dtype=None, device=None): + """linspace through bin centers. + + Args: + start (float): Start of the range. + stop (float): End of the range. + num (int): Number of points. + dtype (torch.dtype): Data type of the points. + device (torch.device): Device of the points. + + Returns: + centers (Tensor): Centers of the bins. Shape: (num,). + """ + edges = torch.linspace(start, stop, num + 1, dtype=dtype, device=device) + return (edges[:-1] + edges[1:]) / 2 + + +# @functools.lru_cache(maxsize=1) +def create_position_matrix( + T: int, + pH: int, + pW: int, + device: torch.device, + dtype: torch.dtype, + *, + target_area: float = 36864, +): + """ + Args: + T: int - Temporal dimension + pH: int - Height dimension after patchify + pW: int - Width dimension after patchify + + Returns: + pos: [T * pH * pW, 3] - position matrix + """ + # Create 1D tensors for each dimension + t = torch.arange(T, dtype=dtype) + + # Positionally interpolate to area 36864. + # (3072x3072 frame with 16x16 patches = 192x192 latents). + # This automatically scales rope positions when the resolution changes. + # We use a large target area so the model is more sensitive + # to changes in the learned pos_frequencies matrix. + scale = math.sqrt(target_area / (pW * pH)) + w = centers(-pW * scale / 2, pW * scale / 2, pW) + h = centers(-pH * scale / 2, pH * scale / 2, pH) + + # Use meshgrid to create 3D grids + grid_t, grid_h, grid_w = torch.meshgrid(t, h, w, indexing="ij") + + # Stack and reshape the grids. + pos = torch.stack([grid_t, grid_h, grid_w], dim=-1) # [T, pH, pW, 3] + pos = pos.view(-1, 3) # [T * pH * pW, 3] + pos = pos.to(dtype=dtype, device=device) + + return pos + + +def compute_mixed_rotation( + freqs: torch.Tensor, + pos: torch.Tensor, +): + """ + Project each 3-dim position into per-head, per-head-dim 1D frequencies. + + Args: + freqs: [3, num_heads, num_freqs] - learned rotation frequency (for t, row, col) for each head position + pos: [N, 3] - position of each token + num_heads: int + + Returns: + freqs_cos: [N, num_heads, num_freqs] - cosine components + freqs_sin: [N, num_heads, num_freqs] - sine components + """ + assert freqs.ndim == 3 + freqs_sum = torch.einsum("Nd,dhf->Nhf", pos.to(freqs), freqs) + freqs_cos = torch.cos(freqs_sum) + freqs_sin = torch.sin(freqs_sum) + return freqs_cos, freqs_sin diff --git a/comfy/ldm/genmo/joint_model/temporal_rope.py b/comfy/ldm/genmo/joint_model/temporal_rope.py new file mode 100644 index 0000000000000000000000000000000000000000..88f5d6d26151db0c8ad0a89fcf748c45d4b89bc0 --- /dev/null +++ b/comfy/ldm/genmo/joint_model/temporal_rope.py @@ -0,0 +1,34 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license + +# Based on Llama3 Implementation. +import torch + + +def apply_rotary_emb_qk_real( + xqk: torch.Tensor, + freqs_cos: torch.Tensor, + freqs_sin: torch.Tensor, +) -> torch.Tensor: + """ + Apply rotary embeddings to input tensors using the given frequency tensor without complex numbers. + + Args: + xqk (torch.Tensor): Query and/or Key tensors to apply rotary embeddings. Shape: (B, S, *, num_heads, D) + Can be either just query or just key, or both stacked along some batch or * dim. + freqs_cos (torch.Tensor): Precomputed cosine frequency tensor. + freqs_sin (torch.Tensor): Precomputed sine frequency tensor. + + Returns: + torch.Tensor: The input tensor with rotary embeddings applied. + """ + # Split the last dimension into even and odd parts + xqk_even = xqk[..., 0::2] + xqk_odd = xqk[..., 1::2] + + # Apply rotation + cos_part = (xqk_even * freqs_cos - xqk_odd * freqs_sin).type_as(xqk) + sin_part = (xqk_even * freqs_sin + xqk_odd * freqs_cos).type_as(xqk) + + # Interleave the results back into the original shape + out = torch.stack([cos_part, sin_part], dim=-1).flatten(-2) + return out diff --git a/comfy/ldm/genmo/joint_model/utils.py b/comfy/ldm/genmo/joint_model/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..1b399d5d2128b7f5c7be141c3d8e7047df93b273 --- /dev/null +++ b/comfy/ldm/genmo/joint_model/utils.py @@ -0,0 +1,102 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license +#adapted to ComfyUI + +from typing import Optional + +import torch +import torch.nn as nn +import torch.nn.functional as F + + +def modulate(x, shift, scale): + return x * (1 + scale.unsqueeze(1)) + shift.unsqueeze(1) + + +def pool_tokens(x: torch.Tensor, mask: torch.Tensor, *, keepdim=False) -> torch.Tensor: + """ + Pool tokens in x using mask. + + NOTE: We assume x does not require gradients. + + Args: + x: (B, L, D) tensor of tokens. + mask: (B, L) boolean tensor indicating which tokens are not padding. + + Returns: + pooled: (B, D) tensor of pooled tokens. + """ + assert x.size(1) == mask.size(1) # Expected mask to have same length as tokens. + assert x.size(0) == mask.size(0) # Expected mask to have same batch size as tokens. + mask = mask[:, :, None].to(dtype=x.dtype) + mask = mask / mask.sum(dim=1, keepdim=True).clamp(min=1) + pooled = (x * mask).sum(dim=1, keepdim=keepdim) + return pooled + + +class AttentionPool(nn.Module): + def __init__( + self, + embed_dim: int, + num_heads: int, + output_dim: int = None, + device: Optional[torch.device] = None, + dtype=None, + operations=None, + ): + """ + Args: + spatial_dim (int): Number of tokens in sequence length. + embed_dim (int): Dimensionality of input tokens. + num_heads (int): Number of attention heads. + output_dim (int): Dimensionality of output tokens. Defaults to embed_dim. + """ + super().__init__() + self.num_heads = num_heads + self.to_kv = operations.Linear(embed_dim, 2 * embed_dim, device=device, dtype=dtype) + self.to_q = operations.Linear(embed_dim, embed_dim, device=device, dtype=dtype) + self.to_out = operations.Linear(embed_dim, output_dim or embed_dim, device=device, dtype=dtype) + + def forward(self, x, mask): + """ + Args: + x (torch.Tensor): (B, L, D) tensor of input tokens. + mask (torch.Tensor): (B, L) boolean tensor indicating which tokens are not padding. + + NOTE: We assume x does not require gradients. + + Returns: + x (torch.Tensor): (B, D) tensor of pooled tokens. + """ + D = x.size(2) + + # Construct attention mask, shape: (B, 1, num_queries=1, num_keys=1+L). + attn_mask = mask[:, None, None, :].bool() # (B, 1, 1, L). + attn_mask = F.pad(attn_mask, (1, 0), value=True) # (B, 1, 1, 1+L). + + # Average non-padding token features. These will be used as the query. + x_pool = pool_tokens(x, mask, keepdim=True) # (B, 1, D) + + # Concat pooled features to input sequence. + x = torch.cat([x_pool, x], dim=1) # (B, L+1, D) + + # Compute queries, keys, values. Only the mean token is used to create a query. + kv = self.to_kv(x) # (B, L+1, 2 * D) + q = self.to_q(x[:, 0]) # (B, D) + + # Extract heads. + head_dim = D // self.num_heads + kv = kv.unflatten(2, (2, self.num_heads, head_dim)) # (B, 1+L, 2, H, head_dim) + kv = kv.transpose(1, 3) # (B, H, 2, 1+L, head_dim) + k, v = kv.unbind(2) # (B, H, 1+L, head_dim) + q = q.unflatten(1, (self.num_heads, head_dim)) # (B, H, head_dim) + q = q.unsqueeze(2) # (B, H, 1, head_dim) + + # Compute attention. + x = F.scaled_dot_product_attention( + q, k, v, attn_mask=attn_mask, dropout_p=0.0 + ) # (B, H, 1, head_dim) + + # Concatenate heads and run output. + x = x.squeeze(2).flatten(1, 2) # (B, D = H * head_dim) + x = self.to_out(x) + return x diff --git a/comfy/ldm/genmo/vae/model.py b/comfy/ldm/genmo/vae/model.py new file mode 100644 index 0000000000000000000000000000000000000000..1bde0c1ed7372be184e634777b9e27b67692b1f4 --- /dev/null +++ b/comfy/ldm/genmo/vae/model.py @@ -0,0 +1,711 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license +#adapted to ComfyUI + +from typing import List, Optional, Tuple, Union +from functools import partial +import math + +import torch +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange + +from comfy.ldm.modules.attention import optimized_attention + +import comfy.ops +ops = comfy.ops.disable_weight_init + +# import mochi_preview.dit.joint_model.context_parallel as cp +# from mochi_preview.vae.cp_conv import cp_pass_frames, gather_all_frames + + +def cast_tuple(t, length=1): + return t if isinstance(t, tuple) else ((t,) * length) + + +class GroupNormSpatial(ops.GroupNorm): + """ + GroupNorm applied per-frame. + """ + + def forward(self, x: torch.Tensor, *, chunk_size: int = 8): + B, C, T, H, W = x.shape + x = rearrange(x, "B C T H W -> (B T) C H W") + # Run group norm in chunks. + output = torch.empty_like(x) + for b in range(0, B * T, chunk_size): + output[b : b + chunk_size] = super().forward(x[b : b + chunk_size]) + return rearrange(output, "(B T) C H W -> B C T H W", B=B, T=T) + +class PConv3d(ops.Conv3d): + def __init__( + self, + in_channels, + out_channels, + kernel_size: Union[int, Tuple[int, int, int]], + stride: Union[int, Tuple[int, int, int]], + causal: bool = True, + context_parallel: bool = True, + **kwargs, + ): + self.causal = causal + self.context_parallel = context_parallel + kernel_size = cast_tuple(kernel_size, 3) + stride = cast_tuple(stride, 3) + height_pad = (kernel_size[1] - 1) // 2 + width_pad = (kernel_size[2] - 1) // 2 + + super().__init__( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + dilation=(1, 1, 1), + padding=(0, height_pad, width_pad), + **kwargs, + ) + + def forward(self, x: torch.Tensor): + # Compute padding amounts. + context_size = self.kernel_size[0] - 1 + if self.causal: + pad_front = context_size + pad_back = 0 + else: + pad_front = context_size // 2 + pad_back = context_size - pad_front + + # Apply padding. + assert self.padding_mode == "replicate" # DEBUG + mode = "constant" if self.padding_mode == "zeros" else self.padding_mode + x = F.pad(x, (0, 0, 0, 0, pad_front, pad_back), mode=mode) + return super().forward(x) + + +class Conv1x1(ops.Linear): + """*1x1 Conv implemented with a linear layer.""" + + def __init__(self, in_features: int, out_features: int, *args, **kwargs): + super().__init__(in_features, out_features, *args, **kwargs) + + def forward(self, x: torch.Tensor): + """Forward pass. + + Args: + x: Input tensor. Shape: [B, C, *] or [B, *, C]. + + Returns: + x: Output tensor. Shape: [B, C', *] or [B, *, C']. + """ + x = x.movedim(1, -1) + x = super().forward(x) + x = x.movedim(-1, 1) + return x + + +class DepthToSpaceTime(nn.Module): + def __init__( + self, + temporal_expansion: int, + spatial_expansion: int, + ): + super().__init__() + self.temporal_expansion = temporal_expansion + self.spatial_expansion = spatial_expansion + + # When printed, this module should show the temporal and spatial expansion factors. + def extra_repr(self): + return f"texp={self.temporal_expansion}, sexp={self.spatial_expansion}" + + def forward(self, x: torch.Tensor): + """Forward pass. + + Args: + x: Input tensor. Shape: [B, C, T, H, W]. + + Returns: + x: Rearranged tensor. Shape: [B, C/(st*s*s), T*st, H*s, W*s]. + """ + x = rearrange( + x, + "B (C st sh sw) T H W -> B C (T st) (H sh) (W sw)", + st=self.temporal_expansion, + sh=self.spatial_expansion, + sw=self.spatial_expansion, + ) + + # cp_rank, _ = cp.get_cp_rank_size() + if self.temporal_expansion > 1: # and cp_rank == 0: + # Drop the first self.temporal_expansion - 1 frames. + # This is because we always want the 3x3x3 conv filter to only apply + # to the first frame, and the first frame doesn't need to be repeated. + assert all(x.shape) + x = x[:, :, self.temporal_expansion - 1 :] + assert all(x.shape) + + return x + + +def norm_fn( + in_channels: int, + affine: bool = True, +): + return GroupNormSpatial(affine=affine, num_groups=32, num_channels=in_channels) + + +class ResBlock(nn.Module): + """Residual block that preserves the spatial dimensions.""" + + def __init__( + self, + channels: int, + *, + affine: bool = True, + attn_block: Optional[nn.Module] = None, + causal: bool = True, + prune_bottleneck: bool = False, + padding_mode: str, + bias: bool = True, + ): + super().__init__() + self.channels = channels + + assert causal + self.stack = nn.Sequential( + norm_fn(channels, affine=affine), + nn.SiLU(inplace=True), + PConv3d( + in_channels=channels, + out_channels=channels // 2 if prune_bottleneck else channels, + kernel_size=(3, 3, 3), + stride=(1, 1, 1), + padding_mode=padding_mode, + bias=bias, + causal=causal, + ), + norm_fn(channels, affine=affine), + nn.SiLU(inplace=True), + PConv3d( + in_channels=channels // 2 if prune_bottleneck else channels, + out_channels=channels, + kernel_size=(3, 3, 3), + stride=(1, 1, 1), + padding_mode=padding_mode, + bias=bias, + causal=causal, + ), + ) + + self.attn_block = attn_block if attn_block else nn.Identity() + + def forward(self, x: torch.Tensor): + """Forward pass. + + Args: + x: Input tensor. Shape: [B, C, T, H, W]. + """ + residual = x + x = self.stack(x) + x = x + residual + del residual + + return self.attn_block(x) + + +class Attention(nn.Module): + def __init__( + self, + dim: int, + head_dim: int = 32, + qkv_bias: bool = False, + out_bias: bool = True, + qk_norm: bool = True, + ) -> None: + super().__init__() + self.head_dim = head_dim + self.num_heads = dim // head_dim + self.qk_norm = qk_norm + + self.qkv = nn.Linear(dim, 3 * dim, bias=qkv_bias) + self.out = nn.Linear(dim, dim, bias=out_bias) + + def forward( + self, + x: torch.Tensor, + ) -> torch.Tensor: + """Compute temporal self-attention. + + Args: + x: Input tensor. Shape: [B, C, T, H, W]. + chunk_size: Chunk size for large tensors. + + Returns: + x: Output tensor. Shape: [B, C, T, H, W]. + """ + B, _, T, H, W = x.shape + + if T == 1: + # No attention for single frame. + x = x.movedim(1, -1) # [B, C, T, H, W] -> [B, T, H, W, C] + qkv = self.qkv(x) + _, _, x = qkv.chunk(3, dim=-1) # Throw away queries and keys. + x = self.out(x) + return x.movedim(-1, 1) # [B, T, H, W, C] -> [B, C, T, H, W] + + # 1D temporal attention. + x = rearrange(x, "B C t h w -> (B h w) t C") + qkv = self.qkv(x) + + # Input: qkv with shape [B, t, 3 * num_heads * head_dim] + # Output: x with shape [B, num_heads, t, head_dim] + q, k, v = qkv.view(qkv.shape[0], qkv.shape[1], 3, self.num_heads, self.head_dim).transpose(1, 3).unbind(2) + + if self.qk_norm: + q = F.normalize(q, p=2, dim=-1) + k = F.normalize(k, p=2, dim=-1) + + x = optimized_attention(q, k, v, self.num_heads, skip_reshape=True) + + assert x.size(0) == q.size(0) + + x = self.out(x) + x = rearrange(x, "(B h w) t C -> B C t h w", B=B, h=H, w=W) + return x + + +class AttentionBlock(nn.Module): + def __init__( + self, + dim: int, + **attn_kwargs, + ) -> None: + super().__init__() + self.norm = norm_fn(dim) + self.attn = Attention(dim, **attn_kwargs) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + return x + self.attn(self.norm(x)) + + +class CausalUpsampleBlock(nn.Module): + def __init__( + self, + in_channels: int, + out_channels: int, + num_res_blocks: int, + *, + temporal_expansion: int = 2, + spatial_expansion: int = 2, + **block_kwargs, + ): + super().__init__() + + blocks = [] + for _ in range(num_res_blocks): + blocks.append(block_fn(in_channels, **block_kwargs)) + self.blocks = nn.Sequential(*blocks) + + self.temporal_expansion = temporal_expansion + self.spatial_expansion = spatial_expansion + + # Change channels in the final convolution layer. + self.proj = Conv1x1( + in_channels, + out_channels * temporal_expansion * (spatial_expansion**2), + ) + + self.d2st = DepthToSpaceTime( + temporal_expansion=temporal_expansion, spatial_expansion=spatial_expansion + ) + + def forward(self, x): + x = self.blocks(x) + x = self.proj(x) + x = self.d2st(x) + return x + + +def block_fn(channels, *, affine: bool = True, has_attention: bool = False, **block_kwargs): + attn_block = AttentionBlock(channels) if has_attention else None + return ResBlock(channels, affine=affine, attn_block=attn_block, **block_kwargs) + + +class DownsampleBlock(nn.Module): + def __init__( + self, + in_channels: int, + out_channels: int, + num_res_blocks, + *, + temporal_reduction=2, + spatial_reduction=2, + **block_kwargs, + ): + """ + Downsample block for the VAE encoder. + + Args: + in_channels: Number of input channels. + out_channels: Number of output channels. + num_res_blocks: Number of residual blocks. + temporal_reduction: Temporal reduction factor. + spatial_reduction: Spatial reduction factor. + """ + super().__init__() + layers = [] + + # Change the channel count in the strided convolution. + # This lets the ResBlock have uniform channel count, + # as in ConvNeXt. + assert in_channels != out_channels + layers.append( + PConv3d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=(temporal_reduction, spatial_reduction, spatial_reduction), + stride=(temporal_reduction, spatial_reduction, spatial_reduction), + # First layer in each block always uses replicate padding + padding_mode="replicate", + bias=block_kwargs["bias"], + ) + ) + + for _ in range(num_res_blocks): + layers.append(block_fn(out_channels, **block_kwargs)) + + self.layers = nn.Sequential(*layers) + + def forward(self, x): + return self.layers(x) + + +def add_fourier_features(inputs: torch.Tensor, start=6, stop=8, step=1): + num_freqs = (stop - start) // step + assert inputs.ndim == 5 + C = inputs.size(1) + + # Create Base 2 Fourier features. + freqs = torch.arange(start, stop, step, dtype=inputs.dtype, device=inputs.device) + assert num_freqs == len(freqs) + w = torch.pow(2.0, freqs) * (2 * torch.pi) # [num_freqs] + C = inputs.shape[1] + w = w.repeat(C)[None, :, None, None, None] # [1, C * num_freqs, 1, 1, 1] + + # Interleaved repeat of input channels to match w. + h = inputs.repeat_interleave(num_freqs, dim=1) # [B, C * num_freqs, T, H, W] + # Scale channels by frequency. + h = w * h + + return torch.cat( + [ + inputs, + torch.sin(h), + torch.cos(h), + ], + dim=1, + ) + + +class FourierFeatures(nn.Module): + def __init__(self, start: int = 6, stop: int = 8, step: int = 1): + super().__init__() + self.start = start + self.stop = stop + self.step = step + + def forward(self, inputs): + """Add Fourier features to inputs. + + Args: + inputs: Input tensor. Shape: [B, C, T, H, W] + + Returns: + h: Output tensor. Shape: [B, (1 + 2 * num_freqs) * C, T, H, W] + """ + return add_fourier_features(inputs, self.start, self.stop, self.step) + + +class Decoder(nn.Module): + def __init__( + self, + *, + out_channels: int = 3, + latent_dim: int, + base_channels: int, + channel_multipliers: List[int], + num_res_blocks: List[int], + temporal_expansions: Optional[List[int]] = None, + spatial_expansions: Optional[List[int]] = None, + has_attention: List[bool], + output_norm: bool = True, + nonlinearity: str = "silu", + output_nonlinearity: str = "silu", + causal: bool = True, + **block_kwargs, + ): + super().__init__() + self.input_channels = latent_dim + self.base_channels = base_channels + self.channel_multipliers = channel_multipliers + self.num_res_blocks = num_res_blocks + self.output_nonlinearity = output_nonlinearity + assert nonlinearity == "silu" + assert causal + + ch = [mult * base_channels for mult in channel_multipliers] + self.num_up_blocks = len(ch) - 1 + assert len(num_res_blocks) == self.num_up_blocks + 2 + + blocks = [] + + first_block = [ + ops.Conv3d(latent_dim, ch[-1], kernel_size=(1, 1, 1)) + ] # Input layer. + # First set of blocks preserve channel count. + for _ in range(num_res_blocks[-1]): + first_block.append( + block_fn( + ch[-1], + has_attention=has_attention[-1], + causal=causal, + **block_kwargs, + ) + ) + blocks.append(nn.Sequential(*first_block)) + + assert len(temporal_expansions) == len(spatial_expansions) == self.num_up_blocks + assert len(num_res_blocks) == len(has_attention) == self.num_up_blocks + 2 + + upsample_block_fn = CausalUpsampleBlock + + for i in range(self.num_up_blocks): + block = upsample_block_fn( + ch[-i - 1], + ch[-i - 2], + num_res_blocks=num_res_blocks[-i - 2], + has_attention=has_attention[-i - 2], + temporal_expansion=temporal_expansions[-i - 1], + spatial_expansion=spatial_expansions[-i - 1], + causal=causal, + **block_kwargs, + ) + blocks.append(block) + + assert not output_norm + + # Last block. Preserve channel count. + last_block = [] + for _ in range(num_res_blocks[0]): + last_block.append( + block_fn( + ch[0], has_attention=has_attention[0], causal=causal, **block_kwargs + ) + ) + blocks.append(nn.Sequential(*last_block)) + + self.blocks = nn.ModuleList(blocks) + self.output_proj = Conv1x1(ch[0], out_channels) + + def forward(self, x): + """Forward pass. + + Args: + x: Latent tensor. Shape: [B, input_channels, t, h, w]. Scaled [-1, 1]. + + Returns: + x: Reconstructed video tensor. Shape: [B, C, T, H, W]. Scaled to [-1, 1]. + T + 1 = (t - 1) * 4. + H = h * 16, W = w * 16. + """ + for block in self.blocks: + x = block(x) + + if self.output_nonlinearity == "silu": + x = F.silu(x, inplace=not self.training) + else: + assert ( + not self.output_nonlinearity + ) # StyleGAN3 omits the to-RGB nonlinearity. + + return self.output_proj(x).contiguous() + +class LatentDistribution: + def __init__(self, mean: torch.Tensor, logvar: torch.Tensor): + """Initialize latent distribution. + + Args: + mean: Mean of the distribution. Shape: [B, C, T, H, W]. + logvar: Logarithm of variance of the distribution. Shape: [B, C, T, H, W]. + """ + assert mean.shape == logvar.shape + self.mean = mean + self.logvar = logvar + + def sample(self, temperature=1.0, generator: torch.Generator = None, noise=None): + if temperature == 0.0: + return self.mean + + if noise is None: + noise = torch.randn(self.mean.shape, device=self.mean.device, dtype=self.mean.dtype, generator=generator) + else: + assert noise.device == self.mean.device + noise = noise.to(self.mean.dtype) + + if temperature != 1.0: + raise NotImplementedError(f"Temperature {temperature} is not supported.") + + # Just Gaussian sample with no scaling of variance. + return noise * torch.exp(self.logvar * 0.5) + self.mean + + def mode(self): + return self.mean + +class Encoder(nn.Module): + def __init__( + self, + *, + in_channels: int, + base_channels: int, + channel_multipliers: List[int], + num_res_blocks: List[int], + latent_dim: int, + temporal_reductions: List[int], + spatial_reductions: List[int], + prune_bottlenecks: List[bool], + has_attentions: List[bool], + affine: bool = True, + bias: bool = True, + input_is_conv_1x1: bool = False, + padding_mode: str, + ): + super().__init__() + self.temporal_reductions = temporal_reductions + self.spatial_reductions = spatial_reductions + self.base_channels = base_channels + self.channel_multipliers = channel_multipliers + self.num_res_blocks = num_res_blocks + self.latent_dim = latent_dim + + self.fourier_features = FourierFeatures() + ch = [mult * base_channels for mult in channel_multipliers] + num_down_blocks = len(ch) - 1 + assert len(num_res_blocks) == num_down_blocks + 2 + + layers = ( + [ops.Conv3d(in_channels, ch[0], kernel_size=(1, 1, 1), bias=True)] + if not input_is_conv_1x1 + else [Conv1x1(in_channels, ch[0])] + ) + + assert len(prune_bottlenecks) == num_down_blocks + 2 + assert len(has_attentions) == num_down_blocks + 2 + block = partial(block_fn, padding_mode=padding_mode, affine=affine, bias=bias) + + for _ in range(num_res_blocks[0]): + layers.append(block(ch[0], has_attention=has_attentions[0], prune_bottleneck=prune_bottlenecks[0])) + prune_bottlenecks = prune_bottlenecks[1:] + has_attentions = has_attentions[1:] + + assert len(temporal_reductions) == len(spatial_reductions) == len(ch) - 1 + for i in range(num_down_blocks): + layer = DownsampleBlock( + ch[i], + ch[i + 1], + num_res_blocks=num_res_blocks[i + 1], + temporal_reduction=temporal_reductions[i], + spatial_reduction=spatial_reductions[i], + prune_bottleneck=prune_bottlenecks[i], + has_attention=has_attentions[i], + affine=affine, + bias=bias, + padding_mode=padding_mode, + ) + + layers.append(layer) + + # Additional blocks. + for _ in range(num_res_blocks[-1]): + layers.append(block(ch[-1], has_attention=has_attentions[-1], prune_bottleneck=prune_bottlenecks[-1])) + + self.layers = nn.Sequential(*layers) + + # Output layers. + self.output_norm = norm_fn(ch[-1]) + self.output_proj = Conv1x1(ch[-1], 2 * latent_dim, bias=False) + + @property + def temporal_downsample(self): + return math.prod(self.temporal_reductions) + + @property + def spatial_downsample(self): + return math.prod(self.spatial_reductions) + + def forward(self, x) -> LatentDistribution: + """Forward pass. + + Args: + x: Input video tensor. Shape: [B, C, T, H, W]. Scaled to [-1, 1] + + Returns: + means: Latent tensor. Shape: [B, latent_dim, t, h, w]. Scaled [-1, 1]. + h = H // 8, w = W // 8, t - 1 = (T - 1) // 6 + logvar: Shape: [B, latent_dim, t, h, w]. + """ + assert x.ndim == 5, f"Expected 5D input, got {x.shape}" + x = self.fourier_features(x) + + x = self.layers(x) + + x = self.output_norm(x) + x = F.silu(x, inplace=True) + x = self.output_proj(x) + + means, logvar = torch.chunk(x, 2, dim=1) + + assert means.ndim == 5 + assert logvar.shape == means.shape + assert means.size(1) == self.latent_dim + + return LatentDistribution(means, logvar) + + +class VideoVAE(nn.Module): + def __init__(self): + super().__init__() + self.encoder = Encoder( + in_channels=15, + base_channels=64, + channel_multipliers=[1, 2, 4, 6], + num_res_blocks=[3, 3, 4, 6, 3], + latent_dim=12, + temporal_reductions=[1, 2, 3], + spatial_reductions=[2, 2, 2], + prune_bottlenecks=[False, False, False, False, False], + has_attentions=[False, True, True, True, True], + affine=True, + bias=True, + input_is_conv_1x1=True, + padding_mode="replicate" + ) + self.decoder = Decoder( + out_channels=3, + base_channels=128, + channel_multipliers=[1, 2, 4, 6], + temporal_expansions=[1, 2, 3], + spatial_expansions=[2, 2, 2], + num_res_blocks=[3, 3, 4, 6, 3], + latent_dim=12, + has_attention=[False, False, False, False, False], + padding_mode="replicate", + output_norm=False, + nonlinearity="silu", + output_nonlinearity="silu", + causal=True, + ) + + def encode(self, x): + return self.encoder(x).mode() + + def decode(self, x): + return self.decoder(x) diff --git a/comfy/ldm/hunyuan_video/model.py b/comfy/ldm/hunyuan_video/model.py new file mode 100644 index 0000000000000000000000000000000000000000..d6d854089cfc5ca409f451a42aac1f3ca9de8996 --- /dev/null +++ b/comfy/ldm/hunyuan_video/model.py @@ -0,0 +1,330 @@ +#Based on Flux code because of weird hunyuan video code license. + +import torch +import comfy.ldm.flux.layers +import comfy.ldm.modules.diffusionmodules.mmdit +from comfy.ldm.modules.attention import optimized_attention + + +from dataclasses import dataclass +from einops import repeat + +from torch import Tensor, nn + +from comfy.ldm.flux.layers import ( + DoubleStreamBlock, + EmbedND, + LastLayer, + MLPEmbedder, + SingleStreamBlock, + timestep_embedding +) + +import comfy.ldm.common_dit + + +@dataclass +class HunyuanVideoParams: + in_channels: int + out_channels: int + vec_in_dim: int + context_in_dim: int + hidden_size: int + mlp_ratio: float + num_heads: int + depth: int + depth_single_blocks: int + axes_dim: list + theta: int + patch_size: list + qkv_bias: bool + guidance_embed: bool + + +class SelfAttentionRef(nn.Module): + def __init__(self, dim: int, qkv_bias: bool = False, dtype=None, device=None, operations=None): + super().__init__() + self.qkv = operations.Linear(dim, dim * 3, bias=qkv_bias, dtype=dtype, device=device) + self.proj = operations.Linear(dim, dim, dtype=dtype, device=device) + + +class TokenRefinerBlock(nn.Module): + def __init__( + self, + hidden_size, + heads, + dtype=None, + device=None, + operations=None + ): + super().__init__() + self.heads = heads + mlp_hidden_dim = hidden_size * 4 + + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operations.Linear(hidden_size, 2 * hidden_size, bias=True, dtype=dtype, device=device), + ) + + self.norm1 = operations.LayerNorm(hidden_size, elementwise_affine=True, eps=1e-6, dtype=dtype, device=device) + self.self_attn = SelfAttentionRef(hidden_size, True, dtype=dtype, device=device, operations=operations) + + self.norm2 = operations.LayerNorm(hidden_size, elementwise_affine=True, eps=1e-6, dtype=dtype, device=device) + + self.mlp = nn.Sequential( + operations.Linear(hidden_size, mlp_hidden_dim, bias=True, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(mlp_hidden_dim, hidden_size, bias=True, dtype=dtype, device=device), + ) + + def forward(self, x, c, mask): + mod1, mod2 = self.adaLN_modulation(c).chunk(2, dim=1) + + norm_x = self.norm1(x) + qkv = self.self_attn.qkv(norm_x) + q, k, v = qkv.reshape(qkv.shape[0], qkv.shape[1], 3, self.heads, -1).permute(2, 0, 3, 1, 4) + attn = optimized_attention(q, k, v, self.heads, mask=mask, skip_reshape=True) + + x = x + self.self_attn.proj(attn) * mod1.unsqueeze(1) + x = x + self.mlp(self.norm2(x)) * mod2.unsqueeze(1) + return x + + +class IndividualTokenRefiner(nn.Module): + def __init__( + self, + hidden_size, + heads, + num_blocks, + dtype=None, + device=None, + operations=None + ): + super().__init__() + self.blocks = nn.ModuleList( + [ + TokenRefinerBlock( + hidden_size=hidden_size, + heads=heads, + dtype=dtype, + device=device, + operations=operations + ) + for _ in range(num_blocks) + ] + ) + + def forward(self, x, c, mask): + m = None + if mask is not None: + m = mask.view(mask.shape[0], 1, 1, mask.shape[1]).repeat(1, 1, mask.shape[1], 1) + m = m + m.transpose(2, 3) + + for block in self.blocks: + x = block(x, c, m) + return x + + + +class TokenRefiner(nn.Module): + def __init__( + self, + text_dim, + hidden_size, + heads, + num_blocks, + dtype=None, + device=None, + operations=None + ): + super().__init__() + + self.input_embedder = operations.Linear(text_dim, hidden_size, bias=True, dtype=dtype, device=device) + self.t_embedder = MLPEmbedder(256, hidden_size, dtype=dtype, device=device, operations=operations) + self.c_embedder = MLPEmbedder(text_dim, hidden_size, dtype=dtype, device=device, operations=operations) + self.individual_token_refiner = IndividualTokenRefiner(hidden_size, heads, num_blocks, dtype=dtype, device=device, operations=operations) + + def forward( + self, + x, + timesteps, + mask, + ): + t = self.t_embedder(timestep_embedding(timesteps, 256, time_factor=1.0).to(x.dtype)) + # m = mask.float().unsqueeze(-1) + # c = (x.float() * m).sum(dim=1) / m.sum(dim=1) #TODO: the following works when the x.shape is the same length as the tokens but might break otherwise + c = x.sum(dim=1) / x.shape[1] + + c = t + self.c_embedder(c.to(x.dtype)) + x = self.input_embedder(x) + x = self.individual_token_refiner(x, c, mask) + return x + +class HunyuanVideo(nn.Module): + """ + Transformer model for flow matching on sequences. + """ + + def __init__(self, image_model=None, final_layer=True, dtype=None, device=None, operations=None, **kwargs): + super().__init__() + self.dtype = dtype + params = HunyuanVideoParams(**kwargs) + self.params = params + self.patch_size = params.patch_size + self.in_channels = params.in_channels + self.out_channels = params.out_channels + if params.hidden_size % params.num_heads != 0: + raise ValueError( + f"Hidden size {params.hidden_size} must be divisible by num_heads {params.num_heads}" + ) + pe_dim = params.hidden_size // params.num_heads + if sum(params.axes_dim) != pe_dim: + raise ValueError(f"Got {params.axes_dim} but expected positional dim {pe_dim}") + self.hidden_size = params.hidden_size + self.num_heads = params.num_heads + self.pe_embedder = EmbedND(dim=pe_dim, theta=params.theta, axes_dim=params.axes_dim) + + self.img_in = comfy.ldm.modules.diffusionmodules.mmdit.PatchEmbed(None, self.patch_size, self.in_channels, self.hidden_size, conv3d=True, dtype=dtype, device=device, operations=operations) + self.time_in = MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size, dtype=dtype, device=device, operations=operations) + self.vector_in = MLPEmbedder(params.vec_in_dim, self.hidden_size, dtype=dtype, device=device, operations=operations) + self.guidance_in = ( + MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size, dtype=dtype, device=device, operations=operations) if params.guidance_embed else nn.Identity() + ) + + self.txt_in = TokenRefiner(params.context_in_dim, self.hidden_size, self.num_heads, 2, dtype=dtype, device=device, operations=operations) + + self.double_blocks = nn.ModuleList( + [ + DoubleStreamBlock( + self.hidden_size, + self.num_heads, + mlp_ratio=params.mlp_ratio, + qkv_bias=params.qkv_bias, + flipped_img_txt=True, + dtype=dtype, device=device, operations=operations + ) + for _ in range(params.depth) + ] + ) + + self.single_blocks = nn.ModuleList( + [ + SingleStreamBlock(self.hidden_size, self.num_heads, mlp_ratio=params.mlp_ratio, dtype=dtype, device=device, operations=operations) + for _ in range(params.depth_single_blocks) + ] + ) + + if final_layer: + self.final_layer = LastLayer(self.hidden_size, self.patch_size[-1], self.out_channels, dtype=dtype, device=device, operations=operations) + + def forward_orig( + self, + img: Tensor, + img_ids: Tensor, + txt: Tensor, + txt_ids: Tensor, + txt_mask: Tensor, + timesteps: Tensor, + y: Tensor, + guidance: Tensor = None, + control=None, + transformer_options={}, + ) -> Tensor: + patches_replace = transformer_options.get("patches_replace", {}) + + initial_shape = list(img.shape) + # running on sequences img + img = self.img_in(img) + vec = self.time_in(timestep_embedding(timesteps, 256, time_factor=1.0).to(img.dtype)) + + vec = vec + self.vector_in(y[:, :self.params.vec_in_dim]) + + if self.params.guidance_embed: + if guidance is None: + raise ValueError("Didn't get guidance strength for guidance distilled model.") + vec = vec + self.guidance_in(timestep_embedding(guidance, 256).to(img.dtype)) + + if txt_mask is not None and not torch.is_floating_point(txt_mask): + txt_mask = (txt_mask - 1).to(img.dtype) * torch.finfo(img.dtype).max + + txt = self.txt_in(txt, timesteps, txt_mask) + + ids = torch.cat((img_ids, txt_ids), dim=1) + pe = self.pe_embedder(ids) + + img_len = img.shape[1] + if txt_mask is not None: + attn_mask_len = img_len + txt.shape[1] + attn_mask = torch.zeros((1, 1, attn_mask_len), dtype=img.dtype, device=img.device) + attn_mask[:, 0, img_len:] = txt_mask + else: + attn_mask = None + + blocks_replace = patches_replace.get("dit", {}) + for i, block in enumerate(self.double_blocks): + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"], out["txt"] = block(img=args["img"], txt=args["txt"], vec=args["vec"], pe=args["pe"], attn_mask=args["attention_mask"]) + return out + + out = blocks_replace[("double_block", i)]({"img": img, "txt": txt, "vec": vec, "pe": pe, "attention_mask": attn_mask}, {"original_block": block_wrap}) + txt = out["txt"] + img = out["img"] + else: + img, txt = block(img=img, txt=txt, vec=vec, pe=pe, attn_mask=attn_mask) + + if control is not None: # Controlnet + control_i = control.get("input") + if i < len(control_i): + add = control_i[i] + if add is not None: + img += add + + img = torch.cat((img, txt), 1) + + for i, block in enumerate(self.single_blocks): + if ("single_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"] = block(args["img"], vec=args["vec"], pe=args["pe"], attn_mask=args["attention_mask"]) + return out + + out = blocks_replace[("single_block", i)]({"img": img, "vec": vec, "pe": pe, "attention_mask": attn_mask}, {"original_block": block_wrap}) + img = out["img"] + else: + img = block(img, vec=vec, pe=pe, attn_mask=attn_mask) + + if control is not None: # Controlnet + control_o = control.get("output") + if i < len(control_o): + add = control_o[i] + if add is not None: + img[:, : img_len] += add + + img = img[:, : img_len] + + img = self.final_layer(img, vec) # (N, T, patch_size ** 2 * out_channels) + + shape = initial_shape[-3:] + for i in range(len(shape)): + shape[i] = shape[i] // self.patch_size[i] + img = img.reshape([img.shape[0]] + shape + [self.out_channels] + self.patch_size) + img = img.permute(0, 4, 1, 5, 2, 6, 3, 7) + img = img.reshape(initial_shape) + return img + + def forward(self, x, timestep, context, y, guidance, attention_mask=None, control=None, transformer_options={}, **kwargs): + bs, c, t, h, w = x.shape + patch_size = self.patch_size + t_len = ((t + (patch_size[0] // 2)) // patch_size[0]) + h_len = ((h + (patch_size[1] // 2)) // patch_size[1]) + w_len = ((w + (patch_size[2] // 2)) // patch_size[2]) + img_ids = torch.zeros((t_len, h_len, w_len, 3), device=x.device, dtype=x.dtype) + img_ids[:, :, :, 0] = img_ids[:, :, :, 0] + torch.linspace(0, t_len - 1, steps=t_len, device=x.device, dtype=x.dtype).reshape(-1, 1, 1) + img_ids[:, :, :, 1] = img_ids[:, :, :, 1] + torch.linspace(0, h_len - 1, steps=h_len, device=x.device, dtype=x.dtype).reshape(1, -1, 1) + img_ids[:, :, :, 2] = img_ids[:, :, :, 2] + torch.linspace(0, w_len - 1, steps=w_len, device=x.device, dtype=x.dtype).reshape(1, 1, -1) + img_ids = repeat(img_ids, "t h w c -> b (t h w) c", b=bs) + txt_ids = torch.zeros((bs, context.shape[1], 3), device=x.device, dtype=x.dtype) + out = self.forward_orig(x, img_ids, context, txt_ids, attention_mask, timestep, y, guidance, control, transformer_options) + return out diff --git a/comfy/ldm/hydit/attn_layers.py b/comfy/ldm/hydit/attn_layers.py new file mode 100644 index 0000000000000000000000000000000000000000..3ca25a5df175bcadd8e50ad34ee0bfcddcb37aa0 --- /dev/null +++ b/comfy/ldm/hydit/attn_layers.py @@ -0,0 +1,218 @@ +import torch +import torch.nn as nn +from typing import Tuple, Union, Optional +from comfy.ldm.modules.attention import optimized_attention + + +def reshape_for_broadcast(freqs_cis: Union[torch.Tensor, Tuple[torch.Tensor]], x: torch.Tensor, head_first=False): + """ + Reshape frequency tensor for broadcasting it with another tensor. + + This function reshapes the frequency tensor to have the same shape as the target tensor 'x' + for the purpose of broadcasting the frequency tensor during element-wise operations. + + Args: + freqs_cis (Union[torch.Tensor, Tuple[torch.Tensor]]): Frequency tensor to be reshaped. + x (torch.Tensor): Target tensor for broadcasting compatibility. + head_first (bool): head dimension first (except batch dim) or not. + + Returns: + torch.Tensor: Reshaped frequency tensor. + + Raises: + AssertionError: If the frequency tensor doesn't match the expected shape. + AssertionError: If the target tensor 'x' doesn't have the expected number of dimensions. + """ + ndim = x.ndim + assert 0 <= 1 < ndim + + if isinstance(freqs_cis, tuple): + # freqs_cis: (cos, sin) in real space + if head_first: + assert freqs_cis[0].shape == (x.shape[-2], x.shape[-1]), f'freqs_cis shape {freqs_cis[0].shape} does not match x shape {x.shape}' + shape = [d if i == ndim - 2 or i == ndim - 1 else 1 for i, d in enumerate(x.shape)] + else: + assert freqs_cis[0].shape == (x.shape[1], x.shape[-1]), f'freqs_cis shape {freqs_cis[0].shape} does not match x shape {x.shape}' + shape = [d if i == 1 or i == ndim - 1 else 1 for i, d in enumerate(x.shape)] + return freqs_cis[0].view(*shape), freqs_cis[1].view(*shape) + else: + # freqs_cis: values in complex space + if head_first: + assert freqs_cis.shape == (x.shape[-2], x.shape[-1]), f'freqs_cis shape {freqs_cis.shape} does not match x shape {x.shape}' + shape = [d if i == ndim - 2 or i == ndim - 1 else 1 for i, d in enumerate(x.shape)] + else: + assert freqs_cis.shape == (x.shape[1], x.shape[-1]), f'freqs_cis shape {freqs_cis.shape} does not match x shape {x.shape}' + shape = [d if i == 1 or i == ndim - 1 else 1 for i, d in enumerate(x.shape)] + return freqs_cis.view(*shape) + + +def rotate_half(x): + x_real, x_imag = x.reshape(*x.shape[:-1], -1, 2).unbind(-1) # [B, S, H, D//2] + return torch.stack([-x_imag, x_real], dim=-1).flatten(3) + + +def apply_rotary_emb( + xq: torch.Tensor, + xk: Optional[torch.Tensor], + freqs_cis: Union[torch.Tensor, Tuple[torch.Tensor]], + head_first: bool = False, +) -> Tuple[torch.Tensor, torch.Tensor]: + """ + Apply rotary embeddings to input tensors using the given frequency tensor. + + This function applies rotary embeddings to the given query 'xq' and key 'xk' tensors using the provided + frequency tensor 'freqs_cis'. The input tensors are reshaped as complex numbers, and the frequency tensor + is reshaped for broadcasting compatibility. The resulting tensors contain rotary embeddings and are + returned as real tensors. + + Args: + xq (torch.Tensor): Query tensor to apply rotary embeddings. [B, S, H, D] + xk (torch.Tensor): Key tensor to apply rotary embeddings. [B, S, H, D] + freqs_cis (Union[torch.Tensor, Tuple[torch.Tensor]]): Precomputed frequency tensor for complex exponentials. + head_first (bool): head dimension first (except batch dim) or not. + + Returns: + Tuple[torch.Tensor, torch.Tensor]: Tuple of modified query tensor and key tensor with rotary embeddings. + + """ + xk_out = None + if isinstance(freqs_cis, tuple): + cos, sin = reshape_for_broadcast(freqs_cis, xq, head_first) # [S, D] + xq_out = (xq * cos + rotate_half(xq) * sin) + if xk is not None: + xk_out = (xk * cos + rotate_half(xk) * sin) + else: + xq_ = torch.view_as_complex(xq.float().reshape(*xq.shape[:-1], -1, 2)) # [B, S, H, D//2] + freqs_cis = reshape_for_broadcast(freqs_cis, xq_, head_first).to(xq.device) # [S, D//2] --> [1, S, 1, D//2] + xq_out = torch.view_as_real(xq_ * freqs_cis).flatten(3).type_as(xq) + if xk is not None: + xk_ = torch.view_as_complex(xk.float().reshape(*xk.shape[:-1], -1, 2)) # [B, S, H, D//2] + xk_out = torch.view_as_real(xk_ * freqs_cis).flatten(3).type_as(xk) + + return xq_out, xk_out + + + +class CrossAttention(nn.Module): + """ + Use QK Normalization. + """ + def __init__(self, + qdim, + kdim, + num_heads, + qkv_bias=True, + qk_norm=False, + attn_drop=0.0, + proj_drop=0.0, + attn_precision=None, + device=None, + dtype=None, + operations=None, + ): + factory_kwargs = {'device': device, 'dtype': dtype} + super().__init__() + self.attn_precision = attn_precision + self.qdim = qdim + self.kdim = kdim + self.num_heads = num_heads + assert self.qdim % num_heads == 0, "self.qdim must be divisible by num_heads" + self.head_dim = self.qdim // num_heads + assert self.head_dim % 8 == 0 and self.head_dim <= 128, "Only support head_dim <= 128 and divisible by 8" + self.scale = self.head_dim ** -0.5 + + self.q_proj = operations.Linear(qdim, qdim, bias=qkv_bias, **factory_kwargs) + self.kv_proj = operations.Linear(kdim, 2 * qdim, bias=qkv_bias, **factory_kwargs) + + # TODO: eps should be 1 / 65530 if using fp16 + self.q_norm = operations.LayerNorm(self.head_dim, elementwise_affine=True, eps=1e-6, dtype=dtype, device=device) if qk_norm else nn.Identity() + self.k_norm = operations.LayerNorm(self.head_dim, elementwise_affine=True, eps=1e-6, dtype=dtype, device=device) if qk_norm else nn.Identity() + self.attn_drop = nn.Dropout(attn_drop) + self.out_proj = operations.Linear(qdim, qdim, bias=qkv_bias, **factory_kwargs) + self.proj_drop = nn.Dropout(proj_drop) + + def forward(self, x, y, freqs_cis_img=None): + """ + Parameters + ---------- + x: torch.Tensor + (batch, seqlen1, hidden_dim) (where hidden_dim = num heads * head dim) + y: torch.Tensor + (batch, seqlen2, hidden_dim2) + freqs_cis_img: torch.Tensor + (batch, hidden_dim // 2), RoPE for image + """ + b, s1, c = x.shape # [b, s1, D] + _, s2, c = y.shape # [b, s2, 1024] + + q = self.q_proj(x).view(b, s1, self.num_heads, self.head_dim) # [b, s1, h, d] + kv = self.kv_proj(y).view(b, s2, 2, self.num_heads, self.head_dim) # [b, s2, 2, h, d] + k, v = kv.unbind(dim=2) # [b, s, h, d] + q = self.q_norm(q) + k = self.k_norm(k) + + # Apply RoPE if needed + if freqs_cis_img is not None: + qq, _ = apply_rotary_emb(q, None, freqs_cis_img) + assert qq.shape == q.shape, f'qq: {qq.shape}, q: {q.shape}' + q = qq + + q = q.transpose(-2, -3).contiguous() # q -> B, L1, H, C - B, H, L1, C + k = k.transpose(-2, -3).contiguous() # k -> B, L2, H, C - B, H, C, L2 + v = v.transpose(-2, -3).contiguous() + + context = optimized_attention(q, k, v, self.num_heads, skip_reshape=True, attn_precision=self.attn_precision) + + out = self.out_proj(context) # context.reshape - B, L1, -1 + out = self.proj_drop(out) + + out_tuple = (out,) + + return out_tuple + + +class Attention(nn.Module): + """ + We rename some layer names to align with flash attention + """ + def __init__(self, dim, num_heads, qkv_bias=True, qk_norm=False, attn_drop=0., proj_drop=0., attn_precision=None, dtype=None, device=None, operations=None): + super().__init__() + self.attn_precision = attn_precision + self.dim = dim + self.num_heads = num_heads + assert self.dim % num_heads == 0, 'dim should be divisible by num_heads' + self.head_dim = self.dim // num_heads + # This assertion is aligned with flash attention + assert self.head_dim % 8 == 0 and self.head_dim <= 128, "Only support head_dim <= 128 and divisible by 8" + self.scale = self.head_dim ** -0.5 + + # qkv --> Wqkv + self.Wqkv = operations.Linear(dim, dim * 3, bias=qkv_bias, dtype=dtype, device=device) + # TODO: eps should be 1 / 65530 if using fp16 + self.q_norm = operations.LayerNorm(self.head_dim, elementwise_affine=True, eps=1e-6, dtype=dtype, device=device) if qk_norm else nn.Identity() + self.k_norm = operations.LayerNorm(self.head_dim, elementwise_affine=True, eps=1e-6, dtype=dtype, device=device) if qk_norm else nn.Identity() + self.attn_drop = nn.Dropout(attn_drop) + self.out_proj = operations.Linear(dim, dim, dtype=dtype, device=device) + self.proj_drop = nn.Dropout(proj_drop) + + def forward(self, x, freqs_cis_img=None): + B, N, C = x.shape + qkv = self.Wqkv(x).reshape(B, N, 3, self.num_heads, self.head_dim).permute(2, 0, 3, 1, 4) # [3, b, h, s, d] + q, k, v = qkv.unbind(0) # [b, h, s, d] + q = self.q_norm(q) # [b, h, s, d] + k = self.k_norm(k) # [b, h, s, d] + + # Apply RoPE if needed + if freqs_cis_img is not None: + qq, kk = apply_rotary_emb(q, k, freqs_cis_img, head_first=True) + assert qq.shape == q.shape and kk.shape == k.shape, \ + f'qq: {qq.shape}, q: {q.shape}, kk: {kk.shape}, k: {k.shape}' + q, k = qq, kk + + x = optimized_attention(q, k, v, self.num_heads, skip_reshape=True, attn_precision=self.attn_precision) + x = self.out_proj(x) + x = self.proj_drop(x) + + out_tuple = (x,) + + return out_tuple diff --git a/comfy/ldm/hydit/controlnet.py b/comfy/ldm/hydit/controlnet.py new file mode 100644 index 0000000000000000000000000000000000000000..31a6bff9409bb5264e552f91197915a136c3964d --- /dev/null +++ b/comfy/ldm/hydit/controlnet.py @@ -0,0 +1,311 @@ + +import torch +import torch.nn as nn + + +from comfy.ldm.modules.diffusionmodules.mmdit import ( + TimestepEmbedder, + PatchEmbed, +) +from .poolers import AttentionPool + +import comfy.latent_formats +from .models import HunYuanDiTBlock, calc_rope + + + +class HunYuanControlNet(nn.Module): + """ + HunYuanDiT: Diffusion model with a Transformer backbone. + + Inherit ModelMixin and ConfigMixin to be compatible with the sampler StableDiffusionPipeline of diffusers. + + Inherit PeftAdapterMixin to be compatible with the PEFT training pipeline. + + Parameters + ---------- + args: argparse.Namespace + The arguments parsed by argparse. + input_size: tuple + The size of the input image. + patch_size: int + The size of the patch. + in_channels: int + The number of input channels. + hidden_size: int + The hidden size of the transformer backbone. + depth: int + The number of transformer blocks. + num_heads: int + The number of attention heads. + mlp_ratio: float + The ratio of the hidden size of the MLP in the transformer block. + log_fn: callable + The logging function. + """ + + def __init__( + self, + input_size: tuple = 128, + patch_size: int = 2, + in_channels: int = 4, + hidden_size: int = 1408, + depth: int = 40, + num_heads: int = 16, + mlp_ratio: float = 4.3637, + text_states_dim=1024, + text_states_dim_t5=2048, + text_len=77, + text_len_t5=256, + qk_norm=True, # See http://arxiv.org/abs/2302.05442 for details. + size_cond=False, + use_style_cond=False, + learn_sigma=True, + norm="layer", + log_fn: callable = print, + attn_precision=None, + dtype=None, + device=None, + operations=None, + **kwargs, + ): + super().__init__() + self.log_fn = log_fn + self.depth = depth + self.learn_sigma = learn_sigma + self.in_channels = in_channels + self.out_channels = in_channels * 2 if learn_sigma else in_channels + self.patch_size = patch_size + self.num_heads = num_heads + self.hidden_size = hidden_size + self.text_states_dim = text_states_dim + self.text_states_dim_t5 = text_states_dim_t5 + self.text_len = text_len + self.text_len_t5 = text_len_t5 + self.size_cond = size_cond + self.use_style_cond = use_style_cond + self.norm = norm + self.dtype = dtype + self.latent_format = comfy.latent_formats.SDXL + + self.mlp_t5 = nn.Sequential( + nn.Linear( + self.text_states_dim_t5, + self.text_states_dim_t5 * 4, + bias=True, + dtype=dtype, + device=device, + ), + nn.SiLU(), + nn.Linear( + self.text_states_dim_t5 * 4, + self.text_states_dim, + bias=True, + dtype=dtype, + device=device, + ), + ) + # learnable replace + self.text_embedding_padding = nn.Parameter( + torch.randn( + self.text_len + self.text_len_t5, + self.text_states_dim, + dtype=dtype, + device=device, + ) + ) + + # Attention pooling + pooler_out_dim = 1024 + self.pooler = AttentionPool( + self.text_len_t5, + self.text_states_dim_t5, + num_heads=8, + output_dim=pooler_out_dim, + dtype=dtype, + device=device, + operations=operations, + ) + + # Dimension of the extra input vectors + self.extra_in_dim = pooler_out_dim + + if self.size_cond: + # Image size and crop size conditions + self.extra_in_dim += 6 * 256 + + if self.use_style_cond: + # Here we use a default learned embedder layer for future extension. + self.style_embedder = nn.Embedding( + 1, hidden_size, dtype=dtype, device=device + ) + self.extra_in_dim += hidden_size + + # Text embedding for `add` + self.x_embedder = PatchEmbed( + input_size, + patch_size, + in_channels, + hidden_size, + dtype=dtype, + device=device, + operations=operations, + ) + self.t_embedder = TimestepEmbedder( + hidden_size, dtype=dtype, device=device, operations=operations + ) + self.extra_embedder = nn.Sequential( + operations.Linear( + self.extra_in_dim, hidden_size * 4, dtype=dtype, device=device + ), + nn.SiLU(), + operations.Linear( + hidden_size * 4, hidden_size, bias=True, dtype=dtype, device=device + ), + ) + + # HUnYuanDiT Blocks + self.blocks = nn.ModuleList( + [ + HunYuanDiTBlock( + hidden_size=hidden_size, + c_emb_size=hidden_size, + num_heads=num_heads, + mlp_ratio=mlp_ratio, + text_states_dim=self.text_states_dim, + qk_norm=qk_norm, + norm_type=self.norm, + skip=False, + attn_precision=attn_precision, + dtype=dtype, + device=device, + operations=operations, + ) + for _ in range(19) + ] + ) + + # Input zero linear for the first block + self.before_proj = operations.Linear(self.hidden_size, self.hidden_size, dtype=dtype, device=device) + + + # Output zero linear for the every block + self.after_proj_list = nn.ModuleList( + [ + + operations.Linear( + self.hidden_size, self.hidden_size, dtype=dtype, device=device + ) + for _ in range(len(self.blocks)) + ] + ) + + def forward( + self, + x, + hint, + timesteps, + context,#encoder_hidden_states=None, + text_embedding_mask=None, + encoder_hidden_states_t5=None, + text_embedding_mask_t5=None, + image_meta_size=None, + style=None, + return_dict=False, + **kwarg, + ): + """ + Forward pass of the encoder. + + Parameters + ---------- + x: torch.Tensor + (B, D, H, W) + t: torch.Tensor + (B) + encoder_hidden_states: torch.Tensor + CLIP text embedding, (B, L_clip, D) + text_embedding_mask: torch.Tensor + CLIP text embedding mask, (B, L_clip) + encoder_hidden_states_t5: torch.Tensor + T5 text embedding, (B, L_t5, D) + text_embedding_mask_t5: torch.Tensor + T5 text embedding mask, (B, L_t5) + image_meta_size: torch.Tensor + (B, 6) + style: torch.Tensor + (B) + cos_cis_img: torch.Tensor + sin_cis_img: torch.Tensor + return_dict: bool + Whether to return a dictionary. + """ + condition = hint + if condition.shape[0] == 1: + condition = torch.repeat_interleave(condition, x.shape[0], dim=0) + + text_states = context # 2,77,1024 + text_states_t5 = encoder_hidden_states_t5 # 2,256,2048 + text_states_mask = text_embedding_mask.bool() # 2,77 + text_states_t5_mask = text_embedding_mask_t5.bool() # 2,256 + b_t5, l_t5, c_t5 = text_states_t5.shape + text_states_t5 = self.mlp_t5(text_states_t5.view(-1, c_t5)).view(b_t5, l_t5, -1) + + padding = comfy.ops.cast_to_input(self.text_embedding_padding, text_states) + + text_states[:, -self.text_len :] = torch.where( + text_states_mask[:, -self.text_len :].unsqueeze(2), + text_states[:, -self.text_len :], + padding[: self.text_len], + ) + text_states_t5[:, -self.text_len_t5 :] = torch.where( + text_states_t5_mask[:, -self.text_len_t5 :].unsqueeze(2), + text_states_t5[:, -self.text_len_t5 :], + padding[self.text_len :], + ) + + text_states = torch.cat([text_states, text_states_t5], dim=1) # 2,205,1024 + + # _, _, oh, ow = x.shape + # th, tw = oh // self.patch_size, ow // self.patch_size + + # Get image RoPE embedding according to `reso`lution. + freqs_cis_img = calc_rope( + x, self.patch_size, self.hidden_size // self.num_heads + ) # (cos_cis_img, sin_cis_img) + + # ========================= Build time and image embedding ========================= + t = self.t_embedder(timesteps, dtype=self.dtype) + x = self.x_embedder(x) + + # ========================= Concatenate all extra vectors ========================= + # Build text tokens with pooling + extra_vec = self.pooler(encoder_hidden_states_t5) + + # Build image meta size tokens if applicable + # if image_meta_size is not None: + # image_meta_size = timestep_embedding(image_meta_size.view(-1), 256) # [B * 6, 256] + # if image_meta_size.dtype != self.dtype: + # image_meta_size = image_meta_size.half() + # image_meta_size = image_meta_size.view(-1, 6 * 256) + # extra_vec = torch.cat([extra_vec, image_meta_size], dim=1) # [B, D + 6 * 256] + + # Build style tokens + if style is not None: + style_embedding = self.style_embedder(style) + extra_vec = torch.cat([extra_vec, style_embedding], dim=1) + + # Concatenate all extra vectors + c = t + self.extra_embedder(extra_vec) # [B, D] + + # ========================= Deal with Condition ========================= + condition = self.x_embedder(condition) + + # ========================= Forward pass through HunYuanDiT blocks ========================= + controls = [] + x = x + self.before_proj(condition) # add condition + for layer, block in enumerate(self.blocks): + x = block(x, c, text_states, freqs_cis_img) + controls.append(self.after_proj_list[layer](x)) # zero linear for output + + return {"output": controls} diff --git a/comfy/ldm/hydit/models.py b/comfy/ldm/hydit/models.py new file mode 100644 index 0000000000000000000000000000000000000000..359f6a9651c6c3db3d5bdfd8deeffbf5ec432205 --- /dev/null +++ b/comfy/ldm/hydit/models.py @@ -0,0 +1,417 @@ + +import torch +import torch.nn as nn + +import comfy.ops +from comfy.ldm.modules.diffusionmodules.mmdit import Mlp, TimestepEmbedder, PatchEmbed, RMSNorm +from comfy.ldm.modules.diffusionmodules.util import timestep_embedding +from torch.utils import checkpoint + +from .attn_layers import Attention, CrossAttention +from .poolers import AttentionPool +from .posemb_layers import get_2d_rotary_pos_embed, get_fill_resize_and_crop + +def calc_rope(x, patch_size, head_size): + th = (x.shape[2] + (patch_size // 2)) // patch_size + tw = (x.shape[3] + (patch_size // 2)) // patch_size + base_size = 512 // 8 // patch_size + start, stop = get_fill_resize_and_crop((th, tw), base_size) + sub_args = [start, stop, (th, tw)] + # head_size = HUNYUAN_DIT_CONFIG['DiT-g/2']['hidden_size'] // HUNYUAN_DIT_CONFIG['DiT-g/2']['num_heads'] + rope = get_2d_rotary_pos_embed(head_size, *sub_args) + rope = (rope[0].to(x), rope[1].to(x)) + return rope + + +def modulate(x, shift, scale): + return x * (1 + scale.unsqueeze(1)) + shift.unsqueeze(1) + + +class HunYuanDiTBlock(nn.Module): + """ + A HunYuanDiT block with `add` conditioning. + """ + def __init__(self, + hidden_size, + c_emb_size, + num_heads, + mlp_ratio=4.0, + text_states_dim=1024, + qk_norm=False, + norm_type="layer", + skip=False, + attn_precision=None, + dtype=None, + device=None, + operations=None, + ): + super().__init__() + use_ele_affine = True + + if norm_type == "layer": + norm_layer = operations.LayerNorm + elif norm_type == "rms": + norm_layer = RMSNorm + else: + raise ValueError(f"Unknown norm_type: {norm_type}") + + # ========================= Self-Attention ========================= + self.norm1 = norm_layer(hidden_size, elementwise_affine=use_ele_affine, eps=1e-6, dtype=dtype, device=device) + self.attn1 = Attention(hidden_size, num_heads=num_heads, qkv_bias=True, qk_norm=qk_norm, attn_precision=attn_precision, dtype=dtype, device=device, operations=operations) + + # ========================= FFN ========================= + self.norm2 = norm_layer(hidden_size, elementwise_affine=use_ele_affine, eps=1e-6, dtype=dtype, device=device) + mlp_hidden_dim = int(hidden_size * mlp_ratio) + approx_gelu = lambda: nn.GELU(approximate="tanh") + self.mlp = Mlp(in_features=hidden_size, hidden_features=mlp_hidden_dim, act_layer=approx_gelu, drop=0, dtype=dtype, device=device, operations=operations) + + # ========================= Add ========================= + # Simply use add like SDXL. + self.default_modulation = nn.Sequential( + nn.SiLU(), + operations.Linear(c_emb_size, hidden_size, bias=True, dtype=dtype, device=device) + ) + + # ========================= Cross-Attention ========================= + self.attn2 = CrossAttention(hidden_size, text_states_dim, num_heads=num_heads, qkv_bias=True, + qk_norm=qk_norm, attn_precision=attn_precision, dtype=dtype, device=device, operations=operations) + self.norm3 = norm_layer(hidden_size, elementwise_affine=True, eps=1e-6, dtype=dtype, device=device) + + # ========================= Skip Connection ========================= + if skip: + self.skip_norm = norm_layer(2 * hidden_size, elementwise_affine=True, eps=1e-6, dtype=dtype, device=device) + self.skip_linear = operations.Linear(2 * hidden_size, hidden_size, dtype=dtype, device=device) + else: + self.skip_linear = None + + self.gradient_checkpointing = False + + def _forward(self, x, c=None, text_states=None, freq_cis_img=None, skip=None): + # Long Skip Connection + if self.skip_linear is not None: + cat = torch.cat([x, skip], dim=-1) + if cat.dtype != x.dtype: + cat = cat.to(x.dtype) + cat = self.skip_norm(cat) + x = self.skip_linear(cat) + + # Self-Attention + shift_msa = self.default_modulation(c).unsqueeze(dim=1) + attn_inputs = ( + self.norm1(x) + shift_msa, freq_cis_img, + ) + x = x + self.attn1(*attn_inputs)[0] + + # Cross-Attention + cross_inputs = ( + self.norm3(x), text_states, freq_cis_img + ) + x = x + self.attn2(*cross_inputs)[0] + + # FFN Layer + mlp_inputs = self.norm2(x) + x = x + self.mlp(mlp_inputs) + + return x + + def forward(self, x, c=None, text_states=None, freq_cis_img=None, skip=None): + if self.gradient_checkpointing and self.training: + return checkpoint.checkpoint(self._forward, x, c, text_states, freq_cis_img, skip) + return self._forward(x, c, text_states, freq_cis_img, skip) + + +class FinalLayer(nn.Module): + """ + The final layer of HunYuanDiT. + """ + def __init__(self, final_hidden_size, c_emb_size, patch_size, out_channels, dtype=None, device=None, operations=None): + super().__init__() + self.norm_final = operations.LayerNorm(final_hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.linear = operations.Linear(final_hidden_size, patch_size * patch_size * out_channels, bias=True, dtype=dtype, device=device) + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operations.Linear(c_emb_size, 2 * final_hidden_size, bias=True, dtype=dtype, device=device) + ) + + def forward(self, x, c): + shift, scale = self.adaLN_modulation(c).chunk(2, dim=1) + x = modulate(self.norm_final(x), shift, scale) + x = self.linear(x) + return x + + +class HunYuanDiT(nn.Module): + """ + HunYuanDiT: Diffusion model with a Transformer backbone. + + Inherit ModelMixin and ConfigMixin to be compatible with the sampler StableDiffusionPipeline of diffusers. + + Inherit PeftAdapterMixin to be compatible with the PEFT training pipeline. + + Parameters + ---------- + args: argparse.Namespace + The arguments parsed by argparse. + input_size: tuple + The size of the input image. + patch_size: int + The size of the patch. + in_channels: int + The number of input channels. + hidden_size: int + The hidden size of the transformer backbone. + depth: int + The number of transformer blocks. + num_heads: int + The number of attention heads. + mlp_ratio: float + The ratio of the hidden size of the MLP in the transformer block. + log_fn: callable + The logging function. + """ + #@register_to_config + def __init__(self, + input_size: tuple = 32, + patch_size: int = 2, + in_channels: int = 4, + hidden_size: int = 1152, + depth: int = 28, + num_heads: int = 16, + mlp_ratio: float = 4.0, + text_states_dim = 1024, + text_states_dim_t5 = 2048, + text_len = 77, + text_len_t5 = 256, + qk_norm = True,# See http://arxiv.org/abs/2302.05442 for details. + size_cond = False, + use_style_cond = False, + learn_sigma = True, + norm = "layer", + log_fn: callable = print, + attn_precision=None, + dtype=None, + device=None, + operations=None, + **kwargs, + ): + super().__init__() + self.log_fn = log_fn + self.depth = depth + self.learn_sigma = learn_sigma + self.in_channels = in_channels + self.out_channels = in_channels * 2 if learn_sigma else in_channels + self.patch_size = patch_size + self.num_heads = num_heads + self.hidden_size = hidden_size + self.text_states_dim = text_states_dim + self.text_states_dim_t5 = text_states_dim_t5 + self.text_len = text_len + self.text_len_t5 = text_len_t5 + self.size_cond = size_cond + self.use_style_cond = use_style_cond + self.norm = norm + self.dtype = dtype + #import pdb + #pdb.set_trace() + + self.mlp_t5 = nn.Sequential( + operations.Linear(self.text_states_dim_t5, self.text_states_dim_t5 * 4, bias=True, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(self.text_states_dim_t5 * 4, self.text_states_dim, bias=True, dtype=dtype, device=device), + ) + # learnable replace + self.text_embedding_padding = nn.Parameter( + torch.empty(self.text_len + self.text_len_t5, self.text_states_dim, dtype=dtype, device=device)) + + # Attention pooling + pooler_out_dim = 1024 + self.pooler = AttentionPool(self.text_len_t5, self.text_states_dim_t5, num_heads=8, output_dim=pooler_out_dim, dtype=dtype, device=device, operations=operations) + + # Dimension of the extra input vectors + self.extra_in_dim = pooler_out_dim + + if self.size_cond: + # Image size and crop size conditions + self.extra_in_dim += 6 * 256 + + if self.use_style_cond: + # Here we use a default learned embedder layer for future extension. + self.style_embedder = operations.Embedding(1, hidden_size, dtype=dtype, device=device) + self.extra_in_dim += hidden_size + + # Text embedding for `add` + self.x_embedder = PatchEmbed(input_size, patch_size, in_channels, hidden_size, dtype=dtype, device=device, operations=operations) + self.t_embedder = TimestepEmbedder(hidden_size, dtype=dtype, device=device, operations=operations) + self.extra_embedder = nn.Sequential( + operations.Linear(self.extra_in_dim, hidden_size * 4, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(hidden_size * 4, hidden_size, bias=True, dtype=dtype, device=device), + ) + + # HUnYuanDiT Blocks + self.blocks = nn.ModuleList([ + HunYuanDiTBlock(hidden_size=hidden_size, + c_emb_size=hidden_size, + num_heads=num_heads, + mlp_ratio=mlp_ratio, + text_states_dim=self.text_states_dim, + qk_norm=qk_norm, + norm_type=self.norm, + skip=layer > depth // 2, + attn_precision=attn_precision, + dtype=dtype, + device=device, + operations=operations, + ) + for layer in range(depth) + ]) + + self.final_layer = FinalLayer(hidden_size, hidden_size, patch_size, self.out_channels, dtype=dtype, device=device, operations=operations) + self.unpatchify_channels = self.out_channels + + + + def forward(self, + x, + t, + context,#encoder_hidden_states=None, + text_embedding_mask=None, + encoder_hidden_states_t5=None, + text_embedding_mask_t5=None, + image_meta_size=None, + style=None, + return_dict=False, + control=None, + transformer_options={}, + ): + """ + Forward pass of the encoder. + + Parameters + ---------- + x: torch.Tensor + (B, D, H, W) + t: torch.Tensor + (B) + encoder_hidden_states: torch.Tensor + CLIP text embedding, (B, L_clip, D) + text_embedding_mask: torch.Tensor + CLIP text embedding mask, (B, L_clip) + encoder_hidden_states_t5: torch.Tensor + T5 text embedding, (B, L_t5, D) + text_embedding_mask_t5: torch.Tensor + T5 text embedding mask, (B, L_t5) + image_meta_size: torch.Tensor + (B, 6) + style: torch.Tensor + (B) + cos_cis_img: torch.Tensor + sin_cis_img: torch.Tensor + return_dict: bool + Whether to return a dictionary. + """ + patches_replace = transformer_options.get("patches_replace", {}) + encoder_hidden_states = context + text_states = encoder_hidden_states # 2,77,1024 + text_states_t5 = encoder_hidden_states_t5 # 2,256,2048 + text_states_mask = text_embedding_mask.bool() # 2,77 + text_states_t5_mask = text_embedding_mask_t5.bool() # 2,256 + b_t5, l_t5, c_t5 = text_states_t5.shape + text_states_t5 = self.mlp_t5(text_states_t5.view(-1, c_t5)).view(b_t5, l_t5, -1) + + padding = comfy.ops.cast_to_input(self.text_embedding_padding, text_states) + + text_states[:,-self.text_len:] = torch.where(text_states_mask[:,-self.text_len:].unsqueeze(2), text_states[:,-self.text_len:], padding[:self.text_len]) + text_states_t5[:,-self.text_len_t5:] = torch.where(text_states_t5_mask[:,-self.text_len_t5:].unsqueeze(2), text_states_t5[:,-self.text_len_t5:], padding[self.text_len:]) + + text_states = torch.cat([text_states, text_states_t5], dim=1) # 2,205,1024 + # clip_t5_mask = torch.cat([text_states_mask, text_states_t5_mask], dim=-1) + + _, _, oh, ow = x.shape + th, tw = (oh + (self.patch_size // 2)) // self.patch_size, (ow + (self.patch_size // 2)) // self.patch_size + + + # Get image RoPE embedding according to `reso`lution. + freqs_cis_img = calc_rope(x, self.patch_size, self.hidden_size // self.num_heads) #(cos_cis_img, sin_cis_img) + + # ========================= Build time and image embedding ========================= + t = self.t_embedder(t, dtype=x.dtype) + x = self.x_embedder(x) + + # ========================= Concatenate all extra vectors ========================= + # Build text tokens with pooling + extra_vec = self.pooler(encoder_hidden_states_t5) + + # Build image meta size tokens if applicable + if self.size_cond: + image_meta_size = timestep_embedding(image_meta_size.view(-1), 256).to(x.dtype) # [B * 6, 256] + image_meta_size = image_meta_size.view(-1, 6 * 256) + extra_vec = torch.cat([extra_vec, image_meta_size], dim=1) # [B, D + 6 * 256] + + # Build style tokens + if self.use_style_cond: + if style is None: + style = torch.zeros((extra_vec.shape[0],), device=x.device, dtype=torch.int) + style_embedding = self.style_embedder(style, out_dtype=x.dtype) + extra_vec = torch.cat([extra_vec, style_embedding], dim=1) + + # Concatenate all extra vectors + c = t + self.extra_embedder(extra_vec) # [B, D] + + blocks_replace = patches_replace.get("dit", {}) + + controls = None + if control: + controls = control.get("output", None) + # ========================= Forward pass through HunYuanDiT blocks ========================= + skips = [] + for layer, block in enumerate(self.blocks): + if layer > self.depth // 2: + if controls is not None: + skip = skips.pop() + controls.pop().to(dtype=x.dtype) + else: + skip = skips.pop() + else: + skip = None + + if ("double_block", layer) in blocks_replace: + def block_wrap(args): + out = {} + out["img"] = block(args["img"], args["vec"], args["txt"], args["pe"], args["skip"]) + return out + + out = blocks_replace[("double_block", layer)]({"img": x, "txt": text_states, "vec": c, "pe": freqs_cis_img, "skip": skip}, {"original_block": block_wrap}) + x = out["img"] + else: + x = block(x, c, text_states, freqs_cis_img, skip) # (N, L, D) + + + if layer < (self.depth // 2 - 1): + skips.append(x) + if controls is not None and len(controls) != 0: + raise ValueError("The number of controls is not equal to the number of skip connections.") + + # ========================= Final layer ========================= + x = self.final_layer(x, c) # (N, L, patch_size ** 2 * out_channels) + x = self.unpatchify(x, th, tw) # (N, out_channels, H, W) + + if return_dict: + return {'x': x} + if self.learn_sigma: + return x[:,:self.out_channels // 2,:oh,:ow] + return x[:,:,:oh,:ow] + + def unpatchify(self, x, h, w): + """ + x: (N, T, patch_size**2 * C) + imgs: (N, H, W, C) + """ + c = self.unpatchify_channels + p = self.x_embedder.patch_size[0] + # h = w = int(x.shape[1] ** 0.5) + assert h * w == x.shape[1] + + x = x.reshape(shape=(x.shape[0], h, w, p, p, c)) + x = torch.einsum('nhwpqc->nchpwq', x) + imgs = x.reshape(shape=(x.shape[0], c, h * p, w * p)) + return imgs diff --git a/comfy/ldm/hydit/poolers.py b/comfy/ldm/hydit/poolers.py new file mode 100644 index 0000000000000000000000000000000000000000..c1b878ed6b0541116794635c5c1b53a7ca13af47 --- /dev/null +++ b/comfy/ldm/hydit/poolers.py @@ -0,0 +1,36 @@ +import torch +import torch.nn as nn +from comfy.ldm.modules.attention import optimized_attention +import comfy.ops + +class AttentionPool(nn.Module): + def __init__(self, spacial_dim: int, embed_dim: int, num_heads: int, output_dim: int = None, dtype=None, device=None, operations=None): + super().__init__() + self.positional_embedding = nn.Parameter(torch.empty(spacial_dim + 1, embed_dim, dtype=dtype, device=device)) + self.k_proj = operations.Linear(embed_dim, embed_dim, dtype=dtype, device=device) + self.q_proj = operations.Linear(embed_dim, embed_dim, dtype=dtype, device=device) + self.v_proj = operations.Linear(embed_dim, embed_dim, dtype=dtype, device=device) + self.c_proj = operations.Linear(embed_dim, output_dim or embed_dim, dtype=dtype, device=device) + self.num_heads = num_heads + self.embed_dim = embed_dim + + def forward(self, x): + x = x[:,:self.positional_embedding.shape[0] - 1] + x = x.permute(1, 0, 2) # NLC -> LNC + x = torch.cat([x.mean(dim=0, keepdim=True), x], dim=0) # (L+1)NC + x = x + comfy.ops.cast_to_input(self.positional_embedding[:, None, :], x) # (L+1)NC + + q = self.q_proj(x[:1]) + k = self.k_proj(x) + v = self.v_proj(x) + + batch_size = q.shape[1] + head_dim = self.embed_dim // self.num_heads + q = q.view(1, batch_size * self.num_heads, head_dim).transpose(0, 1).view(batch_size, self.num_heads, -1, head_dim) + k = k.view(k.shape[0], batch_size * self.num_heads, head_dim).transpose(0, 1).view(batch_size, self.num_heads, -1, head_dim) + v = v.view(v.shape[0], batch_size * self.num_heads, head_dim).transpose(0, 1).view(batch_size, self.num_heads, -1, head_dim) + + attn_output = optimized_attention(q, k, v, self.num_heads, skip_reshape=True).transpose(0, 1) + + attn_output = self.c_proj(attn_output) + return attn_output.squeeze(0) diff --git a/comfy/ldm/hydit/posemb_layers.py b/comfy/ldm/hydit/posemb_layers.py new file mode 100644 index 0000000000000000000000000000000000000000..dcb41a713cd94ea8472ff26e8865066887b1e486 --- /dev/null +++ b/comfy/ldm/hydit/posemb_layers.py @@ -0,0 +1,224 @@ +import torch +import numpy as np +from typing import Union + + +def _to_tuple(x): + if isinstance(x, int): + return x, x + else: + return x + + +def get_fill_resize_and_crop(src, tgt): + th, tw = _to_tuple(tgt) + h, w = _to_tuple(src) + + tr = th / tw # base resolution + r = h / w # target resolution + + # resize + if r > tr: + resize_height = th + resize_width = int(round(th / h * w)) + else: + resize_width = tw + resize_height = int(round(tw / w * h)) # resize the target resolution down based on the base resolution + + crop_top = int(round((th - resize_height) / 2.0)) + crop_left = int(round((tw - resize_width) / 2.0)) + + return (crop_top, crop_left), (crop_top + resize_height, crop_left + resize_width) + + +def get_meshgrid(start, *args): + if len(args) == 0: + # start is grid_size + num = _to_tuple(start) + start = (0, 0) + stop = num + elif len(args) == 1: + # start is start, args[0] is stop, step is 1 + start = _to_tuple(start) + stop = _to_tuple(args[0]) + num = (stop[0] - start[0], stop[1] - start[1]) + elif len(args) == 2: + # start is start, args[0] is stop, args[1] is num + start = _to_tuple(start) + stop = _to_tuple(args[0]) + num = _to_tuple(args[1]) + else: + raise ValueError(f"len(args) should be 0, 1 or 2, but got {len(args)}") + + grid_h = np.linspace(start[0], stop[0], num[0], endpoint=False, dtype=np.float32) + grid_w = np.linspace(start[1], stop[1], num[1], endpoint=False, dtype=np.float32) + grid = np.meshgrid(grid_w, grid_h) # here w goes first + grid = np.stack(grid, axis=0) # [2, W, H] + return grid + +################################################################################# +# Sine/Cosine Positional Embedding Functions # +################################################################################# +# https://github.com/facebookresearch/mae/blob/main/util/pos_embed.py + +def get_2d_sincos_pos_embed(embed_dim, start, *args, cls_token=False, extra_tokens=0): + """ + grid_size: int of the grid height and width + return: + pos_embed: [grid_size*grid_size, embed_dim] or [1+grid_size*grid_size, embed_dim] (w/ or w/o cls_token) + """ + grid = get_meshgrid(start, *args) # [2, H, w] + # grid_h = np.arange(grid_size, dtype=np.float32) + # grid_w = np.arange(grid_size, dtype=np.float32) + # grid = np.meshgrid(grid_w, grid_h) # here w goes first + # grid = np.stack(grid, axis=0) # [2, W, H] + + grid = grid.reshape([2, 1, *grid.shape[1:]]) + pos_embed = get_2d_sincos_pos_embed_from_grid(embed_dim, grid) + if cls_token and extra_tokens > 0: + pos_embed = np.concatenate([np.zeros([extra_tokens, embed_dim]), pos_embed], axis=0) + return pos_embed + + +def get_2d_sincos_pos_embed_from_grid(embed_dim, grid): + assert embed_dim % 2 == 0 + + # use half of dimensions to encode grid_h + emb_h = get_1d_sincos_pos_embed_from_grid(embed_dim // 2, grid[0]) # (H*W, D/2) + emb_w = get_1d_sincos_pos_embed_from_grid(embed_dim // 2, grid[1]) # (H*W, D/2) + + emb = np.concatenate([emb_h, emb_w], axis=1) # (H*W, D) + return emb + + +def get_1d_sincos_pos_embed_from_grid(embed_dim, pos): + """ + embed_dim: output dimension for each position + pos: a list of positions to be encoded: size (W,H) + out: (M, D) + """ + assert embed_dim % 2 == 0 + omega = np.arange(embed_dim // 2, dtype=np.float64) + omega /= embed_dim / 2. + omega = 1. / 10000**omega # (D/2,) + + pos = pos.reshape(-1) # (M,) + out = np.einsum('m,d->md', pos, omega) # (M, D/2), outer product + + emb_sin = np.sin(out) # (M, D/2) + emb_cos = np.cos(out) # (M, D/2) + + emb = np.concatenate([emb_sin, emb_cos], axis=1) # (M, D) + return emb + + +################################################################################# +# Rotary Positional Embedding Functions # +################################################################################# +# https://github.com/facebookresearch/llama/blob/main/llama/model.py#L443 + +def get_2d_rotary_pos_embed(embed_dim, start, *args, use_real=True): + """ + This is a 2d version of precompute_freqs_cis, which is a RoPE for image tokens with 2d structure. + + Parameters + ---------- + embed_dim: int + embedding dimension size + start: int or tuple of int + If len(args) == 0, start is num; If len(args) == 1, start is start, args[0] is stop, step is 1; + If len(args) == 2, start is start, args[0] is stop, args[1] is num. + use_real: bool + If True, return real part and imaginary part separately. Otherwise, return complex numbers. + + Returns + ------- + pos_embed: torch.Tensor + [HW, D/2] + """ + grid = get_meshgrid(start, *args) # [2, H, w] + grid = grid.reshape([2, 1, *grid.shape[1:]]) # Returns a sampling matrix with the same resolution as the target resolution + pos_embed = get_2d_rotary_pos_embed_from_grid(embed_dim, grid, use_real=use_real) + return pos_embed + + +def get_2d_rotary_pos_embed_from_grid(embed_dim, grid, use_real=False): + assert embed_dim % 4 == 0 + + # use half of dimensions to encode grid_h + emb_h = get_1d_rotary_pos_embed(embed_dim // 2, grid[0].reshape(-1), use_real=use_real) # (H*W, D/4) + emb_w = get_1d_rotary_pos_embed(embed_dim // 2, grid[1].reshape(-1), use_real=use_real) # (H*W, D/4) + + if use_real: + cos = torch.cat([emb_h[0], emb_w[0]], dim=1) # (H*W, D/2) + sin = torch.cat([emb_h[1], emb_w[1]], dim=1) # (H*W, D/2) + return cos, sin + else: + emb = torch.cat([emb_h, emb_w], dim=1) # (H*W, D/2) + return emb + + +def get_1d_rotary_pos_embed(dim: int, pos: Union[np.ndarray, int], theta: float = 10000.0, use_real=False): + """ + Precompute the frequency tensor for complex exponentials (cis) with given dimensions. + + This function calculates a frequency tensor with complex exponentials using the given dimension 'dim' + and the end index 'end'. The 'theta' parameter scales the frequencies. + The returned tensor contains complex values in complex64 data type. + + Args: + dim (int): Dimension of the frequency tensor. + pos (np.ndarray, int): Position indices for the frequency tensor. [S] or scalar + theta (float, optional): Scaling factor for frequency computation. Defaults to 10000.0. + use_real (bool, optional): If True, return real part and imaginary part separately. + Otherwise, return complex numbers. + + Returns: + torch.Tensor: Precomputed frequency tensor with complex exponentials. [S, D/2] + + """ + if isinstance(pos, int): + pos = np.arange(pos) + freqs = 1.0 / (theta ** (torch.arange(0, dim, 2)[: (dim // 2)].float() / dim)) # [D/2] + t = torch.from_numpy(pos).to(freqs.device) # type: ignore # [S] + freqs = torch.outer(t, freqs).float() # type: ignore # [S, D/2] + if use_real: + freqs_cos = freqs.cos().repeat_interleave(2, dim=1) # [S, D] + freqs_sin = freqs.sin().repeat_interleave(2, dim=1) # [S, D] + return freqs_cos, freqs_sin + else: + freqs_cis = torch.polar(torch.ones_like(freqs), freqs) # complex64 # [S, D/2] + return freqs_cis + + + +def calc_sizes(rope_img, patch_size, th, tw): + if rope_img == 'extend': + # Expansion mode + sub_args = [(th, tw)] + elif rope_img.startswith('base'): + # Based on the specified dimensions, other dimensions are obtained through interpolation. + base_size = int(rope_img[4:]) // 8 // patch_size + start, stop = get_fill_resize_and_crop((th, tw), base_size) + sub_args = [start, stop, (th, tw)] + else: + raise ValueError(f"Unknown rope_img: {rope_img}") + return sub_args + + +def init_image_posemb(rope_img, + resolutions, + patch_size, + hidden_size, + num_heads, + log_fn, + rope_real=True, + ): + freqs_cis_img = {} + for reso in resolutions: + th, tw = reso.height // 8 // patch_size, reso.width // 8 // patch_size + sub_args = calc_sizes(rope_img, patch_size, th, tw) + freqs_cis_img[str(reso)] = get_2d_rotary_pos_embed(hidden_size // num_heads, *sub_args, use_real=rope_real) + log_fn(f" Using image RoPE ({rope_img}) ({'real' if rope_real else 'complex'}): {sub_args} | ({reso}) " + f"{freqs_cis_img[str(reso)][0].shape if rope_real else freqs_cis_img[str(reso)].shape}") + return freqs_cis_img diff --git a/comfy/ldm/lightricks/model.py b/comfy/ldm/lightricks/model.py new file mode 100644 index 0000000000000000000000000000000000000000..2a02acd653e52b4bb31f760a85b8402a7cfc6bf4 --- /dev/null +++ b/comfy/ldm/lightricks/model.py @@ -0,0 +1,526 @@ +import torch +from torch import nn +import comfy.ldm.modules.attention +from comfy.ldm.genmo.joint_model.layers import RMSNorm +import comfy.ldm.common_dit +from einops import rearrange +import math +from typing import Dict, Optional, Tuple + +from .symmetric_patchifier import SymmetricPatchifier + + +def get_timestep_embedding( + timesteps: torch.Tensor, + embedding_dim: int, + flip_sin_to_cos: bool = False, + downscale_freq_shift: float = 1, + scale: float = 1, + max_period: int = 10000, +): + """ + This matches the implementation in Denoising Diffusion Probabilistic Models: Create sinusoidal timestep embeddings. + + Args + timesteps (torch.Tensor): + a 1-D Tensor of N indices, one per batch element. These may be fractional. + embedding_dim (int): + the dimension of the output. + flip_sin_to_cos (bool): + Whether the embedding order should be `cos, sin` (if True) or `sin, cos` (if False) + downscale_freq_shift (float): + Controls the delta between frequencies between dimensions + scale (float): + Scaling factor applied to the embeddings. + max_period (int): + Controls the maximum frequency of the embeddings + Returns + torch.Tensor: an [N x dim] Tensor of positional embeddings. + """ + assert len(timesteps.shape) == 1, "Timesteps should be a 1d-array" + + half_dim = embedding_dim // 2 + exponent = -math.log(max_period) * torch.arange( + start=0, end=half_dim, dtype=torch.float32, device=timesteps.device + ) + exponent = exponent / (half_dim - downscale_freq_shift) + + emb = torch.exp(exponent) + emb = timesteps[:, None].float() * emb[None, :] + + # scale embeddings + emb = scale * emb + + # concat sine and cosine embeddings + emb = torch.cat([torch.sin(emb), torch.cos(emb)], dim=-1) + + # flip sine and cosine embeddings + if flip_sin_to_cos: + emb = torch.cat([emb[:, half_dim:], emb[:, :half_dim]], dim=-1) + + # zero pad + if embedding_dim % 2 == 1: + emb = torch.nn.functional.pad(emb, (0, 1, 0, 0)) + return emb + + +class TimestepEmbedding(nn.Module): + def __init__( + self, + in_channels: int, + time_embed_dim: int, + act_fn: str = "silu", + out_dim: int = None, + post_act_fn: Optional[str] = None, + cond_proj_dim=None, + sample_proj_bias=True, + dtype=None, device=None, operations=None, + ): + super().__init__() + + self.linear_1 = operations.Linear(in_channels, time_embed_dim, sample_proj_bias, dtype=dtype, device=device) + + if cond_proj_dim is not None: + self.cond_proj = operations.Linear(cond_proj_dim, in_channels, bias=False, dtype=dtype, device=device) + else: + self.cond_proj = None + + self.act = nn.SiLU() + + if out_dim is not None: + time_embed_dim_out = out_dim + else: + time_embed_dim_out = time_embed_dim + self.linear_2 = operations.Linear(time_embed_dim, time_embed_dim_out, sample_proj_bias, dtype=dtype, device=device) + + if post_act_fn is None: + self.post_act = None + # else: + # self.post_act = get_activation(post_act_fn) + + def forward(self, sample, condition=None): + if condition is not None: + sample = sample + self.cond_proj(condition) + sample = self.linear_1(sample) + + if self.act is not None: + sample = self.act(sample) + + sample = self.linear_2(sample) + + if self.post_act is not None: + sample = self.post_act(sample) + return sample + + +class Timesteps(nn.Module): + def __init__(self, num_channels: int, flip_sin_to_cos: bool, downscale_freq_shift: float, scale: int = 1): + super().__init__() + self.num_channels = num_channels + self.flip_sin_to_cos = flip_sin_to_cos + self.downscale_freq_shift = downscale_freq_shift + self.scale = scale + + def forward(self, timesteps): + t_emb = get_timestep_embedding( + timesteps, + self.num_channels, + flip_sin_to_cos=self.flip_sin_to_cos, + downscale_freq_shift=self.downscale_freq_shift, + scale=self.scale, + ) + return t_emb + + +class PixArtAlphaCombinedTimestepSizeEmbeddings(nn.Module): + """ + For PixArt-Alpha. + + Reference: + https://github.com/PixArt-alpha/PixArt-alpha/blob/0f55e922376d8b797edd44d25d0e7464b260dcab/diffusion/model/nets/PixArtMS.py#L164C9-L168C29 + """ + + def __init__(self, embedding_dim, size_emb_dim, use_additional_conditions: bool = False, dtype=None, device=None, operations=None): + super().__init__() + + self.outdim = size_emb_dim + self.time_proj = Timesteps(num_channels=256, flip_sin_to_cos=True, downscale_freq_shift=0) + self.timestep_embedder = TimestepEmbedding(in_channels=256, time_embed_dim=embedding_dim, dtype=dtype, device=device, operations=operations) + + def forward(self, timestep, resolution, aspect_ratio, batch_size, hidden_dtype): + timesteps_proj = self.time_proj(timestep) + timesteps_emb = self.timestep_embedder(timesteps_proj.to(dtype=hidden_dtype)) # (N, D) + return timesteps_emb + + +class AdaLayerNormSingle(nn.Module): + r""" + Norm layer adaptive layer norm single (adaLN-single). + + As proposed in PixArt-Alpha (see: https://arxiv.org/abs/2310.00426; Section 2.3). + + Parameters: + embedding_dim (`int`): The size of each embedding vector. + use_additional_conditions (`bool`): To use additional conditions for normalization or not. + """ + + def __init__(self, embedding_dim: int, use_additional_conditions: bool = False, dtype=None, device=None, operations=None): + super().__init__() + + self.emb = PixArtAlphaCombinedTimestepSizeEmbeddings( + embedding_dim, size_emb_dim=embedding_dim // 3, use_additional_conditions=use_additional_conditions, dtype=dtype, device=device, operations=operations + ) + + self.silu = nn.SiLU() + self.linear = operations.Linear(embedding_dim, 6 * embedding_dim, bias=True, dtype=dtype, device=device) + + def forward( + self, + timestep: torch.Tensor, + added_cond_kwargs: Optional[Dict[str, torch.Tensor]] = None, + batch_size: Optional[int] = None, + hidden_dtype: Optional[torch.dtype] = None, + ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor]: + # No modulation happening here. + added_cond_kwargs = added_cond_kwargs or {"resolution": None, "aspect_ratio": None} + embedded_timestep = self.emb(timestep, **added_cond_kwargs, batch_size=batch_size, hidden_dtype=hidden_dtype) + return self.linear(self.silu(embedded_timestep)), embedded_timestep + +class PixArtAlphaTextProjection(nn.Module): + """ + Projects caption embeddings. Also handles dropout for classifier-free guidance. + + Adapted from https://github.com/PixArt-alpha/PixArt-alpha/blob/master/diffusion/model/nets/PixArt_blocks.py + """ + + def __init__(self, in_features, hidden_size, out_features=None, act_fn="gelu_tanh", dtype=None, device=None, operations=None): + super().__init__() + if out_features is None: + out_features = hidden_size + self.linear_1 = operations.Linear(in_features=in_features, out_features=hidden_size, bias=True, dtype=dtype, device=device) + if act_fn == "gelu_tanh": + self.act_1 = nn.GELU(approximate="tanh") + elif act_fn == "silu": + self.act_1 = nn.SiLU() + else: + raise ValueError(f"Unknown activation function: {act_fn}") + self.linear_2 = operations.Linear(in_features=hidden_size, out_features=out_features, bias=True, dtype=dtype, device=device) + + def forward(self, caption): + hidden_states = self.linear_1(caption) + hidden_states = self.act_1(hidden_states) + hidden_states = self.linear_2(hidden_states) + return hidden_states + + +class GELU_approx(nn.Module): + def __init__(self, dim_in, dim_out, dtype=None, device=None, operations=None): + super().__init__() + self.proj = operations.Linear(dim_in, dim_out, dtype=dtype, device=device) + + def forward(self, x): + return torch.nn.functional.gelu(self.proj(x), approximate="tanh") + + +class FeedForward(nn.Module): + def __init__(self, dim, dim_out, mult=4, glu=False, dropout=0., dtype=None, device=None, operations=None): + super().__init__() + inner_dim = int(dim * mult) + project_in = GELU_approx(dim, inner_dim, dtype=dtype, device=device, operations=operations) + + self.net = nn.Sequential( + project_in, + nn.Dropout(dropout), + operations.Linear(inner_dim, dim_out, dtype=dtype, device=device) + ) + + def forward(self, x): + return self.net(x) + + +def apply_rotary_emb(input_tensor, freqs_cis): #TODO: remove duplicate funcs and pick the best/fastest one + cos_freqs = freqs_cis[0] + sin_freqs = freqs_cis[1] + + t_dup = rearrange(input_tensor, "... (d r) -> ... d r", r=2) + t1, t2 = t_dup.unbind(dim=-1) + t_dup = torch.stack((-t2, t1), dim=-1) + input_tensor_rot = rearrange(t_dup, "... d r -> ... (d r)") + + out = input_tensor * cos_freqs + input_tensor_rot * sin_freqs + + return out + + +class CrossAttention(nn.Module): + def __init__(self, query_dim, context_dim=None, heads=8, dim_head=64, dropout=0., attn_precision=None, dtype=None, device=None, operations=None): + super().__init__() + inner_dim = dim_head * heads + context_dim = query_dim if context_dim is None else context_dim + self.attn_precision = attn_precision + + self.heads = heads + self.dim_head = dim_head + + self.q_norm = RMSNorm(inner_dim, dtype=dtype, device=device) + self.k_norm = RMSNorm(inner_dim, dtype=dtype, device=device) + + self.to_q = operations.Linear(query_dim, inner_dim, bias=True, dtype=dtype, device=device) + self.to_k = operations.Linear(context_dim, inner_dim, bias=True, dtype=dtype, device=device) + self.to_v = operations.Linear(context_dim, inner_dim, bias=True, dtype=dtype, device=device) + + self.to_out = nn.Sequential(operations.Linear(inner_dim, query_dim, dtype=dtype, device=device), nn.Dropout(dropout)) + + def forward(self, x, context=None, mask=None, pe=None): + q = self.to_q(x) + context = x if context is None else context + k = self.to_k(context) + v = self.to_v(context) + + q = self.q_norm(q) + k = self.k_norm(k) + + if pe is not None: + q = apply_rotary_emb(q, pe) + k = apply_rotary_emb(k, pe) + + if mask is None: + out = comfy.ldm.modules.attention.optimized_attention(q, k, v, self.heads, attn_precision=self.attn_precision) + else: + out = comfy.ldm.modules.attention.optimized_attention_masked(q, k, v, self.heads, mask, attn_precision=self.attn_precision) + return self.to_out(out) + + +class BasicTransformerBlock(nn.Module): + def __init__(self, dim, n_heads, d_head, context_dim=None, attn_precision=None, dtype=None, device=None, operations=None): + super().__init__() + + self.attn_precision = attn_precision + self.attn1 = CrossAttention(query_dim=dim, heads=n_heads, dim_head=d_head, context_dim=None, attn_precision=self.attn_precision, dtype=dtype, device=device, operations=operations) + self.ff = FeedForward(dim, dim_out=dim, glu=True, dtype=dtype, device=device, operations=operations) + + self.attn2 = CrossAttention(query_dim=dim, context_dim=context_dim, heads=n_heads, dim_head=d_head, attn_precision=self.attn_precision, dtype=dtype, device=device, operations=operations) + + self.scale_shift_table = nn.Parameter(torch.empty(6, dim, device=device, dtype=dtype)) + + def forward(self, x, context=None, attention_mask=None, timestep=None, pe=None): + shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp = (self.scale_shift_table[None, None].to(device=x.device, dtype=x.dtype) + timestep.reshape(x.shape[0], timestep.shape[1], self.scale_shift_table.shape[0], -1)).unbind(dim=2) + + x += self.attn1(comfy.ldm.common_dit.rms_norm(x) * (1 + scale_msa) + shift_msa, pe=pe) * gate_msa + + x += self.attn2(x, context=context, mask=attention_mask) + + y = comfy.ldm.common_dit.rms_norm(x) * (1 + scale_mlp) + shift_mlp + x += self.ff(y) * gate_mlp + + return x + +def get_fractional_positions(indices_grid, max_pos): + fractional_positions = torch.stack( + [ + indices_grid[:, i] / max_pos[i] + for i in range(3) + ], + dim=-1, + ) + return fractional_positions + + +def precompute_freqs_cis(indices_grid, dim, out_dtype, theta=10000.0, max_pos=[20, 2048, 2048]): + dtype = torch.float32 #self.dtype + + fractional_positions = get_fractional_positions(indices_grid, max_pos) + + start = 1 + end = theta + device = fractional_positions.device + + indices = theta ** ( + torch.linspace( + math.log(start, theta), + math.log(end, theta), + dim // 6, + device=device, + dtype=dtype, + ) + ) + indices = indices.to(dtype=dtype) + + indices = indices * math.pi / 2 + + freqs = ( + (indices * (fractional_positions.unsqueeze(-1) * 2 - 1)) + .transpose(-1, -2) + .flatten(2) + ) + + cos_freq = freqs.cos().repeat_interleave(2, dim=-1) + sin_freq = freqs.sin().repeat_interleave(2, dim=-1) + if dim % 6 != 0: + cos_padding = torch.ones_like(cos_freq[:, :, : dim % 6]) + sin_padding = torch.zeros_like(cos_freq[:, :, : dim % 6]) + cos_freq = torch.cat([cos_padding, cos_freq], dim=-1) + sin_freq = torch.cat([sin_padding, sin_freq], dim=-1) + return cos_freq.to(out_dtype), sin_freq.to(out_dtype) + + +class LTXVModel(torch.nn.Module): + def __init__(self, + in_channels=128, + cross_attention_dim=2048, + attention_head_dim=64, + num_attention_heads=32, + + caption_channels=4096, + num_layers=28, + + + positional_embedding_theta=10000.0, + positional_embedding_max_pos=[20, 2048, 2048], + dtype=None, device=None, operations=None, **kwargs): + super().__init__() + self.generator = None + self.dtype = dtype + self.out_channels = in_channels + self.inner_dim = num_attention_heads * attention_head_dim + + self.patchify_proj = operations.Linear(in_channels, self.inner_dim, bias=True, dtype=dtype, device=device) + + self.adaln_single = AdaLayerNormSingle( + self.inner_dim, use_additional_conditions=False, dtype=dtype, device=device, operations=operations + ) + + # self.adaln_single.linear = operations.Linear(self.inner_dim, 4 * self.inner_dim, bias=True, dtype=dtype, device=device) + + self.caption_projection = PixArtAlphaTextProjection( + in_features=caption_channels, hidden_size=self.inner_dim, dtype=dtype, device=device, operations=operations + ) + + self.transformer_blocks = nn.ModuleList( + [ + BasicTransformerBlock( + self.inner_dim, + num_attention_heads, + attention_head_dim, + context_dim=cross_attention_dim, + # attn_precision=attn_precision, + dtype=dtype, device=device, operations=operations + ) + for d in range(num_layers) + ] + ) + + self.scale_shift_table = nn.Parameter(torch.empty(2, self.inner_dim, dtype=dtype, device=device)) + self.norm_out = operations.LayerNorm(self.inner_dim, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.proj_out = operations.Linear(self.inner_dim, self.out_channels, dtype=dtype, device=device) + + self.patchifier = SymmetricPatchifier(1) + + def forward(self, x, timestep, context, attention_mask, frame_rate=25, guiding_latent=None, guiding_latent_noise_scale=0, transformer_options={}, **kwargs): + patches_replace = transformer_options.get("patches_replace", {}) + + indices_grid = self.patchifier.get_grid( + orig_num_frames=x.shape[2], + orig_height=x.shape[3], + orig_width=x.shape[4], + batch_size=x.shape[0], + scale_grid=((1 / frame_rate) * 8, 32, 32), + device=x.device, + ) + + if guiding_latent is not None: + ts = torch.ones([x.shape[0], 1, x.shape[2], x.shape[3], x.shape[4]], device=x.device, dtype=x.dtype) + input_ts = timestep.view([timestep.shape[0]] + [1] * (x.ndim - 1)) + ts *= input_ts + ts[:, :, 0] = guiding_latent_noise_scale * (input_ts[:, :, 0] ** 2) + timestep = self.patchifier.patchify(ts) + input_x = x.clone() + x[:, :, 0] = guiding_latent[:, :, 0] + if guiding_latent_noise_scale > 0: + if self.generator is None: + self.generator = torch.Generator(device=x.device).manual_seed(42) + elif self.generator.device != x.device: + self.generator = torch.Generator(device=x.device).set_state(self.generator.get_state()) + + noise_shape = [guiding_latent.shape[0], guiding_latent.shape[1], 1, guiding_latent.shape[3], guiding_latent.shape[4]] + scale = guiding_latent_noise_scale * (input_ts ** 2) + guiding_noise = scale * torch.randn(size=noise_shape, device=x.device, generator=self.generator) + + x[:, :, 0] = guiding_noise[:, :, 0] + x[:, :, 0] * (1.0 - scale[:, :, 0]) + + + orig_shape = list(x.shape) + + x = self.patchifier.patchify(x) + + x = self.patchify_proj(x) + timestep = timestep * 1000.0 + + if attention_mask is not None and not torch.is_floating_point(attention_mask): + attention_mask = (attention_mask - 1).to(x.dtype).reshape((attention_mask.shape[0], 1, -1, attention_mask.shape[-1])) * torch.finfo(x.dtype).max + + pe = precompute_freqs_cis(indices_grid, dim=self.inner_dim, out_dtype=x.dtype) + + batch_size = x.shape[0] + timestep, embedded_timestep = self.adaln_single( + timestep.flatten(), + {"resolution": None, "aspect_ratio": None}, + batch_size=batch_size, + hidden_dtype=x.dtype, + ) + # Second dimension is 1 or number of tokens (if timestep_per_token) + timestep = timestep.view(batch_size, -1, timestep.shape[-1]) + embedded_timestep = embedded_timestep.view( + batch_size, -1, embedded_timestep.shape[-1] + ) + + # 2. Blocks + if self.caption_projection is not None: + batch_size = x.shape[0] + context = self.caption_projection(context) + context = context.view( + batch_size, -1, x.shape[-1] + ) + + blocks_replace = patches_replace.get("dit", {}) + for i, block in enumerate(self.transformer_blocks): + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"] = block(args["img"], context=args["txt"], attention_mask=args["attention_mask"], timestep=args["vec"], pe=args["pe"]) + return out + + out = blocks_replace[("double_block", i)]({"img": x, "txt": context, "attention_mask": attention_mask, "vec": timestep, "pe": pe}, {"original_block": block_wrap}) + x = out["img"] + else: + x = block( + x, + context=context, + attention_mask=attention_mask, + timestep=timestep, + pe=pe + ) + + # 3. Output + scale_shift_values = ( + self.scale_shift_table[None, None].to(device=x.device, dtype=x.dtype) + embedded_timestep[:, :, None] + ) + shift, scale = scale_shift_values[:, :, 0], scale_shift_values[:, :, 1] + x = self.norm_out(x) + # Modulation + x = x * (1 + scale) + shift + x = self.proj_out(x) + + x = self.patchifier.unpatchify( + latents=x, + output_height=orig_shape[3], + output_width=orig_shape[4], + output_num_frames=orig_shape[2], + out_channels=orig_shape[1] // math.prod(self.patchifier.patch_size), + ) + + if guiding_latent is not None: + x[:, :, 0] = (input_x[:, :, 0] - guiding_latent[:, :, 0]) / input_ts[:, :, 0] + + # print("res", x) + return x diff --git a/comfy/ldm/lightricks/symmetric_patchifier.py b/comfy/ldm/lightricks/symmetric_patchifier.py new file mode 100644 index 0000000000000000000000000000000000000000..c58dfb20b8ac94bd7c31348cec9015541fe03848 --- /dev/null +++ b/comfy/ldm/lightricks/symmetric_patchifier.py @@ -0,0 +1,105 @@ +from abc import ABC, abstractmethod +from typing import Tuple + +import torch +from einops import rearrange +from torch import Tensor + + +def append_dims(x: torch.Tensor, target_dims: int) -> torch.Tensor: + """Appends dimensions to the end of a tensor until it has target_dims dimensions.""" + dims_to_append = target_dims - x.ndim + if dims_to_append < 0: + raise ValueError( + f"input has {x.ndim} dims but target_dims is {target_dims}, which is less" + ) + elif dims_to_append == 0: + return x + return x[(...,) + (None,) * dims_to_append] + + +class Patchifier(ABC): + def __init__(self, patch_size: int): + super().__init__() + self._patch_size = (1, patch_size, patch_size) + + @abstractmethod + def patchify( + self, latents: Tensor, frame_rates: Tensor, scale_grid: bool + ) -> Tuple[Tensor, Tensor]: + pass + + @abstractmethod + def unpatchify( + self, + latents: Tensor, + output_height: int, + output_width: int, + output_num_frames: int, + out_channels: int, + ) -> Tuple[Tensor, Tensor]: + pass + + @property + def patch_size(self): + return self._patch_size + + def get_grid( + self, orig_num_frames, orig_height, orig_width, batch_size, scale_grid, device + ): + f = orig_num_frames // self._patch_size[0] + h = orig_height // self._patch_size[1] + w = orig_width // self._patch_size[2] + grid_h = torch.arange(h, dtype=torch.float32, device=device) + grid_w = torch.arange(w, dtype=torch.float32, device=device) + grid_f = torch.arange(f, dtype=torch.float32, device=device) + grid = torch.meshgrid(grid_f, grid_h, grid_w, indexing='ij') + grid = torch.stack(grid, dim=0) + grid = grid.unsqueeze(0).repeat(batch_size, 1, 1, 1, 1) + + if scale_grid is not None: + for i in range(3): + if isinstance(scale_grid[i], Tensor): + scale = append_dims(scale_grid[i], grid.ndim - 1) + else: + scale = scale_grid[i] + grid[:, i, ...] = grid[:, i, ...] * scale * self._patch_size[i] + + grid = rearrange(grid, "b c f h w -> b c (f h w)", b=batch_size) + return grid + + +class SymmetricPatchifier(Patchifier): + def patchify( + self, + latents: Tensor, + ) -> Tuple[Tensor, Tensor]: + latents = rearrange( + latents, + "b c (f p1) (h p2) (w p3) -> b (f h w) (c p1 p2 p3)", + p1=self._patch_size[0], + p2=self._patch_size[1], + p3=self._patch_size[2], + ) + return latents + + def unpatchify( + self, + latents: Tensor, + output_height: int, + output_width: int, + output_num_frames: int, + out_channels: int, + ) -> Tuple[Tensor, Tensor]: + output_height = output_height // self._patch_size[1] + output_width = output_width // self._patch_size[2] + latents = rearrange( + latents, + "b (f h w) (c p q) -> b c f (h p) (w q) ", + f=output_num_frames, + h=output_height, + w=output_width, + p=self._patch_size[1], + q=self._patch_size[2], + ) + return latents diff --git a/comfy/ldm/lightricks/vae/causal_conv3d.py b/comfy/ldm/lightricks/vae/causal_conv3d.py new file mode 100644 index 0000000000000000000000000000000000000000..c572e7e860eff4b2f561a49d0ab427645efa3f5e --- /dev/null +++ b/comfy/ldm/lightricks/vae/causal_conv3d.py @@ -0,0 +1,64 @@ +from typing import Tuple, Union + +import torch +import torch.nn as nn +import comfy.ops +ops = comfy.ops.disable_weight_init + + +class CausalConv3d(nn.Module): + def __init__( + self, + in_channels, + out_channels, + kernel_size: int = 3, + stride: Union[int, Tuple[int]] = 1, + dilation: int = 1, + groups: int = 1, + **kwargs, + ): + super().__init__() + + self.in_channels = in_channels + self.out_channels = out_channels + + kernel_size = (kernel_size, kernel_size, kernel_size) + self.time_kernel_size = kernel_size[0] + + dilation = (dilation, 1, 1) + + height_pad = kernel_size[1] // 2 + width_pad = kernel_size[2] // 2 + padding = (0, height_pad, width_pad) + + self.conv = ops.Conv3d( + in_channels, + out_channels, + kernel_size, + stride=stride, + dilation=dilation, + padding=padding, + padding_mode="zeros", + groups=groups, + ) + + def forward(self, x, causal: bool = True): + if causal: + first_frame_pad = x[:, :, :1, :, :].repeat( + (1, 1, self.time_kernel_size - 1, 1, 1) + ) + x = torch.concatenate((first_frame_pad, x), dim=2) + else: + first_frame_pad = x[:, :, :1, :, :].repeat( + (1, 1, (self.time_kernel_size - 1) // 2, 1, 1) + ) + last_frame_pad = x[:, :, -1:, :, :].repeat( + (1, 1, (self.time_kernel_size - 1) // 2, 1, 1) + ) + x = torch.concatenate((first_frame_pad, x, last_frame_pad), dim=2) + x = self.conv(x) + return x + + @property + def weight(self): + return self.conv.weight diff --git a/comfy/ldm/lightricks/vae/causal_video_autoencoder.py b/comfy/ldm/lightricks/vae/causal_video_autoencoder.py new file mode 100644 index 0000000000000000000000000000000000000000..e0344deecffd5af08bfa870f6135db2d3dc98902 --- /dev/null +++ b/comfy/ldm/lightricks/vae/causal_video_autoencoder.py @@ -0,0 +1,907 @@ +import torch +from torch import nn +from functools import partial +import math +from einops import rearrange +from typing import Optional, Tuple, Union +from .conv_nd_factory import make_conv_nd, make_linear_nd +from .pixel_norm import PixelNorm +from ..model import PixArtAlphaCombinedTimestepSizeEmbeddings +import comfy.ops +ops = comfy.ops.disable_weight_init + +class Encoder(nn.Module): + r""" + The `Encoder` layer of a variational autoencoder that encodes its input into a latent representation. + + Args: + dims (`int` or `Tuple[int, int]`, *optional*, defaults to 3): + The number of dimensions to use in convolutions. + in_channels (`int`, *optional*, defaults to 3): + The number of input channels. + out_channels (`int`, *optional*, defaults to 3): + The number of output channels. + blocks (`List[Tuple[str, int]]`, *optional*, defaults to `[("res_x", 1)]`): + The blocks to use. Each block is a tuple of the block name and the number of layers. + base_channels (`int`, *optional*, defaults to 128): + The number of output channels for the first convolutional layer. + norm_num_groups (`int`, *optional*, defaults to 32): + The number of groups for normalization. + patch_size (`int`, *optional*, defaults to 1): + The patch size to use. Should be a power of 2. + norm_layer (`str`, *optional*, defaults to `group_norm`): + The normalization layer to use. Can be either `group_norm` or `pixel_norm`. + latent_log_var (`str`, *optional*, defaults to `per_channel`): + The number of channels for the log variance. Can be either `per_channel`, `uniform`, or `none`. + """ + + def __init__( + self, + dims: Union[int, Tuple[int, int]] = 3, + in_channels: int = 3, + out_channels: int = 3, + blocks=[("res_x", 1)], + base_channels: int = 128, + norm_num_groups: int = 32, + patch_size: Union[int, Tuple[int]] = 1, + norm_layer: str = "group_norm", # group_norm, pixel_norm + latent_log_var: str = "per_channel", + ): + super().__init__() + self.patch_size = patch_size + self.norm_layer = norm_layer + self.latent_channels = out_channels + self.latent_log_var = latent_log_var + self.blocks_desc = blocks + + in_channels = in_channels * patch_size**2 + output_channel = base_channels + + self.conv_in = make_conv_nd( + dims=dims, + in_channels=in_channels, + out_channels=output_channel, + kernel_size=3, + stride=1, + padding=1, + causal=True, + ) + + self.down_blocks = nn.ModuleList([]) + + for block_name, block_params in blocks: + input_channel = output_channel + if isinstance(block_params, int): + block_params = {"num_layers": block_params} + + if block_name == "res_x": + block = UNetMidBlock3D( + dims=dims, + in_channels=input_channel, + num_layers=block_params["num_layers"], + resnet_eps=1e-6, + resnet_groups=norm_num_groups, + norm_layer=norm_layer, + ) + elif block_name == "res_x_y": + output_channel = block_params.get("multiplier", 2) * output_channel + block = ResnetBlock3D( + dims=dims, + in_channels=input_channel, + out_channels=output_channel, + eps=1e-6, + groups=norm_num_groups, + norm_layer=norm_layer, + ) + elif block_name == "compress_time": + block = make_conv_nd( + dims=dims, + in_channels=input_channel, + out_channels=output_channel, + kernel_size=3, + stride=(2, 1, 1), + causal=True, + ) + elif block_name == "compress_space": + block = make_conv_nd( + dims=dims, + in_channels=input_channel, + out_channels=output_channel, + kernel_size=3, + stride=(1, 2, 2), + causal=True, + ) + elif block_name == "compress_all": + block = make_conv_nd( + dims=dims, + in_channels=input_channel, + out_channels=output_channel, + kernel_size=3, + stride=(2, 2, 2), + causal=True, + ) + elif block_name == "compress_all_x_y": + output_channel = block_params.get("multiplier", 2) * output_channel + block = make_conv_nd( + dims=dims, + in_channels=input_channel, + out_channels=output_channel, + kernel_size=3, + stride=(2, 2, 2), + causal=True, + ) + else: + raise ValueError(f"unknown block: {block_name}") + + self.down_blocks.append(block) + + # out + if norm_layer == "group_norm": + self.conv_norm_out = nn.GroupNorm( + num_channels=output_channel, num_groups=norm_num_groups, eps=1e-6 + ) + elif norm_layer == "pixel_norm": + self.conv_norm_out = PixelNorm() + elif norm_layer == "layer_norm": + self.conv_norm_out = LayerNorm(output_channel, eps=1e-6) + + self.conv_act = nn.SiLU() + + conv_out_channels = out_channels + if latent_log_var == "per_channel": + conv_out_channels *= 2 + elif latent_log_var == "uniform": + conv_out_channels += 1 + elif latent_log_var != "none": + raise ValueError(f"Invalid latent_log_var: {latent_log_var}") + self.conv_out = make_conv_nd( + dims, output_channel, conv_out_channels, 3, padding=1, causal=True + ) + + self.gradient_checkpointing = False + + def forward(self, sample: torch.FloatTensor) -> torch.FloatTensor: + r"""The forward method of the `Encoder` class.""" + + sample = patchify(sample, patch_size_hw=self.patch_size, patch_size_t=1) + sample = self.conv_in(sample) + + checkpoint_fn = ( + partial(torch.utils.checkpoint.checkpoint, use_reentrant=False) + if self.gradient_checkpointing and self.training + else lambda x: x + ) + + for down_block in self.down_blocks: + sample = checkpoint_fn(down_block)(sample) + + sample = self.conv_norm_out(sample) + sample = self.conv_act(sample) + sample = self.conv_out(sample) + + if self.latent_log_var == "uniform": + last_channel = sample[:, -1:, ...] + num_dims = sample.dim() + + if num_dims == 4: + # For shape (B, C, H, W) + repeated_last_channel = last_channel.repeat( + 1, sample.shape[1] - 2, 1, 1 + ) + sample = torch.cat([sample, repeated_last_channel], dim=1) + elif num_dims == 5: + # For shape (B, C, F, H, W) + repeated_last_channel = last_channel.repeat( + 1, sample.shape[1] - 2, 1, 1, 1 + ) + sample = torch.cat([sample, repeated_last_channel], dim=1) + else: + raise ValueError(f"Invalid input shape: {sample.shape}") + + return sample + + +class Decoder(nn.Module): + r""" + The `Decoder` layer of a variational autoencoder that decodes its latent representation into an output sample. + + Args: + dims (`int` or `Tuple[int, int]`, *optional*, defaults to 3): + The number of dimensions to use in convolutions. + in_channels (`int`, *optional*, defaults to 3): + The number of input channels. + out_channels (`int`, *optional*, defaults to 3): + The number of output channels. + blocks (`List[Tuple[str, int]]`, *optional*, defaults to `[("res_x", 1)]`): + The blocks to use. Each block is a tuple of the block name and the number of layers. + base_channels (`int`, *optional*, defaults to 128): + The number of output channels for the first convolutional layer. + norm_num_groups (`int`, *optional*, defaults to 32): + The number of groups for normalization. + patch_size (`int`, *optional*, defaults to 1): + The patch size to use. Should be a power of 2. + norm_layer (`str`, *optional*, defaults to `group_norm`): + The normalization layer to use. Can be either `group_norm` or `pixel_norm`. + causal (`bool`, *optional*, defaults to `True`): + Whether to use causal convolutions or not. + """ + + def __init__( + self, + dims, + in_channels: int = 3, + out_channels: int = 3, + blocks=[("res_x", 1)], + base_channels: int = 128, + layers_per_block: int = 2, + norm_num_groups: int = 32, + patch_size: int = 1, + norm_layer: str = "group_norm", + causal: bool = True, + timestep_conditioning: bool = False, + ): + super().__init__() + self.patch_size = patch_size + self.layers_per_block = layers_per_block + out_channels = out_channels * patch_size**2 + self.causal = causal + self.blocks_desc = blocks + + # Compute output channel to be product of all channel-multiplier blocks + output_channel = base_channels + for block_name, block_params in list(reversed(blocks)): + block_params = block_params if isinstance(block_params, dict) else {} + if block_name == "res_x_y": + output_channel = output_channel * block_params.get("multiplier", 2) + if block_name == "compress_all": + output_channel = output_channel * block_params.get("multiplier", 1) + + self.conv_in = make_conv_nd( + dims, + in_channels, + output_channel, + kernel_size=3, + stride=1, + padding=1, + causal=True, + ) + + self.up_blocks = nn.ModuleList([]) + + for block_name, block_params in list(reversed(blocks)): + input_channel = output_channel + if isinstance(block_params, int): + block_params = {"num_layers": block_params} + + if block_name == "res_x": + block = UNetMidBlock3D( + dims=dims, + in_channels=input_channel, + num_layers=block_params["num_layers"], + resnet_eps=1e-6, + resnet_groups=norm_num_groups, + norm_layer=norm_layer, + inject_noise=block_params.get("inject_noise", False), + timestep_conditioning=timestep_conditioning, + ) + elif block_name == "attn_res_x": + block = UNetMidBlock3D( + dims=dims, + in_channels=input_channel, + num_layers=block_params["num_layers"], + resnet_groups=norm_num_groups, + norm_layer=norm_layer, + inject_noise=block_params.get("inject_noise", False), + timestep_conditioning=timestep_conditioning, + attention_head_dim=block_params["attention_head_dim"], + ) + elif block_name == "res_x_y": + output_channel = output_channel // block_params.get("multiplier", 2) + block = ResnetBlock3D( + dims=dims, + in_channels=input_channel, + out_channels=output_channel, + eps=1e-6, + groups=norm_num_groups, + norm_layer=norm_layer, + inject_noise=block_params.get("inject_noise", False), + timestep_conditioning=False, + ) + elif block_name == "compress_time": + block = DepthToSpaceUpsample( + dims=dims, in_channels=input_channel, stride=(2, 1, 1) + ) + elif block_name == "compress_space": + block = DepthToSpaceUpsample( + dims=dims, in_channels=input_channel, stride=(1, 2, 2) + ) + elif block_name == "compress_all": + output_channel = output_channel // block_params.get("multiplier", 1) + block = DepthToSpaceUpsample( + dims=dims, + in_channels=input_channel, + stride=(2, 2, 2), + residual=block_params.get("residual", False), + out_channels_reduction_factor=block_params.get("multiplier", 1), + ) + else: + raise ValueError(f"unknown layer: {block_name}") + + self.up_blocks.append(block) + + if norm_layer == "group_norm": + self.conv_norm_out = nn.GroupNorm( + num_channels=output_channel, num_groups=norm_num_groups, eps=1e-6 + ) + elif norm_layer == "pixel_norm": + self.conv_norm_out = PixelNorm() + elif norm_layer == "layer_norm": + self.conv_norm_out = LayerNorm(output_channel, eps=1e-6) + + self.conv_act = nn.SiLU() + self.conv_out = make_conv_nd( + dims, output_channel, out_channels, 3, padding=1, causal=True + ) + + self.gradient_checkpointing = False + + self.timestep_conditioning = timestep_conditioning + + if timestep_conditioning: + self.timestep_scale_multiplier = nn.Parameter( + torch.tensor(1000.0, dtype=torch.float32) + ) + self.last_time_embedder = PixArtAlphaCombinedTimestepSizeEmbeddings( + output_channel * 2, 0, operations=ops, + ) + self.last_scale_shift_table = nn.Parameter(torch.empty(2, output_channel)) + + # def forward(self, sample: torch.FloatTensor, target_shape) -> torch.FloatTensor: + def forward( + self, + sample: torch.FloatTensor, + timestep: Optional[torch.Tensor] = None, + ) -> torch.FloatTensor: + r"""The forward method of the `Decoder` class.""" + batch_size = sample.shape[0] + + sample = self.conv_in(sample, causal=self.causal) + + checkpoint_fn = ( + partial(torch.utils.checkpoint.checkpoint, use_reentrant=False) + if self.gradient_checkpointing and self.training + else lambda x: x + ) + + scaled_timestep = None + if self.timestep_conditioning: + assert ( + timestep is not None + ), "should pass timestep with timestep_conditioning=True" + scaled_timestep = timestep * self.timestep_scale_multiplier.to(dtype=sample.dtype, device=sample.device) + + for up_block in self.up_blocks: + if self.timestep_conditioning and isinstance(up_block, UNetMidBlock3D): + sample = checkpoint_fn(up_block)( + sample, causal=self.causal, timestep=scaled_timestep + ) + else: + sample = checkpoint_fn(up_block)(sample, causal=self.causal) + + sample = self.conv_norm_out(sample) + + if self.timestep_conditioning: + embedded_timestep = self.last_time_embedder( + timestep=scaled_timestep.flatten(), + resolution=None, + aspect_ratio=None, + batch_size=sample.shape[0], + hidden_dtype=sample.dtype, + ) + embedded_timestep = embedded_timestep.view( + batch_size, embedded_timestep.shape[-1], 1, 1, 1 + ) + ada_values = self.last_scale_shift_table[ + None, ..., None, None, None + ].to(device=sample.device, dtype=sample.dtype) + embedded_timestep.reshape( + batch_size, + 2, + -1, + embedded_timestep.shape[-3], + embedded_timestep.shape[-2], + embedded_timestep.shape[-1], + ) + shift, scale = ada_values.unbind(dim=1) + sample = sample * (1 + scale) + shift + + sample = self.conv_act(sample) + sample = self.conv_out(sample, causal=self.causal) + + sample = unpatchify(sample, patch_size_hw=self.patch_size, patch_size_t=1) + + return sample + + +class UNetMidBlock3D(nn.Module): + """ + A 3D UNet mid-block [`UNetMidBlock3D`] with multiple residual blocks. + + Args: + in_channels (`int`): The number of input channels. + dropout (`float`, *optional*, defaults to 0.0): The dropout rate. + num_layers (`int`, *optional*, defaults to 1): The number of residual blocks. + resnet_eps (`float`, *optional*, 1e-6 ): The epsilon value for the resnet blocks. + resnet_groups (`int`, *optional*, defaults to 32): + The number of groups to use in the group normalization layers of the resnet blocks. + + Returns: + `torch.FloatTensor`: The output of the last residual block, which is a tensor of shape `(batch_size, + in_channels, height, width)`. + + """ + + def __init__( + self, + dims: Union[int, Tuple[int, int]], + in_channels: int, + dropout: float = 0.0, + num_layers: int = 1, + resnet_eps: float = 1e-6, + resnet_groups: int = 32, + norm_layer: str = "group_norm", + inject_noise: bool = False, + timestep_conditioning: bool = False, + ): + super().__init__() + resnet_groups = ( + resnet_groups if resnet_groups is not None else min(in_channels // 4, 32) + ) + + self.timestep_conditioning = timestep_conditioning + + if timestep_conditioning: + self.time_embedder = PixArtAlphaCombinedTimestepSizeEmbeddings( + in_channels * 4, 0, operations=ops, + ) + + self.res_blocks = nn.ModuleList( + [ + ResnetBlock3D( + dims=dims, + in_channels=in_channels, + out_channels=in_channels, + eps=resnet_eps, + groups=resnet_groups, + dropout=dropout, + norm_layer=norm_layer, + inject_noise=inject_noise, + timestep_conditioning=timestep_conditioning, + ) + for _ in range(num_layers) + ] + ) + + def forward( + self, hidden_states: torch.FloatTensor, causal: bool = True, timestep: Optional[torch.Tensor] = None + ) -> torch.FloatTensor: + timestep_embed = None + if self.timestep_conditioning: + assert ( + timestep is not None + ), "should pass timestep with timestep_conditioning=True" + batch_size = hidden_states.shape[0] + timestep_embed = self.time_embedder( + timestep=timestep.flatten(), + resolution=None, + aspect_ratio=None, + batch_size=batch_size, + hidden_dtype=hidden_states.dtype, + ) + timestep_embed = timestep_embed.view( + batch_size, timestep_embed.shape[-1], 1, 1, 1 + ) + + for resnet in self.res_blocks: + hidden_states = resnet(hidden_states, causal=causal, timestep=timestep_embed) + + return hidden_states + + +class DepthToSpaceUpsample(nn.Module): + def __init__( + self, dims, in_channels, stride, residual=False, out_channels_reduction_factor=1 + ): + super().__init__() + self.stride = stride + self.out_channels = ( + math.prod(stride) * in_channels // out_channels_reduction_factor + ) + self.conv = make_conv_nd( + dims=dims, + in_channels=in_channels, + out_channels=self.out_channels, + kernel_size=3, + stride=1, + causal=True, + ) + self.residual = residual + self.out_channels_reduction_factor = out_channels_reduction_factor + + def forward(self, x, causal: bool = True, timestep: Optional[torch.Tensor] = None): + if self.residual: + # Reshape and duplicate the input to match the output shape + x_in = rearrange( + x, + "b (c p1 p2 p3) d h w -> b c (d p1) (h p2) (w p3)", + p1=self.stride[0], + p2=self.stride[1], + p3=self.stride[2], + ) + num_repeat = math.prod(self.stride) // self.out_channels_reduction_factor + x_in = x_in.repeat(1, num_repeat, 1, 1, 1) + if self.stride[0] == 2: + x_in = x_in[:, :, 1:, :, :] + x = self.conv(x, causal=causal) + x = rearrange( + x, + "b (c p1 p2 p3) d h w -> b c (d p1) (h p2) (w p3)", + p1=self.stride[0], + p2=self.stride[1], + p3=self.stride[2], + ) + if self.stride[0] == 2: + x = x[:, :, 1:, :, :] + if self.residual: + x = x + x_in + return x + +class LayerNorm(nn.Module): + def __init__(self, dim, eps, elementwise_affine=True) -> None: + super().__init__() + self.norm = nn.LayerNorm(dim, eps=eps, elementwise_affine=elementwise_affine) + + def forward(self, x): + x = rearrange(x, "b c d h w -> b d h w c") + x = self.norm(x) + x = rearrange(x, "b d h w c -> b c d h w") + return x + + +class ResnetBlock3D(nn.Module): + r""" + A Resnet block. + + Parameters: + in_channels (`int`): The number of channels in the input. + out_channels (`int`, *optional*, default to be `None`): + The number of output channels for the first conv layer. If None, same as `in_channels`. + dropout (`float`, *optional*, defaults to `0.0`): The dropout probability to use. + groups (`int`, *optional*, default to `32`): The number of groups to use for the first normalization layer. + eps (`float`, *optional*, defaults to `1e-6`): The epsilon to use for the normalization. + """ + + def __init__( + self, + dims: Union[int, Tuple[int, int]], + in_channels: int, + out_channels: Optional[int] = None, + dropout: float = 0.0, + groups: int = 32, + eps: float = 1e-6, + norm_layer: str = "group_norm", + inject_noise: bool = False, + timestep_conditioning: bool = False, + ): + super().__init__() + self.in_channels = in_channels + out_channels = in_channels if out_channels is None else out_channels + self.out_channels = out_channels + self.inject_noise = inject_noise + + if norm_layer == "group_norm": + self.norm1 = nn.GroupNorm( + num_groups=groups, num_channels=in_channels, eps=eps, affine=True + ) + elif norm_layer == "pixel_norm": + self.norm1 = PixelNorm() + elif norm_layer == "layer_norm": + self.norm1 = LayerNorm(in_channels, eps=eps, elementwise_affine=True) + + self.non_linearity = nn.SiLU() + + self.conv1 = make_conv_nd( + dims, + in_channels, + out_channels, + kernel_size=3, + stride=1, + padding=1, + causal=True, + ) + + if inject_noise: + self.per_channel_scale1 = nn.Parameter(torch.zeros((in_channels, 1, 1))) + + if norm_layer == "group_norm": + self.norm2 = nn.GroupNorm( + num_groups=groups, num_channels=out_channels, eps=eps, affine=True + ) + elif norm_layer == "pixel_norm": + self.norm2 = PixelNorm() + elif norm_layer == "layer_norm": + self.norm2 = LayerNorm(out_channels, eps=eps, elementwise_affine=True) + + self.dropout = torch.nn.Dropout(dropout) + + self.conv2 = make_conv_nd( + dims, + out_channels, + out_channels, + kernel_size=3, + stride=1, + padding=1, + causal=True, + ) + + if inject_noise: + self.per_channel_scale2 = nn.Parameter(torch.zeros((in_channels, 1, 1))) + + self.conv_shortcut = ( + make_linear_nd( + dims=dims, in_channels=in_channels, out_channels=out_channels + ) + if in_channels != out_channels + else nn.Identity() + ) + + self.norm3 = ( + LayerNorm(in_channels, eps=eps, elementwise_affine=True) + if in_channels != out_channels + else nn.Identity() + ) + + self.timestep_conditioning = timestep_conditioning + + if timestep_conditioning: + self.scale_shift_table = nn.Parameter( + torch.randn(4, in_channels) / in_channels**0.5 + ) + + def _feed_spatial_noise( + self, hidden_states: torch.FloatTensor, per_channel_scale: torch.FloatTensor + ) -> torch.FloatTensor: + spatial_shape = hidden_states.shape[-2:] + device = hidden_states.device + dtype = hidden_states.dtype + + # similar to the "explicit noise inputs" method in style-gan + spatial_noise = torch.randn(spatial_shape, device=device, dtype=dtype)[None] + scaled_noise = (spatial_noise * per_channel_scale)[None, :, None, ...] + hidden_states = hidden_states + scaled_noise + + return hidden_states + + def forward( + self, + input_tensor: torch.FloatTensor, + causal: bool = True, + timestep: Optional[torch.Tensor] = None, + ) -> torch.FloatTensor: + hidden_states = input_tensor + batch_size = hidden_states.shape[0] + + hidden_states = self.norm1(hidden_states) + if self.timestep_conditioning: + assert ( + timestep is not None + ), "should pass timestep with timestep_conditioning=True" + ada_values = self.scale_shift_table[ + None, ..., None, None, None + ].to(device=hidden_states.device, dtype=hidden_states.dtype) + timestep.reshape( + batch_size, + 4, + -1, + timestep.shape[-3], + timestep.shape[-2], + timestep.shape[-1], + ) + shift1, scale1, shift2, scale2 = ada_values.unbind(dim=1) + + hidden_states = hidden_states * (1 + scale1) + shift1 + + hidden_states = self.non_linearity(hidden_states) + + hidden_states = self.conv1(hidden_states, causal=causal) + + if self.inject_noise: + hidden_states = self._feed_spatial_noise( + hidden_states, self.per_channel_scale1.to(device=hidden_states.device, dtype=hidden_states.dtype) + ) + + hidden_states = self.norm2(hidden_states) + + if self.timestep_conditioning: + hidden_states = hidden_states * (1 + scale2) + shift2 + + hidden_states = self.non_linearity(hidden_states) + + hidden_states = self.dropout(hidden_states) + + hidden_states = self.conv2(hidden_states, causal=causal) + + if self.inject_noise: + hidden_states = self._feed_spatial_noise( + hidden_states, self.per_channel_scale2.to(device=hidden_states.device, dtype=hidden_states.dtype) + ) + + input_tensor = self.norm3(input_tensor) + + batch_size = input_tensor.shape[0] + + input_tensor = self.conv_shortcut(input_tensor) + + output_tensor = input_tensor + hidden_states + + return output_tensor + + +def patchify(x, patch_size_hw, patch_size_t=1): + if patch_size_hw == 1 and patch_size_t == 1: + return x + if x.dim() == 4: + x = rearrange( + x, "b c (h q) (w r) -> b (c r q) h w", q=patch_size_hw, r=patch_size_hw + ) + elif x.dim() == 5: + x = rearrange( + x, + "b c (f p) (h q) (w r) -> b (c p r q) f h w", + p=patch_size_t, + q=patch_size_hw, + r=patch_size_hw, + ) + else: + raise ValueError(f"Invalid input shape: {x.shape}") + + return x + + +def unpatchify(x, patch_size_hw, patch_size_t=1): + if patch_size_hw == 1 and patch_size_t == 1: + return x + + if x.dim() == 4: + x = rearrange( + x, "b (c r q) h w -> b c (h q) (w r)", q=patch_size_hw, r=patch_size_hw + ) + elif x.dim() == 5: + x = rearrange( + x, + "b (c p r q) f h w -> b c (f p) (h q) (w r)", + p=patch_size_t, + q=patch_size_hw, + r=patch_size_hw, + ) + + return x + +class processor(nn.Module): + def __init__(self): + super().__init__() + self.register_buffer("std-of-means", torch.empty(128)) + self.register_buffer("mean-of-means", torch.empty(128)) + self.register_buffer("mean-of-stds", torch.empty(128)) + self.register_buffer("mean-of-stds_over_std-of-means", torch.empty(128)) + self.register_buffer("channel", torch.empty(128)) + + def un_normalize(self, x): + return (x * self.get_buffer("std-of-means").view(1, -1, 1, 1, 1).to(x)) + self.get_buffer("mean-of-means").view(1, -1, 1, 1, 1).to(x) + + def normalize(self, x): + return (x - self.get_buffer("mean-of-means").view(1, -1, 1, 1, 1).to(x)) / self.get_buffer("std-of-means").view(1, -1, 1, 1, 1).to(x) + +class VideoVAE(nn.Module): + def __init__(self, version=0): + super().__init__() + + if version == 0: + config = { + "_class_name": "CausalVideoAutoencoder", + "dims": 3, + "in_channels": 3, + "out_channels": 3, + "latent_channels": 128, + "blocks": [ + ["res_x", 4], + ["compress_all", 1], + ["res_x_y", 1], + ["res_x", 3], + ["compress_all", 1], + ["res_x_y", 1], + ["res_x", 3], + ["compress_all", 1], + ["res_x", 3], + ["res_x", 4], + ], + "scaling_factor": 1.0, + "norm_layer": "pixel_norm", + "patch_size": 4, + "latent_log_var": "uniform", + "use_quant_conv": False, + "causal_decoder": False, + } + else: + config = { + "_class_name": "CausalVideoAutoencoder", + "dims": 3, + "in_channels": 3, + "out_channels": 3, + "latent_channels": 128, + "decoder_blocks": [ + ["res_x", {"num_layers": 5, "inject_noise": True}], + ["compress_all", {"residual": True, "multiplier": 2}], + ["res_x", {"num_layers": 6, "inject_noise": True}], + ["compress_all", {"residual": True, "multiplier": 2}], + ["res_x", {"num_layers": 7, "inject_noise": True}], + ["compress_all", {"residual": True, "multiplier": 2}], + ["res_x", {"num_layers": 8, "inject_noise": False}] + ], + "encoder_blocks": [ + ["res_x", {"num_layers": 4}], + ["compress_all", {}], + ["res_x_y", 1], + ["res_x", {"num_layers": 3}], + ["compress_all", {}], + ["res_x_y", 1], + ["res_x", {"num_layers": 3}], + ["compress_all", {}], + ["res_x", {"num_layers": 3}], + ["res_x", {"num_layers": 4}] + ], + "scaling_factor": 1.0, + "norm_layer": "pixel_norm", + "patch_size": 4, + "latent_log_var": "uniform", + "use_quant_conv": False, + "causal_decoder": False, + "timestep_conditioning": True, + } + + double_z = config.get("double_z", True) + latent_log_var = config.get( + "latent_log_var", "per_channel" if double_z else "none" + ) + + self.encoder = Encoder( + dims=config["dims"], + in_channels=config.get("in_channels", 3), + out_channels=config["latent_channels"], + blocks=config.get("encoder_blocks", config.get("encoder_blocks", config.get("blocks"))), + patch_size=config.get("patch_size", 1), + latent_log_var=latent_log_var, + norm_layer=config.get("norm_layer", "group_norm"), + ) + + self.decoder = Decoder( + dims=config["dims"], + in_channels=config["latent_channels"], + out_channels=config.get("out_channels", 3), + blocks=config.get("decoder_blocks", config.get("decoder_blocks", config.get("blocks"))), + patch_size=config.get("patch_size", 1), + norm_layer=config.get("norm_layer", "group_norm"), + causal=config.get("causal_decoder", False), + timestep_conditioning=config.get("timestep_conditioning", False), + ) + + self.timestep_conditioning = config.get("timestep_conditioning", False) + self.per_channel_statistics = processor() + + def encode(self, x): + means, logvar = torch.chunk(self.encoder(x), 2, dim=1) + return self.per_channel_statistics.normalize(means) + + def decode(self, x, timestep=0.05, noise_scale=0.025): + if self.timestep_conditioning: #TODO: seed + x = torch.randn_like(x) * noise_scale + (1.0 - noise_scale) * x + return self.decoder(self.per_channel_statistics.un_normalize(x), timestep=timestep) + diff --git a/comfy/ldm/lightricks/vae/conv_nd_factory.py b/comfy/ldm/lightricks/vae/conv_nd_factory.py new file mode 100644 index 0000000000000000000000000000000000000000..52df4ee22e3e7703a517b613d904f3be3d4a8b7a --- /dev/null +++ b/comfy/ldm/lightricks/vae/conv_nd_factory.py @@ -0,0 +1,82 @@ +from typing import Tuple, Union + + +from .dual_conv3d import DualConv3d +from .causal_conv3d import CausalConv3d +import comfy.ops +ops = comfy.ops.disable_weight_init + +def make_conv_nd( + dims: Union[int, Tuple[int, int]], + in_channels: int, + out_channels: int, + kernel_size: int, + stride=1, + padding=0, + dilation=1, + groups=1, + bias=True, + causal=False, +): + if dims == 2: + return ops.Conv2d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + padding=padding, + dilation=dilation, + groups=groups, + bias=bias, + ) + elif dims == 3: + if causal: + return CausalConv3d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + padding=padding, + dilation=dilation, + groups=groups, + bias=bias, + ) + return ops.Conv3d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + padding=padding, + dilation=dilation, + groups=groups, + bias=bias, + ) + elif dims == (2, 1): + return DualConv3d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + padding=padding, + bias=bias, + ) + else: + raise ValueError(f"unsupported dimensions: {dims}") + + +def make_linear_nd( + dims: int, + in_channels: int, + out_channels: int, + bias=True, +): + if dims == 2: + return ops.Conv2d( + in_channels=in_channels, out_channels=out_channels, kernel_size=1, bias=bias + ) + elif dims == 3 or dims == (2, 1): + return ops.Conv3d( + in_channels=in_channels, out_channels=out_channels, kernel_size=1, bias=bias + ) + else: + raise ValueError(f"unsupported dimensions: {dims}") diff --git a/comfy/ldm/lightricks/vae/dual_conv3d.py b/comfy/ldm/lightricks/vae/dual_conv3d.py new file mode 100644 index 0000000000000000000000000000000000000000..6bd54c0a6712857e5f9e62d26144d3a450b58571 --- /dev/null +++ b/comfy/ldm/lightricks/vae/dual_conv3d.py @@ -0,0 +1,195 @@ +import math +from typing import Tuple, Union + +import torch +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange + + +class DualConv3d(nn.Module): + def __init__( + self, + in_channels, + out_channels, + kernel_size, + stride: Union[int, Tuple[int, int, int]] = 1, + padding: Union[int, Tuple[int, int, int]] = 0, + dilation: Union[int, Tuple[int, int, int]] = 1, + groups=1, + bias=True, + ): + super(DualConv3d, self).__init__() + + self.in_channels = in_channels + self.out_channels = out_channels + # Ensure kernel_size, stride, padding, and dilation are tuples of length 3 + if isinstance(kernel_size, int): + kernel_size = (kernel_size, kernel_size, kernel_size) + if kernel_size == (1, 1, 1): + raise ValueError( + "kernel_size must be greater than 1. Use make_linear_nd instead." + ) + if isinstance(stride, int): + stride = (stride, stride, stride) + if isinstance(padding, int): + padding = (padding, padding, padding) + if isinstance(dilation, int): + dilation = (dilation, dilation, dilation) + + # Set parameters for convolutions + self.groups = groups + self.bias = bias + + # Define the size of the channels after the first convolution + intermediate_channels = ( + out_channels if in_channels < out_channels else in_channels + ) + + # Define parameters for the first convolution + self.weight1 = nn.Parameter( + torch.Tensor( + intermediate_channels, + in_channels // groups, + 1, + kernel_size[1], + kernel_size[2], + ) + ) + self.stride1 = (1, stride[1], stride[2]) + self.padding1 = (0, padding[1], padding[2]) + self.dilation1 = (1, dilation[1], dilation[2]) + if bias: + self.bias1 = nn.Parameter(torch.Tensor(intermediate_channels)) + else: + self.register_parameter("bias1", None) + + # Define parameters for the second convolution + self.weight2 = nn.Parameter( + torch.Tensor( + out_channels, intermediate_channels // groups, kernel_size[0], 1, 1 + ) + ) + self.stride2 = (stride[0], 1, 1) + self.padding2 = (padding[0], 0, 0) + self.dilation2 = (dilation[0], 1, 1) + if bias: + self.bias2 = nn.Parameter(torch.Tensor(out_channels)) + else: + self.register_parameter("bias2", None) + + # Initialize weights and biases + self.reset_parameters() + + def reset_parameters(self): + nn.init.kaiming_uniform_(self.weight1, a=math.sqrt(5)) + nn.init.kaiming_uniform_(self.weight2, a=math.sqrt(5)) + if self.bias: + fan_in1, _ = nn.init._calculate_fan_in_and_fan_out(self.weight1) + bound1 = 1 / math.sqrt(fan_in1) + nn.init.uniform_(self.bias1, -bound1, bound1) + fan_in2, _ = nn.init._calculate_fan_in_and_fan_out(self.weight2) + bound2 = 1 / math.sqrt(fan_in2) + nn.init.uniform_(self.bias2, -bound2, bound2) + + def forward(self, x, use_conv3d=False, skip_time_conv=False): + if use_conv3d: + return self.forward_with_3d(x=x, skip_time_conv=skip_time_conv) + else: + return self.forward_with_2d(x=x, skip_time_conv=skip_time_conv) + + def forward_with_3d(self, x, skip_time_conv): + # First convolution + x = F.conv3d( + x, + self.weight1, + self.bias1, + self.stride1, + self.padding1, + self.dilation1, + self.groups, + ) + + if skip_time_conv: + return x + + # Second convolution + x = F.conv3d( + x, + self.weight2, + self.bias2, + self.stride2, + self.padding2, + self.dilation2, + self.groups, + ) + + return x + + def forward_with_2d(self, x, skip_time_conv): + b, c, d, h, w = x.shape + + # First 2D convolution + x = rearrange(x, "b c d h w -> (b d) c h w") + # Squeeze the depth dimension out of weight1 since it's 1 + weight1 = self.weight1.squeeze(2) + # Select stride, padding, and dilation for the 2D convolution + stride1 = (self.stride1[1], self.stride1[2]) + padding1 = (self.padding1[1], self.padding1[2]) + dilation1 = (self.dilation1[1], self.dilation1[2]) + x = F.conv2d(x, weight1, self.bias1, stride1, padding1, dilation1, self.groups) + + _, _, h, w = x.shape + + if skip_time_conv: + x = rearrange(x, "(b d) c h w -> b c d h w", b=b) + return x + + # Second convolution which is essentially treated as a 1D convolution across the 'd' dimension + x = rearrange(x, "(b d) c h w -> (b h w) c d", b=b) + + # Reshape weight2 to match the expected dimensions for conv1d + weight2 = self.weight2.squeeze(-1).squeeze(-1) + # Use only the relevant dimension for stride, padding, and dilation for the 1D convolution + stride2 = self.stride2[0] + padding2 = self.padding2[0] + dilation2 = self.dilation2[0] + x = F.conv1d(x, weight2, self.bias2, stride2, padding2, dilation2, self.groups) + x = rearrange(x, "(b h w) c d -> b c d h w", b=b, h=h, w=w) + + return x + + @property + def weight(self): + return self.weight2 + + +def test_dual_conv3d_consistency(): + # Initialize parameters + in_channels = 3 + out_channels = 5 + kernel_size = (3, 3, 3) + stride = (2, 2, 2) + padding = (1, 1, 1) + + # Create an instance of the DualConv3d class + dual_conv3d = DualConv3d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + padding=padding, + bias=True, + ) + + # Example input tensor + test_input = torch.randn(1, 3, 10, 10, 10) + + # Perform forward passes with both 3D and 2D settings + output_conv3d = dual_conv3d(test_input, use_conv3d=True) + output_2d = dual_conv3d(test_input, use_conv3d=False) + + # Assert that the outputs from both methods are sufficiently close + assert torch.allclose( + output_conv3d, output_2d, atol=1e-6 + ), "Outputs are not consistent between 3D and 2D convolutions." diff --git a/comfy/ldm/lightricks/vae/pixel_norm.py b/comfy/ldm/lightricks/vae/pixel_norm.py new file mode 100644 index 0000000000000000000000000000000000000000..9bc3ea60e8a6453e7e12a7fb5aca4de3958a2567 --- /dev/null +++ b/comfy/ldm/lightricks/vae/pixel_norm.py @@ -0,0 +1,12 @@ +import torch +from torch import nn + + +class PixelNorm(nn.Module): + def __init__(self, dim=1, eps=1e-8): + super(PixelNorm, self).__init__() + self.dim = dim + self.eps = eps + + def forward(self, x): + return x / torch.sqrt(torch.mean(x**2, dim=self.dim, keepdim=True) + self.eps) diff --git a/comfy/ldm/models/autoencoder.py b/comfy/ldm/models/autoencoder.py new file mode 100644 index 0000000000000000000000000000000000000000..e6493155ef71d7cbfbb93eed681d79454b5b4ede --- /dev/null +++ b/comfy/ldm/models/autoencoder.py @@ -0,0 +1,235 @@ +import logging +import math +import torch +from contextlib import contextmanager +from typing import Any, Dict, Tuple, Union + +from comfy.ldm.modules.distributions.distributions import DiagonalGaussianDistribution + +from comfy.ldm.util import get_obj_from_str, instantiate_from_config +from comfy.ldm.modules.ema import LitEma +import comfy.ops + +class DiagonalGaussianRegularizer(torch.nn.Module): + def __init__(self, sample: bool = True): + super().__init__() + self.sample = sample + + def get_trainable_parameters(self) -> Any: + yield from () + + def forward(self, z: torch.Tensor) -> Tuple[torch.Tensor, dict]: + log = dict() + posterior = DiagonalGaussianDistribution(z) + if self.sample: + z = posterior.sample() + else: + z = posterior.mode() + kl_loss = posterior.kl() + kl_loss = torch.sum(kl_loss) / kl_loss.shape[0] + log["kl_loss"] = kl_loss + return z, log + + +class AbstractAutoencoder(torch.nn.Module): + """ + This is the base class for all autoencoders, including image autoencoders, image autoencoders with discriminators, + unCLIP models, etc. Hence, it is fairly general, and specific features + (e.g. discriminator training, encoding, decoding) must be implemented in subclasses. + """ + + def __init__( + self, + ema_decay: Union[None, float] = None, + monitor: Union[None, str] = None, + input_key: str = "jpg", + **kwargs, + ): + super().__init__() + + self.input_key = input_key + self.use_ema = ema_decay is not None + if monitor is not None: + self.monitor = monitor + + if self.use_ema: + self.model_ema = LitEma(self, decay=ema_decay) + logging.info(f"Keeping EMAs of {len(list(self.model_ema.buffers()))}.") + + def get_input(self, batch) -> Any: + raise NotImplementedError() + + def on_train_batch_end(self, *args, **kwargs): + # for EMA computation + if self.use_ema: + self.model_ema(self) + + @contextmanager + def ema_scope(self, context=None): + if self.use_ema: + self.model_ema.store(self.parameters()) + self.model_ema.copy_to(self) + if context is not None: + logging.info(f"{context}: Switched to EMA weights") + try: + yield None + finally: + if self.use_ema: + self.model_ema.restore(self.parameters()) + if context is not None: + logging.info(f"{context}: Restored training weights") + + def encode(self, *args, **kwargs) -> torch.Tensor: + raise NotImplementedError("encode()-method of abstract base class called") + + def decode(self, *args, **kwargs) -> torch.Tensor: + raise NotImplementedError("decode()-method of abstract base class called") + + def instantiate_optimizer_from_config(self, params, lr, cfg): + logging.info(f"loading >>> {cfg['target']} <<< optimizer from config") + return get_obj_from_str(cfg["target"])( + params, lr=lr, **cfg.get("params", dict()) + ) + + def configure_optimizers(self) -> Any: + raise NotImplementedError() + + +class AutoencodingEngine(AbstractAutoencoder): + """ + Base class for all image autoencoders that we train, like VQGAN or AutoencoderKL + (we also restore them explicitly as special cases for legacy reasons). + Regularizations such as KL or VQ are moved to the regularizer class. + """ + + def __init__( + self, + *args, + encoder_config: Dict, + decoder_config: Dict, + regularizer_config: Dict, + **kwargs, + ): + super().__init__(*args, **kwargs) + + self.encoder: torch.nn.Module = instantiate_from_config(encoder_config) + self.decoder: torch.nn.Module = instantiate_from_config(decoder_config) + self.regularization = instantiate_from_config( + regularizer_config + ) + + def get_last_layer(self): + return self.decoder.get_last_layer() + + def encode( + self, + x: torch.Tensor, + return_reg_log: bool = False, + unregularized: bool = False, + ) -> Union[torch.Tensor, Tuple[torch.Tensor, dict]]: + z = self.encoder(x) + if unregularized: + return z, dict() + z, reg_log = self.regularization(z) + if return_reg_log: + return z, reg_log + return z + + def decode(self, z: torch.Tensor, **kwargs) -> torch.Tensor: + x = self.decoder(z, **kwargs) + return x + + def forward( + self, x: torch.Tensor, **additional_decode_kwargs + ) -> Tuple[torch.Tensor, torch.Tensor, dict]: + z, reg_log = self.encode(x, return_reg_log=True) + dec = self.decode(z, **additional_decode_kwargs) + return z, dec, reg_log + + +class AutoencodingEngineLegacy(AutoencodingEngine): + def __init__(self, embed_dim: int, **kwargs): + self.max_batch_size = kwargs.pop("max_batch_size", None) + ddconfig = kwargs.pop("ddconfig") + super().__init__( + encoder_config={ + "target": "comfy.ldm.modules.diffusionmodules.model.Encoder", + "params": ddconfig, + }, + decoder_config={ + "target": "comfy.ldm.modules.diffusionmodules.model.Decoder", + "params": ddconfig, + }, + **kwargs, + ) + + if ddconfig.get("conv3d", False): + conv_op = comfy.ops.disable_weight_init.Conv3d + else: + conv_op = comfy.ops.disable_weight_init.Conv2d + + self.quant_conv = conv_op( + (1 + ddconfig["double_z"]) * ddconfig["z_channels"], + (1 + ddconfig["double_z"]) * embed_dim, + 1, + ) + + self.post_quant_conv = conv_op(embed_dim, ddconfig["z_channels"], 1) + self.embed_dim = embed_dim + + def get_autoencoder_params(self) -> list: + params = super().get_autoencoder_params() + return params + + def encode( + self, x: torch.Tensor, return_reg_log: bool = False + ) -> Union[torch.Tensor, Tuple[torch.Tensor, dict]]: + if self.max_batch_size is None: + z = self.encoder(x) + z = self.quant_conv(z) + else: + N = x.shape[0] + bs = self.max_batch_size + n_batches = int(math.ceil(N / bs)) + z = list() + for i_batch in range(n_batches): + z_batch = self.encoder(x[i_batch * bs : (i_batch + 1) * bs]) + z_batch = self.quant_conv(z_batch) + z.append(z_batch) + z = torch.cat(z, 0) + + z, reg_log = self.regularization(z) + if return_reg_log: + return z, reg_log + return z + + def decode(self, z: torch.Tensor, **decoder_kwargs) -> torch.Tensor: + if self.max_batch_size is None: + dec = self.post_quant_conv(z) + dec = self.decoder(dec, **decoder_kwargs) + else: + N = z.shape[0] + bs = self.max_batch_size + n_batches = int(math.ceil(N / bs)) + dec = list() + for i_batch in range(n_batches): + dec_batch = self.post_quant_conv(z[i_batch * bs : (i_batch + 1) * bs]) + dec_batch = self.decoder(dec_batch, **decoder_kwargs) + dec.append(dec_batch) + dec = torch.cat(dec, 0) + + return dec + + +class AutoencoderKL(AutoencodingEngineLegacy): + def __init__(self, **kwargs): + if "lossconfig" in kwargs: + kwargs["loss_config"] = kwargs.pop("lossconfig") + super().__init__( + regularizer_config={ + "target": ( + "comfy.ldm.models.autoencoder.DiagonalGaussianRegularizer" + ) + }, + **kwargs, + ) diff --git a/comfy/ldm/modules/attention.py b/comfy/ldm/modules/attention.py new file mode 100644 index 0000000000000000000000000000000000000000..44aec59a67e9bc3d954d9573c504b62b9a6df825 --- /dev/null +++ b/comfy/ldm/modules/attention.py @@ -0,0 +1,961 @@ +import math +import torch +import torch.nn.functional as F +from torch import nn, einsum +from einops import rearrange, repeat +from typing import Optional +import logging + +from .diffusionmodules.util import AlphaBlender, timestep_embedding +from .sub_quadratic_attention import efficient_dot_product_attention + +from comfy import model_management + +if model_management.xformers_enabled(): + import xformers + import xformers.ops + +if model_management.sage_attention_enabled(): + from sageattention import sageattn + +from comfy.cli_args import args +import comfy.ops +ops = comfy.ops.disable_weight_init + +FORCE_UPCAST_ATTENTION_DTYPE = model_management.force_upcast_attention_dtype() + +def get_attn_precision(attn_precision): + if args.dont_upcast_attention: + return None + if FORCE_UPCAST_ATTENTION_DTYPE is not None: + return FORCE_UPCAST_ATTENTION_DTYPE + return attn_precision + +def exists(val): + return val is not None + + +def uniq(arr): + return{el: True for el in arr}.keys() + + +def default(val, d): + if exists(val): + return val + return d + + +def max_neg_value(t): + return -torch.finfo(t.dtype).max + + +def init_(tensor): + dim = tensor.shape[-1] + std = 1 / math.sqrt(dim) + tensor.uniform_(-std, std) + return tensor + + +# feedforward +class GEGLU(nn.Module): + def __init__(self, dim_in, dim_out, dtype=None, device=None, operations=ops): + super().__init__() + self.proj = operations.Linear(dim_in, dim_out * 2, dtype=dtype, device=device) + + def forward(self, x): + x, gate = self.proj(x).chunk(2, dim=-1) + return x * F.gelu(gate) + + +class FeedForward(nn.Module): + def __init__(self, dim, dim_out=None, mult=4, glu=False, dropout=0., dtype=None, device=None, operations=ops): + super().__init__() + inner_dim = int(dim * mult) + dim_out = default(dim_out, dim) + project_in = nn.Sequential( + operations.Linear(dim, inner_dim, dtype=dtype, device=device), + nn.GELU() + ) if not glu else GEGLU(dim, inner_dim, dtype=dtype, device=device, operations=operations) + + self.net = nn.Sequential( + project_in, + nn.Dropout(dropout), + operations.Linear(inner_dim, dim_out, dtype=dtype, device=device) + ) + + def forward(self, x): + return self.net(x) + +def Normalize(in_channels, dtype=None, device=None): + return torch.nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True, dtype=dtype, device=device) + +def attention_basic(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): + attn_precision = get_attn_precision(attn_precision) + + if skip_reshape: + b, _, _, dim_head = q.shape + else: + b, _, dim_head = q.shape + dim_head //= heads + + scale = dim_head ** -0.5 + + h = heads + if skip_reshape: + q, k, v = map( + lambda t: t.reshape(b * heads, -1, dim_head), + (q, k, v), + ) + else: + q, k, v = map( + lambda t: t.unsqueeze(3) + .reshape(b, -1, heads, dim_head) + .permute(0, 2, 1, 3) + .reshape(b * heads, -1, dim_head) + .contiguous(), + (q, k, v), + ) + + # force cast to fp32 to avoid overflowing + if attn_precision == torch.float32: + sim = einsum('b i d, b j d -> b i j', q.float(), k.float()) * scale + else: + sim = einsum('b i d, b j d -> b i j', q, k) * scale + + del q, k + + if exists(mask): + if mask.dtype == torch.bool: + mask = rearrange(mask, 'b ... -> b (...)') #TODO: check if this bool part matches pytorch attention + max_neg_value = -torch.finfo(sim.dtype).max + mask = repeat(mask, 'b j -> (b h) () j', h=h) + sim.masked_fill_(~mask, max_neg_value) + else: + if len(mask.shape) == 2: + bs = 1 + else: + bs = mask.shape[0] + mask = mask.reshape(bs, -1, mask.shape[-2], mask.shape[-1]).expand(b, heads, -1, -1).reshape(-1, mask.shape[-2], mask.shape[-1]) + sim.add_(mask) + + # attention, what we cannot get enough of + sim = sim.softmax(dim=-1) + + out = einsum('b i j, b j d -> b i d', sim.to(v.dtype), v) + + if skip_output_reshape: + out = ( + out.unsqueeze(0) + .reshape(b, heads, -1, dim_head) + ) + else: + out = ( + out.unsqueeze(0) + .reshape(b, heads, -1, dim_head) + .permute(0, 2, 1, 3) + .reshape(b, -1, heads * dim_head) + ) + return out + + +def attention_sub_quad(query, key, value, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): + attn_precision = get_attn_precision(attn_precision) + + if skip_reshape: + b, _, _, dim_head = query.shape + else: + b, _, dim_head = query.shape + dim_head //= heads + + if skip_reshape: + query = query.reshape(b * heads, -1, dim_head) + value = value.reshape(b * heads, -1, dim_head) + key = key.reshape(b * heads, -1, dim_head).movedim(1, 2) + else: + query = query.unsqueeze(3).reshape(b, -1, heads, dim_head).permute(0, 2, 1, 3).reshape(b * heads, -1, dim_head) + value = value.unsqueeze(3).reshape(b, -1, heads, dim_head).permute(0, 2, 1, 3).reshape(b * heads, -1, dim_head) + key = key.unsqueeze(3).reshape(b, -1, heads, dim_head).permute(0, 2, 3, 1).reshape(b * heads, dim_head, -1) + + + dtype = query.dtype + upcast_attention = attn_precision == torch.float32 and query.dtype != torch.float32 + if upcast_attention: + bytes_per_token = torch.finfo(torch.float32).bits//8 + else: + bytes_per_token = torch.finfo(query.dtype).bits//8 + batch_x_heads, q_tokens, _ = query.shape + _, _, k_tokens = key.shape + + mem_free_total, _ = model_management.get_free_memory(query.device, True) + + kv_chunk_size_min = None + kv_chunk_size = None + query_chunk_size = None + + for x in [4096, 2048, 1024, 512, 256]: + count = mem_free_total / (batch_x_heads * bytes_per_token * x * 4.0) + if count >= k_tokens: + kv_chunk_size = k_tokens + query_chunk_size = x + break + + if query_chunk_size is None: + query_chunk_size = 512 + + if mask is not None: + if len(mask.shape) == 2: + bs = 1 + else: + bs = mask.shape[0] + mask = mask.reshape(bs, -1, mask.shape[-2], mask.shape[-1]).expand(b, heads, -1, -1).reshape(-1, mask.shape[-2], mask.shape[-1]) + + hidden_states = efficient_dot_product_attention( + query, + key, + value, + query_chunk_size=query_chunk_size, + kv_chunk_size=kv_chunk_size, + kv_chunk_size_min=kv_chunk_size_min, + use_checkpoint=False, + upcast_attention=upcast_attention, + mask=mask, + ) + + hidden_states = hidden_states.to(dtype) + if skip_output_reshape: + hidden_states = hidden_states.unflatten(0, (-1, heads)) + else: + hidden_states = hidden_states.unflatten(0, (-1, heads)).transpose(1,2).flatten(start_dim=2) + return hidden_states + +def attention_split(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): + attn_precision = get_attn_precision(attn_precision) + + if skip_reshape: + b, _, _, dim_head = q.shape + else: + b, _, dim_head = q.shape + dim_head //= heads + + scale = dim_head ** -0.5 + + if skip_reshape: + q, k, v = map( + lambda t: t.reshape(b * heads, -1, dim_head), + (q, k, v), + ) + else: + q, k, v = map( + lambda t: t.unsqueeze(3) + .reshape(b, -1, heads, dim_head) + .permute(0, 2, 1, 3) + .reshape(b * heads, -1, dim_head) + .contiguous(), + (q, k, v), + ) + + r1 = torch.zeros(q.shape[0], q.shape[1], v.shape[2], device=q.device, dtype=q.dtype) + + mem_free_total = model_management.get_free_memory(q.device) + + if attn_precision == torch.float32: + element_size = 4 + upcast = True + else: + element_size = q.element_size() + upcast = False + + gb = 1024 ** 3 + tensor_size = q.shape[0] * q.shape[1] * k.shape[1] * element_size + modifier = 3 + mem_required = tensor_size * modifier + steps = 1 + + + if mem_required > mem_free_total: + steps = 2**(math.ceil(math.log(mem_required / mem_free_total, 2))) + # print(f"Expected tensor size:{tensor_size/gb:0.1f}GB, cuda free:{mem_free_cuda/gb:0.1f}GB " + # f"torch free:{mem_free_torch/gb:0.1f} total:{mem_free_total/gb:0.1f} steps:{steps}") + + if steps > 64: + max_res = math.floor(math.sqrt(math.sqrt(mem_free_total / 2.5)) / 8) * 64 + raise RuntimeError(f'Not enough memory, use lower resolution (max approx. {max_res}x{max_res}). ' + f'Need: {mem_required/64/gb:0.1f}GB free, Have:{mem_free_total/gb:0.1f}GB free') + + if mask is not None: + if len(mask.shape) == 2: + bs = 1 + else: + bs = mask.shape[0] + mask = mask.reshape(bs, -1, mask.shape[-2], mask.shape[-1]).expand(b, heads, -1, -1).reshape(-1, mask.shape[-2], mask.shape[-1]) + + # print("steps", steps, mem_required, mem_free_total, modifier, q.element_size(), tensor_size) + first_op_done = False + cleared_cache = False + while True: + try: + slice_size = q.shape[1] // steps if (q.shape[1] % steps) == 0 else q.shape[1] + for i in range(0, q.shape[1], slice_size): + end = i + slice_size + if upcast: + with torch.autocast(enabled=False, device_type = 'cuda'): + s1 = einsum('b i d, b j d -> b i j', q[:, i:end].float(), k.float()) * scale + else: + s1 = einsum('b i d, b j d -> b i j', q[:, i:end], k) * scale + + if mask is not None: + if len(mask.shape) == 2: + s1 += mask[i:end] + else: + if mask.shape[1] == 1: + s1 += mask + else: + s1 += mask[:, i:end] + + s2 = s1.softmax(dim=-1).to(v.dtype) + del s1 + first_op_done = True + + r1[:, i:end] = einsum('b i j, b j d -> b i d', s2, v) + del s2 + break + except model_management.OOM_EXCEPTION as e: + if first_op_done == False: + model_management.soft_empty_cache(True) + if cleared_cache == False: + cleared_cache = True + logging.warning("out of memory error, emptying cache and trying again") + continue + steps *= 2 + if steps > 64: + raise e + logging.warning("out of memory error, increasing steps and trying again {}".format(steps)) + else: + raise e + + del q, k, v + + if skip_output_reshape: + r1 = ( + r1.unsqueeze(0) + .reshape(b, heads, -1, dim_head) + ) + else: + r1 = ( + r1.unsqueeze(0) + .reshape(b, heads, -1, dim_head) + .permute(0, 2, 1, 3) + .reshape(b, -1, heads * dim_head) + ) + return r1 + +BROKEN_XFORMERS = False +try: + x_vers = xformers.__version__ + # XFormers bug confirmed on all versions from 0.0.21 to 0.0.26 (q with bs bigger than 65535 gives CUDA error) + BROKEN_XFORMERS = x_vers.startswith("0.0.2") and not x_vers.startswith("0.0.20") +except: + pass + +def attention_xformers(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): + b = q.shape[0] + dim_head = q.shape[-1] + # check to make sure xformers isn't broken + disabled_xformers = False + + if BROKEN_XFORMERS: + if b * heads > 65535: + disabled_xformers = True + + if not disabled_xformers: + if torch.jit.is_tracing() or torch.jit.is_scripting(): + disabled_xformers = True + + if disabled_xformers: + return attention_pytorch(q, k, v, heads, mask, skip_reshape=skip_reshape) + + if skip_reshape: + # b h k d -> b k h d + q, k, v = map( + lambda t: t.permute(0, 2, 1, 3), + (q, k, v), + ) + # actually do the reshaping + else: + dim_head //= heads + q, k, v = map( + lambda t: t.reshape(b, -1, heads, dim_head), + (q, k, v), + ) + + if mask is not None: + # add a singleton batch dimension + if mask.ndim == 2: + mask = mask.unsqueeze(0) + # add a singleton heads dimension + if mask.ndim == 3: + mask = mask.unsqueeze(1) + # pad to a multiple of 8 + pad = 8 - mask.shape[-1] % 8 + # the xformers docs says that it's allowed to have a mask of shape (1, Nq, Nk) + # but when using separated heads, the shape has to be (B, H, Nq, Nk) + # in flux, this matrix ends up being over 1GB + # here, we create a mask with the same batch/head size as the input mask (potentially singleton or full) + mask_out = torch.empty([mask.shape[0], mask.shape[1], q.shape[1], mask.shape[-1] + pad], dtype=q.dtype, device=q.device) + + mask_out[..., :mask.shape[-1]] = mask + # doesn't this remove the padding again?? + mask = mask_out[..., :mask.shape[-1]] + mask = mask.expand(b, heads, -1, -1) + + out = xformers.ops.memory_efficient_attention(q, k, v, attn_bias=mask) + + if skip_output_reshape: + out = out.permute(0, 2, 1, 3) + else: + out = ( + out.reshape(b, -1, heads * dim_head) + ) + + return out + +if model_management.is_nvidia(): #pytorch 2.3 and up seem to have this issue. + SDP_BATCH_LIMIT = 2**15 +else: + #TODO: other GPUs ? + SDP_BATCH_LIMIT = 2**31 + + +def attention_pytorch(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): + if skip_reshape: + b, _, _, dim_head = q.shape + else: + b, _, dim_head = q.shape + dim_head //= heads + q, k, v = map( + lambda t: t.view(b, -1, heads, dim_head).transpose(1, 2), + (q, k, v), + ) + + if mask is not None: + # add a batch dimension if there isn't already one + if mask.ndim == 2: + mask = mask.unsqueeze(0) + # add a heads dimension if there isn't already one + if mask.ndim == 3: + mask = mask.unsqueeze(1) + + if SDP_BATCH_LIMIT >= b: + out = torch.nn.functional.scaled_dot_product_attention(q, k, v, attn_mask=mask, dropout_p=0.0, is_causal=False) + if not skip_output_reshape: + out = ( + out.transpose(1, 2).reshape(b, -1, heads * dim_head) + ) + else: + out = torch.empty((b, q.shape[2], heads * dim_head), dtype=q.dtype, layout=q.layout, device=q.device) + for i in range(0, b, SDP_BATCH_LIMIT): + m = mask + if mask is not None: + if mask.shape[0] > 1: + m = mask[i : i + SDP_BATCH_LIMIT] + + out[i : i + SDP_BATCH_LIMIT] = torch.nn.functional.scaled_dot_product_attention( + q[i : i + SDP_BATCH_LIMIT], + k[i : i + SDP_BATCH_LIMIT], + v[i : i + SDP_BATCH_LIMIT], + attn_mask=m, + dropout_p=0.0, is_causal=False + ).transpose(1, 2).reshape(-1, q.shape[2], heads * dim_head) + return out + + +def attention_sage(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): + if skip_reshape: + b, _, _, dim_head = q.shape + tensor_layout="HND" + else: + b, _, dim_head = q.shape + dim_head //= heads + q, k, v = map( + lambda t: t.view(b, -1, heads, dim_head), + (q, k, v), + ) + tensor_layout="NHD" + + if mask is not None: + # add a batch dimension if there isn't already one + if mask.ndim == 2: + mask = mask.unsqueeze(0) + # add a heads dimension if there isn't already one + if mask.ndim == 3: + mask = mask.unsqueeze(1) + + out = sageattn(q, k, v, attn_mask=mask, is_causal=False, tensor_layout=tensor_layout) + if tensor_layout == "HND": + if not skip_output_reshape: + out = ( + out.transpose(1, 2).reshape(b, -1, heads * dim_head) + ) + else: + if skip_output_reshape: + out = out.transpose(1, 2) + else: + out = out.reshape(b, -1, heads * dim_head) + return out + + +optimized_attention = attention_basic + +if model_management.sage_attention_enabled(): + logging.info("Using sage attention") + optimized_attention = attention_sage +elif model_management.xformers_enabled(): + logging.info("Using xformers attention") + optimized_attention = attention_xformers +elif model_management.pytorch_attention_enabled(): + logging.info("Using pytorch attention") + optimized_attention = attention_pytorch +else: + if args.use_split_cross_attention: + logging.info("Using split optimization for attention") + optimized_attention = attention_split + else: + logging.info("Using sub quadratic optimization for attention, if you have memory or speed issues try using: --use-split-cross-attention") + optimized_attention = attention_sub_quad + +optimized_attention_masked = optimized_attention + +def optimized_attention_for_device(device, mask=False, small_input=False): + if small_input: + if model_management.pytorch_attention_enabled(): + return attention_pytorch #TODO: need to confirm but this is probably slightly faster for small inputs in all cases + else: + return attention_basic + + if device == torch.device("cpu"): + return attention_sub_quad + + if mask: + return optimized_attention_masked + + return optimized_attention + + +class CrossAttention(nn.Module): + def __init__(self, query_dim, context_dim=None, heads=8, dim_head=64, dropout=0., attn_precision=None, dtype=None, device=None, operations=ops): + super().__init__() + inner_dim = dim_head * heads + context_dim = default(context_dim, query_dim) + self.attn_precision = attn_precision + + self.heads = heads + self.dim_head = dim_head + + self.to_q = operations.Linear(query_dim, inner_dim, bias=False, dtype=dtype, device=device) + self.to_k = operations.Linear(context_dim, inner_dim, bias=False, dtype=dtype, device=device) + self.to_v = operations.Linear(context_dim, inner_dim, bias=False, dtype=dtype, device=device) + + self.to_out = nn.Sequential(operations.Linear(inner_dim, query_dim, dtype=dtype, device=device), nn.Dropout(dropout)) + + def forward(self, x, context=None, value=None, mask=None): + q = self.to_q(x) + context = default(context, x) + k = self.to_k(context) + if value is not None: + v = self.to_v(value) + del value + else: + v = self.to_v(context) + + if mask is None: + out = optimized_attention(q, k, v, self.heads, attn_precision=self.attn_precision) + else: + out = optimized_attention_masked(q, k, v, self.heads, mask, attn_precision=self.attn_precision) + return self.to_out(out) + + +class BasicTransformerBlock(nn.Module): + def __init__(self, dim, n_heads, d_head, dropout=0., context_dim=None, gated_ff=True, checkpoint=True, ff_in=False, inner_dim=None, + disable_self_attn=False, disable_temporal_crossattention=False, switch_temporal_ca_to_sa=False, attn_precision=None, dtype=None, device=None, operations=ops): + super().__init__() + + self.ff_in = ff_in or inner_dim is not None + if inner_dim is None: + inner_dim = dim + + self.is_res = inner_dim == dim + self.attn_precision = attn_precision + + if self.ff_in: + self.norm_in = operations.LayerNorm(dim, dtype=dtype, device=device) + self.ff_in = FeedForward(dim, dim_out=inner_dim, dropout=dropout, glu=gated_ff, dtype=dtype, device=device, operations=operations) + + self.disable_self_attn = disable_self_attn + self.attn1 = CrossAttention(query_dim=inner_dim, heads=n_heads, dim_head=d_head, dropout=dropout, + context_dim=context_dim if self.disable_self_attn else None, attn_precision=self.attn_precision, dtype=dtype, device=device, operations=operations) # is a self-attention if not self.disable_self_attn + self.ff = FeedForward(inner_dim, dim_out=dim, dropout=dropout, glu=gated_ff, dtype=dtype, device=device, operations=operations) + + if disable_temporal_crossattention: + if switch_temporal_ca_to_sa: + raise ValueError + else: + self.attn2 = None + else: + context_dim_attn2 = None + if not switch_temporal_ca_to_sa: + context_dim_attn2 = context_dim + + self.attn2 = CrossAttention(query_dim=inner_dim, context_dim=context_dim_attn2, + heads=n_heads, dim_head=d_head, dropout=dropout, attn_precision=self.attn_precision, dtype=dtype, device=device, operations=operations) # is self-attn if context is none + self.norm2 = operations.LayerNorm(inner_dim, dtype=dtype, device=device) + + self.norm1 = operations.LayerNorm(inner_dim, dtype=dtype, device=device) + self.norm3 = operations.LayerNorm(inner_dim, dtype=dtype, device=device) + self.n_heads = n_heads + self.d_head = d_head + self.switch_temporal_ca_to_sa = switch_temporal_ca_to_sa + + def forward(self, x, context=None, transformer_options={}): + extra_options = {} + block = transformer_options.get("block", None) + block_index = transformer_options.get("block_index", 0) + transformer_patches = {} + transformer_patches_replace = {} + + for k in transformer_options: + if k == "patches": + transformer_patches = transformer_options[k] + elif k == "patches_replace": + transformer_patches_replace = transformer_options[k] + else: + extra_options[k] = transformer_options[k] + + extra_options["n_heads"] = self.n_heads + extra_options["dim_head"] = self.d_head + extra_options["attn_precision"] = self.attn_precision + + if self.ff_in: + x_skip = x + x = self.ff_in(self.norm_in(x)) + if self.is_res: + x += x_skip + + n = self.norm1(x) + if self.disable_self_attn: + context_attn1 = context + else: + context_attn1 = None + value_attn1 = None + + if "attn1_patch" in transformer_patches: + patch = transformer_patches["attn1_patch"] + if context_attn1 is None: + context_attn1 = n + value_attn1 = context_attn1 + for p in patch: + n, context_attn1, value_attn1 = p(n, context_attn1, value_attn1, extra_options) + + if block is not None: + transformer_block = (block[0], block[1], block_index) + else: + transformer_block = None + attn1_replace_patch = transformer_patches_replace.get("attn1", {}) + block_attn1 = transformer_block + if block_attn1 not in attn1_replace_patch: + block_attn1 = block + + if block_attn1 in attn1_replace_patch: + if context_attn1 is None: + context_attn1 = n + value_attn1 = n + n = self.attn1.to_q(n) + context_attn1 = self.attn1.to_k(context_attn1) + value_attn1 = self.attn1.to_v(value_attn1) + n = attn1_replace_patch[block_attn1](n, context_attn1, value_attn1, extra_options) + n = self.attn1.to_out(n) + else: + n = self.attn1(n, context=context_attn1, value=value_attn1) + + if "attn1_output_patch" in transformer_patches: + patch = transformer_patches["attn1_output_patch"] + for p in patch: + n = p(n, extra_options) + + x += n + if "middle_patch" in transformer_patches: + patch = transformer_patches["middle_patch"] + for p in patch: + x = p(x, extra_options) + + if self.attn2 is not None: + n = self.norm2(x) + if self.switch_temporal_ca_to_sa: + context_attn2 = n + else: + context_attn2 = context + value_attn2 = None + if "attn2_patch" in transformer_patches: + patch = transformer_patches["attn2_patch"] + value_attn2 = context_attn2 + for p in patch: + n, context_attn2, value_attn2 = p(n, context_attn2, value_attn2, extra_options) + + attn2_replace_patch = transformer_patches_replace.get("attn2", {}) + block_attn2 = transformer_block + if block_attn2 not in attn2_replace_patch: + block_attn2 = block + + if block_attn2 in attn2_replace_patch: + if value_attn2 is None: + value_attn2 = context_attn2 + n = self.attn2.to_q(n) + context_attn2 = self.attn2.to_k(context_attn2) + value_attn2 = self.attn2.to_v(value_attn2) + n = attn2_replace_patch[block_attn2](n, context_attn2, value_attn2, extra_options) + n = self.attn2.to_out(n) + else: + n = self.attn2(n, context=context_attn2, value=value_attn2) + + if "attn2_output_patch" in transformer_patches: + patch = transformer_patches["attn2_output_patch"] + for p in patch: + n = p(n, extra_options) + + x += n + if self.is_res: + x_skip = x + x = self.ff(self.norm3(x)) + if self.is_res: + x += x_skip + + return x + + +class SpatialTransformer(nn.Module): + """ + Transformer block for image-like data. + First, project the input (aka embedding) + and reshape to b, t, d. + Then apply standard transformer action. + Finally, reshape to image + NEW: use_linear for more efficiency instead of the 1x1 convs + """ + def __init__(self, in_channels, n_heads, d_head, + depth=1, dropout=0., context_dim=None, + disable_self_attn=False, use_linear=False, + use_checkpoint=True, attn_precision=None, dtype=None, device=None, operations=ops): + super().__init__() + if exists(context_dim) and not isinstance(context_dim, list): + context_dim = [context_dim] * depth + self.in_channels = in_channels + inner_dim = n_heads * d_head + self.norm = operations.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True, dtype=dtype, device=device) + if not use_linear: + self.proj_in = operations.Conv2d(in_channels, + inner_dim, + kernel_size=1, + stride=1, + padding=0, dtype=dtype, device=device) + else: + self.proj_in = operations.Linear(in_channels, inner_dim, dtype=dtype, device=device) + + self.transformer_blocks = nn.ModuleList( + [BasicTransformerBlock(inner_dim, n_heads, d_head, dropout=dropout, context_dim=context_dim[d], + disable_self_attn=disable_self_attn, checkpoint=use_checkpoint, attn_precision=attn_precision, dtype=dtype, device=device, operations=operations) + for d in range(depth)] + ) + if not use_linear: + self.proj_out = operations.Conv2d(inner_dim,in_channels, + kernel_size=1, + stride=1, + padding=0, dtype=dtype, device=device) + else: + self.proj_out = operations.Linear(in_channels, inner_dim, dtype=dtype, device=device) + self.use_linear = use_linear + + def forward(self, x, context=None, transformer_options={}): + # note: if no context is given, cross-attention defaults to self-attention + if not isinstance(context, list): + context = [context] * len(self.transformer_blocks) + b, c, h, w = x.shape + x_in = x + x = self.norm(x) + if not self.use_linear: + x = self.proj_in(x) + x = x.movedim(1, 3).flatten(1, 2).contiguous() + if self.use_linear: + x = self.proj_in(x) + for i, block in enumerate(self.transformer_blocks): + transformer_options["block_index"] = i + x = block(x, context=context[i], transformer_options=transformer_options) + if self.use_linear: + x = self.proj_out(x) + x = x.reshape(x.shape[0], h, w, x.shape[-1]).movedim(3, 1).contiguous() + if not self.use_linear: + x = self.proj_out(x) + return x + x_in + + +class SpatialVideoTransformer(SpatialTransformer): + def __init__( + self, + in_channels, + n_heads, + d_head, + depth=1, + dropout=0.0, + use_linear=False, + context_dim=None, + use_spatial_context=False, + timesteps=None, + merge_strategy: str = "fixed", + merge_factor: float = 0.5, + time_context_dim=None, + ff_in=False, + checkpoint=False, + time_depth=1, + disable_self_attn=False, + disable_temporal_crossattention=False, + max_time_embed_period: int = 10000, + attn_precision=None, + dtype=None, device=None, operations=ops + ): + super().__init__( + in_channels, + n_heads, + d_head, + depth=depth, + dropout=dropout, + use_checkpoint=checkpoint, + context_dim=context_dim, + use_linear=use_linear, + disable_self_attn=disable_self_attn, + attn_precision=attn_precision, + dtype=dtype, device=device, operations=operations + ) + self.time_depth = time_depth + self.depth = depth + self.max_time_embed_period = max_time_embed_period + + time_mix_d_head = d_head + n_time_mix_heads = n_heads + + time_mix_inner_dim = int(time_mix_d_head * n_time_mix_heads) + + inner_dim = n_heads * d_head + if use_spatial_context: + time_context_dim = context_dim + + self.time_stack = nn.ModuleList( + [ + BasicTransformerBlock( + inner_dim, + n_time_mix_heads, + time_mix_d_head, + dropout=dropout, + context_dim=time_context_dim, + # timesteps=timesteps, + checkpoint=checkpoint, + ff_in=ff_in, + inner_dim=time_mix_inner_dim, + disable_self_attn=disable_self_attn, + disable_temporal_crossattention=disable_temporal_crossattention, + attn_precision=attn_precision, + dtype=dtype, device=device, operations=operations + ) + for _ in range(self.depth) + ] + ) + + assert len(self.time_stack) == len(self.transformer_blocks) + + self.use_spatial_context = use_spatial_context + self.in_channels = in_channels + + time_embed_dim = self.in_channels * 4 + self.time_pos_embed = nn.Sequential( + operations.Linear(self.in_channels, time_embed_dim, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(time_embed_dim, self.in_channels, dtype=dtype, device=device), + ) + + self.time_mixer = AlphaBlender( + alpha=merge_factor, merge_strategy=merge_strategy + ) + + def forward( + self, + x: torch.Tensor, + context: Optional[torch.Tensor] = None, + time_context: Optional[torch.Tensor] = None, + timesteps: Optional[int] = None, + image_only_indicator: Optional[torch.Tensor] = None, + transformer_options={} + ) -> torch.Tensor: + _, _, h, w = x.shape + x_in = x + spatial_context = None + if exists(context): + spatial_context = context + + if self.use_spatial_context: + assert ( + context.ndim == 3 + ), f"n dims of spatial context should be 3 but are {context.ndim}" + + if time_context is None: + time_context = context + time_context_first_timestep = time_context[::timesteps] + time_context = repeat( + time_context_first_timestep, "b ... -> (b n) ...", n=h * w + ) + elif time_context is not None and not self.use_spatial_context: + time_context = repeat(time_context, "b ... -> (b n) ...", n=h * w) + if time_context.ndim == 2: + time_context = rearrange(time_context, "b c -> b 1 c") + + x = self.norm(x) + if not self.use_linear: + x = self.proj_in(x) + x = rearrange(x, "b c h w -> b (h w) c") + if self.use_linear: + x = self.proj_in(x) + + num_frames = torch.arange(timesteps, device=x.device) + num_frames = repeat(num_frames, "t -> b t", b=x.shape[0] // timesteps) + num_frames = rearrange(num_frames, "b t -> (b t)") + t_emb = timestep_embedding(num_frames, self.in_channels, repeat_only=False, max_period=self.max_time_embed_period).to(x.dtype) + emb = self.time_pos_embed(t_emb) + emb = emb[:, None, :] + + for it_, (block, mix_block) in enumerate( + zip(self.transformer_blocks, self.time_stack) + ): + transformer_options["block_index"] = it_ + x = block( + x, + context=spatial_context, + transformer_options=transformer_options, + ) + + x_mix = x + x_mix = x_mix + emb + + B, S, C = x_mix.shape + x_mix = rearrange(x_mix, "(b t) s c -> (b s) t c", t=timesteps) + x_mix = mix_block(x_mix, context=time_context) #TODO: transformer_options + x_mix = rearrange( + x_mix, "(b s) t c -> (b t) s c", s=S, b=B // timesteps, c=C, t=timesteps + ) + + x = self.time_mixer(x_spatial=x, x_temporal=x_mix, image_only_indicator=image_only_indicator) + + if self.use_linear: + x = self.proj_out(x) + x = rearrange(x, "b (h w) c -> b c h w", h=h, w=w) + if not self.use_linear: + x = self.proj_out(x) + out = x + x_in + return out + + diff --git a/comfy/ldm/modules/diffusionmodules/__init__.py b/comfy/ldm/modules/diffusionmodules/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/comfy/ldm/modules/diffusionmodules/mmdit.py b/comfy/ldm/modules/diffusionmodules/mmdit.py new file mode 100644 index 0000000000000000000000000000000000000000..e70f4431f5aad166535f9f9fd3fc49bd63193c85 --- /dev/null +++ b/comfy/ldm/modules/diffusionmodules/mmdit.py @@ -0,0 +1,1029 @@ +from functools import partial +from typing import Dict, Optional, List + +import numpy as np +import torch +import torch.nn as nn +from ..attention import optimized_attention +from einops import rearrange, repeat +from .util import timestep_embedding +import comfy.ops +import comfy.ldm.common_dit + +def default(x, y): + if x is not None: + return x + return y + +class Mlp(nn.Module): + """ MLP as used in Vision Transformer, MLP-Mixer and related networks + """ + def __init__( + self, + in_features, + hidden_features=None, + out_features=None, + act_layer=nn.GELU, + norm_layer=None, + bias=True, + drop=0., + use_conv=False, + dtype=None, + device=None, + operations=None, + ): + super().__init__() + out_features = out_features or in_features + hidden_features = hidden_features or in_features + drop_probs = drop + linear_layer = partial(operations.Conv2d, kernel_size=1) if use_conv else operations.Linear + + self.fc1 = linear_layer(in_features, hidden_features, bias=bias, dtype=dtype, device=device) + self.act = act_layer() + self.drop1 = nn.Dropout(drop_probs) + self.norm = norm_layer(hidden_features) if norm_layer is not None else nn.Identity() + self.fc2 = linear_layer(hidden_features, out_features, bias=bias, dtype=dtype, device=device) + self.drop2 = nn.Dropout(drop_probs) + + def forward(self, x): + x = self.fc1(x) + x = self.act(x) + x = self.drop1(x) + x = self.norm(x) + x = self.fc2(x) + x = self.drop2(x) + return x + +class PatchEmbed(nn.Module): + """ 2D Image to Patch Embedding + """ + dynamic_img_pad: torch.jit.Final[bool] + + def __init__( + self, + img_size: Optional[int] = 224, + patch_size: int = 16, + in_chans: int = 3, + embed_dim: int = 768, + norm_layer = None, + flatten: bool = True, + bias: bool = True, + strict_img_size: bool = True, + dynamic_img_pad: bool = True, + padding_mode='circular', + conv3d=False, + dtype=None, + device=None, + operations=None, + ): + super().__init__() + try: + len(patch_size) + self.patch_size = patch_size + except: + if conv3d: + self.patch_size = (patch_size, patch_size, patch_size) + else: + self.patch_size = (patch_size, patch_size) + self.padding_mode = padding_mode + + # flatten spatial dim and transpose to channels last, kept for bwd compat + self.flatten = flatten + self.strict_img_size = strict_img_size + self.dynamic_img_pad = dynamic_img_pad + if conv3d: + self.proj = operations.Conv3d(in_chans, embed_dim, kernel_size=patch_size, stride=patch_size, bias=bias, dtype=dtype, device=device) + else: + self.proj = operations.Conv2d(in_chans, embed_dim, kernel_size=patch_size, stride=patch_size, bias=bias, dtype=dtype, device=device) + self.norm = norm_layer(embed_dim) if norm_layer else nn.Identity() + + def forward(self, x): + if self.dynamic_img_pad: + x = comfy.ldm.common_dit.pad_to_patch_size(x, self.patch_size, padding_mode=self.padding_mode) + x = self.proj(x) + if self.flatten: + x = x.flatten(2).transpose(1, 2) # NCHW -> NLC + x = self.norm(x) + return x + +def modulate(x, shift, scale): + if shift is None: + shift = torch.zeros_like(scale) + return x * (1 + scale.unsqueeze(1)) + shift.unsqueeze(1) + + +################################################################################# +# Sine/Cosine Positional Embedding Functions # +################################################################################# + + +def get_2d_sincos_pos_embed( + embed_dim, + grid_size, + cls_token=False, + extra_tokens=0, + scaling_factor=None, + offset=None, +): + """ + grid_size: int of the grid height and width + return: + pos_embed: [grid_size*grid_size, embed_dim] or [1+grid_size*grid_size, embed_dim] (w/ or w/o cls_token) + """ + grid_h = np.arange(grid_size, dtype=np.float32) + grid_w = np.arange(grid_size, dtype=np.float32) + grid = np.meshgrid(grid_w, grid_h) # here w goes first + grid = np.stack(grid, axis=0) + if scaling_factor is not None: + grid = grid / scaling_factor + if offset is not None: + grid = grid - offset + + grid = grid.reshape([2, 1, grid_size, grid_size]) + pos_embed = get_2d_sincos_pos_embed_from_grid(embed_dim, grid) + if cls_token and extra_tokens > 0: + pos_embed = np.concatenate( + [np.zeros([extra_tokens, embed_dim]), pos_embed], axis=0 + ) + return pos_embed + + +def get_2d_sincos_pos_embed_from_grid(embed_dim, grid): + assert embed_dim % 2 == 0 + + # use half of dimensions to encode grid_h + emb_h = get_1d_sincos_pos_embed_from_grid(embed_dim // 2, grid[0]) # (H*W, D/2) + emb_w = get_1d_sincos_pos_embed_from_grid(embed_dim // 2, grid[1]) # (H*W, D/2) + + emb = np.concatenate([emb_h, emb_w], axis=1) # (H*W, D) + return emb + + +def get_1d_sincos_pos_embed_from_grid(embed_dim, pos): + """ + embed_dim: output dimension for each position + pos: a list of positions to be encoded: size (M,) + out: (M, D) + """ + assert embed_dim % 2 == 0 + omega = np.arange(embed_dim // 2, dtype=np.float64) + omega /= embed_dim / 2.0 + omega = 1.0 / 10000**omega # (D/2,) + + pos = pos.reshape(-1) # (M,) + out = np.einsum("m,d->md", pos, omega) # (M, D/2), outer product + + emb_sin = np.sin(out) # (M, D/2) + emb_cos = np.cos(out) # (M, D/2) + + emb = np.concatenate([emb_sin, emb_cos], axis=1) # (M, D) + return emb + +def get_1d_sincos_pos_embed_from_grid_torch(embed_dim, pos, device=None, dtype=torch.float32): + omega = torch.arange(embed_dim // 2, device=device, dtype=dtype) + omega /= embed_dim / 2.0 + omega = 1.0 / 10000**omega # (D/2,) + pos = pos.reshape(-1) # (M,) + out = torch.einsum("m,d->md", pos, omega) # (M, D/2), outer product + emb_sin = torch.sin(out) # (M, D/2) + emb_cos = torch.cos(out) # (M, D/2) + emb = torch.cat([emb_sin, emb_cos], dim=1) # (M, D) + return emb + +def get_2d_sincos_pos_embed_torch(embed_dim, w, h, val_center=7.5, val_magnitude=7.5, device=None, dtype=torch.float32): + small = min(h, w) + val_h = (h / small) * val_magnitude + val_w = (w / small) * val_magnitude + grid_h, grid_w = torch.meshgrid(torch.linspace(-val_h + val_center, val_h + val_center, h, device=device, dtype=dtype), torch.linspace(-val_w + val_center, val_w + val_center, w, device=device, dtype=dtype), indexing='ij') + emb_h = get_1d_sincos_pos_embed_from_grid_torch(embed_dim // 2, grid_h, device=device, dtype=dtype) + emb_w = get_1d_sincos_pos_embed_from_grid_torch(embed_dim // 2, grid_w, device=device, dtype=dtype) + emb = torch.cat([emb_w, emb_h], dim=1) # (H*W, D) + return emb + + +################################################################################# +# Embedding Layers for Timesteps and Class Labels # +################################################################################# + + +class TimestepEmbedder(nn.Module): + """ + Embeds scalar timesteps into vector representations. + """ + + def __init__(self, hidden_size, frequency_embedding_size=256, dtype=None, device=None, operations=None): + super().__init__() + self.mlp = nn.Sequential( + operations.Linear(frequency_embedding_size, hidden_size, bias=True, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(hidden_size, hidden_size, bias=True, dtype=dtype, device=device), + ) + self.frequency_embedding_size = frequency_embedding_size + + def forward(self, t, dtype, **kwargs): + t_freq = timestep_embedding(t, self.frequency_embedding_size).to(dtype) + t_emb = self.mlp(t_freq) + return t_emb + + +class VectorEmbedder(nn.Module): + """ + Embeds a flat vector of dimension input_dim + """ + + def __init__(self, input_dim: int, hidden_size: int, dtype=None, device=None, operations=None): + super().__init__() + self.mlp = nn.Sequential( + operations.Linear(input_dim, hidden_size, bias=True, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(hidden_size, hidden_size, bias=True, dtype=dtype, device=device), + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + emb = self.mlp(x) + return emb + + +################################################################################# +# Core DiT Model # +################################################################################# + + +def split_qkv(qkv, head_dim): + qkv = qkv.reshape(qkv.shape[0], qkv.shape[1], 3, -1, head_dim).movedim(2, 0) + return qkv[0], qkv[1], qkv[2] + + +class SelfAttention(nn.Module): + ATTENTION_MODES = ("xformers", "torch", "torch-hb", "math", "debug") + + def __init__( + self, + dim: int, + num_heads: int = 8, + qkv_bias: bool = False, + qk_scale: Optional[float] = None, + proj_drop: float = 0.0, + attn_mode: str = "xformers", + pre_only: bool = False, + qk_norm: Optional[str] = None, + rmsnorm: bool = False, + dtype=None, + device=None, + operations=None, + ): + super().__init__() + self.num_heads = num_heads + self.head_dim = dim // num_heads + + self.qkv = operations.Linear(dim, dim * 3, bias=qkv_bias, dtype=dtype, device=device) + if not pre_only: + self.proj = operations.Linear(dim, dim, dtype=dtype, device=device) + self.proj_drop = nn.Dropout(proj_drop) + assert attn_mode in self.ATTENTION_MODES + self.attn_mode = attn_mode + self.pre_only = pre_only + + if qk_norm == "rms": + self.ln_q = RMSNorm(self.head_dim, elementwise_affine=True, eps=1.0e-6, dtype=dtype, device=device) + self.ln_k = RMSNorm(self.head_dim, elementwise_affine=True, eps=1.0e-6, dtype=dtype, device=device) + elif qk_norm == "ln": + self.ln_q = operations.LayerNorm(self.head_dim, elementwise_affine=True, eps=1.0e-6, dtype=dtype, device=device) + self.ln_k = operations.LayerNorm(self.head_dim, elementwise_affine=True, eps=1.0e-6, dtype=dtype, device=device) + elif qk_norm is None: + self.ln_q = nn.Identity() + self.ln_k = nn.Identity() + else: + raise ValueError(qk_norm) + + def pre_attention(self, x: torch.Tensor) -> torch.Tensor: + B, L, C = x.shape + qkv = self.qkv(x) + q, k, v = split_qkv(qkv, self.head_dim) + q = self.ln_q(q).reshape(q.shape[0], q.shape[1], -1) + k = self.ln_k(k).reshape(q.shape[0], q.shape[1], -1) + return (q, k, v) + + def post_attention(self, x: torch.Tensor) -> torch.Tensor: + assert not self.pre_only + x = self.proj(x) + x = self.proj_drop(x) + return x + + def forward(self, x: torch.Tensor) -> torch.Tensor: + q, k, v = self.pre_attention(x) + x = optimized_attention( + q, k, v, heads=self.num_heads + ) + x = self.post_attention(x) + return x + + +class RMSNorm(torch.nn.Module): + def __init__( + self, dim: int, elementwise_affine: bool = False, eps: float = 1e-6, device=None, dtype=None + ): + """ + Initialize the RMSNorm normalization layer. + Args: + dim (int): The dimension of the input tensor. + eps (float, optional): A small value added to the denominator for numerical stability. Default is 1e-6. + Attributes: + eps (float): A small value added to the denominator for numerical stability. + weight (nn.Parameter): Learnable scaling parameter. + """ + super().__init__() + self.eps = eps + self.learnable_scale = elementwise_affine + if self.learnable_scale: + self.weight = nn.Parameter(torch.empty(dim, device=device, dtype=dtype)) + else: + self.register_parameter("weight", None) + + def forward(self, x): + return comfy.ldm.common_dit.rms_norm(x, self.weight, self.eps) + + + +class SwiGLUFeedForward(nn.Module): + def __init__( + self, + dim: int, + hidden_dim: int, + multiple_of: int, + ffn_dim_multiplier: Optional[float] = None, + ): + """ + Initialize the FeedForward module. + + Args: + dim (int): Input dimension. + hidden_dim (int): Hidden dimension of the feedforward layer. + multiple_of (int): Value to ensure hidden dimension is a multiple of this value. + ffn_dim_multiplier (float, optional): Custom multiplier for hidden dimension. Defaults to None. + + Attributes: + w1 (ColumnParallelLinear): Linear transformation for the first layer. + w2 (RowParallelLinear): Linear transformation for the second layer. + w3 (ColumnParallelLinear): Linear transformation for the third layer. + + """ + super().__init__() + hidden_dim = int(2 * hidden_dim / 3) + # custom dim factor multiplier + if ffn_dim_multiplier is not None: + hidden_dim = int(ffn_dim_multiplier * hidden_dim) + hidden_dim = multiple_of * ((hidden_dim + multiple_of - 1) // multiple_of) + + self.w1 = nn.Linear(dim, hidden_dim, bias=False) + self.w2 = nn.Linear(hidden_dim, dim, bias=False) + self.w3 = nn.Linear(dim, hidden_dim, bias=False) + + def forward(self, x): + return self.w2(nn.functional.silu(self.w1(x)) * self.w3(x)) + + +class DismantledBlock(nn.Module): + """ + A DiT block with gated adaptive layer norm (adaLN) conditioning. + """ + + ATTENTION_MODES = ("xformers", "torch", "torch-hb", "math", "debug") + + def __init__( + self, + hidden_size: int, + num_heads: int, + mlp_ratio: float = 4.0, + attn_mode: str = "xformers", + qkv_bias: bool = False, + pre_only: bool = False, + rmsnorm: bool = False, + scale_mod_only: bool = False, + swiglu: bool = False, + qk_norm: Optional[str] = None, + x_block_self_attn: bool = False, + dtype=None, + device=None, + operations=None, + **block_kwargs, + ): + super().__init__() + assert attn_mode in self.ATTENTION_MODES + if not rmsnorm: + self.norm1 = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + else: + self.norm1 = RMSNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.attn = SelfAttention( + dim=hidden_size, + num_heads=num_heads, + qkv_bias=qkv_bias, + attn_mode=attn_mode, + pre_only=pre_only, + qk_norm=qk_norm, + rmsnorm=rmsnorm, + dtype=dtype, + device=device, + operations=operations + ) + if x_block_self_attn: + assert not pre_only + assert not scale_mod_only + self.x_block_self_attn = True + self.attn2 = SelfAttention( + dim=hidden_size, + num_heads=num_heads, + qkv_bias=qkv_bias, + attn_mode=attn_mode, + pre_only=False, + qk_norm=qk_norm, + rmsnorm=rmsnorm, + dtype=dtype, + device=device, + operations=operations + ) + else: + self.x_block_self_attn = False + if not pre_only: + if not rmsnorm: + self.norm2 = operations.LayerNorm( + hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device + ) + else: + self.norm2 = RMSNorm(hidden_size, elementwise_affine=False, eps=1e-6) + mlp_hidden_dim = int(hidden_size * mlp_ratio) + if not pre_only: + if not swiglu: + self.mlp = Mlp( + in_features=hidden_size, + hidden_features=mlp_hidden_dim, + act_layer=lambda: nn.GELU(approximate="tanh"), + drop=0, + dtype=dtype, + device=device, + operations=operations + ) + else: + self.mlp = SwiGLUFeedForward( + dim=hidden_size, + hidden_dim=mlp_hidden_dim, + multiple_of=256, + ) + self.scale_mod_only = scale_mod_only + if x_block_self_attn: + assert not pre_only + assert not scale_mod_only + n_mods = 9 + elif not scale_mod_only: + n_mods = 6 if not pre_only else 2 + else: + n_mods = 4 if not pre_only else 1 + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), operations.Linear(hidden_size, n_mods * hidden_size, bias=True, dtype=dtype, device=device) + ) + self.pre_only = pre_only + + def pre_attention(self, x: torch.Tensor, c: torch.Tensor) -> torch.Tensor: + if not self.pre_only: + if not self.scale_mod_only: + ( + shift_msa, + scale_msa, + gate_msa, + shift_mlp, + scale_mlp, + gate_mlp, + ) = self.adaLN_modulation(c).chunk(6, dim=1) + else: + shift_msa = None + shift_mlp = None + ( + scale_msa, + gate_msa, + scale_mlp, + gate_mlp, + ) = self.adaLN_modulation( + c + ).chunk(4, dim=1) + qkv = self.attn.pre_attention(modulate(self.norm1(x), shift_msa, scale_msa)) + return qkv, ( + x, + gate_msa, + shift_mlp, + scale_mlp, + gate_mlp, + ) + else: + if not self.scale_mod_only: + ( + shift_msa, + scale_msa, + ) = self.adaLN_modulation( + c + ).chunk(2, dim=1) + else: + shift_msa = None + scale_msa = self.adaLN_modulation(c) + qkv = self.attn.pre_attention(modulate(self.norm1(x), shift_msa, scale_msa)) + return qkv, None + + def post_attention(self, attn, x, gate_msa, shift_mlp, scale_mlp, gate_mlp): + assert not self.pre_only + x = x + gate_msa.unsqueeze(1) * self.attn.post_attention(attn) + x = x + gate_mlp.unsqueeze(1) * self.mlp( + modulate(self.norm2(x), shift_mlp, scale_mlp) + ) + return x + + def pre_attention_x(self, x: torch.Tensor, c: torch.Tensor) -> torch.Tensor: + assert self.x_block_self_attn + ( + shift_msa, + scale_msa, + gate_msa, + shift_mlp, + scale_mlp, + gate_mlp, + shift_msa2, + scale_msa2, + gate_msa2, + ) = self.adaLN_modulation(c).chunk(9, dim=1) + x_norm = self.norm1(x) + qkv = self.attn.pre_attention(modulate(x_norm, shift_msa, scale_msa)) + qkv2 = self.attn2.pre_attention(modulate(x_norm, shift_msa2, scale_msa2)) + return qkv, qkv2, ( + x, + gate_msa, + shift_mlp, + scale_mlp, + gate_mlp, + gate_msa2, + ) + + def post_attention_x(self, attn, attn2, x, gate_msa, shift_mlp, scale_mlp, gate_mlp, gate_msa2): + assert not self.pre_only + attn1 = self.attn.post_attention(attn) + attn2 = self.attn2.post_attention(attn2) + out1 = gate_msa.unsqueeze(1) * attn1 + out2 = gate_msa2.unsqueeze(1) * attn2 + x = x + out1 + x = x + out2 + x = x + gate_mlp.unsqueeze(1) * self.mlp( + modulate(self.norm2(x), shift_mlp, scale_mlp) + ) + return x + + def forward(self, x: torch.Tensor, c: torch.Tensor) -> torch.Tensor: + assert not self.pre_only + if self.x_block_self_attn: + qkv, qkv2, intermediates = self.pre_attention_x(x, c) + attn, _ = optimized_attention( + qkv[0], qkv[1], qkv[2], + num_heads=self.attn.num_heads, + ) + attn2, _ = optimized_attention( + qkv2[0], qkv2[1], qkv2[2], + num_heads=self.attn2.num_heads, + ) + return self.post_attention_x(attn, attn2, *intermediates) + else: + qkv, intermediates = self.pre_attention(x, c) + attn = optimized_attention( + qkv[0], qkv[1], qkv[2], + heads=self.attn.num_heads, + ) + return self.post_attention(attn, *intermediates) + + +def block_mixing(*args, use_checkpoint=True, **kwargs): + if use_checkpoint: + return torch.utils.checkpoint.checkpoint( + _block_mixing, *args, use_reentrant=False, **kwargs + ) + else: + return _block_mixing(*args, **kwargs) + + +def _block_mixing(context, x, context_block, x_block, c): + context_qkv, context_intermediates = context_block.pre_attention(context, c) + + if x_block.x_block_self_attn: + x_qkv, x_qkv2, x_intermediates = x_block.pre_attention_x(x, c) + else: + x_qkv, x_intermediates = x_block.pre_attention(x, c) + + o = [] + for t in range(3): + o.append(torch.cat((context_qkv[t], x_qkv[t]), dim=1)) + qkv = tuple(o) + + attn = optimized_attention( + qkv[0], qkv[1], qkv[2], + heads=x_block.attn.num_heads, + ) + context_attn, x_attn = ( + attn[:, : context_qkv[0].shape[1]], + attn[:, context_qkv[0].shape[1] :], + ) + + if not context_block.pre_only: + context = context_block.post_attention(context_attn, *context_intermediates) + + else: + context = None + if x_block.x_block_self_attn: + attn2 = optimized_attention( + x_qkv2[0], x_qkv2[1], x_qkv2[2], + heads=x_block.attn2.num_heads, + ) + x = x_block.post_attention_x(x_attn, attn2, *x_intermediates) + else: + x = x_block.post_attention(x_attn, *x_intermediates) + return context, x + + +class JointBlock(nn.Module): + """just a small wrapper to serve as a fsdp unit""" + + def __init__( + self, + *args, + **kwargs, + ): + super().__init__() + pre_only = kwargs.pop("pre_only") + qk_norm = kwargs.pop("qk_norm", None) + x_block_self_attn = kwargs.pop("x_block_self_attn", False) + self.context_block = DismantledBlock(*args, pre_only=pre_only, qk_norm=qk_norm, **kwargs) + self.x_block = DismantledBlock(*args, + pre_only=False, + qk_norm=qk_norm, + x_block_self_attn=x_block_self_attn, + **kwargs) + + def forward(self, *args, **kwargs): + return block_mixing( + *args, context_block=self.context_block, x_block=self.x_block, **kwargs + ) + + +class FinalLayer(nn.Module): + """ + The final layer of DiT. + """ + + def __init__( + self, + hidden_size: int, + patch_size: int, + out_channels: int, + total_out_channels: Optional[int] = None, + dtype=None, + device=None, + operations=None, + ): + super().__init__() + self.norm_final = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.linear = ( + operations.Linear(hidden_size, patch_size * patch_size * out_channels, bias=True, dtype=dtype, device=device) + if (total_out_channels is None) + else operations.Linear(hidden_size, total_out_channels, bias=True, dtype=dtype, device=device) + ) + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), operations.Linear(hidden_size, 2 * hidden_size, bias=True, dtype=dtype, device=device) + ) + + def forward(self, x: torch.Tensor, c: torch.Tensor) -> torch.Tensor: + shift, scale = self.adaLN_modulation(c).chunk(2, dim=1) + x = modulate(self.norm_final(x), shift, scale) + x = self.linear(x) + return x + +class SelfAttentionContext(nn.Module): + def __init__(self, dim, heads=8, dim_head=64, dtype=None, device=None, operations=None): + super().__init__() + dim_head = dim // heads + inner_dim = dim + + self.heads = heads + self.dim_head = dim_head + + self.qkv = operations.Linear(dim, dim * 3, bias=True, dtype=dtype, device=device) + + self.proj = operations.Linear(inner_dim, dim, dtype=dtype, device=device) + + def forward(self, x): + qkv = self.qkv(x) + q, k, v = split_qkv(qkv, self.dim_head) + x = optimized_attention(q.reshape(q.shape[0], q.shape[1], -1), k, v, heads=self.heads) + return self.proj(x) + +class ContextProcessorBlock(nn.Module): + def __init__(self, context_size, dtype=None, device=None, operations=None): + super().__init__() + self.norm1 = operations.LayerNorm(context_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.attn = SelfAttentionContext(context_size, dtype=dtype, device=device, operations=operations) + self.norm2 = operations.LayerNorm(context_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.mlp = Mlp(in_features=context_size, hidden_features=(context_size * 4), act_layer=lambda: nn.GELU(approximate="tanh"), drop=0, dtype=dtype, device=device, operations=operations) + + def forward(self, x): + x += self.attn(self.norm1(x)) + x += self.mlp(self.norm2(x)) + return x + +class ContextProcessor(nn.Module): + def __init__(self, context_size, num_layers, dtype=None, device=None, operations=None): + super().__init__() + self.layers = torch.nn.ModuleList([ContextProcessorBlock(context_size, dtype=dtype, device=device, operations=operations) for i in range(num_layers)]) + self.norm = operations.LayerNorm(context_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + + def forward(self, x): + for i, l in enumerate(self.layers): + x = l(x) + return self.norm(x) + +class MMDiT(nn.Module): + """ + Diffusion model with a Transformer backbone. + """ + + def __init__( + self, + input_size: int = 32, + patch_size: int = 2, + in_channels: int = 4, + depth: int = 28, + # hidden_size: Optional[int] = None, + # num_heads: Optional[int] = None, + mlp_ratio: float = 4.0, + learn_sigma: bool = False, + adm_in_channels: Optional[int] = None, + context_embedder_config: Optional[Dict] = None, + compile_core: bool = False, + use_checkpoint: bool = False, + register_length: int = 0, + attn_mode: str = "torch", + rmsnorm: bool = False, + scale_mod_only: bool = False, + swiglu: bool = False, + out_channels: Optional[int] = None, + pos_embed_scaling_factor: Optional[float] = None, + pos_embed_offset: Optional[float] = None, + pos_embed_max_size: Optional[int] = None, + num_patches = None, + qk_norm: Optional[str] = None, + qkv_bias: bool = True, + context_processor_layers = None, + x_block_self_attn: bool = False, + x_block_self_attn_layers: Optional[List[int]] = [], + context_size = 4096, + num_blocks = None, + final_layer = True, + skip_blocks = False, + dtype = None, #TODO + device = None, + operations = None, + ): + super().__init__() + self.dtype = dtype + self.learn_sigma = learn_sigma + self.in_channels = in_channels + default_out_channels = in_channels * 2 if learn_sigma else in_channels + self.out_channels = default(out_channels, default_out_channels) + self.patch_size = patch_size + self.pos_embed_scaling_factor = pos_embed_scaling_factor + self.pos_embed_offset = pos_embed_offset + self.pos_embed_max_size = pos_embed_max_size + self.x_block_self_attn_layers = x_block_self_attn_layers + + # hidden_size = default(hidden_size, 64 * depth) + # num_heads = default(num_heads, hidden_size // 64) + + # apply magic --> this defines a head_size of 64 + self.hidden_size = 64 * depth + num_heads = depth + if num_blocks is None: + num_blocks = depth + + self.depth = depth + self.num_heads = num_heads + + self.x_embedder = PatchEmbed( + input_size, + patch_size, + in_channels, + self.hidden_size, + bias=True, + strict_img_size=self.pos_embed_max_size is None, + dtype=dtype, + device=device, + operations=operations + ) + self.t_embedder = TimestepEmbedder(self.hidden_size, dtype=dtype, device=device, operations=operations) + + self.y_embedder = None + if adm_in_channels is not None: + assert isinstance(adm_in_channels, int) + self.y_embedder = VectorEmbedder(adm_in_channels, self.hidden_size, dtype=dtype, device=device, operations=operations) + + if context_processor_layers is not None: + self.context_processor = ContextProcessor(context_size, context_processor_layers, dtype=dtype, device=device, operations=operations) + else: + self.context_processor = None + + self.context_embedder = nn.Identity() + if context_embedder_config is not None: + if context_embedder_config["target"] == "torch.nn.Linear": + self.context_embedder = operations.Linear(**context_embedder_config["params"], dtype=dtype, device=device) + + self.register_length = register_length + if self.register_length > 0: + self.register = nn.Parameter(torch.randn(1, register_length, self.hidden_size, dtype=dtype, device=device)) + + # num_patches = self.x_embedder.num_patches + # Will use fixed sin-cos embedding: + # just use a buffer already + if num_patches is not None: + self.register_buffer( + "pos_embed", + torch.empty(1, num_patches, self.hidden_size, dtype=dtype, device=device), + ) + else: + self.pos_embed = None + + self.use_checkpoint = use_checkpoint + if not skip_blocks: + self.joint_blocks = nn.ModuleList( + [ + JointBlock( + self.hidden_size, + num_heads, + mlp_ratio=mlp_ratio, + qkv_bias=qkv_bias, + attn_mode=attn_mode, + pre_only=(i == num_blocks - 1) and final_layer, + rmsnorm=rmsnorm, + scale_mod_only=scale_mod_only, + swiglu=swiglu, + qk_norm=qk_norm, + x_block_self_attn=(i in self.x_block_self_attn_layers) or x_block_self_attn, + dtype=dtype, + device=device, + operations=operations, + ) + for i in range(num_blocks) + ] + ) + + if final_layer: + self.final_layer = FinalLayer(self.hidden_size, patch_size, self.out_channels, dtype=dtype, device=device, operations=operations) + + if compile_core: + assert False + self.forward_core_with_concat = torch.compile(self.forward_core_with_concat) + + def cropped_pos_embed(self, hw, device=None): + p = self.x_embedder.patch_size[0] + h, w = hw + # patched size + h = (h + 1) // p + w = (w + 1) // p + if self.pos_embed is None: + return get_2d_sincos_pos_embed_torch(self.hidden_size, w, h, device=device) + assert self.pos_embed_max_size is not None + assert h <= self.pos_embed_max_size, (h, self.pos_embed_max_size) + assert w <= self.pos_embed_max_size, (w, self.pos_embed_max_size) + top = (self.pos_embed_max_size - h) // 2 + left = (self.pos_embed_max_size - w) // 2 + spatial_pos_embed = rearrange( + self.pos_embed, + "1 (h w) c -> 1 h w c", + h=self.pos_embed_max_size, + w=self.pos_embed_max_size, + ) + spatial_pos_embed = spatial_pos_embed[:, top : top + h, left : left + w, :] + spatial_pos_embed = rearrange(spatial_pos_embed, "1 h w c -> 1 (h w) c") + # print(spatial_pos_embed, top, left, h, w) + # # t = get_2d_sincos_pos_embed_torch(self.hidden_size, w, h, 7.875, 7.875, device=device) #matches exactly for 1024 res + # t = get_2d_sincos_pos_embed_torch(self.hidden_size, w, h, 7.5, 7.5, device=device) #scales better + # # print(t) + # return t + return spatial_pos_embed + + def unpatchify(self, x, hw=None): + """ + x: (N, T, patch_size**2 * C) + imgs: (N, H, W, C) + """ + c = self.out_channels + p = self.x_embedder.patch_size[0] + if hw is None: + h = w = int(x.shape[1] ** 0.5) + else: + h, w = hw + h = (h + 1) // p + w = (w + 1) // p + assert h * w == x.shape[1] + + x = x.reshape(shape=(x.shape[0], h, w, p, p, c)) + x = torch.einsum("nhwpqc->nchpwq", x) + imgs = x.reshape(shape=(x.shape[0], c, h * p, w * p)) + return imgs + + def forward_core_with_concat( + self, + x: torch.Tensor, + c_mod: torch.Tensor, + context: Optional[torch.Tensor] = None, + control = None, + transformer_options = {}, + ) -> torch.Tensor: + patches_replace = transformer_options.get("patches_replace", {}) + if self.register_length > 0: + context = torch.cat( + ( + repeat(self.register, "1 ... -> b ...", b=x.shape[0]), + default(context, torch.Tensor([]).type_as(x)), + ), + 1, + ) + + # context is B, L', D + # x is B, L, D + blocks_replace = patches_replace.get("dit", {}) + blocks = len(self.joint_blocks) + for i in range(blocks): + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["txt"], out["img"] = self.joint_blocks[i](args["txt"], args["img"], c=args["vec"]) + return out + + out = blocks_replace[("double_block", i)]({"img": x, "txt": context, "vec": c_mod}, {"original_block": block_wrap}) + context = out["txt"] + x = out["img"] + else: + context, x = self.joint_blocks[i]( + context, + x, + c=c_mod, + use_checkpoint=self.use_checkpoint, + ) + if control is not None: + control_o = control.get("output") + if i < len(control_o): + add = control_o[i] + if add is not None: + x += add + + x = self.final_layer(x, c_mod) # (N, T, patch_size ** 2 * out_channels) + return x + + def forward( + self, + x: torch.Tensor, + t: torch.Tensor, + y: Optional[torch.Tensor] = None, + context: Optional[torch.Tensor] = None, + control = None, + transformer_options = {}, + ) -> torch.Tensor: + """ + Forward pass of DiT. + x: (N, C, H, W) tensor of spatial inputs (images or latent representations of images) + t: (N,) tensor of diffusion timesteps + y: (N,) tensor of class labels + """ + + if self.context_processor is not None: + context = self.context_processor(context) + + hw = x.shape[-2:] + x = self.x_embedder(x) + comfy.ops.cast_to_input(self.cropped_pos_embed(hw, device=x.device), x) + c = self.t_embedder(t, dtype=x.dtype) # (N, D) + if y is not None and self.y_embedder is not None: + y = self.y_embedder(y) # (N, D) + c = c + y # (N, D) + + if context is not None: + context = self.context_embedder(context) + + x = self.forward_core_with_concat(x, c, context, control, transformer_options) + + x = self.unpatchify(x, hw=hw) # (N, out_channels, H, W) + return x[:,:,:hw[-2],:hw[-1]] + + +class OpenAISignatureMMDITWrapper(MMDiT): + def forward( + self, + x: torch.Tensor, + timesteps: torch.Tensor, + context: Optional[torch.Tensor] = None, + y: Optional[torch.Tensor] = None, + control = None, + transformer_options = {}, + **kwargs, + ) -> torch.Tensor: + return super().forward(x, timesteps, context=context, y=y, control=control, transformer_options=transformer_options) + diff --git a/comfy/ldm/modules/diffusionmodules/model.py b/comfy/ldm/modules/diffusionmodules/model.py new file mode 100644 index 0000000000000000000000000000000000000000..ed1e882129e900309b4e8c570cd3bc6d854a3c0b --- /dev/null +++ b/comfy/ldm/modules/diffusionmodules/model.py @@ -0,0 +1,734 @@ +# pytorch_diffusion + derived encoder decoder +import math +import torch +import torch.nn as nn +import numpy as np +import logging + +from comfy import model_management +import comfy.ops +ops = comfy.ops.disable_weight_init + +if model_management.xformers_enabled_vae(): + import xformers + import xformers.ops + +def get_timestep_embedding(timesteps, embedding_dim): + """ + This matches the implementation in Denoising Diffusion Probabilistic Models: + From Fairseq. + Build sinusoidal embeddings. + This matches the implementation in tensor2tensor, but differs slightly + from the description in Section 3.5 of "Attention Is All You Need". + """ + assert len(timesteps.shape) == 1 + + half_dim = embedding_dim // 2 + emb = math.log(10000) / (half_dim - 1) + emb = torch.exp(torch.arange(half_dim, dtype=torch.float32) * -emb) + emb = emb.to(device=timesteps.device) + emb = timesteps.float()[:, None] * emb[None, :] + emb = torch.cat([torch.sin(emb), torch.cos(emb)], dim=1) + if embedding_dim % 2 == 1: # zero pad + emb = torch.nn.functional.pad(emb, (0,1,0,0)) + return emb + + +def nonlinearity(x): + # swish + return x*torch.sigmoid(x) + + +def Normalize(in_channels, num_groups=32): + return ops.GroupNorm(num_groups=num_groups, num_channels=in_channels, eps=1e-6, affine=True) + + +class VideoConv3d(nn.Module): + def __init__(self, n_channels, out_channels, kernel_size, stride=1, dilation=1, padding_mode='replicate', padding=1, **kwargs): + super().__init__() + + self.padding_mode = padding_mode + if padding != 0: + padding = (padding, padding, padding, padding, kernel_size - 1, 0) + else: + kwargs["padding"] = padding + + self.padding = padding + self.conv = ops.Conv3d(n_channels, out_channels, kernel_size, stride=stride, dilation=dilation, **kwargs) + + def forward(self, x): + if self.padding != 0: + x = torch.nn.functional.pad(x, self.padding, mode=self.padding_mode) + return self.conv(x) + +def interpolate_up(x, scale_factor): + try: + return torch.nn.functional.interpolate(x, scale_factor=scale_factor, mode="nearest") + except: #operation not implemented for bf16 + orig_shape = list(x.shape) + out_shape = orig_shape[:2] + for i in range(len(orig_shape) - 2): + out_shape.append(round(orig_shape[i + 2] * scale_factor[i])) + out = torch.empty(out_shape, dtype=x.dtype, layout=x.layout, device=x.device) + split = 8 + l = out.shape[1] // split + for i in range(0, out.shape[1], l): + out[:,i:i+l] = torch.nn.functional.interpolate(x[:,i:i+l].to(torch.float32), scale_factor=scale_factor, mode="nearest").to(x.dtype) + return out + +class Upsample(nn.Module): + def __init__(self, in_channels, with_conv, conv_op=ops.Conv2d, scale_factor=2.0): + super().__init__() + self.with_conv = with_conv + self.scale_factor = scale_factor + + if self.with_conv: + self.conv = conv_op(in_channels, + in_channels, + kernel_size=3, + stride=1, + padding=1) + + def forward(self, x): + scale_factor = self.scale_factor + if isinstance(scale_factor, (int, float)): + scale_factor = (scale_factor,) * (x.ndim - 2) + + if x.ndim == 5 and scale_factor[0] > 1.0: + t = x.shape[2] + if t > 1: + a, b = x.split((1, t - 1), dim=2) + del x + b = interpolate_up(b, scale_factor) + else: + a = x + + a = interpolate_up(a.squeeze(2), scale_factor=scale_factor[1:]).unsqueeze(2) + if t > 1: + x = torch.cat((a, b), dim=2) + else: + x = a + else: + x = interpolate_up(x, scale_factor) + if self.with_conv: + x = self.conv(x) + return x + + +class Downsample(nn.Module): + def __init__(self, in_channels, with_conv, stride=2, conv_op=ops.Conv2d): + super().__init__() + self.with_conv = with_conv + if self.with_conv: + # no asymmetric padding in torch conv, must do it ourselves + self.conv = conv_op(in_channels, + in_channels, + kernel_size=3, + stride=stride, + padding=0) + + def forward(self, x): + if self.with_conv: + if x.ndim == 4: + pad = (0, 1, 0, 1) + mode = "constant" + x = torch.nn.functional.pad(x, pad, mode=mode, value=0) + elif x.ndim == 5: + pad = (1, 1, 1, 1, 2, 0) + mode = "replicate" + x = torch.nn.functional.pad(x, pad, mode=mode) + x = self.conv(x) + else: + x = torch.nn.functional.avg_pool2d(x, kernel_size=2, stride=2) + return x + + +class ResnetBlock(nn.Module): + def __init__(self, *, in_channels, out_channels=None, conv_shortcut=False, + dropout, temb_channels=512, conv_op=ops.Conv2d): + super().__init__() + self.in_channels = in_channels + out_channels = in_channels if out_channels is None else out_channels + self.out_channels = out_channels + self.use_conv_shortcut = conv_shortcut + + self.swish = torch.nn.SiLU(inplace=True) + self.norm1 = Normalize(in_channels) + self.conv1 = conv_op(in_channels, + out_channels, + kernel_size=3, + stride=1, + padding=1) + if temb_channels > 0: + self.temb_proj = ops.Linear(temb_channels, + out_channels) + self.norm2 = Normalize(out_channels) + self.dropout = torch.nn.Dropout(dropout, inplace=True) + self.conv2 = conv_op(out_channels, + out_channels, + kernel_size=3, + stride=1, + padding=1) + if self.in_channels != self.out_channels: + if self.use_conv_shortcut: + self.conv_shortcut = conv_op(in_channels, + out_channels, + kernel_size=3, + stride=1, + padding=1) + else: + self.nin_shortcut = conv_op(in_channels, + out_channels, + kernel_size=1, + stride=1, + padding=0) + + def forward(self, x, temb): + h = x + h = self.norm1(h) + h = self.swish(h) + h = self.conv1(h) + + if temb is not None: + h = h + self.temb_proj(self.swish(temb))[:,:,None,None] + + h = self.norm2(h) + h = self.swish(h) + h = self.dropout(h) + h = self.conv2(h) + + if self.in_channels != self.out_channels: + if self.use_conv_shortcut: + x = self.conv_shortcut(x) + else: + x = self.nin_shortcut(x) + + return x+h + +def slice_attention(q, k, v): + r1 = torch.zeros_like(k, device=q.device) + scale = (int(q.shape[-1])**(-0.5)) + + mem_free_total = model_management.get_free_memory(q.device) + + tensor_size = q.shape[0] * q.shape[1] * k.shape[2] * q.element_size() + modifier = 3 if q.element_size() == 2 else 2.5 + mem_required = tensor_size * modifier + steps = 1 + + if mem_required > mem_free_total: + steps = 2**(math.ceil(math.log(mem_required / mem_free_total, 2))) + + while True: + try: + slice_size = q.shape[1] // steps if (q.shape[1] % steps) == 0 else q.shape[1] + for i in range(0, q.shape[1], slice_size): + end = i + slice_size + s1 = torch.bmm(q[:, i:end], k) * scale + + s2 = torch.nn.functional.softmax(s1, dim=2).permute(0,2,1) + del s1 + + r1[:, :, i:end] = torch.bmm(v, s2) + del s2 + break + except model_management.OOM_EXCEPTION as e: + model_management.soft_empty_cache(True) + steps *= 2 + if steps > 128: + raise e + logging.warning("out of memory error, increasing steps and trying again {}".format(steps)) + + return r1 + +def normal_attention(q, k, v): + # compute attention + orig_shape = q.shape + b = orig_shape[0] + c = orig_shape[1] + + q = q.reshape(b, c, -1) + q = q.permute(0, 2, 1) # b,hw,c + k = k.reshape(b, c, -1) # b,c,hw + v = v.reshape(b, c, -1) + + r1 = slice_attention(q, k, v) + h_ = r1.reshape(orig_shape) + del r1 + return h_ + +def xformers_attention(q, k, v): + # compute attention + orig_shape = q.shape + B = orig_shape[0] + C = orig_shape[1] + q, k, v = map( + lambda t: t.view(B, C, -1).transpose(1, 2).contiguous(), + (q, k, v), + ) + + try: + out = xformers.ops.memory_efficient_attention(q, k, v, attn_bias=None) + out = out.transpose(1, 2).reshape(orig_shape) + except NotImplementedError: + out = slice_attention(q.view(B, -1, C), k.view(B, -1, C).transpose(1, 2), v.view(B, -1, C).transpose(1, 2)).reshape(orig_shape) + return out + +def pytorch_attention(q, k, v): + # compute attention + orig_shape = q.shape + B = orig_shape[0] + C = orig_shape[1] + q, k, v = map( + lambda t: t.view(B, 1, C, -1).transpose(2, 3).contiguous(), + (q, k, v), + ) + + try: + out = torch.nn.functional.scaled_dot_product_attention(q, k, v, attn_mask=None, dropout_p=0.0, is_causal=False) + out = out.transpose(2, 3).reshape(orig_shape) + except model_management.OOM_EXCEPTION: + logging.warning("scaled_dot_product_attention OOMed: switched to slice attention") + out = slice_attention(q.view(B, -1, C), k.view(B, -1, C).transpose(1, 2), v.view(B, -1, C).transpose(1, 2)).reshape(orig_shape) + return out + + +class AttnBlock(nn.Module): + def __init__(self, in_channels, conv_op=ops.Conv2d): + super().__init__() + self.in_channels = in_channels + + self.norm = Normalize(in_channels) + self.q = conv_op(in_channels, + in_channels, + kernel_size=1, + stride=1, + padding=0) + self.k = conv_op(in_channels, + in_channels, + kernel_size=1, + stride=1, + padding=0) + self.v = conv_op(in_channels, + in_channels, + kernel_size=1, + stride=1, + padding=0) + self.proj_out = conv_op(in_channels, + in_channels, + kernel_size=1, + stride=1, + padding=0) + + if model_management.xformers_enabled_vae(): + logging.info("Using xformers attention in VAE") + self.optimized_attention = xformers_attention + elif model_management.pytorch_attention_enabled(): + logging.info("Using pytorch attention in VAE") + self.optimized_attention = pytorch_attention + else: + logging.info("Using split attention in VAE") + self.optimized_attention = normal_attention + + def forward(self, x): + h_ = x + h_ = self.norm(h_) + q = self.q(h_) + k = self.k(h_) + v = self.v(h_) + + h_ = self.optimized_attention(q, k, v) + + h_ = self.proj_out(h_) + + return x+h_ + + +def make_attn(in_channels, attn_type="vanilla", attn_kwargs=None, conv_op=ops.Conv2d): + return AttnBlock(in_channels, conv_op=conv_op) + + +class Model(nn.Module): + def __init__(self, *, ch, out_ch, ch_mult=(1,2,4,8), num_res_blocks, + attn_resolutions, dropout=0.0, resamp_with_conv=True, in_channels, + resolution, use_timestep=True, use_linear_attn=False, attn_type="vanilla"): + super().__init__() + if use_linear_attn: attn_type = "linear" + self.ch = ch + self.temb_ch = self.ch*4 + self.num_resolutions = len(ch_mult) + self.num_res_blocks = num_res_blocks + self.resolution = resolution + self.in_channels = in_channels + + self.use_timestep = use_timestep + if self.use_timestep: + # timestep embedding + self.temb = nn.Module() + self.temb.dense = nn.ModuleList([ + ops.Linear(self.ch, + self.temb_ch), + ops.Linear(self.temb_ch, + self.temb_ch), + ]) + + # downsampling + self.conv_in = ops.Conv2d(in_channels, + self.ch, + kernel_size=3, + stride=1, + padding=1) + + curr_res = resolution + in_ch_mult = (1,)+tuple(ch_mult) + self.down = nn.ModuleList() + for i_level in range(self.num_resolutions): + block = nn.ModuleList() + attn = nn.ModuleList() + block_in = ch*in_ch_mult[i_level] + block_out = ch*ch_mult[i_level] + for i_block in range(self.num_res_blocks): + block.append(ResnetBlock(in_channels=block_in, + out_channels=block_out, + temb_channels=self.temb_ch, + dropout=dropout)) + block_in = block_out + if curr_res in attn_resolutions: + attn.append(make_attn(block_in, attn_type=attn_type)) + down = nn.Module() + down.block = block + down.attn = attn + if i_level != self.num_resolutions-1: + down.downsample = Downsample(block_in, resamp_with_conv) + curr_res = curr_res // 2 + self.down.append(down) + + # middle + self.mid = nn.Module() + self.mid.block_1 = ResnetBlock(in_channels=block_in, + out_channels=block_in, + temb_channels=self.temb_ch, + dropout=dropout) + self.mid.attn_1 = make_attn(block_in, attn_type=attn_type) + self.mid.block_2 = ResnetBlock(in_channels=block_in, + out_channels=block_in, + temb_channels=self.temb_ch, + dropout=dropout) + + # upsampling + self.up = nn.ModuleList() + for i_level in reversed(range(self.num_resolutions)): + block = nn.ModuleList() + attn = nn.ModuleList() + block_out = ch*ch_mult[i_level] + skip_in = ch*ch_mult[i_level] + for i_block in range(self.num_res_blocks+1): + if i_block == self.num_res_blocks: + skip_in = ch*in_ch_mult[i_level] + block.append(ResnetBlock(in_channels=block_in+skip_in, + out_channels=block_out, + temb_channels=self.temb_ch, + dropout=dropout)) + block_in = block_out + if curr_res in attn_resolutions: + attn.append(make_attn(block_in, attn_type=attn_type)) + up = nn.Module() + up.block = block + up.attn = attn + if i_level != 0: + up.upsample = Upsample(block_in, resamp_with_conv) + curr_res = curr_res * 2 + self.up.insert(0, up) # prepend to get consistent order + + # end + self.norm_out = Normalize(block_in) + self.conv_out = ops.Conv2d(block_in, + out_ch, + kernel_size=3, + stride=1, + padding=1) + + def forward(self, x, t=None, context=None): + #assert x.shape[2] == x.shape[3] == self.resolution + if context is not None: + # assume aligned context, cat along channel axis + x = torch.cat((x, context), dim=1) + if self.use_timestep: + # timestep embedding + assert t is not None + temb = get_timestep_embedding(t, self.ch) + temb = self.temb.dense[0](temb) + temb = nonlinearity(temb) + temb = self.temb.dense[1](temb) + else: + temb = None + + # downsampling + hs = [self.conv_in(x)] + for i_level in range(self.num_resolutions): + for i_block in range(self.num_res_blocks): + h = self.down[i_level].block[i_block](hs[-1], temb) + if len(self.down[i_level].attn) > 0: + h = self.down[i_level].attn[i_block](h) + hs.append(h) + if i_level != self.num_resolutions-1: + hs.append(self.down[i_level].downsample(hs[-1])) + + # middle + h = hs[-1] + h = self.mid.block_1(h, temb) + h = self.mid.attn_1(h) + h = self.mid.block_2(h, temb) + + # upsampling + for i_level in reversed(range(self.num_resolutions)): + for i_block in range(self.num_res_blocks+1): + h = self.up[i_level].block[i_block]( + torch.cat([h, hs.pop()], dim=1), temb) + if len(self.up[i_level].attn) > 0: + h = self.up[i_level].attn[i_block](h) + if i_level != 0: + h = self.up[i_level].upsample(h) + + # end + h = self.norm_out(h) + h = nonlinearity(h) + h = self.conv_out(h) + return h + + def get_last_layer(self): + return self.conv_out.weight + + +class Encoder(nn.Module): + def __init__(self, *, ch, out_ch, ch_mult=(1,2,4,8), num_res_blocks, + attn_resolutions, dropout=0.0, resamp_with_conv=True, in_channels, + resolution, z_channels, double_z=True, use_linear_attn=False, attn_type="vanilla", + conv3d=False, time_compress=None, + **ignore_kwargs): + super().__init__() + if use_linear_attn: attn_type = "linear" + self.ch = ch + self.temb_ch = 0 + self.num_resolutions = len(ch_mult) + self.num_res_blocks = num_res_blocks + self.resolution = resolution + self.in_channels = in_channels + + if conv3d: + conv_op = VideoConv3d + mid_attn_conv_op = ops.Conv3d + else: + conv_op = ops.Conv2d + mid_attn_conv_op = ops.Conv2d + + # downsampling + self.conv_in = conv_op(in_channels, + self.ch, + kernel_size=3, + stride=1, + padding=1) + + curr_res = resolution + in_ch_mult = (1,)+tuple(ch_mult) + self.in_ch_mult = in_ch_mult + self.down = nn.ModuleList() + for i_level in range(self.num_resolutions): + block = nn.ModuleList() + attn = nn.ModuleList() + block_in = ch*in_ch_mult[i_level] + block_out = ch*ch_mult[i_level] + for i_block in range(self.num_res_blocks): + block.append(ResnetBlock(in_channels=block_in, + out_channels=block_out, + temb_channels=self.temb_ch, + dropout=dropout, + conv_op=conv_op)) + block_in = block_out + if curr_res in attn_resolutions: + attn.append(make_attn(block_in, attn_type=attn_type, conv_op=conv_op)) + down = nn.Module() + down.block = block + down.attn = attn + if i_level != self.num_resolutions-1: + stride = 2 + if time_compress is not None: + if (self.num_resolutions - 1 - i_level) > math.log2(time_compress): + stride = (1, 2, 2) + down.downsample = Downsample(block_in, resamp_with_conv, stride=stride, conv_op=conv_op) + curr_res = curr_res // 2 + self.down.append(down) + + # middle + self.mid = nn.Module() + self.mid.block_1 = ResnetBlock(in_channels=block_in, + out_channels=block_in, + temb_channels=self.temb_ch, + dropout=dropout, + conv_op=conv_op) + self.mid.attn_1 = make_attn(block_in, attn_type=attn_type, conv_op=mid_attn_conv_op) + self.mid.block_2 = ResnetBlock(in_channels=block_in, + out_channels=block_in, + temb_channels=self.temb_ch, + dropout=dropout, + conv_op=conv_op) + + # end + self.norm_out = Normalize(block_in) + self.conv_out = conv_op(block_in, + 2*z_channels if double_z else z_channels, + kernel_size=3, + stride=1, + padding=1) + + def forward(self, x): + # timestep embedding + temb = None + # downsampling + h = self.conv_in(x) + for i_level in range(self.num_resolutions): + for i_block in range(self.num_res_blocks): + h = self.down[i_level].block[i_block](h, temb) + if len(self.down[i_level].attn) > 0: + h = self.down[i_level].attn[i_block](h) + if i_level != self.num_resolutions-1: + h = self.down[i_level].downsample(h) + + # middle + h = self.mid.block_1(h, temb) + h = self.mid.attn_1(h) + h = self.mid.block_2(h, temb) + + # end + h = self.norm_out(h) + h = nonlinearity(h) + h = self.conv_out(h) + return h + + +class Decoder(nn.Module): + def __init__(self, *, ch, out_ch, ch_mult=(1,2,4,8), num_res_blocks, + attn_resolutions, dropout=0.0, resamp_with_conv=True, in_channels, + resolution, z_channels, give_pre_end=False, tanh_out=False, use_linear_attn=False, + conv_out_op=ops.Conv2d, + resnet_op=ResnetBlock, + attn_op=AttnBlock, + conv3d=False, + time_compress=None, + **ignorekwargs): + super().__init__() + self.ch = ch + self.temb_ch = 0 + self.num_resolutions = len(ch_mult) + self.num_res_blocks = num_res_blocks + self.resolution = resolution + self.in_channels = in_channels + self.give_pre_end = give_pre_end + self.tanh_out = tanh_out + + if conv3d: + conv_op = VideoConv3d + conv_out_op = VideoConv3d + mid_attn_conv_op = ops.Conv3d + else: + conv_op = ops.Conv2d + mid_attn_conv_op = ops.Conv2d + + # compute block_in and curr_res at lowest res + block_in = ch*ch_mult[self.num_resolutions-1] + curr_res = resolution // 2**(self.num_resolutions-1) + self.z_shape = (1,z_channels,curr_res,curr_res) + logging.debug("Working with z of shape {} = {} dimensions.".format( + self.z_shape, np.prod(self.z_shape))) + + # z to block_in + self.conv_in = conv_op(z_channels, + block_in, + kernel_size=3, + stride=1, + padding=1) + + # middle + self.mid = nn.Module() + self.mid.block_1 = resnet_op(in_channels=block_in, + out_channels=block_in, + temb_channels=self.temb_ch, + dropout=dropout, + conv_op=conv_op) + self.mid.attn_1 = attn_op(block_in, conv_op=mid_attn_conv_op) + self.mid.block_2 = resnet_op(in_channels=block_in, + out_channels=block_in, + temb_channels=self.temb_ch, + dropout=dropout, + conv_op=conv_op) + + # upsampling + self.up = nn.ModuleList() + for i_level in reversed(range(self.num_resolutions)): + block = nn.ModuleList() + attn = nn.ModuleList() + block_out = ch*ch_mult[i_level] + for i_block in range(self.num_res_blocks+1): + block.append(resnet_op(in_channels=block_in, + out_channels=block_out, + temb_channels=self.temb_ch, + dropout=dropout, + conv_op=conv_op)) + block_in = block_out + if curr_res in attn_resolutions: + attn.append(attn_op(block_in, conv_op=conv_op)) + up = nn.Module() + up.block = block + up.attn = attn + if i_level != 0: + scale_factor = 2.0 + if time_compress is not None: + if i_level > math.log2(time_compress): + scale_factor = (1.0, 2.0, 2.0) + + up.upsample = Upsample(block_in, resamp_with_conv, conv_op=conv_op, scale_factor=scale_factor) + curr_res = curr_res * 2 + self.up.insert(0, up) # prepend to get consistent order + + # end + self.norm_out = Normalize(block_in) + self.conv_out = conv_out_op(block_in, + out_ch, + kernel_size=3, + stride=1, + padding=1) + + def forward(self, z, **kwargs): + #assert z.shape[1:] == self.z_shape[1:] + self.last_z_shape = z.shape + + # timestep embedding + temb = None + + # z to block_in + h = self.conv_in(z) + + # middle + h = self.mid.block_1(h, temb, **kwargs) + h = self.mid.attn_1(h, **kwargs) + h = self.mid.block_2(h, temb, **kwargs) + + # upsampling + for i_level in reversed(range(self.num_resolutions)): + for i_block in range(self.num_res_blocks+1): + h = self.up[i_level].block[i_block](h, temb, **kwargs) + if len(self.up[i_level].attn) > 0: + h = self.up[i_level].attn[i_block](h, **kwargs) + if i_level != 0: + h = self.up[i_level].upsample(h) + + # end + if self.give_pre_end: + return h + + h = self.norm_out(h) + h = nonlinearity(h) + h = self.conv_out(h, **kwargs) + if self.tanh_out: + h = torch.tanh(h) + return h diff --git a/comfy/ldm/modules/diffusionmodules/openaimodel.py b/comfy/ldm/modules/diffusionmodules/openaimodel.py new file mode 100644 index 0000000000000000000000000000000000000000..4c8d53cac9c2631f6985a3c670128bb4316b11ca --- /dev/null +++ b/comfy/ldm/modules/diffusionmodules/openaimodel.py @@ -0,0 +1,913 @@ +from abc import abstractmethod + +import torch as th +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange +import logging + +from .util import ( + checkpoint, + avg_pool_nd, + timestep_embedding, + AlphaBlender, +) +from ..attention import SpatialTransformer, SpatialVideoTransformer, default +from comfy.ldm.util import exists +import comfy.patcher_extension +import comfy.ops +ops = comfy.ops.disable_weight_init + +class TimestepBlock(nn.Module): + """ + Any module where forward() takes timestep embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` timestep embeddings. + """ + +#This is needed because accelerate makes a copy of transformer_options which breaks "transformer_index" +def forward_timestep_embed(ts, x, emb, context=None, transformer_options={}, output_shape=None, time_context=None, num_video_frames=None, image_only_indicator=None): + for layer in ts: + if isinstance(layer, VideoResBlock): + x = layer(x, emb, num_video_frames, image_only_indicator) + elif isinstance(layer, TimestepBlock): + x = layer(x, emb) + elif isinstance(layer, SpatialVideoTransformer): + x = layer(x, context, time_context, num_video_frames, image_only_indicator, transformer_options) + if "transformer_index" in transformer_options: + transformer_options["transformer_index"] += 1 + elif isinstance(layer, SpatialTransformer): + x = layer(x, context, transformer_options) + if "transformer_index" in transformer_options: + transformer_options["transformer_index"] += 1 + elif isinstance(layer, Upsample): + x = layer(x, output_shape=output_shape) + else: + if "patches" in transformer_options and "forward_timestep_embed_patch" in transformer_options["patches"]: + found_patched = False + for class_type, handler in transformer_options["patches"]["forward_timestep_embed_patch"]: + if isinstance(layer, class_type): + x = handler(layer, x, emb, context, transformer_options, output_shape, time_context, num_video_frames, image_only_indicator) + found_patched = True + break + if found_patched: + continue + x = layer(x) + return x + +class TimestepEmbedSequential(nn.Sequential, TimestepBlock): + """ + A sequential module that passes timestep embeddings to the children that + support it as an extra input. + """ + + def forward(self, *args, **kwargs): + return forward_timestep_embed(self, *args, **kwargs) + +class Upsample(nn.Module): + """ + An upsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + :param dims: determines if the signal is 1D, 2D, or 3D. If 3D, then + upsampling occurs in the inner-two dimensions. + """ + + def __init__(self, channels, use_conv, dims=2, out_channels=None, padding=1, dtype=None, device=None, operations=ops): + super().__init__() + self.channels = channels + self.out_channels = out_channels or channels + self.use_conv = use_conv + self.dims = dims + if use_conv: + self.conv = operations.conv_nd(dims, self.channels, self.out_channels, 3, padding=padding, dtype=dtype, device=device) + + def forward(self, x, output_shape=None): + assert x.shape[1] == self.channels + if self.dims == 3: + shape = [x.shape[2], x.shape[3] * 2, x.shape[4] * 2] + if output_shape is not None: + shape[1] = output_shape[3] + shape[2] = output_shape[4] + else: + shape = [x.shape[2] * 2, x.shape[3] * 2] + if output_shape is not None: + shape[0] = output_shape[2] + shape[1] = output_shape[3] + + x = F.interpolate(x, size=shape, mode="nearest") + if self.use_conv: + x = self.conv(x) + return x + +class Downsample(nn.Module): + """ + A downsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + :param dims: determines if the signal is 1D, 2D, or 3D. If 3D, then + downsampling occurs in the inner-two dimensions. + """ + + def __init__(self, channels, use_conv, dims=2, out_channels=None, padding=1, dtype=None, device=None, operations=ops): + super().__init__() + self.channels = channels + self.out_channels = out_channels or channels + self.use_conv = use_conv + self.dims = dims + stride = 2 if dims != 3 else (1, 2, 2) + if use_conv: + self.op = operations.conv_nd( + dims, self.channels, self.out_channels, 3, stride=stride, padding=padding, dtype=dtype, device=device + ) + else: + assert self.channels == self.out_channels + self.op = avg_pool_nd(dims, kernel_size=stride, stride=stride) + + def forward(self, x): + assert x.shape[1] == self.channels + return self.op(x) + + +class ResBlock(TimestepBlock): + """ + A residual block that can optionally change the number of channels. + :param channels: the number of input channels. + :param emb_channels: the number of timestep embedding channels. + :param dropout: the rate of dropout. + :param out_channels: if specified, the number of out channels. + :param use_conv: if True and out_channels is specified, use a spatial + convolution instead of a smaller 1x1 convolution to change the + channels in the skip connection. + :param dims: determines if the signal is 1D, 2D, or 3D. + :param use_checkpoint: if True, use gradient checkpointing on this module. + :param up: if True, use this block for upsampling. + :param down: if True, use this block for downsampling. + """ + + def __init__( + self, + channels, + emb_channels, + dropout, + out_channels=None, + use_conv=False, + use_scale_shift_norm=False, + dims=2, + use_checkpoint=False, + up=False, + down=False, + kernel_size=3, + exchange_temb_dims=False, + skip_t_emb=False, + dtype=None, + device=None, + operations=ops + ): + super().__init__() + self.channels = channels + self.emb_channels = emb_channels + self.dropout = dropout + self.out_channels = out_channels or channels + self.use_conv = use_conv + self.use_checkpoint = use_checkpoint + self.use_scale_shift_norm = use_scale_shift_norm + self.exchange_temb_dims = exchange_temb_dims + + if isinstance(kernel_size, list): + padding = [k // 2 for k in kernel_size] + else: + padding = kernel_size // 2 + + self.in_layers = nn.Sequential( + operations.GroupNorm(32, channels, dtype=dtype, device=device), + nn.SiLU(), + operations.conv_nd(dims, channels, self.out_channels, kernel_size, padding=padding, dtype=dtype, device=device), + ) + + self.updown = up or down + + if up: + self.h_upd = Upsample(channels, False, dims, dtype=dtype, device=device) + self.x_upd = Upsample(channels, False, dims, dtype=dtype, device=device) + elif down: + self.h_upd = Downsample(channels, False, dims, dtype=dtype, device=device) + self.x_upd = Downsample(channels, False, dims, dtype=dtype, device=device) + else: + self.h_upd = self.x_upd = nn.Identity() + + self.skip_t_emb = skip_t_emb + if self.skip_t_emb: + self.emb_layers = None + self.exchange_temb_dims = False + else: + self.emb_layers = nn.Sequential( + nn.SiLU(), + operations.Linear( + emb_channels, + 2 * self.out_channels if use_scale_shift_norm else self.out_channels, dtype=dtype, device=device + ), + ) + self.out_layers = nn.Sequential( + operations.GroupNorm(32, self.out_channels, dtype=dtype, device=device), + nn.SiLU(), + nn.Dropout(p=dropout), + operations.conv_nd(dims, self.out_channels, self.out_channels, kernel_size, padding=padding, dtype=dtype, device=device) + , + ) + + if self.out_channels == channels: + self.skip_connection = nn.Identity() + elif use_conv: + self.skip_connection = operations.conv_nd( + dims, channels, self.out_channels, kernel_size, padding=padding, dtype=dtype, device=device + ) + else: + self.skip_connection = operations.conv_nd(dims, channels, self.out_channels, 1, dtype=dtype, device=device) + + def forward(self, x, emb): + """ + Apply the block to a Tensor, conditioned on a timestep embedding. + :param x: an [N x C x ...] Tensor of features. + :param emb: an [N x emb_channels] Tensor of timestep embeddings. + :return: an [N x C x ...] Tensor of outputs. + """ + return checkpoint( + self._forward, (x, emb), self.parameters(), self.use_checkpoint + ) + + + def _forward(self, x, emb): + if self.updown: + in_rest, in_conv = self.in_layers[:-1], self.in_layers[-1] + h = in_rest(x) + h = self.h_upd(h) + x = self.x_upd(x) + h = in_conv(h) + else: + h = self.in_layers(x) + + emb_out = None + if not self.skip_t_emb: + emb_out = self.emb_layers(emb).type(h.dtype) + while len(emb_out.shape) < len(h.shape): + emb_out = emb_out[..., None] + if self.use_scale_shift_norm: + out_norm, out_rest = self.out_layers[0], self.out_layers[1:] + h = out_norm(h) + if emb_out is not None: + scale, shift = th.chunk(emb_out, 2, dim=1) + h *= (1 + scale) + h += shift + h = out_rest(h) + else: + if emb_out is not None: + if self.exchange_temb_dims: + emb_out = emb_out.movedim(1, 2) + h = h + emb_out + h = self.out_layers(h) + return self.skip_connection(x) + h + + +class VideoResBlock(ResBlock): + def __init__( + self, + channels: int, + emb_channels: int, + dropout: float, + video_kernel_size=3, + merge_strategy: str = "fixed", + merge_factor: float = 0.5, + out_channels=None, + use_conv: bool = False, + use_scale_shift_norm: bool = False, + dims: int = 2, + use_checkpoint: bool = False, + up: bool = False, + down: bool = False, + dtype=None, + device=None, + operations=ops + ): + super().__init__( + channels, + emb_channels, + dropout, + out_channels=out_channels, + use_conv=use_conv, + use_scale_shift_norm=use_scale_shift_norm, + dims=dims, + use_checkpoint=use_checkpoint, + up=up, + down=down, + dtype=dtype, + device=device, + operations=operations + ) + + self.time_stack = ResBlock( + default(out_channels, channels), + emb_channels, + dropout=dropout, + dims=3, + out_channels=default(out_channels, channels), + use_scale_shift_norm=False, + use_conv=False, + up=False, + down=False, + kernel_size=video_kernel_size, + use_checkpoint=use_checkpoint, + exchange_temb_dims=True, + dtype=dtype, + device=device, + operations=operations + ) + self.time_mixer = AlphaBlender( + alpha=merge_factor, + merge_strategy=merge_strategy, + rearrange_pattern="b t -> b 1 t 1 1", + ) + + def forward( + self, + x: th.Tensor, + emb: th.Tensor, + num_video_frames: int, + image_only_indicator = None, + ) -> th.Tensor: + x = super().forward(x, emb) + + x_mix = rearrange(x, "(b t) c h w -> b c t h w", t=num_video_frames) + x = rearrange(x, "(b t) c h w -> b c t h w", t=num_video_frames) + + x = self.time_stack( + x, rearrange(emb, "(b t) ... -> b t ...", t=num_video_frames) + ) + x = self.time_mixer( + x_spatial=x_mix, x_temporal=x, image_only_indicator=image_only_indicator + ) + x = rearrange(x, "b c t h w -> (b t) c h w") + return x + + +class Timestep(nn.Module): + def __init__(self, dim): + super().__init__() + self.dim = dim + + def forward(self, t): + return timestep_embedding(t, self.dim) + +def apply_control(h, control, name): + if control is not None and name in control and len(control[name]) > 0: + ctrl = control[name].pop() + if ctrl is not None: + try: + h += ctrl + except: + logging.warning("warning control could not be applied {} {}".format(h.shape, ctrl.shape)) + return h + +class UNetModel(nn.Module): + """ + The full UNet model with attention and timestep embedding. + :param in_channels: channels in the input Tensor. + :param model_channels: base channel count for the model. + :param out_channels: channels in the output Tensor. + :param num_res_blocks: number of residual blocks per downsample. + :param dropout: the dropout probability. + :param channel_mult: channel multiplier for each level of the UNet. + :param conv_resample: if True, use learned convolutions for upsampling and + downsampling. + :param dims: determines if the signal is 1D, 2D, or 3D. + :param num_classes: if specified (as an int), then this model will be + class-conditional with `num_classes` classes. + :param use_checkpoint: use gradient checkpointing to reduce memory usage. + :param num_heads: the number of attention heads in each attention layer. + :param num_heads_channels: if specified, ignore num_heads and instead use + a fixed channel width per attention head. + :param num_heads_upsample: works with num_heads to set a different number + of heads for upsampling. Deprecated. + :param use_scale_shift_norm: use a FiLM-like conditioning mechanism. + :param resblock_updown: use residual blocks for up/downsampling. + :param use_new_attention_order: use a different attention pattern for potentially + increased efficiency. + """ + + def __init__( + self, + image_size, + in_channels, + model_channels, + out_channels, + num_res_blocks, + dropout=0, + channel_mult=(1, 2, 4, 8), + conv_resample=True, + dims=2, + num_classes=None, + use_checkpoint=False, + dtype=th.float32, + num_heads=-1, + num_head_channels=-1, + num_heads_upsample=-1, + use_scale_shift_norm=False, + resblock_updown=False, + use_new_attention_order=False, + use_spatial_transformer=False, # custom transformer support + transformer_depth=1, # custom transformer support + context_dim=None, # custom transformer support + n_embed=None, # custom support for prediction of discrete ids into codebook of first stage vq model + legacy=True, + disable_self_attentions=None, + num_attention_blocks=None, + disable_middle_self_attn=False, + use_linear_in_transformer=False, + adm_in_channels=None, + transformer_depth_middle=None, + transformer_depth_output=None, + use_temporal_resblock=False, + use_temporal_attention=False, + time_context_dim=None, + extra_ff_mix_layer=False, + use_spatial_context=False, + merge_strategy=None, + merge_factor=0.0, + video_kernel_size=None, + disable_temporal_crossattention=False, + max_ddpm_temb_period=10000, + attn_precision=None, + device=None, + operations=ops, + ): + super().__init__() + + if context_dim is not None: + assert use_spatial_transformer, 'Fool!! You forgot to use the spatial transformer for your cross-attention conditioning...' + # from omegaconf.listconfig import ListConfig + # if type(context_dim) == ListConfig: + # context_dim = list(context_dim) + + if num_heads_upsample == -1: + num_heads_upsample = num_heads + + if num_heads == -1: + assert num_head_channels != -1, 'Either num_heads or num_head_channels has to be set' + + if num_head_channels == -1: + assert num_heads != -1, 'Either num_heads or num_head_channels has to be set' + + self.in_channels = in_channels + self.model_channels = model_channels + self.out_channels = out_channels + + if isinstance(num_res_blocks, int): + self.num_res_blocks = len(channel_mult) * [num_res_blocks] + else: + if len(num_res_blocks) != len(channel_mult): + raise ValueError("provide num_res_blocks either as an int (globally constant) or " + "as a list/tuple (per-level) with the same length as channel_mult") + self.num_res_blocks = num_res_blocks + + if disable_self_attentions is not None: + # should be a list of booleans, indicating whether to disable self-attention in TransformerBlocks or not + assert len(disable_self_attentions) == len(channel_mult) + if num_attention_blocks is not None: + assert len(num_attention_blocks) == len(self.num_res_blocks) + + transformer_depth = transformer_depth[:] + transformer_depth_output = transformer_depth_output[:] + + self.dropout = dropout + self.channel_mult = channel_mult + self.conv_resample = conv_resample + self.num_classes = num_classes + self.use_checkpoint = use_checkpoint + self.dtype = dtype + self.num_heads = num_heads + self.num_head_channels = num_head_channels + self.num_heads_upsample = num_heads_upsample + self.use_temporal_resblocks = use_temporal_resblock + self.predict_codebook_ids = n_embed is not None + + self.default_num_video_frames = None + + time_embed_dim = model_channels * 4 + self.time_embed = nn.Sequential( + operations.Linear(model_channels, time_embed_dim, dtype=self.dtype, device=device), + nn.SiLU(), + operations.Linear(time_embed_dim, time_embed_dim, dtype=self.dtype, device=device), + ) + + if self.num_classes is not None: + if isinstance(self.num_classes, int): + self.label_emb = nn.Embedding(num_classes, time_embed_dim, dtype=self.dtype, device=device) + elif self.num_classes == "continuous": + logging.debug("setting up linear c_adm embedding layer") + self.label_emb = nn.Linear(1, time_embed_dim) + elif self.num_classes == "sequential": + assert adm_in_channels is not None + self.label_emb = nn.Sequential( + nn.Sequential( + operations.Linear(adm_in_channels, time_embed_dim, dtype=self.dtype, device=device), + nn.SiLU(), + operations.Linear(time_embed_dim, time_embed_dim, dtype=self.dtype, device=device), + ) + ) + else: + raise ValueError() + + self.input_blocks = nn.ModuleList( + [ + TimestepEmbedSequential( + operations.conv_nd(dims, in_channels, model_channels, 3, padding=1, dtype=self.dtype, device=device) + ) + ] + ) + self._feature_size = model_channels + input_block_chans = [model_channels] + ch = model_channels + ds = 1 + + def get_attention_layer( + ch, + num_heads, + dim_head, + depth=1, + context_dim=None, + use_checkpoint=False, + disable_self_attn=False, + ): + if use_temporal_attention: + return SpatialVideoTransformer( + ch, + num_heads, + dim_head, + depth=depth, + context_dim=context_dim, + time_context_dim=time_context_dim, + dropout=dropout, + ff_in=extra_ff_mix_layer, + use_spatial_context=use_spatial_context, + merge_strategy=merge_strategy, + merge_factor=merge_factor, + checkpoint=use_checkpoint, + use_linear=use_linear_in_transformer, + disable_self_attn=disable_self_attn, + disable_temporal_crossattention=disable_temporal_crossattention, + max_time_embed_period=max_ddpm_temb_period, + attn_precision=attn_precision, + dtype=self.dtype, device=device, operations=operations + ) + else: + return SpatialTransformer( + ch, num_heads, dim_head, depth=depth, context_dim=context_dim, + disable_self_attn=disable_self_attn, use_linear=use_linear_in_transformer, + use_checkpoint=use_checkpoint, attn_precision=attn_precision, dtype=self.dtype, device=device, operations=operations + ) + + def get_resblock( + merge_factor, + merge_strategy, + video_kernel_size, + ch, + time_embed_dim, + dropout, + out_channels, + dims, + use_checkpoint, + use_scale_shift_norm, + down=False, + up=False, + dtype=None, + device=None, + operations=ops + ): + if self.use_temporal_resblocks: + return VideoResBlock( + merge_factor=merge_factor, + merge_strategy=merge_strategy, + video_kernel_size=video_kernel_size, + channels=ch, + emb_channels=time_embed_dim, + dropout=dropout, + out_channels=out_channels, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + down=down, + up=up, + dtype=dtype, + device=device, + operations=operations + ) + else: + return ResBlock( + channels=ch, + emb_channels=time_embed_dim, + dropout=dropout, + out_channels=out_channels, + use_checkpoint=use_checkpoint, + dims=dims, + use_scale_shift_norm=use_scale_shift_norm, + down=down, + up=up, + dtype=dtype, + device=device, + operations=operations + ) + + for level, mult in enumerate(channel_mult): + for nr in range(self.num_res_blocks[level]): + layers = [ + get_resblock( + merge_factor=merge_factor, + merge_strategy=merge_strategy, + video_kernel_size=video_kernel_size, + ch=ch, + time_embed_dim=time_embed_dim, + dropout=dropout, + out_channels=mult * model_channels, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + dtype=self.dtype, + device=device, + operations=operations, + ) + ] + ch = mult * model_channels + num_transformers = transformer_depth.pop(0) + if num_transformers > 0: + if num_head_channels == -1: + dim_head = ch // num_heads + else: + num_heads = ch // num_head_channels + dim_head = num_head_channels + if legacy: + #num_heads = 1 + dim_head = ch // num_heads if use_spatial_transformer else num_head_channels + if exists(disable_self_attentions): + disabled_sa = disable_self_attentions[level] + else: + disabled_sa = False + + if not exists(num_attention_blocks) or nr < num_attention_blocks[level]: + layers.append(get_attention_layer( + ch, num_heads, dim_head, depth=num_transformers, context_dim=context_dim, + disable_self_attn=disabled_sa, use_checkpoint=use_checkpoint) + ) + self.input_blocks.append(TimestepEmbedSequential(*layers)) + self._feature_size += ch + input_block_chans.append(ch) + if level != len(channel_mult) - 1: + out_ch = ch + self.input_blocks.append( + TimestepEmbedSequential( + get_resblock( + merge_factor=merge_factor, + merge_strategy=merge_strategy, + video_kernel_size=video_kernel_size, + ch=ch, + time_embed_dim=time_embed_dim, + dropout=dropout, + out_channels=out_ch, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + down=True, + dtype=self.dtype, + device=device, + operations=operations + ) + if resblock_updown + else Downsample( + ch, conv_resample, dims=dims, out_channels=out_ch, dtype=self.dtype, device=device, operations=operations + ) + ) + ) + ch = out_ch + input_block_chans.append(ch) + ds *= 2 + self._feature_size += ch + + if num_head_channels == -1: + dim_head = ch // num_heads + else: + num_heads = ch // num_head_channels + dim_head = num_head_channels + if legacy: + #num_heads = 1 + dim_head = ch // num_heads if use_spatial_transformer else num_head_channels + mid_block = [ + get_resblock( + merge_factor=merge_factor, + merge_strategy=merge_strategy, + video_kernel_size=video_kernel_size, + ch=ch, + time_embed_dim=time_embed_dim, + dropout=dropout, + out_channels=None, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + dtype=self.dtype, + device=device, + operations=operations + )] + + self.middle_block = None + if transformer_depth_middle >= -1: + if transformer_depth_middle >= 0: + mid_block += [get_attention_layer( # always uses a self-attn + ch, num_heads, dim_head, depth=transformer_depth_middle, context_dim=context_dim, + disable_self_attn=disable_middle_self_attn, use_checkpoint=use_checkpoint + ), + get_resblock( + merge_factor=merge_factor, + merge_strategy=merge_strategy, + video_kernel_size=video_kernel_size, + ch=ch, + time_embed_dim=time_embed_dim, + dropout=dropout, + out_channels=None, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + dtype=self.dtype, + device=device, + operations=operations + )] + self.middle_block = TimestepEmbedSequential(*mid_block) + self._feature_size += ch + + self.output_blocks = nn.ModuleList([]) + for level, mult in list(enumerate(channel_mult))[::-1]: + for i in range(self.num_res_blocks[level] + 1): + ich = input_block_chans.pop() + layers = [ + get_resblock( + merge_factor=merge_factor, + merge_strategy=merge_strategy, + video_kernel_size=video_kernel_size, + ch=ch + ich, + time_embed_dim=time_embed_dim, + dropout=dropout, + out_channels=model_channels * mult, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + dtype=self.dtype, + device=device, + operations=operations + ) + ] + ch = model_channels * mult + num_transformers = transformer_depth_output.pop() + if num_transformers > 0: + if num_head_channels == -1: + dim_head = ch // num_heads + else: + num_heads = ch // num_head_channels + dim_head = num_head_channels + if legacy: + #num_heads = 1 + dim_head = ch // num_heads if use_spatial_transformer else num_head_channels + if exists(disable_self_attentions): + disabled_sa = disable_self_attentions[level] + else: + disabled_sa = False + + if not exists(num_attention_blocks) or i < num_attention_blocks[level]: + layers.append( + get_attention_layer( + ch, num_heads, dim_head, depth=num_transformers, context_dim=context_dim, + disable_self_attn=disabled_sa, use_checkpoint=use_checkpoint + ) + ) + if level and i == self.num_res_blocks[level]: + out_ch = ch + layers.append( + get_resblock( + merge_factor=merge_factor, + merge_strategy=merge_strategy, + video_kernel_size=video_kernel_size, + ch=ch, + time_embed_dim=time_embed_dim, + dropout=dropout, + out_channels=out_ch, + dims=dims, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + up=True, + dtype=self.dtype, + device=device, + operations=operations + ) + if resblock_updown + else Upsample(ch, conv_resample, dims=dims, out_channels=out_ch, dtype=self.dtype, device=device, operations=operations) + ) + ds //= 2 + self.output_blocks.append(TimestepEmbedSequential(*layers)) + self._feature_size += ch + + self.out = nn.Sequential( + operations.GroupNorm(32, ch, dtype=self.dtype, device=device), + nn.SiLU(), + operations.conv_nd(dims, model_channels, out_channels, 3, padding=1, dtype=self.dtype, device=device), + ) + if self.predict_codebook_ids: + self.id_predictor = nn.Sequential( + operations.GroupNorm(32, ch, dtype=self.dtype, device=device), + operations.conv_nd(dims, model_channels, n_embed, 1, dtype=self.dtype, device=device), + #nn.LogSoftmax(dim=1) # change to cross_entropy and produce non-normalized logits + ) + + def forward(self, x, timesteps=None, context=None, y=None, control=None, transformer_options={}, **kwargs): + return comfy.patcher_extension.WrapperExecutor.new_class_executor( + self._forward, + self, + comfy.patcher_extension.get_all_wrappers(comfy.patcher_extension.WrappersMP.DIFFUSION_MODEL, transformer_options) + ).execute(x, timesteps, context, y, control, transformer_options, **kwargs) + + def _forward(self, x, timesteps=None, context=None, y=None, control=None, transformer_options={}, **kwargs): + """ + Apply the model to an input batch. + :param x: an [N x C x ...] Tensor of inputs. + :param timesteps: a 1-D batch of timesteps. + :param context: conditioning plugged in via crossattn + :param y: an [N] Tensor of labels, if class-conditional. + :return: an [N x C x ...] Tensor of outputs. + """ + transformer_options["original_shape"] = list(x.shape) + transformer_options["transformer_index"] = 0 + transformer_patches = transformer_options.get("patches", {}) + + num_video_frames = kwargs.get("num_video_frames", self.default_num_video_frames) + image_only_indicator = kwargs.get("image_only_indicator", None) + time_context = kwargs.get("time_context", None) + + assert (y is not None) == ( + self.num_classes is not None + ), "must specify y if and only if the model is class-conditional" + hs = [] + t_emb = timestep_embedding(timesteps, self.model_channels, repeat_only=False).to(x.dtype) + emb = self.time_embed(t_emb) + + if "emb_patch" in transformer_patches: + patch = transformer_patches["emb_patch"] + for p in patch: + emb = p(emb, self.model_channels, transformer_options) + + if self.num_classes is not None: + assert y.shape[0] == x.shape[0] + emb = emb + self.label_emb(y) + + h = x + for id, module in enumerate(self.input_blocks): + transformer_options["block"] = ("input", id) + h = forward_timestep_embed(module, h, emb, context, transformer_options, time_context=time_context, num_video_frames=num_video_frames, image_only_indicator=image_only_indicator) + h = apply_control(h, control, 'input') + if "input_block_patch" in transformer_patches: + patch = transformer_patches["input_block_patch"] + for p in patch: + h = p(h, transformer_options) + + hs.append(h) + if "input_block_patch_after_skip" in transformer_patches: + patch = transformer_patches["input_block_patch_after_skip"] + for p in patch: + h = p(h, transformer_options) + + transformer_options["block"] = ("middle", 0) + if self.middle_block is not None: + h = forward_timestep_embed(self.middle_block, h, emb, context, transformer_options, time_context=time_context, num_video_frames=num_video_frames, image_only_indicator=image_only_indicator) + h = apply_control(h, control, 'middle') + + + for id, module in enumerate(self.output_blocks): + transformer_options["block"] = ("output", id) + hsp = hs.pop() + hsp = apply_control(hsp, control, 'output') + + if "output_block_patch" in transformer_patches: + patch = transformer_patches["output_block_patch"] + for p in patch: + h, hsp = p(h, hsp, transformer_options) + + h = th.cat([h, hsp], dim=1) + del hsp + if len(hs) > 0: + output_shape = hs[-1].shape + else: + output_shape = None + h = forward_timestep_embed(module, h, emb, context, transformer_options, output_shape, time_context=time_context, num_video_frames=num_video_frames, image_only_indicator=image_only_indicator) + h = h.type(x.dtype) + if self.predict_codebook_ids: + return self.id_predictor(h) + else: + return self.out(h) diff --git a/comfy/ldm/modules/diffusionmodules/upscaling.py b/comfy/ldm/modules/diffusionmodules/upscaling.py new file mode 100644 index 0000000000000000000000000000000000000000..9dbf1fe7b93b0c7f1a9e8cbf8e89d0b33c282a08 --- /dev/null +++ b/comfy/ldm/modules/diffusionmodules/upscaling.py @@ -0,0 +1,84 @@ +import torch +import torch.nn as nn +import numpy as np +from functools import partial + +from .util import extract_into_tensor, make_beta_schedule + + +class AbstractLowScaleModel(nn.Module): + # for concatenating a downsampled image to the latent representation + def __init__(self, noise_schedule_config=None): + super(AbstractLowScaleModel, self).__init__() + if noise_schedule_config is not None: + self.register_schedule(**noise_schedule_config) + + def register_schedule(self, beta_schedule="linear", timesteps=1000, + linear_start=1e-4, linear_end=2e-2, cosine_s=8e-3): + betas = make_beta_schedule(beta_schedule, timesteps, linear_start=linear_start, linear_end=linear_end, + cosine_s=cosine_s) + alphas = 1. - betas + alphas_cumprod = np.cumprod(alphas, axis=0) + alphas_cumprod_prev = np.append(1., alphas_cumprod[:-1]) + + timesteps, = betas.shape + self.num_timesteps = int(timesteps) + self.linear_start = linear_start + self.linear_end = linear_end + assert alphas_cumprod.shape[0] == self.num_timesteps, 'alphas have to be defined for each timestep' + + to_torch = partial(torch.tensor, dtype=torch.float32) + + self.register_buffer('betas', to_torch(betas)) + self.register_buffer('alphas_cumprod', to_torch(alphas_cumprod)) + self.register_buffer('alphas_cumprod_prev', to_torch(alphas_cumprod_prev)) + + # calculations for diffusion q(x_t | x_{t-1}) and others + self.register_buffer('sqrt_alphas_cumprod', to_torch(np.sqrt(alphas_cumprod))) + self.register_buffer('sqrt_one_minus_alphas_cumprod', to_torch(np.sqrt(1. - alphas_cumprod))) + self.register_buffer('log_one_minus_alphas_cumprod', to_torch(np.log(1. - alphas_cumprod))) + self.register_buffer('sqrt_recip_alphas_cumprod', to_torch(np.sqrt(1. / alphas_cumprod))) + self.register_buffer('sqrt_recipm1_alphas_cumprod', to_torch(np.sqrt(1. / alphas_cumprod - 1))) + + def q_sample(self, x_start, t, noise=None, seed=None): + if noise is None: + if seed is None: + noise = torch.randn_like(x_start) + else: + noise = torch.randn(x_start.size(), dtype=x_start.dtype, layout=x_start.layout, generator=torch.manual_seed(seed)).to(x_start.device) + return (extract_into_tensor(self.sqrt_alphas_cumprod.to(x_start.device), t, x_start.shape) * x_start + + extract_into_tensor(self.sqrt_one_minus_alphas_cumprod.to(x_start.device), t, x_start.shape) * noise) + + def forward(self, x): + return x, None + + def decode(self, x): + return x + + +class SimpleImageConcat(AbstractLowScaleModel): + # no noise level conditioning + def __init__(self): + super(SimpleImageConcat, self).__init__(noise_schedule_config=None) + self.max_noise_level = 0 + + def forward(self, x): + # fix to constant noise level + return x, torch.zeros(x.shape[0], device=x.device).long() + + +class ImageConcatWithNoiseAugmentation(AbstractLowScaleModel): + def __init__(self, noise_schedule_config, max_noise_level=1000, to_cuda=False): + super().__init__(noise_schedule_config=noise_schedule_config) + self.max_noise_level = max_noise_level + + def forward(self, x, noise_level=None, seed=None): + if noise_level is None: + noise_level = torch.randint(0, self.max_noise_level, (x.shape[0],), device=x.device).long() + else: + assert isinstance(noise_level, torch.Tensor) + z = self.q_sample(x, noise_level, seed=seed) + return z, noise_level + + + diff --git a/comfy/ldm/modules/diffusionmodules/util.py b/comfy/ldm/modules/diffusionmodules/util.py new file mode 100644 index 0000000000000000000000000000000000000000..233011dc9524c3d5258c69c673385aaf45329c81 --- /dev/null +++ b/comfy/ldm/modules/diffusionmodules/util.py @@ -0,0 +1,306 @@ +# adopted from +# https://github.com/openai/improved-diffusion/blob/main/improved_diffusion/gaussian_diffusion.py +# and +# https://github.com/lucidrains/denoising-diffusion-pytorch/blob/7706bdfc6f527f58d33f84b7b522e61e6e3164b3/denoising_diffusion_pytorch/denoising_diffusion_pytorch.py +# and +# https://github.com/openai/guided-diffusion/blob/0ba878e517b276c45d1195eb29f6f5f72659a05b/guided_diffusion/nn.py +# +# thanks! + + +import math +import logging +import torch +import torch.nn as nn +import numpy as np +from einops import repeat, rearrange + +from comfy.ldm.util import instantiate_from_config + +class AlphaBlender(nn.Module): + strategies = ["learned", "fixed", "learned_with_images"] + + def __init__( + self, + alpha: float, + merge_strategy: str = "learned_with_images", + rearrange_pattern: str = "b t -> (b t) 1 1", + ): + super().__init__() + self.merge_strategy = merge_strategy + self.rearrange_pattern = rearrange_pattern + + assert ( + merge_strategy in self.strategies + ), f"merge_strategy needs to be in {self.strategies}" + + if self.merge_strategy == "fixed": + self.register_buffer("mix_factor", torch.Tensor([alpha])) + elif ( + self.merge_strategy == "learned" + or self.merge_strategy == "learned_with_images" + ): + self.register_parameter( + "mix_factor", torch.nn.Parameter(torch.Tensor([alpha])) + ) + else: + raise ValueError(f"unknown merge strategy {self.merge_strategy}") + + def get_alpha(self, image_only_indicator: torch.Tensor, device) -> torch.Tensor: + # skip_time_mix = rearrange(repeat(skip_time_mix, 'b -> (b t) () () ()', t=t), '(b t) 1 ... -> b 1 t ...', t=t) + if self.merge_strategy == "fixed": + # make shape compatible + # alpha = repeat(self.mix_factor, '1 -> b () t () ()', t=t, b=bs) + alpha = self.mix_factor.to(device) + elif self.merge_strategy == "learned": + alpha = torch.sigmoid(self.mix_factor.to(device)) + # make shape compatible + # alpha = repeat(alpha, '1 -> s () ()', s = t * bs) + elif self.merge_strategy == "learned_with_images": + if image_only_indicator is None: + alpha = rearrange(torch.sigmoid(self.mix_factor.to(device)), "... -> ... 1") + else: + alpha = torch.where( + image_only_indicator.bool(), + torch.ones(1, 1, device=image_only_indicator.device), + rearrange(torch.sigmoid(self.mix_factor.to(image_only_indicator.device)), "... -> ... 1"), + ) + alpha = rearrange(alpha, self.rearrange_pattern) + # make shape compatible + # alpha = repeat(alpha, '1 -> s () ()', s = t * bs) + else: + raise NotImplementedError() + return alpha + + def forward( + self, + x_spatial, + x_temporal, + image_only_indicator=None, + ) -> torch.Tensor: + alpha = self.get_alpha(image_only_indicator, x_spatial.device) + x = ( + alpha.to(x_spatial.dtype) * x_spatial + + (1.0 - alpha).to(x_spatial.dtype) * x_temporal + ) + return x + + +def make_beta_schedule(schedule, n_timestep, linear_start=1e-4, linear_end=2e-2, cosine_s=8e-3): + if schedule == "linear": + betas = ( + torch.linspace(linear_start ** 0.5, linear_end ** 0.5, n_timestep, dtype=torch.float64) ** 2 + ) + + elif schedule == "cosine": + timesteps = ( + torch.arange(n_timestep + 1, dtype=torch.float64) / n_timestep + cosine_s + ) + alphas = timesteps / (1 + cosine_s) * np.pi / 2 + alphas = torch.cos(alphas).pow(2) + alphas = alphas / alphas[0] + betas = 1 - alphas[1:] / alphas[:-1] + betas = torch.clamp(betas, min=0, max=0.999) + + elif schedule == "squaredcos_cap_v2": # used for karlo prior + # return early + return betas_for_alpha_bar( + n_timestep, + lambda t: math.cos((t + 0.008) / 1.008 * math.pi / 2) ** 2, + ) + + elif schedule == "sqrt_linear": + betas = torch.linspace(linear_start, linear_end, n_timestep, dtype=torch.float64) + elif schedule == "sqrt": + betas = torch.linspace(linear_start, linear_end, n_timestep, dtype=torch.float64) ** 0.5 + else: + raise ValueError(f"schedule '{schedule}' unknown.") + return betas + + +def make_ddim_timesteps(ddim_discr_method, num_ddim_timesteps, num_ddpm_timesteps, verbose=True): + if ddim_discr_method == 'uniform': + c = num_ddpm_timesteps // num_ddim_timesteps + ddim_timesteps = np.asarray(list(range(0, num_ddpm_timesteps, c))) + elif ddim_discr_method == 'quad': + ddim_timesteps = ((np.linspace(0, np.sqrt(num_ddpm_timesteps * .8), num_ddim_timesteps)) ** 2).astype(int) + else: + raise NotImplementedError(f'There is no ddim discretization method called "{ddim_discr_method}"') + + # assert ddim_timesteps.shape[0] == num_ddim_timesteps + # add one to get the final alpha values right (the ones from first scale to data during sampling) + steps_out = ddim_timesteps + 1 + if verbose: + logging.info(f'Selected timesteps for ddim sampler: {steps_out}') + return steps_out + + +def make_ddim_sampling_parameters(alphacums, ddim_timesteps, eta, verbose=True): + # select alphas for computing the variance schedule + alphas = alphacums[ddim_timesteps] + alphas_prev = np.asarray([alphacums[0]] + alphacums[ddim_timesteps[:-1]].tolist()) + + # according the the formula provided in https://arxiv.org/abs/2010.02502 + sigmas = eta * np.sqrt((1 - alphas_prev) / (1 - alphas) * (1 - alphas / alphas_prev)) + if verbose: + logging.info(f'Selected alphas for ddim sampler: a_t: {alphas}; a_(t-1): {alphas_prev}') + logging.info(f'For the chosen value of eta, which is {eta}, ' + f'this results in the following sigma_t schedule for ddim sampler {sigmas}') + return sigmas, alphas, alphas_prev + + +def betas_for_alpha_bar(num_diffusion_timesteps, alpha_bar, max_beta=0.999): + """ + Create a beta schedule that discretizes the given alpha_t_bar function, + which defines the cumulative product of (1-beta) over time from t = [0,1]. + :param num_diffusion_timesteps: the number of betas to produce. + :param alpha_bar: a lambda that takes an argument t from 0 to 1 and + produces the cumulative product of (1-beta) up to that + part of the diffusion process. + :param max_beta: the maximum beta to use; use values lower than 1 to + prevent singularities. + """ + betas = [] + for i in range(num_diffusion_timesteps): + t1 = i / num_diffusion_timesteps + t2 = (i + 1) / num_diffusion_timesteps + betas.append(min(1 - alpha_bar(t2) / alpha_bar(t1), max_beta)) + return np.array(betas) + + +def extract_into_tensor(a, t, x_shape): + b, *_ = t.shape + out = a.gather(-1, t) + return out.reshape(b, *((1,) * (len(x_shape) - 1))) + + +def checkpoint(func, inputs, params, flag): + """ + Evaluate a function without caching intermediate activations, allowing for + reduced memory at the expense of extra compute in the backward pass. + :param func: the function to evaluate. + :param inputs: the argument sequence to pass to `func`. + :param params: a sequence of parameters `func` depends on but does not + explicitly take as arguments. + :param flag: if False, disable gradient checkpointing. + """ + if flag: + args = tuple(inputs) + tuple(params) + return CheckpointFunction.apply(func, len(inputs), *args) + else: + return func(*inputs) + + +class CheckpointFunction(torch.autograd.Function): + @staticmethod + def forward(ctx, run_function, length, *args): + ctx.run_function = run_function + ctx.input_tensors = list(args[:length]) + ctx.input_params = list(args[length:]) + ctx.gpu_autocast_kwargs = {"enabled": torch.is_autocast_enabled(), + "dtype": torch.get_autocast_gpu_dtype(), + "cache_enabled": torch.is_autocast_cache_enabled()} + with torch.no_grad(): + output_tensors = ctx.run_function(*ctx.input_tensors) + return output_tensors + + @staticmethod + def backward(ctx, *output_grads): + ctx.input_tensors = [x.detach().requires_grad_(True) for x in ctx.input_tensors] + with torch.enable_grad(), \ + torch.cuda.amp.autocast(**ctx.gpu_autocast_kwargs): + # Fixes a bug where the first op in run_function modifies the + # Tensor storage in place, which is not allowed for detach()'d + # Tensors. + shallow_copies = [x.view_as(x) for x in ctx.input_tensors] + output_tensors = ctx.run_function(*shallow_copies) + input_grads = torch.autograd.grad( + output_tensors, + ctx.input_tensors + ctx.input_params, + output_grads, + allow_unused=True, + ) + del ctx.input_tensors + del ctx.input_params + del output_tensors + return (None, None) + input_grads + + +def timestep_embedding(timesteps, dim, max_period=10000, repeat_only=False): + """ + Create sinusoidal timestep embeddings. + :param timesteps: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + if not repeat_only: + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, end=half, dtype=torch.float32, device=timesteps.device) / half + ) + args = timesteps[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat([embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + else: + embedding = repeat(timesteps, 'b -> b d', d=dim) + return embedding + + +def zero_module(module): + """ + Zero out the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().zero_() + return module + + +def scale_module(module, scale): + """ + Scale the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().mul_(scale) + return module + + +def mean_flat(tensor): + """ + Take the mean over all non-batch dimensions. + """ + return tensor.mean(dim=list(range(1, len(tensor.shape)))) + + +def avg_pool_nd(dims, *args, **kwargs): + """ + Create a 1D, 2D, or 3D average pooling module. + """ + if dims == 1: + return nn.AvgPool1d(*args, **kwargs) + elif dims == 2: + return nn.AvgPool2d(*args, **kwargs) + elif dims == 3: + return nn.AvgPool3d(*args, **kwargs) + raise ValueError(f"unsupported dimensions: {dims}") + + +class HybridConditioner(nn.Module): + + def __init__(self, c_concat_config, c_crossattn_config): + super().__init__() + self.concat_conditioner = instantiate_from_config(c_concat_config) + self.crossattn_conditioner = instantiate_from_config(c_crossattn_config) + + def forward(self, c_concat, c_crossattn): + c_concat = self.concat_conditioner(c_concat) + c_crossattn = self.crossattn_conditioner(c_crossattn) + return {'c_concat': [c_concat], 'c_crossattn': [c_crossattn]} + + +def noise_like(shape, device, repeat=False): + repeat_noise = lambda: torch.randn((1, *shape[1:]), device=device).repeat(shape[0], *((1,) * (len(shape) - 1))) + noise = lambda: torch.randn(shape, device=device) + return repeat_noise() if repeat else noise() diff --git a/comfy/ldm/modules/distributions/__init__.py b/comfy/ldm/modules/distributions/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/comfy/ldm/modules/distributions/distributions.py b/comfy/ldm/modules/distributions/distributions.py new file mode 100644 index 0000000000000000000000000000000000000000..df987c5ec3faaba7da2b02029ad413134bfa08ad --- /dev/null +++ b/comfy/ldm/modules/distributions/distributions.py @@ -0,0 +1,92 @@ +import torch +import numpy as np + + +class AbstractDistribution: + def sample(self): + raise NotImplementedError() + + def mode(self): + raise NotImplementedError() + + +class DiracDistribution(AbstractDistribution): + def __init__(self, value): + self.value = value + + def sample(self): + return self.value + + def mode(self): + return self.value + + +class DiagonalGaussianDistribution(object): + def __init__(self, parameters, deterministic=False): + self.parameters = parameters + self.mean, self.logvar = torch.chunk(parameters, 2, dim=1) + self.logvar = torch.clamp(self.logvar, -30.0, 20.0) + self.deterministic = deterministic + self.std = torch.exp(0.5 * self.logvar) + self.var = torch.exp(self.logvar) + if self.deterministic: + self.var = self.std = torch.zeros_like(self.mean, device=self.parameters.device) + + def sample(self): + x = self.mean + self.std * torch.randn(self.mean.shape, device=self.parameters.device) + return x + + def kl(self, other=None): + if self.deterministic: + return torch.Tensor([0.]) + else: + if other is None: + return 0.5 * torch.sum(torch.pow(self.mean, 2) + + self.var - 1.0 - self.logvar, + dim=[1, 2, 3]) + else: + return 0.5 * torch.sum( + torch.pow(self.mean - other.mean, 2) / other.var + + self.var / other.var - 1.0 - self.logvar + other.logvar, + dim=[1, 2, 3]) + + def nll(self, sample, dims=[1,2,3]): + if self.deterministic: + return torch.Tensor([0.]) + logtwopi = np.log(2.0 * np.pi) + return 0.5 * torch.sum( + logtwopi + self.logvar + torch.pow(sample - self.mean, 2) / self.var, + dim=dims) + + def mode(self): + return self.mean + + +def normal_kl(mean1, logvar1, mean2, logvar2): + """ + source: https://github.com/openai/guided-diffusion/blob/27c20a8fab9cb472df5d6bdd6c8d11c8f430b924/guided_diffusion/losses.py#L12 + Compute the KL divergence between two gaussians. + Shapes are automatically broadcasted, so batches can be compared to + scalars, among other use cases. + """ + tensor = None + for obj in (mean1, logvar1, mean2, logvar2): + if isinstance(obj, torch.Tensor): + tensor = obj + break + assert tensor is not None, "at least one argument must be a Tensor" + + # Force variances to be Tensors. Broadcasting helps convert scalars to + # Tensors, but it does not work for torch.exp(). + logvar1, logvar2 = [ + x if isinstance(x, torch.Tensor) else torch.tensor(x).to(tensor) + for x in (logvar1, logvar2) + ] + + return 0.5 * ( + -1.0 + + logvar2 + - logvar1 + + torch.exp(logvar1 - logvar2) + + ((mean1 - mean2) ** 2) * torch.exp(-logvar2) + ) diff --git a/comfy/ldm/modules/ema.py b/comfy/ldm/modules/ema.py new file mode 100644 index 0000000000000000000000000000000000000000..bded25019b9bcbcd0260f0b8185f8c7859ca58c4 --- /dev/null +++ b/comfy/ldm/modules/ema.py @@ -0,0 +1,80 @@ +import torch +from torch import nn + + +class LitEma(nn.Module): + def __init__(self, model, decay=0.9999, use_num_upates=True): + super().__init__() + if decay < 0.0 or decay > 1.0: + raise ValueError('Decay must be between 0 and 1') + + self.m_name2s_name = {} + self.register_buffer('decay', torch.tensor(decay, dtype=torch.float32)) + self.register_buffer('num_updates', torch.tensor(0, dtype=torch.int) if use_num_upates + else torch.tensor(-1, dtype=torch.int)) + + for name, p in model.named_parameters(): + if p.requires_grad: + # remove as '.'-character is not allowed in buffers + s_name = name.replace('.', '') + self.m_name2s_name.update({name: s_name}) + self.register_buffer(s_name, p.clone().detach().data) + + self.collected_params = [] + + def reset_num_updates(self): + del self.num_updates + self.register_buffer('num_updates', torch.tensor(0, dtype=torch.int)) + + def forward(self, model): + decay = self.decay + + if self.num_updates >= 0: + self.num_updates += 1 + decay = min(self.decay, (1 + self.num_updates) / (10 + self.num_updates)) + + one_minus_decay = 1.0 - decay + + with torch.no_grad(): + m_param = dict(model.named_parameters()) + shadow_params = dict(self.named_buffers()) + + for key in m_param: + if m_param[key].requires_grad: + sname = self.m_name2s_name[key] + shadow_params[sname] = shadow_params[sname].type_as(m_param[key]) + shadow_params[sname].sub_(one_minus_decay * (shadow_params[sname] - m_param[key])) + else: + assert not key in self.m_name2s_name + + def copy_to(self, model): + m_param = dict(model.named_parameters()) + shadow_params = dict(self.named_buffers()) + for key in m_param: + if m_param[key].requires_grad: + m_param[key].data.copy_(shadow_params[self.m_name2s_name[key]].data) + else: + assert not key in self.m_name2s_name + + def store(self, parameters): + """ + Save the current parameters for restoring later. + Args: + parameters: Iterable of `torch.nn.Parameter`; the parameters to be + temporarily stored. + """ + self.collected_params = [param.clone() for param in parameters] + + def restore(self, parameters): + """ + Restore the parameters stored with the `store` method. + Useful to validate the model with EMA parameters without affecting the + original optimization process. Store the parameters before the + `copy_to` method. After validation (or model saving), use this to + restore the former parameters. + Args: + parameters: Iterable of `torch.nn.Parameter`; the parameters to be + updated with the stored parameters. + """ + for c_param, param in zip(self.collected_params, parameters): + param.data.copy_(c_param.data) diff --git a/comfy/ldm/modules/encoders/__init__.py b/comfy/ldm/modules/encoders/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/comfy/ldm/modules/encoders/noise_aug_modules.py b/comfy/ldm/modules/encoders/noise_aug_modules.py new file mode 100644 index 0000000000000000000000000000000000000000..a5d8660301636fde75808cba50afa539cf1162e0 --- /dev/null +++ b/comfy/ldm/modules/encoders/noise_aug_modules.py @@ -0,0 +1,35 @@ +from ..diffusionmodules.upscaling import ImageConcatWithNoiseAugmentation +from ..diffusionmodules.openaimodel import Timestep +import torch + +class CLIPEmbeddingNoiseAugmentation(ImageConcatWithNoiseAugmentation): + def __init__(self, *args, clip_stats_path=None, timestep_dim=256, **kwargs): + super().__init__(*args, **kwargs) + if clip_stats_path is None: + clip_mean, clip_std = torch.zeros(timestep_dim), torch.ones(timestep_dim) + else: + clip_mean, clip_std = torch.load(clip_stats_path, map_location="cpu") + self.register_buffer("data_mean", clip_mean[None, :], persistent=False) + self.register_buffer("data_std", clip_std[None, :], persistent=False) + self.time_embed = Timestep(timestep_dim) + + def scale(self, x): + # re-normalize to centered mean and unit variance + x = (x - self.data_mean.to(x.device)) * 1. / self.data_std.to(x.device) + return x + + def unscale(self, x): + # back to original data stats + x = (x * self.data_std.to(x.device)) + self.data_mean.to(x.device) + return x + + def forward(self, x, noise_level=None, seed=None): + if noise_level is None: + noise_level = torch.randint(0, self.max_noise_level, (x.shape[0],), device=x.device).long() + else: + assert isinstance(noise_level, torch.Tensor) + x = self.scale(x) + z = self.q_sample(x, noise_level, seed=seed) + z = self.unscale(z) + noise_level = self.time_embed(noise_level) + return z, noise_level diff --git a/comfy/ldm/modules/sub_quadratic_attention.py b/comfy/ldm/modules/sub_quadratic_attention.py new file mode 100644 index 0000000000000000000000000000000000000000..21c72373f43f80aac7c9c71b37dbe4703c34fa5d --- /dev/null +++ b/comfy/ldm/modules/sub_quadratic_attention.py @@ -0,0 +1,275 @@ +# original source: +# https://github.com/AminRezaei0x443/memory-efficient-attention/blob/1bc0d9e6ac5f82ea43a375135c4e1d3896ee1694/memory_efficient_attention/attention_torch.py +# license: +# MIT +# credit: +# Amin Rezaei (original author) +# Alex Birch (optimized algorithm for 3D tensors, at the expense of removing bias, masking and callbacks) +# implementation of: +# Self-attention Does Not Need O(n2) Memory": +# https://arxiv.org/abs/2112.05682v2 + +from functools import partial +import torch +from torch import Tensor +from torch.utils.checkpoint import checkpoint +import math +import logging + +try: + from typing import Optional, NamedTuple, List, Protocol +except ImportError: + from typing import Optional, NamedTuple, List + from typing_extensions import Protocol + +from typing import List + +from comfy import model_management + +def dynamic_slice( + x: Tensor, + starts: List[int], + sizes: List[int], +) -> Tensor: + slicing = [slice(start, start + size) for start, size in zip(starts, sizes)] + return x[slicing] + +class AttnChunk(NamedTuple): + exp_values: Tensor + exp_weights_sum: Tensor + max_score: Tensor + +class SummarizeChunk(Protocol): + @staticmethod + def __call__( + query: Tensor, + key_t: Tensor, + value: Tensor, + ) -> AttnChunk: ... + +class ComputeQueryChunkAttn(Protocol): + @staticmethod + def __call__( + query: Tensor, + key_t: Tensor, + value: Tensor, + ) -> Tensor: ... + +def _summarize_chunk( + query: Tensor, + key_t: Tensor, + value: Tensor, + scale: float, + upcast_attention: bool, + mask, +) -> AttnChunk: + if upcast_attention: + with torch.autocast(enabled=False, device_type = 'cuda'): + query = query.float() + key_t = key_t.float() + attn_weights = torch.baddbmm( + torch.empty(1, 1, 1, device=query.device, dtype=query.dtype), + query, + key_t, + alpha=scale, + beta=0, + ) + else: + attn_weights = torch.baddbmm( + torch.empty(1, 1, 1, device=query.device, dtype=query.dtype), + query, + key_t, + alpha=scale, + beta=0, + ) + max_score, _ = torch.max(attn_weights, -1, keepdim=True) + max_score = max_score.detach() + attn_weights -= max_score + if mask is not None: + attn_weights += mask + torch.exp(attn_weights, out=attn_weights) + exp_weights = attn_weights.to(value.dtype) + exp_values = torch.bmm(exp_weights, value) + max_score = max_score.squeeze(-1) + return AttnChunk(exp_values, exp_weights.sum(dim=-1), max_score) + +def _query_chunk_attention( + query: Tensor, + key_t: Tensor, + value: Tensor, + summarize_chunk: SummarizeChunk, + kv_chunk_size: int, + mask, +) -> Tensor: + batch_x_heads, k_channels_per_head, k_tokens = key_t.shape + _, _, v_channels_per_head = value.shape + + def chunk_scanner(chunk_idx: int, mask) -> AttnChunk: + key_chunk = dynamic_slice( + key_t, + (0, 0, chunk_idx), + (batch_x_heads, k_channels_per_head, kv_chunk_size) + ) + value_chunk = dynamic_slice( + value, + (0, chunk_idx, 0), + (batch_x_heads, kv_chunk_size, v_channels_per_head) + ) + if mask is not None: + mask = mask[:,:,chunk_idx:chunk_idx + kv_chunk_size] + + return summarize_chunk(query, key_chunk, value_chunk, mask=mask) + + chunks: List[AttnChunk] = [ + chunk_scanner(chunk, mask) for chunk in torch.arange(0, k_tokens, kv_chunk_size) + ] + acc_chunk = AttnChunk(*map(torch.stack, zip(*chunks))) + chunk_values, chunk_weights, chunk_max = acc_chunk + + global_max, _ = torch.max(chunk_max, 0, keepdim=True) + max_diffs = torch.exp(chunk_max - global_max) + chunk_values *= torch.unsqueeze(max_diffs, -1) + chunk_weights *= max_diffs + + all_values = chunk_values.sum(dim=0) + all_weights = torch.unsqueeze(chunk_weights, -1).sum(dim=0) + return all_values / all_weights + +# TODO: refactor CrossAttention#get_attention_scores to share code with this +def _get_attention_scores_no_kv_chunking( + query: Tensor, + key_t: Tensor, + value: Tensor, + scale: float, + upcast_attention: bool, + mask, +) -> Tensor: + if upcast_attention: + with torch.autocast(enabled=False, device_type = 'cuda'): + query = query.float() + key_t = key_t.float() + attn_scores = torch.baddbmm( + torch.empty(1, 1, 1, device=query.device, dtype=query.dtype), + query, + key_t, + alpha=scale, + beta=0, + ) + else: + attn_scores = torch.baddbmm( + torch.empty(1, 1, 1, device=query.device, dtype=query.dtype), + query, + key_t, + alpha=scale, + beta=0, + ) + + if mask is not None: + attn_scores += mask + try: + attn_probs = attn_scores.softmax(dim=-1) + del attn_scores + except model_management.OOM_EXCEPTION: + logging.warning("ran out of memory while running softmax in _get_attention_scores_no_kv_chunking, trying slower in place softmax instead") + attn_scores -= attn_scores.max(dim=-1, keepdim=True).values # noqa: F821 attn_scores is not defined + torch.exp(attn_scores, out=attn_scores) + summed = torch.sum(attn_scores, dim=-1, keepdim=True) + attn_scores /= summed + attn_probs = attn_scores + + hidden_states_slice = torch.bmm(attn_probs.to(value.dtype), value) + return hidden_states_slice + +class ScannedChunk(NamedTuple): + chunk_idx: int + attn_chunk: AttnChunk + +def efficient_dot_product_attention( + query: Tensor, + key_t: Tensor, + value: Tensor, + query_chunk_size=1024, + kv_chunk_size: Optional[int] = None, + kv_chunk_size_min: Optional[int] = None, + use_checkpoint=True, + upcast_attention=False, + mask = None, +): + """Computes efficient dot-product attention given query, transposed key, and value. + This is efficient version of attention presented in + https://arxiv.org/abs/2112.05682v2 which comes with O(sqrt(n)) memory requirements. + Args: + query: queries for calculating attention with shape of + `[batch * num_heads, tokens, channels_per_head]`. + key_t: keys for calculating attention with shape of + `[batch * num_heads, channels_per_head, tokens]`. + value: values to be used in attention with shape of + `[batch * num_heads, tokens, channels_per_head]`. + query_chunk_size: int: query chunks size + kv_chunk_size: Optional[int]: key/value chunks size. if None: defaults to sqrt(key_tokens) + kv_chunk_size_min: Optional[int]: key/value minimum chunk size. only considered when kv_chunk_size is None. changes `sqrt(key_tokens)` into `max(sqrt(key_tokens), kv_chunk_size_min)`, to ensure our chunk sizes don't get too small (smaller chunks = more chunks = less concurrent work done). + use_checkpoint: bool: whether to use checkpointing (recommended True for training, False for inference) + Returns: + Output of shape `[batch * num_heads, query_tokens, channels_per_head]`. + """ + batch_x_heads, q_tokens, q_channels_per_head = query.shape + _, _, k_tokens = key_t.shape + scale = q_channels_per_head ** -0.5 + + kv_chunk_size = min(kv_chunk_size or int(math.sqrt(k_tokens)), k_tokens) + if kv_chunk_size_min is not None: + kv_chunk_size = max(kv_chunk_size, kv_chunk_size_min) + + if mask is not None and len(mask.shape) == 2: + mask = mask.unsqueeze(0) + + def get_query_chunk(chunk_idx: int) -> Tensor: + return dynamic_slice( + query, + (0, chunk_idx, 0), + (batch_x_heads, min(query_chunk_size, q_tokens), q_channels_per_head) + ) + + def get_mask_chunk(chunk_idx: int) -> Tensor: + if mask is None: + return None + if mask.shape[1] == 1: + return mask + chunk = min(query_chunk_size, q_tokens) + return mask[:,chunk_idx:chunk_idx + chunk] + + summarize_chunk: SummarizeChunk = partial(_summarize_chunk, scale=scale, upcast_attention=upcast_attention) + summarize_chunk: SummarizeChunk = partial(checkpoint, summarize_chunk) if use_checkpoint else summarize_chunk + compute_query_chunk_attn: ComputeQueryChunkAttn = partial( + _get_attention_scores_no_kv_chunking, + scale=scale, + upcast_attention=upcast_attention + ) if k_tokens <= kv_chunk_size else ( + # fast-path for when there's just 1 key-value chunk per query chunk (this is just sliced attention btw) + partial( + _query_chunk_attention, + kv_chunk_size=kv_chunk_size, + summarize_chunk=summarize_chunk, + ) + ) + + if q_tokens <= query_chunk_size: + # fast-path for when there's just 1 query chunk + return compute_query_chunk_attn( + query=query, + key_t=key_t, + value=value, + mask=mask, + ) + + # TODO: maybe we should use torch.empty_like(query) to allocate storage in-advance, + # and pass slices to be mutated, instead of torch.cat()ing the returned slices + res = torch.cat([ + compute_query_chunk_attn( + query=get_query_chunk(i * query_chunk_size), + key_t=key_t, + value=value, + mask=get_mask_chunk(i * query_chunk_size) + ) for i in range(math.ceil(q_tokens / query_chunk_size)) + ], dim=1) + return res diff --git a/comfy/ldm/modules/temporal_ae.py b/comfy/ldm/modules/temporal_ae.py new file mode 100644 index 0000000000000000000000000000000000000000..e0f78bf66b7b06b3f49f5add7a8a502384a9f445 --- /dev/null +++ b/comfy/ldm/modules/temporal_ae.py @@ -0,0 +1,246 @@ +import functools +from typing import Iterable, Union + +import torch +from einops import rearrange, repeat + +import comfy.ops +ops = comfy.ops.disable_weight_init + +from .diffusionmodules.model import ( + AttnBlock, + Decoder, + ResnetBlock, +) +from .diffusionmodules.openaimodel import ResBlock, timestep_embedding +from .attention import BasicTransformerBlock + +def partialclass(cls, *args, **kwargs): + class NewCls(cls): + __init__ = functools.partialmethod(cls.__init__, *args, **kwargs) + + return NewCls + + +class VideoResBlock(ResnetBlock): + def __init__( + self, + out_channels, + *args, + dropout=0.0, + video_kernel_size=3, + alpha=0.0, + merge_strategy="learned", + **kwargs, + ): + super().__init__(out_channels=out_channels, dropout=dropout, *args, **kwargs) + if video_kernel_size is None: + video_kernel_size = [3, 1, 1] + self.time_stack = ResBlock( + channels=out_channels, + emb_channels=0, + dropout=dropout, + dims=3, + use_scale_shift_norm=False, + use_conv=False, + up=False, + down=False, + kernel_size=video_kernel_size, + use_checkpoint=False, + skip_t_emb=True, + ) + + self.merge_strategy = merge_strategy + if self.merge_strategy == "fixed": + self.register_buffer("mix_factor", torch.Tensor([alpha])) + elif self.merge_strategy == "learned": + self.register_parameter( + "mix_factor", torch.nn.Parameter(torch.Tensor([alpha])) + ) + else: + raise ValueError(f"unknown merge strategy {self.merge_strategy}") + + def get_alpha(self, bs): + if self.merge_strategy == "fixed": + return self.mix_factor + elif self.merge_strategy == "learned": + return torch.sigmoid(self.mix_factor) + else: + raise NotImplementedError() + + def forward(self, x, temb, skip_video=False, timesteps=None): + b, c, h, w = x.shape + if timesteps is None: + timesteps = b + + x = super().forward(x, temb) + + if not skip_video: + x_mix = rearrange(x, "(b t) c h w -> b c t h w", t=timesteps) + + x = rearrange(x, "(b t) c h w -> b c t h w", t=timesteps) + + x = self.time_stack(x, temb) + + alpha = self.get_alpha(bs=b // timesteps).to(x.device) + x = alpha * x + (1.0 - alpha) * x_mix + + x = rearrange(x, "b c t h w -> (b t) c h w") + return x + + +class AE3DConv(ops.Conv2d): + def __init__(self, in_channels, out_channels, video_kernel_size=3, *args, **kwargs): + super().__init__(in_channels, out_channels, *args, **kwargs) + if isinstance(video_kernel_size, Iterable): + padding = [int(k // 2) for k in video_kernel_size] + else: + padding = int(video_kernel_size // 2) + + self.time_mix_conv = ops.Conv3d( + in_channels=out_channels, + out_channels=out_channels, + kernel_size=video_kernel_size, + padding=padding, + ) + + def forward(self, input, timesteps=None, skip_video=False): + if timesteps is None: + timesteps = input.shape[0] + x = super().forward(input) + if skip_video: + return x + x = rearrange(x, "(b t) c h w -> b c t h w", t=timesteps) + x = self.time_mix_conv(x) + return rearrange(x, "b c t h w -> (b t) c h w") + + +class AttnVideoBlock(AttnBlock): + def __init__( + self, in_channels: int, alpha: float = 0, merge_strategy: str = "learned" + ): + super().__init__(in_channels) + # no context, single headed, as in base class + self.time_mix_block = BasicTransformerBlock( + dim=in_channels, + n_heads=1, + d_head=in_channels, + checkpoint=False, + ff_in=True, + ) + + time_embed_dim = self.in_channels * 4 + self.video_time_embed = torch.nn.Sequential( + ops.Linear(self.in_channels, time_embed_dim), + torch.nn.SiLU(), + ops.Linear(time_embed_dim, self.in_channels), + ) + + self.merge_strategy = merge_strategy + if self.merge_strategy == "fixed": + self.register_buffer("mix_factor", torch.Tensor([alpha])) + elif self.merge_strategy == "learned": + self.register_parameter( + "mix_factor", torch.nn.Parameter(torch.Tensor([alpha])) + ) + else: + raise ValueError(f"unknown merge strategy {self.merge_strategy}") + + def forward(self, x, timesteps=None, skip_time_block=False): + if skip_time_block: + return super().forward(x) + + if timesteps is None: + timesteps = x.shape[0] + + x_in = x + x = self.attention(x) + h, w = x.shape[2:] + x = rearrange(x, "b c h w -> b (h w) c") + + x_mix = x + num_frames = torch.arange(timesteps, device=x.device) + num_frames = repeat(num_frames, "t -> b t", b=x.shape[0] // timesteps) + num_frames = rearrange(num_frames, "b t -> (b t)") + t_emb = timestep_embedding(num_frames, self.in_channels, repeat_only=False) + emb = self.video_time_embed(t_emb) # b, n_channels + emb = emb[:, None, :] + x_mix = x_mix + emb + + alpha = self.get_alpha().to(x.device) + x_mix = self.time_mix_block(x_mix, timesteps=timesteps) + x = alpha * x + (1.0 - alpha) * x_mix # alpha merge + + x = rearrange(x, "b (h w) c -> b c h w", h=h, w=w) + x = self.proj_out(x) + + return x_in + x + + def get_alpha( + self, + ): + if self.merge_strategy == "fixed": + return self.mix_factor + elif self.merge_strategy == "learned": + return torch.sigmoid(self.mix_factor) + else: + raise NotImplementedError(f"unknown merge strategy {self.merge_strategy}") + + + +def make_time_attn( + in_channels, + attn_type="vanilla", + attn_kwargs=None, + alpha: float = 0, + merge_strategy: str = "learned", + conv_op=ops.Conv2d, +): + return partialclass( + AttnVideoBlock, in_channels, alpha=alpha, merge_strategy=merge_strategy + ) + + +class Conv2DWrapper(torch.nn.Conv2d): + def forward(self, input: torch.Tensor, **kwargs) -> torch.Tensor: + return super().forward(input) + + +class VideoDecoder(Decoder): + available_time_modes = ["all", "conv-only", "attn-only"] + + def __init__( + self, + *args, + video_kernel_size: Union[int, list] = 3, + alpha: float = 0.0, + merge_strategy: str = "learned", + time_mode: str = "conv-only", + **kwargs, + ): + self.video_kernel_size = video_kernel_size + self.alpha = alpha + self.merge_strategy = merge_strategy + self.time_mode = time_mode + assert ( + self.time_mode in self.available_time_modes + ), f"time_mode parameter has to be in {self.available_time_modes}" + + if self.time_mode != "attn-only": + kwargs["conv_out_op"] = partialclass(AE3DConv, video_kernel_size=self.video_kernel_size) + if self.time_mode not in ["conv-only", "only-last-conv"]: + kwargs["attn_op"] = partialclass(make_time_attn, alpha=self.alpha, merge_strategy=self.merge_strategy) + if self.time_mode not in ["attn-only", "only-last-conv"]: + kwargs["resnet_op"] = partialclass(VideoResBlock, video_kernel_size=self.video_kernel_size, alpha=self.alpha, merge_strategy=self.merge_strategy) + + super().__init__(*args, **kwargs) + + def get_last_layer(self, skip_time_mix=False, **kwargs): + if self.time_mode == "attn-only": + raise NotImplementedError("TODO") + else: + return ( + self.conv_out.time_mix_conv.weight + if not skip_time_mix + else self.conv_out.weight + ) diff --git a/comfy/ldm/pixart/blocks.py b/comfy/ldm/pixart/blocks.py new file mode 100644 index 0000000000000000000000000000000000000000..2225076e5754d08cd618014469c2464bad055334 --- /dev/null +++ b/comfy/ldm/pixart/blocks.py @@ -0,0 +1,380 @@ +# Based on: +# https://github.com/PixArt-alpha/PixArt-alpha [Apache 2.0 license] +# https://github.com/PixArt-alpha/PixArt-sigma [Apache 2.0 license] +import torch +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange + +from comfy.ldm.modules.diffusionmodules.mmdit import TimestepEmbedder, Mlp, timestep_embedding +from comfy.ldm.modules.attention import optimized_attention + +# if model_management.xformers_enabled(): +# import xformers.ops +# if int((xformers.__version__).split(".")[2].split("+")[0]) >= 28: +# block_diagonal_mask_from_seqlens = xformers.ops.fmha.attn_bias.BlockDiagonalMask.from_seqlens +# else: +# block_diagonal_mask_from_seqlens = xformers.ops.fmha.BlockDiagonalMask.from_seqlens + +def modulate(x, shift, scale): + return x * (1 + scale.unsqueeze(1)) + shift.unsqueeze(1) + +def t2i_modulate(x, shift, scale): + return x * (1 + scale) + shift + +class MultiHeadCrossAttention(nn.Module): + def __init__(self, d_model, num_heads, attn_drop=0., proj_drop=0., dtype=None, device=None, operations=None, **kwargs): + super(MultiHeadCrossAttention, self).__init__() + assert d_model % num_heads == 0, "d_model must be divisible by num_heads" + + self.d_model = d_model + self.num_heads = num_heads + self.head_dim = d_model // num_heads + + self.q_linear = operations.Linear(d_model, d_model, dtype=dtype, device=device) + self.kv_linear = operations.Linear(d_model, d_model*2, dtype=dtype, device=device) + self.attn_drop = nn.Dropout(attn_drop) + self.proj = operations.Linear(d_model, d_model, dtype=dtype, device=device) + self.proj_drop = nn.Dropout(proj_drop) + + def forward(self, x, cond, mask=None): + # query/value: img tokens; key: condition; mask: if padding tokens + B, N, C = x.shape + + q = self.q_linear(x).view(1, -1, self.num_heads, self.head_dim) + kv = self.kv_linear(cond).view(1, -1, 2, self.num_heads, self.head_dim) + k, v = kv.unbind(2) + + assert mask is None # TODO? + # # TODO: xformers needs separate mask logic here + # if model_management.xformers_enabled(): + # attn_bias = None + # if mask is not None: + # attn_bias = block_diagonal_mask_from_seqlens([N] * B, mask) + # x = xformers.ops.memory_efficient_attention(q, k, v, p=0, attn_bias=attn_bias) + # else: + # q, k, v = map(lambda t: t.transpose(1, 2), (q, k, v),) + # attn_mask = None + # mask = torch.ones(()) + # if mask is not None and len(mask) > 1: + # # Create equivalent of xformer diagonal block mask, still only correct for square masks + # # But depth doesn't matter as tensors can expand in that dimension + # attn_mask_template = torch.ones( + # [q.shape[2] // B, mask[0]], + # dtype=torch.bool, + # device=q.device + # ) + # attn_mask = torch.block_diag(attn_mask_template) + # + # # create a mask on the diagonal for each mask in the batch + # for _ in range(B - 1): + # attn_mask = torch.block_diag(attn_mask, attn_mask_template) + # x = optimized_attention(q, k, v, self.num_heads, mask=attn_mask, skip_reshape=True) + + x = optimized_attention(q.view(B, -1, C), k.view(B, -1, C), v.view(B, -1, C), self.num_heads, mask=None) + x = self.proj(x) + x = self.proj_drop(x) + return x + + +class AttentionKVCompress(nn.Module): + """Multi-head Attention block with KV token compression and qk norm.""" + def __init__(self, dim, num_heads=8, qkv_bias=True, sampling='conv', sr_ratio=1, qk_norm=False, dtype=None, device=None, operations=None, **kwargs): + """ + Args: + dim (int): Number of input channels. + num_heads (int): Number of attention heads. + qkv_bias (bool: If True, add a learnable bias to query, key, value. + """ + super().__init__() + assert dim % num_heads == 0, 'dim should be divisible by num_heads' + self.num_heads = num_heads + self.head_dim = dim // num_heads + self.scale = self.head_dim ** -0.5 + + self.qkv = operations.Linear(dim, dim * 3, bias=qkv_bias, dtype=dtype, device=device) + self.proj = operations.Linear(dim, dim, dtype=dtype, device=device) + + self.sampling=sampling # ['conv', 'ave', 'uniform', 'uniform_every'] + self.sr_ratio = sr_ratio + if sr_ratio > 1 and sampling == 'conv': + # Avg Conv Init. + self.sr = operations.Conv2d(dim, dim, groups=dim, kernel_size=sr_ratio, stride=sr_ratio, dtype=dtype, device=device) + # self.sr.weight.data.fill_(1/sr_ratio**2) + # self.sr.bias.data.zero_() + self.norm = operations.LayerNorm(dim, dtype=dtype, device=device) + if qk_norm: + self.q_norm = operations.LayerNorm(dim, dtype=dtype, device=device) + self.k_norm = operations.LayerNorm(dim, dtype=dtype, device=device) + else: + self.q_norm = nn.Identity() + self.k_norm = nn.Identity() + + def downsample_2d(self, tensor, H, W, scale_factor, sampling=None): + if sampling is None or scale_factor == 1: + return tensor + B, N, C = tensor.shape + + if sampling == 'uniform_every': + return tensor[:, ::scale_factor], int(N // scale_factor) + + tensor = tensor.reshape(B, H, W, C).permute(0, 3, 1, 2) + new_H, new_W = int(H / scale_factor), int(W / scale_factor) + new_N = new_H * new_W + + if sampling == 'ave': + tensor = F.interpolate( + tensor, scale_factor=1 / scale_factor, mode='nearest' + ).permute(0, 2, 3, 1) + elif sampling == 'uniform': + tensor = tensor[:, :, ::scale_factor, ::scale_factor].permute(0, 2, 3, 1) + elif sampling == 'conv': + tensor = self.sr(tensor).reshape(B, C, -1).permute(0, 2, 1) + tensor = self.norm(tensor) + else: + raise ValueError + + return tensor.reshape(B, new_N, C).contiguous(), new_N + + def forward(self, x, mask=None, HW=None, block_id=None): + B, N, C = x.shape # 2 4096 1152 + new_N = N + if HW is None: + H = W = int(N ** 0.5) + else: + H, W = HW + qkv = self.qkv(x).reshape(B, N, 3, C) + + q, k, v = qkv.unbind(2) + q = self.q_norm(q) + k = self.k_norm(k) + + # KV compression + if self.sr_ratio > 1: + k, new_N = self.downsample_2d(k, H, W, self.sr_ratio, sampling=self.sampling) + v, new_N = self.downsample_2d(v, H, W, self.sr_ratio, sampling=self.sampling) + + q = q.reshape(B, N, self.num_heads, C // self.num_heads) + k = k.reshape(B, new_N, self.num_heads, C // self.num_heads) + v = v.reshape(B, new_N, self.num_heads, C // self.num_heads) + + if mask is not None: + raise NotImplementedError("Attn mask logic not added for self attention") + + # This is never called at the moment + # attn_bias = None + # if mask is not None: + # attn_bias = torch.zeros([B * self.num_heads, q.shape[1], k.shape[1]], dtype=q.dtype, device=q.device) + # attn_bias.masked_fill_(mask.squeeze(1).repeat(self.num_heads, 1, 1) == 0, float('-inf')) + + # attention 2 + q, k, v = map(lambda t: t.transpose(1, 2), (q, k, v),) + x = optimized_attention(q, k, v, self.num_heads, mask=None, skip_reshape=True) + + x = x.view(B, N, C) + x = self.proj(x) + return x + + +class FinalLayer(nn.Module): + """ + The final layer of PixArt. + """ + def __init__(self, hidden_size, patch_size, out_channels, dtype=None, device=None, operations=None): + super().__init__() + self.norm_final = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.linear = operations.Linear(hidden_size, patch_size * patch_size * out_channels, bias=True, dtype=dtype, device=device) + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operations.Linear(hidden_size, 2 * hidden_size, bias=True, dtype=dtype, device=device) + ) + + def forward(self, x, c): + shift, scale = self.adaLN_modulation(c).chunk(2, dim=1) + x = modulate(self.norm_final(x), shift, scale) + x = self.linear(x) + return x + +class T2IFinalLayer(nn.Module): + """ + The final layer of PixArt. + """ + def __init__(self, hidden_size, patch_size, out_channels, dtype=None, device=None, operations=None): + super().__init__() + self.norm_final = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.linear = operations.Linear(hidden_size, patch_size * patch_size * out_channels, bias=True, dtype=dtype, device=device) + self.scale_shift_table = nn.Parameter(torch.randn(2, hidden_size) / hidden_size ** 0.5) + self.out_channels = out_channels + + def forward(self, x, t): + shift, scale = (self.scale_shift_table[None].to(dtype=x.dtype, device=x.device) + t[:, None]).chunk(2, dim=1) + x = t2i_modulate(self.norm_final(x), shift, scale) + x = self.linear(x) + return x + + +class MaskFinalLayer(nn.Module): + """ + The final layer of PixArt. + """ + def __init__(self, final_hidden_size, c_emb_size, patch_size, out_channels, dtype=None, device=None, operations=None): + super().__init__() + self.norm_final = operations.LayerNorm(final_hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.linear = operations.Linear(final_hidden_size, patch_size * patch_size * out_channels, bias=True, dtype=dtype, device=device) + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operations.Linear(c_emb_size, 2 * final_hidden_size, bias=True, dtype=dtype, device=device) + ) + def forward(self, x, t): + shift, scale = self.adaLN_modulation(t).chunk(2, dim=1) + x = modulate(self.norm_final(x), shift, scale) + x = self.linear(x) + return x + + +class DecoderLayer(nn.Module): + """ + The final layer of PixArt. + """ + def __init__(self, hidden_size, decoder_hidden_size, dtype=None, device=None, operations=None): + super().__init__() + self.norm_decoder = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.linear = operations.Linear(hidden_size, decoder_hidden_size, bias=True, dtype=dtype, device=device) + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operations.Linear(hidden_size, 2 * hidden_size, bias=True, dtype=dtype, device=device) + ) + def forward(self, x, t): + shift, scale = self.adaLN_modulation(t).chunk(2, dim=1) + x = modulate(self.norm_decoder(x), shift, scale) + x = self.linear(x) + return x + + +class SizeEmbedder(TimestepEmbedder): + """ + Embeds scalar timesteps into vector representations. + """ + def __init__(self, hidden_size, frequency_embedding_size=256, dtype=None, device=None, operations=None): + super().__init__(hidden_size=hidden_size, frequency_embedding_size=frequency_embedding_size, operations=operations) + self.mlp = nn.Sequential( + operations.Linear(frequency_embedding_size, hidden_size, bias=True, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(hidden_size, hidden_size, bias=True, dtype=dtype, device=device), + ) + self.frequency_embedding_size = frequency_embedding_size + self.outdim = hidden_size + + def forward(self, s, bs): + if s.ndim == 1: + s = s[:, None] + assert s.ndim == 2 + if s.shape[0] != bs: + s = s.repeat(bs//s.shape[0], 1) + assert s.shape[0] == bs + b, dims = s.shape[0], s.shape[1] + s = rearrange(s, "b d -> (b d)") + s_freq = timestep_embedding(s, self.frequency_embedding_size) + s_emb = self.mlp(s_freq.to(s.dtype)) + s_emb = rearrange(s_emb, "(b d) d2 -> b (d d2)", b=b, d=dims, d2=self.outdim) + return s_emb + + +class LabelEmbedder(nn.Module): + """ + Embeds class labels into vector representations. Also handles label dropout for classifier-free guidance. + """ + def __init__(self, num_classes, hidden_size, dropout_prob, dtype=None, device=None, operations=None): + super().__init__() + use_cfg_embedding = dropout_prob > 0 + self.embedding_table = operations.Embedding(num_classes + use_cfg_embedding, hidden_size, dtype=dtype, device=device), + self.num_classes = num_classes + self.dropout_prob = dropout_prob + + def token_drop(self, labels, force_drop_ids=None): + """ + Drops labels to enable classifier-free guidance. + """ + if force_drop_ids is None: + drop_ids = torch.rand(labels.shape[0]).cuda() < self.dropout_prob + else: + drop_ids = force_drop_ids == 1 + labels = torch.where(drop_ids, self.num_classes, labels) + return labels + + def forward(self, labels, train, force_drop_ids=None): + use_dropout = self.dropout_prob > 0 + if (train and use_dropout) or (force_drop_ids is not None): + labels = self.token_drop(labels, force_drop_ids) + embeddings = self.embedding_table(labels) + return embeddings + + +class CaptionEmbedder(nn.Module): + """ + Embeds class labels into vector representations. Also handles label dropout for classifier-free guidance. + """ + def __init__(self, in_channels, hidden_size, uncond_prob, act_layer=nn.GELU(approximate='tanh'), token_num=120, dtype=None, device=None, operations=None): + super().__init__() + self.y_proj = Mlp( + in_features=in_channels, hidden_features=hidden_size, out_features=hidden_size, act_layer=act_layer, + dtype=dtype, device=device, operations=operations, + ) + self.register_buffer("y_embedding", nn.Parameter(torch.randn(token_num, in_channels) / in_channels ** 0.5)) + self.uncond_prob = uncond_prob + + def token_drop(self, caption, force_drop_ids=None): + """ + Drops labels to enable classifier-free guidance. + """ + if force_drop_ids is None: + drop_ids = torch.rand(caption.shape[0]).cuda() < self.uncond_prob + else: + drop_ids = force_drop_ids == 1 + caption = torch.where(drop_ids[:, None, None, None], self.y_embedding, caption) + return caption + + def forward(self, caption, train, force_drop_ids=None): + if train: + assert caption.shape[2:] == self.y_embedding.shape + use_dropout = self.uncond_prob > 0 + if (train and use_dropout) or (force_drop_ids is not None): + caption = self.token_drop(caption, force_drop_ids) + caption = self.y_proj(caption) + return caption + + +class CaptionEmbedderDoubleBr(nn.Module): + """ + Embeds class labels into vector representations. Also handles label dropout for classifier-free guidance. + """ + def __init__(self, in_channels, hidden_size, uncond_prob, act_layer=nn.GELU(approximate='tanh'), token_num=120, dtype=None, device=None, operations=None): + super().__init__() + self.proj = Mlp( + in_features=in_channels, hidden_features=hidden_size, out_features=hidden_size, act_layer=act_layer, + dtype=dtype, device=device, operations=operations, + ) + self.embedding = nn.Parameter(torch.randn(1, in_channels) / 10 ** 0.5) + self.y_embedding = nn.Parameter(torch.randn(token_num, in_channels) / 10 ** 0.5) + self.uncond_prob = uncond_prob + + def token_drop(self, global_caption, caption, force_drop_ids=None): + """ + Drops labels to enable classifier-free guidance. + """ + if force_drop_ids is None: + drop_ids = torch.rand(global_caption.shape[0]).cuda() < self.uncond_prob + else: + drop_ids = force_drop_ids == 1 + global_caption = torch.where(drop_ids[:, None], self.embedding, global_caption) + caption = torch.where(drop_ids[:, None, None, None], self.y_embedding, caption) + return global_caption, caption + + def forward(self, caption, train, force_drop_ids=None): + assert caption.shape[2: ] == self.y_embedding.shape + global_caption = caption.mean(dim=2).squeeze() + use_dropout = self.uncond_prob > 0 + if (train and use_dropout) or (force_drop_ids is not None): + global_caption, caption = self.token_drop(global_caption, caption, force_drop_ids) + y_embed = self.proj(global_caption) + return y_embed, caption diff --git a/comfy/ldm/pixart/pixartms.py b/comfy/ldm/pixart/pixartms.py new file mode 100644 index 0000000000000000000000000000000000000000..7d4eebdceaa22d52947cdb112a2a3b7070c6d66b --- /dev/null +++ b/comfy/ldm/pixart/pixartms.py @@ -0,0 +1,256 @@ +# Based on: +# https://github.com/PixArt-alpha/PixArt-alpha [Apache 2.0 license] +# https://github.com/PixArt-alpha/PixArt-sigma [Apache 2.0 license] +import torch +import torch.nn as nn + +from .blocks import ( + t2i_modulate, + CaptionEmbedder, + AttentionKVCompress, + MultiHeadCrossAttention, + T2IFinalLayer, + SizeEmbedder, +) +from comfy.ldm.modules.diffusionmodules.mmdit import TimestepEmbedder, PatchEmbed, Mlp, get_1d_sincos_pos_embed_from_grid_torch + + +def get_2d_sincos_pos_embed_torch(embed_dim, w, h, pe_interpolation=1.0, base_size=16, device=None, dtype=torch.float32): + grid_h, grid_w = torch.meshgrid( + torch.arange(h, device=device, dtype=dtype) / (h/base_size) / pe_interpolation, + torch.arange(w, device=device, dtype=dtype) / (w/base_size) / pe_interpolation, + indexing='ij' + ) + emb_h = get_1d_sincos_pos_embed_from_grid_torch(embed_dim // 2, grid_h, device=device, dtype=dtype) + emb_w = get_1d_sincos_pos_embed_from_grid_torch(embed_dim // 2, grid_w, device=device, dtype=dtype) + emb = torch.cat([emb_w, emb_h], dim=1) # (H*W, D) + return emb + +class PixArtMSBlock(nn.Module): + """ + A PixArt block with adaptive layer norm zero (adaLN-Zero) conditioning. + """ + def __init__(self, hidden_size, num_heads, mlp_ratio=4.0, drop_path=0., input_size=None, + sampling=None, sr_ratio=1, qk_norm=False, dtype=None, device=None, operations=None, **block_kwargs): + super().__init__() + self.hidden_size = hidden_size + self.norm1 = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.attn = AttentionKVCompress( + hidden_size, num_heads=num_heads, qkv_bias=True, sampling=sampling, sr_ratio=sr_ratio, + qk_norm=qk_norm, dtype=dtype, device=device, operations=operations, **block_kwargs + ) + self.cross_attn = MultiHeadCrossAttention( + hidden_size, num_heads, dtype=dtype, device=device, operations=operations, **block_kwargs + ) + self.norm2 = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + # to be compatible with lower version pytorch + approx_gelu = lambda: nn.GELU(approximate="tanh") + self.mlp = Mlp( + in_features=hidden_size, hidden_features=int(hidden_size * mlp_ratio), act_layer=approx_gelu, + dtype=dtype, device=device, operations=operations + ) + self.scale_shift_table = nn.Parameter(torch.randn(6, hidden_size) / hidden_size ** 0.5) + + def forward(self, x, y, t, mask=None, HW=None, **kwargs): + B, N, C = x.shape + + shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp = (self.scale_shift_table[None].to(dtype=x.dtype, device=x.device) + t.reshape(B, 6, -1)).chunk(6, dim=1) + x = x + (gate_msa * self.attn(t2i_modulate(self.norm1(x), shift_msa, scale_msa), HW=HW)) + x = x + self.cross_attn(x, y, mask) + x = x + (gate_mlp * self.mlp(t2i_modulate(self.norm2(x), shift_mlp, scale_mlp))) + + return x + + +### Core PixArt Model ### +class PixArtMS(nn.Module): + """ + Diffusion model with a Transformer backbone. + """ + def __init__( + self, + input_size=32, + patch_size=2, + in_channels=4, + hidden_size=1152, + depth=28, + num_heads=16, + mlp_ratio=4.0, + class_dropout_prob=0.1, + learn_sigma=True, + pred_sigma=True, + drop_path: float = 0., + caption_channels=4096, + pe_interpolation=None, + pe_precision=None, + config=None, + model_max_length=120, + micro_condition=True, + qk_norm=False, + kv_compress_config=None, + dtype=None, + device=None, + operations=None, + **kwargs, + ): + nn.Module.__init__(self) + self.dtype = dtype + self.pred_sigma = pred_sigma + self.in_channels = in_channels + self.out_channels = in_channels * 2 if pred_sigma else in_channels + self.patch_size = patch_size + self.num_heads = num_heads + self.pe_interpolation = pe_interpolation + self.pe_precision = pe_precision + self.hidden_size = hidden_size + self.depth = depth + + approx_gelu = lambda: nn.GELU(approximate="tanh") + self.t_block = nn.Sequential( + nn.SiLU(), + operations.Linear(hidden_size, 6 * hidden_size, bias=True, dtype=dtype, device=device) + ) + self.x_embedder = PatchEmbed( + patch_size=patch_size, + in_chans=in_channels, + embed_dim=hidden_size, + bias=True, + dtype=dtype, + device=device, + operations=operations + ) + self.t_embedder = TimestepEmbedder( + hidden_size, dtype=dtype, device=device, operations=operations, + ) + self.y_embedder = CaptionEmbedder( + in_channels=caption_channels, hidden_size=hidden_size, uncond_prob=class_dropout_prob, + act_layer=approx_gelu, token_num=model_max_length, + dtype=dtype, device=device, operations=operations, + ) + + self.micro_conditioning = micro_condition + if self.micro_conditioning: + self.csize_embedder = SizeEmbedder(hidden_size//3, dtype=dtype, device=device, operations=operations) + self.ar_embedder = SizeEmbedder(hidden_size//3, dtype=dtype, device=device, operations=operations) + + # For fixed sin-cos embedding: + # num_patches = (input_size // patch_size) * (input_size // patch_size) + # self.base_size = input_size // self.patch_size + # self.register_buffer("pos_embed", torch.zeros(1, num_patches, hidden_size)) + + drop_path = [x.item() for x in torch.linspace(0, drop_path, depth)] # stochastic depth decay rule + if kv_compress_config is None: + kv_compress_config = { + 'sampling': None, + 'scale_factor': 1, + 'kv_compress_layer': [], + } + self.blocks = nn.ModuleList([ + PixArtMSBlock( + hidden_size, num_heads, mlp_ratio=mlp_ratio, drop_path=drop_path[i], + sampling=kv_compress_config['sampling'], + sr_ratio=int(kv_compress_config['scale_factor']) if i in kv_compress_config['kv_compress_layer'] else 1, + qk_norm=qk_norm, + dtype=dtype, + device=device, + operations=operations, + ) + for i in range(depth) + ]) + self.final_layer = T2IFinalLayer( + hidden_size, patch_size, self.out_channels, dtype=dtype, device=device, operations=operations + ) + + def forward_orig(self, x, timestep, y, mask=None, c_size=None, c_ar=None, **kwargs): + """ + Original forward pass of PixArt. + x: (N, C, H, W) tensor of spatial inputs (images or latent representations of images) + t: (N,) tensor of diffusion timesteps + y: (N, 1, 120, C) conditioning + ar: (N, 1): aspect ratio + cs: (N ,2) size conditioning for height/width + """ + B, C, H, W = x.shape + c_res = (H + W) // 2 + pe_interpolation = self.pe_interpolation + if pe_interpolation is None or self.pe_precision is not None: + # calculate pe_interpolation on-the-fly + pe_interpolation = round(c_res / (512/8.0), self.pe_precision or 0) + + pos_embed = get_2d_sincos_pos_embed_torch( + self.hidden_size, + h=(H // self.patch_size), + w=(W // self.patch_size), + pe_interpolation=pe_interpolation, + base_size=((round(c_res / 64) * 64) // self.patch_size), + device=x.device, + dtype=x.dtype, + ).unsqueeze(0) + + x = self.x_embedder(x) + pos_embed # (N, T, D), where T = H * W / patch_size ** 2 + t = self.t_embedder(timestep, x.dtype) # (N, D) + + if self.micro_conditioning and (c_size is not None and c_ar is not None): + bs = x.shape[0] + c_size = self.csize_embedder(c_size, bs) # (N, D) + c_ar = self.ar_embedder(c_ar, bs) # (N, D) + t = t + torch.cat([c_size, c_ar], dim=1) + + t0 = self.t_block(t) + y = self.y_embedder(y, self.training) # (N, D) + + if mask is not None: + if mask.shape[0] != y.shape[0]: + mask = mask.repeat(y.shape[0] // mask.shape[0], 1) + mask = mask.squeeze(1).squeeze(1) + y = y.squeeze(1).masked_select(mask.unsqueeze(-1) != 0).view(1, -1, x.shape[-1]) + y_lens = mask.sum(dim=1).tolist() + else: + y_lens = None + y = y.squeeze(1).view(1, -1, x.shape[-1]) + for block in self.blocks: + x = block(x, y, t0, y_lens, (H, W), **kwargs) # (N, T, D) + + x = self.final_layer(x, t) # (N, T, patch_size ** 2 * out_channels) + x = self.unpatchify(x, H, W) # (N, out_channels, H, W) + + return x + + def forward(self, x, timesteps, context, c_size=None, c_ar=None, **kwargs): + B, C, H, W = x.shape + + # Fallback for missing microconds + if self.micro_conditioning: + if c_size is None: + c_size = torch.tensor([H*8, W*8], dtype=x.dtype, device=x.device).repeat(B, 1) + + if c_ar is None: + c_ar = torch.tensor([H/W], dtype=x.dtype, device=x.device).repeat(B, 1) + + ## Still accepts the input w/o that dim but returns garbage + if len(context.shape) == 3: + context = context.unsqueeze(1) + + ## run original forward pass + out = self.forward_orig(x, timesteps, context, c_size=c_size, c_ar=c_ar) + + ## only return EPS + if self.pred_sigma: + return out[:, :self.in_channels] + return out + + def unpatchify(self, x, h, w): + """ + x: (N, T, patch_size**2 * C) + imgs: (N, H, W, C) + """ + c = self.out_channels + p = self.x_embedder.patch_size[0] + h = h // self.patch_size + w = w // self.patch_size + assert h * w == x.shape[1] + + x = x.reshape(shape=(x.shape[0], h, w, p, p, c)) + x = torch.einsum('nhwpqc->nchpwq', x) + imgs = x.reshape(shape=(x.shape[0], c, h * p, w * p)) + return imgs diff --git a/comfy/ldm/util.py b/comfy/ldm/util.py new file mode 100644 index 0000000000000000000000000000000000000000..30b4b4721056216ee817e7d54d0bca9e09b79098 --- /dev/null +++ b/comfy/ldm/util.py @@ -0,0 +1,197 @@ +import importlib +import logging + +import torch +from torch import optim +import numpy as np + +from inspect import isfunction +from PIL import Image, ImageDraw, ImageFont + + +def log_txt_as_img(wh, xc, size=10): + # wh a tuple of (width, height) + # xc a list of captions to plot + b = len(xc) + txts = list() + for bi in range(b): + txt = Image.new("RGB", wh, color="white") + draw = ImageDraw.Draw(txt) + font = ImageFont.truetype('data/DejaVuSans.ttf', size=size) + nc = int(40 * (wh[0] / 256)) + lines = "\n".join(xc[bi][start:start + nc] for start in range(0, len(xc[bi]), nc)) + + try: + draw.text((0, 0), lines, fill="black", font=font) + except UnicodeEncodeError: + logging.warning("Cant encode string for logging. Skipping.") + + txt = np.array(txt).transpose(2, 0, 1) / 127.5 - 1.0 + txts.append(txt) + txts = np.stack(txts) + txts = torch.tensor(txts) + return txts + + +def ismap(x): + if not isinstance(x, torch.Tensor): + return False + return (len(x.shape) == 4) and (x.shape[1] > 3) + + +def isimage(x): + if not isinstance(x,torch.Tensor): + return False + return (len(x.shape) == 4) and (x.shape[1] == 3 or x.shape[1] == 1) + + +def exists(x): + return x is not None + + +def default(val, d): + if exists(val): + return val + return d() if isfunction(d) else d + + +def mean_flat(tensor): + """ + https://github.com/openai/guided-diffusion/blob/27c20a8fab9cb472df5d6bdd6c8d11c8f430b924/guided_diffusion/nn.py#L86 + Take the mean over all non-batch dimensions. + """ + return tensor.mean(dim=list(range(1, len(tensor.shape)))) + + +def count_params(model, verbose=False): + total_params = sum(p.numel() for p in model.parameters()) + if verbose: + logging.info(f"{model.__class__.__name__} has {total_params*1.e-6:.2f} M params.") + return total_params + + +def instantiate_from_config(config): + if not "target" in config: + if config == '__is_first_stage__': + return None + elif config == "__is_unconditional__": + return None + raise KeyError("Expected key `target` to instantiate.") + return get_obj_from_str(config["target"])(**config.get("params", dict())) + + +def get_obj_from_str(string, reload=False): + module, cls = string.rsplit(".", 1) + if reload: + module_imp = importlib.import_module(module) + importlib.reload(module_imp) + return getattr(importlib.import_module(module, package=None), cls) + + +class AdamWwithEMAandWings(optim.Optimizer): + # credit to https://gist.github.com/crowsonkb/65f7265353f403714fce3b2595e0b298 + def __init__(self, params, lr=1.e-3, betas=(0.9, 0.999), eps=1.e-8, # TODO: check hyperparameters before using + weight_decay=1.e-2, amsgrad=False, ema_decay=0.9999, # ema decay to match previous code + ema_power=1., param_names=()): + """AdamW that saves EMA versions of the parameters.""" + if not 0.0 <= lr: + raise ValueError("Invalid learning rate: {}".format(lr)) + if not 0.0 <= eps: + raise ValueError("Invalid epsilon value: {}".format(eps)) + if not 0.0 <= betas[0] < 1.0: + raise ValueError("Invalid beta parameter at index 0: {}".format(betas[0])) + if not 0.0 <= betas[1] < 1.0: + raise ValueError("Invalid beta parameter at index 1: {}".format(betas[1])) + if not 0.0 <= weight_decay: + raise ValueError("Invalid weight_decay value: {}".format(weight_decay)) + if not 0.0 <= ema_decay <= 1.0: + raise ValueError("Invalid ema_decay value: {}".format(ema_decay)) + defaults = dict(lr=lr, betas=betas, eps=eps, + weight_decay=weight_decay, amsgrad=amsgrad, ema_decay=ema_decay, + ema_power=ema_power, param_names=param_names) + super().__init__(params, defaults) + + def __setstate__(self, state): + super().__setstate__(state) + for group in self.param_groups: + group.setdefault('amsgrad', False) + + @torch.no_grad() + def step(self, closure=None): + """Performs a single optimization step. + Args: + closure (callable, optional): A closure that reevaluates the model + and returns the loss. + """ + loss = None + if closure is not None: + with torch.enable_grad(): + loss = closure() + + for group in self.param_groups: + params_with_grad = [] + grads = [] + exp_avgs = [] + exp_avg_sqs = [] + ema_params_with_grad = [] + max_exp_avg_sqs = [] + state_steps = [] + amsgrad = group['amsgrad'] + beta1, beta2 = group['betas'] + ema_decay = group['ema_decay'] + ema_power = group['ema_power'] + + for p in group['params']: + if p.grad is None: + continue + params_with_grad.append(p) + if p.grad.is_sparse: + raise RuntimeError('AdamW does not support sparse gradients') + grads.append(p.grad) + + state = self.state[p] + + # State initialization + if len(state) == 0: + state['step'] = 0 + # Exponential moving average of gradient values + state['exp_avg'] = torch.zeros_like(p, memory_format=torch.preserve_format) + # Exponential moving average of squared gradient values + state['exp_avg_sq'] = torch.zeros_like(p, memory_format=torch.preserve_format) + if amsgrad: + # Maintains max of all exp. moving avg. of sq. grad. values + state['max_exp_avg_sq'] = torch.zeros_like(p, memory_format=torch.preserve_format) + # Exponential moving average of parameter values + state['param_exp_avg'] = p.detach().float().clone() + + exp_avgs.append(state['exp_avg']) + exp_avg_sqs.append(state['exp_avg_sq']) + ema_params_with_grad.append(state['param_exp_avg']) + + if amsgrad: + max_exp_avg_sqs.append(state['max_exp_avg_sq']) + + # update the steps for each param group update + state['step'] += 1 + # record the step after step update + state_steps.append(state['step']) + + optim._functional.adamw(params_with_grad, + grads, + exp_avgs, + exp_avg_sqs, + max_exp_avg_sqs, + state_steps, + amsgrad=amsgrad, + beta1=beta1, + beta2=beta2, + lr=group['lr'], + weight_decay=group['weight_decay'], + eps=group['eps'], + maximize=False) + + cur_ema_decay = min(ema_decay, 1 - state['step'] ** -ema_power) + for param, ema_param in zip(params_with_grad, ema_params_with_grad): + ema_param.mul_(cur_ema_decay).add_(param.float(), alpha=1 - cur_ema_decay) + + return loss diff --git a/comfy/lora.py b/comfy/lora.py new file mode 100644 index 0000000000000000000000000000000000000000..ec3da6f4cadc44e912083e339cd0c6defdcf4961 --- /dev/null +++ b/comfy/lora.py @@ -0,0 +1,662 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Comfy + + 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 . +""" + +from __future__ import annotations +import comfy.utils +import comfy.model_management +import comfy.model_base +import logging +import torch + +LORA_CLIP_MAP = { + "mlp.fc1": "mlp_fc1", + "mlp.fc2": "mlp_fc2", + "self_attn.k_proj": "self_attn_k_proj", + "self_attn.q_proj": "self_attn_q_proj", + "self_attn.v_proj": "self_attn_v_proj", + "self_attn.out_proj": "self_attn_out_proj", +} + + +def load_lora(lora, to_load, log_missing=True): + patch_dict = {} + loaded_keys = set() + for x in to_load: + alpha_name = "{}.alpha".format(x) + alpha = None + if alpha_name in lora.keys(): + alpha = lora[alpha_name].item() + loaded_keys.add(alpha_name) + + dora_scale_name = "{}.dora_scale".format(x) + dora_scale = None + if dora_scale_name in lora.keys(): + dora_scale = lora[dora_scale_name] + loaded_keys.add(dora_scale_name) + + reshape_name = "{}.reshape_weight".format(x) + reshape = None + if reshape_name in lora.keys(): + try: + reshape = lora[reshape_name].tolist() + loaded_keys.add(reshape_name) + except: + pass + + regular_lora = "{}.lora_up.weight".format(x) + diffusers_lora = "{}_lora.up.weight".format(x) + diffusers2_lora = "{}.lora_B.weight".format(x) + diffusers3_lora = "{}.lora.up.weight".format(x) + mochi_lora = "{}.lora_B".format(x) + transformers_lora = "{}.lora_linear_layer.up.weight".format(x) + A_name = None + + if regular_lora in lora.keys(): + A_name = regular_lora + B_name = "{}.lora_down.weight".format(x) + mid_name = "{}.lora_mid.weight".format(x) + elif diffusers_lora in lora.keys(): + A_name = diffusers_lora + B_name = "{}_lora.down.weight".format(x) + mid_name = None + elif diffusers2_lora in lora.keys(): + A_name = diffusers2_lora + B_name = "{}.lora_A.weight".format(x) + mid_name = None + elif diffusers3_lora in lora.keys(): + A_name = diffusers3_lora + B_name = "{}.lora.down.weight".format(x) + mid_name = None + elif mochi_lora in lora.keys(): + A_name = mochi_lora + B_name = "{}.lora_A".format(x) + mid_name = None + elif transformers_lora in lora.keys(): + A_name = transformers_lora + B_name ="{}.lora_linear_layer.down.weight".format(x) + mid_name = None + + if A_name is not None: + mid = None + if mid_name is not None and mid_name in lora.keys(): + mid = lora[mid_name] + loaded_keys.add(mid_name) + patch_dict[to_load[x]] = ("lora", (lora[A_name], lora[B_name], alpha, mid, dora_scale, reshape)) + loaded_keys.add(A_name) + loaded_keys.add(B_name) + + + ######## loha + hada_w1_a_name = "{}.hada_w1_a".format(x) + hada_w1_b_name = "{}.hada_w1_b".format(x) + hada_w2_a_name = "{}.hada_w2_a".format(x) + hada_w2_b_name = "{}.hada_w2_b".format(x) + hada_t1_name = "{}.hada_t1".format(x) + hada_t2_name = "{}.hada_t2".format(x) + if hada_w1_a_name in lora.keys(): + hada_t1 = None + hada_t2 = None + if hada_t1_name in lora.keys(): + hada_t1 = lora[hada_t1_name] + hada_t2 = lora[hada_t2_name] + loaded_keys.add(hada_t1_name) + loaded_keys.add(hada_t2_name) + + patch_dict[to_load[x]] = ("loha", (lora[hada_w1_a_name], lora[hada_w1_b_name], alpha, lora[hada_w2_a_name], lora[hada_w2_b_name], hada_t1, hada_t2, dora_scale)) + loaded_keys.add(hada_w1_a_name) + loaded_keys.add(hada_w1_b_name) + loaded_keys.add(hada_w2_a_name) + loaded_keys.add(hada_w2_b_name) + + + ######## lokr + lokr_w1_name = "{}.lokr_w1".format(x) + lokr_w2_name = "{}.lokr_w2".format(x) + lokr_w1_a_name = "{}.lokr_w1_a".format(x) + lokr_w1_b_name = "{}.lokr_w1_b".format(x) + lokr_t2_name = "{}.lokr_t2".format(x) + lokr_w2_a_name = "{}.lokr_w2_a".format(x) + lokr_w2_b_name = "{}.lokr_w2_b".format(x) + + lokr_w1 = None + if lokr_w1_name in lora.keys(): + lokr_w1 = lora[lokr_w1_name] + loaded_keys.add(lokr_w1_name) + + lokr_w2 = None + if lokr_w2_name in lora.keys(): + lokr_w2 = lora[lokr_w2_name] + loaded_keys.add(lokr_w2_name) + + lokr_w1_a = None + if lokr_w1_a_name in lora.keys(): + lokr_w1_a = lora[lokr_w1_a_name] + loaded_keys.add(lokr_w1_a_name) + + lokr_w1_b = None + if lokr_w1_b_name in lora.keys(): + lokr_w1_b = lora[lokr_w1_b_name] + loaded_keys.add(lokr_w1_b_name) + + lokr_w2_a = None + if lokr_w2_a_name in lora.keys(): + lokr_w2_a = lora[lokr_w2_a_name] + loaded_keys.add(lokr_w2_a_name) + + lokr_w2_b = None + if lokr_w2_b_name in lora.keys(): + lokr_w2_b = lora[lokr_w2_b_name] + loaded_keys.add(lokr_w2_b_name) + + lokr_t2 = None + if lokr_t2_name in lora.keys(): + lokr_t2 = lora[lokr_t2_name] + loaded_keys.add(lokr_t2_name) + + if (lokr_w1 is not None) or (lokr_w2 is not None) or (lokr_w1_a is not None) or (lokr_w2_a is not None): + patch_dict[to_load[x]] = ("lokr", (lokr_w1, lokr_w2, alpha, lokr_w1_a, lokr_w1_b, lokr_w2_a, lokr_w2_b, lokr_t2, dora_scale)) + + #glora + a1_name = "{}.a1.weight".format(x) + a2_name = "{}.a2.weight".format(x) + b1_name = "{}.b1.weight".format(x) + b2_name = "{}.b2.weight".format(x) + if a1_name in lora: + patch_dict[to_load[x]] = ("glora", (lora[a1_name], lora[a2_name], lora[b1_name], lora[b2_name], alpha, dora_scale)) + loaded_keys.add(a1_name) + loaded_keys.add(a2_name) + loaded_keys.add(b1_name) + loaded_keys.add(b2_name) + + w_norm_name = "{}.w_norm".format(x) + b_norm_name = "{}.b_norm".format(x) + w_norm = lora.get(w_norm_name, None) + b_norm = lora.get(b_norm_name, None) + + if w_norm is not None: + loaded_keys.add(w_norm_name) + patch_dict[to_load[x]] = ("diff", (w_norm,)) + if b_norm is not None: + loaded_keys.add(b_norm_name) + patch_dict["{}.bias".format(to_load[x][:-len(".weight")])] = ("diff", (b_norm,)) + + diff_name = "{}.diff".format(x) + diff_weight = lora.get(diff_name, None) + if diff_weight is not None: + patch_dict[to_load[x]] = ("diff", (diff_weight,)) + loaded_keys.add(diff_name) + + diff_bias_name = "{}.diff_b".format(x) + diff_bias = lora.get(diff_bias_name, None) + if diff_bias is not None: + patch_dict["{}.bias".format(to_load[x][:-len(".weight")])] = ("diff", (diff_bias,)) + loaded_keys.add(diff_bias_name) + + set_weight_name = "{}.set_weight".format(x) + set_weight = lora.get(set_weight_name, None) + if set_weight is not None: + patch_dict[to_load[x]] = ("set", (set_weight,)) + loaded_keys.add(set_weight_name) + + if log_missing: + for x in lora.keys(): + if x not in loaded_keys: + logging.warning("lora key not loaded: {}".format(x)) + + return patch_dict + +def model_lora_keys_clip(model, key_map={}): + sdk = model.state_dict().keys() + for k in sdk: + if k.endswith(".weight"): + key_map["text_encoders.{}".format(k[:-len(".weight")])] = k #generic lora format without any weird key names + + text_model_lora_key = "lora_te_text_model_encoder_layers_{}_{}" + clip_l_present = False + clip_g_present = False + for b in range(32): #TODO: clean up + for c in LORA_CLIP_MAP: + k = "clip_h.transformer.text_model.encoder.layers.{}.{}.weight".format(b, c) + if k in sdk: + lora_key = text_model_lora_key.format(b, LORA_CLIP_MAP[c]) + key_map[lora_key] = k + lora_key = "lora_te1_text_model_encoder_layers_{}_{}".format(b, LORA_CLIP_MAP[c]) + key_map[lora_key] = k + lora_key = "text_encoder.text_model.encoder.layers.{}.{}".format(b, c) #diffusers lora + key_map[lora_key] = k + + k = "clip_l.transformer.text_model.encoder.layers.{}.{}.weight".format(b, c) + if k in sdk: + lora_key = text_model_lora_key.format(b, LORA_CLIP_MAP[c]) + key_map[lora_key] = k + lora_key = "lora_te1_text_model_encoder_layers_{}_{}".format(b, LORA_CLIP_MAP[c]) #SDXL base + key_map[lora_key] = k + clip_l_present = True + lora_key = "text_encoder.text_model.encoder.layers.{}.{}".format(b, c) #diffusers lora + key_map[lora_key] = k + + k = "clip_g.transformer.text_model.encoder.layers.{}.{}.weight".format(b, c) + if k in sdk: + clip_g_present = True + if clip_l_present: + lora_key = "lora_te2_text_model_encoder_layers_{}_{}".format(b, LORA_CLIP_MAP[c]) #SDXL base + key_map[lora_key] = k + lora_key = "text_encoder_2.text_model.encoder.layers.{}.{}".format(b, c) #diffusers lora + key_map[lora_key] = k + else: + lora_key = "lora_te_text_model_encoder_layers_{}_{}".format(b, LORA_CLIP_MAP[c]) #TODO: test if this is correct for SDXL-Refiner + key_map[lora_key] = k + lora_key = "text_encoder.text_model.encoder.layers.{}.{}".format(b, c) #diffusers lora + key_map[lora_key] = k + lora_key = "lora_prior_te_text_model_encoder_layers_{}_{}".format(b, LORA_CLIP_MAP[c]) #cascade lora: TODO put lora key prefix in the model config + key_map[lora_key] = k + + for k in sdk: + if k.endswith(".weight"): + if k.startswith("t5xxl.transformer."):#OneTrainer SD3 and Flux lora + l_key = k[len("t5xxl.transformer."):-len(".weight")] + t5_index = 1 + if clip_g_present: + t5_index += 1 + if clip_l_present: + t5_index += 1 + if t5_index == 2: + key_map["lora_te{}_{}".format(t5_index, l_key.replace(".", "_"))] = k #OneTrainer Flux + t5_index += 1 + + key_map["lora_te{}_{}".format(t5_index, l_key.replace(".", "_"))] = k + elif k.startswith("hydit_clip.transformer.bert."): #HunyuanDiT Lora + l_key = k[len("hydit_clip.transformer.bert."):-len(".weight")] + lora_key = "lora_te1_{}".format(l_key.replace(".", "_")) + key_map[lora_key] = k + + + k = "clip_g.transformer.text_projection.weight" + if k in sdk: + key_map["lora_prior_te_text_projection"] = k #cascade lora? + # key_map["text_encoder.text_projection"] = k #TODO: check if other lora have the text_projection too + key_map["lora_te2_text_projection"] = k #OneTrainer SD3 lora + + k = "clip_l.transformer.text_projection.weight" + if k in sdk: + key_map["lora_te1_text_projection"] = k #OneTrainer SD3 lora, not necessary but omits warning + + return key_map + +def model_lora_keys_unet(model, key_map={}): + sd = model.state_dict() + sdk = sd.keys() + + for k in sdk: + if k.startswith("diffusion_model."): + if k.endswith(".weight"): + key_lora = k[len("diffusion_model."):-len(".weight")].replace(".", "_") + key_map["lora_unet_{}".format(key_lora)] = k + key_map["lora_prior_unet_{}".format(key_lora)] = k #cascade lora: TODO put lora key prefix in the model config + key_map["{}".format(k[:-len(".weight")])] = k #generic lora format without any weird key names + else: + key_map["{}".format(k)] = k #generic lora format for not .weight without any weird key names + + diffusers_keys = comfy.utils.unet_to_diffusers(model.model_config.unet_config) + for k in diffusers_keys: + if k.endswith(".weight"): + unet_key = "diffusion_model.{}".format(diffusers_keys[k]) + key_lora = k[:-len(".weight")].replace(".", "_") + key_map["lora_unet_{}".format(key_lora)] = unet_key + key_map["lycoris_{}".format(key_lora)] = unet_key #simpletuner lycoris format + + diffusers_lora_prefix = ["", "unet."] + for p in diffusers_lora_prefix: + diffusers_lora_key = "{}{}".format(p, k[:-len(".weight")].replace(".to_", ".processor.to_")) + if diffusers_lora_key.endswith(".to_out.0"): + diffusers_lora_key = diffusers_lora_key[:-2] + key_map[diffusers_lora_key] = unet_key + + if isinstance(model, comfy.model_base.SD3): #Diffusers lora SD3 + diffusers_keys = comfy.utils.mmdit_to_diffusers(model.model_config.unet_config, output_prefix="diffusion_model.") + for k in diffusers_keys: + if k.endswith(".weight"): + to = diffusers_keys[k] + key_lora = "transformer.{}".format(k[:-len(".weight")]) #regular diffusers sd3 lora format + key_map[key_lora] = to + + key_lora = "base_model.model.{}".format(k[:-len(".weight")]) #format for flash-sd3 lora and others? + key_map[key_lora] = to + + key_lora = "lora_transformer_{}".format(k[:-len(".weight")].replace(".", "_")) #OneTrainer lora + key_map[key_lora] = to + + key_lora = "lycoris_{}".format(k[:-len(".weight")].replace(".", "_")) #simpletuner lycoris format + key_map[key_lora] = to + + if isinstance(model, comfy.model_base.AuraFlow): #Diffusers lora AuraFlow + diffusers_keys = comfy.utils.auraflow_to_diffusers(model.model_config.unet_config, output_prefix="diffusion_model.") + for k in diffusers_keys: + if k.endswith(".weight"): + to = diffusers_keys[k] + key_lora = "transformer.{}".format(k[:-len(".weight")]) #simpletrainer and probably regular diffusers lora format + key_map[key_lora] = to + + if isinstance(model, comfy.model_base.PixArt): + diffusers_keys = comfy.utils.pixart_to_diffusers(model.model_config.unet_config, output_prefix="diffusion_model.") + for k in diffusers_keys: + if k.endswith(".weight"): + to = diffusers_keys[k] + key_lora = "transformer.{}".format(k[:-len(".weight")]) #default format + key_map[key_lora] = to + + key_lora = "base_model.model.{}".format(k[:-len(".weight")]) #diffusers training script + key_map[key_lora] = to + + key_lora = "unet.base_model.model.{}".format(k[:-len(".weight")]) #old reference peft script + key_map[key_lora] = to + + if isinstance(model, comfy.model_base.HunyuanDiT): + for k in sdk: + if k.startswith("diffusion_model.") and k.endswith(".weight"): + key_lora = k[len("diffusion_model."):-len(".weight")] + key_map["base_model.model.{}".format(key_lora)] = k #official hunyuan lora format + + if isinstance(model, comfy.model_base.Flux): #Diffusers lora Flux + diffusers_keys = comfy.utils.flux_to_diffusers(model.model_config.unet_config, output_prefix="diffusion_model.") + for k in diffusers_keys: + if k.endswith(".weight"): + to = diffusers_keys[k] + key_map["transformer.{}".format(k[:-len(".weight")])] = to #simpletrainer and probably regular diffusers flux lora format + key_map["lycoris_{}".format(k[:-len(".weight")].replace(".", "_"))] = to #simpletrainer lycoris + key_map["lora_transformer_{}".format(k[:-len(".weight")].replace(".", "_"))] = to #onetrainer + + if isinstance(model, comfy.model_base.GenmoMochi): + for k in sdk: + if k.startswith("diffusion_model.") and k.endswith(".weight"): #Official Mochi lora format + key_lora = k[len("diffusion_model."):-len(".weight")] + key_map["{}".format(key_lora)] = k + + if isinstance(model, comfy.model_base.HunyuanVideo): + for k in sdk: + if k.startswith("diffusion_model.") and k.endswith(".weight"): + # diffusion-pipe lora format + key_lora = k + key_lora = key_lora.replace("_mod.lin.", "_mod.linear.").replace("_attn.qkv.", "_attn_qkv.").replace("_attn.proj.", "_attn_proj.") + key_lora = key_lora.replace("mlp.0.", "mlp.fc1.").replace("mlp.2.", "mlp.fc2.") + key_lora = key_lora.replace(".modulation.lin.", ".modulation.linear.") + key_lora = key_lora[len("diffusion_model."):-len(".weight")] + key_map["transformer.{}".format(key_lora)] = k + key_map["diffusion_model.{}".format(key_lora)] = k # Old loras + + return key_map + + +def weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype, function): + dora_scale = comfy.model_management.cast_to_device(dora_scale, weight.device, intermediate_dtype) + lora_diff *= alpha + weight_calc = weight + function(lora_diff).type(weight.dtype) + weight_norm = ( + weight_calc.transpose(0, 1) + .reshape(weight_calc.shape[1], -1) + .norm(dim=1, keepdim=True) + .reshape(weight_calc.shape[1], *[1] * (weight_calc.dim() - 1)) + .transpose(0, 1) + ) + + weight_calc *= (dora_scale / weight_norm).type(weight.dtype) + if strength != 1.0: + weight_calc -= weight + weight += strength * (weight_calc) + else: + weight[:] = weight_calc + return weight + +def pad_tensor_to_shape(tensor: torch.Tensor, new_shape: list[int]) -> torch.Tensor: + """ + Pad a tensor to a new shape with zeros. + + Args: + tensor (torch.Tensor): The original tensor to be padded. + new_shape (List[int]): The desired shape of the padded tensor. + + Returns: + torch.Tensor: A new tensor padded with zeros to the specified shape. + + Note: + If the new shape is smaller than the original tensor in any dimension, + the original tensor will be truncated in that dimension. + """ + if any([new_shape[i] < tensor.shape[i] for i in range(len(new_shape))]): + raise ValueError("The new shape must be larger than the original tensor in all dimensions") + + if len(new_shape) != len(tensor.shape): + raise ValueError("The new shape must have the same number of dimensions as the original tensor") + + # Create a new tensor filled with zeros + padded_tensor = torch.zeros(new_shape, dtype=tensor.dtype, device=tensor.device) + + # Create slicing tuples for both tensors + orig_slices = tuple(slice(0, dim) for dim in tensor.shape) + new_slices = tuple(slice(0, dim) for dim in tensor.shape) + + # Copy the original tensor into the new tensor + padded_tensor[new_slices] = tensor[orig_slices] + + return padded_tensor + +def calculate_weight(patches, weight, key, intermediate_dtype=torch.float32, original_weights=None): + for p in patches: + strength = p[0] + v = p[1] + strength_model = p[2] + offset = p[3] + function = p[4] + if function is None: + function = lambda a: a + + old_weight = None + if offset is not None: + old_weight = weight + weight = weight.narrow(offset[0], offset[1], offset[2]) + + if strength_model != 1.0: + weight *= strength_model + + if isinstance(v, list): + v = (calculate_weight(v[1:], v[0][1](comfy.model_management.cast_to_device(v[0][0], weight.device, intermediate_dtype, copy=True), inplace=True), key, intermediate_dtype=intermediate_dtype), ) + + if len(v) == 1: + patch_type = "diff" + elif len(v) == 2: + patch_type = v[0] + v = v[1] + + if patch_type == "diff": + diff: torch.Tensor = v[0] + # An extra flag to pad the weight if the diff's shape is larger than the weight + do_pad_weight = len(v) > 1 and v[1]['pad_weight'] + if do_pad_weight and diff.shape != weight.shape: + logging.info("Pad weight {} from {} to shape: {}".format(key, weight.shape, diff.shape)) + weight = pad_tensor_to_shape(weight, diff.shape) + + if strength != 0.0: + if diff.shape != weight.shape: + logging.warning("WARNING SHAPE MISMATCH {} WEIGHT NOT MERGED {} != {}".format(key, diff.shape, weight.shape)) + else: + weight += function(strength * comfy.model_management.cast_to_device(diff, weight.device, weight.dtype)) + elif patch_type == "set": + weight.copy_(v[0]) + elif patch_type == "model_as_lora": + target_weight: torch.Tensor = v[0] + diff_weight = comfy.model_management.cast_to_device(target_weight, weight.device, intermediate_dtype) - \ + comfy.model_management.cast_to_device(original_weights[key][0][0], weight.device, intermediate_dtype) + weight += function(strength * comfy.model_management.cast_to_device(diff_weight, weight.device, weight.dtype)) + elif patch_type == "lora": #lora/locon + mat1 = comfy.model_management.cast_to_device(v[0], weight.device, intermediate_dtype) + mat2 = comfy.model_management.cast_to_device(v[1], weight.device, intermediate_dtype) + dora_scale = v[4] + reshape = v[5] + + if reshape is not None: + weight = pad_tensor_to_shape(weight, reshape) + + if v[2] is not None: + alpha = v[2] / mat2.shape[0] + else: + alpha = 1.0 + + if v[3] is not None: + #locon mid weights, hopefully the math is fine because I didn't properly test it + mat3 = comfy.model_management.cast_to_device(v[3], weight.device, intermediate_dtype) + final_shape = [mat2.shape[1], mat2.shape[0], mat3.shape[2], mat3.shape[3]] + mat2 = torch.mm(mat2.transpose(0, 1).flatten(start_dim=1), mat3.transpose(0, 1).flatten(start_dim=1)).reshape(final_shape).transpose(0, 1) + try: + lora_diff = torch.mm(mat1.flatten(start_dim=1), mat2.flatten(start_dim=1)).reshape(weight.shape) + if dora_scale is not None: + weight = weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype, function) + else: + weight += function(((strength * alpha) * lora_diff).type(weight.dtype)) + except Exception as e: + logging.error("ERROR {} {} {}".format(patch_type, key, e)) + elif patch_type == "lokr": + w1 = v[0] + w2 = v[1] + w1_a = v[3] + w1_b = v[4] + w2_a = v[5] + w2_b = v[6] + t2 = v[7] + dora_scale = v[8] + dim = None + + if w1 is None: + dim = w1_b.shape[0] + w1 = torch.mm(comfy.model_management.cast_to_device(w1_a, weight.device, intermediate_dtype), + comfy.model_management.cast_to_device(w1_b, weight.device, intermediate_dtype)) + else: + w1 = comfy.model_management.cast_to_device(w1, weight.device, intermediate_dtype) + + if w2 is None: + dim = w2_b.shape[0] + if t2 is None: + w2 = torch.mm(comfy.model_management.cast_to_device(w2_a, weight.device, intermediate_dtype), + comfy.model_management.cast_to_device(w2_b, weight.device, intermediate_dtype)) + else: + w2 = torch.einsum('i j k l, j r, i p -> p r k l', + comfy.model_management.cast_to_device(t2, weight.device, intermediate_dtype), + comfy.model_management.cast_to_device(w2_b, weight.device, intermediate_dtype), + comfy.model_management.cast_to_device(w2_a, weight.device, intermediate_dtype)) + else: + w2 = comfy.model_management.cast_to_device(w2, weight.device, intermediate_dtype) + + if len(w2.shape) == 4: + w1 = w1.unsqueeze(2).unsqueeze(2) + if v[2] is not None and dim is not None: + alpha = v[2] / dim + else: + alpha = 1.0 + + try: + lora_diff = torch.kron(w1, w2).reshape(weight.shape) + if dora_scale is not None: + weight = weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype, function) + else: + weight += function(((strength * alpha) * lora_diff).type(weight.dtype)) + except Exception as e: + logging.error("ERROR {} {} {}".format(patch_type, key, e)) + elif patch_type == "loha": + w1a = v[0] + w1b = v[1] + if v[2] is not None: + alpha = v[2] / w1b.shape[0] + else: + alpha = 1.0 + + w2a = v[3] + w2b = v[4] + dora_scale = v[7] + if v[5] is not None: #cp decomposition + t1 = v[5] + t2 = v[6] + m1 = torch.einsum('i j k l, j r, i p -> p r k l', + comfy.model_management.cast_to_device(t1, weight.device, intermediate_dtype), + comfy.model_management.cast_to_device(w1b, weight.device, intermediate_dtype), + comfy.model_management.cast_to_device(w1a, weight.device, intermediate_dtype)) + + m2 = torch.einsum('i j k l, j r, i p -> p r k l', + comfy.model_management.cast_to_device(t2, weight.device, intermediate_dtype), + comfy.model_management.cast_to_device(w2b, weight.device, intermediate_dtype), + comfy.model_management.cast_to_device(w2a, weight.device, intermediate_dtype)) + else: + m1 = torch.mm(comfy.model_management.cast_to_device(w1a, weight.device, intermediate_dtype), + comfy.model_management.cast_to_device(w1b, weight.device, intermediate_dtype)) + m2 = torch.mm(comfy.model_management.cast_to_device(w2a, weight.device, intermediate_dtype), + comfy.model_management.cast_to_device(w2b, weight.device, intermediate_dtype)) + + try: + lora_diff = (m1 * m2).reshape(weight.shape) + if dora_scale is not None: + weight = weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype, function) + else: + weight += function(((strength * alpha) * lora_diff).type(weight.dtype)) + except Exception as e: + logging.error("ERROR {} {} {}".format(patch_type, key, e)) + elif patch_type == "glora": + dora_scale = v[5] + + old_glora = False + if v[3].shape[1] == v[2].shape[0] == v[0].shape[0] == v[1].shape[1]: + rank = v[0].shape[0] + old_glora = True + + if v[3].shape[0] == v[2].shape[1] == v[0].shape[1] == v[1].shape[0]: + if old_glora and v[1].shape[0] == weight.shape[0] and weight.shape[0] == weight.shape[1]: + pass + else: + old_glora = False + rank = v[1].shape[0] + + a1 = comfy.model_management.cast_to_device(v[0].flatten(start_dim=1), weight.device, intermediate_dtype) + a2 = comfy.model_management.cast_to_device(v[1].flatten(start_dim=1), weight.device, intermediate_dtype) + b1 = comfy.model_management.cast_to_device(v[2].flatten(start_dim=1), weight.device, intermediate_dtype) + b2 = comfy.model_management.cast_to_device(v[3].flatten(start_dim=1), weight.device, intermediate_dtype) + + if v[4] is not None: + alpha = v[4] / rank + else: + alpha = 1.0 + + try: + if old_glora: + lora_diff = (torch.mm(b2, b1) + torch.mm(torch.mm(weight.flatten(start_dim=1).to(dtype=intermediate_dtype), a2), a1)).reshape(weight.shape) #old lycoris glora + else: + if weight.dim() > 2: + lora_diff = torch.einsum("o i ..., i j -> o j ...", torch.einsum("o i ..., i j -> o j ...", weight.to(dtype=intermediate_dtype), a1), a2).reshape(weight.shape) + else: + lora_diff = torch.mm(torch.mm(weight.to(dtype=intermediate_dtype), a1), a2).reshape(weight.shape) + lora_diff += torch.mm(b1, b2).reshape(weight.shape) + + if dora_scale is not None: + weight = weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype, function) + else: + weight += function(((strength * alpha) * lora_diff).type(weight.dtype)) + except Exception as e: + logging.error("ERROR {} {} {}".format(patch_type, key, e)) + else: + logging.warning("patch type not recognized {} {}".format(patch_type, key)) + + if old_weight is not None: + weight = old_weight + + return weight diff --git a/comfy/lora_convert.py b/comfy/lora_convert.py new file mode 100644 index 0000000000000000000000000000000000000000..05032c6900dd3e2f873ab17008735d434664058c --- /dev/null +++ b/comfy/lora_convert.py @@ -0,0 +1,17 @@ +import torch + + +def convert_lora_bfl_control(sd): #BFL loras for Flux + sd_out = {} + for k in sd: + k_to = "diffusion_model.{}".format(k.replace(".lora_B.bias", ".diff_b").replace("_norm.scale", "_norm.scale.set_weight")) + sd_out[k_to] = sd[k] + + sd_out["diffusion_model.img_in.reshape_weight"] = torch.tensor([sd["img_in.lora_B.weight"].shape[0], sd["img_in.lora_A.weight"].shape[1]]) + return sd_out + + +def convert_lora(sd): + if "img_in.lora_A.weight" in sd and "single_blocks.0.norm.key_norm.scale" in sd: + return convert_lora_bfl_control(sd) + return sd diff --git a/comfy/model_base.py b/comfy/model_base.py new file mode 100644 index 0000000000000000000000000000000000000000..7625b712650ec7532282cce61190dac45e23021d --- /dev/null +++ b/comfy/model_base.py @@ -0,0 +1,894 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Comfy + + 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 . +""" + +import torch +import logging +from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep +from comfy.ldm.cascade.stage_c import StageC +from comfy.ldm.cascade.stage_b import StageB +from comfy.ldm.modules.encoders.noise_aug_modules import CLIPEmbeddingNoiseAugmentation +from comfy.ldm.modules.diffusionmodules.upscaling import ImageConcatWithNoiseAugmentation +from comfy.ldm.modules.diffusionmodules.mmdit import OpenAISignatureMMDITWrapper +import comfy.ldm.genmo.joint_model.asymm_models_joint +import comfy.ldm.aura.mmdit +import comfy.ldm.pixart.pixartms +import comfy.ldm.hydit.models +import comfy.ldm.audio.dit +import comfy.ldm.audio.embedders +import comfy.ldm.flux.model +import comfy.ldm.lightricks.model +import comfy.ldm.hunyuan_video.model +import comfy.ldm.cosmos.model + +import comfy.model_management +import comfy.patcher_extension +import comfy.conds +import comfy.ops +from enum import Enum +from . import utils +import comfy.latent_formats +import math +from typing import TYPE_CHECKING +if TYPE_CHECKING: + from comfy.model_patcher import ModelPatcher + +class ModelType(Enum): + EPS = 1 + V_PREDICTION = 2 + V_PREDICTION_EDM = 3 + STABLE_CASCADE = 4 + EDM = 5 + FLOW = 6 + V_PREDICTION_CONTINUOUS = 7 + FLUX = 8 + + +from comfy.model_sampling import EPS, V_PREDICTION, EDM, ModelSamplingDiscrete, ModelSamplingContinuousEDM, StableCascadeSampling, ModelSamplingContinuousV + + +def model_sampling(model_config, model_type): + s = ModelSamplingDiscrete + + if model_type == ModelType.EPS: + c = EPS + elif model_type == ModelType.V_PREDICTION: + c = V_PREDICTION + elif model_type == ModelType.V_PREDICTION_EDM: + c = V_PREDICTION + s = ModelSamplingContinuousEDM + elif model_type == ModelType.FLOW: + c = comfy.model_sampling.CONST + s = comfy.model_sampling.ModelSamplingDiscreteFlow + elif model_type == ModelType.STABLE_CASCADE: + c = EPS + s = StableCascadeSampling + elif model_type == ModelType.EDM: + c = EDM + s = ModelSamplingContinuousEDM + elif model_type == ModelType.V_PREDICTION_CONTINUOUS: + c = V_PREDICTION + s = ModelSamplingContinuousV + elif model_type == ModelType.FLUX: + c = comfy.model_sampling.CONST + s = comfy.model_sampling.ModelSamplingFlux + + class ModelSampling(s, c): + pass + + return ModelSampling(model_config) + + +class BaseModel(torch.nn.Module): + def __init__(self, model_config, model_type=ModelType.EPS, device=None, unet_model=UNetModel): + super().__init__() + + unet_config = model_config.unet_config + self.latent_format = model_config.latent_format + self.model_config = model_config + self.manual_cast_dtype = model_config.manual_cast_dtype + self.device = device + self.current_patcher: 'ModelPatcher' = None + + if not unet_config.get("disable_unet_model_creation", False): + if model_config.custom_operations is None: + fp8 = model_config.optimizations.get("fp8", model_config.scaled_fp8 is not None) + operations = comfy.ops.pick_operations(unet_config.get("dtype", None), self.manual_cast_dtype, fp8_optimizations=fp8, scaled_fp8=model_config.scaled_fp8) + else: + operations = model_config.custom_operations + self.diffusion_model = unet_model(**unet_config, device=device, operations=operations) + if comfy.model_management.force_channels_last(): + self.diffusion_model.to(memory_format=torch.channels_last) + logging.debug("using channels last mode for diffusion model") + logging.info("model weight dtype {}, manual cast: {}".format(self.get_dtype(), self.manual_cast_dtype)) + self.model_type = model_type + self.model_sampling = model_sampling(model_config, model_type) + + self.adm_channels = unet_config.get("adm_in_channels", None) + if self.adm_channels is None: + self.adm_channels = 0 + + self.concat_keys = () + logging.info("model_type {}".format(model_type.name)) + logging.debug("adm {}".format(self.adm_channels)) + self.memory_usage_factor = model_config.memory_usage_factor + + def apply_model(self, x, t, c_concat=None, c_crossattn=None, control=None, transformer_options={}, **kwargs): + return comfy.patcher_extension.WrapperExecutor.new_class_executor( + self._apply_model, + self, + comfy.patcher_extension.get_all_wrappers(comfy.patcher_extension.WrappersMP.APPLY_MODEL, transformer_options) + ).execute(x, t, c_concat, c_crossattn, control, transformer_options, **kwargs) + + def _apply_model(self, x, t, c_concat=None, c_crossattn=None, control=None, transformer_options={}, **kwargs): + sigma = t + xc = self.model_sampling.calculate_input(sigma, x) + if c_concat is not None: + xc = torch.cat([xc] + [c_concat], dim=1) + + context = c_crossattn + dtype = self.get_dtype() + + if self.manual_cast_dtype is not None: + dtype = self.manual_cast_dtype + + xc = xc.to(dtype) + t = self.model_sampling.timestep(t).float() + context = context.to(dtype) + extra_conds = {} + for o in kwargs: + extra = kwargs[o] + if hasattr(extra, "dtype"): + if extra.dtype != torch.int and extra.dtype != torch.long: + extra = extra.to(dtype) + extra_conds[o] = extra + + model_output = self.diffusion_model(xc, t, context=context, control=control, transformer_options=transformer_options, **extra_conds).float() + return self.model_sampling.calculate_denoised(sigma, model_output, x) + + def get_dtype(self): + return self.diffusion_model.dtype + + def is_adm(self): + return self.adm_channels > 0 + + def encode_adm(self, **kwargs): + return None + + def concat_cond(self, **kwargs): + if len(self.concat_keys) > 0: + cond_concat = [] + denoise_mask = kwargs.get("concat_mask", kwargs.get("denoise_mask", None)) + concat_latent_image = kwargs.get("concat_latent_image", None) + if concat_latent_image is None: + concat_latent_image = kwargs.get("latent_image", None) + else: + concat_latent_image = self.process_latent_in(concat_latent_image) + + noise = kwargs.get("noise", None) + device = kwargs["device"] + + if concat_latent_image.shape[1:] != noise.shape[1:]: + concat_latent_image = utils.common_upscale(concat_latent_image, noise.shape[-1], noise.shape[-2], "bilinear", "center") + + concat_latent_image = utils.resize_to_batch_size(concat_latent_image, noise.shape[0]) + + if denoise_mask is not None: + if len(denoise_mask.shape) == len(noise.shape): + denoise_mask = denoise_mask[:, :1] + + num_dim = noise.ndim - 2 + denoise_mask = denoise_mask.reshape((-1, 1) + tuple(denoise_mask.shape[-num_dim:])) + if denoise_mask.shape[-2:] != noise.shape[-2:]: + denoise_mask = utils.common_upscale(denoise_mask, noise.shape[-1], noise.shape[-2], "bilinear", "center") + denoise_mask = utils.resize_to_batch_size(denoise_mask.round(), noise.shape[0]) + + for ck in self.concat_keys: + if denoise_mask is not None: + if ck == "mask": + cond_concat.append(denoise_mask.to(device)) + elif ck == "masked_image": + cond_concat.append(concat_latent_image.to(device)) # NOTE: the latent_image should be masked by the mask in pixel space + elif ck == "mask_inverted": + cond_concat.append(1.0 - denoise_mask.to(device)) + else: + if ck == "mask": + cond_concat.append(torch.ones_like(noise)[:, :1]) + elif ck == "masked_image": + cond_concat.append(self.blank_inpaint_image_like(noise)) + elif ck == "mask_inverted": + cond_concat.append(torch.zeros_like(noise)[:, :1]) + data = torch.cat(cond_concat, dim=1) + return data + return None + + def extra_conds(self, **kwargs): + out = {} + concat_cond = self.concat_cond(**kwargs) + if concat_cond is not None: + out['c_concat'] = comfy.conds.CONDNoiseShape(concat_cond) + + adm = self.encode_adm(**kwargs) + if adm is not None: + out['y'] = comfy.conds.CONDRegular(adm) + + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDCrossAttn(cross_attn) + + cross_attn_cnet = kwargs.get("cross_attn_controlnet", None) + if cross_attn_cnet is not None: + out['crossattn_controlnet'] = comfy.conds.CONDCrossAttn(cross_attn_cnet) + + c_concat = kwargs.get("noise_concat", None) + if c_concat is not None: + out['c_concat'] = comfy.conds.CONDNoiseShape(c_concat) + + return out + + def load_model_weights(self, sd, unet_prefix=""): + to_load = {} + keys = list(sd.keys()) + for k in keys: + if k.startswith(unet_prefix): + to_load[k[len(unet_prefix):]] = sd.pop(k) + + to_load = self.model_config.process_unet_state_dict(to_load) + m, u = self.diffusion_model.load_state_dict(to_load, strict=False) + if len(m) > 0: + logging.warning("unet missing: {}".format(m)) + + if len(u) > 0: + logging.warning("unet unexpected: {}".format(u)) + del to_load + return self + + def process_latent_in(self, latent): + return self.latent_format.process_in(latent) + + def process_latent_out(self, latent): + return self.latent_format.process_out(latent) + + def state_dict_for_saving(self, clip_state_dict=None, vae_state_dict=None, clip_vision_state_dict=None): + extra_sds = [] + if clip_state_dict is not None: + extra_sds.append(self.model_config.process_clip_state_dict_for_saving(clip_state_dict)) + if vae_state_dict is not None: + extra_sds.append(self.model_config.process_vae_state_dict_for_saving(vae_state_dict)) + if clip_vision_state_dict is not None: + extra_sds.append(self.model_config.process_clip_vision_state_dict_for_saving(clip_vision_state_dict)) + + unet_state_dict = self.diffusion_model.state_dict() + + if self.model_config.scaled_fp8 is not None: + unet_state_dict["scaled_fp8"] = torch.tensor([], dtype=self.model_config.scaled_fp8) + + unet_state_dict = self.model_config.process_unet_state_dict_for_saving(unet_state_dict) + + if self.model_type == ModelType.V_PREDICTION: + unet_state_dict["v_pred"] = torch.tensor([]) + + for sd in extra_sds: + unet_state_dict.update(sd) + + return unet_state_dict + + def set_inpaint(self): + self.concat_keys = ("mask", "masked_image") + def blank_inpaint_image_like(latent_image): + blank_image = torch.ones_like(latent_image) + # these are the values for "zero" in pixel space translated to latent space + blank_image[:,0] *= 0.8223 + blank_image[:,1] *= -0.6876 + blank_image[:,2] *= 0.6364 + blank_image[:,3] *= 0.1380 + return blank_image + self.blank_inpaint_image_like = blank_inpaint_image_like + + def scale_latent_inpaint(self, sigma, noise, latent_image, **kwargs): + return self.model_sampling.noise_scaling(sigma.reshape([sigma.shape[0]] + [1] * (len(noise.shape) - 1)), noise, latent_image) + + def memory_required(self, input_shape): + if comfy.model_management.xformers_enabled() or comfy.model_management.pytorch_attention_flash_attention(): + dtype = self.get_dtype() + if self.manual_cast_dtype is not None: + dtype = self.manual_cast_dtype + #TODO: this needs to be tweaked + area = input_shape[0] * math.prod(input_shape[2:]) + return (area * comfy.model_management.dtype_size(dtype) * 0.01 * self.memory_usage_factor) * (1024 * 1024) + else: + #TODO: this formula might be too aggressive since I tweaked the sub-quad and split algorithms to use less memory. + area = input_shape[0] * math.prod(input_shape[2:]) + return (area * 0.15 * self.memory_usage_factor) * (1024 * 1024) + + +def unclip_adm(unclip_conditioning, device, noise_augmentor, noise_augment_merge=0.0, seed=None): + adm_inputs = [] + weights = [] + noise_aug = [] + for unclip_cond in unclip_conditioning: + for adm_cond in unclip_cond["clip_vision_output"].image_embeds: + weight = unclip_cond["strength"] + noise_augment = unclip_cond["noise_augmentation"] + noise_level = round((noise_augmentor.max_noise_level - 1) * noise_augment) + c_adm, noise_level_emb = noise_augmentor(adm_cond.to(device), noise_level=torch.tensor([noise_level], device=device), seed=seed) + adm_out = torch.cat((c_adm, noise_level_emb), 1) * weight + weights.append(weight) + noise_aug.append(noise_augment) + adm_inputs.append(adm_out) + + if len(noise_aug) > 1: + adm_out = torch.stack(adm_inputs).sum(0) + noise_augment = noise_augment_merge + noise_level = round((noise_augmentor.max_noise_level - 1) * noise_augment) + c_adm, noise_level_emb = noise_augmentor(adm_out[:, :noise_augmentor.time_embed.dim], noise_level=torch.tensor([noise_level], device=device)) + adm_out = torch.cat((c_adm, noise_level_emb), 1) + + return adm_out + +class SD21UNCLIP(BaseModel): + def __init__(self, model_config, noise_aug_config, model_type=ModelType.V_PREDICTION, device=None): + super().__init__(model_config, model_type, device=device) + self.noise_augmentor = CLIPEmbeddingNoiseAugmentation(**noise_aug_config) + + def encode_adm(self, **kwargs): + unclip_conditioning = kwargs.get("unclip_conditioning", None) + device = kwargs["device"] + if unclip_conditioning is None: + return torch.zeros((1, self.adm_channels)) + else: + return unclip_adm(unclip_conditioning, device, self.noise_augmentor, kwargs.get("unclip_noise_augment_merge", 0.05), kwargs.get("seed", 0) - 10) + +def sdxl_pooled(args, noise_augmentor): + if "unclip_conditioning" in args: + return unclip_adm(args.get("unclip_conditioning", None), args["device"], noise_augmentor, seed=args.get("seed", 0) - 10)[:,:1280] + else: + return args["pooled_output"] + +class SDXLRefiner(BaseModel): + def __init__(self, model_config, model_type=ModelType.EPS, device=None): + super().__init__(model_config, model_type, device=device) + self.embedder = Timestep(256) + self.noise_augmentor = CLIPEmbeddingNoiseAugmentation(**{"noise_schedule_config": {"timesteps": 1000, "beta_schedule": "squaredcos_cap_v2"}, "timestep_dim": 1280}) + + def encode_adm(self, **kwargs): + clip_pooled = sdxl_pooled(kwargs, self.noise_augmentor) + width = kwargs.get("width", 768) + height = kwargs.get("height", 768) + crop_w = kwargs.get("crop_w", 0) + crop_h = kwargs.get("crop_h", 0) + + if kwargs.get("prompt_type", "") == "negative": + aesthetic_score = kwargs.get("aesthetic_score", 2.5) + else: + aesthetic_score = kwargs.get("aesthetic_score", 6) + + out = [] + out.append(self.embedder(torch.Tensor([height]))) + out.append(self.embedder(torch.Tensor([width]))) + out.append(self.embedder(torch.Tensor([crop_h]))) + out.append(self.embedder(torch.Tensor([crop_w]))) + out.append(self.embedder(torch.Tensor([aesthetic_score]))) + flat = torch.flatten(torch.cat(out)).unsqueeze(dim=0).repeat(clip_pooled.shape[0], 1) + return torch.cat((clip_pooled.to(flat.device), flat), dim=1) + +class SDXL(BaseModel): + def __init__(self, model_config, model_type=ModelType.EPS, device=None): + super().__init__(model_config, model_type, device=device) + self.embedder = Timestep(256) + self.noise_augmentor = CLIPEmbeddingNoiseAugmentation(**{"noise_schedule_config": {"timesteps": 1000, "beta_schedule": "squaredcos_cap_v2"}, "timestep_dim": 1280}) + + def encode_adm(self, **kwargs): + clip_pooled = sdxl_pooled(kwargs, self.noise_augmentor) + width = kwargs.get("width", 768) + height = kwargs.get("height", 768) + crop_w = kwargs.get("crop_w", 0) + crop_h = kwargs.get("crop_h", 0) + target_width = kwargs.get("target_width", width) + target_height = kwargs.get("target_height", height) + + out = [] + out.append(self.embedder(torch.Tensor([height]))) + out.append(self.embedder(torch.Tensor([width]))) + out.append(self.embedder(torch.Tensor([crop_h]))) + out.append(self.embedder(torch.Tensor([crop_w]))) + out.append(self.embedder(torch.Tensor([target_height]))) + out.append(self.embedder(torch.Tensor([target_width]))) + flat = torch.flatten(torch.cat(out)).unsqueeze(dim=0).repeat(clip_pooled.shape[0], 1) + return torch.cat((clip_pooled.to(flat.device), flat), dim=1) + + +class SVD_img2vid(BaseModel): + def __init__(self, model_config, model_type=ModelType.V_PREDICTION_EDM, device=None): + super().__init__(model_config, model_type, device=device) + self.embedder = Timestep(256) + + def encode_adm(self, **kwargs): + fps_id = kwargs.get("fps", 6) - 1 + motion_bucket_id = kwargs.get("motion_bucket_id", 127) + augmentation = kwargs.get("augmentation_level", 0) + + out = [] + out.append(self.embedder(torch.Tensor([fps_id]))) + out.append(self.embedder(torch.Tensor([motion_bucket_id]))) + out.append(self.embedder(torch.Tensor([augmentation]))) + + flat = torch.flatten(torch.cat(out)).unsqueeze(dim=0) + return flat + + def extra_conds(self, **kwargs): + out = {} + adm = self.encode_adm(**kwargs) + if adm is not None: + out['y'] = comfy.conds.CONDRegular(adm) + + latent_image = kwargs.get("concat_latent_image", None) + noise = kwargs.get("noise", None) + + if latent_image is None: + latent_image = torch.zeros_like(noise) + + if latent_image.shape[1:] != noise.shape[1:]: + latent_image = utils.common_upscale(latent_image, noise.shape[-1], noise.shape[-2], "bilinear", "center") + + latent_image = utils.resize_to_batch_size(latent_image, noise.shape[0]) + + out['c_concat'] = comfy.conds.CONDNoiseShape(latent_image) + + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDCrossAttn(cross_attn) + + if "time_conditioning" in kwargs: + out["time_context"] = comfy.conds.CONDCrossAttn(kwargs["time_conditioning"]) + + out['num_video_frames'] = comfy.conds.CONDConstant(noise.shape[0]) + return out + +class SV3D_u(SVD_img2vid): + def encode_adm(self, **kwargs): + augmentation = kwargs.get("augmentation_level", 0) + + out = [] + out.append(self.embedder(torch.flatten(torch.Tensor([augmentation])))) + + flat = torch.flatten(torch.cat(out)).unsqueeze(dim=0) + return flat + +class SV3D_p(SVD_img2vid): + def __init__(self, model_config, model_type=ModelType.V_PREDICTION_EDM, device=None): + super().__init__(model_config, model_type, device=device) + self.embedder_512 = Timestep(512) + + def encode_adm(self, **kwargs): + augmentation = kwargs.get("augmentation_level", 0) + elevation = kwargs.get("elevation", 0) #elevation and azimuth are in degrees here + azimuth = kwargs.get("azimuth", 0) + noise = kwargs.get("noise", None) + + out = [] + out.append(self.embedder(torch.flatten(torch.Tensor([augmentation])))) + out.append(self.embedder_512(torch.deg2rad(torch.fmod(torch.flatten(90 - torch.Tensor([elevation])), 360.0)))) + out.append(self.embedder_512(torch.deg2rad(torch.fmod(torch.flatten(torch.Tensor([azimuth])), 360.0)))) + + out = list(map(lambda a: utils.resize_to_batch_size(a, noise.shape[0]), out)) + return torch.cat(out, dim=1) + + +class Stable_Zero123(BaseModel): + def __init__(self, model_config, model_type=ModelType.EPS, device=None, cc_projection_weight=None, cc_projection_bias=None): + super().__init__(model_config, model_type, device=device) + self.cc_projection = comfy.ops.manual_cast.Linear(cc_projection_weight.shape[1], cc_projection_weight.shape[0], dtype=self.get_dtype(), device=device) + self.cc_projection.weight.copy_(cc_projection_weight) + self.cc_projection.bias.copy_(cc_projection_bias) + + def extra_conds(self, **kwargs): + out = {} + + latent_image = kwargs.get("concat_latent_image", None) + noise = kwargs.get("noise", None) + + if latent_image is None: + latent_image = torch.zeros_like(noise) + + if latent_image.shape[1:] != noise.shape[1:]: + latent_image = utils.common_upscale(latent_image, noise.shape[-1], noise.shape[-2], "bilinear", "center") + + latent_image = utils.resize_to_batch_size(latent_image, noise.shape[0]) + + out['c_concat'] = comfy.conds.CONDNoiseShape(latent_image) + + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + if cross_attn.shape[-1] != 768: + cross_attn = self.cc_projection(cross_attn) + out['c_crossattn'] = comfy.conds.CONDCrossAttn(cross_attn) + return out + +class SD_X4Upscaler(BaseModel): + def __init__(self, model_config, model_type=ModelType.V_PREDICTION, device=None): + super().__init__(model_config, model_type, device=device) + self.noise_augmentor = ImageConcatWithNoiseAugmentation(noise_schedule_config={"linear_start": 0.0001, "linear_end": 0.02}, max_noise_level=350) + + def extra_conds(self, **kwargs): + out = {} + + image = kwargs.get("concat_image", None) + noise = kwargs.get("noise", None) + noise_augment = kwargs.get("noise_augmentation", 0.0) + device = kwargs["device"] + seed = kwargs["seed"] - 10 + + noise_level = round((self.noise_augmentor.max_noise_level) * noise_augment) + + if image is None: + image = torch.zeros_like(noise)[:,:3] + + if image.shape[1:] != noise.shape[1:]: + image = utils.common_upscale(image.to(device), noise.shape[-1], noise.shape[-2], "bilinear", "center") + + noise_level = torch.tensor([noise_level], device=device) + if noise_augment > 0: + image, noise_level = self.noise_augmentor(image.to(device), noise_level=noise_level, seed=seed) + + image = utils.resize_to_batch_size(image, noise.shape[0]) + + out['c_concat'] = comfy.conds.CONDNoiseShape(image) + out['y'] = comfy.conds.CONDRegular(noise_level) + return out + +class IP2P: + def concat_cond(self, **kwargs): + image = kwargs.get("concat_latent_image", None) + noise = kwargs.get("noise", None) + device = kwargs["device"] + + if image is None: + image = torch.zeros_like(noise) + + if image.shape[1:] != noise.shape[1:]: + image = utils.common_upscale(image.to(device), noise.shape[-1], noise.shape[-2], "bilinear", "center") + + image = utils.resize_to_batch_size(image, noise.shape[0]) + return self.process_ip2p_image_in(image) + + +class SD15_instructpix2pix(IP2P, BaseModel): + def __init__(self, model_config, model_type=ModelType.EPS, device=None): + super().__init__(model_config, model_type, device=device) + self.process_ip2p_image_in = lambda image: image + + +class SDXL_instructpix2pix(IP2P, SDXL): + def __init__(self, model_config, model_type=ModelType.EPS, device=None): + super().__init__(model_config, model_type, device=device) + if model_type == ModelType.V_PREDICTION_EDM: + self.process_ip2p_image_in = lambda image: comfy.latent_formats.SDXL().process_in(image) #cosxl ip2p + else: + self.process_ip2p_image_in = lambda image: image #diffusers ip2p + + +class StableCascade_C(BaseModel): + def __init__(self, model_config, model_type=ModelType.STABLE_CASCADE, device=None): + super().__init__(model_config, model_type, device=device, unet_model=StageC) + self.diffusion_model.eval().requires_grad_(False) + + def extra_conds(self, **kwargs): + out = {} + clip_text_pooled = kwargs["pooled_output"] + if clip_text_pooled is not None: + out['clip_text_pooled'] = comfy.conds.CONDRegular(clip_text_pooled) + + if "unclip_conditioning" in kwargs: + embeds = [] + for unclip_cond in kwargs["unclip_conditioning"]: + weight = unclip_cond["strength"] + embeds.append(unclip_cond["clip_vision_output"].image_embeds.unsqueeze(0) * weight) + clip_img = torch.cat(embeds, dim=1) + else: + clip_img = torch.zeros((1, 1, 768)) + out["clip_img"] = comfy.conds.CONDRegular(clip_img) + out["sca"] = comfy.conds.CONDRegular(torch.zeros((1,))) + out["crp"] = comfy.conds.CONDRegular(torch.zeros((1,))) + + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['clip_text'] = comfy.conds.CONDCrossAttn(cross_attn) + return out + + +class StableCascade_B(BaseModel): + def __init__(self, model_config, model_type=ModelType.STABLE_CASCADE, device=None): + super().__init__(model_config, model_type, device=device, unet_model=StageB) + self.diffusion_model.eval().requires_grad_(False) + + def extra_conds(self, **kwargs): + out = {} + noise = kwargs.get("noise", None) + + clip_text_pooled = kwargs["pooled_output"] + if clip_text_pooled is not None: + out['clip'] = comfy.conds.CONDRegular(clip_text_pooled) + + #size of prior doesn't really matter if zeros because it gets resized but I still want it to get batched + prior = kwargs.get("stable_cascade_prior", torch.zeros((1, 16, (noise.shape[2] * 4) // 42, (noise.shape[3] * 4) // 42), dtype=noise.dtype, layout=noise.layout, device=noise.device)) + + out["effnet"] = comfy.conds.CONDRegular(prior) + out["sca"] = comfy.conds.CONDRegular(torch.zeros((1,))) + return out + + +class SD3(BaseModel): + def __init__(self, model_config, model_type=ModelType.FLOW, device=None): + super().__init__(model_config, model_type, device=device, unet_model=OpenAISignatureMMDITWrapper) + + def encode_adm(self, **kwargs): + return kwargs["pooled_output"] + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + return out + + +class AuraFlow(BaseModel): + def __init__(self, model_config, model_type=ModelType.FLOW, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.aura.mmdit.MMDiT) + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + return out + + +class StableAudio1(BaseModel): + def __init__(self, model_config, seconds_start_embedder_weights, seconds_total_embedder_weights, model_type=ModelType.V_PREDICTION_CONTINUOUS, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.audio.dit.AudioDiffusionTransformer) + self.seconds_start_embedder = comfy.ldm.audio.embedders.NumberConditioner(768, min_val=0, max_val=512) + self.seconds_total_embedder = comfy.ldm.audio.embedders.NumberConditioner(768, min_val=0, max_val=512) + self.seconds_start_embedder.load_state_dict(seconds_start_embedder_weights) + self.seconds_total_embedder.load_state_dict(seconds_total_embedder_weights) + + def extra_conds(self, **kwargs): + out = {} + + noise = kwargs.get("noise", None) + device = kwargs["device"] + + seconds_start = kwargs.get("seconds_start", 0) + seconds_total = kwargs.get("seconds_total", int(noise.shape[-1] / 21.53)) + + seconds_start_embed = self.seconds_start_embedder([seconds_start])[0].to(device) + seconds_total_embed = self.seconds_total_embedder([seconds_total])[0].to(device) + + global_embed = torch.cat([seconds_start_embed, seconds_total_embed], dim=-1).reshape((1, -1)) + out['global_embed'] = comfy.conds.CONDRegular(global_embed) + + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + cross_attn = torch.cat([cross_attn.to(device), seconds_start_embed.repeat((cross_attn.shape[0], 1, 1)), seconds_total_embed.repeat((cross_attn.shape[0], 1, 1))], dim=1) + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + return out + + def state_dict_for_saving(self, clip_state_dict=None, vae_state_dict=None, clip_vision_state_dict=None): + sd = super().state_dict_for_saving(clip_state_dict=clip_state_dict, vae_state_dict=vae_state_dict, clip_vision_state_dict=clip_vision_state_dict) + d = {"conditioner.conditioners.seconds_start.": self.seconds_start_embedder.state_dict(), "conditioner.conditioners.seconds_total.": self.seconds_total_embedder.state_dict()} + for k in d: + s = d[k] + for l in s: + sd["{}{}".format(k, l)] = s[l] + return sd + + +class HunyuanDiT(BaseModel): + def __init__(self, model_config, model_type=ModelType.V_PREDICTION, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.hydit.models.HunYuanDiT) + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + + attention_mask = kwargs.get("attention_mask", None) + if attention_mask is not None: + out['text_embedding_mask'] = comfy.conds.CONDRegular(attention_mask) + + conditioning_mt5xl = kwargs.get("conditioning_mt5xl", None) + if conditioning_mt5xl is not None: + out['encoder_hidden_states_t5'] = comfy.conds.CONDRegular(conditioning_mt5xl) + + attention_mask_mt5xl = kwargs.get("attention_mask_mt5xl", None) + if attention_mask_mt5xl is not None: + out['text_embedding_mask_t5'] = comfy.conds.CONDRegular(attention_mask_mt5xl) + + width = kwargs.get("width", 768) + height = kwargs.get("height", 768) + target_width = kwargs.get("target_width", width) + target_height = kwargs.get("target_height", height) + + out['image_meta_size'] = comfy.conds.CONDRegular(torch.FloatTensor([[height, width, target_height, target_width, 0, 0]])) + return out + +class PixArt(BaseModel): + def __init__(self, model_config, model_type=ModelType.EPS, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.pixart.pixartms.PixArtMS) + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + + width = kwargs.get("width", None) + height = kwargs.get("height", None) + if width is not None and height is not None: + out["c_size"] = comfy.conds.CONDRegular(torch.FloatTensor([[height, width]])) + out["c_ar"] = comfy.conds.CONDRegular(torch.FloatTensor([[kwargs.get("aspect_ratio", height/width)]])) + + return out + +class Flux(BaseModel): + def __init__(self, model_config, model_type=ModelType.FLUX, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.flux.model.Flux) + + def concat_cond(self, **kwargs): + try: + #Handle Flux control loras dynamically changing the img_in weight. + num_channels = self.diffusion_model.img_in.weight.shape[1] // (self.diffusion_model.patch_size * self.diffusion_model.patch_size) + except: + #Some cases like tensorrt might not have the weights accessible + num_channels = self.model_config.unet_config["in_channels"] + + out_channels = self.model_config.unet_config["out_channels"] + + if num_channels <= out_channels: + return None + + image = kwargs.get("concat_latent_image", None) + noise = kwargs.get("noise", None) + device = kwargs["device"] + + if image is None: + image = torch.zeros_like(noise) + + image = utils.common_upscale(image.to(device), noise.shape[-1], noise.shape[-2], "bilinear", "center") + image = utils.resize_to_batch_size(image, noise.shape[0]) + image = self.process_latent_in(image) + if num_channels <= out_channels * 2: + return image + + #inpaint model + mask = kwargs.get("concat_mask", kwargs.get("denoise_mask", None)) + if mask is None: + mask = torch.ones_like(noise)[:, :1] + + mask = torch.mean(mask, dim=1, keepdim=True) + mask = utils.common_upscale(mask.to(device), noise.shape[-1] * 8, noise.shape[-2] * 8, "bilinear", "center") + mask = mask.view(mask.shape[0], mask.shape[2] // 8, 8, mask.shape[3] // 8, 8).permute(0, 2, 4, 1, 3).reshape(mask.shape[0], -1, mask.shape[2] // 8, mask.shape[3] // 8) + mask = utils.resize_to_batch_size(mask, noise.shape[0]) + return torch.cat((image, mask), dim=1) + + def encode_adm(self, **kwargs): + return kwargs["pooled_output"] + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + # upscale the attention mask, since now we + attention_mask = kwargs.get("attention_mask", None) + if attention_mask is not None: + shape = kwargs["noise"].shape + mask_ref_size = kwargs["attention_mask_img_shape"] + # the model will pad to the patch size, and then divide + # essentially dividing and rounding up + (h_tok, w_tok) = (math.ceil(shape[2] / self.diffusion_model.patch_size), math.ceil(shape[3] / self.diffusion_model.patch_size)) + attention_mask = utils.upscale_dit_mask(attention_mask, mask_ref_size, (h_tok, w_tok)) + out['attention_mask'] = comfy.conds.CONDRegular(attention_mask) + out['guidance'] = comfy.conds.CONDRegular(torch.FloatTensor([kwargs.get("guidance", 3.5)])) + return out + +class GenmoMochi(BaseModel): + def __init__(self, model_config, model_type=ModelType.FLOW, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.genmo.joint_model.asymm_models_joint.AsymmDiTJoint) + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + attention_mask = kwargs.get("attention_mask", None) + if attention_mask is not None: + out['attention_mask'] = comfy.conds.CONDRegular(attention_mask) + out['num_tokens'] = comfy.conds.CONDConstant(max(1, torch.sum(attention_mask).item())) + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + return out + +class LTXV(BaseModel): + def __init__(self, model_config, model_type=ModelType.FLUX, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.lightricks.model.LTXVModel) #TODO + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + attention_mask = kwargs.get("attention_mask", None) + if attention_mask is not None: + out['attention_mask'] = comfy.conds.CONDRegular(attention_mask) + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + + guiding_latent = kwargs.get("guiding_latent", None) + if guiding_latent is not None: + out['guiding_latent'] = comfy.conds.CONDRegular(guiding_latent) + + guiding_latent_noise_scale = kwargs.get("guiding_latent_noise_scale", None) + if guiding_latent_noise_scale is not None: + out["guiding_latent_noise_scale"] = comfy.conds.CONDConstant(guiding_latent_noise_scale) + + out['frame_rate'] = comfy.conds.CONDConstant(kwargs.get("frame_rate", 25)) + return out + +class HunyuanVideo(BaseModel): + def __init__(self, model_config, model_type=ModelType.FLOW, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.hunyuan_video.model.HunyuanVideo) + + def encode_adm(self, **kwargs): + return kwargs["pooled_output"] + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + attention_mask = kwargs.get("attention_mask", None) + if attention_mask is not None: + out['attention_mask'] = comfy.conds.CONDRegular(attention_mask) + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + out['guidance'] = comfy.conds.CONDRegular(torch.FloatTensor([kwargs.get("guidance", 6.0)])) + return out + +class CosmosVideo(BaseModel): + def __init__(self, model_config, model_type=ModelType.EDM, image_to_video=False, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.cosmos.model.GeneralDIT) + self.image_to_video = image_to_video + if self.image_to_video: + self.concat_keys = ("mask_inverted",) + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + attention_mask = kwargs.get("attention_mask", None) + if attention_mask is not None: + out['attention_mask'] = comfy.conds.CONDRegular(attention_mask) + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + + out['fps'] = comfy.conds.CONDConstant(kwargs.get("frame_rate", None)) + return out + + def scale_latent_inpaint(self, sigma, noise, latent_image, **kwargs): + sigma = sigma.reshape([sigma.shape[0]] + [1] * (len(noise.shape) - 1)) + sigma_noise_augmentation = 0 #TODO + if sigma_noise_augmentation != 0: + latent_image = latent_image + noise + latent_image = self.model_sampling.calculate_input(torch.tensor([sigma_noise_augmentation], device=latent_image.device, dtype=latent_image.dtype), latent_image) + return latent_image * ((sigma ** 2 + self.model_sampling.sigma_data ** 2) ** 0.5) diff --git a/comfy/model_detection.py b/comfy/model_detection.py new file mode 100644 index 0000000000000000000000000000000000000000..ba96ebe85be39baefa1047dd190cadf5bd09470d --- /dev/null +++ b/comfy/model_detection.py @@ -0,0 +1,701 @@ +import comfy.supported_models +import comfy.supported_models_base +import comfy.utils +import math +import logging +import torch + +def count_blocks(state_dict_keys, prefix_string): + count = 0 + while True: + c = False + for k in state_dict_keys: + if k.startswith(prefix_string.format(count)): + c = True + break + if c == False: + break + count += 1 + return count + +def calculate_transformer_depth(prefix, state_dict_keys, state_dict): + context_dim = None + use_linear_in_transformer = False + + transformer_prefix = prefix + "1.transformer_blocks." + transformer_keys = sorted(list(filter(lambda a: a.startswith(transformer_prefix), state_dict_keys))) + if len(transformer_keys) > 0: + last_transformer_depth = count_blocks(state_dict_keys, transformer_prefix + '{}') + context_dim = state_dict['{}0.attn2.to_k.weight'.format(transformer_prefix)].shape[1] + use_linear_in_transformer = len(state_dict['{}1.proj_in.weight'.format(prefix)].shape) == 2 + time_stack = '{}1.time_stack.0.attn1.to_q.weight'.format(prefix) in state_dict or '{}1.time_mix_blocks.0.attn1.to_q.weight'.format(prefix) in state_dict + time_stack_cross = '{}1.time_stack.0.attn2.to_q.weight'.format(prefix) in state_dict or '{}1.time_mix_blocks.0.attn2.to_q.weight'.format(prefix) in state_dict + return last_transformer_depth, context_dim, use_linear_in_transformer, time_stack, time_stack_cross + return None + +def detect_unet_config(state_dict, key_prefix): + state_dict_keys = list(state_dict.keys()) + + if '{}joint_blocks.0.context_block.attn.qkv.weight'.format(key_prefix) in state_dict_keys: #mmdit model + unet_config = {} + unet_config["in_channels"] = state_dict['{}x_embedder.proj.weight'.format(key_prefix)].shape[1] + patch_size = state_dict['{}x_embedder.proj.weight'.format(key_prefix)].shape[2] + unet_config["patch_size"] = patch_size + final_layer = '{}final_layer.linear.weight'.format(key_prefix) + if final_layer in state_dict: + unet_config["out_channels"] = state_dict[final_layer].shape[0] // (patch_size * patch_size) + + unet_config["depth"] = state_dict['{}x_embedder.proj.weight'.format(key_prefix)].shape[0] // 64 + unet_config["input_size"] = None + y_key = '{}y_embedder.mlp.0.weight'.format(key_prefix) + if y_key in state_dict_keys: + unet_config["adm_in_channels"] = state_dict[y_key].shape[1] + + context_key = '{}context_embedder.weight'.format(key_prefix) + if context_key in state_dict_keys: + in_features = state_dict[context_key].shape[1] + out_features = state_dict[context_key].shape[0] + unet_config["context_embedder_config"] = {"target": "torch.nn.Linear", "params": {"in_features": in_features, "out_features": out_features}} + num_patches_key = '{}pos_embed'.format(key_prefix) + if num_patches_key in state_dict_keys: + num_patches = state_dict[num_patches_key].shape[1] + unet_config["num_patches"] = num_patches + unet_config["pos_embed_max_size"] = round(math.sqrt(num_patches)) + + rms_qk = '{}joint_blocks.0.context_block.attn.ln_q.weight'.format(key_prefix) + if rms_qk in state_dict_keys: + unet_config["qk_norm"] = "rms" + + unet_config["pos_embed_scaling_factor"] = None #unused for inference + context_processor = '{}context_processor.layers.0.attn.qkv.weight'.format(key_prefix) + if context_processor in state_dict_keys: + unet_config["context_processor_layers"] = count_blocks(state_dict_keys, '{}context_processor.layers.'.format(key_prefix) + '{}.') + unet_config["x_block_self_attn_layers"] = [] + for key in state_dict_keys: + if key.startswith('{}joint_blocks.'.format(key_prefix)) and key.endswith('.x_block.attn2.qkv.weight'): + layer = key[len('{}joint_blocks.'.format(key_prefix)):-len('.x_block.attn2.qkv.weight')] + unet_config["x_block_self_attn_layers"].append(int(layer)) + return unet_config + + if '{}clf.1.weight'.format(key_prefix) in state_dict_keys: #stable cascade + unet_config = {} + text_mapper_name = '{}clip_txt_mapper.weight'.format(key_prefix) + if text_mapper_name in state_dict_keys: + unet_config['stable_cascade_stage'] = 'c' + w = state_dict[text_mapper_name] + if w.shape[0] == 1536: #stage c lite + unet_config['c_cond'] = 1536 + unet_config['c_hidden'] = [1536, 1536] + unet_config['nhead'] = [24, 24] + unet_config['blocks'] = [[4, 12], [12, 4]] + elif w.shape[0] == 2048: #stage c full + unet_config['c_cond'] = 2048 + elif '{}clip_mapper.weight'.format(key_prefix) in state_dict_keys: + unet_config['stable_cascade_stage'] = 'b' + w = state_dict['{}down_blocks.1.0.channelwise.0.weight'.format(key_prefix)] + if w.shape[-1] == 640: + unet_config['c_hidden'] = [320, 640, 1280, 1280] + unet_config['nhead'] = [-1, -1, 20, 20] + unet_config['blocks'] = [[2, 6, 28, 6], [6, 28, 6, 2]] + unet_config['block_repeat'] = [[1, 1, 1, 1], [3, 3, 2, 2]] + elif w.shape[-1] == 576: #stage b lite + unet_config['c_hidden'] = [320, 576, 1152, 1152] + unet_config['nhead'] = [-1, 9, 18, 18] + unet_config['blocks'] = [[2, 4, 14, 4], [4, 14, 4, 2]] + unet_config['block_repeat'] = [[1, 1, 1, 1], [2, 2, 2, 2]] + return unet_config + + if '{}transformer.rotary_pos_emb.inv_freq'.format(key_prefix) in state_dict_keys: #stable audio dit + unet_config = {} + unet_config["audio_model"] = "dit1.0" + return unet_config + + if '{}double_layers.0.attn.w1q.weight'.format(key_prefix) in state_dict_keys: #aura flow dit + unet_config = {} + unet_config["max_seq"] = state_dict['{}positional_encoding'.format(key_prefix)].shape[1] + unet_config["cond_seq_dim"] = state_dict['{}cond_seq_linear.weight'.format(key_prefix)].shape[1] + double_layers = count_blocks(state_dict_keys, '{}double_layers.'.format(key_prefix) + '{}.') + single_layers = count_blocks(state_dict_keys, '{}single_layers.'.format(key_prefix) + '{}.') + unet_config["n_double_layers"] = double_layers + unet_config["n_layers"] = double_layers + single_layers + return unet_config + + if '{}mlp_t5.0.weight'.format(key_prefix) in state_dict_keys: #Hunyuan DiT + unet_config = {} + unet_config["image_model"] = "hydit" + unet_config["depth"] = count_blocks(state_dict_keys, '{}blocks.'.format(key_prefix) + '{}.') + unet_config["hidden_size"] = state_dict['{}x_embedder.proj.weight'.format(key_prefix)].shape[0] + if unet_config["hidden_size"] == 1408 and unet_config["depth"] == 40: #DiT-g/2 + unet_config["mlp_ratio"] = 4.3637 + if state_dict['{}extra_embedder.0.weight'.format(key_prefix)].shape[1] == 3968: + unet_config["size_cond"] = True + unet_config["use_style_cond"] = True + unet_config["image_model"] = "hydit1" + return unet_config + + if '{}txt_in.individual_token_refiner.blocks.0.norm1.weight'.format(key_prefix) in state_dict_keys: #Hunyuan Video + dit_config = {} + dit_config["image_model"] = "hunyuan_video" + dit_config["in_channels"] = 16 + dit_config["patch_size"] = [1, 2, 2] + dit_config["out_channels"] = 16 + dit_config["vec_in_dim"] = 768 + dit_config["context_in_dim"] = 4096 + dit_config["hidden_size"] = 3072 + dit_config["mlp_ratio"] = 4.0 + dit_config["num_heads"] = 24 + dit_config["depth"] = count_blocks(state_dict_keys, '{}double_blocks.'.format(key_prefix) + '{}.') + dit_config["depth_single_blocks"] = count_blocks(state_dict_keys, '{}single_blocks.'.format(key_prefix) + '{}.') + dit_config["axes_dim"] = [16, 56, 56] + dit_config["theta"] = 256 + dit_config["qkv_bias"] = True + guidance_keys = list(filter(lambda a: a.startswith("{}guidance_in.".format(key_prefix)), state_dict_keys)) + dit_config["guidance_embed"] = len(guidance_keys) > 0 + return dit_config + + if '{}double_blocks.0.img_attn.norm.key_norm.scale'.format(key_prefix) in state_dict_keys: #Flux + dit_config = {} + dit_config["image_model"] = "flux" + dit_config["in_channels"] = 16 + patch_size = 2 + dit_config["patch_size"] = patch_size + in_key = "{}img_in.weight".format(key_prefix) + if in_key in state_dict_keys: + dit_config["in_channels"] = state_dict[in_key].shape[1] // (patch_size * patch_size) + dit_config["out_channels"] = 16 + dit_config["vec_in_dim"] = 768 + dit_config["context_in_dim"] = 4096 + dit_config["hidden_size"] = 3072 + dit_config["mlp_ratio"] = 4.0 + dit_config["num_heads"] = 24 + dit_config["depth"] = count_blocks(state_dict_keys, '{}double_blocks.'.format(key_prefix) + '{}.') + dit_config["depth_single_blocks"] = count_blocks(state_dict_keys, '{}single_blocks.'.format(key_prefix) + '{}.') + dit_config["axes_dim"] = [16, 56, 56] + dit_config["theta"] = 10000 + dit_config["qkv_bias"] = True + dit_config["guidance_embed"] = "{}guidance_in.in_layer.weight".format(key_prefix) in state_dict_keys + return dit_config + + if '{}t5_yproj.weight'.format(key_prefix) in state_dict_keys: #Genmo mochi preview + dit_config = {} + dit_config["image_model"] = "mochi_preview" + dit_config["depth"] = 48 + dit_config["patch_size"] = 2 + dit_config["num_heads"] = 24 + dit_config["hidden_size_x"] = 3072 + dit_config["hidden_size_y"] = 1536 + dit_config["mlp_ratio_x"] = 4.0 + dit_config["mlp_ratio_y"] = 4.0 + dit_config["learn_sigma"] = False + dit_config["in_channels"] = 12 + dit_config["qk_norm"] = True + dit_config["qkv_bias"] = False + dit_config["out_bias"] = True + dit_config["attn_drop"] = 0.0 + dit_config["patch_embed_bias"] = True + dit_config["posenc_preserve_area"] = True + dit_config["timestep_mlp_bias"] = True + dit_config["attend_to_padding"] = False + dit_config["timestep_scale"] = 1000.0 + dit_config["use_t5"] = True + dit_config["t5_feat_dim"] = 4096 + dit_config["t5_token_length"] = 256 + dit_config["rope_theta"] = 10000.0 + return dit_config + + if '{}adaln_single.emb.timestep_embedder.linear_1.bias'.format(key_prefix) in state_dict_keys and '{}pos_embed.proj.bias'.format(key_prefix) in state_dict_keys: + # PixArt diffusers + return None + + if '{}adaln_single.emb.timestep_embedder.linear_1.bias'.format(key_prefix) in state_dict_keys: #Lightricks ltxv + dit_config = {} + dit_config["image_model"] = "ltxv" + return dit_config + + if '{}t_block.1.weight'.format(key_prefix) in state_dict_keys: # PixArt + patch_size = 2 + dit_config = {} + dit_config["num_heads"] = 16 + dit_config["patch_size"] = patch_size + dit_config["hidden_size"] = 1152 + dit_config["in_channels"] = 4 + dit_config["depth"] = count_blocks(state_dict_keys, '{}blocks.'.format(key_prefix) + '{}.') + + y_key = "{}y_embedder.y_embedding".format(key_prefix) + if y_key in state_dict_keys: + dit_config["model_max_length"] = state_dict[y_key].shape[0] + + pe_key = "{}pos_embed".format(key_prefix) + if pe_key in state_dict_keys: + dit_config["input_size"] = int(math.sqrt(state_dict[pe_key].shape[1])) * patch_size + dit_config["pe_interpolation"] = dit_config["input_size"] // (512//8) # guess + + ar_key = "{}ar_embedder.mlp.0.weight".format(key_prefix) + if ar_key in state_dict_keys: + dit_config["image_model"] = "pixart_alpha" + dit_config["micro_condition"] = True + else: + dit_config["image_model"] = "pixart_sigma" + dit_config["micro_condition"] = False + return dit_config + + if '{}blocks.block0.blocks.0.block.attn.to_q.0.weight'.format(key_prefix) in state_dict_keys: + dit_config = {} + dit_config["image_model"] = "cosmos" + dit_config["max_img_h"] = 240 + dit_config["max_img_w"] = 240 + dit_config["max_frames"] = 128 + concat_padding_mask = True + dit_config["in_channels"] = (state_dict['{}x_embedder.proj.1.weight'.format(key_prefix)].shape[1] // 4) - int(concat_padding_mask) + dit_config["out_channels"] = 16 + dit_config["patch_spatial"] = 2 + dit_config["patch_temporal"] = 1 + dit_config["model_channels"] = state_dict['{}blocks.block0.blocks.0.block.attn.to_q.0.weight'.format(key_prefix)].shape[0] + dit_config["block_config"] = "FA-CA-MLP" + dit_config["concat_padding_mask"] = concat_padding_mask + dit_config["pos_emb_cls"] = "rope3d" + dit_config["pos_emb_learnable"] = False + dit_config["pos_emb_interpolation"] = "crop" + dit_config["block_x_format"] = "THWBD" + dit_config["affline_emb_norm"] = True + dit_config["use_adaln_lora"] = True + dit_config["adaln_lora_dim"] = 256 + + if dit_config["model_channels"] == 4096: + # 7B + dit_config["num_blocks"] = 28 + dit_config["num_heads"] = 32 + dit_config["extra_per_block_abs_pos_emb"] = True + dit_config["rope_h_extrapolation_ratio"] = 1.0 + dit_config["rope_w_extrapolation_ratio"] = 1.0 + dit_config["rope_t_extrapolation_ratio"] = 2.0 + dit_config["extra_per_block_abs_pos_emb_type"] = "learnable" + else: # 5120 + # 14B + dit_config["num_blocks"] = 36 + dit_config["num_heads"] = 40 + dit_config["extra_per_block_abs_pos_emb"] = True + dit_config["rope_h_extrapolation_ratio"] = 2.0 + dit_config["rope_w_extrapolation_ratio"] = 2.0 + dit_config["rope_t_extrapolation_ratio"] = 2.0 + dit_config["extra_h_extrapolation_ratio"] = 2.0 + dit_config["extra_w_extrapolation_ratio"] = 2.0 + dit_config["extra_t_extrapolation_ratio"] = 2.0 + dit_config["extra_per_block_abs_pos_emb_type"] = "learnable" + return dit_config + + if '{}input_blocks.0.0.weight'.format(key_prefix) not in state_dict_keys: + return None + + unet_config = { + "use_checkpoint": False, + "image_size": 32, + "use_spatial_transformer": True, + "legacy": False + } + + y_input = '{}label_emb.0.0.weight'.format(key_prefix) + if y_input in state_dict_keys: + unet_config["num_classes"] = "sequential" + unet_config["adm_in_channels"] = state_dict[y_input].shape[1] + else: + unet_config["adm_in_channels"] = None + + model_channels = state_dict['{}input_blocks.0.0.weight'.format(key_prefix)].shape[0] + in_channels = state_dict['{}input_blocks.0.0.weight'.format(key_prefix)].shape[1] + + out_key = '{}out.2.weight'.format(key_prefix) + if out_key in state_dict: + out_channels = state_dict[out_key].shape[0] + else: + out_channels = 4 + + num_res_blocks = [] + channel_mult = [] + transformer_depth = [] + transformer_depth_output = [] + context_dim = None + use_linear_in_transformer = False + + video_model = False + video_model_cross = False + + current_res = 1 + count = 0 + + last_res_blocks = 0 + last_channel_mult = 0 + + input_block_count = count_blocks(state_dict_keys, '{}input_blocks'.format(key_prefix) + '.{}.') + for count in range(input_block_count): + prefix = '{}input_blocks.{}.'.format(key_prefix, count) + prefix_output = '{}output_blocks.{}.'.format(key_prefix, input_block_count - count - 1) + + block_keys = sorted(list(filter(lambda a: a.startswith(prefix), state_dict_keys))) + if len(block_keys) == 0: + break + + block_keys_output = sorted(list(filter(lambda a: a.startswith(prefix_output), state_dict_keys))) + + if "{}0.op.weight".format(prefix) in block_keys: #new layer + num_res_blocks.append(last_res_blocks) + channel_mult.append(last_channel_mult) + + current_res *= 2 + last_res_blocks = 0 + last_channel_mult = 0 + out = calculate_transformer_depth(prefix_output, state_dict_keys, state_dict) + if out is not None: + transformer_depth_output.append(out[0]) + else: + transformer_depth_output.append(0) + else: + res_block_prefix = "{}0.in_layers.0.weight".format(prefix) + if res_block_prefix in block_keys: + last_res_blocks += 1 + last_channel_mult = state_dict["{}0.out_layers.3.weight".format(prefix)].shape[0] // model_channels + + out = calculate_transformer_depth(prefix, state_dict_keys, state_dict) + if out is not None: + transformer_depth.append(out[0]) + if context_dim is None: + context_dim = out[1] + use_linear_in_transformer = out[2] + video_model = out[3] + video_model_cross = out[4] + else: + transformer_depth.append(0) + + res_block_prefix = "{}0.in_layers.0.weight".format(prefix_output) + if res_block_prefix in block_keys_output: + out = calculate_transformer_depth(prefix_output, state_dict_keys, state_dict) + if out is not None: + transformer_depth_output.append(out[0]) + else: + transformer_depth_output.append(0) + + + num_res_blocks.append(last_res_blocks) + channel_mult.append(last_channel_mult) + if "{}middle_block.1.proj_in.weight".format(key_prefix) in state_dict_keys: + transformer_depth_middle = count_blocks(state_dict_keys, '{}middle_block.1.transformer_blocks.'.format(key_prefix) + '{}') + elif "{}middle_block.0.in_layers.0.weight".format(key_prefix) in state_dict_keys: + transformer_depth_middle = -1 + else: + transformer_depth_middle = -2 + + unet_config["in_channels"] = in_channels + unet_config["out_channels"] = out_channels + unet_config["model_channels"] = model_channels + unet_config["num_res_blocks"] = num_res_blocks + unet_config["transformer_depth"] = transformer_depth + unet_config["transformer_depth_output"] = transformer_depth_output + unet_config["channel_mult"] = channel_mult + unet_config["transformer_depth_middle"] = transformer_depth_middle + unet_config['use_linear_in_transformer'] = use_linear_in_transformer + unet_config["context_dim"] = context_dim + + if video_model: + unet_config["extra_ff_mix_layer"] = True + unet_config["use_spatial_context"] = True + unet_config["merge_strategy"] = "learned_with_images" + unet_config["merge_factor"] = 0.0 + unet_config["video_kernel_size"] = [3, 1, 1] + unet_config["use_temporal_resblock"] = True + unet_config["use_temporal_attention"] = True + unet_config["disable_temporal_crossattention"] = not video_model_cross + else: + unet_config["use_temporal_resblock"] = False + unet_config["use_temporal_attention"] = False + + return unet_config + +def model_config_from_unet_config(unet_config, state_dict=None): + for model_config in comfy.supported_models.models: + if model_config.matches(unet_config, state_dict): + return model_config(unet_config) + + logging.error("no match {}".format(unet_config)) + return None + +def model_config_from_unet(state_dict, unet_key_prefix, use_base_if_no_match=False): + unet_config = detect_unet_config(state_dict, unet_key_prefix) + if unet_config is None: + return None + model_config = model_config_from_unet_config(unet_config, state_dict) + if model_config is None and use_base_if_no_match: + model_config = comfy.supported_models_base.BASE(unet_config) + + scaled_fp8_key = "{}scaled_fp8".format(unet_key_prefix) + if scaled_fp8_key in state_dict: + scaled_fp8_weight = state_dict.pop(scaled_fp8_key) + model_config.scaled_fp8 = scaled_fp8_weight.dtype + if model_config.scaled_fp8 == torch.float32: + model_config.scaled_fp8 = torch.float8_e4m3fn + + return model_config + +def unet_prefix_from_state_dict(state_dict): + candidates = ["model.diffusion_model.", #ldm/sgm models + "model.model.", #audio models + "net.", #cosmos + ] + counts = {k: 0 for k in candidates} + for k in state_dict: + for c in candidates: + if k.startswith(c): + counts[c] += 1 + break + + top = max(counts, key=counts.get) + if counts[top] > 5: + return top + else: + return "model." #aura flow and others + + +def convert_config(unet_config): + new_config = unet_config.copy() + num_res_blocks = new_config.get("num_res_blocks", None) + channel_mult = new_config.get("channel_mult", None) + + if isinstance(num_res_blocks, int): + num_res_blocks = len(channel_mult) * [num_res_blocks] + + if "attention_resolutions" in new_config: + attention_resolutions = new_config.pop("attention_resolutions") + transformer_depth = new_config.get("transformer_depth", None) + transformer_depth_middle = new_config.get("transformer_depth_middle", None) + + if isinstance(transformer_depth, int): + transformer_depth = len(channel_mult) * [transformer_depth] + if transformer_depth_middle is None: + transformer_depth_middle = transformer_depth[-1] + t_in = [] + t_out = [] + s = 1 + for i in range(len(num_res_blocks)): + res = num_res_blocks[i] + d = 0 + if s in attention_resolutions: + d = transformer_depth[i] + + t_in += [d] * res + t_out += [d] * (res + 1) + s *= 2 + transformer_depth = t_in + new_config["transformer_depth"] = t_in + new_config["transformer_depth_output"] = t_out + new_config["transformer_depth_middle"] = transformer_depth_middle + + new_config["num_res_blocks"] = num_res_blocks + return new_config + + +def unet_config_from_diffusers_unet(state_dict, dtype=None): + match = {} + transformer_depth = [] + + attn_res = 1 + down_blocks = count_blocks(state_dict, "down_blocks.{}") + for i in range(down_blocks): + attn_blocks = count_blocks(state_dict, "down_blocks.{}.attentions.".format(i) + '{}') + res_blocks = count_blocks(state_dict, "down_blocks.{}.resnets.".format(i) + '{}') + for ab in range(attn_blocks): + transformer_count = count_blocks(state_dict, "down_blocks.{}.attentions.{}.transformer_blocks.".format(i, ab) + '{}') + transformer_depth.append(transformer_count) + if transformer_count > 0: + match["context_dim"] = state_dict["down_blocks.{}.attentions.{}.transformer_blocks.0.attn2.to_k.weight".format(i, ab)].shape[1] + + attn_res *= 2 + if attn_blocks == 0: + for i in range(res_blocks): + transformer_depth.append(0) + + match["transformer_depth"] = transformer_depth + + match["model_channels"] = state_dict["conv_in.weight"].shape[0] + match["in_channels"] = state_dict["conv_in.weight"].shape[1] + match["adm_in_channels"] = None + if "class_embedding.linear_1.weight" in state_dict: + match["adm_in_channels"] = state_dict["class_embedding.linear_1.weight"].shape[1] + elif "add_embedding.linear_1.weight" in state_dict: + match["adm_in_channels"] = state_dict["add_embedding.linear_1.weight"].shape[1] + + SDXL = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'num_classes': 'sequential', 'adm_in_channels': 2816, 'dtype': dtype, 'in_channels': 4, 'model_channels': 320, + 'num_res_blocks': [2, 2, 2], 'transformer_depth': [0, 0, 2, 2, 10, 10], 'channel_mult': [1, 2, 4], 'transformer_depth_middle': 10, + 'use_linear_in_transformer': True, 'context_dim': 2048, 'num_head_channels': 64, 'transformer_depth_output': [0, 0, 0, 2, 2, 2, 10, 10, 10], + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + SDXL_refiner = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'num_classes': 'sequential', 'adm_in_channels': 2560, 'dtype': dtype, 'in_channels': 4, 'model_channels': 384, + 'num_res_blocks': [2, 2, 2, 2], 'transformer_depth': [0, 0, 4, 4, 4, 4, 0, 0], 'channel_mult': [1, 2, 4, 4], 'transformer_depth_middle': 4, + 'use_linear_in_transformer': True, 'context_dim': 1280, 'num_head_channels': 64, 'transformer_depth_output': [0, 0, 0, 4, 4, 4, 4, 4, 4, 0, 0, 0], + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + SD21 = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'adm_in_channels': None, 'dtype': dtype, 'in_channels': 4, 'model_channels': 320, 'num_res_blocks': [2, 2, 2, 2], + 'transformer_depth': [1, 1, 1, 1, 1, 1, 0, 0], 'channel_mult': [1, 2, 4, 4], 'transformer_depth_middle': 1, 'use_linear_in_transformer': True, + 'context_dim': 1024, 'num_head_channels': 64, 'transformer_depth_output': [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0], + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + SD21_uncliph = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'num_classes': 'sequential', 'adm_in_channels': 2048, 'dtype': dtype, 'in_channels': 4, 'model_channels': 320, + 'num_res_blocks': [2, 2, 2, 2], 'transformer_depth': [1, 1, 1, 1, 1, 1, 0, 0], 'channel_mult': [1, 2, 4, 4], 'transformer_depth_middle': 1, + 'use_linear_in_transformer': True, 'context_dim': 1024, 'num_head_channels': 64, 'transformer_depth_output': [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0], + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + SD21_unclipl = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'num_classes': 'sequential', 'adm_in_channels': 1536, 'dtype': dtype, 'in_channels': 4, 'model_channels': 320, + 'num_res_blocks': [2, 2, 2, 2], 'transformer_depth': [1, 1, 1, 1, 1, 1, 0, 0], 'channel_mult': [1, 2, 4, 4], 'transformer_depth_middle': 1, + 'use_linear_in_transformer': True, 'context_dim': 1024, 'num_head_channels': 64, 'transformer_depth_output': [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0], + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + SD15 = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, 'adm_in_channels': None, + 'dtype': dtype, 'in_channels': 4, 'model_channels': 320, 'num_res_blocks': [2, 2, 2, 2], 'transformer_depth': [1, 1, 1, 1, 1, 1, 0, 0], + 'channel_mult': [1, 2, 4, 4], 'transformer_depth_middle': 1, 'use_linear_in_transformer': False, 'context_dim': 768, 'num_heads': 8, + 'transformer_depth_output': [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0], + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + SDXL_mid_cnet = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'num_classes': 'sequential', 'adm_in_channels': 2816, 'dtype': dtype, 'in_channels': 4, 'model_channels': 320, + 'num_res_blocks': [2, 2, 2], 'transformer_depth': [0, 0, 0, 0, 1, 1], 'channel_mult': [1, 2, 4], 'transformer_depth_middle': 1, + 'use_linear_in_transformer': True, 'context_dim': 2048, 'num_head_channels': 64, 'transformer_depth_output': [0, 0, 0, 0, 0, 0, 1, 1, 1], + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + SDXL_small_cnet = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'num_classes': 'sequential', 'adm_in_channels': 2816, 'dtype': dtype, 'in_channels': 4, 'model_channels': 320, + 'num_res_blocks': [2, 2, 2], 'transformer_depth': [0, 0, 0, 0, 0, 0], 'channel_mult': [1, 2, 4], 'transformer_depth_middle': 0, + 'use_linear_in_transformer': True, 'num_head_channels': 64, 'context_dim': 1, 'transformer_depth_output': [0, 0, 0, 0, 0, 0, 0, 0, 0], + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + SDXL_diffusers_inpaint = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'num_classes': 'sequential', 'adm_in_channels': 2816, 'dtype': dtype, 'in_channels': 9, 'model_channels': 320, + 'num_res_blocks': [2, 2, 2], 'transformer_depth': [0, 0, 2, 2, 10, 10], 'channel_mult': [1, 2, 4], 'transformer_depth_middle': 10, + 'use_linear_in_transformer': True, 'context_dim': 2048, 'num_head_channels': 64, 'transformer_depth_output': [0, 0, 0, 2, 2, 2, 10, 10, 10], + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + SDXL_diffusers_ip2p = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'num_classes': 'sequential', 'adm_in_channels': 2816, 'dtype': dtype, 'in_channels': 8, 'model_channels': 320, + 'num_res_blocks': [2, 2, 2], 'transformer_depth': [0, 0, 2, 2, 10, 10], 'channel_mult': [1, 2, 4], 'transformer_depth_middle': 10, + 'use_linear_in_transformer': True, 'context_dim': 2048, 'num_head_channels': 64, 'transformer_depth_output': [0, 0, 0, 2, 2, 2, 10, 10, 10], + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + SSD_1B = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'num_classes': 'sequential', 'adm_in_channels': 2816, 'dtype': dtype, 'in_channels': 4, 'model_channels': 320, + 'num_res_blocks': [2, 2, 2], 'transformer_depth': [0, 0, 2, 2, 4, 4], 'transformer_depth_output': [0, 0, 0, 1, 1, 2, 10, 4, 4], + 'channel_mult': [1, 2, 4], 'transformer_depth_middle': -1, 'use_linear_in_transformer': True, 'context_dim': 2048, 'num_head_channels': 64, + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + Segmind_Vega = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'num_classes': 'sequential', 'adm_in_channels': 2816, 'dtype': dtype, 'in_channels': 4, 'model_channels': 320, + 'num_res_blocks': [2, 2, 2], 'transformer_depth': [0, 0, 1, 1, 2, 2], 'transformer_depth_output': [0, 0, 0, 1, 1, 1, 2, 2, 2], + 'channel_mult': [1, 2, 4], 'transformer_depth_middle': -1, 'use_linear_in_transformer': True, 'context_dim': 2048, 'num_head_channels': 64, + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + KOALA_700M = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'num_classes': 'sequential', 'adm_in_channels': 2816, 'dtype': dtype, 'in_channels': 4, 'model_channels': 320, + 'num_res_blocks': [1, 1, 1], 'transformer_depth': [0, 2, 5], 'transformer_depth_output': [0, 0, 2, 2, 5, 5], + 'channel_mult': [1, 2, 4], 'transformer_depth_middle': -2, 'use_linear_in_transformer': True, 'context_dim': 2048, 'num_head_channels': 64, + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + KOALA_1B = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'num_classes': 'sequential', 'adm_in_channels': 2816, 'dtype': dtype, 'in_channels': 4, 'model_channels': 320, + 'num_res_blocks': [1, 1, 1], 'transformer_depth': [0, 2, 6], 'transformer_depth_output': [0, 0, 2, 2, 6, 6], + 'channel_mult': [1, 2, 4], 'transformer_depth_middle': 6, 'use_linear_in_transformer': True, 'context_dim': 2048, 'num_head_channels': 64, + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + SD09_XS = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'adm_in_channels': None, 'dtype': dtype, 'in_channels': 4, 'model_channels': 320, 'num_res_blocks': [1, 1, 1], + 'transformer_depth': [1, 1, 1], 'channel_mult': [1, 2, 4], 'transformer_depth_middle': -2, 'use_linear_in_transformer': True, + 'context_dim': 1024, 'num_head_channels': 64, 'transformer_depth_output': [1, 1, 1, 1, 1, 1], + 'use_temporal_attention': False, 'use_temporal_resblock': False, 'disable_self_attentions': [True, False, False]} + + SD_XS = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, + 'adm_in_channels': None, 'dtype': dtype, 'in_channels': 4, 'model_channels': 320, 'num_res_blocks': [1, 1, 1], + 'transformer_depth': [0, 1, 1], 'channel_mult': [1, 2, 4], 'transformer_depth_middle': -2, 'use_linear_in_transformer': False, + 'context_dim': 768, 'num_head_channels': 64, 'transformer_depth_output': [0, 0, 1, 1, 1, 1], + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + SD15_diffusers_inpaint = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, 'adm_in_channels': None, + 'dtype': dtype, 'in_channels': 9, 'model_channels': 320, 'num_res_blocks': [2, 2, 2, 2], 'transformer_depth': [1, 1, 1, 1, 1, 1, 0, 0], + 'channel_mult': [1, 2, 4, 4], 'transformer_depth_middle': 1, 'use_linear_in_transformer': False, 'context_dim': 768, 'num_heads': 8, + 'transformer_depth_output': [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0], + 'use_temporal_attention': False, 'use_temporal_resblock': False} + + + supported_models = [SDXL, SDXL_refiner, SD21, SD15, SD21_uncliph, SD21_unclipl, SDXL_mid_cnet, SDXL_small_cnet, SDXL_diffusers_inpaint, SSD_1B, Segmind_Vega, KOALA_700M, KOALA_1B, SD09_XS, SD_XS, SDXL_diffusers_ip2p, SD15_diffusers_inpaint] + + for unet_config in supported_models: + matches = True + for k in match: + if match[k] != unet_config[k]: + matches = False + break + if matches: + return convert_config(unet_config) + return None + +def model_config_from_diffusers_unet(state_dict): + unet_config = unet_config_from_diffusers_unet(state_dict) + if unet_config is not None: + return model_config_from_unet_config(unet_config) + return None + +def convert_diffusers_mmdit(state_dict, output_prefix=""): + out_sd = {} + + if 'joint_transformer_blocks.0.attn.add_k_proj.weight' in state_dict: #AuraFlow + num_joint = count_blocks(state_dict, 'joint_transformer_blocks.{}.') + num_single = count_blocks(state_dict, 'single_transformer_blocks.{}.') + sd_map = comfy.utils.auraflow_to_diffusers({"n_double_layers": num_joint, "n_layers": num_joint + num_single}, output_prefix=output_prefix) + elif 'adaln_single.emb.timestep_embedder.linear_1.bias' in state_dict and 'pos_embed.proj.bias' in state_dict: # PixArt + num_blocks = count_blocks(state_dict, 'transformer_blocks.{}.') + sd_map = comfy.utils.pixart_to_diffusers({"depth": num_blocks}, output_prefix=output_prefix) + elif 'x_embedder.weight' in state_dict: #Flux + depth = count_blocks(state_dict, 'transformer_blocks.{}.') + depth_single_blocks = count_blocks(state_dict, 'single_transformer_blocks.{}.') + hidden_size = state_dict["x_embedder.bias"].shape[0] + sd_map = comfy.utils.flux_to_diffusers({"depth": depth, "depth_single_blocks": depth_single_blocks, "hidden_size": hidden_size}, output_prefix=output_prefix) + elif 'transformer_blocks.0.attn.add_q_proj.weight' in state_dict: #SD3 + num_blocks = count_blocks(state_dict, 'transformer_blocks.{}.') + depth = state_dict["pos_embed.proj.weight"].shape[0] // 64 + sd_map = comfy.utils.mmdit_to_diffusers({"depth": depth, "num_blocks": num_blocks}, output_prefix=output_prefix) + else: + return None + + for k in sd_map: + weight = state_dict.get(k, None) + if weight is not None: + t = sd_map[k] + + if not isinstance(t, str): + if len(t) > 2: + fun = t[2] + else: + fun = lambda a: a + offset = t[1] + if offset is not None: + old_weight = out_sd.get(t[0], None) + if old_weight is None: + old_weight = torch.empty_like(weight) + if old_weight.shape[offset[0]] < offset[1] + offset[2]: + exp = list(weight.shape) + exp[offset[0]] = offset[1] + offset[2] + new = torch.empty(exp, device=weight.device, dtype=weight.dtype) + new[:old_weight.shape[0]] = old_weight + old_weight = new + + w = old_weight.narrow(offset[0], offset[1], offset[2]) + else: + old_weight = weight + w = weight + w[:] = fun(weight) + t = t[0] + out_sd[t] = old_weight + else: + out_sd[t] = weight + state_dict.pop(k) + + return out_sd diff --git a/comfy/model_management.py b/comfy/model_management.py new file mode 100644 index 0000000000000000000000000000000000000000..f6dfc18b02b6dd3b8b26ca49a4b0ee2150b78f50 --- /dev/null +++ b/comfy/model_management.py @@ -0,0 +1,1158 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Comfy + + 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 . +""" + +import psutil +import logging +from enum import Enum +from comfy.cli_args import args +import torch +import sys +import platform +import weakref +import gc + +class VRAMState(Enum): + DISABLED = 0 #No vram present: no need to move models to vram + NO_VRAM = 1 #Very low vram: enable all the options to save vram + LOW_VRAM = 2 + NORMAL_VRAM = 3 + HIGH_VRAM = 4 + SHARED = 5 #No dedicated vram: memory shared between CPU and GPU but models still need to be moved between both. + +class CPUState(Enum): + GPU = 0 + CPU = 1 + MPS = 2 + +# Determine VRAM State +vram_state = VRAMState.NORMAL_VRAM +set_vram_to = VRAMState.NORMAL_VRAM +cpu_state = CPUState.GPU + +total_vram = 0 + +xpu_available = False +torch_version = "" +try: + torch_version = torch.version.__version__ + xpu_available = (int(torch_version[0]) < 2 or (int(torch_version[0]) == 2 and int(torch_version[2]) <= 4)) and torch.xpu.is_available() +except: + pass + +lowvram_available = True +if args.deterministic: + logging.info("Using deterministic algorithms for pytorch") + torch.use_deterministic_algorithms(True, warn_only=True) + +directml_enabled = False +if args.directml is not None: + import torch_directml + directml_enabled = True + device_index = args.directml + if device_index < 0: + directml_device = torch_directml.device() + else: + directml_device = torch_directml.device(device_index) + logging.info("Using directml with device: {}".format(torch_directml.device_name(device_index))) + # torch_directml.disable_tiled_resources(True) + lowvram_available = False #TODO: need to find a way to get free memory in directml before this can be enabled by default. + +try: + import intel_extension_for_pytorch as ipex + _ = torch.xpu.device_count() + xpu_available = xpu_available or torch.xpu.is_available() +except: + xpu_available = xpu_available or (hasattr(torch, "xpu") and torch.xpu.is_available()) + +try: + if torch.backends.mps.is_available(): + cpu_state = CPUState.MPS + import torch.mps +except: + pass + +try: + import torch_npu # noqa: F401 + _ = torch.npu.device_count() + npu_available = torch.npu.is_available() +except: + npu_available = False + +if args.cpu: + cpu_state = CPUState.CPU + +def is_intel_xpu(): + global cpu_state + global xpu_available + if cpu_state == CPUState.GPU: + if xpu_available: + return True + return False + +def is_ascend_npu(): + global npu_available + if npu_available: + return True + return False + +def get_torch_device(): + global directml_enabled + global cpu_state + if directml_enabled: + global directml_device + return directml_device + if cpu_state == CPUState.MPS: + return torch.device("mps") + if cpu_state == CPUState.CPU: + return torch.device("cpu") + else: + if is_intel_xpu(): + return torch.device("xpu", torch.xpu.current_device()) + elif is_ascend_npu(): + return torch.device("npu", torch.npu.current_device()) + else: + return torch.device(torch.cuda.current_device()) + +def get_total_memory(dev=None, torch_total_too=False): + global directml_enabled + if dev is None: + dev = get_torch_device() + + if hasattr(dev, 'type') and (dev.type == 'cpu' or dev.type == 'mps'): + mem_total = psutil.virtual_memory().total + mem_total_torch = mem_total + else: + if directml_enabled: + mem_total = 1024 * 1024 * 1024 #TODO + mem_total_torch = mem_total + elif is_intel_xpu(): + stats = torch.xpu.memory_stats(dev) + mem_reserved = stats['reserved_bytes.all.current'] + mem_total_torch = mem_reserved + mem_total = torch.xpu.get_device_properties(dev).total_memory + elif is_ascend_npu(): + stats = torch.npu.memory_stats(dev) + mem_reserved = stats['reserved_bytes.all.current'] + _, mem_total_npu = torch.npu.mem_get_info(dev) + mem_total_torch = mem_reserved + mem_total = mem_total_npu + else: + stats = torch.cuda.memory_stats(dev) + mem_reserved = stats['reserved_bytes.all.current'] + _, mem_total_cuda = torch.cuda.mem_get_info(dev) + mem_total_torch = mem_reserved + mem_total = mem_total_cuda + + if torch_total_too: + return (mem_total, mem_total_torch) + else: + return mem_total + +total_vram = get_total_memory(get_torch_device()) / (1024 * 1024) +total_ram = psutil.virtual_memory().total / (1024 * 1024) +logging.info("Total VRAM {:0.0f} MB, total RAM {:0.0f} MB".format(total_vram, total_ram)) + +try: + logging.info("pytorch version: {}".format(torch_version)) +except: + pass + +try: + OOM_EXCEPTION = torch.cuda.OutOfMemoryError +except: + OOM_EXCEPTION = Exception + +XFORMERS_VERSION = "" +XFORMERS_ENABLED_VAE = True +if args.disable_xformers: + XFORMERS_IS_AVAILABLE = False +else: + try: + import xformers + import xformers.ops + XFORMERS_IS_AVAILABLE = True + try: + XFORMERS_IS_AVAILABLE = xformers._has_cpp_library + except: + pass + try: + XFORMERS_VERSION = xformers.version.__version__ + logging.info("xformers version: {}".format(XFORMERS_VERSION)) + if XFORMERS_VERSION.startswith("0.0.18"): + logging.warning("\nWARNING: This version of xformers has a major bug where you will get black images when generating high resolution images.") + logging.warning("Please downgrade or upgrade xformers to a different version.\n") + XFORMERS_ENABLED_VAE = False + except: + pass + except: + XFORMERS_IS_AVAILABLE = False + +def is_nvidia(): + global cpu_state + if cpu_state == CPUState.GPU: + if torch.version.cuda: + return True + return False + +def is_amd(): + global cpu_state + if cpu_state == CPUState.GPU: + if torch.version.hip: + return True + return False + +MIN_WEIGHT_MEMORY_RATIO = 0.4 +if is_nvidia(): + MIN_WEIGHT_MEMORY_RATIO = 0.2 + +ENABLE_PYTORCH_ATTENTION = False +if args.use_pytorch_cross_attention: + ENABLE_PYTORCH_ATTENTION = True + XFORMERS_IS_AVAILABLE = False + +try: + if is_nvidia(): + if int(torch_version[0]) >= 2: + if ENABLE_PYTORCH_ATTENTION == False and args.use_split_cross_attention == False and args.use_quad_cross_attention == False: + ENABLE_PYTORCH_ATTENTION = True + if is_intel_xpu() or is_ascend_npu(): + if args.use_split_cross_attention == False and args.use_quad_cross_attention == False: + ENABLE_PYTORCH_ATTENTION = True +except: + pass + +if ENABLE_PYTORCH_ATTENTION: + torch.backends.cuda.enable_math_sdp(True) + torch.backends.cuda.enable_flash_sdp(True) + torch.backends.cuda.enable_mem_efficient_sdp(True) + +try: + if int(torch_version[0]) == 2 and int(torch_version[2]) >= 5: + torch.backends.cuda.allow_fp16_bf16_reduction_math_sdp(True) +except: + logging.warning("Warning, could not set allow_fp16_bf16_reduction_math_sdp") + +if args.lowvram: + set_vram_to = VRAMState.LOW_VRAM + lowvram_available = True +elif args.novram: + set_vram_to = VRAMState.NO_VRAM +elif args.highvram or args.gpu_only: + vram_state = VRAMState.HIGH_VRAM + +FORCE_FP32 = False +FORCE_FP16 = False +if args.force_fp32: + logging.info("Forcing FP32, if this improves things please report it.") + FORCE_FP32 = True + +if args.force_fp16: + logging.info("Forcing FP16.") + FORCE_FP16 = True + +if lowvram_available: + if set_vram_to in (VRAMState.LOW_VRAM, VRAMState.NO_VRAM): + vram_state = set_vram_to + + +if cpu_state != CPUState.GPU: + vram_state = VRAMState.DISABLED + +if cpu_state == CPUState.MPS: + vram_state = VRAMState.SHARED + +logging.info(f"Set vram state to: {vram_state.name}") + +DISABLE_SMART_MEMORY = args.disable_smart_memory + +if DISABLE_SMART_MEMORY: + logging.info("Disabling smart memory management") + +def get_torch_device_name(device): + if hasattr(device, 'type'): + if device.type == "cuda": + try: + allocator_backend = torch.cuda.get_allocator_backend() + except: + allocator_backend = "" + return "{} {} : {}".format(device, torch.cuda.get_device_name(device), allocator_backend) + else: + return "{}".format(device.type) + elif is_intel_xpu(): + return "{} {}".format(device, torch.xpu.get_device_name(device)) + elif is_ascend_npu(): + return "{} {}".format(device, torch.npu.get_device_name(device)) + else: + return "CUDA {}: {}".format(device, torch.cuda.get_device_name(device)) + +try: + logging.info("Device: {}".format(get_torch_device_name(get_torch_device()))) +except: + logging.warning("Could not pick default device.") + + +current_loaded_models = [] + +def module_size(module): + module_mem = 0 + sd = module.state_dict() + for k in sd: + t = sd[k] + module_mem += t.nelement() * t.element_size() + return module_mem + +class LoadedModel: + def __init__(self, model): + self._set_model(model) + self.device = model.load_device + self.real_model = None + self.currently_used = True + self.model_finalizer = None + self._patcher_finalizer = None + + def _set_model(self, model): + self._model = weakref.ref(model) + if model.parent is not None: + self._parent_model = weakref.ref(model.parent) + self._patcher_finalizer = weakref.finalize(model, self._switch_parent) + + def _switch_parent(self): + model = self._parent_model() + if model is not None: + self._set_model(model) + + @property + def model(self): + return self._model() + + def model_memory(self): + return self.model.model_size() + + def model_loaded_memory(self): + return self.model.loaded_size() + + def model_offloaded_memory(self): + return self.model.model_size() - self.model.loaded_size() + + def model_memory_required(self, device): + if device == self.model.current_loaded_device(): + return self.model_offloaded_memory() + else: + return self.model_memory() + + def model_load(self, lowvram_model_memory=0, force_patch_weights=False): + self.model.model_patches_to(self.device) + self.model.model_patches_to(self.model.model_dtype()) + + # if self.model.loaded_size() > 0: + use_more_vram = lowvram_model_memory + if use_more_vram == 0: + use_more_vram = 1e32 + self.model_use_more_vram(use_more_vram, force_patch_weights=force_patch_weights) + real_model = self.model.model + + if is_intel_xpu() and not args.disable_ipex_optimize and 'ipex' in globals() and real_model is not None: + with torch.no_grad(): + real_model = ipex.optimize(real_model.eval(), inplace=True, graph_mode=True, concat_linear=True) + + self.real_model = weakref.ref(real_model) + self.model_finalizer = weakref.finalize(real_model, cleanup_models) + return real_model + + def should_reload_model(self, force_patch_weights=False): + if force_patch_weights and self.model.lowvram_patch_counter() > 0: + return True + return False + + def model_unload(self, memory_to_free=None, unpatch_weights=True): + if memory_to_free is not None: + if memory_to_free < self.model.loaded_size(): + freed = self.model.partially_unload(self.model.offload_device, memory_to_free) + if freed >= memory_to_free: + return False + self.model.detach(unpatch_weights) + self.model_finalizer.detach() + self.model_finalizer = None + self.real_model = None + return True + + def model_use_more_vram(self, extra_memory, force_patch_weights=False): + return self.model.partially_load(self.device, extra_memory, force_patch_weights=force_patch_weights) + + def __eq__(self, other): + return self.model is other.model + + def __del__(self): + if self._patcher_finalizer is not None: + self._patcher_finalizer.detach() + + def is_dead(self): + return self.real_model() is not None and self.model is None + + +def use_more_memory(extra_memory, loaded_models, device): + for m in loaded_models: + if m.device == device: + extra_memory -= m.model_use_more_vram(extra_memory) + if extra_memory <= 0: + break + +def offloaded_memory(loaded_models, device): + offloaded_mem = 0 + for m in loaded_models: + if m.device == device: + offloaded_mem += m.model_offloaded_memory() + return offloaded_mem + +WINDOWS = any(platform.win32_ver()) + +EXTRA_RESERVED_VRAM = 400 * 1024 * 1024 +if WINDOWS: + EXTRA_RESERVED_VRAM = 600 * 1024 * 1024 #Windows is higher because of the shared vram issue + +if args.reserve_vram is not None: + EXTRA_RESERVED_VRAM = args.reserve_vram * 1024 * 1024 * 1024 + logging.debug("Reserving {}MB vram for other applications.".format(EXTRA_RESERVED_VRAM / (1024 * 1024))) + +def extra_reserved_memory(): + return EXTRA_RESERVED_VRAM + +def minimum_inference_memory(): + return (1024 * 1024 * 1024) * 0.8 + extra_reserved_memory() + +def free_memory(memory_required, device, keep_loaded=[]): + cleanup_models_gc() + unloaded_model = [] + can_unload = [] + unloaded_models = [] + + for i in range(len(current_loaded_models) -1, -1, -1): + shift_model = current_loaded_models[i] + if shift_model.device == device: + if shift_model not in keep_loaded and not shift_model.is_dead(): + can_unload.append((-shift_model.model_offloaded_memory(), sys.getrefcount(shift_model.model), shift_model.model_memory(), i)) + shift_model.currently_used = False + + for x in sorted(can_unload): + i = x[-1] + memory_to_free = None + if not DISABLE_SMART_MEMORY: + free_mem = get_free_memory(device) + if free_mem > memory_required: + break + memory_to_free = memory_required - free_mem + logging.debug(f"Unloading {current_loaded_models[i].model.model.__class__.__name__}") + if current_loaded_models[i].model_unload(memory_to_free): + unloaded_model.append(i) + + for i in sorted(unloaded_model, reverse=True): + unloaded_models.append(current_loaded_models.pop(i)) + + if len(unloaded_model) > 0: + soft_empty_cache() + else: + if vram_state != VRAMState.HIGH_VRAM: + mem_free_total, mem_free_torch = get_free_memory(device, torch_free_too=True) + if mem_free_torch > mem_free_total * 0.25: + soft_empty_cache() + return unloaded_models + +def load_models_gpu(models, memory_required=0, force_patch_weights=False, minimum_memory_required=None, force_full_load=False): + cleanup_models_gc() + global vram_state + + inference_memory = minimum_inference_memory() + extra_mem = max(inference_memory, memory_required + extra_reserved_memory()) + if minimum_memory_required is None: + minimum_memory_required = extra_mem + else: + minimum_memory_required = max(inference_memory, minimum_memory_required + extra_reserved_memory()) + + models = set(models) + + models_to_load = [] + + for x in models: + loaded_model = LoadedModel(x) + try: + loaded_model_index = current_loaded_models.index(loaded_model) + except: + loaded_model_index = None + + if loaded_model_index is not None: + loaded = current_loaded_models[loaded_model_index] + loaded.currently_used = True + models_to_load.append(loaded) + else: + if hasattr(x, "model"): + logging.info(f"Requested to load {x.model.__class__.__name__}") + models_to_load.append(loaded_model) + + for loaded_model in models_to_load: + to_unload = [] + for i in range(len(current_loaded_models)): + if loaded_model.model.is_clone(current_loaded_models[i].model): + to_unload = [i] + to_unload + for i in to_unload: + current_loaded_models.pop(i).model.detach(unpatch_all=False) + + total_memory_required = {} + for loaded_model in models_to_load: + total_memory_required[loaded_model.device] = total_memory_required.get(loaded_model.device, 0) + loaded_model.model_memory_required(loaded_model.device) + + for device in total_memory_required: + if device != torch.device("cpu"): + free_memory(total_memory_required[device] * 1.1 + extra_mem, device) + + for device in total_memory_required: + if device != torch.device("cpu"): + free_mem = get_free_memory(device) + if free_mem < minimum_memory_required: + models_l = free_memory(minimum_memory_required, device) + logging.info("{} models unloaded.".format(len(models_l))) + + for loaded_model in models_to_load: + model = loaded_model.model + torch_dev = model.load_device + if is_device_cpu(torch_dev): + vram_set_state = VRAMState.DISABLED + else: + vram_set_state = vram_state + lowvram_model_memory = 0 + if lowvram_available and (vram_set_state == VRAMState.LOW_VRAM or vram_set_state == VRAMState.NORMAL_VRAM) and not force_full_load: + model_size = loaded_model.model_memory_required(torch_dev) + loaded_memory = loaded_model.model_loaded_memory() + current_free_mem = get_free_memory(torch_dev) + loaded_memory + + lowvram_model_memory = max(64 * 1024 * 1024, (current_free_mem - minimum_memory_required), min(current_free_mem * MIN_WEIGHT_MEMORY_RATIO, current_free_mem - minimum_inference_memory())) + lowvram_model_memory = max(0.1, lowvram_model_memory - loaded_memory) + if model_size <= lowvram_model_memory: #only switch to lowvram if really necessary + lowvram_model_memory = 0 + + if vram_set_state == VRAMState.NO_VRAM: + lowvram_model_memory = 0.1 + + loaded_model.model_load(lowvram_model_memory, force_patch_weights=force_patch_weights) + current_loaded_models.insert(0, loaded_model) + return + +def load_model_gpu(model): + return load_models_gpu([model]) + +def loaded_models(only_currently_used=False): + output = [] + for m in current_loaded_models: + if only_currently_used: + if not m.currently_used: + continue + + output.append(m.model) + return output + + +def cleanup_models_gc(): + do_gc = False + for i in range(len(current_loaded_models)): + cur = current_loaded_models[i] + if cur.is_dead(): + logging.info("Potential memory leak detected with model {}, doing a full garbage collect, for maximum performance avoid circular references in the model code.".format(cur.real_model().__class__.__name__)) + do_gc = True + break + + if do_gc: + gc.collect() + soft_empty_cache() + + for i in range(len(current_loaded_models)): + cur = current_loaded_models[i] + if cur.is_dead(): + logging.warning("WARNING, memory leak with model {}. Please make sure it is not being referenced from somewhere.".format(cur.real_model().__class__.__name__)) + + + +def cleanup_models(): + to_delete = [] + for i in range(len(current_loaded_models)): + if current_loaded_models[i].real_model() is None: + to_delete = [i] + to_delete + + for i in to_delete: + x = current_loaded_models.pop(i) + del x + +def dtype_size(dtype): + dtype_size = 4 + if dtype == torch.float16 or dtype == torch.bfloat16: + dtype_size = 2 + elif dtype == torch.float32: + dtype_size = 4 + else: + try: + dtype_size = dtype.itemsize + except: #Old pytorch doesn't have .itemsize + pass + return dtype_size + +def unet_offload_device(): + if vram_state == VRAMState.HIGH_VRAM: + return get_torch_device() + else: + return torch.device("cpu") + +def unet_inital_load_device(parameters, dtype): + torch_dev = get_torch_device() + if vram_state == VRAMState.HIGH_VRAM or vram_state == VRAMState.SHARED: + return torch_dev + + cpu_dev = torch.device("cpu") + if DISABLE_SMART_MEMORY: + return cpu_dev + + model_size = dtype_size(dtype) * parameters + + mem_dev = get_free_memory(torch_dev) + mem_cpu = get_free_memory(cpu_dev) + if mem_dev > mem_cpu and model_size < mem_dev: + return torch_dev + else: + return cpu_dev + +def maximum_vram_for_weights(device=None): + return (get_total_memory(device) * 0.88 - minimum_inference_memory()) + +def unet_dtype(device=None, model_params=0, supported_dtypes=[torch.float16, torch.bfloat16, torch.float32]): + if model_params < 0: + model_params = 1000000000000000000000 + if args.fp32_unet: + return torch.float32 + if args.fp64_unet: + return torch.float64 + if args.bf16_unet: + return torch.bfloat16 + if args.fp16_unet: + return torch.float16 + if args.fp8_e4m3fn_unet: + return torch.float8_e4m3fn + if args.fp8_e5m2_unet: + return torch.float8_e5m2 + + fp8_dtype = None + try: + for dtype in [torch.float8_e4m3fn, torch.float8_e5m2]: + if dtype in supported_dtypes: + fp8_dtype = dtype + break + except: + pass + + if fp8_dtype is not None: + if supports_fp8_compute(device): #if fp8 compute is supported the casting is most likely not expensive + return fp8_dtype + + free_model_memory = maximum_vram_for_weights(device) + if model_params * 2 > free_model_memory: + return fp8_dtype + + for dt in supported_dtypes: + if dt == torch.float16 and should_use_fp16(device=device, model_params=model_params): + if torch.float16 in supported_dtypes: + return torch.float16 + if dt == torch.bfloat16 and should_use_bf16(device, model_params=model_params): + if torch.bfloat16 in supported_dtypes: + return torch.bfloat16 + + for dt in supported_dtypes: + if dt == torch.float16 and should_use_fp16(device=device, model_params=model_params, manual_cast=True): + if torch.float16 in supported_dtypes: + return torch.float16 + if dt == torch.bfloat16 and should_use_bf16(device, model_params=model_params, manual_cast=True): + if torch.bfloat16 in supported_dtypes: + return torch.bfloat16 + + return torch.float32 + +# None means no manual cast +def unet_manual_cast(weight_dtype, inference_device, supported_dtypes=[torch.float16, torch.bfloat16, torch.float32]): + if weight_dtype == torch.float32 or weight_dtype == torch.float64: + return None + + fp16_supported = should_use_fp16(inference_device, prioritize_performance=False) + if fp16_supported and weight_dtype == torch.float16: + return None + + bf16_supported = should_use_bf16(inference_device) + if bf16_supported and weight_dtype == torch.bfloat16: + return None + + fp16_supported = should_use_fp16(inference_device, prioritize_performance=True) + for dt in supported_dtypes: + if dt == torch.float16 and fp16_supported: + return torch.float16 + if dt == torch.bfloat16 and bf16_supported: + return torch.bfloat16 + + return torch.float32 + +def text_encoder_offload_device(): + if args.gpu_only: + return get_torch_device() + else: + return torch.device("cpu") + +def text_encoder_device(): + if args.gpu_only: + return get_torch_device() + elif vram_state == VRAMState.HIGH_VRAM or vram_state == VRAMState.NORMAL_VRAM: + if should_use_fp16(prioritize_performance=False): + return get_torch_device() + else: + return torch.device("cpu") + else: + return torch.device("cpu") + +def text_encoder_initial_device(load_device, offload_device, model_size=0): + if load_device == offload_device or model_size <= 1024 * 1024 * 1024: + return offload_device + + if is_device_mps(load_device): + return load_device + + mem_l = get_free_memory(load_device) + mem_o = get_free_memory(offload_device) + if mem_l > (mem_o * 0.5) and model_size * 1.2 < mem_l: + return load_device + else: + return offload_device + +def text_encoder_dtype(device=None): + if args.fp8_e4m3fn_text_enc: + return torch.float8_e4m3fn + elif args.fp8_e5m2_text_enc: + return torch.float8_e5m2 + elif args.fp16_text_enc: + return torch.float16 + elif args.fp32_text_enc: + return torch.float32 + + if is_device_cpu(device): + return torch.float16 + + return torch.float16 + + +def intermediate_device(): + if args.gpu_only: + return get_torch_device() + else: + return torch.device("cpu") + +def vae_device(): + if args.cpu_vae: + return torch.device("cpu") + return get_torch_device() + +def vae_offload_device(): + if args.gpu_only: + return get_torch_device() + else: + return torch.device("cpu") + +def vae_dtype(device=None, allowed_dtypes=[]): + if args.fp16_vae: + return torch.float16 + elif args.bf16_vae: + return torch.bfloat16 + elif args.fp32_vae: + return torch.float32 + + for d in allowed_dtypes: + if d == torch.float16 and should_use_fp16(device): + return d + + # NOTE: bfloat16 seems to work on AMD for the VAE but is extremely slow in some cases compared to fp32 + if d == torch.bfloat16 and (not is_amd()) and should_use_bf16(device): + return d + + return torch.float32 + +def get_autocast_device(dev): + if hasattr(dev, 'type'): + return dev.type + return "cuda" + +def supports_dtype(device, dtype): #TODO + if dtype == torch.float32: + return True + if is_device_cpu(device): + return False + if dtype == torch.float16: + return True + if dtype == torch.bfloat16: + return True + return False + +def supports_cast(device, dtype): #TODO + if dtype == torch.float32: + return True + if dtype == torch.float16: + return True + if directml_enabled: #TODO: test this + return False + if dtype == torch.bfloat16: + return True + if is_device_mps(device): + return False + if dtype == torch.float8_e4m3fn: + return True + if dtype == torch.float8_e5m2: + return True + return False + +def pick_weight_dtype(dtype, fallback_dtype, device=None): + if dtype is None: + dtype = fallback_dtype + elif dtype_size(dtype) > dtype_size(fallback_dtype): + dtype = fallback_dtype + + if not supports_cast(device, dtype): + dtype = fallback_dtype + + return dtype + +def device_supports_non_blocking(device): + if is_device_mps(device): + return False #pytorch bug? mps doesn't support non blocking + if is_intel_xpu(): + return False + if args.deterministic: #TODO: figure out why deterministic breaks non blocking from gpu to cpu (previews) + return False + if directml_enabled: + return False + return True + +def device_should_use_non_blocking(device): + if not device_supports_non_blocking(device): + return False + return False + # return True #TODO: figure out why this causes memory issues on Nvidia and possibly others + +def force_channels_last(): + if args.force_channels_last: + return True + + #TODO + return False + +def cast_to(weight, dtype=None, device=None, non_blocking=False, copy=False): + if device is None or weight.device == device: + if not copy: + if dtype is None or weight.dtype == dtype: + return weight + return weight.to(dtype=dtype, copy=copy) + + r = torch.empty_like(weight, dtype=dtype, device=device) + r.copy_(weight, non_blocking=non_blocking) + return r + +def cast_to_device(tensor, device, dtype, copy=False): + non_blocking = device_supports_non_blocking(device) + return cast_to(tensor, dtype=dtype, device=device, non_blocking=non_blocking, copy=copy) + +def sage_attention_enabled(): + return args.use_sage_attention + +def xformers_enabled(): + global directml_enabled + global cpu_state + if cpu_state != CPUState.GPU: + return False + if is_intel_xpu(): + return False + if is_ascend_npu(): + return False + if directml_enabled: + return False + return XFORMERS_IS_AVAILABLE + + +def xformers_enabled_vae(): + enabled = xformers_enabled() + if not enabled: + return False + + return XFORMERS_ENABLED_VAE + +def pytorch_attention_enabled(): + global ENABLE_PYTORCH_ATTENTION + return ENABLE_PYTORCH_ATTENTION + +def pytorch_attention_flash_attention(): + global ENABLE_PYTORCH_ATTENTION + if ENABLE_PYTORCH_ATTENTION: + #TODO: more reliable way of checking for flash attention? + if is_nvidia(): #pytorch flash attention only works on Nvidia + return True + if is_intel_xpu(): + return True + if is_ascend_npu(): + return True + return False + +def mac_version(): + try: + return tuple(int(n) for n in platform.mac_ver()[0].split(".")) + except: + return None + +def force_upcast_attention_dtype(): + upcast = args.force_upcast_attention + + macos_version = mac_version() + if macos_version is not None and ((14, 5) <= macos_version <= (15, 2)): # black image bug on recent versions of macOS + upcast = True + + if upcast: + return torch.float32 + else: + return None + +def get_free_memory(dev=None, torch_free_too=False): + global directml_enabled + if dev is None: + dev = get_torch_device() + + if hasattr(dev, 'type') and (dev.type == 'cpu' or dev.type == 'mps'): + mem_free_total = psutil.virtual_memory().available + mem_free_torch = mem_free_total + else: + if directml_enabled: + mem_free_total = 1024 * 1024 * 1024 #TODO + mem_free_torch = mem_free_total + elif is_intel_xpu(): + stats = torch.xpu.memory_stats(dev) + mem_active = stats['active_bytes.all.current'] + mem_reserved = stats['reserved_bytes.all.current'] + mem_free_torch = mem_reserved - mem_active + mem_free_xpu = torch.xpu.get_device_properties(dev).total_memory - mem_reserved + mem_free_total = mem_free_xpu + mem_free_torch + elif is_ascend_npu(): + stats = torch.npu.memory_stats(dev) + mem_active = stats['active_bytes.all.current'] + mem_reserved = stats['reserved_bytes.all.current'] + mem_free_npu, _ = torch.npu.mem_get_info(dev) + mem_free_torch = mem_reserved - mem_active + mem_free_total = mem_free_npu + mem_free_torch + else: + stats = torch.cuda.memory_stats(dev) + mem_active = stats['active_bytes.all.current'] + mem_reserved = stats['reserved_bytes.all.current'] + mem_free_cuda, _ = torch.cuda.mem_get_info(dev) + mem_free_torch = mem_reserved - mem_active + mem_free_total = mem_free_cuda + mem_free_torch + + if torch_free_too: + return (mem_free_total, mem_free_torch) + else: + return mem_free_total + +def cpu_mode(): + global cpu_state + return cpu_state == CPUState.CPU + +def mps_mode(): + global cpu_state + return cpu_state == CPUState.MPS + +def is_device_type(device, type): + if hasattr(device, 'type'): + if (device.type == type): + return True + return False + +def is_device_cpu(device): + return is_device_type(device, 'cpu') + +def is_device_mps(device): + return is_device_type(device, 'mps') + +def is_device_cuda(device): + return is_device_type(device, 'cuda') + +def should_use_fp16(device=None, model_params=0, prioritize_performance=True, manual_cast=False): + global directml_enabled + + if device is not None: + if is_device_cpu(device): + return False + + if FORCE_FP16: + return True + + if FORCE_FP32: + return False + + if directml_enabled: + return False + + if (device is not None and is_device_mps(device)) or mps_mode(): + return True + + if cpu_mode(): + return False + + if is_intel_xpu(): + return True + + if is_ascend_npu(): + return True + + if torch.version.hip: + return True + + props = torch.cuda.get_device_properties(device) + if props.major >= 8: + return True + + if props.major < 6: + return False + + #FP16 is confirmed working on a 1080 (GP104) and on latest pytorch actually seems faster than fp32 + nvidia_10_series = ["1080", "1070", "titan x", "p3000", "p3200", "p4000", "p4200", "p5000", "p5200", "p6000", "1060", "1050", "p40", "p100", "p6", "p4"] + for x in nvidia_10_series: + if x in props.name.lower(): + if WINDOWS or manual_cast: + return True + else: + return False #weird linux behavior where fp32 is faster + + if manual_cast: + free_model_memory = maximum_vram_for_weights(device) + if (not prioritize_performance) or model_params * 4 > free_model_memory: + return True + + if props.major < 7: + return False + + #FP16 is just broken on these cards + nvidia_16_series = ["1660", "1650", "1630", "T500", "T550", "T600", "MX550", "MX450", "CMP 30HX", "T2000", "T1000", "T1200"] + for x in nvidia_16_series: + if x in props.name: + return False + + return True + +def should_use_bf16(device=None, model_params=0, prioritize_performance=True, manual_cast=False): + if device is not None: + if is_device_cpu(device): #TODO ? bf16 works on CPU but is extremely slow + return False + + if FORCE_FP32: + return False + + if directml_enabled: + return False + + if (device is not None and is_device_mps(device)) or mps_mode(): + if mac_version() < (14,): + return False + return True + + if cpu_mode(): + return False + + if is_intel_xpu(): + return True + + props = torch.cuda.get_device_properties(device) + if props.major >= 8: + return True + + bf16_works = torch.cuda.is_bf16_supported() + + if bf16_works or manual_cast: + free_model_memory = maximum_vram_for_weights(device) + if (not prioritize_performance) or model_params * 4 > free_model_memory: + return True + + return False + +def supports_fp8_compute(device=None): + if not is_nvidia(): + return False + + props = torch.cuda.get_device_properties(device) + if props.major >= 9: + return True + if props.major < 8: + return False + if props.minor < 9: + return False + + if int(torch_version[0]) < 2 or (int(torch_version[0]) == 2 and int(torch_version[2]) < 3): + return False + + if WINDOWS: + if (int(torch_version[0]) == 2 and int(torch_version[2]) < 4): + return False + + return True + +def soft_empty_cache(force=False): + global cpu_state + if cpu_state == CPUState.MPS: + torch.mps.empty_cache() + elif is_intel_xpu(): + torch.xpu.empty_cache() + elif is_ascend_npu(): + torch.npu.empty_cache() + elif torch.cuda.is_available(): + torch.cuda.empty_cache() + torch.cuda.ipc_collect() + +def unload_all_models(): + free_memory(1e30, get_torch_device()) + + +#TODO: might be cleaner to put this somewhere else +import threading + +class InterruptProcessingException(Exception): + pass + +interrupt_processing_mutex = threading.RLock() + +interrupt_processing = False +def interrupt_current_processing(value=True): + global interrupt_processing + global interrupt_processing_mutex + with interrupt_processing_mutex: + interrupt_processing = value + +def processing_interrupted(): + global interrupt_processing + global interrupt_processing_mutex + with interrupt_processing_mutex: + return interrupt_processing + +def throw_exception_if_processing_interrupted(): + global interrupt_processing + global interrupt_processing_mutex + with interrupt_processing_mutex: + if interrupt_processing: + interrupt_processing = False + raise InterruptProcessingException() diff --git a/comfy/model_patcher.py b/comfy/model_patcher.py new file mode 100644 index 0000000000000000000000000000000000000000..0501f7b3843555f30fa88055d47c76deca588492 --- /dev/null +++ b/comfy/model_patcher.py @@ -0,0 +1,1138 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Comfy + + 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 . +""" + +from __future__ import annotations +from typing import Optional, Callable +import torch +import copy +import inspect +import logging +import uuid +import collections +import math + +import comfy.utils +import comfy.float +import comfy.model_management +import comfy.lora +import comfy.hooks +import comfy.patcher_extension +from comfy.patcher_extension import CallbacksMP, WrappersMP, PatcherInjection +from comfy.comfy_types import UnetWrapperFunction + +def string_to_seed(data): + crc = 0xFFFFFFFF + for byte in data: + if isinstance(byte, str): + byte = ord(byte) + crc ^= byte + for _ in range(8): + if crc & 1: + crc = (crc >> 1) ^ 0xEDB88320 + else: + crc >>= 1 + return crc ^ 0xFFFFFFFF + +def set_model_options_patch_replace(model_options, patch, name, block_name, number, transformer_index=None): + to = model_options["transformer_options"].copy() + + if "patches_replace" not in to: + to["patches_replace"] = {} + else: + to["patches_replace"] = to["patches_replace"].copy() + + if name not in to["patches_replace"]: + to["patches_replace"][name] = {} + else: + to["patches_replace"][name] = to["patches_replace"][name].copy() + + if transformer_index is not None: + block = (block_name, number, transformer_index) + else: + block = (block_name, number) + to["patches_replace"][name][block] = patch + model_options["transformer_options"] = to + return model_options + +def set_model_options_post_cfg_function(model_options, post_cfg_function, disable_cfg1_optimization=False): + model_options["sampler_post_cfg_function"] = model_options.get("sampler_post_cfg_function", []) + [post_cfg_function] + if disable_cfg1_optimization: + model_options["disable_cfg1_optimization"] = True + return model_options + +def set_model_options_pre_cfg_function(model_options, pre_cfg_function, disable_cfg1_optimization=False): + model_options["sampler_pre_cfg_function"] = model_options.get("sampler_pre_cfg_function", []) + [pre_cfg_function] + if disable_cfg1_optimization: + model_options["disable_cfg1_optimization"] = True + return model_options + +def create_model_options_clone(orig_model_options: dict): + return comfy.patcher_extension.copy_nested_dicts(orig_model_options) + +def create_hook_patches_clone(orig_hook_patches): + new_hook_patches = {} + for hook_ref in orig_hook_patches: + new_hook_patches[hook_ref] = {} + for k in orig_hook_patches[hook_ref]: + new_hook_patches[hook_ref][k] = orig_hook_patches[hook_ref][k][:] + return new_hook_patches + +def wipe_lowvram_weight(m): + if hasattr(m, "prev_comfy_cast_weights"): + m.comfy_cast_weights = m.prev_comfy_cast_weights + del m.prev_comfy_cast_weights + m.weight_function = None + m.bias_function = None + +class LowVramPatch: + def __init__(self, key, patches): + self.key = key + self.patches = patches + def __call__(self, weight): + intermediate_dtype = weight.dtype + if intermediate_dtype not in [torch.float32, torch.float16, torch.bfloat16]: #intermediate_dtype has to be one that is supported in math ops + intermediate_dtype = torch.float32 + return comfy.float.stochastic_rounding(comfy.lora.calculate_weight(self.patches[self.key], weight.to(intermediate_dtype), self.key, intermediate_dtype=intermediate_dtype), weight.dtype, seed=string_to_seed(self.key)) + + return comfy.lora.calculate_weight(self.patches[self.key], weight, self.key, intermediate_dtype=intermediate_dtype) + +def get_key_weight(model, key): + set_func = None + convert_func = None + op_keys = key.rsplit('.', 1) + if len(op_keys) < 2: + weight = comfy.utils.get_attr(model, key) + else: + op = comfy.utils.get_attr(model, op_keys[0]) + try: + set_func = getattr(op, "set_{}".format(op_keys[1])) + except AttributeError: + pass + + try: + convert_func = getattr(op, "convert_{}".format(op_keys[1])) + except AttributeError: + pass + + weight = getattr(op, op_keys[1]) + if convert_func is not None: + weight = comfy.utils.get_attr(model, key) + + return weight, set_func, convert_func + +class AutoPatcherEjector: + def __init__(self, model: 'ModelPatcher', skip_and_inject_on_exit_only=False): + self.model = model + self.was_injected = False + self.prev_skip_injection = False + self.skip_and_inject_on_exit_only = skip_and_inject_on_exit_only + + def __enter__(self): + self.was_injected = False + self.prev_skip_injection = self.model.skip_injection + if self.skip_and_inject_on_exit_only: + self.model.skip_injection = True + if self.model.is_injected: + self.model.eject_model() + self.was_injected = True + + def __exit__(self, *args): + if self.skip_and_inject_on_exit_only: + self.model.skip_injection = self.prev_skip_injection + self.model.inject_model() + if self.was_injected and not self.model.skip_injection: + self.model.inject_model() + self.model.skip_injection = self.prev_skip_injection + +class MemoryCounter: + def __init__(self, initial: int, minimum=0): + self.value = initial + self.minimum = minimum + # TODO: add a safe limit besides 0 + + def use(self, weight: torch.Tensor): + weight_size = weight.nelement() * weight.element_size() + if self.is_useable(weight_size): + self.decrement(weight_size) + return True + return False + + def is_useable(self, used: int): + return self.value - used > self.minimum + + def decrement(self, used: int): + self.value -= used + +class ModelPatcher: + def __init__(self, model, load_device, offload_device, size=0, weight_inplace_update=False): + self.size = size + self.model = model + if not hasattr(self.model, 'device'): + logging.debug("Model doesn't have a device attribute.") + self.model.device = offload_device + elif self.model.device is None: + self.model.device = offload_device + + self.patches = {} + self.backup = {} + self.object_patches = {} + self.object_patches_backup = {} + self.model_options = {"transformer_options":{}} + self.model_size() + self.load_device = load_device + self.offload_device = offload_device + self.weight_inplace_update = weight_inplace_update + self.patches_uuid = uuid.uuid4() + self.parent = None + + self.attachments: dict[str] = {} + self.additional_models: dict[str, list[ModelPatcher]] = {} + self.callbacks: dict[str, dict[str, list[Callable]]] = CallbacksMP.init_callbacks() + self.wrappers: dict[str, dict[str, list[Callable]]] = WrappersMP.init_wrappers() + + self.is_injected = False + self.skip_injection = False + self.injections: dict[str, list[PatcherInjection]] = {} + + self.hook_patches: dict[comfy.hooks._HookRef] = {} + self.hook_patches_backup: dict[comfy.hooks._HookRef] = None + self.hook_backup: dict[str, tuple[torch.Tensor, torch.device]] = {} + self.cached_hook_patches: dict[comfy.hooks.HookGroup, dict[str, torch.Tensor]] = {} + self.current_hooks: Optional[comfy.hooks.HookGroup] = None + self.forced_hooks: Optional[comfy.hooks.HookGroup] = None # NOTE: only used for CLIP at this time + self.is_clip = False + self.hook_mode = comfy.hooks.EnumHookMode.MaxSpeed + + if not hasattr(self.model, 'model_loaded_weight_memory'): + self.model.model_loaded_weight_memory = 0 + + if not hasattr(self.model, 'lowvram_patch_counter'): + self.model.lowvram_patch_counter = 0 + + if not hasattr(self.model, 'model_lowvram'): + self.model.model_lowvram = False + + if not hasattr(self.model, 'current_weight_patches_uuid'): + self.model.current_weight_patches_uuid = None + + def model_size(self): + if self.size > 0: + return self.size + self.size = comfy.model_management.module_size(self.model) + return self.size + + def loaded_size(self): + return self.model.model_loaded_weight_memory + + def lowvram_patch_counter(self): + return self.model.lowvram_patch_counter + + def clone(self): + n = self.__class__(self.model, self.load_device, self.offload_device, self.size, weight_inplace_update=self.weight_inplace_update) + n.patches = {} + for k in self.patches: + n.patches[k] = self.patches[k][:] + n.patches_uuid = self.patches_uuid + + n.object_patches = self.object_patches.copy() + n.model_options = copy.deepcopy(self.model_options) + n.backup = self.backup + n.object_patches_backup = self.object_patches_backup + n.parent = self + + # attachments + n.attachments = {} + for k in self.attachments: + if hasattr(self.attachments[k], "on_model_patcher_clone"): + n.attachments[k] = self.attachments[k].on_model_patcher_clone() + else: + n.attachments[k] = self.attachments[k] + # additional models + for k, c in self.additional_models.items(): + n.additional_models[k] = [x.clone() for x in c] + # callbacks + for k, c in self.callbacks.items(): + n.callbacks[k] = {} + for k1, c1 in c.items(): + n.callbacks[k][k1] = c1.copy() + # sample wrappers + for k, w in self.wrappers.items(): + n.wrappers[k] = {} + for k1, w1 in w.items(): + n.wrappers[k][k1] = w1.copy() + # injection + n.is_injected = self.is_injected + n.skip_injection = self.skip_injection + for k, i in self.injections.items(): + n.injections[k] = i.copy() + # hooks + n.hook_patches = create_hook_patches_clone(self.hook_patches) + n.hook_patches_backup = create_hook_patches_clone(self.hook_patches_backup) if self.hook_patches_backup else self.hook_patches_backup + for group in self.cached_hook_patches: + n.cached_hook_patches[group] = {} + for k in self.cached_hook_patches[group]: + n.cached_hook_patches[group][k] = self.cached_hook_patches[group][k] + n.hook_backup = self.hook_backup + n.current_hooks = self.current_hooks.clone() if self.current_hooks else self.current_hooks + n.forced_hooks = self.forced_hooks.clone() if self.forced_hooks else self.forced_hooks + n.is_clip = self.is_clip + n.hook_mode = self.hook_mode + + for callback in self.get_all_callbacks(CallbacksMP.ON_CLONE): + callback(self, n) + return n + + def is_clone(self, other): + if hasattr(other, 'model') and self.model is other.model: + return True + return False + + def clone_has_same_weights(self, clone: 'ModelPatcher'): + if not self.is_clone(clone): + return False + + if self.current_hooks != clone.current_hooks: + return False + if self.forced_hooks != clone.forced_hooks: + return False + if self.hook_patches.keys() != clone.hook_patches.keys(): + return False + if self.attachments.keys() != clone.attachments.keys(): + return False + if self.additional_models.keys() != clone.additional_models.keys(): + return False + for key in self.callbacks: + if len(self.callbacks[key]) != len(clone.callbacks[key]): + return False + for key in self.wrappers: + if len(self.wrappers[key]) != len(clone.wrappers[key]): + return False + if self.injections.keys() != clone.injections.keys(): + return False + + if len(self.patches) == 0 and len(clone.patches) == 0: + return True + + if self.patches_uuid == clone.patches_uuid: + if len(self.patches) != len(clone.patches): + logging.warning("WARNING: something went wrong, same patch uuid but different length of patches.") + else: + return True + + def memory_required(self, input_shape): + return self.model.memory_required(input_shape=input_shape) + + def set_model_sampler_cfg_function(self, sampler_cfg_function, disable_cfg1_optimization=False): + if len(inspect.signature(sampler_cfg_function).parameters) == 3: + self.model_options["sampler_cfg_function"] = lambda args: sampler_cfg_function(args["cond"], args["uncond"], args["cond_scale"]) #Old way + else: + self.model_options["sampler_cfg_function"] = sampler_cfg_function + if disable_cfg1_optimization: + self.model_options["disable_cfg1_optimization"] = True + + def set_model_sampler_post_cfg_function(self, post_cfg_function, disable_cfg1_optimization=False): + self.model_options = set_model_options_post_cfg_function(self.model_options, post_cfg_function, disable_cfg1_optimization) + + def set_model_sampler_pre_cfg_function(self, pre_cfg_function, disable_cfg1_optimization=False): + self.model_options = set_model_options_pre_cfg_function(self.model_options, pre_cfg_function, disable_cfg1_optimization) + + def set_model_unet_function_wrapper(self, unet_wrapper_function: UnetWrapperFunction): + self.model_options["model_function_wrapper"] = unet_wrapper_function + + def set_model_denoise_mask_function(self, denoise_mask_function): + self.model_options["denoise_mask_function"] = denoise_mask_function + + def set_model_patch(self, patch, name): + to = self.model_options["transformer_options"] + if "patches" not in to: + to["patches"] = {} + to["patches"][name] = to["patches"].get(name, []) + [patch] + + def set_model_patch_replace(self, patch, name, block_name, number, transformer_index=None): + self.model_options = set_model_options_patch_replace(self.model_options, patch, name, block_name, number, transformer_index=transformer_index) + + def set_model_attn1_patch(self, patch): + self.set_model_patch(patch, "attn1_patch") + + def set_model_attn2_patch(self, patch): + self.set_model_patch(patch, "attn2_patch") + + def set_model_attn1_replace(self, patch, block_name, number, transformer_index=None): + self.set_model_patch_replace(patch, "attn1", block_name, number, transformer_index) + + def set_model_attn2_replace(self, patch, block_name, number, transformer_index=None): + self.set_model_patch_replace(patch, "attn2", block_name, number, transformer_index) + + def set_model_attn1_output_patch(self, patch): + self.set_model_patch(patch, "attn1_output_patch") + + def set_model_attn2_output_patch(self, patch): + self.set_model_patch(patch, "attn2_output_patch") + + def set_model_input_block_patch(self, patch): + self.set_model_patch(patch, "input_block_patch") + + def set_model_input_block_patch_after_skip(self, patch): + self.set_model_patch(patch, "input_block_patch_after_skip") + + def set_model_output_block_patch(self, patch): + self.set_model_patch(patch, "output_block_patch") + + def set_model_emb_patch(self, patch): + self.set_model_patch(patch, "emb_patch") + + def set_model_forward_timestep_embed_patch(self, patch): + self.set_model_patch(patch, "forward_timestep_embed_patch") + + def add_object_patch(self, name, obj): + self.object_patches[name] = obj + + def get_model_object(self, name: str) -> torch.nn.Module: + """Retrieves a nested attribute from an object using dot notation considering + object patches. + + Args: + name (str): The attribute path using dot notation (e.g. "model.layer.weight") + + Returns: + The value of the requested attribute + + Example: + patcher = ModelPatcher() + weight = patcher.get_model_object("layer1.conv.weight") + """ + if name in self.object_patches: + return self.object_patches[name] + else: + if name in self.object_patches_backup: + return self.object_patches_backup[name] + else: + return comfy.utils.get_attr(self.model, name) + + def model_patches_to(self, device): + to = self.model_options["transformer_options"] + if "patches" in to: + patches = to["patches"] + for name in patches: + patch_list = patches[name] + for i in range(len(patch_list)): + if hasattr(patch_list[i], "to"): + patch_list[i] = patch_list[i].to(device) + if "patches_replace" in to: + patches = to["patches_replace"] + for name in patches: + patch_list = patches[name] + for k in patch_list: + if hasattr(patch_list[k], "to"): + patch_list[k] = patch_list[k].to(device) + if "model_function_wrapper" in self.model_options: + wrap_func = self.model_options["model_function_wrapper"] + if hasattr(wrap_func, "to"): + self.model_options["model_function_wrapper"] = wrap_func.to(device) + + def model_dtype(self): + if hasattr(self.model, "get_dtype"): + return self.model.get_dtype() + + def add_patches(self, patches, strength_patch=1.0, strength_model=1.0): + with self.use_ejected(): + p = set() + model_sd = self.model.state_dict() + for k in patches: + offset = None + function = None + if isinstance(k, str): + key = k + else: + offset = k[1] + key = k[0] + if len(k) > 2: + function = k[2] + + if key in model_sd: + p.add(k) + current_patches = self.patches.get(key, []) + current_patches.append((strength_patch, patches[k], strength_model, offset, function)) + self.patches[key] = current_patches + + self.patches_uuid = uuid.uuid4() + return list(p) + + def get_key_patches(self, filter_prefix=None): + model_sd = self.model_state_dict() + p = {} + for k in model_sd: + if filter_prefix is not None: + if not k.startswith(filter_prefix): + continue + bk = self.backup.get(k, None) + hbk = self.hook_backup.get(k, None) + weight, set_func, convert_func = get_key_weight(self.model, k) + if bk is not None: + weight = bk.weight + if hbk is not None: + weight = hbk[0] + if convert_func is None: + convert_func = lambda a, **kwargs: a + + if k in self.patches: + p[k] = [(weight, convert_func)] + self.patches[k] + else: + p[k] = [(weight, convert_func)] + return p + + def model_state_dict(self, filter_prefix=None): + with self.use_ejected(): + sd = self.model.state_dict() + keys = list(sd.keys()) + if filter_prefix is not None: + for k in keys: + if not k.startswith(filter_prefix): + sd.pop(k) + return sd + + def patch_weight_to_device(self, key, device_to=None, inplace_update=False): + if key not in self.patches: + return + + weight, set_func, convert_func = get_key_weight(self.model, key) + inplace_update = self.weight_inplace_update or inplace_update + + if key not in self.backup: + self.backup[key] = collections.namedtuple('Dimension', ['weight', 'inplace_update'])(weight.to(device=self.offload_device, copy=inplace_update), inplace_update) + + if device_to is not None: + temp_weight = comfy.model_management.cast_to_device(weight, device_to, torch.float32, copy=True) + else: + temp_weight = weight.to(torch.float32, copy=True) + if convert_func is not None: + temp_weight = convert_func(temp_weight, inplace=True) + + out_weight = comfy.lora.calculate_weight(self.patches[key], temp_weight, key) + if set_func is None: + out_weight = comfy.float.stochastic_rounding(out_weight, weight.dtype, seed=string_to_seed(key)) + if inplace_update: + comfy.utils.copy_to_param(self.model, key, out_weight) + else: + comfy.utils.set_attr_param(self.model, key, out_weight) + else: + set_func(out_weight, inplace_update=inplace_update, seed=string_to_seed(key)) + + def _load_list(self): + loading = [] + for n, m in self.model.named_modules(): + params = [] + skip = False + for name, param in m.named_parameters(recurse=False): + params.append(name) + for name, param in m.named_parameters(recurse=True): + if name not in params: + skip = True # skip random weights in non leaf modules + break + if not skip and (hasattr(m, "comfy_cast_weights") or len(params) > 0): + loading.append((comfy.model_management.module_size(m), n, m, params)) + return loading + + def load(self, device_to=None, lowvram_model_memory=0, force_patch_weights=False, full_load=False): + with self.use_ejected(): + self.unpatch_hooks() + mem_counter = 0 + patch_counter = 0 + lowvram_counter = 0 + loading = self._load_list() + + load_completely = [] + loading.sort(reverse=True) + for x in loading: + n = x[1] + m = x[2] + params = x[3] + module_mem = x[0] + + lowvram_weight = False + + if not full_load and hasattr(m, "comfy_cast_weights"): + if mem_counter + module_mem >= lowvram_model_memory: + lowvram_weight = True + lowvram_counter += 1 + if hasattr(m, "prev_comfy_cast_weights"): #Already lowvramed + continue + + weight_key = "{}.weight".format(n) + bias_key = "{}.bias".format(n) + + if lowvram_weight: + if weight_key in self.patches: + if force_patch_weights: + self.patch_weight_to_device(weight_key) + else: + m.weight_function = LowVramPatch(weight_key, self.patches) + patch_counter += 1 + if bias_key in self.patches: + if force_patch_weights: + self.patch_weight_to_device(bias_key) + else: + m.bias_function = LowVramPatch(bias_key, self.patches) + patch_counter += 1 + + m.prev_comfy_cast_weights = m.comfy_cast_weights + m.comfy_cast_weights = True + else: + if hasattr(m, "comfy_cast_weights"): + if m.comfy_cast_weights: + wipe_lowvram_weight(m) + + if full_load or mem_counter + module_mem < lowvram_model_memory: + mem_counter += module_mem + load_completely.append((module_mem, n, m, params)) + + load_completely.sort(reverse=True) + for x in load_completely: + n = x[1] + m = x[2] + params = x[3] + if hasattr(m, "comfy_patched_weights"): + if m.comfy_patched_weights == True: + continue + + for param in params: + self.patch_weight_to_device("{}.{}".format(n, param), device_to=device_to) + + logging.debug("lowvram: loaded module regularly {} {}".format(n, m)) + m.comfy_patched_weights = True + + for x in load_completely: + x[2].to(device_to) + + if lowvram_counter > 0: + logging.info("loaded partially {} {} {}".format(lowvram_model_memory / (1024 * 1024), mem_counter / (1024 * 1024), patch_counter)) + self.model.model_lowvram = True + else: + logging.info("loaded completely {} {} {}".format(lowvram_model_memory / (1024 * 1024), mem_counter / (1024 * 1024), full_load)) + self.model.model_lowvram = False + if full_load: + self.model.to(device_to) + mem_counter = self.model_size() + + self.model.lowvram_patch_counter += patch_counter + self.model.device = device_to + self.model.model_loaded_weight_memory = mem_counter + self.model.current_weight_patches_uuid = self.patches_uuid + + for callback in self.get_all_callbacks(CallbacksMP.ON_LOAD): + callback(self, device_to, lowvram_model_memory, force_patch_weights, full_load) + + self.apply_hooks(self.forced_hooks, force_apply=True) + + def patch_model(self, device_to=None, lowvram_model_memory=0, load_weights=True, force_patch_weights=False): + with self.use_ejected(): + for k in self.object_patches: + old = comfy.utils.set_attr(self.model, k, self.object_patches[k]) + if k not in self.object_patches_backup: + self.object_patches_backup[k] = old + + if lowvram_model_memory == 0: + full_load = True + else: + full_load = False + + if load_weights: + self.load(device_to, lowvram_model_memory=lowvram_model_memory, force_patch_weights=force_patch_weights, full_load=full_load) + self.inject_model() + return self.model + + def unpatch_model(self, device_to=None, unpatch_weights=True): + self.eject_model() + if unpatch_weights: + self.unpatch_hooks() + if self.model.model_lowvram: + for m in self.model.modules(): + wipe_lowvram_weight(m) + + self.model.model_lowvram = False + self.model.lowvram_patch_counter = 0 + + keys = list(self.backup.keys()) + + for k in keys: + bk = self.backup[k] + if bk.inplace_update: + comfy.utils.copy_to_param(self.model, k, bk.weight) + else: + comfy.utils.set_attr_param(self.model, k, bk.weight) + + self.model.current_weight_patches_uuid = None + self.backup.clear() + + if device_to is not None: + self.model.to(device_to) + self.model.device = device_to + self.model.model_loaded_weight_memory = 0 + + for m in self.model.modules(): + if hasattr(m, "comfy_patched_weights"): + del m.comfy_patched_weights + + keys = list(self.object_patches_backup.keys()) + for k in keys: + comfy.utils.set_attr(self.model, k, self.object_patches_backup[k]) + + self.object_patches_backup.clear() + + def partially_unload(self, device_to, memory_to_free=0): + with self.use_ejected(): + memory_freed = 0 + patch_counter = 0 + unload_list = self._load_list() + unload_list.sort() + for unload in unload_list: + if memory_to_free < memory_freed: + break + module_mem = unload[0] + n = unload[1] + m = unload[2] + params = unload[3] + + lowvram_possible = hasattr(m, "comfy_cast_weights") + if hasattr(m, "comfy_patched_weights") and m.comfy_patched_weights == True: + move_weight = True + for param in params: + key = "{}.{}".format(n, param) + bk = self.backup.get(key, None) + if bk is not None: + if not lowvram_possible: + move_weight = False + break + + if bk.inplace_update: + comfy.utils.copy_to_param(self.model, key, bk.weight) + else: + comfy.utils.set_attr_param(self.model, key, bk.weight) + self.backup.pop(key) + + weight_key = "{}.weight".format(n) + bias_key = "{}.bias".format(n) + if move_weight: + m.to(device_to) + if lowvram_possible: + if weight_key in self.patches: + m.weight_function = LowVramPatch(weight_key, self.patches) + patch_counter += 1 + if bias_key in self.patches: + m.bias_function = LowVramPatch(bias_key, self.patches) + patch_counter += 1 + + m.prev_comfy_cast_weights = m.comfy_cast_weights + m.comfy_cast_weights = True + m.comfy_patched_weights = False + memory_freed += module_mem + logging.debug("freed {}".format(n)) + + self.model.model_lowvram = True + self.model.lowvram_patch_counter += patch_counter + self.model.model_loaded_weight_memory -= memory_freed + return memory_freed + + def partially_load(self, device_to, extra_memory=0, force_patch_weights=False): + with self.use_ejected(skip_and_inject_on_exit_only=True): + unpatch_weights = self.model.current_weight_patches_uuid is not None and (self.model.current_weight_patches_uuid != self.patches_uuid or force_patch_weights) + # TODO: force_patch_weights should not unload + reload full model + used = self.model.model_loaded_weight_memory + self.unpatch_model(self.offload_device, unpatch_weights=unpatch_weights) + if unpatch_weights: + extra_memory += (used - self.model.model_loaded_weight_memory) + + self.patch_model(load_weights=False) + full_load = False + if self.model.model_lowvram == False and self.model.model_loaded_weight_memory > 0: + self.apply_hooks(self.forced_hooks, force_apply=True) + return 0 + if self.model.model_loaded_weight_memory + extra_memory > self.model_size(): + full_load = True + current_used = self.model.model_loaded_weight_memory + try: + self.load(device_to, lowvram_model_memory=current_used + extra_memory, force_patch_weights=force_patch_weights, full_load=full_load) + except Exception as e: + self.detach() + raise e + + return self.model.model_loaded_weight_memory - current_used + + def detach(self, unpatch_all=True): + self.eject_model() + self.model_patches_to(self.offload_device) + if unpatch_all: + self.unpatch_model(self.offload_device, unpatch_weights=unpatch_all) + for callback in self.get_all_callbacks(CallbacksMP.ON_DETACH): + callback(self, unpatch_all) + return self.model + + def current_loaded_device(self): + return self.model.device + + def calculate_weight(self, patches, weight, key, intermediate_dtype=torch.float32): + logging.warning("The ModelPatcher.calculate_weight function is deprecated, please use: comfy.lora.calculate_weight instead") + return comfy.lora.calculate_weight(patches, weight, key, intermediate_dtype=intermediate_dtype) + + def cleanup(self): + self.clean_hooks() + if hasattr(self.model, "current_patcher"): + self.model.current_patcher = None + for callback in self.get_all_callbacks(CallbacksMP.ON_CLEANUP): + callback(self) + + def add_callback(self, call_type: str, callback: Callable): + self.add_callback_with_key(call_type, None, callback) + + def add_callback_with_key(self, call_type: str, key: str, callback: Callable): + c = self.callbacks.setdefault(call_type, {}).setdefault(key, []) + c.append(callback) + + def remove_callbacks_with_key(self, call_type: str, key: str): + c = self.callbacks.get(call_type, {}) + if key in c: + c.pop(key) + + def get_callbacks(self, call_type: str, key: str): + return self.callbacks.get(call_type, {}).get(key, []) + + def get_all_callbacks(self, call_type: str): + c_list = [] + for c in self.callbacks.get(call_type, {}).values(): + c_list.extend(c) + return c_list + + def add_wrapper(self, wrapper_type: str, wrapper: Callable): + self.add_wrapper_with_key(wrapper_type, None, wrapper) + + def add_wrapper_with_key(self, wrapper_type: str, key: str, wrapper: Callable): + w = self.wrappers.setdefault(wrapper_type, {}).setdefault(key, []) + w.append(wrapper) + + def remove_wrappers_with_key(self, wrapper_type: str, key: str): + w = self.wrappers.get(wrapper_type, {}) + if key in w: + w.pop(key) + + def get_wrappers(self, wrapper_type: str, key: str): + return self.wrappers.get(wrapper_type, {}).get(key, []) + + def get_all_wrappers(self, wrapper_type: str): + w_list = [] + for w in self.wrappers.get(wrapper_type, {}).values(): + w_list.extend(w) + return w_list + + def set_attachments(self, key: str, attachment): + self.attachments[key] = attachment + + def remove_attachments(self, key: str): + if key in self.attachments: + self.attachments.pop(key) + + def get_attachment(self, key: str): + return self.attachments.get(key, None) + + def set_injections(self, key: str, injections: list[PatcherInjection]): + self.injections[key] = injections + + def remove_injections(self, key: str): + if key in self.injections: + self.injections.pop(key) + + def get_injections(self, key: str): + return self.injections.get(key, None) + + def set_additional_models(self, key: str, models: list['ModelPatcher']): + self.additional_models[key] = models + + def remove_additional_models(self, key: str): + if key in self.additional_models: + self.additional_models.pop(key) + + def get_additional_models_with_key(self, key: str): + return self.additional_models.get(key, []) + + def get_additional_models(self): + all_models = [] + for models in self.additional_models.values(): + all_models.extend(models) + return all_models + + def get_nested_additional_models(self): + def _evaluate_sub_additional_models(prev_models: list[ModelPatcher], cache_set: set[ModelPatcher]): + '''Make sure circular references do not cause infinite recursion.''' + next_models = [] + for model in prev_models: + candidates = model.get_additional_models() + for c in candidates: + if c not in cache_set: + next_models.append(c) + cache_set.add(c) + if len(next_models) == 0: + return prev_models + return prev_models + _evaluate_sub_additional_models(next_models, cache_set) + + all_models = self.get_additional_models() + models_set = set(all_models) + real_all_models = _evaluate_sub_additional_models(prev_models=all_models, cache_set=models_set) + return real_all_models + + def use_ejected(self, skip_and_inject_on_exit_only=False): + return AutoPatcherEjector(self, skip_and_inject_on_exit_only=skip_and_inject_on_exit_only) + + def inject_model(self): + if self.is_injected or self.skip_injection: + return + for injections in self.injections.values(): + for inj in injections: + inj.inject(self) + self.is_injected = True + if self.is_injected: + for callback in self.get_all_callbacks(CallbacksMP.ON_INJECT_MODEL): + callback(self) + + def eject_model(self): + if not self.is_injected: + return + for injections in self.injections.values(): + for inj in injections: + inj.eject(self) + self.is_injected = False + for callback in self.get_all_callbacks(CallbacksMP.ON_EJECT_MODEL): + callback(self) + + def pre_run(self): + if hasattr(self.model, "current_patcher"): + self.model.current_patcher = self + for callback in self.get_all_callbacks(CallbacksMP.ON_PRE_RUN): + callback(self) + + def prepare_state(self, timestep): + for callback in self.get_all_callbacks(CallbacksMP.ON_PREPARE_STATE): + callback(self, timestep) + + def restore_hook_patches(self): + if self.hook_patches_backup is not None: + self.hook_patches = self.hook_patches_backup + self.hook_patches_backup = None + + def set_hook_mode(self, hook_mode: comfy.hooks.EnumHookMode): + self.hook_mode = hook_mode + + def prepare_hook_patches_current_keyframe(self, t: torch.Tensor, hook_group: comfy.hooks.HookGroup, model_options: dict[str]): + curr_t = t[0] + reset_current_hooks = False + transformer_options = model_options.get("transformer_options", {}) + for hook in hook_group.hooks: + changed = hook.hook_keyframe.prepare_current_keyframe(curr_t=curr_t, transformer_options=transformer_options) + # if keyframe changed, remove any cached HookGroups that contain hook with the same hook_ref; + # this will cause the weights to be recalculated when sampling + if changed: + # reset current_hooks if contains hook that changed + if self.current_hooks is not None: + for current_hook in self.current_hooks.hooks: + if current_hook == hook: + reset_current_hooks = True + break + for cached_group in list(self.cached_hook_patches.keys()): + if cached_group.contains(hook): + self.cached_hook_patches.pop(cached_group) + if reset_current_hooks: + self.patch_hooks(None) + + def register_all_hook_patches(self, hooks: comfy.hooks.HookGroup, target_dict: dict[str], model_options: dict=None, + registered: comfy.hooks.HookGroup = None): + self.restore_hook_patches() + if registered is None: + registered = comfy.hooks.HookGroup() + # handle WeightHooks + weight_hooks_to_register: list[comfy.hooks.WeightHook] = [] + for hook in hooks.get_type(comfy.hooks.EnumHookType.Weight): + if hook.hook_ref not in self.hook_patches: + weight_hooks_to_register.append(hook) + else: + registered.add(hook) + if len(weight_hooks_to_register) > 0: + # clone hook_patches to become backup so that any non-dynamic hooks will return to their original state + self.hook_patches_backup = create_hook_patches_clone(self.hook_patches) + for hook in weight_hooks_to_register: + hook.add_hook_patches(self, model_options, target_dict, registered) + for callback in self.get_all_callbacks(CallbacksMP.ON_REGISTER_ALL_HOOK_PATCHES): + callback(self, hooks, target_dict, model_options, registered) + return registered + + def add_hook_patches(self, hook: comfy.hooks.WeightHook, patches, strength_patch=1.0, strength_model=1.0): + with self.use_ejected(): + # NOTE: this mirrors behavior of add_patches func + current_hook_patches: dict[str,list] = self.hook_patches.get(hook.hook_ref, {}) + p = set() + model_sd = self.model.state_dict() + for k in patches: + offset = None + function = None + if isinstance(k, str): + key = k + else: + offset = k[1] + key = k[0] + if len(k) > 2: + function = k[2] + + if key in model_sd: + p.add(k) + current_patches: list[tuple] = current_hook_patches.get(key, []) + current_patches.append((strength_patch, patches[k], strength_model, offset, function)) + current_hook_patches[key] = current_patches + self.hook_patches[hook.hook_ref] = current_hook_patches + # since should care about these patches too to determine if same model, reroll patches_uuid + self.patches_uuid = uuid.uuid4() + return list(p) + + def get_combined_hook_patches(self, hooks: comfy.hooks.HookGroup): + # combined_patches will contain weights of all relevant hooks, per key + combined_patches = {} + if hooks is not None: + for hook in hooks.hooks: + hook_patches: dict = self.hook_patches.get(hook.hook_ref, {}) + for key in hook_patches.keys(): + current_patches: list[tuple] = combined_patches.get(key, []) + if math.isclose(hook.strength, 1.0): + current_patches.extend(hook_patches[key]) + else: + # patches are stored as tuples: (strength_patch, (tuple_with_weights,), strength_model) + for patch in hook_patches[key]: + new_patch = list(patch) + new_patch[0] *= hook.strength + current_patches.append(tuple(new_patch)) + combined_patches[key] = current_patches + return combined_patches + + def apply_hooks(self, hooks: comfy.hooks.HookGroup, transformer_options: dict=None, force_apply=False): + # TODO: return transformer_options dict with any additions from hooks + if self.current_hooks == hooks and (not force_apply or (not self.is_clip and hooks is None)): + return comfy.hooks.create_transformer_options_from_hooks(self, hooks, transformer_options) + self.patch_hooks(hooks=hooks) + for callback in self.get_all_callbacks(CallbacksMP.ON_APPLY_HOOKS): + callback(self, hooks) + return comfy.hooks.create_transformer_options_from_hooks(self, hooks, transformer_options) + + def patch_hooks(self, hooks: comfy.hooks.HookGroup): + with self.use_ejected(): + self.unpatch_hooks() + if hooks is not None: + model_sd_keys = list(self.model_state_dict().keys()) + memory_counter = None + if self.hook_mode == comfy.hooks.EnumHookMode.MaxSpeed: + # TODO: minimum_counter should have a minimum that conforms to loaded model requirements + memory_counter = MemoryCounter(initial=comfy.model_management.get_free_memory(self.load_device), + minimum=comfy.model_management.minimum_inference_memory()*2) + # if have cached weights for hooks, use it + cached_weights = self.cached_hook_patches.get(hooks, None) + if cached_weights is not None: + for key in cached_weights: + if key not in model_sd_keys: + logging.warning(f"Cached hook could not patch. Key does not exist in model: {key}") + continue + self.patch_cached_hook_weights(cached_weights=cached_weights, key=key, memory_counter=memory_counter) + else: + relevant_patches = self.get_combined_hook_patches(hooks=hooks) + original_weights = None + if len(relevant_patches) > 0: + original_weights = self.get_key_patches() + for key in relevant_patches: + if key not in model_sd_keys: + logging.warning(f"Cached hook would not patch. Key does not exist in model: {key}") + continue + self.patch_hook_weight_to_device(hooks=hooks, combined_patches=relevant_patches, key=key, original_weights=original_weights, + memory_counter=memory_counter) + self.current_hooks = hooks + + def patch_cached_hook_weights(self, cached_weights: dict, key: str, memory_counter: MemoryCounter): + if key not in self.hook_backup: + weight: torch.Tensor = comfy.utils.get_attr(self.model, key) + target_device = self.offload_device + if self.hook_mode == comfy.hooks.EnumHookMode.MaxSpeed: + used = memory_counter.use(weight) + if used: + target_device = weight.device + self.hook_backup[key] = (weight.to(device=target_device, copy=True), weight.device) + comfy.utils.copy_to_param(self.model, key, cached_weights[key][0].to(device=cached_weights[key][1])) + + def clear_cached_hook_weights(self): + self.cached_hook_patches.clear() + self.patch_hooks(None) + + def patch_hook_weight_to_device(self, hooks: comfy.hooks.HookGroup, combined_patches: dict, key: str, original_weights: dict, memory_counter: MemoryCounter): + if key not in combined_patches: + return + + weight, set_func, convert_func = get_key_weight(self.model, key) + weight: torch.Tensor + if key not in self.hook_backup: + target_device = self.offload_device + if self.hook_mode == comfy.hooks.EnumHookMode.MaxSpeed: + used = memory_counter.use(weight) + if used: + target_device = weight.device + self.hook_backup[key] = (weight.to(device=target_device, copy=True), weight.device) + # TODO: properly handle LowVramPatch, if it ends up an issue + temp_weight = comfy.model_management.cast_to_device(weight, weight.device, torch.float32, copy=True) + if convert_func is not None: + temp_weight = convert_func(temp_weight, inplace=True) + + out_weight = comfy.lora.calculate_weight(combined_patches[key], + temp_weight, + key, original_weights=original_weights) + del original_weights[key] + if set_func is None: + out_weight = comfy.float.stochastic_rounding(out_weight, weight.dtype, seed=string_to_seed(key)) + comfy.utils.copy_to_param(self.model, key, out_weight) + else: + set_func(out_weight, inplace_update=True, seed=string_to_seed(key)) + if self.hook_mode == comfy.hooks.EnumHookMode.MaxSpeed: + # TODO: disable caching if not enough system RAM to do so + target_device = self.offload_device + used = memory_counter.use(weight) + if used: + target_device = weight.device + self.cached_hook_patches.setdefault(hooks, {}) + self.cached_hook_patches[hooks][key] = (out_weight.to(device=target_device, copy=False), weight.device) + del temp_weight + del out_weight + del weight + + def unpatch_hooks(self) -> None: + with self.use_ejected(): + if len(self.hook_backup) == 0: + self.current_hooks = None + return + keys = list(self.hook_backup.keys()) + for k in keys: + comfy.utils.copy_to_param(self.model, k, self.hook_backup[k][0].to(device=self.hook_backup[k][1])) + + self.hook_backup.clear() + self.current_hooks = None + + def clean_hooks(self): + self.unpatch_hooks() + self.clear_cached_hook_weights() + + def __del__(self): + self.detach(unpatch_all=False) + diff --git a/comfy/model_sampling.py b/comfy/model_sampling.py new file mode 100644 index 0000000000000000000000000000000000000000..4370516b92b925433634ceb6d34d781fc2f729fb --- /dev/null +++ b/comfy/model_sampling.py @@ -0,0 +1,339 @@ +import torch +from comfy.ldm.modules.diffusionmodules.util import make_beta_schedule +import math + +def rescale_zero_terminal_snr_sigmas(sigmas): + alphas_cumprod = 1 / ((sigmas * sigmas) + 1) + alphas_bar_sqrt = alphas_cumprod.sqrt() + + # Store old values. + alphas_bar_sqrt_0 = alphas_bar_sqrt[0].clone() + alphas_bar_sqrt_T = alphas_bar_sqrt[-1].clone() + + # Shift so the last timestep is zero. + alphas_bar_sqrt -= (alphas_bar_sqrt_T) + + # Scale so the first timestep is back to the old value. + alphas_bar_sqrt *= alphas_bar_sqrt_0 / (alphas_bar_sqrt_0 - alphas_bar_sqrt_T) + + # Convert alphas_bar_sqrt to betas + alphas_bar = alphas_bar_sqrt**2 # Revert sqrt + alphas_bar[-1] = 4.8973451890853435e-08 + return ((1 - alphas_bar) / alphas_bar) ** 0.5 + +class EPS: + def calculate_input(self, sigma, noise): + sigma = sigma.view(sigma.shape[:1] + (1,) * (noise.ndim - 1)) + return noise / (sigma ** 2 + self.sigma_data ** 2) ** 0.5 + + def calculate_denoised(self, sigma, model_output, model_input): + sigma = sigma.view(sigma.shape[:1] + (1,) * (model_output.ndim - 1)) + return model_input - model_output * sigma + + def noise_scaling(self, sigma, noise, latent_image, max_denoise=False): + if max_denoise: + noise = noise * torch.sqrt(1.0 + sigma ** 2.0) + else: + noise = noise * sigma + + noise += latent_image + return noise + + def inverse_noise_scaling(self, sigma, latent): + return latent + +class V_PREDICTION(EPS): + def calculate_denoised(self, sigma, model_output, model_input): + sigma = sigma.view(sigma.shape[:1] + (1,) * (model_output.ndim - 1)) + return model_input * self.sigma_data ** 2 / (sigma ** 2 + self.sigma_data ** 2) - model_output * sigma * self.sigma_data / (sigma ** 2 + self.sigma_data ** 2) ** 0.5 + +class EDM(V_PREDICTION): + def calculate_denoised(self, sigma, model_output, model_input): + sigma = sigma.view(sigma.shape[:1] + (1,) * (model_output.ndim - 1)) + return model_input * self.sigma_data ** 2 / (sigma ** 2 + self.sigma_data ** 2) + model_output * sigma * self.sigma_data / (sigma ** 2 + self.sigma_data ** 2) ** 0.5 + +class CONST: + def calculate_input(self, sigma, noise): + return noise + + def calculate_denoised(self, sigma, model_output, model_input): + sigma = sigma.view(sigma.shape[:1] + (1,) * (model_output.ndim - 1)) + return model_input - model_output * sigma + + def noise_scaling(self, sigma, noise, latent_image, max_denoise=False): + return sigma * noise + (1.0 - sigma) * latent_image + + def inverse_noise_scaling(self, sigma, latent): + return latent / (1.0 - sigma) + +class ModelSamplingDiscrete(torch.nn.Module): + def __init__(self, model_config=None, zsnr=None): + super().__init__() + + if model_config is not None: + sampling_settings = model_config.sampling_settings + else: + sampling_settings = {} + + beta_schedule = sampling_settings.get("beta_schedule", "linear") + linear_start = sampling_settings.get("linear_start", 0.00085) + linear_end = sampling_settings.get("linear_end", 0.012) + timesteps = sampling_settings.get("timesteps", 1000) + + if zsnr is None: + zsnr = sampling_settings.get("zsnr", False) + + self._register_schedule(given_betas=None, beta_schedule=beta_schedule, timesteps=timesteps, linear_start=linear_start, linear_end=linear_end, cosine_s=8e-3, zsnr=zsnr) + self.sigma_data = 1.0 + + def _register_schedule(self, given_betas=None, beta_schedule="linear", timesteps=1000, + linear_start=1e-4, linear_end=2e-2, cosine_s=8e-3, zsnr=False): + if given_betas is not None: + betas = given_betas + else: + betas = make_beta_schedule(beta_schedule, timesteps, linear_start=linear_start, linear_end=linear_end, cosine_s=cosine_s) + alphas = 1. - betas + alphas_cumprod = torch.cumprod(alphas, dim=0) + + timesteps, = betas.shape + self.num_timesteps = int(timesteps) + self.linear_start = linear_start + self.linear_end = linear_end + + # self.register_buffer('betas', torch.tensor(betas, dtype=torch.float32)) + # self.register_buffer('alphas_cumprod', torch.tensor(alphas_cumprod, dtype=torch.float32)) + # self.register_buffer('alphas_cumprod_prev', torch.tensor(alphas_cumprod_prev, dtype=torch.float32)) + + sigmas = ((1 - alphas_cumprod) / alphas_cumprod) ** 0.5 + if zsnr: + sigmas = rescale_zero_terminal_snr_sigmas(sigmas) + + self.set_sigmas(sigmas) + + def set_sigmas(self, sigmas): + self.register_buffer('sigmas', sigmas.float()) + self.register_buffer('log_sigmas', sigmas.log().float()) + + @property + def sigma_min(self): + return self.sigmas[0] + + @property + def sigma_max(self): + return self.sigmas[-1] + + def timestep(self, sigma): + log_sigma = sigma.log() + dists = log_sigma.to(self.log_sigmas.device) - self.log_sigmas[:, None] + return dists.abs().argmin(dim=0).view(sigma.shape).to(sigma.device) + + def sigma(self, timestep): + t = torch.clamp(timestep.float().to(self.log_sigmas.device), min=0, max=(len(self.sigmas) - 1)) + low_idx = t.floor().long() + high_idx = t.ceil().long() + w = t.frac() + log_sigma = (1 - w) * self.log_sigmas[low_idx] + w * self.log_sigmas[high_idx] + return log_sigma.exp().to(timestep.device) + + def percent_to_sigma(self, percent): + if percent <= 0.0: + return 999999999.9 + if percent >= 1.0: + return 0.0 + percent = 1.0 - percent + return self.sigma(torch.tensor(percent * 999.0)).item() + +class ModelSamplingDiscreteEDM(ModelSamplingDiscrete): + def timestep(self, sigma): + return 0.25 * sigma.log() + + def sigma(self, timestep): + return (timestep / 0.25).exp() + +class ModelSamplingContinuousEDM(torch.nn.Module): + def __init__(self, model_config=None): + super().__init__() + if model_config is not None: + sampling_settings = model_config.sampling_settings + else: + sampling_settings = {} + + sigma_min = sampling_settings.get("sigma_min", 0.002) + sigma_max = sampling_settings.get("sigma_max", 120.0) + sigma_data = sampling_settings.get("sigma_data", 1.0) + self.set_parameters(sigma_min, sigma_max, sigma_data) + + def set_parameters(self, sigma_min, sigma_max, sigma_data): + self.sigma_data = sigma_data + sigmas = torch.linspace(math.log(sigma_min), math.log(sigma_max), 1000).exp() + + self.register_buffer('sigmas', sigmas) #for compatibility with some schedulers + self.register_buffer('log_sigmas', sigmas.log()) + + @property + def sigma_min(self): + return self.sigmas[0] + + @property + def sigma_max(self): + return self.sigmas[-1] + + def timestep(self, sigma): + return 0.25 * sigma.log() + + def sigma(self, timestep): + return (timestep / 0.25).exp() + + def percent_to_sigma(self, percent): + if percent <= 0.0: + return 999999999.9 + if percent >= 1.0: + return 0.0 + percent = 1.0 - percent + + log_sigma_min = math.log(self.sigma_min) + return math.exp((math.log(self.sigma_max) - log_sigma_min) * percent + log_sigma_min) + + +class ModelSamplingContinuousV(ModelSamplingContinuousEDM): + def timestep(self, sigma): + return sigma.atan() / math.pi * 2 + + def sigma(self, timestep): + return (timestep * math.pi / 2).tan() + + +def time_snr_shift(alpha, t): + if alpha == 1.0: + return t + return alpha * t / (1 + (alpha - 1) * t) + +class ModelSamplingDiscreteFlow(torch.nn.Module): + def __init__(self, model_config=None): + super().__init__() + if model_config is not None: + sampling_settings = model_config.sampling_settings + else: + sampling_settings = {} + + self.set_parameters(shift=sampling_settings.get("shift", 1.0), multiplier=sampling_settings.get("multiplier", 1000)) + + def set_parameters(self, shift=1.0, timesteps=1000, multiplier=1000): + self.shift = shift + self.multiplier = multiplier + ts = self.sigma((torch.arange(1, timesteps + 1, 1) / timesteps) * multiplier) + self.register_buffer('sigmas', ts) + + @property + def sigma_min(self): + return self.sigmas[0] + + @property + def sigma_max(self): + return self.sigmas[-1] + + def timestep(self, sigma): + return sigma * self.multiplier + + def sigma(self, timestep): + return time_snr_shift(self.shift, timestep / self.multiplier) + + def percent_to_sigma(self, percent): + if percent <= 0.0: + return 1.0 + if percent >= 1.0: + return 0.0 + return time_snr_shift(self.shift, 1.0 - percent) + +class StableCascadeSampling(ModelSamplingDiscrete): + def __init__(self, model_config=None): + super().__init__() + + if model_config is not None: + sampling_settings = model_config.sampling_settings + else: + sampling_settings = {} + + self.set_parameters(sampling_settings.get("shift", 1.0)) + + def set_parameters(self, shift=1.0, cosine_s=8e-3): + self.shift = shift + self.cosine_s = torch.tensor(cosine_s) + self._init_alpha_cumprod = torch.cos(self.cosine_s / (1 + self.cosine_s) * torch.pi * 0.5) ** 2 + + #This part is just for compatibility with some schedulers in the codebase + self.num_timesteps = 10000 + sigmas = torch.empty((self.num_timesteps), dtype=torch.float32) + for x in range(self.num_timesteps): + t = (x + 1) / self.num_timesteps + sigmas[x] = self.sigma(t) + + self.set_sigmas(sigmas) + + def sigma(self, timestep): + alpha_cumprod = (torch.cos((timestep + self.cosine_s) / (1 + self.cosine_s) * torch.pi * 0.5) ** 2 / self._init_alpha_cumprod) + + if self.shift != 1.0: + var = alpha_cumprod + logSNR = (var/(1-var)).log() + logSNR += 2 * torch.log(1.0 / torch.tensor(self.shift)) + alpha_cumprod = logSNR.sigmoid() + + alpha_cumprod = alpha_cumprod.clamp(0.0001, 0.9999) + return ((1 - alpha_cumprod) / alpha_cumprod) ** 0.5 + + def timestep(self, sigma): + var = 1 / ((sigma * sigma) + 1) + var = var.clamp(0, 1.0) + s, min_var = self.cosine_s.to(var.device), self._init_alpha_cumprod.to(var.device) + t = (((var * min_var) ** 0.5).acos() / (torch.pi * 0.5)) * (1 + s) - s + return t + + def percent_to_sigma(self, percent): + if percent <= 0.0: + return 999999999.9 + if percent >= 1.0: + return 0.0 + + percent = 1.0 - percent + return self.sigma(torch.tensor(percent)) + + +def flux_time_shift(mu: float, sigma: float, t): + return math.exp(mu) / (math.exp(mu) + (1 / t - 1) ** sigma) + +class ModelSamplingFlux(torch.nn.Module): + def __init__(self, model_config=None): + super().__init__() + if model_config is not None: + sampling_settings = model_config.sampling_settings + else: + sampling_settings = {} + + self.set_parameters(shift=sampling_settings.get("shift", 1.15)) + + def set_parameters(self, shift=1.15, timesteps=10000): + self.shift = shift + ts = self.sigma((torch.arange(1, timesteps + 1, 1) / timesteps)) + self.register_buffer('sigmas', ts) + + @property + def sigma_min(self): + return self.sigmas[0] + + @property + def sigma_max(self): + return self.sigmas[-1] + + def timestep(self, sigma): + return sigma + + def sigma(self, timestep): + return flux_time_shift(self.shift, 1.0, timestep) + + def percent_to_sigma(self, percent): + if percent <= 0.0: + return 1.0 + if percent >= 1.0: + return 0.0 + return flux_time_shift(self.shift, 1.0, 1.0 - percent) diff --git a/comfy/ops.py b/comfy/ops.py new file mode 100644 index 0000000000000000000000000000000000000000..06be6b48b50038de250d580907b54d10c76b44de --- /dev/null +++ b/comfy/ops.py @@ -0,0 +1,368 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Stability AI + + 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 . +""" + +import torch +import comfy.model_management +from comfy.cli_args import args +import comfy.float + +cast_to = comfy.model_management.cast_to #TODO: remove once no more references + +def cast_to_input(weight, input, non_blocking=False, copy=True): + return comfy.model_management.cast_to(weight, input.dtype, input.device, non_blocking=non_blocking, copy=copy) + +def cast_bias_weight(s, input=None, dtype=None, device=None, bias_dtype=None): + if input is not None: + if dtype is None: + dtype = input.dtype + if bias_dtype is None: + bias_dtype = dtype + if device is None: + device = input.device + + bias = None + non_blocking = comfy.model_management.device_supports_non_blocking(device) + if s.bias is not None: + has_function = s.bias_function is not None + bias = comfy.model_management.cast_to(s.bias, bias_dtype, device, non_blocking=non_blocking, copy=has_function) + if has_function: + bias = s.bias_function(bias) + + has_function = s.weight_function is not None + weight = comfy.model_management.cast_to(s.weight, dtype, device, non_blocking=non_blocking, copy=has_function) + if has_function: + weight = s.weight_function(weight) + return weight, bias + +class CastWeightBiasOp: + comfy_cast_weights = False + weight_function = None + bias_function = None + +class disable_weight_init: + class Linear(torch.nn.Linear, CastWeightBiasOp): + def reset_parameters(self): + return None + + def forward_comfy_cast_weights(self, input): + weight, bias = cast_bias_weight(self, input) + return torch.nn.functional.linear(input, weight, bias) + + def forward(self, *args, **kwargs): + if self.comfy_cast_weights: + return self.forward_comfy_cast_weights(*args, **kwargs) + else: + return super().forward(*args, **kwargs) + + class Conv1d(torch.nn.Conv1d, CastWeightBiasOp): + def reset_parameters(self): + return None + + def forward_comfy_cast_weights(self, input): + weight, bias = cast_bias_weight(self, input) + return self._conv_forward(input, weight, bias) + + def forward(self, *args, **kwargs): + if self.comfy_cast_weights: + return self.forward_comfy_cast_weights(*args, **kwargs) + else: + return super().forward(*args, **kwargs) + + class Conv2d(torch.nn.Conv2d, CastWeightBiasOp): + def reset_parameters(self): + return None + + def forward_comfy_cast_weights(self, input): + weight, bias = cast_bias_weight(self, input) + return self._conv_forward(input, weight, bias) + + def forward(self, *args, **kwargs): + if self.comfy_cast_weights: + return self.forward_comfy_cast_weights(*args, **kwargs) + else: + return super().forward(*args, **kwargs) + + class Conv3d(torch.nn.Conv3d, CastWeightBiasOp): + def reset_parameters(self): + return None + + def forward_comfy_cast_weights(self, input): + weight, bias = cast_bias_weight(self, input) + return self._conv_forward(input, weight, bias) + + def forward(self, *args, **kwargs): + if self.comfy_cast_weights: + return self.forward_comfy_cast_weights(*args, **kwargs) + else: + return super().forward(*args, **kwargs) + + class GroupNorm(torch.nn.GroupNorm, CastWeightBiasOp): + def reset_parameters(self): + return None + + def forward_comfy_cast_weights(self, input): + weight, bias = cast_bias_weight(self, input) + return torch.nn.functional.group_norm(input, self.num_groups, weight, bias, self.eps) + + def forward(self, *args, **kwargs): + if self.comfy_cast_weights: + return self.forward_comfy_cast_weights(*args, **kwargs) + else: + return super().forward(*args, **kwargs) + + + class LayerNorm(torch.nn.LayerNorm, CastWeightBiasOp): + def reset_parameters(self): + return None + + def forward_comfy_cast_weights(self, input): + if self.weight is not None: + weight, bias = cast_bias_weight(self, input) + else: + weight = None + bias = None + return torch.nn.functional.layer_norm(input, self.normalized_shape, weight, bias, self.eps) + + def forward(self, *args, **kwargs): + if self.comfy_cast_weights: + return self.forward_comfy_cast_weights(*args, **kwargs) + else: + return super().forward(*args, **kwargs) + + class ConvTranspose2d(torch.nn.ConvTranspose2d, CastWeightBiasOp): + def reset_parameters(self): + return None + + def forward_comfy_cast_weights(self, input, output_size=None): + num_spatial_dims = 2 + output_padding = self._output_padding( + input, output_size, self.stride, self.padding, self.kernel_size, + num_spatial_dims, self.dilation) + + weight, bias = cast_bias_weight(self, input) + return torch.nn.functional.conv_transpose2d( + input, weight, bias, self.stride, self.padding, + output_padding, self.groups, self.dilation) + + def forward(self, *args, **kwargs): + if self.comfy_cast_weights: + return self.forward_comfy_cast_weights(*args, **kwargs) + else: + return super().forward(*args, **kwargs) + + class ConvTranspose1d(torch.nn.ConvTranspose1d, CastWeightBiasOp): + def reset_parameters(self): + return None + + def forward_comfy_cast_weights(self, input, output_size=None): + num_spatial_dims = 1 + output_padding = self._output_padding( + input, output_size, self.stride, self.padding, self.kernel_size, + num_spatial_dims, self.dilation) + + weight, bias = cast_bias_weight(self, input) + return torch.nn.functional.conv_transpose1d( + input, weight, bias, self.stride, self.padding, + output_padding, self.groups, self.dilation) + + def forward(self, *args, **kwargs): + if self.comfy_cast_weights: + return self.forward_comfy_cast_weights(*args, **kwargs) + else: + return super().forward(*args, **kwargs) + + class Embedding(torch.nn.Embedding, CastWeightBiasOp): + def reset_parameters(self): + self.bias = None + return None + + def forward_comfy_cast_weights(self, input, out_dtype=None): + output_dtype = out_dtype + if self.weight.dtype == torch.float16 or self.weight.dtype == torch.bfloat16: + out_dtype = None + weight, bias = cast_bias_weight(self, device=input.device, dtype=out_dtype) + return torch.nn.functional.embedding(input, weight, self.padding_idx, self.max_norm, self.norm_type, self.scale_grad_by_freq, self.sparse).to(dtype=output_dtype) + + def forward(self, *args, **kwargs): + if self.comfy_cast_weights: + return self.forward_comfy_cast_weights(*args, **kwargs) + else: + if "out_dtype" in kwargs: + kwargs.pop("out_dtype") + return super().forward(*args, **kwargs) + + @classmethod + def conv_nd(s, dims, *args, **kwargs): + if dims == 2: + return s.Conv2d(*args, **kwargs) + elif dims == 3: + return s.Conv3d(*args, **kwargs) + else: + raise ValueError(f"unsupported dimensions: {dims}") + + +class manual_cast(disable_weight_init): + class Linear(disable_weight_init.Linear): + comfy_cast_weights = True + + class Conv1d(disable_weight_init.Conv1d): + comfy_cast_weights = True + + class Conv2d(disable_weight_init.Conv2d): + comfy_cast_weights = True + + class Conv3d(disable_weight_init.Conv3d): + comfy_cast_weights = True + + class GroupNorm(disable_weight_init.GroupNorm): + comfy_cast_weights = True + + class LayerNorm(disable_weight_init.LayerNorm): + comfy_cast_weights = True + + class ConvTranspose2d(disable_weight_init.ConvTranspose2d): + comfy_cast_weights = True + + class ConvTranspose1d(disable_weight_init.ConvTranspose1d): + comfy_cast_weights = True + + class Embedding(disable_weight_init.Embedding): + comfy_cast_weights = True + + +def fp8_linear(self, input): + dtype = self.weight.dtype + if dtype not in [torch.float8_e4m3fn]: + return None + + tensor_2d = False + if len(input.shape) == 2: + tensor_2d = True + input = input.unsqueeze(1) + + input_shape = input.shape + input_dtype = input.dtype + if len(input.shape) == 3: + w, bias = cast_bias_weight(self, input, dtype=dtype, bias_dtype=input_dtype) + w = w.t() + + scale_weight = self.scale_weight + scale_input = self.scale_input + if scale_weight is None: + scale_weight = torch.ones((), device=input.device, dtype=torch.float32) + else: + scale_weight = scale_weight.to(input.device) + + if scale_input is None: + scale_input = torch.ones((), device=input.device, dtype=torch.float32) + input = torch.clamp(input, min=-448, max=448, out=input) + input = input.reshape(-1, input_shape[2]).to(dtype) + else: + scale_input = scale_input.to(input.device) + input = (input * (1.0 / scale_input).to(input_dtype)).reshape(-1, input_shape[2]).to(dtype) + + if bias is not None: + o = torch._scaled_mm(input, w, out_dtype=input_dtype, bias=bias, scale_a=scale_input, scale_b=scale_weight) + else: + o = torch._scaled_mm(input, w, out_dtype=input_dtype, scale_a=scale_input, scale_b=scale_weight) + + if isinstance(o, tuple): + o = o[0] + + if tensor_2d: + return o.reshape(input_shape[0], -1) + + return o.reshape((-1, input_shape[1], self.weight.shape[0])) + + return None + +class fp8_ops(manual_cast): + class Linear(manual_cast.Linear): + def reset_parameters(self): + self.scale_weight = None + self.scale_input = None + return None + + def forward_comfy_cast_weights(self, input): + out = fp8_linear(self, input) + if out is not None: + return out + + weight, bias = cast_bias_weight(self, input) + return torch.nn.functional.linear(input, weight, bias) + +def scaled_fp8_ops(fp8_matrix_mult=False, scale_input=False, override_dtype=None): + class scaled_fp8_op(manual_cast): + class Linear(manual_cast.Linear): + def __init__(self, *args, **kwargs): + if override_dtype is not None: + kwargs['dtype'] = override_dtype + super().__init__(*args, **kwargs) + + def reset_parameters(self): + if not hasattr(self, 'scale_weight'): + self.scale_weight = torch.nn.parameter.Parameter(data=torch.ones((), device=self.weight.device, dtype=torch.float32), requires_grad=False) + + if not scale_input: + self.scale_input = None + + if not hasattr(self, 'scale_input'): + self.scale_input = torch.nn.parameter.Parameter(data=torch.ones((), device=self.weight.device, dtype=torch.float32), requires_grad=False) + return None + + def forward_comfy_cast_weights(self, input): + if fp8_matrix_mult: + out = fp8_linear(self, input) + if out is not None: + return out + + weight, bias = cast_bias_weight(self, input) + + if weight.numel() < input.numel(): #TODO: optimize + return torch.nn.functional.linear(input, weight * self.scale_weight.to(device=weight.device, dtype=weight.dtype), bias) + else: + return torch.nn.functional.linear(input * self.scale_weight.to(device=weight.device, dtype=weight.dtype), weight, bias) + + def convert_weight(self, weight, inplace=False, **kwargs): + if inplace: + weight *= self.scale_weight.to(device=weight.device, dtype=weight.dtype) + return weight + else: + return weight * self.scale_weight.to(device=weight.device, dtype=weight.dtype) + + def set_weight(self, weight, inplace_update=False, seed=None, **kwargs): + weight = comfy.float.stochastic_rounding(weight / self.scale_weight.to(device=weight.device, dtype=weight.dtype), self.weight.dtype, seed=seed) + if inplace_update: + self.weight.data.copy_(weight) + else: + self.weight = torch.nn.Parameter(weight, requires_grad=False) + + return scaled_fp8_op + +def pick_operations(weight_dtype, compute_dtype, load_device=None, disable_fast_fp8=False, fp8_optimizations=False, scaled_fp8=None): + fp8_compute = comfy.model_management.supports_fp8_compute(load_device) + if scaled_fp8 is not None: + return scaled_fp8_ops(fp8_matrix_mult=fp8_compute, scale_input=True, override_dtype=scaled_fp8) + + if fp8_compute and (fp8_optimizations or args.fast) and not disable_fast_fp8: + return fp8_ops + + if compute_dtype is None or weight_dtype == compute_dtype: + return disable_weight_init + + return manual_cast diff --git a/comfy/options.py b/comfy/options.py new file mode 100644 index 0000000000000000000000000000000000000000..f7f8af41ebd8b9669ef0ef21827ea6195bcb4752 --- /dev/null +++ b/comfy/options.py @@ -0,0 +1,6 @@ + +args_parsing = False + +def enable_args_parsing(enable=True): + global args_parsing + args_parsing = enable diff --git a/comfy/patcher_extension.py b/comfy/patcher_extension.py new file mode 100644 index 0000000000000000000000000000000000000000..8597582447fb9908990dcf29ae300fefedf58261 --- /dev/null +++ b/comfy/patcher_extension.py @@ -0,0 +1,156 @@ +from __future__ import annotations +from typing import Callable + +class CallbacksMP: + ON_CLONE = "on_clone" + ON_LOAD = "on_load_after" + ON_DETACH = "on_detach_after" + ON_CLEANUP = "on_cleanup" + ON_PRE_RUN = "on_pre_run" + ON_PREPARE_STATE = "on_prepare_state" + ON_APPLY_HOOKS = "on_apply_hooks" + ON_REGISTER_ALL_HOOK_PATCHES = "on_register_all_hook_patches" + ON_INJECT_MODEL = "on_inject_model" + ON_EJECT_MODEL = "on_eject_model" + + # callbacks dict is in the format: + # {"call_type": {"key": [Callable1, Callable2, ...]} } + @classmethod + def init_callbacks(cls) -> dict[str, dict[str, list[Callable]]]: + return {} + +def add_callback(call_type: str, callback: Callable, transformer_options: dict, is_model_options=False): + add_callback_with_key(call_type, None, callback, transformer_options, is_model_options) + +def add_callback_with_key(call_type: str, key: str, callback: Callable, transformer_options: dict, is_model_options=False): + if is_model_options: + transformer_options = transformer_options.setdefault("transformer_options", {}) + callbacks: dict[str, dict[str, list]] = transformer_options.setdefault("callbacks", {}) + c = callbacks.setdefault(call_type, {}).setdefault(key, []) + c.append(callback) + +def get_callbacks_with_key(call_type: str, key: str, transformer_options: dict, is_model_options=False): + if is_model_options: + transformer_options = transformer_options.get("transformer_options", {}) + c_list = [] + callbacks: dict[str, list] = transformer_options.get("callbacks", {}) + c_list.extend(callbacks.get(call_type, {}).get(key, [])) + return c_list + +def get_all_callbacks(call_type: str, transformer_options: dict, is_model_options=False): + if is_model_options: + transformer_options = transformer_options.get("transformer_options", {}) + c_list = [] + callbacks: dict[str, list] = transformer_options.get("callbacks", {}) + for c in callbacks.get(call_type, {}).values(): + c_list.extend(c) + return c_list + +class WrappersMP: + OUTER_SAMPLE = "outer_sample" + SAMPLER_SAMPLE = "sampler_sample" + CALC_COND_BATCH = "calc_cond_batch" + APPLY_MODEL = "apply_model" + DIFFUSION_MODEL = "diffusion_model" + + # wrappers dict is in the format: + # {"wrapper_type": {"key": [Callable1, Callable2, ...]} } + @classmethod + def init_wrappers(cls) -> dict[str, dict[str, list[Callable]]]: + return {} + +def add_wrapper(wrapper_type: str, wrapper: Callable, transformer_options: dict, is_model_options=False): + add_wrapper_with_key(wrapper_type, None, wrapper, transformer_options, is_model_options) + +def add_wrapper_with_key(wrapper_type: str, key: str, wrapper: Callable, transformer_options: dict, is_model_options=False): + if is_model_options: + transformer_options = transformer_options.setdefault("transformer_options", {}) + wrappers: dict[str, dict[str, list]] = transformer_options.setdefault("wrappers", {}) + w = wrappers.setdefault(wrapper_type, {}).setdefault(key, []) + w.append(wrapper) + +def get_wrappers_with_key(wrapper_type: str, key: str, transformer_options: dict, is_model_options=False): + if is_model_options: + transformer_options = transformer_options.get("transformer_options", {}) + w_list = [] + wrappers: dict[str, list] = transformer_options.get("wrappers", {}) + w_list.extend(wrappers.get(wrapper_type, {}).get(key, [])) + return w_list + +def get_all_wrappers(wrapper_type: str, transformer_options: dict, is_model_options=False): + if is_model_options: + transformer_options = transformer_options.get("transformer_options", {}) + w_list = [] + wrappers: dict[str, list] = transformer_options.get("wrappers", {}) + for w in wrappers.get(wrapper_type, {}).values(): + w_list.extend(w) + return w_list + +class WrapperExecutor: + """Handles call stack of wrappers around a function in an ordered manner.""" + def __init__(self, original: Callable, class_obj: object, wrappers: list[Callable], idx: int): + # NOTE: class_obj exists so that wrappers surrounding a class method can access + # the class instance at runtime via executor.class_obj + self.original = original + self.class_obj = class_obj + self.wrappers = wrappers.copy() + self.idx = idx + self.is_last = idx == len(wrappers) + + def __call__(self, *args, **kwargs): + """Calls the next wrapper or original function, whichever is appropriate.""" + new_executor = self._create_next_executor() + return new_executor.execute(*args, **kwargs) + + def execute(self, *args, **kwargs): + """Used to initiate executor internally - DO NOT use this if you received executor in wrapper.""" + args = list(args) + kwargs = dict(kwargs) + if self.is_last: + return self.original(*args, **kwargs) + return self.wrappers[self.idx](self, *args, **kwargs) + + def _create_next_executor(self) -> 'WrapperExecutor': + new_idx = self.idx + 1 + if new_idx > len(self.wrappers): + raise Exception("Wrapper idx exceeded available wrappers; something went very wrong.") + if self.class_obj is None: + return WrapperExecutor.new_executor(self.original, self.wrappers, new_idx) + return WrapperExecutor.new_class_executor(self.original, self.class_obj, self.wrappers, new_idx) + + @classmethod + def new_executor(cls, original: Callable, wrappers: list[Callable], idx=0): + return cls(original, class_obj=None, wrappers=wrappers, idx=idx) + + @classmethod + def new_class_executor(cls, original: Callable, class_obj: object, wrappers: list[Callable], idx=0): + return cls(original, class_obj, wrappers, idx=idx) + +class PatcherInjection: + def __init__(self, inject: Callable, eject: Callable): + self.inject = inject + self.eject = eject + +def copy_nested_dicts(input_dict: dict): + new_dict = input_dict.copy() + for key, value in input_dict.items(): + if isinstance(value, dict): + new_dict[key] = copy_nested_dicts(value) + elif isinstance(value, list): + new_dict[key] = value.copy() + return new_dict + +def merge_nested_dicts(dict1: dict, dict2: dict, copy_dict1=True): + if copy_dict1: + merged_dict = copy_nested_dicts(dict1) + else: + merged_dict = dict1 + for key, value in dict2.items(): + if isinstance(value, dict): + curr_value = merged_dict.setdefault(key, {}) + merged_dict[key] = merge_nested_dicts(value, curr_value) + elif isinstance(value, list): + merged_dict.setdefault(key, []).extend(value) + else: + merged_dict[key] = value + return merged_dict diff --git a/comfy/sample.py b/comfy/sample.py new file mode 100644 index 0000000000000000000000000000000000000000..be5a7e246fdf6168cd74d1bb1b550c6852a83212 --- /dev/null +++ b/comfy/sample.py @@ -0,0 +1,52 @@ +import torch +import comfy.model_management +import comfy.samplers +import comfy.utils +import numpy as np +import logging + +def prepare_noise(latent_image, seed, noise_inds=None): + """ + creates random noise given a latent image and a seed. + optional arg skip can be used to skip and discard x number of noise generations for a given seed + """ + generator = torch.manual_seed(seed) + if noise_inds is None: + return torch.randn(latent_image.size(), dtype=latent_image.dtype, layout=latent_image.layout, generator=generator, device="cpu") + + unique_inds, inverse = np.unique(noise_inds, return_inverse=True) + noises = [] + for i in range(unique_inds[-1]+1): + noise = torch.randn([1] + list(latent_image.size())[1:], dtype=latent_image.dtype, layout=latent_image.layout, generator=generator, device="cpu") + if i in unique_inds: + noises.append(noise) + noises = [noises[i] for i in inverse] + noises = torch.cat(noises, axis=0) + return noises + +def fix_empty_latent_channels(model, latent_image): + latent_format = model.get_model_object("latent_format") #Resize the empty latent image so it has the right number of channels + if latent_format.latent_channels != latent_image.shape[1] and torch.count_nonzero(latent_image) == 0: + latent_image = comfy.utils.repeat_to_batch_size(latent_image, latent_format.latent_channels, dim=1) + if latent_format.latent_dimensions == 3 and latent_image.ndim == 4: + latent_image = latent_image.unsqueeze(2) + return latent_image + +def prepare_sampling(model, noise_shape, positive, negative, noise_mask): + logging.warning("Warning: comfy.sample.prepare_sampling isn't used anymore and can be removed") + return model, positive, negative, noise_mask, [] + +def cleanup_additional_models(models): + logging.warning("Warning: comfy.sample.cleanup_additional_models isn't used anymore and can be removed") + +def sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=1.0, disable_noise=False, start_step=None, last_step=None, force_full_denoise=False, noise_mask=None, sigmas=None, callback=None, disable_pbar=False, seed=None): + sampler = comfy.samplers.KSampler(model, steps=steps, device=model.load_device, sampler=sampler_name, scheduler=scheduler, denoise=denoise, model_options=model.model_options) + + samples = sampler.sample(noise, positive, negative, cfg=cfg, latent_image=latent_image, start_step=start_step, last_step=last_step, force_full_denoise=force_full_denoise, denoise_mask=noise_mask, sigmas=sigmas, callback=callback, disable_pbar=disable_pbar, seed=seed) + samples = samples.to(comfy.model_management.intermediate_device()) + return samples + +def sample_custom(model, noise, cfg, sampler, sigmas, positive, negative, latent_image, noise_mask=None, callback=None, disable_pbar=False, seed=None): + samples = comfy.samplers.sample(model, noise, positive, negative, cfg, model.load_device, sampler, sigmas, model_options=model.model_options, latent_image=latent_image, denoise_mask=noise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed) + samples = samples.to(comfy.model_management.intermediate_device()) + return samples diff --git a/comfy/sampler_helpers.py b/comfy/sampler_helpers.py new file mode 100644 index 0000000000000000000000000000000000000000..b70e5e6362616bac1e4c85c71643f64bef3f891a --- /dev/null +++ b/comfy/sampler_helpers.py @@ -0,0 +1,162 @@ +from __future__ import annotations +import uuid +import comfy.model_management +import comfy.conds +import comfy.utils +import comfy.hooks +import comfy.patcher_extension +from typing import TYPE_CHECKING +if TYPE_CHECKING: + from comfy.model_patcher import ModelPatcher + from comfy.model_base import BaseModel + from comfy.controlnet import ControlBase + +def prepare_mask(noise_mask, shape, device): + return comfy.utils.reshape_mask(noise_mask, shape).to(device) + +def get_models_from_cond(cond, model_type): + models = [] + for c in cond: + if model_type in c: + if isinstance(c[model_type], list): + models += c[model_type] + else: + models += [c[model_type]] + return models + +def get_hooks_from_cond(cond, full_hooks: comfy.hooks.HookGroup): + # get hooks from conds, and collect cnets so they can be checked for extra_hooks + cnets: list[ControlBase] = [] + for c in cond: + if 'hooks' in c: + for hook in c['hooks'].hooks: + full_hooks.add(hook) + if 'control' in c: + cnets.append(c['control']) + + def get_extra_hooks_from_cnet(cnet: ControlBase, _list: list): + if cnet.extra_hooks is not None: + _list.append(cnet.extra_hooks) + if cnet.previous_controlnet is None: + return _list + return get_extra_hooks_from_cnet(cnet.previous_controlnet, _list) + + hooks_list = [] + cnets = set(cnets) + for base_cnet in cnets: + get_extra_hooks_from_cnet(base_cnet, hooks_list) + extra_hooks = comfy.hooks.HookGroup.combine_all_hooks(hooks_list) + if extra_hooks is not None: + for hook in extra_hooks.hooks: + full_hooks.add(hook) + + return full_hooks + +def convert_cond(cond): + out = [] + for c in cond: + temp = c[1].copy() + model_conds = temp.get("model_conds", {}) + if c[0] is not None: + model_conds["c_crossattn"] = comfy.conds.CONDCrossAttn(c[0]) #TODO: remove + temp["cross_attn"] = c[0] + temp["model_conds"] = model_conds + temp["uuid"] = uuid.uuid4() + out.append(temp) + return out + +def get_additional_models(conds, dtype): + """loads additional models in conditioning""" + cnets: list[ControlBase] = [] + gligen = [] + add_models = [] + + for k in conds: + cnets += get_models_from_cond(conds[k], "control") + gligen += get_models_from_cond(conds[k], "gligen") + add_models += get_models_from_cond(conds[k], "additional_models") + + control_nets = set(cnets) + + inference_memory = 0 + control_models = [] + for m in control_nets: + control_models += m.get_models() + inference_memory += m.inference_memory_requirements(dtype) + + gligen = [x[1] for x in gligen] + models = control_models + gligen + add_models + + return models, inference_memory + +def get_additional_models_from_model_options(model_options: dict[str]=None): + """loads additional models from registered AddModels hooks""" + models = [] + if model_options is not None and "registered_hooks" in model_options: + registered: comfy.hooks.HookGroup = model_options["registered_hooks"] + for hook in registered.get_type(comfy.hooks.EnumHookType.AdditionalModels): + hook: comfy.hooks.AdditionalModelsHook + models.extend(hook.models) + return models + +def cleanup_additional_models(models): + """cleanup additional models that were loaded""" + for m in models: + if hasattr(m, 'cleanup'): + m.cleanup() + + +def prepare_sampling(model: ModelPatcher, noise_shape, conds, model_options=None): + real_model: BaseModel = None + models, inference_memory = get_additional_models(conds, model.model_dtype()) + models += get_additional_models_from_model_options(model_options) + models += model.get_nested_additional_models() # TODO: does this require inference_memory update? + memory_required = model.memory_required([noise_shape[0] * 2] + list(noise_shape[1:])) + inference_memory + minimum_memory_required = model.memory_required([noise_shape[0]] + list(noise_shape[1:])) + inference_memory + comfy.model_management.load_models_gpu([model] + models, memory_required=memory_required, minimum_memory_required=minimum_memory_required) + real_model = model.model + + return real_model, conds, models + +def cleanup_models(conds, models): + cleanup_additional_models(models) + + control_cleanup = [] + for k in conds: + control_cleanup += get_models_from_cond(conds[k], "control") + + cleanup_additional_models(set(control_cleanup)) + +def prepare_model_patcher(model: 'ModelPatcher', conds, model_options: dict): + ''' + Registers hooks from conds. + ''' + # check for hooks in conds - if not registered, see if can be applied + hooks = comfy.hooks.HookGroup() + for k in conds: + get_hooks_from_cond(conds[k], hooks) + # add wrappers and callbacks from ModelPatcher to transformer_options + model_options["transformer_options"]["wrappers"] = comfy.patcher_extension.copy_nested_dicts(model.wrappers) + model_options["transformer_options"]["callbacks"] = comfy.patcher_extension.copy_nested_dicts(model.callbacks) + # begin registering hooks + registered = comfy.hooks.HookGroup() + target_dict = comfy.hooks.create_target_dict(comfy.hooks.EnumWeightTarget.Model) + # handle all TransformerOptionsHooks + for hook in hooks.get_type(comfy.hooks.EnumHookType.TransformerOptions): + hook: comfy.hooks.TransformerOptionsHook + hook.add_hook_patches(model, model_options, target_dict, registered) + # handle all AddModelsHooks + for hook in hooks.get_type(comfy.hooks.EnumHookType.AdditionalModels): + hook: comfy.hooks.AdditionalModelsHook + hook.add_hook_patches(model, model_options, target_dict, registered) + # handle all WeightHooks by registering on ModelPatcher + model.register_all_hook_patches(hooks, target_dict, model_options, registered) + # add registered_hooks onto model_options for further reference + if len(registered) > 0: + model_options["registered_hooks"] = registered + # merge original wrappers and callbacks with hooked wrappers and callbacks + to_load_options: dict[str] = model_options.setdefault("to_load_options", {}) + for wc_name in ["wrappers", "callbacks"]: + comfy.patcher_extension.merge_nested_dicts(to_load_options.setdefault(wc_name, {}), model_options["transformer_options"][wc_name], + copy_dict1=False) + return to_load_options diff --git a/comfy/samplers.py b/comfy/samplers.py new file mode 100644 index 0000000000000000000000000000000000000000..c508a3a419bb8745c22f944ca63a4682a363dd6f --- /dev/null +++ b/comfy/samplers.py @@ -0,0 +1,1110 @@ +from __future__ import annotations +from .k_diffusion import sampling as k_diffusion_sampling +from .extra_samplers import uni_pc +from typing import TYPE_CHECKING, Callable, NamedTuple +if TYPE_CHECKING: + from comfy.model_patcher import ModelPatcher + from comfy.model_base import BaseModel + from comfy.controlnet import ControlBase +import torch +from functools import partial +import collections +from comfy import model_management +import math +import logging +import comfy.samplers +import comfy.sampler_helpers +import comfy.model_patcher +import comfy.patcher_extension +import comfy.hooks +import scipy.stats +import numpy + +def get_area_and_mult(conds, x_in, timestep_in): + dims = tuple(x_in.shape[2:]) + area = None + strength = 1.0 + + if 'timestep_start' in conds: + timestep_start = conds['timestep_start'] + if timestep_in[0] > timestep_start: + return None + if 'timestep_end' in conds: + timestep_end = conds['timestep_end'] + if timestep_in[0] < timestep_end: + return None + if 'area' in conds: + area = list(conds['area']) + if 'strength' in conds: + strength = conds['strength'] + + input_x = x_in + if area is not None: + for i in range(len(dims)): + area[i] = min(input_x.shape[i + 2] - area[len(dims) + i], area[i]) + input_x = input_x.narrow(i + 2, area[len(dims) + i], area[i]) + + if 'mask' in conds: + # Scale the mask to the size of the input + # The mask should have been resized as we began the sampling process + mask_strength = 1.0 + if "mask_strength" in conds: + mask_strength = conds["mask_strength"] + mask = conds['mask'] + assert(mask.shape[1:] == x_in.shape[2:]) + + mask = mask[:input_x.shape[0]] + if area is not None: + for i in range(len(dims)): + mask = mask.narrow(i + 1, area[len(dims) + i], area[i]) + + mask = mask * mask_strength + mask = mask.unsqueeze(1).repeat(input_x.shape[0] // mask.shape[0], input_x.shape[1], 1, 1) + else: + mask = torch.ones_like(input_x) + mult = mask * strength + + if 'mask' not in conds and area is not None: + rr = 8 + for i in range(len(dims)): + if area[len(dims) + i] != 0: + for t in range(rr): + m = mult.narrow(i + 2, t, 1) + m *= ((1.0/rr) * (t + 1)) + if (area[i] + area[len(dims) + i]) < x_in.shape[i + 2]: + for t in range(rr): + m = mult.narrow(i + 2, area[i] - 1 - t, 1) + m *= ((1.0/rr) * (t + 1)) + + conditioning = {} + model_conds = conds["model_conds"] + for c in model_conds: + conditioning[c] = model_conds[c].process_cond(batch_size=x_in.shape[0], device=x_in.device, area=area) + + hooks = conds.get('hooks', None) + control = conds.get('control', None) + + patches = None + if 'gligen' in conds: + gligen = conds['gligen'] + patches = {} + gligen_type = gligen[0] + gligen_model = gligen[1] + if gligen_type == "position": + gligen_patch = gligen_model.model.set_position(input_x.shape, gligen[2], input_x.device) + else: + gligen_patch = gligen_model.model.set_empty(input_x.shape, input_x.device) + + patches['middle_patch'] = [gligen_patch] + + cond_obj = collections.namedtuple('cond_obj', ['input_x', 'mult', 'conditioning', 'area', 'control', 'patches', 'uuid', 'hooks']) + return cond_obj(input_x, mult, conditioning, area, control, patches, conds['uuid'], hooks) + +def cond_equal_size(c1, c2): + if c1 is c2: + return True + if c1.keys() != c2.keys(): + return False + for k in c1: + if not c1[k].can_concat(c2[k]): + return False + return True + +def can_concat_cond(c1, c2): + if c1.input_x.shape != c2.input_x.shape: + return False + + def objects_concatable(obj1, obj2): + if (obj1 is None) != (obj2 is None): + return False + if obj1 is not None: + if obj1 is not obj2: + return False + return True + + if not objects_concatable(c1.control, c2.control): + return False + + if not objects_concatable(c1.patches, c2.patches): + return False + + return cond_equal_size(c1.conditioning, c2.conditioning) + +def cond_cat(c_list): + temp = {} + for x in c_list: + for k in x: + cur = temp.get(k, []) + cur.append(x[k]) + temp[k] = cur + + out = {} + for k in temp: + conds = temp[k] + out[k] = conds[0].concat(conds[1:]) + + return out + +def finalize_default_conds(model: 'BaseModel', hooked_to_run: dict[comfy.hooks.HookGroup,list[tuple[tuple,int]]], default_conds: list[list[dict]], x_in, timestep, model_options): + # need to figure out remaining unmasked area for conds + default_mults = [] + for _ in default_conds: + default_mults.append(torch.ones_like(x_in)) + # look through each finalized cond in hooked_to_run for 'mult' and subtract it from each cond + for lora_hooks, to_run in hooked_to_run.items(): + for cond_obj, i in to_run: + # if no default_cond for cond_type, do nothing + if len(default_conds[i]) == 0: + continue + area: list[int] = cond_obj.area + if area is not None: + curr_default_mult: torch.Tensor = default_mults[i] + dims = len(area) // 2 + for i in range(dims): + curr_default_mult = curr_default_mult.narrow(i + 2, area[i + dims], area[i]) + curr_default_mult -= cond_obj.mult + else: + default_mults[i] -= cond_obj.mult + # for each default_mult, ReLU to make negatives=0, and then check for any nonzeros + for i, mult in enumerate(default_mults): + # if no default_cond for cond type, do nothing + if len(default_conds[i]) == 0: + continue + torch.nn.functional.relu(mult, inplace=True) + # if mult is all zeros, then don't add default_cond + if torch.max(mult) == 0.0: + continue + + cond = default_conds[i] + for x in cond: + # do get_area_and_mult to get all the expected values + p = comfy.samplers.get_area_and_mult(x, x_in, timestep) + if p is None: + continue + # replace p's mult with calculated mult + p = p._replace(mult=mult) + if p.hooks is not None: + model.current_patcher.prepare_hook_patches_current_keyframe(timestep, p.hooks, model_options) + hooked_to_run.setdefault(p.hooks, list()) + hooked_to_run[p.hooks] += [(p, i)] + +def calc_cond_batch(model: 'BaseModel', conds: list[list[dict]], x_in: torch.Tensor, timestep, model_options): + executor = comfy.patcher_extension.WrapperExecutor.new_executor( + _calc_cond_batch, + comfy.patcher_extension.get_all_wrappers(comfy.patcher_extension.WrappersMP.CALC_COND_BATCH, model_options, is_model_options=True) + ) + return executor.execute(model, conds, x_in, timestep, model_options) + +def _calc_cond_batch(model: 'BaseModel', conds: list[list[dict]], x_in: torch.Tensor, timestep, model_options): + out_conds = [] + out_counts = [] + # separate conds by matching hooks + hooked_to_run: dict[comfy.hooks.HookGroup,list[tuple[tuple,int]]] = {} + default_conds = [] + has_default_conds = False + + for i in range(len(conds)): + out_conds.append(torch.zeros_like(x_in)) + out_counts.append(torch.ones_like(x_in) * 1e-37) + + cond = conds[i] + default_c = [] + if cond is not None: + for x in cond: + if 'default' in x: + default_c.append(x) + has_default_conds = True + continue + p = comfy.samplers.get_area_and_mult(x, x_in, timestep) + if p is None: + continue + if p.hooks is not None: + model.current_patcher.prepare_hook_patches_current_keyframe(timestep, p.hooks, model_options) + hooked_to_run.setdefault(p.hooks, list()) + hooked_to_run[p.hooks] += [(p, i)] + default_conds.append(default_c) + + if has_default_conds: + finalize_default_conds(model, hooked_to_run, default_conds, x_in, timestep, model_options) + + model.current_patcher.prepare_state(timestep) + + # run every hooked_to_run separately + for hooks, to_run in hooked_to_run.items(): + while len(to_run) > 0: + first = to_run[0] + first_shape = first[0][0].shape + to_batch_temp = [] + for x in range(len(to_run)): + if can_concat_cond(to_run[x][0], first[0]): + to_batch_temp += [x] + + to_batch_temp.reverse() + to_batch = to_batch_temp[:1] + + free_memory = model_management.get_free_memory(x_in.device) + for i in range(1, len(to_batch_temp) + 1): + batch_amount = to_batch_temp[:len(to_batch_temp)//i] + input_shape = [len(batch_amount) * first_shape[0]] + list(first_shape)[1:] + if model.memory_required(input_shape) * 1.5 < free_memory: + to_batch = batch_amount + break + + input_x = [] + mult = [] + c = [] + cond_or_uncond = [] + uuids = [] + area = [] + control = None + patches = None + for x in to_batch: + o = to_run.pop(x) + p = o[0] + input_x.append(p.input_x) + mult.append(p.mult) + c.append(p.conditioning) + area.append(p.area) + cond_or_uncond.append(o[1]) + uuids.append(p.uuid) + control = p.control + patches = p.patches + + batch_chunks = len(cond_or_uncond) + input_x = torch.cat(input_x) + c = cond_cat(c) + timestep_ = torch.cat([timestep] * batch_chunks) + + transformer_options = model.current_patcher.apply_hooks(hooks=hooks) + if 'transformer_options' in model_options: + transformer_options = comfy.patcher_extension.merge_nested_dicts(transformer_options, + model_options['transformer_options'], + copy_dict1=False) + + if patches is not None: + # TODO: replace with merge_nested_dicts function + if "patches" in transformer_options: + cur_patches = transformer_options["patches"].copy() + for p in patches: + if p in cur_patches: + cur_patches[p] = cur_patches[p] + patches[p] + else: + cur_patches[p] = patches[p] + transformer_options["patches"] = cur_patches + else: + transformer_options["patches"] = patches + + transformer_options["cond_or_uncond"] = cond_or_uncond[:] + transformer_options["uuids"] = uuids[:] + transformer_options["sigmas"] = timestep + + c['transformer_options'] = transformer_options + + if control is not None: + c['control'] = control.get_control(input_x, timestep_, c, len(cond_or_uncond), transformer_options) + + if 'model_function_wrapper' in model_options: + output = model_options['model_function_wrapper'](model.apply_model, {"input": input_x, "timestep": timestep_, "c": c, "cond_or_uncond": cond_or_uncond}).chunk(batch_chunks) + else: + output = model.apply_model(input_x, timestep_, **c).chunk(batch_chunks) + + for o in range(batch_chunks): + cond_index = cond_or_uncond[o] + a = area[o] + if a is None: + out_conds[cond_index] += output[o] * mult[o] + out_counts[cond_index] += mult[o] + else: + out_c = out_conds[cond_index] + out_cts = out_counts[cond_index] + dims = len(a) // 2 + for i in range(dims): + out_c = out_c.narrow(i + 2, a[i + dims], a[i]) + out_cts = out_cts.narrow(i + 2, a[i + dims], a[i]) + out_c += output[o] * mult[o] + out_cts += mult[o] + + for i in range(len(out_conds)): + out_conds[i] /= out_counts[i] + + return out_conds + +def calc_cond_uncond_batch(model, cond, uncond, x_in, timestep, model_options): #TODO: remove + logging.warning("WARNING: The comfy.samplers.calc_cond_uncond_batch function is deprecated please use the calc_cond_batch one instead.") + return tuple(calc_cond_batch(model, [cond, uncond], x_in, timestep, model_options)) + +def cfg_function(model, cond_pred, uncond_pred, cond_scale, x, timestep, model_options={}, cond=None, uncond=None): + if "sampler_cfg_function" in model_options: + args = {"cond": x - cond_pred, "uncond": x - uncond_pred, "cond_scale": cond_scale, "timestep": timestep, "input": x, "sigma": timestep, + "cond_denoised": cond_pred, "uncond_denoised": uncond_pred, "model": model, "model_options": model_options} + cfg_result = x - model_options["sampler_cfg_function"](args) + else: + cfg_result = uncond_pred + (cond_pred - uncond_pred) * cond_scale + + for fn in model_options.get("sampler_post_cfg_function", []): + args = {"denoised": cfg_result, "cond": cond, "uncond": uncond, "cond_scale": cond_scale, "model": model, "uncond_denoised": uncond_pred, "cond_denoised": cond_pred, + "sigma": timestep, "model_options": model_options, "input": x} + cfg_result = fn(args) + + return cfg_result + +#The main sampling function shared by all the samplers +#Returns denoised +def sampling_function(model, x, timestep, uncond, cond, cond_scale, model_options={}, seed=None): + if math.isclose(cond_scale, 1.0) and model_options.get("disable_cfg1_optimization", False) == False: + uncond_ = None + else: + uncond_ = uncond + + conds = [cond, uncond_] + out = calc_cond_batch(model, conds, x, timestep, model_options) + + for fn in model_options.get("sampler_pre_cfg_function", []): + args = {"conds":conds, "conds_out": out, "cond_scale": cond_scale, "timestep": timestep, + "input": x, "sigma": timestep, "model": model, "model_options": model_options} + out = fn(args) + + return cfg_function(model, out[0], out[1], cond_scale, x, timestep, model_options=model_options, cond=cond, uncond=uncond_) + + +class KSamplerX0Inpaint: + def __init__(self, model, sigmas): + self.inner_model = model + self.sigmas = sigmas + def __call__(self, x, sigma, denoise_mask, model_options={}, seed=None): + if denoise_mask is not None: + if "denoise_mask_function" in model_options: + denoise_mask = model_options["denoise_mask_function"](sigma, denoise_mask, extra_options={"model": self.inner_model, "sigmas": self.sigmas}) + latent_mask = 1. - denoise_mask + x = x * denoise_mask + self.inner_model.inner_model.scale_latent_inpaint(x=x, sigma=sigma, noise=self.noise, latent_image=self.latent_image) * latent_mask + out = self.inner_model(x, sigma, model_options=model_options, seed=seed) + if denoise_mask is not None: + out = out * denoise_mask + self.latent_image * latent_mask + return out + +def simple_scheduler(model_sampling, steps): + s = model_sampling + sigs = [] + ss = len(s.sigmas) / steps + for x in range(steps): + sigs += [float(s.sigmas[-(1 + int(x * ss))])] + sigs += [0.0] + return torch.FloatTensor(sigs) + +def ddim_scheduler(model_sampling, steps): + s = model_sampling + sigs = [] + x = 1 + if math.isclose(float(s.sigmas[x]), 0, abs_tol=0.00001): + steps += 1 + sigs = [] + else: + sigs = [0.0] + + ss = max(len(s.sigmas) // steps, 1) + while x < len(s.sigmas): + sigs += [float(s.sigmas[x])] + x += ss + sigs = sigs[::-1] + return torch.FloatTensor(sigs) + +def normal_scheduler(model_sampling, steps, sgm=False, floor=False): + s = model_sampling + start = s.timestep(s.sigma_max) + end = s.timestep(s.sigma_min) + + append_zero = True + if sgm: + timesteps = torch.linspace(start, end, steps + 1)[:-1] + else: + if math.isclose(float(s.sigma(end)), 0, abs_tol=0.00001): + steps += 1 + append_zero = False + timesteps = torch.linspace(start, end, steps) + + sigs = [] + for x in range(len(timesteps)): + ts = timesteps[x] + sigs.append(float(s.sigma(ts))) + + if append_zero: + sigs += [0.0] + + return torch.FloatTensor(sigs) + +# Implemented based on: https://arxiv.org/abs/2407.12173 +def beta_scheduler(model_sampling, steps, alpha=0.6, beta=0.6): + total_timesteps = (len(model_sampling.sigmas) - 1) + ts = 1 - numpy.linspace(0, 1, steps, endpoint=False) + ts = numpy.rint(scipy.stats.beta.ppf(ts, alpha, beta) * total_timesteps) + + sigs = [] + last_t = -1 + for t in ts: + if t != last_t: + sigs += [float(model_sampling.sigmas[int(t)])] + last_t = t + sigs += [0.0] + return torch.FloatTensor(sigs) + +# from: https://github.com/genmoai/models/blob/main/src/mochi_preview/infer.py#L41 +def linear_quadratic_schedule(model_sampling, steps, threshold_noise=0.025, linear_steps=None): + if steps == 1: + sigma_schedule = [1.0, 0.0] + else: + if linear_steps is None: + linear_steps = steps // 2 + linear_sigma_schedule = [i * threshold_noise / linear_steps for i in range(linear_steps)] + threshold_noise_step_diff = linear_steps - threshold_noise * steps + quadratic_steps = steps - linear_steps + quadratic_coef = threshold_noise_step_diff / (linear_steps * quadratic_steps ** 2) + linear_coef = threshold_noise / linear_steps - 2 * threshold_noise_step_diff / (quadratic_steps ** 2) + const = quadratic_coef * (linear_steps ** 2) + quadratic_sigma_schedule = [ + quadratic_coef * (i ** 2) + linear_coef * i + const + for i in range(linear_steps, steps) + ] + sigma_schedule = linear_sigma_schedule + quadratic_sigma_schedule + [1.0] + sigma_schedule = [1.0 - x for x in sigma_schedule] + return torch.FloatTensor(sigma_schedule) * model_sampling.sigma_max.cpu() + +# Referenced from https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/15608 +def kl_optimal_scheduler(n: int, sigma_min: float, sigma_max: float) -> torch.Tensor: + adj_idxs = torch.arange(n, dtype=torch.float).div_(n - 1) + sigmas = adj_idxs.new_zeros(n + 1) + sigmas[:-1] = (adj_idxs * math.atan(sigma_min) + (1 - adj_idxs) * math.atan(sigma_max)).tan_() + return sigmas + +def get_mask_aabb(masks): + if masks.numel() == 0: + return torch.zeros((0, 4), device=masks.device, dtype=torch.int) + + b = masks.shape[0] + + bounding_boxes = torch.zeros((b, 4), device=masks.device, dtype=torch.int) + is_empty = torch.zeros((b), device=masks.device, dtype=torch.bool) + for i in range(b): + mask = masks[i] + if mask.numel() == 0: + continue + if torch.max(mask != 0) == False: + is_empty[i] = True + continue + y, x = torch.where(mask) + bounding_boxes[i, 0] = torch.min(x) + bounding_boxes[i, 1] = torch.min(y) + bounding_boxes[i, 2] = torch.max(x) + bounding_boxes[i, 3] = torch.max(y) + + return bounding_boxes, is_empty + +def resolve_areas_and_cond_masks_multidim(conditions, dims, device): + # We need to decide on an area outside the sampling loop in order to properly generate opposite areas of equal sizes. + # While we're doing this, we can also resolve the mask device and scaling for performance reasons + for i in range(len(conditions)): + c = conditions[i] + if 'area' in c: + area = c['area'] + if area[0] == "percentage": + modified = c.copy() + a = area[1:] + a_len = len(a) // 2 + area = () + for d in range(len(dims)): + area += (max(1, round(a[d] * dims[d])),) + for d in range(len(dims)): + area += (round(a[d + a_len] * dims[d]),) + + modified['area'] = area + c = modified + conditions[i] = c + + if 'mask' in c: + mask = c['mask'] + mask = mask.to(device=device) + modified = c.copy() + if len(mask.shape) == len(dims): + mask = mask.unsqueeze(0) + if mask.shape[1:] != dims: + mask = torch.nn.functional.interpolate(mask.unsqueeze(1), size=dims, mode='bilinear', align_corners=False).squeeze(1) + + if modified.get("set_area_to_bounds", False): #TODO: handle dim != 2 + bounds = torch.max(torch.abs(mask),dim=0).values.unsqueeze(0) + boxes, is_empty = get_mask_aabb(bounds) + if is_empty[0]: + # Use the minimum possible size for efficiency reasons. (Since the mask is all-0, this becomes a noop anyway) + modified['area'] = (8, 8, 0, 0) + else: + box = boxes[0] + H, W, Y, X = (box[3] - box[1] + 1, box[2] - box[0] + 1, box[1], box[0]) + H = max(8, H) + W = max(8, W) + area = (int(H), int(W), int(Y), int(X)) + modified['area'] = area + + modified['mask'] = mask + conditions[i] = modified + +def resolve_areas_and_cond_masks(conditions, h, w, device): + logging.warning("WARNING: The comfy.samplers.resolve_areas_and_cond_masks function is deprecated please use the resolve_areas_and_cond_masks_multidim one instead.") + return resolve_areas_and_cond_masks_multidim(conditions, [h, w], device) + +def create_cond_with_same_area_if_none(conds, c): #TODO: handle dim != 2 + if 'area' not in c: + return + + c_area = c['area'] + smallest = None + for x in conds: + if 'area' in x: + a = x['area'] + if c_area[2] >= a[2] and c_area[3] >= a[3]: + if a[0] + a[2] >= c_area[0] + c_area[2]: + if a[1] + a[3] >= c_area[1] + c_area[3]: + if smallest is None: + smallest = x + elif 'area' not in smallest: + smallest = x + else: + if smallest['area'][0] * smallest['area'][1] > a[0] * a[1]: + smallest = x + else: + if smallest is None: + smallest = x + if smallest is None: + return + if 'area' in smallest: + if smallest['area'] == c_area: + return + + out = c.copy() + out['model_conds'] = smallest['model_conds'].copy() #TODO: which fields should be copied? + conds += [out] + +def calculate_start_end_timesteps(model, conds): + s = model.model_sampling + for t in range(len(conds)): + x = conds[t] + + timestep_start = None + timestep_end = None + # handle clip hook schedule, if needed + if 'clip_start_percent' in x: + timestep_start = s.percent_to_sigma(max(x['clip_start_percent'], x.get('start_percent', 0.0))) + timestep_end = s.percent_to_sigma(min(x['clip_end_percent'], x.get('end_percent', 1.0))) + else: + if 'start_percent' in x: + timestep_start = s.percent_to_sigma(x['start_percent']) + if 'end_percent' in x: + timestep_end = s.percent_to_sigma(x['end_percent']) + + if (timestep_start is not None) or (timestep_end is not None): + n = x.copy() + if (timestep_start is not None): + n['timestep_start'] = timestep_start + if (timestep_end is not None): + n['timestep_end'] = timestep_end + conds[t] = n + +def pre_run_control(model, conds): + s = model.model_sampling + for t in range(len(conds)): + x = conds[t] + + percent_to_timestep_function = lambda a: s.percent_to_sigma(a) + if 'control' in x: + x['control'].pre_run(model, percent_to_timestep_function) + +def apply_empty_x_to_equal_area(conds, uncond, name, uncond_fill_func): + cond_cnets = [] + cond_other = [] + uncond_cnets = [] + uncond_other = [] + for t in range(len(conds)): + x = conds[t] + if 'area' not in x: + if name in x and x[name] is not None: + cond_cnets.append(x[name]) + else: + cond_other.append((x, t)) + for t in range(len(uncond)): + x = uncond[t] + if 'area' not in x: + if name in x and x[name] is not None: + uncond_cnets.append(x[name]) + else: + uncond_other.append((x, t)) + + if len(uncond_cnets) > 0: + return + + for x in range(len(cond_cnets)): + temp = uncond_other[x % len(uncond_other)] + o = temp[0] + if name in o and o[name] is not None: + n = o.copy() + n[name] = uncond_fill_func(cond_cnets, x) + uncond += [n] + else: + n = o.copy() + n[name] = uncond_fill_func(cond_cnets, x) + uncond[temp[1]] = n + +def encode_model_conds(model_function, conds, noise, device, prompt_type, **kwargs): + for t in range(len(conds)): + x = conds[t] + params = x.copy() + params["device"] = device + params["noise"] = noise + default_width = None + if len(noise.shape) >= 4: #TODO: 8 multiple should be set by the model + default_width = noise.shape[3] * 8 + params["width"] = params.get("width", default_width) + params["height"] = params.get("height", noise.shape[2] * 8) + params["prompt_type"] = params.get("prompt_type", prompt_type) + for k in kwargs: + if k not in params: + params[k] = kwargs[k] + + out = model_function(**params) + x = x.copy() + model_conds = x['model_conds'].copy() + for k in out: + model_conds[k] = out[k] + x['model_conds'] = model_conds + conds[t] = x + return conds + +class Sampler: + def sample(self): + pass + + def max_denoise(self, model_wrap, sigmas): + max_sigma = float(model_wrap.inner_model.model_sampling.sigma_max) + sigma = float(sigmas[0]) + return math.isclose(max_sigma, sigma, rel_tol=1e-05) or sigma > max_sigma + +KSAMPLER_NAMES = ["euler", "euler_cfg_pp", "euler_ancestral", "euler_ancestral_cfg_pp", "heun", "heunpp2","dpm_2", "dpm_2_ancestral", + "lms", "dpm_fast", "dpm_adaptive", "dpmpp_2s_ancestral", "dpmpp_2s_ancestral_cfg_pp", "dpmpp_sde", "dpmpp_sde_gpu", + "dpmpp_2m", "dpmpp_2m_cfg_pp", "dpmpp_2m_sde", "dpmpp_2m_sde_gpu", "dpmpp_3m_sde", "dpmpp_3m_sde_gpu", "ddpm", "lcm", + "ipndm", "ipndm_v", "deis", "res_multistep", "res_multistep_cfg_pp"] + +class KSAMPLER(Sampler): + def __init__(self, sampler_function, extra_options={}, inpaint_options={}): + self.sampler_function = sampler_function + self.extra_options = extra_options + self.inpaint_options = inpaint_options + + def sample(self, model_wrap, sigmas, extra_args, callback, noise, latent_image=None, denoise_mask=None, disable_pbar=False): + extra_args["denoise_mask"] = denoise_mask + model_k = KSamplerX0Inpaint(model_wrap, sigmas) + model_k.latent_image = latent_image + if self.inpaint_options.get("random", False): #TODO: Should this be the default? + generator = torch.manual_seed(extra_args.get("seed", 41) + 1) + model_k.noise = torch.randn(noise.shape, generator=generator, device="cpu").to(noise.dtype).to(noise.device) + else: + model_k.noise = noise + + noise = model_wrap.inner_model.model_sampling.noise_scaling(sigmas[0], noise, latent_image, self.max_denoise(model_wrap, sigmas)) + + k_callback = None + total_steps = len(sigmas) - 1 + if callback is not None: + k_callback = lambda x: callback(x["i"], x["denoised"], x["x"], total_steps) + + samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **self.extra_options) + samples = model_wrap.inner_model.model_sampling.inverse_noise_scaling(sigmas[-1], samples) + return samples + + +def ksampler(sampler_name, extra_options={}, inpaint_options={}): + if sampler_name == "dpm_fast": + def dpm_fast_function(model, noise, sigmas, extra_args, callback, disable): + if len(sigmas) <= 1: + return noise + + sigma_min = sigmas[-1] + if sigma_min == 0: + sigma_min = sigmas[-2] + total_steps = len(sigmas) - 1 + return k_diffusion_sampling.sample_dpm_fast(model, noise, sigma_min, sigmas[0], total_steps, extra_args=extra_args, callback=callback, disable=disable) + sampler_function = dpm_fast_function + elif sampler_name == "dpm_adaptive": + def dpm_adaptive_function(model, noise, sigmas, extra_args, callback, disable, **extra_options): + if len(sigmas) <= 1: + return noise + + sigma_min = sigmas[-1] + if sigma_min == 0: + sigma_min = sigmas[-2] + return k_diffusion_sampling.sample_dpm_adaptive(model, noise, sigma_min, sigmas[0], extra_args=extra_args, callback=callback, disable=disable, **extra_options) + sampler_function = dpm_adaptive_function + else: + sampler_function = getattr(k_diffusion_sampling, "sample_{}".format(sampler_name)) + + return KSAMPLER(sampler_function, extra_options, inpaint_options) + + +def process_conds(model, noise, conds, device, latent_image=None, denoise_mask=None, seed=None): + for k in conds: + conds[k] = conds[k][:] + resolve_areas_and_cond_masks_multidim(conds[k], noise.shape[2:], device) + + for k in conds: + calculate_start_end_timesteps(model, conds[k]) + + if hasattr(model, 'extra_conds'): + for k in conds: + conds[k] = encode_model_conds(model.extra_conds, conds[k], noise, device, k, latent_image=latent_image, denoise_mask=denoise_mask, seed=seed) + + #make sure each cond area has an opposite one with the same area + for k in conds: + for c in conds[k]: + for kk in conds: + if k != kk: + create_cond_with_same_area_if_none(conds[kk], c) + + for k in conds: + for c in conds[k]: + if 'hooks' in c: + for hook in c['hooks'].hooks: + hook.initialize_timesteps(model) + + for k in conds: + pre_run_control(model, conds[k]) + + if "positive" in conds: + positive = conds["positive"] + for k in conds: + if k != "positive": + apply_empty_x_to_equal_area(list(filter(lambda c: c.get('control_apply_to_uncond', False) == True, positive)), conds[k], 'control', lambda cond_cnets, x: cond_cnets[x]) + apply_empty_x_to_equal_area(positive, conds[k], 'gligen', lambda cond_cnets, x: cond_cnets[x]) + + return conds + + +def preprocess_conds_hooks(conds: dict[str, list[dict[str]]]): + # determine which ControlNets have extra_hooks that should be combined with normal hooks + hook_replacement: dict[tuple[ControlBase, comfy.hooks.HookGroup], list[dict]] = {} + for k in conds: + for kk in conds[k]: + if 'control' in kk: + control: 'ControlBase' = kk['control'] + extra_hooks = control.get_extra_hooks() + if len(extra_hooks) > 0: + hooks: comfy.hooks.HookGroup = kk.get('hooks', None) + to_replace = hook_replacement.setdefault((control, hooks), []) + to_replace.append(kk) + # if nothing to replace, do nothing + if len(hook_replacement) == 0: + return + + # for optimal sampling performance, common ControlNets + hook combos should have identical hooks + # on the cond dicts + for key, conds_to_modify in hook_replacement.items(): + control = key[0] + hooks = key[1] + hooks = comfy.hooks.HookGroup.combine_all_hooks(control.get_extra_hooks() + [hooks]) + # if combined hooks are not None, set as new hooks for all relevant conds + if hooks is not None: + for cond in conds_to_modify: + cond['hooks'] = hooks + +def filter_registered_hooks_on_conds(conds: dict[str, list[dict[str]]], model_options: dict[str]): + '''Modify 'hooks' on conds so that only hooks that were registered remain. Properly accounts for + HookGroups that have the same reference.''' + registered: comfy.hooks.HookGroup = model_options.get('registered_hooks', None) + # if None were registered, make sure all hooks are cleaned from conds + if registered is None: + for k in conds: + for kk in conds[k]: + kk.pop('hooks', None) + return + # find conds that contain hooks to be replaced - group by common HookGroup refs + hook_replacement: dict[comfy.hooks.HookGroup, list[dict]] = {} + for k in conds: + for kk in conds[k]: + hooks: comfy.hooks.HookGroup = kk.get('hooks', None) + if hooks is not None: + if not hooks.is_subset_of(registered): + to_replace = hook_replacement.setdefault(hooks, []) + to_replace.append(kk) + # for each hook to replace, create a new proper HookGroup and assign to all common conds + for hooks, conds_to_modify in hook_replacement.items(): + new_hooks = hooks.new_with_common_hooks(registered) + if len(new_hooks) == 0: + new_hooks = None + for kk in conds_to_modify: + kk['hooks'] = new_hooks + + +def get_total_hook_groups_in_conds(conds: dict[str, list[dict[str]]]): + hooks_set = set() + for k in conds: + for kk in conds[k]: + hooks_set.add(kk.get('hooks', None)) + return len(hooks_set) + + +def cast_to_load_options(model_options: dict[str], device=None, dtype=None): + ''' + If any patches from hooks, wrappers, or callbacks have .to to be called, call it. + ''' + if model_options is None: + return + to_load_options = model_options.get("to_load_options", None) + if to_load_options is None: + return + + casts = [] + if device is not None: + casts.append(device) + if dtype is not None: + casts.append(dtype) + # if nothing to apply, do nothing + if len(casts) == 0: + return + + # try to call .to on patches + if "patches" in to_load_options: + patches = to_load_options["patches"] + for name in patches: + patch_list = patches[name] + for i in range(len(patch_list)): + if hasattr(patch_list[i], "to"): + for cast in casts: + patch_list[i] = patch_list[i].to(cast) + if "patches_replace" in to_load_options: + patches = to_load_options["patches_replace"] + for name in patches: + patch_list = patches[name] + for k in patch_list: + if hasattr(patch_list[k], "to"): + for cast in casts: + patch_list[k] = patch_list[k].to(cast) + # try to call .to on any wrappers/callbacks + wrappers_and_callbacks = ["wrappers", "callbacks"] + for wc_name in wrappers_and_callbacks: + if wc_name in to_load_options: + wc: dict[str, list] = to_load_options[wc_name] + for wc_dict in wc.values(): + for wc_list in wc_dict.values(): + for i in range(len(wc_list)): + if hasattr(wc_list[i], "to"): + for cast in casts: + wc_list[i] = wc_list[i].to(cast) + + +class CFGGuider: + def __init__(self, model_patcher: ModelPatcher): + self.model_patcher = model_patcher + self.model_options = model_patcher.model_options + self.original_conds = {} + self.cfg = 1.0 + + def set_conds(self, positive, negative): + self.inner_set_conds({"positive": positive, "negative": negative}) + + def set_cfg(self, cfg): + self.cfg = cfg + + def inner_set_conds(self, conds): + for k in conds: + self.original_conds[k] = comfy.sampler_helpers.convert_cond(conds[k]) + + def __call__(self, *args, **kwargs): + return self.predict_noise(*args, **kwargs) + + def predict_noise(self, x, timestep, model_options={}, seed=None): + return sampling_function(self.inner_model, x, timestep, self.conds.get("negative", None), self.conds.get("positive", None), self.cfg, model_options=model_options, seed=seed) + + def inner_sample(self, noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed): + if latent_image is not None and torch.count_nonzero(latent_image) > 0: #Don't shift the empty latent image. + latent_image = self.inner_model.process_latent_in(latent_image) + + self.conds = process_conds(self.inner_model, noise, self.conds, device, latent_image, denoise_mask, seed) + + extra_model_options = comfy.model_patcher.create_model_options_clone(self.model_options) + extra_model_options.setdefault("transformer_options", {})["sample_sigmas"] = sigmas + extra_args = {"model_options": extra_model_options, "seed": seed} + + executor = comfy.patcher_extension.WrapperExecutor.new_class_executor( + sampler.sample, + sampler, + comfy.patcher_extension.get_all_wrappers(comfy.patcher_extension.WrappersMP.SAMPLER_SAMPLE, extra_args["model_options"], is_model_options=True) + ) + samples = executor.execute(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar) + return self.inner_model.process_latent_out(samples.to(torch.float32)) + + def outer_sample(self, noise, latent_image, sampler, sigmas, denoise_mask=None, callback=None, disable_pbar=False, seed=None): + self.inner_model, self.conds, self.loaded_models = comfy.sampler_helpers.prepare_sampling(self.model_patcher, noise.shape, self.conds, self.model_options) + device = self.model_patcher.load_device + + if denoise_mask is not None: + denoise_mask = comfy.sampler_helpers.prepare_mask(denoise_mask, noise.shape, device) + + noise = noise.to(device) + latent_image = latent_image.to(device) + sigmas = sigmas.to(device) + cast_to_load_options(self.model_options, device=device, dtype=self.model_patcher.model_dtype()) + + try: + self.model_patcher.pre_run() + output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed) + finally: + self.model_patcher.cleanup() + + comfy.sampler_helpers.cleanup_models(self.conds, self.loaded_models) + del self.inner_model + del self.loaded_models + return output + + def sample(self, noise, latent_image, sampler, sigmas, denoise_mask=None, callback=None, disable_pbar=False, seed=None): + if sigmas.shape[-1] == 0: + return latent_image + + self.conds = {} + for k in self.original_conds: + self.conds[k] = list(map(lambda a: a.copy(), self.original_conds[k])) + preprocess_conds_hooks(self.conds) + + try: + orig_model_options = self.model_options + self.model_options = comfy.model_patcher.create_model_options_clone(self.model_options) + # if one hook type (or just None), then don't bother caching weights for hooks (will never change after first step) + orig_hook_mode = self.model_patcher.hook_mode + if get_total_hook_groups_in_conds(self.conds) <= 1: + self.model_patcher.hook_mode = comfy.hooks.EnumHookMode.MinVram + comfy.sampler_helpers.prepare_model_patcher(self.model_patcher, self.conds, self.model_options) + filter_registered_hooks_on_conds(self.conds, self.model_options) + executor = comfy.patcher_extension.WrapperExecutor.new_class_executor( + self.outer_sample, + self, + comfy.patcher_extension.get_all_wrappers(comfy.patcher_extension.WrappersMP.OUTER_SAMPLE, self.model_options, is_model_options=True) + ) + output = executor.execute(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed) + finally: + cast_to_load_options(self.model_options, device=self.model_patcher.offload_device) + self.model_options = orig_model_options + self.model_patcher.hook_mode = orig_hook_mode + self.model_patcher.restore_hook_patches() + + del self.conds + return output + + +def sample(model, noise, positive, negative, cfg, device, sampler, sigmas, model_options={}, latent_image=None, denoise_mask=None, callback=None, disable_pbar=False, seed=None): + cfg_guider = CFGGuider(model) + cfg_guider.set_conds(positive, negative) + cfg_guider.set_cfg(cfg) + return cfg_guider.sample(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed) + + +SAMPLER_NAMES = KSAMPLER_NAMES + ["ddim", "uni_pc", "uni_pc_bh2"] + +class SchedulerHandler(NamedTuple): + handler: Callable[..., torch.Tensor] + # Boolean indicates whether to call the handler like: + # scheduler_function(model_sampling, steps) or + # scheduler_function(n, sigma_min: float, sigma_max: float) + use_ms: bool = True + +SCHEDULER_HANDLERS = { + "normal": SchedulerHandler(normal_scheduler), + "karras": SchedulerHandler(k_diffusion_sampling.get_sigmas_karras, use_ms=False), + "exponential": SchedulerHandler(k_diffusion_sampling.get_sigmas_exponential, use_ms=False), + "sgm_uniform": SchedulerHandler(partial(normal_scheduler, sgm=True)), + "simple": SchedulerHandler(simple_scheduler), + "ddim_uniform": SchedulerHandler(ddim_scheduler), + "beta": SchedulerHandler(beta_scheduler), + "linear_quadratic": SchedulerHandler(linear_quadratic_schedule), + "kl_optimal": SchedulerHandler(kl_optimal_scheduler, use_ms=False), +} +SCHEDULER_NAMES = list(SCHEDULER_HANDLERS) + +def calculate_sigmas(model_sampling: object, scheduler_name: str, steps: int) -> torch.Tensor: + handler = SCHEDULER_HANDLERS.get(scheduler_name) + if handler is None: + err = f"error invalid scheduler {scheduler_name}" + logging.error(err) + raise ValueError(err) + if handler.use_ms: + return handler.handler(model_sampling, steps) + return handler.handler(n=steps, sigma_min=float(model_sampling.sigma_min), sigma_max=float(model_sampling.sigma_max)) + +def sampler_object(name): + if name == "uni_pc": + sampler = KSAMPLER(uni_pc.sample_unipc) + elif name == "uni_pc_bh2": + sampler = KSAMPLER(uni_pc.sample_unipc_bh2) + elif name == "ddim": + sampler = ksampler("euler", inpaint_options={"random": True}) + else: + sampler = ksampler(name) + return sampler + +class KSampler: + SCHEDULERS = SCHEDULER_NAMES + SAMPLERS = SAMPLER_NAMES + DISCARD_PENULTIMATE_SIGMA_SAMPLERS = set(('dpm_2', 'dpm_2_ancestral', 'uni_pc', 'uni_pc_bh2')) + + def __init__(self, model, steps, device, sampler=None, scheduler=None, denoise=None, model_options={}): + self.model = model + self.device = device + if scheduler not in self.SCHEDULERS: + scheduler = self.SCHEDULERS[0] + if sampler not in self.SAMPLERS: + sampler = self.SAMPLERS[0] + self.scheduler = scheduler + self.sampler = sampler + self.set_steps(steps, denoise) + self.denoise = denoise + self.model_options = model_options + + def calculate_sigmas(self, steps): + sigmas = None + + discard_penultimate_sigma = False + if self.sampler in self.DISCARD_PENULTIMATE_SIGMA_SAMPLERS: + steps += 1 + discard_penultimate_sigma = True + + sigmas = calculate_sigmas(self.model.get_model_object("model_sampling"), self.scheduler, steps) + + if discard_penultimate_sigma: + sigmas = torch.cat([sigmas[:-2], sigmas[-1:]]) + return sigmas + + def set_steps(self, steps, denoise=None): + self.steps = steps + if denoise is None or denoise > 0.9999: + self.sigmas = self.calculate_sigmas(steps).to(self.device) + else: + if denoise <= 0.0: + self.sigmas = torch.FloatTensor([]) + else: + new_steps = int(steps/denoise) + sigmas = self.calculate_sigmas(new_steps).to(self.device) + self.sigmas = sigmas[-(steps + 1):] + + def sample(self, noise, positive, negative, cfg, latent_image=None, start_step=None, last_step=None, force_full_denoise=False, denoise_mask=None, sigmas=None, callback=None, disable_pbar=False, seed=None): + if sigmas is None: + sigmas = self.sigmas + + if last_step is not None and last_step < (len(sigmas) - 1): + sigmas = sigmas[:last_step + 1] + if force_full_denoise: + sigmas[-1] = 0 + + if start_step is not None: + if start_step < (len(sigmas) - 1): + sigmas = sigmas[start_step:] + else: + if latent_image is not None: + return latent_image + else: + return torch.zeros_like(noise) + + sampler = sampler_object(self.sampler) + + return sample(self.model, noise, positive, negative, cfg, self.device, sampler, sigmas, self.model_options, latent_image=latent_image, denoise_mask=denoise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed) diff --git a/comfy/sd.py b/comfy/sd.py new file mode 100644 index 0000000000000000000000000000000000000000..6ba6af474cd9f87b8c68058a80f998588a3d95e3 --- /dev/null +++ b/comfy/sd.py @@ -0,0 +1,1029 @@ +from __future__ import annotations +import torch +from enum import Enum +import logging + +from comfy import model_management +from comfy.utils import ProgressBar +from .ldm.models.autoencoder import AutoencoderKL, AutoencodingEngine +from .ldm.cascade.stage_a import StageA +from .ldm.cascade.stage_c_coder import StageC_coder +from .ldm.audio.autoencoder import AudioOobleckVAE +import comfy.ldm.genmo.vae.model +import comfy.ldm.lightricks.vae.causal_video_autoencoder +import comfy.ldm.cosmos.vae +import yaml +import math + +import comfy.utils + +from . import clip_vision +from . import gligen +from . import diffusers_convert +from . import model_detection + +from . import sd1_clip +from . import sdxl_clip +import comfy.text_encoders.sd2_clip +import comfy.text_encoders.sd3_clip +import comfy.text_encoders.sa_t5 +import comfy.text_encoders.aura_t5 +import comfy.text_encoders.pixart_t5 +import comfy.text_encoders.hydit +import comfy.text_encoders.flux +import comfy.text_encoders.long_clipl +import comfy.text_encoders.genmo +import comfy.text_encoders.lt +import comfy.text_encoders.hunyuan_video +import comfy.text_encoders.cosmos + +import comfy.model_patcher +import comfy.lora +import comfy.lora_convert +import comfy.hooks +import comfy.t2i_adapter.adapter +import comfy.taesd.taesd + +import comfy.ldm.flux.redux + +def load_lora_for_models(model, clip, lora, strength_model, strength_clip): + key_map = {} + if model is not None: + key_map = comfy.lora.model_lora_keys_unet(model.model, key_map) + if clip is not None: + key_map = comfy.lora.model_lora_keys_clip(clip.cond_stage_model, key_map) + + lora = comfy.lora_convert.convert_lora(lora) + loaded = comfy.lora.load_lora(lora, key_map) + if model is not None: + new_modelpatcher = model.clone() + k = new_modelpatcher.add_patches(loaded, strength_model) + else: + k = () + new_modelpatcher = None + + if clip is not None: + new_clip = clip.clone() + k1 = new_clip.add_patches(loaded, strength_clip) + else: + k1 = () + new_clip = None + k = set(k) + k1 = set(k1) + for x in loaded: + if (x not in k) and (x not in k1): + logging.warning("NOT LOADED {}".format(x)) + + return (new_modelpatcher, new_clip) + + +class CLIP: + def __init__(self, target=None, embedding_directory=None, no_init=False, tokenizer_data={}, parameters=0, model_options={}): + if no_init: + return + params = target.params.copy() + clip = target.clip + tokenizer = target.tokenizer + + load_device = model_options.get("load_device", model_management.text_encoder_device()) + offload_device = model_options.get("offload_device", model_management.text_encoder_offload_device()) + dtype = model_options.get("dtype", None) + if dtype is None: + dtype = model_management.text_encoder_dtype(load_device) + + params['dtype'] = dtype + params['device'] = model_options.get("initial_device", model_management.text_encoder_initial_device(load_device, offload_device, parameters * model_management.dtype_size(dtype))) + params['model_options'] = model_options + + self.cond_stage_model = clip(**(params)) + + for dt in self.cond_stage_model.dtypes: + if not model_management.supports_cast(load_device, dt): + load_device = offload_device + if params['device'] != offload_device: + self.cond_stage_model.to(offload_device) + logging.warning("Had to shift TE back.") + + self.tokenizer = tokenizer(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data) + self.patcher = comfy.model_patcher.ModelPatcher(self.cond_stage_model, load_device=load_device, offload_device=offload_device) + self.patcher.hook_mode = comfy.hooks.EnumHookMode.MinVram + self.patcher.is_clip = True + self.apply_hooks_to_conds = None + if params['device'] == load_device: + model_management.load_models_gpu([self.patcher], force_full_load=True) + self.layer_idx = None + self.use_clip_schedule = False + logging.info("CLIP/text encoder model load device: {}, offload device: {}, current: {}, dtype: {}".format(load_device, offload_device, params['device'], dtype)) + + def clone(self): + n = CLIP(no_init=True) + n.patcher = self.patcher.clone() + n.cond_stage_model = self.cond_stage_model + n.tokenizer = self.tokenizer + n.layer_idx = self.layer_idx + n.use_clip_schedule = self.use_clip_schedule + n.apply_hooks_to_conds = self.apply_hooks_to_conds + return n + + def add_patches(self, patches, strength_patch=1.0, strength_model=1.0): + return self.patcher.add_patches(patches, strength_patch, strength_model) + + def clip_layer(self, layer_idx): + self.layer_idx = layer_idx + + def tokenize(self, text, return_word_ids=False): + return self.tokenizer.tokenize_with_weights(text, return_word_ids) + + def add_hooks_to_dict(self, pooled_dict: dict[str]): + if self.apply_hooks_to_conds: + pooled_dict["hooks"] = self.apply_hooks_to_conds + return pooled_dict + + def encode_from_tokens_scheduled(self, tokens, unprojected=False, add_dict: dict[str]={}, show_pbar=True): + all_cond_pooled: list[tuple[torch.Tensor, dict[str]]] = [] + all_hooks = self.patcher.forced_hooks + if all_hooks is None or not self.use_clip_schedule: + # if no hooks or shouldn't use clip schedule, do unscheduled encode_from_tokens and perform add_dict + return_pooled = "unprojected" if unprojected else True + pooled_dict = self.encode_from_tokens(tokens, return_pooled=return_pooled, return_dict=True) + cond = pooled_dict.pop("cond") + # add/update any keys with the provided add_dict + pooled_dict.update(add_dict) + all_cond_pooled.append([cond, pooled_dict]) + else: + scheduled_keyframes = all_hooks.get_hooks_for_clip_schedule() + + self.cond_stage_model.reset_clip_options() + if self.layer_idx is not None: + self.cond_stage_model.set_clip_options({"layer": self.layer_idx}) + if unprojected: + self.cond_stage_model.set_clip_options({"projected_pooled": False}) + + self.load_model() + all_hooks.reset() + self.patcher.patch_hooks(None) + if show_pbar: + pbar = ProgressBar(len(scheduled_keyframes)) + + for scheduled_opts in scheduled_keyframes: + t_range = scheduled_opts[0] + # don't bother encoding any conds outside of start_percent and end_percent bounds + if "start_percent" in add_dict: + if t_range[1] < add_dict["start_percent"]: + continue + if "end_percent" in add_dict: + if t_range[0] > add_dict["end_percent"]: + continue + hooks_keyframes = scheduled_opts[1] + for hook, keyframe in hooks_keyframes: + hook.hook_keyframe._current_keyframe = keyframe + # apply appropriate hooks with values that match new hook_keyframe + self.patcher.patch_hooks(all_hooks) + # perform encoding as normal + o = self.cond_stage_model.encode_token_weights(tokens) + cond, pooled = o[:2] + pooled_dict = {"pooled_output": pooled} + # add clip_start_percent and clip_end_percent in pooled + pooled_dict["clip_start_percent"] = t_range[0] + pooled_dict["clip_end_percent"] = t_range[1] + # add/update any keys with the provided add_dict + pooled_dict.update(add_dict) + # add hooks stored on clip + self.add_hooks_to_dict(pooled_dict) + all_cond_pooled.append([cond, pooled_dict]) + if show_pbar: + pbar.update(1) + model_management.throw_exception_if_processing_interrupted() + all_hooks.reset() + return all_cond_pooled + + def encode_from_tokens(self, tokens, return_pooled=False, return_dict=False): + self.cond_stage_model.reset_clip_options() + + if self.layer_idx is not None: + self.cond_stage_model.set_clip_options({"layer": self.layer_idx}) + + if return_pooled == "unprojected": + self.cond_stage_model.set_clip_options({"projected_pooled": False}) + + self.load_model() + o = self.cond_stage_model.encode_token_weights(tokens) + cond, pooled = o[:2] + if return_dict: + out = {"cond": cond, "pooled_output": pooled} + if len(o) > 2: + for k in o[2]: + out[k] = o[2][k] + self.add_hooks_to_dict(out) + return out + + if return_pooled: + return cond, pooled + return cond + + def encode(self, text): + tokens = self.tokenize(text) + return self.encode_from_tokens(tokens) + + def load_sd(self, sd, full_model=False): + if full_model: + return self.cond_stage_model.load_state_dict(sd, strict=False) + else: + return self.cond_stage_model.load_sd(sd) + + def get_sd(self): + sd_clip = self.cond_stage_model.state_dict() + sd_tokenizer = self.tokenizer.state_dict() + for k in sd_tokenizer: + sd_clip[k] = sd_tokenizer[k] + return sd_clip + + def load_model(self): + model_management.load_model_gpu(self.patcher) + return self.patcher + + def get_key_patches(self): + return self.patcher.get_key_patches() + +class VAE: + def __init__(self, sd=None, device=None, config=None, dtype=None): + if 'decoder.up_blocks.0.resnets.0.norm1.weight' in sd.keys(): #diffusers format + sd = diffusers_convert.convert_vae_state_dict(sd) + + self.memory_used_encode = lambda shape, dtype: (1767 * shape[2] * shape[3]) * model_management.dtype_size(dtype) #These are for AutoencoderKL and need tweaking (should be lower) + self.memory_used_decode = lambda shape, dtype: (2178 * shape[2] * shape[3] * 64) * model_management.dtype_size(dtype) + self.downscale_ratio = 8 + self.upscale_ratio = 8 + self.latent_channels = 4 + self.latent_dim = 2 + self.output_channels = 3 + self.process_input = lambda image: image * 2.0 - 1.0 + self.process_output = lambda image: torch.clamp((image + 1.0) / 2.0, min=0.0, max=1.0) + self.working_dtypes = [torch.bfloat16, torch.float32] + + self.downscale_index_formula = None + self.upscale_index_formula = None + + if config is None: + if "decoder.mid.block_1.mix_factor" in sd: + encoder_config = {'double_z': True, 'z_channels': 4, 'resolution': 256, 'in_channels': 3, 'out_ch': 3, 'ch': 128, 'ch_mult': [1, 2, 4, 4], 'num_res_blocks': 2, 'attn_resolutions': [], 'dropout': 0.0} + decoder_config = encoder_config.copy() + decoder_config["video_kernel_size"] = [3, 1, 1] + decoder_config["alpha"] = 0.0 + self.first_stage_model = AutoencodingEngine(regularizer_config={'target': "comfy.ldm.models.autoencoder.DiagonalGaussianRegularizer"}, + encoder_config={'target': "comfy.ldm.modules.diffusionmodules.model.Encoder", 'params': encoder_config}, + decoder_config={'target': "comfy.ldm.modules.temporal_ae.VideoDecoder", 'params': decoder_config}) + elif "taesd_decoder.1.weight" in sd: + self.latent_channels = sd["taesd_decoder.1.weight"].shape[1] + self.first_stage_model = comfy.taesd.taesd.TAESD(latent_channels=self.latent_channels) + elif "vquantizer.codebook.weight" in sd: #VQGan: stage a of stable cascade + self.first_stage_model = StageA() + self.downscale_ratio = 4 + self.upscale_ratio = 4 + #TODO + #self.memory_used_encode + #self.memory_used_decode + self.process_input = lambda image: image + self.process_output = lambda image: image + elif "backbone.1.0.block.0.1.num_batches_tracked" in sd: #effnet: encoder for stage c latent of stable cascade + self.first_stage_model = StageC_coder() + self.downscale_ratio = 32 + self.latent_channels = 16 + new_sd = {} + for k in sd: + new_sd["encoder.{}".format(k)] = sd[k] + sd = new_sd + elif "blocks.11.num_batches_tracked" in sd: #previewer: decoder for stage c latent of stable cascade + self.first_stage_model = StageC_coder() + self.latent_channels = 16 + new_sd = {} + for k in sd: + new_sd["previewer.{}".format(k)] = sd[k] + sd = new_sd + elif "encoder.backbone.1.0.block.0.1.num_batches_tracked" in sd: #combined effnet and previewer for stable cascade + self.first_stage_model = StageC_coder() + self.downscale_ratio = 32 + self.latent_channels = 16 + elif "decoder.conv_in.weight" in sd: + #default SD1.x/SD2.x VAE parameters + ddconfig = {'double_z': True, 'z_channels': 4, 'resolution': 256, 'in_channels': 3, 'out_ch': 3, 'ch': 128, 'ch_mult': [1, 2, 4, 4], 'num_res_blocks': 2, 'attn_resolutions': [], 'dropout': 0.0} + + if 'encoder.down.2.downsample.conv.weight' not in sd and 'decoder.up.3.upsample.conv.weight' not in sd: #Stable diffusion x4 upscaler VAE + ddconfig['ch_mult'] = [1, 2, 4] + self.downscale_ratio = 4 + self.upscale_ratio = 4 + + self.latent_channels = ddconfig['z_channels'] = sd["decoder.conv_in.weight"].shape[1] + if 'post_quant_conv.weight' in sd: + self.first_stage_model = AutoencoderKL(ddconfig=ddconfig, embed_dim=sd['post_quant_conv.weight'].shape[1]) + else: + self.first_stage_model = AutoencodingEngine(regularizer_config={'target': "comfy.ldm.models.autoencoder.DiagonalGaussianRegularizer"}, + encoder_config={'target': "comfy.ldm.modules.diffusionmodules.model.Encoder", 'params': ddconfig}, + decoder_config={'target': "comfy.ldm.modules.diffusionmodules.model.Decoder", 'params': ddconfig}) + elif "decoder.layers.1.layers.0.beta" in sd: + self.first_stage_model = AudioOobleckVAE() + self.memory_used_encode = lambda shape, dtype: (1000 * shape[2]) * model_management.dtype_size(dtype) + self.memory_used_decode = lambda shape, dtype: (1000 * shape[2] * 2048) * model_management.dtype_size(dtype) + self.latent_channels = 64 + self.output_channels = 2 + self.upscale_ratio = 2048 + self.downscale_ratio = 2048 + self.latent_dim = 1 + self.process_output = lambda audio: audio + self.process_input = lambda audio: audio + self.working_dtypes = [torch.float16, torch.bfloat16, torch.float32] + elif "blocks.2.blocks.3.stack.5.weight" in sd or "decoder.blocks.2.blocks.3.stack.5.weight" in sd or "layers.4.layers.1.attn_block.attn.qkv.weight" in sd or "encoder.layers.4.layers.1.attn_block.attn.qkv.weight" in sd: #genmo mochi vae + if "blocks.2.blocks.3.stack.5.weight" in sd: + sd = comfy.utils.state_dict_prefix_replace(sd, {"": "decoder."}) + if "layers.4.layers.1.attn_block.attn.qkv.weight" in sd: + sd = comfy.utils.state_dict_prefix_replace(sd, {"": "encoder."}) + self.first_stage_model = comfy.ldm.genmo.vae.model.VideoVAE() + self.latent_channels = 12 + self.latent_dim = 3 + self.memory_used_decode = lambda shape, dtype: (1000 * shape[2] * shape[3] * shape[4] * (6 * 8 * 8)) * model_management.dtype_size(dtype) + self.memory_used_encode = lambda shape, dtype: (1.5 * max(shape[2], 7) * shape[3] * shape[4] * (6 * 8 * 8)) * model_management.dtype_size(dtype) + self.upscale_ratio = (lambda a: max(0, a * 6 - 5), 8, 8) + self.upscale_index_formula = (6, 8, 8) + self.downscale_ratio = (lambda a: max(0, math.floor((a + 5) / 6)), 8, 8) + self.downscale_index_formula = (6, 8, 8) + self.working_dtypes = [torch.float16, torch.float32] + elif "decoder.up_blocks.0.res_blocks.0.conv1.conv.weight" in sd: #lightricks ltxv + tensor_conv1 = sd["decoder.up_blocks.0.res_blocks.0.conv1.conv.weight"] + version = 0 + if tensor_conv1.shape[0] == 512: + version = 0 + elif tensor_conv1.shape[0] == 1024: + version = 1 + self.first_stage_model = comfy.ldm.lightricks.vae.causal_video_autoencoder.VideoVAE(version=version) + self.latent_channels = 128 + self.latent_dim = 3 + self.memory_used_decode = lambda shape, dtype: (900 * shape[2] * shape[3] * shape[4] * (8 * 8 * 8)) * model_management.dtype_size(dtype) + self.memory_used_encode = lambda shape, dtype: (70 * max(shape[2], 7) * shape[3] * shape[4]) * model_management.dtype_size(dtype) + self.upscale_ratio = (lambda a: max(0, a * 8 - 7), 32, 32) + self.upscale_index_formula = (8, 32, 32) + self.downscale_ratio = (lambda a: max(0, math.floor((a + 7) / 8)), 32, 32) + self.downscale_index_formula = (8, 32, 32) + self.working_dtypes = [torch.bfloat16, torch.float32] + elif "decoder.conv_in.conv.weight" in sd: + ddconfig = {'double_z': True, 'z_channels': 4, 'resolution': 256, 'in_channels': 3, 'out_ch': 3, 'ch': 128, 'ch_mult': [1, 2, 4, 4], 'num_res_blocks': 2, 'attn_resolutions': [], 'dropout': 0.0} + ddconfig["conv3d"] = True + ddconfig["time_compress"] = 4 + self.upscale_ratio = (lambda a: max(0, a * 4 - 3), 8, 8) + self.upscale_index_formula = (4, 8, 8) + self.downscale_ratio = (lambda a: max(0, math.floor((a + 3) / 4)), 8, 8) + self.downscale_index_formula = (4, 8, 8) + self.latent_dim = 3 + self.latent_channels = ddconfig['z_channels'] = sd["decoder.conv_in.conv.weight"].shape[1] + self.first_stage_model = AutoencoderKL(ddconfig=ddconfig, embed_dim=sd['post_quant_conv.weight'].shape[1]) + self.memory_used_decode = lambda shape, dtype: (1500 * shape[2] * shape[3] * shape[4] * (4 * 8 * 8)) * model_management.dtype_size(dtype) + self.memory_used_encode = lambda shape, dtype: (900 * max(shape[2], 2) * shape[3] * shape[4]) * model_management.dtype_size(dtype) + self.working_dtypes = [torch.bfloat16, torch.float16, torch.float32] + elif "decoder.unpatcher3d.wavelets" in sd: + self.upscale_ratio = (lambda a: max(0, a * 8 - 7), 8, 8) + self.upscale_index_formula = (8, 8, 8) + self.downscale_ratio = (lambda a: max(0, math.floor((a + 7) / 8)), 8, 8) + self.downscale_index_formula = (8, 8, 8) + self.latent_dim = 3 + self.latent_channels = 16 + ddconfig = {'z_channels': 16, 'latent_channels': self.latent_channels, 'z_factor': 1, 'resolution': 1024, 'in_channels': 3, 'out_channels': 3, 'channels': 128, 'channels_mult': [2, 4, 4], 'num_res_blocks': 2, 'attn_resolutions': [32], 'dropout': 0.0, 'patch_size': 4, 'num_groups': 1, 'temporal_compression': 8, 'spacial_compression': 8} + self.first_stage_model = comfy.ldm.cosmos.vae.CausalContinuousVideoTokenizer(**ddconfig) + #TODO: these values are a bit off because this is not a standard VAE + self.memory_used_decode = lambda shape, dtype: (220 * shape[2] * shape[3] * shape[4] * (8 * 8 * 8)) * model_management.dtype_size(dtype) + self.memory_used_encode = lambda shape, dtype: (500 * max(shape[2], 2) * shape[3] * shape[4]) * model_management.dtype_size(dtype) + self.working_dtypes = [torch.bfloat16, torch.float32] + else: + logging.warning("WARNING: No VAE weights detected, VAE not initalized.") + self.first_stage_model = None + return + else: + self.first_stage_model = AutoencoderKL(**(config['params'])) + self.first_stage_model = self.first_stage_model.eval() + + m, u = self.first_stage_model.load_state_dict(sd, strict=False) + if len(m) > 0: + logging.warning("Missing VAE keys {}".format(m)) + + if len(u) > 0: + logging.debug("Leftover VAE keys {}".format(u)) + + if device is None: + device = model_management.vae_device() + self.device = device + offload_device = model_management.vae_offload_device() + if dtype is None: + dtype = model_management.vae_dtype(self.device, self.working_dtypes) + self.vae_dtype = dtype + self.first_stage_model.to(self.vae_dtype) + self.output_device = model_management.intermediate_device() + + self.patcher = comfy.model_patcher.ModelPatcher(self.first_stage_model, load_device=self.device, offload_device=offload_device) + logging.info("VAE load device: {}, offload device: {}, dtype: {}".format(self.device, offload_device, self.vae_dtype)) + + def vae_encode_crop_pixels(self, pixels): + downscale_ratio = self.spacial_compression_encode() + + dims = pixels.shape[1:-1] + for d in range(len(dims)): + x = (dims[d] // downscale_ratio) * downscale_ratio + x_offset = (dims[d] % downscale_ratio) // 2 + if x != dims[d]: + pixels = pixels.narrow(d + 1, x_offset, x) + return pixels + + def decode_tiled_(self, samples, tile_x=64, tile_y=64, overlap = 16): + steps = samples.shape[0] * comfy.utils.get_tiled_scale_steps(samples.shape[3], samples.shape[2], tile_x, tile_y, overlap) + steps += samples.shape[0] * comfy.utils.get_tiled_scale_steps(samples.shape[3], samples.shape[2], tile_x // 2, tile_y * 2, overlap) + steps += samples.shape[0] * comfy.utils.get_tiled_scale_steps(samples.shape[3], samples.shape[2], tile_x * 2, tile_y // 2, overlap) + pbar = comfy.utils.ProgressBar(steps) + + decode_fn = lambda a: self.first_stage_model.decode(a.to(self.vae_dtype).to(self.device)).float() + output = self.process_output( + (comfy.utils.tiled_scale(samples, decode_fn, tile_x // 2, tile_y * 2, overlap, upscale_amount = self.upscale_ratio, output_device=self.output_device, pbar = pbar) + + comfy.utils.tiled_scale(samples, decode_fn, tile_x * 2, tile_y // 2, overlap, upscale_amount = self.upscale_ratio, output_device=self.output_device, pbar = pbar) + + comfy.utils.tiled_scale(samples, decode_fn, tile_x, tile_y, overlap, upscale_amount = self.upscale_ratio, output_device=self.output_device, pbar = pbar)) + / 3.0) + return output + + def decode_tiled_1d(self, samples, tile_x=128, overlap=32): + decode_fn = lambda a: self.first_stage_model.decode(a.to(self.vae_dtype).to(self.device)).float() + return self.process_output(comfy.utils.tiled_scale_multidim(samples, decode_fn, tile=(tile_x,), overlap=overlap, upscale_amount=self.upscale_ratio, out_channels=self.output_channels, output_device=self.output_device)) + + def decode_tiled_3d(self, samples, tile_t=999, tile_x=32, tile_y=32, overlap=(1, 8, 8)): + decode_fn = lambda a: self.first_stage_model.decode(a.to(self.vae_dtype).to(self.device)).float() + return self.process_output(comfy.utils.tiled_scale_multidim(samples, decode_fn, tile=(tile_t, tile_x, tile_y), overlap=overlap, upscale_amount=self.upscale_ratio, out_channels=self.output_channels, index_formulas=self.upscale_index_formula, output_device=self.output_device)) + + def encode_tiled_(self, pixel_samples, tile_x=512, tile_y=512, overlap = 64): + steps = pixel_samples.shape[0] * comfy.utils.get_tiled_scale_steps(pixel_samples.shape[3], pixel_samples.shape[2], tile_x, tile_y, overlap) + steps += pixel_samples.shape[0] * comfy.utils.get_tiled_scale_steps(pixel_samples.shape[3], pixel_samples.shape[2], tile_x // 2, tile_y * 2, overlap) + steps += pixel_samples.shape[0] * comfy.utils.get_tiled_scale_steps(pixel_samples.shape[3], pixel_samples.shape[2], tile_x * 2, tile_y // 2, overlap) + pbar = comfy.utils.ProgressBar(steps) + + encode_fn = lambda a: self.first_stage_model.encode((self.process_input(a)).to(self.vae_dtype).to(self.device)).float() + samples = comfy.utils.tiled_scale(pixel_samples, encode_fn, tile_x, tile_y, overlap, upscale_amount = (1/self.downscale_ratio), out_channels=self.latent_channels, output_device=self.output_device, pbar=pbar) + samples += comfy.utils.tiled_scale(pixel_samples, encode_fn, tile_x * 2, tile_y // 2, overlap, upscale_amount = (1/self.downscale_ratio), out_channels=self.latent_channels, output_device=self.output_device, pbar=pbar) + samples += comfy.utils.tiled_scale(pixel_samples, encode_fn, tile_x // 2, tile_y * 2, overlap, upscale_amount = (1/self.downscale_ratio), out_channels=self.latent_channels, output_device=self.output_device, pbar=pbar) + samples /= 3.0 + return samples + + def encode_tiled_1d(self, samples, tile_x=128 * 2048, overlap=32 * 2048): + encode_fn = lambda a: self.first_stage_model.encode((self.process_input(a)).to(self.vae_dtype).to(self.device)).float() + return comfy.utils.tiled_scale_multidim(samples, encode_fn, tile=(tile_x,), overlap=overlap, upscale_amount=(1/self.downscale_ratio), out_channels=self.latent_channels, output_device=self.output_device) + + def encode_tiled_3d(self, samples, tile_t=9999, tile_x=512, tile_y=512, overlap=(1, 64, 64)): + encode_fn = lambda a: self.first_stage_model.encode((self.process_input(a)).to(self.vae_dtype).to(self.device)).float() + return comfy.utils.tiled_scale_multidim(samples, encode_fn, tile=(tile_t, tile_x, tile_y), overlap=overlap, upscale_amount=self.downscale_ratio, out_channels=self.latent_channels, downscale=True, index_formulas=self.downscale_index_formula, output_device=self.output_device) + + def decode(self, samples_in): + pixel_samples = None + try: + memory_used = self.memory_used_decode(samples_in.shape, self.vae_dtype) + model_management.load_models_gpu([self.patcher], memory_required=memory_used) + free_memory = model_management.get_free_memory(self.device) + batch_number = int(free_memory / memory_used) + batch_number = max(1, batch_number) + + for x in range(0, samples_in.shape[0], batch_number): + samples = samples_in[x:x+batch_number].to(self.vae_dtype).to(self.device) + out = self.process_output(self.first_stage_model.decode(samples).to(self.output_device).float()) + if pixel_samples is None: + pixel_samples = torch.empty((samples_in.shape[0],) + tuple(out.shape[1:]), device=self.output_device) + pixel_samples[x:x+batch_number] = out + except model_management.OOM_EXCEPTION: + logging.warning("Warning: Ran out of memory when regular VAE decoding, retrying with tiled VAE decoding.") + dims = samples_in.ndim - 2 + if dims == 1: + pixel_samples = self.decode_tiled_1d(samples_in) + elif dims == 2: + pixel_samples = self.decode_tiled_(samples_in) + elif dims == 3: + tile = 256 // self.spacial_compression_decode() + overlap = tile // 4 + pixel_samples = self.decode_tiled_3d(samples_in, tile_x=tile, tile_y=tile, overlap=(1, overlap, overlap)) + + pixel_samples = pixel_samples.to(self.output_device).movedim(1,-1) + return pixel_samples + + def decode_tiled(self, samples, tile_x=None, tile_y=None, overlap=None, tile_t=None, overlap_t=None): + memory_used = self.memory_used_decode(samples.shape, self.vae_dtype) #TODO: calculate mem required for tile + model_management.load_models_gpu([self.patcher], memory_required=memory_used) + dims = samples.ndim - 2 + args = {} + if tile_x is not None: + args["tile_x"] = tile_x + if tile_y is not None: + args["tile_y"] = tile_y + if overlap is not None: + args["overlap"] = overlap + + if dims == 1: + args.pop("tile_y") + output = self.decode_tiled_1d(samples, **args) + elif dims == 2: + output = self.decode_tiled_(samples, **args) + elif dims == 3: + if overlap_t is None: + args["overlap"] = (1, overlap, overlap) + else: + args["overlap"] = (max(1, overlap_t), overlap, overlap) + if tile_t is not None: + args["tile_t"] = max(2, tile_t) + + output = self.decode_tiled_3d(samples, **args) + return output.movedim(1, -1) + + def encode(self, pixel_samples): + pixel_samples = self.vae_encode_crop_pixels(pixel_samples) + pixel_samples = pixel_samples.movedim(-1, 1) + if self.latent_dim == 3 and pixel_samples.ndim < 5: + pixel_samples = pixel_samples.movedim(1, 0).unsqueeze(0) + try: + memory_used = self.memory_used_encode(pixel_samples.shape, self.vae_dtype) + model_management.load_models_gpu([self.patcher], memory_required=memory_used) + free_memory = model_management.get_free_memory(self.device) + batch_number = int(free_memory / max(1, memory_used)) + batch_number = max(1, batch_number) + samples = None + for x in range(0, pixel_samples.shape[0], batch_number): + pixels_in = self.process_input(pixel_samples[x:x + batch_number]).to(self.vae_dtype).to(self.device) + out = self.first_stage_model.encode(pixels_in).to(self.output_device).float() + if samples is None: + samples = torch.empty((pixel_samples.shape[0],) + tuple(out.shape[1:]), device=self.output_device) + samples[x:x + batch_number] = out + + except model_management.OOM_EXCEPTION: + logging.warning("Warning: Ran out of memory when regular VAE encoding, retrying with tiled VAE encoding.") + if self.latent_dim == 3: + tile = 256 + overlap = tile // 4 + samples = self.encode_tiled_3d(pixel_samples, tile_x=tile, tile_y=tile, overlap=(1, overlap, overlap)) + elif self.latent_dim == 1: + samples = self.encode_tiled_1d(pixel_samples) + else: + samples = self.encode_tiled_(pixel_samples) + + return samples + + def encode_tiled(self, pixel_samples, tile_x=None, tile_y=None, overlap=None, tile_t=None, overlap_t=None): + pixel_samples = self.vae_encode_crop_pixels(pixel_samples) + dims = self.latent_dim + pixel_samples = pixel_samples.movedim(-1, 1) + if dims == 3: + pixel_samples = pixel_samples.movedim(1, 0).unsqueeze(0) + + memory_used = self.memory_used_encode(pixel_samples.shape, self.vae_dtype) # TODO: calculate mem required for tile + model_management.load_models_gpu([self.patcher], memory_required=memory_used) + + args = {} + if tile_x is not None: + args["tile_x"] = tile_x + if tile_y is not None: + args["tile_y"] = tile_y + if overlap is not None: + args["overlap"] = overlap + + if dims == 1: + args.pop("tile_y") + samples = self.encode_tiled_1d(pixel_samples, **args) + elif dims == 2: + samples = self.encode_tiled_(pixel_samples, **args) + elif dims == 3: + if tile_t is not None: + tile_t_latent = max(2, self.downscale_ratio[0](tile_t)) + else: + tile_t_latent = 9999 + args["tile_t"] = self.upscale_ratio[0](tile_t_latent) + + if overlap_t is None: + args["overlap"] = (1, overlap, overlap) + else: + args["overlap"] = (self.upscale_ratio[0](max(1, min(tile_t_latent // 2, self.downscale_ratio[0](overlap_t)))), overlap, overlap) + maximum = pixel_samples.shape[2] + maximum = self.upscale_ratio[0](self.downscale_ratio[0](maximum)) + + samples = self.encode_tiled_3d(pixel_samples[:,:,:maximum], **args) + + return samples + + def get_sd(self): + return self.first_stage_model.state_dict() + + def spacial_compression_decode(self): + try: + return self.upscale_ratio[-1] + except: + return self.upscale_ratio + + def spacial_compression_encode(self): + try: + return self.downscale_ratio[-1] + except: + return self.downscale_ratio + + def temporal_compression_decode(self): + try: + return round(self.upscale_ratio[0](8192) / 8192) + except: + return None + +class StyleModel: + def __init__(self, model, device="cpu"): + self.model = model + + def get_cond(self, input): + return self.model(input.last_hidden_state) + + +def load_style_model(ckpt_path): + model_data = comfy.utils.load_torch_file(ckpt_path, safe_load=True) + keys = model_data.keys() + if "style_embedding" in keys: + model = comfy.t2i_adapter.adapter.StyleAdapter(width=1024, context_dim=768, num_head=8, n_layes=3, num_token=8) + elif "redux_down.weight" in keys: + model = comfy.ldm.flux.redux.ReduxImageEncoder() + else: + raise Exception("invalid style model {}".format(ckpt_path)) + model.load_state_dict(model_data) + return StyleModel(model) + +class CLIPType(Enum): + STABLE_DIFFUSION = 1 + STABLE_CASCADE = 2 + SD3 = 3 + STABLE_AUDIO = 4 + HUNYUAN_DIT = 5 + FLUX = 6 + MOCHI = 7 + LTXV = 8 + HUNYUAN_VIDEO = 9 + PIXART = 10 + COSMOS = 11 + + +def load_clip(ckpt_paths, embedding_directory=None, clip_type=CLIPType.STABLE_DIFFUSION, model_options={}): + clip_data = [] + for p in ckpt_paths: + clip_data.append(comfy.utils.load_torch_file(p, safe_load=True)) + return load_text_encoder_state_dicts(clip_data, embedding_directory=embedding_directory, clip_type=clip_type, model_options=model_options) + + +class TEModel(Enum): + CLIP_L = 1 + CLIP_H = 2 + CLIP_G = 3 + T5_XXL = 4 + T5_XL = 5 + T5_BASE = 6 + LLAMA3_8 = 7 + T5_XXL_OLD = 8 + +def detect_te_model(sd): + if "text_model.encoder.layers.30.mlp.fc1.weight" in sd: + return TEModel.CLIP_G + if "text_model.encoder.layers.22.mlp.fc1.weight" in sd: + return TEModel.CLIP_H + if "text_model.encoder.layers.0.mlp.fc1.weight" in sd: + return TEModel.CLIP_L + if "encoder.block.23.layer.1.DenseReluDense.wi_1.weight" in sd: + weight = sd["encoder.block.23.layer.1.DenseReluDense.wi_1.weight"] + if weight.shape[-1] == 4096: + return TEModel.T5_XXL + elif weight.shape[-1] == 2048: + return TEModel.T5_XL + if 'encoder.block.23.layer.1.DenseReluDense.wi.weight' in sd: + return TEModel.T5_XXL_OLD + if "encoder.block.0.layer.0.SelfAttention.k.weight" in sd: + return TEModel.T5_BASE + if "model.layers.0.post_attention_layernorm.weight" in sd: + return TEModel.LLAMA3_8 + return None + + +def t5xxl_detect(clip_data): + weight_name = "encoder.block.23.layer.1.DenseReluDense.wi_1.weight" + weight_name_old = "encoder.block.23.layer.1.DenseReluDense.wi.weight" + + for sd in clip_data: + if weight_name in sd or weight_name_old in sd: + return comfy.text_encoders.sd3_clip.t5_xxl_detect(sd) + + return {} + +def llama_detect(clip_data): + weight_name = "model.layers.0.self_attn.k_proj.weight" + + for sd in clip_data: + if weight_name in sd: + return comfy.text_encoders.hunyuan_video.llama_detect(sd) + + return {} + +def load_text_encoder_state_dicts(state_dicts=[], embedding_directory=None, clip_type=CLIPType.STABLE_DIFFUSION, model_options={}): + clip_data = state_dicts + + class EmptyClass: + pass + + for i in range(len(clip_data)): + if "transformer.resblocks.0.ln_1.weight" in clip_data[i]: + clip_data[i] = comfy.utils.clip_text_transformers_convert(clip_data[i], "", "") + else: + if "text_projection" in clip_data[i]: + clip_data[i]["text_projection.weight"] = clip_data[i]["text_projection"].transpose(0, 1) #old models saved with the CLIPSave node + + clip_target = EmptyClass() + clip_target.params = {} + if len(clip_data) == 1: + te_model = detect_te_model(clip_data[0]) + if te_model == TEModel.CLIP_G: + if clip_type == CLIPType.STABLE_CASCADE: + clip_target.clip = sdxl_clip.StableCascadeClipModel + clip_target.tokenizer = sdxl_clip.StableCascadeTokenizer + elif clip_type == CLIPType.SD3: + clip_target.clip = comfy.text_encoders.sd3_clip.sd3_clip(clip_l=False, clip_g=True, t5=False) + clip_target.tokenizer = comfy.text_encoders.sd3_clip.SD3Tokenizer + else: + clip_target.clip = sdxl_clip.SDXLRefinerClipModel + clip_target.tokenizer = sdxl_clip.SDXLTokenizer + elif te_model == TEModel.CLIP_H: + clip_target.clip = comfy.text_encoders.sd2_clip.SD2ClipModel + clip_target.tokenizer = comfy.text_encoders.sd2_clip.SD2Tokenizer + elif te_model == TEModel.T5_XXL: + if clip_type == CLIPType.SD3: + clip_target.clip = comfy.text_encoders.sd3_clip.sd3_clip(clip_l=False, clip_g=False, t5=True, **t5xxl_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.sd3_clip.SD3Tokenizer + elif clip_type == CLIPType.LTXV: + clip_target.clip = comfy.text_encoders.lt.ltxv_te(**t5xxl_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.lt.LTXVT5Tokenizer + elif clip_type == CLIPType.PIXART: + clip_target.clip = comfy.text_encoders.pixart_t5.pixart_te(**t5xxl_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.pixart_t5.PixArtTokenizer + else: #CLIPType.MOCHI + clip_target.clip = comfy.text_encoders.genmo.mochi_te(**t5xxl_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.genmo.MochiT5Tokenizer + elif te_model == TEModel.T5_XXL_OLD: + clip_target.clip = comfy.text_encoders.cosmos.te(**t5xxl_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.cosmos.CosmosT5Tokenizer + elif te_model == TEModel.T5_XL: + clip_target.clip = comfy.text_encoders.aura_t5.AuraT5Model + clip_target.tokenizer = comfy.text_encoders.aura_t5.AuraT5Tokenizer + elif te_model == TEModel.T5_BASE: + clip_target.clip = comfy.text_encoders.sa_t5.SAT5Model + clip_target.tokenizer = comfy.text_encoders.sa_t5.SAT5Tokenizer + else: + if clip_type == CLIPType.SD3: + clip_target.clip = comfy.text_encoders.sd3_clip.sd3_clip(clip_l=True, clip_g=False, t5=False) + clip_target.tokenizer = comfy.text_encoders.sd3_clip.SD3Tokenizer + else: + clip_target.clip = sd1_clip.SD1ClipModel + clip_target.tokenizer = sd1_clip.SD1Tokenizer + elif len(clip_data) == 2: + if clip_type == CLIPType.SD3: + te_models = [detect_te_model(clip_data[0]), detect_te_model(clip_data[1])] + clip_target.clip = comfy.text_encoders.sd3_clip.sd3_clip(clip_l=TEModel.CLIP_L in te_models, clip_g=TEModel.CLIP_G in te_models, t5=TEModel.T5_XXL in te_models, **t5xxl_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.sd3_clip.SD3Tokenizer + elif clip_type == CLIPType.HUNYUAN_DIT: + clip_target.clip = comfy.text_encoders.hydit.HyditModel + clip_target.tokenizer = comfy.text_encoders.hydit.HyditTokenizer + elif clip_type == CLIPType.FLUX: + clip_target.clip = comfy.text_encoders.flux.flux_clip(**t5xxl_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.flux.FluxTokenizer + elif clip_type == CLIPType.HUNYUAN_VIDEO: + clip_target.clip = comfy.text_encoders.hunyuan_video.hunyuan_video_clip(**llama_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.hunyuan_video.HunyuanVideoTokenizer + else: + clip_target.clip = sdxl_clip.SDXLClipModel + clip_target.tokenizer = sdxl_clip.SDXLTokenizer + elif len(clip_data) == 3: + clip_target.clip = comfy.text_encoders.sd3_clip.sd3_clip(**t5xxl_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.sd3_clip.SD3Tokenizer + + parameters = 0 + tokenizer_data = {} + for c in clip_data: + parameters += comfy.utils.calculate_parameters(c) + tokenizer_data, model_options = comfy.text_encoders.long_clipl.model_options_long_clip(c, tokenizer_data, model_options) + + clip = CLIP(clip_target, embedding_directory=embedding_directory, parameters=parameters, tokenizer_data=tokenizer_data, model_options=model_options) + for c in clip_data: + m, u = clip.load_sd(c) + if len(m) > 0: + logging.warning("clip missing: {}".format(m)) + + if len(u) > 0: + logging.debug("clip unexpected: {}".format(u)) + return clip + +def load_gligen(ckpt_path): + data = comfy.utils.load_torch_file(ckpt_path, safe_load=True) + model = gligen.load_gligen(data) + if model_management.should_use_fp16(): + model = model.half() + return comfy.model_patcher.ModelPatcher(model, load_device=model_management.get_torch_device(), offload_device=model_management.unet_offload_device()) + +def load_checkpoint(config_path=None, ckpt_path=None, output_vae=True, output_clip=True, embedding_directory=None, state_dict=None, config=None): + logging.warning("Warning: The load checkpoint with config function is deprecated and will eventually be removed, please use the other one.") + model, clip, vae, _ = load_checkpoint_guess_config(ckpt_path, output_vae=output_vae, output_clip=output_clip, output_clipvision=False, embedding_directory=embedding_directory, output_model=True) + #TODO: this function is a mess and should be removed eventually + if config is None: + with open(config_path, 'r') as stream: + config = yaml.safe_load(stream) + model_config_params = config['model']['params'] + clip_config = model_config_params['cond_stage_config'] + + if "parameterization" in model_config_params: + if model_config_params["parameterization"] == "v": + m = model.clone() + class ModelSamplingAdvanced(comfy.model_sampling.ModelSamplingDiscrete, comfy.model_sampling.V_PREDICTION): + pass + m.add_object_patch("model_sampling", ModelSamplingAdvanced(model.model.model_config)) + model = m + + layer_idx = clip_config.get("params", {}).get("layer_idx", None) + if layer_idx is not None: + clip.clip_layer(layer_idx) + + return (model, clip, vae) + +def load_checkpoint_guess_config(ckpt_path, output_vae=True, output_clip=True, output_clipvision=False, embedding_directory=None, output_model=True, model_options={}, te_model_options={}): + sd = comfy.utils.load_torch_file(ckpt_path) + out = load_state_dict_guess_config(sd, output_vae, output_clip, output_clipvision, embedding_directory, output_model, model_options, te_model_options=te_model_options) + if out is None: + raise RuntimeError("ERROR: Could not detect model type of: {}".format(ckpt_path)) + return out + +def load_state_dict_guess_config(sd, output_vae=True, output_clip=True, output_clipvision=False, embedding_directory=None, output_model=True, model_options={}, te_model_options={}): + clip = None + clipvision = None + vae = None + model = None + model_patcher = None + + diffusion_model_prefix = model_detection.unet_prefix_from_state_dict(sd) + parameters = comfy.utils.calculate_parameters(sd, diffusion_model_prefix) + weight_dtype = comfy.utils.weight_dtype(sd, diffusion_model_prefix) + load_device = model_management.get_torch_device() + + model_config = model_detection.model_config_from_unet(sd, diffusion_model_prefix) + if model_config is None: + return None + + unet_weight_dtype = list(model_config.supported_inference_dtypes) + if weight_dtype is not None and model_config.scaled_fp8 is None: + unet_weight_dtype.append(weight_dtype) + + model_config.custom_operations = model_options.get("custom_operations", None) + unet_dtype = model_options.get("dtype", model_options.get("weight_dtype", None)) + + if unet_dtype is None: + unet_dtype = model_management.unet_dtype(model_params=parameters, supported_dtypes=unet_weight_dtype) + + manual_cast_dtype = model_management.unet_manual_cast(unet_dtype, load_device, model_config.supported_inference_dtypes) + model_config.set_inference_dtype(unet_dtype, manual_cast_dtype) + + if model_config.clip_vision_prefix is not None: + if output_clipvision: + clipvision = clip_vision.load_clipvision_from_sd(sd, model_config.clip_vision_prefix, True) + + if output_model: + inital_load_device = model_management.unet_inital_load_device(parameters, unet_dtype) + model = model_config.get_model(sd, diffusion_model_prefix, device=inital_load_device) + model.load_model_weights(sd, diffusion_model_prefix) + + if output_vae: + vae_sd = comfy.utils.state_dict_prefix_replace(sd, {k: "" for k in model_config.vae_key_prefix}, filter_keys=True) + vae_sd = model_config.process_vae_state_dict(vae_sd) + vae = VAE(sd=vae_sd) + + if output_clip: + clip_target = model_config.clip_target(state_dict=sd) + if clip_target is not None: + clip_sd = model_config.process_clip_state_dict(sd) + if len(clip_sd) > 0: + parameters = comfy.utils.calculate_parameters(clip_sd) + clip = CLIP(clip_target, embedding_directory=embedding_directory, tokenizer_data=clip_sd, parameters=parameters, model_options=te_model_options) + m, u = clip.load_sd(clip_sd, full_model=True) + if len(m) > 0: + m_filter = list(filter(lambda a: ".logit_scale" not in a and ".transformer.text_projection.weight" not in a, m)) + if len(m_filter) > 0: + logging.warning("clip missing: {}".format(m)) + else: + logging.debug("clip missing: {}".format(m)) + + if len(u) > 0: + logging.debug("clip unexpected {}:".format(u)) + else: + logging.warning("no CLIP/text encoder weights in checkpoint, the text encoder model will not be loaded.") + + left_over = sd.keys() + if len(left_over) > 0: + logging.debug("left over keys: {}".format(left_over)) + + if output_model: + model_patcher = comfy.model_patcher.ModelPatcher(model, load_device=load_device, offload_device=model_management.unet_offload_device()) + if inital_load_device != torch.device("cpu"): + logging.info("loaded diffusion model directly to GPU") + model_management.load_models_gpu([model_patcher], force_full_load=True) + + return (model_patcher, clip, vae, clipvision) + + +def load_diffusion_model_state_dict(sd, model_options={}): #load unet in diffusers or regular format + dtype = model_options.get("dtype", None) + + #Allow loading unets from checkpoint files + diffusion_model_prefix = model_detection.unet_prefix_from_state_dict(sd) + temp_sd = comfy.utils.state_dict_prefix_replace(sd, {diffusion_model_prefix: ""}, filter_keys=True) + if len(temp_sd) > 0: + sd = temp_sd + + parameters = comfy.utils.calculate_parameters(sd) + weight_dtype = comfy.utils.weight_dtype(sd) + + load_device = model_management.get_torch_device() + model_config = model_detection.model_config_from_unet(sd, "") + + if model_config is not None: + new_sd = sd + else: + new_sd = model_detection.convert_diffusers_mmdit(sd, "") + if new_sd is not None: #diffusers mmdit + model_config = model_detection.model_config_from_unet(new_sd, "") + if model_config is None: + return None + else: #diffusers unet + model_config = model_detection.model_config_from_diffusers_unet(sd) + if model_config is None: + return None + + diffusers_keys = comfy.utils.unet_to_diffusers(model_config.unet_config) + + new_sd = {} + for k in diffusers_keys: + if k in sd: + new_sd[diffusers_keys[k]] = sd.pop(k) + else: + logging.warning("{} {}".format(diffusers_keys[k], k)) + + offload_device = model_management.unet_offload_device() + unet_weight_dtype = list(model_config.supported_inference_dtypes) + if weight_dtype is not None and model_config.scaled_fp8 is None: + unet_weight_dtype.append(weight_dtype) + + if dtype is None: + unet_dtype = model_management.unet_dtype(model_params=parameters, supported_dtypes=unet_weight_dtype) + else: + unet_dtype = dtype + + manual_cast_dtype = model_management.unet_manual_cast(unet_dtype, load_device, model_config.supported_inference_dtypes) + model_config.set_inference_dtype(unet_dtype, manual_cast_dtype) + model_config.custom_operations = model_options.get("custom_operations", model_config.custom_operations) + if model_options.get("fp8_optimizations", False): + model_config.optimizations["fp8"] = True + + model = model_config.get_model(new_sd, "") + model = model.to(offload_device) + model.load_model_weights(new_sd, "") + left_over = sd.keys() + if len(left_over) > 0: + logging.info("left over keys in unet: {}".format(left_over)) + return comfy.model_patcher.ModelPatcher(model, load_device=load_device, offload_device=offload_device) + + +def load_diffusion_model(unet_path, model_options={}): + sd = comfy.utils.load_torch_file(unet_path) + model = load_diffusion_model_state_dict(sd, model_options=model_options) + if model is None: + logging.error("ERROR UNSUPPORTED UNET {}".format(unet_path)) + raise RuntimeError("ERROR: Could not detect model type of: {}".format(unet_path)) + return model + +def load_unet(unet_path, dtype=None): + logging.warning("The load_unet function has been deprecated and will be removed please switch to: load_diffusion_model") + return load_diffusion_model(unet_path, model_options={"dtype": dtype}) + +def load_unet_state_dict(sd, dtype=None): + logging.warning("The load_unet_state_dict function has been deprecated and will be removed please switch to: load_diffusion_model_state_dict") + return load_diffusion_model_state_dict(sd, model_options={"dtype": dtype}) + +def save_checkpoint(output_path, model, clip=None, vae=None, clip_vision=None, metadata=None, extra_keys={}): + clip_sd = None + load_models = [model] + if clip is not None: + load_models.append(clip.load_model()) + clip_sd = clip.get_sd() + vae_sd = None + if vae is not None: + vae_sd = vae.get_sd() + + model_management.load_models_gpu(load_models, force_patch_weights=True) + clip_vision_sd = clip_vision.get_sd() if clip_vision is not None else None + sd = model.model.state_dict_for_saving(clip_sd, vae_sd, clip_vision_sd) + for k in extra_keys: + sd[k] = extra_keys[k] + + for k in sd: + t = sd[k] + if not t.is_contiguous(): + sd[k] = t.contiguous() + + comfy.utils.save_torch_file(sd, output_path, metadata=metadata) diff --git a/comfy/sd1_clip.py b/comfy/sd1_clip.py new file mode 100644 index 0000000000000000000000000000000000000000..85518afd95be742a00e7a46e3da15b615d477323 --- /dev/null +++ b/comfy/sd1_clip.py @@ -0,0 +1,639 @@ +import os + +from transformers import CLIPTokenizer +import comfy.ops +import torch +import traceback +import zipfile +from . import model_management +import comfy.clip_model +import json +import logging +import numbers +import re + +def gen_empty_tokens(special_tokens, length): + start_token = special_tokens.get("start", None) + end_token = special_tokens.get("end", None) + pad_token = special_tokens.get("pad") + output = [] + if start_token is not None: + output.append(start_token) + if end_token is not None: + output.append(end_token) + output += [pad_token] * (length - len(output)) + return output + +class ClipTokenWeightEncoder: + def encode_token_weights(self, token_weight_pairs): + to_encode = list() + max_token_len = 0 + has_weights = False + for x in token_weight_pairs: + tokens = list(map(lambda a: a[0], x)) + max_token_len = max(len(tokens), max_token_len) + has_weights = has_weights or not all(map(lambda a: a[1] == 1.0, x)) + to_encode.append(tokens) + + sections = len(to_encode) + if has_weights or sections == 0: + if hasattr(self, "gen_empty_tokens"): + to_encode.append(self.gen_empty_tokens(self.special_tokens, max_token_len)) + else: + to_encode.append(gen_empty_tokens(self.special_tokens, max_token_len)) + + o = self.encode(to_encode) + out, pooled = o[:2] + + if pooled is not None: + first_pooled = pooled[0:1].to(model_management.intermediate_device()) + else: + first_pooled = pooled + + output = [] + for k in range(0, sections): + z = out[k:k+1] + if has_weights: + z_empty = out[-1] + for i in range(len(z)): + for j in range(len(z[i])): + weight = token_weight_pairs[k][j][1] + if weight != 1.0: + z[i][j] = (z[i][j] - z_empty[j]) * weight + z_empty[j] + output.append(z) + + if (len(output) == 0): + r = (out[-1:].to(model_management.intermediate_device()), first_pooled) + else: + r = (torch.cat(output, dim=-2).to(model_management.intermediate_device()), first_pooled) + + if len(o) > 2: + extra = {} + for k in o[2]: + v = o[2][k] + if k == "attention_mask": + v = v[:sections].flatten().unsqueeze(dim=0).to(model_management.intermediate_device()) + extra[k] = v + + r = r + (extra,) + return r + +class SDClipModel(torch.nn.Module, ClipTokenWeightEncoder): + LAYERS = [ + "last", + "pooled", + "hidden" + ] + def __init__(self, device="cpu", max_length=77, + freeze=True, layer="last", layer_idx=None, textmodel_json_config=None, dtype=None, model_class=comfy.clip_model.CLIPTextModel, + special_tokens={"start": 49406, "end": 49407, "pad": 49407}, layer_norm_hidden_state=True, enable_attention_masks=False, zero_out_masked=False, + return_projected_pooled=True, return_attention_masks=False, model_options={}): # clip-vit-base-patch32 + super().__init__() + assert layer in self.LAYERS + + if textmodel_json_config is None: + textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "sd1_clip_config.json") + + if isinstance(textmodel_json_config, dict): + config = textmodel_json_config + else: + with open(textmodel_json_config) as f: + config = json.load(f) + + operations = model_options.get("custom_operations", None) + scaled_fp8 = None + + if operations is None: + scaled_fp8 = model_options.get("scaled_fp8", None) + if scaled_fp8 is not None: + operations = comfy.ops.scaled_fp8_ops(fp8_matrix_mult=False, override_dtype=scaled_fp8) + else: + operations = comfy.ops.manual_cast + + self.operations = operations + self.transformer = model_class(config, dtype, device, self.operations) + if scaled_fp8 is not None: + self.transformer.scaled_fp8 = torch.nn.Parameter(torch.tensor([], dtype=scaled_fp8)) + + self.num_layers = self.transformer.num_layers + + self.max_length = max_length + if freeze: + self.freeze() + self.layer = layer + self.layer_idx = None + self.special_tokens = special_tokens + + self.logit_scale = torch.nn.Parameter(torch.tensor(4.6055)) + self.enable_attention_masks = enable_attention_masks + self.zero_out_masked = zero_out_masked + + self.layer_norm_hidden_state = layer_norm_hidden_state + self.return_projected_pooled = return_projected_pooled + self.return_attention_masks = return_attention_masks + + if layer == "hidden": + assert layer_idx is not None + assert abs(layer_idx) < self.num_layers + self.set_clip_options({"layer": layer_idx}) + self.options_default = (self.layer, self.layer_idx, self.return_projected_pooled) + + def freeze(self): + self.transformer = self.transformer.eval() + #self.train = disabled_train + for param in self.parameters(): + param.requires_grad = False + + def set_clip_options(self, options): + layer_idx = options.get("layer", self.layer_idx) + self.return_projected_pooled = options.get("projected_pooled", self.return_projected_pooled) + if layer_idx is None or abs(layer_idx) > self.num_layers: + self.layer = "last" + else: + self.layer = "hidden" + self.layer_idx = layer_idx + + def reset_clip_options(self): + self.layer = self.options_default[0] + self.layer_idx = self.options_default[1] + self.return_projected_pooled = self.options_default[2] + + def set_up_textual_embeddings(self, tokens, current_embeds): + out_tokens = [] + next_new_token = token_dict_size = current_embeds.weight.shape[0] + embedding_weights = [] + + for x in tokens: + tokens_temp = [] + for y in x: + if isinstance(y, numbers.Integral): + tokens_temp += [int(y)] + else: + if y.shape[0] == current_embeds.weight.shape[1]: + embedding_weights += [y] + tokens_temp += [next_new_token] + next_new_token += 1 + else: + logging.warning("WARNING: shape mismatch when trying to apply embedding, embedding will be ignored {} != {}".format(y.shape[0], current_embeds.weight.shape[1])) + while len(tokens_temp) < len(x): + tokens_temp += [self.special_tokens["pad"]] + out_tokens += [tokens_temp] + + n = token_dict_size + if len(embedding_weights) > 0: + new_embedding = self.operations.Embedding(next_new_token + 1, current_embeds.weight.shape[1], device=current_embeds.weight.device, dtype=current_embeds.weight.dtype) + new_embedding.weight[:token_dict_size] = current_embeds.weight + for x in embedding_weights: + new_embedding.weight[n] = x + n += 1 + self.transformer.set_input_embeddings(new_embedding) + + processed_tokens = [] + for x in out_tokens: + processed_tokens += [list(map(lambda a: n if a == -1 else a, x))] #The EOS token should always be the largest one + + return processed_tokens + + def forward(self, tokens): + backup_embeds = self.transformer.get_input_embeddings() + device = backup_embeds.weight.device + tokens = self.set_up_textual_embeddings(tokens, backup_embeds) + tokens = torch.LongTensor(tokens).to(device) + + attention_mask = None + if self.enable_attention_masks or self.zero_out_masked or self.return_attention_masks: + attention_mask = torch.zeros_like(tokens) + end_token = self.special_tokens.get("end", None) + if end_token is None: + cmp_token = self.special_tokens.get("pad", -1) + else: + cmp_token = end_token + + for x in range(attention_mask.shape[0]): + for y in range(attention_mask.shape[1]): + attention_mask[x, y] = 1 + if tokens[x, y] == cmp_token: + if end_token is None: + attention_mask[x, y] = 0 + break + + attention_mask_model = None + if self.enable_attention_masks: + attention_mask_model = attention_mask + + outputs = self.transformer(tokens, attention_mask_model, intermediate_output=self.layer_idx, final_layer_norm_intermediate=self.layer_norm_hidden_state, dtype=torch.float32) + self.transformer.set_input_embeddings(backup_embeds) + + if self.layer == "last": + z = outputs[0].float() + else: + z = outputs[1].float() + + if self.zero_out_masked: + z *= attention_mask.unsqueeze(-1).float() + + pooled_output = None + if len(outputs) >= 3: + if not self.return_projected_pooled and len(outputs) >= 4 and outputs[3] is not None: + pooled_output = outputs[3].float() + elif outputs[2] is not None: + pooled_output = outputs[2].float() + + extra = {} + if self.return_attention_masks: + extra["attention_mask"] = attention_mask + + if len(extra) > 0: + return z, pooled_output, extra + + return z, pooled_output + + def encode(self, tokens): + return self(tokens) + + def load_sd(self, sd): + return self.transformer.load_state_dict(sd, strict=False) + +def parse_parentheses(string): + result = [] + current_item = "" + nesting_level = 0 + for char in string: + if char == "(": + if nesting_level == 0: + if current_item: + result.append(current_item) + current_item = "(" + else: + current_item = "(" + else: + current_item += char + nesting_level += 1 + elif char == ")": + nesting_level -= 1 + if nesting_level == 0: + result.append(current_item + ")") + current_item = "" + else: + current_item += char + else: + current_item += char + if current_item: + result.append(current_item) + return result + +def token_weights(string, current_weight): + a = parse_parentheses(string) + out = [] + for x in a: + weight = current_weight + if len(x) >= 2 and x[-1] == ')' and x[0] == '(': + x = x[1:-1] + xx = x.rfind(":") + weight *= 1.1 + if xx > 0: + try: + weight = float(x[xx+1:]) + x = x[:xx] + except: + pass + out += token_weights(x, weight) + else: + out += [(x, current_weight)] + return out + +def escape_important(text): + text = text.replace("\\)", "\0\1") + text = text.replace("\\(", "\0\2") + return text + +def unescape_important(text): + text = text.replace("\0\1", ")") + text = text.replace("\0\2", "(") + return text + +def safe_load_embed_zip(embed_path): + with zipfile.ZipFile(embed_path) as myzip: + names = list(filter(lambda a: "data/" in a, myzip.namelist())) + names.reverse() + for n in names: + with myzip.open(n) as myfile: + data = myfile.read() + number = len(data) // 4 + length_embed = 1024 #sd2.x + if number < 768: + continue + if number % 768 == 0: + length_embed = 768 #sd1.x + num_embeds = number // length_embed + embed = torch.frombuffer(data, dtype=torch.float) + out = embed.reshape((num_embeds, length_embed)).clone() + del embed + return out + +def expand_directory_list(directories): + dirs = set() + for x in directories: + dirs.add(x) + for root, subdir, file in os.walk(x, followlinks=True): + dirs.add(root) + return list(dirs) + +def bundled_embed(embed, prefix, suffix): #bundled embedding in lora format + out_list = [] + for k in embed: + if k.startswith(prefix) and k.endswith(suffix): + out_list.append(embed[k]) + if len(out_list) == 0: + return None + + return torch.cat(out_list, dim=0) + +def load_embed(embedding_name, embedding_directory, embedding_size, embed_key=None): + if isinstance(embedding_directory, str): + embedding_directory = [embedding_directory] + + embedding_directory = expand_directory_list(embedding_directory) + + valid_file = None + for embed_dir in embedding_directory: + embed_path = os.path.abspath(os.path.join(embed_dir, embedding_name)) + embed_dir = os.path.abspath(embed_dir) + try: + if os.path.commonpath((embed_dir, embed_path)) != embed_dir: + continue + except: + continue + if not os.path.isfile(embed_path): + extensions = ['.safetensors', '.pt', '.bin'] + for x in extensions: + t = embed_path + x + if os.path.isfile(t): + valid_file = t + break + else: + valid_file = embed_path + if valid_file is not None: + break + + if valid_file is None: + return None + + embed_path = valid_file + + embed_out = None + + try: + if embed_path.lower().endswith(".safetensors"): + import safetensors.torch + embed = safetensors.torch.load_file(embed_path, device="cpu") + else: + try: + embed = torch.load(embed_path, weights_only=True, map_location="cpu") + except: + embed_out = safe_load_embed_zip(embed_path) + except Exception: + logging.warning("{}\n\nerror loading embedding, skipping loading: {}".format(traceback.format_exc(), embedding_name)) + return None + + if embed_out is None: + if 'string_to_param' in embed: + values = embed['string_to_param'].values() + embed_out = next(iter(values)) + elif isinstance(embed, list): + out_list = [] + for x in range(len(embed)): + for k in embed[x]: + t = embed[x][k] + if t.shape[-1] != embedding_size: + continue + out_list.append(t.reshape(-1, t.shape[-1])) + embed_out = torch.cat(out_list, dim=0) + elif embed_key is not None and embed_key in embed: + embed_out = embed[embed_key] + else: + embed_out = bundled_embed(embed, 'bundle_emb.', '.string_to_param.*') + if embed_out is None: + embed_out = bundled_embed(embed, 'bundle_emb.', '.{}'.format(embed_key)) + if embed_out is None: + values = embed.values() + embed_out = next(iter(values)) + return embed_out + +class SDTokenizer: + def __init__(self, tokenizer_path=None, max_length=77, pad_with_end=True, embedding_directory=None, embedding_size=768, embedding_key='clip_l', tokenizer_class=CLIPTokenizer, has_start_token=True, has_end_token=True, pad_to_max_length=True, min_length=None, pad_token=None, end_token=None, tokenizer_data={}): + if tokenizer_path is None: + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "sd1_tokenizer") + self.tokenizer = tokenizer_class.from_pretrained(tokenizer_path) + self.max_length = max_length + self.min_length = min_length + self.end_token = None + + empty = self.tokenizer('')["input_ids"] + self.tokenizer_adds_end_token = has_end_token + if has_start_token: + self.tokens_start = 1 + self.start_token = empty[0] + if end_token is not None: + self.end_token = end_token + else: + if has_end_token: + self.end_token = empty[1] + else: + self.tokens_start = 0 + self.start_token = None + if end_token is not None: + self.end_token = end_token + else: + self.end_token = empty[0] + + if pad_token is not None: + self.pad_token = pad_token + elif pad_with_end: + self.pad_token = self.end_token + else: + self.pad_token = 0 + + self.pad_with_end = pad_with_end + self.pad_to_max_length = pad_to_max_length + + vocab = self.tokenizer.get_vocab() + self.inv_vocab = {v: k for k, v in vocab.items()} + self.embedding_directory = embedding_directory + self.max_word_length = 8 + self.embedding_identifier = "embedding:" + self.embedding_size = embedding_size + self.embedding_key = embedding_key + + def _try_get_embedding(self, embedding_name:str): + ''' + Takes a potential embedding name and tries to retrieve it. + Returns a Tuple consisting of the embedding and any leftover string, embedding can be None. + ''' + split_embed = embedding_name.split() + embedding_name = split_embed[0] + leftover = ' '.join(split_embed[1:]) + embed = load_embed(embedding_name, self.embedding_directory, self.embedding_size, self.embedding_key) + if embed is None: + stripped = embedding_name.strip(',') + if len(stripped) < len(embedding_name): + embed = load_embed(stripped, self.embedding_directory, self.embedding_size, self.embedding_key) + return (embed, "{} {}".format(embedding_name[len(stripped):], leftover)) + return (embed, leftover) + + + def tokenize_with_weights(self, text:str, return_word_ids=False): + ''' + Takes a prompt and converts it to a list of (token, weight, word id) elements. + Tokens can both be integer tokens and pre computed CLIP tensors. + Word id values are unique per word and embedding, where the id 0 is reserved for non word tokens. + Returned list has the dimensions NxM where M is the input size of CLIP + ''' + + text = escape_important(text) + parsed_weights = token_weights(text, 1.0) + + # tokenize words + tokens = [] + for weighted_segment, weight in parsed_weights: + to_tokenize = unescape_important(weighted_segment) + split = re.split(' {0}|\n{0}'.format(self.embedding_identifier), to_tokenize) + to_tokenize = [split[0]] + for i in range(1, len(split)): + to_tokenize.append("{}{}".format(self.embedding_identifier, split[i])) + + to_tokenize = [x for x in to_tokenize if x != ""] + for word in to_tokenize: + # if we find an embedding, deal with the embedding + if word.startswith(self.embedding_identifier) and self.embedding_directory is not None: + embedding_name = word[len(self.embedding_identifier):].strip('\n') + embed, leftover = self._try_get_embedding(embedding_name) + if embed is None: + logging.warning(f"warning, embedding:{embedding_name} does not exist, ignoring") + else: + if len(embed.shape) == 1: + tokens.append([(embed, weight)]) + else: + tokens.append([(embed[x], weight) for x in range(embed.shape[0])]) + #if we accidentally have leftover text, continue parsing using leftover, else move on to next word + if leftover != "": + word = leftover + else: + continue + end = 999999999999 + if self.tokenizer_adds_end_token: + end = -1 + #parse word + tokens.append([(t, weight) for t in self.tokenizer(word)["input_ids"][self.tokens_start:end]]) + + #reshape token array to CLIP input size + batched_tokens = [] + batch = [] + if self.start_token is not None: + batch.append((self.start_token, 1.0, 0)) + batched_tokens.append(batch) + for i, t_group in enumerate(tokens): + #determine if we're going to try and keep the tokens in a single batch + is_large = len(t_group) >= self.max_word_length + if self.end_token is not None: + has_end_token = 1 + else: + has_end_token = 0 + + while len(t_group) > 0: + if len(t_group) + len(batch) > self.max_length - has_end_token: + remaining_length = self.max_length - len(batch) - has_end_token + #break word in two and add end token + if is_large: + batch.extend([(t,w,i+1) for t,w in t_group[:remaining_length]]) + if self.end_token is not None: + batch.append((self.end_token, 1.0, 0)) + t_group = t_group[remaining_length:] + #add end token and pad + else: + if self.end_token is not None: + batch.append((self.end_token, 1.0, 0)) + if self.pad_to_max_length: + batch.extend([(self.pad_token, 1.0, 0)] * (remaining_length)) + #start new batch + batch = [] + if self.start_token is not None: + batch.append((self.start_token, 1.0, 0)) + batched_tokens.append(batch) + else: + batch.extend([(t,w,i+1) for t,w in t_group]) + t_group = [] + + #fill last batch + if self.end_token is not None: + batch.append((self.end_token, 1.0, 0)) + if self.pad_to_max_length: + batch.extend([(self.pad_token, 1.0, 0)] * (self.max_length - len(batch))) + if self.min_length is not None and len(batch) < self.min_length: + batch.extend([(self.pad_token, 1.0, 0)] * (self.min_length - len(batch))) + + if not return_word_ids: + batched_tokens = [[(t, w) for t, w,_ in x] for x in batched_tokens] + + return batched_tokens + + + def untokenize(self, token_weight_pair): + return list(map(lambda a: (a, self.inv_vocab[a[0]]), token_weight_pair)) + + def state_dict(self): + return {} + +class SD1Tokenizer: + def __init__(self, embedding_directory=None, tokenizer_data={}, clip_name="l", tokenizer=SDTokenizer): + self.clip_name = clip_name + self.clip = "clip_{}".format(self.clip_name) + tokenizer = tokenizer_data.get("{}_tokenizer_class".format(self.clip), tokenizer) + setattr(self, self.clip, tokenizer(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data)) + + def tokenize_with_weights(self, text:str, return_word_ids=False): + out = {} + out[self.clip_name] = getattr(self, self.clip).tokenize_with_weights(text, return_word_ids) + return out + + def untokenize(self, token_weight_pair): + return getattr(self, self.clip).untokenize(token_weight_pair) + + def state_dict(self): + return {} + +class SD1CheckpointClipModel(SDClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + super().__init__(device=device, return_projected_pooled=False, dtype=dtype, model_options=model_options) + +class SD1ClipModel(torch.nn.Module): + def __init__(self, device="cpu", dtype=None, model_options={}, clip_name="l", clip_model=SD1CheckpointClipModel, name=None, **kwargs): + super().__init__() + + if name is not None: + self.clip_name = name + self.clip = "{}".format(self.clip_name) + else: + self.clip_name = clip_name + self.clip = "clip_{}".format(self.clip_name) + + clip_model = model_options.get("{}_class".format(self.clip), clip_model) + setattr(self, self.clip, clip_model(device=device, dtype=dtype, model_options=model_options, **kwargs)) + + self.dtypes = set() + if dtype is not None: + self.dtypes.add(dtype) + + def set_clip_options(self, options): + getattr(self, self.clip).set_clip_options(options) + + def reset_clip_options(self): + getattr(self, self.clip).reset_clip_options() + + def encode_token_weights(self, token_weight_pairs): + token_weight_pairs = token_weight_pairs[self.clip_name] + out = getattr(self, self.clip).encode_token_weights(token_weight_pairs) + return out + + def load_sd(self, sd): + return getattr(self, self.clip).load_sd(sd) diff --git a/comfy/sd1_clip_config.json b/comfy/sd1_clip_config.json new file mode 100644 index 0000000000000000000000000000000000000000..3ba8c6b5bc3d6389fb6c9e2c8231729ad9d663a4 --- /dev/null +++ b/comfy/sd1_clip_config.json @@ -0,0 +1,25 @@ +{ + "_name_or_path": "openai/clip-vit-large-patch14", + "architectures": [ + "CLIPTextModel" + ], + "attention_dropout": 0.0, + "bos_token_id": 0, + "dropout": 0.0, + "eos_token_id": 49407, + "hidden_act": "quick_gelu", + "hidden_size": 768, + "initializer_factor": 1.0, + "initializer_range": 0.02, + "intermediate_size": 3072, + "layer_norm_eps": 1e-05, + "max_position_embeddings": 77, + "model_type": "clip_text_model", + "num_attention_heads": 12, + "num_hidden_layers": 12, + "pad_token_id": 1, + "projection_dim": 768, + "torch_dtype": "float32", + "transformers_version": "4.24.0", + "vocab_size": 49408 +} diff --git a/comfy/sd1_tokenizer/merges.txt b/comfy/sd1_tokenizer/merges.txt new file mode 100644 index 0000000000000000000000000000000000000000..76e821f1b6f0a9709293c3b6b51ed90980b3166b --- /dev/null +++ b/comfy/sd1_tokenizer/merges.txt @@ -0,0 +1,48895 @@ +#version: 0.2 +i n +t h +a n +r e +a r +e r +th e +in g +o u +o n +s t +o r +e n +o n +a l +a t +e r +i t +i n +t o +r o +i s +l e +i c +a t +an d +e d +o f +c h +o r +e s +i l +e l +s t +a c +o m +a m +l o +a n +a y +s h +r i +l i +t i +f or +n e +ð Ł +r a +h a +d e +o l +v e +s i +u r +a l +s e +' s +u n +d i +b e +l a +w h +o o +d ay +e n +m a +n o +l e +t o +ou r +i r +g h +w it +i t +y o +a s +s p +th is +t s +at i +yo u +wit h +a d +i s +a b +l y +w e +th e +t e +a s +a g +v i +p p +s u +h o +m y +. . +b u +c om +s e +er s +m e +m e +al l +c on +m o +k e +g e +ou t +en t +c o +f e +v er +a r +f ro +a u +p o +c e +gh t +ar e +s s +fro m +c h +t r +ou n +on e +b y +d o +t h +w or +er e +k e +p ro +f or +d s +b o +t a +w e +g o +h e +t er +in g +d e +b e +ati on +m or +a y +e x +il l +p e +k s +s c +l u +f u +q u +v er +ðŁ ĺ +j u +m u +at e +an d +v e +k ing +m ar +o p +h i +.. . +p re +a d +r u +th at +j o +o f +c e +ne w +a m +a p +g re +s s +d u +no w +y e +t ing +y our +it y +n i +c i +p ar +g u +f i +a f +p er +t er +u p +s o +g i +on s +g r +g e +b r +p l +' t +m i +in e +we e +b i +u s +sh o +ha ve +to day +a v +m an +en t +ac k +ur e +ou r +â Ģ +c u +l d +lo o +i m +ic e +s om +f in +re d +re n +oo d +w as +ti on +p i +i r +th er +t y +p h +ar d +e c +! ! +m on +mor e +w ill +t ra +c an +c ol +p u +t e +w n +m b +s o +it i +ju st +n ing +h ere +t u +p a +p r +bu t +wh at +al ly +f ir +m in +c a +an t +s a +t ed +e v +m ent +f a +ge t +am e +ab out +g ra +no t +ha pp +ay s +m an +h is +ti me +li ke +g h +ha s +th an +lo ve +ar t +st e +d ing +h e +c re +w s +w at +d er +it e +s er +ac e +ag e +en d +st r +a w +st or +r e +c ar +el l +al l +p s +f ri +p ho +p or +d o +a k +w i +f re +wh o +sh i +b oo +s on +el l +wh en +il l +ho w +gre at +w in +e l +b l +s si +al i +som e +ðŁ Ĵ +t on +d er +le s +p la +ï ¸ +e d +s ch +h u +on g +d on +k i +s h +an n +c or +. . +oun d +a z +in e +ar y +fu l +st u +ou ld +st i +g o +se e +ab le +ar s +l l +m is +b er +c k +w a +en ts +n o +si g +f e +fir st +e t +sp e +ac k +i f +ou s +' m +st er +a pp +an g +an ce +an s +g ood +b re +e ver +the y +t ic +com e +of f +b ack +as e +ing s +ol d +i ght +f o +h er +happ y +p ic +it s +v ing +u s +m at +h om +d y +e m +s k +y ing +the ir +le d +r y +u l +h ar +c k +t on +on al +h el +r ic +b ir +vi e +w ay +t ri +d a +p le +b ro +st o +oo l +ni ght +tr u +b a +re ad +re s +ye ar +f r +t or +al s +c oun +c la +t ure +v el +at ed +le c +en d +th ing +v o +ic i +be st +c an +wor k +la st +af ter +en ce +p ri +p e +e s +i l +âĢ ¦ +d re +y s +o ver +i es +ðŁ ij +com m +t w +in k +s un +c l +li fe +t t +a ch +l and +s y +t re +t al +p ol +s m +du c +s al +f t +' re +ch e +w ar +t ur +ati ons +ac h +m s +il e +p m +ou gh +at e +st ar +wee k +! !! +c lu +th ere +n er +t om +s el +ï¸ ı +wor ld +v es +c am +go t +in ter +of f +u m +ton ight +o ther +h ou +loo k +j e +i d +si on +be au +at t +el i +or t +re c +f f +st er +su pp +g en +be en +il y +te am +m m +i c +pe op +it t +at s +on ly +mb er +en g +b ri +m p +k now +b ur +b ar +in s +lo w +sh e +ro w +â Ŀ +t ro +peop le +vi a +lo w +ag a +be t +x t +f ac +ch ar +e ar +w al +s en +f am +b le +n ati +is h +n or +g ame +li ve +s co +le y +d on +ic k +b all +ver y +the se +p an +i a +at ing +c r +a re +g ir +ma ke +st re +sho w +. " +f l +u p +d r +than ks +il li +w om +st s +i g +s ur +ever y +c ur +vie w +le t +in to +mo st +n a +in di +g ar +ha d +s ou +v ed +an t +iti on +ma de +f ol +un i +it ed +ðŁ ı +ic al +th r +read y +ch ec +d ra +k es +boo k +e p +si c +mor ning +ne ws +c au +c t +w ell +an c +pho to +th an +or s +bir th +g g +ou t +ne xt +som e +en ing +stor y +ch ri +do wn +hom e +f fe +fre e +d a +b or +f il +ci al +than k +si de +le ar +qu e +l ine +t en +at es +ye ars +m y +pho to +beau ti +ri ght +n u +for m +shi p +b an +th er +d ays +g am +as on +g y +ðŁ İ +birth day +se t +ic k +e t +st ill +com ing +ta ke +ðŁ ĩ +b b +s ol +s on +d en +e p +mu sic +the m +de n +wh y +f oo +c ra +am az +w n +h ol +t ting +w r +u e +ma g +c ro +l an +c lo +b ra +a k +s ing +c al +re ad +' ve +jo h +b ab +d ri +b lo +bi g +er ic +in t +t or +tr y +l a +le g +hou se +m ic +v al +beauti ful +l itt +chec k +ne w +ver s +s w +ar i +pla y +h er +âĢ ĵ +w in +m a +con gr +sch ool +f un +. @ +he al +ic h +d el +wh ere +l on +ke t +tw o +mu ch +wat ch +v en +d ed +a st +k ed +b as +go ing +m p +e ver +w ays +ro o +de sig +l y +s ed +to p +l in +ch an +to o +it ing +d ent +gh ts +t y +sp o +ne ed +b lu +in st +be ing +âĿ ¤ +w el +l s +hi m +m ay +st ing +n a +el y +litt le +g a +n at +tom or +m c +h on +w ant +a ir +pi c +am eric +p er +le ss +wee k +ve l +a h +c ap +ch am +g er +ti m +tomor row +ne ss +st ate +h al +ser v +z e +o s +p at +v is +ex c +s in +f f +c ity +c en +an y +b el +su mm +t in +w ould +loo king +k o +ce le +fam ily +m er +po w +hel p +bu s +c o +c le +sel f +en s +ic s +th o +an i +ch o +le ad +b s +t wee +th ink +for e +ch il +vi de +di d +al e +ch i +v il +en ds +w ing +p as +' ll +v ol +s a +g s +man y +j ec +be fore +gra ph +n y +ur ing +w il +d d +bu il +f av +st ed +tr an +l ing +ou d +d ge +fi el +nati onal +st a +c er +w ere +in a +se ason +c ou +n ed +amaz ing +ti ons +cele br +n s +a th +he ad +s day +d ar +lo c +v in +an other +g oo +s at +n y +jo in +pre s +s es +s ing +an a +in ing +.. .. +c our +ï¸ ı +ac t +cau se +li ght +am s +t a +b al +f c +hi gh +off ici +t t +chri st +d ic +d ay +ra l +h or +: ) +vi si +n am +o b +ma s +gh t +re ally +t un +fin d +thr ough +por t +u t +ti ve +st y +n e +or e +ðŁĺ Ĥ +supp ort +ne ver +ev en +ðŁ Ķ +h a +y a +l d +u k +r an +j am +wi th +me di +d es +ne y +ch ing +al e +h y +k in +! ! +d y +pl ace +al so +b le +wh ich +bl ack +b li +s ay +par k +pl ay +ir e +vide o +week end +a il +ke y +p t +w ard +fri day +d in +ine ss +g ro +b en +al ways +t ball +ag o +m il +c y +pro duc +di sc +un der +ple ase +sp or +fu ll +e y +ðŁ Ļ +is e +iti es +c at +k no +u se +fo re +k er +ar t +hi gh +op en +s an +e f +our s +sh ed +st ri +d ro +aga in +i m +ðŁ ĵ +en jo +fu n +ge tting +p en +g er +c li +an y +ever y +e u +wom en +â ľ +e st +c ould +r y +" @ +th ou +sh a +comm un +b er +d ents +di s +wh ile +aw ay +di o +h am +g la +d ate +k a +mis s +un ch +w on +in f +roo m +g a +re al +ex per +di rec +sh ould +sp r +g ol +l ong +bet ter +or i +e y +i ence +il s +z z +h an +f ound +v s +â Ļ +po st +ti c +par t +m en +ren ce +ce ss +v ic +s il +sho p +ðŁĺ Ĥ +f ood +v al +sti c +y ou +s ays +e lec +st ar +o c +l and +i d +c tion +fiel d +s of +st art +wat er +fri ends +on es +ðŁ Į +f la +f ar +wh ite +par ty +in st +gr ou +t v +every one +m ent +j a +ch a +pr in +an ts +d uring +l at +l ar +we st +th en +k a +y oun +in sp +in te +we en +visi t +aga inst +re le +he ad +c es +to wn +loo ks +th re +re gi +ren t +pro jec +gir l +se ar +w o +m om +c ar +h un +pu bli +d i +p le +c all +c ri +u m +for d +per fe +fri end +h ard +ssi on +te st +pla ying +ar ound +be cause +ke ts +me et +sat ur +ar ti +wor k +j un +v en +r un +me mber +por t +su per +t wit +s am +el s +t ly +ad v +ati ve +at h +s ure +av ail +la r +s qu +ar ds +ev ent +m en +l l +o ver +lo gy +it al +tim es +m al +b ack +c oo +ma king +st ru +â ģ +it u +sh ar +g an +c as +s n +summ er +pic ture +f an +h in +christ mas +c y +pr oud +cham pi +desig n +pp ing +ho pe +c a +avail able +ma y +we d +photo graph +spe cial +sal e +sto p +er y +a we +al ity +hi story +am a +pre si +b ru +wor king +d one +d r +k en +fe at +w ood +ate st +sun day +mo vi +vel y +s le +f ace +sp ec +stu dents +b y +ha m +sp on +bus iness +d at +i e +i p +so ci +g lo +h and +re cor +r s +me e +ke ep +p ur +heal th +sh e +com ple +go d +da vi +col lec +li st +r a +clu b +t ers +in clu +th ings +pl an +â ĺ +joh n +sh ing +at ul +so on +blu e +g or +satur day +w on +congr atul +se e +âĿ¤ ï¸ı +tho se +ðŁĺ į +fin al +d ou +it h +o wn +ro ad +t our +a st +indi a +ti l +n d +f er +fav or +su l +lear n +fir e +ju st +grou p +a h +r ac +bo dy +u r +c are +à ¸ +p lo +o h +po s +gi ve +te ch +su b +c ent +er ing +y m +il ity +f ic +lon don +v ir +gu ys +b a +ðŁ ¤ +bab y +sc re +ðŁĺ į +tru mp +un der +chan ge +i an +col le +ss es +l er +ss ed +n ice +ann oun +pow er +s ar +a king +min i +s li +s wee +k ar +fu l +c ru +ac tion +a ther +) . +st and +de vel +a a +g an +le ft +lo l +re l +tran s +m ents +in t +e f +man ag +di g +gen er +do wn +p au +ti v +k u +th ur +k en +st on +f ans +tal k +twee t +t oo +sty le +pro te +se con +fr on +awe some +g l +p al +ne t +s or +la u +g on +sin ce +t ty +ser ies +me mor +b eli +fil m +di d +di es +o t +congratul ations +p ra +e ve +w oo +offici al +su c +in cre +b on +par t +pp ed +cla ss +si ve +bo y +cu l +perfe ct +t ou +d am +wel come +foo tball +h i +p ap +wa it +ad a +congr ats +youn g +exc ited +re ce +j an +v a +re d +st ra +medi a +' d +do es +le t +mu l +ill s +gre en +m el +to ge +fu ture +ye ster +vers ity +for m +ta in +i de +ch es +ki ds +qu i +ha ha +de ta +bi g +favor ite +gir ls +con tin +do m +sear ch +u al +a ir +d ers +mon th +c er +yester day +commun ity +ad e +do g +vil le +ic es +d eli +sy ste +ru n +is m +he art +c up +en ti +fe w +presi dent +e ds +un til +fe sti +o k +f lo +sa id +ol e +me d +tra vel + £ +ph one +toge ther +fa st +lo t +gam es +sh ir +bet ween +y es +th ers +do ing +m ac +at or +b and +fol low +projec t +devel op +di ffe +con fe +spe ci +ca st +y s +bo ard +r d +i al +sh oo +r am +ha ving +sh are +fol low +on e +n ame +m r +pu t +disc u +or y +c ame +ou s +s ite +twit ter +t b +t it +fin ally +z ed +su per +com pan +us ing +all s +li st +r is +sho t +g al +t ar +de l +joh n +âĢ Ķ +some thing +ra m +inte re +wh e +b it +ðŁ į +stre et +oun d +a i +tic kets +movi e +re al +k y +ta king +o pp +c c +l am +m oun +in ve +bl ack +us ed +on line +y or +loc al +gu e +c ks +o w +ge st +bo ys +illi on +con t +re ci +in ed +eu ro +no w +se en +p h +te ach +de f +sou th +su ch +aw ard +mu st +is su +ca re +fe el +p lu +l atest +spor ts +we b +te x +e ment +s k +fi c +w an +te ch +o t +bo x +n er +fre e +t al +a sh +c ase +ho t +won der +mee ting +er a +ch all +ðŁ IJ +jo b +il i +c ool +j our +th s +m o +f el +di e +mic ha +e le +te am +serv ice +st and +ma kes +p ing +ear ly +com es +e k +ho li +v ers +ag ue +s au +thre e +mon day +fa shi +some one +th ro +se a +b ad +supp or +tur n +ur y +m ing +photograph y +n ic +mar k +pre tty +ss ing +wat ching +me mb +ar ri +coun ty +be ach +fr an +cen ter +pol ice +b at +publi c +t an +pre ss +s af +s y +ge ts +ro y +n ers +y our +bu y +st ers +sho w +as ed +chil dre +af ric +in es +sp ace +sc ri +h all +pa in +ar ing +hom e +m ur +heal th +ch ed +s and +rece i +gu y +e a +americ an +re si +childre n +- - +i ri +ing ton +coun try +ro ss +le n +ann a +boo ks +b c +e ce +d om +lo vely +k h +pe t +g y +g ri +st age +off ice +ro ck +m on +b ay +t able +su n +m ed +th in +l or +f low +( @ +uni versity +stor e +fron t +goo d +z a +vo te +nor th +he y +an im +or der +mi d +with out +a de +re member +mar ket +? ? +mu s +tra ining +e duc +bu t +co ver +st an +sc en +b la +bre ak +l ou +s ame +g old +a in +o s +bo th +l it +ver n +a i +al bu +p a +enjo y +be g +ell ing +thur sday +inf o +s an +americ a +ha ir +te l +mar ch +con cer +colle ge +confe rence +ap p +h our +ch ang +â ļ +s our +ol s +we ather +w ar +p hi +festi val +secon d +cu te +pr ac +en er +str y +le a +pol it +s av +se n +o w +m i +ne ar +ou ght +z e +co ffe +w illi +d an +se y +davi d +e se +f an +de ci +the at +no v +ati on +tr ac +sc i +re view +c el +e m +u n +ju ly +or ig +ti on +d ru +form er +st ay +af ter +in v +too k +dat a +b al +tu es +d an +ev ening +ðŁĺĤ ðŁĺĤ +d ol +u res +pro vi +t s +e st +sig n +j ac +u k +s ong +ye t +bo w +in du +j ap +h oo +po int +any one +z y +i st +h ur +it al +buil ding +wom an +ch ur +j er +per for +co ach +le ague +ce ss +ne t +i mag +nati on +br it +qu e +aw ards +ag es +wor ks +c ed +man ce +l ate +ig n +mon ey +tru e +i i +t ell +pl ac +p ac +as y +wor ld +be hin +im port +read ing +gra m +gi ving +me t +h it +for ward +st om +pres ent +jun e +so cial +no on +mar t +hal f +s we +go vern +k er +deta ils +li sh +_ _ +ac y +si a +ber t +f all +! !!! +) , +th i +d iti +sp ort +k ing +f it +st af +c at +mu se +cen tr +y er +con tro +b loo +wal k +ac tu +did n +li m +lear ning +re search +wed ne +au th +h ours +k y +f ar +h en +.. .. +it ch +ri l +str ong +sk y +que sti +jam es +r on +d g +f ur +c in +do es +app ro +mar ke +tu res +ful ly +ch at +behin d +te m +fin i +mis sion +b att +fe el +he av +every thing +b ar +w ish +pre mi +i ma +exper ience +e ach +re port +swee t +tic s +spr ing +re spon +syste m +vic tor +l in +sa w +al ready +gh ter +f le +ã ĥ +br ing +albu m +- - +ell s +st an +to m +inter national +w ent +an ni +mat ch +pp er +st one +sm all +ra in +fashi on +are a +v an +ag ram +k o +thou ght +wor th +v an +m er +coffe e +it es +g n +arti st +c on +ar ch +c ir +se cre +gr ound +is o +h and +co m +bri dge +h s +x i +l ink +pu l +sp l +r ace +f li +ri ver +g as +di sco +d al +play er +f it +photo s +it y +o k +j or +tr a +ap ril +ad s +a di +sol u +beau ty +do or +me ss +up date +ali a +sch o +en ed +mom ent +sco t +sc ience +i or +ti es +ac ross +ous ly +sh es +does n +p age +wat er +m illion +cla ssi +l ic +ca st +form ation +micha el +ell o +s mo +in ts +vi sion +op ening +ld n +au str +tues day +win ner +po ssi +r ound +shir t +di t +b o +u es +il led +al ong +tri p +star ting +im pro +k an +per son +no t +re co +ne eds +c le +li e +re st +r ing +win ter +si mp +mo m +be er +fac e +tor s +us a +collec tion +ge or +se ssion +tr ying +la s +la ke +j en +orig in +stu dent +se cur +v in +pic s +ex pe +com p +gon na +e qu +b ad +le y +a u +memb ers +bre ak +w all +gi c +din ner +bu l +insp ir +r i +min d +ic a +win ning +tal king +t ren +s is +t en +wonder ful +s now +he ar +th om +no thing +gu i +st in +blo g +fe st +b un +le e +war ds +ch ance +dre ss +re n +pau l +p es +tech no +ru ssi +c ard +e ast +mar i +w ine +t i +la w +str ic +k i +ap e +au gu +pro fe +as h +cour se +ma il +ren tly +d un +m un +lo ve +is land +dri ve +s l +end ed +ma in +lo st +nat ure +âĿ¤ ï¸ı +ch ic +re por +p in +pr o +st ation +ce p +ta kes +compan y +go es +on d +ma ch +ra dio +d ad +ro ck +j a +p ay +champi on +e e +in de +tt a +ati c +t ab +beli eve +ener gy +z i +t at +wor d +on ce +re sul +y l +and re +an o +inst agram +clo se +t am +cu stom +w a +con om +sho ws +li fe +k in +ro b +t age +n ation +al most +list en +sa ve +re li +ac e +mar y +tre e +for get +j ack +wa iting +direc tor +h ill +bor n +te mp +f l +st e +on a +sing le +wedne sday +un ited +in o +@ _ +ne l +celebr ate +en ding +de al +j i +can ada +hu ge +tr ack +âĢ ¢ +f y +fan ta +an g +yor k +rele ase +p un +ep iso +wor ds +t our +p ack +i gh +classi c +perfor mance +ke t +after noon +recor d +win s +pro ble +âĿ ¤ +f our +b ed +ban k +d ance +s la +cal led +mi ght +a p +pa st +ðŁ ļ +diffe rent +it e +gi ft +ssi ve +chur ch +c us +pro gram +ho tel +ic e +ma d +secur ity +en ge +d c +en ough +st a +e ty +de ad +g un +he ar +m ir +hu man +gre ss +oun ds +pi ece +bre aking +gar den +fi ght +vie ws +f ish +star ted +run ning +gre en +ser i +s m +as k +d or +de ath +e conom +er i +ir d +s er +l unch +âģ ¦ +bo x +nat u +ba se +b an +f al +glo bal +wil d +wo w +out side +mo ve +le ad +an al +muse um +on g +ha w +pow er +than k +b ac +char ac +cam pa +dig ital +r o +op er +de v +w ol +p ati +f a +m ale +pap er +ill ing +c s +â ĥ +educ ation +ta ken +e ffe +m ou +s ad +" . +bas ed +staf f +inclu ding +li ving +a c +ch ina +mo b +stor m +lu ck +ph il +o o +y n +tra vel +k el +ti al +pr ice +boo k +import ant +bi o +p ool +ny c +f ab +lo ad +? ! +chall enge +cr y +ser ve +we ar +bu s +ta in +nu mber +ro r +k at +i z +th ough +ho sp +m m +fa ir +ut es +ho t +po p +fi ed +cam p +develop ment +li br +c ali +em s +âģ¦ @ +b ol +is ed +stand ing +mo del +it a +g le +bro wn +ima ge +ve red +for ce +o il +par tic +sh u +da ily +la w +se c +cla ss +cam p +holi day +cl in +k ers +pres ent +gam e +incre di +er ship +inter view +b ill +du e +and y +ab o +in nov +ke y +ac ade +p il +mo der +st ars +br and +f er +wee ks +con si +pr e +sa fe +wr it +di um +la unch +marke ting +ann ual +as si +cour t +la dy +c ted +and a +in side +chil d +opp or +sm ith +centr e +gu e +âģ © +f ren +st y +for t +ent ly +is n +ke ep +to ber +on y +bo y +al d +col la +de mo +le vel +com pet +ad o +b our +fanta stic +m ate +s u +sou th +oppor tun +vers ary +lat er +bu d +face book +la un +ster n +p it +! " +ma j +gr am +tb t +fi re +happ y +a ks +wh ole +actu ally +ill er +ell a +lo ts +al ex +an ge +lan ds +ðŁĺ Ń +en ter +r ou +episo de +p ed +in ten +sh ire +wh o +pl an +h o +ca ke +we st +mag az +fre sh +c c +n ar +ch ris +wr iting +w er +n om +l o +mi dd +dre am +o l +ti onal +de b +> > +be come +s i +gr and +all ing +hi stor +ri de +i red +saf e +que en +ci l +in tro +vi l +d ani +.. . +ar tic +st at +sh ort +or ing +sel fi +mis si +do c +b it +g all +b om +i re +se lec +d ition +ðŁĶ ¥ +fri end +be at +gh ting +ðŁĺ Ĭ +pe ace +ex hi +ant a +ab ility +il lu +j on +qu ality +tri bu +m es +play ers +fa ir +cu t +c ab +suc cess +b i +su s +pro mo +sch e +an ge +ic o +comm it +cat ch +ill a +kin d +feel ing +qu o +s ay +anni versary +spo t +mo ther +an e +p end +your self +op s +app le +min utes +p o +gr and +ri es +ha ha +care er +ed ition +de c +ric k +am i +concer t +iti ve +ge ous +d ly +t te +adv ent +i g +li ghts +ak er +sk y +âĥ £ +r ay +fini shed +w ay +s d +ac coun +ðŁĴ ķ +ck y +ch el +lit er +pain ting +lo s +st un +techno logy +n as +ma r +b il +afric a +ki e +ey es +gol f +plu s +ni a +it ec +serv ices +wed ding +kno wn +te le +.. ... +star ts +pa ren +w ants +ati onal +mon ths +win do +fav our +er t +magaz ine +ex clu +re ve +b c +origin al +e ss +n al +an ti +st ro +t ice +stu dy +à ¤ +v ac +nation al +fi ve +ra in +ve ment +u te +ver se +em er +ar my +possi ble +gue ss +val ley +ther n +cro w +m r +col or +on to +pic k +cle ar +dar k +t ac +wan ted +it ting +can cer +govern ment +di e +ri se +z ing +col d +f oun +stu dio +str ation +bro ther +a head +sh el +mic ro +ic ally +d au +sig ned +vi ol +a x +as se +i o +w re +spl ay +ch ick +augu st +pl at +ti ps +sp i +hu man +e asy +lo gi +mi ke +gro w +ag re +w w +sh ad +mo tiv +wi de +tur ns +om g +v ar +de fin +su g +j im +ðŁĶ ¥ +t d +campa ign +nam ed +re tweet +co p +t v +le av +k is +dou ble +s mar +issu e +vil la +in formation +li es +sto ck +n t +di stric +sh or +mi x +er o +se p +me x +see ing +li ve +re min +co de +g ur +s c +wil d +l un +h ood +spo t +fa ther +fore ver +up d +tra f +f ly +ne ed +gra du +tra in +ma ke +s ab +be y +si ze +lead er +tal ks +e u +lo g +fo x +gor geous +le ss +le ts +sur pri +my self +no te +li ves +f ru +lo ved +se ver +de m +j i +so c +h old +do gs +n i +â ŀ +lea ve +air port +ben ef +ex pl +shi ps +comple te +ach i +gre at +vin tage +j ack +ro c +woo d +pri v +off er +ey e +ver sion +te a +co ach +off ic +w ell +g en +s at +h h +you th +o x +? " +m t +mi x +g g +d le +natu ral +buil d +break fast +thin king +theat re +mo on +ber g +go als +geor ge +en e +exc ell +il ing +tun e +y ed +g ate +m it +net work +jo e +h ello +f b +tu be +we aring +ath le +stru c +har d +gla ss +g ers +thro w +g es +b t +indu stry +manag ement +ali st +go al +stre am +y el +a vi +ici ous +o thers +s ki +chri sti +bir d +e sc +m in +tr o +l t +j an +im p +ri ghts +sh a +or gan +cent ral +ar a +ro ll +favour ite +che ster +el se +p ay +car s +m ine +ste p +prac tice +maj or +h ang +ðŁĺ ĺ +n on +v ari +eng ine +vol un +di a +i led +arch itec +p ink +d s +th y +wa sh +web site +ba g +contro l +el li +f ra +an sw +d ence +y u +r on +ol a +g in +dr in +li c +cou ple +sp ar +g on +cre ate +c t +celebr ating +de ep +e at +te e +vo ice +dro p +vis it +at ors +sta dium +f t +w is +ro l +gra de +fam il +po ints +re pre +w as +traf fic +jap an +or g +hon or +tex as +man u +âĻ ¥ +safe ty +re r +b ag +em plo +rele ased +re gu +ak a +n av +ro le +sen ior +spec t +cro ss +lin es +be st +p ack +s in +ti e +mis sing +sun set +li ber +is ing +j ay +sk i +champion ship +ac tiv +la dies +play ed +y y +pu bl +al o +pri de +s r +pa ki +lu x +sur vi +ck ed +e ts +cho col +austr alia +par is +mi les +h at +ment al +al a +me an +mob ile +en a +in si +f ound +chi ef +t ag +incredi ble +re turn +à © +goo gle +fren ch +cre w +hal lo +ali an +j az +ch er +sil ver +nor th +eng lish +base ball +c af +lim ited +follow ing +app reci +ear th +k ir +ve mber +w ed +p tion +g ed +oc tober +fl ori +c r +en cy +ga ve +lor d +stu ff +ber ry +po st +sm ile +bro ad +st ate +gg er +me ans +ic y +gu n +y o +ma ster +bur g +han ds +ni e +/ / +uni on +brit ish +big gest +distric t +am ing +h il +o ce +per son +pas s +en vir +scho ols +arri ved +anc es +insp ired +ex pla +be n +libr ary +bo tt +am p +ste ph +cont act +b ang +m s +cali for +t old +batt le +b b +chic ago +âľ ¨ +str ate +sh i +de ce +- ) +ad d +la b +j ones +leg end +cast le +ing er +st ance +be l +ur a +re fu +lead ers +po t +se x +h ic +artic le +ki d +fr ance +x x +ex e +gui de +volun te +pr int +al i +ce o +twee ts +w x +scen e +vol u +ant i +h an +as soci +shar ing +ro se +mini ster +sh er +in ste +cle an +demo cr +po ster +sk in +p sy +pro per +cra zy +i am +o re +in i +any thing +po d +mo ving +cl ick +ex plo +com b +cra ft +f i +bloo d +is ra +publ ic +d ent +ol ym +eng land +a si +ch er +fac t +envir on +har ry +g one +me dic +enjo ying +just ice +j r +indi an +wi fe +s ound +t es +dra wing +p al +ide a +cr it +ju li +il er +war m +cl ar +thou ghts +def en +coun cil +intro duc +di ed +jan u +an i +s end +li er +m l +intere sting +tra de +win d +b ay +s ac +anc y +sour ce +b es +org ani +ar ly +lar ge +ff ici +ta g +u t +de sp +o es +tit le +sy m +pic tures +op en +wom en +sho wing +ri a +le ast +lead ership +cur rent +elec tr +val ent +list ening +c key +gener al +de ser +du ce +; ) +c ent +ðŁĺį ðŁĺį +sco tt +po or +selfi e +ev ents +i on +wr ong +de v +h ill +sep te +cul ture +l ine +sor ry +s ent +si ster +ce pt +k ri +no vember +ar i +announ ce +z ation +br an +g ent +d u +l en +per s +f m +mart in +o p +e mb +om e +midd le +suc cess +pe ter +janu ary +f lu +rac ing +d av +bi ke +ðŁı » +pe t +shoo t +profe ssi +feat uring +septe mber +now playing +sta ur +z a +on ic +qu ick +bas ke +spe aking +mil it +z er +chick en +b ell +s ad +co ast +lo ving +y ers +d j +pan el +ver age +s wit +ic ks +b ou +califor nia +s am +paren ts +er o +k illed +ph ys +jo bs +mi gr +an th +e mo +hallo ween +and er +c m +compet ition +e ag +s ket +sp ir +may be +exclu sive +app e +jour ney +scre en +for d +i o +h ate +u g +sou l +her o +soci ety +sy n +gu it +n h +d j +as es +im pre +ti me +sal es +d d +f ts +summ it +stun ning +om s +tur ned +cle an +sof t +be at +re staur +de red +en ces +ma gic +di o +sh ine +gu est +health y +exhi b +stor ies +po pu +n is +el a +bel ow +fun ny +resul ts +s ne +cur rently +ar d +down load +f light +m al +f ine +p ad +ch u +ent ed +h at +ðŁij ı +ste ve +j o +mar k +r at +b all +p c +p on +b by +o li +ar ts +as ure +bow l +att ack +mi c +de ar +ran ge +en ter +chocol ate +br illi +ac cess +, " +? ?? +ch ap +con st +t n +mat ter +blu e +gall ery +em p +work shop +lead ing +y ours +baske tball +w anna +th u +_ _ +mar ri +sle ep +bi a +ch e +ma d +imp act +o wn +si r +chan nel +euro pe +e sp +k itch +hosp ital +w ra +roy al +f s +ne u +qu ar +ne y +ac ks +ch ase +pp y +st al +at ely +ti m +dece mber +r are +per form +cre am +we ight +ch oo +ni ght +ha ven +fr anc +kh an +buil t +hel ping +tru st +ty pe +gol den +ta x +s now +s wi +di sa +questi ons +ve y +li ght +c n +cl oud +thom as +ag ed +sh ou +te ams +gr an +re ason +a a +you tube +v p +pi zz +manag er +bur y +cre dit +tre at +ma x +i k +ma in +g ing +de ad +pro bab +ye ah +ã Ĥ +br and +so li +pl ant +ta yl +gir l +ðŁĺ Ń +nam ent +au to +mess age +ko re +n ur +ter r +ag u +ma p +sen ting +lo ves +gi ves +g ab +z en +ro bert +con fir +w ars +o m +sta in +cam era +and er +won der +a b +ca p +s old +su it +wal king +contin ue +effe c +dau ghter +d anc +cha in +mul ti +ki d +y an +champi on +v o +ta ins +ho st +min i +mis sed +re sc +ly n +fin ish +del icious +s as +tayl or +i b +pro mis +produc ts +moun tain +flori da +regi ster +tre at +rec ent +fe male +boo th +mat t +ve hic +s op +mo tor +suppor ting +phi c +ex tre +dr ink +lan e +th ird +p s +con stru +ce re +far m +ðŁİ ī +tu red +ðŁij ī +c ats +a j +gi e +shoo ting +as ked +paki stan +am e +m b +g il +leg al +squ are +in vol +dra w +oo oo +!! !! +opportun ity +p y +e i +b ts +teach er +charac ter +john son +br on +ly wood +ch ine +c ing +c ine +d ge +gam ing +russi a +ci a +quo te +ric h +go v +flow ers +sp iri +st in +grow th +ðŁı ¼ +comm er +j uni +mu m +r an +s na +a ren +c b +ac tor +col or +si t +pa ir +ch i +bo w +acade my +hel d +r ang +me tal +y l +ac tive +probab ly +t ch +need ed +spe e +cho ice +ital y +ry an +ðŁĩ º +flow er +v it +m n +found ation +b ak +si ons +ne igh +f loo +he ard +re mo +fre sh +ing ing +re f +to wn +cl ou +je sus +spiri t +cou ldn +z es +ðŁĴ Ļ +willi ams +pro ce +moder n +pro cess +sho es +cre ated +tri c +issu es +ann e +att en +de but +h r +n it +sti g +a po +e ps +z u +ã Ģ +si x +car ds +lan gu +fam ous +tour nament +se l +e bay +y n +st on +k ick +announ ced +k am +vo c +brilli ant +hou se +che ese +war ri +mus ic +ho ckey +ðŁĺĤ ðŁĺĤ +sk ills +au tom +smar t +med ical +mon y +e x +gu ar +gi ve +pers onal +ven tion +al li +pre ss +flo or +m c +victor y +hi m +simp le +th or +ðŁĩº ðŁĩ +ta il +lu cky +ale x +qu ite +bo t +ssi ons +chall eng +c ann +amaz on +h ell +b ought +) : +ed y +secre t +produc tion +inde pend +de fe +ad ded +p r +p ag +be d +gre atest +with in +j ay +ðŁ ¥ +ire land +re ly +s d +te xt +dri ving +pro gram +spe ed +col um +str on +à © +fore st +â ĸ +mach ine +co in +sc ar +oun t +bi e +¡ ï¸ı +por tra +comm on +wre st +recei ved +kno w +inve st +pl ans +ac cor +ad op +ter y +re ali +p p +k al +art work +me an +go d +inste ad +an ci +motiv ation +as ing +inspir ation +up coming +polit ical +euro pe +m ers +heav y +ðŁij į +fe bru +scot land +ou gh +b t +bo ss +sche du +spe ak +n ick +u red +in o +e k +ri sk +tor y +pres ents +b on +ru g +st ates +exhib ition +il o +m ill +br ought +: -) +tou ri +com e +offici ally +champi ons +do ors +re p +po se +ex tra +k ings +soc cer +squ ad +app lic +at a +some times +t ari +excell ent +ðŁĺ ĺ +stra ight +car ol +ri p +âĢ į +gra phic +m ol +elec tion +febru ary +as ons +l i +di r +m t +n ick +u su +m rs +com ics +inst itu +cor por +v i +ðŁĻ ı +tu ral +di se +ac ci +we are +am ong +sho pping +t ill +wh at +cha ir +sp an +chine se +innov ation +jo y +k it +cent ury +ob ama +ph ili +f c +re ach +c iti +ul ous +n on +d ang +happ ening +bur n +p el +or ange +d v +k ick +cla im +ing ham +ph y +no v +pod cast +wh i +ni ghts +ear lier +be ar +la h +exc iting +or a +gi ven +s lo +memor ies +contin ues +produc t +gh o +c d +kno ws +ðŁİ ī +publi shed +discu ss +y ard +i phone +tri es +w all +fe b +are n +tru th +win ners +tu re +diti onal +milit ary +proble m +m and +do g +lo ss +c ric +can adi +ve ter +villa ge +" , +y r +un g +don ald +ag ing +bir ds +sci enti +le s +th is +regi on +tic al +itt en +il a +ðŁĺ İ +d ad +di am +abo ve +st ren +li t +p ir +la b +fo cus +bus y +d ur +app ly +s ma +auth or +ac i +exe cu +dom in +re la +jack son +at o +wash ington +ðŁĻ Į +k ill +popu lar +ce ment +ro ad +e ating +loc ation +v ent +ar re +n an +cu sto +advent ure +or din +spor t +ul t +lo ck +questi on +dri ver +land sc +on i +k ins +p d +jor dan +te red +k k +a f +chil d +s p +just in +en i +s elling +z o +wh it +bo ston +partic ip +sig ning +happ ened +he at +m am +dre ams +lo ws +gra ph +the day +head ing +br o +ble ssed +vi c +ve gas +h d +in ning +ro man +and ro +den ti +u se +c it +pro gress +writ er +bo b +ff s +gro wing +b ly +aw are +ex am +sp ent +be t +sc ore +bey ond +do cu +ad el +s f +cou ra +colla bor +in c +priv ate +bo at +* * +z one +p ha +b ill +to tal +plan ning +to wards +plac es +pre view +cre ative +dam n +ide as +se ems +po ten +say ing +di splay +s w +a qu +lou is +by e +li l +e mail +we stern +ger many +ell er +re s +f ant +ment ary +de als +ric hard +jer sey +stren g +ra d +pizz a +mon d +w are +l ac +g i +ar chi +c d +yel low +rec ently +re ach +à ¹ +kitch en +desig ned +tr y +g al +restaur ant +at ure +w w +j as +l ma +ðŁij Į +pa in +av o +min ute +sch ol +ther ap +tic ket +d ry +jap an +diti ons +ter ri +sel ves +happ en +t up +ma g +cop y +sh er +free dom +f ile +speci ally +tor onto +lo ad +g ary +re y +answ er +lo y +cau ght +pri ze +u ne +fic ation +ni ger +sy d +tou ch +feat ure +jaz z +recor ds +him self +di sh +ro ber +spot ted +ma ster +wa ve +fin als +bu ll +for um +al d +re comm +ch a +a e +d oo +inst ru +tru ly +l g +in k +bro thers +de st +j im +m it +clo sed +is on +tri ed +s anta +af fe +w an +hor se +g row +camp us +rel ation +nati ve +jour n +go v +o ct +k it +b ound +part ner +re ma +crow d +! ) +c alls +ra il +qu ali +solu tion +con test +con vers +sn ap +b ase +in iti +ta x +y e +ent repre +it or +constru ction +foo d +present ed +n ings +cli mate +k m +mo del +b j +blo ck +present ation +dre am +fi x +c alling +bus ine +con gress +under stand +we b +val ue +ï¸ı âĥ£ +mex ico +it ely +ki m +char ity +ref lec +bl an +fl ying +anal y +famil ies +b and +reci pe +celebr ation +ac cep +ar y +to t +g b +intere sted +cap tain +âĻ ¥ +ti p +ab sol +bra z +inve stig +o logy +de c +tru ck +ver ing +c lear +don t +go tta +ad vis +beg ins +ma ss +de scri +blo ck +k im +davi d +son gs +memor ial +feat ures +su stain +' . +gra b +jo se +v a +con serv +se ts +man chester +fi ghting +de gre +ag a +in d +sle ep +pos ition +ha ir +sig ns +pol icy +it o +al ert +st am +sp end +w y +absol ut +d m +anim al +my ster +success ful +proble ms +ro bo +k ay +gar den +p d +may or +d ale +t ol +off ers +vis iting +friend ly +tre es +offic er +accoun t +ke vin +ðŁij į +gi ant +contin u +con su +tr act +n fl +ðŁĺ Ĭ +h q +b ility +a ar +dis ney +te en +on ed +wh ite +tra iler +de dic +al one +absolut ely +dig ital +willi am +in ation +s wa +e e +enti re +ger man +ro ll +h its +co st +st ay +th a +ali ve +accor ding +co t +liter ally +her it +re ti +haha ha +exper i +li kes +g t +ste el +__ __ +ch air +christi an +to wer +diffe rence +m d +tre ss +mi d +prin ce +afric an +fe der +foo t +car ri +ser ved +r ice +sh all +feat ured +ck er +rec ru +po e +sen se +ni fic +com edy +cont ent +f at +po sted +con tribu +tim ate +li ver +mb le +inter net +ag e +europe an +cl ing +gla d +ff ic +sc o +ak es +el le +ter min +ton y +p ale +col our +seri ous +pat ri +movi es +b m +professi onal +ad o +al u +br inging +f alls +isra el +ter m +langu age +bro ok +man n +commun ic +can not +ac ti +p he +y an +entrepre ne +tur key +log ical +lon g +ar m +ur s +work ers +ing ly +gg s +ri c +tu al +recei ve +op ens +ge ar +soci al +fe et +c king +ad ver +fin an +fe els +sp la +h r +ea ster +bra in +ã ģ +fi g +le dge +ne arly +prote ct +ma ssive +e th +aw a +ðŁĺ ģ +y rs +aware ness +defin itely +k n +imag ine +k u +syste ms +ðŁij ı +f as +li k +provi de +am o +disco ver +inf lu +ma ker +g az +fit ness +stre et +er s +te d +w c +ys is +pos itive +hel ped +que st +andre w +bra d +b in +hang ing +l ing +bri ght +se ction +ma ss +ðŁĻ Į +follow ers +ho sting +tem por +fla g +a ve +let ter +k ur +re qui +of ten +cry p +su ff +âļ ½ +russi an +treat ment +al le +ha y +l an +keep ing +hol y +power ful +pre dic +fun d +e specially +windo w +je wel +il y +ðŁĴ ľ +gener ation +app a +seri ously +o d +ðŁĺĤðŁĺĤ ðŁĺĤ +cer ti +iri sh +ðŁij Į +mi ami +be th +v ity +se cu +che f +cri me +graph y +ma x +arti sts +re volu +gu ard +spee ch +u c +upd ates +fac es +st ant +chang ed +repor ts +low er +pe ar +n c +k il +loo ked +spe aker +s f +re spect +ok ay +oce an +s itting +architec ture +tra il +se at +i ra +le g +japan ese +d am +u lar +sw im +polit ics +finan cial +ol d +mou th +at temp +de stin +fi shing +atten tion +me m +chang es +deci ded +reli gi +g in +c av +z z +ad am +ma c +wr ite +beg in +sc ul +al ter +is s +ath on +imag es +m oo +jo ined +ðŁĺ ī +âŀ ¡ï¸ı +pas sed +mu sli +h ir +lar gest +cam er +com ic +gh ted +rug by +bur gh +gg ing +te sting +pre par +lau gh +al ed +impro ve +beli ev +adv ice +sha res +he art +tur ning +s b +t el +caf e +n es +dani el +pat ter +t z +se tt +par k +c and +st ick +happ ens +bri an +ne west +e pic +ad or +ki es +war ning +anim als +custo m +ar c +di an +gol d +cor e +t f +c ity +pan ts +re ality +con fi +in ju +fo x +gu il +k new +âĺ º +cor rec +itu de +d den +. # +re duc +pas s +f on +y a +ow ner +re turns +n c +e ast +ap ol +in sur +th o +si m +juni or +be e +ang el +att le +elec tric +hor ror +cra sh +e ye +pat h +sou thern +emplo ye +ge o +t an +ha z +r ally +ðŁı » +proper ty +was n +enjo yed +gre y +g as +bre w +nor thern +hol ding +g p +ta ke +ch art +ly n +dr ama +z o +pa id +throw back +cu p +discu ssion +down town +w ill +le w +b is +t ary +bre ad +up on +r ate +teach ers +it ation +anc ed +cy cle +choo se +d c +ir an +co w +da ve +ra ise +prin cess +fa ith +- > +indu stri +sp ain +guit ar +fac ts +m n +sp en +cour te +go tt +projec ts +au di +o sc +pe ter +s and +intere st +happ iness +ven ue +sol di +surpri se +poten tial +per io +custom er +i i +g ni +manu fac +e co +bro ken +sing er +vel s +wal es +hu s +in j +f our +tal ent +d ying +mat the +fil m +jo ining +s ell +j ar +lma o +sur ger +bb c +sour ces +au stin +ni k +char les +f am +prin ci +ange l +cas h +lo t +o red +pla ys +pl ate +don e +memor y +br ings +n ba +solu tions +teach ing +gr ace +cir cu +hel ps +foun der +mar y +expl ore +de cor +par ts +ch o +inte gr +ha u +is es +pu tting +in er +r it +v y +mic hel +blu es +every day +for ms +bi o +ye ar +p in +t ter +spr ing +) ) +po t +al ing +perform ing +sh an +plan et +mus ical +head s +it alian +stru gg +âĢį âĻ +w ings +pu mp +h h +tr ou +a id +pri me +ear th +pa int +mon t +am y +bb c +fab ulous +fru it +andro id +bour ne +cere mony +enti al +? ? +deb ate +on ing +dra ft +sol ar +t x +j am +cor n +!! !!! +bro o +mil k +po sed +o hi +mo vement +b ren +part ner +p g +et te +ar ies +sh out +n g +leav ing +t ells +sen s +ta ste +kel ly +wor l +gy m +ric h +e gy +pi d +ma s +â Ĥ +courte sy +fran k +incre ase +wr itten +pp ers +re l +ha i +s as +s ound +tt i +w ich +ri ver +.. ." +a g +fel low +ro me +sm all +gen cy +ic an +lux ury +pro of +me t +wild life +mom ents +ra ther +cor ner +com pe +canadi an +lik ely +therap y +li am +econom ic +indi e +rou te +fi ght +ho pe +se tting +ant ly +cro ss +fant asy +de e +sket ch +comp li +ym i +ru les +engine ering +fig ure +ro w +. , +f w +syd ney +w ou +t ation +dre w +us es +the re +sp read +struc ture +pat rick +appa rently +ro s +h ills +w we +ann y +com mission +di v +f ying +con sul +anal ysis +ex i +ten nis +vehic le +ðŁĺŃ ðŁĺŃ +as s +high ly +op ened +b ann +ðŁĴ Ļ +mp h +wi shing +v or +fi f +give away +r r +ra y +je ss +g at +ic ymi +x it +high est +yor k +pi e +invol ved +high er +ri e +mal ay +int elli +desp ite +che e +sar ah +be an +reco gni +ar sen +tal ented +pas sion +ic h +ab c +lead s +dise ase +v is +se c +pre senting +m illi +hol e +sho ts +de part +surger y +gov t +b in +du al +e vi +lon ger +ev ol +scre en +portra it +et c +lo se +ch at +p en +p i +om a +s ick +er c +compan ies +en try +plan e +gr y +ven e +liver pool +premi ere +sha red +a red +fil ms +ir a +holi days +cric ket +ici an +v ing +. ) +ul timate +di vision +con duc +se pt +for ces +mon t +s mart +disa pp +sun shine +in d +b less +ma de +col ors +fran k +ir on +bott le +s go +m ood +j ason +er ic +bir th +te en +respon se +tar get +state ment +fe ar +th el +al um +ar ab +bl in +direc tion +ste ps +er ial +wor ked +at l +ðŁĴ ķ +fel t +pol i +scen es +hom es +b ell +e at +ate ful +t in +l ace +fol ks +p se +an n +wis dom +fa v +but ter +s r +are as +sm oo +bi z +dg es +app o +mo re +the m +effe ct +windo ws +sun ny +cap ital +tot ally +c ities +gr ant +mb ers +s low +au tu +il ities +w ro +ri sing +st ics +viol ence +i gh +qu ot +h it +t c +herit age +bu ff +ne s +z ar +den tial +ex ac +ed ge +de ep +aren a +be came +benef its +mar ks +mb er +a z +am es +pre ci +dra gon +re g +d ings +do s +ðŁĴ ª +n el +s ity +me al +di st +leg end +pur chase +pic al +st ick +f at +du ba +profe ss +car to +pro f +coun tries +respon si +se qu +fa b +tribu te +hon ored +prac tic +pur ple +an ton +pa red +t ough +summ er +environ ment +s ons +ðŁĻ ı +m ps +gi es +her oes +t elling +hen ry +f en +know ledge +Ģ ï¸ı +f r +ne g +u re +ac king +hear ts +s oo +hol lywood +ju mp +sau ce +schedu le +tur n +yo ga +cre ating +c ket +cre ek +â Ń +custom ers +ma dri +gu l +asse mb +moun t +c ell +to p +st al +dav is +t wi +sig n +premi er +iti ons +he aring +un k +pati ents +app ear +heav en +al ty +doc tor +a e +plat form +je ff +ðŁĵ · +regi onal +bi d +box ing +ex ten +or ity +a w +w ise +il le +sever al +bi e +s itu +sy ria +âľ ħ +remin der +enter tain +li on +part ners +in n +ph ar +f au +pl s +expe cted +sug ar +deci sion +s b +ch ron +associ ation +leav es +vis ited +sh ap +ðŁĴ ĸ +fur ther +h ann +w i +run s +l er +fun ding +fil led +.. .... +tin y +han g +or g +co ol +se min +ðŁı Ĩ +spon s +nav y +sa int +dru g +d al +r oun +co vered +tra ditional +invest ment +de te +al ism +f low +n is +sun rise +fe at +f ted +we ird +je re +ve gan +medic ine +an o +ac cu +deli very +temp le +chang ing +wil son +phili pp +re fe +n d +is er +g ay +r and +ati ves +t ely +p and +intelli g +g are +am bas +de mon +commit tee +strate gy +refu ge +bud get +prote c +pi er +ex press +nom in +econom y +al low +ic on +gal ax +o h +indi vi +dem and +vir gin +lu ke +ali sts +man i +s mi +ju dge +ent y +mic hi +resul t +am ed +spe aks +' , +hou ston +sh in +b ing +fl y +ch em +au to +v as +ge t +ar m +thank s +d in +gan g +x x +si on +loc ated +p l +jo sh +in fo +jo ins +adver ti +ot d +el d +si e +re asons +v ent +ðŁĩºðŁĩ ¸ +â ł +convers ation +stu di +ðŁĶ¥ ðŁĶ¥ +go s +s ounds +un it +mu sc +ge l +ack ed +pac i +co s +de re +u u +a o +la m +inspir ing +ar ms +tw are +mat ters +ad dic +du de +ex t +cri sis +b ath +me et +sing h +expe ct +del hi +resc ue +wor st +au g +shi pping +ser ving +st o +dar k +ac es +histor ic +landsc ape +desig ner +b illion +gr ateful +wa ke +e ve +m iller +hou sing +dy nam +is co +be ha +sh op +pr ou +e as +a sia +e ding +k on +depart ment +aw ar +mar ine +in ci +photograph er +ta pe +lo go +r ings +d it +-- -- +vin yl +w c +vo ting +se ven +ambas sad +dal las +t u +com ment +k ra +b les +w ag +u d +au dio +stri ke +offici al +o ts +me tho +to ols +ra di +al an +hun t +wat ched +a ke +fa ke +drin king +mer ry +m l +b day +ri o +ni ke +c ant +re pe +co stu +mur der +ak ers +ch ers +ou ts +beg inning +so s +ad es +n in +not es +wro te +sol o +c i +li ghting +ur ban +bre xit +att end +shir ts +pla yo +ac tress +pl ic +stand ard +quot es +par ade +anci ent + © +tur ing +re e +pri mary +fla sh +citi z +mat es +ste in +z i +clin ton +sk in +gen e +hu m +g ar +t le +y i +fo cu +de an +pl ants +cy ber +b u +om e +ho p +ad dress +ti x +gi fts +relation ship +sub scri +fe ed +exac tly +haw ks +ex o +stre ss +s n +arre sted +an e +sof tware +z ero +the me +mu mb +im migr +mi a +make up +ple asure +uni vers +har b +eng ine +ap er +r in +br a +institu te +le ather +al th +sing ing +co s +gh ty +me as +st ic +si de +insur ance +co t +pit ch +moun tains +cri min +su pre +valent ine +at er +wou ldn +sc ale +rel ated +re gar +star tup +pack ed +mi ke +week ly +p ts +coun t +ha r +gott en +min d +ber lin +con ditions +swit ch +cor n +sa ve +g li +emer gency +tun ed +sto ck +discu ssing +every body +s day +whe ther +wrest ling +ec es +gen der +ch en +ðŁij Ģ +madri d +mar athon +e gg +i er +th x +as king +kore a +wol f +ay a +g m +g au +at ory +v r +gra ss +k illing +b ble +ur o +un i +e th +sh ore +th en +re ale +bot tom +ex erc +k ar +or ies +ad ri +san ds +se x +. ' +volunte ers +per form +par liam +inclu de +deli ghted +execu tive +fu el +kis s +ã ħ +char ge +h u +ca kes +ve t +g lu +agre e +pr ices +n au +h l +g ru +ra j +streng th +b ic +sp ending +al es +av en +b last +: ( +yo f +nor mal +si x +qu ick +se a +d aw +mee ts +lo vers +upd ated +po tat +comple ted +coo k +opportun ities +p ure +organ ic +tem per +c am +avo id +par king +duba i +and o +di stri +to y +comple tely +don ald +tri al +bas s +b oun +back ground +v as +mar vel +lu m +ru s +t ool +com missi +throw back +fin ding +is lam +! ? +st op +e vil +or al +resi dents +i denti +o ak +ðŁİ ¶ +l il +span ish +chap ter +sto pped +direc t +ho sted +pic ked +lab our +lew is +defen se +à ® +health care +wh is +mat h +pe ak +ra ised +fi x +bu ll +th ir +chel sea +fol k +tr e +can di +pau l +ei ther +ad am +poe try +jewel ry +ðŁ ¦ +pr ay +Ø § +g c +o z +wi shes +fore ign +sun g +lear ned +en e +n ing +micha el +illu stration +legend ary +w av +b au +ðŁļ ¨ +cal end +stre ets +â Ĩ +mon ster +bu ck +g r +scho ol +ba th +wa ste +ne ck +ha wa +be ach +re plac +jec t +on er +fac tory +coun t +ðŁĵ ¸ +mor gan +der ing +se an +steph en +de p +no vel +vide os +ic al +press ure +arsen al +ex pre +ir s +tren ding +ss a +fla sh +re sear +thr ough +profess or +scul p +to s +gg ed +mm a +be e +a pe +hun ter +am i +he i +pla stic +bu cks +uni verse +le gen +niger ia +ple ased +ri s +thin ks +autu mn +i ds +d is +anth ony +ðŁı ½ +ak ed +gla sses +fin ance +z er +k as +con tract +nu mbers +sh aw +partner ship +t il +laun ched +s al +victor ia +theat er +usu al +nam es +perio d +eli za +i th +bar cel +ro cks +bag s +mat e +distri bu +j on +di ffic +ali zed +cur ren +sco red +b ha +du blin +ro se +in ted +soli d +beha vi +wal ker +simp ly +garden s +head ed +in i +ohi o +we ap +f o +gl en +e state +ran dom +th under +thr u +k ill +jac ket +it i +entertain ment +thanks giving +ent al +en coura +el o +a ther +tan k +high lights +f ting +ru le +model s +bor der +bj p +hus band +in done +ken ya +be ars +al o +n inten +pi x +str o +or ders +sal ad +ro ads +n or +l ation +sop hi +ðŁı ¼ +pi eces +b one +min s +inclu des +nu tr +phi l +s ent +fun dra +ga in +bor ough +n ad +mon day +activ ity +it ems +be coming +ken ne +de tro +car di +gue sts +u x +world wide +sever e +new s +thank ful +fic tion +ve ge +m all +si an +er al +inj ury +le e +men u +danc ing +scot ti +exam ple +( # +na i +studi os +ba i +ðŁĴ Ľ +j av +diam ond +vin ce +ric k +prote ction +lin col +cham ps +appro ach +d ar +m ile +clou ds +je ff +in fin +l ers +p les +pe ace +go p +âĻ ¡ +tech n +str a +a verage +ef fort +introduc ing +di versity +austr alian +am p +boo st +s ke +pati ent +appreci ate +ici ans +pu r +f ell +woo ds +illu str +ðŁ ĸ +ag ency +ac tions +brit ain +under way +se attle +el and +ag o +f ill +stre aming +pro test +challeng es +ky o +et sy +coo king +exper t +ru ss +rain bow +commer cial +sp in +be ats +c ry +val u +el i +th row +gr ams +le vels +michi gan +c ad +ador able +const itu +w s +pu b +mid night +th at +net fli +braz il +die go +regu lar +jo y +âĤ ¬ +li qu +ea stern +k ni +fl at +n p +bro wn +w er +se y +tt ers +ac ting +v anc +cy cling +program me +ra w +comple x +tat too +throwback thursday +se ssions +ro oms +si ght +speci es +bom b +lau gh +ke eps +mo on +offic ers +con ver +t r +ha sh +t ack +ri ous +ad ap +a j +reco gn +ex po +sug ge +confir med +rol ling +dre ssing +ic t +fri day +ph ones +ri dge +con cept +ro y +ke ys +ef for +c ate +k ne +ev en +l ay +commun ities +mo d +n az +every where +al ab +bit coin +ban ks +out door +feder al +sto res +h p +c al +m ely +sig nific +be ar +re public +clo ser +al lah +pic k +x d +pal ace +ch ill +b am +er ous +un a +al len +out standing +olym pic +supp ly +fi gu +v au +l p +char lie +un es +> >> +legen ds +ici al +co ast +benef it +mul ti +f its +far mers +am ount +si sters +har ve +hon ey +que en +b ers +pl ann +âŃ IJ +m u +barcel ona +al ber +stat us +re main +ex tra +c andy +vi ous +âľ Į +o v +warri ors +-- > +ju mp +am ar +x mas +stu dies +i ors +k or +don ate +pre p +fi sh +im a +pain ted +ad mini +co splay +spor ts +dro ps +fi ghter +evi dence +ðŁĴ ª +la ke +ro b +cine ma +pro file +à ± +stan ds +leg acy +sh ape +ro of +ci vil +i ans +sy l +sh am +vo ted +re tail +ph illi +li sted +du ty +n b +th es +f are +au ction +ffici al +stor ms +d p +l oun +sh ops +al y +ani me +multi ple +ðŁĺį ðŁĺį +psy cho +je an +ap art +candi date +gg y +con f +jose ph +w ick +me at +fr ame +c l +for got +ph y +f ing +li ed +re p +se ed +f all +u fc +nu t +lin d +mo de +fiel ds +en ce +s ley +ðŁ¤ Ķ +ch ill +follow ed +announ ces +cor ru +tro phy +them selves +ac le +al du +k ong +l on +s v +bro ke +ander son +ta i +stor y +tempor ary +activ ities +k ati +ari z +cry stal +spo ke +extre mely +tra ding +ðŁĴ ļ +à ¼ +in ch +ed in +out fit +equ ip +ma di +form ed +be ef +po p +ti ger +this day +ti red +neigh b +re tro +is a +un t +t as +kan sas +de st +secon ds +ta y +hur ric +o u +galax y +dad dy +bro w +bur ger +en ced +de sk +ac cur +secre tary +el ite +k ab +ch in +touri sm +bud dy +ici de +dre ssed +u d +vac ation +che ers +com for +charac ters +j et +bu ying +l ins +n ap +reale state +li e +af c +i ii +f ame +n r +b at +ag ent +ma kers +âĢ ¼ +sec tor +op ti +le on +di et +pra yer +hi p +mi r +le x +br y +an a +pas sing +w en +reco very +ak i +po pul +res ort +mar ia +stu ck +read s +ti er +perfe c +netfli x +p oo +cham p +o c +re duce +we red +comm ents +cla im +acci dent +s ag +h ack +sal t +kin da +k iller +i os +z y +ex change +lec ture +eng er +ic king +t au +reve als +pri son +z om +gh an +u l +jour nal +i ot +tr in +jon a +govern or +cap e +quar ter +spec tive +impre ssive +bab ies +t x +m ill +o y +har ri +jo int +su e +collabor ation +tren d +revolu tion +re new +alum ni +ge tt +sh ell +sun day +ent u +ni c +donald trump +block chain +paci fic +expla ins +sp y +ad voc +par adi +to f +star ring +p av +fe ed +br ac +smo ke +ham p +y am +to kyo +si mon +d h +e ffici +phys ical +n j +ell i +s low +gradu ate +americ ans +ti fy +f red +ap ore +fin ds +rob in +we t +not ice +se mi +un ve +k om +pil ot +scre ening +da ily +ðŁĴ Ĺ +roy al +sp a +vo tes +n ag +wh ate +att ending +exper im +ad dition +k ate +sto l +m ali +foo t +chri st +ch an +de e +lic en +glo bal +mo ore +ti a +bri gh +myster y +y ay +âĿ¤ï¸ı âĿ¤ï¸ı +cre ati +me chan +clo ck +di c +âĢ Ķ +pp er +al ph +through out +al low +re sources +selec tion +ham il +bb q +aa aa +virgin ia +dis ney +en g +so red +drin ks +f ancy +consi der +end a +jan e +hand made +du l +on tari +i us +s ville +color ado +whate ver +whe el +promis e +ne ver +desig ns +ab ly +sex ual +vanc ou +at i +con vention +cul tural +sing apore +pro mo +load ed +gla sgo +pp l +n oo +ke e +ste m +men tion +i do +cru ise +ri ding +be comes +be y +âļ½ ï¸ı +tw in +dedic ated +na sh +de si +work out +jen ni +i v +grou ps +rela x +pho eni +li ft +mix ed +m ck +p c +mu st +me tro +ci es +y ar +a im +ang er +i e +rec y +marri ed +dro pped +eng ag +le st +ambassad or +op h +de s +w ick +assi stant +nat ur +fa il +l td +shor t +k ap +sha w +bi gger +rema ins +crit ical +sur vey +co verage +er son +win d +n b +bil ly +let es +ac ts +jim my +at lan +al and +t c +import ance +dam age +f g +stor age +tw t +bon d +bal ance +cr ying +pu ppy +vo te +pu sh +ðŁĴ ľ +pol y +me l +lon don +terr ori +effec tive +corpor ate +atl anta +jac o +nas a +gre ek +sen ate +i sh +ev a +intellig ence +effor ts +al co +k un +h all +di ag +claim s +fir st +h b +ba e +v ul +pu ll + ° +se par +spe ed +vic ti +on thisday +audi ence +r ates +te ach +fil ming +bu sh +son g +y um +br un +ra ine +aw a +par ks +ð Ŀ +ra bb +ra ch +ra id +reach ed +ra il +mo ves +selec ted +fr i +ra ising +om y +st ones +su k +franc isco +cas es +cap it +con fu +w tf +po ke +equip ment +gre g +ess ential +off ering +ne x +pi es +be c +cre ation +chair man +cro wn +w al +john ny +shi ft +ne ck +ban g +bir d +ðŁĺ ı +du ck +re serve +de pu +ma sters +over all +no tic +ju ice +sne ak +che er +cla sses +eag les +n ca +car pet +ci vil +coach es +har ris +u ps +b alls +dec or +mar tin +ro s +v ice +announ cement +who se +ti gers +ste red +c ts +dr am +ste el +youn g +inst all +supp o +recor ding +de ck +se ats +l der +ang le +bo t +sty les +elec tions +for tun +n ab +but ter +ari an +ka sh +in ner +ou red +be ast +we i +ic onic +exper ts +ne cess +b eng +jam es +li a +gre ece +ðŁĵ · +ðŁĺ ģ +good bye +m itch +tw ice +mumb ai +ste am +ru sh +med al +ne tt +fashi on +t ar +r s +sav ing +ric ul +l m +sleep ing +brook lyn +mis s +sen ding +disco vered +sp here +of theday +k icks +missi ons +w right +er n +ght ly +i ous +mel bourne +star tu +mo ved +car ry +d ak +ag ues +bel gi +e ma +way ne +do t +er ie +pe l +it unes +matthe w +no body +est ab +cal m +win ds +lu c +prep are +tren ds +exerc ise +adv ant +ðŁĴ ¯ +athle tics +app s +c tions +adv ance +laun ches +litt le +real donaldtrump +eliza beth +carol ina +hu b +hi dden +n w +us er +pol l +great er +mo st +f ed +p at +life style +s ati +sco res +marri age +l r +aven ue +de serve +ri f +ðŁ Ĺ +wat ch +champion ships +gr ay +en ni +cot ton +g om +whe re +pack age +su m +ab solu +new ly +foo ds +ty ler +assemb ly +musli m +ban k +re memb +op tions +produc er +land o +fun ds +u pper +shad ow +pro gre +co p +ing e +leg s +detro it +hill ary +jo se +gi ants +sou p +sustain able +t us +clo thes +roc king +n z +min ne +mat eri +bru ce +ear t +ca sting +independ ent +thou sands +ta h +de cl +veter ans +li ons +wra p +âĢ ¦ +de ss +bl ing +st ine +e ggs +o on +clo sing +z ay +at t +bac on +fa il +ariz ona +de pre +gho st +new sp +w ers +vi p +li ked +id ent +volunte er +ad ult +pu pp +cir cle +mat erial +degre e +gro wn +boo m +calend ar +su r +vie wing +ath letes +ch and +re ll +asi an +en tr +vol ley +victi ms +bo dy +m ama +trans fer +ge ek +in dic +sav ed +ma i +g ent +it s +loun ge +k ol +the ory +situ ation +is lands +ar th +z oo +floo d +vi ously +show ed +parliam ent +ch ev +el ine +at trac +ab ad +ta il +h rs +lu s +por tu +gor y +provi des +to ys +de ath +in fe +an ce +g le +li am +lo ver +hu d +dv d +reve aled +g w +re ment +ca the +l ying +ra dio +der by +stor s +che mi +hosp it +âľ ¨ +' : +ilo ve +le mon +re public +s ni +ne ss +do or +re action +pre gn +fla v +schol ar +spo tify +is ation +vis ual +aw are +spon sored +jo ke +less ons +leg is +lo ck +si mil +ðŁĺ ĭ +kin d +la y +ma h +ho ping +vancou ver +as er +clean ing +gal a +thre at +la p +ach e +ro mance +ex pen +re post +z am +e pi +mir ror +o ak +ad ul +bat man +s lu +l c +vie wed +re views +d ates +indone sia +acti vi +off en +lea f +i si +ag ricul +costu me +s ites +spir itu +appear ance +ir y +st air +applic ation +spec tac +ic ity +ski es +hand le +pun k +paradi se +t n +de al +provi ding +do c +recei ving +bre w +micro soft +à ¶ +fer r +me tro +th ail +y um +car ter +à ¡ +gent le +bre aks +coo per +show case +cu tting +egy pt +bab y +semin ar +gl ori +ss on +fa ve +re hear +lo tte +la dy +al as +pre p +deli vered +nu clear +ir o +engag ement +at ta +con ven +z an +gl ory +hol ds +busine sses +str ange +sch e +it self +gra d +mar kets +f alling +st ats +ge on +bu dd +li s +she et +thi si +co lo +deser t +regi stration +ig n +expla in +inter ior +la ws +writ ers +spr ings +k r +fri ed +blo om +inf ra +a o +cre d +pa st +line up +bo o +bre a +boo ts +celebr ity +att acks +bro ok +ev es +ex cu +cher ry +oo p +fas cin +boy friend +se as +n ine +effec ts +po wered +k ha +ðŁĺ Ģ +sh out +con dition +i j +her o +enter pri +win ter +applic ations +sho e +g el +batt le +pro grams +w art +ðŁĴ ¥ +ra p +ho l +dang erous +di a +coun ter +ric s +i or +k night +co at +emo tional +at ures +d as +whe el +fore cast +tran sport +glasgo w +king dom +prepar ing +im medi +ff in +awar ded +prin ting +ro man +fight ers +any more +bel t +p ine +win e +x i +employe es +logi es +al led +de mo +birth day +ange les +lo g +dri vers +neck lace +k ath +s it +athle te +ef s +s burg +pur pose +resi stance +rele ases +t is +vari ous +deli ver +ch al +s anc +opp o +cra w +neu ro +dr a +suppor ters +sna p +diffic ult +swe ar +logi st +pa th +attemp t +à ¥ +swim ming +ste ve +hur t +inclu ded +b ap +wa re +ðŁĴ ĭ +end ers +ja ke +le eds +cli mb +l b +im ple +li sa +clo thing +ðŁĺ İ +d t +com pla +sw ing +stra w +v als +k le +us ers +stor m +cu ts +ontari o +p an +hand some +i ow +ar gu +chec king +scotti sh +Ķ ï¸ı +si er +em ma +po d +patter n +de sh +en h +ed ward +t ing +k h +hal f +lincol n +mo ther +al leg +r c +volley ball +d n +g ay +all y +le ton +gro ve +l oud +adv anced +re spec +cli ent +supre me +thail and +ho w +gi g +to i +do t +dol lar +ðŁij ĩ +p it +r b +h n +produc ed +gg ers +âĨ Ĵ +ml b +can vas +fin eart +us d +in the +p son +actu al +s l +t b +ip ad +en sure +u mb +w d +sk a +mar s +k end +f eli +th ing +count down +absolu te +r out +dra l +p y +inju red +min t +hun ting +mm er +s age +li gh +ac ity +ex pan +mur ray +ar o +sec ure +four th +eag le +reli ef +st akes +industri al +clar k +under standing +see m +pl enty +sil ver +cla u +thre at +sa il +pro duce +ab str +is is +b r +eng ers +wor ry +bie ber +s j +just in +reali ze +ky le +esp n +fil ter +s ch +ty pes +game dev +d ing +twit ter +soldi ers +p om +car bon +y ards +child hood +ri ed +ke l +ele ph +t ons +key note +qui et +wi re +po sting +is sa +repre senting +bac ks +alex ander +celebr ates +ta ining +| | +ch or +esc ape +pe ek +ti ves +fiel d +ssi e +im pac +spons or +r c +we dd +cann ab +si des +trac ks +com par +con trac +techn ical +bi ble +expl oring +sh are +tra v +n ate +ill o +sc ru +m ingham +gun s +of the +sh ame +se es +ca tho +ac cess +ce l +repor ted + » +mari o +p ad +hope fully +ou se +y on +disapp o +ol o +p itt +pa c +ga p +cru sh +s g +k le +ge m +emp ire +dir ty +a is +avi ation +ze aland +fac ing +high way +d anny +spi der +ot ta +ðŁĺ Ħ +w y +col ours +in fl +co sts +olym pics +au s +h m +ho ward +pas ses +lau ren +mu sh +op in +r ho +disc ount +oper ation +em ily +mm m +cham ber +d il +to yo +shi p +sam u +pic tured +un ic +po l +keep er +carto on +st en +ig nor +n ations +n l +ta sting +deta il +offici als +mo tor +franc is +ed itor +ðŁij ĩ +pe ts +rang ers +t g +r n +w ri +nic hol +i se +spo ts +ani e +chec k +tri ple +ku mar +spe akers +ic ing +pre pared +ab use +friend ship +mon th +swi m +air e +sc ent +hamil ton +indi an +j es +yum my +te ars +da wn +i zed +worl ds +ðŁ ķ +b illi +st one +n hs +ba sic +p or +st le +ir on +ol der +cle vel +e ing +ðŁĺįðŁĺį ðŁĺį +prin ts +fir m +air craft +fin est +devel op +aar on +t z +gra ham +own ers +fo li +less on +qu es +bab e +cra ft +ph en +ju n +bir mingham +v ine +ll er +i an +fineart america +evol u +st ab +im per +war d +com ic +wi z +inv ited +du ke +mat ch +por ts +ro ger +diag no +ke pt +te st +vis u +r hy +so c +to x +b aker +sur face +co vers +man s +b its +x box +ff le +n an +gar d +h art +wat ers +v illa +re tro +light ning +catho lic +democr acy +neigh bor +pen n +cr an +jona than +la ura +vi bes +su b +coach ing +clear ly +uk raine +bra ve +commit ment +t all +mar t +ra p +mo di +sco tt +bro s +show er +ðŁı ¾ +âĺº ï¸ı +cou sin +appro ach +br e +com pos +hil ari +phil ly +g ad +quick ly +ri an +t m +vir tual +hou ses +k t +phoeni x +w ire +ff y +b unch +anc ing +tal e +snap chat +star ter +h t +k icking +ap art +th y +) ! +blo gger +it z +com fort +ang els +w ash +" : +ar gent +re quest +hon est +mi ghty +bo bby +k g +ro l +thou se +ex po +h c +tab les +mag ical +po sts +de m +n w +or lando +ab er +* ** +ðŁĺ ľ +environ mental +trans formation +mi le +w ic +hir ing +ma ine +bo ar +r ying +ti s +nit ure +twee ted +anton io +opin ion +fin ale +di y +f is +th in +trou ble +le go +fi les +qu art +sp a +curren cy +cli mate +fan art +rail way +sp ace +ban ds +dani el +mo tion +l eng +hol der +oc cu +mar ie +cathe dral +bu zz +bi es +nas car +bm w +bat tery +char lotte +doc tor +zz le +se ven +in san +d dy +st en +lab or +thr illed +se ren +docu mentary +wav es +cer tain +can did +allow ed +ninten do +star wars +ta p +home made +d les +ther ing +bre e +emp ty +pi ano +pos iti +coun try +por k +pu ts +per ry +m atic +spot light +ti st +or ities +we alth +c p +bar bar +commit ted +as sau +pro fit +e ight +hu l +fini shing +run ner +ss o +insp ec +char ged +christ op +lo sing +co al +ho o +ele v +de le +mo ham +don ation +c able +clin ic +j in +manag ed +ter ing +â ¬ +ur ban +depu ty +bb er +bur n +acade mic +o tt +sta ke +it er +sto wn +ack er +advent ures +ad ams +gre g +pro m +vo l +ac qu +con gre +pa int +citiz ens +c all +af ford +v c +as ks +the tic +independ ence +â Ľ +h itting +bl on +fu ture +â ı +in no +gen e +bo ards +di stance +se t +re mem +th al +pre vent +l ang +ob jec +su sp +mat t +in duc +bor o +pi one +re di +vir tu +prin ted +sco pe +shar k +suc ce +a stron +il legal +j ag +c ting +ine e +at o +rob in +nutr ition +b f +du tch +b n +fur niture +for gotten +at ar +ru p +hy per +bran ch +communic ation +degre es +on ia +un cle +promo te +or che +wi i +j s +but ton +ma jor +c bs +bri stol +premi um +ordin ary +e dit +m g +we ed +st even +: ' +gu s +te s +cap tured +dru gs +do w +wr ites +bi shop +whe els +ali zation +disco very +w r +rach el +ne il +hy dr +cu test +entreprene ur +kore an +ore gon +ul ty +perfec tly +suppor ted +histor ical +t wins +ell y +we l +de vil +in come +scienti sts +de leg +h en +on i +ic ed +gi o +cur ry +reve al +e g +buff alo +n ol +op era +camer on +haha haha +j ab +gradu ation +cra ig +r al +i f +organi zation +le ge +g ang +su d +edin burgh +l ack +fli es +g ate +thr ones +q b +the real +e leg +pp in +c les +jam ie +tn am +cryp to +ou l +p ages +a se +roo ts +stu pid +a did +boo t +prote in +s ap +si um +su s +end or +fun ction +don t +en na +ch y +squ e +wor ker +m tv +e a +k an +ðŁĴ ļ +mu s +professi on +t to +oper ations +al lo +c tor +inv ite +sc and +ou th +z im +lin ks +cli ents +sam sung +discu sses +n ell +ul tra +some where +ste wart +ine t +de z +b out +fac tor +ti an +tr ans +jere my +d b +ðŁĩ ¬ +or n +develop ing +spo l +coo per +ma u +rememb ering +tre k +famil y +sen iors +fo ster +att ended +w ing +trans form +ele mentary +hor iz +li sting +malay sia +it ch +warri or +philipp ines +russ ell +m end +initi ative +cre ep +to ps +br iti +a ur +shar p +adverti sing +ug ly +achi ev +materi als +bu g +dev ice +bon us +fac ility +col e +nh l +y as +plann ed +pol e +excell ence +tr ick +con fl +r p +achi eve +lo an +swa g +jess ica +ho we +p our +sc u +z oo +r ated +dre sses +re bel +mex ican +co ordin +me ss +atlan tic +t l +osc ar +wal ks +phar mac +investig ation +... # +cc i +eas ily +monday motivation +y ment +au ti +for ced +ar med +colle agues +pap ers +pro per +sha ke +bu c +le an +exhi bit +e vement +co tt +bi z +sp er +k ent +sw an +/ @ +girl friend +haw k +âĺ Ģï¸ı +mon o +ðŁĴ Ľ +stat ue +ðŁĺ ³ +ra s +te eth +preci ous +t ile +p am +swi ft +v ali +no se +dr unk +experi ences +come back +gen ius +wor se +sh ef +ra d +ed it +hon our +au spol +lar ry +h ire +gor don +achi evement +.... .... +su icide +alter native +su p +sur roun +sha ke +ke ith +pe pper +tur k +crimin al +be ck +su m +w alls +cn n +an tic +of fe +col li +win es +high light +hawa ii +emb ar +l fc +ðŁĩ ® +m v +> > +at mo +wor d +car l +shout out +bre wing +ì Ŀ +do f +s ic +hot test +col on +hh h +shu t +low ing +volu me +apart ment +agre ement +de stro +we e +religi ous +iow a +ro d +land ing +re present +ðŁĵ· : +la s +usu ally +h l +c ac +sal v +al ong +laugh ing +be ans +remin ds +pha se +some body +ma sk +ran ked +dest roy +sc i +â̼ ï¸ı +gab ri +le o +ro a +fa iled +si l +refuge es +re vi +r ing +ber ries +coo kies +y y +conserv ation +sh ab +human s +de termin +a in +ni all +as su +mb a +fro m +extre me +vic es +commer ce +ght ful +or dered +suppor ts +re cap +v or +dro pping +correc t +pay ing +mean ing +n j +qui z +" # +busine ss +ðŁĩ® ðŁĩ +indi gen +du st +box es +bl ind +x xx +zz y +ðŁĩ¬ ðŁĩ +ss els +s ant +dd le +hilari ous +desig n +wonder ing +vehic les +k re +ju d +rece ption +par ker +Ã Ń +pri vi +hy dro +sof tball +pol lu +lo cked +ba h +e ar +scri pt +di vi +br ace +geor ge +the ast +bel o +j al +tion ary +dent al +roc ket +pur ch +sh ak +manufac turing +e z +it is +con cep +tb all +ch s +direc ted +pra yers +oo k +phil os +vari ety +che ss +ser ver +g and +bal ti +ðŁĵ ¸ +sel y +cru z +spectac ular +bur ning +re present +i z +t one +mer ce +h ell +bed room +estab li +bo l +com mon +ãĥ » +ab or +kit ty +hei ghts +re pair +willi am +qu ake +alab ama +popul ation +re v +re tt +i sts +n ite +le m +a ha +clevel and +r m +po ver +ob se +mon tre +man ia + ® +con ne +car ni +sh ah +f y +u a +sc or +strugg le +bo b +' ' +appro pri +deci de +ff ed +ca ster +s ort +hun gry +dra g +ا Ù +gr ounds +d w +sli ghtly +car din +dead line +bron ze +web in +bar ry +sil ence +e uro +op tion +ear n +ðŁĴ ĸ +howe ver +na ren +na ils +bath room +v ine +ph d +min ing +gar age +( ) +shou lder +defe at +di r +o v +liber ty +ple as +x on +com pre +a v +j in +ab les +sil ent +fam ili +vis its +di pl +ha bit +milli ons +regar ding +innov ative +sen ator +r ts +v on +k l +wh il +requi red +âĿ Ħ +lu v +presi dential +po cket +hun dre +sho wn +fro zen +to ward +fa st +confi dence +r ough +indivi dual +qu et +ðŁı ½ +dom e +fi fa +engine er +z en +re mix +ðŁĺ ĥ +pl ant +min or +robin son +as y +pul led +cer tain +potat o +( : +pre s +oc ca +w it +it em +si e +d ating +thom pson +own ed +an u +vi e +te dly +good night +ex cept +ðŁĮ Ł +ira q +ki e +ren ces +li p +simil ar +sau di +vi g +arth ur +pic ks +mil an +hon da +ma xi +o g +ste st +ar ch +analy tics +ba sti +pear l +ter ry +hor se +ast ro +ac ce +laun ching +inter national +s no +ta sty +den ver +ir l +pe te +tor n +advant age +var sity +" " +sol e +g c +lan g +demon str +ol ds +un ity +ne ts +insp ire +cre te +nash ville +nel son +e ter +wal k +hy un +m ack +tre as +see king +ra ge +bru sh +ab and +whil st +co con +h ong +shel ter +i p +possi bly +so o +it ed +â Ħ +rac es +war ming +qu in +tele vision +mat ches +ra pi +ment al +pal m +jenni fer +rol ls +indi ana +b ars +cat ching +resc u +candid ates +fa re +âł Ģ +se o +vie tnam +alph a +michel le +visi ble +re gre +wn ed +app le +li p +f fe +li z +york shire +ha il +se asons +be gan +m d +k c +la p +fascin ating +hel p +ur y +u ms +nu ts +se m +along side +bri dge +ori al +o ve +world cup +briti sh +comfor table +i ve +hot els +fair s +hor ri +so x +d ining +stre am +bar ri +ss y +w im +ter ms +v u +pe re +l ens +wal ked +r or +l ars +shi eld +dou bt +pro to +cro ssing +me ant +medi um +ad ding +e b +che ap +fun c +pap er +bran ds +ry an +feed back +col lins +un known +tro pical +sand wich +fal len +for mu +selec t +lo ads +answ ers +or i +mag a +d or +du o +ali e +dru m +ur i +de er +sou l +sh ut +âĺ º +sto len +don ated +bu zz +patri ots +ha l +na sty +nomin ated +mon te +ki a +th ri +ing u +te sts +pe tro +ðŁij ij +ho sts +ne st +to pic +pat ch +m my +hu gh +ab ilities +ma the +s miles +g b +ag enda +insi ghts +chi p +ph an +fail ure +dg ers +ha i +signific ant +sho ck +ru ral +gl am +figu res +pot us +o ta +mini stry +appe ars +fe ar +r h +americ an +h att +son y +fi res +e di +n ou +e qui +wh en +univers al +mad ness +i x +sculp ture +b ach +t to +swe den +et a +en to +develop ed +month ly +ma ps +ra h +le d +del ta +sa ints +is lam +ben ch +fif th +v ard +so cks +wel coming +j e +tur ner +v b +ad i +nor way +ad y +hurric ane +por sche +tra dition +ex am +newsp aper +lu ci +a ver +ide al +d na +madi son +ðŁ § +wit ness +ac ou +insi ght +si mon +robo t +sna ke +n bc +ac o +ro ss +sh ment +religi on +ch ann +in su +camp bell +inst alled +we ather +hor ses +ol i +rober t +k az +ðŁı Ģ +veter an +th read +quar ter +ea sier +cap ture +hi pho +law rence +roman tic +pas sion +cl ay +ox ford +th ai +stu dying +fi a +elec ted +most ly +c b +tu mb +âĢįâĻ Ĥ +x l +sh an +fa ster +ev ans +sli de +sh ri +see k +mi es +chemi stry +pump kin +tu m +, , +ro om +fi red +li ps +pres ence +af f +brew ery +arri ve +sw ag +photo graph +pen gu +chi ps +at tor +val ues +accur ate +con temporary +princi pal +cannab is +ari o +any where +gi a +democr ats +buil dings +li ved +ap s +neg ative +m are +bal lo +li on +diam on +loo k +re form +tom my +il la +tre ats +hundre ds +port land +wor thy +ex cep +ar ia +ido l +be er +cd n +y u +aw k +ðŁĩ ¨ +c ells +à ³ +ident ity +dra wn +de vil +f inger +th am +ðŁij Ĭ +ear ned +fin tech +dol ph +twee ting +evolu tion +ðŁĵ į +est im +m vp +n one +ðŁĩºðŁĩ ¸ +toyo ta +au x +mar in +b old +l bs +ste ak +mur phy +it able +lou is +sol ve +pi a +sk ir +ill ino +webin ar +ban ana +lo v +th on +vo ters +afford able +defe ated +lm fa +air lines +super b +any way +deb t +bo red +ver si +me tal +responsi ble +m k +s se +f ay +cau sed +f p +recomm end +pla za +spor ting +alli ance +au stri +n n +t ours +surpri sed +arti f +th under +sur ve +wor e +bri ef +necess ary +z ie +ash ley +dra ke +r t +kni fe +im mun +char ges +a the +bri de +rep ly +g av +broad cast +pu er +brace let +cap acity +harve st +id k +perfor man +d ding +il ers +par a +jam a +pro vince +ch in +id ers +har i +te aser +ch en +re stor +r at +fl at +col om +ðŁĴ ŀ +ðŁĩ¨ ðŁĩ +smoo th +r t +p itch +stay ing +isra eli +t cot +per spective +do ck +open er +lo vel +x o +class room +l ington +go al +kenne dy +sh am +sp aces +mitch ell +home coming +uk i +claim ed +recru it +ing o +mu fc +mon it +g roo +resi dent +per cent +per man +otta wa +int ment +an xi +stand ards +wor ship +sche me +f x +pot ter +bi an +athle tic +af gh +s se +sat ell +par ties +âĿ¤ âĿ¤ +infra structure +rela x +mo du +wor n +smo king +y ach +practic es +wc w +am b +dome stic +tay lor +k entu +provi ded +mo di +ve g +" ... +ob serv +ðŁĺ © +be ard +m our +an gry +ðŁĺ ± +startu ps +woo den +di ve +na il +anti que +ro ses +torn ado +m at +^ ^ +su spect +far m +de vices +me ga +tu l +scholar ship +ge e +disa ster +arri val +po in +mar c +kati e +bb ed +fal se +deser ves +ric hard +ju ana +fre y +tion ed +hy bri +r w +sar ah +ach i +c ure +o le +mor ris +ch ic +broad way +la bel +pa k +pover ty +gol f +e red +f u +er ies +be es +alo gue +st el +wire less +je wish +ti de +blo cked +life time +b har +sp lit +am ster +th i +jo shu +br unch +ha ps +s for +oo ps +ka poor +hi king +suppo sed +ro of +re as +tra in +ti ght +tru mp +bas ically +r r +ea red +see ds +entr ance +c p +wi e +son ic +vic tim +he re +e h +ear rings +sal mon +arc tic +an ne +dou gla +corru ption +hann ah +ha sn +vo ices +con ce +att a +fle et +clin ical +democr atic +ton y +st ood +le f +twit ch +a il +honest ly +incre ased +dro me +don na +accep ted +visit ors +ap ar +ad or +p ar +jer ry +ra i +brand on +ab u +!! !!!! +me me +in gh +glori ous +b hu +pu mp +j ol +li ke +fi sher +ma z +ag an +destin ation +play list +le tters +gen u +br ace +celebr ated +bann er +r he +dra gon +ðŁĺ ħ +sig nature +gre y +âľ Ķï¸ı +al ice +be red +ph er +ber n +ca th +ga thering +sc oring +influ ence +sm iling +de pt +lo cal +a x +ac u +reti rement +hon or +her self +chem ical +asse ss +y all +fre qu +appreci ation +ac a +cho ir +cu z +so il +c il +repor ting +u h +enterpri se +gr at +jaco b +ru m +fe e +j ak +sp in +bi kes +phi a +ste re +p is +bloo d +t att +ra ft +war ren +sh eri +back stage +mar sh +hash tag +ther ine +re in +game day +guar an +reci pes +min ds +stron ger +issu ed +bic y +n ak +ment ed +sc ary +u x +pre vious +tt le +th ats +ac tors +u ma +tin a +bun ny +promo tion +u ss +oli ver +montre al +what s +appreci ated +la kes +excu se +kno wing +pri zes +musc le +shad es +sco t +ing redi +electr onic +ju an +comb at +s ri +e h +turk ish +l om +stri kes +pri son +re e +po pe +vi d +ol dest +dol l +sw iss +certi fied +cli p +re turning +lat or +le igh +tt es +wat son +heal ing +el im +per haps +ha ss +k au +d der +mou se +new castle +indigen ous +wel comes +co le +tau ght +no ise +appe ar +jo e +can on +wedne sday +u tah +c tive +dri ven +i v +c ell +stri p +ac c +focu sed +ar rest +sto cks +wo o +â Ĺ +notic ed +shad o +di spla +ter ror +bor ne +secon d +que ens +wo ke +ja il +no tt +cam bridge +har t +se af +fa x +ac cept +âĺ ħ +goo ds +k at +t win +h s +thou sand +s ins +su ite +amp ton +ar n +rele v +ric har +hoo ps +n bc +class ic +p ab +soldi er +de plo +le ans +install ation +cla sh +le ban +ee e +ti re +belo ved +fu sion +travel ing +ne i +coo kie +glo be +phys ics +s q +co l +wol ves +d l +ex it +" - +foo tball +le af +ster ling +hi de +minne so +fresh man +natu re +indi e +supp lies +bri s +iri sh +ink tober +doo dle +ic op +mess ages +adul ts +recor ded +fix ed +ar do +offe red +under ground +dr one +p ine +ma inten +and re +ham mer +s x +r ound +hi ke +bra d +ro me +fu ll +on ey +ro ws +colum bia +archi ves +appro ved +bat ch +illino is +recogn ition +shou ldn +fo g +nca a +ke vin +human ity +al though +pow ers +p ou +s ar +pe st +alco hol +con sci +phil adel +en o +t m +ok la +cate gory +particip ate +accu sed +bri ef +po em +clu bs +consul t +ja b +big data +amster dam +ac ing +certi fic +n u +d at +impro ved +and y +campa ig +pale stin +p ace +mo bi +feel ings +wol f +bra in +pro pos +inter active +prin ce +inde x +c is +cha e +peace ful +co vering +ac o +cour ses +mon key +re place +b l +bloo dy +tal es +brigh ton +neighbor hood +g ates +spiritu al +af raid +bre ast +b ones +ðŁij ī +vide o +w au +tou ch +inju ries +car l +ri x +une x +âĢ ¢ +fre d +consi dered +thu si +an ch +on y +u sa +graph ics +ac re +ðŁĺ © +com memor +com mod +go ti +guar dian +star bucks +pre vention +haha haha +admini stration +portu gal +fac ulty +bet a +ul a +al bert +bre ath +er i +le tting +tr ic +ment ation +incredi bly +ten nes +v d +ðŁĻ Ī +ed die +br ick +gr ill +bt w +wat ches +resear chers +t ney +ni e +p as +a ster +vi br +poke mon +ch rome +go at +pitt s +il ly +festi ve +y d +can al +ðŁ Ĩ +fi es +car los +re que +partic i +tra ins +sam ple +temper ature +sym ph +pic king +in door +z ers +playo ffs +____ ____ +ap es +ly rics +islam ic +performan ces +d ick +spar k +se as +hom a +gr ound +disc i +employe e +com mu +alas ka +al an +fe ast +dg ing +ban king +manu el +slow ly +tru cks +mc car +oo o +sc rat +orche stra +indivi du +m x +bre ath +stair s +equ ality +bla ke +loc ations +cocon ut +balti more +aa a +l c +ðŁı Ĩ +har vey +resi st +immigr ation +adid as +fil i +re f +lg bt +mo s +pp i +ken ny +terr or +ban e +apol is +s g +social media +ka i +hon est +as sas +bol lywood +âĢįâĻ Ģï¸ı +ferr ari +hor n +cryp to +bo om +mainten ance +i di +s man +w l +ext ended +in sul +ve s +go sp +tr i +pi g +tar ge +cel er +st ati +sm h +ri dic +appe al +? ) +con clu +cos me +she ep +christop her +en thusi +po lish +me ts +oun ded +sustain ability +creati vity +con crete +ra i +ali en +ble ss +te es +clu b +ro t +bo s +ex ist +perfe ction +lu ck +rock y +expen sive +mean while +happy birthday +pre t +thr iller +ca ve +playo ff +som er +l u +le x +def ence +am writing +home less +pro phe +ch et +past or +ðŁ¤ £ +land er +ww w +Ģ ï¸ı +tic a +! # +o tic +rad ar +po sters +pow der +po li +ha un +tra p +bl in +assau lt +shor ts +re y +sh y +squ ir +rac ist +gar lic +fu r +remo te +sm ell +impre ssed +fing ers +âł Ģ +din o +le ment +s nu +promo ting +str ing +produc tive +b age +ma son +ra z +direc tly +j k +ev al +ðŁij Ĭ +doc tors +co w +ri der +st v +re move +w u +na than +ro d +n r += > +affe cted +inve st +mp tion +g inger +o d +agricul ture +s que +mu g +coun ting +ke e +mag nific +coo k +ani stan +roo t +plac ed +sym po +gh ana +un d +che er +thro wing +secre ts +f illing +opti mi +butter fly +bu bb +ðŁĺ ī +terri ble +d g +sil k +obse ssed +lo u +ai de +sal ute +mon u +philadel phia +scienti fic +i st +u ae +dess ert +bott les +can yon +ðŁĺ Ī +car ib +o ther +w ich +re source +guil ty +un d +le on +e ss +kan e +el e +tra iner +he im +an te +man age +roo kie +tre ated +po ses +rs vp +cau ses +aw ak +je well +le tt +on ics +tit les +cardi ff +g aga +bu mp +use ful +? ! +loo se +bb ing +: : +argent ina +de bu +cy cl +wh el +dis gu +j el +k ills +bio logy +ex ter +tra sh +bo dies +tr am +circu it +expe ct +la ds +w ells +sho t +ge e +naren dr +fa stest +b ent +b ills +mar shall +h ats +intro duce +citi zen +im possible +gi b +az z +net working +r ant +thin k +in dy +st ops +f theday +bri an +* * +amo di +dom e +coura ge +pac king +af fairs +g n +si zed +ent ary +pol and +swit zer +afgh anistan +w u +ten der +subscri be +mo sco +att end +republic an +hon ey +âĢ ĭ +si mul +we ster +foo die +or o +midd le +ab t +co pies +ma je +narendr amodi +ty pical +inspir ational +vit am +wis con +cu bs +tiv ity +h ali +e ars +k ay +d are +mari juana +cu rious +an ia +tom ato +re mind +ðŁĩ · +sc ared +cou p +po et +land ed +ri d +wra pped +mor ri +climb ing +e ws +fe eding +con tra +tho logy +gri d +ti vely +read er +la ser +di ving +di g +lat in +ti ed +shake spe +o ci +ad m +show ers +chu ck +mar cus +oo s +kne e +o live +ow l +dy lan +an no +g ym +deci sions +well ness +arri ves +sati s +chri s +thur s +ðŁ¤ £ +inter views +thank you +switzer land +over night +journ alist +ser ves +vol can +.... ... +plo t +nic ol +car rying +mag ne +tre asure +ex p +be ver +ðŁĺ ¢ +mar ty +mo le +don ations +recogni zed +b h +du s +sh ann +al do +success fully +ent e +ðŁĺĤðŁĺĤ ðŁĺĤðŁĺĤ +cab inet +cu is +tit led +d as +so l +strate gies +deli vering +ad ds +ani an +ne ther +ðŁĴ ĥ +con tain +su its +pa irs +to dd +rel la +ro pe +ci o +cro p +paint ings +su z +re jec +bu st +d h +fra ud +m h +contro l +je al +destroy ed +al lows +wo ol +minneso ta +om en +j u +sympo sium +d af +lim it +accoun ts +load ing +inter n +re solution +hol land +qu al +meet ings +gra ve +cam ping +v am +re nov +liber al +am ber +gre e +hu mb +fe ver +el ing +broo ks +à ² +be th +ad ed +al t +ro e +perform ed +jo sh +frank lin +nic ole +de ss +bb s +m g +net works +min im +al t +weap ons +gu y +jas on +g ha +harb our +at on +pra ise +kentu cky +bel fast +st icks +blo ss +ho pes +an thro +famili ar +wa it +ch ile +depre ssion +la x +je ts +le ice +recei ves +si er +an k +de x +inde ed +fle xi +fab ric +lam b +hel icop +am anda +âĢĶ âĢĶ +compe te +sn ack +techno logies +sy rian +mom s +mu ham +cho sen +an at +dev on +shar ks +re t +fundra iser +selfi es +st ations +communic ations +tennes see +tu tor +ro t +valu able +dynam ic +nur se +i ed +earth quake +deser ved +a ve +sar a +stre tch +dougla s +ne pal +à § +ob viously +d ame +ra pe +any body +k w +pat rol +hol ders +h anna +info graphic +ec o +be ating +stan ley +bo ats +ri bb +e z +wit ch +inv a +ac id +boar ding +- @ +gi l +da ve +care ers +opp os +l loy +in ter +do pe +re su +j agu +sh ade +in dy +on ist +rel ations +ag en +ab le +inci dent +me ter +shar ma +id r +pro ve +immedi ately +tro ops +am an +g low +gaz a +blo cks +person al +chron ic +all er +si d +sh r +whats app +lu cy +ar chae +ho u +journ alism +our selves +go t +the med +shap ed +we ak +cas ual +leng th +sla m +ab bey +e v +coun ter +est a +reci pi +cha pel +expan sion +sel f +suff ering +sp ice +n z +sp art +desp er +boo king +quart ers +y on +ðŁĴ Ĺ +p k +continu ed +- # +man hatt +tal ked +sh en +com bo +hybri d +je ans +liqu id +se al +re tweets +ac celer +collec tive +t as +: )) +profession als +ra w +o tt +su san +ir ing +okla homa +re ven +survi val +cre ator +tran sit +st ac +sur f +i k +ed iting +ch illing +bai ley +ste al +ra ble +pa rent +hun ger +sn app +collec t +philos oph +dedic ation +c f +c m +le ep +repe at +re ha +un fortun +a er +a ero +abstr act +mon itor +ag ents +bu l +sci ence +harb or +drag ons +floo ding +ac compli +d ash +juli a +the red +tues day +cy ber +b low +ta ined +le m +refe rence +pp o +ne goti +char le +con nor +au lt +access ories +commissi oner +rain y +re ar +advis ory +luc as +ma id +co al +k av +pol o +ðŁı ¾ +tran sport +mar gare +straw berry +bur ns +gre ens +ne v +partici pants +col in +belgi um +col our +in form +d ell +br on +cal y +kick off +strate gic +re union +hon ors +li b +egy p +âŃIJ ï¸ı +hy po +si zes +regi stered +bet es +relax ing +bloo m +inten se +valent ines +insan e +w wii +p x +tri o +bla de +wiscon sin +con e +plat in +ali ze +ra ven +incre asing +indi ans +il ian +bl u +rabb it +exten sion +je f +au di +fer ry +s ell +a day +us b +swe at +cham pag +metho d +mem ph +assi st +s by +ca pe +remo ved +mag n +v t +r ams +f bi +tack le +phe w +h on +motor cycle +su spec +eleph ant +sub ject +let te +da iry +whe at +awk ward +ac t +tro l +mit ted +zay n +sheri ff +ene my +con s +ke tt +bul ls +ev alu +bt c +satell ite +ho lo +por ter +dia betes +bet ter +rele asing +sur f +: - +se basti +collec ting +en cing +e thi +go ds +al ley +health y +m ills +sma sh +co pper +cr ack +read ers +sp ac +licen se +bas ket +bang la +en tic +om i +m ere +si vely +anim ation +lan es +dent ally +chill in +fi e +k aren +dep th +li pse +n g +ri p +mel o +sand y +ðŁijı ðŁijı +vin cent +nu t +hu g +who le +cre ates +? ??? +âĿ¤ï¸ı âĿ¤ï¸ı +bak ed +up grade +rober ts +har a +carib bean +auth entic +mb s +mosco w +attor ney +wi ki +ch lo +hu ll +cor k +" ! +sty lish +ðŁĵ¸ : +di ary +impro ving +ex pand +bri ght +pollu tion +k nights +person ality +chec ked +fac ilities +z el +bow ling +gu er +ðŁİ Ĥ +on going +un its +hoo k +be ck +confl ict +to dd +far ming +educ ational +k ak +cla y +stro ke +bel ly +explo re +mill enni +th m +loo p +sm s +consi st +cir ca +br yan +d ab +youn ger +soli dar +pp a +experi enced +b ella +bo ard +shef field +steph en +consu mer +sub mit +spon sor +t ang +ag gre +comb ined +trac king +sand ers +b az +survi ve +fer red +equ al +se p +re ed +str ong +priv acy +st ap +un g +ac ry +pa sta +pir ates +ag er +fair y +du p +introduc ed +wi p +let s +spr ay +ðŁĵ º +gre w +a sts +pitts burgh +new york +jo ey +lau ren +tra de +ch op +pi pe +cla ire +behavi or +v ap +cre ws +lap top +ðŁ¤ Ĺ +che ster +disci pl +d f +out doors +k s +go ver +super star +cas ino +far mer +; -) +re turned +ðŁı Ī +ma il +roa sted +co sta +v ill +pe z +gard ening +distribu tion +sh ining +inve stors +ra sp +dec ades +reali zed +bar n +p ti +st able +ut d +pan thers +m ens +b n +ca de +bu cket +yn n +when ever +wa ke +da is +ber nie +lo dge +ju lie +atmo sphere +ðŁĺĺ ðŁĺĺ +major ity +par ti +exc it +cu t +me h +musli ms +be gun +fli ghts +vene ss +ce me +po sing +so le +g ou +dark ness +pe ach +cel tic +auth ority +grand ma +ful ness +smi th +speci fic +gar cia +co ins +good ness +aldu b +recru iting +den nis +gar y +sle eve +weap on +pl z +disco ver +harri son +recruit ment +ja i +ch im +com pared +tom s +mo thers +am y +archi ve +t ask +ben jam +se g +law yer +al um +inve sting +mi e +che z +j p +a ke +fl am +wall paper +âĻ¥ ï¸ı +t ton +che st +favor ites +we igh +coo lest +r ating +relev ant +lo gan +ma ple +run ners +pri or +peop le +ma ur +terrori st +te sted +carni val +su spen +me asure +m v +cyber security +app ren +terror ism +o z +v ital +ni es +gon z +fun ded +twi st +assess ment +die sel +en for +colum n +ad dressing +ca sts +pay ment +x ton +fi er +, ' +la st +ne e +un less +clo se +sk ill +cuis ine +fun eral +ti les +a un +k ru +relation ships +ðŁĴ ¯ +ev ent +âĢįâĻĤ ï¸ı +kind ness +pro posed +acou stic +a es +defen der +dan ce +h tt +w at +vo y +ðŁ¤ ĺ +au s +cli ff +sear ching +beauti fully +in qu +at l +speci alist +ðŁIJ ¶ +da i +tra ils +class ics +inst ant +v ous +re venue +mar ch +kir k +fr inge +fire works +tri via +âĺ ħ +tr action +wal ter +mo to +l ily +att itude +cli mb +sc an +sav ings +c w +fa ith +cred its +ab led +gra ff +auto graph +he he +ran ch +ha d +ro gers +ðŁĮ ¹ +f in +re qu +fol k +ad ditional +lyn n +u ber +dol lars +lo gic +wor th +so m +the sis +p ound +bi c +st ur +cer am +spen cer +en tered +v amp +organi zed +âľ Ī +pp s +tr on +merce des +no ti +compet itive +do w +ous ness +vic tor +gr illed +na i +pu tin +ab ra +bl ame +alex and +anim al +dec ent +p ent +inter ior +:' ) +but ler +bal let +ðŁĴ Ķ +albu ms +down s +la d +si r +pla in +p ers +blon de +dis c +paki stan +se ment +ga a +w age +ch as +man i +co ps +terr it +lo l +lau ghter +ri vers +magnific ent +lam p +w b +new sle +char ts +ble ssing +p unch +lon gest +fl oral +cu tie +fare well +sto pping +mb b +bu d +chee se +de cla +si m +mc donald +de ter +you th +t ch +fre der +kin dle +fer n +at or +as leep +p ond +spr int +p ounds +la zy +gh e +fundra ising +dead ly +gran de +dou g +he y +lin da +consi dering +i um +gol den +vi k +auth ors +di ss +u ally +appropri ate +mor ning +y le +hon oring +foli o +be c +re bec +fin land +formu la +corn wall +sh ay +cau sing +bl end +sig nal +t ent +kash mir +nation als +har mony +sc out +acce ssi +he ight +medi eval +impro vement +ke es +prac tical +car d +de par +hu n +om ing +cal gary +ste l +bu bble +gur u +ma h +unex pe +n h +ed a +me at +i ge +si o +god dess +in ches +tun es +br itt +sti on +ra j +âĻ « +mer cy +ðŁĴ ĺ +sen ds +i est +pol ici +val e +reduc ed +as ap +vi jay +defen sive +celebr ations +ri ders +med itation +har mon +g ing + ¡ +program ming +in au +sud den +m h +replac ement +sk u +j ar +gra des +ta st +k itt +brand ing +k aw +boo t +f ought +p ays +g f +iz ation +ho p +k k +activi st +v end +coast al +cha os +ðŁĶ ´ +se me +bill board +li fting +cu mb +sc al +ðŁĸ ¤ +stru ck +l v +indie dev +beat en +jun gle +al right +destin y +m ing +k c +ch ances +om an +q atar +cra f +tra ined +pri x +char m +o tive +s mu +e c +and ers +hand ed +al ban +certain ly +arri ving +i ze +sa i +tr ack +pain ter +hu mble +appo intment +head line +manag ing +mo d +as pe +andre a +à ¤ +ethi op +un ited +exi st +bal i +k ad +n t +d red +re x +recogni ze +tam pa +be ers +ati a +he els +no te +transport ation +tur tle +re de +hipho p +sp icy +sp urs +⬠ĩ +cor p +ther n +to ast +hur ry +proper ties +ma ge +mar co +ele ments +bou ti +syn drome +ms g +develop er +gra ders +he im +re sil +off ices +del ay +di men +vin tag +barbar a +ðŁĺ ± +vene zu +cu lar +fac ed +bar n +ðŁĺ Ĩ +survi vor +wor m +confu sed +passion ate +Ø ± +identi fy +electr icity +sou ls +brad ley +repor tedly +lun ch +shel f +eli a +swee t +smoo th +emplo yment +am el +manhatt an +ste am +oun ts +ye p +li ving +un e +descri be +ca res +man ila +sha wn +ac ted +bas h +st even +re st +pet ition +div ine +wel sh +rac e +platin um +ðŁĮ ¸ +p b +extra ordinary +solidar ity +m all +on ion +schedu led +game of +fer gu +de ms +nor m +p k +tri als +polici es +publi shing +st ole +fron t +charac ter +van ia +ex ce +sti e +sc a +resi dential +sa iling +ðŁĶ¥ðŁĶ¥ ðŁĶ¥ +spons ors +th ick +champag ne +she pher +continu ing +ven ice +per th +na p +a ster +y ak +un limited +cho ices +ne o +hi v +repor ter +bru ssels +f old +dy s +se mi +la wn +it alia +wi fi +as k +em ed +fr ame +monit oring +ste ad +i da +gr in +is a +fli p +re stric +offen sive +atta ched +di sh +wh y +philli ps +gre et +p als +mix tape +v ou +fiel der +spar k +alber ta +g len +ca sh +s ri +u ri +ro dri +entreprene urs +climate change +p sy +d le +em ents +lin ked +nether lands +acci dentally +oppos ition +vel vet +ra ys +c w +om o +m f +lmfa o +newsle tter +: ) +toi let +liter ature +di sp +phili p +uni form +sudden ly +head er +cool er +-- - +prou d +bri g +nis san +scienti st +j ah +con centr +pac ks +appo inted +so ap +eng age +cho se +âĻ ¡ +se tup +jeal ous +har ry +g ation +tun nel +te mp +osc ars +dec ade +recomm ended +child ren +ab a +anxi ety +ve ments +sal on +pho too +organi z +mach ines +ab s +vil le +hy pe +ti ff +emer ging +av geek +[ # +contribu tion +bra dy +re sto +g mail +fit z +photo shoot +hel met +h t +eleg ant +ug anda +nur sing +or leans +pen n +na h +foo tage +em a +w o +w ad +concer ns +ve re +re mark +who ever +str ang +p t +qu it +sh ang +histor y +s ick +perman ent +ill ness +col d +visi on +he m +ar row +con vic +pin k +oc cup +bal d +ex hau +u of +am o +on t +ãĥ » +adop t +la id +smo ked +inter pre +ess enti +associ ated +b d +bb y +fi er +inst all +dipl om +con diti +c f +w ak +any a +gr aci +fi sher +s ss +ap r +il it +mus ician +symph ony +cor d +h ack +le gi +l v +bless ings +hum or +sc ra +e ti +min ster +trav elling +bu sh +jewell ery +li me +!! ! +pregn ant +pe e +lo b +cap ital +ip a +pen cil +la bor +duc ks +prou dly +wedd ing +dere k +m w +pe g +valent ine +an gu +re treat +pro spect +dang er +vul ner +up set +, # +sr k +x im +thur sday +n fl +kis ses +re ds +cr ack +re ward +c u +ko k +me te +aband oned +it t +me als +sp ell +stan bul +del ays +ru m +le op +gu m +no va +super man +ch ick +m is +dram atic +inno cent +r ounds +re c +auti sm +bangla desh +mor al +mo vie +sp oo +k la +âĥ £ +ou ting +mess i +ab road +loo kin +a im +q i +st ack +colla ge +à ¯ +hud son +sc an +ho e +ch au +oc cur +comm ander +ho les +ðŁİ Ħ +bi as +v on +stick er +ma k +responsi bility +colum bus +sa int +ed mon +rac ism +far ms +w en +gul f +may o +!!!! !!!! +corpor ation +ba chel +el a +inter nal +je ep +fol lows +di alogue +de rer +smart phone +he len +rich mond +equ ity +s land +b g +ne ar +av i +memph is +we ir +discu ssed +bad ge +p up +mi stake +phen omen +un ite +ðŁ Ľ +de pic +ri des +in augu +n at +sof twitter +comb ination +gosp el +âļ ¾ +ad mission +retro gaming +ðŁIJ ¾ +sch u +mb o +jun ction +al arm +à ¦ +gr ac +kh ali +k ul +m ale +cap tion +wi sh +te re +cor ps +ru bber +play station +er in +effici ent +l or +jo kes +in ary +nor man +lu is +inaugu ral +ch ed +âļ½ ï¸ı +di p +to e +str at +aa c +am u +pi er +co tt +comm and +tt en +sn oo +cu be +clo ses +class ical +s word +expre ssion +reach ing +n app +co st +affe ct +ric o +gi f +brea the +tri be +or tho +h ay +l g +fri es +n m +hi ding +richar ds +en de +mic ro +capit ol +cop y +ro m +regi me +mary land +tax i +di al +embar ra +un believ +ch t +v s +elim in +o dd +pen ny +sound track +l ings +trans ition +rema ining +a is +mali k +? !? +rand om +def end +ul tra +tru m +danc er +st ol +dri ve +a ver +ro ast +defin ition +se an +excit ement +partic ul +su rely +sh av +ber y +di shes +com m +is ol +i am +ob li +gho st +hugh es +chi efs +b as +conserv ative +speci al +fe min +sh ri +n ancy +inte l +tu ne +ðŁĩ ª +jo el +gg le +mo to +ðŁĺ Ķ +bu ck +d ag +antic ip +mont ana +gu id +fro g +ec raft +op e +dri ves +nu mer +x y +color ful +wednesday wisdom +illu min +bey on +inau gur +deep ly +pre fer +for tune +coo ked +ti ble +âĺ ķ +swe ater +it ter +tt y +u i +gi e +com plic +~ ~ +tax es +cu ps +di verse +sam anth +âłĢ âłĢ +ba king +sy mp +wa i +be half +mer cur +travel s +ðŁİī ðŁİ +or ia +eng aged +jump ing +reti red +n aked +p uni +speed way +sci ences +rehear sal +on ym +dy ou +pl ates +r ati +kri sh +jaz z +car ol +ra f +pen alty +tim eline +ru by +engine ers +ra f +bel le +do se +che on +esc ap +me g +ran k +or d +me gan +mer ch +ec lipse +âĺº ï¸ı +ple dge +kir k +per si +leice ster +sa k +w k +saf ely +yy y +je t +promis ed +j c +en ne +no ah +re no +re a +ðŁĺĤðŁĺĤ ðŁĺĤðŁĺĤ +tra il +ðŁij Ģ +f d +soo o +ri min +w k +ภ² +i al +x ox +bis cu +d ale +fan dom +particip ating +fla g +privi lege +pe ach +mach ine +bo ston +gro ss +o g +mir acle +adop tion +u ss +mon sters +be ij +clar ke +pu shing +pra ying +ar o +d n +ell is +apol lo +od ds +refuge e +to w +b p +ðŁĩ¬ðŁĩ § +h end +app eared +memb ership +pe an +du m +viol ent +v y +potat oes +aw w +greet ings +t ts +ac on +sh ane +photograph ed +cra b +temper atures +cu ba +c fc +wel com +he l +in nings +m k +co de +kno ck +gra ss +swe dish +p ta +ick y +v at +lin ing +s q +sa p +ar c +announ cing +sk ins +cit yof +br ing +co x +gam er +it arian +i da +h d +ros se +sad ly +ge o +âļ ¡ï¸ı +tag s +fa ther +chan ge +l ance +whis key +adel aide +te c +stick ers +marke t +class y +bad ass +flo rence +lin er +fro st +k ate +ac on +scand al +es sex +ðŁĺ ı +vi vi +dr ill +blo ggers +recomm end +d ha +ac res +ro ma +bu y +gro cer +er ia +ma har +ff er +patter ns +ver i +com pu +st ev +ang a +ment or +do o +it ali +cdn poli +on ly +conduc t +elec tro +de f +wh ale +prepar ation +bicy cle +vi ral +turn out +bra ss +qu ad +hospit ality +pack aging +den cy +ceme tery +abo ard +dre aming +pic ture +t all +inv ent +ad mi +o e +tem ps +qu an +fun dam +pro mp +resi dence +mu d +sour i +âĦ ¢ +graff iti +gi f +d nd +com p +s war +pe eps +pale stine +devil s +san g +assi stance +bi ke +missi ssi +inter viewed +ne phew +dru ms +v and +gentle men +n sw +inst a +leban on +ee ee +oli via +ver y +rou gh +industri es +m ation +ðŁĺ Ĵ +bar rel +n ay +po ps +moder n +ill y +are st +on ents +protec ting +v ans +e o +vi kings +restaur ants +re ck +jac kie +andre w +w illing +he ath +citiz en +disc rimin +à¹ Ī +stu art +m ys +hi p +tran sp +" ? +te x +su shi +ke d +cro ssed +dist ur +pe dia +f ate +some how +mo th +proce ssing +is s +r in +u ts +yy c +ver t +lg bt +re id +on to +arab ia +habit at += = +stre ak +simp son +addic tion +wim ble +deli vers +challeng ing +ðŁİ ¶ +fran ch +e du +s me +ai ds +hur st +th am +tari an +remem bered +palestin ian +fe es +tru m +sket ch +ur u +fit ting +jes se +ðŁĶ¥ ðŁĶ¥ +---- ---- +ba ch +ici a +colo red +da h +associ ate +int el +s eller +p u +stu ffed +ac s +b s +sh in +cooper ation +certific ate +ab u +ingredi ents +re v +in ge +el der +christi an +bun dle +th ic +dir t +beij ing +comm it +ted dy +ed u +to day +s field +w yn +confir ms +lo o +j v +ene ss +al pha +vir us +ari um +gr ind +bri dges +introduc tion +pol ls +bac ter +z ach +termin al +ra iders +fla vor +zom bie +vo d +sp reading +gameof thrones +effici ency +lat ely +ale m +twee t +cri mes +cl er +de y +dg ed +hy un +pay ments +cir cus +ðŁĺŃ ðŁĺŃ +mis souri +lu b +episo des +c age +po s +mat ching +tumb lr +lin ed +ge st +am bi +nar r +ing ton +regu l +blo wn +is le +co co +on don +joshu a +tour ing +sm a +sau sage +best friend +bo eing +desi re +sav age +ra pper +de vo +te ar +take over +cow boys +po ker +par ag +pp e +h int +we ars +se th +ro les +l anc +man ga +form at +fl yer +c ay +mo or +ba ke +spla sh +v ad +ker ala +proce eds +sil ly +reflec tion +di str +wi d +su it +ci vic +yan kees +by n +migr ation +di stin +or ch +fe mini +quali fying +tu ri +o be +hun dred +cra p +wan g +mathe mat +bu re +expo sure +fergu son +seme ster +re serv +pl ym +a hu +fac ial +wa x +wor ried +ca b +vi o +as a +co d +to pics +p cs +hal o +rescu ed +horiz on +ar k +âļ ª +hol ly +el f +ul ti +pu p +quali fied +attend ance +ati vely +destro y +y c +for th +photoo ftheday +c ents +ic eland +meas ures +de sk +port folio +artic les +direc tors +dat ab +e w +creep y +oun ding +hon oured +mi st +j it +men tioned +port able +iti c +d ann +friday feeling +am id +ti ger +scri p +helicop ter +hard ware +expl or +work place +austri a +beat les +ber nar +spi der +disc o +cul t +lim its +shor tly +fin al +nin ja +lu ke +le bron +wal mart +o il +van illa +shi re +ye g +ak y +c s +bl er +collec ted +t g +rol led +speci als +b ff +pier re +sh im +vi er +flash back +restor ation +individu als +pro d +fre aking +tu rer +o a +re fre +mor oc +gre et +re yn +care ful +our ing +u sh +is d +g ill +vie w +thunder storm +b led +pic nic +guar di +pi g +ar k +syl vania +bann ed +u cl +vi jay +ori um +av engers +believ es +eu r +monu ment +concer ned +la bs +ber g +a ap +vi sh +sing les +can cel +z el +ar ab +ru th +too th +ar ta +sh af +chair s +r ack +dise ases +crow d +cl y +fle x +christ ma +artif icial +tom at +fin e +dra ws +advoc ate +fran ce +Ù Ĭ +ðŁĺ ³ +heav y +s our +compre hen +no ble +aa p +hin du +cor al +g ars +ow en +n l +st all +yel low +mar ina +in ver +suppor t +tou gh +promis es +pi e +master piece +sco re +for ce +mor tg +crypto currency +o x +r ors +rock in +pro vin +ho g +no stal +oak land +pat rick +inclu sion +tra ffic +ah med +a ha +lux ury +con secu +de mon +âĸ º +b lowing +st ag +: " +encoura ge +ben e +sku ll +do dge +bu ster +kin son +wit ne +er ror +lo west +fel low +à ° +sh re +bl ur +vir gin +compos er +sli p +mor nings +ga ins +tab le +gra in +ari st +braz ilian +w we +tu es +ribb on +an ag +di st +sac rif +em brace +entreprene ur +af fili +de o +t ali +touri st +fat al +ì Ĭ +autom atic +ðŁĩ µ +we ak +wel fare +confir m +benjam in +fi ghts +alleg ed +me ad +strugg ling +pro secu +che f +à ¨ +propos al +er n +ðŁĺ Ħ +dy k +on gs +hon g +m ack +mel on +on ent +ru sh +d ap +tol er +pro pag +c ze +trans lation +wal let +cott age +sa il +constitu tion +ðŁĴ Ģ +mun ici +fav or +storm hour +i h +ðŁĺ Į +approach ing +pin ned +j ed +niger ian +n ach +sh at +particul arly +mc don +camer as +anni e +admini str +he at +electr ical +char ming +gib son +bouti que +ex posed +ac tor +pil low +beach es +genu ine +margare t +ben nett +lou isi +pos itions +el y +shin y +ten tion +architec t +ren tal +ac qui +goo gle +sub way +mom ent +ðŁļ ¨ +ri m +metho ds +cy cli +nor folk +Ù Ī +over whel +ra pid +we ar +happy birthday +progre ssive +ðŁĴ ¥ +co gn +pap a +f ool +philosoph y +pol ar +jim my +wi g +ðŁĴ ĭ +oper ating +reduc tion +ph i +fla gs +to the +o di +a res +k oo +k ang +ar kansas +ash ton +wimble don +sci fi +attrac tive +mississi ppi +logi sts +ral ph +la bel +gradu ates +ma ha +home town +âľĮ ï¸ı +foun ded +on the +li z +trans l +mini mum +pre sti +ta m +gener ations +re bel +journ alists +par am +mc m +acry lic +death s +tes la +w t +bry ant +jer us +i stanbul +muham mad +ri ley +k ris +work shops +is o +coun ts +stre t +prote cted +trin ity +man ual +r hin +r il +pleas ant +le mon +ner d +har der +dar ren +bur y +ra h +bas is +mi gu +occa sion +li sts +âĿ¤ï¸ıâĿ¤ï¸ı âĿ¤ï¸ı +e b +de cre +hamp ton +ìĿ ´ +tra vis +trans form +puer to +nh l +av oc +tri ps +unexpe cted +ve t +di dyou +bar ber +st ages +m son +re presented +for t +l al +pp le +nic ely +ignor e +qu il +qu inn +h k +carri er +remin ded +am ong +pass enger +el len +gue z +sc ape +mu ral +youn gest +ma sh +d ill +rout ine +stain less +jack son +gand hi +th al +on ers +edit orial +convers ations +sd ale +autom ation +i ke +า ภ+ðŁĩ ª +hau l +la ying +men tions +am en +abor tion +i bi +coun ties +ca therine +man ds +jam e +roll er +au t +n am +o logical +cep tion +ran king +tox ic +sn acks +victor ian +bang kok +psycho logy +re g +ang ela +respon d +sty le +sophi e +dak ota +achiev ed +mar ked +imper ial +in as +glo ves +sli m +confi dent +att acked +gg er +lon ely +valentine sday +re b +craft beer +orig in +zim bab +ce iling +te ens +other wise +w b +f ers +day sof +advis or +y ah +âĻ ª +en der +republic ans +av a +skir t +pi pel +chi e +jan e +ja x +ðŁĺ ĭ +âľ Ĭ +j ays +bre tt +bal o +cru cial +d har +as is +de au +lloy d +chat ting +âĿĦ ï¸ı +rel ay +remark able +n s +we t +bris bane +ðŁĶ ´ +tion ally +f k +la yer +house hold +consecu tive +es is +pend ant +st ir +crit ic +su gar +photo shop +pa res +arti stic +do dgers +c un +cra fted +am end +bo at +âŃIJ ï¸ı +egyp tian +sa w +tra ge +small er +ox y +pa ired +nex t +i res +tac o +o y +u c +st i +a erial +: // +dr o +dot com +gg ins +r pg +ay e +le an +stri ker +lo bby +prote sts +pri ority +congre ss +am ate +inv it +r ington +mom my +th us +allow ing +pione er +enfor cement +g ori +tal k +dra g +du mb +bul let +san ge +er y +tar gets +ðŁĩ ¦ +he ather +consi der +seaf ood +ve st +ris ks +% . +p g +sac red +he ating +kick ed +tto t +. - +chan di +co ven +po ol +pul se +i a +ro ster +shakespe are +es a +car go +pean ut +tro op +ac tion +tab let +home work +cast le +stru ction +mus icians +free zing +bu tt +justin bieber +j j +bah rain +an them +au dit +didyou know +na vig +guid ance +âĸ ¶ +tur f +n un +fic ations +ye men +char ging +x c +bron cos +su bur +p ale +bor ing +among st +for the +em per +om fg +p j +expe cting +ðŁĴ « +st l +ad min +expect ations +sw an +shoo t +oooo o +min ent +ãĢ IJ +wall ace +stan g +satur day +adop ted +dou bles +hom ie +ome z +d han +vent ure +surroun ding +fi le +mob ility +de es +w ski +broo ke +emb ro +re members +kar a +test im +bo tan +m tv +sacrif ice +jerus alem +d l + ´ +proper ly +ili on +as i +leg it +co pe +m cla +recy cling +lar ger +ðŁĴ ĵ +pat ric +gener ous +ja red +p f +mol ly +thom as +ju dges +h b +sor ts +bl vd +o ven +enter ing +plan es +be et +integr ation +boo ked +fre ed +ver n +ash es +to pped +de pot +welcom ed +ren a +m ick +d and +see ks +gam er +ran kings +ren e +mu t +whis ky +fire fighters +gu es +ga ther +tour ney +de men +y ang +new ton +autom otive +back yard +deta iled +mi st +to bac +fi ber +un usual +grat itude +sp are +ne ys +: * +per i +flo ating +fin alist +don ating +dre ss +bro ad +be the +econom ics +tai wan +ed wards +plu g +pra iri +val en +bab a +f ad +an as +har per +dis order +app lied +p att +bi kin +li ver +cu ri +carol ine +ann er +juli an +wal king +mal col +screen shot +co ding +skin care +activi sts +myster ious +ex act +blo cking +mercur y +bat ter +du mp +âľ Į +en se +li sh +ridic ulous +prote sters +ðŁĻ Ī +lu st +swe at +as s +ali ke +co dy +re ments +win ds +as pir +vi enna +pra y +.. .@ +bo i +cand le +assi sts +te e +der son +p ony +f ence +con spir +âĺħ âĺħ +oo th +e pic +ba rely +a unt +b am +diamon ds +end less +scre ens +can cer +gr o +p st +pro spec +mo sque +help ful +ou ri +bro ther +gu jar +cri sti +ine z +to wers +ad dresses +gra y +bur ton +re tweeted +ðŁ¤ Ķ +n ity +du ck +super vis +jo an +kin der +sanc tu +pi ed +âı ° +ł ï¸ı +m ati +reven ge +ce ster +eli fe +desig ners +back ed +bo li +wei ght +cou ch +su res +s its +shri mp +la gos +auth orities +os ity +hol ly +compu ting +fac tors +ab e +pan els +ram ad +sent ence +missi on +hol m +r b +d ads +shang hai +mon ey +she ets +sk ate +thre w +cup cakes +infin ite +l is +practic ing +ess ay +ka i +as ci +mo b +u gh +hol mes +re gg +ik h +mo ck +collec tions +pe p +o va +sal t +nan dez +co y +thre ats +tex ts +cin nam +pregn ancy +pen ding +stam p +flow er +g is +agre ed +pay ne +ro ver +ph ra +sof t +f fin +fa thers +pass engers +aw ays +al a +h es +li van +in s +samu el +ingu i +h of +j j +chen nai +cat al +om ic +he ath +ni ece +pump ed +integr ated +are l +no m +produc tivity +wan ting +vis a +di ana +tw il +it v +cam ps +ro wing +d ley +black and +gu ards +b ells +re verse +vi be +ric ky +mo ss +ny t +âĺ Ģï¸ı +el le +tro y +cu dd +ev an +women s +fo to +mi stakes +wick ed +mi l +c led +me mes +co smo +schol ar +ren o +ðŁĺ Ģ +v ents +# â̦ +terrori sts +ca sey +cardin als +ðŁĺĬ ðŁĺĬ +venezu ela +bol a +liter acy +t w +en o +con tains +au stin +fin anci +ev an +har vard +origin ally +chev ro +her ald +nott ingham +manag ers +âŀ ¡ +accep ting +wal sh +tutor ial +entrepreneur ship +yach t +requi rements +glen n +pe de +unfortun ately +ach ing +dais y +gi an +night mare +âĿ Ĺ +r ina +b art +ema ils +oppo site +who m +sa ke +pu zzle +da shi +par ty +blan ket +bus es +lo re +beau ty +reas on +pun jab +winds or +func tional +exi sting +hel lo +gli mp +con vin +la k +scre aming +rebec ca +bli ss +north west +infin ity +cosme tics +pul ling +coffe e +pl ing +op ho +colom bia +interior design +( + +emo tions +sa c +sun glasses +sav es +d f +six th +al y +ðŁĺ » +de en +dev ast +polit icians +lac rosse +g u +pe i +jav a +comb ine +coal ition +er ts +survi v +ch ad +stri an +n n +de vi +coun c +concer n +contro ller +bre ast +j ury +tu m +introduc es +la di +mobi le +al z +ste ady +nur ses +h acking +on line +oce an +ðŁİ Ħ +a am +ju ven +ic c +louisi ana +ar te +street art +is on +wn s +fr m +p anda +no ir +main tain +del ay +symp toms +thor n +ge ome +ter n +carri ed +p ru +pan or +as sy +per u +clou d +sp ra +pe di +e ste +tag ged +ðŁĺ Ŀ +shado ws +naz i +ا٠Ħ +cor ri +âĻ¥ âĻ¥ +j ad +ðŁĩ « +form al +spo ken +ðŁĮ ŀ +enjo y +lo pez +out look +in ho +w ander +Ù ħ +ma ya +pe e +d ine +ãĢ ij +brief ing +suppor ter +ar ily +ght ers +natur ally +doctor who +j en +v ar +new year +re se +si mm +re x +con sequ +tomat oes +bur st +bra vo +bur gers +cr acking +nor theast +bi om +mush room +mar que +dou ble +ni er +v ag +tw enty +key board +win ni +jama ica +par ish +: - +mental health +ali zing +ren der +wa king +ðŁİ Ĥ +g ly +na than +wa shing +mel issa +jun g +loy al +chil i +song writer +guit arist +bo wie +neighb ors +onym ous +as set +ta i +head quarters +ðŁĮ Ī +i hear +ci gare +sur g +) " +re pl +dar ling +ðŁĻ Ħ +z ak +sa re +ãħ ĭ +mic key +ware house +mass age +ine es +did nt +i w +hur ts +eng aging +mag ic +women in +k itten +mor s +c art +tit ans +colle ague +compe ting +er an +k hal +mar ble +dem and +del ight +et ary +bli zz +lou ise +m ls +fini shes +experim ent +conduc ted +electr onics +itt ers +car ing +wh ats +sym bol +jun g +e cu +pi x +con text +char ger +ðŁĺ ĩ +re ig +fra g +ë ĭ +ch ad +tru e +ker ry +def ending +a int +au ton +check out +bar nes +less ly +d t +m me +clou dy +second ary +are z +_ : +app a +const ant +" ) +ve ts +jo b +i ent +ðŁĺŃðŁĺŃ ðŁĺŃ +m j +fren ch +di ver +davi es +hh hh +e book +๠ī +mar iti +bree ze +susp ended +mat o +vi et +ra hu +se i +bol t +en ary +le is +kar l +fr amed +expla ining +ab c +de aling +nat o +ja ke +exp and +leon ard +establi shed +du b +ar men +el led +voc al +nichol as +ori ent +k yo +illustr ated +ah h +danc ers +milli on +ge ta +po pp +as u +mur dered +gi ble +sto ked +gri ffin +maxi mum +adri an +en counter +ther o +david son +ðŁį » +holi day +ev o +asse ts +car son +memor able +âļ ½ +ob am +represent ative +cb d +tr icks +vo gue +vo ice +mm mm +sebasti an +cli f +ath y +par alle +ðŁ¤ · +pa k +ev acu +e ats +ا Ø +tou ched +organ ised +spir its +can ad +gui ded +frame work +ðŁĮ Ł +pe d +natur al +ag ar +replac ed +anch or +ti t +sha h +organ is +super ior +r n +ch ro +eric a +st ill +cor on +chu ck +loc ks +or gan +ro sen +sc am +ben ed +/ # +ke en +tre vor +vamp ire +sor ted +! ' +af ford +in tro +gr ace +ðŁĺ ľ +sau r +kick starter +influ en +v u +y up +po c +ðŁİ ¥ +a ar +s ang +tre k +et sy +tb h +scre am +chevro let +pix el +shepher d +an or +gabri el +tw ood +sd cc +me ters +develop ers +clo sure +v w +twit ch +ì Ĺ +se oul +pr ice +ho g +n ish +hill ary +scrat ch +in cen +wag on +dis ability +pan ther +ch ats +g d +wit z +sus sex +l ate +den mark +ger ald +cancel led +net te +i x +nav al +bap tist +te t +y ad +ma th +ho y +r andy +po int +intel lec +fru its +w ool +gu in +pr on +the ft +con dem +mar ry +n ola +architec ts +cin cin +roc kets +gentle man +ex plan +t ate +do e +ra ises +wild life +w l +insi der +blan c +w p +for sale +ny c +po well +unbeliev able +pen s +goo dies +mu stang +p ens +st ays +squ ash +xox o +near by +ever ton +co co +le agu +k han +stu d +south west +con struc +s worth +cro atia +le a +su ms +aim s +e an +van ess +iti ous +pa thy +arc ade +b end +sugge sts +sac ram +roy als +ri er +em ir +in cl +an k +clar k +ri ght +vac c +ठ¾ +tan e +li b +u sc +sal es +hu h +s ally +ver a +p ga +gro ws +dru m +tre e +eth ics +sug gest +is ab +se aled +pre viously +anim ated +ab du +ri ses +glo b +pre dat +scar f +del ic +om ar +ll i +sx sw +py thon +ne bra +fun k +reflec t +pav ilion +tic ally +ch asing +bak ery +inva sion +ko h +believ ed +co hen +con qu +cra fts +nat i +cle ver +govern ance +sam ples +fa ils +â Ķ +ti mo +r itu +stri king +inclu sive +sho cking +can t +requi res +dra wings +à¸ Ń +purch ased +du m +z ach +war ner +con sole +man sion +foun tain +circu m +e sh +is land +mil k +pro fits +hali fax +ri val +âľĪ ï¸ı +jen ny +sand ra +ny e +k elly +y al +qu ad +no s +inste in +fin alists +mid fielder +cu e +excep tional +a an +sa pp +gett in +sa a +f ati +sl ice +vol k +s wal +la sting +sum mary +it as +sm o +s z +âĺ Ĩ +ip l +fl ames +ene ws +ha v +hoo die +pitch er +win dy +re vol +centr al +ton ite +ðŁİī ðŁİī +sol ved +mil wau +organiz ations +wee ts +re fin +s th +ãĥ ¼ +el in +ton a +cinnam on +ðŁİ ¨ +ðŁİ ģ +ron aldo +pen insu +ome ga +el ds +desig ning +e igh +blu et +ben z +nu g +ash a +robo ts +su dan +choo sing +en do +ser ge +clo sely +hand y +fing er +be ing +ar te +survi ved +fl ame +mile stone +gu t +d war +fu tures +é e +el o +fri dge +eli c +ou ch +u b +p v +tit an +col lar +st ation +nev ada +aur ora +r d +dun can +âģ ł +bri en +mar sh +Ð ¾ +to tal +ch ry +s ers +su ffe +ra chel +colle ge +to days +cour ts +ch it +re united +gym na +gen esis +be side +re presentation +ch ant +collec tor +ra k +ath ens +ni gh +mun ich +langu ages +fl u +particip ation +__ _ +c v +spec trum +so da +co ver +refe ren +ab bo +ap a +public ation +ed m +mon ica +ar my +ðŁļ Ģ +div or +dr y +stre ams +robo tics +ci der +bull ying +appro val +sto ke +plat forms +sier ra +ex tin +i b +ha yes +succe ed +suff er +at ically +da i +lyn ch +h ound +del ines +ack now +d ated +exclu sively +he res +fac ilit +dam aged +char ter +la kers +fal con +unve iled +wel ove +e ase +pati ence +l one +gent le +gene tic +produc ing +g our +shann on +bil ities +zimbab we +p int +dau ghters +liter ary +bel le +cl am +surroun ded +k any +ne il +pir ate +rang er +hb d +nat alie +bel ong +olym pi +emb assy +sc ol +en er +ak in +lo ren +b h +: / +di va +den im +hi pp +ðŁĩµ ðŁĩ +arn old +? ' +we ren +em power +dis abled +man or +rasp berry +b af +aw ful +dru mmer +kar dashi +n ash +machine learning +ch u +rebel s +tim ing +mon roe +ton gue +ran ge +pup ils +re ss +amaz on +b z +har ley +pal mer +ballo on +s ings +ic ec +j b +c ers +g ps +whi st +ri se +l t +oo oo +c attle +shoo ter +vod ka +uc l +mt g +le sli +jon as +di spo +at ric +ste in +vintag e +fir ms +flo yd +cow boy +soo oo +is aac +war craft +disney land +beauti ful +be am +franch ise +bu n +k ag +an on +tur bo +swee p +made in +kar achi +dete ctive +penn sylvania +contro versi +vitam in +a side +chron ic +descri bes +remo val +ha h +ap er +ten ed +u to +bad ly +mir ac +f ry +ye a +in jec +ther mal +comp act +th or +te ed +ur gent +l ite +g illi +sop hom +ic o +che m +p m +for k +fre ak +ch ak +recipi ent +i y +ni k +model ing +c ans +ðŁı Ģ +del ux +se am +surviv ors +rad ical +investig ating +reli able +f m +tur t +ligh thouse +to ol +go wn +) ) +bo ts +auto graph +a id +bu ffe +h mm +horri ble +ssi onal +ann i +à¹ Ģ +k its +sch i +eter nal +hu ss +sens itive +r u +tast es +chec ks +im o +por tion +sk ate +e den +half time +fri ed +ri hanna +ti se +fl ick +ca in +s gt +âľ Ķ +sh au +sta ined +ra ffle +dro ve +sal man +princi ples +sh o +ar u +je ss +gu ine +gar bage +my an +jel ly +dis ru +z ia +q ld +ent ries +la v +fle w +ad mit +objec ts +comp are +ny times +cann es +p n +suff ol +ro c +d ana +e gg +hi st +coun sel +' ! +phy si +imag ination +ad just +explo sion +plym outh +hor ror +elli ott +bour ne +de x +bre ed +au dio +lob ster +disappo inted +nation wide +( ( +incre ases +austr ali +ce dar +star ing +rac ial +e is +g mt +visi ons +stay ed +discu ssions +de an +cur tis +mai den +stel lar +happ iest +h wy +pre season +car av +mon days +hospit als +glimp se +schol ars +ja i +ter race +ann a +goo se +gra ded +lot us +hun g +grocer y +stam ps +emper or +sc oop +in ser +c as +exist ence +he al +fal cons +mar vel +reduc ing +terri fic +magne tic +perfor ms +bar re +p us +tre ating +ic on +w h +decla red +tra uma +do d +come dian +nik on +bu gs +as m +mont gom +ibi za +comprehen sive +ha s +san ti +fellow ship +da sh +p sal +louis ville +sp y +fau lt +d the +fi led +vi sta +de sc +fe ars +you tu +sp s +es p +ri g +cri me +ber ger +wonder land +k ent +in formed +stev ens +my th +ast on +ir i +visit or +at ri +produc ers +al la +person ally +separ ate +agen cies +af ri +il an +spo ke +n ina +squ ad +di ves +de pend +li v +fier ce +enter taining +cha in +sc at +bor ders +pal ette +sp ro +os is +der by +tobac co +zi o +willi e +ju vent +zoo m +hol y +enti rely +af e +mart inez +be ds +pe a +bull dogs +ðŁĩª ðŁĩ +ib m +ne on +ethiop ia +team mates +plan ting +tw er +any time +for bes +ó n +run way +ner vous +ro ger +p ile +ch anc +apo caly +u w +o i +dr ought +territ ory +br ick +cre atures +go in +w aff +gre n +sou theast +je an +am bul +ed ited +stra p +c v +aar on +ãĥ» ãĥ» +t su +descri ption +kin dly +clu tch +im mer +en or +women sday +or ange +ra g +ob vious +hy der +chann els +man go +me yer +ra ining +ge tty +pil gri +coordin ator +up load +ninten do +don uts +san chez +app arel +j r +zz i +, @ +jeff erson +accessi ble +great ly +e id +initi al +budd ha +par is +ma scot +â¬ĩ ï¸ı +sch war +si ri +sp inning +mortg age +e cho +end ange +ge dly +chlo e +enh ance +kar nat +k ry +explo res +ðŁĴ ģ +af fair +ic als +all a +dar t +dolph ins +diffe rences +squir rel +au gh +dr ones +ell en +re store +pa w +un for +pi ke +hil ton +colla b +consu mers +co inci +out comes +pp p +a q +coup on +li est +si ms +k ho +av es +spo on +pu dding +cor byn +hat ers +ex ams +sla ve +. ! +p sa +app les +tam il +se d +co ke +zz o +lo sange +car bon +cla ir +... ) +k hu +cra ig +explor ation +sanctu ary +su e +al way +demen tia +won ders +super hero +pakistan i +brown s +bluet ooth +lo cker +mar c +ev entu +delux e +rodri guez +âĿ¤ âĿ¤ +ro bb +ðŁĴ ¦ +lin ux +ten s +intellig ent +se ed +vo ter +s ler +pe aks +inter n +teen age +peninsu la +hand ling +ti e +cou sins +wen dy +me e +à¹Ģ ภ+din o +ðŁĴ ° +ðŁĺ ĥ +ze e +s bury +trage dy +b k +bo re +z in +war ns +idi ot +tou ching +contin ental +tac os +saf ari +wa shed +po dium +morri son +fore sts +c bc +al on +partic ular +be ads +inv ented +lo ch +li ghter +where ver +i de +docu ments +a we +k r +no where +min er +st it +ro x +contribu te +har dy +cl an +ob ject +ca it +ðŁĴķ ðŁĴķ +happ ier +vege tables +t art +g ag +nom inee +heav ily +pan ic +j d +there sa +at m +u ph +s fc +su ri +drin k +n al +re vel +k l +avoc ado +nom ination +ma donna +shar on +malcol m +control led +sh ers +revi val +legis lation +shoo ts +n in +comm entary +pro s +human rights +str anger +mit ch +pipel ine +leg ally +th u +gil bert +tol l +gran ted +gh s +ir anian +refre shing +du k +ab i +pri me +jose ph +mo sa +stati stics +produc tions +mer ry +pat el +sa x +human itarian +struc tures +e missions +town s +fre el +ster ing +rat ings +alle gedly +cab in +st l +w ade +fl yers +tri m +promis ing +z u +bal lot +compar ison +free ze +ou ter +great ness +as sign +snow y +r ale +tor ies +med iter +kno ck +consult ant +cincin nati +analy st +sc oo +je ws +appro xim +pu re +portra its +cy rus +ation al +lo ans +acqu is +el u +accep table +uni on +water color +ru st +batt les +per fu +seas onal +ser ial +mind set +ri ot +fel d +enni al +clo set +pri est +tan ks +int l +scre w +bu m +ab dul +ou x +expla ined +ric a +imag ing +law yers +bu ried +ãĥ»ãĥ» ãĥ» +ear l +âĢ ķ +l ton +resto red +stri pes +fo ss +de mands +ste aling +alex is +mun d +ak er +ur us +war dro +hu gs +gen re +e go +Ù Ħ +particip ated +bab es +ban quet +ti ous +he mi +ds b +lo st +milwau kee +jen ner +ge m +ou tra +lo ses +id i +re ps +ðŁİ § +regu lation +fla w +f ang +vibr ant +ram p +ra ins +well being +so viet +vie wers +de po +libr aries +bi go +ser y +g ill +de struction +co z +c x +bri dal +al ds +plan ted +amate ur +lu d +che ering +show cas +pro file +i u +ver tical +pack ers +wiz ard +ski p +s light +be au +air ways +mu ch +re ra +ðŁĮ Ĭ +ab sor +pati o +pack ages +s ells +ment ally +ðŁĺ ¢ +reyn olds +k are +tri bun +wal t +kn it +ta ste +sur rey +boun ce +cre ature +b are +bet ting +su re +mi ley +laugh s +al ore +cy n +t l +arti st +ann ah +war mer +dynam ics +lunch time +mariti me +vulner able +ðŁĴ ĥ +wol ver +dur ham +const antly +am in +si bl +: @ +bul let +k ach +angel o +wil der +doo m +desk top +law suit +k ca +hen derson +inv iting +bet ty +ta wards +ra fa +le aked +and i +ge ms +af l +vel o +mediter ran +pro be +to tten +steph anie +sn ation +com be +q s +over come +assas sin +ra v +fil ip +winni peg +sh il +determin ed +k as +ou tre +regre t +gui des +aa a +ðŁĺ Ī +wi ves +mani fe +er ly +sm y +sh ima +x ing +pix el +jac ob +ac commod +to y +on o +po o +ti er +an swe +ðŁĴ ģ +ro sa +le ase +bel ongs +th ar +eventu ally +nei ther +go a +ski ing +at ra +ag h +broad casting +f ury +py ram +d ice +volk swag +wom ens +provi der +bom bs +miss ile +whi p +d ick +nor we +back up +el der +mat ure +concer ts +gi ous +sque e +good morning +bra ves +^ _ +au ssie +lun a +mal es +he ck +for tn +rome o +steel ers +p n +pe er +re presents + « +kat y +migu el +requ ire +cha ins +l ur +immedi ate +ti mber +âĸ¶ ï¸ı +advoc acy +ex port +an z +tiff any +auth or +ðŁİ Ī +du des +chil ly +hi d +har m +bu g +mon ster +terri er +tu c +story telling +ta k +in ti +immigr ants +b is +reach es +com passion +john ny +contribu tions +ðŁIJ ¶ +mechan ical +impre ssion +ran ks +ko be +men ting +bloss om +pab lo +buil der +bom bing +tw el +sul livan +om o +pe te +de mi +ku dos +w bb +t gif +mass ach +neighb or +che fs +eng ines +pun e +ga ined +phan tom +s days +ext end +gr an +cent ers +jac qu +dat asci +sleep y +el vis +answe red +s lot +con y +flexi ble +ti ally +le tics +% , +andre ws +si ble +mom ma +vin o +do x +invit ational +twil ight +j ade +ill ery +joh ns +f ou +p v +-- -> +break down +billi on +prin ter +mon d +c bc +mag gie +legi on +du b +kur t +po or +paren ting +regi ons +bikin i +be ware +si onal +au burn +kid ding +amp les +sp an +con tempor +c ic +ha bits +ak o +pre fe +bud dies +it z +em ily +person nel +moun tain +ver sus +ðŁĺ ¬ +ear ning +s ink +dar i +u u +s win +i ster +bru tal +n ac +kat a +clo th +am and +ðŁĶ Ĺ +ne o +alu min +week ends +nebra ska +co des +delay ed +brun o +pro ven +in c +i ght +fl an +or o +lam bert +regu lat +w f +massach use +kardashi an +bern ard +fi esta +volcan o +grand pa +anc a +d re +st itu +mean ing +fo am +au ck +at ed +r l +hot el +pers ons +dy nasty +ell or +ma i +am ne +sty ling +avi er +e g +vege tarian +, â̦ +foun ders +sta in +g d +cy cles +sky line +trac tor +exi sts +tra l +kid ney +mar il +inst ag +se tte +addic t +tri angle +flash back +controversi al +z on +p ins +i as +tr ay +town ship +deleg ates +sp am +h ms +cr ane +peop les +o lo +fac tion +but es +on ica +deleg ation +new profile +eli er +mc a +w and +g ely +losange les +ber ke +ti ve +dis rup +zz a +cas a +jor dan +ford shire +ga thered +ic hi +atten dees +à¸Ń ภ+pe ppers +co in +bour bon +ern ity +ro tary +behavi our +jere my +team work +compli ance +tre mend +ðŁĩ § +bu hari +cam bo +bu yers +ha gen +bu ds +bay ern +mon te +sm ells +an za +ath lon +descri bed +work force +gi ving +ap i +invest ments +da il +sel ena +datab ase +th um +mor tal +stu dent +bu yer +do ver +gar ten +att le +loy alty +gen oci +holo cau +theat ers +ru ling +ven us +pat ent +ch un +ab by +awa ke +mass acre +bang alore +break ing +simm ons +ju sti +hal e +ed chat +gg les +haw k +mar king +head lines +stro m +co ve +breath taking +med als +hair cut +christ ine +tele graph +gujar at +ju ra +can e +sho re +propag anda +mu eller +.... .... +sa vi +stom ach +thro ws +ta b +war m +j ong +reno wned +hi r +ra is +mush rooms +guaran teed +bo a +m j +revolu tionary +certi fication +bru ins +jo in +w es +pas sport +c g +sex u +cap able +w v +ton es +jac kets +ac compan +spin ach +fore ver +bla ir +wat ts +g l +cou ples +prairi e +newprofile pic +logi stics +massachuse tts +jagu ar +o id +we al +under water +mo z +y i +ma ths +myan mar +pre ps +suffe red +tr ace +wal i +ah hh +bor g +st itch +cu lin +real ise +infe ction +discrimin ation +sh ame +an kle +hu mid +y t +brac ket +tru ck +tri u +ea ster +commun ity +post card +invol ving +ty ler +car amel +over view +ex amples +integr ity +base ment +instru ments +ani um +at us +gh er +laun dry +achi eve +gen eva +pr icing +hyder abad +beli ef +me ta +j aw +accoun ting +lead er +cristi ano +cou ture +cy p +vis ed +, ,, +k nu +h ick +break er +br am +ra b +mo or +ham as +gradu ating +pupp ies +ak h +ta h +ach es +ri e +op ini +g ta +re ign +tra gic +re ver +p ill +pine apple +tou ches +da re +le ys +il o +inter iors +sc outs +bar t +en zie +don o +bro ck +christi ans +ense mble + · +cine mas +new port +air line +win ston +le igh +cont ents +pre scri +ur ge +tr out +fic ally +il ia +sub si +are r +âļ¾ ï¸ı +w ounded +ðŁĻ Ĥ +pe pper +ðŁĴ ŀ +fit ted +af f +re sur +thursday thoughts +z ero +archae ology +di v +je e +i on +awa iting +co zy +beauti es +bal d +dat a +gri zz +stal k +kin ds +cle ared +jess ic +regu lar +ali ens +plac e +bo s +bi zar +thisi s +ðŁĴ Ģ +totten ham +ma fia +s lam +ari ana +car roll +back pack +care y +uni v +r g +pe p +dig it +tatt oos +ag on +volunte ering +diffe ren +consu mption +ka thr +head phones +t shirt +o b +ele ment +re tail +sh ru +al gori +contain er +consci ous +fi l +com ing +ra sh +u rope +def ine +gi or +femini st +flow ing +rout es +gl aci +fer t +somer set +ant es +twee ps +$ $ +h our +endange red +year sof +ro h +po pped +bac king +ba sil +bra ke +mon aco +lgbt q +pra gue +ut ility +cas si +gate way +haun ted +sch ul +ðŁİ µ +shou ld +walking dead +comple ting +dann y +montgom ery +pengu in +ss i +mer chandi +ðŁij ij +chur ch +h ates +cap tain +brea thing +ce t +fair ly +approach es +compan ion +surpri sing +kany e +pe y +hin di +targe ted +lor ds +de ut +di gging +ger man +ru t +ener gy +close st +y un +apo logi +ภ± +s ack +ru p +dd y +port al +d ough +b ats +ðŁĵ ° +at ur +graph er +pi res +mo tors +ðŁĮ ¹ +j c +dan g +tu k +clu e +us c +pag e +d less +bro ws +ju s +ad ing +re marks +oo m +car dio +ste fan +arm strong +âĢ¢ âĢ¢ +ni est +belgi an +bi op +so y +lo f +í ĥ +q t +flashback friday +ce e +ģ ภ+wre ck +mar ines +amend ment +wardro be +vo y +bur ned +guit ars +ra inf +li fel +ssi l +oun ce +exter nal +c key +me sh +she ikh +inv itation +sugge sti +pop corn +phenomen al +an onymous +tun a +chic ago +o val +del y +loc als +( & +pro f +no vel +fin der +spar ks +la ven +in fu +nic ks +qu ant +ra e +exe c +dist ingui +st ances +mu tual +sh al +unve ils +edmon ton +zan ia +a dio +vie wer +brad ford +audit orium +qu is +re act +htt p +l ero +chee ky +impac ts +ta k +ed t +desper ate +t ay +ì Ħ +sett le +bar gain +resu me +un ite +thro wn +ke st +se ys +mar ching +am it +decl ine +sch ar +me tr +stan ford +lin ke +ber ra +dol ls +rug by +jam i +b or +road trip +dino saur +mi k +sun der +re m +b k +over seas +nau ghty +imple mentation +iam srk +lun cheon +fir ing +mi ami +pere z +the e +z on +gi fted +con version +ceram ic +¡ ï¸ı +pe dro +ì Ĩ +v ick +! @ +he ed +si d +b w +docu ment +pl un +gr ants +fant asy +predic tions +vali d +car ved +gradu ated +ðŁijį ðŁı» +nation ally +ch y +af l +re sso +blan k +ri vals +j ig +e ties +om ics +une mp +b ound +sk o +inspec tion +par al +high s +cri sp +b ans +ob a +[ @ +co spla +costu mes +rec all +mou th +ni gel +b ts +ter a +ko v +do cs +west minster +dic t +gra vity +kar i +ro gue +t ted +war k +ida ho +w end +aw i +queen sland +proce sses +cli ffe +m ick +com pens +op ol +the y +cl ari +wiki pedia +salman khan +haz ard +pre ston +swee test +pd f +che es +tr ilo +south africa +bur nt +( $ +con tain +t p +sub mitted +sound cloud +at u +re z +word press +corru pt +n f +ma ker +í ķ +par as +adv ent +ri al +ca fe +fo ssil +!!!! !!! +co ws +c j +sp ur +institu tions +land mark +ent it +re ut +h is +alz heim +we mb +regg ae +mo squ +st at +identi fied +deal er +re am +re land +ten sion +ðŁĩ © +wra pping +deep er +fr at +red dit +ar is +moroc co +.. " +b low +ma pping +pri orities +ing a +swa p +re wards +conspir acy +creati ve +c j +congre ssional +vau lt +ple x +sophom ore +shad ow +ele ss +ðŁĺ ħ +dar ts +aldu b +anno ying +pro ps +n as +alumin um +h bo +offen se +j ill +oni ons +la ur +ta e +har dest +sh ro +ga ining +meas ure +ed tech +cyp rus +tar a +ang eli +car lo +go on +all i +im plic +ju pit +resil ience +ha il +bal anced +) ... +joy ce +gr a +th eli +defin ed +shi pped +main ly +min a +l m +sac ri +o ber +p im +claim ing +ent ers +co rey +bo k +cri ed +cool ing +dani elle +pharmac y +thor ough +ca ke +k lo +outre ach +z ens +digital marketing +val ent +sn p +her b +mr w +caf é +cap tures +no tre +triu mph +pan cakes +cu mber +spi ke +d ation +bi gg +sp er +crit ical +am al +too th +foun ding +a stro +' # +quan tum +th ames +un c +pri de +air bus +kno cked +un defeated +mediterran ean +cal cu +clo wn +sens or +ham mer +for give +cu shi +ber ry +maje stic +elec t +polit an +g ta +k ari +bur ke +sea hawks +volkswag en +re i +landsc apes +cas u +grand father +list ened +/ / +star trek +rainf all +fur ry +vi er +star k +rif le +ff a +leg es +hillary clinton +min us +correc tly +architec tural +pre ce +up side +box er +ðŁĻĮ ðŁı¼ +is ai +de t +pro vo +tis sue +spoo ky +ve led +re con +prospec ts +que bec +âļ « +ig no +anat omy +shap es +w p +p interest +hor e +an es +pick up +ti p +pra desh +hu gh +co e +po k +gram my +well ington +sti gate +ri gh +lea p +king ston +scen ic +go sh +v ani +au g +s ary +zi er +bure au +lin son +con te +fra gr +all an +g aw +lan a +colli sion +surve ill +ren ais +ar range +s ali +do in +br ance +bren dan +our se +in coming +suspen sion +à ´ +l la +educ ators +in tri +da e +bio graphy +bul gar +villa in +go thic +rw anda +e w +may or +meet up +democr at +mor gan +su dden +te sco +car rot +bom ber +mck in +re ne +fun day +agricul tural +haha h +show time +form ing +col a +scor pi +quo te +po ppy +s life +d az +tu b +ne n +mo t +ðŁĺ » +s ore +elder ly +o ve +skin ny +um i +anc o +man ship +we re +g v +k ah +fol ding +ne at +samanth a +dan ish +uk rain +humid ity +nu tri +jak arta +cand les +oooo oooo +at ile +streng th +i bra +bap ti +charle ston +fr ames +girl s +clear ing +glu ten +# # +super natural +ju bi +ph one +he in +dr un +le ak +invest or +y er +dom ain +ball room +mi sh +app li +off shore +bla ze +dor o +âĺķ ï¸ı +win ery +shar if +ad ore +n ir +saf er +si gh +as cri +strong ly +trac y +ck er +ol l +faith ful +ey ed +deli ghtful +vis m +karnat aka +tit an +wh ar +jer seys +re fur +heav en +gri p +pan ama +pre li +glu ten +o dd +cont ent +pon ti +tion ing +e commerce +feder ation +flaw less +ge ar +ti res +by r +pol ice +cu ban +tri butes +tic ul +chur ches +nur sery +di aries +muse ums +snapp ed +i van +wi ght +touri sts +ramad an +t rent +prophe t +won dered +focu sing +hi d +ic ons +i q +ambul ance +pi st +fun niest +time less +sr ilan +bu ys +ki ds +colour ful +a shi +ch ir +mu m +ðŁĵ ļ +let ter +x en +reut ers +pre serve +in ting +ste p +fu ji +uni ver +i u +show down +po ems +surveill ance +suspec ted +ta e +sol ving +tom b +mother sday +car pen +recru it +pil ots +bro c +mix ing +fri days +ty r +represent atives +tra pped +abdu l +free style +clu ster +âļ łï¸ı +k d +sk ill +pit t +ex o +commer ci +muse um +loc ally +g ina +no bel +immun e +fr ac +cap su +main ed +attemp ts +bull dog +be spoke +sing ers +sp elling +seg ment +nat ures +tic k +lip stick +clean er +gett able +preci sion +â̼ ï¸ı +th ood +re ef +no pe +bill y +di gi +mu si +ri val +figu red +tal ity +sun ny +ber k +aw ww +awa its +un real +co pen +asy lum +ex otic +bu en +mo ck +en able +arch y +fr a +pla stic +al mond +amp li +displa ys +abbo tt +s me +x p +ðŁĻ ĥ +graph ic +i ved +mar a +cau tion +lea ks +en berg +ul u +unic orn +cann on +appren tic +ðŁĺĺ ðŁĺĺ +b ball +wil low +at ics +am as +manufac turer +campaig ns +port ers +flo ors +l su +ty pe +ke j +honor ary +it im +to le +min ecraft +d x +ma sh +ri o +consequ ences +ron ald +go ssi +suffol k +mu se +r bi +live music +i van +ðŁİ ¤ +le u +patri ot +man it +lan ca +home decor +de ar +sig ma +ti de +str ings +v ita +sequ el +try na +inve stigate +bor is +ve gan +barri er +mind fulness +web b +hu stle +in da +tan zania +str ay +tex as +c ag +diagno sis +wom an +g w +ob session +l ative +nu fc +fl ynn +moment um +sof a +wal d +vege table +tu cker +supp er +se ab +ar ro +se ag +ven ting +counc ill +sp lat +cal cul +.. # +com fy +odi sha +sto pp +war fare +ca es +à ¨ +co y +price less +in sec +ðŁĺ Ľ +contro ls +empower ment +datasci ence +per pe +gen ic +e res +tru deau +man o +sla very +expand ing +ma he +fa iling +s aga +photograph s +cre st +re on +surf ing +hi e +ðŁį Ģ +ja e +fel lows +south ampton +sol om +ce ster +tab ility +hor n +se ct +he e +cole man +at las +explo rer +consul tation +copy right +organi zing +den ied +mon keys +noo dles +br is +fl or +dou gh +bon ds +sho cked +eco system +care fully +w m +apart ments +cur ve +san diego +must ard +comm en +cere mon +e ch +ru th +ðŁĻĮ ðŁı» +hawa i +fil med +te ar +as ingly +ca ir +wat t +instru ment +ou tta +ye ol +river side +ë ° +. : +nor wich +alo g +migr ants +new man +ri de +spr ink +targe ting +beli eve +tor ch +reflec ts +per mission +ff man +ene mies +bas ics +se ized +sun days +le i +hass an +en do +h c +st ad +le ments +kk kk +nan o +shar k +man a +on ic +treat ments +ear ly +collabor ative +shu ttle +bran ches +mis ses +mained cm +ap ers +ky le +carri e +leis ure +sh et +bir ding +adv ances +ðŁĵ Ŀ +popu lar +di ane +a be +re war +neigh bour +k pop +remem brance +play ground +ru b +krish na +e bola +inqu iry +ep a +lu min +organ isation +abra ham +norm ally +pre ten +jan et +w t +ðŁĴ İ +encoura ging +a stic +bu mp +syd ney +s z +ss ss +gar rett +ðŁĵ » +consul ting +roman ia +spo tting +chanc ellor +ar ma +presti gious +ðĿ IJ +t ad +cry st +compe tit +rati o +cat aly +bro w +j ur +vi king +commu te +y day +la yers +du mb +esc al +genoci de +f ill +gu pta +ste pping +se i +fo to +wild cats +col i +projec t +ear nings +st r +ge ons +comple tion +b m +decor ated +craw ford +af ghan +sc are +visi bility +hi b +direc tion +stro ll +christ ina +alter nate +cl are +sty list +be hold +s ance +leop ard +acqui red +narr ative +ash i +the a +?? ?? +pe as +at ch +sli des +le en +renew able +eng lish +qu ir +co aster +r x +fo ols +match day +mis m +amaz ing +z ig +ke ting +won t +to wel +di ab +sta ke +n m +mel t +e than +gra pe +polit ician +sm en +í ĺ +re o +wedd ings +cat cher +or acle +me mo +ðŁĮ ´ +ec k +rob bie +norwe gian +oper ator +am or +se wing +ju l +x ie +u v +fif ty +me ga +tatt oo +liber als +u pri +traffic king +richard son +su v +ki p +mess y +tremend ous +gl ou +cour tney +la d +stere o +my ers +i dio +^_ ^ +man ning +dy e +w d +thr one +jun k +as u +provin cial +k ook +wr c +fine art +hamp shire +renais sance +b red +fall out +s j +sn l +al am +tor ture +fy i +sh ines +pa w +ch ar +hen ry +c row +aci ous +di an +pa ige +ba re +stock holm +scen ery +ðŁĩ · +jef frey +pu sh +decor ation +ne d +cu te +brig ade +laven der +inv ites +e sports +vo ir +dri ed +tran spl +sur geon +no vels +pul ls +son y +lun ar +man e +i vy +fru str +dor set +sa i +tor res +ssi on +shut down +suggesti ons +writ ing +e o +battle field +u ga +ðŁIJ ¾ +vac u +spl ac +g it +u g +high land +% ) +mer maid +sacram ento +ta ils +p w +ka h +t ell +enh anced +ì ķ +auck land +cru el +ðŁ¤ © +au dre +sail or +gram mar +g love +de on +infl am +fresh ly +k ell +zi p +christi e +mil d +di xon +instru ctor +g ence +ãħ ł +sub jec +constitu tional +crow ds +in visible +ru ins +da k +si p +pla que +p ouring +comple x +z ine +ste ad +f let +trans mission +lo way +ar un +incre asingly +au d +transp aren +cro wned +sc oun +blizz ard +lux u +fi ers +achieve ments +hun ters +rock ed +bas in +vio let +pro ves +achiev ing +pro sper +se ga +flo at +vi an +xi v +pol ic +tur a +approxim ately +wander lust +keep ers +geta way +co d +pol is +br yan +col ts +tal ents +yo gur +gluten free +wri st +gr y +cze ch +ðŁİ Ī +ev ille +ðŁı Ī +to x +dani els +am er +bi ds +weare one +me tab +g t +boy z +pd x +pos session +pu shed +shr ine +reali stic +tri gger +na vi +ru mors +n af +jen kins +tr un +comm uni +Ã Ĺ +gam ers +arm or +moham med +bal cony +y ah +stron gest +rhy thm +unfor gettable +k p +ho bb +custo dy +greg or +r ita +aes thetic +il ation +sponsor ing +n ay +kid napp +sh s +ra jas +me g +signific antly +butt ons +la c +ver sions +essenti als +opini ons +k ro +d printing +wi dely +d k +ur an +y al +reque sted +c n +cur ric +plu m +gr un +v m +dev on +m yo +rel ation +juvent us +rou ge +min ority +min es +jupit er +n ine +oxy gen +fran kie +une sco +fab ric +disgu sting +sal man +dete ction +lan ka +d ac +ðŁĩ« ðŁĩ· +argu ment +shel ves +cel tics +rober to +pi gs +he dge +fau l +pow ering +butter flies +fi r +re make +att i +com o +emp ha +kend all +poke mon +se ating +d ans +bald win +ðŁij » +lesli e +one direction +ti mber +im an +fon t +e der +di on +ste ph +for mat +gre gory +pro p +he x +ru in +sor y +inf er +n aw +bar ak +sd gs +kar ao +lu sh +v ander +end ent +g is +a fro +soc cer +ay an +t uni +lun g +da yof +alex a +mar ath +addic ted +ag ile +hy gi +light weight +ì § +mand ela +jo ey +anc y +hu m +bi r +memor ial +jim in +ging er +v ak +jav ascri +cro ps +orig ins +d ari +pi per +im port +aggre ssive +predic tion +re pairs +cr acker +voy age +ni ke +mu mmy +linke din +country side +bor der +gla ss +per t +s als +sho e +autograph ed +wal nut +colle gi +sal ary +pa iring +ðŁĮ ¸ +cath ol +swee the +defe ats +streng then +roof top +impro vements +barri ers +ur u +t ally +ru led +ðŁĨ ļ +nai ja +emo ji +per cent +gi o +pro bs +on ce +adm its +pa ths +li ar +day tona +pe ters +cal i +cal li +mu g +o sa +ap h +ab y +hy de +eth nic +pla ins +ol f +haha hahaha +holi c +?! ?! +su bli +bl acks +mo t +gh ton +lo vin +b rent +bar u +l ati +de w +ate au +q a +pain ful +bu sters +st atic +ðŁĩ¨ðŁĩ ¦ +note book +out fits +si es +r f +floo ds +Ñ Ģ +thro at +su ici +ro vers +beng al +pre pares +blo g +mini ature +Ø ¨ +am phi +com b +r sp +in timate +green e +Ì ĩ +al tar +surg ical +ves sel +... ? +gav in +g ator +threat ened +z ar +rob bery +di er +promo ted +y g +x s +su bs +inter viewing +threat ening +do zen +me ado +water fall +nintendo switch +cal um +mini sters +dro p +univers ities +war ned +tac tics +ðŁĩ ² +refu se +ad ju +v ast +ðŁĺ ´ +mc fc +lib ya +no filter +distribu ted +re ser +ron nie +de co +javascri pt +mon k +intere sts +fle x +mar tha +sti es +oo d +ðŁ¤£ ðŁ¤£ +e un +b ali +g omez +sti mul +moder ate +d ity +ir is +stra w +consist ent +direc tions +adop t +sal sa +cro o +reco vered +black friday +lan caster +accep t +weareone exo +buil ds +free man +air plane +diti on +bel ong +jam ie +pit ching +li f +om in +cri spy +pre pping +ve g +chan g +accompli shed +graci as +dolph in +elec tor +culin ary +super bowl +wal a +pur suit +black berry +be an +cardin al +pro ved +immigr ant +stric tly +holocau st +pass age +ha us +cou p +pur se +har ass +< < +le ed +ado be +st ad +legis lat +par ked +pri yan +sil va +kri st +s the +fun ky +ig a +sett lement +ph s +t mrw +stre ssed +hun t +ho ckey +treas ures +cham bers +ol u +hu t +mar ley +tex ture +wilder ness +mm ing +poten tially +om aha +ju dy +to es +spo iler +distingui shed +feli x +ah u +recommend ations +zom bies +hit ler +tri ple +colla pse +motiv ated +ulti mat +gg ling +so y +ci gar +fo ren +vine yard +gl itter +fin dings +colon ial +hun ter +eri k +den s +beet le +lot te +sub tle +s matter +tru sted +experim ental +nam ents +ðŁĺ Ĩ +regi on +acquis ition +bre eding +quarter back +am reading +oo td +ru de +initi atives +st out +hy ung +out come +al fred +mic s +exper tise +bacter ia +pengu ins +jump er +valen cia +bar k +ing day +sell ers +contrac ts +hou ston +commissi oned +adap tation +swan sea +santi ago +common wealth +ju dging +sub mission +sco rer +tom my +ñ o +ex quis +fil ing +explan ation +alli son +wemb ley +ri dge +chev y +san tos +own ership +cogn itive +favour ites +sh ed +phil anthro +dele ted +go dd +s nor +gui delines +ff ing +je ep +cli ps +sw amp +an or +guil d +bol ton +spring field +munici pal +goal keeper +ye on +ðŁĺįðŁĺį ðŁĺįðŁĺį +ãħĭ ãħĭ +water front +gra ve +contempor ary +ar ity +ÃŃ a +sle eps +sy rup +al am +pi re +co yo +moto gp +ty son +kej ri +cir cul +sing ly +cr unch +complic ated +nostal gia +k op +mo ve +k ale +mac ro +mid west +h ans +tri bal +nu de +௠į +bey once +congratul ate +cat er +leagu e +ðŁĻ Ĭ +la dder +cra shed +tech nic +karao ke +harass ment +ro ts +experi encing +kri sten +ðŁĩ ³ +ðŁ¤ Ĺ +reflec tions +guin ness +illustr ator +ðŁĻı ðŁı» +cen ter +nar row +comm ons +regul ations +Ù Ĩ +har m +cro ft +cu ssion +hong kong +st ical +intern ship +zo e +cho p +hoo ds +estim ated +batter ies +berke ley +smooth ie +shau n +cro s +~ ~ +cam pe +hu mp +b g +proto type +cl ick +shaw n +re viewed +tem pl +p f +jed i +blo gs +ray mond +as th +ba h +av ail +scot ch +leaf s +nik ki +to k +hol low +ur ges +of t +un like +lat in +u e +cat ering +mil i +alter nati +ma ver +Ð ¸ +ag le +pre order +lu x +cu cu +ðŁijı ðŁijı +t art +âĿ¤âĿ¤ âĿ¤ +arab ic +rapi dly +ar rang +all en +travel tuesday +pa ws +flo ws +st ability +flu id +ca pp +can berra +uu uu +sp ani +demon stration +m la +plac ement +m w +presi dents +awe som +bever ly +ani st +ne al +father sday +referen dum +la hore +o aks +deb bie +half way +gho sts +de bor +matthe ws +fi at +t fw +pre sen +rob i +de d +bro ck +laugh ed +am ounts +bam boo +kinder garten +eat en +mtv hottest +break out +u sic +fra ser +legis lative +p ang +modu le +sam my +go ver +ear ns +expe dition +gar h +concep ts +char lie +la va +bachel or +veg gies +deter mine +el lie +un locked +fru it +dal la +cou pe +wash ington +depo sit +iv ory +pau la +chic ag +gu cci +ðŁİ ĥ +cul tiv +pier ce +li fted +stu mb +re cover +musc les +conduc ting +cb s +mcla ren +sophi a +cel lu +oce ans +up loaded +game play +mal dives +kim ber +avo i +rac er +ca ine +cav s +h ana +li ga +ra ven +inter vention +inaugur ation +oo h +at traction +merchandi se +tune in +li king +juni ors +int ended +att acking +aqu arium +i wd +comp onents +sur ing +cent u +yogur t +ðŁı ĥ +show room +op tical +ty our +ju dge +yi eld +an to +pl c +transparen cy +recy cled +chi ef +ar om +ambassad ors +plan et +âĿĦ ï¸ı +om ed +vaness a +cour t +mar gar +hal ey +v r +reg ina +pd ates +hi span +live stream +âģ £ +ya hoo +gal la +secu red +w ir +bene ath +off l +n il +am b +ye g +out let +u te +pe ep +lind say +bent ley +... ! +he el +trilo gy +vo s +ty re +there fore +tor onto +ab i +simp li +ja e +exten sive +eleph ants +s or +orient ation +im peach +re play +constru cted +peter son +pa is +por ted +custom s +colla p +ad u +high lands +sal em +shel by +ko vic +stra in +ro sie +sen ators +snap s +bo bb +suz uki +bla des +k p +lo lo +gener ate +si ght +ma e +struc tural +predic t +jump ed +ah mad +sun g +just ice +gla m +vol vo +jubi lee +de tention +lo sses +pu ri +every time +Ð ° +ra o +ed ge +li mer +rese mb +har old +re tri +sacri fic +surpri ses +am c +srilan ka +bar bie +men s +fin n +ag s +ukrain ian +em brac +î IJ +flav ors +hom er +lau re +ou th +pr iced +ver de +fir m +ah s +cu b +tre y +par anor +pro fit +in dv +who a +har sh +al ot +crit ics +hu bby +fi gur +gi ra +ca stro +chan el +in put +origin als +ten ant +yy yy +ture rs +lincol n +co on +lear n +ch ou +ac are +o les +din er +hy p +bizar re +mc r +let sgo +decor ating +ðŁĮ İ +al ison +ar vin +f d +reha b +mccar thy +lot tery +da h +minne apolis +eli gible +diagno sed +emer ald +destin ations +s ans +or y +bla zers +n v +ba il +digital art +no c +mal ta +sol ar +pi pes +alleg ations +no ck +po pe +bri d +premi er +n x +present ations +ef a +bo ws +val ve +opp onent +Į ë +visu al +ing le +cate gor +e ter +po is +dan i +at tract +neu tral +th ene +cra shes +fred die +ut ili +c st +awak ening +slo ven +quali fy +pro of +fair y +le v +fre ight +enjo ys +cup cake +flav our +â ķ +protec tive +ðŁijı ðŁı» +is u +ad mir +h mmm +continu ous +ai res +rap tors +showcas ing +y uk +pa ste +follow er +instru ctions +sp ru +@ __ +the o +debu ts +ve tte +sto w +es of +ach ed +sul tan +sand wich +som alia +franc o +car ne +flu ffy +al pine +jas mine +he ated +viol in +ple ss +divor ce +per former +phi es +port sm +dar a +kir by +lo p +chill i +for th +sky pe +ðŁĩ®ðŁĩ ¹ +celebr ities +ed y +ve e +po ison +ey el +gra bs +ssi c +un o +wester n +rail road +am er +numer ous +s v +fo w +fi st +âĢ ĭ +reque sts +mar tial +em my +accept ance +lau ra +ภ´ +er up +hyun dai +out lander +u tt +wrest le +esp resso +demand ing +g dp +geo graphy +sas kat +tro ll +confe der +su es +se m +be ts +t ful +to sh +teach es +col oured +gal way +mac y +dis orders +bb cra +at em +fen der +lit ter +e sh +provi ders +renov ation +nomin ate +ps g +nomin ations +jen na +shar p +some day +z ur +bra ins +che shire +pre y +hu go + ¿ +to ken +r v +car r +tac tical +zel da +kay la +fern ando +photograph ers +j our +umb rella +woo dy +congress man +du mp +le vy +ju an +d azz +sign als +la in +an u +mic hel +por ch +al den +sibl ings +y ale +pe el +sw ick +gg in +ll c +k ale +s con +il d +pat reon +re el +qu in +wit t +mar ty +moo dy +ton i +der y +g ators +speci fically +dd in +ly on +tr ick +meado ws +p j +bor gh +vi k +tu r +bron x +pu ff +lan tern +ðŁ¤ ¦ +g ently +be stie +fac t +refu sed +fas ci +mp y +ðŁĶ µ +cross over +mead ow +indian apolis +duc ation +sle y +loo m +mix er +new music +film maker +prosper ity +li m +week end +cre amy +neu tr +lu ther +h v +nor thern +tw o +h ra +cat ches +appear ances +ha bit +kitt ens +n v +illa c +inf an +regar dless +liz ard +dun k +cur tain +ac om +in tu +ve z +e min +fl ats +calend ars +em power +ru ined +hun gary +vi d +we x +u lum +aber deen +o sa +k t +ma ssi +se emed +s den +' ? +tele phone +de fi +insp ires +me ow +z ones +bl ind +pl y +tuc son +advent ure +ge d +oy ster +ðŁijıðŁijı ðŁijı +out put +tt t +metal lic +sma sh +ucl a +sco ts +perfe ct +lu cy +regular ly +sp ic +rel ative +ath ers +mis e +batt ling +deci des +mat a +occu pied +random ly +cat softwitter +gi an +ball y +al ties +al lies +im men +sy rac +ðŁĴľ ðŁĴľ +l lan +au r +k ut +lam ar +affe cts +n ra +star war +ðŁ¤ ĺ +sc ram +en chan +pro cess +luxu rious +ar ray +sher lock +comp ati +dor f +stre ss +m su +s with +sal a +sof instagram +fo il +under stood +qu ay +r p +c ade +ja w +en ab +en coun +ðŁİī : +do ck +satur n +mu ll +lay out +ra rely +happ ily +fix ture +or ph +over looking +her bs +m itt +pil lar +nol an +pe tty +str y +u i +mu k +o res +o vers +á µ +re creation +we sley +ri t +kejri wal +sto cking +g v +subscri bers +moo se +ma e +ber t +opp re +assign ment +u ro +high lighting +cal vin +we igh +cambo dia +av on +ke m +dis abilities +read y +char gers +p ads +iz ing +illi an +tru ste +col leges +associ ates +alban y +mil ton +cr on +bu r +har dly +si ghts +anti ques +e cho +surpri singly +ha iti +cap t +ph p +op io +ine quality +equ al +ken y +sch mid +autograph s +ren t +qu er +cit rus +challeng ed +te c +epi de +fe st +z hou +li me +citizen ship +cry stal +convin ced +mess enger +copen hagen +âĿĹ ï¸ı +war ran +develop ments +ï¸ı âĥ£ +fore x +hi ro +sne akers +xi de +vi va +stere o +bat ting +ss el +ho st +beng al +critic ism +q c +cr un +attemp ted +ry e +determin ation +cre ations +d read +label s +pos se +anc er +joh an +si ster +partner ships +les bian +k st +guaran tee +bar o +fix ing +ma son +m ous +chem icals +t less +bio diversity +par o +bhar at +ac ol +refu ge +en te +t iti +dys sey +respon ds +lef to +in er +se vel +rahu l +ol ine +frank fur +cho reo +enjoy able +c to +strugg les +wood land +heavy weight +gen s +rece p +ac cred +ðŁĺ ¡ +trans formed +list en +at op +n k +sur ge +be re +gover nor +prison ers +clau de +t ill +mu lator +emo tion +water loo +star t +ðŁĩ º +clean ed +grand mother +fear less +afric an +astron omy +ðŁı ģ +à¸ Ļ +the world +su itable +anth ony +k and +tt en +meaning ful +disc lo +jaco bs +à ¸ +tom linson +ghe tti +ty pho +sub stan +as co +te k +nag ar +mu d +am on +vacc ine +f ty +fle sh +no el +infl ation +portu gue +glam our +tra m +v re +te qu +roun dup +w yn +rejec ted +mosa ic +si ghting +cal f +o ta +com position +go pro +gonz ale +e ed +b ard +tu e +effec tively +we en +al to +ri bs +rel ate +thir sty +fu rious +di m +ch ard +perfu me +s ny +chur chill +k of +master class +wa ve +ðŁĶ µ +er in +own s +to be +sk illed +te m +go f +en i +tor i +cra zy +l ick +resi stant +ici al +ag ar +! : +g ali +del aware +bl itz +koh li +pu ck +avail ability +hi malay +influ ential +cro chet +victor i +read ing +ho bby +vie t +j as +en gra +sk ul +ðŁĩ² ðŁĩ +educ ate +tech no +distric ts +blu es +se tt +seven th +lear ns +ee ee +apocaly pse +hang out +cru el +mu tu +bru h +hel en +she er +c tion +kle in +tex ans +ce real +sh ine +ne red +gra s +am bro +f ella +hin du +matthe w +li ma +mir anda +je wel +so ho +euro vision +neighb ours +chand ler +be sides +ðŁ¥ ° +ast ros +thu mbs +ren ault +ra ve +hi red +ðŁĸ ¤ +it ary +z or +bla zer +k ine +ea u +kat y +dc comics +pe c +ro dgers +water proof +kill ers +super int +pre serv +as so +brew ers +promo tional +sc am +villa ges +sket ches +ju icy +for life +au dit +so lo +fundam ental +len e +philipp ine +t end +conserv atives +sponsor ship +dd le +a ine +h tc +os i +hul k +w af +à¸ Ļ +evalu ation +ant ine +sle e +robert son +roo sevel +ag i +sophi stic +emplo yers +bubb les +ko wski +inter action +sh u +bou le +ic an +j are +han k +leg itim +k nicks +kar ma +recei ver +per ks +u h +sta ir +sun i +labor atory +gra ves +voc als +oo t +c ture +thri ve +tic o +ãĥ ³ +b w +carto ons +mcdon alds +dra w +y ung +pl er +li d +eth ical +groo ve +ent a +international womensday +pat ron +wor ries +ðŁİ ħ +ðŁij ĭ +ka therine +di az +tor i +bach chan +tru st +min eral +ic om +buil ders +bor n +col oring +lat te +ca se +revolu tion +tra der +ox id +chi pot +inst antly +sou thern +se hun +pro b +her nandez +lis bon +hu awe +p ong +me a +ro oney +wheel chair +ke en +be tt +cor in +regulat ory +di splac +ka ren +sch em +sun sets +wh ales +remin is +he p +hi de +mar cel +pand ora +do yle +th fc +ot to +no kia +trans gender +ko v +hawai ian +sha ve +so vere +exc er +nick i +pu g +st or +ro th +wee t +leg al +dig nity +po w +hom age +ðŁĩ³ ðŁĩ +s re +can on +la x +wo ah +quart z +ñ a +gree ting +flick r +nai robi +advoc ates +an c +vi i +eu gene +th ra +c re +el an +pen sion +th letics +ton i +re agan +x v +sto re +ben ch +har lem +todd ler +sent enced +âĻ¥ ï¸ı +glob ally +che aper +u f +ma m +nic o +ik u +tho u +ni st +dam i +th ala +rho des +sal e +bow ls +â Ī +las vegas +sanc tions +adm ire +mat ched +un able +travel er +ele ven +straw berries +âĢĶâĢĶ âĢĶâĢĶ +stu dio +jac ques +im s +valu ed +s no +cheese cake +n xt +e os +s x +f x +ton ic +hat ch +chic ks +gra ds +hand ic +r ory +as p +ri pped +denti st +n en +lu fc +âľ Ĭ +di ge +hop kins +sher man +f da +for all +ash ley +str and +h y +liqu or +buffe t +ess ence +phar ma +suri ya +ðŁĴĻ ðŁĴĻ +festi vals +z an +re fresh +pur ple +uni forms +kenne th += ) +as an +hel sin +transform ers +k ali +person alized +chal k +bo bby +â Į +the mes +depar ture +prin t +illustr ations +qui et +agre es +gri ff +Ø ³ +m iti +toge ther +conven ience +ab ar +car lo +turt les +info sec +some what +ar lington +scholar ships +emir ates +mu ms +st ella +auton om +fe ather +g ore +nom inees +fragr ance +Ñ Ĥ +w ong +thea stern +gr e +z illa +is i +bump er +go o +do zens +ab duc +âļª ï¸ı +o ils +don ors +sil icon +i pod +fortn ite +ðŁĴ ¨ +tor o +spark ling +consci ousness +pal a +nu m +moun ted +ffin s +thi eves +team mate +pra b +om er +ta pes +bo d +mit su +ste w +e re +p bs +tu sc +lo we +ra de +parliam entary +h m +ed gar +ðŁijĩ ðŁijĩ +to a +a gh +hon i +s late +ge ek +ap t +hard t +ta p +horiz on +grow th +make over +hi l +paper back +id an +reha bil +gi u +possi bilities +let tu +fran co +bo ss +ach er +does nt +mo e +ta ker +huss ain +ml k +di l +th ia +ham a +real ised +raven s +curric ulum +m ith +k night +ted x +r v +isai ah +cumb ria +birth days +f ing +pre z +mu barak +exquis ite +clear ance +y en +par i +ev o +à º +modi fied +app lying +imple ment +disco vering +chap man +indie game +dis k +crowd funding +mach in +li vel +sty led +âĿ Į +ma king +rehear sals +nutr iti +subscri ption +and ro +cre ators +car ries +ky lie +cam den +appren tice +tax pay +c ca +tuesday thoughts +pis sed +er man +dete c +freed om +mer i +.. ! +psal m +sun light +per spec +be ings +book store +rock star +fun ctions +p ence +fav es +z n +obam acare +sp ill +coven try +pi geon +pi vo +ba it +kol kata +av al +don or +wa h +privi leg +tra ditions +rajas than +ten ess +portugue se +yn es +tack les +de fic +tor n +pol ling +thor ne +in a +bened ict +bar ry +cal ories +ver dict +save the +nor ton +off ice +main stream +impro ves +fr on +respon ding +real tor +scotti sh +de clar +r l +shi v +supp lier +re sting +swee ts +qu i +. â̦ +whit ney +startu p +thank you +teach er +h alls +ha ve +hand made +pro ving +quar tet +ro chester +li an +virtu al +mend es +of icial +mid lands +x box +meas uring +o vo +accommod ation +bri des +collegi ate +intellec tual +in car +ni ag +ðŁį · +sf w +coco a +co ats +civil ians +presi dency +mat rix +sweethe art +tri athlon +wag ner +ra dic +plann er +the o +execu tion +k um +the walkingdead +sc ar +ro tation +blo gging +bom b +re son +bb les +st are +assi sted +e do +brand ed +war nings +thor pe +acknow le +satis fied +sho res +ri d +dor a +phys ically +bi gh +appro ves +ha h +ric al +vers atile +pret end +lu m +ab hi +ye e +sp it +ãĢ Į +dj s +ash tra +j t +ven ues +gram mys +cy clo +tr acker +over watch +repl ica +el yn +nr l +lind sey +hom o +ballo ons +kitch en +si s +am os +ende av +ðŁĴ » +a rec +thu g +hoo ked +hr c +new york +bur gh +americ as +patric ia +ug u +ap athy +ha st +psy chi +cor k +petro l +ðŁİ ¬ +ak u +po pping +psycho logical +au x +g ma +cad illac +wa ste +auth ent +bri stol +nam e +que er +to ber +jer ry +com in +ch ant +privileg ed +op ar +lo ser +tex t +mar ker +stri es +equ ally +ak i +christ mas +gare th +ble w +em ma +imag in +se als +che at +conditi oning +j ana +ren s +dar ies +o asis +disc ounts +coun cil +i ka +shir ley +vou cher +al ps +w x +q r +dri ft +attemp ting +ut c +Ø ª +gonzale z +m f +jo ker +paralle l +pa re +aspe cts +proce du +n p +am a +rale igh +bright en +gu ire +radi ation +cre scent +ho b +il le +str and +v ore +n ard +che st +di wali +av atar +al der +d ling +pa thetic +ðŁĴ ĺ +spir it +jor ge +film making +ðŁĻı ðŁĻı +challeng er +b j +down town +ht ml +ade qu +twi sted +in ely +( ' +wra ps +oper ational +y ne +n us +mag net +market place +health ier +snap shot +dam on +inter ven +fe derer +ow ls +biscu its +j p +ro deo +blue berry +lec tion +fron tier +summ ers +re yes +pede strian +go l +caf fe +refur bi +bou lder +me ghan +speci alty +la ss +e i +suspec ts +appro x +rr r +ra th +st im +cru shed +he d +wh un +lo af +cr ore +river a +gene tics +so ck +wa sted +ny pd +answ ering +do ve +bel la +ol in +du n +fi ji +pre tty +spar kle +y un +j d +euro pa +li fts +am ber +mu r +te k +boy d +roy alty +in do +ri b +go tham +ti est +inst alling +ke mp +the photo +cos mic +) )) +whole sale +loy ment +eas y +su ing +sett led +af p +pro ver +suppor tive +re es +ne ath +deli ber +c é +wel come +pic oftheday +new born +pat ty +sun s +si est +fl int +diffe rently +spo ilers +troop er +g ins +cor y +look out +equi pped +ta pe +to by +resear cher +u sh +ke yes +al ma +induc tion +k w +k har +sl ick +bri de +e ur +cra ving +book ings +ch es +tr unk +vern on +sp her +cryst als +rel atively +pom pe +uni ons +val ley +par a +w ant +ok c +de af +ser gio +len non +sh ay +cr a +v at +he e +t we +liqu id +pol y +ðŁİ ģ +b ent +be aring +motor sport +bar be +te sti +han i +fin ancing +astron aut +water colour +ri sh +comic con +gar t +wr ong +ber n +it an +ste pped +fil ters +c low +me x +dem ons +all o +expand ed +comm and +et ers +go ats +si ri +y r +pot tery +mari on +i le +el an +san to +person a +du ke +hom eless +li ghted +wheel er +chang er +cab bage +sur real +ham burg +sma shed +str an +k not +i art +ob i +be dro +di al +th ick +b ingo +fu s +vacu um +con ve +ati ve +accur acy +accoun t +re fer +ri z +spider man +ban a +r ite +u b +ab s +medic al +lin k +si em +> >>> +be tra +g lowing +re actions +pupp et +spa ghetti +ang s +re medi +pray for +roy ce +char lotte +£ ï¸ı +gh et +affe cting +ro de +soci alist +mo ses +az i +o it +re porters +cd t +ap ing +s nat +minim al +wa ist +sie ge +>> >> +ri g +schmid t +h are +ec a +thor n +he mp +es the +cly de +th a +don ut +moham ed +ling erie +le gg +carpen ter +perform ers +de a +imag ined +cur se +la sh +ct r +agu a +ro ar +gr i +ro le +j fk +resur rec +roosevel t +maril yn +sm alle +will is +wa ited +char ities +the res +li k +origin al +car i +c ough +cru ci +la gun +contra st +k ou +arm our +re moving +t ent +maz da +bri ghter +thi ef +cor ner +tequ ila +buzz ing +al bi +p am +az ure +disc oun +pixel art +possi bility +ham ont +tra des +bu da +hi ve +vers y +fin ch +tran spa +em i +terri fying +in qui +g ba +sub stitu +collec ti +plac ing +cin dy +k ann +pa tho +diamon d +mour inho +guine a +anthro po +air s +pu mps +ì ļ +pas o +cur ling +an ita +resi dency +ne wh +jo on +cigare tte +que ue +ex trac +gam es +spl en +ex press +public ly +bon nie +tribun e +ba ek +reason able +c or +timo thy +she eran +Ä ± +f dn +su tton +concentr ation +carav an +x avier +al ger +cy lin +freder ick +ner ve +pe ak +lettu ce +j ail +pre game +kav an +up graded +eco logy +squad ron +gra pes +goo g +pa stry +ðŁĹ £ +ãĥ¼ ãĥ +mil ano +awa z +presen ter +ðŁĮ ¿ +her d +king s +tem plate +fl our +h v +k ley +i ya +spe c +at er +frankfur t +co ch +tex ting +del i +communi st +regi ment +ele anor +anticip ated +ðŁijĮ ðŁı» +thephoto hour +ran o +survi ving +simul ation +daw son +ar in +aqu a +m or +â̦ . +cin o +ira qi +sh az +dun dee +we s +dra u +hann ah +s news +occup ation +ste en +x m +ang les +sett ings +gur u +kno x +or ca +shap ing +w ent +dr illing +zz ie +br i +kis sing +fin d +ma ine +âŃIJï¸ı âŃIJï¸ı +ðŁĮ į +lar ry +bu sted +ta vern +acti vely +- " +replac ing +no d +un lock +. " +âŀ ¤ +affili ate +to w +l n +happy newyear +di f +j m +green wich +contro versy +daw g +con dol +sav annah +compens ation +touch down +te o +amb itious +embro i +convic ted +iart g +bar ack +tr ance +testim ony +au dition +thum b +my ths +be x +que z +orch id +den y +entit led +hoo d +gr ant +in box +blue jays +r illa +smalle st +bur den +in famous +divi ded +boun daries +t ter +el t +wy oming +be verage +me sm +one ws +budd hist +y ana +as sad +is ms +bar rett +predic ted +back to +tw it +e there +cap tains +escap ed +ay o +lam borgh +gard ner +la ps +k al +adverti sement +insec ts +na po +am en +ac y +r and +g k +te h +k athle +tri dge +pan cake +at ro +pyram id +bu la +paral ym +gau ge +en cies +tom y +biscu it +but cher +quali fier +coun ty +ke i +po ols +dar ker +should ers +ðŁĩºðŁĩ¸ ðŁĩºðŁĩ¸ +sp re +( " +writ ers +g m +ðŁİ ĵ +k nit +hu ff +mt b +philli es +o st +den is +g art +licen sed +inter face +ex cel +d well +from the +co fficial +az zi +appear ing +fore st +n ana +ke ith +manufac turers +beck ham +) ? +e se +col ony +delic ate +ut ter +mc in +transpl ant +pre ferred +par d +ari e +hu b +po ds +perspec tives +pic t +del u +app er +be than +p mo +crimin als +femin ism +sh ack +circum stances +fel las +prote sting +wa x +sugge sted +t ator +dre w +om ni +fa ke +kath y +re b +del ine +ber ni +mi sty +ðŁij © +er able +break through +men swear +millenni als +chan yeol +la z +inser t +rep lies +phra se +n x +ihear tawards +audre y +gran ite +rac ec +ori e +ter ra +innov ations +britt any +at eral +pe ar +bio logical +sh ments +institu tion +m sn +frequ ency +d man +neg lec +t f +ste fan +fox news +ty po +comm s +sequ ence +car men +wh ites +econom ist +exe ter +se um +re sorts +cas ually +bun de +divi de +Ø ¹ +ga g +cre ed +reti re +cau cus +rapi ds +wrestle mania +tul sa +sunder land +fundam ent +o di +yam aha +v ary +intri gu +el se +be acon +an gie +tra ded +tran sm +g ents +kn itting +gal ac +ðĿ Ĺ +u to +sea side +hol t +re rs +far go +train ers +mon soon +b ale +sou ght +mad die +h w +co li +fr an +fav s +ðŁĴ Ķ +int ent +r ally +s bs +lemon ade +barack obama +bre ad +stick y +explo sive +chel ten +t j +as soc +ram en +hom ies +v log +mi ster +lor d +âĢįâĻ Ģï¸ı +aly ssa +sketch book +ru mble +cat ch +migr ant +discipl ine +un likely +chronic les +fl ora +sl ams +am id +s boro +coo p +ju mps +tran qu +mel is +sof ia +en ri +gab e +sy ri +nicol as +cha i +w v +be cky +foo ty +ta o +suppo se +ðŁĺįðŁĺį ðŁĺįðŁĺį +plu sh +ri sh +ðŁ¤ ĵ +k ha +satur days +ac cent +he c +lim it +carl ton +wi red +taylor swift +ðŁĺ ij +sq l +har ro +recipi ents +g at +go p +th of +amaz ed +gh an +ðŁıĨ ðŁıĨ +por to +cla re +di stant +na c +ohi o +ðŁĻı ðŁı¼ +mt n +anti bio +dino sa +me sa +par tial +b v +lear nt +lov ato +questi on +ex tract +gossi p +gi bb +niag ara +ðŁij ¨ +displa yed +so oner +ste vie +nug gets +ml n +bro m +tur b +give aways +stu pi +bl ink +c ili +conven ient +mo h +vi ve +f ric +cau se +cham ber +cu les +ne arest +is se +small biz +t j +canadi ans +smar ter +bra sil +ra re +que tte +w ha +cand le +at omic +ðŁijį ðŁijį +warri or +relax ed +stri ps +ne ur +k ka +r fc +jen sen +reco vering +respon ses +sal am +ortho dox +acti ve +ell ers +n it +âŃ IJ +metro politan +centu ries +vi da +gra ding +transpa rent +sim ple +do ts +superint endent +elev ator +autom ated +red skins +ima m +summer time +jona than +ge aring +michel le +confl ic +m ice +to te +publi sh +pa x +) - +na iled +á ´ +tele scope +ser bia +ba b +ape u +st ically +sen ti +r ats +isol ated +grou p +hat red +paranor mal +stan ley +ali on +safe ty +l s +ठ° +nex us +alexand ra +mas ks ++ + +tr on +au k +brother hood +brow se +mix es +sim one +mu sk +appro ve +lo la +ex p +per th +fu turi +un seen +d m +chel se +sc outing +o we +portsm outh +k ram +mi ze +di spen +su p +d lc +adver t +tere sa +is le +cy cle +met all +shi elds +marin ers +ra z +ing en +fun d +an go +jon es +o ka +mad den +broc coli +domin ic +situ ations +mer o +cric ke +puni shment +d b +sha king +ðŁĺ ļ +m q +ari ans +le h +cla w +we ds +d ure +ni el +j elly +gour met +tra ders +le vi +w ages +kne es +wi se +heaven ly +avi d +melo dy +z ack +ban anas +apprentic e +pro p +fun ny +o de +respec ted +me gan +fe wer +dra fted +med it +gra pe +us army +cru sad +vo cali +prepar ations +non sense +us age +th r +ro th +wiz ards +insi de +promo tions +mon a +red sox +si g +eleg ance +ch ia +univer sal +ãĢ į +ra ja +un ga +pol lin +filip ino +ak a +t sun +ik on +bi king +decor ations +z ac +cade ts +hum our +ag m +re ppin +vac cin +elo ve +u w +dia be +galla gher +az er +do l +a while +pro minent +wel sh +t ann +' ) +bi en +wa g +in al +c wc +wic ket +ur st +q anon +x e +out door +dun n +star r +co logy +ric ky +u efa +reb ounds +s music +inf ant +ðŁĻ ĭ +so p +u mber +hand ing +beg in +sor ting +ha sh +sp ati +re k +buda pest +black hawks +dele te +ro m +can did +auth ori +de bris +spe cul +inter section +marri ott +im ran +ðŁĺģ ðŁĺģ +cru ises +ram sey +rafa el +aware ness +vas cular +beyon cé +ru g +ðŁĺ Į +festi v +ar am +s able +bas il +p ill +flo oring +un beaten +implic ations +u f +w ound +for ge +poin ting +po ts +popular ity +ðŁijı ðŁı» +mani pul +s lots +deb ates +abs ence +ver mont +never forget +wri st +gl oria +ren ce +hu sk +mel ting +ðŁİ Ł +br aces +tim ely +transform ing +am ps +ma k +po e +ah an +gener ally +nd p +ale ppo +unic ef +pro fs +nor d +ma sk +jackson ville +v v +sh ells +bloom ing +oper ators +char coal +ne ville +ma gi +chi p +sam a +ir an +re forms +accu mul +ru e +æ ľ +web sites +ga on +devast ating +sto s +glaci er +ra pp +chipot le +pr a +or ous +rom ney +seas on +decor ative +c isco +dit ch +compla in +ll o +assu me +ðŁĺĤðŁĺĤ ðŁĺĤðŁĺĤðŁĺĤ +n els +cent ric +ft w +car rots +tat a +can ter +per ience +li ers +demo s +bl unt +oper ate +reserv ations +le ah +sub stance +di son +an te +elec tion +v ue +squ are +non profit +ca a +f su +y am +ãĤ ¤ +v ladi +comple tes +mar i +philli p +ne ill +er as +ka it +men do +mahar ashtra +g p +dan e +provi dence +ther apeu +juven ile +me mo +in corpor +aa aa +seven teen +teen ager +à £ +or ns +wi de +cu teness +tw d +ff les +bar a +com edy +over time +y az +bar on +unemp loyment +ðŁij ĭ +exter ior +den se +cent res +match up +history month +artif icial +qu it +e sk +war n +cr itic +j af +ðŁĵ ² +inform ative +fu els +recy cle +nam ing +stri pe +sol ic +mole cular +dee pi +con vo +s sel +na e +de scent +ti z +accoun tability +ter ry +r ito +sl ay +em o +dem ol +sens ation +co v +tor e +round table +y ol +excu ses +ॠį +tur quo +hh hh +pod casts +cele b +me ssi +li o +man n +contribu ted +u z +gener ator +ele ts +veg gie +indu l +en suring +detro it +pun jab +tran spor +instru ction +ad d +por cel +pan eli +cir cles +persi st +clay ton +sp n +dog softwitter +is nt +sp r +retail ers +p w +hun gar +el ena +mon aster +gu atem +je ssie +an z +ra shi +fle e +car ving +fau x +l al +hen ri +d jo +du ll +s ana +lar a +glo be +cri mson +com pass +pau se +na b +lion el +ba ths +u fo +invent ory +sin gh +sat an +ðŁĩ ¸ +ce ments +in form +gener ated +bi den +av g +tas ks +de er +sa u +ja iled +pa stel +sc c +na il +steel e +per is +lamborgh ini +pur sue +mar gin +u ch +bo sch +dra in +cl ara +bo m +lat ino +web ster +rose mary +r ha +s oun +billion aire +not ch +percent age +con or +' " +hom es +earth day +h ort +big gest +di sin +wal ton +edit ors +im ma +om ar +equi valent +pharmac eu +ah med +cam eo +han ni +under rated +ge ment +micro bi +v oo +honor able +obe sity +âļ ¡ï¸ı +limer ick +invol vement +st agram +boule vard +bur g +blackand white +liber ation +fi ve +inter im +sm m +rival ry +cap abilities +stat ements +thu mb +ve d +sw ans +bar ber +e que +seren a +hel m +noo dle +sam pling +n awaz +sing le +thunder storms +sh on +in ev +ë ¯ +to pp +orch ard +bi an +ðŁĺ Ķ +door step +salv ation +marke ting +r ons +cle mson +ra vi +in take +stand with +sin a +ha iku +ple y +elector al +ph illy +la ys +electr ic +cap turing +u pp +er gy +believ ing +cul tures +es day +inva sive +ed ed +spee ch +end ur +viet nam +boy cott +pe de +deli ver +ðŁĴĸ ðŁĴĸ +mer chant +st ir +den ies +poc kets +o ti +cu ddle +ro land +mm ed +den ed +lear ners +hoo p +sour cing +h acked +di m +environ ments +ben son +jud icial +wor cester +pear ls +govern ments +arri vals +cor ners +tun ing +la bour +y m +or dering +le wi +i fe +hygi ene +thou ghtful +indone sian +campaig ning +princi ple +assau l +ru bb +at v +wil ly +en tre +il i +ph on +du ties +âĻ¥ âĻ¥ +sn akes +lo op +am ar +conver tible +bon ding +ment oring +max well +ethere um +destro ying +ax is +ca iro +fin nish +sho ck +ðŁĺ IJ +cal eb +com a +pe dal +co re +contin ent +el son +temp o +helsin ki +ac p +tack ling +st ated +bl a +dou b +sma shing +a ja +camer on +disru ption +warm th +being salmankhan +bullet in +o de +syrac use +ar an +mc gregor +bul k +an ton +confir mation +sp ine +im ran +instru c +jac ks +chi o +pal m +str e +embarra ssing +un t +elimin ate +to ss +c ise +a ws +oni sts +sh inee +jo s +ho se +li vely +opp onents +mo vements +recogni zing +sandwich es +sh akes +exerc ises +se at +profe ssion +merry christmas +lu gg +adopt dont +mar vin +byr ne +un le +he t +ku wait +rah man +aspe ct +humb led +gen es +f and +long time +) ; +cam pu +an gus +ðŁijį ðŁı¼ +q uran +sle eves +s lic +¸ ë +twel ve +your e +i ke +go gh +b st +dic tionary +reflec ting +to on +yar n +em bed +ðŁı ´ +re serves +floo ded +ver iz +du sk +estab lish +pro li +au d +ritu al +or bit +declar ation +recor dings +cam o +cas sette +good luck +cu tter +bo p +b ho +che ating +paci fic +ma res +tim er +col t +tr ous +tomor row +han sen +ci e +w ang +ban i +circu lar +ac ute +far mer +co ys +p se +ir ving +w j +haw kins +b ison +ur day +cru ising +o te +k ath +whi stle +your selves +ant is +sla sh +thorough ly +ke sh +ser ie +ex em +en ig +guil d +sh red +ho gan +ap o +ä ¸ +pu zz +ne tball +au ssi +panor ama +ws j +av is +ar ming +hum ph +brow ser +cri es +fo ggy +mat te +ðŁĮ » +it er +tal lest +by ron +cap tiv +je su +any ways +flag ship +p ton +we y +fay ette +financi al +f oul +solom on +jenni fer +cucu mber +ar gue +tex tile +wrest ler +john ston +pa stor +ðŁĺŃðŁĺŃ ðŁĺŃðŁĺŃ +cac tus +edi ble +re served +ric hie +met res +ingredi ent +h ella +un to +ch ol +cele bs +po ets +gra ham +hay den +coinci dence +b aw +communic ate +flet cher +/ - +tole do +ecu ador +coun sel +s laughter +line ar +at p +os u +jo el +ev ed +conqu er +ru stic +plic ity +recogn ise +room mate +cr acked +jas per +ph er +ðŁĮ º +wo ven +mo ist +ff c +ste ering +ni sh +stand ings +frequ ent +ar di +haz el +as msg +bau m +d art +si dd +nat h +ch ero +card board +c ss +n sfw +pa ir +ðŁĺį ðŁĺĺ +occur red +homeless ness +mal one +ph e +xi a +pad dy +decl are +theat re +b f +per sian +ta d +ax e +susp icious +lam b +mu cho +sen ior +st as +k ite +st ing +gra d +k af +wat ering +Ø ¯ +spi ral +th ms +educ ator +jer ome +of c +clo ck +su l +pe mb +.... ..... +park way +de aux +restric tions +m ons +need le +e j +le agues +water melon +am an +pl enary +max im +w ab +coming soon +bry ce +vi gil +super market +fortun ate +turquo ise +presi dent +li v +inter ns +feel in +fix tures +stun t +st aged +premi eres +lo k +prac titi +shor tage +log ne +ve c +con cor +roc ke +li g +com posed +syn thetic +di p +cam ila +ch is +j ou +su san +eye brows +supp lement +satis faction +moham mad +ti bet +house of +pu n +as sam +shado whun +psy ched +se duc +mand atory +her bert +sc allo +stream ers +proto col +block buster +produc es +sch nei +lau rel +tri be +time hop +pl a +mod elling +tv time +mtv stars +wi dow +me tric +ch am +con do +flow ering +ale c +d ms +inten sity + ¨ +mccar tney +islam abad +k b +f fi +ph al +anal og +f ond +h acks +positi vity +treat y +sub marine +conne ct +sel en +categor ies +cu b +organi ze +si k +quote oftheday +remin ding +am or +loc king +ðŁijı ðŁı¼ +comp ound +et te +b out +rec ur +fe rence +mi zz +tren d +hip ster +for tress +forth coming +preli min +o dyssey +ang p +del ici +even ings +ðŁĶ ¹ +i q +d w +da ir +kathr yn +christian ity +moon light +ha b +wh oo +f bf +se th +genu inely +pa x +char ity +deplo yed +b nb +bu cs +ju dg +con ge +plant ation +im press +car a +sc lub +sco py +land ers +compla ints +b ama +re build +x y +real ism +sh our +le in +brac elets +mer a +assas sin +an chor +ðŁijĮ ðŁı¼ +lin en +con fron +chronic le +comm ent +cat alog +il les +gor ge +me try +jung kook +love my +sent in +se em +fit ness +alli ed +ts man +digital transformation +pr an +lo ft +min ton +alden richards +en vel +cher ish +certain ty +zz z +rhin o +per kins +en rich +cape town +ome ter +sec tions +ske leton +def enders +ðŁĺ Ŀ +pen c +bri t +ja h +capital ism +ðŁ¥ ĩ +baz aar +re me +ex t +kk k +conver t +stor my +b ye +kar an +chry sler +ad os +pre ssed +syn c +ation day +dang er +bad ges +refu ses +em powering +ly m +ex ports +adoptdont shop +ðŁĩ ¯ +th c +awa ited +focu ses +fin ed +o at +haha hah +âģ © +n family +fi ona +luck ily +thr illing +ty ping +out break +di es +he u +craw l +ne sses +o ath +scri pts +gee ks +ðŁIJ Ŀ +p b +mathemat ics +al is +________ ________ +gymna stics +acti vism +recommend ation +gre n +wa in +cour ty +n apol +cau li +hor nets +g als +jo ckey +dir ty +at ar +enor mous +pe st +greg ation +an os +ii ii +def ends +black historymonth +at x +mb c +lugg age +wit ch +co b +la sts +cu m +gg g +ba thing +n ar +ce bu +ðŁį ĥ +navig ation +min e +re jo +ðŁİ Ģ +gif tide +re ta +use less +pu ll +defic it +al lu +ati me +it v +tr illion +pu e +ac ies +proce dure +l ori +jen ny +c ad +ul ously +dr ac +promo tes +ing the +can u +woo hoo +na omi +zar dari +ts u +be ir +sd g +le ver +we ber +ab ud +lun d +crow ded +deplo yment +ter rain +ken ny +ho f +witne ssed +lo ch +j k +bul ly +w ren +poe try +do ff +ww i +mo red +din i +cul ture +promp t + ¥ +maur ice +to pps +r m +cor respon +ab out +jewel s +gi br +eag le +ðŁĺĺ ðŁĺĺðŁĺĺ +l ending +sou ven +ç Ķ +contemporary art +establi shment +j ong +â̦ " +gat or +patri otic +mc coy +v ape +human e +feli z +coach ella +re posting +ste als +fu ller +n ering +at ra +( - +bla ke +he ather +wor ms +discipl inary +rede mption +y ard +am in +" @_ +d nc +t ds +k appa +ne wark +comm its +spe ars +j ams +t and +msn bc +inter medi +aim ed +at ic +teen th +observ ation +kash mir +kavan augh +ou l +san francisco +re u +bel ated +cho w +pass word +st ills +deta ined +sar i +day ton +dar ren +itali an +ar th +amu sic +ar bit +w m +v m +he m +dou g +my r +a sho +pre v +vin d +bra h +sta g +ภµ +pre views +gu k +con taining +leon ardo +sad dle +ru shing +st av +lon gh +gam bling +ve gas +reserv ation +end ale +bal a +fl a +vari ant +he dge +bulgar ia +nat ali +we aver +sol st +encoura ged +ap c +as parag +ne st +cycli sts +fe l +ìĬ ¤ +overwhel ming +pey ton +j it +a post +mb le +ble eding +neighbour hood +a very +expre ssions +mac donald +gi gs +mon ds +illu sion +n ct +cam ero +over head +my th +ol y +vi o +et v +lau rie +unve iling +pri or +con n +iron man +di ff +day in +crit ici +con go +re vision +wal e +direc tor +p ines +black pink +gar ner +cur ated +manit oba +h ac +common ly +bar ton +.... # +mor tality +live smatter +philos op +shor ter +con vince +fre ak +vend ors +insi ghtful +el ly +sens ors +e led +s berg +weight loss +u kip +sp ur +priv ate +qu a +ss c +, ... +supervis or +advis er +amaz ingly +less er +at es +mah on +oooo oo +sar as +pmo india +waff le +un ders +toler ance +sculp tures +her sh +kno cking +smo ke +cathol ic +gri m +tra veled +fli p +ge off +dinosa urs +sle pt +scar let +ok i +compla int +ob sc +nam i +la g +cross fit +u fc +mc cain +refe ree +sad ness +pen ny +li eu +mo de +ki er +vol s +w is +el on +she a +ba o +son ia +cla ire +em manuel +moist ure +di gest +vi ii +t eller +ch on +access ory +night club +foss il +aw an +hu sky +ab original +brand on +ffici ent +cou gars +ste d +ad mitted +igno red +content marketing +ag as +v ase +execu ted +negoti ations +she ad +n and +tab lets +go th +ts al +d fw +on ep +protec tor +sp ho +gaz ette +andre as +ss er +comp ilation +ha v +contain ers +bro ker +soc al +porcel ain +hy uk +air ing +ðŁĴ ° +publi sher +scen ario +spart ans +re viewing +itu des +ed el +pear son +ba sh +mau i +a ad +ðŁĮ Ĭ +li u +ul ate +program mes +fav our +web design +real ty +motiv ational +cro sses +' ... +bus ch +adjust able +ar jun +mist ak +dimen sion +pi stol +weigh s +en y +unve il +indy car +gor don +f ade +fran ken +qual ities +bet t +loc ate +ker r +sp c +confu sion +ne e +luck y +bas es +dep ends +fire fighter +ol a +re t +mar oon +ðŁĶ Ĭ +w am +defin ing +whe at +bi l +é s +b hai +psy ch +ta u +ic ans +thi k +ob ile +inspec tor +ìĨ Įë +ill on +go s +ev angel +fa i +si st +voc ation +bur ge +chi stan +renew ed +enthusi asm +en ting +ag ri +ike a +m sc +aero space +sens iti +memo ir +hosp ice +co caine +der ry +mechan ics +Ħ ภ+tin o +reduc es +collec tors +in justice +supp re +v ana +ab un +nap a +su sa +os lo +e ff +en core +lic ence +ched dar +z al +moun t +ðŁĴ IJ +threat ens +!! " +archi e +fu tsal +scu ba +jo s +gn on +se xi +s official +compar ing +domin ant +tof theday +fa it +propos als +gi ft +y as +cn c +l r +ha b +reser voir +beli efs +gener al +mar ti +t d +est e +ì ł +wi l +ðŁij ¯ +ðŁĶ « +sp x +et work +excer pt +e instein +hir o +sil hou +team ed +per ception +corri dor +mental health +hin ts +ben ny +induc ted +sw x +wi desp +spe ak +cher yl +dru g +ðŁĺ ķ +h f +asparag us +myster ies +fitz gerald +off er +therap ist +care er +dam aging +ts d +per u +wei bo +y ay +phoeni x +disc re +mac book +bar ker +stig ma +sp read +roc kies +kang ar +bri dg +pa i +bi shop +ta iled +capsu le +ðŁĴ ĵ +ge of +roy ale +short listed +o ste +ash amed +ch app +key e +cl a +screen shot +austri an +nati ve +en ight +juli et +michel e +ðŁĮ ´ +travel ers +pi l +football er +win chester +ðŁĻ Ħ +azer bai +gold eng +organis ations +interpre tation +predat or +ofthe week +lo gan +pok é +mari e +cal la +t nt +cin de +ge tic +fit fam +gra v +ow ens +ðŁĮ ± +shoot out +sal is +commissi ons +co he +p tic +ni xon +hi a +amb ition +mar ine +cruel ty +t k +cru de +sal ty +jim a +mon go +ir ony +on wards +arre sts +strang ers +ig er +cycli st +ra g +exten ds +tra dio +bour g +mo i +el la +e able +lex us +au l +der a +histor ian +mor ton +ti ff +man ner +ko t +d k +po inted +mar qu +a an +en ey +du blin +on poli +em ili +secre t +fl o +âļ ¡ +ba j +ste ep +accompan ied +rum ours +dev i +purch asing +fi g +pu b +sch oo +autonom ous +go alie +x ia +autom atically +re vers +ter o +fu ku +titan ic +shoo k +sand als +see kers +exc av +nor dic +bigo live +ba ke +r att +z ak +ne p +ðŁĺ ¤ +cand y +billi ons +book worm +pp et +à ³ +sur faces +sc ars +phil ip +do gg +ci gars +co te +transl ated +cur ator +sin dh +han gover +bre wer +on es +el ton +ðŁĴª ðŁı¼ +mar cu +elli ot +righ te +di oce +ru ss +rail ways +grand son +as cen +apo logy +awa it +mob ili +re spir +parti san +oli vi +stri ke +yo o +white house +expre ssed +pu ps +bed ford +cul tur +fro gs +fly ing +cav ali +c ds +fri ger +street photography +re solve +tali ban +kan g +cru shing +ju m +ðŁĺ Ĵ +william son +tan g +cur ly +t man +veter an +fa ire +artificial intelligence +un anim +pre n +back drop +fr ances +oc cer +doro thy +work ing +ar thr +conver ted +day light +serv ant +pad dle +compla ining +thir ty +nad al +ak u +ibra him +ad dressed +p iss +green house +batt alion +si mulator +out lets +embroi dery +ðŁĵ ± +fis cal +ger ard +sas sy +ðŁİī ðŁİīðŁİī +vent ures +mer it +public ity +ðŁij Ī +sophistic ated +c tu +conven tional +condol ences +isra el +tra dition +ar an +te ss +gla d +ðŁĺĬ ðŁĺĬ +correc tion +ge on +am d +or ship +be ast +ch ment +ì ŀ +nic o +wk nd +wel s +cushi on +beli e +vo c +idio ts +under neath +pu ma +corn ell +en ation +lu l +swa ch +ab ig +u rer +mi e +form erly +ca f +er nal +chor us +juli us +sen ator +âľ į +wh ir +salv ador +ph d +uni fied +boo ster +graph ical +w rec +son ny +mi z +dere rs +s all +ven s +tusc any +wi d +y ong +kur ds +w az +trol ls +mac ro +cat urday +pre ssing +sa sha +cent ennial +gu sts +em c +be fore +den ise +cu st +ðŁĵ ¢ +lo oo +base l +eng land +y olo +ar du +manife sto +do ha +ì ľ +kni ves +bourne mouth +bi bl +bar b +al icia +Ø © +com er +cycl one +g it +ane ws +character i +vent ura +in tra +sf giants +hu t +be a +dar win +ell er +al v +re ese +bl y +kar an +conclu sion +man ny +fla kes +unite blue +nad u +co pp +ed ges +lanca shire +i als +o tta +philipp e +l ent +che e +ment ors +festi val +an ism +compli mentary +r j +pu g +d ine +we i +cli ffs +sar my +ti veness +treas ury +il and +after math +rabb i +ou n +bou quet +herit age +zi on +sur render +shen an +in ks +kar l +gh ty +pol icing +exam ination +ce y +per su +measure ment +hydro gen +lu han +âłĢâłĢ âłĢâłĢ +war i +о Ð +j y +fow ler +mis h +al fre +âĺ ij +bb naija +cat alogue +recogn ised +sa ver +hu skies +col in +mun do +si va +p ng +discoun ted +man utd +fre sno +de vin +prelimin ary +tro phies +pla stics +du g +pro cu +indi go +g ard +dy lan +pit ches +ground breaking +in son +bl ac +an thology +f h +expl ic +r ard +admi ral +so chi +la shes +splen did +en vy +ad v +sex y +festiv ities +stic king +bi b +thr ill +op p +ari el +botan ical +endur ance +fe males +br icks +vat ican +black pool +ber mu +br ough +roll er +bi d +sue de +sloven ia +mm ing +ml b +med alist +di ans +rehabil itation +ne on +s go +li thu +ram os +z ed +pi anist +inten sive +broad band +stu dy +peter sburg +lu ca +ah hhh +phys ician +dill on +tele com +gri ef +mu n +ac ro +si ded +s ly +blo ws +classic cars +tri um +ar gy +? : +h ri +marsh mal +âĢ ĵ +to pping +war saw +tran sc +preserv ation +b av +re friger +experim ents +ä º +gl it +sli ga +g age +fac tor +flav ours +br ony +sp o +cook book +carri age +aw ay +ny fw +on ian +w g +simp sons +ro lex +ðŁı ¿ +cro sby +ãħ ¤ +cre di +syn dic +pu bs +ali fe +poor ly +mac ed +ðŁĺ ŀ +behin dthe +w enger +n ats +ðŁİ Ł +rubb ish +procedu res +typho on +opho bia +er do +fu el +vi era +bu mps +millenni um +new zealand +lec tures +it on +mil ky +respon ded +ê ° +landsc ape +.. @ +bo ther +âĸ ¶ +z hang +huawe i +tu ition +s worn +in u +y or +pa olo +au ditions +ab il +malay sian +ho ps +fe athers +mp le +au ts +ã o +boun ty +ic he +ì ĺ +sh q +pin ot +ge ars +disapp ear +video games +t na +alzheim er +ðŁĮ ŀ +a ji +under wear +swit ching +sign age +o scar +ec on +dro w +cl int +pl ated +gun dy +emb lem +ho es +ici st +nel ly +juni or +road show +miner als +at le +alexand ria +ac claimed +v ell +shi va +ad he +en ne +amne sty +h ounds +councill or +ðŁĴ ¦ +aes the +part nering +influ enced +mag no +fl are +extin ction +civil ian +maje sty +va il +law makers +rac ks +mc c +ori an +sp ices +er rors +may er +co ca +pa i +s ooooo +reti ring +ba thro +ðŁĻĮ ðŁĻĮ +âĸ ª +su f +endor sement +buil ding +broo ch +pal la +arvin d +ag ent +kar ate +r hi +c tv +ta ine +um m +ba x +reig ns +uni of +enterpri ses +adel e +fla ke +at tire +bru ce +ba hamas +gra vy +sa in +che ek +tri vi +lo v +e en +bb lo +lady gaga +itt a +. "- +du stin +observ atory +eigh th +bloom berg +kh s +f cc +gi st +commemor ate +ve er +sexu ality +ed c +nic ole +vac ancy +u ser +son a +:' ( +dipl oma +t end +up grades +Å Ł +jura ssic +cardi ac +dr s +widesp read +à ł +dail ies +vend or +sim plicity +wi der +len ses +supp lements +de pos +ob served +vin es +parti ally +renew al +collabor ate +ali g +fin ity +ph u +zz y +pe tit +ðŁĵ ħ +z in +i gu +sm ack +fall on +ðŁĵ £ +back wards +comp onent +o so +compati ble +bin ding +zur ich +thom e +w ounds +ly ric +fresh men +sne aky +fi bro +di et +emplo yer +in sect +h ated +sch er +raz or +n sw +boo ker +califor ni +av fc + ° +preten ding +pep si +al is +un titled +k art +grand parents +e the +o ck +lux emb +visu als +small business +abdul lah +min ho +su baru +h ra +reve aling +heart breaking +clar ity +am g +sl r +** ** +âŀ ĸ +recor d +ici ary +min ded +ye h +exce ssive +knu ck +icec ream +tru th +ev ic +ta stic +ant arc +ren dering +, , +mit t +loren zo +st patrick +bound ary +zi g +vo cab +osa ka +fur n +tu n +gu l +s ounding +blo gger +utter ly +g af +adv ancing +l cd +mar gin +lifel ong +solst ice +sh ra +wa its +ple ar +bre ach +en ligh +ad er +itt le +c ation +ho on +stu died +?? ??? +k ash +ev angeli +ps l +wei ghts +met als +ty res +tur no +wi e +car b +g ale +se al +sun ite +am ic +patter son +á n +eu ph +up stairs +quali fiers +khali fa +apple music +ìĨĮë ħ +vau ghan +al ter +cru iser +mu a +t ana +kat rina +id ols +spo iled +secre tly +fi bre +part nered +um es +gi ov +com et +screenshot saturday +k eller +fil tr +fe t +con way +pe u +bad minton +gi d +m ound +don key +bu ff +lea ther +lar gely +bro ch +int ments +am use +r k +sto ve +impac ted +con t +cr acks +prison er +bar i +contrac tor +ori oles +domin ate +pol ar +am elia +dr c +ðŁijĮ ðŁijĮ +vi st +su arez +injec tion +blo oms +ðŁļ¨ ðŁļ¨ +sti ff +pay pal +sno wing +thur sdays +goo se +we dge +educ ated +weak ness +de cker +abud ha +bree zy +Û Į +hope ful +o bi +rai der +gh am +de u +se ve +par tly +fu t +infu sed +mer ri +than e +some time +hu e +me in +cre dit +sli ding +ran de +cher ry +dead pool +sh ol +ar am +under wood +sky e +distur bing +m nt +poli shed +guardi ans +ha dn +pic asso +ari us +ak shay +ir ri +j h +happ en +la kh +dal ton +at the +s well +mar sha +re h +cour s +j kt +top us +serv ice +r ink +hack ers +dono van +hor o +tc m +may hem +cha se +dev ops +ken sing +sc up +sh ere +quali fication +c live +ton g +n ancy +mar is +der dale +ber man +cinde rella +jol ly +ci c +loo t +collecti bles +hom icide +g ge +epide mic +su ites +mu ddy +gi mme +e rec +- * +tal la +lis le +embro ide +ðŁĩ© ðŁĩª +veriz on +ve ctor +be anie +arti san +ga in +flo res +vi gil +u so +ðŁĻı ðŁı½ +grin ding +gh er +air ports +respon sive +shaf t +can cel +ceremon ies +e me +at ari +bru shes +eag er +bo hemi +children s +yan kee +ma a +suspen se +mor an +mac ar +sun flower +cre w +vo id +ke ar +fashi oned +jen nings +sunday funday +sub missions +me ad +her man +wa i +crit ically +le um +baek hyun +for cing +co bra +ãģ ® +acqu ire +al k +ge ology +pri mar +import antly +ire z +bunde sliga +curi osity +sen a +stric t +con soli +win ters +ven om +chelten ham +ðŁį º +cen a +t at +ba in +glo ver +under cover +as ses +car n +memorial day +am eli +i rene +ch on +syn thesis +spe edy +mitsu bi +sla yer +compos ite +under stands +pe w +inter rup +hen ri +mor row +an om +thof july +g lee +thre e +ðŁĺ ® +and hi +ch att +renew ables +ye s +trans fers +!!!! !!!! +bab u +du ter +lo ops +pe ers +o ilers +pau lo +ic ation +h mu +war a +mer cer +hom eland +fu ji +ale y +year book +re m +re en +ab sur +bo is +] : +caes ar +shot gun +kur dish +o ren +ra e +anci es +ty pic +f h +def ault +re plic +lu k +trans actions +r ys +infan try +ðŁį ¾ +cho w +chick ens +ba gh +wy att +ay e +gg i +bre ws +ed itions +mi ra +commen cement +pre su +peris cope +ic hi +guatem ala +zam bia +pain ts +wit ches +wan i +un dere +cro y +vo ws +us mc +hear ted +theat res +shu ffle +le vel +mul tic +squee ze +fer n +app et +post al +mal t +on board +ld nt +co o +s sc +k ac +ðŁĺ ĩ +sc rap +mar cos +deal ers +ann u +mill er +co ve +ul ary +vladi mir +be ef +th ur +pick led +se same +bengal uru +mo tt +kathle en +hi st +no tor +dr ank +du chess +snow fall +e ff +tin y +j n +sy our +speci alists +scot us +bay lor +eve rest +mali bu +pre m +harm ful +l ali +b ates +g ye +differen ti +and ra +geome try +el over +black out +== == +ko ta +inter act +asi an +la yo +samu rai +fi del +exhau sted +gla di +pd t +spher ic +anti qu +guit ar +stu ri +ho pper +ang le +f ills +sla p +mi th +rod ney +ong i +in som +pre venting +cassi dy +ap ho +ore gon +lo in +ham mond +contribu ting +f n +gar ri +ori on +comp elling +escap ing +aim ing +plu mb +bi stro +be asts +concer ning +bo e +do pp +shop local +stumb led +âĤ ¹ +naz is +âĢįâĻĤ ï¸ı +gest ure +war ts +us open +hi ggins +char li +hang s +bom bers +° : +fe eds +c ch +st il +nic ola +ðŁĵ º +clam ation +tro pic +af ro +ou k +expen ses +der rick +al ine +fa w +reg ard +im er +sat in +thi um +ry der +pear l +te ss +mm mmm +sen ses +ðŁĩ ¹ +positi ve +exhau st +occu r +nor ris +lil ly +is les +direc ting +yo fficial +count less +sam ar +on stage +flo ck +mir rors +arch er +mo i +k d +vi v +in os +si kh +le i +sen sory +br its +kno x +chest nut +op y +coli seum +z af +di vin +adap ter +:) )) +tem ple +ku n +hel mets +t df +gu ide +m old +o ids +lu ther +he is +monaster y +sp ree +k lu +brit ney +jagu ars +gre ats +c cc +ky rie +machin ery +cric ket +re ro +ab o +aspir ing +semi finals +ale ss +sig natures +var d +me th +her bal +hol den +king dom +ap or +reg gie +ore o +palestin ians +em mys +sec tional +ro i +ney mar +qu el +cu ll +l ka +haz el +estim ate +ul ties +go w +be a +purch ases +bel ts +protec ts +m é +gue ssing +bb o +clau dia +fr acking +jon ny +el k +cel tic +al mighty +ra je +courty ard +ig i +can es +ðŁĴª ðŁı» +bank rup +le thal +âľĮ ï¸ı +graphic design +vad er +penc ils +rough ly +dan te +m fg +const ell +cam el +j b +bloss oms +en to +balo chistan +cine mato +ill ard +jer sey +con sent +dent ed +con templ +sch er +hol i +lou gh +st our +a yo +begin ners +cur b +v hs +a jax +du ff +av eng +dom est +commit ting +ai red +cha p +hedge hog +disappo inting +freel ance +in land +char ms +ðŁĺį âĿ¤ï¸ı +ai sh +m x +buck le +ti dal +per mit +bo ating +ra cha +kend rick +b ello +b hi +ple a +estim ates +l b +apo logies +jay a +bb l +ast oni +inter state +main taining +el bow +mu p +ep it +ðŁĺ ¡ +viol ations +def end +be h +sl c +am ir +pur i +ti um +fi fa +blur ry +scri m +ðŁĻı ðŁı¾ +ma ple +rel atives +âĺ Ŀ +cho c +con nor +⾨ ⾨ +whi sp +list ings +ma ze +than king +ri dd +grass roots +shi fting +desper ately +gor illa +den i +ju les +stra th +g ley +ja in +bu ick +t anner +ðŁĴ Ŀ +ga e +pri m +it ors +n ano +separ ation +armen ia +bor deaux +ðŁ ħ +pj net +bu rial +e bon +glo ss +re new +gri er +spe eds +comic books +sym boli +pur poses +ãħł ãħł +spati al +no table +ci on +n ps +ho ffman +nor man +rt g +du sty +situ ated +tr an +k fc +em en +nic kel +hast ings +sett ling +gr it +l ena +w aw +art s +gu m +ca regi +le wis +sapp hire +rememb er +embed ded +t lc +bl at +serge ant +el sa +boot camp +bow man +photo graphic +pill ars +direction ers +classi fied +no is +ve er +barre ls +wh oop +ðŁĺ± ðŁĺ± +fe male +petro leum +medi a +e fc +poké mon +ठķ +enthusi astic +var un +pro files +pedi atric +acci dents +con rad +jan g +jo jo +ac or +ob server +l f +live stock +for gi +fo s +el m +an and +go e +c ere +avoi ding +gri t +om an +thank fully +scat tered +nick y +cylin der +chees y +di ver +mahe sh +cav es +ear liest +qu inte +subjec ts +b end +gul f +vocali st +glu e +pat ches +un stopp +sny der +demonstr ating +pi o +hor ns +wic kets +and the +r ama +yo on +stra ight +bed time +or ang +bul lets +sa urus +min ers +inci dents +! ... +ðŁİ ¸ +ag ers +hand les +stat es +in ity +d ons +incredi ble +emin em +avi v +ru dy +moz art +folk lore +appli ances +mt l +fre y +di as +hu a +page ant +stri ve +im prison +bul lish +r ana +al erts +bb mas +hy per +derby shire +re cre +re dd +debor ah +cosmo s +law son +mel anie +psy cho +ho or +doo dles +sni per +shad y +man tle +canadi an +new year +inter actions +separ ated +cor ds +spiritu ality +ap u +it o +p ct +pel osi +rebel lion +se iz +wor cester +sec tors +ul i +san ta +Ð µ +ðŁĩªðŁĩ ¸ +bi ased +class ical +gam ma +dee plear +emer ge +back er +sur ance +hand crafted +ðŁİ ¥ +franc is +mill an +ic i +cro wn +wo w +stri ped +un fair +relax ation +³ ï¸ı +embrac ing +she alth +pale o +martin i +dist illery +wr ink +or k +na th +hay ley +cour thouse +si ber +sa di +quiet ly +mel t +m sm +me h +smart phones +rel ent +pp ing +war wick +co logne +gli a +cot ton +pro g +lon e +ip sw +star ters +expan ds +u mp +su ed +ski pper +infe ctions +ing le +à ¡ +cler k +demonstr ate +ac ar +ðŁĺĤðŁĺĤ ðŁĺĤ +ti bet +bun s +alo m +demol ition +ssi a +g st +[ ] +so ar +âĺ Ģ +ðŁĺ ª +ðŁĵ Ĭ +dee pest +beyon d +are t +att ends +activ ated +di mit +âļª ï¸ı +high lighted +magaz ines +rum or +az za +steph ens +dol ph +sho ckey +mat s +we av +mel an +serv ers +tra um +ku sh +æ Ĺ +bab ys +pa z +a al +la use +break ers +canter bury +ul ture +mi ri +euro s +tane ous +impre ssions +du tch +il d +gh i +pur due +adequ ate +l p +sy ner +ang ler +du rable +gal ore +ro wn +mg mt +ðŁĵ Į +lu cia +âĺij ï¸ı +zay n +bor row +. ( +north umber +cru sh +eng a +su sh +extra vag +t out +ma hal +ali stic +ther mo +gall eries +es se +chi bi +attrac tions +lex ington +legislat ure +docu mented +resi den +brow nies +w f +st ool +plan ets +sho ppers +conduc tor +ms p +tr icky +fru ity +end ra +feel the +whi pped +hair style +re fer +oo k +oc topus +audi ences +ku mar +after no +op tim +c fl +ni p +gen i +alpha bet +ann ab +lam in +accep ts +l ng +ðŁĺ « +t ine +ac om +cheer leaders +t k +gr on +v g +k ung +ja x +dha bi +r ss +mack enzie +beir ut +clean up +gy psy +st ell +bur ger +hurric anes +educ ation +st ina +âĻ¡ âĻ¡ +unfortun ate +jere mi +bad ger +at ers +: â̦ +ter ra +subli me +stu d +y mca +mr u +duter te +bren nan +bul b +mel o +yl on +hack er +c red +gu d +as an +pad illa +embroide red +vietnam ese +pione ers +projec tion +re boot +id c +an ey +pri mer +suff ers +win ding +p on +sto day +mor n +u ch +all in +adid as +eliza beth +tu ck +o graphy +ðŁļ Ģ +be g +os borne +ghet to +r h +cn n +ir ma +ma kin +cab les +mur ders +oc ks +inst a +al as +si k +cu ff +la re +foo dies +o vic +at om +geome tric +em pathy +ภµ +cent enary +newsp apers +administr ative +ðŁİ Ĭ +sti ve +contrac tors +le tt +tas mania +awesom eness +den sity +ve en +prince ton +frequ ently +re ject +gh i +modu lar +ceram ics +sh ag +ki wi +can vas +sweat shirt +an j +ti mm +napol i +il er +appe als +hamil ton +ma yo +we ave +arrang ed +whar f +occu py +b vb +as aki +ot ter +nor m +vi es +de tox +tion al +dere k +id ad +ad missions +constitu ency +u pper +woo t +allo y +se ve +lu b +un comfortable +ed win +ab re +d wight +ar che +virtu ally +sp ol +pri e +ai i +er r +swit ch +bar ack +se ok +cou l +wn t +pou l +o live +caffe ine +cardi ff +notor ious +de mp +ex cess +bar r +t ford +a jay +bump ed +my thology +shel ley +fal con +shakespe are +must angs +no ted +bon e +civil ization +sy d +par sons +un official +hy ped +sp ends +oppo sed +v ings +space x +noti fication +deci ding +bio tech +out si +sal ah +! . +fe d +ss y +c ms +bad gers +cr o +ela ine +n ba +dy our +n ant +honey moon +climb ed +conom y +ath a +m ell +ne bula +nature photography +juli e +bm x +inve sted +mon o +lieu tenant +wat kins +techn ician +o se +ka e +ì Ľ +mc queen +pre ach +trav eller +flexi bility +ze bra +reta iler +p ant +ben der +brand t +squ id +war rant +veri fied +cas s +pier cing +hon ours +t ying +mor ris +kis sed +op rah +panor amic +me i +splat oon +wich ita +ari as +gal li +indy ref +good times +athe ist +confe ssion +ow ski +re pping +ad ditions +mechan ism +z im +j ans +su f +cho pped +beg innings +vitam ins +ãħ¤ ãħ¤ +or th +po les +ru b +antarc tica +indie film +web cam +ket ch +bre tt +cle ment +her on +defe ating +hydr o +buc ket +wand ering +sid ney +future of +b inge +on ies +knock out +administr ator +syn the +l ent +jan i +bar ley +premier league +ner ds +cr m +bra s +bot any +evol ved +rot ter +ro wed +tum or +weal thy +Â Ń +mon arch +li shed +da hl +ðŁİ ĥ +bu ch +ken yan +Ø § +red ness +assemb led +se mit +hud der +shro p +ran i +lear ning +mor y +iti a +geo graphic +worl dof +f b +pho sp +boo gie +am ped +? ... +che w +dwar f +ar us +s sen +ru sty +recru its +h k +gar de +app lause +vol umes +invol ves +ta c +hand bag +trans late +ffe l +se ym +aqu atic +trans fer +zo di +and r +acade mia +cr ater +te z +ar se +adap t +col oni +snow man +mal i +hang in +di schar +oy sters +pho e +colon el +w ba +hispan ic +thri ving +sh y +ag les +sales force +cre me +so les +la fayette +â ī +ter ia +ach a +sp erson +go go +car ly +the ore +am ore +vo x +af t +ãĤ ¹ +stap le +mu ffin +di agram +ino x +su stained +av ent +me ta +arbit r +dec ay +ado le +Ð ½ +ec ol +ph o +n k +o cu +gr anny +ç a +luxemb our +stad t +alber to +le vit +am as +d x +or phan +co bb +as c +lo gy +immen se +chan ts +off line +p ent +bre x +w inger +plan e +i el +nichol s +ca thy +nar uto +low ed +/ // +ignor ance +cat astro +you ts +sch en +buil d +haz i +s ine +critical role +du g +dete ct +lo gs +en amel +stpatrick sday +ed die +co pa +cigare ttes +ho ff +kay a +la goon +ra pha +air borne +choo se +puer tor +ke v +gui ding +fro sty +bor ough +mir a +ðŁİ Ĭ +cade t +anu sh +yo gi +e ger +fl ing +slo pe +nin th +we ston +foot wear +f n +may weather +a am +pla in +stair case +witne sses +work outs +ro bust +dex ter +co hort +ðŁļ Ĺ +sp ell +ha ze +o om +organ ising +wild fire +cont acts +av on +min o +upd ating +ðŁį » +li thium +ing ual +k is +au ga +lo com +de duc +u da +th ak +boy le +mp er +hot tie +eri k +re vised +is la +travel photography +oo za +en qui +confe rences +clo ver +g room +cur ves +live on +per f +displac ed +bo log +xx xx +ðŁĺ© ðŁĺ© +te al +ve ssels +rain forest +cal ci +pan ther +gira ffe +ta sted +imag ery +pad res +day time +bas s +ri pe +opio id +nu e +vin yl +invent or +sen s +process or +mu t +gad gets +bibl ical +shann on +jacqu eline +car y +the resistance +ali en +n vi +co sy +bi har +fo ley +ren d +mu gs +fa ken +cl one +ni allo +gra bbed +chi hu +power house +n tt +chero kee +spon ge +imple menting +rh ine +le one +ðŁį Ģ +pret tiest +infra red +impro v +swit ched +tu bes +con tr +bl k +projec ted +be aver +yo t +bbcra dio +thi gh +per secu +apologi ze +w ack +po ster +oli ver +az a +lou d +( ?) +f the +women shi +spar row +blu sh +us able +sc ales +it ative +peu ge +ne eding +legg ings +glam orous +mat ur +c z +wat t +da b +tam ar +et sym +bau er +heart felt +h n +else where +bir ch +alu mini +hu ck +e me +j l +traf ford +d z +por tions +ana sta +arthr itis +esp n +ber gen +viol ation +yo shi +c z +northumber land +clo sures +ðŁĩ¯ ðŁĩ +smi ley +r w +tel ugu +inten si +gre gg +ve ga +dun geon +south bound +ba il +domin ican +semi final +chap ters +h itch +van ity +trans iti +recomm ends +sati sf +bar ca +queen s +( ( +de struc +stra it +ra vi +dess erts +in tru +har am +k os +fo e +fat ty +pais ley +magn itude +dri dge +com ey +schem es +vision ary +our t +down loaded +ðŁĻĮ ðŁı½ +gd pr +lan i +p wc +gu ad +nic est +stake holders +re ferred +george town +arvind kejriwal +schnei der +in doors +all star +strand ed +gen der +ze pp +ma sses +ðŁIJ ± +pati ently +bl dg +z ab +we arab +vi vid +he ck +d ella +sy mb +je opar +la ger +à ª +comb ines +ne c +br ay +flo p +tx wx +jo ys +pon t +pro found +sur round +mad hu +ma ble +ay r +te as +n sa +open ly +er nest +ãĥ © +to po +g na +anti oxid +ti an +e tr +c ello +ma thi +gener osity +b iting +man ic +kel sey +chee ks +ten der +w th +pron oun +ultimat ely +gu sta +ari anag +ger ry +ble ed +red dy +mic h +mitsubi shi +oper ated +sex ually +ma u +cl lr +vi ds +co c +mel ted +ðŁĮ Ī +q ld +ite ch +instru mental +end game +ðŁĵ ĸ +ener gi +brow nie +tam il +at in +domin ated +pra ises +fire place +sens ational +men a +k arti +un prece +ru pt +ori ental +mc cor +tour naments +scen ter +re eves +prescri ption +sam e +fra u +tru ffle +em bo +roman s +bla sts +techno logical +pr at +b sb +y ar +tren dy +ac l +al ad +ðŁį ģ +o hh +bankrup t +tho ven +regar ds +is er +war wick +vine yards +real m +niallo fficial +do ta +ge mini +to do +v able +¨ ¨ +la u +wre ath +ju ve +nat asha +le ver +lor i +hor ser +cc tv +air bnb +es anders +sin clair +ema biggest +high school +con test +optimi stic +t te +ðŁĴķ ðŁĴķ +ss d +ye e +hel ena +con sen +ric ks +jes se +an ic +ðŁİ ¯ +re acts +ro be +independ ence +vol tage +m ington +s ant +à¸Ļ ภ+-------- -------- +sentin el +ke tt +rehear sing +aaaa aaaa +sof the +stir ling +sear ch +wi gan +stand out +sna il +pent agon +Ä ģ +ch lor +cru st +net any +chemi st +disapp eared +ric ardo +sp iders +bo se +war ren +me ssing +bann ers +gu el +par ach +ma id +coun ted +epi le +bon fire +speech less +se tter +meas ured +rejec ts +nik ki +le ster +foren sic +fab rics +alo ha +pre served +wat ford +deta iling +dar th +bo u +car ly +... ' +tail gate +noti fications +å ¤ +pas sive +trous ers +balo ch +ro ther +typic ally +à ¥ +sp it +wi z +sic ily +technic ally +ex pose +st age +hu bb +cre am +cap s +po ke +sle ek +ju ne +tempor arily +de z +awak ens +l ame +_ - +ji ha +tues days +advis ed +advis ors +exi sted +dis agree +news room +lo sers +world tour +dr ying +al di +har ness +foot print +hobb it +p mln +i ro +que red +asse ss +gaz e +sa b +th ian +í Ĭ +ti f +ob serve +ev il +dra wer +swee p +cor y +co dy +kyo to +cal lum +n inj +lau rent +be i +sket ching +custom ized +du r +regre ts +knox ville +ìķ Ħ +mess aging +grac ie +abun dance +bi dding +bre wed +fl ouri +therapeu tic +alt itude +ho gs +bur ner +elec tro +wonder fully +he ater +post pon +li very +r all +ad as +a ac +sau l +brook lyn +play house +âĻ¥âĻ¥ âĻ¥ +char itable +in y +z ah +compet itions +be av +plu gged +o is +do om +astron om +speci alized +max i +ta ps +cellu lar +depre ssed +folklore thursday +cri b +e mul +ë° © +fi gh +ru z +car lisle +spe ar +side walk +de i +depend ent +lac es +nh s +ðŁĮ Ļ +reali zing +net work +ric he +re gin +re fresh +st ral +pa thology +pla id +psyched elic +hin d +u ka +algori thm +lin king +progre ssi +fe y +d ade +hydr ated +b ant +fam ed +cot sw +bo ise +as c +rac ing +ja vier +ww en +mar lins +poo p +swe pt +toni ghts +we f +ani me +slo vak +âŀĸ âŀĸ +cla us +lem me +cli ppers +re ls +arianag rande +r te +ko t +thal apathy +hungar ian +zu ma +y von +is u +jour neys +clin ics +be be +ww f +n ws +super heroes +er it +sle ague +identi fication +mo tto +ba i +sour ced +ill er +ap i +pri se +unprece dented +dam as +tuni sia +dra in +undere stim +e ther +quarter ly +rewar ding +al ham +wolver ine +cab ine +hyp no +nad ine +hav ana +da e +ðŁĵ Ī +dr on +read ings +b ati +pic o +mer ci +iti an +wal kers +el ope +mi key +god zilla +bur lington +abu ja +social ism +at ility +sh ell +harry potter +g no +ab ur +re leg +fel ici +ro gen +neuro science +inst in +ath am +vou chers +j arre +fu se +def ici +monte rey +de port +mid day +pp ard +fre ed +ame ter +wil t +n ingham +pr att +liber ty +slo gan +o to +pr i +co ated +c pd +ne tt +il las +mal awi +evol ve +accessi bility +ðŁĶ¥ðŁĶ¥ ðŁĶ¥ðŁĶ¥ +or nament +b p +el is +son line +chi ro +fl ick +ib m +ar ak +en ables +gar land +san e +cu ties +tri p +rotter dam +n ys +lam ps +lu cas +bo g +ra ils +travel led +hic ks +en u +sab ha +scru b +hi er +hart ford +fo o +fer nandez +tre vor +mat tress +appo intments +ale j +fe i +o logist +saf ar +oc ta +sr c +sha un +ambi ent +dri c +bi ker +she e +must ache +h ta +bo one +her ty +car dio +bra kes +rec ital +consi sts +overwhel med +cau l +robb ins +im it +al th +ur l +bi bli +on ne +black livesmatter +diffic ulties +tel ang +tall er +ðŁĵ Ĩ +deb ating +bur rito +mo vember +strength ening +bo e +te stam +mirac les +base ball +re nee +ðŁijī ðŁı» +al fa +âĺ ĺ +unstopp able +ec s +g mo +giftide as +path way +fen cing +ðŁİ ¤ +b ham +ra s +sk o +d led +thel ast +magn um +bin ary +wil de +wil der +wh ati +barbe cue +h ism +can oe +kur di +eli ve +advant ages +mad ame +bi er +mis sing +enter tain +air force +y ama +c is +hash tags +j is +ve il +dream y +ten se +may ward +ch ateau +hunt ington +âļ ĵ +v all +up on +bl ouse +dun es +ðŁĺ ´ +fert ility +m ole +curren cies +st u +ber lin +toa sted +div as +wal t +lar k +por a +hit ter +um er +chil led +bal ancing +fa is +y in +or tiz +east enders +h ate +ur al +ap ril +tim el +à ± +per o +sto cked +respec ts +th t +best friends +giving tuesday +be ad +inv ent +im i +nap les +comb ining +tok ens +thir st +ma sc +par rot +sp u +dent on +* -* +t res +subur ban +wid th +si ve +con tender +siri us +lo k +troop ers +outra ge +tur bo +frag ile +me ssed +do h +disc ord +netany ahu +re sign +forgi veness +mo han +mun ch +cam ou +identi fying +enab ling +hot ter +thorn ton +jai pur +ar ya +ðŁı» âĢįâĻĢï¸ı +mu staf +maj ors +o ke +du ffy +roh ing +til t +ðŁĩ®ðŁĩ ³ +rock star +she ep +hend rix +ra v +in vention +do u +lagun a +gru mpy +sw is +im pe +) ' +you ths +bun ker +st ache +oppo se +indi es +acceler ate +ml p +ed en +w ann +k ail +akshay kumar +su pt +pol ym +midd leton +extra ordin +wil son +australi an +alumini um +way ne +alum nus +mat ics +gri m +er nie +opp a +competit ors +rand all +h ence +decla res +pre aching +sha he +can e +sustain able +stap les +le dge +ad ena +doctor al +bur gundy +decor ate +ren dered +ri sen +pr ank +di or +bee thoven +flo or +ac com +to t +ho dg +touri sm +say in +objec tive +mar kers +premi ership +en abled +camou fla +gi ant +Ñ ģ +smo key +ric ket +pan g +de pending +s ation +evol ving +inter cep +cen sus +tof the +re en +mendo za +trum pet +marke ters +an it +ðŁĻ Ĭ +north western +v la +foto gra +blackand white +che wan +wi g +tro om +ginger bread +k n +ro mero +n fc +or chi +fun ko +sour ce +f s +ra ped +o st +tar ot +ann ually +ðŁĺ ¬ +r ill +del av +.. !! +se s +can n +medic are +ph el +ape x +guardi an +rema ined +r pm +a ñ +story month +instag ood +neighb our +p ing +sem ite +my stic +as cot +mat er +hand ful +dang ers +ti d +ana heim +opol y +sh allow +nami bia +tor ia +procu rement +big bang +announ cements +prosecu tor +beng als +sal le +en roll +ga stro +sugge stion +ba k +ha ul +budd hism +berni esanders +flu te +fati gue +cyn thia +cho i +ir win +gu a +str ous +h p +ba p +satisf ying +play a +ðŁİ ¼ +inst ap +al ice +t p +irri gation +ðŁĩ¬ðŁĩ § +in tric +clu es +ple x +sa x +he pat +dump ed +signific ance +by u +medic ation +pro v +tough est +corn ish +âŀ ľ +kel ley +u v +si zz +si bling +me st +di stor +diplom atic +aun tie +b hat +son ic +bren da +pump kins +ro ch +black burn +ur ged +shi a +arrange ments +floo d +sa unders +lec turer +nou ri +popul ations +diplom acy +consist ently +ðŁ¤ Ļ +t mund +cauli flower +l ily +vocab ulary +vari eties +coo ker +up town +qu ent +mo sa +re inde +velo city +spru ce +social medi +i ber +volun tary +proce ssed +bal tic +y ang +leban ese +d p +dol ly +arrange ment +y uri +cran berry +kal yan +elev ation +cli ff +pu shes +ìĬ ¤ +sil ic +co wx +eter nity +sla ves +vine gar +glou cester +con tained +breaking news +aga inst +renov ated +norm andy +hero in +ys m +mo ds +gre ek +un di +tren ch +v h +encoura ges +head ache +gr ange +: ' +ever green +Ù Ĭ +reck on +ab used +th ru +cho ice +ti dy +col der +scho ice +ha in +bru m +li ars +bre it +yor ker +sh ack +he idi +micha els +sco pic +fasci st +play ful +ca c +yas ss +sh ad +.. ? +qu en +ram irez +clif ton +pr s +best fan +âģ ł +gener ating +head set +disappo intment +abstr act +bo iled +paren thood +azerbai jan +exhib iting +bom bay +oli vier +ko so +un lea +mat ernity +iz er +si ves +r hu +col l +saskat chewan +fre akin +de k +na g +stab ili +ðŁį ķ +organi zer +bo sses +ar u +u va +at able +ta un +after wards +fert ili +ver ge +az i +mor ph +๠ģภ+jer k +cosme tic +ko w +stru st +ap ache +post cards +for mul +ì ĭ +spin al +jack pot +elec tri +Ã Ń +lo y +gra der +diab lo +ar di +he sit +f w +arch ery +pa sh +the ories +repe al +re live +per cy +âĺ Ĩ +im in +syn chron +sham poo +coup ons +o to +la i +thou ght +luxembour g +mo v +ðŁĺ ¥ +ge mma +se ated +m ga +strat ford +un certainty +shi fts +est o +fo ol +fire arms +cor rie +ki ki +appa rent +p ills +olym pia +fi d +elev ated +de cks +ignor ing +av alan +ro v +whist le +p tsd +milit ants +robo tic +pac ers +quil t +bankrupt cy +lic h +per cussion +celebr ity +al s +( ; +su t +pokemon go +h g +off s +gibr altar +scre ams +billi e +gen ome +mar in +be ams +arch bishop +em in +bedro oms +g ated +ol ly +warran ty +at own +cudd les +gun na +k ic +vi ve +cy mru +nar row +pro b +le o +refe rences +manufac tured +cho pper +brun swick +sem is +don ia +r ye +man o +hur ting +? # +hol li +investig ations +c els +ðŁĵ ŀ +le ster +temp les +sto rey +mc mahon +toi lets +wo of +ï¸ İ +le verage +at om +night mares +victor ious +haun ting +custom er +ag i +yo ongi +mon ty +ver onica +w ur +inti mid +blan kets +volu tion +j m +âĺ İ +am on +jud ith +ðŁĺİ ðŁĺİ +distr acted +dri p +hurric ane +and es +revel ation +tro op +ab leg +col lin +tibet an +wor rying +inter nationally +eat er +camero on +brad or +y uk +ðŁĴĹ ðŁĴĹ +tra k +slo pes +ci er +ne a +ol er +ta ka +albi on +volcan ic +am n +a fi +ob stac +face time +ger ing +n pr +metall ica +organ ic +ðŁĴ ¡ +ki dd +d ances +pemb ro +wash er +m its +om er +emo tionally +tan go +ip o +do cks +scan ning +spec s +tho m +the ology +emer gen +om i +g pa +selec tions +un necessary +ima ge +ter s +induc ed +gi gan +rent als +supp lied +m fa +shan kar +lat er +pa jam +cla ve +Ù ģ +ma hin +carl son +avi an +ano va +kati e +aj ith +design ated +chocol ates +investig ators +gla zed +prin cess +er ry +ra gn +ou rable +hr u +sun dance +peuge ot +steam punk +gh lin +gre ase +hi res +z ap +per ce +j ill +tom e +he hehe +joy ful +mae stro +ni shed +gene alo +v ich +p its +fox es +good man +emer son +lo bes +con verse +o ats +thom son +ra him +mal ware +ah i +man kind +re sin +im g +sw ood +kin der +sc roll +ar a +sak ura +ro bbed +xi on +ny a +c ism +ce dar +be in +mour ning +tor to +heath row +done gal +bar b +hydr ation +k or +elim ination +su pdates +hill s +appe ti +star red +ko m +gw en +dd d +cra y +sc anner +personal ised +seren ity +re design +meta ph +box ed +judg ment +no se +ë ¹ +er ad +ac ne +supp liers +ener getic +v om +as ap +ðŁĶ ¸ +ir vine +hat ch +la ss +ad ren +waff les +accur ately +ici o +itt le +se un +occup y +web cam +thene w +ent es +ga i +j w +accoun table +vis or +ir rit +licen sing +hudder sfield +gen ie +ðŁİ ¾ +atmo spheric +ten sions +spart an +clif ford +ol an +north bound +ame en +cen sor +u el +ster y +$ $ +far rell +hy ster +cl t +se dan +rep lied +descri bing +micro wave +sla b +pro sp +assi sting +ru bio +e than +hh hhh +gu ay +z man +ra ise +roll ing +o e +n ile +ambro se +scar borough +hero ic +coo ks +mor t +chop ra +ðŁĮ · +to b +shav ing +stac ey +dor m +motor sports +wi ki +fol ds +sp iced +stress ful +liter al +fu dge +pe ggy +wa ite +tre sses +se sh +pr ic +ðŁİ ħ +fri ght +r va +mumb ai +po m +tt v +cel lar +tom e +andro id +dor is +tsun ami +tin der +o ec +m wc +dor tmund +no thin +l iti +so u +believe in +at u +kno cks +mag ni +ss sss +ro hit +ine ws +ang i +m andy +ke ttle +intermedi ate +av ant +cur l +endor sed +ori o +ur t +consider ation +wi res +shel ters +b ino +vik ram +imple mented +ly dia +bu k +paro dy +c news +under graduate +canu cks +sam i +polit ically +ro tten +gh z +tex tiles +over load +moder ni +recre ational +fli r +bat on +typo graphy +ov ation +intrigu ing +pilgri mage +al ge +ad ays +tcm party +sp elled +cur ls +boo ze +ste m +ann es +ir ls +spon ge +sho pper +sig nation +bra ss +mi stress +le ah +beg inner +lau derdale +augu st +pre school +ta ping +tai pei +execu tives +b d +rhe tor +esc or +immun o +deeplear ning +stat ues +it us +manu script +ly ric +cor vette +mol ly +la ge +de p +cn bc +le st +je ssi +fi fe +griff ith +oppo sing +ran g +dr ills +respec tful +p ity +d ell +har ding +play boy +blo ke +shut out +k ili +o sp +se attle +bc poli +mis es +journ als +team ing +es ther +fre ddy +Ķ ï¸ı +metr ics +no tre +gar ry +for ty +navi gate +perio ds +bened ic +j id +da w +ance stors +restor ing +con g +aller gy +tit anium +c ence +lean ing +ab bas +v ast +uc f +roof ing +e man +seve rely +vo gue +ve au +in bound +d z +tane ously +stret ching +man chester +dr yer +dav is +kan th +the game +it ted +re tain +el les +conge stion +frat ernity +ol lie +lo ki +fre ely +cho o +pon y +sc ep +tab ly +bal t +rock n +di me +lo gging +ðŁį · +ad u +ha voc +water ford +char is +swee tie +run ning +ner d +erdo gan +z ara +weigh ing +fif ty +pre cise +low ell +kurdi stan +r yo +or th +syn th +lin ers +phenomen on +art illery +il legally +constru ct +nostal gic +gar th +al ta +shel ton +a sean +w ander +dur ban +di versi +bon o +cl on +le man +sh un +obstac les +appet ite +fe eder +respir atory +di xie +formu la +an to +so ber +extin ct +au c +ing les +legitim ate +; ; +min nie +ipsw ich +dram atically +ðŁijı ðŁı¼ +ingh am +milit ary +mon et +us navy +for k +dun no +play er +q otd +st oo +ex or +ethiop ian +film fest +pe red +c ate +sau di +in ner +sin cere +tion ality +ale e +de eds +cooper ative +ir onic +cro cod +br ary +post season +cam per +can ary +e in +exten sions +nb d +sher wood +spo kane +hu mp +jit su +ê ¹ +dar yl +p si +stab bed +offer ings +expe cts +cav al +body building +fr aming +f ca +ye arly +bom bed +sk il +resear ching +jud iciary +gree ted +tu dor +mil o +innov ate +ðŁĺ Ľ +r hs +ru by +contribu tor +fam er +soci ally +m lin +fi ery +ut ter +beau t +it os +de voted +rain bow +bar ney +pe ren +ar jun +r na +gab by +ut i +hann ity +pick le +ser v +qu akes +pp e +fe m +wh itec +j n +victor ies +ðŁ§ ¡ +gol fer +congratul ates +resul ting +mechan ic +ur ve +cen tered +kie v +an s +in cub +< < +c mo +bestfan army +dap h +en ham +on cology +ku sh +t xt +ori ented +fashion able +c sr +sa hara +r ack +pd p +han son +ภĩ +ti ers +ra r +pan am +in sky +sa hi +testam ent +asth ma +in her +fisher ies +or der +ho we +gall on +ep is +suz anne +drow ning +paneli sts +ðŁĺ ² +ë ¦ +al ach +commemor ative +at tribu +ðŁij » +mo o +visi onal +week sary +gu st +ak in +poin te +ee e +di spar +ni pp +dent al +st all +pi an +bor e +ul ster +tic k +ir r +tae hyung +micro phone +bermu da +ga ard +el er +plumb ing +hu gely +âļ« ï¸ı +race way +cam bridge +mar cel +burn ley +to ast +holly wood +fa sting +me red +hib ition +ca pped +benef icial +ow ning +cont amin +arab ian +to on +cap ac +hul u +sm ir +nutri ents +se in +graph s +con ditional +ðŁij ħ +or ac +play in +nor the +tor nad +mar ian +ju mbo +lex i +incredible india +road to +uk one +confu sing +sp h +shan k +pi ed +mq m +positi vely +sher ry +path ways +consi ders +tof u +argu ments +resil ient +che tt +with dra +ter o +ated ly +sw ana +he b +fli ght +har ley +decre ase +kind le +book shop +³ ï¸ı +marty rs +sm ur +mc cl +concer to +sti me +rejo ice +app lau +cle ment +mer kel +jai me +im mortal +isle of +mar co +youtu ber +stal king +me too +st ack +sp ouse +u st +lu v +âļ¾ ï¸ı +eque strian +ev ing +fl in +nick name +the big +as ar +st acks +wal ker +bor a +kidnapp ed +hur ling +humb old +rec alls +co pper +ann is +se o +mer ger +mu ir +ad dy +ðŁĴª ðŁĴª +be x +cr acy +con an +congratul ation +mid st +âĻ ¬ +for bi +op tic +cr ate +crocod ile +mad agas +secur ing +ast on +o gue +savi or +salis bury +love it +fuji film +cast les +as st +ar rows +sp acious +tr s +poly vore +progre ssion +m ri +nel son +bi m +indic ator +o da +pe pe +re signation +gu t +sne aker +log ically +az y +are lla +te aring +jo shi +ssion ism +q pr +mari ah +p x +ble ed +mi an +med ley +we iss +ker ry +gat ory +at al +madi son +av enger +nab y +pl and +gi les +fresh water +d ington +ta j +demonstr ates +n tv +bul bs +sunday morning +pe ake +souven ir +wa h +ton nes +m kt +complex ity +con den +ross i +b ing +y ds +su k +n go +mid land +ol y +life is +ri pple +mo reno +dd ers +tu s +á ĥ +bou l +x a +hol dings +wn y +shadowhun ters +ke i +asp ire +m ous +ow en +so ak +skir ts +moun taine +stor ming +ch rome +ri ots +sar ato +amaz e +less ness +nav ar +crit eria +ra fa +indul ge +ay er +por to +nam o +........ ........ +yi elds +val le +j h +mac ron +sa ins +dur ant +tra ilers +wo t +confeder ate +sh rin +id ol +form ally +ten e +motor cycles +than g +no de +bang er +dal y +p ats +enroll ment +au ctions +at al +ar bor +lo gos +de arest +trans action +dom ingo +fle a +ser mon +de ck +sin cere +questi oning +juli o +was p +pre tz +armen ian +k ham +inflam mation +picture sque +acci dental +film makers +ðŁĺ ļ +ðŁĴ į +ca sey +so b +yee zy +good will +parag ra +ss ly +fe ather +dy ed +assassin ation +na de +b cs +app lies +femin ine +fe u +ext ent +depu ties +l ack +psy chic +go i +kill ings +pse u +ðŁ¤ ª +un c +mar l +tan e +mck enna +sur fer +influ ences +free way +hack ney +mal aria +el and +te au +rema stered +Ø ± +raz or +gg y +cor ro +lak sh +fla ir +honest y +hoor ay +de pp +am c +wedne sdays +q a +ed its +- $ +se villa +dou bled +human ities +c cot +som os +r ine +af a +si oux +re construction +wel ding +th reads +am ish +encoura gement +po der +bo ck +bal m +p tions +stand up +accompli shments +guar ding +convic tion +ac ion +napo leon +depic ting +att ack +su i +wear able +âĸª ï¸ı +pot ter +esc ort +vis e +to ts +bo on +event profs +angu lar +womenshi storymonth +bar row +sch i +ac comp +ti k +l end +kensing ton +wol fe +st acked +cra shing +exhi bit +wing ed +sab rina +ma sa +k ms +alway s +et t +pla sma +counsel ing +pick les +nfl draft +mr s +inev itable +coura geous +staf ford +writers life +ho s +e j +gh yun +trade mark +adri an +influen cer +coron ation +ra ging +explo red +usa f +excep tion +eu x +tan ker +sw ami +pac ket +ðŁij¨ âĢį +f en +she en +a ero +j l +re gal +nw t +au ster +meh ta +char ge +a ste +b ate +inf eld +racec ourse +collap sed +fle ece +z il +al lie +alternati ves +geor ges +ðŁĵ į +quir ky +fc b +nat geo +philanthro py +bra i +every day +ðŁIJ ° +ach ers +ja an +fin es +q i +fisher man +distin ct +gri mes +nation alist +comm ence +ro wn +âĢ ³ +z ing +f ter +hr w +baro que +bl ender +kitt y +hoo ks +c ited +w anda +consen sus +reinde er +an and +supp ly +me ds +v n +ol ph +rat chet +shel don +secur ities +ë°© íĥ +cro m +mosqu ito +j eric +im mac +dimen sions +â ¤ +di ssi +sponge bob +dami en +steven son +jo anne +del ish +yi kes +than x +surve ys +postpon ed +alco holic +al ised +ðŁĻı ðŁı» +do ch +sen tim +mered ith +com pares +b ago +happy days +mo ss +ãħ ĭ +ne c +gn ment +frustr ated +comb in +ri v +ec lec +col lo +compli ment +actor slife +ct to +nic ar +op hon +apar the +man t +ja de +trol ley +optimi zation +eye on +eco logical +qui st +ep he +ॠĩ +cin co +appo ints +old school +c pr +behavi oral +min aj +:- ( +tag ging +ev al +jo aqu +ðŁĺ « +ha k +de me +jama ican +so s +hy att +hand book +libr arian +hanni bal +pump ing +ch om +f man +ga i +hu ll +respon ders +green ville +n us +vau gh +ðŁİī ðŁİī +ta xi +gold berg +man tra +te ase +forbi dden +metho dist +ati vity +* *** +ec t +mc gr +Ħ ëĭ +se b +amid st +disapp ear +thy ro +phili ps +er ina +v icious +stream er +million aire +ma p +str ick +hack athon +gh a +ed ic +mi ka +pe ck +ill i +anto ine +ar ca +op tic +ma ure +ðŁĩ¦ ðŁĩº +cla shes +man ly +âĺ ģ +al var +and res +me i +el m +ww ww +al tered +l te +ê¹ Ģ +mo jo +for rest +thal ai +non t +spee ches +acknow ledge +ign ite +x factor +ðŁ¥ Ĥ +mead ow +disru pt +debu ted +scrim mage +pharmaceu tical +fi dd +found ations +philosop her +et al +publi shers +bo ys +c ke +ru gged +opti mism +re be +phil harmon +nar cis +ral lies +lu is +go blue +fol ded +un acceptable +optim al +li sa +pol aro ++ . +en za +âĿ £ï¸ı +mon opoly +grace ful +dair y +du a +diffic ulty +judge ment +o si +mer sey +flu x +new found +ter ns +dimen sional +in vic +al ba +am it +abudha bi +alger ia +autom obile +the ad +lo tion +acceler ator +vac ant +iti on +lu f +al ic +pl l +bla zing +ba z +sen e +ðŁij ¼ +villa ins +direc tory +eis en +to ck +broch ure +ri pp +hb d +zayn malik +nic he +lo lol +certific ates +mor se +fac up +x ham +un wanted +im ports +carne gie +fan sign +mo u +r alph +destroy er +sw ing +trek king +cili ation +pit bull +g aps +ho well +defin itive +mc le +f ps +et z +bol ly +lyn n +gan o +at ure +fur suit +co il +na v +but ts +tro jans +eu re +en ko +sch umer +horri fic +install ment +br b +subur bs +a bel +vi r +de sh +cun ningham +ðŁIJ » +span n +sch we +ke mp +tr u +ste alth +qu es +le w +deli ghts +ko ch +hu mili +cr iti +il t +sp ells +mi ley +car ic +ðŁį ´ +lc fc +substitu te +oun g +? !! +af fir +predic table +class of +er r +cy press +chand ra +age ing +__ __ +ther land +don caster +el in +yo shi +sail ors +har ris +jo anna +niger ians +h ers +pla gue +pro cra +k no +can ton +busine s +un h +pra kash +c in +bow en +co ating +m als +be gging +smith son +ponti ac +sp ies +dam ian +pl ine +und ant +al ta +one ss +shame less +da q +bb m +wal es +stam pede +ser um +Ù Ĩ +cataly st +x n +ab sc +free zer +ch un +ari os +mc cre +fore head +he ars +damas cus +tac oma +ardu ino +encoun ters +stan ton +lg b +ab as +" .. +ke te +drac ula +ele m +g ne +zepp elin +la brador +pul p +op tional +or n +russi ans +san itation +hil ary +etsym ntt +pen alties +au st +ig ans +olympi an +medic aid +vers ace +va pe +re stra +pe ep +sexi est +st alls +di le +the a +punjab i +pupp y +tuesday motivation +ðŁĵ ļ +the flash +roc ket +mo dest +chihu ahu +on na +k sa +hur dles +ca ve +fail ures +sp lit +bo ho +gur l +disappo int +ho ward +nug get +fran z +stal ert +kaz akh +for getting +sch ri +ag ate +am at +eve rett +du et +veter inary +juli an +ch ills +bra ve +ghost busters +lan do +gre ets +profit able +d é +ti r +ze e +om en +pd x +gray son +har i +fix es +stab bing +swim mer +symb ols +compli ments +po se +func tioning +th nx +gi r +corpor ations +bar low +lo e +off season +distin ctive +marvel ous +nik on +enri que +ky u +ja ws +amo to +lom bar +travel blogger +fa h +ouri sm +tri stan +so e +ce ase +ðŁı ħ +z ac +mck enzie +taxpay ers +swim suit +bl o +les ley +kan sas +w ks +ki el +provo king +my les +str ing +kangar oo +galac tic +fif th +s ke +we ir +ll is +mat ory +ðŁĩ ¿ +un ci +re productive +roo ting +ti des +gad get +.... ...... +alex ander +bow ler +scre w +apo log +eri ka +wal ters +shet ty +lan e +ban ter +as ant +me so +v ain +" "" +us i +fer din +accomp lish +man sfield +bom bar +collabor ating +cla p +it ure +s da +smo ky +na k +im person +car la +com ra +bur gl +lo co +ti es +in hi +trac ey +se is +diss er +rr rr +dra y +prote ct +cor ona +hun ger +ck en +c eli +trou bled +predat ors +fic tional +shav ed +riche st +metab oli +ful ham +gro oming +mono chrome +wa sting +as co +ast e +ti sta +remedi es +ung soo +south end +perman ently +bu mble +procra stin +ident ical +practic ally +ma scul +su ke +assu red +val erie +devi ant +grizz lies +thi er +pur a +ne pal +not ts +bil ateral +spo il +car mel +cine matic +ph l +ni fty +ma o +hypo cri +la ser +pan try +mathemat ical +el isa +coordin ation +bel mont +a it +radi ant +bo iler +man g +f ag +cr c +h ams +br in +â¬ĩ ï¸ı +famil ia +âĿ £ +sab er +ru pert +gg an +rit z +mic h +sal ford +le vi +gra l +ðŁĴ ¤ +n ino +ce d +business man +ul tr +sim ply +compre ssion +pa ins +hal t +ë°©íĥ Ħ +landsc aping +n f +croo ked +er d +itt in +ddle ston +sur passed +ino a +da g +bl en +exten ding +at ing +al gae +ball er +u mar +snoo ker +col lu +flo wn +thu b +ridic ulously +ki sh +op le +di re +as ser +ari sto +sc iss +h ating +trou ble +syl via +suc cul +plo ts +sincere ly +al er +laure ate +br ack +att n +rif les +me to +collec tible +cu omo +conte stant +consist ency +ant z +rang es +abig ail +de b +mini ster +grow ers +an oo +hoo ver +dream er +nu cle +resear ch +mi y +sha hid +ma v +d honi +cin i +do j +hin dus +part ying +dal i +alon so +inform al +clark son +it ton +ki an +cit yo +mor i +la sted +as pen +libr ary +susp ici +qu at +den ial +fol der +ch ori +swee ping +eni x +ðŁį Ĥ +Ø Ń +nas car +handmade hour +mou l +heat wave +em er +exam ine +ib n +gr ind +po v +tion ist +m bo +she ila +integr ate +om es +take away +cer v +con nie +tic ket +ce led +bi en +visu ally +madagas car +sor ry +gu i +park run +tra its +la be +pois oning +à¥ Ģ +vi able +bohemi an +denti stry +bad os +spr outs +mask ed +te ddy +ðŁĺ · +sa f +sa as +ji ang +ti ght +spe aker +withdra wal +bc n +as signed +class rooms +fle ming +ðŁĴ « +super girl +tot als +table top +e books +horizon tal +cra z +flu sh +j ard +c dc +er son +ãħ ł +green wood +ni h +co x +ad a +lit re +go ing +v icky +cur ved +lou ie +gra ins +hy e +lon ge +reme dy +tra inee +san jay +super stars +ma ser +man u +s age +wh l +ðŁĺĤ ðŁĺŃ +ðŁijį ðŁı» +m sd +en z +rab hu +j oo +gh u +ac er +e po +resurrec tion +justice for +bl ended +mo da +avalan che +france sco +re spective +g s +ye ast +wel ch +devo tion +ge tin +athe ism +am ic +carol yn +lo c +ld nont +ave c +us da +le gged +bra very +b lower +cow boy +he h +sti ble +buff al +chann el +run chat +âĺķ ï¸ı +ide ology +best seller +y oo +pe anu +bon ne +fel ic +edi son +fr actu +naren dra +pp ets +seym our +ri viera +he ctor +necess arily +bi anca +soci eties +the best +w g +sent ences +win k +vacc ines +pal ooza +jam ming +as f +mp us +agre ements +ec k +ba c +hon ore +com pul +wild cat +im posed +yo ga +hud son +can celed +l ich +fu zzy +es que +ch uk +w vu +se k +fli pping +r hon +wi shed +wh a +cap ability +len ovo +ìĨĮëħ Ħëĭ +vi vo +tv d +nor a +sil k +pas adena +yo semite +valu ation +clo cks +u ber +mr c +dar kest +au bre +ss o +bell y +wrest lers +kill in +lou der +buck ley +ge el +ad on +un s +appe aling +ðŁij ¯ +semit ism +list ens +fit z +ãĥ³ ãĥ +ny lon +ar ty +seem ingly +hal a +su ited +et y +she ds +mu ffins +ap ric +um ents +u ta +jam mu +chelse afc +star z +yo ko +roo t +clean sing +di ar +pione ering +ihear tradio +dig iti +fin dyour +can o +ðŁĴ İ +z ol +spac ecraft +six ers +moi sturi +b ile +ti sts +hor ton +rang ing +colum bi +mete oro +senti ment +ep l +foo th +text book +drain age +r ly +sc ue +imran khan +ðŁĴ ¸ +margar ita +ed dy +predic ts +gamer gate +advis e +growth hacking +love you +ug and +v f +beng hazi +s later +ne wor +ch el +independence day +p np +cul len +hoo dies +num bered +brit t +t sa +kl tu +s ages +mom o +onep lus +col l +gu ts +w ta +mesm eri +enh ancing +chiro prac +j is +teen agers +m one +constell ation +sweep stakes +e ze +slovak ia +la ye +pear ce +wa ver +po gba +k ron +sur geons +mar x +ti d +gg a +desc end +p ours +upri sing +wal la +sab bath +bachel ore +mack in +k am +peter borough +hor a +ðŁĮŁ ðŁĮŁ +think big +r j +hy drau +sp al +univers it +ðŁı ī +mail online +league of +ten ants +w ally +lan ce +heav ens +dd r +bol ts +am ir +i phone +ci gar +en du +re i +el abor +r inging +john son +characteri stics +sal oon +algori thms +tal kin +m tn +di ve +region als +ff ice +hat i +deviant art +so tto +shir o +l ama +k we +f aded +por ting +tu mmy +est ates +buen os +ðŁ¦ ģ +beli ever +pen etr +dar n +sp ite +can opy +fashi oni +t illa +pet als +eli jah +bra wl +marty r +ë°©íĥĦ ìĨĮëħĦëĭ +mid town +eric h +d apper +sm town +me gam +ww w +le le +on s +cat fish +fir th +fossil friday +ball park +th aw +pot ent +illi e +cre ep +car p +so ap +gun dam +infe c +yy yyy +ठ¨ +z ag +rit t +calcu lator +bo ca +ok o +to ad +threat en +refin ed +olym pic +accompli shment +bacter ial +a ji +tat um +feli z +she ed +j at +th ic +jam al +ðĿ ĺ +lin a +ðŁIJ ¯ +jo king +yot po +pin ch +ak ron +her b +motiv ation +li a +ho stage +cre ek +gam ble +russ ell +patt i +fo tos +c pc +bro ken +back the +cla ys +u mm +stock ton +mat ernal +ü r +la kel +cent ury +be k +infe cted +ภ¡ +smack down +man ned +ta hoe +sm es +bas a +su la +augu sta +. * +rohing ya +gre ed +counsel or +silhou ette +gra vit +cla use +' - +bo bc +occa sions +now adays +dic tat +be ard +n ally +brigh test +kab ul +inc india +dhan ush +archae ological +che ape +mizz ou +d hi +ov ski +bax ter +asse mble +à ¢ +gi gi +ac am +wis ely +haz ard +north ampton +âľĪ ï¸ı +me th +bla sting +re unite +mu lus +ali zes +t read +mil a +ed ward +ko va +pe sto +ðŁij ¶ +vit z +hydrau lic +refurbi shed +mo tel +isab ella +hom me +sever ance +uph ol +mis erable +f ari +lat ter +ef er +crack ers +es l +ac io +yy j +in an +ec b +z ind +pan as +tru cking +re ed +sh aker +burge ss +em pire +ag nes +n ington +art works +fr s +ti le +bi ome +eu n +ch ong +americ ana +god father +go blin +i shi +! ). +temp ted +gen omics +mand ate +ck y +ðŁĴĻ ðŁĴĽ +som ali +br andy +in ven +spoke sperson +pc b +yu an +h g +fa z +starwar s +ro wan +blue grass +don g +d day +trin idad +er ton +ban ning +re tention +cu red +tober fest +re set +we is +deta ched +behindthe scenes +immun ity +ph a +bra y +ðŁij ½ +ran cho +ram say +est onia +nd tv +] . +cab aret +tar o +d v +show cases +plu m +ðŁij ¸ +son oma +pre pa +memor ab +e stu +drive way +u les +magn us +x r +nn n +much as +en ge +stre amed +fore stry +audio book +tro y +reck less +kil om +ru ler +ra k +proce ssion +i ons +po ole +noc tur +wh s +farm house +per a +par me +hypocri sy +s ics +v ant +cas k +holi stic +au st +Ð ¿ +in do +ðŁij© âĢį +di so +disp atch +ol sen +make it +en nis +cent re +ar range +ðŁĮ ¼ +sal ted +ea siest +f ate +reg atta +mo zz +ac an +sin i +g ically +ch ops +chick en +work in +ha gg +invol ve +wee ds +book day +wake up +ky r +michel in +fu ss +re juven +vac ancies +incar cer +m st +sc ents +sovere ign +kick er +à § +bo d +âĢĶ > +sa h +mob il +shrop shire +oph one +dress er +mis suni +hep burn +i mo +foli age +diagno stic +as san +cycl ing +guil t +c sa +puertor ico +win elover +wake field +do ggy +k he +pa pp +co g +al lot +cu ck +poe tic +mi o +re vit +mag ician +ç ¥ +ant enna +west wood +mber g +lux e +oat meal +Ø ¬ +te at +ffe e +sear ches +l ly +plu to +el on +let tering +inno cence +fa i +ann on +telang ana +ma it +neu ral +can ni +ar oma +a stor +fe x +co cac +mon etary +f ent +un sure +' @ +indi rec +teh ran +isol ation +li bs +make up +merce des +ff y +he tero +de o +sco m +cur sed +veteran sday +franken stein +shre ws +de co +ge ese +lefto ver +ha did +vari able +acade mics +carol in +under going +vari ation +na h +ssi er +gamer sunite +pur suing +emer ged +ll ers +control ling +ro aring +mete or +vol t +daw gs +be aver +is life +bathro oms +aci onal +pre vent +lake district +in als +y ani +gra bbing +sac ks +le z +sw ay +k ool +time s +klo pp +la de +con cord +resul ted +revi ve +recon ciliation +ol and +az z +gir o +mand arin +de en +nutriti onal +is coming +van i +aw www +der ived +love your +stop the +shou ting +nov ak +ðŁĻĮ ðŁı¾ +lo af +displa ying +sunday with +ma guire +ch eri +ðŁı Ł +re match +qu ic +Ú © +y in +ðŁĺ ¹ +ili ve +z ip +our ke +down loads +sw at +missi ss +care rs +t ment +proper ty +hahahaha haha +gi bbs +sur rey +ar ise +tic ism +sti a +ir ling +fro g +co se +bas sist +fore ig +lea u +pil lows +hol la +eli e +disclo sure +peanu ts +inte ch +ww c +plun ge +trium ph +cor i +sli ppers +ðŁĻı ðŁĻı +neutr ality +ma re +hair y +gang ster +hu mming +cust ard +mer lin +ale a +s by +dam p +mo han +ver bal +j st +gu tted +b jor +un finished +ðŁĩ¯ðŁĩ µ +un happy +âļ« ï¸ı +by pass +at su +fis cher +sa v +afric ans +re use +mid way +demo lished +ger rard +her cules +Ä Ł +medic ines +cl icking +sur round +jo ong +wav ing +tri bes +wet lands +offici el +argu ing +l le +do va +su zy +club house +ne gro +ob tain +ga o +gl ance +assi st +ch os +ãĤ ¢ +âĺ ķ +adri d +occur s +st ans +par don +livel i +emplo yed +re visit +ff xiv +bb le +ne aring +min er +ðŁĺ ¹ +giov anni +up to +mar vell +mar se +to wels +cb n +engine ered +y elling +spart an +si ans +ðŁĻĮ ðŁı¼ +se v +coyo te +sta di +t cm +app en +shenan igans +open access +so aked +ma squ +le vine +stro kes +l k +aparthe id +hipho p +char don +may may +ha asan +stri pped +fr o +scri ption +f ton +h f +pri sons +marsh al +ķ ãĤ +an cho +com promise +classi fication +buzz feed +bblo ggers +deser ving +) / +s way +ob o +camp ers +poder nfamily +p oured +bri e +squir rels +se ize +: # +le k +ti mb +st acy +nas daq +repe atedly +br at +mi ghty +competit or +mah one +de si +o ke +bm w +shi e +f cb +cheape st +minim alist +par amount +n ate +har as +insan ity +lat eral +ment ality +mo zam +ta pped +yad av +u sp +b way +the od +bil t +ra ids +em press +adap ted +pat ron +nut shell +ag ra +be aded +sundaywith marsha +vi king +proce ed +main tained +thinkbig sundaywithmarsha +sn es +mus ica +to wer +ch ab +bo k +sm t +insul t +harve sting +windo w +ru ther +be ige +dec al +indic ate +ma iling +ri ft +po le +ander son +ch oral +sp ride +l ili +ev elyn +imrankhan pti +.... " +ke red +un dp +water falls +se ars +le mans +world series +ri el +ani e +app ar +score rs +lam p +a than +phys icians +qu inoa +refu sing +vu itton +unle ash +s la +pat i +shou ts +inten tions +fo amed +europe an +neighbor hoods +me er +man son +du h +br at +con es +bow l +kazakh stan +ठ¿ +in appropriate +del hi +ketch up +ful ton +s ys +consul t +gar field +to go +f ml +f led +b ds +facilit ate +ree bok +selfi e +elev ate +activ ate +bi ble +ca wx +b ys +cam ille +sy ou +sk ool +her t +w bc +ple dges +recor der +po sh +ac re +so aking +mat il +v sco +shoot ings +pla r +e con +ðŁĻĮ ðŁı» +rashi d +u bi +ðŁ¤ ¤ +sw inging +wi pe +rap tor +m su +music video +dur ham +at tic +apar ty +fe tus +activ ation +aa z +motiv ate +ðŁĴķ ðŁĴķðŁĴķ +j al +ठ® +ag on +sche er +stal ker +fo ster +az zo +tele gram +vi gor +s laugh +screen shots +entrepre neu +kri stin +inten tion +ch illi +fr action +don a +ge a +tc u +s ite +la k +em il +d nt +bor o +wil kinson +re cu +ato day +t anya +bl anco +cd n +brilli antly +g cc +ac c +evacu ated +ther ine +den ny +cait lin +she pard +pou ch +hand held +sou theastern +ha a +à ´ +re solutions +led ger +sr in +r ar +shat tered +chim ney +im with +mete or +hand led +ra ke +town send +en han +shi py +duc t +tw x +inflam matory +war hammer +theat rical +gro s +sk ar +sco tty +ni el +tit o +tin i +conne ction +_ . +goldeng lobes +sha q +ðŁı ³ï¸ı +hall way +fron ts +effec tiveness +gla ston +d hs +ex pi +to h +c pl +sc s +re o +ha g +resemb lance +hor an +abu sive +qu er +virtu e +cho lester +a q +shan e +m ce +carri ers +di stress +re wind + ¡ +voo doo +int act +ann o +ðŁĺ ¤ +pi led +adi a +ãĥ ³ +en ow +di gs +light ly +goo fy +turb ine +governor s +con te +re open +pa h +i ve +cra fting +swee ps +jo di +an de +zu cker +kaw aii +o ko +v ai +out line +kri sti +ts n +insp o +qu int +fil thy +lyn ne +listen ers +depar ting +or d +t weed +, & +ale k +sel fish +nor ther +recogni zes +i ps +be s +a ed +w ills +pe at +surround ings +mon uments +ais le +be cker +la v +quant ity +v ah +helicop ters +tu cked +alv arez +sha pe +o bey +ad diti +road side +m ite +bl ers +ep age +j au +ignor ant +b ins +lu lu +x o +c fo +ee eee +apprentice ship +shef fiel +to i +ho k +faken ews +deplo y +aid an +husk ers +ãĢ İ +west brook +mi ster +confi gur +car r +fic a +proceed ings +ha w +ste ak +mur derer +pay day +a jo +p vc +don ates +bi af +nom nom +be it +k ali +x rp +ahmed abad +se mic +che y +x tra +an twer +head lining +squ ares +roun ded +flu ore +bol d +disa sters +am oo +gener ic +cran es +brief ly +gi g +auster ity +anticip ation +for ti +treas urer +cann y +ce cil +dete cted +check list +ภ§ +pam ela +bar bados +an field +hear ty +tx lege +peren ni +arro g +ing ram +âĹ ı +ty ne +spo on +r ation +am ba +m be +cam el +h hs +york shire +reflec tive +fre aks +to k +ju do +partic les +du bs +ban jo +accred itation +prover bs +over dose +inte gral +gu ang +mc s +super car +af b +al vin +ail s +x tre +st aging +tw ent +rabb its +mar o +inste m +dol l +cr ay +sant ana +ble ach +mini ons +che ap +man t +di vers +catal onia +lo is +mat ri +cou gar +kay ak +e gre +p so +a ia +å ® +char lton +tr acked +sc ari +pe tt +f wd +x in +gra vel +br ic +bigg boss +ar den +hu gging +pal ms +st v +li mb +the movie +handic ap +ri me +z ai +stu b +indi a +lithu ania +rhy th +p ita +maced onia +high ered +brid get +schwar z +ske let +hi kes +ant arctic +c ps +mash up +Ð ° +n ell +chand ra +he ir +an us +sher idan +mi mi +muse u +bec ca +an ir +bar rie +dioce se +compar able +ðŁı³ï¸ı âĢį +yuk on +me p +hor mon +mer ic +al f +con quered +christ church +ðŁĴĻ ðŁĴĻ +hazard ous +poo h +cont ing +retro spective +par ame +na ir +con sor +ho tra +astoni shing +cater pillar +u man +ti sm +t vs +serv ic +croy don +mor ales +c g +cu m +te ur +scan ada +s all +magno lia +el ise +th our +à® ¿ +ag omez +phel ps +ë°©íĥĦìĨĮëħĦëĭ ¨ +wh os +weav ing +si sd +pro poses +cro ws +pre sale +econom ies +bernar do +sha hid +air show +mc cann +hor ticul +nr l +du el +mongo lia +tou lou +requi rement +struc tured +ed i +o lives +he a +cu ter +Ð º +enthusi ast +harri et +domin ion +sub mer +ðŁį ĥ +sa ab +nes burg +mo ff +def ended +bur t +rewar ded +gold man +op tics +khali d +house holds +buc kets +ce cil +che ss +substan tial +ef l +oper ation +evalu ate +st n +rece ssion +l ll +tom as +tru ths +ak bar +s words +p act +embarra ss +ha o +ay urve +scrip ture +ny cc +op t +di ameter +sc ented +organi zers +re lat +ha e +dream ers +de se +ðŁĮ » +restric ted +n ale +r hp +dol an +mun ster +ha ired +consult ants +jo ints +hu mil +d ill +relent less +t é +af il +ut ilities +japan ese +condem n +pet ite +colli de +q f +peach es +cou rier +l ore +âĺİ ï¸ı +reli ability +ch uk +ðŁĻ ĥ +stu res +ge ther +ho stel +bi er +- _- +â ĩ +e ze +ta ilo +di ent +blu ff +chu ffed +pil ip +mon arch +e em +bu chan +b ick +op au +ku ps +ภ¢ +pist ons +sp ins +m and +ce st +bur ne +v ile +cher ries +bec kett +need les +pan ch +ë Ĥ +haha h +trou bles +insi sts +do you +g mc +mor tar +deleg ate +in n +g anda +sin atra +ठ¤ +spee ding +pu pil +pre mises +ali gnment +pi kach +as us +j alan +Ø µ +lime stone +fol kl +parme san +ce il +mo y +shawn mendes +ac up +hu st +ot es +med ina +ma di +gta v +censor ship +ar g +swe eney +sy kes +col o +foot steps +cann ed +adv ance +gta online +healthy living +ðŁį ¾ +a ig +p ality +oc s +he brew +im minent +berk shire +jeremi ah +out going +bak er +entr ata +ma ids +gro ves +bo c +a del +m fw +con science +arm ys +nut ella +conte stalert +novel ist +la h +ban ker +marque z +ðŁı ¡ +to ff +out age +gr p +ðŁĺŃðŁĺŃ ðŁĺŃðŁĺŃ +musc le +du dley +nvi dia +mi di +m uni +ess ays +dat ac +car ter +ภ£ +t ans +i ves +public ations +al er +ok wx +il u +cu tt +har p +out law +luther an +br ill +bo lic +do well +green land +be sties +path i +pay ton +gue st +har den +ðŁ¤ © +ann ed +evacu ation +po ised +mc der +b han +o i +envel ope +ci d +ca vi +ta pas +book review +grey hound +âĻ ª +fe ud +lun gs +for te +rai der +ff er +oni x +dep end +yn wa +rel ating +de vs +ðŁĴ IJ +acqui res +d ha +j yo +priv ati +can ine +k b +cra b +sar din +imag ining +k j +em por +down hill +ne z +ta eyeon +nick imin +gb p +à µ +w ap +sec co +ma shed +ðŁĴ¥ ðŁĴ¥ +augu stine +diss ol +dic tator +â ĵ +vi per +ed fringe +vau x +hard work +book let +no x +chi ff +ðŁĴ ¨ +observ ations +xbox one +u sher +ke er +lu p +dal las +cal gary +ma dra +di ous +k bs +wood ward +hero ine +lu mber +sea world +o ws +mc ke +maver ick +gu la +cross roads +fan g +s ade +nik ol +chee tah +me c +pp g +er ick +ðŁİ µ +tox ic +bj j +viol a +sp ire +ch ino +tra vis +institu tional +ha as +low ry +w ac +ea e +hu mid +mp ton +ru ck +je w +c ine +zim mer +se f +bhar at +fre es +aam ir +ðŁĴ ħ +z inc +wan e +multi player +royal wedding +e el +preci pit +qu ery +kimber ly +isa bel +ful fill +ig an +vau l +pan e +sc y +dig it +gun n +u tah +dog day +fi on +xia omi +da c +el ast +cha vez +ro blo +g ine +ten th +ab h +ke to +hur dle +na dia +memorab ilia +ha bs +qu an +h w +hv ac +pix ar +ec cle +kram er +accu ses +ðŁĴļ ðŁĴļ +per se +mean time +wa hl +atle tico +âĢ¢âĢ¢ âĢ¢âĢ¢ +ott oman +no vo +k us +conne cted +tru sts +d mv +spen cer +rahu lg +do ve +sto kes +bolog na +enthusi asts +à ª +rockstar games +ted cruz +du ras +s acked +late x +immer sive +cer t +lu cin +princi pals +fa res +sa ils +far n +am ent +saf fron +quent in +check point +fer ris +ex cur +ðŁijī ðŁı¼ +bai ley +se h +ter re +mad am +s band +wan derers +cumber batch +yy c +digit ally +blackandwhite photography +roll in +moroc can +ðŁĮ ħ +din ner +d well +to om +m ye +ez ra +cp fc +war hol +me er +jon ah +no aa +s gate +so on +secu lar +g ating +ti o +dri ver +si ssy +assan ge +ta th +ed mund +bobc ats +ra ji +po stage +stu ds +m gm +kat o +edin burgh +meet the +shir t +fa a +mens fashion +sp reads +wi m +car ts +phoe be +j ars +bot swana +Ù Ĥ +ed war +sk ar +ri ve +gu sty +c tv +ferdin and +su therland +nickimin aj +k v +si us +bee ch +re z +desi res +on ial +camp o +quar ry +lor raine +gil more +ig gy +µ ï¸ı +ho pping +avi z +ðŁĮ º +uni sex +dedic ate +att itudes +ste er +jun kie +rail way +y b +whi sper +key an +k us +ju g +di x +a ins +sum mon +ov ich +sy ed +her ald +ma ison +me ded +wild flower +main land +ri sky +ru kh +over looked +ki c +destro ys +nam an +ki p +z ano +champion sleague +ban dit +quin cy +smi le +cal vin +open ings +ta pp +ol ulu +spec tro +accred ited +ap k +pra ised +bar nett +pol len +premi ered +selen agomez +tou red +screen ings +uu u +mis o +en se +adam lambert +guel ph +har yana +hu tto +le ar +l tc +po ached +brex it +æ Ŀ +tt c +pa vement +mon gers +ro e +ad ers +ling ton +particip ant +ca red +ga il +y ates +lan tic +dash board +jo o +feli pe +ssi onist +bu m +s end +a eri +thu gs +luci fer +a he +dete ctor +fil ly +gas oline +ham per +hump day +the ta +the band +fore casts +o hhh +lo bb +hol l +cp u +az u +ad ar +hai ley +bu b +car t +quo ted +an archy +pan cre +twit art +al den +st ash +the less +or ni +belie bers +mor mon +partic le +avi ation +⬠Ĩ +webcam toy +sad dened +cru is +ham let +n ct +roll ins +marque e +saw yer +reli ance +a ura +di ec +soo thing +sig nings +ak is +à ³ +at kins +aer op +ðŁĮ ¿ +y ab +sh ari +con nol +du bbed +manufac ture +convin cing +feelthe bern +ra u +pu lit +on ec +gem stone +ur ging +bag u +ga h +aci ds +fi anc +zodi ac +sn oop +her rera +initi ated +ven ge +profess ors +pro di +stron ger +e mission +bb a +hal le +ta pp +haw an +wh im +compe ted +myr tle +ir port +cold play +ach e +ske p +m son +ss ic +calli graphy +swim mers +me y +pp c +thri ft +po c +re places +commu ter +âģ¦ âģ¦@ +go ers +lo gue +para dig +bas kets +sensiti vity +joh an +atl antis +& & +suit case +anxi ous +l h +str i +gal loway +stre ad +war den +gr ounded +ffici ency +li feat +reli c +disgu ise +island ers +f cofficial +classical music +b mc +en field +bi que +oak ley +bat man +sla ying +ner ves +mul tit +calci um +projec tor +scott sdale +ant ino +gri ps +kim mel +des mond +prote stors +hi atus +metaboli sm +conclu ded +press er +ti pping +sli de +e to +hun ting +aus open +ri k +pp ery +innov ators +pitch ers +ag ger +fun gi +z ad +proli fic +rockn roll +bl ames +ct ar +stam ford +q ad +mozz arella +insan ely +den ver +ph ouse +nom ad +ï ¿ +s ris +pro du +hen ley +pag an +am trak +ru bi +in cl +tu tor +sco tia +wo es +sing apo +fun nel +turn bull +know ledge +gri mm +real madrid +we are +missi les +con sol +emo jis +sne ak +smi ths +ru iz +br ou +i el +ha ver +ðŁĮ ļ +kin gof +basil ica +circul ation +prin ters +ta pping +ri dley +dra gged +ha j +writ er +fundament als +personal ities +me tre +stereo types +bur le +best of +n ffc +ha th +mini stries +a ali +trac ing +pav ed +ł ï¸ı +g ic +insp ire +tu g +ha re +repe ated +ex pon +lol li +rho de +pre cin +install ations +instag ram +az ar +i es +sole ly +du kes +mission ary +van guard +fursuit friday +on d +pol ari +ma st +har an +jos é +jack ed +ec oun +al ities +ne ph +ra vel +moder ated +sco w +s fb +uru guay +as o +ni g +au du +p ints +lat ina +ben z +m itting +char ted +mat ology +cit ro +biop ic +ðŁij Ń +djo kovic +fox y +agu il +so to +an ada +sin king +sc rap +hair s +bethan y +fact friday +ðŁIJ IJ +unlea shed +) ( +contra dic +ram on +coast line +y ong +sn sd +li gan +p ome +mit age +ge tt +wat i +ri sk +so aring +bru sh +f pl +av an +å Ĩ +lar son +sh ear +mul til +blu r +multi media +chun ky +par i +n ani +weir d +cholester ol +char les +dream ed +tan ning +puzz les +fr am +hand ball +ch ag +beli ze +al u +bang s +Ñ Ħ +detec tives +mc g +ish q +bo thered +saf c +mp ing +ten eri +g ays +sail or +an gi +mul ticul +gue ssed +ros é +high ways +bro om +chatt anoo +- ' +see ker +on ed +at f +lu c +> < +bar i +per cep +jewel ry +as ph +sor row +sl ing +mam moth +jac kie +ë § +wilt shire +sa o +can cell +im paired +tor ial +bre ed +guy en +jud ice +tit le +pro spective +applic ants +ðŁį Ĭ +epis cop +e id +b yo +stock ings +ðŁĴĥ ðŁĴĥ +ll p +sna g +keep it +l ough +ol son +matur ity +!! !" +cop ter +i sha +bl i +wil mington +tr youts +th ai +ðŁ¥ ³ +pe bble +kra ft +f p + º +ssi vely +li vin +contest ants +tex tures +jo an +h dr +film festival +prov ence +wi do +op end +c si +sto wn +cro ati +ad just +host ile +analy sts +il an +cu ppa +bru m +newfound land +good win +me tt +mall orca +plu gs +bu k +bb hutto +wrest le +sa ire +sho pped +for za +le head +vi vo +ba st +ro xy +reg is +hard working +hon olulu +desp air +young sters +ni g +impro mp +roll tide +de emed +tre ason +ru shed +for ged +ff f +pikach u +bri ggs +do it +ac cent +la us +gla ze +compet ent +a ho +photo g +mid field +le go +har vard +min orities +re illy +slic ed +once upon +initi ally +financi ally +landscape photography +har dro +qu o +mm ers +par kinson +smu gg +read iness +bru tally +glou cester +mp ed +bbhutto zardari +mur der +ye d +dat aviz +sr t +dow ning +bi ans +m ü +fle ck +fli pped +s ly +brilli ance +ri m +k um +bubb a +ko i +knit ted +sor g +ma is +ðŁĮ ² +ti ss +su stain +sen su +ak han +zi est +exam ines +chardon nay +user name +short list +re bs +on o +dar ing +hard wood +che que +righte ous +light ening +dir k +shra dd +du ra +down stairs +sh al +ami gos +ru ff +s law +ri es +red nation +man us +ðŁĩ§ ðŁĩ· +distin ction +u bun +dur an +mi gra +thi ans +la ver +domest ic +k x +jaz zy +justi fy +belong ing +insul ation +color stv +drun ken +chann eling +qu and +xi ii +enligh ten +kan o +fati ma +teen choice +terri fied +p ba +as ley +met museum +dun e +pack er +ki o +ðŁĴľ ðŁĴľ +bo iler +fas cism +ar mored +back grounds +in mates +embarra ssed +defin es +th d +we go +silic one +lo on +el ding +bor rowed +he mp +ak sh +kaw asaki +br y +de af +kill er +dispo sal +ðŁĩ ° +glaston bury +un covered +o xide +po ff +d ant +k j +ku ro +dri zzle +peop les +fe e +pro pri +dd lovato +pi ggy +ot is +aller gies +u bis +pengu in +ser a +vi z +prosp erous +ici des +tornad oes +sene gal +web cast +sto red +enchan ted +bb cone +bay area +entrepreneu rial +rednation rising +experim enting +ang an +lot to +they re +por e +er p +seren e +east wood +bro kers +bar ge +stal lion +timber lake +tailo red +dy stop +b ate +lat ors +di xit +bran son +dynam o +ky lie +shame ful +bt wn +spring time +mix ture +s ounded +lu ton +dad es +mal a +op ra +en ic +rahulg andhi +se wer +~~ ~~ +ky u +nor theastern +ca er +bc u +nir vana +kitch ens +ous y +al m +river dale +hid den +fl int +sp d +pat rons +katy perry +au gh +exhib itions +sm c +shu ts +at ore +da in +some thing +ber th +bo g +por ter +gen to +con cussion +ang lic +ro we +gr illing +scar lett +master ing +mor nin +comm ented +si me +si zing +christ y +ce os +st m +at ry +tari ffs +vac ation +pre judice +p su +paren tal +far age +can a +cap com +koso vo +you re +men stru +stal in +grape fruit +br an +che sa +dav en +exc el +!! ) +๠Į +distribu tor +ce a +bride sma +millenni al +wa in +ob serving +mis ery +plan etary +expo sing +bra ised +comp ton +don gha +q l +spring steen +th ul +syl ve +cab o +pal ad +niel sen +gaz ing +ba ja +r oud +orchi ds +johan nesburg +se man +d ji +oper ative +affe ction +eclec tic +at c +mut ant +aw x +nic e +mel bourne +indu lg +tu lip +dias pora +wel p +big gie +mississ auga +retri ever +or an +tam my +c ta +hipp o +seas oned +ger mans +eng v +marvell ous +im f +rela ys +mon tan +maur iti +me ister +as surance +reig ning +su fficient +han e +no thing +pos se +nav y +in love +brigh ton +en qu +ch ung +sweat y +es c +cal ed +man s +nicar agua +sl ices +mo cha +washington post +bb n +dam ned +grow ing +en burg +lo an +me s +wh oops +believ ers +spi el +vo daf +l at +s led +cricke ter +brown e +golf ers +bar ra +wat chers +lu igi +sw amy +mom s +pit ched +san tor +cr s +si re +sc amp +bo de +ste war +jon ny +ent ity +pac qui +mind ful +min india +bear ded +temp t +scorpi on +eat on +authori zed +ar to +s vp +op athy +cch ini +house music +disney world +âĢĶ @ +pro pose +di y +expen se +ten g +pupp ets +sm el +d aca +per ry +fin n +boo sting +lefto vers +cou gs +satell ites +man y +az e +g ong +fi e +metho do +fer ries +ðŁ¤Ķ ðŁ¤Ķ +explore rs +load er +attrac ted +il ton +godd amn +pi azza +doc tr +sav ing +paragra ph +visu alization +may ors +work flow +ack les +ðŁĺĤðŁĺĤðŁĺĤðŁĺĤ ðŁĺĤðŁĺĤðŁĺĤðŁĺĤ +ठ¸ +twer k +clu t +lo ver +te ases +si an +o te +deter ior +accor d +l fw +swar ovski +nat al +tra ps +k ina +analy ze +laye red +bever ages +un it +ran som +pe shaw +dest ined +astro logy +si pping +miley cyrus +cam ino +marshmal low +bli ss +out back +fa q +int oler +humil ity +po ppin +hallo ween +mon tene +op hy +nu n +tattoo ed +a as +ðŁĮ ³ +dale y +qual ity +du sa +fisher men +swi f +ter rac +st au +le in +trol ling +ship ment +garden er +march madness +head band +gr t +bur nett +w and +!!!! !!!!! +gh e +du x +hu d +war ner +ðŁĩ ¦ +ex ile +rescu e +rat a +d han +duc ati +dro wn +bl ends +spi e +alli gator +simul taneously +broo ke +u ke +k har +comm union +ri ka +ford fc +chin atown +you rown +me y +can al +syste matic +de pri +ox ford +an il +w ut +equ ation +be z +fle ur +the good +lang ley +ad ity +ed ith +al fie +о ÑĤ +en cry +br ill +ex emp +ce sar +mb ling +ab ri +sc icom +j ing +school ing +mi ka +mechan isms +impromp tu +rhe a +moo re +crime a +be sto +wri ght +el ders +ro ds +kam al +folkl ore +be et +mini on +reli eve +thr o +team usa +pas cal +made with +boli via +itt i +free bies +desi red +best selling +l iness +la den +ke ane +mi sts +hipp ie +atta chment +@ / +se w +flan agan +âĿĹ ï¸ı +supre mac +stl cards +si as +q u +rh ys +ste ep +val leys +v w +pav ing +disp at +al ison +por te +id u +new sc +soc ket +mo s +co star +re vo +prote ins +stanley cup +m cal +ear ring +se cs +mc lean +cap ric +nick elo +ad en +v c +shou se +adap tive +maxi mize +entertain er +pro se +gri ffi +six teen +lam ar +mi rage +saudi arabia +awe ather +ru st +in filtr +fashion week +ðŁĺĬðŁĺĬ ðŁĺĬ +selec tive +bubb le +a den +fen nel +deci sive +m ta +mock ing +mb les +st amp +mu le +bernar do +gr in +po tt +j ingle +vet tel +colom bian +cam o +motivation monday +ba han +p ly +dh ary +k ami +x men +sleep er +gar a +my sti +confi dential +conflic ts +p neu +ce s +insur tech +clean se +me rely +va is +tu x +the great +shar on +ma j +hol a +eco systems +aj ay +aa j +hu sh +har mon +backto school +wiki leaks +reflec ted +ðŁĺ ĵ +commemor ating +ac et +buck ingham +messi ah +tu ous +hor net +to be +d q +he ine +mi g +pl ate +nichol son +sp ie +cumber land +nor mal +pho bia +happy halloween +city fc +mc el +gilli an +ke to +lu de +de mise +su ga +str ate +mcgr ath +visit scotland +foo led +cb r +gc se +col ori +po td +missuni verse +fin ances +ma poli +for ks +Ø ´ +cann on +medic inal +ðŁĹ ĵ +kh o +wre ck +pan to +bag el +gu ll +syndic ate +ic y +pr c +ki en +zi ka +ti sh +pe ta +c co +li za +ch ut +ex traction +el g +gl i +fu eled +pos it +respec tively +leice ster +br ink +vulner ability +im ported +e sha +ðŁ¦ ħ +r ural +re ll +gam ing +atlan tic +aband on +no ah +re solved +pro state +aller gic +ps d +âĺ ¹ +dun geon +fang irl +illumin ated +m hs +white sox +d ently +ck o +endor se +over ly +dazz ling +prior iti +night life +ut il +be have +flam en +east bound +ðŁĴ Ł +ilove you +gov uk +mozam bique +alle gi +dr i +testim onial +ath s +ì§ Ģ +mm y +shab by +pro secco +friend ships +cal am +dam ages +off set +jura ssic +jun o +arre ll +ðŁĴ © +interven tions +dare devil +car ver +run away +ran e +truste es +ha ute +dep ths +ðŁİ Ń +me in +sacrific es +con cier +ne sting +i zzy +me tam +ilove my +ur ine +du lu +mal hotra +ve ins +night ly +co at +an di +he witt +lon el +ci ble +wr ite +jen nie +sant ac +ĸ ï¸ı +str ato +singapo re +sop rano +kri sten +cheer ful +flee twood +fa iri +m eli +wa st +tur nt +sfor sale +sc rolling +angel ina +ren dition +jeric ho +nick y +or b +fla vo +patri ot +ash eville +sick ness +re fund +aggre ssion +b pl +ãĥ ĥ +elu sive +thi story +hang er +bu ffs +vil las +at kinson +sp h +ja it +decl ined +wo k +supre macy +oo tball +ey ang +ðŁİ ĵ +s ford +ath i +consu me +road ster +e so +u pro +reci pe +au f +uc i +ar on +oo oh +cs go +re ich +mc d +min ute +ladi es +pun k +rut gers +mee k +ariz on +ta j +land lord +de gra +autu mn +lyn x +us f +b hi +fairy tale +dongha e +bet sy +explo ded +chen nai +op a +pro tag +br ant +ðŁĵ °: +g f +pal li +ðŁı¼ âĢįâĻĢï¸ı +su t +ill ini +colum nist +shir tless +de centr +sear ched +ec or +bu ggy +s ack +ðŁĺĤ ðŁĺŃ +de t +ther i +or naments +bring back +to v +quarter finals +ic he +con stra +gi er +buchan an +vi x +kay aking +mu stread +swal low +mel b +sc af +op al +may oral +har at +ðŁ¦ ĭ +schedu les +id f +ha gue +ro z +a ah +d mc +du plic +ca che +orph an +frac ture +rec on +ch av +bun nies +al ain +mustaf a +ðŁİ Ļ +vac ations +dynam ite +tex ted +broad caster +ðŁĴ £ +ste amed +rock er +di etary +luxury travel +inaugur ated +sa wards +vaugh n +lincoln shire +click ed +kra ja +f anc +remo ves +layo ffs +mc far +bre eds +win nie +jon ghyun +incen tive +vari ations +pat ton +atur day +persist ent +pr un +pi ers +dal es +æ ĸ +breast feeding +r ance +ta wa +Ĥ âĸ +mur doch +cap tive +thi stle +nic a +commod ity +cou ldnt +board walk +graci ous +practiti oners +n gc +scru m +ner o +camoufla ge +col on +he i +phys icist +saturday morning +ten er +si won +colum ns +bru ne +y vr +ba ir +reti res +hal am +cab er +shaz am +min u +cas cade +milk shake +gri d +d ren +vin cent +so dium +plat ter +cheer leader +chen ko +y ak +elimin ated +ty po +y man +re think +âĿ Ĺ +ts ville +bernardo kath +ex tr +ðŁĺģ ðŁĺģðŁĺģ +ta o +re per +mo ths +em powered +c iting +transpor ted +mon ks +san at +cle ars +bachelore tte +camp bell +racha el +har le +hand ler +climb s +inter ference +rele ase +sh and +r bs +hr h +ãģ ª +val le +r é +sli me +w akes +chu bby +slo an +el ves +ath en +attor neys +micro scope +ston er +sc aling +o be +c out +se man +mid week +bal sam +ðŁĺį âĿ¤ +ti ful +v ish +lo tta +ri pping +re mn +ti re +le ap +ha vent +la by +hi mach +whisp ers +we in +ðŁİ ¸ +wild flowers +se le +u cc +li ability +az ine +sw ings +k ya +ta ir +re main +e do +flo ps +poc ket +grand ad +exam iner +gr is +ffe ct +ðŁijĬ ðŁı» +stud ded +heart beat +de acon +firm ly +infec tious +ste f +out lines +le asing +cla ws +sen se +tab s +hoo t +mo sul +spa wn +co a +hog warts +ve in +alban ia +manu el +b ino +vaux hall +scot land +go bucks +mat ty +phy sio +tor ino +const able +investig ated +s lower +mistak en +bay er +wild fires +vo ic +x on +time to +chas sis +bar ric +pi on +bald head +woo k +regi str +dra fts +b hs +li gue +l ick +staf fordshire +baf ta +dar ry +je anne +ven ding +cor p +⼠³ï¸ı +kid dos +fen way +ca o +west bound +ðŁĺ Ļ +dv r +quick er +bla h +goo die +ðŁĴĭ ðŁĴĭ +vo x +esp er +fac ade +cor relation +red bull +rou p +decl ining +chi ve +mc gee +tur o +in der +f eller +fu g +il ysm +mar di +peshaw ar +ki eran +ine ma +meat balls +pe ck +depre ssing +sen sing +gi z +dd ington +spring watch +ro aming +yellow stone +horse shoe +am man +week day +ol or +ðŁ¥ ° +boo sts +spr int +scar ves +je e +bee tro +cl an +all the +ìĦ ¸ë +enlighten ment +ado be +re generation +? @ +cont ag +yach ts +to u +mor a +en voy +r ani +go li +dhanush kraja +wood working +streng ths +se di +disc s +ar ina +sc on +lit e +ano ther +ðŁ¥ Ĭ +ye men +gu ern +sav vy +lo yed +biom ed +heart break +comra des +milli e +pat ch +un f +jar vis +bl aming +commemor ation +ge y +å ¥ +cardio vascular +alig ned +docu ment +. ? +aesthe tics +em u +the irs +le h +ps ic +si f +pl ateau +ex pend +domin ating +rob es +mauriti us +excep tionally +hom er +discover ies +bra un +ten nant +insul in +ðŁİ ® +car bs +te as +? !" +zi e +franco is +brow sing +th ol +cla rence +hel per +ob tained +cas sie +le es +! , +pome gran +hu bs +presti ge +] [ +mach er +bott led +pun ch +pi pe +o ch +gall ons +deliver ies +u ra +un day +mon de +depic ts +re gency +outra geous +khal ed +car o +he arti +za g +develop mental +over coming +stati stical +flavo red +for ds +cre atives +lau rence +di as +sun screen +in ked +pre acher +n ul +impac ting +auti stic +âļ Ķï¸ı +o ss +pel icans +cele ste +v b +ru mp +mc gra +fair fax +hu mor +bbc news +row ling +cal der +seam less +ag ne +p ti +mix ed +t shirts +mer ci +b tob +women instem +genealo gy +pre ven +l our +cra dle +gi use +Ð ¾ +chron o +fair ness +chocol ate +tor y +as da +pre scott +stret ched +al man +u il +re charge +in tre +ob st +hosp ital +hay ward +teneri fe +fried man +vap ing +confe ssions +ye ah +bal li +luck now +cor pse +sculp tor +amp ton +t pp +indic ates +sur plus +tru man +ðĿ Ļ +sin ha +in vo +sovere ign +ke v +establi shing +engra ved +assu ming +ðŁı ģ +sou za +fab i +ton ed +oun ge +del oit +dow ney +no ble +om or +car tridge +ðŁı IJ +u hur +hol loway +succe sses +r sa +âĦ ¢ +ma zz +tw d +disc ourse +. < +y at +satis fy +com pri +ठ¹ +graph ite +disser tation +ar ter +í Ķ +b ally +zom bi +ly ons +a ic +u bc +pra da +e il +da x +cla i +grand daughter +extravag anza +chall enge +ðŁ¤ ŀ +po ver +primar ily +dad dy +man a +bi kers +inqui ries +da un +fel ine +gener ative +he f +benef iting +lind sey +pol ka +demonstr ated +al le +rand y +o su +low key +weir dest +red bull +our y +n ous +wood stock +cre denti +nic er +g ado +aly ss +ap h +prepa redness +station ary +incorpor ated +dy er +sarato ga +cele sti +: " +antibio tics +or gs +inde fin +ap ron +и Ð +fif teen +no f +ðŁĶ Ŀ +ph x +te ga +m z +organiz ational +on air +band ung +pleas ures +mor i +secre tari +rac coon +ca shi +pil ates +k on +geof frey +la o +kam p +depart ments +back packing +an am +à « +crack down +aun ty +on do +li zzie +ph ers +cu n +ðŁĩ ± +k pop +pu t +inten tional +connol ly +bar clays +hs fb +swin don +u ku +s ally +a int +âľ ħ +pen ang +up lifting +epile psy +inter ro +bun gal +go ku +blue berries +ठ¦ +u ssia +sil ky +mou red +i stic +bri efs +me ats +go b +ch aser +state wide +pra sad +gl itch +ar in +ban ff +memb er +ðŁĺŃ âĿ¤ï¸ı +lo ving +hall a +ภ¡ +smo kers +yak u +scicom m +physi o +sw ol +lem ons +gel ato +ch ool +capit als +ki stan +ti ghts +spi kes +trav ellers +ik lan +commissi oning +ar ine +emabiggest fans +empha sis +front line +pad dock +destruc tive +ba ha +l inger +je wish +shet land +mc gin +mon key +ko z +s one +raj ini +te h +y en +c vs +masqu er +gir ly +we sle +was nt +bro dy +termin ator +gil le +mag gi +bir die +jeopar dy +cu bic +vm ware +intric ate +an up +to pia +east on +sab res +investig ates +bu sting +bil ingual +valent ino +in format +fer re +advent ur +hydr ate +for sy +az iz +san to +e de +whist ler +continu ously +d ham +un used +ji had +addic tive +vi dy +do b +i do +fi ed +ni versary +n one +fu er +ðŁĺį ðŁĺĺ +coven ant +prin table +immac ulate +o em +cl t +serv ants +consu med +un released +sc um +pack aged +me re +ìĦ¸ë ¸ +to by +ta f +spo ons +me al +f ball +fair field +jan et +silver stone +dart mouth +follow me +voy ager +kom bat +anni ver +ene w +mag dal +ho ve +sa th +grizz ly +car di +gart ner +sand y +kan ye +post ure +po ign +im pulse +radio logy +horiz ons +si am +aish war += => +no che +tr is +el yn +com me +du i +ce c +councill ors +cudd ling +creep ing +loc ke +manag es +trans ferred +ne cks +di er +dan o +v ick +lun ches +d he +en sures +cri ss +ul ster +bann on +cont enders +sp am +sweet ness +med al +hon duras +arc tic +ultra sound +in fr +disco vers +ei ffel +ca sters +ru ben +du st +awe ed +atri um +lest we +se ared +ðŁĵº : +ty ne +ex changes +little mix +l le +astron auts +hersh ey +work day +kno b +so v +re signs +today show +der man +an th +af c +ta ster +sw oo +sa eed +per ing +narrow ly +rn li +best buy +panas onic +obst acle +farmer s +ðŁİ Ļ +pa wan +ki est +ang ers +absur d +oh my +sin o +pist achi +sp ice +giu li +prime time +ko w +k ens +ex agger +! ?! +u ba +midd les +ju dd +e jec +slam med +pen sions +of a +re create +b hp +xx l +liver pool +thre sh +pur ity +ni eu +hol ics +wr ath +ra do +gli o +am ma +dile mma +cr u +lets go +.... @ +âĿ ĵ +sugge sting +tru mps +hor us +f v +ic om +refer ring +predic tive +tar ts +ge tte +so ck +glo ssy +pin ky +al ec +thy me +ou ra +thero ad +pe tr +cr am +p fi +dv n +me ier +incen tives +tun nels +mobi l +rec ap +extra s +upri ght +rev amp +per severance +, - +ot p +mir ror +ar wx +ger ry +ma her +g or +hom epage +am is +ag ra +made le +best friend +sirius xm +bun dles +admir ing +t dsb +ðŁį ģ +ch as +slow ing +ro h +wall papers +â̦ / +tek ken +gang s +tal a +lind say +shou l +line backer +tool kit +ur anium +caly p +ab rams +mat thi +ðŁı ¿ +hon ourable +da yo +ver sail +tan k +st c +fr itz +spl end +pat ag +anno yed +on day +devast ated +chattanoo ga +national ism +mas sey +jen n +tail or +dev gn +org ans +zu cchini +on fox +sat ire +wex ford +dis grace +no to +vol ta +âĿ¤ï¸ıâĿ¤ï¸ı âĿ¤ï¸ıâĿ¤ï¸ı +à ¶ +home owners +poin ter +m cr +au sten +day sto +mo ons +pal ma +gra zing +e so +influen cers +shahid kapoor +compli ant +measure ments +develop s +y d +par l +p vt +rand olph +tor tured +ger ald +eli as +deepi kap +war mup +hick ory +g ap +co ffin +am our +re neg +moun ting +seven s +ig le +hi er +dec ad +tri ght +esc apes +wer ner +t fl +ful filled +ni ger +sour dough +re aper +choo ses +spin ner +week nd +fil tered +sh uk +kat i +old ham +open source +kh anna +at elier +conne c +opho bic +gla s +complic ations +ar son +counc ils +sm ol +as sy +lur king +ling ui +han ks +e in +Ù ħ +ru gs +n guyen +nou veau +men ace +le v +alad din +ru ining +round about +k m +con or +shoo ps +may day +traum atic +prab has +ka iser +k ita +rou ter +pe dro +re tar +stun ner +spani sh +distur bed +acade my +e learning +wit ty +sen g +fer al +av y +sta b +ke aton +ur du +ko to +hu i +coo ke +ari an +the personal +u ma +se ap +a sting +rhetor ic +hand writing +munici pality +consor tium +ðŁIJ Ł +glasgo w +ra ya +eli za +polym er +bro th +prac ti +correspon dent +addic ts +gay le +ail ing +o fe +p li +hear tw +st itch +sight ings +prie sts +sam o +slo th +good wood +roc co +sab c +summ it +l ace +pres ley +itt en +cin cy +thepersonal network +s week +pe gas +af con +regi stry +ci m +le th +dic ap +cand ice +flu ent +sm ack +pede stri +al oud +car ac +priyan kach +p gh +ir ons +dol ce +lat via +dece ased +thero ck +cla p +cen e +fo am +morris sey +gre t +essenti ally +com cast +be agle +argu es +ing ed +- â̦ +sa g +ha san +ðŁĻ Ĩ +ðŁį ° +nh ra +kann ada +indic ators +on er +bri xton +at as +screen play +sor ority +sha heed +he em +class mates +tain ment +es i +breast cancer +zucker berg +aur or +en cia +ref ers +kae per +vor tex +com part +lym ph +photograph ing +ste ff +rest ling +par sley +mom ento +th man +lac king +du tt +ocu lus +fin o +fren zy +ra sc +der n +dis missed +noo k +met gala +sh ill +rapha el +maver icks +exhib its +eag erly +c pa +amen ities +. âłĢ +exo dus +ern st +lit a +deal t +womens march +i ain +score board +campe ones +c en +ti ki +garri son +fidel ity +bra g +road map +psy chop +lo e +ble u +ðŁijĬ ðŁı¼ +sau vi +spr inger +temp tation +ru dolph +ac ura +wic z +parach ute +stro l +len ny +zi k +dom s +nb af +al pac +vivi an +ro ve +pre et +perpe tu +sna ke +air soft +infl atable +prin ces +ati e +ffe y +pati ent +m ire +chel le +sl ack +groo vy +# : +up loading +!!!!!!!! !!!!!!!! +siem ens +provi sion +v fx +need y +f ats +to poli +bhu tto +sa thletics +alu ms +t winning +south western +adop ting +last night +man ne +la ga +tw ell +ac ia +-- -- +eye wear +hur ley +fle e +sa ch +pe cker +cost ly +is k +cr ates +polic y +ero sion +in go +wer k +ðŁIJ į +torto ise +therap ies +inter net +chihuahu a +ri ps +fre i +ed or +tai ji +t fc +do d +demp sey +christ in +chen g +hi ps +gra eme +com passionate +cavali ers +histor ic +soul ful +crimin al +ja c +vin ci +expi red +sur at +turi smo +k ona +se aweed +ber ts +le ica +expre ssing +a al +wor t +break fast +her ring +am used +rhu barb +mar tian +cospla yer +y ash +stri al +ra ul +refer ral +dw ts +j w +ad ler +cur tains +gu r +val ence +tyr one +sw fc +coach ed +re born +diabe tic +cho ke +nor folk +investig ative +ðŁĴ¯ ðŁĴ¯ +z id +v mas +phi e +objec tives +âľ ĭ +over due +di vers +mat su +ðŁİŁ ï¸ı +casu alties +ภ§ +al k +stand ardi +re alist +arti facts +pand or +ke x +in vin +( !) +ine y +par aly +mr t +fay e +the voice +on ga +de ed +skin ner +az wx +speci men +priyankach opra +nu evo +bar kley +toulou se +resu mes +football ers +cit i +fe tch +è re +lestwe forget +ðŁĻ ĭ +ch unk +dri fting +manipul ation +equ als +pu tt +ky ungsoo +âĿ¤ï¸ı # +ela stic +par ano +fo y +do ping +cin cy +ss ler +interrup ted +al ay +ado res +ame thy +con voy +ãĢ ı +Ĭ ãģ +black list +gener als +sa chin +bru shed +oun ces +non stop +illi ams +bt sarmy +u av +ru ff +bur ma +bi k +defen ce +schul tz +bo asts +lonel iness +go re +trans forms +alum na +@ @ +ra ppers +ne hru +car o +himalay an +wearab les +ge h +pepper mint +re development +flam ingo +cos by +big baldhead +ag ri +bare foot +sco pes +re gram +gh ana +ðŁİ « +i heart +sa die +carri e +microbi al +ku ala +sk ater +quer que +âĻ © +gen res +reas oning +ch ased +as o +sli pped +en can +vam os +ker s +ad verse +mo il +commod ities +with you +sil ent +hy pe +an de +am ination +whi spe +lit z +âļ½ï¸ı âļ½ï¸ı +ri ff +pp y +lam bs +gan esh +ab sent +regu lator +marse ille +en roll +par cel +wa p +by rd +ðŁĩ Ń +tu ber +country music +par l +contro llers +responsi bilities +we y +ch ate +montene gro +chic o +mil an +l ms +tra inees +appropri ately +un certain +popp ies +ed sheeran +nutr itious +gar o +deut sch +awe some +ãĥ ¼ +comfor tably +land marks +et i +re usable +daniel le +ro sal +co les +just ic +c cs +f anny +ni m +mc u +clin ch +at ene +mer ge +im db +ang lo +uc cino +pan ini +an not +bur berry +feat ure +predic ting +fashioni sta +s ask +imag inary +mm o +south sudan +spe ar +hu bble +jo inthe +coyo tes +sli go +ko dak +sit com +polaro id +roo ted +corru p +ðŁĻĮ ðŁĻĮ +bris ban +at z +ah l +re my +tal ent +aval on +ra da +pau line +locom otive +go ons +ne mo +maser ati +ic u +stu tt +histor ically +sm b +pres by +avo id +so oners +rhine stone +w ad +ri sing +tro t +mo des +reg ent +optimi ze +re ece +sm u +ver ti +newyork city +cor tez +ra c +in case +sin c +fiel ding +e tta +tiff any +al monds +sad dle +k rat +mat ter +g low +star ving +gl o +cra ppy +sl ur +st d +monit ors +recei pt +maymay entrata +mc il +un is +rain bows +cal dwell +pacqui ao +j op +a fe +hoo k +es sen +wiz ard +medi an +fla ws +com s +âĿ Ħ +ing h +ha ynes +anton io +tem plates +ou ter +na w +cardi gan +bel grade +ðŁĴ ī +hom o +a ise +ro pes +no ve +what you +tri gge +concep tion +ad ukone +na di +fri ars +sw er +adju sted +hot line +san ity +kau r +down loading +c gi +ten or +eth nic +app alach +ภ¸ +pa g +gol ds +on set +investig ator +car tel +peace fully +jarre tt +cat alan +poli o +n um +fru stration +dhar ma +my life +âľĮ ðŁı» +aber deen +mu sa +bin der +spark ly +fle eing +instin ct +co ping +domin ance +ill ers +er a +u conn +lo oms +living ston +gal i +he s +c ma +bel a +se ley +mon k +la ch +mar x + ´ +m erica +woman in +es sex +ra ina +jim i +nep tune +z ack +chine se +mart ins +chand elier +her n +with us +ear l +asph alt +modu les +st p +ul la +psychi atric +mile age +captiv ating +si der +men to +mor t +tran ce +tal bot +ab by +ì ĥ +âľĮ ðŁı¼ +j ak +daw n +turn up +scre wed +fe ds +blue print +ðŁĴĸ ðŁĴĸ +har sh +er os +insom nia +ban kers +ta emin +mis conduct +hu mber +gi di +edu ardo +con a +musc ular +consu ming +ra sh +don nie +di pped +col lie +samu el +melt down +ðŁĺįðŁĺį ðŁĺį +me z +exam ining +schwar tz +pri stine +ðŁIJ Ŀ +ve it +ful filling +an esthe +gue sses +dra ft +som me +soli d +pati onal +ho ped +evolu tionary +all er +enter tained +sli ps +lud wig +conclu des +sen sible +bon net +cra ze +tra s +haz ards +const antine +ed ics +star trek +to c +occu pational +in cheon +deepikap adukone +pizz as +new comer +de part +oppre ssion +ebon y +foss ils +tro jan +el en +ste aks +k hou +positi oning +ug by +red cross +ak h +dol ce +us mnt +pp en +dil ig +ma vs +call er +cost ello +⼠Ħ +dy n +thing s +rhin os +a xi +sar kar +con vocation +att ers +ss ss +fun gus +eu gen +russ o +squ at +w sb +eli on +william sburg +s off +defici ency +be arer +o kin +key stone +t wain +cal ming +break able +wa res +horser acing +com bs +bun ting +u it +t land +ðŁĴĻðŁĴĻ ðŁĴĻ +ga stron +sab ot +ick ers +commissi oners +sen ate +ii ot +ath ena +nit rogen +an tony +ero tic +di alo +mis sou +hypo cr +âľ Ī +kaeper nick +can v +d roo +clevel and +o sh +mon sta +stefan o +^ ) +sh ul +po ison +ha e +commerci als +ma ul +nit ro +co worker +alo e +vap or +t ents +russi an +qu id +question able +mid get +po ker +girl friends +sin the +erit rea +ten ure +depos its +buc keyes +spot ter +theod ore +trin ity +joaqu in +u cci +follow the +caf c +mp a +ðŁIJ » +plo tting +dom ino +ta ek +sion ally +dicap rio +pa p +car mel +ig er +bt cc +beth le +www bigbaldhead +foo die +bagh dad +mason ry +off ended +à · +ภģ +sc ro +vers es +ori ent +ar ches +pi yu +know your +gre e +ta kers +gu ard +dish on +bucket list +bha fc +war dly +ðŁİīðŁİ Ĭ +leigh ton +pe w +stra y +assaul ted +in hal +ly fe +amar keting +l x +kat z +ubun tu +me o +carto onist +turno ver +mi z +dis like +mul len +mo f +bl and +hi des +emer ges +chori zo +truste e +ma hog +lan sing +paralym pic +fa int +fa una +ch al +sn ar +cat h +bent on +cast illo +sli ppery +apric ot +oec d +bar o +l z +he ming +clow ns +co workers +peru vian +commu ters +y ell +ðŁļ ´ +under ing +v j +tt p +fli pk +w ana +soc ent +Ĥâĸ Ĥâĸ +ठĤ +oo sa +jag ger +di sm +e less +d ham +cali f +a official +ec lip +harro gate +gra pp +com rade +n tr +concentr ate +thi ghs +bit coin +bel arus +ë ĵ +end uring +now watching +industri al +pi p +ar on +ar at + ® +whit by +oooo ooo +sa ree +tic als +mis leading +yo on +year s +sle igh +roman ian +sciss ors +vam pires +ac up +ab ba +th weeksary +cent ri +fl ye +u o +c bi +bu ena +sin d +mar ino +bur r +re building +ठ² +anniver saire +ac ca +ðŁĴĢ ðŁĴĢ +gett ing +tu lips +wolf pack +âľį ï¸ı +more than +ta kin +ð٤ĺ ðŁı» +u be +mon ic +dou bts +mo wer +co balt +don ne +specul ation +argu ably +kak u +htt ps +prosecu tion +din ah +stam atic +disclo sed +bever ly +fl wx +cra bs +extraordin aire +war mest +imper i +o logists +trac es +par c +lake side +am r +ter i +hour ly +domin ation +ar row +shrews bury +ance stry +wr angler +trigge red +pen sac +roo ster +survi ves +a on +bo ko +val or +love is +la g +pe y +fo cal +out laws +bl anc +artic ho +wit s +marsh all +die go +support small +u ca +sa h +je et +syn ago +gover ning +ðŁĴ ¬ +sal ads +cre ate +miri am +cen sored +ami de +no u +z eta +allegi ance +* ) +bl m +ric an +pa stors +oly mpus +blo c +whir l +star ry +pr one +y k +p ne +congratul ating +be v +so ber +love island +sa ir +an ing +tutor ials +q e +lun d +in ist +cle ver +taxpay er +ali z +wren ch +dd ling +cap ri +h pa +ðŁı» âĢįâĻĤï¸ı +na j +o j +futuri stic +jelly fish +ðŁĶ¥ðŁĶ¥ ðŁĶ¥ðŁĶ¥ +cel ery +plan k +fil a +ne me +un healthy +lec tions +ðŁ§ ¡ +rit chie +n ws +mi kha +wonder woman +âĢ İ +hip stamatic +ka g +ðŁĴľðŁĴľ ðŁĴľ +poul try +mo w +wor ds +lo ff +ðŁ¤£ ðŁ¤£ +relat able +re mixes +keny atta +ke m +re signed +fo d +stra igh +j lo +hu tch +box ers +colle en +mag s +instruc tional +ko l +attrac ts +pra g +account ant +go ggles +br u +th ole +mar row +leu ke +oc to +pon ds +bubb ly +he ist +ìĹ ij +im p +a har +ha unt +hall mark +psy ch +kkkk kkkk +col umb +jump suit +cost co +si delines +ag gies +over turned +ni b +key chain +fu k +f af +mi am +assist ants +cy cled +ri der +dam mit +red wings +mag es +kin s +ì Ĥ +ho d +son t +carol ine +" ' +cu le +bra id +fel ony +ar ities +ruther ford +depic tion +isab elle +ro ach +k day +fifth harmony +em y +li gam +bari sta +albu querque +gro ss +ðŁį º +oo ks +ðŁij ¼ +dun can +try in +jag s +g ould +li tho +âģ £ +а Ð +sam my +tun g +cas ser +apo lo +aaaa a +man g +as ics +sh en +p ye +tur bul +ss p +saint sfc +on lin +n anny +he ster +do z +à¸ Ķ +th read +ren ts +kh and +ðŁĴª ðŁı½ +un conditional +rob son +car re +ph on +sacrific ed + £ +auto s +par ker +oc a +log in +kee gan +hard cover +dough nuts +ðŁĮ İ +spit fire +refresh ments +saskat oon +commod ore +j f +rub ber +halam adrid +child care +stra da +io m +ri k +dak ar +ther mom +cro pped +gar u +ali k +ven i +i ft +si ka +ritu als +z ul +e ch + © +su dan +l land +i me +do cker +ì ¤ +fe ared +fa o +wal ter +no g +mutu als +l h +ali gn +mon ia +concep tart +ðŁĻı ðŁı¼ +sco e +compet ence +sw ine +ly me +laun ch +green er +abstract art +inqu is +gran ada +ga elic +flu ff +d backs +grave yard +ba be +acade mic +adventur ous +joh ann +~ ! +bi bi +| # +pl ings +gett y +as b +âĿ¤ï¸ı @ +staf f +religi ons +bang or +world bookday +me gh +de vin +ash ore +meri dian +gi thub +qui z +all stars +be stest +ir resi +ack er +do te +war rington +pol ly +newor leans +cr ou +wi gs +che y +smithson ian +la sag +de tour +bor is +stra ps +mari ah +inten tionally +ko h +ðŁį ¸ +ssi an +mar issa +cor al +episcop al +casu alty +tom o +supply chain +sam p +on go +ro o +cavi ar +p fw +clau dio +buff alo +s ations +mat ty +snap back +l ds +al arms +mat te +âĺ Ķï¸ı +conditi oner +d ors +he x +fi zz +a stri +sus sex +secur ity +qa eda +all star +cocac ola +as one +cl icks +sc ans +mu te +he avier +ðŁİ § +âĺ ŀ +lv l +book boost +youtu be +fla shes +f jor +c su +explo de +do dge +cair n +gonz ales +th ill +pel le +hart ley +renew able +re tin +e stre +costar ica +shipy ard +nc fc +pri ya +a ghan +an ath +plu gin +co rey +re bound +or u +kat rin +hor mone +gi m +mahin dra +s sus +park land +har per +fanta stic +infer no +ep ilo +wrest ling +fe ct +c it +ac oun +to ssed +monu mental +char tered +bu st +pe tra +âĮ ļ +wildflower hour +sweat ers +* . +bl er +ate ch +go wan +demo graphic +bra l +suici de +renov ations +vu el +sin ister +ar mani +miso gy +ph arrell +nap s +un iting +crusad ers +cor gi +insu red +than i +no or +g q +d ada +bicy cles +snu ggle +sch an +ten berg +ss al +fe mme +bo il +½ ï¸ı +re ap +occur ring +hus sein +divi d +sto ke +sh alom +na ia +o lic +frustr ating +Ù ĩ +ig s +gro ver +scen arios +n ds +bru tality +med alli +bu on +sas s +skate boarding +ony x +lor ry +ny u +gau tam +mm ings +gu g +end i +lo thian +comm ando +chal k +ph ora +asse ssing +ti gh +crun chy +ad ay +is l +ci ara +pilgri ms +kam al +p to +brit anni +t ani +sm c +l ure +app store +ab y +golf ing +cl c +fa u +an as +shu tting +regul ated +carn age +scow boys +all enge +c ma +humbold t +rel le +ku mb +her i +refin ery +sound check +d wayne +bos nia +i sp +the alth +anni v +relev ance +my a +bag gage +dre ad +s bc +th ed +bu h +hi jab +lo id +ke w +c te +respec t +lovel ies +cu bes +celebr ate +dir t +sav ers +_ , +gar ment +pulit zer +mas jid +beat port +al arts +encry ption +s ner +ple ads +found ry +sym metry +ru mi +birth place +scallo ps +supp le +pivo tal +t ati +no de +so d +pro xim +tr ics +col dest +bren t +mand u +cla ir +e ach +and alu +hi ddleston +ðŁIJ º +mel ts +v ance +pin n +se ments +scre ened +sa chs +o bl +ic ha +âĺĺ ï¸ı +school ers +heal ed +lo gged +ð٤ĺ ðŁı¼ +ic us +bore dom +b ish +b ffs +tal king +sure sh +hoo kem +de on +de fl +ei leen +ðŁį ķ +women intech +ri sotto +rang er +adverti se +ภģภ+tel ly +la go +dart moor +d ong +sk ates +lo go +un ner +mail box +ma sala +lo oooo +amethy st +che wing +c bb +australi ans +rc mp +game art +# ... +kor n +extre mism +fruit ful +anci ent +pu bg +pol ite +wh it +mur als +m gr +line man +dav ao +ste ms +ten nis +av age +tu pac +gigan tic +hs bc +auto biography +up the +ี à¹Ī +re gal +fig uring +ku l +mis sy +hoo p +gra s +for ums +back lash +abduc ted +p nw +min ic +bu tt +bott oms +at on +ven g +ðŁĮ ı +del aney +prab hu +fan club +over haul +health ye +sy no +aa f +ren amed +kim i +un cle +man city +se u +qu anti +este em +um in +en zo +mel vin +under go +j har +far ah +coast ers +humph rey +mh z +children s +^ . +d hi +disrup tive +integr ating +r nb +over sized +a ide +ne au +docu mentation +ðŁijĢ ðŁijĢ +pal o +hear th +ri yad +pun ctu +abc news +secu res +boy band +bir ch +ju co +tra ff +legislat ors +bay a +ãĤ ¯ +no ises +collec ts +s warm +k ner +bi shops +stur geon +snapp ing +mo l +fre aky +chair person +tro p +lyn ch +car cin +art sy +e sto +cha i +fl ur +inv ali +sau sages +im el +j or +fun fact +wit ter +puni shed +ac ons +h ya +re versi +em c +dif fu +z x +sp aw +cla d +d mit +hol land +fre sco +pay roll +ab undant +stu ffing +mor o +c ny +boy cott +wend y +ele ven +pro voc +pil ot +tr x +be ad +climate action +ri on +assi e +ì ĸ +o sm +islam ic +ho ar +good reads +al ici +afterno ons +spoke sman +jo lie +it as +masc ara +âĻ© âĻ« +pre vail +beetro ot +lu jah +k li +dod ger + » +ru le +l n +scre am +ho bart +col bert +r tc +er m +pat ro +quo ting +s live +que st +non fiction +semin ary +prosecu tors +ve st +express way +g ge +nau tical +et f +ðŁİīðŁİ Ĭ +dur ation +cha ired +the film +fab io +she h +can o +ðŁĴª ðŁı» +with draw +! :) +cor pus +phen om +yel p +la wn +ent om +snapp er +but te +pin ball +pro xy +libr e +alle vi +n ada +gabri el +fo wl +eure ka +daph ne +tu nes +pun ched +wh ore +jo g +ren tial +man ners +o pe +wh ufc +gu th +revol t +sne aker +philharmon ic +ho ste +sovereign ty +ðŁĻıðŁĻı ðŁĻı +fish ing +sci art +fe ta +i pp +dump ing +kel own +gir i +dig its +sal u +san jay +twee ters +sp as +col chester +sc ab +ma dd +๠Ħภ+Ä ĩ +ged don +march for +do p +maure en +un plugged +di do +fashion blogger +up a +mex ic +tar y +pol ye +jame son +v t +grin der +mad dy +consult ancy +¬ ë +leagueof legends +ac cents +um ni +jane iro +tu ss +h ens +ampli fier +to shi +pret tier +pre vents +new town +red wood +vant age +ball ard +ar tof +a she +a sion +lac ey +ap at +gro ve +ภĦ +rw and +real tors +tra itor +bed ding +ö r +zi on +fla shing +cam pan +boom er +secretari at +ab ol +liti gation +cont amination +se dly +shred ded +in for +do herty +bench mark +ro che +skate board +sho vel +i zz +to pper +o ster +laby rin +autu m +k ong +hum mus +vi z +tech news +kla us +am using +socialmedi amarketing +i des +cast ell +ste e +underestim ate +cal ab +pa ign +b illing +unanim ously +g mb +fly fishing +hath away +commerci al +colour ing +skul ls +pivo t +te p +tb c +motor way +x press +construc tive +pu k +under lying +kir sten +mani ac +cha o +se ma +chiff on +ðŁijĮ ðŁı» +ver ona +kom o +stan doff +wi ped +c ated +bla ir +wor kin +m sc +bethle hem +swi pe +unexpe c +pe es +pe tri +orig ami +ðŁij ħ +mex ico +flav or +ru dd +cannab is +mar u +ri ddle +wor shi +sil on +sch at +ap se +tang er +bi ous +e er +questi oned +o zar +dan k +angle sey +char an +bak u +compe ten +re pri +bat ter +sa xon +cal ves +leng ths +$ $$ +âŀ ¡ï¸ı +immer sion +ga unt +car ry +cy to +b anda +shu tt +experi ence +el gin +mous se +ta z +ê µ +in correct +en z +b ham +mor on +so ver +ar un +ti pped +la ble +de arly +bau tista +í Ļ +mor tal +woo p +dt la +sho cks +dav os +ðŁĵ Ŀ +swim wear +her man +ðŁijĩ ðŁijĩ +z ir +neglec ted +grac ed +campu ses +av s +ar ora +swach hb +live pd +ac cra +enqui ries +shoo ters +kur t +vancou ver +brad ley +gar da +g ü +ol la +attrac ting +up ton +ne win +lu mia +furn ace +ev ers +e on +sw a +roo kies +a oc +v ss +bris ket +tor ch +yo da +heart land +tac o +ph ony +food bank +ab bey +bab ylon +u y +gre ate +expre sses +d andy +sc apes +survi vor +ron d +e ci +ha vin +ab el +chil dish +tor que +wav y +ur self +kanye west +year of +ale stine +o brien +al fon +sk ag +kore an +anchor age +val eri +de w +ðŁİ ¨ +land slide +car ole +christ en +go phers +af i +priyan ka +q q +power of +it te +pc so +tw ol +pr y +intellec tu +guer rero +pi les +wish list +w ren +time table +ë ı +prodi gy +gibb ons +. / +ne ur +anz ac +mur ray +vie st +pla ster +la ir +art gallery +inter continental +g br +bell ator +nam joon +mam mals +am el +y aw +saras ota +cam ar +bud ding +sum mari +aco sta +la sh +ey ou +post graduate +instruc tors +ti g +const ant +were wolf +ic os +cla s +glen n +bud ge +ðŁĻ Ĥ +er ta +sta ins +persecu tion +cumb ri +o ch +syner gy +hu ang +scand in +mid terms +comment ator +regar ded +perpe tual +bo iling +al p +lan ge +sch le +fac eli +twee ta +ri dden +ok toberfest +charlotte sville +ik lan +jo u +ch atham +b sc +ðŁį ¦ +stra uss +mel low +xx xx +happy hour +re actor +ww er +distr action +at orial +ðŁĴª ðŁı¼ +twin peaks +fay ette +a or +ko k +bro om +sy fy +ou se +am ag +Ø · +ubis oft +lu lu +hall mark +stu art +it ya +si deline +venge ance +re lu +sex ism +boun cing +un ites +gu stav +te ssa +stu mp +pro clamation +ima x +divid end +col by +ðŁį İ +play wright +un safe +co smo +ðŁĩ²ðŁĩ ½ +cup board +constitu ents +ang lia +ram page +ðŁĺįðŁĺį ðŁĺįðŁĺįðŁĺį +than ked +take aways +shro ff +de bat +kh ur +conduc ts +format s +à © +port age +graph ers +u ten +pre m +mo ines +condem ns +s ous +l ps +f cs +deal ership +leuke mia +bure au +ski d +guardi ola +ca ster +thir d +avoi ded +en cyclo +c sr +vi xx +analy zing +she ar +dulu th +shap iro +chan ting +stre sses +as be +mil itia +ãĥ ª +col lin +arsen e +sure sh +teach ings +yi xing +sh ill +nu des +sv u +clear water +war ped +pro life +artist son +it u +versail les +galax y +ax el +spring st +cal a +hu hu +sc u +commit ments +exe ter +poign ant +mo tion +conserv atory +row dy +rec alled +mu sk +emb elli +so the +âĺ Ģ +sto pper +sch ild +to pe +el mo +zi el +j om +barn sley +snow den +on tour +jour ney +hills borough +par ole +w ts +mo ving +ag ility +tiv o +ff ers +kindle unlimited +g wen +ann an +ah mad +tex tured +hepat itis +dra m +insi ders +tis sues +ãĥ Ħ +fc barcelona +cr atic +na acp +pe can +f gm +custom ize +concer t +g sm +pe g +p one +justin trudeau +super cars +happy holidays +bu lar +ado x +lap tops +digital health +destin ation +gradu ally +áĥ ¦ +popp y +ss l +inhi bit +star light +of fro +glo omy +x per +hal der +im plants +le to +hass el +a as +un told +en ci +liber ia +or an +con tests +il ah +sma g +sc out +mari anne +cr yo +schedu ling +lo s +kan e +stutt gart +ne se +law rence +da in +pho tom +car ou +ภ£ +g wy +national dogday +roa sting +band camp +kentu cky +stret ches +ke rel +ca she +ãĤ ¸ +sta x +tran si +dog gie +at ric +hal le +ci vic +brow ning +lein ster +cat day +high land +joy ous +in cumb +or lando +ro mo +col ton +del ta +car ab +ro tc +aster oid +goose bumps +mo logy +yo ko +an ds +tomor rows +red carpet +sm p +ca sio +ðŁ¤£ðŁ¤£ ðŁ¤£ +se au +rejec tion +rot ating +bi partisan +th un +mat i +bon i +ol l +ener gye +do it +l j +mother hood +lou ise +neck laces +el ite +ni x +l cs +en v +gl u +le sh +cran k +su sie +m clau +so tu +crow ley +rat ri +use d +bre ton +alfre do +ye o +travel pics +ti pp +elli son +sax ophone +me red +heu ghan +ta ine +f es +vi ro +suppo sedly +i as +dige stive +y le +li zzy +wildlife photography +bri anna +west field +ra ined +am her +ðŁĺĦ ðŁĺĦ +distribu te +bott om +pre serving +oil and +craf ty +de scen +col ling +shakespeare sunday +r wc +ang led +ci an +t ations +mon tage +me yers +france sca +ðŁĮ · +wi ggins +san ford +volunte er +car ra +bar k +vari ed +pl in +am u +kap il +rock ers +qu ind +br ane +in mate +ent al +impro vis +michi gan +re tweeting +progre ssing +mercedes benz +smo ker +physi ology +dor ado +watt pad +h wa +sr bachchan +w ga +vol atility +hi re +ac ap +wn ba +hein z +stit ches +kidnapp ing +bur ys +lim b +f itters +thumb nail +ton e +mir and +desi rable +ad dison +tar an +tamil nadu +spec tator +soci ology +amit shah +remo tely +âĻ ¦ +ham id +r ds +g lee +smooth ly +sch ro +er c +lali ga +he als +us f +ni shi +d hu +un il +h le +tro mb +bhu tan +pilip inas +se ung +whit man +te y +min ce +snow boarding +re au +k ker +av o +zach ary +ran veer +ti k +gover n +qu al +beck y +anthropo logy +att en +grocer ies +de bit +war p +sil icon +hawa ii +ðŁĴ ħ +pomegran ate +pe er +orang es +people schoice +end ure +ðŁĴĽ ðŁĴĽ +ãĤ¹ ãĥ +ac ial +a haha +stu k +imper ial +bl ond +pow der +kno ts +vin ce +wood lands +den a +watch in +mat cha +ma hat +galax ies +middles brough +k ö +stre e +resc ues +wal do +lero y +desp ic +real ities +tm nt +ha q +un o +pe c +bolly wood +blin ds +design thinking +he ms +and hra +ab sen +fan s +ste ch +shire hour +bla ine +shak ti +pu rely +ðŁı ı +tra fal +ke ynes +gr ate +to bias +spon taneous +satur ated +caval ry +pri sc +ðŁĺ ij +wh t +pas si +~~ ~ +vir at +patt inson +la o +weir do +sym pathy +ju da +occa sionally +cred ited +stat u +es co +hil ly +esc ape +dischar ge +se er +may nard +sud bury +z lat +or al +we er +encoun tered +sm elling +over sight +ê ¸ +that cher +mack ay +you can +fre ep +freed oms +prophe cy +ho e +ishq ba +dra ke +qu its +pel led +tur k +o vi +wesle yan +new music +leg g +ch eng +h illi +ay y +pan ties +ad versity +ad jac +vaccin ation +ju ke +ga c +exce ed +time sof +sta ining +ep cot +v ital +up ward +bethe sda +apar k +ma hi +camp fire +enchan ting +rha pso +h z +na ver +fa x +vali dation +ac ad +ny r +as ym +coordin ated +depar ted +all ery +var ies +spr ite +chap lin +ss occer +s wat +bre t +relu ct +tunes app +super star +reminis cing +o co +home grown +dough nut +un canny +la pd +thyro id +! âĿ¤ï¸ı +botan ic +bre s +sp ade +i ste +echo es +du lil +bur sting +qui ero +ðŁij İ +loy ola +amuse ment +ha ils +sleep y +burgl ary +âľ ı +ro gue +cot land +mo ors +low er +wic ked +ðŁĶ Ĭ +compet iti +argent ine +yvon ne +karti keyan +ili ary +gat sby +precin ct +six ty +na ji +cam s +practiti oner +ðŁĺ³ ðŁĺ³ +pu ne +neg li +juli en +inv aded +cali br +cla m +duba i +mu k +lan tic +produc t +fe dex +ï¸ı : +eu ra +dari us +s ling +virtual reality +home stead +ðŁı³ï¸ıâĢį ðŁĮĪ +pac ed +in ha +pul mon +la zy +premi ering +ma stered +in he +con gregation +ba jo +sport ing +new jersey +hor ny +lma oo +leng thy +du t +yo gh +swe aring +philosoph ical +pap ua +in ski +know les +dy ke +âĢ ² +to ken +mc guire +ri ot +probab ility +mc con +gro s +su mat +c ite +da a +on da +mad dow +che w +board games +spar ked +re claimed +ad hd +ny se +imwith her +equ inox +boo ths +balsam ic +ha zy +dor chester +ag os +se aw +moder ator +seri ea +ander sen +pilgri m +âŃIJ âŃIJ +itch en +hal li +x ton +nathan iel +mun ition +celesti al +ga f +zo om +mark le +pen thouse +cal e +s fa +bar king +tu cket +em ery +cal orie +li que +ad ar +mc nam +tor tilla +wood pecker +mo town +bad ger +ayr shire +scram ble +dd ay +cra ziest +per rie +cho co +cast e +i ot +wre cked +selec ting +uss r +gra ft +pun t +lab ou +ir st +ba ek +Û Į +su ki +que u +ach at +te ster +aug mented +wc vb +sin ks +ðŁĵ » +ra ke +inter ne +be cause +belle vue +une arth +light en +ðŁĺ £ +turn around +labe led +unemp loyed +twitter kurds +le ia +h ye +great er +ðŁIJ İ +tim ed +i red +e tt +limit ations +cab e +s out +bee ch +anni hil +re trac +yo ona +ang er +den nis +supp lying +di z +" ( +sc ur +gun man +su ho +sauvi gnon +ภ¥ +wi ley +land on +choreo graphy +pre historic +ðŁı ĥ +var gas +assess ments +pinn acle +di i +chamber lain +ì Ī +v p +present ers +deut sche +sun shine +sal utes +r one +bu siest +- .- +motor ists +hemi sphere +al wx +ps p +ow a +den ying +cho c +gu tier +han uk +mus kete +jait ley +se wage +t ame +thin kers +shi m +se quo +pap ar +middle east +k wa +ke g +patag onia +no y +bar ça +take off +he a +à ¬ +n sc +g dc +ðŁij Ī +mou stache +mel ania +thr a +â¬Ĩ ï¸ı +pier ced +ze us +fon ts +ber a +it iner +q atar +contr ary +ire land +i fy +ou los +commun al +fin s +un paid +pa a +ðŁijĩ ðŁı» +ri os +ou p +f iller +cafe teria +à¸ Ń +kas i +cali ber +z ulu +v sco +ts ford +dragon fly +smo kin +pi st +psycho logist +diplom at +we bs +buc cane +à® ¾ +motiv ational +du ne +ba e +c fs +with out +er on +i ac +ate e +pen sion +fra zier +en sis +sk is +par ting +ger y +territ ories +nach os +eni ght +ever lasting +msd honi +tel e +sp un +po di +sab ah +environ mentally +ce ase +beau mont +mar ta +kel vin +ho ff +sun il +n da +co b +sh ale +ree dus +un boxing +u bio +re opened +n all +capsu les +mar r +himalay as +swee ter +ja z +f mr +twee ter +dha ka +na u +de mi +d fs +ta urus +fad ing +it utes +ci p +over flow +jef frey +don ny +car tunesapp +ðŁį ij +prefe cture +danc ed +c pt +ple asing +ital k +earth quakes +ul ation +hi o +ãĢ ĭ +ant an +nutri ent +de ere +selec ts +enrich ment +r iti +tram pol +bl amed +j ia +contribu tors +chesa peake +pi geons +tribun al +mad uro +w su +ilo ve +effici ently +dar cy +war ms +ar ra +ec u +ho wer +strugg led +rajini kanth +ðŁĺ¢ ðŁĺ¢ +hou sing +str at +eli x +disp ro +raf fic +thi erry +na sty +c fb +staf fing +al ma +back ers +hen son +sky walker +reale state +roo s +ness y +chan ce +cair ns +c ci +pe dal +ly ft +cross word +wait er +only in +kru ger +k ir +alej andro +car tier +car rera +re paired +ou at +un clear +un breakable +today in +qu eries +jo dy +gen ital +win ner +to l +kelown a +fascin ated +ãĥ ¬ +sris ri +squ ared +spr ung +negoti ate +priv ately +av en +>> >>> +g ical +gav in +chester field +zu mba +or r +nat alia +impeach ment +mn l +car at +criti que +credi ble +trac y +tan i +musi k +jig saw +gam bia +tol kien +fe u +as per +sav ory +fo xx +f itt +mar lon +l rt +v ell +p br +imprison ed +i om +chu l +wind shield +kay e +ba a +chor d +s art +al gon +minister ial +nat geo +la zio +nor ms +ðŁijį ðŁijį +lic king +fut bol +un sung +dalla scowboys +sh red +distur b +dev ine +be ards +ch f +b day +ro sso +ig or +ay i +si ren +k air +sti les +ro f +mag nets +un cover +mou se +bang ing +si ghted +spe ople +impac t +row land +kir a +environ ment +love the +p sis +mish ra +gl endale +ca jun +o che +de ception +sex ist +stra ws +s ga +buff er +apost le +sp l +pop up +ðŁļ Ĺ +r g +up er +ball in +i dy +occa sional +national park +ðŁı Ĭ +u an +innov ation +ภ« +te aparty +re tte +counter fe +b ha +rec s +ig en +ðŁĮ IJ +humming bird +cu r +ha ven +la zar +pue blo +: : +zi onist +op ath +inver ness +promo ter +carto on +cabine ts +mahog any +surve ying +r ational +feel ing +testi fy +so w +oc on +ภ¢ +ne el +mar is +sol itary +che mo +rad cliffe +sim ons +ros ary +new er +jo die +re tali +pra wn +pad dy +hen ge +k ala +im plant +at y +bren twood +par adox +ene z +re designed +p our +wy d +al de +௠ģ +sol d +biomed ical +๠Ĥ +tt tt +mat teo +ys er +new ton +de bun +ner dy +loo l +wo on +elisa beth +ec c +wh i +ach o +salv age +sal aries +qu ity +navig ating +oph thal +con soles +re built +o pec +ast ers +sho red +set list +kathr yn +rhy mes +re visiting +ash ish +li ft +re post +sole il +âı ± +weal th +sa at +we c +king james +flipk art +field work +se gu +mo dal +bu b +are rs +ðŁį Ĵ +clo oney +pad dington +necess ity +guth rie +pen te +li mo +jo sie +ar tin +en c +l hs +betra yal +info graphics +i er +mo a +hear ings +bon jour +sym bolic +ag ro +wed ges +krist ina +wild flower +athle tic +photograph y +pe sh +ca hill +chi lean +gou l +fi oren +ðŁij ¶ +z il +sk im +bad oo +deli a +tre ble +n cc +ðŁĩ¦ ðŁĩ +a house +bul lock +sol itude +ا٠Ĩ +can cers +futureof work +hu tch +water shed +war mongers +sp illed +colom bo +mo th +associ ations +weigh ed +global goals +not just +christ i +tor g +swe ating +man eu +clu sters +â̼ï¸ı â̼ï¸ı +ta ped +ul y +tru sting +yu suf +te in +ra b +, ,,, +sin ai +audi ble +explic it +cro wns +sch iz +at least +ðŁĹ £ +de bra +je suit +ene gger +z hen +one sie +i it +ss f +gur gaon +chak ra +bear cats +k ran +k awa +reque sting +han over +g end +sor os +mer cy +lovel y +do omed +tim my +ku z +ul l +ab ram +sa ison +ãĥ « +clean ers +re mo +circu its +bar red +o th +mo ist +madele ine +gall o +u j +per mits +hea viest +car ols +az te +gior gio +flo ats +decl aring +us rc +min at +craf ts +pri ma +conven i +nickelo deon +danc ing +ceremon ial +blo gg +tw p +anglic an +she k +k nick +( (( +hubb ard +harve y +hit man +fen g +we some +for za +s word +op us +bro m +gi bility +z al +m unch +dance hall +gre edy +hd mi +re birth +ðŁĺĭ ðŁĺĭ +s world +figur ine +com post +k f +engra ving +gior no +st ana +k man +ham ster +compos ers +aj e +func tionality +pol k +is ons +air planes +te se +hor rors +musc at +gi ven +sp ence +ðŁĩ¸ ðŁĩ +eli ot +ach illes +fre ck +crypto currencies +sou ther +hal o +bor neo +polit ic +hahahaha h +up state +si ena +obsc ure +hau sen +lloy d +happy friday +motor bike +bon a +americ as +hol s +- ( +spor ty +un aware +reven ues +christop her +bank sy +av an +ev apor +com press +eyel iner +to dos +buff y +renewable energy +ly rical +ar chan +rapi st +fair trade +lma ooo +beat z +pro active +la pse +ir ical +revers al +po de +mcin tyre +mac au +ãĥ ķãĤ +nash grier +f sa +g all +çĶ Ł +perpe tr +il ya +configur ation +% ; +str ange +rac i +ภĩ +pic kups +kov sky +mam mal +w ps +g able +compar ative +z h +save our +da vey +on etsy +mu ssels +mis er +cri stina +electr on +cra ve +lo ren +precipit ation +m z +ðŁį « +vin cen +snow board +no ida +ah n +marin ated +g tr +town hall +min is +bethe l +adv an +su ra +shi el +fur ry +ðŁĺĤðŁĺĤðŁĺĤðŁĺĤ ðŁĺĤðŁĺĤ +lyn d +so il +sc ence +sen eca +shar jah +dick ens +credenti als +av ar +per k +requ iring +pre fer +j ian +de ca +r ach +ing for +del e +be ep +ðŁĴ » +cis ely +hu ddle +green sboro +haw king +ho ax +hang ar +ç ľ +mis o +lo vin +gre ta +ab ad +logi e +at an +snow flake +mahe sh +fear the +al kal +bobb lehead +ba hn +ju dged +fu tu +feli x +ðŁį ĵ +pi ke +der iv +notic es +au er +dis super +or da +wi pes +am ino +stri kers +foo tb +dram as +pun ching +score less +heming way +bi h +bal lad +chat ter +am mo +kle in +fabric ation +kari m +z end +hi sto +vol ta +rock y +marke ter +xtre me +sequ encing +paradig m +cle ats +boom ing +âģł âģł +block ade +promp ts +yogh urt +pur pose +nu r +regu late +nois y +ing rid +bird watching +bar tender +Ù ĥ +wor dof +cha otic +shor ty +el dest +z app +onceupon atime +fl yo +rit os +mike quind +ðŁIJ ´ +regi stering +. ] +ad ol +gg gg +pur ge +kid lit +ar bor +val ves +synago gue +o th +unanim ous +veri fication +dar rell +ãģ Ħ +vander bilt +tape stry +pro sper +did dy +dra fting +de cep +marqu is +st int +michael jackson +pee led +men us +bb b +sc are +ema il +wri gley +it is +f ell +some thin +bar ra +ed gar +di pping +pu ddle +sla de +lear ner +jal en +ðŁ§ IJ +the daily +mikequind azzi +ju x +iq bal +mckin ney +ra iser +ef an +dr one +cat o +pic ket +cro we +l att +uk o +giuse ppe +hin i +synthe si +ponti fex +song writing +to d +swit ches +din ners +h q +gabri elle +pensac ola +cir cle +expo ses +ev s +riyad h +pro men +o ck +sa j +cit ation +brew co +jo si +ep aper +dri f +point less +tang led +cri pp +line ups +fairi es +daz e +mour n +bla dder +sal z +bur undi +book mark +the people +sub sequ +princi pal +sk er +court ney +a oki +rac ers +ad m +mom a +critical role +hou n +shed ding +sa ka +ace ous +mck ay +hus bands + ½ +me da +accu sations +ro sel +nc is +witne ssing +or ama +go ds +hil ton +el man +ÃŃ n +meg ap +cra ven +announ cer +crit eri +sheffiel dissuper +milit ant +consu l +hoo ded +aby ss +b x +ma dam +lo cu +mary am +manic ure +grat is +ac tresses +ros ario +this dayin +king ly +gn ome +cel ine +r ous +he el +lil ac +vish al +ab h +thor ns +s ls +ne al +construc ting +be ren +s lang +ma ins +far ra +sar ko +pai ge +gu iller +l ala +ice berg +nou n +plann ers +u mmm +ou ses +ill ary +ma an +box ing +zi pper +srin agar +migu el +o str +mp o +responsi bly +lan terns +appli ance +x b +gren ade +neglec t +dy sle +ham mock +ne ctar +wit cher +r gv +di ence +ser bian +seed ed +cru z +bi sh +sp he +e q +sky rim +alge bra +phil ately +bungal ow +ge off +y ves +demand ed +consider ations +the vamp +pawan kalyan +co ded +grit ty +erup tion +se infeld +uni denti +ëĭ Ī +wor m +ac us +se ung +dun g +ro land +su d +di visions +ab lanc +shor test +j f +p oun +plant based +be to +tough er +mc o +don et +mark us +v fl +ðŁı ł +open ing +co ward +caber net +o xi +burle sque +sand ra +su mo +consi st +tho t +cay man +motor ola +gutier rez +d slr +y w +no bel +nov ice +moms demand +grun ge +sp or +d cc +pre sses +sli st +allot ment +voc ational +ft c +pu ja +lo ven +utt arak +tan dem +sh ep +come dians +anat om +cant wait +healthye ating +west side +mar gins +chi ang +asbe stos +stupi dity +proble matic +fit bit +: $ +ceil ings +shu a +protec tions +bio tic +beng ali +re sts +bien nale +tim o +cul min +e minent +affe ction +unbeliev ably +individu ally +canvas sing +wh itt +nov asco +chin son +h pe +go w +gloucester shire +pa o +thresh old +chev ron +s ine +we ther +pp ie +aqu ino +antwer p +âĸ ¬ +po on +inst af +equ ine +cinemato graphy +nbaf inals +vali ant +kil kenny +te rence +syste mic +sr l +p ound +made ira +pl ough +tre cht +mat ed +mp d +ransom ware +ph in +li qui +bb ce +boom er +i standwith +con ju +r te +nar a +foo lish +da shing +vier nes +br ite +da u +juni per +ai da +you now +ra zer +de i +repe ating +comfor ting +adjac ent +e to +ca sted +chat ur +mu er +syn th +san itary +mac le +independ ent +law ful +e erie +h or +ðŁĴ Ń +am rit +vel o +station ery +mu f +may may +contempl ating +elabor ate +gre gor +dri es +ac col +ภļ +schwarz enegger +ill nesses +day break +follow back +collu sion +electr onic +jo vi +hiro shima +ta w +hom ec +mic ah +qu itting +fro sting +ben fica +hel i +s ical +pic cad +corpor ate +ment orship +you are +sing er +shi va +ru ne +ing er +ri um +play able +doo p +wil low +ter re +ni p +at d +war bler +profession ally +er ase +proce ed +pedestri ans +mis chief +ben ding +alas kan +c kett +mo p +dd les +shut ter +ge ared +atene o +ma deline +g ations +o sha +der ick +sw ild +an gry +pat ents +hun k +decre ased +fr y +ðŁĴĸðŁĴĸ ðŁĴĸ +sal on +quant ities +d ario +ni gel +ku ma +jen n +happ ye +xx x +rex perience +pro s +au sch +rele ssly +ham burger +fuku shima +er ne +stat ec +ren d +may field +j one +lef ty +bern stein +sm il +gener ates +fore station +band its +ta yo +r ca +ac ci +rodri go +kn app +elo vers +vege tation +u ral +le ft +ħ ï¸ı +worl dre +sur i +embar k +w son +ba you +mu ller +mo vers +ðŁķ º +presby ter +l f +cre e +bat b +sal am +demonstr ations +an ec +n pc +it ics +to graphy +re inst +thur st +tal e +off ences +smart city +bro tha +ofthe year +in valuable +ear n +ðŁijı ðŁı½ +kre mlin +gra dy +town fc +guern sey +ma ha +contag ious +dre x +be en +( £ +nati vity +k tm +somer halder +comp ounds +íķ ĺ +" â̦ +af g +ott news +h ound +fire fly +cil an +donet sk +volunte ered +ak ira +è ª +sing ul +st h +dro wned +mand o +he ir +ðŁİīðŁİ Ī +tax is +y uki +vel d +k ans +el k +ran ts +hash tag +t eng +ro g +a at +gru b +e ber +in india +colo ssus +sig ni +so ever +mile stones +der o +differen tial +phu ket +master mind +an gh +mel ani +bro ker +actor vijay +stun ned +continu ity +af fl +vo cal +perenni al +fianc é +in complete +hun ts +re issue +domin ates +tur meric +ro am +ri on +bag ged +nas sau +fu t +x ox +national trust +jo ye +san o +hearth stone +dis respect +le es +h se +siber ian +offe e +re stock +wolf gang +re gan +plan o +un wind +re par +mil le +] , +skul l +fat ally +concep tual +ðŁĮ ² +f é +ber to +b ms +u a +mag na +notre dame +le te +la undering +heartw arming +buffe tt +go at +pe abo +wind mill +v ac +continu ally +az alea +mem brane +can cels +make yourown +athe red +p to +tor pe +ðŁĺ ł +ðŁĴ § +sc ares +le aking +z et +pix els +ac i +kh il +marath i +ðŁĻı ðŁı½ +u la +tam u +chandi garh +z agre +aa b +pronoun ced +aubre y +sand er +pun ta +har low +ic elan +celebr atory +so t +unci ation +stru ly +mc dowell +deepi ka +remin ders +my stical +ct c +chat ted +s ica +bar gains +ch hat +ru bin +m net +oiland gas +pel ican +o at +mor ality +k our +i h +nu clear +gc u +ric her +vene zia +m ma +le ith +ac company +rich mond +sports net +ba ahu +smu ggling +mm i +ðŁĩ®ðŁĩ ª +twi sts +sahi b +.... . +amb itions +il lo +histor ical +fo rec +show biz +pon ies +chas ers +remo del +will ing +prince sses +am ple +cushi ons +ac les +lot r +da ch +an the +in corporate +new bury +ki ri +fried rich +ab v +ball ers +alber t +ðŁij Ń +let i +nan op +ci de +anal o +n sf +)) )) +griffi ths +valen ci +ro ano +fun run +babys itting +ca day +ent re +u ck +slu g +tic al +the sims +ro ar +car ney +g am +sto we +fi d +bun ny +sham rock +pe cu +mol ina +go cougs +con tributes +transform ation +mo y +v aj +sever y +antioxid ants +thir teen +sight seeing +l j +reversi ble +odd ly +hoo kah +nou vel +hal al +fe i +stab les +mul t +ho pped +bra ids +inter change +ghana ian +ww ww +eth no +con junction +ago v +ye ti +earth and +ts p +con serve +heir loom +metaph or +woo f +tor io +self less +n wa +em ilia +yl ene +y xe +gi ar +moder ating +pro bz +b fi +ne er +du mmy +hanuk kah +we bber +k v +eye brow +dag ger +su mp +ra ges +ork ney +tb o +hal sey +assign ments +tr onic +scri b +co on +an war +# âĢİ +jal ape +flori da +qu aid +haw keyes +âĻ¡ âĻ¡ +street car +ro g +dat lantic +gran ola +un changed +expect ation +Ù ĩ +mar lin +gu mmy +ðŁĻı ðŁı¾ +awareness month +oil painting +mu th +per ch +jun to +villa gers +mor g +che ated +web comic +the future +d ps +la kings +men tioning +vo or +ident ities +accor d +mc gu +l pga +rum our +massi vely +m pls +heal y +d ate +sp oli +re visited +on t +al and +scru tiny +lakel and +bl ending +< / +an kara +jami edor +metab olic +f ences +ann y +å ħ +semic on +oo tt +space ship +wack y +le ta +ap ac +she e +in herit +do res +ðŁĩ¨ðŁĩ ¦ +gent e +tw ick +ri ms +gal ve +de ville +king fisher +scorpi o +ow l +al ar +vari an +ðŁĹ ĵ +vene tian +star dust +then orth +q ing +har rington +consul ate +spectac le +ho bbs +tur ks +gre er +mat ing +ðŁİ Ģ +ðŁĮ Ģ +direc ts +í ĭ +pompe o +vo iced +la os +tz u +pro me +pri sm +mer c +fortun ately +bc fc +mcdon nell +not sorry +smi led +t ba +for war +mid term +dar by +we instein +up grading +wol ff +bron co +cab ello +ðŁ¥ ĩ +fi able +shar pe +bat tered +sat o +myth ical +instap ic +pre pped +eni um +e spo +di aper +explan ations +who pping +ragn ar +pe el +antibio tic +l acks +harri son +li sm +au l +qu ail +martin a +sent encing +sc ams +di di +tr onics +ãħł ãħł +go ff +za in +param ore +cha ined +clin ton +li ff +cott ages +em on +reve rend +consu mer +ce an +t any +lum pur +e bay +sto ol +ðŁĺ» ðŁĺ» +ta pro +h ath +modern art +just ine +prover b +app y +tra x +mani fest +am bu +nai k +pe pp +r sd +mer chants +kitch ener +shi fted +li zz +âĺħâĺħ âĺħâĺħ +âĢĶâĢĶâĢĶâĢĶ âĢĶâĢĶâĢĶâĢĶ +uto pia +tom o +ou ted +com ers +chiroprac tic +book club +cin dy +pro hibition +se uss +ë¯ ¼ +thin kin +rr rr +go fund +t ack +om b +catastro phic +ling u +guild ford +bo td +ॠĭ +plan ter +^ ^ +win k +kath mandu +sto ppers +smooth ies +re efs +hin d +bell amy +Ħ ë +waste water +vo or +nat l +! ] +re el +y ap +scoo by +work space +corin thians +bl un +obli gation +g bbo +dy son +cra vings +ell ington +dap l +wre xham +earthand clouds +uk runchat +positi oned +kal b +four square +jo ck +im pending +even ing +ath y +pro claimed +c ites +ann apolis +san i +mar th +ir l +accom mo +ka a +fin a +y aa +di sper +ec ar +bha k +will y +ðŁĺĢ ðŁĺĢ +mcder mott +mo j +gener ational +u said +train ing +lon ely +lo res +impe cc +âĢ IJ +beav ers +ma ki +he b +aap l +å ı +wolver hampton +leader board +me u +c fa +easter n +hu r +civil war +ou rage +hor ned +le high +awar ds +evi dent +gi gab +r ous +ma del +ro byn +ur gently +k ors +en as +heis man +bam bam +fab ian +f om +evalu ating +assemb ly +out sourcing +hun tsville +ðŁĶ ª +justi fied +cashi er +sp aper +buc keye +analy tical +illumin ati +au tho +o j +sha de +geel ong +wh ey +he aton +terri bly +ele k +un charted +sd live +moto cross +her mes +dar shan +dar lington +cash mere +gri pping +cilan tro +pun ish +... : +ðŁĴ Ħ +inst ance +der i +lo bal +muk her +sp ar +thin ker +fre mont +com piled +color ado +vig ne +sm d +whe ad +villa ge +le ek +formula e +ta res +persist ence +?? ???? +ped ago +he z +alzheim ers +vul ture +off ence +is great +suff ra +kick in +h mmmm +broad way +ï¸ı @ +art i +alli son +endor ses +ry u +lolli pop +soy bean +kend all +cer a +inv ade +( ðŁĵ·: +conver ter +car pets +ho bo +fr it +pe ac +es qu +ern an +ou f +an il +di ffer +ch ing +bre cht +sp g +daven port +stra va +sever n +n gos +stor ians +fe te +parame dic +j hb +al amo +sne aking +gold coast +roof s +isi l +depic ted +projec tions +nu mb +o ss +ep i +glu cose +zid ane +infin iti +íĺ Ħ +ran som +ton ics +fal k +g ler +ou tw +re ss +week ly +the on +n ole +ðŁĩªðŁĩ º +vol ley +sum mar +neg ativity +sam son +ye w +aus votes +ju l +ju dy +f art +pra yed +pal ate +multicul tural +double header +cycl ones +pier re +ãģ ¨ +âĺ łï¸ı +rt w +conver ting +wir ral +l ari +ir relevant +austin mahone +an che +ya an +sd f +$ . +explo ding +ulti mate +prof ici +gofund me +cell ence +ep stein +bul lied +sep tic +à® ¤ +lu mber +cu ff +vsco cam +pl or +ภ¥ +se ok +ro to +venezu elan +sor ta +spir ited +daniel padilla +team sisd +radio active +icelan dic +ðŁĴ ¤ +ver e +accommo date +shi pp +ot ter +ol ina +e go +su la +san antonio +de as +simil arities +âļ ¾ +y om +bro ward +å ° +can cun +veri fy +on te +candle light +ìł ķ +inf ants +az am +ðŁĺ ° +le ven +un stable +bloom ington +x ford +con tour +y p +innov ator +histor ies +po y +lolo lol +ex pires +cat alo +bill boards +an ab +el ic +novasco tia +fa ire +ìĿ ´ +rock well +gr ille +az tec +joh or +ur struly +fi ren +dun lop +id le +port man +jo es +tx hsfb +hol m +cham ele +under world +lo ss +ti em +therap ists +past ure +pa ste +ing now +vul can +ra gon +lar kin +o shi +ho co +child hood +umb rel +success or +kath y +iz en +° ï¸ı +share holders +ol ga +ai b +he ap +fl aming +ro u +air tel +rat t +z ane +vo w +thor ough +sn ag +par th +un conscious +ve y +new release +gh ee +croati an +facilit ating +swan son +astor ia +to logy +master y +ðŁ¤ ij +bil bao +trou pe +the ori +chey enne +ro tt +shore line +gra sso +master chef ++ ) +vi x +ellen show +as g +an ak +ku ya +safar ilive +debu ting +blu m +list ener +v ins +book shelf +smart cities +makeyourown lane +; ; +ðŁIJ ¯ +ri zz +on ward +bull dog +bear ish +vir uses +fri gh +lin den +we iser +sn t +gon a +dre sden +fl anders +cu k +wheel ing +ba u +atu esday +surf ers +swi ft +mc call +arbitr ation +aw d +mon c +b ine +at x +re fr +mi ro +po sey +n are +rit ter +âģ ¦ +play book +blow out +sports manship +s oooooo +malay alam +gri ms +bur bank +infin ity +sar gent +oit nb +joseph ine +ski pping +par kin +excur sion +semin ars +jo har +par tridge +post game +ll ll +blan che +temp ting +m na +lu ka +is ers +to ffee +bar ron +he mmings +sa e +go hawks +cu pid +li mbs +con se +un common +z ada +head shot +so ils +pione er +mam ma +sem itic +pan dey +jamiedor nan +spl its +vel a +son i +ra ff +t mobile +âŀ ĸ +pra wns +lit er +enjo yment +egg plant +tu b +cultur al +us ic +suspici on +sy cam +summ ed +ma du +ho ck +up wards +eye ing +ri ve +assas sins +âĤ ¬ +out fy +chi ves +t ner +la is +por ridge +sad dest +w cc +vick i +sna ils +biz italk +mill an +ðŁĮ į +sam oa +j ing +mi key +gu j +chel ms +eli gibility +arma da +thro p +surger ies +ãĤ ¿ +mo hawk +ex its +me m +is lington +c me +land fill +kait lyn +ðŁİ ¼ +combin ations +tomorrow land +ver b +cor a +pre cisely +na om +ðŁĨ ķ +shr ink +sof tly +merce de +mand el +poo dle +ball erina +sop h +jux ta +y at +ary an +hesit ate +lo wered +gu lar +dungeon sand +ron an +my ri +sp f +men opau +gra sp +pa thi +fe asi +fla w +shi story +ste ward +gg le +fay re +cli que +credi bility +yo g +sec tion +mu sko +se ville +no tt +cal m +mate o +indic ted +fi ba +by l +lin o +u kin +!! # +enig ma +siri us +bu sc +ðŁį Ĭ +mac kerel +psal ms +a at +tomorrow spaper +ðŁĺ ĸ +p fc +........ ... +shre k +mul let +o sh +danger ously +immen sely +am ur +ðŁį Ĥ +pro por +sy a +london marathon +abo ve +obli gatory +pro v +ra cha +alex is +pri mary +sh h +ether net +d stv +cou gar +un lucky +ni l +steak house +mel a +fc bayern +cause way +ca therine +fluore scent +nx t +to kyo +au sp +releg ation +qui zz +shored itch +proud tobe +promo s +inter acting +home brew +da esh +w pg +stead ily +provin ces +bal lots +i ah +al to +< << +you u +ri ley +prefe rence +tra verse +incen se +am munition +ho dges +# @ +hail state +tart an +witch craft +vent ilation +liber tarian +! â̦ +ow es +% ! +ong chang +bru shing +le ic +fi ber +under attack +down load +ex pir +hy o +pompe y +mc bride +y ag +stre e +com bat +ten ding +ai ra +gug gen +ab ra +in na +fli ps +aw al +m ach +dol lar +inspir ations +z um +o du +it ty +video game +aqu aman +har u +bel fast +je b +but ch +us gs +calcu lus +go yal +mor gen +x finity +stand up +contrac ep +sab re +na be +in secure +gener ously +epit ome +l w +t ca +narr atives +don nell +pand as +ber gh +tu t +ker al +fel icity +br ampton +quinte t +nom ore +ðŁĶ ij +lo i +alham dulil +ðŁĶ¥ ðŁĶĹ +ston er +shaw l +clin ical +bren dan +gon e +fla wed +tri ppy +j g +al location +po aching +ve vo +mo cks +lef tist +bon uses +condem ned +abil ity +st ating +microbi ome +bio logist +for you +wahl berg +ss or +ift ar +w ul +ÑĦ оÑĤ +pom er +me me +ver te +tre ll +tra it +in let +hormon es +deliber ately +vill ar +battle ship +p bl +tw enti +ho kies +dal ail +say a +may fair +han s +die ts +⾨ ⾨ +od in +hot spur +pap i +k ana +k amp +fin na +flo tus +ti ans +unic orns +tribe ca +chang ers +fore ground +out a +inv aders +gett ys +tomorrowspaper stoday +mac millan +hand written +w fp +u de +state of +base d +âĺģ ï¸ı +cas m +psy ched +histor ians +fol d +d da +ag grav +p ans +green way +au sv +ðŁĺ ¶ +shradd ha +inde x +be sti +zim mer +t ness +eye shadow +ot te +go ts +distribu ting +pro min +yo l +ace a +tram rahim +hoo per +supre me +jam min +intu itive +quali fications +sli m +sid di +jay ne +tri pping +g tx +pun s +e manuel +om g +mid summer +in to +succul ent +ri en +new mexico +o or +hoo king +in f +ðŁ¤ Ŀ +flir ting +na hi +g friend +t ps +hel ix +z s +on ie +ct f +kri s +irresi stible +fla p +ðŁijıðŁı» ðŁijıðŁı» +us wnt +ru d +ram ps +pin oy +ot w +lol z +low ering +favor ite +t mc +phra ses +her mi +aver aging +em br +ben o +estu ary +sle eve +ribb ons +ta sh +ภ¹ +x f +aw gs +sun ited +brew eries +anir ud +pun ches +ol die +ip ads +wi fey +land lords +d ji +gun ner +íķ ´ +tex an +ex op +cas sandra +s off +ðŁļ « +igh ton +bak ers +awareness week +v all +ear p +bts bbmas +apologi zes +âļĵ ï¸ı +was ps +states man +snat ch +watch dog +ra fi +after party +spi ke +j er +peri ph +r nc +mu ll +le en +shi es +li eu +urstruly mahesh +mer ton +de sai +shi f +ðŁĮ ± +pe dic +gos ling +arrang ing +ww g +gen y +you uu +netfli x +e ttes +k wi +bernar dino +am iga +Ø ¨ +kashmir i +t ings +emer itus +de cat +ab domin +dc i +pha ses +d jan +be am +op ry +i shed +the ellenshow +the st +habit ats +to ons +mclau ghlin +ri pper +micro biology +tal aga +clu eless +ss u +cro che +bro mance +longe vity +zagre b +prev ented +tra ve +spo ilt +darry l +migra ine +al cat +dd dd +vi v +ser pent +mat tel +jam a +con quest +î Ħ +sam sung +presbyter ian +ket ch +fire fox +mo tif +le c +cho pping +cher no +j ann +ðŁIJ ° +pro lon +wake up +conver gence +mersey side +heart broken +lo oming +hal lucin +mai ze +commun ism +mo h +twitter storians +serge y +res eller +favor able +ed gy +re iter +mal aga +live me +ka hn +pul sion +big g +kim kardashian +ati o +tyr anny +ru ption +q ant +pro ven +by z +pu shaw +kri stin +e er +tar dis +ri z +awak en +mi ko +un documented +path finder +indirec t +resemb les +h ler +conce aled +scand al +re im +d nb +cr itters +attend ant +apprentice ships +aa u +scre amed +l su +fa h +har bour +ed d +bat sman +li ss +mi sha +spani el +it f +advan cement +fa c +close up +cecil ia +medi c +narcis si +lav ish +gi ac +ma ys +le it +wine wednesday +pushaw ard +let to +curren ts +bug atti +out ine +w j +un do +ler osis +devo tional +ðŁij « +on na +fais al +sa una +himach al +am ii +à® ® +di zzy +screen writing +ph x +sp n +ick i +ag irl +fi shes +wb z +pi m +bo ar +ac id +! .. +rocke feller +n ga +dra stically +simpli fy +dru mming +autum nal +gur mee +lor de +jo ann +give up +b our +am ura +der land +sim pler +wat son +tri dent +concor dia +bel lum +bre k +dum plings +vi on +dungeonsand dragons +sp ri +ascen sion +wil datlantic +u st +rob ins +legi on +insi st +jar o +gue ss +so b +bigh it +pool side +negoti ating +mc gill +bil d +techn icians +miti gation +ajay devgn +b to +ant en +cosmo politan +ðŁĺĬðŁĺĬ ðŁĺĬðŁĺĬ +patri oti +temp er +promen ade +nav ajo +nam m +wrink les +dc fc +le ach +bru nette +r f +cout inho +al ti +tradition ally +op tome +na z +accord ingly +rec ard +de ets +sw ell +po sure +whit ening +strang er +illi on +here ford +u wu +ro bber +cotsw olds +cl en +gor ge +nam aste +re lish +gri ff +adren aline +bla sio +val e +ê ² +toler ate +rail minindia +jen sen +ho ven +el lu +ob sole +eisen hower +unidenti fied +than niversary +body guard +Ø ¯ +i dge +sch al +stock port +sn i +re taining +po po +pix ie +oli thic +ki er +ha jj +sa z +cor bin +!!!! !!!!!! +v it +me gat +de h +circu it +af fleck +theore tical +hope less +u ab +slu mp +b ice +jam med +let stalk +can i +side ways +labyrin th +re fs +ha hn +jare d +ðŁį ¹ +jam bo +ph yl +enhan cement +c tr +ful lest +se ye +do ba +cho ic +yo s +cb j +andr é +re watch +pri ma +doctr ine +for gets +u hm +ar ound +u le +art lovers +shi raz +har th +ex tor +Å ¡ +unexpec tedly +eli us +y x +em my +se ac +ðŁijĩðŁijĩ ðŁijĩ +correc ted +com bu +wom anc +cou gh +what son +publi shes +divers ity +back bone +lock down +mesmeri zing +nor te +ma b +desig ner +í ģ +ra gh +mole cules +get outside +the beatles +semicon duc +nach o +lun es +ham mers +sul tan +o on +fe ren +att ach +ar qu +uttarak hand +s ash +; - +tre ad +i ko +ar thur +scandin avian +r ation +ga el +charge able +fish y +v ma +hand bags +char a +ay ne +de fam +sett lers +qad ri +pal ais +in wx +apocaly ptic +poo ja +a es +at ories +proof ing +n lp +ts la +v ina +li do +dee phouse +informat ics +v v +pp ings +di ss +à ¯ +uhur u +st ony +betra yed +b aff +my ra +as pen +allow ance +tam ara +ci f +cor bett +ser ge +di go +ambi gu +pain ters +p cr +p ca +nom s +lo ft +ve e +opend ata +ðŁIJ ± +alex andre +identi fies +fantasy football +re production +brom ley +ware agle +mm er +p ss +cu es +ay at +hut chinson +sar ac +jack man +ira h +ap ink +col s +aussi es +ex ecs +day ton +ðŁĻ Ĩ +im v +har am +chuck le +authent icity +ar do +incub ator +ภª +photo shopped +embrac ed +fight for +gor man +zz zz +schol astic +cri sps +te apo +mid night +ga ine +col lier +s ate +de tte +å Ń +imag ine +i ff +tw ili +i fication +teat ro +nor ma +es ur +emergen cies +rise up +r inger +hass le +cait lyn +tranqu il +vers a +se b +over look +gin i +bo go +se re +may ne +henri k +contamin ated +rhapso dy +pro portion +wildatlantic way +âģ© . +organis ers +tran e +stand ard +sper m +laun cher +ric ci +her ts +paper work +showcas ed +mer yl +pen a +p imp +disa strous +^. ^ +phar a +x is +fron tal +sw irl +sp ills +swag ger +smart watch +sizz ling +savi our +cat ar +bb cr +refurbi shment +dr is +citro en +absor b +patrioti sm +il leg +chro mo +fresh ers +ru s +lim iting +ef ish +down ed +man dir +hazel nut +p all +mac on +disappear ing +quali fies +bo on +bar racks +am ine +gen dere +ðŁļ ĺ +j es +ãĥ Ń +qu ito +middle weight +sch au +quad ru +aci ones +limit less +ðŁijĮ ðŁı½ +ch man +ar av +regulat ors +it up +batter sea +mil ford +g z +tic king +gh ou +cru shes +tu tu +dread ful +fam ine +for change +dalail ama +ðŁĴ į +whit aker +hash mi +h us +vo d +bet te +aa ah +iso o +ðŁ¥ Ī +ha ar +la ine +b v +all day +spr out +indie games +free bie +gree ks +but ler +ill in +ha al +ware ness +si ma +public health +gam a +wa a +oun g +goo oo +okin awa +off enders +im pose +ho c +young ster +story teller +sc ap +figh ter ++ , +whit es +music monday +re za +go ducks +bri a +mi um +cas per +cru mbs +a ad +marti alarts +ch p +ri gged +tn g +harve sted +sa k +do jo +mill wall +b nw +oc d +histor yof +t mr +si rens +fan ci +caregi vers +vir a +son i +recur ring +acknowle dged +ðŁı Ł +oph ile +bu cky +stre ssing +roo k +di gger +vi val +san do +fle et +si ers +sel caday +refre shed +anti fa +a que +po lo +disappear ance +de mb +âĮļ ï¸ı +ren ted +ber ger +g mb +cu la +ss al +goo dy +u hh +marcel o +w anna +soft ware +shop small +turt le +tom as +fri sco +ðŁĺį ðŁĴķ +jim enez +c su +day z +an do +wyn ne +choreo grapher +cerv ical +trail blazers +ed g +zend aya +travel blog +el s +whole some +co g +lab out +ar ney +del le +su isse +ma si +ine se +om be +fi ddle +re claim +pa u +wat cher +sla in +ber ty +opti mum +el ites +min is +tur key +patro ls +ger ard +au reli +wild ly +wal tz +br gy +w ob +cre st ++ ++ +ve z +fro sted +davi do +the x +param edics +p into +han k +du pont +ur g +fo stering +micro poetry +spec tre +---- > +ne uro +fri da +music al +galve ston +e ffic +sc ape +pal azzo +th all +pro visional +p js +au re +ðŁĶ ľ +mam amoo +kit ties +cre e +wa k +lo ool +lu pus +cn blue +à º +ðŁİ ¬ +rac ed +tro se +om as +stri de +co ors +⤠µï¸ı +in comparable +cy ril +broad er +arec lipse +ðŁį Ķ +inter val +ti ru +co working +w aco +a ham +a bee +flouri sh +the times +ol ini +kick boxing +lu cer +at la +as un +casser ole +mi aw +lobb ying +jan ice +cir que +re flex +le ary +sanat omy +tem pest +se mb +mur dering +us av +ro bo +on et +p cc +nati ves +life of +sa ha +ruth less +rel ates +appeti zer +pye ongchang +nor d +er u +a thing +ug ly +pl ying +bran ce +organ ise +kend ra +dat o +chees es +par ma +burn out +a stra +pre toria +adjust ment +uk u +sl o +li ken +fav ors +cli ve +be ets +snow donia +go tv +sy n +open house +pan i +portra yed +sl ated +me cca +ren al +supportsmall streamers +staf fs +da o +bi ker +vik tor +tit us +admi red +ðŁĵ ± +hurric an +he ats +gl ory +photo genic +mer i +de por +burn ham +or angu +dj ing +impre ssionism +ign ition +ca i +w ynn +de pe +cove ted +colla gen +sau s +or nam +administr ators +ss on +nh politics +hahahaha hahahaha +aspir ations +r gb +swol len +so we +sc r +diver gent +hou ghton +han oi +d ory +ni ki +land ry +b cci +ðŁijĮ ðŁijĮ +is mail +tri pod +her d +bhat t +dress age +tab by +ingu ish +hur on +à³ į +à ł +to das +evangel ical +chor ds +st john +slo ppy +marty r +face book +ali ght +sen sei +kath niel +r ites +zi one +u o +revel ations +weight lifting +pan o +nc wx +ac ton +à® ķ +Ø ² +som a +à¸ Ĺ +respec ting +mar che +fore man +be tty +ki k +shi bu +po on +argy le +k swx +et z +mar bella +brac kets +stand by +fire side +defi ance +v ex +britanni a +in habit +appo int +piyu sh +le ash +sci ento +fla sk +sen na +> : +at roc +sand erson +id lib +dhan ush +ðŁĺ Ļ +en thr +hit ch +de dly +al ley +dor k +mon do +cudd ly +mis sin +ye sss +night ing +j pn +w ary +ump ire +ma z +ê ³ +bab s +ĭ ãģ +stan ford +posse ssed +exce eded +ðŁĶ ¶ +wall art +tra p +j il +hi bis +sp ying +scri be +khali l +trans lator +lu mb +di zed +ch c +super vision +shut ter +ja g +_ * +yester days +ms f +hi hi +gonz aga +gille spie +vive k +ec static +this morning +ch us +ed es +ston ed +be es +ðŁĩ¹ ðŁĩ +tur in +ho ver +at rics +ster n +sam heughan +auti sm +mi ya +eye witness +writ ings +travel tips +chut ney +px rtg +keny ans +my stic +k rit +/ $ +red head +world ly +am us +op la +le ve +gab bana +se en +o clock +gang a +keen an +sc ent +ol dies +go green +corner stone +comp ly +con cours +ðŁİ¶ ðŁİ¶ +ha an +con fis +aw son +cle op +î Ģ +su zu +sau té +al gar +subscri ber +este emed +ãĤ¤ ãĥ +worth while +mel rose +flo ck +bri ghtly +viol inist +p ere +sli pping +and co +si gh +ha van +cu lo +m sa +fibro sis +matil da +ra fting +aw ard +ë ª +mm mm +ge aux +ste iner +sin n +help ers +beet les +ai mee +tai wan +pistachi o +mac beth +m zan +descend ants +on sale +in r +il m +grou se +sa ig +mo w +bi gre +adjust ments +tu la +mathe w +transl ates +mu h +bol lah +ðŁĴĽ ðŁĴĻ +amo res +ab outs +bomb shell +bla ster +x avi +s ns +k roger +ga ther +erad ic +daf t +chem o +ben ches +ðŁĩ© ðŁĩ +ut v +our a +n ko +gator ade +biaf ra +ok state +im danielpadilla +dom ains +open ingday +kid do +do i +ric e +day care +mac millan +ba thurst +cheer leading +ðŁ¦ ģ +cash back +k won +hob bies +exem pl +ries ling +âļ ª +ag les +ny s +every thing +nav is +ad di +magne sium +faceli ft +ark ham +grand es +extre mist +don at +vit ality +pump kin +be tta +sl td +arti san +li by +pe aked +ah hhhh +mary am +assi m +un sc +ment e +al aya +low ers +ar as +gri ev +le ip +gr ati +cri ses +spr ints +exe cute +w to +ms d +mag ical +re viewer +spark les +juke box +ðŁĺĤ âĿ¤ï¸ı +pay back +licen ses +dun kin +bel t +lake wood +h ateful +bud gets +rev amped +ph erson +ky iv +went worth +ro sen +cru ise +gi ggle +def star +assassin scre +ym outh +win kle +w fc +band wagon +b kk +w iring +kear ney +south side +pe tit +! ðŁĺį +nor dic +mir za +mu gabe +v l +scon es +k tv +sand al +du c +m alls +ðŁĴŀ ðŁĴŀ +it c +al ay +im pair +un rest +flo ss +c é +ab ou +var ying +muse o +ser ver +di ya +hibis cus +ero y +mer ritt +fin dom +f pp +un usually +go tt +conting ent +ali aa +ball on +jo l +hi ked +zy me +ay r +ag n +ga z +perio dic +spar ty +practi sing +lin ton +tal is +cy pri +womanin biz +radio disney +ðŁĮ ¼ +jump ers +endo cr +ðŁļ¨ ðŁļ¨ +and on +shar apo +mi er +ma sonic +fac tories +vi en +bb ers +ìĽ IJ +hol d +ke bab +be ak +approach ed +ac milan +mun ro +ko sher +excell ency +negoti ation +walt disneyworld +cr ouch +te asing +suppre ssion +en ya +b ce +transformation tuesday +cal lie +vis was +p gat +ic ted +end ings +esc u +recru ited +it fc +collabor ations +g ino +snu ck +ausch witz +i fc +x ii +ke sha +ger vais +clo ak +x l +sa ad +prob ation +pre cau +mac in +anasta si +le k +e azy +daysof code +mariah carey +yo g +stit ched +boy friends +sh ar +ph ile +ag u +twin kle +phi shing +week ender +ic ton +gurmee tramrahim +al ton +l eness +all an +pen ultimate +kry stal +go u +lan de +dis mant +ab using +nor se +pat erson +ed mun +ap an +xi umin +sk el +cat walk +re act +wal led +t angle +br yn +ve to +super moon +cas ablanc +appreci ates +ski d +bo th +catal ina +ele ague +cyber monday +cau tious +ðŁ¤ ĵ +nov o +hamp ton +ha ye +jose f +var an +lo bos +roano ke +orph ans +tt in +squ ads +ishqba aaz +black panther +e tu +k sh +cru mble +cess na +reli eved +scul ly +pollin ators +explore canada +ki es +kam loops +kir an +pri mal +sett lements +hot spot +brain storming +ce dric +bi ennial +sh ant +âĻ¡âĻ¡ âĻ¡ +do on +hear n +walk way +fe m +ve al +deport ation +tox ins +elimin ating +descen ding +by the +bla sphe +ha sta +comple ment +as cent +ri ga +provo st +âĸ ª +wee ping +anti semitism +employe e +unearth ed +pin o +natali e +bla d +ang ola +lock heed +in ian +ag r +ni ster +im pala +m ke +fan atic +âĺħ âĺħ +ðŁij ¸ +lu ch +simpli fied +gall ery +econom ic +cy borg +con i +sel ma +in ception +ko ala +dv ds +cre sted +m mor +visi ble +n sd +ðŁĻĮ ðŁı½ +w under +refriger ator +re opening +e era +carou sel +as p +balli stic +victor y +mo tive +tre y +sharapo va +si i +mon ter +int end +west chester +sp e +cy mb +vi dal +ll ama +uni v +fin er +crafts manship +jazz fest +b ch +ag gio +n cc +lamb da +tranqu ility +cis co +ba den +so bbing +of i +go ta +ru mored +war med +ore an +ac ton +mar ci +gh ani +âľ ĵ +as sorted +pembro ke +pen elope +da f +at ty +aim o +pretz el +carni val +than os +ko chi +mer sal +ham radio +ar twit +cas c +guer rilla +kush ner +k app +al ise +todd lers +steward ship +o tti +ter ri +tem pe +rest less +vit o +zay ed +rsp b +pi on +hi ppo +haw thorne +in as +am ily +nut cracker +lo p +d ali +tro pic +ðŁ¤ ł +ul o +jare dle +py rene +pale o +usa ir +m ould +it ated +gene tically +biom ass +ðŁĩ³ðŁĩ ± +do dd +practic ed +monarch s +un manned +m buhari +am al +photo gra +ko ol +bren don +ju ices +cu re +world bank +poin ters +ðŁĴ Ŀ +tur f +le ds +bor ussia +bapti sm +warwick shire +moun ts +gay o +be gg +co pied +asi ans +k g +moder nist +gi d +front man +concentr ated +y t +sc avenger +iron ically +adi c +ps n +ðŁ¥ ī +cultur ally +yu v +mac arthur +fertili zer +be withyou +ri gor +min ors +z oning +âĸ ł +ri r +adole scent +vin ny +ren g +sand stone +gu et +we sth +ple dged +lac ed +sp ide +v ai +ty coon +seiz ure +du p +appalach ian +ro k +cathol ics +sey chel +posse ss +la ger +jo di +cham p +stra s +d ina +cent uri +cal der +blur ay +ðŁĩ¨ðŁĩ ³ +mo do +an nette +youtu bers +chap s +ang ling +label ing +a qui +pk wy +ly le +bi sexual +lit ur +dug out +li bby +grey sanatomy +sub stances +august us +rall ying +fi del +ing ue +äº º +hallmark channel +tooth brush +m á +adi rond +ag gi +ðŁĵį : +cru sade +tax ation +k z +i ver +dou bling +room ie +wa b +en rolled +az on +a ju +grand children +as df +ðŁ¥ º +mat ic +ough ton +utili ze +ðŁĴ £ +pon der +rais in +dys function +co bain +butter nut +e man +su red +dri an +and friends +with the +on omy +heine ken +bri dal +leader ship +pyram ids +deutsch land +jo cel +bo wel +y qr +horse power +be acon +ing eni +gra dient +fer mented +mo om +thing y +pot assi +wrist band +bor d +bo died +ðŁĺŃ ðŁĺį +ma pp +ka u +cyber punk +ph ish +loo king +co ates +ap ur +am ie +uk labour +at in +g la +adop table +shel by +v illi +ri ya +m ingly +cli mber +bumble bee +ðŁĺ ¸ +c sd +âĿ ¥ +hospit alized +c ki +hat er +ch r +re tina +it a +fan base +beat rice +gwy ne +go ss +fo s +favor ited +swachhb harat +mal ade +mon mouth +" [ +si van +sh hh +command ing +sains burys +wee d +g man +ss w +rep tile +iv y +tro pics +roll ers +over cast +ex position +masquer ade +man crush +wa ist +spr inter +sle et +le vin +j pg +_ ( +o pel +explo it +ap a +po we +wrec king +jong in +or b +er ick +bo sco +pra ising +ber tr +to wing +in security +ku t +resto cked +rr p +prescri bed +trafal gar +per t +g ases +app rais +g har +music als +âĸ¬ âĸ¬ +mc fad +ag ony +conditi on +equi p +shi k +atra vel +ðŁĩ¿ ðŁĩ¦ +ke h +abduc tion +pe oria +wil kins +g ms +as d +ev i +ðŁĴĹ ðŁĴĹðŁĴĹ +u z +mo c +halle lujah +guad alu +lou vre +dra wing +go ve +ph ant +fri e +web dev +program mer +z able +games com +clari fy +li th +kin ky +âĿ £ +labour doorstep +son ata +ju ris +mai den +vi adu +buch arest +conditi oned +capit alist +u de +ps b +sp ca +lul la +footh ills +kay o +bon d +wom b +roun der +ce sar +bur sts +ap ra +sw oon +sab rin +fra grant +cle arer +ku brick +cli max +jour no +ag le +ðŁı½ âĢįâĻĢï¸ı +poo ch +hal e +sol it +sal mon +organis ms +bron son +art en +hodg son +alo ve +vent ure +bb i +ae a +ðŁIJ ¢ +ld n +d nr +o zone +el las +man ny +azz ur +un beat +tru ffles +th ong +ma ñ +las ers +ley e +gettys burg +back packs +or is +ma ison +craw ling +la bra +cl ing +dra gging +ste al +dou bt +de van +ck ers +agent sof +photo bomb +elon musk +abo y +dist ances +story line +sp i +nor than +europe ans +wh ale +ser pent +ðŁļ ² +fi or +tr it +ox o +awar ding +class mate +su fc +smar test +rich es +pr k +big foot +ar mb +bi polar +dw elling +om ars +k wan +gri me +m eng +freder ick +navar ro +sorry notsorry +jaredle to +pa ve +sl ack +barn sley +att ar +evic tion +accumul ation +o ir +cat chy +wel ter +vik as +has see +nik ita +mo yes +mathe ws +shi v +gat wick +pro filing +compan ions +mar rake +an tics +ðŁĻĮðŁĻĮ ðŁĻĮ +se se +bo i +bart lett +poison ous +ab uses +ym m +kam pala +guggen heim +imv kohli +dol om +bre e +thro ttle +gare th +fitz patrick +un ya +par ad +mar got +j nr +we a +potassi um +p nc +disgu ised +cra sh +ren ergy +ill ic +coup led +ni els +ci ones +æĹ ¥ +im ent +despic able +d ye +what cha +conne ctions +paralym pics +gaunt let +wait rose +suici dal +star ship +vap or +st ou +law maker +coo led +si mo +then o +offro ad +ja den +bas que +vick y +lu kaku +centr o +tri sh +strate gist +medic ations +hor st +b fc +gra il +sharp ly +ad itya +tom b +kau fman +tri pad +sam ba +pastor al +brit ney +sag an +hill side +mas ons +sar a +z one +x u +to tes +rob bie +app en +mon tag +der o +short film +charis matic +tat ors +ki ba +and ri +al arming +split ting +ic ar +th ug +scari est +sylve ster +an an +u trecht +a difference +me ade +bu ster +air strikes +cu ffs +account ants +ðŁĺ¡ ðŁĺ¡ +new t +bo tt +issu ing +cl ancy +wwen etwork +kyu hyun +rese mble +pajam as +sin k +kin ney +sul ph +or k +li es +la gh +or ton +ra hul +d sc +we will +re am +collo qui +shar ia +hec tic +sar casm +land er +tm z +endor f +ro z +ham mered +fri s +w adi +pope francis +he it +flash light +un born +op es +hol iness +ðŁIJ ¦ +nach t +im sa +gr acing +bj p +ver ts +c sc +home owner +a que +bigo try +anni e +bag h +âĿ¤ï¸ı ðŁĺį +car i +thom p +dispo sable +cardio logy +pat ented +hh hhhh +ld r +stephen son +cro res +fan ning +cli mat +ðŁijį ðŁijįðŁijį +ðŁijį ðŁı¼ +aer on +piccad illy +bank rupt +sil via +emplo y +don ny +commen ting +screen writer +io ta +ce an +anc ers +tu an +street wear +ठ¯ +sk ine +esp a +asi f +os ce +she ppard +more cam +bott le +der s +orac le +google play +aver aged +edmon ton +steph an +sister hood +cru sted +stag gering +methodo logy +congress woman +c abo +tri ggers +mil ky +gli de +tooth paste +room mates +nu ff +gu am +sprink les +alternati ve +wat fordfc +uof t +hal ey +cont acted +bun dy +pro stitu +gh ar +pre ston +on site +hil ar +g ts +c att +hamp stead +? ?! +ðŁĩ§ ðŁĩ +bbc qt +aless andro +resi st +ma idan +t ko +shad ing +pin up +gal lo +sin u +at ec +fun k +ac lu +stri des +rhy me +wet land +bbc springwatch +t ins +wild card +st our +flamen co +pau la +onto logy +gang sta +am ade +ãĤ « +t bs +skelet al +run ner +jard in +harri er +hun ted +z hen +believein film +de mean +au diti +re start +chon dri +âĿ¤ï¸ı ðŁĴĻ +mcla ren +ga b +sh um +au sa +lewi sham +y pg +k jv +fur nished +dor o +bon ded +mor ty +lat itude +_ ) +lo va +water ways +vin ai +shor th +drun k +c ay +ay ana +kap lan +capp uccino +spr o +life boat +has bro +spol ice +tor on +do ing +dam n +sh ree +foun tains +ent ation +mar u +boar der +to pless +j ada +chan ning +ul ls +en closure +gib son +fractu red +brit ton +à ¶ +t ous +por th +dra f +tra iling +mar gate +eli fe +down ward +lin n +gla des +girl power +ak rish +u ki +ron da +ts c +appreci ationday +vis ing +lo om +ðŁį ³ +mex ican +ar gos +y ya +jad ine +south port +d end +si sta +rede em +men g +bra xton +antioxid ant +s key +mp g +fin ding +vibr ation +ce u +kh art +di mini +cl ine +shel ly +hin es +ī ï¸ı +to pical +no ver +ma xx +prim itive +illustr ate +b ounds +tren ton +join tly +breed ers +u chi +wakeup america +b ada +ðŁĹ £ï¸ı +gu acam +sp heres +pere gr +youth ful +lo lo +bir min +t ly +jeremy corbyn +defe cts +co sm +a rent +v aa +bag els +medi ac +cori ander +ic ago +g haz +ab bas +re model +struc turing +pu m +out law +ad ani +r bc +gul ls +n li +confu se +ðŁijĩ ðŁı¼ +vil a +mcnam ara +correc tions +mug hal +ser i +re gain +ss b +lea ve +haha hah +gran de +di stressed +re chargeable +ho a +hou sed +sti l +attribu ted +opath ic +di ps +pri t +head phone +conclu de +pil o +he t +ut sa +nit in +je m +sni ppet +tutor ing +op er +sun k +en sla +cha u +ac orn +quinte ss +ran kin +affili ated +our lives +cl int +se ater +isa ac +ba shing +sme ar +nur se +doo dling +" ; +sa ku +atroc ities +im am +g fs +viol ating +comm end +brad shaw +er ville +b illed +b be +thul hu +i phones +moo se +di os +re w +me thane +strang ely +whis ky +ti ghtly +spiel berg +radi us +notic ing +wi f +ig nati +i fa +ap is +w ali +ha itian +bu shes +y z +v l +ex ited +asse l +tru ec +dom en +ash er +in king +newyear seve +hend ricks +bat i +ìĿ´ ì +rich ter +mon santo +con line +agre at +ðŁ¤ ¯ +master pieces +ar n +rough s +cle ve +se v +fashi ons +to ya +sh ail +cop eland +aqu ari +dec als +are you +y aya +a str +fon t +ml m +ar ca +pp or +pol lock +xper ia +conserv ation +chain saw +ag gie +?! ?!? +si le +sh on +ìĹ IJ +note books +marque tte +de us +bb led +spic er +mc cabe +nor wich +modi fication +boo sted +stru m +sales man +bang le +nis san +hez bollah +brea sts +a af +anth us +sk er +ow ed +her os +gi fs +fo sters +eat ers +du es +_ / +lymph oma +sf am +me gal +afri di +ag ic +p amp +jeal ousy +ðŁijĮ ðŁı¼ +calcul ate +napp ing +g ale +ðŁ¦ Ħ +lub bock +assu med +ren ting +íĥ ľ +subur b +ãĤ · +tech nic +u cla +in front +gar net +ster oids +stri ving +ho war +mo ver +le ton +bull do +is in +ci ao +sn z +fore front +d ams +mid wife +ma wards +cla pton +we in +subsi dies +spr oud +rother ham +phan tom +ar ach +spi el +rac ket +sel amat +no on +l bc +enti ally +ðŁĴ ¸ +sil ve +m oud +kine tic +y asi +ðŁİ © +o ol +mi ku +i za +fer a +flo ren +barber shop +groo t +z est +ne ars +stan is +z and +police man +juris dic +form ations +appar atus +sp d +arti fact +to sc +motiv ating +womanc rush +re dro +diagno stics +ra za +out fitters +el xn +dod gy +ry n +sh d +ortho don +ol de +jay anti +bal ances +quic kest +can ton +friday reads +! * +na a +a ak +ðŁĶ · +behavi ors +rasp berries +ä » +polit ical +cam il +å ľ +di k +ast ounding +lie be +novel ty +tur moil +sul ly +spring break +hon ouring +cc g +ðŁı Ĵ +my little +ky c +pro ms +ðŁķ Ĭ +à ¨ +bi ge +av ril +ðŁĩµðŁĩ ° +mari on +as ants +sur ya +oc tag +luf than +ac ron +fayette ville +ti que +love s +en ca +de kalb +ta ver +de vote +aux iliary +joh annes +tread mill +ay an +qu r +donald son +cher yl +" .... +s ven +kir sty +gun ners +ra dish +o ahu +v sky +i ble +con course +b ps +elo qu +ash ford +te bow +roblo x +ma da +dri ving +th day +spro ject +m ms +band ed +. !! +libr arians +flan nel +intoler ance +her al +ç µ +neme sis +list a +tar ak +cry pt +star plus +vish nu +sc ale +cr is +% ), +j illian +regg ae +pegas us +ol in +ip ment +man ic +l fc +godd ard +ite am +parl our +anch ors +lee minho +talla hassee +ant it +d ho +kid ney +y ash +batt led +az ad +gar is +faul kner +sni ff +papar azzi +ed m +phy llis +con tested +aa ay +se ca +k ton +vel ve +rain ier +for um +tam pab +ho sp +trac tors +ox fordshire +no tion +guang zhou +ðŁĺ ¯ +ref ill +wednesday motivation +sli der +mukher jee +pr att +fon taine +alph on +af ar +ts i +pest icides +fi ends +mo cking +bra w +tran sat +do ses +co res +hom ophobia +docu menting +zlat an +con doms +s é +sun set +kun st +ton ga +ภª +v ation +sp ray +chow der +ra ps +palla dium +nor wood +music history +hoo ker +si si +osp rey +ph ys +conce ded +bob cat +ar mad +ze it +Ù Ħ +ðŁĺģ ðŁĺģ +mer idi +ðŁĩ· ðŁĩº +corn wall +! ), +touch downs +ze it +chal et +mm m +al che +gor illa +fo ss +ati ku +lumin ous +ivan ka +be ek +sta res +sw iss +âĿ¤âĿ¤ âĿ¤âĿ¤ +scru bs +me ath +gusta v +jo gging +confe tti +as os +ers fc +breit bart +applic able +autho red +ya ho +h in +displac ement +j v +ðŁĮ¹ ðŁĮ¹ +ot c +non profits +diec ast +gu sto +inte stin +c ages +me en +lu kas +moon ey +ðŁĺ · +very day +tor ah +is sion +wa c +lever aging +ish able +cu se +le wood +may an +turn table +ju ice +tru sty +tu p +eti quette +supervis ors +stu n +gu zman +confe ren +ric o +fe ast +back ward +pol aris +mic he +jo g +h ing +field house +vel ing +sho cker +esc ence +ठ¾ +vi be +anasta sia +mar ched +kill ing +Ķ ë +fe tt +exop lan +... ( +snow day +lo h +ir ani +la khs +del a +po caly +boom ers +dictat orship +ac er +tur keys +quarter final +muskete ers +ðŁĴĽ ðŁĴļ +sf x +museum week +sc ala +ri sis +( ðŁĵ· +ãĢ Ĥ +z ies +bo eh +hu es +lu sci +dol a +impeach trump +roo d +don caster +tor re +hero es +fo yer +tar i +blur red +ke w +frank ly +dro id +ap al +Ð ¼ +y af +bre t +par agu +cac ao +ðŁĻĮ ðŁı¾ +ru e +head aches +shaw ty +char ley +pal er +go wns +correc tional +ðŁĺ© ðŁĺ© +breaking bad +ol ing +da p +endeav our +cit adel +tra d +incumb ent +medit ate +foo ted +ðŁĴ µ +shab bat +dayof the +wil lem +gal way +to red +marri age +f illion +sleeve less +aud itor +jin young +invin cible +kad una +a and +volcan oes +mon eti +indie gogo +buccane ers +ðŁijī ðŁı½ +ãĢ Ĥ +lay ton +cuck oo +hu mber +buzz er +Ï ī +to re +stra ins +sto m +pa ine +s we +du ff +z ou +si mi +li pp +ur n +se agu +ðŁĶ ® +sun dae +hi c +ðŁĺ ¨ +bull pen +u per +flyo ver +al dridge +glo bes +ali es +ken zie +ge es +y cle +sp lin +mag enta +j ha +bal u +gh orn +ti pper +wick er +taste of +con clave +ch ale +inv asi +cat er +dio xide +me gab +win n +at p +transform ative +nest led +hi g +bri dging +lil ies +chee red +bad dest +sc rolls +real is +dipl o +ðŁĶ « +conce ssion +prefe rences +explo des +er gon +introduc tory +ine au +ch af +som es +land rover +spir ation +sex y +sco recard +illustr ates +soul mate +wi en +inter disciplinary +fore casting +ent ities +glu ed +en lar +cur t +percep tions +boot leg +mi re +asho k +v az +hor ne +cal le +ac ulture +ther oy +night time +oc al +character design +ar mist +ðŁĺı ðŁĺı +yah oo +ac eae +to se +even to +sou t +nay anth +wh om +v are +ri gging +gen us +hi ve +com mands +sti e +day a +ethan ol +en f +hi fi +flu ence +cle mson +re invent +thermom eter +humor ous +emer ging +aci ón +ðŁĺĺ ðŁĺį +s ity +haw ke +accompan ying +t ility +ðŁĺ ª +re cess +protag onist +l ery +dun dal +int l +britt any +q bs +off the +marri ages +how to +viol ated +adel aide +wit t +lanc er +pak v +hu me +st ade +bra gging +ou tright +ad c +super st +real time +cu res +garden ers +ero ck +dale jr +ver o +bar tol +mo ti +mc fly +v pn +st ink +over rated +guer ra +e tis +ath ome +twd family +th ab +tn x +rafa el +family travel +x ley +sat anic +equ ations +ru dy +wal dorf +stan i +tu be +meas les +zimmer man +obli gations +i ously +bow ser +trans former +sho ppe +shak en +gh ouse +to d +ke tball +share holder +mar ca +kp mg +ak an +given chy +coast al +au th +roller coaster +mar ches +coordin ate +cine ma +apprentic es +par lor +mit o +men on +consider able +bar re +glo ss +enh ances +jaz eera +fal mouth +thra sh +stat en +k zn +eng el +samanth ap +flo ppy +sal om +ðŁıĨ ðŁıĨ +w ack +deliber ate +osc ill +herit ag +du sted +orni thology +pad dle +fer ns +bar un +cl ans +anticip ate +a ay +mat ically +é ĩ +tu mble +post man +unic ef +tro tter +op d +leaf let +ge ist +cease fire +scre ws +cre ation +wal nuts +longh orns +under statement +ab b +proxim ity +na x +un ity +turn pike +orda ined +dub step +chak ra +me ch +love her +look alike +donne in +vir on +Ù Ī +bang ers +vari ants +out dated +in ta +cri sto +sp elt +food and +f on +stefan i +margin al +hu tton +ti ara +tel ford +qu en +fair grounds +que tta +mikha il +heal er +v ball +ty re +under grad +gl end +hom ers +scri bed +main tains +po che +mis sal +mar ko +u as +á n +sh p +con vey +pad re +sab a +pu glia +madhu ri +pa xton +chap lain +n ago +ca si +... !!! +fli rt +sal eh +k are +di re +stam ped +extre me +ðŁĺĥ ðŁĺĥ +ho ppy +guadalu pe +advant aged +eu char +p low +un n +mac qu +port land +cla sh +pe s +lou bout +y p +keep ing +arca dia +fran kie +fi u +de th +encyclo pedia +si ze +inve sts +ðŁį © +geo logical +fran ç +con front +ðŁĺ ¥ +d ys +af m +tex an +graph ene +repost app +ac f +ur sula +gaz a +dd led +fu m +wsb tv +m be +fron tiers +chrono graph +ke s +inter faith +tab oo +spar ta +won do +flori st +em braces +ca w +no el +arch ers +ðŁIJ · +roman o +ban an +sh akers +melo dies +geo thermal +se phora +ìļ ° +оР´ +pro c +hand shake +pan de +popul ated +slow down +hor tons +registr ations +un deni +lan ts +pas sover +thak ur +li ef +adhe sive +pe tal +micro scopy +memph is +confir ming +air drop +mesm er +perce ived +ming le +lifel ine +gh j +worcester shire +pas sions +ach er +el lar +ah o +firen ze +bar ang +letter man +hat field +lu cha +je ter +e shop +william s +horo scope +pre de +east bourne +dur ga +di version +al trin +seis mic +premi osm +nar co +ti r +ori g +or m +land fall +ci ous +lin do +max ine +x ico +tra y +os wald +c ba +ric otta +n cr +mar au +ภ² +gladi ator +ch ery +lun g +u me +po psic +lon ging +can als +ta ya +decentr alized +sho pp +pres sures +mahar aj +eti had +wal greens +succe ssion +sign aling +li g +staf fer +north korea +def ying +as ma +de g +peri meter +oak ville +m sk +balti more +rece ip +de ple +ðŁĺŃ ðŁĺĤ +jambo ree +> .< +rsp b +puni sher +consider ably +in tothe +pari sian +acceler ated +polye ster +low es +fr ying +sauté ed +mou ths +seychel les +ra x +go dis +dak ota +house wives +the me +mat inee +black bird +ye sung +pre fers +pelle gr +in ated +trun ks +stronger together +re pet +re pairing +ped als +toler ant +her r +dun ne +indic ation +decat ur +b tv +exhibit ors +ik on +friday motivation +bra gg +live tweet +al ves +womens art +foreig ners +wal lets +min dy +lan ey +bb in +tv miaw +lif ter +tar get +tam e +dr ou +astro photography +mp c +g pu +nord strom +fric tion +run off +lov able +sp nfamily +ext ingui +bloo dy +sch el +arti stry +sw ish +scar ce +ph ils +max im +pos sum +com promised +sty li +sc fc +is sa +birmin gham +sket ched +angel ica +ordin ance +je ts +conqu er +ðŁĺ IJ +online shopping +s ori +reason ably +nue stro +ar turo +ch l +benef ici +spho to +wel t +ni kk +ðŁ¤ ŀ +dan ao +for mid +as se +af irst +âľ Ĥ +gil lette +as sor +an onym +sel ca +fe mi +bear able +y and +ar mory +cre pe +celtic fc +bra vo +in expensive +de lec +ge cko +new market +snow flakes +kab ir +con tra +can ning +mor pho +gar wal +ðŁĴĥ ðŁı» +fight ing +mu tation +woo dy +ju gg +gr aces +premiosm tvmiaw +kenne dy +gu p +sa e +op ha +off spring +fini sher +bet ts +span ning +mar j +h one +sh ing +contin ents +samanthap rabhu +un related +l acy +explo sions +benjam in +sophi e +no ting +micro soft +as sen +a hoy +i ker +ho fer +mo e +ah madi +yan n +an ak +ma hi +be u +aha h +creep er +baahu bali +am at +pri ory +haw keye +deloit te +sko da +print making +assemb ling +mirac ulous +no ch +sw o +leg a +oper ates +border lands +eli e +stron gh +rep tiles +pir ate +un fold + ¯ +qual comm +un predictable +ot r +rose wood +direc tional +counsel ors +corn ell +liber ated +j ad +ir regular +bulgar ian +high ness +vodaf one +sw ild +mini mize +gra zie +๠ĩ +r stats +stre ep +ome tric +humb le +lu mp +l ille +b ü +home depot +tripad visor +ki wan +a via +er z +ex ico +du f +blu men +mi zing +ar ma +in im +con stan +sor a +ju al +au n +tw ell +tren ches +her a +r k +po plar +recipe oftheday +ll an +bhu ban +short ages +ing don +bridge water +ðŁIJ ĺ +fortn ite +cam den +un cture +pro w +colon ies +t ks +n go +b hm +live pd +spl ace +sli ke +happye aster +ter rence +revol ver +j ed +yy yy +office of +m ts +exist ential +r ourke +explore bc +sse d +pri est +vix en +si ding +k pa +a har +ju ic +ob struc +foren sics +uk mfg +cancell ation +we ary +ab q +ele c +pri zed +deb ts +me zz +salv atore +m dc +gre tte +c gc +th on +snow storm +ts ch +cook ery +å ¹ +wa xing +n acional +mur s +ra ve +cap es +ger main +dri pping +sub mitting +ome lette +iter ation +aj es +shim mer +fu eling +ðŁĩ§ ðŁĩª +li po +bo bble +un follow +islam ist +hi ber +cat s +agentsof shield +sen si +____ _ +ster ia +inst al +ausp icious +har row +over land +femini sts +inst ant +char iot +blind ness +sp ed +sc arec +nu it +mini atures +ho seok +glo ck +fifa worldcup +e te +dis m +we iner +ex foli +ear ts +à¸ Ķ +my art +man il +iss ant +form a +in cu +buffal ob +in tim +mc cul +anj ali +po po +un doub +hil a +fun gal +thank ful +fu tur +en dish +ren ds +th ar +she ff +ring o +nichol ls +io wa +po tom +cl ams +ãģ Ħ +acon f +stadi ums +di mp +di k +residen ces +do v +caric ature +seagu ll +kl m +confe ss +sla pped +cele b +turb ines +pp v +nur ture +el ab +.... .# +tu ff +de press +al far +amii bo +di spon +e wing +que er +friend s +for re +âĺ ¼ +sw t +aqu arius +head liner +cur d +fi gs +o tters +love fl +kare em +go vegan +fri yay +consol ation +at ri +ì§ Ħ +âĺĿ ï¸ı +poly ne +gu ed +o ya +la us +intestin al +cam illa +scal p +pi r +leed s +horri fying +bore tum +dand elion +fer rer +ell ic +as x +so ren +re loaded +ale ague +navig ator +ine tte +add ams +al chemist +ak shay +dystop ian +awe c +n aya +al isa +ai led +ag or +avi ator +ali zer +smo bile +findyour park +cop ying +to ddy +sh ti +mon ger +cal houn +nap kin +break up +y atra +se thu +ric hi +eras mus +fer ry +am ore +prac tise +bo bo +power point +oo se +li ffe +chin a +sh ka +fad navis +du ane +war on +fal se +ðŁļ Ĥ +wa shes +disc ip +==== ==== +g k +ab b +stub born +medi eval +p ci +ðŁį ª +maril yn +h yo +man di +cr i +prede cess +continu ation +om usic +s lat +wh al +mall ory +bon n +shen zhen +ca i +âĺ ĥ +sa fest +for wards +dra wers +bla sted +sle e +mor phe +mb ta +dumb ass +ÑĦоÑĤ о +alhamdulil lah +ec lub +al beit +heal ey +ayurve da +adverti sed +cro cs +itt les +bry son +be i +nj pw +honore e +fu sed +ðŁĶ ĺ +mul tin +n aga +de parts +ko p +kin o +jhar khand +ed na +ax le +mil ton +supremac ist +marrake ch +domin ic +tran script +] [# +: ). +wo c +sur rounds +o gil +leaf lets +co well +whe w +tru de +proli fer +succe s +sports man +con dom +po che +k up +imprison ment +{ } +scram bled +å Ľ +ka ine +cell phone +metam or +con i +remn ants +ee z +down pour +afterno on +exerc ising +ber ser +architec ture +wick low +m ns +is p +bo c +n iss +mn wild +stu mble +r si +lu ffy +sil en +dd ad +bul lies +haw ker +bb cc +scu ba +e pp +que ts +for aging +pal let +ha di +cinemato grapher +cat chers +to aster +k hi +lite coin +kid lit +amher st +maur icio +ip ad +mar malade +fe y +don nelly +g to +est as +cere bral +ant grasso +zz led +vir gil +swa pped +ðŁĺħ ðŁĺħ +no dapl +greate st +nhl bruins +fra ser +b mo +ane w +. âĿ¤ï¸ı +se gregation +remark ably +mccor mick +lo gger +er as +contrac ting +âłĢ âłĢ +yor ks +uku lele +touch screen +de cked +ben n +south wark +ra vin +nu mis +ðŁ¤ Ļ +ru t +gre co +eth ic +red neck +ar r +t cs +ih ri +ðŁĩ« ðŁĩ· +l k +inher ited +zy k +viadu ct +marty red +hi gu +ss n +be in +street style +fer gie +bank of +æĹ ¥ +stake holder +exempl ary +cre ss +ess a +ero tica +intre pid +gom es +bra un +bethan y +bang tan +pulmon ary +m illing +doctor ate +trump russia +ठ° +s ani +bl att +pla u +depri ved +t le +ful ly +bour n +st ak +lufthan sa +kio sk +far oo +def y +bad an +ðŁĺĺ âĿ¤ï¸ı +rit z +tri sha +ran ds +middle sex +arab s +pro j +sport scenter +repe ats +iv f +bleed blue +as sure +o bs +territ orial +ele n +bever ley +ann ah +âĿ¤ï¸ıâĿ¤ï¸ı âĿ¤ï¸ıâĿ¤ï¸ı +z l +for good +science fiction +gla u +son ya +pri th +st weets +mix ers +mari o +ant elope +writing community +went z +den ham +be di +sf o +harley davidson +look book +immuno therapy +or phe +es ville +ed ged +tas k +sb ball +corro sion +kilom eters +co sting +play back +ke ke +di visi +u ter +re location +yel led +pen g +up beat +ser ve +âļ ł +hal en +stir ring +reh man +en v +schu macher +frag ment +alkal ine +sb k +resil i +share point +rol lover +tra sh +counter part +âĻ « +ob itu +à ½ +ãĤ ¹ +mul berry +ðŁİ Ĩ +auton omy +spra ying +nat l +love you +fran ki +nu k +esc ar +can teen +ali baba +de plor +mole cule +pu d +fort night +blon die +sp hin +portra yal +ta che +bu te +consi sting +freep alestine +c sp +im mort +d ns +ðŁĴ¥ ðŁĴ¥ +tour de +coo king +archi val +ga thers +bit t +b anc +pre mature +snow ball +poetry day +lou dly +fug itive +ed ay +em ra +ðŁĩ¸ ðŁĩª +sci en +node js +jur gen +je ong +band ana +un is +fox sports +v andy +pro visions +wee p +tu k +i ko +h oun +zig gy +z r +fil let +bat a +tin k +con e +we want +k ilo +hor ace +sl t +sc t +stay tuned +victor ia +umb ria +att acker +ingham shire +fright ening +no ir +fr at +con tempt +lia ison +ho i +br ink +tr ill +ni agar +kick ass +dun das +not my +rho de +bu mble +no xi +fa g +spec tators +mancrush monday +jin ping +distr act +dais y +wal den +portra it +ar thistory +vol tron +ev el +is c +ac m +r ite +na o +de ported +swe ats +ru fus +lo bo +labor day +gam o +ihri thik +bl it +abdomin al +ãħ¤ãħ¤ ãħ¤ãħ¤ +i it +e q +bu sy +allu arjun +un disclosed +de ton +pro create +ki l +ðŁİĤ ðŁİĤ +mitch ell +ki i +inherit ance +al p +jo burg +pat rolling +compul sory +un signed +ni am +l ga +eshop suk +tr illi +ma w +appreci ating +rock ab +mañ ana +an tal +mal vern +roy o +grand prix +sut ton +go ftheday +dig i +ãħĭãħĭ ãħĭãħĭ +t les +varan asi +erec ted +discip les +cont act +ðŁĺ µ +li d +⬠ĩ +scen tre +radi ator +ing tips +trans itions +thursday motivation +chem ical +separ ati +sal is +mi m +geo graphical +book fest +/ . +âľ ĭ +v ae +cur rie +ag garwal +acceler ation +the ses +lg m +u mass +pro portions +nat a +ani ans +ku ch +be acons +ap r +@ # +ðŁĴª ðŁı¾ +nu ke +sher aton +ki o +ma kati +polit ico +mor ale +ì Ļ +econom ically +gg ly +ss en +pa stries +intern ships +vic ente +fanta ken +aveng ers +accu se +slee pover +indic ated +the dream +ster one +ren ders +fro st +ou i +gre gg +d ore +⾨ ⾨⾨ +pu gs +sat y +nu mb +hems worth +tam i +la ssic +schi ff +igle sias +ag awa +] " +re shi +game stop +divor ced +theat er +clau di +un conventional +prophe ts +ac in +twel f +tow ering +t ml +sc lerosis +k wan +ge ts +distur b +na ira +ener g +pir acy +pru itt +noti fied +hen na +bra m +ground water +bl s +opti mis +$ ) +luci e +biz hour +fang irling +gr ills +or l +ver se +c ina +law less +artistson twitter +tele vised +marshmal lows +radio head +bar r +m fc +bre vi +mmor pg +g aya +âĸ « +sub titles +j t +disney land +to bago +nh m +groo ve +fi awec +" / +ba o +scra bble +om ni +ff l +um c +si mba +ali er +ter rell +plu me +mi di +dig nit +co c +bru t +ad ata +alche my +d sm +ðŁĺĨ ðŁĺĨ +win try +spa res +cu er +conclu sions +to ys +od or +fl ann +gar vey +scrip tions +inspec tions +cat ap +ang lo +st louis +heim er +at ay +tr ich +en yc +chil ds +vent il +mont p +guiller mo +circu lare +z ell +mode led +craf tsman +al ina +stimul ation +cashe w +ju das +best of +to ire +susp ends +scol lege +real ising +by tes +bloo ds +as si +ðŁĴ ¿ +o hs +ðŁį ĭ +scallo p +ठµ +gi fting +camo gie +wil kes +o zzy +ðŁ¤ ¤ +ver onic +sav oy +deme tri +baby girl +ðŁĺį ðŁĺŃ +so x +cly de +induc tee +count down +self care +ठľ +vi ka +tor re +phd chat +pe ars +aw h +suff rage +le sn +admir ation +mp p +shark week +schul z +santor ini +clo ver +( * +stras bourg +ex iting +so yu +finger print +che a +ãĢ ľ +vin dic +song writers +so a +prou der +nam a += )) +simple st +delici ously +gil les +u q +mn wx +ep p +sh un +ken nel +fall on +ðŁIJ £ +sin d +tra gically +out es +modern ism +co ke +gy n +spi on +âĺ¹ ï¸ı +le am +compress or +apolog ise +twent yon +fan atics +âĻ » +sco tsman +sa wa +ko u +as er +ภļ +welter weight +phen om +twick enham +stri a +p out +ka z +gi am +cd p +ho y +emplo y +red mond +ภĦภ+sm ere +trance family +proto cols +pie ce +lu iz +iter acy +carl s +united states +har med +phd life +ch aw +foot prints +l é +cho ker +z ana +sli pper +eric sson +insul ting +articho ke +advis ing +acquis itions +op or +mut ations +re ar +ॠģ +pod cast +wi ther +kun g +íĺ ¸ +win slow +di apers +ðŁĵ¸ @ +ec ker +col lar +hu ey +gi ro +mono gram +kas ich +si veness +malay si +arom atic +gre s +gali leo +u ji +rob b +dr m +none theless +as a +: > +lo a +l np +at work +ag t +laksh mi +pipel ines +id al +stre l +re all +chain z +stone wall +san sk +ðŁı ´ +pied mont +hoste ss +ci u +t é +analy ses +wil helm +scott y +rw by +mosqu it +use mb +qu ins +ðŁij İ +tu cker +s conf +speci fications +psychi atry +broo kes +s ils +ol af +de to +co di +cli p +fil th +womancrush wednesday +go to +ang erous +be ale +w tc +paneli st +ne x +lar sen +emili o +tab leau +h itters +conce ived +americ ani +or tega +mar di +Ñ ĥ +pain tball +thir sty +new yorker +etis ation +go ss +we aker +u gh +tro ll +har ga +du al +ght ning +at ine +ðŁĺİ ðŁĺİðŁĺİ +cook out +pyrene es +po ss +authent ication +sports wear +yun ho +kir o +archi pel +shen ko +ren der +nov ation +divin ity +ðŁij £ +su fi +humb ling +ge opol +devote es +wait ress +tr ough +py ro +i ba +bl ing +gra f +epilo ts +bt r +of tball +bas king +domin os +so om +r ath +sher yl +qu el +astronom ical +wel d +track list +sig nee +slee pless +com man +ch ron +summ on +pure michigan +cri spr +sli p +la gi +ra q +um u +thal ap +char med +scru mp +quad copter +ski p +peter sen +mun i +ðŁĮ ¾ +mon aghan +tra ys +ick ed +canad aday +te gr +ï¿ ½ +hot ness +heavy metal +ab ar +gop debate +az ul +spider man +sun flowers +ľ ë +web comics +bar d +Ð ² +nichol as +slu sh +ram an +mark ham +ffici al +ff ler +íĬ ¸ +ple ss +anush ka +to to +sk aters +pro wrestling +compet es +ay ala +myster y +thr ills +mp g +independ ently +y ul +imper ative +formid able +tire less +st acking +ton gues +mal tese +pot ts +mat ti +char ting +chill out +super nova +ome o +sky sports +nu tty +ðŁĹĵ ï¸ı +ro han +insp ired +concier ge +ser ra +ma kk +gal at +chi pp +ye v +ì £ +reim bur +op ul +kimber ley +i eee +bre men +ch itec +or in +nak u +bon kers +foo ty +emer gence +ðŁĨ ĺ +sti p +serge i +zo ey +ai me +wou ld +dy es +destin y +vinai grette +dri er +circulare conomy +an archi +ss r +sch el +cin er +gro om +determin ing +gar min +cal ais +incarcer ation +bu kit +no i +chelms ford +mckin ley +chi pped +belong ed +tu mors +str oud +mi i +influen za +wwen xt +tun dra +tele communications +cat sofinstagram +t ages +beat ty +o du +ml kday +oo per +dang le +ak ley +cru mb +anti gua +ti mbers +rou hani +ðŁĴª ðŁĴªðŁĴª +ha fi +... !! +w cs +coo p +sn c +lit res +ãĢ Ĭ +ha z +co z +k ant +green field +cur ti +y ale +flye agles +what soever +wor thing +rou lette +flyeagles fly +un da +a inted +stand ing +lusci ous +h pc +effic acy +ash land +me ghan +ky wx +n pr +bath tub +ac os +h ani +mar cor +man tis +da isi +bo ba +ab bie +mu til +vi al +spy der +po z +g ti +el fie +nigh tw +metro id +anton i +mad die +dh ry +dar lings +ten ds +taek wondo +atlan ta +me ow +chlo e +ãĥ İ +ym es +siber ia +k con +gu es +mar iner +fac il +azz le +[ ... +han nover +bav aria +vir go +te uk +u sps +) # +wall a +sam pson +need less +ver bally +hay ley +bow led +pi us +lam pard +ham string +vol vo +road safety +cho king +sor bet +a hem +healthy food +brai ded +horticul ture +cr ative +che ek +ad do +the force +ko ko +schiz oph +j ie +w ada +twentyon epilots +h bcu +pro ton +pau ls +lou isa +lat am +kyr gy +com pac +sd k +sap i +?? ? +liber alism +ep silon +ai den +w usa +spra yed +baske tball +kim ono +blue wave +ali as +ë§ Ī +mug shot +ce c +do gre +ad ora +ðŁĵ· @ +kra kow +intrigu ed +exhau sting +astron omer +ven ison +lady bug +ci v +bra e +us m +bri be +acup uncture +pembro ke +ke ating +chi e +y ad +t si +sm i +see ding +gate shead +lis boa +gy p +canv ass +ðŁĶ´ âļªï¸ı +op i +ni r +soci etal +ly te +ati es +c sm +ar tery +al in +aka poor +abstr acts +â̦ â̦ +teen wolf +ne we +travel gram +sentim ental +per ched +han del +ho ek +f ay +coordin ating +anim ate +man ian +effor t +jer ky +f ck +adri enne +ma bly +tra ding +my el +spi ro +sol a +stor ing +over drive +monday morning +dream team +pul se +bon di +ber nie +pgat our +tri poli +son am +plat t +âļ ¡ +ag roup +îIJ Ĵ +inv ading +v cu +k ell +ñ os +un dead +pod casting +mercede sam +mana fort +cor tex +que so +impecc able +pal mer +wil doz +sport sc +guacam ole +dispen ser +cate gori +stun ts +per il +invit ations +dune din +xi e +achi eves +saf er +pre ds +ph an +knuck les +k ak +igno res +lovemy job +aru ba +ound ation +datac enter +co vert +gr ing +cou ple +ا ر +vol i +mc cle +arti sans +lu do +kal am +arom a +under taker +hu la +wiz kid +gu mb +god frey +bakers field +ker n +engine er +car ve +pal in +guaran tees +pe bbles +b ays +zi eg +fin k +â¬ĩï¸ı â¬ĩï¸ı +down pours +ro chelle +rasp berry +ðŁĺ ® +gra phies +stom p +caf es +ari zed +utt ar +cal vary +dri e +crusad er +bus an +tux edo +si u +seam us +cul tured +blan chard +town house +ge red +butter milk +flu ctu +roger federer +hel i +ðŁ¦ ĥ +u ous +ram esh +mu ppets +email marketing +ye ss +br ice +ri zio +pel o +donnein arte +u rable +inve stin +bump ing +raji v +sav a +thro wer +fore x +o hhhh +th rust +pull man +r fid +sep sis +le ed +fri ght +roun ding +ne b +ph ins +ai sha +utili zing +squ ats +gold smith +j ic +bo ks +vau s +i po +exclu sion +tari ff +po kes +min al +land s +en force +washington dc +or char +g x +mar ys +ey our +aussi e +bak ers +un popular +latin os +lar ge +pu tnam +bol o +wa de +pel o +di zz +ob struction +fla ppy +weare the +depend ence +pajam a +e te +y ann +e wan +disc la +a ay +kar ina +e ic +an trim +w soc +neg atively +kai do +fotogra fia +dh ru +colo ssal +mcle od +k wang +mani pu +ex hilar +us atoday +summer slam +co les +tapro om +unbeat able +de ma +tic ks +k ling +fil s +campaig ners +ภķ +brew ster +audu bon +qu ay +ch s +ki gali +d ler +strength ens +som al +sign ingday +gol ds +pig ment +orche stral +g q +lin kin +ðŁı ĩ +ta w +algar ve +ho v +ear le +gold fish +am ig +ex er +ben in +dru id +ðŁIJ ¸ +she m +quat tro +mer cen +men te +incorpor ating +bon anza +state fair +en de +concep tions +e es +âĻ¥ï¸ı âĻ¥ï¸ı +d son +fire arm +orb ital +we h +multi p +fo b +requi em +p light +thou se +sa id +oc re +remem brance +n old +chi pping +be v +er t +ca thy +sy m +ri ggs +m ley +dialo gues +sl ender +how l +gau teng +wd w +to bi +smo kes +im plo +b pm +ad n +mom basa +cap sul +bloom field +artic ul +cle o +goog led +flu ffy +l ard +en zyme +ve sti +ibra hi +fl ame +e mea +out ages +dispro por +ble ak +an sel +ick er +st louis +stock market +good friday +sau lt +stal led +pro m +ep som +b é +the se +sau ces +me w +lit fest +pre d +re u +kar ak +si enna +ell in +bio technology +ï¸ıâĥ£ - +tac tic +sa in +por k +mon za +ka j +lu sh +compart ment +chang ing +shraddha kapoor +fo al +ar tem +cu ando +can ola +ori ente +me sse +d ited +br c +box er +bbc two +s st +ment day +em ing +de wey +kof i +âŀĸâŀĸ âŀĸâŀĸ +reali zation +smo l +tw ood +san je +flag staff +ber wick +cor set +can ary +whistle blower +et ched +com posing +squee zed +bow er +auto desk +ne h +mathi eu +ba ja +Å Ĥ +hy dra +da im +am eri +insi sted +mer lot +gar ros +heart news +gaine sville +cut ler +bo de +ðŁĺī ðŁĺī +lew es +scoun try +g sa +us u +cc m +god awgs +phara oh +cra e +mor ley +hyp noti +f ades +neur ons +fu zz +ing co +high landers +star k +vig ne +pac kets +amar illo +reu ben +insul ts +bas ic +vec tor +n me +ac ruz +tro s +transm itter +ðŁĺ ŀ +interpre t +ðŁĺ ² +pre quel +mc gowan +dis semin +ðŁĴĺ ðŁĴĺ +mascul inity +indie gamedev +ali ve +te t +pe tal +ema iled +ar med +ko o +he er +ba ird +super junior +metro polis +delav in +decl ines +stit utes +Û ģ +p tbo +g lan +cho res +e aling +chri ssy +ste mc +vi an +assassin ated +pron ounce +illeg als +discover y +cav ill +fri fotos +f al +so i +sabot age +t int +p dc +ðŁİīðŁİ Ī +ãĤ Ĭãģ +ji o +endeav or +in sig +commit tees +she arer +me tz +mar rying +h dd +g by +fre t +tri sh +pu l +scrip ted +sa ki +l w +ke ye +shim i +nan aimo +ca h +à « +tem pered +ici an +du gg +dish washer +air field +s rugby +gr inch +y st +r ms +mahat ma +lan kan +disc ar +dige stion +no des +l ls +om ic +gu tter +tis garh +feder ico +election day +bo he +master card +fire ball +âľ Ķï¸ı +oy ster +p ong +do k +en route +m vc +beat the +ali stair +shu b +sh aming +cherno byl +ghi bli +the s +pin ion +d bs +sal ts +ic tion +epi ph +nc pol +in convenience +whit ley +inspec ting +wood ley +wi ener +skil let +no les +m ca +h ina +a sha +willing ness +well ness +tam ed +show time +dis advantaged +ber nat +us n +mission aries +coun selling +arrog ant +quant itative +leg alization +ho dge +energye fficiency +cameron dallas +pos sessions +p bb +harris burg +v g +hindu ism +happy thanksgiving +fi b +re acting +tweeta picture +pol iti +mu ppet +hur rah +pac e +coast guard +guar ded +as am +par ry +fore very +x q +oom f +ke anu +j ind +ri st +customer service +sac red +ðŁĺ º +ton er +occur rence +mat u +val dez +red d +is ak +power rangers +pe asant +raj ini +abra ham +e mil +car do +tr il +hair styles +obsole te +sam pler +direc tive +delavin kisses +ver ton +glo s +sp ay +paler mo +com ets +man ziel +chicag of +ski pped +pic torial +h ant +b mi +a ol +re opens +pad dling +devo s +fra ud +bas eline +que ues +sp ired +sn are +eu ve +descri ptions +daisi es +ca ching +gall eria +tri mmed +stin o +recy cla +ic ular +bir ken +raw lings +fli x +chic as +b gt +lik eli +argy ll +thel ove +ga ston +bl anca +ha k +f one +sailor moon +h aci +ima c +fl yn +de can +bel les +ap ic +zo g +taun ton +con stance +lasag na +ker nel +in ka +har bor +collec tively +calcul ated +av ille +shil pa +pur du +gi mm +fun er +a est +pembroke shire +nighting ale +n unes +hyper tension +hu bert +sli ders +infer tility +comm ended +transat lantic +metr ical +!! @ +Å Ł +ss g +bac ca +inver ted +fun factfriday +it ans +albu m +acqu ainted +ri er +whel an +sar ab +mu e +snoo ze +pi ff +agre eing +sp itting +jer maine +n ye +âľı ï¸ı +am bush +ze ph +con greg +univers ity +s app +wann abe +pat rice +ib d +do glo +fri dges +sun d +king ston +ar gon +kam en +hardro ck +ds ley +do lores +ì ° +ota ku +pi ping +be having +âŃIJï¸ıâŃIJï¸ı âŃIJï¸ı +blue bird +an sari +teapo t +fire work +cro p +log ans +ty ped +thick ness +ig ers +c fp +dys functional +contra sting +et ty +aston martin +tx st +dra grace +at tributes +marath on +manu scripts +john stone +ðŁĺ± ðŁĺ± +bo er +ay u +aru gula +poo rest +con du +assu mption +anag h +no h +delav in +sit ter +g ö +mor ow +kick start +com i +gl acial +ghe ad +ba in +ker shaw +en dof +fre ud +om at +i af +hu g +sign up +each other +defin ite +tu bing +shak ira +ðŁijı ðŁı½ +uu uu +sw in +sham bles +ol as +sk ell +brit ain +kn w +clu tter +om y +j ens +hang ed +city scape +scra ps +un locking +dead liest +er no +breast cancer +a it +inspec t +fu ri +ðŁĴ Į +ku d +ju le +or ah +mi ds +m dt +bur gring +r attle +pu sa +stal k +cle ans +iss ance +z ek +worth it +nam eis +musko ka +council man +urban art +bar rac +un solved +tu l +g ita +white board +soy beans +em ent +cont i +saturday motivation +conveni ently +doc king +t ado +âı © +sp ino +puppy love +po f +fabric ated +robb ers +adop ts +ti fied +kk r +indulg ence +notic eable +macqu arie +chap el +sensu al +ki ko +melan oma +lore tta +li ance +ab en +sp lus +ga al +ac ele +lib dems +compar isons +ðŁĮ µ +rhy thms +mer y +en capsul +nap ier +ðŁijĮ ðŁijĮðŁijĮ +ðŁij IJ +plat z +fre sno +re formed +ran bir +el it +the best +bhu shan +vin nie +impro vised +s ittin +re created +e ba +ec ker +ac rob +pon te +cor d +gi ddy +eur usd +fe ver +intu ition +gar i +dum mies +bud weiser +amend ments +te tra +sch nit +ay as +mar ys +ci st +k ani +ker mit +ðŁĺ±ðŁĺ± ðŁĺ± +tin ker +strol ling +di visional +niger i +omin ous +menstru al +kar ab +k hy +bw fc +pan handle +l illi +well er +stra pped +son the +transfer ring +ethe real +sne aks +ru dol +gab les +jac king +cin code +for tune +canadi ens +con for +ab normal +frank lin +tit a +mu la +persi st +cu ties +ki el +ðŁĩ± ðŁĩ +her mann +aw k +fi asco +ko to +we ta +hi ker +budd y +preven tive +mcgra w +game boy +forsy th +top shop +si ob +sad h +in tram +follow art +so aps +dragon ball +ou x +morri son +๠ĥ +lu bric +adul thood +morri sons +âļ łï¸ı +her mo +ta ka +stall one +mis use +team gb +ra gha +con fined +at y +hom ophobic +nw o +sky news +ho ya +ac rosse +wi iu +pur ée +jed dah +ðŁ¤ § +advis ers +ph ine +an is +scrump tious +ë° ķ +c ke +vin y +ter m +s dc +o do +home school +vas c +leop ards +debor ah +illic it +cur ran +as roma +nau ght +mar ig +brand i +em p +ðŁĺį ðŁijĮ +î Į +su spend +lu z +initi ation +sch aft +jensen ackles +craw ler +post doc +des ks +trail blazer +den omin +tri x +no ise +po et +± ï¸ı +s mug +vol atile +proof s +pharmac ist +sardin ia +mash able +kim chi +co ed +schal ke +doo dled +c sw +sh ur +ro x +do k +chris brown +mathemat ician +ab ound +ang elic +rock ford +d ole +yor kers +ms n +g man +xavi er +bor rowing +mark ings +longh orn +k ja +diver ted +mm it +euph oria +ay yy +te a +pa h +ck i +un cut +li ven +ky ung +fan art +mer ing +red ding +amo vie +gri di +c thulhu +schol arly +ju dah +th bewithyou +eu calyp +ðŁIJ ķ +hert fordshire +cour troom +by u +auc tioned +ple ase +mar cia +ê° ĵ +succe eded +el as +arvin d +t lot +saig on +re tt +ra kesh +fd ny +as en +se bring +gladi ators +you know +v lad +gol a +par ap +ÑĢ Ð¸ +sab cnews +one team +oh l +sun e +ri j +cd c +star gate +run down +plat o +ph c +chat ter +ra viol +mn f +mand ala +li et +ภķ +mari a +hun gover +consoli dation +fer rell +tradition al +ilove art +gal ap +ðŁı Į +que zon +espa ña +ðŁĩ¨ðŁĩ Ń +ho bby +steam boat +mali gn +guil lau +pro hi +its me +íĥ Ģ +in scription +al z +mari an +k ade +mm on +adju sting +ne sts +intern ally +ci r +vik ram +mal ala +k ph +fel icia +the real +cap tivity +at is +marcor ubio +kale ido +che v +mano j +le more +gent ri +vi ps +tro pe +" âĢĶ +pair ings +mal nutrition +fr ay +desig nation +brun omars +az e +tor rential +pan zer +ga il +under the +the ological +schizoph re +dazz le +freder ic +mo par +ad illa +so ggy +ra un +medi ocre +colo rec +i fe +p inst +blu ef + ² +world water +gir oud +clar inet +ad olf +tar antino +receip ts +assu mp +ðŁij Ł +coffe es +âľĬ ðŁı¾ +du plex +s of +r x +lin o +timber wolves +pan dit +mo tm +e ga +ay ama +ach s +outsi der +ll en +co er +til ly +cheese burger +ma ds +ple dis +emp ty +national parks +az iz +p mi +jun kies +f ener +sq n +è s +gener ation +cleop atra +bhuban es +mosqu es +ty free +popp ins +tw c +or well +n age +ka whi +hol low +dal ai +¨¨ ¨¨ +ou ro +m health +gi on +az o +vis as +reneg ade +re ic +w sop +ðŁĴļ ðŁĴĽ +e chel +tox icity +mü n +bun k +stimul ating +asth our +\ ' +ep h +ende mic +cn bc +shrin king +peabo dy +michel angelo +can yon +wal e +su mi +si ders +inu it +? . +profession alism +dr acing +plat oon +p ons +out bound +maple leafs +de sol +cen cy +a than +ver ma +ru bbing +ok an +ðŁij ł +mull ins +authent ic +Å į +alman ac +ga ia +bb q +on imo +ke h +ty a +tou ts +y av +re posit +, . +wi ght +se eyou +cal lof +done sia +bar gaining +gr anth +sd su +amphi theater +p su +re watching +wine tasting +peak district +dete cting +thur man +phe e +èª ķ +u mich +re r +sculp ted +go le +name sake +ðŁĶ ģ +serv icing +bau gh +pu gh +pen cil +dar th +munch kin +at orium +ten ers +sun y +rolling stones +mag ing +star rer +i dris +fe instein +ag ron +âĺºï¸ı âĺºï¸ı +supervis ed +chamele on +aggre gate +succe ssive +mo gul +inst yle +pol dark +custom e +ohio state +ha ya +ci des +broker age +angel ou +fifa wwc +de forestation +al ton +pam ph +hu gged +ho bo +change able +ku ber +bur roughs +demon etisation +cape cod +vers atility +or ice +le ila +womenin science +tu a +he dges +embarrass ment +ali fe +so ars +ni ghter +hy mn +gi pp +chas u +tech s +ni all +k illa +hi ka +cam els +valu e + ¢ +sc oops +mah moud +clu sive +adri ana +pac o +oz il +un as +transl ations +whispe rer +s bi +bu xton +bio tics +indi ffe +ken ney +k lar +et ching +barra best +inst ability +se ine +vo tel +blo gged +whis key +my space +t ant +lan dia +give back +illu s +aw ak +ac ab +f bloggers +cloud computing +blat ant +syri ans +band ra +sty n +an em +ke ted +kar thik +barun sob +pin ot +gu bernat +gay e +arti ste +i fied +conven tions +hu an +geni uses +eeee ee +fol ly +somer ville +pride month +ðŁĩºðŁĩ¸ ðŁĩºðŁĩ¸ +chemo therapy +paul s +bak ar +ìĦ¸ë¸ IJ +taiwan ese +fol lo +c ss +re ign +nn nn +fla un +catastro phe +iti es +frag ments +extre mists +ym oun +car men +eze kiel +conne cting +se h +man ta +remodel ing +we ymouth +at oms +ce m +ne well +lu mi +the open +mo c +mili band +g land +z shq +mag gie +mani acs +m sp +ad y +cre ams +le anne +e sta +py g +af finity +pray er +dun bar +ligh troom +ac adi +wyn onna +roman tic +state dept +sick le +wh os +lam o +et our +fin ity +shru b +shar pen +pun dit +ed on +af ore +mar s +jeff ery +ter ps +medal list +kath arine +accu sing +ta z +roy d +from home +confron tation +alle gh +ðŁijī ðŁijī +refresh er +ran veer +never land +jo jo +lu crative +en am +ca ver +pa edi +man jaro +flu ids +the ssal +oppre ssed +mu ss +joh anna +Ø ® +cn g +buil dthe +sett les +s ith +fu ego +cl amp +ar ag +pay er +ted x +mand y +inter stellar +fr c +ch and +b cc +mo lo +len til +johan sson +grims by +nature lovers +ðŁļ¨ ðŁļ¨ðŁļ¨ +shin de +x in +international dayof +transiti onal +sat a +cad dy +wo d +if u +ha ys +holl yo +j ang +ir c +co im +grad able +" " +ðŁį ´ +ঠ¾ +a el +n yo +west lake +time out +sof i +phenom ena +cultiv ation +ag no +un armed +so t +con j +gen o +royal navy +nutriti on +fair mont +ti relessly +sn g +re ty +mic a +lu cent +slo ane +droo l +riz al +od ell +critici zed +. '" +la ze +deser ted +co der +pra s +l illian +itiner ary +dav y +an ap +whi pping +hobo ken +kare ena +çľ Ł +vi us +ter n +nan tucket +mis understood +bu laga +st ant +chin ook +z am +reli es +d ss +ed mond +sket chy +m ell +fe x +rec tor +dist ill +day dream +wine maker +ri pley +billion aires +hel ene +ati f +cul prit +bertr and +wou ldnt +ma pped +v ak +gla dly +parliam ent +kidlit art +ware ness +goli ath +âĨ ĵ +view point +tat ted +fu ls +dor sey +ang lers +li ds +ki ya +bow les +be h +b ite +compati bility +ance stral +pro x +beha ved +gubernat orial +ch field +sab an +z h +teen y +shibu ya +holli day +pan cy +âĿĦï¸ı âĿĦï¸ı +seun gri +? , +ðŁĩ¦ ðŁĩ· +im itation +impac tful +any i +gene vie +añ os +bate man +gli der +af ar +ra sheed +effor tless +sh war +dach sh +er un +at os +kin i +ch d +kha ki +k lin +felici dades +bel o +as l +to ppers +fin ley +stac ey +rigor ous +kar ting +le ppard +car michael +be ret +c se +ak hi +mer ingue +ab an +ha ke +ger i +er jee +re sto +comm anders +pr it +fl or +ad ven +ex termin +remain der +å IJ +es g +martin o +lulla by +| @ +mi gn +in store +big bang +cor di +cau ley +ante bellum +dg ate +cro ck +span dex +scaf folding +ore os +ê°ĵ ìĦ¸ë¸IJ +pom ona +ma uro +uni versi +re mi +af ootball +t ant +sm alls +ne h +worl do +tropic al +mor ph +jav elin +gla r +arqu itec +reminis cent +tu bs +spide y +make u +syl la +progressi ves +blo t +shor ten +keep in +ch ak +ang st +super food +decad ent +ston y +neuro logical +ar boretum +ann ak +fe ma +per cu +dis respectful +small biz +lo x +co om +c sc +bs bi +pre valence +him ss +esp an +mo ga +fr ampton +sky map +mas se +levi athan +( ). +noctur nal +car ameli +ang or +amne sia +outsi ders +she alth +rhin o +ant ag +ag io +ðŁĴ° ðŁĴ° +take me +kab addi +c si +m sh +coch rane +thessal oni +sil a +ha us +du sting +obe se +mack lemore +mani sh +len in +m dc +gro wn +shef field +s rs +ke le +car son +ch um +dah lia +can tore +opp o +how ling +cyber crime +sur realism +sc ran +fa iz +thre n +rac ists +r out +pk not +se mana +sin i +mc cull +ma chi +alfon so +y b +sar dar +kend rick +den g +reci pro +on f +doom sday +bri bery +custom iz +art is +c pi +ðŁĻĪ ðŁĻĪ +sla va +let te +en s +âĿ¤ï¸ı ðŁĺĺ +cra yon +ad an +tr c +migr ate +simp son +row ers +king sley +farmers market +shee han +ne phe +bor non +car ton +mic key +all ure +u lu +sli pknot +heb do +gui do +dog celebration +online marketing +acceler ating +) .. +origin ated +macar oni +ed tech +out field +mit z +disc us +adverti ser +man or +ha shi +descri p +cap ita +ful bright +recep tor +con n +con ey +spion age +r attle +pre st +u li +blog post +acker ay +) â̦ +red velvet +mat th +inspir ing +b sd +ker ri +po con +mil lar +re pur +accent ure +ä ¹ +ram bo +ragnar ok +dele ting +british museum +pat ory +leip zig +flori an +sci fi +in ers +br ate +yo y +melis sa +ab er +ma sa +po te +mosquit oes +transpl ant +r pa +; )) +bast ille +yl an +joye ux +melo dic +cap tions +atri st +roch dale +gott i +pew die +cuties aturday +who is +aqu aculture +tiv a +sp el +he ss +ha ji +fred die +co per +brand o +v k +photo book +* , +my dayin +micha ela +brune i +sr ini +in te +Ä ± +de ol +d fc +separ ately +bun d +ve sts +to c +me ck +rein forced +constra ints +car roll +sq ft +re ver +cam per +bird man +in action +gener ators +triumph ant +pe sts +o vo +gy pt +al amo +sc aled +suresh pp +sd n +is mo +gi os +) @ +justic eleague +restaur ant +gab i +den gue +next gen +exemp li +ap ex +inspir ational +down side +kid z +u pl +et na +alvar o +fel dman +bar net +m ha +es ch +bloo ded +>>>> >>>> +kan i +ho fficial +casablanc a +bir ds +ty ga +sw amp +o day +new castle +nb ap +ci sion +cho ols +af lo +ne p +mon ton +ak b +super model +down time +th os +sc wx +snoo py +ag greg +yo ke +nor cal +we tt +prolon ged +me tast +beat er +f ta +t lap +disgu sted +y h +voice over +itch y +ip c +ðŁİ ¾ +phe asant +stra its +ram pant +j g +fer til +assu res +fortun es +sal inas +liz ards +kett le +i bs +cyn thi +he g +mc cr +soccer oos +happen ings +cor den +ðŁĺĤ ðŁijĮ +t ches +egre t +wolver ines +congratul ated +ho gg +bott ling +wr i +fer ri +bo sch +af ire +og den +s jo +j dm +sv t +con tex +tol lywood +min k +me se +super sonic +op oulos +å ¸ +âĶ ģ +knuck le +gu ise +gam i +chu cky +z inger +radi al +compla ined +bo da +fe tal +discipl ines +cor ro +ðŁĩ®ðŁĩ ¹ +op ted +filtr ation +ad nan +em cee +mi stre +insom ni +fer gus +tra jec +on don +med tech +tanger ine +madra s +gru e +cab s +z hu +sureshpp rabhu +insul ated +day swild +pp m +band ai +v day +s ff +squ id +lo thing +not dead +expre ssive +cu ll +ala stair +x u +up front +fish ers +en es +um d +dis missal +sti er +sel s +lu st +re active +prote ster +eyel ashes +al im +goo de +gre eng +da ir +com pen +anush ka +proto typing +ma pu +bear ings +ðŁIJ Ł +for me +bsbi botany +timo thy +out skirts +am bed +are tha +wend ell +stre aks +ni m +k pk +sne e +fit ter +quo ta +p ate +win ning +ðŁį Ń +sho pping +ma inst +cul ver +ste vie +mcfad den +counter parts +gren fell +fol som +dor set +tech crunch +⬠ħï¸ı +tip tuesday +us l +tre x +geor gie +ranveer official +lic ks +se wn +k f +' â̦ +jap s +p ate +orth op +fe sta +stra s +mon tal +hammer smith +fore most +wido ws +mad re +ite z +mito chondri +lig ans +z ona +cari bou +m ss +andre i +weather channel +gh c +: ... +ta ft +awe ather +al isation +bru tal +bliss ful +nik ola +mal icious +q m +mpg vip +bro die +bl itz +applau d +dri bb +v ague +dog go +transl ating +interpre ted +hat ched +ge tyour +benefici aries +spar ring +caes ars +aw illiams +la hat +bro ke +ti mp +virtu es +rel ying +pie tro +k tn +ici sts +pab lo +lou i +a ag +pn pp +cha st +pul ses +fini sh +usair force +type writer +thomp son +dog s +ut to +ãģ į +sand al +new ly +do ge +z w +wan kers +ne gr +mu cha +determin es +black fish +sk unk +mu ps +instru ment +phy to +daysto go +skin ned +hai der +con ten +ðŁIJ¾ ðŁIJ¾ +we iler +undoub tedly +chair ing +wall is +sh ard +zind abad +adul t +absor ption +pre sto +deplo ying +drum mond +battle front +seag ulls +how dy +juda ism +des de +part ition +âľ Ŀ +no logy +national bestfriend +lesn ar +film fare +co asts +christen sen +ac an +mb u +co pped +ru bble +sw c +fun nier +far ther +where as +nano technology +with stand +pil low +bow ers +to pe +it ly +con fit +ma kar +comfor ts +bo sh +cli pper +bal la +sti k +mil b +safe guard +musi que +eas port +ya z +pad ded +bad er +fore ign +chop in +archi ve +o ka +tran sporting +tml talk +aj it +consequ ence +sc roo +ff o +collabor ated +pug chat +ye mi +jav ed +au burn +o of +ma w +sau cer +miti gate +i les +evangeli st +ter ie +re cl +indic tment +cat a +bright ness +may the +whim sical +un lv +key word +cu min +med way +west world +tra w +im posing +form ity +coul ter +ab z +ny pd +grass i +kel sey +qld pol +clock work +f dr +di anne +âĺ ij +ad h +p ann +bra vely +ae ge +un lawful +ver di +pocaly pse +phar o +kar la +reson ance +ma stiff +la dak +bu u +ma iled +hi i +craw ley +tor rent +mach ado +liby an +effort lessly +fal sely +q vist +ke ef +craf thour +cheri shed +val kyrie +s ari +kal amaz +be he +ðŁĮ Ļ +th im +ro ddy +col trane +but chers +ach im +wk end +awk ward +cab rera +:) ))) +fran c +decl an +con dos +a ja +pandor amusic +char ter +ph ill +mon trose +hatch back +handic app +gre aves +eucalyp tus +ut most +t son +bur ton +mid wives +in cur +ðŁĺį # +moo d +compre ssed +tom a +must ang +mo g +as ana +te stic +sho tel +in sol +cor sair +nh q +ben ny +sm ma +kap ur +in con +jon as +ener gies +don al +as ad +se z +n pa +archi ved +stimul ate +do p +hy d +gri eving +ãĥ Ī +ron a +why te +tree house +ss ell +sand ro +ko bo +ther most +se clu +hi ya +ge ez +mam as +prisc illa +flav oured +fas s +w old +maker space +cospla y +p tv +happy valentinesday +sequo ia +love craft +gu an +d tm +ci i +yoko hama +pos thum +re q +ðŁĶµ âļªï¸ı +galat asar +dol by +hamp tons +disturb ance +stone henge +ok c +disrup ting +month sary +jun gle +head lights +du stin +micro sof +happy mothersday +ko ko +gra zi +te sto +na idu +mal ay +ari al +ru mb +ab oo +har man +tra pe +spo ils +je ho +go dly +lock screen +z un +pi ous +ma gento +l enders +prob able +corpor al +m our +aw al +su a +call me +ton ne +go vin +devast ation +x j +gear box +war lock +per me +it ate +gaza underattack +du val +paras ite +clement e +le th +i va +fro zen +tho les +to bin +cair n +s ill +luc kiest +conver ts +st ale +pan cra +euro pale +wis dom +sch ur +ì ¶ +verti go +bi j +u bc +nu re +righte ousness +mt c +factor y +ver st +revers ed +hur i +hee chul +fab er +ar r +ul ous +ven om +ph at +green ery +bra dy +à ¦ +: (( +never giveup +di sha +mo ta +health care +dun ham +dex po +den zel +bb ins +f ics +wh am +mc g +eli an +wat a +str alia +tel lu +pe sky +spin off +ar moured +re acted +do fficial +te du +sag ar +mor ally +paralle led +fi os +dow ner +dau gh +re do +world cup +tari q +bar ne +glaci ers +oc cult +barbar ian +her mosa +!! !) +y ur +inter nation +p ss +sit u +p int +american air +sw am +dopp ler +ðŁĴĻ ðŁĴľ +cincode mayo +le van +hell enic +mc ne +ju di +yu h +st x +qu are +ðŁĺĤ . +sti g +g els +mot ley +hard work +euro zone +e ad +ç¥ Ń +seab ir +ci us +la id +alpac a +presu mably +pewdie pie +boo ted +am ari +tam ine +sol ace +bar row +acade mies +x ian +om ination +dun geons +b ma +de ity +ai k +stab il +hir a +affection ate +ving ne +new port +ãħĭ ãħĭ +thir ds +re tains +aroma therapy +ski er +ni ma +do pe +cr inge +con domin +to or +anim ator +sar aj +seas cape +minim alism +lake shore +calla way +berg man +à¤ Ĺ +whisp ering +stupi d +ri ghtful +requ is +ir n +se va +ut pol +tuber culo +squ ish +de but +govern mental +christ ine +all man +weap on +s ito +bur i +lo lita +leaf y +fu ch +tin ted +mck en +a hahaha +ðŁĩµðŁĩ ¹ +repe al +ne gan +ðŁķ Ĭ +tail gating +game insight +ðŁıŁ ï¸ı +yaku za +z t +ti ring +pro posing +bow lers +tra itors +ak shi +cler gy +cit o +up sets +tu scal +symph onic +sil ently +shu ff +black well +ðŁĺĤ ) +ko be +rober to +ri dg +dc u +mer ino +ft p +east side +. ~ +nb l +mn leg +ts for +frau dul +ca pping +in my +gymna st +ston es +ss in +twe aks +shag gy +oak land +dem sin +sang ria +mm va +hen nessy +down ton +ri ghtly +in it +aga ve +ob last +northe ast +friend ship +dal a +tro phy +ðŁij ½ +mag in +margar itas +ê · +ww fc +fa sh +di ke +cu d +char t +ðŁij ® +refuge es +jop lin +n cs +imp y +firm ware +pas cu +flam in +health tech +bell letstalk +w aka +ol ls +la go +co wan +bombar dier +sh ome +ðŁĻ ħ +mc master +na ve +well s +u ta +tell ers +mis fits +kap il +face off +af firm +a pro +whit epaper +super yacht +speci mens +al located +... , +- __ +ka w +dachsh und +djo ker +s work +qui ere +or um +ðŁIJ ł +som m +c mt +ingh our +skin ny +lgb ti +gi ggles +break away +resear ched +par ity +my al +ms l +re tained +si vity +make inindia +sol ves +defam ation +wal tham +sri racha +road way +concep tu +al in +iw ant +å Ī +del ft +tender loin +ga ins +faul ts +sw ire +st ellen +pol lo +dy ne +bornon thisday +asdf ghj +sq l +sali m +advis es +vo ip +ìĹij ìĨ +un touched +she il +ontari o +uph ill +so bre +de shi +nov ella +du tton +craw fish +ا٠Ĩ +ma a +tw ine +kal in +ðŁĩµðŁĩ Ń +ye ss +brook s +hoo siers +ton ka +umbrel las +ay ers +ate am +acqu iring +su ction +ä n +wi es +tari ans +soci o +mat tb +shepher ds +o so +charity tuesday +s logans +ninj as +al bat +by te +bash ir +trampol ine +mydayin la +i ja +bas el +ror y +gol die +fi rec +un noticed +pecu liar +sch a +ker son +mour ns +liquid ity +qu ipment +hi bs +ar s +aeron au +slide show +sla bs +delici ousness +sk itchen +hta fc +full erton +cre ighton +aer ob +procrastin ation +az ores +white hall +uss occer +medi ation +djoker nole +and me +um en +noxi ous +jo ss +ili fe +anni vers +sudan ese +et res +under mine +whole foods +diso be +kor i +ade le +eli z +can ti +al on +gymna sium +sarko die +meteoro logist +yl de +ste en +stamp collecting +nas al +lo tt +fran ks +ex ol +ack i +good year +animal rights +y les +vio lets +mm es +s thel +ra pping +tu scan +wai ver +tur ner +eat local +northe asthour +anim ations +tom morow +t sh +ff ame +bra e +pe tron +glam our +br yn +d cs +bal es +ðŁĶ ¶ +bro v +bre v +b ons +physi que +car ne +x e +elix ir +vol ved +l oma +ìľ ł +æ ĺ +van u +ri gs +bal ance +va res +bon ita +sprink le +perfec to +di on +le ak +calcu tta +o ba +d ma +c mon +tun er +pneu monia +bo gus +apolo ge +cl ough +bor ne +)) )) +revi ved +o varian +ner f +c legg +fan fest +cho u +reali zes +mc n +li gu +leg alize +just saying +for ster +bo sni +k hi +in dom +hei del +en cryp +si ss +ed di +mar bles +brisban e +y ing +pre paid +wal sall +cooper ate +orche str +mar isa +ho wie +che wy +bren ner +andro meda +e gan +sto cki +cav endish +ag an +ban o +de ir +go g +bl k +re thinking +ch ig +rhe u +sni p +p eng +semin ole +m swx +an nex +lyn da +lewisham ilton +cu mul +tb l +dolph in +agu ero +........ .... +pre lude +at our +gr anger +too ting +ro tun +dis ar +home items +da res +**** **** +ðŁij Ĩ +compre h +jin x +as well +iri e +circul ating +ðŁIJ ¥ +over board +cultiv ate +rhe tt +oriente ering +ca k +bal kans +s itt +jas min +britney spears +ro tor +se aling +g bc +oc ci +f as +eman cip +com er +war time +tic kle +son ny +pac es +log g +at rix +sr p +g win +do bbs +uz be +the wanted +dru sh +ex tru +m icky +honore es +dar win +re dux +mm j +ram i +jalape ño +io c +do ver +ju ju +whit ney +s eng +en ly +au ch +archipel ago +vigil ant +man gal +wil dest +parano id +hal i +bb ly +sanc tioned +real ms +con co +u ddin +c sk +play time +libr a +sav ag +oc tane +rec tan +re turn +par rish +mor rha +cc p +c mu +sa iled +se vent +ro sie +pil ing +he w +boar ded +seg ments +neph ro +( . +cr ats +bak es +ðŁį ¸ +back tothe +sibl ing +kirk land +ke o +gu wa +bre ads +ðŁĺľ ðŁĺľ +t q +haras sed +ga u +wil bur +j isoo +ep er +li sam +tri ppin +sh ino +ru kh +beast mode +cho a +inst aweather +rich land +gar i +fe z +cowboy snation +fur suit +k run +a en +sycam ore +se gun +ent ennial +di h +o ax +demsin philly +ðŁĻ Ģ +sn hl +pen nies +pass words +ma kin +ty e +d eng +kni gh +jeep life +hel pline +a for +zz zz +ste amy +pic ker +iter ate +happen ingnow +ki b +bloom berg +martyr dom +bul ly +assor tment +a hora +zo e +no i +illu stri +agar wal +p sc +electr onica +recruit er +gar diner +rad ha +naf ta +dot net +pi ero +geor g +bel s +ðŁĺĤ ðŁĺį +tuberculo sis +run nin +mor is +haul ing +ev oc +bre thren +sha ir +frame works +a stu +ri gid +ku ma +kre me +jin nah +insu rers +ny u +f ere +nol lywood +good vibes +- ... +toi le +sk ril +instaweather pro +cze ch +pa vel +one piece +nike plus +fi let +cav ity +ðŁı½ âĢįâĻĤï¸ı +ðŁİ £ +dra stic +dail ys +siam ese +re bu +oste o +lar k +f re +sh elling +p é +glad ys +ðŁıĢ ðŁıĢ +gusta ve +submer ged +grand stand +att u +won t +f pv +b ley +jon i +ang ames +weigh ted +al ou +ठ¶ +les bians +f j +anni es +am l +dor ia +dav in +be ta +can c +madewith unity +ha j +bad lands +mu l +blu ec +pa wn +cov ington +neuro logy +htt weets +dysle xia +thel ove +ne at +fork lift +autom ate +une ven +monte ss +he in +ha g +rel ics +competiti veness +can elo +mar tens +bullet proof +sk ittles +g ya +pri mo +americ afirst +woo o +abor tions +?? !! +ma che +ld ers +rl ly +preli ms +direc t +cour se +swa in +super cell +ec centric +sting ray +ple ts +wil cox +west in +okan agan +kir an +car bo +bomb ings +ra rest +bo h +gaw d +di gg +mo ana +enti rety +en closed +dodge ball +par ton +milky way +at r +thorough bred +re ally +qant as +epiph any +ine e +aero smith +spi eth +ar thro +ell ini +du bu +bra ving +âļ½ âļ½ +re structuring +illumin ate +equ ili +mp i +ash ton +pony tail +ma scots +flat tering +cru m +ast a +à® ° +stranger things +bar nab +ر ÙĬ +make shift +got cha +will am +cho irs +kilom etres +gho sh +eu than +dol ly +un ning +the ar +cre we +w sw +j ace +dis miss +ke an +ho ta +kh at +~ > +thir u +ren dez +hart man +tee ssi +cas ca +z ah +hydr ange +fo d +aw p +mzan si +thick er +nago ya +ne va +sti que +cast el +dam ian +there by +ji ang +ale k +music islife +ra q +calla han +gou ache +somal iland +sean hannity +ra heem +lo se +elo ve +whar ton +rectan gular +illustr ating +har ne +auti sma +scra pped +ell and +decre e +nag pur +ki pp +so re +n md +ma as +gun a +gart ner +bel li +then ight +je on +gendere quality +gi ver +a el +gar ments +ne u +mardi gras +mar sden +ro wer +pollu ted +camer aman +vin od +be asley +cro c +ji u +hollyo aks +anesthe sia +al les +ste ward +lati mes +ðŁĩºðŁĩ¸ðŁĩºðŁĩ¸ ðŁĩºðŁĩ¸ +tic ian +gor ia +come dic +ðŁ¤Ķ ð٤ĶðŁ¤Ķ +nai ve +sli ons +ł Ī +bur glar +ðŁĺŃðŁĺŃ ðŁĺŃðŁĺŃðŁĺŃ +york shi +se ñ +fan boy +lau rel +inci dence +potom ac +rober ta +presi den +pr yor +os bourne +w ku +te me +pal ae +ðŁ¥ º +re boun +itu de +red dish +k hand +coloni alism +north carolina +ðĿ Ĵ +manne quin +lady bird +ta sty +knowledge able +g shore +ðŁĮ Į +à® © +qu aker +salz burg +med alists +chy na +bridesma id +ma ori +ro p +outra ged +in adequate +truck ers +al ana +ìĿ ¼ +ri x +oooo oooo +command ments +lam beth +aa j +eco friendly +bla z +morecam be +boun cy +rou x +rai ded +mi zed +sh c +gaw x +labor atories +ru bs +rest room +consult ations +ca jun +virgin i +so ir +rev ue +ple in +wag er +ç ¹ +we do +growing up +! ðŁĺĬ +face ted +sin ners +ho vering +ti ene +seas oning +an ja +leg go +il is +fla x +dev o +ash ram +mati sse +ker i +go wer +bo tox +mar shes +unh cr +ts m +opti mus +dun i +stu ffs +so k +order ly +n bad +islam ophobia +raviol i +fab er +cre ds +won ka +in fusion +over weight +daily news +assi mil +acol lege +medalli on +kili manjaro +sti ff +tham es +sun ken +th ard +my dubai +hilari ously +han nel +plu mber +fair view +separ ating +rasc al +qui en +necess ities +confeder ation +ll ll +: ] +weak nesses +bron co +ra ffles +el ot +ãĤ¸ ãĥ +advent calendar +ðŁİ ¹ +stra vel +tun ic +k su +im peach +e spionage +! - +di ment +cur rant +bio de +commu ting +by ron +ðŁĴĵ ðŁĴĵ +shad ed +tr uro +cray ons +ar ne +h sc +fre aked +dram ati +fle ek +u cd +marl borough +^ - +cross ings +mal o +black ops +bin ance +cho ked +chen ey +pl o +ge stures +val edic +ryan air +rem ington +v cs +mc kee +ec z +be gs +nail art +mayor of +happy fathersday +war t +pet itions +n ingly +clean energy +bro x +sl alom +exist ent +ab ay +ug liest +tom p +stom a +sel by +goal scorer +ben ji +overwhel mingly +lan s +semiconduc tor +south korea +re scheduled +sk yl +en listed +dow ski +si del +rosen berg +nas ser +white head +pri us +har are +en n +ry der +í Ĥ +mon g +clas ico +transpor ter +po tty +is me +** *** +vic e +sk it +ode ssa +l mp +her n +raci ally +pin oy +paragu ay +obitu ary +go es +bu cha +side walks +angu lar +un constitutional +transiti oning +i bu +gu ys +un packing +oooo oo +black girl +ber gs + ¯ +wordof theday +trump train +thunder bolt +m si +fasci sts +ठ¬ +t sk +collap ses +raje sh +loveis love +migr ating +set back +ðŁĺĬ âĿ¤ï¸ı +t els +safety first +nar rated +jae joong +un answered +lique ur +en nes +dal go +bill ings +salt water +mer maids +lon gs +clap ham +we arec +pic collage +n ach +h ace +pois oned +lo th +ag na +adel rey +guar dia +poli shing +peace keeping +d all +p isa +la pland +process ors +de andre +so bs +p once +dra ins +c be +ðŁİ¥ : +spla sh +meat ball +fon tana +worcester shirehour +ne v +bri sk +b int +ac r +po x +cay enne +skril lex +j fc +hahahaha hahaha +gla s +en gul +tempor al +oni zed +con cre +com pose +vibr ations +plant ers +fer t +criticalrole fanart +t bli +sch allenge +huck abee +munici pal +iam bic +radi os +ne vis +dura bility +mc cla +horse back +inst itutes +ful fill +atta ch +ate ur +ak an +resi sting +illumin ation +hand le +hair care +om ent +macle od +ka iser +g no +bear down +ly f +gl omer +distor tion +z m +san k +roo sters +is now +as ports +ag en +wo ken +st george +ro mper +my le +econom ists +ru to +t will +health and +d ito +ws l +tair p +pra kash +mic heal +h ts +w rights +kat su +fioren tina +defen seman +d itch +var sity +texan scheer +ba ham +sc anned +we il +seduc tive +ðŁijį ðŁı½ +fu e +er win +dav ison +ter ran +moo ds +wool f +re source +@ . +cu sh +ðŁį ° +regre ssion +cur led +la zer +jo anne +ab bott +mo z +down ers +mm mmmm +valent ina +k hair +dream t +cro ok +che k +ste aming +nephe ws +cl eric +as ober +indefin itely +w ye +us news +joy ce +flu shing +wynonna earp +ron do +kis s +hot dog +bar ns +sax ophon +far ley +gas p +decre asing +al way +pe x +l sd +shi ft +p outine +ra zz +rescu ing +ni ko +ho ch +cc l +u aap +n ts +m car +il wx +conqu ering +ket tering +stur dy +delay ing +sto k +vani shed +cath ar +bin gham +in v +ic hiro +he mo +budge ting +[... ] +be ss +sebasti an +slow ed +ðĿ ij +musli m +stun s +acton climate +ve a +se ton +rose tta +oun t +hard in +flu id +ca w +ðŁ¥ Ĥ +yach t +un l +sp hy +provoc ative +or ic +is back +__ _ +nicol as +gy an +loo se +fl in +reb ate +: :: +! "@ +com icon +she ff +down stream +chic hester +beach life +mom life +diabe te +ar ra +van e +ok u +ye o +man go +try out +app ell +he irs +arjun a +dd u +na veen +movi c +soci alists +s back +criteri on +soyu z +k her +da z +yol anda +wine oclock +re ina +one w +leon ard +en dez +u bs +support local +facilit ated +carameli zed +b pa +vuel ta +my tho +m ami +spe are +nbap layoffs +fe vre +nick jonas +im print +c so +craig slist +la salle +gi deon +ha doop +dis regard +w ud +tu c +ma gee +acou stics +ta a +qui e +pol a +cr t +dw yer +dis sec +capit ol +men tion +kn oll +he igh +fin ders +plac ements +l se +indi ra +gur i +madhuri dixit +kingdom s +iambic pent +geor gina +je ky +conflic ting +bay an +aga tha +uph old +dr on +vic ar +ex pat +periph eral +pe ssi +fa f +ance stor +? .. +wid get +pun c +comm enced +beav s +air waves +ad dis +po a +de sses +co den +vu e +ru pee +kar in +spo ck +m sy +ภ° +pr ick +fill more +ti fication +thing sto +sar de +em ile +pere ira +n ad +bright ening +arre sting +wo king +usc g +sp ill +raspberry pi +hu go +ite c +is ma +cuff links +optimi zed +oc c +mi wx +en ka +el ited +afford able +sa kh +coron ado +ho h +at ul +ai oli +jim cantore +accoun ted +vin ay +her mit +groo ves +ran ch +r illa +we tter +ou tof +veter in +ni kov +ki an +fair banks +ram apho +n iti +k ko +ru sty +ne stle +tv xq +shahe er +âĿ¤âĿ¤ âĿ¤âĿ¤ +penn ant +gem stones +dem debate +ðŁIJ Ĭ +auton ews +support indiefilm +mach o +ve x +new sat +ne ti +conce ssions +can died +yof the +mac au +den ds +cricke ters +san iti +mari ano +gh at +ar toftheday +¡ ľ +e gos +gen oa +chat bots +bri er +al labout +mon ty +spi ed +r tr +comfor t +sni ppets +real time +gra in +exam ined +en lightening +tt u +god bless +release the +sing ular +ki ans +ha ka +sor ren +defe ct +mar g +equ ities +d orian +su ka +per l +aishwar ya +pul lover +preci sion +fair way +ne ve +rive ting +vill anova +en com +ak o +passion ately +europale ague +siem pre +x vi +enligh tened +c fr +âĺħâĺħ âĺħâĺħ +wast eland +is f +new comers +emergen cy +amphi theatre +- . +text books +figur ative +tre mb +pe sc +ab hin +ab bot +ac acia +har ds +por sche +kau ai +el isa +car rick +abo u +elli er +be ch +neu tron +galap agos +ru ben +in nis +how to +nun s +sab ine +i ac +clin ched +no tori +fi ves +cairn gor +per i +gr c +ðŁĴ¯ ðŁĴ¯ +mal m +twelf th +di ff +rout ines +marty n +lin den +synthesi zer +nu mber +game cube +fal kirk +byz antine +queu ing +gr ill +scal able +char red +rou ting +her bali +gri zz +ðŁĺŃðŁĺŃ ðŁĺŃ +tol l +termin als +l pc +ab d +war mups +remo vable +¯ \ +vi go +pap aya +ne ve +lov ingly +jo kers +ib les +sse tt +poten ti +pel e +gi gi +sadi q +leg acy +son o +ru pees +retar ded +ele e +par r +fi ance +ey re +say ers +pend ants +mak nae +al bans +adap ting +p ff +pu berty +ji u +ing rad +hypocr ite +diplom ats +phys ical +rob by +bon sai +ãģ · +f att +catal unya +âľ ĸï¸ı +ro ma +more land +so e +conver sions +stl blues +shol m +gra ssy +pra do +on u +assaul ting +> _ +sett es +dis graceful +aph ra +âļ½ï¸ı âļ½ï¸ı +ठª +kil n +goal tender +s ru +philanthro pist +b als +th n +stu den +sando val +dogre scue +eli ons +asse ssed +lar go +hec tares +sh rm +sa if +cle avage +no ches +n ene +fat alities +cur ing +clean ser +al es +p vp +south bank +pizz eria +marsh als +kni fe +an dover +tbli ghtning +sr sly +ou te +digi mon +timesof india +prome the +le bo +f su +wit z +rever e +man as +mam ba +ch ica +gu an +exhibit or +csr racing +d ere +xx xxx +gu sta +story time +ston ey +organ ics +and u +se am +min ogue +anushka sharma +ab a +ðŁİĻ ï¸ı +ugand an +chro matic +as sn +document aries +sh t +ru paul +loy d +k ats +e us +ite ch +me dusa +pan ty +kel logg +et to +talla de +sha a +do st +p ms +mari ana +je ster +croo ks +ðŁĶ ¬ +min danao +ind hoven +ðŁ¤ ª +le xi +tv n +jan is +co te +ãģ Ĩ +ser rano +iw m +ðŁIJ ¬ +k ke +distribu tors +cap u +counterfe it +camp site +ag gie +ðŁĺ ¼ +chhat tisgarh +~ @ +state u +san di +prevent able +cl s +can ne +mm c +i ver +sa haran +pal is +night out +do s +ap ia +absc bn +manag erial +aro se +mo wx +aro sa +ðŁĮ ³ +under dog +remo ver +astronom ers +lent ils +su scep +smoo ther +pend leton +fau cet +e mory +dal mati +af cb +tic us +exem pt +en rol +d heim +ðŁIJ º +restric tion +star fish +sto w +snor kel +thunder birds +she ad +homo sexual +dy n +as li +andre tti +dou che +dom o +tar mac +slu mber +pr onto +first dayof +mini ature +mari achi +argu s +recomm ending +mobi les +in ce +illustri ous +or c +adver ts +gr its +wea sel +pag oda +over pass +gre ys +maxi mus +arma gh +wood land +sun ni +ðŁĴ ī +ë Ŀ +ti one +soci o +ho s +ðŁ¤Ĺ ðŁ¤Ĺ +wind sor +subsequ ent +munch ies +id h +exclu ding +e mi +cu th +z ai +week days +law suits +barn ard +Ø ª +pe tting +net es +mul ligan +pharmac ists +ra quel +e ton +cran ston +gil ded +cle ary +ce ph +ra a +pam per +lombar di +as in +sher ry +pro d +for te +ari anism +buffalob ills +æľ ¬ +ðŁĶ¥ # +uu u +just ices +car ina +nat in +mas low +dro oling +cog nac +cam ber +el ong +r dr +in en +convic tions +am use +tro ck +harm less +visit ation +gen omic +bl and +beno it +chim p +tuscal oosa +gre asy +x po +gil t +se q +per mitted +christma seve +book s +mu e +old school +human right +be ati +ðŁĶ Ŀ +sh at +sculp ting +h wan +fern andes +sci utto +fu entes +endeav ors +maid stone +un paralleled +shou ted +queen of +mer c +band ic +ve da +sel angor +pi le +ja han +intimid ating +disapp ears +cl ich +za ha +w urst +hi v +fod ils +cor dless +aaaa aa +hy dra +bel inda +e els +bu f +su staining +rugby league +no c +brig itte +( ðŁĵ¸: +tromb one +soo the +smo g +ad p +stab le +ing ley +diagno se +ms g +we ss +tic keting +one e +nsw pol +e up +auto psy +adity anath +sun down +river front +si ya +p is +hier archy +dur ango +di jk +ren shaw +he aps +epide mi +david bowie +interne tof +dd i +nation ality +mb ar +air y +win der +w alia +elli ott +c x +bav arian +pl att +an tw +wi wx +sof ter +ne ha +h eller +th and +dani ela +bo ast +degra dation +ðŁĴ¦ ðŁĴ¦ +transform ing +man e +av ut +ðŁĺĪ ðŁĺĪ +vo ter +the e +t ate +pu ff +in door +sop roud +boy ce +boris johnson +wait in +immun ology +ðŁıĨðŁıĨ ðŁıĨ +âĿ Į +street food +liz asober +cavali er +c elia +need le +motor ing +g ato +, ) +ra de +harve st +t ms +jar pad +on ey +air men +v re +impair ment +abhi shek +snoo p +l ant +fam ously +bl ou +s ze +g ander +un touch +tu f +dee jay +col lateral +b ind +ðŁļ © +pin ning +ic n +' ; +the economist +ul tram +worldwater day +ti poff +the i +feed ers +campa ign +sc umb +day weekend +yo m +pe dic +h ough +ps v +pl in +on de +boston marathon +az zy +* _* +con ley +thi ago +hoo o +gal erie +luci d +je tt +gl itz +final fantasy +achiev ers +y ung +peregr ine +op hi +dam es +biom ar +âĺĢï¸ı âĺĢï¸ı +sk c +l ics +fl ank +ar rahman +ho of +uphol stery +t ats +wo z + ¿ +snor ing +ra er +l ju +ap d +pl ating +kan u +im ation +fragr ances +m ra +mor ay +mo tt +im muni +hearti es +bho pal +tim ers +g ata +color way +car nation +win get +si ghs +s ville +optimi st +chate au +olympi ans +ci o +singer songwriter +ny o +fi bers +bur ch +ag ro +mil ne +ig bo +cr amer +ation als +dan ube +pad ma +nor mani +en forced +bre ck +boeh ner +ar den +sur rendered +pros thetic +om a +ha iled +calcul ations +w fa +bi b +fcb live +fon da +west coast +que sts +friend ly +to wie +fit ch +bal ot +star dom +scrat ching +ho sa +thi ka +o ven +stro ke +out post +pharmaceu ticals +hi kari +mu y +af d +fallon tonight +squ at +or u +dra ined +chocol at +ë¯ ¼ +wor ths +ri b +mu j +that s +residen te +it el +boo st +mi gos +mul led +la a +etsy shop +don keys +me k +p tc +flin ders +e hs +ro hit +mu ir +g ad +compos itions +åĨ Ļ +combu stion +i kh +yemen i +wav ed +gar ci +ak os +oo ds +fu sion +se que +s lan +pl ur +kic chasu +shenan do +s ams +worl den +horo witz +with me +mic robes +k ki +ðŁĴĶ ðŁĴĶ +w su +patch work +fre er +y aki +the art +symboli sm +mil er +bt n +ma bu +side kick +motiv ates +sag itt +natur als +serv iced +ps ori +pa ola +qu ig +i badan +gi ggs +ë ³ +sciento logy +si oux +salam at +d res +cad bury +d hawan +ci ón +_ ' +swa pping +maris ka +james bond +explo sives +ay les +af er +s agu +cen sor +tom a +jeff erson +ring ed +par tist +ir responsible +aguil ar +vac ay +equ itable +altrin cham +ac ur +man ish +ger min +schoo led +pu tter +ed ad +nav al +toast y +sol areclipse +dish u +coy ne +ac co +mu ck +mar an +el os +len der +cro ix +worth less +ha ber +gun men +ðŁį ĵ +zen ith +t enders +hur st +hol tz +itali ans +car low +u cd +characteri stic +bun g +av l +u th +sa sia +rs l +red man +neighbor ing +green peace +sti ps +follow party +y gk +en os +omni bus +na issance +chri ssy +secu re +call back +ji hoon +memor y +block er +l anta +daf fodils +bil t +ffer ty +fau st +ie c +nipp les +so g +m nd +jagu ar +bol dly +ab poli +pro position +gun sense +evan sville +cu tters +we go +dou n +do x +stal lions +ka j +shi ppers +j awa +vol o +le ven +pap rika +kov ich +jor di +induc tees +app alling +dial ysis +allevi ate +âĢĶ âĢĶ +pie ter +mid wi +q tr +juli ette +inter mission +haw ks +act ment +one ill +k lin +vam ps +fam ous +cou ld +autom obi +da an +west end +elli p +nh c +mel anch +web series +ton gue +snat ched +smy th +tan gible +sl i +e asing +bar stool +over lay +afford ability +ting ed +ter as +ay ush +wanna one +rh ine +dan a +sh ana +kend al +fer tile +w ir +repl eni +lar vae +is ro +con vos +ab brevi +u cc +hun gry +bur rows +ag er +nav i +mat in +du per +cer n +ma don +ķ ï¸ı +é ģ +tu ps +hy att +sh ep +friday night +wis er +hei di +hat ton +p gh +foun tain +wrist bands +ahmadi yya +aeri al +subscri bed +so los +m ace +sla yed +for fe +dul ce +christ mass +arun jaitley +viol ate +ob stru +ni eces +w vu +idy l +fa ze +pre serves +infr inge +premi ers +inter vals +agen cy +( © +stand alone +di mes +bo er +param eters +ge tit +ðŁĺĺðŁĺĺ ðŁĺĺðŁĺĺ +tu lane +for given +scol l +mb ps +smash bros +rob bi +prima vera +ali st +ghost ly +ay at +ye ats +impre ssionist +ear phones +caul field +wai kiki +sal ute +sc ou +mu ay +louis vuitton +bak hta +ado g +inven tions +hur d +forec lo +stream line +thalai var +ch snews +will ard +t sn +euro parl +cru sher +my sore +gro wer +ra ping +pat ti +g den +sm w +muf ti +kid man +ab r +soun ders +skep tical +ðŁĶ İ +sun dar +i me +fer g +feather weight +ar lington +pas qu +ag azine +wearab le +nati c +mccl ure +inter mitt +hor de +six ties +car te +bha v +ze al +experi ential +ador ned +som mer +eno te +hypo thesis +stin ky +pro to +dead lines +vo gel +mus ings +monc ton +gu ter +f le +aci on +voice of +ta sha +inhabit ants +type face +s ba +bts x +ðŁĶ Ĵ +wor x +u hc +jo ko +cell ars +gor o +continu um +... & +weather cee +ha p +sr k +ris ers +lonely planet +un named +co eur +ðŁį Į +the world +ili ke +fa sten +ami go +ri ba +ramapho sa +staf fers +had ley +? ?" +fi ore +sal ut +hu ff +bez os +Ñ ĭ +ra der +kam ala +in line +fill ers +um atic +all in +shat ter +re in +o ku +ch ases +fla gged +baby metal +water stones +ts b +cut out +op hel +aam a +rockab illy +sto lic +jet blue +ich ick +down ton +uzbe kistan +pat na +la q +gr ange +) _/ +subsi di +sc p +newsc ast +it sa +twee tyour +e mor +archae ologists +uni fication +por ta +q x +protec tors +pro hib +charis ma +car tag +ren fre +scul pt +guwa hati +de ma +boo p +unf pa +dex ter +lay la +alleg es +sou ps +never again +l ys +cal c +bar oness +visu alize +ger ber +absor bed +i ers +a han +fon tein +detec tors +verst appen +sv c +formul ated +ac dc +li x +in competent +bh k +lour des +water house +snow ed +appreci ative +sig ma +lizasober ano +pen ned +pay check +tall inn +fanc afe +par isi +av alley +vi g +ru fc +hard ship +so cute +po ise +ì ¹ +roth schild +k ly +???? ???? +l hp +il ay +f hs +am ad +ide als +brad bury +bal boa +nic ot +kid nap +wol ve +tas manian +op t +matthi as +ãĥ³ ãĤ +super markets +mylittle pony +me lee +li ster +gr oun +fe dora +kind ness +en en +bra hms +¯\ _( +ros well +mar lene +ic u +re formation +or ail +he brides +dispar ities +terrac otta +swal lows +re id +influ encing +flu or +den e +tum our +blon des +thunder bird +sh eva +moga dishu +ka b +cre eps +i ving +ene ed +anno y +âĶ Ģ +intri gue +enqu iry +ar aj +tur al +kuber netes +end lessly +divi dends +tor a +ti sh +commemor ates +un ra +tri b +pon ty +ne m +diss ent +brew ingco +ðŁĺ ½ +nor mali +bi of +( ... +chil len +ì£ ¼ +mell on +av is +mccor mack +ing ra +enrich ed +custome rexperience +testo sterone +snu g +sett i +ger onimo +inqui rer +bre aches +very thing +bloom ing +mu ra +dispo s +bi de +de va +shade sof +in trin +sh ev +s ven +nayanth ara +gan esha +c ws +ber ta +label led +use um +nick named +ma han +car uso +ap ur +ðŁij Ĩ +w q +orphan age +discar ded +mag nu +lu e +je on +bridge port +pac ing +mercur y +( ðŁĵ¸ +marx ist +amphi bious +transplant ation +stit ching +then burg +gradu al +ãĤ Į +ro ft +ma ils +ine c +guy ana +dopp elg +ver o +re write +head less +harb augh +gate way +car sforsale +sw i +st is +mach t +un de +sura baya +stap leton +nur turing +mil ner +ya o +lma oooo +ko sh +arsen al +k ame +er ry +ar royo +dis misses +ru bbed +rc b +lew d +dil u +and or +vi de +ur in +inter sec +ha ar +al b +year swith +app leton +é al +ul livan +suc cu +monter rey +d mx +artem is +ron nie +farm land +s football +gro tto +anth i +ãĢ ģ +à® Ł +vid ya +jimmy fallon +ൠį +t zer +gravit ational +w thr +u hhh +e hr +tin ker +ti juana +scran ton +ram charan +bar clay +re van +m si +ka p +wr s +we thenorth +tor al +sat u +gro m +fac ep +erick son +z yn +se dge +oo dle +spur sofficial +ds p +sic ilian +soli hull +recei vers +ladak h +hend rick +ther i +presi ding +mc guinness +litt ers +gun nar +gh oul +wi b +n tv +kar o +fro ck +b lau +ampli fy +all is +ul lah +memo irs +kh loe +intercep tions +pet day +lo oney +con fin +ch ay +piyush goyal +frequ encies +ut z +event ual +warm ly +obli vion +an ka +ta it +âĿ¤ï¸ı . +director ial +ru lers +prince s +mu ck +stur ridge +deu ce +abri dged +bagu ette +un cles +pen du +min ding +forre ster +av ila +wall er +wall street +ment or +hin o +high way +crom well +fanart friday +mb i +co yle +a hi +tro ve +spie gel +pay tm +mcin tosh +jan sen +nit i +nash ville +len o +leicester shire +le gos +dic t +ðŁĵ ½ +sp ad +beverly hills +sy rah +separ ates +z ain +un fit +dra gs +tan ia +over flowing +hri thik +haw thorn +z ani +mac far +fi de +to tem +pe ds +fundament ally +cal ico +sin ner +j ä +hil de +ds d +ten ay +ta hit +mil f +lie b +inform ing +up lift +ra el +mortg ages +lec t +ii ii +guillau me +compos ites +old smobile +l end +gar th +com mish +bapti zed +scorpi ons +ru cker +bringback our +alli ance +thalap athy +tal i +sp ans +eri dge +wither spoon +lin da +sky lar +kor n +hom s +Ä į +sil enced +caf fe +ar ty +dist inguish +to wed +pun g +jessic a +ear nest +beau fort +t ama +study abroad +si khs +new bie +nav ratri +mar ble +loun ging +lit ter +dal it +so sa +iz es +gra de +com promising +tr iton +de tta +v j +chau ffe +spec tral +powe red +montess ori +artic ulate +hal ton +al co +ye y +mn twins +acoun ty +ðŁijı ðŁı¾ +âī Ī +mad men +kal a +gru m +chi k +ati s +su me +akh tar +job search +high lighter +bo ath +âĦ ¹ +tar zan +lam bo +âĽĦ ï¸ı +ox fam +dump ster +pretz els +mac os +incl ined +fac tual +adverti sers +shu i +pu ree +ml pfi +anti dote +cap o +pa str +merc ado +but ton +ar min +ag g +lol la +horri bly +er rands +christop he +time snow +monday motiv +li ss +scand als +mc i +dispropor tion +âĺ İ +sur pass +samar itan +so tho +pu rest +fl att +trivi atuesday +delec table +leop old +hermi one +chou dhary +en rich +¡ ¡ +subsi diary +ine qualities +bachel or +auto immune +la kota +i hop +ad jec +the simpsons +sh es +se k +gret chen +up stream +hin akhan +coper nic +x tina +lu g +tough ness +e ad +cli pped +bi us +sl v +fah ren +dee pak +ca u +x an +im mature +dig ni +bo bs +shred ding +but tery +accommod ations +de ven +chun ks +super league +sky bet +kil dare +je et +ë į +ce k +wrec ks +pro pane +oh l +tb d +quo i +trum pp +mi mo +reluct ant +ver ne +o ic +ma gh +ar nau +se ver +li dge +stair way +kicchasu deep +ðŁĶ º +mach ining +aama admi +ot i +c da +al it +pan y +inst alls +ac ct +e shop +di em +hard well +fulfill ment +sc afe +qu ack +extrac ts +swee tened +fi ghton +f di +d inger +wal tham +us ur +refe rees +seok jin +gran n +af rin +th n +sch af +par cels +bet is +amar ine +nom an +kh tar +mor itz +cou pling +bar ons +ðŁIJ ¸ +à ¸ +sl p +sad ler +x ander +tri ad +mc millan +kh z +divi ding +ìĹijìĨ Į +dar yl +zed d +le ys +pla ques +flu ori +tipper ary +on nell +di dier +lang ford +im c +the sun +bir dies +ar cha +ye ssss +t di +dar ia +cand ace +al tam +pal aces +ch it +sant am +event ful +book of +ad b +mon stax +cre ole +co el +âĸ ½ +we aren +sten nis +she ath +ati sm +gron ingen +mlpfi m +le pre +wrong ly +rsp ca +rendez vous +acknowle dging +pel vic +solic itor +sla ys +nue stra +lo d +is lander +fer oci +fashion show +ra ss +dge on +adole scents +sma shes +negli gence +grate ful +ved ere +sw oop +ing l +apol ice +vand alism +gan n +jo ao +di supdates +zimbab we +under age +radi ance +w of +bour geo +pla s +cr ani +gh ue +wrec kem +warran ts +re form +jim mie +at wood +ys l +neil himself +l bj +i man +tan to +nois se +ver bs +equip o +al together +mam ent +l ice +dou glass +tier ney +pri med +j hal +furn itu +braz ili +v ill +past els +n ison +u ff +paral ysis +jay e +im po +ðŁij ģ +strate gically +pakistan is +was sup +super bike +thank u +tru elove +sha ikh +israel is +vi p +to g +li en +la ker +grey hounds +cul ars +bian chi +balot elli +ar ran +loo s +str ates +he bron +ar vo +sunder land +the al +tomb stone +sand man +c pac +thanks giving +love him +lat ino +an in +aka if +ĭ ãĤ +tor quay +di est +alli anz +ðŁĺ ķ +golf club +cl lr +wal cott +sch nau +promp ted +nomin ating +len nox +val et +mon ro +may ward +e ph +ðŁĶ Ķ +inter oper +r da +re flex +arm chair +ê° ķ +stri pper +por ti +ph arm +ham za +ni reland +ne ue +h pv +port foli +sun burn +fris bee +be al +bapti ste +x h +ty m +pr ati +o vers +haz rat +deser t +der ry +us ky +em mett +ach arya +)_/ ¯ +shu d +may a +ham ill +ra im +nr c +fitt ings +cur vy +ðŁı ĩ +ster ling +à¥ Ģ +wal kin +short cuts +mil ly +ast ur +alpha be +pl i +pe z +miss you +rad ford +ml g +ta eyang +notjust lakes +du mps +seren dip +le ur +ra ving +e ster +de priv +absc bn +ðŁijĩ ðŁı» +scar city +o cr +mean ings +cap t +da hl +fer mentation +bri oche +to win +out lander +massi mo +en cro +ðŁ¥ ³ +buil t +po tam +kir i +tm w +monit ored +k ites +peoples vote +gray son +íģ ¬ +afri ka +a dies +i vote +gy ne +g annon +di x +c mc +ou ral +fox andfriends +bel i +ig ne +gl an +katrin akaif +co politics +qual itative +p si +lu cci +disc oura +âĺ ® +kel li +gau tam +carac as +reale st +pu la +in us +hill top +make aw +atten borough +tw y +r arity +peck ham +ma hon +corn elius +clin icians +ton line +tb i +paradi se +ka si +inev it +fresh ness +colling wood +lun atic +defen se +cop d +in fra +wain wright +sains bury +alab am +te ma +lac o +chec ker +releg ated +tren t +stal ks +huff post +bhubanes war +ast ral +share your +prim rose +hi me +cat an +end ment +en dow +cle mens +mal oney +hil ary +game time +den ise +collabor ators +b wo +radic als +gue tta +ici on +au a +snap matic +sat chel +excav ation +base man +s ão +gn ation +fel d +surve y +shah zad +ma st +anirud hofficial +tru cker +ot ago +geo graph +ethe l +âļ¡ï¸ı âļ¡ï¸ı +s ver +mu tt +internetof things +ancho red +wh ouse +bang la +bal main +ç¹ ĭãģ +break fa +á Ģ +twi ster +te tris +ca v +stag s +g z +au b +stor med +hel ens +yar mouth +st asy +gustav o +co sc +vin son +up p +sc ricket +assump tions +app e +nu h +u er +pre mise +n aga +e amon +coron ary +na f +north side +el mer +ro tar +out lining +el f +re surg +kat elyn +in can +hyster ia +ce e +am bani +pro lly +Į ãĤĬãģ +ax es +san jose +rem brandt +mag pie +even ly +scor sese +qu aint +f g +b buk +indian football +weare all +spd wy +pis ces +ec g +âĺħâĺħâĺħâĺħ âĺħ +pre orders +: | +ni pple +sal azar +ju me +jail break +min n +bas sett +ze tta +jef free +ad jun +tic on +san diego +drink local +chol era +solic itors +o bo +com post +ni an +wr a +tre ach +ic ic +profession al +del ve +leg ate +histor ia +cro issant +con noisse +nam o +palli ative +chem trails +i ority +global warming +comic art +behavi oural +re sted +li as +cli mates +Ł ãģĦ +rut land +nou rish +menopau se +hot ties +demen ti +ve spa +mel ville +anal ogue +tz man +str ung +im perfect +gl are +cir cling +ros berg +rec o +oc ity +lo ire +em be +do ssier +ne el +nan do +me a +gal vani +fin esse +ag p +berke ley +asi m +âĺº âĺº +quil ted +ish ere +un matched +po tion +for z +at re +selfi es +juli ana +ðŁļ ¶ +âĸ º +mel ton +âłĢâłĢâłĢâłĢ âłĢâłĢâłĢâłĢ +spin rilla +pur cell +ed p +at leti +tony awards +ra ja +pro gno +mol ten +stu ff +p ally +nobel prize +âĻ» ï¸ı +spiritu al +spe ake +sa sha +bri um +tru ss +critici ze +assassinscre ed +yor uba +u lo +fire man +workin progress +ef cc +fla res +ro bot +hi kers +cl l +shado wing +pat sy +leh man +c ns +å ± +guad al +à± į +ra pe +r honda +paralle ls +son ja +langu age +land ings +z ola +cr amps +bur ning +apprais al +jol la +ham m +kas a +gul ly +f go +uly sses +ri be +ðŁĴ Ħ +ib u +eti enne +bri ar +fin ely +comb ating +y ql +go tham +we chat +to paz +primar ies +l se +iz z +hel e +dispon ible +cy stic +bel ichick +th rush +kansas city +ge om +soli di +red bubble +by stand +cambridge shire +par fait +ast le +ow o +ind ore +stom ping +sm elly +ðŁ¤ ĸ +locom o +adm itting +hol me +clock wise +min sk +mc co +for get +ev p +cam ra +ab ella +yo tes +universit yof +mé xico +silver ado +ric ket +crom bie +pu j +eradic ate +deli ght +y go +glam ping +vic a +du ggan +coun ters +cf d +sc our +react js +pu ram +paras ites +in ki +vill en +stel la +li mbo +ang as +k cr +ðŁĴļðŁĴļ ðŁĴļ +vap ori +mum ford +oli gar +à ¼ +al oo +boo ties +ad r +k elli +dru mmers +av ici +nature uk +ron al +in trac +un splash +le che +g oma +el ine +envir o +bi onic +bu eno +mi k +av in +star ling +em powers +cake day +boy cot +ðŁĴļ ðŁĴļ +ðŁĮ¸ ðŁĮ¸ +v ach +m ci +fractu res +ger i +sk ing +exclu ded +lu ce +ja ve +ig gy +evi den +aki stan +a wn +mor als +luci fer +ha ban +tumb ling +sunday motivation +mo sley +captain america +sch icago +the one +mo td +d ts +ðŁIJ ¼ +rep ell +ii i +locu st +geo spatial +mer sey +immer se +desc end +ber nade +j s +boat sales +win der +cran k +sing leton +candid acy +ben a +ðŁı» âĢį +high lander +ol t +k prs +healthy lifestyle +four teen +end the +ith aca +circul ated +r ans +pre valent +ha vas +splend or +roo ster +kalamaz oo +jewell ers +enne dy +rou sey +es y +cann ons +ornam ental +// // +ren don +win ne +mol ding +eid mubarak +coun tess +simon a +ha wa +fo es +du ster +sb u +por tray +mar ries +goo dday +cho co +achi ever +ðŁĺ¹ ðŁĺ¹ +pre neur +tr amp +tom i +n bat +garden chat +farra khan +ever glades +ab ru +sou sa +se ce +homes wee +terre strial +bar it +sri devi +ol u +mel inda +f rick +can dies +ðŁĺŃ ðŁĴķ +qu reshi +family fun +exor cist +cardin al +ny t +dies el +cu mulus +capric orn +si ology +lor na +dou gie +an die +super sport +c fl +п ÑĢи +say ang +pe ek +ภĬ +lo be +j em +ing lis +gg led +c sn +amne sty +chu ps +ba es +sau er +ðŁı IJ +mongo lian +en et +back street +dr illed +acce ssing +ce o +b se +ai ken +pur r +wor sen +whe res +war k +testi fying +bu ri +bla st +aw g +ðŁĵ ĭ +re defining +hear ing +u ci +c mp +bon i +tail oring +ta ji +noc chi +em t +stephen king +ne et +compla ins +campaig ner +luci ano +twili ght +ti esto +pas sports +flo yd +cathe dr +na ked +caregi ver +b coz +ade cides +ku ri +ly k +br aries +dren ched +disc lose +ðŁĴª ðŁı½ +le blanc +je tty +gar ty +chip mun +b su +rhyth mic +ic z +fri d +anne x +ame x +solo ist +lanc ers +arro whead +speci fication +simul ated +na is +inver te +bo wing +wor ship +f z +abo ss +sha q +ì¶ ķ +challeng ers +an arch +aamaadmi party +ãħĭãħĭ ãħĭ +suffol k +so corro +sn ell +cla dding +absor bing +shaw a +particip ates +ðŁį Ķ +book stores +bak u +seap ort +ko jima +gab y +pack ard +electr ician +let it +mo wing +fa wad +young jae +hot mail +men ing +u rie +intim acy +con ti +: ") +lifeis good +in ciner +i dri +craz iness +jour nos +fran chi +bott len +al da +ff es +k x +south we +air a +clay ton +sco ti +f j +bri ga +ð٤ĺ ðŁı» +demonstr ators +y z +stor k +na q +casc ades +travel chat +plat a +pad ma +fran ci +at tain +bat girl +lom bard +hoo s +d dos +neon atal +discla imer +r ss +r ant +di sen +tex aste +so cal +frac tal +cam ry +stri fe +sn acking +mu h +sant ander +mor ons +gra f +par ades +hu ston +dru pal +mi ento +kir stel +hy de +vom it +forti fied +sphin x +da v +bir yani +win nings +s baseball +mer ged +lovel ondon +ling ering +dream big +car leton +liveli hood +djan go +astri d +gri ds +down e +bru ised +s ne +scarec row +hel ium +f nc +bi ggs +an ter +restor ative +em pires +ab del +life style +kiwan is +colloqui um +me en +pr ick +anti que +ze b +mi mic +edmon ds +ðŁijĬ ðŁijĬ +q ing +pp el +mc gill +interpre ting +âŀ ķ +rash ad +do ka +narr ator +electro magnetic +ash by +sau ra +iran deal +âģ īï¸ı +krish nan +in di +ff en +bre a +os man +multin ational +chi ppe +recruit ers +aus biz +p ounding +re gen +cur sor +refu sal +mac s +in ak +ax ial +wa ifu +up cycled +hindu stan +cas sini +carly le +scrat ches +re ef +man atee +eat ery +ðŁĵ ¢ +un condition +sen pai +on ther +comic book +pro sciutto +de mar +mi se +ma ge +fre ec +aye sha +al der +android games +ley ton +ho ck +door way +chicagof ire +aali yah +sw elling +bi x +. ðŁĺĤ +evan kirstel +torpe do +kon stant +genevie ve +ma ia +ha user +do torg +hide ous +fi k +sp raw +e ek +z appa +wan dered +' ' +ra jan +bam bi +( $) +wid ening +tool box +sa ir +illumin ating +pra ys +out patient +i w +day o +lo b +sw fl +sha des +gu ms +coo kin +ko di +gri ffin +traum ati +ste a +slaugh tered +god bless +air time +pseu do +b sa +hau led +ar if +à¸Ńภĩ +le l +wc po +mil iti +char ters +worl da +ru k +k gs +digital india +is able +idyl lic +esp ino +marie tta +e bo +team canada +ab our +wil ton +rock stars +fav ored +phys ic +wrink le +tb r +d print +ball arat +ad al +z ey +ðŁĺį ðŁĶ¥ +tom lin +mt r +pal sy +fener bah +tight en +phil ia +ir oning +ry u +b ant +enqu ire +ca ir +abur ger +tru n +green berg +chau han +ir ina +sh ani +trend setter +pre tt +zaf ar +alo ve +v ici +pan ic +no o +lu stre +disrup ted +bal lis +son sof +mon si +inst ac +ake st +ëĭ ¤ +kw ame +horror movies +distric t +sau cy +mb an +ar mies +with drawn +med ics +loft us +er oom +be kind +ar ns +all on +un ison +davi ds +cr at +nicot ine +so or +sm x +on co +cospla ying +zombi es +har ms +e ger +ro sy +moon shine +fe in +ce tt +du brov +reg ents +ben itez +ðŁijıðŁı¼ ðŁijıðŁı¼ +ste c +m alia +prioriti ze +ic eland +ft se +v amo +lam ont +homo sexuality +bre es +regu i +cb p +te j +sky sports +deter gent +sha sta +de rel +conserv ancy +colori zed +accol ades +vis o +show your +nan ow +bice ps +us ability +bi m +dailys ketch +pearl jam +stran gest +mega deth +broad casts +bar ren +ar ton +chri ss +confi gu +lu res +is the +e ul +railway ana +global health +gi anni +u aap +s lum +consci ously +ab re +n up +bud get +v ada +e sch +real ness +er ased +th unt +be z +armist ice +ðŁij ¹ +sh run +o led +driver less +ðŁ¤· ðŁı»âĢįâĻĢï¸ı +won dr +sk an +sal aam +mother land +h wang +gen o +gang nam +tw right +endor sing +en ic +ador ation +pau sed +patric ks +do cked +plat te +ff xv +ethnic ity +auto show +side show +after life +re located +orphan ed +food network +dare to +and ra +sla ps +v live +swim s +re imagined +mist le +re vise +real ity +bhar ti +ðŁĴĻ ðŁĴĽ +late st +prou dest +gra sses +lan yard +fresh est +carcin oma +anom aly +zieg ler +sum ner +ly rix +gor g +is d +av el +swild life +me squ +john cena +euro league +sab er +master ful +yar ra +cogn ition +jacob son +abo lic +sir loin +shuk la +moj ito +su pere +st weet +me z +e sa +rudol f +gur a +where you +tt m +win s +trust worthy +ny k +bra den +table top +good food +es on +be k +lingui stic +gra ys +ch ath +h cs +mon i +de ans +cu ssions +ch ell +slo ws +he mi +d app +shar pie +boo sters +a os +str ack +se dona +mu eller +hard wick +or nate +thor a +sal ud +o twol +ch um +mi ho +for age +thel ittle +tear ful +ones elf +min dy +sm g +gmb h +emer ald +ðŁĶ´ âļªï¸ı +tu tti +recep tions +re vising +i brox +tope ka +sal ami +expan se +i books +dob son +cli o +at s +ðŁļ Į +mo ha +is ance +shu tters +moo t +jan ine +marvel comics +jor dani +pos er +kenne th +hy ung +de ja +ase ball +speci ality +eu ston +classic car +had ith +ðŁIJ ī +chas ing +iz o +gros ven +ag lia +thisdayin history +t row +om ile +hu ar +by n +sal ine +div ine +demon ic +ty ran +han dover +revit alization +pa ella +cryp tic +se dg +m end +dun kirk +bre d +wal d +sport scar +a ard +whe aton +da ener +k lan +br t +bakhta war +spi res +schu bert +ro ti +poli sh +o se +ag ame +wonder con +prote stant +bo sa +ðŁĺ Ł +d ü +joy ride +ger trude +âĿ Ŀ +gil a +v h +tw a +tra v +swal lowed +star ve +la in +ent ren +rei ki +su kh +cra ic +az u +web page +kee fe +hypo the +hir sch +hel le +camp ground +w amy +tra vi +sha hi +san deep +ru i +han uman +dw p +reposit ory +no or +no ff +un real +p ell +black history +har vick +ma scar +pay ee +pa sha +gastron omy +d ÃŃ +ai g +rosen thal +open day +embelli shed +t tip +sun bathing +go pack +end ome +ï¸ı # +invali d +final four +st fu +squish y +ra sta +mo sch +jam esc +die trich +sel a +mel b +el vi +t dp +sun i +sli t +j ha +bi za +spi ked +l li +l illard +vam pi +syno psis +az har +kendrick lamar +ĮãĤĬãģ ŁãģĦ +heart less +country file +air play +arrog ance +pre e +virtu oso +ãħłãħł ãħłãħł +raj u +le bu +for ward +tu g +dro s +mondaymotiv aton +concep cion +thel o +pad i +looo ol +ÑĢ Ð¾Ð´ +it ss +eth ical +end uro +__ : +expend iture +mon ste +mas king +terri ers +ib is +e mber +cu mple +punctu ation +pi per +ir vin +ade e +yy yyyy +flash backs +cel sius +don nie +bo gota +ben evol +the script +shil pa +pro se +fin dia +ze ke +ne ko +do ves +blues lyrix +fro sh +sowe to +mp lo +al ai +sab i +raq qa +wf tv +stro ller +ian somerhalder +ðŁĶ ª +an on +mo seley +! ?!? +sta king +mol y +car tri +c sg +ast or +transc end +ma er +de ux +cow girl +sas k +pun ter +ma ken +o ates +love tt +grow ler +sag in +v n +ssi ble +officeof rg +y mc +sab ar +faul ty +ap ha +ak on +ðŁij « +snow don +ae w +raise the +ðĿ ĵ +grue some +clement ine +sp ing +lat a +worlden viron +mi mic +can aria +bakhtawar bz +ao a +fal a +ãĤ Ń +avi va +you uuu +thi gh +la dders +gu mbo +tz ky +fu zz +plastic pollution +est ate +strength ened +k ant +dr in +cal vert +transform ational +frigh tened +mac lean +elited angerous +ear thy +t son +to da +j nu +.. , +mic hal +i ban +je ong +is real +sim coe +exclu sives +blue bells +ben e +te u +pil sner +pens ke +athe ists +m pu +cartag ena +ðŁĴĹ ðŁĴĹ +million aires +kk kk +it ar +subscri ptions +remo te +ma fi +hin ton +w cc +ho k +ds b +ab leton +sevent y +pun ks +e indhoven +sh one +mcfar lane +lim popo +empha si +à ¼ +sin fo +pe tre +man grove +ch ino +ber tie +play lists +push awards +p af +deb bie +c do +r ino +ðŁı¾ âĢįâĻĤï¸ı +fol ke +bon nar +th ine +sl an +hal ter +evi e +aw some +vul tures +spar ky +seiz ures +âľ Ķ +ram one +ine ffe +al n +pro ctor +ast ra +the voice +gro te +sci on +dead line +am aya +tain ted +patter ned +exce eding +cross fit +kay lee +drop box +ru shes +tack led +mo by +retro gamer +n cbd +benef itting +shay kh +guild hall +gen try +dream cast +dread ed +bun dled +th aw +revol ving +n pt +kylie jenner +imagin ative +ron i +over came +family time +ds burg +car naval +relation ship +recogni zable +cor oner +ho le +fan fic +emir ates +bur ritos +analy se +thin ner +ne es +galli poli +bl r +cat woman +-- >> +au lt +ada ily +nau ghty +ili o +solit aire +mtv br +jocel yn +arun ach +rep ent +south gate +hy acin +essenti al +fent on +and um +it or +go pal +sl inger +po sei +aw il +wi elding +ra ila +eli as +a sto +à ¤ +tend ency +str ata +ker t +< - +im acele +da es +sti mulus +han ley +fit nes +ec stasy +lim ous +ha iling +ðŁ¤ Ń +chis wick +tar ies +sla v +pul i +moderni zation +black mail +b ingham +h fx ++ + +ðŁĩ®ðŁĩ ³ +ni v +we a +profess or +k off +bol ster +su ave +sequ ences +pepper oni +not te +dre n +ãģ¨ ç¹ĭãģ +hs v +o ga +ap tly +z ad +excel si +rin ka +mol dova +min n +ma bel +conferen cing +bas ing +of er +ob si +hamill himself +care less +brief ed +inhe rent +par ish +dub nation +town sville +sar awak +gee ky +doncaster isgreat +was abi +gu p +phen o +dra inthe +carrie underwood +ble eds +bbc world +ane w +alta f +dul wich +ani ston +w ti +sumat ra +gra fton +bl n +me ster +bode ga +re go +es q +an jo +sump tuous +mai sie +ï¿ ½ +wil t +jak ob +el vis +se pul +mu ster +air pollution +president e +happy monday +exten sively +fl ondon +t ls +play ing +pe ed +din ho +var dy +pi ka +n iro +au cus +ðŁį ¦ +nu ll +el ondon +juvent us +imag ines +dis ab +lit o +d ura +work places +promo te +mc caf +wood work +waw x +à® ª +tt ino +shar i +sem per +better together +ðŁijĬ ðŁı» +ze bra +pon dering +en chil +ho m +cosm ic +tan z +mo cked +ec cc +ath ed +abo lish +prop eller +paris agreement +assemb lies +indu stry +fraudul ent +pe sa +chang min +ax x +ðŁĴ µ +irr ational +cu sa +ramad han +octa via +on elove +jac ki +bar ak +taxi der +seri ous +nathan fillion +mc en +ch k +po part +grav ity +copp ola +reading fc +illu sions +j ig +ww x +re sh +ex porting +buzz ard +âĻ ¤ +p cm +lan apar +ko s +arom as +antal ya +ww dc +ven a +phil a +ball in +ðŁij Ħ +quin ta +ma o +f ery +eigh ty +sentim ents +safe guarding +r wa +pu ffs +luc ille +de cath +sl u +nu gent +de ter +braz il +ze iss +super bowl +subsi dy +alter n +hi dalgo +enz ymes +ä ½ +tag ne +hair dresser +adri en +walk out +oppo ses +can tina +bed side +af an +ðŁĶ Ĺ +prophe tic +dan es +un successful +super charged +pk k +exem ption +hart le +secu lar +cli pping +br s +united way +c net +pat chy +ha gan +e en +âļ ľ +var a +sym pathi +never trump +affir mation +om f +ny cfc +ma ja +sur ro +keer th +up scale +sandal wood +mon archy +kno bs +å ĭ +po tholes +hunger games +ter races +na sir +coun sell +welcome to +wa q +se aman +m ita +stun ningly +on theroad +in ability +) !! +bon go +ant v +sp ut +worldenviron mentday +resu sc +y td +fi m +eun hyuk +sa chin +rose anne +cler mont +ape c +am ina +v ening +n antes +al most +sin us +ex as +ty l +ti en +ple ad +lanc s +bur naby +re k +jo om +observ ers +disco graphy +cl g +âĻ ¦ +sn ack +r ti +o ily +crystal li +bru te +web development +topp ings +la f +an is +ad der +reli ving +car lin +battle of +we g +syri an +pon t +n dc +lagh ate +yu ma +sp p +p iti +ro bbing +mart ing +rey kja +raj put +nc ds +kie wicz +âĢ¢ âĢ¢ +vam pire +substan tially +opio ids +nepal i +k line +ar oo +under stand +lit t +u it +thro mbo +sar ies +qu ot +b alling +t tr +s gh +philip p +br ant +ac l +m ello +whit taker +. ; +defi ant +b gc +repl ying +mir ren +metamor pho +sch wab +bul ge +utili zed +pick ering +par don +d sa +à¸ Ī +doo ley +cumul ative +Ð » +ur gency +e mir ++ /- +¦ Ī +ot as +âı ³ +station ed +grape vine +ar ac +karan johar +f ancy +sau l +coo gs +lgbt q +ا٠ħ +jav i +u mmer +pl l +den is +dai pur +pu ffin +lewi sham +fand om +co pe +ves matter +s ve +hel pless +deo dor +ostr ich +kaz an +friday the +con dor +v x +sophom ores +rob les +cu tt +cli mbers +ë¦ ¬ +sle g +sn f +mac ys +hydr ating +grou pe +po yn +mou lin +hg tv +lmfa ooo +sulph ur +asdfghj kl +annab elle +hump back +bra ved +viswas am +multi purpose +hu midi +escor ted +barb ican +f ad +cor sa +ðŁ¤ « +pi ppa +here to +can y +ser gi +or cas +o vie +ed ou +s any +glob alization +man cini +food truck +f is +defi brill +sch re +sma fia +love wins +la ut +k aka +hol lande +game on +resurg ence +out side +olympi ad +int an +abstr action +rapi d +pal om +cal le +jas min +attack ers +swag g +mit ra +ky lo +à® ² +her mitage +gor do +e ira +so sfam +roll out +exc ite +sy nod +mer rill +c als +as sa +liveli hoods +ju ve +the black +gopack go +ant lers +alban ian +wool ly +qu iche +puri fication +are th +smar thome +ne k +all blacks +mex icans +is m +ger ms +comple xion +mar ck +u shi +ðŁIJ IJ +char l +ca stic +till erson +giuli ani +biode gradable +mal bec +bo is +ju bil +im es +r ame +gene tic +esp nu +ch ley +so ho +go pher +g sc +buu ren +cu be +bridesma ids +webin ars +to e +mani pur +viol ently +notic ias +ex changing +chi ev +replac eable +muay thai +bu ss +sp il +instal ment +div ya +cait lin +o lim +fil tering +whirl wind +sta red +prior it +pr am +pompe ii +mono logue +k ite +bu ka +â̦ .. +vac cine +bre ro +woz ni +sol ent +re ferr +my rt +gridi ron +galatasar ay +fro ze +clare mont +ðŁ¥ ĥ +victori as +ssel dorf +pa stures +net neutrality +ch or +ðŁij ģ +ಠ¿ +we ho +symp tom +jo sel +in ous +dragon con +power ball +p te +four thofjuly +ec la +ear buds +where abouts +salt life +depriv ation +ch ter +wi ggle +syste m +ps st +ch az +d any +ri mo +oax aca +lanapar rilla +barcel on +melanch oly +way back +ho tro +n si +l illy +kur o +ja han +intellec t +board game +ðŁı Ĭ +sneak peek +k prc +jail s +cand el +zan zi +mor timer +star ch +ra gs +p fa +long live +k art +gir ona +cro cker +christop h +precau tions +war ship +per m +paren t +van gogh +gif ford +allegh eny +ra yn +ut m +sten cil +rec alling +pen ney +z azzle +ìĥ Ŀ +hin ds +aren as +nu ev +law ler +gu in +do this +ðŁij ķ +ì¶ķ íķĺ +we g +ti b +ri din +complex es +turbul ent +pe sos +de marcus +vall arta +sam sun +kis ses +hein rich +deport es +wil ms +ur d +then ext +inki gayo +ho wi +fir sts +carri age +clean liness +mas war +is ch +ax el +si zzle +road house +fr ans +ent ourage +co bble +boo th +benedic t +tal on +fc u +year ofthe +ray on +raider nation +fo yle +ko val +pi anos +l pg +bur mese +man ure +geo caching +cosc ino +b np +fer ra +stro phy +mar ais +ce es +legen dof +kat niss +eno ch +av ed +you know +d prk +ðŁĺ¢ ðŁĺ¢ +sp un +pro st +sor rows +cent red +ke a +gal icia +? ðŁ¤Ķ +ÑĢод а +bou chard +ðŁĴĻ ðŁĴľ +yu i +seed lings +jon ah +reco vers +ny rd +board room +su ma +my japs +tun g +sha i +ir gc +eli o +wag ons +ka shi +polic emen +john nie +ale coscino +shop ify +dot ted +de tri +va w +to fficial +in your +chal mers +trac ed +no vi +by es +ari el +nipp on +la pel +gri ez +b gs +fool ing +d ita +vijay sethu +nm wx +as ot +kr anti +hel m +ve di +sic kest +mo chi +k abo +shru bs +he red +b sp +sq m +ham r +dul kar +anth a +nr f +avoid ance +at en +publi x +be arers +nas i +ha p +h ells +ðŁĸ ¥ +ภ· +thelast jedi +oh wx +ðŁį « +wa hoo +there se +rec aps +ss nhq +bird photography +v ay +pet ti +pau lo +bel vedere +( * +gr l +du vet +c pec +sa it +por sch +meas urable +avi ators +fre mantle +bre en +on om +me and +life saving +eu ref +en don +embar as +aira sia +el is +dun kin +star magic +s ill +porto bello +ki efer +ex e +mu ted +ãģ ¦ +we thepeople +logi a +liber al +theforce awakens +min ed +haun ts +freck les +care taker +s india +âķ IJ +dev lin +list on +direction er +oh n +fi garo +em manuel +du bois +cl ones +bru ise +ðŁİĪ ðŁİī +disin fe +der matology +as r +s watch +dis comfort +tam anna +pi day +mack en +k atic +delu sional +shaw nee +gu d +al bino +p ali +din gh +cucu mbers +coffe y +anticip ating +treas ured +web summit +shel tered +sav or +pedago gy +m gs +sh ma +s bu +den ali +cam pos +bubble gum +o ir +le aps +y ler +r one +sansk rit +min t +meat less +futuri st +du de +a vel +prote sted +squ ire +z aki +sz n +har court +cycl one +bour dain +gather ings +d ant +advent urer +parag on +alt man +dd ing +ban erjee +snorkel ing +mother well +mis sy +en der +glo ws +ki wis +chick pea +por o +e fron +app t +u y +speci fied +gab by +e strada +com bos +bour bon +vin i +var un +steph ani +key words +car vings +amit abh +wr ought +tw al +re els +clu bbing +ubi quit +cri t +ambed kar +æ Ļ +prun ing +vaccin ated +boe ing +s ks +lo ona +hypno sis +edel man +pho l +he w +colo sse +mckin sey +u on +to te +sacrific ing +ox i +n ang +e mu +пÑĢи ÑĢода +m th +kers wednesday +argu ed +timel apse +ris king +regul ating +ni gh +likeli hood +cu bic +au ction +rein for +pi stor +no ses +ye l +snu ggles +pe i +jean ette +ta ku +ri th +guy z +ภŀ +y te +ver ted +pay soff +jau regui +hoo ligans +procedu ral +mi b +har dy +el eng +chec kers +all ine +the met +prou dof +keerth yofficial +collabor ator +ni u +infl icted +adv ani +re twee +memor iam +f icial +ti ghter +sal em +re viewers +br ics +ben digo +am ell +tur kish +sush maswar +paul son +pal awan +mol lie +stitch er +s burgh +ir u +hay dn +en ers +aro a +u zzi +saraj evo +hel a +apol lo +nine ty +vac a +sp on +vent u +jel ena +hei fer +avo ids +sp ine +pri ze +mar ist +re creating +me de +woo den +find lay +ro fl +n di +compreh end +yu go +y ü +to work +u fos +son ar +pi ston +recor ding +tent ative +art forsale +pel lets +fre do +ÙĪ Ø± +mu ses +custom ization +pro found +is ner +ide ally +si am +plan kton +cm dr +man ger +fran ken +customiz able +ठ® +walk away +swi vel +vast ly +no ton +lex a +ex moor +z as +tan te +reduc tions +lol ly +hip sters +benef ited +ë ² +ww www +mascul ine +fi ji +dre y +ph ill +ane ous +nic ol +men dez +disapp ro +ch ner +through s +shen mue +east man +ðŁIJ İ +yu ck +under tale +re ys +go beavs +eng en +c na +mer r +bir k +ãģ¨ç¹ĭãģ ĮãĤĬãģŁãģĦ +âĥ£ @ +yn na +ste ed +offen der +at um +vani shing +presi denti +love them +g nocchi +fri ggin +per il +mad hya +ag ne +dee jay +mar nock +m tb +fold able +@ ___ +stand re +bron x +bow ski +fin ite +cro ckett +b sf +ge tit +seren awilliams +mir o +ignati us +sla y +rin se +fon due +sel dom +s more +gan i +dy ce +dmit ry +cru mb +late post +pri mark +oh ana +flor als +do a +remembrance day +d ds +azi one +toon ami +air port +æĿ ± +th ad +fi st +dine sh +dr who +ad words +admi rer +pro je +kyrgy z +à « +manife station +le wan +j ic +thi bau +le ased +van ity +nouri shed +never theless +aug mente +fu elled +che ad +wil shere +ru di +p z +my co +mor ro +herbali fe +hardro ck +de man +dre ality +sp ades +ce vic +bha i +bar on +ultimat efan +hou news +to bi +stru t +ke el +affili ation +the masters +sm al +hu e +este ban +con v +om nic +datab ases +co v +ter ti +st g +snoop dogg +metab ol +leth bridge +ðŁı» âĢįâĻĢï¸ı +year ling +residente vil +nws l +iy aki +griez mann +c ous +ðŁĵĿ : +tor ian +sam i +ðŁĶ¥ðŁĶ¥ ðŁĶ¥ðŁĶ¥ðŁĶ¥ +g are +alli ances +whit field +we ther +refin ing +coy i +kra ken +ðŁĺĺ âĿ¤ +singul arity +lil i +h ns +bol dand +waw rinka +misogy ny +lo vers +c q +b dg +ad ona +gar ter +women of +sc d +recogn ising +mun a +str ou +sign alling +lare do +hell boy +alek sand +un available +pedi atric +as in +mer ia +ri shi +futuri sm +w ye +polari zed +e we +pro pel +in forms +cre ase +~ " +arti ston +like for +heidel berg +er ra +life in +len ny +inter rupt +cohe rent +ca z +vick ers +le veled +f bs +cab ins +bu mmed +apost les +we h +ten don +souven irs +infu ri +pier ce +asse t +m las +go th +di ggin +ann as +yl or +th waite +sw el +pan era +mur derers +croo ked +bs go +ac u +a on +re an +one of +ko hl +bloo dh +pest icide +lost dog +fle xing +ëĤ ĺ +su pra +eter nally +ðŁļ Ļ +pa olo +ol an +mom o +is elle +captain marvel +s lou +mistak enly +akhi lesh +mer t +il inan +bu on +bal kan +mir ro +mill en +der ail +dam on +tit i +bi os +re don +pic ard +par te +ðŁ¤ Ł +Ø º +son ics +fir sth +dd c +veg ans +tur ban +ni gan +lot tie +lyn don +star buck +pink floyd +life styles +am ara +a she +r sc +val a +sm er +cw gc +cli ent +buen as +jag an +coo ps +ðŁijij ðŁijij +speci alizes +snag ged +g lar +ben net +wildlife wednesday +bow den +pi k +art in +empor ium +ar l +re ba +pas ser +disappo ints +additi ve +âľĬ ðŁı½ +bay er +missou la +ha skell +comm ences +ni x +ne man +explo ited +plastic surgery +cc d +aso cial +vo t +sie gel +fro ome +kap am +far a +e ha +pro bes +mw f +meet ing +p bb +ak ins +mistle toe +kingdom hearts +for kids +ec r +bal e +escor ts +adidas originals +k wa +k ts +hallo ffame +ðŁĺį . +wag s +pot ted +o wing +honey comb +he fty +uro logy +mer le +b pd +stri pping +re ich +k state +gu ay +yon ge +shak ti +g loom +bat t +son om +n ery +el ba +blan ks +hel le +triple ts +bom bay +ak arta +ab ia +transm itted +rol f +ja is +angular js +fi erc +m ss +trac e +ॠĩ +tom bs +old man +kom bucha +fo l +e health +cere als +are lli +in ari +ðŁĴ © +wo l +liber ties +fa wn +af firm +nun avut +hyster ical +k drama +art es +âĢ¢âĢ¢âĢ¢âĢ¢ âĢ¢âĢ¢âĢ¢âĢ¢ +valent in +man slaughter +gal es +eo in +energi zed +del s +with draws +st les +sar castic +ram esh +incredi bles +lock hart +ya wn +ultimatefan live +oooooooo oooooooo +mu en +guru dev +te er +pe eling +new snow +lingui stics +direc tv +ag end +uni lever +ru ger +han dedly +ero se +li mel +the c +royal ties +fini shers +nr g +m gt +fid get +com ps +bac on +aggre ssively +ab it +ch â +tar de +slu gger +q anda +gre ening +d ats +ensla ved +spec tor +o ye +fre ef +b hand +stop brexit +mis conceptions +cav a +ðŁĺįðŁĺįðŁĺįðŁĺį ðŁĺįðŁĺįðŁĺįðŁĺį +multit asking +hou sel +ferre ira +cen time +ank les +jo dh +hel ly +fro me +out tuesday +nar nia +bal aji +l bloggers +jyo ti +ðŁį ĩ +lan cia +cap ri +y ap +nat ash +down fall +." âĢĶ +à ® +ligam ent +coat ings +ai ded +hi ko +fall ing +encryp ted +yeg food +infringe ment +cu di +ce p +ðŁĺį ðŁĺĤ +tra d +super rugby +ed win +wh iche +vi meo +lay ne +in vigor +he he +dubrov nik +bie ber +u tr +sham an +op ers +ham ill +en ig +di f +ar um +scrap book +min h +diver gence +mckin non +life time +guter res +wil le +ple as +patt y +mic ron +k z +dom aine +ru sher +m ds +ches ney +screw driver +âģ© , +sle dge +hau er +chan a +stam ina +sprink ler +pl n +he ff +bol ton +om on +car rington +accor dion +jor ge +inter ception +in puts +gu ll +tran scription +vanu atu +it ical +eth os +tic h +spac ey +pee king +u mi +ha ger +psycho tic +illi an +illi a +bonnar oo +an ese +pu c +laghate parth +en hall +econom ical +dre dge +% - +u we +tu bular +scoun cil +pe asants +fl er +tumb ler +he p +ford ham +row ley +initi als +ev asion +er nation +plu gins +coch ran +c attle +acid ity +ðŁİĬ ðŁİī +re grann +jump man +ef ace +x ma +patri archy +esco bar +cristi an +tip ton +nu eva +hack ney +back seat +kill arney +aid an +sta dion +simul taneous +ida ho +a je +u th +figu re +clo s +bur k +volun tar +rec ite +macfar lane +cur few +bou do +w gn +sti x +sla p +scrat ched +philli p +jour ne +ex pelled +wa z +u ke +tati ana +ou e +ho pp +dimit ri +ðŁĵ £ +mato logist +electri fying +blu ffs +bill smafia +az cardinals +y aa +x mas +shar a +r ith +g ills +dre s +bar ton +authori zation +imperi alism +home of +to do +foot path +band width +visit spain +moh sin +erup ted +mi ki +insig nia +mike l +ss h +ger a +bank holiday +aw an +t weak +star craft +e al +construc tion +skelet ons +le ep +ine m +bar clay +ship wreck +monsi eur +yo h +ron t +form ative +ser o +le p +horse man +hoo sier +haz mat +cylin ders +cen ti +ðŁĴ¥ðŁĴ¥ ðŁĴ¥ +re em +na ire +mus ically +gras shopper +est onian +termin ology +ro main +blogger rt +tox in +stan ce +cultiv ated +an ast +ðŁIJ į +shi mano +go pher +ene i +recycla ble +gam ification +fight for +c q +avoc ados +ke ys +eli ke +gly cer +shak ur +mobili zation +gal ley +expla in +ex changed +pe th +obe dience +illa ge +en nis +ãĥ ŀ +wi v +walla bies +ma ar +ig ers +fin tech +fin alized +wo j +meaning less +in field +onna ise +e et +bron te +pass ages +ðŁij § +strick land +northern lights +lom ond +h tc +wr ay +shi fter +di alog +ðŁį į +>> >>>> +te atime +ste ch +sic huan +qu ill +fran ca +comple mentary +bar rington +marcu s +mal am +goo oo +for sa +elec tra +af s +âĹ Ĩ +tri fe +sn azzy +fo lia +and olan +after dark +wood son +stra de +litt lest +o gun +con wy +co wards +ðŁĺĤðŁĺĤðŁĺĤðŁĺĤ ðŁĺĤðŁĺĤðŁĺĤ +íĬ ¸ +se ul +mur phy +dun ks +kapil shar +jo achim +wom ack +equal ity +aver ages +a ine +ðŁ¦ Ī +tac ular +dis ability +u ked +mid century +bar thol +teas ers +tab ern +nj caa +sp out +op i +ku bball +bl om +so ar +popu lism +meth yl +ðŁijĬ ðŁı¼ +o spre +alo ils +ðŁĵ ĸ +ðŁĮ ļ +x er +sp illing +publ ica +car dam +adi sh +sa cha +p kg +bu da +lyric ist +i bc +gru mp +ho ver +hal ep +anti body +anem one +âĻ¥âĻ¥ âĻ¥âĻ¥ +m cl +litho graph +cc u +s fest +path ic +calli ster +otta wa +gun sn +rut ger +hali but +en vision +differenti ate +ðŁļĢ ðŁļĢ +pir an +lat el +uc n +trou bad +ra ine +fierc ely +learn english +lea se +wex mondays +em it +dray ton +bur rell +scuba diving +hol ler +dr u +clo cked +w ral +ap ro +trans lucent +w bo +patri arch +mo ja +lan nister +fish ery +ne derland +mil dly +mi rai +ma ko +ja p +ðŁĺ©ðŁĺ© ðŁĺ© +pro statec +p anna +ar ama +under taking +tomp kins +ne op +soli ds +sav oury +e ames +cut lery +wood bridge +steam er +ri zzo +wild cat +rat na +lamin ated +kin eni +jal ap +ai des +acknowle dges +?! ?!?! +! ðŁİī +w afc +mag gio +ha ves +dar je +of i +gr il +v asi +bru x +mo hd +fake speare +arn old +r mb +for be +wal leye +ro di +therapeu tics +strate gi +ob ste +mu dder +download able +dd ings +d ca +asi angames +campe on +appropri ation +th century +ram atta +dra ped +bul lion +mu c +one x +se greg +ophel ia +bod ily +âĿ¤ ðŁĺį +wi zar +te ased +ade my +to id +sur a +lazar us +sn ickers +ma se +lo h +bow ed +bibli o +x change +har lan +gho shal +flavor ful +bha gat +alle z +whiche ver +ten stein +disc er +organ iser +mt g +dream liner +t se +hok kaido +mo k +indulg ent +hick man +blin ded +al yn +aaa ah +sp ool +lough borough +inter pret +et v +aristo tle +optimi zing +avici i +madu rai +ju li +naw az +mat chups +ab ide +paint ing +w elling +vel i +octag on +in scribed +po king +plac er +life cycle +kili g +g sp +eli ves +cle ments +na sheed +me sut +incarcer ated +dist illed +wal ang +delic acy +del gado +che z +ch ita +ad ero +tu x +pati l +o do +abh cosmetics +tv c +p bc +in accurate +hardwork paysoff +ball er +quot ation +merchandi sing +ga stri +defen ses +dro gba +bex hill +ban kno +win ona +si eg +p gs +hahah ha +agu chi +su bram +mirac le +de sch +li bre +ba cher +ent ine +bbcra di +lou dest +r ps +pi erc +fr yer +storm trooper +rafael nadal +pas co +exhau stion +epic onetsy +rc tid +kel lie +ga ines +d bz +sm riti +s bridge +lim ited +cla w +technic al +bio graphical +ado red +ภ° +exclu de +ac adia +key boards +fur man +so ca +sur u +ni ps +sw aps +server less +run e +pu ffy +north ampton +nish ings +hen der +cartri dges +gun shot +ðŁĵ ¹ +fil ament +respon dents +pey ton +mountaine er +mer ging +life span +intimid ation +p afc +nl wx +expan sive +pur r +f ck +ca e +at ti +tele thon +so hn +mend el +lo pes +dor i +un broken +te red +tast ings +in active +disin tegr +t assel +share the +pi ano +is lay +air space +z awa +ricci ardo +ming ton +fresh er +cur ry +re vs +pharo ah +h mv +exhilar ating +wh oo +lin kin +kri spy +competen cy +ste wards +ne bu +kat su +ad mins +baz ar +as ar +giving back +s summit +song z +lin us +raj kumar +farm ington +fanta sia +ðŁĺ´ ðŁĺ´ +so bri +lis se +barry more +pri sm +blo b +sen ew +mono xide +exp ire +eigh teen +di pper +xi ao +kil t +hin ch +bbc sport +bam boo +p ter +ex al +ðŁ¦ ĭ +ham lin +expe ditions +star gazing +food security +wy lie +ul f +st ingly +on storm +lo eb +bro ome +bn ha +pancre atic +eli ve +!!!!!!!! !!! +ther apper +ortho pedic +avengers endgame +antit rust +ìļ ° +go te +om d +off side +gy llen +win eries +white water +ad l +lu pita +exce eds +consi sted +chew bacca +ash leigh +nhl jets +is san +sh ld +hay at +cran berries +ð٤ĺ ðŁı½ +rock the +spring training +fall out +dairy free +wa j +un decided +so wn +rc n +north wales +htt r +fu mble +d its +comp elled +popu list +min ted +blan chett +. '' +pro pulsion +m illa +au berg +her tz +h ta +u daipur +serendip ity +azte cs +als ace +ðŁIJ ij +lu n +sho es +char li +gar za +ðŁĴ Ł +pro biotics +fox tv +ol is +mi ff +loc alized +diffu ser +si gue +fun ko +rend ous +ðŁĴ ij +jeky ll diff --git a/comfy/sd1_tokenizer/special_tokens_map.json b/comfy/sd1_tokenizer/special_tokens_map.json new file mode 100644 index 0000000000000000000000000000000000000000..2c2130b544c0c5a72d5d00da071ba130a9800fb2 --- /dev/null +++ b/comfy/sd1_tokenizer/special_tokens_map.json @@ -0,0 +1,24 @@ +{ + "bos_token": { + "content": "<|startoftext|>", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "pad_token": "<|endoftext|>", + "unk_token": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + } +} diff --git a/comfy/sd1_tokenizer/tokenizer_config.json b/comfy/sd1_tokenizer/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..5ba7bf706515bc60487ad0e1816b4929b82542d6 --- /dev/null +++ b/comfy/sd1_tokenizer/tokenizer_config.json @@ -0,0 +1,34 @@ +{ + "add_prefix_space": false, + "bos_token": { + "__type": "AddedToken", + "content": "<|startoftext|>", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "do_lower_case": true, + "eos_token": { + "__type": "AddedToken", + "content": "<|endoftext|>", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "errors": "replace", + "model_max_length": 77, + "name_or_path": "openai/clip-vit-large-patch14", + "pad_token": "<|endoftext|>", + "special_tokens_map_file": "./special_tokens_map.json", + "tokenizer_class": "CLIPTokenizer", + "unk_token": { + "__type": "AddedToken", + "content": "<|endoftext|>", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + } +} diff --git a/comfy/sd1_tokenizer/vocab.json b/comfy/sd1_tokenizer/vocab.json new file mode 100644 index 0000000000000000000000000000000000000000..469be27c5c010538f845f518c4f5e8574c78f7c8 --- /dev/null +++ b/comfy/sd1_tokenizer/vocab.json @@ -0,0 +1,49410 @@ +{ + "!": 0, + "!!": 1443, + "!!!": 11194, + "!!!!": 4003, + "!!!!!!!!": 11281, + "!!!!!!!!!!!!!!!!": 30146, + "!!!!!!!!!!!": 49339, + "!!!!!!!!!!": 35579, + "!!!!!!!!!": 28560, + "!!!!!!!!": 21622, + "!!!!!!!": 15203, + "!!!!!!": 9168, + "!!!!!": 5203, + "!!!!": 2360, + "!!!\"": 28048, + "!!!)": 42532, + "!!!": 995, + "!!\"": 20556, + "!!#": 34997, + "!!)": 28352, + "!!": 748, + "!!@": 40705, + "!\"": 2947, + "!\"@": 43819, + "!#": 9670, + "!'": 13222, + "!),": 37904, + "!).": 26225, + "!)": 4571, + "!*": 37737, + "!,": 29325, + "!-": 43499, + "!...": 22121, + "!..": 35475, + "!.": 22517, + "!:)": 31671, + "!:": 17545, + "!": 256, + "!?!": 29767, + "!?!?": 47081, + "!?": 6004, + "!@": 15117, + "!]": 34466, + "!â̦": 35068, + "!âĿ¤ï¸ı": 32559, + "!ðŁİī": 49085, + "!ðŁĺĬ": 43434, + "!ðŁĺį": 36438, + "\"": 1, + "\"!": 10377, + "\"\"": 41530, + "\"\"\"": 25539, + "\"\"": 8575, + "\"#": 8345, + "\"'": 31065, + "\"(": 32741, + "\")": 13112, + "\",": 4332, + "\"-": 9375, + "\"....": 37785, + "\"...": 9049, + "\"..": 25403, + "\".": 2811, + "\"/": 39486, + "\":": 7811, + "\";": 37549, + "\"": 257, + "\"?": 11727, + "\"@": 1512, + "\"@_": 20236, + "\"[": 36930, + "\"â̦": 33993, + "\"âĢĶ": 41151, + "#": 2, + "##": 15483, + "#...": 31491, + "#:": 30144, + "#": 258, + "#@": 35062, + "#â̦": 12834, + "#âĢİ": 34262, + "$": 3, + "$$": 24233, + "$$$": 31859, + "$$": 14929, + "$)": 39460, + "$.": 34682, + "$": 259, + "%": 4, + "%!": 35070, + "%),": 37819, + "%)": 16063, + "%,": 14505, + "%-": 48784, + "%.": 12475, + "%;": 33379, + "%": 260, + "&": 5, + "&&": 27791, + "&": 261, + "'": 6, + "'!": 13781, + "'\"": 19479, + "'#": 15319, + "''": 46594, + "''": 8445, + "')": 19175, + "',": 5662, + "'-": 26152, + "'...": 20474, + "'.": 4645, + "':": 7182, + "';": 44517, + "'": 262, + "'?": 17242, + "'@": 26397, + "'d": 1896, + "'ll": 1342, + "'m": 880, + "'re": 982, + "'s": 568, + "'t": 713, + "'ve": 1200, + "'â̦": 42120, + "(": 7, + "(!)": 30253, + "(\"": 18741, + "(#": 6229, + "($)": 46597, + "($": 15186, + "(&": 15042, + "('": 18235, + "((": 22944, + "(((": 33287, + "((": 13796, + "().": 41737, + "()": 8475, + "(*": 48004, + "(*": 39575, + "(+": 12903, + "(-": 20228, + "(...": 45159, + "(.": 43055, + "(:": 8528, + "(;": 23983, + "(": 263, + "(?)": 22885, + "(@": 2181, + "(£": 33987, + "(©": 44886, + "(ðŁĵ·:": 34610, + "(ðŁĵ·": 37999, + "(ðŁĵ¸:": 44422, + "(ðŁĵ¸": 45204, + ")": 8, + ")!!": 47518, + ")!": 7805, + ")\"": 13046, + ")#": 39981, + ")'": 23613, + ")(": 27956, + "))": 13720, + "))))": 42911, + "))))": 34181, + ")))": 18305, + "))": 5167, + "),": 2361, + ")-": 19034, + ")...": 15274, + ")..": 41822, + ").": 1818, + ")/": 26616, + "):": 4143, + ");": 19686, + ")": 264, + ")?": 18765, + ")@": 41928, + ")_/": 45028, + ")_/¯": 45781, + ")â̦": 41844, + "*": 9, + "*)": 30956, + "**": 9825, + "****": 21326, + "********": 42974, + "*****": 43571, + "****": 25167, + "***": 7829, + "**": 4441, + "*,": 41895, + "*-*": 23568, + "*.": 31304, + "*": 265, + "*_*": 44535, + "+": 10, + "+)": 34810, + "++": 47298, + "+++": 35986, + "++": 19056, + "+,": 35885, + "+.": 25238, + "+/-": 47614, + "+": 266, + ",": 11, + ",\"": 3823, + ",#": 11215, + ",&": 26905, + ",'": 10599, + ",)": 44493, + ",,": 21340, + ",,,,": 33225, + ",,,": 14811, + ",,": 8844, + ",-": 29821, + ",...": 20365, + ",.": 41277, + ",": 267, + ",@": 13975, + ",â̦": 14601, + "-": 12, + "-\"": 18646, + "-#": 10151, + "-$": 24946, + "-'": 28010, + "-(": 33345, + "-)": 3535, + "-*": 21527, + "--": 2154, + "----": 5753, + "--------": 11772, + "----------------": 23122, + "----": 30164, + "---->": 35999, + "---": 11079, + "--->": 14518, + "--": 2432, + "-->": 6422, + "-->>": 47252, + "-.-": 32765, + "-...": 43147, + "-.": 44040, + "-": 268, + "->": 5081, + "-@": 10087, + "-_-": 27227, + "-__": 42718, + "-â̦": 30047, + ".": 13, + ".!!": 37805, + ".!": 14030, + ".\"": 18650, + ".\"-": 21234, + ".\"": 1081, + ".\"âĢĶ": 48703, + ".#": 5014, + ".'\"": 41558, + ".''": 49379, + ".'": 5938, + ".(": 22294, + ".)": 5376, + ".*": 26145, + ".,": 5276, + ".-": 12481, + "..": 608, + "..!!": 23707, + "..!": 17994, + "..\"": 15229, + "..#": 15735, + "..,": 47143, + "...": 3002, + "...!!!": 38351, + "...!!": 39915, + "...!": 16860, + "...\"": 5240, + "...#": 8195, + "...&": 44979, + "...'": 23167, + "...(": 37981, + "...)": 14040, + "...,": 42717, + "....": 2386, + "....\"": 26689, + "....#": 20346, + ".....": 34151, + ".....#": 38867, + "........": 8246, + "................": 24855, + "............": 42965, + "...........": 35008, + "..........": 25526, + ".........": 19881, + "........": 14720, + ".......": 9917, + "......": 5590, + ".....": 3104, + "....": 1390, + "....@": 29790, + "...:": 34570, + "...": 678, + "...?": 16388, + "...@": 12672, + "..": 852, + "..?": 23875, + "..@": 21124, + "./": 31975, + ".:": 15811, + ".;": 47596, + ".": 269, + ".<": 29442, + ".?": 29294, + ".@": 1230, + ".]": 33511, + ".~": 42651, + ".â̦": 18047, + ".âĿ¤ï¸ı": 39085, + ".âłĢ": 30097, + ".ðŁĺĤ": 46580, + "/": 14, + "/#": 13217, + "/$": 36266, + "/-": 19811, + "/.": 39382, + "//": 15348, + "////": 46271, + "///": 22734, + "//": 3502, + "/": 270, + "/@": 8216, + "0": 15, + "0": 271, + "1": 16, + "1": 272, + "2": 17, + "2": 273, + "3": 18, + "3": 274, + "4": 19, + "4": 275, + "5": 20, + "5": 276, + "6": 21, + "6": 277, + "7": 22, + "7": 278, + "8": 23, + "8": 279, + "9": 24, + "9": 280, + ":": 25, + ":\"": 29498, + ":\")": 46432, + ":\"": 12089, + ":#": 26625, + ":$": 33769, + ":'": 8017, + ":'(": 21250, + ":')": 10701, + ":'": 23851, + ":((": 42496, + ":(": 5965, + ":)": 11070, + ":))))": 42339, + ":)))": 21840, + ":))": 10164, + ":).": 39010, + ":)": 1408, + ":*": 12617, + ":-": 13021, + ":-(": 25137, + ":-)": 4223, + ":-": 10323, + ":...": 42140, + "://": 12441, + ":/": 13604, + "::": 33077, + ":::": 43818, + "::": 9788, + ":": 281, + ":>": 39677, + ":@": 14339, + ":]": 43486, + ":|": 45986, + ":â̦": 22365, + ";": 26, + ";))": 41873, + ";)": 3661, + ";-": 35657, + ";-)": 10475, + ";;": 34824, + ";;": 24492, + ";": 282, + "<": 27, + "<-": 47280, + "": 34308, + "<<": 24588, + "<": 283, + "<<": 16482, + "<<<": 35054, + "<|endoftext|>": 49407, + "<|startoftext|>": 49406, + "=": 28, + "=))": 39587, + "=)": 17840, + "=": 284, + "==": 11748, + "====": 21734, + "========": 38952, + "==>": 29688, + "=>": 9714, + ">": 29, + ">.<": 38507, + ">:": 36196, + ">": 285, + "><": 28015, + ">>": 8270, + ">>": 2988, + ">>>": 6395, + ">>>>": 18461, + ">>>>": 18435, + ">>>>>": 32972, + ">>>>>>": 48947, + ">>>>>>>>": 41947, + ">_": 44144, + "?": 30, + "?!": 9785, + "?!!": 25342, + "?!\"": 29315, + "?!": 2835, + "?!?!": 16349, + "?!?!?!": 49084, + "?!?!?": 37619, + "?!?": 11395, + "?\"": 3283, + "?#": 24018, + "?'": 13610, + "?)": 9626, + "?,": 41628, + "?...": 22641, + "?..": 43905, + "?.": 41251, + "?:": 21067, + "?": 286, + "??": 5195, + "??!!": 43219, + "??!": 37341, + "??\"": 44996, + "??": 2197, + "???": 40017, + "???": 3824, + "????": 15936, + "????": 10362, + "?????": 21370, + "??????": 34589, + "????????": 45091, + "?@": 29258, + "?ð٤Ķ": 47928, + "@": 31, + "@#": 39397, + "@.": 43730, + "@/": 28639, + "@": 287, + "@@": 30314, + "@_": 2692, + "@__": 17042, + "@___": 48308, + "A": 32, + "A": 288, + "B": 33, + "B": 289, + "C": 34, + "C": 290, + "D": 35, + "D": 291, + "E": 36, + "E": 292, + "F": 37, + "F": 293, + "G": 38, + "G": 294, + "H": 39, + "H": 295, + "I": 40, + "I": 296, + "J": 41, + "J": 297, + "K": 42, + "K": 298, + "L": 43, + "L": 299, + "M": 44, + "M": 300, + "N": 45, + "N": 301, + "O": 46, + "O": 302, + "P": 47, + "P": 303, + "Q": 48, + "Q": 304, + "R": 49, + "R": 305, + "S": 50, + "S": 306, + "T": 51, + "T": 307, + "U": 52, + "U": 308, + "V": 53, + "V": 309, + "W": 54, + "W": 310, + "X": 55, + "X": 311, + "Y": 56, + "Y": 312, + "Z": 57, + "Z": 313, + "[": 58, + "[#": 11115, + "[...": 39975, + "[...]": 43790, + "[": 314, + "[@": 15148, + "[]": 22240, + "\\": 59, + "\\'": 41239, + "\\": 315, + "]": 60, + "]\"": 39434, + "],": 34067, + "].": 26262, + "]:": 21641, + "]": 316, + "][#": 39009, + "][": 29329, + "^": 61, + "^)": 30720, + "^-": 43516, + "^.": 31552, + "^.^": 35791, + "^": 317, + "^^": 34454, + "^^": 9064, + "^_": 14423, + "^_^": 15995, + "_": 62, + "_'": 44701, + "_(": 36951, + "_)": 37393, + "_*": 36237, + "_,": 31417, + "_-": 23193, + "_.": 26841, + "_/": 37647, + "_:": 13109, + "_": 318, + "__": 2355, + "__:": 47043, + "__": 3838, + "___": 43812, + "___": 13530, + "____": 4727, + "____": 25350, + "_____": 38803, + "________": 9549, + "________________": 20115, + "`": 63, + "`": 319, + "a": 64, + "a": 320, + "aa": 1821, + "aa": 3894, + "aaa": 14376, + "aaa": 9583, + "aaaa": 6727, + "aaaa": 19336, + "aaaaa": 31095, + "aaaaaa": 44413, + "aaaaaaaa": 23126, + "aaaah": 49151, + "aaah": 35856, + "aaay": 37846, + "aab": 34108, + "aac": 23251, + "aac": 11346, + "aad": 20464, + "aad": 35894, + "aaf": 37638, + "aaf": 31534, + "aag": 42174, + "aah": 28990, + "aaj": 28727, + "aaj": 43411, + "aak": 37739, + "aal": 22268, + "aal": 30208, + "aali": 27896, + "aaliyah": 46577, + "aam": 12943, + "aam": 22775, + "aama": 45018, + "aamaadmi": 45563, + "aamaadmiparty": 46406, + "aamir": 27456, + "aan": 20705, + "aan": 13426, + "aand": 38054, + "aap": 12023, + "aap": 12052, + "aapl": 34516, + "aar": 4695, + "aar": 13234, + "aard": 46932, + "aaron": 13948, + "aaron": 7709, + "aas": 28542, + "aas": 32205, + "aat": 34018, + "aat": 35004, + "aau": 35426, + "aay": 38281, + "aay": 40249, + "aaz": 26770, + "ab": 596, + "ab": 3937, + "aba": 44204, + "aba": 11102, + "abad": 33444, + "abad": 7155, + "aban": 41662, + "aband": 8595, + "abandon": 28805, + "abandoned": 11227, + "abar": 17860, + "abar": 39805, + "abas": 25402, + "abay": 43542, + "abb": 38954, + "abb": 38297, + "abba": 30870, + "abbas": 37494, + "abbas": 24412, + "abbey": 31927, + "abbey": 10132, + "abbie": 39949, + "abbo": 13536, + "abbot": 44046, + "abbott": 43737, + "abbott": 15649, + "abbrevi": 44843, + "abby": 30586, + "abby": 14694, + "abc": 13137, + "abc": 5334, + "abcnews": 31566, + "abd": 44093, + "abdel": 46511, + "abdomin": 35335, + "abdominal": 39328, + "abdu": 13361, + "abduc": 17884, + "abducted": 31520, + "abduction": 36984, + "abdul": 14227, + "abdul": 15593, + "abdullah": 21317, + "abe": 15856, + "abe": 12734, + "abee": 36037, + "abel": 31938, + "abel": 25318, + "abella": 46156, + "aben": 40865, + "aber": 7828, + "aber": 41867, + "aberdeen": 30539, + "aberdeen": 17236, + "abh": 27484, + "abh": 33649, + "abhcosmetics": 49189, + "abhi": 18113, + "abhin": 44045, + "abhishek": 44502, + "abi": 16867, + "abi": 14161, + "abia": 48604, + "abide": 49163, + "abig": 20863, + "abigail": 25686, + "abil": 21135, + "abilities": 8724, + "ability": 35146, + "ability": 3024, + "abit": 48668, + "ablanc": 33716, + "able": 10102, + "able": 863, + "abled": 10655, + "ableg": 24055, + "ables": 8486, + "ableton": 47169, + "ably": 6748, + "abnormal": 40934, + "abo": 2889, + "abo": 21861, + "aboard": 11661, + "abol": 31768, + "abolic": 46827, + "abolish": 47403, + "aboo": 42433, + "abor": 8416, + "aboriginal": 20422, + "abortion": 12336, + "abortions": 43218, + "aboss": 46401, + "abou": 36455, + "abou": 44053, + "abound": 41037, + "abour": 46637, + "about": 20204, + "about": 781, + "abouts": 36339, + "above": 35019, + "above": 4348, + "aboy": 37077, + "abpoli": 44779, + "abq": 38767, + "abr": 44932, + "abra": 10694, + "abra": 35087, + "abraham": 40623, + "abraham": 15869, + "abram": 33255, + "abrams": 29852, + "abre": 22472, + "abre": 46756, + "abri": 28605, + "abridged": 45333, + "abroad": 11253, + "abru": 46295, + "abs": 18431, + "abs": 11109, + "absc": 25389, + "abscbn": 44260, + "abscbn": 45810, + "absen": 32453, + "absence": 19240, + "absent": 30363, + "absol": 4624, + "absolu": 7055, + "absolut": 4666, + "absolute": 7501, + "absolutely": 4703, + "absor": 14303, + "absorb": 35806, + "absorbed": 45059, + "absorbing": 46412, + "absorption": 42210, + "abstr": 7530, + "abstract": 23885, + "abstract": 10197, + "abstractart": 31170, + "abstraction": 47696, + "abstracts": 40065, + "absur": 21639, + "absurd": 29757, + "abt": 9850, + "abu": 9167, + "abu": 11787, + "abud": 20180, + "abudha": 21450, + "abudhabi": 25256, + "abuja": 23371, + "abun": 20544, + "abundance": 23236, + "abundant": 31611, + "abur": 23377, + "aburger": 46660, + "abuse": 7678, + "abused": 23855, + "abuses": 37132, + "abusing": 36558, + "abusive": 26858, + "abv": 34172, + "aby": 16342, + "aby": 31378, + "abyss": 33632, + "abz": 42292, + "ac": 546, + "ac": 2816, + "aca": 9213, + "acab": 41388, + "acacia": 44047, + "acad": 32537, + "acade": 2892, + "academia": 22662, + "academic": 31178, + "academic": 7935, + "academics": 26417, + "academies": 42569, + "academy": 29968, + "academy": 4041, + "acadi": 41455, + "acadia": 49236, + "acam": 26172, + "acan": 42227, + "acan": 26318, + "acap": 32357, + "acar": 22232, + "acare": 16961, + "acc": 26805, + "acc": 9318, + "acca": 30883, + "acce": 8564, + "acceler": 10161, + "accelerate": 23619, + "accelerated": 38513, + "accelerating": 41821, + "acceleration": 39387, + "accelerator": 25261, + "accent": 28110, + "accent": 18931, + "accents": 31738, + "accenture": 41853, + "accep": 4616, + "accept": 16447, + "accept": 9338, + "acceptable": 14209, + "acceptance": 17090, + "accepted": 9159, + "accepting": 12855, + "accepts": 22338, + "access": 7596, + "access": 3822, + "accessi": 10787, + "accessibility": 23407, + "accessible": 13977, + "accessing": 46339, + "accessories": 10220, + "accessory": 20417, + "acci": 4263, + "acci": 33943, + "accident": 6608, + "accidental": 24895, + "accidentally": 11061, + "accidents": 22072, + "acclaimed": 21172, + "acco": 44730, + "accol": 33858, + "accolades": 46731, + "accom": 23658, + "accommo": 34495, + "accommod": 14386, + "accommodate": 34708, + "accommodation": 18066, + "accommodations": 45536, + "accomp": 24985, + "accompan": 14746, + "accompanied": 20715, + "accompany": 34142, + "accompanying": 38179, + "accompli": 10205, + "accomplish": 25542, + "accomplished": 16462, + "accomplishment": 26100, + "accomplishments": 24965, + "accor": 4182, + "accord": 34293, + "accord": 28513, + "according": 4717, + "accordingly": 35535, + "accordion": 48760, + "accoun": 3081, + "account": 18424, + "account": 4684, + "accountability": 19377, + "accountable": 24216, + "accountant": 31026, + "accountants": 37222, + "accounted": 43951, + "accounting": 14805, + "accounts": 9974, + "accra": 31900, + "accred": 17451, + "accreditation": 27015, + "accredited": 27647, + "acct": 45569, + "accu": 5618, + "accumul": 19275, + "accumulation": 37112, + "accur": 6551, + "accuracy": 18423, + "accurate": 8858, + "accurately": 24206, + "accusations": 33615, + "accuse": 39414, + "accused": 9434, + "accuses": 27496, + "accusing": 41474, + "acdc": 45067, + "ace": 2675, + "ace": 804, + "acea": 35219, + "aceae": 38153, + "acele": 40868, + "aceous": 33610, + "acer": 37990, + "acer": 25809, + "aces": 5725, + "acet": 28735, + "acf": 38389, + "ach": 972, + "ach": 987, + "acha": 22686, + "acharya": 45780, + "achat": 32706, + "ache": 27771, + "ache": 7214, + "ached": 17048, + "acher": 38442, + "acher": 17936, + "achers": 25051, + "aches": 14823, + "achi": 3264, + "achi": 9087, + "achiev": 8160, + "achieve": 14798, + "achieve": 8175, + "achieved": 12359, + "achievement": 8245, + "achievements": 16114, + "achiever": 46286, + "achievers": 44544, + "achieves": 40123, + "achieving": 16120, + "achilles": 33327, + "achim": 42335, + "aching": 12864, + "acho": 33130, + "achs": 41195, + "aci": 4359, + "aci": 34100, + "acia": 30163, + "acial": 32422, + "acid": 35474, + "acid": 10085, + "acidity": 48800, + "acids": 27751, + "acies": 20162, + "acin": 39442, + "acing": 9442, + "acio": 26202, + "acion": 44965, + "acion": 24968, + "acional": 26435, + "aciones": 35832, + "acious": 16020, + "acity": 7511, + "ación": 38175, + "ack": 877, + "ack": 725, + "acked": 5698, + "acker": 31201, + "acker": 7940, + "ackeray": 41843, + "acki": 42857, + "acking": 5515, + "ackles": 28503, + "acknow": 13563, + "acknowle": 18100, + "acknowledge": 25209, + "acknowledged": 35913, + "acknowledges": 49083, + "acknowledging": 45645, + "acks": 3858, + "acl": 47593, + "acl": 23073, + "acle": 6504, + "acles": 34164, + "aclu": 37354, + "acm": 39317, + "acmilan": 36500, + "acne": 24195, + "aco": 9463, + "aco": 8800, + "acol": 17431, + "acollege": 43468, + "acom": 17224, + "acom": 22342, + "acon": 11621, + "acon": 11571, + "aconf": 38851, + "acons": 31599, + "acor": 22076, + "acorn": 37537, + "acos": 39943, + "acosta": 31994, + "acou": 8794, + "acoun": 31295, + "acounty": 45449, + "acoustic": 10616, + "acoustics": 43873, + "acp": 19627, + "acqu": 7946, + "acquainted": 40713, + "acqui": 12194, + "acquire": 21576, + "acquired": 15932, + "acquires": 27376, + "acquiring": 42785, + "acquis": 14207, + "acquisition": 16543, + "acquisitions": 39649, + "acr": 43648, + "acre": 26749, + "acre": 9493, + "acres": 11630, + "acro": 21060, + "acrob": 40891, + "acron": 37770, + "across": 2500, + "acrosse": 40979, + "acruz": 40455, + "acry": 10440, + "acrylic": 12252, + "acs": 11782, + "act": 10305, + "act": 1393, + "acted": 10971, + "acti": 4786, + "acting": 6319, + "action": 12493, + "action": 1816, + "actions": 6271, + "activ": 3430, + "activate": 26737, + "activated": 22249, + "activation": 26769, + "active": 19009, + "active": 4046, + "actively": 18645, + "activi": 7230, + "activism": 20117, + "activist": 10850, + "activists": 12649, + "activities": 6514, + "activity": 6206, + "actment": 44807, + "acton": 36167, + "acton": 36697, + "actonclimate": 43797, + "actor": 12181, + "actor": 4035, + "actors": 9255, + "actorslife": 25117, + "actorvijay": 34033, + "actress": 5805, + "actresses": 33639, + "acts": 6816, + "actu": 2375, + "actual": 7488, + "actually": 2955, + "acu": 9204, + "acu": 48475, + "aculture": 38145, + "acup": 30869, + "acup": 27278, + "acupuncture": 40043, + "acur": 44719, + "acura": 30120, + "acus": 33710, + "acute": 19734, + "acy": 18717, + "acy": 2356, + "ad": 594, + "ad": 680, + "ada": 25785, + "ada": 1886, + "adaily": 47254, + "adal": 46646, + "adam": 6037, + "adam": 4944, + "adamlambert": 27659, + "adams": 7942, + "adan": 41802, + "adani": 37499, + "adap": 6341, + "adapt": 22666, + "adaptation": 16566, + "adapted": 26657, + "adapter": 21839, + "adapting": 44120, + "adaptive": 28672, + "adar": 27702, + "adar": 32681, + "adas": 23250, + "adata": 39500, + "aday": 31367, + "aday": 10280, + "adays": 24337, + "adb": 45630, + "adc": 38201, + "add": 19408, + "add": 3536, + "addams": 38912, + "added": 4149, + "adder": 47557, + "addi": 36378, + "addic": 5709, + "addict": 14614, + "addicted": 16275, + "addiction": 11751, + "addictive": 29638, + "addicts": 29997, + "adding": 8676, + "addis": 43911, + "addison": 32369, + "additi": 26927, + "addition": 6698, + "additional": 10666, + "additions": 22575, + "additive": 48546, + "addo": 40001, + "address": 5834, + "addressed": 20817, + "addresses": 12702, + "addressing": 10594, + "adds": 9944, + "addy": 24746, + "ade": 2194, + "ade": 1928, + "adecides": 46374, + "aded": 9994, + "adee": 47054, + "adel": 4434, + "adel": 27308, + "adelaide": 38193, + "adelaide": 11611, + "adele": 42843, + "adele": 21220, + "adelrey": 43627, + "ademy": 49123, + "aden": 28669, + "aden": 28688, + "adena": 23648, + "adequ": 18232, + "adequate": 22281, + "ader": 21365, + "adero": 49185, + "aders": 27672, + "ades": 5793, + "adh": 42301, + "adhd": 32649, + "adhe": 21175, + "adhesive": 38429, + "adi": 2486, + "adi": 8779, + "adia": 26874, + "adic": 36780, + "adid": 8086, + "adidas": 22396, + "adidas": 9589, + "adidasoriginals": 48575, + "adies": 45834, + "adifference": 37217, + "adilla": 41167, + "ading": 15000, + "adio": 15060, + "adirond": 36843, + "adish": 49009, + "adity": 28596, + "aditya": 37186, + "adityanath": 44437, + "adjac": 32517, + "adjacent": 33836, + "adjec": 45512, + "adju": 16413, + "adjun": 45995, + "adjust": 13784, + "adjust": 28073, + "adjustable": 20476, + "adjusted": 30515, + "adjusting": 41132, + "adjustment": 36081, + "adjustments": 36331, + "adl": 49351, + "adler": 30222, + "adm": 9892, + "adm": 33604, + "admi": 11666, + "admin": 12528, + "admini": 6434, + "administr": 12174, + "administration": 9502, + "administrative": 22424, + "administrator": 22603, + "administrators": 36123, + "admins": 49297, + "admir": 17031, + "admiral": 21013, + "admiration": 39569, + "admire": 17791, + "admired": 36103, + "admirer": 48344, + "admiring": 29835, + "admission": 11315, + "admissions": 22463, + "admit": 13769, + "admits": 16332, + "admitted": 20427, + "admitting": 46148, + "adn": 40339, + "adnan": 42037, + "ado": 4775, + "ado": 2933, + "adobe": 29256, + "adobe": 16484, + "adog": 44913, + "adol": 33512, + "adole": 22704, + "adolescent": 36793, + "adolescents": 45656, + "adolf": 41179, + "adon": 25907, + "adona": 48419, + "adop": 4183, + "adopt": 16441, + "adopt": 11159, + "adoptable": 36905, + "adoptdont": 19674, + "adoptdontshop": 20089, + "adopted": 12538, + "adopting": 30158, + "adoption": 11544, + "adopts": 40853, + "ador": 4992, + "ador": 9162, + "adora": 40031, + "adorable": 6298, + "adoration": 46781, + "adore": 15502, + "adored": 49233, + "adores": 30290, + "adorned": 44953, + "ados": 20079, + "adox": 32188, + "adp": 44426, + "adr": 46189, + "adren": 24204, + "adrenaline": 35552, + "adri": 5935, + "adrian": 25012, + "adrian": 13163, + "adriana": 41363, + "adrid": 26562, + "adrien": 47469, + "adrienne": 40081, + "ads": 2485, + "adu": 16882, + "adu": 24446, + "adukone": 30511, + "adul": 7222, + "adult": 42209, + "adult": 7115, + "adulthood": 40964, + "adults": 9391, + "adv": 1647, + "adv": 21018, + "advan": 33411, + "advance": 27291, + "advance": 7022, + "advanced": 7465, + "advancement": 35437, + "advances": 15852, + "advancing": 21355, + "advani": 48189, + "advant": 7017, + "advantage": 8573, + "advantaged": 38361, + "advantages": 23506, + "adven": 41670, + "advent": 3071, + "advent": 15199, + "adventcalendar": 43492, + "adventur": 29627, + "adventure": 17251, + "adventure": 4377, + "adventurer": 48098, + "adventures": 7941, + "adventurous": 31179, + "adver": 4806, + "adverse": 30348, + "adversity": 32516, + "advert": 19080, + "adverti": 5682, + "advertise": 31473, + "advertised": 38987, + "advertisement": 18713, + "advertiser": 41829, + "advertisers": 45472, + "advertising": 8158, + "adverts": 44306, + "advice": 4973, + "advis": 4634, + "advise": 25962, + "advised": 23196, + "adviser": 20367, + "advisers": 40984, + "advises": 42761, + "advising": 39648, + "advisor": 12380, + "advisors": 23197, + "advisory": 10224, + "advoc": 6657, + "advocacy": 14443, + "advocate": 12044, + "advocates": 17757, + "adwords": 48343, + "ady": 41446, + "ady": 8781, + "ae": 5548, + "ae": 4542, + "aea": 37048, + "aed": 26912, + "aege": 42304, + "ael": 41533, + "ael": 43340, + "aen": 43085, + "aer": 10195, + "aeri": 27685, + "aerial": 44866, + "aerial": 12440, + "aero": 10196, + "aero": 25026, + "aerob": 42824, + "aeron": 37286, + "aeronau": 42816, + "aerop": 27735, + "aerosmith": 43253, + "aerospace": 20530, + "aes": 10617, + "aes": 35677, + "aest": 40694, + "aesthe": 21181, + "aesthetic": 16179, + "aesthetics": 29295, + "aew": 47108, + "af": 702, + "af": 4391, + "afa": 24953, + "afan": 47474, + "afar": 41637, + "afar": 37866, + "afb": 27022, + "afc": 29742, + "afc": 6571, + "afcb": 44276, + "afcon": 30019, + "afd": 44626, + "afe": 30487, + "afe": 13912, + "afer": 44707, + "aff": 8849, + "aff": 14864, + "affair": 13998, + "affairs": 9830, + "affe": 4556, + "affect": 11361, + "affected": 9715, + "affecting": 18448, + "affection": 33780, + "affection": 28381, + "affectionate": 42578, + "affects": 17285, + "affili": 12120, + "affiliate": 18652, + "affiliated": 37540, + "affiliation": 48377, + "affinity": 41451, + "affir": 25343, + "affirm": 42711, + "affirm": 48625, + "affirmation": 47495, + "affl": 34036, + "affleck": 35584, + "afford": 7951, + "afford": 13223, + "affordability": 44828, + "affordable": 43944, + "affordable": 8926, + "afg": 33994, + "afgh": 9029, + "afghan": 15919, + "afghanistan": 9836, + "afi": 24074, + "afi": 31958, + "afil": 27209, + "afire": 42010, + "afirst": 38601, + "afl": 15132, + "afl": 14356, + "aflo": 41959, + "afm": 38385, + "afootball": 41694, + "afor": 43102, + "afore": 41468, + "afp": 18311, + "afraid": 9474, + "afri": 13888, + "afric": 2136, + "africa": 3093, + "african": 17471, + "african": 4736, + "africans": 26534, + "afridi": 37651, + "afrika": 45833, + "afrin": 45586, + "afro": 16267, + "afro": 21795, + "afs": 48960, + "aft": 22693, + "after": 2278, + "after": 953, + "afterdark": 48966, + "afterlife": 46790, + "aftermath": 20958, + "afterno": 22330, + "afternoon": 39035, + "afternoon": 2716, + "afternoons": 31631, + "afterparty": 35305, + "afterwards": 23911, + "ag": 602, + "ag": 5241, + "aga": 1050, + "aga": 4654, + "again": 1495, + "against": 23838, + "against": 1601, + "agame": 46943, + "agan": 42946, + "agan": 9178, + "agar": 13199, + "agar": 17544, + "agarwal": 43117, + "agas": 20430, + "agate": 25454, + "agatha": 43896, + "agave": 42671, + "agawa": 39433, + "agazine": 44942, + "age": 4758, + "age": 805, + "aged": 3889, + "ageing": 25349, + "agen": 10101, + "agen": 43696, + "agencies": 13887, + "agency": 44885, + "agency": 6270, + "agend": 48653, + "agenda": 8728, + "agent": 21210, + "agent": 6576, + "agents": 10199, + "agentsof": 37074, + "agentsofshield": 38801, + "ager": 44847, + "ager": 10443, + "agers": 22123, + "ages": 2321, + "agg": 45482, + "aggarwal": 39386, + "agger": 27836, + "aggi": 36844, + "aggie": 44244, + "aggie": 37618, + "aggies": 31047, + "aggio": 36685, + "aggrav": 35203, + "aggre": 10426, + "aggreg": 41968, + "aggregate": 41318, + "aggression": 28900, + "aggressive": 16295, + "aggressively": 48667, + "agh": 17917, + "agh": 14402, + "aghan": 31276, + "agi": 24036, + "agi": 17645, + "agic": 37652, + "agile": 16276, + "agility": 32161, + "aging": 4336, + "agio": 41746, + "agirl": 35469, + "agle": 37035, + "agle": 16702, + "agles": 36374, + "agles": 22679, + "aglia": 46912, + "agm": 19162, + "agn": 36474, + "agna": 43626, + "agne": 29374, + "agne": 48303, + "agnes": 26213, + "agno": 41540, + "ago": 6276, + "ago": 1468, + "agomez": 27127, + "agon": 26775, + "agon": 14901, + "agony": 36977, + "agor": 38920, + "agos": 32657, + "agov": 34227, + "agp": 46048, + "agr": 36639, + "agra": 26660, + "agra": 29830, + "agram": 2447, + "agre": 3180, + "agreat": 37594, + "agree": 5953, + "agreed": 12774, + "agreeing": 40720, + "agreement": 8286, + "agreements": 25865, + "agrees": 17854, + "agri": 20527, + "agri": 30326, + "agricul": 7234, + "agricultural": 15440, + "agriculture": 9720, + "agro": 33178, + "agro": 44589, + "agron": 41314, + "agroup": 40099, + "ags": 16926, + "agt": 39681, + "agu": 3922, + "agu": 36544, + "agua": 18482, + "aguchi": 49206, + "ague": 2095, + "aguero": 42964, + "agues": 7000, + "aguil": 27946, + "aguilar": 44715, + "ah": 1772, + "ah": 1288, + "aha": 12082, + "aha": 8429, + "ahah": 38661, + "ahaha": 32423, + "ahahaha": 42620, + "aham": 36036, + "ahan": 45061, + "ahan": 19255, + "ahar": 31038, + "ahar": 38760, + "ahe": 27688, + "ahead": 3158, + "ahem": 39995, + "ahh": 13152, + "ahhh": 14769, + "ahhhh": 21054, + "ahhhhh": 36392, + "ahi": 45349, + "ahi": 24154, + "ahl": 30433, + "ahmad": 32167, + "ahmad": 16902, + "ahmadi": 38656, + "ahmadiyya": 44865, + "ahmed": 19491, + "ahmed": 12081, + "ahmedabad": 26966, + "ahn": 33405, + "aho": 28114, + "aho": 38444, + "ahora": 43113, + "ahouse": 33197, + "ahoy": 38652, + "ahs": 16937, + "ahu": 11908, + "ahu": 16515, + "ai": 2014, + "ai": 2215, + "aia": 27046, + "aib": 34780, + "aic": 29454, + "aid": 13723, + "aid": 5182, + "aida": 33830, + "aidan": 48814, + "aidan": 26945, + "aide": 31558, + "aide": 9746, + "aided": 48707, + "aiden": 40020, + "aides": 49082, + "aids": 11759, + "aig": 27295, + "aig": 46989, + "aii": 22478, + "aik": 42575, + "aiken": 46342, + "ail": 1457, + "ail": 9154, + "ailed": 38919, + "ailing": 29999, + "ails": 27024, + "aim": 6787, + "aim": 11255, + "aime": 39872, + "aimed": 20247, + "aimee": 36318, + "aiming": 21768, + "aimo": 36706, + "aims": 13326, + "ain": 8326, + "ain": 2210, + "aine": 48983, + "aine": 17634, + "ains": 27621, + "aint": 29543, + "aint": 13099, + "ainted": 39933, + "aioli": 43949, + "air": 1281, + "air": 1922, + "aira": 35085, + "aira": 46444, + "airasia": 48020, + "airbnb": 23098, + "airborne": 22755, + "airbus": 15324, + "aircraft": 7706, + "airdrop": 38434, + "aire": 7682, + "aired": 21938, + "aires": 17034, + "airfield": 40525, + "airforce": 23511, + "airing": 20453, + "airline": 14847, + "airlines": 8929, + "airmen": 44499, + "airplane": 16451, + "airplanes": 33319, + "airplay": 47024, + "airpollution": 47362, + "airport": 48337, + "airport": 3259, + "airports": 21543, + "airs": 18539, + "airshow": 27139, + "airsoft": 30134, + "airspace": 49280, + "airstrikes": 37220, + "airtel": 34784, + "airtime": 46617, + "airwaves": 43910, + "airways": 14299, + "airy": 44453, + "ais": 7616, + "ais": 11393, + "aise": 30505, + "aish": 21946, + "aisha": 40211, + "aishwar": 29687, + "aishwarya": 44019, + "aisle": 26917, + "ait": 25613, + "ait": 40814, + "aj": 3990, + "aj": 6342, + "aja": 42343, + "aja": 19633, + "ajax": 21933, + "ajay": 22494, + "ajay": 28726, + "ajaydevgn": 35515, + "aje": 48818, + "aje": 33315, + "ajes": 38791, + "aji": 26102, + "aji": 21153, + "ajit": 42261, + "ajith": 24118, + "ajo": 26958, + "aju": 36855, + "ak": 819, + "ak": 1196, + "aka": 19154, + "aka": 3412, + "akaif": 45736, + "akan": 43678, + "akan": 38244, + "akapoor": 40064, + "akarta": 48603, + "akb": 41962, + "akbar": 27180, + "ake": 10558, + "ake": 5776, + "aked": 6115, + "aker": 14245, + "aker": 3074, + "akers": 5788, + "akes": 4764, + "akest": 46679, + "akh": 14821, + "akh": 30660, + "akhan": 28158, + "akhi": 41660, + "akhilesh": 48495, + "akhtar": 45458, + "aki": 18173, + "aki": 6592, + "akin": 24630, + "akin": 13601, + "aking": 1809, + "akins": 48568, + "akira": 34001, + "akis": 27732, + "akistan": 46221, + "akley": 39908, + "ako": 44027, + "ako": 14541, + "akon": 47105, + "akos": 44659, + "akrish": 37434, + "akron": 26115, + "aks": 2953, + "aksh": 28226, + "akshay": 21483, + "akshay": 38914, + "akshaykumar": 23624, + "akshi": 42634, + "aku": 18151, + "aku": 20815, + "aky": 11977, + "al": 526, + "al": 566, + "ala": 12783, + "ala": 3449, + "alab": 6365, + "alabam": 45880, + "alabama": 8422, + "alach": 24622, + "alad": 23074, + "aladdin": 29951, + "alai": 47072, + "alain": 28999, + "alam": 16612, + "alam": 16012, + "alamo": 41922, + "alamo": 34632, + "alan": 9563, + "alan": 5773, + "alana": 43405, + "aland": 34304, + "aland": 6819, + "alar": 34333, + "alarm": 11321, + "alarming": 37209, + "alarms": 31236, + "alarts": 31422, + "alas": 7276, + "alas": 22412, + "alaska": 9562, + "alaskan": 33898, + "alastair": 42062, + "alay": 30289, + "alay": 36450, + "alaya": 36397, + "alb": 45248, + "alba": 25254, + "alban": 10882, + "albania": 29170, + "albanian": 47721, + "albans": 44119, + "albany": 17359, + "albat": 42797, + "albeit": 38984, + "alber": 6413, + "albert": 34174, + "albert": 9507, + "alberta": 11048, + "alberto": 22714, + "albi": 18512, + "albino": 48062, + "albion": 24071, + "albu": 2216, + "album": 40712, + "album": 2431, + "albums": 10705, + "albuquerque": 31079, + "alcat": 35361, + "alche": 37909, + "alchemist": 38913, + "alchemy": 39501, + "alco": 6848, + "alco": 45446, + "alcohol": 9426, + "alcoholic": 25098, + "ald": 4539, + "ald": 2928, + "alda": 46440, + "alde": 33114, + "alden": 17155, + "alden": 27710, + "aldenrichards": 20051, + "alder": 18220, + "alder": 46571, + "aldi": 23204, + "aldo": 9933, + "aldridge": 38084, + "alds": 14285, + "aldu": 6505, + "aldub": 10532, + "aldub": 15247, + "ale": 1440, + "ale": 1336, + "alea": 26518, + "aleague": 38909, + "alec": 29804, + "alec": 19954, + "alecoscino": 47948, + "aled": 4970, + "alee": 24515, + "alej": 23440, + "alejandro": 32950, + "alek": 26906, + "alek": 43310, + "aleksand": 48429, + "alem": 11825, + "aleppo": 19258, + "aler": 25674, + "aler": 27335, + "alert": 4662, + "alerts": 22144, + "ales": 44171, + "ales": 5962, + "aless": 21864, + "alessandro": 37344, + "alestine": 31945, + "alex": 2959, + "alex": 4134, + "alexa": 16273, + "alexand": 10696, + "alexander": 25527, + "alexander": 7563, + "alexandra": 19054, + "alexandre": 35711, + "alexandria": 21171, + "alexis": 35023, + "alexis": 14243, + "aley": 21635, + "alf": 27098, + "alfa": 23482, + "alfar": 38870, + "alfie": 28598, + "alfon": 31947, + "alfonso": 41784, + "alfre": 20982, + "alfred": 16553, + "alfredo": 32291, + "algae": 25654, + "algar": 36291, + "algarve": 40290, + "alge": 24336, + "algebra": 33694, + "alger": 18568, + "algeria": 25257, + "algon": 33007, + "algori": 14912, + "algorithm": 23295, + "algorithms": 26039, + "alham": 23352, + "alhamdulil": 35129, + "alhamdulillah": 38982, + "ali": 835, + "ali": 3558, + "alia": 2492, + "aliaa": 36468, + "alian": 3464, + "alias": 40026, + "alibaba": 39231, + "alic": 25265, + "alice": 23759, + "alice": 9192, + "alici": 31630, + "alicia": 20914, + "alie": 8697, + "alien": 22846, + "alien": 9639, + "aliens": 14883, + "alier": 39493, + "alies": 38086, + "alife": 41347, + "alife": 21100, + "alig": 21272, + "alight": 36157, + "align": 31160, + "aligned": 29292, + "alignment": 27267, + "alik": 31141, + "alike": 12665, + "alim": 42075, + "alin": 42746, + "alin": 40063, + "alina": 39529, + "aline": 21799, + "aling": 5169, + "alion": 19049, + "alis": 21308, + "alis": 20114, + "alisa": 38918, + "alisation": 42143, + "alise": 36718, + "alised": 25099, + "alism": 5607, + "alison": 28653, + "alison": 16970, + "alist": 44900, + "alist": 3320, + "alistair": 40551, + "alistic": 22302, + "alists": 5653, + "alit": 45566, + "alities": 27925, + "ality": 1694, + "alive": 40467, + "alive": 4716, + "aliz": 30979, + "alization": 8026, + "alize": 10268, + "alized": 6141, + "alizer": 38922, + "alizes": 26181, + "alizing": 13023, + "alk": 30246, + "alk": 21577, + "alkal": 33450, + "alkaline": 39210, + "all": 813, + "all": 615, + "alla": 13884, + "alla": 14000, + "allabout": 43996, + "allah": 6378, + "allan": 36552, + "allan": 15404, + "allblacks": 47728, + "allday": 35862, + "alle": 4870, + "alle": 29478, + "alled": 7379, + "alleg": 7456, + "allegations": 16992, + "alleged": 12133, + "allegedly": 14177, + "alleges": 45051, + "allegh": 41479, + "allegheny": 47851, + "allegi": 28832, + "allegiance": 30955, + "allen": 16712, + "allen": 6386, + "allenge": 31387, + "aller": 10116, + "aller": 30630, + "allergic": 28809, + "allergies": 28247, + "allergy": 24408, + "allery": 32542, + "alles": 43354, + "allevi": 31682, + "alleviate": 44799, + "alley": 36205, + "alley": 10329, + "allez": 49137, + "alli": 4123, + "alli": 15268, + "alliance": 45404, + "alliance": 8945, + "alliances": 48403, + "allianz": 45740, + "allie": 25040, + "allied": 20045, + "allies": 17277, + "alligator": 28574, + "allin": 45007, + "allin": 22395, + "alline": 48182, + "alling": 2992, + "allis": 45309, + "allison": 34602, + "allison": 16578, + "allman": 42611, + "allo": 8107, + "allo": 18389, + "allocated": 42716, + "allocation": 35139, + "allon": 46693, + "allot": 26363, + "allotment": 33750, + "allow": 5645, + "allow": 6722, + "allowance": 35696, + "allowed": 7885, + "allowing": 12458, + "allows": 9966, + "alloy": 22467, + "alls": 1997, + "allstar": 31247, + "allstar": 22974, + "allstars": 31198, + "allthe": 29253, + "allu": 20157, + "alluarjun": 39333, + "allure": 41814, + "ally": 7461, + "ally": 769, + "alm": 28303, + "alma": 32933, + "alma": 18337, + "alman": 29394, + "almanac": 41268, + "almighty": 21898, + "almond": 15646, + "almonds": 30468, + "almost": 47534, + "almost": 2671, + "aln": 47203, + "alo": 3435, + "alo": 6183, + "aloe": 30728, + "alog": 15813, + "alogue": 9101, + "aloha": 23160, + "aloils": 49002, + "alom": 22236, + "alon": 14097, + "alon": 42846, + "alone": 4702, + "along": 8300, + "along": 2528, + "alongside": 8646, + "alonso": 25704, + "aloo": 46187, + "alore": 14323, + "alot": 16945, + "alou": 43180, + "aloud": 30028, + "alove": 46669, + "alove": 37045, + "alp": 32020, + "alp": 39342, + "alpac": 30128, + "alpaca": 42561, + "alph": 6720, + "alpha": 11807, + "alpha": 8624, + "alphabe": 45796, + "alphabet": 22335, + "alphon": 37865, + "alpine": 17055, + "alps": 18191, + "already": 2426, + "alright": 10866, + "als": 23982, + "als": 938, + "alsace": 49388, + "also": 1446, + "alt": 9995, + "alt": 10006, + "alta": 24470, + "alta": 25378, + "altaf": 47342, + "altam": 45624, + "altar": 16385, + "alter": 4949, + "alter": 21393, + "altered": 25201, + "altern": 47463, + "alternate": 15926, + "alternati": 16699, + "alternative": 37327, + "alternative": 8248, + "alternatives": 25041, + "alth": 23463, + "alth": 5863, + "although": 9421, + "alti": 35531, + "alties": 17276, + "altitude": 23241, + "altman": 48100, + "alto": 35053, + "alto": 17518, + "altogether": 45689, + "alton": 41331, + "alton": 36550, + "altrin": 38458, + "altrincham": 44718, + "alty": 5546, + "alu": 4776, + "alu": 27991, + "alum": 5404, + "alum": 10553, + "alumin": 14563, + "alumini": 22908, + "aluminium": 23631, + "aluminum": 15251, + "alumna": 30313, + "alumni": 6646, + "alumnus": 23633, + "alums": 30155, + "alv": 20928, + "alvar": 25196, + "alvarez": 26924, + "alvaro": 41941, + "alves": 38547, + "alvin": 27023, + "alway": 14046, + "alway": 43764, + "always": 24997, + "always": 1466, + "alwx": 32768, + "aly": 6468, + "aly": 12910, + "alyn": 49150, + "alyss": 29490, + "alyssa": 18898, + "alz": 12936, + "alz": 41128, + "alzheim": 15212, + "alzheimer": 21151, + "alzheimers": 34592, + "am": 548, + "am": 687, + "ama": 18206, + "ama": 1696, + "amad": 45095, + "amade": 37366, + "amag": 32049, + "amal": 15315, + "amal": 36753, + "aman": 19890, + "aman": 10110, + "amand": 14560, + "amanda": 10036, + "amar": 6424, + "amar": 19607, + "amara": 48522, + "amari": 42565, + "amarillo": 40449, + "amarine": 45591, + "amarketing": 30788, + "amas": 22716, + "amas": 15667, + "amat": 38664, + "amat": 25455, + "amate": 12453, + "amateur": 14287, + "amaya": 47210, + "amaz": 1185, + "amaze": 24846, + "amazed": 18944, + "amazing": 15949, + "amazing": 1370, + "amazingly": 20368, + "amazon": 13630, + "amazon": 4140, + "amb": 9042, + "amb": 16853, + "amba": 27003, + "ambani": 45967, + "ambas": 5634, + "ambassad": 5758, + "ambassador": 6795, + "ambassadors": 16832, + "ambed": 42089, + "ambedkar": 48131, + "amber": 18292, + "amber": 9986, + "ambi": 11844, + "ambient": 23447, + "ambigu": 35702, + "ambition": 20673, + "ambitions": 34152, + "ambitious": 18666, + "ambro": 17585, + "ambrose": 24253, + "ambu": 34423, + "ambul": 13944, + "ambulance": 15555, + "ambush": 40725, + "amc": 24942, + "amc": 16921, + "amd": 20845, + "ame": 3995, + "ame": 780, + "amed": 5660, + "ameen": 24229, + "amel": 31988, + "amel": 10960, + "ameli": 21599, + "amelia": 21433, + "amell": 48198, + "amen": 18716, + "amen": 12335, + "amend": 12425, + "amendment": 15019, + "amendments": 40901, + "amenities": 30096, + "ament": 27528, + "amer": 17081, + "amer": 16147, + "ameri": 40422, + "americ": 1283, + "america": 2224, + "americafirst": 43216, + "american": 8746, + "american": 2151, + "americana": 26221, + "americanair": 42538, + "americani": 39726, + "americans": 6676, + "americas": 33343, + "americas": 18142, + "ames": 5469, + "ameter": 23393, + "amethy": 30291, + "amethyst": 31485, + "amex": 46390, + "amg": 21324, + "amher": 32311, + "amherst": 39065, + "ami": 6100, + "ami": 3065, + "amic": 25824, + "amic": 21383, + "amid": 18908, + "amid": 11953, + "amide": 30952, + "amidst": 25172, + "amie": 36901, + "amig": 40294, + "amiga": 35329, + "amigo": 44991, + "amigos": 28176, + "amii": 35462, + "amiibo": 38871, + "amily": 36732, + "amin": 14337, + "amin": 20235, + "amina": 47531, + "amination": 30355, + "amine": 35823, + "aming": 3507, + "amino": 33464, + "amir": 26029, + "amir": 21973, + "amis": 29829, + "amish": 24958, + "amit": 15083, + "amit": 25255, + "amitabh": 48124, + "amitshah": 32374, + "aml": 43185, + "amma": 29786, + "amman": 29243, + "ammo": 33474, + "ammunition": 35060, + "amn": 24073, + "amne": 14596, + "amnesia": 41741, + "amnesty": 46330, + "amnesty": 21177, + "amo": 4833, + "amo": 11156, + "amodi": 9826, + "amon": 17492, + "amon": 24046, + "among": 12310, + "among": 4265, + "amongst": 12520, + "amoo": 26977, + "amor": 19977, + "amor": 15973, + "amore": 38937, + "amore": 22691, + "amores": 36338, + "amos": 18133, + "amoto": 25492, + "amount": 6403, + "amounts": 16747, + "amour": 29908, + "amovie": 41062, + "amp": 3521, + "amp": 6259, + "amped": 22640, + "amphi": 16379, + "amphibious": 45206, + "amphitheater": 41285, + "amphitheatre": 44039, + "ample": 34162, + "amples": 14536, + "ampli": 15647, + "amplifier": 31743, + "amplify": 45308, + "amps": 19252, + "ampton": 29410, + "ampton": 9347, + "amr": 30916, + "amreading": 16546, + "amrit": 33849, + "ams": 1396, + "amster": 9110, + "amsterdam": 9441, + "amtrak": 27855, + "amu": 11347, + "amu": 32336, + "amur": 35014, + "amura": 35487, + "amus": 36269, + "amuse": 21421, + "amuse": 44367, + "amused": 30212, + "amusement": 32570, + "amusic": 20266, + "amusing": 31789, + "amwriting": 9660, + "amy": 10547, + "amy": 5187, + "an": 514, + "an": 550, + "ana": 6588, + "ana": 1388, + "anab": 34742, + "anada": 27948, + "anag": 12115, + "anagh": 40774, + "anaheim": 23728, + "anak": 34814, + "anak": 38658, + "anal": 2785, + "analo": 34179, + "analog": 19963, + "analogue": 46031, + "analy": 4611, + "analyse": 47246, + "analyses": 39695, + "analysis": 5296, + "analyst": 14198, + "analysts": 28075, + "analytical": 34550, + "analytics": 8558, + "analyze": 28519, + "analyzing": 32107, + "anam": 29525, + "anan": 37215, + "anand": 25073, + "anand": 22083, + "anap": 41566, + "anarch": 46405, + "anarchi": 39879, + "anarchy": 27707, + "anas": 31382, + "anas": 12633, + "anast": 48902, + "anasta": 22915, + "anastasi": 36534, + "anastasia": 37975, + "anat": 10045, + "anath": 31277, + "anatom": 33759, + "anatomy": 15376, + "anc": 1124, + "anc": 17758, + "anca": 14583, + "ance": 7165, + "ance": 884, + "anced": 5071, + "ancer": 17415, + "ancers": 37296, + "ances": 3515, + "ancestor": 43904, + "ancestors": 24405, + "ancestral": 41615, + "ancestry": 30922, + "anch": 9489, + "anche": 34679, + "ancho": 26610, + "anchor": 20030, + "anchor": 13201, + "anchorage": 31950, + "anchored": 45926, + "anchors": 37830, + "anci": 4192, + "ancient": 31495, + "ancient": 5810, + "ancies": 21647, + "ancing": 7797, + "anco": 15459, + "ancy": 16282, + "ancy": 3633, + "and": 672, + "and": 537, + "anda": 2911, + "andalu": 31443, + "andco": 36302, + "ande": 26889, + "ande": 30354, + "ander": 3740, + "ander": 3935, + "anders": 10880, + "andersen": 32661, + "anderson": 26683, + "anderson": 6510, + "andes": 24052, + "andfriends": 36871, + "andhi": 21617, + "andhra": 32452, + "andi": 28870, + "andi": 14354, + "andie": 46318, + "andme": 42831, + "ando": 35950, + "ando": 5986, + "andolan": 48965, + "andon": 36488, + "andor": 45243, + "andover": 44177, + "andr": 22661, + "andra": 46795, + "andra": 21730, + "andre": 2657, + "andre": 9400, + "andrea": 10895, + "andreas": 20444, + "andrei": 42137, + "andres": 25197, + "andretti": 44291, + "andrew": 11717, + "andrew": 4847, + "andrews": 14506, + "andri": 37208, + "andro": 4417, + "andro": 17980, + "android": 24284, + "android": 5191, + "androidgames": 46572, + "andromeda": 42942, + "andré": 35609, + "ands": 32257, + "andthe": 22111, + "andu": 44200, + "andum": 47266, + "andy": 9447, + "andy": 2888, + "ane": 5846, + "ane": 3051, + "anec": 33965, + "anem": 41395, + "anemone": 49019, + "aneous": 48273, + "anes": 15381, + "anese": 48778, + "anesthe": 30622, + "anesthesia": 43353, + "anew": 39084, + "anew": 47341, + "anews": 20919, + "aney": 22387, + "anfield": 26993, + "ang": 883, + "ang": 2704, + "anga": 11641, + "angames": 43178, + "angan": 28264, + "angas": 46180, + "ange": 2960, + "ange": 3039, + "angel": 5029, + "angel": 5130, + "angela": 12354, + "angeles": 7382, + "angeli": 15265, + "angelic": 41038, + "angelica": 38582, + "angelina": 28890, + "angelo": 14342, + "angelou": 41328, + "angels": 7809, + "anger": 32737, + "anger": 6788, + "angerous": 39716, + "angers": 29756, + "angh": 34030, + "angi": 28003, + "angi": 24301, + "angie": 18859, + "angle": 21749, + "angle": 6946, + "angled": 32322, + "angler": 22284, + "anglers": 41608, + "angles": 18627, + "anglesey": 31850, + "anglia": 32076, + "anglic": 28322, + "anglican": 33284, + "angling": 36824, + "anglo": 39515, + "anglo": 30408, + "ango": 19090, + "angola": 36636, + "angor": 41740, + "angp": 19992, + "angry": 33910, + "angry": 9054, + "angs": 18441, + "angst": 41714, + "angu": 11209, + "angular": 43584, + "angular": 24981, + "angularjs": 48608, + "angus": 19688, + "ani": 1326, + "ani": 3624, + "ania": 9866, + "anian": 9945, + "anians": 39393, + "anic": 23113, + "anie": 26697, + "anie": 7671, + "anil": 28589, + "anil": 34619, + "anim": 2190, + "animal": 10697, + "animal": 4668, + "animalrights": 42859, + "animals": 4995, + "animate": 40076, + "animated": 13360, + "animation": 10344, + "animations": 42870, + "animator": 42591, + "anime": 23314, + "anime": 6469, + "anin": 45735, + "aning": 30972, + "anir": 27089, + "anirud": 35278, + "anirudhofficial": 45917, + "anis": 40986, + "anis": 47556, + "anism": 20947, + "anist": 16729, + "anistan": 9727, + "aniston": 47344, + "anit": 23683, + "anita": 18544, + "anium": 14794, + "anj": 22443, + "anja": 43440, + "anjali": 38834, + "anjo": 47353, + "ank": 13339, + "ank": 10029, + "anka": 45324, + "ankara": 34309, + "ankle": 14777, + "ankles": 48688, + "ann": 850, + "ann": 5424, + "anna": 13821, + "anna": 2160, + "annab": 22336, + "annabelle": 47661, + "annah": 39166, + "annah": 14327, + "annak": 41720, + "annan": 32166, + "annapolis": 34491, + "annas": 48467, + "anne": 9139, + "anne": 4083, + "anned": 27352, + "anner": 12642, + "annes": 24343, + "annette": 36821, + "annex": 42958, + "annex": 46389, + "anni": 2438, + "anni": 13728, + "annie": 37270, + "annie": 12173, + "annies": 43184, + "annihil": 32734, + "annis": 24742, + "anniv": 31399, + "anniver": 29671, + "annivers": 42836, + "anniversaire": 30882, + "anniversary": 3048, + "anno": 9901, + "anno": 26871, + "annon": 26385, + "annot": 30411, + "announ": 1806, + "announce": 3682, + "announced": 4103, + "announcement": 6932, + "announcements": 23735, + "announcer": 33626, + "announces": 6500, + "announcing": 11593, + "annoy": 45138, + "annoyed": 29863, + "annoying": 15248, + "annu": 21698, + "annual": 2906, + "annually": 23703, + "anny": 34313, + "anny": 5291, + "ano": 5617, + "ano": 2658, + "anom": 21612, + "anomaly": 46811, + "anon": 47079, + "anon": 13667, + "anonym": 38605, + "anonymous": 15036, + "anoo": 25690, + "anor": 13243, + "anor": 16596, + "anos": 20132, + "another": 29274, + "another": 1380, + "anova": 24116, + "ans": 24586, + "ans": 885, + "ansari": 40748, + "ansel": 40356, + "answ": 3369, + "answe": 14391, + "answer": 4518, + "answered": 14499, + "answering": 18280, + "answers": 8692, + "ant": 1103, + "ant": 773, + "anta": 3023, + "antag": 41745, + "antal": 39355, + "antalya": 47440, + "antan": 32899, + "antarc": 21338, + "antarctic": 27077, + "antarctica": 22587, + "ante": 19311, + "ante": 9769, + "antebellum": 41683, + "antelope": 39177, + "anten": 35517, + "antenna": 26370, + "anter": 46508, + "antes": 14927, + "antgrasso": 39074, + "anth": 3737, + "anth": 29741, + "antha": 47981, + "anthe": 34167, + "anthem": 12504, + "anthi": 45261, + "anthology": 21009, + "anthony": 17477, + "anthony": 6113, + "anthro": 10019, + "anthropo": 18538, + "anthropology": 32407, + "anthus": 37639, + "anti": 3120, + "anti": 3564, + "antibio": 18954, + "antibiotic": 34387, + "antibiotics": 29499, + "antibody": 49018, + "antic": 8260, + "anticip": 11435, + "anticipate": 38280, + "anticipated": 18605, + "anticipating": 48067, + "anticipation": 26983, + "antics": 37126, + "antidote": 45476, + "antifa": 35926, + "antigua": 39910, + "antine": 17641, + "antino": 27818, + "antioxid": 23010, + "antioxidant": 37452, + "antioxidants": 34208, + "antiqu": 21745, + "antique": 46517, + "antique": 9060, + "antiques": 17365, + "antis": 19748, + "antisemitism": 36630, + "antit": 37833, + "antitrust": 49343, + "antlers": 47720, + "antly": 5265, + "anto": 16826, + "anto": 24486, + "antoine": 25188, + "anton": 5497, + "anton": 19644, + "antoni": 39958, + "antonio": 30497, + "antonio": 7842, + "antony": 30707, + "antrim": 40252, + "ants": 1589, + "antv": 47520, + "antw": 44460, + "antwer": 26970, + "antwerp": 33797, + "antz": 25684, + "anu": 8537, + "anu": 17152, + "anup": 29617, + "anus": 27084, + "anush": 22765, + "anushka": 42080, + "anushka": 39822, + "anushkasharma": 44203, + "anwar": 34261, + "anxi": 9021, + "anxiety": 11103, + "anxious": 27793, + "any": 1307, + "any": 1504, + "anya": 11173, + "anybody": 10071, + "anyi": 41632, + "anymore": 7372, + "anyone": 2302, + "anything": 3582, + "anytime": 13924, + "anyway": 8931, + "anyways": 19778, + "anywhere": 8863, + "anz": 14445, + "anz": 19425, + "anza": 14669, + "anzac": 31977, + "ao": 7313, + "ao": 5703, + "aoa": 47119, + "aoc": 31918, + "aofficial": 30840, + "aoki": 33602, + "aol": 40643, + "aon": 30928, + "aon": 48476, + "aor": 32044, + "aos": 46860, + "ap": 688, + "ap": 2728, + "apa": 36954, + "apa": 13537, + "apac": 34320, + "apache": 23921, + "apal": 38017, + "apan": 36562, + "apar": 9161, + "apark": 32528, + "apart": 6474, + "apart": 7803, + "aparthe": 25121, + "apartheid": 26597, + "apartment": 8285, + "apartments": 15791, + "aparty": 26767, + "apat": 31755, + "apathy": 18145, + "apc": 20300, + "apd": 44563, + "ape": 6098, + "ape": 2609, + "apec": 47530, + "aper": 13681, + "aper": 5858, + "apers": 15846, + "apes": 9550, + "apeu": 19040, + "apex": 41935, + "apex": 23712, + "aph": 16341, + "aph": 29491, + "apha": 47104, + "apho": 21758, + "aphra": 44147, + "api": 23342, + "api": 14674, + "apia": 44259, + "apic": 40679, + "aping": 18456, + "apink": 35725, + "apis": 37575, + "apk": 27648, + "apo": 4089, + "apo": 19758, + "apocaly": 13932, + "apocalypse": 17571, + "apocalyptic": 35675, + "apol": 5023, + "apolice": 45663, + "apolis": 9598, + "apollo": 48213, + "apollo": 11554, + "apolo": 31094, + "apolog": 25530, + "apologe": 42908, + "apologi": 14977, + "apologies": 21959, + "apologise": 39608, + "apologize": 22879, + "apologizes": 35298, + "apology": 20768, + "apor": 21871, + "apore": 6679, + "apost": 20309, + "apostle": 33051, + "apostles": 48457, + "app": 882, + "app": 2231, + "appa": 4884, + "appa": 13110, + "appalach": 30523, + "appalachian": 36806, + "appalling": 44797, + "appar": 26698, + "apparatus": 37716, + "apparel": 13972, + "apparent": 23963, + "apparently": 5287, + "appe": 3748, + "appe": 45949, + "appeal": 9625, + "appealing": 25909, + "appeals": 22447, + "appear": 5544, + "appear": 9308, + "appearance": 7238, + "appearances": 17214, + "appeared": 11561, + "appearing": 18759, + "appears": 8743, + "appell": 43833, + "appen": 37201, + "appen": 26589, + "apper": 18780, + "appet": 21686, + "appeti": 24179, + "appetite": 24481, + "appetizer": 36065, + "applau": 24713, + "applaud": 42152, + "applause": 22650, + "apple": 8629, + "apple": 3055, + "applemusic": 21390, + "apples": 14032, + "appleton": 45250, + "appli": 15495, + "appliance": 33677, + "appliances": 22134, + "applic": 4235, + "applicable": 37927, + "applicants": 28035, + "application": 7241, + "applications": 7341, + "applied": 12636, + "applies": 24910, + "apply": 4356, + "applying": 17965, + "appo": 5433, + "appoint": 36190, + "appointed": 11087, + "appointment": 10890, + "appointments": 23439, + "appoints": 25132, + "apprais": 36972, + "appraisal": 46108, + "appreci": 3474, + "appreciate": 6263, + "appreciated": 9264, + "appreciates": 36573, + "appreciating": 39352, + "appreciation": 9212, + "appreciationday": 37438, + "appreciative": 45074, + "appren": 10582, + "apprentic": 15662, + "apprentice": 19122, + "apprentice": 17985, + "apprentices": 38252, + "apprenticeship": 26939, + "apprenticeships": 35425, + "appro": 2398, + "approach": 7781, + "approach": 6241, + "approached": 36499, + "approaches": 14962, + "approaching": 12164, + "appropri": 8446, + "appropriate": 10768, + "appropriately": 30383, + "appropriation": 49110, + "approval": 13549, + "approve": 19064, + "approved": 9412, + "approves": 18107, + "approx": 18266, + "approxim": 14201, + "approximately": 16128, + "apps": 7020, + "appstore": 31377, + "appt": 48112, + "appy": 34420, + "apr": 39396, + "apr": 11177, + "apra": 37027, + "apric": 25923, + "apricot": 30815, + "april": 23548, + "april": 2484, + "apro": 42712, + "apro": 49051, + "apron": 29502, + "aps": 8868, + "apse": 31843, + "apt": 17921, + "aptly": 47313, + "apu": 22166, + "apur": 36900, + "apur": 45193, + "aq": 14018, + "aq": 26862, + "aqu": 4458, + "aqua": 18613, + "aquaculture": 41885, + "aquaman": 35098, + "aquari": 37605, + "aquarium": 16814, + "aquarius": 38879, + "aquatic": 22658, + "aque": 35927, + "aque": 37268, + "aqui": 36826, + "aquino": 33796, + "ar": 516, + "ar": 625, + "ara": 24161, + "ara": 3340, + "arab": 5405, + "arab": 12028, + "arabia": 11746, + "arabian": 24663, + "arabic": 16709, + "arabs": 39155, + "arac": 47620, + "arach": 37689, + "arag": 41502, + "araj": 45142, + "arak": 23416, + "aram": 19223, + "aram": 21473, + "arama": 49066, + "aran": 20839, + "aran": 19641, + "aras": 36399, + "arat": 30856, + "arav": 35836, + "arbit": 20267, + "arbitr": 22702, + "arbitration": 34845, + "arbor": 33516, + "arbor": 24878, + "arboretum": 41719, + "arc": 4997, + "arc": 11592, + "arca": 25189, + "arca": 37612, + "arcade": 13331, + "arcadia": 38372, + "arch": 2458, + "arch": 8557, + "archa": 45619, + "archae": 10121, + "archaeological": 26163, + "archaeologists": 45035, + "archaeology": 14868, + "archan": 33359, + "archbishop": 23994, + "arche": 22474, + "archer": 21824, + "archers": 38407, + "archery": 23935, + "arches": 30771, + "archi": 4479, + "archie": 20557, + "archipel": 39750, + "archipelago": 43025, + "architec": 3359, + "architect": 12192, + "architects": 13290, + "architectural": 15360, + "architecture": 39038, + "architecture": 4920, + "archival": 39249, + "archive": 42257, + "archive": 10548, + "archived": 42379, + "archives": 9411, + "archy": 15643, + "arctic": 29716, + "arctic": 9138, + "ard": 3793, + "ard": 746, + "arden": 44600, + "arden": 27057, + "ardi": 23932, + "ardi": 19837, + "ardo": 35735, + "ardo": 9394, + "ards": 1654, + "ardu": 20906, + "arduino": 25398, + "are": 1076, + "are": 631, + "area": 2445, + "areas": 5429, + "arec": 18136, + "areclipse": 36030, + "ared": 5369, + "arel": 12798, + "arella": 24784, + "arelli": 48619, + "aren": 4033, + "aren": 4318, + "arena": 5463, + "arenas": 47860, + "arent": 37487, + "arer": 14857, + "arers": 33159, + "ares": 12224, + "arest": 11708, + "aret": 22247, + "areth": 47725, + "aretha": 42090, + "areyou": 37607, + "arez": 13108, + "arg": 27285, + "argent": 7812, + "argentina": 9789, + "argentine": 32582, + "argon": 40737, + "argos": 37443, + "argu": 7440, + "arguably": 30899, + "argue": 19788, + "argued": 48153, + "argues": 30045, + "arguing": 26549, + "argument": 16224, + "arguments": 24693, + "argus": 44300, + "argy": 21066, + "argyle": 36179, + "argyll": 40667, + "ari": 1221, + "ari": 3681, + "aria": 8883, + "arial": 42431, + "arian": 29980, + "arian": 6953, + "ariana": 14892, + "arianag": 23025, + "arianagrande": 23321, + "arianism": 44351, + "arians": 19104, + "arias": 22567, + "arie": 18774, + "ariel": 47959, + "ariel": 21025, + "aries": 5213, + "arif": 46621, + "arily": 12993, + "arin": 29564, + "arin": 18612, + "arina": 29271, + "arine": 29586, + "aring": 2142, + "ario": 8862, + "arios": 25392, + "aris": 15227, + "arise": 26490, + "arist": 12110, + "aristo": 25666, + "aristotle": 49156, + "arities": 31069, + "arity": 16608, + "arium": 11809, + "arius": 21482, + "ariz": 6516, + "arized": 40167, + "arizon": 28936, + "arizona": 7106, + "arjun": 24565, + "arjun": 20477, + "arjuna": 43835, + "ark": 11921, + "ark": 12010, + "arkansas": 12227, + "arkham": 36381, + "arl": 48542, + "arlington": 44940, + "arlington": 17865, + "arly": 3637, + "arm": 5671, + "arm": 4793, + "arma": 15887, + "arma": 38716, + "armad": 37897, + "armada": 34938, + "armagh": 44313, + "armani": 31314, + "armb": 37096, + "armchair": 45757, + "armed": 40471, + "armed": 8202, + "armen": 13145, + "armenia": 22008, + "armenian": 24891, + "armies": 46686, + "armin": 45481, + "arming": 19766, + "armist": 38150, + "armistice": 46765, + "armor": 16167, + "armored": 28214, + "armory": 38610, + "armour": 18503, + "armoured": 42514, + "arms": 5706, + "armstrong": 15005, + "army": 13541, + "army": 3133, + "armys": 27311, + "arn": 9348, + "arn": 37597, + "arnau": 45556, + "arne": 43509, + "arney": 35962, + "arnold": 49096, + "arnold": 13609, + "arns": 46692, + "aro": 7514, + "aro": 11551, + "aroa": 48209, + "arom": 16831, + "aroma": 40143, + "aroma": 26390, + "aromas": 47439, + "aromatherapy": 42584, + "aromatic": 39669, + "aron": 30855, + "aron": 28926, + "aroo": 47581, + "arora": 31897, + "arosa": 44264, + "arose": 44262, + "around": 35615, + "around": 1630, + "arqu": 35654, + "arquitec": 41703, + "arr": 39106, + "arr": 42489, + "arra": 32918, + "arra": 43827, + "arrahman": 44554, + "arran": 45722, + "arrang": 16711, + "arrange": 15410, + "arrange": 26311, + "arranged": 22451, + "arrangement": 23822, + "arrangements": 23792, + "arranging": 35321, + "array": 17293, + "arre": 4374, + "arrell": 28846, + "arrest": 9320, + "arrested": 5845, + "arresting": 43930, + "arrests": 20683, + "arri": 2115, + "arrival": 9073, + "arrivals": 19583, + "arrive": 8851, + "arrived": 3514, + "arrives": 9905, + "arriving": 10884, + "arro": 15729, + "arrog": 26997, + "arrogance": 47025, + "arrogant": 40582, + "arrow": 30920, + "arrow": 11149, + "arrowhead": 46393, + "arrows": 24768, + "arroyo": 45237, + "ars": 42815, + "ars": 864, + "arse": 22665, + "arsen": 5330, + "arsenal": 45234, + "arsenal": 6084, + "arsene": 32117, + "arson": 29937, + "art": 1486, + "art": 794, + "arta": 12031, + "arte": 13482, + "arte": 12947, + "artem": 40387, + "artemis": 45256, + "arten": 37043, + "arter": 29449, + "artery": 40062, + "artes": 48629, + "artforsale": 48239, + "artgallery": 31982, + "arth": 7146, + "arth": 20265, + "arthistory": 39313, + "arthr": 20807, + "arthritis": 22916, + "arthro": 43255, + "arthur": 35660, + "arthur": 8550, + "arti": 1635, + "arti": 34601, + "artic": 3003, + "articho": 30937, + "artichoke": 39647, + "article": 3550, + "articles": 11939, + "articul": 40343, + "articulate": 45444, + "artif": 8950, + "artifact": 37718, + "artifacts": 30249, + "artificial": 19357, + "artificial": 12040, + "artificialintelligence": 20799, + "artillery": 24465, + "artin": 33168, + "artin": 48540, + "artis": 41794, + "artisan": 36389, + "artisan": 21535, + "artisans": 40140, + "artist": 14326, + "artist": 2456, + "artiste": 41402, + "artistic": 12421, + "artiston": 48443, + "artistry": 38570, + "artists": 4899, + "artistson": 32127, + "artistsontwitter": 39469, + "artlovers": 35617, + "arto": 28464, + "artof": 31751, + "artoftheday": 43990, + "arton": 46744, + "arts": 22040, + "arts": 3812, + "artsy": 31588, + "arturo": 38591, + "artwit": 36713, + "artwork": 4188, + "artworks": 26215, + "arty": 45417, + "arty": 25916, + "aru": 13757, + "aru": 23907, + "aruba": 40131, + "arugula": 40770, + "arum": 48732, + "arun": 16105, + "arun": 31877, + "arunach": 47260, + "arunjaitley": 44874, + "arus": 22644, + "arvin": 16971, + "arvind": 21209, + "arvind": 41079, + "arvindkejriwal": 22971, + "arvo": 45726, + "arwx": 29824, + "ary": 4617, + "ary": 856, + "arya": 23594, + "aryan": 34966, + "as": 587, + "as": 601, + "asa": 39676, + "asa": 11914, + "asad": 42376, + "asaki": 22455, + "asam": 40603, + "asan": 22379, + "asan": 17841, + "asana": 42363, + "asant": 25536, + "asants": 37766, + "asap": 24199, + "asap": 10822, + "asar": 24733, + "asar": 49299, + "asb": 31186, + "asbe": 32113, + "asbestos": 33765, + "asc": 22720, + "asc": 23305, + "ascen": 20767, + "ascension": 35499, + "ascent": 36625, + "asci": 12753, + "asco": 25578, + "asco": 17488, + "ascot": 23723, + "ascri": 15506, + "asd": 36988, + "asda": 29391, + "asdf": 36857, + "asdfghj": 42758, + "asdfghjkl": 47660, + "ase": 8083, + "ase": 894, + "asean": 24472, + "aseball": 46903, + "ased": 2134, + "asen": 41085, + "aser": 39615, + "aser": 7209, + "ases": 3762, + "asf": 25863, + "asg": 34813, + "ash": 2067, + "ash": 2612, + "asha": 40572, + "asha": 13472, + "ashamed": 20633, + "ashby": 46531, + "ashe": 48523, + "ashe": 31752, + "asher": 37585, + "ashes": 12587, + "asheville": 28897, + "ashford": 37796, + "ashi": 15563, + "ashi": 15934, + "ashish": 33145, + "ashland": 39938, + "ashleigh": 49356, + "ashley": 17825, + "ashley": 8957, + "asho": 20273, + "ashok": 38141, + "ashore": 31194, + "ashram": 43445, + "ashton": 43264, + "ashton": 12228, + "ashtra": 18118, + "asi": 3596, + "asi": 12562, + "asia": 5741, + "asian": 21737, + "asian": 7128, + "asiangames": 49108, + "asians": 36771, + "asics": 31097, + "aside": 13676, + "asif": 37302, + "asim": 46050, + "asin": 48432, + "asin": 44347, + "asing": 4194, + "asingly": 15803, + "asion": 31753, + "asis": 12398, + "ask": 11027, + "ask": 2765, + "asked": 3993, + "asking": 5914, + "asks": 7953, + "asl": 41650, + "asleep": 10749, + "asley": 28206, + "asli": 44290, + "asm": 13851, + "asma": 38497, + "asmsg": 19839, + "aso": 30343, + "aso": 27932, + "asober": 43749, + "asocial": 48557, + "ason": 1163, + "asone": 31249, + "asons": 4249, + "asos": 37924, + "asot": 47968, + "asp": 17814, + "asp": 36666, + "asparag": 20301, + "asparagus": 20604, + "aspe": 10894, + "aspect": 19681, + "aspects": 18203, + "aspen": 35695, + "aspen": 25712, + "asper": 32991, + "asph": 28019, + "asphalt": 30574, + "aspir": 12669, + "aspirations": 36127, + "aspire": 24836, + "aspiring": 21862, + "asports": 43695, + "asr": 48052, + "asroma": 41000, + "ass": 12664, + "ass": 5301, + "assa": 47715, + "assad": 18699, + "assam": 19930, + "assan": 26352, + "assange": 27565, + "assas": 9603, + "assassin": 14366, + "assassin": 20029, + "assassinated": 40488, + "assassination": 24907, + "assassins": 34918, + "assassinscre": 36428, + "assassinscreed": 46082, + "assau": 7908, + "assaul": 19596, + "assault": 9679, + "assaulted": 30785, + "assaulting": 44143, + "asse": 3166, + "asse": 38600, + "assel": 37582, + "assemb": 5531, + "assemble": 26169, + "assembled": 22627, + "assemblies": 47406, + "assembling": 38670, + "assembly": 34542, + "assembly": 7059, + "assen": 38651, + "asser": 25665, + "asses": 21596, + "assess": 9209, + "assess": 23211, + "assessed": 44160, + "assessing": 31364, + "assessment": 10590, + "assessments": 32753, + "asset": 48463, + "asset": 13039, + "assets": 13170, + "assi": 2907, + "assi": 39540, + "assie": 31624, + "assign": 14190, + "assigned": 25767, + "assignment": 17342, + "assignments": 34257, + "assim": 36394, + "assimil": 43467, + "assist": 26558, + "assist": 10286, + "assistance": 11685, + "assistant": 6799, + "assistants": 31054, + "assisted": 18095, + "assisting": 24243, + "assists": 12675, + "assn": 44208, + "asso": 17617, + "assoc": 18891, + "associ": 3566, + "associate": 11777, + "associated": 11164, + "associates": 17358, + "association": 5578, + "associations": 33209, + "assor": 38604, + "assorted": 36701, + "assortment": 43112, + "asst": 24767, + "assu": 8328, + "assume": 19294, + "assumed": 37661, + "assuming": 29422, + "assump": 41182, + "assumption": 40773, + "assumptions": 45948, + "assurance": 28408, + "assure": 39161, + "assured": 25591, + "assures": 41988, + "assy": 29940, + "assy": 12963, + "ast": 1761, + "ast": 1242, + "asta": 43269, + "aste": 25033, + "aste": 25579, + "aster": 11013, + "aster": 9526, + "asteroid": 32253, + "asters": 33139, + "asth": 16684, + "asthma": 24610, + "asthour": 41238, + "astic": 15876, + "asting": 29984, + "astle": 46141, + "asto": 47275, + "aston": 24760, + "aston": 13879, + "astoni": 21962, + "astonishing": 27110, + "astonmartin": 40760, + "astor": 26391, + "astor": 47086, + "astoria": 34798, + "astounding": 37748, + "astr": 37609, + "astra": 47205, + "astra": 36079, + "astral": 45889, + "astri": 31243, + "astrid": 46499, + "astro": 8563, + "astro": 15318, + "astrology": 28526, + "astron": 7982, + "astronaut": 18376, + "astronauts": 29733, + "astronom": 23264, + "astronomer": 40036, + "astronomers": 44268, + "astronomical": 39775, + "astronomy": 17472, + "astrophotography": 38559, + "astros": 17598, + "asts": 10452, + "astu": 43137, + "astur": 45795, + "asu": 13157, + "asu": 16001, + "asun": 36044, + "asure": 3813, + "asus": 27269, + "aswell": 42978, + "asx": 38906, + "asy": 8524, + "asy": 2333, + "asylum": 15638, + "asym": 32539, + "at": 527, + "at": 536, + "ata": 4236, + "atable": 23909, + "atal": 24877, + "atal": 24797, + "atan": 33446, + "atar": 20128, + "atar": 7995, + "atari": 21549, + "atas": 30057, + "atay": 39518, + "atc": 28383, + "atch": 15938, + "atd": 33890, + "ate": 992, + "ate": 671, + "ateam": 42784, + "ateau": 16359, + "atec": 37352, + "atech": 31306, + "ated": 14589, + "ated": 943, + "atedly": 24698, + "atee": 32839, + "ateful": 5419, + "atelier": 29932, + "ately": 3862, + "atem": 17116, + "aten": 47984, + "atene": 30405, + "ateneo": 33904, + "ater": 18597, + "ater": 5877, + "ateral": 18819, + "aters": 22364, + "ates": 20370, + "ates": 1150, + "atest": 1705, + "ateur": 43677, + "atf": 28013, + "ath": 1374, + "ath": 1649, + "atha": 22530, + "atham": 23383, + "athan": 41260, + "athan": 26701, + "athe": 8963, + "athed": 47402, + "atheism": 25823, + "atheist": 22571, + "atheists": 47155, + "athen": 29112, + "athena": 30705, + "athens": 13524, + "ather": 6171, + "ather": 1817, + "athered": 34091, + "athers": 17266, + "athi": 28918, + "athing": 36069, + "athle": 3310, + "athlete": 7388, + "athletes": 7125, + "athletic": 33182, + "athletic": 9028, + "athletics": 7019, + "athlon": 14670, + "athome": 38217, + "athon": 4951, + "aths": 28835, + "athy": 34488, + "athy": 13183, + "ati": 591, + "ati": 6751, + "atia": 10908, + "atic": 20248, + "atic": 2647, + "atically": 13558, + "atics": 15666, + "atie": 30137, + "aties": 40060, + "atif": 41592, + "atiku": 37912, + "atile": 15474, + "atility": 23373, + "atime": 20158, + "atin": 36903, + "atin": 23047, + "atine": 39741, + "ating": 25653, + "ating": 1074, + "atio": 35401, + "ation": 2265, + "ation": 656, + "ational": 14205, + "ational": 3108, + "ationals": 44593, + "ationday": 20082, + "ations": 986, + "atis": 45456, + "atis": 41142, + "atism": 45638, + "ative": 18422, + "ative": 1648, + "atively": 11929, + "atives": 5629, + "ativity": 25166, + "atkins": 27734, + "atkinson": 28908, + "atl": 5411, + "atl": 10629, + "atla": 36043, + "atlan": 6818, + "atlanta": 39964, + "atlanta": 6839, + "atlantic": 28804, + "atlantic": 8189, + "atlantis": 27790, + "atlas": 15775, + "atle": 21170, + "atleast": 33231, + "atleti": 46067, + "atletico": 27501, + "atm": 14127, + "atmo": 8271, + "atmosphere": 10506, + "atmospheric": 24223, + "ato": 7987, + "ato": 4364, + "atoday": 26799, + "atom": 22418, + "atom": 24031, + "atomic": 18996, + "atoms": 41434, + "aton": 31525, + "aton": 10012, + "atop": 17455, + "ator": 10748, + "ator": 1962, + "atore": 28314, + "atorial": 32040, + "atories": 35678, + "atorium": 41306, + "ators": 3389, + "atory": 5920, + "atos": 41643, + "atour": 42967, + "atown": 24000, + "atp": 38105, + "atp": 19817, + "atr": 43247, + "atra": 20227, + "atra": 14401, + "atravel": 36981, + "atre": 46057, + "atri": 13882, + "atri": 38889, + "atric": 32238, + "atric": 13652, + "atrics": 36253, + "atrist": 41879, + "atrium": 29725, + "atrix": 43003, + "atro": 18724, + "atroc": 36197, + "atrocities": 37551, + "atry": 28334, + "ats": 46890, + "ats": 1032, + "atsu": 26531, + "att": 1017, + "att": 7103, + "atta": 7282, + "atta": 9146, + "attach": 43676, + "attach": 35653, + "attached": 11038, + "attachment": 28638, + "attack": 24971, + "attack": 3815, + "attacked": 12366, + "attacker": 39288, + "attackers": 47701, + "attacking": 16813, + "attacks": 7321, + "attain": 46459, + "attar": 37110, + "attemp": 4933, + "attempt": 7409, + "attempted": 17408, + "attempting": 18195, + "attempts": 15610, + "atten": 4084, + "atten": 32408, + "attenborough": 45860, + "attend": 9841, + "attend": 5802, + "attendance": 11928, + "attendant": 35424, + "attended": 8140, + "attendees": 14648, + "attending": 6696, + "attends": 22248, + "attention": 4936, + "atters": 30675, + "atthe": 21489, + "atti": 49265, + "atti": 16235, + "attic": 26766, + "attire": 21222, + "attitude": 10648, + "attitudes": 27611, + "attle": 14685, + "attle": 5030, + "attn": 25677, + "attor": 8856, + "attorney": 10372, + "attorneys": 29113, + "attrac": 7154, + "attract": 17010, + "attracted": 28493, + "attracting": 31909, + "attraction": 16807, + "attractions": 22307, + "attractive": 12231, + "attracts": 31024, + "attribu": 24624, + "attributed": 37520, + "attributes": 40763, + "attu": 43173, + "atty": 36705, + "atu": 15191, + "atu": 24295, + "atuesday": 34841, + "atul": 1744, + "atul": 43948, + "atum": 48295, + "atur": 14986, + "aturday": 29027, + "ature": 25305, + "ature": 4490, + "atures": 7358, + "atus": 14795, + "atv": 19598, + "atwood": 45680, + "atwork": 39680, + "atx": 34849, + "atx": 20136, + "aty": 40974, + "aty": 33107, + "atz": 30432, + "au": 627, + "au": 2566, + "aua": 45906, + "aub": 45938, + "auberg": 49382, + "aubre": 25899, + "aubrey": 34110, + "auburn": 42269, + "auburn": 14534, + "auc": 24489, + "auch": 43024, + "auck": 14588, + "auckland": 16072, + "auction": 48160, + "auction": 6462, + "auctioned": 41073, + "auctions": 24876, + "aucus": 47374, + "aud": 16107, + "aud": 19711, + "audi": 5091, + "audi": 10277, + "audible": 33227, + "audience": 6863, + "audiences": 22328, + "audio": 13792, + "audio": 5766, + "audiobook": 26282, + "audit": 12505, + "audit": 17625, + "auditi": 37377, + "audition": 18673, + "auditions": 21134, + "auditor": 38050, + "auditorium": 15063, + "audre": 16075, + "audrey": 18812, + "audu": 27934, + "audubon": 40275, + "auer": 33460, + "auf": 28924, + "aug": 15397, + "aug": 5720, + "auga": 22797, + "augh": 28310, + "augh": 14005, + "augmente": 48356, + "augmented": 32708, + "augu": 2610, + "august": 24353, + "august": 3171, + "augusta": 26144, + "augustine": 27397, + "augustus": 36835, + "auk": 19058, + "aul": 20695, + "aul": 34391, + "ault": 47253, + "ault": 10219, + "aun": 10608, + "aun": 38721, + "aunt": 12685, + "auntie": 23783, + "aunty": 29528, + "aur": 8156, + "aur": 17282, + "aura": 27728, + "aure": 36010, + "aureli": 35980, + "auror": 30067, + "aurora": 13500, + "aus": 10624, + "aus": 7630, + "ausa": 37384, + "ausbiz": 46543, + "ausch": 33926, + "auschwitz": 36523, + "ausopen": 27831, + "ausp": 35039, + "auspicious": 38806, + "auspol": 8241, + "aussi": 19762, + "aussie": 40230, + "aussie": 14424, + "aussies": 35727, + "aust": 26301, + "aust": 25418, + "austen": 29885, + "auster": 25030, + "austerity": 26982, + "austin": 12845, + "austin": 5125, + "austinmahone": 34678, + "austr": 2518, + "australi": 13798, + "australia": 3444, + "australian": 23630, + "australian": 6258, + "australians": 31488, + "austri": 8946, + "austria": 11960, + "austrian": 20638, + "ausv": 35206, + "ausvotes": 34661, + "aut": 12343, + "auth": 2381, + "auth": 38247, + "authent": 18158, + "authentic": 41266, + "authentic": 10369, + "authentication": 39746, + "authenticity": 35734, + "autho": 34552, + "author": 14447, + "author": 4358, + "authored": 37928, + "authori": 19207, + "authorities": 12729, + "authority": 10524, + "authorization": 48854, + "authorized": 28463, + "authors": 10765, + "auti": 8200, + "autism": 36256, + "autism": 11244, + "autisma": 43324, + "autistic": 29360, + "auto": 3917, + "auto": 5668, + "autobiography": 31509, + "autodesk": 40415, + "autograph": 10657, + "autograph": 13722, + "autographed": 16309, + "autographs": 17376, + "autoimmune": 45509, + "autom": 4114, + "automate": 43203, + "automated": 19022, + "automatic": 12126, + "automatically": 20725, + "automation": 12328, + "automobi": 44813, + "automobile": 25258, + "automotive": 12607, + "auton": 13100, + "autonews": 43975, + "autonom": 17870, + "autonomous": 20722, + "autonomy": 39223, + "autopsy": 44436, + "autos": 31118, + "autoshow": 46788, + "auts": 21140, + "autu": 5445, + "autum": 31783, + "autumn": 28940, + "autumn": 6110, + "autumnal": 35481, + "aux": 18154, + "aux": 8909, + "auxiliary": 37778, + "av": 722, + "av": 8484, + "ava": 12385, + "avage": 31505, + "avail": 1651, + "avail": 16686, + "availability": 17551, + "available": 1685, + "aval": 18012, + "avalan": 23970, + "avalanche": 25815, + "avalley": 45082, + "avalon": 30436, + "avan": 27971, + "avan": 33351, + "avant": 24305, + "avar": 33423, + "avatar": 18219, + "ave": 10062, + "ave": 4860, + "avec": 25828, + "aved": 47918, + "avel": 46817, + "avel": 48088, + "aven": 5963, + "aven": 32971, + "aveng": 21935, + "avenger": 24799, + "avengers": 39413, + "avengers": 12016, + "avengersendgame": 49342, + "avent": 22700, + "avenue": 7042, + "aver": 8788, + "aver": 11403, + "average": 6254, + "averaged": 37310, + "averages": 48982, + "averaging": 35266, + "avery": 20313, + "aves": 14023, + "avfc": 21304, + "avg": 19452, + "avgeek": 11114, + "avi": 3324, + "avi": 11297, + "avia": 38710, + "avian": 24115, + "aviation": 27717, + "aviation": 7617, + "aviator": 38921, + "aviators": 48011, + "avici": 46192, + "avicii": 49158, + "avid": 19118, + "avier": 14598, + "avila": 45339, + "aville": 40689, + "avin": 46204, + "avis": 45163, + "avis": 19765, + "aviv": 22130, + "aviva": 47122, + "aviz": 27607, + "avl": 44749, + "avo": 4496, + "avo": 32400, + "avoc": 12291, + "avocado": 14135, + "avocados": 48911, + "avoi": 16797, + "avoid": 30448, + "avoid": 5983, + "avoidance": 47983, + "avoided": 32103, + "avoiding": 22086, + "avoids": 48220, + "avon": 22790, + "avon": 17348, + "avril": 37763, + "avs": 31896, + "avut": 44472, + "avy": 29973, + "aw": 808, + "aw": 5557, + "awa": 4820, + "awa": 6872, + "await": 20769, + "awaited": 20092, + "awaiting": 14872, + "awaits": 15635, + "awak": 9776, + "awak": 41387, + "awake": 14695, + "awaken": 35412, + "awakening": 17017, + "awakens": 23191, + "awal": 42447, + "awal": 35090, + "awan": 48869, + "awan": 20420, + "awar": 5745, + "award": 36310, + "award": 2047, + "awarded": 7368, + "awarding": 37089, + "awards": 34528, + "awards": 2320, + "aware": 4427, + "aware": 7196, + "awareness": 19217, + "awareness": 4823, + "awarenessmonth": 34278, + "awarenessweek": 35294, + "away": 21088, + "away": 1520, + "aways": 12782, + "awaz": 18586, + "awd": 34846, + "awe": 1693, + "awe": 14106, + "aweather": 42142, + "aweather": 28681, + "awec": 38916, + "aweed": 29724, + "awesom": 16727, + "awesome": 30390, + "awesome": 1848, + "awesomeness": 22430, + "awful": 13617, + "awg": 46350, + "awgs": 35275, + "awh": 39566, + "awhile": 19171, + "awi": 15167, + "awil": 47271, + "awilliams": 42163, + "awk": 8888, + "awk": 40943, + "awkward": 42337, + "awkward": 10304, + "awn": 46222, + "awp": 43300, + "aws": 19658, + "awsome": 47196, + "awson": 36286, + "aww": 11568, + "awww": 15634, + "awwww": 26460, + "awx": 28385, + "ax": 3165, + "ax": 9203, + "axe": 19861, + "axel": 47889, + "axel": 32131, + "axes": 45970, + "axi": 30672, + "axial": 46550, + "axis": 19614, + "axle": 39003, + "axx": 47411, + "ay": 658, + "ay": 551, + "aya": 5917, + "ayala": 39827, + "ayama": 41194, + "ayan": 37781, + "ayan": 16269, + "ayana": 37400, + "ayas": 40904, + "ayat": 44902, + "ayat": 35720, + "aye": 21661, + "aye": 12446, + "ayer": 24852, + "ayers": 42783, + "ayesha": 46570, + "ayi": 33025, + "ayles": 44706, + "ayne": 35669, + "ayo": 21929, + "ayo": 18708, + "ayr": 23002, + "ayr": 36473, + "ayrshire": 32687, + "ays": 785, + "ayu": 40769, + "ayurve": 27185, + "ayurveda": 38986, + "ayush": 44831, + "ayy": 32514, + "ayyy": 41052, + "az": 854, + "az": 5468, + "aza": 22883, + "azad": 37838, + "azalea": 34087, + "azam": 34727, + "azar": 27911, + "azcardinals": 48846, + "aze": 41157, + "aze": 28485, + "azer": 19169, + "azerbai": 20649, + "azerbaijan": 23888, + "azhar": 47019, + "azi": 23914, + "azi": 18452, + "azine": 29140, + "azione": 48335, + "aziz": 41205, + "aziz": 29630, + "azo": 41227, + "azon": 36854, + "azores": 42826, + "azte": 33270, + "aztec": 34749, + "aztecs": 49387, + "azu": 27701, + "azu": 46963, + "azul": 39807, + "azure": 18514, + "azwx": 30262, + "azy": 24783, + "azz": 9817, + "azz": 26453, + "azza": 22255, + "azzi": 18758, + "azzle": 39974, + "azzo": 26779, + "azzur": 37055, + "azzy": 44534, + "añ": 23716, + "años": 41634, + "b": 65, + "b": 321, + "ba": 932, + "ba": 1792, + "baa": 33004, + "baahu": 34145, + "baahubali": 38663, + "bab": 1202, + "bab": 19039, + "baba": 12631, + "babe": 31177, + "babe": 7716, + "babes": 14253, + "babies": 6635, + "babs": 36217, + "babu": 21623, + "baby": 7268, + "baby": 1794, + "babygirl": 39554, + "babylon": 31928, + "babymetal": 45013, + "babys": 22266, + "babysitting": 34186, + "bac": 2791, + "bac": 25867, + "bacca": 40708, + "bach": 11773, + "bach": 8758, + "bachchan": 17690, + "bachel": 11283, + "bachelor": 45508, + "bachelor": 16766, + "bachelore": 26009, + "bachelorette": 29093, + "bacher": 49211, + "back": 1663, + "back": 893, + "backbone": 35635, + "backdrop": 20802, + "backed": 12721, + "backer": 22183, + "backers": 32934, + "background": 5994, + "backgrounds": 28215, + "backing": 14935, + "backlash": 31519, + "backpack": 14894, + "backpacking": 29524, + "backpacks": 37063, + "backs": 7562, + "backseat": 48812, + "backstage": 9236, + "backstreet": 46337, + "backthe": 26127, + "backto": 18703, + "backtoschool": 28730, + "backtothe": 43059, + "backup": 14415, + "backward": 37964, + "backwards": 21283, + "backyard": 12608, + "bacon": 48666, + "bacon": 7104, + "bacter": 11814, + "bacteria": 16556, + "bacterial": 26101, + "bad": 2564, + "bad": 2103, + "bada": 37475, + "badan": 39149, + "badass": 11616, + "baddest": 38112, + "baden": 36690, + "bader": 42254, + "badge": 11301, + "badger": 32686, + "badger": 22363, + "badgers": 22521, + "badges": 20084, + "badlands": 43192, + "badly": 13684, + "badminton": 21412, + "badoo": 33192, + "bados": 25755, + "bae": 32834, + "bae": 6855, + "baek": 18557, + "baek": 32702, + "baekhyun": 21572, + "baes": 46332, + "baf": 13616, + "baff": 35693, + "bafta": 29199, + "bag": 3408, + "bag": 3365, + "bage": 9698, + "bagel": 28777, + "bagels": 37489, + "baggage": 31402, + "bagged": 34047, + "bagh": 21659, + "bagh": 37271, + "baghdad": 30763, + "bago": 25105, + "bags": 6136, + "bagu": 27749, + "baguette": 45334, + "bah": 8372, + "bah": 16685, + "baha": 29592, + "baham": 43718, + "bahamas": 21224, + "bahan": 28704, + "bahn": 33452, + "bahrain": 12503, + "bai": 6232, + "bai": 23339, + "bail": 22933, + "bail": 16986, + "bailey": 27535, + "bailey": 10180, + "bain": 40784, + "bain": 21593, + "bair": 29059, + "baird": 40474, + "bait": 18010, + "baj": 20713, + "baja": 40418, + "baja": 28374, + "bajo": 32619, + "bak": 4059, + "bak": 23742, + "bakar": 41414, + "bake": 20736, + "bake": 11878, + "baked": 10364, + "baker": 27303, + "baker": 7743, + "bakers": 35293, + "bakers": 40231, + "bakersfield": 40149, + "bakery": 13377, + "bakes": 43057, + "bakhta": 44912, + "bakhtawar": 46937, + "bakhtawarbz": 47118, + "baking": 11467, + "baku": 46417, + "baku": 31852, + "bal": 1398, + "bal": 2282, + "bala": 20291, + "balaji": 48694, + "balance": 42894, + "balance": 6827, + "balanced": 15273, + "balances": 37733, + "balancing": 23541, + "balboa": 45098, + "balcony": 16169, + "bald": 11153, + "bald": 14875, + "baldhead": 29191, + "baldwin": 16242, + "bale": 48573, + "bale": 18873, + "bales": 42879, + "bali": 16432, + "bali": 10900, + "balkan": 48499, + "balkans": 42987, + "ball": 3807, + "ball": 1069, + "balla": 42246, + "ballad": 33472, + "ballarat": 46645, + "ballard": 31750, + "baller": 49194, + "baller": 25655, + "ballerina": 34962, + "ballers": 34173, + "ballet": 10703, + "balli": 29406, + "ballin": 47444, + "ballin": 33057, + "balling": 47588, + "ballis": 46675, + "ballistic": 36667, + "ballo": 8871, + "ballon": 36469, + "balloon": 13634, + "balloons": 18130, + "ballot": 14185, + "ballots": 35051, + "ballpark": 26080, + "ballroom": 15493, + "balls": 6927, + "bally": 17275, + "bally": 29451, + "balm": 24962, + "balmain": 45929, + "balo": 12395, + "baloch": 23173, + "balochistan": 21918, + "balot": 44615, + "balotelli": 45721, + "bals": 44154, + "balsam": 29121, + "balsamic": 32654, + "balt": 24441, + "balti": 8400, + "baltic": 23817, + "baltimore": 38502, + "baltimore": 9582, + "balu": 38093, + "bam": 6383, + "bam": 12686, + "bama": 20021, + "bambam": 34538, + "bambi": 46596, + "bamboo": 49322, + "bamboo": 16748, + "ban": 1159, + "ban": 2777, + "bana": 18428, + "banan": 38410, + "banana": 8922, + "bananas": 19121, + "banc": 39252, + "band": 4613, + "band": 1963, + "banda": 31865, + "bandai": 42054, + "bandana": 39265, + "bandcamp": 32229, + "banded": 37804, + "bandic": 44400, + "bandit": 27639, + "bandits": 33940, + "bandra": 41393, + "bands": 7858, + "bandung": 29512, + "bandwagon": 36432, + "bandwidth": 48859, + "bane": 9597, + "banerjee": 48102, + "banff": 29565, + "bang": 3524, + "bang": 6907, + "bangalore": 14697, + "banger": 24872, + "bangers": 38311, + "banging": 33033, + "bangkok": 12351, + "bangla": 10339, + "bangla": 45928, + "bangladesh": 11245, + "bangle": 37634, + "bangor": 31190, + "bangs": 27992, + "bangtan": 39131, + "bani": 19732, + "banjo": 27014, + "bank": 7061, + "bank": 2723, + "banker": 27316, + "bankers": 30599, + "bankholiday": 48868, + "banking": 9566, + "bankno": 49201, + "bankof": 39120, + "bankrup": 21904, + "bankrupt": 23077, + "bankrupt": 37288, + "bankruptcy": 23978, + "banks": 6367, + "banksy": 33350, + "bann": 5304, + "banned": 12012, + "banner": 9185, + "banners": 23145, + "banning": 26246, + "bannon": 29710, + "bano": 42947, + "banquet": 14254, + "bans": 15146, + "bant": 23301, + "bant": 46657, + "banter": 25535, + "bao": 39487, + "bao": 20408, + "bap": 7415, + "bap": 23754, + "bapti": 15477, + "baptism": 36765, + "baptist": 13274, + "baptiste": 45770, + "baptized": 45400, + "bar": 1040, + "bar": 2411, + "bara": 19345, + "barack": 18670, + "barack": 22481, + "barackobama": 18885, + "barak": 47419, + "barak": 16260, + "barang": 38446, + "barb": 24173, + "barb": 20913, + "barbados": 26992, + "barbar": 7906, + "barbara": 10937, + "barbarian": 42530, + "barbe": 18372, + "barbecue": 23501, + "barber": 19517, + "barber": 12296, + "barbershop": 37707, + "barbican": 47668, + "barbie": 16923, + "barca": 22942, + "barcel": 6134, + "barcelon": 47820, + "barcelona": 6412, + "barclay": 48877, + "barclay": 45276, + "barclays": 29538, + "bard": 39812, + "bard": 17514, + "bare": 16023, + "bare": 14318, + "barefoot": 30327, + "barely": 12684, + "bargain": 15076, + "bargaining": 41282, + "bargains": 34126, + "barge": 28272, + "bari": 21428, + "bari": 28016, + "barista": 31078, + "barit": 46300, + "bark": 32333, + "bark": 16560, + "barker": 20618, + "barking": 32676, + "barkley": 30266, + "barley": 22607, + "barlow": 25483, + "barn": 10490, + "barn": 10942, + "barnab": 43272, + "barnard": 44332, + "barne": 42527, + "barnes": 13102, + "barnet": 41943, + "barnett": 27650, + "barney": 24563, + "barns": 43759, + "barnsley": 37109, + "barnsley": 32153, + "baro": 17422, + "baro": 30817, + "baron": 48371, + "baron": 19349, + "baroness": 45056, + "barons": 45596, + "baroque": 25065, + "barr": 39473, + "barr": 22492, + "barra": 28442, + "barra": 33542, + "barrabest": 41376, + "barrac": 40835, + "barracks": 35822, + "barre": 13840, + "barre": 38257, + "barred": 33261, + "barrel": 11703, + "barrels": 22059, + "barren": 46743, + "barrett": 18701, + "barri": 8660, + "barric": 29189, + "barrie": 27090, + "barrier": 15706, + "barriers": 16321, + "barrington": 48954, + "barron": 34881, + "barrow": 42568, + "barrow": 24983, + "barry": 18028, + "barry": 8461, + "barrymore": 49310, + "bars": 8616, + "barstool": 44826, + "bart": 14838, + "bart": 12870, + "bartender": 33498, + "barthol": 48989, + "bartlett": 37130, + "bartol": 38209, + "barton": 48853, + "barton": 20345, + "baru": 16356, + "barun": 38278, + "barunsob": 41398, + "barça": 32788, + "bas": 1244, + "bas": 11420, + "basa": 26142, + "base": 2776, + "base": 4579, + "baseball": 23479, + "baseball": 3470, + "based": 35196, + "based": 2812, + "basel": 42803, + "basel": 20903, + "baseline": 40648, + "baseman": 45910, + "basement": 14792, + "bases": 20496, + "bash": 20462, + "bash": 10972, + "bashing": 37545, + "bashir": 42799, + "basic": 40452, + "basic": 7696, + "basically": 9125, + "basics": 15825, + "basil": 19225, + "basil": 14936, + "basilica": 27879, + "basin": 16117, + "basing": 47321, + "basis": 12278, + "baske": 3713, + "basket": 10338, + "basketball": 40023, + "basketball": 3835, + "baskets": 27787, + "basking": 39769, + "basque": 37175, + "bass": 22831, + "bass": 5992, + "bassett": 45992, + "bassist": 26496, + "bast": 28092, + "basti": 8559, + "bastille": 41874, + "bat": 2121, + "bat": 6575, + "bata": 39277, + "batb": 33962, + "batch": 9413, + "bate": 25034, + "bate": 28277, + "bateman": 41635, + "bates": 21727, + "batgirl": 46460, + "bath": 6064, + "bath": 5713, + "bathing": 20144, + "bathro": 21201, + "bathroom": 8470, + "bathrooms": 26434, + "baths": 19442, + "bathtub": 39942, + "bathurst": 36365, + "bati": 23362, + "bati": 37589, + "batman": 27811, + "batman": 7223, + "baton": 24331, + "bats": 14984, + "batsman": 35432, + "batt": 2407, + "batt": 48595, + "battalion": 20820, + "batter": 12654, + "batter": 31855, + "battered": 34375, + "batteries": 16666, + "battersea": 35839, + "battery": 7870, + "batting": 17401, + "battle": 7344, + "battle": 3528, + "battled": 37837, + "battlefield": 16055, + "battlefront": 42214, + "battleof": 47560, + "battles": 14213, + "battleship": 35165, + "battling": 17268, + "bau": 6055, + "bau": 34840, + "bauer": 22903, + "baugh": 41301, + "baum": 19840, + "bautista": 31881, + "bav": 21075, + "bavaria": 39977, + "bavarian": 44458, + "baw": 19808, + "bax": 21216, + "baxter": 26168, + "bay": 3631, + "bay": 2174, + "baya": 31573, + "bayan": 43895, + "bayarea": 28260, + "bayer": 48548, + "bayer": 29183, + "bayern": 14666, + "baylor": 21721, + "bayou": 33955, + "bays": 40156, + "baz": 10430, + "baz": 25268, + "bazaar": 20070, + "bazar": 49298, + "bb": 1174, + "bb": 3529, + "bba": 27762, + "bball": 15664, + "bbb": 33535, + "bbc": 5123, + "bbc": 5188, + "bbcc": 39052, + "bbce": 33818, + "bbcnews": 29370, + "bbcone": 28259, + "bbcqt": 37343, + "bbcr": 35802, + "bbcra": 17115, + "bbcradi": 49213, + "bbcradio": 22876, + "bbcsport": 49321, + "bbcspringwatch": 37358, + "bbctwo": 40395, + "bbcworld": 47340, + "bbe": 37559, + "bbed": 9077, + "bber": 7933, + "bbers": 36494, + "bbhutto": 28085, + "bbhuttozardari": 28135, + "bbi": 37047, + "bbin": 38553, + "bbing": 9787, + "bbins": 42504, + "bbl": 21961, + "bble": 26570, + "bble": 5924, + "bbled": 37626, + "bbles": 18093, + "bblo": 21231, + "bbloggers": 26614, + "bbly": 43031, + "bbm": 25382, + "bbmas": 22145, + "bbn": 28427, + "bbnaija": 20984, + "bbo": 21892, + "bbq": 41270, + "bbq": 6726, + "bbs": 10002, + "bbuk": 45978, + "bby": 11166, + "bby": 3810, + "bc": 3116, + "bc": 2162, + "bcc": 41509, + "bcci": 36138, + "bce": 36510, + "bcfc": 34359, + "bch": 36684, + "bcn": 25766, + "bcoz": 46373, + "bcpoli": 24389, + "bcs": 24909, + "bcu": 28299, + "bd": 24358, + "bd": 11165, + "bday": 33022, + "bday": 5781, + "bdg": 48418, + "bds": 26732, + "be": 571, + "be": 655, + "bea": 21886, + "bea": 20925, + "beach": 6068, + "beach": 2117, + "beaches": 12183, + "beachlife": 43824, + "beacon": 36883, + "beacon": 18858, + "beacons": 39395, + "bead": 31621, + "bead": 23557, + "beaded": 26661, + "beads": 14099, + "beagle": 30044, + "beak": 36498, + "beal": 45769, + "beale": 39717, + "beam": 35339, + "beam": 13663, + "beams": 23993, + "bean": 16471, + "bean": 5328, + "beanie": 21534, + "beans": 8302, + "bear": 6375, + "bear": 4298, + "bearable": 38608, + "bearcats": 33242, + "beard": 26157, + "beard": 9052, + "bearded": 28459, + "beardown": 43687, + "beards": 33020, + "bearer": 30686, + "bearers": 47986, + "bearing": 18370, + "bearings": 42083, + "bearish": 34829, + "bears": 6182, + "beasley": 43349, + "beast": 20847, + "beast": 6957, + "beastmode": 43076, + "beasts": 21771, + "beat": 3774, + "beat": 3018, + "beaten": 10864, + "beater": 41974, + "beati": 44386, + "beating": 10078, + "beatles": 11961, + "beatport": 31421, + "beatrice": 36922, + "beats": 6289, + "beatthe": 40550, + "beatty": 39903, + "beatz": 33363, + "beau": 1016, + "beau": 14298, + "beaufort": 45423, + "beaumont": 32857, + "beaut": 24559, + "beauti": 1154, + "beauties": 14874, + "beautiful": 13662, + "beautiful": 1215, + "beautifully": 10627, + "beauty": 12881, + "beauty": 2488, + "beav": 23260, + "beaver": 26432, + "beaver": 22874, + "beavers": 34513, + "beavs": 43909, + "bebe": 23331, + "bec": 6899, + "bec": 10773, + "became": 5464, + "because": 32714, + "because": 1631, + "becca": 27088, + "bech": 44055, + "beck": 8256, + "beck": 10396, + "becker": 26918, + "beckett": 27249, + "beckham": 18764, + "becky": 32406, + "becky": 18921, + "become": 2989, + "becomes": 6766, + "becoming": 6208, + "bed": 4152, + "bed": 2722, + "bedding": 31761, + "bedford": 20779, + "bedi": 39181, + "bedro": 18415, + "bedroom": 8411, + "bedrooms": 23996, + "beds": 13914, + "bedside": 47473, + "bedtime": 22115, + "bee": 6097, + "bee": 5028, + "beech": 32733, + "beech": 27596, + "beef": 21703, + "beef": 6529, + "beek": 37915, + "been": 33986, + "been": 1025, + "beep": 33432, + "beer": 8885, + "beer": 2544, + "beers": 10907, + "bees": 36249, + "bees": 9100, + "beet": 12582, + "beet": 28621, + "beethoven": 23656, + "beetle": 16534, + "beetles": 36317, + "beetro": 29251, + "beetroot": 31638, + "beets": 36087, + "before": 20898, + "before": 1348, + "beg": 2219, + "beg": 22401, + "began": 8636, + "begg": 36769, + "begging": 25371, + "begin": 19197, + "begin": 4947, + "beginner": 24351, + "beginners": 21930, + "beginning": 5791, + "beginnings": 22581, + "begins": 4635, + "begs": 43531, + "begun": 10514, + "beh": 21971, + "beh": 41612, + "beha": 5737, + "behalf": 11470, + "behave": 28825, + "behaved": 41617, + "behavi": 6149, + "behaving": 40745, + "behavior": 10461, + "behavioral": 25135, + "behaviors": 37741, + "behaviour": 14655, + "behavioural": 46019, + "behe": 42329, + "behin": 2335, + "behind": 2403, + "behindthe": 21104, + "behindthescenes": 26253, + "behold": 15929, + "bei": 38991, + "bei": 23227, + "beige": 26677, + "beij": 11547, + "beijing": 11796, + "bein": 39117, + "bein": 24168, + "being": 13481, + "being": 1265, + "beings": 17998, + "beingsalmankhan": 19637, + "beir": 20176, + "beirut": 22352, + "beit": 26963, + "bek": 46846, + "bek": 26135, + "bekind": 46691, + "bel": 1308, + "bel": 3543, + "bela": 30555, + "belarus": 30849, + "belated": 20256, + "belfast": 35100, + "belfast": 10015, + "belgi": 7001, + "belgian": 15008, + "belgium": 10239, + "belgrade": 30502, + "beli": 1859, + "beli": 45842, + "belichick": 46132, + "belie": 20854, + "beliebers": 27714, + "belief": 14802, + "beliefs": 20575, + "believ": 4972, + "believe": 15819, + "believe": 2649, + "believed": 13380, + "believein": 24294, + "believeinfilm": 37375, + "believer": 26057, + "believers": 28434, + "believes": 12017, + "believing": 19551, + "belinda": 44415, + "belize": 27990, + "bell": 5417, + "bell": 3718, + "bella": 18282, + "bella": 10418, + "bellamy": 34461, + "bellator": 31985, + "belle": 13587, + "belle": 11496, + "belles": 40678, + "bellevue": 32715, + "belli": 43335, + "bellletstalk": 42695, + "bello": 21954, + "bells": 12811, + "bellum": 35493, + "belly": 25901, + "belly": 10404, + "belmont": 25612, + "belo": 8379, + "belo": 41649, + "belong": 16453, + "belong": 13596, + "belonged": 39893, + "belonging": 28193, + "belongs": 14395, + "beloved": 9363, + "below": 3788, + "bels": 43127, + "belt": 36416, + "belt": 7373, + "belts": 21888, + "belvedere": 48003, + "ben": 1465, + "ben": 3518, + "bena": 46249, + "bench": 17770, + "bench": 8771, + "benches": 36349, + "benchmark": 31775, + "bend": 22100, + "bend": 13332, + "bender": 22551, + "bendigo": 48197, + "bending": 33897, + "bene": 12091, + "bene": 47151, + "beneath": 16850, + "bened": 13216, + "benedic": 24402, + "benedict": 47896, + "benedict": 18027, + "benef": 3260, + "benefici": 38593, + "beneficial": 24660, + "beneficiaries": 42160, + "benefit": 6399, + "benefited": 48266, + "benefiting": 29474, + "benefits": 5465, + "benefitting": 47222, + "benevol": 47060, + "benfica": 33873, + "beng": 6962, + "bengal": 17404, + "bengal": 16374, + "bengali": 33774, + "bengals": 23737, + "bengaluru": 21707, + "benghazi": 25967, + "benin": 40296, + "benitez": 46711, + "benjam": 10550, + "benjamin": 38647, + "benjamin": 12131, + "benji": 43548, + "benn": 39097, + "bennet": 48536, + "bennett": 12186, + "benny": 42369, + "benny": 20595, + "beno": 35268, + "benoit": 44373, + "benson": 19578, + "bent": 9809, + "bent": 18369, + "bentley": 16859, + "benton": 30812, + "benz": 27937, + "benz": 13470, + "ber": 867, + "ber": 1516, + "bera": 32802, + "bere": 17458, + "bered": 9193, + "beren": 33654, + "beret": 41658, + "berg": 12022, + "berg": 3294, + "bergen": 22918, + "berger": 35933, + "berger": 13873, + "bergh": 35120, + "bergman": 42597, + "bergs": 43592, + "berk": 15633, + "berke": 14639, + "berkeley": 46049, + "berkeley": 16667, + "berkshire": 27300, + "berlin": 23532, + "berlin": 5891, + "berman": 21514, + "bermu": 21032, + "bermuda": 24644, + "bern": 9195, + "bern": 18382, + "bernade": 46242, + "bernar": 11962, + "bernard": 14579, + "bernardino": 35328, + "bernardo": 27137, + "bernardo": 28696, + "bernardokath": 29081, + "bernat": 40578, + "berni": 18798, + "bernie": 40093, + "bernie": 10503, + "berniesanders": 23745, + "bernstein": 33936, + "berra": 15089, + "berries": 8319, + "berry": 15334, + "berry": 3488, + "bers": 6408, + "berser": 39037, + "bert": 17340, + "bert": 2358, + "berta": 45187, + "berth": 28317, + "bertie": 47182, + "berto": 34073, + "bertr": 36962, + "bertrand": 41594, + "berts": 30205, + "berty": 35973, + "berwick": 40407, + "bery": 11411, + "bes": 26911, + "bes": 3635, + "beside": 13519, + "besides": 17596, + "bespoke": 15612, + "bess": 43791, + "best": 3419, + "best": 949, + "bestbuy": 29749, + "bestest": 31199, + "bestfan": 23880, + "bestfanarmy": 24590, + "bestfriend": 29832, + "bestfriend": 11856, + "bestfriends": 23555, + "besti": 35210, + "bestie": 17188, + "besties": 27346, + "besto": 28615, + "bestof": 27892, + "bestof": 39533, + "bestseller": 25841, + "bestselling": 28632, + "bet": 1051, + "bet": 4430, + "beta": 43188, + "beta": 9505, + "betes": 10255, + "beth": 9993, + "beth": 4892, + "bethan": 18781, + "bethany": 39130, + "bethany": 27952, + "bethe": 12624, + "bethel": 33410, + "bethesda": 32527, + "bethle": 30760, + "bethlehem": 31827, + "betis": 45590, + "beto": 33721, + "betra": 18436, + "betrayal": 33171, + "betrayed": 35692, + "bets": 17107, + "betsy": 28946, + "bett": 17715, + "bett": 20489, + "betta": 36387, + "bette": 35855, + "better": 10320, + "better": 1539, + "bettertogether": 47392, + "betting": 14319, + "betts": 38637, + "betty": 36175, + "betty": 14350, + "between": 1957, + "beu": 38660, + "bev": 40324, + "bev": 30968, + "bever": 9924, + "beverage": 18694, + "beverages": 28521, + "beverley": 39165, + "beverly": 30906, + "beverly": 16728, + "beverlyhills": 45363, + "beware": 14532, + "bewithyou": 36787, + "bex": 18676, + "bex": 24748, + "bexhill": 49200, + "bey": 3234, + "bey": 6767, + "beyon": 11447, + "beyonce": 16632, + "beyoncé": 19219, + "beyond": 22246, + "beyond": 4432, + "bez": 28592, + "bez": 46764, + "bezos": 45000, + "bf": 19858, + "bf": 7990, + "bfc": 37183, + "bff": 11984, + "bffs": 31462, + "bfi": 34244, + "bg": 16674, + "bg": 11295, + "bgc": 47598, + "bgs": 47963, + "bgt": 40665, + "bh": 9930, + "bh": 13603, + "bha": 6144, + "bha": 33068, + "bhafc": 30779, + "bhagat": 49136, + "bhai": 48370, + "bhai": 20508, + "bhak": 34501, + "bham": 31874, + "bham": 23491, + "bhan": 27356, + "bhand": 48679, + "bhar": 9108, + "bharat": 27454, + "bharat": 17430, + "bharti": 46803, + "bhat": 23784, + "bhatt": 36143, + "bhav": 44950, + "bhi": 28943, + "bhi": 21955, + "bhk": 45070, + "bhm": 38741, + "bho": 19721, + "bhopal": 44573, + "bhp": 29776, + "bhs": 29195, + "bhu": 9172, + "bhuban": 38729, + "bhubanes": 41213, + "bhubaneswar": 45888, + "bhushan": 40884, + "bhutan": 32391, + "bhutto": 30153, + "bi": 717, + "bi": 3035, + "bia": 3841, + "biaf": 26961, + "biafra": 36355, + "bian": 19531, + "bian": 9027, + "bianca": 25854, + "bianchi": 45720, + "bians": 28141, + "bias": 11268, + "biased": 22178, + "bib": 44607, + "bib": 21022, + "bibi": 31182, + "bibl": 20912, + "bible": 26738, + "bible": 7583, + "bibli": 23465, + "biblical": 22841, + "biblio": 49131, + "bic": 5960, + "bic": 10675, + "bice": 35589, + "biceps": 46735, + "bick": 27238, + "bicy": 9247, + "bicycle": 11652, + "bicycles": 31326, + "bid": 21035, + "bid": 5553, + "bidding": 23237, + "bide": 45178, + "biden": 19451, + "bids": 16148, + "bie": 5561, + "bie": 4173, + "bieber": 48725, + "bieber": 7535, + "bien": 19176, + "bien": 25742, + "biennale": 33776, + "biennial": 36609, + "bier": 27226, + "bier": 23508, + "bies": 7867, + "big": 1915, + "big": 1205, + "bigbaldhead": 30325, + "bigbang": 41680, + "bigbang": 23734, + "bigdata": 9440, + "bige": 37762, + "bigfoot": 37095, + "bigg": 15312, + "bigg": 35399, + "biggboss": 27056, + "bigger": 6806, + "biggest": 19483, + "biggest": 3505, + "biggie": 28392, + "biggs": 46507, + "bigh": 18106, + "bighit": 35508, + "bigo": 14278, + "bigolive": 20735, + "bigotry": 37269, + "bigre": 36330, + "bih": 33471, + "bihar": 22849, + "bij": 42478, + "bik": 30306, + "bike": 11686, + "bike": 3701, + "biker": 36100, + "biker": 23449, + "bikers": 29468, + "bikes": 9227, + "bikin": 12638, + "biking": 19157, + "bikini": 14531, + "bil": 3092, + "bil": 20506, + "bilateral": 25599, + "bilbao": 34802, + "bild": 35512, + "bile": 25943, + "bilingual": 29623, + "bilities": 13582, + "bility": 4694, + "bill": 4444, + "bill": 2886, + "billboard": 10856, + "billboards": 34741, + "billed": 37558, + "billi": 7693, + "billie": 23990, + "billing": 31797, + "billings": 43615, + "billion": 14520, + "billion": 5729, + "billionaire": 19475, + "billionaires": 41590, + "billions": 20742, + "bills": 9810, + "billsmafia": 48845, + "billy": 15626, + "billy": 6814, + "bilt": 44770, + "bilt": 26654, + "bim": 46737, + "bim": 24775, + "bin": 4849, + "bin": 5346, + "binance": 43520, + "binary": 23497, + "bind": 44513, + "binder": 30541, + "binding": 21287, + "bine": 34848, + "bing": 24818, + "bing": 5665, + "binge": 22600, + "bingham": 43785, + "bingham": 47296, + "bingo": 18418, + "bino": 29172, + "bino": 24313, + "bins": 26934, + "bint": 43647, + "bio": 2830, + "bio": 5162, + "biode": 43502, + "biodegradable": 47740, + "biodiversity": 17428, + "biof": 45158, + "biographical": 49232, + "biography": 15423, + "biological": 18821, + "biologist": 35149, + "biology": 9796, + "biom": 13010, + "biomar": 44549, + "biomass": 36746, + "biome": 26218, + "biomed": 29280, + "biomedical": 33117, + "bionic": 46201, + "biop": 15009, + "biopic": 27942, + "bios": 48505, + "biotech": 22514, + "biotechnology": 40375, + "biotic": 33773, + "biotics": 41371, + "bious": 31845, + "bipartisan": 32266, + "bipolar": 37097, + "bique": 27809, + "bir": 921, + "bir": 16284, + "birch": 31569, + "birch": 22907, + "bird": 6908, + "bird": 3329, + "birdie": 29612, + "birdies": 45618, + "birding": 15851, + "birdman": 41915, + "birdphotography": 47999, + "birds": 41951, + "birds": 4337, + "birdwatching": 33497, + "birk": 48289, + "birken": 40661, + "birmin": 37482, + "birmingham": 38580, + "birmingham": 7720, + "birth": 1128, + "birth": 5397, + "birthday": 7381, + "birthday": 1166, + "birthdays": 17954, + "birthplace": 31429, + "biryani": 46489, + "bis": 5064, + "bis": 14461, + "biscu": 11532, + "biscuit": 18731, + "biscuits": 18248, + "bisexual": 36829, + "bish": 33690, + "bish": 31461, + "bishop": 20625, + "bishop": 8024, + "bishops": 31579, + "bison": 19741, + "bistro": 21770, + "bit": 3010, + "bit": 2010, + "bitcoin": 30848, + "bitcoin": 6366, + "bite": 41613, + "biting": 23016, + "bits": 7747, + "bitt": 39251, + "bius": 45525, + "bix": 46579, + "biz": 8212, + "biz": 5431, + "biza": 47013, + "bizar": 14886, + "bizarre": 16965, + "bizhour": 39462, + "bizitalk": 34929, + "bj": 4592, + "bj": 18229, + "bjj": 27437, + "bjor": 26525, + "bjp": 37264, + "bjp": 6178, + "bk": 15099, + "bk": 14083, + "bkk": 36433, + "bl": 833, + "bl": 9467, + "bla": 2205, + "bla": 19630, + "blac": 21008, + "black": 2025, + "black": 1449, + "blackand": 12809, + "blackandwhite": 23688, + "blackandwhite": 19506, + "blackandwhitephotography": 27544, + "blackberry": 16470, + "blackbird": 38526, + "blackburn": 23789, + "blackfish": 42193, + "blackfriday": 16445, + "blackgirl": 43591, + "blackhawks": 19203, + "blackhistory": 46982, + "blackhistorymonth": 20135, + "blacklist": 30295, + "blacklivesmatter": 23467, + "blackmail": 47295, + "blackops": 43519, + "blackout": 21733, + "blackpanther": 36592, + "blackpink": 20339, + "blackpool": 21031, + "blacks": 16351, + "blackwell": 42642, + "blad": 36635, + "bladder": 33593, + "blade": 10264, + "blades": 16893, + "blah": 29212, + "blaine": 32457, + "blair": 31824, + "blair": 14749, + "blake": 20229, + "blake": 9579, + "blame": 10695, + "blamed": 32906, + "blames": 27841, + "blaming": 29287, + "blan": 4609, + "blanc": 30936, + "blanc": 13301, + "blanca": 40670, + "blanchard": 40177, + "blanche": 34875, + "blanchett": 49378, + "blanco": 26801, + "bland": 44372, + "bland": 30799, + "blank": 15134, + "blanket": 12878, + "blankets": 24042, + "blanks": 48599, + "blasio": 35553, + "blasphe": 36622, + "blast": 46349, + "blast": 5964, + "blasted": 38976, + "blaster": 36341, + "blasting": 26178, + "blasts": 23067, + "blat": 22048, + "blatant": 41391, + "blatt": 39138, + "blau": 45307, + "blaz": 43413, + "blaze": 15497, + "blazer": 17606, + "blazers": 16984, + "blazing": 25267, + "bldg": 22981, + "ble": 1447, + "ble": 1059, + "bleach": 27034, + "bleak": 40355, + "bled": 12006, + "bleed": 23027, + "bleed": 24791, + "bleedblue": 39160, + "bleeding": 20311, + "bleeds": 47339, + "blen": 25651, + "blend": 10780, + "blended": 25813, + "blender": 25066, + "blending": 34307, + "blends": 28572, + "bler": 31305, + "bler": 11979, + "blers": 26930, + "bles": 5763, + "bless": 9640, + "bless": 5387, + "blessed": 4411, + "blessing": 10729, + "blessings": 11185, + "bleu": 30114, + "blew": 18176, + "bley": 43176, + "bli": 1450, + "bli": 28051, + "blin": 9678, + "blin": 5406, + "blind": 17248, + "blind": 8351, + "blinded": 49149, + "blindness": 38812, + "blinds": 32449, + "bling": 39764, + "bling": 7097, + "blink": 18976, + "bliss": 28531, + "bliss": 12893, + "blissful": 42145, + "blit": 39327, + "blitz": 42151, + "blitz": 17548, + "blizz": 13075, + "blizzard": 16111, + "blk": 42950, + "blk": 22872, + "blm": 30957, + "bln": 47348, + "blo": 1204, + "blo": 25505, + "blob": 49312, + "bloc": 30961, + "block": 4638, + "block": 4593, + "blockade": 33489, + "blockbuster": 19939, + "blockchain": 6653, + "blocked": 9106, + "blocker": 44767, + "blocking": 12652, + "blocks": 10113, + "blog": 16376, + "blog": 2589, + "blogg": 33282, + "blogged": 41380, + "blogger": 21352, + "blogger": 7806, + "bloggerrt": 48898, + "bloggers": 11627, + "blogging": 18090, + "blogpost": 41842, + "blogs": 16682, + "bloke": 24384, + "blom": 48996, + "blon": 7958, + "blond": 32426, + "blonde": 10711, + "blondes": 45130, + "blondie": 39236, + "bloo": 2373, + "blood": 9231, + "blood": 3590, + "blooded": 41946, + "bloodh": 48480, + "bloods": 39539, + "bloody": 38568, + "bloody": 9468, + "bloom": 7311, + "bloom": 10257, + "bloomberg": 43109, + "bloomberg": 21238, + "bloomfield": 40342, + "blooming": 45175, + "blooming": 19266, + "bloomington": 34731, + "blooms": 21439, + "bloss": 10017, + "blossom": 14472, + "blossoms": 21916, + "blot": 41710, + "blou": 44506, + "blouse": 23525, + "blow": 15230, + "blow": 10211, + "blower": 25832, + "blowing": 12087, + "blown": 11848, + "blowout": 34857, + "blows": 21063, + "blr": 47250, + "bls": 39458, + "blu": 1263, + "blu": 10273, + "blue": 3829, + "blue": 1746, + "bluebells": 47150, + "blueberries": 29551, + "blueberry": 18251, + "bluebird": 40747, + "bluec": 43194, + "bluef": 41174, + "bluegrass": 26241, + "bluejays": 18684, + "blueprint": 30594, + "blues": 17566, + "blues": 5159, + "blueslyrix": 47068, + "bluet": 13469, + "bluetooth": 14052, + "bluewave": 40025, + "bluff": 27232, + "bluffs": 48844, + "blum": 34818, + "blumen": 38714, + "blun": 34472, + "blunt": 19305, + "blur": 12102, + "blur": 27976, + "bluray": 36818, + "blurred": 38013, + "blurry": 21977, + "blush": 22889, + "blvd": 12578, + "bly": 20930, + "bly": 4426, + "bm": 4773, + "bm": 15916, + "bma": 42573, + "bmc": 27807, + "bmi": 40642, + "bmo": 39083, + "bms": 34074, + "bmw": 26637, + "bmw": 7869, + "bmx": 22535, + "bn": 10496, + "bn": 7992, + "bnb": 20010, + "bnha": 49336, + "bnp": 47910, + "bnw": 35903, + "bo": 647, + "bo": 2525, + "boa": 14732, + "boar": 7837, + "boar": 35473, + "board": 10419, + "board": 1972, + "boarded": 43052, + "boarder": 37414, + "boardgame": 47829, + "boardgames": 32646, + "boarding": 10086, + "boardroom": 47937, + "boards": 7963, + "boardwalk": 29043, + "boast": 44467, + "boasts": 30309, + "boat": 12426, + "boat": 4440, + "boath": 45461, + "boating": 21951, + "boats": 10080, + "boatsales": 46244, + "bob": 8444, + "bob": 4423, + "boba": 39948, + "bobb": 16891, + "bobble": 38796, + "bobblehead": 33451, + "bobby": 17847, + "bobby": 7816, + "bobc": 26153, + "bobcat": 37896, + "bobcats": 27568, + "bobo": 38939, + "bobs": 45533, + "boc": 27307, + "boc": 39042, + "boca": 26094, + "bock": 24961, + "bod": 17904, + "bod": 26340, + "boda": 42030, + "bode": 28452, + "bode": 40429, + "bodega": 47350, + "bodied": 36892, + "bodies": 9799, + "bodily": 49119, + "body": 7132, + "body": 1774, + "bodybuilding": 24538, + "bodyguard": 35565, + "boe": 23476, + "boe": 21773, + "boeh": 38002, + "boehner": 44599, + "boeing": 48135, + "boeing": 11857, + "boer": 44889, + "boer": 40768, + "bog": 23426, + "bog": 28318, + "bogo": 35769, + "bogota": 47059, + "bogus": 42907, + "boh": 43238, + "bohe": 40541, + "bohemi": 21552, + "bohemian": 25753, + "boho": 25444, + "boi": 37129, + "boi": 12673, + "boil": 31332, + "boiled": 23886, + "boiler": 28212, + "boiler": 25615, + "boiling": 32019, + "bois": 47742, + "bois": 21640, + "boise": 23304, + "bok": 26671, + "bok": 15289, + "boko": 30929, + "boks": 40216, + "bol": 2860, + "bol": 8413, + "bola": 12840, + "bold": 26975, + "bold": 8911, + "boldand": 48413, + "boldly": 44778, + "boli": 12722, + "bolic": 27343, + "bolivia": 28628, + "bollah": 36336, + "bolly": 25302, + "bollywood": 32448, + "bollywood": 9604, + "bolo": 40236, + "bolog": 22818, + "bologna": 27513, + "bolster": 47304, + "bolt": 13131, + "bolton": 48757, + "bolton": 16598, + "bolts": 26028, + "bom": 3012, + "bom": 19469, + "bomb": 18091, + "bomb": 6331, + "bombar": 25544, + "bombardier": 42700, + "bombay": 48602, + "bombay": 23890, + "bombed": 24542, + "bomber": 15436, + "bombers": 21786, + "bombing": 14475, + "bombings": 43236, + "bombs": 14410, + "bombshell": 36340, + "bon": 1871, + "bon": 4216, + "bona": 33342, + "bonanza": 40304, + "bond": 37022, + "bond": 6826, + "bonded": 37390, + "bondi": 40092, + "bonding": 19609, + "bonds": 15786, + "bone": 22502, + "bone": 6195, + "bones": 9476, + "bonfire": 23151, + "bongo": 47519, + "boni": 32269, + "boni": 46356, + "bonita": 42896, + "bonjour": 33176, + "bonkers": 39865, + "bonn": 38969, + "bonnar": 47191, + "bonnaroo": 48777, + "bonne": 25844, + "bonnet": 30636, + "bonnie": 18555, + "bono": 24476, + "bons": 42883, + "bonsai": 44129, + "bonus": 8164, + "bonuses": 35144, + "boo": 824, + "boo": 7317, + "boogie": 22639, + "book": 2828, + "book": 1116, + "bookboost": 31257, + "bookclub": 34438, + "bookday": 26327, + "booked": 12584, + "booker": 21302, + "bookfest": 39381, + "booking": 10145, + "bookings": 18345, + "booklet": 27405, + "bookmark": 33596, + "bookof": 45629, + "bookreview": 27362, + "books": 44382, + "books": 2161, + "bookshelf": 34821, + "bookshop": 24705, + "bookstore": 17999, + "bookstores": 46416, + "bookworm": 20743, + "boom": 9609, + "boom": 7121, + "boomer": 33819, + "boomer": 31766, + "boomers": 37988, + "booming": 33487, + "boon": 24979, + "boon": 35821, + "boone": 23453, + "boop": 45047, + "boost": 44639, + "boost": 6260, + "boosted": 37631, + "booster": 20877, + "boosters": 46859, + "boosting": 28480, + "boosts": 29247, + "boot": 10843, + "boot": 8087, + "bootcamp": 22051, + "booted": 42564, + "booth": 47895, + "booth": 3971, + "booths": 32653, + "booties": 46188, + "bootleg": 38139, + "boots": 7319, + "booze": 24341, + "bop": 19720, + "bor": 1141, + "bor": 15093, + "bora": 24736, + "bord": 36891, + "bordeaux": 22009, + "border": 16304, + "border": 6177, + "borderlands": 38676, + "borders": 13900, + "bore": 14084, + "bore": 24638, + "bored": 8933, + "boredom": 31460, + "boretum": 38902, + "borg": 14770, + "borgh": 17180, + "boring": 12519, + "boris": 31212, + "boris": 15704, + "borisjohnson": 44481, + "born": 17695, + "born": 2683, + "borne": 42910, + "borne": 9328, + "borneo": 33332, + "bornon": 41811, + "bornonthisday": 42757, + "boro": 26796, + "boro": 7974, + "borough": 22761, + "borough": 6203, + "borrow": 22293, + "borrowed": 28224, + "borrowing": 41045, + "borussia": 36764, + "bos": 14885, + "bos": 9644, + "bosa": 46946, + "bosch": 42009, + "bosch": 19466, + "bosco": 36960, + "bose": 23142, + "bosh": 42244, + "bosni": 42924, + "bosnia": 31396, + "boss": 17935, + "boss": 4206, + "bosses": 23906, + "boston": 11540, + "boston": 4399, + "bostonmarathon": 44533, + "bot": 4136, + "bot": 6947, + "botan": 12554, + "botanic": 32560, + "botanical": 21026, + "botany": 22612, + "botd": 34451, + "both": 36575, + "both": 2212, + "bother": 21125, + "bothered": 27997, + "botox": 43449, + "bots": 13721, + "botswana": 27584, + "bott": 3520, + "bott": 37225, + "bottle": 37306, + "bottle": 5392, + "bottled": 29331, + "bottlen": 46439, + "bottles": 9754, + "bottling": 42006, + "bottom": 32314, + "bottom": 5931, + "bottoms": 31524, + "bou": 3728, + "bou": 23165, + "bouchard": 47930, + "boudo": 48827, + "bought": 4142, + "boul": 24830, + "boulder": 18260, + "boule": 17652, + "boulevard": 19504, + "boun": 5993, + "bounce": 14316, + "bouncing": 32060, + "bouncy": 43415, + "bound": 15140, + "bound": 4567, + "boundaries": 18690, + "boundary": 21344, + "bounds": 37469, + "bounty": 21142, + "bouquet": 20961, + "bour": 2934, + "bour": 35486, + "bourbon": 48118, + "bourbon": 14652, + "bourdain": 48095, + "bourg": 20690, + "bourgeo": 45672, + "bourn": 39143, + "bourne": 13789, + "bourne": 5192, + "bournemouth": 20911, + "bout": 19982, + "bout": 8123, + "bouti": 10926, + "boutique": 12179, + "bow": 2297, + "bow": 4040, + "bowden": 48538, + "bowed": 49130, + "bowel": 36880, + "bowen": 25368, + "bower": 40414, + "bowers": 42238, + "bowie": 13036, + "bowing": 46398, + "bowl": 26719, + "bowl": 3814, + "bowled": 39987, + "bowler": 25528, + "bowlers": 42632, + "bowles": 41611, + "bowling": 10390, + "bowls": 17787, + "bowman": 22052, + "bows": 17000, + "bowser": 38234, + "bowski": 48311, + "box": 2774, + "box": 2063, + "boxed": 24190, + "boxer": 40394, + "boxer": 15363, + "boxers": 31019, + "boxes": 8350, + "boxing": 33669, + "boxing": 5554, + "boy": 2927, + "boy": 1876, + "boyband": 31568, + "boyce": 44480, + "boycot": 46208, + "boycott": 31615, + "boycott": 19559, + "boyd": 18295, + "boyfriend": 7328, + "boyfriends": 36541, + "boyle": 22802, + "boys": 25223, + "boys": 2034, + "boyz": 16152, + "bp": 23410, + "bp": 11558, + "bpa": 43855, + "bpd": 48587, + "bpl": 28901, + "bpm": 40338, + "bps": 37794, + "br": 711, + "br": 7532, + "bra": 1195, + "bra": 5860, + "brac": 6663, + "brace": 8376, + "brace": 9183, + "bracelet": 8969, + "bracelets": 20027, + "braces": 19249, + "brack": 25676, + "bracket": 14780, + "brackets": 36183, + "brad": 4848, + "brad": 9405, + "bradbury": 45097, + "braden": 46842, + "bradford": 15062, + "bradley": 31905, + "bradley": 10952, + "brador": 24062, + "bradshaw": 37556, + "brady": 42494, + "brady": 11117, + "brae": 42874, + "brae": 40040, + "brag": 30110, + "bragg": 38545, + "bragging": 38199, + "brah": 20276, + "brahms": 45114, + "brai": 25048, + "braid": 31067, + "braided": 39997, + "braids": 34221, + "brain": 9454, + "brain": 4812, + "brains": 17129, + "brainstorming": 36607, + "braised": 28363, + "brake": 14937, + "brakes": 23456, + "bral": 31309, + "bram": 14815, + "bram": 39456, + "brampton": 35124, + "bran": 3684, + "bran": 28348, + "brance": 36072, + "brance": 15413, + "branch": 7998, + "branches": 15843, + "brand": 3910, + "brand": 2896, + "branded": 18097, + "brandi": 41003, + "branding": 10841, + "brando": 41892, + "brandon": 20423, + "brandon": 9166, + "brands": 8681, + "brandt": 22552, + "brandy": 26232, + "brane": 32340, + "branson": 28280, + "brant": 28951, + "brant": 47592, + "braries": 46377, + "brary": 24520, + "bras": 22611, + "brasil": 18991, + "brass": 24348, + "brass": 11655, + "brat": 26717, + "brat": 26631, + "brate": 41864, + "braun": 39129, + "braun": 29309, + "brave": 25461, + "brave": 7769, + "braved": 47663, + "bravely": 42303, + "bravery": 25831, + "braves": 14422, + "braving": 43258, + "bravo": 38613, + "bravo": 13006, + "braw": 37871, + "brawl": 26066, + "braxton": 37451, + "bray": 26256, + "bray": 22993, + "braz": 4625, + "brazil": 47459, + "brazil": 6305, + "brazili": 45697, + "brazilian": 12111, + "brb": 25316, + "brc": 40393, + "bre": 887, + "bre": 7782, + "brea": 7318, + "brea": 46538, + "breach": 21363, + "breaches": 45173, + "bread": 18886, + "bread": 5066, + "breads": 43064, + "break": 2206, + "break": 2568, + "breakable": 30691, + "breakaway": 42732, + "breakdown": 14519, + "breaker": 14814, + "breakers": 22270, + "breakfa": 45931, + "breakfast": 30210, + "breakfast": 3290, + "breaking": 14698, + "breaking": 2755, + "breakingbad": 38032, + "breakingnews": 23837, + "breakout": 16752, + "breaks": 7263, + "breakthrough": 18802, + "breakup": 38931, + "breast": 12930, + "breast": 9475, + "breastcancer": 40813, + "breastcancer": 30065, + "breastfeeding": 29033, + "breasts": 37637, + "breath": 9508, + "breath": 9576, + "breathe": 11364, + "breathing": 14959, + "breathtaking": 14709, + "brecht": 34622, + "breck": 44598, + "bred": 46929, + "bred": 16008, + "bree": 7892, + "bree": 37138, + "breed": 28030, + "breed": 13791, + "breeders": 37472, + "breeding": 16544, + "breeds": 29021, + "breen": 48013, + "brees": 46721, + "breeze": 13125, + "breezy": 21451, + "breit": 23864, + "breitbart": 37926, + "brek": 35494, + "bremen": 39861, + "bren": 5209, + "brenda": 23786, + "brendan": 35134, + "brendan": 15414, + "brendon": 36756, + "brennan": 22372, + "brenner": 42941, + "brent": 31439, + "brent": 16355, + "brentwood": 33108, + "brero": 47781, + "bres": 32561, + "bret": 38020, + "bret": 32548, + "brethren": 43134, + "breton": 32290, + "brett": 22591, + "brett": 12394, + "brev": 42882, + "brevi": 39475, + "brew": 5048, + "brew": 7253, + "brewco": 33582, + "brewed": 23238, + "brewer": 20756, + "breweries": 35277, + "brewers": 17618, + "brewery": 8850, + "brewing": 8275, + "brewingco": 45155, + "brews": 21663, + "brewster": 40274, + "brex": 22726, + "brexit": 27666, + "brexit": 5801, + "brgy": 35983, + "bri": 1036, + "bri": 18636, + "bria": 35890, + "brian": 9824, + "brian": 4989, + "brianna": 32308, + "briar": 46119, + "bribe": 40042, + "bribery": 41792, + "bric": 27055, + "brice": 40190, + "brick": 13937, + "brick": 9518, + "bricks": 21029, + "brics": 48196, + "brid": 16995, + "bridal": 36875, + "bridal": 14284, + "bride": 18342, + "bride": 8964, + "brides": 18067, + "bridesma": 28356, + "bridesmaid": 43399, + "bridesmaids": 47754, + "bridg": 20623, + "bridge": 8647, + "bridge": 2465, + "bridgeport": 45201, + "bridges": 11811, + "bridget": 27073, + "bridgewater": 38732, + "bridging": 38109, + "brie": 26622, + "brief": 9435, + "brief": 8954, + "briefed": 47326, + "briefing": 12991, + "briefly": 26980, + "briefs": 29557, + "brien": 13504, + "brier": 43995, + "brig": 11081, + "briga": 46448, + "brigade": 16032, + "briggs": 28108, + "brigh": 6710, + "bright": 10383, + "bright": 4852, + "brighten": 18208, + "brightening": 43929, + "brighter": 18507, + "brightest": 26159, + "brightly": 36298, + "brightness": 42280, + "brighton": 28416, + "brighton": 9470, + "brigitte": 44421, + "brill": 27342, + "brill": 28601, + "brilli": 3821, + "brilliance": 28146, + "brilliant": 4106, + "brilliantly": 26803, + "brin": 25620, + "bring": 11596, + "bring": 2430, + "bringback": 28969, + "bringbackour": 45403, + "bringing": 4777, + "brings": 5138, + "brink": 39296, + "brink": 28796, + "brioche": 45818, + "bris": 9385, + "bris": 15783, + "brisban": 30431, + "brisbane": 42932, + "brisbane": 12407, + "brisk": 43646, + "brisket": 31920, + "bristol": 18159, + "bristol": 8010, + "brit": 2318, + "brit": 20066, + "britain": 40802, + "britain": 6272, + "britanni": 31373, + "britannia": 36188, + "brite": 33827, + "briti": 8155, + "british": 8651, + "british": 3504, + "britishmuseum": 41858, + "britney": 37192, + "britney": 21853, + "britneyspears": 42990, + "brits": 21832, + "britt": 10811, + "britt": 25976, + "brittany": 38187, + "brittany": 18818, + "britton": 37422, + "brium": 46079, + "brixton": 30056, + "bro": 927, + "bro": 4410, + "broad": 3491, + "broad": 12623, + "broadband": 21050, + "broadcast": 8967, + "broadcaster": 29005, + "broadcasting": 14403, + "broadcasts": 46742, + "broader": 36029, + "broadway": 34599, + "broadway": 9092, + "broc": 15587, + "broccoli": 19094, + "broch": 21419, + "brochure": 25275, + "brock": 14841, + "brock": 16745, + "brodie": 42150, + "brody": 29608, + "broke": 42165, + "broke": 6509, + "broken": 26126, + "broken": 5107, + "broker": 34032, + "broker": 20449, + "brokerage": 41327, + "brokers": 28271, + "brom": 18972, + "brom": 33296, + "bromance": 35353, + "bromley": 35715, + "bron": 4011, + "bron": 10243, + "bronco": 43488, + "bronco": 34370, + "broncos": 12516, + "bronson": 37042, + "bronte": 48936, + "bronx": 48310, + "bronx": 17183, + "brony": 21084, + "bronze": 8459, + "broo": 5204, + "brooch": 21207, + "brook": 4782, + "brook": 7322, + "brooke": 28576, + "brooke": 12549, + "brookes": 39707, + "brooklyn": 23253, + "brooklyn": 6983, + "brooks": 42779, + "brooks": 9991, + "broom": 32046, + "broom": 28008, + "broome": 49335, + "bros": 7776, + "broth": 29994, + "brotha": 33974, + "brother": 12697, + "brother": 3157, + "brotherhood": 19059, + "brothers": 4548, + "brou": 27874, + "brough": 21033, + "brought": 4222, + "brov": 42881, + "brow": 6547, + "brow": 15895, + "broward": 34719, + "brown": 6315, + "brown": 2866, + "browne": 28440, + "brownie": 23045, + "brownies": 22312, + "browning": 32241, + "browns": 14051, + "brows": 14998, + "browse": 19060, + "browser": 19768, + "browsing": 29318, + "brox": 43539, + "brs": 47485, + "brt": 46936, + "bru": 1698, + "bru": 31028, + "bruce": 21223, + "bruce": 7085, + "bruh": 17575, + "bruins": 14736, + "bruise": 48048, + "bruised": 46502, + "brum": 23862, + "brum": 28078, + "brun": 6870, + "brunch": 9113, + "brune": 29057, + "brunei": 41898, + "brunette": 35528, + "bruno": 14568, + "brunomars": 41156, + "brunswick": 24012, + "brush": 27969, + "brush": 8594, + "brushed": 30298, + "brushes": 21550, + "brushing": 35072, + "brussels": 11020, + "brut": 39499, + "brutal": 42144, + "brutal": 14556, + "brutality": 31348, + "brutally": 28132, + "brute": 47552, + "brux": 49093, + "bry": 6587, + "bry": 28228, + "bryan": 16134, + "bryan": 10412, + "bryant": 12256, + "bryce": 19895, + "bryn": 36569, + "bryn": 42877, + "bryson": 38990, + "bs": 11783, + "bs": 1329, + "bsa": 46619, + "bsb": 23070, + "bsbi": 41728, + "bsbibotany": 42086, + "bsc": 32031, + "bsd": 41848, + "bse": 46341, + "bsf": 48314, + "bsgo": 48474, + "bsp": 47977, + "bst": 19698, + "bsu": 46385, + "bt": 3317, + "bt": 4205, + "btc": 10315, + "btcc": 30759, + "btn": 44681, + "bto": 35516, + "btob": 29379, + "btr": 39767, + "bts": 15154, + "bts": 4007, + "btsarmy": 30302, + "btsbbmas": 35297, + "btsx": 44971, + "btv": 38541, + "btw": 9520, + "btwn": 28284, + "bu": 609, + "bu": 5831, + "bub": 27704, + "bub": 33158, + "bubb": 9739, + "bubba": 28149, + "bubble": 28687, + "bubble": 10799, + "bubblegum": 48078, + "bubbles": 17648, + "bubbly": 31034, + "buc": 8207, + "buccane": 32830, + "buccaneers": 38058, + "buch": 22623, + "bucha": 43582, + "buchan": 27237, + "buchanan": 28975, + "bucharest": 37013, + "buck": 6061, + "buck": 11433, + "bucket": 22596, + "bucket": 10498, + "bucketlist": 30778, + "buckets": 27168, + "buckeye": 34549, + "buckeyes": 30741, + "buckingham": 28736, + "buckle": 21948, + "buckley": 25905, + "bucks": 6103, + "bucky": 35916, + "bucs": 20011, + "bud": 2942, + "bud": 10737, + "buda": 18520, + "buda": 49012, + "budapest": 19202, + "budd": 7296, + "buddha": 13981, + "buddhism": 23744, + "buddhist": 18697, + "buddies": 14543, + "budding": 31992, + "buddy": 40948, + "buddy": 6557, + "budge": 32005, + "budget": 46758, + "budget": 5639, + "budgeting": 43789, + "budgets": 36419, + "buds": 14665, + "budweiser": 40900, + "buen": 15640, + "buena": 30876, + "buenas": 48529, + "bueno": 46202, + "buenos": 26055, + "buf": 44417, + "buff": 5456, + "buff": 21416, + "buffal": 25836, + "buffalo": 31231, + "buffalo": 8054, + "buffalob": 38831, + "buffalobills": 44352, + "buffe": 13724, + "buffer": 33050, + "buffet": 17829, + "buffett": 34081, + "buffs": 28906, + "buffy": 33356, + "bug": 14453, + "bug": 8162, + "bugatti": 35451, + "buggy": 28963, + "bugs": 13850, + "buh": 31406, + "buhari": 14661, + "buick": 22000, + "buil": 1354, + "build": 22739, + "build": 3289, + "builder": 14474, + "builders": 17694, + "building": 21206, + "building": 2307, + "buildings": 8866, + "builds": 16449, + "buildthe": 41497, + "built": 45824, + "built": 3874, + "buk": 28084, + "buk": 24317, + "buka": 47778, + "bukit": 39888, + "bul": 2572, + "bul": 10200, + "bula": 18726, + "bulaga": 41575, + "bular": 32187, + "bulb": 22373, + "bulbs": 24808, + "bulgar": 15424, + "bulgaria": 20295, + "bulgarian": 38693, + "bulge": 47603, + "bulk": 19643, + "bull": 4537, + "bull": 6029, + "bulldo": 37675, + "bulldog": 34828, + "bulldog": 15611, + "bulldogs": 13916, + "bullet": 14340, + "bullet": 12465, + "bulletin": 19638, + "bulletproof": 43212, + "bullets": 22117, + "bullied": 34689, + "bullies": 39050, + "bullion": 49114, + "bullish": 22142, + "bullock": 33198, + "bullpen": 38081, + "bulls": 10313, + "bully": 43111, + "bully": 20190, + "bullying": 13548, + "bum": 27683, + "bum": 14226, + "bumble": 25585, + "bumble": 39303, + "bumblebee": 36911, + "bummed": 48456, + "bump": 9783, + "bump": 15877, + "bumped": 22495, + "bumper": 17881, + "bumping": 40196, + "bumps": 21115, + "bun": 2591, + "bun": 13665, + "bunch": 7796, + "bund": 41905, + "bunde": 18841, + "bundesliga": 21582, + "bundle": 11793, + "bundled": 47228, + "bundles": 29834, + "bundy": 37332, + "bung": 44748, + "bungal": 29549, + "bungalow": 33696, + "bunk": 41236, + "bunker": 23615, + "bunnies": 28998, + "bunny": 34198, + "bunny": 9258, + "buns": 22235, + "bunting": 30695, + "buon": 31350, + "buon": 48498, + "bur": 1039, + "bur": 17362, + "burbank": 34862, + "burberry": 30412, + "burch": 44588, + "burden": 18687, + "bure": 11902, + "bureau": 32098, + "bureau": 15400, + "burg": 19505, + "burg": 3499, + "burge": 20522, + "burger": 22356, + "burger": 6548, + "burgers": 13007, + "burgess": 26211, + "burgh": 18141, + "burgh": 4965, + "burgl": 25554, + "burglar": 43365, + "burglary": 32573, + "burgring": 40823, + "burgundy": 23650, + "buri": 46348, + "buri": 42614, + "burial": 22012, + "buried": 14233, + "burk": 48822, + "burke": 15340, + "burle": 27891, + "burlesque": 33732, + "burlington": 23370, + "burma": 30305, + "burmese": 47906, + "burn": 7934, + "burn": 4285, + "burnaby": 47541, + "burne": 27246, + "burned": 15022, + "burner": 23243, + "burnett": 28558, + "burnham": 36111, + "burning": 46107, + "burning": 8405, + "burnley": 24653, + "burnout": 36078, + "burns": 10234, + "burnt": 15185, + "burr": 30879, + "burrell": 49045, + "burrito": 23473, + "burritos": 47245, + "burroughs": 41337, + "burrows": 44846, + "burst": 13005, + "bursting": 32566, + "bursts": 37026, + "burt": 27162, + "burton": 42354, + "burton": 12704, + "burundi": 33595, + "bury": 12276, + "bury": 3899, + "burys": 32362, + "bus": 1319, + "bus": 2840, + "busan": 40172, + "busc": 35000, + "busch": 20475, + "buses": 12879, + "bush": 11191, + "bush": 6867, + "bushes": 37578, + "busiest": 32764, + "busine": 4598, + "busines": 25364, + "business": 8346, + "business": 1716, + "businesses": 7287, + "businessman": 25635, + "buss": 47764, + "bust": 31299, + "bust": 9959, + "busted": 18643, + "buster": 37219, + "buster": 12094, + "busters": 16362, + "busting": 29622, + "busy": 39332, + "busy": 4354, + "but": 2201, + "but": 767, + "butch": 35102, + "butcher": 18732, + "butchers": 42334, + "bute": 39240, + "butes": 14630, + "butler": 35867, + "butler": 10702, + "butt": 12500, + "butt": 31523, + "butte": 31678, + "butter": 5427, + "butter": 6952, + "butterflies": 16232, + "butterfly": 9738, + "buttermilk": 40180, + "butternut": 36867, + "buttery": 45535, + "button": 45480, + "button": 8007, + "buttons": 16188, + "butts": 25309, + "buu": 42313, + "buuren": 47752, + "buxton": 41370, + "buy": 11632, + "buy": 2131, + "buyer": 14682, + "buyers": 14663, + "buying": 6566, + "buys": 15560, + "buzz": 7866, + "buzz": 8706, + "buzzard": 47434, + "buzzer": 38064, + "buzzfeed": 26613, + "buzzing": 18511, + "bv": 18958, + "bv": 35861, + "bvb": 22454, + "bw": 17672, + "bw": 15120, + "bway": 26652, + "bwfc": 40918, + "bwo": 45902, + "bx": 33633, + "by": 1713, + "by": 638, + "bye": 20076, + "bye": 4460, + "byes": 47958, + "byl": 34994, + "byn": 46917, + "byn": 11890, + "byo": 28039, + "bypass": 26530, + "byr": 15534, + "byrd": 30369, + "byrne": 19676, + "byron": 43504, + "byron": 19775, + "bys": 26740, + "bystand": 46138, + "byte": 42798, + "bytes": 39538, + "bythe": 36621, + "byu": 41072, + "byu": 23770, + "byz": 35406, + "byzantine": 44081, + "bz": 13631, + "bé": 40365, + "bü": 38706, + "c": 66, + "c": 322, + "ca": 772, + "ca": 1684, + "caa": 19316, + "cab": 3033, + "cab": 11912, + "cabaret": 26263, + "cabbage": 18407, + "cabe": 32731, + "cabello": 34371, + "caber": 29062, + "cabernet": 33730, + "cabin": 14178, + "cabine": 23354, + "cabinet": 9937, + "cabinets": 33083, + "cabins": 48455, + "cable": 7925, + "cables": 22408, + "cabo": 37318, + "cabo": 28370, + "cabrera": 42338, + "cabs": 42048, + "cac": 8298, + "cac": 23872, + "cacao": 38022, + "cache": 28993, + "caching": 40655, + "cactus": 19794, + "cad": 6297, + "cad": 20166, + "caday": 34187, + "cadbury": 44698, + "caddy": 41521, + "cade": 10497, + "cade": 17306, + "cadet": 22764, + "cadets": 19160, + "cadillac": 18156, + "cae": 49264, + "caer": 28298, + "caes": 15740, + "caesar": 21642, + "caesars": 42162, + "caf": 3471, + "caf": 20867, + "cafc": 30748, + "cafe": 15201, + "cafe": 4979, + "cafes": 40166, + "cafeteria": 32817, + "caffe": 18258, + "caffe": 45416, + "caffeine": 22487, + "café": 15304, + "cag": 15714, + "cage": 11838, + "cages": 37939, + "cah": 40519, + "cahill": 33185, + "cai": 38971, + "cai": 36116, + "cain": 13747, + "caine": 16799, + "cair": 15804, + "cair": 46659, + "cairn": 31264, + "cairn": 42467, + "cairngor": 44067, + "cairns": 32941, + "cairo": 19615, + "cait": 14116, + "caitlin": 47768, + "caitlin": 26809, + "caitlyn": 35763, + "cajun": 43425, + "cajun": 33044, + "cak": 42986, + "cake": 15295, + "cake": 2972, + "cakeday": 46207, + "cakes": 5950, + "cal": 1198, + "cal": 6372, + "cala": 32133, + "calab": 31795, + "calais": 39886, + "calam": 28841, + "calc": 45055, + "calci": 22824, + "calcium": 27815, + "calcu": 15328, + "calcul": 15734, + "calculate": 37656, + "calculated": 40688, + "calculations": 44605, + "calculator": 26093, + "calculus": 35104, + "calcutta": 42901, + "calder": 29372, + "calder": 36817, + "caldwell": 30484, + "cale": 32674, + "caleb": 19619, + "caled": 28421, + "calend": 6057, + "calendar": 7122, + "calendars": 17229, + "calf": 17508, + "calgary": 27415, + "calgary": 10797, + "calhoun": 38929, + "cali": 2857, + "cali": 16337, + "caliber": 32820, + "calibr": 32597, + "calico": 45379, + "calif": 30839, + "califor": 3526, + "californi": 21303, + "california": 3729, + "call": 7950, + "call": 1620, + "calla": 20658, + "callahan": 43313, + "callaway": 42596, + "callback": 44764, + "calle": 47699, + "calle": 38144, + "called": 2726, + "caller": 30666, + "calli": 16338, + "callie": 36512, + "calligraphy": 27775, + "calling": 4597, + "callister": 49026, + "callme": 42449, + "callof": 41280, + "calls": 4572, + "callum": 23224, + "calm": 34990, + "calm": 7011, + "calming": 30690, + "calorie": 32679, + "calories": 18029, + "cals": 47714, + "calum": 16405, + "calvary": 40169, + "calvert": 47134, + "calves": 31857, + "calvin": 27642, + "calvin": 17345, + "caly": 10244, + "calyp": 29851, + "cam": 1004, + "cam": 5982, + "camar": 31991, + "camber": 44362, + "cambo": 14662, + "cambodia": 17347, + "cambridge": 24651, + "cambridge": 9334, + "cambridgeshire": 46139, + "camden": 38735, + "camden": 17984, + "came": 1986, + "camel": 27005, + "camel": 21914, + "camels": 41357, + "cameo": 19492, + "camer": 4961, + "camera": 3934, + "cameraman": 43347, + "cameras": 12172, + "camero": 20320, + "cameron": 19634, + "cameron": 8057, + "camerondallas": 40587, + "cameroon": 24061, + "camil": 37745, + "camila": 19919, + "camilla": 38897, + "camille": 26741, + "camino": 28529, + "camo": 28702, + "camo": 19716, + "camogie": 39547, + "camou": 23588, + "camoufla": 23667, + "camouflage": 29049, + "camp": 2854, + "camp": 2877, + "campa": 2793, + "campaig": 9448, + "campaign": 44524, + "campaign": 3193, + "campaigner": 46364, + "campaigners": 40272, + "campaigning": 19594, + "campaigns": 15669, + "campan": 31765, + "campbell": 29094, + "campbell": 8806, + "campe": 16672, + "campeon": 49109, + "campeones": 30105, + "camper": 41914, + "camper": 24522, + "campers": 26619, + "campfire": 32530, + "campground": 46969, + "camping": 9982, + "campo": 27600, + "campos": 48077, + "camps": 12806, + "campsite": 44243, + "campu": 19687, + "campus": 4560, + "campuses": 31895, + "camra": 46155, + "camry": 46472, + "cams": 32590, + "can": 950, + "can": 753, + "cana": 28341, + "canad": 13193, + "canada": 2698, + "canadaday": 39800, + "canadi": 4329, + "canadian": 22160, + "canadian": 5255, + "canadians": 18989, + "canadiens": 40932, + "canal": 28585, + "canal": 9535, + "canals": 38483, + "canaria": 47117, + "canary": 40409, + "canary": 24523, + "canberra": 16719, + "canc": 43189, + "cancel": 12026, + "cancel": 21546, + "canceled": 25874, + "cancell": 28027, + "cancellation": 38765, + "cancelled": 13270, + "cancels": 34089, + "cancer": 12690, + "cancer": 3148, + "cancers": 33201, + "cancun": 34721, + "cand": 4986, + "candace": 45623, + "candel": 47834, + "candi": 6034, + "candice": 30024, + "candid": 7884, + "candid": 19206, + "candidacy": 46248, + "candidate": 6475, + "candidates": 8619, + "candied": 43982, + "candies": 46305, + "candle": 18995, + "candle": 12674, + "candlelight": 34724, + "candles": 15472, + "candy": 20741, + "candy": 6417, + "cane": 23644, + "cane": 14716, + "canelo": 43210, + "canes": 21902, + "cani": 35592, + "canine": 27380, + "cann": 4139, + "cann": 23709, + "cannab": 7577, + "cannabis": 31837, + "cannabis": 8861, + "canne": 44252, + "canned": 27290, + "cannes": 13773, + "canni": 26389, + "canning": 38621, + "cannon": 28771, + "cannon": 15661, + "cannons": 46269, + "cannot": 4785, + "canny": 26986, + "cano": 31668, + "cano": 25937, + "canoe": 23503, + "canola": 40389, + "canon": 17749, + "canon": 9310, + "canopy": 26061, + "cans": 13707, + "cant": 13395, + "cant": 5784, + "canteen": 39230, + "canter": 19301, + "canterbury": 22271, + "canti": 42845, + "cantina": 47472, + "canton": 37735, + "canton": 25363, + "cantore": 41769, + "cantwait": 33760, + "canu": 20171, + "canucks": 24321, + "canv": 30714, + "canvas": 22441, + "canvas": 7483, + "canvass": 40054, + "canvassing": 33783, + "cany": 47674, + "canyon": 41246, + "canyon": 9755, + "cao": 29207, + "cap": 1289, + "cap": 3938, + "capabilities": 19512, + "capability": 25885, + "capable": 14742, + "capac": 24665, + "capacity": 8970, + "capcom": 28342, + "cape": 10288, + "cape": 6631, + "capecod": 41339, + "capes": 38785, + "capetown": 20059, + "capit": 6889, + "capita": 41833, + "capital": 11198, + "capital": 5439, + "capitalism": 20068, + "capitalist": 37015, + "capitals": 29579, + "capitol": 43880, + "capitol": 11375, + "capo": 45477, + "capp": 16718, + "capped": 24659, + "capping": 42656, + "cappuccino": 37402, + "capri": 48699, + "capri": 30982, + "capric": 28667, + "capricorn": 46314, + "caps": 23185, + "capsu": 15608, + "capsul": 40341, + "capsule": 20627, + "capsules": 32870, + "capt": 45815, + "capt": 17369, + "captain": 14958, + "captain": 4621, + "captainamerica": 46229, + "captainmarvel": 48492, + "captains": 18706, + "caption": 11327, + "captions": 41878, + "captiv": 19776, + "captivating": 30580, + "captive": 29038, + "captivity": 41141, + "capture": 8818, + "captured": 8020, + "captures": 15305, + "capturing": 19548, + "capu": 44241, + "car": 811, + "car": 1615, + "cara": 20016, + "carab": 32251, + "carac": 30029, + "caracas": 45854, + "caramel": 14788, + "carameli": 41739, + "caramelized": 43854, + "carat": 32981, + "carav": 13814, + "caravan": 18566, + "carb": 21379, + "carbo": 43235, + "carbon": 14038, + "carbon": 7549, + "carbs": 29313, + "carcin": 31587, + "carcinoma": 46810, + "card": 10793, + "card": 2601, + "cardam": 49008, + "cardboard": 19845, + "cardi": 6211, + "cardi": 29677, + "cardiac": 21256, + "cardiff": 22488, + "cardiff": 9781, + "cardigan": 30501, + "cardin": 8457, + "cardinal": 46310, + "cardinal": 16472, + "cardinals": 12837, + "cardio": 15003, + "cardio": 23455, + "cardiology": 37276, + "cardiovascular": 29291, + "cardo": 40625, + "cards": 4094, + "care": 2050, + "care": 1776, + "cared": 27675, + "career": 20609, + "career": 3061, + "careers": 10090, + "careful": 11999, + "carefully": 15789, + "caregi": 22042, + "caregiver": 46372, + "caregivers": 35909, + "careless": 47325, + "carers": 26484, + "cares": 10968, + "caretaker": 48037, + "carey": 14895, + "cargo": 12490, + "cari": 18497, + "cari": 37273, + "carib": 9757, + "caribbean": 10368, + "caribou": 42135, + "caric": 25337, + "caricature": 38857, + "carina": 44357, + "caring": 13083, + "carl": 8273, + "carl": 9482, + "carla": 25552, + "carleton": 46496, + "carlin": 47559, + "carlisle": 23276, + "carlo": 17861, + "carlo": 15266, + "carlos": 9538, + "carlow": 44745, + "carls": 39635, + "carlson": 24114, + "carlton": 18934, + "carly": 23166, + "carly": 22689, + "carlyle": 46555, + "carmel": 30757, + "carmel": 25601, + "carmen": 41427, + "carmen": 18834, + "carmichael": 41657, + "carn": 21597, + "carnage": 31385, + "carnation": 44577, + "carnaval": 47238, + "carne": 17053, + "carne": 42885, + "carnegie": 25287, + "carney": 34194, + "carni": 8438, + "carnival": 36708, + "carnival": 10577, + "caro": 30317, + "caro": 29344, + "carol": 4242, + "carol": 11489, + "carole": 31955, + "carolin": 26418, + "carolina": 7027, + "caroline": 31064, + "caroline": 12641, + "carols": 33269, + "carolyn": 25825, + "carou": 32224, + "carousel": 36665, + "carp": 26085, + "carpen": 15584, + "carpenter": 18475, + "carpet": 6922, + "carpets": 34612, + "carr": 26951, + "carr": 17136, + "carra": 32332, + "carre": 31114, + "carrera": 32952, + "carri": 4739, + "carriage": 47885, + "carriage": 21087, + "carrick": 44052, + "carrie": 30334, + "carrie": 15848, + "carried": 12960, + "carrier": 12308, + "carriers": 26865, + "carries": 17982, + "carrieunderwood": 47338, + "carrington": 48759, + "carroll": 41911, + "carroll": 14893, + "carrot": 15435, + "carrots": 19299, + "carry": 31863, + "carry": 6998, + "carrying": 9920, + "cars": 3346, + "carsforsale": 45222, + "carson": 41766, + "carson": 13171, + "cart": 27705, + "cart": 13065, + "cartag": 45042, + "cartagena": 47157, + "carte": 44949, + "cartel": 30529, + "carter": 27330, + "carter": 7260, + "cartier": 32951, + "carto": 5487, + "carton": 41812, + "cartoon": 33082, + "cartoon": 7651, + "cartoonist": 30793, + "cartoons": 17673, + "cartri": 47084, + "cartridge": 29432, + "cartridges": 49249, + "carts": 27581, + "cartunesapp": 32888, + "caruso": 45192, + "carve": 40152, + "carved": 15127, + "carver": 28850, + "carving": 19428, + "carvings": 48123, + "cary": 22844, + "cas": 1671, + "cas": 13831, + "casa": 14643, + "casablanc": 36572, + "casablanca": 41950, + "casc": 36714, + "casca": 43296, + "cascade": 29065, + "cascades": 46454, + "case": 17698, + "case": 2068, + "cases": 6888, + "casey": 24899, + "casey": 12836, + "cash": 11050, + "cash": 5131, + "cashback": 36368, + "cashe": 32233, + "cashew": 39531, + "cashi": 29517, + "cashier": 34547, + "cashmere": 34566, + "casi": 38350, + "casino": 10473, + "casio": 32261, + "cask": 26299, + "casm": 35198, + "casper": 35892, + "cass": 22556, + "cassandra": 35289, + "casser": 31093, + "casserole": 36045, + "cassette": 19717, + "cassi": 14942, + "cassidy": 21757, + "cassie": 29323, + "cassini": 46554, + "cast": 2509, + "cast": 1970, + "caste": 32693, + "casted": 33838, + "castel": 43306, + "castell": 31792, + "caster": 32101, + "caster": 8449, + "casters": 29721, + "castic": 47737, + "castillo": 30813, + "casting": 7087, + "castle": 12496, + "castle": 3540, + "castles": 24766, + "castro": 16950, + "casts": 10595, + "casu": 15345, + "casual": 10129, + "casually": 18840, + "casualties": 30244, + "casualty": 31222, + "cat": 1481, + "cat": 2368, + "cata": 42279, + "catal": 12792, + "catalan": 30532, + "catalina": 36576, + "catalo": 34740, + "catalog": 20036, + "catalogue": 20985, + "catalonia": 27039, + "catalunya": 44132, + "cataly": 15894, + "catalyst": 25387, + "catan": 45893, + "catap": 39514, + "catar": 35801, + "catastro": 22736, + "catastrophe": 41422, + "catastrophic": 34448, + "catch": 18901, + "catch": 3042, + "catcher": 15965, + "catchers": 39060, + "catches": 17213, + "catching": 8617, + "catchy": 37114, + "catday": 32243, + "cate": 6357, + "cate": 24510, + "cated": 31823, + "categor": 17006, + "categori": 40117, + "categories": 19971, + "category": 9432, + "cater": 16634, + "cater": 38101, + "catering": 16697, + "caterpillar": 27111, + "catfish": 26077, + "cath": 9196, + "cath": 30811, + "cathar": 43784, + "cathe": 7174, + "cathedr": 46370, + "cathedral": 7865, + "catherine": 35035, + "catherine": 12339, + "catho": 7595, + "cathol": 16315, + "catholic": 20382, + "catholic": 7757, + "catholics": 36808, + "cathy": 40326, + "cathy": 22731, + "cation": 21367, + "cato": 33558, + "cats": 38800, + "cats": 3989, + "catsofinstagram": 39901, + "catsoftwitter": 17273, + "catt": 37339, + "cattle": 48799, + "cattle": 13644, + "caturday": 20892, + "catwalk": 36565, + "catwoman": 47251, + "cau": 1121, + "cau": 45529, + "caucus": 18847, + "caught": 4520, + "caul": 23460, + "cauley": 41682, + "caulfield": 44906, + "cauli": 20123, + "cauliflower": 23802, + "cause": 18982, + "cause": 1394, + "caused": 8940, + "causes": 9775, + "causeway": 35034, + "causing": 10779, + "caution": 15656, + "cautious": 36579, + "cav": 4942, + "cav": 45935, + "cava": 48682, + "caval": 24537, + "cavali": 20783, + "cavalier": 44488, + "cavaliers": 30194, + "cavalry": 32467, + "cave": 25441, + "cave": 9654, + "cavendish": 42945, + "caver": 41487, + "caves": 22096, + "cavi": 27360, + "caviar": 31228, + "cavill": 40492, + "cavity": 43156, + "cavs": 16800, + "caw": 38405, + "caw": 43804, + "cawx": 26739, + "cay": 11876, + "cay": 37399, + "cayenne": 43650, + "cayman": 33737, + "caz": 48451, + "cb": 4034, + "cb": 8830, + "cba": 38472, + "cbb": 31487, + "cbc": 14096, + "cbc": 14523, + "cbd": 13176, + "cbe": 43639, + "cbi": 30875, + "cbj": 35608, + "cbn": 26579, + "cbp": 46723, + "cbr": 28762, + "cbs": 16788, + "cbs": 8009, + "cc": 2976, + "cc": 2021, + "cca": 17987, + "ccc": 21856, + "ccd": 48556, + "ccg": 37755, + "cch": 21789, + "cchini": 28467, + "cci": 32942, + "cci": 8196, + "ccl": 43773, + "ccm": 40435, + "cco": 28786, + "ccot": 24950, + "ccp": 43045, + "ccs": 30400, + "cctv": 23097, + "ccu": 49023, + "cd": 4308, + "cd": 4480, + "cda": 45565, + "cdc": 41098, + "cdc": 25779, + "cdn": 8886, + "cdn": 26802, + "cdnpoli": 11645, + "cdo": 47187, + "cdp": 39624, + "cds": 20784, + "cdt": 18455, + "ce": 685, + "ce": 629, + "cea": 28355, + "cean": 34409, + "cean": 37295, + "cease": 32856, + "cease": 25499, + "ceasefire": 38291, + "cebu": 20146, + "cec": 29694, + "cec": 40029, + "cecil": 26987, + "cecil": 27169, + "cecilia": 35440, + "ced": 25634, + "ced": 2323, + "cedar": 24167, + "cedar": 13799, + "cedric": 36608, + "cee": 45966, + "cee": 15015, + "cees": 47914, + "ceil": 27275, + "ceiling": 12374, + "ceilings": 33770, + "cek": 45544, + "cel": 2269, + "cel": 7597, + "cele": 1314, + "celeb": 38862, + "celeb": 19393, + "celebr": 1372, + "celebrate": 31414, + "celebrate": 2694, + "celebrated": 9184, + "celebrates": 7564, + "celebrating": 3382, + "celebration": 4615, + "celebrations": 10825, + "celebratory": 34115, + "celebrities": 17071, + "celebrity": 23981, + "celebrity": 7320, + "celebs": 19803, + "celed": 25741, + "celer": 9621, + "celery": 30990, + "celeste": 29364, + "celesti": 29497, + "celestial": 32669, + "celi": 25567, + "celia": 44489, + "celine": 33644, + "cell": 9316, + "cell": 5533, + "cellar": 24282, + "cellars": 44976, + "cellence": 34687, + "cello": 23013, + "cellphone": 39029, + "cells": 8890, + "cellu": 16791, + "cellular": 23268, + "cels": 24021, + "celsius": 47057, + "celtic": 21897, + "celtic": 10523, + "celticfc": 38612, + "celtics": 16226, + "cem": 41435, + "ceme": 10517, + "cement": 4369, + "cements": 19448, + "cemetery": 11660, + "cen": 1306, + "cen": 30106, + "cena": 21591, + "cence": 24410, + "cency": 41259, + "cene": 30038, + "censor": 24230, + "censor": 44709, + "censored": 30951, + "censorship": 27284, + "census": 23677, + "cent": 1784, + "cent": 3662, + "centenary": 22422, + "centennial": 20895, + "center": 16651, + "center": 2119, + "centered": 24584, + "centers": 14494, + "centi": 48889, + "centime": 48687, + "centr": 2370, + "central": 13448, + "central": 3339, + "centre": 26310, + "centre": 2916, + "centred": 47925, + "centres": 19354, + "centri": 30872, + "centric": 19297, + "centro": 37178, + "cents": 11934, + "centu": 16818, + "centuri": 36816, + "centuries": 19014, + "century": 26134, + "century": 4275, + "ceo": 46340, + "ceo": 3559, + "ceos": 28332, + "cep": 2632, + "cep": 48714, + "ceph": 44343, + "cept": 3678, + "ception": 12346, + "cer": 1364, + "cer": 1925, + "cera": 34608, + "ceram": 10677, + "ceramic": 15112, + "ceramics": 22438, + "cere": 3984, + "cere": 22085, + "cereal": 17581, + "cereals": 48618, + "cerebral": 39073, + "ceremon": 15796, + "ceremonial": 33281, + "ceremonies": 21547, + "ceremony": 5193, + "cern": 44851, + "cers": 13638, + "cert": 27522, + "certain": 8526, + "certain": 7883, + "certainly": 10883, + "certainty": 20054, + "certi": 4888, + "certific": 9443, + "certificate": 11786, + "certificates": 25281, + "certification": 14735, + "certified": 9288, + "cerv": 25738, + "cervical": 35953, + "ces": 28715, + "ces": 1604, + "cesar": 37025, + "cesar": 28603, + "cess": 2314, + "cess": 1554, + "cessna": 36596, + "cest": 27245, + "cester": 15769, + "cester": 12718, + "cet": 14960, + "cett": 46708, + "ceu": 37457, + "cevic": 48369, + "cey": 20971, + "cf": 10189, + "cf": 11171, + "cfa": 34521, + "cfb": 32931, + "cfc": 11577, + "cfd": 46171, + "cfl": 46320, + "cfl": 22332, + "cfo": 26937, + "cfp": 40756, + "cfr": 44033, + "cfs": 32835, + "cg": 27118, + "cg": 14740, + "cgc": 38775, + "cgi": 30520, + "ch": 540, + "ch": 634, + "cha": 1587, + "cha": 4541, + "chab": 26670, + "chad": 13095, + "chad": 12923, + "chae": 9460, + "chaf": 38123, + "chag": 27989, + "chai": 31590, + "chai": 18919, + "chain": 13898, + "chain": 3946, + "chained": 34402, + "chains": 14438, + "chainsaw": 37617, + "chainz": 39687, + "chair": 4728, + "chair": 4269, + "chaired": 31664, + "chairing": 42205, + "chairman": 6901, + "chairperson": 31584, + "chairs": 12033, + "chak": 13702, + "chak": 41713, + "chakra": 38304, + "chakra": 33241, + "chal": 7397, + "chal": 30809, + "chale": 38099, + "chalet": 37907, + "chalk": 31362, + "chalk": 17846, + "chall": 2073, + "challeng": 4138, + "challenge": 29462, + "challenge": 2836, + "challenged": 17380, + "challenger": 18228, + "challengers": 46404, + "challenges": 6280, + "challenging": 11754, + "chalmers": 47955, + "cham": 1290, + "cham": 19951, + "chamber": 18983, + "chamber": 7642, + "chamberlain": 32756, + "chambers": 16501, + "chamele": 34759, + "chameleon": 41317, + "champ": 36813, + "champ": 6602, + "champag": 10283, + "champagne": 11007, + "champi": 1680, + "champion": 2643, + "champion": 3950, + "champions": 4227, + "championship": 3429, + "championships": 7047, + "championsleague": 27638, + "champs": 6240, + "chan": 1255, + "chan": 6704, + "chana": 48752, + "chanc": 13931, + "chance": 32940, + "chance": 2594, + "chancellor": 15886, + "chances": 10870, + "chand": 7126, + "chand": 41508, + "chandelier": 30570, + "chandi": 12482, + "chandigarh": 34106, + "chandler": 17595, + "chandra": 27082, + "chandra": 25348, + "chanel": 16951, + "chang": 2233, + "chang": 16461, + "change": 11608, + "change": 1799, + "changeable": 41335, + "changed": 4907, + "changer": 18406, + "changers": 35185, + "changes": 4938, + "changing": 40384, + "changing": 5621, + "changmin": 47410, + "chann": 8804, + "channel": 25837, + "channel": 3847, + "channeling": 28197, + "channels": 13961, + "channing": 37417, + "chant": 18165, + "chant": 13521, + "chanting": 32111, + "chants": 22723, + "chanyeol": 18805, + "chao": 31815, + "chaos": 10853, + "chaotic": 33501, + "chap": 3825, + "chap": 21939, + "chapel": 40859, + "chapel": 10137, + "chaplain": 38348, + "chaplin": 32545, + "chapman": 17968, + "chapp": 20634, + "chaps": 36823, + "chapter": 6014, + "chapters": 22936, + "char": 1054, + "char": 16017, + "chara": 35668, + "charac": 2792, + "character": 10997, + "character": 4009, + "characterdesign": 38149, + "characteri": 20920, + "characteristic": 44747, + "characteristics": 26037, + "characters": 6564, + "charan": 31851, + "charcoal": 19268, + "chard": 17524, + "chardon": 26599, + "chardonnay": 28161, + "charge": 25032, + "charge": 5948, + "chargeable": 35664, + "charged": 7916, + "charger": 13090, + "chargers": 17352, + "charges": 8962, + "charging": 12514, + "chariot": 38811, + "charis": 24449, + "charisma": 45041, + "charismatic": 37205, + "charitable": 23256, + "charities": 18493, + "charity": 20008, + "charity": 4607, + "charitytuesday": 42794, + "charl": 47736, + "charle": 10217, + "charles": 27983, + "charles": 5127, + "charleston": 15478, + "charley": 38027, + "charli": 21784, + "charli": 49392, + "charlie": 16764, + "charlie": 6393, + "charlotte": 18445, + "charlotte": 7871, + "charlottesville": 32027, + "charlton": 27048, + "charm": 10876, + "charmed": 39790, + "charming": 12177, + "charms": 21944, + "charred": 44085, + "chart": 42685, + "chart": 5053, + "charted": 27939, + "charter": 42345, + "charter": 13569, + "chartered": 31298, + "charters": 46626, + "charting": 39841, + "charts": 10728, + "chas": 10717, + "chas": 29838, + "chase": 21503, + "chase": 3859, + "chased": 30342, + "chaser": 29560, + "chasers": 34158, + "chases": 45011, + "chasing": 46909, + "chasing": 13376, + "chassis": 29188, + "chast": 42176, + "chasu": 41352, + "chat": 5355, + "chat": 2402, + "chatbots": 43994, + "chate": 30377, + "chateau": 44582, + "chateau": 23520, + "chath": 46849, + "chatham": 32030, + "chats": 13263, + "chatt": 21618, + "chattanoo": 28009, + "chattanooga": 29866, + "chatted": 34124, + "chatter": 33473, + "chatter": 41103, + "chatting": 12401, + "chatur": 33839, + "chau": 11263, + "chau": 37536, + "chauffe": 45440, + "chauhan": 46663, + "chav": 28997, + "chavez": 27480, + "chaw": 39639, + "chay": 45317, + "chaz": 47815, + "chc": 36233, + "chd": 41645, + "che": 983, + "che": 3842, + "chea": 39580, + "chead": 48358, + "cheap": 27036, + "cheap": 8678, + "cheape": 26164, + "cheaper": 17776, + "cheapest": 26640, + "cheat": 18180, + "cheated": 34285, + "cheating": 19722, + "chec": 1113, + "check": 7672, + "check": 1217, + "checked": 10387, + "checker": 45883, + "checkers": 48181, + "checking": 7441, + "checklist": 26989, + "checkout": 13101, + "checkpoint": 27531, + "checks": 13737, + "ched": 11341, + "ched": 2146, + "cheddar": 20551, + "chee": 5326, + "chee": 20944, + "cheek": 40000, + "cheek": 21227, + "cheeks": 23019, + "cheeky": 15068, + "cheer": 9733, + "cheer": 6918, + "cheered": 38111, + "cheerful": 28882, + "cheering": 14289, + "cheerleader": 29072, + "cheerleaders": 22343, + "cheerleading": 36366, + "cheers": 6562, + "chees": 15182, + "cheese": 10738, + "cheese": 4108, + "cheeseburger": 41200, + "cheesecake": 17803, + "cheeses": 36076, + "cheesy": 22093, + "cheetah": 27431, + "chef": 12137, + "chef": 4895, + "chefs": 14486, + "chek": 43745, + "chel": 3084, + "chel": 25970, + "chell": 46854, + "chelle": 30141, + "chelms": 34936, + "chelmsford": 39890, + "chelse": 19071, + "chelsea": 6031, + "chelseafc": 25927, + "chelten": 18889, + "cheltenham": 21589, + "chem": 5667, + "chem": 13698, + "chemi": 7179, + "chemical": 39376, + "chemical": 9208, + "chemicals": 17426, + "chemist": 23138, + "chemistry": 8841, + "chemo": 33095, + "chemo": 36348, + "chemotherapy": 41412, + "chemtrails": 46015, + "chen": 5907, + "chen": 8983, + "cheney": 43522, + "cheng": 32512, + "cheng": 30190, + "chenko": 29073, + "chennai": 28948, + "chennai": 12791, + "cheon": 11498, + "cheque": 28168, + "cher": 3597, + "cher": 3466, + "cheri": 26471, + "cherish": 20053, + "cherished": 42325, + "cherno": 35376, + "chernobyl": 40554, + "chero": 19844, + "cherokee": 22860, + "cherries": 27248, + "cherry": 21470, + "cherry": 7325, + "chers": 5789, + "chery": 38478, + "cheryl": 37784, + "cheryl": 20600, + "ches": 18346, + "ches": 1910, + "chesa": 28349, + "chesapeake": 32909, + "cheshire": 17130, + "chesney": 48747, + "chess": 27170, + "chess": 8397, + "chest": 18217, + "chest": 10563, + "chester": 10466, + "chester": 3343, + "chesterfield": 32975, + "chestnut": 21834, + "chet": 9663, + "chett": 24695, + "chev": 7152, + "chev": 41145, + "chevro": 12850, + "chevrolet": 13240, + "chevron": 33792, + "chevy": 16581, + "chew": 32645, + "chew": 22642, + "chewan": 23689, + "chewbacca": 49355, + "chewing": 31486, + "chewy": 42940, + "chey": 26968, + "chey": 31208, + "cheyenne": 34805, + "chez": 49183, + "chez": 10556, + "chf": 33021, + "chfield": 41619, + "chhat": 34127, + "chhattisgarh": 44246, + "chi": 1337, + "chi": 4039, + "chia": 19147, + "chiang": 33764, + "chibi": 22306, + "chic": 2627, + "chic": 9091, + "chica": 44190, + "chicag": 16778, + "chicago": 15038, + "chicago": 3530, + "chicagof": 40638, + "chicagofire": 46576, + "chicas": 40664, + "chichester": 43823, + "chick": 3170, + "chick": 11238, + "chicken": 26322, + "chicken": 3717, + "chickens": 21658, + "chickpea": 48109, + "chicks": 17810, + "chico": 30379, + "chie": 40046, + "chie": 12388, + "chief": 16830, + "chief": 3455, + "chiefs": 11419, + "chiev": 47761, + "chiff": 27407, + "chiffon": 31817, + "chig": 42952, + "chihu": 22857, + "chihuahu": 25437, + "chihuahua": 30181, + "chik": 45455, + "chil": 1333, + "child": 4392, + "child": 2913, + "childcare": 31133, + "childhood": 34772, + "childhood": 7551, + "childish": 31939, + "childre": 2135, + "children": 11101, + "children": 2153, + "childrens": 31551, + "childrens": 21553, + "childs": 39521, + "chile": 10022, + "chilean": 33186, + "chili": 13033, + "chill": 6498, + "chill": 6382, + "chilled": 23540, + "chillen": 45160, + "chilli": 26787, + "chilli": 17067, + "chillin": 10347, + "chilling": 10179, + "chillout": 39842, + "chills": 25460, + "chilly": 14450, + "chim": 10543, + "chimney": 26821, + "chimp": 44374, + "chin": 6555, + "chin": 8979, + "china": 38943, + "china": 2817, + "chinatown": 28582, + "chine": 4013, + "chinese": 30568, + "chinese": 4271, + "ching": 34621, + "ching": 1439, + "chino": 47181, + "chino": 27440, + "chinook": 41577, + "chinson": 33786, + "chio": 19650, + "chip": 19271, + "chip": 8730, + "chipmun": 46384, + "chipot": 17702, + "chipotle": 19284, + "chipp": 39854, + "chippe": 46541, + "chipped": 39892, + "chipping": 40323, + "chips": 8855, + "chir": 15564, + "chiro": 23413, + "chiroprac": 25987, + "chiropractic": 34437, + "chis": 19920, + "chistan": 20523, + "chiswick": 47290, + "chit": 13515, + "chit": 45626, + "chita": 49184, + "chitec": 39862, + "chive": 29222, + "chives": 34921, + "chk": 47424, + "chl": 38592, + "chley": 47748, + "chlo": 10374, + "chloe": 39966, + "chloe": 13992, + "chlor": 23135, + "chman": 35835, + "chment": 20848, + "chner": 48277, + "cho": 1327, + "cho": 5150, + "choa": 43077, + "choc": 32772, + "choc": 21983, + "choco": 46285, + "choco": 32692, + "chocol": 3443, + "chocolat": 44631, + "chocolate": 29389, + "chocolate": 3820, + "chocolates": 24120, + "choi": 23749, + "choic": 35606, + "choice": 23857, + "choice": 4051, + "choices": 11016, + "choir": 9214, + "choirs": 43277, + "choke": 30231, + "choked": 43521, + "choker": 39642, + "choking": 39993, + "chol": 19802, + "cholera": 45999, + "cholester": 26861, + "cholesterol": 27982, + "chom": 25151, + "chon": 20416, + "chon": 21601, + "chondri": 37379, + "chong": 26220, + "choo": 3869, + "choo": 24437, + "chool": 29578, + "chools": 41958, + "choose": 22756, + "choose": 5073, + "chooses": 29923, + "choosing": 13475, + "chop": 10458, + "chop": 16663, + "chopin": 42256, + "chopped": 22580, + "chopper": 24011, + "chopping": 35375, + "chopra": 24258, + "chops": 26321, + "chor": 7567, + "chor": 47795, + "choral": 26684, + "chord": 33005, + "chords": 36152, + "choreo": 17443, + "choreographer": 35952, + "choreography": 32749, + "chores": 40483, + "chori": 25718, + "chorizo": 30802, + "chorus": 20869, + "chos": 26559, + "chose": 11090, + "chosen": 10044, + "chou": 16960, + "chou": 42917, + "choudhary": 45503, + "chow": 20257, + "chow": 21657, + "chowder": 37886, + "chp": 35896, + "chr": 36918, + "chri": 1135, + "chris": 9907, + "chris": 2978, + "chrisbrown": 41035, + "chriss": 46745, + "chrissy": 44762, + "chrissy": 40485, + "christ": 1403, + "christ": 6703, + "christchurch": 27100, + "christen": 31956, + "christensen": 42226, + "christi": 3328, + "christi": 33213, + "christian": 11792, + "christian": 4729, + "christianity": 20000, + "christians": 14842, + "christie": 16084, + "christin": 30189, + "christina": 15925, + "christine": 42610, + "christine": 14712, + "christma": 12039, + "christmas": 18174, + "christmas": 1677, + "christmaseve": 44381, + "christmass": 44873, + "christop": 7917, + "christoph": 47844, + "christophe": 45486, + "christopher": 33349, + "christopher": 9630, + "christy": 28331, + "chro": 13207, + "chromatic": 44207, + "chrome": 24843, + "chrome": 9529, + "chromo": 35809, + "chron": 5577, + "chron": 39781, + "chronic": 10115, + "chronic": 13677, + "chronicle": 20034, + "chronicles": 18905, + "chrono": 29387, + "chronograph": 38397, + "chry": 13508, + "chrysler": 20078, + "chs": 40277, + "chs": 8391, + "chsnews": 44919, + "cht": 11384, + "chter": 47811, + "chu": 3799, + "chu": 13622, + "chubby": 29109, + "chuck": 13211, + "chuck": 9894, + "chuckle": 35733, + "chucky": 42026, + "chuffed": 27233, + "chuk": 25878, + "chuk": 27221, + "chul": 33001, + "chum": 46869, + "chum": 41767, + "chun": 14693, + "chun": 25391, + "chung": 28418, + "chunk": 30275, + "chunks": 45538, + "chunky": 27978, + "chups": 46331, + "chur": 2309, + "church": 14956, + "church": 2735, + "churches": 15539, + "churchill": 17527, + "chus": 36246, + "chut": 28788, + "chutney": 36261, + "chy": 15131, + "chy": 8096, + "chyna": 43398, + "châ": 48669, + "ci": 698, + "ci": 5798, + "cia": 4019, + "cial": 1143, + "cian": 32323, + "ciao": 37677, + "ciara": 31369, + "cible": 28873, + "cic": 14539, + "cic": 21517, + "cid": 27359, + "cide": 34178, + "cider": 13547, + "cides": 41326, + "cie": 19730, + "cier": 24067, + "cies": 6785, + "cif": 35698, + "cigar": 26031, + "cigar": 16525, + "cigare": 13044, + "cigarette": 18548, + "cigarettes": 22750, + "cigars": 20750, + "cii": 42408, + "cil": 9217, + "cil": 2998, + "cilan": 33998, + "cilantro": 34568, + "cili": 18977, + "ciliation": 25294, + "cim": 30021, + "cin": 2396, + "cin": 25367, + "cina": 39467, + "cincin": 13291, + "cincinnati": 14197, + "cinco": 25131, + "cincode": 40930, + "cincodemayo": 42542, + "cincy": 30015, + "cincy": 30286, + "cinde": 20660, + "cinderella": 21515, + "cindy": 34439, + "cindy": 18532, + "cine": 4015, + "cine": 27451, + "cinema": 38251, + "cinema": 6443, + "cinemas": 14845, + "cinematic": 25602, + "cinemato": 21919, + "cinematographer": 39059, + "cinematography": 33802, + "ciner": 39882, + "cing": 4014, + "cini": 25699, + "cinnam": 12768, + "cinnamon": 13460, + "cino": 18616, + "cio": 44584, + "cio": 9954, + "cion": 22024, + "ciones": 37155, + "cious": 38466, + "cip": 32884, + "cir": 2459, + "cir": 41135, + "circa": 10411, + "circle": 33574, + "circle": 7117, + "circles": 19411, + "circling": 46036, + "circu": 5143, + "circuit": 35583, + "circuit": 9801, + "circuits": 33260, + "circul": 16618, + "circular": 19733, + "circulare": 39525, + "circulareconomy": 39878, + "circulated": 46258, + "circulating": 42980, + "circulation": 27880, + "circum": 13406, + "circumstances": 18786, + "circus": 11833, + "cirque": 36049, + "cis": 9459, + "cis": 23513, + "cisco": 36689, + "cisco": 19290, + "cise": 19657, + "cisely": 33434, + "cision": 41957, + "cism": 24166, + "cist": 40906, + "cit": 4420, + "cit": 31294, + "citadel": 38036, + "citation": 33581, + "cite": 32641, + "cited": 25069, + "cites": 34490, + "citi": 4280, + "citi": 30270, + "cities": 5441, + "citing": 29088, + "citiz": 5816, + "citizen": 11720, + "citizen": 9814, + "citizens": 7949, + "citizenship": 17386, + "cito": 42636, + "citro": 27941, + "citroen": 35805, + "citrus": 17379, + "city": 5002, + "city": 1305, + "cityfc": 28751, + "cityo": 25709, + "cityof": 11595, + "cityscape": 40808, + "ciu": 39693, + "cius": 42559, + "civ": 40039, + "civic": 32240, + "civic": 11888, + "civil": 6923, + "civil": 6450, + "civilian": 21187, + "civilians": 18076, + "civilization": 22503, + "civilwar": 34524, + "ción": 44700, + "cj": 15238, + "cj": 15205, + "ck": 916, + "ck": 868, + "cke": 25224, + "cke": 40989, + "cked": 3441, + "cken": 25566, + "cker": 15509, + "cker": 4744, + "ckers": 37073, + "cket": 5525, + "ckett": 33899, + "ckey": 15029, + "ckey": 3657, + "cki": 36916, + "cki": 41055, + "cking": 4805, + "cko": 28818, + "cks": 2031, + "cky": 26229, + "cky": 3083, + "cl": 969, + "cl": 6482, + "cla": 940, + "cla": 20636, + "clad": 31606, + "cladding": 46411, + "clai": 29459, + "claim": 4290, + "claim": 6607, + "claimed": 9010, + "claiming": 15286, + "claims": 6852, + "clair": 31441, + "clair": 14039, + "claire": 20410, + "claire": 10460, + "clam": 13588, + "clam": 32598, + "clamation": 21793, + "clamp": 41501, + "clams": 38849, + "clan": 29252, + "clan": 14114, + "clancy": 37227, + "clans": 38279, + "clap": 30037, + "clap": 25546, + "clapham": 43619, + "clapton": 37683, + "clar": 3617, + "clara": 19468, + "clare": 18948, + "clare": 15927, + "claremont": 47789, + "clarence": 29320, + "clari": 15175, + "clarify": 37004, + "clarinet": 41178, + "clarity": 21323, + "clark": 13340, + "clark": 7521, + "clarke": 11548, + "clarkson": 25706, + "clas": 32003, + "clash": 38367, + "clash": 9359, + "clashes": 25193, + "clasico": 43567, + "class": 2876, + "class": 1874, + "classes": 6919, + "classi": 2507, + "classic": 9353, + "classic": 2713, + "classical": 22179, + "classical": 11355, + "classicalmusic": 27806, + "classiccar": 46906, + "classiccars": 21064, + "classics": 10634, + "classification": 26612, + "classified": 22056, + "classmate": 37090, + "classmates": 30062, + "classof": 25345, + "classroom": 9001, + "classrooms": 25768, + "classy": 11615, + "clau": 7526, + "claude": 17461, + "claudi": 39439, + "claudia": 21893, + "claudio": 31230, + "claus": 23317, + "clause": 26151, + "clave": 24111, + "claw": 49230, + "claw": 19106, + "claws": 29161, + "clay": 10402, + "clay": 8823, + "clays": 26128, + "clayton": 46445, + "clayton": 19413, + "clc": 31380, + "cle": 1321, + "cle": 2537, + "clean": 3572, + "clean": 3772, + "cleaned": 17468, + "cleanenergy": 43538, + "cleaner": 15619, + "cleaners": 33258, + "cleaning": 7210, + "cleanliness": 47886, + "cleans": 40827, + "cleanse": 28717, + "cleanser": 44170, + "cleansing": 25931, + "cleanup": 22353, + "clear": 4631, + "clear": 3143, + "clearance": 17959, + "cleared": 14880, + "clearer": 37031, + "clearing": 15481, + "clearly": 7767, + "clears": 29092, + "clearwater": 32124, + "cleary": 44342, + "cleats": 33486, + "cleavage": 44165, + "cled": 12827, + "clegg": 42915, + "clemens": 45896, + "clement": 22592, + "clement": 24714, + "clemente": 42461, + "clementine": 47112, + "clements": 49175, + "clemson": 38170, + "clemson": 19537, + "clen": 35547, + "cleo": 40344, + "cleop": 36287, + "cleopatra": 41212, + "cler": 11828, + "clergy": 42635, + "cleric": 43748, + "clerk": 22230, + "clermont": 47529, + "cles": 8077, + "cleve": 37599, + "clevel": 7701, + "cleveland": 30716, + "cleveland": 8430, + "clever": 30977, + "clever": 13385, + "clg": 47546, + "cli": 1503, + "clich": 44407, + "click": 16676, + "click": 3585, + "clicked": 29015, + "clicking": 26542, + "clicks": 31250, + "client": 48528, + "client": 7467, + "clients": 8114, + "clif": 13182, + "cliff": 23827, + "cliff": 10625, + "cliffe": 15170, + "clifford": 24226, + "cliffs": 20953, + "clifton": 23878, + "climat": 37283, + "climate": 7854, + "climate": 4589, + "climateaction": 31622, + "climatechange": 11055, + "climates": 46022, + "climax": 37033, + "climb": 7421, + "climb": 10649, + "climbed": 22528, + "climber": 36910, + "climbers": 47648, + "climbing": 9877, + "climbs": 29098, + "clin": 2879, + "clinch": 30404, + "clinched": 44064, + "cline": 37460, + "cling": 37068, + "cling": 4760, + "clinic": 7926, + "clinical": 35133, + "clinical": 9148, + "clinicians": 45866, + "clinics": 23330, + "clint": 37542, + "clint": 21160, + "clinton": 34403, + "clinton": 5820, + "clio": 46889, + "clip": 39712, + "clip": 9289, + "clipped": 45524, + "clipper": 42245, + "clippers": 23319, + "clipping": 47484, + "clips": 16594, + "clique": 34983, + "clive": 36086, + "clive": 21509, + "cll": 46091, + "cllr": 45743, + "cllr": 23034, + "clo": 1194, + "cloak": 36528, + "clock": 19878, + "clock": 6716, + "clocked": 49049, + "clocks": 25895, + "clockwise": 46150, + "clockwork": 42297, + "clon": 24477, + "clone": 22854, + "clones": 48047, + "clooney": 33161, + "clos": 48821, + "close": 10603, + "close": 2660, + "closed": 4552, + "closely": 13478, + "closer": 6377, + "closes": 11354, + "closest": 14975, + "closet": 14221, + "closeup": 35439, + "closing": 7101, + "closure": 13249, + "closures": 22923, + "cloth": 14559, + "clothes": 7080, + "clothing": 7425, + "clou": 4069, + "cloud": 12965, + "cloud": 3887, + "cloudcomputing": 41390, + "clouds": 6244, + "cloudy": 13106, + "clough": 42909, + "clover": 39574, + "clover": 22812, + "clow": 18386, + "clown": 15329, + "clowns": 30820, + "cls": 44251, + "clt": 29651, + "clt": 24236, + "clu": 996, + "club": 9642, + "club": 1736, + "clubbing": 48128, + "clubhouse": 26553, + "clubs": 9437, + "clue": 14994, + "clueless": 35350, + "clues": 23764, + "clusive": 41362, + "cluster": 15595, + "clusters": 33217, + "clut": 28507, + "clutch": 13953, + "clutter": 40804, + "cly": 12037, + "clyde": 39557, + "clyde": 18469, + "cm": 10190, + "cm": 3741, + "cma": 30554, + "cma": 31388, + "cmc": 45839, + "cmdr": 48250, + "cme": 34946, + "cmo": 24589, + "cmon": 42904, + "cmp": 46355, + "cms": 22520, + "cmt": 42727, + "cmu": 43046, + "cn": 3886, + "cn": 16200, + "cna": 48287, + "cnbc": 41242, + "cnbc": 24371, + "cnblue": 36018, + "cnc": 20571, + "cnet": 47487, + "cnews": 24319, + "cng": 41496, + "cnn": 22405, + "cnn": 8259, + "cns": 46095, + "cny": 31614, + "co": 622, + "co": 1320, + "coa": 29167, + "coach": 3275, + "coach": 2312, + "coached": 30228, + "coachella": 20222, + "coaches": 6924, + "coaching": 7766, + "coal": 10227, + "coal": 7919, + "coalition": 12920, + "coast": 6398, + "coast": 3720, + "coastal": 38246, + "coastal": 10852, + "coaster": 15944, + "coasters": 31548, + "coastguard": 40601, + "coastline": 27959, + "coasts": 42225, + "coat": 28869, + "coat": 7356, + "coated": 23401, + "coates": 36899, + "coating": 25369, + "coatings": 48706, + "coats": 18075, + "cob": 20140, + "cob": 32863, + "cobain": 36866, + "cobalt": 30896, + "cobb": 22719, + "cobble": 47894, + "cobra": 21574, + "coc": 23036, + "coc": 39498, + "coca": 21197, + "cocac": 26393, + "cocacola": 31248, + "cocaine": 20534, + "coch": 18599, + "cochran": 48798, + "cochrane": 41752, + "coco": 11850, + "coco": 13316, + "cocoa": 18074, + "cocon": 8597, + "coconut": 9581, + "cod": 16132, + "cod": 11915, + "code": 11582, + "code": 3217, + "coded": 33703, + "coden": 43914, + "coder": 41561, + "codes": 14566, + "codi": 39711, + "coding": 12647, + "cody": 23222, + "cody": 12666, + "coe": 15386, + "coed": 41028, + "coel": 45633, + "coer": 41198, + "coeur": 44986, + "coffe": 2255, + "coffee": 12898, + "coffee": 2453, + "coffees": 41184, + "coffey": 48066, + "cofficial": 18757, + "coffin": 29907, + "cog": 26362, + "cog": 35960, + "cogn": 12210, + "cognac": 44361, + "cognition": 46825, + "cognitive": 16584, + "cohe": 20669, + "cohen": 13381, + "coherent": 48450, + "cohort": 22782, + "coil": 25307, + "coim": 41528, + "coin": 14651, + "coin": 4170, + "coinci": 14015, + "coincidence": 19807, + "coins": 10530, + "coke": 39602, + "coke": 14035, + "col": 754, + "col": 9371, + "cola": 15444, + "colbert": 31647, + "colby": 32068, + "colchester": 31715, + "cold": 11146, + "cold": 3153, + "colder": 23859, + "coldest": 31438, + "coldplay": 27770, + "cole": 9305, + "cole": 8166, + "coleman": 15774, + "coles": 40265, + "coles": 30398, + "coli": 18877, + "coli": 15910, + "colin": 20989, + "colin": 10238, + "coliseum": 21836, + "coll": 25982, + "coll": 23898, + "colla": 2929, + "collab": 14013, + "collabor": 4437, + "collaborate": 21271, + "collaborated": 42265, + "collaborating": 25545, + "collaboration": 6642, + "collaborations": 36520, + "collaborative": 15841, + "collaborator": 48186, + "collaborators": 45901, + "collage": 11258, + "collagen": 36120, + "collap": 16881, + "collapse": 16520, + "collapsed": 25037, + "collapses": 43601, + "collar": 39662, + "collar": 13497, + "collateral": 44512, + "colle": 1801, + "colleague": 13067, + "colleagues": 8203, + "collec": 1733, + "collect": 10186, + "collected": 11980, + "collecti": 18530, + "collectible": 25680, + "collectibles": 21519, + "collecting": 10325, + "collection": 2548, + "collections": 12760, + "collective": 10162, + "collectively": 40687, + "collector": 13522, + "collectors": 20540, + "collects": 31576, + "colleen": 31020, + "college": 13512, + "college": 2229, + "colleges": 17357, + "collegi": 16311, + "collegiate": 18068, + "colli": 8262, + "collide": 27214, + "collie": 30611, + "collier": 35748, + "collin": 24056, + "collin": 32116, + "colling": 32319, + "collingwood": 45873, + "collins": 8684, + "collision": 15407, + "collo": 25115, + "colloqui": 37243, + "colloquium": 46514, + "collu": 25658, + "collusion": 33864, + "colo": 7300, + "colo": 27288, + "cologne": 22216, + "cology": 19187, + "colom": 8987, + "colombia": 12901, + "colombian": 28701, + "colombo": 33207, + "colon": 8280, + "colon": 29050, + "colonel": 22674, + "coloni": 22667, + "colonial": 16530, + "colonialism": 43385, + "colonies": 38738, + "colony": 18767, + "color": 4036, + "color": 3140, + "colorado": 34580, + "colorado": 6742, + "colorec": 41171, + "colored": 11775, + "colorful": 11444, + "colori": 28764, + "coloring": 17696, + "colorized": 46730, + "colors": 5389, + "colorstv": 28195, + "colorway": 44576, + "colossal": 40258, + "colosse": 48142, + "colossus": 34022, + "colour": 10240, + "colour": 4769, + "coloured": 17111, + "colourful": 15562, + "colouring": 31803, + "colours": 7626, + "cols": 35726, + "colt": 19726, + "colton": 32249, + "coltrane": 42333, + "colts": 16135, + "colum": 4164, + "columb": 31043, + "columbi": 25947, + "columbia": 9410, + "columbus": 11273, + "column": 10593, + "columnist": 28958, + "columns": 29056, + "com": 610, + "com": 2464, + "coma": 19620, + "comb": 3587, + "comb": 16380, + "combat": 35083, + "combat": 9275, + "combating": 46121, + "combe": 14363, + "combin": 25112, + "combination": 11312, + "combinations": 34950, + "combine": 12919, + "combined": 10427, + "combines": 22991, + "combining": 23561, + "combo": 10155, + "combos": 48117, + "combs": 30694, + "combu": 35629, + "combustion": 44654, + "comcast": 30043, + "come": 4225, + "come": 891, + "comeback": 8234, + "comedian": 13848, + "comedians": 33758, + "comedic": 43360, + "comedy": 19346, + "comedy": 4749, + "comer": 42997, + "comer": 20916, + "comers": 34436, + "comes": 2091, + "comet": 21405, + "comets": 40636, + "comey": 22957, + "comfor": 6563, + "comfort": 44000, + "comfort": 7808, + "comfortable": 8652, + "comfortably": 30392, + "comforting": 33835, + "comforts": 42243, + "comfy": 15736, + "comi": 40781, + "comic": 7729, + "comic": 4962, + "comicart": 46018, + "comicbook": 46564, + "comicbooks": 22018, + "comiccon": 18379, + "comicon": 43820, + "comics": 4256, + "comin": 18164, + "coming": 14916, + "coming": 1171, + "comingsoon": 19894, + "comm": 965, + "comm": 11413, + "comman": 39780, + "command": 18391, + "command": 11350, + "commander": 11265, + "commanders": 41667, + "commanding": 36933, + "commandments": 43409, + "commando": 31361, + "commands": 38163, + "comme": 29692, + "commemor": 9495, + "commemorate": 21242, + "commemorates": 45149, + "commemorating": 28734, + "commemoration": 29288, + "commemorative": 24623, + "commen": 15795, + "commence": 25059, + "commenced": 43908, + "commencement": 21666, + "commences": 48551, + "commend": 37555, + "commended": 40702, + "comment": 20035, + "comment": 5761, + "commentary": 14146, + "commentator": 32016, + "commented": 28328, + "commenting": 37292, + "comments": 6606, + "commer": 4028, + "commerce": 8333, + "commerci": 15601, + "commercial": 31802, + "commercial": 6287, + "commercials": 30724, + "commish": 45399, + "commissi": 6000, + "commission": 5292, + "commissioned": 16565, + "commissioner": 10221, + "commissioners": 30702, + "commissioning": 29585, + "commissions": 20668, + "commit": 3041, + "commit": 11797, + "commitment": 7770, + "commitments": 32136, + "commits": 20241, + "committed": 7907, + "committee": 5636, + "committees": 40504, + "committing": 21937, + "commod": 9496, + "commodities": 30350, + "commodity": 29041, + "commodore": 31129, + "common": 8414, + "common": 4176, + "commonly": 20344, + "commons": 16653, + "commonwealth": 16569, + "comms": 18832, + "commu": 9561, + "commun": 1515, + "communal": 32809, + "communi": 16164, + "communic": 4784, + "communicate": 19809, + "communication": 7999, + "communications": 10052, + "communion": 28579, + "communism": 35387, + "communist": 18602, + "communities": 6361, + "community": 14784, + "community": 1927, + "commute": 15898, + "commuter": 27782, + "commuters": 30823, + "commuting": 43503, + "como": 16236, + "comp": 2561, + "comp": 11679, + "compac": 40014, + "compact": 13690, + "compan": 1995, + "companies": 5361, + "companion": 14963, + "companions": 37124, + "company": 2634, + "compar": 7580, + "comparable": 27092, + "comparative": 33388, + "compare": 13771, + "compared": 10544, + "compares": 25104, + "comparing": 20564, + "comparison": 14186, + "comparisons": 40870, + "compart": 30072, + "compartment": 40383, + "compass": 19438, + "compassion": 14463, + "compassionate": 30193, + "compati": 17295, + "compatibility": 41614, + "compatible": 21286, + "compe": 5254, + "compelled": 49375, + "compelling": 21766, + "compen": 42079, + "compens": 15172, + "compensation": 18663, + "compet": 2932, + "compete": 10038, + "competed": 27767, + "competen": 31853, + "competence": 31165, + "competency": 49293, + "competent": 28113, + "competes": 39826, + "competing": 13068, + "competit": 15892, + "competiti": 32581, + "competition": 3742, + "competitions": 23259, + "competitive": 10687, + "competitiveness": 43209, + "competitor": 26633, + "competitors": 23638, + "compilation": 20446, + "compiled": 34579, + "compla": 7428, + "complain": 19292, + "complained": 42029, + "complaining": 20812, + "complains": 46363, + "complaint": 20391, + "complaints": 20020, + "comple": 1730, + "complement": 36624, + "complementary": 48953, + "complete": 3263, + "completed": 5976, + "completely": 5989, + "completes": 19321, + "completing": 14949, + "completion": 15915, + "complex": 16099, + "complex": 6324, + "complexes": 47870, + "complexion": 47732, + "complexity": 24815, + "compli": 5270, + "compliance": 14658, + "compliant": 29893, + "complic": 11460, + "complicated": 16621, + "complications": 29936, + "compliment": 25116, + "complimentary": 20948, + "compliments": 25477, + "comply": 36281, + "component": 21284, + "components": 16816, + "compos": 7783, + "compose": 43659, + "composed": 19916, + "composer": 12104, + "composers": 33314, + "composing": 40412, + "composite": 21606, + "composites": 45395, + "composition": 17510, + "compositions": 44652, + "compost": 46002, + "compost": 33307, + "compound": 19980, + "compounds": 33991, + "compre": 8483, + "compreh": 42976, + "comprehen": 12050, + "comprehend": 48230, + "comprehensive": 13854, + "compress": 33353, + "compressed": 42359, + "compression": 25638, + "compressor": 39607, + "compri": 29445, + "compromise": 26611, + "compromised": 38576, + "compromising": 45436, + "comps": 48665, + "compton": 28364, + "compu": 11639, + "compul": 25869, + "compulsory": 39345, + "computing": 12732, + "comra": 25553, + "comrade": 30844, + "comrades": 29282, + "coms": 30493, + "con": 616, + "con": 2457, + "cona": 30605, + "conan": 24750, + "conce": 9145, + "concealed": 35419, + "conceded": 37895, + "conceived": 39725, + "concentr": 11085, + "concentrate": 30846, + "concentrated": 36776, + "concentration": 18565, + "concep": 8389, + "concepcion": 47035, + "concept": 6353, + "conceptart": 31162, + "conception": 30510, + "conceptions": 40307, + "concepts": 16763, + "conceptu": 42745, + "conceptual": 34070, + "concer": 2228, + "concern": 12928, + "concerned": 12020, + "concerning": 21772, + "concerns": 11134, + "concert": 32180, + "concert": 3066, + "concerto": 24710, + "concerts": 14418, + "concession": 38117, + "concessions": 43981, + "concier": 28859, + "concierge": 39850, + "conclave": 38098, + "conclu": 9627, + "conclude": 37525, + "concluded": 27825, + "concludes": 30634, + "conclusion": 20932, + "conclusions": 39507, + "conco": 43034, + "concor": 19913, + "concord": 26448, + "concordia": 35492, + "concours": 36282, + "concourse": 37793, + "concre": 43658, + "concrete": 9637, + "concussion": 28321, + "condem": 13287, + "condemn": 27212, + "condemned": 35145, + "condemns": 32092, + "conden": 24816, + "conditi": 11170, + "condition": 36978, + "condition": 7336, + "conditional": 24671, + "conditioned": 37014, + "conditioner": 31239, + "conditioning": 18181, + "conditions": 5892, + "condo": 19952, + "condol": 18661, + "condolences": 20836, + "condom": 39021, + "condomin": 42589, + "condoms": 37878, + "condor": 47643, + "condos": 42342, + "condu": 40772, + "conduc": 5379, + "conduct": 11647, + "conducted": 13080, + "conducting": 16787, + "conductor": 22317, + "conducts": 32084, + "cone": 39279, + "cone": 10266, + "cones": 26718, + "coney": 41837, + "conf": 6477, + "confe": 1968, + "confeder": 17104, + "confederate": 24864, + "confederation": 43484, + "conferen": 37961, + "conference": 2230, + "conferences": 22811, + "conferencing": 47320, + "confess": 38860, + "confession": 22572, + "confessions": 29404, + "confetti": 37923, + "confi": 5005, + "confidence": 8510, + "confident": 12365, + "confidential": 28712, + "configu": 46746, + "configur": 26950, + "configuration": 33378, + "confin": 45316, + "confined": 40973, + "confir": 3930, + "confirm": 12130, + "confirmation": 19645, + "confirmed": 6346, + "confirming": 38433, + "confirms": 11803, + "confis": 36285, + "confit": 42241, + "confl": 8173, + "conflic": 19029, + "conflict": 10397, + "conflicting": 43894, + "conflicts": 28713, + "confor": 40933, + "confron": 20033, + "confront": 38382, + "confrontation": 41478, + "confu": 6890, + "confuse": 37503, + "confused": 10946, + "confusing": 24683, + "confusion": 20493, + "cong": 24407, + "conge": 20013, + "congestion": 24432, + "congo": 20334, + "congr": 1227, + "congrats": 1887, + "congratul": 1750, + "congratulate": 16633, + "congratulated": 42004, + "congratulates": 24580, + "congratulating": 30967, + "congratulation": 24751, + "congratulations": 1864, + "congre": 7947, + "congreg": 40727, + "congregation": 32618, + "congress": 12452, + "congress": 4599, + "congressional": 15239, + "congressman": 17145, + "congresswoman": 37317, + "coni": 39031, + "coni": 36651, + "conj": 41543, + "conju": 33821, + "conjunction": 34226, + "conley": 44536, + "conline": 37593, + "conn": 41836, + "conn": 20329, + "conne": 8437, + "connec": 29933, + "connect": 19969, + "connected": 27506, + "connecting": 41429, + "connection": 26840, + "connections": 37161, + "connie": 25739, + "connoisse": 46012, + "connol": 27739, + "connolly": 29537, + "connor": 21984, + "connor": 10218, + "conom": 2664, + "conomy": 22529, + "conor": 29955, + "conor": 19478, + "conqu": 13382, + "conquer": 38585, + "conquer": 19821, + "conquered": 27099, + "conquering": 43778, + "conquest": 35367, + "conrad": 22073, + "cons": 10311, + "consci": 9427, + "conscience": 27310, + "conscious": 14914, + "consciously": 46755, + "consciousness": 17894, + "conse": 34887, + "consecu": 12084, + "consecutive": 12413, + "consen": 23110, + "consensus": 25071, + "consent": 21922, + "consequ": 13003, + "consequence": 42262, + "consequences": 15682, + "conserv": 4649, + "conservancy": 46729, + "conservation": 37616, + "conservation": 8322, + "conservative": 11421, + "conservatives": 17631, + "conservatory": 32140, + "conserve": 34231, + "consi": 2899, + "consider": 12471, + "consider": 6734, + "considerable": 38256, + "considerably": 38510, + "consideration": 24310, + "considerations": 33700, + "considered": 9487, + "considering": 10761, + "considers": 24691, + "consist": 10410, + "consist": 33735, + "consisted": 49354, + "consistency": 25683, + "consistent": 16439, + "consistently": 23799, + "consisting": 39241, + "consists": 23458, + "consol": 27869, + "consolation": 38888, + "console": 13403, + "consoles": 33136, + "consoli": 21586, + "consolidation": 41111, + "consor": 27108, + "consortium": 29988, + "conspir": 12680, + "conspiracy": 15236, + "const": 3826, + "constable": 29179, + "constan": 38718, + "constance": 40682, + "constant": 32000, + "constant": 13111, + "constantine": 30640, + "constantly": 14336, + "constell": 21913, + "constellation": 25991, + "constitu": 6299, + "constituency": 22464, + "constituents": 32075, + "constitution": 12157, + "constitutional": 16091, + "constra": 28973, + "constraints": 41910, + "constru": 3983, + "construc": 13321, + "construct": 24467, + "constructed": 16876, + "constructing": 33653, + "construction": 48873, + "construction": 4585, + "constructive": 31810, + "consu": 4689, + "consul": 5295, + "consul": 33630, + "consulate": 34341, + "consult": 9438, + "consult": 26727, + "consultancy": 31735, + "consultant": 14196, + "consultants": 27203, + "consultation": 15777, + "consultations": 43424, + "consulting": 15883, + "consume": 28919, + "consumed": 29653, + "consumer": 34408, + "consumer": 10422, + "consumers": 14014, + "consuming": 30607, + "consumption": 14904, + "cont": 2036, + "cont": 21425, + "contact": 39367, + "contact": 3523, + "contacted": 37331, + "contacts": 22789, + "contag": 29259, + "contagious": 33984, + "contain": 9948, + "contain": 15187, + "contained": 23836, + "container": 14913, + "containers": 20448, + "containing": 20281, + "contains": 12844, + "contamin": 24662, + "contaminated": 35773, + "contamination": 31770, + "conte": 15402, + "conte": 26882, + "contempl": 21924, + "contemplating": 33854, + "contempor": 14538, + "contemporary": 16607, + "contemporary": 8859, + "contemporaryart": 20212, + "contempt": 39293, + "conten": 42201, + "contender": 23573, + "contenders": 29711, + "content": 15526, + "content": 4750, + "contentmarketing": 20429, + "contents": 14850, + "contest": 23103, + "contest": 4576, + "contestalert": 27313, + "contestant": 25682, + "contestants": 28062, + "contested": 37845, + "contests": 32210, + "contex": 42015, + "context": 13089, + "conti": 46431, + "conti": 40842, + "contin": 1918, + "continent": 19623, + "continental": 14089, + "continents": 38642, + "conting": 27104, + "contingent": 36467, + "continu": 4688, + "continually": 34086, + "continuation": 38964, + "continue": 3942, + "continued": 10150, + "continues": 4305, + "continuing": 11009, + "continuity": 34035, + "continuous": 17033, + "continuously": 29634, + "continuum": 44978, + "contour": 34733, + "contr": 22871, + "contra": 9880, + "contra": 38620, + "contrac": 7581, + "contracep": 35109, + "contract": 6120, + "contracting": 39091, + "contractor": 21429, + "contractors": 22427, + "contracts": 16563, + "contradic": 27957, + "contrary": 32805, + "contrast": 18501, + "contrasting": 40758, + "contribu": 4753, + "contribute": 14112, + "contributed": 19397, + "contributes": 34203, + "contributing": 21762, + "contribution": 11116, + "contributions": 14465, + "contributor": 24553, + "contributors": 32908, + "contro": 2372, + "control": 9963, + "control": 3366, + "controlled": 14140, + "controller": 12929, + "controllers": 30374, + "controlling": 26427, + "controls": 15746, + "controversi": 13674, + "controversial": 14617, + "controversy": 18659, + "conv": 48382, + "conve": 18421, + "conven": 7283, + "conveni": 33278, + "convenience": 17859, + "convenient": 18978, + "conveniently": 40844, + "convention": 6752, + "conventional": 20835, + "conventions": 41404, + "conver": 6336, + "convergence": 35381, + "convers": 4577, + "conversation": 5690, + "conversations": 12326, + "converse": 24149, + "conversion": 15111, + "conversions": 44137, + "convert": 20074, + "converted": 20808, + "converter": 34611, + "convertible": 19608, + "converting": 34674, + "converts": 42470, + "convey": 38342, + "convic": 11150, + "convicted": 18668, + "conviction": 24967, + "convictions": 44366, + "convin": 12889, + "convince": 20351, + "convinced": 17388, + "convincing": 27742, + "convo": 19372, + "convocation": 30674, + "convos": 44842, + "convoy": 30292, + "conway": 21410, + "conwy": 48971, + "cony": 14501, + "coo": 1664, + "coo": 21691, + "coogs": 47624, + "cook": 9726, + "cook": 5977, + "cookbook": 21086, + "cooke": 29979, + "cooked": 11452, + "cooker": 23806, + "cookery": 38779, + "cookie": 9367, + "cookies": 8320, + "cookin": 46610, + "cooking": 39248, + "cooking": 6283, + "cookout": 39743, + "cooks": 24256, + "cool": 5594, + "cool": 2077, + "cooled": 37170, + "cooler": 11078, + "coolest": 10566, + "cooling": 15291, + "coom": 41726, + "coon": 34260, + "coon": 16958, + "coop": 39917, + "coop": 18910, + "cooper": 7264, + "cooper": 8133, + "cooperate": 42936, + "cooperation": 11785, + "cooperative": 24517, + "coops": 48531, + "coordin": 8187, + "coordinate": 38250, + "coordinated": 32540, + "coordinating": 40075, + "coordination": 25611, + "coordinator": 13967, + "coors": 36025, + "cop": 3196, + "cop": 7070, + "copa": 22749, + "copd": 45876, + "cope": 47635, + "cope": 12564, + "copeland": 37604, + "copen": 15637, + "copenhagen": 17390, + "coper": 41891, + "copernic": 45519, + "copied": 36770, + "copies": 9851, + "coping": 30545, + "copolitics": 45846, + "copp": 20937, + "copped": 42229, + "copper": 24741, + "copper": 10333, + "coppola": 47427, + "cops": 10719, + "copter": 28049, + "copy": 11376, + "copy": 4509, + "copying": 38925, + "copyright": 15778, + "cor": 851, + "cor": 18559, + "cora": 34953, + "coral": 31220, + "coral": 12054, + "corbett": 35699, + "corbin": 35578, + "corbyn": 14026, + "cord": 40893, + "cord": 11181, + "corden": 41999, + "cordi": 41681, + "cordless": 44412, + "cords": 22164, + "core": 19622, + "core": 5000, + "cores": 37874, + "corey": 31279, + "corey": 15288, + "corgi": 31320, + "cori": 26508, + "coriander": 37491, + "corin": 17716, + "corinthians": 34471, + "cork": 18148, + "cork": 10376, + "corn": 5202, + "corn": 5894, + "cornelius": 45865, + "cornell": 38689, + "cornell": 20859, + "corner": 18509, + "corner": 5253, + "corners": 19584, + "cornerstone": 36280, + "cornish": 23774, + "cornwall": 37903, + "cornwall": 10777, + "coron": 13210, + "corona": 25564, + "coronado": 43946, + "coronary": 45955, + "coronation": 25014, + "coroner": 47241, + "corp": 29203, + "corp": 10918, + "corpor": 4258, + "corporal": 42445, + "corporate": 33877, + "corporate": 6838, + "corporation": 11282, + "corporations": 25482, + "corps": 11330, + "corpse": 29408, + "corpus": 31672, + "correc": 5011, + "correct": 8340, + "corrected": 35628, + "correction": 20843, + "correctional": 38030, + "corrections": 37507, + "correctly": 15359, + "correlation": 29218, + "correspon": 20203, + "correspondent": 29996, + "corri": 12974, + "corridor": 20592, + "corrie": 23961, + "corro": 24936, + "corro": 42033, + "corrosion": 39191, + "corru": 6501, + "corrup": 30429, + "corrupt": 15194, + "corruption": 9141, + "corsa": 47670, + "corsair": 42367, + "corset": 40408, + "cortex": 40109, + "cortez": 30461, + "corvette": 24367, + "cory": 23221, + "cory": 18329, + "cos": 5865, + "cos": 5700, + "cosby": 30324, + "cosc": 45944, + "coscino": 47909, + "cose": 26495, + "cosm": 37486, + "cosme": 9628, + "cosmetic": 23918, + "cosmetics": 12896, + "cosmic": 47398, + "cosmic": 18304, + "cosmo": 12829, + "cosmo": 32072, + "cosmopolitan": 35518, + "cosmos": 22151, + "cospla": 15149, + "cosplay": 42401, + "cosplay": 6435, + "cosplayer": 30215, + "cosplaying": 46701, + "cost": 11360, + "cost": 4713, + "costa": 10480, + "costar": 28659, + "costarica": 31272, + "costco": 31045, + "costello": 30667, + "costing": 39193, + "costly": 30170, + "costs": 7628, + "costu": 5786, + "costume": 7235, + "costumes": 15150, + "cosy": 22848, + "cot": 4718, + "cot": 5871, + "cote": 44234, + "cote": 20751, + "cotland": 32576, + "cotsw": 23303, + "cotswolds": 35546, + "cott": 8211, + "cott": 11349, + "cottage": 12155, + "cottages": 34405, + "cotton": 22218, + "cotton": 7050, + "cou": 1368, + "couch": 12724, + "cougar": 35028, + "cougar": 27042, + "cougars": 20425, + "cough": 35631, + "cough": 18498, + "cougs": 28482, + "coul": 22483, + "could": 44812, + "could": 1510, + "couldn": 4072, + "couldnt": 29042, + "coulter": 42291, + "coun": 939, + "counc": 12927, + "council": 18187, + "council": 3620, + "councill": 15732, + "councillor": 21179, + "councillors": 29695, + "councilman": 40833, + "councils": 29938, + "counsel": 13780, + "counsel": 19814, + "counseling": 25000, + "counsell": 47510, + "counselling": 40581, + "counselor": 26148, + "counselors": 38688, + "count": 6073, + "count": 5887, + "countdown": 39559, + "countdown": 7500, + "counted": 23149, + "counter": 10134, + "counter": 7352, + "counterfe": 33067, + "counterfeit": 44242, + "counterpart": 39216, + "counterparts": 42106, + "counters": 46170, + "countess": 46276, + "counties": 12338, + "counting": 9723, + "countless": 21819, + "countries": 5489, + "country": 7896, + "country": 2157, + "countryfile": 47023, + "countrymusic": 30372, + "countryside": 16303, + "counts": 12264, + "county": 18734, + "county": 2116, + "coup": 9871, + "coup": 16479, + "coupe": 16773, + "couple": 40136, + "couple": 3377, + "coupled": 37153, + "couples": 14752, + "coupling": 45595, + "coupon": 14019, + "coupons": 23945, + "cour": 1391, + "coura": 4436, + "courage": 9828, + "courageous": 25005, + "courier": 27217, + "cours": 21493, + "course": 43225, + "course": 2613, + "courses": 9464, + "court": 16837, + "court": 2908, + "courte": 5088, + "courtesy": 5228, + "courthouse": 22205, + "courtney": 33601, + "courtney": 15990, + "courtroom": 41071, + "courts": 13514, + "courty": 20121, + "courtyard": 21900, + "cous": 48397, + "cousin": 7780, + "cousins": 14073, + "cout": 29118, + "coutinho": 35530, + "couture": 14808, + "cov": 19384, + "cov": 48385, + "cove": 21700, + "cove": 14708, + "coven": 12483, + "covenant": 29647, + "coventry": 18007, + "cover": 13534, + "cover": 2202, + "coverage": 6810, + "covered": 5603, + "covering": 9462, + "covers": 7745, + "covert": 40134, + "coveted": 36119, + "covington": 43196, + "cow": 5076, + "cow": 9706, + "cowan": 42699, + "coward": 33729, + "cowards": 48972, + "cowboy": 25833, + "cowboy": 13657, + "cowboys": 11864, + "cowboysnation": 43082, + "cowell": 39015, + "cowgirl": 47090, + "coworker": 30727, + "coworkers": 30821, + "coworking": 36034, + "cows": 15204, + "cowx": 23831, + "cox": 25784, + "cox": 11597, + "coy": 12765, + "coy": 15742, + "coyi": 48407, + "coyle": 45348, + "coyne": 44729, + "coyo": 16614, + "coyote": 26586, + "coyotes": 30423, + "coys": 19736, + "coz": 39922, + "coz": 14282, + "cozy": 14873, + "cp": 7905, + "cp": 9130, + "cpa": 30095, + "cpac": 45731, + "cpc": 26125, + "cpd": 23402, + "cpec": 48007, + "cpfc": 27553, + "cpi": 41795, + "cpl": 26852, + "cpr": 25134, + "cps": 27078, + "cpt": 32892, + "cpu": 27700, + "cq": 48910, + "cq": 48417, + "cr": 1075, + "cr": 3483, + "cra": 1184, + "cra": 18362, + "crab": 27382, + "crab": 11574, + "crabs": 30908, + "crack": 11222, + "crack": 10334, + "crackdown": 29527, + "cracked": 19826, + "cracker": 16298, + "crackers": 26200, + "cracking": 13008, + "cracks": 21426, + "cracy": 24749, + "cradle": 29384, + "crae": 40438, + "craf": 10873, + "craft": 7717, + "craft": 3588, + "craftbeer": 12371, + "crafted": 12424, + "crafthour": 42324, + "crafting": 26886, + "crafts": 33276, + "crafts": 13383, + "craftsman": 39528, + "craftsmanship": 36682, + "crafty": 32317, + "craic": 46962, + "craig": 14042, + "craig": 8061, + "craigslist": 43865, + "cram": 29809, + "cramer": 44592, + "cramps": 46106, + "cran": 7761, + "cranberries": 49361, + "cranberry": 23824, + "crane": 14626, + "cranes": 26979, + "crani": 45674, + "crank": 46246, + "crank": 32283, + "cranston": 44340, + "crap": 11899, + "crappy": 30475, + "crash": 37150, + "crash": 5033, + "crashed": 16638, + "crashes": 17013, + "crashing": 24991, + "crat": 46696, + "crate": 24756, + "crater": 22663, + "crates": 30172, + "cratic": 32175, + "crative": 39999, + "crats": 43056, + "crave": 33397, + "craven": 33625, + "craving": 18344, + "cravings": 34476, + "craw": 7400, + "crawfish": 42772, + "crawford": 15918, + "crawl": 20106, + "crawler": 41012, + "crawley": 42316, + "crawling": 37066, + "cray": 24184, + "cray": 27032, + "crayon": 41801, + "crayons": 43508, + "craz": 25776, + "craze": 30637, + "craziest": 32690, + "craziness": 46436, + "crazy": 17540, + "crazy": 3578, + "crc": 25618, + "cre": 798, + "cre": 17762, + "cream": 23184, + "cream": 3867, + "creams": 41447, + "creamy": 17206, + "crease": 48441, + "create": 30949, + "create": 3380, + "created": 4080, + "creates": 10361, + "creati": 6714, + "creating": 5524, + "creation": 38293, + "creation": 6900, + "creations": 17411, + "creative": 15237, + "creative": 4450, + "creatives": 29352, + "creativity": 9636, + "creator": 10173, + "creators": 17981, + "creature": 14317, + "creatures": 13938, + "cred": 7314, + "cred": 22377, + "credenti": 29487, + "credentials": 33422, + "credi": 21097, + "credibility": 34984, + "credible": 32983, + "credit": 21467, + "credit": 3900, + "credited": 32480, + "credits": 10654, + "creds": 43462, + "cree": 33961, + "cree": 36014, + "creed": 18845, + "creek": 26120, + "creek": 5526, + "creep": 8153, + "creep": 26084, + "creeper": 38662, + "creeping": 29697, + "creeps": 45135, + "creepy": 11943, + "creighton": 42823, + "creme": 22681, + "creole": 45632, + "crepe": 38611, + "crescent": 18211, + "cress": 39124, + "crest": 35985, + "crest": 15760, + "crested": 36656, + "crete": 8584, + "crew": 21560, + "crew": 3462, + "crewe": 43284, + "crews": 10463, + "cri": 1621, + "cri": 38962, + "crib": 23271, + "cric": 4328, + "cricke": 19098, + "cricket": 21859, + "cricket": 5373, + "cricketer": 28439, + "cricketers": 43986, + "cried": 15290, + "cries": 19769, + "crime": 13872, + "crime": 4896, + "crimea": 28614, + "crimes": 11827, + "crimin": 5874, + "criminal": 30197, + "criminal": 8255, + "criminals": 18783, + "crimson": 19437, + "cringe": 42588, + "cripp": 33588, + "cris": 37818, + "crises": 36403, + "crisis": 5712, + "crisp": 15145, + "crispr": 39784, + "crisps": 35744, + "crispy": 16458, + "criss": 29708, + "cristi": 12699, + "cristian": 48808, + "cristiano": 14807, + "cristina": 33395, + "cristo": 38315, + "crit": 3613, + "crit": 48130, + "criteri": 33627, + "criteria": 24849, + "criterion": 43841, + "criti": 25333, + "critic": 12417, + "critic": 19361, + "critical": 15314, + "critical": 6808, + "critically": 21570, + "criticalrole": 33606, + "criticalrole": 22742, + "criticalrolefanart": 43663, + "critici": 20333, + "criticism": 17405, + "criticize": 46081, + "criticized": 41557, + "critics": 16946, + "critique": 32982, + "critters": 35423, + "crm": 22610, + "cro": 1192, + "cro": 22522, + "croati": 28072, + "croatia": 13323, + "croatian": 34795, + "croc": 43350, + "croche": 35352, + "crochet": 17554, + "crock": 41685, + "crocker": 47843, + "crockett": 48313, + "crocod": 24519, + "crocodile": 24757, + "crocs": 38988, + "croft": 16657, + "croissant": 46011, + "croix": 44735, + "crom": 25082, + "crombie": 46162, + "cromwell": 45345, + "cron": 17361, + "croo": 16443, + "crook": 43744, + "crooked": 48473, + "crooked": 25644, + "crooks": 44226, + "crop": 40751, + "crop": 9955, + "cropped": 31139, + "crops": 16290, + "crore": 18274, + "crores": 37281, + "cros": 16670, + "crosby": 21095, + "cross": 5266, + "cross": 3417, + "crossed": 11731, + "crosses": 20473, + "crossfit": 47214, + "crossfit": 20395, + "crossing": 8673, + "crossings": 43517, + "crossover": 17194, + "crossroads": 27427, + "crossword": 32945, + "crou": 31206, + "crouch": 36506, + "crow": 3138, + "crow": 16019, + "crowd": 12036, + "crowd": 4570, + "crowded": 20182, + "crowdfunding": 17971, + "crowds": 16092, + "crowe": 33560, + "crowley": 32287, + "crown": 22190, + "crown": 6902, + "crowned": 16109, + "crowns": 33229, + "crows": 27134, + "croy": 21676, + "croydon": 27116, + "crs": 28449, + "crt": 43877, + "cru": 1815, + "cru": 29788, + "cruci": 18499, + "crucial": 12396, + "crude": 20677, + "cruel": 16073, + "cruel": 17573, + "cruelty": 20675, + "cruis": 27721, + "cruise": 36425, + "cruise": 6764, + "cruiser": 21394, + "cruises": 19214, + "cruising": 19743, + "crum": 43268, + "crumb": 48327, + "crumb": 39909, + "crumble": 36595, + "crumbs": 35893, + "crun": 17407, + "crunch": 16620, + "crunchy": 31366, + "crusad": 19133, + "crusade": 36846, + "crusader": 40171, + "crusaders": 31319, + "crush": 22296, + "crush": 7610, + "crushed": 18270, + "crusher": 44923, + "crushes": 35844, + "crushing": 20790, + "crust": 23136, + "crusted": 37314, + "cruz": 33689, + "cruz": 8403, + "cry": 2837, + "cry": 6290, + "crying": 6828, + "cryo": 32215, + "cryp": 4865, + "crypt": 37814, + "cryptic": 46925, + "crypto": 8080, + "crypto": 9608, + "cryptocurrencies": 33329, + "cryptocurrency": 12070, + "cryst": 15891, + "crystal": 17387, + "crystal": 6517, + "crystalli": 47551, + "crystals": 18350, + "cs": 11978, + "cs": 2804, + "csa": 26355, + "csc": 41727, + "csc": 37266, + "csd": 36913, + "cse": 41659, + "csg": 47085, + "csgo": 28928, + "csi": 41750, + "csi": 28070, + "csk": 43036, + "csm": 40061, + "csn": 46329, + "cso": 43864, + "csp": 39243, + "csr": 32105, + "csr": 24598, + "csrracing": 44193, + "css": 41418, + "css": 19846, + "cst": 17016, + "csu": 35948, + "csu": 31261, + "csw": 41031, + "ct": 3381, + "ct": 1122, + "cta": 28397, + "ctar": 27842, + "ctc": 34123, + "cte": 31410, + "cted": 2910, + "ctf": 35250, + "cthulhu": 41064, + "cting": 7985, + "ction": 17578, + "ction": 1569, + "ctions": 7021, + "ctive": 9313, + "cto": 17445, + "ctor": 8108, + "ctr": 35602, + "ctr": 18481, + "cts": 6936, + "ctto": 25118, + "ctu": 20834, + "cture": 17668, + "ctv": 21213, + "ctv": 27590, + "cu": 729, + "cu": 11224, + "cuando": 40388, + "cub": 16938, + "cub": 19972, + "cuba": 11576, + "cuban": 15536, + "cube": 47753, + "cube": 11353, + "cubes": 31413, + "cubic": 48159, + "cubic": 29614, + "cubs": 9858, + "cuck": 26364, + "cuckoo": 38062, + "cucu": 16705, + "cucumber": 19787, + "cucumbers": 48065, + "cud": 42684, + "cudd": 12820, + "cuddle": 19568, + "cuddles": 24001, + "cuddling": 29696, + "cuddly": 36208, + "cudi": 48713, + "cue": 13424, + "cuer": 39506, + "cues": 35719, + "cuff": 34693, + "cuff": 22414, + "cufflinks": 43938, + "cuffs": 37221, + "cuis": 9938, + "cuisine": 10605, + "cuk": 34838, + "cul": 1877, + "cula": 35935, + "cular": 10940, + "culars": 45719, + "cule": 31066, + "cules": 18984, + "culin": 14772, + "culinary": 16466, + "cull": 21880, + "cull": 42061, + "cullen": 25973, + "culmin": 33778, + "culo": 36305, + "culprit": 41593, + "cult": 11965, + "cultiv": 16781, + "cultivate": 42983, + "cultivated": 48901, + "cultivation": 41539, + "cultur": 20780, + "cultural": 34908, + "cultural": 6753, + "culturally": 36783, + "culture": 20197, + "culture": 3673, + "cultured": 40176, + "cultures": 19552, + "culver": 42103, + "cum": 20142, + "cum": 27119, + "cumb": 10858, + "cumber": 15309, + "cumberbatch": 27541, + "cumberland": 28747, + "cumbri": 32010, + "cumbria": 17953, + "cumin": 42285, + "cumple": 47050, + "cumul": 42961, + "cumulative": 47610, + "cumulus": 46313, + "cun": 12423, + "cun": 29532, + "cunningham": 25321, + "cuomo": 25681, + "cup": 5059, + "cup": 1937, + "cupboard": 32074, + "cupcake": 17025, + "cupcakes": 12747, + "cupid": 34885, + "cuppa": 28077, + "cups": 11463, + "cur": 1092, + "cur": 33073, + "curated": 20341, + "curator": 20753, + "curb": 21931, + "curd": 38881, + "cure": 36758, + "cure": 9088, + "cured": 26248, + "cures": 38204, + "curfew": 48826, + "curi": 12640, + "curing": 44169, + "curiosity": 21583, + "curious": 9865, + "curl": 24306, + "curled": 43734, + "curling": 18543, + "curls": 24340, + "curly": 20795, + "curran": 40999, + "currant": 43501, + "curren": 6142, + "currencies": 23530, + "currency": 7853, + "current": 3653, + "currently": 3792, + "currents": 35450, + "curric": 16201, + "curriculum": 17947, + "currie": 39385, + "curry": 49285, + "curry": 8051, + "curse": 18479, + "cursed": 26408, + "cursor": 46546, + "curt": 38137, + "curtain": 17223, + "curtains": 30223, + "curti": 39925, + "curtis": 13808, + "curve": 15792, + "curved": 25789, + "curves": 22814, + "curvy": 45788, + "cus": 2736, + "cusa": 47414, + "cuse": 37950, + "cush": 43731, + "cushi": 15333, + "cushion": 20853, + "cushions": 34163, + "cussion": 16658, + "cussions": 46853, + "cust": 20900, + "custard": 26516, + "custo": 4376, + "custody": 16176, + "custom": 2662, + "custom": 4996, + "custome": 41323, + "customer": 24035, + "customer": 5102, + "customerexperience": 45167, + "customers": 5528, + "customerservice": 40611, + "customiz": 41793, + "customizable": 48253, + "customization": 48244, + "customize": 32179, + "customized": 23229, + "customs": 16880, + "cut": 10511, + "cut": 3032, + "cute": 16031, + "cute": 2242, + "cuteness": 19342, + "cuter": 27151, + "cutest": 8032, + "cuth": 44328, + "cutie": 10733, + "cuties": 40939, + "cuties": 23420, + "cutiesaturday": 41883, + "cutler": 40428, + "cutlery": 49073, + "cutout": 45016, + "cuts": 7435, + "cutt": 27338, + "cutt": 47647, + "cutter": 19719, + "cutters": 44783, + "cutting": 7266, + "cuz": 9215, + "cv": 13531, + "cv": 13947, + "cvs": 29603, + "cw": 10652, + "cw": 11065, + "cwc": 19179, + "cwgc": 48527, + "cws": 45186, + "cx": 44457, + "cx": 14283, + "cy": 1470, + "cy": 1678, + "cyber": 5830, + "cyber": 10210, + "cybercrime": 41772, + "cybermonday": 36578, + "cyberpunk": 36896, + "cybersecurity": 10581, + "cyborg": 36650, + "cycl": 9791, + "cycle": 19083, + "cycle": 5072, + "cycled": 31055, + "cycles": 14605, + "cycli": 12201, + "cycling": 26353, + "cycling": 6321, + "cyclist": 20686, + "cyclists": 20303, + "cyclo": 18122, + "cyclone": 48094, + "cyclone": 20917, + "cyclones": 34669, + "cylin": 18569, + "cylinder": 22092, + "cylinders": 48888, + "cymb": 36677, + "cymru": 24005, + "cyn": 14324, + "cynthi": 41994, + "cynthia": 23748, + "cyp": 14809, + "cypress": 25347, + "cypri": 36481, + "cyprus": 15263, + "cyril": 36028, + "cyrus": 14204, + "cystic": 46131, + "cyto": 31864, + "cz": 22898, + "cz": 22921, + "cze": 12152, + "czech": 43151, + "czech": 16141, + "cé": 36454, + "cé": 18317, + "d": 67, + "d": 323, + "da": 925, + "da": 1140, + "daa": 32642, + "daan": 44814, + "dab": 10413, + "dab": 22900, + "dac": 16222, + "dac": 27478, + "daca": 28477, + "dach": 34166, + "dachsh": 41641, + "dachshund": 42720, + "dad": 4346, + "dad": 2639, + "dada": 31325, + "daddy": 29466, + "daddy": 6546, + "dade": 23299, + "dades": 28289, + "dads": 12741, + "dae": 23358, + "dae": 15422, + "daener": 46934, + "daes": 47282, + "daesh": 35047, + "daf": 9972, + "daf": 36704, + "daffodils": 44769, + "daft": 36347, + "dag": 11434, + "dag": 25650, + "dagger": 34251, + "dah": 16976, + "dah": 11776, + "dahl": 45816, + "dahl": 22621, + "dahlia": 41768, + "dai": 13559, + "dai": 10632, + "dail": 14676, + "dailies": 21260, + "daily": 6689, + "daily": 2873, + "dailynews": 43466, + "dailys": 43160, + "dailysketch": 46738, + "daim": 40421, + "dain": 32222, + "dain": 28315, + "daipur": 47631, + "dair": 19998, + "dair": 42078, + "dairy": 25243, + "dairy": 10302, + "dairyfree": 49366, + "dais": 10502, + "daisi": 39947, + "daisies": 40654, + "daisy": 39310, + "daisy": 12865, + "dak": 6999, + "dak": 16095, + "dakar": 31137, + "dakota": 38522, + "dakota": 12358, + "dal": 2476, + "dal": 5601, + "dala": 42675, + "dalai": 41222, + "dalail": 35169, + "dalailama": 35849, + "dale": 11533, + "dale": 4677, + "dalejr": 38207, + "dales": 29031, + "daley": 28544, + "dalgo": 43614, + "dali": 36735, + "dali": 25703, + "dalit": 45432, + "dall": 43631, + "dalla": 16772, + "dallas": 27414, + "dallas": 5759, + "dallascowboys": 33016, + "dalmati": 44275, + "dalton": 21488, + "daly": 24873, + "dam": 1880, + "dam": 4926, + "damage": 6822, + "damaged": 13568, + "damages": 28842, + "damaging": 20610, + "damas": 23345, + "damascus": 25396, + "dame": 10069, + "dames": 44548, + "dami": 17783, + "damian": 43307, + "damian": 25375, + "damien": 25090, + "dammit": 31057, + "damn": 37409, + "damn": 4451, + "damned": 28428, + "damon": 48503, + "damon": 18244, + "damp": 26520, + "dams": 37680, + "dan": 2257, + "dan": 2284, + "dana": 44834, + "dana": 13777, + "danao": 38598, + "danc": 3945, + "dance": 10619, + "dance": 2724, + "danced": 32891, + "dancehall": 33300, + "dancer": 11400, + "dancers": 13153, + "dances": 24083, + "dancing": 33280, + "dancing": 6226, + "dand": 12593, + "dandelion": 38903, + "dandy": 31932, + "dane": 19330, + "danes": 47477, + "dang": 4283, + "dang": 14992, + "danger": 20083, + "danger": 11212, + "dangerous": 7350, + "dangerously": 35012, + "dangers": 23726, + "dangle": 39907, + "dani": 3001, + "dani": 17009, + "daniel": 7859, + "daniel": 4981, + "daniela": 44466, + "danielle": 30396, + "danielle": 15292, + "danielpadilla": 34702, + "daniels": 16146, + "danish": 15467, + "dank": 31849, + "dann": 11951, + "danny": 14950, + "danny": 7621, + "dano": 29703, + "dans": 16241, + "dant": 48097, + "dant": 28237, + "dante": 21911, + "danube": 44594, + "dany": 47816, + "dao": 36099, + "dap": 12149, + "dap": 38034, + "daph": 24591, + "daphne": 31687, + "dapl": 34478, + "dapp": 46857, + "dapper": 26071, + "daq": 25381, + "dar": 1377, + "dar": 6242, + "dara": 17064, + "darby": 34366, + "darcy": 32916, + "dare": 14833, + "dare": 9863, + "daredevil": 28849, + "dares": 42973, + "dareto": 46794, + "dari": 16292, + "dari": 14552, + "daria": 45622, + "daries": 18184, + "daring": 28166, + "dario": 33918, + "darius": 32606, + "darje": 49089, + "dark": 5724, + "dark": 3144, + "darker": 18737, + "darkest": 25898, + "darkness": 10521, + "darling": 13048, + "darlings": 39961, + "darlington": 34565, + "darn": 26059, + "darrell": 33522, + "darren": 20263, + "darren": 12275, + "darry": 29200, + "darryl": 35359, + "darshan": 34564, + "dart": 14001, + "dart": 19841, + "darth": 41304, + "darth": 23164, + "dartmoor": 31477, + "dartmouth": 29667, + "darts": 15246, + "darwin": 43013, + "darwin": 20926, + "daryl": 45607, + "daryl": 24532, + "das": 9940, + "das": 7359, + "dash": 13858, + "dash": 10206, + "dashboard": 27679, + "dashi": 12876, + "dashing": 33825, + "dat": 1717, + "dat": 9445, + "data": 14876, + "data": 2281, + "datab": 11941, + "database": 14678, + "databases": 48384, + "datac": 27329, + "datacenter": 40133, + "datasci": 14496, + "datascience": 15748, + "dataviz": 28138, + "date": 34300, + "date": 1524, + "dated": 13564, + "dates": 7228, + "dating": 8534, + "dation": 15311, + "datlantic": 34270, + "dato": 36075, + "dats": 48674, + "dau": 3162, + "dau": 33828, + "daugh": 42523, + "daughter": 3944, + "daughters": 13585, + "daun": 29470, + "dav": 3700, + "dav": 46488, + "davao": 31502, + "dave": 10089, + "dave": 5077, + "daven": 28350, + "davenport": 34624, + "davey": 33391, + "davi": 1732, + "david": 4640, + "david": 2259, + "davidbowie": 44448, + "davido": 35989, + "davids": 46695, + "davidson": 13166, + "davies": 13120, + "davin": 43187, + "davis": 24426, + "davis": 5536, + "davison": 43725, + "davos": 31887, + "davy": 41565, + "daw": 5971, + "daw": 24404, + "dawg": 18660, + "dawgs": 26431, + "dawn": 30590, + "dawn": 7689, + "dawson": 18611, + "dax": 29458, + "day": 1405, + "day": 575, + "daya": 38165, + "daybreak": 33862, + "daycare": 36363, + "daydream": 41587, + "dayin": 20332, + "daylight": 20809, + "dayo": 29856, + "dayo": 46605, + "dayof": 16272, + "dayofthe": 38043, + "days": 1161, + "daysof": 12379, + "daysofcode": 36537, + "daysto": 29886, + "daystogo": 42198, + "dayswild": 42052, + "daytime": 22830, + "dayton": 35729, + "dayton": 20262, + "daytona": 16335, + "dayweekend": 44526, + "dayz": 35949, + "daz": 15449, + "daz": 43844, + "daze": 33591, + "dazz": 17149, + "dazzle": 41164, + "dazzling": 28821, + "db": 19100, + "db": 8128, + "dbacks": 31175, + "dbs": 40558, + "dbz": 49226, + "dc": 5074, + "dc": 2743, + "dca": 49107, + "dcc": 33747, + "dccomics": 17610, + "dcfc": 35526, + "dci": 35336, + "dcs": 42878, + "dcu": 42647, + "dd": 1353, + "dd": 3766, + "dda": 35202, + "ddad": 39049, + "dday": 32689, + "dday": 26243, + "ddc": 48513, + "ddd": 24183, + "dddd": 35362, + "dden": 5013, + "dder": 9300, + "dders": 24827, + "ddi": 44450, + "ddin": 17175, + "dding": 48101, + "dding": 8974, + "ddings": 49106, + "ddington": 29238, + "ddle": 17633, + "ddle": 8357, + "ddled": 38392, + "ddles": 33901, + "ddleston": 25647, + "ddling": 30981, + "ddlovato": 28244, + "ddos": 46463, + "ddr": 26027, + "dds": 48334, + "ddu": 43836, + "ddy": 14981, + "ddy": 7876, + "de": 561, + "de": 654, + "dea": 18477, + "deacon": 29155, + "dead": 3906, + "dead": 2747, + "deadliest": 40811, + "deadline": 47209, + "deadline": 8458, + "deadlines": 44959, + "deadly": 10756, + "deadpool": 21471, + "deaf": 28229, + "deaf": 18358, + "deal": 7249, + "deal": 2696, + "dealer": 15218, + "dealers": 21697, + "dealership": 32096, + "dealing": 13138, + "deals": 4469, + "dealt": 30101, + "dean": 13807, + "dean": 5828, + "deandre": 43635, + "deans": 46852, + "dear": 15696, + "dear": 3817, + "dearest": 24880, + "dearly": 31880, + "deas": 34715, + "death": 7163, + "death": 2767, + "deaths": 12253, + "deau": 12399, + "deaux": 19883, + "deb": 2987, + "deb": 25687, + "debat": 32082, + "debate": 5196, + "debates": 19239, + "debating": 23472, + "debbie": 47186, + "debbie": 16735, + "debit": 32410, + "debor": 16738, + "deborah": 40997, + "deborah": 22150, + "debra": 33233, + "debris": 19208, + "debt": 8932, + "debts": 38770, + "debu": 9790, + "debun": 33123, + "debut": 42608, + "debut": 4085, + "debuted": 25215, + "debuting": 34817, + "debuts": 17044, + "dec": 3063, + "dec": 4628, + "deca": 33428, + "decad": 29914, + "decade": 11099, + "decadent": 41716, + "decades": 10488, + "decal": 26678, + "decals": 37606, + "decan": 40677, + "decat": 35334, + "decath": 47455, + "decatur": 38540, + "decay": 22703, + "dece": 3534, + "deceased": 30035, + "december": 3864, + "decent": 10698, + "decentr": 28960, + "decentralized": 38485, + "decep": 33529, + "deception": 33046, + "deci": 2262, + "decide": 8447, + "decided": 4939, + "decides": 17269, + "deciding": 22513, + "decision": 5575, + "decisions": 9903, + "decisive": 28690, + "deck": 24885, + "deck": 6943, + "decked": 39096, + "decker": 21449, + "decks": 23968, + "decl": 7091, + "decla": 10739, + "declan": 42341, + "declar": 18040, + "declaration": 19714, + "declare": 19856, + "declared": 13845, + "declares": 23641, + "declaring": 33273, + "decline": 15084, + "declined": 28911, + "declines": 40478, + "declining": 29221, + "deco": 26412, + "deco": 16422, + "decor": 5148, + "decor": 6928, + "decorate": 23651, + "decorated": 15917, + "decorating": 16968, + "decoration": 16029, + "decorations": 19158, + "decorative": 19289, + "decre": 12284, + "decrease": 24703, + "decreased": 33913, + "decreasing": 43763, + "decree": 43327, + "ded": 16744, + "ded": 1241, + "dedic": 4701, + "dedicate": 27610, + "dedicated": 6770, + "dedication": 10188, + "dedly": 36204, + "deduc": 22799, + "dee": 5268, + "dee": 6705, + "deed": 30260, + "deeds": 24516, + "deejay": 48304, + "deejay": 44511, + "deemed": 28102, + "deen": 26456, + "deen": 12912, + "deep": 5462, + "deep": 3383, + "deepak": 45528, + "deeper": 15224, + "deepest": 22245, + "deephouse": 35684, + "deepi": 19371, + "deepika": 34120, + "deepikap": 29903, + "deepikapadukone": 30646, + "deeplear": 22181, + "deeplearning": 24362, + "deeply": 11449, + "deer": 19454, + "deer": 8700, + "deere": 32901, + "dees": 12547, + "deets": 35537, + "def": 2044, + "def": 11649, + "defam": 35670, + "defamation": 42741, + "default": 21650, + "defe": 4148, + "defeat": 8477, + "defeated": 8927, + "defeating": 22594, + "defeats": 16317, + "defect": 44013, + "defects": 37485, + "defen": 3619, + "defence": 30307, + "defence": 9659, + "defend": 21970, + "defend": 11397, + "defended": 27161, + "defender": 10618, + "defenders": 20063, + "defending": 13098, + "defends": 20134, + "defense": 45875, + "defense": 6021, + "defenseman": 43714, + "defenses": 49198, + "defensive": 10824, + "defi": 17244, + "defiance": 36186, + "defiant": 47597, + "defibrill": 47684, + "defic": 18022, + "defici": 23387, + "deficiency": 30685, + "deficit": 20156, + "defin": 3188, + "define": 14919, + "defined": 15278, + "defines": 28218, + "defining": 20504, + "definite": 40793, + "definitely": 4824, + "definition": 11405, + "definitive": 25298, + "defl": 31467, + "deforestation": 41330, + "defstar": 36427, + "defy": 39148, + "defying": 38496, + "deg": 38498, + "degra": 28939, + "degradation": 44468, + "degre": 4653, + "degree": 7119, + "degrees": 8000, + "deh": 35582, + "dei": 33833, + "dei": 23279, + "deir": 42948, + "deity": 42574, + "deja": 46902, + "dek": 23901, + "dekalb": 37775, + "del": 1233, + "del": 2003, + "dela": 37986, + "delaney": 31528, + "delav": 23706, + "delavin": 40477, + "delavin": 40776, + "delavinkisses": 40631, + "delaware": 17547, + "delay": 12955, + "delay": 10934, + "delayed": 14567, + "delaying": 43781, + "delays": 11232, + "dele": 7922, + "dele": 33431, + "delec": 38615, + "delectable": 45500, + "deleg": 8046, + "delegate": 27259, + "delegates": 14623, + "delegation": 14632, + "delete": 19204, + "deleted": 16588, + "deleting": 41857, + "delft": 42749, + "delgado": 49182, + "delhi": 26723, + "delhi": 5717, + "deli": 1932, + "deli": 18601, + "delia": 33193, + "deliber": 18316, + "deliberate": 38271, + "deliberately": 35163, + "delic": 13366, + "delicacy": 49181, + "delicate": 18768, + "delici": 19993, + "delicious": 3959, + "deliciously": 39589, + "deliciousness": 42819, + "delight": 46165, + "delight": 13073, + "delighted": 5943, + "delightful": 15513, + "delights": 25330, + "deline": 18797, + "delines": 13562, + "delish": 25093, + "deliver": 19561, + "deliver": 7396, + "delivered": 7278, + "deliveries": 29336, + "delivering": 9943, + "delivers": 11753, + "delivery": 5619, + "dell": 24381, + "dell": 10242, + "della": 22986, + "delle": 35963, + "deloit": 29428, + "deloitte": 38667, + "dels": 48636, + "delta": 32250, + "delta": 8768, + "delu": 18779, + "delusional": 48059, + "delux": 13709, + "deluxe": 14056, + "delve": 46008, + "dely": 15040, + "dem": 3251, + "dem": 7825, + "dema": 40268, + "dema": 45046, + "deman": 48366, + "demand": 13072, + "demand": 5650, + "demanded": 33699, + "demanding": 17099, + "demands": 14241, + "demar": 46566, + "demarcus": 47873, + "demb": 35930, + "demdebate": 43973, + "deme": 25143, + "demean": 37376, + "demen": 12604, + "dementi": 46028, + "dementia": 14047, + "demetri": 39553, + "demi": 32879, + "demi": 14480, + "demise": 28756, + "demo": 2930, + "demo": 7380, + "democr": 3573, + "democracy": 7758, + "democrat": 15431, + "democratic": 9149, + "democrats": 8865, + "demographic": 31308, + "demol": 19382, + "demolished": 26537, + "demolition": 22237, + "demon": 5635, + "demon": 12085, + "demonetisation": 41338, + "demonic": 46920, + "demons": 18388, + "demonstr": 8579, + "demonstrate": 22231, + "demonstrated": 29477, + "demonstrates": 24806, + "demonstrating": 22107, + "demonstration": 16722, + "demonstrations": 33964, + "demonstrators": 46450, + "demos": 19304, + "demp": 22490, + "dempsey": 30188, + "dems": 10989, + "demsin": 42664, + "demsinphilly": 43091, + "den": 1177, + "den": 1181, + "dena": 32431, + "denali": 48076, + "dence": 3370, + "dency": 11659, + "dend": 37447, + "dends": 43985, + "dene": 45128, + "dened": 19571, + "deng": 43098, + "deng": 41788, + "dengue": 41932, + "denham": 39180, + "deni": 21995, + "denial": 25716, + "denied": 15780, + "denies": 19565, + "denim": 13606, + "denis": 47630, + "denis": 18750, + "denise": 45900, + "denise": 20899, + "denmark": 13268, + "dennis": 32738, + "dennis": 10534, + "denny": 26808, + "denomin": 41016, + "dens": 16533, + "dense": 19353, + "density": 22431, + "dent": 3593, + "dent": 1258, + "dental": 24635, + "dental": 8382, + "dentally": 10346, + "dented": 21923, + "denti": 4418, + "dential": 5459, + "dentist": 17816, + "dentistry": 25754, + "dently": 28817, + "denton": 23567, + "dents": 1517, + "denver": 27847, + "denver": 8569, + "deny": 18679, + "denying": 32771, + "denzel": 42503, + "deo": 26406, + "deo": 12121, + "deodor": 47639, + "deol": 41902, + "deon": 31466, + "deon": 16079, + "dep": 6079, + "dep": 24370, + "depar": 10794, + "depart": 5343, + "depart": 30649, + "departed": 32541, + "departing": 26902, + "department": 5744, + "departments": 29523, + "departs": 38998, + "departure": 17850, + "depe": 36118, + "depend": 13894, + "depend": 27371, + "dependence": 40243, + "dependent": 23280, + "depending": 23673, + "depends": 20497, + "depic": 11307, + "depicted": 34637, + "depicting": 24970, + "depiction": 31071, + "depicts": 29340, + "deple": 38504, + "deplo": 9356, + "deplor": 39232, + "deploy": 26944, + "deployed": 20009, + "deploying": 42212, + "deployment": 20183, + "depo": 14276, + "depor": 36110, + "deport": 23389, + "deportation": 36617, + "deported": 39320, + "deportes": 47878, + "depos": 21266, + "deposit": 16775, + "deposits": 30740, + "depot": 12589, + "depp": 24941, + "depre": 7107, + "depress": 38869, + "depressed": 23269, + "depressing": 29235, + "depression": 10023, + "depri": 28587, + "depriv": 45809, + "deprivation": 47810, + "deprived": 39140, + "dept": 9201, + "depth": 10350, + "depths": 28855, + "depu": 6912, + "deputies": 24914, + "deputy": 7932, + "der": 839, + "der": 801, + "dera": 20696, + "derail": 48502, + "derby": 13904, + "derby": 7177, + "derbyshire": 22147, + "derdale": 21513, + "dere": 5701, + "dere": 44194, + "dered": 3776, + "derek": 22461, + "derek": 11205, + "derel": 46728, + "derer": 11289, + "derers": 20882, + "deri": 34573, + "derick": 33908, + "dering": 6076, + "deriv": 33458, + "derived": 26461, + "derland": 35488, + "derman": 29740, + "dermatology": 48051, + "dern": 30086, + "dero": 37203, + "dero": 34026, + "derrick": 21798, + "derry": 45777, + "derry": 20535, + "ders": 37307, + "ders": 1923, + "derson": 12677, + "dery": 17172, + "des": 6797, + "des": 1437, + "desai": 35316, + "desc": 13866, + "descen": 32318, + "descend": 26004, + "descend": 46241, + "descendants": 36323, + "descending": 36620, + "descent": 19375, + "desch": 49209, + "descri": 4637, + "describe": 10967, + "described": 14671, + "describes": 13678, + "describing": 24239, + "descrip": 41832, + "description": 13951, + "descriptions": 40653, + "desde": 42218, + "dese": 27195, + "deser": 3659, + "desert": 45776, + "desert": 7301, + "deserted": 41560, + "deserve": 7043, + "deserved": 10061, + "deserves": 9079, + "deserving": 26615, + "desh": 25320, + "desh": 7448, + "deshi": 42769, + "desi": 6772, + "desi": 26635, + "desig": 1250, + "design": 8359, + "design": 1681, + "designated": 24119, + "designation": 41155, + "designed": 4486, + "designer": 35640, + "designer": 5728, + "designers": 12720, + "designing": 13467, + "designs": 6747, + "designthinking": 32450, + "desirable": 32368, + "desire": 11858, + "desired": 28631, + "desires": 27598, + "desk": 11937, + "desk": 6550, + "desks": 41014, + "desktop": 14345, + "desmond": 27821, + "desol": 41258, + "desp": 3642, + "despair": 28097, + "desper": 10144, + "desperate": 15072, + "desperately": 21993, + "despic": 32442, + "despicable": 37158, + "despite": 5325, + "dess": 7096, + "dess": 10001, + "dessert": 9753, + "desserts": 22948, + "desses": 43913, + "dest": 6540, + "dest": 4549, + "destin": 4934, + "destination": 32191, + "destination": 9179, + "destinations": 16981, + "destined": 28525, + "destiny": 39875, + "destiny": 10867, + "destro": 8287, + "destroy": 8308, + "destroy": 11930, + "destroyed": 9965, + "destroyer": 25291, + "destroying": 19613, + "destroys": 27634, + "destruc": 22945, + "destruction": 14281, + "destructive": 29591, + "det": 28966, + "det": 15366, + "deta": 1914, + "detached": 26252, + "detail": 7657, + "detailed": 12609, + "detailing": 23163, + "details": 2353, + "detained": 20260, + "dete": 5606, + "detec": 17991, + "detect": 22744, + "detected": 26988, + "detecting": 41290, + "detection": 16220, + "detective": 13672, + "detectives": 27994, + "detector": 27689, + "detectors": 45063, + "detention": 16908, + "deter": 10742, + "deter": 47458, + "detergent": 46726, + "deterior": 28512, + "determin": 8325, + "determination": 17410, + "determine": 16768, + "determined": 14371, + "determines": 42192, + "determining": 39884, + "deth": 38375, + "deto": 39710, + "deton": 39335, + "detour": 31211, + "detox": 22459, + "detri": 47951, + "detro": 6210, + "detroit": 19404, + "detroit": 7073, + "detta": 45438, + "dette": 35750, + "deu": 21457, + "deuce": 45332, + "deus": 37625, + "deut": 14970, + "deutsch": 30389, + "deutsche": 32760, + "deutschland": 36878, + "deux": 47089, + "dev": 2797, + "dev": 3670, + "deva": 45179, + "devan": 37072, + "devast": 12913, + "devastated": 29865, + "devastating": 19280, + "devastation": 42452, + "devel": 1820, + "develop": 1966, + "develop": 7708, + "developed": 8763, + "developer": 10929, + "developers": 13248, + "developing": 8131, + "development": 2855, + "developmental": 29347, + "developments": 17393, + "develops": 29895, + "deven": 45537, + "devgn": 29871, + "devi": 12926, + "devi": 20717, + "deviant": 25593, + "deviantart": 26046, + "device": 8163, + "devices": 9067, + "devil": 8894, + "devil": 8043, + "deville": 34329, + "devils": 11683, + "devin": 31193, + "devin": 20996, + "devine": 33019, + "devlin": 48040, + "devo": 11861, + "devo": 43444, + "devon": 16205, + "devon": 10046, + "devops": 21504, + "devos": 40646, + "devote": 37777, + "devoted": 24561, + "devotees": 39759, + "devotion": 25821, + "devotional": 35456, + "devs": 27374, + "dew": 31952, + "dew": 16358, + "dewey": 40399, + "dex": 10030, + "dex": 13790, + "dexpo": 42502, + "dexter": 45049, + "dexter": 22781, + "dey": 11829, + "dez": 23190, + "dez": 8122, + "df": 12908, + "df": 10468, + "dfc": 41903, + "dfs": 32880, + "dfw": 20439, + "dg": 2394, + "dg": 9742, + "dgate": 41684, + "dge": 4016, + "dge": 1360, + "dged": 11830, + "dgeon": 45655, + "dgers": 8733, + "dges": 5432, + "dging": 9565, + "dh": 6669, + "dh": 9960, + "dha": 11629, + "dha": 27377, + "dhabi": 22349, + "dhaka": 32877, + "dham": 29635, + "dham": 30838, + "dhan": 12542, + "dhan": 28569, + "dhanush": 26162, + "dhanush": 36200, + "dhanushkraja": 29266, + "dhar": 12397, + "dharma": 30536, + "dhary": 28706, + "dhawan": 44699, + "dhe": 29706, + "dheim": 44280, + "dhi": 31553, + "dhi": 26166, + "dho": 37834, + "dhoni": 25698, + "dhru": 40257, + "dhry": 39960, + "dhs": 26849, + "dhu": 32387, + "di": 570, + "di": 1618, + "dia": 7351, + "dia": 3357, + "diab": 15954, + "diabe": 19167, + "diabete": 43826, + "diabetes": 10319, + "diabetic": 30230, + "diablo": 23931, + "diag": 6851, + "diagno": 7736, + "diagnose": 44429, + "diagnosed": 16979, + "diagnosis": 15715, + "diagnostic": 26351, + "diagnostics": 37723, + "diagram": 22697, + "dial": 18416, + "dial": 11381, + "dialo": 30709, + "dialog": 48945, + "dialogue": 11288, + "dialogues": 40330, + "dialysis": 44798, + "diam": 4347, + "diameter": 27189, + "diamon": 8873, + "diamond": 18535, + "diamond": 6235, + "diamonds": 12687, + "dian": 16021, + "dian": 4998, + "diana": 12803, + "diane": 15855, + "dianne": 42299, + "dians": 21041, + "diaper": 34382, + "diapers": 39659, + "diar": 25932, + "diaries": 15541, + "diary": 10380, + "dias": 22137, + "dias": 29354, + "diaspora": 28390, + "diaz": 17688, + "dic": 1404, + "dic": 6717, + "dicap": 30023, + "dicaprio": 30755, + "dice": 14406, + "dick": 14413, + "dick": 9554, + "dickens": 33421, + "dict": 45360, + "dict": 15159, + "dictat": 26156, + "dictator": 27399, + "dictatorship": 37989, + "dictionary": 19699, + "did": 1861, + "did": 1335, + "diddy": 33527, + "didi": 34396, + "didier": 45614, + "didn": 2376, + "didnt": 13057, + "dido": 31725, + "didyou": 12295, + "didyouknow": 12506, + "die": 3150, + "die": 2082, + "diec": 27729, + "diecast": 37936, + "died": 3622, + "diego": 30940, + "diego": 6306, + "diem": 45571, + "dience": 33686, + "dient": 27231, + "dier": 29702, + "dier": 16394, + "dies": 20104, + "dies": 1862, + "diesel": 46312, + "diesel": 10591, + "diest": 45739, + "diet": 21295, + "diet": 6582, + "dietary": 29009, + "dietrich": 47005, + "diets": 35173, + "dif": 18656, + "dif": 48731, + "diff": 44073, + "diff": 20331, + "diffe": 1967, + "differ": 34620, + "differen": 14903, + "difference": 4731, + "differences": 14003, + "different": 2731, + "differenti": 21729, + "differential": 34027, + "differentiate": 49032, + "differently": 18325, + "diffic": 6140, + "difficult": 7405, + "difficulties": 23468, + "difficulty": 25245, + "diffu": 31603, + "diffuser": 49400, + "dig": 1831, + "dig": 9887, + "dige": 17820, + "digest": 20413, + "digestion": 40533, + "digestive": 32304, + "digg": 43240, + "digger": 35919, + "diggin": 48466, + "digging": 14971, + "digi": 15627, + "digi": 39361, + "digimon": 44181, + "digit": 14899, + "digit": 27472, + "digital": 4704, + "digital": 2794, + "digitalart": 16987, + "digitalhealth": 32190, + "digitalindia": 46630, + "digitally": 27543, + "digitalmarketing": 15299, + "digitaltransformation": 20047, + "digiti": 25935, + "digits": 31710, + "digni": 45532, + "dignit": 39497, + "dignity": 17744, + "digo": 35701, + "digs": 26877, + "dih": 43089, + "dii": 32755, + "dijk": 44444, + "dik": 38854, + "dik": 37747, + "dike": 42683, + "dil": 7643, + "dil": 17942, + "dile": 25428, + "dilemma": 29787, + "dilig": 30664, + "dill": 12318, + "dill": 27206, + "dillon": 21056, + "dilu": 45242, + "dim": 19576, + "dim": 17523, + "dime": 24443, + "dimen": 10935, + "dimension": 20479, + "dimensional": 25252, + "dimensions": 25086, + "diment": 43500, + "dimes": 44888, + "dimini": 37459, + "dimit": 22250, + "dimitri": 48840, + "dimp": 38853, + "din": 1462, + "din": 5673, + "dina": 36815, + "dinah": 30903, + "dine": 20951, + "dine": 12989, + "diner": 16963, + "dinesh": 48341, + "ding": 7545, + "ding": 796, + "dinger": 45580, + "dingh": 48064, + "dings": 5473, + "dington": 24804, + "dinho": 47370, + "dini": 20196, + "dining": 8658, + "dinner": 27548, + "dinner": 2571, + "dinners": 33570, + "dino": 9692, + "dino": 14077, + "dinosa": 18955, + "dinosaur": 15095, + "dinosaurs": 20387, + "dio": 3779, + "dio": 1521, + "dioce": 20763, + "diocese": 27091, + "dion": 42899, + "dion": 16250, + "dior": 23655, + "dios": 37563, + "dious": 27417, + "dioxide": 38102, + "dip": 19918, + "dip": 11343, + "dipl": 8490, + "diplo": 38115, + "diplom": 11169, + "diploma": 21251, + "diplomacy": 23798, + "diplomat": 32828, + "diplomatic": 23782, + "diplomats": 44126, + "dipped": 30610, + "dipper": 49317, + "dipping": 33544, + "dips": 37522, + "dir": 4251, + "dir": 8478, + "dire": 38355, + "dire": 25664, + "direc": 1534, + "direct": 43224, + "direct": 6016, + "directed": 8392, + "directing": 21817, + "direction": 15923, + "direction": 5407, + "directional": 38687, + "directioner": 48042, + "directioners": 22055, + "directions": 16440, + "directive": 40630, + "directly": 9701, + "director": 20337, + "director": 2681, + "directorial": 45327, + "directors": 11940, + "directory": 25272, + "directs": 34349, + "directv": 48652, + "dirk": 28171, + "dirt": 31415, + "dirt": 11795, + "dirty": 20127, + "dirty": 7615, + "dis": 1518, + "dis": 6112, + "disa": 3882, + "disab": 47380, + "disabilities": 17350, + "disability": 48986, + "disability": 13261, + "disabled": 13613, + "disadvantaged": 40577, + "disagree": 23199, + "disapp": 5384, + "disappear": 21148, + "disappear": 25173, + "disappearance": 35929, + "disappeared": 23139, + "disappearing": 35819, + "disappears": 44406, + "disappo": 7605, + "disappoint": 25446, + "disappointed": 13794, + "disappointing": 21941, + "disappointment": 23884, + "disappoints": 48545, + "disappro": 48276, + "disar": 42971, + "disaster": 9072, + "disasters": 26976, + "disastrous": 35790, + "disc": 1472, + "disc": 10712, + "discar": 40532, + "discarded": 45197, + "discer": 49140, + "dischar": 22671, + "discharge": 32485, + "disci": 9559, + "discip": 38951, + "discipl": 10467, + "disciples": 39366, + "disciplinary": 20232, + "discipline": 18903, + "disciplines": 42032, + "discla": 40248, + "disclaimer": 46465, + "disclo": 17481, + "disclose": 46379, + "disclosed": 30905, + "disclosure": 26502, + "disco": 2475, + "disco": 11964, + "discography": 47545, + "discomfort": 48054, + "discord": 23582, + "discoun": 18515, + "discount": 7638, + "discounted": 20993, + "discounts": 18186, + "discoura": 45850, + "discourse": 29441, + "discover": 10539, + "discover": 4834, + "discovered": 6986, + "discoveries": 29308, + "discovering": 17967, + "discovers": 29719, + "discovery": 40491, + "discovery": 8027, + "discre": 20616, + "discrimin": 11721, + "discrimination": 14775, + "discs": 29270, + "discu": 1984, + "discus": 41828, + "discuss": 4312, + "discussed": 11300, + "discusses": 8116, + "discussing": 5900, + "discussion": 5060, + "discussions": 13806, + "dise": 4262, + "disease": 5336, + "diseases": 12035, + "disen": 46468, + "disgrace": 29877, + "disgraceful": 44146, + "disgu": 9793, + "disguise": 27803, + "disguised": 37149, + "disgusted": 41977, + "disgusting": 16218, + "dish": 11039, + "dish": 4531, + "disha": 42498, + "dishes": 11412, + "dishon": 30777, + "dishu": 44728, + "dishwasher": 40524, + "disin": 19484, + "disinfe": 48050, + "disintegr": 49275, + "disk": 17970, + "dislike": 30796, + "dism": 30836, + "dism": 38821, + "dismant": 36557, + "dismiss": 43287, + "dismissal": 42068, + "dismissed": 30087, + "dismisses": 45238, + "disney": 6729, + "disney": 4696, + "disneyland": 39481, + "disneyland": 13661, + "disneyworld": 28469, + "diso": 26305, + "disobe": 42841, + "dison": 19310, + "disorder": 12635, + "disorders": 17114, + "disp": 11073, + "dispar": 24633, + "disparities": 45122, + "dispat": 28652, + "dispatch": 26306, + "dispen": 19077, + "dispenser": 40116, + "disper": 34499, + "displa": 9326, + "displac": 17718, + "displaced": 22817, + "displacement": 37931, + "display": 4456, + "displayed": 18967, + "displaying": 26468, + "displays": 15648, + "dispo": 13651, + "dispon": 38872, + "disponible": 46130, + "dispos": 45177, + "disposable": 37275, + "disposal": 28231, + "dispro": 32927, + "dispropor": 40354, + "disproportion": 45492, + "disregard": 43869, + "disrespect": 34055, + "disrespectful": 41723, + "disru": 13763, + "disrup": 14641, + "disrupt": 25214, + "disrupted": 46674, + "disrupting": 42419, + "disruption": 19635, + "disruptive": 31554, + "diss": 10766, + "diss": 35688, + "dissec": 43879, + "dissemin": 40463, + "dissent": 45154, + "disser": 25560, + "dissertation": 29448, + "dissi": 25088, + "dissol": 27398, + "dissuper": 33461, + "dist": 5479, + "dist": 12116, + "distance": 7964, + "distances": 37078, + "distant": 18949, + "distill": 41586, + "distilled": 49179, + "distillery": 22200, + "distin": 11892, + "distinct": 25056, + "distinction": 28183, + "distinctive": 25486, + "distingui": 15053, + "distinguish": 45418, + "distinguished": 16513, + "distor": 23781, + "distortion": 43690, + "distr": 11885, + "distract": 39309, + "distracted": 24049, + "distraction": 32039, + "distress": 26866, + "distressed": 37515, + "distri": 5987, + "distribu": 6138, + "distribute": 32313, + "distributed": 16419, + "distributing": 35216, + "distribution": 10484, + "distributor": 28354, + "distributors": 44240, + "distric": 3208, + "district": 46683, + "district": 3506, + "districts": 17565, + "distur": 11732, + "disturb": 33018, + "disturb": 39449, + "disturbance": 42416, + "disturbed": 29967, + "disturbing": 21476, + "disupdates": 45667, + "dit": 5752, + "dit": 2524, + "dita": 47965, + "ditch": 43715, + "ditch": 19291, + "dited": 40392, + "diti": 2363, + "dition": 16452, + "dition": 3015, + "ditional": 4322, + "ditions": 4503, + "dito": 43705, + "dits": 49374, + "dity": 16436, + "dium": 2903, + "div": 5293, + "div": 14869, + "diva": 13605, + "divas": 23534, + "dive": 26042, + "dive": 9058, + "diver": 13119, + "diver": 22094, + "divergence": 48735, + "divergent": 36132, + "divers": 30241, + "divers": 27038, + "diverse": 11464, + "diversi": 24475, + "diversion": 38457, + "diversity": 35634, + "diversity": 6257, + "diverted": 41049, + "dives": 13893, + "divi": 8375, + "divid": 31337, + "divide": 18842, + "divided": 18689, + "dividend": 32067, + "dividends": 45146, + "dividing": 45605, + "divin": 21838, + "divine": 46919, + "divine": 10976, + "diving": 9886, + "divinity": 39754, + "divisi": 39196, + "division": 5378, + "divisional": 40912, + "divisions": 33715, + "divor": 13543, + "divorce": 17060, + "divorced": 39437, + "divya": 47767, + "diwali": 18218, + "dix": 45838, + "dix": 27620, + "dixie": 24484, + "dixit": 28279, + "dixon": 16086, + "diy": 28472, + "diy": 7845, + "diya": 36459, + "diz": 32740, + "dized": 36232, + "dizz": 40239, + "dizzy": 35464, + "dj": 3761, + "dj": 3723, + "djan": 35338, + "django": 46498, + "dji": 35284, + "dji": 28379, + "djing": 36113, + "djo": 19432, + "djoker": 42721, + "djokernole": 42830, + "djokovic": 27944, + "djs": 18117, + "dk": 20702, + "dk": 16196, + "dl": 12558, + "dl": 9373, + "dlc": 19079, + "dle": 11057, + "dle": 3287, + "dled": 23494, + "dler": 40279, + "dles": 7890, + "dless": 14997, + "dley": 12808, + "dling": 18221, + "dly": 3069, + "dm": 19070, + "dm": 4667, + "dma": 42903, + "dman": 18826, + "dmc": 28991, + "dmit": 31607, + "dmitry": 48326, + "dms": 19955, + "dmv": 27508, + "dmx": 45255, + "dn": 11552, + "dn": 7459, + "dna": 8790, + "dnb": 35422, + "dnc": 20237, + "dnd": 11678, + "dnr": 37051, + "dns": 39245, + "dnt": 26795, + "do": 639, + "do": 818, + "doa": 48332, + "dob": 29640, + "doba": 35605, + "dobbs": 43006, + "dobson": 46888, + "doc": 3009, + "doc": 7251, + "doch": 25101, + "dock": 17311, + "dock": 8997, + "docked": 46784, + "docker": 31152, + "docking": 40845, + "docks": 24091, + "docs": 15157, + "doctor": 7872, + "doctor": 5547, + "doctoral": 23649, + "doctorate": 39134, + "doctors": 9705, + "doctorwho": 12996, + "doctr": 28497, + "doctrine": 35612, + "docu": 4433, + "document": 29293, + "document": 15121, + "documentaries": 44209, + "documentary": 7881, + "documentation": 31560, + "documented": 22310, + "documenting": 37876, + "documents": 14105, + "dod": 13847, + "dod": 30187, + "dodd": 36748, + "dodge": 31263, + "dodge": 12093, + "dodgeball": 43244, + "dodger": 31641, + "dodgers": 12422, + "dodgy": 37727, + "doe": 13296, + "does": 2397, + "does": 1897, + "doesn": 2503, + "doesnt": 17937, + "dof": 8277, + "doff": 20193, + "dofficial": 42516, + "dog": 4326, + "dog": 1929, + "dogcelebration": 41819, + "dogday": 27475, + "doge": 42187, + "dogg": 20749, + "doggie": 32237, + "doggo": 42155, + "doggy": 26359, + "doglo": 40733, + "dogre": 40030, + "dogrescue": 44158, + "dogs": 42182, + "dogs": 3255, + "dogsoftwitter": 19415, + "doh": 23581, + "doha": 20908, + "doherty": 31774, + "doi": 36361, + "doin": 15412, + "doing": 37408, + "doing": 1960, + "doit": 32272, + "doit": 28109, + "doj": 25700, + "dojo": 35901, + "dok": 40547, + "dok": 41034, + "doka": 46528, + "dol": 2287, + "dol": 19170, + "dola": 38005, + "dolan": 27200, + "dolby": 42414, + "dolce": 30033, + "dolce": 30661, + "dole": 41040, + "doll": 27031, + "doll": 9286, + "dollar": 35092, + "dollar": 7474, + "dollars": 10669, + "dolls": 15090, + "dolly": 43281, + "dolly": 23821, + "dolom": 37137, + "dolores": 40741, + "dolph": 8900, + "dolph": 22257, + "dolphin": 42963, + "dolphin": 16464, + "dolphins": 14002, + "dom": 2164, + "dom": 1919, + "domain": 15492, + "domaine": 48744, + "domains": 36358, + "dome": 8515, + "dome": 9827, + "domen": 37584, + "domest": 21936, + "domestic": 28189, + "domestic": 9043, + "domin": 4361, + "dominance": 30546, + "dominant": 20565, + "dominate": 21431, + "dominated": 23048, + "dominates": 34043, + "dominating": 29303, + "domination": 30919, + "domingo": 24882, + "dominic": 39007, + "dominic": 19095, + "dominican": 22934, + "dominion": 27155, + "domino": 30752, + "dominos": 39770, + "domo": 44293, + "doms": 30126, + "don": 1067, + "don": 847, + "dona": 26789, + "donal": 42375, + "donald": 5990, + "donald": 4335, + "donaldson": 37783, + "donaldtrump": 6652, + "donat": 36384, + "donate": 6429, + "donated": 8705, + "donates": 26960, + "donating": 12621, + "donation": 7924, + "donations": 9928, + "doncaster": 38008, + "doncaster": 25352, + "doncasterisgreat": 47333, + "done": 5136, + "done": 1700, + "donegal": 24172, + "donesia": 41281, + "donet": 33724, + "donetsk": 33999, + "dong": 26242, + "dong": 31478, + "dongha": 28365, + "donghae": 28945, + "donia": 24014, + "donkey": 21415, + "donkeys": 44644, + "donna": 9158, + "donne": 30897, + "donnein": 38308, + "donneinarte": 40193, + "donnell": 35118, + "donnelly": 39070, + "donnie": 47058, + "donnie": 30609, + "donny": 37291, + "donny": 32887, + "dono": 14840, + "donor": 18013, + "donors": 17887, + "donovan": 21499, + "dons": 22127, + "dont": 8094, + "dont": 4632, + "donut": 18471, + "donuts": 13970, + "doo": 4543, + "doo": 11643, + "doodle": 9388, + "doodled": 41030, + "doodles": 22156, + "doodling": 37548, + "dooley": 47609, + "doom": 23263, + "doom": 14344, + "doomed": 33251, + "doomsday": 41791, + "doon": 36612, + "doop": 33886, + "door": 7188, + "door": 2489, + "doors": 4228, + "doorstep": 19533, + "doorway": 46575, + "dop": 42381, + "dop": 31722, + "dope": 42587, + "dope": 10094, + "doping": 30285, + "dopp": 21774, + "doppelg": 45216, + "doppler": 42540, + "dor": 2766, + "dor": 8695, + "dora": 18104, + "dorado": 32350, + "dorchester": 32656, + "dore": 39423, + "dores": 34323, + "dorf": 17296, + "dori": 49270, + "doria": 43186, + "dorian": 44016, + "doris": 24285, + "dork": 36206, + "dorm": 24263, + "doro": 15498, + "doro": 37389, + "dorothy": 20805, + "dors": 31240, + "dorset": 42109, + "dorset": 16047, + "dorsey": 41607, + "dortmund": 24290, + "dory": 36135, + "dos": 44258, + "dos": 5474, + "dose": 11497, + "doses": 37873, + "dossier": 46042, + "dost": 44222, + "dot": 7473, + "dot": 7004, + "dota": 23085, + "dotcom": 12443, + "dote": 31202, + "dothis": 47864, + "dotnet": 43124, + "dotorg": 46587, + "dots": 19019, + "dotted": 47950, + "dou": 1756, + "dou": 23608, + "doub": 19631, + "double": 13013, + "double": 3200, + "doubled": 24948, + "doubleheader": 34668, + "doubles": 12539, + "doubling": 36850, + "doubt": 37071, + "doubt": 8671, + "doubts": 30894, + "douche": 44292, + "doug": 20271, + "doug": 10758, + "dough": 15785, + "dough": 14983, + "doughnut": 32555, + "doughnuts": 31124, + "dougie": 46317, + "dougla": 9140, + "douglas": 10065, + "douglass": 45692, + "doun": 44785, + "dov": 38856, + "dova": 26551, + "dove": 27511, + "dove": 18281, + "dover": 43019, + "dover": 14683, + "doves": 47067, + "dow": 8022, + "dow": 10688, + "dowell": 27344, + "down": 1833, + "down": 1136, + "downe": 46501, + "downed": 35814, + "downer": 42522, + "downers": 43739, + "downey": 29429, + "downfall": 48702, + "downhill": 27387, + "downing": 28140, + "download": 35076, + "download": 3794, + "downloadable": 49105, + "downloaded": 22961, + "downloading": 30519, + "downloads": 26481, + "downpour": 39034, + "downpours": 40160, + "downs": 10706, + "downside": 41937, + "downstairs": 28174, + "downstream": 43822, + "downtime": 41964, + "downton": 45023, + "downton": 42668, + "downtown": 18230, + "downtown": 5061, + "downward": 37430, + "dowski": 43556, + "dox": 44786, + "dox": 14510, + "doyle": 17728, + "doyou": 27256, + "doz": 31106, + "dozen": 16401, + "dozens": 17883, + "dp": 23820, + "dp": 6465, + "dprint": 46644, + "dprinting": 16194, + "dprk": 47920, + "dps": 34288, + "dq": 28741, + "dr": 1084, + "dr": 1701, + "dra": 1114, + "dra": 7402, + "drac": 20168, + "dracing": 41253, + "dracula": 25405, + "draf": 37426, + "draft": 30624, + "draft": 5198, + "drafted": 19129, + "drafting": 33528, + "drafts": 29194, + "drag": 8452, + "drag": 12463, + "dragged": 27884, + "dragging": 37069, + "dragon": 9187, + "dragon": 5471, + "dragonball": 40959, + "dragoncon": 47802, + "dragonfly": 32824, + "dragons": 10203, + "dragrace": 40762, + "drags": 45368, + "drain": 23347, + "drain": 19467, + "drainage": 25953, + "drained": 44630, + "drains": 43638, + "drainthe": 47337, + "drake": 32504, + "drake": 8958, + "dral": 7503, + "dram": 6937, + "dram": 32170, + "drama": 5055, + "dramas": 33467, + "dramati": 43512, + "dramatic": 11240, + "dramatically": 24495, + "drank": 21712, + "draped": 49113, + "drastic": 43159, + "drastically": 35478, + "drau": 18621, + "draw": 17675, + "draw": 4001, + "drawer": 23219, + "drawers": 38975, + "drawing": 36996, + "drawing": 3610, + "drawings": 13397, + "drawn": 8893, + "draws": 12043, + "dray": 25562, + "drayton": 49044, + "drc": 21434, + "dre": 960, + "dre": 14584, + "dread": 17412, + "dread": 31403, + "dreaded": 47227, + "dreadful": 35846, + "dreality": 48367, + "dream": 4595, + "dream": 2984, + "dreambig": 46495, + "dreamcast": 47226, + "dreamed": 27984, + "dreamer": 25692, + "dreamers": 27194, + "dreaming": 11662, + "dreamliner": 49143, + "dreams": 4405, + "dreamt": 43743, + "dreamteam": 40090, + "dreamy": 23517, + "dred": 10903, + "dredge": 48783, + "dren": 29068, + "dren": 47309, + "drenched": 46378, + "dres": 48852, + "dres": 44697, + "dresden": 34836, + "dress": 12622, + "dress": 2595, + "dressage": 36144, + "dressed": 6559, + "dresser": 26346, + "dresses": 8184, + "dressing": 6348, + "drew": 18792, + "drew": 5281, + "drex": 33985, + "drey": 48271, + "dri": 1203, + "dri": 28833, + "drian": 36870, + "dribb": 42153, + "dric": 23448, + "dridge": 22956, + "drie": 40170, + "dried": 16037, + "drier": 39877, + "dries": 33857, + "drif": 33585, + "drift": 18194, + "drifting": 30276, + "drill": 11626, + "drilled": 46338, + "drilling": 18634, + "drills": 24378, + "drin": 3375, + "drin": 47133, + "drink": 14131, + "drink": 3979, + "drinking": 5778, + "drinklocal": 45998, + "drinks": 6732, + "drip": 24050, + "dripping": 38787, + "dris": 35804, + "drive": 11402, + "drive": 2620, + "driven": 9314, + "driver": 27563, + "driver": 4383, + "driverless": 46769, + "drivers": 7384, + "drives": 11441, + "driveway": 26273, + "driving": 37800, + "driving": 4161, + "drizzle": 28240, + "drm": 39674, + "dro": 1494, + "dro": 12442, + "drogba": 49199, + "droid": 38016, + "drome": 9157, + "dron": 43898, + "dron": 23360, + "drone": 33557, + "drone": 9397, + "drones": 14006, + "droo": 30715, + "drool": 41554, + "drooling": 44360, + "drop": 16407, + "drop": 3387, + "dropbox": 47216, + "dropped": 6792, + "dropping": 8339, + "drops": 6437, + "dros": 47033, + "drou": 38558, + "drought": 13935, + "drove": 13753, + "drow": 21159, + "drown": 28571, + "drowned": 34005, + "drowning": 24618, + "drs": 21257, + "dru": 2275, + "dru": 49048, + "drug": 20601, + "drug": 5600, + "drugs": 8021, + "druid": 40297, + "drum": 13353, + "drum": 8698, + "drummer": 13618, + "drummers": 46191, + "drumming": 35480, + "drummond": 42213, + "drums": 11690, + "drun": 15488, + "drunk": 37398, + "drunk": 8232, + "drunken": 28196, + "drupal": 46481, + "drush": 43009, + "drwho": 48342, + "dry": 13544, + "dry": 4501, + "dryer": 24425, + "drying": 23203, + "ds": 3361, + "ds": 646, + "dsa": 47607, + "dsb": 47168, + "dsb": 14257, + "dsburg": 47237, + "dsc": 37240, + "dsd": 45383, + "dsley": 40740, + "dslr": 33740, + "dsm": 39502, + "dson": 40310, + "dsp": 45291, + "dss": 41580, + "dstv": 35027, + "dt": 13104, + "dt": 7427, + "dthe": 13863, + "dtla": 31885, + "dtm": 42407, + "dts": 46233, + "du": 691, + "du": 3686, + "dua": 25244, + "dual": 39739, + "dual": 5347, + "duane": 38946, + "dub": 14526, + "dub": 13144, + "duba": 5485, + "dubai": 32599, + "dubai": 5985, + "dubbed": 27740, + "dublin": 20707, + "dublin": 6145, + "dubnation": 47329, + "dubois": 48046, + "dubrov": 46709, + "dubrovnik": 48724, + "dubs": 27013, + "dubstep": 38303, + "dubu": 43257, + "duc": 979, + "duc": 36446, + "ducati": 28570, + "ducation": 17197, + "duce": 3660, + "duchess": 21713, + "duck": 12708, + "duck": 6910, + "ducks": 11202, + "duct": 26829, + "dude": 48087, + "dude": 5710, + "dudes": 14449, + "dudley": 27324, + "due": 2887, + "duel": 27143, + "dues": 37646, + "duet": 25457, + "duf": 38713, + "duff": 38071, + "duff": 21934, + "duffy": 23599, + "dug": 22743, + "dug": 21000, + "dugg": 40523, + "duggan": 46169, + "dugout": 36831, + "duh": 26716, + "dui": 29693, + "duk": 14160, + "duke": 18402, + "duke": 7732, + "dukes": 27914, + "dul": 6738, + "dulce": 44872, + "dulil": 32565, + "dulkar": 47980, + "dull": 19433, + "dulu": 28865, + "duluth": 32109, + "dulwich": 47343, + "dum": 13400, + "dum": 11564, + "dumb": 15901, + "dumb": 12464, + "dumbass": 38980, + "dummies": 40899, + "dummy": 34246, + "dump": 12655, + "dump": 17146, + "dumped": 23768, + "dumping": 31707, + "dumplings": 35495, + "dumps": 45804, + "dumpster": 45467, + "dun": 2616, + "dun": 18284, + "dunbar": 41453, + "duncan": 31084, + "duncan": 13502, + "dundal": 38185, + "dundas": 39300, + "dundee": 18619, + "dune": 32833, + "dune": 28208, + "dunedin": 40121, + "dunes": 23526, + "dung": 33712, + "dungeon": 28812, + "dungeon": 22931, + "dungeons": 42572, + "dungeonsand": 34970, + "dungeonsanddragons": 35497, + "dunham": 42501, + "duni": 43454, + "dunk": 17222, + "dunkin": 48022, + "dunkin": 36415, + "dunkirk": 46928, + "dunks": 48977, + "dunlop": 34753, + "dunn": 19185, + "dunne": 38538, + "dunno": 24502, + "duo": 8696, + "dup": 36805, + "dup": 10445, + "duper": 44850, + "duplex": 41186, + "duplic": 28992, + "dupont": 35994, + "dur": 4355, + "dur": 23230, + "dura": 28173, + "dura": 47382, + "durability": 43671, + "durable": 22285, + "duran": 28185, + "durango": 44443, + "durant": 24861, + "duras": 27518, + "duration": 31663, + "durban": 24474, + "dure": 19108, + "durga": 38456, + "durham": 26765, + "durham": 14335, + "during": 1590, + "dus": 9931, + "dusa": 28546, + "dusk": 19708, + "dust": 29723, + "dust": 8349, + "dusted": 38274, + "duster": 46280, + "dustin": 42423, + "dustin": 21235, + "dusting": 41756, + "dusty": 22029, + "dut": 32625, + "dutch": 22277, + "dutch": 7991, + "duter": 21624, + "duterte": 22371, + "duties": 19603, + "dutt": 30081, + "dutton": 42771, + "duty": 6458, + "duval": 42459, + "duvet": 48006, + "dux": 28562, + "dv": 4288, + "dv": 26265, + "dvd": 7170, + "dvds": 36655, + "dvn": 29811, + "dvr": 29210, + "dw": 8455, + "dw": 19997, + "dwar": 13487, + "dwarf": 22643, + "dwayne": 31395, + "dwell": 27549, + "dwell": 18755, + "dwelling": 37098, + "dwight": 22473, + "dwp": 46976, + "dwts": 30220, + "dwyer": 43878, + "dx": 22717, + "dx": 15679, + "dy": 1444, + "dy": 907, + "dyce": 48325, + "dye": 37159, + "dye": 15997, + "dyed": 24906, + "dyer": 29495, + "dyes": 39874, + "dying": 5115, + "dyk": 12142, + "dyke": 32632, + "dylan": 21004, + "dylan": 9900, + "dyn": 44289, + "dyn": 30669, + "dynam": 5735, + "dynamic": 10057, + "dynamics": 14329, + "dynamite": 29003, + "dynamo": 28281, + "dynasty": 14593, + "dyne": 42756, + "dyou": 11484, + "dyour": 22525, + "dys": 11022, + "dys": 38384, + "dysfunction": 36865, + "dysfunctional": 40757, + "dysle": 33681, + "dyslexia": 43199, + "dyson": 34475, + "dyssey": 17435, + "dystop": 28276, + "dystopian": 38915, + "dz": 24421, + "dz": 22913, + "dé": 25466, + "dü": 46948, + "dÃŃ": 46988, + "e": 68, + "e": 324, + "ea": 2150, + "ea": 8100, + "eable": 20693, + "each": 31442, + "each": 2416, + "eachother": 40792, + "ead": 42556, + "ead": 45523, + "eae": 27446, + "eag": 3743, + "eager": 21551, + "eagerly": 30094, + "eagle": 20207, + "eagle": 7517, + "eagles": 6920, + "eal": 48872, + "ealing": 40484, + "eames": 49072, + "eamon": 45954, + "ean": 13327, + "ear": 1055, + "ear": 8373, + "earbuds": 47807, + "eared": 9127, + "earl": 30573, + "earl": 14235, + "earle": 40292, + "earlier": 4297, + "earliest": 22097, + "early": 15840, + "early": 2090, + "earn": 33977, + "earn": 8465, + "earned": 8898, + "earnest": 45422, + "earning": 14550, + "earnings": 15912, + "earns": 16760, + "earp": 35296, + "earphones": 44905, + "earring": 28664, + "earrings": 9136, + "ears": 9861, + "eart": 7086, + "earth": 5184, + "earth": 3475, + "earthand": 34229, + "earthandclouds": 34480, + "earthday": 19481, + "earthquake": 10060, + "earthquakes": 32895, + "earthy": 47139, + "earts": 38824, + "eas": 5740, + "ease": 13574, + "easier": 8817, + "easiest": 26314, + "easily": 8197, + "easing": 44825, + "easport": 42251, + "east": 5022, + "east": 2602, + "eastbound": 28827, + "eastbourne": 38455, + "eastenders": 23545, + "easter": 14783, + "easter": 4811, + "eastern": 34522, + "eastern": 6311, + "eastman": 48280, + "easton": 29619, + "eastside": 42650, + "eastwood": 28270, + "easy": 18308, + "easy": 3176, + "eat": 5418, + "eat": 3384, + "eaten": 16750, + "eater": 24060, + "eaters": 37645, + "eatery": 46559, + "eating": 4371, + "eatlocal": 42868, + "eaton": 28462, + "eats": 13188, + "eau": 17608, + "eazy": 36536, + "eb": 12283, + "eb": 8677, + "eba": 40889, + "ebay": 34412, + "ebay": 4099, + "eber": 34020, + "ebo": 46635, + "ebola": 15864, + "ebon": 22013, + "ebony": 30651, + "ebook": 13122, + "ebooks": 25774, + "ec": 747, + "ec": 10879, + "eca": 18465, + "ecar": 34500, + "ecb": 26205, + "ecc": 33128, + "eccc": 47401, + "eccentric": 43228, + "eccle": 27494, + "ece": 2163, + "eces": 5905, + "ecg": 45983, + "ech": 15797, + "ech": 31147, + "echel": 41233, + "echo": 17366, + "echo": 13989, + "echoes": 32564, + "eci": 31936, + "eck": 25866, + "eck": 15969, + "ecker": 39661, + "ecker": 40890, + "ecla": 47806, + "eclec": 25114, + "eclectic": 28382, + "eclip": 30841, + "eclipse": 11505, + "eclub": 38983, + "eco": 5106, + "eco": 10077, + "ecofriendly": 43412, + "ecol": 22706, + "ecological": 25127, + "ecology": 18578, + "ecommerce": 15529, + "econ": 26755, + "econ": 21158, + "econom": 2768, + "economic": 36649, + "economic": 5259, + "economical": 48782, + "economically": 39406, + "economics": 12625, + "economies": 27136, + "economist": 18836, + "economists": 43701, + "economy": 5644, + "ecor": 28962, + "ecosystem": 15788, + "ecosystems": 28725, + "ecoun": 27924, + "ecr": 48572, + "ecraft": 11439, + "ecs": 23485, + "ecstasy": 47286, + "ecstatic": 36244, + "ect": 25168, + "ecu": 13087, + "ecu": 32919, + "ecuador": 19813, + "ecz": 43530, + "ed": 843, + "ed": 538, + "eda": 10804, + "edad": 44724, + "eday": 39258, + "edc": 21245, + "edchat": 14702, + "edd": 35431, + "eddi": 42930, + "eddie": 22748, + "eddie": 9517, + "eddy": 25959, + "ede": 29632, + "eded": 19555, + "edel": 20460, + "edelman": 48139, + "eden": 23621, + "eden": 13741, + "eder": 16249, + "edes": 36247, + "edfringe": 27402, + "edg": 35955, + "edgar": 33543, + "edgar": 17914, + "edge": 16914, + "edge": 5461, + "edged": 39188, + "edges": 20938, + "edgy": 35393, + "edi": 8750, + "edi": 27148, + "edible": 19795, + "edic": 25184, + "edics": 30641, + "edin": 6524, + "edinburgh": 27574, + "edinburgh": 8068, + "eding": 5742, + "edison": 25846, + "edit": 8239, + "edit": 8013, + "edited": 13945, + "edith": 28597, + "editing": 10178, + "edition": 3062, + "editions": 21664, + "editor": 7661, + "editorial": 12325, + "editors": 19486, + "edits": 24945, + "edm": 37843, + "edm": 13539, + "edmon": 11275, + "edmond": 41581, + "edmonds": 46520, + "edmonton": 37311, + "edmonton": 15058, + "edmun": 36561, + "edmund": 27567, + "edna": 39002, + "edo": 29145, + "edo": 18096, + "edon": 41467, + "edor": 30184, + "edou": 47678, + "edp": 46066, + "eds": 1941, + "edsheeran": 30386, + "edt": 15071, + "edtech": 41825, + "edtech": 15262, + "edu": 11757, + "edu": 11799, + "eduardo": 30604, + "educ": 2200, + "educate": 17563, + "educated": 21447, + "education": 22358, + "education": 2806, + "educational": 10400, + "educator": 19875, + "educators": 15420, + "edwar": 27586, + "edward": 26184, + "edward": 7450, + "edwards": 12627, + "edwin": 48718, + "edwin": 22471, + "edy": 17072, + "edy": 4144, + "ee": 2644, + "ee": 4708, + "eed": 17513, + "eee": 24632, + "eee": 9361, + "eeee": 11696, + "eeee": 17570, + "eeeee": 26938, + "eeeeee": 41407, + "eek": 46591, + "eel": 27462, + "eels": 44416, + "eem": 27236, + "een": 47490, + "een": 21230, + "eer": 35409, + "eer": 31846, + "eera": 36664, + "eerie": 33846, + "ees": 40308, + "eet": 48935, + "eez": 39033, + "ef": 1490, + "ef": 1829, + "efa": 16999, + "eface": 48804, + "efan": 33556, + "efc": 22065, + "efcc": 46087, + "efer": 26199, + "eff": 20548, + "eff": 21715, + "effe": 2808, + "effec": 3943, + "effect": 5436, + "effective": 6837, + "effectively": 17516, + "effectiveness": 26847, + "effects": 7331, + "effic": 36004, + "efficacy": 39937, + "effici": 6670, + "efficiency": 11823, + "efficient": 11334, + "efficiently": 32915, + "effor": 6356, + "effort": 40078, + "effort": 6255, + "effortless": 41639, + "effortlessly": 42320, + "efforts": 6847, + "efish": 35813, + "efl": 27172, + "efron": 48111, + "efs": 7389, + "eg": 8053, + "eg": 14599, + "ega": 41193, + "egan": 42943, + "eger": 46704, + "eger": 22767, + "egg": 13778, + "egg": 5911, + "eggplant": 34906, + "eggs": 7099, + "ego": 34712, + "ego": 14250, + "egos": 43992, + "egre": 27044, + "egret": 42002, + "egy": 5224, + "egyp": 10250, + "egypt": 7267, + "egyptian": 12428, + "eh": 9277, + "eh": 9135, + "eha": 48563, + "ehealth": 48617, + "ehr": 45271, + "ehs": 44648, + "ei": 4006, + "ei": 18264, + "eic": 40251, + "eid": 28038, + "eid": 13979, + "eidmubarak": 46275, + "eiffel": 29720, + "eigh": 13468, + "eight": 7910, + "eighteen": 49316, + "eighth": 21237, + "eighty": 47449, + "eil": 29457, + "eileen": 31468, + "ein": 29944, + "ein": 24524, + "eindhoven": 47172, + "eing": 7702, + "einstein": 20587, + "eira": 47708, + "eis": 13802, + "eisen": 25273, + "eisenhower": 35562, + "either": 6036, + "ej": 19887, + "ej": 25009, + "ejec": 29771, + "ek": 4212, + "ek": 2092, + "el": 544, + "el": 832, + "ela": 11284, + "ela": 3787, + "elab": 38866, + "elabor": 26034, + "elaborate": 33855, + "elaine": 22523, + "elan": 17763, + "elan": 18399, + "eland": 24930, + "eland": 6275, + "elas": 41078, + "elast": 27479, + "elastic": 30282, + "elba": 48598, + "elbow": 21965, + "eld": 5684, + "elder": 11791, + "elder": 14416, + "elderly": 15455, + "elders": 28617, + "eldest": 33503, + "elding": 28223, + "elds": 13466, + "ele": 2084, + "ele": 9766, + "eleague": 36577, + "eleanor": 18604, + "elearning": 29969, + "elec": 1564, + "elec": 38768, + "elect": 15336, + "elected": 8828, + "election": 19312, + "election": 4247, + "electionday": 40540, + "elections": 6949, + "elector": 16465, + "electoral": 19544, + "electr": 3654, + "electra": 48959, + "electri": 23927, + "electric": 19547, + "electric": 5031, + "electrical": 12176, + "electrician": 46422, + "electricity": 10950, + "electrifying": 48843, + "electro": 11648, + "electro": 23244, + "electromagnetic": 46530, + "electron": 33396, + "electronic": 33865, + "electronic": 9273, + "electronica": 43119, + "electronics": 13081, + "eled": 20357, + "elee": 44112, + "eleg": 8075, + "elegance": 19146, + "elegant": 11124, + "elek": 34559, + "elem": 25406, + "element": 14909, + "elementary": 8143, + "elements": 10925, + "elen": 30654, + "elen": 39164, + "elena": 19421, + "eleng": 48180, + "eleph": 7554, + "elephant": 10299, + "elephants": 16871, + "eler": 24646, + "eless": 15244, + "eless": 30837, + "elets": 19400, + "elev": 7921, + "elevate": 26736, + "elevated": 23967, + "elevation": 23826, + "elevator": 19021, + "eleven": 31617, + "eleven": 17795, + "elf": 45961, + "elf": 11924, + "elfie": 39955, + "elg": 28790, + "elgin": 31868, + "eli": 1018, + "eli": 6292, + "elia": 10956, + "elian": 42508, + "elias": 47274, + "elias": 29902, + "elic": 34743, + "elic": 13492, + "elie": 38677, + "elie": 26501, + "elier": 14634, + "elife": 37429, + "elife": 12719, + "eligibility": 34937, + "eligible": 16978, + "elijah": 26065, + "elike": 48913, + "elim": 9296, + "elimin": 11386, + "eliminate": 19655, + "eliminated": 29075, + "eliminating": 36619, + "elimination": 24176, + "elin": 25353, + "elin": 13458, + "eline": 46199, + "eline": 7153, + "eling": 9990, + "elio": 47943, + "elion": 30682, + "elions": 44159, + "eliot": 33326, + "elis": 23411, + "elis": 48021, + "elisa": 25610, + "elisa": 44051, + "elisabeth": 33127, + "elise": 27124, + "elit": 40882, + "elite": 32277, + "elite": 6553, + "elited": 43943, + "elitedangerous": 47138, + "elites": 35975, + "elius": 35623, + "elive": 49338, + "elive": 23505, + "elives": 49174, + "elix": 32926, + "elixir": 42887, + "eliz": 42844, + "eliza": 6132, + "eliza": 29992, + "elizabeth": 22397, + "elizabeth": 7026, + "elk": 34013, + "elk": 21896, + "ell": 826, + "ell": 812, + "ella": 20692, + "ella": 2957, + "elland": 43326, + "ellar": 38443, + "ellas": 37053, + "elle": 12818, + "elle": 4765, + "elled": 13146, + "ellen": 14007, + "ellen": 12312, + "ellenshow": 34812, + "eller": 20927, + "eller": 4465, + "ellers": 19010, + "elles": 24431, + "elli": 3367, + "elli": 6673, + "ellic": 38905, + "ellie": 16769, + "ellier": 44054, + "ellin": 40374, + "elling": 2220, + "ellington": 34477, + "ellini": 43256, + "elliot": 20761, + "elliott": 44456, + "elliott": 13788, + "ellip": 44816, + "ellis": 11553, + "ellison": 32295, + "ello": 2512, + "ellor": 14594, + "ells": 2433, + "ellu": 35560, + "elly": 8041, + "elly": 20355, + "elm": 25199, + "elm": 22082, + "elman": 33622, + "elmer": 45958, + "elmo": 32150, + "elo": 6170, + "elo": 13490, + "elon": 26381, + "elon": 20406, + "elondon": 47377, + "elong": 44363, + "elonmusk": 37076, + "elope": 23367, + "eloqu": 37795, + "elos": 44733, + "elot": 43490, + "elove": 43319, + "elove": 19165, + "elover": 21732, + "elovers": 33946, + "els": 35958, + "els": 1645, + "elsa": 22050, + "else": 18857, + "else": 3344, + "elsewhere": 22906, + "elson": 19624, + "elt": 18692, + "elton": 20758, + "elu": 14208, + "elusive": 28903, + "elves": 29111, + "elvi": 47008, + "elvis": 47359, + "elvis": 14498, + "elxn": 37726, + "ely": 12189, + "ely": 1273, + "elyn": 29691, + "elyn": 18126, + "em": 908, + "em": 2270, + "ema": 7002, + "ema": 11131, + "emabiggest": 23101, + "emabiggestfans": 29587, + "email": 33537, + "email": 4462, + "emailed": 40470, + "emailmarketing": 40188, + "emails": 12871, + "eman": 24416, + "eman": 36868, + "emancip": 42996, + "emanuel": 35232, + "emb": 3692, + "embar": 8266, + "embaras": 48019, + "embark": 33953, + "embarra": 11382, + "embarrass": 27183, + "embarrassed": 28217, + "embarrassing": 19653, + "embarrassment": 41346, + "embassy": 13598, + "embe": 46041, + "embed": 19703, + "embedded": 22046, + "embelli": 32144, + "embellished": 46992, + "ember": 47049, + "emblem": 21163, + "embo": 23065, + "embr": 35267, + "embrac": 16928, + "embrace": 12118, + "embraced": 35739, + "embraces": 38404, + "embracing": 22196, + "embro": 12550, + "embroi": 18667, + "embroide": 21530, + "embroidered": 22381, + "embroidery": 20823, + "emc": 20897, + "emc": 31602, + "emcee": 42038, + "eme": 22910, + "eme": 21548, + "emea": 40352, + "emed": 11028, + "emen": 22033, + "ement": 40841, + "ement": 2057, + "ements": 11058, + "emer": 3132, + "emer": 25727, + "emerald": 46878, + "emerald": 16980, + "emerge": 22182, + "emerged": 26425, + "emergen": 24096, + "emergence": 39867, + "emergencies": 35759, + "emergency": 44038, + "emergency": 5897, + "emerges": 30801, + "emerging": 38174, + "emerging": 11113, + "emeritus": 35333, + "emerson": 24147, + "emery": 32678, + "emi": 44327, + "emi": 18525, + "emil": 26794, + "emil": 40624, + "emile": 43926, + "emili": 20709, + "emilia": 34238, + "emilio": 39722, + "emily": 14545, + "emily": 7640, + "emin": 17227, + "emin": 23995, + "eminem": 22129, + "eminent": 33779, + "eming": 40398, + "emir": 13337, + "emir": 47613, + "emirates": 47244, + "emirates": 17867, + "emission": 27761, + "emissions": 14172, + "emit": 49043, + "emma": 18177, + "emma": 7445, + "emmanuel": 48045, + "emmanuel": 20411, + "emmett": 45779, + "emmy": 35625, + "emmy": 17089, + "emmys": 21875, + "emo": 3738, + "emo": 19381, + "emoji": 16327, + "emojis": 27870, + "emon": 34406, + "emor": 45034, + "emory": 44274, + "emotion": 17464, + "emotional": 7357, + "emotionally": 24088, + "emotions": 12904, + "emp": 3831, + "emp": 41004, + "empathy": 22420, + "emper": 12522, + "emperor": 13828, + "empha": 16237, + "emphasi": 47176, + "emphasis": 29588, + "empire": 26212, + "empire": 7614, + "empires": 46510, + "emplo": 3409, + "employ": 37290, + "employ": 39626, + "employe": 5037, + "employed": 26567, + "employee": 36631, + "employee": 9560, + "employees": 7377, + "employer": 21296, + "employers": 17647, + "employment": 10959, + "empor": 27386, + "emporium": 48541, + "empower": 13612, + "empower": 17230, + "empowered": 29087, + "empowering": 20086, + "empowerment": 15747, + "empowers": 46206, + "empress": 26656, + "empty": 41203, + "empty": 7893, + "emra": 39259, + "ems": 2858, + "emt": 46360, + "emu": 48149, + "emu": 29296, + "emul": 23272, + "emy": 31076, + "en": 524, + "en": 576, + "ena": 3452, + "enab": 17308, + "enable": 15642, + "enabled": 23666, + "enables": 23417, + "enabling": 23590, + "enam": 41486, + "enamel": 22746, + "enary": 13132, + "enas": 34536, + "enation": 20860, + "enberg": 15658, + "enburg": 28430, + "enc": 33169, + "enca": 37774, + "encan": 30345, + "encapsul": 40874, + "ence": 6495, + "ence": 954, + "enced": 6549, + "ences": 3777, + "enchan": 17290, + "enchanted": 28258, + "enchanting": 32531, + "enchil": 47396, + "enci": 32207, + "encia": 30068, + "encies": 18729, + "encing": 10326, + "enclosed": 43243, + "enclosure": 37419, + "encom": 44026, + "encore": 20549, + "encoun": 17309, + "encounter": 13164, + "encountered": 32492, + "encounters": 25399, + "encoura": 6169, + "encourage": 12090, + "encouraged": 20299, + "encouragement": 24959, + "encourages": 23848, + "encouraging": 15875, + "encro": 45822, + "encry": 28600, + "encryp": 42928, + "encrypted": 48710, + "encryption": 31423, + "ency": 3484, + "encyclo": 32104, + "encyclopedia": 38376, + "end": 945, + "end": 806, + "enda": 6735, + "endale": 20290, + "endange": 13990, + "endangered": 14931, + "ende": 11373, + "ende": 40306, + "endeav": 18134, + "endeavor": 40502, + "endeavors": 44394, + "endeavour": 38035, + "ended": 2622, + "endemic": 41241, + "endent": 16265, + "ender": 48106, + "ender": 12383, + "enders": 7418, + "endez": 43850, + "endgame": 23042, + "endi": 31359, + "ending": 2695, + "endings": 36516, + "endish": 38841, + "endless": 12688, + "endlessly": 45145, + "endment": 45894, + "endo": 13476, + "endo": 15830, + "endocr": 36486, + "endof": 40786, + "endome": 46996, + "endon": 48018, + "endor": 8092, + "endorf": 37249, + "endorse": 28819, + "endorsed": 24307, + "endorsement": 21205, + "endorses": 34603, + "endorsing": 46779, + "endow": 45895, + "endra": 22321, + "ends": 1339, + "endthe": 46256, + "endu": 26032, + "endur": 19557, + "endurance": 21027, + "endure": 32419, + "enduring": 30851, + "enduro": 47042, + "ene": 3297, + "ene": 6049, + "ened": 2494, + "eneed": 45137, + "enegger": 33235, + "enei": 48906, + "enemies": 15824, + "enemy": 10310, + "enen": 45113, + "ener": 2244, + "ener": 13600, + "energ": 39451, + "energetic": 24197, + "energi": 23044, + "energies": 42374, + "energized": 48635, + "energy": 14974, + "energy": 2650, + "energye": 32271, + "energyefficiency": 40586, + "eners": 48208, + "enes": 42066, + "eness": 11806, + "enet": 46336, + "enew": 29672, + "enews": 13442, + "eney": 20706, + "enez": 33110, + "enf": 38167, + "enfield": 27808, + "enfor": 10592, + "enforce": 40224, + "enforced": 44597, + "enforcement": 12460, + "eng": 1035, + "eng": 6730, + "enga": 22297, + "engag": 6793, + "engage": 11089, + "engaged": 11475, + "engagement": 7281, + "engaging": 13060, + "enge": 26279, + "enge": 2742, + "engel": 38265, + "engen": 48286, + "enger": 6618, + "engers": 7533, + "engine": 3355, + "engine": 5857, + "engineer": 40151, + "engineer": 8517, + "engineered": 26580, + "engineering": 5273, + "engineers": 11494, + "engines": 14487, + "england": 20904, + "england": 3595, + "english": 15942, + "english": 3469, + "engra": 17560, + "engraved": 29421, + "engraving": 33309, + "engul": 43655, + "engv": 28401, + "enh": 7449, + "enhall": 48781, + "enham": 24592, + "enhan": 26827, + "enhance": 13993, + "enhanced": 16070, + "enhancement": 35601, + "enhances": 38259, + "enhancing": 25986, + "eni": 4395, + "eni": 17538, + "enic": 46780, + "enic": 28292, + "enig": 19754, + "enig": 48730, + "enight": 32848, + "enight": 20640, + "enigma": 34998, + "ening": 1133, + "enium": 34380, + "enix": 25720, + "enjo": 1498, + "enjoy": 12981, + "enjoy": 2218, + "enjoyable": 17444, + "enjoyed": 5045, + "enjoying": 3603, + "enjoyment": 34905, + "enjoys": 17024, + "enka": 43942, + "enko": 25312, + "enlar": 38136, + "enligh": 21364, + "enlighten": 28200, + "enlightened": 44032, + "enlightening": 44005, + "enlightenment": 29255, + "enlisted": 43555, + "enly": 43023, + "enn": 43563, + "enna": 8095, + "enne": 21176, + "enne": 11518, + "ennedy": 46266, + "ennes": 43613, + "enni": 7049, + "ennial": 14220, + "ennis": 48923, + "ennis": 26309, + "eno": 9429, + "eno": 12843, + "enoch": 47917, + "enor": 13955, + "enormous": 20129, + "enos": 44759, + "enote": 44955, + "enough": 2744, + "enow": 26876, + "enqu": 28417, + "enqui": 22810, + "enquire": 46658, + "enquiries": 31901, + "enquiry": 45141, + "enri": 18915, + "enrich": 20058, + "enrich": 45504, + "enriched": 45166, + "enrichment": 32903, + "enrique": 25489, + "enrol": 44279, + "enroll": 23739, + "enroll": 30366, + "enrolled": 36853, + "enrollment": 24875, + "enroute": 40548, + "ens": 41799, + "ens": 1323, + "ense": 12657, + "ense": 27658, + "ensemble": 14843, + "ensis": 32842, + "ensla": 37535, + "enslaved": 48675, + "ensure": 7492, + "ensures": 29707, + "ensuring": 19403, + "ent": 724, + "ent": 621, + "enta": 17681, + "ental": 32342, + "ental": 6168, + "entary": 9833, + "entation": 37412, + "ente": 17433, + "ente": 9935, + "ented": 3800, + "entennial": 43088, + "enter": 2963, + "enter": 3819, + "entered": 10679, + "entering": 12580, + "enterpri": 7339, + "enterprise": 9220, + "enterprises": 21219, + "enters": 15287, + "entertain": 5566, + "entertain": 23510, + "entertained": 30631, + "entertainer": 28674, + "entertaining": 13897, + "entertainment": 6166, + "entes": 24213, + "enthr": 36202, + "enthusi": 9631, + "enthusiasm": 20525, + "enthusiast": 27153, + "enthusiastic": 22068, + "enthusiasts": 27514, + "enti": 1938, + "ential": 5194, + "entially": 37695, + "entic": 10340, + "entine": 49212, + "enting": 20526, + "entire": 4709, + "entirely": 13911, + "entirety": 43242, + "entit": 15209, + "entities": 38134, + "entitled": 18680, + "entity": 28455, + "ently": 2922, + "ento": 21917, + "ento": 8762, + "entom": 31676, + "entourage": 47893, + "entr": 7129, + "entrance": 9129, + "entrata": 27304, + "entre": 34188, + "entre": 19600, + "entren": 46959, + "entrepre": 4583, + "entreprene": 4789, + "entrepreneu": 26784, + "entrepreneur": 12119, + "entrepreneur": 8033, + "entrepreneurial": 28261, + "entrepreneurs": 11054, + "entrepreneurship": 12858, + "entries": 13766, + "entry": 5362, + "ents": 870, + "entu": 6650, + "enty": 5657, + "enu": 23430, + "env": 32280, + "env": 39207, + "envel": 20052, + "envelope": 27358, + "envir": 3512, + "enviro": 46200, + "environ": 3599, + "environment": 33039, + "environment": 5501, + "environmental": 7831, + "environmentally": 32855, + "environments": 19577, + "envision": 49031, + "envoy": 29263, + "envy": 21017, + "eny": 20482, + "enya": 36509, + "enyc": 39520, + "enz": 25805, + "enz": 31873, + "enza": 25239, + "enzie": 14839, + "enzo": 31543, + "enzyme": 40348, + "enzymes": 47465, + "eo": 16054, + "eo": 11712, + "eoin": 48634, + "eon": 31915, + "eos": 17805, + "ep": 1178, + "ep": 1117, + "epa": 15866, + "epage": 26931, + "epaper": 33584, + "epcot": 32524, + "eper": 43071, + "eph": 45752, + "eph": 41240, + "ephe": 25129, + "epi": 7219, + "epi": 34641, + "epic": 12683, + "epic": 4991, + "epiconetsy": 49222, + "epide": 17382, + "epidemi": 44447, + "epidemic": 21522, + "epile": 23150, + "epilepsy": 29547, + "epilo": 31291, + "epilots": 39766, + "epiph": 40561, + "epiphany": 43251, + "epis": 24616, + "episcop": 28037, + "episcopal": 31221, + "episo": 2708, + "episode": 2965, + "episodes": 11837, + "epit": 21967, + "epitome": 35114, + "epl": 25950, + "epo": 25810, + "epp": 39054, + "epp": 39593, + "eps": 4090, + "epsilon": 40019, + "epsom": 40364, + "epstein": 34688, + "eq": 39331, + "eq": 33692, + "equ": 2563, + "equal": 17373, + "equal": 10433, + "equality": 48981, + "equality": 9578, + "equally": 18172, + "equals": 30278, + "equation": 28591, + "equations": 38225, + "eque": 19518, + "equestrian": 24728, + "equi": 8752, + "equili": 43262, + "equine": 33801, + "equinox": 32652, + "equip": 6526, + "equip": 36979, + "equipment": 6893, + "equipo": 45688, + "equipped": 18331, + "equitable": 44717, + "equities": 44015, + "equity": 11293, + "equivalent": 19489, + "er": 517, + "er": 528, + "era": 30548, + "era": 2072, + "erable": 18801, + "erad": 24194, + "eradic": 36346, + "eradicate": 46164, + "eral": 6222, + "eran": 13069, + "eras": 19325, + "eras": 39090, + "erase": 33893, + "erased": 46762, + "erasmus": 38935, + "erc": 5360, + "erc": 32382, + "erd": 25645, + "erdo": 21112, + "erdogan": 24453, + "ere": 17907, + "ere": 642, + "erec": 21526, + "erected": 39365, + "ered": 9097, + "eres": 15751, + "ergon": 38120, + "ergy": 19550, + "eri": 2769, + "eri": 9509, + "eria": 11634, + "erial": 5409, + "eric": 1206, + "eric": 5396, + "erica": 13208, + "erich": 26070, + "erick": 27434, + "erick": 36959, + "erickson": 45286, + "ericsson": 39645, + "eridge": 45408, + "erie": 7005, + "eries": 9099, + "erik": 22805, + "erik": 16532, + "erika": 25531, + "erin": 17532, + "erin": 11333, + "erina": 25176, + "ering": 1785, + "erit": 23335, + "eritrea": 30738, + "erjee": 41665, + "erly": 14380, + "erm": 31649, + "erman": 17990, + "ern": 6992, + "ern": 12140, + "ernal": 20868, + "ernan": 34617, + "ernation": 48796, + "erne": 33930, + "ernest": 23006, + "ernie": 23636, + "ernity": 14653, + "erno": 40812, + "ernst": 30099, + "ero": 3211, + "ero": 3732, + "erock": 38206, + "eron": 32837, + "eroom": 46690, + "eros": 30597, + "erose": 48657, + "erosion": 30174, + "erotic": 30708, + "erotica": 39126, + "erous": 6384, + "eroy": 36461, + "erp": 28268, + "err": 22479, + "err": 25346, + "erra": 48446, + "errands": 45485, + "error": 12097, + "errors": 21195, + "erry": 45236, + "erry": 24124, + "ers": 4840, + "ers": 612, + "ersfc": 37925, + "ership": 2884, + "erson": 25780, + "erson": 6811, + "ert": 40325, + "ert": 3112, + "erta": 32007, + "erton": 26245, + "erts": 12921, + "eru": 36068, + "erun": 41642, + "erup": 17093, + "erupted": 48862, + "eruption": 33705, + "erville": 37557, + "erwin": 43724, + "ery": 12467, + "ery": 1692, + "erz": 38711, + "es": 957, + "es": 542, + "esa": 46834, + "esa": 12489, + "esanders": 23099, + "esc": 3330, + "esc": 28420, + "escal": 15902, + "escap": 11499, + "escape": 32484, + "escape": 7568, + "escaped": 18707, + "escapes": 29916, + "escaping": 21767, + "escar": 39229, + "escence": 37972, + "esch": 46760, + "esch": 41945, + "esco": 32482, + "escobar": 48807, + "escor": 24360, + "escort": 24976, + "escorted": 47667, + "escorts": 48574, + "escu": 36517, + "esday": 19553, + "ese": 18766, + "ese": 2260, + "esg": 41674, + "esh": 17119, + "esh": 13407, + "esha": 28799, + "eshop": 38451, + "eshop": 45570, + "eshopsuk": 39349, + "esi": 30064, + "esis": 12414, + "esk": 19359, + "esl": 26201, + "eso": 29890, + "eso": 28921, + "esof": 17047, + "eson": 46845, + "esp": 3849, + "esp": 13870, + "espa": 37301, + "espan": 41731, + "españa": 41118, + "especially": 4878, + "esper": 29216, + "espino": 46633, + "espionage": 43498, + "espn": 22917, + "espn": 7540, + "espnu": 47747, + "espo": 34381, + "esports": 16035, + "espresso": 17098, + "esq": 47352, + "esqu": 34616, + "esque": 25877, + "ess": 3118, + "ess": 9764, + "essa": 39125, + "essay": 12751, + "essays": 27328, + "esse": 22305, + "essen": 30489, + "essence": 17830, + "essenti": 11163, + "essential": 47264, + "essential": 6895, + "essentially": 30042, + "essentials": 16191, + "essex": 30563, + "essex": 11623, + "est": 2291, + "est": 1509, + "esta": 41449, + "esta": 10135, + "estab": 7010, + "establi": 8412, + "establish": 19709, + "established": 13143, + "establishing": 29420, + "establishment": 20213, + "estas": 39072, + "estate": 47130, + "estate": 6159, + "estates": 26054, + "este": 12968, + "este": 20579, + "esteban": 48381, + "esteem": 31541, + "esteemed": 36293, + "ester": 45808, + "esthe": 18468, + "esther": 24393, + "estim": 8904, + "estimate": 21883, + "estimated": 16665, + "estimates": 21957, + "esto": 31589, + "esto": 23958, + "estonia": 26260, + "estonian": 48895, + "estrada": 48116, + "estre": 31271, + "estu": 26272, + "estuary": 35269, + "esur": 35758, + "esville": 39187, + "esy": 46268, + "et": 1169, + "et": 875, + "eta": 8761, + "etal": 25221, + "etary": 13074, + "etc": 5353, + "etched": 40411, + "etching": 41375, + "ete": 38820, + "ete": 40245, + "eter": 8587, + "eter": 17007, + "eternal": 13732, + "eternally": 48486, + "eternity": 23832, + "eters": 18392, + "etf": 31661, + "eth": 4819, + "eth": 5927, + "ethan": 24245, + "ethan": 15958, + "ethanol": 38166, + "ethe": 21312, + "ethel": 45921, + "ether": 23349, + "ethere": 18705, + "ethereal": 40925, + "ethereum": 19612, + "ethernet": 35026, + "ethi": 10327, + "ethic": 39104, + "ethical": 47041, + "ethical": 17679, + "ethics": 13355, + "ethiop": 10897, + "ethiopia": 13920, + "ethiopian": 24507, + "ethnic": 30522, + "ethnic": 16344, + "ethnicity": 46787, + "ethno": 34225, + "ethos": 48768, + "eti": 11188, + "eti": 30394, + "etienne": 46118, + "eties": 15137, + "etihad": 38489, + "etiquette": 37957, + "etis": 38216, + "etisation": 39733, + "etna": 41940, + "eto": 27829, + "eto": 33837, + "eton": 44339, + "etour": 41462, + "etr": 23012, + "etres": 42838, + "ets": 3442, + "etsy": 13237, + "etsy": 6282, + "etsym": 22902, + "etsymntt": 25416, + "etsyshop": 44643, + "ett": 32729, + "ett": 24998, + "etta": 30466, + "ette": 19981, + "ette": 5212, + "ettes": 35326, + "etto": 44219, + "etty": 40759, + "etu": 36593, + "etv": 49155, + "etv": 20325, + "etwork": 20585, + "ety": 25920, + "ety": 2746, + "etz": 36181, + "etz": 25301, + "eu": 1506, + "eu": 3238, + "eucalyp": 41068, + "eucalyptus": 42351, + "euchar": 38362, + "eugen": 30678, + "eugene": 17760, + "eul": 46749, + "eun": 16431, + "eun": 26219, + "eunhyuk": 47526, + "eup": 44435, + "euph": 21386, + "euphoria": 41051, + "eur": 18343, + "eur": 12018, + "eura": 32605, + "eure": 25311, + "euref": 48017, + "eureka": 31686, + "euro": 2039, + "euro": 8463, + "euroleague": 46821, + "europa": 18290, + "europale": 42473, + "europaleague": 44029, + "europarl": 44922, + "europe": 4198, + "europe": 3848, + "european": 26712, + "european": 4759, + "europeans": 37082, + "euros": 22274, + "eurovision": 17593, + "eurozone": 42555, + "eurusd": 40895, + "eus": 44214, + "euston": 46905, + "euthan": 43280, + "euve": 40652, + "eux": 25019, + "ev": 776, + "ev": 10133, + "eva": 6845, + "evacu": 13187, + "evacuated": 26806, + "evacuation": 27353, + "eval": 25139, + "eval": 9703, + "evalu": 10314, + "evaluate": 27174, + "evaluating": 34541, + "evaluation": 17640, + "evan": 12821, + "evan": 12847, + "evangel": 20518, + "evangeli": 21372, + "evangelical": 36151, + "evangelist": 42275, + "evankirstel": 46581, + "evans": 8836, + "evansville": 44782, + "evapor": 33352, + "evasion": 48795, + "eve": 5732, + "eve": 1866, + "eved": 19820, + "evel": 39315, + "evelyn": 26687, + "evement": 8210, + "even": 6359, + "even": 1427, + "evening": 34487, + "evening": 2285, + "evenings": 19994, + "evenly": 45974, + "event": 10612, + "event": 1655, + "eventful": 45628, + "evento": 38155, + "eventprofs": 24980, + "events": 3667, + "eventu": 14055, + "eventual": 45321, + "eventually": 14397, + "ever": 888, + "ever": 1247, + "everest": 21722, + "everett": 25456, + "everglades": 46294, + "evergreen": 23852, + "everlasting": 32849, + "evers": 31914, + "everton": 13315, + "every": 1091, + "every": 1505, + "everybody": 5901, + "everyday": 25049, + "everyday": 5160, + "everyone": 1584, + "everything": 36376, + "everything": 2410, + "everytime": 16911, + "everywhere": 6364, + "eves": 7323, + "evi": 5348, + "evi": 36989, + "evic": 21336, + "eviction": 37111, + "eviden": 46220, + "evidence": 6439, + "evident": 34529, + "evie": 47195, + "evil": 23218, + "evil": 6006, + "eville": 16143, + "eving": 24729, + "evo": 17962, + "evo": 13169, + "evoc": 43133, + "evol": 5350, + "evolu": 7725, + "evolution": 8902, + "evolutionary": 30629, + "evolve": 23406, + "evolved": 22613, + "evolving": 23675, + "evp": 46154, + "evs": 33576, + "ew": 11942, + "ew": 15428, + "ewan": 40247, + "ewe": 48438, + "ewing": 38873, + "ews": 9878, + "ex": 659, + "ex": 4118, + "exac": 5460, + "exact": 12651, + "exactly": 5840, + "exagger": 29766, + "exal": 49324, + "exam": 4428, + "exam": 8785, + "examination": 20970, + "examine": 25728, + "examined": 44004, + "examiner": 29149, + "examines": 28160, + "examining": 30616, + "example": 6228, + "examples": 14790, + "exams": 14028, + "exas": 47536, + "exc": 1302, + "excav": 20733, + "excavation": 45909, + "exce": 10999, + "exceed": 32521, + "exceeded": 36221, + "exceeding": 47213, + "exceeds": 49353, + "excel": 28351, + "excel": 18754, + "excell": 3298, + "excellence": 8171, + "excellency": 36503, + "excellent": 4239, + "excelsi": 47315, + "excep": 8882, + "except": 8541, + "exception": 25018, + "exceptional": 13425, + "exceptionally": 29306, + "excer": 17737, + "excerpt": 20586, + "excess": 22491, + "excessive": 21332, + "exchange": 6616, + "exchanged": 48919, + "exchanges": 29730, + "exchanging": 47760, + "excit": 10510, + "excite": 47711, + "excited": 1889, + "excitement": 11407, + "exciting": 4300, + "exclu": 3114, + "exclude": 49235, + "excluded": 46216, + "excluding": 44326, + "exclusion": 40219, + "exclusive": 3747, + "exclusively": 13565, + "exclusives": 47149, + "excu": 7324, + "excur": 27533, + "excursion": 34869, + "excuse": 9266, + "excuses": 19388, + "exe": 3554, + "exe": 48027, + "exec": 15052, + "execs": 35728, + "execu": 4360, + "execute": 36405, + "executed": 20432, + "execution": 18085, + "executive": 5944, + "executives": 24357, + "exem": 19753, + "exemp": 28602, + "exempl": 36371, + "exemplary": 39123, + "exempli": 41934, + "exempt": 44278, + "exemption": 47481, + "exer": 40295, + "exerc": 5932, + "exercise": 7016, + "exercises": 19669, + "exercising": 39036, + "exeter": 32137, + "exeter": 18837, + "exfoli": 38823, + "exhau": 11154, + "exhaust": 21812, + "exhausted": 21741, + "exhausting": 40035, + "exhaustion": 49221, + "exhi": 3022, + "exhib": 3783, + "exhibit": 24992, + "exhibit": 8209, + "exhibiting": 23889, + "exhibition": 4219, + "exhibitions": 28311, + "exhibitor": 44192, + "exhibitors": 38542, + "exhibits": 30093, + "exhilar": 40262, + "exhilarating": 49289, + "exi": 5297, + "exico": 38712, + "exile": 28566, + "exist": 10899, + "exist": 9645, + "existed": 23198, + "existence": 13832, + "existent": 43541, + "existential": 38752, + "existing": 12886, + "exists": 14608, + "exit": 9374, + "exited": 37581, + "exiting": 39577, + "exits": 34943, + "exmoor": 48260, + "exo": 15600, + "exo": 5842, + "exodus": 30098, + "exol": 42856, + "exop": 35288, + "exoplan": 37980, + "exor": 24506, + "exorcist": 46309, + "exotic": 15639, + "exp": 9923, + "exp": 19066, + "expan": 7512, + "expand": 10382, + "expand": 13141, + "expanded": 18390, + "expanding": 15755, + "expands": 22223, + "expanse": 46886, + "expansion": 10138, + "expansive": 49261, + "expat": 43900, + "expe": 2560, + "expect": 9802, + "expect": 5716, + "expectation": 34273, + "expectations": 12529, + "expected": 5573, + "expecting": 12525, + "expects": 24536, + "expedition": 16761, + "expeditions": 49327, + "expelled": 48834, + "expen": 7216, + "expend": 29302, + "expenditure": 47044, + "expense": 28473, + "expenses": 21797, + "expensive": 9649, + "exper": 1533, + "experi": 4723, + "experience": 31867, + "experience": 2415, + "experienced": 10417, + "experiences": 8233, + "experiencing": 16643, + "experiential": 44952, + "experim": 6697, + "experiment": 13079, + "experimental": 16539, + "experimenting": 28263, + "experiments": 21077, + "expert": 6284, + "expertise": 16555, + "experts": 6960, + "expi": 26850, + "expir": 35077, + "expire": 49315, + "expired": 30200, + "expires": 34739, + "expl": 3261, + "expla": 3517, + "explain": 48918, + "explain": 7304, + "explained": 14229, + "explaining": 13136, + "explains": 6655, + "explan": 13294, + "explanation": 16577, + "explanations": 34383, + "explic": 21011, + "explicit": 33228, + "explo": 3586, + "explode": 31262, + "exploded": 28947, + "explodes": 38119, + "exploding": 34683, + "exploit": 36953, + "exploited": 48554, + "explor": 11958, + "exploration": 14043, + "explore": 10405, + "explore": 5147, + "explorebc": 38754, + "explorecanada": 36600, + "explored": 25016, + "explorer": 15776, + "explorers": 28491, + "explores": 13996, + "exploring": 7584, + "explosion": 13785, + "explosions": 38646, + "explosive": 18888, + "explosives": 44705, + "expo": 7820, + "expo": 6344, + "expon": 27905, + "export": 14444, + "exporting": 47433, + "exports": 20088, + "expose": 23181, + "exposed": 12180, + "exposes": 33575, + "exposing": 28362, + "exposition": 36943, + "exposure": 11903, + "expre": 6085, + "express": 18553, + "express": 5642, + "expressed": 20777, + "expresses": 31931, + "expressing": 30207, + "expression": 11357, + "expressions": 20314, + "expressive": 42060, + "expressway": 31658, + "exquis": 16575, + "exquisite": 17958, + "ext": 5711, + "ext": 20072, + "exten": 5555, + "extend": 14492, + "extended": 9614, + "extending": 25652, + "extends": 20688, + "extension": 10275, + "extensions": 24525, + "extensive": 16870, + "extensively": 47365, + "extent": 24913, + "exter": 9797, + "exterior": 19352, + "extermin": 41671, + "external": 15028, + "extin": 13553, + "extinct": 24488, + "extinction": 21186, + "extingui": 38567, + "extor": 35620, + "extr": 29082, + "extra": 6416, + "extra": 4231, + "extrac": 18550, + "extract": 18962, + "extraction": 28789, + "extracts": 45576, + "extraordin": 23628, + "extraordinaire": 30909, + "extraordinary": 10982, + "extras": 29817, + "extravag": 22299, + "extravaganza": 29461, + "extre": 3978, + "extreme": 38357, + "extreme": 8331, + "extremely": 6519, + "extremism": 31493, + "extremist": 36383, + "extremists": 41425, + "extru": 43010, + "ey": 1541, + "ey": 1477, + "eyang": 28915, + "eye": 5034, + "eye": 3272, + "eyebrow": 34250, + "eyebrows": 19923, + "eyed": 15512, + "eyeing": 34916, + "eyel": 17075, + "eyelashes": 42074, + "eyeliner": 33354, + "eyeon": 25126, + "eyes": 3095, + "eyeshadow": 35213, + "eyewear": 30165, + "eyewitness": 36258, + "eyou": 31996, + "eyour": 40229, + "eyre": 44115, + "ez": 10082, + "ez": 8387, + "eze": 25993, + "eze": 27229, + "ezekiel": 41428, + "ezra": 27552, + "f": 69, + "f": 325, + "fa": 778, + "fa": 2800, + "faa": 27577, + "fab": 2833, + "fab": 5492, + "faber": 43461, + "faber": 42488, + "fabi": 29425, + "fabian": 34539, + "fabio": 31666, + "fabric": 16217, + "fabric": 10033, + "fabricated": 40851, + "fabrication": 33476, + "fabrics": 23159, + "fabulous": 5189, + "fac": 1053, + "fac": 35438, + "facade": 29217, + "face": 2545, + "face": 1710, + "facebook": 36156, + "facebook": 2943, + "faced": 10941, + "faceli": 32023, + "facelift": 36380, + "faceoff": 42710, + "facep": 45285, + "faces": 4905, + "faceted": 43435, + "facetime": 24076, + "facial": 11909, + "facil": 39973, + "facilit": 13567, + "facilitate": 26733, + "facilitated": 43853, + "facilitating": 34796, + "facilities": 10388, + "facility": 8165, + "facing": 7619, + "fact": 17189, + "fact": 3598, + "factfriday": 27953, + "faction": 14629, + "factor": 21082, + "factor": 8124, + "factories": 36492, + "factors": 12733, + "factory": 42483, + "factory": 6072, + "facts": 5085, + "factual": 45471, + "faculty": 9504, + "facup": 25283, + "fad": 12632, + "fad": 47669, + "fade": 20486, + "faded": 26051, + "fades": 40441, + "fading": 32882, + "fadnavis": 38945, + "faf": 31052, + "faf": 43903, + "fag": 25617, + "fag": 39305, + "fah": 25495, + "fah": 35429, + "fahren": 45527, + "fai": 20519, + "fai": 26384, + "fail": 7105, + "fail": 6801, + "failed": 8314, + "failing": 15757, + "fails": 13388, + "failure": 8732, + "failures": 25442, + "faint": 30807, + "fair": 3031, + "fair": 2849, + "fairbanks": 43962, + "faire": 34745, + "faire": 20798, + "fairfax": 29368, + "fairfield": 29664, + "fairgrounds": 38325, + "fairi": 28884, + "fairies": 33590, + "fairly": 14961, + "fairmont": 41547, + "fairness": 29388, + "fairs": 8655, + "fairtrade": 33361, + "fairview": 43479, + "fairway": 44022, + "fairy": 17021, + "fairy": 10444, + "fairytale": 28944, + "fais": 23542, + "faisal": 35459, + "fait": 20567, + "faith": 10653, + "faith": 5080, + "faithful": 15511, + "faiz": 41775, + "fake": 18794, + "fake": 5777, + "faken": 22853, + "fakenews": 26943, + "fakespeare": 49095, + "fal": 2778, + "fal": 40494, + "fala": 47120, + "falcon": 22498, + "falcon": 13571, + "falcons": 13834, + "falk": 34648, + "falkirk": 44080, + "fall": 6489, + "fall": 2359, + "fallen": 8688, + "falling": 48709, + "falling": 7293, + "fallon": 39596, + "fallon": 21281, + "fallontonight": 44627, + "fallout": 49365, + "fallout": 16009, + "falls": 4778, + "falmouth": 38261, + "false": 38948, + "false": 9078, + "falsely": 42321, + "fam": 1058, + "fam": 5128, + "fame": 6573, + "famed": 23302, + "famer": 24554, + "famil": 3395, + "famili": 8488, + "familia": 25622, + "familiar": 10020, + "families": 4612, + "family": 8137, + "family": 1315, + "familyfun": 46308, + "familytime": 47236, + "familytravel": 38222, + "famine": 35847, + "famous": 44811, + "famous": 4096, + "famously": 44505, + "fan": 1675, + "fan": 2261, + "fanart": 41059, + "fanart": 7855, + "fanartfriday": 45346, + "fanatic": 36643, + "fanatics": 39610, + "fanbase": 36921, + "fanboy": 43369, + "fanc": 29017, + "fancafe": 45080, + "fanci": 35908, + "fanclub": 31530, + "fancy": 47622, + "fancy": 6733, + "fand": 19684, + "fandom": 47634, + "fandom": 11534, + "fanfest": 42916, + "fanfic": 47243, + "fang": 14269, + "fang": 27428, + "fangirl": 28813, + "fangirling": 39463, + "fanning": 37282, + "fanny": 30401, + "fans": 32454, + "fans": 1840, + "fansign": 25288, + "fant": 4467, + "fanta": 2703, + "fantaken": 39412, + "fantasia": 49306, + "fantastic": 31289, + "fantastic": 2935, + "fantasy": 15124, + "fantasy": 5267, + "fantasyfootball": 35713, + "fao": 31155, + "faq": 28533, + "far": 1578, + "far": 2384, + "fara": 48562, + "farage": 28340, + "farah": 31547, + "fare": 8620, + "fare": 6461, + "fares": 27525, + "farewell": 10734, + "fargo": 18870, + "fari": 26197, + "farley": 43761, + "farm": 9066, + "farm": 3985, + "farmer": 19735, + "farmer": 10474, + "farmers": 29752, + "farmers": 6402, + "farmersmarket": 41808, + "farmhouse": 26293, + "farming": 10399, + "farmington": 49305, + "farmland": 45258, + "farms": 11277, + "farn": 27527, + "faroo": 39147, + "farra": 33657, + "farrakhan": 46293, + "farrell": 24234, + "fart": 34664, + "farther": 42233, + "fas": 4830, + "fas": 42995, + "fasci": 17191, + "fascin": 7327, + "fascinated": 32964, + "fascinating": 8640, + "fascism": 28213, + "fascist": 23870, + "fascists": 43598, + "fash": 42682, + "fashi": 2099, + "fashion": 6976, + "fashion": 2444, + "fashionable": 24597, + "fashionblogger": 31726, + "fashioned": 21563, + "fashioni": 26062, + "fashionista": 30415, + "fashions": 37601, + "fashionshow": 45653, + "fashionweek": 28684, + "fass": 42398, + "fast": 8509, + "fast": 1953, + "fasten": 44990, + "faster": 8835, + "fastest": 9808, + "fasting": 24656, + "fat": 4751, + "fat": 5484, + "fatal": 12124, + "fatalities": 44168, + "fatally": 34069, + "fate": 26315, + "fate": 11734, + "father": 11607, + "father": 3224, + "fathers": 12780, + "fathersday": 16731, + "fati": 13430, + "fatigue": 23747, + "fatima": 28202, + "fats": 30151, + "fatt": 44131, + "fatty": 22953, + "fau": 5571, + "fau": 31381, + "faucet": 44273, + "faul": 16230, + "faulkner": 37840, + "fault": 13862, + "faults": 42752, + "faulty": 47103, + "fauna": 30808, + "faust": 44772, + "faux": 19429, + "fav": 1355, + "fav": 5426, + "fave": 7272, + "faves": 18003, + "favor": 1766, + "favor": 12160, + "favorable": 35392, + "favored": 46640, + "favorite": 35262, + "favorite": 1916, + "favorited": 36926, + "favorites": 10564, + "favors": 36085, + "favour": 3111, + "favour": 20469, + "favourite": 3342, + "favourites": 16585, + "favs": 18879, + "faw": 21800, + "fawad": 46425, + "fawn": 48624, + "fax": 32535, + "fax": 9337, + "fay": 8939, + "fay": 40074, + "faye": 30257, + "fayette": 32043, + "fayette": 19782, + "fayetteville": 37771, + "fayre": 34982, + "faz": 26238, + "faze": 44880, + "fb": 22637, + "fb": 3307, + "fball": 29663, + "fbf": 20004, + "fbi": 10293, + "fbloggers": 41389, + "fbs": 48454, + "fc": 4278, + "fc": 1399, + "fca": 24540, + "fcb": 26639, + "fcb": 25045, + "fcbarcelona": 32174, + "fcbayern": 35033, + "fcblive": 44608, + "fcc": 21240, + "fck": 40080, + "fck": 49263, + "fcofficial": 27805, + "fcs": 32095, + "fcu": 47898, + "fd": 16972, + "fd": 11525, + "fda": 17823, + "fdi": 45579, + "fdn": 18563, + "fdny": 41084, + "fdr": 42298, + "fe": 623, + "fe": 873, + "fear": 8744, + "fear": 5402, + "feared": 31154, + "fearless": 17470, + "fears": 13867, + "fearthe": 33449, + "feasi": 34977, + "feast": 37963, + "feast": 9564, + "feat": 1703, + "feat": 5611, + "feather": 24905, + "feather": 17871, + "feathers": 21138, + "featherweight": 44939, + "feature": 30413, + "feature": 4527, + "featured": 4743, + "features": 4643, + "featuring": 3706, + "feb": 4317, + "febru": 4202, + "february": 4248, + "fect": 31293, + "fed": 22518, + "fed": 7035, + "feder": 4737, + "federal": 6369, + "federation": 15530, + "federer": 18246, + "federico": 40539, + "fedex": 32603, + "fedora": 45111, + "feds": 30593, + "fee": 28242, + "fee": 9224, + "feed": 6662, + "feed": 5839, + "feedback": 8683, + "feeder": 24482, + "feeders": 44523, + "feeding": 9879, + "feeds": 21788, + "feel": 2408, + "feel": 2051, + "feelin": 19903, + "feeling": 33087, + "feeling": 3045, + "feelings": 9452, + "feels": 4808, + "feelthe": 22322, + "feelthebern": 27743, + "fees": 11765, + "feet": 4804, + "fei": 23441, + "fei": 34217, + "fein": 46707, + "feinstein": 41313, + "fel": 2081, + "fel": 20304, + "feld": 45913, + "feld": 14219, + "feldman": 41942, + "feli": 7498, + "felic": 25845, + "felici": 23379, + "felicia": 41139, + "felicidades": 41648, + "felicity": 35123, + "feline": 29471, + "felipe": 27681, + "felix": 33455, + "felix": 16514, + "feliz": 26104, + "feliz": 20221, + "fell": 33540, + "fell": 6266, + "fella": 17586, + "fellas": 18787, + "feller": 29226, + "fellow": 12099, + "fellow": 5242, + "fellows": 15766, + "fellowship": 13857, + "felony": 31068, + "felt": 5413, + "fem": 24574, + "fem": 36615, + "fema": 41721, + "female": 22062, + "female": 3970, + "females": 21028, + "femi": 38607, + "femin": 11423, + "femini": 11894, + "feminine": 24911, + "feminism": 18784, + "feminist": 14921, + "feminists": 38809, + "femme": 31331, + "fen": 5509, + "fen": 25024, + "fence": 12679, + "fences": 34312, + "fencing": 23489, + "fender": 17117, + "fener": 41208, + "fenerbah": 46652, + "feng": 33291, + "fennel": 28689, + "fent": 26395, + "fenton": 47265, + "fenway": 29206, + "fer": 1765, + "fer": 2897, + "fera": 37705, + "feral": 29972, + "ferdin": 25541, + "ferdinand": 27591, + "fere": 43144, + "feren": 35652, + "ference": 19984, + "ferg": 44938, + "fergie": 39119, + "fergu": 10988, + "fergus": 42041, + "ferguson": 11904, + "fermentation": 45817, + "fermented": 36886, + "fern": 10747, + "fern": 21685, + "fernandes": 44391, + "fernandez": 23436, + "fernando": 17140, + "ferns": 38277, + "feroci": 45652, + "ferr": 7256, + "ferra": 47911, + "ferrari": 9606, + "ferre": 29626, + "ferred": 10432, + "ferreira": 48686, + "ferrell": 41112, + "ferrer": 38904, + "ferri": 42008, + "ferries": 28489, + "ferris": 27532, + "ferry": 38936, + "ferry": 10278, + "fers": 12378, + "fert": 14925, + "fert": 43662, + "fertil": 41987, + "fertile": 44837, + "fertili": 23912, + "fertility": 23528, + "fertilizer": 36786, + "fery": 47448, + "fes": 32300, + "fest": 17383, + "fest": 2590, + "festa": 42124, + "festi": 1943, + "festiv": 19222, + "festival": 20946, + "festival": 2240, + "festivals": 17834, + "festive": 9533, + "festivities": 21020, + "fet": 21409, + "feta": 31705, + "fetal": 42031, + "fetch": 30271, + "fete": 34629, + "fett": 37979, + "fetus": 26768, + "feu": 24912, + "feu": 32990, + "feud": 27365, + "fever": 40896, + "fever": 9989, + "fevre": 43861, + "few": 1939, + "fewer": 19128, + "fex": 41584, + "fex": 26392, + "fey": 39069, + "fey": 23298, + "fez": 43081, + "ff": 1021, + "ff": 1304, + "ffa": 15355, + "ffame": 42873, + "ffc": 19832, + "ffe": 1138, + "ffe": 8631, + "ffect": 29151, + "ffed": 8448, + "ffee": 26377, + "ffel": 22656, + "ffen": 46537, + "ffer": 27369, + "ffer": 11636, + "ffers": 32163, + "fferty": 44771, + "ffes": 46441, + "ffey": 30138, + "fff": 28106, + "ffi": 19961, + "ffic": 4762, + "ffice": 26044, + "ffici": 3639, + "fficial": 39818, + "fficial": 6463, + "fficiency": 27800, + "fficient": 20424, + "ffin": 12779, + "ffin": 7367, + "ffing": 16592, + "ffins": 17898, + "ffl": 39490, + "ffle": 7749, + "ffler": 39819, + "ffles": 19344, + "ffman": 15823, + "ffo": 42264, + "ffs": 4424, + "ffxiv": 26569, + "ffxv": 46786, + "ffy": 26404, + "ffy": 7795, + "fg": 45977, + "fg": 6823, + "fgm": 32178, + "fgo": 46113, + "fh": 21649, + "fh": 21010, + "fhs": 45094, + "fi": 701, + "fi": 3589, + "fia": 8827, + "fiable": 34373, + "fianc": 27752, + "fiance": 44114, + "fiancé": 34039, + "fiasco": 40944, + "fiat": 16740, + "fiawec": 39485, + "fib": 40594, + "fiba": 34993, + "fiber": 35074, + "fiber": 12612, + "fibers": 44587, + "fibre": 21401, + "fibro": 21294, + "fibrosis": 36307, + "fic": 1788, + "fic": 2059, + "fica": 26952, + "fically": 14854, + "fication": 4523, + "fications": 12512, + "ficial": 48192, + "fics": 42505, + "fiction": 6218, + "fictional": 25570, + "fid": 34197, + "fid": 23966, + "fidd": 25218, + "fiddle": 35968, + "fide": 45375, + "fidel": 21740, + "fidel": 36837, + "fidelity": 30109, + "fidget": 48664, + "fie": 28487, + "fie": 10348, + "fied": 29642, + "fied": 2853, + "fiel": 1361, + "field": 7571, + "field": 1570, + "fielder": 11046, + "fieldhouse": 37969, + "fielding": 30465, + "fields": 6494, + "fieldwork": 33155, + "fiends": 37869, + "fier": 11167, + "fier": 10598, + "fierc": 48609, + "fierce": 13896, + "fiercely": 49039, + "fiers": 16113, + "fiery": 24557, + "fies": 9537, + "fiesta": 14580, + "fif": 5309, + "fifa": 21976, + "fifa": 8516, + "fifaworldcup": 38819, + "fifawwc": 41329, + "fife": 24374, + "fifteen": 29504, + "fifth": 25515, + "fifth": 8772, + "fifthharmony": 31075, + "fifty": 24456, + "fifty": 15978, + "fig": 4814, + "fig": 20719, + "figaro": 48044, + "figh": 23274, + "fight": 5262, + "fight": 2757, + "fighter": 35884, + "fighter": 6438, + "fighters": 7371, + "fightfor": 48909, + "fightfor": 35740, + "fighting": 38625, + "fighting": 4652, + "fighton": 45578, + "fights": 12132, + "figs": 38882, + "figu": 6390, + "figur": 16948, + "figurative": 44042, + "figure": 48820, + "figure": 5274, + "figured": 15630, + "figures": 8739, + "figurine": 33306, + "figuring": 31513, + "fiji": 48270, + "fiji": 18285, + "fik": 46589, + "fil": 1142, + "fil": 14915, + "fila": 30992, + "filament": 49252, + "file": 12545, + "file": 4512, + "filed": 13864, + "files": 7850, + "filet": 43155, + "fili": 9590, + "filing": 16576, + "filip": 14368, + "filipino": 19153, + "fill": 15904, + "fill": 6277, + "filled": 5589, + "filler": 32816, + "fillers": 45005, + "fillet": 39276, + "filling": 9736, + "fillion": 38048, + "fillmore": 43922, + "fills": 21750, + "filly": 27690, + "film": 5117, + "film": 1860, + "filmed": 15801, + "filmfare": 42224, + "filmfest": 24508, + "filmfestival": 28066, + "filming": 6866, + "filmmaker": 17202, + "filmmakers": 24896, + "filmmaking": 18226, + "films": 5370, + "fils": 40271, + "filter": 7541, + "filtered": 29926, + "filtering": 47770, + "filters": 18385, + "filth": 39713, + "filthy": 26899, + "filtr": 21408, + "filtration": 42036, + "fim": 47525, + "fin": 735, + "fin": 10663, + "fina": 34497, + "final": 11968, + "final": 1755, + "finale": 7844, + "finalfantasy": 44543, + "finalfour": 46999, + "finalist": 12620, + "finalists": 13422, + "finalized": 48930, + "finally": 1992, + "finals": 4536, + "finan": 4807, + "finance": 6117, + "finances": 28767, + "financi": 12846, + "financial": 19783, + "financial": 4930, + "financially": 28124, + "financing": 18375, + "finch": 18523, + "find": 18638, + "find": 1416, + "finder": 15045, + "finders": 43884, + "findia": 47064, + "finding": 37455, + "finding": 6002, + "findings": 16529, + "findlay": 48227, + "findom": 36463, + "finds": 6680, + "findyour": 25936, + "findyourpark": 38924, + "fine": 12042, + "fine": 3797, + "fineart": 7484, + "fineart": 16005, + "fineartamerica": 7724, + "fined": 20094, + "finely": 46120, + "finer": 36681, + "fines": 25053, + "finesse": 46047, + "finest": 7707, + "fing": 6485, + "fing": 17955, + "finger": 13480, + "finger": 8895, + "fingerprint": 39579, + "fingers": 9690, + "fini": 2405, + "finish": 42178, + "finish": 3958, + "finished": 3078, + "finisher": 38636, + "finishers": 48661, + "finishes": 13078, + "finishing": 7912, + "finite": 48312, + "finity": 41463, + "finity": 21273, + "fink": 40158, + "finland": 10775, + "finley": 41652, + "finn": 28479, + "finn": 16925, + "finna": 35180, + "finnish": 19616, + "fino": 30083, + "fins": 32810, + "fintech": 48929, + "fintech": 8899, + "fion": 27476, + "fiona": 20099, + "fior": 37086, + "fiore": 44997, + "fioren": 33188, + "fiorentina": 43713, + "fios": 42521, + "fir": 770, + "fir": 16233, + "fire": 2951, + "fire": 1769, + "firearm": 40311, + "firearms": 23960, + "fireball": 40543, + "firec": 42806, + "fired": 8846, + "firefighter": 20498, + "firefighters": 12600, + "firefly": 33997, + "firefox": 35372, + "fireman": 46085, + "firen": 34752, + "firenze": 38445, + "fireplace": 23050, + "fires": 8749, + "fireside": 36185, + "firework": 40750, + "fireworks": 10641, + "firing": 15105, + "firm": 16936, + "firm": 7705, + "firmly": 29156, + "firms": 13655, + "firmware": 42691, + "first": 6853, + "first": 874, + "firstdayof": 44297, + "firsth": 48512, + "firsts": 47884, + "firth": 26078, + "fis": 7846, + "fis": 47683, + "fiscal": 20825, + "fischer": 26532, + "fish": 6431, + "fish": 2759, + "fisher": 11175, + "fisher": 9176, + "fisheries": 24612, + "fisherman": 25055, + "fishermen": 28547, + "fishers": 42065, + "fishery": 49057, + "fishes": 35470, + "fishing": 31703, + "fishing": 4935, + "fishy": 35665, + "fist": 48340, + "fist": 17085, + "fit": 2366, + "fit": 2478, + "fitbit": 33768, + "fitch": 44614, + "fitfam": 20662, + "fitnes": 47285, + "fitness": 20044, + "fitness": 4838, + "fits": 6401, + "fitt": 32994, + "fitted": 14863, + "fitter": 42096, + "fitters": 32364, + "fitting": 11769, + "fittings": 45787, + "fitz": 11120, + "fitz": 25913, + "fitzgerald": 20606, + "fitzpatrick": 37141, + "fiu": 38374, + "five": 19508, + "five": 3127, + "fives": 44066, + "fix": 4596, + "fix": 6028, + "fixed": 9393, + "fixes": 25473, + "fixing": 17423, + "fixture": 17317, + "fixtures": 19904, + "fizz": 31242, + "fj": 43183, + "fj": 46447, + "fjor": 31260, + "fk": 12410, + "fl": 1082, + "fl": 2685, + "fla": 1577, + "fla": 20292, + "flag": 11536, + "flag": 4859, + "flagged": 45012, + "flags": 12221, + "flagship": 19779, + "flagstaff": 40406, + "flair": 24938, + "flake": 21221, + "flakes": 20934, + "flam": 10559, + "flame": 40351, + "flame": 13484, + "flamen": 28826, + "flamenco": 37362, + "flames": 13441, + "flamin": 42693, + "flaming": 34782, + "flamingo": 30323, + "flan": 14572, + "flanagan": 28641, + "flanders": 34837, + "flank": 44553, + "flann": 39510, + "flannel": 37807, + "flap": 35253, + "flappy": 40241, + "flare": 21185, + "flares": 46088, + "flash": 6089, + "flash": 5815, + "flashback": 14616, + "flashback": 11988, + "flashbackfriday": 15014, + "flashbacks": 47056, + "flashes": 31259, + "flashing": 31764, + "flashlight": 37256, + "flask": 36194, + "flat": 8986, + "flat": 6313, + "flats": 17228, + "flatt": 45498, + "flattering": 43267, + "flaun": 41421, + "flav": 7191, + "flavo": 28895, + "flavor": 31835, + "flavor": 11818, + "flavored": 29350, + "flavorful": 49135, + "flavors": 16930, + "flavour": 17026, + "flavoured": 42397, + "flavours": 21083, + "flaw": 14268, + "flaw": 34978, + "flawed": 35136, + "flawless": 15531, + "flaws": 30492, + "flax": 43443, + "fle": 2428, + "fle": 44964, + "flea": 24883, + "fleck": 28143, + "fled": 26731, + "flee": 19427, + "flee": 30167, + "fleece": 25038, + "fleeing": 30543, + "fleek": 43513, + "fleet": 35922, + "fleet": 9147, + "fleetwood": 28883, + "fleming": 25769, + "fler": 48789, + "flesh": 17495, + "flet": 16102, + "fletcher": 19810, + "fleur": 28593, + "flew": 13768, + "flex": 16426, + "flex": 12038, + "flexi": 10032, + "flexibility": 22547, + "flexible": 14502, + "flexing": 48483, + "fli": 2472, + "flick": 13746, + "flick": 23414, + "flickr": 17755, + "flies": 8070, + "flight": 24701, + "flight": 3795, + "flights": 10515, + "flin": 24730, + "flin": 43816, + "flinders": 44647, + "fling": 22768, + "flint": 28306, + "flint": 18324, + "flip": 20385, + "flip": 11035, + "flipk": 30829, + "flipkart": 33154, + "flipped": 28144, + "flipping": 25881, + "flips": 35089, + "flir": 24330, + "flirt": 38352, + "flirting": 35243, + "flix": 40663, + "flo": 1945, + "flo": 20711, + "float": 16123, + "floating": 12619, + "floats": 33272, + "flock": 36297, + "flock": 21822, + "flondon": 47366, + "floo": 4062, + "flood": 23793, + "flood": 7148, + "flooded": 19706, + "flooding": 10204, + "floods": 16369, + "floor": 23657, + "floor": 4125, + "flooring": 19227, + "floors": 15671, + "flop": 22994, + "floppy": 38267, + "flops": 29146, + "flor": 15784, + "flor": 41669, + "flora": 18906, + "floral": 10732, + "florals": 48331, + "floren": 37706, + "florence": 11617, + "flores": 21537, + "flori": 3482, + "florian": 41861, + "florida": 34264, + "florida": 3966, + "florist": 38403, + "floss": 36453, + "flotus": 35181, + "flour": 18592, + "flouri": 23239, + "flourish": 36038, + "flow": 2180, + "flow": 5608, + "flower": 12772, + "flower": 4055, + "flowering": 19953, + "flowers": 4023, + "flowing": 14922, + "flown": 25659, + "flows": 16715, + "floyd": 46369, + "floyd": 13656, + "flu": 3698, + "flu": 13528, + "fluctu": 40181, + "fluence": 38169, + "fluent": 30025, + "fluff": 31174, + "fluffy": 40346, + "fluffy": 17054, + "fluid": 43803, + "fluid": 16717, + "fluids": 41490, + "fluor": 45127, + "fluore": 26974, + "fluorescent": 35036, + "fluori": 45611, + "flur": 31591, + "flush": 25777, + "flushing": 43754, + "flute": 23746, + "flux": 25249, + "flwx": 30907, + "fly": 5666, + "fly": 3228, + "flye": 30873, + "flyeagles": 39927, + "flyeaglesfly": 39931, + "flyer": 11875, + "flyers": 14181, + "flyfishing": 31800, + "flying": 20782, + "flying": 4610, + "flyn": 40676, + "flynn": 15721, + "flyo": 33506, + "flyover": 38083, + "fm": 13715, + "fm": 3689, + "fman": 25152, + "fml": 26730, + "fmr": 32875, + "fn": 22773, + "fn": 21763, + "fnc": 46506, + "fo": 898, + "fo": 6157, + "foal": 40386, + "foam": 30039, + "foam": 14587, + "foamed": 26711, + "fob": 40315, + "focal": 30934, + "focu": 5827, + "focus": 4353, + "focused": 9319, + "focuses": 20093, + "focusing": 15551, + "fod": 31015, + "fod": 43299, + "fodils": 44411, + "foe": 22952, + "foes": 46279, + "fog": 9417, + "foggy": 19770, + "foil": 17302, + "fol": 1106, + "fol": 48616, + "fold": 35201, + "fold": 11021, + "foldable": 48307, + "folded": 25233, + "folder": 25717, + "folding": 15464, + "folds": 24266, + "foley": 22850, + "foli": 7713, + "folia": 48964, + "foliage": 26350, + "folio": 10772, + "folk": 10665, + "folk": 6032, + "folke": 47190, + "folkl": 27273, + "folklore": 22133, + "folklore": 28620, + "folklorethursday": 23270, + "folks": 5422, + "follo": 41417, + "follow": 1964, + "follow": 1979, + "followart": 40957, + "followback": 33863, + "followed": 6499, + "follower": 17039, + "followers": 4856, + "following": 3473, + "followme": 29668, + "followparty": 44757, + "follows": 11287, + "followthe": 30747, + "folly": 41408, + "folsom": 42108, + "fom": 34540, + "fon": 5017, + "fon": 38318, + "fond": 19964, + "fonda": 44609, + "fondue": 48321, + "fone": 40672, + "font": 37610, + "font": 16248, + "fontaine": 37864, + "fontana": 43643, + "fontein": 45062, + "fonts": 32801, + "foo": 1183, + "foo": 23435, + "food": 4586, + "food": 1559, + "foodand": 38317, + "foodbank": 31926, + "foodie": 30762, + "foodie": 9847, + "foodies": 22416, + "foodnetwork": 46793, + "foods": 7057, + "foodsecurity": 49329, + "foodtruck": 47682, + "fool": 23959, + "fool": 12212, + "fooled": 28761, + "fooling": 47964, + "foolish": 33824, + "fools": 15946, + "foot": 6702, + "foot": 4738, + "footage": 11130, + "footb": 33466, + "football": 9376, + "football": 1882, + "footballer": 20646, + "footballers": 30269, + "footed": 38040, + "footh": 25951, + "foothills": 37020, + "footpath": 48858, + "footprint": 23206, + "footprints": 39640, + "footsteps": 27289, + "footwear": 22772, + "footy": 39866, + "footy": 18922, + "for": 645, + "for": 556, + "forage": 46871, + "foraging": 39056, + "forall": 17824, + "forbe": 49098, + "forbes": 13925, + "forbi": 24754, + "forbidden": 25164, + "force": 12068, + "force": 2869, + "forced": 8201, + "forces": 5381, + "forchange": 35848, + "forcing": 21573, + "ford": 3751, + "ford": 1623, + "fordfc": 28581, + "fordham": 48792, + "fords": 29351, + "fordshire": 14645, + "fore": 1484, + "fore": 1332, + "forec": 34155, + "forecast": 7361, + "forecasting": 38133, + "forecasts": 27696, + "foreclo": 44916, + "forefront": 37679, + "foreground": 35186, + "forehead": 25394, + "foreig": 26497, + "foreign": 42255, + "foreign": 6046, + "foreigners": 38549, + "foreman": 36174, + "foremost": 42128, + "foren": 16526, + "forensic": 23158, + "forensics": 38763, + "forest": 18760, + "forest": 4167, + "forestation": 33939, + "forestry": 26281, + "forests": 14095, + "forever": 14748, + "forever": 3225, + "forevery": 40605, + "forex": 40200, + "forex": 17395, + "forfe": 44871, + "forge": 19232, + "forged": 28105, + "forget": 46153, + "forget": 2678, + "forgets": 35613, + "forgetting": 25452, + "forgi": 22080, + "forgive": 15332, + "forgiven": 44894, + "forgiveness": 23585, + "forgood": 39169, + "forgot": 6483, + "forgotten": 7994, + "fork": 24501, + "fork": 13700, + "forkids": 48571, + "forklift": 43202, + "forks": 28769, + "forlife": 17624, + "form": 1157, + "form": 1907, + "forma": 38829, + "formal": 12978, + "formally": 24867, + "format": 16252, + "format": 11874, + "formation": 2510, + "formations": 37715, + "formative": 48882, + "formats": 32085, + "forme": 42085, + "formed": 6528, + "former": 2276, + "formerly": 20866, + "formid": 38599, + "formidable": 39834, + "forming": 15443, + "formity": 42290, + "forms": 5161, + "formu": 8689, + "formul": 23923, + "formula": 24485, + "formula": 10776, + "formulae": 34586, + "formulated": 45066, + "forre": 38876, + "forrest": 25205, + "forrester": 45338, + "forsa": 48958, + "forsale": 13303, + "forster": 42923, + "forsy": 29629, + "forsyth": 40952, + "fort": 12300, + "fort": 2921, + "forte": 44350, + "forte": 27367, + "forth": 17068, + "forth": 11932, + "forthcoming": 19989, + "forthe": 12521, + "forti": 26984, + "fortified": 46486, + "fortn": 14428, + "fortnight": 39235, + "fortnite": 38734, + "fortnite": 17890, + "fortress": 19988, + "fortun": 6950, + "fortunate": 19898, + "fortunately": 34358, + "fortune": 40931, + "fortune": 11451, + "fortunes": 41989, + "forty": 24399, + "forum": 37851, + "forum": 4538, + "forums": 31518, + "forwar": 34364, + "forward": 47031, + "forward": 2342, + "forwards": 38974, + "foryou": 35150, + "forz": 46056, + "forza": 33293, + "forza": 28089, + "fos": 36925, + "fos": 22081, + "foss": 14240, + "foss": 37911, + "fossil": 20419, + "fossil": 15202, + "fossilfriday": 26079, + "fossils": 30652, + "foster": 26778, + "foster": 8139, + "fostering": 35996, + "fosters": 37644, + "foto": 15908, + "foto": 12823, + "fotogra": 23687, + "fotografia": 40256, + "fotos": 26124, + "fou": 14516, + "fought": 10844, + "foul": 19784, + "foun": 3154, + "found": 3454, + "found": 1546, + "foundation": 4058, + "foundations": 25219, + "founded": 12240, + "founder": 5145, + "founders": 14602, + "founding": 15317, + "foundry": 31426, + "fountain": 44863, + "fountain": 13405, + "fountains": 37411, + "four": 5113, + "four": 2721, + "foursquare": 34484, + "fourteen": 46255, + "fourth": 7516, + "fourthofjuly": 47805, + "fow": 17084, + "fowl": 31685, + "fowler": 20980, + "fox": 5007, + "fox": 3240, + "foxandfriends": 45841, + "foxes": 24145, + "foxnews": 18830, + "foxsports": 39267, + "foxtv": 49396, + "foxx": 32993, + "foxy": 27945, + "foy": 30284, + "foyer": 38011, + "foyle": 47902, + "fp": 28058, + "fp": 8941, + "fpl": 27970, + "fpp": 36464, + "fps": 25300, + "fpv": 43175, + "fr": 936, + "fr": 5512, + "fra": 3368, + "fra": 15644, + "frac": 15607, + "fracking": 21894, + "fractal": 46471, + "fraction": 26788, + "fractu": 25847, + "fracture": 28995, + "fractured": 37421, + "fractures": 46213, + "frag": 13093, + "fragile": 23579, + "fragment": 39209, + "fragments": 41424, + "fragr": 15403, + "fragrance": 17874, + "fragrances": 44567, + "fragrant": 37030, + "fram": 27987, + "frame": 11029, + "frame": 6481, + "framed": 13135, + "frames": 15479, + "framework": 13195, + "frameworks": 43136, + "framing": 24539, + "frampton": 41733, + "fran": 2118, + "fran": 18878, + "franc": 3872, + "franc": 42340, + "franca": 48952, + "france": 12045, + "france": 3552, + "frances": 20803, + "francesca": 32327, + "francesco": 25816, + "franch": 11756, + "franchi": 46438, + "franchise": 13664, + "franci": 46458, + "francis": 22187, + "francis": 7660, + "francisco": 6887, + "franco": 17934, + "franco": 17052, + "francois": 29317, + "frank": 5390, + "frank": 5229, + "franken": 20487, + "franken": 48252, + "frankenstein": 26410, + "frankfur": 17442, + "frankfurt": 18598, + "franki": 39227, + "frankie": 38373, + "frankie": 16215, + "franklin": 40935, + "franklin": 9999, + "frankly": 38015, + "franks": 42855, + "frans": 47892, + "franz": 25449, + "franç": 38381, + "fraser": 39082, + "fraser": 16754, + "frat": 15225, + "frat": 39292, + "fraternity": 24433, + "frau": 23063, + "fraud": 40647, + "fraud": 9961, + "fraudul": 42655, + "fraudulent": 47408, + "fray": 41154, + "frazier": 32841, + "frc": 41507, + "fre": 821, + "fre": 43165, + "freak": 20352, + "freak": 13701, + "freaked": 43511, + "freakin": 23900, + "freaking": 11992, + "freaks": 27009, + "freaky": 31583, + "freck": 33328, + "freckles": 48036, + "fred": 9486, + "fred": 6678, + "freddie": 41890, + "freddie": 17014, + "freddy": 24394, + "freder": 10745, + "frederic": 41165, + "frederick": 37103, + "frederick": 18570, + "fredo": 48241, + "free": 2065, + "free": 1139, + "freebie": 35865, + "freebies": 28630, + "freec": 46569, + "freed": 12585, + "freed": 23392, + "freedom": 17992, + "freedom": 4511, + "freedoms": 32500, + "freef": 48678, + "freel": 14174, + "freelance": 21942, + "freely": 24436, + "freeman": 16450, + "freep": 32499, + "freepalestine": 39242, + "freer": 44676, + "frees": 27455, + "freestyle": 15594, + "freeway": 24927, + "freeze": 14187, + "freezer": 25390, + "freezing": 12499, + "frei": 30183, + "freight": 17023, + "fremantle": 48012, + "fremont": 34578, + "fren": 2919, + "french": 13118, + "french": 3461, + "frenzy": 30084, + "frequ": 9211, + "frequencies": 45319, + "frequency": 18825, + "frequent": 19836, + "frequently": 22434, + "fresco": 31609, + "fresh": 4065, + "fresh": 2975, + "fresher": 49284, + "freshers": 35810, + "freshest": 46809, + "freshly": 16081, + "freshman": 9381, + "freshmen": 21292, + "freshness": 45872, + "freshwater": 24803, + "fresno": 40879, + "fresno": 20995, + "fret": 40510, + "freud": 40787, + "frey": 22136, + "frey": 9082, + "fri": 815, + "fri": 6882, + "friars": 30513, + "fric": 18981, + "frick": 46304, + "friction": 38563, + "frid": 46388, + "frida": 36001, + "friday": 6350, + "friday": 1461, + "fridayfeeling": 11952, + "fridaymotivation": 38544, + "fridaynight": 44858, + "fridayreads": 37736, + "fridays": 15589, + "fridaythe": 47642, + "fridge": 13491, + "fridges": 40734, + "frie": 36999, + "fried": 13743, + "fried": 7310, + "friedman": 29402, + "friedrich": 34171, + "friend": 3017, + "friend": 1625, + "friendly": 44612, + "friendly": 4681, + "friends": 38875, + "friends": 1574, + "friendship": 42674, + "friendship": 7679, + "friendships": 28840, + "fries": 11369, + "frifotos": 40493, + "friger": 20785, + "friggin": 48300, + "frigh": 34831, + "fright": 24277, + "fright": 40207, + "frightened": 47136, + "frightening": 39290, + "fringe": 10640, + "fris": 37252, + "frisbee": 45768, + "frisco": 35945, + "frit": 34614, + "fritz": 29860, + "friyay": 38887, + "frm": 12951, + "fro": 626, + "fro": 26603, + "frock": 45306, + "frog": 26494, + "frog": 11438, + "frogs": 20781, + "from": 8330, + "from": 633, + "frome": 48691, + "fromhome": 41477, + "fromthe": 18756, + "fron": 1847, + "fron": 18036, + "front": 10996, + "front": 2184, + "frontal": 35794, + "frontier": 18253, + "frontiers": 38396, + "frontline": 29589, + "frontman": 36775, + "fronts": 26846, + "froome": 48560, + "frosh": 47069, + "frost": 39420, + "frost": 11619, + "frosted": 35988, + "frosting": 33872, + "frosty": 22760, + "froze": 47788, + "frozen": 42464, + "frozen": 8507, + "frs": 26216, + "fru": 3248, + "fruit": 16771, + "fruit": 5190, + "fruitful": 31494, + "fruits": 13282, + "fruity": 22320, + "frustr": 16046, + "frustrated": 25111, + "frustrating": 31342, + "frustration": 30535, + "fry": 33914, + "fry": 13686, + "fryer": 49217, + "frying": 38516, + "fs": 23699, + "fs": 3854, + "fsa": 33373, + "fsu": 44185, + "fsu": 19317, + "ft": 3391, + "ft": 981, + "fta": 41975, + "ftc": 33752, + "fted": 5612, + "fter": 25063, + "fthe": 22886, + "ftheday": 9823, + "fting": 6174, + "fton": 26605, + "ftp": 42649, + "fts": 3767, + "ftse": 46717, + "ftw": 19298, + "fty": 17494, + "fu": 665, + "fu": 9098, + "fuch": 42617, + "fudge": 24270, + "fue": 43723, + "fuego": 41500, + "fuel": 21113, + "fuel": 5945, + "fueled": 28792, + "fueling": 38793, + "fuelled": 48357, + "fuels": 19365, + "fuentes": 44393, + "fuer": 29645, + "fug": 29227, + "fugitive": 39257, + "fuji": 15573, + "fuji": 21634, + "fujifilm": 24765, + "fuk": 31051, + "fuku": 20728, + "fukushima": 33929, + "ful": 1814, + "ful": 857, + "fulbright": 41834, + "fulfill": 43675, + "fulfill": 27467, + "fulfilled": 29919, + "fulfilling": 30621, + "fulfillment": 45573, + "fulham": 25574, + "full": 9407, + "full": 1476, + "fuller": 20225, + "fullerton": 42822, + "fullest": 35603, + "fully": 39142, + "fully": 2401, + "fulness": 10526, + "fuls": 41606, + "fulton": 26725, + "fum": 38393, + "fumble": 49373, + "fun": 1229, + "fun": 1499, + "func": 8679, + "function": 8093, + "functional": 12885, + "functionality": 33316, + "functioning": 25479, + "functions": 18001, + "fund": 19089, + "fund": 4877, + "fundam": 11670, + "fundament": 18852, + "fundamental": 17627, + "fundamentally": 45378, + "fundamentals": 27887, + "funday": 15439, + "funded": 10588, + "funding": 5588, + "fundra": 6201, + "fundraiser": 10049, + "fundraising": 10755, + "funds": 7066, + "funer": 40693, + "funeral": 10606, + "funfact": 31596, + "funfactfriday": 40710, + "fungal": 38838, + "fungi": 27837, + "fungus": 30677, + "funk": 37353, + "funk": 13372, + "funko": 49402, + "funko": 23697, + "funky": 16492, + "funnel": 27862, + "funnier": 42232, + "funniest": 15557, + "funny": 19124, + "funny": 3789, + "funrun": 34185, + "fur": 2395, + "fur": 9686, + "furi": 40816, + "furious": 17522, + "furman": 49238, + "furn": 21348, + "furnace": 31913, + "furnished": 37388, + "furnitu": 45696, + "furniture": 7993, + "furry": 33414, + "furry": 15351, + "fursuit": 25306, + "fursuit": 43083, + "fursuitfriday": 27917, + "further": 5583, + "fury": 14404, + "fus": 18419, + "fuse": 23386, + "fused": 38994, + "fusion": 44661, + "fusion": 9364, + "fuss": 26331, + "fut": 21460, + "fut": 34049, + "futbol": 33014, + "futsal": 20558, + "futu": 33454, + "futur": 38840, + "future": 7959, + "future": 1904, + "futureof": 22599, + "futureofwork": 33202, + "futures": 13488, + "futuri": 19068, + "futurism": 48435, + "futurist": 48086, + "futuristic": 30987, + "fuzz": 47128, + "fuzz": 40443, + "fuzzy": 25876, + "fv": 29795, + "fw": 23934, + "fw": 5277, + "fwd": 27052, + "fx": 17807, + "fx": 9025, + "fy": 8440, + "fy": 2702, + "fyi": 16014, + "fying": 5294, + "fz": 46400, + "fé": 34072, + "g": 70, + "g": 326, + "ga": 1275, + "ga": 1531, + "gaa": 10715, + "gaal": 40867, + "gaard": 24645, + "gab": 3927, + "gab": 37382, + "gabbana": 36272, + "gabby": 48115, + "gabby": 24567, + "gabe": 18916, + "gabi": 41931, + "gable": 33387, + "gables": 40928, + "gabri": 8311, + "gabriel": 31684, + "gabriel": 13244, + "gabrielle": 33572, + "gaby": 46420, + "gac": 32520, + "gad": 7786, + "gad": 44651, + "gadget": 25525, + "gadgets": 22840, + "gado": 29489, + "gae": 22003, + "gael": 35663, + "gaelic": 31173, + "gaf": 21354, + "gaf": 32670, + "gag": 14121, + "gag": 18844, + "gaga": 9782, + "gage": 21081, + "gah": 27750, + "gai": 24214, + "gai": 25153, + "gaia": 41269, + "gail": 41160, + "gail": 27676, + "gain": 21536, + "gain": 6202, + "gaine": 35747, + "gained": 14489, + "gaines": 49225, + "gainesville": 40427, + "gaining": 15260, + "gains": 42751, + "gains": 12107, + "gal": 2001, + "gal": 4488, + "gala": 7211, + "galac": 18864, + "galactic": 25514, + "galap": 41115, + "galapagos": 44057, + "galat": 39853, + "galatasar": 42413, + "galatasaray": 47787, + "galax": 5647, + "galaxies": 32435, + "galaxy": 32130, + "galaxy": 6545, + "gale": 37658, + "gale": 21380, + "galerie": 44539, + "gales": 48633, + "gali": 17546, + "gali": 30552, + "galicia": 47927, + "galileo": 39671, + "gall": 3011, + "gall": 33374, + "galla": 16847, + "gallagher": 19168, + "galleria": 40656, + "galleries": 22304, + "gallery": 36648, + "gallery": 3830, + "galley": 48917, + "galli": 22568, + "gallipoli": 47249, + "gallo": 37350, + "gallo": 33265, + "gallon": 24615, + "gallons": 29335, + "galloway": 27796, + "galore": 22286, + "gals": 20125, + "galvani": 46046, + "galve": 34328, + "galveston": 36003, + "galway": 38045, + "galway": 17112, + "gam": 1162, + "gam": 34195, + "gama": 35873, + "gambia": 32988, + "gamble": 26121, + "gambling": 20287, + "game": 2882, + "game": 1063, + "gameart": 31490, + "gameboy": 40951, + "gamecube": 44079, + "gameday": 9241, + "gamedev": 7544, + "gameinsight": 42626, + "gameof": 10987, + "gameofthrones": 11822, + "gameon": 47691, + "gameplay": 16794, + "gamer": 12595, + "gamer": 11598, + "gamergate": 25961, + "gamers": 16166, + "gamersunite": 26423, + "games": 18551, + "games": 1955, + "gamescom": 37003, + "gamestop": 39436, + "gametime": 45899, + "gami": 42025, + "gamification": 48908, + "gaming": 28803, + "gaming": 4017, + "gamma": 22180, + "gamo": 39325, + "gan": 1822, + "gan": 1670, + "gand": 8399, + "ganda": 27261, + "gander": 44508, + "gandhi": 12322, + "ganesh": 30362, + "ganesha": 45185, + "gang": 8066, + "gang": 5674, + "ganga": 36275, + "gangnam": 46777, + "gangs": 29844, + "gangsta": 37365, + "gangster": 26514, + "gani": 48324, + "gann": 45665, + "gannon": 45837, + "gano": 25304, + "gao": 26556, + "gaon": 19279, + "gap": 29906, + "gap": 7609, + "gaps": 25296, + "gar": 1099, + "gar": 5824, + "gara": 28710, + "garage": 8474, + "garbage": 13760, + "garci": 44658, + "garcia": 10529, + "gard": 7751, + "gard": 21003, + "garda": 31906, + "garde": 22649, + "garden": 4674, + "garden": 2756, + "gardenchat": 46292, + "gardener": 28554, + "gardeners": 38205, + "gardening": 10483, + "gardens": 6152, + "gardiner": 43121, + "gardner": 18710, + "gare": 5633, + "gare": 48402, + "gareth": 37140, + "gareth": 18175, + "garfield": 26728, + "garh": 16762, + "gari": 40898, + "gari": 43080, + "garis": 37839, + "garland": 23418, + "garlic": 9685, + "garment": 31418, + "garments": 43341, + "garmin": 39885, + "garner": 20340, + "garnet": 37669, + "garo": 30388, + "garrett": 15881, + "garri": 21764, + "garrison": 30108, + "garros": 40425, + "garry": 24398, + "gars": 12055, + "gart": 18380, + "gart": 18751, + "garten": 14684, + "garter": 48420, + "garth": 45398, + "garth": 24469, + "gartner": 43334, + "gartner": 29678, + "garty": 46383, + "garu": 31140, + "garvey": 39511, + "garwal": 38623, + "gary": 10535, + "gary": 4516, + "garza": 49393, + "gas": 5047, + "gas": 2474, + "gases": 36971, + "gasoline": 27691, + "gasp": 43762, + "gaston": 40669, + "gastri": 49197, + "gastro": 23740, + "gastron": 30699, + "gastronomy": 46987, + "gat": 5314, + "gat": 18941, + "gata": 44575, + "gate": 8071, + "gate": 3302, + "gated": 23997, + "gates": 9472, + "gateshead": 40051, + "gateway": 45221, + "gateway": 14943, + "gather": 36345, + "gather": 12602, + "gathered": 14646, + "gathering": 9197, + "gatherings": 48096, + "gathers": 39250, + "gating": 27561, + "gation": 11095, + "gations": 33906, + "gato": 44492, + "gator": 20216, + "gator": 16390, + "gatorade": 36354, + "gators": 17173, + "gatory": 24796, + "gatsby": 32586, + "gatwick": 37122, + "gau": 5919, + "gau": 43068, + "gauge": 18728, + "gaunt": 31862, + "gauntlet": 37163, + "gautam": 45853, + "gautam": 31356, + "gauteng": 40333, + "gav": 8966, + "gave": 3485, + "gavin": 32974, + "gavin": 16389, + "gaw": 15405, + "gawd": 43239, + "gawx": 43420, + "gay": 7460, + "gay": 5627, + "gaya": 39477, + "gaye": 41401, + "gayle": 29998, + "gayo": 36768, + "gays": 28001, + "gaz": 4837, + "gaz": 36475, + "gaza": 38391, + "gaza": 10112, + "gazaunderattack": 42458, + "gaze": 23212, + "gazette": 20443, + "gazing": 28373, + "gb": 8727, + "gb": 4619, + "gba": 18528, + "gbbo": 34474, + "gbc": 42993, + "gbp": 27391, + "gbr": 31984, + "gby": 40509, + "gc": 8577, + "gc": 6043, + "gcc": 26804, + "gcse": 28763, + "gcu": 34137, + "gd": 13264, + "gd": 14604, + "gdc": 32793, + "gden": 44928, + "gdp": 17100, + "gdpr": 22963, + "ge": 619, + "ge": 710, + "gea": 26790, + "gear": 15532, + "gear": 4802, + "gearbox": 42454, + "geared": 33903, + "gearing": 19027, + "gears": 21147, + "geaux": 36313, + "gecko": 38616, + "ged": 17252, + "ged": 3480, + "geddon": 31720, + "gedly": 13991, + "gee": 9806, + "gee": 9071, + "geek": 17920, + "geek": 7135, + "geeks": 20110, + "geeky": 47332, + "geel": 25906, + "geelong": 34555, + "gees": 38088, + "geese": 26413, + "geez": 42394, + "geh": 30320, + "geist": 38290, + "gel": 7343, + "gel": 5697, + "gelato": 29577, + "gels": 42552, + "gely": 14637, + "gem": 14261, + "gem": 7613, + "gement": 19495, + "gemini": 23086, + "gemma": 23952, + "gems": 14355, + "gemstone": 27747, + "gemstones": 43972, + "gen": 1024, + "gen": 3278, + "gence": 16088, + "gency": 5245, + "gend": 33247, + "gender": 22976, + "gender": 5906, + "gendere": 35824, + "genderequality": 43338, + "gene": 5822, + "gene": 7962, + "genealo": 24142, + "genealogy": 29381, + "gener": 1832, + "general": 20576, + "general": 3658, + "generally": 19256, + "generals": 30296, + "generate": 16896, + "generated": 19450, + "generates": 33938, + "generating": 23882, + "generation": 41211, + "generation": 4883, + "generational": 34506, + "generations": 12247, + "generative": 29472, + "generator": 19399, + "generators": 41917, + "generic": 26978, + "generosity": 23015, + "generous": 12570, + "generously": 35113, + "genes": 19683, + "genesis": 13518, + "genetic": 47746, + "genetic": 13578, + "genetically": 36745, + "genetics": 18276, + "geneva": 14799, + "genevie": 41633, + "genevieve": 46584, + "geni": 22334, + "genic": 15750, + "genie": 24221, + "genital": 32960, + "genius": 8235, + "geniuses": 41406, + "geno": 41544, + "geno": 46776, + "genoa": 43993, + "genoci": 14687, + "genocide": 15903, + "genome": 23991, + "genomic": 44371, + "genomics": 26227, + "genre": 14249, + "genres": 30340, + "gens": 17449, + "gent": 3685, + "gent": 7139, + "gente": 34325, + "gentle": 7262, + "gentle": 13577, + "gentleman": 13293, + "gentlemen": 11692, + "gently": 17187, + "gento": 28320, + "gentri": 41148, + "gentry": 47225, + "gents": 18862, + "genu": 9182, + "genuine": 12184, + "genuinely": 20006, + "genus": 38161, + "geny": 35323, + "geo": 5038, + "geo": 11604, + "geocaching": 47908, + "geof": 20629, + "geoff": 33697, + "geoff": 20386, + "geoffrey": 29520, + "geograph": 45920, + "geographic": 22635, + "geographical": 39380, + "geography": 17101, + "geological": 38380, + "geology": 21578, + "geom": 46135, + "geome": 12958, + "geometric": 22419, + "geometry": 21731, + "geon": 20844, + "geon": 7295, + "geons": 15914, + "geopol": 39758, + "geor": 2549, + "georg": 43126, + "george": 8377, + "george": 3296, + "georges": 25042, + "georgetown": 22970, + "georgie": 42115, + "georgina": 43892, + "geospatial": 46238, + "geothermal": 38413, + "geous": 3068, + "ger": 1291, + "ger": 1502, + "gera": 48867, + "gerald": 29901, + "gerald": 13269, + "gerard": 35979, + "gerard": 20826, + "gerber": 45058, + "gered": 40179, + "geri": 41664, + "geri": 46214, + "gering": 24077, + "germain": 38786, + "german": 14972, + "german": 4710, + "germans": 28400, + "germany": 4464, + "germin": 44721, + "germs": 47731, + "geronimo": 45171, + "gerrard": 26538, + "gerry": 29825, + "gerry": 23026, + "gers": 3314, + "gertrude": 46950, + "gervais": 36527, + "gery": 32845, + "ges": 3316, + "gest": 11843, + "gest": 2033, + "gesture": 21780, + "gestures": 43524, + "get": 5670, + "get": 779, + "geta": 13155, + "getaway": 16131, + "gether": 27224, + "getic": 20661, + "getin": 25822, + "getit": 44891, + "getit": 48315, + "getoutside": 35644, + "gets": 39448, + "gets": 2127, + "gett": 6647, + "gett": 27965, + "gettable": 15620, + "gette": 29800, + "gettin": 13428, + "getting": 30885, + "getting": 1500, + "getty": 31185, + "getty": 13965, + "gettys": 35189, + "gettysburg": 37062, + "getyour": 42159, + "gey": 29289, + "gf": 28953, + "gf": 10846, + "gfriend": 35245, + "gfs": 37553, + "gg": 1129, + "gg": 3286, + "gga": 26003, + "ggan": 25626, + "gge": 21521, + "gge": 31659, + "gged": 6095, + "gger": 12367, + "gger": 3493, + "ggers": 7480, + "ggg": 20143, + "gggg": 33513, + "ggi": 21662, + "ggin": 17160, + "gging": 4966, + "ggins": 12444, + "ggle": 34981, + "ggle": 11430, + "ggled": 46328, + "ggles": 14703, + "ggling": 16523, + "ggly": 39407, + "ggs": 4797, + "ggy": 24935, + "ggy": 6476, + "gh": 583, + "gh": 790, + "gha": 10010, + "gha": 25183, + "gham": 21456, + "ghan": 18945, + "ghan": 6624, + "ghana": 30330, + "ghana": 9731, + "ghanaian": 34223, + "ghani": 36699, + "ghar": 37334, + "ghar": 36973, + "ghat": 43989, + "ghaz": 37493, + "ghc": 42139, + "ghe": 10754, + "ghe": 28561, + "ghead": 40783, + "ghee": 34794, + "gher": 21542, + "gher": 14796, + "ghet": 18447, + "ghetti": 17485, + "ghetto": 22403, + "ghi": 22436, + "ghi": 22279, + "ghibli": 40555, + "ghj": 38439, + "ghlin": 24131, + "gho": 4307, + "ghorn": 38094, + "ghosh": 43279, + "ghoshal": 49134, + "ghost": 11417, + "ghost": 7108, + "ghostbusters": 25462, + "ghostly": 44901, + "ghosts": 16737, + "ghou": 35843, + "ghoul": 45302, + "ghouse": 38238, + "ghs": 14157, + "ght": 1413, + "ght": 630, + "ghted": 4963, + "ghter": 2427, + "ghters": 12994, + "ghtful": 8334, + "ghting": 3019, + "ghtly": 6993, + "ghtning": 39740, + "ghton": 16353, + "ghts": 1259, + "ghty": 20968, + "ghty": 5866, + "ghu": 25808, + "ghue": 45675, + "ghyun": 25010, + "ghz": 24325, + "gi": 707, + "gi": 4478, + "gia": 8864, + "giac": 35444, + "giam": 39623, + "gian": 17274, + "gian": 12866, + "gianni": 46752, + "giant": 23668, + "giant": 4687, + "giants": 7076, + "giar": 34241, + "gib": 9816, + "gibb": 18964, + "gibbons": 31974, + "gibbs": 26488, + "gibility": 33297, + "gible": 13159, + "gibr": 20206, + "gibraltar": 23988, + "gibson": 37420, + "gibson": 12178, + "gic": 27900, + "gic": 2570, + "gical": 32973, + "gically": 26320, + "gid": 36774, + "gid": 21413, + "giddy": 40894, + "gideon": 43867, + "gidi": 30603, + "gie": 11459, + "gie": 3991, + "gier": 28974, + "gies": 5505, + "gif": 11363, + "gif": 11677, + "gifford": 47850, + "gifs": 37643, + "gift": 20569, + "gift": 2733, + "gifted": 15110, + "giftide": 20152, + "giftideas": 23487, + "gifting": 39546, + "gifts": 5836, + "gig": 26981, + "gig": 7471, + "gigab": 34530, + "gigan": 24104, + "gigantic": 31507, + "giggle": 36426, + "giggles": 42731, + "giggs": 44692, + "gigi": 44106, + "gigi": 26171, + "gigs": 20316, + "gil": 3997, + "gil": 10088, + "gila": 46952, + "gilbert": 14154, + "gilded": 44341, + "giles": 24802, + "gill": 14280, + "gill": 12003, + "gille": 29610, + "gilles": 39590, + "gillespie": 36242, + "gillette": 38603, + "gilli": 13695, + "gillian": 28753, + "gills": 48851, + "gilmore": 27603, + "gilt": 44378, + "gim": 31284, + "gimm": 40692, + "gimme": 21525, + "gin": 3374, + "gin": 4941, + "gina": 15604, + "gine": 27482, + "ging": 10829, + "ging": 3905, + "ginger": 16287, + "ginger": 9718, + "gingerbread": 23692, + "gini": 35768, + "gino": 36521, + "gins": 18328, + "gio": 16329, + "gio": 8050, + "gion": 41226, + "gior": 14920, + "giorgio": 33271, + "giorno": 33310, + "gios": 41927, + "gious": 14419, + "giov": 21404, + "giovanni": 26574, + "gipp": 41351, + "gir": 1077, + "gir": 25481, + "gira": 16949, + "giraffe": 22826, + "giri": 31709, + "girl": 3914, + "girl": 1611, + "girlfriend": 8217, + "girlfriends": 30736, + "girlpower": 37433, + "girls": 15480, + "girls": 1917, + "girly": 29605, + "giro": 39664, + "giro": 26454, + "girona": 47842, + "giroud": 41177, + "gis": 16266, + "gis": 12773, + "gist": 21241, + "git": 16060, + "git": 20918, + "gita": 40838, + "github": 31196, + "giu": 17931, + "giuli": 29762, + "giuliani": 47739, + "giuse": 29385, + "giuseppe": 33563, + "give": 4120, + "give": 1781, + "giveaway": 5310, + "giveaways": 18974, + "giveback": 41385, + "given": 33323, + "given": 4302, + "givenchy": 38245, + "giver": 43339, + "gives": 3926, + "giveup": 35485, + "giving": 14673, + "giving": 2339, + "givingback": 49300, + "givingtuesday": 23556, + "giz": 29237, + "gk": 38953, + "gk": 18719, + "gl": 1849, + "gl": 14751, + "gla": 1523, + "gla": 36904, + "glaci": 14924, + "glacial": 40782, + "glacier": 19282, + "glaciers": 42528, + "glad": 20841, + "glad": 4761, + "glades": 37432, + "gladi": 21742, + "gladiator": 38477, + "gladiators": 41087, + "gladly": 41598, + "gladys": 43168, + "glam": 8738, + "glam": 16905, + "glamorous": 22896, + "glamour": 42876, + "glamour": 17499, + "glamping": 46167, + "glan": 40482, + "glan": 45844, + "glance": 26557, + "gland": 41441, + "glar": 48535, + "glar": 41702, + "glare": 46035, + "glas": 29935, + "glas": 43654, + "glasgo": 6757, + "glasgow": 29990, + "glasgow": 7363, + "glass": 16305, + "glass": 3313, + "glasses": 6116, + "glaston": 26848, + "glastonbury": 28233, + "glau": 39171, + "glaze": 28112, + "glazed": 24122, + "gle": 7166, + "gle": 2865, + "glee": 32379, + "glee": 21614, + "glen": 6158, + "glen": 11049, + "glend": 38332, + "glendale": 33043, + "glenn": 32004, + "glenn": 12861, + "gler": 34649, + "gley": 21998, + "gli": 5896, + "gli": 28791, + "glia": 22217, + "glide": 37321, + "glider": 41636, + "glimp": 12888, + "glimpse": 13817, + "glio": 29785, + "glit": 21079, + "glitch": 29563, + "glitter": 16528, + "glitz": 44542, + "glo": 1721, + "glo": 30474, + "glob": 13363, + "global": 6707, + "global": 2779, + "globalgoals": 33211, + "globalhealth": 46751, + "globalization": 47680, + "globally": 17775, + "globalwarming": 46017, + "globe": 19436, + "globe": 9368, + "globes": 38085, + "glock": 38818, + "glomer": 43689, + "gloom": 48594, + "gloomy": 32199, + "glori": 7270, + "gloria": 19244, + "glorious": 9171, + "glory": 36107, + "glory": 7285, + "glos": 40633, + "gloss": 38258, + "gloss": 22014, + "glossy": 29802, + "glou": 15989, + "gloucester": 28133, + "gloucester": 23835, + "gloucestershire": 33789, + "glove": 16078, + "glover": 21594, + "gloves": 12363, + "glow": 30472, + "glow": 10111, + "glowing": 18437, + "glows": 48107, + "glu": 5952, + "glu": 32281, + "glucose": 34642, + "glue": 22103, + "glued": 38135, + "gluten": 15482, + "gluten": 15524, + "glutenfree": 16138, + "gly": 13027, + "glycer": 48914, + "gm": 18743, + "gm": 5918, + "gma": 18155, + "gmail": 11119, + "gman": 41043, + "gman": 36936, + "gmb": 35934, + "gmb": 31799, + "gmbh": 46877, + "gmc": 27257, + "gmo": 23486, + "gms": 36987, + "gmt": 13803, + "gn": 2455, + "gn": 9831, + "gna": 23009, + "gnation": 45912, + "gne": 25407, + "gni": 5104, + "gnment": 25110, + "gno": 23376, + "gno": 43686, + "gnocchi": 48299, + "gnome": 33643, + "gnon": 20561, + "go": 650, + "go": 861, + "goa": 14399, + "goal": 9003, + "goal": 3321, + "goalie": 20723, + "goalkeeper": 16601, + "goals": 3295, + "goalscorer": 43547, + "goaltender": 44151, + "goat": 34082, + "goat": 9530, + "goats": 18393, + "gob": 29559, + "gobeavs": 48285, + "goblin": 26223, + "goblue": 25232, + "gobucks": 29175, + "gocougs": 34202, + "god": 4190, + "god": 1731, + "godawgs": 40436, + "godbless": 46616, + "godbless": 44007, + "godd": 16589, + "goddamn": 28495, + "goddard": 37827, + "goddess": 10808, + "godfather": 26222, + "godfrey": 40148, + "godis": 38521, + "godly": 42438, + "gods": 33620, + "gods": 10328, + "goducks": 35889, + "godzilla": 23369, + "goe": 22084, + "goers": 27784, + "goes": 43581, + "goes": 2635, + "gof": 17537, + "goff": 34399, + "goftheday": 39360, + "gofund": 34445, + "gofundme": 34686, + "gog": 42949, + "goggles": 31027, + "gogh": 19697, + "gogo": 22688, + "gogreen": 36279, + "gohawks": 34884, + "goi": 24917, + "goin": 13939, + "going": 25787, + "going": 1245, + "goku": 29550, + "gol": 1537, + "gol": 18257, + "gola": 41090, + "gold": 4999, + "gold": 2209, + "goldberg": 25161, + "goldcoast": 34634, + "golden": 10763, + "golden": 3878, + "goldeng": 20650, + "goldenglobes": 26842, + "goldfish": 40293, + "goldie": 42805, + "goldman": 27164, + "golds": 30526, + "golds": 40283, + "goldsmith": 40214, + "gole": 41297, + "golf": 9096, + "golf": 3096, + "golfclub": 45742, + "golfer": 24579, + "golfers": 28441, + "golfing": 31379, + "goli": 29265, + "goliath": 41602, + "gom": 7051, + "goma": 46198, + "gomes": 39128, + "gomez": 16433, + "gon": 1854, + "gon": 3379, + "gona": 34835, + "gone": 35135, + "gone": 3601, + "gong": 28486, + "gonna": 2562, + "gonz": 10587, + "gonzaga": 36241, + "gonzale": 17512, + "gonzales": 31265, + "gonzalez": 18198, + "goo": 1381, + "goo": 17882, + "good": 2185, + "good": 886, + "goodbye": 6968, + "goodday": 46284, + "goode": 42076, + "goodfood": 46844, + "goodfriday": 40360, + "goodie": 29213, + "goodies": 13308, + "goodluck": 19718, + "goodman": 24146, + "goodmorning": 14421, + "goodness": 10531, + "goodnight": 8540, + "goodreads": 31629, + "goods": 9340, + "goodtimes": 22570, + "goodvibes": 43146, + "goodwill": 24902, + "goodwin": 28080, + "goodwood": 30008, + "goody": 35937, + "goodyear": 42858, + "goofy": 26879, + "goog": 18581, + "google": 12195, + "google": 3460, + "googled": 40345, + "googleplay": 37309, + "goon": 15267, + "goons": 30440, + "goooo": 35876, + "goooo": 48957, + "goose": 21445, + "goose": 13822, + "goosebumps": 32254, + "gop": 18942, + "gop": 6250, + "gopack": 46995, + "gopackgo": 47719, + "gopal": 47268, + "gopdebate": 39806, + "gopher": 47750, + "gopher": 48905, + "gophers": 31957, + "gopro": 17511, + "gor": 1747, + "gor": 29827, + "gordo": 47707, + "gordon": 20485, + "gordon": 8244, + "gore": 30311, + "gore": 17872, + "gorg": 46815, + "gorge": 35548, + "gorge": 20038, + "gorgeous": 3241, + "gori": 12461, + "goria": 43359, + "gorilla": 37910, + "gorilla": 21994, + "gorman": 35741, + "goro": 44977, + "gory": 7160, + "gos": 20517, + "gos": 5693, + "gosh": 15395, + "gosling": 35320, + "gosp": 9617, + "gospel": 11313, + "goss": 39734, + "goss": 36924, + "gossi": 15684, + "gossip": 18963, + "got": 10125, + "got": 1005, + "gota": 36693, + "gotcha": 43275, + "gote": 49345, + "goth": 48465, + "goth": 20437, + "gotham": 46123, + "gotham": 18299, + "gothic": 15426, + "goti": 9497, + "goto": 39715, + "gots": 35215, + "gott": 5089, + "gott": 36466, + "gotta": 4633, + "gotten": 5889, + "gotti": 41881, + "gotv": 36089, + "gou": 10520, + "gou": 36555, + "gouache": 43314, + "goul": 33187, + "gould": 31087, + "gour": 13580, + "gourmet": 19111, + "gov": 4022, + "gov": 4564, + "gove": 36997, + "govegan": 38886, + "gover": 10471, + "gover": 16759, + "govern": 2351, + "govern": 32404, + "governance": 13386, + "governing": 30946, + "government": 3149, + "governmental": 42609, + "governments": 19582, + "governor": 17459, + "governor": 6630, + "governors": 26881, + "govin": 42451, + "govt": 5345, + "govuk": 28830, + "gow": 21885, + "gow": 33788, + "gowan": 31307, + "gower": 43448, + "gown": 13719, + "gowns": 38029, + "goyal": 35105, + "gp": 19329, + "gp": 5051, + "gpa": 24098, + "gps": 13639, + "gpu": 38561, + "gq": 40286, + "gq": 31324, + "gr": 709, + "gr": 6062, + "gra": 782, + "gra": 15276, + "grab": 4646, + "grabbed": 22856, + "grabbing": 26440, + "grabs": 17076, + "grac": 11323, + "grace": 13225, + "grace": 5142, + "graced": 31894, + "graceful": 25242, + "graces": 38629, + "graci": 11174, + "gracias": 16463, + "gracie": 23235, + "gracing": 37263, + "gracious": 29044, + "grad": 19869, + "grad": 7291, + "gradable": 41529, + "grade": 45435, + "grade": 3394, + "graded": 13823, + "grader": 23930, + "graders": 10930, + "grades": 10838, + "gradient": 36885, + "grading": 19016, + "grads": 17811, + "gradu": 3230, + "gradual": 45210, + "gradually": 32192, + "graduate": 6675, + "graduated": 15128, + "graduates": 12236, + "graduating": 14819, + "graduation": 8060, + "grady": 33980, + "graeme": 30192, + "graf": 46478, + "graf": 39765, + "graff": 10656, + "graffiti": 11676, + "graft": 32698, + "grafton": 47347, + "graham": 19805, + "graham": 7711, + "grail": 37184, + "grain": 44003, + "grain": 12109, + "grains": 25791, + "gral": 25631, + "gram": 2949, + "gram": 2338, + "grammar": 16077, + "grammy": 15388, + "grammys": 18121, + "grams": 6294, + "gran": 3892, + "gran": 14493, + "granada": 31172, + "grand": 3058, + "grand": 2991, + "grandad": 29148, + "grandchildren": 36856, + "granddaughter": 29460, + "grande": 37514, + "grande": 10757, + "grandes": 36382, + "grandfather": 15346, + "grandma": 10525, + "grandmother": 17469, + "grandpa": 14582, + "grandparents": 21311, + "grandprix": 39358, + "grandson": 20766, + "grandstand": 43172, + "grange": 45027, + "grange": 23850, + "granger": 42968, + "granite": 18813, + "grann": 45585, + "granny": 22710, + "granola": 34271, + "grant": 18682, + "grant": 5442, + "granted": 14156, + "granth": 41283, + "grants": 15123, + "grape": 19131, + "grape": 15959, + "grapefruit": 28347, + "grapes": 18580, + "grapevine": 47619, + "graph": 1349, + "graph": 4407, + "graphene": 38387, + "grapher": 14987, + "graphers": 32088, + "graphic": 15653, + "graphic": 4245, + "graphical": 20878, + "graphicdesign": 21907, + "graphics": 9492, + "graphies": 40164, + "graphite": 29447, + "graphs": 24670, + "graphy": 4897, + "grapp": 30843, + "gras": 31517, + "gras": 17584, + "grasp": 34975, + "grass": 11584, + "grass": 5922, + "grasses": 46807, + "grasshopper": 48894, + "grassi": 42294, + "grasso": 34808, + "grassroots": 21991, + "grassy": 44140, + "grat": 9221, + "grate": 32463, + "grateful": 45659, + "grateful": 5730, + "grati": 36402, + "gratis": 33638, + "gratitude": 12614, + "grav": 20663, + "grave": 16606, + "grave": 9981, + "gravel": 27054, + "graves": 17665, + "graveyard": 31176, + "gravit": 26150, + "gravitational": 45268, + "gravity": 47426, + "gravity": 15160, + "gravy": 21225, + "gray": 12703, + "gray": 7048, + "grays": 46848, + "grayson": 45831, + "grayson": 25471, + "grazi": 42427, + "grazie": 38698, + "grazing": 29889, + "grc": 44069, + "gre": 689, + "gre": 17878, + "grease": 24132, + "greasy": 44376, + "great": 3265, + "great": 830, + "greate": 31930, + "greater": 32725, + "greater": 7033, + "greatest": 39080, + "greatest": 4153, + "greatly": 13978, + "greatness": 14189, + "greats": 21855, + "greaves": 42350, + "greco": 39103, + "gree": 9987, + "gree": 30774, + "greece": 6965, + "greed": 26147, + "greedy": 33301, + "greek": 23844, + "greek": 6842, + "greeks": 35866, + "green": 2762, + "green": 1901, + "greenberg": 46662, + "greene": 16383, + "greener": 31169, + "greenery": 42493, + "greenfield": 39924, + "greeng": 42077, + "greenhouse": 20819, + "greening": 48673, + "greenland": 27345, + "greenpeace": 44755, + "greens": 10235, + "greensboro": 33436, + "greenville": 25156, + "greenway": 35205, + "greenwich": 18658, + "greenwood": 25782, + "greer": 34345, + "greet": 11042, + "greet": 11997, + "greeted": 24546, + "greeting": 17754, + "greetings": 11569, + "greets": 25464, + "greg": 6894, + "greg": 7943, + "gregation": 20131, + "gregg": 39422, + "gregg": 22929, + "gregor": 33856, + "gregor": 16177, + "gregory": 16253, + "gren": 13941, + "gren": 20119, + "grenade": 33679, + "grenfell": 42107, + "gres": 39670, + "gress": 2752, + "gret": 30041, + "greta": 33443, + "gretchen": 45516, + "grette": 38774, + "grew": 10451, + "grey": 9190, + "grey": 5046, + "greyhound": 27363, + "greyhounds": 45718, + "greys": 44311, + "greysanatomy": 36833, + "gri": 2169, + "gri": 18484, + "grid": 29067, + "grid": 9882, + "gridi": 41063, + "gridiron": 47786, + "grids": 46500, + "grief": 21058, + "grier": 22016, + "griev": 36400, + "grieving": 42383, + "griez": 47962, + "griezmann": 48396, + "griff": 17855, + "griff": 35551, + "griffi": 28676, + "griffin": 46612, + "griffin": 13161, + "griffith": 24375, + "griffiths": 34182, + "gril": 49091, + "grill": 44083, + "grill": 9519, + "grille": 34748, + "grilled": 10691, + "grilling": 28324, + "grills": 39464, + "grim": 20383, + "grim": 23635, + "grime": 37101, + "grimes": 25057, + "grimm": 27865, + "grims": 34861, + "grimsby": 41513, + "grin": 11033, + "grin": 28697, + "grinch": 40527, + "grind": 25730, + "grind": 11810, + "grinder": 31733, + "grinding": 21541, + "gring": 40135, + "grip": 15521, + "gripping": 34567, + "grips": 27819, + "gris": 29150, + "grit": 22037, + "grit": 22087, + "grits": 44307, + "gritty": 33704, + "grizz": 14877, + "grizz": 44088, + "grizzlies": 25594, + "grizzly": 29676, + "grl": 48005, + "gro": 1464, + "gro": 12691, + "grocer": 11633, + "groceries": 32409, + "grocery": 13826, + "grom": 45284, + "gron": 22345, + "groningen": 45639, + "groo": 9015, + "groom": 39883, + "groom": 22813, + "grooming": 25575, + "groot": 37708, + "groove": 39484, + "groove": 17680, + "grooves": 43954, + "groovy": 30143, + "gros": 26834, + "gros": 32639, + "gross": 31080, + "gross": 11541, + "grosven": 46911, + "grote": 47207, + "grotto": 45260, + "grou": 1582, + "groun": 45110, + "ground": 9558, + "ground": 2461, + "groundbreaking": 21006, + "grounded": 27799, + "grounds": 8454, + "groundwater": 39457, + "group": 19045, + "group": 1771, + "groupe": 47654, + "groups": 6776, + "grouse": 36327, + "grove": 31756, + "grove": 7463, + "grover": 31345, + "groves": 27306, + "grow": 3179, + "grow": 4559, + "grower": 44925, + "growers": 25689, + "growing": 28429, + "growing": 4425, + "growingup": 43433, + "growler": 47096, + "grown": 41762, + "grown": 7120, + "grows": 13352, + "growth": 17925, + "growth": 4026, + "growthhacking": 25963, + "grp": 27321, + "grt": 28557, + "gru": 5957, + "grub": 34019, + "grue": 42047, + "gruesome": 47111, + "grum": 45454, + "grump": 49015, + "grumpy": 23610, + "grun": 16203, + "grunge": 33745, + "gry": 16140, + "gry": 5364, + "gs": 25818, + "gs": 1345, + "gsa": 40433, + "gsc": 47751, + "gshore": 43392, + "gsm": 32181, + "gsp": 49173, + "gst": 22239, + "gt": 16151, + "gt": 4725, + "gta": 14826, + "gta": 15338, + "gtaonline": 27292, + "gtav": 27283, + "gti": 39954, + "gto": 39071, + "gtr": 33407, + "gts": 37338, + "gtx": 35230, + "gu": 700, + "gu": 12916, + "gua": 23751, + "guacam": 37477, + "guacamole": 40115, + "guad": 22966, + "guadal": 46097, + "guadalu": 36994, + "guadalupe": 38360, + "guam": 37325, + "guan": 44191, + "guan": 42406, + "guang": 27019, + "guangzhou": 37857, + "guar": 4119, + "guaran": 9242, + "guarantee": 17421, + "guaranteed": 14731, + "guarantees": 40154, + "guard": 30776, + "guard": 4901, + "guarded": 40602, + "guardi": 12008, + "guardia": 43628, + "guardian": 23713, + "guardian": 9498, + "guardians": 21479, + "guarding": 24966, + "guardiola": 32100, + "guards": 12810, + "guatem": 19423, + "guatemala": 21670, + "guay": 48591, + "guay": 24247, + "gubernat": 41400, + "gubernatorial": 41618, + "gucci": 16779, + "gud": 48061, + "gud": 22378, + "gue": 2030, + "gue": 2917, + "gued": 38893, + "guel": 23146, + "guelph": 27660, + "guer": 10391, + "guern": 29277, + "guernsey": 33982, + "guerra": 38215, + "guerrero": 31967, + "guerrilla": 36715, + "gues": 39971, + "gues": 12601, + "guess": 35506, + "guess": 3135, + "guessed": 28005, + "guesses": 30623, + "guessing": 21891, + "guest": 27349, + "guest": 3781, + "guests": 6212, + "guet": 36797, + "guetta": 45904, + "guez": 12313, + "gug": 31358, + "guggen": 35086, + "guggenheim": 37135, + "gui": 2587, + "gui": 25746, + "guid": 11437, + "guidance": 12508, + "guide": 21845, + "guide": 3555, + "guided": 13194, + "guidelines": 16591, + "guides": 14375, + "guiding": 22759, + "guido": 41818, + "guil": 5008, + "guild": 19755, + "guild": 16597, + "guildford": 34450, + "guildhall": 47224, + "guillau": 41123, + "guillaume": 45394, + "guiller": 33660, + "guillermo": 39524, + "guilt": 26354, + "guilty": 9761, + "guin": 13284, + "guin": 47863, + "guine": 13759, + "guinea": 18537, + "guinness": 16648, + "guire": 18209, + "guise": 42024, + "guit": 3759, + "guitar": 21746, + "guitar": 5084, + "guitarist": 13035, + "guitars": 15023, + "guj": 34935, + "gujar": 12698, + "gujarat": 14714, + "guk": 20280, + "gul": 5530, + "gul": 21350, + "gula": 27426, + "gular": 34969, + "gulf": 22101, + "gulf": 11279, + "gull": 48764, + "gull": 28778, + "gulls": 37501, + "gully": 46112, + "gum": 22041, + "gum": 11235, + "gumb": 40147, + "gumbo": 47126, + "gummy": 34276, + "gums": 46609, + "gun": 2748, + "gun": 3496, + "guna": 43333, + "gundam": 26087, + "gundy": 21162, + "gunman": 32743, + "gunmen": 44738, + "gunn": 27473, + "gunna": 24002, + "gunnar": 45301, + "gunner": 35285, + "gunners": 37788, + "guns": 7591, + "gunsense": 44781, + "gunshot": 49250, + "gunsn": 49028, + "gup": 38632, + "gup": 47335, + "gupta": 15905, + "gur": 3218, + "gur": 30224, + "gura": 46836, + "gurgaon": 33240, + "guri": 43888, + "gurl": 25445, + "gurmee": 35482, + "gurmeetramrahim": 36549, + "guru": 18629, + "guru": 10800, + "gurudev": 48647, + "gus": 8018, + "gust": 24629, + "gusta": 23024, + "gusta": 44196, + "gustav": 32062, + "gustav": 37921, + "gustave": 43170, + "gustavo": 45943, + "gusto": 37937, + "gusts": 20896, + "gusty": 27589, + "gut": 24780, + "gut": 13486, + "guter": 44963, + "guterres": 48738, + "guth": 31696, + "guthrie": 33164, + "gutier": 32773, + "gutierrez": 33739, + "guts": 25983, + "gutted": 26524, + "gutter": 40537, + "guwa": 43063, + "guwahati": 45045, + "guy": 10008, + "guy": 2149, + "guyana": 45215, + "guyen": 28031, + "guys": 43588, + "guys": 1791, + "guyz": 48170, + "guzman": 37960, + "gv": 15462, + "gv": 17336, + "gw": 7172, + "gw": 15717, + "gwen": 32165, + "gwen": 24182, + "gwin": 43005, + "gwy": 32226, + "gwyne": 36923, + "gx": 40227, + "gy": 2168, + "gy": 1164, + "gya": 43214, + "gyan": 43814, + "gye": 21728, + "gyllen": 49348, + "gym": 9902, + "gym": 5222, + "gymna": 13517, + "gymnasium": 42847, + "gymnast": 42658, + "gymnastics": 20116, + "gyn": 39603, + "gyne": 45836, + "gyp": 40053, + "gypsy": 22354, + "gypt": 41921, + "gz": 45937, + "gz": 35841, + "gö": 40778, + "gü": 31907, + "h": 71, + "h": 327, + "ha": 560, + "ha": 1429, + "haa": 26814, + "haal": 35869, + "haan": 36284, + "haar": 45247, + "haar": 35859, + "haas": 27443, + "haasan": 26601, + "hab": 20573, + "hab": 20002, + "haban": 46225, + "haber": 44737, + "habit": 8491, + "habit": 17215, + "habitat": 11747, + "habitats": 35344, + "habits": 14540, + "habs": 27489, + "hac": 20343, + "hace": 43623, + "haci": 40674, + "hack": 6610, + "hack": 11182, + "hackathon": 25182, + "hacked": 19575, + "hacker": 22376, + "hackers": 21498, + "hacking": 12939, + "hackney": 48811, + "hackney": 24928, + "hacks": 19965, + "had": 10660, + "had": 1100, + "hadi": 39058, + "hadid": 26415, + "hadith": 46907, + "hadley": 44995, + "hadn": 21480, + "hadoop": 43868, + "hae": 30723, + "hae": 27193, + "hafi": 39914, + "hag": 26855, + "hag": 43207, + "hagan": 47489, + "hagen": 14664, + "hager": 48773, + "hagg": 26324, + "hague": 28988, + "hah": 18108, + "hah": 13680, + "haha": 1913, + "haha": 3060, + "hahah": 27253, + "hahah": 15441, + "hahaha": 4722, + "hahahah": 37513, + "hahahah": 20096, + "hahahaha": 8058, + "hahahaha": 9501, + "hahahahah": 33334, + "hahahahaha": 16347, + "hahahahahaha": 26487, + "hahahahahahaha": 43653, + "hahahahahahahaha": 36126, + "hahahha": 49205, + "hahn": 35596, + "hai": 8734, + "hai": 5234, + "haider": 42200, + "haiku": 19542, + "hail": 15272, + "hail": 8634, + "hailed": 44604, + "hailey": 27703, + "hailing": 47288, + "hails": 32571, + "hailstate": 35063, + "hain": 23861, + "hair": 4658, + "hair": 2225, + "haircare": 43682, + "haircut": 14711, + "hairdresser": 47468, + "haired": 27202, + "hairs": 27951, + "hairstyle": 22324, + "hairstyles": 40627, + "hairy": 26513, + "haiti": 17368, + "haitian": 37577, + "haj": 27885, + "haj": 43191, + "haji": 41889, + "hajj": 35576, + "hak": 25142, + "hak": 40671, + "haka": 44011, + "hake": 41663, + "hal": 1296, + "hal": 8708, + "hala": 25918, + "halal": 34216, + "halam": 29061, + "halamadrid": 31132, + "halder": 32201, + "hale": 37038, + "hale": 14701, + "halen": 39204, + "halep": 49017, + "haley": 37330, + "haley": 16839, + "half": 7453, + "half": 2349, + "halftime": 13742, + "halfway": 16736, + "hali": 9860, + "hali": 43030, + "halibut": 49030, + "halifax": 13411, + "hall": 6850, + "hall": 2140, + "halla": 29569, + "halle": 27763, + "halle": 32239, + "hallelujah": 36993, + "halli": 32665, + "hallmark": 31040, + "hallmark": 32053, + "hallmarkchannel": 36840, + "hallo": 3463, + "halloffame": 48578, + "halloween": 28537, + "halloween": 3739, + "halls": 18052, + "hallucin": 35385, + "hallway": 26845, + "halo": 33331, + "halo": 11918, + "halsey": 34256, + "halt": 25640, + "halter": 47194, + "halton": 45445, + "ham": 1522, + "ham": 1714, + "hama": 17944, + "hamas": 14818, + "hamburg": 18409, + "hamburger": 33928, + "hamid": 32377, + "hamil": 6725, + "hamill": 45784, + "hamill": 48729, + "hamillhimself": 47324, + "hamilton": 22448, + "hamilton": 7684, + "hamlet": 27722, + "hamlin": 49326, + "hamm": 46110, + "hammer": 15331, + "hammer": 9401, + "hammered": 37251, + "hammers": 35649, + "hammersmith": 42127, + "hammock": 33682, + "hammond": 21761, + "hamont": 18518, + "hamp": 6665, + "hamper": 27692, + "hampshire": 16006, + "hampstead": 37340, + "hampton": 36582, + "hampton": 12285, + "hamptons": 42415, + "hamr": 47979, + "hamradio": 36712, + "hams": 25619, + "hamster": 33313, + "hamstring": 39990, + "hamza": 45762, + "han": 1545, + "han": 3565, + "hana": 16801, + "hand": 1722, + "hand": 2463, + "handbag": 22654, + "handbags": 35667, + "handball": 27988, + "handbook": 25147, + "handcrafted": 22185, + "handed": 10881, + "handedly": 48656, + "handel": 40072, + "handful": 23725, + "handheld": 26812, + "handic": 17812, + "handicap": 27063, + "handicapp": 42349, + "handing": 19196, + "handle": 43681, + "handle": 7245, + "handled": 26824, + "handler": 29097, + "handles": 22124, + "handling": 14071, + "handmade": 18054, + "handmade": 6737, + "handmadehour": 25724, + "handover": 46922, + "hands": 3500, + "handshake": 38418, + "handsome": 7438, + "handwriting": 29986, + "handwritten": 35192, + "handy": 13479, + "hane": 28411, + "hang": 3351, + "hang": 5592, + "hangar": 33439, + "hanged": 40807, + "hanger": 28905, + "hangin": 22670, + "hanging": 4850, + "hangout": 17572, + "hangover": 20755, + "hangs": 21785, + "hani": 39944, + "hani": 18374, + "hank": 35993, + "hank": 17655, + "hanks": 29943, + "hanley": 47284, + "hann": 5584, + "hanna": 10075, + "hannah": 18622, + "hannah": 9142, + "hannel": 43477, + "hanni": 19493, + "hannibal": 25149, + "hannity": 24569, + "hannover": 39976, + "hanoi": 36134, + "hanover": 33246, + "hans": 35172, + "hans": 16628, + "hansen": 19729, + "hanson": 24602, + "hant": 40641, + "hanuk": 32774, + "hanukkah": 34247, + "hanuman": 46975, + "hao": 27184, + "hap": 44981, + "hap": 47988, + "happ": 784, + "happen": 21486, + "happen": 4506, + "happened": 4402, + "happening": 4284, + "happeningnow": 43107, + "happenings": 41998, + "happens": 4988, + "happier": 14118, + "happiest": 13811, + "happily": 17316, + "happiness": 5096, + "happy": 2952, + "happy": 900, + "happybirthday": 9651, + "happybirthday": 12207, + "happydays": 25106, + "happye": 33922, + "happyeaster": 38745, + "happyfathersday": 43534, + "happyfriday": 33340, + "happyhalloween": 28750, + "happyholidays": 32186, + "happyhour": 32036, + "happymonday": 47364, + "happymothersday": 42425, + "happynewyear": 18655, + "happythanksgiving": 40593, + "happyvalentinesday": 42403, + "haps": 9114, + "haq": 32445, + "har": 915, + "har": 5888, + "hara": 10367, + "haram": 35732, + "haram": 22950, + "haran": 27921, + "harare": 43562, + "haras": 26644, + "harass": 16481, + "harassed": 43067, + "harassment": 16641, + "harat": 28984, + "harb": 5856, + "harbaugh": 45220, + "harbor": 40686, + "harbor": 10202, + "harbour": 35430, + "harbour": 10011, + "harcourt": 48093, + "hard": 3312, + "hard": 1626, + "hardcover": 31123, + "harden": 27350, + "harder": 12274, + "hardest": 15258, + "hardin": 43802, + "harding": 24382, + "hardly": 17363, + "hardro": 28126, + "hardrock": 48365, + "hardrock": 40739, + "hards": 44048, + "hardship": 45085, + "hardt": 17922, + "hardware": 11957, + "hardwell": 45572, + "hardwick": 46864, + "hardwood": 28167, + "hardwork": 42554, + "hardwork": 27404, + "hardworking": 28095, + "hardworkpaysoff": 49193, + "hardy": 48179, + "hardy": 14113, + "hare": 27903, + "hare": 18464, + "harga": 39738, + "hari": 25472, + "hari": 8981, + "harlan": 49133, + "harle": 29096, + "harlem": 17771, + "harley": 24702, + "harley": 13632, + "harleydavidson": 39183, + "harlow": 34113, + "harm": 16656, + "harm": 14452, + "harman": 42434, + "harmed": 39637, + "harmful": 21725, + "harmless": 44369, + "harmon": 10828, + "harmon": 28729, + "harmony": 10785, + "harms": 46703, + "harne": 43323, + "harness": 23205, + "harold": 16917, + "harp": 27339, + "harper": 31288, + "harper": 12634, + "harri": 6639, + "harrier": 37372, + "harriet": 27154, + "harrington": 34340, + "harris": 25356, + "harris": 6925, + "harrisburg": 40590, + "harrison": 34389, + "harrison": 10540, + "harro": 18939, + "harrogate": 30842, + "harrow": 38807, + "harry": 11094, + "harry": 3600, + "harrypotter": 23375, + "harsh": 30596, + "harsh": 16944, + "hart": 9335, + "hart": 7752, + "hartford": 23434, + "harth": 35619, + "hartle": 47482, + "hartley": 31268, + "hartman": 43294, + "haru": 35099, + "harvard": 28118, + "harvard": 12848, + "harve": 6405, + "harvest": 44495, + "harvest": 8971, + "harvested": 35899, + "harvesting": 26674, + "harvey": 33289, + "harvey": 9586, + "harvick": 46983, + "haryana": 27661, + "has": 13855, + "has": 791, + "hasan": 30049, + "hasbro": 37405, + "hash": 6338, + "hash": 19199, + "hashi": 41831, + "hashmi": 35852, + "hashtag": 34015, + "hashtag": 9238, + "hashtags": 23514, + "haskell": 48550, + "hasn": 9143, + "hass": 9298, + "hassan": 15829, + "hassee": 37117, + "hassel": 32204, + "hassle": 35762, + "hast": 18146, + "hasta": 36623, + "hastings": 22035, + "hat": 3447, + "hat": 3801, + "hatch": 24202, + "hatch": 17809, + "hatchback": 42348, + "hatched": 42158, + "hate": 23546, + "hate": 3753, + "hated": 21298, + "hateful": 36418, + "hater": 36917, + "haters": 14027, + "hates": 14957, + "hatfield": 38448, + "hath": 27894, + "hath": 34416, + "hathaway": 31801, + "hati": 26045, + "hating": 25668, + "hatred": 19046, + "hats": 9812, + "hatt": 8747, + "hatton": 44861, + "hau": 5152, + "hauer": 48751, + "haul": 23743, + "haul": 12332, + "hauled": 46620, + "hauling": 43132, + "haun": 9676, + "haunt": 31039, + "haunted": 14944, + "haunting": 24034, + "haunts": 48035, + "haus": 41755, + "haus": 16478, + "hausen": 33338, + "hauser": 46586, + "haute": 28854, + "hav": 13443, + "hav": 20447, + "havan": 36304, + "havana": 23357, + "havas": 46261, + "have": 18053, + "have": 720, + "haven": 33074, + "haven": 3871, + "havent": 29130, + "haver": 27876, + "haves": 49088, + "havin": 31937, + "having": 1977, + "havoc": 24447, + "haw": 2788, + "haw": 26954, + "hawa": 6067, + "hawa": 46278, + "hawai": 15800, + "hawaii": 32413, + "hawaii": 8265, + "hawaiian": 17734, + "hawan": 27765, + "hawk": 14704, + "hawk": 8218, + "hawke": 38178, + "hawker": 39051, + "hawkeye": 38666, + "hawkeyes": 34266, + "hawking": 33437, + "hawkins": 19740, + "hawks": 44806, + "hawks": 5841, + "hawthorn": 45372, + "hawthorne": 36730, + "hay": 4871, + "hay": 11367, + "haya": 41325, + "hayat": 49360, + "hayden": 19806, + "haydn": 48207, + "haye": 36583, + "hayes": 13555, + "hayley": 39986, + "hayley": 22204, + "haynes": 30496, + "hays": 41524, + "hayward": 29400, + "haz": 5040, + "haz": 39921, + "hazard": 26174, + "hazard": 15178, + "hazardous": 27102, + "hazards": 30639, + "haze": 22785, + "hazel": 19838, + "hazel": 21882, + "hazelnut": 35816, + "hazi": 22740, + "hazmat": 48887, + "hazrat": 45775, + "hazy": 32655, + "hb": 6854, + "hb": 12576, + "hbcu": 40008, + "hbd": 25277, + "hbd": 13594, + "hbo": 15252, + "hc": 15831, + "hc": 7821, + "hcs": 46850, + "hd": 11601, + "hd": 4414, + "hdd": 40508, + "hdmi": 33302, + "hdr": 28065, + "he": 651, + "he": 797, + "hea": 27150, + "hea": 32790, + "head": 1603, + "head": 1375, + "headache": 23849, + "headaches": 38025, + "headband": 28556, + "headed": 6153, + "header": 11077, + "heading": 4409, + "headless": 45219, + "headlights": 42422, + "headline": 10891, + "headliner": 38880, + "headlines": 14706, + "headlining": 26971, + "headphone": 37524, + "headphones": 14906, + "headquarters": 13041, + "heads": 5174, + "headset": 23883, + "headshot": 34890, + "heal": 1231, + "heal": 13833, + "healed": 31456, + "healer": 38328, + "healey": 38985, + "healing": 9295, + "heals": 32384, + "health": 2145, + "health": 1728, + "healthand": 43704, + "healthcare": 42500, + "healthcare": 6023, + "healthier": 18242, + "healthtech": 42694, + "healthy": 10330, + "healthy": 3782, + "healthye": 31532, + "healthyeating": 33761, + "healthyfood": 39996, + "healthylifestyle": 46254, + "healthyliving": 27293, + "healy": 34299, + "heap": 34781, + "heaps": 44446, + "hear": 2749, + "hear": 2584, + "heard": 4063, + "hearing": 46353, + "hearing": 5541, + "hearings": 33175, + "hearn": 36613, + "hears": 25395, + "heart": 4975, + "heart": 1936, + "heartbeat": 29154, + "heartbreak": 29281, + "heartbreaking": 21322, + "heartbroken": 35383, + "hearted": 21679, + "heartfelt": 22904, + "hearth": 31563, + "hearthstone": 34054, + "hearti": 29345, + "hearties": 44572, + "heartland": 31923, + "heartless": 47022, + "heartnews": 40426, + "hearts": 5516, + "heartw": 30002, + "heartwarming": 34080, + "hearty": 26994, + "heat": 12175, + "heat": 4403, + "heated": 17057, + "heater": 23246, + "heath": 12794, + "heath": 11719, + "heather": 20230, + "heather": 12470, + "heathrow": 24171, + "heating": 12478, + "heaton": 34557, + "heats": 36106, + "heatwave": 25726, + "heav": 2409, + "heaven": 15520, + "heaven": 5545, + "heavenly": 19117, + "heavens": 26026, + "heavier": 31253, + "heaviest": 33268, + "heavily": 14123, + "heavy": 12048, + "heavy": 4200, + "heavymetal": 39804, + "heavyweight": 17448, + "heb": 24700, + "heb": 34515, + "hebdo": 41817, + "hebrew": 27298, + "hebrides": 45121, + "hebron": 45725, + "hec": 18932, + "heck": 22985, + "heck": 14427, + "hectares": 44162, + "hectic": 37245, + "hector": 25852, + "hed": 18271, + "hedge": 16229, + "hedge": 20294, + "hedgehog": 21940, + "hedges": 41345, + "hee": 18364, + "hee": 15773, + "heechul": 42487, + "heed": 15118, + "heel": 33646, + "heel": 16861, + "heels": 10909, + "heem": 30061, + "heer": 40473, + "hef": 29473, + "heff": 48756, + "hefty": 48584, + "heg": 41995, + "heh": 25834, + "hehe": 48723, + "hehe": 10658, + "hehehe": 24138, + "hei": 6101, + "hei": 29051, + "heidel": 42927, + "heidelberg": 48445, + "heidi": 44860, + "heidi": 23867, + "heifer": 48219, + "heigh": 43883, + "height": 10788, + "heights": 8418, + "heim": 10931, + "heim": 9768, + "heimer": 39517, + "hein": 15487, + "hein": 43206, + "heine": 28742, + "heineken": 36874, + "heinrich": 47877, + "heinz": 32359, + "heir": 27083, + "heir": 34007, + "heirloom": 34232, + "heirs": 43834, + "heis": 21849, + "heisman": 34537, + "heist": 31035, + "heit": 37255, + "hel": 919, + "hel": 11579, + "hela": 48212, + "held": 4042, + "hele": 46129, + "helen": 17576, + "helen": 11291, + "helena": 23109, + "helene": 41591, + "helens": 45940, + "heli": 33874, + "heli": 40183, + "helicop": 10035, + "helicopter": 11956, + "helicopters": 26922, + "helium": 46505, + "helix": 35247, + "hell": 8410, + "hell": 4141, + "hella": 19800, + "hellboy": 48428, + "helle": 48600, + "helle": 46968, + "hellenic": 42544, + "heller": 44464, + "hello": 12887, + "hello": 3306, + "hells": 47989, + "helly": 48690, + "helm": 47970, + "helm": 19520, + "helmet": 11122, + "helmets": 21843, + "help": 8641, + "help": 1318, + "helped": 4845, + "helper": 29321, + "helpers": 36316, + "helpful": 12695, + "helping": 3875, + "helpless": 47638, + "helpline": 43101, + "helps": 5144, + "helsin": 17842, + "helsinki": 19626, + "hem": 20270, + "hem": 11148, + "hemi": 14256, + "hemi": 46856, + "heming": 30819, + "hemingway": 33470, + "hemisphere": 32767, + "hemmings": 34882, + "hemo": 43788, + "hemp": 28225, + "hemp": 18467, + "hems": 32451, + "hemsworth": 39428, + "hen": 2385, + "hen": 8047, + "hence": 23640, + "hend": 11560, + "hender": 49248, + "henderson": 14348, + "hendrick": 45296, + "hendricks": 37588, + "hendrix": 23605, + "henge": 33104, + "henley": 27853, + "henna": 39455, + "hennessy": 42667, + "henri": 19431, + "henri": 21610, + "henrik": 35772, + "henry": 16018, + "henry": 5508, + "hens": 31742, + "henson": 32935, + "hep": 17724, + "hep": 48791, + "hepat": 23767, + "hepatitis": 32169, + "hepburn": 26348, + "her": 1223, + "her": 899, + "hera": 38724, + "heral": 37809, + "herald": 27625, + "herald": 12851, + "herb": 26116, + "herb": 15302, + "herbal": 21868, + "herbali": 44087, + "herbalife": 48364, + "herbert": 19935, + "herbs": 17320, + "hercules": 26539, + "herd": 36142, + "herd": 18589, + "here": 9134, + "here": 763, + "hered": 47976, + "hereford": 35543, + "heres": 13566, + "hereto": 47673, + "heri": 31392, + "herit": 4720, + "heritag": 38273, + "heritage": 20962, + "heritage": 5455, + "herman": 31890, + "herman": 21568, + "hermann": 40942, + "hermes": 34563, + "hermi": 35265, + "hermione": 45502, + "hermit": 43953, + "hermitage": 47706, + "hermo": 40967, + "hermosa": 42531, + "hern": 30571, + "hern": 43576, + "hernandez": 17707, + "hero": 7338, + "hero": 3756, + "heroes": 38010, + "heroes": 5506, + "heroic": 24255, + "heroin": 23841, + "heroine": 27420, + "heron": 22593, + "heros": 37642, + "herr": 38537, + "herrera": 27755, + "herring": 30211, + "hers": 25359, + "herself": 9207, + "hersh": 20379, + "hershey": 29734, + "hert": 26744, + "hertfordshire": 41070, + "herts": 35784, + "herty": 23454, + "hertz": 49383, + "hes": 30553, + "hes": 12784, + "hesit": 23933, + "hesitate": 34967, + "hess": 41888, + "hester": 31105, + "het": 37527, + "het": 19678, + "hetero": 26405, + "heu": 20105, + "heughan": 32298, + "hew": 48141, + "hew": 43051, + "hewitt": 28871, + "hex": 16255, + "hex": 31241, + "hey": 10759, + "hey": 2189, + "hez": 34591, + "hezbollah": 37636, + "hf": 26606, + "hf": 20603, + "hfx": 47297, + "hg": 23986, + "hg": 26237, + "hgtv": 47657, + "hh": 3280, + "hh": 5180, + "hhh": 8281, + "hhhh": 19391, + "hhhh": 13121, + "hhhhh": 24246, + "hhhhhh": 37278, + "hhs": 27006, + "hi": 677, + "hi": 1883, + "hia": 20672, + "hiatus": 27823, + "hib": 15922, + "hiber": 38799, + "hibis": 36226, + "hibiscus": 36460, + "hibition": 24658, + "hibs": 42814, + "hic": 3549, + "hic": 38079, + "hick": 14813, + "hickman": 49148, + "hickory": 29905, + "hicks": 23429, + "hid": 15552, + "hid": 14451, + "hidalgo": 47464, + "hidden": 28305, + "hidden": 7029, + "hiddleston": 31444, + "hide": 17725, + "hide": 9379, + "hideous": 46588, + "hides": 30800, + "hiding": 11371, + "hie": 15763, + "hier": 23433, + "hier": 29913, + "hierarchy": 44442, + "hifi": 38168, + "hig": 38108, + "higgins": 21783, + "high": 1487, + "high": 1400, + "higher": 5321, + "highered": 27072, + "highest": 5317, + "highland": 32244, + "highland": 16062, + "highlander": 46251, + "highlanders": 40445, + "highlands": 16883, + "highlight": 8264, + "highlighted": 22252, + "highlighter": 45460, + "highlighting": 17344, + "highlights": 6173, + "highly": 5302, + "highness": 38694, + "highs": 15144, + "highschool": 23102, + "highway": 45344, + "highway": 7620, + "highways": 28007, + "higu": 39115, + "hihi": 36240, + "hii": 42315, + "hijab": 31407, + "hika": 41356, + "hikari": 44624, + "hike": 9404, + "hiked": 36471, + "hiker": 40947, + "hikers": 46090, + "hikes": 27076, + "hiking": 9118, + "hiko": 48708, + "hil": 3508, + "hil": 17927, + "hila": 38837, + "hilar": 37337, + "hilari": 7784, + "hilarious": 8358, + "hilariously": 43476, + "hilary": 45898, + "hilary": 25415, + "hilde": 45382, + "hill": 3671, + "hill": 2682, + "hillary": 13257, + "hillary": 7074, + "hillaryclinton": 15357, + "hilli": 32513, + "hills": 24178, + "hills": 5289, + "hillsborough": 32157, + "hillside": 37194, + "hilltop": 45858, + "hilly": 32483, + "hilton": 33621, + "hilton": 14012, + "him": 4128, + "him": 1269, + "himach": 29132, + "himachal": 35461, + "himalay": 17552, + "himalayan": 30318, + "himalayas": 32872, + "hime": 45892, + "himself": 4530, + "himss": 41730, + "hin": 1676, + "hin": 37930, + "hina": 40571, + "hinakhan": 45518, + "hinch": 49320, + "hind": 34460, + "hind": 23293, + "hindi": 14967, + "hinds": 47859, + "hindu": 17587, + "hindu": 12053, + "hinduism": 40592, + "hindus": 25701, + "hindustan": 46553, + "hines": 37462, + "hing": 37968, + "hini": 33564, + "hino": 45343, + "hint": 11868, + "hinton": 47165, + "hints": 20594, + "hio": 32897, + "hip": 11725, + "hip": 6584, + "hipho": 8819, + "hiphop": 26598, + "hiphop": 10914, + "hipp": 13607, + "hippie": 28637, + "hippo": 28398, + "hippo": 36729, + "hips": 30191, + "hipstamatic": 31002, + "hipster": 19987, + "hipsters": 48265, + "hir": 4959, + "hir": 14728, + "hira": 42577, + "hire": 32356, + "hire": 8243, + "hired": 17602, + "hires": 24133, + "hiring": 7835, + "hiro": 17396, + "hiro": 20588, + "hiroshima": 33867, + "hirsch": 46967, + "his": 15211, + "his": 787, + "hism": 23502, + "hispan": 16843, + "hispanic": 22676, + "hist": 21710, + "hist": 13779, + "histo": 33479, + "histor": 2993, + "historia": 46010, + "historian": 20697, + "historians": 35200, + "historic": 30195, + "historic": 5726, + "historical": 34154, + "historical": 8039, + "historically": 30445, + "histories": 34736, + "history": 11142, + "history": 1695, + "historymonth": 19356, + "historyof": 35905, + "hit": 5453, + "hit": 2341, + "hitch": 22937, + "hitch": 36203, + "hitler": 16518, + "hitman": 33290, + "hits": 4712, + "hitter": 23538, + "hitters": 39724, + "hitting": 7957, + "hiv": 44410, + "hiv": 11018, + "hive": 38162, + "hive": 18521, + "hiya": 42393, + "hk": 22648, + "hk": 12307, + "hl": 8297, + "hl": 5956, + "hle": 32389, + "hler": 35418, + "hm": 17913, + "hm": 7631, + "hmm": 13725, + "hmmm": 17032, + "hmmmm": 34598, + "hms": 14625, + "hmu": 21630, + "hmv": 49288, + "hn": 22905, + "hn": 7478, + "hns": 48412, + "ho": 606, + "ho": 2971, + "hoa": 37517, + "hoar": 31628, + "hoax": 33438, + "hob": 18212, + "hobart": 31646, + "hobb": 16175, + "hobbies": 36370, + "hobbit": 23207, + "hobbs": 34343, + "hobby": 41120, + "hobby": 17557, + "hobo": 34613, + "hobo": 41334, + "hoboken": 41568, + "hoc": 35880, + "hoch": 43772, + "hock": 34914, + "hock": 46574, + "hockey": 16499, + "hockey": 4111, + "hoco": 34771, + "hod": 31062, + "hodg": 23660, + "hodge": 40585, + "hodges": 35061, + "hodgson": 37044, + "hoe": 32502, + "hoe": 11262, + "hoek": 40073, + "hoes": 21164, + "hof": 20186, + "hof": 12789, + "hofer": 38654, + "hoff": 32860, + "hoff": 22751, + "hofficial": 41949, + "hoffman": 22026, + "hog": 12075, + "hog": 13255, + "hogan": 19757, + "hogg": 42005, + "hogs": 23242, + "hogwarts": 29168, + "hoh": 43947, + "hoi": 39295, + "hok": 26942, + "hok": 47167, + "hokies": 35168, + "hokkaido": 49145, + "hol": 1187, + "hol": 7349, + "hola": 28724, + "hold": 36496, + "hold": 3254, + "holden": 21869, + "holder": 7862, + "holders": 10074, + "holding": 5050, + "holdings": 24832, + "holds": 7286, + "hole": 47242, + "hole": 5341, + "holes": 11266, + "holi": 2093, + "holi": 21926, + "holic": 16348, + "holics": 29782, + "holiday": 13168, + "holiday": 2878, + "holidays": 5372, + "holiness": 37259, + "holistic": 26300, + "holl": 27699, + "holla": 26500, + "holland": 31608, + "holland": 9978, + "hollande": 47690, + "holler": 49047, + "holli": 24019, + "holliday": 41624, + "hollow": 41221, + "hollow": 16691, + "holloway": 29435, + "holly": 12731, + "holly": 11923, + "hollyo": 41525, + "hollyoaks": 43352, + "hollywood": 24655, + "hollywood": 5518, + "holm": 34758, + "holm": 12739, + "holme": 46149, + "holmes": 12756, + "holo": 10317, + "holocau": 14688, + "holocaust": 16476, + "hols": 33344, + "holt": 18868, + "holtz": 44743, + "holy": 13910, + "holy": 4874, + "hom": 906, + "hom": 47397, + "homa": 9557, + "homage": 17746, + "home": 2143, + "home": 1137, + "homebrew": 35046, + "homec": 33869, + "homecoming": 9008, + "homedecor": 15695, + "homedepot": 38707, + "homegrown": 32554, + "homeitems": 42972, + "homeland": 21633, + "homeless": 18403, + "homeless": 9661, + "homelessness": 19851, + "homemade": 7889, + "homeof": 48856, + "homeowner": 37267, + "homeowners": 29882, + "homepage": 29828, + "homer": 29307, + "homer": 16931, + "homers": 38333, + "homes": 19480, + "homes": 5416, + "homeschool": 40994, + "homestead": 32609, + "homeswee": 46298, + "hometown": 12238, + "homework": 12495, + "homicide": 21520, + "homie": 12540, + "homies": 18893, + "homme": 26193, + "homo": 18129, + "homo": 30504, + "homophobia": 37875, + "homophobic": 40975, + "homosexual": 44288, + "homosexuality": 46720, + "homs": 45413, + "hon": 1279, + "hon": 10296, + "honda": 8553, + "honduras": 29715, + "hone": 38640, + "honest": 7814, + "honest": 9602, + "honestly": 9155, + "honesty": 24939, + "honey": 9843, + "honey": 6406, + "honeycomb": 48583, + "honeymoon": 22527, + "hong": 12144, + "hong": 8598, + "hongkong": 16659, + "honi": 17918, + "honolulu": 28096, + "honor": 9206, + "honor": 3402, + "honorable": 19498, + "honorary": 15675, + "honore": 25868, + "honored": 5494, + "honoree": 38993, + "honorees": 43012, + "honoring": 10771, + "honors": 10248, + "honour": 8240, + "honourable": 29855, + "honoured": 11945, + "honouring": 37754, + "honours": 22558, + "hoo": 2300, + "hoo": 7920, + "hood": 18681, + "hood": 3222, + "hooded": 33631, + "hoodie": 13444, + "hoodies": 25974, + "hoods": 16664, + "hoof": 44555, + "hook": 30488, + "hook": 10395, + "hookah": 34214, + "hooked": 18138, + "hookem": 31465, + "hooker": 37891, + "hooking": 35240, + "hooks": 25068, + "hooligans": 48176, + "hoon": 21368, + "hooo": 44538, + "hoop": 31516, + "hoop": 19573, + "hooper": 35221, + "hoops": 9351, + "hoor": 22155, + "hooray": 24940, + "hoos": 46462, + "hoosier": 48886, + "hoosiers": 42780, + "hoot": 29164, + "hoover": 25691, + "hop": 10848, + "hop": 5833, + "hope": 5263, + "hope": 1683, + "hoped": 30628, + "hopeful": 21453, + "hopefully": 7602, + "hopeless": 35586, + "hopes": 10018, + "hoping": 7207, + "hopkins": 17821, + "hopp": 48839, + "hopped": 34220, + "hopper": 21748, + "hopping": 27606, + "hoppy": 38359, + "hops": 21137, + "hor": 1407, + "hor": 33847, + "hora": 26013, + "horace": 39282, + "horan": 26857, + "horde": 44947, + "hore": 15380, + "horiz": 8144, + "horizon": 17924, + "horizon": 11920, + "horizons": 29685, + "horizontal": 25775, + "hormon": 27096, + "hormone": 31283, + "hormones": 35162, + "horn": 15771, + "horn": 9607, + "horne": 38143, + "horned": 34526, + "hornet": 28739, + "hornets": 20124, + "horns": 22109, + "horny": 32622, + "horo": 21500, + "horoscope": 38453, + "horowitz": 44669, + "horri": 8656, + "horrible": 13726, + "horribly": 45484, + "horrific": 25314, + "horrifying": 38901, + "horror": 13787, + "horror": 5032, + "horrormovies": 46682, + "horrors": 33321, + "horse": 8562, + "horse": 4558, + "horseback": 43673, + "horseman": 48885, + "horsepower": 36882, + "horser": 23096, + "horseracing": 30693, + "horses": 8809, + "horseshoe": 29242, + "horst": 37182, + "hort": 19482, + "horticul": 27141, + "horticulture": 39998, + "horton": 25945, + "hortons": 38422, + "horus": 29794, + "hos": 44320, + "hos": 25008, + "hosa": 44618, + "hose": 19662, + "hoseok": 38817, + "hosp": 2847, + "hosp": 37853, + "hospice": 20533, + "hospit": 7180, + "hospital": 29399, + "hospital": 3851, + "hospitality": 11657, + "hospitalized": 36915, + "hospitals": 13816, + "host": 17403, + "host": 3953, + "hostage": 26119, + "hoste": 31700, + "hosted": 6017, + "hostel": 27225, + "hostess": 39692, + "hostile": 28074, + "hosting": 4857, + "hosts": 8718, + "hot": 2851, + "hot": 2069, + "hota": 43289, + "hotdog": 43758, + "hotel": 14591, + "hotel": 2738, + "hotels": 8654, + "hotline": 30516, + "hotmail": 46427, + "hotness": 39803, + "hotra": 27109, + "hotro": 47823, + "hotspot": 36606, + "hotspur": 35176, + "hotter": 23591, + "hottest": 8279, + "hottie": 22804, + "hotties": 46027, + "hou": 1011, + "hou": 10122, + "hough": 44529, + "houghton": 36133, + "houn": 39273, + "houn": 33607, + "hound": 33996, + "hound": 13561, + "hounds": 21178, + "hounews": 48373, + "hour": 14930, + "hour": 2232, + "hourly": 30918, + "hours": 2382, + "house": 4107, + "house": 1212, + "housed": 37518, + "household": 12412, + "households": 27167, + "housel": 48685, + "housemusic": 28468, + "houseof": 19928, + "houses": 7791, + "housewives": 38523, + "housing": 32924, + "housing": 5734, + "houston": 16564, + "houston": 5663, + "hov": 40291, + "hove": 29674, + "hoven": 35559, + "hover": 36252, + "hover": 49016, + "hovering": 43437, + "how": 7470, + "how": 829, + "howar": 37672, + "howard": 25447, + "howard": 7632, + "howdy": 42216, + "howe": 8179, + "howe": 24614, + "howell": 25297, + "hower": 32920, + "however": 8467, + "howi": 47883, + "howie": 42939, + "howl": 40332, + "howling": 41771, + "howto": 38191, + "howto": 44060, + "hoy": 39625, + "hoy": 13278, + "hoya": 40978, + "hp": 23753, + "hp": 6371, + "hpa": 30983, + "hpc": 39936, + "hpe": 33787, + "hpv": 45765, + "hq": 33571, + "hq": 4693, + "hr": 4810, + "hr": 4086, + "hra": 21320, + "hra": 17212, + "hrc": 18139, + "hrh": 29103, + "hri": 21068, + "hrithik": 45371, + "hrs": 7157, + "hru": 24127, + "hrw": 25064, + "hs": 9343, + "hs": 2466, + "hsbc": 31508, + "hsc": 43510, + "hse": 34057, + "hsfb": 29539, + "hsv": 47311, + "ht": 11123, + "ht": 7801, + "hta": 23452, + "hta": 49384, + "htafc": 42821, + "htc": 48942, + "htc": 17635, + "html": 18231, + "hts": 43710, + "htt": 10620, + "http": 15066, + "https": 30901, + "httr": 49372, + "httweets": 43198, + "hu": 845, + "hu": 5949, + "hua": 22138, + "huan": 41405, + "huang": 32013, + "huar": 46916, + "huawe": 17709, + "huawei": 21128, + "hub": 18775, + "hub": 7028, + "hubb": 23183, + "hubbard": 33288, + "hubble": 30421, + "hubby": 16947, + "hubert": 40699, + "hubs": 29327, + "huck": 22909, + "huckabee": 43666, + "hud": 7169, + "hud": 28563, + "hudder": 22629, + "huddersfield": 24220, + "huddle": 33435, + "hudson": 25873, + "hudson": 11260, + "hue": 48380, + "hue": 21465, + "hues": 38003, + "huey": 39663, + "huff": 18746, + "huff": 44999, + "huffpost": 45887, + "hug": 40790, + "hug": 10359, + "huge": 2699, + "hugely": 24648, + "hugged": 41333, + "hugging": 27058, + "hugh": 8723, + "hugh": 15385, + "hughes": 11418, + "hugo": 43935, + "hugo": 17132, + "hugs": 14248, + "huh": 13348, + "huhu": 32134, + "hui": 29978, + "hul": 7911, + "hula": 40145, + "hulk": 17637, + "hull": 25154, + "hull": 10375, + "hulu": 24666, + "hum": 5823, + "hum": 16283, + "human": 3175, + "human": 2751, + "humane": 20220, + "humanitarian": 14170, + "humanities": 24949, + "humanity": 9420, + "humanright": 44385, + "humanrights": 14148, + "humans": 8324, + "humb": 9988, + "humber": 30602, + "humber": 38063, + "humble": 38703, + "humble": 10889, + "humbled": 19682, + "humbling": 39757, + "humbold": 24739, + "humboldt": 31389, + "hume": 38197, + "humid": 14778, + "humid": 27447, + "humidi": 47666, + "humidity": 15469, + "humil": 27205, + "humili": 25332, + "humility": 28535, + "humming": 26515, + "hummingbird": 33072, + "hummus": 31785, + "humor": 29369, + "humor": 11186, + "humorous": 38173, + "humour": 19161, + "hump": 16673, + "hump": 24529, + "humpback": 47662, + "humpday": 27693, + "humph": 19767, + "humphrey": 31549, + "hun": 1616, + "hun": 10795, + "hundre": 8505, + "hundred": 11898, + "hundreds": 8879, + "hung": 13825, + "hungar": 19420, + "hungarian": 23325, + "hungary": 17232, + "hunger": 25565, + "hunger": 10184, + "hungergames": 47507, + "hungover": 41110, + "hungry": 44845, + "hungry": 8451, + "hunk": 33912, + "hunt": 16498, + "hunt": 5774, + "hunted": 37373, + "hunter": 16531, + "hunter": 6099, + "hunters": 16115, + "hunting": 27830, + "hunting": 7507, + "huntington": 23521, + "hunts": 34041, + "huntsville": 34544, + "hur": 2305, + "hur": 34523, + "hurd": 44915, + "hurdle": 27486, + "hurdles": 25440, + "huri": 42486, + "hurley": 30166, + "hurling": 24738, + "huron": 36147, + "hurrah": 40599, + "hurric": 6543, + "hurrican": 36105, + "hurricane": 24051, + "hurricane": 8782, + "hurricanes": 22357, + "hurry": 10921, + "hurst": 44742, + "hurst": 11760, + "hurt": 7413, + "hurting": 24017, + "hurts": 13059, + "hus": 5111, + "hus": 35853, + "husband": 6179, + "husbands": 33612, + "hush": 28728, + "husk": 19246, + "huskers": 26946, + "huskies": 20988, + "husky": 20421, + "huss": 13733, + "hussain": 17940, + "hussein": 31336, + "hust": 27279, + "hustle": 15709, + "huston": 46480, + "hut": 20924, + "hut": 16503, + "hutch": 31018, + "hutch": 33203, + "hutchinson": 35721, + "hutto": 27662, + "hutton": 38321, + "hv": 17209, + "hv": 18593, + "hvac": 27492, + "hw": 27491, + "hw": 18876, + "hwa": 32352, + "hwan": 44390, + "hwang": 46775, + "hwy": 13812, + "hy": 1441, + "hy": 17827, + "hya": 31600, + "hyacin": 47263, + "hyatt": 44856, + "hyatt": 25146, + "hybri": 9084, + "hybrid": 10156, + "hyd": 42382, + "hyde": 46484, + "hyde": 16343, + "hyder": 13960, + "hyderabad": 14801, + "hydr": 8031, + "hydra": 44414, + "hydra": 40420, + "hydrange": 43298, + "hydrate": 29628, + "hydrated": 23300, + "hydrating": 47653, + "hydration": 24174, + "hydrau": 26017, + "hydraulic": 26189, + "hydro": 8368, + "hydro": 22595, + "hydrogen": 20974, + "hye": 32724, + "hye": 25792, + "hygi": 16277, + "hygiene": 19591, + "hymn": 41350, + "hyo": 38960, + "hyo": 35078, + "hyp": 16964, + "hype": 30353, + "hype": 11111, + "hyped": 22507, + "hyper": 7997, + "hyper": 22146, + "hypertension": 40698, + "hypno": 23355, + "hypnosis": 48138, + "hypnoti": 40440, + "hypo": 10252, + "hypocr": 30711, + "hypocri": 25606, + "hypocrisy": 26296, + "hypocrite": 44125, + "hypothe": 46966, + "hypothesis": 44956, + "hyster": 24235, + "hysteria": 45965, + "hysterical": 48627, + "hyuk": 20452, + "hyun": 11831, + "hyun": 8589, + "hyundai": 17094, + "hyung": 46901, + "hyung": 16551, + "hz": 32533, + "i": 72, + "i": 328, + "ia": 12486, + "ia": 1073, + "iac": 32838, + "iac": 44063, + "iaf": 40789, + "iah": 35052, + "iain": 30103, + "ial": 11530, + "ial": 1974, + "ials": 20940, + "iam": 3579, + "iam": 11415, + "iambic": 43668, + "iambicpent": 43891, + "iamsrk": 15103, + "ian": 7723, + "ian": 1800, + "ians": 6451, + "iansomerhalder": 47077, + "iart": 18413, + "iartg": 18669, + "ias": 32303, + "ias": 14620, + "ib": 3962, + "ib": 13554, + "iba": 39763, + "ibadan": 44691, + "iban": 47145, + "ibc": 49014, + "ibd": 40732, + "iber": 23814, + "ibi": 12337, + "ibis": 47048, + "ibiza": 13853, + "ible": 37792, + "ibles": 44102, + "ibm": 23415, + "ibm": 13918, + "ibn": 25729, + "ibooks": 46887, + "ibra": 15476, + "ibrahi": 40350, + "ibrahim": 20816, + "ibrox": 46883, + "ibs": 41993, + "ibu": 43587, + "ibu": 46117, + "ic": 535, + "ic": 1029, + "ica": 2576, + "icago": 37492, + "ical": 6082, + "ical": 1110, + "ically": 3161, + "icals": 13999, + "ican": 17653, + "ican": 5246, + "icans": 20511, + "icar": 37211, + "ication": 21629, + "icc": 12945, + "ice": 2739, + "ice": 733, + "iceberg": 33662, + "icec": 13636, + "icecream": 21334, + "iced": 8049, + "icelan": 34114, + "iceland": 46716, + "iceland": 11935, + "icelandic": 34705, + "ices": 1931, + "ich": 5333, + "ich": 1232, + "icha": 31453, + "iche": 28972, + "iche": 21143, + "ichi": 21669, + "ichi": 14647, + "ichick": 45022, + "ichiro": 43787, + "ici": 948, + "ici": 22189, + "icia": 11774, + "icial": 17543, + "icial": 6397, + "ician": 40522, + "ician": 5374, + "icians": 6264, + "iciary": 21329, + "icic": 46006, + "icide": 6558, + "icides": 28253, + "icing": 7676, + "icio": 24207, + "icion": 45905, + "icious": 3325, + "icist": 21165, + "icists": 42171, + "icity": 7243, + "ick": 1168, + "ick": 1068, + "icked": 39799, + "icker": 40357, + "ickers": 30701, + "icki": 35468, + "icking": 6619, + "icks": 3727, + "icky": 11587, + "icn": 44516, + "ico": 13697, + "ico": 3040, + "icom": 17693, + "icom": 29796, + "icon": 13843, + "icon": 5646, + "iconic": 6959, + "icons": 15553, + "icop": 9389, + "icos": 32002, + "ics": 1324, + "ict": 6349, + "icted": 36515, + "iction": 40560, + "icton": 36548, + "icu": 45118, + "icu": 30443, + "icular": 40660, + "icus": 31459, + "icy": 28780, + "icy": 3495, + "icymi": 5315, + "icz": 46387, + "id": 1568, + "id": 1014, + "ida": 11032, + "ida": 11600, + "idad": 22462, + "idaho": 48817, + "idaho": 15165, + "idal": 39684, + "idan": 17929, + "idc": 22386, + "ide": 1909, + "ide": 14104, + "idea": 3612, + "ideal": 8789, + "ideally": 48247, + "ideals": 45096, + "ideas": 4452, + "ident": 7113, + "identi": 6009, + "identical": 25587, + "identification": 23337, + "identified": 15217, + "identifies": 35712, + "identify": 10949, + "identifying": 23589, + "identities": 34292, + "identity": 8892, + "ideology": 25840, + "iders": 8980, + "ides": 31791, + "idf": 28987, + "idge": 35567, + "idh": 44325, + "idi": 9611, + "idi": 14264, + "idio": 15994, + "idiot": 14087, + "idiots": 20856, + "idk": 8972, + "idle": 34754, + "idlib": 36199, + "ido": 6763, + "ido": 29641, + "idol": 24866, + "idol": 8884, + "idols": 21398, + "idr": 10106, + "idri": 46435, + "idris": 41312, + "ids": 6111, + "idu": 28655, + "idy": 33058, + "idyl": 44879, + "idyllic": 46632, + "ie": 6789, + "ie": 1718, + "iec": 44773, + "ied": 10059, + "ieee": 39860, + "iel": 27875, + "iel": 22729, + "ience": 1542, + "ient": 13115, + "ier": 33173, + "ier": 5912, + "iers": 45060, + "ies": 27912, + "ies": 963, + "iest": 10818, + "if": 8063, + "if": 878, + "ifa": 37574, + "ifc": 36524, + "ife": 41172, + "ife": 19590, + "iff": 35753, + "ification": 35755, + "ified": 41403, + "ift": 31143, + "iftar": 35153, + "ifu": 41523, + "ify": 32807, + "ig": 1089, + "ig": 3072, + "iga": 16493, + "igan": 27468, + "igans": 25419, + "igbo": 44591, + "ige": 10806, + "igen": 33070, + "iger": 30758, + "iger": 20685, + "igers": 40755, + "igers": 48928, + "iggy": 46219, + "iggy": 27604, + "igh": 2712, + "igh": 5451, + "ight": 14571, + "ight": 897, + "ighton": 35292, + "igi": 21901, + "igle": 29912, + "iglesias": 39432, + "ign": 7303, + "ign": 2326, + "ignati": 37573, + "ignatius": 48318, + "igne": 45843, + "ignite": 25210, + "ignition": 36115, + "igno": 15375, + "ignor": 7653, + "ignorance": 22735, + "ignorant": 26933, + "ignore": 12304, + "ignored": 20428, + "ignores": 40129, + "ignoring": 23969, + "igor": 33024, + "igs": 31344, + "igu": 21279, + "ih": 12162, + "ih": 34135, + "ihear": 13043, + "iheart": 30332, + "iheartawards": 18811, + "iheartradio": 25934, + "ihop": 45511, + "ihri": 39108, + "ihrithik": 39326, + "ii": 5103, + "ii": 2329, + "iii": 46236, + "iii": 6572, + "iiii": 20133, + "iiii": 45393, + "iiot": 30704, + "iit": 39330, + "iit": 33238, + "ij": 7337, + "ija": 42802, + "ik": 3903, + "ik": 10177, + "ika": 18188, + "ike": 12329, + "ike": 19696, + "ikea": 20528, + "iker": 38653, + "ikh": 44655, + "ikh": 12758, + "iklan": 32028, + "iklan": 29584, + "iko": 35659, + "iko": 39272, + "ikon": 38543, + "ikon": 19156, + "iku": 17780, + "il": 543, + "il": 958, + "ila": 4344, + "ilah": 32211, + "ilan": 13889, + "ilan": 28076, + "iland": 20957, + "ilation": 16180, + "ilay": 45093, + "ild": 22278, + "ild": 17164, + "ile": 18398, + "ile": 989, + "iled": 3358, + "iler": 22446, + "iler": 3615, + "ilers": 8975, + "iles": 42274, + "ili": 2076, + "ili": 19601, + "ilia": 14855, + "ilian": 10272, + "iliary": 32585, + "ilife": 42835, + "ilike": 44989, + "ilinan": 48497, + "iling": 3299, + "ilio": 47256, + "ilion": 12561, + "ilis": 43442, + "ilit": 11178, + "ilities": 5446, + "ility": 1787, + "ilive": 26478, + "ill": 828, + "ill": 660, + "illa": 8877, + "illa": 3043, + "illac": 17218, + "illage": 48922, + "illard": 21920, + "illary": 33667, + "illas": 23404, + "ille": 18213, + "ille": 5559, + "illed": 2527, + "illeg": 35808, + "illegal": 7983, + "illegally": 24466, + "illegals": 40490, + "iller": 23341, + "iller": 2956, + "illers": 30547, + "illery": 14514, + "illes": 20037, + "illi": 1086, + "illi": 25187, + "illia": 48776, + "illiams": 30301, + "illian": 48775, + "illian": 17355, + "illic": 37152, + "illicit": 40998, + "illie": 26083, + "illin": 35868, + "illing": 2803, + "illini": 28957, + "illino": 8920, + "illinois": 9414, + "illion": 35542, + "illion": 2035, + "illness": 11145, + "illnesses": 33861, + "illo": 34153, + "illo": 7588, + "illon": 20516, + "ills": 1900, + "illu": 3025, + "illumin": 11446, + "illuminate": 43261, + "illuminated": 28814, + "illuminati": 34551, + "illuminating": 46601, + "illumination": 43680, + "illus": 41386, + "illusion": 20318, + "illusions": 47429, + "illustr": 6268, + "illustrate": 37468, + "illustrated": 13151, + "illustrates": 38129, + "illustrating": 43322, + "illustration": 6052, + "illustrations": 17852, + "illustrator": 16649, + "illustri": 43116, + "illustrious": 44304, + "illy": 11707, + "illy": 9532, + "ilm": 36326, + "ilo": 4220, + "ilo": 14835, + "ilove": 7183, + "ilove": 32914, + "iloveart": 41114, + "ilovemy": 28863, + "iloveyou": 28829, + "ils": 1543, + "ilt": 25334, + "ilton": 28494, + "ilu": 27337, + "ilwx": 43777, + "ily": 4881, + "ily": 1026, + "ilya": 33377, + "ilysm": 29228, + "im": 732, + "im": 1496, + "ima": 2414, + "ima": 6432, + "imac": 40675, + "imacele": 47281, + "imag": 2316, + "image": 24101, + "image": 2867, + "imagery": 22828, + "images": 4952, + "imagin": 18178, + "imaginary": 30417, + "imagination": 13783, + "imaginative": 47233, + "imagine": 35752, + "imagine": 4826, + "imagined": 18478, + "imagines": 47379, + "imaging": 14231, + "imagining": 27384, + "imam": 37552, + "imam": 19024, + "iman": 45684, + "iman": 16247, + "imation": 44566, + "imax": 32066, + "imc": 45616, + "imdanielpadilla": 36357, + "imdb": 30407, + "ime": 44937, + "ime": 31151, + "imel": 31594, + "iment": 37157, + "imer": 21802, + "imes": 47744, + "imf": 28403, + "img": 24157, + "imi": 23559, + "imin": 23942, + "imit": 23462, + "imitation": 41630, + "imma": 19487, + "immac": 25085, + "immaculate": 29649, + "immature": 45531, + "immedi": 7366, + "immediate": 14440, + "immediately": 10108, + "immen": 17278, + "immense": 22722, + "immensely": 35013, + "immer": 13954, + "immerse": 46240, + "immersion": 31861, + "immersive": 27521, + "immigr": 5851, + "immigrant": 16474, + "immigrants": 14460, + "immigration": 9588, + "imminent": 27299, + "immort": 39244, + "immortal": 24717, + "immun": 8961, + "immune": 15606, + "immuni": 44571, + "immunity": 26254, + "immuno": 24361, + "immunology": 44483, + "immunotherapy": 39185, + "imo": 26349, + "imo": 13738, + "imp": 3335, + "imp": 31037, + "impac": 7573, + "impact": 33036, + "impact": 3844, + "impacted": 21424, + "impactful": 41631, + "impacting": 29359, + "impacts": 15069, + "impair": 36451, + "impaired": 28028, + "impairment": 44501, + "impala": 36641, + "impe": 23612, + "impeach": 16874, + "impeach": 43497, + "impeachment": 32979, + "impeachtrump": 38006, + "impecc": 34511, + "impeccable": 40111, + "impending": 34486, + "imper": 7727, + "imperative": 39833, + "imperfect": 46034, + "imperi": 30911, + "imperial": 32425, + "imperial": 12361, + "imperialism": 48855, + "imperson": 25551, + "implant": 33106, + "implants": 32202, + "imple": 7423, + "implement": 17966, + "implementation": 15102, + "implemented": 24315, + "implementing": 22862, + "implic": 15269, + "implications": 19229, + "implo": 40337, + "impo": 45704, + "import": 2336, + "import": 16294, + "importance": 6821, + "important": 2829, + "importantly": 21580, + "imported": 28798, + "imports": 25286, + "impose": 35879, + "imposed": 25871, + "imposing": 42289, + "impossible": 9815, + "impre": 3763, + "impress": 20015, + "impressed": 9689, + "impression": 14468, + "impressionism": 36114, + "impressionist": 44904, + "impressions": 22276, + "impressive": 6634, + "imprint": 43863, + "imprison": 22141, + "imprisoned": 32999, + "imprisonment": 39024, + "impro": 2531, + "impromp": 28100, + "impromptu": 28611, + "improv": 22868, + "improve": 4971, + "improved": 9446, + "improvement": 10790, + "improvements": 16320, + "improves": 18035, + "improving": 10381, + "improvis": 32343, + "improvised": 40886, + "impulse": 29683, + "impy": 42690, + "imran": 19647, + "imran": 19212, + "imrankhan": 25956, + "imrankhanpti": 26688, + "ims": 17800, + "imsa": 37262, + "imv": 35731, + "imvkohli": 37136, + "imwith": 26822, + "imwithher": 32651, + "in": 512, + "in": 530, + "ina": 18026, + "ina": 1366, + "inability": 47517, + "inaccurate": 49192, + "inaction": 41916, + "inactive": 49274, + "inadequate": 43403, + "inak": 46549, + "inal": 19178, + "inals": 26438, + "inan": 26204, + "inappropriate": 26722, + "inari": 48620, + "inary": 11337, + "inas": 36731, + "inas": 12362, + "inated": 38530, + "ination": 4706, + "inau": 10832, + "inaugu": 11309, + "inaugur": 11448, + "inaugural": 11340, + "inaugurated": 29011, + "inauguration": 16805, + "inbound": 24420, + "inbox": 18683, + "inc": 14570, + "inc": 4438, + "incan": 45964, + "incar": 18070, + "incarcer": 26334, + "incarcerated": 49178, + "incarceration": 39887, + "incase": 30463, + "ince": 44303, + "incen": 13259, + "incense": 35059, + "incentive": 29024, + "incentives": 29813, + "inception": 36653, + "inch": 6523, + "incheon": 30645, + "inches": 10809, + "inci": 5747, + "incidence": 43371, + "incident": 10103, + "incidents": 22120, + "incindia": 26161, + "inciner": 46434, + "incl": 27857, + "incl": 13338, + "inclined": 45470, + "inclu": 1738, + "include": 5942, + "included": 7414, + "includes": 6197, + "including": 2814, + "inclusion": 12079, + "inclusive": 13393, + "income": 8044, + "incoming": 15416, + "incomparable": 36027, + "incompetent": 45069, + "incomplete": 34040, + "incon": 42372, + "inconvenience": 40563, + "incorpor": 19335, + "incorporate": 34168, + "incorporated": 29494, + "incorporating": 40303, + "incorrect": 31872, + "incre": 1870, + "increase": 5230, + "increased": 9156, + "increases": 13797, + "increasing": 10270, + "increasingly": 16106, + "incredi": 2883, + "incredible": 22128, + "incredible": 3457, + "incredibleindia": 24680, + "incredibles": 48641, + "incredibly": 9513, + "incu": 38830, + "incub": 24587, + "incubator": 35736, + "incumb": 32246, + "incumbent": 38038, + "incur": 42356, + "ind": 5386, + "ind": 4655, + "inda": 15710, + "inde": 2645, + "indeed": 10031, + "indefin": 29501, + "indefinitely": 43750, + "independ": 4147, + "independence": 23117, + "independence": 7955, + "independenceday": 25971, + "independent": 33844, + "independent": 7088, + "independently": 39831, + "inder": 29225, + "index": 35209, + "index": 9458, + "indhoven": 44229, + "indi": 1098, + "indi": 46536, + "india": 27067, + "india": 1762, + "indian": 7685, + "indian": 3606, + "indiana": 8615, + "indianapolis": 17196, + "indianfootball": 45979, + "indians": 10271, + "indic": 7136, + "indicate": 26679, + "indicated": 39416, + "indicates": 29412, + "indication": 38539, + "indicator": 24776, + "indicators": 30054, + "indicted": 34992, + "indictment": 42278, + "indie": 5260, + "indie": 9383, + "indiedev": 10863, + "indiefilm": 22588, + "indiegame": 17969, + "indiegamedev": 40466, + "indiegames": 35864, + "indiegogo": 38057, + "indies": 23618, + "indiffe": 41372, + "indigen": 8348, + "indigenous": 9303, + "indigo": 21002, + "indira": 43887, + "indirec": 26398, + "indirect": 35416, + "indivi": 5649, + "individu": 9574, + "individual": 8512, + "individually": 33782, + "individuals": 11990, + "indo": 26303, + "indo": 18297, + "indom": 42926, + "indone": 6180, + "indonesia": 7229, + "indonesian": 19593, + "indoor": 44478, + "indoor": 9546, + "indoors": 22973, + "indore": 46143, + "indu": 2298, + "induc": 7973, + "induced": 24103, + "inducted": 20596, + "inductee": 39558, + "inductees": 44796, + "induction": 18338, + "indul": 19402, + "indulg": 28388, + "indulge": 24851, + "indulgence": 40856, + "indulgent": 49147, + "industri": 5082, + "industrial": 30853, + "industrial": 7520, + "industries": 11700, + "industry": 47407, + "industry": 3318, + "indv": 16942, + "indy": 9821, + "indy": 10098, + "indycar": 20484, + "indyref": 22569, + "ine": 855, + "ine": 715, + "ineau": 38122, + "inec": 45214, + "ined": 2038, + "inee": 43252, + "inee": 7986, + "inees": 13056, + "ineffe": 47202, + "inely": 18234, + "inem": 48876, + "inema": 29232, + "inen": 44365, + "inequalities": 45507, + "inequality": 17372, + "iner": 17438, + "iner": 5155, + "iners": 41863, + "ines": 2137, + "inese": 35966, + "iness": 1463, + "inet": 8121, + "inette": 38911, + "inev": 19527, + "inevit": 45871, + "inevitable": 25004, + "inews": 24300, + "inexpensive": 38614, + "iney": 30254, + "inez": 12700, + "inf": 1529, + "inf": 35241, + "infamous": 18688, + "infan": 17219, + "infant": 19192, + "infantry": 21655, + "infants": 34726, + "infe": 7164, + "infec": 26088, + "infected": 26136, + "infection": 14774, + "infections": 22227, + "infectious": 29157, + "infeld": 25035, + "infer": 16258, + "inferno": 31290, + "infertility": 40701, + "infield": 48933, + "infiltr": 28683, + "infin": 6246, + "infinite": 12748, + "infiniti": 34644, + "infinity": 34863, + "infinity": 12895, + "infl": 7627, + "inflam": 16080, + "inflammation": 24893, + "inflammatory": 26831, + "inflatable": 30135, + "inflation": 17497, + "inflicted": 48188, + "influ": 4835, + "influen": 13229, + "influence": 9199, + "influenced": 21183, + "influencer": 25013, + "influencers": 29891, + "influences": 24926, + "influencing": 45126, + "influential": 17553, + "influenza": 39897, + "info": 5680, + "info": 2222, + "infographic": 10076, + "infographics": 33172, + "infor": 31773, + "inform": 10241, + "inform": 19449, + "informal": 25705, + "informat": 29625, + "informatics": 35685, + "information": 3204, + "informative": 19364, + "informed": 13876, + "informing": 45388, + "informs": 48440, + "infosec": 17863, + "infr": 29718, + "infra": 7312, + "infra": 45877, + "infrared": 22867, + "infrastructure": 9034, + "infringe": 44882, + "infringement": 48712, + "infront": 37668, + "infu": 15048, + "infuri": 48461, + "infused": 21461, + "infusion": 43464, + "ing": 653, + "ing": 519, + "inga": 15233, + "ingco": 40444, + "ingday": 16561, + "ingdon": 38731, + "inge": 11790, + "inge": 7071, + "inged": 30046, + "ingen": 19088, + "ingeni": 36884, + "inger": 33883, + "inger": 3541, + "ingfor": 33430, + "ingh": 9170, + "ingh": 30495, + "ingham": 24497, + "ingham": 4291, + "inghamshire": 39289, + "inghour": 42728, + "inging": 4066, + "ingl": 45662, + "ingle": 22228, + "ingle": 17005, + "ingles": 24490, + "ingley": 44428, + "inglis": 46327, + "ingly": 4796, + "ingnow": 34766, + "ingo": 30175, + "ingo": 9012, + "ingra": 45165, + "ingrad": 44124, + "ingram": 26998, + "ingredi": 9272, + "ingredient": 19799, + "ingredients": 11788, + "ingrid": 33496, + "ings": 895, + "ingthe": 20170, + "ingtips": 39373, + "ington": 11846, + "ington": 2156, + "ingu": 8714, + "ingual": 22795, + "ingue": 36838, + "ingui": 12788, + "inguish": 36146, + "inha": 32612, + "inhabit": 36189, + "inhabitants": 44968, + "inhal": 30786, + "inhe": 32617, + "inher": 24611, + "inherent": 47327, + "inherit": 34322, + "inheritance": 39341, + "inherited": 39111, + "inhi": 25557, + "inhibit": 32196, + "inho": 12984, + "ini": 6154, + "ini": 3581, + "inian": 36638, + "inim": 38717, + "inindia": 34021, + "ining": 1389, + "inist": 30976, + "init": 42670, + "initi": 4580, + "initial": 13980, + "initially": 28123, + "initials": 48794, + "initiated": 27756, + "initiation": 41009, + "initiative": 8152, + "initiatives": 16549, + "inity": 22126, + "inj": 5112, + "injec": 13688, + "injection": 21438, + "inju": 5006, + "injured": 7505, + "injuries": 9481, + "injury": 6223, + "injustice": 20541, + "ink": 4547, + "ink": 967, + "inka": 40685, + "inked": 29356, + "inki": 46176, + "inkigayo": 47882, + "inking": 37586, + "inks": 20966, + "inktober": 9387, + "inland": 21943, + "inlet": 35161, + "inline": 45004, + "inlove": 28415, + "inmate": 32341, + "inmates": 28216, + "inmy": 42657, + "inn": 27260, + "inn": 5569, + "inna": 35088, + "inner": 24512, + "inner": 6955, + "inning": 4415, + "innings": 11580, + "innis": 44059, + "inno": 7961, + "innocence": 26383, + "innocent": 11241, + "innov": 2890, + "innovate": 24549, + "innovation": 33063, + "innovation": 4272, + "innovations": 18817, + "innovative": 8494, + "innovator": 34735, + "innovators": 27834, + "ino": 4211, + "ino": 2691, + "inoa": 25649, + "inos": 21828, + "inous": 47801, + "inox": 22698, + "input": 16952, + "inputs": 48763, + "inqu": 10628, + "inqui": 18527, + "inquirer": 45172, + "inquiries": 29469, + "inquiry": 15865, + "inquis": 31171, + "inr": 36325, + "ins": 12786, + "ins": 1041, + "insan": 7875, + "insane": 10260, + "insanely": 27846, + "insanity": 26645, + "inscribed": 49168, + "inscription": 41127, + "insec": 15744, + "insect": 21297, + "insects": 18714, + "insecure": 35112, + "insecurity": 36964, + "inser": 13830, + "insert": 18807, + "insi": 3453, + "inside": 19141, + "inside": 2912, + "insider": 13300, + "insiders": 32171, + "insig": 40503, + "insight": 8795, + "insightful": 20354, + "insights": 8729, + "insignia": 48864, + "insist": 35504, + "insisted": 40423, + "insists": 27255, + "inski": 32630, + "insky": 24607, + "insol": 42366, + "insom": 21755, + "insomni": 42040, + "insomnia": 30598, + "inson": 21007, + "insp": 1597, + "inspec": 7915, + "inspect": 40815, + "inspecting": 40565, + "inspection": 15142, + "inspections": 39513, + "inspector": 20514, + "inspir": 2573, + "inspiration": 4195, + "inspirational": 41936, + "inspirational": 9855, + "inspirations": 35093, + "inspire": 27901, + "inspire": 8583, + "inspired": 39849, + "inspired": 3516, + "inspires": 17245, + "inspiring": 41847, + "inspiring": 5705, + "inspo": 26897, + "inst": 1264, + "inst": 1581, + "insta": 22411, + "insta": 11694, + "instability": 41377, + "instac": 46678, + "instaf": 33800, + "instag": 14612, + "instagood": 23718, + "instagram": 27910, + "instagram": 2659, + "instal": 38805, + "install": 6940, + "install": 11168, + "installation": 9358, + "installations": 27909, + "installed": 8807, + "installing": 18301, + "installment": 25315, + "installs": 45568, + "instalment": 47766, + "instance": 34572, + "instant": 38810, + "instant": 10635, + "instantly": 17703, + "instap": 23758, + "instapic": 34378, + "instaweather": 43078, + "instaweatherpro": 43150, + "inste": 3571, + "instead": 4191, + "instein": 13421, + "instem": 27030, + "instin": 23382, + "instinct": 30544, + "institu": 4257, + "institute": 5861, + "institutes": 43674, + "institution": 18823, + "institutional": 27442, + "institutions": 15207, + "instore": 41679, + "instru": 4544, + "instruc": 19648, + "instruction": 19407, + "instructional": 31022, + "instructions": 17040, + "instructor": 16087, + "instructors": 31998, + "instrument": 42196, + "instrument": 15806, + "instrumental": 23041, + "instruments": 14793, + "instyle": 41321, + "insu": 8805, + "insul": 9615, + "insulated": 42051, + "insulation": 28194, + "insulin": 29311, + "insult": 26673, + "insulting": 39646, + "insults": 40451, + "insur": 5024, + "insurance": 5870, + "insured": 31321, + "insurers": 43142, + "insurtech": 28716, + "int": 1828, + "int": 1207, + "inta": 38314, + "intact": 26870, + "intake": 19539, + "intan": 47695, + "inte": 1598, + "inte": 41900, + "intech": 26504, + "inted": 6147, + "integr": 5151, + "integral": 27018, + "integrate": 25735, + "integrated": 12797, + "integrating": 31555, + "integration": 12583, + "integrity": 14791, + "intel": 11778, + "intel": 11426, + "intellec": 13281, + "intellect": 47828, + "intellectu": 31966, + "intellectual": 18069, + "intelli": 5324, + "intellig": 5632, + "intelligence": 6846, + "intelligent": 14063, + "inten": 2967, + "intend": 36674, + "intended": 16812, + "intense": 10258, + "intensi": 22928, + "intensity": 19956, + "intensive": 21049, + "intent": 18881, + "intention": 26786, + "intentional": 29536, + "intentionally": 31215, + "intentions": 26710, + "inter": 1006, + "inter": 10093, + "interact": 21736, + "interacting": 35045, + "interaction": 17650, + "interactions": 22162, + "interactive": 9456, + "intercep": 23676, + "interception": 48762, + "interceptions": 45313, + "interchange": 34222, + "intercontinental": 31983, + "interdisciplinary": 38132, + "intere": 2008, + "interest": 5095, + "interested": 4620, + "interesting": 3628, + "interests": 16425, + "interface": 18753, + "interfaith": 38399, + "interference": 29099, + "interim": 19509, + "interior": 10700, + "interior": 7305, + "interiordesign": 12902, + "interiors": 14836, + "intermedi": 20246, + "intermediate": 24304, + "intermission": 44805, + "intermitt": 44946, + "intern": 9976, + "intern": 14068, + "internal": 11285, + "internally": 41134, + "internation": 42534, + "international": 8566, + "international": 2436, + "internationaldayof": 41518, + "internationally": 24059, + "internationalwomensday": 17682, + "interne": 32713, + "internet": 30180, + "internet": 4757, + "internetof": 44449, + "internetofthings": 45925, + "interns": 19902, + "internship": 16661, + "internships": 39410, + "interoper": 45754, + "interpre": 11162, + "interpret": 49154, + "interpret": 40459, + "interpretation": 20652, + "interpreted": 42157, + "interpreting": 46525, + "interro": 29548, + "interrup": 21609, + "interrupt": 48449, + "interrupted": 30288, + "intersec": 45246, + "intersection": 19210, + "interstate": 21963, + "interstellar": 41506, + "interval": 36032, + "intervals": 44884, + "interven": 18245, + "intervention": 16804, + "interventions": 28848, + "interview": 2885, + "interviewed": 11688, + "interviewing": 16399, + "interviews": 9910, + "intestin": 37938, + "intestinal": 38896, + "inthe": 7486, + "inti": 14459, + "intim": 38832, + "intimacy": 46430, + "intimate": 16382, + "intimid": 24041, + "intimidating": 44405, + "intimidation": 49258, + "inting": 15571, + "intl": 38186, + "intl": 14224, + "intment": 9020, + "intments": 21420, + "into": 35235, + "into": 1095, + "intoler": 28534, + "intolerance": 37808, + "intothe": 38511, + "intra": 20922, + "intrac": 46195, + "intram": 40956, + "intre": 29397, + "intrepid": 39127, + "intri": 15421, + "intric": 23763, + "intricate": 29616, + "intrigu": 18856, + "intrigue": 45140, + "intrigued": 40034, + "intriguing": 24334, + "intrin": 45181, + "intro": 2999, + "intro": 13224, + "introduc": 3621, + "introduce": 9813, + "introduced": 10446, + "introduces": 12933, + "introducing": 6256, + "introduction": 11812, + "introductory": 38121, + "intru": 22949, + "ints": 2514, + "intu": 17225, + "intuition": 40897, + "intuitive": 35224, + "inu": 21131, + "inuit": 41250, + "inus": 45857, + "inv": 2279, + "inv": 43786, + "inva": 10084, + "invade": 34609, + "invaded": 32596, + "invaders": 35188, + "invading": 40101, + "invali": 31592, + "invalid": 46998, + "invaluable": 33976, + "invasi": 38100, + "invasion": 13378, + "invasive": 19554, + "inve": 2024, + "inven": 26233, + "invent": 11665, + "invent": 23558, + "invented": 14100, + "invention": 23607, + "inventions": 44914, + "inventor": 22836, + "inventory": 19444, + "inver": 12061, + "inverness": 33080, + "inverte": 46397, + "inverted": 40709, + "invest": 4180, + "invest": 9716, + "invested": 22536, + "investig": 4626, + "investigate": 15703, + "investigated": 29180, + "investigates": 29621, + "investigating": 13713, + "investigation": 8194, + "investigations": 24020, + "investigative": 30233, + "investigator": 30528, + "investigators": 24121, + "investin": 40195, + "investing": 10554, + "investment": 5605, + "investments": 14675, + "investor": 15490, + "investors": 10486, + "invests": 38378, + "invic": 25253, + "invigor": 48722, + "invin": 30252, + "invincible": 38052, + "invisible": 16093, + "invit": 12454, + "invitation": 15032, + "invitational": 14511, + "invitations": 40120, + "invite": 8109, + "invited": 7731, + "invites": 16034, + "inviting": 14349, + "invo": 29417, + "invol": 4000, + "involve": 26325, + "involved": 5320, + "involvement": 19502, + "involves": 22652, + "involving": 14786, + "inwx": 35674, + "iny": 23257, + "inyour": 47954, + "io": 3167, + "io": 3752, + "ioc": 43018, + "iom": 33000, + "iom": 31135, + "ion": 14871, + "ion": 3668, + "ions": 26289, + "ior": 7354, + "ior": 2498, + "iority": 46016, + "iors": 6427, + "ios": 6614, + "iot": 32694, + "iot": 6627, + "iota": 37294, + "ious": 6994, + "iously": 38233, + "iow": 7439, + "iowa": 38847, + "iowa": 8290, + "ip": 1719, + "ip": 8600, + "ipa": 11199, + "ipad": 39067, + "ipad": 7491, + "ipads": 35281, + "ipc": 41981, + "iphone": 26030, + "iphone": 4314, + "iphones": 37561, + "ipl": 13440, + "ipment": 37824, + "ipo": 40218, + "ipo": 24090, + "ipod": 17889, + "ipp": 31706, + "ips": 26910, + "ipsw": 22221, + "ipswich": 24494, + "iq": 15554, + "iq": 19996, + "iqbal": 33553, + "ir": 582, + "ir": 742, + "ira": 4923, + "ira": 5371, + "irah": 35724, + "iran": 19273, + "iran": 5075, + "irandeal": 46533, + "irani": 37984, + "iranian": 14158, + "iraq": 8543, + "iraqi": 18617, + "irc": 41527, + "ird": 2770, + "ire": 3013, + "ire": 1454, + "ired": 32728, + "ired": 2995, + "ireland": 32806, + "ireland": 4157, + "irene": 21600, + "ires": 12435, + "irez": 21581, + "irgc": 47942, + "iri": 2155, + "iri": 13880, + "irical": 33366, + "irie": 42979, + "irina": 46664, + "iring": 10169, + "iris": 16437, + "irish": 9386, + "irish": 4889, + "irl": 34494, + "irl": 8570, + "irling": 26493, + "irls": 24344, + "irma": 22406, + "irn": 42603, + "iro": 23209, + "iro": 7280, + "iron": 7699, + "iron": 5391, + "ironic": 24518, + "ironically": 36779, + "ironing": 46655, + "ironman": 20330, + "irons": 30032, + "irony": 20681, + "irport": 27769, + "irr": 24641, + "irrational": 47413, + "irregular": 38692, + "irrelevant": 34677, + "irresi": 31200, + "irresistible": 35252, + "irresponsible": 44714, + "irri": 21484, + "irrigation": 23761, + "irrit": 24218, + "irs": 6086, + "irst": 32701, + "iru": 48206, + "irvin": 47053, + "irvine": 24201, + "irving": 19738, + "irwin": 23750, + "iry": 7239, + "is": 595, + "is": 533, + "isa": 11034, + "isa": 6536, + "isaac": 37544, + "isaac": 13659, + "isab": 13357, + "isabel": 27466, + "isabella": 26192, + "isabelle": 31072, + "isable": 46631, + "isai": 15365, + "isaiah": 17952, + "isak": 40619, + "isance": 46893, + "isation": 7194, + "isback": 43811, + "isc": 39316, + "isch": 47888, + "isco": 5736, + "iscoming": 26458, + "isd": 46816, + "isd": 12002, + "ise": 7669, + "ise": 1479, + "ised": 2861, + "iselle": 48491, + "iser": 23080, + "iser": 5626, + "isers": 34879, + "ises": 5153, + "isf": 44036, + "isgreat": 34595, + "ish": 6844, + "ish": 1061, + "isha": 28050, + "ishable": 37949, + "ished": 35341, + "ishere": 46053, + "ishi": 26224, + "ishq": 27996, + "ishqba": 32503, + "ishqbaaaz": 36591, + "isi": 7233, + "isi": 17880, + "isil": 34636, + "isin": 37676, + "ising": 3426, + "isis": 7531, + "isk": 30171, + "isl": 31368, + "isla": 22807, + "islam": 6003, + "islam": 8770, + "islamabad": 19959, + "islamic": 31627, + "islamic": 9552, + "islamist": 38798, + "islamophobia": 43459, + "island": 13408, + "island": 2619, + "islander": 45651, + "islanders": 27804, + "islands": 7145, + "islay": 49279, + "isle": 19082, + "isle": 11849, + "isleof": 24718, + "isles": 21816, + "islife": 26433, + "islington": 34945, + "ism": 47730, + "ism": 1935, + "isma": 43937, + "ismail": 36140, + "isme": 43570, + "ismo": 41926, + "isms": 18700, + "isn": 2923, + "isner": 48246, + "isnow": 43694, + "isnt": 19416, + "iso": 2462, + "iso": 12263, + "isol": 11414, + "isolated": 19044, + "isolation": 26400, + "ison": 12949, + "ison": 4553, + "isons": 33318, + "isoo": 35857, + "isp": 31397, + "isp": 39041, + "isra": 3591, + "israel": 20837, + "israel": 4779, + "israeli": 8994, + "israelis": 45713, + "isreal": 47147, + "isro": 44841, + "iss": 11738, + "iss": 4950, + "issa": 38579, + "issa": 7560, + "issan": 49358, + "issance": 40828, + "issant": 38828, + "isse": 18986, + "ission": 37946, + "issu": 2049, + "issue": 3202, + "issued": 9246, + "issues": 4082, + "issuing": 37226, + "ist": 9751, + "ist": 2304, + "istanbul": 12258, + "istandwith": 33820, + "iste": 32563, + "ister": 14555, + "isthe": 46748, + "istic": 29556, + "ists": 8426, + "isu": 17030, + "isu": 23328, + "it": 529, + "it": 585, + "ita": 36920, + "ita": 2864, + "itable": 8915, + "ital": 2306, + "ital": 1660, + "itali": 11644, + "italia": 11025, + "italian": 20264, + "italian": 5175, + "italians": 44744, + "italk": 32894, + "italy": 4052, + "itan": 18383, + "itans": 40711, + "itar": 47161, + "itarian": 11599, + "itary": 17604, + "itas": 31634, + "itas": 13436, + "itate": 42457, + "itated": 36744, + "itation": 5070, + "itative": 22892, + "itc": 36449, + "itch": 2387, + "itch": 8147, + "itchen": 32664, + "itchy": 41980, + "ite": 2732, + "ite": 802, + "iteam": 37828, + "itec": 3099, + "itec": 43936, + "itech": 44215, + "itech": 23040, + "ited": 8603, + "ited": 1108, + "itel": 44638, + "itely": 4605, + "item": 8532, + "items": 6207, + "iter": 7938, + "iter": 19773, + "iteracy": 39634, + "iterate": 43106, + "iteration": 38790, + "ites": 2454, + "itez": 42131, + "itf": 35436, + "itfc": 36519, + "ith": 6133, + "ith": 1757, + "ithaca": 46257, + "iti": 760, + "iti": 6165, + "itia": 22634, + "itian": 23365, + "itic": 11950, + "itical": 48767, + "itics": 33967, + "ities": 41423, + "ities": 1480, + "itim": 15676, + "itiner": 32803, + "itinerary": 41564, + "iting": 1257, + "ition": 25263, + "ition": 1104, + "itions": 5540, + "itious": 13329, + "itis": 33539, + "itis": 8388, + "itive": 3067, + "itly": 42240, + "ito": 22167, + "ito": 4661, + "iton": 21119, + "itor": 47267, + "itor": 4584, + "itors": 22005, + "itos": 24560, + "its": 7140, + "its": 902, + "itsa": 45032, + "itself": 7290, + "itsme": 41125, + "itss": 47040, + "itt": 1031, + "itt": 11228, + "itta": 21233, + "itte": 31962, + "itted": 24429, + "itten": 30014, + "itten": 4343, + "itter": 11456, + "itters": 13082, + "itti": 28629, + "ittin": 25646, + "itting": 3147, + "ittle": 24208, + "ittle": 21366, + "ittles": 38989, + "itton": 25707, + "itty": 35096, + "itu": 1668, + "itu": 32128, + "itude": 43382, + "itude": 5012, + "itudes": 20459, + "itunes": 7007, + "itup": 35838, + "iture": 25547, + "itus": 24364, + "itutes": 32883, + "itv": 20159, + "itv": 12805, + "ity": 2480, + "ity": 696, + "itya": 32055, + "itz": 14544, + "itz": 7807, + "iu": 14292, + "iu": 15575, + "ium": 10762, + "ius": 6740, + "iv": 6775, + "iv": 9315, + "iva": 42463, + "ivan": 15544, + "ivan": 15689, + "ivanka": 37914, + "ive": 26885, + "ive": 8653, + "ived": 15654, + "iver": 36849, + "iver": 44254, + "ives": 27333, + "ivf": 39159, + "iving": 45136, + "ivory": 16776, + "ivote": 45835, + "ivy": 36939, + "ivy": 16045, + "iw": 13058, + "iw": 46604, + "iwant": 42747, + "iwd": 16815, + "iwm": 44237, + "ix": 13272, + "ix": 8756, + "iy": 13704, + "iya": 18595, + "iyaki": 48395, + "iz": 2845, + "iz": 8407, + "iza": 37704, + "ization": 10847, + "ize": 10885, + "ized": 7690, + "izen": 34776, + "izer": 23895, + "izes": 45434, + "izing": 17354, + "izo": 46910, + "izz": 31779, + "izz": 46128, + "izzy": 28861, + "j": 73, + "j": 329, + "ja": 1586, + "ja": 2641, + "jaan": 25052, + "jab": 8059, + "jab": 9439, + "jac": 2293, + "jac": 30198, + "jace": 43286, + "jack": 2679, + "jack": 3267, + "jacked": 27923, + "jacket": 6164, + "jackets": 14745, + "jacki": 47418, + "jackie": 28023, + "jackie": 11716, + "jacking": 40929, + "jackman": 35723, + "jackpot": 23926, + "jacks": 19649, + "jackson": 12321, + "jackson": 4363, + "jacksonville": 19263, + "jaco": 6840, + "jacob": 14385, + "jacob": 9222, + "jacobs": 17482, + "jacobson": 46826, + "jacqu": 14495, + "jacqueline": 22843, + "jacques": 17799, + "jad": 12976, + "jad": 38691, + "jada": 37416, + "jade": 25123, + "jade": 14513, + "jaden": 37174, + "jadine": 37445, + "jae": 16869, + "jae": 15765, + "jaejoong": 43610, + "jaf": 19362, + "jag": 7984, + "jag": 36236, + "jagan": 48530, + "jagger": 30835, + "jags": 31086, + "jagu": 10096, + "jaguar": 44777, + "jaguar": 14757, + "jaguars": 21854, + "jah": 20067, + "jah": 11084, + "jahan": 44404, + "jahan": 47827, + "jai": 10542, + "jai": 13819, + "jail": 18574, + "jail": 9332, + "jailbreak": 45990, + "jailed": 19456, + "jails": 47833, + "jaime": 24716, + "jain": 21999, + "jaipur": 23593, + "jais": 48607, + "jait": 28910, + "jaitley": 32776, + "jak": 9225, + "jak": 30589, + "jakarta": 15471, + "jake": 13140, + "jake": 7419, + "jakob": 47358, + "jal": 8380, + "jal": 26773, + "jalan": 27270, + "jalap": 49081, + "jalape": 34263, + "jalapeño": 43017, + "jalen": 33548, + "jam": 1434, + "jam": 5201, + "jama": 8977, + "jama": 35366, + "jamaica": 13019, + "jamaican": 25144, + "jamal": 26108, + "jambo": 35599, + "jamboree": 38506, + "jame": 12341, + "james": 6963, + "james": 2392, + "jamesbond": 44704, + "jamesc": 47004, + "jameson": 31731, + "jami": 15092, + "jamie": 16454, + "jamie": 8078, + "jamiedor": 34310, + "jamiedornan": 34896, + "jammed": 35590, + "jammin": 35223, + "jamming": 25862, + "jammu": 25926, + "jams": 20243, + "jan": 1891, + "jan": 3334, + "jana": 18182, + "jane": 12389, + "jane": 6736, + "janeiro": 31740, + "janet": 29665, + "janet": 15872, + "jang": 41526, + "jang": 22074, + "jani": 22606, + "janice": 36048, + "janine": 46896, + "janis": 44233, + "jann": 35377, + "jans": 22578, + "jansen": 45354, + "janu": 3623, + "january": 3697, + "jap": 2299, + "jap": 49062, + "japan": 4502, + "japan": 3400, + "japanese": 27211, + "japanese": 4925, + "japs": 42121, + "jar": 5120, + "jar": 10837, + "jard": 25778, + "jardin": 37371, + "jare": 17654, + "jared": 35597, + "jared": 12571, + "jaredle": 36739, + "jaredleto": 37106, + "jaro": 35505, + "jarpad": 44497, + "jarre": 23385, + "jarrett": 30531, + "jars": 27583, + "jarvis": 29286, + "jas": 4492, + "jas": 17559, + "jasmin": 42989, + "jasmin": 47700, + "jasmine": 17056, + "jason": 10009, + "jason": 5395, + "jasper": 19827, + "jat": 26106, + "jau": 26932, + "jauregui": 48175, + "jav": 6234, + "java": 12918, + "javascri": 16289, + "javascript": 16423, + "jave": 46218, + "javed": 42268, + "javelin": 41701, + "javi": 47627, + "javier": 23307, + "jaw": 14804, + "jaw": 17307, + "jawa": 44790, + "jaws": 25491, + "jax": 22348, + "jax": 12390, + "jay": 3427, + "jay": 4155, + "jaya": 21960, + "jayanti": 37732, + "jaye": 45703, + "jayne": 35228, + "jays": 12393, + "jaz": 3465, + "jaz": 32874, + "jazeera": 38260, + "jazz": 11488, + "jazz": 4528, + "jazzfest": 36683, + "jazzy": 28191, + "jb": 21915, + "jb": 13637, + "jc": 14991, + "jc": 11517, + "jd": 18289, + "jd": 14125, + "jdm": 42013, + "je": 1013, + "je": 8776, + "jeal": 9964, + "jealous": 11093, + "jealousy": 37654, + "jean": 13943, + "jean": 6473, + "jeanette": 48167, + "jeanne": 29201, + "jeans": 10157, + "jeb": 35101, + "jec": 1347, + "ject": 6070, + "jed": 12166, + "jed": 38748, + "jeddah": 40982, + "jedi": 16681, + "jee": 29250, + "jee": 14870, + "jeep": 16593, + "jeep": 11286, + "jeeplife": 43100, + "jeet": 45542, + "jeet": 30944, + "jef": 10276, + "jeff": 6245, + "jeff": 5550, + "jefferson": 44711, + "jefferson": 13976, + "jeffery": 41470, + "jeffree": 45994, + "jeffrey": 32886, + "jeffrey": 16027, + "jeho": 42437, + "jeky": 43893, + "jekyll": 49405, + "jel": 9794, + "jelena": 48218, + "jelly": 19110, + "jelly": 13762, + "jellyfish": 30988, + "jem": 46326, + "jem": 37530, + "jen": 2554, + "jen": 12997, + "jenkins": 16162, + "jenn": 33921, + "jenn": 29869, + "jenna": 17125, + "jenner": 14260, + "jenni": 6774, + "jennie": 28875, + "jennifer": 19786, + "jennifer": 8613, + "jennings": 21564, + "jenny": 20165, + "jenny": 13414, + "jens": 40806, + "jensen": 35558, + "jensen": 19004, + "jensenackles": 41011, + "jeon": 45200, + "jeon": 43337, + "jeong": 47146, + "jeong": 39264, + "jeopar": 22988, + "jeopardy": 29613, + "jer": 2310, + "jer": 35307, + "jere": 5614, + "jeremi": 22362, + "jeremiah": 27301, + "jeremy": 14656, + "jeremy": 8127, + "jeremycorbyn": 37484, + "jeric": 25084, + "jericho": 28892, + "jerk": 23917, + "jerky": 40079, + "jermaine": 40722, + "jerome": 19876, + "jerry": 18163, + "jerry": 9164, + "jersey": 21921, + "jersey": 4471, + "jerseys": 15518, + "jerus": 12257, + "jerusalem": 12557, + "jes": 7686, + "jes": 35826, + "jess": 5313, + "jess": 13758, + "jesse": 23112, + "jesse": 11770, + "jessi": 24373, + "jessic": 14881, + "jessica": 45421, + "jessica": 8178, + "jessie": 19424, + "jester": 44225, + "jesu": 19777, + "jesuit": 33234, + "jesus": 4070, + "jet": 11515, + "jet": 6565, + "jetblue": 45021, + "jeter": 38450, + "jets": 38584, + "jets": 10025, + "jett": 44541, + "jetty": 46382, + "jew": 27450, + "jewel": 4880, + "jewel": 17591, + "jewell": 9777, + "jewellers": 46265, + "jewellery": 11192, + "jewelry": 28018, + "jewelry": 6039, + "jewels": 20205, + "jewish": 29594, + "jewish": 9104, + "jews": 14200, + "jf": 31130, + "jf": 33718, + "jfc": 43652, + "jfk": 18486, + "jg": 41986, + "jg": 35138, + "jh": 24858, + "jh": 21485, + "jha": 47012, + "jha": 38092, + "jhal": 45695, + "jhar": 31546, + "jharkhand": 39001, + "jhb": 34631, + "ji": 3252, + "ji": 2697, + "jia": 32907, + "jian": 33427, + "jiang": 43309, + "jiang": 25762, + "jic": 48350, + "jic": 40215, + "jid": 24403, + "jie": 40005, + "jig": 15136, + "jig": 47430, + "jigsaw": 32987, + "jiha": 23194, + "jihad": 29637, + "jihoon": 44765, + "jil": 36225, + "jill": 24136, + "jill": 15254, + "jillian": 37820, + "jim": 3190, + "jim": 4550, + "jima": 20679, + "jimcantore": 43950, + "jimenez": 35947, + "jimi": 30565, + "jimin": 16286, + "jimmie": 45679, + "jimmy": 12215, + "jimmy": 6817, + "jimmyfallon": 45265, + "jin": 7927, + "jin": 8485, + "jind": 40609, + "jing": 34933, + "jing": 28607, + "jingle": 28699, + "jinnah": 43141, + "jinping": 39308, + "jinx": 42977, + "jinyoung": 38051, + "jio": 40501, + "jis": 25988, + "jis": 23515, + "jisoo": 43070, + "jit": 11947, + "jit": 20308, + "jitsu": 24530, + "jiu": 43351, + "jiu": 44123, + "jj": 12502, + "jj": 12790, + "jk": 20189, + "jk": 9702, + "jkt": 21494, + "jl": 25027, + "jl": 22911, + "jlo": 31017, + "jm": 24044, + "jm": 18657, + "jn": 24576, + "jn": 21717, + "jnr": 37145, + "jnu": 47142, + "jo": 683, + "jo": 3804, + "joachim": 48979, + "joan": 28064, + "joan": 12710, + "joann": 35484, + "joanna": 25357, + "joanne": 43736, + "joanne": 25092, + "joao": 45666, + "joaqu": 25140, + "joaquin": 30745, + "job": 13114, + "job": 2075, + "jobs": 3735, + "jobsearch": 45459, + "joburg": 39343, + "jocel": 36879, + "jocelyn": 47259, + "jock": 34485, + "jockey": 20126, + "jodh": 48689, + "jodi": 36812, + "jodi": 26888, + "jodie": 33100, + "jody": 32959, + "joe": 9309, + "joe": 3305, + "joel": 19819, + "joel": 11429, + "joes": 34756, + "joey": 16281, + "joey": 10455, + "jog": 37967, + "jog": 31691, + "jogging": 37922, + "joh": 1201, + "johan": 17416, + "johan": 27789, + "johann": 31180, + "johanna": 41494, + "johannes": 37779, + "johannesburg": 28377, + "johansson": 41512, + "johar": 34871, + "john": 2004, + "john": 1742, + "johncena": 46820, + "johnnie": 47947, + "johnny": 14464, + "johnny": 6904, + "johns": 14515, + "johnson": 26036, + "johnson": 4010, + "johnston": 19791, + "johnstone": 40766, + "johor": 34750, + "join": 14737, + "join": 1384, + "joined": 4954, + "joining": 5118, + "joins": 5681, + "joint": 6640, + "jointhe": 30422, + "jointly": 37471, + "joints": 27204, + "jojo": 41484, + "jojo": 22075, + "joke": 7198, + "joker": 18200, + "jokers": 44101, + "jokes": 11336, + "joking": 26112, + "joko": 44975, + "jol": 9174, + "jol": 36470, + "jolie": 31633, + "jolla": 46109, + "jolly": 21516, + "jom": 32152, + "jon": 3026, + "jon": 6139, + "jona": 6629, + "jonah": 47934, + "jonah": 27556, + "jonas": 42373, + "jonas": 13650, + "jonathan": 19026, + "jonathan": 7762, + "jone": 33934, + "jones": 19091, + "jones": 3538, + "jong": 20214, + "jong": 14726, + "jonghyun": 29023, + "jongin": 36957, + "joni": 43177, + "jonny": 28454, + "jonny": 21895, + "joo": 25807, + "joo": 27680, + "joom": 47543, + "joon": 18547, + "joong": 26544, + "jop": 30486, + "joplin": 42688, + "jor": 2482, + "jor": 31595, + "jordan": 14644, + "jordan": 4388, + "jordani": 46898, + "jordi": 44795, + "jorge": 48761, + "jorge": 18225, + "jos": 20560, + "jos": 19661, + "jose": 4647, + "jose": 7075, + "josef": 36584, + "josel": 47800, + "joseph": 14163, + "joseph": 6478, + "josephine": 34866, + "josh": 9998, + "josh": 5679, + "joshi": 24786, + "joshu": 9112, + "joshua": 11852, + "josi": 33583, + "josie": 33167, + "joss": 42834, + "josé": 27922, + "jou": 19921, + "jou": 32029, + "jour": 2078, + "jour": 17142, + "journ": 4563, + "journal": 6626, + "journalism": 10123, + "journalist": 9914, + "journalists": 12249, + "journals": 24391, + "journe": 48833, + "journey": 32156, + "journey": 3749, + "journeys": 23329, + "journo": 37034, + "journos": 46437, + "jovi": 33866, + "joy": 6308, + "joy": 4273, + "joyce": 43753, + "joyce": 15275, + "joye": 34052, + "joyeux": 41876, + "joyful": 24139, + "joyous": 32245, + "joyride": 46949, + "joys": 22996, + "jp": 18249, + "jp": 10557, + "jpg": 36950, + "jpn": 36212, + "jr": 13973, + "jr": 3605, + "js": 46243, + "js": 8006, + "jst": 26523, + "jt": 39480, + "jt": 18119, + "ju": 669, + "ju": 9970, + "jual": 38720, + "juan": 17148, + "juan": 9274, + "juana": 9081, + "jubi": 15485, + "jubil": 47743, + "jubilee": 16907, + "juco": 31570, + "jud": 8363, + "juda": 32478, + "judah": 41066, + "judaism": 42217, + "judas": 39532, + "judd": 29770, + "judg": 20012, + "judge": 16824, + "judge": 5656, + "judged": 33453, + "judgement": 25246, + "judges": 12575, + "judging": 16570, + "judgment": 24191, + "judi": 42546, + "judice": 28032, + "judicial": 19579, + "judiciary": 24545, + "judith": 24047, + "judo": 27011, + "judy": 34663, + "judy": 16510, + "jug": 27619, + "jugg": 38628, + "juic": 38761, + "juice": 37954, + "juice": 6916, + "juices": 36757, + "juicy": 17623, + "juju": 43020, + "juke": 32519, + "jukebox": 36411, + "jul": 34662, + "jul": 15975, + "jule": 40819, + "jules": 21996, + "juli": 3614, + "juli": 49160, + "julia": 10207, + "julian": 25459, + "julian": 12643, + "juliana": 46059, + "julie": 22534, + "julie": 10505, + "julien": 32595, + "juliet": 20641, + "juliette": 44804, + "julio": 24888, + "julius": 20870, + "july": 2272, + "jum": 20791, + "jumbo": 24678, + "jume": 45989, + "jump": 5519, + "jump": 6423, + "jumped": 16901, + "jumper": 16558, + "jumpers": 36485, + "jumping": 11476, + "jumpman": 48803, + "jumps": 18911, + "jumpsuit": 31044, + "jun": 1637, + "jun": 7719, + "junction": 11320, + "june": 23188, + "june": 2345, + "jung": 13086, + "jung": 13031, + "jungkook": 20040, + "jungle": 42421, + "jungle": 10865, + "juni": 4029, + "junior": 21167, + "junior": 5027, + "juniors": 16811, + "juniper": 33829, + "junk": 16000, + "junkie": 27613, + "junkies": 41207, + "juno": 28845, + "junto": 34282, + "jupit": 15270, + "jupiter": 16212, + "jur": 15896, + "jura": 14715, + "jurassic": 28844, + "jurassic": 21255, + "jurgen": 39263, + "juris": 37010, + "jurisdic": 37714, + "jury": 12931, + "jus": 14999, + "just": 1770, + "just": 761, + "justi": 14700, + "justic": 30399, + "justice": 16904, + "justice": 3604, + "justicefor": 25812, + "justiceleague": 41929, + "justices": 44356, + "justified": 34546, + "justify": 28192, + "justin": 7537, + "justin": 4394, + "justinbieber": 12501, + "justine": 34418, + "justintrudeau": 32184, + "justsaying": 42922, + "juve": 47717, + "juve": 23092, + "juven": 12944, + "juvenile": 19333, + "juvent": 13908, + "juventus": 47378, + "juventus": 16208, + "jux": 33552, + "juxta": 34964, + "jv": 37932, + "jv": 11805, + "jw": 30221, + "jw": 24215, + "jy": 20979, + "jyo": 27378, + "jyoti": 48696, + "jä": 45381, + "k": 74, + "k": 330, + "ka": 1595, + "ka": 1525, + "kaa": 34496, + "kab": 6554, + "kab": 45134, + "kabaddi": 41749, + "kabir": 38619, + "kabo": 47974, + "kabul": 26160, + "kac": 21693, + "kach": 14341, + "kad": 10901, + "kade": 41130, + "kaduna": 38053, + "kae": 22542, + "kaeper": 30070, + "kaepernick": 30713, + "kaf": 19870, + "kag": 13666, + "kag": 31003, + "kah": 16068, + "kah": 15463, + "kahn": 35397, + "kai": 12752, + "kai": 9601, + "kaido": 40255, + "kail": 23623, + "kaine": 39028, + "kair": 33027, + "kaiser": 43685, + "kaiser": 29960, + "kait": 19326, + "kaitlyn": 34948, + "kaj": 44788, + "kaj": 40381, + "kak": 10401, + "kak": 40128, + "kaka": 47689, + "kaku": 30900, + "kal": 4187, + "kal": 18712, + "kala": 45453, + "kala": 33105, + "kalam": 40142, + "kalamaz": 42328, + "kalamazoo": 46264, + "kalb": 34483, + "kale": 17162, + "kale": 16625, + "kaleido": 41144, + "kali": 17844, + "kali": 26964, + "kalin": 42776, + "kalyan": 23825, + "kam": 4104, + "kam": 26011, + "kamal": 31371, + "kamal": 28619, + "kamala": 45003, + "kame": 45235, + "kamen": 40738, + "kami": 28707, + "kamloops": 36602, + "kamp": 35179, + "kamp": 29522, + "kampala": 37134, + "kan": 2532, + "kan": 8101, + "kana": 35178, + "kand": 17478, + "kane": 32218, + "kane": 9765, + "kang": 12226, + "kang": 20789, + "kangar": 20622, + "kangaroo": 25513, + "kani": 40907, + "kani": 41948, + "kann": 18533, + "kannada": 30053, + "kano": 28201, + "kans": 34012, + "kansas": 25507, + "kansas": 6539, + "kansascity": 46134, + "kant": 39923, + "kant": 47132, + "kanth": 24427, + "kanu": 44565, + "kany": 13590, + "kanye": 29680, + "kanye": 14965, + "kanyewest": 31943, + "kap": 6804, + "kap": 45279, + "kapam": 48561, + "kapil": 32337, + "kapil": 42709, + "kapilshar": 48978, + "kaplan": 37401, + "kapoor": 9117, + "kapp": 36717, + "kappa": 20239, + "kapur": 42371, + "kar": 1813, + "kar": 5933, + "kara": 12552, + "karab": 40916, + "karachi": 13671, + "karak": 40372, + "karan": 20077, + "karan": 20931, + "karanjohar": 47621, + "karao": 16262, + "karaoke": 16640, + "karate": 21211, + "kardashi": 13619, + "kardashian": 14578, + "kare": 14310, + "kare": 38354, + "kareem": 38885, + "kareena": 41569, + "karen": 17719, + "karen": 10349, + "kari": 15339, + "kari": 15161, + "karim": 33477, + "karin": 43917, + "karina": 40250, + "karl": 20967, + "karl": 13134, + "karla": 42309, + "karma": 17658, + "karnat": 13994, + "karnataka": 15515, + "karo": 45305, + "kart": 47841, + "kart": 21310, + "karthik": 41397, + "karti": 23053, + "kartikeyan": 32584, + "karting": 41655, + "kas": 6119, + "kas": 14372, + "kasa": 46111, + "kash": 6954, + "kash": 21371, + "kashi": 47945, + "kashmir": 20251, + "kashmir": 10783, + "kashmiri": 35331, + "kasi": 45870, + "kasi": 32819, + "kasich": 39666, + "kat": 2844, + "kat": 9341, + "kata": 14558, + "kate": 11620, + "kate": 6699, + "katelyn": 45963, + "kath": 7386, + "kath": 19745, + "katharine": 41473, + "katherine": 17687, + "kathle": 18721, + "kathleen": 21709, + "kathmandu": 34456, + "kathniel": 36159, + "kathr": 14905, + "kathryn": 33142, + "kathryn": 19999, + "kathy": 34775, + "kathy": 18795, + "kati": 6515, + "kati": 29928, + "katic": 48058, + "katie": 24117, + "katie": 9076, + "katniss": 47916, + "kato": 27573, + "katrin": 31282, + "katrina": 21397, + "katrinakaif": 45845, + "kats": 44213, + "katsu": 49296, + "katsu": 43712, + "katy": 17609, + "katy": 14435, + "katyperry": 28309, + "katz": 30790, + "kau": 9299, + "kau": 36895, + "kauai": 44050, + "kaufman": 37188, + "kaur": 30518, + "kav": 10228, + "kavan": 18576, + "kavanaugh": 20252, + "kaw": 10842, + "kaw": 42719, + "kawa": 33244, + "kawaii": 26891, + "kawasaki": 28227, + "kawhi": 41220, + "kay": 4673, + "kay": 9862, + "kaya": 22752, + "kayak": 27043, + "kayaking": 28977, + "kaye": 33003, + "kayla": 17139, + "kaylee": 47215, + "kayo": 37021, + "kaz": 8812, + "kaz": 39622, + "kazakh": 25451, + "kazakhstan": 26720, + "kazan": 47641, + "kb": 27381, + "kb": 19960, + "kbs": 27418, + "kc": 10869, + "kc": 8638, + "kca": 14347, + "kcon": 39970, + "kcr": 46181, + "kd": 21826, + "kd": 15597, + "kday": 31074, + "kdrama": 48628, + "ke": 643, + "ke": 618, + "kea": 47926, + "kean": 43288, + "keane": 28635, + "keanu": 40608, + "kear": 21562, + "kearney": 36435, + "keating": 40045, + "keaton": 29975, + "kebab": 36497, + "ked": 11730, + "ked": 1243, + "kee": 9724, + "kee": 6760, + "keef": 42323, + "keefe": 46965, + "keegan": 31122, + "keel": 48376, + "keen": 17714, + "keen": 13218, + "keenan": 36276, + "keep": 2924, + "keep": 1726, + "keeper": 7650, + "keepers": 16130, + "keepin": 41712, + "keeping": 38371, + "keeping": 4873, + "keepit": 28044, + "keeps": 6333, + "keer": 27412, + "keerth": 47500, + "keerthyofficial": 48185, + "kees": 10791, + "keg": 32785, + "keh": 41272, + "keh": 36983, + "kei": 18735, + "kei": 24835, + "keith": 18762, + "keith": 8252, + "kej": 15674, + "kejri": 16617, + "kejriwal": 17334, + "keke": 39195, + "kel": 2825, + "kel": 7553, + "kele": 41765, + "kell": 16082, + "kell": 40103, + "keller": 21407, + "kelley": 23776, + "kelli": 45852, + "kelli": 46190, + "kellie": 49224, + "kellogg": 44218, + "kelly": 13417, + "kelly": 5220, + "kelown": 31708, + "kelowna": 32963, + "kelsey": 42295, + "kelsey": 23018, + "kelvin": 32859, + "kem": 31013, + "kem": 17349, + "kemp": 18302, + "kemp": 25325, + "ken": 1838, + "ken": 1702, + "kend": 7497, + "kendal": 44836, + "kendall": 34607, + "kendall": 16238, + "kendra": 36074, + "kendrick": 41787, + "kendrick": 21953, + "kendricklamar": 47020, + "kenne": 6209, + "kennedy": 38631, + "kennedy": 9004, + "kennel": 39595, + "kenneth": 46900, + "kenneth": 17839, + "kenney": 41373, + "kenny": 20185, + "kenny": 9595, + "kens": 29765, + "kensing": 21505, + "kensington": 24988, + "kent": 13875, + "kent": 8214, + "kentu": 9045, + "kentucky": 32230, + "kentucky": 10014, + "keny": 17374, + "kenya": 6181, + "kenyan": 22624, + "kenyans": 36263, + "kenyatta": 31012, + "kenzie": 38087, + "keo": 43062, + "kept": 7737, + "ker": 2352, + "ker": 1485, + "keral": 35122, + "kerala": 11881, + "kered": 26690, + "kerel": 32232, + "keri": 43447, + "kermit": 40908, + "kern": 40150, + "kernel": 40684, + "kerr": 20491, + "kerri": 41849, + "kerry": 24795, + "kerry": 13097, + "kers": 30347, + "kers": 2880, + "kershaw": 40785, + "kerson": 42810, + "kerswednesday": 48152, + "kert": 47279, + "kes": 38398, + "kes": 1115, + "kesh": 19751, + "kesha": 36526, + "kest": 15080, + "ket": 2715, + "ket": 1236, + "ketball": 38240, + "ketch": 22590, + "ketch": 35371, + "ketchup": 26724, + "kete": 25404, + "keted": 41396, + "keting": 15951, + "keto": 27485, + "keto": 28754, + "kets": 1632, + "kett": 23124, + "kett": 10312, + "kettering": 43779, + "kettle": 41992, + "kettle": 24303, + "kev": 22758, + "kev": 29419, + "kevin": 9419, + "kevin": 4685, + "kew": 38014, + "kew": 31409, + "kex": 30251, + "key": 2891, + "key": 1458, + "keyan": 27617, + "keyboard": 13017, + "keyboards": 49237, + "keychain": 31050, + "keye": 40516, + "keye": 20635, + "keyes": 18336, + "keynes": 32462, + "keynote": 7556, + "keys": 48912, + "keys": 6355, + "keystone": 30688, + "keyword": 42284, + "keywords": 48122, + "kf": 33308, + "kf": 42119, + "kfc": 22032, + "kg": 36772, + "kg": 7817, + "kgs": 46629, + "kh": 2166, + "kh": 7452, + "kha": 7333, + "kha": 18929, + "khair": 43742, + "khaki": 41646, + "khal": 13070, + "khaled": 29343, + "khali": 11324, + "khalid": 27166, + "khalifa": 21389, + "khalil": 36229, + "kham": 24892, + "khan": 13318, + "khan": 3873, + "khand": 43384, + "khand": 31110, + "khanna": 29931, + "khar": 18340, + "khar": 28578, + "khart": 37458, + "khat": 43290, + "khe": 26360, + "kher": 43843, + "khi": 39062, + "khi": 42925, + "khil": 34101, + "khloe": 45312, + "kho": 14022, + "kho": 28774, + "khou": 30656, + "khs": 21239, + "khtar": 45593, + "khu": 14041, + "khur": 32083, + "khy": 40917, + "khz": 45604, + "ki": 848, + "ki": 2608, + "kia": 8712, + "kian": 43961, + "kian": 25708, + "kians": 44010, + "kib": 43108, + "kiba": 37207, + "kic": 24003, + "kic": 27633, + "kicchasu": 44665, + "kicchasudeep": 45560, + "kick": 4102, + "kick": 4289, + "kickass": 39299, + "kickboxing": 36041, + "kicked": 12479, + "kicker": 26338, + "kickin": 34597, + "kicking": 7802, + "kickoff": 10245, + "kicks": 6989, + "kickstart": 40780, + "kickstarter": 13228, + "kid": 3948, + "kid": 3551, + "kidd": 24082, + "kidding": 14535, + "kiddo": 36360, + "kiddos": 29205, + "kidlit": 39064, + "kidlit": 33515, + "kidlitart": 41600, + "kidman": 44931, + "kidnap": 45100, + "kidnapp": 16183, + "kidnapped": 24737, + "kidnapping": 32361, + "kidney": 37835, + "kidney": 14610, + "kids": 15561, + "kids": 1911, + "kidz": 41938, + "kie": 8544, + "kie": 3094, + "kiefer": 48026, + "kiel": 40940, + "kiel": 25509, + "kien": 28782, + "kier": 20403, + "kier": 35575, + "kieran": 29231, + "kies": 36601, + "kies": 4993, + "kiest": 29755, + "kiev": 24585, + "kiewicz": 47574, + "kigali": 40278, + "kii": 39340, + "kik": 36176, + "kiki": 23962, + "kiko": 40861, + "kil": 4912, + "kil": 39337, + "kildare": 45541, + "kili": 24386, + "kilig": 49172, + "kilimanjaro": 43470, + "kilkenny": 33805, + "kill": 6163, + "kill": 4367, + "killa": 41355, + "killarney": 48813, + "killed": 3733, + "killer": 28230, + "killer": 6613, + "killers": 17614, + "killin": 25903, + "killing": 37977, + "killing": 5923, + "killings": 24918, + "kills": 9795, + "kiln": 44150, + "kilo": 39281, + "kilom": 26285, + "kilometers": 39192, + "kilometres": 43278, + "kilt": 49319, + "kim": 4639, + "kim": 4606, + "kimber": 16796, + "kimberley": 39859, + "kimberly": 27465, + "kimchi": 41027, + "kimi": 31536, + "kimkardashian": 35400, + "kimmel": 27820, + "kimono": 40024, + "kin": 1442, + "kin": 2667, + "kina": 28518, + "kind": 7204, + "kind": 3044, + "kinda": 6612, + "kinder": 12711, + "kinder": 24159, + "kindergarten": 16749, + "kindle": 24704, + "kindle": 10746, + "kindleunlimited": 32164, + "kindly": 13952, + "kindness": 45112, + "kindness": 10614, + "kinds": 14879, + "kine": 17607, + "kineni": 49080, + "kinetic": 37699, + "king": 2365, + "king": 674, + "kingdom": 21870, + "kingdom": 7364, + "kingdomhearts": 48570, + "kingdoms": 43890, + "kingfisher": 34330, + "kingjames": 33153, + "kingly": 33642, + "kingof": 27878, + "kings": 18590, + "kings": 4232, + "kingsley": 41807, + "kingston": 40736, + "kingston": 15393, + "kini": 41644, + "kinky": 37006, + "kinney": 37233, + "kino": 39000, + "kins": 31060, + "kins": 4386, + "kinson": 12095, + "kio": 28210, + "kio": 39401, + "kiosk": 39146, + "kip": 27636, + "kip": 15986, + "kipp": 43329, + "kir": 3476, + "kir": 32949, + "kira": 33038, + "kiran": 43234, + "kiran": 36603, + "kirby": 17065, + "kiri": 34170, + "kiri": 45826, + "kirk": 10639, + "kirk": 11508, + "kirkland": 43061, + "kiro": 39749, + "kirstel": 46483, + "kirsten": 31813, + "kirsty": 37787, + "kis": 3199, + "kis": 22796, + "kish": 25662, + "kiss": 43757, + "kiss": 5946, + "kissed": 22561, + "kisses": 47876, + "kisses": 11220, + "kissing": 18637, + "kistan": 29580, + "kit": 4566, + "kit": 4274, + "kita": 29961, + "kitch": 3850, + "kitchen": 18131, + "kitchen": 4485, + "kitchener": 34428, + "kitchens": 28301, + "kite": 47777, + "kite": 19867, + "kites": 45829, + "kits": 13730, + "kitt": 10840, + "kitten": 13063, + "kittens": 17216, + "kitties": 36013, + "kitty": 25067, + "kitty": 8417, + "kiwan": 38709, + "kiwanis": 46513, + "kiwi": 22440, + "kiwis": 48108, + "kiya": 41610, + "kj": 27385, + "kj": 28238, + "kja": 41048, + "kjv": 37387, + "kk": 4390, + "kk": 10849, + "kka": 19002, + "kke": 44239, + "kker": 32399, + "kki": 44672, + "kkk": 20073, + "kkkk": 15834, + "kkkk": 47160, + "kkkkkkkk": 31042, + "kko": 43965, + "kkr": 40855, + "kl": 8498, + "kl": 14134, + "kla": 11249, + "klan": 46935, + "klar": 41374, + "klaus": 31788, + "kle": 7612, + "kle": 7432, + "klein": 33475, + "klein": 17579, + "kley": 18594, + "kli": 31640, + "klin": 44809, + "klin": 41647, + "kline": 47580, + "kling": 40270, + "klm": 38859, + "klo": 15296, + "klopp": 26446, + "kltu": 25978, + "klu": 21852, + "kly": 45090, + "km": 29954, + "km": 4590, + "kman": 33312, + "kms": 24996, + "kn": 4825, + "kn": 23693, + "knapp": 33945, + "kne": 6358, + "knee": 9897, + "knees": 19115, + "kner": 31578, + "knew": 5009, + "kni": 6312, + "knick": 33286, + "knicks": 17657, + "knife": 44176, + "knife": 8960, + "knigh": 43099, + "knight": 17949, + "knight": 7355, + "knights": 10385, + "knit": 18745, + "knit": 14313, + "knitted": 28151, + "knitting": 18863, + "knives": 20910, + "kno": 1482, + "kno": 25362, + "knob": 29736, + "knobs": 47504, + "knock": 14195, + "knock": 11583, + "knocked": 15325, + "knocking": 20380, + "knockout": 22602, + "knocks": 24296, + "knoll": 43882, + "knot": 18412, + "knots": 32428, + "know": 4179, + "know": 1038, + "knowing": 9267, + "knowledge": 27864, + "knowledge": 5510, + "knowledgeable": 43391, + "knowles": 32631, + "known": 3102, + "knows": 4309, + "knowyour": 30773, + "knox": 18630, + "knox": 21833, + "knoxville": 23232, + "knu": 14812, + "knuck": 21333, + "knuckle": 42023, + "knuckles": 40127, + "knw": 40803, + "ko": 1313, + "ko": 2448, + "koala": 36654, + "kobe": 42644, + "kobe": 14470, + "kobo": 42390, + "koch": 25331, + "kochi": 36710, + "kodak": 30425, + "kodi": 46611, + "kof": 17528, + "koff": 47303, + "kofi": 40400, + "koh": 13379, + "koh": 31216, + "kohl": 48479, + "kohli": 17549, + "koi": 28150, + "kojima": 46419, + "kok": 32045, + "kok": 11225, + "koko": 42426, + "koko": 40003, + "kol": 7142, + "kol": 31023, + "kolkata": 18011, + "kom": 6686, + "kom": 24181, + "kombat": 29670, + "kombucha": 48615, + "komo": 31820, + "kon": 5743, + "kon": 29519, + "kona": 30203, + "kong": 31784, + "kong": 6506, + "konstant": 46583, + "koo": 12225, + "koo": 40472, + "kook": 16003, + "kool": 36755, + "kool": 26444, + "kop": 16623, + "kop": 38999, + "kor": 6428, + "kor": 24175, + "kore": 3919, + "korea": 5915, + "korean": 31949, + "korean": 8034, + "kori": 42842, + "korn": 45412, + "korn": 31492, + "kors": 34535, + "kos": 47438, + "kos": 22951, + "kosh": 45233, + "kosher": 36502, + "koso": 23892, + "kosovo": 28343, + "kot": 23323, + "kot": 20701, + "kota": 21735, + "koto": 40945, + "koto": 29977, + "kou": 18502, + "kou": 39614, + "kour": 34134, + "kov": 17733, + "kov": 15156, + "kova": 26185, + "koval": 47903, + "kovic": 16886, + "kovich": 44794, + "kovsky": 33384, + "kow": 29764, + "kow": 23919, + "kowski": 17649, + "koz": 29598, + "kp": 16174, + "kp": 16894, + "kpa": 38759, + "kph": 41138, + "kpk": 42094, + "kpmg": 38243, + "kpop": 29534, + "kpop": 15859, + "kprc": 47832, + "kprs": 46253, + "kr": 7309, + "kr": 14107, + "kra": 5762, + "kraft": 28057, + "kraja": 29016, + "kraken": 48408, + "krakow": 40033, + "kram": 19075, + "kramer": 27495, + "kran": 33243, + "kranti": 47969, + "krat": 30470, + "kre": 8362, + "kreme": 43140, + "kremlin": 33979, + "kri": 3679, + "kris": 35251, + "kris": 12261, + "krish": 11487, + "krishna": 15863, + "krishnan": 46535, + "krispy": 49292, + "krist": 16490, + "kristen": 28881, + "kristen": 16644, + "kristi": 26895, + "kristin": 35408, + "kristin": 26785, + "kristina": 33180, + "krit": 36265, + "kro": 16193, + "kroger": 36344, + "kron": 25999, + "kru": 10609, + "kruger": 32948, + "krun": 43084, + "kry": 13995, + "krystal": 36554, + "ks": 10470, + "ks": 662, + "ksa": 25439, + "ksh": 36594, + "kst": 17420, + "kstate": 48590, + "ksu": 43496, + "kswx": 36180, + "kt": 17238, + "kt": 7792, + "ktm": 33989, + "ktn": 42170, + "kton": 37848, + "kts": 48577, + "ktv": 36444, + "ku": 1836, + "ku": 4827, + "kuala": 30336, + "kubball": 48995, + "kuber": 41336, + "kubernetes": 45144, + "kubrick": 37032, + "kuch": 39394, + "kud": 40818, + "kudos": 14481, + "kul": 11325, + "kul": 31514, + "kum": 18086, + "kum": 28148, + "kuma": 43139, + "kuma": 33920, + "kumar": 22329, + "kumar": 7674, + "kumb": 31391, + "kun": 6849, + "kun": 21842, + "kung": 39656, + "kung": 22347, + "kunst": 37881, + "kup": 39023, + "kups": 27240, + "kur": 4862, + "kurdi": 23504, + "kurdish": 21644, + "kurdistan": 24459, + "kurds": 20888, + "kuri": 46375, + "kuro": 28239, + "kuro": 47826, + "kurt": 31903, + "kurt": 14527, + "kus": 27618, + "kus": 27505, + "kush": 22264, + "kush": 24594, + "kushner": 36716, + "kut": 17283, + "kut": 36965, + "kuwait": 19679, + "kuya": 34815, + "kuz": 33253, + "kv": 27594, + "kv": 34249, + "kw": 10072, + "kw": 18339, + "kwa": 32784, + "kwa": 48576, + "kwame": 46681, + "kwan": 37100, + "kwan": 39447, + "kwang": 40260, + "kwe": 26050, + "kwi": 35327, + "kwon": 36369, + "kx": 28190, + "kx": 46442, + "ky": 2018, + "ky": 2383, + "kya": 29142, + "kyc": 37758, + "kyiv": 36422, + "kyle": 15847, + "kyle": 7539, + "kylie": 28282, + "kylie": 17983, + "kyliejenner": 47232, + "kylo": 47704, + "kyo": 13150, + "kyo": 6281, + "kyoto": 23223, + "kyr": 26329, + "kyrgy": 40013, + "kyrgyz": 48346, + "kyrie": 21857, + "kyu": 28296, + "kyu": 25490, + "kyuhyun": 37229, + "kyung": 41058, + "kyungsoo": 30280, + "kywx": 39940, + "kz": 48743, + "kz": 36848, + "kzn": 38264, + "kö": 32437, + "l": 75, + "l": 331, + "la": 572, + "la": 1210, + "laa": 44642, + "lab": 3537, + "lab": 4352, + "labe": 25749, + "label": 12235, + "label": 9093, + "labeled": 32720, + "labeling": 36825, + "labelled": 45188, + "labels": 17413, + "lable": 31879, + "labor": 11201, + "labor": 7878, + "laboratories": 43421, + "laboratory": 17664, + "laborday": 39324, + "labou": 32700, + "labour": 19586, + "labour": 6019, + "labourdoorstep": 37008, + "labout": 35961, + "labra": 37067, + "labrador": 25409, + "labs": 12021, + "laby": 29131, + "labyrin": 31782, + "labyrinth": 35594, + "lac": 4477, + "lac": 16189, + "lace": 30012, + "lace": 5421, + "laced": 36800, + "laces": 23281, + "lacey": 31754, + "lach": 30558, + "lack": 24915, + "lack": 8069, + "lacking": 30080, + "lacks": 34388, + "laco": 45882, + "lacrosse": 12915, + "lacy": 38645, + "lad": 15991, + "lad": 10707, + "ladak": 42312, + "ladakh": 45295, + "ladder": 16637, + "ladders": 47125, + "lade": 26447, + "laden": 28634, + "ladi": 12934, + "ladies": 28932, + "ladies": 3431, + "lads": 9803, + "lady": 7275, + "lady": 2909, + "ladybird": 43389, + "ladybug": 40038, + "ladygaga": 21232, + "laf": 47555, + "lafayette": 22683, + "lag": 30932, + "lag": 20394, + "laga": 30161, + "lage": 24369, + "lager": 36811, + "lager": 22989, + "lagh": 37237, + "laghate": 47565, + "laghateparth": 48780, + "lagi": 39786, + "lago": 42698, + "lago": 31476, + "lagoon": 22753, + "lagos": 12728, + "lagun": 18500, + "laguna": 23609, + "lah": 27315, + "lah": 4299, + "lahat": 42164, + "lahore": 16733, + "lai": 23947, + "laid": 42560, + "laid": 11160, + "lain": 46958, + "lain": 17151, + "laine": 35860, + "lair": 31981, + "lais": 34923, + "lak": 12890, + "lak": 26793, + "lake": 6441, + "lake": 2553, + "lakedistrict": 26437, + "lakel": 26133, + "lakeland": 34306, + "laker": 45717, + "lakers": 13570, + "lakes": 9265, + "lakeshore": 42595, + "lakeside": 30915, + "lakewood": 36417, + "lakh": 21487, + "lakhs": 37985, + "lakings": 34289, + "lakota": 45510, + "laksh": 24937, + "lakshmi": 39682, + "lal": 12301, + "lal": 19430, + "lala": 33661, + "lali": 21726, + "laliga": 32383, + "lam": 2022, + "lam": 5704, + "lama": 26049, + "lamar": 28678, + "lamar": 17284, + "lamb": 19863, + "lamb": 10034, + "lambda": 36687, + "lambert": 14574, + "lambeth": 43410, + "lambo": 45464, + "lamborgh": 18709, + "lamborghini": 19462, + "lambs": 30361, + "lame": 23192, + "lamin": 22337, + "laminated": 49079, + "lamo": 41461, + "lamont": 46719, + "lamp": 26700, + "lamp": 10725, + "lampard": 39989, + "lamps": 23424, + "lan": 1193, + "lan": 4872, + "lana": 15406, + "lanapar": 47437, + "lanaparrilla": 47819, + "lanc": 11872, + "lanca": 15694, + "lancashire": 20939, + "lancaster": 16446, + "lance": 26025, + "lance": 11609, + "lancer": 38195, + "lancers": 46392, + "lancia": 48698, + "lancs": 47540, + "land": 1567, + "land": 973, + "lande": 36556, + "landed": 9873, + "lander": 37247, + "lander": 9666, + "landers": 20019, + "landfall": 38465, + "landfill": 34947, + "landia": 41384, + "landing": 8292, + "landings": 46104, + "landlord": 28938, + "landlords": 35283, + "landmark": 15208, + "landmarks": 30393, + "lando": 25463, + "lando": 7065, + "landon": 32748, + "landrover": 38125, + "landry": 36137, + "lands": 40223, + "lands": 2961, + "landsc": 4384, + "landscape": 21123, + "landscape": 5727, + "landscapephotography": 28125, + "landscapes": 15344, + "landscaping": 25642, + "landslide": 31954, + "lane": 25534, + "lane": 3980, + "lanes": 10345, + "laney": 38552, + "lang": 7969, + "lang": 8578, + "lange": 32021, + "langford": 45615, + "langley": 28595, + "langu": 4095, + "language": 46103, + "language": 4781, + "languages": 13527, + "lani": 22964, + "lanka": 16221, + "lankan": 40531, + "lannister": 49056, + "lans": 43550, + "lansing": 30805, + "lant": 44504, + "lanta": 44768, + "lantern": 17185, + "lanterns": 33676, + "lantic": 32601, + "lantic": 27678, + "lants": 38425, + "lanyard": 46808, + "lao": 32475, + "lao": 29521, + "laos": 34353, + "lap": 7213, + "lap": 8639, + "lapd": 32557, + "lapel": 47961, + "lapland": 43633, + "laps": 18711, + "lapse": 33365, + "laptop": 10464, + "laptops": 32189, + "laq": 45026, + "lar": 1592, + "lar": 1652, + "lara": 19435, + "lard": 40347, + "lare": 22415, + "laredo": 48427, + "large": 40234, + "large": 3638, + "largely": 21418, + "larger": 12567, + "largest": 4960, + "largo": 44161, + "lari": 34676, + "lark": 43164, + "lark": 23536, + "larkin": 34769, + "larry": 18642, + "larry": 8242, + "lars": 8669, + "larsen": 39721, + "larson": 27973, + "larvae": 44840, + "las": 8295, + "las": 2552, + "lasag": 31210, + "lasagna": 40683, + "lasalle": 43866, + "laser": 25607, + "laser": 9885, + "lasers": 37060, + "lash": 31995, + "lash": 18480, + "lashes": 21015, + "lass": 24203, + "lass": 18263, + "lassic": 39430, + "last": 10600, + "last": 952, + "lasted": 25711, + "lasting": 13434, + "lastnight": 30159, + "lasts": 20141, + "lasvegas": 17789, + "lat": 1591, + "lat": 28437, + "lata": 47114, + "latam": 40012, + "late": 13267, + "late": 2325, + "latel": 49035, + "lately": 11824, + "latepost": 48328, + "later": 24109, + "later": 2941, + "lateral": 26646, + "latest": 46805, + "latest": 2053, + "latex": 27520, + "lati": 16357, + "latimes": 43356, + "latin": 16695, + "latin": 9888, + "latina": 27936, + "latino": 45734, + "latino": 19470, + "latinos": 40233, + "lation": 6191, + "latitude": 37392, + "lative": 15719, + "lator": 9291, + "lators": 28278, + "latt": 33561, + "latte": 17697, + "latter": 26198, + "latvia": 30034, + "lau": 1853, + "lau": 23090, + "lauderdale": 24352, + "laugh": 4969, + "laugh": 6332, + "laughed": 16746, + "laughing": 8301, + "laughs": 14322, + "laughter": 10722, + "laun": 2944, + "launch": 31168, + "launch": 2904, + "launched": 6125, + "launcher": 35782, + "launches": 7023, + "launching": 8565, + "laundering": 34079, + "laundry": 14797, + "laur": 15256, + "laura": 17091, + "laura": 7763, + "laure": 16932, + "laureate": 25675, + "laurel": 43370, + "laurel": 19942, + "lauren": 10456, + "lauren": 7634, + "laurence": 29353, + "laurent": 23226, + "laurie": 20326, + "laus": 38895, + "laus": 28111, + "lause": 22269, + "laut": 47688, + "lav": 13767, + "lav": 26919, + "lava": 16765, + "laven": 15047, + "lavender": 16033, + "laver": 28188, + "lavish": 35443, + "law": 2874, + "law": 2606, + "lawful": 33845, + "lawler": 47862, + "lawless": 39468, + "lawmaker": 37169, + "lawmakers": 21190, + "lawn": 31675, + "lawn": 11024, + "lawrence": 32221, + "lawrence": 8820, + "laws": 7306, + "lawson": 22152, + "lawsuit": 14346, + "lawsuits": 44331, + "lawyer": 10552, + "lawyers": 14232, + "lax": 17750, + "lax": 10024, + "lay": 7205, + "lay": 6360, + "laye": 25995, + "layer": 12411, + "layered": 28520, + "layers": 15900, + "laying": 12333, + "layla": 45050, + "layne": 48721, + "layo": 21738, + "layoffs": 29019, + "layout": 17314, + "lays": 19546, + "layton": 38061, + "laz": 18806, + "lazar": 33075, + "lazarus": 49126, + "laze": 41559, + "lazer": 43735, + "lazio": 33010, + "lazy": 32614, + "lazy": 10753, + "lb": 21958, + "lb": 7422, + "lbc": 37694, + "lbj": 45683, + "lbloggers": 48695, + "lbs": 8912, + "lc": 9584, + "lc": 7225, + "lcd": 21356, + "lcfc": 25339, + "lcs": 32279, + "ld": 1431, + "ld": 730, + "lder": 6945, + "lders": 43221, + "ldn": 37050, + "ldn": 2517, + "ldnont": 25827, + "ldnt": 21690, + "ldr": 37279, + "lds": 31235, + "le": 534, + "le": 579, + "lea": 2246, + "lea": 13324, + "leach": 35527, + "lead": 1328, + "lead": 2784, + "leader": 14806, + "leader": 3236, + "leaderboard": 34519, + "leaders": 3546, + "leadership": 36876, + "leadership": 3652, + "leading": 3833, + "leads": 5335, + "leaf": 9377, + "leaf": 7232, + "leaflet": 38289, + "leaflets": 39014, + "leafs": 16688, + "leafy": 42616, + "leagu": 13317, + "league": 16635, + "league": 2313, + "leagueof": 26022, + "leagueoflegends": 31737, + "leagues": 19888, + "leah": 24350, + "leah": 19308, + "leak": 42900, + "leak": 15489, + "leaked": 14353, + "leaking": 34097, + "leaks": 15657, + "leam": 39606, + "lean": 12447, + "lean": 8208, + "leaning": 24411, + "leanne": 41448, + "leans": 9357, + "leap": 29129, + "leap": 15392, + "leaps": 48080, + "lear": 1146, + "lear": 27663, + "learn": 16959, + "learn": 1768, + "learned": 6048, + "learnenglish": 49040, + "learner": 33547, + "learners": 19572, + "learning": 22632, + "learning": 2378, + "learns": 17569, + "learnt": 18959, + "leary": 36051, + "lease": 49041, + "lease": 14394, + "leased": 48352, + "leash": 36192, + "leasing": 29160, + "least": 3651, + "leather": 21417, + "leather": 5862, + "leau": 26498, + "leav": 3198, + "leave": 37512, + "leave": 3258, + "leaves": 5579, + "leaving": 5216, + "leban": 9360, + "lebanese": 23819, + "lebanon": 11695, + "leblanc": 46381, + "lebo": 44184, + "lebron": 11971, + "lebu": 47030, + "lec": 944, + "lec": 35374, + "leche": 46197, + "lect": 45392, + "lection": 18252, + "lections": 30995, + "lecture": 6617, + "lecturer": 23795, + "lectures": 21118, + "led": 8767, + "led": 912, + "ledge": 23647, + "ledge": 4815, + "ledger": 26817, + "leds": 36763, + "lee": 6224, + "lee": 2592, + "leed": 16483, + "leed": 40206, + "leeds": 38900, + "leeds": 7420, + "leek": 34585, + "leeminho": 37831, + "leen": 35311, + "leen": 15940, + "leep": 48875, + "leep": 10191, + "lees": 29324, + "lees": 34056, + "lef": 9152, + "left": 33949, + "left": 1823, + "leftist": 35143, + "lefto": 17437, + "leftover": 26414, + "leftovers": 28481, + "lefty": 33935, + "leg": 1211, + "leg": 4924, + "lega": 38674, + "legacy": 44108, + "legacy": 6447, + "legal": 17743, + "legal": 3998, + "legalization": 40584, + "legalize": 42921, + "legally": 14152, + "legate": 46009, + "lege": 8065, + "legen": 6105, + "legend": 5480, + "legend": 3539, + "legendary": 6053, + "legendof": 47915, + "legends": 6396, + "leges": 15356, + "legg": 18474, + "legg": 32511, + "legged": 25830, + "leggings": 22895, + "leggo": 43441, + "legi": 11183, + "legion": 35503, + "legion": 14525, + "legis": 7200, + "legislat": 16486, + "legislation": 14143, + "legislative": 16755, + "legislators": 31572, + "legislature": 22309, + "legit": 12563, + "legitim": 17656, + "legitimate": 24491, + "lego": 28117, + "lego": 7849, + "legos": 45359, + "legs": 7072, + "leh": 19105, + "leh": 29298, + "lehead": 28090, + "lehigh": 34527, + "lehman": 46094, + "lei": 15828, + "lei": 21830, + "leia": 32723, + "leic": 35073, + "leica": 30206, + "leice": 10026, + "leicester": 28795, + "leicester": 11510, + "leicestershire": 45358, + "leigh": 14849, + "leigh": 9292, + "leighton": 30782, + "leila": 41342, + "lein": 20026, + "lein": 28551, + "leinster": 32242, + "leip": 36401, + "leipzig": 41860, + "leis": 13133, + "leisure": 15849, + "leit": 35446, + "leith": 34141, + "lek": 26626, + "lek": 36535, + "lel": 46623, + "lele": 26075, + "lem": 10213, + "lem": 8428, + "leman": 24478, + "lemans": 26694, + "lement": 9693, + "lements": 15833, + "lemme": 23318, + "lemon": 12272, + "lemon": 7184, + "lemonade": 18884, + "lemons": 29576, + "lemore": 41147, + "len": 3687, + "len": 2159, + "lena": 22038, + "lend": 45397, + "lend": 24987, + "lender": 44734, + "lenders": 42443, + "lending": 20209, + "lene": 17628, + "leness": 36551, + "leng": 7861, + "length": 10130, + "lengths": 31858, + "lengthy": 32624, + "lenin": 41760, + "lennon": 18360, + "lennox": 45748, + "lenny": 48448, + "lenny": 30124, + "leno": 45357, + "lenovo": 25886, + "lens": 8666, + "lenses": 21264, + "lent": 20943, + "lent": 22605, + "lentil": 41511, + "lentils": 44269, + "leo": 24008, + "leo": 8312, + "leon": 6581, + "leon": 9763, + "leonard": 43849, + "leonard": 13142, + "leonardo": 20282, + "leone": 22864, + "leop": 11234, + "leopard": 15931, + "leopards": 40996, + "leopold": 45501, + "lep": 48884, + "leppard": 41656, + "lepre": 45641, + "ler": 5587, + "ler": 1803, + "lero": 15067, + "lerosis": 35455, + "leroy": 32441, + "lers": 6247, + "lery": 38184, + "les": 4339, + "les": 840, + "lesbian": 17419, + "lesbians": 43182, + "lesh": 32282, + "lesley": 25506, + "lesli": 13649, + "leslie": 16244, + "lesn": 39568, + "lesnar": 42223, + "less": 3242, + "less": 1285, + "lesser": 20369, + "lessly": 13103, + "lessness": 24847, + "lesson": 7714, + "lessons": 7199, + "lest": 24372, + "lest": 6794, + "lester": 23157, + "lester": 24023, + "lestwe": 29726, + "lestweforget": 30273, + "let": 1898, + "let": 1094, + "leta": 34319, + "lete": 34078, + "letes": 6815, + "leth": 30022, + "leth": 42462, + "lethal": 21905, + "lethbridge": 48390, + "leti": 34176, + "letics": 14504, + "letit": 46423, + "leto": 32203, + "leton": 37674, + "leton": 7462, + "lets": 10448, + "lets": 3243, + "letsgo": 16967, + "letsgo": 29789, + "letstalk": 35591, + "lett": 22428, + "lett": 9778, + "lette": 41798, + "lette": 10301, + "letter": 15567, + "letter": 4861, + "lettering": 26382, + "letterman": 38447, + "letters": 9181, + "letting": 9510, + "letto": 35449, + "lettu": 17933, + "lettuce": 18573, + "leu": 15691, + "leuke": 31031, + "leukemia": 32097, + "leum": 21571, + "leur": 45806, + "lev": 17022, + "lev": 29950, + "levan": 42543, + "leve": 36271, + "level": 21682, + "level": 2931, + "leveled": 48453, + "levels": 6295, + "leven": 44792, + "leven": 34729, + "lever": 20178, + "lever": 23094, + "leverage": 24030, + "leveraging": 37948, + "levi": 25630, + "levi": 19113, + "leviathan": 41736, + "levin": 36949, + "levine": 26594, + "levit": 22715, + "levy": 17147, + "lew": 5063, + "lew": 25329, + "lewan": 48349, + "lewd": 45241, + "lewes": 40431, + "lewi": 19589, + "lewis": 22043, + "lewis": 6020, + "lewisham": 37385, + "lewisham": 47633, + "lewishamilton": 42960, + "lewood": 37951, + "lex": 6586, + "lex": 9658, + "lexa": 48259, + "lexi": 44231, + "lexi": 24679, + "lexington": 22308, + "lexus": 20694, + "ley": 2565, + "ley": 1066, + "leye": 37061, + "leys": 45609, + "leys": 14834, + "leyton": 46573, + "lez": 26442, + "lf": 33960, + "lf": 22078, + "lfc": 37826, + "lfc": 8267, + "lfw": 28514, + "lg": 4546, + "lg": 11368, + "lga": 39348, + "lgb": 25401, + "lgbt": 11743, + "lgbt": 9592, + "lgbti": 42730, + "lgbtq": 47625, + "lgbtq": 14939, + "lgm": 39389, + "lh": 27794, + "lh": 31159, + "lhp": 45092, + "lhs": 33170, + "li": 554, + "li": 4250, + "lia": 26118, + "lia": 6964, + "liability": 29139, + "liaison": 39294, + "liam": 5258, + "liam": 7167, + "lian": 18058, + "liance": 40864, + "liar": 16334, + "liars": 23863, + "lias": 46021, + "lib": 10249, + "lib": 13345, + "libby": 36832, + "libdems": 40869, + "liber": 3425, + "liberal": 48032, + "liberal": 9985, + "liberalism": 40018, + "liberals": 15981, + "liberated": 38690, + "liberation": 19507, + "liberia": 32208, + "libertarian": 35067, + "liberties": 48623, + "liberty": 23397, + "liberty": 8480, + "libr": 2856, + "libra": 43038, + "librarian": 25148, + "librarians": 37806, + "libraries": 14277, + "library": 25713, + "library": 3519, + "libre": 49210, + "libre": 31681, + "libs": 26401, + "liby": 36390, + "libya": 16417, + "libyan": 42319, + "lic": 2508, + "lic": 3376, + "lice": 45691, + "licen": 6706, + "licence": 20550, + "license": 10337, + "licensed": 18752, + "licenses": 36414, + "licensing": 24219, + "lich": 23979, + "lich": 25875, + "lick": 29197, + "lick": 17541, + "licking": 33013, + "licks": 42117, + "lics": 44552, + "lid": 39369, + "lid": 17678, + "lidge": 45558, + "lido": 35683, + "lids": 41609, + "lie": 6570, + "lie": 2538, + "lieb": 45387, + "liebe": 37749, + "lied": 6486, + "lief": 38428, + "lien": 45716, + "lier": 3626, + "liers": 19303, + "lies": 37236, + "lies": 3205, + "liest": 14020, + "liet": 41107, + "lieu": 20401, + "lieu": 35313, + "lieutenant": 22538, + "lif": 16456, + "life": 2666, + "life": 970, + "lifeat": 27801, + "lifeboat": 37404, + "lifecycle": 49171, + "lifein": 48447, + "lifeis": 24824, + "lifeisgood": 46433, + "lifel": 15025, + "lifeline": 38438, + "lifelong": 21358, + "lifeof": 36061, + "lifesaving": 48016, + "lifespan": 49257, + "lifestyle": 46512, + "lifestyle": 7037, + "lifestyles": 48521, + "lifetime": 48737, + "lifetime": 9107, + "liff": 34404, + "liffe": 38942, + "lift": 33146, + "lift": 6779, + "lifted": 16783, + "lifter": 38555, + "lifting": 10857, + "lifts": 18291, + "lig": 19915, + "lig": 38493, + "liga": 16802, + "ligam": 31077, + "ligament": 48705, + "ligan": 27962, + "ligans": 42133, + "ligh": 7510, + "light": 3885, + "light": 1395, + "lighted": 18404, + "lighten": 32717, + "lightening": 28170, + "lighter": 14102, + "lighthouse": 13717, + "lighting": 5799, + "lightly": 26878, + "lightning": 7756, + "lightroom": 41454, + "lights": 3073, + "lightweight": 16278, + "ligu": 42920, + "ligue": 29196, + "lik": 4831, + "lik": 18495, + "like": 9175, + "like": 789, + "liked": 7112, + "likefor": 48444, + "likeli": 40666, + "likelihood": 48158, + "likely": 5256, + "liken": 36084, + "likes": 4724, + "liking": 16810, + "lil": 6012, + "lil": 4461, + "lilac": 33647, + "lili": 26686, + "lili": 48411, + "lilies": 38110, + "lillard": 47016, + "lille": 38705, + "lilli": 40920, + "lillian": 41563, + "lilly": 47825, + "lilly": 21815, + "lily": 23803, + "lily": 10647, + "lim": 2377, + "lim": 17204, + "lima": 17589, + "limb": 27061, + "limb": 32363, + "limbo": 46179, + "limbs": 34886, + "lime": 17385, + "lime": 11193, + "limel": 48658, + "limer": 16915, + "limerick": 19501, + "limestone": 27272, + "limit": 18933, + "limit": 9973, + "limitations": 32730, + "limited": 49229, + "limited": 3472, + "limiting": 35812, + "limitless": 35833, + "limits": 11966, + "limo": 33166, + "limous": 47287, + "limpopo": 47175, + "lin": 1254, + "lin": 2424, + "lina": 26110, + "lincol": 6239, + "lincoln": 16957, + "lincoln": 7454, + "lincolnshire": 29014, + "lind": 6492, + "linda": 45410, + "linda": 10760, + "linden": 44076, + "linden": 34832, + "lindo": 38467, + "lindsay": 29846, + "lindsay": 16858, + "lindsey": 29475, + "lindsey": 18128, + "line": 3674, + "line": 1148, + "linear": 19816, + "linebacker": 29848, + "lined": 11842, + "lineman": 31501, + "linen": 20032, + "liner": 11618, + "liners": 24463, + "lines": 3418, + "liness": 28633, + "lineup": 7316, + "lineups": 33589, + "ling": 4851, + "ling": 1358, + "linger": 29593, + "lingerie": 18473, + "lingering": 46494, + "lings": 11390, + "lington": 27673, + "lington": 9002, + "lingu": 34449, + "lingui": 29942, + "linguistic": 46847, + "linguistics": 48651, + "lining": 11589, + "link": 18433, + "link": 2468, + "linke": 15088, + "linked": 11059, + "linkedin": 16302, + "linkin": 40287, + "linkin": 49291, + "linking": 23296, + "links": 8113, + "linn": 37431, + "lino": 41189, + "lino": 34995, + "lins": 6567, + "linson": 15401, + "linton": 36479, + "linus": 49303, + "linux": 14061, + "lio": 19395, + "lion": 8872, + "lion": 5567, + "lionel": 19441, + "lions": 7093, + "lip": 8630, + "lip": 8546, + "lipo": 38795, + "lipp": 38074, + "lips": 8847, + "lipse": 10351, + "lipstick": 15618, + "liqu": 6310, + "lique": 32680, + "liqueur": 43612, + "liqui": 33817, + "liquid": 18366, + "liquid": 10158, + "liquidity": 42812, + "liquor": 17828, + "lis": 7297, + "lis": 12749, + "lisa": 25236, + "lisa": 7424, + "lisam": 43072, + "lisboa": 40052, + "lisbon": 17708, + "lish": 12658, + "lish": 2354, + "lished": 22620, + "lisle": 21529, + "lism": 34390, + "liss": 45489, + "liss": 35433, + "lisse": 49309, + "list": 1734, + "list": 1998, + "lista": 37812, + "listed": 6457, + "listen": 17454, + "listen": 2672, + "listened": 15347, + "listener": 34819, + "listeners": 26901, + "listening": 3656, + "listens": 25912, + "lister": 45109, + "listing": 8145, + "listings": 21987, + "liston": 48041, + "lists": 12281, + "lit": 2213, + "lit": 4350, + "lita": 30100, + "lite": 29273, + "lite": 13694, + "litecoin": 39063, + "liter": 3085, + "liter": 34904, + "literacy": 12841, + "literal": 24269, + "literally": 4719, + "literary": 13586, + "literature": 11072, + "litfest": 40369, + "lith": 37005, + "lithium": 22794, + "litho": 31088, + "lithograph": 49022, + "lithu": 21045, + "lithuania": 27068, + "liti": 24292, + "litigation": 31769, + "lito": 47381, + "litre": 25786, + "litres": 39919, + "litt": 1216, + "litt": 47583, + "litter": 45431, + "litter": 17118, + "litters": 45300, + "little": 7024, + "little": 1274, + "littlemix": 29731, + "littlest": 48969, + "litur": 36830, + "litz": 30357, + "liu": 20466, + "liv": 13895, + "liv": 19901, + "livan": 12785, + "live": 3215, + "live": 1064, + "lived": 8867, + "livel": 17973, + "liveli": 26566, + "livelihood": 46497, + "livelihoods": 47716, + "lively": 19663, + "liveme": 35396, + "livemusic": 15688, + "liven": 41057, + "liveon": 22815, + "livepd": 38742, + "livepd": 31899, + "liver": 4755, + "liver": 12639, + "liverpool": 29778, + "liverpool": 5366, + "livery": 23248, + "lives": 3247, + "livesmatter": 20348, + "livestock": 22079, + "livestream": 16844, + "livetweet": 38546, + "livin": 28061, + "living": 10965, + "living": 2815, + "livingston": 30551, + "lix": 45068, + "liz": 8632, + "liz": 12242, + "liza": 28787, + "lizard": 17221, + "lizards": 41991, + "lizasober": 44487, + "lizasoberano": 45076, + "lizz": 34430, + "lizzie": 29530, + "lizzy": 32306, + "lj": 34211, + "lj": 32273, + "lju": 44562, + "lk": 39110, + "lk": 26596, + "lka": 21881, + "ll": 1657, + "ll": 865, + "lla": 15419, + "llama": 36679, + "llan": 17281, + "llan": 38728, + "lland": 31150, + "llc": 17161, + "lle": 26550, + "lle": 29732, + "llen": 41197, + "ller": 7722, + "llers": 26426, + "lli": 47015, + "lli": 13368, + "llis": 25518, + "lll": 27177, + "llll": 34874, + "llll": 43485, + "llo": 19293, + "lloy": 10092, + "lloyd": 33339, + "lloyd": 12400, + "llp": 28042, + "lls": 40535, + "lly": 26379, + "lm": 6981, + "lm": 15282, + "lma": 4493, + "lmao": 5121, + "lmaoo": 32623, + "lmaooo": 33362, + "lmaoooo": 45232, + "lmfa": 8928, + "lmfao": 11068, + "lmfaooo": 47658, + "lmp": 43575, + "lms": 30381, + "ln": 31644, + "ln": 18654, + "lng": 22339, + "lnp": 39679, + "lo": 549, + "lo": 2982, + "loa": 39678, + "load": 4515, + "load": 2834, + "loaded": 6756, + "loader": 28492, + "loading": 9975, + "loads": 8691, + "loaf": 26467, + "loaf": 18273, + "loan": 28431, + "loan": 8176, + "loans": 14206, + "lob": 11197, + "lob": 46606, + "lobal": 34574, + "lobb": 27698, + "lobby": 12449, + "lobbying": 36047, + "lobe": 46325, + "lobes": 24148, + "lobo": 39323, + "lobos": 36586, + "lobster": 13793, + "loc": 1378, + "loc": 25826, + "local": 9202, + "local": 2029, + "localized": 49399, + "locally": 15603, + "locals": 15041, + "locate": 20490, + "located": 5677, + "location": 4372, + "locations": 9580, + "loch": 20188, + "loch": 14101, + "lock": 7201, + "lock": 4381, + "lockdown": 35636, + "locke": 29698, + "locked": 8371, + "locker": 14053, + "lockhart": 48642, + "lockheed": 36637, + "locking": 19978, + "locks": 13212, + "lockscreen": 42439, + "loco": 25555, + "locom": 22798, + "locomo": 46147, + "locomotive": 30439, + "locu": 33635, + "locust": 46237, + "lod": 45650, + "lodge": 10504, + "loe": 30113, + "loe": 25484, + "loeb": 49334, + "lof": 15011, + "loff": 31008, + "loft": 35707, + "loft": 20049, + "loftus": 46689, + "log": 3239, + "log": 7383, + "logan": 20655, + "logan": 10569, + "logans": 40752, + "logg": 43002, + "logged": 31457, + "logger": 39089, + "logging": 24444, + "logi": 3177, + "logia": 48031, + "logic": 10670, + "logical": 4791, + "logically": 24782, + "logie": 33445, + "logies": 7378, + "login": 31121, + "logist": 7407, + "logistics": 14755, + "logists": 12233, + "logne": 19911, + "logo": 31480, + "logo": 5750, + "logos": 24879, + "logs": 22745, + "logue": 27785, + "logy": 22721, + "logy": 1659, + "loh": 49129, + "loh": 37983, + "loi": 35128, + "loid": 31408, + "loin": 21760, + "loire": 46040, + "lois": 27040, + "lok": 19908, + "lok": 23575, + "loki": 24435, + "lol": 10721, + "lol": 1824, + "lola": 19065, + "lolita": 42615, + "lolla": 45483, + "lolli": 27906, + "lollipop": 34605, + "lolly": 48264, + "lolo": 16895, + "lolo": 37481, + "lolol": 25280, + "lololol": 34738, + "lolz": 35260, + "lom": 9279, + "loma": 42889, + "lombar": 25493, + "lombard": 46461, + "lombardi": 44346, + "lomond": 48941, + "lon": 1235, + "lon": 6507, + "london": 6835, + "london": 1789, + "londonmarathon": 35018, + "lone": 22220, + "lone": 13576, + "lonel": 28872, + "loneliness": 30310, + "lonely": 34509, + "lonely": 12368, + "lonelyplanet": 44984, + "long": 4792, + "long": 1538, + "longe": 25793, + "longer": 5349, + "longest": 10731, + "longevity": 35354, + "longh": 20286, + "longhorn": 41047, + "longhorns": 38295, + "longing": 38482, + "longlive": 47840, + "longs": 43618, + "longtime": 19685, + "loo": 731, + "loo": 11804, + "look": 8874, + "look": 1012, + "lookalike": 38307, + "lookbook": 39184, + "looked": 4913, + "lookin": 11254, + "looking": 36898, + "looking": 1312, + "lookout": 18330, + "looks": 1606, + "lool": 33125, + "loom": 37440, + "loom": 17199, + "looming": 35384, + "looms": 30550, + "loon": 28222, + "loona": 48137, + "looney": 45315, + "looo": 20902, + "loool": 36016, + "looool": 47038, + "looooo": 31484, + "loop": 19606, + "loop": 10408, + "loops": 21625, + "loos": 45723, + "loose": 43815, + "loose": 9786, + "loot": 21518, + "lop": 36734, + "lop": 17066, + "lopes": 49269, + "lopez": 12982, + "lor": 2179, + "lor": 11335, + "lord": 18896, + "lord": 3486, + "lorde": 35483, + "lords": 14969, + "lore": 12880, + "lore": 27218, + "loren": 13602, + "loren": 33398, + "lorenzo": 21342, + "lores": 34510, + "loretta": 40863, + "lori": 20164, + "lori": 23095, + "lorna": 46316, + "lorraine": 27602, + "lorry": 31354, + "los": 32217, + "los": 3087, + "losange": 14037, + "losangeles": 14638, + "lose": 43318, + "lose": 5354, + "loser": 18168, + "losers": 23201, + "loses": 14263, + "losing": 7918, + "loss": 34761, + "loss": 4327, + "losses": 16909, + "lost": 14258, + "lost": 2624, + "lostdog": 48482, + "lot": 5132, + "lot": 1954, + "loth": 43625, + "lothian": 31360, + "lothing": 42058, + "lotion": 25260, + "lotr": 34165, + "lots": 2958, + "lott": 42854, + "lotta": 29125, + "lotte": 16535, + "lotte": 7274, + "lottery": 16975, + "lottie": 48517, + "lotto": 28265, + "lotus": 13824, + "lou": 2207, + "lou": 9745, + "loubout": 38369, + "loud": 22884, + "loud": 7464, + "louder": 25904, + "loudest": 49214, + "loudly": 39256, + "lough": 21927, + "lough": 28045, + "loughborough": 49153, + "loui": 42173, + "louie": 25790, + "louis": 8916, + "louis": 4459, + "louisa": 40011, + "louise": 32275, + "louise": 13076, + "louisi": 12187, + "louisiana": 12946, + "louisville": 13860, + "louisvuitton": 44911, + "loun": 6466, + "lounge": 7141, + "lounging": 45430, + "lour": 29383, + "lourdes": 45071, + "louvre": 36995, + "lov": 8923, + "lov": 21229, + "lova": 37394, + "lovable": 38565, + "lovato": 18960, + "love": 2618, + "love": 793, + "lovecraft": 42405, + "loved": 3249, + "lovefl": 38884, + "loveher": 38306, + "lovehim": 45733, + "loveis": 30931, + "loveisland": 30970, + "loveislove": 43603, + "loveit": 24764, + "lovel": 8999, + "lovelies": 31412, + "lovelondon": 46493, + "lovely": 33250, + "lovely": 2165, + "lovemy": 20041, + "lovemyjob": 40130, + "loven": 33754, + "lover": 28508, + "lover": 7168, + "lovers": 48416, + "lovers": 5973, + "loves": 37773, + "loves": 3925, + "lovethe": 33040, + "lovethem": 48298, + "lovett": 47095, + "lovewins": 47687, + "loveyou": 39226, + "loveyou": 25964, + "loveyour": 26462, + "lovin": 33442, + "lovin": 16354, + "loving": 29568, + "loving": 3721, + "lovingly": 44100, + "low": 1049, + "low": 1042, + "loway": 16104, + "lowe": 17910, + "lowed": 22733, + "lowell": 24458, + "lower": 32578, + "lower": 4909, + "lowered": 34968, + "lowering": 35261, + "lowers": 36398, + "lowes": 38515, + "lowest": 12098, + "lowing": 8283, + "lowkey": 29481, + "lowry": 27444, + "lows": 4406, + "lox": 41725, + "loy": 4519, + "loy": 23929, + "loyal": 13032, + "loyalty": 14686, + "loyd": 44212, + "loyed": 29279, + "loyment": 18307, + "loyola": 32569, + "lp": 22282, + "lp": 6392, + "lpc": 44092, + "lpg": 47905, + "lpga": 34295, + "lps": 32094, + "lr": 20572, + "lr": 7041, + "lrt": 32996, + "ls": 19051, + "ls": 1268, + "lsd": 43766, + "lse": 46127, + "lse": 43886, + "lsu": 35428, + "lsu": 15672, + "lt": 13642, + "lt": 3333, + "ltc": 27664, + "ltd": 6802, + "lte": 25202, + "lton": 14237, + "lu": 664, + "lu": 9657, + "lub": 22469, + "lub": 11836, + "lubbock": 37660, + "lubric": 40963, + "luc": 7013, + "luc": 28014, + "luca": 21053, + "lucas": 23425, + "lucas": 10225, + "lucci": 45849, + "luce": 46217, + "lucent": 41552, + "lucer": 36042, + "luch": 36646, + "lucha": 38449, + "luci": 8787, + "lucia": 22290, + "luciano": 46365, + "lucid": 44540, + "lucie": 39461, + "lucifer": 46224, + "lucifer": 27687, + "lucille": 47454, + "lucin": 27523, + "luck": 9647, + "luck": 2820, + "luckiest": 42469, + "luckily": 20100, + "lucknow": 29407, + "lucky": 20495, + "lucky": 4133, + "lucrative": 41485, + "lucy": 17262, + "lucy": 10120, + "lud": 14288, + "lude": 28755, + "ludo": 40141, + "ludwig": 30633, + "lue": 45199, + "luf": 25264, + "lufc": 17818, + "luffy": 39047, + "lufthan": 37769, + "lufthansa": 39145, + "lug": 45521, + "lugg": 19673, + "luggage": 20138, + "luhan": 20975, + "luigi": 28444, + "luis": 25231, + "luis": 11339, + "luiz": 39633, + "lujah": 31639, + "luk": 21652, + "luka": 34878, + "lukaku": 37177, + "lukas": 37941, + "luke": 11970, + "luke": 5652, + "lul": 20861, + "lulla": 37019, + "lullaby": 41676, + "lulu": 32052, + "lulu": 26935, + "lum": 18112, + "lum": 5997, + "lumb": 36231, + "lumber": 27421, + "lumber": 34692, + "lumi": 41437, + "lumia": 31912, + "lumin": 15867, + "luminous": 37913, + "lump": 38704, + "lumpur": 34411, + "lun": 3221, + "lun": 49390, + "luna": 14425, + "lunar": 16043, + "lunatic": 45874, + "lunch": 10954, + "lunch": 2772, + "luncheon": 15104, + "lunches": 29705, + "lunchtime": 14330, + "lund": 30975, + "lund": 20181, + "lunes": 35648, + "lung": 38479, + "lung": 16271, + "lungs": 27366, + "lup": 27413, + "lupita": 49352, + "lupus": 36017, + "lur": 14439, + "lure": 31376, + "lures": 46747, + "lurking": 29941, + "lus": 7158, + "lusci": 38004, + "luscious": 39935, + "lush": 40382, + "lush": 16263, + "lust": 42071, + "lust": 12662, + "lustre": 46673, + "luther": 21848, + "luther": 17208, + "lutheran": 27341, + "luton": 28288, + "luv": 24726, + "luv": 8502, + "lux": 3439, + "lux": 16704, + "luxe": 26373, + "luxemb": 21314, + "luxembour": 22712, + "luxembourg": 23949, + "luxu": 16112, + "luxurious": 17292, + "luxury": 12083, + "luxury": 5247, + "luxurytravel": 29010, + "luz": 41008, + "lv": 10862, + "lv": 11184, + "lvl": 31256, + "lw": 40515, + "lw": 35115, + "lx": 30789, + "ly": 1251, + "ly": 597, + "lydia": 24316, + "lyf": 43688, + "lyfe": 30787, + "lyft": 32944, + "lying": 7175, + "lyk": 46376, + "lyle": 36828, + "lym": 20087, + "lyme": 31167, + "lymph": 30073, + "lymphoma": 37648, + "lyn": 3957, + "lyn": 5054, + "lynch": 31586, + "lynch": 13560, + "lynd": 33416, + "lynda": 42959, + "lyndon": 48518, + "lynn": 25303, + "lynn": 10667, + "lynne": 26900, + "lynx": 28941, + "lyon": 17176, + "lyons": 29453, + "lyric": 24366, + "lyric": 21291, + "lyrical": 33358, + "lyricist": 49013, + "lyrics": 9551, + "lyrix": 46814, + "lys": 45054, + "lyte": 40059, + "lywood": 4012, + "lz": 30818, + "lé": 39641, + "m": 76, + "m": 332, + "ma": 577, + "ma": 1226, + "maa": 42774, + "maa": 21555, + "maan": 33668, + "maar": 48927, + "maas": 43332, + "mab": 35639, + "mabel": 47319, + "mable": 23001, + "mably": 40082, + "mabu": 44682, + "mac": 1961, + "mac": 4945, + "macar": 21558, + "macaroni": 41824, + "macarthur": 36785, + "macau": 43984, + "macau": 33370, + "macbeth": 36321, + "macbook": 20617, + "macdonald": 20315, + "mace": 44869, + "maced": 21102, + "macedonia": 27071, + "macfar": 45374, + "macfarlane": 48825, + "mach": 2637, + "mach": 35091, + "machado": 42318, + "mache": 43220, + "macher": 29330, + "machi": 41783, + "machin": 17972, + "machine": 11539, + "machine": 4169, + "machinelearning": 13621, + "machinery": 21858, + "machines": 11108, + "machining": 45562, + "macho": 43977, + "macht": 45225, + "macin": 36533, + "mack": 8590, + "mack": 12145, + "mackay": 32497, + "macken": 48057, + "mackenzie": 22351, + "mackerel": 35002, + "mackin": 26010, + "macklemore": 41758, + "macle": 33843, + "maclean": 47137, + "macleod": 43684, + "macmillan": 36364, + "macmillan": 35191, + "macon": 35818, + "macos": 45469, + "macqu": 38365, + "macquarie": 40858, + "macro": 20891, + "macro": 16626, + "macron": 24859, + "macs": 46548, + "macy": 17113, + "macys": 47652, + "mad": 2740, + "mad": 3843, + "mada": 37799, + "madagas": 24758, + "madagascar": 25744, + "madam": 33634, + "madam": 27538, + "madame": 23507, + "madd": 31717, + "madden": 19093, + "maddie": 39959, + "maddie": 18875, + "maddow": 32644, + "maddy": 31734, + "made": 5388, + "made": 1105, + "madein": 13670, + "madeira": 33810, + "madel": 34532, + "madele": 29831, + "madeleine": 33264, + "madeline": 33905, + "madewith": 28627, + "madewithunity": 43190, + "madhu": 23000, + "madhuri": 38346, + "madhuridixit": 43889, + "madhya": 48302, + "madi": 6527, + "madi": 27282, + "madison": 24798, + "madison": 8791, + "madmen": 45452, + "madness": 8755, + "madon": 44852, + "madonna": 14137, + "madra": 27416, + "madras": 42046, + "madre": 42130, + "madri": 5529, + "madrid": 5909, + "mads": 41201, + "madu": 34913, + "madurai": 49159, + "maduro": 32912, + "mae": 16898, + "mae": 17339, + "maer": 47088, + "maestro": 24140, + "mafi": 47164, + "mafia": 14890, + "mag": 1191, + "mag": 4508, + "maga": 8694, + "magaz": 2974, + "magazine": 3113, + "magazines": 22253, + "magdal": 29673, + "mage": 46568, + "mage": 10923, + "magee": 43872, + "magenta": 38091, + "magento": 42442, + "mages": 31059, + "maggi": 29611, + "maggie": 41443, + "maggie": 14524, + "maggio": 49087, + "magh": 45555, + "magi": 19270, + "magic": 13061, + "magic": 3778, + "magical": 36408, + "magical": 7823, + "magician": 26368, + "magin": 42678, + "maging": 41310, + "magn": 10290, + "magna": 34076, + "magne": 9921, + "magnesium": 36379, + "magnet": 18240, + "magnetic": 13838, + "magnets": 33030, + "magni": 24297, + "magnific": 9725, + "magnificent": 10724, + "magnitude": 22955, + "magno": 21184, + "magnolia": 27123, + "magnu": 45198, + "magnum": 23496, + "magnus": 26275, + "magpie": 45973, + "mags": 31021, + "maguire": 26470, + "mah": 7206, + "mah": 10801, + "maha": 12237, + "maha": 33983, + "mahal": 22301, + "mahan": 45191, + "mahar": 11635, + "maharaj": 38488, + "maharashtra": 19328, + "mahat": 32434, + "mahatma": 40530, + "mahe": 15756, + "maher": 29826, + "mahesh": 33448, + "mahesh": 22095, + "mahi": 32529, + "mahi": 38659, + "mahin": 24113, + "mahindra": 31285, + "mahmoud": 41361, + "mahog": 30804, + "mahogany": 33084, + "mahon": 45864, + "mahon": 20371, + "mahone": 26634, + "mai": 7138, + "mai": 14595, + "maia": 46585, + "maid": 23148, + "maid": 10226, + "maidan": 37346, + "maiden": 37011, + "maiden": 13809, + "maids": 27305, + "maidstone": 44395, + "mail": 10478, + "mail": 2614, + "mailbox": 31482, + "mailed": 42314, + "mailing": 26680, + "mailonline": 26021, + "mails": 45213, + "main": 3904, + "main": 2623, + "maine": 18639, + "maine": 7836, + "mained": 15609, + "mainedcm": 15845, + "mainland": 27629, + "mainly": 15280, + "mains": 33656, + "mainst": 42102, + "mainstream": 18034, + "maintain": 12954, + "maintained": 26665, + "maintaining": 21964, + "maintains": 38335, + "mainten": 9399, + "maintenance": 9610, + "mais": 28153, + "maisie": 47355, + "maison": 37065, + "maison": 27626, + "mait": 26387, + "maize": 35386, + "maj": 2948, + "maj": 28723, + "maja": 47498, + "maje": 9852, + "majestic": 15335, + "majesty": 21188, + "major": 8008, + "major": 3350, + "majority": 10508, + "majors": 23597, + "mak": 11271, + "mak": 19253, + "makar": 42242, + "makati": 39402, + "make": 3232, + "make": 1078, + "makeaw": 45859, + "makeinindia": 42739, + "makeit": 26308, + "maken": 47093, + "makeover": 17926, + "maker": 15196, + "maker": 4836, + "makers": 6577, + "makerspace": 42400, + "makes": 2088, + "makeshift": 43274, + "makeu": 41707, + "makeup": 26402, + "makeup": 5853, + "makeyourown": 34090, + "makeyourownlane": 34823, + "maki": 34514, + "makin": 43096, + "makin": 22407, + "making": 17976, + "making": 1665, + "makk": 39852, + "maknae": 44118, + "mako": 49061, + "mal": 1662, + "mal": 3796, + "mala": 28290, + "malade": 36928, + "malaga": 35395, + "malala": 41137, + "malam": 48956, + "malaria": 24929, + "malawi": 23405, + "malay": 5323, + "malay": 42430, + "malayalam": 34860, + "malaysi": 39668, + "malaysia": 8146, + "malaysian": 21136, + "malbec": 47741, + "malcol": 12645, + "malcolm": 14139, + "maldives": 16795, + "male": 11326, + "male": 2801, + "males": 14426, + "malhotra": 28866, + "mali": 6701, + "mali": 22669, + "malia": 46714, + "malibu": 21723, + "malicious": 42147, + "malign": 41122, + "malik": 11394, + "mall": 10984, + "mall": 6220, + "mallorca": 28082, + "mallory": 38968, + "malls": 36447, + "malm": 44071, + "malnutrition": 41153, + "malo": 43518, + "malone": 19852, + "maloney": 45897, + "mals": 25370, + "malt": 21688, + "malta": 16989, + "maltese": 39838, + "malvern": 39356, + "malware": 24153, + "mam": 4404, + "mam": 17778, + "mama": 7133, + "mamamoo": 36012, + "mamas": 42395, + "mamba": 44189, + "mament": 45690, + "mami": 43858, + "mamma": 34893, + "mammal": 33385, + "mammals": 31987, + "mammoth": 28022, + "man": 723, + "man": 786, + "mana": 29467, + "mana": 15837, + "manafort": 40108, + "manag": 1830, + "manage": 9770, + "managed": 7928, + "management": 3319, + "manager": 3898, + "managerial": 44261, + "managers": 12853, + "manages": 29699, + "managing": 10892, + "manas": 44188, + "manatee": 46558, + "mance": 2324, + "manchester": 24424, + "manchester": 4651, + "mancini": 47681, + "mancity": 31538, + "mancrush": 36945, + "mancrushmonday": 39307, + "mand": 4325, + "mand": 27244, + "mandala": 41106, + "mandarin": 26455, + "mandate": 26228, + "mandatory": 19934, + "mandel": 34960, + "mandela": 16280, + "mandi": 38961, + "mandir": 35815, + "mando": 34006, + "mands": 12340, + "mandu": 31440, + "mandy": 41505, + "mandy": 24302, + "mane": 44471, + "mane": 16044, + "maneu": 33216, + "mang": 25616, + "mang": 31096, + "manga": 11873, + "mangal": 43027, + "manger": 48251, + "mango": 43831, + "mango": 13962, + "mangrove": 47180, + "manhatt": 10152, + "manhattan": 10961, + "mani": 5654, + "mani": 10718, + "mania": 8435, + "maniac": 31814, + "maniacs": 41444, + "manian": 40077, + "manic": 23017, + "manic": 37825, + "manicure": 33637, + "manife": 14379, + "manifest": 34422, + "manifestation": 48348, + "manifesto": 20907, + "manil": 38827, + "manila": 10969, + "manipu": 40261, + "manipul": 19237, + "manipulation": 30277, + "manipur": 47757, + "manish": 41759, + "manish": 44720, + "manit": 15693, + "manitoba": 20342, + "manjaro": 41489, + "mankind": 24155, + "manly": 25194, + "mann": 19396, + "mann": 4783, + "manne": 30160, + "manned": 26139, + "mannequin": 43388, + "manner": 20700, + "manners": 31693, + "manning": 15996, + "manny": 37054, + "manny": 20933, + "mano": 15753, + "mano": 24016, + "manoj": 41146, + "manor": 41830, + "manor": 13614, + "mans": 28422, + "mans": 7746, + "mansfield": 25543, + "manship": 15460, + "mansion": 13404, + "manslaughter": 48632, + "manson": 26715, + "mant": 25122, + "mant": 27037, + "manta": 41431, + "mantis": 39946, + "mantle": 22159, + "mantra": 25162, + "manu": 3404, + "manu": 25799, + "manual": 12268, + "manuel": 29171, + "manuel": 9567, + "manufac": 5105, + "manufacture": 27741, + "manufactured": 24010, + "manufacturer": 15668, + "manufacturers": 18763, + "manufacturing": 8386, + "manure": 47907, + "manus": 28181, + "manuscript": 24365, + "manuscripts": 40765, + "manutd": 20994, + "many": 28484, + "many": 1346, + "manziel": 40637, + "mao": 47447, + "mao": 25605, + "maori": 43400, + "map": 25180, + "map": 3923, + "maple": 21980, + "maple": 10570, + "mapleleafs": 41257, + "mapoli": 28768, + "mapp": 36894, + "mapped": 41596, + "mapping": 15231, + "maps": 8765, + "mapu": 42082, + "mar": 675, + "mar": 3091, + "mara": 15655, + "marais": 47913, + "maran": 44732, + "marath": 16274, + "marathi": 34102, + "marathon": 40764, + "marathon": 5910, + "marau": 38475, + "marbella": 36182, + "marble": 45429, + "marble": 13071, + "marbles": 42931, + "marc": 14054, + "marc": 9075, + "marca": 38242, + "marcel": 17726, + "marcel": 24652, + "marcelo": 35939, + "march": 10638, + "march": 2227, + "marche": 36173, + "marched": 37976, + "marches": 38249, + "marchfor": 31721, + "marching": 15082, + "marchmadness": 28555, + "marci": 36698, + "marcia": 41075, + "marck": 47733, + "marco": 24719, + "marco": 10924, + "marcor": 39945, + "marcorubio": 41143, + "marcos": 21696, + "marcu": 20760, + "marcus": 48955, + "marcus": 9895, + "mardi": 39728, + "mardi": 29229, + "mardigras": 43343, + "mare": 26512, + "mare": 8870, + "mares": 19724, + "marg": 44014, + "margar": 16838, + "margare": 10232, + "margaret": 12185, + "margarita": 25958, + "margaritas": 42679, + "margate": 37428, + "margin": 19464, + "margin": 21357, + "marginal": 38320, + "margins": 33763, + "margot": 37144, + "mari": 2603, + "mari": 19322, + "maria": 41109, + "maria": 6595, + "mariachi": 44299, + "mariah": 31214, + "mariah": 24789, + "mariahcarey": 36538, + "marian": 41129, + "marian": 24677, + "mariana": 44224, + "marianne": 32214, + "mariano": 43988, + "marie": 20657, + "marie": 7864, + "marietta": 46634, + "marig": 41002, + "marijuana": 9864, + "maril": 14611, + "marilyn": 38959, + "marilyn": 18489, + "marin": 8910, + "marin": 23992, + "marina": 12060, + "marinated": 33406, + "marine": 20674, + "marine": 5746, + "mariner": 39972, + "mariners": 19086, + "marines": 15018, + "marino": 30878, + "mario": 39176, + "mario": 7600, + "marion": 37765, + "marion": 18397, + "maris": 21512, + "maris": 33093, + "marisa": 42938, + "mariska": 44703, + "marissa": 31219, + "marist": 48223, + "mariti": 13124, + "maritime": 14331, + "marj": 38639, + "mark": 3805, + "mark": 2110, + "marke": 2399, + "marked": 12360, + "marker": 18170, + "markers": 23664, + "market": 11614, + "market": 2196, + "marketer": 33482, + "marketers": 23682, + "marketing": 19535, + "marketing": 2905, + "marketplace": 18241, + "markets": 7292, + "markham": 39817, + "marking": 14705, + "markings": 41046, + "markle": 32672, + "marko": 38338, + "marks": 5466, + "markus": 33725, + "marl": 24922, + "marlborough": 43515, + "marlene": 45117, + "marley": 16504, + "marlin": 34275, + "marlins": 23309, + "marlon": 32995, + "marmalade": 39068, + "marnock": 48305, + "maro": 27029, + "maroon": 20501, + "marqu": 20704, + "marque": 13012, + "marquee": 27725, + "marquette": 37624, + "marquez": 27317, + "marquis": 33530, + "marr": 32871, + "marrake": 37125, + "marrakech": 39006, + "marri": 3839, + "marriage": 38047, + "marriage": 7040, + "marriages": 38190, + "married": 6791, + "marries": 46283, + "marriott": 19211, + "marrow": 31030, + "marry": 13288, + "marrying": 40507, + "mars": 41469, + "mars": 7496, + "marsden": 43344, + "marse": 26577, + "marseille": 30365, + "marsh": 9237, + "marsh": 13505, + "marsha": 21491, + "marshal": 26608, + "marshall": 30939, + "marshall": 9811, + "marshals": 44175, + "marshes": 43450, + "marshmal": 21069, + "marshmallow": 28530, + "marshmallows": 39471, + "mart": 2348, + "mart": 7772, + "marta": 32858, + "martens": 43211, + "marth": 34493, + "martha": 16427, + "marti": 20577, + "martial": 17088, + "martialarts": 35895, + "martian": 30214, + "martin": 6929, + "martin": 3690, + "martina": 34393, + "martinez": 13913, + "marting": 47570, + "martini": 22199, + "martino": 41675, + "martins": 30569, + "marty": 9926, + "marty": 17169, + "martyn": 44075, + "martyr": 36155, + "martyr": 26067, + "martyrdom": 43110, + "martyred": 39114, + "martyrs": 24707, + "maru": 37413, + "maru": 31838, + "marvel": 13835, + "marvel": 5996, + "marvelcomics": 46897, + "marvell": 26576, + "marvellous": 28402, + "marvelous": 25487, + "marvin": 19675, + "marx": 30559, + "marx": 26001, + "marxist": 45205, + "mary": 5146, + "mary": 2676, + "maryam": 33636, + "maryam": 36393, + "maryland": 11379, + "marys": 40905, + "marys": 40228, + "mas": 5226, + "mas": 1412, + "masa": 24995, + "masa": 41868, + "masala": 31483, + "masc": 23564, + "mascar": 46984, + "mascara": 31635, + "mascot": 13983, + "mascots": 43266, + "mascul": 25589, + "masculine": 48269, + "masculinity": 40465, + "mase": 49128, + "maser": 25798, + "maserati": 30442, + "mash": 12317, + "mash": 15680, + "mashable": 41026, + "mashed": 27395, + "mashup": 27079, + "masi": 35965, + "masjid": 31420, + "mask": 19262, + "mask": 8306, + "masked": 25757, + "masking": 47046, + "masks": 19055, + "maslow": 44359, + "mason": 17424, + "mason": 9699, + "masonic": 36491, + "masonry": 30764, + "masons": 37195, + "masqu": 26593, + "masquer": 29604, + "masquerade": 36944, + "mass": 4636, + "mass": 4854, + "massach": 14484, + "massachuse": 14577, + "massachusetts": 14756, + "massacre": 14696, + "massage": 13055, + "masse": 41735, + "masses": 22978, + "massey": 29868, + "massi": 17239, + "massimo": 45821, + "massive": 4818, + "massively": 34297, + "mast": 45916, + "mast": 27920, + "master": 4534, + "master": 3498, + "mastercard": 40542, + "masterchef": 34809, + "masterclass": 17529, + "mastered": 32616, + "masterful": 46823, + "mastering": 28326, + "mastermind": 34029, + "masterpiece": 12066, + "masterpieces": 37596, + "masters": 6913, + "mastery": 34800, + "mastiff": 42311, + "maswar": 47887, + "mat": 905, + "mat": 9063, + "mata": 17270, + "match": 7733, + "match": 2439, + "matcha": 32433, + "matchday": 15947, + "matched": 17792, + "matches": 8609, + "matching": 11840, + "matchup": 19355, + "matchups": 49162, + "mate": 6137, + "mate": 2936, + "mated": 33813, + "mateo": 34991, + "mater": 23724, + "materi": 7084, + "material": 7118, + "materials": 8161, + "maternal": 26131, + "maternity": 23894, + "mates": 5817, + "math": 13277, + "math": 6025, + "mathe": 8725, + "mathemat": 11901, + "mathematical": 25609, + "mathematician": 41036, + "mathematics": 20113, + "mathew": 36333, + "mathews": 37120, + "mathi": 23014, + "mathieu": 40417, + "maths": 14763, + "mati": 12716, + "mati": 32268, + "matic": 36859, + "matic": 7900, + "matically": 38282, + "matics": 23634, + "matil": 26751, + "matilda": 36308, + "matin": 44849, + "matinee": 38525, + "mating": 34346, + "mation": 11701, + "matisse": 43446, + "mato": 13127, + "matologist": 48842, + "matology": 27940, + "matory": 25519, + "matri": 27041, + "matrix": 18078, + "mats": 22259, + "matsu": 30242, + "matt": 7972, + "matt": 3972, + "mattb": 42791, + "matte": 31237, + "matte": 19771, + "mattel": 35365, + "matteo": 33120, + "matter": 30471, + "matter": 3828, + "matters": 5708, + "matth": 41846, + "matthe": 5116, + "matthew": 17588, + "matthew": 7008, + "matthews": 16739, + "matthi": 29853, + "matthias": 45104, + "matti": 39840, + "mattress": 23438, + "matty": 31233, + "matty": 29176, + "matu": 40616, + "matur": 22897, + "mature": 14417, + "maturity": 28047, + "mau": 8134, + "mau": 23033, + "maui": 20463, + "maul": 30725, + "maur": 10574, + "maure": 25191, + "maureen": 31723, + "maurice": 20200, + "mauricio": 39066, + "mauriti": 28406, + "mauritius": 29305, + "mauro": 41691, + "mav": 25697, + "maver": 16700, + "maverick": 27425, + "mavericks": 30092, + "mavs": 30665, + "maw": 39351, + "maw": 42271, + "mawards": 37682, + "max": 4898, + "max": 3902, + "maxi": 8554, + "maxi": 23266, + "maxim": 19892, + "maxim": 38574, + "maximize": 28673, + "maximum": 13162, + "maximus": 44312, + "maxine": 38468, + "maxwell": 19611, + "maxx": 37466, + "may": 1686, + "may": 1270, + "maya": 45783, + "maya": 12987, + "mayan": 37952, + "maybe": 3746, + "mayday": 29957, + "mayer": 21196, + "mayfair": 35171, + "mayfield": 33933, + "mayhem": 21502, + "maymay": 26600, + "maymay": 33853, + "maymayentrata": 30480, + "maynard": 32487, + "mayne": 35771, + "mayo": 22449, + "mayo": 11280, + "mayor": 15429, + "mayor": 4676, + "mayoral": 28983, + "mayorof": 43533, + "mayors": 28501, + "mays": 35445, + "maythe": 42281, + "mayward": 45751, + "mayward": 23519, + "mayweather": 22774, + "maz": 9177, + "maz": 36215, + "mazda": 18506, + "maze": 21988, + "mazz": 29439, + "mañ": 37059, + "mañana": 39354, + "mb": 758, + "mb": 3996, + "mba": 8329, + "mban": 46685, + "mbar": 44452, + "mbb": 10736, + "mbc": 20137, + "mbe": 38395, + "mbe": 27004, + "mber": 5467, + "mber": 1034, + "mberg": 26372, + "mbers": 5443, + "mbi": 45347, + "mble": 20310, + "mble": 4756, + "mbles": 28693, + "mbling": 28604, + "mbo": 25733, + "mbo": 11319, + "mbps": 44896, + "mbs": 10370, + "mbta": 38979, + "mbu": 42228, + "mbuhari": 36752, + "mc": 1278, + "mc": 4126, + "mca": 40570, + "mca": 14635, + "mcal": 28663, + "mcar": 43776, + "mcbride": 35080, + "mcc": 21192, + "mccabe": 37628, + "mccaf": 47385, + "mccain": 20397, + "mccall": 34844, + "mccann": 27140, + "mccar": 9570, + "mccarthy": 16974, + "mccartney": 19958, + "mccl": 24709, + "mccla": 43672, + "mccle": 40139, + "mcclure": 44945, + "mcco": 46152, + "mccon": 32638, + "mccor": 23057, + "mccormack": 45164, + "mccormick": 39088, + "mccoy": 20218, + "mccr": 41996, + "mccre": 25393, + "mccul": 38833, + "mccull": 41782, + "mcd": 28930, + "mcder": 27355, + "mcdermott": 34504, + "mcdon": 12171, + "mcdonald": 10741, + "mcdonalds": 17674, + "mcdonnell": 34360, + "mcdowell": 34119, + "mce": 26864, + "mcel": 28752, + "mcen": 47423, + "mcfad": 36976, + "mcfadden": 42105, + "mcfar": 29020, + "mcfarlane": 47174, + "mcfc": 16416, + "mcfly": 38211, + "mcg": 42507, + "mcg": 27995, + "mcgee": 29223, + "mcgill": 46524, + "mcgill": 35511, + "mcgin": 29596, + "mcgowan": 40462, + "mcgr": 25169, + "mcgra": 29367, + "mcgrath": 28759, + "mcgraw": 40950, + "mcgregor": 19642, + "mcgu": 34294, + "mcguinness": 45299, + "mcguire": 32635, + "mci": 46212, + "mci": 45491, + "mcil": 30481, + "mcin": 18770, + "mcintosh": 45353, + "mcintyre": 33369, + "mck": 6781, + "mckay": 33611, + "mcke": 27424, + "mckee": 43529, + "mcken": 42619, + "mckenna": 24924, + "mckenzie": 25502, + "mckin": 15437, + "mckinley": 39891, + "mckinney": 33554, + "mckinnon": 48736, + "mckinsey": 48143, + "mcl": 49021, + "mcla": 12565, + "mclaren": 37381, + "mclaren": 16789, + "mclau": 32285, + "mclaughlin": 35346, + "mcle": 25299, + "mclean": 28666, + "mcleod": 40259, + "mcm": 12251, + "mcmahon": 24026, + "mcmaster": 42703, + "mcmillan": 45603, + "mcn": 42919, + "mcnam": 32682, + "mcnamara": 37506, + "mcne": 42545, + "mco": 33723, + "mcqueen": 22544, + "mcr": 29884, + "mcr": 16966, + "mcs": 27020, + "mcu": 30403, + "md": 8637, + "md": 4732, + "mdc": 38773, + "mdc": 41761, + "mds": 48746, + "mdt": 40822, + "me": 613, + "me": 614, + "mea": 46045, + "mea": 17711, + "mead": 12134, + "mead": 21567, + "meade": 37218, + "meado": 16402, + "meadow": 25213, + "meadow": 17195, + "meadows": 17178, + "meal": 29662, + "meal": 5478, + "meals": 11229, + "mean": 4189, + "mean": 3450, + "meand": 48015, + "meaning": 14586, + "meaning": 8342, + "meaningful": 17480, + "meaningless": 48932, + "meanings": 45814, + "means": 3494, + "meant": 8674, + "meantime": 27499, + "meanwhile": 9650, + "meas": 5867, + "measles": 38230, + "measurable": 48010, + "measure": 15261, + "measure": 10579, + "measured": 23154, + "measurement": 20973, + "measurements": 29894, + "measures": 11936, + "measuring": 18064, + "meat": 10805, + "meat": 6480, + "meatball": 43642, + "meatballs": 29233, + "meath": 37920, + "meatless": 48085, + "meats": 29558, + "mec": 27432, + "mecca": 36095, + "mech": 38305, + "mechan": 6715, + "mechanic": 24582, + "mechanical": 14467, + "mechanics": 20536, + "mechanism": 22576, + "mechanisms": 28610, + "meck": 41908, + "med": 1948, + "med": 2177, + "meda": 33614, + "medal": 29714, + "medal": 6974, + "medalist": 21040, + "medalists": 43397, + "medalli": 31349, + "medallion": 43469, + "medallist": 41472, + "medals": 14710, + "mede": 48225, + "meded": 27627, + "medi": 1436, + "media": 22064, + "media": 1895, + "mediac": 37490, + "median": 30491, + "mediation": 42829, + "medic": 3602, + "medic": 35441, + "medicaid": 25421, + "medical": 18432, + "medical": 4116, + "medicare": 23710, + "medication": 23771, + "medications": 37181, + "medicinal": 28772, + "medicine": 5616, + "medicines": 26541, + "medics": 46688, + "medieval": 38956, + "medieval": 10789, + "medina": 27281, + "mediocre": 41170, + "medit": 19130, + "meditate": 38039, + "meditation": 10827, + "mediter": 14194, + "mediterran": 14358, + "mediterranean": 15327, + "medium": 8675, + "medley": 24793, + "meds": 25075, + "medtech": 42044, + "medusa": 44216, + "medway": 42286, + "mee": 1725, + "mee": 14075, + "meek": 28935, + "meen": 37940, + "meen": 46515, + "meer": 26714, + "meer": 27555, + "meet": 5714, + "meet": 1633, + "meeting": 48566, + "meeting": 2071, + "meetings": 9980, + "meets": 5972, + "meetthe": 27575, + "meetup": 15430, + "meg": 11500, + "meg": 16186, + "mega": 15979, + "mega": 9068, + "megab": 38103, + "megadeth": 46741, + "megal": 37650, + "megam": 26073, + "megan": 19127, + "megan": 11503, + "megap": 33624, + "megat": 35581, + "megh": 31192, + "meghan": 39939, + "meghan": 18261, + "meh": 10512, + "meh": 22211, + "mehta": 25031, + "mei": 22564, + "mei": 25198, + "meier": 29812, + "mein": 28857, + "mein": 21466, + "meister": 28407, + "mek": 44645, + "mel": 1902, + "mel": 6834, + "mela": 35032, + "melan": 22261, + "melanch": 44818, + "melancholy": 47821, + "melani": 34031, + "melania": 32796, + "melanie": 22153, + "melanoma": 40862, + "melb": 47007, + "melb": 28980, + "melbourne": 28387, + "melbourne": 6995, + "melee": 45108, + "meli": 28885, + "melinda": 46303, + "melis": 18913, + "melissa": 41866, + "melissa": 13030, + "mell": 22531, + "mell": 41583, + "mello": 47594, + "mellon": 45162, + "mellow": 32034, + "melo": 10354, + "melo": 22374, + "melodic": 41877, + "melodies": 38412, + "melody": 19119, + "melon": 12146, + "melrose": 36296, + "melt": 22209, + "melt": 15957, + "meltdown": 30613, + "melted": 23037, + "melting": 19247, + "melton": 46062, + "melts": 31446, + "melville": 46030, + "melvin": 31544, + "mely": 6373, + "mem": 4937, + "mem": 34944, + "memb": 2114, + "member": 29566, + "member": 1640, + "members": 2567, + "membership": 11562, + "membrane": 34088, + "meme": 35157, + "meme": 9169, + "memes": 12828, + "memo": 15967, + "memo": 19334, + "memoir": 20532, + "memoirs": 45311, + "memor": 1858, + "memorab": 26271, + "memorabilia": 27488, + "memorable": 13172, + "memorial": 16285, + "memorial": 4642, + "memorialday": 21598, + "memoriam": 48191, + "memories": 4304, + "memory": 44766, + "memory": 5137, + "memph": 10285, + "memphis": 38432, + "memphis": 11298, + "men": 1552, + "men": 1656, + "mena": 23052, + "menace": 29949, + "mend": 8151, + "mend": 46927, + "mendel": 49268, + "mendes": 18060, + "mendez": 48275, + "mendo": 19327, + "mendoza": 23680, + "meng": 37102, + "meng": 37450, + "mening": 46428, + "menon": 38255, + "menopau": 34974, + "menopause": 46026, + "mens": 16924, + "mens": 10495, + "mensfashion": 27578, + "menstru": 28345, + "menstrual": 40915, + "menswear": 18803, + "ment": 1585, + "ment": 777, + "mental": 8611, + "mental": 3448, + "mentalhealth": 20593, + "mentalhealth": 13022, + "mentality": 26647, + "mentally": 14307, + "mentary": 4468, + "mentation": 9512, + "mentday": 40397, + "mente": 40302, + "mente": 36396, + "mented": 9249, + "menting": 14471, + "mention": 43881, + "mention": 6762, + "mentioned": 11948, + "mentioning": 34290, + "mentions": 12334, + "mento": 30582, + "mentor": 45342, + "mentor": 11642, + "mentoring": 19610, + "mentors": 20945, + "mentorship": 33878, + "ments": 1827, + "menu": 6225, + "menus": 33534, + "meo": 30792, + "meow": 39965, + "meow": 17246, + "mep": 27095, + "mer": 1316, + "mer": 2452, + "mera": 20028, + "merc": 34357, + "merc": 44399, + "mercado": 45479, + "merce": 8409, + "mercede": 34959, + "mercedes": 26403, + "mercedes": 10685, + "mercedesam": 40107, + "mercedesbenz": 32347, + "mercen": 40301, + "mercer": 21632, + "merch": 11504, + "merchandi": 14954, + "merchandise": 16808, + "merchandising": 49196, + "merchant": 19563, + "merchants": 34427, + "merci": 23364, + "merci": 29378, + "mercur": 11471, + "mercury": 45203, + "mercury": 12653, + "mercy": 33249, + "mercy": 10815, + "mere": 29657, + "mere": 10342, + "mered": 24657, + "mered": 32297, + "meredith": 25103, + "merely": 28718, + "merge": 30406, + "merged": 46492, + "merger": 24744, + "merging": 49256, + "meri": 17993, + "meri": 36109, + "meria": 48433, + "meric": 27097, + "merica": 30561, + "meridi": 37901, + "meridian": 31195, + "mering": 41060, + "meringue": 41661, + "merino": 42648, + "merit": 20830, + "merkel": 24715, + "merle": 48586, + "merlin": 26517, + "merlot": 40424, + "mermaid": 16064, + "mermaids": 43617, + "mero": 19097, + "merr": 48288, + "merri": 21462, + "merrill": 47713, + "merritt": 36462, + "merry": 14167, + "merry": 5779, + "merrychristmas": 19672, + "mers": 4199, + "mersal": 36711, + "mersey": 25248, + "mersey": 46239, + "merseyside": 35382, + "mert": 48496, + "merton": 35315, + "mery": 40873, + "meryl": 35787, + "mes": 28432, + "mes": 3029, + "mesa": 18956, + "mese": 42018, + "mesh": 15030, + "mesm": 18695, + "mesmer": 38435, + "mesmeri": 25985, + "mesmerizing": 35637, + "meso": 25537, + "mesqu": 46819, + "mess": 2490, + "mess": 8188, + "message": 3918, + "messages": 9390, + "messaging": 23234, + "messe": 40391, + "messed": 23580, + "messenger": 17389, + "messi": 19394, + "messi": 11252, + "messiah": 28737, + "messing": 23144, + "messy": 15987, + "mest": 23780, + "mester": 47349, + "mesut": 49177, + "met": 5249, + "met": 2340, + "meta": 14803, + "meta": 22701, + "metab": 16150, + "metabol": 48389, + "metaboli": 25573, + "metabolic": 34311, + "metabolism": 27824, + "metal": 8935, + "metal": 4044, + "metall": 19084, + "metallic": 17257, + "metallica": 24079, + "metals": 21375, + "metam": 28862, + "metamor": 39030, + "metamorpho": 47601, + "metaph": 24189, + "metaphor": 34233, + "metast": 41973, + "mete": 11226, + "meteor": 26429, + "meteor": 26823, + "meteoro": 25948, + "meteorologist": 42849, + "meter": 10104, + "meters": 13247, + "metgala": 30089, + "meth": 21867, + "meth": 26177, + "methane": 37565, + "metho": 5770, + "method": 10284, + "methodist": 25165, + "methodo": 28488, + "methodology": 37316, + "methods": 12200, + "methyl": 48999, + "metmuseum": 28207, + "meto": 25679, + "metoo": 24722, + "metr": 15086, + "metre": 27889, + "metres": 19798, + "metric": 19950, + "metrical": 40704, + "metrics": 24396, + "metro": 7257, + "metro": 6784, + "metroid": 39957, + "metropolis": 40476, + "metropolitan": 19013, + "metry": 20039, + "mets": 9633, + "mett": 28081, + "metz": 40506, + "meu": 34520, + "mew": 40368, + "mex": 3213, + "mex": 18387, + "mexic": 31728, + "mexican": 37442, + "mexican": 8186, + "mexicans": 47729, + "mexico": 31834, + "mexico": 4604, + "mey": 28584, + "mey": 27777, + "meyer": 13963, + "meyers": 32326, + "mez": 30615, + "mez": 46833, + "mezz": 38771, + "mf": 18199, + "mf": 11067, + "mfa": 24107, + "mfc": 39474, + "mfg": 21912, + "mfw": 27309, + "mg": 10003, + "mg": 8014, + "mga": 23954, + "mgm": 27572, + "mgmt": 22288, + "mgr": 31500, + "mgs": 48073, + "mgt": 48663, + "mh": 9962, + "mh": 10834, + "mha": 41944, + "mhealth": 41225, + "mhs": 28815, + "mhz": 31550, + "mi": 714, + "mi": 2251, + "mia": 5852, + "miam": 31053, + "miami": 15106, + "miami": 4891, + "mian": 24792, + "miaw": 36046, + "mib": 48178, + "mic": 1213, + "mic": 3816, + "mica": 41551, + "micah": 33870, + "mice": 19030, + "mich": 25628, + "mich": 23029, + "micha": 2083, + "michael": 6051, + "michael": 2511, + "michaela": 41897, + "michaeljackson": 33532, + "michaels": 23868, + "michal": 47144, + "miche": 37966, + "micheal": 43709, + "michel": 5158, + "michel": 17153, + "michelangelo": 41245, + "michele": 20642, + "michelin": 26330, + "michelle": 19028, + "michelle": 8625, + "michi": 5658, + "michigan": 32344, + "michigan": 6296, + "mick": 15171, + "mick": 12592, + "mickey": 41813, + "mickey": 13053, + "micky": 43011, + "micro": 3160, + "micro": 11374, + "microbes": 44671, + "microbi": 19496, + "microbial": 30335, + "microbiology": 35348, + "microbiome": 35148, + "micron": 48742, + "microphone": 24643, + "micropoetry": 35997, + "microscope": 29114, + "microscopy": 38431, + "microsof": 42424, + "microsoft": 38650, + "microsoft": 7254, + "microwave": 24240, + "mics": 16554, + "mid": 2192, + "mid": 4734, + "midcentury": 48988, + "midd": 2983, + "midday": 23390, + "middle": 9849, + "middle": 3694, + "middleeast": 32783, + "middles": 29769, + "middlesbrough": 32436, + "middlesex": 39154, + "middleton": 23627, + "middleweight": 35829, + "midfield": 28116, + "midfielder": 13423, + "midget": 30734, + "midi": 39496, + "midi": 27326, + "midland": 24822, + "midlands": 18062, + "midnight": 35746, + "midnight": 6302, + "mids": 40821, + "midst": 24752, + "midsummer": 35234, + "midterm": 34365, + "midterms": 32015, + "midtown": 26069, + "midway": 26536, + "midweek": 29120, + "midwest": 16627, + "midwi": 44802, + "midwife": 37681, + "midwives": 42355, + "mie": 20865, + "mie": 10555, + "miento": 46482, + "mier": 36490, + "mies": 8840, + "miff": 49398, + "mig": 28743, + "might": 2727, + "mighty": 26632, + "mighty": 7815, + "mign": 41678, + "migos": 44640, + "migr": 3736, + "migra": 28186, + "migraine": 35360, + "migrant": 18902, + "migrants": 15814, + "migrate": 41804, + "migrating": 43604, + "migration": 11891, + "migu": 12279, + "miguel": 33672, + "miguel": 14436, + "miho": 46870, + "mii": 39896, + "mik": 15096, + "mik": 46203, + "mika": 28609, + "mika": 25185, + "mike": 5884, + "mike": 3178, + "mikel": 48865, + "mikequind": 33508, + "mikequindazzi": 33551, + "mikey": 34934, + "mikey": 23368, + "mikha": 30999, + "mikhail": 38327, + "miki": 48863, + "miko": 35413, + "miku": 37703, + "mil": 1469, + "mil": 12826, + "mila": 26183, + "milan": 30380, + "milan": 8552, + "milano": 18585, + "milb": 42248, + "mild": 16085, + "mildly": 49059, + "mile": 7833, + "mile": 6243, + "mileage": 30579, + "miler": 44680, + "miles": 3446, + "milestone": 13485, + "milestones": 34025, + "miley": 25336, + "miley": 14321, + "mileycyrus": 28528, + "milf": 45386, + "milford": 35840, + "mili": 16698, + "miliband": 41440, + "milit": 3715, + "militant": 33629, + "militants": 23974, + "military": 24498, + "military": 4323, + "militi": 46625, + "militia": 32114, + "milk": 13409, + "milk": 5205, + "milkshake": 29066, + "milky": 37320, + "milky": 21120, + "milkyway": 43246, + "mill": 4221, + "mill": 6637, + "milla": 49381, + "millan": 34930, + "millan": 22188, + "millar": 41851, + "mille": 34066, + "millen": 48501, + "millenni": 10406, + "millennial": 28357, + "millennials": 18804, + "millennium": 21116, + "miller": 21699, + "miller": 5733, + "milli": 5340, + "millie": 29283, + "milling": 39133, + "million": 13154, + "million": 2506, + "millionaire": 25179, + "millionaires": 47159, + "millions": 8492, + "mills": 10331, + "millwall": 35902, + "milly": 45794, + "milne": 44590, + "milner": 45230, + "milo": 24548, + "milton": 39004, + "milton": 17360, + "milwau": 13452, + "milwaukee": 14259, + "mim": 39379, + "mimi": 27086, + "mimic": 47116, + "mimic": 46519, + "mimo": 45551, + "min": 771, + "min": 3331, + "mina": 15281, + "minaj": 25136, + "minal": 40222, + "minat": 33275, + "mince": 32396, + "mind": 5890, + "mind": 2575, + "mindanao": 44228, + "minded": 21330, + "mindful": 28457, + "mindfulness": 15707, + "minding": 45337, + "minds": 9244, + "mindset": 14217, + "mindy": 46875, + "mindy": 38551, + "mine": 20149, + "mine": 3347, + "minecraft": 15678, + "mined": 48034, + "minent": 12533, + "miner": 14109, + "miner": 26572, + "mineral": 17692, + "minerals": 21169, + "miners": 22119, + "mines": 16211, + "ming": 10868, + "ming": 2107, + "mingham": 7590, + "mingle": 38437, + "mingly": 36909, + "mington": 49283, + "mington": 23119, + "minh": 48734, + "minho": 21318, + "mini": 1810, + "mini": 3954, + "miniature": 44298, + "miniature": 16377, + "miniatures": 38816, + "minic": 31522, + "minim": 10005, + "minimal": 18458, + "minimalism": 42594, + "minimalist": 26641, + "minimize": 38697, + "minimum": 12244, + "minindia": 28458, + "mining": 8473, + "minion": 28622, + "minions": 27035, + "minis": 33409, + "minis": 35976, + "minister": 25688, + "minister": 3569, + "ministerial": 33008, + "ministers": 16406, + "ministries": 27895, + "ministry": 8742, + "mink": 42017, + "minn": 45991, + "minn": 47318, + "minne": 7083, + "minneapolis": 16977, + "minneso": 9380, + "minnesota": 9968, + "minnie": 24493, + "mino": 22791, + "minogue": 44202, + "minor": 8522, + "minorities": 28119, + "minority": 16210, + "minors": 36789, + "mins": 6196, + "minsk": 46151, + "minster": 11189, + "mint": 48084, + "mint": 7506, + "minted": 49377, + "minton": 20050, + "minu": 29064, + "minus": 15358, + "minute": 28931, + "minute": 4497, + "minutes": 3056, + "mio": 26366, + "mir": 2750, + "mir": 6585, + "mira": 21665, + "mira": 22762, + "mirac": 13685, + "miracle": 49208, + "miracle": 11543, + "miracles": 23478, + "miraculous": 38671, + "mirage": 28679, + "mirai": 49060, + "mirand": 32367, + "miranda": 17590, + "mire": 38140, + "mire": 30140, + "miri": 22273, + "miriam": 30950, + "miro": 34851, + "miro": 48317, + "mirren": 47600, + "mirro": 48500, + "mirror": 29823, + "mirror": 7220, + "mirrors": 21823, + "mirza": 36440, + "mis": 866, + "mis": 11239, + "mischief": 33896, + "misconceptions": 48681, + "misconduct": 30601, + "mise": 46567, + "mise": 17267, + "miser": 33394, + "miserable": 26196, + "misery": 28360, + "mises": 24390, + "misfits": 42708, + "mish": 15494, + "mish": 20981, + "misha": 35434, + "mishra": 33042, + "misleading": 30862, + "mism": 15948, + "miso": 27657, + "miso": 33441, + "misogy": 31315, + "misogyny": 48415, + "miss": 6984, + "miss": 1526, + "missal": 38337, + "missed": 3955, + "misses": 15844, + "missi": 3008, + "missile": 14411, + "missiles": 27868, + "missin": 36209, + "missing": 23509, + "missing": 3423, + "mission": 12738, + "mission": 2406, + "missionaries": 40580, + "missionary": 27915, + "missions": 6990, + "mississ": 26483, + "mississauga": 28393, + "mississi": 11687, + "mississippi": 12232, + "missou": 30710, + "missoula": 48549, + "missouri": 11835, + "missuni": 26347, + "missuniverse": 28766, + "missy": 48105, + "missy": 31515, + "missyou": 45799, + "mist": 12610, + "mist": 11946, + "mistak": 20478, + "mistake": 11303, + "mistaken": 29182, + "mistakenly": 48494, + "mistakes": 12824, + "mister": 26949, + "mister": 18895, + "mistle": 46800, + "mistletoe": 48569, + "mistre": 42039, + "mistress": 24349, + "mists": 28636, + "misty": 18799, + "misunderstood": 41574, + "misuse": 40970, + "mit": 3303, + "mit": 4551, + "mita": 47514, + "mitage": 27964, + "mitch": 6969, + "mitch": 14150, + "mitchell": 39339, + "mitchell": 9007, + "mite": 26929, + "mith": 21752, + "mith": 17948, + "miti": 17857, + "mitigate": 42273, + "mitigation": 35514, + "mito": 38254, + "mitochondri": 42132, + "mitra": 47703, + "mits": 24086, + "mitsu": 17905, + "mitsubi": 21604, + "mitsubishi": 23030, + "mitt": 17321, + "mitt": 21341, + "mitted": 10307, + "mitting": 27938, + "mitz": 41827, + "mium": 35891, + "miwx": 43941, + "mix": 3210, + "mix": 3285, + "mixed": 29376, + "mixed": 6780, + "mixer": 17200, + "mixers": 39175, + "mixes": 19061, + "mixing": 15588, + "mixtape": 11044, + "mixture": 28286, + "miy": 25695, + "miya": 36257, + "miz": 20881, + "miz": 30795, + "mize": 19076, + "mized": 43418, + "mizing": 38715, + "mizz": 19985, + "mizzou": 26165, + "mj": 13117, + "mj": 14733, + "mk": 11581, + "mk": 8937, + "mke": 36642, + "mkt": 24814, + "ml": 3627, + "ml": 5780, + "mla": 16723, + "mlas": 48464, + "mlb": 21039, + "mlb": 7482, + "mley": 40329, + "mlg": 45801, + "mlin": 24556, + "mlk": 17941, + "mlkday": 39905, + "mlm": 37611, + "mln": 18971, + "mlp": 23620, + "mlpfi": 45475, + "mlpfim": 45640, + "mls": 13077, + "mm": 1028, + "mm": 2848, + "mma": 34140, + "mma": 6096, + "mmc": 44253, + "mme": 13105, + "mmed": 19570, + "mmer": 35717, + "mmer": 7508, + "mmers": 28128, + "mmes": 42862, + "mmi": 34147, + "mming": 21038, + "mming": 16507, + "mmings": 31357, + "mmit": 41050, + "mmj": 43015, + "mmm": 37908, + "mmm": 7641, + "mmmm": 36312, + "mmmm": 13180, + "mmmmm": 21808, + "mmmmmm": 43740, + "mmo": 30418, + "mmon": 41131, + "mmor": 36657, + "mmorpg": 39476, + "mms": 37803, + "mmva": 42666, + "mmy": 28837, + "mmy": 8722, + "mn": 5086, + "mn": 4057, + "mna": 34877, + "mnd": 44776, + "mnet": 34129, + "mnf": 41105, + "mnl": 32980, + "mnleg": 42653, + "mns": 39040, + "mnt": 21477, + "mntwins": 45448, + "mnwild": 39044, + "mnwx": 39592, + "mo": 617, + "mo": 2080, + "moa": 33174, + "moana": 43241, + "mob": 2818, + "mob": 12754, + "mobi": 9451, + "mobil": 26343, + "mobil": 29815, + "mobile": 12935, + "mobile": 3451, + "mobiles": 44302, + "mobili": 20770, + "mobility": 12546, + "mobilization": 48916, + "moby": 47219, + "moc": 41439, + "moc": 36992, + "mocha": 28425, + "mochi": 47973, + "mock": 15641, + "mock": 12759, + "mocked": 47400, + "mocking": 28692, + "mocking": 37870, + "mocks": 35142, + "mod": 6362, + "mod": 10893, + "moda": 25814, + "modal": 33157, + "mode": 20402, + "mode": 6493, + "model": 4591, + "model": 2863, + "modeled": 39527, + "modeling": 13706, + "modelling": 19946, + "models": 6176, + "moder": 2894, + "moderate": 16435, + "moderated": 27928, + "moderating": 34242, + "moderator": 32659, + "modern": 11706, + "modern": 4077, + "modernart": 34417, + "moderni": 24328, + "modernism": 39601, + "modernist": 36773, + "modernization": 47294, + "modes": 30454, + "modest": 25436, + "modi": 9047, + "modi": 7774, + "modification": 37630, + "modified": 17964, + "modo": 36820, + "mods": 23843, + "modu": 9036, + "modular": 22437, + "module": 16757, + "modules": 30575, + "moe": 38655, + "moe": 17938, + "mof": 30798, + "moff": 27160, + "mog": 42362, + "moga": 41732, + "mogadishu": 45133, + "mogul": 41320, + "moh": 18979, + "moh": 35388, + "moha": 46892, + "moham": 7923, + "mohamed": 18472, + "mohammad": 19926, + "mohammed": 16168, + "mohan": 26521, + "mohan": 23586, + "mohawk": 34942, + "mohd": 49094, + "mohsin": 48861, + "moi": 20691, + "moi": 21825, + "moil": 30349, + "moines": 32091, + "moist": 19831, + "moist": 33263, + "moisture": 20412, + "moisturi": 25942, + "moj": 34505, + "moja": 49055, + "mojito": 46830, + "mojo": 25204, + "mok": 49146, + "mol": 4246, + "mol": 31582, + "mold": 21846, + "molding": 46274, + "moldova": 47317, + "mole": 9927, + "mole": 23529, + "molecular": 19370, + "molecule": 39233, + "molecules": 35643, + "molina": 34201, + "mollie": 48203, + "molly": 24368, + "molly": 12573, + "molo": 41510, + "mology": 32255, + "molten": 46071, + "moly": 47083, + "mom": 1614, + "mom": 2543, + "moma": 33605, + "mombasa": 40340, + "moment": 12197, + "moment": 2495, + "momento": 30078, + "moments": 5251, + "momentum": 15722, + "momlife": 43825, + "momma": 14508, + "mommy": 12456, + "momo": 48490, + "momo": 25980, + "moms": 28446, + "moms": 10042, + "momsdemand": 33744, + "mon": 749, + "mon": 2173, + "mona": 19143, + "monaco": 14938, + "monaghan": 39797, + "monarch": 27235, + "monarch": 22619, + "monarchs": 36750, + "monarchy": 47503, + "monaster": 19422, + "monastery": 21850, + "monc": 34847, + "moncton": 44962, + "mond": 14522, + "mond": 4475, + "monday": 6205, + "monday": 2098, + "mondaymorning": 40089, + "mondaymotiv": 45488, + "mondaymotivation": 8198, + "mondaymotivaton": 47034, + "mondays": 13815, + "monde": 29339, + "mondo": 36207, + "monds": 20317, + "mone": 25990, + "monet": 24499, + "monetary": 26394, + "moneti": 38056, + "money": 12743, + "money": 2327, + "mong": 43566, + "monger": 38928, + "mongers": 27670, + "mongo": 20680, + "mongolia": 27144, + "mongolian": 46335, + "moni": 46851, + "monia": 31161, + "monic": 30893, + "monica": 13540, + "monit": 9014, + "monitor": 10198, + "monitored": 45828, + "monitoring": 11030, + "monitors": 30478, + "monk": 30557, + "monk": 16424, + "monkey": 29597, + "monkey": 9465, + "monkeys": 15781, + "monks": 29090, + "monmouth": 36929, + "mono": 8220, + "mono": 22537, + "monochrome": 25576, + "monogram": 39665, + "monologue": 47776, + "monopoly": 25241, + "monoxide": 49314, + "monro": 45750, + "monroe": 13625, + "mons": 19885, + "monsanto": 37592, + "monsi": 46677, + "monsieur": 48879, + "monsoon": 18872, + "monsta": 30718, + "monstax": 45631, + "monste": 47045, + "monster": 14454, + "monster": 6060, + "monsters": 11546, + "mont": 5186, + "mont": 5382, + "montag": 37202, + "montage": 32325, + "montal": 42126, + "montan": 28405, + "montana": 11436, + "monte": 8711, + "monte": 14667, + "montene": 28538, + "montenegro": 30378, + "monter": 36673, + "monterey": 23388, + "monterrey": 45254, + "montess": 43205, + "montessori": 45443, + "montgom": 13852, + "montgomery": 14951, + "month": 7680, + "month": 1924, + "monthly": 8764, + "months": 3109, + "monthsary": 42420, + "monton": 41961, + "montp": 39523, + "montre": 8434, + "montreal": 9262, + "montrose": 42347, + "monty": 43997, + "monty": 24038, + "monu": 9748, + "monument": 12019, + "monumental": 31297, + "monuments": 26916, + "mony": 4117, + "monza": 40380, + "moo": 4953, + "moo": 24626, + "mood": 42358, + "mood": 5394, + "moods": 43727, + "moody": 17170, + "moom": 36887, + "moon": 6334, + "moon": 3293, + "mooney": 37942, + "moonlight": 20001, + "moons": 29887, + "moonshine": 46706, + "moor": 14817, + "moor": 11877, + "moore": 28613, + "moore": 6708, + "moors": 32577, + "moose": 37562, + "moose": 17338, + "moot": 46895, + "mop": 33900, + "mopar": 41166, + "mor": 657, + "mor": 18614, + "mora": 29262, + "moral": 11246, + "morale": 39404, + "morales": 27117, + "morality": 34133, + "morally": 42519, + "morals": 46223, + "moran": 21557, + "moray": 44569, + "more": 5434, + "more": 750, + "morecam": 37305, + "morecambe": 43414, + "mored": 20195, + "moreland": 44135, + "moreno": 24826, + "morethan": 30889, + "morg": 34284, + "morgan": 15432, + "morgan": 6075, + "morgen": 35106, + "mori": 25710, + "mori": 29514, + "moris": 43131, + "moritz": 45594, + "morley": 40439, + "mormon": 27715, + "morn": 22393, + "mornin": 28327, + "morning": 10769, + "morning": 1119, + "mornings": 12106, + "moro": 31613, + "moroc": 11996, + "moroccan": 27546, + "morocco": 15228, + "moron": 31875, + "morons": 46477, + "morow": 40779, + "morph": 23915, + "morph": 41700, + "morphe": 38978, + "morpho": 38622, + "morrha": 43044, + "morri": 9876, + "morris": 22560, + "morris": 9090, + "morrison": 40961, + "morrison": 14094, + "morrisons": 40965, + "morrissey": 30040, + "morro": 48363, + "morrow": 21611, + "mors": 13064, + "morse": 25282, + "mort": 24257, + "mort": 30583, + "mortal": 31883, + "mortal": 14680, + "mortality": 20347, + "mortar": 27258, + "mortg": 12069, + "mortgage": 13988, + "mortgages": 45391, + "mortimer": 47836, + "morton": 20698, + "morty": 37391, + "mory": 22633, + "mos": 28658, + "mos": 9593, + "mosa": 14164, + "mosa": 23809, + "mosaic": 17506, + "mosch": 47003, + "mosco": 9840, + "moscow": 10371, + "moseley": 47080, + "moses": 18451, + "mosley": 46228, + "mosqu": 15215, + "mosque": 12694, + "mosques": 41214, + "mosquit": 39699, + "mosquito": 25083, + "mosquitoes": 41870, + "moss": 25107, + "moss": 12815, + "most": 7034, + "most": 1096, + "mostly": 8829, + "mosul": 29165, + "mot": 16352, + "mot": 15452, + "mota": 42499, + "motd": 46232, + "motel": 26191, + "moth": 33208, + "moth": 11736, + "mother": 7455, + "mother": 3050, + "motherhood": 32274, + "motherland": 46774, + "mothers": 10546, + "mothersday": 15583, + "motherwell": 48104, + "moths": 29086, + "moti": 38210, + "motif": 35373, + "motion": 32139, + "motion": 7860, + "motiv": 3183, + "motivate": 26771, + "motivated": 16521, + "motivates": 44684, + "motivating": 37720, + "motivation": 26117, + "motivation": 4193, + "motivational": 32832, + "motivational": 20472, + "motivationmonday": 28703, + "motive": 36669, + "motley": 42553, + "motm": 41192, + "moto": 10646, + "moto": 11431, + "motocross": 34562, + "motogp": 16615, + "motor": 3975, + "motor": 7659, + "motorbike": 33341, + "motorcycle": 10297, + "motorcycles": 24869, + "motoring": 44491, + "motorists": 32766, + "motorola": 33738, + "motors": 14989, + "motorsport": 18371, + "motorsports": 24264, + "motorway": 31808, + "motown": 32685, + "mott": 44570, + "mott": 21708, + "motto": 23338, + "mou": 2809, + "mou": 25289, + "moud": 37698, + "moul": 25725, + "mould": 36743, + "moulin": 47656, + "moun": 2023, + "mound": 21414, + "mount": 20553, + "mount": 5532, + "mountain": 14547, + "mountain": 3965, + "mountaine": 24841, + "mountaineer": 49255, + "mountains": 5873, + "mounted": 17897, + "mounting": 29910, + "mounts": 36767, + "mour": 9053, + "mour": 42446, + "moured": 29555, + "mourinho": 18536, + "mourn": 33592, + "mourning": 24169, + "mourns": 42811, + "mous": 24837, + "mous": 17425, + "mouse": 33032, + "mouse": 9301, + "mousse": 31869, + "moustache": 32795, + "mouth": 15152, + "mouth": 4932, + "mouths": 38518, + "mov": 23950, + "move": 16624, + "move": 2783, + "moved": 6997, + "movember": 23474, + "movement": 5208, + "movements": 19665, + "mover": 37673, + "movers": 33957, + "moves": 6880, + "movi": 1707, + "movic": 43838, + "movie": 11247, + "movie": 2016, + "movies": 4772, + "moving": 32160, + "moving": 3584, + "mow": 31006, + "mow": 36329, + "mower": 30895, + "mowing": 46424, + "mowx": 44263, + "moy": 27276, + "moy": 34205, + "moyes": 37119, + "moz": 14761, + "moz": 43738, + "mozam": 26648, + "mozambique": 28831, + "mozart": 22132, + "mozz": 26317, + "mozzarella": 27845, + "mp": 1037, + "mp": 1246, + "mpa": 30749, + "mpc": 38560, + "mpd": 33814, + "mped": 28134, + "mper": 22803, + "mpg": 39830, + "mpg": 37454, + "mpgvip": 42149, + "mph": 5306, + "mpi": 43263, + "mping": 27999, + "mple": 21139, + "mplo": 47071, + "mpls": 34298, + "mpo": 33674, + "mpp": 39570, + "mps": 5504, + "mption": 9717, + "mpton": 27448, + "mpu": 47156, + "mpus": 25864, + "mpy": 17192, + "mq": 19103, + "mqm": 24687, + "mr": 3139, + "mr": 1982, + "mra": 44568, + "mrc": 25897, + "mri": 24773, + "mrs": 25003, + "mrs": 4255, + "mrt": 30256, + "mru": 22370, + "mrw": 15303, + "ms": 3525, + "ms": 988, + "msa": 36306, + "msc": 31826, + "msc": 20529, + "msd": 25804, + "msd": 36407, + "msdhoni": 32850, + "msf": 36239, + "msg": 44430, + "msg": 10928, + "msh": 41751, + "msi": 43597, + "msi": 45278, + "msk": 38501, + "msl": 42736, + "msm": 22210, + "msn": 18824, + "msn": 41042, + "msnbc": 20245, + "mson": 27773, + "mson": 12298, + "msp": 41445, + "msp": 22318, + "mss": 42136, + "mss": 48610, + "mst": 26335, + "msu": 26763, + "msu": 17298, + "mswx": 42957, + "msy": 43919, + "mt": 4252, + "mt": 3284, + "mta": 28691, + "mtb": 48306, + "mtb": 18747, + "mtc": 42482, + "mtg": 49142, + "mtg": 13648, + "mth": 48151, + "mtl": 22135, + "mtn": 26041, + "mtn": 18953, + "mtr": 46650, + "mts": 38751, + "mtv": 8099, + "mtv": 12555, + "mtvbr": 47258, + "mtvhottest": 16751, + "mtvstars": 19948, + "mu": 670, + "mu": 6411, + "mua": 21395, + "muay": 44910, + "muaythai": 47763, + "mubarak": 17957, + "muc": 49115, + "much": 14300, + "much": 1238, + "mucha": 42191, + "muchas": 26278, + "mucho": 19864, + "muck": 44731, + "muck": 45330, + "mud": 17491, + "mud": 11673, + "mudder": 49104, + "muddy": 21524, + "mue": 44383, + "mue": 40717, + "mueller": 46863, + "mueller": 14719, + "muen": 48646, + "muer": 33840, + "muf": 33852, + "mufc": 9013, + "muffin": 22696, + "muffins": 25922, + "mufti": 44930, + "mug": 16339, + "mug": 9722, + "mugabe": 36441, + "mughal": 37508, + "mugs": 22852, + "mugshot": 40028, + "muh": 36335, + "muh": 46475, + "muham": 10043, + "muhammad": 12259, + "muir": 44650, + "muir": 24745, + "muj": 44635, + "muk": 17327, + "muk": 32600, + "mukher": 34575, + "mukherjee": 37862, + "mul": 1899, + "mul": 43193, + "mula": 40937, + "mulator": 17463, + "mulberry": 39221, + "mule": 28695, + "mull": 17313, + "mull": 35310, + "mulled": 44641, + "mullen": 30797, + "muller": 33956, + "mullet": 35010, + "mulligan": 44336, + "mullins": 41265, + "mult": 34219, + "multi": 3947, + "multi": 6400, + "multic": 21683, + "multicul": 28004, + "multicultural": 34667, + "multil": 27975, + "multimedia": 27977, + "multin": 38996, + "multinational": 46540, + "multip": 40314, + "multiplayer": 27460, + "multiple": 6470, + "multipurpose": 47665, + "multit": 27814, + "multitasking": 48684, + "mulus": 26180, + "mum": 15565, + "mum": 4030, + "mumb": 5850, + "mumbai": 24279, + "mumbai": 6971, + "mumford": 46184, + "mummy": 16301, + "mums": 17868, + "mun": 2617, + "mun": 21059, + "muna": 48424, + "munch": 23587, + "munch": 33299, + "munchies": 44324, + "munchkin": 41305, + "mund": 14244, + "mundo": 20990, + "muni": 27327, + "muni": 39795, + "munich": 13526, + "munici": 12159, + "municipal": 43667, + "municipal": 16600, + "municipality": 29987, + "munition": 32668, + "munro": 36501, + "munster": 27201, + "mup": 21966, + "muppet": 40598, + "muppets": 40187, + "mups": 42195, + "mur": 2144, + "mur": 18293, + "mura": 45176, + "mural": 12315, + "murals": 31499, + "murder": 28136, + "murder": 5787, + "murdered": 13158, + "murderer": 26956, + "murderers": 48472, + "murdering": 36055, + "murders": 22409, + "murdoch": 29037, + "murphy": 48976, + "murphy": 8914, + "murray": 31978, + "murray": 7513, + "murs": 38783, + "mus": 2198, + "mus": 8103, + "musa": 30540, + "musc": 5696, + "muscat": 33322, + "muscle": 27323, + "muscle": 9269, + "muscles": 16786, + "muscular": 30606, + "muse": 2369, + "muse": 15686, + "museo": 36457, + "muses": 48243, + "museu": 27087, + "museum": 15602, + "museum": 2786, + "museums": 15542, + "museumweek": 37996, + "mush": 7635, + "mushroom": 13011, + "mushrooms": 14730, + "musi": 15628, + "music": 4110, + "music": 1179, + "musica": 26668, + "musical": 36002, + "musical": 5173, + "musically": 48893, + "musicals": 36974, + "musichistory": 37890, + "musician": 11179, + "musicians": 12498, + "musicislife": 43311, + "musicmonday": 35887, + "musicvideo": 26764, + "musik": 32986, + "musings": 44961, + "musique": 42250, + "musk": 32143, + "musk": 19063, + "muskete": 32775, + "musketeers": 37993, + "musko": 34987, + "muskoka": 40832, + "musli": 4958, + "muslim": 43795, + "muslim": 7060, + "muslims": 10513, + "muss": 41493, + "mussels": 33393, + "must": 6783, + "must": 2048, + "mustache": 23451, + "mustaf": 23596, + "mustafa": 29000, + "mustang": 42361, + "mustang": 13309, + "mustangs": 22500, + "mustard": 15794, + "muster": 47361, + "mustread": 28978, + "mut": 12598, + "mut": 22839, + "mutant": 28384, + "mutation": 38626, + "mutations": 39651, + "mute": 31252, + "muted": 48028, + "muth": 34280, + "mutil": 39950, + "mutt": 45924, + "mutu": 17574, + "mutual": 15055, + "mutuals": 31158, + "muy": 44625, + "mv": 10580, + "mv": 8269, + "mvc": 40549, + "mvp": 8905, + "mw": 16725, + "mw": 11206, + "mwc": 24289, + "mwf": 48565, + "mx": 21947, + "mx": 9575, + "my": 1152, + "my": 607, + "mya": 31401, + "myal": 42735, + "myan": 13761, + "myanmar": 14764, + "myart": 38826, + "myco": 48362, + "mydayin": 41896, + "mydayinla": 42801, + "mydubai": 43475, + "mye": 27551, + "myel": 40084, + "myers": 15993, + "myjaps": 47939, + "myle": 43700, + "myles": 25511, + "mylife": 30537, + "mylittle": 37757, + "mylittlepony": 45107, + "myo": 16206, + "myr": 20272, + "myra": 35694, + "myri": 34972, + "myrt": 47785, + "myrtle": 27768, + "mys": 11724, + "myself": 3245, + "mysore": 44924, + "myspace": 41382, + "myster": 4669, + "mysteries": 20605, + "mysterious": 12650, + "mystery": 39828, + "mystery": 6711, + "mysti": 28711, + "mystic": 36264, + "mystic": 23722, + "mystical": 34122, + "myth": 20322, + "myth": 13878, + "mythical": 34377, + "mytho": 43857, + "mythology": 22496, + "myths": 18675, + "mz": 29509, + "mz": 33400, + "mzan": 36322, + "mzansi": 43301, + "má": 36842, + "mé": 21890, + "méxico": 46159, + "mü": 28142, + "mün": 41235, + "n": 77, + "n": 333, + "na": 1097, + "na": 1272, + "naa": 37738, + "naacp": 32176, + "nab": 6951, + "nab": 19440, + "nabe": 35111, + "naby": 24800, + "nac": 14557, + "nac": 18950, + "nach": 12168, + "nach": 43622, + "nacho": 35647, + "nachos": 32847, + "nacht": 37261, + "nacional": 38782, + "nad": 6204, + "nad": 43928, + "nada": 31683, + "nadal": 20814, + "nade": 24908, + "nadi": 30512, + "nadia": 27487, + "nadine": 23356, + "nadu": 20936, + "nae": 19374, + "naf": 16161, + "naf": 45956, + "nafta": 43123, + "nag": 6694, + "nag": 23902, + "naga": 45953, + "naga": 38997, + "nagar": 17490, + "nage": 41219, + "nago": 38349, + "nagoya": 43303, + "nagpur": 43328, + "nah": 26421, + "nah": 11129, + "nahi": 35244, + "nai": 6230, + "nai": 10692, + "naia": 31340, + "naidu": 42429, + "naija": 16326, + "naik": 34424, + "nail": 19459, + "nail": 9059, + "nailart": 43532, + "nailed": 19035, + "nails": 8469, + "nair": 27107, + "naira": 39450, + "naire": 48892, + "nairobi": 17756, + "nais": 46396, + "naissance": 44761, + "naive": 43362, + "naj": 30985, + "naji": 32589, + "nak": 9248, + "nak": 25550, + "naked": 46371, + "naked": 11478, + "naku": 39864, + "nal": 14132, + "nal": 3119, + "nale": 27198, + "nall": 32869, + "nally": 26158, + "nam": 1410, + "nam": 12344, + "nama": 39586, + "naman": 27635, + "namaste": 35549, + "name": 18160, + "name": 1981, + "named": 3194, + "nameis": 40831, + "nament": 3916, + "naments": 16540, + "names": 6130, + "namesake": 41298, + "nami": 20393, + "namibia": 23731, + "naming": 19367, + "namjoon": 31986, + "namm": 35524, + "namo": 46013, + "namo": 24854, + "nan": 4375, + "nan": 7750, + "nana": 18761, + "nanaimo": 40518, + "nancy": 21511, + "nancy": 11425, + "nand": 20435, + "nandez": 12764, + "nando": 46044, + "nang": 48148, + "nani": 27980, + "nanny": 31104, + "nano": 15835, + "nano": 22006, + "nanop": 34177, + "nanotechnology": 42235, + "nanow": 46734, + "nant": 22526, + "nantes": 47533, + "nantucket": 41573, + "nao": 39319, + "naom": 34955, + "naomi": 20173, + "nap": 6568, + "nap": 11012, + "napa": 20545, + "napier": 40875, + "napkin": 38930, + "naples": 23560, + "napo": 18715, + "napol": 20122, + "napoleon": 24969, + "napoli": 22445, + "napp": 11359, + "napping": 37657, + "naps": 31317, + "naq": 46453, + "nar": 2977, + "nar": 20145, + "nara": 33823, + "narcis": 25229, + "narcissi": 35442, + "narco": 38461, + "nard": 18216, + "nare": 34853, + "naren": 8468, + "narendr": 9807, + "narendra": 25848, + "narendramodi": 9853, + "narnia": 48693, + "narr": 11845, + "narrated": 43609, + "narrative": 15933, + "narratives": 35117, + "narrator": 46529, + "narrow": 24006, + "narrow": 16652, + "narrowly": 29747, + "naruto": 22732, + "nas": 3090, + "nas": 15250, + "nasa": 6841, + "nasal": 42853, + "nascar": 25723, + "nascar": 7868, + "nasdaq": 26629, + "nash": 6771, + "nash": 13620, + "nasheed": 49176, + "nashgrier": 33372, + "nashville": 45356, + "nashville": 8585, + "nasi": 47987, + "nasir": 47509, + "nassau": 34048, + "nasser": 43559, + "nasty": 32930, + "nasty": 8709, + "nat": 1276, + "nat": 11310, + "nata": 39392, + "natal": 28516, + "natali": 20296, + "natalia": 32978, + "natalie": 36634, + "natalie": 13595, + "natash": 48701, + "natasha": 23093, + "nate": 26643, + "nate": 7587, + "natgeo": 33009, + "natgeo": 25046, + "nath": 22203, + "nath": 19843, + "nathan": 13028, + "nathan": 9711, + "nathanfillion": 47422, + "nathaniel": 32667, + "nati": 1060, + "nati": 13384, + "natic": 44944, + "natin": 44358, + "nation": 2317, + "nation": 2670, + "national": 3126, + "national": 1362, + "nationalbestfriend": 42222, + "nationaldogday": 32227, + "nationalism": 29867, + "nationalist": 25058, + "nationality": 44451, + "nationally": 15130, + "nationalpark": 33060, + "nationalparks": 41204, + "nationals": 10784, + "nationaltrust": 34051, + "nations": 7654, + "nationwide": 13795, + "native": 20639, + "native": 4562, + "natives": 36060, + "nativity": 33988, + "natl": 39225, + "natl": 34465, + "nato": 13139, + "nats": 21106, + "natu": 2775, + "natur": 6800, + "natural": 13198, + "natural": 3288, + "naturally": 12995, + "naturals": 44686, + "nature": 9382, + "nature": 2625, + "naturelovers": 41514, + "naturephotography": 22533, + "natures": 15616, + "natureuk": 46193, + "nau": 5955, + "nau": 32878, + "naught": 41001, + "naughty": 47255, + "naughty": 15101, + "nautical": 31660, + "nav": 3413, + "nav": 25308, + "navajo": 35523, + "naval": 44725, + "naval": 13273, + "navar": 24848, + "navarro": 37104, + "nave": 42704, + "naveen": 43837, + "naver": 32534, + "navi": 16159, + "navi": 44848, + "navig": 12507, + "navigate": 24400, + "navigating": 33134, + "navigation": 20148, + "navigator": 38910, + "navis": 36377, + "navratri": 45428, + "navy": 28414, + "navy": 5598, + "naw": 16259, + "naw": 30500, + "nawaz": 49161, + "nawaz": 19523, + "nax": 38299, + "nay": 11704, + "nay": 16182, + "naya": 38917, + "nayanth": 38157, + "nayanthara": 45184, + "naz": 6363, + "naz": 35534, + "nazi": 12972, + "nazis": 21778, + "nb": 6459, + "nb": 6813, + "nba": 22524, + "nba": 5139, + "nbad": 43458, + "nbaf": 30127, + "nbafinals": 33803, + "nbap": 41956, + "nbaplayoffs": 43860, + "nbat": 46291, + "nbc": 9352, + "nbc": 8799, + "nbd": 24526, + "nbl": 42652, + "nc": 5021, + "nc": 4911, + "nca": 6921, + "ncaa": 9418, + "ncbd": 47221, + "ncc": 33195, + "ncc": 36686, + "ncds": 47573, + "ncfc": 31274, + "ncis": 33617, + "ncpol": 40562, + "ncr": 38474, + "ncs": 42689, + "nct": 27723, + "nct": 20319, + "ncwx": 36166, + "nd": 5625, + "nd": 1764, + "nda": 32862, + "ndc": 47564, + "ndi": 48229, + "ndp": 19257, + "nds": 31347, + "ndtv": 26261, + "ne": 557, + "ne": 1422, + "nea": 24068, + "neal": 33652, + "neal": 16730, + "near": 11296, + "near": 2252, + "nearby": 13314, + "nearest": 18985, + "nearing": 26571, + "nearly": 4816, + "nears": 37710, + "neat": 43201, + "neat": 15465, + "neath": 18315, + "neau": 31559, + "neb": 40209, + "nebra": 13371, + "nebraska": 14565, + "nebu": 49295, + "nebula": 22532, + "nec": 25109, + "nec": 22992, + "necess": 6961, + "necessarily": 25853, + "necessary": 8955, + "necessities": 43483, + "necessity": 33163, + "neck": 6066, + "neck": 6906, + "necklace": 7385, + "necklaces": 32276, + "necks": 29701, + "nectar": 33683, + "ned": 16030, + "ned": 1369, + "nederland": 49058, + "nee": 20494, + "nee": 10601, + "need": 3229, + "need": 1262, + "needed": 4049, + "needing": 22894, + "needle": 44490, + "needle": 19886, + "needles": 27250, + "needless": 39984, + "needs": 2536, + "needy": 30150, + "neel": 33092, + "neel": 46043, + "neer": 34245, + "nees": 47248, + "neet": 46362, + "neg": 5513, + "negan": 42623, + "negative": 8869, + "negatively": 40254, + "negativity": 34658, + "neglec": 18827, + "neglect": 33680, + "neglected": 31893, + "negli": 32594, + "negligence": 45658, + "negoti": 10216, + "negotiate": 32969, + "negotiating": 35510, + "negotiation": 36504, + "negotiations": 20433, + "negr": 42190, + "negro": 26554, + "neh": 40416, + "neh": 41697, + "neha": 44463, + "nehru": 30316, + "nei": 9366, + "neigh": 4061, + "neighb": 6534, + "neighbor": 7759, + "neighbor": 14485, + "neighborhood": 9471, + "neighborhoods": 26713, + "neighboring": 44754, + "neighbors": 13037, + "neighbour": 15858, + "neighbour": 23719, + "neighbourhood": 20312, + "neighbours": 17594, + "neil": 13591, + "neil": 8030, + "neilhimself": 45682, + "neill": 19324, + "neither": 14398, + "nek": 47727, + "neko": 47066, + "nel": 5476, + "nel": 2693, + "nell": 27081, + "nell": 8117, + "nelly": 21166, + "nels": 19296, + "nelson": 24774, + "nelson": 8586, + "nem": 45153, + "neman": 48553, + "neme": 30993, + "nemesis": 37811, + "nemo": 30441, + "nen": 17817, + "nen": 15451, + "nene": 44167, + "neo": 14562, + "neo": 11017, + "neon": 21043, + "neon": 13919, + "neonatal": 46464, + "neop": 49069, + "nep": 20739, + "nep": 41960, + "nepal": 25597, + "nepal": 10066, + "nepali": 47579, + "neph": 27926, + "nephe": 41810, + "nephew": 11689, + "nephews": 43747, + "nephro": 43054, + "neptune": 30566, + "ner": 2064, + "ner": 998, + "nerd": 24452, + "nerd": 12273, + "nerds": 22609, + "nerdy": 33124, + "nered": 17583, + "nerf": 42914, + "nering": 20226, + "nero": 29048, + "ners": 2129, + "nerve": 18571, + "nerves": 27813, + "nervous": 13928, + "nery": 48597, + "nes": 5457, + "nes": 4980, + "nesburg": 27159, + "nese": 32220, + "ness": 7187, + "ness": 1294, + "nesses": 20107, + "nessy": 32939, + "nest": 20302, + "nest": 8719, + "nesting": 28860, + "nestle": 43967, + "nestled": 38107, + "nests": 41133, + "net": 1851, + "net": 2315, + "netany": 23137, + "netanyahu": 23583, + "netball": 19761, + "netes": 44335, + "netfli": 6304, + "netflix": 35325, + "netflix": 6600, + "nether": 9946, + "netherlands": 11060, + "neti": 43980, + "netneutrality": 47794, + "nets": 8582, + "nett": 23403, + "nett": 6975, + "nette": 13271, + "network": 23285, + "network": 3304, + "networking": 9818, + "networks": 10004, + "neu": 3855, + "neu": 43342, + "neue": 45764, + "neur": 19001, + "neur": 31976, + "neural": 26388, + "neuro": 7401, + "neuro": 36000, + "neurological": 41718, + "neurology": 43197, + "neurons": 40442, + "neuroscience": 23381, + "neutr": 17207, + "neutral": 17011, + "neutrality": 26511, + "neutron": 44056, + "nev": 10236, + "nev": 43645, + "neva": 43304, + "nevada": 13499, + "neve": 44099, + "neve": 44023, + "never": 6746, + "never": 1426, + "neveragain": 45053, + "neverforget": 19242, + "nevergiveup": 42497, + "neverland": 41483, + "nevertheless": 48355, + "nevertrump": 47494, + "neville": 19269, + "nevis": 43670, + "new": 1218, + "new": 686, + "newark": 20240, + "newbie": 45427, + "newborn": 18320, + "newbury": 34169, + "newcastle": 41955, + "newcastle": 9302, + "newcomer": 30648, + "newcomers": 44037, + "newe": 40068, + "newell": 41436, + "newer": 33099, + "newest": 4990, + "newfound": 25250, + "newfoundland": 28079, + "newh": 18546, + "newin": 31911, + "newjersey": 32621, + "newly": 42186, + "newly": 7056, + "newman": 15815, + "newmarket": 38617, + "newmexico": 35238, + "newmusic": 32510, + "newmusic": 17201, + "newor": 25969, + "neworleans": 31205, + "newport": 42580, + "newport": 14846, + "newprofile": 14633, + "newprofilepic": 14754, + "newrelease": 34793, + "news": 6216, + "news": 1120, + "newsat": 43979, + "newsc": 28656, + "newscast": 45031, + "newsle": 10727, + "newsletter": 11069, + "newsnow": 48650, + "newsp": 7109, + "newspaper": 8786, + "newspapers": 22423, + "newsroom": 23200, + "newt": 37224, + "newton": 33122, + "newton": 12606, + "newtown": 31747, + "newyear": 22161, + "newyear": 12999, + "newyearseve": 37587, + "newyork": 18140, + "newyork": 10454, + "newyorkcity": 30460, + "newyorker": 39732, + "newzealand": 21117, + "nex": 6897, + "nex": 39720, + "next": 12434, + "next": 1131, + "nextgen": 41933, + "nexus": 19053, + "ney": 3857, + "ney": 1438, + "neymar": 21878, + "neys": 12616, + "nez": 27388, + "nf": 15195, + "nf": 25643, + "nfamily": 20098, + "nfc": 23695, + "nffc": 27893, + "nfl": 11219, + "nfl": 4691, + "nfldraft": 25002, + "ng": 10352, + "ng": 5215, + "nga": 35477, + "ngc": 29046, + "ngo": 38740, + "ngo": 24821, + "ngos": 34627, + "nguyen": 29947, + "nh": 3760, + "nh": 10803, + "nhc": 44817, + "nhl": 12290, + "nhl": 8167, + "nhlbruins": 39081, + "nhljets": 49357, + "nhm": 39483, + "nhpolitics": 36125, + "nhq": 42368, + "nhra": 30052, + "nhs": 23282, + "nhs": 7695, + "ni": 697, + "ni": 3256, + "nia": 3098, + "niag": 18071, + "niagar": 39298, + "niagara": 18965, + "niall": 41354, + "niall": 8327, + "niallo": 22855, + "niallofficial": 23084, + "niam": 39347, + "nian": 46003, + "nib": 31049, + "nic": 2109, + "nic": 6651, + "nica": 29040, + "nicar": 25119, + "nicaragua": 28423, + "nice": 28386, + "nice": 1805, + "nicely": 12303, + "nicer": 29488, + "nicest": 22967, + "niche": 25279, + "nichol": 7668, + "nicholas": 39814, + "nicholas": 13148, + "nicholls": 38846, + "nichols": 22730, + "nicholson": 28745, + "nick": 4209, + "nick": 4253, + "nickel": 22034, + "nickelo": 28668, + "nickelodeon": 33279, + "nicki": 17738, + "nickimin": 27390, + "nickiminaj": 27593, + "nickjonas": 43862, + "nickname": 24731, + "nicknamed": 45190, + "nicks": 15049, + "nicky": 28893, + "nicky": 22091, + "nico": 20850, + "nico": 17779, + "nicol": 9919, + "nicol": 48274, + "nicola": 21791, + "nicolas": 43813, + "nicolas": 18918, + "nicole": 21246, + "nicole": 10000, + "nicot": 45099, + "nicotine": 46697, + "nie": 9524, + "nie": 3501, + "niece": 12795, + "nieces": 44877, + "niel": 19109, + "niel": 26837, + "niels": 37154, + "nielsen": 28372, + "nier": 13014, + "nies": 10586, + "niest": 15007, + "nieu": 29781, + "nific": 4748, + "nifty": 25604, + "nig": 27933, + "nig": 28099, + "nigan": 48516, + "nigel": 33919, + "nigel": 15153, + "niger": 4524, + "niger": 29920, + "nigeri": 40913, + "nigeria": 6106, + "nigerian": 12167, + "nigerians": 25358, + "nigh": 13525, + "nigh": 48157, + "night": 3870, + "night": 930, + "nightclub": 20418, + "nighter": 41349, + "nighting": 36211, + "nightingale": 40696, + "nightlife": 28823, + "nightly": 28868, + "nightmare": 12867, + "nightmares": 24032, + "nightout": 44257, + "nights": 4296, + "nighttime": 38147, + "nightw": 39956, + "nih": 25783, + "nik": 5126, + "nik": 13705, + "nike": 16300, + "nike": 5783, + "nikeplus": 43154, + "niki": 36136, + "nikita": 37118, + "nikk": 38596, + "nikki": 23156, + "nikki": 16689, + "niko": 43771, + "nikol": 27430, + "nikola": 42146, + "nikon": 25488, + "nikon": 13849, + "nikov": 43960, + "nil": 16852, + "nil": 35030, + "nile": 24252, + "nim": 30402, + "nim": 42093, + "nima": 42586, + "nin": 5794, + "nin": 14145, + "nina": 13891, + "nine": 16213, + "nine": 7330, + "ninety": 48214, + "ning": 6050, + "ning": 762, + "ningham": 23395, + "ningly": 43537, + "nings": 4588, + "nington": 26214, + "ninj": 23225, + "ninja": 11969, + "ninjas": 42796, + "nino": 25633, + "ninten": 6184, + "nintendo": 13969, + "nintendo": 7886, + "nintendoswitch": 16404, + "ninth": 22770, + "nip": 33889, + "nip": 22333, + "nipp": 24634, + "nipple": 45987, + "nipples": 44774, + "nippon": 47960, + "nips": 49241, + "nir": 15503, + "nir": 40057, + "nireland": 45763, + "niro": 47373, + "nirvana": 28300, + "nis": 5609, + "nis": 3786, + "nish": 19834, + "nish": 13256, + "nished": 24141, + "nishi": 32386, + "nishings": 49247, + "nison": 45700, + "niss": 39043, + "nissan": 37635, + "nissan": 11082, + "nist": 17782, + "nister": 36640, + "nit": 4087, + "nit": 19011, + "nite": 8427, + "niti": 43964, + "niti": 45355, + "nitin": 37529, + "nitro": 30726, + "nitrogen": 30706, + "niture": 7840, + "nity": 12707, + "niu": 48187, + "niv": 47300, + "niversary": 29643, + "nix": 48552, + "nix": 32278, + "nixon": 20671, + "nj": 8343, + "nj": 6672, + "njcaa": 48992, + "njpw": 38992, + "nk": 22708, + "nk": 17456, + "nko": 36353, + "nl": 12057, + "nl": 7655, + "nli": 37502, + "nlp": 35680, + "nlwx": 49260, + "nm": 15956, + "nm": 11370, + "nmd": 43331, + "nme": 40454, + "nmwx": 47967, + "nn": 8947, + "nn": 12925, + "nnn": 26277, + "nnnn": 41420, + "no": 578, + "no": 871, + "noaa": 27557, + "noah": 28806, + "noah": 11519, + "nobel": 33742, + "nobel": 15605, + "nobelprize": 46074, + "noble": 29430, + "noble": 12051, + "nobody": 7009, + "noc": 16988, + "noc": 44420, + "nocchi": 46359, + "noch": 38672, + "noche": 29689, + "noches": 44166, + "nock": 16993, + "noctur": 26291, + "nocturnal": 41738, + "nod": 18648, + "nodapl": 39079, + "node": 31434, + "node": 24871, + "nodejs": 39262, + "nodes": 40534, + "noel": 38406, + "noel": 17496, + "nof": 29505, + "noff": 46979, + "nofilter": 16418, + "nog": 31157, + "noh": 40775, + "noi": 43115, + "noi": 39889, + "noida": 33404, + "noir": 39291, + "noir": 12953, + "nois": 22057, + "noise": 41018, + "noise": 9307, + "noises": 31575, + "noisse": 45686, + "noisy": 33495, + "nokia": 17731, + "nol": 8055, + "nola": 13289, + "nolan": 17323, + "nold": 40322, + "nole": 34654, + "noles": 40569, + "nollywood": 43145, + "nology": 42221, + "nom": 2981, + "nom": 12799, + "nomad": 27849, + "noman": 45592, + "nomin": 5643, + "nominate": 17122, + "nominated": 8710, + "nominating": 45747, + "nomination": 14136, + "nominations": 17124, + "nominee": 14122, + "nominees": 17873, + "nomnom": 26962, + "nomore": 35126, + "noms": 35706, + "non": 4282, + "non": 3353, + "none": 29644, + "none": 8906, + "nonetheless": 39675, + "nonfiction": 31654, + "nonprofit": 19315, + "nonprofits": 37935, + "nonsense": 19136, + "nonstop": 30300, + "nont": 25207, + "noo": 6759, + "noo": 46672, + "noodle": 19521, + "noodles": 15782, + "nook": 30088, + "noon": 37693, + "noon": 2347, + "noor": 46978, + "noor": 31323, + "nope": 15625, + "nor": 1062, + "nor": 6190, + "nora": 25890, + "norcal": 41970, + "nord": 19261, + "nord": 36067, + "nordic": 36439, + "nordic": 20734, + "nordstrom": 38562, + "norfolk": 30232, + "norfolk": 12202, + "norm": 10990, + "norm": 22457, + "norma": 35757, + "normal": 28748, + "normal": 5967, + "normali": 45157, + "normally": 15870, + "norman": 22027, + "norman": 11338, + "normandy": 23840, + "normani": 44596, + "norms": 33011, + "norris": 21814, + "norse": 36559, + "norte": 35638, + "north": 3468, + "north": 2188, + "northampton": 49246, + "northampton": 26175, + "northan": 37081, + "northbound": 24228, + "northcarolina": 43386, + "northe": 24675, + "northeast": 42673, + "northeast": 13009, + "northeastern": 28297, + "northeasthour": 42869, + "norther": 26908, + "northern": 17210, + "northern": 5049, + "northernlights": 48940, + "northkorea": 38495, + "northside": 45957, + "northumber": 22295, + "northumberland": 22922, + "northwales": 49371, + "northwest": 12894, + "northwestern": 23685, + "norton": 18032, + "norway": 8780, + "norwe": 14414, + "norwegian": 15971, + "norwich": 37629, + "norwich": 15812, + "norwood": 37889, + "nos": 13420, + "nose": 24192, + "nose": 8231, + "noses": 48163, + "nostal": 12076, + "nostalgia": 16622, + "nostalgic": 24468, + "not": 2534, + "not": 783, + "notable": 22023, + "notch": 19476, + "notdead": 42059, + "note": 10910, + "note": 3246, + "notebook": 16365, + "notebooks": 37623, + "noted": 22501, + "notes": 5795, + "nothin": 24291, + "nothing": 28412, + "nothing": 2586, + "noti": 10686, + "notic": 6915, + "notice": 6683, + "noticeable": 40857, + "noticed": 9324, + "notices": 33459, + "noticias": 47759, + "noticing": 37571, + "notification": 22512, + "notifications": 23169, + "notified": 39454, + "noting": 38649, + "notion": 37856, + "notjust": 33212, + "notjustlakes": 45803, + "notmy": 39301, + "noto": 29878, + "noton": 48258, + "notor": 21711, + "notori": 44065, + "notorious": 22489, + "notre": 24397, + "notre": 15306, + "notredame": 34077, + "notsorry": 34361, + "nott": 9333, + "nott": 34989, + "notte": 47308, + "nottingham": 12852, + "notts": 25598, + "nou": 8751, + "nou": 30953, + "noun": 33663, + "nouri": 23796, + "nourish": 46025, + "nourished": 48354, + "nous": 29485, + "nouveau": 29948, + "nouvel": 34215, + "nov": 2264, + "nov": 4293, + "nova": 11236, + "novak": 26465, + "novasco": 33785, + "novascotia": 34744, + "novation": 39753, + "nove": 30507, + "novel": 15044, + "novel": 6080, + "novelist": 27314, + "novella": 42770, + "novels": 16040, + "novelty": 37750, + "november": 3680, + "nover": 37465, + "novi": 47957, + "novice": 33743, + "novo": 27504, + "novo": 36581, + "now": 2040, + "now": 692, + "nowadays": 26155, + "nowhere": 14108, + "nowplaying": 3708, + "nowwatching": 30852, + "nox": 27406, + "noxi": 39304, + "noxious": 42833, + "noy": 32787, + "np": 18205, + "np": 6314, + "npa": 42378, + "npc": 33966, + "npr": 39941, + "npr": 24078, + "nps": 22025, + "npt": 47231, + "nr": 6574, + "nr": 9713, + "nra": 17286, + "nrc": 45786, + "nrf": 47982, + "nrg": 48662, + "nrl": 27142, + "nrl": 18127, + "ns": 12405, + "ns": 1373, + "nsa": 23004, + "nsc": 32792, + "nsd": 36659, + "nsf": 34180, + "nsfw": 19847, + "nsi": 47824, + "nsw": 21301, + "nsw": 11693, + "nswpol": 44434, + "nt": 10902, + "nt": 3207, + "ntr": 30845, + "nts": 43775, + "ntt": 22859, + "ntv": 24807, + "ntv": 45304, + "nu": 1156, + "nu": 9444, + "nucle": 25693, + "nuclear": 34136, + "nuclear": 7279, + "nude": 16630, + "nudes": 32122, + "nue": 22834, + "nuestra": 45649, + "nuestro": 38590, + "nuev": 47861, + "nueva": 48810, + "nuevo": 30265, + "nufc": 15720, + "nuff": 37324, + "nug": 13471, + "nugent": 47457, + "nugget": 25448, + "nuggets": 18970, + "nuh": 45950, + "nuit": 38815, + "nuk": 39228, + "nuke": 39399, + "nul": 29358, + "null": 47376, + "num": 17896, + "num": 30534, + "numb": 34639, + "numb": 39427, + "number": 44078, + "number": 2842, + "numbered": 25975, + "numbers": 6121, + "numer": 11442, + "numerous": 17082, + "numis": 39100, + "nun": 12511, + "nun": 28540, + "nunavut": 48626, + "nunes": 40697, + "nuns": 44061, + "nup": 46757, + "nur": 3920, + "nur": 33493, + "nure": 42480, + "nurse": 37547, + "nurse": 10058, + "nursery": 15540, + "nurses": 12938, + "nursing": 11126, + "nurture": 38865, + "nurturing": 45229, + "nus": 25157, + "nus": 18239, + "nut": 10358, + "nut": 6491, + "nutcracker": 36733, + "nutella": 27312, + "nutr": 6198, + "nutri": 15470, + "nutrient": 32900, + "nutrients": 24668, + "nutriti": 17978, + "nutrition": 41546, + "nutrition": 7989, + "nutritional": 26457, + "nutritious": 30387, + "nuts": 8644, + "nutshell": 26659, + "nutty": 39846, + "nv": 17217, + "nv": 16985, + "nvi": 22847, + "nvidia": 27325, + "nw": 7826, + "nw": 7030, + "nwa": 34237, + "nwo": 40976, + "nws": 23333, + "nws": 30998, + "nwsl": 48394, + "nwt": 25029, + "nx": 18810, + "nx": 16997, + "nxt": 35037, + "nxt": 17804, + "ny": 1383, + "ny": 1350, + "nya": 24165, + "nyc": 13304, + "nyc": 2832, + "nycc": 27187, + "nycfc": 47497, + "nye": 40723, + "nye": 13416, + "nyfw": 21089, + "nyk": 46841, + "nylon": 25915, + "nyo": 41534, + "nyo": 44586, + "nypd": 42293, + "nypd": 18279, + "nyr": 32538, + "nyrd": 47936, + "nys": 36375, + "nys": 23423, + "nyse": 32650, + "nyt": 46311, + "nyt": 12816, + "nytimes": 13772, + "nyu": 43143, + "nyu": 31355, + "nz": 10142, + "nz": 7082, + "o": 78, + "o": 334, + "oa": 11994, + "oahu": 37790, + "oak": 6010, + "oak": 7221, + "oakland": 42663, + "oakland": 12077, + "oakley": 27810, + "oaks": 16734, + "oakville": 38500, + "oasis": 18185, + "oat": 20095, + "oat": 34132, + "oates": 47094, + "oath": 20108, + "oatmeal": 26374, + "oats": 24150, + "oax": 43090, + "oaxaca": 47818, + "ob": 1411, + "ob": 14908, + "oba": 42902, + "oba": 15147, + "obam": 13174, + "obama": 4276, + "obamacare": 18005, + "obe": 11897, + "obe": 29117, + "obedience": 48921, + "ober": 15284, + "obese": 41757, + "obesity": 19499, + "obey": 26926, + "obi": 21454, + "obi": 18414, + "obile": 20513, + "obitu": 39218, + "obituary": 43580, + "objec": 7970, + "object": 14115, + "objective": 23663, + "objectives": 30238, + "objects": 13770, + "obl": 31452, + "oblast": 42672, + "obli": 11416, + "obligation": 34473, + "obligations": 38232, + "obligatory": 35020, + "oblivion": 45323, + "obo": 46001, + "obo": 26618, + "obrien": 31946, + "obs": 39162, + "obsc": 20392, + "obscure": 33337, + "obse": 8433, + "observ": 9050, + "observation": 20250, + "observations": 27409, + "observatory": 21236, + "observe": 23217, + "observed": 21267, + "observer": 22077, + "observers": 47544, + "observing": 28359, + "obsessed": 9744, + "obsession": 15718, + "obsi": 47323, + "obsole": 35561, + "obsolete": 40628, + "obst": 29398, + "obstac": 24075, + "obstacle": 29751, + "obstacles": 24480, + "obste": 49103, + "obstru": 44876, + "obstruc": 38762, + "obstruction": 40240, + "obtain": 26555, + "obtained": 29322, + "obvious": 13959, + "obviously": 10068, + "oc": 1566, + "oc": 6603, + "oca": 31120, + "ocal": 38148, + "occ": 43940, + "occa": 8530, + "occasion": 12280, + "occasional": 33059, + "occasionally": 32479, + "occasions": 26154, + "occer": 20804, + "occi": 42994, + "occu": 7863, + "occult": 42529, + "occup": 11152, + "occupation": 18624, + "occupational": 30644, + "occupied": 17271, + "occupy": 22453, + "occupy": 24210, + "occur": 11264, + "occur": 21813, + "occurred": 19850, + "occurrence": 40615, + "occurring": 31335, + "occurs": 26563, + "ocd": 35904, + "oce": 3509, + "ocean": 12941, + "ocean": 4918, + "oceans": 16792, + "och": 29334, + "och": 32011, + "oche": 33045, + "oci": 9891, + "ocity": 46039, + "ock": 33579, + "ock": 21313, + "ocks": 22410, + "oclock": 36274, + "oco": 32553, + "ocon": 33090, + "ocr": 45813, + "ocre": 40320, + "ocs": 27297, + "oct": 4565, + "octa": 23444, + "octag": 37768, + "octagon": 49167, + "octane": 43040, + "octavia": 47416, + "octo": 31032, + "october": 3481, + "octopus": 22327, + "ocu": 22709, + "oculus": 30082, + "od": 4886, + "od": 9719, + "oda": 24777, + "oday": 41954, + "odd": 15525, + "odd": 11387, + "oddly": 34213, + "odds": 11555, + "ode": 19125, + "ode": 19639, + "odell": 41556, + "odessa": 43574, + "odi": 12223, + "odi": 18853, + "odin": 35175, + "odisha": 15737, + "odo": 49188, + "odo": 40993, + "odor": 39509, + "odu": 35095, + "odu": 39904, + "odyssey": 19991, + "oe": 24251, + "oe": 11667, + "oec": 24288, + "oecd": 30816, + "oem": 29650, + "oes": 3643, + "of": 684, + "of": 539, + "ofa": 29774, + "ofc": 19877, + "ofe": 30000, + "ofer": 47322, + "off": 892, + "off": 1007, + "offe": 8261, + "offee": 34059, + "offen": 7231, + "offence": 34594, + "offences": 33972, + "offended": 30765, + "offender": 48294, + "offenders": 35878, + "offense": 15253, + "offensive": 11037, + "offer": 20607, + "offer": 3271, + "offered": 9395, + "offering": 6896, + "offerings": 24535, + "offers": 4679, + "offic": 3276, + "office": 18033, + "office": 2171, + "officeof": 38750, + "officeofrg": 47100, + "officer": 4683, + "officers": 6335, + "offices": 10933, + "offici": 1401, + "official": 5768, + "official": 1868, + "officially": 4226, + "officials": 7658, + "officiel": 26548, + "offl": 16851, + "offline": 22724, + "offro": 32198, + "offroad": 37173, + "offs": 23987, + "offseason": 25485, + "offset": 28843, + "offshore": 15496, + "offside": 49347, + "offspring": 38635, + "offthe": 38189, + "ofi": 36692, + "ofi": 49090, + "oficial": 18061, + "oft": 16693, + "oftball": 39768, + "often": 4864, + "ofthe": 7592, + "oftheday": 6988, + "oftheweek": 20654, + "oftheyear": 33975, + "og": 11542, + "og": 8555, + "oga": 47312, + "ogden": 42011, + "ogil": 39013, + "ography": 22399, + "ogue": 24761, + "ogun": 48970, + "oh": 5648, + "oh": 1779, + "ohana": 48330, + "ohh": 23076, + "ohhh": 27697, + "ohhhh": 40201, + "ohi": 5207, + "ohio": 18951, + "ohio": 6155, + "ohiostate": 41324, + "ohl": 45547, + "ohl": 41095, + "ohmy": 29758, + "ohn": 48043, + "ohs": 39542, + "ohwx": 47993, + "oi": 27357, + "oi": 13934, + "oic": 45554, + "oid": 14758, + "oids": 21847, + "oil": 11973, + "oil": 2870, + "oiland": 32316, + "oilandgas": 34130, + "oilers": 21627, + "oilpainting": 34279, + "oils": 17886, + "oily": 47550, + "oir": 48079, + "oir": 37113, + "ois": 23262, + "oit": 18453, + "oitnb": 34865, + "oj": 30986, + "oj": 34553, + "ok": 1944, + "ok": 2481, + "oka": 42258, + "oka": 19092, + "okan": 41263, + "okanagan": 43233, + "okay": 4917, + "okc": 42418, + "okc": 18357, + "oke": 26636, + "oke": 23598, + "oki": 20390, + "okin": 30687, + "okinawa": 35877, + "okla": 9431, + "oklahoma": 10170, + "oko": 26892, + "oko": 26095, + "okstate": 36356, + "oktoberfest": 32026, + "oku": 45010, + "oku": 43829, + "okwx": 27336, + "ol": 562, + "ol": 2985, + "ola": 20499, + "ola": 3373, + "olaf": 39709, + "olan": 48489, + "olan": 24227, + "oland": 26452, + "olas": 40800, + "old": 4931, + "old": 896, + "olde": 37731, + "older": 7700, + "oldest": 9285, + "oldham": 29929, + "oldie": 35280, + "oldies": 36278, + "oldman": 48614, + "olds": 8580, + "oldschool": 44384, + "oldschool": 25133, + "oldsmobile": 45396, + "ole": 9089, + "ole": 1947, + "oled": 46768, + "oler": 24069, + "oles": 16962, + "olf": 16346, + "olga": 34779, + "oli": 3811, + "oli": 8810, + "olic": 31341, + "oligar": 46185, + "olim": 47769, + "olin": 37823, + "olin": 18283, + "olina": 34711, + "oline": 17441, + "oling": 38033, + "olini": 36040, + "olis": 49397, + "olithic": 35574, + "olive": 22486, + "olive": 9898, + "oliver": 22882, + "oliver": 9261, + "olives": 27149, + "olivi": 20773, + "olivia": 11697, + "olivier": 23891, + "oll": 32270, + "oll": 15510, + "olla": 31908, + "ollie": 24434, + "olls": 42697, + "olly": 23998, + "olo": 14628, + "olo": 7606, + "ological": 12345, + "ologist": 23442, + "ologists": 30912, + "ology": 4627, + "olor": 29245, + "olph": 25077, + "ols": 2236, + "olsen": 26307, + "olson": 28046, + "olt": 46252, + "olu": 16502, + "olu": 46302, + "olulu": 27645, + "oly": 20323, + "oly": 24823, + "olym": 3594, + "olympi": 13597, + "olympia": 23965, + "olympiad": 47694, + "olympian": 25420, + "olympians": 44583, + "olympic": 26099, + "olympic": 6388, + "olympics": 7629, + "olympus": 30960, + "om": 547, + "om": 3932, + "oma": 44603, + "oma": 5358, + "omaha": 16509, + "oman": 22088, + "oman": 10871, + "omar": 19488, + "omar": 13367, + "omars": 37099, + "omas": 36023, + "omat": 40788, + "omb": 34447, + "ombe": 35967, + "omd": 49346, + "ome": 3693, + "ome": 5832, + "omed": 16835, + "omega": 13465, + "omelette": 38789, + "omen": 9969, + "omen": 25469, + "oment": 43683, + "omeo": 39844, + "omer": 24087, + "omer": 17902, + "omes": 25736, + "ometer": 20060, + "ometric": 38702, + "omez": 12541, + "omf": 47496, + "omfg": 12523, + "omg": 35233, + "omg": 3186, + "omi": 24097, + "omi": 10341, + "omic": 40536, + "omic": 12793, + "omics": 15138, + "omile": 46915, + "omin": 16457, + "omination": 42571, + "oming": 10796, + "ominous": 40914, + "omni": 18793, + "omni": 39489, + "omnibus": 44760, + "omnic": 48383, + "omo": 14478, + "omo": 11066, + "omon": 48758, + "omor": 29431, + "oms": 3770, + "omusic": 38965, + "omy": 40805, + "omy": 6884, + "on": 521, + "on": 525, + "ona": 2687, + "onair": 29511, + "onal": 918, + "onboard": 21689, + "once": 16331, + "once": 2654, + "onceupon": 28122, + "onceuponatime": 33505, + "onco": 46700, + "oncology": 24593, + "ond": 27918, + "ond": 2636, + "onda": 32643, + "onday": 29864, + "onde": 44532, + "ondo": 29529, + "ondon": 42043, + "ondon": 11851, + "one": 1980, + "one": 637, + "onec": 27746, + "oned": 28012, + "oned": 4698, + "onedirection": 16245, + "onee": 44433, + "oneill": 44808, + "onelove": 47417, + "onent": 12147, + "onents": 11709, + "oneof": 48478, + "onep": 20440, + "onepiece": 43153, + "oneplus": 25981, + "oner": 30055, + "oner": 6071, + "oners": 12324, + "ones": 20757, + "ones": 1575, + "oneself": 46874, + "onesie": 33237, + "oness": 25379, + "onet": 36058, + "oneteam": 41094, + "onetsy": 33392, + "onew": 43848, + "onews": 18696, + "onex": 49116, + "oney": 44498, + "oney": 9408, + "onf": 41790, + "onfox": 29874, + "ong": 2787, + "ong": 846, + "onga": 30259, + "ongchang": 35071, + "ongi": 21754, + "ongo": 31226, + "ongoing": 10393, + "ongs": 12143, + "oni": 4385, + "oni": 8048, + "onia": 8001, + "onial": 27599, + "onian": 21090, + "onic": 15838, + "onic": 3711, + "onica": 14631, + "onics": 9779, + "onie": 35249, + "onies": 22601, + "onimo": 41271, + "oning": 5197, + "onion": 10985, + "onions": 15255, + "onist": 10099, + "onists": 19659, + "onix": 27370, + "onized": 43657, + "onlin": 31103, + "online": 12940, + "online": 2027, + "onlinemarketing": 41820, + "onlineshopping": 38587, + "only": 11646, + "only": 1033, + "onlyin": 32947, + "onna": 25438, + "onna": 35458, + "onnaise": 48934, + "onne": 23466, + "onnell": 45613, + "ono": 28165, + "ono": 14388, + "onom": 48014, + "onomy": 36873, + "onpoli": 20708, + "ons": 26076, + "ons": 708, + "onsale": 36324, + "onset": 30527, + "onsite": 37336, + "onstage": 21821, + "onstorm": 49333, + "ont": 34303, + "ont": 11157, + "ontari": 6739, + "ontario": 42766, + "ontario": 7436, + "onte": 34723, + "onthe": 12241, + "onther": 46563, + "ontheroad": 47516, + "onthisday": 6862, + "onto": 11745, + "onto": 3141, + "ontology": 37364, + "ontour": 32155, + "onu": 44142, + "onward": 34827, + "onwards": 20682, + "ony": 9490, + "ony": 2926, + "onym": 11483, + "onymous": 13038, + "onyx": 31353, + "oo": 574, + "oo": 2822, + "ood": 16429, + "ood": 738, + "oodle": 45289, + "oods": 44660, + "oof": 42270, + "ooh": 16806, + "ook": 22326, + "ook": 8394, + "ooks": 31082, + "ool": 37702, + "ool": 929, + "oom": 22786, + "oom": 15002, + "oomf": 40607, + "oon": 35651, + "oon": 7100, + "ooo": 9571, + "oooh": 28927, + "oooo": 4002, + "oooo": 13643, + "ooooo": 12532, + "oooooo": 43590, + "oooooo": 20372, + "ooooooo": 30859, + "oooooooo": 15473, + "oooooooo": 43408, + "oooooooooooooooo": 48645, + "oop": 7326, + "ooper": 39906, + "oops": 9116, + "oor": 35239, + "oos": 9896, + "oosa": 30834, + "oose": 38941, + "oot": 17667, + "ootball": 28914, + "ootd": 16547, + "ooth": 12682, + "oott": 34316, + "ooza": 22809, + "op": 676, + "op": 3691, + "opa": 28949, + "opal": 28982, + "opar": 18167, + "opath": 33079, + "opathic": 37521, + "opathy": 28466, + "opau": 27239, + "opd": 38288, + "ope": 31694, + "ope": 11440, + "opec": 33138, + "opel": 36952, + "open": 3647, + "open": 1488, + "openaccess": 26591, + "opend": 28069, + "opendata": 35709, + "openday": 46991, + "opened": 5303, + "opener": 8998, + "openhouse": 36091, + "opening": 33728, + "opening": 2516, + "openingday": 36359, + "openings": 27643, + "openly": 23005, + "opens": 4801, + "opensource": 29930, + "oper": 2796, + "oper": 37533, + "opera": 8056, + "operate": 19306, + "operated": 23031, + "operates": 38675, + "operating": 12218, + "operation": 27173, + "operation": 7639, + "operational": 18237, + "operations": 8106, + "operative": 28380, + "operator": 15972, + "operators": 19267, + "opers": 48728, + "opes": 37258, + "oph": 6796, + "opha": 38634, + "ophel": 45017, + "ophelia": 49118, + "ophi": 44547, + "ophile": 35915, + "opho": 12900, + "ophobia": 21111, + "ophobic": 29934, + "ophon": 25120, + "ophone": 26345, + "ophthal": 33135, + "ophy": 28539, + "opi": 40056, + "opi": 48994, + "opin": 7636, + "opini": 14825, + "opinion": 7843, + "opinions": 16192, + "opio": 17371, + "opioid": 22833, + "opioids": 47578, + "opla": 36270, + "ople": 25663, + "opol": 15173, + "opoly": 23729, + "opor": 39650, + "opoulos": 42020, + "opp": 2020, + "opp": 21024, + "oppa": 23637, + "oppo": 7399, + "oppo": 41770, + "opponent": 17002, + "opponents": 19664, + "oppor": 2914, + "opportun": 2939, + "opportunities": 5978, + "opportunity": 4004, + "oppos": 10091, + "oppose": 23617, + "opposed": 22509, + "opposes": 47471, + "opposing": 24376, + "opposite": 12872, + "opposition": 11062, + "oppre": 17341, + "oppressed": 41492, + "oppression": 30650, + "opra": 28291, + "oprah": 22562, + "opry": 35340, + "ops": 3054, + "opt": 45103, + "opt": 27188, + "opted": 42035, + "opti": 6580, + "optic": 25190, + "optic": 24755, + "optical": 16822, + "optics": 27165, + "optim": 22331, + "optimal": 25235, + "optimi": 9737, + "optimis": 39459, + "optimism": 25226, + "optimist": 44581, + "optimistic": 23104, + "optimization": 25125, + "optimize": 30456, + "optimized": 43939, + "optimizing": 49157, + "optimum": 35974, + "optimus": 43453, + "option": 8464, + "optional": 25411, + "options": 7063, + "optome": 35533, + "opul": 39858, + "opus": 33295, + "opy": 21835, + "or": 523, + "or": 541, + "ora": 4301, + "orac": 24673, + "oracle": 37308, + "oracle": 15966, + "orah": 40820, + "orail": 45120, + "oral": 32490, + "oral": 6007, + "orama": 33619, + "oran": 32209, + "oran": 28395, + "orang": 22116, + "orange": 13957, + "orange": 4287, + "oranges": 32417, + "orangu": 36112, + "orb": 28894, + "orb": 36958, + "orbit": 19713, + "orbital": 40312, + "orc": 44305, + "orca": 18631, + "orcas": 47676, + "orch": 11893, + "orchar": 40226, + "orchard": 19530, + "orche": 8004, + "orchestr": 42937, + "orchestra": 9573, + "orchestral": 40285, + "orchi": 23696, + "orchid": 18678, + "orchids": 28376, + "ord": 26903, + "ord": 11502, + "orda": 33462, + "ordained": 38302, + "order": 24613, + "order": 2191, + "ordered": 8335, + "ordering": 19588, + "orderly": 43457, + "orders": 6187, + "ordin": 4378, + "ordinance": 38583, + "ordinary": 8012, + "ore": 3580, + "ore": 1423, + "orean": 36696, + "ored": 5133, + "oregon": 21759, + "oregon": 8035, + "oren": 21645, + "oreo": 21873, + "oreos": 41688, + "ores": 17328, + "org": 3401, + "org": 5593, + "organ": 3338, + "organ": 13213, + "organi": 3636, + "organic": 24080, + "organic": 5980, + "organics": 44199, + "organis": 13204, + "organisation": 15868, + "organisations": 20651, + "organise": 36073, + "organised": 13191, + "organiser": 49141, + "organisers": 35778, + "organising": 22787, + "organisms": 37041, + "organiz": 11107, + "organization": 8064, + "organizational": 29510, + "organizations": 13453, + "organize": 19973, + "organized": 10681, + "organizer": 23905, + "organizers": 27191, + "organizing": 15779, + "organs": 29872, + "orgs": 29500, + "ori": 1540, + "ori": 8693, + "oria": 11474, + "orial": 8648, + "orian": 21193, + "oric": 43810, + "orice": 41341, + "orie": 18815, + "orient": 13149, + "orient": 30770, + "oriental": 23056, + "orientation": 16873, + "oriente": 40390, + "oriented": 24596, + "orienteering": 42985, + "ories": 5934, + "orig": 2273, + "orig": 38463, + "origami": 31832, + "origin": 2555, + "origin": 12372, + "original": 18496, + "original": 3117, + "originally": 12849, + "originals": 16953, + "originated": 41823, + "origins": 16291, + "orin": 39863, + "oring": 3006, + "orio": 24308, + "orioles": 21430, + "orion": 21765, + "oris": 37064, + "orities": 7903, + "ority": 5556, + "orium": 12015, + "ork": 22202, + "ork": 37235, + "orkney": 34254, + "orl": 39465, + "orlando": 32247, + "orlando": 7827, + "orleans": 11127, + "orm": 38464, + "orn": 25412, + "orn": 8130, + "ornam": 36122, + "ornament": 23409, + "ornamental": 46270, + "ornaments": 28968, + "ornate": 46865, + "orni": 27713, + "ornithology": 38275, + "orns": 19340, + "oro": 9848, + "oro": 14573, + "orous": 19286, + "orph": 17318, + "orphan": 22718, + "orphan": 28994, + "orphanage": 45196, + "orphaned": 46792, + "orphans": 36588, + "orphe": 39186, + "orr": 32977, + "ors": 1127, + "orship": 20846, + "ort": 1019, + "ortega": 39727, + "orth": 22584, + "orth": 24461, + "ortho": 11366, + "orthodon": 37730, + "orthodox": 19008, + "orthop": 42123, + "orthopedic": 49341, + "ortiz": 23544, + "orton": 37238, + "oru": 44629, + "oru": 31281, + "orum": 42724, + "orwell": 41218, + "ory": 16983, + "ory": 1985, + "os": 2211, + "os": 1299, + "osa": 16340, + "osa": 17237, + "osaka": 21347, + "osborne": 22402, + "osbourne": 43376, + "osc": 5092, + "oscar": 21157, + "oscar": 8191, + "oscars": 11098, + "osce": 37303, + "oscill": 38272, + "ose": 46942, + "ose": 22541, + "osh": 30717, + "osh": 35011, + "osha": 33907, + "oshi": 34770, + "osi": 25247, + "osi": 17636, + "osis": 13903, + "osity": 12730, + "oslo": 20547, + "osm": 31626, + "osman": 46539, + "oso": 42793, + "oso": 21285, + "osp": 24387, + "ospre": 49001, + "osprey": 37893, + "oss": 29362, + "oss": 34640, + "ost": 23701, + "ost": 18749, + "oste": 20632, + "osteo": 43163, + "oster": 31781, + "ostr": 33673, + "ostrich": 47640, + "osu": 29480, + "osu": 19818, + "oswald": 38471, + "ot": 1863, + "ot": 2062, + "ota": 17509, + "ota": 8741, + "otago": 45919, + "otaku": 40743, + "otas": 47616, + "otc": 37934, + "otd": 5683, + "ote": 28511, + "ote": 19744, + "otes": 27280, + "oth": 33262, + "oth": 33519, + "other": 9758, + "other": 1010, + "others": 3326, + "otherwise": 12376, + "oti": 19567, + "oti": 45564, + "otic": 9671, + "otis": 28246, + "otive": 10877, + "oto": 23946, + "oto": 23399, + "otp": 29822, + "otr": 38685, + "ots": 5769, + "ott": 10167, + "ott": 7936, + "otta": 7623, + "otta": 20941, + "ottawa": 49027, + "ottawa": 9019, + "otte": 35214, + "otter": 34710, + "otter": 22456, + "otters": 38883, + "otti": 36721, + "ottnews": 33995, + "otto": 17730, + "ottoman": 27503, + "otw": 35259, + "otwol": 46868, + "ou": 520, + "ou": 6544, + "ouat": 32954, + "ouch": 13493, + "oud": 1359, + "oue": 48838, + "ouf": 34618, + "ough": 4204, + "ough": 991, + "ought": 2253, + "oughton": 36860, + "oui": 39421, + "ouk": 21796, + "oul": 20253, + "oul": 8081, + "ould": 859, + "oulos": 32808, + "oun": 636, + "oun": 20960, + "ounce": 15027, + "ounces": 30299, + "ound": 2013, + "ound": 853, + "oundation": 40132, + "ounded": 9634, + "ounding": 11944, + "ounds": 2753, + "oung": 35875, + "oung": 25341, + "ounge": 29427, + "ount": 43801, + "ount": 4172, + "ounts": 10963, + "oup": 32815, + "our": 727, + "our": 581, + "oura": 29806, + "oura": 36352, + "ourable": 24126, + "ourage": 34525, + "oural": 45840, + "oured": 6956, + "ouri": 12696, + "ouring": 12000, + "ourism": 25496, + "ourke": 26480, + "ourlives": 37541, + "ouro": 41224, + "ours": 1491, + "ourse": 15415, + "ourselves": 10124, + "ourt": 22960, + "oury": 29484, + "ous": 1987, + "ous": 879, + "ouse": 32048, + "ouse": 7603, + "ouses": 33666, + "ously": 2501, + "ousness": 10689, + "ousy": 28302, + "out": 1130, + "out": 620, + "outa": 35187, + "outage": 27320, + "outages": 40353, + "outback": 28532, + "outbound": 41256, + "outbreak": 20103, + "outcome": 16552, + "outcomes": 14016, + "outdated": 38313, + "outdoor": 19184, + "outdoor": 6368, + "outdoors": 10469, + "oute": 44180, + "outed": 34435, + "outer": 30499, + "outer": 14188, + "outes": 39600, + "outfield": 41826, + "outfit": 6525, + "outfits": 16366, + "outfitters": 37725, + "outfy": 34920, + "outgoing": 27302, + "outh": 16933, + "outh": 8111, + "outine": 35452, + "outing": 11251, + "outlander": 45820, + "outlander": 17095, + "outlaw": 37498, + "outlaw": 27340, + "outlaws": 30935, + "outlet": 16855, + "outlets": 20822, + "outline": 26894, + "outlines": 29159, + "outlining": 45960, + "outlook": 12983, + "outof": 43958, + "outpatient": 46603, + "outpost": 44622, + "output": 17255, + "outra": 14262, + "outrage": 23577, + "outraged": 43402, + "outrageous": 29342, + "outre": 14373, + "outreach": 15297, + "outright": 38200, + "outs": 5790, + "outsi": 22515, + "outside": 47693, + "outside": 2782, + "outsider": 41196, + "outsiders": 41742, + "outskirts": 42088, + "outsourcing": 34543, + "outstanding": 6387, + "outta": 15807, + "outtuesday": 48692, + "outw": 34650, + "oux": 40960, + "oux": 14228, + "ov": 6420, + "ov": 8479, + "ova": 12762, + "oval": 15039, + "ovarian": 42913, + "ovation": 24333, + "ove": 8649, + "ove": 15456, + "oven": 44620, + "oven": 12579, + "over": 1658, + "over": 962, + "overall": 6914, + "overboard": 42982, + "overcame": 47235, + "overcast": 36942, + "overcome": 14365, + "overcoming": 29348, + "overdose": 27017, + "overdrive": 40088, + "overdue": 30240, + "overflow": 32885, + "overflowing": 45370, + "overhaul": 31531, + "overhead": 20321, + "overland": 38808, + "overlay": 44827, + "overload": 24327, + "overlook": 35767, + "overlooked": 27632, + "overlooking": 17319, + "overly": 28820, + "overnight": 9913, + "overpass": 44310, + "overrated": 38214, + "overs": 45774, + "overs": 17329, + "overseas": 15100, + "oversight": 32494, + "oversized": 31557, + "overtime": 19347, + "overturned": 31048, + "overview": 14789, + "overwatch": 18124, + "overweight": 43465, + "overwhel": 12204, + "overwhelmed": 23459, + "overwhelming": 20306, + "overwhelmingly": 43549, + "ovi": 32508, + "ovic": 22417, + "ovich": 27623, + "ovie": 47677, + "ovo": 41920, + "ovo": 18065, + "ovski": 26167, + "ow": 2032, + "ow": 2250, + "owa": 32770, + "owe": 19073, + "owed": 37641, + "owen": 24838, + "owen": 12056, + "owens": 20664, + "owes": 35069, + "owing": 48582, + "owl": 34332, + "owl": 9899, + "owls": 18247, + "own": 3845, + "own": 1758, + "owned": 8536, + "owner": 5019, + "owners": 7712, + "ownership": 16583, + "owning": 24661, + "owns": 17533, + "owo": 46142, + "ows": 27423, + "owski": 22573, + "ox": 3282, + "ox": 12071, + "oxfam": 45466, + "oxford": 28588, + "oxford": 8824, + "oxfordshire": 37855, + "oxi": 33731, + "oxi": 48147, + "oxid": 17701, + "oxide": 28235, + "oxo": 37088, + "oxy": 12432, + "oxygen": 16214, + "oy": 6638, + "oy": 12437, + "oya": 38894, + "oye": 48677, + "oyster": 40545, + "oyster": 17253, + "oysters": 22672, + "oz": 10584, + "oz": 6044, + "ozar": 31848, + "ozil": 41365, + "ozone": 37052, + "ozzy": 39549, + "p": 79, + "p": 335, + "pa": 765, + "pa": 2217, + "paa": 32812, + "pab": 9354, + "pablo": 42172, + "pablo": 14473, + "pac": 2332, + "pac": 7608, + "pace": 40600, + "pace": 9450, + "paced": 32611, + "pacers": 23976, + "paces": 43001, + "paci": 5699, + "pacific": 19723, + "pacific": 6654, + "pacing": 45202, + "pack": 2711, + "pack": 3420, + "package": 7053, + "packaged": 29656, + "packages": 14305, + "packaging": 11658, + "packard": 46421, + "packed": 5883, + "packer": 28209, + "packers": 14294, + "packet": 25022, + "packets": 40448, + "packing": 9829, + "packs": 11086, + "paco": 41364, + "pacqui": 28456, + "pacquiao": 30485, + "pact": 27182, + "pad": 3798, + "pad": 7601, + "padded": 42253, + "paddington": 33162, + "paddle": 38276, + "paddle": 20811, + "paddling": 40645, + "paddock": 29590, + "paddy": 33103, + "paddy": 19855, + "padi": 47037, + "padilla": 22380, + "padma": 44595, + "padma": 46457, + "padre": 38343, + "padres": 22829, + "pads": 17353, + "paedi": 41488, + "paella": 46924, + "paf": 47185, + "pafc": 49259, + "pag": 4151, + "pag": 30525, + "pagan": 27854, + "page": 14996, + "page": 2504, + "pageant": 22139, + "pages": 8082, + "pagoda": 44309, + "pah": 41054, + "pah": 26884, + "pai": 20624, + "pai": 21198, + "paid": 5057, + "paige": 33659, + "paige": 16022, + "paign": 31796, + "pain": 2141, + "pain": 4495, + "paine": 38069, + "painful": 16361, + "pains": 25639, + "paint": 7948, + "paint": 5185, + "paintball": 39730, + "painted": 6433, + "painter": 10888, + "painters": 35703, + "painting": 49164, + "painting": 3086, + "paintings": 9956, + "paints": 21672, + "pair": 19848, + "pair": 4038, + "paired": 12433, + "pairing": 16313, + "pairings": 41152, + "pairs": 9950, + "pais": 16878, + "paisley": 22954, + "pajam": 24110, + "pajama": 40244, + "pajamas": 37231, + "pak": 13186, + "pak": 9094, + "paki": 3438, + "pakistan": 10713, + "pakistan": 3994, + "pakistani": 14050, + "pakistanis": 45707, + "pakv": 38196, + "pal": 1850, + "pal": 3611, + "pala": 17895, + "palace": 6381, + "palaces": 45625, + "palad": 28371, + "palae": 43379, + "palais": 35673, + "palate": 34666, + "palawan": 48202, + "palazzo": 36006, + "pale": 4768, + "pale": 12518, + "paleo": 36741, + "paleo": 22198, + "paler": 38028, + "palermo": 40635, + "palestin": 9449, + "palestine": 11682, + "palestinian": 11764, + "palestinians": 21874, + "palette": 13901, + "pali": 48063, + "palin": 40153, + "palis": 44256, + "pality": 27296, + "pall": 35817, + "palla": 21208, + "palladium": 37888, + "pallet": 39057, + "palli": 28954, + "palliative": 46014, + "pally": 46073, + "palm": 19651, + "palm": 8612, + "palma": 29888, + "palmer": 40112, + "palmer": 13633, + "palms": 27059, + "palo": 31562, + "palom": 47698, + "palooza": 25861, + "pals": 11043, + "palsy": 46651, + "pam": 8228, + "pam": 18513, + "pamela": 26991, + "pamp": 37653, + "pamper": 44345, + "pamph": 41332, + "pan": 1072, + "pan": 7437, + "panam": 24606, + "panama": 15522, + "panas": 26207, + "panasonic": 29750, + "pancake": 18723, + "pancakes": 15308, + "panch": 27251, + "pancra": 42472, + "pancre": 27708, + "pancreatic": 49337, + "pancy": 41625, + "pand": 5631, + "panda": 12952, + "pandas": 35119, + "pande": 38419, + "pandey": 34895, + "pandit": 41191, + "pandor": 30250, + "pandora": 17727, + "pandoramusic": 42344, + "pane": 27470, + "panel": 3724, + "paneli": 19410, + "panelist": 39719, + "panelists": 24619, + "panels": 12735, + "panera": 48471, + "pang": 16756, + "pang": 23672, + "panhandle": 40919, + "pani": 36092, + "panic": 46671, + "panic": 14124, + "panini": 30410, + "pann": 42302, + "panna": 49065, + "pano": 36165, + "panor": 12962, + "panorama": 19763, + "panoramic": 22563, + "pans": 35204, + "pant": 22550, + "panther": 22825, + "panther": 13262, + "panthers": 10494, + "panties": 32515, + "panto": 28776, + "pantry": 25608, + "pants": 5003, + "panty": 44217, + "pany": 45567, + "panzer": 41159, + "pao": 33790, + "paola": 44689, + "paolo": 48488, + "paolo": 21133, + "pap": 1884, + "pap": 30756, + "papa": 12211, + "papar": 32782, + "paparazzi": 37842, + "papaya": 44098, + "paper": 8680, + "paper": 2802, + "paperback": 17928, + "papers": 8204, + "paperwork": 35785, + "papi": 35177, + "papp": 26361, + "paprika": 44793, + "papua": 32629, + "par": 699, + "par": 9163, + "para": 18355, + "para": 8976, + "parach": 23147, + "parachute": 30122, + "parad": 37143, + "parade": 5809, + "parades": 46479, + "paradi": 6658, + "paradig": 27786, + "paradigm": 33485, + "paradise": 45869, + "paradise": 7247, + "paradox": 33109, + "parag": 11866, + "paragon": 48099, + "paragra": 24903, + "paragraph": 28499, + "paragu": 38021, + "paraguay": 43579, + "paral": 15143, + "paralle": 13184, + "parallel": 18201, + "paralleled": 42520, + "parallels": 46101, + "paraly": 30255, + "paralym": 18727, + "paralympic": 30806, + "paralympics": 37162, + "paralysis": 45702, + "param": 12250, + "parame": 27106, + "paramedic": 34630, + "paramedics": 35991, + "parameters": 44890, + "paramore": 34401, + "paramount": 26642, + "parano": 30283, + "paranoid": 43029, + "paranor": 16940, + "paranormal": 19047, + "parap": 41091, + "paras": 15198, + "parasite": 42460, + "parasites": 46175, + "parc": 30914, + "parcel": 30367, + "parcels": 45589, + "pard": 18773, + "pardon": 47606, + "pardon": 26565, + "pare": 18202, + "pared": 5498, + "paren": 3106, + "parent": 47848, + "parent": 10183, + "parental": 28339, + "parenthood": 23887, + "parenting": 14529, + "parents": 3731, + "pares": 12420, + "parfait": 46140, + "pari": 17961, + "pari": 27979, + "paris": 13982, + "paris": 3445, + "parisagreement": 47405, + "parish": 47328, + "parish": 13020, + "parisi": 45081, + "parisian": 38512, + "parity": 42734, + "park": 4985, + "park": 1452, + "parked": 16487, + "parker": 31119, + "parker": 8365, + "parkin": 34868, + "parking": 5984, + "parkinson": 28129, + "parkland": 31287, + "parkrun": 25747, + "parks": 6873, + "parkway": 19882, + "parl": 30373, + "parl": 29897, + "parliam": 5941, + "parliament": 41599, + "parliament": 7151, + "parliamentary": 17912, + "parlor": 38253, + "parlour": 37829, + "parma": 36077, + "parme": 26295, + "parmesan": 27274, + "paro": 17429, + "parody": 24318, + "parole": 32158, + "parr": 44113, + "parrish": 43043, + "parrot": 23565, + "parry": 40604, + "parsley": 30077, + "parsons": 22505, + "part": 1872, + "part": 1551, + "parte": 48508, + "parth": 34790, + "parti": 10509, + "partial": 18957, + "partially": 21269, + "partic": 2871, + "partici": 9540, + "particip": 4400, + "participant": 27674, + "participants": 10237, + "participate": 9433, + "participated": 14252, + "participates": 46414, + "participating": 11535, + "participation": 13529, + "particle": 27716, + "particles": 27012, + "particul": 11408, + "particular": 14098, + "particularly": 12170, + "parties": 9032, + "parting": 32844, + "partisan": 20772, + "partist": 44713, + "partition": 42219, + "partly": 21459, + "partner": 5210, + "partner": 4568, + "partnered": 21402, + "partnering": 21182, + "partners": 5568, + "partnership": 6123, + "partnerships": 17418, + "parton": 43245, + "partridge": 34872, + "parts": 5149, + "party": 12877, + "party": 1580, + "partying": 25702, + "pas": 1341, + "pas": 9525, + "pasadena": 25892, + "pascal": 28626, + "pasco": 49220, + "pascu": 42692, + "pash": 23936, + "pasha": 46986, + "paso": 18542, + "pasqu": 44941, + "pass": 5016, + "pass": 3511, + "passage": 16477, + "passages": 48937, + "passed": 4957, + "passenger": 12311, + "passengers": 12781, + "passer": 48544, + "passes": 7633, + "passi": 32471, + "passing": 6589, + "passion": 8822, + "passion": 5332, + "passionate": 10947, + "passionately": 44028, + "passions": 38441, + "passive": 23171, + "passover": 38426, + "passport": 14739, + "passports": 46368, + "password": 20258, + "passwords": 43095, + "past": 7315, + "past": 2729, + "pasta": 10441, + "paste": 34765, + "paste": 17038, + "pastel": 19457, + "pastels": 45699, + "pastor": 19792, + "pastor": 9664, + "pastoral": 37191, + "pastors": 30959, + "pastr": 45478, + "pastries": 39409, + "pastry": 18582, + "pasture": 34764, + "pastures": 47793, + "pat": 1300, + "pat": 7036, + "patag": 29862, + "patagonia": 32786, + "patch": 29284, + "patch": 8721, + "patches": 22104, + "patchwork": 44675, + "patchy": 47488, + "pate": 42122, + "pate": 42098, + "patel": 14168, + "patent": 14692, + "patented": 37277, + "patents": 33911, + "paterson": 36560, + "path": 7408, + "path": 5035, + "pathetic": 18222, + "pathfinder": 35415, + "pathi": 34976, + "pathi": 27347, + "pathic": 49025, + "patho": 18534, + "pathology": 23290, + "paths": 16333, + "pathway": 23488, + "pathways": 24690, + "pathy": 13330, + "pati": 2799, + "pati": 26708, + "patience": 13575, + "patient": 30139, + "patient": 6262, + "patiently": 22980, + "patients": 5543, + "patil": 49187, + "patio": 14304, + "pational": 30627, + "patna": 45025, + "patory": 41859, + "patreon": 17165, + "patri": 4771, + "patriarch": 49054, + "patriarchy": 48806, + "patric": 12569, + "patrice": 40731, + "patricia": 18143, + "patrick": 12078, + "patrick": 5286, + "patricks": 46783, + "patriot": 28896, + "patriot": 15692, + "patrioti": 35520, + "patriotic": 20217, + "patriotism": 35807, + "patriots": 8707, + "patro": 31650, + "patrol": 10073, + "patrolling": 39344, + "patrols": 35978, + "patron": 26658, + "patron": 17683, + "patrons": 28308, + "pats": 24874, + "patsy": 46093, + "patt": 12637, + "patter": 4982, + "pattern": 7447, + "patterned": 47212, + "patterns": 11637, + "patterson": 21384, + "patti": 44927, + "patti": 26123, + "pattinson": 32474, + "patton": 29026, + "patty": 48741, + "patty": 18321, + "pau": 1834, + "pau": 35970, + "paul": 6035, + "paul": 2597, + "paula": 37363, + "paula": 16777, + "pauline": 30438, + "paulo": 48002, + "paulo": 21628, + "pauls": 41413, + "pauls": 40010, + "paulson": 48201, + "pause": 19439, + "paused": 46782, + "pav": 6661, + "pave": 37107, + "paved": 27898, + "pavel": 43152, + "pavement": 27669, + "pavilion": 13374, + "paving": 28651, + "paw": 14009, + "paw": 16016, + "pawan": 29754, + "pawankalyan": 33702, + "pawn": 43195, + "paws": 16714, + "pax": 20007, + "pax": 19033, + "paxton": 38347, + "pay": 2642, + "pay": 3345, + "payback": 36413, + "paycheck": 45078, + "payday": 26957, + "payee": 46985, + "payer": 41503, + "paying": 8341, + "payment": 10596, + "payments": 11832, + "payne": 12775, + "paypal": 21442, + "payroll": 31610, + "pays": 10845, + "paysoff": 48174, + "paytm": 45352, + "payton": 27348, + "paz": 22267, + "pb": 20112, + "pb": 10981, + "pba": 28205, + "pbb": 48567, + "pbb": 40589, + "pbc": 49191, + "pbl": 35166, + "pbr": 32998, + "pbs": 17908, + "pc": 6782, + "pc": 3808, + "pca": 35705, + "pcb": 26235, + "pcc": 36059, + "pci": 38957, + "pcm": 47436, + "pcr": 35704, + "pcs": 11917, + "pcso": 31963, + "pct": 22168, + "pd": 4387, + "pd": 4675, + "pdates": 16842, + "pdc": 40498, + "pdf": 15181, + "pdp": 24601, + "pdt": 21743, + "pdx": 25470, + "pdx": 16153, + "pe": 661, + "pe": 956, + "pea": 13915, + "peabo": 34083, + "peabody": 41244, + "peac": 34615, + "peace": 6249, + "peace": 3021, + "peaceful": 9461, + "peacefully": 30530, + "peacekeeping": 43630, + "peach": 10522, + "peach": 11538, + "peaches": 27216, + "peak": 18572, + "peak": 6026, + "peakdistrict": 41289, + "peake": 24810, + "peaked": 36391, + "peaks": 14067, + "pean": 11563, + "peanu": 25843, + "peanut": 12491, + "peanuts": 26503, + "pear": 4910, + "pear": 18820, + "pearce": 25996, + "pearl": 21806, + "pearl": 8560, + "pearljam": 46739, + "pearls": 19581, + "pears": 39565, + "pearson": 20461, + "peas": 15937, + "peasant": 40621, + "peasants": 48788, + "peat": 26914, + "pebble": 28056, + "pebbles": 40155, + "pec": 32447, + "pec": 17611, + "pecan": 32177, + "peck": 25186, + "peck": 29234, + "pecker": 30169, + "peckham": 45863, + "pecu": 34200, + "peculiar": 42808, + "ped": 13197, + "ped": 2966, + "pedago": 34590, + "pedagogy": 48072, + "pedal": 32943, + "pedal": 19621, + "pedals": 38535, + "pede": 12862, + "pede": 19560, + "pedestri": 30027, + "pedestrian": 18256, + "pedestrians": 33895, + "pedi": 12967, + "pedia": 11733, + "pediatric": 48431, + "pediatric": 22071, + "pedic": 35319, + "pedic": 44528, + "pedro": 29963, + "pedro": 15114, + "peds": 45377, + "pee": 12988, + "pee": 11196, + "peed": 47369, + "peek": 46323, + "peek": 7569, + "peeking": 48771, + "peel": 34386, + "peel": 17158, + "peeled": 33533, + "peeling": 48649, + "peep": 25425, + "peep": 16857, + "peeps": 11681, + "peer": 32416, + "peer": 14432, + "peers": 21626, + "pees": 31830, + "peg": 32182, + "peg": 11207, + "pegas": 30018, + "pegasus": 37822, + "peggy": 24271, + "pei": 48166, + "pei": 12917, + "pel": 4286, + "pel": 7006, + "pele": 44105, + "pelican": 34131, + "pelicans": 29363, + "pell": 46981, + "pelle": 31267, + "pelled": 32506, + "pellegr": 38529, + "pellets": 48240, + "pelo": 40192, + "pelo": 40238, + "pelosi": 22169, + "pelvic": 45646, + "pemb": 19880, + "pembro": 24084, + "pembroke": 36702, + "pembroke": 40044, + "pembrokeshire": 40695, + "pen": 1501, + "pen": 5356, + "pena": 35788, + "penalties": 25417, + "penalty": 11491, + "penang": 29545, + "penc": 20065, + "pence": 18002, + "pencil": 41303, + "pencil": 11200, + "pencils": 21909, + "pend": 3052, + "pendant": 12415, + "pendants": 44117, + "pending": 12770, + "pendleton": 44272, + "pendu": 45336, + "penelope": 36703, + "penetr": 26058, + "peng": 42955, + "peng": 39200, + "pengu": 8854, + "penguin": 28249, + "penguin": 14952, + "penguins": 16557, + "peninsu": 13464, + "peninsula": 14070, + "penn": 7760, + "penn": 11128, + "pennant": 43971, + "penned": 45077, + "penney": 47856, + "pennies": 43094, + "pennsylvania": 13673, + "penny": 20400, + "penny": 11388, + "pens": 13307, + "pens": 13310, + "pensac": 30925, + "pensacola": 33573, + "pension": 32840, + "pension": 17764, + "pensions": 29773, + "penske": 47154, + "pent": 10699, + "pent": 22725, + "pentagon": 23133, + "pente": 33165, + "penthouse": 32673, + "penultimate": 36553, + "peop": 1030, + "people": 10573, + "people": 1047, + "peoples": 28241, + "peoples": 14627, + "peopleschoice": 32418, + "peoplesvote": 45830, + "peoria": 36985, + "pep": 12761, + "pep": 14898, + "pepe": 24778, + "pepp": 34425, + "pepper": 14861, + "pepper": 8253, + "peppermint": 30321, + "pepperoni": 47307, + "peppers": 14650, + "pepsi": 21307, + "per": 703, + "per": 1284, + "pera": 26294, + "perce": 24135, + "perceived": 38436, + "percent": 16328, + "percent": 9017, + "percentage": 19477, + "percep": 28017, + "perception": 20591, + "perceptions": 38138, + "perch": 34281, + "perched": 40071, + "percu": 41722, + "percussion": 23980, + "percy": 23940, + "pere": 8665, + "pere": 36300, + "pered": 24509, + "peregr": 37479, + "peregrine": 44546, + "pereira": 43927, + "peren": 24564, + "perenni": 26996, + "perennial": 34038, + "perez": 15107, + "perf": 22816, + "perfe": 1624, + "perfec": 6599, + "perfect": 17261, + "perfect": 1878, + "perfection": 9646, + "perfectly": 8037, + "perfecto": 42898, + "perfor": 2311, + "perform": 3866, + "perform": 5940, + "performan": 8973, + "performance": 2714, + "performances": 9553, + "performed": 9997, + "performer": 17061, + "performers": 18476, + "performing": 5170, + "performs": 13839, + "perfu": 14214, + "perfume": 17525, + "perhaps": 9297, + "peri": 12618, + "peri": 44068, + "perience": 19302, + "peril": 40119, + "peril": 48301, + "perimeter": 38499, + "pering": 29746, + "perio": 5101, + "period": 6131, + "periodic": 36476, + "periods": 24401, + "periph": 35308, + "peripheral": 43901, + "peris": 19461, + "periscope": 21668, + "perk": 33424, + "perkins": 20057, + "perks": 17660, + "perl": 44018, + "perm": 47847, + "perman": 9018, + "permanent": 11144, + "permanently": 25584, + "perme": 42456, + "permission": 15822, + "permit": 21950, + "permits": 33267, + "permitted": 44380, + "pero": 23551, + "perpe": 15749, + "perpetr": 33376, + "perpetu": 30132, + "perpetual": 32018, + "perrie": 32691, + "perry": 28478, + "perry": 7899, + "pers": 3688, + "pers": 10710, + "perse": 27498, + "persecu": 22878, + "persecution": 32009, + "perseverance": 29820, + "persi": 11509, + "persian": 19859, + "persist": 19412, + "persist": 40938, + "persistence": 34588, + "persistent": 29028, + "person": 3510, + "person": 2533, + "persona": 18401, + "personal": 10114, + "personal": 4121, + "personalised": 24186, + "personalities": 27888, + "personality": 10386, + "personalized": 17845, + "personally": 13885, + "personnel": 14546, + "persons": 14592, + "perspec": 17997, + "perspective": 8996, + "perspectives": 18777, + "persu": 20972, + "pert": 36970, + "pert": 16306, + "perth": 19067, + "perth": 11011, + "peru": 20612, + "peru": 12964, + "peruvian": 30822, + "pes": 38368, + "pes": 2598, + "pesa": 47409, + "pesc": 44044, + "pesh": 33184, + "peshaw": 28524, + "peshawar": 29230, + "pesky": 42512, + "pesos": 47872, + "pessi": 43902, + "pest": 20130, + "pest": 9425, + "pesticide": 48481, + "pesticides": 37868, + "pesto": 26186, + "pests": 41919, + "pet": 2167, + "pet": 3703, + "peta": 28785, + "petal": 38430, + "petal": 40469, + "petals": 26064, + "petday": 45314, + "pete": 14479, + "pete": 8571, + "peter": 5093, + "peter": 3696, + "peterborough": 26012, + "peters": 16336, + "petersburg": 21052, + "petersen": 39794, + "peterson": 16877, + "peth": 48920, + "petit": 36437, + "petit": 21276, + "petite": 27213, + "petition": 10975, + "petitions": 43536, + "petr": 29808, + "petra": 31300, + "petre": 47179, + "petri": 31831, + "petro": 8716, + "petrol": 18149, + "petroleum": 22063, + "petron": 42875, + "pets": 7663, + "pett": 27051, + "petti": 48001, + "petting": 44334, + "petty": 17324, + "peu": 21411, + "peuge": 22893, + "peugeot": 24129, + "pew": 21608, + "pew": 30783, + "pewdie": 41882, + "pewdiepie": 42563, + "pex": 43765, + "pey": 14966, + "pey": 30933, + "peyton": 49254, + "peyton": 20307, + "pez": 45798, + "pez": 10482, + "pf": 16680, + "pf": 12572, + "pfa": 47839, + "pfc": 35007, + "pff": 44121, + "pfi": 29810, + "pfw": 31229, + "pg": 12476, + "pg": 5211, + "pga": 13351, + "pgat": 36514, + "pgatour": 40094, + "pgh": 44862, + "pgh": 30031, + "pgs": 49204, + "ph": 745, + "ph": 2042, + "pha": 4443, + "pha": 26255, + "phal": 19962, + "phan": 8731, + "phan": 40126, + "phant": 36998, + "phantom": 37688, + "phantom": 14490, + "phar": 5570, + "phara": 35792, + "pharaoh": 40437, + "pharm": 45761, + "pharma": 17831, + "pharmac": 8193, + "pharmaceu": 19490, + "pharmaceutical": 25217, + "pharmaceuticals": 44623, + "pharmacist": 41024, + "pharmacists": 44337, + "pharmacy": 15293, + "pharo": 42308, + "pharoah": 49287, + "pharrell": 31316, + "phase": 8304, + "phases": 35337, + "phat": 42492, + "phc": 41102, + "phd": 20875, + "phd": 8472, + "phdchat": 39564, + "phdlife": 39638, + "phe": 4787, + "phe": 19853, + "pheasant": 41983, + "phee": 41292, + "phel": 23711, + "phelps": 27128, + "phen": 7718, + "pheno": 47336, + "phenom": 31673, + "phenom": 39618, + "phenomen": 11304, + "phenomena": 41538, + "phenomenal": 15035, + "phenomenon": 24464, + "pher": 9194, + "pher": 19828, + "phers": 29531, + "pherson": 36421, + "phew": 10295, + "phi": 2239, + "phi": 12220, + "phia": 9228, + "phic": 3977, + "phie": 30237, + "phies": 17062, + "phil": 2821, + "phil": 6199, + "phila": 47443, + "philadel": 9428, + "philadelphia": 9749, + "philanthro": 16587, + "philanthropist": 44153, + "philanthropy": 25047, + "philately": 33695, + "phile": 36543, + "philharmon": 25228, + "philharmonic": 31699, + "phili": 4277, + "philia": 46654, + "philip": 20748, + "philip": 11074, + "philipp": 5623, + "philipp": 47591, + "philippe": 20942, + "philippine": 17629, + "philippines": 8149, + "philips": 25175, + "phill": 42346, + "phill": 48272, + "philli": 6456, + "phillies": 18748, + "phillip": 48832, + "phillip": 19323, + "phillips": 11041, + "philly": 19545, + "philly": 7785, + "philos": 8395, + "philosop": 20349, + "philosoph": 10187, + "philosopher": 25220, + "philosophical": 32628, + "philosophy": 12213, + "phils": 38573, + "phin": 33816, + "phine": 40985, + "phins": 40210, + "phish": 36897, + "phishing": 36546, + "phl": 25603, + "pho": 816, + "pho": 22707, + "phobia": 28749, + "phoe": 22673, + "phoebe": 27582, + "phoeni": 6778, + "phoenix": 20615, + "phoenix": 7793, + "phol": 48140, + "phon": 19602, + "phon": 31115, + "phone": 15486, + "phone": 1951, + "phones": 6351, + "phony": 31925, + "phora": 31363, + "phosp": 22638, + "photo": 1153, + "photo": 1125, + "photobomb": 37075, + "photobook": 41894, + "photog": 28115, + "photogenic": 36108, + "photogra": 36754, + "photograph": 1688, + "photograph": 8853, + "photographed": 11573, + "photographer": 5748, + "photographers": 17141, + "photographic": 22053, + "photographing": 30074, + "photographs": 15759, + "photography": 33183, + "photography": 2108, + "photom": 32223, + "photoo": 11106, + "photooftheday": 11933, + "photos": 2479, + "photoshoot": 11121, + "photoshop": 12419, + "photoshopped": 35738, + "phouse": 27848, + "php": 17370, + "phra": 12777, + "phrase": 18809, + "phrases": 35264, + "phs": 16495, + "phu": 21274, + "phuket": 34028, + "phx": 35466, + "phx": 29507, + "phy": 6484, + "phy": 4292, + "phyl": 35600, + "phyllis": 37844, + "phys": 3734, + "phys": 37894, + "physi": 13782, + "physic": 46641, + "physical": 44127, + "physical": 6671, + "physically": 18105, + "physician": 21055, + "physicians": 26702, + "physicist": 29052, + "physics": 9369, + "physio": 29574, + "physio": 29177, + "physiology": 32349, + "physique": 42884, + "phyto": 42197, + "pi": 741, + "pi": 5357, + "pia": 8918, + "pian": 24637, + "pianist": 21048, + "piano": 49278, + "piano": 7894, + "pianos": 47904, + "piazza": 28496, + "pic": 901, + "pic": 1282, + "pical": 5482, + "picard": 48507, + "picasso": 21481, + "piccad": 33876, + "piccadilly": 37287, + "piccollage": 43621, + "pick": 6379, + "pick": 3142, + "picked": 6018, + "picker": 43105, + "pickering": 47605, + "picket": 33559, + "picking": 9545, + "pickle": 24570, + "pickled": 21705, + "pickles": 25001, + "picks": 8551, + "pickup": 15382, + "pickups": 33383, + "picnic": 12007, + "pico": 23363, + "picoftheday": 18319, + "pics": 2559, + "pict": 18778, + "pictorial": 40640, + "picture": 11663, + "picture": 1674, + "pictured": 7647, + "pictures": 3646, + "picturesque": 24894, + "pid": 5225, + "piday": 48056, + "pie": 12065, + "pie": 5319, + "piece": 39632, + "piece": 2754, + "pieces": 6194, + "pied": 24686, + "pied": 12713, + "piedmont": 39691, + "pier": 5641, + "pier": 11348, + "pierc": 49216, + "pierce": 48462, + "pierce": 16782, + "pierced": 32799, + "piercing": 22557, + "piero": 43125, + "pierre": 34670, + "pierre": 11985, + "piers": 29030, + "pies": 6898, + "pieter": 44801, + "pietro": 42169, + "piff": 40719, + "pig": 12009, + "pig": 9619, + "pigeon": 18008, + "pigeons": 32910, + "piggy": 28245, + "pigment": 40284, + "pigs": 16228, + "pik": 48539, + "pika": 47372, + "pikach": 27268, + "pikachu": 28107, + "pike": 33457, + "pike": 14011, + "pil": 2893, + "pil": 20645, + "pilates": 29518, + "pile": 44403, + "pile": 13930, + "piled": 26873, + "piles": 31968, + "pilgri": 13966, + "pilgrim": 32662, + "pilgrimage": 24335, + "pilgrims": 31370, + "piling": 43050, + "pilip": 27234, + "pilipinas": 32392, + "pill": 14830, + "pill": 19226, + "pillar": 17322, + "pillars": 22054, + "pillow": 42237, + "pillow": 12182, + "pillows": 26499, + "pills": 23964, + "pilo": 37526, + "pilot": 31619, + "pilot": 6687, + "pilots": 15586, + "pilsner": 47153, + "pim": 15285, + "pim": 35472, + "pimp": 35789, + "pin": 2629, + "pin": 5164, + "pinball": 31679, + "pinch": 26114, + "pine": 9398, + "pine": 7374, + "pineapple": 14831, + "pines": 20338, + "ping": 23720, + "ping": 2089, + "pinion": 40557, + "pink": 11151, + "pink": 3360, + "pinkfloyd": 48520, + "pinky": 29803, + "pinn": 31448, + "pinnacle": 32754, + "pinned": 12165, + "pinning": 44515, + "pino": 36633, + "pinot": 41399, + "pinot": 21146, + "pinoy": 43578, + "pinoy": 35258, + "pins": 14619, + "pinst": 41173, + "pint": 42537, + "pint": 13584, + "pinterest": 15379, + "pinto": 35992, + "pints": 27935, + "pinup": 37349, + "pio": 22108, + "pion": 36728, + "pion": 29190, + "pione": 7975, + "pioneer": 34892, + "pioneer": 12459, + "pioneering": 25933, + "pioneers": 22383, + "pious": 42441, + "pip": 30854, + "pipe": 29333, + "pipe": 10459, + "pipel": 12387, + "pipeline": 14151, + "pipelines": 39683, + "piper": 47052, + "piper": 16293, + "pipes": 16991, + "piping": 40744, + "pippa": 47672, + "pir": 4351, + "pir": 38899, + "piracy": 39452, + "piran": 49034, + "pirate": 38680, + "pirate": 13592, + "pirates": 10442, + "pire": 16613, + "pires": 14988, + "pis": 9230, + "pis": 44441, + "pisa": 43632, + "pisces": 45982, + "piss": 20818, + "pissed": 17989, + "pist": 15556, + "pist": 32826, + "pistachi": 29760, + "pistachio": 36320, + "pistol": 20480, + "piston": 48236, + "pistons": 27242, + "pistor": 48162, + "pit": 2946, + "pit": 7476, + "pita": 27070, + "pitbull": 25295, + "pitch": 8992, + "pitch": 5872, + "pitched": 28447, + "pitcher": 13445, + "pitchers": 27835, + "pitches": 21005, + "pitching": 16455, + "piti": 47568, + "pits": 24144, + "pitt": 7607, + "pitt": 15599, + "pitts": 9531, + "pittsburgh": 10453, + "pity": 24380, + "pius": 39988, + "pivo": 18009, + "pivot": 31805, + "pivotal": 31432, + "pix": 6185, + "pix": 13088, + "pixar": 27493, + "pixel": 14384, + "pixel": 13241, + "pixelart": 18516, + "pixels": 34099, + "pixie": 35573, + "piyu": 30772, + "piyush": 36191, + "piyushgoyal": 45318, + "pizz": 3897, + "pizza": 4474, + "pizzas": 30647, + "pizzeria": 44174, + "pj": 12524, + "pj": 17179, + "pjnet": 22011, + "pjs": 36009, + "pk": 10149, + "pk": 10991, + "pkg": 49011, + "pkk": 47480, + "pknot": 41779, + "pkwy": 36827, + "pl": 712, + "pl": 5678, + "pla": 841, + "pla": 19945, + "plac": 2331, + "place": 14884, + "place": 1445, + "placed": 9729, + "placement": 16724, + "placements": 43885, + "placer": 49170, + "places": 4448, + "placing": 18531, + "plague": 25360, + "plaid": 23291, + "plain": 22776, + "plain": 10709, + "plains": 16345, + "plan": 1740, + "plan": 2970, + "pland": 24801, + "plane": 22728, + "plane": 5363, + "planes": 12581, + "planet": 16833, + "planet": 5172, + "planetary": 28361, + "planets": 22315, + "plank": 30991, + "plankton": 48249, + "plann": 6409, + "planned": 8169, + "planner": 18083, + "planners": 33664, + "planning": 4446, + "plano": 34063, + "plans": 4181, + "plant": 8521, + "plant": 3912, + "plantation": 20014, + "plantbased": 33720, + "planted": 14286, + "planter": 34453, + "planters": 43661, + "planting": 13922, + "plants": 5829, + "plaque": 16097, + "plaques": 45610, + "plar": 26754, + "plas": 45673, + "plasma": 24999, + "plaster": 31980, + "plastic": 15645, + "plastic": 6102, + "plasticpollution": 47129, + "plastics": 20999, + "plasticsurgery": 48555, + "plat": 3172, + "plata": 46456, + "plate": 28744, + "plate": 5135, + "plateau": 29301, + "plated": 21161, + "plates": 11485, + "platform": 5549, + "platforms": 13551, + "platin": 10267, + "plating": 44564, + "platinum": 10979, + "plato": 41101, + "platoon": 41254, + "platt": 44459, + "platt": 40097, + "platte": 46785, + "platter": 29071, + "platz": 40878, + "plau": 39139, + "play": 1222, + "play": 1453, + "playa": 23756, + "playable": 33885, + "playback": 39194, + "playbook": 34856, + "playboy": 24383, + "played": 3432, + "player": 24503, + "player": 2477, + "players": 3030, + "playful": 23871, + "playground": 15861, + "playhouse": 23254, + "playin": 24674, + "playing": 47368, + "playing": 1629, + "playlist": 9180, + "playlists": 47183, + "playo": 5804, + "playoff": 9655, + "playoffs": 9548, + "plays": 5134, + "playstation": 11332, + "playtime": 43037, + "playwright": 32070, + "plaza": 8943, + "plc": 16827, + "ple": 926, + "ple": 1619, + "plea": 21956, + "plead": 47539, + "pleads": 31425, + "plear": 21362, + "pleas": 8481, + "pleas": 48740, + "pleasant": 12271, + "please": 41074, + "please": 1474, + "pleased": 6107, + "pleasing": 32893, + "pleasure": 5854, + "pleasures": 29513, + "pledge": 11507, + "pledged": 36799, + "pledges": 26746, + "pledis": 41202, + "plein": 43429, + "plenary": 19891, + "plenty": 7524, + "pler": 17677, + "ples": 6248, + "pless": 39821, + "pless": 17059, + "plets": 43230, + "plex": 23765, + "plex": 15241, + "pley": 19543, + "pli": 30001, + "pli": 45797, + "plic": 5806, + "plicity": 19823, + "plight": 40317, + "plin": 44531, + "plin": 32335, + "pline": 25376, + "pling": 12899, + "plings": 31184, + "pll": 47629, + "pll": 25266, + "pln": 48755, + "plo": 1778, + "plo": 43523, + "plor": 34695, + "plot": 9918, + "plots": 25672, + "plotting": 30751, + "plough": 33811, + "plow": 38363, + "pls": 5572, + "plu": 2052, + "plug": 12628, + "plugged": 23261, + "plugin": 31278, + "plugins": 48797, + "plugs": 28083, + "plum": 26267, + "plum": 16202, + "plumb": 21769, + "plumber": 43478, + "plumbing": 24647, + "plume": 39495, + "plun": 15122, + "plunge": 26506, + "plur": 44664, + "plus": 3097, + "plush": 18926, + "pluto": 26380, + "ply": 17249, + "ply": 28705, + "plying": 36071, + "plym": 11907, + "plymouth": 13786, + "plz": 10538, + "pm": 13699, + "pm": 990, + "pmi": 41206, + "pmln": 23208, + "pmo": 18782, + "pmoindia": 20374, + "pms": 44223, + "pn": 14431, + "pn": 13774, + "pnc": 37148, + "pne": 30966, + "pneu": 28714, + "pneumonia": 42906, + "png": 20992, + "pnp": 25972, + "pnpp": 42175, + "pnw": 31521, + "po": 628, + "po": 3057, + "poa": 43912, + "poached": 27665, + "poaching": 35140, + "poc": 13232, + "poc": 27780, + "pocaly": 37987, + "pocalypse": 42307, + "poche": 38336, + "poche": 39022, + "pocket": 29147, + "pocket": 8504, + "pockets": 19566, + "pocon": 41850, + "pod": 3583, + "pod": 7446, + "podcast": 39654, + "podcast": 4294, + "podcasting": 40106, + "podcasts": 19392, + "pode": 33368, + "poder": 24960, + "podernfamily": 26620, + "podi": 32853, + "podium": 14093, + "pods": 18776, + "poe": 4746, + "poe": 19254, + "poem": 9436, + "poems": 15577, + "poet": 41019, + "poet": 9872, + "poetic": 26365, + "poetry": 20192, + "poetry": 6038, + "poetryday": 39255, + "poets": 19804, + "pof": 40850, + "poff": 28236, + "pogba": 25998, + "poign": 29682, + "poignant": 32138, + "poin": 9074, + "point": 13280, + "point": 2301, + "pointe": 24631, + "pointed": 20703, + "pointer": 29883, + "pointers": 36760, + "pointing": 19233, + "pointless": 33586, + "points": 3396, + "pois": 17008, + "poise": 45087, + "poised": 27354, + "poison": 30722, + "poison": 17074, + "poisoned": 43624, + "poisoning": 25750, + "poisonous": 37131, + "pok": 15387, + "poke": 6892, + "poke": 23186, + "pokemon": 16239, + "pokemon": 9528, + "pokemongo": 23985, + "poker": 30735, + "poker": 11865, + "pokes": 40221, + "poking": 49169, + "poké": 20656, + "pokémon": 22066, + "pol": 977, + "pol": 7649, + "pola": 43876, + "poland": 9834, + "polar": 21432, + "polar": 12214, + "polari": 27919, + "polaris": 37965, + "polarized": 48437, + "polaro": 25237, + "polaroid": 30427, + "poldark": 41322, + "pole": 26682, + "pole": 8170, + "poles": 22585, + "poli": 9675, + "poli": 5414, + "polic": 16126, + "police": 15535, + "police": 2120, + "policeman": 37713, + "policemen": 47946, + "polici": 10819, + "policies": 10993, + "policing": 20969, + "policy": 30173, + "policy": 4660, + "polio": 30533, + "polis": 16133, + "polish": 46941, + "polish": 9632, + "polished": 21478, + "polishing": 43629, + "polit": 2247, + "politan": 15337, + "polite": 31497, + "politi": 40597, + "politic": 33333, + "political": 37744, + "political": 4197, + "politically": 24323, + "politician": 15960, + "politicians": 12914, + "politico": 39403, + "politics": 4929, + "polk": 33317, + "polka": 29476, + "poll": 7032, + "pollen": 27651, + "pollin": 19152, + "pollinators": 36599, + "polling": 18024, + "pollo": 42755, + "pollock": 37614, + "polls": 11813, + "pollu": 8370, + "polluted": 43346, + "pollution": 10384, + "polly": 31204, + "polo": 35928, + "polo": 10229, + "poly": 6833, + "poly": 18367, + "polye": 31730, + "polyester": 38514, + "polym": 23626, + "polymer": 29993, + "polyne": 38892, + "polyvore": 24771, + "pom": 7548, + "pom": 24280, + "pome": 27963, + "pomegran": 29326, + "pomegranate": 32415, + "pomer": 35156, + "pomona": 41690, + "pompe": 18352, + "pompeii": 47775, + "pompeo": 34351, + "pompey": 35079, + "pon": 3809, + "pon": 22391, + "ponce": 43637, + "pond": 10750, + "ponder": 36863, + "pondering": 47395, + "ponds": 31033, + "pone": 32183, + "pong": 40546, + "pong": 17710, + "ponies": 34157, + "pons": 41255, + "pont": 47563, + "pont": 22997, + "ponte": 40892, + "ponti": 15527, + "pontiac": 25373, + "pontifex": 33566, + "ponty": 45152, + "pony": 24438, + "pony": 12678, + "ponytail": 43265, + "poo": 6601, + "poo": 14389, + "pooch": 37037, + "poodle": 34961, + "pooh": 27103, + "pooja": 35676, + "pool": 12484, + "pool": 2831, + "poole": 26290, + "pools": 18736, + "poolside": 35509, + "poon": 33799, + "poon": 36178, + "poop": 23310, + "poor": 14528, + "poor": 3665, + "poorest": 40771, + "poorly": 21101, + "pop": 6530, + "pop": 2852, + "popart": 47425, + "popcorn": 15034, + "pope": 16994, + "pope": 9283, + "popefrancis": 37254, + "poplar": 38726, + "popo": 38835, + "popo": 35572, + "popp": 13156, + "popped": 14934, + "poppies": 30385, + "poppin": 28536, + "popping": 18152, + "poppins": 41216, + "poppy": 32194, + "poppy": 15447, + "pops": 11705, + "popsic": 38481, + "popu": 3785, + "popul": 6593, + "popular": 15854, + "popular": 4368, + "popularity": 19235, + "populated": 38420, + "population": 8423, + "populations": 23797, + "populism": 48998, + "populist": 49376, + "popup": 33053, + "por": 817, + "por": 7697, + "pora": 23537, + "porcel": 19409, + "porcelain": 20451, + "porch": 17154, + "pore": 28267, + "pork": 40379, + "pork": 7897, + "poro": 48110, + "porridge": 34924, + "porsch": 48009, + "porsche": 44049, + "porsche": 8783, + "port": 1641, + "port": 1418, + "porta": 45037, + "portable": 11949, + "portage": 32087, + "portal": 14982, + "porte": 28654, + "ported": 16879, + "porter": 28319, + "porter": 10318, + "porters": 15670, + "portfoli": 45766, + "portfolio": 11938, + "porth": 37425, + "porti": 45760, + "porting": 26052, + "portion": 13739, + "portions": 22914, + "portland": 38366, + "portland": 8880, + "portman": 34755, + "porto": 24853, + "porto": 18947, + "portobello": 48025, + "portra": 4175, + "portrait": 39312, + "portrait": 5352, + "portraits": 14203, + "portray": 46282, + "portrayal": 39238, + "portrayed": 36093, + "ports": 7734, + "portsm": 17063, + "portsmouth": 19074, + "portu": 7159, + "portugal": 9503, + "portugue": 17498, + "portuguese": 18019, + "pos": 1780, + "pos": 11839, + "pose": 25478, + "pose": 4230, + "posed": 5206, + "posei": 47270, + "poser": 46899, + "poses": 9773, + "posey": 34852, + "posh": 26748, + "posing": 10518, + "posit": 28793, + "positi": 7895, + "position": 4657, + "positioned": 34482, + "positioning": 30657, + "positions": 12188, + "positive": 21811, + "positive": 4844, + "positively": 24688, + "positivity": 19966, + "poss": 39745, + "posse": 17414, + "posse": 28413, + "possess": 36810, + "possessed": 36220, + "possession": 16154, + "possessions": 40588, + "possi": 2521, + "possibilities": 17932, + "possibility": 18517, + "possible": 3134, + "possibly": 8601, + "possum": 38575, + "post": 3489, + "post": 1549, + "postage": 27570, + "postal": 21687, + "postcard": 14785, + "postcards": 23922, + "postdoc": 41013, + "posted": 4752, + "poster": 22881, + "poster": 3574, + "posters": 9673, + "postgame": 34873, + "postgraduate": 31997, + "posthum": 42410, + "posting": 7559, + "postman": 38285, + "postpon": 23247, + "postponed": 25097, + "posts": 7824, + "postseason": 24521, + "posture": 29681, + "posure": 35539, + "pot": 3547, + "pot": 5168, + "potam": 45825, + "potassi": 36889, + "potassium": 37147, + "potat": 5975, + "potato": 8527, + "potatoes": 11567, + "potd": 28765, + "pote": 41869, + "poten": 4454, + "potent": 26082, + "potenti": 44104, + "potential": 5100, + "potentially": 16508, + "potholes": 47506, + "potion": 46055, + "potom": 38848, + "potomac": 43372, + "pots": 19234, + "pott": 28698, + "potted": 48581, + "potter": 24975, + "potter": 9026, + "pottery": 18396, + "potts": 39839, + "potty": 43569, + "potus": 8740, + "pou": 9423, + "pouch": 26811, + "poul": 22485, + "poultry": 31005, + "poun": 33719, + "pound": 33809, + "pound": 10674, + "pounding": 46544, + "pounds": 10752, + "pour": 33112, + "pour": 8180, + "poured": 26621, + "pouring": 16098, + "pours": 26005, + "pout": 39621, + "poutine": 43768, + "pov": 25731, + "pover": 8432, + "pover": 29464, + "poverty": 9095, + "pow": 1317, + "pow": 17745, + "powder": 32427, + "powder": 9674, + "powe": 36955, + "powell": 13305, + "power": 2789, + "power": 1807, + "powerball": 47803, + "powered": 45442, + "powered": 7332, + "powerful": 4875, + "powerhouse": 22858, + "powering": 16231, + "powerof": 31961, + "powerpoint": 38940, + "powerrangers": 40620, + "powers": 9422, + "pox": 43649, + "poy": 34737, + "poyn": 47655, + "poz": 39953, + "pp": 604, + "pp": 4186, + "ppa": 10416, + "ppard": 23391, + "ppc": 27778, + "ppe": 24573, + "ppe": 11867, + "pped": 1873, + "ppel": 46523, + "ppen": 30663, + "pper": 6719, + "pper": 2440, + "ppers": 5232, + "ppery": 27833, + "ppet": 20744, + "ppets": 25849, + "ppg": 27433, + "ppi": 9594, + "ppie": 33795, + "ppin": 8076, + "pping": 22214, + "pping": 1682, + "ppings": 35687, + "ppl": 6758, + "pple": 12302, + "ppm": 42053, + "ppo": 10215, + "ppor": 37613, + "ppp": 14017, + "pps": 10683, + "ppv": 38864, + "ppy": 30360, + "ppy": 3860, + "pr": 766, + "pr": 4150, + "pra": 1865, + "pra": 19285, + "prab": 17901, + "prabhas": 29959, + "prabhu": 31529, + "prac": 2243, + "practi": 29995, + "practic": 5495, + "practical": 10792, + "practically": 25588, + "practice": 3349, + "practiced": 36749, + "practices": 9040, + "practicing": 12750, + "practise": 38938, + "practising": 36478, + "practiti": 19909, + "practitioner": 32591, + "practitioners": 29045, + "prada": 29456, + "pradesh": 15384, + "prado": 44141, + "prag": 31025, + "prague": 14940, + "prairi": 12629, + "prairie": 14753, + "praise": 10013, + "praised": 27649, + "praises": 23049, + "praising": 36961, + "prakash": 43708, + "prakash": 25366, + "pram": 47774, + "pran": 20048, + "prank": 23654, + "pras": 41562, + "prasad": 29562, + "prat": 23069, + "prati": 45773, + "pratt": 37863, + "pratt": 23396, + "prawn": 33102, + "prawns": 34903, + "pray": 12671, + "pray": 6041, + "prayed": 34665, + "prayer": 41452, + "prayer": 6583, + "prayers": 8393, + "prayfor": 18443, + "praying": 11550, + "prays": 46602, + "prc": 28781, + "pre": 679, + "pre": 2900, + "preach": 22545, + "preacher": 29357, + "preaching": 23642, + "precau": 36532, + "precautions": 47845, + "prece": 15361, + "preci": 5470, + "precin": 27908, + "precinct": 32587, + "precious": 8226, + "precipit": 27463, + "precipitation": 33399, + "precise": 24457, + "precisely": 34954, + "precision": 44021, + "precision": 15621, + "pred": 40370, + "predat": 13364, + "predator": 20653, + "predators": 25569, + "prede": 38454, + "predecess": 38963, + "predic": 4876, + "predict": 16900, + "predictable": 25344, + "predicted": 18702, + "predicting": 30414, + "prediction": 16296, + "predictions": 15125, + "predictive": 29798, + "predicts": 25960, + "preds": 40125, + "pree": 47026, + "preet": 30131, + "prefe": 14542, + "prefecture": 32890, + "prefer": 33426, + "prefer": 11450, + "preference": 35057, + "preferences": 38118, + "preferred": 18772, + "prefers": 38528, + "pregame": 18575, + "pregn": 7190, + "pregnancy": 12769, + "pregnant": 11195, + "prehistoric": 32750, + "prejudice": 28337, + "preli": 15523, + "prelimin": 19990, + "preliminary": 20997, + "prelims": 43223, + "prelude": 42966, + "prem": 32090, + "prem": 21724, + "premature": 39253, + "premi": 2413, + "premier": 16996, + "premier": 5539, + "premiere": 5367, + "premiered": 27652, + "premieres": 19907, + "premiering": 32615, + "premierleague": 22608, + "premiers": 44883, + "premiership": 23665, + "premiosm": 38460, + "premiosmtvmiaw": 38630, + "premise": 45952, + "premises": 27266, + "premium": 8011, + "pren": 20801, + "preneur": 46288, + "preorder": 16703, + "preorders": 45985, + "prep": 6430, + "prep": 7277, + "prepa": 26270, + "prepaid": 42934, + "prepar": 4968, + "preparation": 11651, + "preparations": 19135, + "prepare": 7014, + "prepared": 7677, + "preparedness": 29492, + "prepares": 16375, + "preparing": 7365, + "prepped": 34379, + "prepping": 16459, + "preps": 14765, + "prequel": 40461, + "pres": 1385, + "pres": 8529, + "presale": 27135, + "presby": 30447, + "presbyter": 33959, + "presbyterian": 35370, + "preschool": 24354, + "prescott": 29392, + "prescri": 14851, + "prescribed": 36968, + "prescription": 23061, + "preseason": 13813, + "presen": 16742, + "presence": 8848, + "present": 2344, + "present": 2881, + "presentation": 4594, + "presentations": 16998, + "presented": 4587, + "presenter": 18587, + "presenters": 32759, + "presenting": 5339, + "presents": 4215, + "preserv": 17616, + "preservation": 21074, + "preserve": 15570, + "preserved": 23161, + "preserves": 44881, + "preserving": 32315, + "presi": 1697, + "presiden": 43374, + "presidency": 18077, + "president": 19900, + "president": 1940, + "presidente": 47363, + "presidenti": 48297, + "presidential": 8503, + "presidents": 16726, + "presiding": 45298, + "presley": 30013, + "press": 4124, + "press": 2124, + "pressed": 20080, + "presser": 27826, + "presses": 33748, + "pressing": 20893, + "pressure": 6083, + "pressures": 38487, + "prest": 41840, + "presti": 12245, + "prestige": 29328, + "prestigious": 15888, + "presto": 42211, + "preston": 37335, + "preston": 15179, + "presu": 21667, + "presumably": 42562, + "pret": 9652, + "preten": 15871, + "pretend": 18111, + "pretending": 21306, + "pretoria": 36080, + "prett": 46667, + "prettier": 31745, + "prettiest": 22866, + "pretty": 18286, + "pretty": 2111, + "pretz": 24890, + "pretzel": 36707, + "pretzels": 45468, + "prev": 20274, + "prevail": 31637, + "prevalence": 41729, + "prevalent": 46260, + "preven": 29382, + "prevent": 26436, + "prevent": 7968, + "preventable": 44250, + "prevented": 35356, + "preventing": 21756, + "prevention": 9500, + "preventive": 40949, + "prevents": 31746, + "preview": 4449, + "previews": 20279, + "previous": 9252, + "previously": 13359, + "prey": 17131, + "prez": 17956, + "pri": 955, + "pri": 23400, + "pric": 24275, + "price": 13254, + "price": 2827, + "priced": 16934, + "priceless": 15743, + "prices": 5954, + "pricing": 14800, + "prick": 43921, + "prick": 46516, + "pride": 15323, + "pride": 3436, + "pridemonth": 41410, + "prie": 22477, + "priest": 38756, + "priest": 14222, + "priests": 30005, + "prim": 22004, + "prima": 35611, + "prima": 33277, + "primal": 36604, + "primar": 21579, + "primaries": 46126, + "primarily": 29465, + "primark": 48329, + "primary": 35024, + "primary": 5814, + "primavera": 44899, + "prime": 14162, + "prime": 5183, + "primed": 45694, + "primer": 22388, + "primetime": 29763, + "primitive": 37467, + "primo": 43215, + "primrose": 45891, + "prin": 1588, + "prince": 9457, + "prince": 4735, + "princes": 45329, + "princes": 30136, + "princess": 24123, + "princess": 5079, + "princesses": 34161, + "princeton": 22433, + "princi": 5129, + "principal": 33599, + "principal": 8860, + "principals": 27524, + "principle": 19595, + "principles": 13755, + "print": 17851, + "print": 3557, + "printable": 29648, + "printed": 7978, + "printer": 14521, + "printers": 27881, + "printing": 7369, + "printmaking": 38669, + "prints": 7704, + "prior": 20328, + "prior": 10572, + "priorit": 47773, + "prioriti": 28822, + "priorities": 15232, + "prioritize": 46715, + "priority": 12451, + "priory": 38665, + "prisc": 32468, + "priscilla": 42396, + "prise": 23343, + "prism": 49311, + "prism": 34356, + "prison": 9281, + "prison": 6622, + "prisoner": 21427, + "prisoners": 17460, + "prisons": 26607, + "pristine": 30618, + "prit": 41668, + "prit": 37523, + "prith": 39173, + "prius": 43561, + "priv": 3270, + "privacy": 10437, + "private": 20362, + "private": 4439, + "privately": 32970, + "privati": 27379, + "privi": 8367, + "privileg": 18015, + "privilege": 11537, + "privileged": 18166, + "prix": 10875, + "priya": 31275, + "priyan": 16488, + "priyanka": 31959, + "priyankach": 30030, + "priyankachopra": 30264, + "prize": 48222, + "prize": 4521, + "prized": 38769, + "prizes": 9268, + "prk": 37094, + "pro": 644, + "pro": 2630, + "proactive": 33364, + "prob": 17706, + "prob": 24007, + "probab": 3907, + "probability": 32637, + "probable": 42444, + "probably": 4047, + "probation": 36531, + "probe": 14359, + "probes": 48564, + "probiotics": 49395, + "proble": 2719, + "problem": 4324, + "problematic": 33767, + "problems": 4671, + "probs": 16330, + "probz": 34243, + "proc": 38417, + "proce": 4076, + "procedu": 18204, + "procedural": 48177, + "procedure": 20163, + "procedures": 21109, + "proceed": 26664, + "proceed": 33894, + "proceedings": 26953, + "proceeds": 11882, + "process": 17291, + "process": 4078, + "processed": 23816, + "processes": 15169, + "processing": 11737, + "procession": 26288, + "processor": 22838, + "processors": 43634, + "proclaimed": 34489, + "proclamation": 32065, + "procra": 25361, + "procrastin": 25586, + "procrastination": 42825, + "procreate": 39336, + "proctor": 47204, + "procu": 21001, + "procurement": 23733, + "prod": 44349, + "prod": 11991, + "prodi": 27759, + "prodigy": 31973, + "produ": 27852, + "produc": 1471, + "produce": 7529, + "produced": 7479, + "producer": 7064, + "producers": 13883, + "produces": 19940, + "producing": 13579, + "product": 32602, + "product": 4306, + "production": 4146, + "productions": 14166, + "productive": 9697, + "productivity": 12800, + "products": 3964, + "prof": 15043, + "prof": 5488, + "profe": 2611, + "profess": 5486, + "professi": 3705, + "profession": 8104, + "profession": 19671, + "professional": 46007, + "professional": 4774, + "professionalism": 41252, + "professionally": 33892, + "professionals": 10165, + "professor": 47302, + "professor": 6092, + "professors": 27758, + "profici": 34685, + "profile": 14291, + "profile": 6444, + "profiles": 22070, + "profiling": 37123, + "profit": 16941, + "profit": 7909, + "profitable": 25465, + "profits": 13410, + "profound": 48245, + "profound": 22998, + "profs": 19260, + "prog": 22219, + "progno": 46070, + "program": 4162, + "program": 2737, + "programme": 6322, + "programmer": 37001, + "programmes": 20468, + "programming": 10831, + "programs": 7345, + "progre": 7069, + "progress": 4421, + "progressi": 23297, + "progressing": 32346, + "progression": 24772, + "progressive": 12208, + "progressives": 41709, + "prohi": 41124, + "prohib": 45040, + "prohibition": 34440, + "proj": 39156, + "proje": 48345, + "projec": 1610, + "project": 15911, + "project": 1965, + "projected": 22873, + "projection": 22384, + "projections": 34638, + "projector": 27816, + "projects": 5090, + "proli": 19710, + "prolife": 32126, + "prolifer": 39018, + "prolific": 27839, + "prolly": 45968, + "prolon": 35379, + "prolonged": 41972, + "prom": 40363, + "prom": 7944, + "prome": 34355, + "promen": 33578, + "promenade": 35522, + "promethe": 44183, + "promin": 35217, + "prominent": 19172, + "promis": 3963, + "promise": 6745, + "promised": 11516, + "promises": 12064, + "promising": 14183, + "promo": 3037, + "promo": 6755, + "promos": 35044, + "promote": 47384, + "promote": 8003, + "promoted": 16395, + "promoter": 33081, + "promotes": 20169, + "promoting": 9695, + "promotion": 9259, + "promotional": 17619, + "promotions": 19142, + "promp": 11671, + "prompt": 20198, + "prompted": 45746, + "prompts": 33490, + "proms": 37759, + "pron": 13285, + "prone": 30964, + "pronoun": 23022, + "pronounce": 40489, + "pronounced": 34109, + "pronto": 44296, + "proof": 17020, + "proof": 5248, + "proofing": 35679, + "proofs": 41023, + "prop": 19123, + "prop": 16254, + "propag": 12151, + "propaganda": 14718, + "propane": 45546, + "propel": 48439, + "propeller": 47404, + "proper": 3577, + "proper": 8205, + "properly": 12560, + "properties": 10922, + "property": 26486, + "property": 5043, + "prophe": 9662, + "prophecy": 32501, + "prophet": 15549, + "prophetic": 47476, + "prophets": 39441, + "propor": 35016, + "proportion": 35775, + "proportions": 39391, + "propos": 9455, + "proposal": 12139, + "proposals": 20568, + "propose": 28471, + "proposed": 10615, + "proposes": 27133, + "proposing": 42631, + "proposition": 44780, + "propri": 28243, + "props": 15249, + "propulsion": 49380, + "pros": 33925, + "pros": 14147, + "prosciutto": 46565, + "prose": 47063, + "prose": 28675, + "prosecco": 28839, + "prosecu": 12136, + "prosecution": 30902, + "prosecutor": 23736, + "prosecutors": 31656, + "prosp": 24242, + "prospec": 12693, + "prospect": 11211, + "prospective": 28034, + "prospects": 15372, + "prosper": 16121, + "prosper": 33526, + "prosperity": 17203, + "prosperous": 28252, + "prost": 47923, + "prostate": 28808, + "prostatec": 49064, + "prosthetic": 44602, + "prostitu": 37333, + "protag": 28950, + "protagonist": 38183, + "prote": 1845, + "protec": 5640, + "protect": 25563, + "protect": 4817, + "protected": 12266, + "protecting": 11710, + "protection": 6238, + "protections": 33772, + "protective": 17028, + "protector": 20441, + "protectors": 45039, + "protects": 21889, + "protein": 8088, + "proteins": 28661, + "protest": 6279, + "protestant": 46945, + "protested": 48089, + "protester": 42073, + "protesters": 12660, + "protesting": 18788, + "protestors": 27822, + "protests": 12450, + "proto": 8672, + "proto": 44958, + "protocol": 19938, + "protocols": 39631, + "proton": 40009, + "prototype": 16675, + "prototyping": 42081, + "prou": 5739, + "proud": 11080, + "proud": 1679, + "prouder": 39585, + "proudest": 46806, + "proudly": 11203, + "proudof": 48184, + "proudtobe": 35043, + "prov": 23772, + "prov": 35021, + "prove": 10107, + "proved": 16473, + "proven": 35405, + "proven": 14569, + "provence": 28067, + "prover": 18312, + "proverb": 34419, + "proverbs": 27016, + "proves": 16119, + "provi": 2289, + "provide": 4832, + "provided": 9046, + "providence": 19331, + "provider": 14409, + "providers": 17120, + "provides": 7161, + "providing": 7250, + "provin": 12074, + "province": 8978, + "provinces": 35050, + "provincial": 16002, + "proving": 18055, + "provision": 30148, + "provisional": 36008, + "provisions": 39269, + "provo": 15367, + "provoc": 31618, + "provocative": 43809, + "provoking": 25510, + "provost": 36627, + "prow": 38737, + "prowrestling": 39825, + "prox": 41616, + "proxim": 31436, + "proximity": 38298, + "proxy": 31680, + "prs": 23879, + "pru": 12961, + "pruitt": 39453, + "prun": 29029, + "pruning": 48133, + "pry": 31965, + "pryor": 43375, + "ps": 3982, + "ps": 814, + "psa": 14031, + "psal": 13859, + "psalm": 17995, + "psalms": 35003, + "psb": 37017, + "psc": 43118, + "psd": 28810, + "pse": 19737, + "pse": 5423, + "pseu": 24919, + "pseudo": 46618, + "psg": 17123, + "psi": 45848, + "psi": 24533, + "psic": 29299, + "psis": 33041, + "psl": 21373, + "psn": 36781, + "pso": 27045, + "pson": 7487, + "psori": 44688, + "psp": 32769, + "pss": 35718, + "pss": 42535, + "psst": 47814, + "pst": 12692, + "psu": 41286, + "psu": 28338, + "psv": 44530, + "psy": 3576, + "psy": 11056, + "psych": 31041, + "psych": 20509, + "psyched": 19932, + "psyched": 35199, + "psychedelic": 23292, + "psychi": 18147, + "psychiatric": 30578, + "psychiatry": 39706, + "psychic": 24916, + "psycho": 6472, + "psycho": 22154, + "psychological": 18153, + "psychologist": 32827, + "psychology": 12352, + "psychop": 30112, + "psychotic": 48774, + "pt": 11139, + "pt": 1459, + "pta": 11586, + "ptbo": 40481, + "ptc": 44646, + "pte": 47804, + "pter": 49323, + "pti": 29375, + "pti": 10491, + "ptic": 20670, + "ption": 3479, + "ptions": 24963, + "pto": 31372, + "pto": 34092, + "pton": 19780, + "pts": 5886, + "ptsd": 23973, + "ptv": 42402, + "pu": 755, + "pu": 11780, + "pub": 20720, + "pub": 6301, + "puberty": 44122, + "pubg": 31496, + "publ": 3434, + "publi": 1617, + "public": 3592, + "public": 2122, + "publica": 49007, + "publication": 13538, + "publications": 27334, + "publichealth": 35872, + "publicity": 20831, + "publicly": 18554, + "publish": 19032, + "published": 4311, + "publisher": 20455, + "publishers": 25222, + "publishes": 35633, + "publishing": 10994, + "publix": 47985, + "pubs": 21099, + "puc": 48779, + "puck": 17550, + "pud": 39234, + "pudding": 14025, + "puddle": 33545, + "pue": 20161, + "pueblo": 33076, + "puer": 8968, + "puerto": 12289, + "puertor": 22757, + "puertorico": 26356, + "puff": 44477, + "puff": 17184, + "puffin": 47632, + "puffs": 47453, + "puffy": 49245, + "pug": 20950, + "pug": 17739, + "pugchat": 42266, + "pugh": 41302, + "puglia": 38345, + "pugs": 39425, + "puj": 46163, + "puja": 33753, + "puk": 31811, + "pul": 2469, + "pul": 40512, + "pula": 45856, + "puli": 47293, + "pulit": 27745, + "pulitzer": 31419, + "pull": 20155, + "pull": 6857, + "pulled": 8525, + "pulling": 12897, + "pullman": 40203, + "pullover": 44020, + "pulls": 16041, + "pulmon": 32613, + "pulmonary": 39132, + "pulp": 25410, + "pulse": 40091, + "pulse": 12485, + "pulses": 42177, + "pulsion": 35398, + "pum": 37497, + "puma": 20858, + "pump": 5179, + "pump": 9173, + "pumped": 12796, + "pumping": 25150, + "pumpkin": 36386, + "pumpkin": 8842, + "pumpkins": 23787, + "pumps": 18540, + "pun": 2707, + "pun": 19929, + "punc": 43907, + "punch": 29332, + "punch": 10730, + "punched": 31689, + "punches": 35279, + "punching": 33468, + "punctu": 31565, + "punctuation": 47051, + "pundit": 41466, + "pune": 32593, + "pune": 14488, + "pung": 45420, + "puni": 11479, + "punish": 34569, + "punished": 31598, + "punisher": 38509, + "punishment": 19099, + "punjab": 19405, + "punjab": 12883, + "punjabi": 25430, + "punk": 28933, + "punk": 7246, + "punks": 47171, + "puns": 35231, + "punt": 32699, + "punta": 34112, + "punter": 47092, + "pup": 11926, + "pup": 11302, + "pupil": 27265, + "pupils": 13628, + "pupp": 7116, + "puppet": 18439, + "puppets": 28475, + "puppies": 14820, + "puppy": 25431, + "puppy": 6829, + "puppylove": 40849, + "pups": 20778, + "pur": 1727, + "pur": 6265, + "pura": 25596, + "puram": 46174, + "purcell": 46065, + "purch": 8384, + "purchase": 5481, + "purchased": 13399, + "purchases": 21887, + "purchasing": 20718, + "purdu": 40691, + "purdue": 22280, + "pure": 14202, + "pure": 5979, + "puree": 45474, + "purely": 32459, + "puremichigan": 39783, + "purest": 45497, + "purge": 33514, + "puri": 16910, + "puri": 21974, + "purification": 47724, + "purity": 29780, + "purple": 17837, + "purple": 5496, + "purpose": 33492, + "purpose": 7391, + "purposes": 22020, + "purr": 49262, + "purr": 46343, + "purse": 16480, + "pursue": 19463, + "pursuing": 26424, + "pursuit": 16469, + "purée": 40981, + "pus": 13841, + "pusa": 40825, + "push": 16028, + "push": 6831, + "pushaw": 35407, + "pushaward": 35448, + "pushawards": 47184, + "pushed": 16155, + "pushes": 23828, + "pushing": 11549, + "put": 29535, + "put": 1983, + "putin": 10693, + "putnam": 40235, + "puts": 7898, + "putt": 30279, + "putter": 44723, + "putting": 5154, + "puzz": 19760, + "puzzle": 12875, + "puzzles": 27986, + "pv": 14517, + "pv": 13495, + "pvc": 26959, + "pvp": 44172, + "pvt": 29898, + "pw": 19419, + "pw": 16067, + "pwc": 22965, + "px": 24790, + "px": 10262, + "pxrtg": 36262, + "py": 4005, + "py": 7504, + "pye": 31099, + "pyeongchang": 36066, + "pyg": 41450, + "pyram": 14405, + "pyramid": 18725, + "pyramids": 36877, + "pyrene": 36740, + "pyrenees": 39744, + "pyro": 39762, + "python": 13370, + "pz": 48361, + "pé": 43167, + "q": 80, + "q": 336, + "qa": 24944, + "qa": 16360, + "qad": 27844, + "qadri": 35672, + "qaeda": 31246, + "qanda": 48672, + "qanon": 19182, + "qant": 35404, + "qantas": 43250, + "qatar": 32804, + "qatar": 10872, + "qb": 8073, + "qbs": 38188, + "qc": 17406, + "qe": 30974, + "qf": 27215, + "qi": 25054, + "qi": 11256, + "qing": 46522, + "qing": 34339, + "ql": 28366, + "qld": 23039, + "qld": 13765, + "qldpol": 42296, + "qm": 42148, + "qotd": 24504, + "qpr": 24788, + "qq": 31960, + "qr": 18193, + "qs": 14364, + "qt": 15013, + "qtr": 44803, + "qu": 666, + "qu": 28646, + "qua": 20363, + "quack": 45575, + "quad": 11656, + "quad": 13419, + "quadcopter": 39792, + "quadru": 35831, + "quaid": 34265, + "quail": 34392, + "quaint": 45976, + "quake": 8421, + "quaker": 43395, + "quakes": 24572, + "qual": 9979, + "qual": 32405, + "qualcomm": 38683, + "quali": 4574, + "qualification": 21508, + "qualifications": 35225, + "qualified": 11927, + "qualifier": 18733, + "qualifiers": 21388, + "qualifies": 35820, + "qualify": 17019, + "qualifying": 11895, + "qualitative": 45847, + "qualities": 20488, + "quality": 28545, + "quality": 3027, + "quan": 11669, + "quan": 27490, + "quand": 28198, + "quant": 15050, + "quanti": 31540, + "quantitative": 40583, + "quantities": 33917, + "quantity": 26920, + "quantum": 15320, + "quar": 3856, + "quare": 42549, + "quarry": 27601, + "quart": 7851, + "quarter": 8816, + "quarter": 6632, + "quarterback": 16545, + "quarterfinal": 37992, + "quarterfinals": 28971, + "quarterly": 23350, + "quarters": 10146, + "quartet": 18056, + "quartz": 17752, + "quat": 25715, + "quattro": 40300, + "quay": 40276, + "quay": 17304, + "que": 1147, + "que": 2319, + "quebec": 15373, + "queen": 6407, + "queen": 2997, + "queenof": 44398, + "queens": 22943, + "queens": 9330, + "queensland": 15168, + "queer": 38874, + "queer": 18161, + "quel": 39774, + "quel": 21879, + "quen": 23876, + "quen": 38324, + "quent": 23808, + "quentin": 27530, + "quer": 17378, + "quer": 26859, + "quered": 23210, + "queries": 32958, + "querque": 30338, + "query": 27464, + "ques": 25328, + "ques": 7715, + "queso": 40110, + "quest": 31653, + "quest": 4846, + "questi": 2391, + "question": 18961, + "question": 4382, + "questionable": 30733, + "questioned": 31847, + "questioning": 24887, + "questions": 3883, + "quests": 44611, + "quet": 8513, + "quets": 39055, + "quetta": 38326, + "quette": 18993, + "queu": 32705, + "queue": 18549, + "queues": 40649, + "queuing": 44082, + "quez": 18677, + "quezon": 41117, + "qui": 1912, + "qui": 18046, + "quic": 26474, + "quiche": 47723, + "quick": 5969, + "quick": 3712, + "quicker": 29211, + "quickest": 37734, + "quickly": 7787, + "quid": 30732, + "quie": 43875, + "quien": 43482, + "quiere": 42723, + "quiero": 32567, + "quiet": 17853, + "quiet": 7557, + "quietly": 22208, + "quig": 44690, + "quil": 12305, + "quill": 48951, + "quilt": 23977, + "quilted": 46052, + "quin": 8607, + "quin": 17167, + "quincy": 27640, + "quind": 32339, + "quinn": 12306, + "quinoa": 26703, + "quins": 39701, + "quint": 26898, + "quinta": 47446, + "quinte": 22098, + "quintess": 37538, + "quintet": 35125, + "quipment": 42813, + "quir": 15943, + "quirky": 25044, + "quis": 15064, + "quist": 25128, + "quit": 19358, + "quit": 11140, + "quite": 4135, + "quito": 35828, + "quits": 32505, + "quitting": 33871, + "quity": 33133, + "quiz": 31197, + "quiz": 8344, + "quizz": 35041, + "quo": 3046, + "quo": 28127, + "quoi": 45549, + "quot": 5452, + "quot": 47587, + "quota": 42097, + "quotation": 49195, + "quote": 15446, + "quote": 4020, + "quoted": 27706, + "quoteoftheday": 19975, + "quotes": 5808, + "quoting": 31651, + "qur": 37782, + "quran": 19690, + "qureshi": 46307, + "qvist": 42322, + "qx": 45038, + "r": 81, + "r": 337, + "ra": 559, + "ra": 1735, + "raa": 44344, + "rab": 14816, + "rab": 33224, + "rabb": 6875, + "rabbi": 20959, + "rabbit": 10274, + "rabbits": 27028, + "rabhu": 25806, + "rable": 10182, + "rac": 1773, + "rac": 30462, + "raccoon": 29516, + "race": 10978, + "race": 2471, + "racec": 18814, + "racecourse": 25036, + "raced": 36021, + "racer": 16798, + "racers": 33603, + "races": 8605, + "raceway": 24650, + "rach": 6876, + "rach": 33429, + "racha": 21952, + "racha": 35022, + "rachael": 29095, + "rachel": 13511, + "rachel": 8029, + "raci": 33381, + "racial": 13801, + "racially": 43577, + "racing": 23306, + "racing": 3699, + "racism": 11276, + "racist": 9684, + "racists": 41777, + "rack": 24600, + "rack": 12034, + "racket": 37691, + "racks": 21191, + "rad": 4473, + "rad": 8238, + "rada": 30437, + "radar": 9672, + "radcliffe": 33096, + "rade": 44494, + "rade": 17911, + "rader": 45002, + "radford": 45800, + "radha": 43122, + "radi": 5772, + "radial": 42028, + "radiance": 45670, + "radiant": 25614, + "radiation": 18210, + "radiator": 39372, + "radic": 18082, + "radical": 13712, + "radicals": 45903, + "radio": 7176, + "radio": 2638, + "radioactive": 34704, + "radiodisney": 36483, + "radiohead": 39472, + "radiology": 29684, + "radios": 43669, + "radish": 37789, + "radius": 37570, + "rado": 29784, + "rae": 21646, + "rae": 15051, + "rael": 45390, + "raer": 44561, + "raf": 11495, + "raf": 11490, + "rafa": 14352, + "rafa": 24850, + "rafael": 38221, + "rafael": 19216, + "rafaelnadal": 49219, + "raff": 34900, + "raffic": 32928, + "raffle": 13752, + "raffles": 43489, + "rafi": 35304, + "raft": 9233, + "rafting": 36309, + "rag": 13958, + "rag": 20687, + "rage": 8593, + "rages": 34253, + "ragh": 35642, + "ragha": 40972, + "raging": 25015, + "ragn": 24125, + "ragnar": 34385, + "ragnarok": 41856, + "ragon": 34768, + "rags": 47838, + "rah": 12277, + "rah": 8766, + "raheem": 43317, + "rahim": 24152, + "rahman": 19680, + "rahu": 13129, + "rahul": 37239, + "rahul": 17440, + "rahulg": 27510, + "rahulgandhi": 28293, + "rai": 9165, + "rai": 9638, + "raid": 6877, + "raided": 43417, + "raider": 27368, + "raider": 21455, + "raidernation": 47901, + "raiders": 11817, + "raids": 26655, + "rail": 4573, + "rail": 6879, + "raila": 47273, + "railminindia": 35557, + "railroad": 17080, + "rails": 23427, + "railway": 27614, + "railway": 7856, + "railwayana": 46750, + "railways": 20765, + "raim": 45785, + "rain": 3128, + "rain": 2443, + "raina": 30564, + "rainbow": 24562, + "rainbow": 6286, + "rainbows": 30483, + "raine": 49038, + "raine": 6871, + "rained": 32310, + "rainf": 15024, + "rainfall": 15350, + "rainforest": 22823, + "rainier": 37850, + "raining": 13964, + "rains": 14272, + "rainy": 10222, + "rais": 14729, + "raise": 24249, + "raise": 5078, + "raised": 6027, + "raiser": 33555, + "raises": 13297, + "raisethe": 47109, + "raisin": 36864, + "raising": 6883, + "raj": 5958, + "raj": 10813, + "raja": 46069, + "raja": 19150, + "rajan": 46595, + "rajas": 16185, + "rajasthan": 18017, + "raje": 21899, + "rajesh": 43602, + "raji": 27569, + "rajini": 29600, + "rajini": 40622, + "rajinikanth": 32922, + "rajiv": 40197, + "rajkumar": 49304, + "rajput": 47572, + "raju": 47029, + "rak": 13523, + "rak": 26287, + "rake": 26825, + "rake": 32712, + "rakesh": 41083, + "ral": 8062, + "ral": 1406, + "rale": 14192, + "raleigh": 18207, + "rall": 23249, + "rallies": 25230, + "rally": 18882, + "rally": 5041, + "rallying": 36836, + "ralph": 25290, + "ralph": 12234, + "ram": 1976, + "ram": 2007, + "rama": 22112, + "ramad": 12736, + "ramadan": 15547, + "ramadhan": 47415, + "raman": 39816, + "ramapho": 43963, + "ramaphosa": 44993, + "ramatta": 49112, + "rambo": 41855, + "ramcharan": 45275, + "rame": 47745, + "ramen": 18892, + "ramesh": 48640, + "ramesh": 40186, + "rami": 43016, + "ramirez": 23877, + "ramon": 27958, + "ramone": 47201, + "ramos": 21046, + "ramp": 14271, + "rampage": 32077, + "rampant": 41985, + "ramps": 35257, + "rams": 10292, + "ramsay": 26259, + "ramsey": 19215, + "ran": 1433, + "ran": 4031, + "rana": 22143, + "ranbir": 40881, + "rance": 29034, + "ranch": 43955, + "ranch": 10659, + "rancho": 26258, + "rand": 5628, + "rand": 18718, + "randall": 23639, + "rande": 21469, + "randolph": 29899, + "random": 11396, + "random": 6160, + "randomly": 17272, + "rands": 39153, + "randy": 29479, + "randy": 13279, + "rane": 28852, + "rang": 4043, + "rang": 24377, + "range": 13627, + "range": 3818, + "ranger": 31472, + "ranger": 13593, + "rangers": 7664, + "ranges": 25685, + "ranging": 25946, + "rani": 29264, + "rani": 22631, + "rank": 11501, + "ranked": 8307, + "rankin": 37539, + "ranking": 12347, + "rankings": 12596, + "ranks": 14469, + "rano": 18608, + "rans": 46259, + "ransom": 28523, + "ransom": 34646, + "ransomware": 33815, + "rant": 46467, + "rant": 9819, + "rants": 34014, + "ranveer": 32402, + "ranveer": 41482, + "ranveerofficial": 42116, + "rao": 16913, + "rap": 7773, + "rap": 7348, + "rape": 46099, + "rape": 10070, + "raped": 23700, + "rapha": 22754, + "raphael": 30091, + "rapi": 8610, + "rapid": 47697, + "rapid": 12205, + "rapidly": 16710, + "rapids": 18848, + "raping": 44926, + "rapist": 33360, + "rapp": 19283, + "rapper": 11860, + "rappers": 30315, + "rapping": 42864, + "raps": 37887, + "raptor": 26762, + "raptors": 17035, + "raq": 39787, + "raq": 43312, + "raqqa": 47074, + "raquel": 44338, + "rar": 26819, + "rar": 24605, + "rard": 21012, + "rare": 18992, + "rare": 3865, + "rarely": 17315, + "rarest": 43237, + "rarity": 45862, + "ras": 23492, + "ras": 8224, + "rasc": 30085, + "rascal": 43481, + "rash": 14917, + "rash": 30608, + "rashad": 46527, + "rasheed": 41638, + "rashi": 19426, + "rashid": 26757, + "rasp": 10487, + "raspberries": 37742, + "raspberry": 40162, + "raspberry": 13615, + "raspberrypi": 43934, + "rass": 45654, + "rasta": 47002, + "rat": 3806, + "rat": 8985, + "rata": 28568, + "ratchet": 25078, + "rate": 5068, + "rated": 8183, + "rates": 6864, + "rath": 18268, + "rath": 39772, + "rather": 5252, + "rati": 11486, + "rating": 10567, + "ratings": 14176, + "ratio": 15893, + "ration": 27002, + "ration": 35662, + "rational": 33086, + "ratna": 49078, + "ratri": 32288, + "rats": 19043, + "ratt": 20737, + "ratt": 34785, + "rattle": 40824, + "rattle": 41839, + "rau": 27744, + "raul": 30218, + "raun": 41169, + "rav": 14367, + "rav": 23606, + "rave": 38784, + "rave": 17601, + "ravel": 27927, + "raven": 10269, + "raven": 16803, + "ravens": 17946, + "ravi": 22947, + "ravi": 19538, + "ravin": 39099, + "raving": 45807, + "raviol": 41104, + "ravioli": 43460, + "raw": 10166, + "raw": 6323, + "rawlings": 40662, + "rax": 38520, + "ray": 5312, + "ray": 3077, + "raya": 29991, + "raymond": 16683, + "rayn": 47852, + "rayon": 47900, + "rays": 11064, + "raz": 9700, + "raz": 19087, + "raza": 37724, + "razer": 33832, + "razor": 24934, + "razor": 21300, + "razz": 43769, + "rb": 12740, + "rb": 7477, + "rbc": 37500, + "rbi": 15687, + "rbs": 29102, + "rc": 7575, + "rc": 7457, + "rca": 33942, + "rcb": 45240, + "rcmp": 31489, + "rcn": 49370, + "rctid": 49223, + "rd": 13501, + "rd": 1973, + "rda": 45755, + "rdr": 44364, + "rds": 32378, + "re": 515, + "re": 810, + "rea": 11521, + "reach": 4483, + "reach": 4279, + "reached": 6878, + "reaches": 14462, + "reaching": 11358, + "react": 36566, + "react": 15065, + "reacted": 42515, + "reacting": 40595, + "reaction": 7189, + "reactions": 18438, + "reactive": 42072, + "reactjs": 46173, + "reactor": 32037, + "reacts": 23115, + "read": 933, + "read": 1199, + "reader": 9884, + "readers": 10335, + "readiness": 28131, + "reading": 17556, + "reading": 2337, + "readingfc": 47428, + "readings": 23361, + "reads": 6597, + "ready": 17351, + "ready": 1112, + "reagan": 17767, + "real": 2017, + "real": 1532, + "realdonaldtrump": 7025, + "reale": 5930, + "realest": 45855, + "realestate": 32937, + "realestate": 6569, + "reali": 4185, + "realis": 38114, + "realise": 14773, + "realised": 17945, + "realising": 39537, + "realism": 20024, + "realist": 30248, + "realistic": 16157, + "realities": 32443, + "reality": 46802, + "reality": 5004, + "realization": 40402, + "realize": 7538, + "realized": 10489, + "realizes": 42918, + "realizing": 23284, + "reall": 39686, + "really": 43249, + "really": 1414, + "realm": 23083, + "realmadrid": 27866, + "realms": 43033, + "realness": 46761, + "realtime": 44002, + "realtime": 38203, + "realtor": 18038, + "realtors": 31759, + "realty": 20471, + "ream": 37242, + "ream": 15219, + "rean": 48477, + "reap": 31334, + "reaper": 29922, + "rear": 39652, + "rear": 10223, + "reas": 9121, + "reason": 12882, + "reason": 3893, + "reasonable": 18558, + "reasonably": 38589, + "reasoning": 30341, + "reasons": 5686, + "reau": 32398, + "reb": 12370, + "reb": 18796, + "reba": 48543, + "rebate": 43817, + "rebe": 25227, + "rebec": 10774, + "rebecca": 12892, + "rebel": 8185, + "rebel": 12248, + "rebellion": 22170, + "rebels": 13623, + "rebirth": 33303, + "reboot": 22385, + "reborn": 30229, + "reboun": 43381, + "rebound": 31280, + "rebounds": 19190, + "rebs": 28164, + "rebu": 43162, + "rebuild": 20022, + "rebuilding": 30880, + "rebuilt": 33137, + "rec": 1020, + "rec": 11243, + "recall": 15151, + "recalled": 32142, + "recalling": 47855, + "recalls": 24740, + "recap": 29816, + "recap": 8337, + "recaps": 47997, + "recard": 35536, + "rece": 1890, + "recei": 2148, + "receip": 38503, + "receipt": 30479, + "receipts": 41181, + "receive": 4800, + "received": 4178, + "receiver": 17659, + "receivers": 45294, + "receives": 10027, + "receiving": 7252, + "recent": 3969, + "recently": 4482, + "recep": 17450, + "reception": 8364, + "receptions": 46881, + "receptor": 41835, + "recess": 38182, + "recession": 27176, + "recharge": 29396, + "rechargeable": 37516, + "reci": 2037, + "recipe": 28923, + "recipe": 4614, + "recipeoftheday": 38727, + "recipes": 9243, + "recipi": 10136, + "recipient": 13703, + "recipients": 18940, + "recipro": 41789, + "recital": 23457, + "recite": 48824, + "reck": 11715, + "reckless": 26284, + "reckon": 23854, + "recl": 42277, + "reclaim": 35969, + "reclaimed": 32648, + "reco": 2535, + "reco": 46038, + "recogn": 6343, + "recogni": 5329, + "recognise": 19824, + "recognised": 20986, + "recognising": 48423, + "recognition": 9415, + "recognizable": 47240, + "recognize": 10905, + "recognized": 9929, + "recognizes": 26909, + "recognizing": 19666, + "recomm": 4540, + "recommend": 11628, + "recommend": 8942, + "recommendation": 20118, + "recommendations": 16516, + "recommended": 11100, + "recommending": 44301, + "recommends": 22940, + "recon": 15371, + "recon": 28996, + "reconciliation": 26451, + "reconstruction": 24955, + "recor": 1723, + "record": 21328, + "record": 2717, + "recorded": 9392, + "recorder": 26747, + "recording": 48237, + "recording": 6942, + "recordings": 19715, + "records": 4529, + "recover": 16785, + "recovered": 16444, + "recovering": 19005, + "recovers": 47935, + "recovery": 6591, + "recre": 22148, + "recreate": 29775, + "recreated": 40888, + "recreating": 48224, + "recreation": 17331, + "recreational": 24329, + "recru": 4745, + "recruit": 9011, + "recruit": 15585, + "recruited": 36518, + "recruiter": 43120, + "recruiters": 46542, + "recruiting": 10533, + "recruitment": 10541, + "recruits": 22647, + "recs": 33069, + "rectan": 43041, + "rectangular": 43321, + "rector": 41585, + "recu": 26798, + "recur": 19983, + "recurring": 35912, + "recy": 6790, + "recycla": 40659, + "recyclable": 48907, + "recycle": 19366, + "recycled": 16829, + "recycling": 12566, + "red": 1893, + "red": 736, + "redbubble": 46137, + "redbull": 29483, + "redbull": 29219, + "redcarpet": 32259, + "redcross": 30659, + "redd": 22149, + "redd": 40618, + "redding": 41061, + "reddish": 43383, + "reddit": 15226, + "reddy": 23028, + "rede": 10913, + "redeem": 37449, + "redefining": 46352, + "redemption": 20233, + "redesign": 24188, + "redesigned": 33111, + "redevelopment": 30322, + "redhead": 36267, + "redi": 7976, + "redman": 44753, + "redmond": 39627, + "rednation": 28180, + "rednationrising": 28262, + "redneck": 39105, + "redness": 22626, + "redo": 42524, + "redon": 48506, + "redro": 37722, + "reds": 11221, + "redskins": 19023, + "redsox": 19144, + "reduc": 5015, + "reduce": 6604, + "reduced": 10821, + "reduces": 20539, + "reducing": 13836, + "reduction": 12219, + "reductions": 48263, + "redux": 43014, + "redvelvet": 41845, + "redwings": 31058, + "redwood": 31748, + "ree": 9282, + "ree": 5813, + "reebok": 26734, + "reece": 30457, + "reed": 26209, + "reed": 10435, + "reedus": 32865, + "reef": 46557, + "reef": 15624, + "reefs": 34459, + "reel": 34467, + "reel": 17166, + "reels": 48127, + "reem": 48891, + "reen": 21638, + "reen": 23679, + "rees": 18314, + "reese": 20929, + "reeves": 23060, + "ref": 4067, + "ref": 9591, + "refe": 5624, + "refer": 18425, + "refer": 22325, + "referee": 20398, + "referees": 45583, + "referen": 13535, + "reference": 10214, + "references": 24009, + "referendum": 16732, + "referr": 47784, + "referral": 30219, + "referred": 22969, + "referring": 29797, + "refers": 30069, + "refill": 37859, + "refin": 13455, + "refined": 26098, + "refinery": 31393, + "refining": 48406, + "reflec": 4608, + "reflect": 13373, + "reflected": 28732, + "reflecting": 19700, + "reflection": 11884, + "reflections": 16647, + "reflective": 27008, + "reflects": 15821, + "reflex": 45756, + "reflex": 36050, + "reform": 45678, + "reform": 8875, + "reformation": 45119, + "reformed": 40880, + "reforms": 19274, + "refr": 34850, + "refre": 11995, + "refresh": 17836, + "refresh": 23288, + "refreshed": 35925, + "refresher": 41481, + "refreshing": 14159, + "refreshments": 31127, + "refriger": 21076, + "refrigerator": 36662, + "refs": 35595, + "refu": 3545, + "refuge": 5638, + "refuge": 17432, + "refugee": 11556, + "refugees": 42687, + "refugees": 8316, + "refund": 28899, + "refur": 15519, + "refurbi": 18259, + "refurbished": 26190, + "refurbishment": 35803, + "refusal": 46547, + "refuse": 16412, + "refused": 17190, + "refuses": 20085, + "refusing": 26704, + "reg": 5472, + "reg": 12353, + "regain": 37510, + "regal": 31512, + "regal": 25028, + "regan": 34062, + "regar": 5881, + "regard": 21801, + "regarded": 32017, + "regarding": 8493, + "regardless": 17220, + "regards": 23079, + "regatta": 26316, + "regen": 46545, + "regency": 29341, + "regeneration": 29257, + "regent": 30455, + "regents": 46710, + "regg": 12757, + "reggae": 37821, + "reggae": 15214, + "reggie": 21872, + "regi": 1608, + "regime": 11378, + "regiment": 18603, + "regin": 23287, + "regina": 16841, + "region": 16542, + "region": 4341, + "regional": 5552, + "regionals": 26043, + "regions": 14530, + "regis": 28094, + "register": 3967, + "registered": 10254, + "registering": 33510, + "registr": 29193, + "registration": 7302, + "registrations": 38423, + "registry": 30020, + "rego": 47351, + "regram": 30329, + "regrann": 48802, + "regre": 8627, + "regression": 43733, + "regret": 14374, + "regrets": 23231, + "regu": 3411, + "regui": 46722, + "regul": 11847, + "regular": 14882, + "regular": 6307, + "regularly": 17263, + "regulat": 14575, + "regulate": 33494, + "regulated": 31384, + "regulating": 48156, + "regulation": 14267, + "regulations": 16654, + "regulator": 30364, + "regulators": 35837, + "regulatory": 17717, + "reh": 21492, + "reha": 10193, + "rehab": 16973, + "rehabil": 17930, + "rehabilitation": 21042, + "rehear": 7273, + "rehearsal": 11482, + "rehearsals": 17977, + "rehearsing": 23125, + "rehman": 39206, + "rei": 15343, + "rei": 26033, + "reic": 41230, + "reich": 48589, + "reich": 28929, + "reid": 45125, + "reid": 11744, + "reig": 13092, + "reign": 41419, + "reign": 14827, + "reigning": 28409, + "reigns": 21217, + "reiki": 46960, + "reilly": 28120, + "reim": 35421, + "reimagined": 46799, + "reimbur": 39857, + "rein": 9240, + "rein": 45009, + "reina": 43847, + "reinde": 23810, + "reindeer": 25072, + "reinfor": 48161, + "reinforced": 41909, + "reinst": 33969, + "reinvent": 38171, + "reissue": 34042, + "reiter": 35394, + "rejec": 9958, + "reject": 22435, + "rejected": 17505, + "rejection": 32264, + "rejects": 23155, + "rejo": 20150, + "rejoice": 24712, + "rejuven": 26332, + "rek": 47542, + "rek": 19201, + "rel": 1825, + "rel": 5233, + "rela": 4362, + "reland": 15220, + "relat": 27192, + "relatable": 31010, + "relate": 17520, + "related": 5880, + "relates": 36064, + "relating": 27373, + "relation": 4561, + "relation": 16207, + "relations": 10100, + "relationship": 47239, + "relationship": 5837, + "relationships": 10610, + "relative": 17265, + "relatively": 18351, + "relatives": 21981, + "relax": 6777, + "relax": 9035, + "relaxation": 22194, + "relaxed": 18999, + "relaxing": 10256, + "relay": 12403, + "relays": 28404, + "rele": 1602, + "release": 29100, + "release": 2706, + "released": 3410, + "releases": 7393, + "releasethe": 44008, + "releasing": 10321, + "releg": 23378, + "relegated": 45884, + "relegation": 35040, + "relent": 22213, + "relentless": 27207, + "relessly": 33927, + "relev": 9349, + "relevance": 31400, + "relevant": 10568, + "reli": 2674, + "reliability": 27220, + "reliable": 13714, + "reliance": 27727, + "relic": 27802, + "relics": 43208, + "relief": 7518, + "relies": 41579, + "relieve": 28623, + "relieved": 36597, + "religi": 4940, + "religion": 8803, + "religions": 31189, + "religious": 8289, + "relish": 35550, + "relive": 23939, + "reliving": 47558, + "rell": 28802, + "rell": 7127, + "rella": 9952, + "relle": 31390, + "reloaded": 38908, + "relocated": 46791, + "relocation": 39198, + "rels": 23320, + "relu": 32058, + "reluct": 32549, + "reluctant": 45552, + "rely": 4158, + "relying": 42168, + "rem": 15098, + "rem": 21637, + "rema": 4569, + "remain": 29144, + "remain": 6415, + "remainder": 41672, + "remained": 23714, + "remaining": 11392, + "remains": 6807, + "remake": 16234, + "remark": 11136, + "remarkable": 12404, + "remarkably": 39087, + "remarks": 15001, + "remastered": 24932, + "rematch": 26473, + "rembrandt": 45972, + "reme": 20071, + "remedi": 18442, + "remedies": 25581, + "remedy": 25794, + "remem": 7966, + "rememb": 7062, + "remember": 22045, + "remember": 2195, + "remembered": 11763, + "remembering": 8135, + "remembers": 12551, + "remembrance": 40321, + "remembrance": 15860, + "remembranceday": 48333, + "rement": 7173, + "rements": 12667, + "remi": 41693, + "remin": 3216, + "remind": 9868, + "reminded": 12309, + "reminder": 5565, + "reminders": 34121, + "reminding": 19976, + "reminds": 8303, + "remington": 43527, + "reminis": 17723, + "reminiscent": 41704, + "reminiscing": 32552, + "remix": 8519, + "remixes": 31011, + "remn": 29127, + "remnants": 39032, + "remo": 4064, + "remo": 33259, + "remodel": 34159, + "remodel": 37495, + "remodeling": 41432, + "remote": 47163, + "remote": 9687, + "remotely": 32375, + "removable": 44095, + "removal": 13679, + "remove": 9709, + "removed": 10289, + "remover": 44267, + "removes": 29018, + "removing": 18504, + "remy": 30434, + "ren": 737, + "ren": 2596, + "rena": 12591, + "renais": 15409, + "renaissance": 16007, + "renal": 36096, + "renamed": 31535, + "renault": 17600, + "rence": 19245, + "rence": 1553, + "rences": 8545, + "rend": 33932, + "rend": 22851, + "render": 39752, + "render": 13024, + "rendered": 23652, + "rendering": 21339, + "renders": 39419, + "rendez": 43293, + "rendezvous": 45644, + "rendition": 28891, + "rendon": 46272, + "rendous": 49403, + "rends": 38842, + "rene": 15438, + "rene": 12597, + "renee": 23480, + "reneg": 29909, + "renegade": 41229, + "renergy": 37151, + "renew": 6645, + "renew": 22015, + "renewable": 31269, + "renewable": 15941, + "renewableenergy": 33357, + "renewables": 21619, + "renewal": 21270, + "renewed": 20524, + "renfre": 45043, + "reng": 36795, + "reno": 11520, + "reno": 12831, + "renov": 9984, + "renovated": 23839, + "renovation": 17121, + "renovations": 31311, + "renowned": 14727, + "rens": 18183, + "renshaw": 44445, + "rent": 17377, + "rent": 1609, + "rental": 12193, + "rentals": 24105, + "rented": 35932, + "rential": 31692, + "renting": 37662, + "rently": 2615, + "rents": 31109, + "reo": 15963, + "reo": 26854, + "reon": 15761, + "reopen": 26883, + "reopened": 32868, + "reopening": 36663, + "reopens": 40644, + "rep": 4229, + "rep": 6487, + "repair": 8419, + "repaired": 32953, + "repairing": 38534, + "repairs": 16297, + "repar": 34065, + "repe": 5785, + "repeal": 42622, + "repeal": 23938, + "repeat": 10192, + "repeated": 27904, + "repeatedly": 26630, + "repeating": 33834, + "repeats": 39158, + "repell": 46235, + "repent": 47261, + "reper": 29085, + "repet": 38533, + "repl": 13047, + "replac": 6069, + "replace": 9466, + "replaceable": 47762, + "replaced": 13200, + "replacement": 10835, + "replaces": 27781, + "replacing": 18647, + "replay": 16875, + "repleni": 44839, + "replic": 21651, + "replica": 18125, + "replied": 24238, + "replies": 18808, + "reply": 8965, + "replying": 47599, + "repor": 2628, + "report": 2417, + "reported": 7598, + "reportedly": 10953, + "reporter": 11019, + "reporters": 18454, + "reporting": 9218, + "reports": 4908, + "reposit": 41276, + "repository": 46977, + "repost": 33147, + "repost": 7217, + "repostapp": 38388, + "reposting": 20223, + "reppin": 19163, + "repping": 22574, + "repre": 3397, + "represent": 8293, + "represent": 8406, + "representation": 13520, + "representative": 13175, + "representatives": 15591, + "represented": 12299, + "representing": 7561, + "represents": 14433, + "repri": 31854, + "reproduction": 35714, + "reproductive": 25522, + "reps": 14265, + "reptile": 36938, + "reptiles": 38679, + "republic": 6376, + "republic": 7185, + "republican": 9842, + "republicans": 12384, + "repur": 41852, + "req": 42411, + "requ": 10664, + "reque": 9539, + "request": 7813, + "requested": 16199, + "requesting": 33245, + "requests": 17087, + "requi": 4863, + "requiem": 40316, + "require": 14437, + "required": 8500, + "requirement": 27146, + "requirements": 12860, + "requires": 13396, + "requiring": 33425, + "requis": 42602, + "rer": 41295, + "rer": 3407, + "rera": 14301, + "rero": 21860, + "rers": 18869, + "res": 4466, + "res": 934, + "resc": 3956, + "rescheduled": 43553, + "rescu": 8618, + "rescue": 28567, + "rescue": 5718, + "rescued": 11919, + "rescues": 32439, + "rescuing": 43770, + "rese": 13000, + "resear": 6090, + "research": 25694, + "research": 2379, + "researched": 42733, + "researcher": 18334, + "researchers": 9522, + "researching": 24544, + "reseller": 35391, + "resemb": 16916, + "resemblance": 26856, + "resemble": 37230, + "resembles": 35417, + "reser": 16420, + "reserv": 11906, + "reservation": 20289, + "reservations": 19307, + "reserve": 6911, + "reserved": 19796, + "reserves": 19705, + "reservoir": 20574, + "reset": 26250, + "resh": 47432, + "reshi": 39435, + "resi": 2152, + "residen": 22311, + "residence": 11672, + "residences": 38855, + "residency": 18545, + "resident": 9016, + "residente": 44637, + "residentevil": 48393, + "residential": 11002, + "residents": 6008, + "resign": 23584, + "resignation": 24779, + "resigned": 31014, + "resigns": 29738, + "resil": 10932, + "resili": 39212, + "resilience": 15271, + "resilient": 24694, + "resin": 24156, + "resist": 37345, + "resist": 9587, + "resistance": 7392, + "resistant": 17542, + "resisting": 43679, + "resolution": 9977, + "resolutions": 26816, + "resolve": 20787, + "resolved": 28807, + "reson": 18092, + "resonance": 42310, + "resort": 6594, + "resorts": 18839, + "resource": 43729, + "resource": 9760, + "resources": 6723, + "respec": 7466, + "respect": 31411, + "respect": 4916, + "respected": 19126, + "respectful": 24379, + "respecting": 36172, + "respective": 25817, + "respectively": 28794, + "respects": 23553, + "respir": 20771, + "respiratory": 24483, + "respon": 2421, + "respond": 12355, + "responded": 21121, + "respondents": 49253, + "responders": 25155, + "responding": 18037, + "responds": 17436, + "response": 5399, + "responses": 19006, + "responsi": 5490, + "responsibilities": 30375, + "responsibility": 11272, + "responsible": 8936, + "responsibly": 33675, + "responsive": 21544, + "ress": 34651, + "ress": 13629, + "resso": 15133, + "rest": 10974, + "rest": 2539, + "restart": 37378, + "restaur": 3775, + "restaurant": 41930, + "restaurant": 4489, + "restaurants": 11714, + "rested": 46020, + "resting": 18044, + "restless": 36724, + "restling": 30076, + "resto": 11118, + "resto": 41666, + "restock": 34060, + "restocked": 36966, + "restor": 8984, + "restoration": 11989, + "restorative": 46509, + "restore": 14008, + "restored": 14238, + "restoring": 24406, + "restra": 25424, + "restric": 11036, + "restricted": 27197, + "restriction": 44282, + "restrictions": 19884, + "restroom": 43423, + "restructuring": 43260, + "rests": 33775, + "resu": 10095, + "resul": 2655, + "result": 5659, + "resulted": 26449, + "resulting": 24581, + "results": 3790, + "resume": 15077, + "resumes": 30268, + "resur": 14865, + "resurg": 45962, + "resurgence": 47692, + "resurrec": 18487, + "resurrection": 25811, + "resusc": 47523, + "ret": 20500, + "ret": 10048, + "reta": 20153, + "retail": 14910, + "retail": 6455, + "retailer": 22549, + "retailers": 19418, + "retain": 24430, + "retained": 42737, + "retaining": 35571, + "retains": 42583, + "retali": 33101, + "retar": 29964, + "retarded": 44111, + "retention": 26247, + "rethink": 29078, + "rethinking": 42951, + "reti": 4721, + "retin": 31270, + "retina": 36919, + "retire": 18846, + "retired": 11477, + "retirement": 9205, + "retires": 29060, + "retiring": 21200, + "retrac": 32735, + "retreat": 11210, + "retri": 16918, + "retriever": 28394, + "retro": 6535, + "retro": 7755, + "retrogamer": 47220, + "retrogaming": 11316, + "retrospective": 27105, + "rett": 41082, + "rett": 8425, + "rette": 33066, + "return": 43042, + "return": 3458, + "returned": 10476, + "returning": 9290, + "returns": 5020, + "retwee": 48190, + "retweet": 3195, + "retweeted": 12705, + "retweeting": 32345, + "retweets": 10160, + "rety": 41550, + "reu": 20255, + "reu": 40371, + "reuben": 40450, + "reunion": 10247, + "reunite": 26179, + "reunited": 13516, + "reusable": 30395, + "reuse": 26535, + "reut": 15210, + "reuters": 15569, + "rev": 8424, + "rev": 11789, + "revamp": 29819, + "revamped": 36420, + "revan": 45277, + "reve": 3115, + "reveal": 8052, + "revealed": 7171, + "revealing": 21321, + "reveals": 6621, + "revel": 14133, + "revelation": 24053, + "revelations": 36163, + "reven": 10171, + "revenge": 12717, + "revenue": 10637, + "revenues": 33348, + "rever": 14829, + "rever": 41913, + "revere": 44187, + "reverend": 34407, + "revers": 20726, + "reversal": 33367, + "reverse": 12812, + "reversed": 42485, + "reversi": 31601, + "reversible": 34212, + "revi": 8317, + "review": 2268, + "reviewed": 16678, + "reviewer": 36409, + "reviewers": 48195, + "reviewing": 20458, + "reviews": 7227, + "revise": 46801, + "revised": 22806, + "revising": 46882, + "revision": 20335, + "revisit": 26568, + "revisited": 34302, + "revisiting": 33144, + "revit": 26367, + "revitalization": 46923, + "revival": 14142, + "revive": 26450, + "revived": 42912, + "revo": 28660, + "revol": 13447, + "revolt": 31697, + "revolu": 4900, + "revolution": 17699, + "revolution": 6644, + "revolutionary": 14734, + "revolver": 38747, + "revolving": 47230, + "revs": 49286, + "revue": 43428, + "rew": 37564, + "rewar": 15857, + "reward": 11223, + "rewarded": 27163, + "rewarding": 23351, + "rewards": 15235, + "rewatch": 35610, + "rewatching": 41287, + "rewind": 26867, + "rewrite": 45218, + "rex": 13002, + "rex": 10904, + "rexperience": 33924, + "rey": 9681, + "rey": 4517, + "reyes": 18255, + "reykja": 47571, + "reyn": 11998, + "reynolds": 14309, + "reys": 48284, + "rez": 27597, + "rez": 15192, + "reza": 35888, + "rf": 35529, + "rf": 16368, + "rfc": 19003, + "rfid": 40204, + "rg": 33055, + "rg": 14897, + "rgb": 36128, + "rgv": 33685, + "rh": 8745, + "rh": 22404, + "rha": 19473, + "rhapso": 32532, + "rhapsody": 35774, + "rhe": 9186, + "rhea": 28612, + "rhetor": 24359, + "rhetoric": 29985, + "rhett": 42984, + "rheu": 42953, + "rhi": 21212, + "rhin": 12269, + "rhine": 22863, + "rhine": 44833, + "rhinestone": 30450, + "rhino": 41744, + "rhino": 20056, + "rhinos": 30671, + "rho": 7637, + "rhode": 39302, + "rhode": 27907, + "rhodes": 17785, + "rhon": 25882, + "rhonda": 46100, + "rhp": 27199, + "rhs": 24551, + "rhu": 23897, + "rhubarb": 30213, + "rhy": 7740, + "rhyme": 37356, + "rhymes": 33143, + "rhys": 28647, + "rhyth": 27069, + "rhythm": 16172, + "rhythmic": 46386, + "rhythms": 40872, + "ri": 553, + "ri": 2574, + "ria": 3650, + "rial": 15200, + "rian": 7788, + "rib": 44634, + "rib": 18298, + "riba": 44992, + "ribb": 10081, + "ribbon": 12114, + "ribbons": 35271, + "ribe": 46115, + "ribs": 17519, + "ric": 920, + "ric": 4798, + "rica": 14230, + "rical": 18109, + "rican": 30958, + "ricardo": 23140, + "ricci": 35783, + "ricciardo": 49282, + "rice": 36362, + "rice": 4741, + "rich": 5223, + "rich": 4021, + "richar": 9350, + "richard": 9080, + "richard": 4470, + "richards": 11372, + "richardson": 15984, + "riche": 23286, + "richer": 34138, + "riches": 37093, + "richest": 25572, + "richi": 38934, + "richie": 19797, + "richland": 43079, + "richmond": 34143, + "richmond": 11292, + "richter": 37591, + "rick": 6237, + "rick": 3064, + "ricket": 46161, + "ricket": 23671, + "ricks": 23111, + "ricky": 19188, + "ricky": 12814, + "rico": 37962, + "rico": 11362, + "ricotta": 38473, + "rics": 7353, + "ricul": 6980, + "rid": 18103, + "rid": 9874, + "ridd": 21990, + "ridden": 32025, + "riddle": 31839, + "ride": 15816, + "ride": 2994, + "rider": 31056, + "rider": 9707, + "riders": 10826, + "rides": 11308, + "ridg": 42646, + "ridge": 16580, + "ridge": 6352, + "ridic": 9624, + "ridiculous": 12659, + "ridiculously": 25661, + "ridin": 47869, + "riding": 6765, + "ridley": 27883, + "rie": 14824, + "rie": 5322, + "ried": 7552, + "riel": 26696, + "rien": 35237, + "rier": 40714, + "rier": 13336, + "ries": 28179, + "ries": 3059, + "riesling": 36372, + "rif": 7044, + "riff": 30359, + "rifle": 15354, + "rifles": 25678, + "rift": 26681, + "rig": 18462, + "rig": 13871, + "riga": 36626, + "rigged": 35897, + "rigging": 38160, + "riggs": 40328, + "righ": 15391, + "right": 13341, + "right": 1155, + "righte": 20762, + "righteous": 28169, + "righteousness": 42481, + "rightful": 42601, + "rightly": 42669, + "rights": 3336, + "rigid": 43138, + "rigor": 36788, + "rigorous": 41654, + "rigs": 42893, + "rihanna": 13744, + "rij": 41097, + "rik": 31136, + "rik": 27832, + "rika": 28580, + "ril": 12270, + "ril": 2388, + "riley": 35056, + "riley": 12260, + "rill": 23705, + "rilla": 43956, + "rilla": 18685, + "rim": 28147, + "rim": 12199, + "rime": 27064, + "rimin": 11527, + "rimo": 47817, + "rims": 34327, + "rin": 5859, + "rin": 11739, + "rina": 12869, + "rine": 24952, + "ring": 8318, + "ring": 2540, + "ringed": 44712, + "ringer": 35761, + "ringing": 26035, + "ringo": 38845, + "rings": 5751, + "rington": 12455, + "rink": 21497, + "rinka": 47316, + "rino": 47188, + "rinse": 48320, + "rio": 15681, + "rio": 5782, + "rion": 31623, + "rion": 34046, + "rios": 32814, + "riot": 32636, + "riot": 14218, + "riots": 24844, + "rious": 6340, + "rip": 10353, + "rip": 4243, + "ripe": 22832, + "ripley": 41589, + "ripp": 25276, + "ripped": 17815, + "ripper": 35347, + "ripping": 29126, + "ripple": 24825, + "rips": 30182, + "rir": 36792, + "ris": 6108, + "ris": 1999, + "rise": 13641, + "rise": 3151, + "risen": 23653, + "risers": 44983, + "rises": 13362, + "riseup": 35760, + "rish": 18378, + "rish": 18927, + "rishi": 48434, + "rising": 30452, + "rising": 5448, + "risis": 37998, + "risk": 27967, + "risk": 4213, + "risking": 48155, + "risks": 12474, + "risky": 27630, + "risotto": 31471, + "rist": 40610, + "rit": 5156, + "rit": 17333, + "rita": 16178, + "ritchie": 30997, + "rite": 39318, + "rite": 18429, + "rites": 36160, + "rith": 48169, + "rith": 48850, + "riti": 32904, + "rito": 19379, + "ritos": 33507, + "ritt": 26092, + "ritter": 34854, + "ritu": 13391, + "ritual": 19712, + "rituals": 31145, + "ritz": 39151, + "ritz": 25627, + "rium": 33884, + "riv": 25113, + "rival": 13412, + "rival": 15629, + "rivalry": 19511, + "rivals": 15135, + "rive": 27588, + "rive": 34917, + "river": 5239, + "river": 2473, + "rivera": 18275, + "riverdale": 28304, + "riverfront": 44439, + "rivers": 10723, + "riverside": 15809, + "riveting": 44024, + "riviera": 25851, + "rix": 43407, + "rix": 9483, + "riya": 36908, + "riyad": 31564, + "riyadh": 33577, + "riz": 18426, + "riz": 35411, + "rizal": 41555, + "rizio": 40191, + "rizz": 34826, + "rizzo": 49076, + "rj": 26016, + "rj": 20949, + "rk": 38725, + "rk": 21422, + "rl": 18041, + "rl": 14590, + "rlly": 43222, + "rly": 25954, + "rm": 20202, + "rm": 8431, + "rmb": 49097, + "rms": 40529, + "rn": 13206, + "rn": 7666, + "rna": 24566, + "rnb": 31556, + "rnc": 35309, + "rnli": 29748, + "ro": 532, + "ro": 2795, + "roa": 8313, + "roach": 31073, + "road": 4370, + "road": 1759, + "roadhouse": 47891, + "roadmap": 30111, + "roads": 6189, + "roadsafety": 39992, + "roadshow": 21168, + "roadside": 26928, + "roadster": 28920, + "roadto": 24681, + "roadtrip": 15094, + "roadway": 42744, + "roam": 34045, + "roaming": 29240, + "roano": 34184, + "roanoke": 36587, + "roar": 34193, + "roar": 18483, + "roaring": 26428, + "roast": 11404, + "roasted": 10479, + "roasting": 32228, + "rob": 2668, + "rob": 6442, + "robb": 14059, + "robb": 39673, + "robbed": 24163, + "robber": 35545, + "robbers": 40852, + "robbery": 16393, + "robbi": 44898, + "robbie": 37200, + "robbie": 15970, + "robbing": 47569, + "robbins": 23461, + "robby": 44128, + "robe": 23116, + "rober": 4532, + "robert": 8811, + "robert": 3929, + "roberta": 43373, + "roberto": 42645, + "roberto": 16227, + "roberts": 10366, + "robertson": 17643, + "robes": 29304, + "robi": 16743, + "robin": 6681, + "robin": 7988, + "robins": 35502, + "robinson": 8523, + "robles": 47646, + "roblo": 27481, + "roblox": 37798, + "robo": 4672, + "robo": 36057, + "robot": 46089, + "robot": 8797, + "robotic": 23975, + "robotics": 13546, + "robots": 13473, + "robson": 31113, + "robust": 22780, + "robyn": 34533, + "roc": 3268, + "roc": 13776, + "rocco": 30009, + "roch": 23788, + "rochdale": 41880, + "roche": 31776, + "rochelle": 40161, + "rochester": 18057, + "rock": 2640, + "rock": 2172, + "rockab": 39353, + "rockabilly": 45019, + "rocke": 19914, + "rocked": 16116, + "rockefeller": 35476, + "rocker": 29008, + "rockers": 32338, + "rocket": 25435, + "rocket": 8383, + "rockets": 13292, + "rockford": 41039, + "rockies": 20621, + "rockin": 12073, + "rocking": 7081, + "rockn": 24442, + "rocknroll": 27840, + "rocks": 6135, + "rockstar": 23603, + "rockstar": 18000, + "rockstargames": 27516, + "rockstars": 46639, + "rockthe": 49363, + "rockwell": 34747, + "rocky": 33481, + "rocky": 9648, + "rod": 9712, + "rod": 8291, + "roddy": 42332, + "rode": 18449, + "rodeo": 18250, + "rodgers": 17612, + "rodi": 49100, + "rodney": 21753, + "rodri": 11053, + "rodrigo": 33944, + "rodriguez": 14057, + "rods": 28618, + "roe": 27671, + "roe": 9996, + "rof": 33029, + "rofl": 48228, + "roft": 45212, + "rog": 34269, + "rog": 34017, + "rogen": 23380, + "roger": 13929, + "roger": 7735, + "rogerfederer": 40182, + "rogers": 10661, + "rogue": 32575, + "rogue": 15162, + "roh": 14933, + "roh": 29840, + "rohan": 39848, + "rohing": 23600, + "rohingya": 26146, + "rohit": 44649, + "rohit": 24299, + "roi": 21877, + "rok": 36807, + "rol": 3393, + "rol": 7818, + "roland": 33713, + "roland": 19569, + "role": 18485, + "role": 3414, + "roles": 11871, + "rolex": 21093, + "rolf": 48606, + "roll": 4711, + "roll": 3341, + "rolled": 11982, + "roller": 21034, + "roller": 12342, + "rollercoaster": 38248, + "rollers": 36941, + "rollin": 27545, + "rolling": 24250, + "rolling": 6347, + "rollingstones": 41309, + "rollins": 27724, + "rollout": 47710, + "rollover": 39214, + "rolls": 8614, + "rolltide": 28101, + "rom": 11377, + "rom": 19205, + "roma": 44134, + "roma": 11631, + "romain": 48897, + "roman": 4416, + "roman": 7370, + "romance": 7215, + "romania": 15884, + "romanian": 30866, + "romano": 38409, + "romans": 23066, + "romantic": 41457, + "romantic": 8821, + "rome": 9406, + "rome": 5243, + "romeo": 14429, + "romero": 23694, + "romney": 19287, + "romo": 32248, + "romper": 43699, + "ron": 2393, + "ron": 3372, + "rona": 42385, + "ronal": 46194, + "ronald": 15683, + "ronaldo": 13463, + "ronan": 34971, + "rond": 31935, + "ronda": 37436, + "rondo": 43756, + "rone": 48082, + "rone": 32763, + "roni": 47234, + "ronnie": 45257, + "ronnie": 16421, + "rons": 19536, + "ront": 48881, + "roo": 1249, + "roo": 31227, + "rood": 38007, + "roof": 9120, + "roof": 6449, + "roofing": 24415, + "roofs": 34635, + "rooftop": 16319, + "rook": 35918, + "rookie": 9771, + "rookies": 31917, + "room": 8845, + "room": 1530, + "roomie": 36851, + "roommate": 19825, + "roommates": 37323, + "rooms": 6328, + "rooney": 17712, + "roos": 32938, + "roosevel": 17644, + "roosevelt": 18488, + "rooster": 46263, + "rooster": 30926, + "roosters": 43693, + "root": 25930, + "root": 9728, + "rooted": 30428, + "rooting": 25523, + "roots": 8084, + "rop": 43401, + "rope": 9953, + "ropes": 30506, + "ror": 8668, + "ror": 2843, + "rors": 12072, + "rory": 42804, + "rory": 17813, + "ros": 5288, + "ros": 6930, + "rosa": 14393, + "rosal": 30397, + "rosario": 33640, + "rosary": 33098, + "rosberg": 46037, + "rose": 6146, + "rose": 3568, + "roseanne": 47528, + "rosel": 33616, + "rosemary": 19472, + "rosen": 13214, + "rosen": 36424, + "rosenberg": 43558, + "rosenthal": 46990, + "roses": 9061, + "rosetta": 43800, + "rosewood": 38686, + "rosie": 43049, + "rosie": 16888, + "ross": 8801, + "ross": 2158, + "rosse": 11602, + "rossi": 24817, + "rosso": 33023, + "roster": 12487, + "roswell": 45116, + "rosy": 46705, + "rosé": 28006, + "rot": 10055, + "rot": 9643, + "rotar": 45959, + "rotary": 14654, + "rotating": 32265, + "rotation": 18089, + "rotc": 32252, + "roth": 17741, + "roth": 19139, + "rother": 23174, + "rotherham": 37687, + "rothschild": 45089, + "roti": 46940, + "roto": 34698, + "rotor": 42991, + "rots": 16642, + "rott": 34806, + "rotten": 24324, + "rotter": 22614, + "rotterdam": 23422, + "rotun": 42970, + "rou": 2964, + "rou": 34783, + "roud": 28375, + "rouge": 16209, + "rough": 11699, + "rough": 8511, + "roughly": 21910, + "roughs": 37598, + "rouhani": 39912, + "roulette": 39930, + "roun": 5602, + "round": 9403, + "round": 2522, + "roundabout": 29953, + "rounded": 26973, + "rounder": 37024, + "rounding": 40208, + "rounds": 11242, + "roundtable": 19386, + "roundup": 17503, + "roup": 29220, + "rourke": 38753, + "rous": 33645, + "rous": 34531, + "rousey": 46267, + "rout": 7502, + "rout": 41778, + "route": 5261, + "router": 29962, + "routes": 14923, + "routine": 12319, + "routines": 44074, + "routing": 44086, + "roux": 43416, + "rov": 23971, + "rove": 30130, + "rover": 12776, + "rovers": 16373, + "row": 5275, + "row": 1044, + "rowan": 26240, + "rowdy": 32141, + "rowe": 28323, + "rowed": 22615, + "rower": 43345, + "rowers": 41806, + "rowing": 12807, + "rowland": 33037, + "rowley": 48793, + "rowling": 29371, + "rown": 22287, + "rown": 25060, + "rows": 9409, + "rox": 14111, + "rox": 41033, + "roxy": 28093, + "roy": 2128, + "roy": 6354, + "royal": 6691, + "royal": 3853, + "royale": 20630, + "royalnavy": 41545, + "royals": 13335, + "royalties": 48660, + "royalty": 18296, + "royalwedding": 27461, + "royce": 18444, + "royd": 41476, + "royo": 39357, + "roz": 28989, + "roz": 37250, + "rp": 17305, + "rp": 8174, + "rpa": 41872, + "rpg": 12445, + "rpm": 23715, + "rps": 49215, + "rr": 5311, + "rr": 9126, + "rrp": 36967, + "rrr": 18267, + "rrrr": 25561, + "rrrr": 34444, + "rs": 6978, + "rs": 1724, + "rsa": 29437, + "rsc": 48524, + "rsd": 34426, + "rsi": 39046, + "rsl": 44752, + "rsp": 16381, + "rspb": 38508, + "rspb": 36727, + "rspca": 45643, + "rss": 46466, + "rss": 22350, + "rstats": 38700, + "rsvp": 9774, + "rt": 8959, + "rt": 8991, + "rtc": 31648, + "rte": 33822, + "rte": 23322, + "rtg": 22028, + "rti": 47549, + "rtr": 43999, + "rts": 8496, + "rtw": 34673, + "ru": 681, + "ru": 13735, + "rub": 15862, + "rub": 22586, + "rubb": 19597, + "rubbed": 45239, + "rubber": 31131, + "rubber": 11331, + "rubbing": 41262, + "rubbish": 21108, + "rubble": 42230, + "ruben": 44058, + "ruben": 29722, + "rubi": 27856, + "rubin": 34128, + "rubio": 24244, + "rubs": 43422, + "ruby": 24552, + "ruby": 11493, + "ruck": 27449, + "rucker": 45402, + "rud": 35256, + "rudd": 31836, + "rude": 16548, + "rudi": 48360, + "rudol": 40927, + "rudolf": 46835, + "rudolph": 30119, + "rudy": 38226, + "rudy": 22131, + "rue": 38024, + "rue": 19276, + "rufc": 45084, + "ruff": 28177, + "ruff": 30304, + "rufus": 39322, + "rug": 4217, + "rug": 19220, + "rugby": 15091, + "rugby": 4964, + "rugbyleague": 44419, + "ruger": 48655, + "rugged": 25225, + "rugs": 29946, + "rui": 46974, + "ruin": 16256, + "ruined": 17231, + "ruining": 29952, + "ruins": 16094, + "ruiz": 27873, + "ruk": 46628, + "rukh": 43075, + "rukh": 27631, + "rule": 31643, + "rule": 6175, + "ruled": 16324, + "ruler": 26286, + "rulers": 45328, + "rules": 5272, + "ruling": 14690, + "rum": 9223, + "rum": 11233, + "rumb": 42432, + "rumble": 18900, + "rumi": 31428, + "rumor": 22254, + "rumored": 36694, + "rumors": 16160, + "rumour": 34296, + "rumours": 20716, + "rump": 29366, + "run": 1639, + "run": 1934, + "runaway": 28851, + "runchat": 25838, + "rundown": 41100, + "rune": 33882, + "rune": 49244, + "runner": 37370, + "runner": 7913, + "runners": 10571, + "runnin": 43130, + "running": 24451, + "running": 2761, + "runoff": 38564, + "runs": 5586, + "runway": 13927, + "rup": 7996, + "rup": 14980, + "rupaul": 44211, + "rupee": 43916, + "rupees": 44110, + "rupert": 25625, + "rupt": 23055, + "ruption": 35403, + "rural": 28801, + "rural": 8737, + "rus": 35811, + "rus": 5998, + "rush": 12148, + "rush": 6973, + "rushed": 28104, + "rusher": 48745, + "rushes": 47217, + "rushing": 20284, + "russ": 6285, + "russ": 20764, + "russell": 26122, + "russell": 8150, + "russi": 2600, + "russia": 4018, + "russian": 30731, + "russian": 4868, + "russians": 25413, + "russo": 30679, + "rust": 28682, + "rust": 14212, + "rustic": 19822, + "rusty": 43966, + "rusty": 22646, + "rut": 14973, + "rut": 39102, + "rutger": 49029, + "rutgers": 28934, + "ruth": 15798, + "ruth": 12029, + "ruther": 26676, + "rutherford": 31070, + "ruthless": 36063, + "rutland": 46024, + "ruto": 43702, + "ruz": 23275, + "rv": 17135, + "rv": 17951, + "rva": 24278, + "rw": 9085, + "rw": 22926, + "rwa": 47452, + "rwand": 31758, + "rwanda": 15427, + "rwby": 39698, + "rwc": 32321, + "rx": 41188, + "rx": 15945, + "ry": 1511, + "ry": 913, + "ryan": 8682, + "ryan": 4053, + "ryanair": 43526, + "ryder": 43564, + "ryder": 21805, + "rye": 24015, + "rye": 17409, + "rying": 7838, + "ryn": 37728, + "ryo": 24460, + "rys": 21654, + "ryu": 46656, + "ryu": 34604, + "ré": 29106, + "s": 82, + "s": 338, + "sa": 774, + "sa": 1344, + "saa": 13429, + "saab": 27158, + "saad": 36530, + "saas": 25761, + "saat": 33151, + "sab": 3233, + "sab": 23213, + "saba": 38344, + "sabah": 32854, + "saban": 41620, + "sabar": 47102, + "sabbath": 26008, + "sabc": 30010, + "sabcnews": 41093, + "saber": 46822, + "saber": 25624, + "sabha": 23431, + "sabi": 47073, + "sabine": 44062, + "sable": 19224, + "sabot": 30700, + "sabotage": 40496, + "sabre": 35110, + "sabres": 29620, + "sabrin": 37029, + "sabrina": 24994, + "sac": 3632, + "sac": 12905, + "sach": 30168, + "sacha": 49010, + "sachin": 47527, + "sachin": 30297, + "sachs": 31451, + "sack": 28964, + "sack": 14979, + "sacked": 27519, + "sacks": 26441, + "sacram": 13334, + "sacramento": 16065, + "sacred": 40612, + "sacred": 12477, + "sacri": 15283, + "sacrif": 12117, + "sacrific": 16919, + "sacrifice": 12556, + "sacrificed": 31116, + "sacrifices": 28858, + "sacrificing": 48146, + "sad": 2810, + "sad": 3719, + "saddened": 27720, + "saddest": 34925, + "saddle": 30469, + "saddle": 20283, + "sade": 27429, + "sadh": 40955, + "sadi": 22207, + "sadie": 30333, + "sadiq": 44107, + "sadler": 45600, + "sadly": 11603, + "sadness": 20399, + "sae": 38633, + "sae": 34883, + "saeed": 29745, + "saf": 2125, + "saf": 25760, + "safar": 23443, + "safari": 14091, + "safarilive": 34816, + "safc": 27998, + "safe": 2901, + "safe": 2996, + "safeguard": 42249, + "safeguarding": 47451, + "safely": 11513, + "safer": 40124, + "safer": 15504, + "safest": 38973, + "safety": 19050, + "safety": 3406, + "safetyfirst": 43608, + "saffron": 27529, + "sag": 6609, + "sag": 30048, + "saga": 15758, + "sagan": 37193, + "sagar": 42518, + "sage": 25800, + "sage": 7509, + "sages": 25979, + "sagin": 47097, + "sagitt": 44685, + "sagu": 44708, + "sah": 30943, + "sah": 26342, + "saha": 36062, + "sahara": 24599, + "saharan": 44255, + "sahi": 24608, + "sahib": 34150, + "sai": 16048, + "sai": 10886, + "said": 40319, + "said": 1946, + "saif": 44164, + "saig": 36328, + "saigon": 41081, + "sail": 7528, + "sail": 12156, + "sailed": 43047, + "sailing": 11003, + "sailor": 28002, + "sailor": 16076, + "sailormoon": 40673, + "sailors": 25355, + "sails": 27526, + "sain": 21226, + "sain": 40378, + "sains": 24860, + "sainsbury": 45879, + "sainsburys": 36934, + "saint": 11274, + "saint": 5599, + "saints": 8769, + "saintsfc": 31102, + "sair": 46600, + "sair": 30971, + "saire": 28087, + "saison": 33256, + "sait": 48008, + "saj": 33580, + "sak": 11511, + "sak": 35900, + "saka": 33609, + "sake": 12874, + "sakh": 43945, + "saki": 40514, + "saku": 37550, + "sakura": 24162, + "sal": 980, + "sal": 6126, + "sala": 17300, + "salaam": 46773, + "salad": 6188, + "salads": 30948, + "salah": 22516, + "salam": 19007, + "salam": 33963, + "salamat": 44696, + "salami": 46885, + "salaries": 33132, + "salary": 16312, + "salazar": 45988, + "sale": 17786, + "sale": 1690, + "saleh": 38353, + "salem": 48194, + "salem": 16884, + "sales": 13347, + "sales": 3765, + "salesforce": 22680, + "salesman": 37633, + "salford": 25629, + "sali": 15411, + "salim": 42760, + "salinas": 41990, + "saline": 46918, + "salis": 20667, + "salis": 39378, + "salisbury": 24763, + "sall": 27122, + "sall": 20883, + "salle": 23738, + "sally": 29542, + "sally": 13349, + "salman": 13754, + "salman": 16219, + "salmankhan": 15177, + "salmon": 37040, + "salmon": 9137, + "salom": 38268, + "salon": 33916, + "salon": 11105, + "saloon": 26038, + "sals": 16307, + "salsa": 16442, + "salt": 12763, + "salt": 6611, + "salted": 26313, + "saltlife": 47809, + "salts": 40559, + "saltwater": 43616, + "salty": 20678, + "salu": 31711, + "salud": 46867, + "salut": 44998, + "salute": 44908, + "salute": 9747, + "salutes": 32762, + "salv": 8299, + "salvador": 20874, + "salvage": 33131, + "salvation": 19534, + "salvatore": 38772, + "salz": 33594, + "salzburg": 43396, + "sam": 1644, + "sam": 3730, + "sama": 19272, + "samanth": 11465, + "samantha": 15466, + "samanthap": 38266, + "samanthaprabhu": 38643, + "samar": 21820, + "samaritan": 45495, + "samba": 37190, + "same": 23062, + "same": 2208, + "samheughan": 36255, + "sami": 48400, + "sami": 24322, + "sammy": 31091, + "sammy": 16758, + "samo": 30006, + "samoa": 34932, + "samp": 31225, + "sample": 9542, + "sampler": 40629, + "samples": 13387, + "sampling": 19522, + "sampson": 39983, + "sams": 44667, + "samson": 34659, + "samsun": 47875, + "samsung": 35369, + "samsung": 8115, + "samu": 7646, + "samuel": 30612, + "samuel": 12787, + "samurai": 21739, + "san": 1489, + "san": 2223, + "sana": 19434, + "sanantonio": 34714, + "sanat": 29091, + "sanatomy": 36052, + "sanc": 7398, + "sance": 15930, + "sanchez": 13971, + "sanctioned": 43032, + "sanctions": 17790, + "sanctu": 12712, + "sanctuary": 14044, + "sand": 2147, + "sand": 5094, + "sandal": 36445, + "sandal": 42185, + "sandals": 20731, + "sandalwood": 47502, + "sandeep": 46973, + "sander": 34111, + "sanders": 10429, + "sanderson": 36198, + "sandi": 44249, + "sandiego": 45997, + "sandiego": 15793, + "sandman": 45730, + "sando": 35921, + "sandoval": 44157, + "sandra": 33733, + "sandra": 13415, + "sandro": 42389, + "sands": 5936, + "sandstone": 36796, + "sandwich": 17050, + "sandwich": 8687, + "sandwiches": 19667, + "sandy": 29679, + "sandy": 10355, + "sane": 23419, + "sanford": 32330, + "sanfrancisco": 20254, + "sang": 13235, + "sang": 11684, + "sange": 12466, + "sangria": 42665, + "sani": 39137, + "sani": 34492, + "sanitary": 33842, + "sanitation": 25414, + "saniti": 43987, + "sanity": 30517, + "sanjay": 31712, + "sanjay": 25796, + "sanje": 40405, + "sanjose": 45971, + "sank": 43692, + "sano": 34053, + "sans": 16982, + "sansk": 39689, + "sanskrit": 48083, + "sant": 8356, + "sant": 23120, + "santa": 22175, + "santa": 4555, + "santac": 28876, + "santam": 45627, + "santana": 27033, + "santander": 46476, + "santi": 13856, + "santiago": 16568, + "santo": 29631, + "santo": 18400, + "santor": 28448, + "santorini": 39573, + "santos": 16582, + "sany": 47679, + "sao": 28026, + "sap": 8089, + "sap": 11591, + "sapi": 40016, + "sapp": 13427, + "sapp": 40729, + "sapphire": 22044, + "sar": 1808, + "sar": 9424, + "sara": 37196, + "sara": 10063, + "sarab": 40716, + "sarac": 35722, + "sarah": 9086, + "sarah": 5327, + "saraj": 42592, + "sarajevo": 48211, + "saras": 20373, + "sarasota": 31990, + "sarato": 24845, + "saratoga": 29496, + "sarawak": 47331, + "sarcasm": 37246, + "sarcastic": 48639, + "sardar": 41786, + "sarde": 43925, + "sardin": 27383, + "sardinia": 41025, + "sare": 13051, + "saree": 30860, + "sargent": 34864, + "sari": 42327, + "sari": 20261, + "saries": 47586, + "sarkar": 30673, + "sarko": 33658, + "sarkodie": 42848, + "sarmy": 20954, + "sart": 33006, + "sary": 15398, + "sas": 3960, + "sas": 5235, + "sash": 35656, + "sasha": 46078, + "sasha": 20894, + "sasia": 44751, + "sask": 47091, + "sask": 30416, + "saskat": 17102, + "saskatchewan": 23899, + "saskatoon": 31128, + "sass": 31351, + "sassy": 20827, + "sat": 1382, + "sat": 3279, + "sata": 41520, + "satan": 19446, + "satanic": 38224, + "satchel": 45908, + "sate": 35749, + "satell": 9031, + "satellite": 10316, + "satellites": 28483, + "sath": 29675, + "sathletics": 30154, + "sati": 7038, + "satin": 21803, + "sation": 23674, + "sations": 31232, + "satire": 29875, + "satis": 9906, + "satisf": 22941, + "satisfaction": 19925, + "satisfied": 18101, + "satisfy": 29444, + "satisfying": 23755, + "sato": 34376, + "satu": 45283, + "satur": 1634, + "saturated": 32466, + "saturday": 12537, + "saturday": 1748, + "saturdaymorning": 29053, + "saturdaymotivation": 40843, + "saturdays": 18930, + "saturn": 17312, + "saty": 39426, + "sau": 2096, + "sau": 19455, + "sauce": 5520, + "saucer": 42272, + "sauces": 40367, + "saucy": 46684, + "saudi": 24511, + "saudi": 8548, + "saudiarabia": 28680, + "sauer": 46333, + "saul": 47623, + "saul": 23252, + "sault": 40361, + "sauna": 35460, + "saunders": 23794, + "saur": 13227, + "saura": 46532, + "saurus": 22118, + "saus": 36121, + "sausage": 11855, + "sausages": 31593, + "sauté": 36290, + "sautéed": 38517, + "sauvi": 30116, + "sauvignon": 32745, + "sav": 2248, + "sav": 26533, + "sava": 40198, + "savag": 43039, + "savage": 11859, + "savannah": 18662, + "save": 5895, + "save": 2673, + "saved": 7137, + "saveour": 33390, + "saver": 20987, + "savers": 31416, + "saves": 12907, + "savethe": 18031, + "savi": 14721, + "saving": 28498, + "saving": 6979, + "savings": 10651, + "savior": 24762, + "saviour": 35800, + "savor": 48071, + "savory": 32992, + "savoury": 49071, + "savoy": 39552, + "savvy": 29278, + "saw": 12429, + "saw": 2425, + "sawa": 39613, + "sawards": 29012, + "sawyer": 27726, + "sax": 14169, + "sax": 23766, + "saxon": 31856, + "saxophon": 43760, + "saxophone": 32296, + "say": 3047, + "say": 1451, + "saya": 35170, + "sayang": 46322, + "sayers": 44116, + "sayin": 23662, + "saying": 4455, + "says": 1563, + "saz": 35577, + "sb": 5576, + "sb": 4977, + "sba": 44970, + "sback": 43840, + "sband": 27539, + "sbaseball": 46491, + "sbball": 39190, + "sbc": 31404, + "sberg": 20358, + "sbi": 41369, + "sbk": 39211, + "sboro": 18909, + "sbridge": 49228, + "sbs": 18883, + "sbu": 48075, + "sbu": 46281, + "sburg": 7390, + "sburgh": 48205, + "sbury": 14081, + "sby": 26519, + "sby": 10287, + "sc": 663, + "sc": 3219, + "sca": 11001, + "scab": 31716, + "scaf": 28981, + "scafe": 45574, + "scaffolding": 41687, + "scal": 10859, + "scala": 37997, + "scalable": 44084, + "scale": 37817, + "scale": 5879, + "scaled": 41923, + "scales": 22891, + "scaling": 29116, + "scallo": 19936, + "scallop": 39544, + "scallops": 31430, + "scalp": 38898, + "scam": 17620, + "scam": 13215, + "scamp": 28451, + "scams": 34395, + "scan": 10650, + "scan": 11261, + "scanada": 27121, + "scand": 8110, + "scandal": 35420, + "scandal": 11622, + "scandals": 45490, + "scandin": 32014, + "scandinavian": 35661, + "scanned": 43719, + "scanner": 24185, + "scanning": 24092, + "scans": 31251, + "scap": 35883, + "scape": 36005, + "scape": 12314, + "scapes": 31933, + "scar": 4171, + "scar": 18088, + "scarborough": 24254, + "scarce": 38572, + "scarcity": 45812, + "scare": 33536, + "scare": 15920, + "scarec": 38814, + "scarecrow": 46504, + "scared": 9870, + "scares": 34096, + "scarf": 13365, + "scari": 27050, + "scariest": 37213, + "scarlet": 20389, + "scarlett": 28325, + "scars": 20747, + "scarves": 29249, + "scary": 9250, + "scat": 13899, + "scattered": 22090, + "scavenger": 36778, + "scc": 19458, + "scd": 48422, + "scen": 2204, + "scenario": 20456, + "scenarios": 31346, + "scence": 33418, + "scene": 3562, + "scenery": 16025, + "scenes": 5415, + "scenic": 15394, + "scent": 36277, + "scent": 7683, + "scented": 27190, + "scenter": 23059, + "scentre": 39371, + "scents": 26336, + "scep": 24439, + "scfc": 38578, + "sch": 844, + "sch": 7542, + "scha": 42809, + "schaf": 45588, + "schaft": 41010, + "schal": 35568, + "schalke": 41029, + "schallenge": 43665, + "schan": 31328, + "schar": 15085, + "schat": 31842, + "schau": 35830, + "sche": 3038, + "sche": 7289, + "schedu": 4207, + "schedule": 5521, + "scheduled": 10986, + "schedules": 28986, + "scheduling": 32216, + "scheer": 26776, + "schel": 39881, + "schel": 38569, + "schem": 17720, + "scheme": 9024, + "schemes": 22958, + "schen": 22738, + "scher": 21925, + "scher": 21299, + "schi": 13731, + "schi": 24984, + "schicago": 46230, + "schiff": 39431, + "schild": 32148, + "schiz": 33230, + "schizoph": 40004, + "schizophre": 41163, + "schle": 32022, + "schmid": 17375, + "schmidt": 18463, + "schnau": 45745, + "schnei": 19941, + "schneider": 22972, + "schnit": 40903, + "scho": 2493, + "schoice": 23860, + "schol": 4498, + "scholar": 7192, + "scholar": 12830, + "scholarly": 41065, + "scholars": 13818, + "scholarship": 9070, + "scholarships": 17866, + "scholastic": 35743, + "schoo": 20721, + "school": 6063, + "school": 1228, + "schooled": 44722, + "schoolers": 31455, + "schooling": 28608, + "schools": 3513, + "schre": 47685, + "schri": 25453, + "schro": 32381, + "schu": 11318, + "schubert": 46939, + "schul": 14945, + "schultz": 30308, + "schulz": 39572, + "schumacher": 39208, + "schumer": 25313, + "schur": 42475, + "schwab": 47602, + "schwar": 13985, + "schwartz": 30617, + "schwarz": 27074, + "schwarzenegger": 33860, + "schwe": 25324, + "sci": 2267, + "sci": 8309, + "sciart": 31704, + "scicom": 28606, + "scicomm": 29573, + "scien": 39261, + "science": 10201, + "science": 2497, + "sciencefiction": 39170, + "sciences": 11481, + "scienti": 4338, + "scientific": 9750, + "scientist": 11083, + "scientists": 8045, + "sciento": 36193, + "scientology": 44694, + "scifi": 41862, + "scifi": 12230, + "scion": 47208, + "sciss": 25667, + "scissors": 30867, + "sciutto": 44392, + "sclerosis": 39446, + "sclub": 20017, + "sco": 1065, + "sco": 4763, + "scoe": 31164, + "scol": 13599, + "scoll": 44895, + "scollege": 39536, + "scom": 26407, + "scon": 17163, + "scon": 29272, + "scones": 36443, + "sconf": 39704, + "scoo": 14199, + "scooby": 34469, + "scoop": 13829, + "scoops": 41360, + "scope": 7979, + "scopes": 30328, + "scopic": 23869, + "scopy": 20018, + "scor": 8442, + "score": 12067, + "score": 4431, + "scoreboard": 30104, + "scorecard": 38128, + "scored": 6143, + "scoreless": 33469, + "scorer": 16572, + "scorers": 26699, + "scores": 7039, + "scoring": 9198, + "scorpi": 15445, + "scorpio": 34331, + "scorpion": 28461, + "scorpions": 45401, + "scorsese": 45975, + "scot": 2496, + "scot": 9271, + "scotch": 16687, + "scoti": 46446, + "scotia": 27859, + "scotland": 29174, + "scotland": 4203, + "scots": 17260, + "scotsman": 39612, + "scott": 7775, + "scott": 3664, + "scotti": 6227, + "scottish": 18039, + "scottish": 7442, + "scottsdale": 27817, + "scotty": 39697, + "scotty": 26836, + "scotus": 21720, + "scou": 44909, + "scoun": 16110, + "scouncil": 48787, + "scountry": 40432, + "scour": 46172, + "scout": 32213, + "scout": 10786, + "scouting": 19072, + "scouts": 14837, + "scow": 27929, + "scowboys": 31386, + "scp": 45030, + "scr": 36131, + "scra": 11187, + "scrabble": 39488, + "scram": 17289, + "scramble": 32688, + "scrambled": 39026, + "scran": 41774, + "scranton": 45274, + "scrap": 27950, + "scrap": 21695, + "scrapbook": 48733, + "scrapped": 43325, + "scraps": 40809, + "scrat": 9572, + "scratch": 13258, + "scratched": 48831, + "scratches": 46556, + "scratching": 44617, + "scre": 1795, + "scream": 31645, + "scream": 13239, + "screamed": 35427, + "screaming": 12891, + "screams": 23989, + "screen": 5351, + "screen": 3750, + "screened": 31450, + "screening": 6688, + "screenings": 27655, + "screenplay": 30058, + "screens": 12689, + "screenshot": 20637, + "screenshot": 12646, + "screenshots": 26783, + "screenshotsaturday": 21406, + "screenwriter": 37293, + "screenwriting": 35465, + "screw": 25529, + "screw": 14225, + "screwdriver": 48748, + "screwed": 30592, + "screws": 38292, + "scri": 2139, + "scrib": 34259, + "scribe": 36228, + "scribed": 38334, + "scricket": 45947, + "scrim": 21978, + "scrimmage": 25216, + "scrip": 11955, + "script": 8374, + "scripted": 40513, + "scription": 26604, + "scriptions": 39512, + "scripts": 20109, + "scripture": 27186, + "scro": 30768, + "scroll": 24160, + "scrolling": 28889, + "scrolls": 38113, + "scroo": 42263, + "scru": 7589, + "scrub": 23432, + "scrubs": 37919, + "scrum": 29047, + "scrump": 39791, + "scrumptious": 40987, + "scrutiny": 34305, + "scs": 26853, + "sct": 39284, + "scu": 8181, + "scu": 32135, + "scuba": 39053, + "scuba": 20559, + "scubadiving": 49046, + "scue": 25955, + "scul": 4948, + "scully": 36598, + "sculp": 6093, + "sculpt": 45044, + "sculpted": 41296, + "sculpting": 44389, + "sculptor": 29409, + "sculpture": 8757, + "sculptures": 20378, + "scum": 29655, + "scumb": 44525, + "scup": 21506, + "scur": 32742, + "scwx": 41966, + "scy": 27471, + "sd": 3080, + "sd": 4159, + "sda": 25548, + "sdale": 12327, + "sday": 5902, + "sday": 1376, + "sdays": 14491, + "sdc": 40992, + "sdcc": 13246, + "sden": 17241, + "sdf": 34681, + "sdg": 20177, + "sdgs": 16261, + "sdk": 40015, + "sdlive": 34561, + "sdn": 41925, + "sdsu": 41284, + "se": 567, + "se": 611, + "sea": 5970, + "sea": 2102, + "seab": 15728, + "seabir": 42558, + "seac": 35626, + "seaf": 9336, + "seafood": 12472, + "seag": 15730, + "seagu": 38076, + "seagull": 38858, + "seagulls": 42215, + "seahawks": 15341, + "seal": 21381, + "seal": 10159, + "sealed": 13358, + "sealing": 42992, + "seals": 18179, + "seam": 13710, + "seam": 44201, + "seaman": 47513, + "seamless": 29373, + "seamus": 40175, + "sean": 11406, + "sean": 6077, + "seanhannity": 43316, + "seap": 29983, + "seaport": 46418, + "sear": 1612, + "search": 23129, + "search": 1920, + "searched": 28961, + "searches": 26378, + "searching": 10626, + "seared": 29727, + "sears": 26693, + "seas": 7329, + "seas": 9556, + "seascape": 42593, + "seaside": 18867, + "season": 19288, + "season": 1367, + "seasonal": 14215, + "seasoned": 28399, + "seasoning": 43439, + "seasons": 8635, + "seat": 19670, + "seat": 4922, + "seated": 23953, + "seater": 37543, + "seating": 16240, + "seats": 6944, + "seattle": 24388, + "seattle": 6274, + "seau": 32263, + "seaw": 32658, + "seaweed": 30204, + "seaworld": 27422, + "seb": 35766, + "seb": 25171, + "sebasti": 10324, + "sebastian": 43792, + "sebastian": 13181, + "sebring": 41086, + "sec": 2875, + "sec": 5338, + "seca": 37847, + "secco": 27394, + "sece": 46297, + "seclu": 42392, + "secon": 1846, + "second": 9329, + "second": 2241, + "secondary": 13107, + "seconds": 6541, + "secre": 2460, + "secret": 20710, + "secret": 4145, + "secretari": 29515, + "secretariat": 31767, + "secretary": 6552, + "secretly": 21400, + "secrets": 9735, + "secs": 28665, + "sect": 15772, + "section": 34986, + "section": 4853, + "sectional": 21876, + "sections": 20061, + "sector": 6579, + "sectors": 22173, + "secu": 4894, + "secular": 47483, + "secular": 27560, + "secur": 2557, + "secure": 44763, + "secure": 7515, + "secured": 16848, + "secures": 31567, + "securing": 24759, + "securities": 25080, + "security": 31245, + "security": 2741, + "sed": 14034, + "sed": 1252, + "sedan": 24237, + "sedg": 46926, + "sedge": 45288, + "sedi": 29269, + "sedly": 31771, + "sedona": 46862, + "seduc": 19933, + "seductive": 43721, + "see": 1751, + "see": 862, + "seed": 14064, + "seed": 6488, + "seeded": 33688, + "seeding": 40050, + "seedlings": 47933, + "seeds": 9128, + "seeing": 3214, + "seek": 8839, + "seeker": 28011, + "seekers": 20732, + "seeking": 8592, + "seeks": 12594, + "seem": 20043, + "seem": 7523, + "seemed": 17240, + "seemingly": 25917, + "seems": 4453, + "seen": 36273, + "seen": 2041, + "seer": 32486, + "sees": 7594, + "seeyou": 41279, + "sef": 27453, + "seg": 10551, + "sega": 16122, + "segment": 15615, + "segments": 43053, + "segreg": 49117, + "segregation": 39086, + "segu": 33156, + "segun": 43087, + "seh": 27536, + "seh": 41430, + "sehun": 17705, + "sei": 13130, + "sei": 15907, + "sein": 24669, + "seine": 41378, + "seinfeld": 33706, + "seis": 25559, + "seismic": 38459, + "seiz": 22171, + "seize": 26624, + "seized": 15826, + "seizure": 36804, + "seizures": 47199, + "sek": 45515, + "sek": 25880, + "sel": 1000, + "sel": 4098, + "sela": 47006, + "selamat": 37692, + "selangor": 44402, + "selby": 43546, + "selca": 38606, + "selcaday": 35924, + "seldom": 48322, + "sele": 29137, + "selec": 3014, + "select": 8690, + "selected": 6881, + "selecting": 32696, + "selection": 6724, + "selections": 24099, + "selective": 28686, + "selects": 32902, + "selen": 19970, + "selena": 14677, + "selenagomez": 27653, + "seley": 30556, + "self": 10139, + "self": 1322, + "selfcare": 39560, + "selfi": 3007, + "selfie": 26735, + "selfie": 3666, + "selfies": 46058, + "selfies": 10050, + "selfish": 26907, + "selfless": 34236, + "sell": 10279, + "sell": 5119, + "seller": 11779, + "sellers": 16562, + "selling": 4396, + "sells": 14306, + "selma": 36652, + "sels": 42070, + "selves": 4505, + "sely": 8402, + "sem": 8645, + "sem": 17106, + "sema": 31816, + "seman": 29119, + "seman": 28378, + "semana": 41780, + "semb": 36054, + "seme": 10855, + "sement": 10714, + "sements": 31449, + "semester": 11905, + "semi": 11023, + "semi": 6684, + "semic": 26967, + "semicon": 34315, + "semiconduc": 35646, + "semiconductor": 43551, + "semifinal": 22935, + "semifinals": 21863, + "semin": 5595, + "seminar": 7269, + "seminars": 34870, + "seminary": 31655, + "seminole": 42956, + "semis": 24013, + "semit": 22628, + "semite": 23721, + "semitic": 34894, + "semitism": 25911, + "semper": 47391, + "sen": 1057, + "sen": 2249, + "sena": 21584, + "senate": 30703, + "senate": 6843, + "senator": 20871, + "senator": 8495, + "senators": 16889, + "send": 27684, + "send": 3625, + "sending": 6985, + "sends": 10817, + "sene": 25269, + "seneca": 33419, + "senegal": 28255, + "senew": 49313, + "seng": 43022, + "seng": 29971, + "senior": 19865, + "senior": 3415, + "seniors": 8138, + "senna": 36195, + "senpai": 46562, + "sens": 5218, + "sens": 22837, + "sensation": 19383, + "sensational": 23051, + "sense": 29162, + "sense": 4747, + "sensei": 36158, + "senses": 21809, + "sensi": 38802, + "sensible": 30635, + "sensing": 29236, + "sensiti": 20531, + "sensitive": 13734, + "sensitivity": 27788, + "sensor": 15330, + "sensors": 20356, + "sensory": 21831, + "sensu": 28157, + "sensual": 40860, + "sent": 6200, + "sent": 3676, + "sentence": 12737, + "sentenced": 17773, + "sentences": 25858, + "sentencing": 34394, + "senti": 19042, + "sentim": 25102, + "sentiment": 25949, + "sentimental": 40070, + "sentiments": 47450, + "sentin": 20042, + "sentinel": 23123, + "senting": 3924, + "seo": 24743, + "seo": 8622, + "seok": 34697, + "seok": 22482, + "seokjin": 45584, + "seoul": 13253, + "sep": 3212, + "sep": 10434, + "separ": 6859, + "separate": 13886, + "separated": 22163, + "separately": 41904, + "separates": 45365, + "separati": 39377, + "separating": 43480, + "separation": 22007, + "sephora": 38414, + "sepsis": 40205, + "sept": 5380, + "septe": 3672, + "september": 3707, + "septic": 34690, + "sepul": 47360, + "seq": 44379, + "sequ": 5491, + "seque": 44662, + "sequel": 15701, + "sequence": 18833, + "sequences": 47306, + "sequencing": 33484, + "sequo": 32781, + "sequoia": 42404, + "ser": 803, + "ser": 2771, + "sera": 28250, + "serbia": 19038, + "serbian": 33687, + "sere": 35770, + "seren": 7880, + "serena": 19519, + "serenawilliams": 48316, + "serendip": 45805, + "serendipity": 49386, + "serene": 28269, + "serenity": 24187, + "serge": 13477, + "serge": 35700, + "sergeant": 22049, + "sergei": 39870, + "sergey": 35390, + "sergi": 47675, + "sergio": 18359, + "seri": 2763, + "seri": 37509, + "serial": 14216, + "serie": 19752, + "seriea": 32660, + "series": 1857, + "serious": 47421, + "serious": 4770, + "seriously": 4885, + "sermon": 24884, + "sero": 48883, + "serpent": 37084, + "serpent": 35364, + "serra": 39851, + "serrano": 44236, + "sers": 13509, + "serum": 25385, + "serv": 1297, + "serv": 24571, + "servant": 20810, + "servants": 29652, + "serve": 39202, + "serve": 2838, + "served": 4740, + "server": 36458, + "server": 8398, + "serverless": 49243, + "servers": 22262, + "serves": 9915, + "servic": 27115, + "service": 21496, + "service": 2086, + "serviced": 44687, + "services": 3100, + "servicing": 41300, + "serving": 5722, + "sery": 14279, + "ses": 23708, + "ses": 1386, + "sesame": 21706, + "sese": 37128, + "sesh": 24274, + "session": 2550, + "sessions": 6327, + "set": 7965, + "set": 1167, + "setback": 43605, + "seth": 20005, + "seth": 11870, + "sethu": 38933, + "setlist": 33141, + "seton": 43799, + "sets": 4650, + "sett": 4984, + "sett": 17567, + "sette": 14613, + "setter": 23153, + "settes": 44145, + "setti": 45170, + "setting": 5264, + "settings": 18628, + "settle": 15075, + "settled": 18310, + "settlement": 16494, + "settlements": 36605, + "settlers": 35671, + "settles": 41498, + "settling": 22036, + "setup": 11092, + "seu": 31539, + "seul": 48975, + "seum": 18838, + "seun": 24209, + "seung": 32393, + "seung": 33711, + "seungri": 41627, + "seuss": 34441, + "sev": 26585, + "sev": 37600, + "seva": 42604, + "seve": 21458, + "seve": 22468, + "sevel": 17439, + "seven": 7874, + "seven": 5757, + "sevens": 29911, + "sevent": 43048, + "seventeen": 19337, + "seventh": 17568, + "seventy": 47170, + "sever": 3250, + "sever": 45557, + "several": 5560, + "severance": 26194, + "severe": 6215, + "severely": 24417, + "severn": 34626, + "severy": 34207, + "sevilla": 24947, + "seville": 34988, + "sew": 28640, + "sewage": 32777, + "sewer": 28294, + "sewing": 15974, + "sewn": 42118, + "sex": 3548, + "sex": 5937, + "sexi": 20562, + "sexiest": 25426, + "sexism": 32059, + "sexist": 33047, + "sexu": 14741, + "sexual": 6749, + "sexuality": 21244, + "sexually": 23032, + "sexy": 21019, + "sexy": 38127, + "sey": 6317, + "sey": 2258, + "seychel": 36809, + "seychelles": 38519, + "seye": 35604, + "seym": 22657, + "seymour": 25850, + "seys": 15081, + "sez": 42377, + "señ": 43368, + "sf": 4435, + "sf": 4915, + "sfa": 32675, + "sfam": 37649, + "sfb": 27930, + "sfc": 14129, + "sfest": 49024, + "sff": 42056, + "sfgiants": 20923, + "sfield": 11801, + "sfo": 39182, + "sfootball": 45259, + "sfor": 9115, + "sford": 28917, + "sforsale": 28888, + "sfw": 18073, + "sfx": 37995, + "sg": 9599, + "sg": 7611, + "sga": 33049, + "sgate": 27558, + "sgh": 47590, + "sgo": 5393, + "sgo": 21044, + "sgt": 13748, + "sh": 552, + "sh": 849, + "sha": 1514, + "sha": 3337, + "shaa": 44221, + "shab": 8323, + "shabbat": 38042, + "shabby": 28838, + "shack": 23866, + "shack": 18785, + "shad": 3182, + "shad": 23874, + "shade": 34554, + "shade": 10097, + "shaded": 43506, + "shades": 46608, + "shades": 9270, + "shadesof": 45180, + "shading": 37348, + "shado": 9325, + "shadow": 15243, + "shadow": 7068, + "shadowhun": 19931, + "shadowhunters": 24834, + "shadowing": 46092, + "shadows": 12971, + "shady": 22158, + "shaf": 12032, + "shaft": 21545, + "shag": 22439, + "shaggy": 42662, + "shah": 13203, + "shah": 8439, + "shahe": 23643, + "shaheed": 30060, + "shaheer": 43969, + "shahi": 46972, + "shahid": 25696, + "shahid": 27138, + "shahidkapoor": 29892, + "shahzad": 45915, + "shai": 47941, + "shaikh": 45712, + "shail": 37603, + "shair": 43135, + "shak": 8385, + "shake": 8206, + "shake": 8251, + "shaken": 38237, + "shaker": 26210, + "shakers": 38411, + "shakes": 19668, + "shakespe": 9890, + "shakespeare": 22499, + "shakespeare": 12488, + "shakespearesunday": 32320, + "shaking": 19101, + "shakira": 40795, + "shakti": 48593, + "shakti": 32458, + "shakur": 48915, + "shal": 15056, + "shal": 28175, + "shale": 32864, + "shall": 4742, + "shallow": 23730, + "shalom": 31339, + "sham": 6453, + "sham": 9005, + "shaman": 48727, + "shambles": 40799, + "shame": 14776, + "shame": 7593, + "shameful": 28283, + "shameless": 25380, + "shaming": 40553, + "shampoo": 23944, + "shamrock": 34199, + "shan": 5171, + "shan": 8834, + "shana": 44835, + "shand": 29101, + "shane": 26863, + "shane": 11572, + "shang": 11141, + "shanghai": 12742, + "shani": 46665, + "shank": 24685, + "shankar": 24108, + "shann": 9932, + "shannon": 22842, + "shannon": 13581, + "shant": 36610, + "shap": 5581, + "shape": 26925, + "shape": 6448, + "shaped": 10127, + "shapes": 15377, + "shaping": 18632, + "shapiro": 32110, + "shaq": 46402, + "shaq": 26843, + "shar": 1669, + "shar": 36542, + "shara": 48849, + "sharapo": 36489, + "sharapova": 36671, + "shard": 42207, + "share": 7585, + "share": 1978, + "shared": 5368, + "shareholder": 38241, + "shareholders": 34778, + "sharepoint": 39213, + "shares": 4974, + "sharethe": 49277, + "shareyour": 45890, + "shari": 27738, + "shari": 47390, + "sharia": 37244, + "sharif": 15501, + "sharing": 3567, + "sharjah": 33420, + "shark": 15836, + "shark": 7980, + "sharks": 10047, + "sharkweek": 39571, + "sharma": 10105, + "sharon": 28722, + "sharon": 14138, + "sharp": 17126, + "sharp": 8157, + "sharpe": 34374, + "sharpen": 41465, + "sharpie": 46858, + "sharply": 37185, + "shasta": 46727, + "shat": 12169, + "shat": 44388, + "shatter": 45008, + "shattered": 26820, + "shau": 13750, + "shaun": 23446, + "shaun": 16669, + "shav": 11410, + "shave": 17735, + "shaved": 25571, + "shaving": 24261, + "shaw": 6122, + "shaw": 6805, + "shawa": 46413, + "shawl": 35132, + "shawn": 16677, + "shawn": 10970, + "shawnee": 48060, + "shawnmendes": 27277, + "shawty": 38026, + "shay": 10778, + "shay": 18361, + "shaykh": 47223, + "shaz": 18618, + "shazam": 29063, + "shc": 43419, + "shd": 37729, + "she": 1729, + "she": 1043, + "shea": 20407, + "shead": 44287, + "shead": 20434, + "shealth": 41743, + "shealth": 22197, + "shear": 27974, + "shear": 32108, + "shearer": 40505, + "sheath": 45637, + "shed": 16586, + "shed": 1492, + "shedding": 33608, + "sheds": 25921, + "shee": 23450, + "shee": 34321, + "sheed": 26105, + "sheehan": 41809, + "sheen": 25025, + "sheep": 23604, + "sheep": 9629, + "sheer": 17577, + "sheeran": 18561, + "sheet": 7298, + "sheets": 12744, + "shef": 8237, + "sheff": 38844, + "sheff": 43821, + "sheffiel": 26940, + "sheffield": 41763, + "sheffield": 10420, + "sheffieldissuper": 33628, + "sheh": 31667, + "sheikh": 15031, + "sheil": 42765, + "sheila": 25734, + "shek": 33285, + "shel": 3159, + "shelby": 36906, + "shelby": 16885, + "sheldon": 25079, + "shelf": 10955, + "shell": 23374, + "shell": 6648, + "shelley": 22497, + "shelling": 43166, + "shells": 19265, + "shelly": 37461, + "shelter": 8599, + "sheltered": 48070, + "shelters": 24312, + "shelton": 24471, + "shelves": 16225, + "shem": 40299, + "shen": 10154, + "shen": 31098, + "shenan": 20965, + "shenando": 44666, + "shenanigans": 26590, + "shenko": 39751, + "shenmue": 48279, + "shenzhen": 38970, + "shep": 33757, + "shep": 44857, + "shepard": 26810, + "shepher": 11008, + "shepherd": 13242, + "shepherds": 42792, + "sheppard": 37304, + "sher": 3570, + "sher": 4510, + "sheraton": 39400, + "shere": 21507, + "sheri": 9235, + "sheridan": 27085, + "sheriff": 10309, + "sherlock": 17294, + "sherman": 17822, + "sherry": 44348, + "sherry": 24689, + "shers": 14141, + "sherwood": 24527, + "sheryl": 39773, + "shes": 45514, + "shes": 2502, + "shet": 15850, + "shetland": 29595, + "shetty": 25533, + "shev": 45182, + "sheva": 45132, + "shh": 35025, + "shhh": 36932, + "shi": 823, + "shi": 3533, + "shia": 23791, + "shibu": 36177, + "shibuya": 41623, + "shie": 26638, + "shiel": 33413, + "shield": 8670, + "shields": 19085, + "shies": 35312, + "shif": 35317, + "shift": 43767, + "shift": 6905, + "shifted": 34429, + "shifter": 48944, + "shifting": 21992, + "shifts": 23957, + "shik": 36980, + "shil": 14370, + "shill": 32121, + "shill": 30090, + "shilpa": 47062, + "shilpa": 40690, + "shim": 11986, + "shim": 32780, + "shima": 14382, + "shimano": 48904, + "shimi": 40517, + "shimmer": 38792, + "shin": 5664, + "shin": 11784, + "shinde": 41516, + "shine": 17582, + "shine": 3780, + "shinee": 19660, + "shines": 16015, + "shing": 38641, + "shing": 1743, + "shining": 10485, + "shino": 43074, + "shiny": 12190, + "ship": 7645, + "ship": 1158, + "shipment": 28553, + "shipp": 34709, + "shipped": 15279, + "shippers": 44789, + "shipping": 5721, + "ships": 3262, + "shipwreck": 48878, + "shipy": 26828, + "shipyard": 31273, + "shir": 1956, + "shiraz": 35618, + "shire": 11975, + "shire": 2968, + "shirehour": 32456, + "shirley": 18189, + "shiro": 26048, + "shirt": 27576, + "shirt": 2523, + "shirtless": 28959, + "shirts": 5803, + "shistory": 34979, + "shiv": 18042, + "shiv": 37121, + "shiva": 33881, + "shiva": 21174, + "shka": 38944, + "shld": 49359, + "shma": 48074, + "shment": 8802, + "shments": 18822, + "sho": 719, + "sho": 13756, + "shock": 19617, + "shock": 8736, + "shocked": 15787, + "shocker": 37971, + "shockey": 22258, + "shocking": 13394, + "shocks": 31886, + "shoe": 16308, + "shoe": 7342, + "shoes": 49391, + "shoes": 4079, + "shol": 21472, + "sholm": 44139, + "shome": 42701, + "shon": 19526, + "shon": 37621, + "shone": 47173, + "shoo": 1975, + "shook": 20730, + "shoops": 29956, + "shoot": 12531, + "shoot": 3704, + "shooter": 13645, + "shooters": 31902, + "shooting": 3992, + "shootings": 26753, + "shootout": 20666, + "shoots": 14144, + "shop": 5738, + "shop": 1557, + "shopify": 47949, + "shoplocal": 21775, + "shopp": 38486, + "shoppe": 38236, + "shopped": 28088, + "shopper": 24346, + "shoppers": 22316, + "shopping": 42101, + "shopping": 4266, + "shops": 6467, + "shopsmall": 35942, + "shor": 3209, + "shore": 14717, + "shore": 5928, + "shored": 33140, + "shoreditch": 35042, + "shoreline": 34807, + "shores": 18102, + "short": 6803, + "short": 3005, + "shortage": 19910, + "shortages": 38730, + "shortcuts": 45793, + "shorten": 41711, + "shorter": 20350, + "shortest": 33717, + "shortfilm": 37204, + "shorth": 37397, + "shortlist": 28163, + "shortlisted": 20631, + "shortly": 11967, + "shorts": 9680, + "shorty": 33502, + "shot": 9805, + "shot": 2000, + "shotel": 42365, + "shotgun": 21643, + "shots": 5342, + "shou": 3890, + "shoul": 29847, + "should": 14947, + "should": 1535, + "shoulder": 8476, + "shoulders": 18738, + "shouldn": 9416, + "shour": 20025, + "shouse": 28671, + "shout": 7335, + "shout": 5214, + "shouted": 44397, + "shouting": 26464, + "shoutout": 8274, + "shouts": 26709, + "shovel": 31778, + "show": 2133, + "show": 1080, + "showbiz": 34156, + "showcas": 14290, + "showcase": 7265, + "showcased": 35786, + "showcases": 26266, + "showcasing": 17036, + "showdown": 15576, + "showed": 7150, + "shower": 7777, + "showers": 9893, + "showing": 3649, + "shown": 8506, + "showroom": 16821, + "shows": 2665, + "showtime": 40576, + "showtime": 15442, + "showyour": 46733, + "shp": 38341, + "shq": 21145, + "shr": 10118, + "shra": 21360, + "shradd": 28172, + "shraddha": 35208, + "shraddhakapoor": 40385, + "shre": 12101, + "shred": 19756, + "shred": 33017, + "shredded": 31772, + "shredding": 45534, + "shree": 37410, + "shrek": 35009, + "shrews": 26411, + "shrewsbury": 30921, + "shri": 8838, + "shri": 11424, + "shrimp": 12727, + "shrin": 24865, + "shrine": 16156, + "shrink": 34957, + "shrinking": 41243, + "shrm": 44163, + "shro": 15259, + "shroff": 32081, + "shrop": 22630, + "shropshire": 26344, + "shru": 14911, + "shrub": 41464, + "shrubs": 47975, + "shrun": 46767, + "shs": 16184, + "sht": 44210, + "shti": 38927, + "shu": 2872, + "shu": 17651, + "shua": 33771, + "shub": 40552, + "shud": 45782, + "shuff": 42641, + "shuffle": 21681, + "shui": 45473, + "shuk": 29927, + "shukla": 46829, + "shul": 30721, + "shum": 37383, + "shun": 24479, + "shun": 39594, + "shur": 41032, + "shut": 8702, + "shut": 8282, + "shutdown": 16051, + "shutout": 24385, + "shuts": 28313, + "shutt": 31866, + "shutter": 36235, + "shutter": 33902, + "shutters": 46894, + "shutting": 31383, + "shuttle": 15842, + "shwar": 41640, + "shy": 22678, + "shy": 9682, + "si": 564, + "si": 2990, + "sia": 2357, + "siam": 29686, + "siam": 48248, + "siamese": 43161, + "sian": 28510, + "sian": 6221, + "sians": 26583, + "sias": 28645, + "siber": 22206, + "siberia": 39969, + "siberian": 34058, + "sibl": 14338, + "sible": 14507, + "sibling": 43060, + "sibling": 23779, + "siblings": 17156, + "sic": 8278, + "sic": 1118, + "sica": 34125, + "sical": 33875, + "sichuan": 48950, + "sicilian": 45292, + "sicily": 23179, + "sick": 11143, + "sick": 5359, + "sickest": 47972, + "sickle": 41459, + "sickness": 28898, + "sics": 26297, + "sid": 10117, + "sid": 15119, + "sidd": 19842, + "siddi": 35227, + "side": 5869, + "side": 1145, + "sided": 21061, + "sidekick": 44683, + "sidel": 43557, + "sideline": 32056, + "sidelines": 31046, + "sider": 30581, + "siders": 41249, + "sides": 7578, + "sideshow": 46789, + "sidewalk": 23278, + "sidewalks": 43583, + "sideways": 35593, + "siding": 38758, + "sidney": 22598, + "sie": 8533, + "sie": 5685, + "sieg": 49203, + "siege": 18460, + "siegel": 48559, + "siem": 18434, + "siemens": 30147, + "siempre": 44030, + "siena": 33336, + "sienna": 40373, + "sier": 10028, + "sier": 7444, + "sierra": 13552, + "siers": 35923, + "sies": 16367, + "siest": 18323, + "sif": 29300, + "sig": 872, + "sig": 19145, + "sigh": 36303, + "sigh": 15505, + "sighs": 44579, + "sight": 16897, + "sight": 6329, + "sighted": 33034, + "sighting": 17507, + "sightings": 30004, + "sights": 17364, + "sightseeing": 34210, + "sigma": 45075, + "sigma": 15697, + "sign": 5538, + "sign": 2292, + "signage": 21156, + "signal": 10781, + "signaling": 38492, + "signalling": 48426, + "signals": 17150, + "signation": 24347, + "signature": 9189, + "signatures": 21865, + "signed": 3163, + "signee": 39778, + "signi": 34023, + "signific": 6374, + "significance": 23769, + "significant": 8735, + "significantly": 16187, + "signing": 4401, + "signingday": 40282, + "signings": 27731, + "signs": 4659, + "signup": 40791, + "sigue": 49401, + "sii": 36672, + "sik": 19974, + "sik": 22413, + "sika": 31144, + "sikh": 21829, + "sikhs": 45426, + "sil": 1556, + "sil": 8315, + "sila": 41754, + "sile": 37620, + "silen": 39048, + "silence": 8462, + "silenced": 45415, + "silent": 30352, + "silent": 8487, + "silently": 42640, + "silhou": 20589, + "silhouette": 26149, + "silic": 23830, + "silicon": 32412, + "silicon": 17888, + "silicone": 28221, + "silk": 25891, + "silk": 9743, + "silky": 29554, + "sill": 42468, + "sill": 48024, + "silly": 11883, + "silon": 31841, + "sils": 39708, + "silva": 16489, + "silve": 37697, + "silver": 7525, + "silver": 3467, + "silverado": 46160, + "silverstone": 29666, + "silvia": 37289, + "sim": 5026, + "sim": 10740, + "sima": 35871, + "simba": 39492, + "simcoe": 47148, + "sime": 28329, + "simi": 38073, + "simil": 7202, + "similar": 8547, + "similarities": 34716, + "simm": 13001, + "simmons": 14699, + "simo": 37171, + "simon": 8796, + "simon": 6668, + "simona": 46277, + "simone": 19062, + "simons": 33097, + "simp": 2542, + "simple": 19018, + "simple": 4129, + "simpler": 35489, + "simplest": 39588, + "simpli": 16868, + "simplicity": 21262, + "simplified": 36647, + "simplify": 35479, + "simply": 25637, + "simply": 6151, + "simpson": 41805, + "simpson": 11750, + "simpsons": 21092, + "sims": 14021, + "simul": 9845, + "simulated": 46395, + "simulation": 18610, + "simulator": 20821, + "simultaneous": 48816, + "simultaneously": 28575, + "sin": 1303, + "sin": 3421, + "sina": 19541, + "sinai": 33226, + "sinatra": 27262, + "sinc": 30464, + "since": 1855, + "sincere": 24513, + "sincere": 24886, + "sincerely": 25673, + "sinclair": 23100, + "sind": 39598, + "sind": 30877, + "sindh": 20754, + "sindia": 48038, + "sine": 22741, + "sine": 33793, + "sinfo": 47178, + "sing": 1387, + "sing": 1197, + "singapo": 27861, + "singapore": 28879, + "singapore": 6754, + "singer": 33880, + "singer": 5108, + "singers": 15613, + "singersongwriter": 44585, + "singh": 19445, + "singh": 5715, + "singing": 5864, + "single": 19524, + "single": 2688, + "singles": 12025, + "singleton": 46247, + "singly": 16619, + "sings": 13635, + "singul": 34003, + "singular": 44009, + "singularity": 48410, + "sinha": 29416, + "sini": 41781, + "sini": 26319, + "sinister": 31313, + "sink": 37232, + "sink": 14551, + "sinking": 27949, + "sinks": 32710, + "sinn": 36315, + "sinner": 45380, + "sinners": 43436, + "sino": 29759, + "sins": 9345, + "sinthe": 30737, + "sinu": 37351, + "sinus": 47535, + "sio": 10807, + "siob": 40954, + "siology": 46315, + "sion": 5676, + "sion": 1015, + "sional": 14533, + "sionally": 30754, + "sions": 4060, + "sioux": 44695, + "sioux": 24954, + "sip": 16096, + "sipping": 28527, + "sir": 10708, + "sir": 3846, + "sire": 28450, + "siren": 33026, + "sirens": 35907, + "siri": 13986, + "siri": 18394, + "sirius": 23574, + "sirius": 34999, + "siriusxm": 29833, + "sirloin": 46828, + "sis": 18132, + "sis": 2580, + "sisd": 27132, + "sisi": 37892, + "siss": 42929, + "sissy": 27564, + "sist": 20520, + "sista": 37448, + "sister": 17417, + "sister": 3677, + "sisterhood": 37313, + "sisters": 6404, + "sit": 7387, + "sit": 4037, + "sitcom": 30426, + "site": 26792, + "site": 1988, + "sites": 7236, + "sith": 41499, + "sito": 42613, + "sits": 12726, + "sitt": 42988, + "sitter": 40777, + "sittin": 40887, + "sitting": 4919, + "situ": 5562, + "situ": 42536, + "situated": 22030, + "situation": 7144, + "situations": 19096, + "sity": 38177, + "sity": 5477, + "siu": 40174, + "sium": 8090, + "sius": 27595, + "siva": 20991, + "sivan": 36931, + "sive": 23572, + "sive": 1875, + "sively": 10343, + "siveness": 39667, + "sives": 23896, + "sivity": 42738, + "siwon": 29055, + "six": 5968, + "six": 4093, + "sixers": 25941, + "sixteen": 28677, + "sixth": 12909, + "sixties": 44948, + "sixty": 32588, + "siya": 44440, + "size": 38377, + "size": 3235, + "sized": 9832, + "sizes": 10253, + "sizing": 28330, + "sizz": 23778, + "sizzle": 47890, + "sizzling": 35799, + "sj": 7536, + "sj": 16010, + "sjo": 42012, + "sk": 909, + "sk": 2058, + "ska": 7495, + "skag": 31948, + "skan": 46772, + "skar": 27587, + "skar": 26835, + "skate": 13740, + "skate": 12745, + "skateboard": 31777, + "skateboarding": 31352, + "skater": 30337, + "skaters": 39824, + "skates": 31479, + "skc": 44551, + "ske": 6261, + "ske": 25516, + "skel": 36564, + "skelet": 27075, + "skeletal": 37369, + "skeleton": 20062, + "skeletons": 48874, + "skell": 40801, + "skep": 27772, + "skeptical": 44934, + "sker": 37640, + "sker": 33600, + "sket": 3744, + "sketch": 11767, + "sketch": 5269, + "sketchbook": 18899, + "sketched": 38581, + "sketches": 17622, + "sketching": 23228, + "sketchy": 41582, + "skey": 37453, + "ski": 3327, + "ski": 3428, + "skid": 36574, + "skid": 32099, + "skier": 42585, + "skies": 7244, + "skiing": 14400, + "skil": 24543, + "skill": 15598, + "skill": 10604, + "skilled": 17535, + "skillet": 40568, + "skills": 4113, + "skim": 33191, + "skin": 5821, + "skin": 3575, + "skincare": 12648, + "skine": 37300, + "sking": 46215, + "skinned": 42199, + "skinner": 30261, + "skinny": 42729, + "skinny": 15457, + "skins": 11594, + "skip": 39793, + "skip": 14296, + "skipped": 40639, + "skipper": 22226, + "skipping": 34867, + "skir": 8919, + "skirt": 12386, + "skirts": 24840, + "skis": 32843, + "skit": 43573, + "skitchen": 42820, + "skittles": 43213, + "sko": 15141, + "sko": 23493, + "skoda": 38668, + "skool": 26743, + "skril": 43149, + "skrillex": 43651, + "sks": 48136, + "sku": 10836, + "skul": 17561, + "skull": 34068, + "skull": 12092, + "skulls": 31804, + "skunk": 42194, + "sky": 3075, + "sky": 2390, + "skybet": 45540, + "skye": 21475, + "skyl": 43554, + "skylar": 45411, + "skyline": 14606, + "skymap": 41734, + "skynews": 40977, + "skype": 17069, + "skyrim": 33693, + "skysports": 39845, + "skysports": 46725, + "skywalker": 32936, + "sl": 2621, + "sl": 7489, + "sla": 2725, + "sla": 26707, + "slab": 24241, + "slabs": 42818, + "slack": 37108, + "slack": 30142, + "slade": 33546, + "slain": 35972, + "slalom": 43540, + "slam": 14891, + "slam": 10131, + "slammed": 29772, + "slams": 18907, + "slan": 44663, + "slan": 47193, + "sland": 11294, + "slang": 33655, + "slap": 48830, + "slap": 21751, + "slapped": 38861, + "slaps": 46796, + "slash": 19749, + "slat": 38966, + "slate": 17919, + "slated": 36094, + "slater": 25968, + "slaugh": 26782, + "slaughter": 19815, + "slaughtered": 46615, + "slav": 47292, + "slava": 41797, + "slave": 14029, + "slavery": 15754, + "slaves": 23833, + "slaw": 28178, + "slay": 48319, + "slay": 19380, + "slayed": 44870, + "slayer": 21605, + "slaying": 27812, + "slays": 45648, + "slc": 21972, + "sle": 1709, + "sleague": 23336, + "sled": 28438, + "sledge": 48750, + "slee": 17642, + "slee": 38977, + "sleek": 23187, + "sleep": 4656, + "sleep": 3840, + "sleeper": 28709, + "sleeping": 6982, + "sleepless": 39779, + "sleepover": 39415, + "sleeps": 16610, + "sleepy": 32572, + "sleepy": 14497, + "sleet": 36948, + "sleeve": 35270, + "sleeve": 10536, + "sleeveless": 38049, + "sleeves": 19691, + "sleg": 47650, + "sleigh": 30865, + "slender": 40331, + "slept": 20388, + "sler": 14066, + "sley": 17198, + "sley": 6496, + "sli": 1811, + "sli": 44824, + "slic": 19692, + "slice": 13431, + "sliced": 28121, + "slices": 28424, + "slick": 18341, + "slide": 27828, + "slide": 8837, + "slider": 37861, + "sliders": 40700, + "slides": 15939, + "slideshow": 42817, + "sliding": 21468, + "slife": 15448, + "sliga": 21080, + "slight": 14297, + "slightly": 8456, + "sligo": 30424, + "slike": 38744, + "slim": 35226, + "slim": 12364, + "slime": 29107, + "sling": 28021, + "sling": 32607, + "slinger": 47269, + "slions": 43363, + "slip": 39785, + "slip": 12105, + "slipknot": 41816, + "slipped": 30344, + "slipper": 39644, + "slippers": 26509, + "slippery": 30814, + "slipping": 36301, + "slips": 30632, + "slist": 33749, + "slit": 47011, + "slive": 31652, + "slo": 4303, + "slo": 36083, + "sloan": 29110, + "sloane": 41553, + "slogan": 23398, + "slogans": 42795, + "slope": 22769, + "slopes": 24066, + "sloppy": 36154, + "slot": 14500, + "sloth": 30007, + "slots": 19238, + "slou": 48493, + "slovak": 23315, + "slovakia": 25994, + "sloven": 17018, + "slovenia": 21037, + "slow": 6674, + "slow": 5444, + "slowdown": 38421, + "slowed": 43793, + "slower": 29181, + "slowing": 29839, + "slowly": 9568, + "slows": 46855, + "slp": 45599, + "slr": 21325, + "sls": 33651, + "slt": 39283, + "sltd": 36388, + "slu": 7224, + "slu": 47456, + "slug": 34190, + "slugger": 48671, + "slum": 46754, + "slumber": 44295, + "slump": 35588, + "slur": 30476, + "slush": 39815, + "slv": 45526, + "sly": 28145, + "sly": 21062, + "sm": 978, + "sm": 2764, + "sma": 4357, + "sma": 11854, + "smack": 21280, + "smack": 30026, + "smackdown": 26138, + "smafia": 47686, + "smag": 32212, + "smal": 48379, + "small": 5244, + "small": 2442, + "smallbiz": 41724, + "smallbiz": 18987, + "smallbusiness": 21316, + "smalle": 18490, + "smaller": 12431, + "smallest": 18686, + "smalls": 41696, + "sman": 9612, + "smar": 3201, + "smart": 5383, + "smart": 4115, + "smartcities": 34822, + "smartcity": 33973, + "smarter": 18990, + "smartest": 37092, + "smarthome": 47726, + "smartphone": 11290, + "smartphones": 22212, + "smartwatch": 35798, + "smash": 17258, + "smash": 10332, + "smashbros": 44897, + "smashed": 18410, + "smashes": 45657, + "smashing": 19632, + "smatter": 16537, + "smb": 30446, + "smc": 31375, + "smc": 28312, + "smd": 34582, + "sme": 11758, + "sme": 15650, + "smear": 37546, + "smel": 28476, + "smell": 9688, + "smelling": 32493, + "smells": 14668, + "smelly": 46145, + "smen": 15961, + "smer": 48526, + "smere": 39629, + "smes": 26141, + "smg": 46876, + "smh": 9623, + "smi": 5655, + "smi": 40049, + "smil": 33937, + "smile": 27641, + "smile": 3490, + "smiled": 34362, + "smiles": 8726, + "smiley": 22925, + "smiling": 9200, + "smir": 24667, + "smith": 10527, + "smith": 2915, + "smiths": 27872, + "smithson": 25372, + "smithsonian": 31209, + "smm": 19510, + "smma": 42370, + "smo": 2513, + "smo": 13437, + "smobile": 38923, + "smog": 44425, + "smoke": 20381, + "smoke": 6664, + "smoked": 11161, + "smoker": 32348, + "smokers": 29571, + "smokes": 40336, + "smokey": 23670, + "smokin": 32825, + "smoking": 9038, + "smoky": 25549, + "smol": 29939, + "smol": 40403, + "smoo": 5430, + "smooth": 10958, + "smooth": 8990, + "smoother": 44271, + "smoothie": 16668, + "smoothies": 34458, + "smoothly": 32380, + "smore": 48323, + "smp": 32260, + "smriti": 49227, + "sms": 10409, + "smt": 26672, + "smtown": 26072, + "smu": 10878, + "smu": 30458, + "smug": 41021, + "smugg": 28130, + "smuggling": 34146, + "smur": 24708, + "smusic": 19191, + "smw": 44929, + "smx": 46699, + "smy": 14381, + "smyth": 44822, + "sn": 1672, + "sn": 5844, + "sna": 4032, + "snack": 47548, + "snack": 10039, + "snacking": 46474, + "snacks": 12349, + "snag": 34789, + "snag": 28043, + "snagged": 48534, + "snail": 23132, + "snails": 34928, + "snake": 30133, + "snake": 8798, + "snakes": 19605, + "snap": 4578, + "snap": 7404, + "snapback": 31234, + "snapchat": 7799, + "snapmatic": 45907, + "snapp": 10185, + "snapped": 15543, + "snapper": 31677, + "snapping": 31581, + "snaps": 16890, + "snapshot": 18243, + "snar": 30810, + "snare": 40651, + "snat": 18457, + "snatch": 35302, + "snatched": 44821, + "snation": 14362, + "snazzy": 48963, + "snc": 39918, + "sne": 3791, + "sne": 46503, + "sneak": 27871, + "sneak": 6917, + "sneaker": 31698, + "sneaker": 24781, + "sneakers": 17397, + "sneaking": 34633, + "sneakpeek": 47831, + "sneaks": 40926, + "sneaky": 21293, + "snee": 42095, + "snell": 46410, + "sner": 31424, + "snes": 26667, + "snews": 18623, + "snf": 47651, + "sng": 41549, + "snhl": 43093, + "sni": 7186, + "sni": 35570, + "snickers": 49127, + "sniff": 37841, + "snip": 42954, + "sniper": 22157, + "snippet": 37531, + "snippets": 44001, + "snl": 16011, + "sno": 8567, + "sno": 17802, + "snoo": 11352, + "snooker": 25657, + "snoop": 44503, + "snoop": 27754, + "snoopdogg": 48388, + "snoopy": 41967, + "snooze": 40718, + "snor": 16590, + "snoring": 44560, + "snorkel": 44285, + "snorkeling": 48103, + "snow": 3880, + "snow": 2583, + "snowball": 39254, + "snowboard": 33403, + "snowboarding": 32397, + "snowday": 37982, + "snowden": 32154, + "snowdon": 47107, + "snowdonia": 36088, + "snowed": 45073, + "snowfall": 21714, + "snowflake": 33447, + "snowflakes": 38618, + "snowing": 21443, + "snowman": 22668, + "snowstorm": 38777, + "snowy": 14191, + "snp": 15301, + "sns": 36343, + "snsd": 27961, + "snt": 34834, + "snu": 9694, + "snuck": 36522, + "snug": 45169, + "snuggle": 31327, + "snuggles": 48165, + "sny": 17526, + "snyder": 22106, + "snz": 37678, + "so": 759, + "so": 706, + "soa": 39584, + "soak": 24839, + "soaked": 26592, + "soaking": 26750, + "soap": 26086, + "soap": 11088, + "soaps": 40958, + "soar": 48997, + "soar": 22241, + "soaring": 27968, + "soars": 41348, + "sob": 24900, + "sob": 35507, + "sobbing": 36691, + "sober": 30969, + "sober": 24487, + "sobre": 42768, + "sobri": 49308, + "sobs": 43636, + "soc": 3253, + "soc": 7741, + "soca": 49239, + "socal": 46470, + "socal": 20450, + "soccer": 16268, + "soccer": 4233, + "socceroos": 41997, + "socent": 30831, + "sochi": 21014, + "soci": 1720, + "social": 4803, + "social": 2346, + "socialism": 23372, + "socialist": 18450, + "socialists": 43839, + "socially": 24555, + "socialmedi": 23813, + "socialmedia": 9600, + "socialmediamarketing": 31790, + "societal": 40058, + "societies": 25855, + "society": 3757, + "socio": 44319, + "socio": 42790, + "sociology": 32373, + "sock": 29801, + "sock": 18277, + "socket": 28657, + "socks": 8774, + "socorro": 46409, + "socute": 45086, + "sod": 31435, + "soda": 13533, + "sodium": 29070, + "soe": 44136, + "soe": 25498, + "soever": 34024, + "sof": 1571, + "sof": 41187, + "sofa": 15723, + "soff": 35290, + "soff": 30684, + "sofficial": 20563, + "sofi": 41537, + "sofia": 18914, + "sofinstagram": 17301, + "soft": 12778, + "soft": 3773, + "softball": 8369, + "softer": 44462, + "softhe": 23127, + "softly": 34958, + "software": 35941, + "software": 5847, + "softwitter": 11311, + "sog": 44775, + "soggy": 41168, + "sohn": 49267, + "soho": 47749, + "soho": 17592, + "soi": 40495, + "soil": 33417, + "soil": 9216, + "soils": 34891, + "soir": 43427, + "sok": 43456, + "sol": 1175, + "sol": 9941, + "sola": 40086, + "solace": 42567, + "solar": 16990, + "solar": 5199, + "solareclipse": 44727, + "sold": 33116, + "sold": 3939, + "soldi": 5098, + "soldier": 9355, + "soldiers": 7547, + "sole": 10519, + "sole": 8576, + "soleil": 33148, + "solely": 27913, + "solent": 47783, + "soles": 22682, + "soli": 3911, + "solic": 19369, + "solicitor": 45647, + "solicitors": 46000, + "solid": 30626, + "solid": 6148, + "solidar": 10415, + "solidarity": 10983, + "solidi": 46136, + "solids": 49070, + "solihull": 45293, + "solit": 37039, + "solitaire": 47257, + "solitary": 33094, + "solitude": 33199, + "solo": 17626, + "solo": 5797, + "soloist": 46391, + "solom": 15768, + "solomon": 19785, + "solos": 44868, + "solst": 20298, + "solstice": 21359, + "solu": 2487, + "solution": 4575, + "solutions": 5140, + "solve": 8917, + "solved": 13451, + "solves": 42740, + "solving": 15581, + "som": 734, + "som": 10672, + "soma": 36170, + "somal": 40281, + "somali": 26231, + "somalia": 17051, + "somaliland": 43315, + "some": 1132, + "some": 836, + "somebody": 8305, + "someday": 17127, + "somehow": 11735, + "someone": 2100, + "somer": 9656, + "somerhalder": 33990, + "somerset": 14926, + "somerville": 41409, + "somes": 38124, + "somethin": 33541, + "something": 28316, + "something": 2006, + "sometime": 21464, + "sometimes": 4237, + "somewhat": 17864, + "somewhere": 8119, + "somm": 42726, + "somme": 30625, + "sommer": 44954, + "somos": 24951, + "son": 1176, + "son": 825, + "sona": 21249, + "sonam": 40096, + "sonar": 48235, + "sonata": 37009, + "sone": 29599, + "song": 6868, + "song": 2295, + "songs": 4641, + "songwriter": 13034, + "songwriters": 39583, + "songwriting": 33567, + "songz": 49302, + "soni": 34899, + "soni": 35911, + "sonia": 20409, + "sonic": 23785, + "sonic": 9132, + "sonics": 48511, + "sonja": 46102, + "sonline": 23412, + "sonny": 43000, + "sonny": 20880, + "sono": 44109, + "sonom": 48596, + "sonoma": 26269, + "sons": 5502, + "sonsof": 46676, + "sont": 31063, + "sonthe": 40923, + "sony": 16042, + "sony": 8748, + "sonya": 39172, + "soo": 5517, + "soo": 8602, + "soom": 39771, + "soon": 27559, + "soon": 1745, + "sooner": 18968, + "sooners": 30449, + "sooo": 11526, + "soooo": 13658, + "sooooo": 21199, + "soooooo": 34859, + "soor": 46698, + "soothe": 44424, + "soothing": 27730, + "sop": 3974, + "sop": 19194, + "soph": 34963, + "sophi": 6192, + "sophia": 16790, + "sophie": 38648, + "sophie": 12357, + "sophistic": 17646, + "sophisticated": 20833, + "sophom": 13696, + "sophomore": 15242, + "sophomores": 47645, + "soprano": 28880, + "soproud": 44479, + "sor": 1852, + "sor": 16872, + "sora": 38719, + "sorbet": 39994, + "sore": 43330, + "sore": 15454, + "sored": 6731, + "soren": 38907, + "sorg": 28152, + "sori": 38588, + "sorority": 30059, + "soros": 33248, + "sorren": 44012, + "sorrow": 28020, + "sorrows": 47924, + "sorry": 25745, + "sorry": 3675, + "sorrynotsorry": 37105, + "sort": 8450, + "sorta": 34700, + "sorted": 13221, + "sorting": 19198, + "sorts": 12577, + "sory": 16257, + "sos": 25145, + "sos": 5792, + "sosa": 45433, + "sosfam": 47709, + "sot": 41542, + "sot": 34116, + "sothe": 32145, + "sotho": 45496, + "soto": 27947, + "sotto": 26047, + "sotu": 32286, + "sou": 1101, + "sou": 24293, + "sought": 18874, + "soul": 8701, + "soul": 3755, + "soulful": 30196, + "soulmate": 38130, + "souls": 10951, + "soun": 19474, + "sound": 5236, + "sound": 3608, + "soundcheck": 31394, + "soundcloud": 15190, + "sounded": 28287, + "sounders": 44933, + "sounding": 21351, + "sounds": 5694, + "soundtrack": 11389, + "soup": 7077, + "soups": 45052, + "sour": 2235, + "sour": 12049, + "source": 23698, + "source": 3634, + "sourced": 23340, + "sources": 5124, + "sourcing": 19574, + "sourdough": 29921, + "souri": 11674, + "sous": 32093, + "sousa": 46296, + "sout": 38156, + "sout": 32732, + "south": 2938, + "south": 2045, + "southafrica": 15184, + "southampton": 15767, + "southbank": 44173, + "southbound": 22932, + "southeast": 13942, + "southeastern": 26813, + "southend": 25583, + "souther": 33330, + "southern": 17704, + "southern": 5036, + "southgate": 47262, + "southkorea": 43552, + "southport": 37446, + "southside": 36436, + "southsudan": 30419, + "southwark": 39098, + "southwe": 46443, + "southwest": 13320, + "southwestern": 30157, + "souven": 20210, + "souvenir": 24811, + "souvenirs": 48460, + "souza": 29424, + "sov": 29737, + "sover": 31876, + "sovere": 17736, + "sovereign": 29418, + "sovereign": 26337, + "sovereignty": 31701, + "soviet": 14274, + "sow": 33089, + "sowe": 36130, + "soweto": 47070, + "sown": 49369, + "sox": 39556, + "sox": 8657, + "soy": 16524, + "soy": 15010, + "soybean": 34606, + "soybeans": 40840, + "soyu": 39578, + "soyuz": 43842, + "sp": 588, + "sp": 4393, + "spa": 7852, + "spa": 6692, + "spac": 10336, + "space": 7857, + "space": 2138, + "spacecraft": 25940, + "spaces": 9006, + "spaceship": 34317, + "spacex": 22511, + "spacey": 48770, + "spacious": 24769, + "spad": 45362, + "spade": 32562, + "spades": 48368, + "spaghetti": 18440, + "spain": 5083, + "spal": 26018, + "spam": 29712, + "spam": 14624, + "span": 4270, + "span": 14537, + "spandex": 41686, + "spani": 16721, + "spaniel": 35435, + "spanish": 29966, + "spanish": 6013, + "spann": 25323, + "spanning": 38638, + "spans": 45407, + "spaper": 34548, + "spar": 3378, + "spar": 34576, + "spare": 12615, + "spares": 39505, + "spark": 9555, + "spark": 11047, + "sparked": 32647, + "sparkle": 18287, + "sparkles": 36410, + "sparkling": 17893, + "sparkly": 30542, + "sparks": 15046, + "sparky": 47198, + "sparring": 42161, + "sparrow": 22888, + "spart": 10143, + "sparta": 38401, + "spartan": 26582, + "spartan": 24225, + "spartans": 20457, + "sparty": 36477, + "spas": 31714, + "spati": 19200, + "spatial": 22022, + "spaw": 31605, + "spawn": 29166, + "spay": 40634, + "spc": 20492, + "spca": 37018, + "spd": 37717, + "spd": 28307, + "spdwy": 45981, + "spe": 876, + "spe": 36676, + "speak": 20599, + "speak": 4208, + "speake": 46077, + "speaker": 25764, + "speaker": 4914, + "speakers": 7675, + "speaking": 3714, + "speaks": 5661, + "spear": 23277, + "spear": 30420, + "speare": 43859, + "spears": 20242, + "spec": 1711, + "spec": 18596, + "speci": 1969, + "special": 11422, + "special": 1689, + "specialist": 10630, + "specialists": 21719, + "speciality": 46904, + "specialized": 23265, + "specializes": 48533, + "specially": 4513, + "specials": 11983, + "specialty": 18262, + "species": 6330, + "specific": 10528, + "specifically": 17174, + "specification": 46394, + "specifications": 39705, + "specified": 48114, + "specimen": 30263, + "specimens": 42715, + "specs": 24093, + "spect": 3416, + "spectac": 7242, + "spectacle": 34342, + "spectacular": 8404, + "spectator": 32372, + "spectators": 39306, + "spective": 6633, + "spector": 48676, + "spectral": 45441, + "spectre": 35998, + "spectro": 27646, + "spectrum": 13532, + "specul": 19209, + "speculation": 30898, + "sped": 38813, + "spee": 4050, + "speech": 19556, + "speech": 4902, + "speeches": 25208, + "speechless": 23152, + "speed": 6860, + "speed": 4163, + "speeding": 27264, + "speeds": 22017, + "speedway": 11480, + "speedy": 21603, + "spel": 41887, + "spell": 22784, + "spell": 11230, + "spelled": 24339, + "spelling": 15614, + "spells": 25335, + "spelt": 38316, + "spen": 5087, + "spence": 33324, + "spencer": 27509, + "spencer": 10678, + "spend": 4664, + "spending": 5961, + "spends": 22508, + "spent": 4429, + "speople": 33035, + "sper": 8213, + "sper": 15313, + "sperm": 35781, + "sperson": 22687, + "spf": 34973, + "spg": 34623, + "sph": 28909, + "sph": 24684, + "sphe": 33691, + "spher": 18349, + "sphere": 6987, + "spheres": 37478, + "spheric": 21744, + "sphin": 39237, + "sphinx": 46487, + "spho": 20442, + "sphoto": 38594, + "sphy": 43808, + "spi": 3174, + "spi": 37080, + "spic": 17264, + "spice": 29761, + "spice": 10141, + "spiced": 24267, + "spicer": 37627, + "spices": 21194, + "spicy": 10915, + "spide": 36801, + "spider": 11963, + "spider": 7622, + "spiderman": 39808, + "spiderman": 18427, + "spiders": 23141, + "spidey": 41706, + "spie": 28573, + "spie": 28746, + "spied": 43998, + "spiegel": 45351, + "spiel": 28435, + "spiel": 37690, + "spielberg": 37569, + "spies": 25374, + "spieth": 43254, + "spike": 35306, + "spike": 15310, + "spiked": 47014, + "spikes": 29582, + "spil": 47765, + "spill": 43933, + "spill": 18006, + "spilled": 33206, + "spilling": 49006, + "spills": 35796, + "spin": 6288, + "spin": 9226, + "spinach": 14747, + "spinal": 23925, + "spine": 48221, + "spine": 19646, + "sping": 47113, + "spinner": 29924, + "spinning": 13987, + "spino": 40848, + "spinoff": 42513, + "spinrilla": 46064, + "spins": 27243, + "spion": 39604, + "spionage": 41838, + "spir": 3745, + "spiral": 19873, + "spiration": 38126, + "spire": 27439, + "spired": 40650, + "spires": 46938, + "spiri": 4024, + "spirit": 18224, + "spirit": 4071, + "spirited": 34701, + "spirits": 13192, + "spiritu": 7237, + "spiritual": 46076, + "spiritual": 9473, + "spirituality": 22165, + "spiro": 40085, + "spit": 18115, + "spit": 23177, + "spite": 26060, + "spitfire": 31126, + "spitting": 40721, + "spl": 2470, + "spl": 33052, + "spla": 4809, + "splac": 16059, + "splace": 38743, + "splash": 43641, + "splash": 11879, + "splat": 15733, + "splatoon": 22565, + "splay": 3169, + "splen": 18552, + "splend": 29861, + "splendid": 21016, + "splendor": 46262, + "splin": 38090, + "split": 25443, + "split": 9109, + "splits": 34897, + "splitting": 37210, + "splus": 40866, + "spn": 35467, + "spn": 19414, + "spnfamily": 38566, + "spo": 1261, + "spo": 21085, + "spock": 43918, + "spoil": 25600, + "spoiled": 21399, + "spoiler": 16512, + "spoilers": 18326, + "spoils": 42436, + "spoilt": 35358, + "spokane": 24528, + "spoke": 13890, + "spoke": 6518, + "spoken": 12979, + "spokesman": 31632, + "spokesperson": 26234, + "spol": 22476, + "spol": 8132, + "spoli": 34301, + "spolice": 37406, + "spon": 1715, + "spon": 48216, + "sponge": 22861, + "sponge": 24345, + "spongebob": 25089, + "spons": 5597, + "sponsor": 10424, + "sponsor": 7574, + "sponsored": 7197, + "sponsoring": 16181, + "sponsors": 11005, + "sponsorship": 17632, + "spontaneous": 32465, + "spoo": 11248, + "spooky": 15369, + "spool": 49152, + "spoon": 27001, + "spoon": 14024, + "spoons": 29661, + "spor": 1475, + "spor": 33746, + "sport": 4379, + "sport": 2364, + "sporting": 32620, + "sporting": 8944, + "sports": 6436, + "sports": 2054, + "sportsc": 40114, + "sportscar": 46931, + "sportscenter": 39157, + "sportsman": 39020, + "sportsmanship": 34858, + "sportsnet": 34144, + "sportswear": 39747, + "sporty": 33346, + "spot": 3223, + "spot": 3049, + "spotify": 7193, + "spotlight": 7901, + "spots": 7670, + "spotted": 4533, + "spotter": 30742, + "spotting": 15885, + "spouse": 24724, + "spout": 48993, + "spp": 47567, + "spr": 1536, + "spr": 19417, + "spra": 12966, + "spraw": 46590, + "spray": 37885, + "spray": 10449, + "sprayed": 40022, + "spraying": 39224, + "spre": 18740, + "spread": 20620, + "spread": 5284, + "spreading": 11821, + "spreads": 27579, + "spree": 21851, + "spri": 35498, + "spride": 26685, + "spring": 5166, + "spring": 2420, + "springbreak": 37753, + "springer": 30117, + "springfield": 16599, + "springs": 7308, + "springst": 32132, + "springsteen": 28367, + "springtime": 28285, + "springtraining": 49364, + "springwatch": 29239, + "sprink": 15817, + "sprinkle": 42897, + "sprinkler": 48754, + "sprinkles": 37326, + "sprint": 29248, + "sprint": 10751, + "sprinter": 36947, + "sprints": 36404, + "sprite": 32544, + "spro": 13902, + "spro": 37403, + "sproject": 37802, + "sproud": 37686, + "sprout": 35863, + "sprouts": 25756, + "spru": 17041, + "spruce": 23812, + "sprung": 32968, + "sps": 13869, + "spu": 23566, + "spun": 47922, + "spun": 32852, + "spur": 15206, + "spur": 20361, + "spurs": 10916, + "spursofficial": 45290, + "sput": 47521, + "spx": 20584, + "spy": 13861, + "spy": 6656, + "spyder": 39952, + "spying": 36227, + "sq": 9370, + "sq": 11590, + "sqft": 41912, + "sql": 42759, + "sql": 18938, + "sqm": 47978, + "sqn": 41209, + "squ": 1653, + "squad": 13892, + "squad": 4234, + "squadron": 18579, + "squads": 36590, + "square": 19314, + "square": 3999, + "squared": 32967, + "squares": 26972, + "squash": 13312, + "squat": 44628, + "squat": 30680, + "squats": 40213, + "sque": 9721, + "sque": 8097, + "squee": 14420, + "squeeze": 21684, + "squeezed": 40413, + "squid": 42057, + "squid": 22553, + "squir": 9683, + "squire": 48090, + "squirrel": 14004, + "squirrels": 26623, + "squish": 42607, + "squishy": 47001, + "sr": 3437, + "sr": 5428, + "srbachchan": 32353, + "src": 23445, + "sre": 17748, + "sri": 11051, + "sri": 9276, + "sridevi": 46301, + "srilan": 15559, + "srilanka": 16922, + "srin": 26818, + "srinagar": 33671, + "srini": 41899, + "sriracha": 42743, + "sris": 27851, + "srisri": 32966, + "srk": 44982, + "srk": 11216, + "srl": 33808, + "srp": 43004, + "srs": 41764, + "srsly": 44179, + "srt": 28139, + "sru": 44152, + "srugby": 40526, + "ss": 690, + "ss": 632, + "ssa": 6088, + "ssal": 31330, + "ssal": 35936, + "ssb": 37511, + "ssc": 21692, + "ssc": 20364, + "ssd": 23107, + "sse": 9030, + "sse": 8938, + "ssed": 38755, + "ssed": 1804, + "ssel": 17402, + "ssel": 19373, + "sseldorf": 47792, + "ssell": 42388, + "ssels": 8355, + "ssen": 39408, + "ssen": 22645, + "sser": 20445, + "sses": 1802, + "ssett": 44103, + "ssf": 33239, + "ssg": 40707, + "ssh": 48866, + "ssi": 834, + "ssi": 14953, + "ssia": 22238, + "ssian": 31218, + "ssible": 47099, + "ssic": 27774, + "ssic": 17077, + "ssie": 7572, + "ssier": 26422, + "ssil": 15026, + "ssin": 42660, + "ssing": 2112, + "ssion": 16050, + "ssion": 1627, + "ssional": 13727, + "ssionism": 24787, + "ssionist": 27682, + "ssions": 4137, + "ssive": 2734, + "ssively": 28060, + "ssl": 32195, + "ssler": 30287, + "ssly": 24904, + "ssn": 39116, + "ssnhq": 47998, + "sso": 25900, + "sso": 7914, + "ssoccer": 32546, + "sson": 36124, + "sson": 7271, + "ssor": 35152, + "ssp": 31101, + "ssr": 39880, + "sss": 11176, + "ssss": 30676, + "ssss": 15880, + "sssss": 24298, + "sst": 40396, + "ssu": 35351, + "ssummit": 49301, + "ssus": 31286, + "ssw": 36937, + "ssy": 22519, + "ssy": 8661, + "st": 522, + "st": 545, + "sta": 1363, + "sta": 2745, + "stab": 7726, + "stab": 29974, + "stabbed": 24534, + "stabbing": 25474, + "stabil": 42576, + "stabili": 23903, + "stability": 16716, + "stable": 44427, + "stable": 10492, + "stables": 34218, + "stac": 10175, + "stacey": 41653, + "stacey": 24262, + "stache": 23616, + "stack": 24723, + "stack": 11257, + "stacked": 24990, + "stacking": 39836, + "stacks": 24734, + "stacy": 26628, + "stad": 15832, + "stad": 16485, + "stade": 38198, + "stadi": 26587, + "stadion": 48815, + "stadium": 3390, + "stadiums": 38852, + "stadt": 22713, + "staf": 2367, + "staff": 31188, + "staff": 2813, + "staffer": 38494, + "staffers": 44994, + "staffing": 32932, + "stafford": 25006, + "staffordshire": 29198, + "staffs": 36098, + "stag": 12088, + "stag": 20277, + "stage": 23182, + "stage": 2170, + "staged": 19906, + "stages": 12297, + "staggering": 37315, + "staging": 27026, + "stagram": 19503, + "stags": 45936, + "stain": 3933, + "stain": 14603, + "stained": 13751, + "staining": 32523, + "stainless": 12320, + "stains": 32008, + "stair": 7240, + "stair": 17662, + "staircase": 22777, + "stairs": 9577, + "stairway": 45559, + "stak": 39144, + "stake": 15955, + "stake": 7937, + "stakeholder": 39122, + "stakeholders": 22968, + "stakes": 7519, + "staking": 47082, + "stal": 3861, + "stal": 5535, + "stale": 42471, + "stalert": 25450, + "stalin": 28346, + "stalk": 40826, + "stalk": 14878, + "stalker": 26777, + "stalking": 24721, + "stalks": 45886, + "stall": 24636, + "stall": 12058, + "stalled": 40362, + "stallion": 28273, + "stallions": 44787, + "stallone": 40969, + "stalls": 25427, + "stam": 4663, + "stamatic": 30904, + "stamford": 27843, + "stamina": 48753, + "stamp": 28694, + "stamp": 12771, + "stampcollecting": 42852, + "stamped": 38356, + "stampede": 25384, + "stamps": 13827, + "stan": 2203, + "stan": 2434, + "stana": 33311, + "stanbul": 11231, + "stance": 48900, + "stance": 3542, + "stances": 15054, + "stand": 1819, + "stand": 2087, + "standalone": 44887, + "standard": 35780, + "standard": 5807, + "standardi": 30247, + "standards": 9022, + "standby": 36184, + "standing": 39934, + "standing": 2862, + "standings": 19835, + "standoff": 31821, + "standout": 23131, + "standre": 48309, + "stands": 6446, + "standup": 35108, + "standup": 24964, + "standwith": 19540, + "stanford": 36219, + "stanford": 15087, + "stang": 12536, + "stani": 38228, + "stanis": 37711, + "stanley": 19048, + "stanley": 10079, + "stanleycup": 28662, + "stans": 26564, + "stant": 41576, + "stant": 4906, + "stanton": 25400, + "stap": 10438, + "staple": 22695, + "staples": 23646, + "stapleton": 45228, + "star": 993, + "star": 1565, + "starbuck": 48519, + "starbucks": 9499, + "starch": 47837, + "starcraft": 48871, + "stardom": 44616, + "stardust": 34337, + "stare": 18094, + "stared": 47772, + "stares": 37916, + "starfish": 44283, + "stargate": 41099, + "stargazing": 49328, + "staring": 13800, + "stark": 40446, + "stark": 15353, + "starlight": 32197, + "starling": 46205, + "starmagic": 48023, + "starplus": 37815, + "starr": 19186, + "starred": 24180, + "starrer": 41311, + "starring": 6660, + "starry": 30963, + "stars": 2895, + "starship": 37166, + "start": 17466, + "start": 1572, + "started": 2760, + "starter": 7800, + "starters": 22222, + "starting": 2530, + "startrek": 30642, + "startrek": 15349, + "starts": 3105, + "startu": 6996, + "startup": 18049, + "startup": 5882, + "startups": 9056, + "starve": 46957, + "starving": 30473, + "starwar": 17287, + "starwars": 26239, + "starwars": 7887, + "starz": 25928, + "stas": 19866, + "stash": 27711, + "stasy": 45942, + "stat": 3004, + "stat": 15216, + "state": 3492, + "state": 1295, + "statec": 33931, + "stated": 19629, + "statedept": 41458, + "statefair": 40305, + "statement": 5401, + "statements": 19513, + "staten": 38263, + "stateof": 35195, + "states": 22125, + "states": 4218, + "statesman": 35301, + "stateu": 44248, + "statewide": 29561, + "stati": 9622, + "static": 16363, + "stating": 35147, + "station": 13498, + "station": 2631, + "stationary": 29493, + "stationed": 47618, + "stationery": 33851, + "stations": 10051, + "statistical": 29349, + "statistics": 14165, + "stats": 7294, + "statu": 32481, + "statue": 8222, + "statues": 24363, + "status": 6414, + "stau": 28550, + "staur": 3709, + "stav": 20285, + "stax": 32235, + "stay": 4714, + "stay": 2277, + "stayed": 13805, + "staying": 8993, + "stays": 13311, + "staytuned": 39285, + "stc": 29859, + "std": 30477, + "ste": 795, + "ste": 2686, + "stea": 46614, + "stead": 16101, + "stead": 11031, + "steadily": 35049, + "steady": 12937, + "steak": 26955, + "steak": 8913, + "steakhouse": 35031, + "steaks": 30655, + "steal": 37070, + "steal": 10181, + "stealing": 14242, + "steals": 20224, + "stealth": 25327, + "steam": 10962, + "steam": 6972, + "steamboat": 41121, + "steamed": 29007, + "steamer": 49075, + "steaming": 43746, + "steampunk": 24130, + "steamy": 43104, + "stec": 46713, + "stech": 48949, + "stech": 32455, + "sted": 20426, + "sted": 1356, + "stee": 31793, + "steed": 48293, + "steel": 6938, + "steel": 4726, + "steele": 19460, + "steelers": 14430, + "steen": 42851, + "steen": 18625, + "steep": 28648, + "steep": 20714, + "steer": 27612, + "steering": 19833, + "stef": 29158, + "stefan": 15004, + "stefan": 18829, + "stefani": 38319, + "stefano": 30719, + "steff": 30075, + "stein": 13653, + "stein": 5818, + "steiner": 36314, + "stel": 9102, + "stel": 10798, + "stell": 22355, + "stella": 46178, + "stella": 17869, + "stellar": 13810, + "stellen": 42754, + "stem": 24342, + "stem": 6761, + "stemc": 40486, + "stems": 31503, + "sten": 7652, + "sten": 7877, + "stencil": 47854, + "stennis": 45636, + "step": 15572, + "step": 3348, + "steph": 3522, + "steph": 16251, + "stephan": 37312, + "stephani": 48121, + "stephanie": 14361, + "stephen": 10421, + "stephen": 6078, + "stephenking": 46361, + "stephens": 22256, + "stephenson": 37280, + "stepped": 18384, + "stepping": 15906, + "steps": 5408, + "ster": 1022, + "ster": 881, + "stere": 9229, + "stered": 6935, + "stereo": 15992, + "stereo": 17400, + "stereotypes": 27890, + "steria": 38804, + "stering": 14175, + "sterling": 45790, + "sterling": 9378, + "stern": 36254, + "stern": 2945, + "steroids": 37670, + "sterone": 39418, + "sters": 2132, + "stery": 24232, + "stest": 8556, + "stev": 11640, + "steve": 7412, + "steve": 3803, + "steven": 10973, + "steven": 8016, + "stevens": 13877, + "stevenson": 25091, + "stevie": 42104, + "stevie": 18969, + "stew": 17906, + "stewar": 28453, + "steward": 34980, + "steward": 43355, + "stewards": 49294, + "stewardship": 36720, + "stewart": 8120, + "stfu": 47000, + "stg": 48387, + "stgeorge": 43698, + "sth": 13456, + "sth": 34004, + "sthe": 16491, + "sthel": 42863, + "sti": 860, + "sti": 12439, + "stia": 26492, + "stible": 25835, + "stic": 5868, + "stic": 1561, + "stical": 16660, + "stically": 19041, + "stick": 5483, + "stick": 4987, + "sticker": 11270, + "stickers": 11613, + "sticking": 21021, + "sticks": 10016, + "sticky": 18887, + "stics": 5449, + "stie": 38164, + "stie": 11000, + "stier": 42069, + "sties": 16428, + "stiff": 43471, + "stiff": 21441, + "stig": 4088, + "stig": 42551, + "stigate": 15390, + "stigma": 20619, + "stik": 42247, + "stil": 21790, + "stil": 37519, + "stiles": 33028, + "still": 13209, + "still": 1170, + "stills": 20259, + "stim": 18269, + "stime": 24711, + "stimul": 16434, + "stimulate": 42380, + "stimulating": 41237, + "stimulation": 39530, + "stimulus": 47283, + "stin": 2588, + "stin": 4025, + "stina": 22359, + "stine": 7098, + "sting": 19868, + "sting": 1271, + "stingly": 49332, + "stingray": 43229, + "stink": 38213, + "stinky": 44957, + "stino": 40658, + "stint": 33531, + "stion": 10812, + "stip": 39869, + "stips": 44756, + "stique": 43305, + "stir": 12416, + "stir": 19564, + "stirling": 23128, + "stirring": 39205, + "stis": 45224, + "stit": 14110, + "stitch": 30003, + "stitch": 14771, + "stitched": 36540, + "stitcher": 48204, + "stitches": 32360, + "stitching": 45208, + "stitu": 14585, + "stitutes": 40479, + "stive": 22426, + "stix": 48829, + "stjohn": 36153, + "stl": 14179, + "stl": 12527, + "stlblues": 44138, + "stlcards": 28644, + "stle": 7698, + "stles": 48638, + "stlouis": 40358, + "stlouis": 39516, + "stm": 28333, + "stn": 27175, + "sto": 928, + "sto": 5723, + "stock": 5899, + "stock": 3206, + "stocked": 23552, + "stockholm": 16024, + "stocki": 42944, + "stocking": 17335, + "stockings": 28040, + "stockmarket": 40359, + "stockport": 35569, + "stocks": 9321, + "stockton": 26130, + "stoday": 22392, + "stok": 43782, + "stoke": 31338, + "stoke": 13550, + "stoked": 13160, + "stokes": 27512, + "stol": 11401, + "stol": 6700, + "stole": 10995, + "stolen": 8704, + "stolic": 45020, + "stom": 2343, + "stom": 38068, + "stoma": 43545, + "stomach": 14722, + "stomp": 40165, + "stomping": 46144, + "ston": 4101, + "ston": 1839, + "stone": 7694, + "stone": 2441, + "stoned": 36248, + "stonehenge": 42417, + "stoner": 35131, + "stoner": 29115, + "stones": 42659, + "stones": 6885, + "stonewall": 39688, + "stoney": 44198, + "stony": 41717, + "stony": 35691, + "stoo": 24505, + "stood": 9151, + "stool": 34413, + "stool": 22314, + "stop": 6005, + "stop": 1691, + "stopbrexit": 48680, + "stopp": 15738, + "stopped": 6015, + "stopper": 32147, + "stoppers": 34457, + "stopping": 10735, + "stops": 9822, + "stopthe": 26463, + "stor": 809, + "stor": 17740, + "storage": 6824, + "store": 17769, + "store": 2183, + "stored": 28257, + "stores": 6370, + "storey": 24025, + "storians": 34628, + "stories": 3784, + "storing": 40087, + "stork": 46452, + "storm": 7434, + "storm": 2819, + "stormed": 45939, + "stormhour": 12161, + "storming": 24842, + "storms": 6464, + "stormtrooper": 49218, + "stormy": 20075, + "stors": 7178, + "story": 6512, + "story": 1134, + "storyline": 37079, + "storymonth": 23717, + "storyteller": 35882, + "storytelling": 14457, + "storytime": 44197, + "stos": 19281, + "stou": 37168, + "stour": 37361, + "stour": 21928, + "stout": 16550, + "stove": 21423, + "stow": 44284, + "stow": 17046, + "stowe": 34196, + "stown": 28071, + "stown": 7939, + "stp": 30576, + "stpatrick": 21343, + "stpatricksday": 22747, + "str": 807, + "str": 15913, + "stra": 1894, + "stra": 6253, + "strack": 46861, + "strada": 31134, + "strade": 48968, + "straigh": 31016, + "straight": 22114, + "straight": 4241, + "strain": 16887, + "strains": 38067, + "strait": 22946, + "straits": 41984, + "stral": 23289, + "stralia": 42510, + "stran": 18411, + "strand": 18214, + "strand": 17826, + "stranded": 22975, + "strang": 11138, + "strange": 33380, + "strange": 7288, + "strangely": 37566, + "stranger": 35541, + "stranger": 14149, + "strangers": 20684, + "strangerthings": 43271, + "strangest": 46740, + "strap": 13946, + "strapped": 40922, + "straps": 31213, + "stras": 36814, + "stras": 42125, + "strasbourg": 39576, + "strat": 11345, + "strat": 32925, + "strata": 47278, + "strate": 3532, + "strate": 28758, + "strategi": 49102, + "strategic": 10246, + "strategically": 45706, + "strategies": 9942, + "strategist": 37180, + "strategy": 5637, + "strates": 45724, + "stratford": 23955, + "strath": 21997, + "stration": 3156, + "strato": 28878, + "strauss": 32033, + "strava": 34625, + "stravel": 43494, + "straw": 7430, + "straw": 16438, + "strawberries": 17796, + "strawberry": 10233, + "straws": 33048, + "stray": 30784, + "stray": 15712, + "stre": 1079, + "stre": 19652, + "stread": 27797, + "streak": 11749, + "streaks": 42092, + "stream": 8659, + "stream": 3322, + "streamed": 26280, + "streamer": 25178, + "streamers": 19937, + "streaming": 6278, + "streamline": 44917, + "streams": 13545, + "stree": 35082, + "stree": 32438, + "streep": 38701, + "street": 4839, + "street": 2012, + "streetart": 12948, + "streetcar": 34268, + "streetfood": 44486, + "streetphotography": 20786, + "streets": 6058, + "streetstyle": 39118, + "streetwear": 37298, + "strel": 39685, + "stren": 4349, + "streng": 4472, + "strength": 15475, + "strength": 5959, + "strengthen": 16318, + "strengthened": 47131, + "strengthening": 23475, + "strengthens": 40280, + "strengths": 29268, + "stress": 17297, + "stress": 5843, + "stressed": 16497, + "stresses": 32112, + "stressful": 24268, + "stressing": 35917, + "stret": 12265, + "stretch": 10064, + "stretched": 29393, + "stretches": 32231, + "stretching": 24423, + "stri": 1493, + "stri": 27795, + "stria": 39620, + "strial": 30217, + "strian": 12924, + "stric": 2607, + "strick": 25181, + "strickland": 48939, + "strict": 21585, + "strictly": 16475, + "stride": 36024, + "strides": 37355, + "stries": 18171, + "strife": 46473, + "strike": 20774, + "strike": 5767, + "striker": 12448, + "strikers": 33465, + "strikes": 9280, + "striking": 13392, + "string": 25512, + "string": 9696, + "strings": 15699, + "strip": 9317, + "stripe": 19368, + "striped": 22192, + "stripes": 14239, + "stripped": 26602, + "stripper": 45759, + "stripping": 48588, + "strips": 19000, + "strive": 22140, + "striving": 37671, + "stro": 3121, + "stro": 6186, + "stroke": 44621, + "stroke": 10403, + "strokes": 26595, + "strol": 30123, + "stroll": 15924, + "stroller": 47076, + "strolling": 40911, + "strom": 14707, + "stron": 4165, + "strong": 10436, + "strong": 2389, + "stronger": 27760, + "stronger": 9245, + "strongertogether": 38532, + "strongest": 16171, + "strongh": 38678, + "strongly": 15507, + "strophy": 47912, + "strou": 48425, + "stroud": 39895, + "strous": 23752, + "stru": 1666, + "struc": 3311, + "struck": 10861, + "struction": 12497, + "structural": 16899, + "structure": 5285, + "structured": 27147, + "structures": 14171, + "structuring": 37496, + "strugg": 5176, + "struggle": 8443, + "struggled": 32921, + "struggles": 17446, + "struggling": 12135, + "struly": 34118, + "strum": 37632, + "strung": 46033, + "strust": 23920, + "strut": 48375, + "stry": 17325, + "stry": 2245, + "sts": 1088, + "stu": 858, + "stu": 23531, + "stuart": 32054, + "stuart": 11723, + "stub": 27066, + "stubborn": 38955, + "stuck": 6596, + "stud": 22368, + "stud": 13319, + "studded": 29153, + "studen": 44156, + "student": 14681, + "student": 2556, + "students": 1712, + "studi": 5691, + "studied": 21369, + "studies": 6426, + "studio": 17798, + "studio": 3155, + "studios": 6231, + "studs": 27571, + "study": 21051, + "study": 3123, + "studyabroad": 45425, + "studying": 8826, + "stuff": 46072, + "stuff": 3487, + "stuffed": 11781, + "stuffing": 31612, + "stuffs": 43455, + "stuk": 32424, + "stumb": 16784, + "stumble": 39045, + "stumbled": 21776, + "stump": 32064, + "stun": 3088, + "stun": 37959, + "stunned": 34034, + "stunner": 29965, + "stunning": 3769, + "stunningly": 47515, + "stuns": 43796, + "stunt": 19905, + "stunts": 40118, + "stupi": 18975, + "stupid": 42600, + "stupid": 8085, + "stupidity": 33766, + "stur": 10676, + "sturdy": 43780, + "stures": 27223, + "sturgeon": 31580, + "sturi": 21747, + "sturridge": 45331, + "stutt": 30444, + "stuttgart": 32219, + "stv": 27060, + "stv": 9708, + "stweet": 46832, + "stweets": 39174, + "stx": 42548, + "sty": 1421, + "sty": 2920, + "style": 12356, + "style": 1844, + "styled": 17974, + "styles": 6948, + "styli": 38577, + "styling": 14597, + "stylish": 10378, + "stylist": 15928, + "styn": 41394, + "su": 605, + "su": 2937, + "sua": 42448, + "suarez": 21437, + "suave": 47305, + "sub": 1783, + "sub": 7765, + "subaru": 21319, + "subjec": 16090, + "subject": 10300, + "subjects": 22099, + "subli": 16350, + "sublime": 22367, + "submarine": 19968, + "submer": 27156, + "submerged": 43171, + "submission": 16571, + "submissions": 21566, + "submit": 10423, + "submitted": 15189, + "submitting": 38788, + "subram": 49207, + "subs": 16398, + "subscri": 5838, + "subscribe": 9839, + "subscribed": 44867, + "subscriber": 36292, + "subscribers": 17337, + "subscription": 17979, + "subscriptions": 47162, + "subsequ": 33598, + "subsequent": 44323, + "subsi": 14856, + "subsidi": 45029, + "subsidiary": 45506, + "subsidies": 37685, + "subsidy": 47462, + "substan": 17487, + "substance": 19309, + "substances": 36834, + "substantial": 27171, + "substantially": 47577, + "substitu": 18529, + "substitute": 25340, + "subtitles": 39479, + "subtle": 16536, + "subur": 12517, + "suburb": 37664, + "suburban": 23570, + "suburbs": 25317, + "subway": 12196, + "suc": 1869, + "succe": 7981, + "succeed": 13556, + "succeeded": 41077, + "succes": 39019, + "success": 3695, + "success": 3034, + "successes": 29436, + "successful": 4670, + "successfully": 9934, + "succession": 38491, + "successive": 41319, + "successor": 34774, + "succu": 45253, + "succul": 25671, + "succulent": 35236, + "such": 2046, + "suction": 42786, + "sud": 8067, + "sud": 33714, + "sudan": 31149, + "sudan": 13474, + "sudanese": 42837, + "sudbury": 32488, + "sudden": 10833, + "sudden": 15433, + "suddenly": 11076, + "sue": 14045, + "sue": 6641, + "sued": 22225, + "suede": 21036, + "sues": 17105, + "suf": 21204, + "suf": 22579, + "sufc": 37091, + "suff": 4866, + "suffe": 13510, + "suffer": 13557, + "suffered": 14766, + "suffering": 10140, + "suffers": 22389, + "sufficient": 28410, + "suffol": 13775, + "suffolk": 46408, + "suffolk": 15685, + "suffra": 34596, + "suffrage": 39567, + "sufi": 39756, + "sug": 3189, + "suga": 28757, + "sugar": 12418, + "sugar": 5574, + "sugge": 6345, + "suggest": 13356, + "suggested": 18790, + "suggesti": 15033, + "suggesting": 29792, + "suggestion": 23741, + "suggestions": 16052, + "suggests": 13333, + "suho": 32744, + "sui": 24972, + "suici": 16372, + "suicidal": 37165, + "suicide": 31310, + "suicide": 8247, + "suing": 18309, + "suisse": 35964, + "suit": 11887, + "suit": 3940, + "suitable": 17476, + "suitcase": 27792, + "suite": 9346, + "suited": 25919, + "suites": 21523, + "suits": 9949, + "suk": 24820, + "suk": 6886, + "suka": 44017, + "suke": 25590, + "sukh": 46961, + "suki": 32704, + "sul": 1767, + "sul": 19879, + "sula": 34713, + "sula": 26143, + "sullivan": 14477, + "sully": 37752, + "sulph": 37234, + "sulphur": 47659, + "sultan": 35650, + "sultan": 17049, + "sum": 7054, + "sum": 8257, + "suma": 47938, + "sumat": 32640, + "sumatra": 47346, + "sume": 45457, + "sumi": 41248, + "summ": 1309, + "summar": 34657, + "summari": 31993, + "summary": 13435, + "summed": 34912, + "summer": 5500, + "summer": 1673, + "summers": 18254, + "summerslam": 40264, + "summertime": 19025, + "summit": 30011, + "summit": 3768, + "summon": 27622, + "summon": 39782, + "sumner": 46813, + "sumo": 33734, + "sump": 34252, + "sumptuous": 47354, + "sums": 13325, + "sun": 968, + "sun": 2176, + "sunbathing": 46994, + "sunburn": 45767, + "sund": 40735, + "sundae": 38078, + "sundance": 24128, + "sundar": 44936, + "sunday": 6649, + "sunday": 1706, + "sundayfunday": 21565, + "sundaymorning": 24809, + "sundaymotivation": 46227, + "sundays": 15827, + "sundaywith": 26469, + "sundaywithmarsha": 26662, + "sunder": 15097, + "sunderland": 45727, + "sunderland": 18851, + "sundown": 44438, + "sune": 41096, + "sunflower": 21559, + "sunflowers": 39809, + "sung": 16903, + "sung": 6047, + "sunglasses": 12906, + "suni": 17663, + "suni": 47010, + "sunil": 32861, + "sunite": 21382, + "sunited": 35276, + "sunk": 37534, + "sunken": 43473, + "sunlight": 17996, + "sunni": 44315, + "sunny": 15632, + "sunny": 5438, + "sunrise": 5610, + "suns": 18322, + "sunscreen": 29355, + "sunset": 37880, + "sunset": 3424, + "sunsets": 17721, + "sunshine": 32761, + "sunshine": 5385, + "suny": 41308, + "sup": 19078, + "sup": 8249, + "supdates": 24177, + "super": 1642, + "super": 1994, + "superb": 8930, + "superbike": 45709, + "superbowl": 47461, + "superbowl": 16467, + "supercar": 27021, + "supercars": 32185, + "supercell": 43227, + "supercharged": 47479, + "supere": 46831, + "superfood": 41715, + "supergirl": 25771, + "superhero": 14049, + "superheroes": 23334, + "superint": 17615, + "superintendent": 19020, + "superior": 13205, + "superjunior": 40475, + "superleague": 45539, + "superman": 11237, + "supermarket": 19897, + "supermarkets": 45106, + "supermodel": 41963, + "supermoon": 36571, + "supernatural": 15484, + "supernova": 39843, + "superrugby": 48717, + "supersonic": 42019, + "supersport": 46319, + "superst": 38202, + "superstar": 32551, + "superstar": 10472, + "superstars": 25797, + "supervis": 12709, + "supervised": 41316, + "supervision": 36234, + "supervisor": 20366, + "supervisors": 37958, + "superyacht": 42714, + "supp": 1023, + "supper": 15727, + "supple": 31431, + "supplement": 19924, + "supplements": 21265, + "supplied": 24106, + "supplier": 18043, + "suppliers": 24196, + "supplies": 9384, + "supply": 25074, + "supply": 6389, + "supplychain": 31224, + "supplying": 32739, + "suppo": 6941, + "suppor": 2104, + "support": 12062, + "support": 1425, + "supported": 8038, + "supporter": 12992, + "supporters": 7403, + "supportindiefilm": 43976, + "supporting": 3976, + "supportive": 18313, + "supportlocal": 43852, + "supports": 8336, + "supportsmall": 30941, + "supportsmallstreamers": 36097, + "suppose": 18924, + "supposed": 9119, + "supposedly": 32302, + "suppre": 20542, + "suppression": 36508, + "supra": 48485, + "supre": 5875, + "supremac": 28643, + "supremacist": 39005, + "supremacy": 28913, + "supreme": 35222, + "supreme": 7468, + "supt": 23625, + "sur": 1090, + "sur": 7123, + "sura": 33412, + "sura": 49125, + "surabaya": 45227, + "surance": 22184, + "surat": 30201, + "sure": 14320, + "sure": 1650, + "sured": 36869, + "surely": 11409, + "sures": 12725, + "suresh": 32118, + "suresh": 31464, + "sureshpp": 41924, + "sureshpprabhu": 42050, + "surf": 10176, + "surf": 10322, + "surface": 7744, + "surfaces": 20746, + "surfer": 24925, + "surfers": 34842, + "surfing": 15762, + "surg": 13045, + "surge": 17457, + "surgeon": 16039, + "surgeons": 26000, + "surger": 5122, + "surgeries": 34940, + "surgery": 5344, + "surgical": 16386, + "suri": 14130, + "suri": 33952, + "suring": 16817, + "suriya": 17832, + "surpass": 45494, + "surpassed": 25648, + "surplus": 29413, + "surpri": 3244, + "surprise": 5099, + "surprised": 8949, + "surprises": 16920, + "surprising": 14964, + "surprisingly": 17367, + "surreal": 18408, + "surrealism": 41773, + "surrender": 20964, + "surrendered": 44601, + "surrey": 26489, + "surrey": 14315, + "surro": 47499, + "surroun": 8250, + "surround": 26543, + "surround": 22999, + "surrounded": 13589, + "surrounding": 12544, + "surroundings": 26915, + "surrounds": 39012, + "suru": 49240, + "surve": 8952, + "surveill": 15408, + "surveillance": 15578, + "survey": 45914, + "survey": 6809, + "surveying": 33085, + "surveys": 25096, + "survi": 3440, + "surviv": 12922, + "survival": 10172, + "survive": 10431, + "survived": 13483, + "survives": 30927, + "surviving": 18609, + "survivor": 31934, + "survivor": 10944, + "survivors": 13711, + "surya": 37767, + "sus": 8091, + "sus": 3036, + "susa": 20546, + "susan": 19922, + "susan": 10168, + "suscep": 44270, + "sush": 22298, + "sushi": 11729, + "sushmaswar": 48200, + "susie": 32284, + "susp": 7971, + "suspec": 10298, + "suspect": 9065, + "suspected": 15579, + "suspects": 18265, + "suspen": 10578, + "suspend": 41007, + "suspended": 13126, + "suspends": 39535, + "suspense": 21556, + "suspension": 15417, + "suspici": 25714, + "suspicion": 34910, + "suspicious": 19862, + "sussex": 31244, + "sussex": 13266, + "sustain": 4644, + "sustain": 28156, + "sustainability": 9635, + "sustainable": 23645, + "sustainable": 7078, + "sustained": 22699, + "sustaining": 44418, + "sut": 23984, + "sut": 28956, + "sutherland": 27592, + "sutton": 39359, + "sutton": 18564, + "suv": 15985, + "suz": 9957, + "suzanne": 24617, + "suzu": 36289, + "suzuki": 16892, + "suzy": 26552, + "sv": 6508, + "sv": 17083, + "svc": 45065, + "sve": 47637, + "sven": 37786, + "sven": 45183, + "sver": 45923, + "sville": 44580, + "sville": 6741, + "svp": 28465, + "svt": 42014, + "svu": 32123, + "sw": 1220, + "sw": 4457, + "swa": 4707, + "swa": 31916, + "swach": 20862, + "swachhb": 31898, + "swachhbharat": 36927, + "swag": 8852, + "swag": 8177, + "swagg": 47702, + "swagger": 35797, + "swain": 43226, + "swal": 13433, + "swallow": 28979, + "swallowed": 46956, + "swallows": 45124, + "swam": 42539, + "swami": 25021, + "swamp": 41953, + "swamp": 16595, + "swamy": 28445, + "swan": 8215, + "swan": 12530, + "swana": 24699, + "swans": 19516, + "swansea": 16567, + "swanson": 34797, + "swap": 15234, + "swapped": 39077, + "swapping": 44702, + "swaps": 49242, + "swar": 11680, + "swarm": 31577, + "swarovski": 28515, + "swat": 32547, + "swat": 26482, + "swatch": 48053, + "sway": 26443, + "sway": 26617, + "swc": 42231, + "swe": 2350, + "swe": 38070, + "swear": 7406, + "swearing": 32627, + "sweat": 10282, + "sweat": 12663, + "sweater": 11455, + "sweaters": 31303, + "sweating": 33215, + "sweats": 39321, + "sweatshirt": 22442, + "sweaty": 28419, + "sweden": 8760, + "swedish": 11585, + "swee": 1812, + "sweek": 30017, + "sweeney": 27286, + "sweep": 23220, + "sweep": 13669, + "sweeping": 25719, + "sweeps": 26887, + "sweepstakes": 25992, + "sweet": 10957, + "sweet": 2418, + "sweetened": 45577, + "sweeter": 32873, + "sweetest": 15180, + "sweethe": 16316, + "sweetheart": 18079, + "sweetie": 24450, + "sweetness": 29713, + "sweets": 18045, + "swel": 48470, + "swell": 35538, + "swell": 21490, + "swelling": 46578, + "swept": 23311, + "swer": 30514, + "swfc": 30227, + "swfl": 46607, + "swi": 3881, + "swi": 45223, + "swick": 17159, + "swif": 28548, + "swift": 34843, + "swift": 8229, + "swild": 33909, + "swild": 38696, + "swildlife": 46818, + "swim": 4928, + "swim": 7681, + "swimmer": 25475, + "swimmers": 27776, + "swimming": 7411, + "swims": 46798, + "swimsuit": 25504, + "swimwear": 31889, + "swin": 14554, + "swin": 40798, + "swindon": 29540, + "swine": 31166, + "swing": 25292, + "swing": 7429, + "swinging": 26760, + "swings": 29141, + "swipe": 31828, + "swire": 42753, + "swirl": 35795, + "swis": 23611, + "swish": 38571, + "swiss": 37917, + "swiss": 9287, + "swit": 3726, + "switch": 22480, + "switch": 5893, + "switched": 22869, + "switches": 33569, + "switching": 21155, + "swith": 17299, + "switzer": 9835, + "switzerland": 9912, + "swivel": 48256, + "swo": 38673, + "swol": 29575, + "swollen": 36129, + "swoo": 29744, + "swood": 24158, + "swoon": 37028, + "swoop": 45661, + "sword": 33294, + "sword": 11356, + "swords": 27181, + "swork": 42722, + "sworld": 33305, + "sworn": 21130, + "sworth": 13322, + "swt": 38878, + "swx": 20597, + "sx": 9402, + "sx": 17806, + "sxsw": 13369, + "sy": 974, + "sy": 2126, + "sya": 35017, + "sycam": 34911, + "sycamore": 43086, + "syd": 4525, + "syd": 22504, + "sydney": 15878, + "sydney": 5278, + "syed": 27624, + "syfy": 32047, + "sykes": 27287, + "syl": 6452, + "sylla": 41708, + "sylvania": 12011, + "sylve": 28369, + "sylvester": 37214, + "sylvia": 25670, + "sym": 3645, + "sym": 40327, + "symb": 22987, + "symbol": 13085, + "symboli": 22019, + "symbolic": 33177, + "symbolism": 44679, + "symbols": 25476, + "symmetry": 31427, + "symp": 11468, + "sympathi": 47493, + "sympathy": 32477, + "symph": 9544, + "symphonic": 42639, + "symphony": 11180, + "sympo": 9730, + "symposium": 9971, + "symptom": 47799, + "symptoms": 12956, + "syn": 3758, + "syn": 36090, + "synago": 30945, + "synagogue": 33518, + "sync": 20081, + "synchron": 23943, + "syndic": 21098, + "syndicate": 28779, + "syndrome": 10927, + "syner": 22283, + "synergy": 32012, + "syno": 31533, + "synod": 47712, + "synopsis": 47018, + "synth": 33841, + "synth": 24462, + "synthe": 22604, + "synthesi": 33565, + "synthesis": 21602, + "synthesizer": 44077, + "synthetic": 19917, + "syou": 26742, + "syour": 21718, + "syrac": 17279, + "syracuse": 19640, + "syrah": 45364, + "syri": 18917, + "syria": 5563, + "syrian": 47562, + "syrian": 10041, + "syrians": 41392, + "syrup": 16611, + "sys": 26726, + "syste": 1933, + "system": 47813, + "system": 2422, + "systematic": 28586, + "systemic": 33807, + "systems": 4828, + "sz": 13438, + "sz": 15879, + "sze": 44507, + "szn": 48092, + "são": 45911, + "sé": 37879, + "t": 83, + "t": 339, + "ta": 648, + "ta": 1397, + "taa": 43874, + "tab": 2648, + "tab": 14724, + "tabby": 36145, + "tabern": 48991, + "tability": 15770, + "table": 12108, + "table": 2175, + "tableau": 39723, + "tables": 7822, + "tablet": 12494, + "tabletop": 46843, + "tabletop": 25773, + "tablets": 20436, + "tably": 24440, + "taboo": 38400, + "tabs": 29163, + "tac": 3145, + "tac": 22653, + "tache": 39239, + "tack": 6339, + "tack": 34446, + "tackle": 10294, + "tackled": 47218, + "tackles": 18021, + "tackling": 19628, + "taco": 31924, + "taco": 12436, + "tacoma": 25397, + "tacos": 14090, + "tactic": 40377, + "tactical": 17137, + "tactics": 16410, + "tacular": 48985, + "tad": 15890, + "tad": 19860, + "tado": 40846, + "tae": 15257, + "tae": 15580, + "taehyung": 24642, + "taek": 30753, + "taekwondo": 39963, + "taemin": 30600, + "taeyang": 45802, + "taeyeon": 27389, + "taf": 29660, + "taft": 42141, + "tag": 3456, + "tag": 3640, + "tage": 2669, + "tages": 39902, + "tagged": 12969, + "tagging": 25138, + "tagne": 47467, + "tags": 11606, + "tah": 14822, + "tah": 7090, + "tahit": 45385, + "tahoe": 26140, + "tai": 6511, + "tai": 13040, + "taiji": 30185, + "tail": 7156, + "tail": 4132, + "tailed": 20626, + "tailgate": 23168, + "tailgating": 42625, + "tailo": 27230, + "tailor": 29870, + "tailored": 28275, + "tailoring": 46357, + "tails": 16066, + "tain": 2841, + "tain": 1908, + "taine": 21214, + "taine": 32299, + "tained": 10212, + "taining": 7565, + "tainment": 30063, + "tains": 3952, + "tainted": 47211, + "taipei": 24356, + "tair": 29143, + "tairp": 43707, + "tait": 45325, + "taiwan": 36319, + "taiwan": 12626, + "taiwanese": 41416, + "taj": 28937, + "taj": 24805, + "taji": 46358, + "tak": 15070, + "tak": 14458, + "taka": 24070, + "taka": 40968, + "take": 5052, + "take": 1172, + "takeaway": 25737, + "takeaways": 32080, + "takeme": 41748, + "taken": 2807, + "takeoff": 32789, + "takeover": 11863, + "taker": 17939, + "takers": 30775, + "takes": 2633, + "takin": 30890, + "taking": 2019, + "taku": 48168, + "tal": 976, + "tal": 2066, + "tala": 29845, + "talaga": 35349, + "talbot": 30585, + "tale": 33971, + "tale": 7798, + "talent": 30435, + "talent": 5114, + "talented": 5331, + "talents": 16136, + "tales": 9469, + "tali": 12122, + "tali": 45406, + "taliban": 20788, + "talis": 36480, + "tality": 15631, + "talk": 12462, + "talk": 1841, + "talked": 10153, + "talkin": 26040, + "talking": 31463, + "talking": 2578, + "talks": 3237, + "tall": 11664, + "tall": 7771, + "talla": 21528, + "tallade": 44220, + "tallahassee": 37832, + "taller": 23470, + "tallest": 19774, + "tallinn": 45079, + "tally": 16323, + "talon": 47897, + "tam": 2661, + "tam": 12246, + "tama": 45424, + "tamanna": 48055, + "tamar": 22901, + "tamara": 35697, + "tame": 38557, + "tame": 32778, + "tamed": 40575, + "tami": 39429, + "tamil": 23046, + "tamil": 14033, + "tamilnadu": 32371, + "tamine": 42566, + "tammy": 28396, + "tampa": 10906, + "tampab": 37852, + "tamu": 34105, + "tan": 2123, + "tan": 5039, + "tana": 21396, + "tand": 20244, + "tandem": 33756, + "tane": 13344, + "tane": 24923, + "taneous": 22275, + "taneously": 24422, + "tang": 10425, + "tang": 20794, + "tanger": 31844, + "tangerine": 42045, + "tangible": 44823, + "tangle": 36568, + "tangled": 33587, + "tango": 24089, + "tani": 31374, + "tani": 32985, + "tania": 45369, + "tank": 29858, + "tank": 6172, + "tanker": 25020, + "tanks": 14223, + "tann": 19174, + "tanner": 22001, + "tanning": 27985, + "tans": 27332, + "tant": 41383, + "tant": 41695, + "tante": 48262, + "tanto": 45685, + "tany": 34410, + "tanya": 26800, + "tanz": 47399, + "tanzania": 15711, + "tao": 29084, + "tao": 18923, + "tap": 17923, + "tap": 7888, + "tapas": 27361, + "tape": 18332, + "tape": 5749, + "taped": 33219, + "tapes": 17903, + "tapestry": 33525, + "taping": 24355, + "tapp": 27644, + "tapp": 27764, + "tapped": 26649, + "tapping": 27882, + "tapro": 34415, + "taproom": 40266, + "taps": 23267, + "tar": 2002, + "tar": 6977, + "tara": 15264, + "tarak": 37813, + "taran": 32370, + "tarantino": 41180, + "tarde": 48670, + "tardis": 35410, + "tares": 34587, + "targe": 9620, + "target": 38556, + "target": 5400, + "targeted": 14968, + "targeting": 15818, + "targets": 12468, + "tari": 4238, + "tari": 38012, + "tarian": 11762, + "tarians": 42789, + "taries": 47291, + "tariff": 40220, + "tariffs": 28335, + "tariq": 42526, + "tarmac": 44294, + "taro": 26264, + "tarot": 23702, + "tart": 16707, + "tart": 14120, + "tartan": 35064, + "tarts": 29799, + "tary": 31729, + "tary": 5065, + "tarzan": 45463, + "tas": 6538, + "tas": 10163, + "tash": 35272, + "tasha": 44967, + "task": 39189, + "task": 10549, + "tasks": 19453, + "tasmania": 22429, + "tasmanian": 45102, + "tassel": 49276, + "tast": 10839, + "taste": 14314, + "taste": 5219, + "tasted": 22827, + "tasteof": 38097, + "taster": 29743, + "tastes": 13736, + "tastic": 21337, + "tasting": 7656, + "tastings": 49273, + "tasty": 43390, + "tasty": 8568, + "tat": 2652, + "tat": 21592, + "tata": 19300, + "tate": 44476, + "tate": 13295, + "tath": 27566, + "tati": 31433, + "tatiana": 48837, + "tation": 5280, + "tations": 32324, + "tator": 18791, + "tators": 37206, + "tats": 44557, + "tatt": 9232, + "tatted": 41605, + "tattoo": 15980, + "tattoo": 6325, + "tattooed": 28541, + "tattoos": 14900, + "tatum": 26103, + "tau": 6620, + "tau": 20510, + "taught": 9306, + "taun": 23910, + "taunton": 40681, + "taurus": 32881, + "taver": 37776, + "tavern": 18644, + "taw": 33868, + "taw": 40289, + "tawa": 29035, + "tawards": 14351, + "tax": 4581, + "tax": 3879, + "taxation": 36847, + "taxes": 11462, + "taxi": 25160, + "taxi": 11380, + "taxider": 47420, + "taxis": 34009, + "taxpay": 17986, + "taxpayer": 30978, + "taxpayers": 25503, + "tay": 6542, + "tay": 15073, + "taya": 38484, + "tayl": 3913, + "taylor": 9044, + "taylor": 3961, + "taylorswift": 18936, + "tayo": 33941, + "taz": 41475, + "taz": 31870, + "tb": 1990, + "tb": 7490, + "tba": 34363, + "tball": 8390, + "tball": 1467, + "tbc": 31807, + "tbd": 45548, + "tbh": 13238, + "tbi": 45868, + "tbl": 42962, + "tbli": 43664, + "tblightning": 44178, + "tbo": 34255, + "tbr": 46643, + "tbs": 37368, + "tbt": 2950, + "tc": 6820, + "tc": 5454, + "tca": 35116, + "tch": 10744, + "tch": 4048, + "tches": 42001, + "tcm": 21501, + "tcm": 26588, + "tcmparty": 24338, + "tcot": 8995, + "tcs": 39107, + "tcu": 26791, + "td": 20578, + "td": 3192, + "tdf": 21844, + "tdi": 45621, + "tdp": 47009, + "tds": 20238, + "tdsb": 29836, + "te": 600, + "te": 756, + "tea": 41053, + "tea": 3274, + "teach": 2043, + "teach": 6865, + "teacher": 18051, + "teacher": 4008, + "teachers": 5069, + "teaches": 17110, + "teaching": 5141, + "teachings": 32119, + "teal": 22821, + "team": 2085, + "team": 1027, + "teamcanada": 46636, + "teamed": 20590, + "teamgb": 40971, + "teaming": 24392, + "teammate": 17900, + "teammates": 13921, + "teams": 3891, + "teamsisd": 34703, + "teamusa": 28625, + "teamwork": 14657, + "teaparty": 33065, + "teapo": 35745, + "teapot": 40749, + "tear": 15802, + "tear": 11862, + "tearful": 46873, + "tearing": 24785, + "tears": 7688, + "teas": 23003, + "teas": 29314, + "tease": 25163, + "teased": 49122, + "teaser": 8982, + "teasers": 48990, + "teases": 28509, + "teasing": 36507, + "teat": 26376, + "teatime": 48948, + "teatro": 35756, + "teau": 24931, + "tebow": 37797, + "tec": 17381, + "tec": 11612, + "tech": 1782, + "tech": 2061, + "techcrunch": 42110, + "techn": 6252, + "technews": 31787, + "technic": 16639, + "technic": 37666, + "technical": 49231, + "technical": 7582, + "technically": 23180, + "technician": 22540, + "technicians": 35513, + "techno": 2599, + "techno": 17564, + "technological": 23068, + "technologies": 10040, + "technology": 3089, + "techs": 41353, + "ted": 4841, + "ted": 775, + "tedcruz": 27517, + "teddy": 25758, + "teddy": 11798, + "tedly": 8539, + "tedu": 42517, + "tedx": 17950, + "tedx": 41504, + "tee": 12676, + "tee": 3385, + "teed": 13692, + "teen": 5398, + "teen": 4697, + "teenage": 14069, + "teenager": 19338, + "teenagers": 25989, + "teenchoice": 28203, + "teens": 12375, + "teenth": 20249, + "teenwolf": 40067, + "teeny": 41622, + "teer": 48648, + "tees": 9641, + "teessi": 43295, + "teeth": 8225, + "tega": 29508, + "tegr": 39801, + "teh": 18720, + "teh": 29601, + "tehran": 26399, + "tein": 33223, + "tej": 46724, + "tek": 17489, + "tek": 18294, + "tekken": 29843, + "tel": 4978, + "tel": 2226, + "telang": 23469, + "telangana": 26386, + "tele": 3103, + "tele": 32851, + "telecom": 21057, + "telecommunications": 39900, + "telegram": 26780, + "telegraph": 14713, + "telephone": 17243, + "telescope": 19037, + "telethon": 49266, + "televised": 39470, + "television": 8608, + "telford": 38323, + "tell": 16069, + "tell": 2330, + "teller": 20415, + "tellers": 42707, + "telling": 5507, + "tells": 5217, + "tellu": 42511, + "telly": 31475, + "tels": 43607, + "telugu": 22927, + "tely": 5630, + "tem": 2404, + "tem": 17536, + "tema": 45881, + "teme": 43378, + "temp": 2684, + "temp": 11097, + "tempe": 36723, + "temper": 5981, + "temper": 35521, + "temperature": 9543, + "temperatures": 11575, + "tempered": 40521, + "tempest": 36053, + "templ": 16679, + "template": 18591, + "templates": 30498, + "temple": 21841, + "temple": 5620, + "temples": 24024, + "tempo": 19625, + "tempor": 4858, + "temporal": 43656, + "temporarily": 23189, + "temporary": 6513, + "temps": 11668, + "tempt": 28460, + "temptation": 30118, + "tempted": 26226, + "tempting": 34876, + "ten": 1149, + "ten": 2581, + "tenant": 16954, + "tenants": 26023, + "tenay": 45384, + "tenberg": 31329, + "tend": 17630, + "tend": 21252, + "tendency": 47277, + "tender": 23020, + "tender": 9838, + "tenderloin": 42750, + "tenders": 44741, + "tending": 35084, + "tendon": 48459, + "tends": 39962, + "tene": 24868, + "tened": 13682, + "tener": 29054, + "teneri": 28000, + "tenerife": 29401, + "teners": 41307, + "teness": 18018, + "teng": 34016, + "teng": 28474, + "tennant": 29310, + "tennes": 9514, + "tennessee": 10053, + "tennis": 31504, + "tennis": 5298, + "tenor": 30521, + "tens": 14062, + "tense": 23518, + "tension": 15221, + "tensions": 24224, + "tenstein": 49139, + "tent": 18505, + "tent": 10782, + "tentative": 48238, + "tenth": 27483, + "tention": 12191, + "tents": 30730, + "tenure": 30739, + "teo": 18665, + "tep": 31806, + "tequ": 17502, + "tequila": 18510, + "ter": 704, + "ter": 652, + "tera": 15155, + "teras": 44830, + "tere": 11329, + "tered": 49272, + "tered": 4389, + "terence": 33806, + "teresa": 19081, + "teri": 30917, + "teria": 22685, + "terie": 42276, + "tering": 7929, + "term": 40991, + "term": 4780, + "termin": 4766, + "terminal": 11816, + "terminals": 44091, + "terminator": 29609, + "terminology": 48896, + "terms": 8663, + "tern": 41572, + "tern": 12959, + "terns": 25251, + "tero": 20727, + "tero": 24697, + "terps": 41471, + "terr": 3921, + "terra": 22366, + "terra": 18816, + "terrac": 28549, + "terrace": 13820, + "terraces": 47508, + "terracotta": 45123, + "terrain": 20184, + "terran": 43726, + "terre": 33888, + "terre": 27537, + "terrell": 39494, + "terrence": 38746, + "terrestrial": 46299, + "terri": 4504, + "terri": 36722, + "terrible": 9741, + "terribly": 34558, + "terrier": 14455, + "terriers": 47047, + "terrific": 13837, + "terrified": 28204, + "terrifying": 18526, + "territ": 10720, + "territorial": 39163, + "territories": 32846, + "territory": 13936, + "terror": 9596, + "terror": 9327, + "terrori": 6836, + "terrorism": 10583, + "terrorist": 10575, + "terrorists": 12835, + "terry": 19378, + "terry": 8561, + "ters": 24102, + "ters": 1737, + "terti": 48386, + "tery": 4184, + "tes": 8019, + "tes": 3609, + "tesco": 15434, + "tese": 33320, + "tesla": 12254, + "tess": 21807, + "tess": 20840, + "tessa": 32063, + "test": 7738, + "test": 1628, + "testam": 23477, + "testament": 24609, + "tested": 10576, + "tester": 32707, + "testi": 18373, + "testic": 42364, + "testify": 33088, + "testifying": 46347, + "testim": 12553, + "testimonial": 28834, + "testimony": 18672, + "testing": 4967, + "testo": 42428, + "testosterone": 45168, + "tests": 8715, + "tet": 40468, + "tet": 13275, + "tetra": 40902, + "tetris": 45934, + "teu": 47152, + "teuk": 39979, + "teur": 27120, + "tex": 2056, + "tex": 11728, + "texan": 35287, + "texan": 38386, + "texans": 17580, + "texanscheer": 43717, + "texas": 15713, + "texas": 3403, + "texaste": 46469, + "text": 18169, + "text": 4160, + "textbook": 25952, + "textbooks": 44041, + "texted": 29004, + "textile": 19789, + "textiles": 24326, + "texting": 18600, + "texts": 12767, + "texture": 16505, + "textured": 32168, + "textures": 28063, + "tey": 32395, + "tez": 22664, + "tf": 18828, + "tf": 5001, + "tfc": 30186, + "tfl": 29918, + "tford": 22493, + "tful": 17108, + "tfw": 16741, + "tg": 7665, + "tg": 11981, + "tgif": 14483, + "th": 513, + "th": 640, + "tha": 18470, + "tha": 4715, + "thab": 38219, + "thad": 48339, + "thai": 28054, + "thai": 8825, + "thail": 7258, + "thailand": 7469, + "thak": 22801, + "thakur": 38427, + "thal": 7967, + "thal": 12323, + "thala": 17784, + "thalai": 25206, + "thalaivar": 44918, + "thalap": 39789, + "thalapathy": 45405, + "thalapathy": 23324, + "thall": 36007, + "tham": 11761, + "tham": 8896, + "thames": 43472, + "thames": 15321, + "than": 792, + "than": 1126, + "thand": 44465, + "thane": 21463, + "thang": 24870, + "thani": 31322, + "thank": 2790, + "thank": 1144, + "thanked": 32079, + "thankful": 38839, + "thankful": 6217, + "thankfully": 22089, + "thanking": 21989, + "thanks": 5672, + "thanks": 1085, + "thanksgiving": 45732, + "thanksgiving": 6167, + "thanku": 45710, + "thankyou": 18050, + "thankyou": 9911, + "thanniversary": 35564, + "thanos": 36709, + "thanx": 25095, + "thar": 14396, + "thar": 38843, + "thard": 43474, + "that": 6303, + "that": 682, + "thatcher": 32496, + "thats": 44636, + "thats": 9254, + "thaw": 26081, + "thaw": 47229, + "thbewithyou": 41067, + "thc": 20091, + "thcentury": 49111, + "thd": 28219, + "thday": 37801, + "the": 599, + "the": 518, + "thea": 15935, + "thea": 25429, + "thead": 25259, + "theal": 45728, + "thealth": 31398, + "thear": 43283, + "theart": 44678, + "theast": 8378, + "theastern": 17877, + "theat": 2263, + "theater": 39438, + "theater": 6128, + "theaters": 14689, + "theatre": 19857, + "theatre": 3292, + "theatres": 21680, + "theatrical": 26833, + "theband": 27695, + "thebeatles": 35645, + "thebest": 40883, + "thebest": 25856, + "thebig": 24732, + "theblack": 47718, + "thec": 48659, + "thed": 31405, + "thedaily": 33550, + "theday": 4408, + "thedream": 39417, + "thee": 44475, + "thee": 15108, + "theeconomist": 44518, + "theellenshow": 35342, + "thefilm": 31665, + "theflash": 25434, + "theforce": 40002, + "theforceawakens": 48033, + "theft": 13286, + "thefuture": 34287, + "thegame": 24428, + "thegood": 28594, + "thegreat": 28721, + "thei": 44522, + "their": 911, + "theirs": 29297, + "thel": 5403, + "thelast": 23495, + "thelastjedi": 47992, + "theless": 27712, + "theli": 15277, + "thelittle": 46872, + "thelo": 47036, + "thelove": 40668, + "thelove": 43200, + "them": 5435, + "them": 1180, + "themasters": 48378, + "theme": 38524, + "theme": 5849, + "themed": 10126, + "themes": 17849, + "themet": 48183, + "themovie": 27062, + "themselves": 6503, + "then": 5929, + "then": 1594, + "thenburg": 45209, + "thene": 17012, + "thenew": 24212, + "thenext": 47881, + "thenight": 43336, + "theno": 37172, + "thenorth": 34338, + "theo": 17043, + "theo": 18084, + "theod": 26653, + "theodore": 30743, + "theological": 41162, + "theology": 24095, + "theon": 34653, + "theone": 46231, + "theopen": 41438, + "theore": 22690, + "theoretical": 35585, + "theori": 34804, + "theories": 23937, + "theory": 7143, + "thepeople": 33597, + "thepersonal": 29981, + "thepersonalnetwork": 30016, + "thephoto": 18303, + "thephotohour": 18607, + "ther": 1160, + "ther": 743, + "therap": 4499, + "therapeu": 19332, + "therapeutic": 23240, + "therapeutics": 49101, + "therapies": 30179, + "therapist": 20608, + "therapists": 34763, + "therapper": 49340, + "therapy": 5257, + "there": 5283, + "there": 997, + "thereal": 8074, + "thereal": 41140, + "thereby": 43308, + "thered": 10208, + "therefore": 16865, + "theres": 18494, + "theresa": 14126, + "therese": 47996, + "theresistance": 22845, + "theri": 28967, + "theri": 45297, + "therine": 26807, + "therine": 9239, + "thering": 7891, + "therland": 25351, + "thermal": 13689, + "thermo": 22303, + "thermom": 31138, + "thermometer": 38172, + "thermost": 42391, + "thern": 10919, + "thern": 3137, + "thero": 13165, + "theroad": 29807, + "therock": 30036, + "theroy": 38146, + "thers": 1959, + "thes": 40556, + "thes": 6460, + "thescript": 47061, + "these": 40366, + "these": 1071, + "theses": 39388, + "thesimpsons": 45513, + "thesims": 34192, + "thesis": 10673, + "thessal": 41491, + "thessaloni": 41753, + "thest": 35343, + "thesun": 45617, + "theta": 27694, + "thetic": 7954, + "thetimes": 36039, + "thevamp": 33701, + "thevoice": 47206, + "thevoice": 30258, + "thewalkingdead": 18087, + "thewanted": 43008, + "theworld": 44988, + "theworld": 17475, + "thex": 35990, + "they": 15174, + "they": 889, + "theyre": 28266, + "thfc": 17729, + "thi": 2362, + "thi": 9111, + "thia": 17943, + "thiago": 44537, + "thian": 23214, + "thians": 28187, + "thibau": 48351, + "thic": 26107, + "thic": 11794, + "thick": 18417, + "thick": 11006, + "thicker": 43302, + "thickness": 40754, + "thief": 18508, + "thier": 25595, + "thierry": 32929, + "thieves": 17899, + "thigh": 47124, + "thigh": 22877, + "thighs": 30847, + "thik": 20512, + "thika": 44619, + "thill": 31266, + "thim": 42331, + "thin": 2178, + "thin": 7847, + "thine": 47192, + "thing": 7499, + "thing": 946, + "things": 30670, + "things": 1739, + "thingsto": 43924, + "thingy": 36888, + "think": 9820, + "think": 1331, + "thinkbig": 26015, + "thinkbigsundaywithmarsha": 26666, + "thinker": 34577, + "thinkers": 32779, + "thinkin": 34443, + "thinking": 3291, + "thinks": 6109, + "thinner": 47247, + "thir": 6030, + "third": 32102, + "third": 3981, + "thirds": 42582, + "thirst": 23563, + "thirsty": 39731, + "thirsty": 17521, + "thirteen": 34209, + "thirty": 20813, + "thiru": 43292, + "this": 4340, + "this": 589, + "thisday": 6532, + "thisdayin": 33641, + "thisdayinhistory": 46913, + "thisi": 7299, + "thisis": 14887, + "thismorning": 36245, + "thistle": 29039, + "thistory": 28904, + "thium": 21804, + "thletics": 17765, + "thm": 10407, + "thman": 30079, + "thms": 19874, + "thn": 44155, + "thn": 45587, + "thnx": 25480, + "tho": 1325, + "tho": 5025, + "thof": 18943, + "thofjuly": 21613, + "thol": 29319, + "thole": 31029, + "tholes": 42465, + "thology": 9881, + "thom": 2585, + "thom": 24094, + "thomas": 12574, + "thomas": 3888, + "thome": 21289, + "thomp": 37274, + "thompson": 42181, + "thompson": 8535, + "thomson": 24151, + "thon": 38776, + "thon": 8924, + "thong": 37058, + "thood": 15623, + "thor": 4130, + "thor": 13691, + "thora": 46866, + "thorn": 12957, + "thorn": 18466, + "thorne": 18025, + "thorns": 33650, + "thornton": 23592, + "thorough": 15294, + "thorough": 34788, + "thoroughbred": 43248, + "thoroughly": 19750, + "thorpe": 18099, + "thos": 41965, + "those": 1753, + "thot": 33736, + "thou": 1513, + "thou": 17781, + "though": 2846, + "thought": 23948, + "thought": 2449, + "thoughtful": 19592, + "thoughts": 3618, + "thour": 27125, + "thousand": 9344, + "thousands": 7089, + "thouse": 40318, + "thouse": 7819, + "thoven": 23078, + "thr": 1111, + "thr": 19138, + "thra": 17761, + "thra": 32797, + "thrash": 38262, + "thre": 1607, + "thread": 31108, + "thread": 8815, + "threads": 24957, + "threat": 7527, + "threat": 7212, + "threaten": 26097, + "threatened": 16391, + "threatening": 16400, + "threatens": 20555, + "threats": 12766, + "three": 21615, + "three": 2097, + "thren": 41776, + "thresh": 29779, + "threshold": 33791, + "threw": 12746, + "thri": 8713, + "thrift": 27779, + "thrill": 21023, + "thrilled": 7879, + "thriller": 9653, + "thrilling": 20101, + "thrills": 39829, + "thrive": 17669, + "thriving": 22677, + "thro": 2101, + "thro": 28624, + "throat": 16371, + "thrombo": 47585, + "throne": 15999, + "thrones": 8072, + "throp": 34939, + "throttle": 37139, + "through": 6091, + "through": 1417, + "throughout": 6721, + "throughs": 48278, + "throw": 3315, + "throw": 6293, + "throwback": 6001, + "throwback": 5058, + "throwbackthursday": 6326, + "thrower": 40199, + "throwing": 9734, + "thrown": 15079, + "throws": 14723, + "thru": 23856, + "thru": 6162, + "thrush": 46133, + "thrust": 40202, + "ths": 2079, + "tht": 23554, + "thu": 3837, + "thu": 14153, + "thub": 25660, + "thug": 37212, + "thug": 18137, + "thugs": 27686, + "thul": 28368, + "thulhu": 37560, + "thum": 14679, + "thumb": 19514, + "thumb": 18674, + "thumbnail": 32365, + "thumbs": 17599, + "thun": 32267, + "thunder": 6161, + "thunder": 8951, + "thunderbird": 45131, + "thunderbirds": 44286, + "thunderbolt": 43596, + "thunderstorm": 12005, + "thunderstorms": 19525, + "thunt": 46763, + "thur": 1837, + "thur": 21704, + "thurman": 41291, + "thurs": 9908, + "thursday": 11218, + "thursday": 2221, + "thursdaymotivation": 39375, + "thursdays": 21444, + "thursdaythoughts": 14866, + "thurst": 33970, + "thus": 12457, + "thusi": 9488, + "thwaite": 48469, + "thweeksary": 30871, + "thx": 5913, + "thy": 7804, + "thy": 3362, + "thyme": 29805, + "thyro": 25174, + "thyroid": 32558, + "ti": 555, + "ti": 2605, + "tia": 6709, + "tial": 2826, + "tially": 14503, + "tian": 23011, + "tian": 8125, + "tians": 35182, + "tiara": 38322, + "tib": 47868, + "tibet": 19927, + "tibet": 22234, + "tibetan": 24057, + "tible": 11453, + "tic": 890, + "tic": 1550, + "tica": 9669, + "tical": 34191, + "tical": 4342, + "tically": 13375, + "ticals": 30861, + "tice": 3122, + "tich": 48769, + "tician": 43358, + "ticism": 26491, + "tick": 24640, + "tick": 15617, + "ticket": 25740, + "ticket": 4500, + "ticketing": 44432, + "tickets": 2015, + "ticking": 35842, + "tickle": 42999, + "ticks": 40269, + "tico": 17670, + "ticon": 45996, + "tics": 2419, + "ticul": 15538, + "ticus": 44277, + "tid": 26002, + "tid": 23727, + "tidal": 21949, + "tide": 15698, + "tide": 9105, + "tides": 25524, + "tidy": 23858, + "tie": 14072, + "tie": 3422, + "tied": 9889, + "tiem": 34762, + "tien": 47538, + "tiene": 43438, + "tier": 14390, + "tier": 6598, + "tierney": 45693, + "tiers": 24604, + "ties": 25556, + "ties": 2499, + "tiest": 18300, + "tiesto": 46367, + "tif": 23216, + "tiff": 11112, + "tiff": 20699, + "tiffany": 30467, + "tiffany": 14446, + "tification": 43923, + "tified": 40854, + "tiful": 29123, + "tify": 6677, + "tig": 31999, + "tiger": 11954, + "tiger": 6531, + "tigers": 6934, + "tigh": 31365, + "tight": 25763, + "tight": 9123, + "tighten": 46653, + "tighter": 48193, + "tightly": 37568, + "tights": 29581, + "tijuana": 45273, + "tik": 24986, + "tik": 32403, + "tiki": 30107, + "til": 6124, + "til": 1763, + "tile": 26217, + "tile": 8227, + "tiles": 10607, + "tility": 38180, + "till": 17462, + "till": 4267, + "tilla": 26063, + "tillerson": 47738, + "tilly": 41199, + "tilt": 23601, + "tim": 1292, + "tim": 3863, + "timate": 4754, + "timb": 26627, + "timber": 14441, + "timber": 16246, + "timberlake": 28274, + "timbers": 39911, + "timberwolves": 41190, + "time": 3764, + "time": 788, + "timed": 32727, + "timehop": 19944, + "timel": 23549, + "timelapse": 48154, + "timeless": 15558, + "timeline": 11492, + "timely": 19250, + "timeout": 41536, + "timer": 19725, + "timers": 44574, + "times": 26445, + "times": 1661, + "timesnow": 45487, + "timesof": 32522, + "timesofindia": 44182, + "timetable": 31971, + "timeto": 29187, + "timing": 13624, + "timm": 22444, + "timmy": 33252, + "timo": 13390, + "timo": 33777, + "timothy": 42087, + "timothy": 18560, + "timp": 42166, + "tin": 1310, + "tin": 5420, + "tina": 9257, + "tinder": 24287, + "tine": 22341, + "ting": 7451, + "ting": 694, + "tinged": 44829, + "tings": 35332, + "tini": 26839, + "tink": 39278, + "tinker": 45272, + "tinker": 40910, + "tino": 20538, + "tins": 37359, + "tint": 40497, + "tinted": 42618, + "tiny": 21716, + "tiny": 5591, + "tio": 27562, + "tion": 2274, + "tion": 740, + "tional": 22460, + "tional": 2986, + "tionality": 24514, + "tionally": 12409, + "tionary": 8381, + "tione": 44318, + "tioned": 9083, + "tioning": 15528, + "tionist": 25732, + "tions": 1371, + "tious": 14255, + "tip": 15383, + "tip": 4623, + "tipoff": 44521, + "tipp": 32294, + "tipped": 31878, + "tipper": 38095, + "tipperary": 45612, + "tipping": 27827, + "tips": 3173, + "tipton": 48809, + "tiptuesday": 42112, + "tique": 37772, + "tir": 25467, + "tir": 38462, + "tire": 29128, + "tire": 9362, + "tired": 6533, + "tireless": 39835, + "tirelessly": 41548, + "tires": 15533, + "tiring": 42630, + "tiru": 36033, + "tis": 7839, + "tis": 7394, + "tise": 13745, + "tisgarh": 40538, + "tish": 45148, + "tish": 28784, + "tism": 27113, + "tiss": 28155, + "tissue": 15368, + "tissues": 32172, + "tist": 7902, + "tista": 25580, + "tists": 25944, + "tit": 1991, + "tit": 13202, + "tita": 40936, + "titan": 13496, + "titan": 15516, + "titanic": 20729, + "titanium": 24409, + "titans": 13066, + "titi": 17434, + "titi": 48504, + "title": 28033, + "title": 3644, + "titled": 9939, + "titles": 9780, + "tito": 26838, + "titus": 36102, + "tium": 21975, + "tiv": 1835, + "tiva": 41886, + "tive": 14640, + "tive": 1420, + "tively": 9883, + "tiveness": 20955, + "tives": 7570, + "tivity": 9859, + "tivo": 32162, + "tix": 5835, + "tiz": 19376, + "tj": 18890, + "tj": 18988, + "tk": 22344, + "tk": 20676, + "tko": 37347, + "tks": 38739, + "tl": 14325, + "tl": 8190, + "tland": 30697, + "tlap": 41976, + "tlc": 22047, + "tle": 39141, + "tle": 5825, + "tles": 39363, + "tless": 17427, + "tlot": 41080, + "tls": 47367, + "tly": 37483, + "tly": 1646, + "tm": 9430, + "tm": 7789, + "tman": 20796, + "tmc": 35263, + "tment": 26485, + "tml": 39445, + "tmltalk": 42260, + "tmnt": 32444, + "tmobile": 34901, + "tmr": 35906, + "tmrw": 16496, + "tms": 44496, + "tmund": 23801, + "tmw": 45827, + "tmz": 37248, + "tn": 3827, + "tn": 7248, + "tna": 21150, + "tnam": 8079, + "tner": 34922, + "tness": 35212, + "tney": 9523, + "tng": 35898, + "tnt": 20659, + "tnx": 38220, + "to": 580, + "to": 531, + "toa": 17916, + "toad": 26096, + "toast": 24654, + "toast": 10920, + "toasted": 23533, + "toaster": 39061, + "toasty": 44726, + "tob": 24260, + "tobac": 12611, + "tobacco": 13905, + "tobago": 39482, + "tobe": 17534, + "tobe": 28740, + "tober": 18162, + "tober": 2925, + "toberfest": 26249, + "tobi": 40335, + "tobi": 48374, + "tobias": 32464, + "tobin": 42466, + "toby": 29659, + "toby": 18333, + "toc": 41907, + "toc": 30643, + "tock": 25274, + "tod": 38239, + "tod": 33568, + "toda": 47141, + "todas": 36150, + "today": 11800, + "today": 721, + "todayin": 32957, + "todays": 13513, + "todayshow": 29739, + "todd": 10398, + "todd": 9951, + "toddler": 17772, + "toddlers": 36719, + "toddy": 38926, + "todo": 48857, + "todo": 23087, + "todos": 33355, + "toe": 47756, + "toe": 11344, + "toes": 16511, + "tof": 6659, + "toff": 27319, + "toffee": 34880, + "tofficial": 47953, + "tofthe": 23678, + "toftheday": 20566, + "tofu": 24692, + "tog": 45715, + "toge": 1903, + "together": 17858, + "together": 1952, + "togo": 26729, + "tography": 33968, + "toh": 26851, + "toi": 7472, + "toi": 26941, + "toid": 49124, + "toile": 43148, + "toilet": 11071, + "toilets": 24027, + "toire": 39534, + "tok": 16690, + "tok": 27010, + "token": 32634, + "token": 17134, + "tokens": 23562, + "tokyo": 35038, + "tokyo": 6667, + "tol": 4678, + "tol": 32962, + "told": 3527, + "tole": 15677, + "toledo": 19812, + "toler": 12150, + "tolerance": 20377, + "tolerant": 38536, + "tolerate": 35556, + "tolkien": 32989, + "toll": 44090, + "toll": 14155, + "tollywood": 42016, + "tology": 34799, + "tom": 999, + "tom": 2435, + "toma": 42360, + "toma": 44710, + "tomas": 35944, + "tomas": 27178, + "tomat": 12041, + "tomato": 9867, + "tomatoes": 13004, + "tomb": 37187, + "tomb": 15582, + "tombs": 48613, + "tombstone": 45729, + "tome": 24137, + "tome": 24283, + "tomi": 46290, + "tomlin": 46649, + "tomlinson": 17484, + "tommorow": 42871, + "tommy": 16573, + "tommy": 8876, + "tomo": 31223, + "tomo": 34434, + "tomor": 1277, + "tomorrow": 19728, + "tomorrow": 1293, + "tomorrowland": 34951, + "tomorrows": 32258, + "tomorrowspaper": 35005, + "tomorrowspaperstoday": 35190, + "tomp": 43544, + "tompkins": 49068, + "toms": 10545, + "tomy": 18730, + "ton": 838, + "ton": 917, + "tona": 13459, + "tone": 32366, + "tone": 8408, + "toned": 29426, + "toner": 40614, + "tones": 14744, + "tong": 21510, + "tonga": 37882, + "tongue": 44820, + "tongue": 13626, + "tongues": 39837, + "toni": 17766, + "toni": 17171, + "tonic": 17808, + "tonics": 34647, + "tonight": 1009, + "tonights": 23312, + "tonite": 13449, + "tonka": 42781, + "tonline": 45867, + "tonne": 42450, + "tonnes": 24813, + "tons": 7555, + "tony": 9150, + "tony": 4767, + "tonyawards": 46068, + "too": 1843, + "too": 1256, + "took": 2280, + "tool": 13718, + "tool": 5999, + "toolbox": 46599, + "toolkit": 29849, + "tools": 5771, + "toom": 27550, + "toon": 24664, + "toon": 19701, + "toonami": 48336, + "toons": 35345, + "toor": 42590, + "tooth": 15316, + "tooth": 12030, + "toothbrush": 36841, + "toothpaste": 37322, + "tooting": 42969, + "top": 5534, + "top": 1253, + "topaz": 46125, + "tope": 32149, + "tope": 42239, + "topeka": 46884, + "topia": 29618, + "topic": 8720, + "topical": 37464, + "topics": 11916, + "topless": 37415, + "topo": 23008, + "topoli": 30152, + "topp": 19529, + "topped": 12588, + "topper": 31780, + "toppers": 41651, + "topping": 21071, + "toppings": 47554, + "topps": 20201, + "tops": 8154, + "topshop": 40953, + "topus": 21495, + "tor": 937, + "tor": 1208, + "tora": 45147, + "torah": 37945, + "toral": 45282, + "torch": 31921, + "torch": 15820, + "tore": 38066, + "tore": 19385, + "tored": 38046, + "torg": 33214, + "tori": 17689, + "tori": 17539, + "toria": 23732, + "torial": 28029, + "torian": 48399, + "tories": 14193, + "torino": 29178, + "torio": 34235, + "torn": 8572, + "torn": 18023, + "tornad": 24676, + "tornado": 9062, + "tornadoes": 28254, + "toro": 17892, + "toron": 37407, + "toronto": 16866, + "toronto": 4514, + "torpe": 34093, + "torpedo": 46582, + "torquay": 45738, + "torque": 31940, + "torre": 39563, + "torre": 38009, + "torrent": 42317, + "torrential": 41158, + "torres": 16049, + "tors": 2546, + "tortilla": 32683, + "torto": 24170, + "tortoise": 30178, + "torture": 16013, + "tortured": 29900, + "tory": 29390, + "tory": 4214, + "tos": 6094, + "tosc": 37719, + "tose": 38154, + "tosh": 17109, + "toshi": 31744, + "toss": 19656, + "tossed": 31296, + "tot": 4618, + "tot": 23659, + "total": 13507, + "total": 4445, + "totally": 5440, + "totals": 25772, + "tote": 48145, + "tote": 19031, + "totem": 45376, + "totes": 37199, + "tothe": 12222, + "toto": 39823, + "tots": 24978, + "totten": 14360, + "tottenham": 14889, + "tou": 1879, + "tou": 29261, + "touch": 9480, + "touch": 4526, + "touchdown": 18664, + "touchdowns": 37905, + "touched": 13190, + "touches": 14832, + "touching": 14088, + "touchscreen": 39095, + "tough": 12063, + "tough": 5499, + "tougher": 33722, + "toughest": 23773, + "toughness": 45522, + "toulou": 27145, + "toulouse": 30267, + "tour": 2710, + "tour": 1760, + "tourde": 39247, + "toured": 27654, + "touri": 4224, + "touring": 11853, + "tourism": 23661, + "tourism": 6556, + "tourist": 12123, + "tourists": 15546, + "tournament": 4097, + "tournaments": 23058, + "tourney": 12603, + "tours": 8948, + "tous": 37424, + "tout": 22300, + "touts": 41274, + "tov": 28970, + "tow": 11557, + "tow": 18653, + "toward": 8508, + "towards": 4447, + "towed": 45419, + "towel": 15953, + "towels": 26578, + "tower": 26669, + "tower": 4730, + "towering": 39444, + "towers": 12701, + "towie": 44613, + "towin": 45819, + "towing": 36963, + "town": 4068, + "town": 1605, + "townfc": 33981, + "townhall": 33408, + "townhouse": 40178, + "towns": 14173, + "townsend": 26826, + "township": 14622, + "townsville": 47330, + "towork": 48233, + "tox": 7742, + "tox": 16145, + "toxic": 27436, + "toxic": 12348, + "toxicity": 41234, + "toxin": 48899, + "toxins": 36618, + "toy": 14387, + "toy": 5988, + "toya": 37602, + "toyo": 7644, + "toyota": 8908, + "toys": 39508, + "toys": 7162, + "tp": 23760, + "tp": 15188, + "tpp": 29411, + "tps": 35246, + "tq": 43066, + "tr": 635, + "tr": 6337, + "tra": 752, + "tra": 2483, + "trac": 2266, + "trace": 48611, + "trace": 14767, + "traced": 47956, + "traces": 30913, + "tracey": 25558, + "tracing": 27897, + "track": 10887, + "track": 2700, + "tracked": 27049, + "tracker": 18123, + "tracking": 10428, + "tracklist": 39777, + "tracks": 7579, + "tract": 4690, + "traction": 10644, + "tractor": 14607, + "tractors": 37854, + "tracy": 32984, + "tracy": 15508, + "trad": 48716, + "trad": 38037, + "trade": 10457, + "trade": 3629, + "traded": 18860, + "trademark": 25011, + "trader": 17700, + "traders": 19112, + "trades": 18519, + "trading": 40083, + "trading": 6520, + "tradio": 20689, + "tradition": 20838, + "tradition": 8784, + "traditional": 41113, + "traditional": 5604, + "traditionally": 35532, + "traditions": 18016, + "traf": 3227, + "trafal": 32461, + "trafalgar": 36969, + "traff": 31571, + "traffic": 12080, + "traffic": 3399, + "trafficking": 15983, + "trafford": 22912, + "trage": 12430, + "tragedy": 14082, + "tragic": 14828, + "tragically": 39599, + "trail": 11523, + "trail": 4921, + "trailblazer": 41015, + "trailblazers": 35954, + "trailer": 4700, + "trailers": 24862, + "trailing": 37427, + "trails": 10633, + "train": 9122, + "train": 3231, + "trained": 10874, + "trainee": 25795, + "trainees": 30382, + "trainer": 9767, + "trainers": 18871, + "training": 34508, + "training": 2199, + "trains": 9541, + "trait": 35160, + "traitor": 31760, + "traitors": 42633, + "traits": 25748, + "trajec": 42042, + "trak": 24065, + "tral": 14609, + "tram": 9800, + "tram": 17500, + "tramp": 46289, + "trampol": 32905, + "trampoline": 42800, + "tramrahim": 35220, + "tran": 1357, + "tran": 22031, + "trance": 30584, + "trance": 18671, + "trancefamily": 39630, + "trane": 35779, + "tranqu": 18912, + "tranquil": 35764, + "tranquility": 36688, + "trans": 1826, + "trans": 8126, + "transaction": 24881, + "transactions": 21653, + "transat": 37872, + "transatlantic": 40703, + "transc": 21073, + "transcend": 47087, + "transcript": 39008, + "transcription": 48765, + "transfer": 22659, + "transfer": 7134, + "transferred": 29700, + "transferring": 40924, + "transfers": 21621, + "transform": 8142, + "transform": 12288, + "transformation": 34204, + "transformation": 7832, + "transformational": 47135, + "transformationtuesday": 36511, + "transformative": 38106, + "transformed": 17453, + "transformer": 38235, + "transformers": 17843, + "transforming": 44470, + "transforming": 19251, + "transforms": 30312, + "transgender": 17732, + "transi": 32236, + "transit": 10174, + "transiti": 22939, + "transition": 11391, + "transitional": 41519, + "transitioning": 43586, + "transitions": 39374, + "transl": 12243, + "translate": 22655, + "translated": 20752, + "translates": 36334, + "translating": 42156, + "translation": 12153, + "translations": 41367, + "translator": 36230, + "translucent": 49052, + "transm": 18861, + "transmission": 16103, + "transmitted": 48605, + "transmitter": 40457, + "transp": 11726, + "transpa": 18524, + "transparen": 16108, + "transparency": 16828, + "transparent": 19017, + "transpl": 16038, + "transplant": 41871, + "transplant": 18771, + "transplantation": 45207, + "transpor": 19406, + "transport": 10231, + "transport": 7362, + "transportation": 10911, + "transported": 29089, + "transporter": 43568, + "transporting": 42259, + "trap": 36224, + "trap": 9677, + "trape": 42435, + "trapped": 15592, + "traps": 28517, + "tras": 30638, + "trash": 39215, + "trash": 9798, + "traum": 22263, + "trauma": 13846, + "traumati": 46613, + "traumatic": 29958, + "trav": 7586, + "trav": 46955, + "trave": 35357, + "travel": 2824, + "travel": 1949, + "travelblog": 35957, + "travelblogger": 25494, + "travelchat": 46455, + "traveled": 20384, + "traveler": 17794, + "travelers": 20644, + "travelgram": 40069, + "traveling": 9365, + "travelled": 23428, + "traveller": 22546, + "travellers": 29583, + "travelling": 11190, + "travelphotography": 22808, + "travelpics": 32293, + "travels": 11472, + "traveltips": 36260, + "traveltuesday": 16713, + "traverse": 35058, + "travi": 46971, + "travis": 27441, + "travis": 12287, + "traw": 42288, + "trax": 34421, + "tray": 38470, + "tray": 14621, + "trays": 39798, + "trc": 41803, + "tre": 975, + "tre": 6033, + "treach": 46005, + "tread": 26182, + "tread": 35658, + "treadmill": 37780, + "treas": 8591, + "treason": 28103, + "treasure": 9922, + "treasured": 48068, + "treasurer": 26985, + "treasures": 16500, + "treasury": 20956, + "treat": 3968, + "treat": 3901, + "treated": 9772, + "treating": 13842, + "treatment": 4869, + "treatments": 15839, + "treats": 8878, + "treaty": 19967, + "treble": 33194, + "trecht": 33812, + "tree": 13354, + "tree": 2677, + "treehouse": 42387, + "trees": 4682, + "trek": 13236, + "trek": 8136, + "trekking": 25293, + "trell": 35159, + "tremb": 44043, + "tremend": 14659, + "tremendous": 15988, + "tren": 2579, + "trench": 23846, + "trenches": 38723, + "trend": 19986, + "trend": 6643, + "trending": 6087, + "trends": 7015, + "trendsetter": 46666, + "trendy": 23072, + "trent": 45885, + "trent": 15548, + "trenton": 37470, + "tres": 23569, + "tress": 4733, + "tresses": 24273, + "trevor": 23437, + "trevor": 13219, + "trex": 42114, + "trey": 36670, + "trey": 16939, + "tri": 924, + "tri": 9618, + "triad": 45602, + "trial": 5991, + "trials": 10992, + "triangle": 14615, + "triathlon": 18080, + "trib": 45151, + "tribal": 16629, + "tribe": 19943, + "tribe": 11365, + "tribeca": 35184, + "tribes": 26546, + "tribu": 3028, + "tribun": 14311, + "tribunal": 32911, + "tribune": 18556, + "tribute": 5493, + "tributes": 15537, + "tric": 9511, + "tric": 4081, + "trich": 39519, + "trick": 17177, + "trick": 8172, + "tricks": 13177, + "tricky": 22319, + "trics": 31437, + "trident": 35491, + "tridge": 18722, + "tried": 4554, + "tries": 4315, + "trife": 48962, + "trigge": 30509, + "trigger": 16158, + "triggered": 30924, + "triggers": 37319, + "tright": 29915, + "tril": 40626, + "trill": 39297, + "trilli": 39350, + "trillion": 20160, + "trilo": 15183, + "trilogy": 16862, + "trim": 14182, + "trimmed": 40657, + "trin": 6628, + "trinidad": 26244, + "trinity": 30744, + "trinity": 12267, + "trio": 10263, + "trip": 23421, + "trip": 2529, + "tripad": 37189, + "tripadvisor": 38708, + "triple": 16519, + "triple": 7673, + "triplets": 48601, + "tripod": 36141, + "tripoli": 40095, + "trippin": 43073, + "tripping": 35229, + "trippy": 35137, + "trips": 12292, + "tris": 29690, + "trish": 40511, + "trish": 37179, + "trisha": 39152, + "tristan": 25497, + "trit": 37087, + "triton": 45437, + "triu": 14782, + "trium": 21065, + "triumph": 26507, + "triumph": 15307, + "triumphant": 41918, + "trivi": 21228, + "trivia": 10642, + "triviatuesday": 45499, + "trix": 41017, + "tro": 1046, + "tro": 3332, + "trock": 44368, + "trojan": 30653, + "trojans": 25310, + "trol": 10306, + "troll": 39737, + "troll": 17103, + "trolley": 25124, + "trolling": 28552, + "trolls": 20890, + "tromb": 32390, + "trombone": 44423, + "tron": 19057, + "tron": 10684, + "tronic": 34258, + "tronics": 34397, + "troom": 23691, + "troop": 12492, + "troop": 24054, + "trooper": 18327, + "troopers": 23576, + "troops": 10109, + "trop": 31585, + "trope": 41150, + "trophies": 20998, + "trophy": 42676, + "trophy": 6502, + "tropic": 21794, + "tropic": 36736, + "tropical": 41699, + "tropical": 8686, + "tropics": 36940, + "tros": 40456, + "trose": 36022, + "trot": 30453, + "trotter": 38287, + "trou": 5181, + "troubad": 49037, + "trouble": 25669, + "trouble": 7848, + "troubled": 25568, + "troubles": 27254, + "trough": 39761, + "troupe": 34803, + "trous": 19727, + "trousers": 23172, + "trout": 14853, + "trove": 45350, + "trow": 46914, + "troy": 26283, + "troy": 12819, + "trs": 24770, + "tru": 931, + "tru": 25326, + "truck": 14781, + "truck": 4629, + "trucker": 45918, + "truckers": 43404, + "trucking": 26208, + "trucks": 9569, + "trude": 39017, + "trudeau": 15752, + "true": 13096, + "true": 2328, + "truec": 37583, + "truelove": 45711, + "truffle": 23064, + "truffles": 37057, + "truly": 4545, + "trum": 11766, + "trum": 11399, + "truman": 29414, + "trump": 9124, + "trump": 1797, + "trumpet": 23681, + "trumpp": 45550, + "trumprussia": 39135, + "trumps": 29793, + "trumptrain": 43595, + "trun": 16163, + "trun": 46661, + "trunk": 18347, + "trunks": 38531, + "truro": 43507, + "truss": 46080, + "trust": 17691, + "trust": 3876, + "truste": 17356, + "trusted": 16538, + "trustee": 30803, + "trustees": 28853, + "trusting": 33221, + "trusts": 27507, + "trustworthy": 46840, + "trusty": 37955, + "truth": 21335, + "truth": 4319, + "truths": 27179, + "trx": 31620, + "try": 4487, + "try": 1209, + "tryin": 31085, + "trying": 2551, + "tryna": 15702, + "tryout": 43832, + "tryouts": 28053, + "ts": 2290, + "ts": 590, + "tsa": 25977, + "tsal": 20438, + "tsb": 45015, + "tsc": 37437, + "tsch": 38778, + "tsd": 20611, + "tse": 49144, + "tsfor": 42654, + "tsford": 32823, + "tsh": 42872, + "tshirt": 14907, + "tshirts": 29377, + "tsi": 40048, + "tsi": 37867, + "tsk": 43600, + "tsla": 35681, + "tsm": 43452, + "tsman": 20046, + "tsn": 44921, + "tsn": 26896, + "tson": 42353, + "tson": 47140, + "tsp": 34230, + "tsu": 13950, + "tsu": 20175, + "tsun": 19155, + "tsunami": 24286, + "tsville": 29080, + "tt": 971, + "tt": 1402, + "tta": 2646, + "ttc": 27668, + "tte": 23105, + "tte": 3070, + "tted": 15163, + "tten": 11351, + "tten": 17479, + "tter": 18691, + "tter": 5165, + "tters": 6318, + "ttes": 9293, + "tti": 5237, + "ttin": 36589, + "tting": 1188, + "ttino": 47389, + "ttip": 46993, + "ttle": 9253, + "ttm": 46838, + "tto": 8759, + "tto": 8105, + "tton": 10562, + "ttot": 12480, + "ttp": 30828, + "ttr": 47589, + "tts": 11570, + "ttt": 17256, + "tttt": 33119, + "ttu": 44006, + "ttv": 24281, + "tty": 11457, + "tty": 1856, + "tu": 764, + "tu": 5760, + "tua": 41344, + "tual": 4799, + "tuan": 37297, + "tub": 34907, + "tub": 15450, + "tube": 38229, + "tube": 3308, + "tuber": 30371, + "tuberculo": 42606, + "tuberculosis": 43129, + "tubes": 22870, + "tubing": 40794, + "tubs": 41705, + "tubular": 48786, + "tuc": 14456, + "tuc": 43871, + "tuck": 22398, + "tucked": 26923, + "tucker": 39703, + "tucker": 15726, + "tucket": 32677, + "tucson": 17250, + "tudor": 24547, + "tue": 17515, + "tues": 2283, + "tues": 12113, + "tuesday": 10209, + "tuesday": 2519, + "tuesdaymotivation": 25432, + "tuesdays": 23195, + "tuesdaythoughts": 17988, + "tuf": 44510, + "tuff": 38868, + "tug": 47032, + "tug": 27902, + "tuition": 21129, + "tuk": 39271, + "tuk": 14993, + "tul": 9069, + "tul": 40837, + "tula": 36332, + "tulane": 44893, + "tulip": 28389, + "tulips": 30886, + "tulsa": 18850, + "tum": 12932, + "tum": 8843, + "tumb": 8831, + "tumble": 38284, + "tumbler": 48790, + "tumbling": 46226, + "tumblr": 11841, + "tummy": 26053, + "tumor": 22616, + "tumors": 39894, + "tumour": 45129, + "tun": 1415, + "tun": 21349, + "tuna": 15037, + "tundra": 39899, + "tune": 11427, + "tune": 3300, + "tuned": 5898, + "tunein": 16809, + "tuner": 42905, + "tunes": 31688, + "tunes": 10810, + "tunesapp": 32550, + "tung": 47940, + "tung": 31092, + "tuni": 16270, + "tunic": 43495, + "tuning": 19585, + "tunisia": 23346, + "tunnel": 11096, + "tunnels": 29814, + "tuous": 28738, + "tup": 37956, + "tup": 4507, + "tupac": 31506, + "tups": 44855, + "tur": 985, + "tur": 17182, + "tura": 16127, + "tural": 45143, + "tural": 4261, + "turb": 18973, + "turban": 48515, + "turbine": 26880, + "turbines": 38863, + "turbo": 23578, + "turbo": 13668, + "turbul": 31100, + "turbulent": 47871, + "ture": 4321, + "ture": 941, + "tured": 3987, + "turer": 11993, + "turers": 16956, + "tures": 2400, + "turf": 36762, + "turf": 12510, + "turi": 11896, + "turin": 36251, + "turing": 5812, + "turismo": 30202, + "turk": 8254, + "turk": 32507, + "turkey": 35977, + "turkey": 4790, + "turkeys": 37991, + "turkish": 48199, + "turkish": 9278, + "turks": 34344, + "turmeric": 34044, + "turmoil": 37751, + "turn": 5522, + "turn": 2105, + "turnaround": 32719, + "turnbull": 27863, + "turned": 3771, + "turner": 42867, + "turner": 8777, + "turning": 4976, + "turno": 21377, + "turnout": 11654, + "turnover": 30794, + "turnpike": 38301, + "turns": 3185, + "turnt": 28887, + "turntable": 37953, + "turnup": 30591, + "turo": 29224, + "turquo": 19390, + "turquoise": 19899, + "turt": 13716, + "turtle": 35943, + "turtle": 10912, + "turtles": 17862, + "tus": 24828, + "tus": 7079, + "tusc": 17909, + "tuscal": 42638, + "tuscaloosa": 44375, + "tuscan": 42865, + "tuscany": 20885, + "tuss": 31741, + "tut": 35121, + "tutor": 10054, + "tutor": 27858, + "tutorial": 12857, + "tutorials": 30973, + "tutoring": 37532, + "tutti": 46880, + "tutu": 35845, + "tux": 28720, + "tux": 49186, + "tuxedo": 40173, + "tv": 3197, + "tv": 1583, + "tvc": 49190, + "tvd": 25889, + "tvmiaw": 38554, + "tvn": 44232, + "tvs": 27114, + "tvtime": 19947, + "tvxq": 43968, + "tw": 966, + "tw": 12842, + "twa": 46954, + "twain": 30689, + "twal": 48126, + "tware": 5707, + "twc": 41217, + "twd": 29440, + "twd": 19343, + "twdfamily": 38218, + "twe": 18365, + "tweak": 48870, + "tweaks": 42661, + "twee": 1330, + "tweed": 26904, + "tweeps": 14928, + "tweet": 11826, + "tweet": 1842, + "tweeta": 32024, + "tweetapicture": 40596, + "tweeted": 7841, + "tweeter": 32876, + "tweeters": 31713, + "tweeting": 8901, + "tweets": 3560, + "tweetyour": 45033, + "twel": 14476, + "twelf": 39443, + "twelfth": 44072, + "twell": 38722, + "twell": 30162, + "twelve": 19694, + "twent": 27027, + "twenti": 35167, + "twenty": 13016, + "twentyon": 39609, + "twentyonepilots": 40007, + "twer": 13923, + "twerk": 28506, + "twi": 5537, + "twice": 6970, + "twick": 34326, + "twickenham": 39619, + "twil": 12804, + "twili": 35754, + "twilight": 46366, + "twilight": 14512, + "twill": 43703, + "twin": 9342, + "twin": 6769, + "twine": 42775, + "twinkle": 36545, + "twinning": 30156, + "twinpeaks": 32042, + "twins": 8040, + "twist": 10589, + "twisted": 18233, + "twister": 45933, + "twists": 34149, + "twit": 1643, + "twit": 18704, + "twitart": 27709, + "twitch": 13251, + "twitch": 9153, + "twitter": 7546, + "twitter": 1989, + "twitterkurds": 32722, + "twitterstorians": 35389, + "two": 17211, + "two": 1237, + "twol": 31964, + "twood": 40404, + "twood": 13245, + "twp": 33283, + "twright": 46778, + "twt": 6825, + "twx": 26830, + "twy": 45861, + "tx": 6636, + "tx": 5200, + "txhsfb": 34757, + "txlege": 26995, + "txst": 40761, + "txt": 24595, + "txwx": 22995, + "ty": 1260, + "ty": 744, + "tya": 41273, + "tycoon": 36803, + "tye": 43097, + "tyfree": 41215, + "tyga": 41952, + "tying": 22559, + "tyl": 47537, + "tyler": 14787, + "tyler": 7058, + "tym": 45772, + "tyne": 27000, + "tyne": 29729, + "tyour": 16823, + "type": 15673, + "type": 3877, + "typed": 40753, + "typeface": 44969, + "types": 7543, + "typewriter": 42180, + "typho": 17486, + "typhoon": 21110, + "typic": 21648, + "typical": 9854, + "typically": 23175, + "typing": 20102, + "typo": 18831, + "typo": 29076, + "typography": 24332, + "tyr": 15590, + "tyran": 46921, + "tyranny": 35402, + "tyre": 38330, + "tyre": 16864, + "tyres": 21376, + "tyrone": 30226, + "tyson": 16616, + "tz": 7710, + "tz": 4983, + "tzer": 45267, + "tzky": 47127, + "tzman": 46032, + "tzu": 34354, + "té": 27208, + "té": 39694, + "u": 84, + "u": 340, + "ua": 34075, + "ua": 8441, + "uaap": 46753, + "uaap": 43774, + "uab": 35587, + "uae": 9752, + "ual": 1921, + "ually": 10767, + "uan": 33062, + "uas": 38339, + "uav": 30303, + "ub": 18430, + "ub": 13494, + "uba": 29768, + "ubc": 42479, + "ubc": 29455, + "ube": 30892, + "uber": 25896, + "uber": 10668, + "ubi": 26758, + "ubio": 32867, + "ubiquit": 48129, + "ubis": 28248, + "ubisoft": 32051, + "ubs": 43851, + "ubun": 28184, + "ubuntu": 30791, + "uc": 4903, + "uc": 12438, + "uca": 30942, + "ucc": 44844, + "ucc": 29138, + "ucci": 30746, + "uccino": 30409, + "ucd": 44746, + "ucd": 43514, + "ucf": 24414, + "uch": 19465, + "uch": 22394, + "uchi": 37473, + "uci": 46354, + "uci": 28925, + "uck": 34189, + "ucl": 12013, + "ucl": 13647, + "ucla": 37667, + "ucla": 17259, + "ucn": 49036, + "uconn": 30549, + "ud": 6560, + "ud": 5765, + "uda": 22800, + "udaipur": 49385, + "uddin": 43035, + "ude": 37016, + "ude": 35194, + "ue": 16696, + "ue": 1190, + "uefa": 19189, + "uel": 24231, + "uer": 45951, + "ues": 2526, + "uf": 17777, + "uf": 19230, + "ufc": 20396, + "ufc": 6490, + "uff": 45701, + "ufo": 19443, + "ufos": 48234, + "ug": 3754, + "ug": 16061, + "uga": 16056, + "ugand": 25965, + "uganda": 11125, + "ugandan": 44206, + "ugby": 30658, + "ugh": 39736, + "ugh": 12755, + "ugliest": 43543, + "ugly": 36070, + "ugly": 8159, + "ugu": 18144, + "uh": 17661, + "uh": 9219, + "uhc": 44974, + "uhh": 35938, + "uhhh": 45270, + "uhm": 35614, + "uhur": 29434, + "uhuru": 35690, + "ui": 17326, + "ui": 11458, + "uil": 29395, + "uit": 30696, + "uit": 47584, + "uj": 33266, + "uji": 39672, + "uk": 2294, + "uk": 1432, + "uka": 23294, + "uke": 48836, + "uke": 28577, + "uked": 48987, + "uki": 37435, + "uki": 9009, + "ukin": 34996, + "ukip": 20360, + "uklabour": 36902, + "ukmfg": 38764, + "uko": 33562, + "ukone": 24682, + "ukrain": 15468, + "ukraine": 7768, + "ukrainian": 16927, + "ukrunchat": 34481, + "uku": 29541, + "uku": 36082, + "ukulele": 39094, + "ul": 914, + "ul": 6625, + "ula": 34104, + "ula": 9506, + "ular": 4927, + "ulary": 21701, + "ulate": 20467, + "ulation": 32896, + "ule": 35616, + "ules": 26274, + "ulf": 49331, + "uli": 41841, + "uli": 22174, + "ull": 33254, + "ulla": 30577, + "ullah": 45310, + "ullivan": 45252, + "ulls": 37418, + "ulo": 46084, + "ulo": 36738, + "ulous": 42490, + "ulous": 4281, + "ulously": 20167, + "ulster": 29709, + "ulster": 24639, + "ult": 4380, + "ulti": 11925, + "ulties": 21884, + "ultimat": 16522, + "ultimate": 34684, + "ultimate": 5377, + "ultimatefan": 48372, + "ultimatefanlive": 48644, + "ultimately": 23023, + "ultr": 25636, + "ultra": 11398, + "ultra": 8118, + "ultram": 44519, + "ultrasound": 29717, + "ulture": 22272, + "ulty": 8036, + "ulu": 41815, + "ulu": 15659, + "ulum": 17235, + "uly": 33220, + "ulysses": 46114, + "um": 1622, + "um": 1008, + "uma": 29982, + "uma": 9256, + "uman": 27112, + "umar": 25656, + "umass": 39390, + "umatic": 45006, + "umb": 7493, + "umber": 19195, + "umbrel": 34773, + "umbrella": 17143, + "umbrellas": 42782, + "umbria": 39287, + "umc": 39491, + "umd": 42067, + "ume": 38480, + "umen": 42832, + "uments": 25924, + "umer": 23539, + "umes": 21403, + "umi": 48772, + "umi": 15458, + "umich": 41294, + "umin": 31542, + "umm": 26129, + "umm": 21215, + "ummer": 47628, + "ummm": 33665, + "umni": 31739, + "ump": 22224, + "umpire": 36214, + "ums": 8643, + "umu": 39788, + "un": 569, + "un": 2271, + "una": 6385, + "unable": 17793, + "unacceptable": 25234, + "unanim": 20800, + "unanimous": 33520, + "unanimously": 31798, + "unanswered": 43611, + "unarmed": 41541, + "unas": 41366, + "unavailable": 48430, + "unaware": 33347, + "unbeat": 37056, + "unbeatable": 40267, + "unbeaten": 19228, + "unbeliev": 11383, + "unbelievable": 13306, + "unbelievably": 33781, + "unborn": 37257, + "unboxing": 32866, + "unbreakable": 32956, + "unbroken": 49271, + "unc": 24921, + "unc": 15322, + "uncanny": 32556, + "uncertain": 30384, + "uncertainty": 23956, + "unch": 1527, + "unchanged": 34272, + "uncharted": 34560, + "unci": 25521, + "unciation": 34117, + "uncle": 31537, + "uncle": 8002, + "unclear": 32955, + "uncles": 45335, + "uncomfortable": 22470, + "uncommon": 34888, + "uncondition": 46561, + "unconditional": 31112, + "unconscious": 34791, + "unconstitutional": 43585, + "unconventional": 39440, + "uncover": 33031, + "uncovered": 28234, + "uncture": 38736, + "uncut": 41056, + "und": 9762, + "und": 9732, + "unda": 39932, + "undant": 25377, + "unday": 29338, + "unde": 45226, + "undead": 40105, + "undecided": 49368, + "undefeated": 15326, + "undeni": 38424, + "under": 1473, + "under": 1798, + "underage": 45669, + "underattack": 35075, + "undercover": 21595, + "underdog": 44266, + "undere": 21675, + "underestim": 23348, + "underestimate": 31794, + "undergo": 31545, + "undergoing": 26419, + "undergrad": 38331, + "undergraduate": 24320, + "underground": 9396, + "undering": 30826, + "underlying": 31812, + "undermine": 42839, + "underneath": 20857, + "underrated": 19494, + "unders": 20376, + "understand": 47582, + "understand": 4600, + "understanding": 7522, + "understands": 21607, + "understatement": 38296, + "understood": 17303, + "undertaker": 40144, + "undertaking": 49067, + "undertale": 48283, + "underthe": 41161, + "underwater": 14760, + "underway": 6273, + "underwear": 21154, + "underwood": 21474, + "underworld": 34760, + "undi": 23845, + "undisclosed": 39334, + "undo": 35454, + "undocumented": 35414, + "undoub": 38836, + "undoubtedly": 42204, + "undp": 26691, + "une": 4522, + "une": 10966, + "unearth": 32716, + "unearthed": 36632, + "unemp": 15139, + "unemployed": 32721, + "unemployment": 19350, + "unes": 6394, + "unesco": 16216, + "uneven": 43204, + "unex": 9484, + "unexpe": 10802, + "unexpec": 31829, + "unexpected": 12293, + "unexpectedly": 35622, + "unf": 29285, + "unfair": 22193, + "unfinished": 26526, + "unfit": 45367, + "unfold": 38681, + "unfollow": 38797, + "unfor": 14010, + "unforgettable": 16173, + "unfortun": 10194, + "unfortunate": 22361, + "unfortunately": 12863, + "unfpa": 45048, + "ung": 10439, + "ung": 4334, + "unga": 19151, + "ungsoo": 25582, + "unh": 25365, + "unhappy": 26528, + "unhcr": 43451, + "unhealthy": 30994, + "uni": 1107, + "uni": 5926, + "unic": 7648, + "unicef": 38286, + "unicef": 19259, + "unicorn": 15660, + "unicorns": 35183, + "unidenti": 33707, + "unidentified": 35563, + "unification": 45036, + "unified": 20876, + "uniform": 11075, + "uniforms": 17838, + "unil": 32388, + "unilever": 48654, + "uniof": 21218, + "union": 14210, + "union": 3503, + "unions": 18353, + "unis": 30482, + "unis": 39266, + "unisex": 27609, + "unison": 46694, + "unit": 28522, + "unit": 5695, + "unite": 15078, + "unite": 11305, + "uniteblue": 20935, + "united": 10898, + "united": 2690, + "unitedstates": 39636, + "unitedway": 47486, + "unites": 32061, + "uniting": 31318, + "units": 10394, + "unity": 38300, + "unity": 8581, + "univ": 36680, + "univ": 14896, + "univer": 15574, + "univers": 5855, + "universal": 19148, + "universal": 8754, + "universe": 6104, + "universi": 41692, + "universit": 26019, + "universities": 16408, + "university": 40728, + "university": 2182, + "universityof": 46158, + "unk": 5542, + "unknown": 8685, + "unl": 43807, + "unlawful": 42305, + "unle": 19677, + "unlea": 23893, + "unleash": 26706, + "unleashed": 27955, + "unless": 10602, + "unlike": 16694, + "unlikely": 18904, + "unlimited": 11015, + "unlock": 18649, + "unlocked": 16770, + "unlocking": 40810, + "unlucky": 35029, + "unlv": 42283, + "unmanned": 36751, + "unmatched": 46054, + "unn": 38364, + "unnamed": 44985, + "unnecessary": 24100, + "unner": 31481, + "unning": 43282, + "unnoticed": 42807, + "uno": 32446, + "uno": 17078, + "unofficial": 22506, + "unpacking": 43589, + "unpaid": 32811, + "unparalleled": 44396, + "unplugged": 31724, + "unpopular": 40232, + "unprece": 23054, + "unprecedented": 23344, + "unpredictable": 38684, + "unra": 45150, + "unreal": 46980, + "unreal": 15636, + "unrelated": 38644, + "unreleased": 29654, + "unrest": 36452, + "uns": 25908, + "unsafe": 32071, + "unsc": 36395, + "unseen": 19069, + "unsigned": 39346, + "unsolved": 40836, + "unsplash": 46196, + "unstable": 34730, + "unstopp": 22105, + "unstoppable": 23484, + "unsuccessful": 47478, + "unsung": 33015, + "unsure": 26396, + "unt": 19654, + "unt": 6537, + "until": 1942, + "untitled": 21309, + "unto": 19801, + "untold": 32206, + "untouch": 44509, + "untouched": 42764, + "unused": 29636, + "unusual": 12613, + "unusually": 36465, + "unve": 6685, + "unveil": 20483, + "unveiled": 13572, + "unveiling": 20327, + "unveils": 15057, + "unwanted": 25285, + "unwind": 34064, + "unya": 37142, + "uo": 30874, + "uo": 36162, + "uof": 11155, + "uoft": 37329, + "uon": 48144, + "uous": 40185, + "up": 1083, + "up": 705, + "upa": 31727, + "upbeat": 39201, + "upcoming": 4196, + "upcycled": 46552, + "upd": 3226, + "update": 2491, + "updated": 5974, + "updates": 4904, + "updating": 22792, + "uper": 38082, + "uper": 33056, + "upfront": 42064, + "upgrade": 10365, + "upgraded": 18577, + "upgrades": 21253, + "upgrading": 34368, + "uph": 14128, + "uphill": 42767, + "uphol": 26195, + "uphold": 43897, + "upholstery": 44556, + "upl": 41939, + "uplift": 45389, + "uplifting": 29546, + "upload": 13968, + "uploaded": 16793, + "uploading": 30145, + "upon": 23524, + "upon": 5067, + "upp": 19549, + "upp": 45946, + "upper": 22465, + "upper": 7067, + "upri": 15982, + "upright": 29818, + "uprising": 26006, + "upro": 28922, + "ups": 6926, + "upscale": 47501, + "upset": 11214, + "upsets": 42637, + "upside": 15362, + "upstairs": 21387, + "upstate": 33335, + "upstream": 45517, + "upthe": 31510, + "upto": 26575, + "upton": 31910, + "uptown": 23807, + "upward": 32526, + "upwards": 34915, + "uq": 39591, + "ur": 565, + "ur": 1775, + "ura": 29337, + "ura": 3544, + "urable": 40194, + "ural": 23547, + "ural": 33948, + "uran": 16197, + "uranium": 29850, + "urban": 7931, + "urban": 5800, + "urbanart": 40834, + "urd": 47880, + "urday": 19742, + "urdu": 29976, + "ure": 5514, + "ure": 726, + "ured": 4210, + "urer": 20864, + "ures": 2288, + "urg": 35995, + "urge": 14852, + "urged": 23790, + "urgency": 47612, + "urgent": 13693, + "urgently": 34534, + "urges": 16692, + "urging": 27748, + "uri": 11052, + "uri": 8699, + "urie": 46429, + "urin": 45245, + "urine": 28864, + "uring": 1351, + "url": 23464, + "urn": 38075, + "uro": 17343, + "uro": 5925, + "urology": 48585, + "urope": 14918, + "urs": 4794, + "urself": 31942, + "urst": 19181, + "urstruly": 34751, + "urstrulymahesh": 35314, + "ursula": 38390, + "urt": 24309, + "uru": 16322, + "uru": 11768, + "uruguay": 27931, + "urus": 14246, + "urve": 24583, + "ury": 8642, + "ury": 2106, + "us": 904, + "us": 718, + "usa": 9491, + "usa": 2547, + "usability": 46736, + "usable": 22890, + "usaf": 25017, + "usage": 19137, + "usaid": 34507, + "usair": 36742, + "usairforce": 42179, + "usarmy": 19132, + "usatoday": 40263, + "usav": 36056, + "usb": 10281, + "usc": 13346, + "usc": 14995, + "uscg": 43932, + "usd": 7485, + "usda": 25829, + "use": 4419, + "use": 1483, + "used": 32289, + "used": 2026, + "useful": 9784, + "useless": 20154, + "usemb": 39700, + "user": 21248, + "user": 7031, + "username": 28162, + "users": 7433, + "uses": 5282, + "useum": 45189, + "usf": 32385, + "usf": 28942, + "usgs": 35103, + "ush": 12001, + "ush": 18335, + "usher": 27411, + "ushi": 47734, + "usi": 25540, + "usic": 34909, + "usic": 16753, + "using": 1996, + "usky": 45778, + "usl": 42113, + "usm": 40041, + "usmc": 21678, + "usmnt": 30662, + "usn": 40579, + "usnavy": 24500, + "usnews": 43752, + "uso": 21539, + "usopen": 21782, + "usp": 26651, + "usps": 39980, + "usrc": 33274, + "uss": 11545, + "uss": 9260, + "ussia": 29553, + "ussoccer": 42828, + "ussr": 32697, + "ust": 35501, + "ust": 24725, + "usu": 4254, + "usu": 40434, + "usual": 6129, + "usually": 8296, + "usur": 45582, + "uswnt": 35255, + "ut": 1419, + "ut": 3641, + "uta": 42706, + "uta": 25925, + "utah": 27474, + "utah": 9312, + "utc": 18196, + "utd": 10493, + "ute": 16856, + "ute": 3130, + "uten": 32089, + "uter": 39197, + "utes": 2850, + "uth": 48819, + "uth": 44750, + "uti": 24568, + "util": 28824, + "utili": 17015, + "utilities": 27210, + "utility": 14941, + "utilize": 36861, + "utilized": 47604, + "utilizing": 40212, + "utm": 47853, + "utmost": 42352, + "uto": 18866, + "uto": 13683, + "utopia": 34433, + "utpol": 42605, + "utr": 48726, + "utrecht": 37216, + "uts": 11740, + "utsa": 37528, + "utt": 17096, + "uttar": 40168, + "uttarak": 33755, + "uttarakhand": 35655, + "utter": 18769, + "utter": 24558, + "utterly": 21353, + "utto": 42183, + "utv": 36351, + "utz": 45320, + "uu": 5702, + "uu": 14553, + "uuu": 44355, + "uuu": 27656, + "uuuu": 16720, + "uuuu": 40797, + "uv": 23777, + "uv": 15977, + "uva": 23908, + "uw": 13933, + "uw": 19166, + "uwe": 48785, + "uwu": 35544, + "ux": 9251, + "ux": 6213, + "uy": 31929, + "uy": 48113, + "uz": 19398, + "uz": 36991, + "uzbe": 43007, + "uzbekistan": 45024, + "uzzi": 48210, + "v": 85, + "v": 341, + "va": 4648, + "va": 1892, + "vaa": 37488, + "vable": 23088, + "vac": 3125, + "vac": 34085, + "vaca": 48215, + "vacancies": 26333, + "vacancy": 21247, + "vacant": 25262, + "vacation": 28336, + "vacation": 6561, + "vacations": 29002, + "vacay": 44716, + "vacc": 13342, + "vaccin": 19164, + "vaccinated": 48134, + "vaccination": 32518, + "vaccine": 47780, + "vaccine": 17493, + "vaccines": 25860, + "vach": 46211, + "vacu": 16058, + "vacuum": 18420, + "vad": 11880, + "vada": 46759, + "vader": 21908, + "vae": 39384, + "vag": 13015, + "vague": 42154, + "vah": 26921, + "vai": 26893, + "vai": 36802, + "vail": 21189, + "vain": 25538, + "vais": 28719, + "vaj": 34206, + "vak": 16288, + "vak": 41597, + "val": 1214, + "val": 1560, + "vala": 48525, + "valdez": 40617, + "vale": 35554, + "vale": 10820, + "valedic": 43525, + "valen": 12630, + "valence": 30225, + "valenci": 34183, + "valencia": 16559, + "valent": 3655, + "valent": 15300, + "valentin": 48631, + "valentina": 43741, + "valentine": 11208, + "valentine": 5876, + "valentines": 10259, + "valentinesday": 12369, + "valentino": 29624, + "valeri": 31951, + "valerie": 25592, + "valet": 45749, + "vali": 8230, + "valiant": 33804, + "valid": 15126, + "validation": 32536, + "valkyrie": 42326, + "vall": 23523, + "vall": 35295, + "vallarta": 47874, + "valle": 24857, + "valle": 29105, + "valley": 18354, + "valley": 3136, + "valleys": 28649, + "valor": 30930, + "vals": 7431, + "valu": 6291, + "valuable": 10056, + "valuation": 25894, + "value": 41358, + "value": 4602, + "valued": 17801, + "values": 8857, + "valve": 17001, + "valves": 33517, + "vam": 9983, + "vamo": 46718, + "vamos": 30346, + "vamp": 10680, + "vampi": 47017, + "vampire": 47576, + "vampire": 13220, + "vampires": 30868, + "vamps": 44810, + "van": 2446, + "van": 2451, + "vana": 20543, + "vanc": 6320, + "vance": 31447, + "vancou": 6750, + "vancouver": 31904, + "vancouver": 7208, + "vand": 11691, + "vandalism": 45664, + "vander": 16264, + "vanderbilt": 33524, + "vandy": 39268, + "vane": 43828, + "vaness": 13328, + "vanessa": 16836, + "vangogh": 47849, + "vanguard": 27916, + "vani": 15396, + "vani": 26459, + "vania": 10998, + "vanilla": 11974, + "vanished": 43783, + "vanishing": 48296, + "vanity": 48353, + "vanity": 22938, + "vans": 11711, + "vant": 26298, + "vantage": 31749, + "vanu": 42892, + "vanuatu": 48766, + "vap": 10462, + "vape": 25423, + "vape": 20219, + "vaping": 29403, + "vapor": 37167, + "vapor": 30729, + "vapori": 46183, + "var": 3187, + "var": 12998, + "vara": 47492, + "varan": 36585, + "varanasi": 39364, + "vard": 21866, + "vard": 8773, + "vardy": 47371, + "vare": 38159, + "vares": 42895, + "vargas": 32752, + "vari": 3354, + "variable": 26416, + "varian": 34334, + "variant": 20293, + "variants": 38312, + "variation": 26420, + "variations": 29025, + "varied": 32334, + "varies": 32543, + "varieties": 23805, + "variety": 8396, + "various": 7395, + "varsity": 43716, + "varsity": 8574, + "varun": 48120, + "varun": 22069, + "vary": 18855, + "varying": 36456, + "vas": 5669, + "vas": 5995, + "vasc": 40995, + "vascular": 19218, + "vase": 20431, + "vasi": 49092, + "vast": 24413, + "vast": 16414, + "vastly": 48257, + "vat": 11588, + "vat": 18363, + "vatican": 21030, + "vation": 37884, + "vau": 6391, + "vaugh": 25158, + "vaughan": 21392, + "vaughn": 29013, + "vaul": 27469, + "vault": 15240, + "vaus": 40217, + "vaux": 27403, + "vauxhall": 29173, + "vaw": 47952, + "vay": 48000, + "vaz": 38142, + "vb": 29365, + "vb": 8778, + "vball": 38329, + "vc": 28670, + "vc": 7952, + "vcs": 43528, + "vcu": 40102, + "vd": 9515, + "vday": 42055, + "ve": 673, + "ve": 563, + "vea": 43798, + "veal": 36616, + "veau": 24419, + "vec": 19912, + "vector": 40453, + "vector": 21533, + "ved": 19515, + "ved": 1102, + "veda": 44401, + "vedere": 45660, + "vedi": 47971, + "vee": 35708, + "vee": 17073, + "veen": 22432, + "veer": 21243, + "veer": 22058, + "veg": 9048, + "veg": 16460, + "vega": 22930, + "vegan": 15705, + "vegan": 5615, + "vegans": 48514, + "vegas": 20288, + "vegas": 4413, + "vege": 6219, + "vegetable": 15725, + "vegetables": 14119, + "vegetarian": 14600, + "vegetation": 33947, + "veggie": 19401, + "veggies": 16767, + "vehic": 3973, + "vehicle": 5299, + "vehicles": 8361, + "veil": 23516, + "vein": 29169, + "veins": 28867, + "veit": 30620, + "vel": 942, + "vel": 1287, + "vela": 34898, + "veld": 34011, + "veled": 15370, + "veli": 49166, + "veling": 37970, + "vell": 21173, + "vell": 32997, + "velo": 14357, + "velo": 33850, + "velocity": 23811, + "vels": 5109, + "velve": 37849, + "velvet": 11063, + "vely": 1708, + "vember": 3477, + "vement": 3129, + "vements": 11104, + "ven": 1240, + "ven": 1638, + "vena": 47442, + "vend": 10851, + "vending": 29202, + "vendor": 21261, + "vendors": 20353, + "vene": 5365, + "veness": 10516, + "venetian": 34336, + "venezia": 34139, + "venezu": 10939, + "venezuela": 12839, + "venezuelan": 34699, + "veng": 31526, + "venge": 27757, + "vengeance": 32057, + "veni": 31142, + "venice": 11010, + "vening": 47532, + "venison": 40037, + "venom": 42491, + "venom": 21588, + "vens": 20884, + "vent": 4373, + "vent": 5687, + "ventil": 39522, + "ventilation": 35066, + "venting": 15731, + "vention": 4122, + "vents": 12833, + "ventu": 48217, + "ventura": 20921, + "venture": 37046, + "venture": 12543, + "ventures": 20829, + "venue": 5097, + "venues": 18120, + "venus": 14691, + "ver": 624, + "ver": 667, + "vera": 13350, + "verage": 3725, + "verb": 34952, + "verbal": 26522, + "verbally": 39985, + "verbs": 45687, + "verde": 16935, + "verdi": 42306, + "verdict": 18030, + "vere": 11135, + "vere": 34707, + "vered": 2868, + "verge": 23913, + "veri": 11638, + "verification": 33521, + "verified": 22555, + "verify": 34722, + "vering": 4630, + "veriz": 19707, + "verizon": 21532, + "verma": 41261, + "vermont": 19241, + "vern": 2214, + "vern": 12586, + "verne": 45553, + "vernon": 18348, + "vero": 45217, + "vero": 38208, + "verona": 31819, + "veronic": 39551, + "veronica": 24039, + "vers": 1219, + "vers": 2094, + "versa": 35765, + "versace": 25422, + "versail": 29857, + "versailles": 32129, + "versary": 2940, + "versatile": 18110, + "versatility": 41340, + "verse": 39466, + "verse": 3131, + "verses": 30769, + "versi": 8934, + "version": 3273, + "versions": 16190, + "versity": 1906, + "verst": 42484, + "verstappen": 45064, + "versus": 14548, + "versy": 18522, + "vert": 11742, + "verte": 35158, + "verted": 48173, + "verti": 30459, + "vertical": 14293, + "vertigo": 42477, + "verton": 40632, + "verts": 37265, + "very": 11698, + "very": 1070, + "veryday": 37944, + "verything": 45174, + "ves": 9616, + "ves": 1003, + "vesmatter": 47636, + "vespa": 46029, + "vessel": 16387, + "vessels": 22822, + "vest": 31657, + "vest": 12473, + "vesti": 40349, + "vests": 41906, + "vet": 12294, + "vet": 5951, + "veter": 4330, + "veteran": 20797, + "veteran": 8814, + "veterans": 7092, + "veteransday": 26409, + "veterin": 43959, + "veterinary": 25458, + "veto": 36570, + "vets": 13113, + "vette": 17045, + "vettel": 28700, + "vevo": 35141, + "vex": 36187, + "vex": 43978, + "vey": 34792, + "vey": 3884, + "vez": 35987, + "vez": 17226, + "vf": 25966, + "vfl": 33726, + "vfx": 30149, + "vg": 40591, + "vg": 22346, + "vh": 46953, + "vh": 23847, + "vhs": 21932, + "vi": 603, + "vi": 4259, + "via": 1048, + "viable": 25752, + "viadu": 37012, + "viaduct": 39113, + "vial": 39951, + "vian": 40487, + "vian": 16124, + "vibe": 37974, + "vibe": 12813, + "vibes": 7764, + "vibr": 9527, + "vibrant": 14270, + "vibration": 37456, + "vibrations": 43660, + "vic": 1555, + "vic": 4412, + "vica": 46168, + "vicar": 43899, + "vice": 43572, + "vice": 6931, + "vicente": 39411, + "vices": 8332, + "vich": 24143, + "vici": 46670, + "vicious": 25177, + "vick": 15116, + "vick": 29704, + "vickers": 48452, + "vicki": 34927, + "vicky": 37176, + "vicky": 25788, + "victi": 6861, + "victim": 9133, + "victims": 7131, + "victor": 2423, + "victor": 10690, + "victori": 17555, + "victoria": 39286, + "victoria": 6127, + "victorian": 12350, + "victorias": 47791, + "victories": 24577, + "victorious": 24033, + "victory": 36668, + "victory": 4127, + "vid": 17233, + "vid": 9284, + "vida": 19015, + "vidal": 36678, + "vide": 1334, + "vide": 45244, + "video": 9478, + "video": 1455, + "videogame": 35097, + "videogames": 21149, + "videos": 6081, + "vids": 23035, + "vidy": 29639, + "vidya": 45264, + "vie": 922, + "vie": 8538, + "vien": 36493, + "vienna": 12670, + "vier": 15352, + "vier": 11987, + "viera": 21114, + "viernes": 33826, + "vies": 22458, + "viest": 31979, + "viet": 17558, + "viet": 13128, + "vietnam": 19558, + "vietnam": 8623, + "vietnamese": 22382, + "view": 12004, + "view": 1093, + "viewed": 7226, + "viewer": 15061, + "viewers": 14275, + "viewing": 7124, + "viewpoint": 41604, + "views": 2758, + "vig": 8549, + "vig": 45083, + "vigil": 21538, + "vigil": 19896, + "vigilant": 43026, + "vigne": 40447, + "vigne": 34581, + "vigo": 44097, + "vigor": 26781, + "vii": 17759, + "viii": 20414, + "vijay": 12014, + "vijay": 10823, + "vijaysethu": 47966, + "vik": 10764, + "vik": 17181, + "vika": 39562, + "vikas": 37116, + "viking": 26663, + "viking": 15897, + "vikings": 11713, + "vikram": 41136, + "vikram": 24314, + "viktor": 36101, + "vil": 1338, + "vil": 3000, + "vila": 37505, + "vile": 27247, + "vill": 10481, + "vill": 45698, + "villa": 3203, + "villa": 7754, + "village": 34584, + "village": 4331, + "villagers": 34283, + "villages": 17621, + "villain": 15425, + "villains": 25271, + "villanova": 44025, + "villar": 35164, + "villas": 28907, + "ville": 11110, + "ville": 1930, + "villen": 46177, + "villi": 36907, + "vimeo": 48720, + "vin": 1379, + "vin": 2558, + "vina": 35682, + "vinai": 37396, + "vinaigrette": 39876, + "vinay": 43952, + "vince": 32429, + "vince": 6236, + "vincen": 33402, + "vincent": 29069, + "vincent": 10357, + "vinci": 30199, + "vind": 20275, + "vindic": 39582, + "vine": 8471, + "vine": 7721, + "vinegar": 23834, + "vines": 21268, + "vineyard": 16527, + "vineyards": 23082, + "ving": 5375, + "ving": 903, + "vingne": 42579, + "vings": 22510, + "vini": 48119, + "vinnie": 40885, + "vinny": 36794, + "vino": 14509, + "vinod": 43348, + "vins": 34820, + "vinson": 45945, + "vintag": 10936, + "vintage": 13654, + "vintage": 3266, + "viny": 40990, + "vinyl": 22835, + "vinyl": 5754, + "vio": 11913, + "vio": 20324, + "viol": 3164, + "viola": 27438, + "violate": 44875, + "violated": 38192, + "violating": 37554, + "violation": 22919, + "violations": 21969, + "violence": 5450, + "violent": 11565, + "violently": 47758, + "violet": 16118, + "violets": 42861, + "violin": 17058, + "violinist": 36299, + "vion": 35496, + "vious": 6418, + "viously": 7149, + "vip": 45714, + "vip": 7111, + "viper": 27401, + "vips": 41149, + "vir": 1790, + "vir": 25319, + "vira": 35910, + "viral": 11653, + "virat": 32473, + "virgil": 39076, + "virgin": 5651, + "virgin": 12103, + "virgini": 43426, + "virginia": 6728, + "virgo": 39978, + "viro": 32301, + "viron": 38309, + "virtu": 7977, + "virtual": 18059, + "virtual": 7790, + "virtually": 22475, + "virtualreality": 32608, + "virtue": 26860, + "virtues": 42167, + "virtuoso": 47027, + "virus": 11808, + "viruses": 34830, + "vis": 1301, + "vis": 5337, + "visa": 12802, + "visas": 41228, + "vise": 24977, + "vised": 14810, + "vish": 12024, + "vish": 29124, + "vishal": 33648, + "vishnu": 37816, + "visi": 1409, + "visibility": 15921, + "visible": 36658, + "visible": 8626, + "vising": 37439, + "vision": 11147, + "vision": 2515, + "visional": 24627, + "visionary": 22959, + "visions": 13804, + "visit": 3388, + "visit": 1600, + "visitation": 44370, + "visited": 5580, + "visiting": 4680, + "visitor": 13881, + "visitors": 9160, + "visits": 8489, + "visitscotland": 28760, + "visitspain": 48860, + "vism": 15514, + "viso": 46732, + "visor": 24217, + "vist": 21436, + "vista": 13865, + "visu": 7739, + "visual": 17004, + "visual": 7195, + "visualization": 28500, + "visualize": 45057, + "visually": 25743, + "visuals": 21315, + "viswas": 36513, + "viswasam": 47664, + "vit": 4056, + "vit": 35580, + "vita": 15700, + "vital": 32525, + "vital": 10585, + "vitality": 36385, + "vitam": 9856, + "vitamin": 13675, + "vitamins": 22582, + "vito": 36725, + "vity": 4893, + "vitz": 26188, + "vius": 41571, + "viv": 21827, + "viv": 35363, + "viva": 17399, + "vival": 35920, + "vive": 18980, + "vive": 24004, + "vivek": 36243, + "vivi": 11625, + "vivian": 30129, + "vivid": 22984, + "vivo": 28091, + "vivo": 25888, + "vix": 28976, + "vix": 34811, + "vixen": 38757, + "vixx": 32106, + "viz": 28251, + "viz": 31786, + "vj": 45439, + "vj": 30827, + "vk": 41893, + "vl": 37580, + "vl": 36442, + "vla": 23686, + "vlad": 41089, + "vladi": 19320, + "vladimir": 21702, + "vlive": 46797, + "vlog": 18894, + "vm": 16204, + "vm": 20269, + "vma": 35666, + "vmas": 30236, + "vmware": 29615, + "vn": 47098, + "vn": 25076, + "vo": 947, + "vo": 3951, + "voc": 4105, + "voc": 20855, + "vocab": 21346, + "vocabulary": 23804, + "vocal": 34037, + "vocal": 13147, + "vocali": 19134, + "vocalist": 22102, + "vocals": 17666, + "vocation": 20521, + "vocational": 33751, + "vod": 11820, + "vod": 35854, + "vodaf": 28436, + "vodafone": 38695, + "vodka": 13646, + "vogel": 44960, + "vogue": 24418, + "vogue": 13178, + "voic": 29185, + "voice": 13179, + "voice": 3386, + "voiced": 34352, + "voiceof": 44966, + "voiceover": 41979, + "voices": 9144, + "void": 21561, + "voip": 42762, + "voir": 16036, + "vol": 1343, + "vol": 7945, + "volatile": 41022, + "volatility": 32355, + "volcan": 9916, + "volcanic": 24072, + "volcano": 14581, + "volcanoes": 38055, + "voli": 40138, + "volk": 13432, + "volkswag": 14407, + "volkswagen": 15342, + "volley": 7130, + "volley": 34656, + "volleyball": 7458, + "volo": 44791, + "vols": 20404, + "volt": 26430, + "volta": 29879, + "volta": 33480, + "voltage": 23118, + "voltron": 39314, + "volu": 3563, + "volume": 8284, + "volumes": 22651, + "volun": 3356, + "voluntar": 48823, + "voluntary": 23815, + "volunte": 3556, + "volunteer": 32331, + "volunteer": 7114, + "volunteered": 34000, + "volunteering": 14902, + "volunteers": 5939, + "volution": 24043, + "volved": 42888, + "volvo": 39991, + "volvo": 16906, + "vom": 24198, + "vomit": 46485, + "von": 11269, + "von": 8497, + "voo": 19497, + "voodoo": 26869, + "voor": 34291, + "voor": 34464, + "vor": 8338, + "vor": 5308, + "vore": 18215, + "vortex": 30071, + "vos": 16863, + "vot": 48558, + "vote": 6830, + "vote": 2187, + "voted": 6454, + "votel": 41379, + "voter": 44474, + "voter": 14065, + "voters": 8925, + "votes": 6693, + "voting": 5756, + "vou": 11045, + "voucher": 18190, + "vouchers": 23384, + "vous": 10636, + "vow": 34787, + "vows": 21677, + "vox": 29215, + "vox": 22692, + "voy": 10622, + "voy": 15021, + "voyage": 16299, + "voyager": 29669, + "vp": 32758, + "vp": 3896, + "vpn": 38212, + "vr": 16840, + "vr": 5921, + "vre": 44500, + "vre": 17501, + "vs": 11385, + "vs": 1547, + "vsco": 26752, + "vsco": 32822, + "vscocam": 34694, + "vsky": 37791, + "vss": 31919, + "vt": 31732, + "vt": 10291, + "vu": 8664, + "vu": 13230, + "vue": 43915, + "vue": 19313, + "vuel": 31312, + "vuelta": 43856, + "vuitton": 26705, + "vul": 6856, + "vulcan": 34767, + "vulner": 11213, + "vulnerability": 28797, + "vulnerable": 14332, + "vulture": 34593, + "vultures": 47197, + "vv": 19264, + "vv": 35686, + "vw": 28650, + "vw": 13250, + "vx": 47644, + "vy": 11566, + "vy": 5157, + "w": 86, + "w": 342, + "wa": 869, + "wa": 2663, + "waa": 35874, + "wab": 19893, + "wab": 36852, + "wac": 27445, + "wac": 37947, + "wack": 22880, + "wack": 38270, + "wacky": 34318, + "waco": 36035, + "wad": 11133, + "wad": 30451, + "wada": 40006, + "wade": 40237, + "wade": 14180, + "wadi": 37253, + "waf": 17638, + "wafc": 49086, + "waff": 13940, + "waffle": 20375, + "waffles": 24205, + "wag": 5764, + "wag": 19177, + "wage": 10716, + "wager": 43430, + "wages": 19114, + "wagner": 18081, + "wagon": 13260, + "wagons": 47944, + "wags": 48580, + "wah": 24812, + "wah": 18014, + "wahl": 27500, + "wahlberg": 35151, + "wahoo": 47995, + "wai": 11469, + "wai": 21569, + "waifu": 46551, + "waikiki": 44907, + "wain": 28358, + "wain": 20120, + "wainwright": 45878, + "waist": 36946, + "waist": 18459, + "wait": 10021, + "wait": 1885, + "waite": 24272, + "waited": 18492, + "waiter": 32946, + "waitin": 44482, + "waiting": 2680, + "waitress": 39760, + "waitrose": 37164, + "waits": 21361, + "waiver": 42866, + "waj": 49367, + "wak": 11172, + "wak": 36015, + "waka": 42696, + "wake": 10501, + "wake": 5731, + "wakefield": 26358, + "wakes": 29108, + "wakeup": 26328, + "wakeup": 35380, + "wakeupamerica": 37474, + "waking": 13025, + "wal": 1056, + "wal": 6903, + "wala": 16468, + "walang": 49180, + "walcott": 45744, + "wald": 46930, + "wald": 15724, + "walden": 39311, + "waldo": 32440, + "waldorf": 38227, + "wale": 41247, + "wale": 20336, + "wales": 25383, + "wales": 5110, + "walgreens": 38490, + "wali": 37576, + "wali": 14768, + "walia": 44455, + "walk": 8588, + "walk": 2374, + "walkaway": 48255, + "walked": 8667, + "walker": 24735, + "walker": 6150, + "walkers": 23366, + "walkin": 45792, + "walking": 12644, + "walking": 3941, + "walkingdead": 14948, + "walkout": 47470, + "walks": 8192, + "walkway": 36614, + "wall": 4316, + "wall": 2569, + "walla": 26007, + "walla": 39982, + "wallabies": 48926, + "wallace": 12535, + "wallart": 36223, + "walled": 36567, + "waller": 45340, + "wallet": 12154, + "wallets": 38550, + "walleye": 49099, + "wallis": 42206, + "wallpaper": 10560, + "wallpapers": 29841, + "walls": 8258, + "wallstreet": 45341, + "wally": 26024, + "walmart": 11972, + "walnut": 16310, + "walnuts": 38294, + "walsall": 42935, + "walsh": 12856, + "walt": 23535, + "walt": 14312, + "waltdisneyworld": 36505, + "walter": 31156, + "walter": 10645, + "walters": 25532, + "waltham": 42742, + "waltham": 45581, + "walton": 19485, + "waltz": 35982, + "wam": 20503, + "wamy": 46970, + "wan": 2060, + "wan": 4557, + "wana": 30830, + "wand": 14636, + "wand": 28559, + "wanda": 25070, + "wander": 12985, + "wander": 24473, + "wandered": 46593, + "wanderers": 27540, + "wandering": 22597, + "wanderlust": 16129, + "wane": 27459, + "wang": 19731, + "wang": 11900, + "wani": 21674, + "wankers": 42189, + "wann": 23622, + "wanna": 35940, + "wanna": 3836, + "wannabe": 40730, + "wannaone": 44832, + "want": 18356, + "want": 1280, + "wanted": 3146, + "wanting": 12801, + "wants": 3107, + "wap": 27393, + "wap": 30368, + "waq": 47512, + "war": 984, + "war": 2238, + "wara": 21631, + "warbler": 33891, + "warcraft": 13660, + "ward": 7728, + "ward": 1460, + "warden": 27798, + "wardly": 30780, + "wardro": 14247, + "wardrobe": 15020, + "wards": 2593, + "ware": 7416, + "ware": 4476, + "wareagle": 35716, + "warehouse": 13054, + "wareness": 41601, + "wareness": 35870, + "wares": 30692, + "warfare": 15739, + "warhammer": 26832, + "warhol": 27554, + "wari": 20977, + "wark": 46346, + "wark": 15164, + "warlock": 42455, + "warm": 14725, + "warm": 3616, + "warmed": 36695, + "warmer": 14328, + "warmest": 30910, + "warming": 8606, + "warmly": 45322, + "warmongers": 33205, + "warms": 32917, + "warmth": 19636, + "warmup": 29904, + "warmups": 44094, + "warn": 19360, + "warned": 16409, + "warner": 28564, + "warner": 13402, + "warning": 4994, + "warnings": 18098, + "warns": 14086, + "waron": 38947, + "warp": 32411, + "warped": 32125, + "warran": 17392, + "warrant": 22554, + "warrants": 45677, + "warranty": 23999, + "warren": 23143, + "warren": 9234, + "warri": 4109, + "warrington": 31203, + "warrior": 18998, + "warrior": 8148, + "warriors": 6421, + "wars": 3931, + "warsaw": 21072, + "warship": 47846, + "wart": 43535, + "wart": 7346, + "wartime": 42998, + "warts": 21781, + "warwick": 23081, + "warwick": 22215, + "warwickshire": 36766, + "wary": 36213, + "was": 3398, + "was": 739, + "wasabi": 47334, + "wash": 3363, + "wash": 7810, + "washed": 14092, + "washer": 24085, + "washes": 38950, + "washing": 13029, + "washington": 16774, + "washington": 4365, + "washingtondc": 40225, + "washingtonpost": 28426, + "wasn": 5044, + "wasnt": 29607, + "wasp": 24889, + "wasps": 35300, + "wassup": 45708, + "wast": 28886, + "waste": 18157, + "waste": 6065, + "wasted": 18278, + "wasteland": 44035, + "wastewater": 34463, + "wasting": 25577, + "wat": 800, + "wat": 10621, + "wata": 42509, + "watch": 7046, + "watch": 1239, + "watchdog": 35303, + "watched": 5775, + "watcher": 35971, + "watchers": 28443, + "watches": 9521, + "watchin": 32432, + "watching": 2113, + "water": 2505, + "water": 1573, + "watercolor": 14211, + "watercolour": 18377, + "waterfall": 16403, + "waterfalls": 26692, + "waterford": 24448, + "waterfront": 16605, + "waterhouse": 45072, + "watering": 19871, + "waterloo": 17465, + "watermelon": 19889, + "waterproof": 17613, + "waters": 7753, + "watershed": 33204, + "waterstones": 45014, + "waterways": 37395, + "watford": 23162, + "watfordfc": 37328, + "wati": 27966, + "watkins": 22539, + "watson": 35490, + "watson": 9294, + "watt": 22899, + "watt": 15805, + "wattpad": 32351, + "watts": 14750, + "wau": 9479, + "wav": 6054, + "wave": 17530, + "wave": 4535, + "waved": 44657, + "waver": 25997, + "waves": 7882, + "waving": 26545, + "wavy": 31941, + "waw": 22039, + "wawrinka": 48414, + "wawx": 47387, + "wax": 18789, + "wax": 11910, + "waxing": 38781, + "way": 3079, + "way": 923, + "wayback": 47822, + "wayne": 23632, + "wayne": 7003, + "ways": 1248, + "waz": 20889, + "waz": 48835, + "wb": 10726, + "wb": 12377, + "wba": 22675, + "wbb": 14482, + "wbc": 26745, + "wbo": 49053, + "wbz": 35471, + "wc": 4842, + "wc": 5755, + "wcc": 47166, + "wcc": 34926, + "wcpo": 46624, + "wcs": 39916, + "wcvb": 32709, + "wcw": 9041, + "wd": 15998, + "wd": 7494, + "wdw": 40334, + "we": 598, + "we": 649, + "wea": 37146, + "wea": 47301, + "weak": 12128, + "weak": 10128, + "weaker": 39735, + "weakness": 21448, + "weaknesses": 43487, + "weal": 14759, + "wealth": 33150, + "wealth": 7904, + "wealthy": 22617, + "weap": 6156, + "weapon": 42612, + "weapon": 10537, + "weapons": 10007, + "wear": 12206, + "wear": 2839, + "wearab": 22983, + "wearable": 44943, + "wearable": 24973, + "wearables": 30319, + "weare": 4264, + "weare": 27867, + "weareall": 45980, + "wearec": 43620, + "wearen": 45635, + "weareone": 16149, + "weareoneexo": 16448, + "wearethe": 40242, + "wearing": 3309, + "wears": 11869, + "weary": 38766, + "weasel": 44308, + "weather": 8808, + "weather": 2237, + "weathercee": 44980, + "weatherchannel": 42138, + "weav": 22260, + "weave": 22450, + "weaver": 20297, + "weaving": 27131, + "web": 2055, + "web": 4601, + "webb": 15708, + "webber": 34248, + "webcam": 24211, + "webcam": 22589, + "webcamtoy": 27719, + "webcast": 28256, + "webcomic": 34286, + "webcomics": 39811, + "webdesign": 20470, + "webdev": 37000, + "webdevelopment": 47553, + "weber": 20179, + "webin": 8460, + "webinar": 8921, + "webinars": 47755, + "webpage": 46964, + "webs": 32829, + "webseries": 44819, + "website": 3364, + "websites": 19278, + "webster": 19471, + "websummit": 48069, + "wec": 33152, + "wechat": 46124, + "wed": 1687, + "wed": 3478, + "wedd": 7576, + "wedding": 11204, + "wedding": 3101, + "weddings": 15964, + "wedge": 21446, + "wedges": 33179, + "wedne": 2380, + "wednesday": 9311, + "wednesday": 2689, + "wednesdaymotivation": 37860, + "wednesdays": 24943, + "wednesdaywisdom": 11445, + "wedo": 43432, + "weds": 19107, + "wee": 716, + "wee": 8288, + "weed": 36935, + "weed": 8015, + "weeds": 26326, + "week": 1286, + "week": 994, + "weekday": 29244, + "weekdays": 44330, + "weekend": 17205, + "weekend": 1456, + "weekender": 36547, + "weekends": 14564, + "weekly": 34652, + "weekly": 5885, + "weeknd": 29925, + "weeks": 2898, + "weeksary": 24628, + "ween": 17517, + "ween": 1599, + "weep": 39270, + "weeping": 36629, + "weer": 32491, + "weet": 17742, + "weets": 13454, + "wef": 23313, + "weg": 47867, + "weg": 47561, + "wego": 44784, + "wego": 28220, + "weh": 48458, + "weh": 40313, + "weho": 47798, + "wei": 6958, + "wei": 20952, + "weibo": 20613, + "weigh": 10565, + "weigh": 17346, + "weighed": 33210, + "weighing": 24455, + "weighs": 20481, + "weight": 12723, + "weight": 3868, + "weighted": 43179, + "weightlifting": 36164, + "weightloss": 20359, + "weights": 21374, + "weil": 43720, + "weiler": 42203, + "wein": 29134, + "wein": 37684, + "weiner": 38822, + "weinstein": 34367, + "weir": 11299, + "weir": 25517, + "weird": 27981, + "weird": 5613, + "weirdest": 29482, + "weirdo": 32476, + "weis": 26251, + "weiser": 34833, + "weiss": 24794, + "wel": 1267, + "wel": 8042, + "welch": 25820, + "welcom": 11578, + "welcome": 18318, + "welcome": 1881, + "welcomed": 12590, + "welcomes": 9304, + "welcometo": 47511, + "welcoming": 8775, + "weld": 39776, + "welding": 24956, + "welfare": 12129, + "well": 3277, + "well": 1123, + "wellbeing": 14273, + "weller": 40921, + "welling": 49165, + "wellington": 15389, + "wellness": 40574, + "wellness": 9904, + "wells": 42705, + "wells": 9804, + "welove": 13573, + "welp": 28391, + "wels": 20852, + "welsh": 19173, + "welsh": 10977, + "welt": 38595, + "welter": 37115, + "welterweight": 39617, + "wemb": 15213, + "wembley": 16579, + "wen": 6590, + "wen": 11278, + "wend": 15166, + "wendell": 42091, + "wendy": 31616, + "wendy": 14074, + "wenger": 21105, + "went": 18633, + "went": 2437, + "wentworth": 36423, + "wentz": 39179, + "wer": 6316, + "wer": 2980, + "were": 15461, + "were": 1365, + "wered": 6605, + "weren": 13611, + "werewolf": 32001, + "werk": 30176, + "werner": 29917, + "wers": 7110, + "wes": 18620, + "wes": 14738, + "wesle": 29606, + "wesley": 17332, + "wesleyan": 32509, + "wesome": 33292, + "wess": 44431, + "west": 2973, + "west": 1593, + "westbound": 29208, + "westbrook": 26948, + "westchester": 36675, + "westcoast": 44610, + "westend": 44815, + "wester": 9846, + "western": 17079, + "western": 4463, + "westfield": 32309, + "westh": 36798, + "westin": 43232, + "westlake": 41535, + "westminster": 15158, + "weston": 22771, + "westside": 33762, + "westwood": 26371, + "westworld": 42287, + "wet": 12406, + "wet": 6682, + "weta": 40946, + "wethenorth": 45281, + "wethepeople": 48030, + "wether": 33794, + "wether": 48405, + "wetland": 37357, + "wetlands": 26547, + "wett": 41971, + "wetter": 43957, + "wewant": 39280, + "wewill": 37241, + "wex": 17234, + "wexford": 29876, + "wexmondays": 49042, + "wey": 30376, + "wey": 19781, + "weymouth": 41433, + "wf": 14576, + "wf": 22313, + "wfa": 44606, + "wfc": 36431, + "wfp": 35193, + "wftv": 47075, + "wg": 21091, + "wg": 25857, + "wga": 32354, + "wgn": 48828, + "wh": 573, + "wh": 13844, + "wha": 18994, + "wha": 25884, + "whal": 38967, + "whale": 37083, + "whale": 11650, + "whales": 17722, + "wham": 42506, + "whar": 15517, + "wharf": 22452, + "wharton": 43320, + "what": 4268, + "what": 768, + "whatcha": 37160, + "whate": 6695, + "whatever": 6743, + "whati": 23500, + "whats": 9263, + "whats": 13084, + "whatsapp": 10119, + "whatsoever": 39928, + "whatson": 35632, + "whatyou": 30508, + "whe": 2009, + "whead": 34583, + "wheat": 20505, + "wheat": 10303, + "wheaton": 46933, + "wheel": 7360, + "wheel": 6744, + "wheelchair": 17713, + "wheeler": 18405, + "wheeling": 34839, + "wheels": 8025, + "whel": 9792, + "whelan": 40715, + "when": 8753, + "when": 827, + "whenever": 10500, + "where": 7052, + "where": 1234, + "whereabouts": 47808, + "whereas": 42234, + "wheres": 46345, + "wherever": 14103, + "whereyou": 46837, + "whether": 5903, + "whew": 39016, + "whey": 34556, + "whi": 4295, + "whi": 33129, + "which": 1448, + "whiche": 48719, + "whichever": 49138, + "whil": 8499, + "while": 1519, + "whilst": 8596, + "whim": 27766, + "whimsical": 42282, + "whip": 14412, + "whipped": 22323, + "whipping": 41567, + "whir": 20873, + "whirl": 30962, + "whirlwind": 47771, + "whis": 6024, + "whiskey": 41381, + "whiskey": 11610, + "whisky": 37567, + "whisky": 12599, + "whisp": 21986, + "whispe": 30356, + "whisper": 27616, + "whisperer": 41368, + "whispering": 42599, + "whispers": 29133, + "whist": 13640, + "whistle": 23972, + "whistle": 19746, + "whistleblower": 40410, + "whistler": 29633, + "whit": 4398, + "whit": 31498, + "whitaker": 35851, + "whitby": 30858, + "white": 4699, + "white": 1579, + "whiteboard": 40839, + "whitec": 24575, + "whitehall": 42827, + "whitehead": 43560, + "whitehouse": 20776, + "whitening": 35540, + "whitepaper": 42713, + "whites": 35886, + "whites": 18835, + "whitesox": 28816, + "whitewater": 49350, + "whitfield": 48404, + "whitley": 40564, + "whitman": 32394, + "whitney": 43021, + "whitney": 18048, + "whitt": 33784, + "whittaker": 47595, + "whl": 25801, + "who": 2969, + "who": 822, + "whoa": 16943, + "whoever": 11137, + "whois": 41884, + "whole": 10360, + "whole": 2954, + "wholefoods": 42840, + "wholesale": 18306, + "wholesome": 35959, + "whom": 38158, + "whom": 12873, + "whoo": 20003, + "whoo": 49290, + "whoop": 22060, + "whoops": 28433, + "whopping": 34384, + "whore": 31690, + "whos": 41460, + "whos": 27130, + "whose": 6933, + "whouse": 45927, + "whs": 26292, + "wht": 32470, + "whufc": 31695, + "whun": 18272, + "why": 11040, + "why": 1182, + "whyte": 42386, + "wi": 820, + "wi": 5585, + "wib": 45303, + "wic": 7834, + "wich": 9759, + "wich": 5238, + "wichita": 22566, + "wick": 6798, + "wick": 6479, + "wicked": 32579, + "wicked": 12825, + "wicker": 38096, + "wicket": 19180, + "wickets": 22110, + "wicklow": 39039, + "wicz": 30121, + "wid": 11886, + "wid": 20886, + "wide": 19341, + "wide": 3184, + "widely": 16195, + "widening": 46598, + "wider": 21263, + "widesp": 20598, + "widespread": 21258, + "widget": 43906, + "wido": 28068, + "widow": 19949, + "widows": 42129, + "width": 23571, + "wie": 21378, + "wie": 9131, + "wielding": 47272, + "wien": 38131, + "wiener": 40567, + "wies": 42788, + "wif": 37572, + "wife": 3607, + "wifey": 35282, + "wifi": 11026, + "wig": 23690, + "wig": 12216, + "wigan": 23130, + "wiggins": 32329, + "wiggle": 47812, + "wight": 41278, + "wight": 15545, + "wigs": 31207, + "wii": 8005, + "wiiu": 40980, + "wiki": 10373, + "wiki": 24265, + "wikileaks": 28731, + "wikipedia": 15176, + "wil": 1352, + "wil": 20581, + "wilbur": 43069, + "wilcox": 43231, + "wild": 2780, + "wild": 3220, + "wildatlantic": 35500, + "wildatlanticway": 35776, + "wildcard": 37360, + "wildcat": 49077, + "wildcat": 25870, + "wildcats": 15909, + "wilde": 23498, + "wilder": 14343, + "wilder": 23499, + "wilderness": 16506, + "wildest": 43028, + "wildfire": 22788, + "wildfires": 29184, + "wildflower": 27628, + "wildflower": 33181, + "wildflowerhour": 31302, + "wildflowers": 29136, + "wildlife": 13298, + "wildlife": 5250, + "wildlifephotography": 32307, + "wildlifewednesday": 48537, + "wildly": 35981, + "wildoz": 40113, + "wiley": 32747, + "wilhelm": 39696, + "wilkes": 39548, + "wilkins": 36986, + "wilkinson": 26797, + "will": 5062, + "will": 751, + "willam": 43276, + "willard": 44920, + "wille": 48739, + "willem": 38044, + "willi": 2256, + "william": 8420, + "william": 4705, + "williams": 38452, + "williams": 4075, + "williamsburg": 30683, + "williamson": 20793, + "willie": 13907, + "willing": 34160, + "willing": 11718, + "willingness": 40573, + "willis": 18491, + "willow": 33887, + "willow": 15665, + "wills": 26913, + "willy": 34502, + "willy": 19599, + "wilmington": 28052, + "wilms": 47879, + "wilshere": 48359, + "wilson": 23629, + "wilson": 5622, + "wilt": 23394, + "wilt": 47357, + "wilton": 46638, + "wiltshire": 28025, + "wim": 8662, + "wim": 27580, + "wimble": 11752, + "wimbledon": 12229, + "win": 831, + "win": 1225, + "winchester": 20647, + "wind": 6812, + "wind": 3630, + "winder": 44454, + "winder": 46245, + "winding": 22390, + "windmill": 34084, + "windo": 3110, + "window": 26675, + "window": 4879, + "windows": 5437, + "winds": 12668, + "winds": 7012, + "windshield": 33002, + "windsor": 44322, + "windsor": 12884, + "windy": 13446, + "wine": 7375, + "wine": 2604, + "winelover": 26357, + "winemaker": 41588, + "wineoclock": 43846, + "wineries": 49349, + "winery": 15500, + "wines": 8263, + "winetasting": 41288, + "winewednesday": 35447, + "wing": 8141, + "wing": 1340, + "winged": 24993, + "winger": 22727, + "winget": 44578, + "wings": 5178, + "wink": 34455, + "wink": 25859, + "winkle": 36430, + "winn": 38104, + "winne": 46273, + "winner": 32961, + "winner": 2520, + "winners": 4320, + "winni": 13018, + "winnie": 29022, + "winning": 42099, + "winning": 2577, + "winnings": 46490, + "winnipeg": 14369, + "winona": 49202, + "wins": 46839, + "wins": 2718, + "winslow": 39658, + "winston": 14848, + "winter": 7340, + "winter": 2541, + "winters": 21587, + "wintry": 39504, + "wip": 10447, + "wipe": 26761, + "wiped": 31822, + "wipes": 33463, + "wir": 16849, + "wir": 44838, + "wire": 7558, + "wire": 7794, + "wired": 18935, + "wireless": 9103, + "wires": 24311, + "wiring": 36434, + "wirral": 34675, + "wis": 3392, + "wis": 20405, + "wiscon": 9857, + "wisconsin": 10265, + "wisdom": 42474, + "wisdom": 5425, + "wise": 19116, + "wise": 5558, + "wisely": 26173, + "wiser": 44859, + "wish": 11328, + "wish": 2412, + "wished": 25883, + "wishes": 6045, + "wishing": 5307, + "wishlist": 31969, + "wit": 584, + "wit": 8531, + "witch": 20139, + "witch": 10083, + "witchcraft": 35065, + "witcher": 33684, + "witches": 21673, + "with": 1435, + "with": 593, + "withdra": 24696, + "withdraw": 31670, + "withdrawal": 25765, + "withdrawn": 46687, + "withdraws": 48637, + "wither": 39655, + "witherspoon": 45409, + "within": 4154, + "withme": 44670, + "without": 32836, + "without": 2193, + "withstand": 42236, + "withthe": 36872, + "withus": 30572, + "withyou": 30351, + "witne": 12096, + "witness": 8793, + "witnessed": 20187, + "witnesses": 22778, + "witnessing": 33618, + "wits": 30938, + "witt": 38194, + "witt": 17168, + "witter": 31597, + "witty": 29970, + "witz": 44186, + "witz": 13265, + "wiv": 48925, + "wives": 14378, + "wiwx": 44461, + "wiz": 7730, + "wiz": 23178, + "wizar": 49121, + "wizard": 30490, + "wizard": 14295, + "wizards": 19140, + "wizkid": 40146, + "wj": 19739, + "wj": 35453, + "wk": 11512, + "wk": 11528, + "wkend": 42336, + "wknd": 20851, + "wks": 25508, + "wku": 43377, + "wl": 13299, + "wl": 9613, + "wm": 20268, + "wm": 15790, + "wn": 1186, + "wn": 757, + "wnba": 32358, + "wned": 8628, + "wns": 12950, + "wnt": 22484, + "wny": 24833, + "wo": 1613, + "wo": 11132, + "woah": 17751, + "wob": 35984, + "woc": 39011, + "wod": 41522, + "woes": 27860, + "wof": 45671, + "woj": 48931, + "wok": 28912, + "woke": 9331, + "woken": 43697, + "woking": 43931, + "wol": 2798, + "wol": 48622, + "wold": 42399, + "wolf": 9453, + "wolf": 5916, + "wolfe": 24989, + "wolff": 34369, + "wolfgang": 34061, + "wolfpack": 30887, + "wolve": 45101, + "wolver": 14334, + "wolverhampton": 34518, + "wolverine": 23353, + "wolverines": 42003, + "wolves": 9372, + "wom": 1087, + "womack": 48980, + "woman": 15716, + "woman": 2308, + "womanc": 35630, + "womancrush": 37721, + "womancrushwednesday": 39714, + "womanin": 30562, + "womaninbiz": 36482, + "womb": 37023, + "women": 3648, + "women": 1507, + "womenin": 13062, + "womeninscience": 41343, + "womeninstem": 29380, + "womenintech": 31470, + "womenof": 48421, + "womens": 12822, + "womens": 14408, + "womensart": 38548, + "womensday": 13956, + "womenshi": 22887, + "womenshistorymonth": 24982, + "womensmarch": 30102, + "won": 1528, + "won": 1749, + "wonder": 2070, + "wonder": 3936, + "wondercon": 46944, + "wondered": 15550, + "wonderful": 2582, + "wonderfully": 23245, + "wondering": 8360, + "wonderland": 13874, + "wonders": 14048, + "wonderwoman": 31000, + "wondo": 38402, + "wondr": 46771, + "wong": 17876, + "wonka": 43463, + "wont": 43174, + "wont": 15952, + "woo": 1867, + "woo": 9322, + "wood": 3269, + "wood": 1704, + "woodbridge": 49074, + "wooden": 48226, + "wooden": 9057, + "woodland": 44314, + "woodland": 17447, + "woodlands": 32430, + "woodley": 40566, + "woodpecker": 32684, + "woods": 6267, + "woodson": 48967, + "woodstock": 29486, + "woodward": 27419, + "woodwork": 47386, + "woodworking": 29267, + "woody": 38627, + "woody": 17144, + "woof": 34234, + "woof": 24028, + "woohoo": 20172, + "wook": 29192, + "wool": 9967, + "wool": 13283, + "woolf": 43728, + "woolly": 47722, + "woon": 33126, + "wooo": 43217, + "woop": 31884, + "woot": 22466, + "wor": 641, + "worcester": 22172, + "worcester": 19580, + "worcestershire": 38440, + "worcestershirehour": 43644, + "word": 8272, + "word": 2653, + "wordof": 33500, + "wordoftheday": 43594, + "wordpress": 15193, + "words": 31007, + "words": 2709, + "wore": 8953, + "work": 1636, + "work": 951, + "workday": 29735, + "worked": 5410, + "worker": 8098, + "workers": 4795, + "workflow": 28502, + "workforce": 14672, + "workin": 31825, + "workin": 26323, + "working": 20806, + "working": 1699, + "workinprogress": 46086, + "workout": 6773, + "workouts": 22779, + "workplace": 11959, + "workplaces": 47383, + "works": 2322, + "workshop": 3832, + "workshops": 12262, + "workspace": 34470, + "worl": 5221, + "world": 2334, + "world": 1002, + "worlda": 46627, + "worldbank": 36759, + "worldbookday": 31191, + "worldcup": 42525, + "worldcup": 8650, + "worlden": 44668, + "worldenviron": 47115, + "worldenvironmentday": 47522, + "worldly": 36268, + "worldo": 41698, + "worldof": 22636, + "worldre": 33951, + "worlds": 7691, + "worldseries": 26695, + "worldtour": 23202, + "worldwater": 41176, + "worldwaterday": 44520, + "worldwide": 6214, + "worm": 33709, + "worm": 10945, + "worms": 20231, + "worn": 9037, + "worried": 11911, + "worries": 17684, + "worry": 7534, + "worrying": 24058, + "worse": 8236, + "worsen": 46344, + "worshi": 31840, + "worship": 46399, + "worship": 9023, + "worst": 5719, + "wort": 30209, + "worth": 10671, + "worth": 2450, + "worthing": 39929, + "worthit": 40830, + "worthless": 44736, + "worths": 44633, + "worthwhile": 36295, + "worthy": 8881, + "worx": 44973, + "wot": 24863, + "wou": 5279, + "would": 39873, + "would": 1311, + "wouldn": 5878, + "wouldnt": 41595, + "wound": 19231, + "wounded": 14859, + "wounds": 21290, + "woven": 19830, + "wow": 22191, + "wow": 2781, + "woz": 44558, + "wozni": 47782, + "wp": 15378, + "wp": 13302, + "wpg": 35048, + "wps": 33386, + "wq": 45195, + "wr": 1189, + "wr": 8028, + "wra": 3852, + "wra": 46004, + "wral": 49050, + "wrangler": 30923, + "wrap": 7094, + "wrapped": 9875, + "wrapping": 15223, + "wraps": 18236, + "wrath": 29783, + "wray": 48943, + "wrc": 16004, + "wre": 3168, + "wreath": 23091, + "wrec": 20879, + "wreck": 28775, + "wreck": 15017, + "wrecked": 32695, + "wreckem": 45676, + "wrecking": 36956, + "wrecks": 45545, + "wren": 20191, + "wren": 31970, + "wrench": 30980, + "wrest": 4177, + "wrestle": 17097, + "wrestle": 28086, + "wrestlemania": 18849, + "wrestler": 19790, + "wrestlers": 25902, + "wrestling": 31292, + "wrestling": 5904, + "wrexham": 34479, + "wri": 7667, + "wri": 42007, + "wright": 28616, + "wright": 6991, + "wrights": 43711, + "wrigley": 33538, + "wrink": 22201, + "wrinkle": 46642, + "wrinkles": 35525, + "wrist": 19243, + "wrist": 16139, + "wristband": 36890, + "wristbands": 44864, + "writ": 2902, + "write": 28874, + "write": 4946, + "writer": 27886, + "writer": 4422, + "writers": 18742, + "writers": 7307, + "writerslife": 25007, + "writes": 8023, + "writing": 16053, + "writing": 2979, + "writingcommunity": 39178, + "writings": 36259, + "written": 5231, + "wro": 5447, + "wrong": 18381, + "wrong": 3669, + "wrongly": 45642, + "wrote": 5796, + "wrought": 48125, + "wrs": 45280, + "ws": 6300, + "ws": 799, + "wsb": 30681, + "wsbtv": 38394, + "wsj": 19764, + "wski": 12548, + "wsl": 43706, + "wsoc": 40253, + "wson": 33954, + "wsop": 41231, + "wsu": 44674, + "wsu": 32913, + "wsw": 43285, + "wt": 15873, + "wt": 12255, + "wta": 25984, + "wtc": 39718, + "wtf": 6891, + "wth": 23021, + "wthr": 45269, + "wti": 47345, + "wto": 36406, + "wts": 32159, + "wu": 9710, + "wu": 9837, + "wud": 43870, + "wul": 35154, + "wunder": 36661, + "wur": 24040, + "wurst": 44409, + "wusa": 40021, + "wut": 28590, + "wv": 18920, + "wv": 14743, + "wvu": 44878, + "wvu": 25879, + "ww": 3181, + "ww": 4491, + "wwc": 26505, + "wwdc": 47441, + "wwe": 12112, + "wwe": 5290, + "wwen": 23308, + "wwenetwork": 37228, + "wwenxt": 39898, + "wwer": 32038, + "wwf": 23332, + "wwfc": 42681, + "wwg": 35322, + "wwi": 20194, + "wwii": 10261, + "www": 26074, + "www": 9667, + "wwwbigbaldhead": 30761, + "wwww": 34224, + "wwww": 25200, + "wwwww": 48268, + "wwx": 47431, + "wx": 18192, + "wx": 3561, + "wy": 4665, + "wy": 7625, + "wyatt": 21660, + "wyd": 33113, + "wye": 48436, + "wye": 43751, + "wylie": 49330, + "wyn": 11802, + "wyn": 17504, + "wynn": 36117, + "wynne": 35951, + "wynonna": 41456, + "wynonnaearp": 43755, + "wyoming": 18693, + "x": 87, + "x": 343, + "xa": 24831, + "xan": 45530, + "xander": 45601, + "xavi": 36342, + "xavier": 41044, + "xavier": 18567, + "xb": 33678, + "xbox": 18063, + "xbox": 7748, + "xboxone": 27410, + "xc": 12515, + "xchange": 49132, + "xd": 6380, + "xe": 42886, + "xe": 19183, + "xen": 15568, + "xer": 49005, + "xf": 35274, + "xfactor": 25211, + "xfinity": 35107, + "xford": 34732, + "xh": 45771, + "xham": 25284, + "xi": 2467, + "xi": 7376, + "xia": 19854, + "xia": 20724, + "xian": 42570, + "xiao": 49318, + "xiaomi": 27477, + "xico": 38469, + "xide": 17398, + "xie": 40122, + "xie": 15976, + "xii": 36525, + "xiii": 28199, + "xim": 11217, + "xin": 27053, + "xin": 41517, + "xing": 14383, + "xion": 24164, + "xis": 35793, + "xit": 5316, + "xiumin": 36563, + "xiv": 16125, + "xj": 42453, + "xl": 36529, + "xl": 8833, + "xley": 38223, + "xm": 18626, + "xma": 48805, + "xmas": 48848, + "xmas": 6425, + "xmen": 28708, + "xn": 25388, + "xo": 26936, + "xo": 9000, + "xon": 29186, + "xon": 8482, + "xox": 11531, + "xox": 34050, + "xoxo": 13313, + "xp": 15651, + "xper": 32200, + "xperia": 37615, + "xpo": 44377, + "xpress": 31809, + "xq": 40606, + "xr": 26276, + "xrp": 26965, + "xs": 16397, + "xt": 1052, + "xtina": 45520, + "xton": 32666, + "xton": 10597, + "xtra": 26969, + "xtre": 27025, + "xtreme": 33483, + "xu": 42063, + "xu": 37198, + "xv": 17768, + "xvi": 44031, + "xx": 5675, + "xx": 3553, + "xxl": 29777, + "xxx": 33923, + "xxx": 8352, + "xxxx": 32035, + "xxxx": 22819, + "xxxxx": 44195, + "xy": 20023, + "xy": 11443, + "y": 88, + "y": 344, + "ya": 5018, + "ya": 1430, + "yaa": 48847, + "yaa": 34498, + "yaan": 34680, + "yab": 27737, + "yach": 9039, + "yacht": 43806, + "yacht": 12859, + "yachts": 29260, + "yad": 13276, + "yad": 40047, + "yadav": 26650, + "yaf": 38019, + "yag": 35081, + "yah": 16170, + "yah": 12381, + "yaho": 37929, + "yahoo": 38152, + "yahoo": 16846, + "yak": 11014, + "yak": 29074, + "yaki": 44677, + "yaku": 29572, + "yakuza": 42628, + "yal": 16198, + "yal": 13418, + "yale": 39926, + "yale": 17157, + "yall": 9210, + "yam": 6666, + "yam": 19318, + "yama": 23512, + "yamaha": 18854, + "yan": 3949, + "yan": 4788, + "yana": 18698, + "yand": 38609, + "yang": 23818, + "yang": 12605, + "yani": 26439, + "yankee": 21554, + "yankees": 11889, + "yann": 40246, + "yann": 38657, + "yao": 45231, + "yap": 48700, + "yap": 34468, + "yar": 6786, + "yar": 23071, + "yard": 20234, + "yard": 4313, + "yards": 7550, + "yarmouth": 45941, + "yarn": 19702, + "yarra": 46824, + "yas": 8168, + "yas": 20570, + "yash": 30216, + "yash": 37836, + "yasi": 37700, + "yasss": 23873, + "yat": 29443, + "yat": 34965, + "yates": 27677, + "yatra": 38932, + "yav": 41275, + "yaw": 31989, + "yawn": 48643, + "yay": 20614, + "yay": 6712, + "yaya": 37608, + "yaz": 19348, + "yaz": 42252, + "yb": 41785, + "yb": 27615, + "yc": 11931, + "ycle": 38089, + "yd": 29896, + "yd": 9534, + "yday": 15899, + "yds": 24819, + "ye": 693, + "ye": 4582, + "yea": 13687, + "yeah": 29405, + "yeah": 3908, + "year": 5163, + "year": 935, + "yearbook": 21636, + "yearling": 48392, + "yearly": 24541, + "yearof": 31944, + "yearofthe": 47899, + "years": 30864, + "years": 1151, + "yearsof": 14932, + "yearswith": 45249, + "yeast": 25819, + "yeats": 44903, + "yed": 28137, + "yed": 3301, + "yee": 18114, + "yee": 23108, + "yeezy": 24901, + "yeg": 16854, + "yeg": 11976, + "yegfood": 48711, + "yeh": 21331, + "yel": 3323, + "yel": 48164, + "yell": 30824, + "yelled": 39199, + "yelling": 26581, + "yellow": 12059, + "yellow": 4481, + "yellowstone": 29241, + "yelp": 31674, + "yemen": 29276, + "yemen": 12513, + "yemeni": 44656, + "yemi": 42267, + "yen": 29602, + "yen": 17960, + "yeo": 32292, + "yeo": 43830, + "yeol": 15808, + "yeon": 16602, + "yep": 10964, + "yer": 15491, + "yer": 2371, + "yers": 3722, + "yes": 21620, + "yes": 1958, + "yess": 42778, + "yess": 40189, + "yesss": 36210, + "yessss": 45620, + "yester": 1905, + "yesterday": 1926, + "yesterdays": 36238, + "yesung": 38527, + "yet": 2296, + "yeti": 34228, + "yev": 39855, + "yew": 34660, + "yey": 45447, + "yg": 16396, + "ygk": 44758, + "ygo": 46166, + "yh": 41978, + "yi": 5826, + "yi": 14762, + "yield": 16825, + "yields": 24856, + "yikes": 25094, + "yin": 26476, + "yin": 23543, + "ying": 42933, + "ying": 910, + "yixing": 32120, + "yk": 30965, + "yl": 2656, + "yl": 4045, + "ylan": 41875, + "ylde": 42850, + "yle": 32305, + "yle": 10770, + "ylene": 34239, + "yler": 48081, + "yles": 42860, + "ylon": 22375, + "ylor": 48468, + "ym": 1786, + "ym": 19587, + "yman": 29077, + "ymc": 47101, + "ymca": 22369, + "yment": 8199, + "ymes": 39968, + "ymi": 5271, + "ymm": 37133, + "ymoun": 41426, + "ymouth": 36429, + "yn": 2823, + "yn": 4100, + "yne": 18238, + "ynes": 18020, + "ynn": 10499, + "ynna": 48292, + "ynwa": 27372, + "yo": 586, + "yo": 3497, + "yoda": 31922, + "yof": 5966, + "yofficial": 21818, + "yofthe": 43983, + "yog": 34985, + "yog": 36539, + "yoga": 25872, + "yoga": 5523, + "yogh": 32626, + "yoghurt": 33491, + "yogi": 22766, + "yogur": 16137, + "yogurt": 16819, + "yoh": 48880, + "yoke": 41969, + "yoko": 25929, + "yoko": 32256, + "yokohama": 42409, + "yol": 19387, + "yol": 35218, + "yolanda": 43845, + "yolo": 20905, + "yom": 34718, + "yom": 44527, + "yon": 10147, + "yon": 7604, + "yong": 27960, + "yong": 20887, + "yonge": 48592, + "yoo": 25842, + "yoo": 20775, + "yoon": 30863, + "yoon": 22113, + "yoona": 32736, + "yoongi": 24037, + "yor": 2028, + "yor": 21132, + "york": 5318, + "york": 2705, + "yorker": 23865, + "yorkers": 41041, + "yorks": 39093, + "yorkshi": 43367, + "yorkshire": 27007, + "yorkshire": 8633, + "yoruba": 46083, + "yos": 35607, + "yosemite": 25893, + "yoshi": 22920, + "yoshi": 25354, + "yot": 22875, + "yotes": 46157, + "yotpo": 26113, + "you": 1562, + "you": 592, + "youare": 33879, + "youcan": 32498, + "youknow": 47919, + "youknow": 41088, + "youn": 1596, + "young": 6939, + "young": 1888, + "younger": 10414, + "youngest": 12316, + "youngjae": 46426, + "youngster": 35881, + "youngsters": 28098, + "younow": 33831, + "your": 2130, + "your": 695, + "youre": 28344, + "youre": 19695, + "yourown": 28583, + "yours": 3834, + "yourself": 3053, + "yourselves": 19747, + "youth": 10743, + "youth": 3281, + "youthful": 37480, + "youths": 23614, + "youts": 22737, + "youtu": 13868, + "youtube": 31258, + "youtube": 3895, + "youtuber": 24720, + "youtubers": 36822, + "youu": 35055, + "youuu": 35324, + "youuuu": 47123, + "yoy": 41865, + "yp": 38370, + "yp": 34734, + "ypg": 37386, + "yql": 46122, + "yqr": 36881, + "yr": 18395, + "yr": 4333, + "yrs": 4822, + "ys": 1971, + "ys": 961, + "yser": 33121, + "ysis": 4843, + "ysl": 45681, + "ysm": 23842, + "yst": 40528, + "yt": 36777, + "yt": 14779, + "ytd": 47524, + "yte": 48172, + "yu": 3371, + "yu": 8887, + "yuan": 26236, + "yuck": 48282, + "yugo": 48231, + "yuh": 42547, + "yui": 47932, + "yuk": 17037, + "yuk": 24063, + "yuki": 34010, + "yukon": 27094, + "yul": 39832, + "yum": 6869, + "yum": 7259, + "yuma": 47566, + "yummy": 7687, + "yun": 14976, + "yun": 18288, + "yung": 44545, + "yung": 17676, + "yunho": 39748, + "yup": 13231, + "yur": 42533, + "yuri": 23823, + "yusuf": 33222, + "yuv": 36784, + "yves": 33698, + "yvon": 23327, + "yvonne": 32583, + "yvr": 29058, + "yw": 33741, + "yx": 35624, + "yxe": 34240, + "yy": 3433, + "yy": 8321, + "yya": 37444, + "yyc": 27542, + "yyc": 11741, + "yyj": 26203, + "yyy": 11514, + "yyyy": 38749, + "yyyy": 16955, + "yyyyy": 26089, + "yyyyyy": 47055, + "yz": 37579, + "yz": 46451, + "yü": 48232, + "z": 89, + "z": 345, + "za": 3710, + "za": 2186, + "zab": 22982, + "zable": 37002, + "zac": 25501, + "zac": 19159, + "zach": 13401, + "zach": 11815, + "zachary": 32401, + "zack": 30567, + "zack": 19120, + "zad": 47314, + "zad": 27838, + "zada": 34889, + "zaf": 21837, + "zafar": 46668, + "zag": 26091, + "zag": 29346, + "zagre": 34107, + "zagreb": 35355, + "zah": 23258, + "zah": 43297, + "zaha": 44408, + "zai": 44329, + "zai": 27065, + "zain": 34400, + "zain": 45366, + "zak": 13050, + "zak": 20738, + "zaki": 48091, + "zal": 20552, + "zal": 33298, + "zam": 7218, + "zam": 41578, + "zambia": 21671, + "zan": 7284, + "zan": 17835, + "zana": 39643, + "zand": 37712, + "zane": 34786, + "zani": 45373, + "zania": 15059, + "zano": 27637, + "zanzi": 47835, + "zap": 24134, + "zapp": 33504, + "zappa": 46592, + "zar": 5458, + "zar": 16392, + "zara": 24454, + "zardari": 20174, + "zas": 48261, + "zation": 3683, + "zawa": 49281, + "zay": 7102, + "zayed": 36726, + "zayn": 22292, + "zayn": 10308, + "zaynmalik": 25278, + "zazzle": 47857, + "ze": 2254, + "ze": 1298, + "zeal": 44951, + "zealand": 7618, + "zeb": 46518, + "zebra": 47394, + "zebra": 22548, + "zed": 21047, + "zed": 1993, + "zedd": 45608, + "zee": 25468, + "zee": 14080, + "zeiss": 47460, + "zeit": 37898, + "zeit": 37906, + "zek": 40829, + "zeke": 47065, + "zel": 10389, + "zel": 12027, + "zelda": 17138, + "zell": 39526, + "zen": 8518, + "zen": 3928, + "zend": 33478, + "zendaya": 35956, + "zenith": 44740, + "zens": 15298, + "zeph": 40726, + "zepp": 22977, + "zeppelin": 25408, + "zer": 6118, + "zer": 3716, + "zero": 14867, + "zero": 5848, + "zers": 9547, + "zes": 4073, + "zest": 37709, + "zet": 34098, + "zeta": 30954, + "zetta": 45993, + "zeus": 32800, + "zey": 46647, + "zh": 33389, + "zh": 41621, + "zhang": 21127, + "zhen": 37374, + "zhen": 33236, + "zhou": 17384, + "zhu": 42049, + "zi": 2651, + "zi": 5819, + "zia": 13764, + "zid": 30235, + "zidane": 34643, + "zie": 29316, + "zie": 8956, + "zieg": 40157, + "ziegler": 46812, + "ziel": 32151, + "zier": 15399, + "zies": 38001, + "ziest": 28159, + "zig": 15950, + "zig": 21345, + "ziggy": 39274, + "zik": 30125, + "zika": 28783, + "zil": 25039, + "zil": 33190, + "zilla": 17879, + "zim": 8112, + "zim": 22577, + "zimbab": 12373, + "zimbabwe": 45668, + "zimbabwe": 13583, + "zimmer": 27452, + "zimmer": 35211, + "zimmerman": 38231, + "zin": 14085, + "zin": 21278, + "zinc": 27458, + "zind": 26206, + "zindabad": 42208, + "zine": 16100, + "zing": 25062, + "zing": 3152, + "zinger": 42027, + "zio": 13906, + "zion": 31763, + "zion": 20963, + "zione": 36161, + "zionist": 33078, + "zip": 26479, + "zip": 16083, + "zipper": 33670, + "zir": 31892, + "zl": 39168, + "zlat": 32489, + "zlatan": 37877, + "zm": 43691, + "zman": 24248, + "zn": 18004, + "zo": 4397, + "zo": 5056, + "zodi": 22660, + "zodiac": 27753, + "zoe": 43114, + "zoe": 16662, + "zoey": 39871, + "zog": 40680, + "zol": 25939, + "zola": 46105, + "zom": 6623, + "zombi": 29452, + "zombie": 11819, + "zombies": 46702, + "zombies": 16517, + "zon": 15109, + "zon": 14618, + "zona": 42134, + "zone": 37197, + "zone": 4442, + "zones": 17247, + "zoning": 36790, + "zoo": 8182, + "zoo": 7147, + "zoom": 32671, + "zoom": 13909, + "zor": 17605, + "zou": 38072, + "zr": 39275, + "zs": 35248, + "zshq": 41442, + "zt": 42629, + "zu": 4091, + "zu": 14184, + "zucchini": 29873, + "zucker": 26890, + "zuckerberg": 30066, + "zul": 31146, + "zulu": 32821, + "zum": 35094, + "zuma": 23326, + "zumba": 32976, + "zun": 42440, + "zur": 17128, + "zurich": 21288, + "zw": 42188, + "zx": 31604, + "zy": 6615, + "zy": 2303, + "zyk": 39112, + "zyme": 36472, + "zyn": 45287, + "zz": 1544, + "zz": 4943, + "zza": 14642, + "zzi": 13974, + "zzie": 18635, + "zzle": 7873, + "zzled": 39075, + "zzo": 14036, + "zzy": 21275, + "zzy": 8353, + "zzz": 20055, + "zzzz": 35742, + "zzzz": 43103, + "{": 90, + "{": 346, + "{}": 39025, + "|": 91, + "|#": 31183, + "|": 347, + "|@": 41677, + "||": 7566, + "}": 92, + "}": 348, + "~": 93, + "~!": 31181, + "~\"": 48442, + "~": 349, + "~>": 43291, + "~@": 44247, + "~~": 11461, + "~~": 16671, + "~~~": 32472, + "~~~~": 28295, + "¡": 94, + "¡": 350, + "¡ï¸ı": 15113, + "¡ï¸ı": 4174, + "¡ľ": 43991, + "¢": 95, + "¢": 351, + "£": 96, + "£": 352, + "£ï¸ı": 18446, + "¤": 97, + "¤": 353, + "¥": 98, + "¥": 354, + "¦": 99, + "¦": 355, + "¦Ī": 47615, + "§": 100, + "§": 356, + "¨": 101, + "¨": 357, + "©": 102, + "©": 358, + "ª": 103, + "ª": 359, + "«": 104, + "«": 360, + "¬": 105, + "¬": 361, + "¬ë": 31736, + "®": 106, + "®": 362, + "¯": 107, + "¯": 363, + "°": 108, + "°:": 21787, + "°": 364, + "°ï¸ı": 34777, + "±": 109, + "±": 365, + "±ï¸ı": 41020, + "²": 110, + "²": 366, + "³": 111, + "³": 367, + "³ï¸ı": 22195, + "³ï¸ı": 24706, + "´": 112, + "´": 368, + "µ": 113, + "µ": 369, + "µï¸ı": 27605, + "¶": 114, + "¶": 370, + "·": 115, + "·": 371, + "¸": 116, + "¸": 372, + "¸ë": 19693, + "¹": 117, + "¹": 373, + "º": 118, + "º": 374, + "»": 119, + "»": 375, + "¼": 120, + "¼": 376, + "½": 121, + "½": 377, + "½ï¸ı": 31333, + "¾": 122, + "¾": 378, + "¿": 123, + "¿": 379, + "À": 124, + "À": 380, + "Á": 125, + "Á": 381, + "Â": 126, + "Â": 382, + "¡": 26868, + "¡": 10830, + "¡¡": 45505, + "¢": 41359, + "£": 31117, + "£": 1950, + "Â¥": 20199, + "¨": 19957, + "¨¨": 23089, + "¨¨¨¨": 41223, + "©": 31148, + "©": 5811, + "«": 14434, + "®": 30857, + "®": 8436, + "¯": 38682, + "¯": 43593, + "¯\\": 44096, + "¯\\_(": 45115, + "°": 21305, + "°": 6858, + "²": 41175, + "´": 30560, + "´": 12559, + "·": 14844, + "º": 28059, + "»": 31642, + "»": 7599, + "½": 33613, + "¿": 44559, + "¿": 17133, + "ÂŃ": 22618, + "Ã": 127, + "Ã": 383, + "á": 7261, + "á": 22229, + "án": 38340, + "án": 21385, + "â": 26170, + "ã": 19339, + "ão": 21141, + "ä": 10896, + "ä": 47276, + "än": 42787, + "Ã¥": 23176, + "æ": 42495, + "ç": 10067, + "ça": 22711, + "è": 12138, + "è": 37761, + "ère": 30272, + "ès": 41210, + "é": 3459, + "é": 4166, + "éal": 45251, + "ée": 13489, + "és": 20507, + "ê": 27515, + "ë": 29526, + "ë": 40520, + "î": 48704, + "ï": 35689, + "ñ": 6445, + "ña": 17753, + "ño": 16574, + "ños": 40104, + "ó": 8891, + "ó": 27733, + "ón": 13926, + "ô": 26815, + "ö": 7255, + "ö": 37423, + "ör": 31762, + "ø": 17483, + "ø": 45598, + "ú": 17963, + "ú": 36019, + "ü": 6522, + "ü": 47177, + "ür": 26132, + "ÃĹ": 16165, + "Ãł": 36149, + "Ãł": 21259, + "ÃŃ": 8366, + "ÃŃ": 23928, + "ÃŃa": 16609, + "ÃŃn": 33623, + "Ä": 128, + "Ä": 384, + "ı": 18562, + "ı": 41901, + "Äģ": 23134, + "Äĩ": 31719, + "Äį": 45414, + "ÄŁ": 26540, + "Å": 129, + "Å": 385, + "Å¡": 35621, + "ÅĤ": 40419, + "Åį": 41267, + "ÅŁ": 21254, + "ÅŁ": 40706, + "Æ": 130, + "Æ": 386, + "Ç": 131, + "Ç": 387, + "È": 132, + "È": 388, + "É": 133, + "É": 389, + "Ê": 134, + "Ê": 390, + "Ë": 135, + "Ë": 391, + "Ì": 136, + "Ì": 392, + "Ìĩ": 16384, + "Í": 137, + "Í": 393, + "Î": 138, + "Î": 394, + "Ï": 139, + "Ï": 395, + "Ïī": 38065, + "Ð": 140, + "Ð": 396, + "а": 16912, + "а": 27080, + "аÐ": 31090, + "в": 39813, + "е": 22176, + "и": 16701, + "иÐ": 29503, + "к": 27152, + "л": 47611, + "м": 38018, + "н": 22705, + "о": 13506, + "о": 29386, + "оÐ": 20978, + "од": 38416, + "оÑĤ": 28599, + "п": 26302, + "пÑĢи": 46321, + "пÑĢиÑĢода": 48150, + "Ñ": 141, + "Ñ": 397, + "ÑĢ": 16370, + "ÑĢи": 41092, + "ÑĢод": 47039, + "ÑĢода": 47929, + "Ñģ": 23669, + "ÑĤ": 17875, + "Ñĥ": 39729, + "ÑĦ": 27993, + "ÑĦоÑĤ": 35155, + "ÑĦоÑĤо": 38981, + "Ñĭ": 45001, + "Ò": 142, + "Ò": 398, + "Ó": 143, + "Ó": 399, + "Ô": 144, + "Ô": 400, + "Õ": 145, + "Õ": 401, + "Ö": 146, + "Ö": 402, + "×": 147, + "×": 403, + "Ø": 148, + "Ø": 404, + "ا": 6042, + "ا": 22625, + "اØ": 13189, + "ار": 40137, + "اÙ": 8453, + "اÙĦ": 12973, + "اÙħ": 47626, + "اÙĨ": 42773, + "اÙĨ": 33200, + "ب": 16378, + "ب": 35330, + "Ø©": 20915, + "ت": 18197, + "ت": 44333, + "ج": 26375, + "Ø®": 41495, + "د": 19872, + "د": 35566, + "ر": 10948, + "ر": 24933, + "رÙĬ": 43273, + "ز": 36169, + "س": 17856, + "Ø´": 28770, + "ص": 27271, + "Ø·": 32050, + "ع": 18843, + "غ": 48510, + "ØŃ": 25722, + "Ù": 149, + "Ù": 405, + "Ùģ": 24112, + "ÙĤ": 27585, + "Ùĥ": 33499, + "ÙĦ": 14251, + "ÙĦ": 37899, + "Ùħ": 12986, + "Ùħ": 29945, + "ÙĨ": 16655, + "ÙĨ": 25386, + "Ùĩ": 34274, + "Ùĩ": 31343, + "ÙĪ": 12203, + "ÙĪ": 38310, + "ÙĪØ±": 48242, + "ÙĬ": 12046, + "ÙĬ": 23853, + "Ú": 150, + "Ú": 406, + "Ú©": 26475, + "Û": 151, + "Û": 407, + "Ûģ": 40480, + "ÛĮ": 21452, + "ÛĮ": 32703, + "Ü": 152, + "Ü": 408, + "Ý": 153, + "Ý": 409, + "Þ": 154, + "Þ": 410, + "ß": 155, + "ß": 411, + "à": 156, + "à": 412, + "à¤": 3124, + "त": 27263, + "द": 29552, + "न": 26090, + "प": 44149, + "ब": 43599, + "म": 48254, + "म": 26774, + "य": 37299, + "र": 39136, + "र": 19052, + "ल": 30881, + "व": 39545, + "श": 43181, + "स": 28505, + "ह": 29446, + "ा": 37973, + "ा": 13343, + "ि": 26721, + "à¤Ĥ": 30833, + "à¤ķ": 22067, + "à¤Ĺ": 42598, + "à¤ľ": 39561, + "à¥": 7410, + "à¥Ģ": 45791, + "à¥Ģ": 25751, + "à¥ģ": 39653, + "à¥ĩ": 48612, + "à¥ĩ": 25130, + "à¥ĭ": 34452, + "à¥į": 19389, + "à¦": 11322, + "া": 41532, + "à§": 26339, + "à¨": 15741, + "à©": 32086, + "àª": 22990, + "à«": 48347, + "à¬": 32791, + "à®": 6022, + "த": 34691, + "ன": 43394, + "ப": 47388, + "à®®": 35463, + "à®°": 43270, + "ல": 47705, + "ா": 32831, + "ி": 27126, + "à®ķ": 36168, + "à®Ł": 45263, + "à¯": 11259, + "à¯ģ": 33115, + "à¯į": 16631, + "à°": 12100, + "à±": 23550, + "à±į": 46098, + "à²": 9992, + "ಿ": 47797, + "à³": 20745, + "à³į": 36148, + "à´": 15418, + "àµ": 27392, + "àµį": 45266, + "à¶": 29881, + "à·": 30766, + "à¸": 1777, + "ม": 26137, + "ม": 29570, + "ย": 27241, + "ย": 33091, + "ร": 32225, + "ร": 27331, + "ล": 34696, + "ล": 32746, + "ว": 26990, + "ว": 30245, + "ส": 37883, + "ส": 35737, + "ห": 33064, + "ะ": 43920, + "ะ": 49234, + "ั": 14978, + "า": 11529, + "า": 38476, + "าà¸": 12330, + "ิ": 17092, + "ี": 22421, + "ี": 20278, + "ีà¹Ī": 31511, + "ื": 47991, + "ุ": 30524, + "ู": 35273, + "à¸ģ": 30767, + "à¸ģà¸": 31474, + "à¸Ħ": 31757, + "à¸Ħà¸": 39628, + "à¸ĩ": 24603, + "à¸ĩ": 33382, + "à¸Ī": 47608, + "à¸Ĭ": 46324, + "à¸Ķ": 31107, + "à¸Ķ": 38825, + "à¸ķ": 40273, + "à¸ķ": 41108, + "à¸Ĺ": 36171, + "à¸Ļ": 17474, + "à¸Ļ": 17639, + "à¸Ļà¸": 23121, + "à¸ļ": 33859, + "à¸ļ": 39616, + "à¸ŀ": 48171, + "à¸Ń": 13398, + "à¸Ń": 32818, + "à¸Ńà¸": 14649, + "à¸Ńà¸ĩ": 46622, + "à¹": 4484, + "à¹Ģ": 13729, + "à¹Ģà¸": 14076, + "à¹ģà¸": 23916, + "à¹Ĥ": 33118, + "à¹ĥ": 40962, + "à¹Ħà¸": 31718, + "à¹ĩ": 38699, + "à¹Ī": 11722, + "à¹ī": 13123, + "à¹Į": 28353, + "à¼": 46186, + "à½": 39219, + "á": 157, + "á": 413, + "á´": 19036, + "áµ": 17330, + "áĢ": 45932, + "áĥ": 24829, + "áĥ¦": 32193, + "â": 158, + "â": 414, + "â¤": 25087, + "⤵ï¸ı": 36026, + "â¬": 7930, + "â¬ħï¸ı": 42111, + "â¬Ĩ": 27718, + "â¬Ĩï¸ı": 32798, + "â¬ĩ": 10917, + "â¬ĩ": 39370, + "â¬ĩï¸ı": 25621, + "â¬ĩï¸ı": 13984, + "â¬ĩï¸ıâ¬ĩï¸ı": 40159, + "âĢ": 728, + "âĢ¢": 9485, + "âĢ¢": 2701, + "âĢ¢âĢ¢": 15006, + "âĢ¢âĢ¢": 47575, + "âĢ¢âĢ¢âĢ¢âĢ¢": 27502, + "âĢ¢âĢ¢âĢ¢âĢ¢âĢ¢âĢ¢âĢ¢âĢ¢": 48630, + "â̦": 7095, + "â̦\"": 20215, + "â̦..": 47779, + "â̦.": 18615, + "â̦/": 29842, + "â̦": 959, + "â̦â̦": 40066, + "â̲": 32633, + "â̳": 25061, + "â̼": 6578, + "â̼ï¸ı": 15622, + "â̼ï¸ı": 8310, + "â̼ï¸ıâ̼ï¸ı": 33218, + "âĢĭ": 17086, + "âĢĭ": 9844, + "âĢį": 4244, + "âĢįâĻ": 5177, + "âĢįâĻĢï¸ı": 18897, + "âĢįâĻĢï¸ı": 9605, + "âĢįâĻĤ": 8832, + "âĢįâĻĤï¸ı": 21779, + "âĢįâĻĤï¸ı": 10613, + "âĢİ": 31001, + "âĢIJ": 34512, + "âĢĵ": 21070, + "âĢĵ": 1224, + "âĢĶ": 6718, + "âĢĶ": 2005, + "âĢĶ>": 26341, + "âĢĶ@": 28470, + "âĢĶâĢĶ": 10037, + "âĢĶâĢĶ": 44800, + "âĢĶâĢĶâĢĶâĢĶ": 17797, + "âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ": 34432, + "âĢķ": 14236, + "âģ": 1667, + "âģ£": 31089, + "âģ£": 16845, + "âģ¦": 2773, + "âģ¦": 34855, + "âģ¦@": 2859, + "âģ¦âģ¦@": 27783, + "âģ©": 20097, + "âģ©,": 48749, + "âģ©.": 35777, + "âģ©": 2918, + "âģīï¸ı": 46534, + "âģł": 23881, + "âģł": 13503, + "âģłâģł": 33488, + "âĤ": 5227, + "âĤ¬": 34919, + "âĤ¬": 6309, + "âĤ¹": 21777, + "âĥ": 2805, + "âĥ£": 11250, + "âĥ£": 3076, + "âĥ£@": 48291, + "âĦ": 8604, + "âĦ¢": 29438, + "âĦ¢": 11675, + "âĦ¹": 45462, + "âĨ": 6059, + "âĨĴ": 7481, + "âĨĵ": 41603, + "âĩ": 27228, + "âĪ": 17788, + "âī": 22684, + "âīĪ": 45451, + "âĮ": 17848, + "âĮļ": 31301, + "âĮļï¸ı": 35931, + "âı": 7960, + "âı©": 40847, + "âı°": 12714, + "âı±": 33149, + "âı³": 47617, + "âĵ": 27400, + "âĶ": 13389, + "âĶĢ": 45139, + "âĶģ": 42022, + "âķ": 17027, + "âķIJ": 48039, + "âĸ": 4168, + "âĸª": 21203, + "âĸª": 36628, + "âĸªï¸ı": 24974, + "âĸ«": 39478, + "âĸ¬": 33798, + "âĸ¬âĸ¬": 36975, + "âĸ¶": 12509, + "âĸ¶": 21126, + "âĸ¶ï¸ı": 14442, + "âĸº": 46061, + "âĸº": 12086, + "âĸ½": 45634, + "âĸł": 36791, + "âĹ": 9323, + "âĹĨ": 48961, + "âĹı": 26999, + "âĺ": 1741, + "âĺ®": 45851, + "âĺ¹": 28811, + "âĺ¹ï¸ı": 39605, + "âĺº": 5010, + "âĺº": 8703, + "âĺºâĺº": 46051, + "âĺºï¸ı": 11506, + "âĺºï¸ı": 7779, + "âĺºï¸ıâĺºï¸ı": 41315, + "âĺ¼": 38877, + "âĺĢ": 32146, + "âĺĢ": 22242, + "âĺĢï¸ı": 12817, + "âĺĢï¸ı": 8219, + "âĺĢï¸ıâĺĢï¸ı": 44550, + "âĺģ": 25195, + "âĺģï¸ı": 35197, + "âĺĥ": 38972, + "âĺħ": 9339, + "âĺħ": 10643, + "âĺħâĺħ": 12681, + "âĺħâĺħ": 36644, + "âĺħâĺħâĺħâĺħ": 34431, + "âĺħâĺħâĺħâĺħ": 44034, + "âĺħâĺħâĺħâĺħâĺħ": 45984, + "âĺĨ": 23941, + "âĺĨ": 13439, + "âĺİ": 24045, + "âĺİ": 45493, + "âĺİï¸ı": 27219, + "âĺij": 20983, + "âĺij": 42300, + "âĺijï¸ı": 22291, + "âĺĶï¸ı": 31238, + "âĺķ": 11454, + "âĺķ": 26561, + "âĺķï¸ı": 25839, + "âĺķï¸ı": 15499, + "âĺĺ": 23483, + "âĺĺï¸ı": 31454, + "âĺĿ": 21982, + "âĺĿï¸ı": 38891, + "âĺŀ": 31255, + "âĺłï¸ı": 34672, + "âĻ": 1548, + "âĻ¡": 11091, + "âĻ¡": 6251, + "âĻ¡âĻ¡": 22360, + "âĻ¡âĻ¡": 34267, + "âĻ¡âĻ¡âĻ¡": 36611, + "âϤ": 47435, + "âĻ¥": 4622, + "âĻ¥": 3405, + "âĻ¥âĻ¥": 12975, + "âĻ¥âĻ¥": 19604, + "âĻ¥âĻ¥âĻ¥": 23255, + "âĻ¥âĻ¥âĻ¥âĻ¥": 49020, + "âĻ¥ï¸ı": 17774, + "âĻ¥ï¸ı": 10561, + "âĻ¥ï¸ıâĻ¥ï¸ı": 40309, + "âϦ": 32376, + "âϦ": 47547, + "âĻ©": 30339, + "âĻ©âĻ«": 31636, + "âĻª": 27364, + "âĻª": 12382, + "âĻ«": 39217, + "âĻ«": 10814, + "âϬ": 24753, + "âĻ»": 39611, + "âĻ»ï¸ı": 46075, + "âļ": 2234, + "âļ¡": 40098, + "âļ¡": 20712, + "âļ¡ï¸ı": 19500, + "âļ¡ï¸ı": 11605, + "âļ¡ï¸ıâļ¡ï¸ı": 45922, + "âļª": 11922, + "âļª": 36373, + "âļªï¸ı": 22251, + "âļªï¸ı": 17885, + "âļ«": 15374, + "âļ«ï¸ı": 26529, + "âļ«ï¸ı": 24649, + "âļ½": 4867, + "âļ½": 13173, + "âļ½âļ½": 43259, + "âļ½ï¸ı": 11342, + "âļ½ï¸ı": 6768, + "âļ½ï¸ıâļ½ï¸ı": 30358, + "âļ½ï¸ıâļ½ï¸ı": 44148, + "âļ¾": 11314, + "âļ¾": 34717, + "âļ¾ï¸ı": 24727, + "âļ¾ï¸ı": 14858, + "âļĵ": 23522, + "âļĵï¸ı": 35299, + "âļĶï¸ı": 29361, + "âļľ": 47491, + "âļł": 39203, + "âļłï¸ı": 40966, + "âļłï¸ı": 15596, + "âĽ": 7956, + "âĽ³ï¸ı": 29204, + "âĽĦ": 30668, + "âĽĦï¸ı": 45465, + "âľ": 1508, + "⾨": 7181, + "⾨": 3531, + "⾨⾨": 35174, + "⾨⾨": 21985, + "⾨⾨⾨": 39424, + "âľĤ": 38602, + "âľħ": 29544, + "âľħ": 5564, + "âľĪ": 10682, + "âľĪ": 30712, + "âľĪï¸ı": 26176, + "âľĪï¸ı": 13413, + "âľĬ": 12392, + "âľĬ": 17819, + "âľĬðŁı½": 48547, + "âľĬðŁı¾": 41185, + "âľĭ": 39383, + "âľĭ": 30239, + "âľĮ": 6419, + "âľĮ": 12656, + "âľĮï¸ı": 21906, + "âľĮï¸ı": 12239, + "âľĮðŁı»": 30538, + "âľĮðŁı¼": 30588, + "âľį": 20872, + "âľįï¸ı": 30888, + "âľı": 32574, + "âľıï¸ı": 40724, + "âľĵ": 36700, + "âľĶ": 47200, + "âľĶ": 13749, + "âľĶï¸ı": 40544, + "âľĶï¸ı": 9191, + "âľĸï¸ı": 44133, + "âľĿ": 42220, + "âĿ": 1045, + "âĿ£": 37007, + "âĿ£": 25623, + "âĿ£ï¸ı": 25240, + "âĿ¤": 1266, + "âĿ¤": 2720, + "âĿ¤âĿ¤": 9033, + "âĿ¤âĿ¤": 14058, + "âĿ¤âĿ¤âĿ¤": 16708, + "âĿ¤âĿ¤âĿ¤âĿ¤": 37918, + "âĿ¤âĿ¤âĿ¤âĿ¤": 43970, + "âĿ¤ï¸ı": 2626, + "âĿ¤ï¸ı#": 30281, + "âĿ¤ï¸ı.": 45326, + "âĿ¤ï¸ı": 1752, + "âĿ¤ï¸ı@": 31187, + "âĿ¤ï¸ıâĿ¤ï¸ı": 6713, + "âĿ¤ï¸ıâĿ¤ï¸ı": 10363, + "âĿ¤ï¸ıâĿ¤ï¸ıâĿ¤ï¸ı": 12282, + "âĿ¤ï¸ıâĿ¤ï¸ıâĿ¤ï¸ıâĿ¤ï¸ı": 39167, + "âĿ¤ï¸ıâĿ¤ï¸ıâĿ¤ï¸ıâĿ¤ï¸ı": 29880, + "âĿ¤ï¸ıðŁĴĻ": 37380, + "âĿ¤ï¸ıðŁĺį": 37272, + "âĿ¤ï¸ıðŁĺĺ": 41800, + "âĿ¤ðŁĺį": 49120, + "âĿ¥": 36914, + "âĿĦ": 8501, + "âĿĦ": 30494, + "âĿĦï¸ı": 16834, + "âĿĦï¸ı": 12402, + "âĿĦï¸ıâĿĦï¸ı": 41626, + "âĿĮ": 44485, + "âĿĮ": 17975, + "âĿĵ": 29791, + "âĿĹ": 12868, + "âĿĹ": 29079, + "âĿĹï¸ı": 28642, + "âĿĹï¸ı": 17391, + "âĿĿ": 46951, + "âŀ": 3257, + "âŀ¡": 12854, + "âŀ¡ï¸ı": 31860, + "âŀ¡ï¸ı": 4956, + "âŀ¤": 18651, + "âŀķ": 46526, + "âŀĸ": 21327, + "âŀĸ": 34902, + "âŀĸâŀĸ": 23316, + "âŀĸâŀĸâŀĸâŀĸ": 40401, + "âŀľ": 23775, + "âł": 5689, + "âłĢ": 9691, + "âłĢ": 8621, + "âłĢâłĢ": 11466, + "âłĢâłĢ": 39092, + "âłĢâłĢâłĢâłĢ": 20976, + "âłĢâłĢâłĢâłĢâłĢâłĢâłĢâłĢ": 46063, + "âŃ": 5527, + "âŃIJ": 6410, + "âŃIJ": 19012, + "âŃIJâŃIJ": 32663, + "âŃIJï¸ı": 12427, + "âŃIJï¸ı": 10251, + "âŃIJï¸ıâŃIJï¸ı": 18640, + "âŃIJï¸ıâŃIJï¸ıâŃIJï¸ı": 40746, + "ã": 159, + "ã": 415, + "ãĢ": 4092, + "ãĢģ": 45262, + "ãĢĤ": 38060, + "ãĢĤ": 38000, + "ãĢĬ": 39920, + "ãĢĭ": 32898, + "ãĢĮ": 18116, + "ãĢį": 19149, + "ãĢİ": 26947, + "ãĢı": 30293, + "ãĢIJ": 12534, + "ãĢij": 12990, + "ãĢľ": 39581, + "ãģ": 4813, + "ãģ¦": 48029, + "ãģ¨": 34671, + "ãģ¨ç¹ĭãģ": 47310, + "ãģ¨ç¹ĭãģĮãĤĬãģŁãģĦ": 48290, + "ãģª": 29104, + "ãģ®": 21575, + "ãģ·": 44130, + "ãģĦ": 33523, + "ãģĦ": 38850, + "ãģĨ": 44235, + "ãģį": 42184, + "ãĤ": 3909, + "ãĤ¢": 26560, + "ãĤ¤": 19319, + "ãĤ¤ãĥ": 36294, + "ãĤ«": 37367, + "ãĤ¯": 31574, + "ãĤ·": 37665, + "ãĤ¸": 32234, + "ãĤ¸ãĥ": 43491, + "ãĤ¹": 22694, + "ãĤ¹": 39220, + "ãĤ¹ãĥ": 32421, + "ãĤ¿": 34941, + "ãĤĬãģ": 40500, + "ãĤĮ": 45211, + "ãĤŃ": 47121, + "ãĥ": 2429, + "ãĥ©": 23007, + "ãĥª": 32115, + "ãĥ«": 33257, + "ãĥ¬": 32965, + "ãĥ³": 17671, + "ãĥ³": 26875, + "ãĥ³ãĤ": 45105, + "ãĥ³ãĥ": 25914, + "ãĥ»": 8415, + "ãĥ»": 11158, + "ãĥ»ãĥ»": 13949, + "ãĥ»ãĥ»ãĥ»": 14234, + "ãĥ¼": 13457, + "ãĥ¼": 30391, + "ãĥ¼ãĥ": 18584, + "ãĥĥ": 28902, + "ãĥĦ": 32173, + "ãĥĪ": 42384, + "ãĥİ": 39967, + "ãĥķãĤ": 33371, + "ãĥŀ": 48924, + "ãĥŃ": 35827, + "ãħ": 5947, + "ãħ¤": 21096, + "ãħ¤ãħ¤": 22583, + "ãħ¤ãħ¤ãħ¤ãħ¤": 39329, + "ãħĭ": 13052, + "ãħĭ": 25108, + "ãħĭãħĭ": 16604, + "ãħĭãħĭ": 42581, + "ãħĭãħĭãħĭ": 46407, + "ãħĭãħĭãħĭãħĭ": 39362, + "ãħł": 16089, + "ãħł": 25781, + "ãħłãħł": 22021, + "ãħłãħł": 34398, + "ãħłãħłãħłãħł": 47028, + "ä": 160, + "ä": 416, + "ä¸": 19759, + "ä¹": 41854, + "äº": 21078, + "人": 36839, + "ä»": 37743, + "ä½": 47466, + "å": 161, + "å": 417, + "å¤": 23170, + "å¥": 29290, + "å®": 27047, + "å°": 34720, + "å±": 46096, + "å¸": 42021, + "å¹": 38780, + "åħ": 34314, + "åĨ": 27972, + "åĨĻ": 44653, + "åĪ": 42748, + "åĭ": 47505, + "åı": 34517, + "åIJ": 41673, + "åĽ": 39027, + "åľ": 37746, + "åŃ": 35751, + "æ": 162, + "æ": 418, + "æĸ": 29032, + "æĹ": 22265, + "æĹ¥": 39121, + "æĹ¥": 37156, + "æĺ": 42891, + "æĻ": 48132, + "æľ": 19277, + "æľ¬": 44353, + "æĿ": 27667, + "æĿ±": 48338, + "ç": 163, + "ç": 419, + "ç¥": 26369, + "ç¥Ń": 42557, + "çµ": 37810, + "ç¹": 43431, + "ç¹ĭãģ": 45930, + "çĶ": 20211, + "çĶŁ": 33375, + "çľ": 33440, + "羣": 41570, + "è": 164, + "è": 420, + "èª": 34002, + "èªķ": 41293, + "é": 165, + "é": 421, + "éģ": 44854, + "éĩ": 38283, + "ê": 166, + "ê": 422, + "ê°": 21122, + "ê°ĵ": 41076, + "ê°ĵìĦ¸ë¸IJ": 41689, + "ê°ķ": 45758, + "ê²": 35555, + "ê³": 36216, + "êµ": 31871, + "ê·": 42680, + "ê¸": 32495, + "ê¹": 24531, + "ê¹Ģ": 25203, + "ë": 167, + "ë": 423, + "ë¦": 24621, + "리": 47649, + "ë§": 28024, + "ë§Ī": 40027, + "ëª": 36311, + "ë¯": 19528, + "민": 34442, + "민": 44632, + "ë°": 15810, + "ë°©": 23273, + "ë°©íĥ": 25081, + "ë°©íĥĦ": 25641, + "ë°©íĥĦìĨĮëħĦëĭ": 26068, + "ë°©íĥĦìĨĮëħĦëĭ¨": 27129, + "ë°ķ": 40988, + "ë²": 48267, + "ë³": 44693, + "ë¹": 24193, + "ëĤ": 27252, + "ëĤĺ": 48484, + "ëĭ": 13094, + "ëĭ¤": 46680, + "ëĭĪ": 33708, + "ëį": 45543, + "ëı": 31972, + "ëĵ": 30850, + "ëĿ": 44317, + "ì": 168, + "ì": 424, + "ì£": 39856, + "주": 45161, + "ì¤": 31153, + "ì§": 16279, + "ì§Ģ": 28836, + "ì§Ħ": 38890, + "ì°": 40742, + "ì¶": 42476, + "ì¶ķ": 46403, + "ì¶ķíķĺ": 47866, + "ì¹": 45088, + "ìĤ": 31061, + "ìĥ": 30587, + "ìĥĿ": 47858, + "ìĦ": 15074, + "ìĦ¸ë": 29254, + "ìĦ¸ë¸": 29658, + "ìĦ¸ë¸IJ": 41415, + "ìĨ": 15115, + "ìĨĮë": 20515, + "ìĨĮëħ": 21391, + "ìĨĮëħĦëĭ": 25887, + "ìĪ": 32757, + "ìĬ": 12125, + "ìĬ¤": 20305, + "ìĬ¤": 23829, + "ìĭ": 23924, + "ìķ": 16071, + "ìķĦ": 23233, + "ìĸ": 31625, + "ìĹ": 13252, + "ìĹIJ": 37622, + "ìĹij": 31036, + "ìĹijìĨ": 42763, + "ìĹijìĨĮ": 45606, + "ìĺ": 21144, + "ìĻ": 39405, + "ìļ": 18541, + "ìļ°": 38415, + "ìļ°": 49344, + "ìĽ": 22543, + "ìĽIJ": 36495, + "ìľ": 20909, + "ìľł": 42890, + "ìĿ": 8276, + "ìĿ´": 12286, + "ìĿ´": 34746, + "ìĿ´ì": 37590, + "ìĿ¼": 43406, + "ìŀ": 20849, + "ìł": 20580, + "ìłķ": 34725, + "í": 169, + "í": 425, + "íģ": 35641, + "íģ¬": 45832, + "íĤ": 43565, + "íĥ": 15012, + "íĥĢ": 41126, + "íĥľ": 37663, + "íĬ": 23215, + "íĬ¸": 48974, + "íĬ¸": 39820, + "íĭ": 34350, + "íĶ": 29450, + "íķ": 15197, + "íķ´": 35286, + "íķĺ": 33992, + "íĺ": 15962, + "íĺ¸": 39657, + "íĺĦ": 34645, + "íĻ": 31882, + "î": 170, + "î": 426, + "îĢ": 36288, + "îĦ": 35368, + "îĮ": 41006, + "îIJ": 16929, + "îIJĴ": 40100, + "ï": 171, + "ï": 427, + "ï¸": 842, + "ï¸İ": 24029, + "ï¸ı": 1392, + "ï¸ı#": 46997, + "ï¸ı:": 32604, + "ï¸ı": 1001, + "ï¸ı@": 34600, + "ï¸ıâĥ£": 17394, + "ï¸ıâĥ£-": 40376, + "ï¸ıâĥ£": 4603, + "ï¿": 27850, + "�": 47356, + "�": 39802, + "ð": 172, + "ð": 428, + "ðĿ": 6874, + "ðĿIJ": 15889, + "ðĿij": 43794, + "ðĿĴ": 43387, + "ðĿĵ": 47110, + "ðĿĹ": 18865, + "ðĿĺ": 26109, + "ðĿĻ": 29415, + "ðŁ": 558, + "ð٤": 1793, + "ðŁ¤£": 9665, + "ðŁ¤£": 9909, + "ðŁ¤£ðŁ¤£": 16430, + "ðŁ¤£ðŁ¤£": 31009, + "ðŁ¤£ðŁ¤£ðŁ¤£": 32262, + "ðŁ¤¤": 39550, + "ðŁ¤¤": 26759, + "ðŁ¤¦": 17186, + "ðŁ¤§": 40983, + "ðŁ¤©": 27351, + "ðŁ¤©": 16074, + "ðŁ¤ª": 44230, + "ðŁ¤ª": 24920, + "ðŁ¤«": 47671, + "ðŁ¤¯": 37595, + "ðŁ¤·": 13185, + "ðŁ¤·ðŁı»âĢįâĻĢï¸ı": 46770, + "ð٤ij": 34801, + "ð٤ĵ": 36580, + "ð٤ĵ": 18928, + "ð٤Ķ": 12706, + "ð٤Ķ": 6497, + "ð٤Ķð٤Ķ": 28490, + "ð٤Ķð٤Ķð٤Ķ": 43361, + "ð٤ĸ": 46146, + "ð٤Ĺ": 16646, + "ð٤Ĺ": 10465, + "ð٤Ĺð٤Ĺ": 44321, + "ð٤ĺ": 10623, + "ð٤ĺ": 17288, + "ð٤ĺðŁı»": 46449, + "ð٤ĺðŁı»": 30891, + "ð٤ĺðŁı¼": 31458, + "ð٤ĺðŁı½": 49362, + "ð٤Ļ": 23800, + "ð٤Ļ": 39101, + "ð٤Ŀ": 35242, + "ð٤ŀ": 29463, + "ð٤ŀ": 38597, + "ðŁ¤Ł": 48509, + "ðŁ¤ł": 36737, + "ð٤Ń": 47289, + "ðŁ¥": 4156, + "ðŁ¥°": 29246, + "ðŁ¥°": 17597, + "ðŁ¥³": 45823, + "ðŁ¥³": 28055, + "ðŁ¥º": 43380, + "ðŁ¥º": 36858, + "ðŁ¥Ĥ": 43805, + "ðŁ¥Ĥ": 25212, + "ðŁ¥ĥ": 47790, + "ðŁ¥ĩ": 34372, + "ðŁ¥ĩ": 20069, + "ðŁ¥Ī": 35858, + "ðŁ¥ī": 36782, + "ðŁ¥Ĭ": 29275, + "ð٦": 6040, + "ð٦ģ": 36367, + "ð٦ģ": 26056, + "ð٦ĥ": 40184, + "ð٦Ħ": 37659, + "ð٦ħ": 28800, + "ð٦Ī": 48984, + "ð٦ĭ": 49325, + "ð٦ĭ": 28985, + "ð٧": 8792, + "ðŁ§¡": 30996, + "ðŁ§¡": 24578, + "ð٧IJ": 33549, + "ðŁħ": 22010, + "ðŁĨ": 9536, + "ðŁĨķ": 34956, + "ðŁĨĺ": 39868, + "ðŁĨļ": 16325, + "ðŁĩ": 1173, + "ðŁĩ¦": 12469, + "ðŁĩ¦": 28565, + "ðŁĩ¦ðŁĩ": 33196, + "ðŁĩ¦ðŁĩ·": 41629, + "ðŁĩ¦ðŁĩº": 25192, + "ðŁĩ§": 14660, + "ðŁĩ§ðŁĩ": 37342, + "ðŁĩ§ðŁĩª": 38794, + "ðŁĩ§ðŁĩ·": 28182, + "ðŁĩ¨": 8889, + "ðŁĩ¨ðŁĩ": 8989, + "ðŁĩ¨ðŁĩ¦": 34324, + "ðŁĩ¨ðŁĩ¦": 16364, + "ðŁĩ¨ðŁĩ³": 36819, + "ðŁĩ¨ðŁĩŃ": 41119, + "ðŁĩ©": 15222, + "ðŁĩ©ðŁĩ": 36350, + "ðŁĩ©ðŁĩª": 21531, + "ðŁĩª": 11428, + "ðŁĩª": 12331, + "ðŁĩªðŁĩ": 13917, + "ðŁĩªðŁĩ¸": 22177, + "ðŁĩªðŁĩº": 34655, + "ðŁĩ«": 12977, + "ðŁĩ«ðŁĩ·": 39109, + "ðŁĩ«ðŁĩ·": 16223, + "ðŁĩ¬": 8129, + "ðŁĩ¬ðŁĩ": 8354, + "ðŁĩ¬ðŁĩ§": 23762, + "ðŁĩ¬ðŁĩ§": 11559, + "ðŁĩ®": 8268, + "ðŁĩ®ðŁĩ": 8347, + "ðŁĩ®ðŁĩª": 34148, + "ðŁĩ®ðŁĩ³": 47299, + "ðŁĩ®ðŁĩ³": 23602, + "ðŁĩ®ðŁĩ¹": 42034, + "ðŁĩ®ðŁĩ¹": 17070, + "ðŁĩ¯": 20090, + "ðŁĩ¯ðŁĩ": 22924, + "ðŁĩ¯ðŁĩµ": 26527, + "ðŁĩ°": 28232, + "ðŁĩ±": 29533, + "ðŁĩ±ðŁĩ": 40941, + "ðŁĩ²": 16411, + "ðŁĩ²ðŁĩ": 17562, + "ðŁĩ²ðŁĩ½": 32073, + "ðŁĩ³": 16645, + "ðŁĩ³ðŁĩ": 17747, + "ðŁĩ³ðŁĩ±": 36747, + "ðŁĩµ": 12127, + "ðŁĩµðŁĩ": 13608, + "ðŁĩµðŁĩ°": 37764, + "ðŁĩµðŁĩ¹": 42621, + "ðŁĩµðŁĩŃ": 42777, + "ðŁĩ·": 16026, + "ðŁĩ·": 9869, + "ðŁĩ·ðŁĩº": 37902, + "ðŁĩ¸": 19447, + "ðŁĩ¸ðŁĩ": 33325, + "ðŁĩ¸ðŁĩª": 39260, + "ðŁĩ¹": 21810, + "ðŁĩ¹ðŁĩ": 36250, + "ðŁĩº": 4054, + "ðŁĩº": 17467, + "ðŁĩºðŁĩ": 4131, + "ðŁĩºðŁĩ¸": 8907, + "ðŁĩºðŁĩ¸": 5688, + "ðŁĩºðŁĩ¸ðŁĩºðŁĩ¸": 18739, + "ðŁĩºðŁĩ¸ðŁĩºðŁĩ¸": 41411, + "ðŁĩºðŁĩ¸ðŁĩºðŁĩ¸ðŁĩºðŁĩ¸": 43357, + "ðŁĩ¿": 25520, + "ðŁĩ¿ðŁĩ¦": 36982, + "ðŁĩŃ": 30370, + "ðŁĮ": 1576, + "ðŁĮ±": 35318, + "ðŁĮ±": 20665, + "ðŁĮ²": 34071, + "ðŁĮ²": 28154, + "ðŁĮ³": 44265, + "ðŁĮ³": 28543, + "ðŁĮ´": 20643, + "ðŁĮ´": 15968, + "ðŁĮµ": 40871, + "ðŁĮ·": 32328, + "ðŁĮ·": 24259, + "ðŁĮ¸": 16314, + "ðŁĮ¸": 10980, + "ðŁĮ¸ðŁĮ¸": 46210, + "ðŁĮ¹": 14990, + "ðŁĮ¹": 10662, + "ðŁĮ¹ðŁĮ¹": 37933, + "ðŁĮº": 27608, + "ðŁĮº": 19829, + "ðŁĮ»": 27196, + "ðŁĮ»": 19772, + "ðŁĮ¼": 36484, + "ðŁĮ¼": 26312, + "ðŁĮ¾": 39796, + "ðŁĮ¿": 27736, + "ðŁĮ¿": 18588, + "ðŁĮĢ": 34348, + "ðŁĮħ": 27547, + "ðŁĮĪ": 23038, + "ðŁĮĪ": 13042, + "ðŁĮĬ": 20465, + "ðŁĮĬ": 14302, + "ðŁĮĮ": 43393, + "ðŁĮį": 34931, + "ðŁĮį": 18641, + "ðŁĮİ": 31125, + "ðŁĮİ": 16969, + "ðŁĮı": 31527, + "ðŁĮIJ": 33071, + "ðŁĮĻ": 42330, + "ðŁĮĻ": 23283, + "ðŁĮļ": 49004, + "ðŁĮļ": 27877, + "ðŁĮŀ": 21152, + "ðŁĮŀ": 12980, + "ðŁĮŁ": 13196, + "ðŁĮŁ": 8542, + "ðŁĮŁðŁĮŁ": 26014, + "ðŁį": 2011, + "ðŁį¦": 47375, + "ðŁį¦": 32032, + "ðŁį©": 38379, + "ðŁįª": 38958, + "ðŁį«": 47994, + "ðŁį«": 33401, + "ðŁį°": 43732, + "ðŁį°": 30051, + "ðŁį³": 37441, + "ðŁį´": 41531, + "ðŁį´": 25338, + "ðŁį·": 24445, + "ðŁį·": 18072, + "ðŁį¸": 43058, + "ðŁį¸": 31217, + "ðŁį¹": 35598, + "ðŁįº": 31081, + "ðŁįº": 21590, + "ðŁį»": 22793, + "ðŁį»": 13167, + "ðŁį¾": 27294, + "ðŁį¾": 21656, + "ðŁįĢ": 22865, + "ðŁįĢ": 15764, + "ðŁįģ": 29837, + "ðŁįģ": 23075, + "ðŁįĤ": 35015, + "ðŁįĤ": 25721, + "ðŁįĥ": 27157, + "ðŁįĥ": 20147, + "ðŁįĩ": 48697, + "ðŁįĬ": 35001, + "ðŁįĬ": 28036, + "ðŁįĭ": 39543, + "ðŁįĮ": 44987, + "ðŁįį": 48946, + "ðŁįİ": 32069, + "ðŁįij": 32889, + "ðŁįĴ": 33160, + "ðŁįĵ": 44739, + "ðŁįĵ": 33456, + "ðŁįĶ": 46415, + "ðŁįĶ": 36031, + "ðŁįķ": 31469, + "ðŁįķ": 23904, + "ðŁįŃ": 42100, + "ðŁİ": 1165, + "ðŁİ£": 43158, + "ðŁİ¤": 23490, + "ðŁİ¤": 15690, + "ðŁİ¥": 22186, + "ðŁİ¥:": 43640, + "ðŁİ¥": 13233, + "ðŁİ§": 31254, + "ðŁİ§": 14266, + "ðŁİ¨": 31953, + "ðŁİ¨": 13461, + "ðŁİ©": 37701, + "ðŁİ«": 30331, + "ðŁİ¬": 36020, + "ðŁİ¬": 18150, + "ðŁİ®": 29312, + "ðŁİ¯": 23114, + "ðŁİµ": 27435, + "ðŁİµ": 14946, + "ðŁİ¶": 11755, + "ðŁİ¶": 6011, + "ðŁİ¶ðŁİ¶": 36283, + "ðŁİ¸": 29135, + "ðŁİ¸": 22122, + "ðŁİ¹": 43493, + "ðŁİ¼": 34949, + "ðŁİ¼": 23757, + "ðŁİ¾": 41982, + "ðŁİ¾": 24222, + "ðŁİĢ": 34347, + "ðŁİĢ": 20151, + "ðŁİģ": 18368, + "ðŁİģ": 13462, + "ðŁİĤ": 13026, + "ðŁİĤ": 10392, + "ðŁİĤðŁİĤ": 39338, + "ðŁİĥ": 22622, + "ðŁİĥ": 16780, + "ðŁİĦ": 12942, + "ðŁİĦ": 11267, + "ðŁİħ": 17685, + "ðŁİħ": 24276, + "ðŁİĨ": 39222, + "ðŁİĪ": 16142, + "ðŁİĪ": 14448, + "ðŁİĪðŁİī": 48049, + "ðŁİī": 4310, + "ðŁİī:": 17310, + "ðŁİī": 3986, + "ðŁİīðŁİ": 11473, + "ðŁİīðŁİĪ": 40499, + "ðŁİīðŁİĪ": 34008, + "ðŁİīðŁİī": 25159, + "ðŁİīðŁİī": 13450, + "ðŁİīðŁİīðŁİī": 20828, + "ðŁİīðŁİĬ": 31662, + "ðŁİīðŁİĬ": 30781, + "ðŁİĬ": 22763, + "ðŁİĬ": 22425, + "ðŁİĬðŁİī": 48801, + "ðŁİĵ": 28916, + "ðŁİĵ": 18744, + "ðŁİĻ": 29001, + "ðŁİĻ": 29753, + "ðŁİĻï¸ı": 44205, + "ðŁİŁ": 19248, + "ðŁİŁ": 21107, + "ðŁİŁï¸ı": 30243, + "ðŁİŃ": 28856, + "ðŁı": 1109, + "ðŁı¡": 27318, + "ðŁı³ï¸ı": 26844, + "ðŁı³ï¸ıâĢį": 27093, + "ðŁı³ï¸ıâĢįðŁĮĪ": 32610, + "ðŁı´": 39690, + "ðŁı´": 19704, + "ðŁı»": 5042, + "ðŁı»": 3702, + "ðŁı»âĢį": 46250, + "ðŁı»âĢįâĻĢï¸ı": 48391, + "ðŁı»âĢįâĻĢï¸ı": 23595, + "ðŁı»âĢįâĻĤï¸ı": 30984, + "ðŁı¼": 6193, + "ðŁı¼": 4027, + "ðŁı¼âĢįâĻĢï¸ı": 28955, + "ðŁı½": 8514, + "ðŁı½": 6114, + "ðŁı½âĢįâĻĢï¸ı": 37036, + "ðŁı½âĢįâĻĤï¸ı": 43157, + "ðŁı¾": 10230, + "ðŁı¾": 7778, + "ðŁı¾âĢįâĻĤï¸ı": 47189, + "ðŁı¿": 29854, + "ðŁı¿": 21094, + "ðŁıĢ": 13708, + "ðŁıĢ": 8813, + "ðŁıĢðŁıĢ": 43169, + "ðŁıģ": 29423, + "ðŁıģ": 17473, + "ðŁıĥ": 16820, + "ðŁıĥ": 32751, + "ðŁıħ": 25500, + "ðŁıĨ": 9585, + "ðŁıĨ": 5596, + "ðŁıĨðŁıĨ": 18946, + "ðŁıĨðŁıĨ": 38269, + "ðŁıĨðŁıĨðŁıĨ": 44484, + "ðŁıĩ": 45789, + "ðŁıĩ": 40288, + "ðŁıĪ": 16144, + "ðŁıĪ": 10477, + "ðŁıī": 26020, + "ðŁıĬ": 33061, + "ðŁıĬ": 47830, + "ðŁıĮ": 41116, + "ðŁıı": 32460, + "ðŁıIJ": 46334, + "ðŁıIJ": 29433, + "ðŁıĴ": 37756, + "ðŁıŁ": 35914, + "ðŁıŁ": 26472, + "ðŁıŁï¸ı": 42627, + "ðŁıł": 33727, + "ðŁIJ": 2074, + "ðŁIJ¢": 37049, + "ðŁIJ£": 39597, + "ðŁIJ¥": 42981, + "ðŁIJ¦": 37260, + "ðŁIJ¬": 44238, + "ðŁIJ¯": 34825, + "ðŁIJ¯": 26111, + "ðŁIJ°": 35378, + "ðŁIJ°": 25050, + "ðŁIJ±": 35710, + "ðŁIJ±": 22979, + "ðŁIJ´": 33509, + "ðŁIJ¶": 14466, + "ðŁIJ¶": 10631, + "ðŁIJ·": 38408, + "ðŁIJ¸": 45597, + "ðŁIJ¸": 40298, + "ðŁIJº": 44281, + "ðŁIJº": 31445, + "ðŁIJ»": 30750, + "ðŁIJ»": 25322, + "ðŁIJ¼": 46234, + "ðŁIJ¾": 16057, + "ðŁIJ¾": 11317, + "ðŁIJ¾ðŁIJ¾": 42202, + "ðŁIJī": 46908, + "ðŁIJĬ": 43974, + "ðŁIJį": 48903, + "ðŁIJį": 30177, + "ðŁIJİ": 48281, + "ðŁIJİ": 32726, + "ðŁIJIJ": 47735, + "ðŁIJIJ": 27954, + "ðŁIJij": 49389, + "ðŁIJķ": 41069, + "ðŁIJĺ": 38733, + "ðŁIJĿ": 30619, + "ðŁIJĿ": 20111, + "ðŁIJŁ": 42084, + "ðŁIJŁ": 29989, + "ðŁIJł": 42725, + "ðŁij": 964, + "ðŁij£": 39755, + "ðŁij§": 48938, + "ðŁij¨": 18966, + "ðŁij¨âĢį": 25023, + "ðŁij©": 18800, + "ðŁij©âĢį": 26304, + "ðŁij«": 47106, + "ðŁij«": 35457, + "ðŁij®": 42686, + "ðŁij¯": 25910, + "ðŁij¯": 20582, + "ðŁij¶": 26187, + "ðŁij¶": 33189, + "ðŁij¸": 26268, + "ðŁij¸": 36645, + "ðŁij¹": 46766, + "ðŁij»": 24625, + "ðŁij»": 16243, + "ðŁij¼": 25270, + "ðŁij¼": 31083, + "ðŁij½": 42677, + "ðŁij½": 26257, + "ðŁijĢ": 11524, + "ðŁijĢ": 5908, + "ðŁijĢðŁijĢ": 31561, + "ðŁijģ": 47796, + "ðŁijģ": 45705, + "ðŁijĦ": 47445, + "ðŁijħ": 31833, + "ðŁijħ": 24672, + "ðŁijĨ": 42975, + "ðŁijĨ": 45194, + "ðŁijĩ": 7662, + "ðŁijĩ": 7475, + "ðŁijĩðŁı»": 45811, + "ðŁijĩðŁı»": 32813, + "ðŁijĩðŁı¼": 37504, + "ðŁijĩðŁijĩ": 17915, + "ðŁijĩðŁijĩ": 31891, + "ðŁijĩðŁijĩðŁijĩ": 35627, + "ðŁijĪ": 32794, + "ðŁijĪ": 20832, + "ðŁijī": 9477, + "ðŁijī": 3988, + "ðŁijīðŁı»": 23481, + "ðŁijīðŁı¼": 27534, + "ðŁijīðŁı½": 38059, + "ðŁijīðŁijī": 41480, + "ðŁijĬ": 8897, + "ðŁijĬ": 9704, + "ðŁijĬðŁı»": 47393, + "ðŁijĬðŁı»": 29152, + "ðŁijĬðŁı¼": 49000, + "ðŁijĬðŁı¼": 30115, + "ðŁijĬðŁijĬ": 46521, + "ðŁijĭ": 19351, + "ðŁijĭ": 17686, + "ðŁijĮ": 4890, + "ðŁijĮ": 4494, + "ðŁijĮðŁı»": 31818, + "ðŁijĮðŁı»": 18606, + "ðŁijĮðŁı¼": 37655, + "ðŁijĮðŁı¼": 20031, + "ðŁijĮðŁı½": 35834, + "ðŁijĮðŁijĮ": 36139, + "ðŁijĮðŁijĮ": 21435, + "ðŁijĮðŁijĮðŁijĮ": 40876, + "ðŁijį": 4686, + "ðŁijį": 4201, + "ðŁijįðŁı»": 25803, + "ðŁijįðŁı»": 15129, + "ðŁijįðŁı¼": 37285, + "ðŁijįðŁı¼": 19689, + "ðŁijįðŁı½": 43722, + "ðŁijįðŁijį": 33012, + "ðŁijįðŁijį": 18997, + "ðŁijįðŁijįðŁijį": 37284, + "ðŁijİ": 39702, + "ðŁijİ": 32568, + "ðŁijı": 3802, + "ðŁijı": 4829, + "ðŁijıðŁı»": 19236, + "ðŁijıðŁı»": 17029, + "ðŁijıðŁı»ðŁijıðŁı»": 35254, + "ðŁijıðŁı¼": 24496, + "ðŁijıðŁı¼": 19979, + "ðŁijıðŁı¼ðŁijıðŁı¼": 46712, + "ðŁijıðŁı½": 40796, + "ðŁijıðŁı½": 33978, + "ðŁijıðŁı¾": 45450, + "ðŁijıðŁijı": 10356, + "ðŁijıðŁijı": 16706, + "ðŁijıðŁijıðŁijı": 17254, + "ðŁijIJ": 40877, + "ðŁijij": 14955, + "ðŁijij": 8717, + "ðŁijijðŁijij": 48532, + "ðŁijķ": 47865, + "ðŁijŁ": 41183, + "ðŁijł": 41264, + "ðŁijŃ": 34175, + "ðŁijŃ": 27943, + "ðŁĴ": 837, + "ðŁĴ¡": 24081, + "ðŁĴ£": 36862, + "ðŁĴ£": 29006, + "ðŁĴ¤": 34706, + "ðŁĴ¤": 25632, + "ðŁĴ¥": 12209, + "ðŁĴ¥": 7347, + "ðŁĴ¥ðŁĴ¥": 27396, + "ðŁĴ¥ðŁĴ¥": 39246, + "ðŁĴ¥ðŁĴ¥ðŁĴ¥": 48890, + "ðŁĴ¦": 21180, + "ðŁĴ¦": 14060, + "ðŁĴ¦ðŁĴ¦": 44469, + "ðŁĴ§": 34095, + "ðŁĴ¨": 27408, + "ðŁĴ¨": 17891, + "ðŁĴ©": 48621, + "ðŁĴ©": 28847, + "ðŁĴª": 5475, + "ðŁĴª": 6440, + "ðŁĴªðŁı»": 31669, + "ðŁĴªðŁı»": 21903, + "ðŁĴªðŁı¼": 32041, + "ðŁĴªðŁı¼": 20759, + "ðŁĴªðŁı½": 46380, + "ðŁĴªðŁı½": 31111, + "ðŁĴªðŁı¾": 39398, + "ðŁĴªðŁĴª": 24747, + "ðŁĴªðŁĴªðŁĴª": 39913, + "ðŁĴ«": 25770, + "ðŁĴ«": 12526, + "ðŁĴ¬": 30947, + "ðŁĴ¯": 10611, + "ðŁĴ¯": 7018, + "ðŁĴ¯ðŁĴ¯": 30234, + "ðŁĴ¯ðŁĴ¯": 44070, + "ðŁĴ°": 20454, + "ðŁĴ°": 14078, + "ðŁĴ°ðŁĴ°": 41747, + "ðŁĴµ": 47412, + "ðŁĴµ": 38041, + "ðŁĴ¸": 37696, + "ðŁĴ¸": 25957, + "ðŁĴ»": 33433, + "ðŁĴ»": 18135, + "ðŁĴ¿": 39541, + "ðŁĴĢ": 14888, + "ðŁĴĢ": 12158, + "ðŁĴĢðŁĴĢ": 30884, + "ðŁĴģ": 13997, + "ðŁĴģ": 14392, + "ðŁĴĥ": 9947, + "ðŁĴĥ": 14333, + "ðŁĴĥðŁı»": 38624, + "ðŁĴĥðŁĴĥ": 28041, + "ðŁĴĦ": 46116, + "ðŁĴĦ": 34571, + "ðŁĴħ": 27457, + "ðŁĴħ": 32414, + "ðŁĴī": 44316, + "ðŁĴī": 30503, + "ðŁĴĭ": 12217, + "ðŁĴĭ": 7417, + "ðŁĴĭðŁĴĭ": 29214, + "ðŁĴĮ": 40817, + "ðŁĴį": 35850, + "ðŁĴį": 24898, + "ðŁĴİ": 25938, + "ðŁĴİ": 15874, + "ðŁĴIJ": 27375, + "ðŁĴIJ": 20554, + "ðŁĴij": 49404, + "ðŁĴĵ": 20628, + "ðŁĴĵ": 12568, + "ðŁĴĵðŁĴĵ": 43505, + "ðŁĴĶ": 18880, + "ðŁĴĶ": 10704, + "ðŁĴĶðŁĴĶ": 44673, + "ðŁĴķ": 5412, + "ðŁĴķ": 3082, + "ðŁĴķðŁĴķ": 23106, + "ðŁĴķðŁĴķ": 14117, + "ðŁĴķðŁĴķðŁĴķ": 26772, + "ðŁĴĸ": 8466, + "ðŁĴĸ": 5582, + "ðŁĴĸðŁĴĸ": 19562, + "ðŁĴĸðŁĴĸ": 30595, + "ðŁĴĸðŁĴĸðŁĴĸ": 33915, + "ðŁĴĹ": 10148, + "ðŁĴĹ": 6690, + "ðŁĴĹðŁĴĹ": 47158, + "ðŁĴĹðŁĴĹ": 24064, + "ðŁĴĹðŁĴĹðŁĴĹ": 36990, + "ðŁĴĺ": 18223, + "ðŁĴĺ": 10816, + "ðŁĴĺðŁĴĺ": 40464, + "ðŁĴĻ": 5305, + "ðŁĴĻ": 4074, + "ðŁĴĻðŁĴĻ": 17833, + "ðŁĴĻðŁĴĻ": 27101, + "ðŁĴĻðŁĴĻðŁĴĻ": 30698, + "ðŁĴĻðŁĴĽ": 46804, + "ðŁĴĻðŁĴĽ": 26230, + "ðŁĴĻðŁĴľ": 47931, + "ðŁĴĻðŁĴľ": 42541, + "ðŁĴļ": 8102, + "ðŁĴļ": 6521, + "ðŁĴļðŁĴļ": 27497, + "ðŁĴļðŁĴļ": 46209, + "ðŁĴļðŁĴļðŁĴļ": 46182, + "ðŁĴļðŁĴĽ": 41232, + "ðŁĴĽ": 8221, + "ðŁĴĽ": 6233, + "ðŁĴĽðŁĴĻ": 36337, + "ðŁĴĽðŁĴļ": 37994, + "ðŁĴĽðŁĴĽ": 32420, + "ðŁĴľ": 6832, + "ðŁĴľ": 4882, + "ðŁĴľðŁĴľ": 17280, + "ðŁĴľðŁĴľ": 28211, + "ðŁĴľðŁĴľðŁĴľ": 31004, + "ðŁĴĿ": 36761, + "ðŁĴĿ": 22002, + "ðŁĴŀ": 14862, + "ðŁĴŀ": 8988, + "ðŁĴŀðŁĴŀ": 36448, + "ðŁĴŁ": 49394, + "ðŁĴŁ": 28828, + "ðŁĴŃ": 33848, + "ðŁĵ": 1497, + "ðŁĵ¢": 46560, + "ðŁĵ¢": 20901, + "ðŁĵ£": 48841, + "ðŁĵ£": 21282, + "ðŁĵ°:": 28952, + "ðŁĵ°": 14985, + "ðŁĵ±": 36104, + "ðŁĵ±": 20824, + "ðŁĵ²": 19363, + "ðŁĵ·": 6966, + "ðŁĵ·:": 8294, + "ðŁĵ·": 5551, + "ðŁĵ·@": 40032, + "ðŁĵ¸": 8401, + "ðŁĵ¸:": 10379, + "ðŁĵ¸": 6074, + "ðŁĵ¸@": 39660, + "ðŁĵ¹": 49251, + "ðŁĵº": 21792, + "ðŁĵº:": 29728, + "ðŁĵº": 10450, + "ðŁĵ»": 32711, + "ðŁĵ»": 15882, + "ðŁĵ½": 45361, + "ðŁĵħ": 21277, + "ðŁĵĨ": 23471, + "ðŁĵĪ": 23359, + "ðŁĵĬ": 22244, + "ðŁĵĭ": 46351, + "ðŁĵĮ": 22289, + "ðŁĵį": 25043, + "ðŁĵį:": 36845, + "ðŁĵį": 8903, + "ðŁĵĸ": 49003, + "ðŁĵĸ": 23043, + "ðŁĵļ": 25433, + "ðŁĵļ": 15566, + "ðŁĵĿ": 31888, + "ðŁĵĿ:": 48398, + "ðŁĵĿ": 15853, + "ðŁĵŀ": 24022, + "ðŁĶ": 1428, + "ðŁĶ¥": 3191, + "ðŁĶ¥#": 44354, + "ðŁĶ¥": 3016, + "ðŁĶ¥ðŁĶ¥": 5692, + "ðŁĶ¥ðŁĶ¥": 11771, + "ðŁĶ¥ðŁĶ¥ðŁĶ¥": 11004, + "ðŁĶ¥ðŁĶ¥ðŁĶ¥ðŁĶ¥": 23408, + "ðŁĶ¥ðŁĶ¥ðŁĶ¥ðŁĶ¥": 30989, + "ðŁĶ¥ðŁĶ¥ðŁĶ¥ðŁĶ¥ðŁĶ¥": 48401, + "ðŁĶ¥ðŁĶĹ": 35130, + "ðŁĶª": 47078, + "ðŁĶª": 34545, + "ðŁĶ«": 38116, + "ðŁĶ«": 20583, + "ðŁĶ¬": 44227, + "ðŁĶ®": 38077, + "ðŁĶ´": 12408, + "ðŁĶ´": 10854, + "ðŁĶ´âļªï¸ı": 46879, + "ðŁĶ´âļªï¸ı": 40055, + "ðŁĶµ": 17531, + "ðŁĶµ": 17193, + "ðŁĶµâļªï¸ı": 42412, + "ðŁĶ¶": 42880, + "ðŁĶ¶": 36222, + "ðŁĶ·": 37740, + "ðŁĶ¸": 24200, + "ðŁĶ¹": 19995, + "ðŁĶº": 45561, + "ðŁĶģ": 41299, + "ðŁĶĬ": 32580, + "ðŁĶĬ": 20502, + "ðŁĶİ": 44935, + "ðŁĶij": 35127, + "ðŁĶĴ": 44972, + "ðŁĶĶ": 45753, + "ðŁĶĹ": 47475, + "ðŁĶĹ": 14561, + "ðŁĶĺ": 38995, + "ðŁĶľ": 36011, + "ðŁĶĿ": 44387, + "ðŁĶĿ": 29506, + "ðŁķ": 7692, + "ðŁķº": 33958, + "ðŁķĬ": 42624, + "ðŁķĬ": 37760, + "ðŁĸ": 6269, + "ðŁĸ¤": 17603, + "ðŁĸ¤": 10860, + "ðŁĸ¥": 47990, + "ðŁĹ": 7045, + "ðŁĹ£": 33232, + "ðŁĹ£": 18583, + "ðŁĹ£ï¸ı": 37476, + "ðŁĹĵ": 34335, + "ðŁĹĵ": 28773, + "ðŁĹĵï¸ı": 39847, + "ðŁĺ": 668, + "ðŁĺ¡": 21968, + "ðŁĺ¡": 17452, + "ðŁĺ¡ðŁĺ¡": 37223, + "ðŁĺ¢": 14308, + "ðŁĺ¢": 9925, + "ðŁĺ¢ðŁĺ¢": 32923, + "ðŁĺ¢ðŁĺ¢": 47921, + "ðŁĺ£": 32718, + "ðŁĺ¤": 26872, + "ðŁĺ¤": 20740, + "ðŁĺ¥": 38383, + "ðŁĺ¥": 23951, + "ðŁĺ¨": 38080, + "ðŁĺ©": 9051, + "ðŁĺ©": 9494, + "ðŁĺ©ðŁĺ©": 22820, + "ðŁĺ©ðŁĺ©": 38031, + "ðŁĺ©ðŁĺ©ðŁĺ©": 49063, + "ðŁĺª": 38181, + "ðŁĺª": 22243, + "ðŁĺ«": 25141, + "ðŁĺ«": 22340, + "ðŁĺ¬": 23704, + "ðŁĺ¬": 14549, + "ðŁĺ®": 40163, + "ðŁĺ®": 21616, + "ðŁĺ¯": 37858, + "ðŁĺ°": 34728, + "ðŁĺ±": 10938, + "ðŁĺ±": 9055, + "ðŁĺ±ðŁĺ±": 22061, + "ðŁĺ±ðŁĺ±": 40767, + "ðŁĺ±ðŁĺ±ðŁĺ±": 40909, + "ðŁĺ²": 40460, + "ðŁĺ²": 24620, + "ðŁĺ³": 12047, + "ðŁĺ³": 8223, + "ðŁĺ³ðŁĺ³": 32592, + "ðŁĺ´": 23527, + "ðŁĺ´": 16415, + "ðŁĺ´ðŁĺ´": 49307, + "ðŁĺµ": 39368, + "ðŁĺ¶": 35207, + "ðŁĺ·": 37943, + "ðŁĺ·": 25759, + "ðŁĺ¸": 36912, + "ðŁĺ¹": 26477, + "ðŁĺ¹": 26573, + "ðŁĺ¹ðŁĺ¹": 46287, + "ðŁĺº": 40613, + "ðŁĺ»": 15453, + "ðŁĺ»": 12911, + "ðŁĺ»ðŁĺ»": 34414, + "ðŁĺ¼": 44245, + "ðŁĺ½": 45156, + "ðŁĺĢ": 12832, + "ðŁĺĢ": 7334, + "ðŁĺĢðŁĺĢ": 34503, + "ðŁĺģ": 6967, + "ðŁĺģ": 4821, + "ðŁĺģðŁĺģ": 37900, + "ðŁĺģðŁĺģ": 19213, + "ðŁĺģðŁĺģðŁĺģ": 29083, + "ðŁĺĤ": 1424, + "ðŁĺĤ)": 42643, + "ðŁĺĤ.": 42550, + "ðŁĺĤ": 1558, + "ðŁĺĤâĿ¤ï¸ı": 36412, + "ðŁĺĤðŁijĮ": 42000, + "ðŁĺĤðŁĺĤ": 2286, + "ðŁĺĤðŁĺĤ": 4112, + "ðŁĺĤðŁĺĤðŁĺĤ": 22233, + "ðŁĺĤðŁĺĤðŁĺĤ": 4887, + "ðŁĺĤðŁĺĤðŁĺĤðŁĺĤ": 9936, + "ðŁĺĤðŁĺĤðŁĺĤðŁĺĤ": 11522, + "ðŁĺĤðŁĺĤðŁĺĤðŁĺĤðŁĺĤ": 19295, + "ðŁĺĤðŁĺĤðŁĺĤðŁĺĤðŁĺĤðŁĺĤ": 33415, + "ðŁĺĤðŁĺĤðŁĺĤðŁĺĤðŁĺĤðŁĺĤðŁĺĤ": 48973, + "ðŁĺĤðŁĺĤðŁĺĤðŁĺĤðŁĺĤðŁĺĤðŁĺĤðŁĺĤ": 28504, + "ðŁĺĤðŁĺį": 43128, + "ðŁĺĤðŁĺŃ": 28965, + "ðŁĺĤðŁĺŃ": 25802, + "ðŁĺĥ": 14079, + "ðŁĺĥ": 8520, + "ðŁĺĥðŁĺĥ": 38358, + "ðŁĺĦ": 12141, + "ðŁĺĦ": 7624, + "ðŁĺĦðŁĺĦ": 32312, + "ðŁĺħ": 15245, + "ðŁĺħ": 9188, + "ðŁĺħðŁĺħ": 39078, + "ðŁĺĨ": 16541, + "ðŁĺĨ": 10943, + "ðŁĺĨðŁĺĨ": 39503, + "ðŁĺĩ": 21694, + "ðŁĺĩ": 13091, + "ðŁĺĪ": 14377, + "ðŁĺĪ": 9756, + "ðŁĺĪðŁĺĪ": 44473, + "ðŁĺī": 9740, + "ðŁĺī": 4955, + "ðŁĺīðŁĺī": 40430, + "ðŁĺĬ": 4692, + "ðŁĺĬ": 3020, + "ðŁĺĬâĿ¤ï¸ı": 43606, + "ðŁĺĬðŁĺĬ": 12838, + "ðŁĺĬðŁĺĬ": 20842, + "ðŁĺĬðŁĺĬðŁĺĬ": 28685, + "ðŁĺĬðŁĺĬðŁĺĬðŁĺĬ": 35519, + "ðŁĺĭ": 12391, + "ðŁĺĭ": 7203, + "ðŁĺĭðŁĺĭ": 33304, + "ðŁĺĮ": 19221, + "ðŁĺĮ": 12163, + "ðŁĺį": 1796, + "ðŁĺį#": 42357, + "ðŁĺį.": 48579, + "ðŁĺį": 1754, + "ðŁĺįâĿ¤": 29122, + "ðŁĺįâĿ¤ï¸ı": 21945, + "ðŁĺįðŁijĮ": 41005, + "ðŁĺįðŁĴķ": 35946, + "ðŁĺįðŁĶ¥": 46648, + "ðŁĺįðŁĺĤ": 48715, + "ðŁĺįðŁĺį": 3663, + "ðŁĺįðŁĺį": 6471, + "ðŁĺįðŁĺįðŁĺį": 30614, + "ðŁĺįðŁĺįðŁĺį": 7703, + "ðŁĺįðŁĺįðŁĺįðŁĺį": 16603, + "ðŁĺįðŁĺįðŁĺįðŁĺį": 18925, + "ðŁĺįðŁĺįðŁĺįðŁĺįðŁĺį": 32078, + "ðŁĺįðŁĺįðŁĺįðŁĺįðŁĺįðŁĺįðŁĺįðŁĺį": 48683, + "ðŁĺįðŁĺĺ": 29646, + "ðŁĺįðŁĺĺ": 19849, + "ðŁĺįðŁĺŃ": 39555, + "ðŁĺİ": 7426, + "ðŁĺİ": 4345, + "ðŁĺİðŁĺİ": 24048, + "ðŁĺİðŁĺİðŁĺİ": 39742, + "ðŁĺı": 11624, + "ðŁĺı": 6909, + "ðŁĺıðŁĺı": 38151, + "ðŁĺIJ": 38586, + "ðŁĺIJ": 19618, + "ðŁĺij": 32469, + "ðŁĺij": 18937, + "ðŁĺĴ": 20792, + "ðŁĺĴ": 11702, + "ðŁĺĵ": 28733, + "ðŁĺĶ": 19532, + "ðŁĺĶ": 11432, + "ðŁĺķ": 45741, + "ðŁĺķ": 20602, + "ðŁĺĸ": 35006, + "ðŁĺĺ": 4240, + "ðŁĺĺ": 3352, + "ðŁĺĺâĿ¤": 48409, + "ðŁĺĺâĿ¤ï¸ı": 39150, + "ðŁĺĺðŁĺį": 38176, + "ðŁĺĺðŁĺĺ": 15663, + "ðŁĺĺðŁĺĺ": 10507, + "ðŁĺĺðŁĺĺðŁĺĺ": 20208, + "ðŁĺĺðŁĺĺðŁĺĺðŁĺĺ": 44892, + "ðŁĺĻ": 36201, + "ðŁĺĻ": 29209, + "ðŁĺļ": 24897, + "ðŁĺļ": 19102, + "ðŁĺĽ": 24550, + "ðŁĺĽ": 15745, + "ðŁĺľ": 13226, + "ðŁĺľ": 7830, + "ðŁĺľðŁĺľ": 43065, + "ðŁĺĿ": 20064, + "ðŁĺĿ": 12970, + "ðŁĺŀ": 40458, + "ðŁĺŀ": 21103, + "ðŁĺŁ": 46947, + "ðŁĺł": 34094, + "ðŁĺŃ": 2962, + "ðŁĺŃ": 3915, + "ðŁĺŃâĿ¤ï¸ı": 29567, + "ðŁĺŃðŁĴķ": 46306, + "ðŁĺŃðŁĺĤ": 38505, + "ðŁĺŃðŁĺį": 36893, + "ðŁĺŃðŁĺŃ": 5300, + "ðŁĺŃðŁĺŃ": 11834, + "ðŁĺŃðŁĺŃðŁĺŃ": 44089, + "ðŁĺŃðŁĺŃðŁĺŃ": 13116, + "ðŁĺŃðŁĺŃðŁĺŃðŁĺŃ": 19793, + "ðŁĺŃðŁĺŃðŁĺŃðŁĺŃ": 27322, + "ðŁĺŃðŁĺŃðŁĺŃðŁĺŃðŁĺŃ": 43366, + "ðŁĻ": 1478, + "ðŁĻĢ": 43092, + "ðŁĻĤ": 32006, + "ðŁĻĤ": 14860, + "ðŁĻĥ": 27222, + "ðŁĻĥ": 15652, + "ðŁĻĦ": 20648, + "ðŁĻĦ": 13049, + "ðŁĻħ": 42702, + "ðŁĻĨ": 30050, + "ðŁĻĨ": 35730, + "ðŁĻĪ": 12661, + "ðŁĻĪ": 9516, + "ðŁĻĪðŁĻĪ": 41796, + "ðŁĻĬ": 23684, + "ðŁĻĬ": 16636, + "ðŁĻĭ": 19193, + "ðŁĻĭ": 30274, + "ðŁĻĮ": 4366, + "ðŁĻĮ": 4855, + "ðŁĻĮðŁı»": 26756, + "ðŁĻĮðŁı»": 15799, + "ðŁĻĮðŁı¼": 26584, + "ðŁĻĮðŁı¼": 15364, + "ðŁĻĮðŁı½": 36660, + "ðŁĻĮðŁı½": 22962, + "ðŁĻĮðŁı¾": 38023, + "ðŁĻĮðŁı¾": 26466, + "ðŁĻĮðŁĻĮ": 21202, + "ðŁĻĮðŁĻĮ": 30430, + "ðŁĻĮðŁĻĮðŁĻĮ": 37127, + "ðŁĻı": 4260, + "ðŁĻı": 5503, + "ðŁĻıðŁı»": 25100, + "ðŁĻıðŁı»": 16650, + "ðŁĻıðŁı¼": 31163, + "ðŁĻıðŁı¼": 18952, + "ðŁĻıðŁı½": 34103, + "ðŁĻıðŁı½": 21540, + "ðŁĻıðŁı¾": 34277, + "ðŁĻıðŁı¾": 21979, + "ðŁĻıðŁĻı": 18227, + "ðŁĻıðŁĻı": 26510, + "ðŁĻıðŁĻıðŁĻı": 31702, + "ðŁļ": 2730, + "ðŁļ¨": 12198, + "ðŁļ¨": 6056, + "ðŁļ¨ðŁļ¨": 36487, + "ðŁļ¨ðŁļ¨": 21440, + "ðŁļ¨ðŁļ¨ðŁļ¨": 41515, + "ðŁļ©": 44514, + "ðŁļ«": 35291, + "ðŁļ²": 37085, + "ðŁļ´": 30825, + "ðŁļ¶": 46060, + "ðŁļĢ": 22400, + "ðŁļĢ": 13542, + "ðŁļĢðŁļĢ": 49033, + "ðŁļĤ": 38949, + "ðŁļĮ": 46891, + "ðŁļĹ": 33054, + "ðŁļĹ": 22783, + "ðŁļĺ": 35825, + "ðŁļĻ": 48487, + "ðŁĽ": 11306, + "ñ": 173, + "ñ": 429, + "ò": 174, + "ò": 430, + "ó": 175, + "ó": 431, + "ô": 176, + "ô": 432, + "õ": 177, + "õ": 433, + "ö": 178, + "ö": 434, + "÷": 179, + "÷": 435, + "ø": 180, + "ø": 436, + "ù": 181, + "ù": 437, + "ú": 182, + "ú": 438, + "û": 183, + "û": 439, + "ü": 184, + "ü": 440, + "ý": 185, + "ý": 441, + "þ": 186, + "þ": 442, + "ÿ": 187, + "ÿ": 443, + "Ā": 188, + "Ā": 444, + "ā": 189, + "ā": 445, + "Ă": 190, + "Ă": 446, + "ă": 191, + "ă": 447, + "Ą": 192, + "Ą": 448, + "ą": 193, + "ą": 449, + "Ć": 194, + "Ć": 450, + "ć": 195, + "ć": 451, + "Ĉ": 196, + "Ĉ": 452, + "ĉ": 197, + "ĉ": 453, + "Ċ": 198, + "Ċ": 454, + "ċ": 199, + "ċ": 455, + "Č": 200, + "Č": 456, + "č": 201, + "č": 457, + "Ď": 202, + "Ď": 458, + "ď": 203, + "ď": 459, + "Đ": 204, + "Đ": 460, + "đ": 205, + "đ": 461, + "Ē": 206, + "Ē": 462, + "ē": 207, + "ē": 463, + "Ĕ": 208, + "Ĕ": 464, + "ĕ": 209, + "ĕ": 465, + "Ė": 210, + "Ė": 466, + "ė": 211, + "ė": 467, + "Ę": 212, + "Ę": 468, + "ę": 213, + "ę": 469, + "Ě": 214, + "Ě": 470, + "ě": 215, + "ě": 471, + "Ĝ": 216, + "Ĝ": 472, + "ĝ": 217, + "ĝ": 473, + "Ğ": 218, + "Ğ": 474, + "ğ": 219, + "ğ": 475, + "Ġ": 220, + "Ġ": 476, + "ġ": 221, + "ġ": 477, + "Ģ": 222, + "Ģ": 478, + "Ģï¸ı": 9668, + "Ģï¸ı": 5511, + "ģ": 223, + "ģ": 479, + "ģà¸": 15016, + "Ĥ": 224, + "Ĥ": 480, + "Ĥâĸ": 29036, + "ĤâĸĤâĸ": 30832, + "ĥ": 225, + "ĥ": 481, + "Ħ": 226, + "Ħ": 482, + "Ħà¸": 20537, + "Ħë": 34462, + "Ħëĭ": 25170, + "ħ": 227, + "ħ": 483, + "ħï¸ı": 33950, + "Ĩ": 228, + "Ĩ": 484, + "ĩ": 229, + "ĩ": 485, + "Ī": 230, + "Ī": 486, + "ī": 231, + "ī": 487, + "īï¸ı": 37463, + "Ĭ": 232, + "Ĭ": 488, + "Ĭãģ": 30294, + "ĭ": 233, + "ĭ": 489, + "ĭãģ": 36218, + "ĭãĤ": 45737, + "Į": 234, + "Į": 490, + "ĮãĤĬãģ": 45969, + "ĮãĤĬãģŁãģĦ": 47021, + "Įë": 17003, + "į": 235, + "į": 491, + "İ": 236, + "İ": 492, + "ı": 237, + "ı": 493, + "IJ": 238, + "IJ": 494, + "ij": 239, + "ij": 495, + "Ĵ": 240, + "Ĵ": 496, + "ĵ": 241, + "ĵ": 497, + "Ķ": 242, + "Ķ": 498, + "Ķë": 37978, + "Ķï¸ı": 24395, + "Ķï¸ı": 7443, + "ķ": 243, + "ķ": 499, + "ķãĤ": 26609, + "ķï¸ı": 44853, + "ĸ": 244, + "ĸ": 500, + "ĸï¸ı": 28877, + "Ĺ": 245, + "Ĺ": 501, + "ĺ": 246, + "ĺ": 502, + "Ļ": 247, + "Ļ": 503, + "ļ": 248, + "ļ": 504, + "Ľ": 249, + "Ľ": 505, + "ľ": 250, + "ľ": 506, + "ľë": 39810, + "Ŀ": 251, + "Ŀ": 507, + "ŀ": 252, + "ŀ": 508, + "Ł": 253, + "Ł": 509, + "ŁãģĦ": 46023, + "ł": 254, + "ł": 510, + "łï¸ı": 27899, + "łï¸ı": 12715, + "łĪ": 43364, + "Ń": 255, + "Ń": 511 +} diff --git a/comfy/sdxl_clip.py b/comfy/sdxl_clip.py new file mode 100644 index 0000000000000000000000000000000000000000..4d0a4e8e75a0a4e069a671fce113e1798c29751a --- /dev/null +++ b/comfy/sdxl_clip.py @@ -0,0 +1,95 @@ +from comfy import sd1_clip +import torch +import os + +class SDXLClipG(sd1_clip.SDClipModel): + def __init__(self, device="cpu", max_length=77, freeze=True, layer="penultimate", layer_idx=None, dtype=None, model_options={}): + if layer == "penultimate": + layer="hidden" + layer_idx=-2 + + textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "clip_config_bigg.json") + super().__init__(device=device, freeze=freeze, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, + special_tokens={"start": 49406, "end": 49407, "pad": 0}, layer_norm_hidden_state=False, return_projected_pooled=True, model_options=model_options) + + def load_sd(self, sd): + return super().load_sd(sd) + +class SDXLClipGTokenizer(sd1_clip.SDTokenizer): + def __init__(self, tokenizer_path=None, embedding_directory=None, tokenizer_data={}): + super().__init__(tokenizer_path, pad_with_end=False, embedding_directory=embedding_directory, embedding_size=1280, embedding_key='clip_g') + + +class SDXLTokenizer: + def __init__(self, embedding_directory=None, tokenizer_data={}): + clip_l_tokenizer_class = tokenizer_data.get("clip_l_tokenizer_class", sd1_clip.SDTokenizer) + self.clip_l = clip_l_tokenizer_class(embedding_directory=embedding_directory) + self.clip_g = SDXLClipGTokenizer(embedding_directory=embedding_directory) + + def tokenize_with_weights(self, text:str, return_word_ids=False): + out = {} + out["g"] = self.clip_g.tokenize_with_weights(text, return_word_ids) + out["l"] = self.clip_l.tokenize_with_weights(text, return_word_ids) + return out + + def untokenize(self, token_weight_pair): + return self.clip_g.untokenize(token_weight_pair) + + def state_dict(self): + return {} + +class SDXLClipModel(torch.nn.Module): + def __init__(self, device="cpu", dtype=None, model_options={}): + super().__init__() + clip_l_class = model_options.get("clip_l_class", sd1_clip.SDClipModel) + self.clip_l = clip_l_class(layer="hidden", layer_idx=-2, device=device, dtype=dtype, layer_norm_hidden_state=False, model_options=model_options) + self.clip_g = SDXLClipG(device=device, dtype=dtype, model_options=model_options) + self.dtypes = set([dtype]) + + def set_clip_options(self, options): + self.clip_l.set_clip_options(options) + self.clip_g.set_clip_options(options) + + def reset_clip_options(self): + self.clip_g.reset_clip_options() + self.clip_l.reset_clip_options() + + def encode_token_weights(self, token_weight_pairs): + token_weight_pairs_g = token_weight_pairs["g"] + token_weight_pairs_l = token_weight_pairs["l"] + g_out, g_pooled = self.clip_g.encode_token_weights(token_weight_pairs_g) + l_out, l_pooled = self.clip_l.encode_token_weights(token_weight_pairs_l) + cut_to = min(l_out.shape[1], g_out.shape[1]) + return torch.cat([l_out[:,:cut_to], g_out[:,:cut_to]], dim=-1), g_pooled + + def load_sd(self, sd): + if "text_model.encoder.layers.30.mlp.fc1.weight" in sd: + return self.clip_g.load_sd(sd) + else: + return self.clip_l.load_sd(sd) + +class SDXLRefinerClipModel(sd1_clip.SD1ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + super().__init__(device=device, dtype=dtype, clip_name="g", clip_model=SDXLClipG, model_options=model_options) + + +class StableCascadeClipGTokenizer(sd1_clip.SDTokenizer): + def __init__(self, tokenizer_path=None, embedding_directory=None, tokenizer_data={}): + super().__init__(tokenizer_path, pad_with_end=True, embedding_directory=embedding_directory, embedding_size=1280, embedding_key='clip_g') + +class StableCascadeTokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="g", tokenizer=StableCascadeClipGTokenizer) + +class StableCascadeClipG(sd1_clip.SDClipModel): + def __init__(self, device="cpu", max_length=77, freeze=True, layer="hidden", layer_idx=-1, dtype=None, model_options={}): + textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "clip_config_bigg.json") + super().__init__(device=device, freeze=freeze, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, + special_tokens={"start": 49406, "end": 49407, "pad": 49407}, layer_norm_hidden_state=False, enable_attention_masks=True, return_projected_pooled=True, model_options=model_options) + + def load_sd(self, sd): + return super().load_sd(sd) + +class StableCascadeClipModel(sd1_clip.SD1ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + super().__init__(device=device, dtype=dtype, clip_name="g", clip_model=StableCascadeClipG, model_options=model_options) diff --git a/comfy/supported_models.py b/comfy/supported_models.py new file mode 100644 index 0000000000000000000000000000000000000000..ff3f14329f42e6a819b6506bb2e49135424a282e --- /dev/null +++ b/comfy/supported_models.py @@ -0,0 +1,870 @@ +import torch +from . import model_base +from . import utils + +from . import sd1_clip +from . import sdxl_clip +import comfy.text_encoders.sd2_clip +import comfy.text_encoders.sd3_clip +import comfy.text_encoders.sa_t5 +import comfy.text_encoders.aura_t5 +import comfy.text_encoders.pixart_t5 +import comfy.text_encoders.hydit +import comfy.text_encoders.flux +import comfy.text_encoders.genmo +import comfy.text_encoders.lt +import comfy.text_encoders.hunyuan_video +import comfy.text_encoders.cosmos + +from . import supported_models_base +from . import latent_formats + +from . import diffusers_convert + +class SD15(supported_models_base.BASE): + unet_config = { + "context_dim": 768, + "model_channels": 320, + "use_linear_in_transformer": False, + "adm_in_channels": None, + "use_temporal_attention": False, + } + + unet_extra_config = { + "num_heads": 8, + "num_head_channels": -1, + } + + latent_format = latent_formats.SD15 + memory_usage_factor = 1.0 + + def process_clip_state_dict(self, state_dict): + k = list(state_dict.keys()) + for x in k: + if x.startswith("cond_stage_model.transformer.") and not x.startswith("cond_stage_model.transformer.text_model."): + y = x.replace("cond_stage_model.transformer.", "cond_stage_model.transformer.text_model.") + state_dict[y] = state_dict.pop(x) + + if 'cond_stage_model.transformer.text_model.embeddings.position_ids' in state_dict: + ids = state_dict['cond_stage_model.transformer.text_model.embeddings.position_ids'] + if ids.dtype == torch.float32: + state_dict['cond_stage_model.transformer.text_model.embeddings.position_ids'] = ids.round() + + replace_prefix = {} + replace_prefix["cond_stage_model."] = "clip_l." + state_dict = utils.state_dict_prefix_replace(state_dict, replace_prefix, filter_keys=True) + return state_dict + + def process_clip_state_dict_for_saving(self, state_dict): + pop_keys = ["clip_l.transformer.text_projection.weight", "clip_l.logit_scale"] + for p in pop_keys: + if p in state_dict: + state_dict.pop(p) + + replace_prefix = {"clip_l.": "cond_stage_model."} + return utils.state_dict_prefix_replace(state_dict, replace_prefix) + + def clip_target(self, state_dict={}): + return supported_models_base.ClipTarget(sd1_clip.SD1Tokenizer, sd1_clip.SD1ClipModel) + +class SD20(supported_models_base.BASE): + unet_config = { + "context_dim": 1024, + "model_channels": 320, + "use_linear_in_transformer": True, + "adm_in_channels": None, + "use_temporal_attention": False, + } + + unet_extra_config = { + "num_heads": -1, + "num_head_channels": 64, + "attn_precision": torch.float32, + } + + latent_format = latent_formats.SD15 + memory_usage_factor = 1.0 + + def model_type(self, state_dict, prefix=""): + if self.unet_config["in_channels"] == 4: #SD2.0 inpainting models are not v prediction + k = "{}output_blocks.11.1.transformer_blocks.0.norm1.bias".format(prefix) + out = state_dict.get(k, None) + if out is not None and torch.std(out, unbiased=False) > 0.09: # not sure how well this will actually work. I guess we will find out. + return model_base.ModelType.V_PREDICTION + return model_base.ModelType.EPS + + def process_clip_state_dict(self, state_dict): + replace_prefix = {} + replace_prefix["conditioner.embedders.0.model."] = "clip_h." #SD2 in sgm format + replace_prefix["cond_stage_model.model."] = "clip_h." + state_dict = utils.state_dict_prefix_replace(state_dict, replace_prefix, filter_keys=True) + state_dict = utils.clip_text_transformers_convert(state_dict, "clip_h.", "clip_h.transformer.") + return state_dict + + def process_clip_state_dict_for_saving(self, state_dict): + replace_prefix = {} + replace_prefix["clip_h"] = "cond_stage_model.model" + state_dict = utils.state_dict_prefix_replace(state_dict, replace_prefix) + state_dict = diffusers_convert.convert_text_enc_state_dict_v20(state_dict) + return state_dict + + def clip_target(self, state_dict={}): + return supported_models_base.ClipTarget(comfy.text_encoders.sd2_clip.SD2Tokenizer, comfy.text_encoders.sd2_clip.SD2ClipModel) + +class SD21UnclipL(SD20): + unet_config = { + "context_dim": 1024, + "model_channels": 320, + "use_linear_in_transformer": True, + "adm_in_channels": 1536, + "use_temporal_attention": False, + } + + clip_vision_prefix = "embedder.model.visual." + noise_aug_config = {"noise_schedule_config": {"timesteps": 1000, "beta_schedule": "squaredcos_cap_v2"}, "timestep_dim": 768} + + +class SD21UnclipH(SD20): + unet_config = { + "context_dim": 1024, + "model_channels": 320, + "use_linear_in_transformer": True, + "adm_in_channels": 2048, + "use_temporal_attention": False, + } + + clip_vision_prefix = "embedder.model.visual." + noise_aug_config = {"noise_schedule_config": {"timesteps": 1000, "beta_schedule": "squaredcos_cap_v2"}, "timestep_dim": 1024} + +class SDXLRefiner(supported_models_base.BASE): + unet_config = { + "model_channels": 384, + "use_linear_in_transformer": True, + "context_dim": 1280, + "adm_in_channels": 2560, + "transformer_depth": [0, 0, 4, 4, 4, 4, 0, 0], + "use_temporal_attention": False, + } + + latent_format = latent_formats.SDXL + memory_usage_factor = 1.0 + + def get_model(self, state_dict, prefix="", device=None): + return model_base.SDXLRefiner(self, device=device) + + def process_clip_state_dict(self, state_dict): + keys_to_replace = {} + replace_prefix = {} + replace_prefix["conditioner.embedders.0.model."] = "clip_g." + state_dict = utils.state_dict_prefix_replace(state_dict, replace_prefix, filter_keys=True) + + state_dict = utils.clip_text_transformers_convert(state_dict, "clip_g.", "clip_g.transformer.") + state_dict = utils.state_dict_key_replace(state_dict, keys_to_replace) + return state_dict + + def process_clip_state_dict_for_saving(self, state_dict): + replace_prefix = {} + state_dict_g = diffusers_convert.convert_text_enc_state_dict_v20(state_dict, "clip_g") + if "clip_g.transformer.text_model.embeddings.position_ids" in state_dict_g: + state_dict_g.pop("clip_g.transformer.text_model.embeddings.position_ids") + replace_prefix["clip_g"] = "conditioner.embedders.0.model" + state_dict_g = utils.state_dict_prefix_replace(state_dict_g, replace_prefix) + return state_dict_g + + def clip_target(self, state_dict={}): + return supported_models_base.ClipTarget(sdxl_clip.SDXLTokenizer, sdxl_clip.SDXLRefinerClipModel) + +class SDXL(supported_models_base.BASE): + unet_config = { + "model_channels": 320, + "use_linear_in_transformer": True, + "transformer_depth": [0, 0, 2, 2, 10, 10], + "context_dim": 2048, + "adm_in_channels": 2816, + "use_temporal_attention": False, + } + + latent_format = latent_formats.SDXL + + memory_usage_factor = 0.8 + + def model_type(self, state_dict, prefix=""): + if 'edm_mean' in state_dict and 'edm_std' in state_dict: #Playground V2.5 + self.latent_format = latent_formats.SDXL_Playground_2_5() + self.sampling_settings["sigma_data"] = 0.5 + self.sampling_settings["sigma_max"] = 80.0 + self.sampling_settings["sigma_min"] = 0.002 + return model_base.ModelType.EDM + elif "edm_vpred.sigma_max" in state_dict: + self.sampling_settings["sigma_max"] = float(state_dict["edm_vpred.sigma_max"].item()) + if "edm_vpred.sigma_min" in state_dict: + self.sampling_settings["sigma_min"] = float(state_dict["edm_vpred.sigma_min"].item()) + return model_base.ModelType.V_PREDICTION_EDM + elif "v_pred" in state_dict: + if "ztsnr" in state_dict: #Some zsnr anime checkpoints + self.sampling_settings["zsnr"] = True + return model_base.ModelType.V_PREDICTION + else: + return model_base.ModelType.EPS + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.SDXL(self, model_type=self.model_type(state_dict, prefix), device=device) + if self.inpaint_model(): + out.set_inpaint() + return out + + def process_clip_state_dict(self, state_dict): + keys_to_replace = {} + replace_prefix = {} + + replace_prefix["conditioner.embedders.0.transformer.text_model"] = "clip_l.transformer.text_model" + replace_prefix["conditioner.embedders.1.model."] = "clip_g." + state_dict = utils.state_dict_prefix_replace(state_dict, replace_prefix, filter_keys=True) + + state_dict = utils.state_dict_key_replace(state_dict, keys_to_replace) + state_dict = utils.clip_text_transformers_convert(state_dict, "clip_g.", "clip_g.transformer.") + return state_dict + + def process_clip_state_dict_for_saving(self, state_dict): + replace_prefix = {} + state_dict_g = diffusers_convert.convert_text_enc_state_dict_v20(state_dict, "clip_g") + for k in state_dict: + if k.startswith("clip_l"): + state_dict_g[k] = state_dict[k] + + state_dict_g["clip_l.transformer.text_model.embeddings.position_ids"] = torch.arange(77).expand((1, -1)) + pop_keys = ["clip_l.transformer.text_projection.weight", "clip_l.logit_scale"] + for p in pop_keys: + if p in state_dict_g: + state_dict_g.pop(p) + + replace_prefix["clip_g"] = "conditioner.embedders.1.model" + replace_prefix["clip_l"] = "conditioner.embedders.0" + state_dict_g = utils.state_dict_prefix_replace(state_dict_g, replace_prefix) + return state_dict_g + + def clip_target(self, state_dict={}): + return supported_models_base.ClipTarget(sdxl_clip.SDXLTokenizer, sdxl_clip.SDXLClipModel) + +class SSD1B(SDXL): + unet_config = { + "model_channels": 320, + "use_linear_in_transformer": True, + "transformer_depth": [0, 0, 2, 2, 4, 4], + "context_dim": 2048, + "adm_in_channels": 2816, + "use_temporal_attention": False, + } + +class Segmind_Vega(SDXL): + unet_config = { + "model_channels": 320, + "use_linear_in_transformer": True, + "transformer_depth": [0, 0, 1, 1, 2, 2], + "context_dim": 2048, + "adm_in_channels": 2816, + "use_temporal_attention": False, + } + +class KOALA_700M(SDXL): + unet_config = { + "model_channels": 320, + "use_linear_in_transformer": True, + "transformer_depth": [0, 2, 5], + "context_dim": 2048, + "adm_in_channels": 2816, + "use_temporal_attention": False, + } + +class KOALA_1B(SDXL): + unet_config = { + "model_channels": 320, + "use_linear_in_transformer": True, + "transformer_depth": [0, 2, 6], + "context_dim": 2048, + "adm_in_channels": 2816, + "use_temporal_attention": False, + } + +class SVD_img2vid(supported_models_base.BASE): + unet_config = { + "model_channels": 320, + "in_channels": 8, + "use_linear_in_transformer": True, + "transformer_depth": [1, 1, 1, 1, 1, 1, 0, 0], + "context_dim": 1024, + "adm_in_channels": 768, + "use_temporal_attention": True, + "use_temporal_resblock": True + } + + unet_extra_config = { + "num_heads": -1, + "num_head_channels": 64, + "attn_precision": torch.float32, + } + + clip_vision_prefix = "conditioner.embedders.0.open_clip.model.visual." + + latent_format = latent_formats.SD15 + + sampling_settings = {"sigma_max": 700.0, "sigma_min": 0.002} + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.SVD_img2vid(self, device=device) + return out + + def clip_target(self, state_dict={}): + return None + +class SV3D_u(SVD_img2vid): + unet_config = { + "model_channels": 320, + "in_channels": 8, + "use_linear_in_transformer": True, + "transformer_depth": [1, 1, 1, 1, 1, 1, 0, 0], + "context_dim": 1024, + "adm_in_channels": 256, + "use_temporal_attention": True, + "use_temporal_resblock": True + } + + vae_key_prefix = ["conditioner.embedders.1.encoder."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.SV3D_u(self, device=device) + return out + +class SV3D_p(SV3D_u): + unet_config = { + "model_channels": 320, + "in_channels": 8, + "use_linear_in_transformer": True, + "transformer_depth": [1, 1, 1, 1, 1, 1, 0, 0], + "context_dim": 1024, + "adm_in_channels": 1280, + "use_temporal_attention": True, + "use_temporal_resblock": True + } + + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.SV3D_p(self, device=device) + return out + +class Stable_Zero123(supported_models_base.BASE): + unet_config = { + "context_dim": 768, + "model_channels": 320, + "use_linear_in_transformer": False, + "adm_in_channels": None, + "use_temporal_attention": False, + "in_channels": 8, + } + + unet_extra_config = { + "num_heads": 8, + "num_head_channels": -1, + } + + required_keys = { + "cc_projection.weight": None, + "cc_projection.bias": None, + } + + clip_vision_prefix = "cond_stage_model.model.visual." + + latent_format = latent_formats.SD15 + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.Stable_Zero123(self, device=device, cc_projection_weight=state_dict["cc_projection.weight"], cc_projection_bias=state_dict["cc_projection.bias"]) + return out + + def clip_target(self, state_dict={}): + return None + +class SD_X4Upscaler(SD20): + unet_config = { + "context_dim": 1024, + "model_channels": 256, + 'in_channels': 7, + "use_linear_in_transformer": True, + "adm_in_channels": None, + "use_temporal_attention": False, + } + + unet_extra_config = { + "disable_self_attentions": [True, True, True, False], + "num_classes": 1000, + "num_heads": 8, + "num_head_channels": -1, + } + + latent_format = latent_formats.SD_X4 + + sampling_settings = { + "linear_start": 0.0001, + "linear_end": 0.02, + } + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.SD_X4Upscaler(self, device=device) + return out + +class Stable_Cascade_C(supported_models_base.BASE): + unet_config = { + "stable_cascade_stage": 'c', + } + + unet_extra_config = {} + + latent_format = latent_formats.SC_Prior + supported_inference_dtypes = [torch.bfloat16, torch.float32] + + sampling_settings = { + "shift": 2.0, + } + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoder."] + clip_vision_prefix = "clip_l_vision." + + def process_unet_state_dict(self, state_dict): + key_list = list(state_dict.keys()) + for y in ["weight", "bias"]: + suffix = "in_proj_{}".format(y) + keys = filter(lambda a: a.endswith(suffix), key_list) + for k_from in keys: + weights = state_dict.pop(k_from) + prefix = k_from[:-(len(suffix) + 1)] + shape_from = weights.shape[0] // 3 + for x in range(3): + p = ["to_q", "to_k", "to_v"] + k_to = "{}.{}.{}".format(prefix, p[x], y) + state_dict[k_to] = weights[shape_from*x:shape_from*(x + 1)] + return state_dict + + def process_clip_state_dict(self, state_dict): + state_dict = utils.state_dict_prefix_replace(state_dict, {k: "" for k in self.text_encoder_key_prefix}, filter_keys=True) + if "clip_g.text_projection" in state_dict: + state_dict["clip_g.transformer.text_projection.weight"] = state_dict.pop("clip_g.text_projection").transpose(0, 1) + return state_dict + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.StableCascade_C(self, device=device) + return out + + def clip_target(self, state_dict={}): + return supported_models_base.ClipTarget(sdxl_clip.StableCascadeTokenizer, sdxl_clip.StableCascadeClipModel) + +class Stable_Cascade_B(Stable_Cascade_C): + unet_config = { + "stable_cascade_stage": 'b', + } + + unet_extra_config = {} + + latent_format = latent_formats.SC_B + supported_inference_dtypes = [torch.float16, torch.bfloat16, torch.float32] + + sampling_settings = { + "shift": 1.0, + } + + clip_vision_prefix = None + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.StableCascade_B(self, device=device) + return out + +class SD15_instructpix2pix(SD15): + unet_config = { + "context_dim": 768, + "model_channels": 320, + "use_linear_in_transformer": False, + "adm_in_channels": None, + "use_temporal_attention": False, + "in_channels": 8, + } + + def get_model(self, state_dict, prefix="", device=None): + return model_base.SD15_instructpix2pix(self, device=device) + +class SDXL_instructpix2pix(SDXL): + unet_config = { + "model_channels": 320, + "use_linear_in_transformer": True, + "transformer_depth": [0, 0, 2, 2, 10, 10], + "context_dim": 2048, + "adm_in_channels": 2816, + "use_temporal_attention": False, + "in_channels": 8, + } + + def get_model(self, state_dict, prefix="", device=None): + return model_base.SDXL_instructpix2pix(self, model_type=self.model_type(state_dict, prefix), device=device) + +class SD3(supported_models_base.BASE): + unet_config = { + "in_channels": 16, + "pos_embed_scaling_factor": None, + } + + sampling_settings = { + "shift": 3.0, + } + + unet_extra_config = {} + latent_format = latent_formats.SD3 + + memory_usage_factor = 1.2 + + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.SD3(self, device=device) + return out + + def clip_target(self, state_dict={}): + clip_l = False + clip_g = False + t5 = False + pref = self.text_encoder_key_prefix[0] + if "{}clip_l.transformer.text_model.final_layer_norm.weight".format(pref) in state_dict: + clip_l = True + if "{}clip_g.transformer.text_model.final_layer_norm.weight".format(pref) in state_dict: + clip_g = True + t5_detect = comfy.text_encoders.sd3_clip.t5_xxl_detect(state_dict, "{}t5xxl.transformer.".format(pref)) + if "dtype_t5" in t5_detect: + t5 = True + + return supported_models_base.ClipTarget(comfy.text_encoders.sd3_clip.SD3Tokenizer, comfy.text_encoders.sd3_clip.sd3_clip(clip_l=clip_l, clip_g=clip_g, t5=t5, **t5_detect)) + +class StableAudio(supported_models_base.BASE): + unet_config = { + "audio_model": "dit1.0", + } + + sampling_settings = {"sigma_max": 500.0, "sigma_min": 0.03} + + unet_extra_config = {} + latent_format = latent_formats.StableAudio1 + + text_encoder_key_prefix = ["text_encoders."] + vae_key_prefix = ["pretransform.model."] + + def get_model(self, state_dict, prefix="", device=None): + seconds_start_sd = utils.state_dict_prefix_replace(state_dict, {"conditioner.conditioners.seconds_start.": ""}, filter_keys=True) + seconds_total_sd = utils.state_dict_prefix_replace(state_dict, {"conditioner.conditioners.seconds_total.": ""}, filter_keys=True) + return model_base.StableAudio1(self, seconds_start_embedder_weights=seconds_start_sd, seconds_total_embedder_weights=seconds_total_sd, device=device) + + def process_unet_state_dict(self, state_dict): + for k in list(state_dict.keys()): + if k.endswith(".cross_attend_norm.beta") or k.endswith(".ff_norm.beta") or k.endswith(".pre_norm.beta"): #These weights are all zero + state_dict.pop(k) + return state_dict + + def process_unet_state_dict_for_saving(self, state_dict): + replace_prefix = {"": "model.model."} + return utils.state_dict_prefix_replace(state_dict, replace_prefix) + + def clip_target(self, state_dict={}): + return supported_models_base.ClipTarget(comfy.text_encoders.sa_t5.SAT5Tokenizer, comfy.text_encoders.sa_t5.SAT5Model) + +class AuraFlow(supported_models_base.BASE): + unet_config = { + "cond_seq_dim": 2048, + } + + sampling_settings = { + "multiplier": 1.0, + "shift": 1.73, + } + + unet_extra_config = {} + latent_format = latent_formats.SDXL + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.AuraFlow(self, device=device) + return out + + def clip_target(self, state_dict={}): + return supported_models_base.ClipTarget(comfy.text_encoders.aura_t5.AuraT5Tokenizer, comfy.text_encoders.aura_t5.AuraT5Model) + +class PixArtAlpha(supported_models_base.BASE): + unet_config = { + "image_model": "pixart_alpha", + } + + sampling_settings = { + "beta_schedule" : "sqrt_linear", + "linear_start" : 0.0001, + "linear_end" : 0.02, + "timesteps" : 1000, + } + + unet_extra_config = {} + latent_format = latent_formats.SD15 + + memory_usage_factor = 0.5 + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.PixArt(self, device=device) + return out.eval() + + def clip_target(self, state_dict={}): + return supported_models_base.ClipTarget(comfy.text_encoders.pixart_t5.PixArtTokenizer, comfy.text_encoders.pixart_t5.PixArtT5XXL) + +class PixArtSigma(PixArtAlpha): + unet_config = { + "image_model": "pixart_sigma", + } + latent_format = latent_formats.SDXL + +class HunyuanDiT(supported_models_base.BASE): + unet_config = { + "image_model": "hydit", + } + + unet_extra_config = { + "attn_precision": torch.float32, + } + + sampling_settings = { + "linear_start": 0.00085, + "linear_end": 0.018, + } + + latent_format = latent_formats.SDXL + + memory_usage_factor = 1.3 + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.HunyuanDiT(self, device=device) + return out + + def clip_target(self, state_dict={}): + return supported_models_base.ClipTarget(comfy.text_encoders.hydit.HyditTokenizer, comfy.text_encoders.hydit.HyditModel) + +class HunyuanDiT1(HunyuanDiT): + unet_config = { + "image_model": "hydit1", + } + + unet_extra_config = {} + + sampling_settings = { + "linear_start" : 0.00085, + "linear_end" : 0.03, + } + +class Flux(supported_models_base.BASE): + unet_config = { + "image_model": "flux", + "guidance_embed": True, + } + + sampling_settings = { + } + + unet_extra_config = {} + latent_format = latent_formats.Flux + + memory_usage_factor = 2.8 + + supported_inference_dtypes = [torch.bfloat16, torch.float16, torch.float32] + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.Flux(self, device=device) + return out + + def clip_target(self, state_dict={}): + pref = self.text_encoder_key_prefix[0] + t5_detect = comfy.text_encoders.sd3_clip.t5_xxl_detect(state_dict, "{}t5xxl.transformer.".format(pref)) + return supported_models_base.ClipTarget(comfy.text_encoders.flux.FluxTokenizer, comfy.text_encoders.flux.flux_clip(**t5_detect)) + +class FluxInpaint(Flux): + unet_config = { + "image_model": "flux", + "guidance_embed": True, + "in_channels": 96, + } + + supported_inference_dtypes = [torch.bfloat16, torch.float32] + +class FluxSchnell(Flux): + unet_config = { + "image_model": "flux", + "guidance_embed": False, + } + + sampling_settings = { + "multiplier": 1.0, + "shift": 1.0, + } + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.Flux(self, model_type=model_base.ModelType.FLOW, device=device) + return out + +class GenmoMochi(supported_models_base.BASE): + unet_config = { + "image_model": "mochi_preview", + } + + sampling_settings = { + "multiplier": 1.0, + "shift": 6.0, + } + + unet_extra_config = {} + latent_format = latent_formats.Mochi + + memory_usage_factor = 2.0 #TODO + + supported_inference_dtypes = [torch.bfloat16, torch.float32] + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.GenmoMochi(self, device=device) + return out + + def clip_target(self, state_dict={}): + pref = self.text_encoder_key_prefix[0] + t5_detect = comfy.text_encoders.sd3_clip.t5_xxl_detect(state_dict, "{}t5xxl.transformer.".format(pref)) + return supported_models_base.ClipTarget(comfy.text_encoders.genmo.MochiT5Tokenizer, comfy.text_encoders.genmo.mochi_te(**t5_detect)) + +class LTXV(supported_models_base.BASE): + unet_config = { + "image_model": "ltxv", + } + + sampling_settings = { + "shift": 2.37, + } + + unet_extra_config = {} + latent_format = latent_formats.LTXV + + memory_usage_factor = 2.7 + + supported_inference_dtypes = [torch.bfloat16, torch.float32] + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.LTXV(self, device=device) + return out + + def clip_target(self, state_dict={}): + pref = self.text_encoder_key_prefix[0] + t5_detect = comfy.text_encoders.sd3_clip.t5_xxl_detect(state_dict, "{}t5xxl.transformer.".format(pref)) + return supported_models_base.ClipTarget(comfy.text_encoders.lt.LTXVT5Tokenizer, comfy.text_encoders.lt.ltxv_te(**t5_detect)) + +class HunyuanVideo(supported_models_base.BASE): + unet_config = { + "image_model": "hunyuan_video", + } + + sampling_settings = { + "shift": 7.0, + } + + unet_extra_config = {} + latent_format = latent_formats.HunyuanVideo + + memory_usage_factor = 2.0 #TODO + + supported_inference_dtypes = [torch.bfloat16, torch.float32] + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.HunyuanVideo(self, device=device) + return out + + def process_unet_state_dict(self, state_dict): + out_sd = {} + for k in list(state_dict.keys()): + key_out = k + key_out = key_out.replace("txt_in.t_embedder.mlp.0.", "txt_in.t_embedder.in_layer.").replace("txt_in.t_embedder.mlp.2.", "txt_in.t_embedder.out_layer.") + key_out = key_out.replace("txt_in.c_embedder.linear_1.", "txt_in.c_embedder.in_layer.").replace("txt_in.c_embedder.linear_2.", "txt_in.c_embedder.out_layer.") + key_out = key_out.replace("_mod.linear.", "_mod.lin.").replace("_attn_qkv.", "_attn.qkv.") + key_out = key_out.replace("mlp.fc1.", "mlp.0.").replace("mlp.fc2.", "mlp.2.") + key_out = key_out.replace("_attn_q_norm.weight", "_attn.norm.query_norm.scale").replace("_attn_k_norm.weight", "_attn.norm.key_norm.scale") + key_out = key_out.replace(".q_norm.weight", ".norm.query_norm.scale").replace(".k_norm.weight", ".norm.key_norm.scale") + key_out = key_out.replace("_attn_proj.", "_attn.proj.") + key_out = key_out.replace(".modulation.linear.", ".modulation.lin.") + key_out = key_out.replace("_in.mlp.2.", "_in.out_layer.").replace("_in.mlp.0.", "_in.in_layer.") + out_sd[key_out] = state_dict[k] + return out_sd + + def process_unet_state_dict_for_saving(self, state_dict): + replace_prefix = {"": "model.model."} + return utils.state_dict_prefix_replace(state_dict, replace_prefix) + + def clip_target(self, state_dict={}): + pref = self.text_encoder_key_prefix[0] + hunyuan_detect = comfy.text_encoders.hunyuan_video.llama_detect(state_dict, "{}llama.transformer.".format(pref)) + return supported_models_base.ClipTarget(comfy.text_encoders.hunyuan_video.HunyuanVideoTokenizer, comfy.text_encoders.hunyuan_video.hunyuan_video_clip(**hunyuan_detect)) + +class CosmosT2V(supported_models_base.BASE): + unet_config = { + "image_model": "cosmos", + "in_channels": 16, + } + + sampling_settings = { + "sigma_data": 0.5, + "sigma_max": 80.0, + "sigma_min": 0.002, + } + + unet_extra_config = {} + latent_format = latent_formats.Cosmos1CV8x8x8 + + memory_usage_factor = 2.4 #TODO + + supported_inference_dtypes = [torch.bfloat16, torch.float16, torch.float32] #TODO + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.CosmosVideo(self, device=device) + return out + + def clip_target(self, state_dict={}): + pref = self.text_encoder_key_prefix[0] + t5_detect = comfy.text_encoders.sd3_clip.t5_xxl_detect(state_dict, "{}t5xxl.transformer.".format(pref)) + return supported_models_base.ClipTarget(comfy.text_encoders.cosmos.CosmosT5Tokenizer, comfy.text_encoders.cosmos.te(**t5_detect)) + +class CosmosI2V(CosmosT2V): + unet_config = { + "image_model": "cosmos", + "in_channels": 17, + } + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.CosmosVideo(self, image_to_video=True, device=device) + return out + +models = [Stable_Zero123, SD15_instructpix2pix, SD15, SD20, SD21UnclipL, SD21UnclipH, SDXL_instructpix2pix, SDXLRefiner, SDXL, SSD1B, KOALA_700M, KOALA_1B, Segmind_Vega, SD_X4Upscaler, Stable_Cascade_C, Stable_Cascade_B, SV3D_u, SV3D_p, SD3, StableAudio, AuraFlow, PixArtAlpha, PixArtSigma, HunyuanDiT, HunyuanDiT1, FluxInpaint, Flux, FluxSchnell, GenmoMochi, LTXV, HunyuanVideo, CosmosT2V, CosmosI2V] + +models += [SVD_img2vid] diff --git a/comfy/supported_models_base.py b/comfy/supported_models_base.py new file mode 100644 index 0000000000000000000000000000000000000000..54573abb110d8cc5e190ecefa0f9aecf95da0b99 --- /dev/null +++ b/comfy/supported_models_base.py @@ -0,0 +1,119 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Comfy + + 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 . +""" + +import torch +from . import model_base +from . import utils +from . import latent_formats + +class ClipTarget: + def __init__(self, tokenizer, clip): + self.clip = clip + self.tokenizer = tokenizer + self.params = {} + +class BASE: + unet_config = {} + unet_extra_config = { + "num_heads": -1, + "num_head_channels": 64, + } + + required_keys = {} + + clip_prefix = [] + clip_vision_prefix = None + noise_aug_config = None + sampling_settings = {} + latent_format = latent_formats.LatentFormat + vae_key_prefix = ["first_stage_model."] + text_encoder_key_prefix = ["cond_stage_model."] + supported_inference_dtypes = [torch.float16, torch.bfloat16, torch.float32] + + memory_usage_factor = 2.0 + + manual_cast_dtype = None + custom_operations = None + scaled_fp8 = None + optimizations = {"fp8": False} + + @classmethod + def matches(s, unet_config, state_dict=None): + for k in s.unet_config: + if k not in unet_config or s.unet_config[k] != unet_config[k]: + return False + if state_dict is not None: + for k in s.required_keys: + if k not in state_dict: + return False + return True + + def model_type(self, state_dict, prefix=""): + return model_base.ModelType.EPS + + def inpaint_model(self): + return self.unet_config["in_channels"] > 4 + + def __init__(self, unet_config): + self.unet_config = unet_config.copy() + self.sampling_settings = self.sampling_settings.copy() + self.latent_format = self.latent_format() + self.optimizations = self.optimizations.copy() + for x in self.unet_extra_config: + self.unet_config[x] = self.unet_extra_config[x] + + def get_model(self, state_dict, prefix="", device=None): + if self.noise_aug_config is not None: + out = model_base.SD21UNCLIP(self, self.noise_aug_config, model_type=self.model_type(state_dict, prefix), device=device) + else: + out = model_base.BaseModel(self, model_type=self.model_type(state_dict, prefix), device=device) + if self.inpaint_model(): + out.set_inpaint() + return out + + def process_clip_state_dict(self, state_dict): + state_dict = utils.state_dict_prefix_replace(state_dict, {k: "" for k in self.text_encoder_key_prefix}, filter_keys=True) + return state_dict + + def process_unet_state_dict(self, state_dict): + return state_dict + + def process_vae_state_dict(self, state_dict): + return state_dict + + def process_clip_state_dict_for_saving(self, state_dict): + replace_prefix = {"": self.text_encoder_key_prefix[0]} + return utils.state_dict_prefix_replace(state_dict, replace_prefix) + + def process_clip_vision_state_dict_for_saving(self, state_dict): + replace_prefix = {} + if self.clip_vision_prefix is not None: + replace_prefix[""] = self.clip_vision_prefix + return utils.state_dict_prefix_replace(state_dict, replace_prefix) + + def process_unet_state_dict_for_saving(self, state_dict): + replace_prefix = {"": "model.diffusion_model."} + return utils.state_dict_prefix_replace(state_dict, replace_prefix) + + def process_vae_state_dict_for_saving(self, state_dict): + replace_prefix = {"": self.vae_key_prefix[0]} + return utils.state_dict_prefix_replace(state_dict, replace_prefix) + + def set_inference_dtype(self, dtype, manual_cast_dtype): + self.unet_config['dtype'] = dtype + self.manual_cast_dtype = manual_cast_dtype diff --git a/comfy/t2i_adapter/adapter.py b/comfy/t2i_adapter/adapter.py new file mode 100644 index 0000000000000000000000000000000000000000..10ea18e326693f237b3b219970c86e3808f6d334 --- /dev/null +++ b/comfy/t2i_adapter/adapter.py @@ -0,0 +1,299 @@ +#taken from https://github.com/TencentARC/T2I-Adapter +import torch +import torch.nn as nn +from collections import OrderedDict + + +def conv_nd(dims, *args, **kwargs): + """ + Create a 1D, 2D, or 3D convolution module. + """ + if dims == 1: + return nn.Conv1d(*args, **kwargs) + elif dims == 2: + return nn.Conv2d(*args, **kwargs) + elif dims == 3: + return nn.Conv3d(*args, **kwargs) + raise ValueError(f"unsupported dimensions: {dims}") + + +def avg_pool_nd(dims, *args, **kwargs): + """ + Create a 1D, 2D, or 3D average pooling module. + """ + if dims == 1: + return nn.AvgPool1d(*args, **kwargs) + elif dims == 2: + return nn.AvgPool2d(*args, **kwargs) + elif dims == 3: + return nn.AvgPool3d(*args, **kwargs) + raise ValueError(f"unsupported dimensions: {dims}") + + +class Downsample(nn.Module): + """ + A downsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + :param dims: determines if the signal is 1D, 2D, or 3D. If 3D, then + downsampling occurs in the inner-two dimensions. + """ + + def __init__(self, channels, use_conv, dims=2, out_channels=None, padding=1): + super().__init__() + self.channels = channels + self.out_channels = out_channels or channels + self.use_conv = use_conv + self.dims = dims + stride = 2 if dims != 3 else (1, 2, 2) + if use_conv: + self.op = conv_nd( + dims, self.channels, self.out_channels, 3, stride=stride, padding=padding + ) + else: + assert self.channels == self.out_channels + self.op = avg_pool_nd(dims, kernel_size=stride, stride=stride) + + def forward(self, x): + assert x.shape[1] == self.channels + if not self.use_conv: + padding = [x.shape[2] % 2, x.shape[3] % 2] + self.op.padding = padding + + x = self.op(x) + return x + + +class ResnetBlock(nn.Module): + def __init__(self, in_c, out_c, down, ksize=3, sk=False, use_conv=True): + super().__init__() + ps = ksize // 2 + if in_c != out_c or sk == False: + self.in_conv = nn.Conv2d(in_c, out_c, ksize, 1, ps) + else: + # print('n_in') + self.in_conv = None + self.block1 = nn.Conv2d(out_c, out_c, 3, 1, 1) + self.act = nn.ReLU() + self.block2 = nn.Conv2d(out_c, out_c, ksize, 1, ps) + if sk == False: + self.skep = nn.Conv2d(in_c, out_c, ksize, 1, ps) + else: + self.skep = None + + self.down = down + if self.down == True: + self.down_opt = Downsample(in_c, use_conv=use_conv) + + def forward(self, x): + if self.down == True: + x = self.down_opt(x) + if self.in_conv is not None: # edit + x = self.in_conv(x) + + h = self.block1(x) + h = self.act(h) + h = self.block2(h) + if self.skep is not None: + return h + self.skep(x) + else: + return h + x + + +class Adapter(nn.Module): + def __init__(self, channels=[320, 640, 1280, 1280], nums_rb=3, cin=64, ksize=3, sk=False, use_conv=True, xl=True): + super(Adapter, self).__init__() + self.unshuffle_amount = 8 + resblock_no_downsample = [] + resblock_downsample = [3, 2, 1] + self.xl = xl + if self.xl: + self.unshuffle_amount = 16 + resblock_no_downsample = [1] + resblock_downsample = [2] + + self.input_channels = cin // (self.unshuffle_amount * self.unshuffle_amount) + self.unshuffle = nn.PixelUnshuffle(self.unshuffle_amount) + self.channels = channels + self.nums_rb = nums_rb + self.body = [] + for i in range(len(channels)): + for j in range(nums_rb): + if (i in resblock_downsample) and (j == 0): + self.body.append( + ResnetBlock(channels[i - 1], channels[i], down=True, ksize=ksize, sk=sk, use_conv=use_conv)) + elif (i in resblock_no_downsample) and (j == 0): + self.body.append( + ResnetBlock(channels[i - 1], channels[i], down=False, ksize=ksize, sk=sk, use_conv=use_conv)) + else: + self.body.append( + ResnetBlock(channels[i], channels[i], down=False, ksize=ksize, sk=sk, use_conv=use_conv)) + self.body = nn.ModuleList(self.body) + self.conv_in = nn.Conv2d(cin, channels[0], 3, 1, 1) + + def forward(self, x): + # unshuffle + x = self.unshuffle(x) + # extract features + features = [] + x = self.conv_in(x) + for i in range(len(self.channels)): + for j in range(self.nums_rb): + idx = i * self.nums_rb + j + x = self.body[idx](x) + if self.xl: + features.append(None) + if i == 0: + features.append(None) + features.append(None) + if i == 2: + features.append(None) + else: + features.append(None) + features.append(None) + features.append(x) + + features = features[::-1] + + if self.xl: + return {"input": features[1:], "middle": features[:1]} + else: + return {"input": features} + + + +class LayerNorm(nn.LayerNorm): + """Subclass torch's LayerNorm to handle fp16.""" + + def forward(self, x: torch.Tensor): + orig_type = x.dtype + ret = super().forward(x.type(torch.float32)) + return ret.type(orig_type) + + +class QuickGELU(nn.Module): + + def forward(self, x: torch.Tensor): + return x * torch.sigmoid(1.702 * x) + + +class ResidualAttentionBlock(nn.Module): + + def __init__(self, d_model: int, n_head: int, attn_mask: torch.Tensor = None): + super().__init__() + + self.attn = nn.MultiheadAttention(d_model, n_head) + self.ln_1 = LayerNorm(d_model) + self.mlp = nn.Sequential( + OrderedDict([("c_fc", nn.Linear(d_model, d_model * 4)), ("gelu", QuickGELU()), + ("c_proj", nn.Linear(d_model * 4, d_model))])) + self.ln_2 = LayerNorm(d_model) + self.attn_mask = attn_mask + + def attention(self, x: torch.Tensor): + self.attn_mask = self.attn_mask.to(dtype=x.dtype, device=x.device) if self.attn_mask is not None else None + return self.attn(x, x, x, need_weights=False, attn_mask=self.attn_mask)[0] + + def forward(self, x: torch.Tensor): + x = x + self.attention(self.ln_1(x)) + x = x + self.mlp(self.ln_2(x)) + return x + + +class StyleAdapter(nn.Module): + + def __init__(self, width=1024, context_dim=768, num_head=8, n_layes=3, num_token=4): + super().__init__() + + scale = width ** -0.5 + self.transformer_layes = nn.Sequential(*[ResidualAttentionBlock(width, num_head) for _ in range(n_layes)]) + self.num_token = num_token + self.style_embedding = nn.Parameter(torch.randn(1, num_token, width) * scale) + self.ln_post = LayerNorm(width) + self.ln_pre = LayerNorm(width) + self.proj = nn.Parameter(scale * torch.randn(width, context_dim)) + + def forward(self, x): + # x shape [N, HW+1, C] + style_embedding = self.style_embedding + torch.zeros( + (x.shape[0], self.num_token, self.style_embedding.shape[-1]), device=x.device) + x = torch.cat([x, style_embedding], dim=1) + x = self.ln_pre(x) + x = x.permute(1, 0, 2) # NLD -> LND + x = self.transformer_layes(x) + x = x.permute(1, 0, 2) # LND -> NLD + + x = self.ln_post(x[:, -self.num_token:, :]) + x = x @ self.proj + + return x + + +class ResnetBlock_light(nn.Module): + def __init__(self, in_c): + super().__init__() + self.block1 = nn.Conv2d(in_c, in_c, 3, 1, 1) + self.act = nn.ReLU() + self.block2 = nn.Conv2d(in_c, in_c, 3, 1, 1) + + def forward(self, x): + h = self.block1(x) + h = self.act(h) + h = self.block2(h) + + return h + x + + +class extractor(nn.Module): + def __init__(self, in_c, inter_c, out_c, nums_rb, down=False): + super().__init__() + self.in_conv = nn.Conv2d(in_c, inter_c, 1, 1, 0) + self.body = [] + for _ in range(nums_rb): + self.body.append(ResnetBlock_light(inter_c)) + self.body = nn.Sequential(*self.body) + self.out_conv = nn.Conv2d(inter_c, out_c, 1, 1, 0) + self.down = down + if self.down == True: + self.down_opt = Downsample(in_c, use_conv=False) + + def forward(self, x): + if self.down == True: + x = self.down_opt(x) + x = self.in_conv(x) + x = self.body(x) + x = self.out_conv(x) + + return x + + +class Adapter_light(nn.Module): + def __init__(self, channels=[320, 640, 1280, 1280], nums_rb=3, cin=64): + super(Adapter_light, self).__init__() + self.unshuffle_amount = 8 + self.unshuffle = nn.PixelUnshuffle(self.unshuffle_amount) + self.input_channels = cin // (self.unshuffle_amount * self.unshuffle_amount) + self.channels = channels + self.nums_rb = nums_rb + self.body = [] + self.xl = False + + for i in range(len(channels)): + if i == 0: + self.body.append(extractor(in_c=cin, inter_c=channels[i]//4, out_c=channels[i], nums_rb=nums_rb, down=False)) + else: + self.body.append(extractor(in_c=channels[i-1], inter_c=channels[i]//4, out_c=channels[i], nums_rb=nums_rb, down=True)) + self.body = nn.ModuleList(self.body) + + def forward(self, x): + # unshuffle + x = self.unshuffle(x) + # extract features + features = [] + for i in range(len(self.channels)): + x = self.body[i](x) + features.append(None) + features.append(None) + features.append(x) + + return {"input": features[::-1]} diff --git a/comfy/taesd/taesd.py b/comfy/taesd/taesd.py new file mode 100644 index 0000000000000000000000000000000000000000..ce36f1a84dae599a35e84a8da3462408c0f0ccc6 --- /dev/null +++ b/comfy/taesd/taesd.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python3 +""" +Tiny AutoEncoder for Stable Diffusion +(DNN for encoding / decoding SD's latent space) +""" +import torch +import torch.nn as nn + +import comfy.utils +import comfy.ops + +def conv(n_in, n_out, **kwargs): + return comfy.ops.disable_weight_init.Conv2d(n_in, n_out, 3, padding=1, **kwargs) + +class Clamp(nn.Module): + def forward(self, x): + return torch.tanh(x / 3) * 3 + +class Block(nn.Module): + def __init__(self, n_in, n_out): + super().__init__() + self.conv = nn.Sequential(conv(n_in, n_out), nn.ReLU(), conv(n_out, n_out), nn.ReLU(), conv(n_out, n_out)) + self.skip = comfy.ops.disable_weight_init.Conv2d(n_in, n_out, 1, bias=False) if n_in != n_out else nn.Identity() + self.fuse = nn.ReLU() + def forward(self, x): + return self.fuse(self.conv(x) + self.skip(x)) + +def Encoder(latent_channels=4): + return nn.Sequential( + conv(3, 64), Block(64, 64), + conv(64, 64, stride=2, bias=False), Block(64, 64), Block(64, 64), Block(64, 64), + conv(64, 64, stride=2, bias=False), Block(64, 64), Block(64, 64), Block(64, 64), + conv(64, 64, stride=2, bias=False), Block(64, 64), Block(64, 64), Block(64, 64), + conv(64, latent_channels), + ) + + +def Decoder(latent_channels=4): + return nn.Sequential( + Clamp(), conv(latent_channels, 64), nn.ReLU(), + Block(64, 64), Block(64, 64), Block(64, 64), nn.Upsample(scale_factor=2), conv(64, 64, bias=False), + Block(64, 64), Block(64, 64), Block(64, 64), nn.Upsample(scale_factor=2), conv(64, 64, bias=False), + Block(64, 64), Block(64, 64), Block(64, 64), nn.Upsample(scale_factor=2), conv(64, 64, bias=False), + Block(64, 64), conv(64, 3), + ) + +class TAESD(nn.Module): + latent_magnitude = 3 + latent_shift = 0.5 + + def __init__(self, encoder_path=None, decoder_path=None, latent_channels=4): + """Initialize pretrained TAESD on the given device from the given checkpoints.""" + super().__init__() + self.taesd_encoder = Encoder(latent_channels=latent_channels) + self.taesd_decoder = Decoder(latent_channels=latent_channels) + self.vae_scale = torch.nn.Parameter(torch.tensor(1.0)) + self.vae_shift = torch.nn.Parameter(torch.tensor(0.0)) + if encoder_path is not None: + self.taesd_encoder.load_state_dict(comfy.utils.load_torch_file(encoder_path, safe_load=True)) + if decoder_path is not None: + self.taesd_decoder.load_state_dict(comfy.utils.load_torch_file(decoder_path, safe_load=True)) + + @staticmethod + def scale_latents(x): + """raw latents -> [0, 1]""" + return x.div(2 * TAESD.latent_magnitude).add(TAESD.latent_shift).clamp(0, 1) + + @staticmethod + def unscale_latents(x): + """[0, 1] -> raw latents""" + return x.sub(TAESD.latent_shift).mul(2 * TAESD.latent_magnitude) + + def decode(self, x): + x_sample = self.taesd_decoder((x - self.vae_shift) * self.vae_scale) + x_sample = x_sample.sub(0.5).mul(2) + return x_sample + + def encode(self, x): + return (self.taesd_encoder(x * 0.5 + 0.5) / self.vae_scale) + self.vae_shift diff --git a/comfy/text_encoders/aura_t5.py b/comfy/text_encoders/aura_t5.py new file mode 100644 index 0000000000000000000000000000000000000000..e9ad45a7fcb3e31b9e08b36fb58b2f86c2a2084a --- /dev/null +++ b/comfy/text_encoders/aura_t5.py @@ -0,0 +1,22 @@ +from comfy import sd1_clip +from .spiece_tokenizer import SPieceTokenizer +import comfy.text_encoders.t5 +import os + +class PT5XlModel(sd1_clip.SDClipModel): + def __init__(self, device="cpu", layer="last", layer_idx=None, dtype=None, model_options={}): + textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_pile_config_xl.json") + super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, special_tokens={"end": 2, "pad": 1}, model_class=comfy.text_encoders.t5.T5, enable_attention_masks=True, zero_out_masked=True, model_options=model_options) + +class PT5XlTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + tokenizer_path = os.path.join(os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_pile_tokenizer"), "tokenizer.model") + super().__init__(tokenizer_path, pad_with_end=False, embedding_size=2048, embedding_key='pile_t5xl', tokenizer_class=SPieceTokenizer, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=256, pad_token=1) + +class AuraT5Tokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="pile_t5xl", tokenizer=PT5XlTokenizer) + +class AuraT5Model(sd1_clip.SD1ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}, **kwargs): + super().__init__(device=device, dtype=dtype, model_options=model_options, name="pile_t5xl", clip_model=PT5XlModel, **kwargs) diff --git a/comfy/text_encoders/bert.py b/comfy/text_encoders/bert.py new file mode 100644 index 0000000000000000000000000000000000000000..fc9bac1d24c088cf17cae4f3af86b8646960f808 --- /dev/null +++ b/comfy/text_encoders/bert.py @@ -0,0 +1,140 @@ +import torch +from comfy.ldm.modules.attention import optimized_attention_for_device +import comfy.ops + +class BertAttention(torch.nn.Module): + def __init__(self, embed_dim, heads, dtype, device, operations): + super().__init__() + + self.heads = heads + self.query = operations.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) + self.key = operations.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) + self.value = operations.Linear(embed_dim, embed_dim, bias=True, dtype=dtype, device=device) + + + def forward(self, x, mask=None, optimized_attention=None): + q = self.query(x) + k = self.key(x) + v = self.value(x) + + out = optimized_attention(q, k, v, self.heads, mask) + return out + +class BertOutput(torch.nn.Module): + def __init__(self, input_dim, output_dim, layer_norm_eps, dtype, device, operations): + super().__init__() + self.dense = operations.Linear(input_dim, output_dim, dtype=dtype, device=device) + self.LayerNorm = operations.LayerNorm(output_dim, eps=layer_norm_eps, dtype=dtype, device=device) + # self.dropout = nn.Dropout(0.0) + + def forward(self, x, y): + x = self.dense(x) + # hidden_states = self.dropout(hidden_states) + x = self.LayerNorm(x + y) + return x + +class BertAttentionBlock(torch.nn.Module): + def __init__(self, embed_dim, heads, layer_norm_eps, dtype, device, operations): + super().__init__() + self.self = BertAttention(embed_dim, heads, dtype, device, operations) + self.output = BertOutput(embed_dim, embed_dim, layer_norm_eps, dtype, device, operations) + + def forward(self, x, mask, optimized_attention): + y = self.self(x, mask, optimized_attention) + return self.output(y, x) + +class BertIntermediate(torch.nn.Module): + def __init__(self, embed_dim, intermediate_dim, dtype, device, operations): + super().__init__() + self.dense = operations.Linear(embed_dim, intermediate_dim, dtype=dtype, device=device) + + def forward(self, x): + x = self.dense(x) + return torch.nn.functional.gelu(x) + + +class BertBlock(torch.nn.Module): + def __init__(self, embed_dim, intermediate_dim, heads, layer_norm_eps, dtype, device, operations): + super().__init__() + self.attention = BertAttentionBlock(embed_dim, heads, layer_norm_eps, dtype, device, operations) + self.intermediate = BertIntermediate(embed_dim, intermediate_dim, dtype, device, operations) + self.output = BertOutput(intermediate_dim, embed_dim, layer_norm_eps, dtype, device, operations) + + def forward(self, x, mask, optimized_attention): + x = self.attention(x, mask, optimized_attention) + y = self.intermediate(x) + return self.output(y, x) + +class BertEncoder(torch.nn.Module): + def __init__(self, num_layers, embed_dim, intermediate_dim, heads, layer_norm_eps, dtype, device, operations): + super().__init__() + self.layer = torch.nn.ModuleList([BertBlock(embed_dim, intermediate_dim, heads, layer_norm_eps, dtype, device, operations) for i in range(num_layers)]) + + def forward(self, x, mask=None, intermediate_output=None): + optimized_attention = optimized_attention_for_device(x.device, mask=mask is not None, small_input=True) + + if intermediate_output is not None: + if intermediate_output < 0: + intermediate_output = len(self.layer) + intermediate_output + + intermediate = None + for i, l in enumerate(self.layer): + x = l(x, mask, optimized_attention) + if i == intermediate_output: + intermediate = x.clone() + return x, intermediate + +class BertEmbeddings(torch.nn.Module): + def __init__(self, vocab_size, max_position_embeddings, type_vocab_size, pad_token_id, embed_dim, layer_norm_eps, dtype, device, operations): + super().__init__() + self.word_embeddings = operations.Embedding(vocab_size, embed_dim, padding_idx=pad_token_id, dtype=dtype, device=device) + self.position_embeddings = operations.Embedding(max_position_embeddings, embed_dim, dtype=dtype, device=device) + self.token_type_embeddings = operations.Embedding(type_vocab_size, embed_dim, dtype=dtype, device=device) + + self.LayerNorm = operations.LayerNorm(embed_dim, eps=layer_norm_eps, dtype=dtype, device=device) + + def forward(self, input_tokens, token_type_ids=None, dtype=None): + x = self.word_embeddings(input_tokens, out_dtype=dtype) + x += comfy.ops.cast_to_input(self.position_embeddings.weight[:x.shape[1]], x) + if token_type_ids is not None: + x += self.token_type_embeddings(token_type_ids, out_dtype=x.dtype) + else: + x += comfy.ops.cast_to_input(self.token_type_embeddings.weight[0], x) + x = self.LayerNorm(x) + return x + + +class BertModel_(torch.nn.Module): + def __init__(self, config_dict, dtype, device, operations): + super().__init__() + embed_dim = config_dict["hidden_size"] + layer_norm_eps = config_dict["layer_norm_eps"] + + self.embeddings = BertEmbeddings(config_dict["vocab_size"], config_dict["max_position_embeddings"], config_dict["type_vocab_size"], config_dict["pad_token_id"], embed_dim, layer_norm_eps, dtype, device, operations) + self.encoder = BertEncoder(config_dict["num_hidden_layers"], embed_dim, config_dict["intermediate_size"], config_dict["num_attention_heads"], layer_norm_eps, dtype, device, operations) + + def forward(self, input_tokens, attention_mask=None, intermediate_output=None, final_layer_norm_intermediate=True, dtype=None): + x = self.embeddings(input_tokens, dtype=dtype) + mask = None + if attention_mask is not None: + mask = 1.0 - attention_mask.to(x.dtype).reshape((attention_mask.shape[0], 1, -1, attention_mask.shape[-1])).expand(attention_mask.shape[0], 1, attention_mask.shape[-1], attention_mask.shape[-1]) + mask = mask.masked_fill(mask.to(torch.bool), float("-inf")) + + x, i = self.encoder(x, mask, intermediate_output) + return x, i + + +class BertModel(torch.nn.Module): + def __init__(self, config_dict, dtype, device, operations): + super().__init__() + self.bert = BertModel_(config_dict, dtype, device, operations) + self.num_layers = config_dict["num_hidden_layers"] + + def get_input_embeddings(self): + return self.bert.embeddings.word_embeddings + + def set_input_embeddings(self, embeddings): + self.bert.embeddings.word_embeddings = embeddings + + def forward(self, *args, **kwargs): + return self.bert(*args, **kwargs) diff --git a/comfy/text_encoders/cosmos.py b/comfy/text_encoders/cosmos.py new file mode 100644 index 0000000000000000000000000000000000000000..5441c895256e5669419cc7fa85d8604e560c7283 --- /dev/null +++ b/comfy/text_encoders/cosmos.py @@ -0,0 +1,42 @@ +from comfy import sd1_clip +import comfy.text_encoders.t5 +import os +from transformers import T5TokenizerFast + + +class T5XXLModel(sd1_clip.SDClipModel): + def __init__(self, device="cpu", layer="last", layer_idx=None, dtype=None, attention_mask=True, model_options={}): + textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_old_config_xxl.json") + t5xxl_scaled_fp8 = model_options.get("t5xxl_scaled_fp8", None) + if t5xxl_scaled_fp8 is not None: + model_options = model_options.copy() + model_options["scaled_fp8"] = t5xxl_scaled_fp8 + + super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, special_tokens={"end": 1, "pad": 0}, model_class=comfy.text_encoders.t5.T5, enable_attention_masks=attention_mask, return_attention_masks=attention_mask, zero_out_masked=attention_mask, model_options=model_options) + +class CosmosT5XXL(sd1_clip.SD1ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + super().__init__(device=device, dtype=dtype, name="t5xxl", clip_model=T5XXLModel, model_options=model_options) + + +class T5XXLTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_tokenizer") + super().__init__(tokenizer_path, embedding_directory=embedding_directory, pad_with_end=False, embedding_size=1024, embedding_key='t5xxl', tokenizer_class=T5TokenizerFast, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=512) + + +class CosmosT5Tokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="t5xxl", tokenizer=T5XXLTokenizer) + + +def te(dtype_t5=None, t5xxl_scaled_fp8=None): + class CosmosTEModel_(CosmosT5XXL): + def __init__(self, device="cpu", dtype=None, model_options={}): + if t5xxl_scaled_fp8 is not None and "t5xxl_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["t5xxl_scaled_fp8"] = t5xxl_scaled_fp8 + if dtype is None: + dtype = dtype_t5 + super().__init__(device=device, dtype=dtype, model_options=model_options) + return CosmosTEModel_ diff --git a/comfy/text_encoders/flux.py b/comfy/text_encoders/flux.py new file mode 100644 index 0000000000000000000000000000000000000000..b945b1aaace8c1776caf2f6387caecdabe561e8d --- /dev/null +++ b/comfy/text_encoders/flux.py @@ -0,0 +1,72 @@ +from comfy import sd1_clip +import comfy.text_encoders.t5 +import comfy.text_encoders.sd3_clip +import comfy.model_management +from transformers import T5TokenizerFast +import torch +import os + +class T5XXLTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_tokenizer") + super().__init__(tokenizer_path, embedding_directory=embedding_directory, pad_with_end=False, embedding_size=4096, embedding_key='t5xxl', tokenizer_class=T5TokenizerFast, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=256) + + +class FluxTokenizer: + def __init__(self, embedding_directory=None, tokenizer_data={}): + clip_l_tokenizer_class = tokenizer_data.get("clip_l_tokenizer_class", sd1_clip.SDTokenizer) + self.clip_l = clip_l_tokenizer_class(embedding_directory=embedding_directory) + self.t5xxl = T5XXLTokenizer(embedding_directory=embedding_directory) + + def tokenize_with_weights(self, text:str, return_word_ids=False): + out = {} + out["l"] = self.clip_l.tokenize_with_weights(text, return_word_ids) + out["t5xxl"] = self.t5xxl.tokenize_with_weights(text, return_word_ids) + return out + + def untokenize(self, token_weight_pair): + return self.clip_l.untokenize(token_weight_pair) + + def state_dict(self): + return {} + + +class FluxClipModel(torch.nn.Module): + def __init__(self, dtype_t5=None, device="cpu", dtype=None, model_options={}): + super().__init__() + dtype_t5 = comfy.model_management.pick_weight_dtype(dtype_t5, dtype, device) + clip_l_class = model_options.get("clip_l_class", sd1_clip.SDClipModel) + self.clip_l = clip_l_class(device=device, dtype=dtype, return_projected_pooled=False, model_options=model_options) + self.t5xxl = comfy.text_encoders.sd3_clip.T5XXLModel(device=device, dtype=dtype_t5, model_options=model_options) + self.dtypes = set([dtype, dtype_t5]) + + def set_clip_options(self, options): + self.clip_l.set_clip_options(options) + self.t5xxl.set_clip_options(options) + + def reset_clip_options(self): + self.clip_l.reset_clip_options() + self.t5xxl.reset_clip_options() + + def encode_token_weights(self, token_weight_pairs): + token_weight_pairs_l = token_weight_pairs["l"] + token_weight_pairs_t5 = token_weight_pairs["t5xxl"] + + t5_out, t5_pooled = self.t5xxl.encode_token_weights(token_weight_pairs_t5) + l_out, l_pooled = self.clip_l.encode_token_weights(token_weight_pairs_l) + return t5_out, l_pooled + + def load_sd(self, sd): + if "text_model.encoder.layers.1.mlp.fc1.weight" in sd: + return self.clip_l.load_sd(sd) + else: + return self.t5xxl.load_sd(sd) + +def flux_clip(dtype_t5=None, t5xxl_scaled_fp8=None): + class FluxClipModel_(FluxClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + if t5xxl_scaled_fp8 is not None and "t5xxl_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["t5xxl_scaled_fp8"] = t5xxl_scaled_fp8 + super().__init__(dtype_t5=dtype_t5, device=device, dtype=dtype, model_options=model_options) + return FluxClipModel_ diff --git a/comfy/text_encoders/genmo.py b/comfy/text_encoders/genmo.py new file mode 100644 index 0000000000000000000000000000000000000000..45987a480e4210d6ee0e4852811cb9eb6b5f6247 --- /dev/null +++ b/comfy/text_encoders/genmo.py @@ -0,0 +1,38 @@ +from comfy import sd1_clip +import comfy.text_encoders.sd3_clip +import os +from transformers import T5TokenizerFast + + +class T5XXLModel(comfy.text_encoders.sd3_clip.T5XXLModel): + def __init__(self, **kwargs): + kwargs["attention_mask"] = True + super().__init__(**kwargs) + + +class MochiT5XXL(sd1_clip.SD1ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + super().__init__(device=device, dtype=dtype, name="t5xxl", clip_model=T5XXLModel, model_options=model_options) + + +class T5XXLTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_tokenizer") + super().__init__(tokenizer_path, embedding_directory=embedding_directory, pad_with_end=False, embedding_size=4096, embedding_key='t5xxl', tokenizer_class=T5TokenizerFast, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=256) + + +class MochiT5Tokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="t5xxl", tokenizer=T5XXLTokenizer) + + +def mochi_te(dtype_t5=None, t5xxl_scaled_fp8=None): + class MochiTEModel_(MochiT5XXL): + def __init__(self, device="cpu", dtype=None, model_options={}): + if t5xxl_scaled_fp8 is not None and "t5xxl_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["t5xxl_scaled_fp8"] = t5xxl_scaled_fp8 + if dtype is None: + dtype = dtype_t5 + super().__init__(device=device, dtype=dtype, model_options=model_options) + return MochiTEModel_ diff --git a/comfy/text_encoders/hunyuan_video.py b/comfy/text_encoders/hunyuan_video.py new file mode 100644 index 0000000000000000000000000000000000000000..7149d6878fd7c20164f3fa3b7d7818d1fc1bd27c --- /dev/null +++ b/comfy/text_encoders/hunyuan_video.py @@ -0,0 +1,112 @@ +from comfy import sd1_clip +import comfy.model_management +import comfy.text_encoders.llama +from transformers import LlamaTokenizerFast +import torch +import os + + +def llama_detect(state_dict, prefix=""): + out = {} + t5_key = "{}model.norm.weight".format(prefix) + if t5_key in state_dict: + out["dtype_llama"] = state_dict[t5_key].dtype + + scaled_fp8_key = "{}scaled_fp8".format(prefix) + if scaled_fp8_key in state_dict: + out["llama_scaled_fp8"] = state_dict[scaled_fp8_key].dtype + + return out + + +class LLAMA3Tokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}, min_length=256): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "llama_tokenizer") + super().__init__(tokenizer_path, embedding_directory=embedding_directory, pad_with_end=False, embedding_size=4096, embedding_key='llama', tokenizer_class=LlamaTokenizerFast, has_start_token=True, has_end_token=False, pad_to_max_length=False, max_length=99999999, pad_token=128258, end_token=128009, min_length=min_length) + +class LLAMAModel(sd1_clip.SDClipModel): + def __init__(self, device="cpu", layer="hidden", layer_idx=-3, dtype=None, attention_mask=True, model_options={}): + llama_scaled_fp8 = model_options.get("llama_scaled_fp8", None) + if llama_scaled_fp8 is not None: + model_options = model_options.copy() + model_options["scaled_fp8"] = llama_scaled_fp8 + + super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config={}, dtype=dtype, special_tokens={"start": 128000, "pad": 128258}, layer_norm_hidden_state=False, model_class=comfy.text_encoders.llama.Llama2, enable_attention_masks=attention_mask, return_attention_masks=attention_mask, model_options=model_options) + + +class HunyuanVideoTokenizer: + def __init__(self, embedding_directory=None, tokenizer_data={}): + clip_l_tokenizer_class = tokenizer_data.get("clip_l_tokenizer_class", sd1_clip.SDTokenizer) + self.clip_l = clip_l_tokenizer_class(embedding_directory=embedding_directory) + self.llama_template = """<|start_header_id|>system<|end_header_id|>\n\nDescribe the video by detailing the following aspects: 1. The main content and theme of the video.2. The color, shape, size, texture, quantity, text, and spatial relationships of the objects.3. Actions, events, behaviors temporal relationships, physical movement changes of the objects.4. background environment, light, style and atmosphere.5. camera angles, movements, and transitions used in the video:<|eot_id|><|start_header_id|>user<|end_header_id|>\n\n""" # 95 tokens + self.llama = LLAMA3Tokenizer(embedding_directory=embedding_directory, min_length=1) + + def tokenize_with_weights(self, text:str, return_word_ids=False): + out = {} + out["l"] = self.clip_l.tokenize_with_weights(text, return_word_ids) + + llama_text = "{}{}".format(self.llama_template, text) + out["llama"] = self.llama.tokenize_with_weights(llama_text, return_word_ids) + return out + + def untokenize(self, token_weight_pair): + return self.clip_l.untokenize(token_weight_pair) + + def state_dict(self): + return {} + + +class HunyuanVideoClipModel(torch.nn.Module): + def __init__(self, dtype_llama=None, device="cpu", dtype=None, model_options={}): + super().__init__() + dtype_llama = comfy.model_management.pick_weight_dtype(dtype_llama, dtype, device) + clip_l_class = model_options.get("clip_l_class", sd1_clip.SDClipModel) + self.clip_l = clip_l_class(device=device, dtype=dtype, return_projected_pooled=False, model_options=model_options) + self.llama = LLAMAModel(device=device, dtype=dtype_llama, model_options=model_options) + self.dtypes = set([dtype, dtype_llama]) + + def set_clip_options(self, options): + self.clip_l.set_clip_options(options) + self.llama.set_clip_options(options) + + def reset_clip_options(self): + self.clip_l.reset_clip_options() + self.llama.reset_clip_options() + + def encode_token_weights(self, token_weight_pairs): + token_weight_pairs_l = token_weight_pairs["l"] + token_weight_pairs_llama = token_weight_pairs["llama"] + + llama_out, llama_pooled, llama_extra_out = self.llama.encode_token_weights(token_weight_pairs_llama) + + template_end = 0 + for i, v in enumerate(token_weight_pairs_llama[0]): + if v[0] == 128007: # <|end_header_id|> + template_end = i + + if llama_out.shape[1] > (template_end + 2): + if token_weight_pairs_llama[0][template_end + 1][0] == 271: + template_end += 2 + llama_out = llama_out[:, template_end:] + llama_extra_out["attention_mask"] = llama_extra_out["attention_mask"][:, template_end:] + if llama_extra_out["attention_mask"].sum() == torch.numel(llama_extra_out["attention_mask"]): + llama_extra_out.pop("attention_mask") # attention mask is useless if no masked elements + + l_out, l_pooled = self.clip_l.encode_token_weights(token_weight_pairs_l) + return llama_out, l_pooled, llama_extra_out + + def load_sd(self, sd): + if "text_model.encoder.layers.1.mlp.fc1.weight" in sd: + return self.clip_l.load_sd(sd) + else: + return self.llama.load_sd(sd) + + +def hunyuan_video_clip(dtype_llama=None, llama_scaled_fp8=None): + class HunyuanVideoClipModel_(HunyuanVideoClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + if llama_scaled_fp8 is not None and "llama_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["llama_scaled_fp8"] = llama_scaled_fp8 + super().__init__(dtype_llama=dtype_llama, device=device, dtype=dtype, model_options=model_options) + return HunyuanVideoClipModel_ diff --git a/comfy/text_encoders/hydit.py b/comfy/text_encoders/hydit.py new file mode 100644 index 0000000000000000000000000000000000000000..7cb790f45e2d87dba0ba8e4d74aa0537bcd1068e --- /dev/null +++ b/comfy/text_encoders/hydit.py @@ -0,0 +1,79 @@ +from comfy import sd1_clip +from transformers import BertTokenizer +from .spiece_tokenizer import SPieceTokenizer +from .bert import BertModel +import comfy.text_encoders.t5 +import os +import torch + +class HyditBertModel(sd1_clip.SDClipModel): + def __init__(self, device="cpu", layer="last", layer_idx=None, dtype=None, model_options={}): + textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "hydit_clip.json") + super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, special_tokens={"start": 101, "end": 102, "pad": 0}, model_class=BertModel, enable_attention_masks=True, return_attention_masks=True, model_options=model_options) + +class HyditBertTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "hydit_clip_tokenizer") + super().__init__(tokenizer_path, pad_with_end=False, embedding_size=1024, embedding_key='chinese_roberta', tokenizer_class=BertTokenizer, pad_to_max_length=False, max_length=512, min_length=77) + + +class MT5XLModel(sd1_clip.SDClipModel): + def __init__(self, device="cpu", layer="last", layer_idx=None, dtype=None, model_options={}): + textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "mt5_config_xl.json") + super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, special_tokens={"end": 1, "pad": 0}, model_class=comfy.text_encoders.t5.T5, enable_attention_masks=True, return_attention_masks=True, model_options=model_options) + +class MT5XLTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + #tokenizer_path = os.path.join(os.path.join(os.path.dirname(os.path.realpath(__file__)), "mt5_tokenizer"), "spiece.model") + tokenizer = tokenizer_data.get("spiece_model", None) + super().__init__(tokenizer, pad_with_end=False, embedding_size=2048, embedding_key='mt5xl', tokenizer_class=SPieceTokenizer, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=256) + + def state_dict(self): + return {"spiece_model": self.tokenizer.serialize_model()} + +class HyditTokenizer: + def __init__(self, embedding_directory=None, tokenizer_data={}): + mt5_tokenizer_data = tokenizer_data.get("mt5xl.spiece_model", None) + self.hydit_clip = HyditBertTokenizer(embedding_directory=embedding_directory) + self.mt5xl = MT5XLTokenizer(tokenizer_data={"spiece_model": mt5_tokenizer_data}, embedding_directory=embedding_directory) + + def tokenize_with_weights(self, text:str, return_word_ids=False): + out = {} + out["hydit_clip"] = self.hydit_clip.tokenize_with_weights(text, return_word_ids) + out["mt5xl"] = self.mt5xl.tokenize_with_weights(text, return_word_ids) + return out + + def untokenize(self, token_weight_pair): + return self.hydit_clip.untokenize(token_weight_pair) + + def state_dict(self): + return {"mt5xl.spiece_model": self.mt5xl.state_dict()["spiece_model"]} + +class HyditModel(torch.nn.Module): + def __init__(self, device="cpu", dtype=None, model_options={}): + super().__init__() + self.hydit_clip = HyditBertModel(dtype=dtype, model_options=model_options) + self.mt5xl = MT5XLModel(dtype=dtype, model_options=model_options) + + self.dtypes = set() + if dtype is not None: + self.dtypes.add(dtype) + + def encode_token_weights(self, token_weight_pairs): + hydit_out = self.hydit_clip.encode_token_weights(token_weight_pairs["hydit_clip"]) + mt5_out = self.mt5xl.encode_token_weights(token_weight_pairs["mt5xl"]) + return hydit_out[0], hydit_out[1], {"attention_mask": hydit_out[2]["attention_mask"], "conditioning_mt5xl": mt5_out[0], "attention_mask_mt5xl": mt5_out[2]["attention_mask"]} + + def load_sd(self, sd): + if "bert.encoder.layer.0.attention.self.query.weight" in sd: + return self.hydit_clip.load_sd(sd) + else: + return self.mt5xl.load_sd(sd) + + def set_clip_options(self, options): + self.hydit_clip.set_clip_options(options) + self.mt5xl.set_clip_options(options) + + def reset_clip_options(self): + self.hydit_clip.reset_clip_options() + self.mt5xl.reset_clip_options() diff --git a/comfy/text_encoders/hydit_clip.json b/comfy/text_encoders/hydit_clip.json new file mode 100644 index 0000000000000000000000000000000000000000..c41c7c1ff376407f42e3ff20ab26faaa98bb5e65 --- /dev/null +++ b/comfy/text_encoders/hydit_clip.json @@ -0,0 +1,35 @@ +{ + "_name_or_path": "hfl/chinese-roberta-wwm-ext-large", + "architectures": [ + "BertModel" + ], + "attention_probs_dropout_prob": 0.1, + "bos_token_id": 0, + "classifier_dropout": null, + "directionality": "bidi", + "eos_token_id": 2, + "hidden_act": "gelu", + "hidden_dropout_prob": 0.1, + "hidden_size": 1024, + "initializer_range": 0.02, + "intermediate_size": 4096, + "layer_norm_eps": 1e-12, + "max_position_embeddings": 512, + "model_type": "bert", + "num_attention_heads": 16, + "num_hidden_layers": 24, + "output_past": true, + "pad_token_id": 0, + "pooler_fc_size": 768, + "pooler_num_attention_heads": 12, + "pooler_num_fc_layers": 3, + "pooler_size_per_head": 128, + "pooler_type": "first_token_transform", + "position_embedding_type": "absolute", + "torch_dtype": "float32", + "transformers_version": "4.22.1", + "type_vocab_size": 2, + "use_cache": true, + "vocab_size": 47020 +} + diff --git a/comfy/text_encoders/hydit_clip_tokenizer/special_tokens_map.json b/comfy/text_encoders/hydit_clip_tokenizer/special_tokens_map.json new file mode 100644 index 0000000000000000000000000000000000000000..a8b3208c2884c4efb86e49300fdd3dc877220cdf --- /dev/null +++ b/comfy/text_encoders/hydit_clip_tokenizer/special_tokens_map.json @@ -0,0 +1,7 @@ +{ + "cls_token": "[CLS]", + "mask_token": "[MASK]", + "pad_token": "[PAD]", + "sep_token": "[SEP]", + "unk_token": "[UNK]" +} diff --git a/comfy/text_encoders/hydit_clip_tokenizer/tokenizer_config.json b/comfy/text_encoders/hydit_clip_tokenizer/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..a14356073e11a885074a7cdbddc749463cefd911 --- /dev/null +++ b/comfy/text_encoders/hydit_clip_tokenizer/tokenizer_config.json @@ -0,0 +1,16 @@ +{ + "cls_token": "[CLS]", + "do_basic_tokenize": true, + "do_lower_case": true, + "mask_token": "[MASK]", + "name_or_path": "hfl/chinese-roberta-wwm-ext", + "never_split": null, + "pad_token": "[PAD]", + "sep_token": "[SEP]", + "special_tokens_map_file": "/home/chenweifeng/.cache/huggingface/hub/models--hfl--chinese-roberta-wwm-ext/snapshots/5c58d0b8ec1d9014354d691c538661bf00bfdb44/special_tokens_map.json", + "strip_accents": null, + "tokenize_chinese_chars": true, + "tokenizer_class": "BertTokenizer", + "unk_token": "[UNK]", + "model_max_length": 77 +} diff --git a/comfy/text_encoders/hydit_clip_tokenizer/vocab.txt b/comfy/text_encoders/hydit_clip_tokenizer/vocab.txt new file mode 100644 index 0000000000000000000000000000000000000000..6246906805d02aca01714c71e4c8d77b69a7a131 --- /dev/null +++ b/comfy/text_encoders/hydit_clip_tokenizer/vocab.txt @@ -0,0 +1,47020 @@ +[PAD] +[unused1] +[unused2] +[unused3] +[unused4] +[unused5] +[unused6] +[unused7] +[unused8] +[unused9] +[unused10] +[unused11] +[unused12] +[unused13] +[unused14] +[unused15] +[unused16] +[unused17] +[unused18] +[unused19] +[unused20] +[unused21] +[unused22] +[unused23] +[unused24] +[unused25] +[unused26] +[unused27] +[unused28] +[unused29] +[unused30] +[unused31] +[unused32] +[unused33] +[unused34] +[unused35] +[unused36] +[unused37] +[unused38] +[unused39] +[unused40] +[unused41] +[unused42] +[unused43] +[unused44] +[unused45] +[unused46] +[unused47] +[unused48] +[unused49] +[unused50] +[unused51] +[unused52] +[unused53] +[unused54] +[unused55] +[unused56] +[unused57] +[unused58] +[unused59] +[unused60] +[unused61] +[unused62] +[unused63] +[unused64] +[unused65] +[unused66] +[unused67] +[unused68] +[unused69] +[unused70] +[unused71] +[unused72] +[unused73] +[unused74] +[unused75] +[unused76] +[unused77] +[unused78] +[unused79] +[unused80] +[unused81] +[unused82] +[unused83] +[unused84] +[unused85] +[unused86] +[unused87] +[unused88] +[unused89] +[unused90] +[unused91] +[unused92] +[unused93] +[unused94] +[unused95] +[unused96] +[unused97] +[unused98] +[unused99] +[UNK] +[CLS] +[SEP] +[MASK] + + +! +" +# +$ +% +& +' +( +) +* ++ +, +- +. +/ +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +: +; +< += +> +? +@ +[ +\ +] +^ +_ +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x +y +z +{ +| +} +~ +£ +¤ +¥ +§ +© +« +® +° +± +² +³ +µ +· +¹ +º +» +¼ +× +ß +æ +÷ +ø +đ +ŋ +ɔ +ə +ɡ +ʰ +ˇ +ˈ +ˊ +ˋ +ˍ +ː +˙ +˚ +ˢ +α +β +γ +δ +ε +η +θ +ι +κ +λ +μ +ν +ο +π +ρ +ς +σ +τ +υ +φ +χ +ψ +ω +а +б +в +г +д +е +ж +з +и +к +л +м +н +о +п +р +с +т +у +ф +х +ц +ч +ш +ы +ь +я +і +ا +ب +ة +ت +د +ر +س +ع +ل +م +ن +ه +و +ي +۩ +ก +ง +น +ม +ย +ร +อ +า +เ +๑ +་ +ღ +ᄀ +ᄁ +ᄂ +ᄃ +ᄅ +ᄆ +ᄇ +ᄈ +ᄉ +ᄋ +ᄌ +ᄎ +ᄏ +ᄐ +ᄑ +ᄒ +ᅡ +ᅢ +ᅣ +ᅥ +ᅦ +ᅧ +ᅨ +ᅩ +ᅪ +ᅬ +ᅭ +ᅮ +ᅯ +ᅲ +ᅳ +ᅴ +ᅵ +ᆨ +ᆫ +ᆯ +ᆷ +ᆸ +ᆺ +ᆻ +ᆼ +ᗜ +ᵃ +ᵉ +ᵍ +ᵏ +ᵐ +ᵒ +ᵘ +‖ +„ +† +• +‥ +‧ +
 +‰ +′ +″ +‹ +› +※ +‿ +⁄ +ⁱ +⁺ +ⁿ +₁ +₂ +₃ +₄ +€ +℃ +№ +™ +ⅰ +ⅱ +ⅲ +ⅳ +ⅴ +← +↑ +→ +↓ +↔ +↗ +↘ +⇒ +∀ +− +∕ +∙ +√ +∞ +∟ +∠ +∣ +∥ +∩ +∮ +∶ +∼ +∽ +≈ +≒ +≡ +≤ +≥ +≦ +≧ +≪ +≫ +⊙ +⋅ +⋈ +⋯ +⌒ +① +② +③ +④ +⑤ +⑥ +⑦ +⑧ +⑨ +⑩ +⑴ +⑵ +⑶ +⑷ +⑸ +⒈ +⒉ +⒊ +⒋ +ⓒ +ⓔ +ⓘ +─ +━ +│ +┃ +┅ +┆ +┊ +┌ +└ +├ +┣ +═ +║ +╚ +╞ +╠ +╭ +╮ +╯ +╰ +╱ +╳ +▂ +▃ +▅ +▇ +█ +▉ +▋ +▌ +▍ +▎ +■ +□ +▪ +▫ +▬ +▲ +△ +▶ +► +▼ +▽ +◆ +◇ +○ +◎ +● +◕ +◠ +◢ +◤ +☀ +★ +☆ +☕ +☞ +☺ +☼ +♀ +♂ +♠ +♡ +♣ +♥ +♦ +♪ +♫ +♬ +✈ +✔ +✕ +✖ +✦ +✨ +✪ +✰ +✿ +❀ +❤ +➜ +➤ +⦿ +、 +。 +〃 +々 +〇 +〈 +〉 +《 +》 +「 +」 +『 +』 +【 +】 +〓 +〔 +〕 +〖 +〗 +〜 +〝 +〞 +ぁ +あ +ぃ +い +う +ぇ +え +お +か +き +く +け +こ +さ +し +す +せ +そ +た +ち +っ +つ +て +と +な +に +ぬ +ね +の +は +ひ +ふ +へ +ほ +ま +み +む +め +も +ゃ +や +ゅ +ゆ +ょ +よ +ら +り +る +れ +ろ +わ +を +ん +゜ +ゝ +ァ +ア +ィ +イ +ゥ +ウ +ェ +エ +ォ +オ +カ +キ +ク +ケ +コ +サ +シ +ス +セ +ソ +タ +チ +ッ +ツ +テ +ト +ナ +ニ +ヌ +ネ +ノ +ハ +ヒ +フ +ヘ +ホ +マ +ミ +ム +メ +モ +ャ +ヤ +ュ +ユ +ョ +ヨ +ラ +リ +ル +レ +ロ +ワ +ヲ +ン +ヶ +・ +ー +ヽ +ㄅ +ㄆ +ㄇ +ㄉ +ㄋ +ㄌ +ㄍ +ㄎ +ㄏ +ㄒ +ㄚ +ㄛ +ㄞ +ㄟ +ㄢ +ㄤ +ㄥ +ㄧ +ㄨ +ㆍ +㈦ +㊣ +㎡ +㗎 +一 +丁 +七 +万 +丈 +三 +上 +下 +不 +与 +丐 +丑 +专 +且 +丕 +世 +丘 +丙 +业 +丛 +东 +丝 +丞 +丟 +両 +丢 +两 +严 +並 +丧 +丨 +个 +丫 +中 +丰 +串 +临 +丶 +丸 +丹 +为 +主 +丼 +丽 +举 +丿 +乂 +乃 +久 +么 +义 +之 +乌 +乍 +乎 +乏 +乐 +乒 +乓 +乔 +乖 +乗 +乘 +乙 +乜 +九 +乞 +也 +习 +乡 +书 +乩 +买 +乱 +乳 +乾 +亀 +亂 +了 +予 +争 +事 +二 +于 +亏 +云 +互 +五 +井 +亘 +亙 +亚 +些 +亜 +亞 +亟 +亡 +亢 +交 +亥 +亦 +产 +亨 +亩 +享 +京 +亭 +亮 +亲 +亳 +亵 +人 +亿 +什 +仁 +仃 +仄 +仅 +仆 +仇 +今 +介 +仍 +从 +仏 +仑 +仓 +仔 +仕 +他 +仗 +付 +仙 +仝 +仞 +仟 +代 +令 +以 +仨 +仪 +们 +仮 +仰 +仲 +件 +价 +任 +份 +仿 +企 +伉 +伊 +伍 +伎 +伏 +伐 +休 +伕 +众 +优 +伙 +会 +伝 +伞 +伟 +传 +伢 +伤 +伦 +伪 +伫 +伯 +估 +伴 +伶 +伸 +伺 +似 +伽 +佃 +但 +佇 +佈 +位 +低 +住 +佐 +佑 +体 +佔 +何 +佗 +佘 +余 +佚 +佛 +作 +佝 +佞 +佟 +你 +佢 +佣 +佤 +佥 +佩 +佬 +佯 +佰 +佳 +併 +佶 +佻 +佼 +使 +侃 +侄 +來 +侈 +例 +侍 +侏 +侑 +侖 +侗 +供 +依 +侠 +価 +侣 +侥 +侦 +侧 +侨 +侬 +侮 +侯 +侵 +侶 +侷 +便 +係 +促 +俄 +俊 +俎 +俏 +俐 +俑 +俗 +俘 +俚 +保 +俞 +俟 +俠 +信 +俨 +俩 +俪 +俬 +俭 +修 +俯 +俱 +俳 +俸 +俺 +俾 +倆 +倉 +個 +倌 +倍 +倏 +們 +倒 +倔 +倖 +倘 +候 +倚 +倜 +借 +倡 +値 +倦 +倩 +倪 +倫 +倬 +倭 +倶 +债 +值 +倾 +偃 +假 +偈 +偉 +偌 +偎 +偏 +偕 +做 +停 +健 +側 +偵 +偶 +偷 +偻 +偽 +偿 +傀 +傅 +傍 +傑 +傘 +備 +傚 +傢 +傣 +傥 +储 +傩 +催 +傭 +傲 +傳 +債 +傷 +傻 +傾 +僅 +働 +像 +僑 +僕 +僖 +僚 +僥 +僧 +僭 +僮 +僱 +僵 +價 +僻 +儀 +儂 +億 +儆 +儉 +儋 +儒 +儕 +儘 +償 +儡 +優 +儲 +儷 +儼 +儿 +兀 +允 +元 +兄 +充 +兆 +兇 +先 +光 +克 +兌 +免 +児 +兑 +兒 +兔 +兖 +党 +兜 +兢 +入 +內 +全 +兩 +八 +公 +六 +兮 +兰 +共 +兲 +关 +兴 +兵 +其 +具 +典 +兹 +养 +兼 +兽 +冀 +内 +円 +冇 +冈 +冉 +冊 +册 +再 +冏 +冒 +冕 +冗 +写 +军 +农 +冠 +冢 +冤 +冥 +冨 +冪 +冬 +冯 +冰 +冲 +决 +况 +冶 +冷 +冻 +冼 +冽 +冾 +净 +凄 +准 +凇 +凈 +凉 +凋 +凌 +凍 +减 +凑 +凛 +凜 +凝 +几 +凡 +凤 +処 +凪 +凭 +凯 +凰 +凱 +凳 +凶 +凸 +凹 +出 +击 +函 +凿 +刀 +刁 +刃 +分 +切 +刈 +刊 +刍 +刎 +刑 +划 +列 +刘 +则 +刚 +创 +初 +删 +判 +別 +刨 +利 +刪 +别 +刮 +到 +制 +刷 +券 +刹 +刺 +刻 +刽 +剁 +剂 +剃 +則 +剉 +削 +剋 +剌 +前 +剎 +剐 +剑 +剔 +剖 +剛 +剜 +剝 +剣 +剤 +剥 +剧 +剩 +剪 +副 +割 +創 +剷 +剽 +剿 +劃 +劇 +劈 +劉 +劊 +劍 +劏 +劑 +力 +劝 +办 +功 +加 +务 +劣 +动 +助 +努 +劫 +劭 +励 +劲 +劳 +労 +劵 +効 +劾 +势 +勁 +勃 +勇 +勉 +勋 +勐 +勒 +動 +勖 +勘 +務 +勛 +勝 +勞 +募 +勢 +勤 +勧 +勳 +勵 +勸 +勺 +勻 +勾 +勿 +匀 +包 +匆 +匈 +匍 +匐 +匕 +化 +北 +匙 +匝 +匠 +匡 +匣 +匪 +匮 +匯 +匱 +匹 +区 +医 +匾 +匿 +區 +十 +千 +卅 +升 +午 +卉 +半 +卍 +华 +协 +卑 +卒 +卓 +協 +单 +卖 +南 +単 +博 +卜 +卞 +卟 +占 +卡 +卢 +卤 +卦 +卧 +卫 +卮 +卯 +印 +危 +即 +却 +卵 +卷 +卸 +卻 +卿 +厂 +厄 +厅 +历 +厉 +压 +厌 +厕 +厘 +厚 +厝 +原 +厢 +厥 +厦 +厨 +厩 +厭 +厮 +厲 +厳 +去 +县 +叁 +参 +參 +又 +叉 +及 +友 +双 +反 +収 +发 +叔 +取 +受 +变 +叙 +叛 +叟 +叠 +叡 +叢 +口 +古 +句 +另 +叨 +叩 +只 +叫 +召 +叭 +叮 +可 +台 +叱 +史 +右 +叵 +叶 +号 +司 +叹 +叻 +叼 +叽 +吁 +吃 +各 +吆 +合 +吉 +吊 +吋 +同 +名 +后 +吏 +吐 +向 +吒 +吓 +吕 +吖 +吗 +君 +吝 +吞 +吟 +吠 +吡 +否 +吧 +吨 +吩 +含 +听 +吭 +吮 +启 +吱 +吳 +吴 +吵 +吶 +吸 +吹 +吻 +吼 +吽 +吾 +呀 +呂 +呃 +呆 +呈 +告 +呋 +呎 +呐 +呓 +呕 +呗 +员 +呛 +呜 +呢 +呤 +呦 +周 +呱 +呲 +味 +呵 +呷 +呸 +呻 +呼 +命 +咀 +咁 +咂 +咄 +咆 +咋 +和 +咎 +咏 +咐 +咒 +咔 +咕 +咖 +咗 +咘 +咙 +咚 +咛 +咣 +咤 +咦 +咧 +咨 +咩 +咪 +咫 +咬 +咭 +咯 +咱 +咲 +咳 +咸 +咻 +咽 +咿 +哀 +品 +哂 +哄 +哆 +哇 +哈 +哉 +哋 +哌 +响 +哎 +哏 +哐 +哑 +哒 +哔 +哗 +哟 +員 +哥 +哦 +哧 +哨 +哩 +哪 +哭 +哮 +哲 +哺 +哼 +哽 +唁 +唄 +唆 +唇 +唉 +唏 +唐 +唑 +唔 +唠 +唤 +唧 +唬 +售 +唯 +唰 +唱 +唳 +唷 +唸 +唾 +啃 +啄 +商 +啉 +啊 +問 +啓 +啕 +啖 +啜 +啞 +啟 +啡 +啤 +啥 +啦 +啧 +啪 +啫 +啬 +啮 +啰 +啱 +啲 +啵 +啶 +啷 +啸 +啻 +啼 +啾 +喀 +喂 +喃 +善 +喆 +喇 +喉 +喊 +喋 +喎 +喏 +喔 +喘 +喙 +喚 +喜 +喝 +喟 +喧 +喪 +喫 +喬 +單 +喰 +喱 +喲 +喳 +喵 +営 +喷 +喹 +喺 +喻 +喽 +嗅 +嗆 +嗇 +嗎 +嗑 +嗒 +嗓 +嗔 +嗖 +嗚 +嗜 +嗝 +嗟 +嗡 +嗣 +嗤 +嗦 +嗨 +嗪 +嗬 +嗯 +嗰 +嗲 +嗳 +嗶 +嗷 +嗽 +嘀 +嘅 +嘆 +嘈 +嘉 +嘌 +嘍 +嘎 +嘔 +嘖 +嘗 +嘘 +嘚 +嘛 +嘜 +嘞 +嘟 +嘢 +嘣 +嘤 +嘧 +嘩 +嘭 +嘮 +嘯 +嘰 +嘱 +嘲 +嘴 +嘶 +嘸 +嘹 +嘻 +嘿 +噁 +噌 +噎 +噓 +噔 +噗 +噙 +噜 +噠 +噢 +噤 +器 +噩 +噪 +噬 +噱 +噴 +噶 +噸 +噹 +噻 +噼 +嚀 +嚇 +嚎 +嚏 +嚐 +嚓 +嚕 +嚟 +嚣 +嚥 +嚨 +嚮 +嚴 +嚷 +嚼 +囂 +囉 +囊 +囍 +囑 +囔 +囗 +囚 +四 +囝 +回 +囟 +因 +囡 +团 +団 +囤 +囧 +囪 +囫 +园 +困 +囱 +囲 +図 +围 +囹 +固 +国 +图 +囿 +圃 +圄 +圆 +圈 +國 +圍 +圏 +園 +圓 +圖 +團 +圜 +土 +圣 +圧 +在 +圩 +圭 +地 +圳 +场 +圻 +圾 +址 +坂 +均 +坊 +坍 +坎 +坏 +坐 +坑 +块 +坚 +坛 +坝 +坞 +坟 +坠 +坡 +坤 +坦 +坨 +坪 +坯 +坳 +坵 +坷 +垂 +垃 +垄 +型 +垒 +垚 +垛 +垠 +垢 +垣 +垦 +垩 +垫 +垭 +垮 +垵 +埂 +埃 +埋 +城 +埔 +埕 +埗 +域 +埠 +埤 +埵 +執 +埸 +培 +基 +埼 +堀 +堂 +堃 +堅 +堆 +堇 +堑 +堕 +堙 +堡 +堤 +堪 +堯 +堰 +報 +場 +堵 +堺 +堿 +塊 +塌 +塑 +塔 +塗 +塘 +塚 +塞 +塢 +塩 +填 +塬 +塭 +塵 +塾 +墀 +境 +墅 +墉 +墊 +墒 +墓 +増 +墘 +墙 +墜 +增 +墟 +墨 +墩 +墮 +墳 +墻 +墾 +壁 +壅 +壆 +壇 +壊 +壑 +壓 +壕 +壘 +壞 +壟 +壢 +壤 +壩 +士 +壬 +壮 +壯 +声 +売 +壳 +壶 +壹 +壺 +壽 +处 +备 +変 +复 +夏 +夔 +夕 +外 +夙 +多 +夜 +够 +夠 +夢 +夥 +大 +天 +太 +夫 +夭 +央 +夯 +失 +头 +夷 +夸 +夹 +夺 +夾 +奂 +奄 +奇 +奈 +奉 +奋 +奎 +奏 +奐 +契 +奔 +奕 +奖 +套 +奘 +奚 +奠 +奢 +奥 +奧 +奪 +奬 +奮 +女 +奴 +奶 +奸 +她 +好 +如 +妃 +妄 +妆 +妇 +妈 +妊 +妍 +妒 +妓 +妖 +妘 +妙 +妝 +妞 +妣 +妤 +妥 +妨 +妩 +妪 +妮 +妲 +妳 +妹 +妻 +妾 +姆 +姉 +姊 +始 +姍 +姐 +姑 +姒 +姓 +委 +姗 +姚 +姜 +姝 +姣 +姥 +姦 +姨 +姪 +姫 +姬 +姹 +姻 +姿 +威 +娃 +娄 +娅 +娆 +娇 +娉 +娑 +娓 +娘 +娛 +娜 +娟 +娠 +娣 +娥 +娩 +娱 +娲 +娴 +娶 +娼 +婀 +婁 +婆 +婉 +婊 +婕 +婚 +婢 +婦 +婧 +婪 +婭 +婴 +婵 +婶 +婷 +婺 +婿 +媒 +媚 +媛 +媞 +媧 +媲 +媳 +媽 +媾 +嫁 +嫂 +嫉 +嫌 +嫑 +嫔 +嫖 +嫘 +嫚 +嫡 +嫣 +嫦 +嫩 +嫲 +嫵 +嫻 +嬅 +嬉 +嬌 +嬗 +嬛 +嬢 +嬤 +嬪 +嬰 +嬴 +嬷 +嬸 +嬿 +孀 +孃 +子 +孑 +孔 +孕 +孖 +字 +存 +孙 +孚 +孛 +孜 +孝 +孟 +孢 +季 +孤 +学 +孩 +孪 +孫 +孬 +孰 +孱 +孳 +孵 +學 +孺 +孽 +孿 +宁 +它 +宅 +宇 +守 +安 +宋 +完 +宏 +宓 +宕 +宗 +官 +宙 +定 +宛 +宜 +宝 +实 +実 +宠 +审 +客 +宣 +室 +宥 +宦 +宪 +宫 +宮 +宰 +害 +宴 +宵 +家 +宸 +容 +宽 +宾 +宿 +寂 +寄 +寅 +密 +寇 +富 +寐 +寒 +寓 +寛 +寝 +寞 +察 +寡 +寢 +寥 +實 +寧 +寨 +審 +寫 +寬 +寮 +寰 +寵 +寶 +寸 +对 +寺 +寻 +导 +対 +寿 +封 +専 +射 +将 +將 +專 +尉 +尊 +尋 +對 +導 +小 +少 +尔 +尕 +尖 +尘 +尚 +尝 +尤 +尧 +尬 +就 +尴 +尷 +尸 +尹 +尺 +尻 +尼 +尽 +尾 +尿 +局 +屁 +层 +屄 +居 +屆 +屈 +屉 +届 +屋 +屌 +屍 +屎 +屏 +屐 +屑 +展 +屜 +属 +屠 +屡 +屢 +層 +履 +屬 +屯 +山 +屹 +屿 +岀 +岁 +岂 +岌 +岐 +岑 +岔 +岖 +岗 +岘 +岙 +岚 +岛 +岡 +岩 +岫 +岬 +岭 +岱 +岳 +岷 +岸 +峇 +峋 +峒 +峙 +峡 +峤 +峥 +峦 +峨 +峪 +峭 +峯 +峰 +峴 +島 +峻 +峽 +崁 +崂 +崆 +崇 +崎 +崑 +崔 +崖 +崗 +崙 +崛 +崧 +崩 +崭 +崴 +崽 +嵇 +嵊 +嵋 +嵌 +嵐 +嵘 +嵩 +嵬 +嵯 +嶂 +嶄 +嶇 +嶋 +嶙 +嶺 +嶼 +嶽 +巅 +巍 +巒 +巔 +巖 +川 +州 +巡 +巢 +工 +左 +巧 +巨 +巩 +巫 +差 +己 +已 +巳 +巴 +巷 +巻 +巽 +巾 +巿 +币 +市 +布 +帅 +帆 +师 +希 +帐 +帑 +帕 +帖 +帘 +帚 +帛 +帜 +帝 +帥 +带 +帧 +師 +席 +帮 +帯 +帰 +帳 +帶 +帷 +常 +帼 +帽 +幀 +幂 +幄 +幅 +幌 +幔 +幕 +幟 +幡 +幢 +幣 +幫 +干 +平 +年 +并 +幸 +幹 +幺 +幻 +幼 +幽 +幾 +广 +庁 +広 +庄 +庆 +庇 +床 +序 +庐 +库 +应 +底 +庖 +店 +庙 +庚 +府 +庞 +废 +庠 +度 +座 +庫 +庭 +庵 +庶 +康 +庸 +庹 +庾 +廁 +廂 +廃 +廈 +廉 +廊 +廓 +廖 +廚 +廝 +廟 +廠 +廢 +廣 +廬 +廳 +延 +廷 +建 +廿 +开 +弁 +异 +弃 +弄 +弈 +弊 +弋 +式 +弑 +弒 +弓 +弔 +引 +弗 +弘 +弛 +弟 +张 +弥 +弦 +弧 +弩 +弭 +弯 +弱 +張 +強 +弹 +强 +弼 +弾 +彅 +彆 +彈 +彌 +彎 +归 +当 +录 +彗 +彙 +彝 +形 +彤 +彥 +彦 +彧 +彩 +彪 +彫 +彬 +彭 +彰 +影 +彷 +役 +彻 +彼 +彿 +往 +征 +径 +待 +徇 +很 +徉 +徊 +律 +後 +徐 +徑 +徒 +従 +徕 +得 +徘 +徙 +徜 +從 +徠 +御 +徨 +復 +循 +徬 +微 +徳 +徴 +徵 +德 +徹 +徼 +徽 +心 +必 +忆 +忌 +忍 +忏 +忐 +忑 +忒 +忖 +志 +忘 +忙 +応 +忠 +忡 +忤 +忧 +忪 +快 +忱 +念 +忻 +忽 +忿 +怀 +态 +怂 +怅 +怆 +怎 +怏 +怒 +怔 +怕 +怖 +怙 +怜 +思 +怠 +怡 +急 +怦 +性 +怨 +怪 +怯 +怵 +总 +怼 +恁 +恃 +恆 +恋 +恍 +恐 +恒 +恕 +恙 +恚 +恢 +恣 +恤 +恥 +恨 +恩 +恪 +恫 +恬 +恭 +息 +恰 +恳 +恵 +恶 +恸 +恺 +恻 +恼 +恿 +悄 +悅 +悉 +悌 +悍 +悔 +悖 +悚 +悟 +悠 +患 +悦 +您 +悩 +悪 +悬 +悯 +悱 +悲 +悴 +悵 +悶 +悸 +悻 +悼 +悽 +情 +惆 +惇 +惊 +惋 +惑 +惕 +惘 +惚 +惜 +惟 +惠 +惡 +惦 +惧 +惨 +惩 +惫 +惬 +惭 +惮 +惯 +惰 +惱 +想 +惴 +惶 +惹 +惺 +愁 +愆 +愈 +愉 +愍 +意 +愕 +愚 +愛 +愜 +感 +愣 +愤 +愧 +愫 +愷 +愿 +慄 +慈 +態 +慌 +慎 +慑 +慕 +慘 +慚 +慟 +慢 +慣 +慧 +慨 +慫 +慮 +慰 +慳 +慵 +慶 +慷 +慾 +憂 +憊 +憋 +憎 +憐 +憑 +憔 +憚 +憤 +憧 +憨 +憩 +憫 +憬 +憲 +憶 +憾 +懂 +懇 +懈 +應 +懊 +懋 +懑 +懒 +懦 +懲 +懵 +懶 +懷 +懸 +懺 +懼 +懾 +懿 +戀 +戈 +戊 +戌 +戍 +戎 +戏 +成 +我 +戒 +戕 +或 +战 +戚 +戛 +戟 +戡 +戦 +截 +戬 +戮 +戰 +戲 +戳 +戴 +戶 +户 +戸 +戻 +戾 +房 +所 +扁 +扇 +扈 +扉 +手 +才 +扎 +扑 +扒 +打 +扔 +払 +托 +扛 +扣 +扦 +执 +扩 +扪 +扫 +扬 +扭 +扮 +扯 +扰 +扱 +扳 +扶 +批 +扼 +找 +承 +技 +抄 +抉 +把 +抑 +抒 +抓 +投 +抖 +抗 +折 +抚 +抛 +抜 +択 +抟 +抠 +抡 +抢 +护 +报 +抨 +披 +抬 +抱 +抵 +抹 +押 +抽 +抿 +拂 +拄 +担 +拆 +拇 +拈 +拉 +拋 +拌 +拍 +拎 +拐 +拒 +拓 +拔 +拖 +拗 +拘 +拙 +拚 +招 +拜 +拟 +拡 +拢 +拣 +拥 +拦 +拧 +拨 +择 +括 +拭 +拮 +拯 +拱 +拳 +拴 +拷 +拼 +拽 +拾 +拿 +持 +挂 +指 +挈 +按 +挎 +挑 +挖 +挙 +挚 +挛 +挝 +挞 +挟 +挠 +挡 +挣 +挤 +挥 +挨 +挪 +挫 +振 +挲 +挹 +挺 +挽 +挾 +捂 +捅 +捆 +捉 +捋 +捌 +捍 +捎 +捏 +捐 +捕 +捞 +损 +捡 +换 +捣 +捧 +捨 +捩 +据 +捱 +捲 +捶 +捷 +捺 +捻 +掀 +掂 +掃 +掇 +授 +掉 +掌 +掏 +掐 +排 +掖 +掘 +掙 +掛 +掠 +採 +探 +掣 +接 +控 +推 +掩 +措 +掬 +掰 +掲 +掳 +掴 +掷 +掸 +掺 +揀 +揃 +揄 +揆 +揉 +揍 +描 +提 +插 +揖 +揚 +換 +握 +揣 +揩 +揪 +揭 +揮 +援 +揶 +揸 +揹 +揽 +搀 +搁 +搂 +搅 +損 +搏 +搐 +搓 +搔 +搖 +搗 +搜 +搞 +搡 +搪 +搬 +搭 +搵 +搶 +携 +搽 +摀 +摁 +摄 +摆 +摇 +摈 +摊 +摒 +摔 +摘 +摞 +摟 +摧 +摩 +摯 +摳 +摸 +摹 +摺 +摻 +撂 +撃 +撅 +撇 +撈 +撐 +撑 +撒 +撓 +撕 +撚 +撞 +撤 +撥 +撩 +撫 +撬 +播 +撮 +撰 +撲 +撵 +撷 +撸 +撻 +撼 +撿 +擀 +擁 +擂 +擄 +擅 +擇 +擊 +擋 +操 +擎 +擒 +擔 +擘 +據 +擞 +擠 +擡 +擢 +擦 +擬 +擰 +擱 +擲 +擴 +擷 +擺 +擼 +擾 +攀 +攏 +攒 +攔 +攘 +攙 +攜 +攝 +攞 +攢 +攣 +攤 +攥 +攪 +攫 +攬 +支 +收 +攸 +改 +攻 +放 +政 +故 +效 +敌 +敍 +敎 +敏 +救 +敕 +敖 +敗 +敘 +教 +敛 +敝 +敞 +敢 +散 +敦 +敬 +数 +敲 +整 +敵 +敷 +數 +斂 +斃 +文 +斋 +斌 +斎 +斐 +斑 +斓 +斗 +料 +斛 +斜 +斟 +斡 +斤 +斥 +斧 +斩 +斫 +斬 +断 +斯 +新 +斷 +方 +於 +施 +旁 +旃 +旅 +旋 +旌 +旎 +族 +旖 +旗 +无 +既 +日 +旦 +旧 +旨 +早 +旬 +旭 +旮 +旱 +时 +旷 +旺 +旻 +昀 +昂 +昆 +昇 +昉 +昊 +昌 +明 +昏 +易 +昔 +昕 +昙 +星 +映 +春 +昧 +昨 +昭 +是 +昱 +昴 +昵 +昶 +昼 +显 +晁 +時 +晃 +晉 +晋 +晌 +晏 +晒 +晓 +晔 +晕 +晖 +晗 +晚 +晝 +晞 +晟 +晤 +晦 +晨 +晩 +普 +景 +晰 +晴 +晶 +晷 +智 +晾 +暂 +暄 +暇 +暈 +暉 +暌 +暐 +暑 +暖 +暗 +暝 +暢 +暧 +暨 +暫 +暮 +暱 +暴 +暸 +暹 +曄 +曆 +曇 +曉 +曖 +曙 +曜 +曝 +曠 +曦 +曬 +曰 +曲 +曳 +更 +書 +曹 +曼 +曾 +替 +最 +會 +月 +有 +朋 +服 +朐 +朔 +朕 +朗 +望 +朝 +期 +朦 +朧 +木 +未 +末 +本 +札 +朮 +术 +朱 +朴 +朵 +机 +朽 +杀 +杂 +权 +杆 +杈 +杉 +李 +杏 +材 +村 +杓 +杖 +杜 +杞 +束 +杠 +条 +来 +杨 +杭 +杯 +杰 +東 +杳 +杵 +杷 +杼 +松 +板 +极 +构 +枇 +枉 +枋 +析 +枕 +林 +枚 +果 +枝 +枢 +枣 +枪 +枫 +枭 +枯 +枰 +枱 +枳 +架 +枷 +枸 +柄 +柏 +某 +柑 +柒 +染 +柔 +柘 +柚 +柜 +柞 +柠 +柢 +查 +柩 +柬 +柯 +柱 +柳 +柴 +柵 +査 +柿 +栀 +栃 +栄 +栅 +标 +栈 +栉 +栋 +栎 +栏 +树 +栓 +栖 +栗 +校 +栩 +株 +样 +核 +根 +格 +栽 +栾 +桀 +桁 +桂 +桃 +桅 +框 +案 +桉 +桌 +桎 +桐 +桑 +桓 +桔 +桜 +桠 +桡 +桢 +档 +桥 +桦 +桧 +桨 +桩 +桶 +桿 +梁 +梅 +梆 +梏 +梓 +梗 +條 +梟 +梢 +梦 +梧 +梨 +梭 +梯 +械 +梳 +梵 +梶 +检 +棂 +棄 +棉 +棋 +棍 +棒 +棕 +棗 +棘 +棚 +棟 +棠 +棣 +棧 +森 +棱 +棲 +棵 +棹 +棺 +椁 +椅 +椋 +植 +椎 +椒 +検 +椪 +椭 +椰 +椹 +椽 +椿 +楂 +楊 +楓 +楔 +楚 +楝 +楞 +楠 +楣 +楨 +楫 +業 +楮 +極 +楷 +楸 +楹 +楼 +楽 +概 +榄 +榆 +榈 +榉 +榔 +榕 +榖 +榛 +榜 +榨 +榫 +榭 +榮 +榱 +榴 +榷 +榻 +槁 +槃 +構 +槌 +槍 +槎 +槐 +槓 +様 +槛 +槟 +槤 +槭 +槲 +槳 +槻 +槽 +槿 +樁 +樂 +樊 +樑 +樓 +標 +樞 +樟 +模 +樣 +権 +横 +樫 +樯 +樱 +樵 +樸 +樹 +樺 +樽 +樾 +橄 +橇 +橋 +橐 +橘 +橙 +機 +橡 +橢 +橫 +橱 +橹 +橼 +檀 +檄 +檎 +檐 +檔 +檗 +檜 +檢 +檬 +檯 +檳 +檸 +檻 +櫃 +櫚 +櫛 +櫥 +櫸 +櫻 +欄 +權 +欒 +欖 +欠 +次 +欢 +欣 +欧 +欲 +欸 +欺 +欽 +款 +歆 +歇 +歉 +歌 +歎 +歐 +歓 +歙 +歛 +歡 +止 +正 +此 +步 +武 +歧 +歩 +歪 +歯 +歲 +歳 +歴 +歷 +歸 +歹 +死 +歼 +殁 +殃 +殆 +殇 +殉 +殊 +残 +殒 +殓 +殖 +殘 +殞 +殡 +殤 +殭 +殯 +殲 +殴 +段 +殷 +殺 +殼 +殿 +毀 +毁 +毂 +毅 +毆 +毋 +母 +毎 +每 +毒 +毓 +比 +毕 +毗 +毘 +毙 +毛 +毡 +毫 +毯 +毽 +氈 +氏 +氐 +民 +氓 +气 +氖 +気 +氙 +氛 +氟 +氡 +氢 +氣 +氤 +氦 +氧 +氨 +氪 +氫 +氮 +氯 +氰 +氲 +水 +氷 +永 +氹 +氾 +汀 +汁 +求 +汆 +汇 +汉 +汎 +汐 +汕 +汗 +汙 +汛 +汝 +汞 +江 +池 +污 +汤 +汨 +汩 +汪 +汰 +汲 +汴 +汶 +汹 +決 +汽 +汾 +沁 +沂 +沃 +沅 +沈 +沉 +沌 +沏 +沐 +沒 +沓 +沖 +沙 +沛 +沟 +没 +沢 +沣 +沥 +沦 +沧 +沪 +沫 +沭 +沮 +沱 +河 +沸 +油 +治 +沼 +沽 +沾 +沿 +況 +泄 +泉 +泊 +泌 +泓 +法 +泗 +泛 +泞 +泠 +泡 +波 +泣 +泥 +注 +泪 +泫 +泮 +泯 +泰 +泱 +泳 +泵 +泷 +泸 +泻 +泼 +泽 +泾 +洁 +洄 +洋 +洒 +洗 +洙 +洛 +洞 +津 +洩 +洪 +洮 +洱 +洲 +洵 +洶 +洸 +洹 +活 +洼 +洽 +派 +流 +浃 +浄 +浅 +浆 +浇 +浊 +测 +济 +浏 +浑 +浒 +浓 +浔 +浙 +浚 +浜 +浣 +浦 +浩 +浪 +浬 +浮 +浯 +浴 +海 +浸 +涂 +涅 +涇 +消 +涉 +涌 +涎 +涓 +涔 +涕 +涙 +涛 +涝 +涞 +涟 +涠 +涡 +涣 +涤 +润 +涧 +涨 +涩 +涪 +涮 +涯 +液 +涵 +涸 +涼 +涿 +淀 +淄 +淅 +淆 +淇 +淋 +淌 +淑 +淒 +淖 +淘 +淙 +淚 +淞 +淡 +淤 +淦 +淨 +淩 +淪 +淫 +淬 +淮 +深 +淳 +淵 +混 +淹 +淺 +添 +淼 +清 +済 +渉 +渊 +渋 +渍 +渎 +渐 +渔 +渗 +渙 +渚 +減 +渝 +渠 +渡 +渣 +渤 +渥 +渦 +温 +測 +渭 +港 +渲 +渴 +游 +渺 +渾 +湃 +湄 +湊 +湍 +湖 +湘 +湛 +湟 +湧 +湫 +湮 +湯 +湳 +湾 +湿 +満 +溃 +溅 +溉 +溏 +源 +準 +溜 +溝 +溟 +溢 +溥 +溧 +溪 +溫 +溯 +溱 +溴 +溶 +溺 +溼 +滁 +滂 +滄 +滅 +滇 +滋 +滌 +滑 +滓 +滔 +滕 +滙 +滚 +滝 +滞 +滟 +满 +滢 +滤 +滥 +滦 +滨 +滩 +滬 +滯 +滲 +滴 +滷 +滸 +滾 +滿 +漁 +漂 +漆 +漉 +漏 +漓 +演 +漕 +漠 +漢 +漣 +漩 +漪 +漫 +漬 +漯 +漱 +漲 +漳 +漸 +漾 +漿 +潆 +潇 +潋 +潍 +潑 +潔 +潘 +潛 +潜 +潞 +潟 +潢 +潤 +潦 +潧 +潭 +潮 +潰 +潴 +潸 +潺 +潼 +澀 +澄 +澆 +澈 +澍 +澎 +澗 +澜 +澡 +澤 +澧 +澱 +澳 +澹 +激 +濁 +濂 +濃 +濑 +濒 +濕 +濘 +濛 +濟 +濠 +濡 +濤 +濫 +濬 +濮 +濯 +濱 +濺 +濾 +瀅 +瀆 +瀉 +瀋 +瀏 +瀑 +瀕 +瀘 +瀚 +瀛 +瀝 +瀞 +瀟 +瀧 +瀨 +瀬 +瀰 +瀾 +灌 +灏 +灑 +灘 +灝 +灞 +灣 +火 +灬 +灭 +灯 +灰 +灵 +灶 +灸 +灼 +災 +灾 +灿 +炀 +炁 +炅 +炉 +炊 +炎 +炒 +炔 +炕 +炖 +炙 +炜 +炫 +炬 +炭 +炮 +炯 +炳 +炷 +炸 +点 +為 +炼 +炽 +烁 +烂 +烃 +烈 +烊 +烏 +烘 +烙 +烛 +烟 +烤 +烦 +烧 +烨 +烩 +烫 +烬 +热 +烯 +烷 +烹 +烽 +焉 +焊 +焕 +焖 +焗 +焘 +焙 +焚 +焜 +無 +焦 +焯 +焰 +焱 +然 +焼 +煅 +煉 +煊 +煌 +煎 +煒 +煖 +煙 +煜 +煞 +煤 +煥 +煦 +照 +煨 +煩 +煮 +煲 +煸 +煽 +熄 +熊 +熏 +熒 +熔 +熙 +熟 +熠 +熨 +熬 +熱 +熵 +熹 +熾 +燁 +燃 +燄 +燈 +燉 +燊 +燎 +燒 +燔 +燕 +燙 +燜 +營 +燥 +燦 +燧 +燭 +燮 +燴 +燻 +燼 +燿 +爆 +爍 +爐 +爛 +爪 +爬 +爭 +爰 +爱 +爲 +爵 +父 +爷 +爸 +爹 +爺 +爻 +爽 +爾 +牆 +片 +版 +牌 +牍 +牒 +牙 +牛 +牝 +牟 +牠 +牡 +牢 +牦 +牧 +物 +牯 +牲 +牴 +牵 +特 +牺 +牽 +犀 +犁 +犄 +犊 +犍 +犒 +犢 +犧 +犬 +犯 +状 +犷 +犸 +犹 +狀 +狂 +狄 +狈 +狎 +狐 +狒 +狗 +狙 +狞 +狠 +狡 +狩 +独 +狭 +狮 +狰 +狱 +狸 +狹 +狼 +狽 +猎 +猕 +猖 +猗 +猙 +猛 +猜 +猝 +猥 +猩 +猪 +猫 +猬 +献 +猴 +猶 +猷 +猾 +猿 +獄 +獅 +獎 +獐 +獒 +獗 +獠 +獣 +獨 +獭 +獰 +獲 +獵 +獷 +獸 +獺 +獻 +獼 +獾 +玄 +率 +玉 +王 +玑 +玖 +玛 +玟 +玠 +玥 +玩 +玫 +玮 +环 +现 +玲 +玳 +玷 +玺 +玻 +珀 +珂 +珅 +珈 +珉 +珊 +珍 +珏 +珐 +珑 +珙 +珞 +珠 +珣 +珥 +珩 +珪 +班 +珮 +珲 +珺 +現 +球 +琅 +理 +琇 +琉 +琊 +琍 +琏 +琐 +琛 +琢 +琥 +琦 +琨 +琪 +琬 +琮 +琰 +琲 +琳 +琴 +琵 +琶 +琺 +琼 +瑀 +瑁 +瑄 +瑋 +瑕 +瑗 +瑙 +瑚 +瑛 +瑜 +瑞 +瑟 +瑠 +瑣 +瑤 +瑩 +瑪 +瑯 +瑰 +瑶 +瑾 +璀 +璁 +璃 +璇 +璉 +璋 +璎 +璐 +璜 +璞 +璟 +璧 +璨 +環 +璽 +璿 +瓊 +瓏 +瓒 +瓜 +瓢 +瓣 +瓤 +瓦 +瓮 +瓯 +瓴 +瓶 +瓷 +甄 +甌 +甕 +甘 +甙 +甚 +甜 +生 +產 +産 +甥 +甦 +用 +甩 +甫 +甬 +甭 +甯 +田 +由 +甲 +申 +电 +男 +甸 +町 +画 +甾 +畀 +畅 +界 +畏 +畑 +畔 +留 +畜 +畝 +畢 +略 +畦 +番 +畫 +異 +畲 +畳 +畴 +當 +畸 +畹 +畿 +疆 +疇 +疊 +疏 +疑 +疔 +疖 +疗 +疙 +疚 +疝 +疟 +疡 +疣 +疤 +疥 +疫 +疮 +疯 +疱 +疲 +疳 +疵 +疸 +疹 +疼 +疽 +疾 +痂 +病 +症 +痈 +痉 +痊 +痍 +痒 +痔 +痕 +痘 +痙 +痛 +痞 +痠 +痢 +痣 +痤 +痧 +痨 +痪 +痫 +痰 +痱 +痴 +痹 +痺 +痼 +痿 +瘀 +瘁 +瘋 +瘍 +瘓 +瘘 +瘙 +瘟 +瘠 +瘡 +瘢 +瘤 +瘦 +瘧 +瘩 +瘪 +瘫 +瘴 +瘸 +瘾 +療 +癇 +癌 +癒 +癖 +癜 +癞 +癡 +癢 +癣 +癥 +癫 +癬 +癮 +癱 +癲 +癸 +発 +登 +發 +白 +百 +皂 +的 +皆 +皇 +皈 +皋 +皎 +皑 +皓 +皖 +皙 +皚 +皮 +皰 +皱 +皴 +皺 +皿 +盂 +盃 +盅 +盆 +盈 +益 +盎 +盏 +盐 +监 +盒 +盔 +盖 +盗 +盘 +盛 +盜 +盞 +盟 +盡 +監 +盤 +盥 +盧 +盪 +目 +盯 +盱 +盲 +直 +相 +盹 +盼 +盾 +省 +眈 +眉 +看 +県 +眙 +眞 +真 +眠 +眦 +眨 +眩 +眯 +眶 +眷 +眸 +眺 +眼 +眾 +着 +睁 +睇 +睏 +睐 +睑 +睛 +睜 +睞 +睡 +睢 +督 +睥 +睦 +睨 +睪 +睫 +睬 +睹 +睽 +睾 +睿 +瞄 +瞅 +瞇 +瞋 +瞌 +瞎 +瞑 +瞒 +瞓 +瞞 +瞟 +瞠 +瞥 +瞧 +瞩 +瞪 +瞬 +瞭 +瞰 +瞳 +瞻 +瞼 +瞿 +矇 +矍 +矗 +矚 +矛 +矜 +矢 +矣 +知 +矩 +矫 +短 +矮 +矯 +石 +矶 +矽 +矾 +矿 +码 +砂 +砌 +砍 +砒 +研 +砖 +砗 +砚 +砝 +砣 +砥 +砧 +砭 +砰 +砲 +破 +砷 +砸 +砺 +砼 +砾 +础 +硅 +硐 +硒 +硕 +硝 +硫 +硬 +确 +硯 +硼 +碁 +碇 +碉 +碌 +碍 +碎 +碑 +碓 +碗 +碘 +碚 +碛 +碟 +碣 +碧 +碩 +碰 +碱 +碳 +碴 +確 +碼 +碾 +磁 +磅 +磊 +磋 +磐 +磕 +磚 +磡 +磨 +磬 +磯 +磲 +磷 +磺 +礁 +礎 +礙 +礡 +礦 +礪 +礫 +礴 +示 +礼 +社 +祀 +祁 +祂 +祇 +祈 +祉 +祎 +祐 +祕 +祖 +祗 +祚 +祛 +祜 +祝 +神 +祟 +祠 +祢 +祥 +票 +祭 +祯 +祷 +祸 +祺 +祿 +禀 +禁 +禄 +禅 +禍 +禎 +福 +禛 +禦 +禧 +禪 +禮 +禱 +禹 +禺 +离 +禽 +禾 +禿 +秀 +私 +秃 +秆 +秉 +秋 +种 +科 +秒 +秘 +租 +秣 +秤 +秦 +秧 +秩 +秭 +积 +称 +秸 +移 +秽 +稀 +稅 +程 +稍 +税 +稔 +稗 +稚 +稜 +稞 +稟 +稠 +稣 +種 +稱 +稲 +稳 +稷 +稹 +稻 +稼 +稽 +稿 +穀 +穂 +穆 +穌 +積 +穎 +穗 +穢 +穩 +穫 +穴 +究 +穷 +穹 +空 +穿 +突 +窃 +窄 +窈 +窍 +窑 +窒 +窓 +窕 +窖 +窗 +窘 +窜 +窝 +窟 +窠 +窥 +窦 +窨 +窩 +窪 +窮 +窯 +窺 +窿 +竄 +竅 +竇 +竊 +立 +竖 +站 +竜 +竞 +竟 +章 +竣 +童 +竭 +端 +競 +竹 +竺 +竽 +竿 +笃 +笆 +笈 +笋 +笏 +笑 +笔 +笙 +笛 +笞 +笠 +符 +笨 +第 +笹 +笺 +笼 +筆 +等 +筊 +筋 +筍 +筏 +筐 +筑 +筒 +答 +策 +筛 +筝 +筠 +筱 +筲 +筵 +筷 +筹 +签 +简 +箇 +箋 +箍 +箏 +箐 +箔 +箕 +算 +箝 +管 +箩 +箫 +箭 +箱 +箴 +箸 +節 +篁 +範 +篆 +篇 +築 +篑 +篓 +篙 +篝 +篠 +篡 +篤 +篩 +篪 +篮 +篱 +篷 +簇 +簌 +簍 +簡 +簦 +簧 +簪 +簫 +簷 +簸 +簽 +簾 +簿 +籁 +籃 +籌 +籍 +籐 +籟 +籠 +籤 +籬 +籮 +籲 +米 +类 +籼 +籽 +粄 +粉 +粑 +粒 +粕 +粗 +粘 +粟 +粤 +粥 +粧 +粪 +粮 +粱 +粲 +粳 +粵 +粹 +粼 +粽 +精 +粿 +糅 +糊 +糍 +糕 +糖 +糗 +糙 +糜 +糞 +糟 +糠 +糧 +糬 +糯 +糰 +糸 +系 +糾 +紀 +紂 +約 +紅 +紉 +紊 +紋 +納 +紐 +紓 +純 +紗 +紘 +紙 +級 +紛 +紜 +素 +紡 +索 +紧 +紫 +紮 +累 +細 +紳 +紹 +紺 +終 +絃 +組 +絆 +経 +結 +絕 +絞 +絡 +絢 +給 +絨 +絮 +統 +絲 +絳 +絵 +絶 +絹 +綁 +綏 +綑 +經 +継 +続 +綜 +綠 +綢 +綦 +綫 +綬 +維 +綱 +網 +綴 +綵 +綸 +綺 +綻 +綽 +綾 +綿 +緊 +緋 +総 +緑 +緒 +緘 +線 +緝 +緞 +締 +緣 +編 +緩 +緬 +緯 +練 +緹 +緻 +縁 +縄 +縈 +縛 +縝 +縣 +縫 +縮 +縱 +縴 +縷 +總 +績 +繁 +繃 +繆 +繇 +繋 +織 +繕 +繚 +繞 +繡 +繩 +繪 +繫 +繭 +繳 +繹 +繼 +繽 +纂 +續 +纍 +纏 +纓 +纔 +纖 +纜 +纠 +红 +纣 +纤 +约 +级 +纨 +纪 +纫 +纬 +纭 +纯 +纰 +纱 +纲 +纳 +纵 +纶 +纷 +纸 +纹 +纺 +纽 +纾 +线 +绀 +练 +组 +绅 +细 +织 +终 +绊 +绍 +绎 +经 +绑 +绒 +结 +绔 +绕 +绘 +给 +绚 +绛 +络 +绝 +绞 +统 +绡 +绢 +绣 +绥 +绦 +继 +绩 +绪 +绫 +续 +绮 +绯 +绰 +绳 +维 +绵 +绶 +绷 +绸 +绻 +综 +绽 +绾 +绿 +缀 +缄 +缅 +缆 +缇 +缈 +缉 +缎 +缓 +缔 +缕 +编 +缘 +缙 +缚 +缜 +缝 +缠 +缢 +缤 +缥 +缨 +缩 +缪 +缭 +缮 +缰 +缱 +缴 +缸 +缺 +缽 +罂 +罄 +罌 +罐 +网 +罔 +罕 +罗 +罚 +罡 +罢 +罩 +罪 +置 +罰 +署 +罵 +罷 +罹 +羁 +羅 +羈 +羊 +羌 +美 +羔 +羚 +羞 +羟 +羡 +羣 +群 +羥 +羧 +羨 +義 +羯 +羲 +羸 +羹 +羽 +羿 +翁 +翅 +翊 +翌 +翎 +習 +翔 +翘 +翟 +翠 +翡 +翦 +翩 +翰 +翱 +翳 +翹 +翻 +翼 +耀 +老 +考 +耄 +者 +耆 +耋 +而 +耍 +耐 +耒 +耕 +耗 +耘 +耙 +耦 +耨 +耳 +耶 +耷 +耸 +耻 +耽 +耿 +聂 +聆 +聊 +聋 +职 +聒 +联 +聖 +聘 +聚 +聞 +聪 +聯 +聰 +聲 +聳 +聴 +聶 +職 +聽 +聾 +聿 +肃 +肄 +肅 +肆 +肇 +肉 +肋 +肌 +肏 +肓 +肖 +肘 +肚 +肛 +肝 +肠 +股 +肢 +肤 +肥 +肩 +肪 +肮 +肯 +肱 +育 +肴 +肺 +肽 +肾 +肿 +胀 +胁 +胃 +胄 +胆 +背 +胍 +胎 +胖 +胚 +胛 +胜 +胝 +胞 +胡 +胤 +胥 +胧 +胫 +胭 +胯 +胰 +胱 +胳 +胴 +胶 +胸 +胺 +能 +脂 +脅 +脆 +脇 +脈 +脉 +脊 +脍 +脏 +脐 +脑 +脓 +脖 +脘 +脚 +脛 +脣 +脩 +脫 +脯 +脱 +脲 +脳 +脸 +脹 +脾 +腆 +腈 +腊 +腋 +腌 +腎 +腐 +腑 +腓 +腔 +腕 +腥 +腦 +腩 +腫 +腭 +腮 +腰 +腱 +腳 +腴 +腸 +腹 +腺 +腻 +腼 +腾 +腿 +膀 +膈 +膊 +膏 +膑 +膘 +膚 +膛 +膜 +膝 +膠 +膦 +膨 +膩 +膳 +膺 +膻 +膽 +膾 +膿 +臀 +臂 +臃 +臆 +臉 +臊 +臍 +臓 +臘 +臟 +臣 +臥 +臧 +臨 +自 +臬 +臭 +至 +致 +臺 +臻 +臼 +臾 +舀 +舂 +舅 +舆 +與 +興 +舉 +舊 +舌 +舍 +舎 +舐 +舒 +舔 +舖 +舗 +舛 +舜 +舞 +舟 +航 +舫 +般 +舰 +舱 +舵 +舶 +舷 +舸 +船 +舺 +舾 +艇 +艋 +艘 +艙 +艦 +艮 +良 +艰 +艱 +色 +艳 +艷 +艹 +艺 +艾 +节 +芃 +芈 +芊 +芋 +芍 +芎 +芒 +芙 +芜 +芝 +芡 +芥 +芦 +芩 +芪 +芫 +芬 +芭 +芮 +芯 +花 +芳 +芷 +芸 +芹 +芻 +芽 +芾 +苁 +苄 +苇 +苋 +苍 +苏 +苑 +苒 +苓 +苔 +苕 +苗 +苛 +苜 +苞 +苟 +苡 +苣 +若 +苦 +苫 +苯 +英 +苷 +苹 +苻 +茁 +茂 +范 +茄 +茅 +茉 +茎 +茏 +茗 +茜 +茧 +茨 +茫 +茬 +茭 +茯 +茱 +茲 +茴 +茵 +茶 +茸 +茹 +茼 +荀 +荃 +荆 +草 +荊 +荏 +荐 +荒 +荔 +荖 +荘 +荚 +荞 +荟 +荠 +荡 +荣 +荤 +荥 +荧 +荨 +荪 +荫 +药 +荳 +荷 +荸 +荻 +荼 +荽 +莅 +莆 +莉 +莊 +莎 +莒 +莓 +莖 +莘 +莞 +莠 +莢 +莧 +莪 +莫 +莱 +莲 +莴 +获 +莹 +莺 +莽 +莿 +菀 +菁 +菅 +菇 +菈 +菊 +菌 +菏 +菓 +菖 +菘 +菜 +菟 +菠 +菡 +菩 +華 +菱 +菲 +菸 +菽 +萁 +萃 +萄 +萊 +萋 +萌 +萍 +萎 +萘 +萝 +萤 +营 +萦 +萧 +萨 +萩 +萬 +萱 +萵 +萸 +萼 +落 +葆 +葉 +著 +葚 +葛 +葡 +董 +葦 +葩 +葫 +葬 +葭 +葯 +葱 +葳 +葵 +葷 +葺 +蒂 +蒋 +蒐 +蒔 +蒙 +蒜 +蒞 +蒟 +蒡 +蒨 +蒲 +蒸 +蒹 +蒻 +蒼 +蒿 +蓁 +蓄 +蓆 +蓉 +蓋 +蓑 +蓓 +蓖 +蓝 +蓟 +蓦 +蓬 +蓮 +蓼 +蓿 +蔑 +蔓 +蔔 +蔗 +蔘 +蔚 +蔡 +蔣 +蔥 +蔫 +蔬 +蔭 +蔵 +蔷 +蔺 +蔻 +蔼 +蔽 +蕁 +蕃 +蕈 +蕉 +蕊 +蕎 +蕙 +蕤 +蕨 +蕩 +蕪 +蕭 +蕲 +蕴 +蕻 +蕾 +薄 +薅 +薇 +薈 +薊 +薏 +薑 +薔 +薙 +薛 +薦 +薨 +薩 +薪 +薬 +薯 +薰 +薹 +藉 +藍 +藏 +藐 +藓 +藕 +藜 +藝 +藤 +藥 +藩 +藹 +藻 +藿 +蘆 +蘇 +蘊 +蘋 +蘑 +蘚 +蘭 +蘸 +蘼 +蘿 +虎 +虏 +虐 +虑 +虔 +處 +虚 +虛 +虜 +虞 +號 +虢 +虧 +虫 +虬 +虱 +虹 +虻 +虽 +虾 +蚀 +蚁 +蚂 +蚊 +蚌 +蚓 +蚕 +蚜 +蚝 +蚣 +蚤 +蚩 +蚪 +蚯 +蚱 +蚵 +蛀 +蛆 +蛇 +蛊 +蛋 +蛎 +蛐 +蛔 +蛙 +蛛 +蛟 +蛤 +蛭 +蛮 +蛰 +蛳 +蛹 +蛻 +蛾 +蜀 +蜂 +蜃 +蜆 +蜇 +蜈 +蜊 +蜍 +蜒 +蜓 +蜕 +蜗 +蜘 +蜚 +蜜 +蜡 +蜢 +蜥 +蜱 +蜴 +蜷 +蜻 +蜿 +蝇 +蝈 +蝉 +蝌 +蝎 +蝕 +蝗 +蝙 +蝟 +蝠 +蝦 +蝨 +蝴 +蝶 +蝸 +蝼 +螂 +螃 +融 +螞 +螢 +螨 +螯 +螳 +螺 +蟀 +蟄 +蟆 +蟋 +蟎 +蟑 +蟒 +蟠 +蟬 +蟲 +蟹 +蟻 +蟾 +蠅 +蠍 +蠔 +蠕 +蠛 +蠟 +蠡 +蠢 +蠣 +蠱 +蠶 +蠹 +蠻 +血 +衄 +衅 +衆 +行 +衍 +術 +衔 +街 +衙 +衛 +衝 +衞 +衡 +衢 +衣 +补 +表 +衩 +衫 +衬 +衮 +衰 +衲 +衷 +衹 +衾 +衿 +袁 +袂 +袄 +袅 +袈 +袋 +袍 +袒 +袖 +袜 +袞 +袤 +袪 +被 +袭 +袱 +裁 +裂 +装 +裆 +裊 +裏 +裔 +裕 +裘 +裙 +補 +裝 +裟 +裡 +裤 +裨 +裱 +裳 +裴 +裸 +裹 +製 +裾 +褂 +複 +褐 +褒 +褓 +褔 +褚 +褥 +褪 +褫 +褲 +褶 +褻 +襁 +襄 +襟 +襠 +襪 +襬 +襯 +襲 +西 +要 +覃 +覆 +覇 +見 +規 +覓 +視 +覚 +覦 +覧 +親 +覬 +観 +覷 +覺 +覽 +觀 +见 +观 +规 +觅 +视 +览 +觉 +觊 +觎 +觐 +觑 +角 +觞 +解 +觥 +触 +觸 +言 +訂 +計 +訊 +討 +訓 +訕 +訖 +託 +記 +訛 +訝 +訟 +訣 +訥 +訪 +設 +許 +訳 +訴 +訶 +診 +註 +証 +詆 +詐 +詔 +評 +詛 +詞 +詠 +詡 +詢 +詣 +試 +詩 +詫 +詬 +詭 +詮 +詰 +話 +該 +詳 +詹 +詼 +誅 +誇 +誉 +誌 +認 +誓 +誕 +誘 +語 +誠 +誡 +誣 +誤 +誥 +誦 +誨 +說 +説 +読 +誰 +課 +誹 +誼 +調 +諄 +談 +請 +諏 +諒 +論 +諗 +諜 +諡 +諦 +諧 +諫 +諭 +諮 +諱 +諳 +諷 +諸 +諺 +諾 +謀 +謁 +謂 +謄 +謊 +謎 +謐 +謔 +謗 +謙 +講 +謝 +謠 +謨 +謬 +謹 +謾 +譁 +證 +譎 +譏 +識 +譙 +譚 +譜 +警 +譬 +譯 +議 +譲 +譴 +護 +譽 +讀 +變 +讓 +讚 +讞 +计 +订 +认 +讥 +讧 +讨 +让 +讪 +讫 +训 +议 +讯 +记 +讲 +讳 +讴 +讶 +讷 +许 +讹 +论 +讼 +讽 +设 +访 +诀 +证 +诃 +评 +诅 +识 +诈 +诉 +诊 +诋 +词 +诏 +译 +试 +诗 +诘 +诙 +诚 +诛 +话 +诞 +诟 +诠 +诡 +询 +诣 +诤 +该 +详 +诧 +诩 +诫 +诬 +语 +误 +诰 +诱 +诲 +说 +诵 +诶 +请 +诸 +诺 +读 +诽 +课 +诿 +谀 +谁 +调 +谄 +谅 +谆 +谈 +谊 +谋 +谌 +谍 +谎 +谏 +谐 +谑 +谒 +谓 +谔 +谕 +谗 +谘 +谙 +谚 +谛 +谜 +谟 +谢 +谣 +谤 +谥 +谦 +谧 +谨 +谩 +谪 +谬 +谭 +谯 +谱 +谲 +谴 +谶 +谷 +豁 +豆 +豇 +豈 +豉 +豊 +豌 +豎 +豐 +豔 +豚 +象 +豢 +豪 +豫 +豬 +豹 +豺 +貂 +貅 +貌 +貓 +貔 +貘 +貝 +貞 +負 +財 +貢 +貧 +貨 +販 +貪 +貫 +責 +貯 +貰 +貳 +貴 +貶 +買 +貸 +費 +貼 +貽 +貿 +賀 +賁 +賂 +賃 +賄 +資 +賈 +賊 +賑 +賓 +賜 +賞 +賠 +賡 +賢 +賣 +賤 +賦 +質 +賬 +賭 +賴 +賺 +購 +賽 +贅 +贈 +贊 +贍 +贏 +贓 +贖 +贛 +贝 +贞 +负 +贡 +财 +责 +贤 +败 +账 +货 +质 +贩 +贪 +贫 +贬 +购 +贮 +贯 +贰 +贱 +贲 +贴 +贵 +贷 +贸 +费 +贺 +贻 +贼 +贾 +贿 +赁 +赂 +赃 +资 +赅 +赈 +赊 +赋 +赌 +赎 +赏 +赐 +赓 +赔 +赖 +赘 +赚 +赛 +赝 +赞 +赠 +赡 +赢 +赣 +赤 +赦 +赧 +赫 +赭 +走 +赳 +赴 +赵 +赶 +起 +趁 +超 +越 +趋 +趕 +趙 +趟 +趣 +趨 +足 +趴 +趵 +趸 +趺 +趾 +跃 +跄 +跆 +跋 +跌 +跎 +跑 +跖 +跚 +跛 +距 +跟 +跡 +跤 +跨 +跩 +跪 +路 +跳 +践 +跷 +跹 +跺 +跻 +踉 +踊 +踌 +踏 +踐 +踝 +踞 +踟 +踢 +踩 +踪 +踮 +踱 +踴 +踵 +踹 +蹂 +蹄 +蹇 +蹈 +蹉 +蹊 +蹋 +蹑 +蹒 +蹙 +蹟 +蹣 +蹤 +蹦 +蹩 +蹬 +蹭 +蹲 +蹴 +蹶 +蹺 +蹼 +蹿 +躁 +躇 +躉 +躊 +躋 +躍 +躏 +躪 +身 +躬 +躯 +躲 +躺 +軀 +車 +軋 +軌 +軍 +軒 +軟 +転 +軸 +軼 +軽 +軾 +較 +載 +輒 +輓 +輔 +輕 +輛 +輝 +輟 +輩 +輪 +輯 +輸 +輻 +輾 +輿 +轄 +轅 +轆 +轉 +轍 +轎 +轟 +车 +轧 +轨 +轩 +转 +轭 +轮 +软 +轰 +轲 +轴 +轶 +轻 +轼 +载 +轿 +较 +辄 +辅 +辆 +辇 +辈 +辉 +辊 +辍 +辐 +辑 +输 +辕 +辖 +辗 +辘 +辙 +辛 +辜 +辞 +辟 +辣 +辦 +辨 +辩 +辫 +辭 +辮 +辯 +辰 +辱 +農 +边 +辺 +辻 +込 +辽 +达 +迁 +迂 +迄 +迅 +过 +迈 +迎 +运 +近 +返 +还 +这 +进 +远 +违 +连 +迟 +迢 +迤 +迥 +迦 +迩 +迪 +迫 +迭 +述 +迴 +迷 +迸 +迹 +迺 +追 +退 +送 +适 +逃 +逅 +逆 +选 +逊 +逍 +透 +逐 +递 +途 +逕 +逗 +這 +通 +逛 +逝 +逞 +速 +造 +逢 +連 +逮 +週 +進 +逵 +逶 +逸 +逻 +逼 +逾 +遁 +遂 +遅 +遇 +遊 +運 +遍 +過 +遏 +遐 +遑 +遒 +道 +達 +違 +遗 +遙 +遛 +遜 +遞 +遠 +遢 +遣 +遥 +遨 +適 +遭 +遮 +遲 +遴 +遵 +遶 +遷 +選 +遺 +遼 +遽 +避 +邀 +邁 +邂 +邃 +還 +邇 +邈 +邊 +邋 +邏 +邑 +邓 +邕 +邛 +邝 +邢 +那 +邦 +邨 +邪 +邬 +邮 +邯 +邰 +邱 +邳 +邵 +邸 +邹 +邺 +邻 +郁 +郅 +郊 +郎 +郑 +郜 +郝 +郡 +郢 +郤 +郦 +郧 +部 +郫 +郭 +郴 +郵 +郷 +郸 +都 +鄂 +鄉 +鄒 +鄔 +鄙 +鄞 +鄢 +鄧 +鄭 +鄰 +鄱 +鄲 +鄺 +酉 +酊 +酋 +酌 +配 +酐 +酒 +酗 +酚 +酝 +酢 +酣 +酥 +酩 +酪 +酬 +酮 +酯 +酰 +酱 +酵 +酶 +酷 +酸 +酿 +醃 +醇 +醉 +醋 +醍 +醐 +醒 +醚 +醛 +醜 +醞 +醣 +醪 +醫 +醬 +醮 +醯 +醴 +醺 +釀 +釁 +采 +釉 +释 +釋 +里 +重 +野 +量 +釐 +金 +釗 +釘 +釜 +針 +釣 +釦 +釧 +釵 +鈀 +鈉 +鈍 +鈎 +鈔 +鈕 +鈞 +鈣 +鈦 +鈪 +鈴 +鈺 +鈾 +鉀 +鉄 +鉅 +鉉 +鉑 +鉗 +鉚 +鉛 +鉤 +鉴 +鉻 +銀 +銃 +銅 +銑 +銓 +銖 +銘 +銜 +銬 +銭 +銮 +銳 +銷 +銹 +鋁 +鋅 +鋒 +鋤 +鋪 +鋰 +鋸 +鋼 +錄 +錐 +錘 +錚 +錠 +錢 +錦 +錨 +錫 +錮 +錯 +録 +錳 +錶 +鍊 +鍋 +鍍 +鍛 +鍥 +鍰 +鍵 +鍺 +鍾 +鎂 +鎊 +鎌 +鎏 +鎔 +鎖 +鎗 +鎚 +鎧 +鎬 +鎮 +鎳 +鏈 +鏖 +鏗 +鏘 +鏞 +鏟 +鏡 +鏢 +鏤 +鏽 +鐘 +鐮 +鐲 +鐳 +鐵 +鐸 +鐺 +鑄 +鑊 +鑑 +鑒 +鑣 +鑫 +鑰 +鑲 +鑼 +鑽 +鑾 +鑿 +针 +钉 +钊 +钎 +钏 +钒 +钓 +钗 +钙 +钛 +钜 +钝 +钞 +钟 +钠 +钡 +钢 +钣 +钤 +钥 +钦 +钧 +钨 +钩 +钮 +钯 +钰 +钱 +钳 +钴 +钵 +钺 +钻 +钼 +钾 +钿 +铀 +铁 +铂 +铃 +铄 +铅 +铆 +铉 +铎 +铐 +铛 +铜 +铝 +铠 +铡 +铢 +铣 +铤 +铨 +铩 +铬 +铭 +铮 +铰 +铲 +铵 +银 +铸 +铺 +链 +铿 +销 +锁 +锂 +锄 +锅 +锆 +锈 +锉 +锋 +锌 +锏 +锐 +锑 +错 +锚 +锟 +锡 +锢 +锣 +锤 +锥 +锦 +锭 +键 +锯 +锰 +锲 +锵 +锹 +锺 +锻 +镀 +镁 +镂 +镇 +镉 +镌 +镍 +镐 +镑 +镕 +镖 +镗 +镛 +镜 +镣 +镭 +镯 +镰 +镳 +镶 +長 +长 +門 +閃 +閉 +開 +閎 +閏 +閑 +閒 +間 +閔 +閘 +閡 +関 +閣 +閥 +閨 +閩 +閱 +閲 +閹 +閻 +閾 +闆 +闇 +闊 +闌 +闍 +闔 +闕 +闖 +闘 +關 +闡 +闢 +门 +闪 +闫 +闭 +问 +闯 +闰 +闲 +间 +闵 +闷 +闸 +闹 +闺 +闻 +闽 +闾 +阀 +阁 +阂 +阅 +阆 +阇 +阈 +阉 +阎 +阐 +阑 +阔 +阕 +阖 +阙 +阚 +阜 +队 +阡 +阪 +阮 +阱 +防 +阳 +阴 +阵 +阶 +阻 +阿 +陀 +陂 +附 +际 +陆 +陇 +陈 +陋 +陌 +降 +限 +陕 +陛 +陝 +陞 +陟 +陡 +院 +陣 +除 +陨 +险 +陪 +陰 +陲 +陳 +陵 +陶 +陷 +陸 +険 +陽 +隅 +隆 +隈 +隊 +隋 +隍 +階 +随 +隐 +隔 +隕 +隘 +隙 +際 +障 +隠 +隣 +隧 +隨 +險 +隱 +隴 +隶 +隸 +隻 +隼 +隽 +难 +雀 +雁 +雄 +雅 +集 +雇 +雉 +雋 +雌 +雍 +雎 +雏 +雑 +雒 +雕 +雖 +雙 +雛 +雜 +雞 +離 +難 +雨 +雪 +雯 +雰 +雲 +雳 +零 +雷 +雹 +電 +雾 +需 +霁 +霄 +霆 +震 +霈 +霉 +霊 +霍 +霎 +霏 +霑 +霓 +霖 +霜 +霞 +霧 +霭 +霰 +露 +霸 +霹 +霽 +霾 +靂 +靄 +靈 +青 +靓 +靖 +静 +靚 +靛 +靜 +非 +靠 +靡 +面 +靥 +靦 +革 +靳 +靴 +靶 +靼 +鞅 +鞋 +鞍 +鞏 +鞑 +鞘 +鞠 +鞣 +鞦 +鞭 +韆 +韋 +韌 +韓 +韜 +韦 +韧 +韩 +韬 +韭 +音 +韵 +韶 +韻 +響 +頁 +頂 +頃 +項 +順 +須 +頌 +預 +頑 +頒 +頓 +頗 +領 +頜 +頡 +頤 +頫 +頭 +頰 +頷 +頸 +頹 +頻 +頼 +顆 +題 +額 +顎 +顏 +顔 +願 +顛 +類 +顧 +顫 +顯 +顱 +顴 +页 +顶 +顷 +项 +顺 +须 +顼 +顽 +顾 +顿 +颁 +颂 +预 +颅 +领 +颇 +颈 +颉 +颊 +颌 +颍 +颐 +频 +颓 +颔 +颖 +颗 +题 +颚 +颛 +颜 +额 +颞 +颠 +颡 +颢 +颤 +颦 +颧 +風 +颯 +颱 +颳 +颶 +颼 +飄 +飆 +风 +飒 +飓 +飕 +飘 +飙 +飚 +飛 +飞 +食 +飢 +飨 +飩 +飪 +飯 +飲 +飼 +飽 +飾 +餃 +餅 +餉 +養 +餌 +餐 +餒 +餓 +餘 +餚 +餛 +餞 +餡 +館 +餮 +餵 +餾 +饅 +饈 +饋 +饌 +饍 +饑 +饒 +饕 +饗 +饞 +饥 +饨 +饪 +饬 +饭 +饮 +饯 +饰 +饱 +饲 +饴 +饵 +饶 +饷 +饺 +饼 +饽 +饿 +馀 +馁 +馄 +馅 +馆 +馈 +馋 +馍 +馏 +馒 +馔 +首 +馗 +香 +馥 +馨 +馬 +馭 +馮 +馳 +馴 +駁 +駄 +駅 +駆 +駐 +駒 +駕 +駛 +駝 +駭 +駱 +駿 +騁 +騎 +騏 +験 +騙 +騨 +騰 +騷 +驀 +驅 +驊 +驍 +驒 +驕 +驗 +驚 +驛 +驟 +驢 +驥 +马 +驭 +驮 +驯 +驰 +驱 +驳 +驴 +驶 +驷 +驸 +驹 +驻 +驼 +驾 +驿 +骁 +骂 +骄 +骅 +骆 +骇 +骈 +骊 +骋 +验 +骏 +骐 +骑 +骗 +骚 +骛 +骜 +骞 +骠 +骡 +骤 +骥 +骧 +骨 +骯 +骰 +骶 +骷 +骸 +骼 +髂 +髅 +髋 +髏 +髒 +髓 +體 +髖 +高 +髦 +髪 +髮 +髯 +髻 +鬃 +鬆 +鬍 +鬓 +鬚 +鬟 +鬢 +鬣 +鬥 +鬧 +鬱 +鬼 +魁 +魂 +魄 +魅 +魇 +魍 +魏 +魔 +魘 +魚 +魯 +魷 +鮑 +鮨 +鮪 +鮭 +鮮 +鯉 +鯊 +鯖 +鯛 +鯨 +鯰 +鯽 +鰍 +鰓 +鰭 +鰲 +鰻 +鰾 +鱈 +鱉 +鱔 +鱗 +鱷 +鱸 +鱼 +鱿 +鲁 +鲈 +鲍 +鲑 +鲛 +鲜 +鲟 +鲢 +鲤 +鲨 +鲫 +鲱 +鲲 +鲶 +鲷 +鲸 +鳃 +鳄 +鳅 +鳌 +鳍 +鳕 +鳖 +鳗 +鳝 +鳞 +鳥 +鳩 +鳳 +鳴 +鳶 +鴉 +鴕 +鴛 +鴦 +鴨 +鴻 +鴿 +鵑 +鵜 +鵝 +鵡 +鵬 +鵰 +鵲 +鶘 +鶩 +鶯 +鶴 +鷗 +鷲 +鷹 +鷺 +鸚 +鸞 +鸟 +鸠 +鸡 +鸢 +鸣 +鸥 +鸦 +鸨 +鸪 +鸭 +鸯 +鸳 +鸵 +鸽 +鸾 +鸿 +鹂 +鹃 +鹄 +鹅 +鹈 +鹉 +鹊 +鹌 +鹏 +鹑 +鹕 +鹘 +鹜 +鹞 +鹤 +鹦 +鹧 +鹫 +鹭 +鹰 +鹳 +鹵 +鹹 +鹼 +鹽 +鹿 +麂 +麋 +麒 +麓 +麗 +麝 +麟 +麥 +麦 +麩 +麴 +麵 +麸 +麺 +麻 +麼 +麽 +麾 +黃 +黄 +黍 +黎 +黏 +黑 +黒 +黔 +默 +黛 +黜 +黝 +點 +黠 +黨 +黯 +黴 +鼋 +鼎 +鼐 +鼓 +鼠 +鼬 +鼹 +鼻 +鼾 +齁 +齊 +齋 +齐 +齒 +齡 +齢 +齣 +齦 +齿 +龄 +龅 +龈 +龊 +龋 +龌 +龍 +龐 +龔 +龕 +龙 +龚 +龛 +龜 +龟 +︰ +︱ +︶ +︿ +﹁ +﹂ +﹍ +﹏ +﹐ +﹑ +﹒ +﹔ +﹕ +﹖ +﹗ +﹙ +﹚ +﹝ +﹞ +﹡ +﹣ +! +" +# +$ +% +& +' +( +) +* ++ +, +- +. +/ +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +: +; +< += +> +? +@ +[ +\ +] +^ +_ +` +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x +y +z +{ +| +} +~ +。 +「 +」 +、 +・ +ッ +ー +イ +ク +シ +ス +ト +ノ +フ +ラ +ル +ン +゙ +゚ + ̄ +¥ +👍 +🔥 +😂 +😎 +... +yam +10 +2017 +12 +11 +2016 +20 +30 +15 +06 +lofter +##s +2015 +by +16 +14 +18 +13 +24 +17 +2014 +21 +##0 +22 +19 +25 +23 +com +100 +00 +05 +2013 +##a +03 +09 +08 +28 +##2 +50 +01 +04 +##1 +27 +02 +2012 +##3 +26 +##e +07 +##8 +##5 +##6 +##4 +##9 +##7 +29 +2011 +40 +##t +2010 +##o +##d +##i +2009 +##n +app +www +the +##m +31 +##c +##l +##y +##r +##g +2008 +60 +http +200 +qq +##p +80 +##f +google +pixnet +90 +cookies +tripadvisor +500 +##er +##k +35 +##h +facebook +2007 +2000 +70 +##b +of +##x +##u +45 +300 +iphone +32 +1000 +2006 +48 +ip +36 +in +38 +3d +##w +##ing +55 +ctrip +##on +##v +33 +##の +to +34 +400 +id +2005 +it +37 +windows +llc +top +99 +42 +39 +000 +led +at +##an +41 +51 +52 +46 +49 +43 +53 +44 +##z +android +58 +and +59 +2004 +56 +vr +##か +5000 +2003 +47 +blogthis +twitter +54 +##le +150 +ok +2018 +57 +75 +cn +no +ios +##in +##mm +##00 +800 +on +te +3000 +65 +2001 +360 +95 +ig +lv +120 +##ng +##を +##us +##に +pc +てす +── +600 +##te +85 +2002 +88 +##ed +html +ncc +wifi +email +64 +blog +is +##10 +##て +mail +online +##al +dvd +##ic +studio +##は +##℃ +##ia +##と +line +vip +72 +##q +98 +##ce +##en +for +##is +##ra +##es +##j +usb +net +cp +1999 +asia +4g +##cm +diy +new +3c +##お +ta +66 +language +vs +apple +tw +86 +web +##ne +ipad +62 +you +##re +101 +68 +##tion +ps +de +bt +pony +atm +##2017 +1998 +67 +##ch +ceo +##or +go +##na +av +pro +cafe +96 +pinterest +97 +63 +pixstyleme3c +##ta +more +said +##2016 +1997 +mp3 +700 +##ll +nba +jun +##20 +92 +tv +1995 +pm +61 +76 +nbsp +250 +##ie +linux +##ma +cd +110 +hd +##17 +78 +##ion +77 +6000 +am +##th +##st +94 +##se +##et +69 +180 +gdp +my +105 +81 +abc +89 +flash +79 +one +93 +1990 +1996 +##ck +gps +##も +##ly +web885 +106 +2020 +91 +##ge +4000 +1500 +xd +boss +isbn +1994 +org +##ry +me +love +##11 +0fork +73 +##12 +3g +##ter +##ar +71 +82 +##la +hotel +130 +1970 +pk +83 +87 +140 +ie +##os +##30 +##el +74 +##50 +seo +cpu +##ml +p2p +84 +may +##る +sun +tue +internet +cc +posted +youtube +##at +##ン +##man +ii +##ル +##15 +abs +nt +pdf +yahoo +ago +1980 +##it +news +mac +104 +##てす +##me +##り +java +1992 +spa +##de +##nt +hk +all +plus +la +1993 +##mb +##16 +##ve +west +##da +160 +air +##い +##ps +から +##to +1989 +logo +htc +php +https +fi +momo +##son +sat +##ke +##80 +ebd +suv +wi +day +apk +##88 +##um +mv +galaxy +wiki +or +brake +##ス +1200 +する +this +1991 +mon +##こ +❤2017 +po +##ない +javascript +life +home +june +##ss +system +900 +##ー +##0 +pp +1988 +world +fb +4k +br +##as +ic +ai +leonardo +safari +##60 +live +free +xx +wed +win7 +kiehl +##co +lg +o2o +##go +us +235 +1949 +mm +しい +vfm +kanye +##90 +##2015 +##id +jr +##ey +123 +rss +##sa +##ro +##am +##no +thu +fri +350 +##sh +##ki +103 +comments +name +##のて +##pe +##ine +max +1987 +8000 +uber +##mi +##ton +wordpress +office +1986 +1985 +##ment +107 +bd +win10 +##ld +##li +gmail +bb +dior +##rs +##ri +##rd +##ます +up +cad +##® +dr +して +read +##21 +をお +##io +##99 +url +1984 +pvc +paypal +show +policy +##40 +##ty +##18 +with +##★ +##01 +txt +102 +##ba +dna +from +post +mini +ar +taiwan +john +##ga +privacy +agoda +##13 +##ny +word +##24 +##22 +##by +##ur +##hz +1982 +##ang +265 +cookie +netscape +108 +##ka +##~ +##ad +house +share +note +ibm +code +hello +nike +sim +survey +##016 +1979 +1950 +wikia +##32 +##017 +5g +cbc +##tor +##kg +1983 +##rt +##14 +campaign +store +2500 +os +##ct +##ts +##° +170 +api +##ns +365 +excel +##な +##ao +##ら +##し +~~ +##nd +university +163 +には +518 +##70 +##ya +##il +##25 +pierre +ipo +0020 +897 +##23 +hotels +##ian +のお +125 +years +6606 +##ers +##26 +high +##day +time +##ay +bug +##line +##く +##す +##be +xp +talk2yam +yamservice +10000 +coco +##dy +sony +##ies +1978 +microsoft +david +people +##ha +1960 +instagram +intel +その +##ot +iso +1981 +##va +115 +##mo +##land +xxx +man +co +ltxsw +##ation +baby +220 +##pa +##ol +1945 +7000 +tag +450 +##ue +msn +##31 +oppo +##ト +##ca +control +##om +st +chrome +##ure +##ん +be +##き +lol +##19 +した +##bo +240 +lady +##100 +##way +##から +4600 +##ko +##do +##un +4s +corporation +168 +##ni +herme +##28 +cp +978 +##up +##06 +ui +##ds +ppt +admin +three +します +bbc +re +128 +##48 +ca +##015 +##35 +hp +##ee +tpp +##た +##ive +×× +root +##cc +##ました +##ble +##ity +adobe +park +114 +et +oled +city +##ex +##ler +##ap +china +##book +20000 +view +##ice +global +##km +your +hong +##mg +out +##ms +ng +ebay +##29 +menu +ubuntu +##cy +rom +##view +open +ktv +do +server +##lo +if +english +##ね +##5 +##oo +1600 +##02 +step1 +kong +club +135 +july +inc +1976 +mr +hi +##net +touch +##ls +##ii +michael +lcd +##05 +##33 +phone +james +step2 +1300 +ios9 +##box +dc +##2 +##ley +samsung +111 +280 +pokemon +css +##ent +##les +いいえ +##1 +s8 +atom +play +bmw +##said +sa +etf +ctrl +♥yoyo♥ +##55 +2025 +##2014 +##66 +adidas +amazon +1958 +##ber +##ner +visa +##77 +##der +1800 +connectivity +##hi +firefox +109 +118 +hr +so +style +mark +pop +ol +skip +1975 +as +##27 +##ir +##61 +190 +mba +##う +##ai +le +##ver +1900 +cafe2017 +lte +super +113 +129 +##ron +amd +like +##☆ +are +##ster +we +##sk +paul +data +international +##ft +longchamp +ssd +good +##ート +##ti +reply +##my +↓↓↓ +apr +star +##ker +source +136 +js +112 +get +force +photo +##one +126 +##2013 +##ow +link +bbs +1972 +goods +##lin +python +119 +##ip +game +##ics +##ません +blue +##● +520 +##45 +page +itunes +##03 +1955 +260 +1968 +gt +gif +618 +##ff +##47 +group +くたさい +about +bar +ganji +##nce +music +lee +not +1977 +1971 +1973 +##per +an +faq +comment +##って +days +##ock +116 +##bs +1974 +1969 +v1 +player +1956 +xbox +sql +fm +f1 +139 +##ah +210 +##lv +##mp +##000 +melody +1957 +##3 +550 +17life +199 +1966 +xml +market +##au +##71 +999 +##04 +what +gl +##95 +##age +tips +##68 +book +##ting +mysql +can +1959 +230 +##ung +wonderland +watch +10℃ +##ction +9000 +mar +mobile +1946 +1962 +article +##db +part +▲top +party +って +1967 +1964 +1948 +##07 +##ore +##op +この +dj +##78 +##38 +010 +main +225 +1965 +##ong +art +320 +ad +134 +020 +##73 +117 +pm2 +japan +228 +##08 +ts +1963 +##ica +der +sm +##36 +2019 +##wa +ct +##7 +##や +##64 +1937 +homemesh +search +##85 +##れは +##tv +##di +macbook +##9 +##くたさい +service +##♥ +type +った +750 +##ier +##si +##75 +##います +##ok +best +##ット +goris +lock +##った +cf +3m +big +##ut +ftp +carol +##vi +10 +1961 +happy +sd +##ac +122 +anti +pe +cnn +iii +1920 +138 +##ラ +1940 +esp +jan +tags +##98 +##51 +august +vol +##86 +154 +##™ +##fs +##れ +##sion +design +ac +##ム +press +jordan +ppp +that +key +check +##6 +##tt +##㎡ +1080p +##lt +power +##42 +1952 +##bc +vivi +##ック +he +133 +121 +jpg +##rry +201 +175 +3500 +1947 +nb +##ted +##rn +しています +1954 +usd +##t00 +master +##ンク +001 +model +##58 +al +##09 +1953 +##34 +ram +goo +ても +##ui +127 +1930 +red +##ary +rpg +item +##pm +##41 +270 +##za +project +##2012 +hot +td +blogabstract +##ger +##62 +650 +##44 +gr2 +##します +##m +black +electronic +nfc +year +asus +また +html5 +cindy +##hd +m3 +132 +esc +##od +booking +##53 +fed +tvb +##81 +##ina +mit +165 +##いる +chan +192 +distribution +next +になる +peter +bios +steam +cm +1941 +にも +pk10 +##ix +##65 +##91 +dec +nasa +##ana +icecat +00z +b1 +will +##46 +li +se +##ji +##み +##ard +oct +##ain +jp +##ze +##bi +cio +##56 +smart +h5 +##39 +##port +curve +vpn +##nm +##dia +utc +##あり +12345678910 +##52 +rmvb +chanel +a4 +miss +##and +##im +media +who +##63 +she +girl +5s +124 +vera +##して +class +vivo +king +##フ +##ei +national +ab +1951 +5cm +888 +145 +ipod +ap +1100 +5mm +211 +ms +2756 +##69 +mp4 +msci +##po +##89 +131 +mg +index +380 +##bit +##out +##zz +##97 +##67 +158 +apec +##8 +photoshop +opec +¥799 +ては +##96 +##tes +##ast +2g +○○ +##ール +¥2899 +##ling +##よ +##ory +1938 +##ical +kitty +content +##43 +step3 +##cn +win8 +155 +vc +1400 +iphone7 +robert +##した +tcl +137 +beauty +##87 +en +dollars +##ys +##oc +step +pay +yy +a1 +##2011 +##lly +##ks +##♪ +1939 +188 +download +1944 +sep +exe +ph +います +school +gb +center +pr +street +##board +uv +##37 +##lan +winrar +##que +##ua +##com +1942 +1936 +480 +gpu +##4 +ettoday +fu +tom +##54 +##ren +##via +149 +##72 +b2b +144 +##79 +##tch +rose +arm +mb +##49 +##ial +##nn +nvidia +step4 +mvp +00㎡ +york +156 +##イ +how +cpi +591 +2765 +gov +kg +joe +##xx +mandy +pa +##ser +copyright +fashion +1935 +don +##け +ecu +##ist +##art +erp +wap +have +##lm +talk +##ek +##ning +##if +ch +##ite +video +1943 +cs +san +iot +look +##84 +##2010 +##ku +october +##ux +trump +##hs +##ide +box +141 +first +##ins +april +##ight +##83 +185 +angel +protected +aa +151 +162 +x1 +m2 +##fe +##× +##ho +size +143 +min +ofo +fun +gomaji +ex +hdmi +food +dns +march +chris +kevin +##のか +##lla +##pp +##ec +ag +ems +6s +720p +##rm +##ham +off +##92 +asp +team +fandom +ed +299 +▌♥ +##ell +info +されています +##82 +sina +4066 +161 +##able +##ctor +330 +399 +315 +dll +rights +ltd +idc +jul +3kg +1927 +142 +ma +surface +##76 +##ク +~~~ +304 +mall +eps +146 +green +##59 +map +space +donald +v2 +sodu +##light +1931 +148 +1700 +まて +310 +reserved +htm +##han +##57 +2d +178 +mod +##ise +##tions +152 +ti +##shi +doc +1933 +icp +055 +wang +##ram +shopping +aug +##pi +##well +now +wam +b2 +からお +##hu +236 +1928 +##gb +266 +f2 +##93 +153 +mix +##ef +##uan +bwl +##plus +##res +core +##ess +tea +5℃ +hktvmall +nhk +##ate +list +##ese +301 +feb +4m +inn +ての +nov +159 +12345 +daniel +##ci +pass +##bet +##nk +coffee +202 +ssl +airbnb +##ute +fbi +woshipm +skype +ea +cg +sp +##fc +##www +yes +edge +alt +007 +##94 +fpga +##ght +##gs +iso9001 +さい +##ile +##wood +##uo +image +lin +icon +american +##em +1932 +set +says +##king +##tive +blogger +##74 +なと +256 +147 +##ox +##zy +##red +##ium +##lf +nokia +claire +##リ +##ding +november +lohas +##500 +##tic +##マ +##cs +##ある +##che +##ire +##gy +##ult +db +january +win +##カ +166 +road +ptt +##ま +##つ +198 +##fa +##mer +anna +pchome +はい +udn +ef +420 +##time +##tte +2030 +##ア +g20 +white +かかります +1929 +308 +garden +eleven +di +##おります +chen +309b +777 +172 +young +cosplay +ちてない +4500 +bat +##123 +##tra +##ては +kindle +npc +steve +etc +##ern +##| +call +xperia +ces +travel +sk +s7 +##ous +1934 +##int +みいたたけます +183 +edu +file +cho +qr +##car +##our +186 +##ant +##d +eric +1914 +rends +##jo +##する +mastercard +##2000 +kb +##min +290 +##ino +vista +##ris +##ud +jack +2400 +##set +169 +pos +1912 +##her +##ou +taipei +しく +205 +beta +##ませんか +232 +##fi +express +255 +body +##ill +aphojoy +user +december +meiki +##ick +tweet +richard +##av +##ᆫ +iphone6 +##dd +ちてすか +views +##mark +321 +pd +##00 +times +##▲ +level +##ash +10g +point +5l +##ome +208 +koreanmall +##ak +george +q2 +206 +wma +tcp +##200 +スタッフ +full +mlb +##lle +##watch +tm +run +179 +911 +smith +business +##und +1919 +color +##tal +222 +171 +##less +moon +4399 +##rl +update +pcb +shop +499 +157 +little +なし +end +##mhz +van +dsp +easy +660 +##house +##key +history +##o +oh +##001 +##hy +##web +oem +let +was +##2009 +##gg +review +##wan +182 +##°c +203 +uc +title +##val +united +233 +2021 +##ons +doi +trivago +overdope +sbs +##ance +##ち +grand +special +573032185 +imf +216 +wx17house +##so +##ーム +audi +##he +london +william +##rp +##ake +science +beach +cfa +amp +ps4 +880 +##800 +##link +##hp +crm +ferragamo +bell +make +##eng +195 +under +zh +photos +2300 +##style +##ント +via +176 +da +##gi +company +i7 +##ray +thomas +370 +ufo +i5 +##max +plc +ben +back +research +8g +173 +mike +##pc +##ッフ +september +189 +##ace +vps +february +167 +pantos +wp +lisa +1921 +★★ +jquery +night +long +offer +##berg +##news +1911 +##いて +ray +fks +wto +せます +over +164 +340 +##all +##rus +1924 +##888 +##works +blogtitle +loftpermalink +##→ +187 +martin +test +ling +km +##め +15000 +fda +v3 +##ja +##ロ +wedding +かある +outlet +family +##ea +をこ +##top +story +##ness +salvatore +##lu +204 +swift +215 +room +している +oracle +##ul +1925 +sam +b2c +week +pi +rock +##のは +##a +##けと +##ean +##300 +##gle +cctv +after +chinese +##back +powered +x2 +##tan +1918 +##nes +##イン +canon +only +181 +##zi +##las +say +##oe +184 +##sd +221 +##bot +##world +##zo +sky +made +top100 +just +1926 +pmi +802 +234 +gap +##vr +177 +les +174 +▲topoct +ball +vogue +vi +ing +ofweek +cos +##list +##ort +▲topmay +##なら +##lon +として +last +##tc +##of +##bus +##gen +real +eva +##コ +a3 +nas +##lie +##ria +##coin +##bt +▲topapr +his +212 +cat +nata +vive +health +⋯⋯ +drive +sir +▲topmar +du +cup +##カー +##ook +##よう +##sy +alex +msg +tour +しました +3ce +##word +193 +ebooks +r8 +block +318 +##より +2200 +nice +pvp +207 +months +1905 +rewards +##ther +1917 +0800 +##xi +##チ +##sc +micro +850 +gg +blogfp +op +1922 +daily +m1 +264 +true +##bb +ml +##tar +##のお +##ky +anthony +196 +253 +##yo +state +218 +##ara +##aa +##rc +##tz +##ston +より +gear +##eo +##ade +ge +see +1923 +##win +##ura +ss +heart +##den +##ita +down +##sm +el +png +2100 +610 +rakuten +whatsapp +bay +dream +add +##use +680 +311 +pad +gucci +mpv +##ode +##fo +island +▲topjun +##▼ +223 +jason +214 +chicago +##❤ +しの +##hone +io +##れる +##ことか +sogo +be2 +##ology +990 +cloud +vcd +##con +2~3 +##ford +##joy +##kb +##こさいます +##rade +but +##ach +docker +##ful +rfid +ul +##ase +hit +ford +##star +580 +##○ +11 +a2 +sdk +reading +edited +##are +cmos +##mc +238 +siri +light +##ella +##ため +bloomberg +##read +pizza +##ison +jimmy +##vm +college +node +journal +ba +18k +##play +245 +##cer +20 +magic +##yu +191 +jump +288 +tt +##ings +asr +##lia +3200 +step5 +network +##cd +mc +いします +1234 +pixstyleme +273 +##600 +2800 +money +★★★★★ +1280 +12 +430 +bl +みの +act +##tus +tokyo +##rial +##life +emba +##ae +saas +tcs +##rk +##wang +summer +##sp +ko +##ving +390 +premium +##その +netflix +##ヒ +uk +mt +##lton +right +frank +two +209 +える +##ple +##cal +021 +##んな +##sen +##ville +hold +nexus +dd +##ius +てお +##mah +##なく +tila +zero +820 +ce +##tin +resort +##ws +charles +old +p10 +5d +report +##360 +##ru +##には +bus +vans +lt +##est +pv +##レ +links +rebecca +##ツ +##dm +azure +##365 +きな +limited +bit +4gb +##mon +1910 +moto +##eam +213 +1913 +var +eos +なとの +226 +blogspot +された +699 +e3 +dos +dm +fc +##ments +##ik +##kw +boy +##bin +##ata +960 +er +##せ +219 +##vin +##tu +##ula +194 +##∥ +station +##ろ +##ature +835 +files +zara +hdr +top10 +nature +950 +magazine +s6 +marriott +##シ +avira +case +##っと +tab +##ran +tony +##home +oculus +im +##ral +jean +saint +cry +307 +rosie +##force +##ini +ice +##bert +のある +##nder +##mber +pet +2600 +##◆ +plurk +▲topdec +##sis +00kg +▲topnov +720 +##ence +tim +##ω +##nc +##ても +##name +log +ips +great +ikea +malaysia +unix +##イト +3600 +##ncy +##nie +12000 +akb48 +##ye +##oid +404 +##chi +##いた +oa +xuehai +##1000 +##orm +##rf +275 +さん +##ware +##リー +980 +ho +##pro +text +##era +560 +bob +227 +##ub +##2008 +8891 +scp +avi +##zen +2022 +mi +wu +museum +qvod +apache +lake +jcb +▲topaug +★★★ +ni +##hr +hill +302 +ne +weibo +490 +ruby +##ーシ +##ヶ +##row +4d +▲topjul +iv +##ish +github +306 +mate +312 +##スト +##lot +##ane +andrew +のハイト +##tina +t1 +rf +ed2k +##vel +##900 +way +final +りの +ns +5a +705 +197 +##メ +sweet +bytes +##ene +▲topjan +231 +##cker +##2007 +##px +100g +topapp +229 +helpapp +rs +low +14k +g4g +care +630 +ldquo +あり +##fork +leave +rm +edition +##gan +##zon +##qq +▲topsep +##google +##ism +gold +224 +explorer +##zer +toyota +category +select +visual +##labels +restaurant +##md +posts +s1 +##ico +もっと +angelababy +123456 +217 +sports +s3 +mbc +1915 +してくたさい +shell +x86 +candy +##new +kbs +face +xl +470 +##here +4a +swissinfo +v8 +▲topfeb +dram +##ual +##vice +3a +##wer +sport +q1 +ios10 +public +int +card +##c +ep +au +rt +##れた +1080 +bill +##mll +kim +30 +460 +wan +##uk +##ミ +x3 +298 +0t +scott +##ming +239 +e5 +##3d +h7n9 +worldcat +brown +##あります +##vo +##led +##580 +##ax +249 +410 +##ert +paris +##~6 +polo +925 +##lr +599 +##ナ +capital +##hing +bank +cv +1g +##chat +##s +##たい +adc +##ule +2m +##e +digital +hotmail +268 +##pad +870 +bbq +quot +##ring +before +wali +##まて +mcu +2k +2b +という +costco +316 +north +333 +switch +##city +##p +philips +##mann +management +panasonic +##cl +##vd +##ping +##rge +alice +##lk +##ましょう +css3 +##ney +vision +alpha +##ular +##400 +##tter +lz +にお +##ありません +mode +gre +1916 +pci +##tm +237 +1~2 +##yan +##そ +について +##let +##キ +work +war +coach +ah +mary +##ᅵ +huang +##pt +a8 +pt +follow +##berry +1895 +##ew +a5 +ghost +##ション +##wn +##og +south +##code +girls +##rid +action +villa +git +r11 +table +games +##cket +error +##anonymoussaid +##ag +here +##ame +##gc +qa +##■ +##lis +gmp +##gin +vmalife +##cher +yu +wedding +##tis +demo +dragon +530 +soho +social +bye +##rant +river +orz +acer +325 +##↑ +##ース +##ats +261 +del +##ven +440 +ups +##ように +##ター +305 +value +macd +yougou +##dn +661 +##ano +ll +##urt +##rent +continue +script +##wen +##ect +paper +263 +319 +shift +##chel +##フト +##cat +258 +x5 +fox +243 +##さん +car +aaa +##blog +loading +##yn +##tp +kuso +799 +si +sns +イカせるテンマ +ヒンクテンマ3 +rmb +vdc +forest +central +prime +help +ultra +##rmb +##ような +241 +square +688 +##しい +のないフロクに +##field +##reen +##ors +##ju +c1 +start +510 +##air +##map +cdn +##wo +cba +stephen +m8 +100km +##get +opera +##base +##ood +vsa +com™ +##aw +##ail +251 +なのて +count +t2 +##ᅡ +##een +2700 +hop +##gp +vsc +tree +##eg +##ose +816 +285 +##ories +##shop +alphago +v4 +1909 +simon +##ᆼ +fluke62max +zip +スホンサー +##sta +louis +cr +bas +##~10 +bc +##yer +hadoop +##ube +##wi +1906 +0755 +hola +##low +place +centre +5v +d3 +##fer +252 +##750 +##media +281 +540 +0l +exchange +262 +series +##ハー +##san +eb +##bank +##k +q3 +##nge +##mail +take +##lp +259 +1888 +client +east +cache +event +vincent +##ールを +きを +##nse +sui +855 +adchoice +##и +##stry +##なたの +246 +##zone +ga +apps +sea +##ab +248 +cisco +##タ +##rner +kymco +##care +dha +##pu +##yi +minkoff +royal +p1 +への +annie +269 +collection +kpi +playstation +257 +になります +866 +bh +##bar +queen +505 +radio +1904 +andy +armani +##xy +manager +iherb +##ery +##share +spring +raid +johnson +1908 +##ob +volvo +hall +##ball +v6 +our +taylor +##hk +bi +242 +##cp +kate +bo +water +technology +##rie +サイトは +277 +##ona +##sl +hpv +303 +gtx +hip +rdquo +jayz +stone +##lex +##rum +namespace +##やり +620 +##ale +##atic +des +##erson +##ql +##ves +##type +enter +##この +##てきます +d2 +##168 +##mix +##bian +との +a9 +jj +ky +##lc +access +movie +##hc +リストに +tower +##ration +##mit +ます +##nch +ua +tel +prefix +##o2 +1907 +##point +1901 +ott +~10 +##http +##ury +baidu +##ink +member +##logy +bigbang +nownews +##js +##shot +##tb +##こと +247 +eba +##tics +##lus +ける +v5 +spark +##ama +there +##ions +god +##lls +##down +hiv +##ress +burberry +day2 +##kv +◆◆ +jeff +related +film +edit +joseph +283 +##ark +cx +32gb +order +g9 +30000 +##ans +##tty +s5 +##bee +かあります +thread +xr +buy +sh +005 +land +spotify +mx +##ari +276 +##verse +×email +sf +why +##ことて +244 +7headlines +nego +sunny +dom +exo +401 +666 +positioning +fit +rgb +##tton +278 +kiss +alexa +adam +lp +みリストを +##g +mp +##ties +##llow +amy +##du +np +002 +institute +271 +##rth +##lar +2345 +590 +##des +sidebar +15 +imax +site +##cky +##kit +##ime +##009 +season +323 +##fun +##ンター +##ひ +gogoro +a7 +pu +lily +fire +twd600 +##ッセーシを +いて +##vis +30ml +##cture +##をお +information +##オ +close +friday +##くれる +yi +nick +てすか +##tta +##tel +6500 +##lock +cbd +economy +254 +かお +267 +tinker +double +375 +8gb +voice +##app +oops +channel +today +985 +##right +raw +xyz +##+ +jim +edm +##cent +7500 +supreme +814 +ds +##its +##asia +dropbox +##てすか +##tti +books +272 +100ml +##tle +##ller +##ken +##more +##boy +sex +309 +##dom +t3 +##ider +##なります +##unch +1903 +810 +feel +5500 +##かった +##put +により +s2 +mo +##gh +men +ka +amoled +div +##tr +##n1 +port +howard +##tags +ken +dnf +##nus +adsense +##а +ide +##へ +buff +thunder +##town +##ique +has +##body +auto +pin +##erry +tee +てした +295 +number +##the +##013 +object +psp +cool +udnbkk +16gb +##mic +miui +##tro +most +r2 +##alk +##nity +1880 +±0 +##いました +428 +s4 +law +version +##oa +n1 +sgs +docomo +##tf +##ack +henry +fc2 +##ded +##sco +##014 +##rite +286 +0mm +linkedin +##ada +##now +wii +##ndy +ucbug +##◎ +sputniknews +legalminer +##ika +##xp +2gb +##bu +q10 +oo +b6 +come +##rman +cheese +ming +maker +##gm +nikon +##fig +ppi +kelly +##ります +jchere +てきます +ted +md +003 +fgo +tech +##tto +dan +soc +##gl +##len +hair +earth +640 +521 +img +##pper +##a1 +##てきる +##ロク +acca +##ition +##ference +suite +##ig +outlook +##mond +##cation +398 +##pr +279 +101vip +358 +##999 +282 +64gb +3800 +345 +airport +##over +284 +##おり +jones +##ith +lab +##su +##いるのて +co2 +town +piece +##llo +no1 +vmware +24h +##qi +focus +reader +##admin +##ora +tb +false +##log +1898 +know +lan +838 +##ces +f4 +##ume +motel +stop +##oper +na +flickr +netcomponents +##af +##─ +pose +williams +local +##ound +##cg +##site +##iko +いお +274 +5m +gsm +con +##ath +1902 +friends +##hip +cell +317 +##rey +780 +cream +##cks +012 +##dp +facebooktwitterpinterestgoogle +sso +324 +shtml +song +swiss +##mw +##キンク +lumia +xdd +string +tiffany +522 +marc +られた +insee +russell +sc +dell +##ations +ok +camera +289 +##vs +##flow +##late +classic +287 +##nter +stay +g1 +mtv +512 +##ever +##lab +##nger +qe +sata +ryan +d1 +50ml +cms +##cing +su +292 +3300 +editor +296 +##nap +security +sunday +association +##ens +##700 +##bra +acg +##かり +sofascore +とは +mkv +##ign +jonathan +gary +build +labels +##oto +tesla +moba +qi +gohappy +general +ajax +1024 +##かる +サイト +society +##test +##urs +wps +fedora +##ich +mozilla +328 +##480 +##dr +usa +urn +##lina +##r +grace +##die +##try +##ader +1250 +##なり +elle +570 +##chen +##ᆯ +price +##ten +uhz +##ough +eq +##hen +states +push +session +balance +wow +506 +##cus +##py +when +##ward +##ep +34e +wong +library +prada +##サイト +##cle +running +##ree +313 +ck +date +q4 +##ctive +##ool +##> +mk +##ira +##163 +388 +die +secret +rq +dota +buffet +は1ヶ +e6 +##ez +pan +368 +ha +##card +##cha +2a +##さ +alan +day3 +eye +f3 +##end +france +keep +adi +rna +tvbs +##ala +solo +nova +##え +##tail +##ょう +support +##ries +##なる +##ved +base +copy +iis +fps +##ways +hero +hgih +profile +fish +mu +ssh +entertainment +chang +##wd +click +cake +##ond +pre +##tom +kic +pixel +##ov +##fl +product +6a +##pd +dear +##gate +es +yumi +audio +##² +##sky +echo +bin +where +##ture +329 +##ape +find +sap +isis +##なと +nand +##101 +##load +##ream +band +a6 +525 +never +##post +festival +50cm +##we +555 +guide +314 +zenfone +##ike +335 +gd +forum +jessica +strong +alexander +##ould +software +allen +##ious +program +360° +else +lohasthree +##gar +することかてきます +please +##れます +rc +##ggle +##ric +bim +50000 +##own +eclipse +355 +brian +3ds +##side +061 +361 +##other +##ける +##tech +##ator +485 +engine +##ged +##t +plaza +##fit +cia +ngo +westbrook +shi +tbs +50mm +##みませんか +sci +291 +reuters +##ily +contextlink +##hn +af +##cil +bridge +very +##cel +1890 +cambridge +##ize +15g +##aid +##data +790 +frm +##head +award +butler +##sun +meta +##mar +america +ps3 +puma +pmid +##すか +lc +670 +kitchen +##lic +オーフン5 +きなしソフトサーヒス +そして +day1 +future +★★★★ +##text +##page +##rris +pm1 +##ket +fans +##っています +1001 +christian +bot +kids +trackback +##hai +c3 +display +##hl +n2 +1896 +idea +さんも +##sent +airmail +##ug +##men +pwm +けます +028 +##lution +369 +852 +awards +schemas +354 +asics +wikipedia +font +##tional +##vy +c2 +293 +##れている +##dget +##ein +っている +contact +pepper +スキル +339 +##~5 +294 +##uel +##ument +730 +##hang +みてす +q5 +##sue +rain +##ndi +wei +swatch +##cept +わせ +331 +popular +##ste +##tag +p2 +501 +trc +1899 +##west +##live +justin +honda +ping +messenger +##rap +v9 +543 +##とは +unity +appqq +はすへて +025 +leo +##tone +##テ +##ass +uniqlo +##010 +502 +her +jane +memory +moneydj +##tical +human +12306 +していると +##m2 +coc +miacare +##mn +tmt +##core +vim +kk +##may +fan +target +use +too +338 +435 +2050 +867 +737 +fast +##2c +services +##ope +omega +energy +##わ +pinkoi +1a +##なから +##rain +jackson +##ement +##シャンルの +374 +366 +そんな +p9 +rd +##ᆨ +1111 +##tier +##vic +zone +##│ +385 +690 +dl +isofix +cpa +m4 +322 +kimi +めて +davis +##lay +lulu +##uck +050 +weeks +qs +##hop +920 +##n +ae +##ear +~5 +eia +405 +##fly +korea +jpeg +boost +##ship +small +##リア +1860 +eur +297 +425 +valley +##iel +simple +##ude +rn +k2 +##ena +されます +non +patrick +しているから +##ナー +feed +5757 +30g +process +well +qqmei +##thing +they +aws +lu +pink +##ters +##kin +または +board +##vertisement +wine +##ien +unicode +##dge +r1 +359 +##tant +いを +##twitter +##3c +cool1 +される +##れて +##l +isp +##012 +standard +45㎡2 +402 +##150 +matt +##fu +326 +##iner +googlemsn +pixnetfacebookyahoo +##ラン +x7 +886 +##uce +メーカー +sao +##ev +##きました +##file +9678 +403 +xddd +shirt +6l +##rio +##hat +3mm +givenchy +ya +bang +##lio +monday +crystal +ロクイン +##abc +336 +head +890 +ubuntuforumwikilinuxpastechat +##vc +##~20 +##rity +cnc +7866 +ipv6 +null +1897 +##ost +yang +imsean +tiger +##fet +##ンス +352 +##= +dji +327 +ji +maria +##come +##んて +foundation +3100 +##beth +##なった +1m +601 +active +##aft +##don +3p +sr +349 +emma +##khz +living +415 +353 +1889 +341 +709 +457 +sas +x6 +##face +pptv +x4 +##mate +han +sophie +##jing +337 +fifa +##mand +other +sale +inwedding +##gn +てきちゃいます +##mmy +##pmlast +bad +nana +nbc +してみてくたさいね +なとはお +##wu +##かあります +##あ +note7 +single +##340 +せからこ +してくたさい♪この +しにはとんとんワークケートを +するとあなたにもっとマッチした +ならワークケートへ +もみつかっちゃうかも +ワークケートの +##bel +window +##dio +##ht +union +age +382 +14 +##ivity +##y +コメント +domain +neo +##isa +##lter +5k +f5 +steven +##cts +powerpoint +tft +self +g2 +ft +##テル +zol +##act +mwc +381 +343 +もう +nbapop +408 +てある +eds +ace +##room +previous +author +tomtom +il +##ets +hu +financial +☆☆☆ +っています +bp +5t +chi +1gb +##hg +fairmont +cross +008 +gay +h2 +function +##けて +356 +also +1b +625 +##ータ +##raph +1894 +3~5 +##ils +i3 +334 +avenue +##host +による +##bon +##tsu +message +navigation +50g +fintech +h6 +##ことを +8cm +##ject +##vas +##firm +credit +##wf +xxxx +form +##nor +##space +huawei +plan +json +sbl +##dc +machine +921 +392 +wish +##120 +##sol +windows7 +edward +##ために +development +washington +##nsis +lo +818 +##sio +##ym +##bor +planet +##~8 +##wt +ieee +gpa +##めて +camp +ann +gm +##tw +##oka +connect +##rss +##work +##atus +wall +chicken +soul +2mm +##times +fa +##ather +##cord +009 +##eep +hitachi +gui +harry +##pan +e1 +disney +##press +##ーション +wind +386 +frigidaire +##tl +liu +hsu +332 +basic +von +ev +いた +てきる +スホンサーサイト +learning +##ull +expedia +archives +change +##wei +santa +cut +ins +6gb +turbo +brand +cf1 +508 +004 +return +747 +##rip +h1 +##nis +##をこ +128gb +##にお +3t +application +しており +emc +rx +##oon +384 +quick +412 +15058 +wilson +wing +chapter +##bug +beyond +##cms +##dar +##oh +zoom +e2 +trip +sb +##nba +rcep +342 +aspx +ci +080 +gc +gnu +める +##count +advanced +dance +dv +##url +##ging +367 +8591 +am09 +shadow +battle +346 +##i +##cia +##という +emily +##のてす +##tation +host +ff +techorz +sars +##mini +##mporary +##ering +nc +4200 +798 +##next +cma +##mbps +##gas +##ift +##dot +##ィ +455 +##~17 +amana +##りの +426 +##ros +ir +00㎡1 +##eet +##ible +##↓ +710 +ˋ▽ˊ +##aka +dcs +iq +##v +l1 +##lor +maggie +##011 +##iu +588 +##~1 +830 +##gt +1tb +articles +create +##burg +##iki +database +fantasy +##rex +##cam +dlc +dean +##you +hard +path +gaming +victoria +maps +cb +##lee +##itor +overchicstoretvhome +systems +##xt +416 +p3 +sarah +760 +##nan +407 +486 +x9 +install +second +626 +##ann +##ph +##rcle +##nic +860 +##nar +ec +##とう +768 +metro +chocolate +##rian +~4 +##table +##しています +skin +##sn +395 +mountain +##0mm +inparadise +6m +7x24 +ib +4800 +##jia +eeworld +creative +g5 +g3 +357 +parker +ecfa +village +からの +18000 +sylvia +サーヒス +hbl +##ques +##onsored +##x2 +##きます +##v4 +##tein +ie6 +383 +##stack +389 +ver +##ads +##baby +sound +bbe +##110 +##lone +##uid +ads +022 +gundam +351 +thinkpad +006 +scrum +match +##ave +mems +##470 +##oy +##なりました +##talk +glass +lamigo +span +##eme +job +##a5 +jay +wade +kde +498 +##lace +ocean +tvg +##covery +##r3 +##ners +##rea +junior +think +##aine +cover +##ision +##sia +↓↓ +##bow +msi +413 +458 +406 +##love +711 +801 +soft +z2 +##pl +456 +1840 +mobil +mind +##uy +427 +nginx +##oi +めた +##rr +6221 +##mple +##sson +##ーシてす +371 +##nts +91tv +comhd +crv3000 +##uard +1868 +397 +deep +lost +field +gallery +##bia +rate +spf +redis +traction +930 +icloud +011 +なら +fe +jose +372 +##tory +into +sohu +fx +899 +379 +kicstart2 +##hia +すく +##~3 +##sit +ra +24 +##walk +##xure +500g +##pact +pacific +xa +natural +carlo +##250 +##walker +1850 +##can +cto +gigi +516 +##サー +pen +##hoo +ob +matlab +##b +##yy +13913459 +##iti +mango +##bbs +sense +c5 +oxford +##ニア +walker +jennifer +##ola +course +##bre +701 +##pus +##rder +lucky +075 +##ぁ +ivy +なお +##nia +sotheby +side +##ugh +joy +##orage +##ush +##bat +##dt +364 +r9 +##2d +##gio +511 +country +wear +##lax +##~7 +##moon +393 +seven +study +411 +348 +lonzo +8k +##ェ +evolution +##イフ +##kk +gs +kd +##レス +arduino +344 +b12 +##lux +arpg +##rdon +cook +##x5 +dark +five +##als +##ida +とても +sign +362 +##ちの +something +20mm +##nda +387 +##posted +fresh +tf +1870 +422 +cam +##mine +##skip +##form +##ssion +education +394 +##tee +dyson +stage +##jie +want +##night +epson +pack +あります +##ppy +テリヘル +##█ +wd +##eh +##rence +left +##lvin +golden +mhz +discovery +##trix +##n2 +loft +##uch +##dra +##sse +speed +~1 +1mdb +sorry +welcome +##urn +wave +gaga +##lmer +teddy +##160 +トラックハック +せよ +611 +##f2016 +378 +rp +##sha +rar +##あなたに +##きた +840 +holiday +##ュー +373 +074 +##vg +##nos +##rail +gartner +gi +6p +##dium +kit +488 +b3 +eco +##ろう +20g +sean +##stone +autocad +nu +##np +f16 +write +029 +m5 +##ias +images +atp +##dk +fsm +504 +1350 +ve +52kb +##xxx +##のに +##cake +414 +unit +lim +ru +1v +##ification +published +angela +16g +analytics +ak +##q +##nel +gmt +##icon +again +##₂ +##bby +ios11 +445 +かこさいます +waze +いてす +##ハ +9985 +##ust +##ティー +framework +##007 +iptv +delete +52sykb +cl +wwdc +027 +30cm +##fw +##ての +1389 +##xon +brandt +##ses +##dragon +tc +vetements +anne +monte +modern +official +##へて +##ere +##nne +##oud +もちろん +50 +etnews +##a2 +##graphy +421 +863 +##ちゃん +444 +##rtex +##てお +l2 +##gma +mount +ccd +たと +archive +morning +tan +ddos +e7 +##ホ +day4 +##ウ +gis +453 +its +495 +factory +bruce +pg +##ito +ってくたさい +guest +cdma +##lling +536 +n3 +しかし +3~4 +mega +eyes +ro +13 +women +dac +church +##jun +singapore +##facebook +6991 +starbucks +##tos +##stin +##shine +zen +##mu +tina +20℃ +1893 +##たけて +503 +465 +request +##gence +qt +##っ +1886 +347 +363 +q7 +##zzi +diary +##tore +409 +##ead +468 +cst +##osa +canada +agent +va +##jiang +##ちは +##ーク +##lam +sg +##nix +##sday +##よって +g6 +##master +bing +##zl +charlie +16 +8mm +nb40 +##ーン +thai +##ルフ +ln284ct +##itz +##2f +bonnie +##food +##lent +originals +##stro +##lts +418 +∟∣ +##bscribe +children +ntd +yesstyle +##かも +hmv +##tment +d5 +2cm +arts +sms +##pn +##я +##いい +topios9 +539 +lifestyle +virtual +##ague +xz +##deo +muji +024 +unt +##nnis +##ᅩ +faq1 +1884 +396 +##ette +fly +64㎡ +はしめまして +441 +curry +##pop +のこ +release +##← +##◆◆ +##cast +073 +ありな +500ml +##ews +5c +##stle +ios7 +##ima +787 +dog +lenovo +##r4 +roger +013 +cbs +vornado +100m +417 +##desk +##クok +##ald +1867 +9595 +2900 +##van +oil +##x +some +break +common +##jy +##lines +g7 +twice +419 +ella +nano +belle +にこ +##mes +##self +##note +jb +##ことかてきます +benz +##との +##ova +451 +save +##wing +##ますのて +kai +りは +##hua +##rect +rainer +##unge +448 +##0m +adsl +##かな +guestname +##uma +##kins +##zu +tokichoi +##price +county +##med +##mus +rmk +391 +address +vm +えて +openload +##group +##hin +##iginal +amg +urban +##oz +jobs +emi +##public +beautiful +##sch +album +##dden +##bell +jerry +works +hostel +miller +##drive +##rmin +##10 +376 +boot +828 +##370 +##fx +##cm~ +1885 +##nome +##ctionary +##oman +##lish +##cr +##hm +433 +##how +432 +francis +xi +c919 +b5 +evernote +##uc +vga +##3000 +coupe +##urg +##cca +##uality +019 +6g +れる +multi +##また +##ett +em +hey +##ani +##tax +##rma +inside +than +740 +leonnhurt +##jin +ict +れた +bird +notes +200mm +くの +##dical +##lli +result +442 +iu +ee +438 +smap +gopro +##last +yin +pure +998 +32g +けた +5kg +##dan +##rame +mama +##oot +bean +marketing +##hur +2l +bella +sync +xuite +##ground +515 +discuz +##getrelax +##ince +##bay +##5s +cj +##イス +gmat +apt +##pass +jing +##rix +c4 +rich +##とても +niusnews +##ello +bag +770 +##eting +##mobile +18 +culture +015 +##のてすか +377 +1020 +area +##ience +616 +details +gp +universal +silver +dit +はお +private +ddd +u11 +kanshu +##ified +fung +##nny +dx +##520 +tai +475 +023 +##fr +##lean +3s +##pin +429 +##rin +25000 +ly +rick +##bility +usb3 +banner +##baru +##gion +metal +dt +vdf +1871 +karl +qualcomm +bear +1010 +oldid +ian +jo +##tors +population +##ernel +1882 +mmorpg +##mv +##bike +603 +##© +ww +friend +##ager +exhibition +##del +##pods +fpx +structure +##free +##tings +kl +##rley +##copyright +##mma +california +3400 +orange +yoga +4l +canmake +honey +##anda +##コメント +595 +nikkie +##ルハイト +dhl +publishing +##mall +##gnet +20cm +513 +##クセス +##┅ +e88 +970 +##dog +fishbase +##! +##" +### +##$ +##% +##& +##' +##( +##) +##* +##+ +##, +##- +##. +##/ +##: +##; +##< +##= +##> +##? +##@ +##[ +##\ +##] +##^ +##_ +##{ +##| +##} +##~ +##£ +##¤ +##¥ +##§ +##« +##± +##³ +##µ +##· +##¹ +##º +##» +##¼ +##ß +##æ +##÷ +##ø +##đ +##ŋ +##ɔ +##ə +##ɡ +##ʰ +##ˇ +##ˈ +##ˊ +##ˋ +##ˍ +##ː +##˙ +##˚ +##ˢ +##α +##β +##γ +##δ +##ε +##η +##θ +##ι +##κ +##λ +##μ +##ν +##ο +##π +##ρ +##ς +##σ +##τ +##υ +##φ +##χ +##ψ +##б +##в +##г +##д +##е +##ж +##з +##к +##л +##м +##н +##о +##п +##р +##с +##т +##у +##ф +##х +##ц +##ч +##ш +##ы +##ь +##і +##ا +##ب +##ة +##ت +##د +##ر +##س +##ع +##ل +##م +##ن +##ه +##و +##ي +##۩ +##ก +##ง +##น +##ม +##ย +##ร +##อ +##า +##เ +##๑ +##་ +##ღ +##ᄀ +##ᄁ +##ᄂ +##ᄃ +##ᄅ +##ᄆ +##ᄇ +##ᄈ +##ᄉ +##ᄋ +##ᄌ +##ᄎ +##ᄏ +##ᄐ +##ᄑ +##ᄒ +##ᅢ +##ᅣ +##ᅥ +##ᅦ +##ᅧ +##ᅨ +##ᅪ +##ᅬ +##ᅭ +##ᅮ +##ᅯ +##ᅲ +##ᅳ +##ᅴ +##ᆷ +##ᆸ +##ᆺ +##ᆻ +##ᗜ +##ᵃ +##ᵉ +##ᵍ +##ᵏ +##ᵐ +##ᵒ +##ᵘ +##‖ +##„ +##† +##• +##‥ +##‧ +##
 +##‰ +##′ +##″ +##‹ +##› +##※ +##‿ +##⁄ +##ⁱ +##⁺ +##ⁿ +##₁ +##₃ +##₄ +##€ +##№ +##ⅰ +##ⅱ +##ⅲ +##ⅳ +##ⅴ +##↔ +##↗ +##↘ +##⇒ +##∀ +##− +##∕ +##∙ +##√ +##∞ +##∟ +##∠ +##∣ +##∩ +##∮ +##∶ +##∼ +##∽ +##≈ +##≒ +##≡ +##≤ +##≥ +##≦ +##≧ +##≪ +##≫ +##⊙ +##⋅ +##⋈ +##⋯ +##⌒ +##① +##② +##③ +##④ +##⑤ +##⑥ +##⑦ +##⑧ +##⑨ +##⑩ +##⑴ +##⑵ +##⑶ +##⑷ +##⑸ +##⒈ +##⒉ +##⒊ +##⒋ +##ⓒ +##ⓔ +##ⓘ +##━ +##┃ +##┆ +##┊ +##┌ +##└ +##├ +##┣ +##═ +##║ +##╚ +##╞ +##╠ +##╭ +##╮ +##╯ +##╰ +##╱ +##╳ +##▂ +##▃ +##▅ +##▇ +##▉ +##▋ +##▌ +##▍ +##▎ +##□ +##▪ +##▫ +##▬ +##△ +##▶ +##► +##▽ +##◇ +##◕ +##◠ +##◢ +##◤ +##☀ +##☕ +##☞ +##☺ +##☼ +##♀ +##♂ +##♠ +##♡ +##♣ +##♦ +##♫ +##♬ +##✈ +##✔ +##✕ +##✖ +##✦ +##✨ +##✪ +##✰ +##✿ +##❀ +##➜ +##➤ +##⦿ +##、 +##。 +##〃 +##々 +##〇 +##〈 +##〉 +##《 +##》 +##「 +##」 +##『 +##』 +##【 +##】 +##〓 +##〔 +##〕 +##〖 +##〗 +##〜 +##〝 +##〞 +##ぃ +##ぇ +##ぬ +##ふ +##ほ +##む +##ゃ +##ゅ +##ゆ +##ょ +##゜ +##ゝ +##ァ +##ゥ +##エ +##ォ +##ケ +##サ +##セ +##ソ +##ッ +##ニ +##ヌ +##ネ +##ノ +##ヘ +##モ +##ャ +##ヤ +##ュ +##ユ +##ョ +##ヨ +##ワ +##ヲ +##・ +##ヽ +##ㄅ +##ㄆ +##ㄇ +##ㄉ +##ㄋ +##ㄌ +##ㄍ +##ㄎ +##ㄏ +##ㄒ +##ㄚ +##ㄛ +##ㄞ +##ㄟ +##ㄢ +##ㄤ +##ㄥ +##ㄧ +##ㄨ +##ㆍ +##㈦ +##㊣ +##㗎 +##一 +##丁 +##七 +##万 +##丈 +##三 +##上 +##下 +##不 +##与 +##丐 +##丑 +##专 +##且 +##丕 +##世 +##丘 +##丙 +##业 +##丛 +##东 +##丝 +##丞 +##丟 +##両 +##丢 +##两 +##严 +##並 +##丧 +##丨 +##个 +##丫 +##中 +##丰 +##串 +##临 +##丶 +##丸 +##丹 +##为 +##主 +##丼 +##丽 +##举 +##丿 +##乂 +##乃 +##久 +##么 +##义 +##之 +##乌 +##乍 +##乎 +##乏 +##乐 +##乒 +##乓 +##乔 +##乖 +##乗 +##乘 +##乙 +##乜 +##九 +##乞 +##也 +##习 +##乡 +##书 +##乩 +##买 +##乱 +##乳 +##乾 +##亀 +##亂 +##了 +##予 +##争 +##事 +##二 +##于 +##亏 +##云 +##互 +##五 +##井 +##亘 +##亙 +##亚 +##些 +##亜 +##亞 +##亟 +##亡 +##亢 +##交 +##亥 +##亦 +##产 +##亨 +##亩 +##享 +##京 +##亭 +##亮 +##亲 +##亳 +##亵 +##人 +##亿 +##什 +##仁 +##仃 +##仄 +##仅 +##仆 +##仇 +##今 +##介 +##仍 +##从 +##仏 +##仑 +##仓 +##仔 +##仕 +##他 +##仗 +##付 +##仙 +##仝 +##仞 +##仟 +##代 +##令 +##以 +##仨 +##仪 +##们 +##仮 +##仰 +##仲 +##件 +##价 +##任 +##份 +##仿 +##企 +##伉 +##伊 +##伍 +##伎 +##伏 +##伐 +##休 +##伕 +##众 +##优 +##伙 +##会 +##伝 +##伞 +##伟 +##传 +##伢 +##伤 +##伦 +##伪 +##伫 +##伯 +##估 +##伴 +##伶 +##伸 +##伺 +##似 +##伽 +##佃 +##但 +##佇 +##佈 +##位 +##低 +##住 +##佐 +##佑 +##体 +##佔 +##何 +##佗 +##佘 +##余 +##佚 +##佛 +##作 +##佝 +##佞 +##佟 +##你 +##佢 +##佣 +##佤 +##佥 +##佩 +##佬 +##佯 +##佰 +##佳 +##併 +##佶 +##佻 +##佼 +##使 +##侃 +##侄 +##來 +##侈 +##例 +##侍 +##侏 +##侑 +##侖 +##侗 +##供 +##依 +##侠 +##価 +##侣 +##侥 +##侦 +##侧 +##侨 +##侬 +##侮 +##侯 +##侵 +##侶 +##侷 +##便 +##係 +##促 +##俄 +##俊 +##俎 +##俏 +##俐 +##俑 +##俗 +##俘 +##俚 +##保 +##俞 +##俟 +##俠 +##信 +##俨 +##俩 +##俪 +##俬 +##俭 +##修 +##俯 +##俱 +##俳 +##俸 +##俺 +##俾 +##倆 +##倉 +##個 +##倌 +##倍 +##倏 +##們 +##倒 +##倔 +##倖 +##倘 +##候 +##倚 +##倜 +##借 +##倡 +##値 +##倦 +##倩 +##倪 +##倫 +##倬 +##倭 +##倶 +##债 +##值 +##倾 +##偃 +##假 +##偈 +##偉 +##偌 +##偎 +##偏 +##偕 +##做 +##停 +##健 +##側 +##偵 +##偶 +##偷 +##偻 +##偽 +##偿 +##傀 +##傅 +##傍 +##傑 +##傘 +##備 +##傚 +##傢 +##傣 +##傥 +##储 +##傩 +##催 +##傭 +##傲 +##傳 +##債 +##傷 +##傻 +##傾 +##僅 +##働 +##像 +##僑 +##僕 +##僖 +##僚 +##僥 +##僧 +##僭 +##僮 +##僱 +##僵 +##價 +##僻 +##儀 +##儂 +##億 +##儆 +##儉 +##儋 +##儒 +##儕 +##儘 +##償 +##儡 +##優 +##儲 +##儷 +##儼 +##儿 +##兀 +##允 +##元 +##兄 +##充 +##兆 +##兇 +##先 +##光 +##克 +##兌 +##免 +##児 +##兑 +##兒 +##兔 +##兖 +##党 +##兜 +##兢 +##入 +##內 +##全 +##兩 +##八 +##公 +##六 +##兮 +##兰 +##共 +##兲 +##关 +##兴 +##兵 +##其 +##具 +##典 +##兹 +##养 +##兼 +##兽 +##冀 +##内 +##円 +##冇 +##冈 +##冉 +##冊 +##册 +##再 +##冏 +##冒 +##冕 +##冗 +##写 +##军 +##农 +##冠 +##冢 +##冤 +##冥 +##冨 +##冪 +##冬 +##冯 +##冰 +##冲 +##决 +##况 +##冶 +##冷 +##冻 +##冼 +##冽 +##冾 +##净 +##凄 +##准 +##凇 +##凈 +##凉 +##凋 +##凌 +##凍 +##减 +##凑 +##凛 +##凜 +##凝 +##几 +##凡 +##凤 +##処 +##凪 +##凭 +##凯 +##凰 +##凱 +##凳 +##凶 +##凸 +##凹 +##出 +##击 +##函 +##凿 +##刀 +##刁 +##刃 +##分 +##切 +##刈 +##刊 +##刍 +##刎 +##刑 +##划 +##列 +##刘 +##则 +##刚 +##创 +##初 +##删 +##判 +##別 +##刨 +##利 +##刪 +##别 +##刮 +##到 +##制 +##刷 +##券 +##刹 +##刺 +##刻 +##刽 +##剁 +##剂 +##剃 +##則 +##剉 +##削 +##剋 +##剌 +##前 +##剎 +##剐 +##剑 +##剔 +##剖 +##剛 +##剜 +##剝 +##剣 +##剤 +##剥 +##剧 +##剩 +##剪 +##副 +##割 +##創 +##剷 +##剽 +##剿 +##劃 +##劇 +##劈 +##劉 +##劊 +##劍 +##劏 +##劑 +##力 +##劝 +##办 +##功 +##加 +##务 +##劣 +##动 +##助 +##努 +##劫 +##劭 +##励 +##劲 +##劳 +##労 +##劵 +##効 +##劾 +##势 +##勁 +##勃 +##勇 +##勉 +##勋 +##勐 +##勒 +##動 +##勖 +##勘 +##務 +##勛 +##勝 +##勞 +##募 +##勢 +##勤 +##勧 +##勳 +##勵 +##勸 +##勺 +##勻 +##勾 +##勿 +##匀 +##包 +##匆 +##匈 +##匍 +##匐 +##匕 +##化 +##北 +##匙 +##匝 +##匠 +##匡 +##匣 +##匪 +##匮 +##匯 +##匱 +##匹 +##区 +##医 +##匾 +##匿 +##區 +##十 +##千 +##卅 +##升 +##午 +##卉 +##半 +##卍 +##华 +##协 +##卑 +##卒 +##卓 +##協 +##单 +##卖 +##南 +##単 +##博 +##卜 +##卞 +##卟 +##占 +##卡 +##卢 +##卤 +##卦 +##卧 +##卫 +##卮 +##卯 +##印 +##危 +##即 +##却 +##卵 +##卷 +##卸 +##卻 +##卿 +##厂 +##厄 +##厅 +##历 +##厉 +##压 +##厌 +##厕 +##厘 +##厚 +##厝 +##原 +##厢 +##厥 +##厦 +##厨 +##厩 +##厭 +##厮 +##厲 +##厳 +##去 +##县 +##叁 +##参 +##參 +##又 +##叉 +##及 +##友 +##双 +##反 +##収 +##发 +##叔 +##取 +##受 +##变 +##叙 +##叛 +##叟 +##叠 +##叡 +##叢 +##口 +##古 +##句 +##另 +##叨 +##叩 +##只 +##叫 +##召 +##叭 +##叮 +##可 +##台 +##叱 +##史 +##右 +##叵 +##叶 +##号 +##司 +##叹 +##叻 +##叼 +##叽 +##吁 +##吃 +##各 +##吆 +##合 +##吉 +##吊 +##吋 +##同 +##名 +##后 +##吏 +##吐 +##向 +##吒 +##吓 +##吕 +##吖 +##吗 +##君 +##吝 +##吞 +##吟 +##吠 +##吡 +##否 +##吧 +##吨 +##吩 +##含 +##听 +##吭 +##吮 +##启 +##吱 +##吳 +##吴 +##吵 +##吶 +##吸 +##吹 +##吻 +##吼 +##吽 +##吾 +##呀 +##呂 +##呃 +##呆 +##呈 +##告 +##呋 +##呎 +##呐 +##呓 +##呕 +##呗 +##员 +##呛 +##呜 +##呢 +##呤 +##呦 +##周 +##呱 +##呲 +##味 +##呵 +##呷 +##呸 +##呻 +##呼 +##命 +##咀 +##咁 +##咂 +##咄 +##咆 +##咋 +##和 +##咎 +##咏 +##咐 +##咒 +##咔 +##咕 +##咖 +##咗 +##咘 +##咙 +##咚 +##咛 +##咣 +##咤 +##咦 +##咧 +##咨 +##咩 +##咪 +##咫 +##咬 +##咭 +##咯 +##咱 +##咲 +##咳 +##咸 +##咻 +##咽 +##咿 +##哀 +##品 +##哂 +##哄 +##哆 +##哇 +##哈 +##哉 +##哋 +##哌 +##响 +##哎 +##哏 +##哐 +##哑 +##哒 +##哔 +##哗 +##哟 +##員 +##哥 +##哦 +##哧 +##哨 +##哩 +##哪 +##哭 +##哮 +##哲 +##哺 +##哼 +##哽 +##唁 +##唄 +##唆 +##唇 +##唉 +##唏 +##唐 +##唑 +##唔 +##唠 +##唤 +##唧 +##唬 +##售 +##唯 +##唰 +##唱 +##唳 +##唷 +##唸 +##唾 +##啃 +##啄 +##商 +##啉 +##啊 +##問 +##啓 +##啕 +##啖 +##啜 +##啞 +##啟 +##啡 +##啤 +##啥 +##啦 +##啧 +##啪 +##啫 +##啬 +##啮 +##啰 +##啱 +##啲 +##啵 +##啶 +##啷 +##啸 +##啻 +##啼 +##啾 +##喀 +##喂 +##喃 +##善 +##喆 +##喇 +##喉 +##喊 +##喋 +##喎 +##喏 +##喔 +##喘 +##喙 +##喚 +##喜 +##喝 +##喟 +##喧 +##喪 +##喫 +##喬 +##單 +##喰 +##喱 +##喲 +##喳 +##喵 +##営 +##喷 +##喹 +##喺 +##喻 +##喽 +##嗅 +##嗆 +##嗇 +##嗎 +##嗑 +##嗒 +##嗓 +##嗔 +##嗖 +##嗚 +##嗜 +##嗝 +##嗟 +##嗡 +##嗣 +##嗤 +##嗦 +##嗨 +##嗪 +##嗬 +##嗯 +##嗰 +##嗲 +##嗳 +##嗶 +##嗷 +##嗽 +##嘀 +##嘅 +##嘆 +##嘈 +##嘉 +##嘌 +##嘍 +##嘎 +##嘔 +##嘖 +##嘗 +##嘘 +##嘚 +##嘛 +##嘜 +##嘞 +##嘟 +##嘢 +##嘣 +##嘤 +##嘧 +##嘩 +##嘭 +##嘮 +##嘯 +##嘰 +##嘱 +##嘲 +##嘴 +##嘶 +##嘸 +##嘹 +##嘻 +##嘿 +##噁 +##噌 +##噎 +##噓 +##噔 +##噗 +##噙 +##噜 +##噠 +##噢 +##噤 +##器 +##噩 +##噪 +##噬 +##噱 +##噴 +##噶 +##噸 +##噹 +##噻 +##噼 +##嚀 +##嚇 +##嚎 +##嚏 +##嚐 +##嚓 +##嚕 +##嚟 +##嚣 +##嚥 +##嚨 +##嚮 +##嚴 +##嚷 +##嚼 +##囂 +##囉 +##囊 +##囍 +##囑 +##囔 +##囗 +##囚 +##四 +##囝 +##回 +##囟 +##因 +##囡 +##团 +##団 +##囤 +##囧 +##囪 +##囫 +##园 +##困 +##囱 +##囲 +##図 +##围 +##囹 +##固 +##国 +##图 +##囿 +##圃 +##圄 +##圆 +##圈 +##國 +##圍 +##圏 +##園 +##圓 +##圖 +##團 +##圜 +##土 +##圣 +##圧 +##在 +##圩 +##圭 +##地 +##圳 +##场 +##圻 +##圾 +##址 +##坂 +##均 +##坊 +##坍 +##坎 +##坏 +##坐 +##坑 +##块 +##坚 +##坛 +##坝 +##坞 +##坟 +##坠 +##坡 +##坤 +##坦 +##坨 +##坪 +##坯 +##坳 +##坵 +##坷 +##垂 +##垃 +##垄 +##型 +##垒 +##垚 +##垛 +##垠 +##垢 +##垣 +##垦 +##垩 +##垫 +##垭 +##垮 +##垵 +##埂 +##埃 +##埋 +##城 +##埔 +##埕 +##埗 +##域 +##埠 +##埤 +##埵 +##執 +##埸 +##培 +##基 +##埼 +##堀 +##堂 +##堃 +##堅 +##堆 +##堇 +##堑 +##堕 +##堙 +##堡 +##堤 +##堪 +##堯 +##堰 +##報 +##場 +##堵 +##堺 +##堿 +##塊 +##塌 +##塑 +##塔 +##塗 +##塘 +##塚 +##塞 +##塢 +##塩 +##填 +##塬 +##塭 +##塵 +##塾 +##墀 +##境 +##墅 +##墉 +##墊 +##墒 +##墓 +##増 +##墘 +##墙 +##墜 +##增 +##墟 +##墨 +##墩 +##墮 +##墳 +##墻 +##墾 +##壁 +##壅 +##壆 +##壇 +##壊 +##壑 +##壓 +##壕 +##壘 +##壞 +##壟 +##壢 +##壤 +##壩 +##士 +##壬 +##壮 +##壯 +##声 +##売 +##壳 +##壶 +##壹 +##壺 +##壽 +##处 +##备 +##変 +##复 +##夏 +##夔 +##夕 +##外 +##夙 +##多 +##夜 +##够 +##夠 +##夢 +##夥 +##大 +##天 +##太 +##夫 +##夭 +##央 +##夯 +##失 +##头 +##夷 +##夸 +##夹 +##夺 +##夾 +##奂 +##奄 +##奇 +##奈 +##奉 +##奋 +##奎 +##奏 +##奐 +##契 +##奔 +##奕 +##奖 +##套 +##奘 +##奚 +##奠 +##奢 +##奥 +##奧 +##奪 +##奬 +##奮 +##女 +##奴 +##奶 +##奸 +##她 +##好 +##如 +##妃 +##妄 +##妆 +##妇 +##妈 +##妊 +##妍 +##妒 +##妓 +##妖 +##妘 +##妙 +##妝 +##妞 +##妣 +##妤 +##妥 +##妨 +##妩 +##妪 +##妮 +##妲 +##妳 +##妹 +##妻 +##妾 +##姆 +##姉 +##姊 +##始 +##姍 +##姐 +##姑 +##姒 +##姓 +##委 +##姗 +##姚 +##姜 +##姝 +##姣 +##姥 +##姦 +##姨 +##姪 +##姫 +##姬 +##姹 +##姻 +##姿 +##威 +##娃 +##娄 +##娅 +##娆 +##娇 +##娉 +##娑 +##娓 +##娘 +##娛 +##娜 +##娟 +##娠 +##娣 +##娥 +##娩 +##娱 +##娲 +##娴 +##娶 +##娼 +##婀 +##婁 +##婆 +##婉 +##婊 +##婕 +##婚 +##婢 +##婦 +##婧 +##婪 +##婭 +##婴 +##婵 +##婶 +##婷 +##婺 +##婿 +##媒 +##媚 +##媛 +##媞 +##媧 +##媲 +##媳 +##媽 +##媾 +##嫁 +##嫂 +##嫉 +##嫌 +##嫑 +##嫔 +##嫖 +##嫘 +##嫚 +##嫡 +##嫣 +##嫦 +##嫩 +##嫲 +##嫵 +##嫻 +##嬅 +##嬉 +##嬌 +##嬗 +##嬛 +##嬢 +##嬤 +##嬪 +##嬰 +##嬴 +##嬷 +##嬸 +##嬿 +##孀 +##孃 +##子 +##孑 +##孔 +##孕 +##孖 +##字 +##存 +##孙 +##孚 +##孛 +##孜 +##孝 +##孟 +##孢 +##季 +##孤 +##学 +##孩 +##孪 +##孫 +##孬 +##孰 +##孱 +##孳 +##孵 +##學 +##孺 +##孽 +##孿 +##宁 +##它 +##宅 +##宇 +##守 +##安 +##宋 +##完 +##宏 +##宓 +##宕 +##宗 +##官 +##宙 +##定 +##宛 +##宜 +##宝 +##实 +##実 +##宠 +##审 +##客 +##宣 +##室 +##宥 +##宦 +##宪 +##宫 +##宮 +##宰 +##害 +##宴 +##宵 +##家 +##宸 +##容 +##宽 +##宾 +##宿 +##寂 +##寄 +##寅 +##密 +##寇 +##富 +##寐 +##寒 +##寓 +##寛 +##寝 +##寞 +##察 +##寡 +##寢 +##寥 +##實 +##寧 +##寨 +##審 +##寫 +##寬 +##寮 +##寰 +##寵 +##寶 +##寸 +##对 +##寺 +##寻 +##导 +##対 +##寿 +##封 +##専 +##射 +##将 +##將 +##專 +##尉 +##尊 +##尋 +##對 +##導 +##小 +##少 +##尔 +##尕 +##尖 +##尘 +##尚 +##尝 +##尤 +##尧 +##尬 +##就 +##尴 +##尷 +##尸 +##尹 +##尺 +##尻 +##尼 +##尽 +##尾 +##尿 +##局 +##屁 +##层 +##屄 +##居 +##屆 +##屈 +##屉 +##届 +##屋 +##屌 +##屍 +##屎 +##屏 +##屐 +##屑 +##展 +##屜 +##属 +##屠 +##屡 +##屢 +##層 +##履 +##屬 +##屯 +##山 +##屹 +##屿 +##岀 +##岁 +##岂 +##岌 +##岐 +##岑 +##岔 +##岖 +##岗 +##岘 +##岙 +##岚 +##岛 +##岡 +##岩 +##岫 +##岬 +##岭 +##岱 +##岳 +##岷 +##岸 +##峇 +##峋 +##峒 +##峙 +##峡 +##峤 +##峥 +##峦 +##峨 +##峪 +##峭 +##峯 +##峰 +##峴 +##島 +##峻 +##峽 +##崁 +##崂 +##崆 +##崇 +##崎 +##崑 +##崔 +##崖 +##崗 +##崙 +##崛 +##崧 +##崩 +##崭 +##崴 +##崽 +##嵇 +##嵊 +##嵋 +##嵌 +##嵐 +##嵘 +##嵩 +##嵬 +##嵯 +##嶂 +##嶄 +##嶇 +##嶋 +##嶙 +##嶺 +##嶼 +##嶽 +##巅 +##巍 +##巒 +##巔 +##巖 +##川 +##州 +##巡 +##巢 +##工 +##左 +##巧 +##巨 +##巩 +##巫 +##差 +##己 +##已 +##巳 +##巴 +##巷 +##巻 +##巽 +##巾 +##巿 +##币 +##市 +##布 +##帅 +##帆 +##师 +##希 +##帐 +##帑 +##帕 +##帖 +##帘 +##帚 +##帛 +##帜 +##帝 +##帥 +##带 +##帧 +##師 +##席 +##帮 +##帯 +##帰 +##帳 +##帶 +##帷 +##常 +##帼 +##帽 +##幀 +##幂 +##幄 +##幅 +##幌 +##幔 +##幕 +##幟 +##幡 +##幢 +##幣 +##幫 +##干 +##平 +##年 +##并 +##幸 +##幹 +##幺 +##幻 +##幼 +##幽 +##幾 +##广 +##庁 +##広 +##庄 +##庆 +##庇 +##床 +##序 +##庐 +##库 +##应 +##底 +##庖 +##店 +##庙 +##庚 +##府 +##庞 +##废 +##庠 +##度 +##座 +##庫 +##庭 +##庵 +##庶 +##康 +##庸 +##庹 +##庾 +##廁 +##廂 +##廃 +##廈 +##廉 +##廊 +##廓 +##廖 +##廚 +##廝 +##廟 +##廠 +##廢 +##廣 +##廬 +##廳 +##延 +##廷 +##建 +##廿 +##开 +##弁 +##异 +##弃 +##弄 +##弈 +##弊 +##弋 +##式 +##弑 +##弒 +##弓 +##弔 +##引 +##弗 +##弘 +##弛 +##弟 +##张 +##弥 +##弦 +##弧 +##弩 +##弭 +##弯 +##弱 +##張 +##強 +##弹 +##强 +##弼 +##弾 +##彅 +##彆 +##彈 +##彌 +##彎 +##归 +##当 +##录 +##彗 +##彙 +##彝 +##形 +##彤 +##彥 +##彦 +##彧 +##彩 +##彪 +##彫 +##彬 +##彭 +##彰 +##影 +##彷 +##役 +##彻 +##彼 +##彿 +##往 +##征 +##径 +##待 +##徇 +##很 +##徉 +##徊 +##律 +##後 +##徐 +##徑 +##徒 +##従 +##徕 +##得 +##徘 +##徙 +##徜 +##從 +##徠 +##御 +##徨 +##復 +##循 +##徬 +##微 +##徳 +##徴 +##徵 +##德 +##徹 +##徼 +##徽 +##心 +##必 +##忆 +##忌 +##忍 +##忏 +##忐 +##忑 +##忒 +##忖 +##志 +##忘 +##忙 +##応 +##忠 +##忡 +##忤 +##忧 +##忪 +##快 +##忱 +##念 +##忻 +##忽 +##忿 +##怀 +##态 +##怂 +##怅 +##怆 +##怎 +##怏 +##怒 +##怔 +##怕 +##怖 +##怙 +##怜 +##思 +##怠 +##怡 +##急 +##怦 +##性 +##怨 +##怪 +##怯 +##怵 +##总 +##怼 +##恁 +##恃 +##恆 +##恋 +##恍 +##恐 +##恒 +##恕 +##恙 +##恚 +##恢 +##恣 +##恤 +##恥 +##恨 +##恩 +##恪 +##恫 +##恬 +##恭 +##息 +##恰 +##恳 +##恵 +##恶 +##恸 +##恺 +##恻 +##恼 +##恿 +##悄 +##悅 +##悉 +##悌 +##悍 +##悔 +##悖 +##悚 +##悟 +##悠 +##患 +##悦 +##您 +##悩 +##悪 +##悬 +##悯 +##悱 +##悲 +##悴 +##悵 +##悶 +##悸 +##悻 +##悼 +##悽 +##情 +##惆 +##惇 +##惊 +##惋 +##惑 +##惕 +##惘 +##惚 +##惜 +##惟 +##惠 +##惡 +##惦 +##惧 +##惨 +##惩 +##惫 +##惬 +##惭 +##惮 +##惯 +##惰 +##惱 +##想 +##惴 +##惶 +##惹 +##惺 +##愁 +##愆 +##愈 +##愉 +##愍 +##意 +##愕 +##愚 +##愛 +##愜 +##感 +##愣 +##愤 +##愧 +##愫 +##愷 +##愿 +##慄 +##慈 +##態 +##慌 +##慎 +##慑 +##慕 +##慘 +##慚 +##慟 +##慢 +##慣 +##慧 +##慨 +##慫 +##慮 +##慰 +##慳 +##慵 +##慶 +##慷 +##慾 +##憂 +##憊 +##憋 +##憎 +##憐 +##憑 +##憔 +##憚 +##憤 +##憧 +##憨 +##憩 +##憫 +##憬 +##憲 +##憶 +##憾 +##懂 +##懇 +##懈 +##應 +##懊 +##懋 +##懑 +##懒 +##懦 +##懲 +##懵 +##懶 +##懷 +##懸 +##懺 +##懼 +##懾 +##懿 +##戀 +##戈 +##戊 +##戌 +##戍 +##戎 +##戏 +##成 +##我 +##戒 +##戕 +##或 +##战 +##戚 +##戛 +##戟 +##戡 +##戦 +##截 +##戬 +##戮 +##戰 +##戲 +##戳 +##戴 +##戶 +##户 +##戸 +##戻 +##戾 +##房 +##所 +##扁 +##扇 +##扈 +##扉 +##手 +##才 +##扎 +##扑 +##扒 +##打 +##扔 +##払 +##托 +##扛 +##扣 +##扦 +##执 +##扩 +##扪 +##扫 +##扬 +##扭 +##扮 +##扯 +##扰 +##扱 +##扳 +##扶 +##批 +##扼 +##找 +##承 +##技 +##抄 +##抉 +##把 +##抑 +##抒 +##抓 +##投 +##抖 +##抗 +##折 +##抚 +##抛 +##抜 +##択 +##抟 +##抠 +##抡 +##抢 +##护 +##报 +##抨 +##披 +##抬 +##抱 +##抵 +##抹 +##押 +##抽 +##抿 +##拂 +##拄 +##担 +##拆 +##拇 +##拈 +##拉 +##拋 +##拌 +##拍 +##拎 +##拐 +##拒 +##拓 +##拔 +##拖 +##拗 +##拘 +##拙 +##拚 +##招 +##拜 +##拟 +##拡 +##拢 +##拣 +##拥 +##拦 +##拧 +##拨 +##择 +##括 +##拭 +##拮 +##拯 +##拱 +##拳 +##拴 +##拷 +##拼 +##拽 +##拾 +##拿 +##持 +##挂 +##指 +##挈 +##按 +##挎 +##挑 +##挖 +##挙 +##挚 +##挛 +##挝 +##挞 +##挟 +##挠 +##挡 +##挣 +##挤 +##挥 +##挨 +##挪 +##挫 +##振 +##挲 +##挹 +##挺 +##挽 +##挾 +##捂 +##捅 +##捆 +##捉 +##捋 +##捌 +##捍 +##捎 +##捏 +##捐 +##捕 +##捞 +##损 +##捡 +##换 +##捣 +##捧 +##捨 +##捩 +##据 +##捱 +##捲 +##捶 +##捷 +##捺 +##捻 +##掀 +##掂 +##掃 +##掇 +##授 +##掉 +##掌 +##掏 +##掐 +##排 +##掖 +##掘 +##掙 +##掛 +##掠 +##採 +##探 +##掣 +##接 +##控 +##推 +##掩 +##措 +##掬 +##掰 +##掲 +##掳 +##掴 +##掷 +##掸 +##掺 +##揀 +##揃 +##揄 +##揆 +##揉 +##揍 +##描 +##提 +##插 +##揖 +##揚 +##換 +##握 +##揣 +##揩 +##揪 +##揭 +##揮 +##援 +##揶 +##揸 +##揹 +##揽 +##搀 +##搁 +##搂 +##搅 +##損 +##搏 +##搐 +##搓 +##搔 +##搖 +##搗 +##搜 +##搞 +##搡 +##搪 +##搬 +##搭 +##搵 +##搶 +##携 +##搽 +##摀 +##摁 +##摄 +##摆 +##摇 +##摈 +##摊 +##摒 +##摔 +##摘 +##摞 +##摟 +##摧 +##摩 +##摯 +##摳 +##摸 +##摹 +##摺 +##摻 +##撂 +##撃 +##撅 +##撇 +##撈 +##撐 +##撑 +##撒 +##撓 +##撕 +##撚 +##撞 +##撤 +##撥 +##撩 +##撫 +##撬 +##播 +##撮 +##撰 +##撲 +##撵 +##撷 +##撸 +##撻 +##撼 +##撿 +##擀 +##擁 +##擂 +##擄 +##擅 +##擇 +##擊 +##擋 +##操 +##擎 +##擒 +##擔 +##擘 +##據 +##擞 +##擠 +##擡 +##擢 +##擦 +##擬 +##擰 +##擱 +##擲 +##擴 +##擷 +##擺 +##擼 +##擾 +##攀 +##攏 +##攒 +##攔 +##攘 +##攙 +##攜 +##攝 +##攞 +##攢 +##攣 +##攤 +##攥 +##攪 +##攫 +##攬 +##支 +##收 +##攸 +##改 +##攻 +##放 +##政 +##故 +##效 +##敌 +##敍 +##敎 +##敏 +##救 +##敕 +##敖 +##敗 +##敘 +##教 +##敛 +##敝 +##敞 +##敢 +##散 +##敦 +##敬 +##数 +##敲 +##整 +##敵 +##敷 +##數 +##斂 +##斃 +##文 +##斋 +##斌 +##斎 +##斐 +##斑 +##斓 +##斗 +##料 +##斛 +##斜 +##斟 +##斡 +##斤 +##斥 +##斧 +##斩 +##斫 +##斬 +##断 +##斯 +##新 +##斷 +##方 +##於 +##施 +##旁 +##旃 +##旅 +##旋 +##旌 +##旎 +##族 +##旖 +##旗 +##无 +##既 +##日 +##旦 +##旧 +##旨 +##早 +##旬 +##旭 +##旮 +##旱 +##时 +##旷 +##旺 +##旻 +##昀 +##昂 +##昆 +##昇 +##昉 +##昊 +##昌 +##明 +##昏 +##易 +##昔 +##昕 +##昙 +##星 +##映 +##春 +##昧 +##昨 +##昭 +##是 +##昱 +##昴 +##昵 +##昶 +##昼 +##显 +##晁 +##時 +##晃 +##晉 +##晋 +##晌 +##晏 +##晒 +##晓 +##晔 +##晕 +##晖 +##晗 +##晚 +##晝 +##晞 +##晟 +##晤 +##晦 +##晨 +##晩 +##普 +##景 +##晰 +##晴 +##晶 +##晷 +##智 +##晾 +##暂 +##暄 +##暇 +##暈 +##暉 +##暌 +##暐 +##暑 +##暖 +##暗 +##暝 +##暢 +##暧 +##暨 +##暫 +##暮 +##暱 +##暴 +##暸 +##暹 +##曄 +##曆 +##曇 +##曉 +##曖 +##曙 +##曜 +##曝 +##曠 +##曦 +##曬 +##曰 +##曲 +##曳 +##更 +##書 +##曹 +##曼 +##曾 +##替 +##最 +##會 +##月 +##有 +##朋 +##服 +##朐 +##朔 +##朕 +##朗 +##望 +##朝 +##期 +##朦 +##朧 +##木 +##未 +##末 +##本 +##札 +##朮 +##术 +##朱 +##朴 +##朵 +##机 +##朽 +##杀 +##杂 +##权 +##杆 +##杈 +##杉 +##李 +##杏 +##材 +##村 +##杓 +##杖 +##杜 +##杞 +##束 +##杠 +##条 +##来 +##杨 +##杭 +##杯 +##杰 +##東 +##杳 +##杵 +##杷 +##杼 +##松 +##板 +##极 +##构 +##枇 +##枉 +##枋 +##析 +##枕 +##林 +##枚 +##果 +##枝 +##枢 +##枣 +##枪 +##枫 +##枭 +##枯 +##枰 +##枱 +##枳 +##架 +##枷 +##枸 +##柄 +##柏 +##某 +##柑 +##柒 +##染 +##柔 +##柘 +##柚 +##柜 +##柞 +##柠 +##柢 +##查 +##柩 +##柬 +##柯 +##柱 +##柳 +##柴 +##柵 +##査 +##柿 +##栀 +##栃 +##栄 +##栅 +##标 +##栈 +##栉 +##栋 +##栎 +##栏 +##树 +##栓 +##栖 +##栗 +##校 +##栩 +##株 +##样 +##核 +##根 +##格 +##栽 +##栾 +##桀 +##桁 +##桂 +##桃 +##桅 +##框 +##案 +##桉 +##桌 +##桎 +##桐 +##桑 +##桓 +##桔 +##桜 +##桠 +##桡 +##桢 +##档 +##桥 +##桦 +##桧 +##桨 +##桩 +##桶 +##桿 +##梁 +##梅 +##梆 +##梏 +##梓 +##梗 +##條 +##梟 +##梢 +##梦 +##梧 +##梨 +##梭 +##梯 +##械 +##梳 +##梵 +##梶 +##检 +##棂 +##棄 +##棉 +##棋 +##棍 +##棒 +##棕 +##棗 +##棘 +##棚 +##棟 +##棠 +##棣 +##棧 +##森 +##棱 +##棲 +##棵 +##棹 +##棺 +##椁 +##椅 +##椋 +##植 +##椎 +##椒 +##検 +##椪 +##椭 +##椰 +##椹 +##椽 +##椿 +##楂 +##楊 +##楓 +##楔 +##楚 +##楝 +##楞 +##楠 +##楣 +##楨 +##楫 +##業 +##楮 +##極 +##楷 +##楸 +##楹 +##楼 +##楽 +##概 +##榄 +##榆 +##榈 +##榉 +##榔 +##榕 +##榖 +##榛 +##榜 +##榨 +##榫 +##榭 +##榮 +##榱 +##榴 +##榷 +##榻 +##槁 +##槃 +##構 +##槌 +##槍 +##槎 +##槐 +##槓 +##様 +##槛 +##槟 +##槤 +##槭 +##槲 +##槳 +##槻 +##槽 +##槿 +##樁 +##樂 +##樊 +##樑 +##樓 +##標 +##樞 +##樟 +##模 +##樣 +##権 +##横 +##樫 +##樯 +##樱 +##樵 +##樸 +##樹 +##樺 +##樽 +##樾 +##橄 +##橇 +##橋 +##橐 +##橘 +##橙 +##機 +##橡 +##橢 +##橫 +##橱 +##橹 +##橼 +##檀 +##檄 +##檎 +##檐 +##檔 +##檗 +##檜 +##檢 +##檬 +##檯 +##檳 +##檸 +##檻 +##櫃 +##櫚 +##櫛 +##櫥 +##櫸 +##櫻 +##欄 +##權 +##欒 +##欖 +##欠 +##次 +##欢 +##欣 +##欧 +##欲 +##欸 +##欺 +##欽 +##款 +##歆 +##歇 +##歉 +##歌 +##歎 +##歐 +##歓 +##歙 +##歛 +##歡 +##止 +##正 +##此 +##步 +##武 +##歧 +##歩 +##歪 +##歯 +##歲 +##歳 +##歴 +##歷 +##歸 +##歹 +##死 +##歼 +##殁 +##殃 +##殆 +##殇 +##殉 +##殊 +##残 +##殒 +##殓 +##殖 +##殘 +##殞 +##殡 +##殤 +##殭 +##殯 +##殲 +##殴 +##段 +##殷 +##殺 +##殼 +##殿 +##毀 +##毁 +##毂 +##毅 +##毆 +##毋 +##母 +##毎 +##每 +##毒 +##毓 +##比 +##毕 +##毗 +##毘 +##毙 +##毛 +##毡 +##毫 +##毯 +##毽 +##氈 +##氏 +##氐 +##民 +##氓 +##气 +##氖 +##気 +##氙 +##氛 +##氟 +##氡 +##氢 +##氣 +##氤 +##氦 +##氧 +##氨 +##氪 +##氫 +##氮 +##氯 +##氰 +##氲 +##水 +##氷 +##永 +##氹 +##氾 +##汀 +##汁 +##求 +##汆 +##汇 +##汉 +##汎 +##汐 +##汕 +##汗 +##汙 +##汛 +##汝 +##汞 +##江 +##池 +##污 +##汤 +##汨 +##汩 +##汪 +##汰 +##汲 +##汴 +##汶 +##汹 +##決 +##汽 +##汾 +##沁 +##沂 +##沃 +##沅 +##沈 +##沉 +##沌 +##沏 +##沐 +##沒 +##沓 +##沖 +##沙 +##沛 +##沟 +##没 +##沢 +##沣 +##沥 +##沦 +##沧 +##沪 +##沫 +##沭 +##沮 +##沱 +##河 +##沸 +##油 +##治 +##沼 +##沽 +##沾 +##沿 +##況 +##泄 +##泉 +##泊 +##泌 +##泓 +##法 +##泗 +##泛 +##泞 +##泠 +##泡 +##波 +##泣 +##泥 +##注 +##泪 +##泫 +##泮 +##泯 +##泰 +##泱 +##泳 +##泵 +##泷 +##泸 +##泻 +##泼 +##泽 +##泾 +##洁 +##洄 +##洋 +##洒 +##洗 +##洙 +##洛 +##洞 +##津 +##洩 +##洪 +##洮 +##洱 +##洲 +##洵 +##洶 +##洸 +##洹 +##活 +##洼 +##洽 +##派 +##流 +##浃 +##浄 +##浅 +##浆 +##浇 +##浊 +##测 +##济 +##浏 +##浑 +##浒 +##浓 +##浔 +##浙 +##浚 +##浜 +##浣 +##浦 +##浩 +##浪 +##浬 +##浮 +##浯 +##浴 +##海 +##浸 +##涂 +##涅 +##涇 +##消 +##涉 +##涌 +##涎 +##涓 +##涔 +##涕 +##涙 +##涛 +##涝 +##涞 +##涟 +##涠 +##涡 +##涣 +##涤 +##润 +##涧 +##涨 +##涩 +##涪 +##涮 +##涯 +##液 +##涵 +##涸 +##涼 +##涿 +##淀 +##淄 +##淅 +##淆 +##淇 +##淋 +##淌 +##淑 +##淒 +##淖 +##淘 +##淙 +##淚 +##淞 +##淡 +##淤 +##淦 +##淨 +##淩 +##淪 +##淫 +##淬 +##淮 +##深 +##淳 +##淵 +##混 +##淹 +##淺 +##添 +##淼 +##清 +##済 +##渉 +##渊 +##渋 +##渍 +##渎 +##渐 +##渔 +##渗 +##渙 +##渚 +##減 +##渝 +##渠 +##渡 +##渣 +##渤 +##渥 +##渦 +##温 +##測 +##渭 +##港 +##渲 +##渴 +##游 +##渺 +##渾 +##湃 +##湄 +##湊 +##湍 +##湖 +##湘 +##湛 +##湟 +##湧 +##湫 +##湮 +##湯 +##湳 +##湾 +##湿 +##満 +##溃 +##溅 +##溉 +##溏 +##源 +##準 +##溜 +##溝 +##溟 +##溢 +##溥 +##溧 +##溪 +##溫 +##溯 +##溱 +##溴 +##溶 +##溺 +##溼 +##滁 +##滂 +##滄 +##滅 +##滇 +##滋 +##滌 +##滑 +##滓 +##滔 +##滕 +##滙 +##滚 +##滝 +##滞 +##滟 +##满 +##滢 +##滤 +##滥 +##滦 +##滨 +##滩 +##滬 +##滯 +##滲 +##滴 +##滷 +##滸 +##滾 +##滿 +##漁 +##漂 +##漆 +##漉 +##漏 +##漓 +##演 +##漕 +##漠 +##漢 +##漣 +##漩 +##漪 +##漫 +##漬 +##漯 +##漱 +##漲 +##漳 +##漸 +##漾 +##漿 +##潆 +##潇 +##潋 +##潍 +##潑 +##潔 +##潘 +##潛 +##潜 +##潞 +##潟 +##潢 +##潤 +##潦 +##潧 +##潭 +##潮 +##潰 +##潴 +##潸 +##潺 +##潼 +##澀 +##澄 +##澆 +##澈 +##澍 +##澎 +##澗 +##澜 +##澡 +##澤 +##澧 +##澱 +##澳 +##澹 +##激 +##濁 +##濂 +##濃 +##濑 +##濒 +##濕 +##濘 +##濛 +##濟 +##濠 +##濡 +##濤 +##濫 +##濬 +##濮 +##濯 +##濱 +##濺 +##濾 +##瀅 +##瀆 +##瀉 +##瀋 +##瀏 +##瀑 +##瀕 +##瀘 +##瀚 +##瀛 +##瀝 +##瀞 +##瀟 +##瀧 +##瀨 +##瀬 +##瀰 +##瀾 +##灌 +##灏 +##灑 +##灘 +##灝 +##灞 +##灣 +##火 +##灬 +##灭 +##灯 +##灰 +##灵 +##灶 +##灸 +##灼 +##災 +##灾 +##灿 +##炀 +##炁 +##炅 +##炉 +##炊 +##炎 +##炒 +##炔 +##炕 +##炖 +##炙 +##炜 +##炫 +##炬 +##炭 +##炮 +##炯 +##炳 +##炷 +##炸 +##点 +##為 +##炼 +##炽 +##烁 +##烂 +##烃 +##烈 +##烊 +##烏 +##烘 +##烙 +##烛 +##烟 +##烤 +##烦 +##烧 +##烨 +##烩 +##烫 +##烬 +##热 +##烯 +##烷 +##烹 +##烽 +##焉 +##焊 +##焕 +##焖 +##焗 +##焘 +##焙 +##焚 +##焜 +##無 +##焦 +##焯 +##焰 +##焱 +##然 +##焼 +##煅 +##煉 +##煊 +##煌 +##煎 +##煒 +##煖 +##煙 +##煜 +##煞 +##煤 +##煥 +##煦 +##照 +##煨 +##煩 +##煮 +##煲 +##煸 +##煽 +##熄 +##熊 +##熏 +##熒 +##熔 +##熙 +##熟 +##熠 +##熨 +##熬 +##熱 +##熵 +##熹 +##熾 +##燁 +##燃 +##燄 +##燈 +##燉 +##燊 +##燎 +##燒 +##燔 +##燕 +##燙 +##燜 +##營 +##燥 +##燦 +##燧 +##燭 +##燮 +##燴 +##燻 +##燼 +##燿 +##爆 +##爍 +##爐 +##爛 +##爪 +##爬 +##爭 +##爰 +##爱 +##爲 +##爵 +##父 +##爷 +##爸 +##爹 +##爺 +##爻 +##爽 +##爾 +##牆 +##片 +##版 +##牌 +##牍 +##牒 +##牙 +##牛 +##牝 +##牟 +##牠 +##牡 +##牢 +##牦 +##牧 +##物 +##牯 +##牲 +##牴 +##牵 +##特 +##牺 +##牽 +##犀 +##犁 +##犄 +##犊 +##犍 +##犒 +##犢 +##犧 +##犬 +##犯 +##状 +##犷 +##犸 +##犹 +##狀 +##狂 +##狄 +##狈 +##狎 +##狐 +##狒 +##狗 +##狙 +##狞 +##狠 +##狡 +##狩 +##独 +##狭 +##狮 +##狰 +##狱 +##狸 +##狹 +##狼 +##狽 +##猎 +##猕 +##猖 +##猗 +##猙 +##猛 +##猜 +##猝 +##猥 +##猩 +##猪 +##猫 +##猬 +##献 +##猴 +##猶 +##猷 +##猾 +##猿 +##獄 +##獅 +##獎 +##獐 +##獒 +##獗 +##獠 +##獣 +##獨 +##獭 +##獰 +##獲 +##獵 +##獷 +##獸 +##獺 +##獻 +##獼 +##獾 +##玄 +##率 +##玉 +##王 +##玑 +##玖 +##玛 +##玟 +##玠 +##玥 +##玩 +##玫 +##玮 +##环 +##现 +##玲 +##玳 +##玷 +##玺 +##玻 +##珀 +##珂 +##珅 +##珈 +##珉 +##珊 +##珍 +##珏 +##珐 +##珑 +##珙 +##珞 +##珠 +##珣 +##珥 +##珩 +##珪 +##班 +##珮 +##珲 +##珺 +##現 +##球 +##琅 +##理 +##琇 +##琉 +##琊 +##琍 +##琏 +##琐 +##琛 +##琢 +##琥 +##琦 +##琨 +##琪 +##琬 +##琮 +##琰 +##琲 +##琳 +##琴 +##琵 +##琶 +##琺 +##琼 +##瑀 +##瑁 +##瑄 +##瑋 +##瑕 +##瑗 +##瑙 +##瑚 +##瑛 +##瑜 +##瑞 +##瑟 +##瑠 +##瑣 +##瑤 +##瑩 +##瑪 +##瑯 +##瑰 +##瑶 +##瑾 +##璀 +##璁 +##璃 +##璇 +##璉 +##璋 +##璎 +##璐 +##璜 +##璞 +##璟 +##璧 +##璨 +##環 +##璽 +##璿 +##瓊 +##瓏 +##瓒 +##瓜 +##瓢 +##瓣 +##瓤 +##瓦 +##瓮 +##瓯 +##瓴 +##瓶 +##瓷 +##甄 +##甌 +##甕 +##甘 +##甙 +##甚 +##甜 +##生 +##產 +##産 +##甥 +##甦 +##用 +##甩 +##甫 +##甬 +##甭 +##甯 +##田 +##由 +##甲 +##申 +##电 +##男 +##甸 +##町 +##画 +##甾 +##畀 +##畅 +##界 +##畏 +##畑 +##畔 +##留 +##畜 +##畝 +##畢 +##略 +##畦 +##番 +##畫 +##異 +##畲 +##畳 +##畴 +##當 +##畸 +##畹 +##畿 +##疆 +##疇 +##疊 +##疏 +##疑 +##疔 +##疖 +##疗 +##疙 +##疚 +##疝 +##疟 +##疡 +##疣 +##疤 +##疥 +##疫 +##疮 +##疯 +##疱 +##疲 +##疳 +##疵 +##疸 +##疹 +##疼 +##疽 +##疾 +##痂 +##病 +##症 +##痈 +##痉 +##痊 +##痍 +##痒 +##痔 +##痕 +##痘 +##痙 +##痛 +##痞 +##痠 +##痢 +##痣 +##痤 +##痧 +##痨 +##痪 +##痫 +##痰 +##痱 +##痴 +##痹 +##痺 +##痼 +##痿 +##瘀 +##瘁 +##瘋 +##瘍 +##瘓 +##瘘 +##瘙 +##瘟 +##瘠 +##瘡 +##瘢 +##瘤 +##瘦 +##瘧 +##瘩 +##瘪 +##瘫 +##瘴 +##瘸 +##瘾 +##療 +##癇 +##癌 +##癒 +##癖 +##癜 +##癞 +##癡 +##癢 +##癣 +##癥 +##癫 +##癬 +##癮 +##癱 +##癲 +##癸 +##発 +##登 +##發 +##白 +##百 +##皂 +##的 +##皆 +##皇 +##皈 +##皋 +##皎 +##皑 +##皓 +##皖 +##皙 +##皚 +##皮 +##皰 +##皱 +##皴 +##皺 +##皿 +##盂 +##盃 +##盅 +##盆 +##盈 +##益 +##盎 +##盏 +##盐 +##监 +##盒 +##盔 +##盖 +##盗 +##盘 +##盛 +##盜 +##盞 +##盟 +##盡 +##監 +##盤 +##盥 +##盧 +##盪 +##目 +##盯 +##盱 +##盲 +##直 +##相 +##盹 +##盼 +##盾 +##省 +##眈 +##眉 +##看 +##県 +##眙 +##眞 +##真 +##眠 +##眦 +##眨 +##眩 +##眯 +##眶 +##眷 +##眸 +##眺 +##眼 +##眾 +##着 +##睁 +##睇 +##睏 +##睐 +##睑 +##睛 +##睜 +##睞 +##睡 +##睢 +##督 +##睥 +##睦 +##睨 +##睪 +##睫 +##睬 +##睹 +##睽 +##睾 +##睿 +##瞄 +##瞅 +##瞇 +##瞋 +##瞌 +##瞎 +##瞑 +##瞒 +##瞓 +##瞞 +##瞟 +##瞠 +##瞥 +##瞧 +##瞩 +##瞪 +##瞬 +##瞭 +##瞰 +##瞳 +##瞻 +##瞼 +##瞿 +##矇 +##矍 +##矗 +##矚 +##矛 +##矜 +##矢 +##矣 +##知 +##矩 +##矫 +##短 +##矮 +##矯 +##石 +##矶 +##矽 +##矾 +##矿 +##码 +##砂 +##砌 +##砍 +##砒 +##研 +##砖 +##砗 +##砚 +##砝 +##砣 +##砥 +##砧 +##砭 +##砰 +##砲 +##破 +##砷 +##砸 +##砺 +##砼 +##砾 +##础 +##硅 +##硐 +##硒 +##硕 +##硝 +##硫 +##硬 +##确 +##硯 +##硼 +##碁 +##碇 +##碉 +##碌 +##碍 +##碎 +##碑 +##碓 +##碗 +##碘 +##碚 +##碛 +##碟 +##碣 +##碧 +##碩 +##碰 +##碱 +##碳 +##碴 +##確 +##碼 +##碾 +##磁 +##磅 +##磊 +##磋 +##磐 +##磕 +##磚 +##磡 +##磨 +##磬 +##磯 +##磲 +##磷 +##磺 +##礁 +##礎 +##礙 +##礡 +##礦 +##礪 +##礫 +##礴 +##示 +##礼 +##社 +##祀 +##祁 +##祂 +##祇 +##祈 +##祉 +##祎 +##祐 +##祕 +##祖 +##祗 +##祚 +##祛 +##祜 +##祝 +##神 +##祟 +##祠 +##祢 +##祥 +##票 +##祭 +##祯 +##祷 +##祸 +##祺 +##祿 +##禀 +##禁 +##禄 +##禅 +##禍 +##禎 +##福 +##禛 +##禦 +##禧 +##禪 +##禮 +##禱 +##禹 +##禺 +##离 +##禽 +##禾 +##禿 +##秀 +##私 +##秃 +##秆 +##秉 +##秋 +##种 +##科 +##秒 +##秘 +##租 +##秣 +##秤 +##秦 +##秧 +##秩 +##秭 +##积 +##称 +##秸 +##移 +##秽 +##稀 +##稅 +##程 +##稍 +##税 +##稔 +##稗 +##稚 +##稜 +##稞 +##稟 +##稠 +##稣 +##種 +##稱 +##稲 +##稳 +##稷 +##稹 +##稻 +##稼 +##稽 +##稿 +##穀 +##穂 +##穆 +##穌 +##積 +##穎 +##穗 +##穢 +##穩 +##穫 +##穴 +##究 +##穷 +##穹 +##空 +##穿 +##突 +##窃 +##窄 +##窈 +##窍 +##窑 +##窒 +##窓 +##窕 +##窖 +##窗 +##窘 +##窜 +##窝 +##窟 +##窠 +##窥 +##窦 +##窨 +##窩 +##窪 +##窮 +##窯 +##窺 +##窿 +##竄 +##竅 +##竇 +##竊 +##立 +##竖 +##站 +##竜 +##竞 +##竟 +##章 +##竣 +##童 +##竭 +##端 +##競 +##竹 +##竺 +##竽 +##竿 +##笃 +##笆 +##笈 +##笋 +##笏 +##笑 +##笔 +##笙 +##笛 +##笞 +##笠 +##符 +##笨 +##第 +##笹 +##笺 +##笼 +##筆 +##等 +##筊 +##筋 +##筍 +##筏 +##筐 +##筑 +##筒 +##答 +##策 +##筛 +##筝 +##筠 +##筱 +##筲 +##筵 +##筷 +##筹 +##签 +##简 +##箇 +##箋 +##箍 +##箏 +##箐 +##箔 +##箕 +##算 +##箝 +##管 +##箩 +##箫 +##箭 +##箱 +##箴 +##箸 +##節 +##篁 +##範 +##篆 +##篇 +##築 +##篑 +##篓 +##篙 +##篝 +##篠 +##篡 +##篤 +##篩 +##篪 +##篮 +##篱 +##篷 +##簇 +##簌 +##簍 +##簡 +##簦 +##簧 +##簪 +##簫 +##簷 +##簸 +##簽 +##簾 +##簿 +##籁 +##籃 +##籌 +##籍 +##籐 +##籟 +##籠 +##籤 +##籬 +##籮 +##籲 +##米 +##类 +##籼 +##籽 +##粄 +##粉 +##粑 +##粒 +##粕 +##粗 +##粘 +##粟 +##粤 +##粥 +##粧 +##粪 +##粮 +##粱 +##粲 +##粳 +##粵 +##粹 +##粼 +##粽 +##精 +##粿 +##糅 +##糊 +##糍 +##糕 +##糖 +##糗 +##糙 +##糜 +##糞 +##糟 +##糠 +##糧 +##糬 +##糯 +##糰 +##糸 +##系 +##糾 +##紀 +##紂 +##約 +##紅 +##紉 +##紊 +##紋 +##納 +##紐 +##紓 +##純 +##紗 +##紘 +##紙 +##級 +##紛 +##紜 +##素 +##紡 +##索 +##紧 +##紫 +##紮 +##累 +##細 +##紳 +##紹 +##紺 +##終 +##絃 +##組 +##絆 +##経 +##結 +##絕 +##絞 +##絡 +##絢 +##給 +##絨 +##絮 +##統 +##絲 +##絳 +##絵 +##絶 +##絹 +##綁 +##綏 +##綑 +##經 +##継 +##続 +##綜 +##綠 +##綢 +##綦 +##綫 +##綬 +##維 +##綱 +##網 +##綴 +##綵 +##綸 +##綺 +##綻 +##綽 +##綾 +##綿 +##緊 +##緋 +##総 +##緑 +##緒 +##緘 +##線 +##緝 +##緞 +##締 +##緣 +##編 +##緩 +##緬 +##緯 +##練 +##緹 +##緻 +##縁 +##縄 +##縈 +##縛 +##縝 +##縣 +##縫 +##縮 +##縱 +##縴 +##縷 +##總 +##績 +##繁 +##繃 +##繆 +##繇 +##繋 +##織 +##繕 +##繚 +##繞 +##繡 +##繩 +##繪 +##繫 +##繭 +##繳 +##繹 +##繼 +##繽 +##纂 +##續 +##纍 +##纏 +##纓 +##纔 +##纖 +##纜 +##纠 +##红 +##纣 +##纤 +##约 +##级 +##纨 +##纪 +##纫 +##纬 +##纭 +##纯 +##纰 +##纱 +##纲 +##纳 +##纵 +##纶 +##纷 +##纸 +##纹 +##纺 +##纽 +##纾 +##线 +##绀 +##练 +##组 +##绅 +##细 +##织 +##终 +##绊 +##绍 +##绎 +##经 +##绑 +##绒 +##结 +##绔 +##绕 +##绘 +##给 +##绚 +##绛 +##络 +##绝 +##绞 +##统 +##绡 +##绢 +##绣 +##绥 +##绦 +##继 +##绩 +##绪 +##绫 +##续 +##绮 +##绯 +##绰 +##绳 +##维 +##绵 +##绶 +##绷 +##绸 +##绻 +##综 +##绽 +##绾 +##绿 +##缀 +##缄 +##缅 +##缆 +##缇 +##缈 +##缉 +##缎 +##缓 +##缔 +##缕 +##编 +##缘 +##缙 +##缚 +##缜 +##缝 +##缠 +##缢 +##缤 +##缥 +##缨 +##缩 +##缪 +##缭 +##缮 +##缰 +##缱 +##缴 +##缸 +##缺 +##缽 +##罂 +##罄 +##罌 +##罐 +##网 +##罔 +##罕 +##罗 +##罚 +##罡 +##罢 +##罩 +##罪 +##置 +##罰 +##署 +##罵 +##罷 +##罹 +##羁 +##羅 +##羈 +##羊 +##羌 +##美 +##羔 +##羚 +##羞 +##羟 +##羡 +##羣 +##群 +##羥 +##羧 +##羨 +##義 +##羯 +##羲 +##羸 +##羹 +##羽 +##羿 +##翁 +##翅 +##翊 +##翌 +##翎 +##習 +##翔 +##翘 +##翟 +##翠 +##翡 +##翦 +##翩 +##翰 +##翱 +##翳 +##翹 +##翻 +##翼 +##耀 +##老 +##考 +##耄 +##者 +##耆 +##耋 +##而 +##耍 +##耐 +##耒 +##耕 +##耗 +##耘 +##耙 +##耦 +##耨 +##耳 +##耶 +##耷 +##耸 +##耻 +##耽 +##耿 +##聂 +##聆 +##聊 +##聋 +##职 +##聒 +##联 +##聖 +##聘 +##聚 +##聞 +##聪 +##聯 +##聰 +##聲 +##聳 +##聴 +##聶 +##職 +##聽 +##聾 +##聿 +##肃 +##肄 +##肅 +##肆 +##肇 +##肉 +##肋 +##肌 +##肏 +##肓 +##肖 +##肘 +##肚 +##肛 +##肝 +##肠 +##股 +##肢 +##肤 +##肥 +##肩 +##肪 +##肮 +##肯 +##肱 +##育 +##肴 +##肺 +##肽 +##肾 +##肿 +##胀 +##胁 +##胃 +##胄 +##胆 +##背 +##胍 +##胎 +##胖 +##胚 +##胛 +##胜 +##胝 +##胞 +##胡 +##胤 +##胥 +##胧 +##胫 +##胭 +##胯 +##胰 +##胱 +##胳 +##胴 +##胶 +##胸 +##胺 +##能 +##脂 +##脅 +##脆 +##脇 +##脈 +##脉 +##脊 +##脍 +##脏 +##脐 +##脑 +##脓 +##脖 +##脘 +##脚 +##脛 +##脣 +##脩 +##脫 +##脯 +##脱 +##脲 +##脳 +##脸 +##脹 +##脾 +##腆 +##腈 +##腊 +##腋 +##腌 +##腎 +##腐 +##腑 +##腓 +##腔 +##腕 +##腥 +##腦 +##腩 +##腫 +##腭 +##腮 +##腰 +##腱 +##腳 +##腴 +##腸 +##腹 +##腺 +##腻 +##腼 +##腾 +##腿 +##膀 +##膈 +##膊 +##膏 +##膑 +##膘 +##膚 +##膛 +##膜 +##膝 +##膠 +##膦 +##膨 +##膩 +##膳 +##膺 +##膻 +##膽 +##膾 +##膿 +##臀 +##臂 +##臃 +##臆 +##臉 +##臊 +##臍 +##臓 +##臘 +##臟 +##臣 +##臥 +##臧 +##臨 +##自 +##臬 +##臭 +##至 +##致 +##臺 +##臻 +##臼 +##臾 +##舀 +##舂 +##舅 +##舆 +##與 +##興 +##舉 +##舊 +##舌 +##舍 +##舎 +##舐 +##舒 +##舔 +##舖 +##舗 +##舛 +##舜 +##舞 +##舟 +##航 +##舫 +##般 +##舰 +##舱 +##舵 +##舶 +##舷 +##舸 +##船 +##舺 +##舾 +##艇 +##艋 +##艘 +##艙 +##艦 +##艮 +##良 +##艰 +##艱 +##色 +##艳 +##艷 +##艹 +##艺 +##艾 +##节 +##芃 +##芈 +##芊 +##芋 +##芍 +##芎 +##芒 +##芙 +##芜 +##芝 +##芡 +##芥 +##芦 +##芩 +##芪 +##芫 +##芬 +##芭 +##芮 +##芯 +##花 +##芳 +##芷 +##芸 +##芹 +##芻 +##芽 +##芾 +##苁 +##苄 +##苇 +##苋 +##苍 +##苏 +##苑 +##苒 +##苓 +##苔 +##苕 +##苗 +##苛 +##苜 +##苞 +##苟 +##苡 +##苣 +##若 +##苦 +##苫 +##苯 +##英 +##苷 +##苹 +##苻 +##茁 +##茂 +##范 +##茄 +##茅 +##茉 +##茎 +##茏 +##茗 +##茜 +##茧 +##茨 +##茫 +##茬 +##茭 +##茯 +##茱 +##茲 +##茴 +##茵 +##茶 +##茸 +##茹 +##茼 +##荀 +##荃 +##荆 +##草 +##荊 +##荏 +##荐 +##荒 +##荔 +##荖 +##荘 +##荚 +##荞 +##荟 +##荠 +##荡 +##荣 +##荤 +##荥 +##荧 +##荨 +##荪 +##荫 +##药 +##荳 +##荷 +##荸 +##荻 +##荼 +##荽 +##莅 +##莆 +##莉 +##莊 +##莎 +##莒 +##莓 +##莖 +##莘 +##莞 +##莠 +##莢 +##莧 +##莪 +##莫 +##莱 +##莲 +##莴 +##获 +##莹 +##莺 +##莽 +##莿 +##菀 +##菁 +##菅 +##菇 +##菈 +##菊 +##菌 +##菏 +##菓 +##菖 +##菘 +##菜 +##菟 +##菠 +##菡 +##菩 +##華 +##菱 +##菲 +##菸 +##菽 +##萁 +##萃 +##萄 +##萊 +##萋 +##萌 +##萍 +##萎 +##萘 +##萝 +##萤 +##营 +##萦 +##萧 +##萨 +##萩 +##萬 +##萱 +##萵 +##萸 +##萼 +##落 +##葆 +##葉 +##著 +##葚 +##葛 +##葡 +##董 +##葦 +##葩 +##葫 +##葬 +##葭 +##葯 +##葱 +##葳 +##葵 +##葷 +##葺 +##蒂 +##蒋 +##蒐 +##蒔 +##蒙 +##蒜 +##蒞 +##蒟 +##蒡 +##蒨 +##蒲 +##蒸 +##蒹 +##蒻 +##蒼 +##蒿 +##蓁 +##蓄 +##蓆 +##蓉 +##蓋 +##蓑 +##蓓 +##蓖 +##蓝 +##蓟 +##蓦 +##蓬 +##蓮 +##蓼 +##蓿 +##蔑 +##蔓 +##蔔 +##蔗 +##蔘 +##蔚 +##蔡 +##蔣 +##蔥 +##蔫 +##蔬 +##蔭 +##蔵 +##蔷 +##蔺 +##蔻 +##蔼 +##蔽 +##蕁 +##蕃 +##蕈 +##蕉 +##蕊 +##蕎 +##蕙 +##蕤 +##蕨 +##蕩 +##蕪 +##蕭 +##蕲 +##蕴 +##蕻 +##蕾 +##薄 +##薅 +##薇 +##薈 +##薊 +##薏 +##薑 +##薔 +##薙 +##薛 +##薦 +##薨 +##薩 +##薪 +##薬 +##薯 +##薰 +##薹 +##藉 +##藍 +##藏 +##藐 +##藓 +##藕 +##藜 +##藝 +##藤 +##藥 +##藩 +##藹 +##藻 +##藿 +##蘆 +##蘇 +##蘊 +##蘋 +##蘑 +##蘚 +##蘭 +##蘸 +##蘼 +##蘿 +##虎 +##虏 +##虐 +##虑 +##虔 +##處 +##虚 +##虛 +##虜 +##虞 +##號 +##虢 +##虧 +##虫 +##虬 +##虱 +##虹 +##虻 +##虽 +##虾 +##蚀 +##蚁 +##蚂 +##蚊 +##蚌 +##蚓 +##蚕 +##蚜 +##蚝 +##蚣 +##蚤 +##蚩 +##蚪 +##蚯 +##蚱 +##蚵 +##蛀 +##蛆 +##蛇 +##蛊 +##蛋 +##蛎 +##蛐 +##蛔 +##蛙 +##蛛 +##蛟 +##蛤 +##蛭 +##蛮 +##蛰 +##蛳 +##蛹 +##蛻 +##蛾 +##蜀 +##蜂 +##蜃 +##蜆 +##蜇 +##蜈 +##蜊 +##蜍 +##蜒 +##蜓 +##蜕 +##蜗 +##蜘 +##蜚 +##蜜 +##蜡 +##蜢 +##蜥 +##蜱 +##蜴 +##蜷 +##蜻 +##蜿 +##蝇 +##蝈 +##蝉 +##蝌 +##蝎 +##蝕 +##蝗 +##蝙 +##蝟 +##蝠 +##蝦 +##蝨 +##蝴 +##蝶 +##蝸 +##蝼 +##螂 +##螃 +##融 +##螞 +##螢 +##螨 +##螯 +##螳 +##螺 +##蟀 +##蟄 +##蟆 +##蟋 +##蟎 +##蟑 +##蟒 +##蟠 +##蟬 +##蟲 +##蟹 +##蟻 +##蟾 +##蠅 +##蠍 +##蠔 +##蠕 +##蠛 +##蠟 +##蠡 +##蠢 +##蠣 +##蠱 +##蠶 +##蠹 +##蠻 +##血 +##衄 +##衅 +##衆 +##行 +##衍 +##術 +##衔 +##街 +##衙 +##衛 +##衝 +##衞 +##衡 +##衢 +##衣 +##补 +##表 +##衩 +##衫 +##衬 +##衮 +##衰 +##衲 +##衷 +##衹 +##衾 +##衿 +##袁 +##袂 +##袄 +##袅 +##袈 +##袋 +##袍 +##袒 +##袖 +##袜 +##袞 +##袤 +##袪 +##被 +##袭 +##袱 +##裁 +##裂 +##装 +##裆 +##裊 +##裏 +##裔 +##裕 +##裘 +##裙 +##補 +##裝 +##裟 +##裡 +##裤 +##裨 +##裱 +##裳 +##裴 +##裸 +##裹 +##製 +##裾 +##褂 +##複 +##褐 +##褒 +##褓 +##褔 +##褚 +##褥 +##褪 +##褫 +##褲 +##褶 +##褻 +##襁 +##襄 +##襟 +##襠 +##襪 +##襬 +##襯 +##襲 +##西 +##要 +##覃 +##覆 +##覇 +##見 +##規 +##覓 +##視 +##覚 +##覦 +##覧 +##親 +##覬 +##観 +##覷 +##覺 +##覽 +##觀 +##见 +##观 +##规 +##觅 +##视 +##览 +##觉 +##觊 +##觎 +##觐 +##觑 +##角 +##觞 +##解 +##觥 +##触 +##觸 +##言 +##訂 +##計 +##訊 +##討 +##訓 +##訕 +##訖 +##託 +##記 +##訛 +##訝 +##訟 +##訣 +##訥 +##訪 +##設 +##許 +##訳 +##訴 +##訶 +##診 +##註 +##証 +##詆 +##詐 +##詔 +##評 +##詛 +##詞 +##詠 +##詡 +##詢 +##詣 +##試 +##詩 +##詫 +##詬 +##詭 +##詮 +##詰 +##話 +##該 +##詳 +##詹 +##詼 +##誅 +##誇 +##誉 +##誌 +##認 +##誓 +##誕 +##誘 +##語 +##誠 +##誡 +##誣 +##誤 +##誥 +##誦 +##誨 +##說 +##説 +##読 +##誰 +##課 +##誹 +##誼 +##調 +##諄 +##談 +##請 +##諏 +##諒 +##論 +##諗 +##諜 +##諡 +##諦 +##諧 +##諫 +##諭 +##諮 +##諱 +##諳 +##諷 +##諸 +##諺 +##諾 +##謀 +##謁 +##謂 +##謄 +##謊 +##謎 +##謐 +##謔 +##謗 +##謙 +##講 +##謝 +##謠 +##謨 +##謬 +##謹 +##謾 +##譁 +##證 +##譎 +##譏 +##識 +##譙 +##譚 +##譜 +##警 +##譬 +##譯 +##議 +##譲 +##譴 +##護 +##譽 +##讀 +##變 +##讓 +##讚 +##讞 +##计 +##订 +##认 +##讥 +##讧 +##讨 +##让 +##讪 +##讫 +##训 +##议 +##讯 +##记 +##讲 +##讳 +##讴 +##讶 +##讷 +##许 +##讹 +##论 +##讼 +##讽 +##设 +##访 +##诀 +##证 +##诃 +##评 +##诅 +##识 +##诈 +##诉 +##诊 +##诋 +##词 +##诏 +##译 +##试 +##诗 +##诘 +##诙 +##诚 +##诛 +##话 +##诞 +##诟 +##诠 +##诡 +##询 +##诣 +##诤 +##该 +##详 +##诧 +##诩 +##诫 +##诬 +##语 +##误 +##诰 +##诱 +##诲 +##说 +##诵 +##诶 +##请 +##诸 +##诺 +##读 +##诽 +##课 +##诿 +##谀 +##谁 +##调 +##谄 +##谅 +##谆 +##谈 +##谊 +##谋 +##谌 +##谍 +##谎 +##谏 +##谐 +##谑 +##谒 +##谓 +##谔 +##谕 +##谗 +##谘 +##谙 +##谚 +##谛 +##谜 +##谟 +##谢 +##谣 +##谤 +##谥 +##谦 +##谧 +##谨 +##谩 +##谪 +##谬 +##谭 +##谯 +##谱 +##谲 +##谴 +##谶 +##谷 +##豁 +##豆 +##豇 +##豈 +##豉 +##豊 +##豌 +##豎 +##豐 +##豔 +##豚 +##象 +##豢 +##豪 +##豫 +##豬 +##豹 +##豺 +##貂 +##貅 +##貌 +##貓 +##貔 +##貘 +##貝 +##貞 +##負 +##財 +##貢 +##貧 +##貨 +##販 +##貪 +##貫 +##責 +##貯 +##貰 +##貳 +##貴 +##貶 +##買 +##貸 +##費 +##貼 +##貽 +##貿 +##賀 +##賁 +##賂 +##賃 +##賄 +##資 +##賈 +##賊 +##賑 +##賓 +##賜 +##賞 +##賠 +##賡 +##賢 +##賣 +##賤 +##賦 +##質 +##賬 +##賭 +##賴 +##賺 +##購 +##賽 +##贅 +##贈 +##贊 +##贍 +##贏 +##贓 +##贖 +##贛 +##贝 +##贞 +##负 +##贡 +##财 +##责 +##贤 +##败 +##账 +##货 +##质 +##贩 +##贪 +##贫 +##贬 +##购 +##贮 +##贯 +##贰 +##贱 +##贲 +##贴 +##贵 +##贷 +##贸 +##费 +##贺 +##贻 +##贼 +##贾 +##贿 +##赁 +##赂 +##赃 +##资 +##赅 +##赈 +##赊 +##赋 +##赌 +##赎 +##赏 +##赐 +##赓 +##赔 +##赖 +##赘 +##赚 +##赛 +##赝 +##赞 +##赠 +##赡 +##赢 +##赣 +##赤 +##赦 +##赧 +##赫 +##赭 +##走 +##赳 +##赴 +##赵 +##赶 +##起 +##趁 +##超 +##越 +##趋 +##趕 +##趙 +##趟 +##趣 +##趨 +##足 +##趴 +##趵 +##趸 +##趺 +##趾 +##跃 +##跄 +##跆 +##跋 +##跌 +##跎 +##跑 +##跖 +##跚 +##跛 +##距 +##跟 +##跡 +##跤 +##跨 +##跩 +##跪 +##路 +##跳 +##践 +##跷 +##跹 +##跺 +##跻 +##踉 +##踊 +##踌 +##踏 +##踐 +##踝 +##踞 +##踟 +##踢 +##踩 +##踪 +##踮 +##踱 +##踴 +##踵 +##踹 +##蹂 +##蹄 +##蹇 +##蹈 +##蹉 +##蹊 +##蹋 +##蹑 +##蹒 +##蹙 +##蹟 +##蹣 +##蹤 +##蹦 +##蹩 +##蹬 +##蹭 +##蹲 +##蹴 +##蹶 +##蹺 +##蹼 +##蹿 +##躁 +##躇 +##躉 +##躊 +##躋 +##躍 +##躏 +##躪 +##身 +##躬 +##躯 +##躲 +##躺 +##軀 +##車 +##軋 +##軌 +##軍 +##軒 +##軟 +##転 +##軸 +##軼 +##軽 +##軾 +##較 +##載 +##輒 +##輓 +##輔 +##輕 +##輛 +##輝 +##輟 +##輩 +##輪 +##輯 +##輸 +##輻 +##輾 +##輿 +##轄 +##轅 +##轆 +##轉 +##轍 +##轎 +##轟 +##车 +##轧 +##轨 +##轩 +##转 +##轭 +##轮 +##软 +##轰 +##轲 +##轴 +##轶 +##轻 +##轼 +##载 +##轿 +##较 +##辄 +##辅 +##辆 +##辇 +##辈 +##辉 +##辊 +##辍 +##辐 +##辑 +##输 +##辕 +##辖 +##辗 +##辘 +##辙 +##辛 +##辜 +##辞 +##辟 +##辣 +##辦 +##辨 +##辩 +##辫 +##辭 +##辮 +##辯 +##辰 +##辱 +##農 +##边 +##辺 +##辻 +##込 +##辽 +##达 +##迁 +##迂 +##迄 +##迅 +##过 +##迈 +##迎 +##运 +##近 +##返 +##还 +##这 +##进 +##远 +##违 +##连 +##迟 +##迢 +##迤 +##迥 +##迦 +##迩 +##迪 +##迫 +##迭 +##述 +##迴 +##迷 +##迸 +##迹 +##迺 +##追 +##退 +##送 +##适 +##逃 +##逅 +##逆 +##选 +##逊 +##逍 +##透 +##逐 +##递 +##途 +##逕 +##逗 +##這 +##通 +##逛 +##逝 +##逞 +##速 +##造 +##逢 +##連 +##逮 +##週 +##進 +##逵 +##逶 +##逸 +##逻 +##逼 +##逾 +##遁 +##遂 +##遅 +##遇 +##遊 +##運 +##遍 +##過 +##遏 +##遐 +##遑 +##遒 +##道 +##達 +##違 +##遗 +##遙 +##遛 +##遜 +##遞 +##遠 +##遢 +##遣 +##遥 +##遨 +##適 +##遭 +##遮 +##遲 +##遴 +##遵 +##遶 +##遷 +##選 +##遺 +##遼 +##遽 +##避 +##邀 +##邁 +##邂 +##邃 +##還 +##邇 +##邈 +##邊 +##邋 +##邏 +##邑 +##邓 +##邕 +##邛 +##邝 +##邢 +##那 +##邦 +##邨 +##邪 +##邬 +##邮 +##邯 +##邰 +##邱 +##邳 +##邵 +##邸 +##邹 +##邺 +##邻 +##郁 +##郅 +##郊 +##郎 +##郑 +##郜 +##郝 +##郡 +##郢 +##郤 +##郦 +##郧 +##部 +##郫 +##郭 +##郴 +##郵 +##郷 +##郸 +##都 +##鄂 +##鄉 +##鄒 +##鄔 +##鄙 +##鄞 +##鄢 +##鄧 +##鄭 +##鄰 +##鄱 +##鄲 +##鄺 +##酉 +##酊 +##酋 +##酌 +##配 +##酐 +##酒 +##酗 +##酚 +##酝 +##酢 +##酣 +##酥 +##酩 +##酪 +##酬 +##酮 +##酯 +##酰 +##酱 +##酵 +##酶 +##酷 +##酸 +##酿 +##醃 +##醇 +##醉 +##醋 +##醍 +##醐 +##醒 +##醚 +##醛 +##醜 +##醞 +##醣 +##醪 +##醫 +##醬 +##醮 +##醯 +##醴 +##醺 +##釀 +##釁 +##采 +##釉 +##释 +##釋 +##里 +##重 +##野 +##量 +##釐 +##金 +##釗 +##釘 +##釜 +##針 +##釣 +##釦 +##釧 +##釵 +##鈀 +##鈉 +##鈍 +##鈎 +##鈔 +##鈕 +##鈞 +##鈣 +##鈦 +##鈪 +##鈴 +##鈺 +##鈾 +##鉀 +##鉄 +##鉅 +##鉉 +##鉑 +##鉗 +##鉚 +##鉛 +##鉤 +##鉴 +##鉻 +##銀 +##銃 +##銅 +##銑 +##銓 +##銖 +##銘 +##銜 +##銬 +##銭 +##銮 +##銳 +##銷 +##銹 +##鋁 +##鋅 +##鋒 +##鋤 +##鋪 +##鋰 +##鋸 +##鋼 +##錄 +##錐 +##錘 +##錚 +##錠 +##錢 +##錦 +##錨 +##錫 +##錮 +##錯 +##録 +##錳 +##錶 +##鍊 +##鍋 +##鍍 +##鍛 +##鍥 +##鍰 +##鍵 +##鍺 +##鍾 +##鎂 +##鎊 +##鎌 +##鎏 +##鎔 +##鎖 +##鎗 +##鎚 +##鎧 +##鎬 +##鎮 +##鎳 +##鏈 +##鏖 +##鏗 +##鏘 +##鏞 +##鏟 +##鏡 +##鏢 +##鏤 +##鏽 +##鐘 +##鐮 +##鐲 +##鐳 +##鐵 +##鐸 +##鐺 +##鑄 +##鑊 +##鑑 +##鑒 +##鑣 +##鑫 +##鑰 +##鑲 +##鑼 +##鑽 +##鑾 +##鑿 +##针 +##钉 +##钊 +##钎 +##钏 +##钒 +##钓 +##钗 +##钙 +##钛 +##钜 +##钝 +##钞 +##钟 +##钠 +##钡 +##钢 +##钣 +##钤 +##钥 +##钦 +##钧 +##钨 +##钩 +##钮 +##钯 +##钰 +##钱 +##钳 +##钴 +##钵 +##钺 +##钻 +##钼 +##钾 +##钿 +##铀 +##铁 +##铂 +##铃 +##铄 +##铅 +##铆 +##铉 +##铎 +##铐 +##铛 +##铜 +##铝 +##铠 +##铡 +##铢 +##铣 +##铤 +##铨 +##铩 +##铬 +##铭 +##铮 +##铰 +##铲 +##铵 +##银 +##铸 +##铺 +##链 +##铿 +##销 +##锁 +##锂 +##锄 +##锅 +##锆 +##锈 +##锉 +##锋 +##锌 +##锏 +##锐 +##锑 +##错 +##锚 +##锟 +##锡 +##锢 +##锣 +##锤 +##锥 +##锦 +##锭 +##键 +##锯 +##锰 +##锲 +##锵 +##锹 +##锺 +##锻 +##镀 +##镁 +##镂 +##镇 +##镉 +##镌 +##镍 +##镐 +##镑 +##镕 +##镖 +##镗 +##镛 +##镜 +##镣 +##镭 +##镯 +##镰 +##镳 +##镶 +##長 +##长 +##門 +##閃 +##閉 +##開 +##閎 +##閏 +##閑 +##閒 +##間 +##閔 +##閘 +##閡 +##関 +##閣 +##閥 +##閨 +##閩 +##閱 +##閲 +##閹 +##閻 +##閾 +##闆 +##闇 +##闊 +##闌 +##闍 +##闔 +##闕 +##闖 +##闘 +##關 +##闡 +##闢 +##门 +##闪 +##闫 +##闭 +##问 +##闯 +##闰 +##闲 +##间 +##闵 +##闷 +##闸 +##闹 +##闺 +##闻 +##闽 +##闾 +##阀 +##阁 +##阂 +##阅 +##阆 +##阇 +##阈 +##阉 +##阎 +##阐 +##阑 +##阔 +##阕 +##阖 +##阙 +##阚 +##阜 +##队 +##阡 +##阪 +##阮 +##阱 +##防 +##阳 +##阴 +##阵 +##阶 +##阻 +##阿 +##陀 +##陂 +##附 +##际 +##陆 +##陇 +##陈 +##陋 +##陌 +##降 +##限 +##陕 +##陛 +##陝 +##陞 +##陟 +##陡 +##院 +##陣 +##除 +##陨 +##险 +##陪 +##陰 +##陲 +##陳 +##陵 +##陶 +##陷 +##陸 +##険 +##陽 +##隅 +##隆 +##隈 +##隊 +##隋 +##隍 +##階 +##随 +##隐 +##隔 +##隕 +##隘 +##隙 +##際 +##障 +##隠 +##隣 +##隧 +##隨 +##險 +##隱 +##隴 +##隶 +##隸 +##隻 +##隼 +##隽 +##难 +##雀 +##雁 +##雄 +##雅 +##集 +##雇 +##雉 +##雋 +##雌 +##雍 +##雎 +##雏 +##雑 +##雒 +##雕 +##雖 +##雙 +##雛 +##雜 +##雞 +##離 +##難 +##雨 +##雪 +##雯 +##雰 +##雲 +##雳 +##零 +##雷 +##雹 +##電 +##雾 +##需 +##霁 +##霄 +##霆 +##震 +##霈 +##霉 +##霊 +##霍 +##霎 +##霏 +##霑 +##霓 +##霖 +##霜 +##霞 +##霧 +##霭 +##霰 +##露 +##霸 +##霹 +##霽 +##霾 +##靂 +##靄 +##靈 +##青 +##靓 +##靖 +##静 +##靚 +##靛 +##靜 +##非 +##靠 +##靡 +##面 +##靥 +##靦 +##革 +##靳 +##靴 +##靶 +##靼 +##鞅 +##鞋 +##鞍 +##鞏 +##鞑 +##鞘 +##鞠 +##鞣 +##鞦 +##鞭 +##韆 +##韋 +##韌 +##韓 +##韜 +##韦 +##韧 +##韩 +##韬 +##韭 +##音 +##韵 +##韶 +##韻 +##響 +##頁 +##頂 +##頃 +##項 +##順 +##須 +##頌 +##預 +##頑 +##頒 +##頓 +##頗 +##領 +##頜 +##頡 +##頤 +##頫 +##頭 +##頰 +##頷 +##頸 +##頹 +##頻 +##頼 +##顆 +##題 +##額 +##顎 +##顏 +##顔 +##願 +##顛 +##類 +##顧 +##顫 +##顯 +##顱 +##顴 +##页 +##顶 +##顷 +##项 +##顺 +##须 +##顼 +##顽 +##顾 +##顿 +##颁 +##颂 +##预 +##颅 +##领 +##颇 +##颈 +##颉 +##颊 +##颌 +##颍 +##颐 +##频 +##颓 +##颔 +##颖 +##颗 +##题 +##颚 +##颛 +##颜 +##额 +##颞 +##颠 +##颡 +##颢 +##颤 +##颦 +##颧 +##風 +##颯 +##颱 +##颳 +##颶 +##颼 +##飄 +##飆 +##风 +##飒 +##飓 +##飕 +##飘 +##飙 +##飚 +##飛 +##飞 +##食 +##飢 +##飨 +##飩 +##飪 +##飯 +##飲 +##飼 +##飽 +##飾 +##餃 +##餅 +##餉 +##養 +##餌 +##餐 +##餒 +##餓 +##餘 +##餚 +##餛 +##餞 +##餡 +##館 +##餮 +##餵 +##餾 +##饅 +##饈 +##饋 +##饌 +##饍 +##饑 +##饒 +##饕 +##饗 +##饞 +##饥 +##饨 +##饪 +##饬 +##饭 +##饮 +##饯 +##饰 +##饱 +##饲 +##饴 +##饵 +##饶 +##饷 +##饺 +##饼 +##饽 +##饿 +##馀 +##馁 +##馄 +##馅 +##馆 +##馈 +##馋 +##馍 +##馏 +##馒 +##馔 +##首 +##馗 +##香 +##馥 +##馨 +##馬 +##馭 +##馮 +##馳 +##馴 +##駁 +##駄 +##駅 +##駆 +##駐 +##駒 +##駕 +##駛 +##駝 +##駭 +##駱 +##駿 +##騁 +##騎 +##騏 +##験 +##騙 +##騨 +##騰 +##騷 +##驀 +##驅 +##驊 +##驍 +##驒 +##驕 +##驗 +##驚 +##驛 +##驟 +##驢 +##驥 +##马 +##驭 +##驮 +##驯 +##驰 +##驱 +##驳 +##驴 +##驶 +##驷 +##驸 +##驹 +##驻 +##驼 +##驾 +##驿 +##骁 +##骂 +##骄 +##骅 +##骆 +##骇 +##骈 +##骊 +##骋 +##验 +##骏 +##骐 +##骑 +##骗 +##骚 +##骛 +##骜 +##骞 +##骠 +##骡 +##骤 +##骥 +##骧 +##骨 +##骯 +##骰 +##骶 +##骷 +##骸 +##骼 +##髂 +##髅 +##髋 +##髏 +##髒 +##髓 +##體 +##髖 +##高 +##髦 +##髪 +##髮 +##髯 +##髻 +##鬃 +##鬆 +##鬍 +##鬓 +##鬚 +##鬟 +##鬢 +##鬣 +##鬥 +##鬧 +##鬱 +##鬼 +##魁 +##魂 +##魄 +##魅 +##魇 +##魍 +##魏 +##魔 +##魘 +##魚 +##魯 +##魷 +##鮑 +##鮨 +##鮪 +##鮭 +##鮮 +##鯉 +##鯊 +##鯖 +##鯛 +##鯨 +##鯰 +##鯽 +##鰍 +##鰓 +##鰭 +##鰲 +##鰻 +##鰾 +##鱈 +##鱉 +##鱔 +##鱗 +##鱷 +##鱸 +##鱼 +##鱿 +##鲁 +##鲈 +##鲍 +##鲑 +##鲛 +##鲜 +##鲟 +##鲢 +##鲤 +##鲨 +##鲫 +##鲱 +##鲲 +##鲶 +##鲷 +##鲸 +##鳃 +##鳄 +##鳅 +##鳌 +##鳍 +##鳕 +##鳖 +##鳗 +##鳝 +##鳞 +##鳥 +##鳩 +##鳳 +##鳴 +##鳶 +##鴉 +##鴕 +##鴛 +##鴦 +##鴨 +##鴻 +##鴿 +##鵑 +##鵜 +##鵝 +##鵡 +##鵬 +##鵰 +##鵲 +##鶘 +##鶩 +##鶯 +##鶴 +##鷗 +##鷲 +##鷹 +##鷺 +##鸚 +##鸞 +##鸟 +##鸠 +##鸡 +##鸢 +##鸣 +##鸥 +##鸦 +##鸨 +##鸪 +##鸭 +##鸯 +##鸳 +##鸵 +##鸽 +##鸾 +##鸿 +##鹂 +##鹃 +##鹄 +##鹅 +##鹈 +##鹉 +##鹊 +##鹌 +##鹏 +##鹑 +##鹕 +##鹘 +##鹜 +##鹞 +##鹤 +##鹦 +##鹧 +##鹫 +##鹭 +##鹰 +##鹳 +##鹵 +##鹹 +##鹼 +##鹽 +##鹿 +##麂 +##麋 +##麒 +##麓 +##麗 +##麝 +##麟 +##麥 +##麦 +##麩 +##麴 +##麵 +##麸 +##麺 +##麻 +##麼 +##麽 +##麾 +##黃 +##黄 +##黍 +##黎 +##黏 +##黑 +##黒 +##黔 +##默 +##黛 +##黜 +##黝 +##點 +##黠 +##黨 +##黯 +##黴 +##鼋 +##鼎 +##鼐 +##鼓 +##鼠 +##鼬 +##鼹 +##鼻 +##鼾 +##齁 +##齊 +##齋 +##齐 +##齒 +##齡 +##齢 +##齣 +##齦 +##齿 +##龄 +##龅 +##龈 +##龊 +##龋 +##龌 +##龍 +##龐 +##龔 +##龕 +##龙 +##龚 +##龛 +##龜 +##龟 +##︰ +##︱ +##︶ +##︿ +##﹁ +##﹂ +##﹍ +##﹏ +##﹐ +##﹑ +##﹒ +##﹔ +##﹕ +##﹖ +##﹗ +##﹙ +##﹚ +##﹝ +##﹞ +##﹡ +##﹣ +##! +##" +### +##$ +##% +##& +##' +##( +##) +##* +##, +##- +##. +##/ +##: +##; +##< +##? +##@ +##[ +##\ +##] +##^ +##_ +##` +##f +##h +##j +##u +##w +##z +##{ +##} +##。 +##「 +##」 +##、 +##・ +##ッ +##ー +##イ +##ク +##シ +##ス +##ト +##ノ +##フ +##ラ +##ル +##ン +##゙ +##゚ +## ̄ +##¥ +##👍 +##🔥 +##😂 +##😎 +[unused0] +[unused100] +[unused101] +[unused102] +[unused103] +[unused104] +[unused105] +[unused106] +[unused107] +[unused108] +[unused109] +[unused110] +[unused111] +[unused112] +[unused113] +[unused114] +[unused115] +[unused116] +[unused117] +[unused118] +[unused119] +[unused120] +[unused121] +[unused122] +[unused123] +[unused124] +[unused125] +[unused126] +[unused127] +[unused128] +[unused129] +[unused130] +[unused131] +[unused132] +[unused133] +[unused134] +[unused135] +[unused136] +[unused137] +[unused138] +[unused139] +[unused140] +[unused141] +[unused142] +[unused143] +[unused144] +[unused145] +[unused146] +[unused147] +[unused148] +[unused149] +[unused150] +[unused151] +[unused152] +[unused153] +[unused154] +[unused155] +[unused156] +[unused157] +[unused158] +[unused159] +[unused160] +[unused161] +[unused162] +[unused163] +[unused164] +[unused165] +[unused166] +[unused167] +[unused168] +[unused169] +[unused170] +[unused171] +[unused172] +[unused173] +[unused174] +[unused175] +[unused176] +[unused177] +[unused178] +[unused179] +[unused180] +[unused181] +[unused182] +[unused183] +[unused184] +[unused185] +[unused186] +[unused187] +[unused188] +[unused189] +[unused190] +[unused191] +[unused192] +[unused193] +[unused194] +[unused195] +[unused196] +[unused197] +[unused198] +[unused199] +[unused200] +[unused201] +[unused202] +[unused203] +[unused204] +[unused205] +[unused206] +[unused207] +[unused208] +[unused209] +[unused210] +[unused211] +[unused212] +[unused213] +[unused214] +[unused215] +[unused216] +[unused217] +[unused218] +[unused219] +[unused220] +[unused221] +[unused222] +[unused223] +[unused224] +[unused225] +[unused226] +[unused227] +[unused228] +[unused229] +[unused230] +[unused231] +[unused232] +[unused233] +[unused234] +[unused235] +[unused236] +[unused237] +[unused238] +[unused239] +[unused240] +[unused241] +[unused242] +[unused243] +[unused244] +[unused245] +[unused246] +[unused247] +[unused248] +[unused249] +[unused250] +[unused251] +[unused252] +[unused253] +[unused254] +[unused255] +[unused256] +[unused257] +[unused258] +[unused259] +[unused260] +[unused261] +[unused262] +[unused263] +[unused264] +[unused265] +[unused266] +[unused267] +[unused268] +[unused269] +[unused270] +[unused271] +[unused272] +[unused273] +[unused274] +[unused275] +[unused276] +[unused277] +[unused278] +[unused279] +[unused280] +[unused281] +[unused282] +[unused283] +[unused284] +[unused285] +[unused286] +[unused287] +[unused288] +[unused289] +[unused290] +[unused291] +[unused292] +[unused293] +[unused294] +[unused295] +[unused296] +[unused297] +[unused298] +[unused299] +[unused300] +[unused301] +[unused302] +[unused303] +[unused304] +[unused305] +[unused306] +[unused307] +[unused308] +[unused309] +[unused310] +[unused311] +[unused312] +[unused313] +[unused314] +[unused315] +[unused316] +[unused317] +[unused318] +[unused319] +[unused320] +[unused321] +[unused322] +[unused323] +[unused324] +[unused325] +[unused326] +[unused327] +[unused328] +[unused329] +[unused330] +[unused331] +[unused332] +[unused333] +[unused334] +[unused335] +[unused336] +[unused337] +[unused338] +[unused339] +[unused340] +[unused341] +[unused342] +[unused343] +[unused344] +[unused345] +[unused346] +[unused347] +[unused348] +[unused349] +[unused350] +[unused351] +[unused352] +[unused353] +[unused354] +[unused355] +[unused356] +[unused357] +[unused358] +[unused359] +[unused360] +[unused361] +[unused362] +[unused363] +[unused364] +[unused365] +[unused366] +[unused367] +[unused368] +[unused369] +[unused370] +[unused371] +[unused372] +[unused373] +[unused374] +[unused375] +[unused376] +[unused377] +[unused378] +[unused379] +[unused380] +[unused381] +[unused382] +[unused383] +[unused384] +[unused385] +[unused386] +[unused387] +[unused388] +[unused389] +[unused390] +[unused391] +[unused392] +[unused393] +[unused394] +[unused395] +[unused396] +[unused397] +[unused398] +[unused399] +[unused400] +[unused401] +[unused402] +[unused403] +[unused404] +[unused405] +[unused406] +[unused407] +[unused408] +[unused409] +[unused410] +[unused411] +[unused412] +[unused413] +[unused414] +[unused415] +[unused416] +[unused417] +[unused418] +[unused419] +[unused420] +[unused421] +[unused422] +[unused423] +[unused424] +[unused425] +[unused426] +[unused427] +[unused428] +[unused429] +[unused430] +[unused431] +[unused432] +[unused433] +[unused434] +[unused435] +[unused436] +[unused437] +[unused438] +[unused439] +[unused440] +[unused441] +[unused442] +[unused443] +[unused444] +[unused445] +[unused446] +[unused447] +[unused448] +[unused449] +[unused450] +[unused451] +[unused452] +[unused453] +[unused454] +[unused455] +[unused456] +[unused457] +[unused458] +[unused459] +[unused460] +[unused461] +[unused462] +[unused463] +[unused464] +[unused465] +[unused466] +[unused467] +[unused468] +[unused469] +[unused470] +[unused471] +[unused472] +[unused473] +[unused474] +[unused475] +[unused476] +[unused477] +[unused478] +[unused479] +[unused480] +[unused481] +[unused482] +[unused483] +[unused484] +[unused485] +[unused486] +[unused487] +[unused488] +[unused489] +[unused490] +[unused491] +[unused492] +[unused493] +[unused494] +[unused495] +[unused496] +[unused497] +[unused498] +[unused499] +[unused500] +[unused501] +[unused502] +[unused503] +[unused504] +[unused505] +[unused506] +[unused507] +[unused508] +[unused509] +[unused510] +[unused511] +[unused512] +[unused513] +[unused514] +[unused515] +[unused516] +[unused517] +[unused518] +[unused519] +[unused520] +[unused521] +[unused522] +[unused523] +[unused524] +[unused525] +[unused526] +[unused527] +[unused528] +[unused529] +[unused530] +[unused531] +[unused532] +[unused533] +[unused534] +[unused535] +[unused536] +[unused537] +[unused538] +[unused539] +[unused540] +[unused541] +[unused542] +[unused543] +[unused544] +[unused545] +[unused546] +[unused547] +[unused548] +[unused549] +[unused550] +[unused551] +[unused552] +[unused553] +[unused554] +[unused555] +[unused556] +[unused557] +[unused558] +[unused559] +[unused560] +[unused561] +[unused562] +[unused563] +[unused564] +[unused565] +[unused566] +[unused567] +[unused568] +[unused569] +[unused570] +[unused571] +[unused572] +[unused573] +[unused574] +[unused575] +[unused576] +[unused577] +[unused578] +[unused579] +[unused580] +[unused581] +[unused582] +[unused583] +[unused584] +[unused585] +[unused586] +[unused587] +[unused588] +[unused589] +[unused590] +[unused591] +[unused592] +[unused593] +[unused594] +[unused595] +[unused596] +[unused597] +[unused598] +[unused599] +[unused600] +[unused601] +[unused602] +[unused603] +[unused604] +[unused605] +[unused606] +[unused607] +[unused608] +[unused609] +[unused610] +[unused611] +[unused612] +[unused613] +[unused614] +[unused615] +[unused616] +[unused617] +[unused618] +[unused619] +[unused620] +[unused621] +[unused622] +[unused623] +[unused624] +[unused625] +[unused626] +[unused627] +[unused628] +[unused629] +[unused630] +[unused631] +[unused632] +[unused633] +[unused634] +[unused635] +[unused636] +[unused637] +[unused638] +[unused639] +[unused640] +[unused641] +[unused642] +[unused643] +[unused644] +[unused645] +[unused646] +[unused647] +[unused648] +[unused649] +[unused650] +[unused651] +[unused652] +[unused653] +[unused654] +[unused655] +[unused656] +[unused657] +[unused658] +[unused659] +[unused660] +[unused661] +[unused662] +[unused663] +[unused664] +[unused665] +[unused666] +[unused667] +[unused668] +[unused669] +[unused670] +[unused671] +[unused672] +[unused673] +[unused674] +[unused675] +[unused676] +[unused677] +[unused678] +[unused679] +[unused680] +[unused681] +[unused682] +[unused683] +[unused684] +[unused685] +[unused686] +[unused687] +[unused688] +[unused689] +[unused690] +[unused691] +[unused692] +[unused693] +[unused694] +[unused695] +[unused696] +[unused697] +[unused698] +[unused699] +[unused700] +[unused701] +[unused702] +[unused703] +[unused704] +[unused705] +[unused706] +[unused707] +[unused708] +[unused709] +[unused710] +[unused711] +[unused712] +[unused713] +[unused714] +[unused715] +[unused716] +[unused717] +[unused718] +[unused719] +[unused720] +[unused721] +[unused722] +[unused723] +[unused724] +[unused725] +[unused726] +[unused727] +[unused728] +[unused729] +[unused730] +[unused731] +[unused732] +[unused733] +[unused734] +[unused735] +[unused736] +[unused737] +[unused738] +[unused739] +[unused740] +[unused741] +[unused742] +[unused743] +[unused744] +[unused745] +[unused746] +[unused747] +[unused748] +[unused749] +[unused750] +[unused751] +[unused752] +[unused753] +[unused754] +[unused755] +[unused756] +[unused757] +[unused758] +[unused759] +[unused760] +[unused761] +[unused762] +[unused763] +[unused764] +[unused765] +[unused766] +[unused767] +[unused768] +[unused769] +[unused770] +[unused771] +[unused772] +[unused773] +[unused774] +[unused775] +[unused776] +[unused777] +[unused778] +[unused779] +[unused780] +[unused781] +[unused782] +[unused783] +[unused784] +[unused785] +[unused786] +[unused787] +[unused788] +[unused789] +[unused790] +[unused791] +[unused792] +[unused793] +[unused794] +[unused795] +[unused796] +[unused797] +[unused798] +[unused799] +[unused800] +[unused801] +[unused802] +[unused803] +[unused804] +[unused805] +[unused806] +[unused807] +[unused808] +[unused809] +[unused810] +[unused811] +[unused812] +[unused813] +[unused814] +[unused815] +[unused816] +[unused817] +[unused818] +[unused819] +[unused820] +[unused821] +[unused822] +[unused823] +[unused824] +[unused825] +[unused826] +[unused827] +[unused828] +[unused829] +[unused830] +[unused831] +[unused832] +[unused833] +[unused834] +[unused835] +[unused836] +[unused837] +[unused838] +[unused839] +[unused840] +[unused841] +[unused842] +[unused843] +[unused844] +[unused845] +[unused846] +[unused847] +[unused848] +[unused849] +[unused850] +[unused851] +[unused852] +[unused853] +[unused854] +[unused855] +[unused856] +[unused857] +[unused858] +[unused859] +[unused860] +[unused861] +[unused862] +[unused863] +[unused864] +[unused865] +[unused866] +[unused867] +[unused868] +[unused869] +[unused870] +[unused871] +[unused872] +[unused873] +[unused874] +[unused875] +[unused876] +[unused877] +[unused878] +[unused879] +[unused880] +[unused881] +[unused882] +[unused883] +[unused884] +[unused885] +[unused886] +[unused887] +[unused888] +[unused889] +[unused890] +[unused891] +[unused892] +[unused893] +[unused894] +[unused895] +[unused896] +[unused897] +[unused898] +[unused899] +[unused900] +[unused901] +[unused902] +[unused903] +[unused904] +[unused905] +[unused906] +[unused907] +[unused908] +[unused909] +[unused910] +[unused911] +[unused912] +[unused913] +[unused914] +[unused915] +[unused916] +[unused917] +[unused918] +[unused919] +[unused920] +[unused921] +[unused922] +[unused923] +[unused924] +[unused925] +[unused926] +[unused927] +[unused928] +[unused929] +[unused930] +[unused931] +[unused932] +[unused933] +[unused934] +[unused935] +[unused936] +[unused937] +[unused938] +[unused939] +[unused940] +[unused941] +[unused942] +[unused943] +[unused944] +[unused945] +[unused946] +[unused947] +[unused948] +[unused949] +[unused950] +[unused951] +[unused952] +[unused953] +[unused954] +[unused955] +[unused956] +[unused957] +[unused958] +[unused959] +[unused960] +[unused961] +[unused962] +[unused963] +[unused964] +[unused965] +[unused966] +[unused967] +[unused968] +[unused969] +[unused970] +[unused971] +[unused972] +[unused973] +[unused974] +[unused975] +[unused976] +[unused977] +[unused978] +[unused979] +[unused980] +[unused981] +[unused982] +[unused983] +[unused984] +[unused985] +[unused986] +[unused987] +[unused988] +[unused989] +[unused990] +[unused991] +[unused992] +[unused993] +` +¡ +¢ +¦ +¨ +ª +¬ +´ +¶ +½ +¾ +¿ +ð +þ +ħ +ı +ł +œ +ƒ +ɐ +ɑ +ɒ +ɕ +ɛ +ɣ +ɨ +ɪ +ɫ +ɬ +ɯ +ɲ +ɴ +ɹ +ɾ +ʀ +ʁ +ʂ +ʃ +ʉ +ʊ +ʋ +ʌ +ʎ +ʐ +ʑ +ʒ +ʔ +ʲ +ʳ +ʷ +ʸ +ʻ +ʼ +ʾ +ʿ +ˡ +ˣ +ˤ +ζ +ξ +щ +ъ +э +ю +ђ +є +ј +љ +њ +ћ +ӏ +ա +բ +գ +դ +ե +թ +ի +լ +կ +հ +մ +յ +ն +ո +պ +ս +վ +տ +ր +ւ +ք +־ +א +ב +ג +ד +ה +ו +ז +ח +ט +י +ך +כ +ל +ם +מ +ן +נ +ס +ע +ף +פ +ץ +צ +ק +ר +ש +ת +، +ء +ث +ج +ح +خ +ذ +ز +ش +ص +ض +ط +ظ +غ +ـ +ف +ق +ك +ى +ٹ +پ +چ +ک +گ +ں +ھ +ہ +ی +ے +अ +आ +उ +ए +क +ख +ग +च +ज +ट +ड +ण +त +थ +द +ध +न +प +ब +भ +म +य +र +ल +व +श +ष +स +ह +ा +ि +ी +ो +। +॥ +ং +অ +আ +ই +উ +এ +ও +ক +খ +গ +চ +ছ +জ +ট +ড +ণ +ত +থ +দ +ধ +ন +প +ব +ভ +ম +য +র +ল +শ +ষ +স +হ +া +ি +ী +ে +க +ச +ட +த +ந +ன +ப +ம +ய +ர +ல +ள +வ +ா +ி +ு +ே +ை +ನ +ರ +ಾ +ක +ය +ර +ල +ව +ා +ต +ท +พ +ล +ว +ส +། +ག +ང +ད +ན +པ +བ +མ +འ +ར +ལ +ས +မ +ა +ბ +გ +დ +ე +ვ +თ +ი +კ +ლ +მ +ნ +ო +რ +ს +ტ +უ +ᄊ +ᴬ +ᴮ +ᴰ +ᴵ +ᴺ +ᵀ +ᵇ +ᵈ +ᵖ +ᵗ +ᵢ +ᵣ +ᵤ +ᵥ +ᶜ +ᶠ +‐ +‑ +‒ +– +— +― +‘ +’ +‚ +“ +” +‡ +… +⁰ +⁴ +⁵ +⁶ +⁷ +⁸ +⁹ +⁻ +₀ +₅ +₆ +₇ +₈ +₉ +₊ +₍ +₎ +ₐ +ₑ +ₒ +ₓ +ₕ +ₖ +ₗ +ₘ +ₙ +ₚ +ₛ +ₜ +₤ +₩ +₱ +₹ +ℓ +ℝ +⅓ +⅔ +↦ +⇄ +⇌ +∂ +∅ +∆ +∇ +∈ +∗ +∘ +∧ +∨ +∪ +⊂ +⊆ +⊕ +⊗ +☉ +♭ +♯ +⟨ +⟩ +ⱼ +⺩ +⺼ +⽥ +亻 +宀 +彳 +忄 +扌 +氵 +疒 +糹 +訁 +辶 +阝 +龸 +fi +fl +had +were +which +him +their +been +would +then +them +could +during +through +between +while +later +around +did +such +being +used +against +many +both +these +known +until +even +didn +because +born +since +still +became +any +including +took +same +each +called +much +however +four +another +found +won +going +away +hand +several +following +released +played +began +district +those +held +own +early +league +government +came +based +thought +looked +along +went +few +father +former +located +got +though +every +century +without +within +building +large +named +started +once +should +built +british +death +moved +door +need +president +wasn +although +due +major +died +third +knew +asked +turned +wanted +together +received +son +served +different +behind +himself +felt +members +football +near +having +saw +mother +army +front +late +hands +put +division +across +told +often +ever +french +six +include +tell +among +species +really +according +half +original +gave +making +enough +opened +must +included +given +german +woman +community +might +million +court +short +round +seen +always +become +sure +almost +director +council +career +things +using +couldn +better +students +married +nothing +worked +others +record +anything +continued +give +military +established +returned +does +written +thing +feet +far +already +championship +western +department +role +various +production +television +produced +working +region +present +period +looking +least +total +england +wife +per +brother +soon +political +taken +created +further +able +reached +joined +upon +done +important +either +appeared +position +ground +lead +election +arms +police +instead +words +moment +someone +announced +less +wrote +past +followed +founded +finally +india +taking +records +considered +northern +toward +european +outside +described +track +playing +heard +professional +australia +miles +yet +trying +blood +southern +maybe +everything +mouth +race +recorded +above +daughter +points +middle +move +tried +elected +closed +ten +minister +chief +person +similar +brought +rest +formed +floor +doing +killed +training +needed +turn +finished +railway +rather +sent +example +ran +term +coming +currently +forces +despite +areas +fact +dead +originally +germany +probably +developed +pulled +stood +signed +songs +child +eventually +met +average +teams +minutes +current +kind +decided +usually +eastern +seemed +episode +bed +added +indian +route +available +throughout +addition +appointed +eight +construction +mean +remained +schools +sometimes +events +possible +australian +forward +debut +seat +performance +committee +features +character +herself +lot +russian +range +hours +sold +quickly +directed +guitar +performed +players +smile +myself +placed +province +towards +wouldn +leading +whole +designed +census +europe +attack +japanese +getting +alone +lower +wide +hospital +believe +changed +sister +gone +hadn +ship +studies +academy +shot +below +involved +kept +largest +especially +beginning +movement +section +female +professor +lord +longer +walked +actually +civil +families +thus +aircraft +completed +includes +captain +fight +vocals +featured +fourth +officer +hear +means +medical +groups +lips +competition +entire +lived +leaving +federal +tournament +passed +independent +kingdom +spent +fine +doesn +reported +fall +raised +itself +replaced +leader +theatre +whose +parents +spanish +canadian +degree +writing +awarded +higher +coast +provided +senior +organization +stopped +onto +countries +parts +conference +interest +saying +allowed +earlier +matter +winning +try +happened +moving +los +breath +nearly +mid +certain +italian +african +standing +fell +artist +shows +deal +mine +industry +everyone +republic +provide +student +primary +owned +older +heavy +1st +makes +attention +anyone +africa +stated +length +ended +fingers +command +staff +foreign +opening +governor +okay +medal +kill +introduced +chest +hell +feeling +success +meet +reason +meeting +novel +trade +buildings +guy +goal +native +husband +previously +entered +producer +operations +takes +covered +forced +roman +complete +successful +texas +cold +traditional +films +clear +approximately +nine +prince +question +tracks +ireland +regional +personal +operation +economic +holding +twenty +additional +hour +regular +historic +places +whom +shook +km² +secretary +prior +scored +units +ask +property +ready +immediately +month +listed +contract +themselves +lines +navy +writer +meant +runs +practice +championships +singer +commission +required +starting +generally +giving +attended +couple +stand +catholic +caught +executive +thinking +chair +quite +shoulder +hope +decision +plays +defeated +municipality +whether +offered +slowly +pain +direction +mission +mostly +noted +individual +managed +lives +plant +helped +except +studied +computer +figure +relationship +issue +significant +loss +smiled +gun +highest +male +bring +goals +mexico +problem +distance +commercial +completely +location +annual +famous +neck +caused +italy +understand +greek +highway +wrong +comes +appearance +issues +musical +companies +castle +income +assembly +bass +initially +parliament +artists +experience +particular +walk +foot +engineering +talking +dropped +boys +stars +remember +carried +train +stadium +angeles +evidence +becoming +assistant +soviet +upper +youth +reach +actor +numerous +nodded +arrived +minute +believed +complex +victory +associated +temple +chance +perhaps +bishop +launched +particularly +retired +subject +prize +contains +yeah +theory +empire +suddenly +waiting +trust +recording +terms +champion +religious +zealand +names +2nd +ancient +corner +represented +legal +justice +cause +watched +brothers +material +changes +simply +response +answer +historical +stories +straight +feature +increased +administration +virginia +activities +cultural +overall +winner +programs +basketball +legs +guard +cast +doctor +flight +results +remains +cost +effect +winter +larger +islands +problems +chairman +grew +commander +isn +failed +selected +hurt +fort +regiment +majority +plans +shown +pretty +irish +characters +directly +scene +likely +operated +allow +matches +looks +houses +fellow +marriage +rules +florida +expected +nearby +congress +peace +recent +wait +subsequently +variety +serving +agreed +poor +attempt +wood +democratic +rural +mile +appears +township +soldiers +##ized +pennsylvania +closer +fighting +claimed +score +physical +filled +genus +specific +sitting +mom +therefore +supported +status +fear +cases +meaning +wales +minor +spain +vice +parish +separate +horse +fifth +remaining +branch +presented +stared +uses +forms +baseball +exactly +choice +discovered +composed +truth +russia +dad +ring +referred +numbers +greater +metres +slightly +direct +increase +responsible +crew +rule +trees +troops +broke +goes +individuals +hundred +weight +creek +sleep +defense +provides +ordered +jewish +safe +judge +whatever +corps +realized +growing +cities +gaze +lies +spread +letter +showed +situation +mayor +transport +watching +workers +extended +expression +normal +chart +multiple +border +mrs +walls +piano +heat +cannot +earned +products +drama +era +authority +seasons +join +grade +difficult +territory +mainly +stations +squadron +stepped +iron +19th +serve +appear +speak +broken +charge +knowledge +kilometres +removed +ships +campus +pushed +britain +leaves +recently +boston +latter +acquired +poland +quality +officers +presence +planned +nations +mass +broadcast +influence +wild +emperor +electric +headed +ability +promoted +yellow +ministry +throat +smaller +politician +latin +spoke +cars +males +lack +acting +seeing +consists +estate +pressure +newspaper +olympics +conditions +beat +elements +walking +vote +needs +carolina +featuring +levels +francisco +purpose +females +dutch +duke +ahead +gas +safety +serious +turning +highly +lieutenant +firm +amount +mixed +proposed +perfect +agreement +affairs +3rd +seconds +contemporary +paid +prison +label +administrative +intended +constructed +academic +teacher +races +formerly +nation +issued +shut +drums +housing +seems +graduated +mentioned +picked +recognized +shortly +protection +picture +notable +elections +1980s +loved +percent +racing +elizabeth +volume +hockey +beside +settled +competed +replied +drew +actress +marine +scotland +steel +glanced +farm +risk +tonight +positive +singles +effects +gray +screen +residents +sides +none +secondary +literature +polish +destroyed +flying +founder +households +lay +reserve +industrial +younger +approach +appearances +ones +finish +powerful +fully +growth +honor +jersey +projects +revealed +infantry +pair +equipment +visit +evening +grant +effort +treatment +buried +republican +primarily +bottom +owner +1970s +israel +gives +remain +spot +produce +champions +accepted +ways +##ally +losing +split +capacity +basis +trial +questions +20th +guess +officially +memorial +naval +initial +##ization +whispered +median +engineer +sydney +columbia +strength +tears +senate +asian +draw +warm +supposed +transferred +leaned +candidate +escape +mountains +potential +activity +seem +traffic +murder +slow +orchestra +haven +agency +taught +website +comedy +unable +storm +planning +albums +rugby +environment +scientific +grabbed +protect +boat +typically +damage +principal +divided +dedicated +ohio +pick +fought +driver +empty +shoulders +sort +thank +berlin +prominent +account +freedom +necessary +efforts +headquarters +follows +alongside +suggested +operating +steps +technical +begin +easily +teeth +speaking +settlement +scale +renamed +enemy +semi +joint +compared +scottish +leadership +analysis +offers +georgia +pieces +captured +animal +deputy +organized +combined +method +challenge +1960s +huge +wants +battalion +sons +rise +crime +types +facilities +telling +platform +sit +1990s +tells +assigned +pull +commonly +alive +letters +concept +conducted +wearing +happen +bought +becomes +holy +gets +defeat +languages +purchased +occurred +titled +declared +applied +sciences +concert +sounds +jazz +brain +painting +fleet +tax +michigan +animals +leaders +episodes +birth +clubs +palace +critical +refused +fair +leg +laughed +returning +surrounding +participated +formation +lifted +pointed +connected +rome +medicine +laid +powers +tall +shared +focused +knowing +yards +entrance +falls +calling +sources +chosen +beneath +resources +yard +nominated +silence +defined +gained +thirty +bodies +adopted +christmas +widely +register +apart +iran +premier +serves +unknown +parties +generation +continues +fields +brigade +quiet +teaching +clothes +impact +weapons +partner +flat +theater +relations +plants +suffered +begins +seats +armed +models +worth +laws +communities +classes +background +knows +thanks +quarter +reaching +humans +carry +killing +format +setting +architecture +disease +railroad +possibly +arthur +thoughts +doors +density +crowd +illinois +stomach +tone +unique +reports +anyway +liberal +vehicle +thick +dry +drug +faced +largely +facility +theme +holds +creation +strange +colonel +revolution +politics +turns +silent +rail +relief +independence +combat +shape +determined +sales +learned +4th +finger +providing +heritage +fiction +situated +designated +allowing +hosted +sight +interview +estimated +reduced +toronto +footballer +keeping +guys +damn +claim +motion +sixth +stayed +rear +receive +handed +twelve +dress +audience +granted +brazil +spirit +##ated +noticed +olympic +representative +tight +trouble +reviews +drink +vampire +missing +roles +ranked +newly +household +finals +critics +phase +massachusetts +pilot +unlike +philadelphia +bright +guns +crown +organizations +roof +respectively +clearly +tongue +marked +circle +bronze +expanded +sexual +supply +yourself +inspired +labour +reference +draft +connection +reasons +driving +jesus +cells +entry +neither +trail +claims +atlantic +orders +labor +nose +afraid +identified +intelligence +calls +cancer +attacked +passing +positions +imperial +grey +swedish +avoid +extra +uncle +covers +allows +surprise +materials +fame +hunter +citizens +figures +environmental +confirmed +shit +titles +performing +difference +acts +attacks +existing +votes +opportunity +nor +entirely +trains +opposite +pakistan +develop +resulted +representatives +actions +reality +pressed +barely +conversation +faculty +northwest +ends +documentary +nuclear +stock +sets +eat +alternative +resulting +creating +surprised +cemetery +drop +finding +cricket +streets +tradition +ride +ear +explained +composer +injury +apartment +municipal +educational +occupied +netherlands +clean +billion +constitution +learn +maximum +classical +lose +opposition +ontario +hills +rolled +ending +drawn +permanent +lewis +sites +chamber +scoring +height +lyrics +staring +officials +snow +oldest +qualified +interior +apparently +succeeded +thousand +dinner +lights +existence +heavily +greatest +conservative +send +bowl +catch +duty +speech +authorities +princess +performances +versions +shall +graduate +pictures +effective +remembered +poetry +desk +crossed +starring +starts +passenger +sharp +acres +ass +weather +falling +rank +fund +supporting +adult +heads +southeast +lane +condition +transfer +prevent +regions +earl +federation +relatively +answered +besides +obtained +portion +reaction +liked +peak +counter +religion +chain +rare +convention +aid +lie +vehicles +perform +squad +wonder +lying +crazy +sword +attempted +centuries +weren +philosophy +interested +sweden +wolf +frequently +abandoned +literary +alliance +task +entitled +threw +promotion +tiny +soccer +visited +achieved +defence +internal +persian +methods +arrested +otherwise +programming +villages +elementary +districts +rooms +criminal +conflict +worry +trained +attempts +waited +signal +truck +subsequent +programme +communist +faith +sector +carrying +laugh +controlled +korean +showing +origin +fuel +evil +brief +identity +darkness +pool +missed +publication +wings +invited +briefly +standards +kissed +ideas +climate +causing +walter +worse +albert +winners +desire +aged +northeast +dangerous +gate +doubt +wooden +poet +rising +funding +communications +communication +violence +copies +prepared +investigation +skills +pulling +containing +ultimately +offices +singing +understanding +tomorrow +christ +ward +pope +stands +5th +flow +studios +aired +commissioned +contained +exist +americans +wrestling +approved +kid +employed +respect +suit +asking +increasing +frame +angry +selling +1950s +thin +finds +temperature +statement +ali +explain +inhabitants +towns +extensive +narrow +flowers +promise +somewhere +closely +bureau +cape +weekly +presidential +legislative +launch +founding +artillery +strike +un +institutions +roll +writers +landing +chose +anymore +attorney +billboard +receiving +agricultural +breaking +sought +dave +admitted +lands +mexican +##bury +specifically +hole +moscow +roads +accident +proved +struck +guards +stuff +slid +expansion +melbourne +opposed +sub +southwest +architect +failure +plane +tank +listen +regarding +wet +introduction +metropolitan +fighter +inch +grown +gene +anger +fixed +khan +domestic +worldwide +chapel +mill +functions +examples +developing +turkey +hits +pocket +antonio +papers +grow +unless +circuit +18th +concerned +attached +journalist +selection +journey +converted +provincial +painted +hearing +aren +bands +negative +aside +wondered +knight +lap +noise +billy +shooting +bedroom +priest +resistance +motor +homes +sounded +giant +scenes +equal +comic +patients +hidden +solid +actual +bringing +afternoon +touched +funds +consisted +marie +canal +treaty +turkish +recognition +residence +cathedral +broad +knees +incident +shaped +fired +norwegian +handle +cheek +contest +represent +representing +birds +advantage +emergency +wrapped +drawing +notice +broadcasting +somehow +bachelor +seventh +collected +registered +establishment +assumed +chemical +personnel +retirement +portuguese +wore +tied +device +threat +progress +advance +##ised +banks +hired +manchester +nfl +teachers +structures +forever +tennis +helping +saturday +applications +junction +incorporated +neighborhood +dressed +ceremony +influenced +hers +stairs +decades +inner +kansas +hung +hoped +gain +scheduled +downtown +engaged +austria +clock +norway +certainly +pale +victor +employees +plate +putting +surrounded +##ists +finishing +blues +tropical +minnesota +consider +philippines +accept +retrieved +concern +anderson +properties +institution +gordon +successfully +vietnam +backing +outstanding +muslim +crossing +folk +producing +usual +demand +occurs +observed +lawyer +educated +pleasure +budget +items +quietly +colorado +philip +typical +##worth +derived +survived +asks +mental +jake +jews +distinguished +sri +extremely +athletic +loud +thousands +worried +transportation +horses +weapon +arena +importance +users +objects +contributed +douglas +aware +senator +johnny +sisters +engines +flag +investment +samuel +shock +capable +clark +row +wheel +refers +familiar +biggest +wins +hate +maintained +drove +hamilton +expressed +injured +underground +churches +wars +tunnel +passes +stupid +agriculture +softly +cabinet +regarded +joining +indiana +dates +spend +behavior +woods +protein +gently +chase +morgan +mention +burning +wake +combination +occur +mirror +leads +indeed +impossible +paintings +covering +soldier +locations +attendance +sell +historian +wisconsin +invasion +argued +painter +diego +changing +egypt +experienced +inches +missouri +grounds +spoken +switzerland +reform +rolling +forget +massive +resigned +burned +tennessee +locked +values +improved +wounded +universe +sick +dating +facing +purchase +##pur +moments +merged +anniversary +coal +brick +understood +causes +dynasty +queensland +establish +stores +crisis +promote +hoping +cards +referee +extension +raise +arizona +improve +colonial +formal +charged +palm +hide +rescue +faces +feelings +candidates +juan +6th +courses +weekend +luke +cash +fallen +delivered +affected +installed +carefully +tries +hollywood +costs +lincoln +responsibility +shore +proper +normally +maryland +assistance +constant +offering +friendly +waters +persons +realize +contain +trophy +partnership +factor +musicians +bound +oregon +indicated +houston +medium +consisting +somewhat +cycle +beer +moore +frederick +gotten +worst +weak +approached +arranged +chin +loan +bond +fifteen +pattern +disappeared +translated +##zed +lip +arab +capture +interests +insurance +shifted +cave +prix +warning +sections +courts +coat +plot +smell +golf +favorite +maintain +knife +voted +degrees +finance +quebec +opinion +translation +manner +ruled +operate +productions +choose +musician +confused +tired +separated +stream +techniques +committed +attend +ranking +kings +throw +passengers +measure +horror +mining +sand +danger +salt +calm +decade +dam +require +runner +rush +associate +greece +rivers +consecutive +matthew +##ski +sighed +sq +documents +closing +tie +accused +islamic +distributed +directors +organisation +7th +breathing +mad +lit +arrival +concrete +taste +composition +shaking +faster +amateur +adjacent +stating +twin +flew +publications +obviously +ridge +storage +carl +pages +concluded +desert +driven +universities +ages +terminal +sequence +borough +constituency +cousin +economics +dreams +margaret +notably +reduce +montreal +17th +ears +saved +vocal +riding +roughly +threatened +meters +meanwhile +landed +compete +repeated +grass +czech +regularly +charges +sudden +appeal +solution +describes +classification +glad +parking +belt +physics +rachel +hungarian +participate +expedition +damaged +gift +childhood +fifty +mathematics +jumped +letting +defensive +mph +testing +hundreds +shoot +owners +matters +smoke +israeli +kentucky +dancing +mounted +grandfather +designs +profit +argentina +truly +lawrence +cole +begun +detroit +willing +branches +smiling +decide +miami +enjoyed +recordings +##dale +poverty +ethnic +arabic +accompanied +fishing +determine +residential +acid +returns +starred +strategy +forty +businesses +equivalent +commonwealth +distinct +ill +seriously +##ped +harris +replace +rio +imagine +formula +ensure +additionally +scheme +conservation +occasionally +purposes +feels +favor +1930s +contrast +hanging +hunt +movies +instruments +victims +danish +christopher +busy +demon +sugar +earliest +colony +studying +duties +belgium +slipped +carter +visible +stages +iraq +commune +forming +continuing +talked +counties +legend +bathroom +option +tail +clay +daughters +afterwards +severe +jaw +visitors +devices +aviation +entering +subjects +temporary +swimming +forth +smooth +bush +operates +rocks +movements +signs +eddie +voices +honorary +memories +dallas +measures +racial +promised +harvard +16th +parliamentary +indicate +benefit +flesh +dublin +louisiana +patient +sleeping +membership +coastal +medieval +wanting +element +scholars +rice +limit +survive +makeup +rating +definitely +collaboration +obvious +baron +birthday +linked +soil +diocese +ncaa +offensive +shouldn +waist +plain +ross +organ +resolution +manufacturing +adding +relative +kennedy +whilst +moth +gardens +crash +heading +partners +credited +carlos +moves +cable +marshall +depending +bottle +represents +rejected +responded +existed +denmark +##ating +treated +graham +routes +talent +commissioner +drugs +secure +tests +reign +restored +photography +contributions +oklahoma +designer +disc +grin +seattle +robin +paused +atlanta +unusual +praised +las +laughing +satellite +hungary +visiting +interesting +factors +deck +poems +norman +##water +stuck +speaker +rifle +premiered +comics +actors +reputation +eliminated +8th +ceiling +prisoners +leather +austin +mississippi +rapidly +admiral +parallel +charlotte +guilty +tools +gender +divisions +fruit +laboratory +nelson +marry +rapid +aunt +tribe +requirements +aspects +suicide +amongst +adams +bone +ukraine +kick +sees +edinburgh +clothing +column +rough +gods +hunting +broadway +gathered +concerns +spending +ty +12th +snapped +requires +solar +bones +cavalry +iowa +drinking +waste +franklin +charity +thompson +stewart +tip +landscape +enjoy +singh +poem +listening +eighth +fred +differences +adapted +bomb +ukrainian +surgery +corporate +masters +anywhere +waves +odd +portugal +orleans +dick +debate +kent +eating +puerto +cleared +expect +cinema +guitarist +blocks +electrical +agree +involving +depth +dying +panel +struggle +peninsula +adults +novels +emerged +vienna +debuted +shoes +tamil +songwriter +meets +prove +beating +instance +heaven +scared +sending +marks +artistic +passage +superior +significantly +retained +##izing +technique +cheeks +warren +maintenance +destroy +extreme +allied +appearing +fill +advice +alabama +qualifying +policies +cleveland +hat +battery +authors +10th +soundtrack +acted +dated +lb +glance +equipped +coalition +funny +outer +ambassador +roy +possibility +couples +campbell +loose +ethan +supplies +gonna +monster +shake +agents +frequency +springs +dogs +practices +gang +plastic +easier +suggests +gulf +blade +exposed +colors +industries +markets +nervous +electoral +charts +legislation +ownership +##idae +appointment +shield +assault +socialist +abbey +monument +license +throne +employment +replacement +charter +suffering +accounts +oak +connecticut +strongly +wright +colour +13th +context +welsh +networks +voiced +gabriel +forehead +manage +schedule +totally +remix +forests +occupation +print +nicholas +brazilian +strategic +vampires +engineers +roots +seek +correct +instrumental +und +alfred +backed +stanley +robinson +traveled +wayne +austrian +achieve +exit +rates +strip +whereas +sing +deeply +adventure +bobby +jamie +careful +components +cap +useful +personality +knee +pushing +hosts +protest +ottoman +symphony +boundary +processes +considering +considerable +tons +cooper +trading +conduct +illegal +revolutionary +definition +harder +jacob +circumstances +destruction +popularity +grip +classified +liverpool +baltimore +flows +seeking +honour +approval +mechanical +till +happening +statue +critic +increasingly +immediate +describe +commerce +stare +indonesia +meat +rounds +boats +baker +orthodox +depression +formally +worn +naked +muttered +sentence +11th +document +criticism +wished +vessel +spiritual +bent +virgin +minimum +murray +lunch +danny +printed +compilation +keyboards +blow +belonged +raising +cutting +pittsburgh +9th +shadows +hated +indigenous +jon +15th +barry +scholar +oliver +stick +susan +meetings +attracted +spell +romantic +ye +demanded +customers +logan +revival +keys +modified +commanded +jeans +upset +phil +detective +hiding +resident +##bly +experiences +diamond +defeating +coverage +lucas +external +parks +franchise +helen +bible +successor +percussion +celebrated +lift +clan +romania +##ied +mills +nobody +achievement +shrugged +fault +rhythm +initiative +breakfast +carbon +lasted +violent +wound +killer +gradually +filmed +°c +processing +remove +criticized +guests +sang +chemistry +legislature +##bridge +uniform +escaped +integrated +proposal +purple +denied +liquid +influential +morris +nights +stones +intense +experimental +twisted +pace +nazi +mitchell +ny +blind +reporter +newspapers +14th +centers +burn +basin +forgotten +surviving +filed +collections +monastery +losses +manual +couch +description +appropriate +merely +missions +sebastian +restoration +replacing +triple +elder +julia +warriors +benjamin +julian +convinced +stronger +amazing +declined +versus +merchant +happens +output +finland +bare +barbara +absence +ignored +dawn +injuries +producers +luis +##ities +kw +admit +expensive +electricity +exception +symbol +ladies +shower +sheriff +characteristics +##je +aimed +button +ratio +effectively +summit +angle +jury +bears +foster +vessels +pants +executed +evans +dozen +advertising +kicked +patrol +competitions +lifetime +principles +athletics +birmingham +sponsored +rob +nomination +acoustic +creature +longest +credits +harbor +dust +josh +territories +milk +infrastructure +completion +thailand +indians +leon +archbishop +assist +pitch +blake +arrangement +girlfriend +serbian +operational +hence +sad +scent +fur +sessions +refer +rarely +exists +1892 +scientists +dirty +penalty +burst +portrait +seed +pole +limits +rival +stable +grave +constitutional +alcohol +arrest +flower +mystery +devil +architectural +relationships +greatly +habitat +##istic +larry +progressive +remote +cotton +preserved +reaches +cited +vast +scholarship +decisions +teach +editions +knocked +eve +searching +partly +participation +animated +fate +excellent +alternate +saints +youngest +climbed +suggest +discussion +staying +choir +lakes +jacket +revenue +nevertheless +peaked +instrument +wondering +annually +managing +neil +1891 +signing +terry +apply +clinical +brooklyn +aim +catherine +fuck +farmers +figured +ninth +pride +hugh +ordinary +involvement +comfortable +shouted +encouraged +representation +sharing +panic +exact +cargo +competing +fat +cried +1920s +occasions +cabin +borders +utah +marcus +##isation +badly +muscles +victorian +transition +warner +bet +permission +slave +terrible +similarly +shares +seth +uefa +possession +medals +benefits +colleges +lowered +perfectly +transit +##kar +publisher +##ened +harrison +deaths +elevation +asleep +machines +sigh +ash +hardly +argument +occasion +parent +decline +contribution +concentration +opportunities +hispanic +guardian +extent +emotions +hips +mason +volumes +bloody +controversy +diameter +steady +mistake +phoenix +identify +violin +departure +richmond +spin +funeral +enemies +1864 +literally +connor +random +sergeant +grab +confusion +1865 +transmission +informed +leaning +sacred +suspended +thinks +gates +portland +luck +agencies +yours +hull +expert +muscle +layer +practical +sculpture +jerusalem +latest +lloyd +statistics +deeper +recommended +warrior +arkansas +mess +supports +greg +eagle +recovered +rated +concerts +rushed +stops +eggs +premiere +keith +delhi +turner +pit +affair +belief +paint +##zing +victim +withdrew +bonus +styles +fled +glasgow +technologies +funded +adaptation +portrayed +cooperation +supporters +judges +bernard +hallway +ralph +graduating +controversial +distant +continental +spider +bite +recognize +intention +mixing +egyptian +bow +tourism +suppose +claiming +dominated +participants +nurse +partially +tape +psychology +essential +touring +duo +voting +civilian +emotional +channels +apparent +hebrew +1887 +tommy +carrier +intersection +beast +hudson +bench +discuss +costa +##ered +detailed +behalf +drivers +unfortunately +obtain +rocky +##dae +siege +friendship +1861 +hang +governments +collins +respond +wildlife +preferred +operator +laura +pregnant +videos +dennis +suspected +boots +instantly +weird +automatic +businessman +alleged +placing +throwing +mood +1862 +perry +venue +jet +remainder +passion +biological +boyfriend +1863 +dirt +buffalo +ron +segment +abuse +genre +thrown +stroke +colored +stress +exercise +displayed +struggled +abroad +dramatic +wonderful +thereafter +madrid +component +widespread +##sed +tale +citizen +todd +vancouver +overseas +forcing +crying +descent +discussed +substantial +ranks +regime +provinces +drum +zane +tribes +proof +researchers +volunteer +manor +silk +milan +donated +allies +venture +principle +delivery +enterprise +bars +traditionally +witch +reminded +copper +pete +inter +colin +grinned +elsewhere +competitive +frequent +scream +tension +texts +submarine +finnish +defending +defend +pat +detail +affiliated +stuart +themes +periods +tool +belgian +ruling +crimes +answers +folded +licensed +demolished +hans +lucy +1881 +lion +traded +photographs +writes +craig +trials +generated +beth +noble +debt +percentage +yorkshire +erected +viewed +grades +confidence +ceased +islam +telephone +retail +chile +m² +roberts +sixteen +commented +hampshire +innocent +dual +pounds +checked +regulations +afghanistan +sung +rico +liberty +assets +bigger +options +angels +relegated +tribute +wells +attending +leaf +romanian +monthly +patterns +gmina +madison +hurricane +rev +##ians +bristol +elite +valuable +disaster +democracy +awareness +germans +freyja +loop +absolutely +paying +populations +maine +sole +prayer +spencer +releases +doorway +bull +lover +midnight +conclusion +thirteen +mediterranean +nhl +proud +sample +##hill +drummer +guinea +murphy +climb +instant +attributed +horn +ain +railways +autumn +ferry +opponent +traveling +secured +corridor +stretched +tales +sheet +trinity +cattle +helps +indicates +manhattan +murdered +fitted +gentle +grandmother +mines +shocked +vegas +produces +caribbean +belong +continuous +desperate +drunk +historically +trio +waved +raf +dealing +nathan +murmured +interrupted +residing +scientist +pioneer +harold +aaron +delta +attempting +minority +believes +chorus +tend +lots +eyed +indoor +load +shots +updated +jail +concerning +connecting +wealth +slaves +arrive +rangers +sufficient +rebuilt +##wick +cardinal +flood +muhammad +whenever +relation +runners +moral +repair +viewers +arriving +revenge +punk +assisted +bath +fairly +breathe +lists +innings +illustrated +whisper +nearest +voters +clinton +ties +ultimate +screamed +beijing +lions +andre +fictional +gathering +comfort +radar +suitable +dismissed +hms +ban +pine +wrist +atmosphere +voivodeship +bid +timber +##ned +giants +cameron +recovery +uss +identical +categories +switched +serbia +laughter +noah +ensemble +therapy +peoples +touching +##off +locally +pearl +platforms +everywhere +ballet +tables +lanka +herbert +outdoor +toured +derek +1883 +spaces +contested +swept +1878 +exclusive +slight +connections +winds +prisoner +collective +bangladesh +tube +publicly +wealthy +isolated +insisted +fortune +ticket +spotted +reportedly +animation +enforcement +tanks +decides +wider +lowest +owen +nod +hitting +gregory +furthermore +magazines +fighters +solutions +pointing +requested +peru +reed +chancellor +knights +mask +worker +eldest +flames +reduction +volunteers +reporting +wire +advisory +endemic +origins +settlers +pursue +knock +consumer +1876 +eu +compound +creatures +mansion +sentenced +ivan +deployed +guitars +frowned +involves +mechanism +kilometers +perspective +shops +terminus +duncan +alien +fist +bridges +##pers +heroes +derby +swallowed +patent +sara +illness +characterized +adventures +slide +hawaii +jurisdiction +organised +adelaide +walks +biology +rogers +swing +tightly +boundaries +prepare +implementation +stolen +certified +colombia +edwards +garage +recalled +rage +harm +nigeria +breast +furniture +pupils +settle +cuba +balls +alaska +21st +linear +thrust +celebration +latino +genetic +terror +##ening +lightning +fee +witness +lodge +establishing +skull +earning +hood +rebellion +sporting +warned +missile +devoted +activist +porch +worship +fourteen +package +decorated +##shire +housed +chess +sailed +doctors +oscar +joan +treat +garcia +harbour +jeremy +traditions +dominant +jacques +##gon +relocated +1879 +amendment +sized +companion +simultaneously +volleyball +spun +acre +increases +stopping +loves +belongs +affect +drafted +tossed +scout +battles +1875 +filming +shoved +munich +tenure +vertical +romance +argue +craft +ranging +opens +honest +tyler +yesterday +muslims +reveal +snake +immigrants +radical +screaming +speakers +firing +saving +belonging +ease +lighting +prefecture +blame +farmer +hungry +grows +rubbed +beam +sur +subsidiary +armenian +dropping +conventional +qualify +spots +sweat +festivals +immigration +physician +discover +exposure +sandy +explanation +isaac +implemented +##fish +hart +initiated +stakes +presents +heights +householder +pleased +tourist +regardless +slip +closest +surely +sultan +brings +riley +preparation +aboard +slammed +baptist +experiment +ongoing +interstate +organic +playoffs +1877 +hindu +tours +tier +plenty +arrangements +talks +trapped +excited +sank +athens +1872 +denver +welfare +suburb +athletes +trick +diverse +belly +exclusively +yelled +conversion +1874 +internationally +computers +conductor +abilities +sensitive +dispute +measured +globe +rocket +prices +amsterdam +flights +tigers +municipalities +emotion +references +explains +airlines +manufactured +archaeological +1873 +interpretation +devon +##ites +settlements +kissing +absolute +improvement +impressed +barcelona +sullivan +jefferson +towers +jesse +julie +grandson +gauge +regard +rings +interviews +trace +raymond +thumb +departments +burns +serial +bulgarian +scores +demonstrated +1866 +kyle +alberta +underneath +romanized +relieved +acquisition +phrase +cliff +reveals +cuts +merger +custom +nee +gilbert +graduation +assessment +difficulty +demands +swung +democrat +commons +1940s +grove +completing +focuses +sum +substitute +bearing +stretch +reception +reflected +essentially +destination +pairs +##ched +survival +resource +##bach +promoting +doubles +messages +tear +##fully +parade +florence +harvey +incumbent +partial +pedro +frozen +procedure +olivia +controls +shelter +personally +temperatures +brisbane +tested +sits +marble +comprehensive +oxygen +leonard +##kov +inaugural +iranian +referring +quarters +attitude +mainstream +lined +mars +dakota +norfolk +unsuccessful +explosion +helicopter +congressional +##sing +inspector +bitch +seal +departed +divine +coaching +examination +punishment +manufacturer +sink +columns +unincorporated +signals +nevada +squeezed +dylan +dining +martial +manuel +eighteen +elevator +brushed +plates +ministers +congregation +slept +specialized +taxes +restricted +negotiations +likes +statistical +arnold +inspiration +execution +bold +intermediate +significance +margin +ruler +wheels +gothic +intellectual +dependent +listened +eligible +buses +widow +syria +earn +cincinnati +collapsed +recipient +secrets +accessible +philippine +maritime +goddess +clerk +surrender +breaks +playoff +ideal +beetle +aspect +soap +regulation +strings +expand +anglo +shorter +crosses +retreat +tough +coins +wallace +directions +pressing +shipping +locomotives +comparison +topics +nephew +distinction +honors +travelled +sierra +ibn +fortress +recognised +carved +1869 +clients +intent +coaches +describing +bread +##ington +beaten +northwestern +merit +collapse +challenges +historians +objective +submitted +virus +attacking +drake +assume +diseases +stem +leeds +farming +glasses +visits +nowhere +fellowship +relevant +carries +restaurants +experiments +constantly +bases +targets +shah +tenth +opponents +verse +territorial +writings +corruption +instruction +inherited +reverse +emphasis +employee +arch +keeps +rabbi +watson +payment +uh +nancy +##tre +venice +fastest +sexy +banned +adrian +properly +ruth +touchdown +dollar +boards +metre +circles +edges +favour +travels +liberation +scattered +firmly +holland +permitted +diesel +kenya +den +originated +demons +resumed +dragged +rider +servant +blinked +extend +torn +##sey +input +meal +everybody +cylinder +kinds +camps +bullet +logic +croatian +evolved +healthy +fool +wise +preserve +pradesh +respective +artificial +gross +corresponding +convicted +cage +caroline +dialogue +##dor +narrative +stranger +mario +christianity +failing +trent +commanding +buddhist +1848 +maurice +focusing +yale +bike +altitude +mouse +revised +##sley +veteran +pulls +theology +crashed +campaigns +legion +##ability +drag +excellence +customer +cancelled +intensity +excuse +liga +participating +contributing +printing +##burn +variable +curious +legacy +renaissance +symptoms +binding +vocalist +dancer +grammar +gospel +democrats +enters +diplomatic +hitler +clouds +mathematical +quit +defended +oriented +##heim +fundamental +hardware +impressive +equally +convince +confederate +guilt +chuck +sliding +magnetic +narrowed +petersburg +bulgaria +otto +phd +skill +hopes +pitcher +reservoir +hearts +automatically +expecting +mysterious +bennett +extensively +imagined +seeds +monitor +fix +##ative +journalism +struggling +signature +ranch +encounter +photographer +observation +protests +influences +calendar +cruz +croatia +locomotive +hughes +naturally +shakespeare +basement +hook +uncredited +faded +theories +approaches +dare +phillips +filling +fury +obama +efficient +arc +deliver +breeding +inducted +leagues +efficiency +axis +montana +eagles +##ked +supplied +instructions +karen +picking +indicating +trap +anchor +practically +christians +tomb +vary +occasional +electronics +lords +readers +newcastle +faint +innovation +collect +situations +engagement +claude +mixture +##feld +peer +tissue +lean +°f +floors +architects +reducing +rope +1859 +ottawa +##har +samples +banking +declaration +proteins +resignation +francois +saudi +advocate +exhibited +armor +twins +divorce +##ras +abraham +reviewed +temporarily +matrix +physically +pulse +curled +difficulties +bengal +usage +##ban +riders +certificate +holes +warsaw +distinctive +mutual +1857 +customs +circular +eugene +removal +loaded +mere +vulnerable +depicted +generations +dame +heir +enormous +lightly +climbing +pitched +lessons +pilots +nepal +preparing +brad +louise +renowned +liam +##ably +shaw +brilliant +bills +##nik +fucking +mainland +pleasant +seized +veterans +jerked +fail +brush +radiation +stored +warmth +southeastern +nate +sin +raced +berkeley +joke +athlete +designation +trunk +roland +qualification +heels +artwork +receives +judicial +reserves +##bed +woke +installation +abu +floating +fake +lesser +excitement +interface +concentrated +addressed +characteristic +amanda +saxophone +monk +releasing +egg +dies +interaction +defender +outbreak +glory +loving +sequel +consciousness +awake +ski +enrolled +handling +rookie +brow +somebody +biography +warfare +amounts +contracts +presentation +fabric +dissolved +challenged +meter +psychological +elevated +rally +accurate +##tha +hospitals +undergraduate +specialist +venezuela +exhibit +shed +nursing +protestant +fluid +structural +footage +jared +consistent +prey +##ska +succession +reflect +exile +lebanon +wiped +suspect +shanghai +resting +integration +preservation +marvel +variant +pirates +sheep +rounded +capita +sailing +colonies +manuscript +deemed +variations +clarke +functional +emerging +boxing +relaxed +curse +azerbaijan +heavyweight +nickname +editorial +rang +grid +tightened +earthquake +flashed +miguel +rushing +##ches +improvements +boxes +brooks +consumption +molecular +felix +societies +repeatedly +variation +aids +civic +graphics +professionals +realm +autonomous +receiver +delayed +workshop +militia +chairs +canyon +harsh +extending +lovely +happiness +##jan +stake +eyebrows +embassy +wellington +hannah +corners +bishops +swear +cloth +contents +namely +commenced +1854 +stanford +nashville +courage +graphic +commitment +garrison +hamlet +clearing +rebels +attraction +literacy +cooking +ruins +temples +jenny +humanity +celebrate +hasn +freight +sixty +rebel +bastard +newton +deer +##ges +##ching +smiles +delaware +singers +approaching +assists +flame +boulevard +barrel +planted +pursuit +consequences +shallow +invitation +rode +depot +ernest +kane +rod +concepts +preston +topic +chambers +striking +blast +arrives +descendants +montgomery +ranges +worlds +chaos +praise +fewer +1855 +sanctuary +mud +programmes +maintaining +harper +bore +handsome +closure +tournaments +nebraska +linda +facade +puts +satisfied +argentine +dale +cork +dome +panama +##yl +1858 +tasks +experts +##ates +feeding +equation +engage +bryan +um +quartet +disbanded +sheffield +blocked +gasped +delay +kisses +connects +##non +sts +poured +creator +publishers +guided +ellis +extinct +hug +gaining +##ord +complicated +poll +clenched +investigate +thereby +quantum +spine +cdp +humor +kills +administered +semifinals +encountered +ignore +commentary +##maker +bother +roosevelt +plains +halfway +flowing +cultures +crack +imprisoned +neighboring +airline +gather +wolves +marathon +transformed +cruise +organisations +punch +exhibitions +numbered +alarm +ratings +daddy +silently +##stein +queens +colours +impression +guidance +tactical +##rat +marshal +della +arrow +rested +feared +tender +owns +bitter +advisor +escort +##ides +spare +farms +grants +dragons +encourage +colleagues +cameras +sucked +pile +spirits +prague +statements +suspension +landmark +fence +torture +recreation +bags +permanently +survivors +pond +spy +predecessor +bombing +coup +protecting +transformation +glow +##lands +dug +priests +andrea +feat +barn +jumping +##ologist +casualties +stern +auckland +pipe +serie +revealing +trevor +mercy +spectrum +consist +governing +collaborated +possessed +epic +comprises +blew +shane +lopez +honored +magical +sacrifice +judgment +perceived +hammer +baronet +tune +das +missionary +sheets +neutral +oral +threatening +attractive +shade +aims +seminary +estates +1856 +michel +wounds +refugees +manufacturers +mercury +syndrome +porter +##iya +##din +hamburg +identification +upstairs +purse +widened +pause +cared +breathed +affiliate +santiago +prevented +celtic +fisher +recruited +byzantine +reconstruction +farther +diet +sake +spite +sensation +blank +separation +##hon +vladimir +armies +anime +accommodate +orbit +cult +sofia +##ify +founders +sustained +disorder +honours +northeastern +mia +crops +violet +threats +blanket +fires +canton +followers +southwestern +prototype +voyage +assignment +altered +moderate +protocol +pistol +questioned +brass +lifting +1852 +math +authored +doug +dimensional +dynamic +1851 +pronounced +grateful +quest +uncomfortable +boom +presidency +stevens +relating +politicians +barrier +quinn +diana +mosque +tribal +palmer +portions +sometime +chester +treasure +bend +millions +reforms +registration +consequently +monitoring +ate +preliminary +brandon +invented +eaten +exterior +intervention +ports +documented +displays +lecture +sally +favourite +vermont +invisible +isle +breed +journalists +relay +speaks +backward +explore +midfielder +actively +stefan +procedures +cannon +blond +kenneth +centered +servants +chains +libraries +malcolm +essex +henri +slavery +##hal +facts +fairy +coached +cassie +cats +washed +cop +announcement +2000s +vinyl +activated +marco +frontier +growled +curriculum +##das +loyal +accomplished +leslie +ritual +kenny +vii +napoleon +hollow +hybrid +jungle +stationed +friedrich +counted +##ulated +platinum +theatrical +seated +col +rubber +glen +diversity +healing +extends +provisions +administrator +columbus +tributary +assured +##uous +prestigious +examined +lectures +grammy +ronald +associations +bailey +allan +essays +flute +believing +consultant +proceedings +travelling +1853 +kerala +yugoslavia +buddy +methodist +burial +centres +batman +discontinued +dock +stockholm +lungs +severely +citing +manga +steal +mumbai +iraqi +robot +celebrity +bride +broadcasts +abolished +pot +joel +overhead +franz +packed +reconnaissance +johann +acknowledged +introduce +handled +doctorate +developments +drinks +alley +palestine +##aki +proceeded +recover +bradley +grain +patch +afford +infection +nationalist +legendary +interchange +virtually +gen +gravity +exploration +amber +vital +wishes +powell +doctrine +elbow +screenplay +##bird +contribute +indonesian +creates +enzyme +kylie +discipline +drops +manila +hunger +layers +suffer +fever +bits +monica +keyboard +manages +##hood +searched +appeals +##bad +testament +grande +reid +##war +beliefs +congo +requiring +casey +1849 +regret +streak +rape +depends +syrian +sprint +pound +tourists +upcoming +pub +tense +##els +practiced +nationwide +guild +motorcycle +liz +##zar +chiefs +desired +elena +precious +absorbed +relatives +booth +pianist +##mal +citizenship +exhausted +wilhelm +##ceae +##hed +noting +quarterback +urge +hectares +##gue +holly +blonde +davies +parked +sustainable +stepping +twentieth +airfield +nest +chip +##nell +shaft +paulo +requirement +paradise +tobacco +trans +renewed +vietnamese +suggesting +catching +holmes +enjoying +trips +colt +holder +butterfly +nerve +reformed +cherry +bowling +trailer +carriage +goodbye +appreciate +toy +joshua +interactive +enabled +involve +##kan +collar +determination +bunch +recall +shorts +superintendent +episcopal +frustration +giovanni +nineteenth +laser +privately +array +circulation +##ovic +armstrong +deals +painful +permit +discrimination +aires +retiring +cottage +horizon +ellen +jamaica +ripped +fernando +chapters +patron +lecturer +behaviour +genes +georgian +export +solomon +rivals +seventeen +rodriguez +princeton +independently +sox +1847 +arguing +entity +casting +hank +criteria +oakland +geographic +milwaukee +reflection +expanding +conquest +dubbed +halt +brave +brunswick +arched +curtis +divorced +predominantly +somerset +streams +ugly +zoo +horrible +curved +buenos +fierce +dictionary +vector +theological +unions +handful +stability +punjab +segments +altar +ignoring +gesture +monsters +pastor +thighs +unexpected +operators +abruptly +coin +compiled +associates +improving +migration +compact +collegiate +quarterfinals +roster +restore +assembled +hurry +oval +##cies +1846 +flags +martha +victories +sharply +##rated +argues +deadly +drawings +symbols +performer +griffin +restrictions +editing +andrews +journals +arabia +compositions +dee +pierce +removing +hindi +casino +runway +civilians +minds +##zation +refuge +rent +retain +potentially +conferences +suburban +conducting +descended +massacre +ammunition +terrain +fork +souls +counts +chelsea +durham +drives +cab +perth +realizing +palestinian +finn +simpson +##dal +betty +moreover +particles +cardinals +tent +evaluation +extraordinary +inscription +wednesday +chloe +maintains +panels +ashley +trucks +##nation +cluster +sunlight +strikes +zhang +dialect +tucked +collecting +##mas +##sville +quoted +evan +franco +aria +buying +cleaning +closet +provision +apollo +clinic +rat +necessarily +##ising +venues +flipped +cent +spreading +trustees +checking +authorized +disappointed +##ado +notion +duration +trumpet +hesitated +topped +brussels +rolls +theoretical +hint +define +aggressive +repeat +wash +peaceful +optical +width +allegedly +mcdonald +strict +##illa +investors +jam +witnesses +sounding +miranda +michelle +hugo +harmony +valid +lynn +glared +nina +headquartered +diving +boarding +gibson +albanian +marsh +routine +dealt +enhanced +intelligent +substance +targeted +enlisted +discovers +spinning +observations +pissed +smoking +capitol +varied +costume +seemingly +indies +compensation +surgeon +thursday +arsenal +westminster +suburbs +rid +anglican +##ridge +knots +foods +alumni +lighter +fraser +whoever +portal +scandal +gavin +advised +instructor +flooding +terrorist +teenage +interim +senses +duck +teen +thesis +abby +eager +overcome +newport +glenn +rises +shame +prompted +priority +forgot +bomber +nicolas +protective +cartoon +katherine +breeze +lonely +trusted +henderson +richardson +relax +palms +remarkable +legends +cricketer +essay +ordained +edmund +rifles +trigger +##uri +##away +sail +alert +1830 +audiences +penn +sussex +siblings +pursued +indianapolis +resist +rosa +consequence +succeed +avoided +1845 +##ulation +inland +##tie +##nna +counsel +profession +chronicle +hurried +##una +eyebrow +eventual +bleeding +innovative +cure +committees +accounting +scope +hardy +heather +tenor +gut +herald +codes +tore +scales +wagon +luxury +tin +prefer +fountain +triangle +bonds +darling +convoy +dried +traced +beings +troy +accidentally +slam +findings +smelled +joey +lawyers +outcome +steep +bosnia +configuration +shifting +toll +brook +performers +lobby +philosophical +construct +shrine +aggregate +cox +phenomenon +savage +insane +solely +reynolds +nationally +holdings +consideration +enable +edgar +fights +relegation +chances +atomic +hub +conjunction +awkward +reactions +currency +finale +kumar +underwent +steering +elaborate +gifts +comprising +melissa +veins +reasonable +sunshine +solve +trails +inhabited +elimination +ethics +huh +ana +molly +consent +apartments +layout +marines +hunters +bulk +##oma +hometown +##wall +##mont +cracked +reads +neighbouring +withdrawn +admission +wingspan +damned +anthology +lancashire +brands +batting +forgive +cuban +awful +##lyn +dimensions +imagination +dante +tracking +desperately +goalkeeper +##yne +groaned +workshops +confident +burton +gerald +milton +circus +uncertain +slope +copenhagen +sophia +fog +philosopher +portraits +accent +cycling +varying +gripped +larvae +garrett +specified +scotia +mature +luther +kurt +rap +##kes +aerial +ferdinand +heated +transported +##shan +safely +nonetheless +##orn +##gal +motors +demanding +##sburg +startled +##brook +ally +generate +caps +ghana +stained +mentions +beds +afterward +##bling +utility +##iro +richards +1837 +conspiracy +conscious +shining +footsteps +observer +cyprus +urged +loyalty +developer +probability +olive +upgraded +gym +miracle +insects +graves +1844 +ourselves +hydrogen +katie +tickets +poets +planes +prevention +witnessed +dense +jin +randy +tang +warehouse +monroe +archived +elderly +investigations +alec +granite +mineral +conflicts +controlling +aboriginal +mechanics +stan +stark +rhode +skirt +est +bombs +respected +##horn +imposed +limestone +deny +nominee +memphis +grabbing +disabled +amusement +frankfurt +corn +referendum +varies +slowed +disk +firms +unconscious +incredible +clue +sue +##zhou +twist +##cio +joins +idaho +chad +developers +computing +destroyer +mortal +tucker +kingston +choices +carson +whitney +geneva +pretend +dimension +staged +plateau +maya +##une +freestyle +rovers +##ids +tristan +classroom +prospect +##hus +honestly +diploma +lied +thermal +auxiliary +feast +unlikely +iata +morocco +pounding +treasury +lithuania +considerably +1841 +dish +1812 +geological +matching +stumbled +destroying +marched +brien +advances +nicole +settling +measuring +directing +##mie +tuesday +bassist +capabilities +stunned +fraud +torpedo +##phone +anton +wisdom +surveillance +ruined +##ulate +lawsuit +healthcare +theorem +halls +trend +aka +horizontal +dozens +acquire +lasting +swim +hawk +gorgeous +fees +vicinity +decrease +adoption +tactics +##ography +pakistani +##ole +draws +##hall +willie +burke +heath +algorithm +integral +powder +elliott +brigadier +jackie +tate +varieties +darker +##cho +lately +cigarette +specimens +adds +##ensis +##inger +exploded +finalist +murders +wilderness +arguments +nicknamed +acceptance +onwards +manufacture +robertson +jets +tampa +enterprises +loudly +composers +nominations +1838 +malta +inquiry +automobile +hosting +viii +rays +tilted +grief +museums +strategies +furious +euro +equality +cohen +poison +surrey +wireless +governed +ridiculous +moses +##esh +vanished +barnes +attract +morrison +istanbul +##iness +absent +rotation +petition +janet +##logical +satisfaction +custody +deliberately +observatory +comedian +surfaces +pinyin +novelist +strictly +canterbury +oslo +monks +embrace +jealous +photograph +continent +dorothy +marina +excess +holden +allegations +explaining +stack +avoiding +lance +storyline +majesty +poorly +spike +bradford +raven +travis +classics +proven +voltage +pillow +fists +butt +1842 +interpreted +1839 +gage +telegraph +lens +promising +expelled +casual +collector +zones +silly +nintendo +##kh +downstairs +chef +suspicious +afl +flies +vacant +uganda +pregnancy +condemned +lutheran +estimates +cheap +decree +saxon +proximity +stripped +idiot +deposits +contrary +presenter +magnus +glacier +offense +edwin +##ori +upright +##long +bolt +##ois +toss +geographical +##izes +environments +delicate +marking +abstract +xavier +nails +windsor +plantation +occurring +equity +saskatchewan +fears +drifted +sequences +vegetation +revolt +##stic +1843 +sooner +fusion +opposing +nato +skating +1836 +secretly +ruin +lease +flora +anxiety +##ological +##mia +bout +taxi +emmy +frost +rainbow +compounds +foundations +rainfall +assassination +nightmare +dominican +achievements +deserve +orlando +intact +armenia +##nte +calgary +valentine +marion +proclaimed +theodore +bells +courtyard +thigh +gonzalez +console +troop +minimal +everyday +supporter +terrorism +buck +openly +presbyterian +activists +carpet +##iers +rubbing +uprising +cute +conceived +legally +##cht +millennium +cello +velocity +rescued +cardiff +1835 +rex +concentrate +senators +beard +rendered +glowing +battalions +scouts +competitors +sculptor +catalogue +arctic +ion +raja +bicycle +glancing +lawn +##woman +gentleman +lighthouse +publish +predicted +calculated +variants +##gne +strain +winston +deceased +touchdowns +brady +caleb +sinking +echoed +crush +hon +blessed +protagonist +hayes +endangered +magnitude +editors +##tine +estimate +responsibilities +##mel +backup +laying +consumed +sealed +zurich +lovers +frustrated +##eau +ahmed +kicking +treasurer +1832 +biblical +refuse +terrified +pump +agrees +genuine +imprisonment +refuses +plymouth +lou +##nen +tara +trembling +antarctic +ton +learns +##tas +crap +crucial +faction +atop +##borough +wrap +lancaster +odds +hopkins +erik +lyon +##eon +bros +snap +locality +empress +crowned +cal +acclaimed +chuckled +clara +sends +mild +towel +wishing +assuming +interviewed +##bal +interactions +eden +cups +helena +indie +beck +##fire +batteries +filipino +wizard +parted +traces +##born +rows +idol +albany +delegates +##ees +##sar +discussions +notre +instructed +belgrade +highways +suggestion +lauren +possess +orientation +alexandria +abdul +beats +salary +reunion +ludwig +alright +wagner +intimate +pockets +slovenia +hugged +brighton +merchants +cruel +stole +trek +slopes +repairs +enrollment +politically +underlying +promotional +counting +boeing +isabella +naming +keen +bacteria +listing +separately +belfast +ussr +lithuanian +anybody +ribs +sphere +martinez +cock +embarrassed +proposals +fragments +nationals +##wski +premises +fin +alpine +matched +freely +bounded +jace +sleeve +pier +populated +evident +##like +frances +flooded +##dle +frightened +pour +trainer +framed +visitor +challenging +pig +wickets +##fold +infected +##pes +arose +reward +ecuador +oblast +vale +shuttle +##usa +bach +rankings +forbidden +cornwall +accordance +salem +consumers +bruno +fantastic +toes +machinery +resolved +julius +remembering +propaganda +iceland +bombardment +tide +contacts +wives +##rah +concerto +macdonald +albania +implement +daisy +tapped +sudan +helmet +mistress +crop +sunk +finest +##craft +hostile +boxer +fr +paths +adjusted +habit +ballot +supervision +soprano +bullets +wicked +sunset +regiments +disappear +lamp +performs +##gia +rabbit +digging +incidents +entries +##cion +dishes +introducing +##ati +##fied +freshman +slot +jill +tackles +baroque +backs +##iest +lone +sponsor +destiny +altogether +convert +##aro +consensus +shapes +demonstration +basically +feminist +auction +artifacts +##bing +strongest +halifax +allmusic +mighty +smallest +precise +alexandra +viola +##los +##ille +manuscripts +##illo +dancers +ari +managers +monuments +blades +barracks +springfield +maiden +consolidated +electron +berry +airing +wheat +nobel +inclusion +blair +payments +geography +bee +eleanor +react +##hurst +afc +manitoba +lineup +fitness +recreational +investments +airborne +disappointment +##dis +edmonton +viewing +renovation +infant +bankruptcy +roses +aftermath +pavilion +carpenter +withdrawal +ladder +discussing +popped +reliable +agreements +rochester +##abad +curves +bombers +rao +reverend +decreased +choosing +stiff +consulting +naples +crawford +tracy +ribbon +cops +crushed +deciding +unified +teenager +accepting +flagship +poles +sanchez +inspection +revived +skilled +induced +exchanged +flee +locals +tragedy +swallow +hanna +demonstrate +##ela +salvador +flown +contestants +civilization +##ines +wanna +rhodes +fletcher +hector +knocking +considers +nash +mechanisms +sensed +mentally +walt +unclear +##eus +renovated +madame +crews +governmental +undertaken +monkey +##ben +##ato +fatal +armored +copa +caves +governance +grasp +perception +certification +froze +damp +tugged +wyoming +##rg +##ero +newman +nerves +curiosity +graph +##ami +withdraw +tunnels +dull +meredith +moss +exhibits +neighbors +communicate +accuracy +explored +raiders +republicans +secular +kat +superman +penny +criticised +freed +conviction +ham +likewise +delegation +gotta +doll +promises +technological +myth +nationality +resolve +convent +sharon +dig +sip +coordinator +entrepreneur +fold +##dine +capability +councillor +synonym +blown +swan +cursed +1815 +jonas +haired +sofa +canvas +keeper +rivalry +##hart +rapper +speedway +swords +postal +maxwell +estonia +potter +recurring +errors +##oni +cognitive +1834 +claws +nadu +roberto +bce +wrestler +ellie +infinite +ink +##tia +presumably +finite +staircase +noel +patricia +nacional +chill +eternal +tu +preventing +prussia +fossil +limbs +##logist +ernst +frog +perez +rene +prussian +##ios +molecules +regulatory +answering +opinions +sworn +lengths +supposedly +hypothesis +upward +habitats +seating +ancestors +drank +yield +synthesis +researcher +modest +##var +mothers +peered +voluntary +homeland +acclaim +##igan +static +valve +luxembourg +alto +carroll +receptor +norton +ambulance +##tian +johnston +catholics +depicting +jointly +elephant +gloria +mentor +badge +ahmad +distinguish +remarked +councils +precisely +allison +advancing +detection +crowded +cooperative +ankle +mercedes +dagger +surrendered +pollution +commit +subway +jeffrey +lesson +sculptures +provider +##fication +membrane +timothy +rectangular +fiscal +heating +teammate +basket +particle +anonymous +deployment +missiles +courthouse +proportion +shoe +sec +complaints +forbes +blacks +abandon +remind +sizes +overwhelming +autobiography +natalie +##awa +risks +contestant +countryside +babies +scorer +invaded +enclosed +proceed +hurling +disorders +##cu +reflecting +continuously +cruiser +graduates +freeway +investigated +ore +deserved +maid +blocking +phillip +jorge +shakes +dove +mann +variables +lacked +burden +accompanying +que +consistently +organizing +provisional +complained +endless +tubes +juice +georges +krishna +mick +thriller +laps +arcade +sage +snail +shannon +laurence +seoul +vacation +presenting +hire +churchill +surprisingly +prohibited +savannah +technically +##oli +##lessly +testimony +suited +speeds +toys +romans +flowering +measurement +talented +kay +settings +charleston +expectations +shattered +achieving +triumph +ceremonies +portsmouth +lanes +mandatory +loser +stretching +cologne +realizes +seventy +cornell +careers +webb +##ulating +americas +budapest +ava +suspicion +yo +conrad +sterling +jessie +rector +##az +1831 +transform +organize +loans +christine +volcanic +warrant +slender +summers +subfamily +newer +danced +dynamics +rhine +proceeds +heinrich +gastropod +commands +sings +facilitate +easter +positioned +responses +expense +fruits +yanked +imported +25th +velvet +vic +primitive +tribune +baldwin +neighbourhood +donna +rip +hay +##uro +1814 +espn +welcomed +##aria +qualifier +glare +highland +timing +##cted +shells +eased +geometry +louder +exciting +slovakia +##iz +savings +prairie +marching +rafael +tonnes +##lled +curtain +preceding +shy +heal +greene +worthy +##pot +detachment +bury +sherman +##eck +reinforced +seeks +bottles +contracted +duchess +outfit +walsh +mickey +geoffrey +archer +squeeze +dawson +eliminate +invention +##enberg +neal +##eth +stance +dealer +coral +maple +retire +simplified +1833 +hid +watts +backwards +jules +##oke +genesis +frames +rebounds +burma +woodland +moist +santos +whispers +drained +subspecies +streaming +ulster +burnt +correspondence +maternal +gerard +denis +stealing +genius +duchy +##oria +inaugurated +momentum +suits +placement +sovereign +clause +thames +##hara +confederation +reservation +sketch +yankees +lets +rotten +charm +hal +verses +commercially +dot +salon +citation +adopt +winnipeg +mist +allocated +cairo +jenkins +interference +objectives +##wind +1820 +portfolio +armoured +sectors +initiatives +integrity +exercises +robe +tap +gazed +##tones +distracted +rulers +favorable +jerome +tended +cart +factories +##eri +diplomat +valued +gravel +charitable +calvin +exploring +shepherd +terrace +pupil +##ural +reflects +##rch +governors +shelf +depths +##nberg +trailed +crest +tackle +##nian +hatred +##kai +clare +makers +ethiopia +longtime +detected +embedded +lacking +slapped +rely +thomson +anticipation +morton +successive +agnes +screenwriter +straightened +philippe +playwright +haunted +licence +iris +intentions +sutton +logical +correctly +##weight +branded +licked +tipped +silva +ricky +narrator +requests +##ents +greeted +supernatural +cow +##wald +lung +refusing +employer +strait +gaelic +liner +##piece +zoe +sabha +##mba +driveway +harvest +prints +bates +reluctantly +threshold +algebra +ira +wherever +coupled +assumption +picks +designers +raids +gentlemen +roller +blowing +leipzig +locks +screw +dressing +strand +##lings +scar +dwarf +depicts +##nu +nods +differ +boris +##eur +yuan +flip +##gie +mob +invested +questioning +applying +shout +##sel +gameplay +blamed +illustrations +bothered +weakness +rehabilitation +##zes +envelope +rumors +miners +leicester +subtle +kerry +ferguson +premiership +bengali +prof +catches +remnants +dana +##rily +shouting +presidents +baltic +ought +ghosts +dances +sailors +shirley +fancy +dominic +##bie +madonna +##rick +bark +buttons +gymnasium +ashes +liver +toby +oath +providence +doyle +evangelical +nixon +cement +carnegie +embarked +hatch +surroundings +guarantee +needing +pirate +essence +filter +crane +hammond +projected +immune +percy +twelfth +regent +doctoral +damon +mikhail +##ichi +critically +elect +realised +abortion +acute +screening +mythology +steadily +frown +nottingham +kirk +wa +minneapolis +##rra +module +algeria +nautical +encounters +surprising +statues +availability +shirts +pie +alma +brows +munster +mack +soup +crater +tornado +sanskrit +cedar +explosive +bordered +dixon +planets +stamp +exam +happily +##bble +carriers +kidnapped +accommodation +emigrated +##met +knockout +correspondent +violation +profits +peaks +lang +specimen +agenda +ancestry +pottery +spelling +equations +obtaining +ki +linking +1825 +debris +asylum +buddhism +##ants +gazette +dental +eligibility +fathers +averaged +zimbabwe +francesco +coloured +hissed +translator +lynch +mandate +humanities +mackenzie +uniforms +##iana +asset +fitting +samantha +genera +rim +beloved +shark +riot +entities +expressions +indo +carmen +slipping +owing +abbot +neighbor +sidney +rats +recommendations +encouraging +squadrons +anticipated +commanders +conquered +donations +diagnosed +divide +##iva +guessed +decoration +vernon +auditorium +revelation +conversations +##kers +##power +herzegovina +dash +alike +protested +lateral +herman +accredited +##gent +freeman +mel +fiji +crow +crimson +##rine +livestock +##pped +humanitarian +bored +oz +whip +##lene +##ali +legitimate +alter +grinning +spelled +anxious +oriental +wesley +##nin +##hole +carnival +controller +detect +##ssa +bowed +educator +kosovo +macedonia +##sin +occupy +mastering +stephanie +janeiro +para +unaware +nurses +noon +hopefully +ranger +combine +sociology +polar +rica +##eer +neill +##sman +holocaust +doubled +lust +1828 +decent +cooling +unveiled +1829 +nsw +homer +chapman +meyer +dive +mae +reagan +expertise +##gled +darwin +brooke +sided +prosecution +investigating +comprised +petroleum +genres +reluctant +differently +trilogy +johns +vegetables +corpse +highlighted +lounge +pension +unsuccessfully +elegant +aided +ivory +beatles +amelia +cain +dubai +immigrant +babe +underwater +combining +mumbled +atlas +horns +accessed +ballad +physicians +homeless +gestured +rpm +freak +louisville +corporations +patriots +prizes +rational +warn +modes +decorative +overnight +din +troubled +phantom +monarch +sheer +##dorf +generals +guidelines +organs +addresses +enhance +curling +parishes +cord +##kie +caesar +deutsche +bavaria +coleman +cyclone +##eria +bacon +petty +##yama +##old +hampton +diagnosis +1824 +throws +complexity +rita +disputed +pablo +marketed +trafficking +##ulus +examine +plague +formats +vault +faithful +##bourne +webster +highlights +##ient +phones +vacuum +sandwich +modeling +##gated +bolivia +clergy +qualities +isabel +##nas +##ars +wears +screams +reunited +annoyed +bra +##ancy +##rate +differential +transmitter +tattoo +container +poker +##och +excessive +resides +cowboys +##tum +augustus +trash +providers +statute +retreated +balcony +reversed +void +storey +preceded +masses +leap +laughs +neighborhoods +wards +schemes +falcon +santo +battlefield +ronnie +lesbian +venus +##dian +beg +sandstone +daylight +punched +gwen +analog +stroked +wwe +acceptable +measurements +toxic +##kel +adequate +surgical +economist +parameters +varsity +##sberg +quantity +##chy +##rton +countess +generating +precision +diamonds +expressway +##ı +1821 +uruguay +talents +galleries +expenses +scanned +colleague +outlets +ryder +lucien +##ila +paramount +syracuse +dim +fangs +gown +sweep +##sie +missionaries +websites +sentences +adviser +val +trademark +spells +##plane +patience +starter +slim +##borg +toe +incredibly +shoots +elliot +nobility +##wyn +cowboy +endorsed +gardner +tendency +persuaded +organisms +emissions +kazakhstan +amused +boring +chips +themed +##hand +constantinople +chasing +systematic +guatemala +borrowed +erin +carey +##hard +highlands +struggles +1810 +##ifying +##ced +exceptions +develops +enlarged +kindergarten +castro +##rina +leigh +zombie +juvenile +##most +consul +sailor +hyde +clarence +intensive +pinned +nasty +useless +jung +clayton +stuffed +exceptional +ix +apostolic +transactions +exempt +swinging +cove +religions +shields +dairy +bypass +pursuing +joyce +bombay +chassis +southampton +chat +interact +redesignated +##pen +nascar +pray +salmon +rigid +regained +malaysian +grim +publicity +constituted +capturing +toilet +delegate +purely +tray +drift +loosely +striker +weakened +trinidad +mitch +itv +defines +transmitted +scarlet +nodding +fitzgerald +narrowly +tooth +standings +virtue +##wara +##cting +chateau +gloves +lid +hurting +conservatory +##pel +sinclair +reopened +sympathy +nigerian +strode +advocated +optional +chronic +discharge +suck +compatible +laurel +stella +fails +wage +dodge +informal +sorts +levi +buddha +villagers +chronicles +heavier +summoned +gateway +eleventh +jewelry +translations +accordingly +seas +##ency +fiber +pyramid +cubic +dragging +##ista +caring +##ops +contacted +lunar +lisbon +patted +1826 +sacramento +theft +madagascar +subtropical +disputes +holidays +piper +willow +mare +cane +newfoundland +benny +companions +dong +raj +observe +roar +charming +plaque +tibetan +fossils +enacted +manning +bubble +tanzania +##eda +##hir +funk +swamp +deputies +cloak +ufc +scenario +par +scratch +metals +anthem +guru +engaging +specially +##boat +dialects +nineteen +cecil +duet +disability +unofficial +##lies +defunct +moonlight +drainage +surname +puzzle +switching +conservatives +mammals +knox +broadcaster +sidewalk +cope +##ried +benson +princes +peterson +##sal +bedford +sharks +eli +wreck +alberto +gasp +archaeology +lgbt +teaches +securities +madness +compromise +waving +coordination +davidson +visions +leased +possibilities +eighty +fernandez +enthusiasm +assassin +sponsorship +reviewer +kingdoms +estonian +laboratories +##fy +##nal +applies +verb +celebrations +##zzo +rowing +lightweight +sadness +submit +balanced +dude +explicitly +metric +magnificent +mound +brett +mohammad +mistakes +irregular +sanders +betrayed +shipped +surge +##enburg +reporters +termed +georg +pity +verbal +bulls +abbreviated +enabling +appealed +sicily +sting +heel +sweetheart +bart +spacecraft +brutal +monarchy +aberdeen +cameo +diane +survivor +clyde +##aries +complaint +##makers +clarinet +delicious +chilean +karnataka +coordinates +1818 +panties +##rst +pretending +dramatically +kiev +tends +distances +catalog +launching +instances +telecommunications +portable +lindsay +vatican +##eim +angles +aliens +marker +stint +screens +bolton +##rne +judy +wool +benedict +plasma +europa +imaging +filmmaker +swiftly +contributor +opted +stamps +apologize +financing +butter +gideon +sophisticated +alignment +avery +chemicals +yearly +speculation +prominence +professionally +immortal +institutional +inception +wrists +identifying +tribunal +derives +gains +papal +preference +linguistic +vince +operative +brewery +##ont +unemployment +boyd +##ured +##outs +albeit +prophet +1813 +##rad +quarterly +asteroid +cleaned +radius +temper +##llen +telugu +jerk +viscount +##ote +glimpse +##aya +yacht +hawaiian +baden +laptop +readily +##gu +monetary +offshore +scots +watches +##yang +##arian +upgrade +needle +lea +encyclopedia +flank +fingertips +delight +teachings +confirm +roth +beaches +midway +winters +##iah +teasing +daytime +beverly +gambling +##backs +regulated +clement +hermann +tricks +knot +##shing +##uring +##vre +detached +ecological +owed +specialty +byron +inventor +bats +stays +screened +unesco +midland +trim +affection +##ander +jess +thoroughly +feedback +chennai +strained +heartbeat +wrapping +overtime +pleaded +##sworth +leisure +oclc +##tate +##ele +feathers +angelo +thirds +nuts +surveys +clever +gill +commentator +##dos +darren +rides +gibraltar +dissolution +dedication +shin +meals +saddle +elvis +reds +chaired +taller +appreciation +functioning +niece +favored +advocacy +robbie +criminals +suffolk +yugoslav +passport +constable +congressman +hastings +##rov +consecrated +sparks +ecclesiastical +confined +##ovich +muller +floyd +nora +1822 +paved +1827 +cumberland +ned +saga +spiral +appreciated +collaborative +treating +similarities +feminine +finishes +##ib +jade +import +##hot +champagne +mice +securing +celebrities +helsinki +attributes +##gos +cousins +phases +ache +lucia +gandhi +submission +vicar +spear +shine +tasmania +biting +detention +constitute +tighter +seasonal +##gus +terrestrial +matthews +effectiveness +parody +philharmonic +##onic +1816 +strangers +encoded +consortium +guaranteed +regards +shifts +tortured +collision +supervisor +inform +broader +insight +theaters +armour +emeritus +blink +incorporates +mapping +handball +flexible +##nta +substantially +generous +thief +carr +loses +1793 +prose +ucla +romeo +generic +metallic +realization +damages +commissioners +zach +default +helicopters +lengthy +stems +partnered +spectators +rogue +indication +penalties +teresa +1801 +sen +##tric +dalton +##wich +irving +photographic +##vey +deaf +peters +excluded +unsure +##vable +patterson +crawled +##zio +resided +whipped +latvia +slower +ecole +pipes +employers +maharashtra +comparable +textile +pageant +##gel +alphabet +binary +irrigation +chartered +choked +antoine +offs +waking +supplement +quantities +demolition +regain +locate +urdu +folks +scary +andreas +whites +##ava +classrooms +mw +aesthetic +publishes +valleys +guides +cubs +johannes +bryant +conventions +affecting +##itt +drain +awesome +isolation +prosecutor +ambitious +apology +captive +downs +atmospheric +lorenzo +aisle +beef +foul +##onia +kidding +composite +disturbed +illusion +natives +##ffer +rockets +riverside +wartime +painters +adolf +melted +uncertainty +simulation +hawks +progressed +meantime +builder +spray +breach +unhappy +regina +russians +determining +tram +1806 +##quin +aging +1823 +garion +rented +mister +diaz +terminated +clip +1817 +depend +nervously +disco +owe +defenders +shiva +notorious +disbelief +shiny +worcester +##gation +##yr +trailing +undertook +islander +belarus +limitations +watershed +fuller +overlooking +utilized +raphael +1819 +synthetic +breakdown +klein +##nate +moaned +memoir +lamb +practicing +##erly +cellular +arrows +exotic +witches +charted +rey +hut +hierarchy +subdivision +freshwater +giuseppe +aloud +reyes +qatar +marty +sideways +utterly +sexually +jude +prayers +mccarthy +softball +blend +damien +##gging +##metric +wholly +erupted +lebanese +negro +revenues +tasted +comparative +teamed +transaction +labeled +maori +sovereignty +parkway +trauma +gran +malay +advancement +descendant +buzz +salvation +inventory +symbolic +##making +antarctica +mps +##bro +mohammed +myanmar +holt +submarines +tones +##lman +locker +patriarch +bangkok +emerson +remarks +predators +kin +afghan +confession +norwich +rental +emerge +advantages +##zel +rca +##hold +shortened +storms +aidan +##matic +autonomy +compliance +##quet +dudley +##osis +1803 +motto +documentation +summary +professors +spectacular +christina +archdiocese +flashing +innocence +remake +##dell +psychic +reef +scare +employ +sticks +meg +gus +leans +accompany +bergen +tomas +doom +wages +pools +##bes +breasts +scholarly +alison +outline +brittany +breakthrough +willis +realistic +##cut +##boro +competitor +##stan +pike +picnic +designing +commercials +washing +villain +skiing +costumes +auburn +halted +executives +logistics +cycles +vowel +applicable +barrett +exclaimed +eurovision +eternity +ramon +##umi +modifications +sweeping +disgust +torch +aviv +ensuring +rude +dusty +sonic +donovan +outskirts +cu +pathway +##band +##gun +disciplines +acids +cadet +paired +sketches +##sive +marriages +folding +peers +slovak +implies +admired +##beck +1880s +leopold +instinct +attained +weston +megan +horace +##ination +dorsal +ingredients +evolutionary +complications +deity +lethal +brushing +levy +deserted +institutes +posthumously +delivering +telescope +coronation +motivated +rapids +luc +flicked +pays +volcano +tanner +weighed +##nica +crowds +frankie +gifted +addressing +granddaughter +winding +##rna +constantine +gomez +##front +landscapes +rudolf +anthropology +slate +werewolf +astronomy +circa +rouge +dreaming +sack +knelt +drowned +naomi +prolific +tracked +freezing +herb +agony +randall +twisting +wendy +deposit +touches +vein +wheeler +##bbled +batted +retaining +tire +presently +compare +specification +daemon +nigel +##grave +merry +recommendation +czechoslovakia +sandra +roma +##sts +lambert +inheritance +sheikh +winchester +cries +examining +##yle +comeback +cuisine +nave +##iv +retrieve +tomatoes +barker +polished +defining +irene +lantern +personalities +begging +tract +swore +1809 +##gic +omaha +brotherhood +haiti +##ots +exeter +##ete +##zia +steele +dumb +pearson +surveyed +elisabeth +trends +fritz +bugs +fraction +calmly +viking +##birds +tug +inserted +unusually +##ield +confronted +distress +crashing +brent +turks +resign +##olo +cambodia +gabe +sauce +##kal +evelyn +extant +clusters +quarry +teenagers +luna +##lers +##ister +affiliation +drill +##ashi +panthers +scenic +libya +anita +strengthen +inscriptions +##cated +lace +sued +judith +riots +##uted +mint +##eta +preparations +midst +dub +challenger +##vich +mock +displaced +wicket +breaths +enables +schmidt +analyst +##lum +highlight +automotive +axe +josef +newark +sufficiently +resembles +50th +##pal +flushed +mum +traits +##ante +commodore +incomplete +warming +titular +ceremonial +ethical +celebrating +eighteenth +cao +lima +medalist +mobility +strips +snakes +miniature +zagreb +barton +escapes +umbrella +automated +doubted +differs +cooled +georgetown +dresden +cooked +fade +wyatt +jacobs +carlton +abundant +stereo +madras +inning +spur +malayalam +begged +osaka +groan +escaping +charging +dose +##aj +bud +papa +communists +advocates +edged +tri +resemble +peaking +necklace +fried +montenegro +saxony +goose +glances +stuttgart +curator +recruit +grocery +sympathetic +##tting +##fort +lotus +randolph +ancestor +##rand +succeeding +jupiter +1798 +macedonian +##heads +hiking +1808 +handing +fischer +##itive +garbage +##pies +prone +singular +papua +inclined +attractions +italia +pouring +motioned +grandma +garnered +jacksonville +corp +ego +ringing +aluminum +##hausen +ordering +##foot +drawer +traders +synagogue +##kawa +resistant +wandering +fragile +fiona +teased +hardcore +soaked +jubilee +decisive +exposition +mercer +poster +valencia +hale +kuwait +1811 +##ises +##wr +##eed +tavern +gamma +johan +##uer +airways +amino +gil +vocational +domains +torres +generator +folklore +outcomes +##keeper +canberra +shooter +fl +beams +confrontation +##gram +aligned +forestry +pipeline +jax +motorway +conception +decay +coffin +##cott +stalin +1805 +escorted +minded +##nam +sitcom +purchasing +twilight +veronica +additions +passive +tensions +straw +frequencies +1804 +refugee +cultivation +##iate +christie +clary +bulletin +crept +disposal +##rich +##zong +processor +crescent +##rol +emphasized +whale +nazis +aurora +dwelling +hauled +sponsors +toledo +ideology +theatres +tessa +cerambycidae +saves +turtle +cone +suspects +kara +rusty +yelling +greeks +mozart +shades +cocked +participant +shire +spit +freeze +necessity +##cos +inmates +nielsen +councillors +loaned +uncommon +omar +peasants +botanical +offspring +daniels +formations +jokes +1794 +pioneers +sigma +licensing +##sus +wheelchair +polite +1807 +liquor +pratt +trustee +##uta +forewings +balloon +kilometre +camping +explicit +casually +shawn +foolish +teammates +nm +hassan +carrie +judged +satisfy +vanessa +knives +selective +flowed +##lice +stressed +eliza +mathematician +cease +cultivated +##roy +commissions +browns +##ania +destroyers +sheridan +meadow +##rius +minerals +##cial +downstream +clash +gram +memoirs +ventures +baha +seymour +archie +midlands +edith +fare +flynn +invite +canceled +tiles +stabbed +boulder +incorporate +amended +camden +facial +mollusk +unreleased +descriptions +grabs +raises +ramp +shiver +##rose +coined +pioneering +tunes +qing +warwick +tops +melanie +giles +##rous +wandered +##inal +annexed +30th +unnamed +##ished +organizational +airplane +normandy +stoke +whistle +blessing +violations +chased +holders +shotgun +##ctic +reactor +##vik +tires +tearing +shores +fortified +mascot +constituencies +columnist +productive +tibet +##rta +lineage +hooked +tapes +judging +cody +##gger +hansen +kashmir +triggered +##eva +solved +cliffs +##tree +resisted +anatomy +protesters +transparent +implied +##iga +injection +mattress +excluding +##mbo +defenses +helpless +devotion +##elli +growl +liberals +weber +phenomena +atoms +plug +##iff +mortality +apprentice +howe +convincing +swimmer +barber +leone +promptly +sodium +def +nowadays +arise +##oning +gloucester +corrected +dignity +norm +erie +##ders +elders +evacuated +compression +##yar +hartford +backpack +reasoning +accepts +24th +wipe +millimetres +marcel +##oda +dodgers +albion +1790 +overwhelmed +aerospace +oaks +1795 +showcase +acknowledge +recovering +nolan +ashe +hurts +geology +fashioned +disappearance +farewell +swollen +shrug +marquis +wimbledon +rue +1792 +commemorate +reduces +experiencing +inevitable +calcutta +##court +murderer +sticking +fisheries +imagery +bloom +##inus +gustav +hesitation +memorable +viral +beans +accidents +tunisia +antenna +spilled +consort +treatments +aye +perimeter +##gard +donation +hostage +migrated +banker +addiction +apex +lil +trout +##ously +conscience +##nova +rams +sands +genome +passionate +troubles +##lets +amid +##ibility +##ret +higgins +exceed +vikings +##vie +payne +##zan +muscular +defendant +sucking +##wal +ibrahim +fuselage +claudia +vfl +europeans +snails +interval +##garh +preparatory +statewide +tasked +lacrosse +viktor +##lation +angola +##hra +flint +implications +employs +teens +patrons +stall +weekends +barriers +scrambled +nucleus +tehran +jenna +parsons +lifelong +robots +displacement +##bles +precipitation +knuckles +clutched +1802 +marrying +ecology +marx +accusations +declare +scars +kolkata +mat +meadows +bermuda +skeleton +finalists +vintage +crawl +coordinate +affects +subjected +orchestral +mistaken +mirrors +dipped +relied +arches +candle +##nick +incorporating +wildly +fond +basilica +owl +fringe +rituals +whispering +stirred +feud +tertiary +slick +goat +honorable +whereby +ricardo +stripes +parachute +adjoining +submerged +synthesizer +##gren +intend +positively +ninety +phi +beaver +partition +fellows +alexis +prohibition +carlisle +bizarre +fraternity +doubts +icy +aquatic +sneak +sonny +combines +airports +crude +supervised +spatial +merge +alfonso +##bic +corrupt +scan +undergo +##ams +disabilities +colombian +comparing +dolphins +perkins +reprinted +unanimous +bounced +hairs +underworld +midwest +semester +bucket +paperback +miniseries +coventry +demise +##leigh +demonstrations +sensor +rotating +yan +##hler +arrange +soils +##idge +hyderabad +labs +brakes +grandchildren +##nde +negotiated +rover +ferrari +continuation +directorate +augusta +stevenson +counterpart +gore +##rda +nursery +rican +ave +collectively +broadly +pastoral +repertoire +asserted +discovering +nordic +styled +fiba +cunningham +harley +middlesex +survives +tumor +tempo +zack +aiming +lok +urgent +##nto +devils +contractor +turin +##wl +bliss +repaired +simmons +moan +astronomical +negotiate +lyric +1890s +lara +bred +clad +angus +pbs +engineered +posed +hernandez +possessions +elbows +psychiatric +strokes +confluence +electorate +lifts +campuses +lava +alps +##ution +##date +physicist +woody +##ographic +##itis +juliet +reformation +sparhawk +complement +suppressed +jewel +##½ +floated +##kas +continuity +sadly +##ische +inability +melting +scanning +paula +flour +judaism +safer +vague +solving +curb +##stown +financially +gable +bees +expired +miserable +cassidy +dominion +1789 +cupped +robbery +facto +amos +warden +resume +tallest +marvin +pounded +declaring +gasoline +##aux +darkened +sophomore +##mere +erection +gossip +televised +risen +dial +##eu +pillars +passages +profound +arabian +ashton +silicon +nail +##lated +##hardt +fleming +firearms +ducked +circuits +blows +waterloo +titans +fireplace +cheshire +financed +activation +algorithms +constituent +catcher +cherokee +partnerships +sexuality +platoon +tragic +vivian +guarded +whiskey +meditation +poetic +##nga +porto +listeners +dominance +kendra +mona +chandler +factions +22nd +salisbury +attitudes +derivative +##ido +##haus +intake +paced +javier +illustrator +barrels +bias +cockpit +burnett +dreamed +ensuing +receptors +someday +hawkins +mattered +##lal +slavic +1799 +jesuit +cameroon +wasted +wax +lowering +victorious +freaking +outright +hancock +librarian +sensing +bald +calcium +myers +tablet +announcing +barack +shipyard +pharmaceutical +greenwich +flush +medley +patches +wolfgang +speeches +acquiring +exams +nikolai +hayden +kannada +reilly +waitress +abdomen +devastated +capped +pseudonym +pharmacy +fulfill +paraguay +1796 +clicked +##trom +archipelago +syndicated +##hman +lumber +orgasm +rejection +clifford +lorraine +advent +mafia +rodney +brock +##used +##elia +cassette +chamberlain +despair +mongolia +sensors +developmental +upstream +##alis +spanning +trombone +basque +seeded +interred +renewable +rhys +leapt +revision +molecule +##ages +chord +vicious +nord +shivered +23rd +arlington +debts +corpus +sunrise +bays +blackburn +centimetres +##uded +shuddered +strangely +gripping +cartoons +isabelle +orbital +##ppa +seals +proving +refusal +strengthened +bust +assisting +baghdad +batsman +portrayal +mara +pushes +spears +og +##cock +reside +nathaniel +brennan +1776 +confirmation +caucus +##worthy +markings +yemen +nobles +ku +lazy +viewer +catalan +encompasses +sawyer +##fall +sparked +substances +patents +braves +arranger +evacuation +sergio +persuade +dover +tolerance +penguin +cum +jockey +insufficient +townships +occupying +declining +plural +processed +projection +puppet +flanders +introduces +liability +##yon +gymnastics +antwerp +hobart +candles +jeep +wes +observers +chaplain +bundle +glorious +##hine +hazel +flung +sol +excavations +dumped +stares +bangalore +triangular +icelandic +intervals +expressing +turbine +##vers +songwriting +crafts +##igo +jasmine +ditch +rite +entertaining +comply +sorrow +wrestlers +basel +emirates +marian +rivera +helpful +##some +caution +downward +networking +##atory +##tered +darted +genocide +emergence +replies +specializing +spokesman +convenient +unlocked +fading +augustine +concentrations +resemblance +elijah +investigator +andhra +##uda +promotes +##rrell +fleeing +simone +announcer +lydia +weaver +residency +modification +##fest +stretches +alternatively +nat +lowe +lacks +##ented +pam +tile +concealed +inferior +abdullah +residences +tissues +vengeance +##ided +moisture +peculiar +groove +bologna +jennings +ninja +oversaw +zombies +pumping +batch +livingston +emerald +installations +1797 +peel +nitrogen +rama +##fying +schooling +strands +responding +werner +lime +casa +accurately +targeting +##rod +underway +##uru +hemisphere +lester +##yard +occupies +griffith +angrily +reorganized +##owing +courtney +deposited +estadio +##ifies +dunn +exiled +##ying +checks +##combe +successes +unexpectedly +blu +assessed +##flower +observing +sacked +spiders +kn +nodes +prosperity +audrey +divisional +broncos +tangled +adjust +feeds +erosion +paolo +surf +directory +snatched +humid +admiralty +screwed +reddish +##nese +modules +trench +lamps +bind +leah +bucks +competes +##nz +transcription +isles +violently +clutching +pga +cyclist +inflation +flats +ragged +unnecessary +##hian +stubborn +coordinated +harriet +baba +disqualified +insect +wolfe +##fies +reinforcements +rocked +duel +winked +embraced +bricks +##raj +hiatus +defeats +pending +brightly +jealousy +##xton +##uki +lena +colorful +##dley +stein +kidney +##shu +underwear +wanderers +##haw +##icus +guardians +m³ +roared +habits +##wise +permits +uranium +punished +disguise +bundesliga +elise +dundee +erotic +partisan +collectors +float +individually +rendering +behavioral +bucharest +ser +hare +valerie +corporal +nutrition +proportional +immense +##kis +pavement +##zie +##eld +sutherland +crouched +1775 +suzuki +trades +endurance +operas +crosby +prayed +priory +rory +socially +gujarat +walton +cube +pasha +privilege +lennon +floods +thorne +waterfall +nipple +scouting +approve +##lov +minorities +voter +dwight +extensions +assure +ballroom +slap +dripping +privileges +rejoined +confessed +demonstrating +patriotic +yell +investor +##uth +pagan +slumped +squares +confront +bert +embarrassment +aston +urging +sweater +starr +yuri +brains +williamson +commuter +mortar +structured +selfish +exports +##jon +cds +##him +unfinished +##rre +mortgage +destinations +##nagar +canoe +solitary +buchanan +delays +magistrate +fk +##pling +motivation +##lier +##vier +recruiting +assess +##mouth +malik +antique +1791 +pius +rahman +reich +tub +zhou +smashed +airs +galway +xii +conditioning +honduras +discharged +dexter +##pf +lionel +debates +lemon +volunteered +dioxide +procession +devi +sic +tremendous +advertisements +colts +transferring +verdict +hanover +decommissioned +utter +relate +pac +racism +beacon +limp +similarity +terra +occurrence +ant +becky +capt +updates +armament +richie +pal +##graph +halloween +mayo +##ssen +##bone +cara +serena +fcc +dolls +obligations +##dling +violated +lafayette +jakarta +exploitation +infamous +iconic +##lah +##park +moody +reginald +dread +spill +crystals +olivier +modeled +bluff +equilibrium +separating +notices +ordnance +extinction +onset +cosmic +attachment +sammy +expose +privy +anchored +##bil +abbott +admits +bending +baritone +emmanuel +policeman +vaughan +winged +climax +dresses +denny +polytechnic +mohamed +burmese +authentic +nikki +genetics +grandparents +homestead +gaza +postponed +metacritic +una +##sby +unstable +dissertation +##cian +curls +obscure +uncovered +bronx +praying +disappearing +##hoe +prehistoric +coke +turret +mutations +nonprofit +pits +monaco +##usion +prominently +dispatched +podium +##mir +uci +##uation +fortifications +birthplace +kendall +##lby +##oll +preacher +rack +goodman +persistent +##ott +countless +jaime +recorder +lexington +persecution +jumps +renewal +wagons +crushing +##holder +decorations +##lake +abundance +wrath +laundry +£1 +garde +jeanne +beetles +peasant +splitting +caste +sergei +##rer +##ema +scripts +##ively +rub +satellites +##vor +inscribed +verlag +scrapped +gale +packages +chick +potato +slogan +kathleen +arabs +##culture +counterparts +reminiscent +choral +##tead +rand +retains +bushes +dane +accomplish +courtesy +closes +##oth +slaughter +hague +krakow +lawson +tailed +elias +ginger +##ttes +canopy +betrayal +rebuilding +turf +##hof +frowning +allegiance +brigades +kicks +rebuild +polls +alias +nationalism +rowan +audition +bowie +fortunately +recognizes +harp +dillon +horrified +##oro +renault +ropes +presumed +rewarded +infrared +wiping +accelerated +illustration +presses +practitioners +badminton +##iard +detained +##tera +recognizing +relates +misery +##sies +##tly +reproduction +piercing +potatoes +thornton +esther +manners +hbo +##aan +ours +bullshit +ernie +perennial +sensitivity +illuminated +rupert +##iss +rfc +nassau +##dock +staggered +socialism +##haven +appointments +nonsense +prestige +sharma +haul +solidarity +##rata +igor +pedestrian +##uit +baxter +tenants +wires +medication +unlimited +guiding +impacts +diabetes +##rama +sasha +pas +clive +extraction +continually +constraints +##bilities +sonata +hunted +sixteenth +chu +planting +quote +mayer +pretended +spat +ceramic +##cci +curtains +pigs +pitching +##dad +latvian +sore +dayton +##sted +patrols +slice +playground +##nted +shone +stool +apparatus +inadequate +mates +treason +##ija +desires +##liga +##croft +somalia +laurent +mir +grape +obliged +chevrolet +thirteenth +stunning +enthusiastic +##ede +accounted +concludes +currents +basil +##kovic +drought +##rica +mai +##aire +shove +posting +##shed +pilgrimage +humorous +packing +fry +pencil +wines +smells +marilyn +aching +newest +clung +bon +neighbours +sanctioned +##pie +mug +##stock +drowning +hydraulic +##vil +hiring +reminder +lilly +investigators +##ncies +sour +##eous +compulsory +packet +##rion +##graphic +##elle +cannes +##inate +depressed +##rit +heroic +importantly +theresa +##tled +conway +saturn +marginal +rae +##xia +corresponds +royce +pact +jasper +explosives +packaging +aluminium +##ttered +denotes +rhythmic +spans +assignments +hereditary +outlined +originating +sundays +lad +reissued +greeting +beatrice +##dic +pillar +marcos +plots +handbook +alcoholic +judiciary +avant +slides +extract +masculine +blur +##eum +homage +trembled +owens +hymn +trey +signaling +socks +accumulated +reacted +attic +theo +lining +angie +distraction +primera +talbot +creativity +billed +##hey +deacon +eduardo +identifies +proposition +dizzy +gunner +hogan +##yam +##pping +##hol +ja +##chan +jensen +reconstructed +##berger +clearance +darius +##nier +abe +harlem +plea +dei +circled +emotionally +notation +fascist +neville +exceeded +upwards +viable +ducks +workforce +racer +limiting +shri +##lson +possesses +kerr +moths +devastating +laden +disturbing +locking +gal +fearing +accreditation +flavor +aide +1870s +mountainous +##baum +melt +##ures +texture +servers +soda +herd +##nium +erect +puzzled +hum +peggy +examinations +gould +testified +geoff +ren +devised +sacks +##law +denial +posters +grunted +cesar +tutor +gerry +offerings +byrne +falcons +combinations +incoming +pardon +rocking +26th +avengers +flared +mankind +seller +uttar +loch +nadia +stroking +exposing +fertile +ancestral +instituted +##has +noises +prophecy +taxation +eminent +vivid +pol +##bol +dart +indirect +multimedia +notebook +upside +displaying +adrenaline +referenced +geometric +##iving +progression +##ddy +blunt +announce +##far +implementing +##lav +aggression +liaison +cooler +cares +headache +plantations +gorge +dots +impulse +thickness +ashamed +averaging +kathy +obligation +precursor +fowler +symmetry +thee +hears +##rai +undergoing +butcher +bowler +##lip +cigarettes +subscription +goodness +##ically +browne +##hos +kyoto +donor +##erty +damaging +friction +drifting +expeditions +hardened +prostitution +fauna +blankets +claw +tossing +snarled +butterflies +recruits +investigative +coated +healed +communal +hai +xiii +academics +boone +psychologist +restless +lahore +stephens +brendan +foreigners +printer +ached +explode +27th +deed +scratched +dared +##pole +cardiac +1780 +okinawa +proto +commando +compelled +oddly +electrons +replica +thanksgiving +##rist +sheila +deliberate +stafford +tidal +representations +hercules +ou +##path +##iated +kidnapping +lenses +##tling +deficit +samoa +mouths +consuming +computational +maze +granting +smirk +razor +fixture +ideals +inviting +aiden +nominal +issuing +julio +pitt +ramsey +docks +##oss +exhaust +##owed +bavarian +draped +anterior +mating +ethiopian +explores +noticing +##nton +discarded +convenience +hoffman +endowment +beasts +cartridge +mormon +paternal +probe +sleeves +interfere +lump +deadline +jenks +bulldogs +scrap +alternating +justified +reproductive +nam +seize +descending +secretariat +kirby +grouped +smash +panther +sedan +tapping +lola +cheer +germanic +unfortunate +##eter +unrelated +##fan +subordinate +##sdale +suzanne +advertisement +##ility +horsepower +##lda +cautiously +discourse +luigi +##mans +##fields +noun +prevalent +mao +schneider +everett +surround +governorate +kira +##avia +westward +##take +misty +rails +sustainability +unused +##rating +packs +toast +unwilling +regulate +thy +suffrage +nile +awe +assam +definitions +travelers +affordable +##rb +conferred +sells +undefeated +beneficial +torso +basal +repeating +remixes +bahrain +cables +fang +##itated +excavated +numbering +statutory +deluxe +##lian +forested +ramirez +derbyshire +zeus +slamming +transfers +astronomer +banana +lottery +berg +histories +bamboo +##uchi +resurrection +posterior +bowls +vaguely +##thi +thou +preserving +tensed +offence +##inas +meyrick +callum +ridden +watt +langdon +tying +lowland +snorted +daring +truman +##hale +##girl +aura +overly +filing +weighing +goa +infections +philanthropist +saunders +eponymous +##owski +latitude +perspectives +reviewing +mets +commandant +radial +##kha +flashlight +reliability +koch +vowels +amazed +ada +elaine +supper +##encies +predator +debated +soviets +cola +##boards +##nah +compartment +crooked +arbitrary +fourteenth +havana +majors +steelers +clips +profitable +ambush +exited +packers +##tile +nude +cracks +fungi +limb +trousers +josie +shelby +tens +frederic +##ος +definite +smoothly +constellation +insult +baton +discs +lingering +##nco +conclusions +lent +staging +becker +grandpa +shaky +##tron +einstein +obstacles +adverse +economically +##moto +mccartney +thor +dismissal +motions +readings +nostrils +treatise +##pace +squeezing +evidently +prolonged +1783 +venezuelan +je +marguerite +beirut +takeover +shareholders +##vent +denise +digit +airplay +norse +##bbling +imaginary +pills +hubert +blaze +vacated +eliminating +vine +mansfield +retrospective +barrow +borne +clutch +bail +forensic +weaving +##nett +##witz +desktop +citadel +promotions +worrying +dorset +subdivided +##iating +manned +expeditionary +pickup +synod +chuckle +barney +##rz +##ffin +functionality +karachi +litigation +meanings +lick +anders +##ffed +execute +curl +oppose +ankles +typhoon +##ache +linguistics +compassion +pressures +grazing +perfection +##iting +immunity +monopoly +muddy +backgrounds +namibia +francesca +monitors +attracting +stunt +tuition +##ии +vegetable +##mates +##quent +mgm +jen +complexes +forts +cellar +bites +seventeenth +royals +flemish +failures +mast +charities +##cular +peruvian +capitals +macmillan +ipswich +outward +frigate +postgraduate +folds +employing +##ouse +concurrently +fiery +##tai +contingent +nightmares +monumental +nicaragua +##kowski +lizard +mal +fielding +gig +reject +harding +##ipe +coastline +##cin +beethoven +humphrey +innovations +##tam +norris +doris +solicitor +obey +niagara +shelves +bourbon +nightclub +specifications +hilton +##ndo +centennial +dispersed +worm +neglected +briggs +kuala +uneasy +##nstein +##bound +##aking +##burgh +awaiting +pronunciation +##bbed +##quest +eh +optimal +zhu +raped +greens +presided +brenda +worries +venetian +marxist +turnout +##lius +refined +braced +sins +grasped +sunderland +nickel +speculated +lowell +cyrillic +communism +fundraising +resembling +colonists +mutant +freddie +usc +##mos +gratitude +##run +mural +##lous +chemist +reminds +28th +steals +tess +pietro +##ingen +promoter +ri +microphone +honoured +rai +sant +##qui +feather +##nson +burlington +kurdish +terrorists +deborah +sickness +##wed +hazard +irritated +desperation +veil +clarity +##rik +jewels +xv +##gged +##ows +##cup +berkshire +unfair +mysteries +orchid +winced +exhaustion +renovations +stranded +obe +infinity +##nies +adapt +redevelopment +thanked +registry +olga +domingo +noir +tudor +ole +commenting +behaviors +##ais +crisp +pauline +probable +stirling +wigan +paralympics +panting +surpassed +##rew +luca +barred +famed +##sters +cassandra +waiter +carolyn +exported +##orted +andres +destructive +deeds +jonah +castles +vacancy +##glass +1788 +orchard +yep +famine +belarusian +sprang +##forth +skinny +##mis +administrators +rotterdam +zambia +zhao +boiler +discoveries +##ride +##physics +lucius +disappointing +outreach +spoon +##frame +qualifications +unanimously +enjoys +regency +##iidae +stade +realism +veterinary +rodgers +dump +alain +chestnut +castile +censorship +rumble +gibbs +communion +reggae +inactivated +logs +loads +##houses +homosexual +##iano +ale +informs +##cas +phrases +plaster +linebacker +ambrose +kaiser +fascinated +limerick +recruitment +forge +mastered +##nding +leinster +rooted +threaten +##strom +borneo +##hes +suggestions +scholarships +propeller +documentaries +patronage +coats +constructing +invest +neurons +comet +entirety +shouts +identities +annoying +unchanged +wary +##antly +##ogy +neat +oversight +##kos +phillies +replay +constance +##kka +incarnation +humble +skies +minus +##acy +smithsonian +guerrilla +jar +cadets +##plate +surplus +audit +##aru +cracking +joanna +louisa +pacing +##lights +intentionally +##iri +diner +nwa +imprint +australians +tong +unprecedented +bunker +naive +specialists +ark +nichols +railing +leaked +pedal +##uka +shrub +longing +roofs +captains +neural +tuned +##ntal +##jet +emission +medina +frantic +codex +definitive +sid +abolition +intensified +stocks +enrique +sustain +genoa +oxide +##written +clues +cha +##gers +tributaries +fragment +venom +##ente +##sca +muffled +vain +sire +laos +##ingly +##hana +hastily +snapping +surfaced +sentiment +motive +##oft +contests +approximate +mesa +luckily +dinosaur +exchanges +propelled +accord +bourne +relieve +tow +masks +offended +##ues +cynthia +##mmer +rains +bartender +zinc +reviewers +lois +##sai +legged +arrogant +rafe +comprise +handicap +blockade +inlet +lagoon +copied +drilling +shelley +petals +##inian +mandarin +obsolete +##inated +onward +arguably +productivity +praising +seldom +busch +discusses +raleigh +shortage +ranged +stanton +encouragement +firstly +conceded +overs +temporal +##uke +cbe +##bos +woo +certainty +pumps +##pton +stalked +##uli +lizzie +periodic +thieves +weaker +gases +shoving +chooses +wc +##chemical +prompting +weights +##kill +robust +flanked +sticky +tuberculosis +##eb +##eal +christchurch +resembled +wallet +reese +inappropriate +pictured +distract +fixing +fiddle +giggled +burger +heirs +hairy +mechanic +torque +obsessed +chiefly +cheng +logging +extracted +meaningful +numb +##vsky +gloucestershire +reminding +unite +##lit +breeds +diminished +clown +glove +1860s +archibald +focal +freelance +sliced +depiction +##yk +organism +switches +sights +stray +crawling +##ril +lever +leningrad +interpretations +loops +anytime +reel +alicia +delighted +##ech +inhaled +xiv +suitcase +bernie +vega +licenses +northampton +exclusion +induction +monasteries +racecourse +homosexuality +##sfield +##rky +dimitri +michele +alternatives +ions +commentators +genuinely +objected +pork +hospitality +fencing +stephan +warships +peripheral +wit +drunken +wrinkled +quentin +spends +departing +chung +numerical +spokesperson +johannesburg +caliber +killers +##udge +assumes +neatly +demographic +abigail +bloc +mounting +##lain +bentley +slightest +xu +recipients +##jk +merlin +##writer +seniors +prisons +blinking +hindwings +flickered +kappa +##hel +80s +strengthening +appealing +brewing +gypsy +mali +lashes +hulk +unpleasant +harassment +bio +treaties +predict +instrumentation +pulp +troupe +boiling +mantle +##ffe +##vn +dividing +handles +verbs +##onal +coconut +senegal +thorough +gum +momentarily +##sto +cocaine +panicked +destined +##turing +teatro +denying +weary +captained +mans +##hawks +wakefield +bollywood +thankfully +cyril +amendments +##bahn +consultation +stud +reflections +kindness +1787 +internally +##ovo +tex +mosaic +distribute +paddy +seeming +##hic +piers +##mura +popularly +winger +kang +sentinel +mccoy +##anza +covenant +##bag +verge +fireworks +suppress +thrilled +dominate +##jar +swansea +reconciliation +stiffened +cue +dorian +##uf +damascus +amor +ida +foremost +##aga +porsche +unseen +dir +##had +##azi +stony +lexi +melodies +##nko +angular +integer +podcast +ants +inherent +jaws +justify +persona +##olved +josephine +##nr +##ressed +customary +flashes +gala +cyrus +glaring +backyard +ariel +physiology +greenland +stir +avon +atletico +finch +methodology +ked +mas +catholicism +townsend +branding +quincy +fits +containers +1777 +ashore +aragon +forearm +poisoning +adopting +conquer +grinding +amnesty +keller +finances +evaluate +forged +lankan +instincts +##uto +guam +bosnian +photographed +workplace +desirable +protector +allocation +intently +encourages +willy +##sten +bodyguard +electro +brighter +bihar +##chev +lasts +opener +amphibious +sal +verde +arte +##cope +captivity +vocabulary +yields +##tted +agreeing +desmond +pioneered +##chus +strap +campaigned +railroads +##ович +emblem +##dre +stormed +##ulous +marijuana +northumberland +##nath +bowen +landmarks +beaumont +##qua +danube +##bler +attorneys +th +flyers +critique +villains +cass +mutation +acc +##0s +colombo +mckay +motif +sampling +concluding +syndicate +##rell +neon +stables +warnings +clint +mourning +wilkinson +##tated +merrill +leopard +evenings +exhaled +emil +sonia +ezra +discrete +stove +farrell +fifteenth +prescribed +superhero +##rier +worms +helm +wren +##duction +expo +##rator +hq +unfamiliar +antony +prevents +acceleration +fiercely +mari +painfully +calculations +cheaper +ign +clifton +irvine +davenport +mozambique +pierced +##evich +wonders +##wig +##cate +##iling +crusade +ware +enzymes +reasonably +mls +##coe +mater +ambition +bunny +eliot +kernel +##fin +asphalt +headmaster +torah +aden +lush +pins +waived +##yas +joao +substrate +enforce +##grad +##ules +alvarez +selections +epidemic +tempted +bremen +translates +ensured +waterfront +29th +forrest +manny +malone +kramer +reigning +simpler +absorption +engraved +##ffy +evaluated +1778 +haze +comforting +crossover +##abe +thorn +##rift +##imo +suppression +fatigue +cutter +wurttemberg +##orf +enforced +hovering +proprietary +samurai +syllable +ascent +lacey +tick +lars +tractor +merchandise +rep +bouncing +defendants +##yre +huntington +##oko +standardized +##hor +##hima +assassinated +predecessors +rainy +liar +assurance +lyrical +##uga +secondly +flattened +parameter +undercover +##mity +bordeaux +punish +ridges +markers +exodus +inactive +hesitate +debbie +nyc +pledge +savoy +nagar +offset +organist +##tium +hesse +marin +converting +##iver +diagram +propulsion +validity +reverted +supportive +ministries +clans +responds +proclamation +##inae +ein +pleading +patriot +birch +islanders +strauss +hates +##dh +brandenburg +concession +1900s +killings +textbook +antiquity +cinematography +wharf +embarrassing +setup +creed +farmland +inequality +centred +signatures +fallon +##ingham +##uts +ceylon +gazing +directive +laurie +##tern +globally +##uated +##dent +allah +excavation +threads +##cross +frantically +icc +utilize +determines +respiratory +thoughtful +receptions +##dicate +merging +chandra +seine +builders +builds +diagnostic +dev +visibility +goddamn +analyses +dhaka +proves +chancel +concurrent +curiously +canadians +pumped +restoring +1850s +turtles +jaguar +sinister +spinal +declan +vows +1784 +glowed +capitalism +swirling +universidad +##lder +##oat +soloist +##genic +##oor +coincidence +beginnings +nissan +dip +resorts +caucasus +combustion +infectious +##eno +pigeon +serpent +##itating +conclude +masked +salad +jew +##gr +surreal +toni +##wc +harmonica +##gins +##etic +##coat +fishermen +intending +bravery +##wave +klaus +titan +wembley +taiwanese +ransom +40th +incorrect +hussein +eyelids +cooke +dramas +utilities +##etta +##print +eisenhower +principally +granada +lana +##rak +openings +concord +##bl +bethany +connie +morality +sega +##mons +##nard +earnings +##kara +##cine +communes +##rel +coma +composing +softened +severed +grapes +nguyen +analyzed +warlord +hubbard +heavenly +behave +slovenian +##hit +##ony +hailed +filmmakers +trance +caldwell +skye +unrest +coward +likelihood +##aging +bern +taliban +honolulu +propose +browser +imagining +cobra +contributes +dukes +instinctively +conan +violinist +##ores +accessories +gradual +##amp +quotes +sioux +##dating +undertake +intercepted +sparkling +compressed +fungus +tombs +haley +imposing +rests +degradation +lincolnshire +retailers +wetlands +tulsa +distributor +dungeon +nun +greenhouse +convey +atlantis +aft +exits +oman +dresser +lyons +##sti +joking +eddy +judgement +omitted +digits +##game +juniors +##rae +cents +stricken +une +##ngo +wizards +weir +breton +nan +technician +fibers +liking +royalty +persia +terribly +magician +##rable +##unt +vance +cafeteria +booker +camille +warmer +##static +consume +cavern +gaps +compass +contemporaries +foyer +soothing +graveyard +maj +plunged +blush +##wear +cascade +demonstrates +ordinance +##nov +boyle +##lana +rockefeller +shaken +banjo +izzy +##ense +breathless +vines +##eman +alterations +chromosome +dwellings +feudal +mole +catalonia +relics +tenant +mandated +##fm +fridge +hats +honesty +patented +raul +heap +cruisers +accusing +enlightenment +infants +wherein +chatham +contractors +affinity +hc +osborne +piston +traps +maturity +##rana +lagos +##zal +peering +##nay +attendant +dealers +protocols +subset +prospects +biographical +##cre +artery +##zers +insignia +nuns +endured +##eration +recommend +schwartz +serbs +berger +cromwell +crossroads +enduring +clasped +grounded +##bine +marseille +twitched +abel +choke +catalyst +moldova +italians +##tist +disastrous +wee +##oured +##nti +wwf +nope +##piration +##asa +expresses +thumbs +##nza +coca +1781 +cheating +##ption +skipped +sensory +heidelberg +spies +satan +dangers +semifinal +bohemia +whitish +confusing +shipbuilding +relies +surgeons +landings +ravi +baku +moor +suffix +alejandro +##yana +litre +upheld +##unk +rajasthan +##rek +coaster +insists +posture +scenarios +etienne +favoured +appoint +transgender +elephants +poked +greenwood +defences +fulfilled +militant +somali +1758 +chalk +potent +##ucci +migrants +wink +assistants +nos +restriction +activism +niger +##ario +colon +shaun +##sat +daphne +##erated +swam +congregations +reprise +considerations +magnet +playable +xvi +overthrow +tobias +knob +chavez +coding +##mers +propped +katrina +orient +newcomer +##suke +temperate +##pool +farmhouse +interrogation +committing +##vert +forthcoming +strawberry +joaquin +macau +ponds +shocking +siberia +##cellular +chant +contributors +##nant +##ologists +sped +absorb +hail +1782 +spared +##hore +barbados +karate +opus +originates +saul +##xie +evergreen +leaped +##rock +correlation +exaggerated +weekday +unification +bump +tracing +brig +afb +pathways +utilizing +disturbance +kneeling +##stad +##guchi +100th +pune +##thy +decreasing +manipulation +miriam +academia +ecosystem +occupational +rbi +##lem +rift +rotary +stacked +incorporation +awakening +generators +guerrero +racist +##omy +cyber +derivatives +culminated +allie +annals +panzer +sainte +pops +zu +austro +##vate +algerian +politely +nicholson +mornings +educate +tastes +thrill +dartmouth +##gating +##jee +regan +differing +concentrating +choreography +divinity +pledged +alexandre +routing +gregor +madeline +##idal +apocalypse +##hora +gunfire +culminating +elves +fined +liang +lam +programmed +tar +guessing +transparency +gabrielle +##gna +cancellation +flexibility +##lining +accession +shea +stronghold +nets +specializes +##rgan +abused +hasan +sgt +exceeding +admiration +supermarket +photographers +specialised +tilt +resonance +hmm +perfume +sami +threatens +garland +botany +guarding +boiled +greet +puppy +russo +supplier +wilmington +vibrant +vijay +##bius +paralympic +grumbled +paige +faa +licking +margins +hurricanes +##gong +fest +grenade +ripping +##uz +counseling +weigh +##sian +needles +wiltshire +edison +costly +##not +fulton +tramway +redesigned +staffordshire +gasping +watkins +sleepy +candidacy +monkeys +timeline +throbbing +##bid +##sos +berth +uzbekistan +vanderbilt +bothering +overturned +ballots +gem +##iger +sunglasses +subscribers +hooker +compelling +ang +exceptionally +saloon +stab +##rdi +carla +terrifying +##vision +coil +##oids +satisfying +vendors +31st +mackay +deities +overlooked +ambient +bahamas +felipe +olympia +whirled +botanist +advertised +tugging +disciples +morales +unionist +rites +foley +morse +motives +creepy +##₀ +soo +##sz +bargain +highness +frightening +turnpike +tory +reorganization +depict +biographer +unopposed +manifesto +##gles +institut +emile +accidental +kapoor +##dam +kilkenny +cortex +lively +romanesque +jain +shan +cannons +##ske +petrol +echoing +amalgamated +disappears +cautious +proposes +sanctions +trenton +flotilla +aus +contempt +tor +canary +cote +theirs +##hun +conceptual +deleted +fascinating +paso +blazing +elf +honourable +hutchinson +##eiro +##outh +##zin +surveyor +amidst +wooded +reissue +intro +##ono +cobb +shelters +newsletter +hanson +brace +encoding +confiscated +dem +caravan +marino +scroll +melodic +cows +imam +##adi +##aneous +northward +searches +biodiversity +cora +roaring +##bers +connell +theologian +halo +compose +pathetic +unmarried +dynamo +az +calculation +toulouse +deserves +humour +nr +forgiveness +tam +undergone +martyr +pamela +myths +whore +counselor +hicks +heavens +battleship +electromagnetic +stellar +establishments +presley +hopped +##chin +temptation +90s +wills +##yuan +nhs +##nya +seminars +##yev +adaptations +gong +asher +lex +indicator +sikh +tobago +cites +goin +##yte +satirical +##gies +characterised +correspond +bubbles +lure +participates +##vid +eruption +skate +therapeutic +1785 +canals +wholesale +defaulted +sac +petit +##zzled +virgil +leak +ravens +portraying +##yx +ghetto +creators +dams +portray +vicente +##rington +fae +namesake +bounty +##arium +joachim +##ota +##iser +aforementioned +axle +snout +depended +dismantled +reuben +##ibly +gallagher +##lau +earnest +##ieu +##iary +inflicted +objections +##llar +asa +gritted +##athy +jericho +##sea +##was +flick +underside +ceramics +undead +substituted +eastward +undoubtedly +wheeled +chimney +##iche +guinness +siding +traitor +baptiste +disguised +inauguration +tipperary +choreographer +perched +warmed +stationary +##ntes +bacterial +##aurus +flores +phosphate +attacker +invaders +alvin +intersects +indirectly +immigrated +businessmen +cornelius +valves +narrated +pill +sober +nationale +monastic +applicants +scenery +##jack +motifs +constitutes +##osh +jurisdictions +tuning +irritation +woven +##uddin +fertility +gao +##erie +antagonist +impatient +glacial +hides +boarded +denominations +interception +##jas +nicola +algebraic +marquess +bahn +parole +buyers +bait +turbines +paperwork +bestowed +natasha +renee +oceans +purchases +vaccine +##tock +fixtures +playhouse +integrate +jai +oswald +intellectuals +booked +nests +mortimer +##isi +obsession +sept +##gler +##sum +scrutiny +simultaneous +squinted +##shin +collects +oven +shankar +penned +remarkably +slips +luggage +spectral +1786 +collaborations +louie +consolidation +##ailed +##ivating +hoover +blackpool +harness +ignition +vest +tails +belmont +mongol +skinner +##nae +visually +mage +derry +##tism +##unce +stevie +transitional +##rdy +redskins +drying +prep +prospective +annoyance +oversee +##loaded +fills +##books +announces +scowled +respects +prasad +mystic +tucson +##vale +revue +springer +bankrupt +1772 +aristotle +habsburg +##geny +dal +natal +nut +pod +chewing +darts +moroccan +walkover +rosario +lenin +punjabi +##ße +grossed +scattering +wired +invasive +hui +polynomial +corridors +wakes +gina +portrays +##cratic +arid +retreating +erich +irwin +sniper +##dha +linen +lindsey +maneuver +butch +shutting +socio +bounce +commemorative +postseason +jeremiah +pines +mystical +beads +abbas +furnace +bidding +consulted +assaulted +empirical +rubble +enclosure +sob +weakly +cancel +polly +yielded +##emann +curly +prediction +battered +70s +vhs +jacqueline +render +sails +barked +detailing +grayson +riga +sloane +raging +##yah +herbs +bravo +##athlon +alloy +giggle +imminent +suffers +assumptions +waltz +##itate +accomplishments +##ited +bathing +remixed +deception +##emia +deepest +##eis +balkan +frogs +##rong +slab +##pate +philosophers +peterborough +grains +imports +dickinson +rwanda +##atics +1774 +dirk +tablets +##rove +clone +##rice +caretaker +hostilities +mclean +##gre +regimental +treasures +norms +impose +tsar +tango +diplomacy +variously +complain +recognise +arrests +1779 +celestial +pulitzer +##dus +libretto +##moor +adele +splash +expectation +lds +confronts +##izer +spontaneous +harmful +wedge +entrepreneurs +buyer +bilingual +translate +rugged +conner +circulated +uae +eaton +##gra +##zzle +lingered +lockheed +vishnu +reelection +alonso +##oom +joints +yankee +headline +cooperate +heinz +laureate +invading +##sford +echoes +scandinavian +##dham +hugging +vitamin +salute +micah +hind +trader +##sper +radioactive +##ndra +militants +poisoned +ratified +remark +campeonato +deprived +wander +prop +##dong +##tani +##eye +chiang +darcy +##oping +mandolin +spice +statesman +babylon +walled +forgetting +afro +##cap +giorgio +buffer +##polis +planetary +##gis +overlap +terminals +kinda +centenary +##bir +arising +manipulate +elm +ke +1770 +##tad +chrysler +mapped +moose +pomeranian +quad +macarthur +assemblies +shoreline +recalls +stratford +##rted +noticeable +##evic +imp +##rita +##sque +accustomed +supplying +tents +disgusted +sipped +filters +khz +reno +selecting +luftwaffe +mcmahon +tyne +masterpiece +carriages +collided +dunes +exercised +flare +remembers +muzzle +heck +##rson +burgess +lunged +middleton +boycott +bilateral +##sity +hazardous +lumpur +multiplayer +spotlight +jackets +goldman +liege +porcelain +rag +waterford +attracts +hopeful +battling +ottomans +kensington +baked +hymns +cheyenne +lattice +levine +borrow +polymer +clashes +michaels +monitored +commitments +denounced +##von +cavity +##oney +hobby +akin +##holders +futures +intricate +cornish +patty +##oned +illegally +dolphin +##lag +barlow +yellowish +maddie +apologized +luton +plagued +##puram +##rds +sway +fanny +łodz +##rino +psi +suspicions +hanged +##eding +initiate +charlton +##por +nak +competent +analytical +annex +wardrobe +reservations +sect +fairfax +hedge +piled +buckingham +uneven +bauer +simplicity +snyder +interpret +accountability +donors +moderately +byrd +continents +##cite +disciple +jamaican +nominees +##uss +mongolian +diver +attackers +eagerly +ideological +pillows +miracles +apartheid +revolver +sulfur +clinics +moran +##enko +ile +katy +rhetoric +##icated +chronology +recycling +##hrer +elongated +mughal +pascal +profiles +vibration +databases +domination +##fare +matthias +digest +rehearsal +polling +weiss +initiation +reeves +clinging +flourished +impress +##hoff +buckley +symposium +rhythms +weed +emphasize +transforming +##taking +##yman +accountant +analyze +flicker +foil +priesthood +voluntarily +decreases +##hya +slater +sv +charting +mcgill +##lde +moreno +besieged +zur +robes +##phic +admitting +deported +turmoil +peyton +earthquakes +##ares +nationalists +beau +clair +brethren +interrupt +welch +curated +galerie +requesting +##ested +impending +steward +viper +##vina +complaining +beautifully +brandy +foam +nl +1660 +alessandro +punches +laced +explanations +##lim +attribute +clit +reggie +discomfort +##cards +smoothed +whales +##cene +adler +countered +duffy +disciplinary +widening +recipe +reliance +conducts +goats +gradient +preaching +##shaw +matilda +quasi +striped +meridian +cannabis +cordoba +certificates +##agh +##tering +graffiti +hangs +pilgrims +repeats +##ych +revive +urine +etat +##hawk +fueled +belts +fuzzy +susceptible +mauritius +salle +sincere +beers +hooks +##cki +arbitration +entrusted +advise +sniffed +seminar +junk +donnell +processors +principality +strapped +celia +mendoza +everton +fortunes +prejudice +starving +reassigned +steamer +##lund +tuck +evenly +foreman +##ffen +dans +envisioned +slit +baseman +liberia +rosemary +##weed +electrified +periodically +potassium +stride +contexts +sperm +slade +mariners +influx +bianca +subcommittee +##rane +spilling +icao +estuary +##nock +delivers +##ulata +isa +mira +bohemian +dessert +##sbury +welcoming +proudly +slowing +##chs +musee +ascension +russ +##vian +waits +##psy +africans +exploit +##morphic +eccentric +crab +peck +entrances +formidable +marketplace +groom +bolted +metabolism +patton +robbins +courier +payload +endure +##ifier +andes +refrigerator +ornate +##uca +ruthless +illegitimate +masonry +strasbourg +bikes +apples +quintet +willingly +niche +bakery +corpses +energetic +##cliffe +##sser +##ards +centimeters +centro +fuscous +cretaceous +rancho +##yde +andrei +telecom +tottenham +oasis +ordination +vulnerability +presiding +corey +penguins +sims +##pis +malawi +piss +correction +##cked +##ffle +##ryn +countdown +detectives +psychiatrist +psychedelic +dinosaurs +blouse +choi +vowed +randomly +##pol +49ers +scrub +blanche +bruins +dusseldorf +##using +unwanted +##ums +dominique +elevations +headlights +om +laguna +##oga +1750 +famously +ignorance +shrewsbury +breuning +che +confederacy +greco +overhaul +##screen +paz +skirts +disagreement +cruelty +jagged +phoebe +shifter +hovered +viruses +##wes +##lined +landlord +squirrel +dashed +ornamental +gag +wally +grange +literal +spurs +undisclosed +proceeding +billie +orphan +spanned +humidity +indy +weighted +presentations +explosions +lucian +##tary +vaughn +hindus +##anga +##hell +psycho +daytona +protects +efficiently +rematch +sly +tandem +##oya +rebranded +impaired +hee +metropolis +peach +godfrey +diaspora +ethnicity +prosperous +gleaming +dar +grossing +playback +##rden +stripe +pistols +##tain +births +labelled +##cating +rudy +alba +##onne +aquarium +hostility +##tase +shudder +sumatra +hardest +lakers +consonant +creeping +demos +homicide +capsule +zeke +liberties +expulsion +pueblo +##comb +trait +transporting +##ddin +##neck +##yna +depart +gregg +mold +ledge +hangar +oldham +playboy +termination +analysts +gmbh +romero +##itic +insist +cradle +filthy +brightness +slash +shootout +deposed +bordering +##truct +microwave +tumbled +sheltered +cathy +werewolves +messy +andersen +convex +clapped +clinched +satire +wasting +edo +rufus +##jak +mont +##etti +poznan +##keeping +restructuring +transverse +##rland +azerbaijani +slovene +gestures +roommate +choking +shear +##quist +vanguard +oblivious +##hiro +disagreed +baptism +##lich +coliseum +##aceae +salvage +societe +cory +locke +relocation +relying +versailles +ahl +swelling +##elo +cheerful +##edes +gin +sarajevo +obstacle +diverted +##nac +messed +thoroughbred +fluttered +utrecht +chewed +acquaintance +assassins +dispatch +mirza +##wart +salzburg +swell +yen +##gee +idle +ligue +samson +##nds +##igh +playful +spawned +##cise +tease +##case +burgundy +stirring +skeptical +interceptions +marathi +##dies +bedrooms +aroused +pinch +##lik +preferences +tattoos +buster +digitally +projecting +rust +##ital +kitten +priorities +addison +pseudo +##guard +dusk +icons +sermon +##psis +##iba +##lift +ju +truce +rink +##dah +##wy +defects +psychiatry +offences +calculate +glucose +##iful +##rized +##unda +francaise +##hari +richest +warwickshire +carly +1763 +purity +redemption +lending +##cious +muse +bruises +cerebral +aero +carving +preface +terminology +invade +monty +anarchist +blurred +##iled +rossi +treats +guts +shu +foothills +ballads +undertaking +premise +cecilia +affiliates +blasted +conditional +wilder +minors +drone +rudolph +buffy +swallowing +horton +attested +rutherford +howell +primetime +livery +penal +##bis +minimize +hydro +wrecked +wrought +palazzo +##gling +cans +vernacular +friedman +nobleman +shale +walnut +danielle +##ection +##tley +sears +##kumar +chords +lend +flipping +streamed +por +dracula +gallons +sacrifices +gamble +orphanage +##iman +mckenzie +##gible +boxers +daly +##balls +##ان +##ific +##rative +##iq +exploited +slated +##uity +circling +hillary +pinched +goldberg +provost +campaigning +piles +ironically +jong +mohan +successors +usaf +##tem +##ught +autobiographical +haute +preserves +##ending +acquitted +comparisons +hydroelectric +gangs +cypriot +torpedoes +rushes +derive +bumps +instability +fiat +pets +##mbe +silas +dye +reckless +settler +##itation +heats +##writing +canonical +maltese +fins +mushroom +stacy +aspen +avid +##kur +##loading +vickers +gaston +hillside +statutes +wilde +gail +kung +sabine +comfortably +motorcycles +##rgo +pneumonia +fetch +##sonic +axel +faintly +parallels +##oop +mclaren +spouse +compton +interdisciplinary +miner +##eni +clamped +##chal +##llah +separates +versa +##mler +scarborough +labrador +##lity +##osing +rutgers +hurdles +como +burt +divers +wichita +cade +coincided +bruised +mla +vineyard +##ili +##brush +notch +mentioning +jase +hearted +kits +doe +##acle +pomerania +##ady +ronan +seizure +pavel +problematic +##zaki +domenico +##ulin +catering +penelope +dependence +parental +emilio +ministerial +atkinson +##bolic +clarkson +chargers +colby +grill +peeked +arises +summon +##aged +fools +##grapher +faculties +qaeda +##vial +garner +refurbished +##hwa +geelong +disasters +nudged +bs +shareholder +lori +algae +reinstated +rot +##ades +##nous +invites +stainless +inclusive +##itude +diocesan +til +##icz +denomination +##xa +benton +floral +registers +##erman +##kell +absurd +brunei +guangzhou +hitter +retaliation +##uled +##eve +blanc +nh +consistency +contamination +##eres +dire +palermo +broadcasters +diaries +inspire +vols +brewer +tightening +mixtape +hormone +##tok +stokes +##color +##dly +##ssi +##ometer +##lington +sanitation +##tility +intercontinental +##adt +¹⁄₂ +cylinders +economies +favourable +unison +croix +gertrude +odyssey +vanity +dangling +##logists +upgrades +dice +middleweight +practitioner +henrik +parlor +orion +angered +lac +blurted +##rri +sensual +intends +swings +angled +##phs +husky +attain +peerage +precinct +textiles +cheltenham +shuffled +dai +confess +tasting +bhutan +##riation +tyrone +segregation +abrupt +ruiz +##rish +smirked +blackwell +confidential +browning +amounted +vase +scarce +fabulous +raided +staple +guyana +unemployed +glider +shay +##tow +carmine +troll +intervene +squash +superstar +cylindrical +len +roadway +researched +handy +##rium +##jana +lao +declares +##rring +##tadt +##elin +##kova +willem +shrubs +napoleonic +realms +skater +volkswagen +##ł +tad +hara +archaeologist +awkwardly +eerie +##kind +wiley +##heimer +titus +organizers +cfl +crusaders +lama +vent +enraged +thankful +occupants +maximilian +##gaard +possessing +textbooks +##oran +collaborator +quaker +##ulo +avalanche +mono +silky +straits +isaiah +mustang +surged +resolutions +potomac +descend +kilograms +plato +strains +saturdays +##olin +bernstein +##ype +holstein +ponytail +belize +conversely +heroine +perpetual +##ylus +charcoal +piedmont +glee +negotiating +backdrop +prologue +##jah +pasadena +climbs +ramos +sunni +##holm +##tner +##tri +anand +deficiency +hertfordshire +stout +##avi +aperture +orioles +##irs +doncaster +intrigued +bombed +coating +otis +##mat +cocktail +##jit +##eto +amir +arousal +sar +##proof +dixie +pots +whereabouts +##fted +drains +bullying +cottages +scripture +coherent +fore +poe +appetite +##uration +sampled +##ators +derrick +rotor +jays +peacock +installment +##rro +advisors +##coming +rodeo +scotch +##mot +##fen +##vant +ensued +rodrigo +dictatorship +martyrs +twenties +towed +incidence +marta +rainforest +sai +scaled +##cles +oceanic +qualifiers +symphonic +mcbride +dislike +generalized +aubrey +colonization +##iation +##lion +##ssing +disliked +lublin +salesman +##ulates +spherical +whatsoever +sweating +avalon +contention +punt +severity +alderman +atari +##dina +##grant +##rop +scarf +seville +vertices +annexation +fairfield +fascination +inspiring +launches +palatinate +regretted +##rca +feral +##iom +elk +nap +olsen +reddy +yong +##leader +##iae +garment +transports +feng +gracie +outrage +viceroy +insides +##esis +breakup +grady +organizer +softer +grimaced +murals +galicia +arranging +vectors +##rsten +##sb +##cens +sloan +##eka +bitten +ara +fender +nausea +bumped +kris +banquet +comrades +detector +persisted +##llan +adjustment +endowed +cinemas +sellers +##uman +peek +epa +kindly +neglect +simpsons +talon +mausoleum +runaway +hangul +lookout +##cic +coughed +acquainted +chloride +quicker +accordion +neolithic +##qa +artemis +coefficient +lenny +pandora +tx +##xed +ecstasy +litter +segunda +chairperson +gemma +hiss +rumor +vow +nasal +antioch +compensate +patiently +transformers +##eded +judo +morrow +penis +posthumous +bandits +husbands +denote +flaming +##any +##phones +langley +yorker +1760 +walters +##kle +gubernatorial +fatty +leroy +outlaw +##nine +unpublished +poole +jakob +##ᵢ +##ₙ +crete +distorted +superiority +##dhi +intercept +crust +mig +claus +crashes +stallion +frontal +armistice +##estinal +elton +aj +encompassing +camel +commemorated +malaria +woodward +calf +cigar +penetrate +##oso +willard +##rno +##uche +illustrate +amusing +convergence +noteworthy +##lma +##rva +journeys +realise +manfred +##sable +##vocation +hearings +fiance +##posed +educators +provoked +adjusting +##cturing +modular +stockton +paterson +vlad +rejects +electors +selena +maureen +##tres +##rce +swirled +##num +proportions +nanny +pawn +naturalist +parma +apostles +awoke +ethel +wen +##bey +monsoon +overview +##inating +mccain +rendition +risky +adorned +##ih +equestrian +germain +nj +conspicuous +confirming +##yoshi +shivering +##imeter +milestone +rumours +flinched +bounds +smacked +token +##bei +lectured +automobiles +##shore +impacted +##iable +nouns +nero +##leaf +ismail +prostitute +trams +bridget +sud +stimulus +impressions +reins +revolves +##gned +giro +honeymoon +##swell +criterion +##sms +##uil +libyan +prefers +##osition +preview +sucks +accusation +bursts +metaphor +diffusion +tolerate +faye +betting +cinematographer +liturgical +specials +bitterly +humboldt +##ckle +flux +rattled +##itzer +archaeologists +odor +authorised +marshes +discretion +##ов +alarmed +archaic +inverse +##leton +explorers +##pine +drummond +tsunami +woodlands +##minate +##tland +booklet +insanity +owning +insert +crafted +calculus +receivers +stung +##eca +##nched +prevailing +travellers +eyeing +lila +graphs +##borne +julien +##won +morale +adaptive +therapist +erica +cw +libertarian +bowman +pitches +vita +##ional +crook +##entation +caledonia +mutiny +##sible +1840s +automation +flock +##pia +ironic +pathology +##imus +remarried +joker +withstand +energies +##att +shropshire +hostages +madeleine +tentatively +conflicting +mateo +recipes +euros +mercenaries +nico +##ndon +albuquerque +augmented +mythical +bel +freud +##child +cough +##lica +freddy +lillian +genetically +nuremberg +calder +bonn +outdoors +paste +suns +urgency +vin +restraint +tyson +##cera +##selle +barrage +bethlehem +kahn +##par +mounts +nippon +barony +happier +ryu +makeshift +sheldon +blushed +castillo +barking +listener +taped +bethel +fluent +headlines +pornography +rum +disclosure +sighing +mace +doubling +gunther +manly +##plex +interventions +physiological +forwards +emerges +##tooth +##gny +compliment +rib +recession +visibly +barge +faults +connector +exquisite +prefect +##rlin +patio +##cured +elevators +italics +pena +wasp +satin +botswana +graceful +respectable +##jima +##rter +##oic +franciscan +generates +##dl +alfredo +disgusting +##olate +##iously +sherwood +warns +cod +promo +cheryl +sino +##escu +twitch +##zhi +brownish +thom +ortiz +##dron +densely +##beat +carmel +reinforce +##bana +anastasia +downhill +vertex +contaminated +remembrance +harmonic +homework +fiancee +gears +olds +angelica +ramsay +quiz +colliery +sevens +##cape +autism +##hil +walkway +##boats +ruben +abnormal +ounce +khmer +##bbe +zachary +bedside +morphology +punching +##olar +sparrow +convinces +hewitt +queer +remastered +rods +mabel +solemn +notified +lyricist +symmetric +##xide +encore +passports +wildcats +##uni +baja +##pac +mildly +##ease +bleed +commodity +mounds +glossy +orchestras +##omo +damian +prelude +ambitions +##vet +awhile +remotely +##aud +asserts +imply +##iques +distinctly +modelling +remedy +##dded +windshield +dani +xiao +##endra +audible +powerplant +invalid +elemental +acquisitions +##hala +immaculate +libby +plata +smuggling +ventilation +denoted +minh +##morphism +differed +dion +kelley +lore +mocking +sabbath +spikes +hygiene +drown +runoff +stylized +tally +liberated +aux +interpreter +righteous +aba +siren +reaper +pearce +millie +##cier +##yra +gaius +##iso +captures +##ttering +dorm +claudio +##sic +benches +knighted +blackness +##ored +discount +fumble +oxidation +routed +novak +perpendicular +spoiled +fracture +splits +pads +topology +##cats +axes +fortunate +offenders +protestants +esteem +broadband +convened +frankly +hound +prototypes +isil +facilitated +keel +##sher +sahara +awaited +bubba +orb +prosecutors +hem +##xing +relaxing +remnant +romney +sorted +slalom +stefano +ulrich +##active +exemption +folder +pauses +foliage +hitchcock +epithet +criticisms +##aca +ballistic +brody +hinduism +chaotic +youths +equals +##pala +pts +thicker +analogous +capitalist +improvised +overseeing +sinatra +ascended +beverage +straightforward +##kon +curran +bois +induce +surveying +emperors +sax +unpopular +cartoonist +fused +##mble +unto +##yuki +localities +##cko +##ln +darlington +slain +academie +lobbying +sediment +puzzles +##grass +defiance +dickens +manifest +tongues +alumnus +arbor +coincide +appalachian +mustafa +examiner +cabaret +traumatic +yves +bracelet +draining +heroin +magnum +baths +odessa +consonants +mitsubishi +##gua +kellan +vaudeville +joked +straps +probation +##ław +ceded +interfaces +##pas +##zawa +blinding +viet +rothschild +museo +huddersfield +tactic +##storm +brackets +dazed +incorrectly +##vu +reg +glazed +fearful +manifold +benefited +irony +stumbling +##rte +willingness +balkans +mei +wraps +##aba +injected +##lea +gu +syed +harmless +##hammer +bray +takeoff +poppy +timor +cardboard +astronaut +purdue +weeping +southbound +cursing +stalls +diagonal +##neer +lamar +bryce +comte +weekdays +harrington +##uba +negatively +##see +lays +grouping +##cken +##henko +affirmed +halle +modernist +##lai +hodges +smelling +aristocratic +baptized +dismiss +justification +oilers +coupling +qin +snack +healer +##qing +gardener +layla +battled +formulated +stephenson +gravitational +##gill +1768 +granny +coordinating +suites +##ioned +monarchs +##cote +##hips +blended +barrister +deposition +fia +mina +policemen +paranoid +##pressed +churchyard +covert +crumpled +creep +abandoning +tr +transmit +conceal +barr +understands +readiness +spire +##cology +##enia +startling +unlock +vida +bowled +slots +##nat +##islav +spaced +trusting +admire +rig +slack +casualty +classmates +##odes +##rar +##rked +amherst +furnished +evolve +foundry +menace +mead +##lein +flu +wesleyan +##kled +monterey +webber +##vos +wil +##mith +##на +bartholomew +justices +restrained +##cke +amenities +mediated +sewage +trenches +mainz +##thus +1800s +##cula +##inski +caine +bonding +converts +spheres +superseded +marianne +crypt +sweaty +ensign +historia +##br +spruce +##ask +forks +thoughtfully +yukon +pamphlet +ames +##uter +karma +##yya +bryn +negotiation +sighs +incapable +##mbre +##ntial +actresses +taft +##mill +luce +prevailed +##amine +1773 +motionless +envoy +testify +investing +sculpted +instructors +provence +kali +cullen +horseback +##while +goodwin +##jos +gaa +norte +##ldon +modify +wavelength +abd +skinned +sprinter +forecast +scheduling +marries +squared +tentative +##chman +boer +##isch +bolts +swap +fisherman +assyrian +impatiently +guthrie +martins +murdoch +tanya +nicely +dolly +lacy +med +syn +decks +fashionable +millionaire +surfing +heaved +tammy +consulate +attendees +routinely +fuse +saxophonist +backseat +malaya +##lord +scowl +tau +##ishly +sighted +steaming +##rks +##holes +##hong +ching +##wife +bless +conserved +jurassic +stacey +zion +chunk +rigorous +blaine +peabody +slayer +dismay +brewers +nz +##jer +det +##glia +glover +postwar +penetration +sylvester +imitation +vertically +airlift +heiress +knoxville +viva +##uin +macon +##rim +##fighter +##gonal +janice +##orescence +##wari +marius +belongings +leicestershire +blanco +inverted +preseason +sanity +sobbing +##due +##elt +##dled +collingwood +regeneration +flickering +shortest +##mount +##osi +feminism +##lat +sherlock +cabinets +fumbled +northbound +precedent +snaps +##mme +researching +##akes +guillaume +insights +manipulated +vapor +neighbour +gangster +frey +stalking +scarcely +callie +barnett +tendencies +doomed +assessing +slung +panchayat +ambiguous +bartlett +##etto +distributing +violating +wolverhampton +##hetic +swami +histoire +##urus +liable +pounder +groin +hussain +larsen +popping +surprises +##atter +vie +curt +##station +mute +relocate +musicals +authorization +richter +##sef +immortality +tna +bombings +deteriorated +yiddish +##acious +robbed +colchester +ao +verified +balancing +apostle +swayed +recognizable +oxfordshire +retention +nottinghamshire +contender +judd +invitational +shrimp +uhf +##icient +cleaner +longitudinal +tanker +##mur +acronym +broker +koppen +sundance +suppliers +##gil +clipped +fuels +petite +##anne +landslide +helene +diversion +populous +landowners +auspices +melville +quantitative +##xes +ferries +nicky +##llus +doo +haunting +roche +carver +downed +unavailable +##pathy +approximation +hiroshima +##hue +garfield +valle +comparatively +keyboardist +traveler +##eit +congestion +calculating +subsidiaries +##bate +serb +modernization +fairies +deepened +ville +averages +##lore +inflammatory +tonga +##itch +co₂ +squads +##hea +gigantic +serum +enjoyment +retailer +verona +35th +cis +##phobic +magna +technicians +##vati +arithmetic +##sport +levin +##dation +amtrak +chow +sienna +##eyer +backstage +entrepreneurship +##otic +learnt +tao +##udy +worcestershire +formulation +baggage +hesitant +bali +sabotage +##kari +barren +enhancing +murmur +pl +freshly +putnam +syntax +aces +medicines +resentment +bandwidth +##sier +grins +chili +guido +##sei +framing +implying +gareth +lissa +genevieve +pertaining +admissions +geo +thorpe +proliferation +sato +bela +analyzing +parting +##gor +awakened +##isman +huddled +secrecy +##kling +hush +gentry +dungeons +##ego +coasts +##utz +sacrificed +##chule +landowner +mutually +prevalence +programmer +adolescent +disrupted +seaside +gee +trusts +vamp +georgie +##nesian +##iol +schedules +sindh +##market +etched +hm +sparse +bey +beaux +scratching +gliding +unidentified +collaborating +gems +jesuits +oro +accumulation +shaping +mbe +anal +##xin +enthusiasts +newscast +##egan +janata +dewey +parkinson +ankara +biennial +towering +inconsistent +##chet +thriving +terminate +cabins +furiously +eats +advocating +donkey +marley +muster +phyllis +leiden +##user +grassland +glittering +iucn +loneliness +memorandum +armenians +##ddle +popularized +rhodesia +60s +lame +##illon +sans +bikini +header +orbits +##finger +##ulator +sharif +spines +biotechnology +strolled +naughty +yates +##wire +fremantle +milo +##mour +abducted +removes +##atin +humming +##chrome +##ester +hume +pivotal +##rates +armand +grams +believers +elector +rte +apron +bis +scraped +##yria +endorsement +initials +##llation +dotted +hints +buzzing +emigration +nearer +indicators +##ulu +coarse +neutron +protectorate +##uze +directional +exploits +pains +loire +1830s +proponents +guggenheim +rabbits +ritchie +hectare +inputs +hutton +##raz +verify +##ako +boilers +longitude +##lev +skeletal +yer +emilia +citrus +compromised +##gau +prescription +paragraph +eduard +cadillac +attire +categorized +kenyan +weddings +charley +##bourg +entertain +monmouth +##lles +nutrients +davey +mesh +incentive +practised +ecosystems +kemp +subdued +overheard +##rya +bodily +maxim +##nius +apprenticeship +ursula +##fight +lodged +rug +silesian +unconstitutional +patel +inspected +coyote +unbeaten +##hak +34th +disruption +convict +parcel +##nham +collier +implicated +mallory +##iac +susannah +winkler +##rber +shia +phelps +sediments +graphical +robotic +##sner +adulthood +mart +smoked +##isto +kathryn +clarified +##aran +divides +convictions +oppression +pausing +burying +##mt +federico +mathias +eileen +##tana +kite +hunched +##acies +##atz +disadvantage +liza +kinetic +greedy +paradox +yokohama +dowager +trunks +ventured +##gement +gupta +vilnius +olaf +##thest +crimean +hopper +##ej +progressively +arturo +mouthed +arrondissement +##fusion +rubin +simulcast +oceania +##orum +##stra +##rred +busiest +intensely +navigator +cary +##vine +##hini +##bies +fife +rowe +rowland +posing +insurgents +shafts +lawsuits +activate +conor +inward +culturally +garlic +##eering +eclectic +##hui +##kee +##nl +furrowed +vargas +meteorological +rendezvous +##aus +culinary +commencement +##dition +quota +##notes +mommy +salaries +overlapping +mule +##iology +##mology +sums +wentworth +##isk +##zione +mainline +subgroup +##illy +hack +plaintiff +verdi +bulb +differentiation +engagements +multinational +supplemented +bertrand +caller +regis +##naire +##sler +##arts +##imated +blossom +propagation +kilometer +viaduct +vineyards +##uate +beckett +optimization +golfer +songwriters +seminal +semitic +thud +volatile +evolving +ridley +##wley +trivial +distributions +scandinavia +jiang +wrestled +insistence +emphasizes +napkin +##ods +adjunct +rhyme +##ricted +##eti +hopeless +surrounds +tremble +32nd +smoky +##ntly +oils +medicinal +padded +steer +wilkes +concessions +hue +uniquely +blinded +landon +##lane +hendrix +commemorating +dex +specify +chicks +##ggio +intercity +morley +##torm +highlighting +##oting +pang +oblique +stalled +##liner +flirting +newborn +1769 +bishopric +shaved +currie +dharma +spartan +##ooped +favorites +smug +novella +sirens +abusive +creations +espana +##lage +paradigm +semiconductor +sheen +##rdo +##yen +##zak +nrl +renew +##pose +##tur +adjutant +marches +norma +##enity +ineffective +weimar +grunt +##gat +lordship +plotting +expenditure +infringement +lbs +refrain +mimi +mistakenly +postmaster +1771 +##bara +ras +motorsports +tito +subjective +##zza +bully +stew +##kaya +prescott +##raphic +##zam +bids +styling +paranormal +reeve +sneaking +exploding +katz +akbar +migrant +syllables +indefinitely +##ogical +destroys +replaces +applause +##phine +pest +##fide +articulated +bertie +##cars +##ptic +courtroom +crowley +aesthetics +cummings +tehsil +hormones +titanic +dangerously +##ibe +stadion +jaenelle +auguste +ciudad +##chu +mysore +partisans +lucan +philipp +##aly +debating +henley +interiors +##rano +##tious +homecoming +beyonce +usher +henrietta +prepares +weeds +ely +plucked +##pire +##dable +luxurious +##aq +artifact +password +pasture +juno +maddy +minsk +##dder +##ologies +##rone +assessments +martian +royalist +1765 +examines +##mani +nino +parry +scooped +relativity +##eli +##uting +##cao +congregational +noisy +traverse +##agawa +strikeouts +nickelodeon +obituary +transylvania +binds +depictions +polk +trolley +##yed +##lard +breeders +##under +dryly +hokkaido +1762 +strengths +stacks +bonaparte +neared +prostitutes +stamped +anaheim +gutierrez +sinai +##zzling +bram +fresno +madhya +proton +##lena +##llum +##phon +reelected +wanda +##anus +##lb +ample +distinguishing +##yler +grasping +sermons +tomato +bland +stimulation +avenues +##eux +spreads +scarlett +fern +pentagon +assert +baird +chesapeake +calmed +distortion +fatalities +##olis +correctional +pricing +##astic +##gina +prom +dammit +ying +collaborate +##chia +welterweight +33rd +pointer +substitution +bonded +umpire +communicating +multitude +paddle +##obe +federally +intimacy +##insky +betray +ssr +##lett +##lves +##therapy +airbus +##tery +functioned +ud +bearer +biomedical +##hire +##nca +condom +brink +ik +##nical +macy +flap +gma +experimented +jelly +lavender +##icles +##ulia +munro +##mian +##tial +rye +##rle +60th +gigs +hottest +rotated +predictions +fuji +bu +##erence +##omi +barangay +##fulness +##sas +clocks +##rwood +##liness +cereal +roe +wight +decker +uttered +babu +onion +forcibly +##df +petra +sarcasm +hartley +peeled +storytelling +##xley +##ysis +##ffa +fibre +kiel +auditor +fig +harald +greenville +##berries +geographically +nell +quartz +##athic +cemeteries +crossings +nah +holloway +reptiles +chun +sichuan +snowy +corrections +##ivo +zheng +ambassadors +blacksmith +fielded +fluids +hardcover +turnover +medications +melvin +academies +##erton +roach +absorbing +spaniards +colton +##founded +outsider +espionage +kelsey +edible +##ulf +dora +establishes +##sham +##tries +contracting +##tania +cinematic +costello +nesting +##uron +connolly +duff +##nology +mma +##mata +fergus +sexes +optics +spectator +woodstock +banning +##hee +##fle +differentiate +outfielder +refinery +gerhard +horde +lair +drastically +##udi +landfall +##cheng +motorsport +odi +##achi +predominant +quay +skins +##ental +edna +harshly +complementary +murdering +##aves +wreckage +ono +outstretched +lennox +munitions +galen +reconcile +scalp +bicycles +gillespie +questionable +rosenberg +guillermo +jarvis +kabul +opium +yd +##twined +abuses +decca +outpost +##cino +sensible +neutrality +ponce +anchorage +atkins +turrets +inadvertently +disagree +libre +vodka +reassuring +weighs +##yal +glide +jumper +ceilings +repertory +outs +stain +##bial +envy +##ucible +smashing +heightened +policing +hyun +mixes +lai +prima +##ples +celeste +##bina +lucrative +intervened +kc +manually +##rned +stature +staffed +bun +bastards +nairobi +priced +##auer +thatcher +##kia +tripped +comune +##ogan +##pled +brasil +incentives +emanuel +hereford +musica +##kim +benedictine +biennale +##lani +eureka +gardiner +rb +knocks +sha +##ael +##elled +##onate +efficacy +ventura +masonic +sanford +maize +leverage +##feit +capacities +santana +##aur +novelty +vanilla +##cter +##tour +benin +##oir +neptune +drafting +tallinn +##cable +humiliation +##boarding +schleswig +fabian +bernardo +liturgy +spectacle +sweeney +pont +routledge +cosmos +ut +hilt +sleek +universally +##eville +##gawa +typed +##dry +favors +allegheny +glaciers +##rly +recalling +aziz +parasite +requiem +auf +##berto +##llin +illumination +##breaker +##issa +festivities +bows +govern +vibe +vp +sprawled +larson +pilgrim +bwf +leaping +##rts +##ssel +alexei +greyhound +hoarse +##dler +##oration +seneca +##cule +gaping +##ulously +##pura +cinnamon +##gens +##rricular +craven +fantasies +houghton +engined +reigned +dictator +supervising +##oris +bogota +commentaries +unnatural +fingernails +spirituality +tighten +canadiens +protesting +intentional +cheers +sparta +##ytic +##iere +##zine +widen +belgarath +controllers +dodd +iaaf +navarre +##ication +defect +squire +steiner +whisky +##mins +inevitably +tome +##gold +chew +##lid +elastic +##aby +streaked +alliances +jailed +regal +##ined +##phy +czechoslovak +narration +absently +##uld +bluegrass +guangdong +quran +criticizing +hose +hari +##liest +##owa +skier +streaks +deploy +##lom +raft +bose +dialed +huff +##eira +haifa +simplest +bursting +endings +sultanate +##titled +franks +whitman +ensures +sven +##ggs +collaborators +forster +organising +banished +napier +injustice +teller +layered +thump +##otti +roc +battleships +evidenced +fugitive +sadie +robotics +##roud +equatorial +geologist +##iza +yielding +##bron +##sr +internationale +mecca +##diment +skyline +toad +uploaded +reflective +undrafted +lal +leafs +bayern +##dai +lakshmi +shortlisted +##stick +##wicz +camouflage +donate +christi +lau +##acio +disclosed +nemesis +1761 +assemble +straining +northamptonshire +tal +##asi +bernardino +premature +heidi +42nd +coefficients +galactic +reproduce +buzzed +sensations +zionist +monsieur +myrtle +archery +strangled +musically +viewpoint +antiquities +bei +trailers +seahawks +cured +pee +preferring +tasmanian +lange +sul +##working +colder +overland +lucivar +massey +gatherings +haitian +##smith +disapproval +flaws +##cco +##enbach +1766 +npr +##icular +boroughs +creole +forums +techno +1755 +dent +abdominal +streetcar +##eson +##stream +procurement +gemini +predictable +##tya +acheron +christoph +feeder +fronts +vendor +bernhard +jammu +tumors +slang +##uber +goaltender +twists +curving +manson +vuelta +mer +peanut +confessions +pouch +unpredictable +allowance +theodor +vascular +##factory +bala +authenticity +metabolic +coughing +nanjing +##cea +pembroke +##bard +splendid +36th +hourly +##ahu +elmer +handel +##ivate +awarding +thrusting +experimentation +##hesion +caressed +entertained +steak +##rangle +biologist +orphans +baroness +oyster +stepfather +##dridge +mirage +reefs +speeding +barons +1764 +inhabit +preached +repealed +##tral +honoring +boogie +captives +administer +johanna +##imate +gel +suspiciously +1767 +sobs +##dington +backbone +hayward +garry +##folding +##nesia +maxi +##oof +##ppe +ellison +galileo +##stand +crimea +frenzy +amour +bumper +matrices +natalia +baking +garth +palestinians +##grove +smack +conveyed +ensembles +gardening +##manship +##rup +##stituting +1640 +harvesting +topography +shifters +dormitory +##carriage +##lston +ist +skulls +##stadt +dolores +jewellery +sarawak +##wai +##zier +fences +christy +confinement +tumbling +credibility +fir +stench +##bria +##plication +##nged +##sam +virtues +##belt +marjorie +pba +##eem +##made +celebrates +schooner +agitated +barley +fulfilling +anthropologist +restrict +novi +regulating +##nent +padres +##rani +##hesive +loyola +tabitha +milky +olson +proprietor +crambidae +guarantees +intercollegiate +ljubljana +hilda +##sko +ignorant +hooded +sardinia +##lidae +##vation +frontman +privileged +witchcraft +jammed +laude +poking +##than +bracket +amazement +yunnan +##erus +maharaja +linnaeus +commissioning +milano +peacefully +##logies +akira +rani +regulator +grasses +##rance +luzon +crows +compiler +gretchen +seaman +edouard +buccaneers +ellington +hamlets +whig +socialists +##anto +directorial +easton +mythological +##kr +##vary +rhineland +semantic +taut +dune +inventions +succeeds +##iter +replication +branched +##pired +prosecuted +kangaroo +penetrated +##avian +middlesbrough +doses +bleak +madam +predatory +relentless +##vili +reluctance +##vir +hailey +crore +silvery +1759 +monstrous +swimmers +transmissions +hawthorn +informing +##eral +toilets +caracas +crouch +##sett +cartel +hadley +##aling +alexia +yvonne +##biology +cinderella +eton +superb +blizzard +stabbing +industrialist +maximus +##orus +groves +maud +clade +oversized +comedic +##bella +rosen +nomadic +fulham +montane +beverages +galaxies +redundant +swarm +##rot +##folia +##llis +buckinghamshire +fen +bearings +bahadur +##rom +gilles +phased +dynamite +faber +benoit +##ount +fractured +tailored +anya +spices +westwood +cairns +auditions +inflammation +steamed +##rocity +##acion +##urne +skyla +thereof +watford +torment +archdeacon +transforms +demeanor +fucked +serge +##sor +mckenna +minas +entertainer +##icide +caress +originate +residue +##sty +1740 +##ilised +##org +beech +##wana +subsidies +##ghton +emptied +gladstone +firefighters +voodoo +het +nightingale +tamara +edmond +ingredient +weaknesses +silhouette +compatibility +withdrawing +hampson +##mona +anguish +giggling +bookstore +southernmost +tilting +##vance +bai +economical +briefcase +dreadful +hinted +projections +shattering +totaling +##rogate +analogue +indicted +periodical +fullback +##dman +haynes +##tenberg +##ffs +##ishment +1745 +thirst +stumble +penang +vigorous +##ddling +##kor +##lium +octave +##ove +##enstein +##inen +##ones +siberian +##uti +cbn +repeal +swaying +##vington +khalid +tanaka +unicorn +otago +plastered +lobe +riddle +##rella +perch +##ishing +croydon +filtered +graeme +tripoli +##ossa +crocodile +##chers +sufi +mined +##tung +inferno +lsu +##phi +swelled +utilizes +£2 +cale +periodicals +styx +hike +informally +coop +lund +##tidae +ala +hen +qui +transformations +disposed +sheath +chickens +##cade +fitzroy +silesia +unacceptable +odisha +1650 +sabrina +spokane +ratios +athena +massage +shen +dilemma +##drum +##riz +##hul +corona +doubtful +niall +##pha +##bino +fines +cite +acknowledging +bangor +ballard +bathurst +##resh +huron +mustered +alzheimer +garments +kinase +tyre +warship +flashback +pulmonary +braun +cheat +kamal +cyclists +constructions +grenades +ndp +traveller +excuses +stomped +signalling +trimmed +futsal +mosques +relevance +##wine +wta +##vah +hoc +##riding +optimistic +##´s +deco +interacting +rejecting +moniker +waterways +##ieri +##oku +mayors +gdansk +outnumbered +pearls +##ended +##hampton +fairs +totals +dominating +notions +stairway +compiling +pursed +commodities +grease +yeast +##jong +carthage +griffiths +residual +amc +contraction +laird +sapphire +##marine +##ivated +amalgamation +dissolve +inclination +lyle +packaged +altitudes +suez +canons +graded +lurched +narrowing +boasts +guise +enrico +##ovsky +rower +scarred +bree +cub +iberian +protagonists +bargaining +proposing +trainers +voyages +fishes +##aea +##ivist +##verance +encryption +artworks +kazan +sabre +cleopatra +hepburn +rotting +supremacy +mecklenburg +##brate +burrows +hazards +outgoing +flair +organizes +##ctions +scorpion +##usions +boo +chevalier +dunedin +slapping +ineligible +pensions +##omic +manufactures +emails +bismarck +weakening +blackish +ding +mcgee +quo +##rling +northernmost +manpower +greed +sampson +clicking +##ange +##horpe +##inations +##roving +torre +##eptive +##moral +symbolism +38th +asshole +meritorious +outfits +splashed +biographies +sprung +astros +##tale +filly +raoul +nw +tokugawa +linden +clubhouse +##apa +tracts +romano +##pio +putin +chained +dickson +gunshot +moe +gunn +rashid +##tails +zipper +##bas +##nea +contrasted +##ply +##udes +plum +pharaoh +##pile +aw +comedies +ingrid +sandwiches +subdivisions +mariana +kamen +hz +delaney +veto +herring +##words +possessive +outlines +##roup +siemens +stairwell +gallantry +messiah +palais +yells +zeppelin +bolivar +##cede +smackdown +mckinley +##mora +##yt +muted +geologic +finely +unitary +avatar +hamas +maynard +rees +bog +contrasting +##rut +liv +chico +disposition +##erate +becca +dmitry +yeshiva +narratives +##lva +##ulton +mercenary +sharpe +tempered +navigate +stealth +amassed +keynes +##lini +untouched +##rrie +havoc +lithium +##fighting +abyss +graf +southward +wolverine +balloons +implements +ngos +transitions +##icum +ambushed +concacaf +dormant +economists +##dim +costing +csi +rana +universite +boulders +verity +##llon +collin +mellon +misses +cypress +fluorescent +lifeless +spence +##ulla +crewe +shepard +pak +revelations +jolly +gibbons +paw +##dro +##quel +freeing +shack +fries +palatine +##hiko +accompaniment +cruising +recycled +##aver +erwin +sorting +synthesizers +dyke +realities +strides +enslaved +wetland +##ghan +competence +gunpowder +grassy +maroon +reactors +objection +##oms +carlson +gearbox +macintosh +radios +shelton +##sho +clergyman +prakash +mongols +trophies +oricon +stimuli +twenty20 +cantonese +cortes +mirrored +##saurus +bhp +cristina +melancholy +##lating +enjoyable +nuevo +##wny +downfall +schumacher +##ind +banging +lausanne +rumbled +paramilitary +reflex +ax +amplitude +migratory +##gall +##ups +midi +barnard +lastly +sherry +##nall +keystone +##kra +carleton +slippery +coloring +foe +socket +otter +##rgos +mats +##tose +consultants +bafta +bison +topping +primal +abandonment +transplant +atoll +hideous +mort +pained +reproduced +tae +howling +##turn +unlawful +billionaire +hotter +poised +lansing +##chang +dinamo +retro +messing +domesday +##mina +blitz +timed +##athing +##kley +ascending +gesturing +##izations +signaled +tis +chinatown +mermaid +savanna +jameson +##aint +catalina +##pet +##hers +cochrane +cy +chatting +##kus +alerted +computation +mused +noelle +majestic +mohawk +campo +octagonal +##sant +##hend +aspiring +##mart +comprehend +iona +paralyzed +shimmering +swindon +rhone +##eley +reputed +configurations +pitchfork +agitation +francais +gillian +lipstick +##ilo +outsiders +pontifical +resisting +bitterness +sewer +rockies +##edd +##ucher +misleading +1756 +exiting +galloway +##nging +risked +##heart +commemoration +schultz +##rka +integrating +##rsa +poses +shrieked +##weiler +guineas +gladys +jerking +owls +goldsmith +nightly +penetrating +##unced +lia +ignited +betsy +##aring +##thorpe +follower +vigorously +##rave +coded +kiran +knit +zoology +tbilisi +##bered +repository +govt +deciduous +dino +growling +##bba +enhancement +unleashed +chanting +pussy +biochemistry +##eric +kettle +repression +toxicity +nrhp +##arth +##kko +##bush +ernesto +commended +outspoken +mca +parchment +kristen +##aton +bisexual +raked +glamour +navajo +conditioned +showcased +##hma +spacious +youthful +##esa +usl +appliances +junta +brest +layne +conglomerate +enchanted +chao +loosened +picasso +circulating +inspect +montevideo +##centric +##kti +piazza +spurred +##aith +bari +freedoms +poultry +stamford +lieu +indigo +sarcastic +bahia +stump +attach +dvds +frankenstein +lille +approx +scriptures +pollen +##script +nmi +overseen +##ivism +tides +proponent +newmarket +inherit +milling +##erland +centralized +##rou +distributors +credentials +drawers +abbreviation +##lco +downing +uncomfortably +ripe +##oes +erase +franchises +populace +##bery +##khar +decomposition +pleas +##tet +daryl +sabah +##wide +fearless +genie +lesions +annette +##ogist +oboe +appendix +nair +dripped +petitioned +maclean +mosquito +parrot +hampered +1648 +operatic +reservoirs +##tham +irrelevant +jolt +summarized +##fp +medallion +##taff +clawed +harlow +narrower +goddard +marcia +bodied +fremont +suarez +altering +tempest +mussolini +porn +##isms +sweetly +oversees +walkers +solitude +grimly +shrines +ich +supervisors +hostess +dietrich +legitimacy +brushes +expressive +##yp +dissipated +##rse +localized +systemic +##nikov +gettysburg +##uaries +dialogues +muttering +housekeeper +sicilian +discouraged +##frey +beamed +kaladin +halftime +kidnap +##amo +##llet +1754 +synonymous +depleted +instituto +insulin +reprised +##opsis +clashed +##ctric +interrupting +radcliffe +insisting +medici +1715 +ejected +playfully +turbulent +starvation +##rini +shipment +rebellious +petersen +verification +merits +##rified +cakes +##charged +1757 +milford +shortages +spying +fidelity +##aker +emitted +storylines +harvested +seismic +##iform +cheung +kilda +theoretically +barbie +lynx +##rgy +##tius +goblin +mata +poisonous +##nburg +reactive +residues +obedience +##евич +conjecture +##rac +hating +sixties +kicker +moaning +motown +##bha +emancipation +neoclassical +##hering +consoles +ebert +professorship +##tures +sustaining +assaults +obeyed +affluent +incurred +tornadoes +##eber +##zow +emphasizing +highlanders +cheated +helmets +##ctus +internship +terence +bony +executions +legislators +berries +peninsular +tinged +##aco +1689 +amplifier +corvette +ribbons +lavish +pennant +##lander +worthless +##chfield +##forms +mariano +pyrenees +expenditures +##icides +chesterfield +mandir +tailor +39th +sergey +nestled +willed +aristocracy +devotees +goodnight +raaf +rumored +weaponry +remy +appropriations +harcourt +burr +riaa +##lence +limitation +unnoticed +guo +soaking +swamps +##tica +collapsing +tatiana +descriptive +brigham +psalm +##chment +maddox +##lization +patti +caliph +##aja +akron +injuring +serra +##ganj +basins +##sari +astonished +launcher +##church +hilary +wilkins +sewing +##sf +stinging +##fia +##ncia +underwood +startup +compilations +vibrations +embankment +jurist +bard +juventus +groundwater +kern +palaces +helium +boca +cramped +marissa +soto +##worm +jae +princely +##ggy +faso +bazaar +warmly +##voking +pairing +##lite +##grate +##nets +wien +freaked +ulysses +rebirth +##alia +mummy +guzman +jimenez +stilled +##nitz +trajectory +tha +woken +archival +professions +##pts +##pta +hilly +shadowy +shrink +##bolt +norwood +glued +migrate +stereotypes +devoid +##pheus +evacuate +horrors +infancy +gotham +knowles +optic +downloaded +sachs +kingsley +parramatta +darryl +mor +##onale +shady +commence +confesses +kan +##meter +##placed +marlborough +roundabout +regents +frigates +##imating +gothenburg +revoked +carvings +clockwise +convertible +intruder +##sche +banged +##ogo +vicky +bourgeois +##mony +dupont +footing +##gum +##real +buckle +yun +penthouse +sane +serviced +stakeholders +neumann +##eers +comb +##gam +catchment +pinning +rallies +typing +##elles +forefront +freiburg +sweetie +giacomo +widowed +goodwill +worshipped +aspirations +midday +##vat +fishery +##trick +bournemouth +turk +hearth +ethanol +guadalajara +murmurs +sl +##uge +afforded +scripted +##hta +wah +##jn +coroner +translucent +memorials +puck +progresses +clumsy +##race +candace +recounted +##slin +##uve +filtering +##mac +howl +strata +heron +leveled +##ays +dubious +##oja +##wheel +citations +exhibiting +##laya +##mics +turkic +##lberg +injunction +##ennial +antibodies +organise +##rigues +cardiovascular +cushion +inverness +##zquez +dia +cocoa +sibling +##tman +##roid +expanse +feasible +tunisian +algiers +##relli +rus +dso +westphalia +bro +tacoma +downloads +##ours +konrad +duran +##hdi +continuum +jett +compares +legislator +secession +##nable +##gues +##zuka +translating +reacher +##gley +##ła +aleppo +##agi +orchards +trapping +linguist +versatile +drumming +postage +calhoun +superiors +##mx +barefoot +leary +##cis +ignacio +alfa +kaplan +##rogen +bratislava +mori +##vot +disturb +haas +cartridges +gilmore +radiated +salford +tunic +hades +##ulsive +archeological +delilah +magistrates +auditioned +brewster +charters +empowerment +blogs +cappella +dynasties +iroquois +whipping +##krishna +raceway +truths +myra +weaken +judah +mcgregor +##horse +mic +refueling +37th +burnley +bosses +markus +premio +query +##gga +dunbar +##economic +darkest +lyndon +sealing +commendation +reappeared +##mun +addicted +ezio +slaughtered +satisfactory +shuffle +##eves +##thic +##uj +fortification +warrington +##otto +resurrected +fargo +mane +##utable +##lei +foreword +ox +##aris +##vern +abrams +hua +##mento +sakura +##alo +sentimental +##skaya +midfield +##eses +sturdy +scrolls +macleod +##kyu +entropy +##lance +mitochondrial +cicero +excelled +thinner +convoys +perceive +##oslav +##urable +systematically +grind +burkina +##tagram +ops +##aman +guantanamo +##cloth +##tite +forcefully +wavy +##jou +pointless +##linger +##tze +layton +portico +superficial +clerical +outlaws +##hism +burials +muir +##inn +creditors +hauling +rattle +##leg +calais +monde +archers +reclaimed +dwell +wexford +hellenic +falsely +remorse +##tek +dough +furnishings +##uttered +gabon +neurological +novice +##igraphy +contemplated +pulpit +nightstand +saratoga +##istan +documenting +pulsing +taluk +##firmed +busted +marital +##rien +disagreements +wasps +##yes +hodge +mcdonnell +mimic +fran +pendant +dhabi +musa +##nington +congratulations +argent +darrell +concussion +losers +regrets +thessaloniki +reversal +donaldson +hardwood +thence +achilles +ritter +##eran +demonic +jurgen +prophets +goethe +eki +classmate +##cking +yank +irrational +##inging +perished +seductive +qur +sourced +##crat +##typic +mustard +ravine +barre +horizontally +characterization +phylogenetic +boise +##dit +##runner +##tower +brutally +intercourse +seduce +##bbing +fay +ferris +ogden +amar +nik +unarmed +##inator +evaluating +kyrgyzstan +sweetness +##lford +##oki +mccormick +meiji +notoriety +stimulate +disrupt +figuring +instructional +mcgrath +##zoo +groundbreaking +##lto +flinch +khorasan +agrarian +bengals +mixer +radiating +##sov +ingram +pitchers +nad +tariff +##cript +tata +##codes +##emi +##ungen +appellate +lehigh +##bled +##giri +brawl +duct +texans +##ciation +##ropolis +skipper +speculative +vomit +doctrines +stresses +davy +graders +whitehead +jozef +timely +cumulative +haryana +paints +appropriately +boon +cactus +##ales +##pid +dow +legions +##pit +perceptions +1730 +picturesque +##yse +periphery +rune +wr +##aha +celtics +sentencing +whoa +##erin +confirms +variance +moines +mathews +spade +rave +fronted +blending +alleging +reared +##paper +grassroots +eroded +##physical +directs +ordeal +##sław +accelerate +hacker +rooftop +##inia +lev +buys +cebu +devote +##lce +specialising +##ulsion +choreographed +repetition +warehouses +##ryl +paisley +tuscany +analogy +sorcerer +hash +huts +shards +descends +exclude +nix +chaplin +ito +vane +##drich +causeway +misconduct +limo +orchestrated +glands +jana +##kot +u2 +##sons +branching +contrasts +scoop +longed +##virus +chattanooga +syrup +cornerstone +##tized +##mind +##iaceae +careless +precedence +frescoes +##uet +chilled +consult +modelled +snatch +peat +##thermal +caucasian +humane +relaxation +spins +temperance +##lbert +occupations +lambda +hybrids +moons +##oese +rolf +societal +yerevan +ness +##ssler +befriended +mechanized +nominate +trough +boasted +cues +seater +##hom +bends +##tangle +conductors +emptiness +eurasian +adriatic +tian +##cie +anxiously +lark +propellers +chichester +jock +##holding +credible +recounts +tori +loyalist +abduction +##hoot +##redo +nepali +##mite +ventral +tempting +##ango +##crats +steered +##wice +javelin +dipping +laborers +prentice +looming +titanium +badges +emir +tensor +##ntation +egyptians +rash +denies +hawthorne +lombard +showers +wehrmacht +dietary +trojan +##reus +welles +executing +horseshoe +lifeboat +##lak +elsa +infirmary +nearing +roberta +boyer +mutter +trillion +joanne +##fine +##oked +sinks +vortex +uruguayan +clasp +sirius +##block +accelerator +prohibit +sunken +byu +chronological +diplomats +ochreous +symmetrical +1644 +maia +##tology +salts +reigns +atrocities +##ия +hess +bared +issn +##vyn +cater +saturated +##cycle +##isse +sable +voyager +dyer +yusuf +##inge +fountains +wolff +##nni +engraving +rollins +atheist +ominous +##ault +herr +chariot +martina +strung +##fell +##farlane +horrific +sahib +gazes +saetan +erased +ptolemy +##olic +flushing +lauderdale +analytic +##ices +navarro +beak +gorilla +herrera +broom +guadalupe +raiding +sykes +bsc +deliveries +1720 +invasions +carmichael +tajikistan +thematic +ecumenical +sentiments +onstage +##rians +##brand +##sume +catastrophic +flanks +molten +##arns +waller +aimee +terminating +##icing +alternately +##oche +nehru +printers +outraged +##eving +empires +template +banners +repetitive +za +##oise +vegetarian +##tell +guiana +opt +cavendish +lucknow +synthesized +##hani +##mada +finalized +##ctable +fictitious +mayoral +unreliable +##enham +embracing +peppers +rbis +##chio +##neo +inhibition +slashed +togo +orderly +embroidered +salty +barron +benito +totaled +##dak +pubs +simulated +caden +devin +tolkien +momma +welding +sesame +##ept +gottingen +hardness +shaman +temeraire +adequately +pediatric +assertion +radicals +composure +cadence +seafood +beaufort +lazarus +mani +warily +cunning +kurdistan +cantata +##kir +ares +##clusive +nape +townland +geared +insulted +flutter +boating +violate +draper +dumping +malmo +##hh +##romatic +firearm +alta +bono +obscured +##clave +exceeds +panorama +unbelievable +##train +preschool +##essed +disconnected +installing +rescuing +secretaries +accessibility +##castle +##ifice +##film +bouts +slug +waterway +mindanao +##buro +##ratic +halves +calming +liter +maternity +adorable +bragg +electrification +mcc +##dote +roxy +schizophrenia +munoz +kaye +whaling +mil +tingling +tolerant +##ago +unconventional +volcanoes +##finder +deportivo +##llie +robson +kaufman +neuroscience +wai +deportation +masovian +scraping +converse +##bh +hacking +bulge +##oun +administratively +yao +mammoth +booster +claremont +hooper +nomenclature +pursuits +mclaughlin +melinda +##sul +catfish +barclay +substrates +taxa +zee +kimberly +packets +padma +##ality +borrowing +ostensibly +solvent +##bri +##genesis +##mist +lukas +shreveport +veracruz +##lou +##wives +cheney +anatolia +hobbs +##zyn +cyclic +radiant +alistair +greenish +siena +dat +independents +##bation +conform +pieter +hyper +applicant +bradshaw +spores +telangana +vinci +inexpensive +nuclei +jang +nme +spd +cradled +receptionist +pow +##rika +fascism +##ifer +experimenting +##ading +##iec +##region +jocelyn +maris +stair +nocturnal +toro +constabulary +elgin +##kker +msc +##giving +##schen +##rase +doherty +doping +sarcastically +batter +maneuvers +##cano +##apple +##gai +##git +intrinsic +##nst +##stor +1753 +showtime +cafes +gasps +lviv +ushered +##thed +fours +restart +astonishment +transmitting +flyer +shrugs +##sau +intriguing +cones +dictated +mushrooms +medial +##kovsky +##elman +escorting +gaped +godfather +##door +##sell +djs +recaptured +timetable +vila +1710 +aerodrome +mortals +scientology +##orne +angelina +mag +convection +unpaid +insertion +intermittent +lego +##nated +endeavor +kota +pereira +##lz +bwv +glamorgan +insults +agatha +fey +##cend +fleetwood +mahogany +protruding +steamship +zeta +##arty +mcguire +suspense +##sphere +advising +urges +##wala +hurriedly +meteor +gilded +inline +arroyo +stalker +##oge +excitedly +revered +##cure +earle +introductory +##break +##ilde +mutants +puff +pulses +reinforcement +##haling +curses +lizards +stalk +correlated +##fixed +fallout +macquarie +##unas +bearded +denton +heaving +##ocation +winery +assign +dortmund +##lkirk +everest +invariant +charismatic +susie +##elling +bled +lesley +telegram +sumner +bk +##ogen +wilcox +needy +colbert +duval +##iferous +##mbled +allotted +attends +imperative +##hita +replacements +hawker +##inda +insurgency +##zee +##eke +casts +##yla +ives +transitioned +##pack +##powering +authoritative +baylor +flex +cringed +plaintiffs +woodrow +##skie +drastic +ape +aroma +unfolded +commotion +preoccupied +theta +routines +lasers +privatization +wand +domino +ek +clenching +nsa +strategically +showered +bile +handkerchief +pere +storing +christophe +insulting +nakamura +romani +asiatic +magdalena +palma +cruises +stripping +konstantin +soaring +##berman +colloquially +forerunner +havilland +incarcerated +parasites +sincerity +##utus +disks +plank +saigon +##ining +corbin +homo +ornaments +powerhouse +##tlement +chong +fastened +feasibility +idf +morphological +usable +##nish +##zuki +aqueduct +jaguars +keepers +##flies +aleksandr +faust +assigns +ewing +bacterium +hurled +tricky +hungarians +integers +wallis +yamaha +##isha +hushed +oblivion +aviator +evangelist +friars +##eller +monograph +ode +##nary +airplanes +labourers +charms +##nee +1661 +hagen +tnt +rudder +fiesta +transcript +dorothea +ska +inhibitor +maccabi +retorted +raining +encompassed +clauses +menacing +1642 +lineman +##gist +vamps +##dick +gloom +##rera +dealings +easing +seekers +##nut +##pment +helens +unmanned +##anu +##isson +basics +##amy +##ckman +adjustments +1688 +brutality +horne +##zell +##mable +aggregator +##thal +rhino +##drick +##vira +counters +##rting +mn +montenegrin +packard +##unciation +##♭ +##kki +reclaim +scholastic +thugs +pulsed +##icia +syriac +quan +saddam +banda +kobe +blaming +buddies +dissent +##lusion +##usia +corbett +jaya +delle +erratic +lexie +##hesis +amiga +hermes +##pressing +##leen +chapels +gospels +jamal +##uating +compute +revolving +warp +##sso +##thes +armory +##eras +##gol +antrim +loki +##kow +##asian +##good +##zano +braid +handwriting +subdistrict +funky +pantheon +##iculate +concurrency +estimation +improper +juliana +##his +newcomers +johnstone +staten +communicated +##oco +##alle +sausage +stormy +##stered +##tters +superfamily +##grade +acidic +collateral +tabloid +##oped +##rza +bladder +austen +##ellant +mcgraw +##hay +hannibal +mein +aquino +lucifer +wo +badger +boar +cher +christensen +greenberg +interruption +##kken +jem +mocked +bottoms +cambridgeshire +##lide +sprawling +##bbly +eastwood +ghent +synth +##buck +advisers +##bah +nominally +hapoel +qu +daggers +estranged +fabricated +towels +vinnie +wcw +misunderstanding +anglia +nothin +unmistakable +##dust +##lova +chilly +marquette +truss +##edge +##erine +reece +##lty +##chemist +##connected +41st +bash +raion +waterfalls +##ump +##main +labyrinth +queue +theorist +##istle +bharatiya +flexed +soundtracks +rooney +leftist +patrolling +wharton +plainly +alleviate +eastman +schuster +topographic +engages +immensely +unbearable +fairchild +1620 +dona +lurking +parisian +oliveira +ia +indictment +hahn +bangladeshi +##aster +##uming +##ential +antonia +expects +indoors +kildare +harlan +##logue +##ogenic +##sities +forgiven +##wat +childish +tavi +##mide +##orra +plausible +grimm +successively +scooted +##bola +##rith +spartans +emery +flatly +epilogue +##wark +flourish +##iny +##tracted +##overs +##oshi +bestseller +distressed +receipt +spitting +hermit +topological +##cot +drilled +subunit +francs +##layer +eel +##fk +##itas +octopus +footprint +petitions +##say +##foil +interfering +leaking +palo +##metry +thistle +valiant +##pic +narayan +mcpherson +##fast +gonzales +##enne +dustin +novgorod +solos +##zman +doin +##patient +##meyer +soluble +ashland +cuffs +carole +pendleton +whistling +vassal +##river +deviation +revisited +constituents +rallied +rotate +loomed +##eil +##nting +amateurs +augsburg +auschwitz +crowns +skeletons +##cona +bonnet +dummy +globalization +simeon +sleeper +mandal +differentiated +##crow +##mare +milne +bundled +exasperated +talmud +owes +segregated +##feng +##uary +dentist +piracy +props +##rang +devlin +##torium +malicious +paws +##laid +dependency +##ergy +##fers +##enna +pistons +rourke +jed +grammatical +tres +maha +wig +ghostly +jayne +##achal +##creen +##ilis +##lins +designate +##with +arrogance +cambodian +clones +showdown +throttle +twain +##ception +lobes +metz +nagoya +braking +##furt +roaming +##minster +amin +crippled +##llary +indifferent +hoffmann +idols +intimidating +1751 +influenza +memo +onions +1748 +bandage +consciously +##landa +##rage +clandestine +observes +swiped +tangle +##ener +##jected +##trum +##bill +##lta +hugs +congresses +josiah +spirited +##dek +humanist +managerial +filmmaking +inmate +rhymes +debuting +grimsby +ur +##laze +duplicate +vigor +republished +bolshevik +refurbishment +antibiotics +martini +methane +newscasts +royale +horizons +levant +iain +visas +##ischen +paler +##around +manifestation +snuck +alf +chop +futile +pedestal +rehab +##kat +bmg +kerman +res +fairbanks +jarrett +abstraction +saharan +##zek +1746 +procedural +clearer +kincaid +sash +luciano +##ffey +crunch +helmut +##vara +revolutionaries +##tute +creamy +leach +##mmon +1747 +permitting +nes +plight +wendell +##lese +contra +clancy +ipa +mach +staples +autopsy +disturbances +nueva +karin +pontiac +##uding +proxy +venerable +haunt +leto +bergman +expands +##helm +wal +##pipe +canning +celine +cords +obesity +##enary +intrusion +planner +##phate +reasoned +sequencing +harrow +##chon +##dora +marred +mcintyre +repay +tarzan +darting +harrisburg +margarita +repulsed +##lding +belinda +hamburger +novo +compliant +runways +bingham +registrar +skyscraper +cuthbert +improvisation +livelihood +##corp +##elial +admiring +##dened +sporadic +believer +casablanca +popcorn +asha +shovel +##bek +##dice +coiled +tangible +##dez +casper +elsie +resin +tenderness +rectory +##ivision +avail +sonar +##mori +boutique +##dier +guerre +bathed +upbringing +vaulted +sandals +blessings +##naut +##utnant +1680 +foxes +pia +corrosion +hesitantly +confederates +crystalline +footprints +shapiro +tirana +valentin +drones +45th +microscope +shipments +texted +inquisition +wry +guernsey +unauthorized +resigning +ripple +schubert +stu +reassure +felony +##ardo +brittle +koreans +##havan +##ives +dun +implicit +tyres +##aldi +##lth +magnolia +##ehan +##puri +##poulos +aggressively +fei +gr +familiarity +##poo +indicative +##trust +fundamentally +jimmie +overrun +anchors +moans +##opus +britannia +armagh +purposely +seizing +##vao +bewildered +mundane +avoidance +cosmopolitan +geometridae +quartermaster +caf +chatter +engulfed +gleam +purge +##icate +juliette +jurisprudence +guerra +revisions +##bn +casimir +brew +##jm +1749 +clapton +cloudy +conde +hermitage +simulations +torches +vincenzo +matteo +##rill +hidalgo +booming +westbound +accomplishment +tentacles +unaffected +##sius +annabelle +flopped +sloping +##litz +dreamer +interceptor +vu +##loh +consecration +copying +messaging +breaker +climates +hospitalized +1752 +torino +afternoons +winfield +witnessing +##teacher +breakers +choirs +sawmill +coldly +##ege +sipping +haste +uninhabited +conical +bibliography +pamphlets +severn +edict +##oca +deux +illnesses +grips +rehearsals +sis +thinkers +tame +##keepers +1690 +acacia +reformer +##osed +##rys +shuffling +##iring +##shima +eastbound +ionic +rhea +flees +littered +##oum +rocker +vomiting +groaning +champ +overwhelmingly +civilizations +paces +sloop +adoptive +##tish +skaters +##vres +aiding +nikola +shriek +##ignon +pharmaceuticals +tuna +calvert +gustavo +stocked +yearbook +##urai +##mana +computed +subsp +riff +hanoi +kelvin +hamid +moors +pastures +summons +jihad +nectar +##ctors +bayou +untitled +pleasing +vastly +republics +intellect +##ulio +##tou +crumbling +stylistic +##ی +consolation +frequented +h₂o +walden +widows +##iens +##ignment +chunks +improves +grit +recited +##dev +snarl +sociological +##arte +##gul +inquired +##held +bruise +clube +consultancy +homogeneous +hornets +multiplication +pasta +prick +savior +##grin +##kou +##phile +yoon +##gara +grimes +vanishing +cheering +reacting +bn +distillery +##quisite +##vity +coe +dockyard +massif +##jord +escorts +voss +##valent +byte +chopped +hawke +illusions +workings +floats +##koto +##vac +kv +annapolis +madden +##onus +alvaro +noctuidae +##cum +##scopic +avenge +steamboat +forte +illustrates +erika +##trip +dew +nationalities +bran +manifested +thirsty +diversified +muscled +reborn +##standing +arson +##lessness +##dran +##logram +##boys +##kushima +##vious +willoughby +##phobia +alsace +dashboard +yuki +##chai +granville +myspace +publicized +tricked +##gang +adjective +##ater +relic +reorganisation +enthusiastically +indications +saxe +##lassified +consolidate +iec +padua +helplessly +ramps +renaming +regulars +pedestrians +accents +convicts +inaccurate +lowers +mana +##pati +barrie +bjp +outta +someplace +berwick +flanking +invoked +marrow +sparsely +excerpts +clothed +rei +##ginal +wept +##straße +##vish +##ptive +membranes +aquitaine +creeks +cutler +sheppard +implementations +##dur +fragrance +budge +concordia +magnesium +marcelo +##antes +gladly +vibrating +##rral +##ggles +montrose +##omba +lew +seamus +1630 +cocky +##ament +##uen +bjorn +##rrick +fielder +fluttering +##lase +methyl +kimberley +mcdowell +reductions +barbed +##jic +##tonic +aeronautical +condensed +distracting +##promising +huffed +##cala +##sle +claudius +invincible +missy +pious +balthazar +##lang +butte +combo +orson +##dication +myriad +1707 +silenced +##fed +##rh +netball +yourselves +##oza +clarify +heller +peg +durban +etudes +offender +roast +blackmail +curvature +##woods +vile +illicit +suriname +##linson +overture +1685 +bubbling +gymnast +tucking +##mming +##ouin +maldives +##bala +gurney +##dda +##eased +##oides +backside +pinto +jars +racehorse +tending +##rdial +baronetcy +wiener +duly +##rke +barbarian +cupping +flawed +##thesis +bertha +pleistocene +puddle +swearing +##nob +##tically +fleeting +prostate +amulet +educating +##mined +##tler +75th +jens +respondents +cavaliers +papacy +raju +##iente +##ulum +##tip +funnel +disneyland +##lley +sociologist +##iam +faulkner +louvre +menon +##dson +##ower +afterlife +mannheim +peptide +referees +comedians +meaningless +##anger +##laise +fabrics +hurley +renal +sleeps +##bour +##icle +breakout +kristin +roadside +animator +clover +disdain +unsafe +redesign +##urity +firth +barnsley +portage +reset +narrows +commandos +expansive +speechless +tubular +essendon +eyelashes +smashwords +##yad +##bang +##claim +craved +sprinted +chet +somme +astor +wrocław +orton +bane +##erving +##uing +mischief +##amps +##sund +scaling +terre +##xious +impairment +offenses +undermine +moi +soy +contiguous +arcadia +inuit +seam +##tops +macbeth +rebelled +##icative +##iot +elaborated +frs +uniformed +##dberg +powerless +priscilla +stimulated +qc +arboretum +frustrating +trieste +bullock +##nified +enriched +glistening +intern +##adia +locus +nouvelle +ollie +ike +lash +starboard +tapestry +headlined +hove +rigged +##vite +pollock +##yme +thrive +clustered +cas +roi +gleamed +olympiad +##lino +pressured +regimes +##hosis +##lick +ripley +##ophone +kickoff +gallon +rockwell +##arable +crusader +glue +revolutions +scrambling +1714 +grover +##jure +englishman +aztec +contemplating +coven +preach +triumphant +tufts +##esian +rotational +##phus +falkland +##brates +strewn +clarissa +rejoin +environmentally +glint +banded +drenched +moat +albanians +johor +rr +maestro +malley +nouveau +shaded +taxonomy +adhere +bunk +airfields +##ritan +1741 +encompass +remington +tran +##erative +amelie +mazda +friar +morals +passions +##zai +breadth +vis +##hae +argus +burnham +caressing +insider +rudd +##imov +##rso +italianate +murderous +textual +wainwright +armada +bam +weave +timer +##taken +##nh +fra +##crest +ardent +salazar +taps +tunis +##ntino +allegro +gland +philanthropic +##chester +implication +##optera +esq +judas +noticeably +wynn +##dara +inched +indexed +crises +villiers +bandit +royalties +patterned +cupboard +interspersed +accessory +isla +kendrick +entourage +stitches +##esthesia +headwaters +##ior +interlude +distraught +draught +1727 +##basket +biased +sy +transient +triad +subgenus +adapting +kidd +shortstop +##umatic +dimly +spiked +mcleod +reprint +nellie +pretoria +windmill +##cek +singled +##mps +reunite +##orous +bankers +outlying +##omp +##ports +##tream +apologies +cosmetics +patsy +##deh +##ocks +##yson +bender +nantes +serene +##nad +lucha +mmm +##cius +##gli +cmll +coinage +nestor +juarez +##rook +smeared +sprayed +twitching +sterile +irina +embodied +juveniles +enveloped +miscellaneous +cancers +dq +gulped +luisa +crested +swat +donegal +ref +##anov +##acker +hearst +mercantile +##lika +doorbell +vicki +##alla +##som +bilbao +psychologists +stryker +sw +horsemen +turkmenistan +wits +##national +anson +mathew +screenings +##umb +rihanna +##agne +##nessy +aisles +##iani +##osphere +hines +kenton +saskatoon +tasha +truncated +##champ +##itan +mildred +advises +fredrik +interpreting +inhibitors +##athi +spectroscopy +##hab +##kong +karim +panda +##oia +##nail +conqueror +kgb +leukemia +##dity +arrivals +cheered +pisa +phosphorus +shielded +##riated +mammal +unitarian +urgently +chopin +sanitary +##mission +spicy +drugged +hinges +##tort +tipping +trier +impoverished +westchester +##caster +epoch +nonstop +##gman +##khov +aromatic +centrally +cerro +##tively +##vio +billions +modulation +sedimentary +facilitating +outrageous +goldstein +##eak +##kt +ld +maitland +penultimate +pollard +##dance +fleets +spaceship +vertebrae +##nig +alcoholism +als +recital +##bham +##omics +##bm +trois +##tropical +commemorates +##meric +marge +##raction +1643 +cosmetic +ravaged +##ige +catastrophe +eng +##shida +albrecht +arterial +bellamy +decor +harmon +##rde +bulbs +synchronized +vito +easiest +shetland +shielding +wnba +##glers +##ssar +##riam +brianna +cumbria +##aceous +##rard +cores +thayer +##nsk +brood +hilltop +luminous +carts +keynote +larkin +logos +##cta +##mund +##quay +lilith +tinted +wrestle +mobilization +##uses +sequential +siam +bloomfield +takahashi +##ieving +presenters +ringo +blazed +witty +##oven +##ignant +devastation +haydn +harmed +newt +therese +##peed +gershwin +molina +rabbis +sudanese +innate +restarted +##sack +##fus +slices +wb +##shah +enroll +hypothetical +hysterical +1743 +fabio +indefinite +warped +exchanging +unsuitable +##sboro +gallo +1603 +bret +cobalt +homemade +##hunter +operatives +##dhar +terraces +durable +latch +pens +whorls +##ctuated +##eaux +billing +ligament +succumbed +##gly +regulators +spawn +##brick +##stead +filmfare +rochelle +##nzo +1725 +circumstance +saber +supplements +##nsky +##tson +crowe +wellesley +carrot +##9th +##movable +primate +drury +sincerely +topical +##mad +##rao +callahan +kyiv +smarter +tits +undo +##yeh +announcements +anthologies +barrio +nebula +##islaus +##shaft +##tyn +bodyguards +assassinate +barns +emmett +scully +##yd +##eland +##tino +##itarian +demoted +gorman +lashed +prized +adventist +writ +##gui +alla +invertebrates +##ausen +1641 +amman +1742 +align +healy +redistribution +##gf +##rize +insulation +##drop +adherents +hezbollah +vitro +ferns +yanking +registering +uppsala +cheerleading +confines +mischievous +tully +##ross +49th +docked +roam +stipulated +pumpkin +##bry +prompt +##ezer +blindly +shuddering +craftsmen +frail +scented +katharine +scramble +shaggy +sponge +helix +zaragoza +43rd +backlash +fontaine +seizures +posse +cowan +nonfiction +telenovela +wwii +hammered +undone +##gpur +encircled +irs +##ivation +artefacts +oneself +searing +smallpox +##belle +##osaurus +shandong +breached +upland +blushing +rankin +infinitely +psyche +tolerated +docking +evicted +##col +unmarked +##lving +gnome +lettering +litres +musique +##oint +benevolent +##jal +blackened +##anna +mccall +racers +tingle +##ocene +##orestation +introductions +radically +##hiff +##باد +1610 +1739 +munchen +plead +##nka +condo +scissors +##sight +##tens +apprehension +##cey +##yin +hallmark +watering +formulas +sequels +##llas +aggravated +bae +commencing +##building +enfield +prohibits +marne +vedic +civilized +euclidean +jagger +beforehand +blasts +dumont +##arney +##nem +conversions +hierarchical +rios +simulator +##dya +##lellan +hedges +oleg +thrusts +shadowed +darby +maximize +1744 +gregorian +##nded +##routed +sham +unspecified +##hog +emory +factual +##smo +fooled +##rger +ortega +wellness +marlon +##oton +##urance +casket +keating +ley +enclave +##ayan +char +influencing +jia +##chenko +ammonia +erebidae +incompatible +violins +cornered +##arat +grooves +astronauts +columbian +rampant +fabrication +kyushu +mahmud +vanish +##dern +mesopotamia +##lete +##rgen +caspian +kenji +pitted +##vered +grimace +roanoke +tchaikovsky +twinned +##analysis +##awan +xinjiang +arias +clemson +kazakh +sizable +1662 +##khand +##vard +plunge +tatum +vittorio +##nden +cholera +##dana +bracing +indifference +projectile +superliga +##chee +realises +upgrading +porte +retribution +##vies +nk +stil +##resses +ama +bureaucracy +blackberry +bosch +testosterone +collapses +greer +##pathic +ioc +fifties +malls +##erved +bao +baskets +adolescents +siegfried +##osity +##tosis +mantra +detecting +existent +fledgling +##cchi +dissatisfied +gan +telecommunication +mingled +sobbed +controversies +outdated +taxis +##raus +fright +slams +##lham +##fect +##tten +detectors +fetal +tanned +##uw +fray +goth +olympian +skipping +mandates +scratches +sheng +unspoken +hyundai +tracey +hotspur +restrictive +##buch +americana +mundo +##bari +burroughs +diva +vulcan +##6th +distinctions +thumping +##ngen +mikey +sheds +fide +rescues +springsteen +vested +valuation +##ece +##ely +pinnacle +rake +sylvie +##edo +almond +quivering +##irus +alteration +faltered +##wad +51st +hydra +ticked +##kato +recommends +##dicated +antigua +arjun +stagecoach +wilfred +trickle +pronouns +##pon +aryan +nighttime +##anian +gall +pea +stitch +##hei +leung +milos +##dini +eritrea +starved +snowfall +kant +parasitic +cot +discus +hana +strikers +appleton +kitchens +##erina +##partisan +##itha +##vius +disclose +metis +##channel +1701 +##vera +fitch +1735 +blooded +##tila +decimal +##tang +##bai +cyclones +eun +bottled +peas +pensacola +basha +bolivian +crabs +boil +lanterns +partridge +roofed +1645 +necks +##phila +opined +patting +##kla +##lland +chuckles +volta +whereupon +##nche +devout +euroleague +suicidal +##dee +inherently +involuntary +knitting +nasser +##hide +puppets +colourful +courageous +southend +stills +miraculous +hodgson +richer +rochdale +ethernet +greta +uniting +prism +umm +##haya +##itical +##utation +deterioration +pointe +prowess +##ropriation +lids +scranton +billings +subcontinent +##koff +##scope +brute +kellogg +psalms +degraded +##vez +stanisław +##ructured +ferreira +pun +astonishing +gunnar +##yat +arya +prc +gottfried +##tight +excursion +##ographer +dina +##quil +##nare +huffington +illustrious +wilbur +verandah +##zard +naacp +##odle +constructive +fjord +kade +##naud +generosity +thrilling +baseline +cayman +frankish +plastics +accommodations +zoological +##fting +cedric +qb +motorized +##dome +##otted +squealed +tackled +canucks +budgets +situ +asthma +dail +gabled +grasslands +whimpered +writhing +judgments +minnie +##carbon +bananas +grille +domes +monique +odin +maguire +markham +tierney +##estra +##chua +libel +poke +speedy +atrium +laval +notwithstanding +##edly +fai +kala +##sur +robb +##sma +listings +luz +supplementary +tianjin +##acing +enzo +jd +ric +scanner +croats +transcribed +arden +##hair +##raphy +##lver +seventies +staggering +alam +horticultural +hs +regression +timbers +blasting +##ounded +montagu +manipulating +##cit +catalytic +1550 +troopers +##meo +condemnation +fitzpatrick +##oire +##roved +inexperienced +1670 +castes +##lative +outing +dubois +flicking +quarrel +ste +learners +1625 +whistled +##class +classify +tariffs +temperament +folly +liszt +##yles +immersed +jordanian +ceasefire +apparel +extras +maru +fished +##bio +harta +stockport +assortment +craftsman +paralysis +transmitters +##cola +blindness +##wk +fatally +proficiency +solemnly +##orno +repairing +amore +groceries +ultraviolet +##chase +schoolhouse +##tua +resurgence +nailed +##otype +ruse +saliva +diagrams +##tructing +albans +rann +thirties +antennas +hilarious +cougars +paddington +stats +##eger +breakaway +reza +authorship +prohibiting +scoffed +##etz +##ttle +conscription +defected +trondheim +##fires +ivanov +keenan +##adan +##ciful +##fb +##slow +locating +##ials +##tford +cadiz +basalt +blankly +interned +rags +rattling +##tick +carpathian +reassured +bum +guildford +iss +staunch +##onga +astronomers +sera +sofie +emergencies +susquehanna +##heard +duc +mastery +vh1 +williamsburg +bayer +buckled +craving +##khan +##rdes +bloomington +##write +alton +barbecue +##bians +justine +##hri +##ndt +delightful +smartphone +newtown +photon +retrieval +peugeot +hissing +##monium +##orough +flavors +lighted +relaunched +tainted +##games +##lysis +anarchy +microscopic +hopping +adept +evade +evie +##beau +inhibit +sinn +adjustable +hurst +intuition +wilton +44th +lawful +lowlands +stockings +thierry +##dalen +##hila +##nai +fates +prank +maison +lobbied +provocative +1724 +utopia +##qual +carbonate +gujarati +purcell +##rford +curtiss +##mei +overgrown +arenas +mediation +swallows +##rnik +respectful +turnbull +##hedron +##hope +alyssa +ozone +##ʻi +ami +gestapo +johansson +snooker +canteen +cuff +declines +empathy +stigma +##ags +##raine +taxpayers +volga +##wright +##copic +lifespan +overcame +tattooed +enactment +giggles +##ador +##camp +barrington +bribe +obligatory +orbiting +peng +##enas +elusive +sucker +##vating +cong +hardship +empowered +anticipating +estrada +cryptic +greasy +detainees +planck +sudbury +plaid +dod +kayla +##ears +##vb +##zd +mortally +##hein +cognition +radha +liechtenstein +meade +richly +argyle +harpsichord +liberalism +trumpets +lauded +tyrant +salsa +tiled +lear +promoters +reused +slicing +trident +##chuk +##gami +##lka +cantor +checkpoint +##points +gaul +leger +mammalian +##tov +##aar +##schaft +doha +frenchman +nirvana +##vino +delgado +headlining +##eron +##iography +jug +tko +1649 +naga +intersections +benfica +nawab +##suka +ashford +gulp +##deck +##vill +##rug +brentford +frazier +pleasures +dunne +potsdam +shenzhen +dentistry +##tec +flanagan +##dorff +##hear +chorale +dinah +prem +quezon +##rogated +relinquished +sutra +terri +##pani +flaps +##rissa +poly +##rnet +homme +aback +##eki +linger +womb +##kson +##lewood +doorstep +orthodoxy +threaded +westfield +##rval +dioceses +fridays +subsided +##gata +loyalists +##biotic +##ettes +letterman +lunatic +prelate +tenderly +invariably +souza +thug +winslow +##otide +furlongs +gogh +jeopardy +##runa +pegasus +##umble +humiliated +standalone +tagged +##roller +freshmen +klan +##bright +attaining +initiating +transatlantic +logged +viz +##uance +1723 +combatants +intervening +stephane +chieftain +despised +grazed +cdc +galveston +godzilla +macro +simulate +##planes +parades +##esses +##ductive +##unes +equator +overdose +##cans +##hosh +##lifting +joshi +epstein +sonora +treacherous +aquatics +manchu +responsive +##sation +supervisory +##christ +##llins +##ibar +##balance +##uso +kimball +karlsruhe +mab +##emy +ignores +phonetic +spaghetti +almighty +danzig +rumbling +tombstone +designations +lured +outset +##felt +supermarkets +grupo +kei +kraft +susanna +##blood +comprehension +genealogy +##aghan +##verted +redding +##ythe +1722 +bowing +##pore +##roi +lest +sharpened +fulbright +valkyrie +sikhs +##unds +swans +bouquet +merritt +##tage +##venting +commuted +redhead +clerks +leasing +cesare +dea +hazy +##vances +fledged +greenfield +servicemen +##gical +armando +blackout +sagged +downloadable +intra +potion +pods +##4th +##mism +attendants +gambia +stale +##ntine +plump +asteroids +rediscovered +buds +flea +hive +##neas +1737 +classifications +debuts +##eles +olympus +scala +##eurs +##gno +##mute +hummed +sigismund +visuals +wiggled +await +pilasters +clench +sulfate +##ances +bellevue +enigma +trainee +snort +##sw +clouded +denim +##rank +churning +hartman +lodges +riches +sima +##missible +accountable +socrates +regulates +mueller +1702 +avoids +solids +himalayas +nutrient +pup +##jevic +squat +fades +nec +##lates +##pina +##rona +##ου +privateer +tequila +##gative +##mpton +hornet +immortals +##dou +asturias +cleansing +dario +##rries +##anta +etymology +servicing +zhejiang +##venor +##nx +horned +erasmus +rayon +relocating +£10 +##bags +escalated +promenade +stubble +2010s +artisans +axial +liquids +mora +sho +yoo +##tsky +bundles +oldies +##nally +notification +bastion +##ths +sparkle +##lved +1728 +leash +pathogen +highs +##hmi +immature +gonzaga +ignatius +mansions +monterrey +sweets +bryson +##loe +polled +regatta +brightest +pei +rosy +squid +hatfield +payroll +addict +meath +cornerback +heaviest +lodging +##mage +capcom +rippled +##sily +barnet +mayhem +ymca +snuggled +rousseau +##cute +blanchard +fragmented +leighton +chromosomes +risking +##strel +##utter +corinne +coyotes +cynical +hiroshi +yeomanry +##ractive +ebook +grading +mandela +plume +agustin +magdalene +##rkin +bea +femme +trafford +##coll +##lun +##tance +52nd +fourier +upton +##mental +camilla +gust +iihf +islamabad +longevity +##kala +feldman +netting +##rization +endeavour +foraging +mfa +orr +##open +greyish +contradiction +graz +##ruff +handicapped +marlene +tweed +oaxaca +spp +campos +miocene +pri +configured +cooks +pluto +cozy +pornographic +##entes +70th +fairness +glided +jonny +lynne +rounding +sired +##emon +##nist +remade +uncover +##mack +complied +lei +newsweek +##jured +##parts +##enting +##pg +finer +guerrillas +athenian +deng +disused +stepmother +accuse +gingerly +seduction +confronting +##going +gora +nostalgia +sabres +virginity +wrenched +##minated +syndication +wielding +eyre +##gnon +##igny +behaved +taxpayer +sweeps +##growth +childless +gallant +##ywood +amplified +geraldine +scrape +##ffi +babylonian +fresco +##rdan +##kney +##position +1718 +restricting +tack +fukuoka +osborn +selector +partnering +##dlow +kia +tak +whitley +gables +##mania +mri +softness +immersion +##bots +##evsky +1713 +chilling +insignificant +pcs +##uis +elites +lina +purported +supplemental +teaming +##americana +##dding +##inton +proficient +rouen +##nage +##rret +niccolo +selects +##bread +fluffy +1621 +gruff +knotted +mukherjee +polgara +thrash +nicholls +secluded +smoothing +thru +corsica +loaf +whitaker +inquiries +##rrier +##kam +indochina +marlins +myles +peking +##tea +extracts +pastry +superhuman +connacht +vogel +##ditional +##het +##udged +##lash +gloss +quarries +refit +teaser +##alic +##gaon +20s +materialized +sling +camped +pickering +tung +tracker +pursuant +##cide +cranes +##cini +##typical +##viere +anhalt +overboard +workout +chores +fares +orphaned +stains +##logie +fenton +surpassing +joyah +triggers +##itte +grandmaster +##lass +##lists +clapping +fraudulent +ledger +nagasaki +##cor +##nosis +##tsa +eucalyptus +tun +##icio +##rney +##tara +dax +heroism +ina +wrexham +onboard +unsigned +##dates +moshe +galley +winnie +droplets +exiles +praises +watered +noodles +##aia +fein +leland +multicultural +stink +bingo +comets +erskine +modernized +canned +constraint +domestically +chemotherapy +featherweight +stifled +##mum +darkly +irresistible +refreshing +hasty +isolate +##oys +kitchener +planners +##wehr +cages +yarn +implant +toulon +elects +childbirth +yue +##lind +rightful +sportsman +junctions +remodeled +specifies +##rgh +##oons +complimented +##urgent +lister +ot +##logic +bequeathed +cheekbones +fontana +gabby +##dial +amadeus +corrugated +maverick +resented +triangles +##hered +##usly +nazareth +tyrol +1675 +assent +poorer +sectional +aegean +##cous +nylon +ghanaian +##egorical +##weig +cushions +forbid +fusiliers +obstruction +somerville +##scia +dime +earrings +elliptical +leyte +oder +polymers +timmy +midtown +piloted +settles +continual +externally +mayfield +##uh +enrichment +henson +keane +persians +1733 +benji +braden +pep +##efe +contenders +pepsi +valet +##isches +##asse +##earing +goofy +stroll +##amen +authoritarian +occurrences +adversary +ahmedabad +tangent +toppled +dorchester +1672 +modernism +marxism +islamist +charlemagne +exponential +racks +brunette +pic +skirmish +##bund +##lad +##powered +##yst +hoisted +messina +shatter +##ctum +jedi +vantage +##music +##neil +clemens +mahmoud +corrupted +authentication +lowry +nils +##washed +omnibus +wounding +jillian +##itors +##opped +serialized +narcotics +handheld +##arm +##plicity +intersecting +stimulating +##onis +crate +fellowships +hemingway +casinos +climatic +fordham +copeland +drip +beatty +leaflets +robber +brothel +madeira +##hedral +sphinx +ultrasound +##vana +valor +forbade +leonid +villas +##aldo +duane +marquez +##cytes +disadvantaged +forearms +kawasaki +reacts +consular +lax +uncles +uphold +##hopper +concepcion +dorsey +lass +##izan +arching +passageway +1708 +researches +tia +internationals +##graphs +##opers +distinguishes +javanese +divert +##uven +plotted +##listic +##rwin +##erik +##tify +affirmative +signifies +validation +##bson +kari +felicity +georgina +zulu +##eros +##rained +##rath +overcoming +argyll +##rbin +1734 +chiba +ratification +windy +earls +parapet +##marks +hunan +pristine +astrid +punta +##gart +brodie +##kota +##oder +malaga +minerva +rouse +##phonic +bellowed +pagoda +portals +reclamation +##gur +##odies +##⁄₄ +parentheses +quoting +allergic +palette +showcases +benefactor +heartland +nonlinear +##tness +bladed +cheerfully +scans +##ety +1666 +girlfriends +pedersen +hiram +sous +##liche +##nator +1683 +##nery +##orio +##umen +bobo +primaries +smiley +##cb +unearthed +uniformly +fis +metadata +1635 +ind +##oted +recoil +##titles +##tura +##ια +hilbert +jamestown +mcmillan +tulane +seychelles +##frid +antics +coli +fated +stucco +##grants +1654 +bulky +accolades +arrays +caledonian +carnage +optimism +puebla +##tative +##cave +enforcing +rotherham +dunlop +aeronautics +chimed +incline +zoning +archduke +hellenistic +##oses +##sions +candi +thong +##ople +magnate +rustic +##rsk +projective +slant +##offs +danes +hollis +vocalists +##ammed +congenital +contend +gesellschaft +##ocating +##pressive +douglass +quieter +##kshi +howled +salim +spontaneously +townsville +buena +southport +##bold +kato +1638 +faerie +stiffly +##vus +##rled +flawless +realising +taboo +##7th +straightening +jena +##hid +cartwright +berber +bertram +soloists +noses +coping +fission +hardin +inca +##cen +1717 +mobilized +vhf +##raf +biscuits +curate +##anial +gaunt +neighbourhoods +1540 +##abas +blanca +bypassed +sockets +behold +coincidentally +##bane +nara +shave +splinter +terrific +##arion +##erian +commonplace +juris +redwood +waistband +boxed +caitlin +fingerprints +jennie +naturalized +##ired +balfour +craters +jody +bungalow +hugely +quilt +glitter +pigeons +undertaker +bulging +constrained +##sil +##akh +assimilation +reworked +##person +persuasion +##pants +felicia +##cliff +##ulent +1732 +explodes +##dun +##inium +##zic +lyman +vulture +hog +overlook +begs +northwards +ow +spoil +##urer +fatima +favorably +accumulate +sargent +sorority +corresponded +dispersal +kochi +toned +##imi +##lita +internacional +newfound +##agger +##lynn +##rigue +booths +peanuts +##eborg +medicare +muriel +nur +##uram +crates +millennia +pajamas +worsened +##breakers +jimi +vanuatu +yawned +##udeau +carousel +##hony +hurdle +##ccus +##mounted +##pod +rv +##eche +airship +ambiguity +compulsion +recapture +##claiming +arthritis +##osomal +1667 +asserting +ngc +sniffing +dade +discontent +glendale +ported +##amina +defamation +rammed +##scent +fling +livingstone +##fleet +875 +apocalyptic +comrade +##lowe +cessna +eine +persecuted +subsistence +demi +hoop +reliefs +coptic +progressing +stemmed +perpetrators +1665 +priestess +##nio +dobson +ebony +rooster +itf +tortricidae +##bbon +##jian +cleanup +##jean +##øy +1721 +eighties +taxonomic +holiness +##hearted +##spar +antilles +showcasing +stabilized +##nb +gia +mascara +michelangelo +dawned +##uria +##vinsky +extinguished +fitz +grotesque +£100 +##fera +##loid +##mous +barges +neue +throbbed +cipher +johnnie +##mpt +outburst +##swick +spearheaded +administrations +heartbreak +pixels +pleasantly +##enay +lombardy +plush +##nsed +bobbie +##hly +reapers +tremor +xiang +minogue +substantive +hitch +barak +##wyl +kwan +##encia +910 +obscene +elegance +indus +surfer +bribery +conserve +##hyllum +##masters +horatio +##fat +apes +rebound +psychotic +##pour +iteration +##mium +##vani +botanic +horribly +antiques +dispose +paxton +##hli +##wg +timeless +1704 +disregard +engraver +hounds +##bau +##version +looted +uno +facilitates +groans +masjid +rutland +antibody +disqualification +decatur +footballers +quake +slacks +48th +rein +scribe +stabilize +commits +exemplary +tho +##hort +##chison +pantry +traversed +##hiti +disrepair +identifiable +vibrated +baccalaureate +csa +interviewing +##iensis +##raße +greaves +wealthiest +classed +jogged +£5 +##atal +illuminating +knicks +respecting +##uno +scrubbed +##iji +##dles +kruger +moods +growls +raider +silvia +chefs +kam +cree +percival +##terol +gunter +counterattack +defiant +henan +ze +##rasia +##riety +equivalence +submissions +##fra +##thor +bautista +mechanically +##heater +cornice +herbal +templar +##mering +outputs +ruining +ligand +renumbered +extravagant +mika +blockbuster +eta +insurrection +##ilia +darkening +ferocious +pianos +strife +kinship +##aer +melee +##anor +##iste +##oue +decidedly +weep +##jad +##missive +##ppel +puget +unease +##gnant +1629 +hammering +kassel +wessex +##lga +bromwich +egan +paranoia +utilization +##atable +##idad +contradictory +provoke +##ols +##ouring +##tangled +knesset +##very +##lette +plumbing +##sden +greensboro +occult +sniff +zev +beaming +gamer +haggard +mahal +##olt +##pins +mendes +utmost +briefing +gunnery +##gut +##pher +##zh +##rok +1679 +khalifa +sonya +##boot +principals +urbana +wiring +##liffe +##minating +##rrado +dahl +nyu +skepticism +townspeople +ithaca +lobster +somethin +##fur +##arina +##−1 +freighter +zimmerman +biceps +contractual +##herton +amend +hurrying +subconscious +##anal +meng +clermont +spawning +##eia +##lub +dignitaries +impetus +snacks +spotting +twigs +##bilis +##cz +##ouk +libertadores +nic +skylar +##aina +gustave +asean +##anum +dieter +legislatures +flirt +bromley +trolls +umar +##bbies +##tyle +blah +parc +bridgeport +crank +negligence +##nction +46th +constantin +molded +bandages +seriousness +00pm +siegel +carpets +compartments +upbeat +statehood +##dner +##edging +marko +platt +##hane +paving +##iy +1738 +abbess +impatience +limousine +nbl +lucille +mojo +nightfall +robbers +##nais +karel +brisk +calves +replicate +ascribed +telescopes +##olf +intimidated +ballast +specialization +aerodynamic +caliphate +visionary +##arded +epsilon +##aday +##onte +aggregation +auditory +boosted +reunification +kathmandu +loco +robyn +acknowledges +appointing +humanoid +newell +redeveloped +restraints +##tained +barbarians +chopper +1609 +italiana +##lez +##lho +investigates +wrestlemania +##anies +##bib +##falls +creaked +dragoons +gravely +minions +stupidity +volley +##harat +##week +musik +##eries +##uously +fungal +massimo +semantics +malvern +##ahl +##pee +discourage +embryo +imperialism +1910s +profoundly +##ddled +jiangsu +sparkled +stat +##holz +sweatshirt +tobin +##iction +sneered +##cheon +##oit +brit +causal +smyth +##neuve +diffuse +perrin +silvio +##ipes +##recht +detonated +iqbal +selma +##nism +##zumi +roasted +##riders +tay +##ados +##mament +##mut +##rud +completes +nipples +flavour +hirsch +##laus +calderon +sneakers +moravian +##ksha +1622 +##imeters +bodo +##isance +##pre +##ronia +anatomical +excerpt +##lke +dh +kunst +##tablished +##scoe +biomass +panted +unharmed +gael +housemates +montpellier +coa +rodents +tonic +hickory +singleton +##taro +1719 +aldo +breaststroke +dempsey +och +rocco +##cuit +merton +dissemination +midsummer +serials +##idi +haji +polynomials +enoch +prematurely +shutter +taunton +£3 +##grating +##inates +archangel +harassed +##asco +archway +dazzling +##ecin +1736 +sumo +wat +##kovich +1086 +honneur +##ently +##nostic +##ttal +##idon +1605 +1716 +rents +##gnan +hires +##ikh +##dant +howie +##rons +handler +retracted +shocks +1632 +arun +duluth +kepler +trumpeter +##lary +peeking +seasoned +trooper +##mara +laszlo +##iciencies +##rti +heterosexual +##inatory +indira +jogging +##inga +##lism +beit +dissatisfaction +malice +##ately +nedra +peeling +##rgeon +47th +stadiums +vertigo +##ains +iced +restroom +##plify +##tub +illustrating +pear +##chner +##sibility +inorganic +rappers +receipts +watery +##kura +lucinda +##oulos +reintroduced +##8th +##tched +gracefully +saxons +nutritional +wastewater +rained +favourites +bedrock +fisted +hallways +likeness +upscale +##lateral +1580 +blinds +prequel +##pps +##tama +deter +humiliating +restraining +tn +vents +1659 +laundering +recess +rosary +tractors +coulter +federer +##ifiers +##plin +persistence +##quitable +geschichte +pendulum +quakers +##beam +bassett +pictorial +koln +##sitor +drills +reciprocal +shooters +##cton +##tees +converge +pip +dmitri +donnelly +yamamoto +aqua +azores +demographics +hypnotic +spitfire +suspend +wryly +roderick +##rran +sebastien +##asurable +mavericks +##fles +himalayan +prodigy +##iance +transvaal +demonstrators +handcuffs +dodged +mcnamara +sublime +1726 +crazed +##efined +##till +ivo +pondered +reconciled +shrill +sava +##duk +bal +heresy +jaipur +goran +##nished +lux +shelly +whitehall +##hre +israelis +peacekeeping +##wled +1703 +demetrius +ousted +##arians +##zos +beale +anwar +backstroke +raged +shrinking +cremated +##yck +benign +towing +wadi +darmstadt +landfill +parana +soothe +colleen +sidewalks +mayfair +tumble +hepatitis +ferrer +superstructure +##gingly +##urse +##wee +anthropological +translators +##mies +closeness +hooves +##pw +mondays +##roll +##vita +landscaping +##urized +purification +sock +thorns +thwarted +jalan +tiberius +##taka +saline +##rito +confidently +khyber +sculptors +##ij +brahms +hammersmith +inspectors +battista +fivb +fragmentation +hackney +##uls +arresting +exercising +antoinette +bedfordshire +##zily +dyed +##hema +1656 +racetrack +variability +##tique +1655 +austrians +deteriorating +madman +theorists +aix +lehman +weathered +1731 +decreed +eruptions +1729 +flaw +quinlan +sorbonne +flutes +nunez +1711 +adored +downwards +fable +rasped +1712 +moritz +mouthful +renegade +shivers +stunts +dysfunction +restrain +translit +pancakes +##avio +##cision +##tray +vial +##lden +bain +##maid +##oxide +chihuahua +malacca +vimes +##rba +##rnier +1664 +donnie +plaques +##ually +bangs +floppy +huntsville +loretta +nikolay +##otte +eater +handgun +ubiquitous +##hett +eras +zodiac +1634 +##omorphic +1820s +##zog +cochran +##bula +##lithic +warring +##rada +dalai +excused +blazers +mcconnell +reeling +este +##abi +geese +hoax +taxon +##bla +guitarists +condemning +hunts +inversion +moffat +taekwondo +##lvis +1624 +stammered +##rest +##rzy +sousa +fundraiser +marylebone +navigable +uptown +cabbage +daniela +salman +shitty +whimper +##kian +##utive +programmers +protections +##rmi +##rued +forceful +##enes +fuss +##tao +##wash +brat +oppressive +reykjavik +spartak +ticking +##inkles +##kiewicz +adolph +horst +maui +protege +straighten +cpc +landau +concourse +clements +resultant +##ando +imaginative +joo +reactivated +##rem +##ffled +##uising +consultative +##guide +flop +kaitlyn +mergers +parenting +somber +##vron +supervise +vidhan +##imum +courtship +exemplified +harmonies +medallist +refining +##rrow +##ка +amara +##hum +goalscorer +sited +overshadowed +rohan +displeasure +secretive +multiplied +osman +##orth +engravings +padre +##kali +##veda +miniatures +mis +##yala +clap +pali +rook +##cana +1692 +57th +antennae +astro +oskar +1628 +bulldog +crotch +hackett +yucatan +##sure +amplifiers +brno +ferrara +migrating +##gree +thanking +turing +##eza +mccann +ting +andersson +onslaught +gaines +ganga +incense +standardization +##mation +sentai +scuba +stuffing +turquoise +waivers +alloys +##vitt +regaining +vaults +##clops +##gizing +digger +furry +memorabilia +probing +##iad +payton +rec +deutschland +filippo +opaque +seamen +zenith +afrikaans +##filtration +disciplined +inspirational +##merie +banco +confuse +grafton +tod +##dgets +championed +simi +anomaly +biplane +##ceptive +electrode +##para +1697 +cleavage +crossbow +swirl +informant +##lars +##osta +afi +bonfire +spec +##oux +lakeside +slump +##culus +##lais +##qvist +##rrigan +1016 +facades +borg +inwardly +cervical +pointedly +stabilization +##odon +chests +1699 +hacked +ctv +orthogonal +suzy +##lastic +gaulle +jacobite +rearview +##erted +ashby +##drik +##igate +##mise +##zbek +affectionately +canine +disperse +latham +##istles +##ivar +spielberg +##orin +##idium +ezekiel +cid +##sg +durga +middletown +##cina +customized +frontiers +harden +##etano +##zzy +1604 +bolsheviks +coloration +yoko +##bedo +briefs +slabs +debra +liquidation +plumage +##oin +blossoms +dementia +subsidy +1611 +proctor +relational +jerseys +parochial +ter +##ici +esa +peshawar +cavalier +loren +idiots +shamrock +1646 +dutton +malabar +mustache +##endez +##ocytes +referencing +terminates +marche +yarmouth +##sop +acton +mated +seton +subtly +baptised +beige +extremes +jolted +kristina +telecast +##actic +safeguard +waldo +##baldi +##bular +endeavors +sloppy +subterranean +##ensburg +##itung +delicately +pigment +tq +##scu +1626 +collisions +coveted +herds +##personal +##meister +##nberger +chopra +##ricting +abnormalities +defective +galician +lucie +##dilly +alligator +likened +##genase +burundi +clears +complexion +derelict +deafening +diablo +fingered +champaign +dogg +enlist +isotope +labeling +mrna +##erre +brilliance +marvelous +##ayo +1652 +crawley +ether +footed +dwellers +deserts +hamish +rubs +warlock +skimmed +##lizer +buick +embark +heraldic +irregularities +##ajan +kiara +##kulam +##ieg +antigen +kowalski +##lge +oakley +visitation +##mbit +vt +##suit +1570 +murderers +##miento +##rites +chimneys +##sling +condemn +custer +exchequer +havre +##ghi +fluctuations +##rations +dfb +hendricks +vaccines +##tarian +nietzsche +biking +juicy +##duced +brooding +scrolling +selangor +##ragan +annum +boomed +seminole +sugarcane +##dna +departmental +dismissing +innsbruck +arteries +ashok +batavia +daze +kun +overtook +##rga +##tlan +beheaded +gaddafi +holm +electronically +faulty +galilee +fractures +kobayashi +##lized +gunmen +magma +aramaic +mala +eastenders +inference +messengers +bf +##qu +bathrooms +##vere +1658 +flashbacks +ideally +misunderstood +##jali +##weather +mendez +##grounds +uncanny +##iii +1709 +friendships +##nbc +sacrament +accommodated +reiterated +logistical +pebbles +thumped +##escence +administering +decrees +drafts +##flight +##cased +##tula +futuristic +picket +intimidation +winthrop +##fahan +interfered +afar +francoise +morally +uta +cochin +croft +dwarfs +##bruck +##dents +##nami +biker +##hner +##meral +##isen +##ometric +##pres +##ан +brightened +meek +parcels +securely +gunners +##jhl +##zko +agile +hysteria +##lten +##rcus +bukit +champs +chevy +cuckoo +leith +sadler +theologians +welded +##section +1663 +plurality +xander +##rooms +##formed +shredded +temps +intimately +pau +tormented +##lok +##stellar +1618 +charred +essen +##mmel +alarms +spraying +ascot +blooms +twinkle +##abia +##apes +internment +obsidian +##chaft +snoop +##dav +##ooping +malibu +##tension +quiver +##itia +hays +mcintosh +travers +walsall +##ffie +1623 +beverley +schwarz +plunging +structurally +rosenthal +vikram +##tsk +ghz +##onda +##tiv +chalmers +groningen +pew +reckon +unicef +##rvis +55th +##gni +1651 +sulawesi +avila +cai +metaphysical +screwing +turbulence +##mberg +augusto +samba +56th +baffled +momentary +toxin +##urian +##wani +aachen +condoms +dali +steppe +##oed +##year +adolescence +dauphin +electrically +inaccessible +microscopy +nikita +##ega +atv +##enter +##oles +##oteric +accountants +punishments +wrongly +bribes +adventurous +clinch +flinders +southland +##hem +##kata +gough +##ciency +lads +soared +##ה +undergoes +deformation +outlawed +rubbish +##arus +##mussen +##nidae +##rzburg +arcs +##ingdon +##tituted +1695 +wheelbase +wheeling +bombardier +campground +zebra +##lices +##oj +##bain +lullaby +##ecure +donetsk +wylie +grenada +##arding +##ης +squinting +eireann +opposes +##andra +maximal +runes +##broken +##cuting +##iface +##ror +##rosis +additive +britney +adultery +triggering +##drome +detrimental +aarhus +containment +jc +swapped +vichy +##ioms +madly +##oric +##rag +brant +##ckey +1560 +1612 +broughton +rustling +##stems +##uder +asbestos +mentoring +##nivorous +finley +leaps +##isan +apical +pry +slits +substitutes +##dict +intuitive +fantasia +insistent +unreasonable +##igen +##vna +domed +hannover +margot +ponder +##zziness +impromptu +jian +rampage +stemming +##eft +andrey +gerais +whichever +amnesia +appropriated +anzac +clicks +modifying +ultimatum +cambrian +maids +verve +yellowstone +##mbs +conservatoire +##scribe +adherence +dinners +spectra +imperfect +mysteriously +sidekick +tatar +tuba +##aks +##ifolia +distrust +##athan +##zle +ronin +zac +##pse +celaena +instrumentalist +scents +skopje +##mbling +comical +compensated +vidal +condor +intersect +jingle +wavelengths +##urrent +mcqueen +##izzly +carp +weasel +militias +postdoctoral +eugen +gunslinger +##ɛ +faux +hospice +##for +appalled +derivation +dwarves +##elis +dilapidated +##folk +astoria +philology +##lwyn +##otho +##saka +inducing +philanthropy +##bf +##itative +geek +markedly +##yce +bessie +indices +##flict +frowns +resolving +weightlifting +tugs +cleric +contentious +1653 +mania +rms +##miya +##reate +##ruck +##tucket +bien +eels +marek +##ayton +##cence +discreet +unofficially +##ife +leaks +##bber +1705 +dung +compressor +hillsborough +pandit +shillings +distal +##skin +##tat +nosed +##nir +mangrove +undeveloped +##idia +textures +##inho +##rise +irritating +nay +amazingly +bancroft +apologetic +compassionate +kata +symphonies +##lovic +airspace +##lch +gifford +precautions +fulfillment +sevilla +vulgar +martinique +##urities +looting +piccolo +tidy +##dermott +quadrant +armchair +incomes +mathematicians +stampede +nilsson +##inking +##scan +foo +quarterfinal +##ostal +shang +shouldered +squirrels +##owe +vinegar +##bner +##rchy +##systems +delaying +##trics +ars +dwyer +rhapsody +sponsoring +##gration +bipolar +cinder +starters +##olio +##urst +signage +##nty +aground +figurative +mons +acquaintances +duets +erroneously +soyuz +elliptic +recreated +##cultural +##quette +##ssed +##tma +##zcz +moderator +scares +##itaire +##stones +##udence +juniper +sighting +##just +##nsen +britten +calabria +ry +bop +cramer +forsyth +stillness +airmen +gathers +unfit +##umber +##upt +taunting +seeker +streamlined +##bution +holster +schumann +tread +vox +##gano +##onzo +strive +dil +reforming +covent +newbury +predicting +##orro +decorate +tre +##puted +andover +asahi +dept +dunkirk +gills +##tori +buren +huskies +##stis +##stov +abstracts +bets +loosen +##opa +1682 +yearning +##glio +##sir +berman +effortlessly +enamel +napoli +persist +##peration +##uez +attache +elisa +invitations +##kic +accelerating +reindeer +boardwalk +clutches +nelly +polka +##kei +adamant +huey +lough +unbroken +adventurer +embroidery +inspecting +stanza +##ducted +naia +taluka +##pone +##roids +chases +deprivation +florian +##ppet +earthly +##lib +##ssee +colossal +foreigner +vet +freaks +patrice +rosewood +triassic +upstate +##pkins +dominates +ata +chants +ks +vo +##bley +##raya +##rmed +agra +infiltrate +##ailing +##ilation +##tzer +##uppe +##werk +binoculars +enthusiast +fujian +squeak +##avs +abolitionist +almeida +boredom +hampstead +marsden +rations +##ands +inflated +bonuses +rosalie +patna +##rco +detachments +penitentiary +54th +flourishing +woolf +##dion +##etched +papyrus +##lster +##nsor +##toy +bobbed +dismounted +endelle +inhuman +motorola +wince +wreath +##ticus +hideout +inspections +sanjay +disgrace +infused +pudding +stalks +##urbed +arsenic +leases +##hyl +##rrard +collarbone +##waite +##wil +dowry +##bant +##edance +genealogical +nitrate +salamanca +scandals +thyroid +necessitated +##` +##¡ +##¢ +##¦ +##¨ +##ª +##¬ +##´ +##¶ +##¾ +##¿ +##ð +##þ +##ħ +##œ +##ƒ +##ɐ +##ɑ +##ɒ +##ɕ +##ɣ +##ɨ +##ɪ +##ɫ +##ɬ +##ɯ +##ɲ +##ɴ +##ɹ +##ɾ +##ʀ +##ʁ +##ʂ +##ʃ +##ʉ +##ʊ +##ʋ +##ʌ +##ʎ +##ʐ +##ʑ +##ʒ +##ʔ +##ʲ +##ʳ +##ʷ +##ʸ +##ʻ +##ʼ +##ʾ +##ʿ +##ˡ +##ˣ +##ˤ +##ζ +##ξ +##щ +##ъ +##э +##ю +##ђ +##є +##ј +##љ +##њ +##ћ +##ӏ +##ա +##բ +##գ +##դ +##ե +##թ +##ի +##լ +##կ +##հ +##մ +##յ +##ն +##ո +##պ +##ս +##վ +##տ +##ր +##ւ +##ք +##־ +##א +##ב +##ג +##ד +##ו +##ז +##ח +##ט +##י +##ך +##כ +##ל +##ם +##מ +##ן +##נ +##ס +##ע +##ף +##פ +##ץ +##צ +##ק +##ר +##ש +##ת +##، +##ء +##ث +##ج +##ح +##خ +##ذ +##ز +##ش +##ص +##ض +##ط +##ظ +##غ +##ـ +##ف +##ق +##ك +##ى +##ٹ +##پ +##چ +##ک +##گ +##ں +##ھ +##ہ +##ے +##अ +##आ +##उ +##ए +##क +##ख +##ग +##च +##ज +##ट +##ड +##ण +##त +##थ +##द +##ध +##न +##प +##ब +##भ +##म +##य +##र +##ल +##व +##श +##ष +##स +##ह +##ा +##ि +##ी +##ो +##। +##॥ +##ং +##অ +##আ +##ই +##উ +##এ +##ও +##ক +##খ +##গ +##চ +##ছ +##জ +##ট +##ড +##ণ +##ত +##থ +##দ +##ধ +##ন +##প +##ব +##ভ +##ম +##য +##র +##ল +##শ +##ষ +##স +##হ +##া +##ি +##ী +##ে +##க +##ச +##ட +##த +##ந +##ன +##ப +##ம +##ய +##ர +##ல +##ள +##வ +##ா +##ி +##ு +##ே +##ை +##ನ +##ರ +##ಾ +##ක +##ය +##ර +##ල +##ව +##ා +##ต +##ท +##พ +##ล +##ว +##ส +##། +##ག +##ང +##ད +##ན +##པ +##བ +##མ +##འ +##ར +##ལ +##ས +##မ +##ა +##ბ +##გ +##დ +##ე +##ვ +##თ +##ი +##კ +##ლ +##მ +##ნ +##ო +##რ +##ს +##ტ +##უ +##ᄊ +##ᴬ +##ᴮ +##ᴰ +##ᴵ +##ᴺ +##ᵀ +##ᵇ +##ᵈ +##ᵖ +##ᵗ +##ᵣ +##ᵤ +##ᵥ +##ᶜ +##ᶠ +##‐ +##‑ +##‒ +##– +##— +##― +##‘ +##’ +##‚ +##“ +##” +##‡ +##… +##⁰ +##⁴ +##⁵ +##⁶ +##⁷ +##⁸ +##⁹ +##⁻ +##₅ +##₆ +##₇ +##₈ +##₉ +##₊ +##₍ +##₎ +##ₐ +##ₑ +##ₒ +##ₓ +##ₕ +##ₖ +##ₗ +##ₘ +##ₚ +##ₛ +##ₜ +##₤ +##₩ +##₱ +##₹ +##ℓ +##ℝ +##⅓ +##⅔ +##↦ +##⇄ +##⇌ +##∂ +##∅ +##∆ +##∇ +##∈ +##∗ +##∘ +##∧ +##∨ +##∪ +##⊂ +##⊆ +##⊕ +##⊗ +##☉ +##♯ +##⟨ +##⟩ +##ⱼ +##⺩ +##⺼ +##⽥ +##亻 +##宀 +##彳 +##忄 +##扌 +##氵 +##疒 +##糹 +##訁 +##辶 +##阝 +##龸 +##fi +##fl diff --git a/comfy/text_encoders/llama.py b/comfy/text_encoders/llama.py new file mode 100644 index 0000000000000000000000000000000000000000..ad4b4623eb791fa08946fcb6bc2b478267af10c0 --- /dev/null +++ b/comfy/text_encoders/llama.py @@ -0,0 +1,226 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from dataclasses import dataclass +from typing import Optional, Any + +from comfy.ldm.modules.attention import optimized_attention_for_device +import comfy.model_management +import comfy.ldm.common_dit + +import comfy.model_management + +@dataclass +class Llama2Config: + vocab_size: int = 128320 + hidden_size: int = 4096 + intermediate_size: int = 14336 + num_hidden_layers: int = 32 + num_attention_heads: int = 32 + num_key_value_heads: int = 8 + max_position_embeddings: int = 8192 + rms_norm_eps: float = 1e-5 + rope_theta: float = 500000.0 + +class RMSNorm(nn.Module): + def __init__(self, dim: int, eps: float = 1e-5, device=None, dtype=None): + super().__init__() + self.eps = eps + self.weight = nn.Parameter(torch.empty(dim, device=device, dtype=dtype)) + + def forward(self, x: torch.Tensor): + return comfy.ldm.common_dit.rms_norm(x, self.weight, self.eps) + + +def rotate_half(x): + """Rotates half the hidden dims of the input.""" + x1 = x[..., : x.shape[-1] // 2] + x2 = x[..., x.shape[-1] // 2 :] + return torch.cat((-x2, x1), dim=-1) + + +def precompute_freqs_cis(head_dim, seq_len, theta, device=None): + theta_numerator = torch.arange(0, head_dim, 2, device=device).float() + inv_freq = 1.0 / (theta ** (theta_numerator / head_dim)) + + position_ids = torch.arange(0, seq_len, device=device).unsqueeze(0) + + inv_freq_expanded = inv_freq[None, :, None].float().expand(position_ids.shape[0], -1, 1) + position_ids_expanded = position_ids[:, None, :].float() + freqs = (inv_freq_expanded.float() @ position_ids_expanded.float()).transpose(1, 2) + emb = torch.cat((freqs, freqs), dim=-1) + cos = emb.cos() + sin = emb.sin() + return (cos, sin) + + +def apply_rope(xq, xk, freqs_cis): + cos = freqs_cis[0].unsqueeze(1) + sin = freqs_cis[1].unsqueeze(1) + q_embed = (xq * cos) + (rotate_half(xq) * sin) + k_embed = (xk * cos) + (rotate_half(xk) * sin) + return q_embed, k_embed + + +class Attention(nn.Module): + def __init__(self, config: Llama2Config, device=None, dtype=None, ops: Any = None): + super().__init__() + self.num_heads = config.num_attention_heads + self.num_kv_heads = config.num_key_value_heads + self.hidden_size = config.hidden_size + self.head_dim = self.hidden_size // self.num_heads + + ops = ops or nn + self.q_proj = ops.Linear(config.hidden_size, config.hidden_size, bias=False, device=device, dtype=dtype) + self.k_proj = ops.Linear(config.hidden_size, self.num_kv_heads * self.head_dim, bias=False, device=device, dtype=dtype) + self.v_proj = ops.Linear(config.hidden_size, self.num_kv_heads * self.head_dim, bias=False, device=device, dtype=dtype) + self.o_proj = ops.Linear(config.hidden_size, config.hidden_size, bias=False, device=device, dtype=dtype) + + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + freqs_cis: Optional[torch.Tensor] = None, + optimized_attention=None, + ): + batch_size, seq_length, _ = hidden_states.shape + + xq = self.q_proj(hidden_states) + xk = self.k_proj(hidden_states) + xv = self.v_proj(hidden_states) + + xq = xq.view(batch_size, seq_length, self.num_heads, self.head_dim).transpose(1, 2) + xk = xk.view(batch_size, seq_length, self.num_kv_heads, self.head_dim).transpose(1, 2) + xv = xv.view(batch_size, seq_length, self.num_kv_heads, self.head_dim).transpose(1, 2) + + xq, xk = apply_rope(xq, xk, freqs_cis=freqs_cis) + + xk = xk.repeat_interleave(self.num_heads // self.num_kv_heads, dim=1) + xv = xv.repeat_interleave(self.num_heads // self.num_kv_heads, dim=1) + + output = optimized_attention(xq, xk, xv, self.num_heads, mask=attention_mask, skip_reshape=True) + return self.o_proj(output) + +class MLP(nn.Module): + def __init__(self, config: Llama2Config, device=None, dtype=None, ops: Any = None): + super().__init__() + ops = ops or nn + self.gate_proj = ops.Linear(config.hidden_size, config.intermediate_size, bias=False, device=device, dtype=dtype) + self.up_proj = ops.Linear(config.hidden_size, config.intermediate_size, bias=False, device=device, dtype=dtype) + self.down_proj = ops.Linear(config.intermediate_size, config.hidden_size, bias=False, device=device, dtype=dtype) + + def forward(self, x): + return self.down_proj(F.silu(self.gate_proj(x)) * self.up_proj(x)) + +class TransformerBlock(nn.Module): + def __init__(self, config: Llama2Config, device=None, dtype=None, ops: Any = None): + super().__init__() + self.self_attn = Attention(config, device=device, dtype=dtype, ops=ops) + self.mlp = MLP(config, device=device, dtype=dtype, ops=ops) + self.input_layernorm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps, device=device, dtype=dtype) + self.post_attention_layernorm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps, device=device, dtype=dtype) + + def forward( + self, + x: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + freqs_cis: Optional[torch.Tensor] = None, + optimized_attention=None, + ): + # Self Attention + residual = x + x = self.input_layernorm(x) + x = self.self_attn( + hidden_states=x, + attention_mask=attention_mask, + freqs_cis=freqs_cis, + optimized_attention=optimized_attention, + ) + x = residual + x + + # MLP + residual = x + x = self.post_attention_layernorm(x) + x = self.mlp(x) + x = residual + x + + return x + +class Llama2_(nn.Module): + def __init__(self, config, device=None, dtype=None, ops=None): + super().__init__() + self.config = config + self.vocab_size = config.vocab_size + + self.embed_tokens = ops.Embedding( + config.vocab_size, + config.hidden_size, + device=device, + dtype=dtype + ) + self.layers = nn.ModuleList([ + TransformerBlock(config, device=device, dtype=dtype, ops=ops) + for _ in range(config.num_hidden_layers) + ]) + self.norm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps, device=device, dtype=dtype) + # self.lm_head = ops.Linear(config.hidden_size, config.vocab_size, bias=False, device=device, dtype=dtype) + + def forward(self, x, attention_mask=None, intermediate_output=None, final_layer_norm_intermediate=True, dtype=None): + x = self.embed_tokens(x, out_dtype=dtype) + + freqs_cis = precompute_freqs_cis(self.config.hidden_size // self.config.num_attention_heads, + x.shape[1], + self.config.rope_theta, + device=x.device) + + mask = None + if attention_mask is not None: + mask = 1.0 - attention_mask.to(x.dtype).reshape((attention_mask.shape[0], 1, -1, attention_mask.shape[-1])).expand(attention_mask.shape[0], 1, attention_mask.shape[-1], attention_mask.shape[-1]) + mask = mask.masked_fill(mask.to(torch.bool), float("-inf")) + + causal_mask = torch.empty(x.shape[1], x.shape[1], dtype=x.dtype, device=x.device).fill_(float("-inf")).triu_(1) + if mask is not None: + mask += causal_mask + else: + mask = causal_mask + optimized_attention = optimized_attention_for_device(x.device, mask=mask is not None, small_input=True) + + intermediate = None + if intermediate_output is not None: + if intermediate_output < 0: + intermediate_output = len(self.layers) + intermediate_output + + for i, layer in enumerate(self.layers): + x = layer( + x=x, + attention_mask=mask, + freqs_cis=freqs_cis, + optimized_attention=optimized_attention, + ) + if i == intermediate_output: + intermediate = x.clone() + + x = self.norm(x) + if intermediate is not None and final_layer_norm_intermediate: + intermediate = self.norm(intermediate) + + return x, intermediate + + +class Llama2(torch.nn.Module): + def __init__(self, config_dict, dtype, device, operations): + super().__init__() + config = Llama2Config(**config_dict) + self.num_layers = config.num_hidden_layers + + self.model = Llama2_(config, device=device, dtype=dtype, ops=operations) + self.dtype = dtype + + def get_input_embeddings(self): + return self.model.embed_tokens + + def set_input_embeddings(self, embeddings): + self.model.embed_tokens = embeddings + + def forward(self, input_ids, *args, **kwargs): + return self.model(input_ids, *args, **kwargs) diff --git a/comfy/text_encoders/llama_tokenizer/tokenizer.json b/comfy/text_encoders/llama_tokenizer/tokenizer.json new file mode 100644 index 0000000000000000000000000000000000000000..99f23954b4bade407d4f3a18892f21f80b412d68 --- /dev/null +++ b/comfy/text_encoders/llama_tokenizer/tokenizer.json @@ -0,0 +1,410579 @@ +{ + "version": "1.0", + "truncation": null, + "padding": null, + "added_tokens": [ + { + "id": 128000, + "content": "<|begin_of_text|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128001, + "content": "<|end_of_text|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128002, + "content": "<|reserved_special_token_0|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128003, + "content": "<|reserved_special_token_1|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128004, + "content": "<|reserved_special_token_2|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128005, + "content": "<|reserved_special_token_3|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128006, + "content": "<|start_header_id|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128007, + "content": "<|end_header_id|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128008, + "content": "<|reserved_special_token_4|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128009, + "content": "<|eot_id|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128010, + "content": "<|reserved_special_token_5|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128011, + "content": "<|reserved_special_token_6|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128012, + "content": "<|reserved_special_token_7|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128013, + "content": "<|reserved_special_token_8|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128014, + "content": "<|reserved_special_token_9|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128015, + "content": "<|reserved_special_token_10|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128016, + "content": "<|reserved_special_token_11|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128017, + "content": "<|reserved_special_token_12|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128018, + "content": "<|reserved_special_token_13|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128019, + "content": "<|reserved_special_token_14|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128020, + "content": "<|reserved_special_token_15|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128021, + "content": "<|reserved_special_token_16|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128022, + "content": "<|reserved_special_token_17|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128023, + "content": "<|reserved_special_token_18|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128024, + "content": "<|reserved_special_token_19|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128025, + "content": "<|reserved_special_token_20|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128026, + "content": "<|reserved_special_token_21|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128027, + "content": "<|reserved_special_token_22|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128028, + "content": "<|reserved_special_token_23|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128029, + "content": "<|reserved_special_token_24|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128030, + "content": "<|reserved_special_token_25|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128031, + "content": "<|reserved_special_token_26|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128032, + "content": "<|reserved_special_token_27|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128033, + "content": "<|reserved_special_token_28|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128034, + "content": "<|reserved_special_token_29|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128035, + "content": "<|reserved_special_token_30|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128036, + "content": "<|reserved_special_token_31|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128037, + "content": "<|reserved_special_token_32|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128038, + "content": "<|reserved_special_token_33|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128039, + "content": "<|reserved_special_token_34|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128040, + "content": "<|reserved_special_token_35|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128041, + "content": "<|reserved_special_token_36|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128042, + "content": "<|reserved_special_token_37|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128043, + "content": "<|reserved_special_token_38|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128044, + "content": "<|reserved_special_token_39|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128045, + "content": "<|reserved_special_token_40|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128046, + "content": "<|reserved_special_token_41|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128047, + "content": "<|reserved_special_token_42|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128048, + "content": "<|reserved_special_token_43|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128049, + "content": "<|reserved_special_token_44|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128050, + "content": "<|reserved_special_token_45|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128051, + "content": "<|reserved_special_token_46|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128052, + "content": "<|reserved_special_token_47|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128053, + "content": "<|reserved_special_token_48|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128054, + "content": "<|reserved_special_token_49|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128055, + "content": "<|reserved_special_token_50|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128056, + "content": "<|reserved_special_token_51|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128057, + "content": "<|reserved_special_token_52|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128058, + "content": "<|reserved_special_token_53|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128059, + "content": "<|reserved_special_token_54|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128060, + "content": "<|reserved_special_token_55|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128061, + "content": "<|reserved_special_token_56|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128062, + "content": "<|reserved_special_token_57|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128063, + "content": "<|reserved_special_token_58|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128064, + "content": "<|reserved_special_token_59|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128065, + "content": "<|reserved_special_token_60|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128066, + "content": "<|reserved_special_token_61|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128067, + "content": "<|reserved_special_token_62|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128068, + "content": "<|reserved_special_token_63|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128069, + "content": "<|reserved_special_token_64|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128070, + "content": "<|reserved_special_token_65|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128071, + "content": "<|reserved_special_token_66|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128072, + "content": "<|reserved_special_token_67|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128073, + "content": "<|reserved_special_token_68|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128074, + "content": "<|reserved_special_token_69|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128075, + "content": "<|reserved_special_token_70|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128076, + "content": "<|reserved_special_token_71|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128077, + "content": "<|reserved_special_token_72|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128078, + "content": "<|reserved_special_token_73|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128079, + "content": "<|reserved_special_token_74|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128080, + "content": "<|reserved_special_token_75|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128081, + "content": "<|reserved_special_token_76|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128082, + "content": "<|reserved_special_token_77|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128083, + "content": "<|reserved_special_token_78|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128084, + "content": "<|reserved_special_token_79|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128085, + "content": "<|reserved_special_token_80|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128086, + "content": "<|reserved_special_token_81|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128087, + "content": "<|reserved_special_token_82|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128088, + "content": "<|reserved_special_token_83|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128089, + "content": "<|reserved_special_token_84|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128090, + "content": "<|reserved_special_token_85|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128091, + "content": "<|reserved_special_token_86|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128092, + "content": "<|reserved_special_token_87|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128093, + "content": "<|reserved_special_token_88|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128094, + "content": "<|reserved_special_token_89|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128095, + "content": "<|reserved_special_token_90|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128096, + "content": "<|reserved_special_token_91|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128097, + "content": "<|reserved_special_token_92|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128098, + "content": "<|reserved_special_token_93|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128099, + "content": "<|reserved_special_token_94|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128100, + "content": "<|reserved_special_token_95|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128101, + "content": "<|reserved_special_token_96|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128102, + "content": "<|reserved_special_token_97|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128103, + "content": "<|reserved_special_token_98|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128104, + "content": "<|reserved_special_token_99|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128105, + "content": "<|reserved_special_token_100|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128106, + "content": "<|reserved_special_token_101|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128107, + "content": "<|reserved_special_token_102|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128108, + "content": "<|reserved_special_token_103|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128109, + "content": "<|reserved_special_token_104|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128110, + "content": "<|reserved_special_token_105|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128111, + "content": "<|reserved_special_token_106|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128112, + "content": "<|reserved_special_token_107|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128113, + "content": "<|reserved_special_token_108|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128114, + "content": "<|reserved_special_token_109|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128115, + "content": "<|reserved_special_token_110|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128116, + "content": "<|reserved_special_token_111|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128117, + "content": "<|reserved_special_token_112|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128118, + "content": "<|reserved_special_token_113|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128119, + "content": "<|reserved_special_token_114|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128120, + "content": "<|reserved_special_token_115|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128121, + "content": "<|reserved_special_token_116|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128122, + "content": "<|reserved_special_token_117|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128123, + "content": "<|reserved_special_token_118|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128124, + "content": "<|reserved_special_token_119|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128125, + "content": "<|reserved_special_token_120|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128126, + "content": "<|reserved_special_token_121|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128127, + "content": "<|reserved_special_token_122|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128128, + "content": "<|reserved_special_token_123|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128129, + "content": "<|reserved_special_token_124|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128130, + "content": "<|reserved_special_token_125|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128131, + "content": "<|reserved_special_token_126|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128132, + "content": "<|reserved_special_token_127|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128133, + "content": "<|reserved_special_token_128|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128134, + "content": "<|reserved_special_token_129|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128135, + "content": "<|reserved_special_token_130|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128136, + "content": "<|reserved_special_token_131|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128137, + "content": "<|reserved_special_token_132|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128138, + "content": "<|reserved_special_token_133|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128139, + "content": "<|reserved_special_token_134|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128140, + "content": "<|reserved_special_token_135|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128141, + "content": "<|reserved_special_token_136|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128142, + "content": "<|reserved_special_token_137|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128143, + "content": "<|reserved_special_token_138|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128144, + "content": "<|reserved_special_token_139|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128145, + "content": "<|reserved_special_token_140|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128146, + "content": "<|reserved_special_token_141|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128147, + "content": "<|reserved_special_token_142|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128148, + "content": "<|reserved_special_token_143|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128149, + "content": "<|reserved_special_token_144|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128150, + "content": "<|reserved_special_token_145|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128151, + "content": "<|reserved_special_token_146|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128152, + "content": "<|reserved_special_token_147|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128153, + "content": "<|reserved_special_token_148|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128154, + "content": "<|reserved_special_token_149|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128155, + "content": "<|reserved_special_token_150|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128156, + "content": "<|reserved_special_token_151|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128157, + "content": "<|reserved_special_token_152|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128158, + "content": "<|reserved_special_token_153|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128159, + "content": "<|reserved_special_token_154|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128160, + "content": "<|reserved_special_token_155|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128161, + "content": "<|reserved_special_token_156|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128162, + "content": "<|reserved_special_token_157|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128163, + "content": "<|reserved_special_token_158|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128164, + "content": "<|reserved_special_token_159|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128165, + "content": "<|reserved_special_token_160|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128166, + "content": "<|reserved_special_token_161|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128167, + "content": "<|reserved_special_token_162|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128168, + "content": "<|reserved_special_token_163|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128169, + "content": "<|reserved_special_token_164|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128170, + "content": "<|reserved_special_token_165|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128171, + "content": "<|reserved_special_token_166|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128172, + "content": "<|reserved_special_token_167|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128173, + "content": "<|reserved_special_token_168|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128174, + "content": "<|reserved_special_token_169|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128175, + "content": "<|reserved_special_token_170|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128176, + "content": "<|reserved_special_token_171|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128177, + "content": "<|reserved_special_token_172|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128178, + "content": "<|reserved_special_token_173|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128179, + "content": "<|reserved_special_token_174|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128180, + "content": "<|reserved_special_token_175|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128181, + "content": "<|reserved_special_token_176|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128182, + "content": "<|reserved_special_token_177|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128183, + "content": "<|reserved_special_token_178|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128184, + "content": "<|reserved_special_token_179|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128185, + "content": "<|reserved_special_token_180|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128186, + "content": "<|reserved_special_token_181|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128187, + "content": "<|reserved_special_token_182|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128188, + "content": "<|reserved_special_token_183|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128189, + "content": "<|reserved_special_token_184|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128190, + "content": "<|reserved_special_token_185|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128191, + "content": "<|reserved_special_token_186|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128192, + "content": "<|reserved_special_token_187|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128193, + "content": "<|reserved_special_token_188|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128194, + "content": "<|reserved_special_token_189|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128195, + "content": "<|reserved_special_token_190|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128196, + "content": "<|reserved_special_token_191|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128197, + "content": "<|reserved_special_token_192|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128198, + "content": "<|reserved_special_token_193|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128199, + "content": "<|reserved_special_token_194|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128200, + "content": "<|reserved_special_token_195|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128201, + "content": "<|reserved_special_token_196|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128202, + "content": "<|reserved_special_token_197|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128203, + "content": "<|reserved_special_token_198|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128204, + "content": "<|reserved_special_token_199|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128205, + "content": "<|reserved_special_token_200|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128206, + "content": "<|reserved_special_token_201|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128207, + "content": "<|reserved_special_token_202|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128208, + "content": "<|reserved_special_token_203|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128209, + "content": "<|reserved_special_token_204|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128210, + "content": "<|reserved_special_token_205|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128211, + "content": "<|reserved_special_token_206|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128212, + "content": "<|reserved_special_token_207|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128213, + "content": "<|reserved_special_token_208|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128214, + "content": "<|reserved_special_token_209|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128215, + "content": "<|reserved_special_token_210|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128216, + "content": "<|reserved_special_token_211|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128217, + "content": "<|reserved_special_token_212|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128218, + "content": "<|reserved_special_token_213|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128219, + "content": "<|reserved_special_token_214|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128220, + "content": "<|reserved_special_token_215|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128221, + "content": "<|reserved_special_token_216|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128222, + "content": "<|reserved_special_token_217|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128223, + "content": "<|reserved_special_token_218|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128224, + "content": "<|reserved_special_token_219|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128225, + "content": "<|reserved_special_token_220|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128226, + "content": "<|reserved_special_token_221|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128227, + "content": "<|reserved_special_token_222|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128228, + "content": "<|reserved_special_token_223|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128229, + "content": "<|reserved_special_token_224|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128230, + "content": "<|reserved_special_token_225|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128231, + "content": "<|reserved_special_token_226|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128232, + "content": "<|reserved_special_token_227|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128233, + "content": "<|reserved_special_token_228|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128234, + "content": "<|reserved_special_token_229|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128235, + "content": "<|reserved_special_token_230|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128236, + "content": "<|reserved_special_token_231|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128237, + "content": "<|reserved_special_token_232|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128238, + "content": "<|reserved_special_token_233|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128239, + "content": "<|reserved_special_token_234|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128240, + "content": "<|reserved_special_token_235|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128241, + "content": "<|reserved_special_token_236|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128242, + "content": "<|reserved_special_token_237|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128243, + "content": "<|reserved_special_token_238|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128244, + "content": "<|reserved_special_token_239|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128245, + "content": "<|reserved_special_token_240|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128246, + "content": "<|reserved_special_token_241|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128247, + "content": "<|reserved_special_token_242|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128248, + "content": "<|reserved_special_token_243|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128249, + "content": "<|reserved_special_token_244|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128250, + "content": "<|reserved_special_token_245|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128251, + "content": "<|reserved_special_token_246|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128252, + "content": "<|reserved_special_token_247|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128253, + "content": "<|reserved_special_token_248|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128254, + "content": "<|reserved_special_token_249|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128255, + "content": "<|reserved_special_token_250|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128256, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128257, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128258, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + } + ], + "normalizer": null, + "pre_tokenizer": { + "type": "Sequence", + "pretokenizers": [ + { + "type": "Split", + "pattern": { + "Regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?\\p{L}+|\\p{N}{1,3}| ?[^\\s\\p{L}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+" + }, + "behavior": "Isolated", + "invert": false + }, + { + "type": "ByteLevel", + "add_prefix_space": false, + "trim_offsets": true, + "use_regex": false + } + ] + }, + "post_processor": { + "type": "TemplateProcessing", + "single": [ + { + "SpecialToken": { + "id": "<|begin_of_text|>", + "type_id": 0 + } + }, + { + "Sequence": { + "id": "A", + "type_id": 0 + } + } + ], + "pair": [ + { + "SpecialToken": { + "id": "<|begin_of_text|>", + "type_id": 0 + } + }, + { + "Sequence": { + "id": "A", + "type_id": 0 + } + }, + { + "SpecialToken": { + "id": "<|begin_of_text|>", + "type_id": 1 + } + }, + { + "Sequence": { + "id": "B", + "type_id": 1 + } + } + ], + "special_tokens": { + "<|begin_of_text|>": { + "id": "<|begin_of_text|>", + "ids": [ + 128000 + ], + "tokens": [ + "<|begin_of_text|>" + ] + } + } + }, + "decoder": { + "type": "ByteLevel", + "add_prefix_space": true, + "trim_offsets": true, + "use_regex": true + }, + "model": { + "type": "BPE", + "dropout": null, + "unk_token": null, + "continuing_subword_prefix": null, + "end_of_word_suffix": null, + "fuse_unk": false, + "byte_fallback": false, + "ignore_merges": true, + "vocab": { + "!": 0, + "\"": 1, + "#": 2, + "$": 3, + "%": 4, + "&": 5, + "'": 6, + "(": 7, + ")": 8, + "*": 9, + "+": 10, + ",": 11, + "-": 12, + ".": 13, + "/": 14, + "0": 15, + "1": 16, + "2": 17, + "3": 18, + "4": 19, + "5": 20, + "6": 21, + "7": 22, + "8": 23, + "9": 24, + ":": 25, + ";": 26, + "<": 27, + "=": 28, + ">": 29, + "?": 30, + "@": 31, + "A": 32, + "B": 33, + "C": 34, + "D": 35, + "E": 36, + "F": 37, + "G": 38, + "H": 39, + "I": 40, + "J": 41, + "K": 42, + "L": 43, + "M": 44, + "N": 45, + "O": 46, + "P": 47, + "Q": 48, + "R": 49, + "S": 50, + "T": 51, + "U": 52, + "V": 53, + "W": 54, + "X": 55, + "Y": 56, + "Z": 57, + "[": 58, + "\\": 59, + "]": 60, + "^": 61, + "_": 62, + "`": 63, + "a": 64, + "b": 65, + "c": 66, + "d": 67, + "e": 68, + "f": 69, + "g": 70, + "h": 71, + "i": 72, + "j": 73, + "k": 74, + "l": 75, + "m": 76, + "n": 77, + "o": 78, + "p": 79, + "q": 80, + "r": 81, + "s": 82, + "t": 83, + "u": 84, + "v": 85, + "w": 86, + "x": 87, + "y": 88, + "z": 89, + "{": 90, + "|": 91, + "}": 92, + "~": 93, + "¡": 94, + "¢": 95, + "£": 96, + "¤": 97, + "¥": 98, + "¦": 99, + "§": 100, + "¨": 101, + "©": 102, + "ª": 103, + "«": 104, + "¬": 105, + "®": 106, + "¯": 107, + "°": 108, + "±": 109, + "²": 110, + "³": 111, + "´": 112, + "µ": 113, + "¶": 114, + "·": 115, + "¸": 116, + "¹": 117, + "º": 118, + "»": 119, + "¼": 120, + "½": 121, + "¾": 122, + "¿": 123, + "À": 124, + "Á": 125, + "Â": 126, + "Ã": 127, + "Ä": 128, + "Å": 129, + "Æ": 130, + "Ç": 131, + "È": 132, + "É": 133, + "Ê": 134, + "Ë": 135, + "Ì": 136, + "Í": 137, + "Î": 138, + "Ï": 139, + "Ð": 140, + "Ñ": 141, + "Ò": 142, + "Ó": 143, + "Ô": 144, + "Õ": 145, + "Ö": 146, + "×": 147, + "Ø": 148, + "Ù": 149, + "Ú": 150, + "Û": 151, + "Ü": 152, + "Ý": 153, + "Þ": 154, + "ß": 155, + "à": 156, + "á": 157, + "â": 158, + "ã": 159, + "ä": 160, + "å": 161, + "æ": 162, + "ç": 163, + "è": 164, + "é": 165, + "ê": 166, + "ë": 167, + "ì": 168, + "í": 169, + "î": 170, + "ï": 171, + "ð": 172, + "ñ": 173, + "ò": 174, + "ó": 175, + "ô": 176, + "õ": 177, + "ö": 178, + "÷": 179, + "ø": 180, + "ù": 181, + "ú": 182, + "û": 183, + "ü": 184, + "ý": 185, + "þ": 186, + "ÿ": 187, + "Ā": 188, + "ā": 189, + "Ă": 190, + "ă": 191, + "Ą": 192, + "ą": 193, + "Ć": 194, + "ć": 195, + "Ĉ": 196, + "ĉ": 197, + "Ċ": 198, + "ċ": 199, + "Č": 200, + "č": 201, + "Ď": 202, + "ď": 203, + "Đ": 204, + "đ": 205, + "Ē": 206, + "ē": 207, + "Ĕ": 208, + "ĕ": 209, + "Ė": 210, + "ė": 211, + "Ę": 212, + "ę": 213, + "Ě": 214, + "ě": 215, + "Ĝ": 216, + "ĝ": 217, + "Ğ": 218, + "ğ": 219, + "Ġ": 220, + "ġ": 221, + "Ģ": 222, + "ģ": 223, + "Ĥ": 224, + "ĥ": 225, + "Ħ": 226, + "ħ": 227, + "Ĩ": 228, + "ĩ": 229, + "Ī": 230, + "ī": 231, + "Ĭ": 232, + "ĭ": 233, + "Į": 234, + "į": 235, + "İ": 236, + "ı": 237, + "IJ": 238, + "ij": 239, + "Ĵ": 240, + "ĵ": 241, + "Ķ": 242, + "ķ": 243, + "ĸ": 244, + "Ĺ": 245, + "ĺ": 246, + "Ļ": 247, + "ļ": 248, + "Ľ": 249, + "ľ": 250, + "Ŀ": 251, + "ŀ": 252, + "Ł": 253, + "ł": 254, + "Ń": 255, + "ĠĠ": 256, + "ĠĠĠĠ": 257, + "in": 258, + "Ġt": 259, + "ĠĠĠĠĠĠĠĠ": 260, + "er": 261, + "ĠĠĠ": 262, + "on": 263, + "Ġa": 264, + "re": 265, + "at": 266, + "st": 267, + "en": 268, + "or": 269, + "Ġth": 270, + "ĊĊ": 271, + "Ġc": 272, + "le": 273, + "Ġs": 274, + "it": 275, + "an": 276, + "ar": 277, + "al": 278, + "Ġthe": 279, + ";Ċ": 280, + "Ġp": 281, + "Ġf": 282, + "ou": 283, + "Ġ=": 284, + "is": 285, + "ĠĠĠĠĠĠĠ": 286, + "ing": 287, + "es": 288, + "Ġw": 289, + "ion": 290, + "ed": 291, + "ic": 292, + "Ġb": 293, + "Ġd": 294, + "et": 295, + "Ġm": 296, + "Ġo": 297, + "ĉĉ": 298, + "ro": 299, + "as": 300, + "el": 301, + "ct": 302, + "nd": 303, + "Ġin": 304, + "Ġh": 305, + "ent": 306, + "id": 307, + "Ġn": 308, + "am": 309, + "ĠĠĠĠĠĠĠĠĠĠĠ": 310, + "Ġto": 311, + "Ġre": 312, + "--": 313, + "Ġ{": 314, + "Ġof": 315, + "om": 316, + ");Ċ": 317, + "im": 318, + "čĊ": 319, + "Ġ(": 320, + "il": 321, + "//": 322, + "Ġand": 323, + "ur": 324, + "se": 325, + "Ġl": 326, + "ex": 327, + "ĠS": 328, + "ad": 329, + "Ġ\"": 330, + "ch": 331, + "ut": 332, + "if": 333, + "**": 334, + "Ġ}": 335, + "em": 336, + "ol": 337, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 338, + "th": 339, + ")Ċ": 340, + "Ġ{Ċ": 341, + "Ġg": 342, + "ig": 343, + "iv": 344, + ",Ċ": 345, + "ce": 346, + "od": 347, + "Ġv": 348, + "ate": 349, + "ĠT": 350, + "ag": 351, + "ay": 352, + "Ġ*": 353, + "ot": 354, + "us": 355, + "ĠC": 356, + "Ġst": 357, + "ĠI": 358, + "un": 359, + "ul": 360, + "ue": 361, + "ĠA": 362, + "ow": 363, + "Ġ'": 364, + "ew": 365, + "Ġ<": 366, + "ation": 367, + "()": 368, + "Ġfor": 369, + "ab": 370, + "ort": 371, + "um": 372, + "ame": 373, + "Ġis": 374, + "pe": 375, + "tr": 376, + "ck": 377, + "âĢ": 378, + "Ġy": 379, + "ist": 380, + "----": 381, + ".ĊĊ": 382, + "he": 383, + "Ġe": 384, + "lo": 385, + "ĠM": 386, + "Ġbe": 387, + "ers": 388, + "Ġon": 389, + "Ġcon": 390, + "ap": 391, + "ub": 392, + "ĠP": 393, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 394, + "ass": 395, + "int": 396, + ">Ċ": 397, + "ly": 398, + "urn": 399, + "Ġ$": 400, + ";ĊĊ": 401, + "av": 402, + "port": 403, + "ir": 404, + "->": 405, + "nt": 406, + "ction": 407, + "end": 408, + "Ġde": 409, + "00": 410, + "ith": 411, + "out": 412, + "turn": 413, + "our": 414, + "ĠĠĠĠĠ": 415, + "lic": 416, + "res": 417, + "pt": 418, + "==": 419, + "Ġthis": 420, + "Ġwh": 421, + "Ġif": 422, + "ĠD": 423, + "ver": 424, + "age": 425, + "ĠB": 426, + "ht": 427, + "ext": 428, + "=\"": 429, + "Ġthat": 430, + "****": 431, + "ĠR": 432, + "Ġit": 433, + "ess": 434, + "ĠF": 435, + "Ġr": 436, + "os": 437, + "and": 438, + "Ġas": 439, + "ect": 440, + "ke": 441, + "rom": 442, + "Ġ//": 443, + "con": 444, + "ĠL": 445, + "(\"": 446, + "qu": 447, + "lass": 448, + "Ġwith": 449, + "iz": 450, + "de": 451, + "ĠN": 452, + "Ġal": 453, + "op": 454, + "up": 455, + "get": 456, + "Ġ}Ċ": 457, + "ile": 458, + "Ġan": 459, + "ata": 460, + "ore": 461, + "ri": 462, + "Ġpro": 463, + ";čĊ": 464, + "ĉĉĉĉ": 465, + "ter": 466, + "ain": 467, + "ĠW": 468, + "ĠE": 469, + "Ġcom": 470, + "Ġreturn": 471, + "art": 472, + "ĠH": 473, + "ack": 474, + "import": 475, + "ublic": 476, + "Ġor": 477, + "est": 478, + "ment": 479, + "ĠG": 480, + "able": 481, + "Ġ-": 482, + "ine": 483, + "ill": 484, + "ind": 485, + "ere": 486, + "::": 487, + "ity": 488, + "Ġ+": 489, + "Ġtr": 490, + "elf": 491, + "ight": 492, + "('": 493, + "orm": 494, + "ult": 495, + "str": 496, + "..": 497, + "\",": 498, + "Ġyou": 499, + "ype": 500, + "pl": 501, + "Ġnew": 502, + "Ġj": 503, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 504, + "Ġfrom": 505, + "Ġex": 506, + "ĠO": 507, + "20": 508, + "ld": 509, + "Ġ[": 510, + "oc": 511, + ":Ċ": 512, + "Ġse": 513, + "Ġle": 514, + "--------": 515, + ".s": 516, + "{Ċ": 517, + "',": 518, + "ant": 519, + "Ġat": 520, + "ase": 521, + ".c": 522, + "Ġch": 523, + "": 591, + "ust": 592, + "que": 593, + "Ġres": 594, + "))": 595, + "'s": 596, + "Ġk": 597, + "ans": 598, + "yst": 599, + "unction": 600, + "********": 601, + "Ġi": 602, + "Ġus": 603, + "pp": 604, + "10": 605, + "one": 606, + "ail": 607, + "====": 608, + "name": 609, + "Ġstr": 610, + "Ġ/": 611, + "Ġ&": 612, + "ach": 613, + "div": 614, + "ystem": 615, + "ell": 616, + "Ġhave": 617, + "err": 618, + "ould": 619, + "ull": 620, + "pon": 621, + "ĠJ": 622, + "_p": 623, + "Ġ==": 624, + "ign": 625, + "St": 626, + ".Ċ": 627, + "Ġpl": 628, + ");ĊĊ": 629, + "form": 630, + "put": 631, + "ount": 632, + "}ĊĊ": 633, + "dd": 634, + "ite": 635, + "Ġget": 636, + "rr": 637, + "ome": 638, + "ĠâĢ": 639, + "aram": 640, + "cc": 641, + "Ġ*/": 642, + "ER": 643, + "In": 644, + "les": 645, + "_s": 646, + "ong": 647, + "ie": 648, + "Ġcan": 649, + "ĠV": 650, + "erv": 651, + "pr": 652, + "Ġun": 653, + "row": 654, + "ber": 655, + "Ġdo": 656, + "ll": 657, + "Ġel": 658, + "Ġself": 659, + "ated": 660, + "ary": 661, + "Ġ.": 662, + "']": 663, + "ud": 664, + "Ġen": 665, + "ĠTh": 666, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 667, + "te": 668, + "_c": 669, + "uct": 670, + "Ġab": 671, + "ork": 672, + ".get": 673, + "Ġ#": 674, + "aw": 675, + "ress": 676, + "ob": 677, + "Name": 678, + "201": 679, + "app": 680, + "['": 681, + "Ġall": 682, + "ory": 683, + "ition": 684, + "ance": 685, + "ear": 686, + "Ġcont": 687, + "vent": 688, + "ia": 689, + "Ġwill": 690, + "IN": 691, + "ĠĠĠĠĠĠĠĠĠ": 692, + "return": 693, + "Ġ": 760, + "\",Ċ": 761, + "ec": 762, + "ĠIn": 763, + "ph": 764, + "Ġ|": 765, + "_f": 766, + "Ġvar": 767, + "ence": 768, + "Id": 769, + "ree": 770, + "ink": 771, + "lect": 772, + "ug": 773, + "eth": 774, + "Ġelse": 775, + "----------------": 776, + "19": 777, + "cont": 778, + "Ġso": 779, + "atic": 780, + "Ġlo": 781, + "pro": 782, + "ton": 783, + "ss": 784, + "own": 785, + "abel": 786, + "oint": 787, + "ous": 788, + "eld": 789, + "ST": 790, + "The": 791, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 792, + "RE": 793, + "\":": 794, + "olor": 795, + "tp": 796, + "eg": 797, + "key": 798, + "ude": 799, + "ĠSt": 800, + "ound": 801, + "Ġar": 802, + "\");Ċ": 803, + "ener": 804, + "ser": 805, + "11": 806, + "bject": 807, + "essage": 808, + "fer": 809, + "Ġmore": 810, + "ations": 811, + "ents": 812, + "Ġhis": 813, + "Ġthey": 814, + ".S": 815, + "ĠY": 816, + "use": 817, + "ne": 818, + "ish": 819, + "old": 820, + "_d": 821, + "io": 822, + "ield": 823, + "Ġper": 824, + "Cont": 825, + "ings": 826, + "####": 827, + "Ġdata": 828, + "Ġsa": 829, + "ef": 830, + "fo": 831, + "Ġone": 832, + "eng": 833, + "Ġdis": 834, + "AT": 835, + "Ġname": 836, + "Ġtrue": 837, + "val": 838, + "led": 839, + ".f": 840, + "Ġne": 841, + "Ġend": 842, + "32": 843, + ".T": 844, + "16": 845, + "cre": 846, + "ark": 847, + "log": 848, + "Ex": 849, + "error": 850, + "_id": 851, + "urre": 852, + "ange": 853, + "Ġnull": 854, + "rray": 855, + "Ġmy": 856, + "pan": 857, + "ict": 858, + "ator": 859, + "View": 860, + "List": 861, + "ĉreturn": 862, + "âĢĿ": 863, + "Ġpre": 864, + "Ġx": 865, + "clude": 866, + "arg": 867, + "15": 868, + "ov": 869, + ".h": 870, + "Ġ>": 871, + "Ġtheir": 872, + "')": 873, + "irst": 874, + "ick": 875, + "gh": 876, + "LE": 877, + "OR": 878, + "Ġprivate": 879, + "tem": 880, + "čĊčĊ": 881, + "user": 882, + "Ġ)": 883, + "com": 884, + ".A": 885, + "\";Ċ": 886, + "Ġid": 887, + "read": 888, + "Ġwho": 889, + "_b": 890, + "\">Ċ": 891, + "Ġtime": 892, + "Ġman": 893, + "ry": 894, + "========": 895, + "roup": 896, + "rop": 897, + "public": 898, + "vel": 899, + "umber": 900, + "ble": 901, + "Ġwhich": 902, + "****************": 903, + "Ġany": 904, + "Ġfalse": 905, + "we": 906, + "Ġvalue": 907, + "Ġli": 908, + "\")": 909, + "nder": 910, + "gr": 911, + "Ġno": 912, + "param": 913, + "25": 914, + "fig": 915, + ".com": 916, + "Ġapp": 917, + "_l": 918, + "ions": 919, + ".D": 920, + "ĠCh": 921, + "Ġabout": 922, + "Ġadd": 923, + "Ġsu": 924, + "Ġstring": 925, + "ID": 926, + "Ġover": 927, + "string": 928, + ".l": 929, + "ource": 930, + "000": 931, + "_C": 932, + "]Ċ": 933, + "Ġqu": 934, + "ĠString": 935, + "ca": 936, + "SE": 937, + "Ġro": 938, + "sh": 939, + "ual": 940, + "Type": 941, + "son": 942, + "new": 943, + "ern": 944, + "Ġag": 945, + "AR": 946, + "];Ċ": 947, + "].": 948, + "Ġ?": 949, + "ical": 950, + "Ġdes": 951, + "uth": 952, + "ix": 953, + "ays": 954, + "Ġtype": 955, + "'t": 956, + "ault": 957, + "Ġinter": 958, + "var": 959, + ".b": 960, + "Ġpart": 961, + ".d": 962, + "urrent": 963, + "IT": 964, + "EN": 965, + "30": 966, + "enc": 967, + "(f": 968, + "ra": 969, + "value": 970, + "cho": 971, + "18": 972, + "utton": 973, + "ose": 974, + "14": 975, + "Ġ!=": 976, + "ater": 977, + "é": 978, + "reate": 979, + "oll": 980, + "pos": 981, + "yle": 982, + "ng": 983, + "AL": 984, + "using": 985, + "ames": 986, + "Ġ{čĊ": 987, + "ates": 988, + "ely": 989, + "Ġwork": 990, + "Ġem": 991, + "inal": 992, + "Ġsp": 993, + "Ġwhen": 994, + ".set": 995, + "ĠĠĠĠĠĠ": 996, + "):Ċ": 997, + "to": 998, + "quire": 999, + "indow": 1000, + "lement": 1001, + "pect": 1002, + "ash": 1003, + "[i": 1004, + "Ġuse": 1005, + ".F": 1006, + "pec": 1007, + "Ġad": 1008, + "ove": 1009, + "ception": 1010, + "ength": 1011, + "include": 1012, + "ader": 1013, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 1014, + "atus": 1015, + "Th": 1016, + "itle": 1017, + "rit": 1018, + "void": 1019, + "().": 1020, + "(Ċ": 1021, + "Ġoff": 1022, + "Ġother": 1023, + "Ġ&&": 1024, + "';Ċ": 1025, + "ms": 1026, + "Ġbeen": 1027, + "Ġte": 1028, + "ml": 1029, + "co": 1030, + "nc": 1031, + "13": 1032, + "ervice": 1033, + "Ġ%": 1034, + "**Ċ": 1035, + "ann": 1036, + "ade": 1037, + "ĊĊĊĊ": 1038, + "lock": 1039, + "const": 1040, + "100": 1041, + "ponse": 1042, + "Ġsup": 1043, + "++": 1044, + "date": 1045, + "Ġacc": 1046, + "Ġhad": 1047, + "Ġbu": 1048, + "200": 1049, + "ĠRe": 1050, + "Ġwere": 1051, + "Ġfile": 1052, + "Ġwould": 1053, + "ĠâĢľ": 1054, + "ven": 1055, + "iss": 1056, + "Ġour": 1057, + "class": 1058, + "raw": 1059, + "Ġyear": 1060, + "Data": 1061, + "Ġval": 1062, + "Ġsome": 1063, + "fter": 1064, + "ys": 1065, + "Ġ///": 1066, + "round": 1067, + "view": 1068, + "Ġpe": 1069, + "Ġthere": 1070, + "Ġsaid": 1071, + "du": 1072, + "of": 1073, + "line": 1074, + "/*": 1075, + "duct": 1076, + "Ġher": 1077, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ": 1078, + "Res": 1079, + "Ġco": 1080, + "Ġcomm": 1081, + "ise": 1082, + "min": 1083, + "ĠĠĠĠĊ": 1084, + "#include": 1085, + "ethod": 1086, + ".P": 1087, + "ute": 1088, + "Ġass": 1089, + "Int": 1090, + "ask": 1091, + "loc": 1092, + "Ġlike": 1093, + "ody": 1094, + "Ġlet": 1095, + "load": 1096, + "Ġam": 1097, + "rol": 1098, + "Ġgr": 1099, + "yp": 1100, + "Ġalso": 1101, + "ĠIt": 1102, + "url": 1103, + "ific": 1104, + "ors": 1105, + "_P": 1106, + "_n": 1107, + "igh": 1108, + "Ġthan": 1109, + "Com": 1110, + "AN": 1111, + "UL": 1112, + "ating": 1113, + "17": 1114, + "ĠThis": 1115, + "ref": 1116, + "_S": 1117, + "Ġstatic": 1118, + "roll": 1119, + "Ġjust": 1120, + "Ġresult": 1121, + "ian": 1122, + "idth": 1123, + "Ġthem": 1124, + "));Ċ": 1125, + "der": 1126, + "reak": 1127, + "Con": 1128, + "://": 1129, + "ule": 1130, + "...": 1131, + "arch": 1132, + "ement": 1133, + "Ġ<<": 1134, + "50": 1135, + "ush": 1136, + "ense": 1137, + "arr": 1138, + "Ġinto": 1139, + "cess": 1140, + "amp": 1141, + "ied": 1142, + "ument": 1143, + "Ġ\\": 1144, + "],": 1145, + "wo": 1146, + "als": 1147, + "Ġwhat": 1148, + "anc": 1149, + "Value": 1150, + "='": 1151, + "olum": 1152, + "Ġpos": 1153, + "ages": 1154, + "ayer": 1155, + "Ġsc": 1156, + "ues": 1157, + "\")Ċ": 1158, + "_T": 1159, + "Ġlist": 1160, + "(s": 1161, + "Ġcase": 1162, + "Ch": 1163, + "ĉĉĉĉĉ": 1164, + "////////": 1165, + "ponent": 1166, + "Ġz": 1167, + "Ġkn": 1168, + "let": 1169, + "DE": 1170, + "red": 1171, + "Ġfe": 1172, + "Ġ},Ċ": 1173, + "Ġ,": 1174, + "(t": 1175, + "Ġfirst": 1176, + "');Ċ": 1177, + "word": 1178, + "Ġimport": 1179, + "Ġact": 1180, + "Ġchar": 1181, + "CT": 1182, + "ĠTr": 1183, + "ople": 1184, + "={": 1185, + "ĉf": 1186, + "24": 1187, + "ient": 1188, + "cent": 1189, + ".j": 1190, + "lection": 1191, + "))Ċ": 1192, + "Ġonly": 1193, + "Ġprint": 1194, + "mer": 1195, + ".W": 1196, + "ock": 1197, + "Ġ--": 1198, + "Text": 1199, + "Ġop": 1200, + "ank": 1201, + "Ġits": 1202, + "Ġback": 1203, + "[\"": 1204, + "Ġneed": 1205, + "Ġcl": 1206, + "Ġsub": 1207, + "Ġla": 1208, + "((": 1209, + ".\"": 1210, + "Object": 1211, + "Ġstart": 1212, + "file": 1213, + "(self": 1214, + "ner": 1215, + "ey": 1216, + "Ġuser": 1217, + "Ġent": 1218, + "ĠCom": 1219, + "its": 1220, + "ĠCon": 1221, + "ouble": 1222, + "ower": 1223, + "item": 1224, + "very": 1225, + "ĠWe": 1226, + "64": 1227, + "lick": 1228, + "ĠQ": 1229, + "php": 1230, + "ttp": 1231, + "':": 1232, + "ics": 1233, + "Ġunder": 1234, + "Ġ*Ċ": 1235, + ".L": 1236, + ");": 1237, + "ices": 1238, + "Ġreg": 1239, + ")čĊ": 1240, + "ĉpublic": 1241, + "SS": 1242, + "Ġthen": 1243, + "reat": 1244, + "ious": 1245, + ".G": 1246, + "ek": 1247, + "irect": 1248, + "heck": 1249, + "cript": 1250, + "ning": 1251, + "ĠUn": 1252, + "Ġmay": 1253, + "ĠWh": 1254, + "Bo": 1255, + "Item": 1256, + "struct": 1257, + ".st": 1258, + "ream": 1259, + "ible": 1260, + "loat": 1261, + "Ġorg": 1262, + "und": 1263, + "sum": 1264, + "_in": 1265, + "../": 1266, + "_M": 1267, + "Ġhow": 1268, + "rite": 1269, + "'Ċ": 1270, + "To": 1271, + "40": 1272, + "ww": 1273, + "Ġpeople": 1274, + "index": 1275, + ".n": 1276, + "http": 1277, + "(m": 1278, + "ector": 1279, + "Ġind": 1280, + "Ġjav": 1281, + "],Ċ": 1282, + "ĠHe": 1283, + "_st": 1284, + "ful": 1285, + "ole": 1286, + "){Ċ": 1287, + "Ġshould": 1288, + "opy": 1289, + "elp": 1290, + "ier": 1291, + "_name": 1292, + "erson": 1293, + "ION": 1294, + "ote": 1295, + "Ġtest": 1296, + "Ġbet": 1297, + "rror": 1298, + "ular": 1299, + "ãĢ": 1300, + "ĠÐ": 1301, + "bs": 1302, + "ting": 1303, + "Ġmake": 1304, + "Tr": 1305, + "Ġafter": 1306, + "arget": 1307, + "RO": 1308, + "olumn": 1309, + "rc": 1310, + "_re": 1311, + "define": 1312, + "22": 1313, + "Ġright": 1314, + "right": 1315, + "day": 1316, + "Ġlong": 1317, + "[]": 1318, + "(p": 1319, + "td": 1320, + "cond": 1321, + "ĠPro": 1322, + "Ġrem": 1323, + "ptions": 1324, + "vid": 1325, + ".g": 1326, + "Ġext": 1327, + "Ġ__": 1328, + "')Ċ": 1329, + "pace": 1330, + "mp": 1331, + "Ġmin": 1332, + "stance": 1333, + "air": 1334, + "action": 1335, + "wh": 1336, + "type": 1337, + "util": 1338, + "ait": 1339, + "ĊĊ": 1363, + "Ġshe": 1364, + "\"]": 1365, + "aph": 1366, + "Ġexp": 1367, + "erty": 1368, + "ĠSe": 1369, + "Ġpar": 1370, + "unc": 1371, + "ET": 1372, + "Ġread": 1373, + "print": 1374, + "Ġrel": 1375, + "Ġform": 1376, + "Ġdr": 1377, + "Exception": 1378, + "input": 1379, + "Ġtrans": 1380, + "########": 1381, + "order": 1382, + "By": 1383, + "Ġaw": 1384, + "ities": 1385, + "uff": 1386, + "play": 1387, + ".add": 1388, + "ĠâĢĵ": 1389, + "Ġwant": 1390, + "Ġcomp": 1391, + "ments": 1392, + "Ġ||": 1393, + "az": 1394, + "be": 1395, + "Ġnumber": 1396, + "Ġrequire": 1397, + "ĠEx": 1398, + "60": 1399, + "Ġcol": 1400, + "Ġkey": 1401, + "ember": 1402, + "Ġtwo": 1403, + "Ġsize": 1404, + "Ġwhere": 1405, + "UT": 1406, + "result": 1407, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 1408, + "ough": 1409, + "orld": 1410, + "ood": 1411, + "uch": 1412, + "ative": 1413, + "ger": 1414, + "arent": 1415, + "Ġ/*": 1416, + "Ġarg": 1417, + "Ġwhile": 1418, + "23": 1419, + "(this": 1420, + "Ġrec": 1421, + "Ġdif": 1422, + "State": 1423, + "Ġspec": 1424, + "ride": 1425, + "_F": 1426, + "Ġlook": 1427, + "AM": 1428, + "ility": 1429, + "eter": 1430, + "âĢĻt": 1431, + "ĊĊĊ": 1432, + "ayout": 1433, + "--------------------------------": 1434, + "ager": 1435, + "Ġcould": 1436, + "Ġbr": 1437, + "ends": 1438, + "ures": 1439, + "Ġknow": 1440, + "ets": 1441, + "ĠIf": 1442, + "ĠSh": 1443, + ".w": 1444, + "back": 1445, + "Ġser": 1446, + "Ġ+=": 1447, + "Ġfr": 1448, + "());Ċ": 1449, + "Ġhand": 1450, + "Ind": 1451, + "ULL": 1452, + "Im": 1453, + "();ĊĊ": 1454, + "Ġmost": 1455, + "Ġtry": 1456, + "Ġnow": 1457, + "rough": 1458, + ">čĊ": 1459, + "ackage": 1460, + "Ġhim": 1461, + "._": 1462, + "ify": 1463, + "Ġbreak": 1464, + "Ġ);Ċ": 1465, + "ren": 1466, + "#define": 1467, + "itt": 1468, + "Ġap": 1469, + "ĉc": 1470, + "(n": 1471, + "ĠYou": 1472, + ":ĊĊ": 1473, + "-m": 1474, + "Ġevery": 1475, + "ustom": 1476, + "lient": 1477, + "ocument": 1478, + "cription": 1479, + "Error": 1480, + "-b": 1481, + "о": 1482, + "][": 1483, + "99": 1484, + "trans": 1485, + "Ġpoint": 1486, + "Ġstd": 1487, + "Ġfil": 1488, + "Time": 1489, + "80": 1490, + "Ġmod": 1491, + "Ġ->": 1492, + "Ġerror": 1493, + "ah": 1494, + "Ġtext": 1495, + "roller": 1496, + "lose": 1497, + "ql": 1498, + "Ġpol": 1499, + "><": 1822, + ".B": 1823, + "-c": 1824, + "Ġopen": 1825, + "Ġest": 1826, + "ĠĠĠĠĠĠĠĠĊ": 1827, + "Ġnext": 1828, + "IM": 1829, + "ÑĤ": 1830, + "OT": 1831, + "ó": 1832, + "Ġfollow": 1833, + "content": 1834, + "ĠĠĠĠĠĠĠĠĠĠĠĠ": 1835, + "Ġinclud": 1836, + "HE": 1837, + "ĠRes": 1838, + "Ġhref": 1839, + "и": 1840, + "Ġcar": 1841, + "ypes": 1842, + "image": 1843, + "Un": 1844, + "Ġbool": 1845, + "AD": 1846, + "Ġgame": 1847, + ".Form": 1848, + "rows": 1849, + "*/": 1850, + "velop": 1851, + ".Drawing": 1852, + "Ġpath": 1853, + "ision": 1854, + "Ġeach": 1855, + "ĠPl": 1856, + "_type": 1857, + "Path": 1858, + "nection": 1859, + "Ġav": 1860, + "').": 1861, + "Ġsupport": 1862, + "ENT": 1863, + "rem": 1864, + "\").": 1865, + "Ġown": 1866, + "Ġcor": 1867, + "count": 1868, + "miss": 1869, + "ually": 1870, + "Ġmem": 1871, + "std": 1872, + "ience": 1873, + "search": 1874, + "\"ĊĊ": 1875, + "Form": 1876, + "Ġsex": 1877, + "ename": 1878, + "Ġsign": 1879, + "Ġet": 1880, + "ĠĠĠĠĠĠĠĠĠĠ": 1881, + "','": 1882, + "ĠApp": 1883, + "Ġthose": 1884, + "off": 1885, + "Ġerr": 1886, + "Ġsystem": 1887, + "Ġbest": 1888, + "code": 1889, + "Ġsame": 1890, + "Ġdi": 1891, + "uss": 1892, + "Ġcreate": 1893, + "ather": 1894, + "Array": 1895, + ".in": 1896, + "fe": 1897, + "Service": 1898, + "UN": 1899, + "ats": 1900, + "ĠZ": 1901, + "alth": 1902, + "Ġmade": 1903, + "true": 1904, + "AB": 1905, + "Ġmark": 1906, + "rid": 1907, + "ified": 1908, + ",čĊ": 1909, + "yn": 1910, + "press": 1911, + "Ġgroup": 1912, + "Ġfin": 1913, + "ĠLicense": 1914, + "Field": 1915, + "eger": 1916, + "Ġworld": 1917, + "iness": 1918, + "ty": 1919, + "Ġprocess": 1920, + "(b": 1921, + "Ġcre": 1922, + "arn": 1923, + "ives": 1924, + "Ġmain": 1925, + "ideo": 1926, + "36": 1927, + "_g": 1928, + "AG": 1929, + "valid": 1930, + "img": 1931, + "PI": 1932, + "Ġcolor": 1933, + "Ġreport": 1934, + "Ġtake": 1935, + "rib": 1936, + "OM": 1937, + "Ġday": 1938, + "Request": 1939, + "Ġsk": 1940, + "bers": 1941, + "ĉs": 1942, + ".Add": 1943, + "oot": 1944, + "Image": 1945, + "Ġcomple": 1946, + "ollection": 1947, + "Ġtop": 1948, + "Ġfree": 1949, + "AS": 1950, + "De": 1951, + "ĠOn": 1952, + "IG": 1953, + "90": 1954, + "eta": 1955, + "Date": 1956, + "Ġaction": 1957, + "34": 1958, + "Over": 1959, + "itor": 1960, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 1961, + "not": 1962, + "Ġindex": 1963, + "her": 1964, + "icon": 1965, + "On": 1966, + ";čĊčĊ": 1967, + "ivity": 1968, + "mand": 1969, + ".Windows": 1970, + "OL": 1971, + "Ġreal": 1972, + "Ġmax": 1973, + "land": 1974, + "....": 1975, + "raph": 1976, + "Ġbuild": 1977, + "leg": 1978, + "assword": 1979, + "?ĊĊ": 1980, + "â̦": 1981, + "ook": 1982, + "uck": 1983, + "Ġmessage": 1984, + "test": 1985, + "ivers": 1986, + "38": 1987, + "Ġinput": 1988, + "Ġart": 1989, + "Ġbetween": 1990, + "Get": 1991, + "enter": 1992, + "ground": 1993, + "ene": 1994, + "á": 1995, + ".length": 1996, + "Node": 1997, + "(i": 1998, + "Class": 1999, + "for": 2000, + "ĠâĢĶ": 2001, + "ten": 2002, + "oin": 2003, + "Ġke": 2004, + "ui": 2005, + "ĠIN": 2006, + "Ġtable": 2007, + "sub": 2008, + "ĠLe": 2009, + "Ġhead": 2010, + "Ġmust": 2011, + "////////////////": 2012, + ".util": 2013, + "Context": 2014, + "Ġorder": 2015, + "Ġmov": 2016, + "over": 2017, + "Ġcontin": 2018, + "Ġsay": 2019, + "static": 2020, + ".Text": 2021, + "ĠclassName": 2022, + "pany": 2023, + "Ġter": 2024, + "head": 2025, + "rg": 2026, + "Ġproduct": 2027, + "This": 2028, + ".âĢĿ": 2029, + "ĠBut": 2030, + "70": 2031, + "loy": 2032, + "Ġdouble": 2033, + "sg": 2034, + "Ġplace": 2035, + ".x": 2036, + "message": 2037, + "Ġinformation": 2038, + "private": 2039, + "Ġoper": 2040, + "ced": 2041, + "db": 2042, + "\">": 2228, + "aterial": 2229, + "iled": 2230, + "Ġput": 2231, + "Qu": 2232, + "ÑĢ": 2233, + "ung": 2234, + "map": 2235, + "ĉĉĉĉĉĉĉĉ": 2236, + "Ġlevel": 2237, + "Component": 2238, + "book": 2239, + "creen": 2240, + "_RE": 2241, + "Ġconfig": 2242, + "ãģ": 2243, + "Or": 2244, + ".data": 2245, + "Ġdocument": 2246, + "\",\"": 2247, + "tribute": 2248, + "ux": 2249, + "Log": 2250, + "ference": 2251, + "post": 2252, + "_e": 2253, + "Ġlocal": 2254, + "andom": 2255, + "assert": 2256, + "Val": 2257, + "lected": 2258, + "ina": 2259, + "atabase": 2260, + "Add": 2261, + "Ġcontent": 2262, + ".print": 2263, + "signed": 2264, + "ric": 2265, + ".\"ĊĊ": 2266, + "Ġfa": 2267, + "!ĊĊ": 2268, + "-f": 2269, + "ived": 2270, + "Ġquest": 2271, + ".ex": 2272, + "Ġfloat": 2273, + "Ġdevelop": 2274, + "оÐ": 2275, + "Map": 2276, + "ading": 2277, + "Ġposs": 2278, + "UE": 2279, + "namespace": 2280, + "_O": 2281, + "ĉb": 2282, + ".Get": 2283, + ">(": 2284, + "json": 2285, + "etails": 2286, + "66": 2287, + "Ġtoo": 2288, + "Ġextends": 2289, + "ĠNone": 2290, + "Ġfore": 2291, + "(String": 2292, + "format": 2293, + "Ġgreat": 2294, + "inter": 2295, + "cale": 2296, + "Ñģ": 2297, + "ron": 2298, + "iving": 2299, + "Ent": 2300, + "ency": 2301, + "xt": 2302, + "oy": 2303, + "05": 2304, + "Ġmonth": 2305, + "Ġhapp": 2306, + "Ġsuper": 2307, + "bar": 2308, + "default": 2309, + "_de": 2310, + "ords": 2311, + "ln": 2312, + "({Ċ": 2313, + "ĠInd": 2314, + "ases": 2315, + "Ġtitle": 2316, + "Ġcontext": 2317, + "08": 2318, + "oh": 2319, + "-p": 2320, + "Em": 2321, + "Ġmet": 2322, + "Test": 2323, + "Ġlife": 2324, + "_v": 2325, + "ĠUS": 2326, + "UI": 2327, + "ocation": 2328, + "md": 2329, + "Ġ[Ċ": 2330, + "Ġ]": 2331, + "sw": 2332, + "Ġincre": 2333, + "script": 2334, + "ential": 2335, + "ways": 2336, + ".de": 2337, + "Ġsrc": 2338, + "Ġcatch": 2339, + "ĠAmeric": 2340, + "//Ċ": 2341, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 2342, + "Ġpay": 2343, + "plit": 2344, + "âĢĶ": 2345, + "Ġcoun": 2346, + "obj": 2347, + ".php": 2348, + "Ġchange": 2349, + "ething": 2350, + "'re": 2351, + "aster": 2352, + "los": 2353, + "lation": 2354, + "ĠĠĊ": 2355, + "Le": 2356, + "ä": 2357, + "({": 2358, + "ready": 2359, + "ĠNo": 2360, + "Ġposition": 2361, + "Ġold": 2362, + "Ġbook": 2363, + "abled": 2364, + "bug": 2365, + "202": 2366, + "Hand": 2367, + "};ĊĊ": 2368, + "isplay": 2369, + "aving": 2370, + "04": 2371, + "Ġgover": 2372, + "Ġversion": 2373, + "System": 2374, + "nect": 2375, + "response": 2376, + "Style": 2377, + "Up": 2378, + "angu": 2379, + "Ġthree": 2380, + "init": 2381, + "ero": 2382, + "Ġlaw": 2383, + "endif": 2384, + "Ġbase": 2385, + "email": 2386, + "(l": 2387, + "_V": 2388, + "Ġconf": 2389, + "ATE": 2390, + "Ġduring": 2391, + "tes": 2392, + "Ġconsole": 2393, + "ĠPr": 2394, + "Ġspe": 2395, + "ves": 2396, + "65": 2397, + "path": 2398, + "ialog": 2399, + "dition": 2400, + "_to": 2401, + "ards": 2402, + "Ġagainst": 2403, + "etwork": 2404, + "ĠPh": 2405, + "_L": 2406, + "cur": 2407, + "imit": 2408, + "With": 2409, + "Ġpower": 2410, + "ium": 2411, + "';ĊĊ": 2412, + "Ġwom": 2413, + "left": 2414, + "ources": 2415, + "atri": 2416, + "ĠIm": 2417, + "ĠMan": 2418, + "orth": 2419, + "${": 2420, + "88": 2421, + "quals": 2422, + "ese": 2423, + "_size": 2424, + "Ġiss": 2425, + "otal": 2426, + "-g": 2427, + "ique": 2428, + "rame": 2429, + "Ġwidth": 2430, + "erg": 2431, + ")(": 2432, + "ittle": 2433, + "TR": 2434, + "ĠThey": 2435, + "ences": 2436, + "02": 2437, + "rl": 2438, + "ons": 2439, + "Ġlabel": 2440, + ".y": 2441, + "-t": 2442, + "update": 2443, + "anel": 2444, + "sc": 2445, + ".to": 2446, + "Ġproject": 2447, + "ü": 2448, + "Ġelement": 2449, + "Ġsuccess": 2450, + "ĉĉĊ": 2451, + ".sh": 2452, + "ram": 2453, + "ched": 2454, + "())Ċ": 2455, + "Ġ(Ċ": 2456, + "Ġdate": 2457, + "Ġtot": 2458, + "_ST": 2459, + "All": 2460, + "ification": 2461, + "ĉvar": 2462, + "Ġtri": 2463, + "chem": 2464, + "my": 2465, + "Ġbig": 2466, + "ĠAd": 2467, + "ĠAt": 2468, + "ots": 2469, + "num": 2470, + "Act": 2471, + "Ġmap": 2472, + "era": 2473, + "cope": 2474, + ".$": 2475, + ",âĢĿ": 2476, + "Ġpop": 2477, + "Ġfew": 2478, + "Ġlen": 2479, + "uid": 2480, + "eters": 2481, + "ules": 2482, + "ÃŃ": 2483, + "source": 2484, + "https": 2485, + "Ġdem": 2486, + "Ġear": 2487, + "################": 2488, + "Ġmatch": 2489, + "ories": 2490, + "49": 2491, + "aces": 2492, + "ĠCl": 2493, + "Ġnode": 2494, + "78": 2495, + "irc": 2496, + "local": 2497, + "unity": 2498, + "};Ċ": 2499, + "Ġanother": 2500, + "<<": 2501, + "ogle": 2502, + "Ġsit": 2503, + "ework": 2504, + "TE": 2505, + ".I": 2506, + "NS": 2507, + "ology": 2508, + "ought": 2509, + ".Cont": 2510, + ">>": 2511, + "Ġcare": 2512, + "state": 2513, + "ĉprivate": 2514, + "Ġeffect": 2515, + "++)": 2516, + "_file": 2517, + "ending": 2518, + "Line": 2519, + "For": 2520, + "ior": 2521, + "ĠSc": 2522, + "Ġfun": 2523, + ".Size": 2524, + "ĉelse": 2525, + "])": 2526, + "start": 2527, + "vious": 2528, + "Ġ},": 2529, + "ours": 2530, + "Ġleg": 2531, + "Ġservice": 2532, + "Ġsince": 2533, + "iron": 2534, + "Label": 2535, + "Ġnon": 2536, + "Ġlos": 2537, + "iction": 2538, + "Ġfull": 2539, + "acter": 2540, + "board": 2541, + "gress": 2542, + "Ġturn": 2543, + "ither": 2544, + "09": 2545, + ".size": 2546, + "Ġbody": 2547, + "resh": 2548, + "eturn": 2549, + "199": 2550, + "(_": 2551, + "yles": 2552, + "ormal": 2553, + "pi": 2554, + "Ġsomething": 2555, + "!--": 2556, + "uint": 2557, + "Ġprodu": 2558, + "Ġstand": 2559, + "Ġproble": 2560, + "Ġavailable": 2561, + "mt": 2562, + "ĠBl": 2563, + "Ġ...": 2564, + "Ġblock": 2565, + "Input": 2566, + "Ġkeep": 2567, + "Count": 2568, + "open": 2569, + "Ġ['": 2570, + "Ġthrow": 2571, + "uilder": 2572, + "Action": 2573, + "Ġthings": 2574, + "True": 2575, + "Ġurl": 2576, + "ĠBo": 2577, + "printf": 2578, + "Ġred": 2579, + "js": 2580, + ".create": 2581, + "ĠOr": 2582, + "Status": 2583, + "Instance": 2584, + "Ġcontrol": 2585, + "Ġcome": 2586, + "Ġcustom": 2587, + "location": 2588, + "07": 2589, + "model": 2590, + "ĠčĊ": 2591, + "Ġsource": 2592, + "Ġeas": 2593, + ".out": 2594, + "]ĊĊ": 2595, + "oney": 2596, + "Ġawait": 2597, + "Ġpartic": 2598, + "AP": 2599, + "ublish": 2600, + "odes": 2601, + "_pro": 2602, + "ply": 2603, + "riter": 2604, + "Ġprov": 2605, + "Ġmill": 2606, + "HT": 2607, + "])Ċ": 2608, + "Ġchang": 2609, + "Ġask": 2610, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 2611, + "Ġoutput": 2612, + "Ġemail": 2613, + "68": 2614, + ".push": 2615, + "Ġ}čĊčĊ": 2616, + "ination": 2617, + "47": 2618, + "atrix": 2619, + "Table": 2620, + "uccess": 2621, + "]);Ċ": 2622, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 2623, + "Ġdisc": 2624, + "([": 2625, + "Ġbusiness": 2626, + "height": 2627, + ".html": 2628, + "ta": 2629, + "field": 2630, + "Ġrequired": 2631, + "_R": 2632, + "Ġgovern": 2633, + "}čĊčĊ": 2634, + "lex": 2635, + "500": 2636, + ".,": 2637, + "ĠSet": 2638, + "urch": 2639, + "///": 2640, + "ts": 2641, + "af": 2642, + "Ġmight": 2643, + "istory": 2644, + "Str": 2645, + "Ġnever": 2646, + "Response": 2647, + "arse": 2648, + "ada": 2649, + "ĠHow": 2650, + "Ġ*)": 2651, + "Ġ;": 2652, + "Ġhard": 2653, + "Ad": 2654, + "Ġintern": 2655, + "used": 2656, + "(data": 2657, + "mod": 2658, + "annel": 2659, + "Ġnp": 2660, + "ugg": 2661, + "Ġ/>Ċ": 2662, + "Ġcalled": 2663, + "body": 2664, + "Ġcho": 2665, + "(r": 2666, + "_set": 2667, + "ird": 2668, + "Ġ>=": 2669, + "Ġ};Ċ": 2670, + "Ġoptions": 2671, + "ĠGener": 2672, + "Ġheight": 2673, + "Point": 2674, + "You": 2675, + "ety": 2676, + "Click": 2677, + "Ġsmall": 2678, + "Ġide": 2679, + "Ġaccess": 2680, + "anguage": 2681, + "Ġprotected": 2682, + "Ġjob": 2683, + "ĠThere": 2684, + "Def": 2685, + "Ġaddress": 2686, + "Ġuint": 2687, + "Not": 2688, + "oo": 2689, + "aps": 2690, + "": 2828, + "ĉĠĠĠ": 2829, + "\"))": 2830, + "Content": 2831, + "_W": 2832, + "plement": 2833, + "Ġwon": 2834, + "Ġvideo": 2835, + "adi": 2836, + "point": 2837, + "%%": 2838, + "03": 2839, + "Ġgl": 2840, + "erved": 2841, + "viron": 2842, + "IF": 2843, + "uted": 2844, + "ãĥ": 2845, + "'m": 2846, + "Ġcert": 2847, + "Ġprof": 2848, + "Ġcell": 2849, + "ari": 2850, + "Ġplayer": 2851, + "ais": 2852, + "Ġcost": 2853, + "Ġhum": 2854, + "(R": 2855, + "Ġoffic": 2856, + "ks": 2857, + ".text": 2858, + "atures": 2859, + "Ġtotal": 2860, + "Ġ*/ĊĊ": 2861, + "ope": 2862, + "Ġstat": 2863, + "UM": 2864, + "Ġload": 2865, + "ights": 2866, + "Ġclear": 2867, + "uro": 2868, + "Ġtechn": 2869, + "upport": 2870, + "IR": 2871, + "Ġrow": 2872, + "Ġseem": 2873, + "Ġq": 2874, + "Ġshort": 2875, + "ĠNot": 2876, + "ipp": 2877, + "Group": 2878, + "section": 2879, + "max": 2880, + "irl": 2881, + "Ġoverride": 2882, + "Ġcompany": 2883, + "Ġdone": 2884, + "\");čĊ": 2885, + "Ġgre": 2886, + ".Re": 2887, + "Ġbelie": 2888, + "rist": 2889, + "Ġhealth": 2890, + "ANT": 2891, + "()ĊĊ": 2892, + "ĠBe": 2893, + ".value": 2894, + "ĠGr": 2895, + "ottom": 2896, + "Ġargs": 2897, + "PT": 2898, + "status": 2899, + "func": 2900, + "uments": 2901, + "-h": 2902, + "Number": 2903, + ":čĊ": 2904, + "ĠLog": 2905, + "erver": 2906, + "Ġ),Ċ": 2907, + "ament": 2908, + "Ġobj": 2909, + "inc": 2910, + "Ġchildren": 2911, + "icy": 2912, + "IZ": 2913, + "ands": 2914, + "ably": 2915, + "Ġdistrib": 2916, + "Ġcur": 2917, + "erial": 2918, + "Ġdays": 2919, + "reated": 2920, + "rect": 2921, + "-l": 2922, + "irm": 2923, + "idden": 2924, + "omb": 2925, + "Ġinitial": 2926, + ".js": 2927, + "Ġâ": 2928, + "Query": 2929, + "Ġonline": 2930, + "imal": 2931, + ".con": 2932, + "au": 2933, + "Url": 2934, + "control": 2935, + "irection": 2936, + "Ġinstance": 2937, + "ORT": 2938, + "ĠFr": 2939, + "where": 2940, + "Ġjavax": 2941, + "Ġorgan": 2942, + "apter": 2943, + "Ġreason": 2944, + "options": 2945, + "59": 2946, + "ĠMar": 2947, + "(a": 2948, + "Ġwithin": 2949, + ".âĢĿĊĊ": 2950, + "ODE": 2951, + "_DE": 2952, + "admin": 2953, + "ended": 2954, + "Ġdesign": 2955, + "ĠData": 2956, + "une": 2957, + "ĠFile": 2958, + "root": 2959, + "Ġcent": 2960, + "Ġarr": 2961, + "_add": 2962, + "len": 2963, + "page": 2964, + ",'": 2965, + "_str": 2966, + "Ġbro": 2967, + "ability": 2968, + "outh": 2969, + "58": 2970, + "/c": 2971, + "pose": 2972, + "irtual": 2973, + "earch": 2974, + "_url": 2975, + "argin": 2976, + "Http": 2977, + "Ġschool": 2978, + "ava": 2979, + "Ġconsider": 2980, + ".label": 2981, + "ĠArray": 2982, + "42": 2983, + "web": 2984, + "opt": 2985, + ".println": 2986, + "ulation": 2987, + "Ġfunc": 2988, + "PL": 2989, + "Ġ\"\\": 2990, + "ĠText": 2991, + "actory": 2992, + "(function": 2993, + "null": 2994, + "Ġeng": 2995, + "down": 2996, + "Ġinclude": 2997, + "ĠEn": 2998, + "ĠDr": 2999, + "Ġdb": 3000, + "!!": 3001, + "side": 3002, + "Ġinit": 3003, + "quired": 3004, + "ĠShe": 3005, + "Column": 3006, + "react": 3007, + "Ġann": 3008, + "Ġstop": 3009, + "Ġlater": 3010, + "ĠThat": 3011, + "ention": 3012, + "df": 3013, + "UG": 3014, + "ILE": 3015, + "Ġclient": 3016, + "raft": 3017, + "ffer": 3018, + "POST": 3019, + "elper": 3020, + "Ġlove": 3021, + "quote": 3022, + "oud": 3023, + "Ġjson": 3024, + "Ġable": 3025, + "Ġmen": 3026, + "AX": 3027, + "ĠCopyright": 3028, + "ö": 3029, + "avig": 3030, + "req": 3031, + "Client": 3032, + "});Ċ": 3033, + ".Com": 3034, + "erc": 3035, + "ilt": 3036, + "pecial": 3037, + "_com": 3038, + "room": 3039, + ".Name": 3040, + "Ġgive": 3041, + "amb": 3042, + "ike": 3043, + "Ġcondition": 3044, + "client": 3045, + "ators": 3046, + ":\"": 3047, + "Ġcopy": 3048, + "uture": 3049, + "iversity": 3050, + "ernal": 3051, + "{{": 3052, + "ĠCan": 3053, + "ounc": 3054, + "do": 3055, + "Ġocc": 3056, + "Ġappro": 3057, + "thers": 3058, + "ze": 3059, + "Ġeither": 3060, + "ĠFl": 3061, + "Ġimportant": 3062, + "Ġlead": 3063, + "attr": 3064, + "ART": 3065, + "Equal": 3066, + "Ġda": 3067, + "etch": 3068, + "entity": 3069, + "Ġfamily": 3070, + "adding": 3071, + "Ġoption": 3072, + "Ġexist": 3073, + "ica": 3074, + "ĠObject": 3075, + "69": 3076, + "'ve": 3077, + "vers": 3078, + "itional": 3079, + "67": 3080, + "output": 3081, + "ĠTrue": 3082, + "ĠOF": 3083, + "_time": 3084, + "Ġoffer": 3085, + "Ġ});ĊĊ": 3086, + "HER": 3087, + "egin": 3088, + "\"\"": 3089, + "Ġwater": 3090, + "Ġche": 3091, + "ĠMy": 3092, + "ored": 3093, + "Ġstep": 3094, + "ances": 3095, + "CK": 3096, + "AY": 3097, + "à¸": 3098, + "struction": 3099, + "(C": 3100, + "300": 3101, + "ouch": 3102, + "Stream": 3103, + "active": 3104, + "ama": 3105, + "Entity": 3106, + "product": 3107, + "(){Ċ": 3108, + "Ġgovernment": 3109, + "ĠID": 3110, + "ajor": 3111, + "And": 3112, + "Ġdisplay": 3113, + "л": 3114, + "Ġtimes": 3115, + "Ġfour": 3116, + "Ġfar": 3117, + "Ġpresent": 3118, + "ĠNS": 3119, + "Ġ\\Ċ": 3120, + "uest": 3121, + "Ġbas": 3122, + "echo": 3123, + "child": 3124, + "ifier": 3125, + "Handler": 3126, + "Ġlib": 3127, + "Property": 3128, + "translation": 3129, + "Ġroom": 3130, + "Ġonce": 3131, + "Ġ[]": 3132, + "center": 3133, + "================================": 3134, + "Ġresults": 3135, + "Ġcontinue": 3136, + "Ġtalk": 3137, + "_get": 3138, + "Ġgrow": 3139, + ".sw": 3140, + "eb": 3141, + "ĠPublic": 3142, + "OP": 3143, + "ecute": 3144, + "ols": 3145, + "Ġ**": 3146, + "\");ĊĊ": 3147, + "Ġmass": 3148, + "ured": 3149, + ".class": 3150, + "omic": 3151, + "Ġmean": 3152, + "ips": 3153, + "Ġaut": 3154, + ");čĊčĊ": 3155, + "Ġuntil": 3156, + "Ġmarket": 3157, + "Ġarea": 3158, + "uit": 3159, + "Ġlength": 3160, + "ĠWith": 3161, + "structor": 3162, + "event": 3163, + "\"><": 3164, + "ĠSp": 3165, + "IV": 3166, + "Ġmus": 3167, + "iff": 3168, + "Ġkind": 3169, + "author": 3170, + "ounds": 3171, + "mb": 3172, + "_key": 3173, + "41": 3174, + "width": 3175, + "pository": 3176, + "Ġlight": 3177, + "uk": 3178, + "Row": 3179, + "ohn": 3180, + "alf": 3181, + "vironment": 3182, + "apper": 3183, + "ollections": 3184, + "Ġside": 3185, + "_info": 3186, + "Ġexample": 3187, + "imary": 3188, + "Ġwr": 3189, + "Ġcamp": 3190, + "cribe": 3191, + "255": 3192, + "\"/": 3193, + "Ġmiss": 3194, + "way": 3195, + "Ġbased": 3196, + "Ġplan": 3197, + "Vis": 3198, + "omain": 3199, + "unk": 3200, + "Ġaway": 3201, + "UP": 3202, + "": 3452, + "Ġden": 3453, + "obile": 3454, + "change": 3455, + "ĠĠĠĠĠĠĠĠĠĠĠĠĊ": 3456, + "ici": 3457, + "na": 3458, + "ĠForm": 3459, + "Ġsort": 3460, + "Select": 3461, + "pare": 3462, + "Ġthought": 3463, + "_con": 3464, + "Ġtask": 3465, + "ocus": 3466, + "ĠDE": 3467, + "ĠMin": 3468, + "Ġopt": 3469, + "ĉbreak": 3470, + "umer": 3471, + "KE": 3472, + "then": 3473, + "Ġdet": 3474, + "ĠTest": 3475, + "ports": 3476, + "Ġreview": 3477, + "('/": 3478, + "move": 3479, + "Ġswitch": 3480, + "ERT": 3481, + "patch": 3482, + "annot": 3483, + "ãĤ": 3484, + "Ġabove": 3485, + "itive": 3486, + "56": 3487, + "Ġquestion": 3488, + "ĠQu": 3489, + "ãĢĤĊĊ": 3490, + "gle": 3491, + "Ġword": 3492, + "Ġprovide": 3493, + "ĠReturn": 3494, + "Ġresearch": 3495, + "ão": 3496, + "ustr": 3497, + "Ġpublish": 3498, + "chema": 3499, + "}}": 3500, + "ĠCON": 3501, + "-in": 3502, + "allback": 3503, + "Ġcover": 3504, + "\\\\": 3505, + "color": 3506, + "ĠIS": 3507, + "Ġwhether": 3508, + "imate": 3509, + "isc": 3510, + "Bar": 3511, + "Ġdiv": 3512, + "Be": 3513, + "ourn": 3514, + "Ġhaving": 3515, + "lem": 3516, + "player": 3517, + "abs": 3518, + "amera": 3519, + "ney": 3520, + "Ġexc": 3521, + "gether": 3522, + "plied": 3523, + "ao": 3524, + "[$": 3525, + "Ġ++": 3526, + "ipe": 3527, + "show": 3528, + "/d": 3529, + "[:": 3530, + "agement": 3531, + "lev": 3532, + "_ID": 3533, + "97": 3534, + "rary": 3535, + "ades": 3536, + "_se": 3537, + "ause": 3538, + "Ġemploy": 3539, + "Ġ*/čĊ": 3540, + "Ġfre": 3541, + "Ġ'@": 3542, + "Ġcomplet": 3543, + "Ġlarge": 3544, + "ral": 3545, + "\\x": 3546, + "Ġfac": 3547, + ">": 3662, + "Ġface": 3663, + "CTION": 3664, + "Ġsave": 3665, + "Ġtyp": 3666, + "dev": 3667, + "(\"#": 3668, + "AGE": 3669, + "container": 3670, + "edit": 3671, + "QL": 3672, + "Ġitems": 3673, + "Ġsocial": 3674, + "ien": 3675, + "ĠReact": 3676, + ").ĊĊ": 3677, + "Ġmar": 3678, + "Ġredu": 3679, + "ĠRE": 3680, + ".put": 3681, + "Ġmajor": 3682, + "Cell": 3683, + "next": 3684, + "Ġexpected": 3685, + "Ġyet": 3686, + "Ġindiv": 3687, + "tributes": 3688, + "atis": 3689, + "amed": 3690, + "Ġfood": 3691, + "Source": 3692, + "(string": 3693, + "Ġ+Ċ": 3694, + "ites": 3695, + "dr": 3696, + "Ġmembers": 3697, + "Ġcomb": 3698, + "items": 3699, + "ĠPer": 3700, + "TH": 3701, + "=True": 3702, + "Ġbar": 3703, + "_SE": 3704, + "comm": 3705, + "(w": 3706, + ")ĊĊĊ": 3707, + "Ġsend": 3708, + "Ġinc": 3709, + "unsigned": 3710, + "FA": 3711, + "Ġparams": 3712, + "apping": 3713, + "ros": 3714, + "ugin": 3715, + "fa": 3716, + "Ġconnection": 3717, + "Ġ};ĊĊ": 3718, + "Ġbecome": 3719, + "Mode": 3720, + "Ġev": 3721, + "Ġdiff": 3722, + "ĠUnited": 3723, + "Height": 3724, + "fully": 3725, + "images": 3726, + "Ġmakes": 3727, + "Ġglobal": 3728, + "Ġcontact": 3729, + "':Ċ": 3730, + "Ġabs": 3731, + "аÐ": 3732, + "float": 3733, + "Ġexcept": 3734, + "ĠPol": 3735, + "Child": 3736, + "typ": 3737, + "Ġcertain": 3738, + "ión": 3739, + "OUT": 3740, + "Ġimpro": 3741, + "iles": 3742, + "Ġ-->Ċ": 3743, + "ĠPart": 3744, + "values": 3745, + "oss": 3746, + "/**": 3747, + "ilit": 3748, + "ĠEvent": 3749, + "curity": 3750, + "ster": 3751, + "Ġcharacter": 3752, + "198": 3753, + "Ġnews": 3754, + "Ġ\",": 3755, + "Ġdevice": 3756, + "cel": 3757, + "login": 3758, + "heet": 3759, + "Default": 3760, + "@\"": 3761, + "ĉĠ": 3762, + "click": 3763, + "(value": 3764, + "ĠAb": 3765, + "Ġprevious": 3766, + "ERROR": 3767, + "ocal": 3768, + "Ġmaterial": 3769, + "Ġbelow": 3770, + "ĠChrist": 3771, + "Ġmedia": 3772, + "cover": 3773, + "ĠUI": 3774, + "Ġfail": 3775, + "Ġblack": 3776, + "Ġcomponent": 3777, + "ĠAmerican": 3778, + "Ġadded": 3779, + "Ġbuy": 3780, + "stit": 3781, + "Ġcame": 3782, + "Ġdelete": 3783, + "property": 3784, + "oding": 3785, + "Ġcard": 3786, + "rops": 3787, + "Ġhttps": 3788, + "Ġroot": 3789, + "Ġhandle": 3790, + "CC": 3791, + "Back": 3792, + "emplate": 3793, + "Ġgetting": 3794, + "_by": 3795, + "mail": 3796, + "_sh": 3797, + ".assert": 3798, + "ĠDec": 3799, + "(true": 3800, + "Ġcomput": 3801, + "Ġclaim": 3802, + "'=>": 3803, + "ĠSub": 3804, + "Ġair": 3805, + "ops": 3806, + "nav": 3807, + "ements": 3808, + "(id": 3809, + "Ġenter": 3810, + "anged": 3811, + "End": 3812, + "Ġlocation": 3813, + "Ġnight": 3814, + "Ġdoing": 3815, + "ĠRed": 3816, + "lin": 3817, + "}ĊĊĊ": 3818, + "vider": 3819, + "Ġpick": 3820, + "Ġwatch": 3821, + "essages": 3822, + "Ġhuman": 3823, + "Ġdam": 3824, + "pend": 3825, + "dir": 3826, + "Ġtax": 3827, + "Ġgirl": 3828, + "reet": 3829, + "Ġbox": 3830, + "Ġstrong": 3831, + "(v": 3832, + "rel": 3833, + "Ġinterface": 3834, + "Ġmsg": 3835, + "fect": 3836, + "_at": 3837, + "Ġhouse": 3838, + "Ġtrack": 3839, + "');ĊĊ": 3840, + "je": 3841, + "ĠJohn": 3842, + "istr": 3843, + "(S": 3844, + "ube": 3845, + "Ġce": 3846, + "itted": 3847, + "VER": 3848, + "*)": 3849, + "parent": 3850, + "Ġapplication": 3851, + "any": 3852, + ".swing": 3853, + "Ġpack": 3854, + "\\u": 3855, + "Ġpract": 3856, + "Ġsection": 3857, + "ctx": 3858, + "Ġunsigned": 3859, + ".Point": 3860, + "ĠOne": 3861, + "ı": 3862, + "iple": 3863, + "aid": 3864, + "Ñĥ": 3865, + "Vector": 3866, + "byte": 3867, + "Ġwait": 3868, + "ĠÃł": 3869, + "Ã¥": 3870, + "Ġtogether": 3871, + "Ġthrows": 3872, + "FO": 3873, + "'))": 3874, + "host": 3875, + "ising": 3876, + ".view": 3877, + "Ġterms": 3878, + "framework": 3879, + "-r": 3880, + "Ġapply": 3881, + "Ġsession": 3882, + "Options": 3883, + "uggest": 3884, + "Ġothers": 3885, + "witter": 3886, + "Ġfund": 3887, + "Init": 3888, + "__(": 3889, + "ensor": 3890, + "GET": 3891, + "Ġseveral": 3892, + "ii": 3893, + "[j": 3894, + "IO": 3895, + "Ġtemplate": 3896, + "Position": 3897, + "Ġecon": 3898, + "achine": 3899, + "Ġil": 3900, + ".spring": 3901, + "main": 3902, + "elt": 3903, + "iment": 3904, + "Rec": 3905, + "mm": 3906, + "ĠUniversity": 3907, + "ursor": 3908, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 3909, + "GL": 3910, + "icture": 3911, + "ithub": 3912, + "cer": 3913, + "cast": 3914, + "From": 3915, + "ales": 3916, + "Ġsubject": 3917, + "password": 3918, + "ny": 3919, + "Ġesc": 3920, + ".write": 3921, + "ï¼Į": 3922, + "What": 3923, + ".H": 3924, + "Ġhistory": 3925, + "ĠFe": 3926, + "Ġindividual": 3927, + "unit": 3928, + "Ġ-->": 3929, + "Ġdu": 3930, + "IST": 3931, + "Ġusers": 3932, + "fs": 3933, + "false": 3934, + "unt": 3935, + "Title": 3936, + "Ġmot": 3937, + "Ġfuture": 3938, + "ached": 3939, + "Ġstarted": 3940, + "Ġmode": 3941, + "Ġ'<": 3942, + "_array": 3943, + "Ġax": 3944, + "'];Ċ": 3945, + "ires": 3946, + "There": 3947, + "ught": 3948, + "tml": 3949, + "posed": 3950, + "icult": 3951, + "Ġtook": 3952, + "Ġgames": 3953, + "Ġ}}": 3954, + "Ġ?>Ċ": 3955, + "Ġproducts": 3956, + "Is": 3957, + "Ġbad": 3958, + "ĠDes": 3959, + ".path": 3960, + "'ĊĊ": 3961, + "ĠPost": 3962, + "avel": 3963, + "(:": 3964, + "150": 3965, + "Ġneeds": 3966, + "Ġknown": 3967, + "Fl": 3968, + "Ġexec": 3969, + "Ġseen": 3970, + "51": 3971, + "ume": 3972, + "Ġborder": 3973, + "Ġlive": 3974, + "temp": 3975, + "Per": 3976, + "Ġvariable": 3977, + "iet": 3978, + "ĠDef": 3979, + "Ġge": 3980, + "eme": 3981, + "_back": 3982, + "first": 3983, + "Ġprovided": 3984, + "////////////////////////////////": 3985, + "Ġfilename": 3986, + "Ġhope": 3987, + "uly": 3988, + "auto": 3989, + "find": 3990, + "_string": 3991, + "btn": 3992, + "itude": 3993, + "Attribute": 3994, + "Ġyoung": 3995, + ".txt": 3996, + "Ġwebsite": 3997, + "ĠProp": 3998, + "Ġey": 3999, + ">();Ċ": 4000, + "ional": 4001, + "ARR": 4002, + "ictionary": 4003, + "urther": 4004, + ".": 4085, + "tx": 4086, + "Ġpur": 4087, + "uel": 4088, + "ymbol": 4089, + "uation": 4090, + "anger": 4091, + "Ġbackground": 4092, + "ecess": 4093, + "efined": 4094, + "........": 4095, + "Ġdescription": 4096, + "Ġrepresent": 4097, + "\"));Ċ": 4098, + "pression": 4099, + "rowser": 4100, + "Ġseries": 4101, + "wards": 4102, + "52": 4103, + "($_": 4104, + "aise": 4105, + "Ġhot": 4106, + "acity": 4107, + "ries": 4108, + "actions": 4109, + "Create": 4110, + "adio": 4111, + "amples": 4112, + "Ġoriginal": 4113, + "ensive": 4114, + "font": 4115, + "stream": 4116, + "using": 4117, + ".springframework": 4118, + "001": 4119, + "server": 4120, + "Ġbill": 4121, + "ACK": 4122, + "ilename": 4123, + "Ġframe": 4124, + "Ġ=Ċ": 4125, + "Edit": 4126, + "adius": 4127, + "Ġdraw": 4128, + "anks": 4129, + "Ġdeter": 4130, + "Ġcomes": 4131, + "_int": 4132, + "Ġforeach": 4133, + "angle": 4134, + "Ġelect": 4135, + "pected": 4136, + "Header": 4137, + "istration": 4138, + "False": 4139, + "ĠGame": 4140, + "Ġfilter": 4141, + "Activity": 4142, + "Ġlarg": 4143, + "inition": 4144, + "Ġ\"<": 4145, + "256": 4146, + "ised": 4147, + "Ġremove": 4148, + "ĠTrans": 4149, + "met": 4150, + "see": 4151, + "Format": 4152, + "Command": 4153, + "ĠEX": 4154, + "None": 4155, + "Ġfront": 4156, + "ASE": 4157, + "ĠRec": 4158, + "oundation": 4159, + "Ġvo": 4160, + "96": 4161, + "=\\\"": 4162, + "(*": 4163, + "Change": 4164, + ".Write": 4165, + "group": 4166, + "ients": 4167, + "uy": 4168, + "****************************************************************": 4169, + "Ġdig": 4170, + "hr": 4171, + "(-": 4172, + "Ġgen": 4173, + "number": 4174, + "vec": 4175, + "urope": 4176, + "entry": 4177, + "LL": 4178, + "Ġste": 4179, + "Valid": 4180, + "'],": 4181, + "_param": 4182, + "Ġselected": 4183, + "Ġaccording": 4184, + "ĠDis": 4185, + "Ġutil": 4186, + "Buffer": 4187, + "_error": 4188, + "Ġassoci": 4189, + "_SIZE": 4190, + "Ġwor": 4191, + "Ġprintf": 4192, + "rag": 4193, + "Âł": 4194, + "DD": 4195, + "ĠVal": 4196, + "Ġactiv": 4197, + "Eng": 4198, + "etime": 4199, + "Ġvirtual": 4200, + "aign": 4201, + "aur": 4202, + "ĠPres": 4203, + "ĠException": 4204, + "Ġanything": 4205, + "ĠOff": 4206, + "Ġhours": 4207, + "Ġwar": 4208, + "Args": 4209, + "aging": 4210, + "Ġmodels": 4211, + "ĠTime": 4212, + "Ob": 4213, + "ams": 4214, + "joy": 4215, + "Ġearly": 4216, + ".read": 4217, + "86": 4218, + "Ġcenter": 4219, + "ĠInitial": 4220, + "Ġlanguage": 4221, + "length": 4222, + "xy": 4223, + "Ġsn": 4224, + "Ġinf": 4225, + "Post": 4226, + "Ġago": 4227, + "Ġeasy": 4228, + "_code": 4229, + "ĠANY": 4230, + "_ch": 4231, + "Ġdownload": 4232, + "(T": 4233, + "aved": 4234, + "âĢĵ": 4235, + "Ġstudents": 4236, + "Ġfig": 4237, + "light": 4238, + "xx": 4239, + "Ġbuffer": 4240, + "ĠDep": 4241, + "ĠMath": 4242, + "ITH": 4243, + "Ġvari": 4244, + "Ġdue": 4245, + "Factory": 4246, + "Ġpor": 4247, + "Ġep": 4248, + "otype": 4249, + "Ġcannot": 4250, + "Ġwhite": 4251, + "čĊ": 4524, + ".annot": 4525, + "Ġcollection": 4526, + "'.": 4527, + "Ġsimilar": 4528, + "Ġtaken": 4529, + "(\"%": 4530, + "Order": 4531, + "']Ċ": 4532, + "-md": 4533, + "ĠTH": 4534, + "aced": 4535, + "Ġisn": 4536, + "/j": 4537, + "Ġson": 4538, + "graph": 4539, + "ĠInteger": 4540, + "Ġnecess": 4541, + "reen": 4542, + "Ġum": 4543, + "Ġ\\<": 4544, + "Ġmoment": 4545, + "Ġbring": 4546, + "Ġindic": 4547, + "ysis": 4548, + "Level": 4549, + "verse": 4550, + "urrenc": 4551, + "_test": 4552, + "Ġentire": 4553, + "Down": 4554, + "Ġ}ĊĊĊ": 4555, + "(result": 4556, + "ĠRead": 4557, + "è": 4558, + "Mod": 4559, + "Ġtrying": 4560, + "\"),Ċ": 4561, + "Ġmember": 4562, + "ĠCor": 4563, + "ODO": 4564, + "-control": 4565, + "untime": 4566, + "ĠSim": 4567, + "Dialog": 4568, + "plot": 4569, + "_on": 4570, + "Ġphys": 4571, + "}/": 4572, + "Ġnamespace": 4573, + "ĉčĊ": 4574, + "acc": 4575, + "Player": 4576, + "ARE": 4577, + "89": 4578, + "Ġfoot": 4579, + "Ġboard": 4580, + "part": 4581, + "Ġsus": 4582, + "wise": 4583, + "ĠMc": 4584, + "Ġpush": 4585, + "ATA": 4586, + "Ġplease": 4587, + "ried": 4588, + "weet": 4589, + "bit": 4590, + "ided": 4591, + "VE": 4592, + "ĠSw": 4593, + "UB": 4594, + "Ġtypes": 4595, + "edia": 4596, + "Ġclos": 4597, + "acebook": 4598, + "When": 4599, + "Ġedit": 4600, + "igger": 4601, + "Ġenerg": 4602, + "Container": 4603, + "Ġphot": 4604, + "ĠCount": 4605, + "ĠEurope": 4606, + ".Is": 4607, + "ĠRuss": 4608, + "peed": 4609, + "ĠStr": 4610, + "Ġpy": 4611, + "Ġcult": 4612, + "Ġdefined": 4613, + "ccount": 4614, + "Ġobt": 4615, + ".Location": 4616, + "Ġthread": 4617, + "ille": 4618, + "Ġinstead": 4619, + "strong": 4620, + "ĠSec": 4621, + "URE": 4622, + "Ġidea": 4623, + ".se": 4624, + "emy": 4625, + "selected": 4626, + "Connection": 4627, + "acing": 4628, + "thread": 4629, + ".next": 4630, + "Ġcoll": 4631, + "Ġfilm": 4632, + "istic": 4633, + "Ġcompet": 4634, + "Ġconn": 4635, + "though": 4636, + "Ġcompan": 4637, + "ocket": 4638, + "Ġteach": 4639, + "=(": 4640, + "Ġphone": 4641, + "Ġactive": 4642, + "79": 4643, + "delete": 4644, + "101": 4645, + "tries": 4646, + "Ġmo": 4647, + "Ġdeath": 4648, + "});ĊĊ": 4649, + "ocol": 4650, + "Widget": 4651, + "Ġarticle": 4652, + "rodu": 4653, + "andid": 4654, + "Ñĭ": 4655, + "ĠCr": 4656, + "ka": 4657, + "():": 4658, + "lood": 4659, + "ĉĉĉĊ": 4660, + "Ġalmost": 4661, + "Ġsell": 4662, + "ervlet": 4663, + "rip": 4664, + "Unit": 4665, + "Ġapplic": 4666, + "Ġconnect": 4667, + "Ġfeature": 4668, + "Ġvia": 4669, + "'),": 4670, + "Ġlim": 4671, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 4672, + "ĠGu": 4673, + "Engine": 4674, + "Ġens": 4675, + "Ġenvironment": 4676, + "block": 4677, + "HERE": 4678, + "NULL": 4679, + "gy": 4680, + "tag": 4681, + ")).": 4682, + "exp": 4683, + "Ġcompl": 4684, + "Ġinstall": 4685, + "Ġcomplete": 4686, + "queue": 4687, + "atural": 4688, + "Ġgeneral": 4689, + "thon": 4690, + "Ġasked": 4691, + "ores": 4692, + "(res": 4693, + "Ġreserved": 4694, + "SP": 4695, + "Ġâ̦": 4696, + "ÅĤ": 4697, + "Ġsignific": 4698, + "Off": 4699, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 4700, + "ĠAg": 4701, + "ĠJust": 4702, + "ĠError": 4703, + "Ġinfl": 4704, + "adata": 4705, + "Ġicon": 4706, + "asks": 4707, + "''": 4708, + "_LO": 4709, + "?.": 4710, + "account": 4711, + "Ġ(*": 4712, + "')ĊĊ": 4713, + "rap": 4714, + "_var": 4715, + "ĠFOR": 4716, + "Ġparty": 4717, + "ĠYour": 4718, + "cat": 4719, + "stry": 4720, + ".new": 4721, + "boot": 4722, + "ĠNov": 4723, + "Ġvector": 4724, + "Ġnormal": 4725, + "Ġfurther": 4726, + "Repository": 4727, + "800": 4728, + "Ġdatabase": 4729, + "attle": 4730, + "Ġmusic": 4731, + "Ġspeed": 4732, + "Ġdoc": 4733, + "process": 4734, + "IGHT": 4735, + ".parse": 4736, + "Ġtaking": 4737, + "Ġviol": 4738, + "ceed": 4739, + "ĠAfter": 4740, + "Ġforward": 4741, + "Ġcrit": 4742, + "\"/>Ċ": 4743, + "rot": 4744, + "Ġfailed": 4745, + "efore": 4746, + "Ġconcern": 4747, + "oe": 4748, + "ba": 4749, + "Ġsender": 4750, + "Ġterm": 4751, + "has": 4752, + "=\"#": 4753, + "Ġpotential": 4754, + "Num": 4755, + "Ġpublished": 4756, + ".close": 4757, + "ĠImage": 4758, + "straint": 4759, + "UD": 4760, + "ĠOb": 4761, + "Ġprobably": 4762, + "lim": 4763, + "\":Ċ": 4764, + "olume": 4765, + "Ġconsum": 4766, + "76": 4767, + "ague": 4768, + "ensions": 4769, + "Ġinvestig": 4770, + "-year": 4771, + "');": 4772, + "-sm": 4773, + "Ġenjoy": 4774, + "orig": 4775, + "ering": 4776, + "cp": 4777, + "leased": 4778, + "plements": 4779, + "Ġreturns": 4780, + "pat": 4781, + "BO": 4782, + "ĠHouse": 4783, + ".Label": 4784, + "Ġweight": 4785, + "ighb": 4786, + "Ġconditions": 4787, + "Ġexception": 4788, + "description": 4789, + "Ġtrad": 4790, + "-to": 4791, + "Ġ{}": 4792, + "Ġmodule": 4793, + "END": 4794, + ".ap": 4795, + ".props": 4796, + "Ġconstructor": 4797, + "aves": 4798, + "Ġfavor": 4799, + "ĠNow": 4800, + ";i": 4801, + "ĠMain": 4802, + "_k": 4803, + "eries": 4804, + "âĢĻll": 4805, + "transform": 4806, + "imestamp": 4807, + "Pre": 4808, + "Ġmer": 4809, + ".res": 4810, + "stant": 4811, + "Location": 4812, + "_NAME": 4813, + "Ġloss": 4814, + "ĠĊĊ": 4815, + "net": 4816, + "Ġengine": 4817, + "Block": 4818, + "Ġissues": 4819, + "Ġparse": 4820, + "ĠBar": 4821, + "Ġstay": 4822, + "ĠJSON": 4823, + "Ġdom": 4824, + "airs": 4825, + "wner": 4826, + "Ġlower": 4827, + "\",čĊ": 4828, + "ĠDem": 4829, + "ufact": 4830, + "Ġps": 4831, + "Ġperfect": 4832, + "RL": 4833, + "Ġeduc": 4834, + "ls": 4835, + "emory": 4836, + "ARRANT": 4837, + "uge": 4838, + "Ġexact": 4839, + ".key": 4840, + "alled": 4841, + "ech": 4842, + "ief": 4843, + "\\/": 4844, + "oke": 4845, + "Ġformer": 4846, + "alloc": 4847, + "Ġsix": 4848, + "ida": 4849, + "Ġmargin": 4850, + "Ġheart": 4851, + "ald": 4852, + "pack": 4853, + ".getElementById": 4854, + "ĠWARRANT": 4855, + "Ġrather": 4856, + "Ġbuilding": 4857, + "erman": 4858, + "lice": 4859, + "Ġquestions": 4860, + "izes": 4861, + "lege": 4862, + "irectory": 4863, + "Ġje": 4864, + "Ġcas": 4865, + "props": 4866, + "utf": 4867, + "Ġsecurity": 4868, + "Ġhowever": 4869, + "weight": 4870, + "Ġinside": 4871, + "Ġpresident": 4872, + "Char": 4873, + "ĠWITH": 4874, + ".map": 4875, + "Ġgraph": 4876, + "Ġtag": 4877, + "_status": 4878, + "Ġattempt": 4879, + "opp": 4880, + "uses": 4881, + "ĉconst": 4882, + "Ġround": 4883, + ",$": 4884, + "Ġfriends": 4885, + "Email": 4886, + "?>": 4887, + "Resource": 4888, + "KEY": 4889, + "osp": 4890, + ".query": 4891, + "ĠNorth": 4892, + "ables": 4893, + "istrib": 4894, + "_class": 4895, + "ello": 4896, + "That": 4897, + "к": 4898, + "pecially": 4899, + "ĠPresident": 4900, + "Ġcampaign": 4901, + "Ġalt": 4902, + "area": 4903, + "Ġchall": 4904, + "Ġopport": 4905, + ".Con": 4906, + "Ġenergy": 4907, + "like": 4908, + ".string": 4909, + "ington": 4910, + ")*": 4911, + "yy": 4912, + "Ġprofession": 4913, + "irth": 4914, + "Ġseg": 4915, + "æľ": 4916, + "Ġhor": 4917, + "iers": 4918, + "can": 4919, + "Ġbehind": 4920, + "Product": 4921, + "fg": 4922, + "ĠSk": 4923, + ".jpg": 4924, + "?:": 4925, + "];ĊĊ": 4926, + "Ġcallback": 4927, + "ĠHttp": 4928, + "ÑĮ": 4929, + "long": 4930, + "MS": 4931, + "ATH": 4932, + "Ġraise": 4933, + "Ġwanted": 4934, + "rown": 4935, + "utor": 4936, + "lt": 4937, + "]=": 4938, + "eline": 4939, + "MA": 4940, + "Ġsepar": 4941, + "cs": 4942, + "semb": 4943, + "Dis": 4944, + "bserv": 4945, + "ĠWill": 4946, + "Ġpolicy": 4947, + "Ġthird": 4948, + "phone": 4949, + "Ġbed": 4950, + "/g": 4951, + ".__": 4952, + "ĠInc": 4953, + "izing": 4954, + ".remove": 4955, + "instance": 4956, + ".type": 4957, + "Ġserv": 4958, + "Each": 4959, + "Ġhar": 4960, + "ĠMessage": 4961, + "(key": 4962, + "SELECT": 4963, + "Pos": 4964, + "));čĊ": 4965, + "Ġrecomm": 4966, + "Ġtraining": 4967, + "ĠEnt": 4968, + "ĠChar": 4969, + "icht": 4970, + "(file": 4971, + "Ġprior": 4972, + "Game": 4973, + "Ġexit": 4974, + "Params": 4975, + ".core": 4976, + "PC": 4977, + "nes": 4978, + "anced": 4979, + "(request": 4980, + "Password": 4981, + "}>Ċ": 4982, + "Ġmag": 4983, + "Ġrelease": 4984, + "Ġshall": 4985, + "udent": 4986, + "ĠSouth": 4987, + "ando": 4988, + ":'": 4989, + ".TabIndex": 4990, + "sk": 4991, + "anner": 4992, + "isset": 4993, + "Ġoutside": 4994, + "ledge": 4995, + "Ġå": 4996, + "ĠRob": 4997, + "Ġimm": 4998, + "!Ċ": 4999, + "ĠWeb": 5000, + "Des": 5001, + "BC": 5002, + "ancial": 5003, + "Route": 5004, + "Dec": 5005, + "ferences": 5006, + "Ġpurch": 5007, + "ĠModel": 5008, + "ctor": 5009, + "gn": 5010, + "_start": 5011, + "_un": 5012, + ".*": 5013, + "ises": 5014, + "Ġground": 5015, + "Ġunique": 5016, + "Ġbeaut": 5017, + "{\"": 5018, + "Ġpour": 5019, + "ĠOct": 5020, + "Ġtree": 5021, + "sets": 5022, + "_res": 5023, + "')->": 5024, + "_reg": 5025, + "(\"\\": 5026, + "Ġbyte": 5027, + "Bl": 5028, + "Ġdating": 5029, + "Ġmatter": 5030, + "ĠRem": 5031, + "Ġ'../": 5032, + "ĠAug": 5033, + "ĠLa": 5034, + "Ġ$(": 5035, + "ournal": 5036, + "111": 5037, + "iam": 5038, + "Ġshows": 5039, + "write": 5040, + "Ġball": 5041, + "Ġsimply": 5042, + "Ġfast": 5043, + "Ġmemory": 5044, + "ASS": 5045, + "ĠOf": 5046, + "oved": 5047, + "ante": 5048, + "aul": 5049, + "istry": 5050, + ")));Ċ": 5051, + "Ġfit": 5052, + "_": 5239, + "\")ĊĊ": 5240, + "ox": 5241, + "application": 5242, + "Ġ]Ċ": 5243, + "ĊĊĊĊĊĊ": 5244, + "180": 5245, + "Ġsoon": 5246, + "ctions": 5247, + "inger": 5248, + "Ġjoin": 5249, + "ĠPe": 5250, + "Ġë": 5251, + "Ġlas": 5252, + ".E": 5253, + "css": 5254, + "/or": 5255, + "ĠStart": 5256, + "ĠTO": 5257, + "Ġsubs": 5258, + "conn": 5259, + "components": 5260, + "DEBUG": 5261, + "quare": 5262, + "Function": 5263, + "endar": 5264, + ".index": 5265, + "Ġfill": 5266, + "ÄĻ": 5267, + "Ġchoose": 5268, + "how": 5269, + "ĠAmerica": 5270, + "assets": 5271, + "------------": 5272, + "ĠValue": 5273, + "Ġoffice": 5274, + "Ġveh": 5275, + "Ġtransform": 5276, + "ĠArt": 5277, + "Ġinde": 5278, + "Ġfn": 5279, + "Ġimplements": 5280, + "ango": 5281, + "plete": 5282, + "+\"": 5283, + "tmp": 5284, + "amily": 5285, + "Ġhash": 5286, + "missions": 5287, + "EST": 5288, + "gt": 5289, + "Provider": 5290, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 5291, + "Ġflag": 5292, + "Ġparticip": 5293, + "den": 5294, + "ĠReturns": 5295, + "Ġnote": 5296, + "ür": 5297, + "pm": 5298, + "ideos": 5299, + "Ġspecified": 5300, + "ĠEN": 5301, + "ester": 5302, + "olid": 5303, + "Ġupon": 5304, + "(std": 5305, + "ĉv": 5306, + "Ġ'\\": 5307, + "uz": 5308, + "Ġvert": 5309, + "Ġvict": 5310, + "ĉself": 5311, + "Ġ\"$": 5312, + "85": 5313, + ".k": 5314, + "Ġgroups": 5315, + "github": 5316, + "lang": 5317, + "Ġmut": 5318, + "TO": 5319, + "Ġve": 5320, + "ĠPlease": 5321, + ";ĊĊĊ": 5322, + "access": 5323, + "Ġ{\"": 5324, + "rea": 5325, + "Ġrisk": 5326, + "icker": 5327, + "oggle": 5328, + "ĉwhile": 5329, + "ANG": 5330, + ".send": 5331, + "72": 5332, + "Ġwoman": 5333, + "Ġgets": 5334, + "Ġign": 5335, + "ĠId": 5336, + "_log": 5337, + "ONE": 5338, + "Ġevid": 5339, + "ĠHar": 5340, + "_sub": 5341, + "Ġendl": 5342, + "Ġincluded": 5343, + "());ĊĊ": 5344, + "ĠAp": 5345, + "igr": 5346, + "Ġsem": 5347, + "ĠBlack": 5348, + "doc": 5349, + "_table": 5350, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 5351, + "-up": 5352, + "Ġcause": 5353, + "Ġ..": 5354, + "Ġvan": 5355, + "_dict": 5356, + "Ġfocus": 5357, + "IND": 5358, + "CESS": 5359, + ".Log": 5360, + "Ġmultiple": 5361, + "ido": 5362, + "Ġregard": 5363, + "-M": 5364, + "andler": 5365, + "ourse": 5366, + "Ġdeg": 5367, + ".U": 5368, + "Ġaddition": 5369, + "Ġvarious": 5370, + "Ġreceive": 5371, + "ен": 5372, + "ĠHT": 5373, + "Obj": 5374, + "DF": 5375, + "Ġincrease": 5376, + "ĠOpen": 5377, + "];": 5378, + "Ġcommit": 5379, + "?Ċ": 5380, + "ategories": 5381, + "atory": 5382, + "ship": 5383, + "ĠMich": 5384, + "Ġhtml": 5385, + "romise": 5386, + "Ġleave": 5387, + "Ġstrateg": 5388, + "aven": 5389, + "ĠConsole": 5390, + "known": 5391, + "-n": 5392, + "_LE": 5393, + ".component": 5394, + "Ġbre": 5395, + "Session": 5396, + "iance": 5397, + "Ġalign": 5398, + "typedef": 5399, + "_result": 5400, + "ĠWHERE": 5401, + ".split": 5402, + "Ġreading": 5403, + "FAULT": 5404, + "Ġclo": 5405, + "Ġnotice": 5406, + "_pr": 5407, + "arter": 5408, + "Ġlock": 5409, + "Ġstandard": 5410, + "etic": 5411, + "ellow": 5412, + "Ġpadding": 5413, + "ĠHis": 5414, + "Ġstates": 5415, + "_cast": 5416, + "(P": 5417, + "aa": 5418, + "Ġinternal": 5419, + "ean": 5420, + "ĠPRO": 5421, + "ĠKey": 5422, + "Ġespecially": 5423, + "ming": 5424, + "Ġcross": 5425, + "Ġnational": 5426, + "_object": 5427, + "filter": 5428, + "Ġscript": 5429, + ".update": 5430, + "_i": 5431, + "ĠAssert": 5432, + "/core": 5433, + "%%%%": 5434, + "Ġproblems": 5435, + "istor": 5436, + "Ġ.=": 5437, + "Ġarch": 5438, + "Ġwritten": 5439, + "Ġmilit": 5440, + "MENT": 5441, + ".ch": 5442, + "cape": 5443, + "ĠMus": 5444, + "_config": 5445, + "ĠAPI": 5446, + "foot": 5447, + "Ġimages": 5448, + "endl": 5449, + ".In": 5450, + "First": 5451, + "Ġplatform": 5452, + ".prot": 5453, + "Option": 5454, + "ste": 5455, + "ĠTODO": 5456, + "Ġforce": 5457, + ".cont": 5458, + "ĉecho": 5459, + "ĠDav": 5460, + "Ptr": 5461, + "(B": 5462, + "RT": 5463, + "ĠBase": 5464, + "]['": 5465, + "Ġannounc": 5466, + "console": 5467, + "ĠPy": 5468, + "ds": 5469, + ".as": 5470, + "Ġprevent": 5471, + "apan": 5472, + "Ġ{'": 5473, + "}'": 5709, + "Ġdead": 5710, + "VAL": 5711, + "QUE": 5712, + "************************************************************************": 5713, + "Ġcharg": 5714, + "Return": 5715, + "Ġful": 5716, + "dom": 5717, + "Ġrules": 5718, + "Ġmodify": 5719, + "Ġeval": 5720, + "ham": 5721, + "atement": 5722, + "\\<": 5723, + "ula": 5724, + "=False": 5725, + "RA": 5726, + "Ġcontains": 5727, + "74": 5728, + "Ġstack": 5729, + "mar": 5730, + "Ġ{}Ċ": 5731, + "Ġundefined": 5732, + "Ass": 5733, + "ĠChina": 5734, + "vey": 5735, + "*Ċ": 5736, + "Ġplaying": 5737, + ")/": 5738, + "actor": 5739, + "Ġbottom": 5740, + "lier": 5741, + "ĠNumber": 5742, + "Ġcouple": 5743, + "DC": 5744, + "ĠSO": 5745, + "gor": 5746, + ".setText": 5747, + "success": 5748, + "command": 5749, + "Filter": 5750, + "ĠOur": 5751, + "_item": 5752, + "Ġctx": 5753, + "Ġroad": 5754, + "Version": 5755, + "case": 5756, + "urt": 5757, + "avior": 5758, + "ych": 5759, + "sembly": 5760, + "ĠProduct": 5761, + "Ġheld": 5762, + "afe": 5763, + "Ġincludes": 5764, + "&": 5909, + "CON": 5910, + "Ġrepl": 5911, + "Ġregular": 5912, + "Storage": 5913, + "ramework": 5914, + "Ġgoal": 5915, + "Ġtouch": 5916, + ".widget": 5917, + "Ġbuilt": 5918, + "des": 5919, + "Part": 5920, + "(re": 5921, + "Ġworth": 5922, + "hib": 5923, + "game": 5924, + "91": 5925, + "192": 5926, + "Ġв": 5927, + "acion": 5928, + "ĠWhite": 5929, + "(type": 5930, + "(`": 5931, + "81": 5932, + "Ġnatural": 5933, + "Ġinj": 5934, + "Ġcalcul": 5935, + "ĠApril": 5936, + ".List": 5937, + "Ġassociated": 5938, + "ĉSystem": 5939, + "~~": 5940, + "=[": 5941, + "Ġstorage": 5942, + "Ġbytes": 5943, + "Ġtravel": 5944, + "Ġsou": 5945, + "Ġpassed": 5946, + "!=": 5947, + "ascript": 5948, + ".open": 5949, + "Ġgrid": 5950, + "Ġbus": 5951, + "Ġrecogn": 5952, + "Ab": 5953, + "Ġhon": 5954, + "ĠCenter": 5955, + "Ġprec": 5956, + "build": 5957, + "73": 5958, + "HTML": 5959, + "ĠSan": 5960, + "Ġcountries": 5961, + "aled": 5962, + "token": 5963, + "kt": 5964, + "Ġqual": 5965, + "Last": 5966, + "adow": 5967, + "Ġmanufact": 5968, + "idad": 5969, + "jango": 5970, + "Next": 5971, + "xf": 5972, + ".a": 5973, + "Ġporno": 5974, + "ĠPM": 5975, + "erve": 5976, + "iting": 5977, + "_th": 5978, + "ci": 5979, + "=None": 5980, + "gs": 5981, + "Ġlogin": 5982, + "atives": 5983, + "']);Ċ": 5984, + "Äħ": 5985, + "Ġill": 5986, + "IA": 5987, + "children": 5988, + "DO": 5989, + "Ġlevels": 5990, + "Ġ{{": 5991, + "Ġlooks": 5992, + "Ġ\"#": 5993, + "ToString": 5994, + "Ġnecessary": 5995, + "ĠĠĠĊ": 5996, + "cell": 5997, + "Entry": 5998, + "Ġ'#": 5999, + "Ġextrem": 6000, + "Selector": 6001, + "Ġplaceholder": 6002, + "Load": 6003, + "Ġreleased": 6004, + "ORE": 6005, + "Enumer": 6006, + "ĠTV": 6007, + "SET": 6008, + "inq": 6009, + "Press": 6010, + "ĠDepartment": 6011, + "Ġproperties": 6012, + "Ġrespond": 6013, + "Search": 6014, + "ael": 6015, + "Ġrequ": 6016, + "ĠBook": 6017, + "/Ċ": 6018, + "(st": 6019, + "Ġfinancial": 6020, + "icket": 6021, + "_input": 6022, + "Ġthreat": 6023, + "(in": 6024, + "Strip": 6025, + "ìĿ": 6026, + "ção": 6027, + "71": 6028, + "Ġevidence": 6029, + "));": 6030, + "ĠBro": 6031, + "Ġ[];Ċ": 6032, + "Ġou": 6033, + "buf": 6034, + "Script": 6035, + "dat": 6036, + "Ġrule": 6037, + "#import": 6038, + "=\"/": 6039, + "Serial": 6040, + "Ġstarting": 6041, + "[index": 6042, + "ae": 6043, + "Ġcontrib": 6044, + "session": 6045, + "_new": 6046, + "utable": 6047, + "ober": 6048, + "Ġ\"./": 6049, + "Ġlogger": 6050, + "Ġrecently": 6051, + "Ġreturned": 6052, + "ččĊ": 6053, + ")))Ċ": 6054, + "itions": 6055, + "Ġseek": 6056, + "Ġcommunic": 6057, + "Ġ\".": 6058, + "Ġusername": 6059, + "ECT": 6060, + "DS": 6061, + "Ġotherwise": 6062, + "ĠGerman": 6063, + ".aw": 6064, + "Adapter": 6065, + "ixel": 6066, + "Ġsystems": 6067, + "Ġdrop": 6068, + "83": 6069, + "Ġstructure": 6070, + "Ġ$(\"#": 6071, + "encies": 6072, + "anning": 6073, + "ĠLink": 6074, + "ĠResponse": 6075, + "Ġstri": 6076, + "ż": 6077, + "ĠDB": 6078, + "æĹ": 6079, + "android": 6080, + "submit": 6081, + "otion": 6082, + "92": 6083, + "(@": 6084, + ".test": 6085, + "82": 6086, + "ĊĊĊĊĊĊĊĊ": 6087, + "];čĊ": 6088, + "Ġdirectly": 6089, + "Ġ\"%": 6090, + "ris": 6091, + "elta": 6092, + "AIL": 6093, + "){čĊ": 6094, + "mine": 6095, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 6096, + "(k": 6097, + "bon": 6098, + "asic": 6099, + "pite": 6100, + "___": 6101, + "Max": 6102, + "Ġerrors": 6103, + "ĠWhile": 6104, + "Ġarguments": 6105, + "Ġensure": 6106, + "Right": 6107, + "-based": 6108, + "Web": 6109, + "Ġ-=": 6110, + "Ġintrodu": 6111, + "ĠInst": 6112, + "ĠWash": 6113, + "ordin": 6114, + "join": 6115, + "Database": 6116, + "Ġgrad": 6117, + "Ġusually": 6118, + "ITE": 6119, + "Props": 6120, + "?>Ċ": 6121, + "ĠGo": 6122, + "@Override": 6123, + "REF": 6124, + "Ġip": 6125, + "ĠAustral": 6126, + "Ġist": 6127, + "ViewById": 6128, + "Ġserious": 6129, + "Ġcustomer": 6130, + ".prototype": 6131, + "odo": 6132, + "cor": 6133, + "Ġdoor": 6134, + "ĠWITHOUT": 6135, + "Ġplant": 6136, + "Ġbegan": 6137, + "Ġdistance": 6138, + "()).": 6139, + "Ġchance": 6140, + "Ġord": 6141, + "came": 6142, + "pragma": 6143, + "Ġprotect": 6144, + "ragment": 6145, + "ĠNode": 6146, + "ening": 6147, + "Ñĩ": 6148, + "Ġroute": 6149, + "ĠSchool": 6150, + "hi": 6151, + "Ġneighb": 6152, + "After": 6153, + "licit": 6154, + "Ġcontr": 6155, + "Ġprimary": 6156, + "AA": 6157, + ".WriteLine": 6158, + "utils": 6159, + "Ġbi": 6160, + "Red": 6161, + ".Linq": 6162, + ".object": 6163, + "Ġleaders": 6164, + "unities": 6165, + "Ġgun": 6166, + "onth": 6167, + "ĠDev": 6168, + "FILE": 6169, + "Ġcomments": 6170, + "_len": 6171, + "arrow": 6172, + "amount": 6173, + "Range": 6174, + "sert": 6175, + "GridView": 6176, + "Ġupdated": 6177, + "ĠMo": 6178, + "Ġinform": 6179, + "ociety": 6180, + "ala": 6181, + "Access": 6182, + "Ġhab": 6183, + "Ġcreat": 6184, + "_arg": 6185, + "ĠJanuary": 6186, + "ĠDay": 6187, + "\")čĊ": 6188, + "uple": 6189, + "document": 6190, + "gorith": 6191, + "menu": 6192, + "ĠOver": 6193, + "bb": 6194, + ".title": 6195, + "_out": 6196, + "Ġled": 6197, + "uri": 6198, + "Ġ?>Ċ": 6235, + "run": 6236, + "Ġscene": 6237, + "(array": 6238, + "device": 6239, + "_title": 6240, + "agon": 6241, + "]čĊ": 6242, + "aby": 6243, + "Ġbecame": 6244, + "boolean": 6245, + "Ġpark": 6246, + "ĠCode": 6247, + "upload": 6248, + "riday": 6249, + "ĠSeptember": 6250, + "Fe": 6251, + "Ġsen": 6252, + "cing": 6253, + "FL": 6254, + "Col": 6255, + "uts": 6256, + "_page": 6257, + "inn": 6258, + "Ġimplied": 6259, + "aling": 6260, + "Ġyourself": 6261, + ".Count": 6262, + "conf": 6263, + "Ġaud": 6264, + "_init": 6265, + ".)": 6266, + "Ġwrote": 6267, + "003": 6268, + "NG": 6269, + ".Error": 6270, + "ä»": 6271, + ".for": 6272, + "Ġequal": 6273, + "ĠRequest": 6274, + "Ġserial": 6275, + "Ġallows": 6276, + "XX": 6277, + "Ġmiddle": 6278, + "chor": 6279, + "195": 6280, + "94": 6281, + "ø": 6282, + "erval": 6283, + ".Column": 6284, + "reading": 6285, + "Ġescort": 6286, + "ĠAugust": 6287, + "Ġquickly": 6288, + "Ġweap": 6289, + "ĠCG": 6290, + "ropri": 6291, + "ho": 6292, + "Ġcop": 6293, + "(struct": 6294, + "ĠBig": 6295, + "Ġvs": 6296, + "Ġfrequ": 6297, + ".Value": 6298, + "Ġactions": 6299, + "Ġproper": 6300, + "Ġinn": 6301, + "Ġobjects": 6302, + "Ġmatrix": 6303, + "avascript": 6304, + "Ġones": 6305, + ".group": 6306, + "Ġgreen": 6307, + "Ġpaint": 6308, + "ools": 6309, + "ycl": 6310, + "encode": 6311, + "olt": 6312, + "comment": 6313, + ".api": 6314, + "Dir": 6315, + "Ġune": 6316, + "izont": 6317, + ".position": 6318, + "Ġdesigned": 6319, + "_val": 6320, + "avi": 6321, + "iring": 6322, + "tab": 6323, + "Ġlayer": 6324, + "Ġviews": 6325, + "Ġreve": 6326, + "rael": 6327, + "ĠON": 6328, + "rics": 6329, + "160": 6330, + "np": 6331, + "Ġcore": 6332, + "());čĊ": 6333, + "Main": 6334, + "Ġexpert": 6335, + "ĉĉčĊ": 6336, + "_en": 6337, + "Ġ/>": 6338, + "utter": 6339, + "IAL": 6340, + "ails": 6341, + "ĠKing": 6342, + "*/ĊĊ": 6343, + "ĠMet": 6344, + "_end": 6345, + "addr": 6346, + "ora": 6347, + "Ġir": 6348, + "Min": 6349, + "Ġsurpr": 6350, + "Ġrepe": 6351, + "Ġdirectory": 6352, + "PUT": 6353, + "-S": 6354, + "Ġelection": 6355, + "haps": 6356, + ".pre": 6357, + "cm": 6358, + "Values": 6359, + "Ġ\"Ċ": 6360, + "column": 6361, + "ivil": 6362, + "Login": 6363, + "inue": 6364, + "93": 6365, + "Ġbeautiful": 6366, + "Ġsecret": 6367, + "(event": 6368, + "Ġchat": 6369, + "ums": 6370, + "Ġorigin": 6371, + "Ġeffects": 6372, + "Ġmanagement": 6373, + "illa": 6374, + "tk": 6375, + "Ġsetting": 6376, + "ĠCour": 6377, + "Ġmassage": 6378, + "ĉend": 6379, + "Ġhappy": 6380, + "Ġfinish": 6381, + "Ġcamera": 6382, + "ĠVer": 6383, + "ĠDemocr": 6384, + "ĠHer": 6385, + "(Q": 6386, + "cons": 6387, + "ita": 6388, + "Ġ'.": 6389, + "{}": 6390, + "ĉC": 6391, + "Ġstuff": 6392, + "194": 6393, + "Ġ:Ċ": 6394, + "ĠAR": 6395, + "Task": 6396, + "hidden": 6397, + "eros": 6398, + "IGN": 6399, + "atio": 6400, + "ĠHealth": 6401, + "olute": 6402, + "Enter": 6403, + "'>": 6404, + "ĠTwitter": 6405, + "ĠCounty": 6406, + "scribe": 6407, + "Ġ=>Ċ": 6408, + "Ġhy": 6409, + "fit": 6410, + "Ġmilitary": 6411, + "Ġsale": 6412, + "required": 6413, + "non": 6414, + "bootstrap": 6415, + "hold": 6416, + "rim": 6417, + "-old": 6418, + "ĠDown": 6419, + "Ġmention": 6420, + "contact": 6421, + "_group": 6422, + "oday": 6423, + "Ġtown": 6424, + "Ġsolution": 6425, + "uate": 6426, + "elling": 6427, + "]->": 6428, + "otes": 6429, + "ental": 6430, + "omen": 6431, + "ospital": 6432, + "ĠSup": 6433, + "_EN": 6434, + "Ġslow": 6435, + "SESSION": 6436, + "Ġblue": 6437, + "ago": 6438, + "Ġlives": 6439, + "Ġ^": 6440, + ".un": 6441, + "inst": 6442, + "enge": 6443, + "Ġcustomers": 6444, + "Ġcast": 6445, + "udget": 6446, + "ï¼ģ": 6447, + "icens": 6448, + "Ġdetermin": 6449, + "Selected": 6450, + "_pl": 6451, + "ueue": 6452, + "Ġdark": 6453, + "//ĊĊ": 6454, + "si": 6455, + "thern": 6456, + "ĠJapan": 6457, + "/w": 6458, + "PU": 6459, + "ĠEast": 6460, + "ovie": 6461, + "Ġpackage": 6462, + "Ġnor": 6463, + "Ġapi": 6464, + "bot": 6465, + "\"];Ċ": 6466, + "_post": 6467, + "ulate": 6468, + "Ġclub": 6469, + "'));Ċ": 6470, + "Ġloop": 6471, + "PIO": 6472, + "ione": 6473, + "shot": 6474, + "Initial": 6475, + "Ġplayed": 6476, + "register": 6477, + "rought": 6478, + "_max": 6479, + "acement": 6480, + "match": 6481, + "raphics": 6482, + "AST": 6483, + "Ġexisting": 6484, + "Ġcomplex": 6485, + "DA": 6486, + ".Ch": 6487, + ".common": 6488, + "mo": 6489, + "Ġ'../../": 6490, + "ito": 6491, + "Ġanalysis": 6492, + "Ġdeliver": 6493, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 6494, + "idx": 6495, + "Ãł": 6496, + "ongo": 6497, + "ĠEnglish": 6498, + "Ċ": 10197, + "_default": 10198, + "ĠDatabase": 10199, + "rep": 10200, + "ESS": 10201, + "nergy": 10202, + ".Find": 10203, + "_mask": 10204, + "Ġrise": 10205, + "Ġkernel": 10206, + "::$": 10207, + ".Q": 10208, + "Ġoffering": 10209, + "decl": 10210, + "ĠCS": 10211, + "Ġlisted": 10212, + "Ġmostly": 10213, + "enger": 10214, + "Ġblocks": 10215, + "olo": 10216, + "Ġgoverning": 10217, + "\\F": 10218, + "Ġconcent": 10219, + ".getText": 10220, + "Ġmb": 10221, + "Ġoccurred": 10222, + "Ġchanging": 10223, + "Scene": 10224, + "_CODE": 10225, + "Beh": 10226, + "\"The": 10227, + "Ġtile": 10228, + "ĠAssociation": 10229, + "ĉP": 10230, + "alty": 10231, + "_ad": 10232, + "odies": 10233, + "iated": 10234, + "Ġprepared": 10235, + "possible": 10236, + "Ġmort": 10237, + "TEST": 10238, + "142": 10239, + "Ġignore": 10240, + "Ġcalc": 10241, + "Ġrs": 10242, + "ĠassertEquals": 10243, + "Ġsz": 10244, + "ĠTHIS": 10245, + ".\"Ċ": 10246, + "Ġcanvas": 10247, + "java": 10248, + "Ġdut": 10249, + "VALID": 10250, + ".sql": 10251, + ".input": 10252, + "Ġaux": 10253, + "Sup": 10254, + "Ġartist": 10255, + "Vec": 10256, + "_TIME": 10257, + ".stringify": 10258, + "etween": 10259, + "ĠCategory": 10260, + "Ġ[-": 10261, + "ĠDevExpress": 10262, + "ĠJul": 10263, + "Ġring": 10264, + ".ed": 10265, + "YY": 10266, + "Let": 10267, + "TextField": 10268, + "Ġflat": 10269, + "_print": 10270, + "ĠOTHER": 10271, + "adian": 10272, + "Ġchecked": 10273, + "ele": 10274, + "Align": 10275, + "standing": 10276, + "Ġ[],": 10277, + "Ġlab": 10278, + "ucky": 10279, + "ĠChristmas": 10280, + "(image": 10281, + ".module": 10282, + "Ġlots": 10283, + "Ġslightly": 10284, + "(final": 10285, + "erge": 10286, + "è¿": 10287, + "147": 10288, + "ĠPolice": 10289, + "143": 10290, + "ĠRight": 10291, + "Ġaward": 10292, + "ĠOS": 10293, + "Ġ{}ĊĊ": 10294, + "Ġptr": 10295, + "oves": 10296, + "icated": 10297, + "ем": 10298, + "Ġmanage": 10299, + "oliday": 10300, + "Amount": 10301, + "oolStrip": 10302, + "tbody": 10303, + "Nav": 10304, + "wrap": 10305, + "BB": 10306, + "Ġwatching": 10307, + "arios": 10308, + "Ġoptional": 10309, + "_K": 10310, + "ĠLicensed": 10311, + ".Map": 10312, + "Timer": 10313, + "ĠAP": 10314, + "ĠRev": 10315, + "(o": 10316, + ",c": 10317, + "umin": 10318, + "etailed": 10319, + "ĠHy": 10320, + "Ġblank": 10321, + "agger": 10322, + "ĠSelf": 10323, + "()[": 10324, + ".make": 10325, + "earn": 10326, + "channel": 10327, + ";Ċ": 10342, + "World": 10343, + "Ġpython": 10344, + "Ġlif": 10345, + "Ġtrav": 10346, + "Ġconven": 10347, + "company": 10348, + "ĠClub": 10349, + "138": 10350, + "Ver": 10351, + "Btn": 10352, + "Ġzone": 10353, + "products": 10354, + "ĠEduc": 10355, + "Ġverify": 10356, + "ĠMil": 10357, + "ono": 10358, + "]);ĊĊ": 10359, + "ENCE": 10360, + "Ġpacket": 10361, + "Ġcer": 10362, + "Ġenumer": 10363, + "Ġpars": 10364, + "formed": 10365, + "Ġoccup": 10366, + "tre": 10367, + "Ġexercise": 10368, + "Day": 10369, + "_sum": 10370, + "Ġasking": 10371, + "aption": 10372, + "Ġorders": 10373, + "Ġspending": 10374, + "ĠERR": 10375, + ".Dis": 10376, + "ĠUtil": 10377, + "âĢľI": 10378, + "\\'": 10379, + "?)": 10380, + "/>Ċ": 10381, + "Ġemot": 10382, + "Ġinfluence": 10383, + "ĠAfrica": 10384, + "atters": 10385, + "Ùħ": 10386, + ".session": 10387, + "Ġchief": 10388, + "ĉĉĉĉĉĉĉĉĉĉĉ": 10389, + "Ġtom": 10390, + "cluded": 10391, + "serial": 10392, + "_handler": 10393, + ".Type": 10394, + "aped": 10395, + "Ġpolicies": 10396, + "-ex": 10397, + "-tr": 10398, + "blank": 10399, + "merce": 10400, + "Ġcoverage": 10401, + "Ġrc": 10402, + "_matrix": 10403, + "_box": 10404, + "Ġcharges": 10405, + "ĠBoston": 10406, + "Pe": 10407, + "Ġcircum": 10408, + "Ġfilled": 10409, + "148": 10410, + "Ġnorth": 10411, + "ictureBox": 10412, + "ĉres": 10413, + "è®": 10414, + "Ġtermin": 10415, + "Ġ[â̦": 10416, + "IRECT": 10417, + "Ġber": 10418, + "Ġ\"../../": 10419, + "retch": 10420, + ".code": 10421, + "_col": 10422, + "ĠGovernment": 10423, + "Ġargv": 10424, + "ĠLord": 10425, + "asi": 10426, + "Exec": 10427, + "ĉlet": 10428, + "vertis": 10429, + "Ġdiscussion": 10430, + "enance": 10431, + "outube": 10432, + "typeof": 10433, + "Ġserved": 10434, + "ĠPut": 10435, + "ĉx": 10436, + "Ġsweet": 10437, + "Before": 10438, + "ategy": 10439, + ".of": 10440, + "ĠMaterial": 10441, + "Sort": 10442, + "ONT": 10443, + "igital": 10444, + "Why": 10445, + "Ġsust": 10446, + "Ġç": 10447, + "abet": 10448, + "Ġsegment": 10449, + "Ġ[],Ċ": 10450, + "ĠMuslim": 10451, + "ĠfindViewById": 10452, + "cut": 10453, + "_TEXT": 10454, + "ĠMary": 10455, + "Ġloved": 10456, + "Ġlie": 10457, + "ĠJO": 10458, + "Ġisset": 10459, + "month": 10460, + "Ġprime": 10461, + "ti": 10462, + "ĠCarol": 10463, + "Use": 10464, + "146": 10465, + "ĠPop": 10466, + "ĠSave": 10467, + "Interval": 10468, + "execute": 10469, + "dy": 10470, + "ĠIran": 10471, + "_cont": 10472, + "ĉT": 10473, + "Ġphase": 10474, + "checkbox": 10475, + "week": 10476, + "Ġhide": 10477, + "Ġtil": 10478, + "Ġju": 10479, + "Custom": 10480, + "burg": 10481, + "/M": 10482, + "TON": 10483, + "Ġquant": 10484, + "Ġrub": 10485, + "ixels": 10486, + "Ġinstalled": 10487, + "Ġdump": 10488, + "Ġproperly": 10489, + "(List": 10490, + "Ġdecide": 10491, + "apply": 10492, + "Has": 10493, + "Ġkeeping": 10494, + "Ġcitizens": 10495, + "Ġjoint": 10496, + "pool": 10497, + "Socket": 10498, + "_op": 10499, + "Ġweapon": 10500, + "gnore": 10501, + "ĠExec": 10502, + "otten": 10503, + "ĠMS": 10504, + "Ġ(-": 10505, + "ĠReview": 10506, + "Ġexamples": 10507, + "Ġtight": 10508, + "!(": 10509, + "DP": 10510, + "ĠMessageBox": 10511, + "Ġphotograph": 10512, + "164": 10513, + "URI": 10514, + "ét": 10515, + "low": 10516, + "ĠGrand": 10517, + ".persistence": 10518, + "Ġmaintain": 10519, + "Ġnums": 10520, + "Ġzip": 10521, + "ials": 10522, + "ĠGets": 10523, + "peg": 10524, + "ĠBuffer": 10525, + "~~~~": 10526, + "rastructure": 10527, + "ĠPL": 10528, + "uen": 10529, + "obby": 10530, + "sizeof": 10531, + "Ġpic": 10532, + "Ġseed": 10533, + "Ġexperienced": 10534, + "Ġodd": 10535, + "Ġkick": 10536, + "Ġprocedure": 10537, + "avigator": 10538, + "-on": 10539, + ",j": 10540, + "ĠAlthough": 10541, + "ĠuserId": 10542, + "accept": 10543, + "Blue": 10544, + "IColor": 10545, + "layer": 10546, + "available": 10547, + "Ġends": 10548, + ".table": 10549, + "Ġdataset": 10550, + "bus": 10551, + "Ġexplain": 10552, + "(pro": 10553, + "ĠCommittee": 10554, + "Ġnoted": 10555, + "]:Ċ": 10556, + "Dim": 10557, + "stdio": 10558, + "154": 10559, + ".\",Ċ": 10560, + "_source": 10561, + "181": 10562, + "ĠWeek": 10563, + "ĠEdge": 10564, + "Ġoperating": 10565, + "Ġeste": 10566, + "ipl": 10567, + "330": 10568, + "agination": 10569, + "Ġproceed": 10570, + "Ġanimation": 10571, + ".Models": 10572, + "ĠWatch": 10573, + "iat": 10574, + "Ġoppon": 10575, + "/A": 10576, + "Report": 10577, + "Ġsounds": 10578, + "_buf": 10579, + "IELD": 10580, + "Ġbund": 10581, + "ĉget": 10582, + ".pr": 10583, + "(tmp": 10584, + "Ġkid": 10585, + ">ĊĊĊ": 10586, + "Ġyang": 10587, + "NotFound": 10588, + "ÑĨ": 10589, + "math": 10590, + "@gmail": 10591, + "ĠLIMIT": 10592, + "redients": 10593, + "Ġvent": 10594, + "avigate": 10595, + "Look": 10596, + "Ġreligious": 10597, + "Ġrand": 10598, + "rio": 10599, + "(GL": 10600, + "_ip": 10601, + "uan": 10602, + "iciency": 10603, + "ĠChange": 10604, + ">čĊčĊ": 10605, + "ĠEntity": 10606, + "Ġrencontre": 10607, + "ĠRet": 10608, + "plan": 10609, + "én": 10610, + "BOOL": 10611, + "uries": 10612, + "train": 10613, + "Definition": 10614, + "============": 10615, + "zz": 10616, + "450": 10617, + "Animation": 10618, + "ĠOK": 10619, + "_menu": 10620, + ".bl": 10621, + "_score": 10622, + "Ġacad": 10623, + "(System": 10624, + "Ġrefresh": 10625, + "'=>$": 10626, + ".Graphics": 10627, + "amento": 10628, + "pid": 10629, + "tc": 10630, + "Ġtips": 10631, + "Ġhomes": 10632, + "Ġfuel": 10633, + "âĸ": 10634, + "_helper": 10635, + "ĠĠčĊ": 10636, + "ĠRoom": 10637, + ".Close": 10638, + "_attr": 10639, + "ĠMount": 10640, + "ĠEv": 10641, + "arser": 10642, + "_top": 10643, + "eah": 10644, + "ĠDelete": 10645, + "ãĢį": 10646, + "uke": 10647, + "Ġusage": 10648, + "aria": 10649, + "_dev": 10650, + "Ġtexture": 10651, + "Ġconversation": 10652, + "eper": 10653, + "Bean": 10654, + "done": 10655, + "nonatomic": 10656, + "ĠSecond": 10657, + "Ġshooting": 10658, + "_pre": 10659, + "Components": 10660, + "Ġ]ĊĊ": 10661, + "__,": 10662, + "stitution": 10663, + ".Char": 10664, + ">();ĊĊ": 10665, + "Ġpresented": 10666, + "Ġwa": 10667, + "oker": 10668, + "-ĊĊ": 10669, + "iner": 10670, + "Ġbecoming": 10671, + "Ġincident": 10672, + "Att": 10673, + "162": 10674, + "Ġrevealed": 10675, + "forc": 10676, + "Ġboot": 10677, + ".page": 10678, + "Enumerator": 10679, + "165": 10680, + "_->": 10681, + "Photo": 10682, + "Ġspring": 10683, + ".\",": 10684, + "ĠDictionary": 10685, + "BJECT": 10686, + "Ġlocations": 10687, + "Ġsamples": 10688, + "InputStream": 10689, + "ĠBrown": 10690, + "Ġstats": 10691, + "quality": 10692, + "Ñħ": 10693, + "-dis": 10694, + "Ġhelping": 10695, + "Ġped": 10696, + "224": 10697, + "(se": 10698, + "ĠWho": 10699, + "alian": 10700, + "internal": 10701, + "Ġft": 10702, + ">().": 10703, + "->{": 10704, + "Ġmine": 10705, + "Ġsector": 10706, + "Ġgro": 10707, + "Ġopportunities": 10708, + "Ġü": 10709, + "Ġmp": 10710, + "Ġalleged": 10711, + "Ġdoubt": 10712, + "Mouse": 10713, + "About": 10714, + "_part": 10715, + "Ġchair": 10716, + "Ġstopped": 10717, + "161": 10718, + "loop": 10719, + "entities": 10720, + "Ġapps": 10721, + "ansion": 10722, + "Ġmental": 10723, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 10724, + "FR": 10725, + "Ġdefend": 10726, + "care": 10727, + "Ġideal": 10728, + "/api": 10729, + "urface": 10730, + "011": 10731, + "Ġele": 10732, + "ulator": 10733, + "ĠRights": 10734, + "anguages": 10735, + "Ġfunds": 10736, + "Ġadapt": 10737, + "Attributes": 10738, + "Ġdeploy": 10739, + "opts": 10740, + "Ġvalidation": 10741, + "Ġconcerns": 10742, + "uce": 10743, + ".num": 10744, + "ulture": 10745, + "ila": 10746, + "Ġcup": 10747, + "Ġpure": 10748, + ".Fore": 10749, + "183": 10750, + "ĠHashMap": 10751, + ".valueOf": 10752, + "asm": 10753, + "MO": 10754, + "Ġcs": 10755, + "Ġstores": 10756, + "Ġ************************************************************************": 10757, + "Ġcommunication": 10758, + "mem": 10759, + ".EventHandler": 10760, + ".Status": 10761, + "_right": 10762, + ".setOn": 10763, + "Sheet": 10764, + "Ġidentify": 10765, + "enerated": 10766, + "ordered": 10767, + "Ġ\"[": 10768, + "Ġswe": 10769, + "Condition": 10770, + "ĠAccording": 10771, + "Ġprepare": 10772, + "Ġrob": 10773, + "Pool": 10774, + "Ġsport": 10775, + "rv": 10776, + "ĠRouter": 10777, + "Ġalternative": 10778, + "([]": 10779, + "ĠChicago": 10780, + "ipher": 10781, + "ische": 10782, + "ĠDirector": 10783, + "kl": 10784, + "ĠWil": 10785, + "keys": 10786, + "Ġmysql": 10787, + "Ġwelcome": 10788, + "king": 10789, + "ĠManager": 10790, + "Ġcaught": 10791, + ")}Ċ": 10792, + "Score": 10793, + "_PR": 10794, + "Ġsurvey": 10795, + "hab": 10796, + "Headers": 10797, + "ADER": 10798, + "Ġdecor": 10799, + "Ġturns": 10800, + "Ġradius": 10801, + "errupt": 10802, + "Cor": 10803, + "Ġmel": 10804, + "Ġintr": 10805, + "(q": 10806, + "ĠAC": 10807, + "amos": 10808, + "MAX": 10809, + "ĠGrid": 10810, + "ĠJesus": 10811, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 10812, + ".DE": 10813, + "Ġts": 10814, + "Ġlinked": 10815, + "free": 10816, + "ĠQt": 10817, + "Ġ/**čĊ": 10818, + "Ġfaster": 10819, + "ctr": 10820, + "_J": 10821, + "DT": 10822, + ".Check": 10823, + "Ġcombination": 10824, + "Ġintended": 10825, + "-the": 10826, + "-type": 10827, + "182": 10828, + "ectors": 10829, + "ami": 10830, + "uting": 10831, + "Ġuma": 10832, + "XML": 10833, + "UCT": 10834, + "Ap": 10835, + "ĠRandom": 10836, + "Ġran": 10837, + ".sort": 10838, + "Ġsorted": 10839, + ".Un": 10840, + "401": 10841, + "_PER": 10842, + "itory": 10843, + "Ġpriority": 10844, + "ĠGal": 10845, + "ĠOld": 10846, + "hot": 10847, + "ĠDisplay": 10848, + "(sub": 10849, + "_TH": 10850, + "_Y": 10851, + "ĠCare": 10852, + "loading": 10853, + "Kind": 10854, + "_handle": 10855, + ",,": 10856, + "rase": 10857, + "_replace": 10858, + ".addEventListener": 10859, + "ĠRT": 10860, + "172": 10861, + "Ġentered": 10862, + "gers": 10863, + "Ġich": 10864, + "(start": 10865, + "205": 10866, + "/app": 10867, + "Ġbrother": 10868, + "Memory": 10869, + "Outlet": 10870, + "Ġutf": 10871, + "prec": 10872, + "Ġnavigation": 10873, + "ORK": 10874, + "Ġdst": 10875, + "Detail": 10876, + "Ġaudience": 10877, + "Ġdur": 10878, + "Ġcluster": 10879, + "unched": 10880, + "Ġ],": 10881, + "Ġcomfortable": 10882, + ".values": 10883, + "ĠTotal": 10884, + "Ġsnap": 10885, + "Ġstandards": 10886, + "Ġperformed": 10887, + "hand": 10888, + "(\"@": 10889, + "åŃ": 10890, + "Ġphil": 10891, + "ibr": 10892, + "trim": 10893, + "Ġforget": 10894, + "157": 10895, + "Ġdoctor": 10896, + ".TextBox": 10897, + "377": 10898, + "icons": 10899, + ",s": 10900, + "ĠOp": 10901, + "Sm": 10902, + "Stop": 10903, + "ĉList": 10904, + "ĉu": 10905, + "Comment": 10906, + "_VERSION": 10907, + ".Xtra": 10908, + "Person": 10909, + "rb": 10910, + "LOB": 10911, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 10912, + "ĠCentral": 10913, + "270": 10914, + "ICK": 10915, + "raq": 10916, + "Ġputting": 10917, + "Ġmd": 10918, + "ĠLove": 10919, + "Program": 10920, + "Border": 10921, + "oor": 10922, + "Ġallowing": 10923, + "after": 10924, + "Ġentries": 10925, + "ĠMaybe": 10926, + "]).": 10927, + "ĠShort": 10928, + ")\\": 10929, + ".now": 10930, + "friend": 10931, + "Ġprefer": 10932, + "ĠGPIO": 10933, + "osis": 10934, + "ĠGameObject": 10935, + "Ġskip": 10936, + "Ġcompetition": 10937, + "_match": 10938, + "lications": 10939, + "_CONT": 10940, + ".groupBox": 10941, + "Ġals": 10942, + "666": 10943, + "\"We": 10944, + "_eq": 10945, + "lan": 10946, + "_search": 10947, + "ĠMusic": 10948, + "asis": 10949, + "Ġbind": 10950, + "ĠIsland": 10951, + "rum": 10952, + "(E": 10953, + "Ġseat": 10954, + "Video": 10955, + "Ġack": 10956, + "reek": 10957, + "={()": 10958, + "Ġrating": 10959, + "Ġrestaurant": 10960, + "456": 10961, + "DEX": 10962, + "(buf": 10963, + "pping": 10964, + "uality": 10965, + "Ġleague": 10966, + "176": 10967, + "Ġfocused": 10968, + "apon": 10969, + "$data": 10970, + "CLUD": 10971, + "CLUDING": 10972, + "Ġabsolute": 10973, + "(query": 10974, + "Ġtells": 10975, + "Ang": 10976, + "Ġcommunities": 10977, + "Ġhonest": 10978, + "oking": 10979, + "Ġapart": 10980, + "arity": 10981, + "/$": 10982, + "_module": 10983, + "ĠEnc": 10984, + ".an": 10985, + ".Config": 10986, + "Cre": 10987, + "Ġshock": 10988, + "ĠArab": 10989, + "IENT": 10990, + "/re": 10991, + "Ġretrie": 10992, + "ycler": 10993, + "isa": 10994, + "ĠOrgan": 10995, + ".graph": 10996, + "Ġí": 10997, + "ĠBAS": 10998, + "Enum": 10999, + "Ġpossibly": 11000, + "ÑĢаÐ": 11001, + "ĠJapanese": 11002, + "Ġcraft": 11003, + "ĠPlace": 11004, + "Ġtalent": 11005, + "Ġfunding": 11006, + "Ġconfirmed": 11007, + "Ġcycle": 11008, + "/x": 11009, + "GE": 11010, + "Ġhearing": 11011, + "Ġplants": 11012, + "Ġmouth": 11013, + "pages": 11014, + "oria": 11015, + "ĠRemove": 11016, + "_total": 11017, + "Ġod": 11018, + "ollapse": 11019, + "door": 11020, + "Ġbought": 11021, + "Ġaddr": 11022, + "ARCH": 11023, + "_dim": 11024, + "dden": 11025, + "Ġdecades": 11026, + "REQUEST": 11027, + "Ġversions": 11028, + "fire": 11029, + "006": 11030, + "Ġmoves": 11031, + "fb": 11032, + "Ġcoffee": 11033, + ".connect": 11034, + "ĠRow": 11035, + "Ġschema": 11036, + "Scope": 11037, + "-Type": 11038, + "Ġfighting": 11039, + "Ġretail": 11040, + "Ġmodified": 11041, + "TF": 11042, + "Files": 11043, + "nie": 11044, + "_command": 11045, + "stone": 11046, + "ĠÑĤ": 11047, + "_thread": 11048, + "Ġbond": 11049, + "ĠDevelopment": 11050, + "Ġpt": 11051, + "FORM": 11052, + "plet": 11053, + "Ġidentified": 11054, + "cpp": 11055, + "206": 11056, + "225": 11057, + "Ġcoding": 11058, + "oked": 11059, + "ĠMaster": 11060, + "IDTH": 11061, + "Ġresidents": 11062, + "redit": 11063, + "ĠPhoto": 11064, + "=-": 11065, + "unte": 11066, + "ateur": 11067, + "159": 11068, + "_STATE": 11069, + "ĠSing": 11070, + "Ġsheet": 11071, + ".val": 11072, + "orse": 11073, + "Ġhers": 11074, + "Ġdetermined": 11075, + "Common": 11076, + "Ġwed": 11077, + "_queue": 11078, + "PH": 11079, + "ĠAtl": 11080, + "cred": 11081, + "/LICENSE": 11082, + "Ġmes": 11083, + "Ġadvanced": 11084, + ".java": 11085, + ".Sh": 11086, + "Go": 11087, + "kill": 11088, + "fp": 11089, + "_settings": 11090, + "Ġpal": 11091, + "Ġtruck": 11092, + "Ġcombined": 11093, + "Ġ\"${": 11094, + "ĠCorpor": 11095, + "Ġjoined": 11096, + "ĠJose": 11097, + "ĠCup": 11098, + "uns": 11099, + "estival": 11100, + "levision": 11101, + "Ġbroken": 11102, + "Ġmarriage": 11103, + "ĠWestern": 11104, + "Ġrepresents": 11105, + "ĠTitle": 11106, + "Ġss": 11107, + ".Ass": 11108, + "ongoose": 11109, + "iento": 11110, + "<>();Ċ": 11111, + "Ġabsolutely": 11112, + "Ġsmooth": 11113, + "TERN": 11114, + "ĠUnless": 11115, + "Word": 11116, + "Ġmerge": 11117, + "igan": 11118, + "ĠVol": 11119, + "Ġnn": 11120, + ".getId": 11121, + "Ġз": 11122, + "171": 11123, + "Ġsexy": 11124, + "Ġseeking": 11125, + "Single": 11126, + ".this": 11127, + "179": 11128, + "Ġkom": 11129, + "bound": 11130, + ";\"": 11131, + "ĠfontSize": 11132, + "_df": 11133, + "Ġinjury": 11134, + "(H": 11135, + "Ġissued": 11136, + "_END": 11137, + ":self": 11138, + "020": 11139, + "Ġpatch": 11140, + "Ġleaves": 11141, + "Ġadopt": 11142, + "FileName": 11143, + "ãĢIJ": 11144, + "Ġexecutive": 11145, + "ĠByte": 11146, + "]))Ċ": 11147, + "Ġnu": 11148, + "outing": 11149, + "cluding": 11150, + "-R": 11151, + ".options": 11152, + "Ġsubstant": 11153, + "avax": 11154, + "ĠBUT": 11155, + "Ġtechnical": 11156, + "Ġtwice": 11157, + "Ġmás": 11158, + "Ġunivers": 11159, + "yr": 11160, + "Ġdrag": 11161, + "ĠDC": 11162, + "Ġsed": 11163, + "Ġbot": 11164, + "ĠPal": 11165, + "ĠHall": 11166, + "forcement": 11167, + "Ġauch": 11168, + ".mod": 11169, + "notation": 11170, + "_files": 11171, + ".line": 11172, + "_flag": 11173, + "[name": 11174, + "Ġresolution": 11175, + "Ġbott": 11176, + "(\"[": 11177, + "ende": 11178, + "(arr": 11179, + "Free": 11180, + "(@\"": 11181, + "ĠDistrict": 11182, + "PEC": 11183, + ":-": 11184, + "Picker": 11185, + "ĠJo": 11186, + "ĠĠĠĠĠĊ": 11187, + "ĠRiver": 11188, + "_rows": 11189, + "Ġhelpful": 11190, + "Ġmassive": 11191, + "---Ċ": 11192, + "Ġmeasures": 11193, + "007": 11194, + "ĠRuntime": 11195, + "Ġworry": 11196, + "ĠSpec": 11197, + "ĉD": 11198, + "ãĢij": 11199, + "Ġ){Ċ": 11200, + "Ġworse": 11201, + "(filename": 11202, + "Ġlay": 11203, + "Ġmagic": 11204, + "ĠTheir": 11205, + "oul": 11206, + "stroy": 11207, + "ĠWhere": 11208, + "280": 11209, + "Ġsudden": 11210, + "Ġdefe": 11211, + "Ġbinding": 11212, + "Ġflight": 11213, + "ĠOnInit": 11214, + "ĠWomen": 11215, + "ĠPolicy": 11216, + "Ġdrugs": 11217, + "ishing": 11218, + "('../": 11219, + "ĠMel": 11220, + "peat": 11221, + "tor": 11222, + "Ġproposed": 11223, + "Ġstated": 11224, + "_RES": 11225, + "Ġeast": 11226, + "212": 11227, + "ĠCONDITION": 11228, + "_desc": 11229, + "Ġwinning": 11230, + "folio": 11231, + "Mapper": 11232, + "ĠPan": 11233, + "ĠAnge": 11234, + ".servlet": 11235, + "Ġcopies": 11236, + "LM": 11237, + "Ġvm": 11238, + "åį": 11239, + "Ġdictionary": 11240, + "Seg": 11241, + "177": 11242, + "elines": 11243, + "ĠSend": 11244, + "Ġiron": 11245, + "ĠFort": 11246, + "166": 11247, + ".domain": 11248, + "Ġdebate": 11249, + "NotNull": 11250, + "eq": 11251, + "acher": 11252, + "lf": 11253, + "ĉfmt": 11254, + "Ġlawy": 11255, + "178": 11256, + "ÄŁ": 11257, + "ĠMen": 11258, + "Ġtrim": 11259, + "(NULL": 11260, + "Ġ!!": 11261, + "Ġpad": 11262, + "Ġfollows": 11263, + "\"][\"": 11264, + "requ": 11265, + "ĠEp": 11266, + ".github": 11267, + "(img": 11268, + "eto": 11269, + "('\\": 11270, + "Services": 11271, + "umbnail": 11272, + "_main": 11273, + "pleted": 11274, + "fortunately": 11275, + "Ġwindows": 11276, + "Ġplane": 11277, + "ĠConnection": 11278, + ".local": 11279, + "uard": 11280, + "}\\": 11281, + "==\"": 11282, + "andon": 11283, + "ĠRoy": 11284, + "west": 11285, + "158": 11286, + "iginal": 11287, + "emies": 11288, + "itz": 11289, + "'):Ċ": 11290, + "ĠPeter": 11291, + "Ġtough": 11292, + "Ġreduced": 11293, + "Ġcalculate": 11294, + "Ġrapid": 11295, + "customer": 11296, + "Ġefficient": 11297, + "Ġmedium": 11298, + "Ġfell": 11299, + ".ref": 11300, + "ĠCas": 11301, + "Ġfeedback": 11302, + "Speed": 11303, + "(output": 11304, + "aje": 11305, + "Ġcategories": 11306, + "Ġfee": 11307, + "};": 11308, + "Ġdeleted": 11309, + "reh": 11310, + "Ġproof": 11311, + "Desc": 11312, + "Build": 11313, + "Ġsides": 11314, + ".ArrayList": 11315, + "-%": 11316, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 11317, + "ر": 11318, + ".match": 11319, + "ли": 11320, + "Ġfeels": 11321, + "Ġachieve": 11322, + "Ġclim": 11323, + "_ON": 11324, + "ĠCD": 11325, + "Ġteacher": 11326, + "_current": 11327, + "bn": 11328, + "_PL": 11329, + "isting": 11330, + "Enable": 11331, + "GEN": 11332, + "Ġtv": 11333, + "Ġsock": 11334, + "Ġplays": 11335, + "Ġdiscount": 11336, + "ĠKE": 11337, + "ĠDebug": 11338, + "Fore": 11339, + "ĠIraq": 11340, + "Ġappearance": 11341, + "Mon": 11342, + "Ġstyled": 11343, + "ĠHuman": 11344, + "iot": 11345, + "ĠHistory": 11346, + "Ġsac": 11347, + "ĠCollection": 11348, + "Ġrecommended": 11349, + ".Selected": 11350, + "Ġorganizations": 11351, + "Ġdiscovered": 11352, + "cohol": 11353, + "adas": 11354, + "ĠThomas": 11355, + "May": 11356, + "Ġconserv": 11357, + "Ġdomin": 11358, + "ĠFollow": 11359, + "ĠSection": 11360, + "ĠThanks": 11361, + "Username": 11362, + "Ġrecipe": 11363, + "Ġwonderful": 11364, + ".sleep": 11365, + "_if": 11366, + "ĉĊĉĊ": 11367, + "orno": 11368, + "Ġru": 11369, + "_target": 11370, + ".\"\"": 11371, + "à¦": 11372, + "EventArgs": 11373, + "Ġinputs": 11374, + "Ġfif": 11375, + "Ġvision": 11376, + "cy": 11377, + "ĠSeries": 11378, + ")(((": 11379, + "Ġtrading": 11380, + "Ġmarker": 11381, + "Begin": 11382, + "Ġtypically": 11383, + "Ġcauses": 11384, + "dropdown": 11385, + "_DEBUG": 11386, + "260": 11387, + "Ġdetect": 11388, + "country": 11389, + "!\");Ċ": 11390, + "ĉR": 11391, + "appy": 11392, + "Ġcref": 11393, + "('<": 11394, + "\"=>": 11395, + "ĠLE": 11396, + "reader": 11397, + "Ġadministr": 11398, + "õ": 11399, + "ucket": 11400, + "Ġfashion": 11401, + ".char": 11402, + "izar": 11403, + "Ġdisable": 11404, + "Ġsuc": 11405, + "ĠLive": 11406, + "issue": 11407, + "Ġmetadata": 11408, + "flags": 11409, + "ĠðŁ": 11410, + "Ġcommitted": 11411, + "Ġva": 11412, + "Ġrough": 11413, + "Ġ'''Ċ": 11414, + "Ġhighlight": 11415, + "_vars": 11416, + "VO": 11417, + "Ġencoding": 11418, + "-Z": 11419, + "_sign": 11420, + "$(\"#": 11421, + "Ġrain": 11422, + "reatest": 11423, + "ĠEND": 11424, + "Selection": 11425, + "Ġcandidates": 11426, + "Ġsav": 11427, + ".Empty": 11428, + "Ġdecisions": 11429, + "Ġcollabor": 11430, + "ridge": 11431, + "feed": 11432, + "ression": 11433, + "Ġpersons": 11434, + "VM": 11435, + "008": 11436, + "ega": 11437, + "_BIT": 11438, + "According": 11439, + "acked": 11440, + "Ġdollars": 11441, + "_loss": 11442, + "ĠCost": 11443, + "}\"Ċ": 11444, + "Notification": 11445, + "Ġprostit": 11446, + "Ġauthority": 11447, + ".rec": 11448, + "Ġspokes": 11449, + "ĠToday": 11450, + "istant": 11451, + "ĠHead": 11452, + "âĢĿ.": 11453, + "ertainment": 11454, + "cean": 11455, + "culate": 11456, + "Ġven": 11457, + "However": 11458, + "_arr": 11459, + "Ġtokens": 11460, + "Graph": 11461, + "ĠJud": 11462, + "ĠVirgin": 11463, + "ĠSerial": 11464, + "unning": 11465, + "Mutable": 11466, + "agers": 11467, + ".csv": 11468, + "Ġdeveloping": 11469, + "Ġinstructions": 11470, + "Ġpromise": 11471, + "Ġrequested": 11472, + "_encode": 11473, + "/\"": 11474, + "ĠIcon": 11475, + "uilt": 11476, + "-day": 11477, + "Ġintelligence": 11478, + ".IS": 11479, + "ĠObservable": 11480, + "ĠHard": 11481, + "Bool": 11482, + "211": 11483, + "idential": 11484, + ".Anchor": 11485, + "Ġselling": 11486, + "CI": 11487, + "AGES": 11488, + "tle": 11489, + "bur": 11490, + "UFFER": 11491, + "RY": 11492, + "Ġbigger": 11493, + "Ġrat": 11494, + "Ġfamous": 11495, + "Ġtypename": 11496, + "Ġexplained": 11497, + "}}Ċ": 11498, + "Ġnuclear": 11499, + "-N": 11500, + "Ġcrisis": 11501, + "ĠEnter": 11502, + "Ġanswers": 11503, + "/${": 11504, + "/pl": 11505, + "Ġsequ": 11506, + "_next": 11507, + "mask": 11508, + "Ġstanding": 11509, + "Ġplenty": 11510, + "ĠCross": 11511, + "ĉret": 11512, + "dro": 11513, + "ĠCast": 11514, + "167": 11515, + "=true": 11516, + "ĠChris": 11517, + "icio": 11518, + "ĠMike": 11519, + "Decimal": 11520, + "addComponent": 11521, + "Len": 11522, + "Ġcock": 11523, + "Ġ#{": 11524, + "URN": 11525, + "": 11657, + "Ġ*=": 11658, + "ĠPS": 11659, + "Ġdangerous": 11660, + "[p": 11661, + "OME": 11662, + "Other": 11663, + "ĠStringBuilder": 11664, + "Points": 11665, + "heading": 11666, + "Ġcurrency": 11667, + "Ġpercentage": 11668, + "_API": 11669, + "Ġclassic": 11670, + "thead": 11671, + "ĠMO": 11672, + "FE": 11673, + "Idx": 11674, + "await": 11675, + "Ġè": 11676, + "Ġaccident": 11677, + "Ġvariant": 11678, + "Ġmyst": 11679, + "ĠLand": 11680, + "ĠBre": 11681, + "Ġharm": 11682, + "ĠAcc": 11683, + "Ġcharged": 11684, + "iones": 11685, + "Visibility": 11686, + "arry": 11687, + "ĠLanguage": 11688, + "Ġwalking": 11689, + "\".ĊĊ": 11690, + "ifer": 11691, + "Ġleadership": 11692, + ".From": 11693, + "ynam": 11694, + "Ġtimestamp": 11695, + "ipt": 11696, + "ĠHas": 11697, + "REFER": 11698, + "ĠIts": 11699, + "Ġlistener": 11700, + "UTE": 11701, + "213": 11702, + "_description": 11703, + "Ġexperiences": 11704, + "Ġcreates": 11705, + "RS": 11706, + "cart": 11707, + "black": 11708, + "Ġchoices": 11709, + "war": 11710, + "750": 11711, + "Ġ'''": 11712, + "Ġordered": 11713, + "Ġevening": 11714, + "Ġpil": 11715, + "Ġtun": 11716, + "ĠBad": 11717, + "(app": 11718, + "random": 11719, + "Ġexplicit": 11720, + "Ġarrived": 11721, + "Ġfly": 11722, + "Ġeconom": 11723, + "-mail": 11724, + "Ġlists": 11725, + "Ġarchitect": 11726, + "234": 11727, + "ĠPay": 11728, + "Ġds": 11729, + "ĠSol": 11730, + "Ġvehicles": 11731, + "Hz": 11732, + "-com": 11733, + "Ġking": 11734, + "_equal": 11735, + "ĠHelp": 11736, + "Ġabuse": 11737, + "480": 11738, + "169": 11739, + "--;Ċ": 11740, + "Ġextr": 11741, + "Ġchemical": 11742, + "ä¿": 11743, + "Ġorient": 11744, + "Ġbreath": 11745, + "ĠSpace": 11746, + "(element": 11747, + "wait": 11748, + "DED": 11749, + "igma": 11750, + "Ġentr": 11751, + "Ġsob": 11752, + "-name": 11753, + "Ġaffected": 11754, + "ika": 11755, + "Ġcoal": 11756, + "_work": 11757, + "Ġhundreds": 11758, + "Ġpolitics": 11759, + "subject": 11760, + "Ġconsumer": 11761, + "ANGE": 11762, + "Ġrepeated": 11763, + "Send": 11764, + "Ġ#[": 11765, + "Ġprotocol": 11766, + "Ġleads": 11767, + "useum": 11768, + "Every": 11769, + "808": 11770, + "174": 11771, + "Import": 11772, + "(count": 11773, + "Ġchallenges": 11774, + "Ġnovel": 11775, + "Ġdepart": 11776, + "bits": 11777, + ".Current": 11778, + "Ġ`${": 11779, + "oting": 11780, + "(\\": 11781, + "Ġcreative": 11782, + "Ġbuff": 11783, + "Ġintroduced": 11784, + "usic": 11785, + "modules": 11786, + "Are": 11787, + "-doc": 11788, + "language": 11789, + "_cache": 11790, + "Ġtod": 11791, + "?>{{": 12026, + "ĠResource": 12027, + "ĠStandard": 12028, + "ĠPrem": 12029, + "updated": 12030, + "ivalent": 12031, + "Ġassets": 12032, + "_temp": 12033, + "Ġinterests": 12034, + "Ġhardware": 12035, + "ĠRom": 12036, + "ĠShare": 12037, + "Ġ''Ċ": 12038, + "Ġ*,": 12039, + "ĠTake": 12040, + "ĠImages": 12041, + "_CHECK": 12042, + "(typeof": 12043, + "ĠJun": 12044, + "\\<^": 12045, + "Ġliqu": 12046, + "Ġworst": 12047, + "ymbols": 12048, + "ĉĉĉĠĠĠ": 12049, + "Ġdrivers": 12050, + "ĠDocument": 12051, + "eno": 12052, + "ĠTechnology": 12053, + "Ġapproved": 12054, + "umps": 12055, + "Ġsnow": 12056, + "formance": 12057, + "_ASSERT": 12058, + "uits": 12059, + "207": 12060, + "ÙĨ": 12061, + "Ġdifferences": 12062, + ".Visible": 12063, + "ĉĉĉčĊ": 12064, + "ĠPs": 12065, + "_fetch": 12066, + "Ġtodo": 12067, + ".',Ċ": 12068, + "Ġsel": 12069, + "urers": 12070, + "invalid": 12071, + "Ġtweet": 12072, + "VEL": 12073, + "Ġresearchers": 12074, + "Ġsprintf": 12075, + "ĠRO": 12076, + "Ġpel": 12077, + ".Trans": 12078, + "Ġillegal": 12079, + "dialog": 12080, + "smarty": 12081, + "lg": 12082, + "_MIN": 12083, + "Ġhero": 12084, + "final": 12085, + "Ġpp": 12086, + ".Le": 12087, + "Ġci": 12088, + "ĉRT": 12089, + "Ġsuggested": 12090, + "pdf": 12091, + "aching": 12092, + "ĠRo": 12093, + "ĠProperties": 12094, + "ĠSi": 12095, + "Ġbuying": 12096, + "Ġmu": 12097, + "Ġlands": 12098, + "ifiers": 12099, + "ĠFILE": 12100, + "ROUP": 12101, + "Ġholder": 12102, + "ĠSon": 12103, + "Ġsympt": 12104, + ".route": 12105, + ")?": 12106, + "Ġargc": 12107, + "Ġfort": 12108, + "Ġcasino": 12109, + "_category": 12110, + "Ġforum": 12111, + "215": 12112, + "prefix": 12113, + "apture": 12114, + "Tube": 12115, + "ems": 12116, + "imize": 12117, + "Ġnue": 12118, + "aus": 12119, + "course": 12120, + "ATOR": 12121, + "()),": 12122, + "Advertis": 12123, + "INGS": 12124, + "Ġacknow": 12125, + "ĠKorea": 12126, + "pling": 12127, + "Ġworker": 12128, + "PLIED": 12129, + "hal": 12130, + "ĠRichard": 12131, + "Elements": 12132, + "ĉĉĉĠ": 12133, + "star": 12134, + "Ġrelationships": 12135, + "Ġcheap": 12136, + "ACH": 12137, + "ĠXML": 12138, + ",&": 12139, + "ĠLouis": 12140, + "Ġride": 12141, + "_FAIL": 12142, + "Ġchunk": 12143, + "[s": 12144, + "_OUT": 12145, + "Ġchosen": 12146, + "_[": 12147, + "/(": 12148, + "ĠJeff": 12149, + "_sl": 12150, + "priv": 12151, + "ĠCanadian": 12152, + "Ġunable": 12153, + "_FLAG": 12154, + "Ġnos": 12155, + "high": 12156, + "Ġlift": 12157, + "fun": 12158, + "(){": 12159, + "elly": 12160, + "yclerView": 12161, + "_as": 12162, + "_LIST": 12163, + "Ġradi": 12164, + ".getValue": 12165, + "304": 12166, + "ĠAngeles": 12167, + "ĠSpan": 12168, + "_instance": 12169, + "itors": 12170, + "208": 12171, + "Ġmigration": 12172, + "AK": 12173, + "Oh": 12174, + "®": 12175, + ".selected": 12176, + "ĠGT": 12177, + "Ġadvance": 12178, + "ĠStyle": 12179, + ".DataGridView": 12180, + "ection": 12181, + "Ñİ": 12182, + "pio": 12183, + "rog": 12184, + "Ġshopping": 12185, + "ĠRect": 12186, + "Illuminate": 12187, + "OU": 12188, + "ĉarray": 12189, + "Ġsubstantial": 12190, + "Ġpregn": 12191, + "Ġpromote": 12192, + "IEW": 12193, + ".Layout": 12194, + "Ġsigns": 12195, + "/.": 12196, + "Ġletters": 12197, + "Board": 12198, + "ctrl": 12199, + "\"\\": 12200, + "ĠJones": 12201, + "Ġvertex": 12202, + "Ġja": 12203, + "Ġaffili": 12204, + "Ġwealth": 12205, + "ĉdefault": 12206, + "Ġsignificantly": 12207, + "Ġec": 12208, + "Ġxs": 12209, + "actual": 12210, + ".per": 12211, + "_step": 12212, + "anvas": 12213, + "mac": 12214, + "Ġtransl": 12215, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 12216, + "Iterator": 12217, + "Ġoch": 12218, + "agnostic": 12219, + "ĠDuring": 12220, + "ĠDEFAULT": 12221, + "Ġtill": 12222, + "Ġsignature": 12223, + "Ġbird": 12224, + "ĠOl": 12225, + "310": 12226, + "ĠIr": 12227, + "HS": 12228, + "avatar": 12229, + "ESSAGE": 12230, + "Ġelev": 12231, + "Ġmt": 12232, + "ĠNav": 12233, + "Ġrelax": 12234, + "Ġplate": 12235, + "ITEM": 12236, + "(date": 12237, + ".not": 12238, + "Ġgrade": 12239, + "Ġ}),Ċ": 12240, + "?\"ĊĊ": 12241, + "iences": 12242, + "High": 12243, + "ĠDIS": 12244, + "231": 12245, + "disabled": 12246, + "QUI": 12247, + "Ġnoise": 12248, + "aux": 12249, + "ĠUP": 12250, + "888": 12251, + "osa": 12252, + "Ġvoc": 12253, + "Ġ))": 12254, + "ocom": 12255, + "_OFF": 12256, + "ĠDb": 12257, + "Lock": 12258, + ".eclipse": 12259, + ",d": 12260, + "ĠDraw": 12261, + "Ġ\"(": 12262, + "Ġvisited": 12263, + "ĠâĪ": 12264, + "Ġsucceed": 12265, + "Ġimpossible": 12266, + "aire": 12267, + "ĠTurn": 12268, + "Ġdish": 12269, + "FG": 12270, + "Ġsensor": 12271, + "ANN": 12272, + "aba": 12273, + "Ġsurg": 12274, + "]);čĊ": 12275, + "Ġfp": 12276, + "_an": 12277, + "-J": 12278, + "-G": 12279, + "ĠJob": 12280, + "Convert": 12281, + "ĠKEY": 12282, + "Ġauthors": 12283, + "_server": 12284, + "\\r": 12285, + "Ġ-*-": 12286, + "flex": 12287, + "Ġsoc": 12288, + "Ret": 12289, + "Ġsalt": 12290, + "Ġâ̦ĊĊ": 12291, + "ĠClear": 12292, + "(page": 12293, + "-danger": 12294, + "Ġrooms": 12295, + "conv": 12296, + "#{": 12297, + ".op": 12298, + "ĠArea": 12299, + "_SC": 12300, + "hen": 12301, + "Ġbegins": 12302, + "-y": 12303, + "Ġexcited": 12304, + "Ġignored": 12305, + "Ġbonus": 12306, + "student": 12307, + "ĠMember": 12308, + "Ġrelatively": 12309, + "ĠLow": 12310, + "ĠProdu": 12311, + "ateway": 12312, + "posure": 12313, + "Ġthick": 12314, + "aniel": 12315, + "(view": 12316, + "ĠCrush": 12317, + "Extension": 12318, + "Il": 12319, + "eed": 12320, + "LOC": 12321, + ".im": 12322, + ".Items": 12323, + "Ġconflict": 12324, + ".prevent": 12325, + "252": 12326, + "ĠonCreate": 12327, + "uv": 12328, + "iser": 12329, + "Ġwave": 12330, + "Mar": 12331, + "ĠCommunity": 12332, + "iche": 12333, + "ĠNothing": 12334, + "[m": 12335, + "ĠLee": 12336, + "riends": 12337, + "232": 12338, + "ère": 12339, + "!!!": 12340, + "anz": 12341, + ".result": 12342, + "ĠSK": 12343, + "_PARAM": 12344, + "Ġdemocr": 12345, + "BackColor": 12346, + ".exists": 12347, + "\"It": 12348, + "(options": 12349, + "razy": 12350, + "aser": 12351, + "\\Database": 12352, + "alendar": 12353, + "_ass": 12354, + ";}Ċ": 12355, + "vertex": 12356, + "inecraft": 12357, + "Warning": 12358, + "argo": 12359, + "Ġactor": 12360, + "ĠInstead": 12361, + "ĠUsing": 12362, + "Self": 12363, + "@interface": 12364, + "Ġspeaking": 12365, + "ĠParis": 12366, + "ĠLICENSE": 12367, + ".node": 12368, + "ĠFood": 12369, + "EIF": 12370, + "ĠBi": 12371, + ".Start": 12372, + "ĠIB": 12373, + "Ġuniversity": 12374, + "254": 12375, + "ĠHeader": 12376, + ".product": 12377, + "409": 12378, + "Copy": 12379, + "etc": 12380, + "rical": 12381, + "Ġ>>>": 12382, + "books": 12383, + "Ġalgorithm": 12384, + "Ġ'__": 12385, + "(javax": 12386, + "Ġnumerous": 12387, + "Share": 12388, + "Have": 12389, + "Ġrecru": 12390, + "Ġprove": 12391, + ".substring": 12392, + "health": 12393, + "ел": 12394, + "Ġdecimal": 12395, + "Ġcommission": 12396, + "scription": 12397, + "xC": 12398, + "Ġsummary": 12399, + "atted": 12400, + "Ġcloser": 12401, + "finished": 12402, + "()){Ċ": 12403, + "ĠWood": 12404, + "301": 12405, + "_fields": 12406, + "ku": 12407, + "_items": 12408, + "Flag": 12409, + "Ġconfidence": 12410, + "ĠFederal": 12411, + "dux": 12412, + "Ġcompat": 12413, + "Ġvertical": 12414, + "й": 12415, + "ès": 12416, + ";\">Ċ": 12417, + "_manager": 12418, + "()))Ċ": 12419, + "IDE": 12420, + ":\",": 12421, + "235": 12422, + "__Ċ": 12423, + "ĠWay": 12424, + "221": 12425, + "ÑĪ": 12426, + "Temp": 12427, + "ĠSTR": 12428, + "ritten": 12429, + "Sync": 12430, + "ĠAV": 12431, + "ĠCEO": 12432, + "ĠGuid": 12433, + "Ġenvironmental": 12434, + "Ġcorresponding": 12435, + "ĉconsole": 12436, + "Ġjustice": 12437, + "ĠJS": 12438, + "Ġlived": 12439, + "gar": 12440, + "ĠGraph": 12441, + "ĠStat": 12442, + "ĠiPhone": 12443, + ".al": 12444, + "ĠHD": 12445, + "Ġoccur": 12446, + "Ġthreshold": 12447, + "509": 12448, + "Ġonclick": 12449, + "REG": 12450, + ".GraphicsUnit": 12451, + "Meta": 12452, + "ž": 12453, + "Ġcum": 12454, + ".gnu": 12455, + "ë": 12456, + "Ġobtained": 12457, + "Ġcomplaint": 12458, + "Ġeating": 12459, + "Ġtar": 12460, + "_task": 12461, + "Ġopts": 12462, + "216": 12463, + "(to": 12464, + "Pass": 12465, + "Ġplastic": 12466, + "tility": 12467, + "ĠWin": 12468, + ".preventDefault": 12469, + "pile": 12470, + "ĠGar": 12471, + "Ġquantity": 12472, + "_last": 12473, + "Ġgreatest": 12474, + "Dao": 12475, + "_DIS": 12476, + "ĠUsed": 12477, + "ĠHP": 12478, + "riting": 12479, + "SION": 12480, + "blue": 12481, + "domain": 12482, + "Ġscores": 12483, + "Normal": 12484, + "_admin": 12485, + "ĠASSERT": 12486, + "Then": 12487, + "***": 12488, + "dist": 12489, + "lon": 12490, + "Ġhate": 12491, + "shal": 12492, + "ImageView": 12493, + "database": 12494, + "Ġpand": 12495, + "Ġlogic": 12496, + "=false": 12497, + "bg": 12498, + "ĠConfiguration": 12499, + "Ġnur": 12500, + "OG": 12501, + "Ġmarried": 12502, + ":+": 12503, + "Ġdropped": 12504, + "040": 12505, + "Ġregistration": 12506, + "ом": 12507, + "ultiple": 12508, + "izers": 12509, + "shape": 12510, + ".copy": 12511, + "Ġwearing": 12512, + "ĠCath": 12513, + "Ġdedicated": 12514, + "Ġ...Ċ": 12515, + "Ġadvoc": 12516, + "ĠFamily": 12517, + "Ġstatements": 12518, + "ematic": 12519, + "ampionship": 12520, + "Ġmotiv": 12521, + "ĠHave": 12522, + "Ġblow": 12523, + "Job": 12524, + "cert": 12525, + "_vector": 12526, + "install": 12527, + "ĠCOPY": 12528, + "embed": 12529, + "DIR": 12530, + "ĠSpring": 12531, + "Ġexhib": 12532, + "223": 12533, + "cdn": 12534, + "ĠComment": 12535, + "ĠOptional": 12536, + ".player": 12537, + "ĠDark": 12538, + "(pos": 12539, + "ĠShould": 12540, + "Ġcentre": 12541, + "ĠGuard": 12542, + "ów": 12543, + "Ġtrouble": 12544, + "ENER": 12545, + "(unsigned": 12546, + "_service": 12547, + "Ġns": 12548, + "uling": 12549, + "ĠMexico": 12550, + "ĠNY": 12551, + "mysql": 12552, + "Ġlic": 12553, + "åľ": 12554, + "Mr": 12555, + "-fl": 12556, + "ĠCustomer": 12557, + "idi": 12558, + "Ġ?>ĊĊ": 12559, + "rible": 12560, + "ĠпÑĢ": 12561, + "Ġsizes": 12562, + "_STRING": 12563, + "validation": 12564, + "ĠJon": 12565, + "(Http": 12566, + "addClass": 12567, + "Nodes": 12568, + "Ġfragment": 12569, + "Ġspoke": 12570, + "Ġwaste": 12571, + "Join": 12572, + "Ġillustr": 12573, + "eli": 12574, + "cient": 12575, + "Ġaid": 12576, + "Ġprosec": 12577, + "'){Ċ": 12578, + "Ġpassing": 12579, + "Ġfaces": 12580, + "Shape": 12581, + "_Z": 12582, + "iti": 12583, + "Ġalle": 12584, + "Ġrobot": 12585, + "ĠĠĠĠĠĠĠĊ": 12586, + "ĠSpe": 12587, + "Ġreceiving": 12588, + "ĠDetails": 12589, + "Ġ\")": 12590, + "mg": 12591, + "_REF": 12592, + "Ġcomparison": 12593, + "*,": 12594, + "ĠFound": 12595, + "_session": 12596, + "(U": 12597, + "/F": 12598, + "Ġxxx": 12599, + "Network": 12600, + "ders": 12601, + "Ġcapture": 12602, + "Ġcorre": 12603, + "ĠLtd": 12604, + "ĠAdv": 12605, + "[@": 12606, + "Ġclip": 12607, + "Mill": 12608, + "ĠProfile": 12609, + "Ġendif": 12610, + "Ġoblig": 12611, + "describe": 12612, + ".element": 12613, + "riterion": 12614, + "LD": 12615, + "ered": 12616, + "Ġfavour": 12617, + "score": 12618, + "ĠFilter": 12619, + "attributes": 12620, + "Ġchecks": 12621, + "Inflater": 12622, + "ĠPlus": 12623, + "Ġscientific": 12624, + "Ġprivacy": 12625, + "Head": 12626, + "Ġfeat": 12627, + "Ġdegrees": 12628, + "ĠPale": 12629, + ";\">": 12630, + "Ġfilms": 12631, + "ĠAudio": 12632, + "ĠTag": 12633, + "ĠEnergy": 12634, + "itar": 12635, + "parator": 12636, + "Ġfellow": 12637, + "Ġevt": 12638, + "ĠTri": 12639, + "ĠDAM": 12640, + "cloud": 12641, + "ĠPassword": 12642, + "ĠDemocrats": 12643, + "ĠAcad": 12644, + "$lang": 12645, + "Ġreb": 12646, + "())ĊĊ": 12647, + "нÑĭ": 12648, + "ĠBur": 12649, + "readcr": 12650, + "Ġhex": 12651, + "209": 12652, + "Console": 12653, + "ctl": 12654, + "ousel": 12655, + "ĠWilliam": 12656, + "Ġaz": 12657, + "_PORT": 12658, + "Ġpractices": 12659, + "Ġanywhere": 12660, + "ĠPosition": 12661, + "Ġ->Ċ": 12662, + "iams": 12663, + ".username": 12664, + "placeholder": 12665, + "Ġoder": 12666, + "ĠSecretary": 12667, + "ĠiT": 12668, + "mond": 12669, + "events": 12670, + "?âĢĿ": 12671, + ".Sub": 12672, + "Ġattached": 12673, + "Ġnão": 12674, + "Ġestate": 12675, + "365": 12676, + ".action": 12677, + "Ġfigures": 12678, + "Ġ});čĊ": 12679, + "Ġsubscri": 12680, + ".tag": 12681, + "nam": 12682, + ".plot": 12683, + "noon": 12684, + "liament": 12685, + "Character": 12686, + ".tab": 12687, + "Ġwinter": 12688, + "ĠVariable": 12689, + "Ġtrees": 12690, + "Ġproud": 12691, + "(V": 12692, + "_load": 12693, + "Ġhier": 12694, + "ĠEcon": 12695, + "Ġfd": 12696, + "Ġvictims": 12697, + "Rest": 12698, + "iana": 12699, + "Ġfake": 12700, + ".Println": 12701, + "Ġstrlen": 12702, + "Ġsad": 12703, + "Ġble": 12704, + "Prot": 12705, + "Ġbuttons": 12706, + "Ġtelevision": 12707, + "Ġlogo": 12708, + "extension": 12709, + "ĉj": 12710, + "stein": 12711, + "aciones": 12712, + "Ġ\"\"\"ĊĊ": 12713, + "Ġsimp": 12714, + "Ġrecorded": 12715, + "Ġbrings": 12716, + "Ġprincipal": 12717, + "Ġfees": 12718, + "(source": 12719, + "kdir": 12720, + "Ġutils": 12721, + "Ġcorrectly": 12722, + "fil": 12723, + "Ġwel": 12724, + "Pair": 12725, + "-button": 12726, + "scale": 12727, + "verify": 12728, + "[c": 12729, + "Ġ---": 12730, + "Ġescape": 12731, + "ikes": 12732, + "LowerCase": 12733, + "ician": 12734, + "Ġchapter": 12735, + "ĠTYPE": 12736, + "Ġshadow": 12737, + "Ġawesome": 12738, + "WE": 12739, + "elif": 12740, + "Ġlambda": 12741, + "Ġdistinct": 12742, + "Ġbare": 12743, + "-off": 12744, + "Ġcolour": 12745, + ".appendChild": 12746, + "olec": 12747, + "aga": 12748, + ".fill": 12749, + "ĉsuper": 12750, + "Ġadj": 12751, + "(position": 12752, + ".getItem": 12753, + "242": 12754, + "Short": 12755, + "Ġtotally": 12756, + "VD": 12757, + "ĠTre": 12758, + "_ep": 12759, + "vements": 12760, + "ĠSolution": 12761, + "Ġfundament": 12762, + "Follow": 12763, + "Ġfacility": 12764, + "Ġhappening": 12765, + "OF": 12766, + ".textBox": 12767, + "Span": 12768, + "Ġ«": 12769, + "iden": 12770, + "Ġexceed": 12771, + "(parent": 12772, + "Ġcp": 12773, + "ç»": 12774, + "Ġhasn": 12775, + "Ġpri": 12776, + "Ġconsequ": 12777, + "nen": 12778, + "ĠINTO": 12779, + "Ignore": 12780, + "ĠFuture": 12781, + "Ġcarbon": 12782, + "ĠSteel": 12783, + "fmt": 12784, + "okie": 12785, + "Ġspl": 12786, + "(title": 12787, + "-info": 12788, + "Ġdeals": 12789, + "Ġfixture": 12790, + "ea": 12791, + "Div": 12792, + "Ġtested": 12793, + "_return": 12794, + ")ĊĊĊĊ": 12795, + "upported": 12796, + "ĠCook": 12797, + "Ġpaying": 12798, + "ĠIll": 12799, + "Ġarrested": 12800, + "ĠPrime": 12801, + "_callback": 12802, + ">,Ċ": 12803, + "driver": 12804, + "Once": 12805, + "abb": 12806, + "_bytes": 12807, + "ĠSets": 12808, + "(Object": 12809, + "Ġcc": 12810, + "Ġshell": 12811, + "alo": 12812, + ");//": 12813, + "(log": 12814, + "264": 12815, + "ctors": 12816, + ")": 13301, + "218": 13302, + "Ġ$(\".": 13303, + ".pos": 13304, + "Ġboys": 13305, + "Ġwedding": 13306, + "Ġagents": 13307, + "=\"_": 13308, + "ĠArmy": 13309, + "Ġhint": 13310, + "vision": 13311, + "Ġtech": 13312, + "ĠConnect": 13313, + "Ġlegend": 13314, + "ĠBet": 13315, + ".Base": 13316, + "Subject": 13317, + "Ġlit": 13318, + "Remove": 13319, + "Ġ\":": 13320, + "ĠFinal": 13321, + "pearance": 13322, + "ĠiTunes": 13323, + "Ġparticipants": 13324, + "ĠPython": 13325, + "Ġbusy": 13326, + "iel": 13327, + "vertices": 13328, + "ĠtemplateUrl": 13329, + "ĠClose": 13330, + "Img": 13331, + "ĠCorporation": 13332, + "timestamp": 13333, + "Ġextend": 13334, + "Ġwebsites": 13335, + "Ġpossibility": 13336, + "оÑĤ": 13337, + "Ġkö": 13338, + "Ġmeat": 13339, + "Ġrepresentation": 13340, + "241": 13341, + "Ġĉĉ": 13342, + "_START": 13343, + ".apply": 13344, + "ĠValley": 13345, + "ĠSuccess": 13346, + "Hi": 13347, + "Ġnob": 13348, + "ĠIEnumerable": 13349, + "_select": 13350, + "geo": 13351, + ".\")Ċ": 13352, + "Ġturning": 13353, + "Ġfabric": 13354, + "(\"\");Ċ": 13355, + "Ġperspective": 13356, + "éĹ": 13357, + "ĠSn": 13358, + "Thank": 13359, + ";j": 13360, + ".Parameters": 13361, + "ĉĠĠĠĠĠĠĠĠĠĠĠ": 13362, + "Ġfacts": 13363, + "305": 13364, + "Ġunt": 13365, + ".instance": 13366, + "################################################################": 13367, + "-end": 13368, + "ĠJOIN": 13369, + "ĠHen": 13370, + "Ġuri": 13371, + "åIJį": 13372, + "Ġна": 13373, + "ĠInfo": 13374, + "Ġconducted": 13375, + "ĠÃ¥": 13376, + "OURCE": 13377, + "Ġwine": 13378, + "John": 13379, + ".Errorf": 13380, + "ĠAge": 13381, + "ounded": 13382, + "Ġrealize": 13383, + "312": 13384, + "Ġ];": 13385, + "Ġsubsequ": 13386, + ",m": 13387, + "(User": 13388, + "iano": 13389, + "Ġaccompl": 13390, + "isp": 13391, + ".std": 13392, + "éĩ": 13393, + "ĠBed": 13394, + ".setAttribute": 13395, + "BR": 13396, + "keep": 13397, + "ĠALL": 13398, + "Ġisol": 13399, + "amma": 13400, + "Package": 13401, + "Ġoccasion": 13402, + "-success": 13403, + "ед": 13404, + "ĠLIMITED": 13405, + "strip": 13406, + "()ĊĊĊ": 13407, + "istribution": 13408, + "Colors": 13409, + "Ġ+:+": 13410, + "DidLoad": 13411, + "aler": 13412, + "Ġtid": 13413, + "ĠLED": 13414, + "ĠLinked": 13415, + "ĠCart": 13416, + "())čĊ": 13417, + "_READ": 13418, + "Ġkilling": 13419, + "ĠPHP": 13420, + "fection": 13421, + "Ġinstances": 13422, + "cv": 13423, + "\"/>": 13424, + "Ġsf": 13425, + "Ġtaxes": 13426, + "_location": 13427, + "ĠBitcoin": 13428, + "uable": 13429, + "rank": 13430, + "ignore": 13431, + "track": 13432, + "ка": 13433, + "Ġshouldn": 13434, + "ĠOP": 13435, + "=>{Ċ": 13436, + "Ġkm": 13437, + "Ġhelper": 13438, + "_head": 13439, + "ĠWhether": 13440, + "oco": 13441, + "_bl": 13442, + "Ġstatistics": 13443, + "Ġbeauty": 13444, + "Ġtog": 13445, + "tip": 13446, + "ëĭ¤": 13447, + "Ġcsv": 13448, + "(sql": 13449, + "stdlib": 13450, + "weak": 13451, + "Ġlikes": 13452, + "Äį": 13453, + "Ġrepeat": 13454, + "Ġapartment": 13455, + "Ġemph": 13456, + "_edit": 13457, + "Ġvit": 13458, + "ĉtype": 13459, + "217": 13460, + "Even": 13461, + "uten": 13462, + "Ġcircumstances": 13463, + "bian": 13464, + "Ġsugar": 13465, + "Windows": 13466, + "ìŀ": 13467, + "Ġobserved": 13468, + "/data": 13469, + "Ġcalendar": 13470, + "Ġstrike": 13471, + "ĠRES": 13472, + "_sc": 13473, + "fony": 13474, + "orem": 13475, + "(z": 13476, + "power": 13477, + "etect": 13478, + "ĠSat": 13479, + ".description": 13480, + "Ġgang": 13481, + "ĠSports": 13482, + "ongs": 13483, + "ĠBundle": 13484, + ".sum": 13485, + "once": 13486, + "Ġaccused": 13487, + "Ġexplore": 13488, + "Ġapproximately": 13489, + "Ġlosing": 13490, + "thesis": 13491, + "ĠFund": 13492, + "Ġdiagn": 13493, + "Autowired": 13494, + "properties": 13495, + "Ġ_.": 13496, + "Ġcnt": 13497, + "cedure": 13498, + "Ġyy": 13499, + "Ġgrant": 13500, + "sock": 13501, + ".innerHTML": 13502, + "Ġ]);Ċ": 13503, + "ĠCONFIG": 13504, + "='$": 13505, + "550": 13506, + "]];Ċ": 13507, + "UND": 13508, + "Ġglob": 13509, + "Ġdire": 13510, + "uffle": 13511, + "_MEM": 13512, + "Ġauthentic": 13513, + ">(\"": 13514, + "Ġdecade": 13515, + "ĠImport": 13516, + "Ġoriginally": 13517, + "ĠjQuery": 13518, + "Ġindicate": 13519, + "Ġourselves": 13520, + "Sw": 13521, + ".lbl": 13522, + "enerate": 13523, + "Ġbasically": 13524, + "ĠHom": 13525, + "Ġ+#+": 13526, + "ĠBritain": 13527, + "ĠKar": 13528, + "toEqual": 13529, + ".stop": 13530, + "Ġmodal": 13531, + "isi": 13532, + "Ġsuggests": 13533, + "Ġdtype": 13534, + "Ġtur": 13535, + "bf": 13536, + "Ġconnections": 13537, + "ĠBefore": 13538, + "isted": 13539, + "mouse": 13540, + "Ġpulled": 13541, + ".build": 13542, + "Ġlegislation": 13543, + "Ġforth": 13544, + "pad": 13545, + "ego": 13546, + ".Now": 13547, + "Ġexciting": 13548, + "}ĊĊĊĊ": 13549, + "Ġcompr": 13550, + "Ġshares": 13551, + "Ġrig": 13552, + "green": 13553, + "_vec": 13554, + "Ġenumerate": 13555, + "Auto": 13556, + "icator": 13557, + "ĠRay": 13558, + "asse": 13559, + "Ġholiday": 13560, + "Ġnullable": 13561, + "gun": 13562, + "_details": 13563, + "Ġwrapper": 13564, + "seq": 13565, + "ĠYoung": 13566, + "juana": 13567, + "Ġ\"__": 13568, + "license": 13569, + "serve": 13570, + "^(": 13571, + "iders": 13572, + ".Remove": 13573, + "ropdown": 13574, + "'S": 13575, + "pin": 13576, + "(token": 13577, + ".Default": 13578, + "Ġreasonable": 13579, + "ampion": 13580, + "ĠSociety": 13581, + "Ġbei": 13582, + "erves": 13583, + "rad": 13584, + "ĠFox": 13585, + "_images": 13586, + "Ġwheel": 13587, + "')[": 13588, + "Ġcfg": 13589, + "(By": 13590, + "Constructor": 13591, + "Ġvary": 13592, + ".swift": 13593, + "Ġproxy": 13594, + "ĉH": 13595, + "ĠAnother": 13596, + "ĠPen": 13597, + "Ġchecking": 13598, + "Ġjest": 13599, + "manager": 13600, + "Origin": 13601, + "ugs": 13602, + "oir": 13603, + ">čĊ": 16336, + "Ġrelief": 16337, + "lap": 16338, + "quer": 16339, + "_parent": 16340, + "heap": 16341, + "LOSE": 16342, + "Ġcombine": 16343, + "ĠRose": 16344, + "owers": 16345, + "Ġprocedures": 16346, + "ĠSort": 16347, + "anim": 16348, + "variant": 16349, + "ehicle": 16350, + "Ġsigning": 16351, + "Primary": 16352, + "currency": 16353, + "Ġsexe": 16354, + "oen": 16355, + "theta": 16356, + "eman": 16357, + "Ġimpressive": 16358, + "('_": 16359, + "ĉU": 16360, + "ĠTextStyle": 16361, + "_cnt": 16362, + "Ġslice": 16363, + "(':": 16364, + "Ġunderstood": 16365, + "His": 16366, + "277": 16367, + "013": 16368, + "Ġinformed": 16369, + "Ġnick": 16370, + "429": 16371, + "(TAG": 16372, + "hd": 16373, + "Ġelections": 16374, + "esture": 16375, + "ĠSanta": 16376, + "ĠCoast": 16377, + ".pdf": 16378, + "inciple": 16379, + ".clone": 16380, + "born": 16381, + "uta": 16382, + "Ġlicensed": 16383, + "Cr": 16384, + "Ġbread": 16385, + "ĠHouston": 16386, + "Ġnod": 16387, + "Ġhopes": 16388, + "ĠCGRect": 16389, + "Ġguilty": 16390, + ".gif": 16391, + "Ġrose": 16392, + ".Common": 16393, + "Tip": 16394, + "ANK": 16395, + "ĠFC": 16396, + "During": 16397, + "ĠSymfony": 16398, + "Ġdefensive": 16399, + "km": 16400, + ")>": 16401, + "archive": 16402, + "ĠURI": 16403, + "ycling": 16404, + "-o": 16405, + "ĠWebsite": 16406, + "AMP": 16407, + "405": 16408, + "ishment": 16409, + "Ġdoctors": 16410, + "Direct": 16411, + "ARI": 16412, + "ĠRedirect": 16413, + "ieren": 16414, + "960": 16415, + "_dist": 16416, + "yo": 16417, + "ĠProgress": 16418, + "Ġzum": 16419, + "Ġmemor": 16420, + "ĠED": 16421, + "Ġjur": 16422, + "æį®": 16423, + "_TABLE": 16424, + "Ġuuid": 16425, + "Expr": 16426, + ".head": 16427, + "('%": 16428, + "pointer": 16429, + "Ġestimate": 16430, + "ĠGreg": 16431, + "Ġloader": 16432, + "ĠiOS": 16433, + "Ġmens": 16434, + "[y": 16435, + "Ġrefused": 16436, + "Ġprecision": 16437, + "isch": 16438, + "ĠACTION": 16439, + "Cloud": 16440, + "sWith": 16441, + "(ret": 16442, + "292": 16443, + "_ADDR": 16444, + "_conf": 16445, + "(df": 16446, + "Ġlocked": 16447, + "Ġrising": 16448, + "ãĥ»ãĥ»": 16449, + "ĠMs": 16450, + "Ġscenes": 16451, + "_EXT": 16452, + "_raw": 16453, + "_the": 16454, + "people": 16455, + "Ġrecon": 16456, + "ĠFun": 16457, + "Ġbless": 16458, + "ĠUpdated": 16459, + "422": 16460, + "ün": 16461, + "ĠĠĠĠĠĠĠĠĠĠĠĠčĊ": 16462, + "pection": 16463, + "Release": 16464, + ".logger": 16465, + "ĠSY": 16466, + "Ġcounsel": 16467, + "urd": 16468, + "_true": 16469, + "Ġeverybody": 16470, + "ivot": 16471, + "Ġhence": 16472, + "ĠNAS": 16473, + "789": 16474, + "Ġopposed": 16475, + "unknown": 16476, + "ĠDESC": 16477, + "ĠChair": 16478, + "failed": 16479, + "ĠINCLUDING": 16480, + "386": 16481, + "352": 16482, + "Ġwriters": 16483, + "{}Ċ": 16484, + "ÃŃt": 16485, + "_copy": 16486, + "}:": 16487, + "ĠBat": 16488, + "Ġconverted": 16489, + "eding": 16490, + "placement": 16491, + "ĠHost": 16492, + "Sound": 16493, + "им": 16494, + "Ġsought": 16495, + "402": 16496, + "mid": 16497, + "Ġsalary": 16498, + "ogg": 16499, + "âĦ¢": 16500, + "bul": 16501, + "Ġwir": 16502, + "validator": 16503, + "_STAT": 16504, + ".store": 16505, + "ĠBattle": 16506, + "ın": 16507, + "Ġ-->ĊĊ": 16508, + "Trump": 16509, + "dot": 16510, + "ĠCONT": 16511, + ".fetch": 16512, + "Ġcontinu": 16513, + "was": 16514, + "Ġfraud": 16515, + "_tmp": 16516, + "mitter": 16517, + ".pictureBox": 16518, + "GA": 16519, + "Ġtournament": 16520, + ".Input": 16521, + "343": 16522, + "[r": 16523, + "exion": 16524, + "centage": 16525, + "ĠKorean": 16526, + "undef": 16527, + "ĠAvailable": 16528, + "reshape": 16529, + "Ġkit": 16530, + "ĠStruct": 16531, + "ĠSUB": 16532, + "Answer": 16533, + "_lib": 16534, + ".twitter": 16535, + "Ġore": 16536, + "ĠDragon": 16537, + ".Ext": 16538, + ",k": 16539, + "Ġexplanation": 16540, + "refs": 16541, + "ĠDrive": 16542, + "ĠTraining": 16543, + "282": 16544, + ".Has": 16545, + "341": 16546, + "intage": 16547, + "big": 16548, + "ologist": 16549, + "ennis": 16550, + "460": 16551, + "Ùĩ": 16552, + "Ġchicken": 16553, + "ĠĠĠĠĠĠĠĠĠĠĊ": 16554, + "çĽ": 16555, + "ãģ§": 16556, + "Ġpeak": 16557, + "Ġdrinking": 16558, + "Ġencode": 16559, + "ĠNEW": 16560, + "malloc": 16561, + "ĉfprintf": 16562, + "Ġ=================================================================": 16563, + "including": 16564, + "Ġprinciples": 16565, + "ĠMah": 16566, + "267": 16567, + "storage": 16568, + "-key": 16569, + "Ġkeyword": 16570, + "%;": 16571, + "Ġtrained": 16572, + ".contrib": 16573, + "Ġkv": 16574, + "__':Ċ": 16575, + "ĠBoy": 16576, + "parameter": 16577, + "Ġsuite": 16578, + "Ġthousand": 16579, + "Ġcoordinate": 16580, + "-generated": 16581, + "íķĺ": 16582, + "generated": 16583, + "Ġadmitted": 16584, + "Ġpussy": 16585, + "#w": 16586, + "Ġswim": 16587, + "union": 16588, + "Na": 16589, + "274": 16590, + "ĠRoyal": 16591, + ".channel": 16592, + "Updated": 16593, + "_ROOT": 16594, + "Ġvital": 16595, + "335": 16596, + "raction": 16597, + "ĠCrusher": 16598, + "Ġpreced": 16599, + "Ġhorizontal": 16600, + "Blueprint": 16601, + "Ġattrs": 16602, + "Ġsmoke": 16603, + "ÐĴ": 16604, + ".Equals": 16605, + "FB": 16606, + "ĠResources": 16607, + "rolling": 16608, + "Ġpasses": 16609, + "ĠNum": 16610, + "rotate": 16611, + "etype": 16612, + "\\\",": 16613, + "Ġsensitive": 16614, + "Ġtall": 16615, + "?âĢĿĊĊ": 16616, + "Proxy": 16617, + "iy": 16618, + "_section": 16619, + "âĢĶâĢĶâĢĶâĢĶ": 16620, + "brid": 16621, + "Ġcircuit": 16622, + "atan": 16623, + "ENC": 16624, + "Ġdriven": 16625, + "Ġvoted": 16626, + "Ġeducational": 16627, + "Ġinteraction": 16628, + "abetes": 16629, + "Ġtone": 16630, + "ĠInitializeComponent": 16631, + "Ġmerely": 16632, + "Ġìŀ": 16633, + "cookie": 16634, + "_div": 16635, + "ĠUILabel": 16636, + "vely": 16637, + "});čĊ": 16638, + "_ENT": 16639, + "#+#+": 16640, + "articles": 16641, + "ĠSouthern": 16642, + "Ġstronger": 16643, + "ĠGiven": 16644, + "ĠEric": 16645, + "ĠIR": 16646, + "abstract": 16647, + "Under": 16648, + "nable": 16649, + "Ġincrement": 16650, + "oven": 16651, + "Ġcoin": 16652, + "_timer": 16653, + "Ġsuffered": 16654, + "ĠFREE": 16655, + "'].\"": 16656, + "ĠQueen": 16657, + "stats": 16658, + "Ġmeetings": 16659, + "276": 16660, + "Ġentering": 16661, + "Ġalongside": 16662, + "(session": 16663, + "itals": 16664, + "Ġfoundation": 16665, + "ĠCredit": 16666, + ".div": 16667, + "_ALL": 16668, + "pcion": 16669, + "_stat": 16670, + "icking": 16671, + "Defaults": 16672, + "_src": 16673, + "Ġoutputs": 16674, + "/B": 16675, + "Ġenthus": 16676, + "-bl": 16677, + ".ForeColor": 16678, + "ĉtemp": 16679, + "Face": 16680, + "Ġinteract": 16681, + "Ġweird": 16682, + "Mount": 16683, + "rell": 16684, + "udents": 16685, + "Ġrequirement": 16686, + "ĠSus": 16687, + "IER": 16688, + "Ġelected": 16689, + "reference": 16690, + "ĠME": 16691, + "Ġservers": 16692, + ".wait": 16693, + "Ġsnapshot": 16694, + "ilton": 16695, + "Ġtries": 16696, + "Ġtipo": 16697, + ".Time": 16698, + ">w": 16699, + "Ġmountain": 16700, + "Ġpounds": 16701, + "Ġ[...": 16702, + "exists": 16703, + "ĠngOn": 16704, + "_MAP": 16705, + "Ġflying": 16706, + "331": 16707, + "xiety": 16708, + "ĉvalue": 16709, + "_DB": 16710, + "uno": 16711, + "Ġseats": 16712, + "TURN": 16713, + ".author": 16714, + "!)": 16715, + "orce": 16716, + "Ġindicated": 16717, + "317": 16718, + ".sin": 16719, + "Ġassignment": 16720, + "imiento": 16721, + "ĠFrame": 16722, + "324": 16723, + "_gen": 16724, + "inery": 16725, + "_)": 16726, + "messages": 16727, + ".settings": 16728, + "ĠMean": 16729, + "ĠMuseum": 16730, + "irq": 16731, + "attach": 16732, + "ĠPalestin": 16733, + "_QU": 16734, + "_tags": 16735, + "Ġcasual": 16736, + "emen": 16737, + "ASSWORD": 16738, + "432": 16739, + "$s": 16740, + "ĠCirc": 16741, + "ой": 16742, + "etric": 16743, + "/P": 16744, + "018": 16745, + "Ġepoch": 16746, + "The": 16761, + "ĠAk": 16762, + "Ġgrass": 16763, + "/*čĊ": 16764, + "(dis": 16765, + "Ġguns": 16766, + "Ġtb": 16767, + "ĠKevin": 16768, + ".args": 16769, + "ĠAh": 16770, + "oped": 16771, + "(J": 16772, + "columns": 16773, + "arguments": 16774, + "ĠWithEvents": 16775, + "_full": 16776, + "ĠDefense": 16777, + "Simple": 16778, + "Ġdeaths": 16779, + "295": 16780, + "Ġextensive": 16781, + "ĠStill": 16782, + "ĠExpression": 16783, + "ĠAgency": 16784, + "Ġperforming": 16785, + "FX": 16786, + "Ġusuario": 16787, + "UAL": 16788, + "Side": 16789, + "odos": 16790, + "aptop": 16791, + "Ġcredentials": 16792, + "_cap": 16793, + "atient": 16794, + "ĠDisney": 16795, + "Ġai": 16796, + "Ġchip": 16797, + "Ġvolt": 16798, + ".makeText": 16799, + "%%%%%%%%%%%%%%%%": 16800, + "Ġbelief": 16801, + "_LOC": 16802, + "ĠCivil": 16803, + "Navigation": 16804, + "Ġreveal": 16805, + "Ġviolent": 16806, + "ĠFil": 16807, + "Ġcatalog": 16808, + "emed": 16809, + "scan": 16810, + ".control": 16811, + "Ġconstitution": 16812, + "Country": 16813, + "Separator": 16814, + "_APP": 16815, + "topic": 16816, + "uetooth": 16817, + "MIN": 16818, + "Ġdescriptor": 16819, + "yt": 16820, + "ETHER": 16821, + "Ġdistribute": 16822, + "'}Ċ": 16823, + ".trim": 16824, + ".Line": 16825, + "Ġlbl": 16826, + "assertEquals": 16827, + "ĠDet": 16828, + "ombok": 16829, + "(width": 16830, + "Ġtort": 16831, + "ĠEXPRESS": 16832, + "aco": 16833, + "Using": 16834, + "ĠBrand": 16835, + "wall": 16836, + "EMENT": 16837, + "ĠCommunic": 16838, + "(Ċ": 17492, + "?>\"": 17493, + "Ġ///Ċ": 17494, + "Ġeiner": 17495, + "Ġweekly": 17496, + "ĉlogger": 17497, + "_pop": 17498, + "_man": 17499, + "Ġmigrations": 17500, + "Ġasks": 17501, + "Ġbs": 17502, + "Ġfalls": 17503, + ".Where": 17504, + "-height": 17505, + "_feature": 17506, + ".Min": 17507, + "Ġhyper": 17508, + "Ġvolatile": 17509, + "Ġtwenty": 17510, + "Typography": 17511, + "Unable": 17512, + "Det": 17513, + ",f": 17514, + "-mod": 17515, + "Ġsettlement": 17516, + "Ġcontracts": 17517, + "nome": 17518, + "Bad": 17519, + "ĠBrian": 17520, + "768": 17521, + "(username": 17522, + "!!!!": 17523, + "Ġhack": 17524, + ".Field": 17525, + "HR": 17526, + "ĠJordan": 17527, + "iza": 17528, + "ĠÂł": 17529, + "ĠSher": 17530, + ".header": 17531, + "(other": 17532, + "ĠDub": 17533, + "(op": 17534, + "ĠRound": 17535, + "Ġvie": 17536, + "Ġappl": 17537, + "ĉJ": 17538, + "ĠInsert": 17539, + "ĠLP": 17540, + "regon": 17541, + "ĠMPI": 17542, + "Ġanchor": 17543, + "aca": 17544, + "ør": 17545, + "Ġade": 17546, + "anchor": 17547, + "quee": 17548, + "ĠTreeNode": 17549, + "Ġtargeted": 17550, + "Ġlaid": 17551, + "ABEL": 17552, + "vet": 17553, + "ĠOrigin": 17554, + "Ant": 17555, + ".');Ċ": 17556, + "expect": 17557, + "edReader": 17558, + "ĠMajor": 17559, + "Ġinch": 17560, + "Compar": 17561, + "Ġpreview": 17562, + "Ġillness": 17563, + "ĠCONTRACT": 17564, + "ĠIndepend": 17565, + "uuid": 17566, + "Ġnome": 17567, + "Ġtc": 17568, + "ĠAvenue": 17569, + "isan": 17570, + "Ġphrase": 17571, + "_move": 17572, + "\")[": 17573, + "412": 17574, + "Ġprovision": 17575, + "Ġconcentr": 17576, + "_IR": 17577, + "ĠUt": 17578, + "()+": 17579, + "Ġnas": 17580, + "!,": 17581, + "ĠRobin": 17582, + "iations": 17583, + "atitude": 17584, + "Ġpx": 17585, + "ĠWithout": 17586, + "/bash": 17587, + "ekt": 17588, + "reement": 17589, + "342": 17590, + "Observer": 17591, + "318": 17592, + "ĠRegion": 17593, + "UBLIC": 17594, + "Ġ{//": 17595, + "KN": 17596, + "å·": 17597, + "GameObject": 17598, + "å¾": 17599, + "encoding": 17600, + "Ġ***": 17601, + "projects": 17602, + "Ġtk": 17603, + "Ġcheese": 17604, + "EMPL": 17605, + "aro": 17606, + "ĠاÙĦ": 17607, + "610": 17608, + "337": 17609, + "Ġconsists": 17610, + "refresh": 17611, + "ureau": 17612, + "ĠScanner": 17613, + "Ġsoil": 17614, + "Ġflavor": 17615, + "DataSource": 17616, + "Execute": 17617, + "ение": 17618, + "Ġshit": 17619, + "åĪĨ": 17620, + "Ċ": 17875, + "Ġsubsequent": 17876, + "posable": 17877, + "-fluid": 17878, + "Ġthorough": 17879, + "Ġpublicly": 17880, + "apters": 17881, + "ĠWilson": 17882, + "_PRE": 17883, + "yard": 17884, + "ä¼": 17885, + "ĉin": 17886, + "339": 17887, + "Ġrevers": 17888, + "Ġbullet": 17889, + "cribed": 17890, + "nesota": 17891, + "Ġ($_": 17892, + "annon": 17893, + "cursor": 17894, + "Ġclothing": 17895, + "ĠMulti": 17896, + "287": 17897, + ":',": 17898, + "Ġvess": 17899, + "ordinator": 17900, + "Ġeinem": 17901, + "Cannot": 17902, + "Ġarmed": 17903, + "ĉV": 17904, + "ä¸Ĭ": 17905, + ".Flat": 17906, + "ĠSep": 17907, + "ĠSubject": 17908, + "_font": 17909, + "Ġcharacteristics": 17910, + "Done": 17911, + "eln": 17912, + "############": 17913, + "POS": 17914, + "Ġdensity": 17915, + "ĠPlatform": 17916, + "-items": 17917, + "Ġovers": 17918, + "Ġpushing": 17919, + "ç¤": 17920, + ".Connection": 17921, + "_term": 17922, + "Ġinitialization": 17923, + "________________________________": 17924, + "ç¬": 17925, + ".document": 17926, + "lesh": 17927, + "ĉdocument": 17928, + "ĠPin": 17929, + "ça": 17930, + "Ġdefinitions": 17931, + ".Path": 17932, + "_WRITE": 17933, + "ĠĉĊ": 17934, + "?>ĊĊ": 17935, + "Ġterrible": 17936, + "bean": 17937, + "ickets": 17938, + "ĠSV": 17939, + "Buy": 17940, + "(task": 17941, + "Ġregime": 17942, + "google": 17943, + "Ġcrack": 17944, + ".visit": 17945, + "NUM": 17946, + "energy": 17947, + "Ġstruck": 17948, + "_sample": 17949, + ".payload": 17950, + "Ġrevis": 17951, + "ĠScene": 17952, + "Ġpg": 17953, + "Ġbreakfast": 17954, + "URRENT": 17955, + ".charAt": 17956, + "_exception": 17957, + "ĠAnton": 17958, + "Ġguidelines": 17959, + "Ġexhaust": 17960, + "ĠFinancial": 17961, + "Ġindent": 17962, + "Ġdesktop": 17963, + "Hidden": 17964, + "Failure": 17965, + "Ġprinciple": 17966, + "Ġiv": 17967, + "Ġseks": 17968, + "network": 17969, + "ĠnumberOf": 17970, + "ĠAlbert": 17971, + "ĉlong": 17972, + "801": 17973, + ",.": 17974, + "Ġzeros": 17975, + "fade": 17976, + "ĠTyp": 17977, + "ĠTerm": 17978, + "ĠArts": 17979, + ".Application": 17980, + "Ġbehalf": 17981, + "æĪ·": 17982, + "Ġmere": 17983, + "(`${": 17984, + "Ġawareness": 17985, + "elpers": 17986, + "flix": 17987, + "Ġweigh": 17988, + "Ġestimates": 17989, + ".child": 17990, + "/O": 17991, + "ĠBitmap": 17992, + ".bottom": 17993, + "Ġ**************************************************************************": 17994, + "Expect": 17995, + "ento": 17996, + "ĠForum": 17997, + "veral": 17998, + "Ġjail": 17999, + "Ġabilities": 18000, + "ĠHOLD": 18001, + "ĠCit": 18002, + "Ġdynam": 18003, + "Ġgray": 18004, + "ĉĉĉĉĉĉĉĉĉĉĉĉĉ": 18005, + ".nextInt": 18006, + "antly": 18007, + "ĠARISING": 18008, + "(private": 18009, + "Ġrejected": 18010, + "ĠNic": 18011, + "Ġleather": 18012, + "={Ċ": 18013, + "alytics": 18014, + "thetic": 18015, + ".Top": 18016, + "373": 18017, + ".Page": 18018, + "={`": 18019, + "Ġ;čĊ": 18020, + "depth": 18021, + "mann": 18022, + "WD": 18023, + "ĠSom": 18024, + ".Right": 18025, + "Ġ)}Ċ": 18026, + "Ġtrait": 18027, + "ÃĹ": 18028, + "iac": 18029, + "Ġrv": 18030, + "Sample": 18031, + ".Xml": 18032, + "opped": 18033, + "ĠÑĦ": 18034, + "lists": 18035, + "Ġtear": 18036, + "iversary": 18037, + ".collection": 18038, + "ĠConstitution": 18039, + "ĠHttpResponse": 18040, + "Ġbrill": 18041, + "ĠProm": 18042, + "hover": 18043, + "366": 18044, + "ĠMiami": 18045, + "Ġargue": 18046, + "_float": 18047, + "504": 18048, + "ĠãĤ": 18049, + "Ġnat": 18050, + "ĠTal": 18051, + "Ġintegration": 18052, + "(cur": 18053, + "Ġremoving": 18054, + "Ġcoeff": 18055, + "ĠThough": 18056, + "Ġforecast": 18057, + "408": 18058, + "ĠVegas": 18059, + "Site": 18060, + "346": 18061, + "Ġtrab": 18062, + "ĠHenry": 18063, + "-i": 18064, + "Ġinvolves": 18065, + "BT": 18066, + "Ġslo": 18067, + "Invoke": 18068, + "Ġlucky": 18069, + "025": 18070, + "rat": 18071, + "Ġ?Ċ": 18072, + "Ġhandled": 18073, + "(fd": 18074, + "contents": 18075, + "ĠOFF": 18076, + "RF": 18077, + "Ġsty": 18078, + "ĠMotor": 18079, + "tery": 18080, + "tax": 18081, + "MAP": 18082, + "ĠMrs": 18083, + "Ġphones": 18084, + "ĠUIView": 18085, + "\")));Ċ": 18086, + "(dev": 18087, + "ĠIrish": 18088, + "019": 18089, + "Ġws": 18090, + "DI": 18091, + "_OFFSET": 18092, + "ĠEvents": 18093, + "Ġstages": 18094, + "Ġ}//": 18095, + "Ġhaben": 18096, + "STANCE": 18097, + "ĠSin": 18098, + "ĠMoney": 18099, + "(top": 18100, + "Ġappointment": 18101, + "VERSION": 18102, + "metadata": 18103, + "_comment": 18104, + "Ġcolleagues": 18105, + "maps": 18106, + "âĺ": 18107, + "ĊĉĊ": 18108, + "(al": 18109, + "_req": 18110, + "Ġfut": 18111, + "Ġarchitecture": 18112, + "351": 18113, + "ĠWHETHER": 18114, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 18115, + "_screen": 18116, + "ĠstyleUrls": 18117, + "Ġmonster": 18118, + ".up": 18119, + "phia": 18120, + "Ġprocessor": 18121, + "ĠTerr": 18122, + "=',": 18123, + "ĠManufact": 18124, + "ĠNT": 18125, + "kel": 18126, + "ibern": 18127, + "ĉfile": 18128, + "Ali": 18129, + "rientation": 18130, + "Ġ//!": 18131, + "apore": 18132, + "aneous": 18133, + "ĠCreat": 18134, + "folder": 18135, + "415": 18136, + "Ġhay": 18137, + "Suppress": 18138, + "(left": 18139, + "Ġeuro": 18140, + "Ġdisclaimer": 18141, + "ustry": 18142, + "ships": 18143, + "_fd": 18144, + "ĠFa": 18145, + "_insert": 18146, + "Ġrol": 18147, + "ifting": 18148, + "ĠComments": 18149, + "_br": 18150, + "Ġlosses": 18151, + "ĠAdded": 18152, + "charg": 18153, + "Ġпо": 18154, + "_system": 18155, + "ĠSometimes": 18156, + "ĠSpain": 18157, + "(group": 18158, + "ialis": 18159, + "Ġdollar": 18160, + "ĠArgs": 18161, + "499": 18162, + "297": 18163, + "quires": 18164, + "ĠTen": 18165, + ".scss": 18166, + "Ġsurvive": 18167, + "usage": 18168, + "Ġjun": 18169, + "imiter": 18170, + "ï¼ģĊĊ": 18171, + "Ġfifth": 18172, + "toggle": 18173, + "Ġdecline": 18174, + "($\"": 18175, + "(Long": 18176, + "inge": 18177, + "Ġpilot": 18178, + "-light": 18179, + "-radius": 18180, + "Ġpodcast": 18181, + "Ġnaturally": 18182, + "Pages": 18183, + "为": 18184, + "ĠDespite": 18185, + "Ġlighting": 18186, + "Ġcrate": 18187, + "ĠBinary": 18188, + "Ġreducing": 18189, + "Ġeleg": 18190, + "ĠMouse": 18191, + "ĠTestBed": 18192, + "ĠbeforeEach": 18193, + "_ARRAY": 18194, + "Redirect": 18195, + "329": 18196, + "Ġflood": 18197, + "Ġships": 18198, + "363": 18199, + "Ġelectricity": 18200, + ")*(": 18201, + "ê¸": 18202, + "ĠViet": 18203, + "hero": 18204, + "Ġdia": 18205, + "ĠKent": 18206, + "heart": 18207, + "Ġthreats": 18208, + "_acc": 18209, + "Ġsymbols": 18210, + "ischen": 18211, + "_inst": 18212, + "Criterion": 18213, + "ĠTIM": 18214, + ".Height": 18215, + "580": 18216, + "ĠâĢĻ": 18217, + "();ĊĊĊ": 18218, + "Products": 18219, + "_SP": 18220, + "ĠCy": 18221, + "Ġdependent": 18222, + "este": 18223, + "Ġdatos": 18224, + "dit": 18225, + "ав": 18226, + "IGNAL": 18227, + "Ġlesson": 18228, + "\">'": 18229, + "ĠCover": 18230, + "ĠHope": 18231, + "ĠTimer": 18232, + "Ġdad": 18233, + "viders": 18234, + "ĠPhot": 18235, + "/?": 18236, + "ropy": 18237, + "oming": 18238, + "asion": 18239, + "Ġ\\(": 18240, + "ĠET": 18241, + "ĠReading": 18242, + "Ġepisodes": 18243, + "lm": 18244, + "421": 18245, + "echa": 18246, + "Ġneuro": 18247, + "820": 18248, + "Ġharmon": 18249, + "Ġliberal": 18250, + "-ind": 18251, + "393": 18252, + "DATA": 18253, + "Ġeveryday": 18254, + "Ġdivided": 18255, + "ĠActiveRecord": 18256, + "figure": 18257, + "UA": 18258, + "ä¹": 18259, + "riendly": 18260, + "tech": 18261, + "601": 18262, + ".gameObject": 18263, + "иÑĤÑĮ": 18264, + "374": 18265, + "Ġmoon": 18266, + "ftime": 18267, + "Ġnoch": 18268, + "ĠTORT": 18269, + "ĠVM": 18270, + ".initial": 18271, + "(child": 18272, + "Ġmusical": 18273, + "Ġoc": 18274, + "bas": 18275, + "ĠHay": 18276, + "361": 18277, + "_long": 18278, + "Ġmemset": 18279, + "iley": 18280, + "adelphia": 18281, + "SV": 18282, + "roat": 18283, + "_tx": 18284, + "Ġlon": 18285, + "ĠngOnInit": 18286, + "bp": 18287, + "ĠGolden": 18288, + "ACHE": 18289, + "Ġworried": 18290, + "azi": 18291, + "Ear": 18292, + "Take": 18293, + "(fp": 18294, + "burgh": 18295, + "_Data": 18296, + "gres": 18297, + "ĠOnt": 18298, + "pus": 18299, + "Ġtransparent": 18300, + "Ġpocket": 18301, + "Ġram": 18302, + "igrations": 18303, + ".čĊčĊ": 18304, + "Ġ[(": 18305, + "Ġadopted": 18306, + "Ġreportedly": 18307, + "ĠDream": 18308, + "Ġ}));Ċ": 18309, + "losing": 18310, + "Ġteeth": 18311, + "ĠBooks": 18312, + "\",&": 18313, + "enny": 18314, + "LEMENT": 18315, + "Ġgel": 18316, + "ĠPlant": 18317, + "437": 18318, + "!âĢĿ": 18319, + ".host": 18320, + "ĠReply": 18321, + "376": 18322, + "rength": 18323, + "Ġrecognition": 18324, + "Ġ}}>Ċ": 18325, + "LA": 18326, + "Ġmirror": 18327, + "Ġassistant": 18328, + "(device": 18329, + "Ġspiritual": 18330, + "builder": 18331, + "§": 18332, + "Ġoutr": 18333, + "Ġtt": 18334, + "ĠPER": 18335, + "Ġradical": 18336, + "Methods": 18337, + "Ġpace": 18338, + "udy": 18339, + "Ġgut": 18340, + "ĠGreek": 18341, + "Ġnonatomic": 18342, + "ĠPaper": 18343, + "_GPIO": 18344, + "Ġobst": 18345, + ".Ad": 18346, + "vironments": 18347, + "ĠSov": 18348, + "356": 18349, + "(con": 18350, + "ĠTransaction": 18351, + ".assign": 18352, + "ĉcatch": 18353, + "elter": 18354, + "Ġbitcoin": 18355, + "_GR": 18356, + "ĠčĊ": 18473, + "metic": 18474, + "Ġtransformation": 18475, + "åı·": 18476, + "Ġrgb": 18477, + "istributions": 18478, + "Ġimplicit": 18479, + "/in": 18480, + "destination": 18481, + "аÑĤÑĮ": 18482, + "Zero": 18483, + "Ġunset": 18484, + "920": 18485, + ".where": 18486, + ".go": 18487, + "Ġformation": 18488, + "Ġdeclaration": 18489, + "()čĊčĊ": 18490, + "ĠExpl": 18491, + "ĉĉĉĠĠ": 18492, + "/pro": 18493, + ".JSON": 18494, + "441": 18495, + "Ġdesk": 18496, + ".substr": 18497, + "//----------------------------------------------------------------------------": 18498, + "lyn": 18499, + "pson": 18500, + "407": 18501, + "disable": 18502, + "ĠFunc": 18503, + "ĉAssert": 18504, + "ĠMARK": 18505, + "Ġdefeat": 18506, + "Ġblind": 18507, + "Ġconstants": 18508, + "362": 18509, + ".headers": 18510, + "UILD": 18511, + "Ġexpenses": 18512, + "Pixel": 18513, + "Ġhr": 18514, + "Ġfel": 18515, + "ĠEastern": 18516, + "424": 18517, + "490": 18518, + "_del": 18519, + "357": 18520, + "ĠCub": 18521, + "Ġsq": 18522, + "ĉcount": 18523, + "ĠDirectory": 18524, + "Ġexclus": 18525, + "Ġhistoric": 18526, + "Ġ------------------------------------------------": 18527, + "Ġcomposition": 18528, + "ĠdataGridView": 18529, + "ĠBurn": 18530, + "ĠBC": 18531, + "Master": 18532, + "Ġspawn": 18533, + "Ġbearing": 18534, + ".SetActive": 18535, + "ilo": 18536, + "Ġgallery": 18537, + "Ġfounded": 18538, + "Ġavailability": 18539, + ".sqrt": 18540, + "Ġpes": 18541, + "ĠDOM": 18542, + "mate": 18543, + "Oct": 18544, + "Ġmatched": 18545, + "itivity": 18546, + "Ġanxiety": 18547, + ".price": 18548, + "ĠInstant": 18549, + "ìĬ": 18550, + "Ġtut": 18551, + "ICollection": 18552, + ".shared": 18553, + "_sql": 18554, + "tbl": 18555, + "library": 18556, + "_destroy": 18557, + "ermal": 18558, + "ĠNotes": 18559, + "ĠEin": 18560, + "Ġsouthern": 18561, + "ĠOTHERWISE": 18562, + "Ġmacro": 18563, + ".lower": 18564, + "cls": 18565, + "ContentView": 18566, + ".link": 18567, + "constant": 18568, + "ĠBes": 18569, + "Ġsomebody": 18570, + "nb": 18571, + "399": 18572, + "\">{": 18573, + "(local": 18574, + ".....": 18575, + "ĠNull": 18576, + "mx": 18577, + "Ġç": 18578, + "Ġpause": 18579, + "-----------": 18580, + "_MO": 18581, + "ĠCM": 18582, + "ĠforKey": 18583, + "ĠDVD": 18584, + "Ġclosest": 18585, + "_DEVICE": 18586, + "ĠStephen": 18587, + "ĠBBC": 18588, + "ĠTravel": 18589, + "Paint": 18590, + "ĠResults": 18591, + "ĠRule": 18592, + "Ġtp": 18593, + "Ġratings": 18594, + "cin": 18595, + "csv": 18596, + ">/": 18597, + "ĠGOP": 18598, + "lad": 18599, + "ĠÑĢ": 18600, + "ĠindexPath": 18601, + "matrix": 18602, + "=f": 18603, + "arsed": 18604, + "Ġ});": 18605, + "ĠCos": 18606, + "ĠScore": 18607, + "Ġtak": 18608, + "ĠESP": 18609, + "ĠINC": 18610, + "_NULL": 18611, + "-flex": 18612, + "\"][": 18613, + "into": 18614, + "eland": 18615, + "Authorization": 18616, + "_FALSE": 18617, + "Ġgate": 18618, + "Ġvid": 18619, + "istent": 18620, + "TIME": 18621, + "Ġrewrite": 18622, + "Ġtie": 18623, + "Ġarchive": 18624, + "511": 18625, + ".events": 18626, + ".getParameter": 18627, + "ĠPermission": 18628, + "Ġprogramme": 18629, + "Ġé": 18630, + "jud": 18631, + "Ġcameras": 18632, + "338": 18633, + "349": 18634, + "(sys": 18635, + "ĠSyrian": 18636, + "Ġimprovements": 18637, + "Ġhip": 18638, + "Ġsuicide": 18639, + "Ġscholar": 18640, + "Ġcompatible": 18641, + "022": 18642, + "remote": 18643, + ".down": 18644, + "FUNCTION": 18645, + "Ġmanaging": 18646, + "ĠUIKit": 18647, + ".raw": 18648, + ">>>>": 18649, + "371": 18650, + "Ġdemands": 18651, + "ellite": 18652, + "Ġdent": 18653, + "ĠMicro": 18654, + "åıĸ": 18655, + "'][$": 18656, + "ĠIE": 18657, + "imension": 18658, + "Ġtrem": 18659, + "630": 18660, + "Ġgained": 18661, + ".with": 18662, + ".ok": 18663, + "hou": 18664, + "Ġbom": 18665, + "ampaign": 18666, + "Ġjoining": 18667, + "fish": 18668, + "ĠaddSubview": 18669, + "860": 18670, + "Ġnorthern": 18671, + ".cor": 18672, + "oret": 18673, + "Die": 18674, + "inish": 18675, + "_comp": 18676, + "Ġattended": 18677, + "Ġcollapse": 18678, + "ĠSS": 18679, + "acent": 18680, + "_EQUAL": 18681, + "ĠDeep": 18682, + "RGB": 18683, + "ĉtest": 18684, + "olves": 18685, + "uset": 18686, + "UnityEngine": 18687, + "writer": 18688, + "Resolver": 18689, + ",%": 18690, + "ifference": 18691, + "_remove": 18692, + "onda": 18693, + "Ġfemme": 18694, + "385": 18695, + "decode": 18696, + "Branch": 18697, + "Ġflush": 18698, + "Ġinnovative": 18699, + "Tests": 18700, + "Ġ['./": 18701, + "Ġcovering": 18702, + ".admin": 18703, + "ultipart": 18704, + "(lambda": 18705, + "namespace": 18706, + "ĠSport": 18707, + "Ġ!(": 18708, + "acles": 18709, + "Ġdepression": 18710, + "ĠKong": 18711, + "570": 18712, + "Ġpert": 18713, + "ĠConn": 18714, + "ĠOtherwise": 18715, + "/home": 18716, + "supported": 18717, + "Ġpink": 18718, + "Ġinvited": 18719, + "ños": 18720, + "_enabled": 18721, + "Ġ-Ċ": 18722, + "FW": 18723, + "eners": 18724, + "ĠMY": 18725, + "Ġsuggestions": 18726, + "Canvas": 18727, + "Ġfer": 18728, + "ĠMarketing": 18729, + "@Test": 18730, + "untu": 18731, + "ĠVen": 18732, + "ĠCou": 18733, + "ivals": 18734, + "Donald": 18735, + "limited": 18736, + "ĉĉĉĉĉĉĊ": 18737, + "Ġanalyst": 18738, + "(entry": 18739, + "Ġrepresentative": 18740, + "_attributes": 18741, + "Ġfur": 18742, + ".hide": 18743, + "resp": 18744, + "adores": 18745, + "rides": 18746, + "ĠJosh": 18747, + "robot": 18748, + "ĠNAT": 18749, + "Ġsesso": 18750, + "Ġintegrated": 18751, + ":true": 18752, + "parts": 18753, + "Ġstupid": 18754, + ":event": 18755, + "@endsection": 18756, + "Ġpu": 18757, + ".Table": 18758, + "ĠYii": 18759, + "`;ĊĊ": 18760, + "Ġclang": 18761, + "=\"\">": 18762, + "engan": 18763, + "_parameters": 18764, + ".internal": 18765, + "ĠModern": 18766, + "Ġmetric": 18767, + "Ġsemi": 18768, + "={{Ċ": 18769, + "707": 18770, + ".amazon": 18771, + "ĠBB": 18772, + "ainty": 18773, + "viewport": 18774, + "367": 18775, + "ĠstartActivity": 18776, + "dispatch": 18777, + "*****": 18778, + "Ġflav": 18779, + "ifferent": 18780, + "382": 18781, + "[this": 18782, + "Ġstake": 18783, + "Ġargued": 18784, + "viously": 18785, + ".work": 18786, + "ĠOak": 18787, + "Old": 18788, + "(async": 18789, + "notes": 18790, + "Ġflip": 18791, + "Ġdisag": 18792, + "ĠTE": 18793, + "ĉerror": 18794, + "<'": 18795, + "Ġ»ĊĊ": 18796, + "Ġfiltered": 18797, + "ĠMach": 18798, + "Ġhung": 18799, + "_dump": 18800, + "_samples": 18801, + "-dismiss": 18802, + "Ġray": 18803, + "Implemented": 18804, + "DK": 18805, + "Ġjed": 18806, + "090": 18807, + "Ġbreaks": 18808, + "Ġfits": 18809, + ".gr": 18810, + "ĠZero": 18811, + "oro": 18812, + "Ġequally": 18813, + "Ġ'[": 18814, + "Ġconcerning": 18815, + "<": 18914, + "Ġpromot": 18915, + "Ġincl": 18916, + "_only": 18917, + "를": 18918, + "ĠAttorney": 18919, + "-date": 18920, + "Ġlandscape": 18921, + "Ġfu": 18922, + "SY": 18923, + ".prop": 18924, + "ĠArr": 18925, + "pag": 18926, + "ParallelGroup": 18927, + "':čĊ": 18928, + "Ġlogs": 18929, + "aunch": 18930, + "unci": 18931, + "nama": 18932, + "TableCell": 18933, + "issues": 18934, + ".{": 18935, + "ecurity": 18936, + "_exec": 18937, + "olds": 18938, + "Ġhosts": 18939, + "Ġproto": 18940, + "_import": 18941, + "_sort": 18942, + "ĠBow": 18943, + "ĠNormal": 18944, + "ĠFarm": 18945, + ".createParallelGroup": 18946, + "Rotation": 18947, + ".err": 18948, + "Ġpleased": 18949, + "itage": 18950, + ".Wh": 18951, + "ĉĉĠĠĠĠ": 18952, + "MR": 18953, + "ĠMORE": 18954, + "ĠNatural": 18955, + "_transform": 18956, + "BASE": 18957, + "eneral": 18958, + "utdown": 18959, + ".commons": 18960, + "WT": 18961, + "Ġaan": 18962, + ".Result": 18963, + "dog": 18964, + "Ġclicking": 18965, + "),ĊĊ": 18966, + "#line": 18967, + "Operator": 18968, + "Ġciv": 18969, + "Ġmerg": 18970, + "obuf": 18971, + "ngthen": 18972, + "Ġ[{": 18973, + "Ġcancell": 18974, + "trigger": 18975, + ".:": 18976, + "WORK": 18977, + "declare": 18978, + "Ġdecrease": 18979, + "ÅĽci": 18980, + "loom": 18981, + ".None": 18982, + "ĠMI": 18983, + "ĠJason": 18984, + "Ġhealthcare": 18985, + "iamond": 18986, + "sylvania": 18987, + "*x": 18988, + "ĠRa": 18989, + "[b": 18990, + "Ġprinting": 18991, + "phabet": 18992, + "ĠLabour": 18993, + "opper": 18994, + "Ġzijn": 18995, + "-target": 18996, + "_FUNCTION": 18997, + "Ġoct": 18998, + "ениÑı": 18999, + "åľ¨": 19000, + "Ġwestern": 19001, + "Ġcomputers": 19002, + "ĠRET": 19003, + "HashMap": 19004, + "[String": 19005, + "getValue": 19006, + "_DATE": 19007, + ".Next": 19008, + "ĠFif": 19009, + "él": 19010, + "icked": 19011, + "æİ": 19012, + "-MM": 19013, + "Ġ{ĊĊĊ": 19014, + "Ġcontacts": 19015, + "Ġdigits": 19016, + "Produ": 19017, + "Ġunusual": 19018, + "Ġrapidly": 19019, + "tures": 19020, + "Ġangry": 19021, + "cancel": 19022, + "xxxx": 19023, + "_parser": 19024, + "idity": 19025, + "_PREFIX": 19026, + "710": 19027, + "Ġmehr": 19028, + "Ġrarely": 19029, + "ethe": 19030, + "opes": 19031, + "Ġ%.": 19032, + "works": 19033, + "Ġtheta": 19034, + "Ġcontribution": 19035, + "ĠTony": 19036, + "Ġsquad": 19037, + "537": 19038, + "ай": 19039, + "Ġîn": 19040, + "there": 19041, + "outed": 19042, + "ĉq": 19043, + "ĻĤ": 19044, + "good": 19045, + "LI": 19046, + "页": 19047, + "ĠLiving": 19048, + "izabeth": 19049, + "Ġkt": 19050, + "ĠDallas": 19051, + "]],Ċ": 19052, + "Ġ/>ĊĊ": 19053, + "Ġraising": 19054, + "/router": 19055, + "_game": 19056, + "368": 19057, + "ĠCUR": 19058, + "zens": 19059, + ".es": 19060, + "ĠfontWeight": 19061, + "(func": 19062, + "notification": 19063, + "Ġ'../../../": 19064, + "Ġblame": 19065, + "ãĢĤĊĊĊĊ": 19066, + "anco": 19067, + "980": 19068, + "Identity": 19069, + "follow": 19070, + "Ġarts": 19071, + "xs": 19072, + "Ġofficially": 19073, + "ĠStudio": 19074, + "Ġrecommendations": 19075, + "Ġlocale": 19076, + "Ġamateur": 19077, + "ĠEnable": 19078, + "Ġcaps": 19079, + ".End": 19080, + "388": 19081, + "-add": 19082, + "_gshared": 19083, + "ĠCT": 19084, + "Force": 19085, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĊ": 19086, + "Ġorange": 19087, + "Ġlp": 19088, + "Ġanswered": 19089, + ".Grid": 19090, + "Ġdual": 19091, + "Ġstrategic": 19092, + "Ġnobody": 19093, + "Ġfatal": 19094, + "_est": 19095, + "(el": 19096, + "Ġìł": 19097, + "ĠBudd": 19098, + "AIT": 19099, + "_factor": 19100, + "-one": 19101, + "ĠHAVE": 19102, + "\"čĊčĊ": 19103, + "760": 19104, + "Prof": 19105, + "Ġär": 19106, + "strings": 19107, + "Ġdirty": 19108, + "ĠFace": 19109, + "ĠBegin": 19110, + "ĠBus": 19111, + "Ġwis": 19112, + "åŃĹ": 19113, + "Ġspeaker": 19114, + "Ġcarrier": 19115, + "ĠOm": 19116, + "Ġhadn": 19117, + "Allow": 19118, + "::__": 19119, + "Ġverb": 19120, + "ĠComplete": 19121, + "ĠEasy": 19122, + "Ġbills": 19123, + "ĠĠĊĊ": 19124, + "Vertical": 19125, + "Ġpron": 19126, + "ĠDefine": 19127, + "Ġlookup": 19128, + "variables": 19129, + "Ġpandas": 19130, + "umes": 19131, + "Ġinnoc": 19132, + "ĠsetUp": 19133, + "ĠChampionship": 19134, + "artist": 19135, + "ĠCType": 19136, + "Foundation": 19137, + "à¹Ī": 19138, + "ĠSetup": 19139, + "428": 19140, + "Ġrecipes": 19141, + "ĠUIColor": 19142, + "ĠFight": 19143, + "Ġauthorized": 19144, + "_click": 19145, + "990": 19146, + "_success": 19147, + "angan": 19148, + "ĠMountain": 19149, + "ĠDoctor": 19150, + "Ġegg": 19151, + "ĠMedicine": 19152, + "cles": 19153, + "`.Ċ": 19154, + "[int": 19155, + "dashboard": 19156, + "ĠAppro": 19157, + "-dr": 19158, + "Ġproduces": 19159, + "Ġrental": 19160, + "Ġreload": 19161, + "381": 19162, + "Ġarrival": 19163, + "spot": 19164, + "Ġundert": 19165, + "378": 19166, + "Ġequipped": 19167, + "Ġproved": 19168, + "Ġcenters": 19169, + "Ġdefines": 19170, + "also": 19171, + "Ġopacity": 19172, + "ĠUnfortunately": 19173, + "ĠIllinois": 19174, + "Ġне": 19175, + "ĠTemple": 19176, + "ĠTrail": 19177, + "ĠKelly": 19178, + "Ġmeasurement": 19179, + "Ġseparated": 19180, + "-circle": 19181, + "Hey": 19182, + "ĠREAD": 19183, + "igits": 19184, + "Ġib": 19185, + "ĠMOD": 19186, + "attery": 19187, + "аз": 19188, + "Ġvend": 19189, + "енÑĤ": 19190, + "ĠHttpClient": 19191, + "359": 19192, + "safe": 19193, + "_ASS": 19194, + "icit": 19195, + "ĠConstruct": 19196, + "ĠClo": 19197, + "ĠSix": 19198, + "_TOKEN": 19199, + "(block": 19200, + "Ġwarned": 19201, + "/*!": 19202, + "!Ċ": 19296, + "Ġinnovation": 19297, + "_\"": 19298, + "Ġ);čĊčĊ": 19299, + "Ġspots": 19300, + "Ġchoosing": 19301, + ".cs": 19302, + "Ġflexible": 19303, + "UInt": 19304, + "435": 19305, + "930": 19306, + "Ġscratch": 19307, + "-al": 19308, + "Ġfestival": 19309, + "Ġoutstanding": 19310, + "================================================": 19311, + "Mean": 19312, + "ĠOregon": 19313, + "symbol": 19314, + ".account": 19315, + "dney": 19316, + "'''": 19317, + "!\",": 19318, + "901": 19319, + "Ġparticle": 19320, + "Ãĥ": 19321, + "[MAX": 19322, + "IVER": 19323, + "ERENCE": 19324, + "NSMutable": 19325, + "ĠColumbia": 19326, + "_ĊĊ": 19327, + ".fr": 19328, + "Ġcogn": 19329, + "VR": 19330, + "ĠMethods": 19331, + "ĠMade": 19332, + "ĠBR": 19333, + "ĠElse": 19334, + "Ġeggs": 19335, + "Ġswing": 19336, + "ĠInv": 19337, + "Ġdiseases": 19338, + "Ġfirms": 19339, + "Ġlemma": 19340, + "}`);Ċ": 19341, + "lings": 19342, + "Ġgym": 19343, + "uminum": 19344, + ".Trim": 19345, + "Mem": 19346, + "Ġcriticism": 19347, + "ibernate": 19348, + "_TX": 19349, + "ioni": 19350, + "Ġguidance": 19351, + "Ġrepeatedly": 19352, + "Ġsupplier": 19353, + "Ġpainting": 19354, + "864": 19355, + ".Fragment": 19356, + "edException": 19357, + "Ġwiring": 19358, + "Ġcourts": 19359, + "WEB": 19360, + "æľī": 19361, + "\\.": 19362, + "illance": 19363, + "Ġbrows": 19364, + "ĠPattern": 19365, + "PLICATION": 19366, + "ĠSummer": 19367, + "Chain": 19368, + "Ġcute": 19369, + "mercial": 19370, + "Ġdil": 19371, + "ĠFranklin": 19372, + "ĉglobal": 19373, + "INCLUDING": 19374, + "history": 19375, + "Ġlst": 19376, + "Qt": 19377, + "SDL": 19378, + "alia": 19379, + "iere": 19380, + "(...": 19381, + "ĉcin": 19382, + "iffs": 19383, + "velope": 19384, + "ĠRoot": 19385, + "cluster": 19386, + "UserName": 19387, + "igne": 19388, + "()Ċ": 19485, + "Ġapplying": 19486, + "Ġpromised": 19487, + "Ġox": 19488, + "ncia": 19489, + "ĠValidation": 19490, + "orts": 19491, + "_cur": 19492, + "elect": 19493, + "eye": 19494, + "(Data": 19495, + "Ġreporter": 19496, + "ĠBuff": 19497, + "395": 19498, + "Ġsr": 19499, + "Ġ\";": 19500, + "icky": 19501, + "Ġtempor": 19502, + "SN": 19503, + "Ġresident": 19504, + "pires": 19505, + "ysical": 19506, + "Ġendorse": 19507, + "ĠSong": 19508, + "isEmpty": 19509, + "leet": 19510, + "_util": 19511, + "Ġdistingu": 19512, + "ĠTalk": 19513, + "ĠMot": 19514, + "(default": 19515, + ".Arg": 19516, + "gorithms": 19517, + "_words": 19518, + "immer": 19519, + "_reset": 19520, + "family": 19521, + "WW": 19522, + "Ġsavings": 19523, + "ĠâĢĿ": 19524, + "_enable": 19525, + "sidebar": 19526, + "Running": 19527, + "Ġali": 19528, + "Ġtestim": 19529, + "Ġwarnings": 19530, + "ĠChem": 19531, + "ĠExit": 19532, + "Ġfounder": 19533, + "pector": 19534, + "Ġrm": 19535, + "_dataset": 19536, + "ĠDas": 19537, + "Ġhan": 19538, + "Getty": 19539, + "ál": 19540, + "Ġny": 19541, + "Ġpoverty": 19542, + "Ġresulted": 19543, + ".by": 19544, + "ĠVisit": 19545, + "Ġobtaining": 19546, + "/'.$": 19547, + "ĠĠĠĠĠĠĠĠĠĠĠĊ": 19548, + "shall": 19549, + "_LEFT": 19550, + "UIImage": 19551, + "_Name": 19552, + "have": 19553, + "ĠNob": 19554, + "lr": 19555, + "-footer": 19556, + "Ġnaked": 19557, + "ĠGarden": 19558, + "\\Facades": 19559, + "Ġgraduate": 19560, + "417": 19561, + "Ġfranchise": 19562, + "plane": 19563, + "Ġcontributions": 19564, + "ĠstringWith": 19565, + "Ġcrypto": 19566, + "Ġmovements": 19567, + "athers": 19568, + "Ġlifetime": 19569, + "Ġcommunicate": 19570, + "jar": 19571, + "ĠFragment": 19572, + "_IF": 19573, + "ĠNavy": 19574, + "ĠFigure": 19575, + "Ġsimulation": 19576, + "_stop": 19577, + "Ġreporters": 19578, + "Ġversus": 19579, + "aja": 19580, + "Ġα": 19581, + "Ġgovernor": 19582, + "ListItem": 19583, + "Ġsealed": 19584, + ".Background": 19585, + "edi": 19586, + "ashing": 19587, + "Ġlip": 19588, + "ĠIh": 19589, + "merge": 19590, + "Ġnec": 19591, + "024": 19592, + "elocity": 19593, + "ATEG": 19594, + "Ġseeds": 19595, + "Ġfloating": 19596, + "701": 19597, + "_FA": 19598, + "walk": 19599, + "ĉuser": 19600, + "_depth": 19601, + "Ġwage": 19602, + "@app": 19603, + "Nil": 19604, + "([\"": 19605, + "(vector": 19606, + "Ġsecretary": 19607, + "461": 19608, + "ĠjPanel": 19609, + "vez": 19610, + "³³³³": 19611, + "direction": 19612, + "ĠEP": 19613, + "Ġhunt": 19614, + "396": 19615, + "JsonProperty": 19616, + "ĠPORT": 19617, + "]\",": 19618, + "ап": 19619, + "ĠForeign": 19620, + "panic": 19621, + "Ġtrials": 19622, + "ĠAle": 19623, + "Ġrural": 19624, + "-value": 19625, + "authorized": 19626, + "ĠScotland": 19627, + ".drop": 19628, + "ĠMT": 19629, + "ç±": 19630, + "391": 19631, + "rowth": 19632, + "515": 19633, + "FilePath": 19634, + "Ġrecall": 19635, + "ifle": 19636, + "Ġcel": 19637, + "ĠSELECT": 19638, + "kn": 19639, + "_case": 19640, + "Ġcrop": 19641, + "543": 19642, + "sure": 19643, + "pot": 19644, + "ICS": 19645, + "Ġstem": 19646, + "Ġindustries": 19647, + "Put": 19648, + "Ġaber": 19649, + "roadcast": 19650, + "Icons": 19651, + ")\")Ċ": 19652, + "æĪIJåĬŁ": 19653, + "gui": 19654, + "Ġassumed": 19655, + "Ġrx": 19656, + "EA": 19657, + "è§": 19658, + "ELL": 19659, + "Ġdose": 19660, + "Ġine": 19661, + "Ġdeeper": 19662, + "lider": 19663, + "Ġordinary": 19664, + "Ġgolf": 19665, + "605": 19666, + "_IMAGE": 19667, + "ĠNAME": 19668, + "(module": 19669, + "Ġatom": 19670, + "Ġbelt": 19671, + "Ġoffices": 19672, + "506": 19673, + "beta": 19674, + "Ġphilosophy": 19675, + "(JSON": 19676, + "-field": 19677, + "Ġintroduce": 19678, + "Ġconvenience": 19679, + "optim": 19680, + ">\"Ċ": 19681, + "athy": 19682, + "Ġemployer": 19683, + "quate": 19684, + "Ġedited": 19685, + "Arguments": 19686, + "ĠNations": 19687, + "__)": 19688, + "Ġnose": 19689, + "ĠSample": 19690, + "')ĊĊĊ": 19691, + "Ġcake": 19692, + ".getAttribute": 19693, + "HD": 19694, + "392": 19695, + "Modified": 19696, + "445": 19697, + "Ġpredicted": 19698, + "ÅĦ": 19699, + "anie": 19700, + "Sorry": 19701, + "(doc": 19702, + "wind": 19703, + "ieve": 19704, + "Ġprovisions": 19705, + "ATER": 19706, + "OTE": 19707, + "MY": 19708, + ".Autowired": 19709, + "ĠBath": 19710, + "423": 19711, + ".Boolean": 19712, + "Ġbackend": 19713, + ".Mouse": 19714, + "ateral": 19715, + "paper": 19716, + "Const": 19717, + "ĠVR": 19718, + "_entity": 19719, + "_CTRL": 19720, + "ĠProtection": 19721, + "ĠGM": 19722, + "ĠStudy": 19723, + "Ġsoup": 19724, + "otime": 19725, + "'use": 19726, + "]\"": 19727, + "/users": 19728, + "aug": 19729, + "ĠHong": 19730, + "_norm": 19731, + "ãģ¨": 19732, + "Ġsecre": 19733, + "(Build": 19734, + "ĠContract": 19735, + "olas": 19736, + "Ġsauce": 19737, + "Ġaggressive": 19738, + "Ġracial": 19739, + "character": 19740, + "@@": 19741, + "Ġcompile": 19742, + "ĠVoid": 19743, + "_rem": 19744, + "_memory": 19745, + "348": 19746, + "kk": 19747, + "Ġmic": 19748, + "Same": 19749, + "Utility": 19750, + "ĠHtml": 19751, + "ĠXml": 19752, + "Ready": 19753, + "Ġgall": 19754, + "Ġallegedly": 19755, + "ĉĉĉĉĠĠĠ": 19756, + "ĠMetal": 19757, + "ĠPersonal": 19758, + "ĠborderRadius": 19759, + "rxjs": 19760, + "objects": 19761, + "Ġwanting": 19762, + "Ġbowl": 19763, + "vendor": 19764, + "offsetof": 19765, + "ĠRs": 19766, + "ĠRating": 19767, + "Ġrally": 19768, + "_NODE": 19769, + "418": 19770, + "ĠMix": 19771, + "Ġadvertis": 19772, + "485": 19773, + "667": 19774, + "Ġnarrative": 19775, + "sal": 19776, + "Ġmc": 19777, + "SError": 19778, + "Ġfingers": 19779, + "Ġaccompany": 19780, + "Ġtired": 19781, + "Ġstride": 19782, + "Ġgui": 19783, + "elist": 19784, + "Locale": 19785, + "Ġreleases": 19786, + "iking": 19787, + "Ġanger": 19788, + ")))ĊĊ": 19789, + "allest": 19790, + "Summary": 19791, + "(O": 19792, + "(for": 19793, + "Ġbasketball": 19794, + "Ġroads": 19795, + "ĠInstall": 19796, + "ĠFab": 19797, + "itmap": 19798, + "475": 19799, + "Ġ))Ċ": 19800, + "Ġintersection": 19801, + "ighbor": 19802, + "ĠBry": 19803, + "ĠHERE": 19804, + "Software": 19805, + "elfare": 19806, + "acs": 19807, + "622": 19808, + "Ġtrailer": 19809, + ".getClass": 19810, + "chars": 19811, + "Ġregulation": 19812, + "Ġrefers": 19813, + "Ġdestruction": 19814, + "Ġcontinuous": 19815, + "ĠAustin": 19816, + "é¢": 19817, + "akan": 19818, + ".window": 19819, + "ĠTemplates": 19820, + "Ġabsence": 19821, + ":n": 19822, + "Ġdisorder": 19823, + "flash": 19824, + "Ġdelet": 19825, + "boards": 19826, + "ĠĠĉ": 19827, + "ROP": 19828, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 19829, + "Ġacqu": 19830, + "Ġlawsuit": 19831, + "ĠReviews": 19832, + "Ġgarage": 19833, + "timer": 19834, + "Ġej": 19835, + "ĠRectangle": 19836, + "Ġflowers": 19837, + "398": 19838, + "ilst": 19839, + "ĠInstance": 19840, + "Super": 19841, + "det": 19842, + "disposing": 19843, + "ĠES": 19844, + "ĠIC": 19845, + "vere": 19846, + "Sk": 19847, + "_channels": 19848, + "puted": 19849, + "/null": 19850, + "nnen": 19851, + "431": 19852, + "ĠGallery": 19853, + "_global": 19854, + "Authentication": 19855, + "ĠRank": 19856, + "Ġblocked": 19857, + "Ġcalm": 19858, + "market": 19859, + "ĉval": 19860, + "Ġaug": 19861, + "period": 19862, + "ĠConstant": 19863, + "Ġ?>\">Ċ": 19864, + "Ġlobby": 19865, + "pal": 19866, + "379": 19867, + "Ġsink": 19868, + "508": 19869, + "iah": 19870, + "С": 19871, + "urname": 19872, + "Ġconver": 19873, + "Ġinvestigate": 19874, + "Christ": 19875, + "Hub": 19876, + "ĠIND": 19877, + "ĠPed": 19878, + "uras": 19879, + "ĉurl": 19880, + "ĠTro": 19881, + "Ġpreferences": 19882, + "Ġguaranteed": 19883, + "`ĊĊ": 19884, + "Ġportions": 19885, + "Ġevalu": 19886, + "'>;ĊĊ": 19985, + ".AutoScaleMode": 19986, + "Ġcats": 19987, + "465": 19988, + "Ġregistry": 19989, + "ulus": 19990, + "FI": 19991, + "payload": 19992, + "-search": 19993, + "Ġstaying": 19994, + "acious": 19995, + "Decoration": 19996, + "Review": 19997, + "Inf": 19998, + "Keep": 19999, + "itis": 20000, + ",String": 20001, + "Coord": 20002, + "Ġpero": 20003, + "Sex": 20004, + "ĠAtlanta": 20005, + "uesta": 20006, + "Argb": 20007, + ">*": 20008, + "}_": 20009, + "Footer": 20010, + "Ġemployed": 20011, + "_bound": 20012, + "vide": 20013, + ".func": 20014, + "$scope": 20015, + "Ġspo": 20016, + "ĠAnal": 20017, + "ounced": 20018, + "around": 20019, + "Ġrestriction": 20020, + "Ġshops": 20021, + "åĢ": 20022, + "ĠLatin": 20023, + "-col": 20024, + "Ġbarely": 20025, + "ĠEuro": 20026, + "Er": 20027, + "Ġfaire": 20028, + "_distance": 20029, + "_unlock": 20030, + "Quote": 20031, + "IVATE": 20032, + "ĠåĪ": 20033, + "Ġaimed": 20034, + "ĠRetrie": 20035, + ".iter": 20036, + "Ġwrapped": 20037, + "Ġagreements": 20038, + "strument": 20039, + "(product": 20040, + "Ġstudied": 20041, + ".setValue": 20042, + "Ġye": 20043, + "ĠCache": 20044, + "MBOL": 20045, + "Ġquarterback": 20046, + "Ġsyntax": 20047, + ".getElementsBy": 20048, + ".version": 20049, + "website": 20050, + "Runner": 20051, + "_single": 20052, + "ativ": 20053, + "ĠAltern": 20054, + "ĠBeautiful": 20055, + "rightarrow": 20056, + "Ġdiversity": 20057, + "plash": 20058, + "(co": 20059, + ".Fill": 20060, + "Ġtyping": 20061, + "387": 20062, + "023": 20063, + "Ġclar": 20064, + "Hit": 20065, + "OO": 20066, + "acco": 20067, + "507": 20068, + "worth": 20069, + "Ġscripts": 20070, + "ĠMuslims": 20071, + "ĠLL": 20072, + "erving": 20073, + "(boolean": 20074, + "Ġbaseball": 20075, + "ĠCAN": 20076, + "394": 20077, + "044": 20078, + "MAIL": 20079, + "depend": 20080, + "Ġrespective": 20081, + "Ġconstexpr": 20082, + ".*;ĊĊ": 20083, + "']))Ċ": 20084, + "Ġyard": 20085, + "Ġidentical": 20086, + "ifecycle": 20087, + "USH": 20088, + "upiter": 20089, + ".validate": 20090, + "cli": 20091, + "ISTER": 20092, + "Indicator": 20093, + "Fail": 20094, + "Ġdemocracy": 20095, + ".var": 20096, + "Ġsatisfied": 20097, + "-------------": 20098, + "encer": 20099, + "hor": 20100, + "Ġrounds": 20101, + "DAO": 20102, + "oa": 20103, + "Ġflask": 20104, + "=c": 20105, + "[]Ċ": 20106, + "/dist": 20107, + "Ġparte": 20108, + "Ġconfirmation": 20109, + "eron": 20110, + "aware": 20111, + "": 20112, + "Ġdependencies": 20113, + "ĠVideos": 20114, + "-row": 20115, + "Ġ**/Ċ": 20116, + "Ġnou": 20117, + "Ġhover": 20118, + "æŀ": 20119, + "Ġnin": 20120, + "ĠUSD": 20121, + "Mac": 20122, + "_Load": 20123, + "Ġoutcomes": 20124, + "_socket": 20125, + "Ġqueries": 20126, + "wm": 20127, + "592": 20128, + "Ġhitting": 20129, + "inux": 20130, + "Mich": 20131, + "udge": 20132, + "ATAB": 20133, + "Ġvulnerable": 20134, + "ä¾": 20135, + "Ġportfolio": 20136, + ":YES": 20137, + "ĉmap": 20138, + "Bound": 20139, + "Ġiteration": 20140, + "incess": 20141, + "Ġactors": 20142, + "ĠQual": 20143, + "_clean": 20144, + "ãĢijãĢIJ": 20145, + "MSG": 20146, + "Green": 20147, + "ĠOfficer": 20148, + "Ġsmoking": 20149, + ">',": 20150, + "ĠFlo": 20151, + "++;": 20152, + "433": 20153, + "olygon": 20154, + "Ġbulk": 20155, + "Ġdrama": 20156, + "Ġexceptions": 20157, + "osed": 20158, + "Ġ+čĊ": 20159, + "Ġlegacy": 20160, + "CV": 20161, + "Ġcontributed": 20162, + "ĠTerms": 20163, + "Ġbt": 20164, + "434": 20165, + "Ġuntuk": 20166, + "Ġalien": 20167, + "===Ċ": 20168, + "ĉVector": 20169, + "Ġls": 20170, + "Online": 20171, + ".facebook": 20172, + "numeric": 20173, + "ockets": 20174, + "Aut": 20175, + "bury": 20176, + "-redux": 20177, + "ĠRedistributions": 20178, + "GLOBALS": 20179, + "urrencies": 20180, + "Ġtons": 20181, + "âĢĻ,": 20182, + "Ġê": 20183, + "(col": 20184, + "ĠSymbol": 20185, + "Ġstayed": 20186, + "ĠML": 20187, + "Ġmunicip": 20188, + "Ġsexo": 20189, + "Sen": 20190, + "nr": 20191, + "Ġgains": 20192, + "Ġshortly": 20193, + ".Menu": 20194, + "ý": 20195, + "KNOWN": 20196, + "Ġoperators": 20197, + "-V": 20198, + "ĠPatrick": 20199, + "/add": 20200, + "_CO": 20201, + "iration": 20202, + "(post": 20203, + "Posts": 20204, + "/_": 20205, + "Ġplug": 20206, + "Ġintellectual": 20207, + "Ġmetab": 20208, + "Ġpregnancy": 20209, + "ĠPremier": 20210, + "nm": 20211, + "Ġprediction": 20212, + "606": 20213, + "ĠMinistry": 20214, + "Three": 20215, + "valuate": 20216, + "ĠMini": 20217, + "bu": 20218, + "оз": 20219, + "\";čĊ": 20679, + "ĠSav": 20680, + ".Bold": 20681, + "Ġenables": 20682, + "ĉtmp": 20683, + "Ġmanually": 20684, + "ĠSqu": 20685, + "userid": 20686, + ".function": 20687, + ".cache": 20688, + "LOPT": 20689, + ".Services": 20690, + "588": 20691, + "ddit": 20692, + "tim": 20693, + ">>": 20761, + "station": 20762, + "lore": 20763, + "atype": 20764, + "ishop": 20765, + "/****************************************************************": 20766, + "521": 20767, + "ComboBox": 20768, + "Ġvacation": 20769, + "Ġinitiative": 20770, + "ĠdefaultValue": 20771, + "770": 20772, + "concat": 20773, + "ĠKh": 20774, + "632": 20775, + "ĠWelcome": 20776, + "izedName": 20777, + "Migration": 20778, + "Ġgradient": 20779, + "Hot": 20780, + "Ġhardly": 20781, + "elo": 20782, + "ĠStudents": 20783, + "Ġloose": 20784, + "730": 20785, + "atz": 20786, + ".Send": 20787, + "'/": 20788, + "Ġuniversal": 20789, + "Ġenterprise": 20790, + "Ġregex": 20791, + "Ġvisitor": 20792, + "ĠFly": 20793, + "Seq": 20794, + "à¸Ļ": 20795, + "ĠVisual": 20796, + "Ġlibraries": 20797, + "atoes": 20798, + "Payment": 20799, + "447": 20800, + "Ġpent": 20801, + "Ġgathered": 20802, + "VRTX": 20803, + "ĠDM": 20804, + "Split": 20805, + "Ġletting": 20806, + "ÐĿ": 20807, + "_errors": 20808, + "epoch": 20809, + "PARAM": 20810, + "cu": 20811, + "ÑģÑĤв": 20812, + "olutions": 20813, + "Editing": 20814, + "fonts": 20815, + "Ġallocated": 20816, + "ĠBased": 20817, + "(Y": 20818, + "ĠJudge": 20819, + "Ġbrothers": 20820, + "FILES": 20821, + "ço": 20822, + "531": 20823, + "wb": 20824, + "_PI": 20825, + "'^": 20826, + "Ġsword": 20827, + ".services": 20828, + "Ġnl": 20829, + "Tim": 20830, + "igg": 20831, + "ĠMoore": 20832, + "Ġcryptoc": 20833, + "åĩº": 20834, + "_posts": 20835, + "otate": 20836, + "?'": 20837, + "....ĊĊ": 20838, + "Ġkl": 20839, + "=\"$": 20840, + "Ġdecoration": 20841, + "ạ": 20842, + "ĠDIRECT": 20843, + "GUI": 20844, + ")=>{Ċ": 20845, + "Ġnewsletter": 20846, + "Ġprecis": 20847, + "(point": 20848, + "ĠEquipment": 20849, + "uty": 20850, + "ĠDave": 20851, + "Ġparticipation": 20852, + "uarios": 20853, + "xit": 20854, + ".As": 20855, + "ETER": 20856, + "orous": 20857, + "Ġshield": 20858, + "[]>": 20859, + "ilitary": 20860, + ".origin": 20861, + "Ġpromotion": 20862, + "Unt": 20863, + "Ġct": 20864, + "TRA": 20865, + "556": 20866, + "ViewHolder": 20867, + "Ġsigma": 20868, + "delta": 20869, + "arehouse": 20870, + "contract": 20871, + "(Vector": 20872, + "721": 20873, + "Ġcompete": 20874, + "/form": 20875, + "/components": 20876, + "Ġnr": 20877, + "ĠIndones": 20878, + "ĠоÑĤ": 20879, + "ĠVolume": 20880, + ".files": 20881, + "(resp": 20882, + "/models": 20883, + "Ġsurf": 20884, + "standard": 20885, + "/o": 20886, + "ĠXCTAssert": 20887, + "VICES": 20888, + ".Code": 20889, + "SED": 20890, + "Ġactivate": 20891, + "Delta": 20892, + "Ġlimitation": 20893, + "rij": 20894, + "Ġpregnant": 20895, + ":^(": 20896, + "Ġsour": 20897, + "pie": 20898, + "803": 20899, + "Ġexpense": 20900, + "ication": 20901, + "ĠLarge": 20902, + "Ġ±": 20903, + "ĠBowl": 20904, + "(models": 20905, + "/N": 20906, + "857": 20907, + "Pa": 20908, + ".reload": 20909, + "Ġwondering": 20910, + "462": 20911, + "Execution": 20912, + "ĉĠĠĠĠĠĠ": 20913, + "ĠGraphics": 20914, + "ĠContin": 20915, + "_job": 20916, + "ĠgetName": 20917, + "ĠMagn": 20918, + "ĠDWORD": 20919, + "mad": 20920, + "Ġnh": 20921, + "features": 20922, + "}\");Ċ": 20923, + "heets": 20924, + "(train": 20925, + "zn": 20926, + "Ġrecruit": 20927, + ".connection": 20928, + "Ġbarrel": 20929, + "Ġsteam": 20930, + "_setting": 20931, + "Ġangular": 20932, + "aneously": 20933, + "Ġbil": 20934, + "ĠNorm": 20935, + "522": 20936, + "(!$": 20937, + "ibt": 20938, + "%(": 20939, + "Ġposit": 20940, + "ĠFather": 20941, + "intendo": 20942, + "565": 20943, + "Live": 20944, + "041": 20945, + "Ġports": 20946, + "Ġmej": 20947, + "Ġlanding": 20948, + "ponder": 20949, + "Ġcod": 20950, + "_HEADER": 20951, + ".Margin": 20952, + "Ġballs": 20953, + "Ġdiscussions": 20954, + "Ġblend": 20955, + "Hex": 20956, + "Ġfarmers": 20957, + "Ġmaintaining": 20958, + "ĠĠĠčĊ": 20959, + "syn": 20960, + "[T": 20961, + "rus": 20962, + "439": 20963, + "uffers": 20964, + "Ġcontributors": 20965, + "_sys": 20966, + ".Debug": 20967, + "Ġconstructed": 20968, + "omes": 20969, + "?id": 20970, + "slider": 20971, + "Ġsuppliers": 20972, + "611": 20973, + "scriber": 20974, + "pes": 20975, + "Ðŀ": 20976, + "\":čĊ": 20977, + "\\Controller": 20978, + "))ĊĊĊ": 20979, + "Ġlua": 20980, + "Multi": 20981, + "ENS": 20982, + "Src": 20983, + "Ġpetition": 20984, + "Ġslave": 20985, + "looking": 20986, + "VERT": 20987, + "ĉvector": 20988, + "Special": 20989, + "hh": 20990, + "anne": 20991, + "ĠNiger": 20992, + "/views": 20993, + "zing": 20994, + "endant": 20995, + "(": 21238, + "544": 21239, + ".Product": 21240, + "Forms": 21241, + "NEW": 21242, + "Pay": 21243, + "ĉboolean": 21244, + "_contact": 21245, + "ĠElectric": 21246, + "skip": 21247, + "Ġwur": 21248, + "Ġchronic": 21249, + "_driver": 21250, + "940": 21251, + "ĠSab": 21252, + "ĠUlt": 21253, + "ĠRad": 21254, + "STATUS": 21255, + "ĠLewis": 21256, + "OB": 21257, + "Ġgifts": 21258, + ".Rec": 21259, + "TRUE": 21260, + "Ġintensity": 21261, + "Marker": 21262, + ".compare": 21263, + "ffic": 21264, + "Cookie": 21265, + "ĠBaby": 21266, + "ĠBigDecimal": 21267, + "ilet": 21268, + "ĠHOLDERS": 21269, + "ĠLady": 21270, + "Ġlung": 21271, + "ĠAlabama": 21272, + "Ġdess": 21273, + "`);Ċ": 21274, + "ĠBuilder": 21275, + "_region": 21276, + "Ġneutral": 21277, + "909": 21278, + "Both": 21279, + "Ġhp": 21280, + "Ġhorn": 21281, + "Ġsegments": 21282, + "ĠEC": 21283, + "\"=>\"": 21284, + "(rec": 21285, + "ĠPi": 21286, + "GM": 21287, + "Ġlaptop": 21288, + "Scalar": 21289, + "463": 21290, + "isd": 21291, + "-dialog": 21292, + "ĠAnderson": 21293, + "Ġmistakes": 21294, + "708": 21295, + "ĠHan": 21296, + "jes": 21297, + "estination": 21298, + "436": 21299, + "Ġpromises": 21300, + "bid": 21301, + "ĠScient": 21302, + "GIN": 21303, + "ĠPerformance": 21304, + "bage": 21305, + ".users": 21306, + "leading": 21307, + "Ġoral": 21308, + "Graphics": 21309, + "488": 21310, + "_PTR": 21311, + "518": 21312, + "hang": 21313, + "Ġinev": 21314, + "processing": 21315, + "Factor": 21316, + "ĠNA": 21317, + "$string": 21318, + "Ġgrounds": 21319, + ".SaveChanges": 21320, + "clock": 21321, + "941": 21322, + "cripcion": 21323, + "ĠNewton": 21324, + "gc": 21325, + ".includes": 21326, + "Ġblast": 21327, + "Ġ'-'": 21328, + "Ġpuede": 21329, + "469": 21330, + ".Session": 21331, + "Ġgrep": 21332, + "_final": 21333, + "ĠGay": 21334, + "ĠGive": 21335, + "iri": 21336, + "-star": 21337, + "ĠUIImage": 21338, + "_epoch": 21339, + "ubb": 21340, + "enth": 21341, + "Ġelite": 21342, + "Ġcampaigns": 21343, + "ĠPorno": 21344, + "_assign": 21345, + "Protocol": 21346, + "ĠBeing": 21347, + "ĠAirport": 21348, + "Ġconventional": 21349, + "ĠWat": 21350, + "ĠCI": 21351, + "ETA": 21352, + "ĠAnthony": 21353, + "Ġtablet": 21354, + "(format": 21355, + "Ġconsistently": 21356, + "ĠIowa": 21357, + "474": 21358, + "Ġavatar": 21359, + "027": 21360, + ".cursor": 21361, + "![": 21362, + "Ġhanging": 21363, + "Her": 21364, + "Such": 21365, + "';ĊĊĊ": 21366, + "orgeous": 21367, + "()==": 21368, + "ĠviewModel": 21369, + "Ġãĥ": 21370, + "Ġels": 21371, + "ĠAgent": 21372, + "Fetch": 21373, + "apor": 21374, + "Ġcx": 21375, + "pread": 21376, + "ĠPier": 21377, + "oeff": 21378, + "616": 21379, + "Sn": 21380, + "890": 21381, + "ĠVirtual": 21382, + "Apr": 21383, + ".White": 21384, + "615": 21385, + "_MOD": 21386, + "ĠPoints": 21387, + "失": 21388, + "Ġgenes": 21389, + "Ġvendor": 21390, + "Ġmainstream": 21391, + "Ċ": 21421, + "Filename": 21422, + "Ġsne": 21423, + "ĠFootball": 21424, + "Ġrival": 21425, + "Ġdisaster": 21426, + "ionic": 21427, + "ĠDamage": 21428, + ".Resource": 21429, + "-en": 21430, + "ĠTypes": 21431, + "getString": 21432, + "(board": 21433, + "Ġbol": 21434, + "plain": 21435, + "zym": 21436, + "า": 21437, + "Ġscanner": 21438, + "ilder": 21439, + "_msgs": 21440, + "æı": 21441, + "(intent": 21442, + "Ġdestruct": 21443, + "Ġbust": 21444, + "ĠEmploy": 21445, + "oni": 21446, + "ĠUIViewController": 21447, + "Ġodds": 21448, + "earer": 21449, + "Geometry": 21450, + "Ġyii": 21451, + "_EXPORT": 21452, + "ĠAttack": 21453, + "Ġniet": 21454, + "Ġimpression": 21455, + "ĠGil": 21456, + "_prob": 21457, + "528": 21458, + "ĠCF": 21459, + "ĠExperience": 21460, + "/plugins": 21461, + ".Method": 21462, + "Ġbeliefs": 21463, + "Native": 21464, + "_build": 21465, + "Ġvig": 21466, + "Ġranks": 21467, + "covered": 21468, + "705": 21469, + "such": 21470, + "Guard": 21471, + ".pack": 21472, + "adder": 21473, + "809": 21474, + "ivia": 21475, + "lng": 21476, + "ĠвÑĭ": 21477, + "552": 21478, + "Timestamp": 21479, + "_now": 21480, + "Ġpoker": 21481, + "Ġunc": 21482, + "Ġshapes": 21483, + "-types": 21484, + "_period": 21485, + "pk": 21486, + "Ġveteran": 21487, + "Ġsono": 21488, + "Ġappointed": 21489, + "overflow": 21490, + ".driver": 21491, + "_cat": 21492, + "utt": 21493, + "plant": 21494, + "imb": 21495, + "ĠAccept": 21496, + "Ġconcert": 21497, + "ĉnode": 21498, + "ĉz": 21499, + "?>čĊ": 21500, + "Ġbanned": 21501, + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 21502, + "Ġtoxic": 21503, + "Ġdisappe": 21504, + "473": 21505, + "ÈĽ": 21506, + "Ġgrace": 21507, + "ateful": 21508, + "Reply": 21509, + "ĠCruz": 21510, + "486": 21511, + "Ġscrap": 21512, + "Ġkeywords": 21513, + "simp": 21514, + "Ġmortgage": 21515, + "Ġcyber": 21516, + "ĠExecute": 21517, + "Ġlatitude": 21518, + "ifu": 21519, + ".COM": 21520, + "dbo": 21521, + "Ġsorts": 21522, + "ĠGas": 21523, + "omial": 21524, + ".Local": 21525, + "Cells": 21526, + ".Replace": 21527, + "Strings": 21528, + ".fit": 21529, + "ĠThird": 21530, + "%\",Ċ": 21531, + "Ġ{}\".": 21532, + "ĠSony": 21533, + "Ġ[:": 21534, + "585": 21535, + "Ġfallen": 21536, + ".')Ċ": 21537, + "inh": 21538, + "ĠMC": 21539, + "Ġredis": 21540, + "Codes": 21541, + "Ġprofiles": 21542, + "hook": 21543, + "Reducer": 21544, + "_FUNC": 21545, + "Ġnavigate": 21546, + "strlen": 21547, + "Ġhorm": 21548, + "áŀ": 21549, + "ĠSR": 21550, + ".boot": 21551, + "Ġdigest": 21552, + "ĉheader": 21553, + ".findOne": 21554, + "æģ": 21555, + "DbType": 21556, + "nia": 21557, + "_merge": 21558, + "Ġdonne": 21559, + "/Getty": 21560, + "_CHAR": 21561, + "Ġbands": 21562, + ".URL": 21563, + "artial": 21564, + "Ġfreq": 21565, + "Ġsist": 21566, + "Ng": 21567, + "Ġrendering": 21568, + "\\Core": 21569, + "Widgets": 21570, + "ĠVA": 21571, + "Ġactivists": 21572, + "Ste": 21573, + "=_": 21574, + "alla": 21575, + "Stamp": 21576, + "Ġloads": 21577, + "Ġxx": 21578, + "ĠLearning": 21579, + ".Mvc": 21580, + "uir": 21581, + "(\"$": 21582, + "Ġconnecting": 21583, + "ReadOnly": 21584, + "uru": 21585, + "ĠEag": 21586, + "BIT": 21587, + "_DEL": 21588, + "å§": 21589, + "arrass": 21590, + "external": 21591, + "ĠYOUR": 21592, + "ĠBrew": 21593, + "ĠFive": 21594, + "Ġresize": 21595, + "igid": 21596, + "eration": 21597, + "653": 21598, + "ĠÑį": 21599, + "536": 21600, + "åĬł": 21601, + "039": 21602, + "ĠCatch": 21603, + "Ùģ": 21604, + "ĠLeon": 21605, + "amil": 21606, + ".Body": 21607, + "Clip": 21608, + "/list": 21609, + ".br": 21610, + "EditText": 21611, + "ĉdb": 21612, + ".Game": 21613, + "(BuildContext": 21614, + "backend": 21615, + ".Red": 21616, + "facebook": 21617, + "529": 21618, + ".urls": 21619, + "mr": 21620, + "rolled": 21621, + "-------": 21622, + "Ġintervention": 21623, + "Ġretirement": 21624, + "ĠKit": 21625, + "ĠPRE": 21626, + "UpperCase": 21627, + "ĠSocket": 21628, + "Ġ:-": 21629, + "Ġstudying": 21630, + "ĠMetro": 21631, + "arded": 21632, + "Ġconversations": 21633, + "Called": 21634, + "Ġexamine": 21635, + "ertificate": 21636, + ".gz": 21637, + "-responsive": 21638, + "Ġrefund": 21639, + "_network": 21640, + "026": 21641, + "allowed": 21642, + "empt": 21643, + "Ġmeals": 21644, + "Categories": 21645, + "Ġtraveling": 21646, + "Ġkg": 21647, + "Ġshame": 21648, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 21649, + "Ġexplicitly": 21650, + "Ġmathematic": 21651, + "ĠSuite": 21652, + "ĠRGB": 21653, + "******/": 21654, + "Ġmixture": 21655, + "learning": 21656, + ".template": 21657, + "atts": 21658, + "wx": 21659, + "ĉctx": 21660, + ".properties": 21661, + "Ġdrinks": 21662, + "ĠEither": 21663, + "setText": 21664, + ".getData": 21665, + ".zip": 21666, + "Ġreveals": 21667, + ".Ċ": 21681, + "Ġranked": 21682, + "_impl": 21683, + "ĠHandles": 21684, + "Ġhosted": 21685, + "Ġupdating": 21686, + "album": 21687, + "éĿ": 21688, + "Ġshader": 21689, + "Editors": 21690, + "-round": 21691, + "[]{": 21692, + "Ġsep": 21693, + "ĠHi": 21694, + "TEM": 21695, + "lookup": 21696, + ".man": 21697, + "_INPUT": 21698, + "Ġthreatened": 21699, + "_IMPORT": 21700, + "Ġdrops": 21701, + "ruit": 21702, + "sid": 21703, + "both": 21704, + "ĠExcel": 21705, + "Ġjer": 21706, + "ordinary": 21707, + "ей": 21708, + "VIEW": 21709, + "reply": 21710, + "Ġ):Ċ": 21711, + "colors": 21712, + "verified": 21713, + "_Tr": 21714, + "_parse": 21715, + "Ġcongress": 21716, + "617": 21717, + "Promise": 21718, + "ints": 21719, + "ĠMother": 21720, + ".Api": 21721, + "ĠDuration": 21722, + "ĠfirstName": 21723, + "inheritdoc": 21724, + "ĠMars": 21725, + "Ġapr": 21726, + "ODY": 21727, + "Ġvisits": 21728, + "631": 21729, + "Ġhealing": 21730, + "letters": 21731, + ")));čĊ": 21732, + "future": 21733, + ".Framework": 21734, + "Ġkiss": 21735, + "Ġinvolve": 21736, + "Ġsilent": 21737, + "adows": 21738, + "Ġanybody": 21739, + "sch": 21740, + "690": 21741, + "Ġsolely": 21742, + "-img": 21743, + "Ġpropri": 21744, + "Ġinstruct": 21745, + "Ġlicenses": 21746, + "Ġmeth": 21747, + "Ġcondem": 21748, + "ĠDomain": 21749, + "ĠHarris": 21750, + "ĠsÃ¥": 21751, + "CEPT": 21752, + "Batch": 21753, + "@extends": 21754, + "ĠCONTRIBUT": 21755, + ".DataFrame": 21756, + "472": 21757, + "_packet": 21758, + "recision": 21759, + "Ġfocusing": 21760, + ".ht": 21761, + "__\":Ċ": 21762, + ":Get": 21763, + "ĠKC": 21764, + "Ġpassage": 21765, + "Segment": 21766, + "_center": 21767, + "-zA": 21768, + "_BL": 21769, + "Ġconvin": 21770, + "Ġclassified": 21771, + "ĠNSMutable": 21772, + "_ap": 21773, + "tile": 21774, + "Rectangle": 21775, + "492": 21776, + "(nums": 21777, + "vens": 21778, + "ĠUIButton": 21779, + "ĠFeder": 21780, + "amo": 21781, + "Ġoutline": 21782, + "ĠParser": 21783, + "Ġâī": 21784, + "ĠWorks": 21785, + ".Schema": 21786, + "Ġengines": 21787, + "637": 21788, + "563": 21789, + "_common": 21790, + "542": 21791, + "_old": 21792, + "ĠsetContentView": 21793, + "Ġ///<": 21794, + "ĠBT": 21795, + "fm": 21796, + "Ġdivers": 21797, + "_weights": 21798, + "emark": 21799, + "ĠACT": 21800, + "Ġproportion": 21801, + "overlay": 21802, + ".dirname": 21803, + "ĠGit": 21804, + "_REFERENCE": 21805, + "<>": 21806, + "lb": 21807, + "_rule": 21808, + "è´¥": 21809, + "ĠPutin": 21810, + "Ġsleeping": 21811, + "():čĊ": 21812, + "Ġpreserve": 21813, + "Ġparliament": 21814, + "ĠLooking": 21815, + "Ġpicking": 21816, + "ĠDispatch": 21817, + "Ġslip": 21818, + "ëĵ": 21819, + "ĠLyn": 21820, + "_signal": 21821, + "configuration": 21822, + "ĠPitt": 21823, + "491": 21824, + "aden": 21825, + "procedure": 21826, + "Ġenthusi": 21827, + "fight": 21828, + "ĠConsider": 21829, + "Ġtorn": 21830, + "Connected": 21831, + ".cos": 21832, + "_groups": 21833, + "ĠThink": 21834, + "Ġdeliber": 21835, + "Ġresid": 21836, + "working": 21837, + ".columns": 21838, + "ĠCalled": 21839, + "Ġeslint": 21840, + ">\",": 21841, + "_DOWN": 21842, + "hist": 21843, + "ĠAdvanced": 21844, + "Ġrewards": 21845, + "actors": 21846, + "Ġsilence": 21847, + "479": 21848, + "Ġmyth": 21849, + "Ġneur": 21850, + "519": 21851, + "Ġauction": 21852, + ".GetString": 21853, + "eks": 21854, + "(project": 21855, + "598": 21856, + "ĉmsg": 21857, + "ĉoutput": 21858, + "Ġcomplaints": 21859, + "551": 21860, + ",S": 21861, + "Ġtbl": 21862, + "Ġ,ĊĊ": 21863, + "riors": 21864, + "ahren": 21865, + "Ġlawyers": 21866, + "redux": 21867, + "_symbol": 21868, + "offee": 21869, + "_RESULT": 21870, + "(Name": 21871, + "UTC": 21872, + ".currentTime": 21873, + "Ġorganis": 21874, + ".arg": 21875, + "533": 21876, + "Ġminim": 21877, + "wick": 21878, + "Ġreceives": 21879, + "Balance": 21880, + "Ġspeaks": 21881, + "ĠDays": 21882, + "ĠBelow": 21883, + "483": 21884, + "tipo": 21885, + "Present": 21886, + "Ġreserv": 21887, + "hp": 21888, + "Ġrit": 21889, + "_RIGHT": 21890, + "--)": 21891, + "Ġchairman": 21892, + "781": 21893, + "DIS": 21894, + "ĠBOOST": 21895, + "Ġexperiments": 21896, + "687": 21897, + "__);Ċ": 21898, + "Ġstamp": 21899, + "Ġfert": 21900, + "Ġfond": 21901, + "Ter": 21902, + "elve": 21903, + "uren": 21904, + "+i": 21905, + "endency": 21906, + "Ġvirtually": 21907, + "...\"": 21908, + "ï½ŀ": 21909, + "925": 21910, + "-cent": 21911, + "_unique": 21912, + "Ġpricing": 21913, + "mic": 21914, + "RESH": 21915, + "Ġ:::": 21916, + "Ġannotation": 21917, + "ĠCircle": 21918, + "ongodb": 21919, + "itas": 21920, + "Ġ%(": 21921, + "(component": 21922, + "Ġоб": 21923, + "(port": 21924, + "-hour": 21925, + ".obj": 21926, + "LBL": 21927, + "Ġjury": 21928, + "GBT": 21929, + "Ġspy": 21930, + "ĠProfessional": 21931, + "Ġ\"\";ĊĊ": 21932, + "Ġstriking": 21933, + "Ġdiscrimination": 21934, + "Ġpays": 21935, + "937": 21936, + "lict": 21937, + "entes": 21938, + "Ġthrowing": 21939, + "ĠPlugin": 21940, + "(def": 21941, + "ĠRuntimeException": 21942, + "ĠMigration": 21943, + "599": 21944, + "Ġdic": 21945, + "bag": 21946, + "onia": 21947, + "Ġcorruption": 21948, + "704": 21949, + "(Map": 21950, + "Ġprz": 21951, + ".dto": 21952, + "Ġacquire": 21953, + "StateToProps": 21954, + "Ġloving": 21955, + "ож": 21956, + "_pattern": 21957, + "Ġemotions": 21958, + "Ġpublisher": 21959, + "_be": 21960, + "Ġcouples": 21961, + "498": 21962, + "oj": 21963, + "ĠChart": 21964, + "Ġtrop": 21965, + ".tool": 21966, + "Ġestablishment": 21967, + "Ġdol": 21968, + "654": 21969, + "Ġtower": 21970, + "Ġlane": 21971, + "ĠSydney": 21972, + "Ġfilling": 21973, + "claimed": 21974, + "644": 21975, + "Ġdialogue": 21976, + "Ġconvention": 21977, + "booking": 21978, + "parency": 21979, + "æ±": 21980, + "ĠGeneric": 21981, + "718": 21982, + "\\Schema": 21983, + "482": 21984, + "618": 21985, + "Ġranges": 21986, + "/ch": 21987, + "Ġpanels": 21988, + "Ġruled": 21989, + "çĶŁ": 21990, + ".ts": 21991, + "_sets": 21992, + "Ġcleanup": 21993, + "Previous": 21994, + "ĠAnimal": 21995, + "607": 21996, + "($(": 21997, + "ĠAve": 21998, + "ollar": 21999, + "028": 22000, + "_eval": 22001, + "ĉName": 22002, + "(tree": 22003, + "Ġ\"]": 22004, + "571": 22005, + "Ġduties": 22006, + "='/": 22007, + "Clicked": 22008, + "Ġdifferently": 22009, + "ĠClark": 22010, + "Ġdit": 22011, + "ologists": 22012, + "Ġsynd": 22013, + "Ġsends": 22014, + "-known": 22015, + "kb": 22016, + "ĠModal": 22017, + "itative": 22018, + "Ġracing": 22019, + "Ġhighlights": 22020, + "ĠSimon": 22021, + "ĠCaptain": 22022, + "ä¿¡": 22023, + "ĠCB": 22024, + "contin": 22025, + "aran": 22026, + "Ġphysics": 22027, + "retty": 22028, + "etal": 22029, + ".md": 22030, + "axios": 22031, + "Ġspeakers": 22032, + "Ġprep": 22033, + "Ġawarded": 22034, + "ì§Ģ": 22035, + "ĠCorn": 22036, + "ĠNature": 22037, + "UDIO": 22038, + "737": 22039, + "Ġproj": 22040, + "-pre": 22041, + "[u": 22042, + "Features": 22043, + "ĠisEqual": 22044, + "Binary": 22045, + "sig": 22046, + "Ġconfusion": 22047, + "546": 22048, + "568": 22049, + "ĠHat": 22050, + "Ġktó": 22051, + ".configure": 22052, + "MON": 22053, + "494": 22054, + "/edit": 22055, + "_Add": 22056, + ",true": 22057, + "541": 22058, + "Ġcli": 22059, + "ErrorMessage": 22060, + "-loader": 22061, + "Dimensions": 22062, + "ultiply": 22063, + "Ġ{!!": 22064, + "ĠSqlCommand": 22065, + "Ġspoken": 22066, + "Ġpics": 22067, + "Ġtoy": 22068, + "(Key": 22069, + "ĠLoop": 22070, + "ب": 22071, + "EATURE": 22072, + "inction": 22073, + "_setup": 22074, + "wrapper": 22075, + "Ġtong": 22076, + "cular": 22077, + "Opt": 22078, + ".Pl": 22079, + "=\",": 22080, + "(length": 22081, + "umn": 22082, + "Ġchrom": 22083, + "Ġsevent": 22084, + "ĠIllegalArgumentException": 22085, + "478": 22086, + "ĉstart": 22087, + "Ġbegun": 22088, + "CEPTION": 22089, + "dataset": 22090, + "825": 22091, + "ĠFailed": 22092, + "cols": 22093, + "459": 22094, + "Ġknee": 22095, + "imore": 22096, + ".splice": 22097, + "shell": 22098, + "iggers": 22099, + "Ġthemes": 22100, + "995": 22101, + "ĠDJ": 22102, + "ĠAssistant": 22103, + "-$": 22104, + "Maybe": 22105, + "Ġordering": 22106, + "ĠIntelligence": 22107, + "ĠMassachusetts": 22108, + "Ġfailing": 22109, + "elson": 22110, + "Great": 22111, + "=i": 22112, + ".rest": 22113, + "Ġinvite": 22114, + "-disable": 22115, + ".GroupBox": 22116, + "âĢĻest": 22117, + "Ġtackle": 22118, + "gv": 22119, + "etter": 22120, + "Ġ),čĊ": 22121, + "_rules": 22122, + ".warn": 22123, + "functions": 22124, + "ĠChristians": 22125, + "Ġbacked": 22126, + "Ġslider": 22127, + "Ġenjoying": 22128, + "nest": 22129, + "Ġhij": 22130, + "_ms": 22131, + "//*": 22132, + "Annotations": 22133, + "ĠVariables": 22134, + "": 22351, + "cycle": 22352, + "ĠBull": 22353, + "paths": 22354, + "Ġunp": 22355, + "ĠviewDidLoad": 22356, + "_Model": 22357, + "ĠassertTrue": 22358, + "Ġrated": 22359, + "Decl": 22360, + "verted": 22361, + "ĠDat": 22362, + "brew": 22363, + "Ġpointing": 22364, + "Ms": 22365, + "ĠPointer": 22366, + ")'": 22367, + "_non": 22368, + "527": 22369, + "ĠSEC": 22370, + "Ġyeah": 22371, + "gency": 22372, + "initialize": 22373, + "fly": 22374, + "711": 22375, + "[pos": 22376, + ",g": 22377, + "Tele": 22378, + "034": 22379, + "Ġjoke": 22380, + "Ġclause": 22381, + ".findById": 22382, + "enes": 22383, + "(instance": 22384, + "626": 22385, + "£": 22386, + "915": 22387, + "Ġslic": 22388, + "_home": 22389, + "Ġ*/}Ċ": 22390, + "_pages": 22391, + "(service": 22392, + "905": 22393, + "RP": 22394, + "ĠAmong": 22395, + ".getCurrent": 22396, + "806": 22397, + "ãĤ¹": 22398, + "Ġslee": 22399, + "=[Ċ": 22846, + "oler": 22847, + "Ġlibert": 22848, + "Ġ`Ċ": 22849, + "Ġwenn": 22850, + "lated": 22851, + "Ġimmune": 22852, + "(Node": 22853, + "ĠProblem": 22854, + "ĠAbs": 22855, + "logs": 22856, + "Ġ../": 22857, + "ĠADC": 22858, + "Ġ}}\">Ċ": 22859, + ">');Ċ": 22860, + "=b": 22861, + "ĠWind": 22862, + "lahoma": 22863, + "Ġallocate": 22864, + "orian": 22865, + "Ġprescription": 22866, + "-quality": 22867, + "ĠMayor": 22868, + "855": 22869, + "inely": 22870, + "endforeach": 22871, + "ĠComplex": 22872, + "kom": 22873, + "709": 22874, + "TY": 22875, + "790": 22876, + "]].": 22877, + ".Style": 22878, + "_many": 22879, + "','$": 22880, + "Ġbarrier": 22881, + "ĠFetch": 22882, + "ĠMarvel": 22883, + "Ġresist": 22884, + "ого": 22885, + "bidden": 22886, + "ĠRunnable": 22887, + ":false": 22888, + "899": 22889, + "Ġbuilds": 22890, + "ĠStage": 22891, + "Ġdub": 22892, + "empo": 22893, + ".site": 22894, + "558": 22895, + ";ĊĊĊĊ": 22896, + "994": 22897, + "ĠDenver": 22898, + "Ġrevel": 22899, + "Ġtriggered": 22900, + "Ġdice": 22901, + "_fail": 22902, + "Ġgc": 22903, + "833": 22904, + "589": 22905, + "ĉX": 22906, + "ĠThrowable": 22907, + "775": 22908, + ".router": 22909, + "ĠRevolution": 22910, + "ÑĢа": 22911, + "_NON": 22912, + "055": 22913, + "Ł¥": 22914, + "578": 22915, + "Ġelder": 22916, + "Ġabroad": 22917, + "Ġе": 22918, + "ĠAdult": 22919, + "blr": 22920, + "glyphicon": 22921, + "613": 22922, + "Ġpromoting": 22923, + "Ġiz": 22924, + "ĠSolid": 22925, + "645": 22926, + "_loader": 22927, + "early": 22928, + ".enabled": 22929, + "-edit": 22930, + "ĠUL": 22931, + "_play": 22932, + "ĠInterrupt": 22933, + "Ġadvantages": 22934, + "ucle": 22935, + "Ġmechanical": 22936, + ".tableLayoutPanel": 22937, + "ĠWorking": 22938, + "Ġanonymous": 22939, + "Rating": 22940, + "igious": 22941, + "_phone": 22942, + ".addActionListener": 22943, + "Ġfran": 22944, + "unden": 22945, + "Ġ*)&": 22946, + "_bool": 22947, + "ulative": 22948, + "Ġcone": 22949, + "ĠMult": 22950, + "Ġmö": 22951, + "ĠForward": 22952, + "]):Ċ": 22953, + "Ġconvinced": 22954, + "acted": 22955, + "643": 22956, + "ãģĵ": 22957, + "ĠConfigure": 22958, + "Ġceiling": 22959, + "Der": 22960, + "Ġpassengers": 22961, + "Groups": 22962, + "Ġsoccer": 22963, + "/W": 22964, + "aviors": 22965, + "swith": 22966, + "ĠZone": 22967, + ".Options": 22968, + "ĠMom": 22969, + "ieder": 22970, + "Arrays": 22971, + "Ġtreatments": 22972, + "Ġprotecting": 22973, + "fac": 22974, + "Ġpickle": 22975, + "ButtonItem": 22976, + "713": 22977, + "Ġblocking": 22978, + "strar": 22979, + "ò": 22980, + "ĠExport": 22981, + "Ġthrew": 22982, + "otta": 22983, + "ĠBASE": 22984, + ".ws": 22985, + ".LEADING": 22986, + "orderBy": 22987, + "_delay": 22988, + "ĠPu": 22989, + ".dll": 22990, + "ĠChoose": 22991, + "992": 22992, + "Police": 22993, + "ĠBEGIN": 22994, + "boxes": 22995, + "Ġdiamond": 22996, + ",l": 22997, + "Ġĉĉĉ": 22998, + "Ġcurious": 22999, + "624": 23000, + "tv": 23001, + "Ġerotische": 23002, + "ackages": 23003, + "ĉSet": 23004, + "Tick": 23005, + ".border": 23006, + "staticmethod": 23007, + "Ġcher": 23008, + "invoice": 23009, + "Ġcru": 23010, + "Ġdefect": 23011, + "_metadata": 23012, + "relation": 23013, + "ikan": 23014, + "[N": 23015, + "(Qt": 23016, + "(Base": 23017, + "æģ¯": 23018, + "beat": 23019, + "ĠEmpty": 23020, + "ĉo": 23021, + "_shift": 23022, + "Ġregret": 23023, + "722": 23024, + "Those": 23025, + "Cent": 23026, + "ĠPortug": 23027, + "ĠIslands": 23028, + "ĠTIME": 23029, + "Management": 23030, + "996": 23031, + "-sp": 23032, + "539": 23033, + "ême": 23034, + "Ġnotion": 23035, + "unifu": 23036, + "PK": 23037, + "826": 23038, + "è¡Į": 23039, + "ĠCURLOPT": 23040, + "\\\"\\": 23041, + "UV": 23042, + "çº": 23043, + "dra": 23044, + "cou": 23045, + "=`": 23046, + "ĠDestroy": 23047, + "rp": 23048, + ".cancel": 23049, + "GG": 23050, + "runtime": 23051, + "ĠVue": 23052, + "Ġprogressive": 23053, + "/services": 23054, + "Ġrunner": 23055, + "_FRAME": 23056, + ".ToolStripMenuItem": 23057, + "Ġ','": 23058, + "delay": 23059, + "=utf": 23060, + "Ġscreening": 23061, + "Ġpulling": 23062, + "omas": 23063, + "Ġanth": 23064, + "-new": 23065, + "/local": 23066, + "ĠiPad": 23067, + "Ġtwitter": 23068, + "Ġdying": 23069, + "Ġheaven": 23070, + "ĠUInt": 23071, + "ĠSenator": 23072, + "Ġpresum": 23073, + "ĠWalker": 23074, + "Ġovercome": 23075, + "etection": 23076, + "Ġembarrass": 23077, + "China": 23078, + "639": 23079, + "Include": 23080, + "ROLL": 23081, + "ĠdataType": 23082, + "David": 23083, + "ร": 23084, + "lop": 23085, + "-month": 23086, + "Ġscar": 23087, + "ĠSafe": 23088, + "Ġ****************************************************************": 23089, + "Ġaccessories": 23090, + "Ġramp": 23091, + "_USE": 23092, + "Ġcontrad": 23093, + "))]Ċ": 23094, + "Ġprest": 23095, + "ĠHR": 23096, + "ĠRap": 23097, + "Ġusize": 23098, + "Ġcapability": 23099, + "Ġcort": 23100, + "-next": 23101, + "077": 23102, + "627": 23103, + "Ġburden": 23104, + "822": 23105, + "_reader": 23106, + "Ġ@@": 23107, + "regular": 23108, + "ĠKa": 23109, + "036": 23110, + "MAN": 23111, + "Ġastr": 23112, + "Ġ'')Ċ": 23113, + "Ġfed": 23114, + "Ġparsing": 23115, + "ĠYears": 23116, + "Ġbroker": 23117, + "\":{\"": 23118, + "Ġakt": 23119, + "Inventory": 23120, + "abeled": 23121, + "Ġargparse": 23122, + "*******Ċ": 23123, + "versation": 23124, + "Ġcord": 23125, + "ĠTi": 23126, + "Ġhopefully": 23127, + "Ġah": 23128, + "verb": 23129, + "Ġstolen": 23130, + ".Entry": 23131, + "Ġexpecting": 23132, + "Orientation": 23133, + "Ġpowered": 23134, + "Ġpersist": 23135, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 23136, + "']);": 23137, + "')),Ċ": 23138, + "ĠCash": 23139, + "ĉitem": 23140, + "818": 23141, + "grades": 23142, + "ropol": 23143, + "basic": 23144, + "Ġ\");čĊ": 23145, + "Ġawards": 23146, + "(range": 23147, + "-all": 23148, + "ĠIBOutlet": 23149, + "ĠIndeed": 23150, + "----------------------------------------------------------------------------": 23151, + "Ġstomach": 23152, + "Ġflower": 23153, + "Ġsew": 23154, + "_times": 23155, + "avis": 23156, + "QString": 23157, + "ĠRoutes": 23158, + "_prot": 23159, + "Ġcomedy": 23160, + "Ġlogout": 23161, + "Ġwooden": 23162, + "Ġposter": 23163, + "piece": 23164, + ".Join": 23165, + "ĠPok": 23166, + "celona": 23167, + "mutex": 23168, + ";čĊčĊčĊ": 23169, + "Ġstrikes": 23170, + "787": 23171, + "Loaded": 23172, + ")arg": 23173, + "esa": 23174, + "United": 23175, + "Ep": 23176, + "PELL": 23177, + "807": 23178, + "ĠAtlantic": 23179, + "ullet": 23180, + "652": 23181, + "apple": 23182, + "Ġsettled": 23183, + "acon": 23184, + "Ġprinter": 23185, + "ĠGC": 23186, + "å®ļ": 23187, + "Ġrendered": 23188, + ",âĢĻ": 23189, + "heit": 23190, + "social": 23191, + ".ge": 23192, + "714": 23193, + "ĠRick": 23194, + "ĠUtah": 23195, + "got": 23196, + "onical": 23197, + "ĠScroll": 23198, + "ĠSciences": 23199, + "Ġjug": 23200, + "Ġampl": 23201, + "enti": 23202, + "LEFT": 23203, + "Ġtabs": 23204, + "Ġenormous": 23205, + ".getKey": 23206, + "locate": 23207, + ".EX": 23208, + ".storage": 23209, + ".We": 23210, + "Ġtoast": 23211, + "ĠAdditionally": 23212, + "882": 23213, + "ĠNOW": 23214, + "547": 23215, + "_UPDATE": 23216, + "Ġtransferred": 23217, + "tha": 23218, + ".Display": 23219, + "_ui": 23220, + "IDEO": 23221, + "Ġmeaningful": 23222, + "ĠMoscow": 23223, + ",this": 23224, + "ĠVictoria": 23225, + "æĶ¹": 23226, + "ĠÐŁ": 23227, + ".stack": 23228, + "ĠBarn": 23229, + "paredStatement": 23230, + ":string": 23231, + "Ġbij": 23232, + "ĠSTATE": 23233, + "Ġemployers": 23234, + "ĉinput": 23235, + "(|": 23236, + "Ġlex": 23237, + "invoke": 23238, + "ĉnum": 23239, + "++,": 23240, + "atial": 23241, + "orses": 23242, + "Ġfork": 23243, + "_txt": 23244, + "ĠAntonio": 23245, + "Ġ(<": 23246, + "averse": 23247, + "Ġdevast": 23248, + "ãĢĢ": 23249, + ".Dec": 23250, + "ĠGard": 23251, + "/ui": 23252, + ".%": 23253, + "tri": 23254, + "Ġrolled": 23255, + "ValuePair": 23256, + "itten": 23257, + "ĠTher": 23258, + "Ġvrou": 23259, + "ĠFlow": 23260, + "ĠFinance": 23261, + "ĠComb": 23262, + "HC": 23263, + ".setVisible": 23264, + "isl": 23265, + "Ġpk": 23266, + "773": 23267, + "Ġupset": 23268, + "(raw": 23269, + "ĠVice": 23270, + "eatures": 23271, + "ĠLang": 23272, + "029": 23273, + "Looking": 23274, + "767": 23275, + "ĠAST": 23276, + "Ġtrips": 23277, + "ĠJustin": 23278, + "browser": 23279, + "=\"'.$": 23280, + ".vertices": 23281, + "821": 23282, + "-co": 23283, + "}/{": 23284, + "Ġ?,": 23285, + "ĠDomin": 23286, + "ĠBelg": 23287, + "\"<": 23288, + "Ġsuppose": 23289, + "addy": 23290, + "Ġwalks": 23291, + "688": 23292, + "ERRU": 23293, + "_filters": 23294, + "Preferred": 23295, + "scene": 23296, + "еÑģ": 23297, + "ĠAffairs": 23298, + "Ġ\"#{": 23299, + "ĠonSubmit": 23300, + "Ġstocks": 23301, + "/view": 23302, + "gree": 23303, + "-get": 23304, + "903": 23305, + "hit": 23306, + "Jo": 23307, + ".getC": 23308, + "725": 23309, + "Initialized": 23310, + "ÑĤи": 23311, + "cuts": 23312, + "(Type": 23313, + "ĠAgreement": 23314, + "ĠVietnam": 23315, + "Ġ/*!": 23316, + "Ġpizza": 23317, + "-view": 23318, + "_em": 23319, + "Ġlhs": 23320, + "Ġmuy": 23321, + "ĠIdent": 23322, + "ĠFriends": 23323, + "061": 23324, + "Ġabund": 23325, + "_AD": 23326, + ".timestamp": 23327, + "-'": 23328, + "Ġduplicate": 23329, + "Ġhunting": 23330, + "Ġregulatory": 23331, + "iao": 23332, + "amous": 23333, + "ĠEntertainment": 23334, + "[A": 23335, + "iatric": 23336, + "_CLIENT": 23337, + "ĠKids": 23338, + "/pkg": 23339, + "Break": 23340, + ")));ĊĊ": 23341, + "ĠShape": 23342, + "Ġrelating": 23343, + "Interrupt": 23344, + "ableOpacity": 23345, + "embre": 23346, + "Ġmystery": 23347, + "Ġjournalists": 23348, + "ritable": 23349, + ".Link": 23350, + "Ġstopping": 23351, + "CRET": 23352, + ".DB": 23353, + "Ġpopularity": 23354, + "Ġgew": 23355, + "Ġimpr": 23356, + "setValue": 23357, + "FLAG": 23358, + "ĉmax": 23359, + "Ġbake": 23360, + "wy": 23361, + "ĠEconomic": 23362, + "Ġencontr": 23363, + "Ġfname": 23364, + "/de": 23365, + "Rank": 23366, + "Ġbugs": 23367, + ".sm": 23368, + "Ġmedian": 23369, + "DOWN": 23370, + "ĠSure": 23371, + "AtIndex": 23372, + "ĠDick": 23373, + "Ġ(__": 23374, + ".delta": 23375, + "Fr": 23376, + "Ġsuggesting": 23377, + "ĠRecyclerView": 23378, + ",e": 23379, + "START": 23380, + "/****************************************************************************": 23381, + "xford": 23382, + "Ġreceipt": 23383, + "CLAIM": 23384, + "readonly": 23385, + "968": 23386, + "Ġengaging": 23387, + "619": 23388, + "Ca": 23389, + "asma": 23390, + "Ġensuring": 23391, + "English": 23392, + "ĠVancouver": 23393, + "hyth": 23394, + "Ġpurchasing": 23395, + "ĠPI": 23396, + ".word": 23397, + "(sp": 23398, + ".home": 23399, + ":def": 23400, + "Ġgig": 23401, + "574": 23402, + "671": 23403, + "ĠVe": 23404, + "forum": 23405, + "ĠMitch": 23406, + "Bay": 23407, + "_FL": 23408, + "651": 23409, + "Ġsoll": 23410, + "577": 23411, + "_columns": 23412, + "Ġminority": 23413, + "bird": 23414, + "Ġhanded": 23415, + "SSL": 23416, + "STAT": 23417, + "Ġnervous": 23418, + "ĥ½": 23419, + "ĠfilePath": 23420, + "CREATE": 23421, + "Aw": 23422, + "Ġpens": 23423, + "835": 23424, + "seed": 23425, + "ĠCompute": 23426, + "olk": 23427, + "594": 23428, + "ĠAsset": 23429, + "reach": 23430, + "'),čĊ": 23431, + "navigation": 23432, + "LF": 23433, + "/util": 23434, + "ĠPub": 23435, + "ĠâĶ": 23436, + "cion": 23437, + "##Ċ": 23438, + "072": 23439, + "III": 23440, + "TagName": 23441, + "Ġamid": 23442, + "permission": 23443, + "ifiable": 23444, + "xFFFFFFFF": 23445, + "ни": 23446, + ".Buffer": 23447, + "_irq": 23448, + "dark": 23449, + "Ġretval": 23450, + ".fire": 23451, + "production": 23452, + ".listen": 23453, + "ĠWeather": 23454, + "Ġbuyers": 23455, + ".ne": 23456, + "erp": 23457, + "ĠPent": 23458, + "699": 23459, + "Ġwelfare": 23460, + "ĠpageSize": 23461, + "ĠStadium": 23462, + "erta": 23463, + "Ġlev": 23464, + "ampa": 23465, + "Pager": 23466, + "665": 23467, + "Ġcharging": 23468, + "ĠNetflix": 23469, + "|null": 23470, + "_random": 23471, + ".xpath": 23472, + "Ġstere": 23473, + "ĠISIS": 23474, + "ponses": 23475, + "(loc": 23476, + "566": 23477, + "eyond": 23478, + "ĠOfficial": 23479, + "657": 23480, + "ĠMaryland": 23481, + "DataType": 23482, + "_par": 23483, + "{},": 23484, + "ĠEnjoy": 23485, + "727": 23486, + "_SHIFT": 23487, + "ĠAwards": 23488, + "_ENTRY": 23489, + "Ġseemingly": 23490, + "enticate": 23491, + "Ġhearts": 23492, + "583": 23493, + "_;ĊĊ": 23494, + "ĠHIV": 23495, + "Ġindivid": 23496, + "ĠFlag": 23497, + "_ctrl": 23498, + "ĠCallback": 23499, + ",z": 23500, + "ĠGPU": 23501, + "ĉobj": 23502, + "ĠPhoenix": 23503, + "ĠBUS": 23504, + "907": 23505, + "Ġrubber": 23506, + "_AUTH": 23507, + "ĠSolutions": 23508, + "(location": 23509, + "Variables": 23510, + ".setEnabled": 23511, + "_high": 23512, + "WO": 23513, + "Gesture": 23514, + "Ġretry": 23515, + "ĠobjectForKey": 23516, + "alloween": 23517, + "Ġmos": 23518, + "ĠCele": 23519, + "Ġikke": 23520, + "(cell": 23521, + "ĠMODE": 23522, + "rena": 23523, + "Ġdescribing": 23524, + "641": 23525, + "Ġphi": 23526, + "Ġrd": 23527, + "Ġdeserve": 23528, + "Ġwheels": 23529, + "å¸Ĥ": 23530, + "Ġcritics": 23531, + "755": 23532, + "Namespace": 23533, + "ĠFra": 23534, + "ĠĊĊĊĊ": 23535, + "Ġalla": 23536, + "Ġrequiring": 23537, + "æľŁ": 23538, + "utation": 23539, + "Ġdelayed": 23540, + "Ġadministrative": 23541, + "Ġbay": 23542, + ".hidden": 23543, + "Tex": 23544, + "051": 23545, + "Ġboundaries": 23546, + "Ġ]);ĊĊ": 23547, + "ĠFollowing": 23548, + "~/": 23549, + "Fi": 23550, + "_conv": 23551, + "_TITLE": 23552, + "Ġdesde": 23553, + "ICollectionView": 23554, + "Alias": 23555, + "Ġbite": 23556, + "patient": 23557, + "_COMMAND": 23558, + "Completed": 23559, + "ĉelif": 23560, + "(<": 23561, + "Business": 23562, + "ĠPool": 23563, + "Ġpursue": 23564, + "ĠBan": 23565, + "_steps": 23566, + "_DECL": 23567, + "umble": 23568, + "Ġcombo": 23569, + "ĠLayer": 23570, + ".xr": 23571, + "Ġdup": 23572, + "---------": 23573, + "628": 23574, + "Ġmodifier": 23575, + "rob": 23576, + "rez": 23577, + "696": 23578, + "Ġathletes": 23579, + "Used": 23580, + "wear": 23581, + "815": 23582, + "Ġlegitimate": 23583, + "Ġ\"ĊĊ": 23584, + "Ġhv": 23585, + "Std": 23586, + "037": 23587, + "ĠHold": 23588, + "Ġsurviv": 23589, + "ĠAlliance": 23590, + "ĠEarly": 23591, + "778": 23592, + "Behavior": 23593, + "(font": 23594, + "/libs": 23595, + "Ġrectangle": 23596, + "Ġsinger": 23597, + "Ġamp": 23598, + "EqualTo": 23599, + "Ġ\".\"": 23600, + "Ġgirlfriend": 23601, + "å±": 23602, + "linear": 23603, + "observ": 23604, + "Ġpiù": 23605, + "Ġcomplement": 23606, + "WithValue": 23607, + "(password": 23608, + "take": 23609, + "Blank": 23610, + "ĠCompar": 23611, + "'\",": 23612, + "_policy": 23613, + "mongoose": 23614, + "_FAILED": 23615, + ".report": 23616, + "Ratio": 23617, + ".PerformLayout": 23618, + "747": 23619, + "usable": 23620, + "mers": 23621, + "_render": 23622, + "PEED": 23623, + "772": 23624, + "Ġlesb": 23625, + "ĉE": 23626, + "_tool": 23627, + "Ġladies": 23628, + "908": 23629, + "оÑģ": 23630, + "))))Ċ": 23631, + ";;;;": 23632, + ".dot": 23633, + "Ġnest": 23634, + "peak": 23635, + "ukkit": 23636, + "eca": 23637, + "_SW": 23638, + "Ġ&(": 23639, + "ĠOklahoma": 23640, + "Ġbanking": 23641, + "569": 23642, + "ĠNintendo": 23643, + "752": 23644, + "Ġreproduce": 23645, + "_elements": 23646, + "_mac": 23647, + "proxy": 23648, + "Ġremarkable": 23649, + "}/${": 23650, + "Ġouts": 23651, + ".hasNext": 23652, + "MODE": 23653, + "658": 23654, + "Ġanime": 23655, + ".conn": 23656, + "Unique": 23657, + "Dom": 23658, + "Ġimportantly": 23659, + "itty": 23660, + "Ġjuice": 23661, + "Tw": 23662, + "ĠPartners": 23663, + "Ġattacking": 23664, + "Ġportable": 23665, + "amiento": 23666, + ".PictureBox": 23667, + ".gen": 23668, + "Ġoptimal": 23669, + "582": 23670, + "Ġrecre": 23671, + "Ġjournalist": 23672, + "ĠExtract": 23673, + "ĠMoreover": 23674, + "ĠmarginTop": 23675, + ".Ap": 23676, + "Ġfiring": 23677, + "NaN": 23678, + "ĉtemplate": 23679, + "ад": 23680, + ".En": 23681, + "Ġdefence": 23682, + "ĠTel": 23683, + "ilen": 23684, + "jan": 23685, + "=data": 23686, + "ĠUrl": 23687, + "ĠReuters": 23688, + "(total": 23689, + "ĠFifth": 23690, + "Ġessays": 23691, + "Ġinterpretation": 23692, + "Ġcharity": 23693, + "ĠRules": 23694, + "Ġsubsection": 23695, + "styled": 23696, + "azer": 23697, + "lags": 23698, + "LIST": 23699, + "Ġuploaded": 23700, + "Ġtrash": 23701, + "Ġregistr": 23702, + "Ġseller": 23703, + ">';čĊ": 23704, + "ĠstartTime": 23705, + "çĻ": 23706, + "sy": 23707, + "(HttpServletRequest": 23708, + "Ġtrap": 23709, + "GC": 23710, + "Ġembedded": 23711, + "Ġsurrounded": 23712, + "816": 23713, + "imits": 23714, + "TX": 23715, + "ylinder": 23716, + "685": 23717, + "ĠFal": 23718, + "Ġsentences": 23719, + "ĠJa": 23720, + "IFICATION": 23721, + "weapon": 23722, + "ovation": 23723, + "Ġcoat": 23724, + "Ġinterpol": 23725, + "Ġlips": 23726, + "ĠKy": 23727, + "Ġvectors": 23728, + "_am": 23729, + "Ġintake": 23730, + ".world": 23731, + "Ġinbox": 23732, + "ĠMAC": 23733, + "_ab": 23734, + "(nameof": 23735, + "633": 23736, + "Ġentert": 23737, + "Ġgathering": 23738, + "ĠSIM": 23739, + "++.": 23740, + "nya": 23741, + "'}}": 23742, + "ĠUPDATE": 23743, + "Ġpac": 23744, + "(html": 23745, + "ĠSant": 23746, + "iating": 23747, + "ĠIdeas": 23748, + "Ġspray": 23749, + "ĠHart": 23750, + "Ġverification": 23751, + "adesh": 23752, + "/modules": 23753, + "ĠMind": 23754, + "ĠSizedBox": 23755, + "Ġshelter": 23756, + "Ġheroes": 23757, + "atty": 23758, + "Ġcertified": 23759, + "sj": 23760, + "Ġêtre": 23761, + "ÅĤo": 23762, + "Ġpublishing": 23763, + "ĠMalays": 23764, + ".getUser": 23765, + "ĠProvider": 23766, + "ĠLinkedList": 23767, + "ĠBor": 23768, + "ROUND": 23769, + "did": 23770, + "tain": 23771, + "pire": 23772, + "ĠJenn": 23773, + "tel": 23774, + "ande": 23775, + "757": 23776, + "_front": 23777, + "ĠMcG": 23778, + "TestMethod": 23779, + "à¸Ń": 23780, + "Ġoccasionally": 23781, + "ĠWales": 23782, + "Ġexercises": 23783, + "ĠÐĴ": 23784, + "045": 23785, + "-plus": 23786, + "Ġvalidator": 23787, + "Ġprayer": 23788, + "LATED": 23789, + "_author": 23790, + "Ġlabour": 23791, + "++Ċ": 23792, + "-equiv": 23793, + "ĠGPL": 23794, + "Ġfacebook": 23795, + "simple": 23796, + "gly": 23797, + "Processor": 23798, + "ipy": 23799, + "744": 23800, + "Ġ*>": 23801, + "648": 23802, + "Ġcleared": 23803, + "ĠPush": 23804, + "858": 23805, + "Ġpenis": 23806, + "Structure": 23807, + "lij": 23808, + "ĠMorgan": 23809, + "Ġhandful": 23810, + "\".Ċ": 23811, + "984": 23812, + "|\\": 23813, + "Ġ********************************": 23814, + "ĠAqu": 23815, + "584": 23816, + "_IC": 23817, + ".loads": 23818, + "Ġmeter": 23819, + "ĠMarine": 23820, + "::{": 23821, + "ĠTS": 23822, + "776": 23823, + "ĠArrays": 23824, + ".Title": 23825, + "GRAM": 23826, + "termin": 23827, + "Ġcoinc": 23828, + "Else": 23829, + "_states": 23830, + "-run": 23831, + "members": 23832, + "782": 23833, + "astro": 23834, + "066": 23835, + "ĠonPress": 23836, + "Ġbeings": 23837, + "Ġabandoned": 23838, + "Ġtaxp": 23839, + "owners": 23840, + ".mode": 23841, + "Ġdiagnosis": 23842, + "Ġ_Ċ": 23843, + "ĠKnight": 23844, + "ĉA": 23845, + "Ġobserve": 23846, + "),'": 23847, + "823": 23848, + "!\")Ċ": 23849, + "ĠPara": 23850, + "Ġvariation": 23851, + "(False": 23852, + "ĠAnti": 23853, + "Ġgri": 23854, + "Ġhomeless": 23855, + "?v": 23856, + "Ġbez": 23857, + ".Server": 23858, + "release": 23859, + "ĠPatri": 23860, + "Ġchars": 23861, + "Ġranking": 23862, + "activation": 23863, + "581": 23864, + "Ġwides": 23865, + "qr": 23866, + ".Sql": 23867, + "acular": 23868, + "ĠBot": 23869, + "_sync": 23870, + "Ġhappiness": 23871, + "Ġvolunteers": 23872, + "877": 23873, + "Ġsits": 23874, + "/<": 23875, + "[e": 23876, + "(fileName": 23877, + "Ġcapac": 23878, + "832": 23879, + "ĠMaria": 23880, + "father": 23881, + "Ġgram": 23882, + "*i": 23883, + "Ġcaso": 23884, + "_draw": 23885, + "ĠRaw": 23886, + "ĠIterator": 23887, + "664": 23888, + "ĠPadding": 23889, + "924": 23890, + "PD": 23891, + "BOX": 23892, + "ĠSPECIAL": 23893, + "Ġfecha": 23894, + "Ġvide": 23895, + "ĠLeader": 23896, + "以": 23897, + "$(\".": 23898, + "Ġdiameter": 23899, + "Ġmild": 23900, + "745": 23901, + "Ġrocks": 23902, + "appings": 23903, + "048": 23904, + "directory": 23905, + "557": 23906, + ".flush": 23907, + "ĠJess": 23908, + "UNIT": 23909, + "ĠPear": 23910, + "Ġmandatory": 23911, + "Sur": 23912, + "qt": 23913, + "Ġstreams": 23914, + "Ġcooperation": 23915, + "ĠSac": 23916, + "Ġcheaper": 23917, + "ĉch": 23918, + "animation": 23919, + "fare": 23920, + "(height": 23921, + "(True": 23922, + "NY": 23923, + "Ġwrest": 23924, + "Ġpolls": 23925, + "Ġencountered": 23926, + "ĠMarketable": 23927, + "_PASSWORD": 23928, + "716": 23929, + "_SELECT": 23930, + "ĠArabia": 23931, + "_clock": 23932, + "Ġvoy": 23933, + "Ġиз": 23934, + "Ġstir": 23935, + "isible": 23936, + "-effect": 23937, + ".created": 23938, + "Ġtoys": 23939, + "ĠTradable": 23940, + "Ġrust": 23941, + "Ġstrcpy": 23942, + "_timestamp": 23943, + "Ġtalented": 23944, + ",null": 23945, + "ĠJobs": 23946, + "ĠPortland": 23947, + "Ġweakness": 23948, + "Throw": 23949, + "ĠAngel": 23950, + "ä¿®": 23951, + "754": 23952, + "Ġuncert": 23953, + "ï¼īĊ": 23954, + "ĠìĿ´": 23955, + "Which": 23956, + "Ġ[-]:": 23957, + "Something": 23958, + "Ġconvicted": 23959, + "kle": 23960, + "edium": 23961, + "Ġbranches": 23962, + "Ġbases": 23963, + "ç®": 23964, + "Ġcomplexity": 23965, + "ĠFig": 23966, + ".reshape": 23967, + "$db": 23968, + "736": 23969, + "_CONST": 23970, + "ĠTes": 23971, + ".runtime": 23972, + "Ġdeny": 23973, + "ĠBSD": 23974, + "Ġkr": 23975, + "hatt": 23976, + "ĠStatic": 23977, + "Ġuniversities": 23978, + "Replace": 23979, + "Ġdrove": 23980, + "Ġadoles": 23981, + "_plugin": 23982, + "ĠLGBT": 23983, + "Ġtex": 23984, + "duction": 23985, + "751": 23986, + "799": 23987, + "EDI": 23988, + "ĠTed": 23989, + "_URI": 23990, + "Ġreception": 23991, + "arten": 23992, + ".Single": 23993, + "rice": 23994, + "scious": 23995, + "843": 23996, + "_bg": 23997, + "Ġwages": 23998, + "ĠServlet": 23999, + "UILayout": 24000, + "Ġformatted": 24001, + ".Mod": 24002, + "',Ċ": 24049, + "Ġexpanding": 24050, + "ĠHamilton": 24051, + "ĠContrib": 24052, + ".Tables": 24053, + "728": 24054, + "Activ": 24055, + "HH": 24056, + "ocommerce": 24057, + "_;": 24058, + "Ġamongst": 24059, + "owing": 24060, + "859": 24061, + "ĠCold": 24062, + "APH": 24063, + "Ġpsychological": 24064, + "_tensor": 24065, + "Ġpackaging": 24066, + "ĠSweden": 24067, + "Ġpare": 24068, + "Ġaggregate": 24069, + "Ġmoderate": 24070, + "862": 24071, + "_hand": 24072, + "Ġdesignated": 24073, + "Ġdrum": 24074, + "ĠgetUser": 24075, + "ĠCreek": 24076, + "_scope": 24077, + "ĠTransfer": 24078, + "ĠMarg": 24079, + "Ġfighters": 24080, + "Wnd": 24081, + "ĠSel": 24082, + "ĠLaunch": 24083, + "Ġemerging": 24084, + "iframe": 24085, + "ĠAdditional": 24086, + "Ġfears": 24087, + "Ġsatellite": 24088, + "_:": 24089, + "Ġdisposing": 24090, + "GetValue": 24091, + "HttpPost": 24092, + "ATIVE": 24093, + "ulary": 24094, + "Views": 24095, + "Ġattending": 24096, + "ĠTennessee": 24097, + "ĠMission": 24098, + "Ġmedication": 24099, + "ĠWy": 24100, + "ĠAnna": 24101, + "ع": 24102, + "ĠVertex": 24103, + ".types": 24104, + "Organ": 24105, + ".DataGridViewTextBoxColumn": 24106, + "ĠRS": 24107, + "Ġtempo": 24108, + "(App": 24109, + "892": 24110, + "VersionUID": 24111, + ".point": 24112, + "ĠDutch": 24113, + "Hours": 24114, + "LU": 24115, + "Ġquoted": 24116, + ".builder": 24117, + "ĠPerfect": 24118, + "ĠAlways": 24119, + "_two": 24120, + "Ġexclusively": 24121, + "ĠCra": 24122, + "ificar": 24123, + "ĠAWS": 24124, + "ingham": 24125, + "complex": 24126, + "kernel": 24127, + "Ġgravity": 24128, + "Ġwi": 24129, + "052": 24130, + "Ġoverview": 24131, + "661": 24132, + "ĠWant": 24133, + "ĠWP": 24134, + "(sh": 24135, + ".rotation": 24136, + "States": 24137, + "ĠTeen": 24138, + "_components": 24139, + "ìĪĺ": 24140, + "Received": 24141, + "Ġlyrics": 24142, + "rites": 24143, + "ĉĉĉĉĉĠ": 24144, + "-American": 24145, + "[num": 24146, + "/python": 24147, + "ĠUART": 24148, + "Ġapple": 24149, + "ĠJonathan": 24150, + "Ġmomentum": 24151, + "ั": 24152, + "Ĥ¹": 24153, + "Ġmich": 24154, + "andra": 24155, + "Ġbiological": 24156, + "ĠMens": 24157, + "Ġ%%": 24158, + "elsea": 24159, + "ĠMexican": 24160, + ".randint": 24161, + "Ġtale": 24162, + "ĠValidate": 24163, + "Ġdefeated": 24164, + ".htm": 24165, + "Ġcopper": 24166, + "=/": 24167, + "cosystem": 24168, + "Ġrip": 24169, + "decimal": 24170, + ".VISIBLE": 24171, + "ĠTa": 24172, + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉ": 24173, + "Ġdownloaded": 24174, + "environment": 24175, + "Ġnomine": 24176, + "building": 24177, + "ĠSpot": 24178, + "ipheral": 24179, + "Ġalto": 24180, + "quet": 24181, + "ĠFT": 24182, + "/get": 24183, + "/master": 24184, + "WIN": 24185, + "åħĥ": 24186, + "676": 24187, + "West": 24188, + "argc": 24189, + "Ġproducers": 24190, + "ĠMuch": 24191, + "_storage": 24192, + "credit": 24193, + "CONT": 24194, + "Ġvet": 24195, + "Ġvoices": 24196, + "('',": 24197, + "Ġinstruments": 24198, + "662": 24199, + "ĠMSG": 24200, + "esse": 24201, + "repository": 24202, + "omics": 24203, + "Ġdealer": 24204, + "Still": 24205, + "Ġbanner": 24206, + "ascii": 24207, + "Ġremarks": 24208, + "[js": 24209, + "Ġshorter": 24210, + "gulp": 24211, + "Ġmyster": 24212, + "Ġkun": 24213, + "ĠBird": 24214, + "Ġtiene": 24215, + "788": 24216, + "nut": 24217, + "ĠUm": 24218, + "Ġwise": 24219, + "Yeah": 24220, + "INESS": 24221, + "046": 24222, + "_begin": 24223, + "-heading": 24224, + "Course": 24225, + "ĠčĊčĊ": 24226, + "ombie": 24227, + "graded": 24228, + "ĠGPS": 24229, + "Ġże": 24230, + "Fit": 24231, + "caption": 24232, + "ön": 24233, + "/image": 24234, + "lia": 24235, + "(mod": 24236, + "Ġleak": 24237, + "enza": 24238, + "629": 24239, + "/H": 24240, + "ĠHappy": 24241, + "993": 24242, + "Dist": 24243, + "nx": 24244, + "ĠGovernor": 24245, + "(last": 24246, + "teacher": 24247, + "ĠSent": 24248, + "support": 24249, + "838": 24250, + "jectory": 24251, + "ĠÙħ": 24252, + "Registration": 24253, + "063": 24254, + "ĠGray": 24255, + ",false": 24256, + "Ġadjusted": 24257, + "(settings": 24258, + "'Ċ": 24324, + "-fold": 24325, + "æĬ": 24326, + "ĠBetter": 24327, + "Ġ\"\\<": 24328, + "spacing": 24329, + "Ġfurnished": 24330, + "913": 24331, + "oser": 24332, + "]}Ċ": 24333, + "Ġ$\"": 24334, + "pull": 24335, + ".Post": 24336, + "919": 24337, + "(ip": 24338, + "Ĺı": 24339, + ".front": 24340, + "nte": 24341, + "ĠFM": 24342, + "guid": 24343, + "844": 24344, + "Ġnegotiations": 24345, + "agonal": 24346, + "934": 24347, + "Ġtremend": 24348, + "ungeon": 24349, + "Adv": 24350, + "carousel": 24351, + "ÃŁe": 24352, + "_DESC": 24353, + "Ġhammer": 24354, + "áºŃ": 24355, + "ĠĠĠĠĠĠĠĠĊĊ": 24356, + "-core": 24357, + "-service": 24358, + "Ġcorners": 24359, + "ĠSF": 24360, + "pred": 24361, + ">A": 24362, + "ĠJLabel": 24363, + "Ġromantic": 24364, + "Ġtestimony": 24365, + "osc": 24366, + "ĠGeneration": 24367, + "asures": 24368, + "_internal": 24369, + "Ġprints": 24370, + "Ġ])Ċ": 24371, + "ĠCleveland": 24372, + "repo": 24373, + "Disc": 24374, + "677": 24375, + "762": 24376, + "Ġ\">Ċ": 24377, + "����": 24378, + "Ġnearest": 24379, + "591": 24380, + "_tb": 24381, + "(require": 24382, + "EOF": 24383, + "-child": 24384, + "Ġbudd": 24385, + ".XtraEditors": 24386, + "alties": 24387, + "723": 24388, + "\\\":\\\"": 24389, + "Words": 24390, + "917": 24391, + "Ġlocally": 24392, + "Ġpurchases": 24393, + "695": 24394, + "Drawer": 24395, + "extract": 24396, + "Ġexecut": 24397, + "}'.": 24398, + "userdata": 24399, + "Ġfocuses": 24400, + "-minute": 24401, + "764": 24402, + "ĠPublish": 24403, + "ogo": 24404, + "Ġmountains": 24405, + "Bot": 24406, + "}>{": 24407, + "Ġtension": 24408, + "rod": 24409, + "mesh": 24410, + "Ġtransformed": 24411, + ",R": 24412, + "()}Ċ": 24413, + ".long": 24414, + "Ġgorgeous": 24415, + "ĠSchedule": 24416, + "Ġoldest": 24417, + "Ġsubprocess": 24418, + "(IN": 24419, + "yect": 24420, + "ĠCooper": 24421, + "arness": 24422, + "ĠMonitor": 24423, + ".part": 24424, + "972": 24425, + "ĠNBC": 24426, + "668": 24427, + "Ġcotton": 24428, + "Ġhol": 24429, + "726": 24430, + "Ġrgba": 24431, + "ĠBio": 24432, + "Continue": 24433, + "Pod": 24434, + "Ġparticipating": 24435, + "clusions": 24436, + "(ByVal": 24437, + "734": 24438, + "ì": 24439, + "ĠHOW": 24440, + "_setopt": 24441, + "Ġaccompanying": 24442, + "091": 24443, + "aton": 24444, + "Ġ/\\": 24445, + "ĠAuthentication": 24446, + "ién": 24447, + "ĠBarack": 24448, + "/*.": 24449, + "Ġeager": 24450, + "ĠCancel": 24451, + "$": 24502, + "OLEAN": 24503, + "OKIE": 24504, + "IBILITY": 24505, + "UAGE": 24506, + "ĠSurvey": 24507, + "071": 24508, + "Ġresign": 24509, + "wing": 24510, + "Ġsecrets": 24511, + "Ġchips": 24512, + "JSONObject": 24513, + "Desktop": 24514, + "596": 24515, + "_SYMBOL": 24516, + "(resource": 24517, + "ĠĊ": 24518, + "Ġnewest": 24519, + "uli": 24520, + "Ġdesert": 24521, + "Ġdip": 24522, + "ĠPow": 24523, + "Ġequation": 24524, + "Ġpossibilities": 24525, + "ĠFed": 24526, + "osph": 24527, + "Ġ[%": 24528, + "Ġbubble": 24529, + "etherlands": 24530, + "793": 24531, + "Ġcement": 24532, + ".auto": 24533, + "_AN": 24534, + "âĢĻ.": 24535, + "selection": 24536, + "ĠBond": 24537, + "988": 24538, + "Den": 24539, + "-O": 24540, + ".getType": 24541, + "896": 24542, + ".Window": 24543, + "pres": 24544, + "Ġswinger": 24545, + "\"})Ċ": 24546, + "Ġpip": 24547, + "Ġmice": 24548, + "Ġcompound": 24549, + "-plugin": 24550, + "iko": 24551, + "Ġcenturies": 24552, + "icular": 24553, + "-inline": 24554, + "ĉkey": 24555, + ">\\<": 24556, + "ENSION": 24557, + "Ġ[čĊ": 24558, + "Ġprecisely": 24559, + "Ġété": 24560, + "ĠPast": 24561, + "ĠCambridge": 24562, + "-full": 24563, + "Ġanalyze": 24564, + "ĠSteven": 24565, + "Ġnem": 24566, + "due": 24567, + "oren": 24568, + "Ġmuscles": 24569, + "ijing": 24570, + "852": 24571, + "/-": 24572, + "ĠKennedy": 24573, + "597": 24574, + "RM": 24575, + "ossible": 24576, + "Ġactress": 24577, + "Ġdolor": 24578, + "914": 24579, + "å½ķ": 24580, + "Need": 24581, + ".toggle": 24582, + "ĠRace": 24583, + "wers": 24584, + ".material": 24585, + "ĠDue": 24586, + "ĠPel": 24587, + "#print": 24588, + "Ġindependence": 24589, + "exus": 24590, + "Shadow": 24591, + "Ġencoder": 24592, + "(level": 24593, + "ĠSwift": 24594, + ".doc": 24595, + "_selection": 24596, + "952": 24597, + "ĠserialVersionUID": 24598, + "945": 24599, + "Labels": 24600, + "Ġperformances": 24601, + ".Tag": 24602, + "ĠNHL": 24603, + "izen": 24604, + "/UIKit": 24605, + "991": 24606, + "_CONTROL": 24607, + "Ġearnings": 24608, + "975": 24609, + "ĠAlt": 24610, + "_HANDLE": 24611, + "Ctx": 24612, + "Ġpersu": 24613, + "Ġtran": 24614, + "ç¨": 24615, + "_CHANNEL": 24616, + "Ġsatisfaction": 24617, + "ĠGP": 24618, + "769": 24619, + "iox": 24620, + "mitt": 24621, + "lando": 24622, + "Ġpig": 24623, + "inals": 24624, + "ência": 24625, + "731": 24626, + "Surface": 24627, + "ĠUUID": 24628, + "Ġbeneficial": 24629, + "Ġsequences": 24630, + "ĉmemset": 24631, + "Ġmagical": 24632, + "«": 24633, + "Ġworn": 24634, + "ASC": 24635, + "popup": 24636, + "COMP": 24637, + "_before": 24638, + "eness": 24639, + "Ui": 24640, + "Les": 24641, + ".require": 24642, + ".Serializable": 24643, + "addGap": 24644, + "Ġauthorization": 24645, + "085": 24646, + ".pyplot": 24647, + "urray": 24648, + "latitude": 24649, + "845": 24650, + "frames": 24651, + "ajs": 24652, + "Ġcompass": 24653, + "Ġobservations": 24654, + "_sup": 24655, + ".environ": 24656, + "Ġtriple": 24657, + "ĠRuby": 24658, + "Ġdrain": 24659, + "_FILTER": 24660, + "San": 24661, + "UMP": 24662, + "NullException": 24663, + "ĠGab": 24664, + "owe": 24665, + "ĠTurkish": 24666, + "_sequence": 24667, + "ĠGrant": 24668, + "uela": 24669, + "Ġwo": 24670, + "Ġcube": 24671, + "iq": 24672, + "Ġdisorders": 24673, + "Ġextraordinary": 24674, + "Ġctrl": 24675, + "ĠSeq": 24676, + "entr": 24677, + "865": 24678, + "Ġsanctions": 24679, + "949": 24680, + "utsch": 24681, + "Reports": 24682, + "Ġinherit": 24683, + "Period": 24684, + "Ġphotography": 24685, + "ĠFramework": 24686, + "Ġspecialist": 24687, + "Ġ?ĊĊ": 24688, + "_selected": 24689, + ".Player": 24690, + "Ġallocation": 24691, + "(account": 24692, + "Ġstructural": 24693, + "vable": 24694, + "-offset": 24695, + ".AppCompatActivity": 24696, + "ам": 24697, + ".AddWithValue": 24698, + "Ġicons": 24699, + "Ġshutdown": 24700, + "_low": 24701, + "ĠCompare": 24702, + "ĠCe": 24703, + "=head": 24704, + "lam": 24705, + ".predict": 24706, + "_DEC": 24707, + "ĠSleep": 24708, + "ĠGratis": 24709, + "Ġsuggestion": 24710, + "ĠDEL": 24711, + "caff": 24712, + "avirus": 24713, + "Nothing": 24714, + "ŀĭ": 24715, + "Ġwidespread": 24716, + "Ġmechanisms": 24717, + "ĠtextAlign": 24718, + "occup": 24719, + "ĠRail": 24720, + ":NS": 24721, + "Ġfiber": 24722, + "Ġmk": 24723, + "Ġvintage": 24724, + "-long": 24725, + ".reduce": 24726, + ".Entities": 24727, + "(record": 24728, + "Ġpleasant": 24729, + "FRING": 24730, + ".Cells": 24731, + "OTT": 24732, + "ĉelseif": 24733, + "649": 24734, + "724": 24735, + "_confirm": 24736, + "ĠViewGroup": 24737, + "sym": 24738, + "Ġpray": 24739, + "Ġsuspected": 24740, + "Contains": 24741, + "983": 24742, + "Ġborders": 24743, + "ĠcomponentDid": 24744, + "ASSERT": 24745, + "Ġinfinite": 24746, + "-order": 24747, + "Ġhello": 24748, + "ĠGrade": 24749, + ".currentTimeMillis": 24750, + "apolis": 24751, + "zh": 24752, + "ĉObject": 24753, + ":\\\\": 24754, + "HO": 24755, + "valuation": 24756, + "Ġvocab": 24757, + "719": 24758, + "Ġcoupon": 24759, + "atabases": 24760, + ".GetType": 24761, + "Learn": 24762, + "792": 24763, + "]=\"": 24764, + "ĠGary": 24765, + "otive": 24766, + "Ġash": 24767, + "Ġbib": 24768, + "XXXX": 24769, + "Ġbalanced": 24770, + "VALUE": 24771, + "ĠNat": 24772, + "_Ad": 24773, + "<": 24930, + "Ġfool": 24931, + "Ġesk": 24932, + ".Null": 24933, + "ĠDies": 24934, + "_OUTPUT": 24935, + "_TYPED": 24936, + "Ġpainted": 24937, + "673": 24938, + "735": 24939, + "Ġsophistic": 24940, + "ĠBear": 24941, + "*n": 24942, + "_PACK": 24943, + "Ġdelivering": 24944, + "ĠCOUNT": 24945, + "åįķ": 24946, + "Ġjeg": 24947, + "-car": 24948, + "fname": 24949, + "Ġranging": 24950, + "848": 24951, + "ĠNeg": 24952, + "/******/": 24953, + "ĠCHAR": 24954, + "Ġultra": 24955, + "Grad": 24956, + "=t": 24957, + "Ġjudges": 24958, + "ĠDise": 24959, + "anners": 24960, + "985": 24961, + "891": 24962, + "861": 24963, + "Ġscal": 24964, + "_cal": 24965, + "ĠCONNECTION": 24966, + "_embed": 24967, + "(fn": 24968, + "ĠCraft": 24969, + "047": 24970, + "ĠPas": 24971, + "\")->": 24972, + ".convert": 24973, + ".resource": 24974, + "ĠSTATUS": 24975, + "ông": 24976, + "ĠTit": 24977, + "Ġclassroom": 24978, + "ĠArchitect": 24979, + "ĠKings": 24980, + "Ġsteady": 24981, + "/*!Ċ": 24982, + "ĠGene": 24983, + ")\";Ċ": 24984, + "icia": 24985, + "stan": 24986, + "ĠConstruction": 24987, + "umper": 24988, + "951": 24989, + "wc": 24990, + "ĠCBS": 24991, + "inging": 24992, + "-party": 24993, + "(driver": 24994, + "MARK": 24995, + "082": 24996, + "Ġnested": 24997, + "eward": 24998, + "Ġdependency": 24999, + "Ġmales": 25000, + "928": 25001, + "ĠONE": 25002, + "ĠProduction": 25003, + "][$": 25004, + "ãĥ¼ãĥ": 25005, + "_LOAD": 25006, + "ĠBol": 25007, + "elry": 25008, + "831": 25009, + "łéϤ": 25010, + "ĠRequire": 25011, + "Ġplacing": 25012, + "xxx": 25013, + "CALE": 25014, + "Ġthumb": 25015, + "824": 25016, + "Choose": 25017, + "Ġprototype": 25018, + "VOID": 25019, + "Ġlesbian": 25020, + "741": 25021, + "Ġtraits": 25022, + "Sharp": 25023, + "Ġconsume": 25024, + "Truth": 25025, + "ĠactionPerformed": 25026, + "ĠEnvironmental": 25027, + "ĠDean": 25028, + "Ġestado": 25029, + "same": 25030, + "Ġnumeric": 25031, + "Ġtransit": 25032, + ".Email": 25033, + "-side": 25034, + "_RUN": 25035, + "ĠVillage": 25036, + "_OPEN": 25037, + "è¦": 25038, + ".rem": 25039, + "-warning": 25040, + "anya": 25041, + "PropertyChanged": 25042, + "Ġ(!_": 25043, + "(check": 25044, + "ilia": 25045, + "ĠSoft": 25046, + "steps": 25047, + "ĠMadrid": 25048, + "MemoryWarning": 25049, + "Ġhandlers": 25050, + "Ġexperiencing": 25051, + "Ġinspect": 25052, + "buttons": 25053, + "ReceiveMemoryWarning": 25054, + "chemy": 25055, + "Links": 25056, + "Ġurllib": 25057, + ".SystemColors": 25058, + "ĠEigen": 25059, + "Ġpunishment": 25060, + ":UIControl": 25061, + "bara": 25062, + "-set": 25063, + "Ġ}čĊčĊčĊ": 25064, + "Ġtolerance": 25065, + "Ġinterfaces": 25066, + ".redirect": 25067, + "ighbors": 25068, + "csrf": 25069, + "_background": 25070, + ".Utils": 25071, + "_HT": 25072, + "692": 25073, + "ĠInterest": 25074, + "imos": 25075, + "Ġgrants": 25076, + "083": 25077, + "Ġexamined": 25078, + "ÐĶ": 25079, + "Ġcf": 25080, + "forge": 25081, + "backs": 25082, + "ĠObjects": 25083, + "_sent": 25084, + ".entry": 25085, + "ĠTHEN": 25086, + "ellido": 25087, + "cia": 25088, + ",res": 25089, + "659": 25090, + "681": 25091, + "/stdc": 25092, + ".nd": 25093, + "(Int": 25094, + "ĠAuthors": 25095, + "ĠAppCompatActivity": 25096, + "'{": 25097, + "Ġmedi": 25098, + "Music": 25099, + "igm": 25100, + "ceipt": 25101, + "Ġauss": 25102, + "Ġtargeting": 25103, + "ĠKeys": 25104, + "hn": 25105, + ":]Ċ": 25106, + "Ġmineral": 25107, + "î": 25108, + ".ca": 25109, + "761": 25110, + "omed": 25111, + "Ġsheets": 25112, + "Ġcamb": 25113, + "Ġdeadly": 25114, + ".inject": 25115, + "(unit": 25116, + "ĠSelection": 25117, + ".gms": 25118, + "(connection": 25119, + "Ġ$(\"": 25120, + "émon": 25121, + "ĠCurrently": 25122, + "pte": 25123, + "_paths": 25124, + "847": 25125, + "leaf": 25126, + "Ġimplications": 25127, + "posal": 25128, + "ä½į": 25129, + "[/": 25130, + "ancia": 25131, + "éĽ": 25132, + "mul": 25133, + "cie": 25134, + "Ġgeile": 25135, + "679": 25136, + "imals": 25137, + "UIView": 25138, + "Ġsurre": 25139, + "serialize": 25140, + "ISO": 25141, + "Ġarbitrary": 25142, + "Ġsockaddr": 25143, + ".fn": 25144, + "ĠMerc": 25145, + "Ġcasting": 25146, + "KeyDown": 25147, + "ĠnewValue": 25148, + "opens": 25149, + "717": 25150, + "Todo": 25151, + "Ġflexibility": 25152, + "ĉĉĉĉĠĠ": 25153, + "Velocity": 25154, + "ún": 25155, + "rowing": 25156, + "Ġcomputed": 25157, + "`)Ċ": 25158, + "statement": 25159, + "Ġri": 25160, + "_cart": 25161, + "Low": 25162, + "transfer": 25163, + ".nav": 25164, + "Ġgrave": 25165, + "ĠDoor": 25166, + "ĉalert": 25167, + "691": 25168, + "698": 25169, + ".subscribe": 25170, + "-profile": 25171, + "ĉbase": 25172, + "ĠâĪĴ": 25173, + "__ĊĊ": 25174, + "Ġengineers": 25175, + "Ġexplosion": 25176, + "Ġdari": 25177, + "682": 25178, + "ĉLog": 25179, + "onal": 25180, + "Ġisolated": 25181, + "{i": 25182, + "ĠMsg": 25183, + "Future": 25184, + "Ġracist": 25185, + "-wrap": 25186, + "ĠVers": 25187, + "borg": 25188, + "ISION": 25189, + "ĠÑĢаÐ": 25190, + "ĠYan": 25191, + "836": 25192, + "initWith": 25193, + "Ġnomin": 25194, + "(empty": 25195, + "ÃŃn": 25196, + "ãĤ¤": 25197, + "ĉwidth": 25198, + "Ġchamber": 25199, + "/ajax": 25200, + "EMP": 25201, + "093": 25202, + "Ġneces": 25203, + "ivos": 25204, + "logic": 25205, + "*)&": 25206, + "cripts": 25207, + "976": 25208, + "RowAt": 25209, + "053": 25210, + "iblings": 25211, + "Ġears": 25212, + "Ġcomputing": 25213, + "Ġmaker": 25214, + "ĠNeither": 25215, + "breadcrumb": 25216, + "Ġserialize": 25217, + "ĠWithin": 25218, + "Ġdell": 25219, + "_TRACE": 25220, + "092": 25221, + "=a": 25222, + "Ġwishes": 25223, + "-inch": 25224, + "ĠDor": 25225, + "Ġinnocent": 25226, + "ĠDol": 25227, + "Ġintens": 25228, + "forced": 25229, + "054": 25230, + "ĠBIT": 25231, + "Ġphotographs": 25232, + "Ġcasa": 25233, + "ĠLen": 25234, + "\\Framework": 25235, + ".Simple": 25236, + "Ġdear": 25237, + "895": 25238, + ")/(": 25239, + "ippi": 25240, + "Ġowns": 25241, + "Players": 25242, + "Ġproposals": 25243, + ".pi": 25244, + "usalem": 25245, + "Damage": 25246, + "Ġcalories": 25247, + "ĠCreative": 25248, + "Ġ[$": 25249, + "Ġ//čĊ": 25250, + "786": 25251, + "AndView": 25252, + "ème": 25253, + ".custom": 25254, + "_factory": 25255, + "commands": 25256, + "_look": 25257, + "Ġstrcmp": 25258, + "YN": 25259, + "aired": 25260, + "Ġaudit": 25261, + "оÑģÑĤ": 25262, + "ĠReverse": 25263, + "ropriate": 25264, + "etics": 25265, + "';Ċ": 25348, + "Ġpepper": 25349, + "989": 25350, + "Ġshed": 25351, + "ĠMedium": 25352, + "ĠCookie": 25353, + "889": 25354, + "Ġoverseas": 25355, + "edor": 25356, + "asurement": 25357, + "766": 25358, + "åŃĺ": 25359, + "Ġ'.'": 25360, + "Ġphp": 25361, + "ĠPROC": 25362, + "Ġexceptional": 25363, + "(th": 25364, + "ĠJet": 25365, + "Ġoccupied": 25366, + ".setImage": 25367, + "ĠRelated": 25368, + "ucker": 25369, + "Members": 25370, + "PRINT": 25371, + "ĠGlo": 25372, + "_VIEW": 25373, + "}\",Ċ": 25374, + "Ġadoption": 25375, + "[])Ċ": 25376, + "842": 25377, + "ĠMissouri": 25378, + "ĠLincoln": 25379, + "erald": 25380, + "Popup": 25381, + "Ġfate": 25382, + "-bootstrap": 25383, + "fections": 25384, + "ĠPoll": 25385, + "_ARGS": 25386, + "inance": 25387, + "697": 25388, + "-home": 25389, + ".),": 25390, + "_done": 25391, + "694": 25392, + ":ĊĊĊ": 25393, + "Ġdiscussing": 25394, + "ĠSQLException": 25395, + "Ġelectro": 25396, + "ĉreq": 25397, + "Ġzw": 25398, + "886": 25399, + "Ġlui": 25400, + "932": 25401, + "Ġovernight": 25402, + "$user": 25403, + "ĠWAY": 25404, + "Ġallerg": 25405, + "Ġdisappointed": 25406, + "Ġradiation": 25407, + "Ġimpressed": 25408, + "ificates": 25409, + "Ġtob": 25410, + "CLASS": 25411, + "Ġcuda": 25412, + "_det": 25413, + "-post": 25414, + "ulu": 25415, + "Translation": 25416, + "-hand": 25417, + ".year": 25418, + "ĠMongo": 25419, + "Ġunclear": 25420, + ".engine": 25421, + "WEBPACK": 25422, + "rices": 25423, + "_ACCESS": 25424, + "Ġholidays": 25425, + "percent": 25426, + ".Identity": 25427, + "ĠGov": 25428, + "Ġpassionate": 25429, + "!!.": 25430, + "ĠGreece": 25431, + "plusplus": 25432, + "'));": 25433, + "GP": 25434, + "Ġexcit": 25435, + ".tabPage": 25436, + "_cond": 25437, + "Ġsponsor": 25438, + "MODULE": 25439, + "_proc": 25440, + "Ġ$Ċ": 25441, + "Ġrational": 25442, + ".Tool": 25443, + "Ġihr": 25444, + "cca": 25445, + "åĵģ": 25446, + "ĠEstate": 25447, + "IBUTE": 25448, + "ActionPerformed": 25449, + "ĠSolar": 25450, + "¦Ĥ": 25451, + "Ġequity": 25452, + "tid": 25453, + "938": 25454, + "Ġrecip": 25455, + ".simple": 25456, + "mk": 25457, + "689": 25458, + "ĠLuke": 25459, + "ĠGuardian": 25460, + "Ġencrypted": 25461, + "Ġdominant": 25462, + ".place": 25463, + "ĠNV": 25464, + "839": 25465, + "Ġtongue": 25466, + "(Get": 25467, + "Ġstainless": 25468, + ".Play": 25469, + "Ġeb": 25470, + "aci": 25471, + ".buffer": 25472, + "readcrumbs": 25473, + "Ġvaccine": 25474, + "prom": 25475, + "979": 25476, + "ĠuserInfo": 25477, + "Ġslug": 25478, + "SerializedName": 25479, + "-wide": 25480, + "Ġreactions": 25481, + "ĠYang": 25482, + "ĠAdds": 25483, + "(userId": 25484, + "Ġplates": 25485, + "ĠMEM": 25486, + "Ġbail": 25487, + "Inside": 25488, + "eted": 25489, + "Ġelsif": 25490, + "Ġsake": 25491, + "Ġcycles": 25492, + "ĠìĹ": 25493, + "ĉI": 25494, + "-collapse": 25495, + "841": 25496, + "ĠGMT": 25497, + "814": 25498, + "Declaration": 25499, + "Ġgros": 25500, + "Ġreaches": 25501, + "Ġcustody": 25502, + "Until": 25503, + "753": 25504, + "856": 25505, + "tu": 25506, + "ĠChen": 25507, + "Ġnx": 25508, + "(addr": 25509, + "ĠOffer": 25510, + "Ġcolleg": 25511, + "assador": 25512, + "674": 25513, + "Ġmapper": 25514, + "854": 25515, + "ĠSIGNAL": 25516, + "ĠBloom": 25517, + "ĠHoll": 25518, + "ĠImper": 25519, + "-des": 25520, + "_site": 25521, + "Proc": 25522, + "Equ": 25523, + "Ġatomic": 25524, + "ĠWoman": 25525, + "sent": 25526, + "738": 25527, + "817": 25528, + "scar": 25529, + "Ġintelligent": 25530, + "ĠGetting": 25531, + "ĠRegistration": 25532, + "ĠPhill": 25533, + "Ġkiller": 25534, + "unicode": 25535, + "ĊĉĉĊ": 25536, + "ĠJacob": 25537, + "ĠConst": 25538, + "Ġlocate": 25539, + "Ġcaus": 25540, + "749": 25541, + "ĠScholar": 25542, + "Ġconstitutional": 25543, + "Ġinflation": 25544, + "ĠGot": 25545, + "=array": 25546, + "endum": 25547, + "Ġtranslated": 25548, + "Ġdivorce": 25549, + "Entries": 25550, + "Ġsor": 25551, + "ĠQuote": 25552, + "irlines": 25553, + "UK": 25554, + "Ġexcel": 25555, + "(opt": 25556, + "ĠADV": 25557, + ",:,": 25558, + "Ġcontacted": 25559, + "742": 25560, + "ĠDA": 25561, + "Ġrings": 25562, + "ĠIndustrial": 25563, + ".getContext": 25564, + "Ġforgotten": 25565, + "ĠTan": 25566, + "Ġpants": 25567, + "Ġov": 25568, + "Ġdecoder": 25569, + "ĠPartial": 25570, + "Ġvc": 25571, + "Ġbattles": 25572, + "Arial": 25573, + "FRINGEMENT": 25574, + "irates": 25575, + ",w": 25576, + "aintenance": 25577, + "ĠOd": 25578, + "ĠTechnologies": 25579, + "åīį": 25580, + "ĠCarter": 25581, + ".findAll": 25582, + "Nome": 25583, + "Ben": 25584, + "ĠUsage": 25585, + "ĠPicture": 25586, + "Ġbadly": 25587, + "_panel": 25588, + "Ġpatent": 25589, + "ĠProtocol": 25590, + "lotte": 25591, + "ĉplayer": 25592, + "jections": 25593, + "746": 25594, + "Ġdou": 25595, + "_release": 25596, + "urniture": 25597, + "_tax": 25598, + "ĠFields": 25599, + ".dataset": 25600, + "_master": 25601, + "CLUDE": 25602, + "ĠPharm": 25603, + "bst": 25604, + "Ġoperational": 25605, + ".cell": 25606, + "Ġidentifying": 25607, + "Ġjwt": 25608, + "tuple": 25609, + "ĠTC": 25610, + "ĠCro": 25611, + "936": 25612, + "ixmap": 25613, + "-components": 25614, + "general": 25615, + "Ġoz": 25616, + "_De": 25617, + "_double": 25618, + "ĠToo": 25619, + "088": 25620, + ".ViewGroup": 25621, + "879": 25622, + "gate": 25623, + "dings": 25624, + "photos": 25625, + "Ġgrande": 25626, + "ollect": 25627, + "_lin": 25628, + "Ġawful": 25629, + "filters": 25630, + "Ġalternate": 25631, + "esp": 25632, + "Ġcompress": 25633, + "eo": 25634, + "ĠScale": 25635, + "Ġindirect": 25636, + "Ġinvoice": 25637, + "ĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊ": 25638, + "Starting": 25639, + "ĠPlayers": 25640, + "iele": 25641, + ".then": 25642, + "981": 25643, + "Ord": 25644, + "ĠTuple": 25645, + "Ġbout": 25646, + "ĠStatistics": 25647, + "Preview": 25648, + "Ġpuzzle": 25649, + "ĠWidth": 25650, + "STATE": 25651, + "Ġoverlay": 25652, + "ĉon": 25653, + "Ġinfr": 25654, + "Ġsmallest": 25655, + "locked": 25656, + "ÑĤо": 25657, + "ssl": 25658, + "779": 25659, + "Ġdeemed": 25660, + "Ġsco": 25661, + "reck": 25662, + "ĠjButton": 25663, + "Ġmissions": 25664, + "871": 25665, + "ç§°": 25666, + ".SelectedIndex": 25667, + "TABLE": 25668, + "Sept": 25669, + "Ġacknowledge": 25670, + "Ġstrtotime": 25671, + "ĠTell": 25672, + "ĠDak": 25673, + "Ġaluminum": 25674, + "Ġfence": 25675, + "ĠStars": 25676, + "CONFIG": 25677, + "Ġretrofit": 25678, + "Ġemphasis": 25679, + "/header": 25680, + "ĠSomething": 25681, + "inished": 25682, + "='\".$": 25683, + "ĠValidators": 25684, + "Ġpolar": 25685, + "sections": 25686, + "944": 25687, + ".aspx": 25688, + "Ġaspir": 25689, + ".Mock": 25690, + "CodeGen": 25691, + "Ġpeut": 25692, + "971": 25693, + "Ġaccepting": 25694, + "Ġbacking": 25695, + "Picture": 25696, + "/ap": 25697, + "ег": 25698, + "_SEC": 25699, + "-use": 25700, + "annotation": 25701, + "Ġcognitive": 25702, + "Ġgrip": 25703, + "hour": 25704, + "ĠLegal": 25705, + "Ġepic": 25706, + ".toolStrip": 25707, + ".notify": 25708, + ".Last": 25709, + "ORIZ": 25710, + "Middleware": 25711, + "criptions": 25712, + "lash": 25713, + "_FOUND": 25714, + "ĠLiverpool": 25715, + "Ġ{}\",": 25716, + "931": 25717, + "Install": 25718, + "Ġnit": 25719, + "Ġfigured": 25720, + "[len": 25721, + ".Win": 25722, + ".platform": 25723, + "853": 25724, + "Ġgambling": 25725, + "(dt": 25726, + "avery": 25727, + "ĉinclude": 25728, + "Whether": 25729, + "Routing": 25730, + "Ġtherap": 25731, + "Remote": 25732, + "ĠLoss": 25733, + "yll": 25734, + "Ġapproached": 25735, + "ĠVehicle": 25736, + "ĠAlpha": 25737, + "Ġvocê": 25738, + "answers": 25739, + "NSDictionary": 25740, + "954": 25741, + "consider": 25742, + "unused": 25743, + "ĠFan": 25744, + "orable": 25745, + "fre": 25746, + "873": 25747, + "ĠDISCLAIM": 25748, + "ĠActor": 25749, + ".]": 25750, + "toHave": 25751, + ".userId": 25752, + "Ġspeeds": 25753, + "eway": 25754, + "Ġrecurs": 25755, + "Ġг": 25756, + "_priv": 25757, + "!âĢĿĊĊ": 25758, + "Choice": 25759, + "Ġsettle": 25760, + "Ġplanes": 25761, + "'},": 25762, + "Tom": 25763, + "ITER": 25764, + "!\"Ċ": 25765, + "å»": 25766, + "achelor": 25767, + "Ġseparation": 25768, + "Ġdal": 25769, + "adj": 25770, + "Ġregisters": 25771, + "riz": 25772, + "ĠNotice": 25773, + "Ġlu": 25774, + "Ġcourage": 25775, + "Ġaxes": 25776, + "cellent": 25777, + ".async": 25778, + "073": 25779, + "Ġcompatibility": 25780, + "ç«": 25781, + "Ġ!ĊĊ": 25782, + "ĉtitle": 25783, + "YLE": 25784, + "ĉmessage": 25785, + "UUID": 25786, + "OLDER": 25787, + "ĠHH": 25788, + "ĠStyleSheet": 25789, + "Ġaccessed": 25790, + ".validation": 25791, + "tasks": 25792, + "Ġpollution": 25793, + ".canvas": 25794, + "Ġingredient": 25795, + "ĠCabin": 25796, + "Ah": 25797, + "oldown": 25798, + "ĠNOI": 25799, + "ĠÃĹ": 25800, + "[f": 25801, + "educ": 25802, + "yalty": 25803, + "(not": 25804, + "_State": 25805, + "933": 25806, + "amen": 25807, + "795": 25808, + "739": 25809, + "Ġdao": 25810, + "udad": 25811, + "ellers": 25812, + "}&": 25813, + "licity": 25814, + "_WINDOW": 25815, + "Ġtatto": 25816, + "valor": 25817, + ".Range": 25818, + "Ġreferenced": 25819, + "ĠReserve": 25820, + "Money": 25821, + "874": 25822, + "SCRIPT": 25823, + "/product": 25824, + "choices": 25825, + "Ġtin": 25826, + "ãĤĵ": 25827, + "918": 25828, + "Ġseparator": 25829, + "Ġpkg": 25830, + "ammed": 25831, + "ĠMAT": 25832, + "!!ĊĊ": 25833, + "Ġraid": 25834, + "Ġmotivation": 25835, + "ĠXP": 25836, + "ĠBackground": 25837, + "ĠQuaternion": 25838, + ".defineProperty": 25839, + "iker": 25840, + "ĉparent": 25841, + "ĠOriginally": 25842, + "antage": 25843, + "ĠHans": 25844, + "Ġtimeline": 25845, + ".cur": 25846, + "opic": 25847, + "ĠSequ": 25848, + "must": 25849, + "ĠCoal": 25850, + "Ġformatter": 25851, + "_RGB": 25852, + "Ġ_(\"": 25853, + "'}),Ċ": 25854, + "Ġ=================": 25855, + "ĠFUNCTION": 25856, + "Ġlng": 25857, + "icates": 25858, + "live": 25859, + "_engine": 25860, + "Ġtowns": 25861, + "868": 25862, + "'))ĊĊ": 25863, + "ĠPK": 25864, + "(api": 25865, + "ĉscanf": 25866, + "089": 25867, + "packet": 25868, + ".phone": 25869, + "áĢ": 25870, + "ĠAndy": 25871, + "_NAMES": 25872, + "982": 25873, + "PLY": 25874, + "955": 25875, + "Ġmins": 25876, + "imi": 25877, + "Ġbrick": 25878, + "Ġblade": 25879, + ".stdout": 25880, + "}`;Ċ": 25881, + "Shift": 25882, + "ĉsb": 25883, + "ĠChecks": 25884, + "Ġphenomenon": 25885, + "Avatar": 25886, + "Ġministry": 25887, + "rose": 25888, + "ĉFile": 25889, + "878": 25890, + "Ġtitled": 25891, + "(LOG": 25892, + "Ġgan": 25893, + "design": 25894, + "(),čĊ": 25895, + "Ġbones": 25896, + "stm": 25897, + "ÅĽÄĩ": 25898, + "ĠInputStream": 25899, + "Ġvolunt": 25900, + "ĠSerializable": 25901, + "Ġfighter": 25902, + "ĠDrag": 25903, + "Twitter": 25904, + "Ġsubsid": 25905, + "ç¼": 25906, + "Ġforums": 25907, + ".loading": 25908, + "logged": 25909, + "_this": 25910, + "Ġterrain": 25911, + "Ġirre": 25912, + "ĠIng": 25913, + "ĠCN": 25914, + "_objects": 25915, + ".uid": 25916, + "Ġconsciousness": 25917, + "TINGS": 25918, + "ĠGall": 25919, + "Ġportray": 25920, + "056": 25921, + "ĠDeveloper": 25922, + "Ġparticipant": 25923, + "Ġ\";čĊ": 25924, + "/model": 25925, + "794": 25926, + "ĠOperations": 25927, + "^\\": 25928, + "ĠLater": 25929, + "Ġraises": 25930, + "-none": 25931, + ".meta": 25932, + "='.$": 25933, + "Finished": 25934, + "Ġreplacing": 25935, + "Ġsampling": 25936, + "ĠJen": 25937, + "\"There": 25938, + "REAL": 25939, + "ALE": 25940, + "ìĬ¤": 25941, + "Orders": 25942, + "_parameter": 25943, + "ĠOlympic": 25944, + "Ġtrès": 25945, + "Ġarena": 25946, + "iol": 25947, + ";?>": 25948, + "Ġimpacts": 25949, + "ĠWS": 25950, + ":get": 25951, + "Ġflights": 25952, + "ĠRussell": 25953, + "camera": 25954, + "Fn": 25955, + "sigma": 25956, + "Ġforcing": 25957, + "Ġlocals": 25958, + "Ġdeparture": 25959, + "Ġcelebration": 25960, + "ĠSay": 25961, + "884": 25962, + "ï¼Ĵ": 25963, + "ĠHills": 25964, + ".hasOwnProperty": 25965, + "Ġtypings": 25966, + ".API": 25967, + "Ġdonation": 25968, + "OperationException": 25969, + ".Activity": 25970, + "cplusplus": 25971, + "ĠCharlie": 25972, + "Ġimported": 25973, + "Ġdann": 25974, + "Ġoccasions": 25975, + "Ġimplementing": 25976, + "Ġpurple": 25977, + ".dialog": 25978, + "SQLException": 25979, + "erno": 25980, + "Ġwars": 25981, + "Ġpaste": 25982, + "Ġdecreased": 25983, + "Ġharsh": 25984, + "Ġelabor": 25985, + "inputs": 25986, + "ĠViews": 25987, + "ĠerrorMessage": 25988, + "_mul": 25989, + "ĉwrite": 25990, + "ĠCop": 25991, + "ĠAnnual": 25992, + "(button": 25993, + "Ġvida": 25994, + "bars": 25995, + "ĠHarvard": 25996, + "ĉexpect": 25997, + "Ġindexes": 25998, + "Ġdocumentary": 25999, + "Ġflesh": 26000, + "ORLD": 26001, + "ĠDelta": 26002, + "MAND": 26003, + "Brush": 26004, + "-column": 26005, + "Ġdevelopments": 26006, + "974": 26007, + "783": 26008, + "methodVisitor": 26009, + "slice": 26010, + "ĠPDO": 26011, + "Ġinvesting": 26012, + "867": 26013, + "irable": 26014, + "Ġxmlns": 26015, + "ï¼Ľ": 26016, + "arta": 26017, + "Ġtheories": 26018, + "_city": 26019, + "Ġ$__": 26020, + "Creating": 26021, + "(pr": 26022, + "Dropdown": 26023, + "ismatch": 26024, + "ĠNET": 26025, + "926": 26026, + "'])){Ċ": 26027, + "ĠValues": 26028, + "ĠSEO": 26029, + "ĠSTAT": 26030, + "Ġecosystem": 26031, + "Ġtempt": 26032, + "Ġ\\\\": 26033, + "Ġ//{Ċ": 26034, + "ĠChristopher": 26035, + "ĠKentucky": 26036, + "ĠHttpServletResponse": 26037, + "Ġhybrid": 26038, + "yon": 26039, + "Ġfeeding": 26040, + "ĠExtra": 26041, + "Norm": 26042, + "ITCH": 26043, + "ĠSean": 26044, + "ĠUpload": 26045, + "mun": 26046, + "pur": 26047, + "Ġpersistent": 26048, + "ĠIDC": 26049, + "ĠPerform": 26050, + "863": 26051, + ".merge": 26052, + "_room": 26053, + "Meanwhile": 26054, + "!='": 26055, + "ĠWel": 26056, + "ArgsConstructor": 26057, + "887": 26058, + ".Database": 26059, + "Ġcounting": 26060, + "()*": 26061, + "ĶåĽŀ": 26062, + "ĠTOP": 26063, + "mill": 26064, + "ĠDT": 26065, + "IGNED": 26066, + "956": 26067, + "ĠKB": 26068, + "Ġcomply": 26069, + "South": 26070, + "_collection": 26071, + "Chapter": 26072, + "Ġexplaining": 26073, + "_AM": 26074, + "_ts": 26075, + "cards": 26076, + "Ġquel": 26077, + "Ġpole": 26078, + "Ġtouchdown": 26079, + "ĠOthers": 26080, + "Ġpeers": 26081, + "ĠTypeError": 26082, + "763": 26083, + "Ġsixth": 26084, + "Ġcheer": 26085, + "Ġdispute": 26086, + "963": 26087, + "893": 26088, + "usc": 26089, + ")],": 26090, + "thumb": 26091, + "Ġhiding": 26092, + "ĠSIG": 26093, + "likes": 26094, + "ĠPAGE": 26095, + ".Reflection": 26096, + "Ġheadquarters": 26097, + "TING": 26098, + "ĠGhost": 26099, + "MLE": 26100, + "$Ċ": 26101, + "Ġcontrary": 26102, + "extend": 26103, + "']).": 26104, + "FFECT": 26105, + "ĠPinterest": 26106, + "úmero": 26107, + "ricane": 26108, + "ĉsession": 26109, + "Ġcrystal": 26110, + "-Control": 26111, + "overnment": 26112, + "ograf": 26113, + "961": 26114, + "-action": 26115, + "volume": 26116, + "ften": 26117, + "Ġuncon": 26118, + "Ġanimate": 26119, + "Ġlease": 26120, + "scr": 26121, + "Ġrefuse": 26122, + "ãĢĭ": 26123, + "ftp": 26124, + "information": 26125, + "Ġevaluated": 26126, + "Ġinjection": 26127, + "Ġjack": 26128, + "Ġworkshop": 26129, + "注": 26130, + "PTH": 26131, + "ĠTs": 26132, + "offer": 26133, + "ĉos": 26134, + "Ġkingdom": 26135, + "Missing": 26136, + "Ġlawmakers": 26137, + "extField": 26138, + "Ġsinging": 26139, + "abi": 26140, + "/client": 26141, + ".media": 26142, + "ATEGORY": 26143, + "Signature": 26144, + "%',Ċ": 26145, + "ĠFuck": 26146, + "][:": 26147, + "Ġsensors": 26148, + "/com": 26149, + "ĠPrimary": 26150, + ".SQL": 26151, + "_program": 26152, + "Ġpills": 26153, + "Ġintegral": 26154, + "Ġfleet": 26155, + "Ġdropping": 26156, + ".sl": 26157, + "Been": 26158, + "Ġpets": 26159, + "Ġadvised": 26160, + "Ġdragon": 26161, + "_EDIT": 26162, + "(im": 26163, + "939": 26164, + "FER": 26165, + "ĠDrug": 26166, + "(random": 26167, + "Ġcompression": 26168, + "oust": 26169, + "[%": 26170, + "Ġbuyer": 26171, + "hop": 26172, + "Roles": 26173, + "manage": 26174, + "Ġpainful": 26175, + "ĠBranch": 26176, + "-modal": 26177, + "enant": 26178, + "ĠMesh": 26179, + "/font": 26180, + "ĠGraham": 26181, + "Ġâĺ": 26182, + "Ġnc": 26183, + "ĠFrancis": 26184, + "Ġspecification": 26185, + "Ġdamages": 26186, + "-config": 26187, + "Ġtheoret": 26188, + "secure": 26189, + "_multi": 26190, + "aceutical": 26191, + "Ġdemanding": 26192, + "enne": 26193, + "ISTS": 26194, + "094": 26195, + "()));ĊĊ": 26196, + "Reason": 26197, + "Recent": 26198, + "phase": 26199, + "Ġpsy": 26200, + "_MAN": 26201, + "Ġvolunteer": 26202, + "å¿": 26203, + "istributed": 26204, + "lio": 26205, + "Ġproductivity": 26206, + "_comm": 26207, + "Spring": 26208, + "nis": 26209, + ".weight": 26210, + "ĠCancer": 26211, + "Alloc": 26212, + "ĠTweet": 26213, + "Ġseparately": 26214, + "ĉcheck": 26215, + "_properties": 26216, + ".Unit": 26217, + "829": 26218, + "_CLK": 26219, + "Ġgt": 26220, + "Ġ();ĊĊ": 26221, + "Ġhandy": 26222, + "834": 26223, + "ĠThompson": 26224, + "Ġunnecessary": 26225, + "ĠReader": 26226, + "894": 26227, + "GN": 26228, + "=request": 26229, + "ĠUtility": 26230, + ".Repository": 26231, + "ĠAx": 26232, + "hydr": 26233, + "791": 26234, + "ieu": 26235, + "Ġthy": 26236, + "Ġlt": 26237, + "_mail": 26238, + "ä¿®æĶ¹": 26239, + "ailand": 26240, + "ĠPhilip": 26241, + "Ġbitter": 26242, + "Ġbetting": 26243, + "837": 26244, + "Ġtimed": 26245, + "ocks": 26246, + "076": 26247, + "'a": 26248, + "Ġalgorithms": 26249, + "Ġreinterpret": 26250, + "Ġtoss": 26251, + "rogen": 26252, + "Ġhoped": 26253, + "(selected": 26254, + "Ġventure": 26255, + "TEX": 26256, + "ĠLeave": 26257, + ".Substring": 26258, + "Ġgrateful": 26259, + "743": 26260, + "uka": 26261, + "ĠConsumer": 26262, + "Ġaggreg": 26263, + "Circle": 26264, + "à¸ģ": 26265, + "_blocks": 26266, + "Ġlegally": 26267, + "Ġ\"|": 26268, + "ãĥĥ": 26269, + ".board": 26270, + ".Ab": 26271, + "Functions": 26272, + "recipe": 26273, + "èĩ": 26274, + "ĠOxford": 26275, + "Ġwholes": 26276, + ".Build": 26277, + "_changed": 26278, + "hai": 26279, + "Ġdepartments": 26280, + "964": 26281, + "Imp": 26282, + "Ġcoalition": 26283, + "INFRINGEMENT": 26284, + "Ġempower": 26285, + "itches": 26286, + "North": 26287, + "Ġinflamm": 26288, + "ONSE": 26289, + "Ġmissile": 26290, + "ĠRaj": 26291, + "ĠIssue": 26292, + "Ġatoi": 26293, + "caled": 26294, + ".Controllers": 26295, + "ĠWolf": 26296, + "Ġcrushers": 26297, + "á»ĩ": 26298, + ".Auth": 26299, + ".addAttribute": 26300, + "his": 26301, + "Ġboots": 26302, + ".clean": 26303, + "camp": 26304, + "Ġtenant": 26305, + "Ġtune": 26306, + "Ġ{}'.": 26307, + "Ġworkout": 26308, + "Repo": 26309, + "Ġpartially": 26310, + "MISSION": 26311, + "jamin": 26312, + "ĠSB": 26313, + "Ġdetermination": 26314, + "Ġ'');Ċ": 26315, + "ĠBeng": 26316, + "Ġvos": 26317, + "Ġinhab": 26318, + "/lang": 26319, + "sburgh": 26320, + "Executor": 26321, + "hone": 26322, + "ĠChallenge": 26323, + "_links": 26324, + ".Level": 26325, + "Ġunderground": 26326, + "-code": 26327, + "959": 26328, + "Ġoptimization": 26329, + "logging": 26330, + "_dest": 26331, + "Ġsnake": 26332, + "Ġchemicals": 26333, + "_IMPORTED": 26334, + "adoop": 26335, + "ĠTHAT": 26336, + "managed": 26337, + "Ġreduces": 26338, + "ĠREAL": 26339, + "ĠGuy": 26340, + "_GENERIC": 26341, + "/********************************": 26342, + ".amount": 26343, + "Ġdere": 26344, + "getTime": 26345, + "Ġpant": 26346, + "anonymous": 26347, + "Ġharmony": 26348, + "ĠAlan": 26349, + "Ġscenarios": 26350, + "Ġdirt": 26351, + "htags": 26352, + "Mc": 26353, + "Shell": 26354, + "rin": 26355, + "{čĊčĊ": 26356, + ".pow": 26357, + "ĉclient": 26358, + "Ġconspiracy": 26359, + "Ġadmission": 26360, + "ĠRegional": 26361, + "ĠViewController": 26362, + "ĠPhilippines": 26363, + "Ġdepos": 26364, + "Ġpap": 26365, + "962": 26366, + "ĠPad": 26367, + "Paul": 26368, + ".ComboBox": 26369, + "Ġtutor": 26370, + "ĠRecipe": 26371, + "writing": 26372, + "Ġcontributor": 26373, + "OTH": 26374, + "Small": 26375, + "VI": 26376, + "Ġhacer": 26377, + "equ": 26378, + "ĠExamples": 26379, + "human": 26380, + ".messages": 26381, + "ĉtyp": 26382, + "Ġ(čĊ": 26383, + "ĠSSL": 26384, + "LEN": 26385, + "ĠRomney": 26386, + "(grid": 26387, + "ĉmin": 26388, + "Ġ>ĊĊ": 26389, + "Ġfruits": 26390, + "Ġvoter": 26391, + "Inline": 26392, + "pane": 26393, + "ĠCollections": 26394, + "charset": 26395, + "Ġspam": 26396, + "zb": 26397, + "itemap": 26398, + "Ġsucceeded": 26399, + "_COL": 26400, + "Ġelapsed": 26401, + "imeter": 26402, + "Ġrecovered": 26403, + "Tensor": 26404, + "hattan": 26405, + ".setup": 26406, + "isto": 26407, + "(head": 26408, + "977": 26409, + "ĠSIZE": 26410, + "Ġtactics": 26411, + "Ġdistur": 26412, + "Ġpreval": 26413, + "icios": 26414, + "(Value": 26415, + "_cols": 26416, + "ĠFat": 26417, + "Ġseal": 26418, + "Ġsons": 26419, + "Ġensures": 26420, + "095": 26421, + "Ġpressing": 26422, + "=&": 26423, + "igenous": 26424, + "Ġharassment": 26425, + "_JSON": 26426, + "Ġignor": 26427, + "ynomial": 26428, + "omer": 26429, + "_static": 26430, + "Ġsignificance": 26431, + "Ġcircles": 26432, + "_System": 26433, + "Ġdiscipline": 26434, + "Ġdressed": 26435, + "Ġsphere": 26436, + "927": 26437, + "Ġclimb": 26438, + "759": 26439, + "_actions": 26440, + "ĠBab": 26441, + "Ġ'=',": 26442, + "_schema": 26443, + "\"use": 26444, + "Ġunders": 26445, + "Ġcups": 26446, + ".screen": 26447, + "/new": 26448, + "Ġappearing": 26449, + "TOP": 26450, + "vised": 26451, + "clang": 26452, + "Ġinvestigators": 26453, + "Ġmysterious": 26454, + "Ġpromising": 26455, + "Ġqualify": 26456, + "Ġcave": 26457, + "Ġequip": 26458, + "=x": 26459, + "GT": 26460, + "(link": 26461, + ".velocity": 26462, + ".erase": 26463, + "oter": 26464, + "++++++++": 26465, + "profit": 26466, + "Ġzones": 26467, + "_uid": 26468, + "-ser": 26469, + "Ġobjectives": 26470, + "Ġmilf": 26471, + "webkit": 26472, + "(match": 26473, + "neh": 26474, + "ĠAssociated": 26475, + "ĠTodo": 26476, + "=d": 26477, + "065": 26478, + "Cam": 26479, + "Ġvocal": 26480, + "Ġsudo": 26481, + "(EX": 26482, + "Ġtrou": 26483, + "ABC": 26484, + ".bean": 26485, + "ĠGround": 26486, + "ĠREST": 26487, + "weets": 26488, + "Ing": 26489, + "imon": 26490, + "946": 26491, + "_bus": 26492, + "ĠCOLOR": 26493, + "unto": 26494, + "Ġfoss": 26495, + "ĠLinks": 26496, + "869": 26497, + "äng": 26498, + "/forms": 26499, + "prises": 26500, + "Ġachievement": 26501, + "CALL": 26502, + "елÑĮ": 26503, + "ĠVerify": 26504, + "_SOURCE": 26505, + "aptcha": 26506, + "IDD": 26507, + "_reference": 26508, + "Gold": 26509, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 26510, + "947": 26511, + "Receiver": 26512, + "099": 26513, + "Ġaj": 26514, + "_direction": 26515, + "}]": 26516, + "ĠCompet": 26517, + "Ġbang": 26518, + "798": 26519, + "ĠCass": 26520, + "-url": 26521, + "techn": 26522, + "ĠJerusalem": 26523, + "longitude": 26524, + "');čĊčĊ": 26525, + "Ġwinners": 26526, + "Tasks": 26527, + "ĠDMA": 26528, + "Ġtooltip": 26529, + "İ·": 26530, + "ĠBra": 26531, + "_duration": 26532, + "cury": 26533, + "parents": 26534, + "---->(": 26607, + "ĠKir": 26608, + "Ġintros": 26609, + "Ġsketch": 26610, + "Ġskilled": 26611, + "Ġimmer": 26612, + "Ġadequate": 26613, + "_rep": 26614, + "(header": 26615, + "_like": 26616, + "Ġperceived": 26617, + "ssh": 26618, + "Ġassuming": 26619, + "Ġff": 26620, + "_uuid": 26621, + "ulas": 26622, + "Ġdemocratic": 26623, + ".entities": 26624, + "Series": 26625, + "aphore": 26626, + "Ġnewer": 26627, + "}(": 26628, + "SEC": 26629, + "airo": 26630, + "Ġcommod": 26631, + "Ġprivilege": 26632, + "Ġdeux": 26633, + "ĠHop": 26634, + ".'/": 26635, + "ctic": 26636, + ".';Ċ": 26637, + "C": 26712, + "ĠWarren": 26713, + "Ġoptimizer": 26714, + "ĠSERVICES": 26715, + "_oper": 26716, + "getAttribute": 26717, + "ĠMcK": 26718, + "_self": 26719, + "084": 26720, + ".rs": 26721, + "\")ĊĊĊ": 26722, + "GetComponent": 26723, + "erce": 26724, + "Ġtous": 26725, + "units": 26726, + "']);čĊ": 26727, + "Zoom": 26728, + "/E": 26729, + "Ġobsc": 26730, + "Ġfastest": 26731, + "online": 26732, + "Ġpeaceful": 26733, + "ffen": 26734, + "Ġcargo": 26735, + "ĉpr": 26736, + "Ġseeks": 26737, + "zu": 26738, + "074": 26739, + "Trim": 26740, + "Ġward": 26741, + "Ġverd": 26742, + "Ġblogs": 26743, + ".exceptions": 26744, + "ĠPremium": 26745, + "ĠNetherlands": 26746, + "Safe": 26747, + "Finish": 26748, + "ĠAlbum": 26749, + "_ACC": 26750, + "=this": 26751, + "virtual": 26752, + "]>": 26753, + "_LABEL": 26754, + "ĠNich": 26755, + "_win": 26756, + "ĠAaron": 26757, + "WP": 26758, + ";$": 26759, + "aims": 26760, + "ĠImageView": 26761, + "Ġendless": 26762, + "ERA": 26763, + "_DISABLE": 26764, + "Ġcancelled": 26765, + "-us": 26766, + "Ġinspection": 26767, + "emin": 26768, + "ĠGrey": 26769, + "-open": 26770, + "Ġiterations": 26771, + ".owner": 26772, + "Ġkeras": 26773, + ".Password": 26774, + "ĠRy": 26775, + "ĠINS": 26776, + "Air": 26777, + "ĠSeveral": 26778, + ".TabStop": 26779, + "INGLE": 26780, + "ĠHair": 26781, + "ĠCanvas": 26782, + "AAAA": 26783, + "Ġflaw": 26784, + "cedes": 26785, + ".Report": 26786, + "íĬ": 26787, + "ĠTips": 26788, + "criptors": 26789, + ".transaction": 26790, + ".Spring": 26791, + "Ġviewer": 26792, + "Ġinsights": 26793, + "è¾ĵ": 26794, + "ordion": 26795, + "UINT": 26796, + "seek": 26797, + "ĠAuf": 26798, + "ìŀIJ": 26799, + "Ġstrain": 26800, + "Tooltip": 26801, + "Ġdz": 26802, + "ignal": 26803, + "adt": 26804, + "Ġuc": 26805, + "finite": 26806, + "Ġnm": 26807, + ".cmd": 26808, + "ĠMySql": 26809, + "[data": 26810, + ".jackson": 26811, + ".tree": 26812, + "RequestParam": 26813, + "_agent": 26814, + "\")]čĊ": 26815, + "Ġassass": 26816, + "(Constants": 26817, + ":ss": 26818, + "ĠMAN": 26819, + "+-+-": 26820, + "ĠBottom": 26821, + "prints": 26822, + "ĠSame": 26823, + "@Autowired": 26824, + "swap": 26825, + "ición": 26826, + "Ġprotesters": 26827, + "Ġhoney": 26828, + "ĠVeter": 26829, + "(Calendar": 26830, + "-ad": 26831, + "ĠBrooklyn": 26832, + "Life": 26833, + "_VAR": 26834, + "zech": 26835, + "ĠCALL": 26836, + "_CAST": 26837, + "ĠElection": 26838, + "Ġthickness": 26839, + "Very": 26840, + "_INTEGER": 26841, + "-dev": 26842, + "))))": 26843, + "apat": 26844, + "oooo": 26845, + "demo": 26846, + "ĠparseFloat": 26847, + "ĠRather": 26848, + "STIT": 26849, + "maker": 26850, + "[current": 26851, + "chrono": 26852, + "Ġchrist": 26853, + "ãģª": 26854, + "ĠDetail": 26855, + "ưá»": 26856, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 26857, + "Ġsul": 26858, + "idency": 26859, + "Que": 26860, + "Ġelegant": 26861, + "apons": 26862, + "Ġdishes": 26863, + "Ġintegers": 26864, + "(read": 26865, + "057": 26866, + "findViewById": 26867, + "ĠAmount": 26868, + "ĠSkip": 26869, + "Ġhabits": 26870, + "*)(": 26871, + "Ġmonsters": 26872, + "MAC": 26873, + ":end": 26874, + "Ġfrank": 26875, + "Assembly": 26876, + "Ġdfs": 26877, + "Ġneut": 26878, + "_TYPES": 26879, + "equal": 26880, + "loyd": 26881, + "(uri": 26882, + "Ġchi": 26883, + "Ġdefendant": 26884, + "Ġconflicts": 26885, + "Ġvil": 26886, + "-js": 26887, + "ĠPeace": 26888, + "Ġmutable": 26889, + ")sender": 26890, + "ĠFocus": 26891, + "建": 26892, + "Ġappreciated": 26893, + "sleep": 26894, + "ĠRED": 26895, + "Culture": 26896, + "Ġdesigners": 26897, + "_generator": 26898, + "codes": 26899, + "/ex": 26900, + ".GetValue": 26901, + "umbled": 26902, + ".scalajs": 26903, + "peror": 26904, + "Ġveterans": 26905, + "Ġ})čĊ": 26906, + "Ġunfortunately": 26907, + "_CREATE": 26908, + "Mass": 26909, + "ĠCLAIM": 26910, + "ĠMeet": 26911, + "_support": 26912, + "Bank": 26913, + "().Ċ": 26914, + "Dark": 26915, + "_LOW": 26916, + "ĠMining": 26917, + "ĠOwner": 26918, + "iera": 26919, + "Cliente": 26920, + "Ġencouraging": 26921, + ">S": 26922, + "Ġboyfriend": 26923, + "ĠHalf": 26924, + "ĠACC": 26925, + "Aff": 26926, + "_ar": 26927, + "-life": 26928, + "cx": 26929, + ".JButton": 26930, + "izado": 26931, + ".zero": 26932, + ".openqa": 26933, + "oton": 26934, + ".textContent": 26935, + "Ġtoll": 26936, + "atie": 26937, + "Ġballot": 26938, + "-number": 26939, + ".Exception": 26940, + "ĉparams": 26941, + "circle": 26942, + "-map": 26943, + "Ġnap": 26944, + "ĠRobot": 26945, + "ĠIch": 26946, + "registration": 26947, + "Amazon": 26948, + "rollment": 26949, + "(exp": 26950, + "Ġtanks": 26951, + "ĠGordon": 26952, + "Ġmachinery": 26953, + "Ġbaseline": 26954, + "æĭ": 26955, + "086": 26956, + "Ø©": 26957, + "ĠConvention": 26958, + "ĉconfig": 26959, + "ookies": 26960, + "mult": 26961, + "Records": 26962, + "ĠEST": 26963, + "Ġgarbage": 26964, + "Ġconform": 26965, + "idal": 26966, + "Ġbarg": 26967, + "Ġsurvived": 26968, + "Ġinvestigations": 26969, + "935": 26970, + ".containsKey": 26971, + "--------------------------------------------------------------------------Ċ": 26972, + "ortion": 26973, + "Ġhorr": 26974, + "_http": 26975, + "Ġmant": 26976, + "];čĊčĊ": 26977, + "binary": 26978, + "948": 26979, + "empl": 26980, + "Ġinquiry": 26981, + "ĠMeanwhile": 26982, + "098": 26983, + "Ġcollecting": 26984, + ".EntityFramework": 26985, + "\",ĊĊ": 26986, + "ĠPic": 26987, + "@Inject": 26988, + "ickness": 26989, + "ĠBinding": 26990, + "Ġcontrolling": 26991, + "reverse": 26992, + "Ġchairs": 26993, + "sembled": 26994, + "(add": 26995, + "Disabled": 26996, + "anas": 26997, + ".translate": 26998, + "-----------Ċ": 26999, + "Ġreflected": 27000, + "\"]ĊĊ": 27001, + "External": 27002, + "Arrow": 27003, + "Singleton": 27004, + "%x": 27005, + "ĠÅ": 27006, + "Ġancest": 27007, + "ĠOrleans": 27008, + "ĉcmd": 27009, + "Ġprohibited": 27010, + "ithmetic": 27011, + "(channel": 27012, + "_css": 27013, + "Forward": 27014, + ".socket": 27015, + "Ġluc": 27016, + "âĨ": 27017, + "ĠFirefox": 27018, + "ĠMovies": 27019, + ")_": 27020, + ".ends": 27021, + "(shape": 27022, + "Ġdealt": 27023, + "Ġsaves": 27024, + "Ġglory": 27025, + "Ġmejor": 27026, + "Ġbreathing": 27027, + "Ġeller": 27028, + "getData": 27029, + "Ġangles": 27030, + "Ġtoolbar": 27031, + "Ġspacing": 27032, + "059": 27033, + "IPS": 27034, + "Ġfloors": 27035, + "_ACTIVE": 27036, + "Ġshuffle": 27037, + "/shared": 27038, + "ĠEle": 27039, + "edish": 27040, + "Ġwebcam": 27041, + ".expect": 27042, + "iloc": 27043, + "ĠIncludes": 27044, + "Ġtweeted": 27045, + "Ġ:)": 27046, + "ĠEssay": 27047, + "Fix": 27048, + "-between": 27049, + "_web": 27050, + ".conv": 27051, + "Ġracism": 27052, + "Ġreflects": 27053, + "umm": 27054, + "иÑĤе": 27055, + "_footer": 27056, + "/docs": 27057, + "ĠPour": 27058, + "NgModule": 27059, + ".initialize": 27060, + "patterns": 27061, + "_In": 27062, + "ĠAbb": 27063, + "*čĊ": 27064, + "Ġsentiment": 27065, + "buff": 27066, + "_counts": 27067, + "Ġreuse": 27068, + "chunk": 27069, + "Ġimposed": 27070, + "PrimaryKey": 27071, + "Foreground": 27072, + "Ġconsumed": 27073, + "?!": 27074, + "Ġdick": 27075, + "Ġchron": 27076, + "ĠFern": 27077, + "Ġresponsive": 27078, + "958": 27079, + "Ġinsect": 27080, + "iculty": 27081, + "Ġrw": 27082, + "Ġalike": 27083, + "Ġsubset": 27084, + "ĠCookies": 27085, + "ĠPair": 27086, + "Ġtier": 27087, + "IFO": 27088, + "avour": 27089, + "ĠQU": 27090, + ",sizeof": 27091, + "Ġmerged": 27092, + "mv": 27093, + "itol": 27094, + "ylon": 27095, + "Ġjumped": 27096, + ".role": 27097, + "ensaje": 27098, + "Rules": 27099, + "Ġbrowse": 27100, + "Animator": 27101, + "Ġyoga": 27102, + "Ġvariants": 27103, + "Ġcourtesy": 27104, + "uran": 27105, + "pbs": 27106, + "elseif": 27107, + "Alt": 27108, + "ĠLane": 27109, + "CLK": 27110, + "IMARY": 27111, + "_PROPERTY": 27112, + "ï¼IJ": 27113, + "Ġchan": 27114, + "Ġgradually": 27115, + "Ġshake": 27116, + "Ġblonde": 27117, + "...\");Ċ": 27118, + "-sex": 27119, + "Ġgameplay": 27120, + "acies": 27121, + ".refresh": 27122, + "USB": 27123, + "ĠPlot": 27124, + "Was": 27125, + "issippi": 27126, + "ĠTensor": 27127, + "Ġcryptocurrency": 27128, + "Ġdifficulties": 27129, + "Deleted": 27130, + "Without": 27131, + "_append": 27132, + "_ver": 27133, + "967": 27134, + "\"))čĊ": 27135, + "Ġhonestly": 27136, + "Ġpivot": 27137, + "Ġtemps": 27138, + "_ps": 27139, + "ĠUnlike": 27140, + "[:-": 27141, + "VS": 27142, + "_inf": 27143, + "Ġjunior": 27144, + "Ġanimations": 27145, + "Ġfilepath": 27146, + "?{{$": 27168, + "Ġunicode": 27169, + "places": 27170, + "ĠCoffee": 27171, + ".SE": 27172, + "ĠPAR": 27173, + "(txt": 27174, + "gebra": 27175, + "Ġfires": 27176, + "MainWindow": 27177, + "medium": 27178, + "Ġ(âĢľ": 27179, + "Ġlg": 27180, + "Ġcmp": 27181, + "/base": 27182, + "_layers": 27183, + "_entries": 27184, + "Ġadminister": 27185, + "ĠSUCH": 27186, + "BP": 27187, + "ĠScottish": 27188, + "ĉčĊĉčĊ": 27189, + "guard": 27190, + "ĠStrong": 27191, + "Insn": 27192, + "ĠCAP": 27193, + "asury": 27194, + "ĠSEE": 27195, + "Clock": 27196, + "erie": 27197, + "\\models": 27198, + "Ġ$$": 27199, + "ĠCab": 27200, + "Ġwurde": 27201, + "Ġsoldier": 27202, + "Ġclips": 27203, + "Ġarrangement": 27204, + "ĠWonder": 27205, + "ĠHorn": 27206, + "Ġscared": 27207, + "Ġcure": 27208, + "mkdir": 27209, + "Ġaligned": 27210, + "ĠPink": 27211, + "Ġlanded": 27212, + "Dimension": 27213, + "ScrollPane": 27214, + ".chat": 27215, + ".With": 27216, + "ĠTrain": 27217, + "].Ċ": 27218, + "Ġthirty": 27219, + "Ġdurable": 27220, + "Ġld": 27221, + "Ġlateinit": 27222, + "Ġcharts": 27223, + "Ġinsult": 27224, + ".Fatal": 27225, + "_ct": 27226, + "Ġmasks": 27227, + "CLUDED": 27228, + "President": 27229, + "Ġcolours": 27230, + "gments": 27231, + ".attributes": 27232, + "ĠFlex": 27233, + "ĠClock": 27234, + "ÃŃcul": 27235, + "imen": 27236, + "JO": 27237, + "ĠRegex": 27238, + "_LINK": 27239, + "Ġcouch": 27240, + "ĠINPUT": 27241, + "Ġbeating": 27242, + "business": 27243, + "preced": 27244, + ".unit": 27245, + "ĠFel": 27246, + "Never": 27247, + "ospel": 27248, + ".startswith": 27249, + "ĠEPA": 27250, + ".only": 27251, + "Ġpreventing": 27252, + "yer": 27253, + "ColumnName": 27254, + "Ġelevation": 27255, + "flu": 27256, + "icycle": 27257, + "Ġoffline": 27258, + "Toolbar": 27259, + "Ġcompeting": 27260, + ")].": 27261, + "Ġmog": 27262, + "ĠisValid": 27263, + "Ask": 27264, + "_av": 27265, + "_lat": 27266, + "ANC": 27267, + "ĠJoh": 27268, + "kers": 27269, + "Ġguards": 27270, + "Ġchains": 27271, + "ĠSimpleDateFormat": 27272, + ".static": 27273, + "Ġvessel": 27274, + "Ġmud": 27275, + "Ġstabil": 27276, + "Ġstret": 27277, + "gm": 27278, + "amation": 27279, + "çľ": 27280, + "-with": 27281, + "Ġros": 27282, + "_PA": 27283, + "Ġresultado": 27284, + "Ġconfidential": 27285, + "ĠTokyo": 27286, + "ĉusing": 27287, + "ĠMathf": 27288, + "ombine": 27289, + "ĠESPN": 27290, + "Ġdealers": 27291, + "Ġdismissed": 27292, + "TRY": 27293, + "Ġteens": 27294, + "records": 27295, + "Ġwings": 27296, + "gallery": 27297, + "accounts": 27298, + "_LIB": 27299, + "Ġjacket": 27300, + "ĠNSObject": 27301, + "Ġstones": 27302, + "ĠDelivery": 27303, + "ĠDiet": 27304, + "/watch": 27305, + "Ġtoilet": 27306, + "ĠGuest": 27307, + ".day": 27308, + "067": 27309, + "Ġintval": 27310, + "087": 27311, + "Visit": 27312, + "Ġinvestigated": 27313, + "Ġpentru": 27314, + "ĠTheatre": 27315, + "andidates": 27316, + "Lang": 27317, + "ĠServ": 27318, + "Ġcontrollers": 27319, + "ĠsetTitle": 27320, + "NP": 27321, + "amy": 27322, + "flat": 27323, + "(ui": 27324, + "069": 27325, + "_document": 27326, + "èĥ½": 27327, + "ĠCoin": 27328, + "ĠAdams": 27329, + "ptic": 27330, + "Ġproductive": 27331, + "Ġaccomplished": 27332, + "čĊčĊčĊčĊ": 27333, + "Ġdeferred": 27334, + "ientes": 27335, + "Ġsinc": 27336, + "olars": 27337, + "Rightarrow": 27338, + "Ġvariations": 27339, + "(offset": 27340, + "957": 27341, + ".LayoutInflater": 27342, + "Ġsuspend": 27343, + "Ġprevention": 27344, + "_private": 27345, + "_js": 27346, + "âĺħ": 27347, + "Ġwieder": 27348, + "atum": 27349, + "ĴĮ": 27350, + "Ġappearances": 27351, + ".Document": 27352, + "Ġvalidates": 27353, + "calendar": 27354, + "}\";Ċ": 27355, + ".demo": 27356, + "conut": 27357, + "Ġcorrection": 27358, + "ĠDeal": 27359, + "Ġbatteries": 27360, + ".duration": 27361, + ",\\": 27362, + "_marker": 27363, + "multi": 27364, + "Ġhalt": 27365, + "Ġcms": 27366, + "Ġshaped": 27367, + "Bro": 27368, + "reduce": 27369, + "Ġ####": 27370, + "CTOR": 27371, + "ĠBenef": 27372, + "Ġiconic": 27373, + "Ġpiano": 27374, + "Ġeffectiveness": 27375, + "|.Ċ": 27376, + "Ġajax": 27377, + "Ġvolumes": 27378, + "ม": 27379, + "Ġcljs": 27380, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 27381, + "aths": 27382, + "raits": 27383, + "大": 27384, + "Ñĸ": 27385, + "_mult": 27386, + "Ġfascinating": 27387, + "Average": 27388, + "Ġpré": 27389, + "ĠChairman": 27390, + ".findElement": 27391, + "_pin": 27392, + "Ġcomparing": 27393, + "Ġdarkness": 27394, + "-Fi": 27395, + "-server": 27396, + "Ġselecting": 27397, + "sterdam": 27398, + "ĠParts": 27399, + "FORMATION": 27400, + "Ġnoting": 27401, + "Ġpile": 27402, + "ogs": 27403, + "Ġpalette": 27404, + "_do": 27405, + "itize": 27406, + "079": 27407, + "()(": 27408, + "Ġdefining": 27409, + "Ġremainder": 27410, + "Units": 27411, + "_TASK": 27412, + "HttpClient": 27413, + "Social": 27414, + "Ġfundra": 27415, + "NR": 27416, + "chest": 27417, + "Currency": 27418, + ".adapter": 27419, + "Ġdop": 27420, + "unting": 27421, + "ANGUAGE": 27422, + "\"He": 27423, + "ĉindex": 27424, + "_package": 27425, + ".Icon": 27426, + "Ġrepet": 27427, + "mass": 27428, + "=\".$": 27429, + "ĠSud": 27430, + "Ġlid": 27431, + "province": 27432, + "ìľ": 27433, + "GPIO": 27434, + "Ðļ": 27435, + "ĠMySQL": 27436, + "Ġdocs": 27437, + "ĠGA": 27438, + "Ġipsum": 27439, + "Kernel": 27440, + "Ġaccepts": 27441, + "Ġfitting": 27442, + "Ġcuando": 27443, + "Ġduplic": 27444, + "ĠBrother": 27445, + "ĠKle": 27446, + "nums": 27447, + "Ġmorph": 27448, + "Ġ########": 27449, + "ĠCGPoint": 27450, + "manual": 27765, + "ĠTechnical": 27766, + "Ġcorporation": 27767, + "ĠHW": 27768, + "anka": 27769, + "TAIL": 27770, + "istas": 27771, + "Ġperforms": 27772, + "ĠBehavior": 27773, + ".For": 27774, + "_ORDER": 27775, + "ĠKick": 27776, + "Ġcallbacks": 27777, + "_dr": 27778, + "uego": 27779, + "hub": 27780, + "ufficient": 27781, + "sky": 27782, + "Ġbp": 27783, + "htable": 27784, + "ĠONLY": 27785, + "ĠAUTHORS": 27786, + ".Argument": 27787, + "\"};Ċ": 27788, + "ĠThunder": 27789, + "ĠKom": 27790, + ".Should": 27791, + "AUTH": 27792, + "ahu": 27793, + "_payment": 27794, + "Ġstarter": 27795, + "ìĦľ": 27796, + "ìļ©": 27797, + "Blog": 27798, + ".patch": 27799, + "Ġgoverned": 27800, + "assy": 27801, + "-found": 27802, + "Ġtheater": 27803, + "ĠFontWeight": 27804, + "ĠBatman": 27805, + "\"If": 27806, + ".Random": 27807, + "_delta": 27808, + "ĠCE": 27809, + "Authenticated": 27810, + "Ġdrone": 27811, + "Ġcous": 27812, + "radius": 27813, + "Mer": 27814, + "(None": 27815, + "ĠNJ": 27816, + "_headers": 27817, + "Ġamer": 27818, + "pytest": 27819, + "ĠActions": 27820, + "ĉĉĉĠĠĠĠ": 27821, + "Ġett": 27822, + "Ġholy": 27823, + "Ġuncomfort": 27824, + "ĠNin": 27825, + "ĠDecimal": 27826, + "ĠMessages": 27827, + ".sender": 27828, + "]])Ċ": 27829, + "Ġembrace": 27830, + "Though": 27831, + "/sp": 27832, + "Ġcultures": 27833, + "Ġhighway": 27834, + "tar": 27835, + ".fail": 27836, + "_hidden": 27837, + "ĠcomponentDidMount": 27838, + "ĠWright": 27839, + "Ġjag": 27840, + "_il": 27841, + "../../../": 27842, + "igu": 27843, + "Food": 27844, + "Ġace": 27845, + "Ġaños": 27846, + "USD": 27847, + "Ġmutual": 27848, + "Logic": 27849, + "Ġtemple": 27850, + "Ġbriefly": 27851, + "ĠTrip": 27852, + "classmethod": 27853, + "defaults": 27854, + "Ġchunks": 27855, + ",,,,": 27856, + "ĠReason": 27857, + "$id": 27858, + "-ups": 27859, + "Ġdamn": 27860, + "Ġtrucks": 27861, + "Ġunlimited": 27862, + "Ġsculpt": 27863, + "ĠCards": 27864, + "Ġautor": 27865, + "ĠTesting": 27866, + "Ġdiese": 27867, + "shops": 27868, + "ç´": 27869, + "(payload": 27870, + "ĠPATH": 27871, + "ĠMemorial": 27872, + "Ġridiculous": 27873, + "egree": 27874, + "-winning": 27875, + "Ġrehab": 27876, + "Ġsophisticated": 27877, + "wpdb": 27878, + "ĉpath": 27879, + "!\";Ċ": 27880, + "_SYS": 27881, + ".speed": 27882, + "Ġsoap": 27883, + "suffix": 27884, + "Wrap": 27885, + "Ġenhancement": 27886, + "Ãī": 27887, + "úb": 27888, + "Ġplaylist": 27889, + "Ġmixing": 27890, + "antidad": 27891, + "=\"\";Ċ": 27892, + "ĠRevision": 27893, + "ĠBeat": 27894, + ".inc": 27895, + "-way": 27896, + "encias": 27897, + "ulers": 27898, + "Cat": 27899, + "idel": 27900, + "ĠShip": 27901, + ".setColor": 27902, + "Ġthreatening": 27903, + ".modules": 27904, + "Ġafterwards": 27905, + "ĠDashboard": 27906, + "ĊĠĊ": 27907, + "Signal": 27908, + "Ġprimer": 27909, + "orneys": 27910, + "iciary": 27911, + "Ġligne": 27912, + "_predict": 27913, + "Ġaest": 27914, + "_https": 27915, + ">:": 27916, + "ĠLex": 27917, + "Ġrencontres": 27918, + "egral": 27919, + "scala": 27920, + "_family": 27921, + "ÃŁen": 27922, + "_sym": 27923, + "Ġuncertainty": 27924, + "ĠVALUE": 27925, + "Ġ};čĊčĊ": 27926, + "Ġbroader": 27927, + "Ġhorses": 27928, + "ãģĿ": 27929, + "ĠKal": 27930, + "oba": 27931, + "_INET": 27932, + "ĠKill": 27933, + "jquery": 27934, + "amination": 27935, + "[@\"": 27936, + "Ġmuj": 27937, + "###Ċ": 27938, + "FirstOrDefault": 27939, + "thenReturn": 27940, + "Che": 27941, + "/footer": 27942, + "Ġparks": 27943, + "asje": 27944, + "ĠGulf": 27945, + "Ġmodest": 27946, + ".Init": 27947, + "ï¼ŁĊĊ": 27948, + "Ġprospects": 27949, + "Ġsvg": 27950, + "Ġåı": 27951, + ".Dialog": 27952, + "_NET": 27953, + "Ġ(($": 27954, + "Ġek": 27955, + "ĠWarning": 27956, + "ĠMK": 27957, + "": 28265, + "ĠRepair": 28266, + "_BE": 28267, + "Brand": 28268, + "uart": 28269, + "preview": 28270, + "Ġinitiatives": 28271, + "running": 28272, + "bang": 28273, + "ĉupdate": 28274, + "ĠCoach": 28275, + "Rich": 28276, + "Ġyoutube": 28277, + "Ġritual": 28278, + "appa": 28279, + "ĠRobinson": 28280, + "precision": 28281, + "////////////////////////////////////////////////////////////////////////////": 28282, + "=[]Ċ": 28283, + "Ġcelebrated": 28284, + "OTO": 28285, + "Ġinclusion": 28286, + "JP": 28287, + "';čĊčĊ": 28288, + "Ġnotable": 28289, + "(_.": 28290, + "Managed": 28291, + "Ġguides": 28292, + " ": 28293, + "atedRoute": 28294, + "ĠAdjust": 28295, + "Ġcolored": 28296, + "_scores": 28297, + "ĠTesla": 28298, + "_progress": 28299, + ".inst": 28300, + "['_": 28301, + ".flags": 28302, + "Ġfclose": 28303, + "_OPER": 28304, + "ży": 28305, + "_note": 28306, + "Ġtransgender": 28307, + "åķ": 28308, + "RIPT": 28309, + "Ġabsent": 28310, + "Ġamet": 28311, + "Ġoperand": 28312, + "ë©": 28313, + "Ġhood": 28314, + "toLowerCase": 28315, + "avo": 28316, + "ĠCircuit": 28317, + "ĠLind": 28318, + "--}}Ċ": 28319, + "=m": 28320, + "Ġsuppress": 28321, + "ĠMAP": 28322, + "iang": 28323, + "-admin": 28324, + "Ġsidebar": 28325, + "ĠBu": 28326, + "ĠHex": 28327, + ",F": 28328, + "ĠSignal": 28329, + "Ġtransparency": 28330, + "ĠFederation": 28331, + "/V": 28332, + "Req": 28333, + "Ġpulse": 28334, + "Ġtends": 28335, + "Numbers": 28336, + "%'": 28337, + "Ġdeport": 28338, + "datas": 28339, + "_UINT": 28340, + "_tra": 28341, + "oko": 28342, + "Ġ\"?": 28343, + "compet": 28344, + "solete": 28345, + "undry": 28346, + "Ġoverlap": 28347, + "}`,Ċ": 28348, + ".ly": 28349, + "_summary": 28350, + "ĠLost": 28351, + ".Center": 28352, + "Ġdisability": 28353, + ".Serialization": 28354, + "Ġgeom": 28355, + "Ġ?:": 28356, + "ĠWo": 28357, + "Ġshipped": 28358, + "Ĥæķ°": 28359, + "Ġugly": 28360, + "Ġexcitement": 28361, + "Ġexterior": 28362, + "Ġcheckout": 28363, + "Ġkur": 28364, + ",D": 28365, + "ĠAlaska": 28366, + "Ġsynthetic": 28367, + "ĠBudget": 28368, + "ĠSubscribe": 28369, + "Ġ&Ċ": 28370, + "ÈĻi": 28371, + "ĠYu": 28372, + "ĉquery": 28373, + "}.Ċ": 28374, + "Ġtraged": 28375, + "assen": 28376, + "Ġaccommodation": 28377, + "Ġphysician": 28378, + "Ġrenamed": 28379, + "Ġtidak": 28380, + "zÄħ": 28381, + "Ġminus": 28382, + "nych": 28383, + "097": 28384, + "_EXCEPTION": 28385, + "threads": 28386, + "Ġtire": 28387, + "_created": 28388, + "ensure": 28389, + "Ġworthy": 28390, + "Ġexcuse": 28391, + "Ġcloth": 28392, + ".parentNode": 28393, + "/platform": 28394, + "ĠUFC": 28395, + "ĠGtk": 28396, + "unny": 28397, + "Ġgibt": 28398, + "keley": 28399, + "hum": 28400, + "(tx": 28401, + "ĉdev": 28402, + "Ġoutfit": 28403, + "doors": 28404, + "Ġfon": 28405, + "icut": 28406, + "volatile": 28407, + "Ġhomosex": 28408, + "Maximum": 28409, + "Ġexpend": 28410, + "Ġ});ĊĊĊ": 28411, + "Eq": 28412, + "onders": 28413, + "department": 28414, + "ĠPhysics": 28415, + "\"});Ċ": 28416, + "Ġparad": 28417, + ".Str": 28418, + "Ġsele": 28419, + "IFIED": 28420, + "Ġdelivers": 28421, + "ivan": 28422, + "Ġresponsibilities": 28423, + "Ġadvocates": 28424, + "èµ": 28425, + "ĠRID": 28426, + ".parameters": 28427, + "Metrics": 28428, + "ronics": 28429, + "ĠUITableViewCell": 28430, + "Absolute": 28431, + "ipse": 28432, + "ylum": 28433, + "MLElement": 28434, + "_VALID": 28435, + "\\<^": 28630, + "Ġios": 28631, + "sound": 28632, + "\"];": 28633, + "Ġfreed": 28634, + "rottle": 28635, + "ĠLower": 28636, + "[count": 28637, + "åĿ": 28638, + "Ġpale": 28639, + "ĠWayne": 28640, + "earth": 28641, + "_categories": 28642, + "UCK": 28643, + ".metadata": 28644, + "Ġsummon": 28645, + "HOME": 28646, + "олÑĮз": 28647, + "Ġmanufactured": 28648, + "Ġdock": 28649, + "Ġcompetitors": 28650, + "_MODEL": 28651, + "okia": 28652, + "ĠHey": 28653, + "ο": 28654, + "Ġbackward": 28655, + "ĠPOSS": 28656, + "ropa": 28657, + "Ġcri": 28658, + "_OBJ": 28659, + "Transport": 28660, + "-high": 28661, + "Ġerotik": 28662, + "_slot": 28663, + "Ġartic": 28664, + "_framework": 28665, + "-serif": 28666, + "ĠSqlDbType": 28667, + "')(": 28668, + "+\"/": 28669, + "Ġwore": 28670, + "Sil": 28671, + "Ġstoring": 28672, + "ĠPhase": 28673, + "uant": 28674, + "Ġbump": 28675, + "inho": 28676, + "Ġdign": 28677, + "Ġbacks": 28678, + "qq": 28679, + "(hash": 28680, + "Ġgeo": 28681, + "Ġtender": 28682, + "Logo": 28683, + "!)Ċ": 28684, + "ĠMX": 28685, + "ĠArthur": 28686, + "essoa": 28687, + "_Ch": 28688, + "Ġbedrooms": 28689, + "=\"#\"><": 28690, + "Ġthroat": 28691, + "insic": 28692, + ".integer": 28693, + "Ġprimitive": 28694, + "Truthy": 28695, + "Ġfacilitate": 28696, + "Ġcreativity": 28697, + "ĠDNS": 28698, + "Ġgra": 28699, + "uez": 28700, + "Ġcountless": 28701, + "ĠPoland": 28702, + "'M": 28703, + "ĠDist": 28704, + "Ġvest": 28705, + "Ġcertification": 28706, + "á»ij": 28707, + "held": 28708, + "extensions": 28709, + "(static": 28710, + "Ġgrades": 28711, + "ĠUber": 28712, + "ãģŁ": 28713, + "Ġ[])Ċ": 28714, + "datos": 28715, + "ĠgetData": 28716, + "ĠCharg": 28717, + "ĠBS": 28718, + ".microsoft": 28719, + ".video": 28720, + ".direction": 28721, + "->{'": 28722, + "lua": 28723, + "apest": 28724, + "Ġboiler": 28725, + "erek": 28726, + "Ġdecides": 28727, + ".jar": 28728, + "ISC": 28729, + "ĠWords": 28730, + "(CON": 28731, + "EMPLATE": 28732, + "reeze": 28733, + "shots": 28734, + "apps": 28735, + "unted": 28736, + ".setName": 28737, + "::<": 28738, + "-bold": 28739, + "ê²": 28740, + "å¯Ĩ": 28741, + "Longrightarrow": 28742, + "Ġunfair": 28743, + "Ġearning": 28744, + "Ġshelf": 28745, + "UREMENT": 28746, + "Ġidle": 28747, + "_MENU": 28748, + ".Custom": 28749, + "AGER": 28750, + "-\"": 28751, + "_switch": 28752, + "because": 28753, + ")view": 28754, + "mare": 28755, + "_condition": 28756, + "ĠStarting": 28757, + "Mvc": 28758, + "(pre": 28759, + "dump": 28760, + "_LOCK": 28761, + "atetime": 28762, + ".callback": 28763, + "ĠCer": 28764, + "opol": 28765, + "ibrary": 28766, + "Ġreservation": 28767, + "ĉĉĉĉĉĉĉĊ": 28768, + "lector": 28769, + "graduate": 28770, + "Ġgenerous": 28771, + "Ġion": 28772, + "ricao": 28773, + "mq": 28774, + "_complete": 28775, + "(cursor": 28776, + "ĠFormControl": 28777, + ":center": 28778, + "Ġsubstitute": 28779, + "ĠPlanning": 28780, + "Ġpension": 28781, + "Ġrecommendation": 28782, + "ĠTags": 28783, + "Ġgef": 28784, + "Ġalbums": 28785, + "Ġwashing": 28786, + "roc": 28787, + "Ġtrains": 28788, + "atings": 28789, + "Ġexponent": 28790, + "ackbar": 28791, + "-ln": 28792, + "ág": 28793, + ".DataAnnotations": 28794, + "ĠEIF": 28795, + "ĠMalaysia": 28796, + "ĉPORT": 28797, + "onus": 28798, + "Ġclever": 28799, + "Ġpeu": 28800, + ">ĊĊĊĊ": 28801, + "ĠArguments": 28802, + "Ġdebugging": 28803, + "(right": 28804, + "'D": 28805, + "compute": 28806, + "Ġfinest": 28807, + "ORAGE": 28808, + "Ġspectacular": 28809, + "phrase": 28810, + "Ġindia": 28811, + "Ġlegendary": 28812, + "birth": 28813, + "Ġcomposite": 28814, + "Ġgrows": 28815, + "ĠTD": 28816, + "Ġepid": 28817, + "Ġlaunching": 28818, + "]][": 28819, + "Minutes": 28820, + "ĠCha": 28821, + "Ġcleaned": 28822, + "Ġwitnesses": 28823, + "ukan": 28824, + "ĉType": 28825, + "Ġhabe": 28826, + "paragraph": 28827, + "ĠJPanel": 28828, + "ĠHann": 28829, + "Ġvaried": 28830, + "ĠPokemon": 28831, + "ĠMUST": 28832, + "åĬ¨": 28833, + ".visibility": 28834, + "opup": 28835, + "^[": 28836, + ".expand": 28837, + "Ġ\"',": 28838, + ".fasterxml": 28839, + "_auto": 28840, + "ĠSheet": 28841, + "marker": 28842, + "Parcel": 28843, + "ews": 28844, + "ĠStrategy": 28845, + "-making": 28846, + "Ġunve": 28847, + "Ġtrailing": 28848, + "Ġclicks": 28849, + "ĠGetComponent": 28850, + "ĉcontent": 28851, + "IGENCE": 28852, + "ERNEL": 28853, + "NSMutableArray": 28854, + "Ġbreat": 28855, + "Ġharmful": 28856, + "¶Ī": 28857, + "Ġbesides": 28858, + "Ġboring": 28859, + "Ġbrutal": 28860, + "vang": 28861, + "(parse": 28862, + "quick": 28863, + "Ġpytest": 28864, + "Ġswitching": 28865, + "()]Ċ": 28866, + "ĠìĦ": 28867, + "LER": 28868, + "ĉfont": 28869, + "Ġnett": 28870, + ")]ĊĊ": 28871, + "(/\\": 28872, + "æŀľ": 28873, + "toArray": 28874, + "Ġbreed": 28875, + "ĠCAR": 28876, + "ĠWeapon": 28877, + "Abs": 28878, + "tot": 28879, + "ĠsetName": 28880, + "aptive": 28881, + "Ġ:,": 28882, + "Ġescaped": 28883, + "orden": 28884, + "ĠPri": 28885, + "thumbnail": 28886, + "Ġdescriptions": 28887, + "/styles": 28888, + "ĠPCI": 28889, + "Ġalphabet": 28890, + "asticsearch": 28891, + "NOTE": 28892, + "Ġcialis": 28893, + "ĠGriff": 28894, + "Ġporque": 28895, + "Ġproteins": 28896, + "plays": 28897, + "Ġstating": 28898, + "Ġimagination": 28899, + "Ġfacial": 28900, + "ĠMechan": 28901, + "Ġarranged": 28902, + "_used": 28903, + "Ġarrangements": 28904, + "ĠPipe": 28905, + "hostname": 28906, + "Ġprovinc": 28907, + "Tit": 28908, + ".FlatStyle": 28909, + "ĠSplit": 28910, + "ĠLoader": 28911, + ".cc": 28912, + "Ġclinic": 28913, + "----------------------------": 28914, + "Ġbaking": 28915, + "ĠENT": 28916, + "neath": 28917, + "ãĢģĊĊ": 28918, + "ANE": 28919, + ".EntityFrameworkCore": 28920, + "appers": 28921, + ".ic": 28922, + "ĠNgModule": 28923, + "ĠFORM": 28924, + "Ġ';": 28925, + "-profit": 28926, + "hw": 28927, + "enemy": 28928, + "ĠEye": 28929, + "Ġcaution": 28930, + "town": 28931, + "Ġurged": 28932, + "ĠJimmy": 28933, + "ynchronous": 28934, + "-sized": 28935, + "making": 28936, + ",{": 28937, + "]',": 28938, + "_Object": 28939, + "ahoma": 28940, + "Ġactivist": 28941, + "INVAL": 28942, + "ĠCommercial": 28943, + "ĠOrlando": 28944, + "(tab": 28945, + "Ġب": 28946, + "Algorithm": 28947, + "Ġheritage": 28948, + "GetMapping": 28949, + "Ġfailures": 28950, + "rios": 28951, + "ativa": 28952, + "Ġtet": 28953, + "Ġcarpet": 28954, + "(Z": 28955, + "three": 28956, + "Ġdisclosure": 28957, + ".ERROR": 28958, + "_called": 28959, + "Ġdial": 28960, + "Ġoccasional": 28961, + ".Err": 28962, + "Ġfuncion": 28963, + "caffold": 28964, + "Ġreleasing": 28965, + "ï¼īĊĊ": 28966, + "_Value": 28967, + "ĠVari": 28968, + "yellow": 28969, + "Ġstruggles": 28970, + ".cal": 28971, + "ĠDakota": 28972, + "ĉclose": 28973, + "Ġsandwich": 28974, + "Ġanalytics": 28975, + "Ġ**)": 28976, + "&#": 28977, + "ĠJos": 28978, + "Ġpassive": 28979, + "ATTR": 28980, + "Throwable": 28981, + "ĠMun": 28982, + "ĠUint": 28983, + "(disposing": 28984, + "arak": 28985, + "ĠLeaders": 28986, + "Ġaffecting": 28987, + "ĠitemView": 28988, + "Ġeconomics": 28989, + "fv": 28990, + "à¹Ģ": 28991, + ".rb": 28992, + "ĠOverall": 28993, + "Ġwealthy": 28994, + "Ġevolved": 28995, + "nda": 28996, + "ĠHus": 28997, + "restrict": 28998, + "umen": 28999, + "ĠAgricult": 29000, + "!ĊĊĊ": 29001, + "Ġexpires": 29002, + "Ġspokesperson": 29003, + "interval": 29004, + "Ġâ": 29005, + "Ġqueen": 29006, + "(nil": 29007, + "ingo": 29008, + "Heap": 29009, + "Ùİ": 29010, + "Ġcomplain": 29011, + "Sym": 29012, + "ĠClone": 29013, + "ĠRu": 29014, + "ĠWILL": 29015, + "ĠCrystal": 29016, + "/content": 29017, + "ingen": 29018, + "ointment": 29019, + "LastName": 29020, + "avicon": 29021, + "ĠIBM": 29022, + "ĠDimension": 29023, + "anh": 29024, + "icipants": 29025, + "ĠAnne": 29026, + ".progress": 29027, + "Ġalgo": 29028, + "obil": 29029, + "ĠVoice": 29030, + "ĠFE": 29031, + "Ġgli": 29032, + "Ġved": 29033, + "Ġprevents": 29034, + "\\Column": 29035, + "Ġfolk": 29036, + "etti": 29037, + "Ġmn": 29038, + "ĠCLASS": 29039, + "Ġdisplaying": 29040, + "ĠKl": 29041, + "ĠFerr": 29042, + "duto": 29043, + ".ib": 29044, + "Ġdados": 29045, + "'name": 29046, + "-space": 29047, + "Ġitalian": 29048, + "Ġinverse": 29049, + "Ġdense": 29050, + "uter": 29051, + "ĠIEnumerator": 29052, + "-sign": 29053, + "Ġnationwide": 29054, + "Ġpersona": 29055, + "Ġsolved": 29056, + "Ġdramatically": 29057, + "Logout": 29058, + "Ġgrav": 29059, + "Ġanalyses": 29060, + "ollo": 29061, + "Ġlamp": 29062, + ".team": 29063, + "ĠErot": 29064, + "=[\"": 29065, + "Ġdancing": 29066, + "Ġ?>/": 29067, + "Ġcater": 29068, + "ffe": 29069, + "ĠSha": 29070, + "ĠBos": 29071, + "ĠREQUIRE": 29072, + "ĠMonster": 29073, + "ĠRB": 29074, + "ĠIDE": 29075, + "Ġsuits": 29076, + "ĠformData": 29077, + "(theta": 29078, + "Ġspatial": 29079, + "=NULL": 29080, + "ĠSqlConnection": 29081, + "Ġà": 29082, + "ĠVenez": 29083, + "ĠMorning": 29084, + "Ġpublications": 29085, + "ĠNONINFRINGEMENT": 29086, + "firstName": 29087, + "uds": 29088, + "Would": 29089, + "_HEAD": 29090, + "Ġinvested": 29091, + "stable": 29092, + "fred": 29093, + "Ġcommander": 29094, + "SES": 29095, + "âĢĶa": 29096, + "anche": 29097, + "ĠMovement": 29098, + "ë³": 29099, + "Suite": 29100, + "Ġjurisdiction": 29101, + "리": 29102, + "ĠBeth": 29103, + "jQuery": 29104, + "ĠIsa": 29105, + "Ġdental": 29106, + ",*": 29107, + "ĠLimit": 29108, + "iliation": 29109, + "=\"{": 29110, + "bast": 29111, + "Ġturb": 29112, + "isy": 29113, + "OOK": 29114, + "Ġadvocate": 29115, + "imag": 29116, + "LECTION": 29117, + "лÑĮ": 29118, + "(category": 29119, + ".dec": 29120, + "Ġuniqu": 29121, + "_sn": 29122, + "Ġattracted": 29123, + "ĠÃī": 29124, + "ĠRunning": 29125, + "_edges": 29126, + "ĠDisable": 29127, + "_AS": 29128, + "åĽ¾": 29129, + "Ġnetworking": 29130, + "_branch": 29131, + "Having": 29132, + "toBeTruthy": 29133, + "GI": 29134, + "Ġcamps": 29135, + "sep": 29136, + "-part": 29137, + "Ġ)ĊĊĊĊĊĊĊĊ": 29138, + "ustralia": 29139, + "ĠReports": 29140, + "rito": 29141, + "Ġwaist": 29142, + "_plus": 29143, + "ĠWW": 29144, + "-person": 29145, + "April": 29146, + "Ġsar": 29147, + ".tar": 29148, + "Ġagricultural": 29149, + "tic": 29150, + "Ġtcp": 29151, + "ĠsetValue": 29152, + "agento": 29153, + "ĠAppe": 29154, + "piler": 29155, + "CADE": 29156, + "Ġanche": 29157, + "atcher": 29158, + "Ġcomics": 29159, + "Ġlbs": 29160, + "_segment": 29161, + "']=$": 29162, + "itters": 29163, + "icher": 29164, + "GINE": 29165, + "Ġutilize": 29166, + "ĠCursor": 29167, + "_expression": 29168, + "Ġdag": 29169, + "x": 29357, + ".Task": 29358, + "money": 29359, + "ibaba": 29360, + "'});Ċ": 29361, + "ĠSpecific": 29362, + "ĠLinear": 29363, + "_OPT": 29364, + "HashCode": 29365, + "(Player": 29366, + ".ContainsKey": 29367, + "Ġcollapsed": 29368, + "transparent": 29369, + "_RANGE": 29370, + "Viewer": 29371, + "(cfg": 29372, + "Ġsorting": 29373, + "Ġinfected": 29374, + "ĠNach": 29375, + "Ġaccommodate": 29376, + ".elements": 29377, + "_PART": 29378, + "ĠSexy": 29379, + "=get": 29380, + "(year": 29381, + "Ġxhr": 29382, + ":]": 29383, + "owski": 29384, + "Ġsummar": 29385, + "Ġ¿": 29386, + "Ġinte": 29387, + "Ġworkflow": 29388, + "ĠTaiwan": 29389, + "versions": 29390, + "åıij": 29391, + "Ġsurprisingly": 29392, + "Ġoptical": 29393, + "Ġproces": 29394, + "Ġdisagree": 29395, + "Ġnuevo": 29396, + "ĠCAM": 29397, + "sorted": 29398, + "leases": 29399, + "istle": 29400, + "Ident": 29401, + "ĉevent": 29402, + "jected": 29403, + "Chunk": 29404, + "Vars": 29405, + ".provider": 29406, + "Ġproceedings": 29407, + "Ġinclusive": 29408, + "Ġartwork": 29409, + "endants": 29410, + "ï¼ļĊ": 29411, + "seen": 29412, + "Ġlig": 29413, + "Ġmakers": 29414, + "_fun": 29415, + "Ġlengths": 29416, + "PathVariable": 29417, + "[item": 29418, + "ี": 29419, + "Dead": 29420, + "FFFFFF": 29421, + "ĠUrban": 29422, + "uples": 29423, + "ichen": 29424, + "(nullptr": 29425, + ".spec": 29426, + ",System": 29427, + "URATION": 29428, + "(job": 29429, + "å¼ı": 29430, + "Ġtracker": 29431, + "ÅĻ": 29432, + "ĠMR": 29433, + "ĠSQLite": 29434, + "Ġdto": 29435, + "Ġ;;Ċ": 29436, + "Ġmint": 29437, + "ĠIntroduction": 29438, + "cao": 29439, + "Ġquestioned": 29440, + "Ġfitted": 29441, + "revision": 29442, + "sq": 29443, + "Ġmig": 29444, + "_units": 29445, + "_async": 29446, + "Ġflick": 29447, + "});ĊĊĊ": 29448, + "Ġnotre": 29449, + "}`,": 29450, + "Filters": 29451, + "Ġmundo": 29452, + "_days": 29453, + "Ġfrm": 29454, + "utc": 29455, + "Ġvals": 29456, + "ewidth": 29457, + "ĠGenerator": 29458, + "ĠArtist": 29459, + "ĠIDs": 29460, + "ĠArticles": 29461, + "reater": 29462, + "ĠComponentFixture": 29463, + ".=": 29464, + "Ġrou": 29465, + "-no": 29466, + ".bukkit": 29467, + "egg": 29468, + "ĠDiff": 29469, + "atics": 29470, + "ÑĥÑĩ": 29471, + "âĢĶĊĊ": 29472, + "ĠCharlotte": 29473, + "bye": 29474, + "Ġ});čĊčĊ": 29475, + "ĠVik": 29476, + "ĠBrow": 29477, + "Ġlv": 29478, + "ĠGib": 29479, + "-wing": 29480, + "GLIGENCE": 29481, + "(Il": 29482, + "ĠEngineer": 29483, + ".Wait": 29484, + "ĠPictures": 29485, + "Ġrhet": 29486, + "Ġthermal": 29487, + "Ġpraise": 29488, + "<>();ĊĊ": 29489, + "ĠSpider": 29490, + "Pause": 29491, + "ĠBaker": 29492, + "Ġslower": 29493, + "Ġ}]Ċ": 29494, + "_enqueue": 29495, + "Ġdisappeared": 29496, + "ĠTicket": 29497, + "INUX": 29498, + "_LOCAL": 29499, + "аÑģÑģ": 29500, + "@Injectable": 29501, + "community": 29502, + "GestureRecognizer": 29503, + "åĽ½": 29504, + "Ġscales": 29505, + "Ġ-(": 29506, + "/'+": 29507, + "ĠSit": 29508, + "Ġexecutives": 29509, + "arding": 29510, + "Ġadvers": 29511, + "Ġbackwards": 29512, + "ĉcontext": 29513, + "ĠHamp": 29514, + "ĠPF": 29515, + "ĠDeck": 29516, + "ĠCraig": 29517, + "American": 29518, + "Ġbell": 29519, + "Ġprol": 29520, + "ufen": 29521, + "Ġrng": 29522, + "arshal": 29523, + "ĠSimply": 29524, + "firstname": 29525, + "shore": 29526, + "July": 29527, + "Ġmortality": 29528, + "ĠâĨĴĊĊ": 29529, + "Helpers": 29530, + "Ġbenchmark": 29531, + "emade": 29532, + "Ġorganisations": 29533, + ".gson": 29534, + "ĠTextField": 29535, + "Ġcivilians": 29536, + ".Arrays": 29537, + "ĠMississippi": 29538, + "Ġintermediate": 29539, + "getUser": 29540, + "_cluster": 29541, + "Relative": 29542, + "foreign": 29543, + ".querySelectorAll": 29544, + "ForeignKey": 29545, + "Ġreasonably": 29546, + "---------Ċ": 29547, + "Cards": 29548, + "ĠKam": 29549, + "ĠThor": 29550, + "Ġroller": 29551, + "-element": 29552, + "ĠCurrency": 29553, + "ddie": 29554, + "ALLY": 29555, + "ĠRA": 29556, + "Ġpermet": 29557, + "aaaa": 29558, + "Ġhomework": 29559, + "ĠVit": 29560, + "Ġmold": 29561, + "ĠFer": 29562, + "[start": 29563, + "Ġstatistical": 29564, + "Ġscary": 29565, + "_HOME": 29566, + ".Begin": 29567, + "Construct": 29568, + "ogenic": 29569, + "ĠDEALINGS": 29570, + "Ġtambién": 29571, + "ixon": 29572, + ".ind": 29573, + "acre": 29574, + "Ġtransforms": 29575, + "ĠNap": 29576, + ".Block": 29577, + "ussia": 29578, + "piration": 29579, + "ulent": 29580, + "Ġceil": 29581, + "Clause": 29582, + "naire": 29583, + "TES": 29584, + "Ġneat": 29585, + "STD": 29586, + "ĠRegExp": 29587, + "perform": 29588, + ":)": 29589, + "Ġunions": 29590, + "Ġsublic": 29591, + "Ġwinds": 29592, + "loating": 29593, + "glich": 29594, + "Ġpagination": 29595, + "Skill": 29596, + "Apply": 29597, + "ĠOperator": 29598, + "istogram": 29599, + "Ġqualities": 29600, + "Cross": 29601, + "Ġdecom": 29602, + "],\"": 29603, + "ĠJuan": 29604, + ".modal": 29605, + ".Child": 29606, + "ĠRoger": 29607, + "STITUTE": 29608, + ":CGRectMake": 29609, + "alette": 29610, + "Ġsta": 29611, + "aside": 29612, + "Ġblur": 29613, + "ĠWa": 29614, + "ifetime": 29615, + "reed": 29616, + "controls": 29617, + "Ġbins": 29618, + "Ġпол": 29619, + "*/,Ċ": 29620, + "UIS": 29621, + "ĠRou": 29622, + "ĠDemo": 29623, + "-awesome": 29624, + "ĠChain": 29625, + "Ġhasta": 29626, + "ĠBart": 29627, + ".KEY": 29628, + "Ġvendors": 29629, + "nofollow": 29630, + "ĠDest": 29631, + "_builder": 29632, + "Ġargues": 29633, + "_answer": 29634, + "goto": 29635, + "ĠRESULT": 29636, + "ĠMON": 29637, + "Ġpoder": 29638, + "oons": 29639, + "_CASE": 29640, + "Ġreplic": 29641, + "Ġfinancing": 29642, + "ĠDATE": 29643, + "cern": 29644, + "_track": 29645, + "ties": 29646, + "/logo": 29647, + "ĠNEGLIGENCE": 29648, + "getType": 29649, + ">T": 29650, + "bet": 29651, + "girl": 29652, + "ĠINCIDENTAL": 29653, + "-site": 29654, + ".trigger": 29655, + "ĠLisa": 29656, + "_inputs": 29657, + "Ġrelatives": 29658, + "LoggedIn": 29659, + "Configure": 29660, + "IK": 29661, + ".accept": 29662, + "Resume": 29663, + "ĠDraft": 29664, + "Ġ*>(": 29665, + "ĠWA": 29666, + "edian": 29667, + "erness": 29668, + "ĠLayoutInflater": 29669, + "*/čĊčĊ": 29670, + "othy": 29671, + "Ġobligation": 29672, + "Subscribe": 29673, + "Ġthumbnail": 29674, + "exist": 29675, + "Ġinsisted": 29676, + "ĠUICollectionView": 29677, + "ĠAngular": 29678, + "Ġtablets": 29679, + "ĠImpact": 29680, + "ãĢįĊĊ": 29681, + "aho": 29682, + "Ġcharacteristic": 29683, + "gd": 29684, + "Ġ=================================================": 29685, + "ourt": 29686, + "`.": 29687, + "Appro": 29688, + "Coordinate": 29689, + "Remember": 29690, + "Ġmarine": 29691, + "]=='": 29692, + "ĠAdministrator": 29693, + ".getDefault": 29694, + "Ġforgot": 29695, + "ĠStructure": 29696, + "Vue": 29697, + "arsing": 29698, + "moment": 29699, + "kw": 29700, + "_cursor": 29701, + "Attack": 29702, + "Ġathletic": 29703, + "Ġdiagnosed": 29704, + "Ġende": 29705, + "åĪłéϤ": 29706, + "House": 29707, + "ĠPARAM": 29708, + "Ġwiki": 29709, + "ĠOpp": 29710, + "Ġconservation": 29711, + "Ġsnd": 29712, + "_tem": 29713, + "substr": 29714, + "ĠCape": 29715, + ".sim": 29716, + "UTION": 29717, + "anan": 29718, + "âĢĻun": 29719, + "Ġgy": 29720, + "-work": 29721, + "Ġcompelling": 29722, + "='#": 29723, + "ĉsub": 29724, + "Ġdirectories": 29725, + "íĬ¸": 29726, + "Ġtouches": 29727, + "outines": 29728, + ".Collection": 29729, + "schedule": 29730, + ".lat": 29731, + "ĠDoctrine": 29732, + "CAA": 29733, + "ĠRefer": 29734, + "Ġshifts": 29735, + "Ġlikelihood": 29736, + "preter": 29737, + "ĠFemale": 29738, + "Ġintercept": 29739, + "Ġlou": 29740, + "çĻ»": 29741, + "Ġrug": 29742, + "ĠCrown": 29743, + "Ġ****************************************************************************": 29744, + "-product": 29745, + "Ġprompted": 29746, + "ungle": 29747, + "docker": 29748, + "ĠTu": 29749, + "ĠUnique": 29750, + "_Error": 29751, + "ulos": 29752, + "ĠâĦ": 29753, + "Ġ(`": 29754, + "Getting": 29755, + "_scal": 29756, + "ĠEnh": 29757, + "üt": 29758, + "Ġsustained": 29759, + "Ġpatches": 29760, + "Ġprosper": 29761, + "ĠGaza": 29762, + "_light": 29763, + "Ġincons": 29764, + "--------Ċ": 29765, + "ĉĉĠĠĠĠĠĠ": 29766, + "SF": 29767, + "CN": 29768, + ":\";Ċ": 29769, + "ĠCollins": 29770, + "(*)": 29771, + "Ġcompilation": 29772, + "']čĊ": 29773, + "Ġconsequence": 29774, + ",...": 29775, + "Ġdm": 29776, + "ĠBLOCK": 29777, + "Cluster": 29778, + "Ġski": 29779, + "(argc": 29780, + "Tuple": 29781, + "Ġjoins": 29782, + "ĠSheriff": 29783, + "War": 29784, + "indi": 29785, + "Ġcommented": 29786, + "HOST": 29787, + "Ġinvitation": 29788, + "apanese": 29789, + "Ġpermits": 29790, + "precedented": 29791, + "_zone": 29792, + "ĠAmy": 29793, + "_RD": 29794, + "Minimum": 29795, + "Ġinvocation": 29796, + ".enable": 29797, + "ichten": 29798, + "-owned": 29799, + "\"id": 29800, + "_POINTER": 29801, + "Fac": 29802, + "Ġspecifications": 29803, + "Ġnomination": 29804, + "Ġgp": 29805, + "<(": 29806, + "Ġrobots": 29807, + "ĠJerry": 29808, + "Ġholders": 29809, + "Ġwand": 29810, + "cms": 29811, + "Ġ}))Ċ": 29812, + ".Toast": 29813, + "ĠIList": 29814, + "Based": 29815, + "zoom": 29816, + "/style": 29817, + "ĠBeck": 29818, + "Men": 29819, + "Ġcontributing": 29820, + "Ġundo": 29821, + "ĠOH": 29822, + "ĠaddObject": 29823, + "Ġeigen": 29824, + "signup": 29825, + "éĶĻ": 29826, + "Ġdistant": 29827, + "PARATOR": 29828, + "ĠMari": 29829, + "Ġmá": 29830, + "Emp": 29831, + "ós": 29832, + "ĠìĪĺ": 29833, + "evt": 29834, + "+j": 29835, + "park": 29836, + "ĠStay": 29837, + "ĠDun": 29838, + "Ġsoy": 29839, + ">%": 29840, + "azines": 29841, + "Ġtiempo": 29842, + "(me": 29843, + "present": 29844, + ".This": 29845, + "Ġeditors": 29846, + "FIELD": 29847, + ".Work": 29848, + "ĠUniverse": 29849, + "Ġdrunk": 29850, + ".timer": 29851, + "Ġaltered": 29852, + "ĠNar": 29853, + "ëł¥": 29854, + ".Active": 29855, + "idor": 29856, + "çŃ": 29857, + ".deltaTime": 29858, + "Ġawkward": 29859, + """: 29860, + "ĠSafari": 29861, + "Ġtricks": 29862, + "MENTS": 29863, + "division": 29864, + "Ġvarying": 29865, + "ĠHighway": 29866, + "Ġphotographer": 29867, + "ĠStewart": 29868, + "Ġlasting": 29869, + ".Pre": 29870, + ".amazonaws": 29871, + "ĠLuck": 29872, + ".Description": 29873, + "ĠNaz": 29874, + "neg": 29875, + "Ġcó": 29876, + "<<\"\\": 29877, + "ĠSurv": 29878, + "ĠUnc": 29879, + "Recipe": 29880, + ".BorderStyle": 29881, + "Ġmodifications": 29882, + "-at": 29883, + "ATFORM": 29884, + "hdr": 29885, + "ako": 29886, + "Ġsublicense": 29887, + "ĠJump": 29888, + "Ġbeim": 29889, + "ĠManhattan": 29890, + ".bool": 29891, + "_hw": 29892, + "ÑĤÑĮ": 29893, + "Bin": 29894, + "Ġgateway": 29895, + "\"\":": 29896, + "ĠUIS": 29897, + ":\"+": 29898, + "-def": 29899, + "ĠRegular": 29900, + "/testing": 29901, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 29902, + "stringstream": 29903, + "Ġdispar": 29904, + "Ġmobil": 29905, + "-read": 29906, + "ĠAdapter": 29907, + "ĠChampions": 29908, + "Ġscheduler": 29909, + "Ġkills": 29910, + "ĠMultiple": 29911, + "irror": 29912, + "Ġgods": 29913, + "ADO": 29914, + "akte": 29915, + "ĠUsuario": 29916, + ".circular": 29917, + "Ġrecept": 29918, + "ĠExpr": 29919, + "Ġelderly": 29920, + "Ġnicely": 29921, + "Ġbeste": 29922, + "Want": 29923, + "Ġclassical": 29924, + ".sprite": 29925, + "objc": 29926, + "ĠMason": 29927, + "Ġsistema": 29928, + ".Black": 29929, + "eso": 29930, + "ĠZeit": 29931, + "Ġdivid": 29932, + "Ġenters": 29933, + "_subject": 29934, + "ĠPlanet": 29935, + ".warning": 29936, + "ĠGram": 29937, + "_tokens": 29938, + "Ġhouseholds": 29939, + "_customer": 29940, + "userName": 29941, + "cross": 29942, + "Ġpione": 29943, + "Ġassists": 29944, + "_SM": 29945, + "ibo": 29946, + "Ġloyal": 29947, + "Ġuseless": 29948, + "#elif": 29949, + "ĠUltimate": 29950, + "Come": 29951, + "gel": 29952, + "Ġdich": 29953, + "xyz": 29954, + "ikel": 29955, + "obra": 29956, + "_scan": 29957, + "ĠInterior": 29958, + "ĠNice": 29959, + "Ġplac": 29960, + "ĉtarget": 29961, + "Ġviral": 29962, + "asso": 29963, + "()/": 29964, + "unde": 29965, + "ĠAdobe": 29966, + "Os": 29967, + "visited": 29968, + "ĠOW": 29969, + "ĠFeed": 29970, + "ĠSequence": 29971, + "Ġmanages": 29972, + "inson": 29973, + "ĠLouisiana": 29974, + "{})": 29975, + "ĠHab": 29976, + "ĠLD": 29977, + "Ġbip": 29978, + "prites": 29979, + "(elem": 29980, + ".hibernate": 29981, + "élé": 29982, + "Ġohne": 29983, + "_transaction": 29984, + "Ġannunci": 29985, + "Published": 29986, + "ĠHonda": 29987, + "ĠTam": 29988, + "ĠPacket": 29989, + "_selector": 29990, + "Ġchallenged": 29991, + "Processing": 29992, + "-hover": 29993, + "Ġtrainer": 29994, + "_cancel": 29995, + "ĠNSDictionary": 29996, + "abric": 29997, + "ĠMLS": 29998, + "_sensor": 29999, + "Ġshrink": 30000, + "ĠFX": 30001, + "threshold": 30002, + "ĉHX": 30003, + "-mark": 30004, + "`.`": 30005, + "Scheme": 30006, + "(full": 30007, + "_writer": 30008, + "ĠSys": 30009, + "Ġfled": 30010, + "ĠCin": 30011, + "-widget": 30012, + "ĠPrevious": 30013, + "Gender": 30014, + "_question": 30015, + "Feed": 30016, + "Ġscrut": 30017, + "(prefix": 30018, + "ãĢĤãĢĤ": 30019, + "Ġinfections": 30020, + "Parts": 30021, + "Ġhierarchy": 30022, + "_DELETE": 30023, + "ĠPatient": 30024, + "_pay": 30025, + "Ġpromoted": 30026, + "Ġìĭ": 30027, + "Ġcivilian": 30028, + "Ġagriculture": 30029, + "ĠPiece": 30030, + "Ġstance": 30031, + "utsche": 30032, + "Assign": 30033, + ".ACTION": 30034, + "Fig": 30035, + "_radius": 30036, + "ĠSync": 30037, + "ducer": 30038, + "failure": 30039, + "ensed": 30040, + "ptime": 30041, + "BM": 30042, + "_datetime": 30043, + "quivo": 30044, + "QUEUE": 30045, + "èĢħ": 30046, + "Appear": 30047, + "Ġsummit": 30048, + ":void": 30049, + "Ġvine": 30050, + "认": 30051, + "onne": 30052, + "_TRANS": 30053, + ".green": 30054, + "_cc": 30055, + "Ġhungry": 30056, + "Ġ\">": 30057, + "());čĊčĊ": 30058, + "Extract": 30059, + "izens": 30060, + "Ġsolver": 30061, + "Notify": 30062, + "Ġenglish": 30063, + "ĠShopping": 30064, + "interfaces": 30065, + "REQ": 30066, + "Ġilleg": 30067, + "ĠUIImageView": 30068, + "Ġdisconnect": 30069, + "ĠUntil": 30070, + "ĠConservative": 30071, + "@Column": 30072, + "Ġshifted": 30073, + "Ġ:čĊ": 30074, + "Ġfich": 30075, + "Ġdla": 30076, + "Ġshoe": 30077, + "\"),čĊ": 30078, + "ularity": 30079, + "_RESP": 30080, + "Weather": 30081, + "UIApplication": 30082, + ".iterator": 30083, + "Ġaging": 30084, + ".Parent": 30085, + "owie": 30086, + "(equal": 30087, + "ĠConv": 30088, + "/default": 30089, + "Ġmeasuring": 30090, + ".prev": 30091, + ".IsValid": 30092, + ".Fat": 30093, + "ĠsÄĥ": 30094, + "keywords": 30095, + "without": 30096, + "Ġsovere": 30097, + "Ġexchanges": 30098, + "Ġmelt": 30099, + "Ġislands": 30100, + "ĠIntegr": 30101, + "Ġjumping": 30102, + "Ġgle": 30103, + "Ġjournalism": 30104, + "Ġdated": 30105, + "Localized": 30106, + "ĠRefresh": 30107, + "Particle": 30108, + "Ġaa": 30109, + "ĠSTRICT": 30110, + "Ġbod": 30111, + ".Process": 30112, + "_AUTO": 30113, + "ĠPublished": 30114, + "every": 30115, + "Ġtechnological": 30116, + "lsx": 30117, + "Ġirrit": 30118, + "Additional": 30119, + "Ġdelimiter": 30120, + "_language": 30121, + "-area": 30122, + "boys": 30123, + "ĠTube": 30124, + "Ġwat": 30125, + "Ġmechanics": 30126, + "_owner": 30127, + "Spell": 30128, + "ĠStories": 30129, + ".AppendLine": 30130, + "TableView": 30131, + "hem": 30132, + "stick": 30133, + "ollower": 30134, + "IFF": 30135, + "ĠUV": 30136, + "ollision": 30137, + "SUB": 30138, + "Ġcomparable": 30139, + "Ġdonde": 30140, + "sales": 30141, + "llvm": 30142, + "Ġ}],Ċ": 30143, + "OTTOM": 30144, + "ĠPurpose": 30145, + "Lab": 30146, + "Ġinterviewed": 30147, + "ois": 30148, + "asil": 30149, + ".setId": 30150, + "ĠInstruction": 30151, + "-->": 30152, + "ĠModified": 30153, + "ationally": 30154, + "ĠMeeting": 30155, + "误": 30156, + "#region": 30157, + "Ġrouting": 30158, + ".focus": 30159, + "ĠYouth": 30160, + "<": 30448, + "Ġunto": 30449, + "ologically": 30450, + "ĠMul": 30451, + "VIDIA": 30452, + "Ġslim": 30453, + "ĠCommissioner": 30454, + "(on": 30455, + "Ġunderneath": 30456, + "/db": 30457, + "vote": 30458, + "(Message": 30459, + "ĠPope": 30460, + "Defined": 30461, + "Ġswift": 30462, + "urf": 30463, + "Ġadapted": 30464, + "SEL": 30465, + "Ġrevenues": 30466, + "Ġdivine": 30467, + "=y": 30468, + "Gradient": 30469, + "_act": 30470, + "Ġ/*!<": 30471, + "Ġpolygon": 30472, + "ĠFDA": 30473, + "ĠCarr": 30474, + "atables": 30475, + "(stdout": 30476, + "Ġrefriger": 30477, + "Ġcoordin": 30478, + "avorites": 30479, + "ÑĪи": 30480, + "Ġcompassion": 30481, + "ĠPOSSIBILITY": 30482, + "-secondary": 30483, + "uracy": 30484, + "Ġcompromise": 30485, + "_AV": 30486, + "_os": 30487, + "Ġbeside": 30488, + "ĥĿ": 30489, + "Ġln": 30490, + ".plugins": 30491, + "Capacity": 30492, + "alah": 30493, + ".bin": 30494, + "ĠCRC": 30495, + "_balance": 30496, + "ĠflexDirection": 30497, + "Ġambit": 30498, + "Ġnickname": 30499, + "ĠForces": 30500, + "CLE": 30501, + "ĠShell": 30502, + "Ġsail": 30503, + "ĠWriter": 30504, + "ĠAlice": 30505, + "dw": 30506, + "ĠIndians": 30507, + "ĠMarshall": 30508, + "_SRC": 30509, + "Ġnormalized": 30510, + "ĠJag": 30511, + "ãĤĴ": 30512, + "zeit": 30513, + "rpc": 30514, + "ÃŃc": 30515, + ".inline": 30516, + "Ġtravers": 30517, + "_numeric": 30518, + "Ġutilities": 30519, + "Ġevac": 30520, + "INPUT": 30521, + "ĉregister": 30522, + "MX": 30523, + "ĠCampbell": 30524, + "Ġdatasets": 30525, + "Ġdemanded": 30526, + "ĠinitialState": 30527, + "gan": 30528, + "Ġei": 30529, + "Unexpected": 30530, + "-web": 30531, + "trait": 30532, + ",Y": 30533, + "ĠTodd": 30534, + "Ġskeleton": 30535, + "Ġoptimize": 30536, + "第": 30537, + "ĠUpon": 30538, + "ĠStObject": 30539, + "Ġaplic": 30540, + ".'P": 30578, + "vron": 30579, + ".UN": 30580, + "Ġpainter": 30581, + "izarre": 30582, + "Ġlav": 30583, + "Ġpom": 30584, + "preg": 30585, + "=function": 30586, + "(serial": 30587, + "ifica": 30588, + "uming": 30589, + "åľ°": 30590, + "ãģĤ": 30591, + "-op": 30592, + "UCH": 30593, + "ĠHend": 30594, + ".propTypes": 30595, + "Ġyo": 30596, + "Ġroutines": 30597, + "Ġcaring": 30598, + "Sem": 30599, + "Ġreserves": 30600, + "Ġpriorities": 30601, + "redits": 30602, + "ISTR": 30603, + "ContentType": 30604, + "ĠSchw": 30605, + "/media": 30606, + "Ġestr": 30607, + "Ġclimbing": 30608, + "-week": 30609, + "cherche": 30610, + "sensor": 30611, + "ToArray": 30612, + "ĠMontreal": 30613, + "Ġclouds": 30614, + "ĠInjectable": 30615, + "ĠRice": 30616, + "Ġpropaganda": 30617, + "_provider": 30618, + "Ġindoor": 30619, + "Ġinaug": 30620, + "Ġdiplom": 30621, + "Ġmessaging": 30622, + "_mut": 30623, + "å¦Ĥ": 30624, + "Ġkw": 30625, + "ONS": 30626, + "arians": 30627, + "RPC": 30628, + ")]čĊ": 30629, + "-ray": 30630, + "ĠSor": 30631, + "mall": 30632, + "Ġmarketplace": 30633, + "Ġvtk": 30634, + "Ma": 30635, + "ogan": 30636, + "igi": 30637, + "Ġsponsored": 30638, + "ĠDani": 30639, + ".SEVER": 30640, + ">'.$": 30641, + "multipart": 30642, + "ĠWol": 30643, + "ĠtableName": 30644, + "ĠUsername": 30645, + "BackgroundColor": 30646, + "Ġfright": 30647, + "_EMAIL": 30648, + "September": 30649, + "_vals": 30650, + "opia": 30651, + "Ġspotted": 30652, + "-Ch": 30653, + "ĠdataSource": 30654, + "/\"Ċ": 30655, + "екÑĤ": 30656, + "ĠRequestMethod": 30657, + "ĠReplace": 30658, + "-do": 30659, + "ahn": 30660, + "ĠPhD": 30661, + "].ĊĊ": 30662, + "NON": 30663, + "gement": 30664, + "ĠThr": 30665, + "Ġquietly": 30666, + "Ġtorture": 30667, + "Ġteas": 30668, + "ĠCY": 30669, + "Ġatr": 30670, + "development": 30671, + "-detail": 30672, + "Ġlighter": 30673, + "Ġarguing": 30674, + "Ġdeserves": 30675, + "Ġcurriculum": 30676, + "_CONTEXT": 30677, + "ÅĤy": 30678, + "HITE": 30679, + "ĉID": 30680, + "/uploads": 30681, + "Ġtits": 30682, + "reo": 30683, + "_drop": 30684, + ".UTF": 30685, + "Ġpickup": 30686, + "Ġgrocery": 30687, + "ĠPure": 30688, + "Ġeasiest": 30689, + "Phil": 30690, + ".feature": 30691, + "(\"*": 30692, + "Ġinvestor": 30693, + "tok": 30694, + "Ġjar": 30695, + "Los": 30696, + "âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ": 30697, + ".queue": 30698, + "-speed": 30699, + "Mal": 30700, + "umblr": 30701, + "ĠCONST": 30702, + "ĠHRESULT": 30703, + "ĠDance": 30704, + "(filePath": 30705, + "Ġattributed": 30706, + "à¥į": 30707, + "ĠBund": 30708, + "coins": 30709, + "Ġsão": 30710, + "Ġpir": 30711, + "personal": 30712, + "Ġprelim": 30713, + "Ġpropose": 30714, + "ĠTL": 30715, + "]])": 30716, + "ĠSubscription": 30717, + "ĠKre": 30718, + ",len": 30719, + ".FirstOrDefault": 30720, + ")--": 30721, + "_products": 30722, + ".GetBytes": 30723, + "Ship": 30724, + "Ġencrypt": 30725, + "ĠSG": 30726, + "ĠMyst": 30727, + "hir": 30728, + "Ġiterate": 30729, + "Ġintend": 30730, + ".mockito": 30731, + "Ġchapters": 30732, + "(angle": 30733, + "ĠVlad": 30734, + "设": 30735, + "'.ĊĊ": 30736, + "ResponseBody": 30737, + "ĠAbd": 30738, + "deal": 30739, + "Ġbarriers": 30740, + "-outline": 30741, + "bill": 30742, + "ĠFalls": 30743, + "_second": 30744, + ".include": 30745, + ".ceil": 30746, + "Ġoccupation": 30747, + "phony": 30748, + ".moveTo": 30749, + "ĠJennifer": 30750, + "ASTER": 30751, + ";\"><": 30752, + "ĠEnabled": 30753, + "Ġterminate": 30754, + "ĠIo": 30755, + "lations": 30756, + "ĠTHEORY": 30757, + "Ġearliest": 30758, + "Ġrack": 30759, + "ĠScar": 30760, + "shake": 30761, + "chip": 30762, + "Ġuv": 30763, + "Ġalliance": 30764, + "пиÑģ": 30765, + "ĠGOODS": 30766, + "zione": 30767, + "ĠVI": 30768, + "Ġ{-": 30769, + "Ġfiltering": 30770, + "Ġmiscon": 30771, + ".DockStyle": 30772, + "Ġbush": 30773, + "Ġjunk": 30774, + "æĮ": 30775, + "ĠQUE": 30776, + "Ġhooks": 30777, + "Ġfirmware": 30778, + "Ġmiddleware": 30779, + "dic": 30780, + "ĠOakland": 30781, + "Ġarrives": 30782, + "Payload": 30783, + "pixel": 30784, + "]|": 30785, + "ĠstartDate": 30786, + ".PRO": 30787, + "_audio": 30788, + "Ġmidfield": 30789, + "igidbody": 30790, + "ĠSwiss": 30791, + "ĠClip": 30792, + "ĠDump": 30793, + "ĠTextBox": 30794, + "Ġgeh": 30795, + "yield": 30796, + "ods": 30797, + "Ġreferendum": 30798, + "Backend": 30799, + "ĠCream": 30800, + "Ġdominated": 30801, + "ĠArchive": 30802, + "Ġriders": 30803, + ".prepareStatement": 30804, + "Ġquando": 30805, + "Ġchef": 30806, + "wiki": 30807, + "inel": 30808, + "ampling": 30809, + "(\"\\\\": 30810, + "Ġsag": 30811, + "_proxy": 30812, + "ãģķ": 30813, + "pdo": 30814, + ".getElementsByTagName": 30815, + "Ġdemonstration": 30816, + "ĠNPC": 30817, + "Ġarchivo": 30818, + "endance": 30819, + "Ġefficiently": 30820, + "(actual": 30821, + ".tableView": 30822, + "Ġmush": 30823, + "Ġbears": 30824, + "_threads": 30825, + "jas": 30826, + "ahun": 30827, + "Ġneural": 30828, + "Ġdesigning": 30829, + "ĠGDP": 30830, + "Ġlifted": 30831, + "缮": 30832, + "ĠJoint": 30833, + "ĠInclude": 30834, + "ĠGiants": 30835, + "Ġwithdrawal": 30836, + "ĠRent": 30837, + "native": 30838, + "ĠSeek": 30839, + "gression": 30840, + "_CPU": 30841, + "\\S": 30842, + "ĠShield": 30843, + "Ġsolic": 30844, + "Ġboom": 30845, + "yecto": 30846, + "Ġmanufacture": 30847, + "ĠâĢĭ": 30848, + "Ġbbox": 30849, + "Ġearthqu": 30850, + "ollectors": 30851, + ":@\"%": 30852, + "Ġloops": 30853, + "Je": 30854, + "alking": 30855, + "ĠWhats": 30856, + "ĠBoys": 30857, + ".book": 30858, + "ARGE": 30859, + "_pixel": 30860, + "Ġsuspects": 30861, + "ι": 30862, + "usp": 30863, + "ĠBMW": 30864, + "ieces": 30865, + "(person": 30866, + "å¼Ģ": 30867, + "é»": 30868, + "ĠPodcast": 30869, + "Ġbou": 30870, + "(Item": 30871, + "û": 30872, + "(Input": 30873, + "HttpGet": 30874, + "Ġburg": 30875, + ")^": 30876, + "BOARD": 30877, + "*/,": 30878, + "Ġgulp": 30879, + "ĠBenn": 30880, + "Ġdecks": 30881, + ".statusCode": 30882, + "Ġacute": 30883, + "Ġhug": 30884, + "ugu": 30885, + "Ġpled": 30886, + ",\"%": 30887, + "hape": 30888, + "Ġзап": 30889, + "ĠMaine": 30890, + ".real": 30891, + "Ġdalam": 30892, + "ĠMinor": 30893, + ".Float": 30894, + "disp": 30895, + "Ġtl": 30896, + "Ġencount": 30897, + "=>$": 30898, + "Ġfg": 30899, + "tees": 30900, + "ĠRecomm": 30901, + "äl": 30902, + "Ġchemistry": 30903, + "Blocks": 30904, + "OID": 30905, + "Ġforex": 30906, + "ĠAppend": 30907, + "Ġ{*": 30908, + "ĠSupply": 30909, + "CGFloat": 30910, + "(bl": 30911, + "Ġate": 30912, + "adora": 30913, + "Ġgust": 30914, + "Associ": 30915, + ">.Ċ": 30916, + "FETCH": 30917, + ".serial": 30918, + "widgets": 30919, + "ardless": 30920, + "iefs": 30921, + "_FULL": 30922, + "ernetes": 30923, + "ĠPred": 30924, + "ØŃ": 30925, + "äºĭ": 30926, + "ubernetes": 30927, + "ĠLaura": 30928, + "Ġlabeled": 30929, + "Highlight": 30930, + "Ġannoying": 30931, + "/update": 30932, + "(description": 30933, + "Ġintimid": 30934, + "$c": 30935, + "\")))Ċ": 30936, + ".AP": 30937, + "Ġ[]*": 30938, + "ĠEXIT": 30939, + ".Host": 30940, + "ĠOPEN": 30941, + ".sendMessage": 30942, + "_camera": 30943, + "_tile": 30944, + "Ġtherm": 30945, + "onomous": 30946, + "Ġdisadv": 30947, + "Ġnaar": 30948, + "indexOf": 30949, + "ĠPP": 30950, + ".protocol": 30951, + "AFE": 30952, + "Ġtextures": 30953, + "################################################": 30954, + "umbai": 30955, + ".stats": 30956, + "ĠGE": 30957, + "Ġie": 30958, + "ĠSTD": 30959, + "ĠMann": 30960, + ".reflect": 30961, + "KB": 30962, + "Ġdive": 30963, + ".wav": 30964, + "/*----------------------------------------------------------------": 30965, + "/settings": 30966, + ".lifecycle": 30967, + "Ġdaughters": 30968, + "orus": 30969, + "uber": 30970, + "NING": 30971, + "stri": 30972, + "ĠTip": 30973, + "Ġzn": 30974, + "Ġswitched": 30975, + "inet": 30976, + "uffy": 30977, + "ĠTransportation": 30978, + "(conf": 30979, + "frica": 30980, + "ĠXL": 30981, + "ĠLead": 30982, + "_percent": 30983, + "__": 30999, + "permissions": 31000, + "ĠDetermine": 31001, + ".Man": 31002, + "Ġadvances": 31003, + ".InputStream": 31004, + "Ġstrongest": 31005, + "ĠeBay": 31006, + "Ġ#-": 31007, + "Ġdirname": 31008, + "ĠSMS": 31009, + "Ġmedications": 31010, + "Ġamended": 31011, + "Ġchurches": 31012, + "ĠImperial": 31013, + "$row": 31014, + "ĠMadison": 31015, + "ĠInsp": 31016, + "Ġaffair": 31017, + "Ġpsychology": 31018, + "vh": 31019, + "Ġseverity": 31020, + "âĢIJ": 31021, + "Ġstrips": 31022, + "AH": 31023, + "vertising": 31024, + "Ġconse": 31025, + "IMAGE": 31026, + "ĠStats": 31027, + "ĉsc": 31028, + ".Cursor": 31029, + "Ġfreeze": 31030, + "sson": 31031, + "(xml": 31032, + "ĠSusan": 31033, + ".tile": 31034, + "eded": 31035, + "ĠĠĠĠĉĉĉ": 31036, + "uelle": 31037, + "ĠMitchell": 31038, + "based": 31039, + "Operand": 31040, + "½æķ°": 31041, + "ĠFF": 31042, + "ĉstrcpy": 31043, + "ounces": 31044, + "ildo": 31045, + ".executeQuery": 31046, + "Ġapproaching": 31047, + "ĠSeven": 31048, + "Ġnuts": 31049, + "Ġric": 31050, + "assignment": 31051, + "Ġcalculator": 31052, + "ĠMurphy": 31053, + "ĠBou": 31054, + "íĦ": 31055, + "Ġbutt": 31056, + "Ġticks": 31057, + "Projects": 31058, + "ilib": 31059, + ".textColor": 31060, + "mov": 31061, + "_logo": 31062, + "(template": 31063, + "ĠINIT": 31064, + "ĠimageView": 31065, + "scriptions": 31066, + "ORITY": 31067, + "Consumer": 31068, + "Ġunprecedented": 31069, + "Ġtourist": 31070, + "Ġbron": 31071, + "Ġcontractor": 31072, + "Ġlicence": 31073, + "ĠNam": 31074, + "æ¯": 31075, + "(transform": 31076, + "_ATT": 31077, + "Pref": 31078, + "ĠGam": 31079, + "Ġvessels": 31080, + "Ġhav": 31081, + "Later": 31082, + ".ToLower": 31083, + "Ġurls": 31084, + "Ġbreakdown": 31085, + "Ġpenalties": 31086, + "Ġfoster": 31087, + "ĠUE": 31088, + "Ġclue": 31089, + "comed": 31090, + "åIJįç§°": 31091, + "-main": 31092, + "Ġpts": 31093, + "Ġcounted": 31094, + "icts": 31095, + "/post": 31096, + "Ġgetattr": 31097, + "Ġping": 31098, + "ANCEL": 31099, + "Ġpec": 31100, + "Ñħод": 31101, + "antom": 31102, + "ĠBlueprint": 31103, + "ĠEventEmitter": 31104, + "Ġlä": 31105, + "æ²": 31106, + "Ġstraw": 31107, + "(comp": 31108, + "'une": 31109, + ">N": 31110, + "-client": 31111, + "esModule": 31112, + "-base": 31113, + "Ġretreat": 31114, + "_simple": 31115, + "ĉĉĉĉĉĉĠ": 31116, + "fee": 31117, + "')čĊčĊ": 31118, + "ControlItem": 31119, + "Ġsubscribers": 31120, + "please": 31121, + "ĠEff": 31122, + "Ġpound": 31123, + "ĠBytes": 31124, + "ĠTea": 31125, + "_activity": 31126, + "Ġmaxim": 31127, + "Ġopcode": 31128, + "BSD": 31129, + ".constant": 31130, + ";}": 31131, + "ombres": 31132, + "Ġcareers": 31133, + ").ĊĊĊĊ": 31134, + "Ġspreading": 31135, + "-expanded": 31136, + "ĠOrd": 31137, + "amarin": 31138, + "Ġmobility": 31139, + "Unfortunately": 31140, + "akk": 31141, + "NL": 31142, + "_redirect": 31143, + "ĠPG": 31144, + "ĠSensor": 31145, + "bol": 31146, + "tap": 31147, + "_MEMORY": 31148, + "ĠUIAlert": 31149, + "plitude": 31150, + "Website": 31151, + "ĠLogo": 31152, + "love": 31153, + "[ind": 31154, + "Ġaltogether": 31155, + "Ġwondered": 31156, + "Ġesper": 31157, + "ĠLiberal": 31158, + "Ġoss": 31159, + "Ġelit": 31160, + "Ġstiff": 31161, + "odox": 31162, + "_mentions": 31163, + "ĠDouglas": 31164, + "_pid": 31165, + "ĠCK": 31166, + "ĠinitWithFrame": 31167, + ".blog": 31168, + "pkg": 31169, + "anghai": 31170, + "QUIRED": 31171, + "uu": 31172, + "Ġmkdir": 31173, + "ATAL": 31174, + "Ġunh": 31175, + "inces": 31176, + "sth": 31177, + "Ġhypothesis": 31178, + "Ġcata": 31179, + "ĠTB": 31180, + "ĠClar": 31181, + "Ġpredecess": 31182, + "Ġsituated": 31183, + "-world": 31184, + "))/": 31185, + "Ġheadlines": 31186, + ".stat": 31187, + "Ġoutbreak": 31188, + "spath": 31189, + "_FLAGS": 31190, + "ĠServletException": 31191, + "Sun": 31192, + "FROM": 31193, + "ĠDir": 31194, + "ãĥ»ãĥ»ãĥ»": 31195, + "_coord": 31196, + "ĠOptim": 31197, + "Monitor": 31198, + ".bit": 31199, + "XXX": 31200, + "Ġtodas": 31201, + "feld": 31202, + "ÑĢи": 31203, + "imir": 31204, + "Ġpolitically": 31205, + "Ġmolecular": 31206, + "Ġtraded": 31207, + "Ġ{{$": 31208, + "ĠSwedish": 31209, + "Ġ'@/": 31210, + "_REAL": 31211, + "Ġwarehouse": 31212, + "today": 31213, + ",L": 31214, + "orp": 31215, + "false": 31492, + "Ġspa": 31493, + "ĠNear": 31494, + "ìķ": 31495, + "Ġintrig": 31496, + "_members": 31497, + "wave": 31498, + "Ġanalysts": 31499, + "_OS": 31500, + "edin": 31501, + "ĠFri": 31502, + "Ġretrieved": 31503, + "Regular": 31504, + "_obs": 31505, + "EXPORT": 31506, + "')}}\"": 31507, + "\"class": 31508, + "__((": 31509, + "bucket": 31510, + "Ġstro": 31511, + "ĠPatch": 31512, + "ystick": 31513, + "fulness": 31514, + "apos": 31515, + "Da": 31516, + "ĉĉĉĉĉĠĠĠ": 31517, + "Ġenrich": 31518, + "unordered": 31519, + "hole": 31520, + "Cong": 31521, + "';ĊĊ": 31563, + "STRUCT": 31564, + "QR": 31565, + "IDs": 31566, + "(arguments": 31567, + "_aux": 31568, + "(Event": 31569, + "_PRIVATE": 31570, + "ĠTrek": 31571, + "Ġdownloads": 31572, + "mutable": 31573, + "_STRUCT": 31574, + "(wx": 31575, + "Ġdomains": 31576, + "jspx": 31577, + "ĠViagra": 31578, + "Commands": 31579, + "Js": 31580, + ".cfg": 31581, + "ContentPane": 31582, + "ĠEditText": 31583, + "à¥įà¤": 31584, + "Attach": 31585, + "ĠARM": 31586, + "positive": 31587, + "ĠGenerated": 31588, + "Ġseized": 31589, + "=:": 31590, + "Ġelectronics": 31591, + "ĠAppComponent": 31592, + "/',Ċ": 31593, + ".equalsIgnoreCase": 31594, + "Doctrine": 31595, + "disk": 31596, + "ĠPolitical": 31597, + "CHO": 31598, + "": 31684, + "ĠBeauty": 31685, + "Ġ`<": 31686, + "Ġtouching": 31687, + "Ġ|--": 31688, + "ĉflag": 31689, + "normalize": 31690, + "Ġtrapped": 31691, + "Ġestablishing": 31692, + "/build": 31693, + "AJ": 31694, + "fy": 31695, + "-react": 31696, + "avn": 31697, + "RIPTION": 31698, + "Ġkut": 31699, + "ĠFashion": 31700, + "ĠInform": 31701, + "curities": 31702, + "{Ċ": 31734, + "Ġgarlic": 31735, + "Ġrepr": 31736, + "Ġreplies": 31737, + "(prop": 31738, + "Ġspirits": 31739, + "Ġinspire": 31740, + "Ġbasement": 31741, + ".reject": 31742, + "Ġhints": 31743, + "Ġpolling": 31744, + "ĉĠĊ": 31745, + "_rating": 31746, + "Ġcath": 31747, + "avier": 31748, + "Ġcompressed": 31749, + "ĠVS": 31750, + "]'": 31751, + "Ġjudicial": 31752, + "ĠTrend": 31753, + "training": 31754, + "ESTAMP": 31755, + "ognition": 31756, + "Äģ": 31757, + "SENT": 31758, + "ventions": 31759, + "Ġconsultant": 31760, + "umph": 31761, + "ĠuserService": 31762, + ",NULL": 31763, + "kh": 31764, + "Dear": 31765, + "_BAD": 31766, + "itations": 31767, + "Ġmetaph": 31768, + "'é": 31769, + "andise": 31770, + "-font": 31771, + ".chart": 31772, + "Ġsg": 31773, + "_Controller": 31774, + ".jpeg": 31775, + "ĠULONG": 31776, + "ĉgame": 31777, + "(ss": 31778, + "ĠMaj": 31779, + "ĉgo": 31780, + "ĠSad": 31781, + "ĠBerg": 31782, + "ĠMine": 31783, + "Pack": 31784, + "Ġresistant": 31785, + "ĠROM": 31786, + "Ġpeg": 31787, + "ĠStanford": 31788, + "ĠYahoo": 31789, + "Ġscaled": 31790, + "Ġlan": 31791, + "=[]": 31792, + "\"/>ččĊ": 31836, + "Ġsud": 31837, + "ĉbackground": 31838, + "Ġscholars": 31839, + "-muted": 31840, + "ará": 31841, + "Ġ=====": 31842, + "Ġ____": 31843, + "Creat": 31844, + "enever": 31845, + "/wp": 31846, + "ĠVPN": 31847, + "ErrorCode": 31848, + ")],Ċ": 31849, + "(builder": 31850, + "ĠEnemy": 31851, + "Sensor": 31852, + "usa": 31853, + "Ġtriggers": 31854, + "Ġplayoffs": 31855, + "_REQ": 31856, + "Ġ(~": 31857, + "ĠBarry": 31858, + "Ġpermanently": 31859, + "ĠRUN": 31860, + "Ġbure": 31861, + ".Fatalf": 31862, + "Ġchick": 31863, + "ĉpanic": 31864, + "psi": 31865, + "oka": 31866, + "éĢī": 31867, + ">[": 31868, + "Ġunderstands": 31869, + "ĠJunior": 31870, + "ĠINFO": 31871, + "=mysqli": 31872, + "ustain": 31873, + "-source": 31874, + "serv": 31875, + "ĠCREATE": 31876, + ".au": 31877, + "Ġsells": 31878, + "ĠĠĊĠĠĊ": 31879, + "Europe": 31880, + "zw": 31881, + "preh": 31882, + "ĠNSA": 31883, + "Ġxy": 31884, + "ิ": 31885, + "ĠBeyond": 31886, + "Instead": 31887, + "NonQuery": 31888, + "Ġarise": 31889, + "Ġavoided": 31890, + ".emplace": 31891, + "_models": 31892, + "}),Ċ": 31893, + "Ġhid": 31894, + "Ġ&_": 31895, + ".points": 31896, + ".getWidth": 31897, + ".Exec": 31898, + "Ġ////": 31899, + "ĠSessions": 31900, + "...\\": 31901, + "ĠColomb": 31902, + "Ġacceleration": 31903, + "restore": 31904, + "Ġile": 31905, + "obic": 31906, + "}Ċ": 32396, + "plaint": 32397, + "getText": 32398, + "Ġindividually": 32399, + "Ġcheckbox": 32400, + "UY": 32401, + "ĠLamb": 32402, + "Ġdysfunction": 32403, + "ĠLar": 32404, + "à°": 32405, + "ĠCreating": 32406, + "');ĊĊĊ": 32407, + "\"They": 32408, + "locations": 32409, + "_CORE": 32410, + "Interaction": 32411, + "umbnails": 32412, + "ĠPartner": 32413, + "brit": 32414, + "Ġlesser": 32415, + "ĠSlot": 32416, + "setAttribute": 32417, + "ĠWave": 32418, + ".po": 32419, + "/store": 32420, + "Ġbrowsing": 32421, + "_pd": 32422, + "sume": 32423, + "sed": 32424, + "Curve": 32425, + "Ġplasma": 32426, + "Ġsuspicious": 32427, + "ìĿ¸": 32428, + "ĠBah": 32429, + "ĠExplicit": 32430, + "_CC": 32431, + ".ClientSize": 32432, + "\\View": 32433, + "Ġsubstit": 32434, + "loon": 32435, + "ĠGAME": 32436, + "ĠBrid": 32437, + "Ľå»º": 32438, + "_User": 32439, + "Ġsquares": 32440, + "fone": 32441, + "Ġsacred": 32442, + "ughs": 32443, + "]interface": 32444, + "ĠThrow": 32445, + "ĠKirk": 32446, + "Ġempire": 32447, + "Ġassessed": 32448, + "Tax": 32449, + "ĠHeaven": 32450, + "-buffer": 32451, + "_STATIC": 32452, + "éné": 32453, + "-bordered": 32454, + "Ġpunct": 32455, + "(mode": 32456, + "Ġkeine": 32457, + "Sent": 32458, + "ĠCalcul": 32459, + "ĠEve": 32460, + "Ġstylish": 32461, + "Ġoils": 32462, + ".TestCase": 32463, + "Ġtrademark": 32464, + "Ġliterary": 32465, + "Ġconcentrations": 32466, + "ĠRelations": 32467, + "(Class": 32468, + "Ġstdin": 32469, + "Ġvæ": 32470, + "backup": 32471, + ".VERSION": 32472, + ".AutoScaleDimensions": 32473, + "starter": 32474, + "Transactional": 32475, + "-panel": 32476, + "Studio": 32477, + "kc": 32478, + "ĠChamber": 32479, + "ĠSpiel": 32480, + "Ġrho": 32481, + "اÙĦ": 32482, + "!'": 32483, + ".Attributes": 32484, + "Ġmurdered": 32485, + "apeutic": 32486, + "Ġintimate": 32487, + "ĠtextField": 32488, + "ĠBuffalo": 32489, + "dummy": 32490, + "\"%": 32491, + "ĠLiberty": 32492, + "obar": 32493, + "ĠTank": 32494, + "ĠPopular": 32495, + "ervisor": 32496, + "ĠIniti": 32497, + "ĠMall": 32498, + "ĠPrior": 32499, + "CAP": 32500, + "ĠClay": 32501, + "ĠCertificate": 32502, + ".Lock": 32503, + "-strip": 32504, + "-driven": 32505, + "/all": 32506, + "ĠMessageBoxButtons": 32507, + "_SECRET": 32508, + "_pb": 32509, + "Ġrats": 32510, + "ाà¤": 32511, + "Ġnt": 32512, + ".Router": 32513, + "_topic": 32514, + "Ġtennis": 32515, + "ĠPUBLIC": 32516, + "ĠActivatedRoute": 32517, + "Ġ',Ċ": 32518, + "Ġcostume": 32519, + "Ġjokes": 32520, + ".Handle": 32521, + "ĉbyte": 32522, + "Ġflavors": 32523, + "(cc": 32524, + "Ġpersonas": 32525, + "ĉimage": 32526, + "ĠNazi": 32527, + "Ġgrammar": 32528, + "Ġúlt": 32529, + "Ġvalve": 32530, + "Ġvic": 32531, + "ĠRachel": 32532, + "_invalid": 32533, + "Prefs": 32534, + "stdint": 32535, + "(route": 32536, + "Ġhtmlspecialchars": 32537, + "Ġpeoples": 32538, + "pline": 32539, + "Ġnv": 32540, + "ĠQuant": 32541, + "oppers": 32542, + "ĠcurrentUser": 32543, + "ĠCatal": 32544, + "Ġreconc": 32545, + "Ġconjunction": 32546, + "lx": 32547, + "amburg": 32548, + "Ġinfluential": 32549, + "danger": 32550, + "inders": 32551, + "Ġ%@\",": 32552, + ".configuration": 32553, + "osome": 32554, + ".identity": 32555, + "Ġpicker": 32556, + "nost": 32557, + "ĠDIY": 32558, + "August": 32559, + "ablo": 32560, + "Leaf": 32561, + "ĠReco": 32562, + "cko": 32563, + "DOC": 32564, + "ĠHerm": 32565, + ":any": 32566, + "ĠInterview": 32567, + "ĠTex": 32568, + "xfe": 32569, + "(work": 32570, + "Ġleap": 32571, + "Heading": 32572, + "Ġquarters": 32573, + "\\Bundle": 32574, + "reb": 32575, + "Perhaps": 32576, + "ĠGmbH": 32577, + "Birth": 32578, + "ĉsum": 32579, + "ĠWatson": 32580, + ".nil": 32581, + "ç¡": 32582, + "{}ĊĊ": 32583, + "icaid": 32584, + "Getter": 32585, + "\"name": 32586, + "Ġ\"čĊ": 32587, + "_none": 32588, + "zm": 32589, + "acute": 32590, + "uesto": 32591, + "Ġsous": 32592, + "Ġrebuild": 32593, + "Ġnewspapers": 32594, + "ĠHaz": 32595, + "Ġkits": 32596, + "ifo": 32597, + "Blur": 32598, + "Ġsuited": 32599, + "-In": 32600, + "à¯": 32601, + "ĠKeith": 32602, + "ĠNorway": 32603, + "INIT": 32604, + "ireccion": 32605, + "ieties": 32606, + "_usage": 32607, + "ĠDoug": 32608, + "rise": 32609, + "Ġtrillion": 32610, + "imited": 32611, + "ĠREL": 32612, + "alic": 32613, + "Ġcriticized": 32614, + "theorem": 32615, + "Ġcease": 32616, + "Ġsidew": 32617, + "ĠTerry": 32618, + "Ġsubsidi": 32619, + "Ġfirmly": 32620, + "Ġaws": 32621, + "Ġhott": 32622, + "Ġdressing": 32623, + "badge": 32624, + "ĠApplications": 32625, + "è¿ĶåĽŀ": 32626, + "Ġlaughed": 32627, + "Ġhobby": 32628, + "Ġmusicians": 32629, + "Ġ*.": 32630, + ".placeholder": 32631, + "Ġcounters": 32632, + "ĠCapitol": 32633, + "SDK": 32634, + "Ġhelmet": 32635, + "andbox": 32636, + "quit": 32637, + "Ġcriminals": 32638, + "Ġteenager": 32639, + "(update": 32640, + "Gl": 32641, + ".selection": 32642, + "Ġdischarge": 32643, + "Ġpresenting": 32644, + "ufacturer": 32645, + "_UNKNOWN": 32646, + "Ġstressed": 32647, + "åύ": 32648, + "Proto": 32649, + "_correct": 32650, + "haus": 32651, + "Ġrenov": 32652, + "Ġfirearms": 32653, + "Ġtechnically": 32654, + "-browser": 32655, + "Ġcandy": 32656, + "Stroke": 32657, + "Ġexecutor": 32658, + "Ġoccurrence": 32659, + "ĠIPv": 32660, + "_INTERFACE": 32661, + "ĠRetrieve": 32662, + ".bad": 32663, + "Exchange": 32664, + "Navbar": 32665, + "ĠKid": 32666, + "(getApplicationContext": 32667, + "_STOP": 32668, + "ĠBoss": 32669, + "Listeners": 32670, + "Ġshooter": 32671, + "ĠAlb": 32672, + "äch": 32673, + "Ġpix": 32674, + ".keyCode": 32675, + "alone": 32676, + "Ġabsurd": 32677, + "ĠCum": 32678, + "ĠNewtonsoft": 32679, + "ikt": 32680, + "Ġlaughing": 32681, + "Ġcapitalism": 32682, + "reeNode": 32683, + "Tx": 32684, + "_QUERY": 32685, + ".Sleep": 32686, + "(login": 32687, + "WebElement": 32688, + "Ġcelebrating": 32689, + "Ġdeprecated": 32690, + "Ġmaar": 32691, + "Ġartistic": 32692, + "_ASSOC": 32693, + "ĠBorderRadius": 32694, + "ĉwp": 32695, + "Ġsurvivors": 32696, + "Inner": 32697, + "-red": 32698, + "Ġprosecution": 32699, + "_pp": 32700, + "(\"$": 32782, + "Ġcomma": 32783, + "unchecked": 32784, + "graphics": 32785, + "rors": 32786, + "GROUND": 32787, + "(public": 32788, + "Ġcustomized": 32789, + "ĠArkansas": 32790, + "ĠRew": 32791, + "Ġexpiration": 32792, + "×ķ": 32793, + "ĠCul": 32794, + "Ġnons": 32795, + ".Filter": 32796, + "Ġsenator": 32797, + "_definition": 32798, + "ashington": 32799, + "ymph": 32800, + "/J": 32801, + "Ġfuse": 32802, + "ramid": 32803, + "ĠSupplier": 32804, + "Ġautocomplete": 32805, + "Ġ}),": 32806, + ".\"ĊĊĊ": 32807, + "_functions": 32808, + "ĉto": 32809, + ".eval": 32810, + "ĠTObject": 32811, + "References": 32812, + "Ġheated": 32813, + "HAL": 32814, + "Ġ))}Ċ": 32815, + "}$": 32816, + "ĠBarr": 32817, + "_UNIT": 32818, + "+$": 32819, + "ĠgetValue": 32820, + "iped": 32821, + "chied": 32822, + "(vm": 32823, + "cue": 32824, + "_integer": 32825, + "_course": 32826, + "third": 32827, + "Ġrevised": 32828, + "**/Ċ": 32829, + "_DIRECT": 32830, + "OutOf": 32831, + "(\"(": 32832, + "ĠFeel": 32833, + "Ġreass": 32834, + "Ġsubtitle": 32835, + "peri": 32836, + "nf": 32837, + "Ġenjoys": 32838, + "Ġtreats": 32839, + ")this": 32840, + "-tabs": 32841, + "ancers": 32842, + "Ġcontinent": 32843, + "Ġcardio": 32844, + "Ser": 32845, + ".question": 32846, + "Ġphrases": 32847, + "Validators": 32848, + "Ġpopul": 32849, + "ĠlÃŃ": 32850, + "song": 32851, + "_INTERNAL": 32852, + "Ġadviser": 32853, + "Ġpuzz": 32854, + "Ġambitious": 32855, + "ĠTob": 32856, + "ĠDP": 32857, + "Ġpresidency": 32858, + "Ġsurrender": 32859, + "Ġwatches": 32860, + "_binary": 32861, + "ĠSoon": 32862, + "Ġcanada": 32863, + "(\"\")Ċ": 32864, + "]='": 32865, + "ĠBrandon": 32866, + "epsilon": 32867, + "rw": 32868, + ".addChild": 32869, + ".Copy": 32870, + "Principal": 32871, + "Photos": 32872, + "Ġmarginal": 32873, + "Ġbasics": 32874, + "eing": 32875, + "Must": 32876, + "_String": 32877, + "Ġole": 32878, + "Magento": 32879, + ".customer": 32880, + "(prev": 32881, + "ล": 32882, + "Ġloyalty": 32883, + "Cog": 32884, + "Ġprotocols": 32885, + "ĠCompanies": 32886, + "Ġtheoretical": 32887, + "Ġaccessing": 32888, + "ĠZen": 32889, + ".ones": 32890, + "attice": 32891, + "_world": 32892, + "zes": 32893, + "Ġtattoo": 32894, + "Ġmenos": 32895, + "Ġintersect": 32896, + "\"];ĊĊ": 32897, + "belie": 32898, + "Ġinactive": 32899, + ".readline": 32900, + "-labelled": 32901, + ".done": 32902, + "lickr": 32903, + "ĠWORK": 32904, + "Ġderivative": 32905, + "Ġdatabases": 32906, + "âĤĤ": 32907, + "Ġsx": 32908, + ".isArray": 32909, + "Ġys": 32910, + "Ġpada": 32911, + "ĠBullet": 32912, + "(`/": 32913, + "isActive": 32914, + "ĠCGSize": 32915, + "(equalTo": 32916, + "ĠColumbus": 32917, + "Ġmarry": 32918, + "DEV": 32919, + "_limits": 32920, + "rones": 32921, + "IAS": 32922, + "Ġtau": 32923, + "mino": 32924, + "_Write": 32925, + "ĠWine": 32926, + "Ġ[['": 32927, + "ĠPull": 32928, + "riters": 32929, + "rients": 32930, + "Ġshifting": 32931, + "upp": 32932, + "_TIMER": 32933, + "ĠConditions": 32934, + "ấ": 32935, + "ĠOrders": 32936, + "ĠStrength": 32937, + "æīĢ": 32938, + "Ġvalidity": 32939, + "Ġfot": 32940, + "etur": 32941, + "Ġbolt": 32942, + "åĨħ": 32943, + "ĠAlong": 32944, + "oshi": 32945, + "Ġassumptions": 32946, + "Ġmagazines": 32947, + "_SPI": 32948, + "Ġpunt": 32949, + "_PRODUCT": 32950, + "Ġrelay": 32951, + "ĠJavascript": 32952, + ".te": 32953, + "-es": 32954, + "Ġwidgets": 32955, + "(fs": 32956, + "\";": 33023, + "atching": 33024, + "ĠKnowledge": 33025, + "ĉThe": 33026, + ";margin": 33027, + "lessness": 33028, + "opard": 33029, + "umatic": 33030, + "()));čĊ": 33031, + "Ġfals": 33032, + "(cache": 33033, + "TypeId": 33034, + "éĢļ": 33035, + "_choice": 33036, + "ĠGoth": 33037, + "ĠSites": 33038, + "MG": 33039, + "_border": 33040, + "Indices": 33041, + "Comparer": 33042, + "ĠRedistribution": 33043, + "Ġcloset": 33044, + "Ġversatile": 33045, + "Inputs": 33046, + "********************": 33047, + "Ġobesity": 33048, + "quiz": 33049, + "gra": 33050, + "(global": 33051, + "åĬ¡": 33052, + "Ġcollector": 33053, + "Ġkor": 33054, + "ovable": 33055, + "ADC": 33056, + "ĠEventHandler": 33057, + ".nc": 33058, + "Ġplayback": 33059, + "ientos": 33060, + "_perm": 33061, + "_WARNING": 33062, + "ĠOlympics": 33063, + ".norm": 33064, + "ĠBroadcast": 33065, + "_small": 33066, + "drive": 33067, + ".iloc": 33068, + "Ġtyped": 33069, + "MEM": 33070, + "_cons": 33071, + "DMETHOD": 33072, + "Ġlun": 33073, + ".distance": 33074, + "(par": 33075, + "poon": 33076, + "Ġbast": 33077, + "activities": 33078, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 33079, + ":čĊčĊ": 33080, + "SER": 33081, + ")&&": 33082, + "_lst": 33083, + "ĠPolish": 33084, + "Ġknocked": 33085, + "Ġfrustration": 33086, + "aukee": 33087, + "Ġphosph": 33088, + "iquid": 33089, + "_coeff": 33090, + "æŃ¤": 33091, + "Latest": 33092, + "ĠDust": 33093, + "Tipo": 33094, + "Ġmaintains": 33095, + "Ġmarsh": 33096, + "incinn": 33097, + "lbl": 33098, + "Care": 33099, + "Ġneighborhoods": 33100, + "_gpio": 33101, + "ĠArsenal": 33102, + "Dem": 33103, + "ĠWhe": 33104, + "_hook": 33105, + "Ġldc": 33106, + "ĠHarper": 33107, + "ĠBerkeley": 33108, + "Ġgraduated": 33109, + "Percent": 33110, + "Ġarriving": 33111, + "ĠAdventure": 33112, + "(scope": 33113, + "('*": 33114, + "quarter": 33115, + "ĠMarie": 33116, + "Speaking": 33117, + "_codegen": 33118, + "Ġimmun": 33119, + "caster": 33120, + "ãĤĮ": 33121, + "åķĨ": 33122, + "ĠDimensions": 33123, + ".record": 33124, + "Ġtexto": 33125, + "ĠMichelle": 33126, + "Pending": 33127, + "(by": 33128, + "_PAR": 33129, + "ucht": 33130, + "bee": 33131, + ".Thread": 33132, + "ampire": 33133, + "know": 33134, + "ĠClinical": 33135, + "ĠmarginBottom": 33136, + "Ġdistinguish": 33137, + ".Full": 33138, + ".undefined": 33139, + "ĠSequelize": 33140, + "############################################################################": 33141, + "Ġeducated": 33142, + "_OVER": 33143, + "åºı": 33144, + "ĠÂłĠÂł": 33145, + "_each": 33146, + "Ġurge": 33147, + "depart": 33148, + "Ġdonors": 33149, + "ĠAu": 33150, + "Ġbillions": 33151, + "Ġbelonging": 33152, + "_age": 33153, + "_Int": 33154, + "Ġsubstances": 33155, + "machine": 33156, + "!!!ĊĊ": 33157, + "Ġjsonify": 33158, + "ibbean": 33159, + "ĠCad": 33160, + "ĠendTime": 33161, + "Ġcycling": 33162, + "ĠUITextField": 33163, + "Ġleverage": 33164, + "Ġvanilla": 33165, + "eat": 33166, + "Launch": 33167, + "(pt": 33168, + "states": 33169, + "ĠControls": 33170, + "ĠRespons": 33171, + "ĠJake": 33172, + "Ġasleep": 33173, + "fortunate": 33174, + ".nextLine": 33175, + "SizeMode": 33176, + "ìĿ¼": 33177, + "TestingModule": 33178, + "German": 33179, + "ĠInvestig": 33180, + ".reverse": 33181, + "ĠBACK": 33182, + "(DateTime": 33183, + "Ġnonprofit": 33184, + "ĠExpect": 33185, + "Ġtanto": 33186, + "']),": 33187, + "ĉthe": 33188, + "Multiple": 33189, + "(getActivity": 33190, + "_WAIT": 33191, + "Ġjá": 33192, + "decor": 33193, + "levance": 33194, + "ĠGitHub": 33195, + "mination": 33196, + "_quantity": 33197, + ".Scanner": 33198, + "ĠLion": 33199, + "éĶĻ误": 33200, + "Ġdre": 33201, + "Ġtantra": 33202, + "ĠcontentType": 33203, + "Ġfid": 33204, + "_alt": 33205, + "NSIndexPath": 33206, + "-pl": 33207, + "åĮĸ": 33208, + "Ġantibiot": 33209, + "tables": 33210, + "acial": 33211, + "ĠRegistry": 33212, + "Ġolive": 33213, + "igers": 33214, + "Ġsubscriber": 33215, + "_pres": 33216, + "ĠSyntax": 33217, + "Ġlovers": 33218, + ".Byte": 33219, + "olders": 33220, + "_forward": 33221, + "always": 33222, + "Caption": 33223, + "Priv": 33224, + "ĠTampa": 33225, + "isateur": 33226, + "-labelledby": 33227, + "ĠToString": 33228, + "ĠìĤ¬": 33229, + "Ġinitiated": 33230, + "WF": 33231, + "Ġinstitutional": 33232, + "inject": 33233, + "ĠScr": 33234, + "Ġdoctrine": 33235, + "Ġspacious": 33236, + "isure": 33237, + "ĠAna": 33238, + "\"time": 33239, + "essaging": 33240, + "Ġcid": 33241, + "ĠNan": 33242, + "Ġincomplete": 33243, + "TAG": 33244, + "-build": 33245, + "December": 33246, + "Ġresidual": 33247, + "(PDO": 33248, + "ĠListen": 33249, + "Ġglyph": 33250, + "Ġgaps": 33251, + "nea": 33252, + ".Rect": 33253, + "Ġsau": 33254, + "ĠPhotograph": 33255, + "Ġexecutable": 33256, + "ĠExpert": 33257, + "Coroutine": 33258, + "_sizes": 33259, + "ĠNL": 33260, + ".isValid": 33261, + ");}Ċ": 33262, + "-reg": 33263, + "Ġciting": 33264, + "cwd": 33265, + "ĠOttawa": 33266, + "ĠBatt": 33267, + "Ġrenewable": 33268, + "Ġpreliminary": 33269, + "Ġasylum": 33270, + "Ġwrist": 33271, + "Ġutiliz": 33272, + "Ġdetention": 33273, + "Fast": 33274, + "Ġange": 33275, + "incinnati": 33276, + "Ġsteering": 33277, + "ĠNaN": 33278, + "iosity": 33279, + "/page": 33280, + "Ġè¿": 33281, + "sterol": 33282, + "Ġdisg": 33283, + "(DB": 33284, + "ĠDESCRIPTION": 33285, + "Ġ_$": 33286, + "Ġobstacle": 33287, + "Ġbizarre": 33288, + "Ġextraction": 33289, + "_expected": 33290, + "Ġloses": 33291, + "ĠCelebr": 33292, + "ĠhtmlFor": 33293, + "Ġexploit": 33294, + "олÑĮзов": 33295, + "XYZ": 33296, + "Ġmagnet": 33297, + "amped": 33298, + "Ġatoms": 33299, + "Sources": 33300, + "pectives": 33301, + "Ñģли": 33302, + "Ġ=čĊ": 33303, + "Ġdare": 33304, + "ĠWalter": 33305, + "Ġbrightness": 33306, + "Ġannotations": 33307, + "ëı": 33308, + "iske": 33309, + "Schedule": 33310, + ".images": 33311, + "rosso": 33312, + "Ġ\"..": 33313, + "gamma": 33314, + "Ġinstructor": 33315, + "Ġoverwrite": 33316, + "-am": 33317, + "Ġdevastating": 33318, + "ĠSaints": 33319, + "Ġhs": 33320, + "Ġbonuses": 33321, + "$output": 33322, + "ijd": 33323, + "(ActionEvent": 33324, + "monitor": 33325, + "Ġmattress": 33326, + "January": 33327, + ".jp": 33328, + "Ġcaracter": 33329, + "Ġimpose": 33330, + "_rest": 33331, + "ĠSignature": 33332, + "Ġcoronavirus": 33333, + "ãģĬ": 33334, + "_compare": 33335, + "Measure": 33336, + "itated": 33337, + "elijk": 33338, + "igos": 33339, + "esar": 33340, + "Ġrushed": 33341, + "metry": 33342, + "_SEPARATOR": 33343, + "_WE": 33344, + "_ATTRIBUTE": 33345, + "Ġyaml": 33346, + "Ġspecs": 33347, + "ĠRah": 33348, + "pheric": 33349, + "ĠInvestment": 33350, + "äll": 33351, + "Ġappealing": 33352, + "Ġviewport": 33353, + "ç©": 33354, + "ĠmarginLeft": 33355, + "Ġsubtract": 33356, + "ĠEDIT": 33357, + "ĉArrayList": 33358, + "grading": 33359, + "ĠFailure": 33360, + "asper": 33361, + "EEK": 33362, + "(now": 33363, + ")Ċ": 33379, + "Collision": 33380, + "ĠGreater": 33381, + "ĠRacing": 33382, + "alan": 33383, + "Ġmonetary": 33384, + ",new": 33385, + "ĠSorry": 33386, + ".Enable": 33387, + "ĠInstantiate": 33388, + "ollen": 33389, + "ë©´": 33390, + "ĠCalling": 33391, + "_hour": 33392, + "ADA": 33393, + "Ġshy": 33394, + ")**": 33395, + "Ġ==>": 33396, + "Ġespecial": 33397, + "Ġinterpreted": 33398, + "!=\"": 33399, + "Ġpharmacy": 33400, + ".single": 33401, + "ĠCialis": 33402, + "Ġparas": 33403, + ".toUpperCase": 33404, + "ĠDemon": 33405, + "Prime": 33406, + "Ġrankings": 33407, + "Adding": 33408, + "_HASH": 33409, + "ĠExam": 33410, + "Ú©": 33411, + "ĠVictor": 33412, + "Okay": 33413, + "\"];čĊ": 33414, + "Ġfortune": 33415, + "ĠFETCH": 33416, + "expand": 33417, + ".Interop": 33418, + "Ġbarn": 33419, + "æ¶Ī": 33420, + "uevo": 33421, + "Ġspeculation": 33422, + "âĶĢâĶĢâĶĢâĶĢ": 33423, + "ĠNu": 33424, + "ĠBlues": 33425, + "(fname": 33426, + "Ġinhabit": 33427, + "Ġ\\\"%": 33428, + "CES": 33429, + "ulario": 33430, + "_cr": 33431, + "Ġvalidated": 33432, + "Ġmidnight": 33433, + "anking": 33434, + "Ġincorporate": 33435, + "Ġpursuit": 33436, + "EXP": 33437, + "prime": 33438, + "Pid": 33439, + "-US": 33440, + "ĠNurs": 33441, + "ĠWheel": 33442, + "éĺ": 33443, + "Ġinp": 33444, + "Ġsupportive": 33445, + ".member": 33446, + "ĠShot": 33447, + ".CheckBox": 33448, + "Ġaffirm": 33449, + "Tor": 33450, + "FullYear": 33451, + "Ġconsiderably": 33452, + "credentials": 33453, + "_opts": 33454, + "Roll": 33455, + "(round": 33456, + "Ġcoment": 33457, + "_UART": 33458, + "Ġextending": 33459, + "RG": 33460, + "resultado": 33461, + "itu": 33462, + ".getSession": 33463, + "Ġattraction": 33464, + "&D": 33465, + "$html": 33466, + "ĠJessica": 33467, + "ĠAssociate": 33468, + "añ": 33469, + "_ed": 33470, + "ĠLag": 33471, + "Ġorigins": 33472, + "())->": 33473, + "addEventListener": 33474, + "IALOG": 33475, + "åIJ¦": 33476, + ".Compare": 33477, + "Album": 33478, + "ĠKu": 33479, + "\";ĊĊ": 33523, + "quisite": 33524, + "channels": 33525, + "/res": 33526, + "ĠAnalytics": 33527, + ".appcompat": 33528, + "/to": 33529, + "ĠonError": 33530, + "(attr": 33531, + "IRM": 33532, + "Ġragaz": 33533, + "-as": 33534, + ".Second": 33535, + "oriented": 33536, + "Ġdonn": 33537, + "Ġlightning": 33538, + "fid": 33539, + "ĠPle": 33540, + "ãģ¾ãģĻ": 33541, + "tro": 33542, + ".True": 33543, + "Observable": 33544, + "×Ļ": 33545, + "umbing": 33546, + "Ġprospective": 33547, + "-filter": 33548, + "Ġpursuant": 33549, + "(points": 33550, + ".Bind": 33551, + "Ġpalm": 33552, + "clearfix": 33553, + "ös": 33554, + "ĠGonz": 33555, + "Ġweaken": 33556, + "Drive": 33557, + "enido": 33558, + "lld": 33559, + "obox": 33560, + "anean": 33561, + "Got": 33562, + "ä¿Ŀ": 33563, + "Regex": 33564, + "æĥ": 33565, + "Ġsalad": 33566, + "assis": 33567, + "\"net": 33568, + "inheritDoc": 33569, + "ĠRV": 33570, + "quier": 33571, + "Ġclazz": 33572, + "Ä±ÅŁ": 33573, + "osterone": 33574, + "Ġairline": 33575, + ".listdir": 33576, + "Ġdownloading": 33577, + "ĠPalm": 33578, + "waukee": 33579, + "<": 33580, + ".BL": 33581, + "_INLINE": 33582, + "offs": 33583, + "<<(": 33584, + "_news": 33585, + "Ġchase": 33586, + "/><": 33587, + "Ġeuros": 33588, + "ĠEgyptian": 33589, + "ĠStainless": 33590, + "_BOOL": 33591, + "ĠGuild": 33592, + "ĠDynam": 33593, + "[indexPath": 33594, + "Ġï": 33595, + "Ġmemorable": 33596, + "ĠChampion": 33597, + "ResourceManager": 33598, + ".Login": 33599, + "ĠFormer": 33600, + "yped": 33601, + "Ġlleg": 33602, + ";\",": 33603, + "DWORD": 33604, + "Ġtaxi": 33605, + "Ġbombs": 33606, + "rah": 33607, + ".tags": 33608, + "_tests": 33609, + "stones": 33610, + "âĢĿ)": 33611, + "[g": 33612, + "rtype": 33613, + "Ġvu": 33614, + "Ġhostile": 33615, + "Chars": 33616, + "ĠPatriots": 33617, + "/status": 33618, + "());Ċ": 33972, + "ajÄħ": 33973, + "_OCC": 33974, + "Ġplanets": 33975, + "æŁ¥": 33976, + "ĠDublin": 33977, + "Ġserie": 33978, + ".printf": 33979, + "deep": 33980, + "`)": 33981, + "Ġ\\$": 33982, + "Ġμ": 33983, + "_VIDEO": 33984, + "endors": 33985, + "ĠCrypto": 33986, + "Far": 33987, + ".Transparent": 33988, + ".TR": 33989, + "iasm": 33990, + "_training": 33991, + "Ġteaches": 33992, + "ĠBelt": 33993, + "Ġlimiting": 33994, + "ĠKath": 33995, + "ĠIndexPath": 33996, + "Ġachievements": 33997, + "Ġserá": 33998, + "interopRequire": 33999, + "Ġdisse": 34000, + ".If": 34001, + "arming": 34002, + "ulsion": 34003, + "Po": 34004, + "_DETAIL": 34005, + "Prototype": 34006, + "ĠCAL": 34007, + "Ġagrees": 34008, + ".vo": 34009, + ".ExecuteNonQuery": 34010, + "ĠTopic": 34011, + "Ġ'{}": 34012, + "Arm": 34013, + "Ġecc": 34014, + "Mag": 34015, + "Ġserialized": 34016, + "ĉconn": 34017, + "cached": 34018, + "=tf": 34019, + "ĠByteArray": 34020, + "protobuf": 34021, + "varchar": 34022, + "ĉASSERT": 34023, + "Ġliste": 34024, + "_trigger": 34025, + "·¸": 34026, + "Feel": 34027, + "Tahoma": 34028, + "ĠLik": 34029, + "Ġstructured": 34030, + "ergus": 34031, + ".Initial": 34032, + "_ge": 34033, + "cljs": 34034, + ".contact": 34035, + "Ġandere": 34036, + "$stmt": 34037, + "_CURRENT": 34038, + "ĠDiscover": 34039, + "$res": 34040, + "formatter": 34041, + "Ha": 34042, + "vangst": 34043, + "Ġemerge": 34044, + "ãĢĤâĢĿ": 34045, + "ĠCabinet": 34046, + "-square": 34047, + "éĥ¨": 34048, + "Ġrage": 34049, + "ĠAJ": 34050, + "ĠVT": 34051, + "shadow": 34052, + "ĠFaith": 34053, + "enames": 34054, + "pretty": 34055, + "hasil": 34056, + "party": 34057, + "Ġvarchar": 34058, + "Ġfotos": 34059, + "Ġalum": 34060, + "ĠBelgium": 34061, + ".ylabel": 34062, + "Ġdej": 34063, + "_numbers": 34064, + "Ġhu": 34065, + ".setAdapter": 34066, + "ĠUsually": 34067, + "(sample": 34068, + ".Shared": 34069, + "Ġbooked": 34070, + "Ġ>>=": 34071, + "Ġminerals": 34072, + "\">": 34091, + "prog": 34092, + "boo": 34093, + "_md": 34094, + "_pack": 34095, + "(express": 34096, + "utz": 34097, + "\\Auth": 34098, + ",id": 34099, + "ĠChile": 34100, + "actice": 34101, + "Ġrecruitment": 34102, + "Ġposes": 34103, + "Ġvulnerability": 34104, + "instanc": 34105, + "orum": 34106, + "dess": 34107, + "Ġxl": 34108, + "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%": 34109, + "(fig": 34110, + "Ġdeleting": 34111, + ".del": 34112, + ")')Ċ": 34113, + "ĠWeekly": 34114, + "???": 34115, + "(strcmp": 34116, + "smith": 34117, + "Ġpursuing": 34118, + "-so": 34119, + "ĠApps": 34120, + "/'Ċ": 34121, + "Ġdecis": 34122, + "FORE": 34123, + "Everyone": 34124, + "Ġlanes": 34125, + "Virtual": 34126, + ".attach": 34127, + "(Log": 34128, + "ĠMedicaid": 34129, + "(Path": 34130, + "ĠTurner": 34131, + "/application": 34132, + "Ġportrait": 34133, + "Ġoppose": 34134, + "checkout": 34135, + "Ġfinishes": 34136, + "_ME": 34137, + "Barrier": 34138, + "Song": 34139, + "VAR": 34140, + "Earlier": 34141, + "rella": 34142, + "Ġhast": 34143, + "azar": 34144, + "Ġpulls": 34145, + "ngx": 34146, + "Ġinspiring": 34147, + "ÑĥÑİ": 34148, + "-direction": 34149, + "Ġexplosive": 34150, + "ĠcreatedAt": 34151, + "sto": 34152, + "Ġwheat": 34153, + "ĠBuilt": 34154, + "'ai": 34155, + "Ġtracked": 34156, + "hammad": 34157, + "RowAtIndexPath": 34158, + "_heap": 34159, + "Due": 34160, + "Ġconnects": 34161, + ".publish": 34162, + "emu": 34163, + "Ġbullets": 34164, + "BAR": 34165, + "olate": 34166, + "Ġinternally": 34167, + "Ġcatching": 34168, + "-password": 34169, + "ouched": 34170, + "æĢ§": 34171, + "eous": 34172, + "Ġxrange": 34173, + "Quality": 34174, + "vv": 34175, + "Manage": 34176, + "(($": 34177, + "acements": 34178, + "ĠBrothers": 34179, + "ĠHEAD": 34180, + "ĠUnsupported": 34181, + "san": 34182, + "esi": 34183, + "***Ċ": 34184, + "Ġadaptation": 34185, + "ĠWorker": 34186, + "']/": 34187, + ".savefig": 34188, + "(trans": 34189, + "ج": 34190, + "nee": 34191, + "Correct": 34192, + "...\")Ċ": 34193, + "Ġsubmitting": 34194, + "-path": 34195, + "ĉlast": 34196, + "issan": 34197, + ".xlabel": 34198, + "ĠSepar": 34199, + "/no": 34200, + "_best": 34201, + "ĠMills": 34202, + "_sock": 34203, + "(flag": 34204, + "Ġdestinations": 34205, + "emption": 34206, + "ĠFAIL": 34207, + "åĴĮ": 34208, + "Ġrp": 34209, + "fact": 34210, + "ĉlen": 34211, + "DAY": 34212, + "Ġseiz": 34213, + "_dst": 34214, + "lip": 34215, + ".Linear": 34216, + "ĠBasket": 34217, + "$t": 34218, + "$i": 34219, + "-brand": 34220, + "ĠNeil": 34221, + "ĠEq": 34222, + "Ġthou": 34223, + "ogene": 34224, + "Ġscholarship": 34225, + "æĽ´": 34226, + "Ġswo": 34227, + "aginator": 34228, + "eni": 34229, + "(book": 34230, + "Ġblink": 34231, + "thus": 34232, + "ĠcancellationToken": 34233, + "ĠPalestinians": 34234, + "Ġprofitable": 34235, + "Ġbackpack": 34236, + "enson": 34237, + "true": 34384, + "ĠNYC": 34385, + "Ġbored": 34386, + "ĠDetect": 34387, + "Ġappar": 34388, + "Ġjeans": 34389, + "ĠTak": 34390, + "IOD": 34391, + "ĠHorse": 34392, + "(FILE": 34393, + "(?": 34394, + "rique": 34395, + "optimizer": 34396, + "nat": 34397, + "loys": 34398, + "ĉToken": 34399, + "oubted": 34400, + "uess": 34401, + "ocoa": 34402, + "DataMember": 34403, + "_POWER": 34404, + "classList": 34405, + "PushButton": 34406, + "ĠWiFi": 34407, + ".Stream": 34408, + ".guild": 34409, + "Ġnog": 34410, + "ĠPortugal": 34411, + "ĠUnter": 34412, + "Primitive": 34413, + "boss": 34414, + "ĠDeutsch": 34415, + "Ġerotic": 34416, + "Ġstrconv": 34417, + ".TryParse": 34418, + "Ġgrams": 34419, + ".Success": 34420, + "_pk": 34421, + "ĠHarvey": 34422, + "-minded": 34423, + ".country": 34424, + "[]\"": 34425, + "Ġangel": 34426, + "Ġbeats": 34427, + "ĠVor": 34428, + "ilio": 34429, + ".master": 34430, + "something": 34431, + "ĠPACK": 34432, + "(if": 34433, + "RequestBody": 34434, + "Ġantes": 34435, + "/widget": 34436, + "Ġmodo": 34437, + "ĠAW": 34438, + "finder": 34439, + "Ġoptimized": 34440, + "Ġmissiles": 34441, + "NB": 34442, + "ĉinternal": 34443, + "tex": 34444, + "ĠSri": 34445, + "Ġdamaging": 34446, + "ĠMais": 34447, + "-Allow": 34448, + "ĠZh": 34449, + "-alt": 34450, + "Ġ));ĊĊ": 34451, + "èī": 34452, + "Ġinfluences": 34453, + "Ġcatal": 34454, + "_REGISTER": 34455, + "ĠAPIs": 34456, + "-century": 34457, + "Ġbiology": 34458, + "ĠActual": 34459, + "Ġheels": 34460, + "TRACE": 34461, + "_DIG": 34462, + "Dataset": 34463, + "ĠMatter": 34464, + "Ġclassifier": 34465, + ".wikipedia": 34466, + "ĠRogers": 34467, + "Ġdonated": 34468, + "rawler": 34469, + "enen": 34470, + "Ġcasinos": 34471, + "ortal": 34472, + "Ġprive": 34473, + "spe": 34474, + "ducers": 34475, + ".ep": 34476, + "Ġgrasp": 34477, + "acji": 34478, + "Ġdairy": 34479, + "Ġbuses": 34480, + ".comm": 34481, + ".ins": 34482, + "ĠIRS": 34483, + "ĠBeer": 34484, + "adc": 34485, + "oard": 34486, + "_MET": 34487, + "Ġ'+'": 34488, + "rans": 34489, + "Ġkinda": 34490, + "ĠâĶĤ": 34491, + "ĠMaur": 34492, + "аг": 34493, + "Ġbandwidth": 34494, + "ibus": 34495, + "ĠDifferent": 34496, + "(mat": 34497, + "ĠResume": 34498, + "_UNS": 34499, + "establish": 34500, + "Ġfonction": 34501, + "Subscription": 34502, + "_company": 34503, + "Ġlightly": 34504, + ".confirm": 34505, + ".yaml": 34506, + "ĠBoost": 34507, + "Commerce": 34508, + "-template": 34509, + "_DELAY": 34510, + "ĠHI": 34511, + "Ġnavig": 34512, + "(Sender": 34513, + "ĠHS": 34514, + "_\"+": 34515, + "ĠREQUEST": 34516, + "Ġwifi": 34517, + "=\"\"Ċ": 34518, + "])->": 34519, + "Ġrope": 34520, + "Ġviolated": 34521, + "Ġglance": 34522, + "ĠKurd": 34523, + "Ġè®": 34524, + "deck": 34525, + "ĠISBN": 34526, + "Ġinfect": 34527, + "ĠFoo": 34528, + "Ġgetter": 34529, + "Ġtener": 34530, + "appe": 34531, + ".hh": 34532, + "_hot": 34533, + "\".$": 34743, + "Ġrelies": 34744, + "(Console": 34745, + "International": 34746, + "->{$": 34747, + "Mid": 34748, + "Ġdissert": 34749, + "dds": 34750, + "Ġdeposits": 34751, + "ĉdriver": 34752, + "#ga": 34753, + "prising": 34754, + "println": 34755, + "Ġpresenter": 34756, + "Ġmines": 34757, + "CSS": 34758, + "ĠDual": 34759, + "(!(": 34760, + "Ġkam": 34761, + "ĠisLoading": 34762, + "ĠProtect": 34763, + ".upper": 34764, + "arium": 34765, + "]:ĊĊĊ": 34766, + "Yii": 34767, + "-shirt": 34768, + "ĠIMAGE": 34769, + "_colors": 34770, + "Ġurgent": 34771, + ".Container": 34772, + "!(Ċ": 34773, + "Saturday": 34774, + "Ġsocieties": 34775, + "ĠThan": 34776, + "ĠCod": 34777, + "=@": 34778, + "Ġattachments": 34779, + ".mobile": 34780, + "Ġspite": 34781, + "Ġbounce": 34782, + "rawl": 34783, + "instancetype": 34784, + "ĠTruck": 34785, + "Ġmanipulation": 34786, + "(Config": 34787, + "-inst": 34788, + "Ġstor": 34789, + "itution": 34790, + "PreferredGap": 34791, + "ĠmainAxisAlignment": 34792, + "Ġlistened": 34793, + "'''ĊĊ": 34794, + "ottage": 34795, + "-project": 34796, + ".APPLICATION": 34797, + "ĉroot": 34798, + "Ġwhit": 34799, + "Ġbilder": 34800, + "Ġker": 34801, + "Ġappliances": 34802, + "rowave": 34803, + "ìĿĢ": 34804, + "ematics": 34805, + "ĠOrg": 34806, + "oping": 34807, + "_SEARCH": 34808, + "Ġcham": 34809, + "addContainerGap": 34810, + "Ġ().": 34811, + "ĠArrow": 34812, + "Illegal": 34813, + "Currently": 34814, + "Ġusa": 34815, + "Ġpasswords": 34816, + "Ġrenown": 34817, + "avern": 34818, + "ĠEvil": 34819, + "Ġconcat": 34820, + "Ġduo": 34821, + "Ġvale": 34822, + "ĠBean": 34823, + "Ġindicators": 34824, + "cmath": 34825, + "ĠPump": 34826, + "November": 34827, + "ificant": 34828, + "_DOMAIN": 34829, + "regar": 34830, + "ĠPortal": 34831, + "\"$": 34832, + "Ġformerly": 34833, + "\"]:Ċ": 34834, + "ĠVisibility": 34835, + ".getElementsByClassName": 34836, + "_RED": 34837, + "Ġchampions": 34838, + "à´": 34839, + "Valor": 34840, + "_es": 34841, + "*a": 34842, + "-repeat": 34843, + "Band": 34844, + ".stage": 34845, + "Ġbureauc": 34846, + "Cnt": 34847, + "eten": 34848, + "-function": 34849, + "Ġmuito": 34850, + "PID": 34851, + "_editor": 34852, + "Ġcrashed": 34853, + "dead": 34854, + "kat": 34855, + "agh": 34856, + "ĠEXT": 34857, + "asser": 34858, + "-small": 34859, + "Ġrealiz": 34860, + "(Entity": 34861, + "ús": 34862, + "ĠActually": 34863, + "ĠElite": 34864, + "Ġhelm": 34865, + "(nonatomic": 34866, + "asher": 34867, + "Community": 34868, + "alleng": 34869, + "iry": 34870, + "ĠGrowth": 34871, + "Ġsue": 34872, + "Ġfrequencies": 34873, + "_descriptor": 34874, + ".Attribute": 34875, + "Ġrecipients": 34876, + "_NS": 34877, + "/\"+": 34878, + "iban": 34879, + "Ġathlete": 34880, + "ĠIgn": 34881, + "_DMA": 34882, + "(ds": 34883, + "ĠRequirements": 34884, + "ADI": 34885, + "erez": 34886, + "\\Admin": 34887, + "braska": 34888, + "ĠRust": 34889, + "Relation": 34890, + "COD": 34891, + "ĠVERSION": 34892, + "emma": 34893, + ")){": 34894, + ".Duration": 34895, + "ĠCamb": 34896, + "-logo": 34897, + "Ġreadable": 34898, + "Ġcreators": 34899, + "()];Ċ": 34900, + "UpDown": 34901, + "-half": 34902, + ".getMonth": 34903, + "(sf": 34904, + "Pic": 34905, + "Ġhunger": 34906, + ".tx": 34907, + "Ġexceeded": 34908, + "_seed": 34909, + "(^": 34910, + "_sk": 34911, + ".perform": 34912, + "Ġ>::": 34913, + "Ġmongo": 34914, + "=float": 34915, + "bindParam": 34916, + "Smart": 34917, + "ifa": 34918, + "Ġsecurities": 34919, + "Ġprejud": 34920, + "Ġ,\"": 34921, + "Ġcorps": 34922, + "Ġvra": 34923, + "amacare": 34924, + "iterr": 34925, + "(Media": 34926, + "uche": 34927, + "Ġcob": 34928, + "Ġliber": 34929, + ".geometry": 34930, + "Locator": 34931, + "Ġsliding": 34932, + "Ġsurgical": 34933, + "_CUR": 34934, + "Ġconsect": 34935, + "[*": 34936, + "ĠResort": 34937, + "Stub": 34938, + "_DOUBLE": 34939, + "ĠSoph": 34940, + "Ġelectoral": 34941, + "_disable": 34942, + "ĠÑģо": 34943, + "ĠLightning": 34944, + "Ġmentions": 34945, + "ocy": 34946, + "Ġleaked": 34947, + "Ġrelaxing": 34948, + "Presenter": 34949, + "vsp": 34950, + "Ġguilt": 34951, + "=-=-": 34952, + ".reply": 34953, + "ĠMirror": 34954, + "Camp": 34955, + "Ġ+#+#+#+": 34956, + "Ġ+#+#+#+#+#+": 34957, + ".Author": 34958, + "Ġdirective": 34959, + "-hook": 34960, + "íĦ°": 34961, + "}ĊĊĊĊĊ": 34962, + "@pytest": 34963, + "_rand": 34964, + "mis": 34965, + "Ġcolorful": 34966, + "uje": 34967, + "lasses": 34968, + "ĠClasses": 34969, + ".have": 34970, + "%),": 34971, + "é¢ĺ": 34972, + "Ġdisturbing": 34973, + "substring": 34974, + "ĠKoh": 34975, + "Invest": 34976, + "purchase": 34977, + "Ġrecycling": 34978, + "ĠART": 34979, + "ierarchy": 34980, + "Ġfps": 34981, + ".checkBox": 34982, + "íķ´": 34983, + "_material": 34984, + "ducation": 34985, + "Ġfw": 34986, + "udit": 34987, + "Ġreviewing": 34988, + "ĠSid": 34989, + "Syntax": 34990, + "ĠWritten": 34991, + "argar": 34992, + "UME": 34993, + "/q": 34994, + "Classifier": 34995, + "Official": 34996, + "Ġjazz": 34997, + "Ġomega": 34998, + "Physics": 34999, + "Ġlugar": 35000, + "_accessor": 35001, + ".commands": 35002, + "Ability": 35003, + "ĠBatch": 35004, + "RAM": 35005, + "Ġencounters": 35006, + ".Qu": 35007, + "BYTE": 35008, + "ĠDistribution": 35009, + "Ġuso": 35010, + "ĠRecovery": 35011, + "approved": 35012, + "Ġdenial": 35013, + "/share": 35014, + "LinkedList": 35015, + ")čĊčĊčĊ": 35016, + "uddy": 35017, + "Ġfines": 35018, + "Ġry": 35019, + "Unicode": 35020, + "ĉrender": 35021, + "Ġpremises": 35022, + "Ġpon": 35023, + "aliases": 35024, + "/Foundation": 35025, + "cuda": 35026, + "ĠCock": 35027, + ",:)": 35028, + "(folder": 35029, + "Ġméd": 35030, + "drag": 35031, + "Ġtalents": 35032, + "ĠĠĠĊĊ": 35033, + "еÑģÑĤв": 35034, + "mob": 35035, + ".yml": 35036, + "Ġaster": 35037, + "Ġdiscre": 35038, + "goal": 35039, + "ĠGTX": 35040, + "ĠSUCCESS": 35041, + "ĠLONG": 35042, + "(find": 35043, + "Ġsingular": 35044, + "_sz": 35045, + "ĠEthereum": 35046, + "..Ċ": 35047, + "Ġirres": 35048, + "')){Ċ": 35049, + "Ġministers": 35050, + "Steps": 35051, + "iversal": 35052, + "ĠNevertheless": 35053, + "-led": 35054, + "Ġ(%)": 35055, + "ç¡®": 35056, + "Ġtimezone": 35057, + "Ġstranger": 35058, + "(render": 35059, + "Ġshutil": 35060, + "Ġmph": 35061, + "Ġtrio": 35062, + "ppy": 35063, + "Ġpredomin": 35064, + "Ġendors": 35065, + "ĠRussians": 35066, + "ĉrow": 35067, + "Ġwizard": 35068, + ".serialize": 35069, + "Ġcomplained": 35070, + "Ġsido": 35071, + "Ġdelighted": 35072, + "-me": 35073, + "ĠRav": 35074, + "Human": 35075, + "adays": 35076, + "recv": 35077, + "Working": 35078, + "Jump": 35079, + "ĠÃ¥r": 35080, + "ĠAutomatic": 35081, + "_Base": 35082, + "æł¼": 35083, + "aurants": 35084, + "¯": 35085, + "æ¸": 35086, + "(CType": 35087, + "IFI": 35088, + "(amount": 35089, + "Ġbelieving": 35090, + "=mysql": 35091, + "Ġfir": 35092, + "Ġrestoration": 35093, + "ereco": 35094, + "Т": 35095, + "_'+": 35096, + "Ġebook": 35097, + "Ġdebris": 35098, + "(inputs": 35099, + "AYOUT": 35100, + "Ġscreaming": 35101, + "avia": 35102, + "lander": 35103, + "Ġdistress": 35104, + "Ġassembled": 35105, + "ĠAvoid": 35106, + "(thread": 35107, + "ĠRPC": 35108, + "_EXIT": 35109, + "(queue": 35110, + "иÑģÑĤ": 35111, + "Dll": 35112, + "Ġskull": 35113, + "_pub": 35114, + "chez": 35115, + "minate": 35116, + "ensen": 35117, + "Ġinsane": 35118, + "bounds": 35119, + "ĠRosen": 35120, + "Ġconditioning": 35121, + "processed": 35122, + "videos": 35123, + "four": 35124, + ".Conv": 35125, + "|;Ċ": 35126, + "Personal": 35127, + "cerpt": 35128, + ":UIControlStateNormal": 35129, + "Ġdoses": 35130, + "ĠKarl": 35131, + "ĠFrequ": 35132, + ".BASE": 35133, + "ĠVote": 35134, + "Ġconcurrent": 35135, + "ĠMessageBoxIcon": 35136, + "ĠÃĸ": 35137, + "ĠDubai": 35138, + "ĠRetail": 35139, + ":number": 35140, + "ĠObserver": 35141, + "ĠBigInteger": 35142, + "_origin": 35143, + "_WORK": 35144, + "Frames": 35145, + "Ġnotably": 35146, + ".âĢľ": 35147, + "Ġtropical": 35148, + "Ġniche": 35149, + "amina": 35150, + ".sys": 35151, + "(tokens": 35152, + "modify": 35153, + "osit": 35154, + "strom": 35155, + "ĠComics": 35156, + "OPTION": 35157, + "Ticket": 35158, + "Ġfactories": 35159, + "Ġdisput": 35160, + "_File": 35161, + "ĠFinn": 35162, + "eee": 35163, + "ĠDiscord": 35164, + "_money": 35165, + ".tpl": 35166, + "_safe": 35167, + "LB": 35168, + "Ġglut": 35169, + "JK": 35170, + ".flow": 35171, + "-cont": 35172, + "gos": 35173, + "Ġhorizon": 35174, + "ĠRush": 35175, + "::*": 35176, + "Pipe": 35177, + "ulla": 35178, + "borough": 35179, + "heimer": 35180, + "(move": 35181, + "(Text": 35182, + "});čĊčĊ": 35183, + "welcome": 35184, + "ĠComponents": 35185, + "Ġgovernance": 35186, + "closed": 35187, + "ĉmargin": 35188, + "Ġlaundry": 35189, + "ĠTerminal": 35190, + "izards": 35191, + ".âĢĶ": 35192, + ".remote": 35193, + ".radius": 35194, + "ĠQuebec": 35195, + "Ġdh": 35196, + "Tech": 35197, + "ĠMist": 35198, + "seller": 35199, + "_literal": 35200, + "Ġgenius": 35201, + "Ġbrains": 35202, + "gem": 35203, + "ĠMeasure": 35204, + "Ġcatast": 35205, + "rance": 35206, + ".TextField": 35207, + "Ġconsuming": 35208, + "Ġ'\\''": 35209, + "oubtedly": 35210, + "ĠCertain": 35211, + "Ev": 35212, + "erti": 35213, + "being": 35214, + "Experience": 35215, + "Ġ//[": 35216, + "ĠArabic": 35217, + "ĠCrist": 35218, + "ĠAzure": 35219, + "Ġhora": 35220, + "ladesh": 35221, + "\\Blueprint": 35222, + "dar": 35223, + ".rel": 35224, + "Ġsuprem": 35225, + "ĠReagan": 35226, + "ĠAttributes": 35227, + "-sidebar": 35228, + "ĠuseStyles": 35229, + "ĠAirlines": 35230, + "Ġhills": 35231, + "/xhtml": 35232, + "vinc": 35233, + "_mock": 35234, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 35235, + "ĠPill": 35236, + ".LayoutStyle": 35237, + "ĠCommander": 35238, + "]<": 35239, + "signature": 35240, + "Ġ{}čĊ": 35241, + "Ġhatred": 35242, + "Ġëĭ": 35243, + "olesterol": 35244, + "Ġ********": 35245, + "ancellor": 35246, + "crop": 35247, + "TIM": 35248, + "ĉĉĊĊ": 35249, + "ysqli": 35250, + "uitive": 35251, + "ĉunset": 35252, + "_sel": 35253, + "Ġmenus": 35254, + "tick": 35255, + "Ġconstitute": 35256, + "ĠElements": 35257, + "ĠRedis": 35258, + "aggio": 35259, + "_fp": 35260, + "_depend": 35261, + "emas": 35262, + "CAST": 35263, + "orange": 35264, + "jon": 35265, + "ĠEmily": 35266, + "Ġpotatoes": 35267, + "Ġreceptor": 35268, + "ĠElectronic": 35269, + "ĠLights": 35270, + "Ġcombining": 35271, + "ĠSomeone": 35272, + "Ġ########.": 35273, + "ĠTOD": 35274, + "/show": 35275, + "Xd": 35276, + ".\"'": 35277, + "afx": 35278, + "Ġtragic": 35279, + "Styled": 35280, + "ĠMarco": 35281, + "Gallery": 35282, + "dale": 35283, + ".âĢĿĊĊĊĊ": 35284, + "érie": 35285, + "/service": 35286, + "äºĨ": 35287, + "Ġambient": 35288, + "_SETTINGS": 35289, + ".Adapter": 35290, + "lene": 35291, + "Ġtravels": 35292, + "Notice": 35293, + "Ġcleans": 35294, + "ĠFem": 35295, + "chair": 35296, + "Ñĥн": 35297, + "/my": 35298, + "_bad": 35299, + "ĠEconomics": 35300, + "ISA": 35301, + "_CNT": 35302, + "(Menu": 35303, + "äºİ": 35304, + "ĠRidge": 35305, + "Ġlengthy": 35306, + "Dot": 35307, + "Ġjumps": 35308, + "Ġhey": 35309, + "$pdf": 35310, + "Ġworm": 35311, + "Ġsut": 35312, + "Ġsher": 35313, + "iamo": 35314, + "ĠCalc": 35315, + "trieve": 35316, + "Ġcops": 35317, + "ĠChrom": 35318, + "Ġregulated": 35319, + "reatment": 35320, + "ĠHigher": 35321, + "oks": 35322, + "Ġdeze": 35323, + "LOCATION": 35324, + "ongsTo": 35325, + "Ġfinite": 35326, + "Ġvaries": 35327, + "Ġpositioned": 35328, + "'il": 35329, + "éĩij": 35330, + "Ġhike": 35331, + "(done": 35332, + "playlist": 35333, + "Ġada": 35334, + "Ġcoastal": 35335, + "ĠNancy": 35336, + ".DateTimeField": 35337, + "CppCodeGen": 35338, + "ĠSimilarly": 35339, + "reur": 35340, + "ĠContr": 35341, + "ĠHidden": 35342, + "ĠBeta": 35343, + "atched": 35344, + "_install": 35345, + ".Output": 35346, + "Lookup": 35347, + "ĠRichmond": 35348, + "quared": 35349, + "Ġmanga": 35350, + "-controls": 35351, + "ĠBernard": 35352, + "Large": 35353, + "Ġslices": 35354, + "Ġoffence": 35355, + "ĠMega": 35356, + "Ġestar": 35357, + "Ġjoints": 35358, + "Ġsumm": 35359, + "_platform": 35360, + "Buff": 35361, + ".addSubview": 35362, + "Ġretained": 35363, + "Letter": 35364, + ".dim": 35365, + "Ġessere": 35366, + "ĠScaffold": 35367, + "EXPECT": 35368, + "ĉRE": 35369, + ".longitude": 35370, + "ünd": 35371, + "Ġstatue": 35372, + ".addWidget": 35373, + "ĠCaribbean": 35374, + "addPreferredGap": 35375, + "ilde": 35376, + "UILabel": 35377, + "ĠOpport": 35378, + "Ġimperial": 35379, + "ursion": 35380, + "Ġmandate": 35381, + "Ġpromotional": 35382, + "Ġvk": 35383, + "iaÅĤ": 35384, + "Ġpyl": 35385, + "ĠCreation": 35386, + "озд": 35387, + "Ġsimpler": 35388, + ".what": 35389, + "ĠRecent": 35390, + "Storm": 35391, + ".quantity": 35392, + "ĠLov": 35393, + "\"-": 35394, + "ubbles": 35395, + "_notification": 35396, + "(world": 35397, + "urger": 35398, + "*(-": 35399, + ":\"Ċ": 35400, + "hm": 35401, + "anship": 35402, + "ĠAlmost": 35403, + "Ġmotorcycle": 35404, + "_fee": 35405, + "Ġabsorb": 35406, + "ĠVincent": 35407, + "Ġsounded": 35408, + "ÃŃst": 35409, + "Ġpharmaceutical": 35410, + "htag": 35411, + "ĠKindle": 35412, + "italize": 35413, + "ĠEmperor": 35414, + "oustic": 35415, + "Ġspecialists": 35416, + "åħ¬": 35417, + "BorderStyle": 35418, + "/\\": 35419, + "RELATED": 35420, + "(',',": 35421, + "(expr": 35422, + "Ġht": 35423, + "åįĪ": 35424, + "_Create": 35425, + "Ġspecially": 35426, + "Ġ[];čĊ": 35427, + "Ġheel": 35428, + "Ġsept": 35429, + "_arch": 35430, + "(initial": 35431, + "%.ĊĊ": 35432, + "\\\",\\\"": 35433, + "Ġdiscusses": 35434, + "Ġupt": 35435, + "Ġ[&": 35436, + "Ġmanus": 35437, + ".hand": 35438, + "ĠMAIN": 35439, + "ĠDenmark": 35440, + "Ġ],čĊ": 35441, + "Ġcryst": 35442, + "Ġnack": 35443, + "Coords": 35444, + "_inner": 35445, + "Ġmidst": 35446, + "Ġawake": 35447, + "ĠÐŀ": 35448, + "-break": 35449, + "ÃŃvel": 35450, + "_PASS": 35451, + "ĠParams": 35452, + "Ġdetr": 35453, + "Ġspider": 35454, + "ĠConcept": 35455, + "Ġprend": 35456, + "CHED": 35457, + ".Exit": 35458, + "Ġpopulated": 35459, + "Ġvirtue": 35460, + "_SESSION": 35461, + "Ġnouvel": 35462, + "oauth": 35463, + "ĠданнÑĭ": 35464, + "rink": 35465, + ".HeaderText": 35466, + "aturated": 35467, + "Ġerst": 35468, + "Ġåħ": 35469, + "à¥ĩ": 35470, + "_visible": 35471, + "eyer": 35472, + "Ġliable": 35473, + "Ġdebe": 35474, + "Ġbw": 35475, + "{-#": 35476, + "_WIN": 35477, + "dfs": 35478, + "Hover": 35479, + "ĠPUT": 35480, + "-angle": 35481, + "Ġnoble": 35482, + "Ġtraces": 35483, + "encv": 35484, + "ĠuserData": 35485, + "_ins": 35486, + "ĠSuz": 35487, + "Ġnewsletters": 35488, + "ĠModi": 35489, + "Ġentrepreneurs": 35490, + "Ġtribute": 35491, + "Ġrumors": 35492, + "Ġrr": 35493, + "ĠQuarter": 35494, + "ê³ł": 35495, + "Ġfeeds": 35496, + "óg": 35497, + "Ġenvelope": 35498, + "Ġlear": 35499, + "Ġkø": 35500, + "developer": 35501, + "Similar": 35502, + ":\")Ċ": 35503, + "subscription": 35504, + "Modifier": 35505, + "italic": 35506, + "Ġnasty": 35507, + "Ġtermination": 35508, + "Ġcharming": 35509, + "ĠâŁ": 35510, + "tons": 35511, + ".trace": 35512, + "hots": 35513, + "ĠUR": 35514, + "Mont": 35515, + "Ġjustified": 35516, + "ĠGang": 35517, + "inea": 35518, + "Ġbog": 35519, + "(ap": 35520, + "_$": 35521, + "Ġcontamin": 35522, + ".Dot": 35523, + "ĉDebug": 35524, + "(exports": 35525, + "Ġpaired": 35526, + "ĠAssignment": 35527, + "Ġautomobile": 35528, + "ĵį": 35529, + "Ġphases": 35530, + "vw": 35531, + "@SuppressWarnings": 35532, + "=\\": 35533, + "rant": 35534, + "-ed": 35535, + "ĉawait": 35536, + "Ġcertificates": 35537, + "'>\"": 35538, + "Ġintact": 35539, + "CTRL": 35540, + "Mike": 35541, + "gregation": 35542, + "ATTERN": 35543, + "Ġrepublic": 35544, + "_upper": 35545, + "iliary": 35546, + "Ġcomputation": 35547, + "hire": 35548, + "ĠShin": 35549, + "_ANY": 35550, + "ĠManufacturer": 35551, + "ĠCarm": 35552, + "Ġbearings": 35553, + "_comb": 35554, + "cad": 35555, + "uristic": 35556, + "Ġwholesale": 35557, + "Ġdonor": 35558, + ".interfaces": 35559, + "presso": 35560, + "ĠBrun": 35561, + "-close": 35562, + "prove": 35563, + "_SK": 35564, + "ĉframe": 35565, + "etros": 35566, + "ĠPain": 35567, + "_EXP": 35568, + "ĠLT": 35569, + "_fs": 35570, + ".datas": 35571, + "ĉss": 35572, + "voir": 35573, + "ĠAxis": 35574, + "Major": 35575, + "=\"<": 35576, + "[h": 35577, + "Ġprofess": 35578, + "igrate": 35579, + "(score": 35580, + "Keyword": 35581, + "\"os": 35582, + "ĠĠĠĠĉĊ": 35583, + "analysis": 35584, + "Ġreplay": 35585, + ".pass": 35586, + "\\d": 35587, + "tls": 35588, + "Ġsanct": 35589, + ".light": 35590, + "_mobile": 35591, + "ÑģÑĤÑĮ": 35592, + "ĉtotal": 35593, + "uity": 35594, + "Ġpaused": 35595, + "NAS": 35596, + "Ġencore": 35597, + "loe": 35598, + "Ġ-*-ĊĊ": 35599, + ".high": 35600, + "ampler": 35601, + "ĠSecure": 35602, + "Ġfragments": 35603, + "_vel": 35604, + "illary": 35605, + "ĠStein": 35606, + "ĠDawn": 35607, + "Ġmaximize": 35608, + "ย": 35609, + "Ġ/^": 35610, + "Ġcontinually": 35611, + "Ġshadows": 35612, + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 35613, + "ĠIActionResult": 35614, + "Ġinformación": 35615, + "CHECK": 35616, + ".SelectedItem": 35617, + "bundle": 35618, + "olley": 35619, + "<": 35781, + "Ġtrajectory": 35782, + "_ring": 35783, + "Ġhydrogen": 35784, + "tron": 35785, + "Ġstatute": 35786, + "Ġconditional": 35787, + "Ġtray": 35788, + "-school": 35789, + "(widget": 35790, + "$config": 35791, + "Ġrequesting": 35792, + ".uint": 35793, + "eton": 35794, + "brities": 35795, + "OfType": 35796, + "ADMIN": 35797, + "predict": 35798, + "Ġgegen": 35799, + "ĠHapp": 35800, + "OCUMENT": 35801, + "ĠApart": 35802, + "Ġ-----": 35803, + "roe": 35804, + "uide": 35805, + "justify": 35806, + "ĠSquad": 35807, + "Ġprofes": 35808, + ".bot": 35809, + "_currency": 35810, + "innen": 35811, + "ĠMumbai": 35812, + "ĠNumbers": 35813, + "avanaugh": 35814, + "agnitude": 35815, + "âĢľThere": 35816, + "=http": 35817, + "çīĩ": 35818, + "Ġvb": 35819, + "+'{{$": 35902, + "Ġinode": 35903, + "sil": 35904, + "Ġhace": 35905, + "Ġseverely": 35906, + "ĠOverview": 35907, + "Ġspraw": 35908, + "Ġbeaches": 35909, + ":left": 35910, + "·»": 35911, + "(${": 35912, + "ĠFIRST": 35913, + "ĠSpa": 35914, + "-ass": 35915, + "Ġbaise": 35916, + "ĠNODE": 35917, + "ĠPizza": 35918, + "Pet": 35919, + "(seq": 35920, + "\\\">Ċ": 35921, + "CppMethodPointer": 35922, + "Ġvp": 35923, + "Ġia": 35924, + "_seconds": 35925, + "emet": 35926, + "/blob": 35927, + "_THRESH": 35928, + "...čĊ": 35929, + "Dest": 35930, + "ĠNH": 35931, + ".dataSource": 35932, + "ités": 35933, + "ĠJak": 35934, + "sell": 35935, + "Ġworkshops": 35936, + "\",Ċ": 36552, + "_Pin": 36553, + "uese": 36554, + "Ġoverrides": 36555, + "_ready": 36556, + "Advanced": 36557, + "Ġopi": 36558, + "-cart": 36559, + "(\"/\",": 36560, + "ĠDeb": 36561, + "CRY": 36562, + "ĠVertical": 36563, + "ĠOVER": 36564, + "ĠCorporate": 36565, + "Ġ\"\";": 36566, + "Ġstepping": 36567, + "ej": 36568, + "Ġaccusations": 36569, + "Ġoraz": 36570, + "_tail": 36571, + "Ġinduced": 36572, + "Ġelastic": 36573, + "Ġblown": 36574, + ",//": 36575, + "Ġbackgrounds": 36576, + "âĢĻune": 36577, + "-sdk": 36578, + "ĠsetInterval": 36579, + "Ġincentives": 36580, + "Ġvegetable": 36581, + "_On": 36582, + "expanded": 36583, + "pix": 36584, + "_shader": 36585, + "ĠSPDX": 36586, + "@example": 36587, + "ĠWrapper": 36588, + ".Zero": 36589, + "Positive": 36590, + "Ġspinner": 36591, + "Ġinvented": 36592, + "ĠGates": 36593, + "оÑĤоÑĢ": 36594, + "Ġcomparisons": 36595, + "è·": 36596, + ".primary": 36597, + "dataProvider": 36598, + "additional": 36599, + "ĉoptions": 36600, + "snapshot": 36601, + ".setHorizontal": 36602, + "Ġ\"{}": 36603, + "ĠFisher": 36604, + "halten": 36605, + "": 36638, + "ĠRegistered": 36639, + "INED": 36640, + "kal": 36641, + "parison": 36642, + "Ġobjeto": 36643, + "Vi": 36644, + "manda": 36645, + "Ġrenewed": 36646, + "ĠSof": 36647, + "essel": 36648, + ".ndarray": 36649, + "Ġcrap": 36650, + "管": 36651, + ".abspath": 36652, + "(up": 36653, + "Ġclearance": 36654, + "ĠTW": 36655, + "_COPY": 36656, + "ĠĠĠĠĠĠĠĠĠĠĠĠĉ": 36657, + "Ġforests": 36658, + "Ġarguably": 36659, + "ĠASS": 36660, + "hey": 36661, + "amel": 36662, + "_fore": 36663, + "ĠSoutheast": 36664, + "Ġabused": 36665, + "Ġpracticing": 36666, + "akedirs": 36667, + "主": 36668, + "_resources": 36669, + "Ġpond": 36670, + ".Fixed": 36671, + "LastError": 36672, + "ĠPsychology": 36673, + "Ġ\"//": 36674, + "!:": 36675, + "Reusable": 36676, + "Ġmensaje": 36677, + "Ġrospy": 36678, + "Ġbour": 36679, + "Ġvarieties": 36680, + "Ġempath": 36681, + "(({": 36682, + "_org": 36683, + "ĠMes": 36684, + "ĠMagento": 36685, + "ISTORY": 36686, + "Unless": 36687, + "Ġhj": 36688, + "ĠDuty": 36689, + "Jun": 36690, + ",size": 36691, + "Ġpaintings": 36692, + "Ġdispens": 36693, + "dart": 36694, + "Ġbehavioral": 36695, + "Ġrpc": 36696, + "calculate": 36697, + "fruit": 36698, + "_mm": 36699, + "ĉpthread": 36700, + "MaxLength": 36701, + "Ġcurrencies": 36702, + "_capacity": 36703, + "ĠOz": 36704, + "Ġfirearm": 36705, + "Ġcoefficient": 36706, + "Ġbankruptcy": 36707, + "wart": 36708, + "Ġfatigue": 36709, + "AVA": 36710, + "Ġespa": 36711, + "_pc": 36712, + "ĠQuotes": 36713, + "_LIGHT": 36714, + "ĠTickets": 36715, + "Ġrelates": 36716, + "Ġpublishers": 36717, + "Ġunlocked": 36718, + "Ġ//----------------------------------------------------------------": 36719, + "ĠInterruptedException": 36720, + "Ġoutlook": 36721, + "rn": 36722, + "Ġrebels": 36723, + "Written": 36724, + "Ġasian": 36725, + "otto": 36726, + "Ġĉĉĉĉ": 36727, + "_gpu": 36728, + "Txt": 36729, + ".ImageView": 36730, + "Ġsuis": 36731, + "_tables": 36732, + ".RecyclerView": 36733, + "Ġwhatsoever": 36734, + "èģ": 36735, + "]++;Ċ": 36736, + "assertTrue": 36737, + "_verify": 36738, + "ĠRivers": 36739, + "Ġ][": 36740, + "Jet": 36741, + "idian": 36742, + "Sibling": 36743, + "Ġgenres": 36744, + ".Access": 36745, + "OPS": 36746, + "Ġtrivial": 36747, + "ส": 36748, + "alen": 36749, + "вед": 36750, + "ĠSword": 36751, + "Ġscrutiny": 36752, + "(cb": 36753, + "Ġcommerce": 36754, + "Ġguarantees": 36755, + "_adv": 36756, + "ĠLET": 36757, + "recio": 36758, + "Ġhilar": 36759, + "Ġbackyard": 36760, + "ãĢı": 36761, + "Ġillustrated": 36762, + "/vendor": 36763, + ".Util": 36764, + "Ġwow": 36765, + "LOY": 36766, + "ĠMarshal": 36767, + "\">'.$": 36768, + "ĠBak": 36769, + "Ġmodifiers": 36770, + "dictionary": 36771, + "ĠStre": 36772, + "multiple": 36773, + "\")),": 36774, + "ĠCort": 36775, + "']\").": 36776, + "(admin": 36777, + "ĠCreator": 36778, + "Internet": 36779, + "(ms": 36780, + "logy": 36781, + "DECLARE": 36782, + "ĠMarcus": 36783, + "<<<<": 36784, + "ãģł": 36785, + "_my": 36786, + "(inst": 36787, + "Ġsciences": 36788, + "NDER": 36789, + ".enter": 36790, + "Ġitu": 36791, + "Ġbehave": 36792, + "Pan": 36793, + "ombies": 36794, + "='<": 36795, + "'));čĊ": 36796, + "ĠMENU": 36797, + "ĠWorkers": 36798, + ".NoError": 36799, + "Ġbindings": 36800, + "Ġdisabilities": 36801, + "{\\": 36802, + "ĠMunicip": 36803, + "Ġcores": 36804, + "urple": 36805, + "ĠNokia": 36806, + "usions": 36807, + "ĠFitness": 36808, + ".handleChange": 36809, + "Ġjavascript": 36810, + "ìļĶ": 36811, + "(dec": 36812, + "Ġpacking": 36813, + "-depend": 36814, + "Ġtranscript": 36815, + "zeros": 36816, + "_alert": 36817, + "?\",Ċ": 36818, + "libs": 36819, + "±Ð¾ÑĤ": 36820, + "Ġ|ĊĊ": 36821, + "trained": 36822, + "ĠGent": 36823, + "ĠRab": 36824, + "xp": 36825, + "_configuration": 36826, + "天": 36827, + "_accept": 36828, + ".recyclerview": 36829, + ":url": 36830, + "ĠMuhammad": 36831, + "Ġprivileges": 36832, + "_bank": 36833, + "uku": 36834, + "wallet": 36835, + "ĠROOT": 36836, + "Ġencuent": 36837, + "?family": 36838, + "ĉposition": 36839, + "Ġcg": 36840, + "Ġprecip": 36841, + "methods": 36842, + "_fast": 36843, + "increment": 36844, + "ĠTiger": 36845, + "_OCCURRED": 36846, + "quip": 36847, + "ĠHAS": 36848, + "_dom": 36849, + "Ġwreck": 36850, + "bj": 36851, + "Ġdern": 36852, + "Ġorgans": 36853, + ".entries": 36854, + "Ġ_('": 36855, + "ramento": 36856, + "ĠJamie": 36857, + "Ġpunk": 36858, + "IPP": 36859, + "Ġprograma": 36860, + "Ġattain": 36861, + "Ġproves": 36862, + "/sign": 36863, + "Ġanswering": 36864, + "Ġladder": 36865, + "****************************": 36866, + "ĠWalmart": 36867, + "ĠCONTENT": 36868, + "ductor": 36869, + "Ġverbal": 36870, + "ĠPID": 36871, + "crypto": 36872, + "_CALLBACK": 36873, + "Ġ=================================": 36874, + "Ġpotent": 36875, + "Ġshorts": 36876, + ".Uri": 36877, + ".uniform": 36878, + ";border": 36879, + "ĠWer": 36880, + "Ġherein": 36881, + "lla": 36882, + "ĠIhr": 36883, + "Pixmap": 36884, + "literal": 36885, + "!)ĊĊ": 36886, + "generic": 36887, + "rust": 36888, + "_scripts": 36889, + "osto": 36890, + "itus": 36891, + "ĠCoalition": 36892, + "Ġremot": 36893, + "deploy": 36894, + "ĠEagle": 36895, + "ãĢģãĢĮ": 36896, + "Ġimportante": 36897, + "ĉobject": 36898, + "Ġseasonal": 36899, + "nej": 36900, + "aidu": 36901, + "BindView": 36902, + "ĠSierra": 36903, + "-bg": 36904, + "ĠmakeStyles": 36905, + "[offset": 36906, + "Games": 36907, + "Ġhormone": 36908, + "ARIO": 36909, + "heads": 36910, + "(select": 36911, + "ĠStarted": 36912, + "@param": 36913, + "_decl": 36914, + "_blog": 36915, + "Ġaño": 36916, + "\\Api": 36917, + "ĠMilwaukee": 36918, + "Provid": 36919, + "Animated": 36920, + "Ġcooler": 36921, + "ĠSeed": 36922, + ".Edit": 36923, + "ÏĦ": 36924, + "ĠTaking": 36925, + "ĠborderColor": 36926, + "-founder": 36927, + ".LoggerFactory": 36928, + "Ġ\"\"ĊĊ": 36929, + "ALT": 36930, + "ĠLate": 36931, + "EDIATE": 36932, + "Ġ);ĊĊĊ": 36933, + "afa": 36934, + "Ġcancellation": 36935, + "Atom": 36936, + "ĠBirmingham": 36937, + "empresa": 36938, + "HEMA": 36939, + "ascal": 36940, + "Ġupside": 36941, + ".Version": 36942, + "ĠFolder": 36943, + "ĠEight": 36944, + "ĠVintage": 36945, + "ĠAppDelegate": 36946, + "ĠPrevention": 36947, + ".separator": 36948, + "STM": 36949, + "(room": 36950, + "generator": 36951, + "Ġcattle": 36952, + "ĉZ": 36953, + "ĠParticle": 36954, + "'};Ċ": 36955, + "Ġneighbours": 36956, + "ĠStateless": 36957, + "Ġaltitude": 36958, + "Ġsaint": 36959, + "обав": 36960, + "Ġconvinc": 36961, + "ĠContents": 36962, + "Ġjeune": 36963, + "(ts": 36964, + "Serialization": 36965, + "(collection": 36966, + "ĠJazz": 36967, + "ĠDod": 36968, + "ĠRoch": 36969, + "acio": 36970, + "commended": 36971, + "DEFINE": 36972, + ".onload": 36973, + "Ġspecialty": 36974, + "PLACE": 36975, + "_MOVE": 36976, + "Ġaccountable": 36977, + "Reuters": 36978, + "Ġficken": 36979, + "Ġdepr": 36980, + "Wow": 36981, + "Void": 36982, + ".space": 36983, + "à¸Ĺ": 36984, + "Ġtq": 36985, + "ĠPets": 36986, + "<$": 36987, + "(Current": 36988, + "berries": 36989, + "planation": 36990, + "ĠlistOf": 36991, + "ĠThu": 36992, + "ĠPRINT": 36993, + "Ġmismo": 36994, + "Ġdoi": 36995, + "chk": 36996, + "ĠUnicode": 36997, + "(role": 36998, + "Ġvirgin": 36999, + "-->Ċ": 37460, + "Vol": 37461, + "ĠSSD": 37462, + "))),": 37463, + ".Optional": 37464, + "Ġnurses": 37465, + "Ġorb": 37466, + "_pe": 37467, + ");čĊčĊčĊ": 37468, + "placed": 37469, + "esser": 37470, + "Ġtherapeutic": 37471, + "Ġwhitespace": 37472, + "Ġaston": 37473, + "Successful": 37474, + "Ġpraised": 37475, + "ĠWes": 37476, + "Ġeighth": 37477, + "iral": 37478, + "Ġvrouw": 37479, + "Ġfaction": 37480, + "_bias": 37481, + "Ġwitch": 37482, + "Ġnpc": 37483, + "(sb": 37484, + "ĠRodrig": 37485, + "_big": 37486, + "Dependency": 37487, + "ĠAbraham": 37488, + "ardi": 37489, + "CAR": 37490, + "nos": 37491, + "Ġabundance": 37492, + "Ġnutrients": 37493, + "instein": 37494, + ".Vert": 37495, + "ĠISS": 37496, + "D": 37595, + "Ġservlet": 37596, + "bastian": 37597, + "Ġ>&": 37598, + "SID": 37599, + "_clk": 37600, + "Ġdivisions": 37601, + "}',Ċ": 37602, + "Ġdildo": 37603, + "Ġparade": 37604, + "major": 37605, + "Ġaboard": 37606, + ";++": 37607, + "Ġfusion": 37608, + "\"},{\"": 37609, + "ĠDialogResult": 37610, + "ĉarr": 37611, + "-em": 37612, + "_nr": 37613, + "(handler": 37614, + ".NET": 37615, + ".XtraReports": 37616, + "ĠShah": 37617, + "ĠBrief": 37618, + "-,": 37619, + "Ġprecio": 37620, + "ĉĉĉĠĠĠĠĠĠ": 37621, + "Ġtant": 37622, + "ĠGrande": 37623, + "/xml": 37624, + "_ICON": 37625, + "ĠRetro": 37626, + "unque": 37627, + "Ġnag": 37628, + "toFixed": 37629, + "XL": 37630, + "Ġdeclaring": 37631, + "ĠConcrete": 37632, + "ĠAmazing": 37633, + "ĉprintk": 37634, + "Ġdebates": 37635, + "DATED": 37636, + "Ġaesthetic": 37637, + "emetery": 37638, + "RoutingModule": 37639, + "ĠNashville": 37640, + "WAYS": 37641, + "Ġwolf": 37642, + "Ġobservers": 37643, + "OTA": 37644, + "anson": 37645, + "Ġea": 37646, + "Ġgreenhouse": 37647, + "ĵįä½ľ": 37648, + "Ġstair": 37649, + "Ġimmigrant": 37650, + "_apply": 37651, + "peare": 37652, + "ĠBloomberg": 37653, + "_PLAYER": 37654, + "Resp": 37655, + "æŃ£": 37656, + "Chooser": 37657, + "ĠICollection": 37658, + "Peter": 37659, + "Erro": 37660, + ".detectChanges": 37661, + "Maps": 37662, + "Ġsqueeze": 37663, + "ĠHomes": 37664, + "wegian": 37665, + "Ġformatting": 37666, + "Ġnegotiate": 37667, + "uld": 37668, + "ĠNep": 37669, + "ĠQB": 37670, + "Ġeconomies": 37671, + "Ġ*/,": 37672, + "Ġredund": 37673, + "ĠAber": 37674, + ".IsNullOrWhiteSpace": 37675, + "ycled": 37676, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 37677, + "_Sh": 37678, + "Ġskept": 37679, + "Ġrecreated": 37680, + "ĠgetType": 37681, + "Ġmargins": 37682, + "Ġcolonial": 37683, + "charts": 37684, + "//@": 37685, + "Ġprocessors": 37686, + "说": 37687, + "batis": 37688, + "æĦı": 37689, + "atorio": 37690, + "mentioned": 37691, + "Patient": 37692, + "Ġprey": 37693, + "Checkbox": 37694, + "_xpath": 37695, + ".skip": 37696, + "ĠMormon": 37697, + "ĠMemoryStream": 37698, + "CREMENT": 37699, + "Ġku": 37700, + "meld": 37701, + "\\Data": 37702, + "ĠKernel": 37703, + "iltr": 37704, + "éĢģ": 37705, + "(profile": 37706, + "Carbon": 37707, + "ROLE": 37708, + "(pl": 37709, + "]*(": 37710, + ".memory": 37711, + "Ġmedal": 37712, + "Ġadvisor": 37713, + "ität": 37714, + "Ġhdr": 37715, + "ierung": 37716, + "ĠProvides": 37717, + "(alpha": 37718, + "Ġteenagers": 37719, + "-parser": 37720, + ".LatLng": 37721, + "]()Ċ": 37722, + "Ġfelony": 37723, + "ĉĉĉĊĉĉĉĊ": 37724, + "BOOK": 37725, + "Ġslash": 37726, + "Ġclearfix": 37727, + "ĠProphet": 37728, + "容": 37729, + "rightness": 37730, + "-fi": 37731, + ".kind": 37732, + "erton": 37733, + "Jim": 37734, + "Ġmanipulate": 37735, + "Ġworksheet": 37736, + "olin": 37737, + "stars": 37738, + "Ġartifact": 37739, + "_EMPTY": 37740, + "ĉmain": 37741, + "-------------';": 37809, + "Ġexpressing": 37810, + "ĠIQ": 37811, + "ĠFact": 37812, + "/*******************************************************************************Ċ": 37813, + "_mass": 37814, + ")):": 37815, + "Ġcondom": 37816, + "ĠcreateState": 37817, + "ometown": 37818, + "Ġirr": 37819, + "Ġ>(": 37820, + ">B": 37821, + "iteration": 37822, + "ãĥª": 37823, + "Ġshirts": 37824, + "ounty": 37825, + "->$": 37826, + "_SIGN": 37827, + "ĠDale": 37828, + "Ġjj": 37829, + "Easy": 37830, + "Fre": 37831, + "ĠNy": 37832, + "Ġchlor": 37833, + "matched": 37834, + "ĠGerm": 37835, + "-UA": 37836, + "ĠNathan": 37837, + "education": 37838, + "-yard": 37839, + "-che": 37840, + "houses": 37841, + "ritional": 37842, + "Ġproximity": 37843, + "Ġdiesem": 37844, + "áºŃp": 37845, + "Ġdrought": 37846, + ".audio": 37847, + "ĠLeo": 37848, + "Ġfavorable": 37849, + "inch": 37850, + "ĠDaw": 37851, + "ribly": 37852, + "_student": 37853, + "idable": 37854, + "OVE": 37855, + "Ġlacks": 37856, + "ouncing": 37857, + ".business": 37858, + "Ġreopen": 37859, + "maybe": 37860, + "_GLOBAL": 37861, + "Ġdresses": 37862, + "ĠEdwards": 37863, + "ensible": 37864, + "ĠHardware": 37865, + "ĠExcellent": 37866, + "ĠTimeUnit": 37867, + "CTIONS": 37868, + "Ġschedules": 37869, + "Ġsegue": 37870, + "Opens": 37871, + "ammen": 37872, + "-Identifier": 37873, + "Ġstaring": 37874, + "Ġhappily": 37875, + "ĠHob": 37876, + "'_": 37877, + "Ġ\");": 37878, + "amentos": 37879, + "etched": 37880, + "Ġ/>}Ċ": 37881, + ".Users": 37882, + "Ġinterrupted": 37883, + "Contacts": 37884, + "Ġregistro": 37885, + "inburgh": 37886, + "CHA": 37887, + "_imp": 37888, + "phis": 37889, + "say": 37890, + "Ġretailer": 37891, + ".NODE": 37892, + "/maps": 37893, + "_LAST": 37894, + "ĠCharge": 37895, + "_guard": 37896, + "Collider": 37897, + "ĠStatelessWidget": 37898, + "\":[\"": 37899, + "(\"../../": 37900, + "ioxide": 37901, + "ĠSund": 37902, + "Ġ'';": 37903, + "unset": 37904, + "addWidget": 37905, + "лÑİ": 37906, + "elles": 37907, + "alker": 37908, + "Arc": 37909, + "Ġdeduct": 37910, + "GUILayout": 37911, + "ĠVilla": 37912, + "Ġforbidden": 37913, + "_where": 37914, + "Ġ\\/": 37915, + "ĠTib": 37916, + "_AX": 37917, + "]čĊčĊ": 37918, + "ĠBir": 37919, + "Ġbend": 37920, + "ĠMAKE": 37921, + "ĠMET": 37922, + "Ġfutures": 37923, + "Ġweighted": 37924, + "\"\"\"čĊ": 37925, + "Ġauthorize": 37926, + "(program": 37927, + "},{\"": 37928, + "Ġcoefficients": 37929, + "ês": 37930, + "PerPage": 37931, + "ĠBathroom": 37932, + "ĠPublishing": 37933, + "GPL": 37934, + "Ġsubmissions": 37935, + "ĠNUMBER": 37936, + "jÄħ": 37937, + "Ġadditionally": 37938, + "empre": 37939, + "ĠShel": 37940, + "otyp": 37941, + "Solution": 37942, + "Ġthunder": 37943, + "_ec": 37944, + "ĠĊĠĠĠĠĊ": 37945, + "ĠFellow": 37946, + "Ġkay": 37947, + "ĠnewState": 37948, + "ONTAL": 37949, + "Implementation": 37950, + ".Look": 37951, + "Ġents": 37952, + "Ġlors": 37953, + "ĠBIG": 37954, + "fab": 37955, + "Ġaveraged": 37956, + "ĠFeedback": 37957, + "ĠWells": 37958, + "Ġmartial": 37959, + "Ġindul": 37960, + "ĠCommunist": 37961, + "ĠForex": 37962, + "ĠAgriculture": 37963, + "\"[": 37964, + "Ġquar": 37965, + "ĠKont": 37966, + "ĉview": 37967, + ".Bytes": 37968, + "desktop": 37969, + "ĠMakes": 37970, + "akespeare": 37971, + ".Nullable": 37972, + "Ġspotlight": 37973, + "VB": 37974, + "owy": 37975, + "(torch": 37976, + "tridge": 37977, + "_bounds": 37978, + "Ġapologize": 37979, + ".addItem": 37980, + "antd": 37981, + "*);Ċ": 37982, + ",u": 37983, + "(gen": 37984, + "ç»ĵ": 37985, + "reator": 37986, + "ĠCord": 37987, + "oupper": 37988, + ".metro": 37989, + "Ġew": 37990, + "ĠWORD": 37991, + ".After": 37992, + "Ġdetained": 37993, + "ĠHammer": 37994, + "existing": 37995, + "Ġost": 37996, + "Ġmonument": 37997, + "-custom": 37998, + "UserID": 37999, + "ĠNom": 38000, + "Ġrejection": 38001, + "(dim": 38002, + "Ġsingleton": 38003, + "ĉdie": 38004, + "ariance": 38005, + "reports": 38006, + "]!=": 38007, + "elda": 38008, + "Ġprevalence": 38009, + "_regs": 38010, + ".\".": 38011, + "Ġfeminist": 38012, + "Codec": 38013, + "Ġ**Ċ": 38014, + "(labels": 38015, + "_MARK": 38016, + "FAILED": 38017, + "Ġadministered": 38018, + "WN": 38019, + "ĠĠĠĠĠĠĠĠĉĉ": 38020, + "Ġnoun": 38021, + "wig": 38022, + "Ġgotta": 38023, + "Ġrif": 38024, + "-im": 38025, + "ĠPaulo": 38026, + "ĠCommandType": 38027, + "]))ĊĊ": 38028, + "-zero": 38029, + "Training": 38030, + "Ġlord": 38031, + "_art": 38032, + "reddit": 38033, + "Cert": 38034, + "Ġpeso": 38035, + "Rot": 38036, + "Ġendanger": 38037, + ".dr": 38038, + "userInfo": 38039, + "unts": 38040, + "nv": 38041, + "ĠTrailer": 38042, + "-first": 38043, + "(make": 38044, + "Ġbenefici": 38045, + "-black": 38046, + "iÃŁ": 38047, + "Ġundoubtedly": 38048, + "Ġmex": 38049, + "ĠAncient": 38050, + "(as": 38051, + "Ġdescent": 38052, + "Pick": 38053, + "Ġreplica": 38054, + "$obj": 38055, + "ähr": 38056, + "Ġarrows": 38057, + "fty": 38058, + "ĠLibya": 38059, + "uga": 38060, + "charged": 38061, + "Tur": 38062, + "Ġhomic": 38063, + "issen": 38064, + "ĠFake": 38065, + "Ġbeers": 38066, + "Ġscattered": 38067, + "(Time": 38068, + "UTIL": 38069, + "Ġbureaucr": 38070, + "/plain": 38071, + "Ġsticking": 38072, + "FAIL": 38073, + "ĠCovid": 38074, + "Third": 38075, + "_present": 38076, + "ĠPierre": 38077, + "Ġëª": 38078, + "Ġ[...]ĊĊ": 38079, + "Prob": 38080, + "ĠTraffic": 38081, + "icao": 38082, + "doctor": 38083, + "Ġ),ĊĊ": 38084, + "Tabs": 38085, + "alu": 38086, + "ï¼ļâĢľ": 38087, + "Ġinherent": 38088, + "_No": 38089, + "ritis": 38090, + "ĠProof": 38091, + ".basename": 38092, + "ä¼ļ": 38093, + "Ġchim": 38094, + "ĠProtected": 38095, + "crit": 38096, + "Ġprone": 38097, + "Ġкон": 38098, + "ĠHeroes": 38099, + "Ġanxious": 38100, + "Ġanos": 38101, + "Ġweekends": 38102, + "Ġsext": 38103, + "Ġreducer": 38104, + "=UTF": 38105, + "half": 38106, + "ĠSaw": 38107, + ".mm": 38108, + "Ġnueva": 38109, + ".currentTarget": 38110, + ".lua": 38111, + "_EXTENSION": 38112, + "ĉreg": 38113, + "ĠCtrl": 38114, + "_align": 38115, + "acceptable": 38116, + "Ġrushing": 38117, + "frac": 38118, + "Ġboasts": 38119, + "Five": 38120, + "±": 38121, + "ĠTemperature": 38122, + ">):": 38123, + "Ġcharter": 38124, + "REATED": 38125, + "Ġsubjected": 38126, + "Ġopc": 38127, + "healthy": 38128, + "使ç͍": 38129, + "ĠScientific": 38130, + "Ġfrau": 38131, + "riages": 38132, + "à¸Ķ": 38133, + ".inventory": 38134, + "ationale": 38135, + "Mad": 38136, + "minutes": 38137, + ">>();Ċ": 38138, + "ĠEnv": 38139, + "Ġrecordings": 38140, + "Ġsuspicion": 38141, + "sqlite": 38142, + "ĉread": 38143, + "ãģ¦": 38144, + "Ġworries": 38145, + ".putString": 38146, + "ĠShanghai": 38147, + "(uid": 38148, + "rer": 38149, + "ĠvÃŃde": 38150, + "\"):": 38151, + "Ġmethodology": 38152, + "ĠкоÑĤоÑĢ": 38153, + "ccc": 38154, + "avad": 38155, + "Ġinduction": 38156, + "ĉThread": 38157, + ",string": 38158, + "ại": 38159, + "nehmen": 38160, + "uition": 38161, + "Ġ*__": 38162, + ".emf": 38163, + "Ġìľ": 38164, + "/themes": 38165, + "ĠNine": 38166, + ".One": 38167, + "ĠEmbed": 38168, + "Ġfaz": 38169, + "uations": 38170, + "Ġprivately": 38171, + "Ġling": 38172, + "[F": 38173, + "ushi": 38174, + "Ġlaunches": 38175, + "(KEY": 38176, + "GMT": 38177, + "Ġaiming": 38178, + "patible": 38179, + "ĠBiden": 38180, + "iw": 38181, + "ĠDegree": 38182, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 38183, + "Ġ$('<": 38184, + "ários": 38185, + "toUpperCase": 38186, + "ìłľ": 38187, + "ĠEUR": 38188, + "Ġoversight": 38189, + "Ġtablesp": 38190, + "Updates": 38191, + ".makedirs": 38192, + "Ġhumidity": 38193, + "/template": 38194, + "Always": 38195, + "(IS": 38196, + "_cert": 38197, + "Dig": 38198, + "Ġunderway": 38199, + "orton": 38200, + "ĠHurricane": 38201, + "Ġspends": 38202, + "ĠSegment": 38203, + "Ġflies": 38204, + "ĠToggle": 38205, + "ĠLynch": 38206, + "Ġsenses": 38207, + "ĠKos": 38208, + "setEnabled": 38209, + "istically": 38210, + "Ġtester": 38211, + "Ġadministrators": 38212, + "Ġtagged": 38213, + "Ðĵ": 38214, + "Ġshortcut": 38215, + "ĠResolution": 38216, + "Ġsupervision": 38217, + "ĠAshley": 38218, + "Tracking": 38219, + "ulatory": 38220, + "andel": 38221, + "isten": 38222, + "Ġunre": 38223, + "(diff": 38224, + "ANTS": 38225, + "Ġrider": 38226, + "ĠsÄħ": 38227, + ".Series": 38228, + "_orders": 38229, + "ORIZONTAL": 38230, + "Ġretention": 38231, + "ãĢĤčĊčĊ": 38335, + "Ġdiagonal": 38336, + "ĠCancellationToken": 38337, + "_Internal": 38338, + "Ġruin": 38339, + ".Qt": 38340, + "ocratic": 38341, + "Tel": 38342, + "ĠAnswers": 38343, + "matic": 38344, + "Ġxp": 38345, + "atem": 38346, + "_jobs": 38347, + "_any": 38348, + "Ġseniors": 38349, + "Ġlandmark": 38350, + "ĠQList": 38351, + "Ġmaneu": 38352, + "otify": 38353, + "/\";Ċ": 38354, + "/server": 38355, + "ĠPhilosoph": 38356, + "utenant": 38357, + "(io": 38358, + "hz": 38359, + "Ġauthenticated": 38360, + "dv": 38361, + "-Compatible": 38362, + "Originally": 38363, + ",function": 38364, + "ãĢĤčĊ": 38365, + "ĠRepresentative": 38366, + "asily": 38367, + "ircuit": 38368, + ".dt": 38369, + "(math": 38370, + ".Marshal": 38371, + "[,": 38372, + "ĠCities": 38373, + "_turn": 38374, + "|)Ċ": 38375, + "Ġcantidad": 38376, + "alter": 38377, + "ĉui": 38378, + "ĠNebraska": 38379, + "Ġskirt": 38380, + ".bg": 38381, + "SharedPreferences": 38382, + "(style": 38383, + "Ġgrief": 38384, + "gew": 38385, + "Ġsafeg": 38386, + "olang": 38387, + "_lists": 38388, + "ìĽ": 38389, + "Ġgranite": 38390, + "Ġhottest": 38391, + ".jdbc": 38392, + ".Customer": 38393, + "Ġâī¤": 38394, + "Ġwaar": 38395, + "_scene": 38396, + "+'/": 38397, + "ĠJTextField": 38398, + "Ġseating": 38399, + "Ġwears": 38400, + "Ġ`/": 38401, + "Cases": 38402, + "ĠYoutube": 38403, + "ım": 38404, + "Ġbalcon": 38405, + ",G": 38406, + "MetaData": 38407, + "-price": 38408, + "SCR": 38409, + "Unity": 38410, + "Ġtrunk": 38411, + "={`${": 38412, + "Ġearthquake": 38413, + "Partial": 38414, + "Ġsubst": 38415, + "Ġelimin": 38416, + "=\"'.": 38417, + "//*[@": 38418, + "Ġsupervisor": 38419, + "vrolet": 38420, + "_article": 38421, + "Ġpane": 38422, + "bio": 38423, + "Ġmotors": 38424, + "NM": 38425, + "Frank": 38426, + "Ġonion": 38427, + "-word": 38428, + "ItemClickListener": 38429, + "Ġbrit": 38430, + "endencies": 38431, + "Computer": 38432, + "_running": 38433, + "(day": 38434, + "-he": 38435, + "(named": 38436, + "ĠSach": 38437, + "оÑĩ": 38438, + "campaign": 38439, + ".Abstract": 38440, + "(wrapper": 38441, + ".pay": 38442, + "Ġuw": 38443, + "Geo": 38444, + "rails": 38445, + "/select": 38446, + "ichte": 38447, + "sons": 38448, + "EVENT": 38449, + "Ġaliment": 38450, + "Providers": 38451, + "Await": 38452, + "_INTERVAL": 38453, + ".off": 38454, + "Ġgluten": 38455, + "_cloud": 38456, + "Ġwen": 38457, + ".extract": 38458, + "ĉbutton": 38459, + "/MM": 38460, + "Party": 38461, + "Ġdemographic": 38462, + "_errno": 38463, + "Ġhiking": 38464, + "('')Ċ": 38465, + "\",@\"": 38466, + "Ġwit": 38467, + "rá": 38468, + "ologie": 38469, + "ĠStyles": 38470, + "ĠBrowserModule": 38471, + ".RequestMapping": 38472, + "icans": 38473, + "PAGE": 38474, + "creation": 38475, + "ĠFerguson": 38476, + "uded": 38477, + "numbers": 38478, + "ĠGTK": 38479, + "Ġpresentations": 38480, + "ĠBobby": 38481, + "_span": 38482, + "estyle": 38483, + "Ġillegally": 38484, + "abela": 38485, + "Ġbattlefield": 38486, + "capacity": 38487, + "terror": 38488, + "]\");Ċ": 38489, + "Ġwarrior": 38490, + "leader": 38491, + "ĠDBG": 38492, + "ĠRevenue": 38493, + "Ġvigil": 38494, + "Ġcounterparts": 38495, + "(Error": 38496, + "ACTER": 38497, + "Ġheeft": 38498, + "Ġselections": 38499, + "zeug": 38500, + "tom": 38501, + "-two": 38502, + ".;Ċ": 38503, + "_statement": 38504, + "ĠAid": 38505, + "ĠVul": 38506, + "_rgb": 38507, + "Ġprizes": 38508, + "Ġeditable": 38509, + "ĉform": 38510, + "ını": 38511, + ".decor": 38512, + "Demo": 38513, + "lices": 38514, + "Ġenctype": 38515, + "ratulations": 38516, + "ĠROS": 38517, + "_chars": 38518, + "ĠJahr": 38519, + "partial": 38520, + "ÑĥÑĤ": 38521, + "ĠReceive": 38522, + "ĠLands": 38523, + "APTER": 38524, + "Ġchopped": 38525, + "..\"": 38526, + "ĠAnaly": 38527, + "ĠUID": 38528, + "ĠRadeon": 38529, + "ĠBee": 38530, + "Ġunm": 38531, + ">M": 38532, + ".findall": 38533, + "Tokenizer": 38534, + "ĠWHAT": 38535, + "Ġsj": 38536, + "Drawing": 38537, + "Ess": 38538, + "OND": 38539, + "Ĭ¶": 38540, + "(packet": 38541, + "âĢĶbut": 38542, + "Invocation": 38543, + "ĠNuclear": 38544, + "?;Ċ": 38545, + "Ġgrandes": 38546, + "ĠCrypt": 38547, + "remark": 38548, + "Ġ'../../../../": 38549, + "Ġinability": 38550, + "magic": 38551, + "cats": 38552, + "Ġsimulate": 38553, + ":${": 38554, + "inflate": 38555, + "Ġener": 38556, + ":NO": 38557, + "iples": 38558, + "Ġmerit": 38559, + "ĠRated": 38560, + "Ġglue": 38561, + "/blog": 38562, + "Ġgren": 38563, + "Ġthrilled": 38564, + ".CH": 38565, + "uncan": 38566, + "ĠPRIMARY": 38567, + "Ġpersec": 38568, + "Ġfeared": 38569, + ".MIN": 38570, + "ĠTheater": 38571, + "éĴ": 38572, + "ategorie": 38573, + "段": 38574, + "Ġappetite": 38575, + "square": 38576, + "ĠAlexand": 38577, + ".UserId": 38578, + "_gt": 38579, + "_enter": 38580, + "Ġgraduates": 38581, + "FragmentManager": 38582, + "Authorize": 38583, + "-NLS": 38584, + "(My": 38585, + "Ġtriumph": 38586, + "usting": 38587, + "_PARAMS": 38588, + "Characters": 38589, + "(:,:,": 38590, + "_BUILD": 38591, + "MHz": 38592, + "Ġwashed": 38593, + "Ġuncle": 38594, + "Steve": 38595, + "ardown": 38596, + "${": 38780, + "_confirmation": 38781, + "Ġtrophy": 38782, + "Works": 38783, + "ĠElectronics": 38784, + "ĠMediterranean": 38785, + "_metrics": 38786, + "Ġannouncing": 38787, + "ĠDAY": 38788, + "_proto": 38789, + "Ġpear": 38790, + "baseUrl": 38791, + "ĉĉĉĉĉĉĉĉĊ": 38792, + "Ġcoordination": 38793, + ":N": 38794, + ".animate": 38795, + "ĠCotton": 38796, + "_hit": 38797, + "âľ": 38798, + "Ġjetzt": 38799, + "ifter": 38800, + "(fields": 38801, + "ownload": 38802, + "ificacion": 38803, + ".cuda": 38804, + "ĠLiu": 38805, + ">equals": 38806, + "ĠAce": 38807, + "ÑĢам": 38808, + "ĠSuperman": 38809, + "ĠGarcia": 38810, + "Ġarrests": 38811, + "agar": 38812, + "Ġ{})": 38813, + "Ġmacros": 38814, + "roupe": 38815, + "être": 38816, + "Ġtwisted": 38817, + "struments": 38818, + "_(\"": 38819, + "_vertices": 38820, + "ĠTransition": 38821, + "ик": 38822, + "[max": 38823, + "mind": 38824, + "ĠaccessToken": 38825, + "Ġunle": 38826, + "mus": 38827, + "cop": 38828, + "ĠFactor": 38829, + "Ġconced": 38830, + "Ġretr": 38831, + ".linalg": 38832, + "-slider": 38833, + "obl": 38834, + "_StaticFields": 38835, + "Ġzombie": 38836, + "selling": 38837, + "Ġchap": 38838, + "Ġshaking": 38839, + "ĠTranslate": 38840, + "ĠAmsterdam": 38841, + "ĠETH": 38842, + "_EXTERN": 38843, + "kd": 38844, + "_disc": 38845, + "Ġpreceding": 38846, + "Ġprix": 38847, + "ObjectName": 38848, + "_modified": 38849, + "ardware": 38850, + "Ġ?>\">": 38851, + "ĠDW": 38852, + "`${": 38853, + "Ġ?>\">ĊĊ": 38959, + "Ġspinning": 38960, + "_pending": 38961, + "Matchers": 38962, + ".Keys": 38963, + "ĠPV": 38964, + "enus": 38965, + "antis": 38966, + "Ġdiscard": 38967, + "Ġhaul": 38968, + "Ġempir": 38969, + "Ġpathway": 38970, + "Ġoak": 38971, + "мен": 38972, + "-induced": 38973, + "Ġimpair": 38974, + "ĠCalgary": 38975, + ".isHidden": 38976, + "dz": 38977, + "_include": 38978, + "Ġgm": 38979, + "Ġ'('": 38980, + "PY": 38981, + "uggestions": 38982, + "Ġcommodity": 38983, + "cro": 38984, + "/sub": 38985, + "ĠgetInstance": 38986, + "ĠLegacy": 38987, + "ĠKil": 38988, + "Bal": 38989, + "(short": 38990, + "Inform": 38991, + "+x": 38992, + "*r": 38993, + "ĠHopefully": 38994, + "orate": 38995, + "Ġmachen": 38996, + "Ġtreaty": 38997, + "ĠOri": 38998, + ".public": 38999, + "-horizontal": 39000, + "Ġtactic": 39001, + "Ġbord": 39002, + "wares": 39003, + "Ġammo": 39004, + "ĠLists": 39005, + "Ġequations": 39006, + "/her": 39007, + "ĠNSW": 39008, + "Bounding": 39009, + "_Collections": 39010, + "Ġavail": 39011, + ".DropDown": 39012, + "è°": 39013, + "Ġhh": 39014, + "ĠlÃł": 39015, + ".pb": 39016, + "Ġmemorial": 39017, + "ĠATTR": 39018, + "Ġexhausted": 39019, + "Ġtsp": 39020, + "ĉredirect": 39021, + "Ġlikewise": 39022, + "STER": 39023, + "Ljava": 39024, + "Ġcondemned": 39025, + "ocaust": 39026, + "(strict": 39027, + "Ġexempt": 39028, + "Ġsms": 39029, + "Ġexagger": 39030, + "SYS": 39031, + "Ġlounge": 39032, + ":^": 39033, + "Ġtodd": 39034, + "deb": 39035, + "atorial": 39036, + "ĠPorter": 39037, + "Ġtuition": 39038, + "Ġexempl": 39039, + "Ġparen": 39040, + ".lineTo": 39041, + "Ġkidney": 39042, + "Ġça": 39043, + "Ġcui": 39044, + "ï¼Į请": 39045, + "XC": 39046, + "Ġmoż": 39047, + "Ġnominated": 39048, + "lung": 39049, + "ImGui": 39050, + "ĠBuzz": 39051, + "Ġstereo": 39052, + "portal": 39053, + "resas": 39054, + "Ġklass": 39055, + "Ġdrafted": 39056, + "Ġprojectile": 39057, + "/gpl": 39058, + "(parameters": 39059, + "*)Ċ": 39060, + "Ġassisted": 39061, + "ĠNSInteger": 39062, + "sitemap": 39063, + ":nth": 39064, + ".Views": 39065, + ".ArgumentParser": 39066, + "Ġmeer": 39067, + "zier": 39068, + "ĠDig": 39069, + "Ċ": 39136, + "Ġplag": 39137, + "pine": 39138, + "Ġblanket": 39139, + "Ġ:-": 39743, + "Ġlcd": 39744, + "---------------": 39745, + "(\"\"": 39746, + "Ġtactical": 39747, + "ĠRonald": 39748, + "extr": 39749, + "ĠFest": 39750, + "Ġfuer": 39751, + "-navigation": 39752, + "Ġkb": 39753, + "ghost": 39754, + "ĠhandleChange": 39755, + "_cls": 39756, + "()!=": 39757, + "Comparator": 39758, + ".vm": 39759, + "ĠCox": 39760, + "_review": 39761, + "/@": 39762, + "_cookie": 39763, + "Ġrecognised": 39764, + "ldap": 39765, + "Threads": 39766, + "ĠSexual": 39767, + "ĠBearing": 39768, + "(SQL": 39769, + "Ġxr": 39770, + "Ġthigh": 39771, + "URLConnection": 39772, + "ĠSUV": 39773, + "ĠmContext": 39774, + "Ġincidence": 39775, + "ĠEste": 39776, + ".sup": 39777, + "_te": 39778, + "(EXIT": 39779, + "CMD": 39780, + "/\">": 39781, + "Almost": 39782, + "ĠUne": 39783, + "Ġanderen": 39784, + "ĠSingleton": 39785, + "Ġbore": 39786, + "Think": 39787, + "Ġnarc": 39788, + "]initWith": 39789, + "_shop": 39790, + "(strategy": 39791, + "!',": 39792, + "herits": 39793, + "ĠDesk": 39794, + "_machine": 39795, + ".netty": 39796, + "ında": 39797, + "=<": 39798, + "ĠQR": 39799, + "ĠSidebar": 39800, + ".splitContainer": 39801, + "ĠonSuccess": 39802, + "Ġmonkey": 39803, + "Enjoy": 39804, + "(nodes": 39805, + "pectrum": 39806, + "Ġ(*(": 39807, + "ĉUINT": 39808, + ",height": 39809, + "ĠNetworks": 39810, + ".tail": 39811, + ".linspace": 39812, + "Ġ\"...": 39813, + "Listen": 39814, + "Æ¡": 39815, + ".Channel": 39816, + "-defined": 39817, + "Repeat": 39818, + "adjust": 39819, + "ERM": 39820, + "_application": 39821, + ".assertNotNull": 39822, + "-stream": 39823, + "Ġrabbit": 39824, + "Ġpositioning": 39825, + "Ġwoke": 39826, + "Ġfing": 39827, + "Ġmultiplayer": 39828, + "Ġregistering": 39829, + "until": 39830, + "Ã¥n": 39831, + "(::": 39832, + "ussions": 39833, + "Ġpotato": 39834, + "ĠEquals": 39835, + ".Sup": 39836, + "/apache": 39837, + "Ġ(=": 39838, + ".\")": 39839, + ".ptr": 39840, + "ĠSpeech": 39841, + ".clip": 39842, + "ĠGabriel": 39843, + "Ġmusician": 39844, + "/issues": 39845, + ".shop": 39846, + "ĠHier": 39847, + "_RET": 39848, + "_bucket": 39849, + "ãĥ¡": 39850, + "avs": 39851, + "Ġroz": 39852, + "flower": 39853, + "WriteBarrier": 39854, + "ĠMilan": 39855, + "Ġlegislature": 39856, + "ĠDoll": 39857, + "Ġproving": 39858, + ".concatenate": 39859, + "âķIJ": 39860, + "Ġgchar": 39861, + "cdnjs": 39862, + "bles": 39863, + "ĠListing": 39864, + "ло": 39865, + ".xrLabel": 39866, + "ĠSak": 39867, + "justice": 39868, + "ĠValentine": 39869, + "unless": 39870, + "Ġpiger": 39871, + "(run": 39872, + "Ġtestified": 39873, + "ANA": 39874, + "ĠRemoves": 39875, + "))));Ċ": 39876, + "recated": 39877, + "ĠRuntimeMethod": 39878, + "Ġconqu": 39879, + "ãĤ¢": 39880, + "Ġtissues": 39881, + "ailer": 39882, + "été": 39883, + "-Star": 39884, + "Ġflames": 39885, + ".setIcon": 39886, + "Ġsupern": 39887, + "Ġvagina": 39888, + "-variable": 39889, + "Ġwellness": 39890, + "CUR": 39891, + "Ġbelle": 39892, + ".getRequest": 39893, + "Ġpoco": 39894, + "benh": 39895, + "agens": 39896, + "Ġspill": 39897, + "ĠJur": 39898, + "Ġdispatcher": 39899, + "ного": 39900, + "emonic": 39901, + "(dirname": 39902, + "ĠÐĶ": 39903, + "Ġpasse": 39904, + "Ġganz": 39905, + "ricing": 39906, + "EU": 39907, + "Ġmujeres": 39908, + "essen": 39909, + ".attribute": 39910, + "jj": 39911, + "ĉĉĠĊ": 39912, + "[^": 39913, + "Ġstrtolower": 39914, + "lexer": 39915, + "ectar": 39916, + "hotel": 39917, + ".square": 39918, + "Ġrall": 39919, + "Ġlowered": 39920, + "handled": 39921, + "Market": 39922, + "ĠUses": 39923, + "ivas": 39924, + ".Business": 39925, + "ãģĹãģ¦": 39926, + "DIV": 39927, + "Ġwasted": 39928, + "Ġavoir": 39929, + "êm": 39930, + "_ACCOUNT": 39931, + ".et": 39932, + "ĉSDL": 39933, + "kap": 39934, + "Ġfox": 39935, + "uppet": 39936, + "{},Ċ": 39937, + "\",'": 39938, + "Favorite": 39939, + "PEND": 39940, + "ĠAES": 39941, + "}),": 39942, + "Ġdeduction": 39943, + "ĠpolÃŃt": 39944, + "ĠcomponentWill": 39945, + "ĠTelerik": 39946, + "_SELF": 39947, + "Ġmuse": 39948, + "Craft": 39949, + "Ġdens": 39950, + "ि": 39951, + "(tp": 39952, + "Ġtasty": 39953, + "Ġbalances": 39954, + "Ġdedication": 39955, + "ĠWallace": 39956, + "Ġunlaw": 39957, + "\\\">\\": 39958, + "Ġmum": 39959, + "-update": 39960, + "emente": 39961, + "Ġsoda": 39962, + "Republic": 39963, + "asmine": 39964, + "éric": 39965, + "(Status": 39966, + "ĠJsonConvert": 39967, + "ĠDisk": 39968, + ".Redirect": 39969, + "Ġfilming": 39970, + "/mol": 39971, + "Ro": 39972, + "Ġville": 39973, + "Ġtrabaj": 39974, + "Ġsynthesis": 39975, + "rega": 39976, + "Ġrl": 39977, + "Scheduler": 39978, + "ISHED": 39979, + "currentUser": 39980, + "(errors": 39981, + "'h": 39982, + "_bot": 39983, + "ximo": 39984, + "ĠUSART": 39985, + "_super": 39986, + "_DECREF": 39987, + "ной": 39988, + "_ROW": 39989, + "Ġpromotes": 39990, + "ĠTA": 39991, + "Ġhoras": 39992, + "ĠRepresents": 39993, + "Ġnameof": 39994, + "ĠExc": 39995, + "ĠGarage": 39996, + "Ġseine": 39997, + ",#": 39998, + "Ġherb": 39999, + "/resources": 40000, + "Ġpleaded": 40001, + ".radioButton": 40002, + "Ġæĺ": 40003, + "Ops": 40004, + "ĠNest": 40005, + "cstring": 40006, + "ĠDefence": 40007, + "Ġrefere": 40008, + "_leaf": 40009, + "Ġrevelation": 40010, + "ë§": 40011, + ".executeUpdate": 40012, + "_WORLD": 40013, + "Ġexpans": 40014, + "(\"\\\"": 40015, + "jab": 40016, + "Ġdoubts": 40017, + "ĠGeometry": 40018, + "Ġintroduces": 40019, + "Ġsenators": 40020, + "Ġcanal": 40021, + ".helper": 40022, + "ĠBiology": 40023, + "_SENS": 40024, + ".previous": 40025, + "-touch": 40026, + "abit": 40027, + "Ġimpacted": 40028, + "Ġbrackets": 40029, + ".direct": 40030, + "accum": 40031, + "Ġtestosterone": 40032, + "ĉaction": 40033, + "ĠChance": 40034, + "Ġpeaks": 40035, + "CppCodeGenWriteBarrier": 40036, + "Ġunbelie": 40037, + "_press": 40038, + ".Rel": 40039, + "angled": 40040, + "/templates": 40041, + "-->čĊ": 40042, + "lime": 40043, + "Ġsufficiently": 40044, + "_nt": 40045, + "Expand": 40046, + ".isfile": 40047, + "ĠisEmpty": 40048, + "Ġqt": 40049, + "Ġmulher": 40050, + "acob": 40051, + "George": 40052, + "常": 40053, + "Ġassim": 40054, + "aso": 40055, + "Ġcomprised": 40056, + "OV": 40057, + "(CONFIG": 40058, + "ĉwriter": 40059, + "Ġdesp": 40060, + "Ġtenure": 40061, + "(cr": 40062, + ".pool": 40063, + "ĠBrend": 40064, + "Ġcensor": 40065, + "(timeout": 40066, + "Ġplea": 40067, + ".Wrap": 40068, + "Ġtightly": 40069, + "ĠWere": 40070, + "ĠIgnore": 40071, + "abei": 40072, + "Ġbridges": 40073, + "Ġcondemn": 40074, + "Ġsimplicity": 40075, + "Ġroutinely": 40076, + "Ġblacks": 40077, + "jb": 40078, + "ĠPit": 40079, + "Utf": 40080, + "Ġ/Ċ": 40081, + "reload": 40082, + "ĠsetObject": 40083, + "/global": 40084, + "Ġfatty": 40085, + "Ġsocks": 40086, + "Couldn": 40087, + "Ġerotisk": 40088, + "æĿ¡": 40089, + "ĠPressure": 40090, + "ĠMaz": 40091, + "npos": 40092, + "tolower": 40093, + "ĠEQ": 40094, + "uteur": 40095, + "ĠMoment": 40096, + "Ġeta": 40097, + "{{--": 40098, + "Ġgraphs": 40099, + "ĠGuar": 40100, + "rine": 40101, + "(--": 40102, + "ĠHttpStatus": 40103, + "(student": 40104, + "*np": 40105, + "Ġrailway": 40106, + "Ġasynchronous": 40107, + "_vm": 40108, + "'],'": 40109, + ",text": 40110, + "merchant": 40111, + "(Guid": 40112, + "ĠGra": 40113, + "ixer": 40114, + "fetchAll": 40115, + ".addListener": 40116, + "flip": 40117, + "*$": 40118, + ">(),": 40119, + "Ġsunlight": 40120, + "assigned": 40121, + "Ġabc": 40122, + "ĠCOLUMN": 40123, + "ĠðŁĻĤĊĊ": 40124, + ")...": 40125, + "Ġensemble": 40126, + "Ġnewline": 40127, + "_SINGLE": 40128, + "iedad": 40129, + "Ġdarker": 40130, + "ormap": 40131, + "Ġlion": 40132, + "plits": 40133, + "Ġillustration": 40134, + "ĠIEEE": 40135, + "Ġvista": 40136, + "ousands": 40137, + "*******": 40138, + "ĠTommy": 40139, + "Ġhue": 40140, + "Sel": 40141, + "Ġaura": 40142, + "ĠTherapy": 40143, + "Ġanimator": 40144, + ".constraints": 40145, + "Ġvague": 40146, + "(\"\")": 40147, + "Ġvillain": 40148, + "Ġblessing": 40149, + "ĠstringBuilder": 40150, + "ĠMisc": 40151, + "ĠDIR": 40152, + "fax": 40153, + "-node": 40154, + "ĠWalking": 40155, + "ĠAU": 40156, + "sess": 40157, + "Ġgrill": 40158, + "VERTISE": 40159, + "ĠFoods": 40160, + "Ġtournaments": 40161, + "Ãĵ": 40162, + "ĠMarsh": 40163, + "Ġwonders": 40164, + "Longitude": 40165, + ".CommandText": 40166, + "=input": 40167, + "_encoder": 40168, + "pageSize": 40169, + "ĠgetState": 40170, + ">>Ċ": 40171, + ".grey": 40172, + "pod": 40173, + "Ġreadings": 40174, + "Ġreconsider": 40175, + "Startup": 40176, + "Ġexcer": 40177, + ".balance": 40178, + "_cycle": 40179, + "_Time": 40180, + "LOCAL": 40181, + "ĠEFI": 40182, + "ĠReyn": 40183, + ".setForeground": 40184, + "byn": 40185, + "Ġdisconnected": 40186, + "ACTIVE": 40187, + "Ġembedding": 40188, + "ickers": 40189, + "Ġsurroundings": 40190, + "*c": 40191, + "Ġgarant": 40192, + "Ġbf": 40193, + "Ġwipe": 40194, + "Ġä¸ĭ": 40195, + "_TRA": 40196, + "adox": 40197, + "çķ": 40198, + "Ġsucks": 40199, + "ĠSongs": 40200, + "ĠAssociates": 40201, + "ĠBald": 40202, + "ĠBrett": 40203, + "venile": 40204, + "Ġvt": 40205, + "Ġinade": 40206, + "Ġresigned": 40207, + "ĠGlenn": 40208, + ".pattern": 40209, + ".DataBind": 40210, + "Ñĥм": 40211, + "LayoutInflater": 40212, + "chet": 40213, + "ĠTestament": 40214, + ".ms": 40215, + "Ġpav": 40216, + "ĠReactDOM": 40217, + "urdy": 40218, + "ADATA": 40219, + "Mu": 40220, + "/actions": 40221, + "ĠJs": 40222, + "_extract": 40223, + "ĠBring": 40224, + ":id": 40225, + "strt": 40226, + "ivation": 40227, + "Ġoutright": 40228, + "azu": 40229, + "loyment": 40230, + "иÑı": 40231, + "aldo": 40232, + "ĠPublisher": 40233, + "Education": 40234, + "Palette": 40235, + "_drv": 40236, + "Ġ($(": 40237, + "ĠAnda": 40238, + "Ġremedy": 40239, + "Ġinconsistent": 40240, + "tection": 40241, + "Ġregulators": 40242, + "Ġshortest": 40243, + "(pair": 40244, + "ĠInstallation": 40245, + "Ġdefendants": 40246, + "Ġ();": 40247, + "-large": 40248, + "Mel": 40249, + "Ġthreaten": 40250, + "нÑı": 40251, + "Ġfetish": 40252, + "otine": 40253, + "_dic": 40254, + "Ġ<$": 40255, + "Ġstagger": 40256, + "spi": 40257, + "$response": 40258, + "Serv": 40259, + "-born": 40260, + "jos": 40261, + "ĉimg": 40262, + "ĉWHERE": 40263, + "_lt": 40264, + "å½ĵ": 40265, + ".cost": 40266, + "ĠTue": 40267, + ".labels": 40268, + "ĠLV": 40269, + "wcsstore": 40270, + "ĠJesse": 40271, + "ห": 40272, + "Trade": 40273, + "Ġpredecessor": 40274, + "ëĤ": 40275, + "finally": 40276, + "_general": 40277, + "oggler": 40278, + "_REGION": 40279, + "nement": 40280, + "Ġblogger": 40281, + "ĠHarbor": 40282, + "ĠDataset": 40283, + "[w": 40284, + "Ġattendees": 40285, + ".ico": 40286, + "maximum": 40287, + ".Unlock": 40288, + "_SYNC": 40289, + "ágina": 40290, + "Ġdowns": 40291, + "ĠWii": 40292, + "])/": 40293, + "Ġkicking": 40294, + "unication": 40295, + "ĠDAC": 40296, + "ĠIDS": 40297, + "ĠRental": 40298, + "ĠcurrentTime": 40299, + "Ġvaccines": 40300, + "ĠDevil": 40301, + "Ġnors": 40302, + "_mouse": 40303, + "urrection": 40304, + "(no": 40305, + "Ġ>čĊ": 40306, + "Ġaggression": 40307, + "Ġbreeding": 40308, + ".symbol": 40309, + "iman": 40310, + "AbsolutePath": 40311, + "ĠWHO": 40312, + "_flush": 40313, + "-root": 40314, + "arna": 40315, + "&M": 40316, + "Ġfathers": 40317, + "ĠRocket": 40318, + "iveau": 40319, + "Ġwander": 40320, + "Ġcompos": 40321, + "ĠWarrior": 40322, + "ĠSeat": 40323, + "ĠClinic": 40324, + "_invoice": 40325, + "(dispatch": 40326, + "Producto": 40327, + "aturing": 40328, + "ossier": 40329, + "ĠMAY": 40330, + "Ġdagger": 40331, + "Ġsanitized": 40332, + "ĠRFC": 40333, + "Ġproph": 40334, + "Ġurine": 40335, + "Ġgrind": 40336, + "ĠExpanded": 40337, + "descripcion": 40338, + "-fw": 40339, + "ĠKerry": 40340, + "=name": 40341, + "Ġchk": 40342, + "Ġnationally": 40343, + "Ġthee": 40344, + "Inc": 40345, + "Ġ?>>": 40346, + ".RadioButton": 40347, + ".HttpServletResponse": 40348, + "/Y": 40349, + "ĉfield": 40350, + "Ġhomme": 40351, + "yper": 40352, + "Physical": 40353, + "=v": 40354, + "Ġdriv": 40355, + "ĠErrors": 40356, + "ĠcÄĥ": 40357, + "Death": 40358, + "ĠWINDOW": 40359, + "Ġpoet": 40360, + "ĠSharp": 40361, + "ĠImmutable": 40362, + "ĉcreate": 40363, + "Ġgeht": 40364, + "ĠReform": 40365, + "aiser": 40366, + "ĠInitialization": 40367, + "Ġimmunity": 40368, + ".compose": 40369, + "Ġlatency": 40370, + "ĠLebanon": 40371, + "ĠParad": 40372, + "Ġfuels": 40373, + "ĠExhib": 40374, + "coh": 40375, + "%\">Ċ": 40376, + "ĠCLI": 40377, + ")initWith": 40378, + "-Za": 40379, + "_CLEAR": 40380, + "regn": 40381, + "Ġfinances": 40382, + ".standard": 40383, + "_CATEGORY": 40384, + ".library": 40385, + "Ġtravelers": 40386, + "_wp": 40387, + "ĠEvaluation": 40388, + "starting": 40389, + "Ġ)),Ċ": 40390, + "episode": 40391, + "ĠVariant": 40392, + "Ġdaemon": 40393, + "ĠJulia": 40394, + "ĠNR": 40395, + "Ġdoubles": 40396, + "'": 40626, + "Ġqueryset": 40627, + ";}čĊ": 40628, + "ĠPopulation": 40629, + "utedString": 40630, + "resident": 40631, + "_FONT": 40632, + "ĠRespond": 40633, + "Ġobscure": 40634, + "Ġobservable": 40635, + "ĠContributors": 40636, + "kon": 40637, + "ĠMusk": 40638, + "exao": 40639, + "ĠTub": 40640, + "BootApplication": 40641, + "SOR": 40642, + ".Horizontal": 40643, + ".findBy": 40644, + ".power": 40645, + "Ġpositively": 40646, + "venience": 40647, + "ĠJong": 40648, + "Ġwhistle": 40649, + "ĠзнаÑĩ": 40650, + "Ġlending": 40651, + "Ġdestructive": 40652, + "ĠonDelete": 40653, + "authorization": 40654, + "();?>": 40655, + "_original": 40656, + "science": 40657, + "atra": 40658, + "?,?,": 40659, + "ĠAsc": 40660, + "Ġconvincing": 40661, + "$a": 40662, + "orgen": 40663, + "_Date": 40664, + "ĠProvide": 40665, + "Ġlonely": 40666, + ")'Ċ": 40667, + "exchange": 40668, + ";?>Ċ": 40669, + ".fast": 40670, + "Samples": 40671, + "London": 40672, + "'])čĊ": 40673, + "ĠIonic": 40674, + "Ġpesso": 40675, + "ĠKnights": 40676, + "ĠRaf": 40677, + "_attrs": 40678, + "Ġrepeal": 40679, + ">Main": 40680, + "ĠOrdered": 40681, + "_New": 40682, + "=\"\">\";Ċ": 40763, + "ĠSERVER": 40764, + "ĠHEADER": 40765, + "_velocity": 40766, + "ĠInvoke": 40767, + ".timestamps": 40768, + "Ġsulf": 40769, + "IQUE": 40770, + "Ġinhabitants": 40771, + "phins": 40772, + "azzo": 40773, + "Ġmono": 40774, + "Legend": 40775, + "Ġnonce": 40776, + "IFE": 40777, + ";\";Ċ": 40778, + "-create": 40779, + "\"\",Ċ": 40780, + "permit": 40781, + "ĠImmigration": 40782, + "Ġpathname": 40783, + "ffective": 40784, + "âĻĢâĻĢ": 40785, + "Ġexams": 40786, + "-event": 40787, + "ĠTill": 40788, + "[mid": 40789, + "FIX": 40790, + ";color": 40791, + "(Order": 40792, + "_traits": 40793, + "ĠorderBy": 40794, + "Ġsunt": 40795, + "ĠNicholas": 40796, + "ز": 40797, + "Ġsunny": 40798, + "iners": 40799, + "Ġaccessibility": 40800, + "ĠHB": 40801, + ".comp": 40802, + "ĉop": 40803, + "Ġminorities": 40804, + "etheus": 40805, + "Ġcollaborative": 40806, + "prit": 40807, + "HIR": 40808, + "Ġwraps": 40809, + "ĉdraw": 40810, + "god": 40811, + "ĠIX": 40812, + ".apps": 40813, + "ĠNM": 40814, + "Ġirrelevant": 40815, + "ĠTigers": 40816, + "Ġdiag": 40817, + "GV": 40818, + "ĠAccessories": 40819, + "kont": 40820, + "Ġsimplify": 40821, + "ĠFavorite": 40822, + "_tools": 40823, + "([]);Ċ": 40824, + "Ġtowers": 40825, + "Bes": 40826, + "Ġhunter": 40827, + "Ġsalon": 40828, + "(buff": 40829, + "ĉdebug": 40830, + "Ġmalware": 40831, + "Moving": 40832, + "-options": 40833, + ")+'": 40834, + "ĠLOVE": 40835, + "_SOCKET": 40836, + "_fin": 40837, + "ĠDelaware": 40838, + "Ġsheriff": 40839, + "-invalid": 40840, + "ĠFULL": 40841, + "Ġпод": 40842, + "elas": 40843, + "\"strings": 40844, + "ĠRepresentatives": 40845, + "surface": 40846, + "resolved": 40847, + "htdocs": 40848, + ")):čĊ": 40849, + "Ġpressures": 40850, + "Ġnorms": 40851, + "Ġpla": 40852, + "Ġsurname": 40853, + "Ġpostal": 40854, + "ĠDepart": 40855, + "Ġslaughter": 40856, + "orida": 40857, + "Ġhebben": 40858, + "Ġdesar": 40859, + "compact": 40860, + "_LANG": 40861, + "åIJĪ": 40862, + "opoly": 40863, + "_rad": 40864, + "ĠSTDMETHOD": 40865, + "Lazy": 40866, + "ĠĠĠĉ": 40867, + "...,": 40868, + "(web": 40869, + "ĠPont": 40870, + "Ġetwas": 40871, + "Ġupward": 40872, + "_hat": 40873, + "Ġ],ĊĊ": 40874, + "ĠbaseUrl": 40875, + "Ġworrying": 40876, + "-addon": 40877, + "(getClass": 40878, + "SPI": 40879, + "Ġcapturing": 40880, + ")},Ċ": 40881, + "Effects": 40882, + "Ġcompetent": 40883, + "Ġfoul": 40884, + "Ġsubscribing": 40885, + "ĠOBJECT": 40886, + "IXEL": 40887, + "bucks": 40888, + "(edge": 40889, + "(pass": 40890, + "ĠPeterson": 40891, + "Ġboobs": 40892, + "ĠDelay": 40893, + "_square": 40894, + "elim": 40895, + "oters": 40896, + "_PC": 40897, + "%E": 40898, + "onclick": 40899, + "ĠSVG": 40900, + "Ġtopped": 40901, + "Ġfist": 40902, + "smart": 40903, + "ĠRalph": 40904, + "(owner": 40905, + "jours": 40906, + "Ġbronze": 40907, + "ĠArgumentException": 40908, + "(original": 40909, + "_SCALE": 40910, + "_cp": 40911, + "Ġrecommends": 40912, + ".setStyle": 40913, + "Sure": 40914, + "LAND": 40915, + "Ġrepeating": 40916, + "Matt": 40917, + ".Visibility": 40918, + "Ġenterprises": 40919, + ".Setup": 40920, + "(scene": 40921, + "ĠReactive": 40922, + "urge": 40923, + "bw": 40924, + ".Put": 40925, + "persist": 40926, + ".cookie": 40927, + "ĠAudi": 40928, + "`s": 40929, + "supplier": 40930, + "(Form": 40931, + "¡": 40932, + "_so": 40933, + "ĮĢ": 40934, + "ĠLegion": 40935, + "tte": 40936, + "Nd": 40937, + "Loss": 40938, + "(attrs": 40939, + ".scatter": 40940, + "Ġgroom": 40941, + "Ġglimpse": 40942, + "Ġnails": 40943, + "Ġcumulative": 40944, + "Ġfazer": 40945, + "_services": 40946, + ".Num": 40947, + "ibilit": 40948, + "_resolution": 40949, + "ĠTx": 40950, + "uminium": 40951, + "opa": 40952, + ".schedule": 40953, + "smtp": 40954, + "à¸ķ": 40955, + "urry": 40956, + "ük": 40957, + "goog": 40958, + "_signature": 40959, + ".into": 40960, + "ĠSteps": 40961, + "Ġhomeowners": 40962, + "ĠNSURL": 40963, + "ĠPAC": 40964, + "ĠĠĠĠĠĠĠĠĠĠĠĠĊĊ": 40965, + ">')Ċ": 40966, + "enh": 40967, + "Ġincap": 40968, + "$MESS": 40969, + "Ġmoins": 40970, + "ĠFi": 40971, + "Ġoffseason": 40972, + "pressions": 40973, + ">.Ċ": 41045, + "ĠGrass": 41046, + "ĠGoal": 41047, + "_pdf": 41048, + "Handlers": 41049, + "Ġstacks": 41050, + ".getFullYear": 41051, + "=[];Ċ": 41052, + "车": 41053, + ",V": 41054, + "(split": 41055, + "Ñĥнк": 41056, + "Ġbakeca": 41057, + "Ġ~/.": 41058, + "pez": 41059, + "tails": 41060, + "ĠGlen": 41061, + "ĠsetImage": 41062, + "ĠComic": 41063, + "BLOCK": 41064, + "ĉThis": 41065, + "oader": 41066, + "Ġcapitalist": 41067, + "_STEP": 41068, + "(Boolean": 41069, + "ĠCorrect": 41070, + "rina": 41071, + "Ġconcaten": 41072, + "å®ŀ": 41073, + "():ĊĊ": 41074, + "Ġunanim": 41075, + "lli": 41076, + "alars": 41077, + "-ne": 41078, + "Ġdivor": 41079, + "ĠKickstarter": 41080, + "]._": 41081, + "*'+": 41722, + "åĿĢ": 41723, + "acency": 41724, + "(URL": 41725, + "_half": 41726, + "=l": 41727, + "ĠlistView": 41728, + "(section": 41729, + ".toArray": 41730, + "+/": 41731, + "ĠRodriguez": 41732, + "istream": 41733, + "Ġeligibility": 41734, + "::-": 41735, + ".newInstance": 41736, + "PB": 41737, + "ĠAssets": 41738, + "ĠComposite": 41739, + "ĠLabs": 41740, + "ĠHamas": 41741, + "++);Ċ": 41742, + "Ġblk": 41743, + "ĠNeo": 41744, + "Luc": 41745, + "@login": 41746, + "Ġunaware": 41747, + ".met": 41748, + "_RELEASE": 41749, + "(ST": 41750, + "AMIL": 41751, + "rike": 41752, + "Ġ(){Ċ": 41753, + "(sprintf": 41754, + "ĠAccounts": 41755, + "ĠVIEW": 41756, + "ĠAj": 41757, + "ãĤ°": 41758, + "Ġwhisk": 41759, + "Ġidi": 41760, + "Ġrode": 41761, + "Ġihn": 41762, + "ĠElementary": 41763, + "Qty": 41764, + "Ġintriguing": 41765, + "Ġå¤": 41766, + "Jobs": 41767, + "ĉoffset": 41768, + "ĠAhmed": 41769, + "ĠTaliban": 41770, + "Ġèİ·åıĸ": 41771, + "Ġinjected": 41772, + ".Authentication": 41773, + "_linear": 41774, + ".Decimal": 41775, + "Ġapples": 41776, + "Ġshareholders": 41777, + "Ġbaked": 41778, + ".diff": 41779, + "ĠEddie": 41780, + "okers": 41781, + "Ġconfronted": 41782, + "voices": 41783, + "Ġtus": 41784, + "ĠSpin": 41785, + "NODE": 41786, + "_Un": 41787, + "CTX": 41788, + "/google": 41789, + "Temperature": 41790, + "Ġ'').": 41791, + "Ġmagnificent": 41792, + "ĠstartIndex": 41793, + "sembles": 41794, + "Anyone": 41795, + "zk": 41796, + "ehen": 41797, + "ĠDame": 41798, + ".strict": 41799, + "Ġreplaces": 41800, + "Ġlineback": 41801, + "Ġpushes": 41802, + "Ġcheek": 41803, + "ĠShi": 41804, + "_BYTES": 41805, + "REA": 41806, + "ản": 41807, + "_CONNECTION": 41808, + "Gateway": 41809, + "ĠTravis": 41810, + "ĠAX": 41811, + "ĠBasically": 41812, + "ĠUpgrade": 41813, + "àª": 41814, + "themes": 41815, + "ermo": 41816, + "kor": 41817, + "Female": 41818, + "_attach": 41819, + "ĠìĤ¬ìļ©": 41820, + "Ġpoz": 41821, + "==============Ċ": 41822, + "(symbol": 41823, + "ĠSector": 41824, + "__)ĊĊ": 41825, + "_padding": 41826, + "ï¼ļ\"": 41827, + "Ġfabs": 41828, + "Ġranged": 41829, + "setName": 41830, + "Ġperror": 41831, + "âĹ": 41832, + "ĠFileReader": 41833, + "Ġfulfilled": 41834, + "_Current": 41835, + "Ġdominate": 41836, + "Ġsmugg": 41837, + "PostMapping": 41838, + "_force": 41839, + "Ġbloc": 41840, + "ĠGiant": 41841, + "(video": 41842, + "ĠCU": 41843, + "SystemService": 41844, + "Ġelf": 41845, + "Ġkontakt": 41846, + "ëª": 41847, + "kees": 41848, + "gtk": 41849, + "ĠparamInt": 41850, + "Ġmarkup": 41851, + "uales": 41852, + "Ġaccounted": 41853, + "Ġgangbang": 41854, + "RYPT": 41855, + "ĠWrong": 41856, + "Ġcredited": 41857, + "ĠMESSAGE": 41858, + "Ġflaws": 41859, + "Ġbbw": 41860, + "Ġmetabolic": 41861, + "ĠOEM": 41862, + "/event": 41863, + "(Collectors": 41864, + "monton": 41865, + "appear": 41866, + "Ġopted": 41867, + "Ġcheat": 41868, + "Ġdav": 41869, + "ĠProceed": 41870, + "Ġê¸": 41871, + "anked": 41872, + "из": 41873, + "ansk": 41874, + "ĠHang": 41875, + "ĠCler": 41876, + "Ġdisgu": 41877, + "Ġcmap": 41878, + ".cljs": 41879, + "Ġaument": 41880, + "lez": 41881, + "ĠJoined": 41882, + "_received": 41883, + "Ġaerial": 41884, + "otel": 41885, + "Ġgreet": 41886, + "\"s": 41887, + "ĠGenesis": 41888, + "ĠCalif": 41889, + "panion": 41890, + "Ġtailored": 41891, + "mapping": 41892, + "andExpect": 41893, + ".track": 41894, + "atomy": 41895, + "ĠOw": 41896, + "ullah": 41897, + ".Yes": 41898, + "ĠSimpleName": 41899, + "dbh": 41900, + "'en": 41901, + "Ġnonsense": 41902, + "Ġphilosophical": 41903, + "(getContext": 41904, + "Ġisso": 41905, + "ĠACE": 41906, + "startDate": 41907, + "ĠbÄĻd": 41908, + "ĠAUTHOR": 41909, + "ĠGlobe": 41910, + "Ġinsects": 41911, + "_Al": 41912, + "ushing": 41913, + "è®°": 41914, + "/Home": 41915, + "ĠLocalDate": 41916, + "needed": 41917, + "hesive": 41918, + "Ġillusion": 41919, + "äºĮ": 41920, + "Ġtrat": 41921, + "xo": 41922, + "/detail": 41923, + "_MATCH": 41924, + "Ġbroadband": 41925, + "Ġwal": 41926, + "ĠIllegalStateException": 41927, + "IRECTION": 41928, + "Ġnortheast": 41929, + "esium": 41930, + "ĠCliente": 41931, + "ulance": 41932, + "nty": 41933, + "Ġtecn": 41934, + "Devices": 41935, + "Ġgrains": 41936, + "ĠOg": 41937, + "ĠSEL": 41938, + "udiant": 41939, + "Ġ++;Ċ": 41940, + "Ġexplanations": 41941, + "occo": 41942, + "Ġdiets": 41943, + "Ġcohort": 41944, + "(controller": 41945, + ".Iterator": 41946, + "-rich": 41947, + "rocess": 41948, + "GD": 41949, + "Ġcarbohydr": 41950, + "Ġfried": 41951, + "ĠEmployment": 41952, + "ìŀ¥": 41953, + "ĠLeonard": 41954, + "_${": 41955, + "quares": 41956, + "Ġcompanions": 41957, + "Ġparis": 41958, + "Ġstimulation": 41959, + "ĠZoo": 41960, + "Ġrelevance": 41961, + "ĠColour": 41962, + "Ġspear": 41963, + "otional": 41964, + "ĠLite": 41965, + "ĠKosten": 41966, + "Ġó": 41967, + "_attachment": 41968, + "orphic": 41969, + "Ġdamit": 41970, + "Ġdlg": 41971, + "Ġthrive": 41972, + "CHANGE": 41973, + "ĠApparently": 41974, + "Ġatual": 41975, + "Ġrooted": 41976, + "(images": 41977, + "awi": 41978, + "ariat": 41979, + "Ġcherry": 41980, + "STATIC": 41981, + "mnt": 41982, + "ĠUserId": 41983, + "illet": 41984, + "ĠHispanic": 41985, + "Ġnak": 41986, + "Ġcentro": 41987, + "Ġdims": 41988, + "_initialize": 41989, + "ık": 41990, + "ĠCenters": 41991, + "REN": 41992, + "Ġevolutionary": 41993, + "ĠTopics": 41994, + "_damage": 41995, + "emer": 41996, + "Ġrund": 41997, + "Ġpunished": 41998, + "Ġcubic": 41999, + "fair": 42000, + "[];ĊĊ": 42001, + "Ġinstantiate": 42002, + "Ġoversee": 42003, + "-delete": 42004, + "unteer": 42005, + "startTime": 42006, + "ĠPipeline": 42007, + "_GAME": 42008, + "ĠCir": 42009, + "ĉNull": 42010, + ".Formatting": 42011, + "ucumber": 42012, + "ĠRide": 42013, + "Ġzoo": 42014, + "Ġchecker": 42015, + "åIJĮ": 42016, + "=C": 42017, + "Ġgrit": 42018, + "\");//": 42019, + "_xy": 42020, + "ĠDeclaration": 42021, + "Ġcallable": 42022, + "Foo": 42023, + "ĠListItem": 42024, + "Ġinaccur": 42025, + "mlin": 42026, + "ĉData": 42027, + "Ġevolving": 42028, + "awan": 42029, + "Ġcafe": 42030, + "folk": 42031, + "_IDX": 42032, + "ĠAnything": 42033, + "ĠPalestine": 42034, + "ĠGridView": 42035, + "Ġcolony": 42036, + "ĠGermans": 42037, + "(+": 42038, + ".pid": 42039, + ".jsx": 42040, + "ĠSuperior": 42041, + "Christian": 42042, + "ĠLect": 42043, + "ĉGame": 42044, + "Ġinstrumental": 42045, + "Animations": 42046, + "дал": 42047, + "ĠMoses": 42048, + "ĉĉčĊĉĉčĊ": 42049, + "zs": 42050, + "kte": 42051, + "ä¸ļ": 42052, + "_DIST": 42053, + "bitmap": 42054, + "dB": 42055, + "Ġpersistence": 42056, + "ÑĢоÑģ": 42057, + "$l": 42058, + "Bron": 42059, + "Ġ{|": 42060, + "_chart": 42061, + "ĠConsum": 42062, + "Ġhemp": 42063, + "Ġ\"))Ċ": 42064, + "Ġattackers": 42065, + "Ġknowledgeable": 42066, + "Ġcet": 42067, + "Ġviruses": 42068, + "'I": 42069, + "Ġpitcher": 42070, + "Ġsweeping": 42071, + "=list": 42072, + "aptops": 42073, + ".depth": 42074, + "Ġinstructed": 42075, + "ĠRus": 42076, + "benhavn": 42077, + "Ġин": 42078, + "Sports": 42079, + "Ġonset": 42080, + "æĿĥ": 42081, + ".RED": 42082, + "_si": 42083, + "ĠPST": 42084, + ".onChange": 42085, + ">tag": 42086, + "ĠRoh": 42087, + "_character": 42088, + "ĠLaws": 42089, + "ĠBachelor": 42090, + "_swap": 42091, + ".reactivex": 42092, + "Ġrewarding": 42093, + "Medium": 42094, + "-[": 42095, + "ĠRecently": 42096, + "Joint": 42097, + "partition": 42098, + "ĠMinutes": 42099, + "Ġindo": 42100, + "Ġabsorbed": 42101, + "ĠGN": 42102, + "_IND": 42103, + "Ġsaber": 42104, + "Spawn": 42105, + "outputs": 42106, + "ĠJeffrey": 42107, + "Ġmedieval": 42108, + "hed": 42109, + "Guide": 42110, + "Ġpsycho": 42111, + "Ġglam": 42112, + "Elim": 42113, + "ädchen": 42114, + "_plain": 42115, + "ĠSau": 42116, + "-four": 42117, + "Ġanalyzing": 42118, + "QUERY": 42119, + "Ġtomato": 42120, + "_buttons": 42121, + "VEN": 42122, + ".setStatus": 42123, + ".Url": 42124, + "+ĊĊ": 42125, + "Ġcomplaining": 42126, + "degree": 42127, + "confirmed": 42128, + "Ġsubt": 42129, + "parsed": 42130, + "Ġtorque": 42131, + "Ġtroubled": 42132, + "ĠTARGET": 42133, + "Ġtrademarks": 42134, + "ĠCoordinate": 42135, + "ĠViv": 42136, + "Ġ//}ĊĊ": 42137, + "Ġaprès": 42138, + ".getPosition": 42139, + "(KeyCode": 42140, + "ĠSilva": 42141, + "Ġmeteor": 42142, + "Ġendorsement": 42143, + "Overview": 42144, + "ĠPoss": 42145, + ".Inject": 42146, + "Ġevenly": 42147, + "Ġvisualization": 42148, + "Ġwchar": 42149, + "ĠHDMI": 42150, + "Ġfunct": 42151, + "ickname": 42152, + "','','": 42153, + "Ġforwards": 42154, + "ManagedObject": 42155, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 42156, + "ĉserver": 42157, + "ĠOutlook": 42158, + "ĠChronicle": 42159, + "Ġdubbed": 42160, + "Ġdok": 42161, + "ĠWear": 42162, + ".AL": 42163, + "paren": 42164, + ".Interface": 42165, + "Interfaces": 42166, + ".cod": 42167, + "Ġdib": 42168, + ".Globalization": 42169, + "ĠAcademic": 42170, + "Ġassms": 42171, + "Autom": 42172, + "Ġlw": 42173, + "ĠNW": 42174, + "Ġ&&čĊ": 42175, + "Ġproblema": 42176, + "ĠManufacturing": 42177, + "limits": 42178, + "-mobile": 42179, + "Ġfilme": 42180, + "/map": 42181, + "Ġdoit": 42182, + "ĠInk": 42183, + "Ġsued": 42184, + ".arr": 42185, + "Ġundermin": 42186, + "ĠProc": 42187, + "crollView": 42188, + "__$": 42189, + "Ġsidewalk": 42190, + "(that": 42191, + "ื": 42192, + "[q": 42193, + "grammar": 42194, + "Ġtë": 42195, + "quito": 42196, + "Ġspiral": 42197, + "extended": 42198, + "Ġfocal": 42199, + "Ġdigging": 42200, + "pas": 42201, + "ĠTall": 42202, + ".proxy": 42203, + "itures": 42204, + "TRACT": 42205, + "ĠRealm": 42206, + "Ġfeder": 42207, + "Ġoriented": 42208, + "ĠAlternative": 42209, + "Ġowe": 42210, + "Ġsourced": 42211, + "inker": 42212, + ".det": 42213, + "Sep": 42214, + "ĠQui": 42215, + "ĠPalmer": 42216, + "(_,": 42217, + "samples": 42218, + "oyer": 42219, + "ullan": 42220, + "quez": 42221, + "Edges": 42222, + "Ġshout": 42223, + "ĠAchie": 42224, + "Ġhaar": 42225, + "_Construct": 42226, + "Ġpremature": 42227, + "Ġrevert": 42228, + "').Ċ": 42229, + "Ġschn": 42230, + "filtered": 42231, + "nullptr": 42232, + "Saved": 42233, + "itecture": 42234, + "CLA": 42235, + "Ġvl": 42236, + "stell": 42237, + "ĉMe": 42238, + "ĠLip": 42239, + "national": 42240, + "Ġwholly": 42241, + "Ġsprings": 42242, + ".Timer": 42243, + "ĉsrc": 42244, + "elsen": 42245, + "åħ¶": 42246, + "Ġcommunicating": 42247, + "ĠQuiz": 42248, + "Ġteng": 42249, + "Ġgez": 42250, + "ĠOutside": 42251, + ".Sign": 42252, + "(cs": 42253, + "Ġdisputes": 42254, + "ĠWeiss": 42255, + "annes": 42256, + ">No": 42257, + "ĠBach": 42258, + ".removeAll": 42259, + "refer": 42260, + "/dashboard": 42261, + "ĠAjax": 42262, + "IndexChanged": 42263, + "ĠWeak": 42264, + "'\"Ċ": 42265, + "Ġsights": 42266, + "accessToken": 42267, + "ĠJoi": 42268, + "(domain": 42269, + "ĉcv": 42270, + "Ġcontinuation": 42271, + "Ġplum": 42272, + "adir": 42273, + ".setMessage": 42274, + "Ġï¼Į": 42275, + "Ġswallow": 42276, + "ĠLamp": 42277, + "Ġqw": 42278, + "Ġuu": 42279, + "Coin": 42280, + "ubic": 42281, + "ĠDeals": 42282, + "race": 42283, + "Ġdictator": 42284, + "Ġmeme": 42285, + "turned": 42286, + "ĠJulie": 42287, + ".gridColumn": 42288, + "Ġpuppy": 42289, + "Ġpam": 42290, + "Ġ){čĊ": 42291, + "Ġinviting": 42292, + "Ġfrench": 42293, + "vim": 42294, + "Ġwrapping": 42295, + "Ġ#-}Ċ": 42296, + "([-": 42297, + "Early": 42298, + "Ġshiny": 42299, + ".faces": 42300, + "Ġrebell": 42301, + "abcdef": 42302, + "ält": 42303, + "Ġestimation": 42304, + "phys": 42305, + "losures": 42306, + "_REL": 42307, + "Ġexclusion": 42308, + "ĠSkype": 42309, + "weise": 42310, + "-stop": 42311, + "nothing": 42312, + "ĠEgg": 42313, + "isors": 42314, + "Richard": 42315, + "Ġcounseling": 42316, + "Ġcommem": 42317, + "ĠQMessageBox": 42318, + "ĠSynd": 42319, + "ĠFrost": 42320, + "ĠCompetition": 42321, + "ĠAwake": 42322, + "Ġted": 42323, + "iciones": 42324, + "ĠDevComponents": 42325, + "VERTISEMENT": 42326, + "otti": 42327, + ".runner": 42328, + "Ġuniquely": 42329, + ".flag": 42330, + "ĉrs": 42331, + "_generic": 42332, + "Ġ```Ċ": 42333, + "ACHINE": 42334, + "Ġmein": 42335, + "(Application": 42336, + "(br": 42337, + "Ġratios": 42338, + ":,": 42339, + "ĠXCTest": 42340, + "ustainable": 42341, + "-www": 42342, + "itles": 42343, + "_TEMP": 42344, + "Ġsyst": 42345, + "umericUpDown": 42346, + "ĉassertTrue": 42347, + "Ġwf": 42348, + ".peek": 42349, + "ĠBulg": 42350, + "Ġterrifying": 42351, + ".MODE": 42352, + "ĠGW": 42353, + "ár": 42354, + "Ġfic": 42355, + "Ġcommitments": 42356, + "-tech": 42357, + "ĠLiquid": 42358, + "opez": 42359, + "zheimer": 42360, + "aña": 42361, + "-media": 42362, + "(animated": 42363, + "_goal": 42364, + "Ġgum": 42365, + "ystone": 42366, + ".SET": 42367, + "ĠWend": 42368, + "setCellValue": 42369, + "Ġmsgs": 42370, + "cash": 42371, + "ALLOC": 42372, + "/aws": 42373, + "Ġmicrowave": 42374, + ".Pointer": 42375, + "ĉConsole": 42376, + "_sorted": 42377, + "ĠFilip": 42378, + "Prod": 42379, + "Ġ//!<": 42380, + "ingroup": 42381, + "Ġks": 42382, + "_TRI": 42383, + "Ġteaspoon": 42384, + "ĠATT": 42385, + "Ġrecovering": 42386, + "ĠGLOBAL": 42387, + ".Par": 42388, + "Ġ/>;Ċ": 42389, + "Ġmarble": 42390, + "ulators": 42391, + "ĠCycle": 42392, + "Ġherbs": 42393, + "_metric": 42394, + ")!": 42395, + "_CLOCK": 42396, + "_Button": 42397, + "Harry": 42398, + "è¿Ľ": 42399, + "Ġstrains": 42400, + "ĠAppBar": 42401, + "ĠChan": 42402, + "/video": 42403, + "Ġbam": 42404, + ".Progress": 42405, + "$f": 42406, + "lemen": 42407, + "Ġirregular": 42408, + "ĠDuncan": 42409, + "ĠMint": 42410, + "-video": 42411, + "া": 42412, + "ówn": 42413, + "ĠEMPTY": 42414, + "Ġstacked": 42415, + "ĠHA": 42416, + "_cut": 42417, + "Ġwherein": 42418, + "ĠWays": 42419, + "(counter": 42420, + "è¯ķ": 42421, + "FormGroup": 42422, + "Ġblew": 42423, + "courses": 42424, + "Ġproductos": 42425, + "rys": 42426, + "ĠRestr": 42427, + "Ġstyling": 42428, + ">s": 42429, + "Ġpiv": 42430, + "Ġitertools": 42431, + "getRepository": 42432, + "ĠIk": 42433, + "_devices": 42434, + "layui": 42435, + "Ġhalfway": 42436, + "Ġfranç": 42437, + "Ġtuning": 42438, + "OA": 42439, + "_Node": 42440, + "arde": 42441, + "Ġfierce": 42442, + "licted": 42443, + "#čĊ": 42444, + "Ġbreakthrough": 42445, + "ĠErik": 42446, + "Ġbride": 42447, + "Ġ.\"": 42448, + "culus": 42449, + "inside": 42450, + "ĠIndianapolis": 42451, + "ĠEE": 42452, + "Ġyog": 42453, + "urret": 42454, + ".fs": 42455, + ".grad": 42456, + "_cards": 42457, + "_accuracy": 42458, + "_epi": 42459, + "queda": 42460, + "/org": 42461, + "éªĮ": 42462, + "Ġcompte": 42463, + "))[": 42464, + "Outside": 42465, + "Greater": 42466, + "ĠRenderer": 42467, + ".actor": 42468, + "Accounts": 42469, + "Idle": 42470, + "_hours": 42471, + "erner": 42472, + "Joined": 42473, + "Ġmenj": 42474, + "requires": 42475, + "ĠOPER": 42476, + ".removeChild": 42477, + "ĉsp": 42478, + "Ġesse": 42479, + "rift": 42480, + "xFE": 42481, + "ĠShakespeare": 42482, + "____________": 42483, + "Ġbudgets": 42484, + "ModelState": 42485, + "fillable": 42486, + "-component": 42487, + "ocos": 42488, + "ĠBUTTON": 42489, + "/io": 42490, + ",out": 42491, + "sms": 42492, + "Thomas": 42493, + "ĠArmed": 42494, + "resume": 42495, + "Ġrotating": 42496, + "ĠVault": 42497, + "Ġseus": 42498, + ".(*": 42499, + "Ġamino": 42500, + "Ġ[]);ĊĊ": 42501, + "Ġprovoc": 42502, + "nox": 42503, + ".GetEnumerator": 42504, + "=======Ċ": 42505, + "æĸĻ": 42506, + "_scroll": 42507, + "Ġfilmed": 42508, + "ĠSoci": 42509, + "gap": 42510, + "gro": 42511, + "Vote": 42512, + "\"But": 42513, + "_RC": 42514, + "Animal": 42515, + "ÂĢ": 42516, + "ibile": 42517, + "Ġawaken": 42518, + "orest": 42519, + "inja": 42520, + "ĠIvan": 42521, + "(Command": 42522, + "Ġ*****": 42523, + "η": 42524, + "Ġkvinder": 42525, + "/helpers": 42526, + "_cases": 42527, + "tg": 42528, + "ìĦ¸": 42529, + "Registered": 42530, + "ĉpass": 42531, + "_digits": 42532, + "Ġcontour": 42533, + "Ġinfants": 42534, + "Ġjustification": 42535, + "ĠFortunately": 42536, + "Contr": 42537, + "ĠonCreateView": 42538, + "_SAMPLE": 42539, + "ĠallowNull": 42540, + "Ġnud": 42541, + "Ġfetched": 42542, + "_equ": 42543, + "ĠUnable": 42544, + "=\\\"\"": 42545, + ">{Ċ": 42546, + "Ġcommittees": 42547, + "istema": 42548, + "+\".": 42549, + "ÃŃan": 42550, + "mant": 42551, + "Ġsoutheast": 42552, + "ï¼ĮĊ": 42553, + "dialogs": 42554, + "PROJECT": 42555, + "charger": 42556, + "-port": 42557, + "(uuid": 42558, + ".export": 42559, + "Six": 42560, + "ĠRP": 42561, + "Prem": 42562, + "Ġconscience": 42563, + "ĠmarginRight": 42564, + "_distribution": 42565, + "yaml": 42566, + "resizing": 42567, + "Dock": 42568, + "ĠLocations": 42569, + "GY": 42570, + "Seed": 42571, + "BUFFER": 42572, + "ossip": 42573, + "ullen": 42574, + "Things": 42575, + "-self": 42576, + ".poll": 42577, + "PLAYER": 42578, + "Ġå®": 42579, + "GROUP": 42580, + "ĠAway": 42581, + "Ġgospel": 42582, + "xfd": 42583, + "Mary": 42584, + "ĠPortable": 42585, + "TURE": 42586, + "Ġutilis": 42587, + "Ġseit": 42588, + "Ġstrand": 42589, + "Ġtransc": 42590, + "Ġ(^": 42591, + "ĠAlfred": 42592, + ".mem": 42593, + ".circle": 42594, + "Ġ~/": 42595, + "forcing": 42596, + "Ġriot": 42597, + "prox": 42598, + "THON": 42599, + "ización": 42600, + "ĠNI": 42601, + "rost": 42602, + "Ġdispro": 42603, + "_instances": 42604, + "ï¼ĮâĢľ": 42605, + "ographer": 42606, + "endas": 42607, + "ĠIsaac": 42608, + "ĠPine": 42609, + "/dis": 42610, + "ĠcolorWith": 42611, + "iterate": 42612, + "_stride": 42613, + "Ġpunto": 42614, + ".EventArgs": 42615, + "(center": 42616, + "Ġneighboring": 42617, + "ĠPrison": 42618, + "ĠMessenger": 42619, + "Ġepidemic": 42620, + "dao": 42621, + "_complex": 42622, + "Ġgravel": 42623, + "_DIP": 42624, + "ément": 42625, + "ĠAri": 42626, + "_bitmap": 42627, + ".quit": 42628, + "(valid": 42629, + "Ġpend": 42630, + "Ġrespiratory": 42631, + "Ġrebound": 42632, + "DefaultValue": 42633, + "ãĥŃ": 42634, + "Ġcommits": 42635, + ".tests": 42636, + "_fr": 42637, + "itet": 42638, + ".sf": 42639, + "Ġspacecraft": 42640, + "critical": 42641, + "Ġdepressed": 42642, + "ĠAnyObject": 42643, + "Ġunb": 42644, + "Ġdiscern": 42645, + "(mysql": 42646, + "Latin": 42647, + "ĠBog": 42648, + "ĠWildlife": 42649, + "ToFile": 42650, + "ioxid": 42651, + "@RestController": 42652, + "Ġ\"$(": 42653, + "Ġ<<\"": 42654, + "Ġdefects": 42655, + "Ġdatum": 42656, + "hin": 42657, + "Ġrealizar": 42658, + "anyahu": 42659, + "ĠSig": 42660, + "@Data": 42661, + "adaptive": 42662, + "ĠCatherine": 42663, + ".cr": 42664, + "ĠCOOKIE": 42665, + "Ġpictured": 42666, + "ĠFighter": 42667, + "Queryable": 42668, + "ĠAnyway": 42669, + "ĠGLFW": 42670, + "_namespace": 42671, + "_ft": 42672, + "Ġ])": 42673, + "Organization": 42674, + "Ġconstitutes": 42675, + "Ġquand": 42676, + "(chunk": 42677, + "\"/>čĊ": 42678, + "ĠLakes": 42679, + "mainwindow": 42680, + "Carthy": 42681, + "spin": 42682, + "(csv": 42683, + ":red": 42684, + "-commerce": 42685, + "ู": 42686, + "Ġdiscovering": 42687, + "Ġeco": 42688, + "_fac": 42689, + "inceton": 42690, + "ĠGreens": 42691, + "jwt": 42692, + "ص": 42693, + "ĠBroncos": 42694, + "ĠGoods": 42695, + "(GTK": 42696, + "ĠreturnValue": 42697, + "Ġsiempre": 42698, + "Ġneutr": 42699, + "went": 42700, + "ĠNatal": 42701, + "Ġenthusiastic": 42702, + "á»į": 42703, + "FN": 42704, + "/database": 42705, + "Catalog": 42706, + "Ġbrun": 42707, + "ĠKash": 42708, + "_Pl": 42709, + "iscrim": 42710, + ",width": 42711, + "Ġinmates": 42712, + "Assignment": 42713, + "ĠHaven": 42714, + "Ġplayground": 42715, + "exam": 42716, + "@Controller": 42717, + "uliar": 42718, + ".getParent": 42719, + "Ġ\";ĊĊ": 42720, + ":size": 42721, + "issors": 42722, + "Ġfis": 42723, + "Ġalc": 42724, + "ensation": 42725, + "ĠNixon": 42726, + "Ġmighty": 42727, + "-str": 42728, + "_special": 42729, + "_ADC": 42730, + "ĠTwig": 42731, + "umbling": 42732, + "-address": 42733, + "Ġheroin": 42734, + "YTE": 42735, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 42736, + "Friend": 42737, + "Ġave": 42738, + "ĠPNG": 42739, + "ĠKurdish": 42740, + "DataSetChanged": 42741, + "Ġblades": 42742, + "bral": 42743, + "Steam": 42744, + "Ġsigu": 42745, + "IRTUAL": 42746, + "acos": 42747, + "UDP": 42748, + "(database": 42749, + "hec": 42750, + "ĠStrings": 42751, + "_scalar": 42752, + "ĉdesc": 42753, + "ĠTLS": 42754, + ";\"Ċ": 42755, + "ĠCorbyn": 42756, + "SimpleName": 42757, + "uell": 42758, + "ĠEntre": 42759, + "ellites": 42760, + "-place": 42761, + "Ġfrankly": 42762, + "ĠErf": 42763, + "CEL": 42764, + "ĠpaÃŃs": 42765, + "Ġhedge": 42766, + "Ġlatent": 42767, + "ĠIRQ": 42768, + "ĠHerald": 42769, + "ĠPrec": 42770, + "ë³´": 42771, + ".TEXT": 42772, + "Salary": 42773, + "Ġautumn": 42774, + "Ġtravail": 42775, + ".Sum": 42776, + "Ġcared": 42777, + "Mor": 42778, + "Ġintuitive": 42779, + "Ġjournals": 42780, + "_IT": 42781, + "ĠTrou": 42782, + "ä¼ł": 42783, + "HasColumnName": 42784, + "Composite": 42785, + "Ġspice": 42786, + "_disk": 42787, + "_CODES": 42788, + "ĠIntroduced": 42789, + "iona": 42790, + "Ġnuestra": 42791, + "oct": 42792, + "ĠĠĠĠĊĠĠĠĠĊĠĠĠĠĊ": 42793, + "(parameter": 42794, + "Ġstudios": 42795, + "ĠprojectId": 42796, + "Ġbdsm": 42797, + ".SqlClient": 42798, + "imizer": 42799, + "ĠCARD": 42800, + "+t": 42801, + "aan": 42802, + ".sol": 42803, + "_Adjust": 42804, + "Ġrighteous": 42805, + "ĠLogging": 42806, + ".filters": 42807, + "_TAB": 42808, + "ĉsys": 42809, + "rophic": 42810, + "otherapy": 42811, + "ĠBrowse": 42812, + "keyboard": 42813, + "RON": 42814, + "+\\": 42815, + "ropped": 42816, + "Ġextensively": 42817, + "fk": 42818, + "Ġlime": 42819, + "years": 42820, + "Exc": 42821, + "Ġsph": 42822, + "Ġcheating": 42823, + "andro": 42824, + "ÃŃo": 42825, + "Ġprince": 42826, + "oire": 42827, + "ĠDestination": 42828, + "ĠConverts": 42829, + "Ġupstream": 42830, + "oled": 42831, + "Ġservants": 42832, + "Ġsemantic": 42833, + "Ġcrunch": 42834, + "Ġeventual": 42835, + "runner": 42836, + "/error": 42837, + "Spin": 42838, + "Ġsecretly": 42839, + "Ġassemble": 42840, + ".Person": 42841, + "enderror": 42842, + "_<": 42843, + "Ġpendant": 42844, + "Sleep": 42845, + "ĠChemistry": 42846, + "Ġbosses": 42847, + "lk": 42848, + "))),Ċ": 42849, + "Blockly": 42850, + "DEVICE": 42851, + "Ġreflecting": 42852, + "Ġample": 42853, + "Milliseconds": 42854, + "ĠPresidential": 42855, + "Ġusuarios": 42856, + "ĠNZ": 42857, + "ĠSalary": 42858, + "ĠAmanda": 42859, + "_np": 42860, + "jury": 42861, + "Ġkön": 42862, + "Ġtherapist": 42863, + "Ġhomosexual": 42864, + "ĠDrake": 42865, + "-window": 42866, + "ĠLocated": 42867, + ".Driver": 42868, + "ĠVIDEO": 42869, + "Ġmerchants": 42870, + "ĠChest": 42871, + "-lock": 42872, + "/php": 42873, + "Ġmilano": 42874, + "_STYLE": 42875, + "arger": 42876, + "idea": 42877, + "GUID": 42878, + "advanced": 42879, + "meal": 42880, + "OptionsItemSelected": 42881, + "='%": 42882, + "ĠCham": 42883, + ":data": 42884, + "(stat": 42885, + "WillAppear": 42886, + "Ġinformal": 42887, + "aji": 42888, + "Ġreproductive": 42889, + "ĠCAS": 42890, + "ãģ£": 42891, + "FUNC": 42892, + "ĠRuth": 42893, + ")+(": 42894, + "CONST": 42895, + "ĠFans": 42896, + "ĠgroupId": 42897, + "xffffffff": 42898, + "Ġsampler": 42899, + "Ġ}}\">": 42900, + ".the": 42901, + "Ġhollow": 42902, + "WAY": 42903, + "ĠFaculty": 42904, + "AttributedString": 42905, + "ĠLooks": 42906, + "ĠRex": 42907, + "jk": 42908, + "ĠMIL": 42909, + "Ġbard": 42910, + ".Long": 42911, + "Ġlivest": 42912, + "Ġskal": 42913, + "icism": 42914, + "MAIN": 42915, + "Ġmucho": 42916, + "BODY": 42917, + "Ġese": 42918, + "ĉuse": 42919, + "Foot": 42920, + ".SQLException": 42921, + "Ġinheritance": 42922, + "received": 42923, + "Ġputas": 42924, + "edis": 42925, + "alsa": 42926, + "ĠErrorMessage": 42927, + "Booking": 42928, + "Ġtract": 42929, + "acz": 42930, + "ĠCant": 42931, + "_regex": 42932, + "Ġideological": 42933, + "Ġjihad": 42934, + "hos": 42935, + "/sys": 42936, + "colm": 42937, + "(pool": 42938, + "Ġestán": 42939, + "ĠPending": 42940, + "emás": 42941, + "Ġktóry": 42942, + "));ĊĊĊ": 42943, + "transactions": 42944, + "Ġwield": 42945, + "itere": 42946, + "erture": 42947, + "_ss": 42948, + "Ġstretching": 42949, + "Ġprisoner": 42950, + ".ReadAll": 42951, + "Ġbesch": 42952, + "--;čĊ": 42953, + "Ġcrisp": 42954, + "_SCAN": 42955, + "Ġae": 42956, + "Strict": 42957, + "ĠMinneapolis": 42958, + "ĠBoeing": 42959, + "aris": 42960, + "rek": 42961, + "_pipe": 42962, + "Ġpriests": 42963, + "(EIF": 42964, + "ehicles": 42965, + "ĠInteractive": 42966, + "between": 42967, + "ĉNullCheck": 42968, + "ĠBlair": 42969, + "ĠLt": 42970, + "_inline": 42971, + "ethyl": 42972, + "¼": 42973, + "_packages": 42974, + "Ġbarrels": 42975, + "_he": 42976, + "Ġregexp": 42977, + "_pts": 42978, + "_Handler": 42979, + "ingular": 42980, + "ĠNissan": 42981, + "ĠRanch": 42982, + "Ġperch": 42983, + "Unsupported": 42984, + "Smith": 42985, + "ĠLegends": 42986, + "Mi": 42987, + "Ġgf": 42988, + "steder": 42989, + "Ġacquiring": 42990, + "Ġsimulator": 42991, + "(),\"": 42992, + "receive": 42993, + "Ġinplace": 42994, + "ACTION": 42995, + "ĠWebDriver": 42996, + "filesystem": 42997, + "'+Ċ": 43009, + "Ġcredible": 43010, + "amat": 43011, + "playing": 43012, + ".setImageResource": 43013, + "quel": 43014, + "Ġpodr": 43015, + "geom": 43016, + "Ek": 43017, + "ĠQatar": 43018, + "Ġgeld": 43019, + "?',Ċ": 43020, + "Ġcyl": 43021, + "(ax": 43022, + "ĠWI": 43023, + "urally": 43024, + "ĠBrasil": 43025, + "Ġsenza": 43026, + "aley": 43027, + "onen": 43028, + "Ġbah": 43029, + "Ġmolecule": 43030, + "Rad": 43031, + "è¿°": 43032, + "ANCH": 43033, + "-background": 43034, + "-agent": 43035, + "Ġprolifer": 43036, + ":boolean": 43037, + "Ġtide": 43038, + "erializer": 43039, + "_;čĊ": 43040, + "Fee": 43041, + "**)": 43042, + "ergy": 43043, + "ĠHonor": 43044, + ".Logging": 43045, + "iris": 43046, + "Ġundermine": 43047, + "ĠDy": 43048, + "Ġtyr": 43049, + "Ġdeque": 43050, + "Ġdamer": 43051, + "([])Ċ": 43052, + ".layoutControlItem": 43053, + "peated": 43054, + "CAN": 43055, + "ragments": 43056, + "Land": 43057, + ")]);Ċ": 43058, + "ĠSah": 43059, + "ĠDECL": 43060, + "Within": 43061, + "ĠNamespace": 43062, + "another": 43063, + "sembling": 43064, + ".describe": 43065, + "Consum": 43066, + "ĠFear": 43067, + "given": 43068, + "Orange": 43069, + "This": 43093, + "ĠdataIndex": 43094, + "Ġprintable": 43095, + "ĠEyes": 43096, + "_targets": 43097, + "(Py": 43098, + ".over": 43099, + "Ġbru": 43100, + "ampton": 43101, + "Ġplaintiff": 43102, + ");Ċ": 43113, + "invest": 43114, + ".*ĊĊ": 43115, + "Ġtélé": 43116, + "Ġsuperf": 43117, + "Ġcascade": 43118, + "DTD": 43119, + "Ġvivid": 43120, + "Ġsubsidies": 43121, + "ĠHass": 43122, + "Ġcollaps": 43123, + "Ġceramic": 43124, + "{}\".": 43125, + "ĠLeakage": 43126, + "-trash": 43127, + "collapsed": 43128, + "-social": 43129, + "ĠChad": 43130, + "Ġinclined": 43131, + "Ġsto": 43132, + "Ġstoryboard": 43133, + ".payment": 43134, + "stackoverflow": 43135, + "ĠRaiders": 43136, + "Ġ#'": 43137, + "olicies": 43138, + "ìľ¼ë¡ľ": 43139, + "emap": 43140, + "Ġkj": 43141, + "Ġquota": 43142, + "ĠGardens": 43143, + "ë²Ī": 43144, + "ĠAngels": 43145, + "Ġoft": 43146, + "Ġlowercase": 43147, + "ĠiParam": 43148, + "Ġcheapest": 43149, + "unta": 43150, + "_pkt": 43151, + "icators": 43152, + "Ġleurs": 43153, + "Ġdecreases": 43154, + "ĉdefine": 43155, + "PREC": 43156, + "ammers": 43157, + "ĠPreparedStatement": 43158, + "(direction": 43159, + "Ġcrews": 43160, + "arked": 43161, + "ĠMemphis": 43162, + "ĠSell": 43163, + "GTK": 43164, + "Ġmaid": 43165, + ":disable": 43166, + "éĽĨ": 43167, + "ĠPf": 43168, + "Ġalbeit": 43169, + "openh": 43170, + "?>\">Ċ": 43171, + ".getSource": 43172, + "(scale": 43173, + "Du": 43174, + "ĠPIL": 43175, + "_refresh": 43176, + "Ġbets": 43177, + "(car": 43178, + "ĠVon": 43179, + "|--------------------------------------------------------------------------Ċ": 43180, + "ĠGrat": 43181, + "Much": 43182, + "(Dialog": 43183, + ".stopPropagation": 43184, + "Ġtek": 43185, + "Ġexits": 43186, + "'],$": 43187, + "ĠphoneNumber": 43188, + "ucs": 43189, + "ecimal": 43190, + "--------------": 43191, + "inp": 43192, + ".pojo": 43193, + "Ġcorpus": 43194, + "Ġpractitioners": 43195, + ".pic": 43196, + "\"testing": 43197, + "ĠstringBy": 43198, + ".NotNull": 43199, + "Ġrang": 43200, + ".Dynamic": 43201, + "_Render": 43202, + "аÑĤа": 43203, + "Waiting": 43204, + "ĠWik": 43205, + "Ġoverwhelmed": 43206, + "%\">": 43207, + "ĠAE": 43208, + "}}>Ċ": 43209, + "uw": 43210, + "_typ": 43211, + "Ġbuckets": 43212, + "Ġgreeting": 43213, + "Ġlaughter": 43214, + "Ġantagon": 43215, + "uggestion": 43216, + "-email": 43217, + "ĉtop": 43218, + "Ġeros": 43219, + "_tri": 43220, + "Ġissuing": 43221, + "Ġhá": 43222, + "Ġisolate": 43223, + "Overflow": 43224, + ",E": 43225, + "Ġnutritional": 43226, + "ĠAbbott": 43227, + "Ġnf": 43228, + ".touch": 43229, + ".fetchall": 43230, + "_zip": 43231, + "\")}Ċ": 43232, + "Ġamat": 43233, + "ĠCisco": 43234, + "ĠnÃ¥": 43235, + "PLEX": 43236, + "Ġsei": 43237, + "foto": 43238, + ".toJson": 43239, + "å¤ļ": 43240, + "ĠKlein": 43241, + "Ġlibc": 43242, + "Ġminers": 43243, + "å¢": 43244, + "-print": 43245, + "ĠPride": 43246, + "Todos": 43247, + "Ġmasked": 43248, + "ĠsetData": 43249, + "Ġtelefon": 43250, + "Ġunhappy": 43251, + "ĠTables": 43252, + "geb": 43253, + "(debug": 43254, + "_allowed": 43255, + "-access": 43256, + "Ġlogistics": 43257, + "Ġgems": 43258, + "ĠMature": 43259, + "Ġrsp": 43260, + "ĠAlle": 43261, + ".getBytes": 43262, + "\\web": 43263, + "ynchronized": 43264, + "Paragraph": 43265, + "Ġthrottle": 43266, + ".sqlite": 43267, + "consulta": 43268, + "ĠSeah": 43269, + "Ce": 43270, + "Ġsubmar": 43271, + "ERE": 43272, + "Vous": 43273, + "Ġreddit": 43274, + "Ġsqlalchemy": 43275, + "-mile": 43276, + "ocide": 43277, + "Pour": 43278, + "}}\">Ċ": 43279, + "stead": 43280, + "Ġ@(": 43281, + "Ġ[])": 43282, + "ĠAds": 43283, + "Ġoverload": 43284, + "ridden": 43285, + "ĠDesert": 43286, + "ĠWrap": 43287, + "ĠPortuguese": 43288, + "etz": 43289, + "ĉfirst": 43290, + "Ġmilestone": 43291, + "æĹł": 43292, + "ÑĥÑī": 43293, + "(success": 43294, + "\")Ċ": 43463, + "ĠDollar": 43464, + "Ġemoji": 43465, + "Carousel": 43466, + "-player": 43467, + "Ġadjusting": 43468, + "Ġjuga": 43469, + "allenges": 43470, + "gene": 43471, + "(bodyParser": 43472, + "lopedia": 43473, + "ĠBehind": 43474, + "Ġsleeves": 43475, + "Ġdragging": 43476, + "ĠChevrolet": 43477, + "Ġbiz": 43478, + "ivities": 43479, + "ĠFrequency": 43480, + ",char": 43481, + ".WHITE": 43482, + "_preview": 43483, + ")';Ċ": 43484, + "_ax": 43485, + "IONS": 43486, + ".cpu": 43487, + ".inputs": 43488, + "UBE": 43489, + "_feed": 43490, + "ĠSupplement": 43491, + "!).": 43492, + "esus": 43493, + "ĠUDP": 43494, + "Ġmicrophone": 43495, + "Ġconfirms": 43496, + ".isNotEmpty": 43497, + "\":\"\",Ċ": 43498, + "_SCREEN": 43499, + "ĉexpected": 43500, + "+-+-+-+-": 43501, + "ĠHait": 43502, + "fastcall": 43503, + "Ġdepict": 43504, + "vb": 43505, + "_picture": 43506, + "ĉdescription": 43507, + "ĠWife": 43508, + "uci": 43509, + "Ġvicious": 43510, + "ä»ĸ": 43511, + "ueba": 43512, + "ĠsetUser": 43513, + "ãģ¡": 43514, + "Ġdiving": 43515, + "Ġopera": 43516, + "usercontent": 43517, + "arah": 43518, + ")},": 43519, + "yun": 43520, + "velt": 43521, + "Ġuncovered": 43522, + "Ġhips": 43523, + "Ġoscill": 43524, + "Ġasserting": 43525, + "ĠXi": 43526, + ".restore": 43527, + "kea": 43528, + "Ġspelling": 43529, + "Ġderive": 43530, + "abwe": 43531, + "ĠDow": 43532, + ".setType": 43533, + "_vs": 43534, + "Ġcozy": 43535, + ".categories": 43536, + "Org": 43537, + "_mgr": 43538, + "Ġdungeon": 43539, + "collectionView": 43540, + "ĠBlank": 43541, + "acias": 43542, + "ää": 43543, + "_cleanup": 43544, + "_ACTIVITY": 43545, + "Ġtriangles": 43546, + ".MenuItem": 43547, + "Ġiphone": 43548, + "ĠWon": 43549, + "]]ĊĊ": 43550, + "ĠComparison": 43551, + ".Doc": 43552, + "Ġcanonical": 43553, + "ĠSudan": 43554, + "'){": 43555, + "UpInside": 43556, + "builtin": 43557, + "ENCY": 43558, + "xbe": 43559, + "Ġchuck": 43560, + "Ġcontradict": 43561, + "Ġnuestro": 43562, + "Ġarchitectural": 43563, + "ĠFib": 43564, + "Ġcompares": 43565, + "*k": 43566, + "Cfg": 43567, + "çĦ¡": 43568, + "nten": 43569, + "Matches": 43570, + "ĠDOWNLOAD": 43571, + "_HANDLER": 43572, + "management": 43573, + "[S": 43574, + "ENG": 43575, + "ÂĢÂ": 43576, + "fang": 43577, + "Ġslipped": 43578, + "ĠLanka": 43579, + "escaping": 43580, + "Ġtackles": 43581, + "ĠPedro": 43582, + ".Prop": 43583, + ".''": 43584, + ".Generated": 43585, + ".NewGuid": 43586, + "atrigesimal": 43587, + "illon": 43588, + "Ġstatistic": 43589, + "species": 43590, + "holding": 43591, + "Drupal": 43592, + "Ġfundamentally": 43593, + "Ġbondage": 43594, + "Ġresolutions": 43595, + "InlineData": 43596, + "\\Type": 43597, + "estion": 43598, + ".wrap": 43599, + "Ġwarriors": 43600, + "ĠLOCAL": 43601, + "Archive": 43602, + "Ġembraced": 43603, + "á»§": 43604, + ".Ver": 43605, + "ĠAffordable": 43606, + "olesale": 43607, + "ĠApplied": 43608, + "ĠConversion": 43609, + "mega": 43610, + "_cam": 43611, + "Ġceremon": 43612, + "aurus": 43613, + "ĠVolk": 43614, + ".opens": 43615, + "/about": 43616, + "ĠStd": 43617, + "journal": 43618, + "()){čĊ": 43619, + ",\"\\": 43620, + "(Arrays": 43621, + "ĠDense": 43622, + "aseña": 43623, + "änner": 43624, + "/stat": 43625, + "userData": 43626, + "Ġgerman": 43627, + "Ġtz": 43628, + "worthy": 43629, + "FormatException": 43630, + "pherd": 43631, + "Ġsmiles": 43632, + "ĠWhenever": 43633, + "(adapter": 43634, + ".badlogic": 43635, + "Ġbriefing": 43636, + ".GridColumn": 43637, + "-char": 43638, + "dimension": 43639, + "ĠCopper": 43640, + "Ġninth": 43641, + "Ġ'{{": 43642, + "Ġrav": 43643, + "_Table": 43644, + "Ġderivatives": 43645, + "ĠRaise": 43646, + "ĠFut": 43647, + "armor": 43648, + "-padding": 43649, + "Ġremin": 43650, + "ĉstyle": 43651, + "ĠMembership": 43652, + "Ġspreads": 43653, + "Ġgalleries": 43654, + "ĠClarke": 43655, + "Ġconception": 43656, + "minute": 43657, + "Ġabusive": 43658, + "_adj": 43659, + "Ġterrific": 43660, + "Ġovert": 43661, + "ourcing": 43662, + "Ġentrada": 43663, + "levels": 43664, + "Ġcritique": 43665, + "Ġrespects": 43666, + "ĠMMA": 43667, + "iene": 43668, + "Ġencaps": 43669, + "ĠRaymond": 43670, + "Divider": 43671, + "ivable": 43672, + "baz": 43673, + "Ġ@_;Ċ": 43674, + "ĠClaire": 43675, + "Ġurging": 43676, + "CEE": 43677, + "Ġtransformer": 43678, + "discord": 43679, + "ĠJourney": 43680, + "tos": 43681, + "Ġcompetitions": 43682, + "ĠOBJ": 43683, + "ĠBis": 43684, + "Ġrelaxation": 43685, + "idy": 43686, + "_INSTANCE": 43687, + "ĠPref": 43688, + "dados": 43689, + "iciencies": 43690, + "ĠMediaQuery": 43691, + "ĠCube": 43692, + "ĠStrange": 43693, + "gpu": 43694, + "(days": 43695, + "_InitStruct": 43696, + "Ġfingerprint": 43697, + "emat": 43698, + "ĠGecko": 43699, + "Ġrails": 43700, + "ĠLum": 43701, + "straction": 43702, + "igung": 43703, + "(movie": 43704, + "_dictionary": 43705, + "_interrupt": 43706, + "ĠQC": 43707, + "iked": 43708, + "appendChild": 43709, + "recipient": 43710, + "ré": 43711, + "Ve": 43712, + "Ġtowel": 43713, + ".lastIndexOf": 43714, + "Ġplacebo": 43715, + "ĠWie": 43716, + ".esp": 43717, + "(Debug": 43718, + "operative": 43719, + "Ġdeceased": 43720, + "&id": 43721, + "ĉmutex": 43722, + "elic": 43723, + "Ġbapt": 43724, + "ĉčĊčĊ": 43725, + "Ġfarther": 43726, + "Half": 43727, + ".disable": 43728, + ".menuStrip": 43729, + "leccion": 43730, + "ĠresultCode": 43731, + "Ġcans": 43732, + "-election": 43733, + "female": 43734, + "_FIX": 43735, + "ausible": 43736, + "ĠPOWER": 43737, + "Ġreconstruction": 43738, + "Ġscans": 43739, + ".XtraBars": 43740, + "âĢĺs": 43741, + "Removed": 43742, + "Ġparagraphs": 43743, + "_margin": 43744, + "Ġlymph": 43745, + "Ġbos": 43746, + "lington": 43747, + "ĠBaptist": 43748, + "Ġadvertisements": 43749, + "ĠManage": 43750, + "/yyyy": 43751, + "IOUS": 43752, + "ENCES": 43753, + "ĠFiction": 43754, + "ĉmenu": 43755, + "ĠFileOutputStream": 43756, + "ovan": 43757, + "ĠFeng": 43758, + "Ġskipping": 43759, + "getClass": 43760, + "anni": 43761, + "Ġrebounds": 43762, + "Ġpublicity": 43763, + "Ġingres": 43764, + "usement": 43765, + "Ġthoughtful": 43766, + ".Chart": 43767, + "Ġhatte": 43768, + "passport": 43769, + "Ġhooked": 43770, + "ĠLens": 43771, + "Ġflagship": 43772, + "Ġstip": 43773, + "ĠGEN": 43774, + "Ġclues": 43775, + "ipv": 43776, + "ĠRise": 43777, + "ĠGew": 43778, + "tablename": 43779, + "Ġforemost": 43780, + "_validate": 43781, + "_analysis": 43782, + "olla": 43783, + "Ġqualifications": 43784, + "Ġdistributions": 43785, + "ĠFlower": 43786, + "Ġtense": 43787, + "Ġthankful": 43788, + "Ġclutch": 43789, + "Ġunified": 43790, + "roads": 43791, + "Ġsiti": 43792, + "Ġstall": 43793, + "_PRIORITY": 43794, + "cstdlib": 43795, + "_USERNAME": 43796, + ".bytes": 43797, + "?page": 43798, + "ermalink": 43799, + "ĠVeget": 43800, + "/vnd": 43801, + "-author": 43802, + ".NONE": 43803, + "ĠConcurrent": 43804, + "ĠCry": 43805, + "Ġstarters": 43806, + "ĠInteraction": 43807, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 43808, + "ĠLEVEL": 43809, + "Ell": 43810, + "ĠcomboBox": 43811, + "ĠTheresa": 43812, + "tek": 43813, + "_Handle": 43814, + "Ġaby": 43815, + ".gdx": 43816, + ",end": 43817, + "(Local": 43818, + "Ol": 43819, + "knife": 43820, + "arial": 43821, + "ĠHoff": 43822, + "Ġprostituerade": 43823, + "Doctor": 43824, + "Instances": 43825, + ".SetValue": 43826, + "ĉfrom": 43827, + "Ġluxurious": 43828, + "Indent": 43829, + "Allocator": 43830, + "_DRAW": 43831, + "(\",\",": 43832, + "ĠFrances": 43833, + "ĠgroupBox": 43834, + "(schema": 43835, + "Printf": 43836, + "ORIES": 43837, + "-gradient": 43838, + "Ġreput": 43839, + "arin": 43840, + "_DONE": 43841, + "incre": 43842, + "ignty": 43843, + "Ġexert": 43844, + "Ġ-.": 43845, + "/App": 43846, + "-through": 43847, + "Ġdeclining": 43848, + "Ġdessert": 43849, + "Ġincumb": 43850, + "Ġdesignation": 43851, + ".PORT": 43852, + ",strong": 43853, + "Ġsandbox": 43854, + "Ġwines": 43855, + "ĠPav": 43856, + "$str": 43857, + "askell": 43858, + "Ġhö": 43859, + "ĠPY": 43860, + "GetInstance": 43861, + "TextInput": 43862, + "gameObject": 43863, + "/events": 43864, + "createdAt": 43865, + "ĠlocalVar": 43866, + "ĠWHITE": 43867, + "pered": 43868, + "ilege": 43869, + "efficient": 43870, + ",color": 43871, + "cate": 43872, + "ĠCafe": 43873, + "Ġsimilarities": 43874, + "Ġpumps": 43875, + "ĠHungary": 43876, + ".Username": 43877, + "Ġskate": 43878, + "Ġtouchdowns": 43879, + "Ġaccelerate": 43880, + "ĠHelen": 43881, + "OMEM": 43882, + "ĠKun": 43883, + "_vol": 43884, + "ĠfindAll": 43885, + "ĠMenschen": 43886, + "ahead": 43887, + ");\"": 43888, + "kommen": 43889, + "Ġpossessed": 43890, + ".argmax": 43891, + ".transition": 43892, + "ARP": 43893, + "OLUME": 43894, + "(script": 43895, + "ĠÐĺ": 43896, + "ĠFinding": 43897, + "onces": 43898, + "Io": 43899, + "Bold": 43900, + "Ġrenewal": 43901, + "_DIALOG": 43902, + "Ġdisreg": 43903, + "INTERN": 43904, + "Ġtoute": 43905, + "Ġelectr": 43906, + "ĠGross": 43907, + "ĉtrue": 43908, + ".Fields": 43909, + "ĠWIDTH": 43910, + "ĠDent": 43911, + "ĠÃģ": 43912, + "NSNotification": 43913, + "Ġaos": 43914, + "Ġmelee": 43915, + ".Validation": 43916, + "ĠDEC": 43917, + "-dependent": 43918, + "Ġsuic": 43919, + "Traits": 43920, + "$message": 43921, + "ĠDear": 43922, + "ĉFILE": 43923, + "languages": 43924, + ".Prot": 43925, + ".addr": 43926, + "-generation": 43927, + "ICON": 43928, + "Ġtransplant": 43929, + "-description": 43930, + "Ġchasing": 43931, + "Ġchees": 43932, + "Ġ}*/Ċ": 43933, + "Trad": 43934, + "queries": 43935, + "/widgets": 43936, + "subpackage": 43937, + "Ġespec": 43938, + "Ġcracked": 43939, + "Ġcompetitor": 43940, + "Purchase": 43941, + "-team": 43942, + "olecular": 43943, + "orThunk": 43944, + "&P": 43945, + "Ġrelent": 43946, + "/#{": 43947, + "ĠproductId": 43948, + "Ġè¾": 43949, + "ĠLav": 43950, + "ĠAlter": 43951, + ".Mode": 43952, + "ADIO": 43953, + "grp": 43954, + "æ·»åĬł": 43955, + "Quit": 43956, + "Ġdepths": 43957, + "-category": 43958, + "ĠDATABASE": 43959, + "SPELL": 43960, + "ĠFalcon": 43961, + "ĠQStringList": 43962, + "Ġ''.": 43963, + "ĠInstitution": 43964, + "damage": 43965, + "azor": 43966, + "belongsTo": 43967, + "verages": 43968, + "ĠNONE": 43969, + "ippets": 43970, + ",\\Ċ": 43971, + "Ġfootprint": 43972, + "_archive": 43973, + "nak": 43974, + ".getField": 43975, + "ĠReflection": 43976, + "Ġ']": 43977, + "ĠHBO": 43978, + "_discount": 43979, + "Ġincest": 43980, + "ĠDodge": 43981, + "ĠWade": 43982, + ".NO": 43983, + "\"encoding": 43984, + "ĠBlockchain": 43985, + "Ġlawsuits": 43986, + "ĠMaint": 43987, + "chten": 43988, + "Ġétait": 43989, + "Ġktóre": 43990, + "_ctl": 43991, + "(timer": 43992, + "Battle": 43993, + "izo": 43994, + "ayed": 43995, + "IOR": 43996, + "ĠGlasgow": 43997, + "Ġsynth": 43998, + "_logs": 43999, + ".pose": 44000, + "_AdjustorThunk": 44001, + "((&": 44002, + "Ġunsure": 44003, + "ystate": 44004, + "íķĺëĬĶ": 44005, + "OULD": 44006, + ".ng": 44007, + "Ġdefaultdict": 44008, + "workspace": 44009, + "Ġselective": 44010, + "PickerController": 44011, + "YNAMIC": 44012, + ".methods": 44013, + "Ġpathways": 44014, + "ĠFew": 44015, + "KG": 44016, + "CRYPT": 44017, + "following": 44018, + "ĠDLC": 44019, + "ĠSara": 44020, + "Ġpreset": 44021, + "estructor": 44022, + "ĠKurt": 44023, + "Ġairplane": 44024, + "Ġomp": 44025, + "ĠParents": 44026, + "ĠMartinez": 44027, + ".complete": 44028, + "Ġbroadly": 44029, + "Ġscare": 44030, + "ĠMé": 44031, + "Ġelimination": 44032, + "Ġpoured": 44033, + "/sw": 44034, + "Ġcomun": 44035, + "Ġmasc": 44036, + "ĠOrganic": 44037, + "ĠStringUtils": 44038, + "ilateral": 44039, + "Ġreluctant": 44040, + "-age": 44041, + "Ġnz": 44042, + ".\"\\": 44043, + "Ġpastor": 44044, + "alez": 44045, + "Ġefect": 44046, + "prov": 44047, + "/init": 44048, + "Ġpenn": 44049, + "unds": 44050, + "Ġssize": 44051, + "ĠProj": 44052, + "basename": 44053, + "Ġshells": 44054, + "ĠNeck": 44055, + "ĠEnforcement": 44056, + "vided": 44057, + "stown": 44058, + "Sphere": 44059, + "$r": 44060, + "ussen": 44061, + "afil": 44062, + "ĠTelegram": 44063, + "Ġanalytical": 44064, + "нÑĭе": 44065, + "usually": 44066, + "xn": 44067, + "Ġhistorian": 44068, + "ĠGregory": 44069, + "olph": 44070, + "ĠUna": 44071, + "Ġcontributes": 44072, + "%-": 44073, + "antiago": 44074, + "ÑĢед": 44075, + ".region": 44076, + "Ġabrupt": 44077, + "ĠUnsupportedOperationException": 44078, + "ĠTASK": 44079, + "_finish": 44080, + "Ġnotorious": 44081, + "ĠVs": 44082, + "ĠMQ": 44083, + "Ġsunset": 44084, + "Ġunacceptable": 44085, + "arcer": 44086, + "Ġillumin": 44087, + "ĠOrb": 44088, + "Ġbh": 44089, + "Este": 44090, + "_dispatch": 44091, + "Ġripped": 44092, + "Ġtoujours": 44093, + "ĠParcel": 44094, + "_ll": 44095, + ".userName": 44096, + ".classes": 44097, + "SOURCE": 44098, + "(Number": 44099, + "елÑı": 44100, + "Ġheadphones": 44101, + "(side": 44102, + "constitution": 44103, + "annah": 44104, + "čĊĠĠĠĠĠĠĠĠčĊ": 44105, + "Ġcliff": 44106, + "-ref": 44107, + "Ġmostrar": 44108, + "ĠPowell": 44109, + "+y": 44110, + "ĠBG": 44111, + "_fragment": 44112, + ".Port": 44113, + "Ġrealizing": 44114, + "paramref": 44115, + "Ġhometown": 44116, + "@Table": 44117, + "+\"--}}Ċ": 44296, + "French": 44297, + "EntityManager": 44298, + "ĠPlain": 44299, + "////////////////////////////////////////////////////////////////////": 44300, + "³": 44301, + "(RE": 44302, + "capt": 44303, + "Ġorganisms": 44304, + "Ġjets": 44305, + "olocation": 44306, + "ĠAppRoutingModule": 44307, + "Ġglorious": 44308, + "æľį": 44309, + "Ġdiscarded": 44310, + "ĉĉĉĉĠĠĠĠĠ": 44311, + "ĠArnold": 44312, + "lug": 44313, + "Ġparl": 44314, + "Ġhormones": 44315, + "Ġmah": 44316, + "ĠSonic": 44317, + "Ġorganizers": 44318, + "_PLATFORM": 44319, + ".inv": 44320, + "Ġchord": 44321, + "ventional": 44322, + "ĉof": 44323, + "Episode": 44324, + ".Enum": 44325, + "unkt": 44326, + "ĠDh": 44327, + "ĠJared": 44328, + "ĠNak": 44329, + "Ġintends": 44330, + "Endian": 44331, + "Ġaustralia": 44332, + "_cv": 44333, + "(resolve": 44334, + "Ġclinics": 44335, + "liked": 44336, + "ASHINGTON": 44337, + "inha": 44338, + "'*": 44339, + "ĠNP": 44340, + "_beh": 44341, + "Ġhf": 44342, + "Ġwür": 44343, + "categoria": 44344, + "$form": 44345, + "Ġsubway": 44346, + "ĠisActive": 44347, + "popular": 44348, + "Cour": 44349, + "Ġcooldown": 44350, + "Ġainsi": 44351, + "ĠGLuint": 44352, + "ereal": 44353, + "ĠarrayOf": 44354, + "Ġhatch": 44355, + "==========": 44356, + "resses": 44357, + "_PP": 44358, + ".^": 44359, + "_decay": 44360, + "ĠBless": 44361, + "metrics": 44362, + "ĠCOPYING": 44363, + "ĠDumpster": 44364, + "ĠJosé": 44365, + "ĠDesigns": 44366, + "<": 44369, + "Ġ\"}Ċ": 44370, + "timezone": 44371, + "Ġeer": 44372, + "maxcdn": 44373, + "ĠESC": 44374, + "igaret": 44375, + "_connected": 44376, + "_reverse": 44377, + "Ġquestionable": 44378, + "ĠUSC": 44379, + "Ġtutti": 44380, + "Ġdropout": 44381, + "ĠActivities": 44382, + "ĠWinds": 44383, + "')));Ċ": 44384, + "Ġcongest": 44385, + "ģı": 44386, + "Ġprolonged": 44387, + "è¿Ļ": 44388, + "ĠCrossAxisAlignment": 44389, + "LEEP": 44390, + "ĠVALID": 44391, + "ĠGaz": 44392, + "Ġdependence": 44393, + "ĠPrix": 44394, + ".CompilerServices": 44395, + "jump": 44396, + "Ġstrat": 44397, + "circ": 44398, + "ĠCUSTOM": 44399, + "xaa": 44400, + "Ġbmp": 44401, + "Ġbureau": 44402, + "Ġwaren": 44403, + "NX": 44404, + "(Window": 44405, + "ĠChristie": 44406, + "_FE": 44407, + "Ġtn": 44408, + "ĠOmega": 44409, + "communications": 44410, + "HomePage": 44411, + "completion": 44412, + "Ġsupplying": 44413, + "YPES": 44414, + "ável": 44415, + "åζ": 44416, + "(click": 44417, + "\\Contracts": 44418, + "/questions": 44419, + "Ġez": 44420, + "AMS": 44421, + ".mesh": 44422, + "Ġ'\\Ċ": 44473, + "Robot": 44474, + "JsonObject": 44475, + "ĠDF": 44476, + "ĠProcessor": 44477, + "_should": 44478, + ".protobuf": 44479, + "-users": 44480, + "Ġembry": 44481, + "FONT": 44482, + "Ġstartups": 44483, + "ĠDataSource": 44484, + ")#": 44485, + "uros": 44486, + "_Color": 44487, + "Ġstandalone": 44488, + "}[": 44489, + "jd": 44490, + "Ġforgive": 44491, + "Ġngx": 44492, + "ĠGenerally": 44493, + "Ġconfigurable": 44494, + "/order": 44495, + "Ġvas": 44496, + "')\";Ċ": 44497, + "ĠRR": 44498, + "ĠTroy": 44499, + "Ġcompromised": 44500, + "ĠSwan": 44501, + "intendent": 44502, + "Central": 44503, + "_keeper": 44504, + "Ġarquivo": 44505, + "ĠReadOnly": 44506, + "_curve": 44507, + "kv": 44508, + "entin": 44509, + "è±": 44510, + "ĠEy": 44511, + ".imread": 44512, + "ĠPam": 44513, + "iffe": 44514, + "ativity": 44515, + "xbc": 44516, + "Ġgrim": 44517, + "-filled": 44518, + "namese": 44519, + "']:": 44520, + "Ġaur": 44521, + "ĠGibson": 44522, + ".MouseEvent": 44523, + "Ġlado": 44524, + "avadoc": 44525, + "Ġfamil": 44526, + "ĠModer": 44527, + "fps": 44528, + "ãĢĢãĢĢ": 44529, + "-example": 44530, + "ĠAlzheimer": 44531, + "ĠUtf": 44532, + "_arguments": 44533, + "Conclusion": 44534, + "textContent": 44535, + "remaining": 44536, + "Ġinterrupts": 44537, + "ĠBackup": 44538, + "ĠMong": 44539, + "Ġreceptors": 44540, + "histor": 44541, + ".coroutines": 44542, + "Ġshouted": 44543, + "Alarm": 44544, + "Ġcombust": 44545, + "Ġgrote": 44546, + "ultural": 44547, + "(ids": 44548, + "--------------------------------------------------------------------------------": 44549, + "iplinary": 44550, + "Opts": 44551, + "ĠYale": 44552, + "localStorage": 44553, + "Ġequival": 44554, + "ĠFleet": 44555, + "\\b": 44556, + "*pi": 44557, + "ĠQLabel": 44558, + "æ¡": 44559, + "Ġvx": 44560, + "ĠACL": 44561, + "Ġsucesso": 44562, + "Ġperc": 44563, + "ĠNotre": 44564, + "Ġanarch": 44565, + "Ring": 44566, + "spb": 44567, + "Ġstrpos": 44568, + "stores": 44569, + "ĠMaple": 44570, + "(MainActivity": 44571, + "(\"\"))": 44572, + "ĠviewHolder": 44573, + "Quad": 44574, + "Ġigual": 44575, + "orsche": 44576, + ".margin": 44577, + "Ġindie": 44578, + "Ġfranc": 44579, + "ĠFormBuilder": 44580, + "ĠParticip": 44581, + ".flash": 44582, + "Ġstorms": 44583, + "Ult": 44584, + "Ġfen": 44585, + "[new": 44586, + "Ever": 44587, + "=\"Ċ": 44588, + "Ġlocalized": 44589, + "_follow": 44590, + "Ġnave": 44591, + "Ġdominance": 44592, + "(tile": 44593, + "Journal": 44594, + "ĠVC": 44595, + "Ġpenetration": 44596, + "ï¼ķ": 44597, + "Ġcompartment": 44598, + "Ġbids": 44599, + "Formatted": 44600, + "******/ĊĊ": 44601, + "(city": 44602, + "âĢĶit": 44603, + "[C": 44604, + "ĠuseCallback": 44605, + "aub": 44606, + ")?.": 44607, + "ĠVAR": 44608, + "ĠSebastian": 44609, + "ĠMoss": 44610, + "Ġabundant": 44611, + "Greg": 44612, + "ÑĤа": 44613, + "_ci": 44614, + "Ġbibli": 44615, + "CRM": 44616, + "ĠAttempt": 44617, + "isme": 44618, + "dash": 44619, + "ãĢİ": 44620, + "_mu": 44621, + ".FormattingEnabled": 44622, + "Indeed": 44623, + "-direct": 44624, + "Ġsucking": 44625, + "Ġpne": 44626, + "ocabulary": 44627, + "ĠPackers": 44628, + ".Navigation": 44629, + "Ġpied": 44630, + "cribing": 44631, + "ĠStuart": 44632, + ".ToDouble": 44633, + "ĠSecondary": 44634, + "Saving": 44635, + "ĠDut": 44636, + "ĠMadd": 44637, + "Magic": 44638, + ",H": 44639, + ".documentElement": 44640, + "ĠBST": 44641, + "Ġdiffers": 44642, + "Ġmoreover": 44643, + "_nd": 44644, + "SEARCH": 44645, + "пÑĢав": 44646, + "æ´": 44647, + "toMatch": 44648, + "Ġdecreasing": 44649, + "-member": 44650, + "ampus": 44651, + "(boost": 44652, + "Daily": 44653, + "DataGridView": 44654, + "ĠHttpContext": 44655, + "Ġhipp": 44656, + "_workers": 44657, + "-language": 44658, + "éĵ": 44659, + "Ġconsisted": 44660, + "athing": 44661, + "ĠMercury": 44662, + "$content": 44663, + "Ġpracticed": 44664, + "ĠModules": 44665, + "_DAY": 44666, + "Ġweaknesses": 44667, + "ĠLodge": 44668, + "Ġnar": 44669, + "ĠMate": 44670, + "Ġjp": 44671, + "ĠHttpHeaders": 44672, + "Ġsmo": 44673, + "ĠTOKEN": 44674, + "])(": 44675, + "Ġaqui": 44676, + "swagen": 44677, + "Ġsrv": 44678, + "ĉans": 44679, + "Around": 44680, + "ĠManuel": 44681, + "Ġfictional": 44682, + "ĠIMG": 44683, + "Ġ.'": 44684, + "ĠBerry": 44685, + "Ġwallpaper": 44686, + "sexual": 44687, + "iero": 44688, + "ĠçļĦ": 44689, + "ìĨĮ": 44690, + "BackingField": 44691, + "ĠAdrian": 44692, + "BASEPATH": 44693, + "Ġrepeats": 44694, + "Ġblues": 44695, + "Ġunpredict": 44696, + "_coll": 44697, + "stacle": 44698, + "ĠTumblr": 44699, + "ĠElf": 44700, + "Ġassurance": 44701, + "Ġcensus": 44702, + "ĠIMPORT": 44703, + "ENDER": 44704, + "anos": 44705, + "Ġ=(": 44706, + "ĠEllis": 44707, + "\"ĊĊĊĊ": 44708, + ".win": 44709, + "ĠAbove": 44710, + "alon": 44711, + "_tick": 44712, + "Ġrepresentations": 44713, + "Ġæķ": 44714, + "wid": 44715, + "ĠArms": 44716, + "Lista": 44717, + "_failure": 44718, + "_cm": 44719, + ".FlatAppearance": 44720, + "Ġthrone": 44721, + "Patch": 44722, + "ĠVoy": 44723, + "engl": 44724, + "Ġnegotiating": 44725, + ">`": 44726, + "Ġshoots": 44727, + "ĠFPS": 44728, + ".Year": 44729, + "ĠKiss": 44730, + "ención": 44731, + "reeting": 44732, + "FromFile": 44733, + "Ġresignation": 44734, + "Ø·": 44735, + "Ġtwins": 44736, + "ượ": 44737, + "Ġgebru": 44738, + ".getContent": 44739, + ".Tree": 44740, + "ĠEmployees": 44741, + "ĠFIFA": 44742, + "Ġcertainty": 44743, + "(Cl": 44744, + "Ġtotals": 44745, + "editable": 44746, + "à¥Ģ": 44747, + ".Reporting": 44748, + "Mas": 44749, + "quiet": 44750, + ".rules": 44751, + "ĠVO": 44752, + "conexion": 44753, + ",K": 44754, + "Ġallocator": 44755, + "ĠPowder": 44756, + "\\Repository": 44757, + "Beat": 44758, + "_tipo": 44759, + "Ġ['',": 44760, + "_INTR": 44761, + "Ġ<<<": 44762, + "\");čĊ": 44791, + "dropIfExists": 44792, + "ĠBeg": 44793, + "_HAL": 44794, + "ĠcrossAxisAlignment": 44795, + "ĠEvidence": 44796, + "Ġpeculiar": 44797, + "Ġinstitute": 44798, + "veis": 44799, + "Ġfft": 44800, + "Ãģ": 44801, + "Ġzoekt": 44802, + "analy": 44803, + "ĠHomeland": 44804, + "Ġpenetr": 44805, + "uddenly": 44806, + "ĉelement": 44807, + "ĠBren": 44808, + "ĠTrudeau": 44809, + "ĠCuban": 44810, + "jam": 44811, + "uslim": 44812, + "_ev": 44813, + "Ġstems": 44814, + "}%": 44815, + "Ŀå§ĭ": 44816, + "Ġbranding": 44817, + "Ġcorrespondence": 44818, + ".jquery": 44819, + "¢åįķ": 44820, + "ĠReads": 44821, + "(HttpStatusCode": 44822, + "assin": 44823, + "(slot": 44824, + "ĠGraduate": 44825, + "///<": 44826, + "Ġinformations": 44827, + "ENABLE": 44828, + "Ġpuis": 44829, + "Ġfinder": 44830, + "ĠBris": 44831, + "Ġnettsteder": 44832, + "_mid": 44833, + "Ġogs": 44834, + "ĠSterling": 44835, + "Ġarrog": 44836, + "strftime": 44837, + "|ĊĊ": 44838, + "Ġvox": 44839, + "ĠRegardless": 44840, + "Ġeso": 44841, + "ĠComfort": 44842, + ".BooleanField": 44843, + "Ġuh": 44844, + "ACY": 44845, + "Ġsqueez": 44846, + "ĠVic": 44847, + "contro": 44848, + ".lo": 44849, + "Ġire": 44850, + "ĠComedy": 44851, + "ë¶": 44852, + "Ġoriginated": 44853, + "Ġshipment": 44854, + "|max": 44855, + "_guid": 44856, + "levation": 44857, + "наÑı": 44858, + "(undefined": 44859, + "ĠDDR": 44860, + "Ġshootings": 44861, + "ĠLatino": 44862, + "ENDOR": 44863, + "Ġaveraging": 44864, + "Ġgreeted": 44865, + "Ġtheaters": 44866, + "ое": 44867, + "ĠdB": 44868, + "Ġgst": 44869, + "Ġdefinite": 44870, + ".Storage": 44871, + ".her": 44872, + "Ġafore": 44873, + "ĠReality": 44874, + "ĠGods": 44875, + "versed": 44876, + "Ġhandsome": 44877, + "Ġexcluding": 44878, + "(ad": 44879, + "Quotes": 44880, + "ĠScheme": 44881, + "?q": 44882, + "ĠTamil": 44883, + "Ticks": 44884, + "Ġpest": 44885, + "'n": 44886, + "Ġpornography": 44887, + "_modal": 44888, + "Ġ----------": 44889, + "Ġdisposable": 44890, + "FREE": 44891, + "Ġshark": 44892, + "CHE": 44893, + "Ġdepicted": 44894, + "Ġdemonstrations": 44895, + "ĠKilled": 44896, + "ĠRULE": 44897, + "Ġobsessed": 44898, + "Ġsimplified": 44899, + "Postal": 44900, + "Ġconceptual": 44901, + "Ġpst": 44902, + "Las": 44903, + "_PROJECT": 44904, + "ucceeded": 44905, + "olu": 44906, + "ÄŁi": 44907, + "Ġpersonalities": 44908, + "Ġreshape": 44909, + "Ġenclosed": 44910, + "ĉptr": 44911, + "Ġtutorials": 44912, + "Ġexploded": 44913, + "_DIRECTORY": 44914, + "åĨħ容": 44915, + "Ġcanon": 44916, + "Ġrecognise": 44917, + "PAD": 44918, + "ĠApprox": 44919, + "ĠRestore": 44920, + "ĠImportant": 44921, + "Ġheavier": 44922, + ".Sequential": 44923, + "Earth": 44924, + "ĠMilk": 44925, + ".setRequest": 44926, + ".tem": 44927, + "Ġreconstruct": 44928, + "Ġskeptical": 44929, + "_Private": 44930, + "BUF": 44931, + "qua": 44932, + ":a": 44933, + "Ġsek": 44934, + "Ġdwell": 44935, + "ossa": 44936, + "Ġrewarded": 44937, + "ий": 44938, + "(topic": 44939, + "_partition": 44940, + "Ġ__________________": 44941, + "Keywords": 44942, + "ĠFranco": 44943, + "Lite": 44944, + "Ġnaken": 44945, + "Ġза": 44946, + "OBJECT": 44947, + "Ġcrafts": 44948, + "ĠSwap": 44949, + ".Xna": 44950, + ".Connect": 44951, + "Ġbalcony": 44952, + "(real": 44953, + "ĠBarnes": 44954, + "bir": 44955, + "ĠTwenty": 44956, + "ayan": 44957, + "atars": 44958, + "ĠPropel": 44959, + "ĠIhnen": 44960, + "Upgrade": 44961, + "Ġcurb": 44962, + "-second": 44963, + "Ġneph": 44964, + ".pres": 44965, + "ìŀħ": 44966, + ".seq": 44967, + "Ġpadded": 44968, + "\"?": 44969, + "jl": 44970, + "ãĥ¬": 44971, + "')a": 44975, + "Coordinates": 44976, + "Ġenacted": 44977, + "ENTS": 44978, + "Ġlac": 44979, + ".final": 44980, + "ĠPhpStorm": 44981, + "called": 44982, + "Ġinquiries": 44983, + ".middleware": 44984, + "ĠDowntown": 44985, + "/';Ċ": 44986, + "Ġkilomet": 44987, + "accel": 44988, + "Ġquien": 44989, + "wstring": 44990, + "setData": 44991, + "Ġmanera": 44992, + "Ġmodular": 44993, + "rimp": 44994, + "Ġtariffs": 44995, + "âĢĻil": 44996, + "_THROW": 44997, + "/color": 44998, + "ĠHTMLElement": 44999, + "Ġcarro": 45000, + "Ġprere": 45001, + "Ġplotting": 45002, + "ĠPositive": 45003, + "ĠMachines": 45004, + "OTES": 45005, + "Ỽ": 45006, + "pleasant": 45007, + "Ġalte": 45008, + "Ġainda": 45009, + "these": 45010, + "Ġcors": 45011, + "ipay": 45012, + "ĠAdvisory": 45013, + "ĠRubio": 45014, + "jq": 45015, + "Ġlimestone": 45016, + "Ġdetached": 45017, + "设置": 45018, + "tenant": 45019, + "ĠDepth": 45020, + "alore": 45021, + "ĠÑģÑĤÑĢок": 45022, + "ĠFORE": 45023, + "ĠLay": 45024, + "presentation": 45025, + ")');Ċ": 45026, + ".subplots": 45027, + "Ïĥ": 45028, + "NOW": 45029, + "Gar": 45030, + "handles": 45031, + "abra": 45032, + "puties": 45033, + "ĠElectrical": 45034, + "Middle": 45035, + "ropic": 45036, + "ĠJD": 45037, + "ĠDyn": 45038, + "ĠBristol": 45039, + "ĠMcCarthy": 45040, + "Ġstriker": 45041, + "Ġenumerable": 45042, + "ĠEvan": 45043, + ".defaults": 45044, + "quences": 45045, + ")||": 45046, + "ĉtoken": 45047, + "âĹı": 45048, + "-dropdown": 45049, + "STORE": 45050, + "ĠGraphic": 45051, + "(pp": 45052, + "Expl": 45053, + "Ġupwards": 45054, + "ĠDistributed": 45055, + "ĠWEB": 45056, + "Jer": 45057, + "isNaN": 45058, + "çĶŁæĪIJ": 45059, + ">R": 45060, + "üssen": 45061, + "efs": 45062, + "Ġuncover": 45063, + "Ġlud": 45064, + ".calculate": 45065, + "Ġintptr": 45066, + "Ġmidfielder": 45067, + ".Headers": 45068, + "Ġmf": 45069, + "eref": 45070, + ".Metro": 45071, + "ĠSpeaking": 45072, + ":b": 45073, + "Ġcryptocurrencies": 45074, + "Ġdemons": 45075, + "ĉEXPECT": 45076, + "Ġwicked": 45077, + "youtube": 45078, + ":Int": 45079, + "ĠHindi": 45080, + "ĠCAT": 45081, + "Ġع": 45082, + "rar": 45083, + "omore": 45084, + "/per": 45085, + "/license": 45086, + "Ġreim": 45087, + "Ġawaiting": 45088, + "Ġlethal": 45089, + "ĠEF": 45090, + "rounded": 45091, + "ĠPlatinum": 45092, + "ĠвÑģе": 45093, + ".coords": 45094, + ".Device": 45095, + "/item": 45096, + "ĠWenn": 45097, + "compileComponents": 45098, + "ĠKinder": 45099, + ".removeItem": 45100, + "Ġanda": 45101, + "bnb": 45102, + "Ġpra": 45103, + "(transaction": 45104, + "Ġembarrassing": 45105, + "ĉBOOL": 45106, + ".contentView": 45107, + "Ġeventdata": 45108, + "atore": 45109, + "ĠprovidedIn": 45110, + "irma": 45111, + "Ġzona": 45112, + "_HW": 45113, + "æĻ": 45114, + "Ġstove": 45115, + "Ġcounterpart": 45116, + "_Product": 45117, + "_MANAGER": 45118, + "Ġinfring": 45119, + "ĠERA": 45120, + "_party": 45121, + "Ñij": 45122, + "Ġinici": 45123, + "_Request": 45124, + "Ġmiracle": 45125, + "ĠcancelButton": 45126, + "Spy": 45127, + "ató": 45128, + "Ġpolish": 45129, + "ĠNicole": 45130, + ".displayName": 45131, + "\\Requests": 45132, + "ĠuseHistory": 45133, + "RouterModule": 45134, + "Ġstared": 45135, + "IDER": 45136, + "ÑĥнкÑĨи": 45137, + "Ġnota": 45138, + "$arr": 45139, + "pecified": 45140, + "Ġtopp": 45141, + "_DRIVER": 45142, + "/ng": 45143, + "åł": 45144, + "_tm": 45145, + "%timeout": 45146, + "\"": 45588, + "tlement": 45589, + "$(\"": 45590, + "FromString": 45591, + "ĠBild": 45592, + "Ġconventions": 45593, + "_native": 45594, + "ĠInspector": 45595, + "ĠPist": 45596, + "ubar": 45597, + "Ġregs": 45598, + "ĠPilot": 45599, + "Thus": 45600, + ">'+": 45601, + "Ġcela": 45602, + ".news": 45603, + "(Product": 45604, + "Living": 45605, + "Russia": 45606, + "Ġfacet": 45607, + "etical": 45608, + "Ġ['$": 45609, + "/[": 45610, + "ĠDire": 45611, + "Ġgases": 45612, + "ĠINFORMATION": 45613, + "ĠEat": 45614, + "ĠForums": 45615, + "ĠCharacters": 45616, + "_met": 45617, + "Ġìĭľ": 45618, + "Ġkings": 45619, + "achie": 45620, + "ĠLambda": 45621, + "Ġtimers": 45622, + "ĠLighting": 45623, + "ĠCasey": 45624, + "addir": 45625, + "andex": 45626, + ".answer": 45627, + "ĠHip": 45628, + "ĠPrincip": 45629, + "StartDate": 45630, + "ĠãĢĮ": 45631, + "tres": 45632, + "Ġ&#": 45633, + ".MaxValue": 45634, + "ĠProblems": 45635, + "Ġlatex": 45636, + "OfClass": 45637, + "ĠLynn": 45638, + "//'": 45639, + "Ġvoyage": 45640, + "Ġshuttle": 45641, + "ĠRoller": 45642, + "ĠRuntimeError": 45643, + "uya": 45644, + "Dic": 45645, + "ĉbuilder": 45646, + "Ġbullying": 45647, + "Ġsimplest": 45648, + ".called": 45649, + "ĠLR": 45650, + "Ġmorality": 45651, + "Ġsturdy": 45652, + "tracking": 45653, + ".swagger": 45654, + "_BIND": 45655, + "ITOR": 45656, + "-urlencoded": 45657, + "ĠÑħ": 45658, + "ĠTrinity": 45659, + "Ġtraps": 45660, + "Ġ|-": 45661, + "ĠsetText": 45662, + "Ġbargain": 45663, + "Ġbrakes": 45664, + ".getCode": 45665, + "Ġmigrate": 45666, + "Ġribbon": 45667, + ")return": 45668, + "Ġcharger": 45669, + "acom": 45670, + "ADIUS": 45671, + "ĠAmbassador": 45672, + "-after": 45673, + "Ġanni": 45674, + "ĉspin": 45675, + "Concept": 45676, + "ĠHenderson": 45677, + "ĠHOST": 45678, + ".rank": 45679, + "ĠNortheast": 45680, + "Ġberlin": 45681, + "Ġrequis": 45682, + ".feed": 45683, + "ĠsourceMapping": 45684, + "ĠRencontre": 45685, + ".ajax": 45686, + "nestjs": 45687, + "Ġtrek": 45688, + "ĠNacional": 45689, + "Ġ&[": 45690, + "Ġpayable": 45691, + "ortex": 45692, + "Ġdept": 45693, + "fieldName": 45694, + "Ġcompletes": 45695, + "ĠRVA": 45696, + "Ġonions": 45697, + "alignment": 45698, + "Formats": 45699, + "Ġ'{$": 45700, + "HashSet": 45701, + "ĠBod": 45702, + ".InvariantCulture": 45703, + "Ġsettlements": 45704, + "Ġhydr": 45705, + ".updated": 45706, + "venth": 45707, + "(seconds": 45708, + "=\"/\"": 45709, + "Ġwebpage": 45710, + "(ĊĊ": 45711, + "Ġtir": 45712, + "Ġtoes": 45713, + "ĠBrick": 45714, + "Ġambition": 45715, + "Pot": 45716, + "=max": 45717, + "ETIME": 45718, + "Ġdepot": 45719, + "calls": 45720, + "ĠNorwegian": 45721, + "`:": 45722, + "Ġburger": 45723, + "Ġprofessors": 45724, + "ĠAllocate": 45725, + "-thirds": 45726, + "-chart": 45727, + "Ġford": 45728, + "*N": 45729, + ".kotlin": 45730, + "Ġpaperwork": 45731, + "ĠDEVICE": 45732, + "%@\",": 45733, + "respect": 45734, + "(mp": 45735, + "é«ĺ": 45736, + "-if": 45737, + "Ġcushion": 45738, + "obot": 45739, + "Ġparc": 45740, + "SPACE": 45741, + "ĠNetanyahu": 45742, + "Ġselfish": 45743, + "feat": 45744, + "Ġclientes": 45745, + "-tools": 45746, + "Ġporch": 45747, + "Ġjq": 45748, + ".verbose": 45749, + "Ġliberals": 45750, + "])ĊĊĊ": 45751, + "pies": 45752, + "NotBlank": 45753, + "(term": 45754, + "ÈĽi": 45755, + "_Params": 45756, + ".normalize": 45757, + "Bullet": 45758, + "ASIC": 45759, + "(hex": 45760, + "_cliente": 45761, + "+,": 45762, + "_DI": 45763, + "Ġforthcoming": 45764, + "}\")]Ċ": 45765, + "seo": 45766, + "Um": 45767, + ">Name": 45768, + "Ġcomfortably": 45769, + "irectional": 45770, + "WITH": 45771, + "/pr": 45772, + "ĠPoor": 45773, + "ĠVitamin": 45774, + "vic": 45775, + "GH": 45776, + "Ġpriorit": 45777, + "ĠNN": 45778, + "ĠClosed": 45779, + "¤í": 45780, + "ĠisOpen": 45781, + "\\Console": 45782, + "AndFeel": 45783, + ".SUCCESS": 45784, + "_OPERATION": 45785, + "polation": 45786, + "ĠTas": 45787, + "psz": 45788, + ">'.": 45789, + "CURRENT": 45790, + "Vendor": 45791, + "hosts": 45792, + "ĠErd": 45793, + ">tagger": 45794, + "ĠsourceMappingURL": 45795, + "Ġmarathon": 45796, + "_closed": 45797, + "Ġexemption": 45798, + "Ġrecognizes": 45799, + "ideshow": 45800, + "'$": 45801, + "('/');Ċ": 45802, + "mits": 45803, + "warz": 45804, + "ĠCherry": 45805, + "µ¬": 45806, + "nor": 45807, + "porte": 45808, + "Ġwl": 45809, + "_backup": 45810, + ".getBoolean": 45811, + ".getResource": 45812, + "Ġdefinitive": 45813, + ".EditText": 45814, + "ĠsÃŃ": 45815, + ".CONT": 45816, + "ĠPLAYER": 45817, + ".cards": 45818, + "ĠShore": 45819, + "('/')Ċ": 45820, + "cluir": 45821, + "WebDriver": 45822, + "(month": 45823, + "-release": 45824, + "Ġinspector": 45825, + "å£": 45826, + "ĠNF": 45827, + "_clip": 45828, + "åŃIJ": 45829, + "Ġinteracting": 45830, + ".tmp": 45831, + "Ġ'''ĊĊ": 45832, + "Ġdee": 45833, + "Ġfrost": 45834, + "\"]))Ċ": 45835, + "ĠPlaces": 45836, + "Throws": 45837, + "fork": 45838, + "/day": 45839, + "iPhone": 45840, + "ĠMIC": 45841, + "Ġfolding": 45842, + "Ġcrore": 45843, + "ĠChiefs": 45844, + "pherical": 45845, + "(price": 45846, + ".WriteString": 45847, + "Ġexiting": 45848, + "]',Ċ": 45849, + "ighting": 45850, + "Ingredient": 45851, + "(vertex": 45852, + "ĠscrollView": 45853, + "hf": 45854, + ":new": 45855, + "SEN": 45856, + "sector": 45857, + "Ġspins": 45858, + "ĠScheduler": 45859, + "otechn": 45860, + "semicolon": 45861, + "FontOfSize": 45862, + "ĠSpecifically": 45863, + "flamm": 45864, + ".ObjectId": 45865, + "Ġconta": 45866, + "_permissions": 45867, + "ĉFROM": 45868, + "ICODE": 45869, + "/kg": 45870, + "ĠHotels": 45871, + "-med": 45872, + "ĠDin": 45873, + "Ġnavy": 45874, + "getParam": 45875, + "Ġmend": 45876, + "Ġportrayed": 45877, + "ĠMetropolitan": 45878, + "Painter": 45879, + "Ġreferral": 45880, + "_good": 45881, + "Ġmarvel": 45882, + "osaic": 45883, + ">(&": 45884, + ".ur": 45885, + "Ġestos": 45886, + "William": 45887, + "Ġtimber": 45888, + "Ġquelques": 45889, + "ĠDocuments": 45890, + ".Xaml": 45891, + "Ġbatches": 45892, + "éģĵ": 45893, + "ĠReleased": 45894, + "Tail": 45895, + "COOKIE": 45896, + "heid": 45897, + "_station": 45898, + "ĠVia": 45899, + "Sale": 45900, + "ĠRepeat": 45901, + "Ġpromin": 45902, + "ĠZo": 45903, + "-forward": 45904, + "ĠIon": 45905, + "itary": 45906, + "Ġjus": 45907, + "-request": 45908, + "Ġproudly": 45909, + "ĠStreaming": 45910, + "(MouseEvent": 45911, + "ĠSprint": 45912, + "_rotation": 45913, + "Repositories": 45914, + "Ġtart": 45915, + "ĠÑģв": 45916, + "Ġmappings": 45917, + "èª": 45918, + "Cu": 45919, + "Cycle": 45920, + "Ġbun": 45921, + "ĉlua": 45922, + "ãĥī": 45923, + "Ġ((!": 45924, + "Ġcollectively": 45925, + "ĠCond": 45926, + "Ġwszyst": 45927, + "(lib": 45928, + "openhagen": 45929, + "_skip": 45930, + ".ColumnHeader": 45931, + "éĤ": 45932, + "perienced": 45933, + "ıè¿°": 45934, + "_props": 45935, + "Ġcontrace": 45936, + "Ġmatchup": 45937, + "abetic": 45938, + ".members": 45939, + "RECT": 45940, + "(dat": 45941, + "Ġsog": 45942, + "renom": 45943, + "_Method": 45944, + "Customers": 45945, + "fullname": 45946, + "ZN": 45947, + "retry": 45948, + "Ġkap": 45949, + "ĠNeu": 45950, + "èĬ": 45951, + "addChild": 45952, + "willReturn": 45953, + "_permalink": 45954, + "Ġenergetic": 45955, + "ĠWet": 45956, + "ĠMorr": 45957, + "Ġgcd": 45958, + "counts": 45959, + ",type": 45960, + "dig": 45961, + "(Login": 45962, + "Ġcracks": 45963, + "Ġbacterial": 45964, + "ĠMeat": 45965, + "ĠArmstrong": 45966, + "ĠBronze": 45967, + "Ġapproximate": 45968, + "_dirs": 45969, + "liga": 45970, + "ÅĤad": 45971, + "Ġkindness": 45972, + "Ġcontre": 45973, + "ĠEVERY": 45974, + "MET": 45975, + "Ġannouncements": 45976, + "gpio": 45977, + "ĠWaitForSeconds": 45978, + "ĠPhotoshop": 45979, + "Ġdiscontin": 45980, + "/dd": 45981, + "Ġtopology": 45982, + "anical": 45983, + ".interface": 45984, + "aucoup": 45985, + ".HashSet": 45986, + "ARIANT": 45987, + "(routes": 45988, + "ĠTeh": 45989, + "Ġhype": 45990, + "]\").": 45991, + "Ġslam": 45992, + "Ġbroth": 45993, + "-inter": 45994, + "ĠRid": 45995, + "-manager": 45996, + "Cancelar": 45997, + "ĠPagination": 45998, + "Ġsoundtrack": 45999, + "Ġposterior": 46000, + "Ġscrub": 46001, + "creating": 46002, + "-*": 46003, + "irteen": 46004, + ".dy": 46005, + ".symmetric": 46006, + "Ġ\"\".": 46007, + "===============": 46008, + "Ġchassis": 46009, + "ĠnumberOfRows": 46010, + "Developer": 46011, + "_bins": 46012, + "ĠOUR": 46013, + "rieb": 46014, + "Pros": 46015, + "ĠwiÄĻ": 46016, + "\"d": 46017, + "Ġasyncio": 46018, + "zeigen": 46019, + "_spi": 46020, + ".ALL": 46021, + "Ġscrews": 46022, + "Chinese": 46023, + "ĠapiKey": 46024, + "Ġunsuccessful": 46025, + "ĠSeahawks": 46026, + "ORG": 46027, + "竳": 46028, + "Ġprofessionally": 46029, + "ĠCoupon": 46030, + "åŃĹæ®µ": 46031, + "Convention": 46032, + "Ġpolym": 46033, + "æīĭ": 46034, + "Ġsalvation": 46035, + "Ġengineered": 46036, + "ĠWrest": 46037, + "ĠGCC": 46038, + "Ġwarmer": 46039, + "LayoutConstraint": 46040, + "Ġaggrav": 46041, + "Scripts": 46042, + "venture": 46043, + "Ġrefrigerator": 46044, + "Ġinnovations": 46045, + "ĠRunner": 46046, + "NIC": 46047, + "ĠRolling": 46048, + "ControlEvents": 46049, + "Ġloos": 46050, + "pac": 46051, + "ĉpanel": 46052, + "efe": 46053, + "ĠBuddha": 46054, + "--------------Ċ": 46055, + "åºĵ": 46056, + "(forKey": 46057, + "Ġlumin": 46058, + "Ġ(?": 46059, + "ĠAIDS": 46060, + ",user": 46061, + "imientos": 46062, + "contentType": 46063, + "antlr": 46064, + "é¦": 46065, + "ĠWelt": 46066, + "Production": 46067, + "might": 46068, + "ĠVII": 46069, + "\",(": 46070, + "Ġobserving": 46071, + "Ġdeliberate": 46072, + "(control": 46073, + "Ġwithd": 46074, + "Ġsemana": 46075, + "STACK": 46076, + "uchen": 46077, + "Nice": 46078, + "ĠDeutschland": 46079, + "ĠSpecifies": 46080, + "dma": 46081, + "izio": 46082, + "ĠFacts": 46083, + "_popup": 46084, + "ĠDirectors": 46085, + "{:": 46086, + "[R": 46087, + "ĠÑįлеменÑĤ": 46088, + "Ġplat": 46089, + "Ġdirecting": 46090, + "ä¸ī": 46091, + "ĠGilbert": 46092, + "â̦.ĊĊ": 46093, + ".qml": 46094, + "Ġthereafter": 46095, + "Ġdisposition": 46096, + "draft": 46097, + "Ġsurgeon": 46098, + "ĠInsider": 46099, + "Blend": 46100, + "ĠTrev": 46101, + "trinsic": 46102, + "Topics": 46103, + "rieve": 46104, + "_FILENAME": 46105, + "Ġautres": 46106, + "Jose": 46107, + "Producer": 46108, + "erus": 46109, + "Ġpetit": 46110, + "ĠNEXT": 46111, + "ĠFilters": 46112, + "Ġreplicate": 46113, + "\"]).": 46114, + "Ġlenders": 46115, + "]\",Ċ": 46116, + ";charset": 46117, + "CppObject": 46118, + "Ġfloral": 46119, + "ĠTipo": 46120, + "Ġcircuits": 46121, + "easy": 46122, + "(&$": 46123, + "itta": 46124, + "eryl": 46125, + "_COMMON": 46126, + "'}}>Ċ": 46127, + "-backed": 46128, + "(variable": 46129, + "(Index": 46130, + "Ġvoir": 46131, + "_locations": 46132, + "++){": 46133, + "ĠLouisville": 46134, + "Ġgratitude": 46135, + ".Mockito": 46136, + "ĠPowers": 46137, + "ieurs": 46138, + "Ġgeographic": 46139, + "rale": 46140, + "Ġcra": 46141, + "ĠSpurs": 46142, + "iphertext": 46143, + "ACION": 46144, + "-common": 46145, + "Ġvictories": 46146, + "ĠFinals": 46147, + ".shuffle": 46148, + "-million": 46149, + "_PROC": 46150, + "assume": 46151, + "Ġils": 46152, + "DBC": 46153, + "BootTest": 46154, + "Ġlavor": 46155, + ".testing": 46156, + ".ast": 46157, + "\"]/": 46158, + "moid": 46159, + "Ġqualification": 46160, + "gesch": 46161, + "ĉput": 46162, + "Ġairports": 46163, + "JI": 46164, + "Teacher": 46165, + "_uniform": 46166, + "Ġnama": 46167, + "ĠBast": 46168, + "ertype": 46169, + "capture": 46170, + "getAll": 46171, + "ĠReynolds": 46172, + "ooled": 46173, + ".comments": 46174, + "Ġchin": 46175, + ").*": 46176, + "Ġили": 46177, + "tgl": 46178, + "udos": 46179, + "ĠdÃŃas": 46180, + "chai": 46181, + ".program": 46182, + "Ġpsz": 46183, + "ĉicon": 46184, + "phil": 46185, + "entral": 46186, + "_WRAP": 46187, + "ovi": 46188, + "Ġnostalg": 46189, + "Infinity": 46190, + "ĉyield": 46191, + "Ġvitamins": 46192, + "Quaternion": 46193, + "Sink": 46194, + "_goods": 46195, + "Ġ........": 46196, + "ĠWings": 46197, + "uridad": 46198, + "-story": 46199, + "\"])ĊĊ": 46200, + "idelity": 46201, + "TypeDef": 46202, + "Gtk": 46203, + "ĠíĮ": 46204, + "_Main": 46205, + "Ġchez": 46206, + "ĠRaven": 46207, + "Ġpayroll": 46208, + "Ġfreelance": 46209, + "LLU": 46210, + "ĠMend": 46211, + "eday": 46212, + "ApiModelProperty": 46213, + ".FormBorderStyle": 46214, + "Ġeconomist": 46215, + "stanbul": 46216, + "Ġfreight": 46217, + "-Agent": 46218, + "(meta": 46219, + "Ġsymmetry": 46220, + "Ġ'..": 46221, + ".Calendar": 46222, + "-aut": 46223, + "gf": 46224, + "pent": 46225, + "yclopedia": 46226, + "Ġwishing": 46227, + "ĊĊĊĊĊĊĊĊĊĊĊĊ": 46228, + "Ġgentleman": 46229, + "Ġê³": 46230, + "=#": 46231, + "Ġlectures": 46232, + "âĢľIn": 46233, + "Ġ!_": 46234, + "Ġhb": 46235, + "ĠVendor": 46236, + "Recently": 46237, + "_notes": 46238, + "æıIJ示": 46239, + "\"My": 46240, + "HeadersHeight": 46241, + "_SO": 46242, + "Ġunwilling": 46243, + "Ġsuperhero": 46244, + "gio": 46245, + "psy": 46246, + "ĠPeer": 46247, + "javax": 46248, + "&apos": 46249, + "ĠCrisis": 46250, + "ordinal": 46251, + "Memcpy": 46252, + "++++++++++++++++": 46253, + "-val": 46254, + "Ġworkbook": 46255, + "-ap": 46256, + "=k": 46257, + "Ġmetallic": 46258, + "_peer": 46259, + "ByPrimaryKey": 46260, + "_SD": 46261, + "uator": 46262, + "_SHADER": 46263, + ")Math": 46264, + ".Transform": 46265, + "Ġcows": 46266, + "Phi": 46267, + "ĠClem": 46268, + "(_(\"": 46269, + "ĠLud": 46270, + "-delay": 46271, + "ĠSecurities": 46272, + "ĠOrthodox": 46273, + "Symfony": 46274, + "(report": 46275, + "Ġentertain": 46276, + "EPS": 46277, + "izoph": 46278, + "exual": 46279, + "IRD": 46280, + "ä»İ": 46281, + "Ġlith": 46282, + "Ġsanitize": 46283, + "Ġfeminine": 46284, + "ISBN": 46285, + ".authentication": 46286, + "_pipeline": 46287, + "/constants": 46288, + "ĠCONF": 46289, + "Ġlucr": 46290, + "ricia": 46291, + ".ttf": 46292, + ".setContent": 46293, + "Ġstan": 46294, + "orean": 46295, + "ĠLloyd": 46296, + ".rawValue": 46297, + "Ġgor": 46298, + "ĠBrowns": 46299, + "Regression": 46300, + "Ġlowering": 46301, + "naissance": 46302, + "Ġblows": 46303, + "Ġamazed": 46304, + "Ġunrelated": 46305, + "Reviews": 46306, + "Ġruby": 46307, + "ĠModifier": 46308, + "Ġgiants": 46309, + ".thread": 46310, + "Ġcontainment": 46311, + "ĠStartCoroutine": 46312, + "umat": 46313, + "orelease": 46314, + "ĠRandy": 46315, + "@endif": 46316, + "Digest": 46317, + "Ġsuburban": 46318, + "=\");Ċ": 46319, + "Ġannonce": 46320, + ".variable": 46321, + "\\Foundation": 46322, + "Ġacre": 46323, + "Van": 46324, + "Ġtuples": 46325, + "dns": 46326, + "ĠStanding": 46327, + "_large": 46328, + "Ġboxing": 46329, + "SupportActionBar": 46330, + "ĠFortune": 46331, + "ĠRum": 46332, + "_multiple": 46333, + "archical": 46334, + "Ġfwrite": 46335, + "_quote": 46336, + "Ġfoolish": 46337, + "Ġcomprising": 46338, + "Ġоп": 46339, + "-selected": 46340, + "vf": 46341, + "maid": 46342, + "Nama": 46343, + "(datetime": 46344, + "Ġindirectly": 46345, + "gart": 46346, + "fixtures": 46347, + "chos": 46348, + "ĠHalo": 46349, + "Ġrecurring": 46350, + "-news": 46351, + "vil": 46352, + "ĠNursing": 46353, + "-produ": 46354, + "ĠHQ": 46355, + "\\HttpFoundation": 46356, + "enci": 46357, + "auen": 46358, + "Ġvy": 46359, + "ocracy": 46360, + "Ġdelegation": 46361, + "Ġasphalt": 46362, + "ĠsetSelected": 46363, + "kok": 46364, + "/rest": 46365, + "metics": 46366, + "ĠNSDate": 46367, + "Ġtravelled": 46368, + "Ġrecib": 46369, + "Ġmime": 46370, + "CLIENT": 46371, + "ĠGU": 46372, + "ĠHANDLE": 46373, + "/Q": 46374, + "[z": 46375, + "Ġbothered": 46376, + "ĠBBQ": 46377, + "ças": 46378, + "_examples": 46379, + "_FIN": 46380, + "ĠwhiteColor": 46381, + "Ġastronom": 46382, + "-dir": 46383, + "Ġsovereign": 46384, + "Ġbreeze": 46385, + "Ġinning": 46386, + "ĠEdmonton": 46387, + "gli": 46388, + ".blogspot": 46389, + "jsx": 46390, + "Ġversa": 46391, + "ĠMohammed": 46392, + ".Job": 46393, + "-toggler": 46394, + "ĠполÑĮзоваÑĤ": 46395, + "ardon": 46396, + "Ġnewborn": 46397, + "Ġnaval": 46398, + "noteq": 46399, + "Ġtumblr": 46400, + "Ġhentai": 46401, + "ĠTypically": 46402, + "Ġloot": 46403, + ".Sprite": 46404, + "Flight": 46405, + "Ġwavelength": 46406, + "-sk": 46407, + "ĠElle": 46408, + "_exports": 46409, + "ĠÑı": 46410, + "ĠIH": 46411, + "izophren": 46412, + "Ġíģ": 46413, + "_primary": 46414, + "Ġmois": 46415, + "ĠBN": 46416, + "Ġsystemic": 46417, + "Ġdiferentes": 46418, + "INCT": 46419, + "Ġ''ĊĊ": 46420, + "$q": 46421, + "WidgetItem": 46422, + "clide": 46423, + "$file": 46424, + "Lemma": 46425, + "/table": 46426, + "agrid": 46427, + "ĠMongoDB": 46428, + "inte": 46429, + "Ġapprent": 46430, + "ÂŃing": 46431, + ".Db": 46432, + "ĠÃĤ": 46433, + "hammer": 46434, + "='';Ċ": 46435, + "Ġbrokers": 46436, + "itlement": 46437, + "semblies": 46438, + "Ele": 46439, + "{x": 46440, + "Ġlastname": 46441, + "<-": 46442, + "Ġflatten": 46443, + "_band": 46444, + ".Root": 46445, + ".readFileSync": 46446, + "======": 46447, + ".rx": 46448, + "?čĊ": 46449, + "Ġmetaphor": 46450, + "Ti": 46451, + "conte": 46452, + "Ġdebit": 46453, + "Ġcontempt": 46454, + "CppType": 46455, + "æĶ¯": 46456, + "FormField": 46457, + "ratio": 46458, + "osopher": 46459, + "Ġimplant": 46460, + "PURE": 46461, + "Ġalta": 46462, + "_management": 46463, + "Ġrefine": 46464, + "ĠCheckBox": 46465, + "ĠCharl": 46466, + "-version": 46467, + "conditional": 46468, + "venues": 46469, + "Ġrifles": 46470, + "Ġoffspring": 46471, + "Ġmilling": 46472, + "Ġsharply": 46473, + "Ġunderwater": 46474, + "(origin": 46475, + "_Control": 46476, + "Ġ.$": 46477, + "Plugins": 46478, + "Ġdrying": 46479, + "Ġillustrates": 46480, + "-u": 46481, + "Ġvegetarian": 46482, + "npc": 46483, + "Heart": 46484, + ";',Ċ": 46485, + "comma": 46486, + "teenth": 46487, + "asan": 46488, + "/spec": 46489, + "_moves": 46490, + "-margin": 46491, + "Ġingen": 46492, + "³³³": 46493, + "Ġprojet": 46494, + "Ġotra": 46495, + "Ġbras": 46496, + ".utc": 46497, + "Ġslept": 46498, + "=sub": 46499, + "abilit": 46500, + "poster": 46501, + "Ġsdk": 46502, + "ouncill": 46503, + "Ġwd": 46504, + "PreparedStatement": 46505, + "ĠDrum": 46506, + "(attribute": 46507, + "ĠEthernet": 46508, + "ĉDB": 46509, + "California": 46510, + "cube": 46511, + "[I": 46512, + ".Created": 46513, + "ĠHM": 46514, + "Ġtracing": 46515, + "FormsModule": 46516, + "-you": 46517, + ".currency": 46518, + "feeding": 46519, + "Ġtbody": 46520, + "Li": 46521, + "accion": 46522, + "nas": 46523, + "Ġtrouver": 46524, + "NONE": 46525, + "\"},čĊ": 46526, + "Ġftp": 46527, + "WithIdentifier": 46528, + "polate": 46529, + "FileInfo": 46530, + "Ġpursued": 46531, + "ĠĠĠĠčĊĠĠĠĠčĊ": 46532, + "DESCRIPTION": 46533, + "}*/Ċ": 46534, + "FromNib": 46535, + "Ġdecorative": 46536, + "_SSL": 46537, + "(chat": 46538, + "TLS": 46539, + "Ġsurprises": 46540, + "alculate": 46541, + "ĠSplash": 46542, + "(Configuration": 46543, + "ĠSEM": 46544, + "imson": 46545, + "/library": 46546, + "": 46621, + "GED": 46622, + "faq": 46623, + "Ġoptionally": 46624, + "_Dis": 46625, + "ĠSuccessful": 46626, + "ĠCensus": 46627, + "Ġincarcer": 46628, + "_CARD": 46629, + "Ġaviation": 46630, + "ĠGym": 46631, + "Authority": 46632, + ".Bean": 46633, + "shader": 46634, + "NotExist": 46635, + "_TextChanged": 46636, + "ĠSTOP": 46637, + "(team": 46638, + "\"H": 46639, + "wg": 46640, + "Ġgrinder": 46641, + "Ġstripe": 46642, + "Ġpreservation": 46643, + "Claim": 46644, + "aversal": 46645, + "warehouse": 46646, + "targets": 46647, + "Trust": 46648, + "Ġallev": 46649, + ",www": 46650, + "ousse": 46651, + "_chan": 46652, + "_Size": 46653, + "systems": 46654, + "Ġobjection": 46655, + "ĠKane": 46656, + "Ġcorros": 46657, + "ĠDSL": 46658, + "Ġua": 46659, + "ĠMH": 46660, + "ĠStrategic": 46661, + "_tcp": 46662, + "Ġê°Ĵ": 46663, + "Ġborrowed": 46664, + "ĠAch": 46665, + "ĉcommand": 46666, + "Ġgps": 46667, + "leston": 46668, + "ichever": 46669, + "ĠUA": 46670, + "Ġassaulted": 46671, + "Ġspecializes": 46672, + "ĉsearch": 46673, + "Hotel": 46674, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠčĊ": 46675, + "ĠPitch": 46676, + "ĠÙģ": 46677, + "READY": 46678, + "Ġparental": 46679, + "Ġgéné": 46680, + "Ġdonnées": 46681, + "Ġdetain": 46682, + "TARGET": 46683, + "Ġprotagonist": 46684, + "ĠclearInterval": 46685, + "ĠIconButton": 46686, + "ĠGetAll": 46687, + "TypeInfo": 46688, + "EH": 46689, + "âĢľThey": 46690, + "Ġ{[": 46691, + "Ġgag": 46692, + "ĠÚ©": 46693, + "ĠDropdown": 46694, + ".free": 46695, + "gone": 46696, + "imens": 46697, + "Ġinstal": 46698, + "ĉcurl": 46699, + "_CAN": 46700, + "ĠBone": 46701, + "ï¼Ķ": 46702, + "onyms": 46703, + "-government": 46704, + ".bindingNavigator": 46705, + "ĠDans": 46706, + "ĠMcL": 46707, + "(en": 46708, + ">(_": 46709, + "ÐĴÑĭ": 46710, + ".*;čĊ": 46711, + "=j": 46712, + "-cor": 46713, + "Son": 46714, + ".ToolStripItem": 46715, + "-around": 46716, + "_XML": 46717, + "endDate": 46718, + "Ġslack": 46719, + "Ġrotated": 46720, + "Ġnoqa": 46721, + "Ġcottage": 46722, + "Ġencontrar": 46723, + "_skill": 46724, + "houette": 46725, + "!čĊ": 46726, + ".weather": 46727, + "Ġemphasized": 46728, + "å®¶": 46729, + "ĠÑģпиÑģ": 46730, + "ĠCompiler": 46731, + "(android": 46732, + "ĠâĢº": 46733, + ".turn": 46734, + "Ġsuppression": 46735, + "_calls": 46736, + "Ġ*@": 46737, + "(strlen": 46738, + ".hex": 46739, + "ĠBills": 46740, + "ĠRSA": 46741, + "ÏĤ": 46742, + "ĠEscape": 46743, + "ementia": 46744, + "Ġfrontend": 46745, + "Ġpint": 46746, + "_exc": 46747, + "zzo": 46748, + "[],Ċ": 46749, + "Ġ\"','\"": 46750, + ".Environment": 46751, + "Ġaforementioned": 46752, + "Ġendure": 46753, + "prototype": 46754, + "therapy": 46755, + "ssi": 46756, + "Deg": 46757, + "_plugins": 46758, + ".userInfo": 46759, + "Printer": 46760, + "ĠPROGRAM": 46761, + "Ġruins": 46762, + "Ġempirical": 46763, + "Ġcrawl": 46764, + "ĠBoiler": 46765, + "-comment": 46766, + ".subplot": 46767, + "_et": 46768, + "Ġ'.',": 46769, + "minor": 46770, + "ĠCustoms": 46771, + "Ġyaw": 46772, + "underline": 46773, + "ĠComo": 46774, + "(('": 46775, + "(mean": 46776, + "Ġchaque": 46777, + "ĠBlocks": 46778, + ".rad": 46779, + "ilibrium": 46780, + "Ġwebdriver": 46781, + "Ġmelhor": 46782, + "dana": 46783, + "ĠAbuse": 46784, + "ĠSouthwest": 46785, + "ĠParen": 46786, + "PERTIES": 46787, + "ĉIL": 46788, + "Ġscream": 46789, + "vu": 46790, + "Ġincomes": 46791, + "Ġnim": 46792, + "Ġlace": 46793, + "Ġcompensate": 46794, + "Reverse": 46795, + "Dat": 46796, + "_attack": 46797, + "Ġnour": 46798, + "achen": 46799, + "cek": 46800, + "\"+": 47057, + "Ġtokenizer": 47058, + "Ġsovereignty": 47059, + "ĠPence": 47060, + "()\");Ċ": 47061, + "Ġpessoas": 47062, + ".Ge": 47063, + "ĠIncluded": 47064, + "Ġpagina": 47065, + "Ġexposing": 47066, + "еÑĪ": 47067, + "_SCRIPT": 47068, + "/$',": 47069, + "Thumbnail": 47070, + "×Ķ": 47071, + "webElementX": 47072, + "webElementXpaths": 47073, + "pressure": 47074, + "ĠCurry": 47075, + "_CP": 47076, + "OLUTION": 47077, + "ILES": 47078, + "protect": 47079, + "oola": 47080, + "Workspace": 47081, + "{};Ċ": 47082, + "ĠUNS": 47083, + "Ġsympathy": 47084, + "roker": 47085, + "Ġremodel": 47086, + "ĉcell": 47087, + "Ġatop": 47088, + ".FullName": 47089, + "Ġfaut": 47090, + "ĠEasily": 47091, + "_dynamic": 47092, + "Ġframed": 47093, + "Ġmotive": 47094, + "è·¯": 47095, + "sam": 47096, + "Ġmarca": 47097, + "ĠTextEditingController": 47098, + "Ġdestructor": 47099, + "cream": 47100, + "Ġrude": 47101, + "ĠBold": 47102, + "ĠIndigenous": 47103, + "Ġgens": 47104, + "Ġrelacion": 47105, + "(system": 47106, + "ĠUIFont": 47107, + "_charge": 47108, + "USTER": 47109, + "EV": 47110, + ".Namespace": 47111, + "Ġmerger": 47112, + "Ġcalloc": 47113, + "gang": 47114, + "BadRequest": 47115, + "Ġsper": 47116, + "-design": 47117, + "Ġâĩ": 47118, + "Chan": 47119, + "Ġorganism": 47120, + ",)": 47121, + "=id": 47122, + "_plane": 47123, + "ĠCases": 47124, + "elfast": 47125, + "ĠLegislature": 47126, + "ĠFaker": 47127, + "Ġinvoking": 47128, + "-utils": 47129, + "().'": 47130, + ".face": 47131, + "Ġguardian": 47132, + "myModal": 47133, + "Ġclipboard": 47134, + "ĠATM": 47135, + "Ġpeas": 47136, + "ĠSylv": 47137, + ".calc": 47138, + "ĠContacts": 47139, + "intValue": 47140, + "Ġmodifying": 47141, + "ĠBarb": 47142, + ".loss": 47143, + "_percentage": 47144, + "Asked": 47145, + "(lst": 47146, + "ategorical": 47147, + "-files": 47148, + "ĠRomania": 47149, + ".Ac": 47150, + "Ġhai": 47151, + "ĠFlying": 47152, + "Ġż": 47153, + "jp": 47154, + "ĠTrainer": 47155, + ".arc": 47156, + "_deg": 47157, + "Ġtraceback": 47158, + "OrFail": 47159, + "FLOW": 47160, + ".old": 47161, + "oya": 47162, + "gmt": 47163, + "isempty": 47164, + "Ġvaccination": 47165, + "Ġobsolete": 47166, + "recognized": 47167, + "Ġruined": 47168, + "ĠRein": 47169, + "ĠTracking": 47170, + "xfb": 47171, + "اÛĮ": 47172, + "Ġvære": 47173, + "Ġbryster": 47174, + "ĠITS": 47175, + "Ġdestiny": 47176, + "Ġswear": 47177, + "Ġredes": 47178, + "Ġclf": 47179, + "Ġflipped": 47180, + "ĉhead": 47181, + "Bluetooth": 47182, + "ĠOverrides": 47183, + ":Boolean": 47184, + "_=": 47185, + "_lr": 47186, + "spawn": 47187, + ":index": 47188, + "VALUES": 47189, + "iskey": 47190, + "?\");Ċ": 47191, + ".synthetic": 47192, + "ĠChecking": 47193, + "structures": 47194, + "iping": 47195, + "Ġvocals": 47196, + "-Up": 47197, + "ĠManufacturers": 47198, + "ĠMarriage": 47199, + "代çłģ": 47200, + "Ġgarner": 47201, + "_Client": 47202, + "parallel": 47203, + "RIEND": 47204, + "Ġvinegar": 47205, + "segue": 47206, + "JB": 47207, + "Ġcontacting": 47208, + "ĠCarroll": 47209, + "Ġoutreach": 47210, + "tensor": 47211, + "_variant": 47212, + "Ġtheat": 47213, + "licable": 47214, + "{|": 47215, + "tiny": 47216, + "_letter": 47217, + "Ġpencil": 47218, + "HeadersHeightSizeMode": 47219, + "iltro": 47220, + ".autoconfigure": 47221, + ".drag": 47222, + ".useState": 47223, + "ĠBMI": 47224, + "hint": 47225, + "Compile": 47226, + "*\\": 47227, + "enary": 47228, + "Ġlvl": 47229, + ".Cache": 47230, + "+=\"": 47231, + "_tv": 47232, + "ruitment": 47233, + "Ġfread": 47234, + "Articles": 47235, + "fila": 47236, + "Ġpackaged": 47237, + "âĺĨ": 47238, + "ATHER": 47239, + "ĠPlanned": 47240, + "scheme": 47241, + "Ġdiary": 47242, + "Ġoffenses": 47243, + "/F": 47560, + "ĠStick": 47561, + "Ġcerc": 47562, + "ĠSlee": 47563, + "ĉĉĠĠĠĠĠĠĠĠ": 47564, + "": 47739, + "ĉcol": 47740, + "VG": 47741, + "_boolean": 47742, + "recent": 47743, + "Ġ*)ĊĊ": 47744, + "ĠRainbow": 47745, + "ommen": 47746, + "Ġlur": 47747, + "Ġoppression": 47748, + "(\",\");Ċ": 47749, + "ĠFacility": 47750, + "DEFINED": 47751, + "Ġneon": 47752, + "Ġoffender": 47753, + "AFP": 47754, + "ĠCleaning": 47755, + "[]):": 47756, + "Ġundocumented": 47757, + ".Repositories": 47758, + "ĠGuitar": 47759, + "аÑģÑģив": 47760, + "Skills": 47761, + "Ġtestimon": 47762, + "ryptography": 47763, + "ĠAmber": 47764, + "ĠStalin": 47765, + "Ġlone": 47766, + "Ġapenas": 47767, + "Ġdieses": 47768, + "ĠArduino": 47769, + "转": 47770, + "==-": 47771, + "_Act": 47772, + "Ġcoded": 47773, + "âĸł": 47774, + "amburger": 47775, + "-links": 47776, + "Ġarmour": 47777, + ".High": 47778, + "getContent": 47779, + "stag": 47780, + "Ġheck": 47781, + "ĠìĹĨ": 47782, + "ĠMcConnell": 47783, + "ĠConcert": 47784, + "ĠAlloc": 47785, + "äre": 47786, + ".replaceAll": 47787, + "Ġpartitions": 47788, + "rott": 47789, + "ĠFle": 47790, + "_TREE": 47791, + "reasonable": 47792, + "ĠReporting": 47793, + "Ġbillionaire": 47794, + "scores": 47795, + "mins": 47796, + "-eye": 47797, + "MORE": 47798, + "abort": 47799, + "ĠSWT": 47800, + "Ġinverted": 47801, + "ĠTeachers": 47802, + ";n": 47803, + "Ġastro": 47804, + "нов": 47805, + "аниÑĨ": 47806, + "producto": 47807, + "countries": 47808, + "ĠOwen": 47809, + "Ġcontamination": 47810, + "Ġvibe": 47811, + "ĠElli": 47812, + ".script": 47813, + "ĠOlive": 47814, + "DMA": 47815, + "vier": 47816, + ":semicolon": 47817, + "-module": 47818, + "gressive": 47819, + "agu": 47820, + "_players": 47821, + "Ġresultados": 47822, + "started": 47823, + "scrollTop": 47824, + "=====": 47825, + "Ġweighing": 47826, + "Ġ[[[": 47827, + "zahl": 47828, + "(NS": 47829, + "ĠAssertion": 47830, + "league": 47831, + ".setTextColor": 47832, + "ĉMessage": 47833, + "Ġmoms": 47834, + "_AF": 47835, + ".wh": 47836, + "ALS": 47837, + "Ġautre": 47838, + "]ĊĊĊĊ": 47839, + ".opacity": 47840, + "ĠBuddhist": 47841, + "Ġdeaf": 47842, + "ĠOrganisation": 47843, + "(Global": 47844, + "ensch": 47845, + "Ġheadache": 47846, + "ĠAlien": 47847, + "_inode": 47848, + "ĠStark": 47849, + "Ġæī": 47850, + "-lnd": 47851, + "oref": 47852, + "_feat": 47853, + "Ġpedestrian": 47854, + "Ġnominal": 47855, + "Ġballoon": 47856, + "Ġsprites": 47857, + "PrototypeOf": 47858, + "ĠApost": 47859, + "ĠFEATURE": 47860, + "OH": 47861, + "Ġrecess": 47862, + "ĠDonna": 47863, + "consumer": 47864, + "$GLOBALS": 47865, + "ĠGIF": 47866, + "-frame": 47867, + "Inicio": 47868, + "Ġpassages": 47869, + "DateString": 47870, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 47871, + ".byte": 47872, + "Bug": 47873, + "initializer": 47874, + "pkt": 47875, + "odium": 47876, + "ĠDER": 47877, + ".ops": 47878, + "leri": 47879, + "Ġgifted": 47880, + "Ġdetach": 47881, + "terrain": 47882, + "elters": 47883, + "ãģı": 47884, + ".loader": 47885, + "ĠNGO": 47886, + "strncmp": 47887, + "Kh": 47888, + "(fontSize": 47889, + "rocket": 47890, + "Ġprecedent": 47891, + "ĠAurora": 47892, + "ĠExperiment": 47893, + "isphere": 47894, + "Encoded": 47895, + "ĠâĢĵĊĊ": 47896, + "Ġpyramid": 47897, + "ĠAnniversary": 47898, + "ofil": 47899, + "ëŁ": 47900, + "(plugin": 47901, + "Coeff": 47902, + "Ġcooperate": 47903, + "Ġpredominantly": 47904, + "ISM": 47905, + "Phrase": 47906, + "_DEFINE": 47907, + "Flip": 47908, + "AMILY": 47909, + "ĠMarkets": 47910, + "ĠStreamReader": 47911, + "ĠCombine": 47912, + "Ġmanuscript": 47913, + "zza": 47914, + ",tp": 47915, + "Whatever": 47916, + "ITICAL": 47917, + "ighbour": 47918, + "DataProvider": 47919, + ".Texture": 47920, + "privacy": 47921, + ".SDK": 47922, + "Ġrecharge": 47923, + "Ġcpp": 47924, + "ĠCFG": 47925, + "(holder": 47926, + "(py": 47927, + "mot": 47928, + "Ġsavoir": 47929, + "ĠRosa": 47930, + "ĠPCs": 47931, + "ĠíĻ": 47932, + ".heroku": 47933, + "Ġfren": 47934, + "ĠRiley": 47935, + "agate": 47936, + "Ġsond": 47937, + ".xlsx": 47938, + "Ġhacked": 47939, + "stad": 47940, + "Gi": 47941, + "Ġsanity": 47942, + "ĠSqlDataAdapter": 47943, + "...\",": 47944, + "ĠPussy": 47945, + "Ġ****************": 47946, + "Ġhassle": 47947, + "_PARENT": 47948, + "ĠUAE": 47949, + "Ġbeginners": 47950, + "(Client": 47951, + "Ġstatistically": 47952, + ".hour": 47953, + "edelta": 47954, + "Ġtraction": 47955, + "uelve": 47956, + "arat": 47957, + "Ġsauna": 47958, + "INVALID": 47959, + "Ġindictment": 47960, + "ALLE": 47961, + "Ġdissent": 47962, + "ĠTypography": 47963, + "Ġintentional": 47964, + "sit": 47965, + "ĠAnimals": 47966, + "Ġcountryside": 47967, + "Ġuart": 47968, + "}\\\"": 47969, + "Ġseamless": 47970, + "¾ç¤º": 47971, + "Ġautos": 47972, + "Ġ\"'\";Ċ": 47973, + "Flush": 47974, + "ANNOT": 47975, + "Ġalgebra": 47976, + "assoc": 47977, + "ĠWaters": 47978, + "Ġpreparations": 47979, + "ronym": 47980, + "[,]": 47981, + "Sans": 47982, + "Ġarmies": 47983, + "ipeg": 47984, + "Ġcreamy": 47985, + ".art": 47986, + "etre": 47987, + "ĠAnimated": 47988, + "Ġunpleasant": 47989, + "emean": 47990, + "great": 47991, + "iÄħ": 47992, + "ĠEarlier": 47993, + "Ġchic": 47994, + "Ġpreserving": 47995, + "(exec": 47996, + "ĠInvestigation": 47997, + "ĉGPIO": 47998, + "Ġrigorous": 47999, + "ijo": 48000, + "=num": 48001, + "ĠtoolStrip": 48002, + ")set": 48003, + "+\"&": 48004, + "ĠAcceler": 48005, + "Ġdevelopmental": 48006, + "isposable": 48007, + "Ġflawed": 48008, + "rene": 48009, + "Updating": 48010, + "Ġwatchdog": 48011, + "Ġdenominator": 48012, + "Ġsuburbs": 48013, + "Ġ...)": 48014, + "Ġconvictions": 48015, + "closure": 48016, + ".IP": 48017, + "Ġtranslates": 48018, + ".swt": 48019, + ".Trace": 48020, + "Ġmettre": 48021, + ".isEnabled": 48022, + "ĠEffective": 48023, + ".toInt": 48024, + "Ġenchant": 48025, + "Ġstunned": 48026, + "Ġpoi": 48027, + "/code": 48028, + "adm": 48029, + ".databinding": 48030, + "ĠLorem": 48031, + "________________________________________________________________": 48032, + "Ġledger": 48033, + "Ġcara": 48034, + "ĠGir": 48035, + "Ġwaits": 48036, + "Uno": 48037, + "Ġcwd": 48038, + "è¾ij": 48039, + "ĠTResult": 48040, + "Ġrejo": 48041, + "Ġemitted": 48042, + "ĠWestminster": 48043, + "ä¸Ģ个": 48044, + "nek": 48045, + "_Tis": 48046, + "Ġenact": 48047, + "ĉwith": 48048, + "orgia": 48049, + "Ġjue": 48050, + "Perform": 48051, + "SPATH": 48052, + ".topic": 48053, + "ĠDaten": 48054, + "ầ": 48055, + "Ġsitio": 48056, + "_MM": 48057, + "\"So": 48058, + "bial": 48059, + "Ġscoped": 48060, + "Requires": 48061, + "ĠTOTAL": 48062, + "ĠChancellor": 48063, + "(contents": 48064, + "Ġstealth": 48065, + "devices": 48066, + "-pass": 48067, + "ilih": 48068, + "ĠMalcolm": 48069, + "ĠDepot": 48070, + "Ġconfigur": 48071, + "aussian": 48072, + "_constraint": 48073, + "веÑĤ": 48074, + "GRA": 48075, + "ĠRates": 48076, + ".dataGridViewTextBoxColumn": 48077, + "ĠNobel": 48078, + "itics": 48079, + "Ġignorant": 48080, + "ĠReporter": 48081, + "ĠEbola": 48082, + "ĠShock": 48083, + "_relation": 48084, + "ĠNinja": 48085, + ")c": 48086, + "Ġticker": 48087, + ".isChecked": 48088, + "ĠSuppliers": 48089, + "ĠRapid": 48090, + "Levels": 48091, + "âĤ¬âĦ¢": 48092, + "ĉqueue": 48093, + "Ġchop": 48094, + "ĠUnix": 48095, + "reject": 48096, + "-calendar": 48097, + "(sort": 48098, + "ène": 48099, + "ercicio": 48100, + "Ġhect": 48101, + "CALLTYPE": 48102, + "roupon": 48103, + "Ġrentals": 48104, + "authors": 48105, + "{name": 48106, + "ĠFIFO": 48107, + "Ġlassen": 48108, + "ĠNous": 48109, + "Ġsnapped": 48110, + "Ġfertility": 48111, + "\"log": 48112, + "clicked": 48113, + "Ġplanting": 48114, + "Ġgb": 48115, + "/output": 48116, + "PEAT": 48117, + "Ġcategoria": 48118, + "Ġbach": 48119, + "Professor": 48120, + "inth": 48121, + "\"]čĊ": 48122, + "Recorder": 48123, + "serde": 48124, + "ĠTransmission": 48125, + "trad": 48126, + "Ġturbo": 48127, + "_VERTEX": 48128, + "\\Event": 48129, + "ilver": 48130, + "Ġbodily": 48131, + "ĠSources": 48132, + "Ġkillings": 48133, + ".xrTableCell": 48134, + "Ġfolded": 48135, + "/legal": 48136, + "uner": 48137, + "ĠRifle": 48138, + "ĠMIDI": 48139, + "_SelectedIndexChanged": 48140, + ".SizeType": 48141, + "ĠWebSocket": 48142, + "Ġseleccion": 48143, + "Sand": 48144, + "otros": 48145, + "Ġenvision": 48146, + "/etc": 48147, + "ĠMelissa": 48148, + "Spot": 48149, + "ное": 48150, + "_ARM": 48151, + "Attempt": 48152, + "ĠBI": 48153, + "ãģĶ": 48154, + "ĠDU": 48155, + "Ġbacklash": 48156, + "stride": 48157, + "/classes": 48158, + "ĠtextColor": 48159, + "_staff": 48160, + "oblin": 48161, + "agenta": 48162, + ".collections": 48163, + "illage": 48164, + "'čĊčĊ": 48165, + "flatten": 48166, + "_sales": 48167, + "_MASTER": 48168, + "TW": 48169, + "_da": 48170, + "Pitch": 48171, + "phies": 48172, + "Ġzombies": 48173, + "ĠVERY": 48174, + "ĠPharmacy": 48175, + "ĠprogressBar": 48176, + "Ġhashtag": 48177, + "Sidebar": 48178, + "@stop": 48179, + "(pc": 48180, + "олж": 48181, + "MAKE": 48182, + "ĠCoron": 48183, + "Ġkvinner": 48184, + "ĠMaid": 48185, + "bob": 48186, + ".titleLabel": 48187, + "Ġsuccesses": 48188, + "ĠDemocracy": 48189, + "ĠSurgery": 48190, + "Ġcougar": 48191, + "Ġcurso": 48192, + "Ġloro": 48193, + "istency": 48194, + "Senior": 48195, + "æk": 48196, + "ĠAAA": 48197, + "ĠBOOK": 48198, + "ко": 48199, + "WSTR": 48200, + "Ġ*/,Ċ": 48201, + "oyal": 48202, + ".vector": 48203, + "ĠSPEC": 48204, + "SSF": 48205, + "Ġcompuls": 48206, + "ĠAppeals": 48207, + "ĠWinston": 48208, + "ĠMockito": 48209, + "contrib": 48210, + ".available": 48211, + "entityManager": 48212, + "arias": 48213, + "_sale": 48214, + "_rs": 48215, + "Ġdecoding": 48216, + "Ġlocator": 48217, + "olith": 48218, + "Ġkol": 48219, + "Ġascii": 48220, + "ĠRut": 48221, + "/interface": 48222, + "ĉĉĉĉĉĉĠĠĠ": 48223, + "ĠNumer": 48224, + ".flip": 48225, + "-del": 48226, + "Ġbolster": 48227, + "onomic": 48228, + "Ġzm": 48229, + "LG": 48230, + "FindBy": 48231, + "Ġadaptive": 48232, + "loo": 48233, + "Ġvue": 48234, + "(reverse": 48235, + "_canvas": 48236, + ".roles": 48237, + "ificado": 48238, + "venient": 48239, + "\"As": 48240, + "ĠEntr": 48241, + "aligned": 48242, + "Ġbereits": 48243, + "///ĊĊ": 48244, + ".gwt": 48245, + ".employee": 48246, + "_cli": 48247, + "Ġanticipate": 48248, + "éĻIJ": 48249, + "Ġpik": 48250, + "Ġmushrooms": 48251, + "(tt": 48252, + "Ġoma": 48253, + "ĠSanchez": 48254, + "_google": 48255, + ".Valid": 48256, + "ĠFileName": 48257, + "ivative": 48258, + "ked": 48259, + "-war": 48260, + "Ġmaturity": 48261, + "ид": 48262, + "Ġminer": 48263, + "Reducers": 48264, + "ĠLatLng": 48265, + "_STD": 48266, + "Digits": 48267, + "Calc": 48268, + "-upload": 48269, + "Ġhandic": 48270, + "ีà¹Ī": 48271, + "egrated": 48272, + "ĠSTM": 48273, + "Clients": 48274, + "ĠTurbo": 48275, + "SYNC": 48276, + "Ġphotographers": 48277, + ".Out": 48278, + ".character": 48279, + "BUILD": 48280, + ".unlock": 48281, + "Ġarises": 48282, + "ĠCommands": 48283, + "(\"\");čĊ": 48284, + "_FORE": 48285, + ";',": 48286, + "+\"'": 48287, + ".Images": 48288, + "\"){": 48289, + "ĠMeyer": 48290, + "Ġnegatively": 48291, + "ĠDLL": 48292, + "Ġexe": 48293, + "Ġdeficiency": 48294, + "Ġwildly": 48295, + "-switch": 48296, + "construction": 48297, + "Ġexceptionally": 48298, + "ĠLiz": 48299, + "/java": 48300, + "Ġtheirs": 48301, + "ĠContemporary": 48302, + "lis": 48303, + ".fillRect": 48304, + "ĠNFC": 48305, + "Ġrehe": 48306, + "(numbers": 48307, + "Ġraster": 48308, + "Ġfiguring": 48309, + "Ġshowc": 48310, + "ĠJill": 48311, + "Ġarcade": 48312, + "ĠConstructs": 48313, + "mdl": 48314, + "('|": 48315, + "Ġidentifiers": 48316, + "Ġstellar": 48317, + "(Connection": 48318, + "Ġ\"{{": 48319, + "yor": 48320, + "(mysqli": 48321, + "Ġdove": 48322, + "OfBirth": 48323, + ".disconnect": 48324, + "_hi": 48325, + "Ġzwischen": 48326, + "ĠGrund": 48327, + "iros": 48328, + "_Array": 48329, + ".onclick": 48330, + "ansom": 48331, + "Answers": 48332, + "ĉremove": 48333, + "Fa": 48334, + "Ġhurry": 48335, + "-inf": 48336, + "ĠgetClass": 48337, + "ĠRegulation": 48338, + "ĠFLAGS": 48339, + "misc": 48340, + "Ken": 48341, + "_heading": 48342, + "GHz": 48343, + "-entry": 48344, + "Ġbiography": 48345, + "Sig": 48346, + "-mf": 48347, + "Watcher": 48348, + "âĢľA": 48349, + "}px": 48350, + "Ġspicy": 48351, + "_sq": 48352, + "Lost": 48353, + "(track": 48354, + "али": 48355, + "Descending": 48356, + "((": 48553, + "survey": 48554, + "Ġíĺ": 48555, + "...')Ċ": 48556, + "ĠDivider": 48557, + "osl": 48558, + "_CANCEL": 48559, + "_prepare": 48560, + "stin": 48561, + "ĠHeath": 48562, + ".PrimaryKey": 48563, + "ĠâĨIJ": 48564, + "ĠLocalDateTime": 48565, + "Ġcooperative": 48566, + "Learning": 48567, + ".enqueue": 48568, + "Ġgoog": 48569, + "ĠRegression": 48570, + "imates": 48571, + "Ġvoyeur": 48572, + "ĠDrink": 48573, + "plug": 48574, + "Ġlender": 48575, + "mana": 48576, + "Ġpersonnes": 48577, + "ypse": 48578, + "Ġunlink": 48579, + "ĠRavens": 48580, + "Ġhurd": 48581, + "Ġperiodically": 48582, + "ARGS": 48583, + "ĠGH": 48584, + "characters": 48585, + "...\"ĊĊ": 48586, + "-establish": 48587, + "Ġdn": 48588, + "(condition": 48589, + "ĠGravity": 48590, + "Ġestas": 48591, + "_focus": 48592, + "Creature": 48593, + "(site": 48594, + "Ġcarr": 48595, + "ĠRL": 48596, + "ĠRI": 48597, + "ĠMoto": 48598, + "ASF": 48599, + "ĠLuckily": 48600, + "ĉRoute": 48601, + "Ġentropy": 48602, + "(\",\"": 48603, + "Collect": 48604, + "(contact": 48605, + "ĠFlorence": 48606, + "Ġpremiums": 48607, + "Ġlifecycle": 48608, + "Ġbans": 48609, + "xef": 48610, + "WebKit": 48611, + "ĠFloating": 48612, + "Ġcosa": 48613, + "Specific": 48614, + "ĠLoans": 48615, + "bread": 48616, + "Ġdescriptors": 48617, + "Ġ{:.": 48618, + "THREAD": 48619, + "ĠTrent": 48620, + "Ġscop": 48621, + "QA": 48622, + "ĠAntar": 48623, + "pel": 48624, + "_difference": 48625, + "_changes": 48626, + "(...)": 48627, + "ĠRotation": 48628, + "ĠLGPL": 48629, + "ĠJUST": 48630, + "(Task": 48631, + "_subset": 48632, + "ĠTRANS": 48633, + "åĬĽ": 48634, + "ĠScout": 48635, + "-popup": 48636, + "Ġsmoked": 48637, + "_Class": 48638, + "Ġturnover": 48639, + "brakk": 48640, + "ĠRocky": 48641, + "tas": 48642, + ".RegularExpressions": 48643, + "ĠElliott": 48644, + "ĠSpinner": 48645, + "DUCTION": 48646, + "Ġlibre": 48647, + "Ġmolto": 48648, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 48649, + "ĠFTP": 48650, + "mpeg": 48651, + "(features": 48652, + "Ġbald": 48653, + "ĠVid": 48654, + "Ġshouting": 48655, + "Lint": 48656, + "Ġsockets": 48657, + "Ġprow": 48658, + "Ġnouvelle": 48659, + "iscard": 48660, + "ĠSponsor": 48661, + "Ġconsulta": 48662, + ")));": 48663, + "Indian": 48664, + "ĠRaspberry": 48665, + "Ġteammate": 48666, + "ĠJWT": 48667, + "ĠGhana": 48668, + "Ġcakes": 48669, + "primer": 48670, + "forma": 48671, + "ergarten": 48672, + "_Manager": 48673, + "Ġpreseason": 48674, + "GAME": 48675, + "|\"": 48676, + "ĠBrock": 48677, + "Ġoccupy": 48678, + "Ġdecorations": 48679, + "ánd": 48680, + "Ġcot": 48681, + "Ġparan": 48682, + "Disk": 48683, + "remain": 48684, + ">?": 48685, + "Strong": 48686, + "Ġfrance": 48687, + "ĠEra": 48688, + "-cr": 48689, + ".BufferedReader": 48690, + "ĠParadise": 48691, + "ĠVAT": 48692, + "ĠAnders": 48693, + "Ġlimb": 48694, + "ampoo": 48695, + "Ġimperative": 48696, + "UTILITY": 48697, + "ĠRecognition": 48698, + "Ġragazze": 48699, + "Ġpops": 48700, + "ypress": 48701, + "Ġembargo": 48702, + "//{Ċ": 48703, + "Ġsyll": 48704, + "PTR": 48705, + "åŃĺåľ¨": 48706, + "Ġdidnt": 48707, + "Mailer": 48708, + "Ġacademics": 48709, + "ĠFrauen": 48710, + "neider": 48711, + "-rel": 48712, + "Ġrainbow": 48713, + "(In": 48714, + "Ġsliced": 48715, + "=============Ċ": 48716, + "(send": 48717, + "NSMutableDictionary": 48718, + "vos": 48719, + "(package": 48720, + "Ġordinance": 48721, + "viewer": 48722, + "ĠSantos": 48723, + "-selling": 48724, + "Ġgov": 48725, + "ettle": 48726, + "Ġfounders": 48727, + "Ġwaking": 48728, + "slashes": 48729, + "-pound": 48730, + "recht": 48731, + "ات": 48732, + ".onClick": 48733, + "Ġnord": 48734, + "ständ": 48735, + "_when": 48736, + "UTERS": 48737, + "icc": 48738, + "Ġcapsule": 48739, + "ĠWid": 48740, + "Marc": 48741, + "ุ": 48742, + "rored": 48743, + "UGE": 48744, + "LOUD": 48745, + "ĠAudit": 48746, + "ipients": 48747, + "opian": 48748, + "ĠSue": 48749, + "Ġwurden": 48750, + ".Helpers": 48751, + "Ġfactions": 48752, + "[np": 48753, + "-than": 48754, + "Ġreco": 48755, + "Ġkas": 48756, + "Ġcmds": 48757, + "/network": 48758, + "xbf": 48759, + "getColor": 48760, + "Ġbiased": 48761, + "ĠLak": 48762, + "Datas": 48763, + "vents": 48764, + "Ġë²": 48765, + "_PS": 48766, + ".Validate": 48767, + "Invoker": 48768, + "Ġneuen": 48769, + "Ġjuvenile": 48770, + "VISION": 48771, + "Ġdevote": 48772, + "Ġlinha": 48773, + "Ġdiscounted": 48774, + "\\Config": 48775, + "Ġworthwhile": 48776, + "Ġskinny": 48777, + "ĠCourses": 48778, + "leys": 48779, + "ĠMortgage": 48780, + "Kevin": 48781, + "Ġannounces": 48782, + "])*": 48783, + "reservation": 48784, + "Ġæķ°": 48785, + "Ġprejudice": 48786, + "ĠStringComparison": 48787, + "Ġbeard": 48788, + "-win": 48789, + "ĠSão": 48790, + "ĉms": 48791, + "jal": 48792, + "ĠEarn": 48793, + "_ports": 48794, + "ĠNombre": 48795, + "_COR": 48796, + "ĠBUILD": 48797, + ".sound": 48798, + "Yellow": 48799, + "Ġlinebacker": 48800, + "Ġcharitable": 48801, + "jug": 48802, + "_NONNULL": 48803, + "ĠDental": 48804, + "\">${": 48805, + "ĉmatch": 48806, + "Russian": 48807, + "Ġversch": 48808, + "Ġpinned": 48809, + "Ġadopting": 48810, + "OptionsMenu": 48811, + "Pag": 48812, + "Ġpairing": 48813, + "Ġtread": 48814, + "ercises": 48815, + "ĠSpread": 48816, + ")i": 48817, + "ĠBAD": 48818, + "_tf": 48819, + "UIImageView": 48820, + "populate": 48821, + "bab": 48822, + "ĠÏĥ": 48823, + "[++": 48824, + "Ġopioid": 48825, + "Ġ##Ċ": 48826, + "dtype": 48827, + "ĠStarts": 48828, + "('/')": 48829, + "Ġpersonals": 48830, + "-market": 48831, + "Ġredundant": 48832, + "ĠEssential": 48833, + "Ġscrapy": 48834, + "Ġим": 48835, + "acl": 48836, + "Ġcrear": 48837, + "ĠBend": 48838, + "Ġrelieve": 48839, + "-room": 48840, + "wife": 48841, + "ĠvÃł": 48842, + "ĠQPoint": 48843, + "Ġquasi": 48844, + "ĠmethodName": 48845, + "\\xc": 48846, + "ĠPeru": 48847, + "/The": 48848, + ".orm": 48849, + "Ġviz": 48850, + "/pdf": 48851, + "Located": 48852, + "Ġconfrontation": 48853, + "ĠChampionships": 48854, + "Ġhypert": 48855, + "Ġdj": 48856, + "ĠUserInfo": 48857, + "ĠåĪĽå»º": 48858, + "\\xb": 48859, + "(sim": 48860, + "Ġ==Ċ": 48861, + "Ġstaging": 48862, + "Ġdrastically": 48863, + "åѦ": 48864, + "lords": 48865, + ".less": 48866, + "ведиÑĤе": 48867, + "ĠBucket": 48868, + "ĠMam": 48869, + ".term": 48870, + "_pi": 48871, + "czy": 48872, + ".pub": 48873, + "precio": 48874, + "ĠVirt": 48875, + "Ġroman": 48876, + "itat": 48877, + "Lex": 48878, + "_infos": 48879, + "İ": 48880, + ".other": 48881, + "VELO": 48882, + "Ġponder": 48883, + "Ġhanno": 48884, + "(Page": 48885, + "doi": 48886, + "Ġpolite": 48887, + "Ġprogrammer": 48888, + "Dies": 48889, + "$d": 48890, + "Ġreplication": 48891, + "addColumn": 48892, + "frican": 48893, + "Ġleng": 48894, + "beer": 48895, + "oit": 48896, + "Ġwasting": 48897, + "ylim": 48898, + "measure": 48899, + "Neg": 48900, + "Ġpartie": 48901, + ".console": 48902, + "ĠGuinea": 48903, + "TEL": 48904, + "_fact": 48905, + ".chunk": 48906, + "Ġlent": 48907, + "Ġaller": 48908, + "Ġà¤ķ": 48909, + "_idle": 48910, + "Ġadmissions": 48911, + "JSONArray": 48912, + "Ġvibration": 48913, + ".helpers": 48914, + "å¤ĸ": 48915, + "Ġhen": 48916, + "john": 48917, + "ĠìĥĿ": 48918, + "Ġjudgement": 48919, + "Ġgeen": 48920, + "terra": 48921, + "^{": 48922, + "ĠIz": 48923, + "Ġcâ": 48924, + "instances": 48925, + "Ġthreatens": 48926, + "Ġmüssen": 48927, + "KindOfClass": 48928, + "Ġstorytelling": 48929, + "_demo": 48930, + "rias": 48931, + "Privacy": 48932, + "hift": 48933, + "ĠYi": 48934, + "esor": 48935, + "íķł": 48936, + "ensitivity": 48937, + ".Writer": 48938, + "à¸Ĥ": 48939, + "District": 48940, + ".getJSONObject": 48941, + "Impro": 48942, + "(getResources": 48943, + "ĠSPELL": 48944, + "roduce": 48945, + "Ġslowed": 48946, + "Ġlinewidth": 48947, + "Ġhonesty": 48948, + "ĠCoord": 48949, + "ĠFork": 48950, + "ĠDispatchQueue": 48951, + "ĠCliff": 48952, + "ĠWiring": 48953, + "_TIMESTAMP": 48954, + "ollah": 48955, + "avoid": 48956, + "++];Ċ": 48957, + "semantic": 48958, + "-css": 48959, + "Ġveto": 48960, + "ĠMerr": 48961, + "Ġlegislators": 48962, + "CEEDED": 48963, + "Ġquestionnaire": 48964, + "ĠPills": 48965, + "Calculate": 48966, + "(core": 48967, + "'e": 48968, + "Ġdislike": 48969, + "ĠPreferences": 48970, + "_EXTERNAL": 48971, + "è°ĥ": 48972, + "Ġdodge": 48973, + "æľįåĬ¡": 48974, + ".names": 48975, + ".drawImage": 48976, + "_prom": 48977, + "uckland": 48978, + "Ġ<$>": 48979, + "ız": 48980, + "/site": 48981, + "项": 48982, + "rophe": 48983, + "Ġcompelled": 48984, + "Ġlaptops": 48985, + "Ġuni": 48986, + "CLOSE": 48987, + "Ġcasualties": 48988, + "ĠUniform": 48989, + "Terminal": 48990, + ".\",\"": 48991, + "DAT": 48992, + "(TreeNode": 48993, + "ĠGandhi": 48994, + "(stmt": 48995, + "AXB": 48996, + "*M": 48997, + "Ġumbrella": 48998, + "animal": 48999, + "Ġgrpc": 49000, + "Ġwhereby": 49001, + "Ġfloats": 49002, + "ĉarg": 49003, + "Ġdbg": 49004, + "Ġexceeding": 49005, + "EventType": 49006, + ".SaveChangesAsync": 49007, + "Ġ{{{": 49008, + "Ġowed": 49009, + "ahrenheit": 49010, + "Ġì§": 49011, + "Ġequipo": 49012, + "urai": 49013, + "Ġidol": 49014, + "]\")Ċ": 49015, + "_major": 49016, + "Ġentirety": 49017, + "ingerprint": 49018, + "ços": 49019, + "/account": 49020, + "ĉright": 49021, + "ursos": 49022, + "ĠEDT": 49023, + "_INSERT": 49024, + "Ġshining": 49025, + "Ġ<:": 49026, + "EdgeInsets": 49027, + "Ġcolonies": 49028, + ".IM": 49029, + "ĉĠĉ": 49030, + "ROAD": 49031, + "CCCC": 49032, + "placing": 49033, + "ĠgetActivity": 49034, + "emacs": 49035, + "'%(": 49036, + ".clicked": 49037, + "ĠThem": 49038, + "isia": 49039, + "Buscar": 49040, + ".rename": 49041, + "Ġoath": 49042, + "Ġafterward": 49043, + "ĠUFO": 49044, + "APS": 49045, + "ĠJacksonville": 49046, + ".some": 49047, + "Confirmed": 49048, + ".scan": 49049, + "igInteger": 49050, + "Decorator": 49051, + "shield": 49052, + "ressive": 49053, + ".did": 49054, + "请è¾ĵåħ¥": 49055, + "Ġshutter": 49056, + "Dam": 49057, + "Ġparenting": 49058, + "eyed": 49059, + "$item": 49060, + "-develop": 49061, + "Ġextracts": 49062, + "Ġdecentralized": 49063, + "ĠElsa": 49064, + "_spin": 49065, + "])+": 49066, + "-initial": 49067, + "Ġmultitude": 49068, + "Ġsensory": 49069, + "ĠMODEL": 49070, + "Ġsafeguard": 49071, + "ì¹": 49072, + "Ġhunters": 49073, + "ĠTiny": 49074, + "INO": 49075, + "decorate": 49076, + "ĠNoSuch": 49077, + "Ho": 49078, + "(Response": 49079, + "Ġruler": 49080, + "ĉshort": 49081, + "Ġcaster": 49082, + "ĠclientId": 49083, + "Ġpdb": 49084, + "ëıĦ": 49085, + "itic": 49086, + "ĠGameState": 49087, + "ĠnewItem": 49088, + ")ĊĊĊĊĊĊ": 49089, + "ouis": 49090, + "noc": 49091, + ".BLACK": 49092, + "_VECTOR": 49093, + "----------();": 49381, + ".getP": 49382, + "anye": 49383, + "Ġneuron": 49384, + "ifold": 49385, + "ĠKnown": 49386, + "Bitcoin": 49387, + "Anyway": 49388, + "ayette": 49389, + "Ġ'['": 49390, + "Ãłnh": 49391, + "mgr": 49392, + "Ġcorrelated": 49393, + "Ġnause": 49394, + "Ġmentality": 49395, + "hasMany": 49396, + "ĠFG": 49397, + "ampie": 49398, + "ITU": 49399, + "Fs": 49400, + ".Sp": 49401, + "_between": 49402, + "Dependencies": 49403, + "oug": 49404, + "Placeholder": 49405, + "=text": 49406, + "ĠManaging": 49407, + "ocalypse": 49408, + "åĮĹ": 49409, + "_mag": 49410, + "fld": 49411, + "âij": 49412, + "CAM": 49413, + "ĠHelpers": 49414, + "Ġdost": 49415, + "/out": 49416, + "Ġassassination": 49417, + ".getImage": 49418, + "ĠKenny": 49419, + ".')ĊĊ": 49420, + "){//": 49421, + "ĠRanger": 49422, + "Ġgek": 49423, + "Ġsincere": 49424, + "čĊ": 49627, + ".getResources": 49628, + "Ġlump": 49629, + "_consts": 49630, + "(ext": 49631, + "ĉdir": 49632, + "âĿ": 49633, + "ĠpaddingTop": 49634, + "Ġobsession": 49635, + "Ġbanning": 49636, + "ĠAppModule": 49637, + "Ġpartisan": 49638, + "Ġcatalogue": 49639, + "Ġminors": 49640, + "Ġpitches": 49641, + "weep": 49642, + "Ġundertake": 49643, + "Ġthemed": 49644, + "audit": 49645, + ".scrollTop": 49646, + "Ġrer": 49647, + "Ġsymptom": 49648, + "Ġopenings": 49649, + ".blocks": 49650, + "openid": 49651, + "Ġassh": 49652, + "-save": 49653, + "ĠPig": 49654, + "Ġregain": 49655, + "Ġinicial": 49656, + "/favicon": 49657, + "ĉexp": 49658, + "Ġspices": 49659, + "iska": 49660, + "claims": 49661, + "mak": 49662, + "definitions": 49663, + "Ġcorrespondent": 49664, + "ĠCannabis": 49665, + "__,Ċ": 49666, + "ĠLucky": 49667, + "ĠGaussian": 49668, + "ĠNearly": 49669, + "CAD": 49670, + "']]Ċ": 49671, + "Ġadequately": 49672, + "ĠTITLE": 49673, + "constitutional": 49674, + "-mm": 49675, + "_override": 49676, + "Ġblas": 49677, + ".readyState": 49678, + "Ġreminis": 49679, + "Ġreinforced": 49680, + "ĠCollabor": 49681, + "Ġdecorating": 49682, + "Ġbachelor": 49683, + "ERRUPT": 49684, + "Ġupright": 49685, + "ipation": 49686, + "ĠNoble": 49687, + "ĠvalueForKey": 49688, + "ĠsetLoading": 49689, + ".Ignore": 49690, + "åģ": 49691, + "Globals": 49692, + "ĠMent": 49693, + "ASSES": 49694, + "Ġlimbs": 49695, + "ĠHUD": 49696, + "inci": 49697, + ".iv": 49698, + "ĠQModelIndex": 49699, + "Fuse": 49700, + "Ġpedal": 49701, + "_FREQ": 49702, + "(verbose": 49703, + "Ġlongitud": 49704, + "ĠCharter": 49705, + "ê·¸": 49706, + "Ġbundles": 49707, + ".ignore": 49708, + "umbo": 49709, + "EMA": 49710, + ".......": 49711, + "sx": 49712, + ".Card": 49713, + "Ġheute": 49714, + "Ġsteer": 49715, + "jumlah": 49716, + "Ġ{_": 49717, + "_Checked": 49718, + "Ġfax": 49719, + "ĠGust": 49720, + "itchens": 49721, + "Ġ))ĊĊ": 49722, + "Ġremarkably": 49723, + "/XML": 49724, + "-remove": 49725, + "_bt": 49726, + "Ġincub": 49727, + ".package": 49728, + ".currentThread": 49729, + "ĠHighlander": 49730, + ".side": 49731, + "splash": 49732, + "Ġici": 49733, + "=D": 49734, + "Ġpuck": 49735, + "Ġballots": 49736, + "Ġhugely": 49737, + "coeff": 49738, + "ĠpData": 49739, + ".COLUMN": 49740, + "ĠHealing": 49741, + "Ġordin": 49742, + "!),": 49743, + "Ġ'',čĊ": 49744, + "(md": 49745, + "ĠSask": 49746, + "čĊ": 49768, + "Ġrá": 49769, + "Ġblunt": 49770, + "ĠImageIcon": 49771, + "ifik": 49772, + "RTC": 49773, + "Ġfibers": 49774, + "Ġtoile": 49775, + ".sent": 49776, + "ĠPyQt": 49777, + "$app": 49778, + "Ġmedio": 49779, + "Ġgranting": 49780, + "Ġtslint": 49781, + "ĠMö": 49782, + "(figsize": 49783, + "Ġhurricane": 49784, + "Ġlifes": 49785, + "ĠÃĦ": 49786, + "rocessing": 49787, + "_standard": 49788, + "-option": 49789, + "')))": 49790, + "Ġvacant": 49791, + "å·¥": 49792, + "ĠHollow": 49793, + "handleChange": 49794, + "Ġdivider": 49795, + "ĠEngineers": 49796, + "Ġsvens": 49797, + "Ġcompliant": 49798, + "tanggal": 49799, + "ĠCredits": 49800, + "ĠEmirates": 49801, + "RuleContext": 49802, + "Ġrealization": 49803, + "Ġdistracted": 49804, + "]+=": 49805, + "Ġaugment": 49806, + "ĠDw": 49807, + "otp": 49808, + "orrent": 49809, + "Editar": 49810, + ".stock": 49811, + "Study": 49812, + "pections": 49813, + "ĠGameManager": 49814, + "=cut": 49815, + "Ġflock": 49816, + "ĠRomans": 49817, + "them": 49818, + "-hop": 49819, + "Ġscreenshots": 49820, + "Ġ/*!Ċ": 49821, + "Ġconversions": 49822, + "Ġnormalization": 49823, + "(configuration": 49824, + "Ġaeros": 49825, + "_security": 49826, + "!'Ċ": 49827, + "Bonus": 49828, + "ĠDRIVER": 49829, + "ĉDate": 49830, + "tie": 49831, + "ĠWyoming": 49832, + "Stand": 49833, + "itre": 49834, + "Ġshoppers": 49835, + "Ġdisadvantage": 49836, + "Ġliking": 49837, + "ç¬ij": 49838, + "Ġunderstandable": 49839, + "SEE": 49840, + "Ġhoy": 49841, + "Ġninete": 49842, + "Ġconfer": 49843, + "Ġnowrap": 49844, + "ĠVern": 49845, + ",čĊčĊ": 49846, + "imestep": 49847, + "LayoutManager": 49848, + "à·": 49849, + "ĉwait": 49850, + "PLETED": 49851, + "Japan": 49852, + "Ġinduce": 49853, + "Ġå¯": 49854, + "озв": 49855, + "_ENDPOINT": 49856, + ".horizontal": 49857, + "Ġaccelerated": 49858, + "rimon": 49859, + "IVES": 49860, + "Transactions": 49861, + "Lean": 49862, + "ĠSOUR": 49863, + "whether": 49864, + "yg": 49865, + "Ġoid": 49866, + "ĠEntityManager": 49867, + "OUNTRY": 49868, + "Ġfila": 49869, + "OLUMNS": 49870, + "INUE": 49871, + "ĠAnchor": 49872, + "TRAN": 49873, + "woo": 49874, + "blockquote": 49875, + "ĠNurse": 49876, + "ĠCarp": 49877, + "Ġredeem": 49878, + ".try": 49879, + "ĠJP": 49880, + "Ġtimestamps": 49881, + "Ġ?>\"><": 49882, + "ĠREMOVE": 49883, + "ĠStarbucks": 49884, + "Really": 49885, + "Ġflooded": 49886, + ".Callback": 49887, + "DropDown": 49888, + "ipro": 49889, + "Ġtended": 49890, + "lte": 49891, + "Ġproportions": 49892, + "-te": 49893, + "ĠRena": 49894, + "licate": 49895, + "forces": 49896, + ".extra": 49897, + ".authenticate": 49898, + "вод": 49899, + "¡°": 49900, + "ĠforControlEvents": 49901, + "Ġsenha": 49902, + "Ġkein": 49903, + "Ġminist": 49904, + "ĠPreference": 49905, + "ĠTelegraph": 49906, + "Ñĥп": 49907, + "strpos": 49908, + "Ġillnesses": 49909, + "Ġpigs": 49910, + "ĠgetIntent": 49911, + "Sol": 49912, + "Ġ¡": 49913, + "(cpu": 49914, + "[prop": 49915, + "screens": 49916, + "');?>": 49917, + "ĠActs": 49918, + "Ġstrdup": 49919, + "Ġaverages": 49920, + "anal": 49921, + "ĠCasual": 49922, + "GroupBox": 49923, + "ĠHandbook": 49924, + "/comments": 49925, + "Ġnumbered": 49926, + "Ġbroadcasting": 49927, + "çĽij": 49928, + ".nativeElement": 49929, + ".mu": 49930, + "ĠupdatedAt": 49931, + "ĠDoesn": 49932, + ".AC": 49933, + ".coll": 49934, + "Ġrecorder": 49935, + "_sha": 49936, + "Bg": 49937, + "bil": 49938, + "Ġbolts": 49939, + "Ġç¬": 49940, + "Ġimposing": 49941, + "ĠInformationen": 49942, + "_flashdata": 49943, + "economic": 49944, + "Remark": 49945, + "ucas": 49946, + "ĠOfficers": 49947, + "ĠTER": 49948, + "Walk": 49949, + "Ġmercado": 49950, + "_generate": 49951, + "HY": 49952, + "Calling": 49953, + "snap": 49954, + "scriptId": 49955, + ".operation": 49956, + "ĠFlame": 49957, + "liness": 49958, + "Ġrented": 49959, + "_toggle": 49960, + "-changing": 49961, + "ĠTY": 49962, + "'util": 49963, + "EEP": 49964, + "Ġgraphql": 49965, + "ĠUni": 49966, + "Ġimpulse": 49967, + ".Basic": 49968, + "Ġenergies": 49969, + "MARY": 49970, + "ĠMarcel": 49971, + "Ġmortal": 49972, + "Ġfres": 49973, + "mens": 49974, + "motion": 49975, + "Ġsampled": 49976, + "âĢľThat": 49977, + "iday": 49978, + "quipment": 49979, + "getInt": 49980, + "ĠAbsolute": 49981, + ",'\"": 49982, + "uned": 49983, + ".share": 49984, + "Ġ})(": 49985, + "mmm": 49986, + "ĠRising": 49987, + "ä»»": 49988, + "Ġunemployed": 49989, + "xfa": 49990, + ".follow": 49991, + "ĉĉĉĉĠĠĠĠĠĠ": 49992, + "slt": 49993, + ".Phone": 49994, + "Ġknives": 49995, + "Ġeve": 49996, + "onClick": 49997, + "]))čĊ": 49998, + "ĠWitness": 49999, + "ĉNS": 50000, + "ĠEOS": 50001, + "ĠStefan": 50002, + "ĠPriest": 50003, + "âĢĶwhich": 50004, + "GetString": 50005, + ".By": 50006, + "Ġupstairs": 50007, + "Ġdetriment": 50008, + "broken": 50009, + "embro": 50010, + "Ġnicotine": 50011, + "ilion": 50012, + "Ġastonishing": 50013, + "_aff": 50014, + "ĠLesson": 50015, + "Ġaccidental": 50016, + "odor": 50017, + "Ġdecir": 50018, + "ĠnewName": 50019, + "+.": 50020, + "缸": 50021, + "igslist": 50022, + "ĠGithub": 50023, + "Ġsuccessive": 50024, + "racial": 50025, + "Ġenviron": 50026, + "éªĮè¯ģ": 50027, + "Ġredirected": 50028, + "TOTAL": 50029, + "Ġgrabbing": 50030, + "ĠLance": 50031, + "Ġforfe": 50032, + "_CB": 50033, + "å¾®": 50034, + "Elapsed": 50035, + "_way": 50036, + "(DialogInterface": 50037, + "_measure": 50038, + "xbb": 50039, + "Dog": 50040, + "Depart": 50041, + "-src": 50042, + "resolver": 50043, + "withstanding": 50044, + "_shell": 50045, + "ĠLastName": 50046, + "ĠAviation": 50047, + "Ġbeginner": 50048, + "(\"%.": 50049, + "(tool": 50050, + "Ġнов": 50051, + ":init": 50052, + "(API": 50053, + "ĠMorrison": 50054, + "vtColor": 50055, + "Ġstaple": 50056, + "/INFO": 50057, + "Ġsupernatural": 50058, + "Ġsteak": 50059, + "timeline": 50060, + "zzle": 50061, + "\"`ĊĊ": 50062, + "Secondary": 50063, + "ĠNepal": 50064, + ".StringUtils": 50065, + "Ġadam": 50066, + "Ġ(...": 50067, + "Ġsubstitution": 50068, + "Ġboarding": 50069, + "ĠKeyword": 50070, + "ĠAssault": 50071, + "dbcTemplate": 50072, + "ĠorderId": 50073, + "(engine": 50074, + ".assertThat": 50075, + "ĠVenus": 50076, + "Ġhomicide": 50077, + "ĠAval": 50078, + "Ġgutter": 50079, + "ĠSupported": 50080, + "/part": 50081, + "Ġacclaimed": 50082, + "Histor": 50083, + "Ġmeses": 50084, + "über": 50085, + "ĠRenew": 50086, + "Ġgras": 50087, + "ĠEk": 50088, + "Ġinfile": 50089, + "indy": 50090, + ".music": 50091, + ".Scroll": 50092, + "ĠAges": 50093, + "ĠNaruto": 50094, + "ĠGather": 50095, + "Ġconfirming": 50096, + "=(\"": 50097, + "Ġpitched": 50098, + "oley": 50099, + "France": 50100, + "+'\"": 50101, + "$total": 50102, + "Ġonde": 50103, + "Ġditch": 50104, + "_sigma": 50105, + "Ġcontinuity": 50106, + "reward": 50107, + "-load": 50108, + "Ġproceso": 50109, + "Locked": 50110, + "staw": 50111, + "Ġspinal": 50112, + "lazy": 50113, + "!==": 50114, + "jest": 50115, + "Ġdun": 50116, + "ĠRodgers": 50117, + "ĉgrid": 50118, + "Ġlogos": 50119, + "ĠBengal": 50120, + ".super": 50121, + "Provides": 50122, + "Ġnutrient": 50123, + ".Timestamp": 50124, + "IZATION": 50125, + "åĨĮ": 50126, + "Ġfats": 50127, + "ĠXxx": 50128, + "ctica": 50129, + "Targets": 50130, + "Ġcontours": 50131, + "Ġreordered": 50132, + ":Array": 50133, + "Ġtolerate": 50134, + "Vir": 50135, + "Ġterribly": 50136, + "Ġbricks": 50137, + "(&_": 50138, + "hb": 50139, + "Portal": 50140, + "ĠBread": 50141, + ".which": 50142, + "ÂŃt": 50143, + "asInstanceOf": 50144, + "Ġjobject": 50145, + "ĉlength": 50146, + "_MT": 50147, + ";\">čĊ": 50148, + "_EXIST": 50149, + "Ġmaternal": 50150, + "REL": 50151, + "Ġê²½ìļ°": 50152, + "hee": 50153, + "Ġlayouts": 50154, + "ĠLap": 50155, + "aisy": 50156, + "Ġstumbled": 50157, + "ĠUIG": 50158, + "ĠSco": 50159, + "Ġimpaired": 50160, + "RESSED": 50161, + "Ġabuses": 50162, + "VF": 50163, + "ARB": 50164, + ".NAME": 50165, + "rch": 50166, + "primir": 50167, + "_completed": 50168, + "Ġpenny": 50169, + "Chrome": 50170, + "(begin": 50171, + "ernen": 50172, + "-checkbox": 50173, + "PlainOldData": 50174, + "ĠLPC": 50175, + "rade": 50176, + "spir": 50177, + "Ġconceived": 50178, + "Tips": 50179, + "ĠIoT": 50180, + "ĠGan": 50181, + "èģĶ": 50182, + "Ġbiases": 50183, + "Ġconsultants": 50184, + "pled": 50185, + "_ht": 50186, + "associated": 50187, + "],ĊĊ": 50188, + "Ġdelightful": 50189, + "ĠÑĤек": 50190, + "Helvetica": 50191, + "(load": 50192, + "-expand": 50193, + "_WIDGET": 50194, + "toa": 50195, + "ĠAkt": 50196, + "Ġomn": 50197, + "Ġclauses": 50198, + "Intel": 50199, + "*/}Ċ": 50200, + "_registration": 50201, + "ĠoldValue": 50202, + "Ġrestoring": 50203, + "Ġunreal": 50204, + "OVER": 50205, + "ĉĊĉĊĉĊ": 50206, + "ATS": 50207, + "_probe": 50208, + "Ġdivisor": 50209, + ".updateDynamic": 50210, + "å¹³": 50211, + "Produces": 50212, + "stamp": 50213, + ".jboss": 50214, + "ĉtask": 50215, + "!(:": 50216, + "Ġpsychic": 50217, + "@class": 50218, + "Martin": 50219, + "ĠPassed": 50220, + "clarations": 50221, + "hel": 50222, + "аÑĩ": 50223, + "ĉcopy": 50224, + "-bin": 50225, + "zan": 50226, + "igram": 50227, + "াà¦": 50228, + "(sig": 50229, + "ĠCaval": 50230, + "_##": 50231, + "Ġ%=": 50232, + "outlined": 50233, + "ĠAcid": 50234, + "Ġunpredictable": 50235, + "-dashboard": 50236, + "HexString": 50237, + "+c": 50238, + ".Public": 50239, + "ẩ": 50240, + "Ġconveyor": 50241, + "ĠEB": 50242, + "Ġselects": 50243, + "Ġknocking": 50244, + "ĠCec": 50245, + "IBUTES": 50246, + "owaÄĩ": 50247, + "gatsby": 50248, + "*v": 50249, + "entropy": 50250, + "Ġdispatched": 50251, + "Ġcamel": 50252, + "ĠSaturn": 50253, + "Ġoverweight": 50254, + "(phone": 50255, + "parable": 50256, + "%B": 50257, + "_vectors": 50258, + "Ġbrewing": 50259, + "ĠTk": 50260, + "ĠDownloads": 50261, + "ĠSaved": 50262, + ".Price": 50263, + "Ġcurved": 50264, + "ĠParenthood": 50265, + "è¶": 50266, + ".pnl": 50267, + "pletely": 50268, + ".Day": 50269, + "Ġadvertisers": 50270, + "Ġejec": 50271, + "Ġprzed": 50272, + "ë¯": 50273, + "!';Ċ": 50274, + "ĠKush": 50275, + "ĠTAB": 50276, + "Ġquests": 50277, + "Ġcoincidence": 50278, + "ummies": 50279, + "ĠKashmir": 50280, + "ĠEthics": 50281, + "_growth": 50282, + "Ġaktiv": 50283, + "Ġgrouping": 50284, + "å¢ŀ": 50285, + "_truth": 50286, + "åIJ¬": 50287, + "todos": 50288, + "iset": 50289, + "TexCoord": 50290, + "ätt": 50291, + "ĠZur": 50292, + "roys": 50293, + "_MAGIC": 50294, + "Ġbrewery": 50295, + "(State": 50296, + "ĠSMALL": 50297, + "ĠPlants": 50298, + "itbart": 50299, + "eacher": 50300, + "ĠAdelaide": 50301, + "Lu": 50302, + "Ġfick": 50303, + "undles": 50304, + "_loaded": 50305, + "ие": 50306, + "Poll": 50307, + "ritic": 50308, + "ELY": 50309, + "Ġ+'": 50310, + "ĠProfession": 50311, + "Ġstamps": 50312, + "ĠSew": 50313, + "scrollView": 50314, + "Ġcommunist": 50315, + "/problems": 50316, + "}čĊčĊčĊčĊ": 50317, + ",o": 50318, + "Ġudp": 50319, + "Ġobese": 50320, + "approve": 50321, + "ancellation": 50322, + "_Game": 50323, + "ĠHashtable": 50324, + "adaptiveStyles": 50325, + "Ġpossesses": 50326, + ".matcher": 50327, + "functional": 50328, + "Mrs": 50329, + "ĉsave": 50330, + "ĠDbType": 50331, + "Ġken": 50332, + "getContext": 50333, + "Ġmans": 50334, + "(rel": 50335, + "ĠBrotherhood": 50336, + ")`Ċ": 50337, + "è§£": 50338, + ".Information": 50339, + "OutOfRangeException": 50340, + "ĠSek": 50341, + "Cas": 50342, + "Ġbloggers": 50343, + "Either": 50344, + "(\"\"\"": 50345, + "Ġpinch": 50346, + "Ġcoarse": 50347, + ")p": 50348, + "ĠPulse": 50349, + "Ġlearnt": 50350, + "Ġdentist": 50351, + "Ġonchange": 50352, + "Ġdirectives": 50353, + "(actions": 50354, + "nyder": 50355, + "ĠShir": 50356, + "Trait": 50357, + "_dep": 50358, + "ĠPET": 50359, + "ĠREP": 50360, + ".AppSettings": 50361, + "cuador": 50362, + "idenav": 50363, + "Ġenvi": 50364, + "Ġslammed": 50365, + "ĠShoot": 50366, + "ĠdateFormat": 50367, + ".joda": 50368, + "veys": 50369, + "Ġ).ĊĊ": 50370, + "Ġcareg": 50371, + "ĠParallel": 50372, + "_translation": 50373, + ".functions": 50374, + ".obs": 50375, + "RuntimeException": 50376, + "[]=": 50377, + "overview": 50378, + "ĠSchl": 50379, + "Ġnoisy": 50380, + "ĠOnPropertyChanged": 50381, + "Sending": 50382, + "Ġunfamiliar": 50383, + "Upon": 50384, + "ĠPrints": 50385, + ".typ": 50386, + "Ġfleeing": 50387, + "ĉmove": 50388, + "(Un": 50389, + "Ġqr": 50390, + "׾": 50391, + "_beta": 50392, + "Ġskies": 50393, + "ĉme": 50394, + "WND": 50395, + "Ġstickers": 50396, + "blas": 50397, + "Ġinserts": 50398, + "Ġverses": 50399, + "ĠDew": 50400, + "Ġtangible": 50401, + "Ġhecho": 50402, + "POL": 50403, + "Ġteardown": 50404, + "omnia": 50405, + "IBE": 50406, + ".cover": 50407, + "_strategy": 50408, + "^-": 50409, + "setPosition": 50410, + "uale": 50411, + "Signed": 50412, + "Ġiface": 50413, + "aseline": 50414, + ".setTime": 50415, + "ĠMineral": 50416, + "ĠFighting": 50417, + "skins": 50418, + "Ġdiscrimin": 50419, + "Ġdansk": 50420, + "ĠPrinceton": 50421, + "acist": 50422, + "Ġ());Ċ": 50423, + "tracks": 50424, + "imonial": 50425, + "adecimal": 50426, + "EPROM": 50427, + "uggle": 50428, + ".Notification": 50429, + "$mail": 50430, + "cantidad": 50431, + "ĠJung": 50432, + "Ġseekers": 50433, + "Ġplausible": 50434, + "tier": 50435, + "еж": 50436, + "Ġrapper": 50437, + "ĠMana": 50438, + "ĠHttpStatusCode": 50439, + "Ġburnt": 50440, + "loses": 50441, + "ĠFoto": 50442, + "ĠJsonObject": 50443, + "Instagram": 50444, + "Ġsyscall": 50445, + "Ġrealities": 50446, + "ĠMATLAB": 50447, + ":^{Ċ": 50448, + "TERM": 50449, + "ĠCbd": 50450, + "ĠParagraph": 50451, + "Ġtravés": 50452, + "Ġconstructing": 50453, + "Ġswal": 50454, + "Ġpige": 50455, + "LLLL": 50456, + "-existing": 50457, + "Gets": 50458, + "Ġmelted": 50459, + "Ġmitigate": 50460, + "Hen": 50461, + "Ġhm": 50462, + "imas": 50463, + "ĠAo": 50464, + "ĠPerez": 50465, + "ĠDAL": 50466, + "Ġëĭ¤": 50467, + "Ġdivis": 50468, + "StoryboardSegue": 50469, + "ĠModify": 50470, + "ĠÃľber": 50471, + "_OVERRIDE": 50472, + ".pem": 50473, + "untos": 50474, + "Ġespañ": 50475, + "Ġ{?": 50476, + "ĠPAY": 50477, + "_ipv": 50478, + "ĠFury": 50479, + "__.__": 50480, + "elow": 50481, + "-centered": 50482, + "checks": 50483, + "_Reg": 50484, + "-Javadoc": 50485, + "ĉload": 50486, + "ĠLikewise": 50487, + "اÙħ": 50488, + "UNE": 50489, + ".sem": 50490, + "xcb": 50491, + "ĠCave": 50492, + "_sleep": 50493, + "Ġsilently": 50494, + "ĠExtreme": 50495, + ".ToUpper": 50496, + "ĉCHECK": 50497, + "Ġcue": 50498, + "ĠQByteArray": 50499, + "Ġcorrupted": 50500, + "ĠDé": 50501, + "Ġimped": 50502, + "GetName": 50503, + "Ġinaccurate": 50504, + "Ġsober": 50505, + "ее": 50506, + "Ġbarcode": 50507, + "--){Ċ": 50508, + "inki": 50509, + "Ġép": 50510, + "Ġdri": 50511, + "ĠALT": 50512, + ">>>>>>>>": 50513, + "onta": 50514, + "[L": 50515, + "Ġinteres": 50516, + "verting": 50517, + "Ġdiagnostics": 50518, + "pdev": 50519, + "è©": 50520, + "ĠIntegrated": 50521, + ").'": 50522, + "_gc": 50523, + "$text": 50524, + ".games": 50525, + "ĠTerra": 50526, + "'Re": 50527, + ".transfer": 50528, + "_FIFO": 50529, + "getModel": 50530, + "Ġbland": 50531, + "ĠColeman": 50532, + "Ġprimes": 50533, + "ĠæĪ": 50534, + "Ġcrosses": 50535, + "nk": 50536, + "GING": 50537, + "Ġ'^": 50538, + "ĠBlob": 50539, + "Ġintercourse": 50540, + "ĠBlvd": 50541, + "Ġweighs": 50542, + "_regular": 50543, + "ĠPerth": 50544, + "Ġseparating": 50545, + "Ġbilled": 50546, + ".tabControl": 50547, + "Ġpuppet": 50548, + "Ġutilization": 50549, + "Ġâĸł": 50550, + "Ġsucces": 50551, + "Ġlamps": 50552, + "_proj": 50553, + "Eric": 50554, + "Ġrenovation": 50555, + "ĠFamilies": 50556, + "ĠBits": 50557, + "partials": 50558, + "-Men": 50559, + "solution": 50560, + "Ġdwarf": 50561, + ".INTEGER": 50562, + "ĠLOCK": 50563, + ".ct": 50564, + "Ġexcerpt": 50565, + "ĠPix": 50566, + "ĠFirstName": 50567, + "ANTED": 50568, + "ĠAdmir": 50569, + "-help": 50570, + "Prior": 50571, + "ĠAlign": 50572, + ".INSTANCE": 50573, + "LineEdit": 50574, + "('/:": 50575, + "Ġinet": 50576, + "odus": 50577, + ".pkl": 50578, + "ĠKY": 50579, + "upert": 50580, + "Ġnerves": 50581, + "_gradient": 50582, + "}','": 50583, + "_unref": 50584, + "Ġsaturated": 50585, + "ĠConnected": 50586, + "ĠFN": 50587, + "EXIT": 50588, + "Ġteleport": 50589, + "Ġavait": 50590, + "PageRoute": 50591, + "Ġdivorced": 50592, + "(lang": 50593, + "fst": 50594, + "ĠTyr": 50595, + "Ġmessenger": 50596, + "ifstream": 50597, + "XS": 50598, + "ĠBanking": 50599, + "Ġinfectious": 50600, + "ĠMons": 50601, + "_LOOP": 50602, + "Ġzurück": 50603, + "Ġobtener": 50604, + "/repos": 50605, + "Vel": 50606, + "acro": 50607, + "ĠuserRepository": 50608, + "styleType": 50609, + "ĠSRC": 50610, + "VMLINUX": 50611, + "recursive": 50612, + "/bar": 50613, + "_chip": 50614, + "ominated": 50615, + "ĠNit": 50616, + "âĢĶto": 50617, + "ĠBuddh": 50618, + "омеÑĢ": 50619, + "ĠMAG": 50620, + "ĠCHE": 50621, + "_den": 50622, + ".raises": 50623, + "_degree": 50624, + "Ġpumpkin": 50625, + "_templates": 50626, + "_MEDIA": 50627, + "ĠTimeline": 50628, + "Ġbots": 50629, + "ObjectType": 50630, + "Ġbuys": 50631, + ".posts": 50632, + "CAL": 50633, + "waiting": 50634, + "ĠDaniels": 50635, + "Ġdabei": 50636, + "ĠSigma": 50637, + "ilor": 50638, + "igel": 50639, + ",W": 50640, + "ADS": 50641, + "(panel": 50642, + "ì²´": 50643, + "itating": 50644, + ".palette": 50645, + "Ġmosquito": 50646, + "Ġtego": 50647, + "(parseInt": 50648, + "Ġdespués": 50649, + "promise": 50650, + "Ġwij": 50651, + "typescript": 50652, + "ĠTv": 50653, + "_IDENTIFIER": 50654, + ").ĊĊĊ": 50655, + "_flat": 50656, + "itsu": 50657, + "USR": 50658, + "experience": 50659, + "-fit": 50660, + "phinx": 50661, + "_thresh": 50662, + "Ġideally": 50663, + "ĠFreeman": 50664, + ",DB": 50665, + "_rw": 50666, + "çŃī": 50667, + "Ub": 50668, + "_statistics": 50669, + "=\"\"><": 50670, + "Ġchore": 50671, + "Ġyork": 50672, + "installed": 50673, + "Additionally": 50674, + "Ġpstmt": 50675, + "ylko": 50676, + "::Ċ": 50677, + "Forest": 50678, + "Ġheadset": 50679, + "Ġgallon": 50680, + "ÑĢем": 50681, + "Ġwithdrawn": 50682, + "ĠCandidate": 50683, + "Ġmelting": 50684, + "Ġfreezer": 50685, + "Ġhl": 50686, + "_HELP": 50687, + "mime": 50688, + "(/*": 50689, + "Ġthirst": 50690, + "$return": 50691, + "memberof": 50692, + "еб": 50693, + "ĠHttpServletRequest": 50694, + "(ob": 50695, + "_Result": 50696, + "Ġasserted": 50697, + "Ġfulfilling": 50698, + "Ġstretches": 50699, + "parated": 50700, + "-funded": 50701, + "ĠåĽ": 50702, + "ingles": 50703, + "_ca": 50704, + ".condition": 50705, + "ĠDisplays": 50706, + "Ġorang": 50707, + "ĠCRE": 50708, + "ĠglBind": 50709, + "ĠSelector": 50710, + "/type": 50711, + "ĠAlexa": 50712, + "chedules": 50713, + "ĠPeninsula": 50714, + "Ġparity": 50715, + "ĉdest": 50716, + "ĠDoors": 50717, + "čĊĉčĊ": 50718, + "_dimension": 50719, + "Ġaload": 50720, + ".StoredProcedure": 50721, + "(paren": 50722, + "ĠBurke": 50723, + "')]Ċ": 50724, + "-engine": 50725, + "Ġquir": 50726, + "ĠHybrid": 50727, + "ĠDoe": 50728, + "Ġoutlines": 50729, + "ĠTrends": 50730, + "_NV": 50731, + "periments": 50732, + "ĠHin": 50733, + "?',": 50734, + "ĉText": 50735, + "FUL": 50736, + "Ġsmells": 50737, + "Ġslick": 50738, + "Ġmiserable": 50739, + "ĠArrayAdapter": 50740, + "ĠparamString": 50741, + "Hom": 50742, + "_literals": 50743, + "usuarios": 50744, + "Ġprompting": 50745, + "_lazy": 50746, + "ĠActivation": 50747, + "_oc": 50748, + "Weak": 50749, + "Ġanecd": 50750, + "ĠUCLA": 50751, + "=re": 50752, + "issement": 50753, + "ĠEscorts": 50754, + "Excellent": 50755, + "ĠPause": 50756, + "Ġrepositories": 50757, + "TOR": 50758, + "ariate": 50759, + "_iso": 50760, + "updates": 50761, + "halb": 50762, + "udiante": 50763, + "ë¡Ŀ": 50764, + "Ġnaive": 50765, + "ĠPeg": 50766, + "ĠLounge": 50767, + "ARGIN": 50768, + "(bin": 50769, + "OnClickListener": 50770, + "ĠFAILED": 50771, + "Ġlite": 50772, + "Ġdzie": 50773, + "ĠLiteral": 50774, + "ivor": 50775, + "fcntl": 50776, + "Ġeats": 50777, + "Ġqed": 50778, + "Unlock": 50779, + "riding": 50780, + "undai": 50781, + "=M": 50782, + "ATTER": 50783, + "ConfigureAwait": 50784, + "icias": 50785, + "ustomed": 50786, + "Ġsuccession": 50787, + "endTime": 50788, + "ĠJupiter": 50789, + "Ġjudging": 50790, + "dration": 50791, + "_docs": 50792, + ".mo": 50793, + "Ġeducators": 50794, + "ĠVine": 50795, + "Cond": 50796, + "[out": 50797, + "qb": 50798, + "\\Validator": 50799, + "Ġmeanings": 50800, + "Ġpresently": 50801, + "Ġdividing": 50802, + "ottenham": 50803, + "ascular": 50804, + "Ġtrailers": 50805, + "ĠCLOSE": 50806, + "ами": 50807, + "âĢĻai": 50808, + "ĠGain": 50809, + "wor": 50810, + "Ġplanner": 50811, + "Ġdistributing": 50812, + "vat": 50813, + "months": 50814, + "xlabel": 50815, + "HF": 50816, + "Viol": 50817, + ".BASELINE": 50818, + "еÑĤÑģÑı": 50819, + "ĠRotate": 50820, + "Ġtxn": 50821, + ":bold": 50822, + "Ġbloss": 50823, + "Forgery": 50824, + "(embed": 50825, + "Ġjako": 50826, + "sprintf": 50827, + "their": 50828, + "Ġexhibits": 50829, + "-static": 50830, + "hecy": 50831, + "getActiveSheet": 50832, + ".clients": 50833, + "ãģį": 50834, + "_hide": 50835, + "[word": 50836, + "Cb": 50837, + "addItem": 50838, + "axe": 50839, + "_radio": 50840, + "alion": 50841, + "modifier": 50842, + "Ġsaturation": 50843, + "Ġdenom": 50844, + "_pixels": 50845, + "mess": 50846, + "(fl": 50847, + "atif": 50848, + "Ġsecs": 50849, + "Ġprostitution": 50850, + "Ġgrandchildren": 50851, + "Ġparadise": 50852, + "ĠFeld": 50853, + "_BINARY": 50854, + "itous": 50855, + "à¹Ħ": 50856, + "Ġflashing": 50857, + "-sided": 50858, + "Ġcontradiction": 50859, + "/*ĊĊ": 50860, + "ylabel": 50861, + "ĠTet": 50862, + "Ġadmire": 50863, + "reso": 50864, + "Ġletz": 50865, + "ĠSEARCH": 50866, + "slots": 50867, + "ĠRewards": 50868, + "ĠHog": 50869, + "ĠNSData": 50870, + "stash": 50871, + "Fall": 50872, + "ĠAmer": 50873, + "LinearLayout": 50874, + "/photos": 50875, + "Ġfeather": 50876, + "Ġ|čĊ": 50877, + "Downloads": 50878, + ".StartsWith": 50879, + "Ġ//#": 50880, + "ineTransform": 50881, + "Ġaffid": 50882, + "Vtbl": 50883, + "ĠRogue": 50884, + "scribed": 50885, + "Ġfauc": 50886, + "ĠMonroe": 50887, + "Ġdeclares": 50888, + "modern": 50889, + "reon": 50890, + "aybe": 50891, + "PASS": 50892, + "fers": 50893, + "_MULTI": 50894, + "ĠMathematics": 50895, + "Ġsudah": 50896, + "_ATTACH": 50897, + "ĠnumberWith": 50898, + "ĠSolomon": 50899, + "jin": 50900, + "ografia": 50901, + "öl": 50902, + "_design": 50903, + "culated": 50904, + "ĠLuna": 50905, + "iesz": 50906, + "Ġ=>'": 50907, + "Ġrevelations": 50908, + "Along": 50909, + "(ed": 50910, + "ĠFilename": 50911, + "Ġylabel": 50912, + "Secure": 50913, + "Ġbusca": 50914, + "agnosis": 50915, + "_RECE": 50916, + "Ġoverlapping": 50917, + "Extent": 50918, + "Ġanticipation": 50919, + "Checks": 50920, + "ĠALSO": 50921, + "orc": 50922, + "ilingual": 50923, + "itational": 50924, + "Ġadvancement": 50925, + "ouro": 50926, + "ĠPredicate": 50927, + "å¾Ĺ": 50928, + "eria": 50929, + "ĠPierce": 50930, + "orio": 50931, + "Ġmerits": 50932, + "Ġpeanut": 50933, + ".Package": 50934, + "ĠConduct": 50935, + "_SENSOR": 50936, + "Ġboiling": 50937, + "Ġintra": 50938, + "ĠIGN": 50939, + "ĠFur": 50940, + ".Refresh": 50941, + "ĠReach": 50942, + "_decoder": 50943, + ".Exp": 50944, + "ĠÑĤак": 50945, + "pill": 50946, + ",Q": 50947, + "ĠGrill": 50948, + "Ġpopping": 50949, + ".Ag": 50950, + "Ġproyecto": 50951, + "Ġmileage": 50952, + "Ġecological": 50953, + "]]);Ċ": 50954, + "ĠÂŃ": 50955, + "subplot": 50956, + "acad": 50957, + "ĠTrying": 50958, + "recipes": 50959, + "$criteria": 50960, + "ĠPersian": 50961, + "-bound": 50962, + "MASK": 50963, + "ĠGesture": 50964, + "Ġkk": 50965, + "ĠPVC": 50966, + "Ġprohibition": 50967, + "Ġcomando": 50968, + "ĠLOOK": 50969, + "Shopping": 50970, + "Ġdistortion": 50971, + "čĊ": 51017, + ".Dependency": 51018, + ".QueryString": 51019, + ".Owner": 51020, + "Ġexpiry": 51021, + "Thu": 51022, + "(Vec": 51023, + "Ġhazardous": 51024, + "Ġrpm": 51025, + "APON": 51026, + "ĠaddTarget": 51027, + "sville": 51028, + "pNet": 51029, + "ĠImg": 51030, + "ĠTIMER": 51031, + ".Animation": 51032, + "Ġbek": 51033, + "Ġassort": 51034, + "Ġlebih": 51035, + "ĠbodyParser": 51036, + "Ġvibrating": 51037, + "IDL": 51038, + "Ġbutterknife": 51039, + "inters": 51040, + "Ġpersuade": 51041, + "ĠLGBTQ": 51042, + "èĭ": 51043, + ".soft": 51044, + "Ġbeams": 51045, + "_sur": 51046, + ".Def": 51047, + "Ġlabs": 51048, + "ĉplt": 51049, + "Ġskins": 51050, + "Ġtransferring": 51051, + "Ġimaginary": 51052, + "_End": 51053, + ";background": 51054, + "Ġlaps": 51055, + "_COMMENT": 51056, + "(SDL": 51057, + "onds": 51058, + ".Record": 51059, + "ĠImplements": 51060, + "_ticks": 51061, + "()))ĊĊ": 51062, + "Ġarose": 51063, + "]?": 51064, + "ĠMp": 51065, + "ĠICommand": 51066, + "Ġsculpture": 51067, + "Ġcontracted": 51068, + "\">'": 51546, + "kinson": 51547, + "Ġкол": 51548, + "ognitive": 51549, + "_li": 51550, + "Ġimminent": 51551, + "Ġaffinity": 51552, + ".signal": 51553, + "Ġnotch": 51554, + "ĠSteelers": 51555, + "maxlength": 51556, + "KK": 51557, + "ĠEugene": 51558, + "_PWM": 51559, + "roi": 51560, + "ĠâĹı": 51561, + "ĠHamburg": 51562, + ".Must": 51563, + "Ġaxe": 51564, + "enef": 51565, + "Ġambitions": 51566, + "ĠSpecies": 51567, + "ĠStress": 51568, + "Ġawhile": 51569, + "ĠбÑĥд": 51570, + "Ġwithstand": 51571, + "ĠDecoder": 51572, + "_inventory": 51573, + "Ġ{ččĊ": 51574, + "Ġtgt": 51575, + "Ġrailroad": 51576, + "WASHINGTON": 51577, + "Ġnegotiated": 51578, + "NST": 51579, + "-phone": 51580, + ",U": 51581, + "Ġexercising": 51582, + "ụ": 51583, + "_PIXEL": 51584, + "avors": 51585, + "iterated": 51586, + "Ġvampire": 51587, + "adal": 51588, + "Ingrese": 51589, + "Ġung": 51590, + "jective": 51591, + ".cells": 51592, + "Ġnano": 51593, + "Ġmarkdown": 51594, + "_RULE": 51595, + "(events": 51596, + "Ġluggage": 51597, + "MESSAGE": 51598, + "igkeit": 51599, + "$count": 51600, + "AttributeName": 51601, + "IGINAL": 51602, + "_Ent": 51603, + "ĠBF": 51604, + "ĠCOMMENT": 51605, + "_ini": 51606, + "ĠEuropeans": 51607, + "ĠBelle": 51608, + "åij½": 51609, + ")['": 51610, + "åºĶ": 51611, + "ĠUseful": 51612, + ".reference": 51613, + "()\",": 51614, + "_grade": 51615, + "ĠKaw": 51616, + "Ġsentencing": 51617, + "Ġsocialism": 51618, + "monster": 51619, + "_LAYER": 51620, + "Ġdeepest": 51621, + "wk": 51622, + "ĠNoise": 51623, + "###ĊĊ": 51624, + "Ġpréc": 51625, + "otle": 51626, + "ÑĤе": 51627, + "auf": 51628, + "ibal": 51629, + "Ġconquer": 51630, + ">Email": 51631, + "Ġambulance": 51632, + "OAD": 51633, + "Ġ(\"%": 51634, + "ĠFI": 51635, + ".fixture": 51636, + "Ġterse": 51637, + "ĠĠĠĠĉĉĉĉ": 51638, + "Ġsanctuary": 51639, + "ugi": 51640, + "ĠComparator": 51641, + "Definitions": 51642, + "Ġasthma": 51643, + "Ġlact": 51644, + "Ġhardwood": 51645, + ".clock": 51646, + "Ġattracting": 51647, + "ĠMour": 51648, + "(distance": 51649, + "icits": 51650, + "Ġbonne": 51651, + "ĠACCESS": 51652, + ".DeserializeObject": 51653, + "ĠTyped": 51654, + "Ġjeu": 51655, + "ĠappId": 51656, + "ĠClara": 51657, + "ĠHF": 51658, + "ĠReich": 51659, + "ipples": 51660, + "//--------------------------------------------------------------------------------": 51661, + "_delivery": 51662, + "erialization": 51663, + "Ġplaintiffs": 51664, + "Scient": 51665, + "shopping": 51666, + "ĠDummy": 51667, + "ĠWald": 51668, + "GroupName": 51669, + "Ġinscription": 51670, + "elog": 51671, + "::::::::": 51672, + "_ld": 51673, + "BackPressed": 51674, + ".Raw": 51675, + "ĠOnTrigger": 51676, + "Ġmuseums": 51677, + "ĠBeen": 51678, + "ĠAdventures": 51679, + "Ġslate": 51680, + "Ġlett": 51681, + "Ġsund": 51682, + "ĠGin": 51683, + "ĠMechanical": 51684, + ".ship": 51685, + "AppComponent": 51686, + "Ġdestined": 51687, + "Ġdwelling": 51688, + "Profiler": 51689, + "Prepare": 51690, + "zeich": 51691, + "Ġsilicon": 51692, + "(has": 51693, + "Ġ#%": 51694, + "VIDEO": 51695, + "Ġcollaborate": 51696, + "Lin": 51697, + "Ġscopes": 51698, + "(className": 51699, + "(sd": 51700, + "andin": 51701, + ".ham": 51702, + "ServiceImpl": 51703, + "-described": 51704, + "Ġirony": 51705, + "stial": 51706, + "ĠHuawei": 51707, + "(repo": 51708, + "Ġunexpectedly": 51709, + "ĠKai": 51710, + ".install": 51711, + "\\xf": 51712, + "Ġexhibited": 51713, + "_TCP": 51714, + "ĠOx": 51715, + "_CHO": 51716, + "Ġprostituerte": 51717, + "Ġvä": 51718, + "Ġsito": 51719, + "Ġconstituents": 51720, + "ĠContinued": 51721, + "ĠSAVE": 51722, + "rss": 51723, + "/message": 51724, + "ubes": 51725, + "Ġmisdemean": 51726, + "Ġtaxation": 51727, + "Ġstoryline": 51728, + "hair": 51729, + "ĠFinds": 51730, + "SIG": 51731, + "verification": 51732, + "~=": 51733, + ".hp": 51734, + "Iterable": 51735, + "Ñĭе": 51736, + "atori": 51737, + "Ġctr": 51738, + "Rx": 51739, + "_);ĊĊ": 51740, + "dag": 51741, + ".pin": 51742, + "Ġpseud": 51743, + "Ġinvo": 51744, + "ÑģÑĤÑĢ": 51745, + "_pix": 51746, + "为空": 51747, + "Ġsworn": 51748, + "âĢĶor": 51749, + "_registry": 51750, + "Ġdisasters": 51751, + "ĠROI": 51752, + "ĠâĢķ": 51753, + "aktu": 51754, + "forest": 51755, + "beiten": 51756, + "âĢĶI": 51757, + "ueva": 51758, + "egt": 51759, + "Ġspikes": 51760, + "URES": 51761, + "ĠRecommended": 51762, + "Ġexploited": 51763, + "ĠFrederick": 51764, + "_COMPLETE": 51765, + "ĠDrugs": 51766, + "!!!!!!!!": 51767, + "ĠRiv": 51768, + "STOP": 51769, + "ROOM": 51770, + "ĠPASSWORD": 51771, + "Cookies": 51772, + ".El": 51773, + "á»Ń": 51774, + "ĠBert": 51775, + "Ġhashed": 51776, + "icester": 51777, + "Ġdecorator": 51778, + "ĠqueryString": 51779, + ":;Ċ": 51780, + "Ġ\"[\"": 51781, + "otope": 51782, + "-Americ": 51783, + "ĠMatthews": 51784, + "URAL": 51785, + "âĢľ,": 51786, + "Summer": 51787, + "fos": 51788, + "_CONTAINER": 51789, + "_ACK": 51790, + "Ġfiltr": 51791, + "_disp": 51792, + "_Re": 51793, + "Ġfacile": 51794, + "аÑĪ": 51795, + "ĠìķĬ": 51796, + "Ġeben": 51797, + "Ġsprink": 51798, + "ĠQuint": 51799, + ">V": 51800, + "Ġhistorians": 51801, + "ourmet": 51802, + "ĠMonitoring": 51803, + "ledger": 51804, + "cott": 51805, + "Ġware": 51806, + "GGLE": 51807, + "cars": 51808, + "ĠMEDIATEK": 51809, + "Ġvolupt": 51810, + "_View": 51811, + "HEL": 51812, + "(copy": 51813, + "(stats": 51814, + "Ġchromosome": 51815, + "ĠCurtis": 51816, + "-conf": 51817, + "(asset": 51818, + "Ġhvor": 51819, + "FileSystem": 51820, + "<>();čĊ": 51821, + "ocoder": 51822, + "ĠCannon": 51823, + ")x": 51824, + "ĠSmooth": 51825, + "ĠSAS": 51826, + "_ce": 51827, + "ĉprev": 51828, + "_movie": 51829, + "Ec": 51830, + "_wall": 51831, + ".ĊĊ": 52378, + "ogenesis": 52379, + "ĠOPTIONS": 52380, + "uptools": 52381, + "Ġmilitant": 52382, + "Ġexited": 52383, + "igar": 52384, + "ĠCOMM": 52385, + "ĠDisposable": 52386, + "aycast": 52387, + "Ġrowspan": 52388, + "Ġsynthes": 52389, + "Ġsondern": 52390, + "ĠĊ": 55869, + "ĠJacket": 55870, + "RATION": 55871, + ".getSelectedItem": 55872, + "-init": 55873, + "ĠRegisters": 55874, + "_sep": 55875, + "ĠToolkit": 55876, + ".dict": 55877, + "Ġxlabel": 55878, + "\\Table": 55879, + "toc": 55880, + "_combo": 55881, + "ĠCompact": 55882, + "Ġrugged": 55883, + "à¥ĩà¤": 55884, + "-management": 55885, + "')}}\">Ċ": 55886, + "ĠStamp": 55887, + "ıl": 55888, + "rox": 55889, + "Ġlandscapes": 55890, + "_NOTE": 55891, + "monary": 55892, + "cab": 55893, + "Ġmoet": 55894, + "xaf": 55895, + "rcode": 55896, + "-cli": 55897, + "_gate": 55898, + "[event": 55899, + "SPORT": 55900, + "gia": 55901, + "ĠSUPER": 55902, + "/Login": 55903, + "_shutdown": 55904, + "interrupt": 55905, + "Ġpretending": 55906, + "Ġfringe": 55907, + "ĠReds": 55908, + "ĠCUDA": 55909, + "ĠUNIX": 55910, + "vit": 55911, + "Ġbrig": 55912, + "drv": 55913, + "ĠConnector": 55914, + "Therefore": 55915, + "Ġlia": 55916, + "Detection": 55917, + "_actor": 55918, + "Ġtempfile": 55919, + "Ġeccentric": 55920, + "-role": 55921, + "Ġpadx": 55922, + "dent": 55923, + "Western": 55924, + "Ġê·¸": 55925, + "ĠApplicationRecord": 55926, + "Ġcampaigning": 55927, + "_runner": 55928, + "ĠCivic": 55929, + "aleigh": 55930, + "Ġdirekt": 55931, + ".sul": 55932, + "ĠĠĉĉĉ": 55933, + "anten": 55934, + "Ġissuer": 55935, + "Ġassertions": 55936, + "(orig": 55937, + "ATIO": 55938, + "Ġleaned": 55939, + "äs": 55940, + ".DTO": 55941, + "explode": 55942, + ".Observable": 55943, + "Ġstaggering": 55944, + "Ġkidnapped": 55945, + "Ġprogrammers": 55946, + "ĠInnov": 55947, + ".parameter": 55948, + "Ġdomination": 55949, + "Ġskeptic": 55950, + "Ġæĺ¯": 55951, + "Ġavoids": 55952, + ".Verify": 55953, + "ubby": 55954, + "ĠASN": 55955, + "Ġformato": 55956, + "ĠBeatles": 55957, + "_brand": 55958, + "Ġinset": 55959, + "youtu": 55960, + "Ġtoc": 55961, + "-final": 55962, + "Showing": 55963, + "ĠDoub": 55964, + "ĠMesa": 55965, + "Adj": 55966, + "_medium": 55967, + "Creates": 55968, + "(endpoint": 55969, + "ĉUP": 55970, + "bbie": 55971, + "Ġstalk": 55972, + ".databind": 55973, + ".Scan": 55974, + "agents": 55975, + "$,": 55976, + "individual": 55977, + "+)/": 55978, + "ĉvm": 55979, + "(notification": 55980, + "Ġinex": 55981, + "ĠClassification": 55982, + "reno": 55983, + "Ġolig": 55984, + "-rated": 55985, + "Ġformulation": 55986, + "',{": 55987, + "Ġacept": 55988, + "_unpack": 55989, + "_CA": 55990, + ".Pow": 55991, + "ĉim": 55992, + "Ġaluminium": 55993, + "ANO": 55994, + "Ġxn": 55995, + "Ġcómo": 55996, + "ĠIngredient": 55997, + "Ġseizures": 55998, + "åħ±": 55999, + "ificador": 56000, + "Ġsiguiente": 56001, + "ĠInfragistics": 56002, + "Ġduplicated": 56003, + "ĠDee": 56004, + "Ġnø": 56005, + "ĠACCEPT": 56006, + "(crate": 56007, + "иÑĤелÑĮ": 56008, + "-less": 56009, + "Ġinfinity": 56010, + "Analyzer": 56011, + "-Day": 56012, + "ritt": 56013, + "(cin": 56014, + "ĠGy": 56015, + "Ġmultiplied": 56016, + "uchi": 56017, + "ĠBaldwin": 56018, + "/ip": 56019, + "Ġshortcuts": 56020, + ".ADD": 56021, + "Ġvigor": 56022, + "_instruction": 56023, + "(;": 56024, + "_eta": 56025, + "è¿ŀ": 56026, + "utorials": 56027, + "Ġboosting": 56028, + "bv": 56029, + "Ġacknowledges": 56030, + "Listening": 56031, + "FAQ": 56032, + ";b": 56033, + "((-": 56034, + "Ġarchitects": 56035, + "Ġzwe": 56036, + "Ġpuls": 56037, + "ĠgetCount": 56038, + "verbs": 56039, + "ãĢľ": 56040, + "(Collection": 56041, + "kre": 56042, + "Ġjurisdictions": 56043, + "_bridge": 56044, + "ĠCrack": 56045, + "ĠDifficulty": 56046, + "KO": 56047, + "Reservation": 56048, + "_requires": 56049, + "Tour": 56050, + "ãģĹãģŁ": 56051, + ".setCurrent": 56052, + "Ġky": 56053, + "ĠAlbany": 56054, + "Ġè§": 56055, + "ller": 56056, + "agna": 56057, + "workers": 56058, + ".blank": 56059, + "ĠPrayer": 56060, + "MIC": 56061, + "Ġresilience": 56062, + "TeX": 56063, + "ĠLanguages": 56064, + "study": 56065, + "ĉcurr": 56066, + "Ġenzymes": 56067, + "Slug": 56068, + "ĠíĮĮ": 56069, + "stral": 56070, + "Ġtumors": 56071, + "Ġsegunda": 56072, + "='{": 56073, + "instruction": 56074, + "ĠLisp": 56075, + "/info": 56076, + "Ġ\"{$": 56077, + ",:),": 56078, + "Ġgv": 56079, + "(ErrorMessage": 56080, + "Ġ'=": 56081, + "}-${": 56082, + ".Documents": 56083, + "\"Well": 56084, + "Ġreminiscent": 56085, + "Ġgaz": 56086, + "iropr": 56087, + "ehr": 56088, + "Ġsuppressed": 56089, + "ersh": 56090, + ".scrollTo": 56091, + "Ġcadena": 56092, + "ĠgameState": 56093, + "ÃŃm": 56094, + "(conv": 56095, + "ĠTomorrow": 56096, + "ĠCCT": 56097, + "Mongo": 56098, + "ulg": 56099, + ".Camera": 56100, + ".handlers": 56101, + "mph": 56102, + "Ġstk": 56103, + "Ġgenetics": 56104, + "ACING": 56105, + "Trivia": 56106, + "ĠBam": 56107, + "(marker": 56108, + ".Stretch": 56109, + "ĠSunni": 56110, + "ĠBetty": 56111, + ".tolist": 56112, + "unlikely": 56113, + ".Rectangle": 56114, + "obsolete": 56115, + "ILON": 56116, + "innerText": 56117, + "embourg": 56118, + "aN": 56119, + "ĠVehicles": 56120, + "unlock": 56121, + ":utf": 56122, + "nob": 56123, + "ĠSeeing": 56124, + "ĠNEVER": 56125, + "Ġtls": 56126, + "Ġfilles": 56127, + "Ġbenefited": 56128, + "ĠClint": 56129, + "*/),": 56130, + ".fold": 56131, + "Ġposible": 56132, + "ADED": 56133, + "thouse": 56134, + ".DAL": 56135, + "ĠOdd": 56136, + "rokes": 56137, + "ĠSunny": 56138, + "ĠPartialEq": 56139, + "_Buffer": 56140, + "ĠLevi": 56141, + "longrightarrow": 56142, + "eldon": 56143, + "gages": 56144, + "_warn": 56145, + ".CreateTable": 56146, + "ĠDip": 56147, + "_questions": 56148, + ".logic": 56149, + "Ġ#\"": 56150, + "={()=>": 56151, + "Ġtep": 56152, + "Ġjuicy": 56153, + "ìĤ¬": 56154, + "enko": 56155, + "ialect": 56156, + "Ùī": 56157, + "Ġonboard": 56158, + "Ġæı": 56159, + "ĉrt": 56160, + "_UTF": 56161, + "ĠQAction": 56162, + "âĢŀ": 56163, + "(Component": 56164, + "(audio": 56165, + ".hit": 56166, + "gte": 56167, + "Ġprogrammed": 56168, + "stateParams": 56169, + "Ġpolyester": 56170, + "fires": 56171, + "byss": 56172, + "]=(": 56173, + "_quality": 56174, + "OfDay": 56175, + "ĠFairy": 56176, + "Ġyelled": 56177, + "opl": 56178, + "(userName": 56179, + "ĠDifference": 56180, + "Ġevaluations": 56181, + "iffany": 56182, + "Ġcyclists": 56183, + "Ġcidade": 56184, + "Ġtextbook": 56185, + "Ġprofiling": 56186, + "__),": 56187, + "dea": 56188, + ".activate": 56189, + "Ġindications": 56190, + "Ðķ": 56191, + "TouchUpInside": 56192, + "Ġinvaluable": 56193, + "ĠMASK": 56194, + "Ġcontend": 56195, + "Freq": 56196, + "Ġrecruits": 56197, + "(interval": 56198, + "ĠUserProfile": 56199, + "Ġ'./../": 56200, + "edu": 56201, + "_Callback": 56202, + "Ġanalogy": 56203, + "ĠTrophy": 56204, + "apphire": 56205, + "Videos": 56206, + "ĠCher": 56207, + "ĠHav": 56208, + "â̦\"": 56209, + ".validator": 56210, + "gfx": 56211, + "ĠUObject": 56212, + "classnames": 56213, + "triangle": 56214, + "ĠEncoder": 56215, + ".spy": 56216, + "Ġpredators": 56217, + "=status": 56218, + "-safe": 56219, + ":\",Ċ": 56220, + "ĠIncluding": 56221, + "Ġ{};čĊ": 56222, + "*cos": 56223, + "Ġendured": 56224, + ".sulake": 56225, + "Ġnursery": 56226, + "Ġfragrance": 56227, + "Ġrebuilding": 56228, + "Ġnth": 56229, + "ĠFraser": 56230, + ".setDate": 56231, + "ĠVince": 56232, + "_REST": 56233, + "Ġventilation": 56234, + "æµ·": 56235, + "cribes": 56236, + ".asm": 56237, + "lpVtbl": 56238, + "ĠAbe": 56239, + "uisine": 56240, + ",array": 56241, + "ĉclassName": 56242, + "errals": 56243, + "Ġ'ĊĊ": 56244, + "Checkout": 56245, + "Ġsolicit": 56246, + "Aux": 56247, + "_capture": 56248, + "Ġribs": 56249, + "ragon": 56250, + "viol": 56251, + "topics": 56252, + "FunctionFlags": 56253, + "ĠMarty": 56254, + "bike": 56255, + "ĠTucker": 56256, + "(kernel": 56257, + "ĠOps": 56258, + "CloseOperation": 56259, + "/demo": 56260, + "ilda": 56261, + "ĠlÃŃnea": 56262, + "APPING": 56263, + "Ġsuites": 56264, + ".visitVarInsn": 56265, + "urus": 56266, + "ĠMinute": 56267, + "(manager": 56268, + "Ġbutterfly": 56269, + "Ġapare": 56270, + "Ġwolves": 56271, + "JWT": 56272, + "ĠSalon": 56273, + "ĉdelay": 56274, + "-eslint": 56275, + "isations": 56276, + ".rpc": 56277, + ")|(": 56278, + "ĠSnapchat": 56279, + "/mm": 56280, + "MN": 56281, + "ceries": 56282, + ".textAlignment": 56283, + "ĠFrankfurt": 56284, + "Ġado": 56285, + "(newValue": 56286, + "(access": 56287, + "(Expression": 56288, + "ĠSignIn": 56289, + "ĠHaiti": 56290, + "_tp": 56291, + ".setParameter": 56292, + "Minute": 56293, + "Ġmanuals": 56294, + "ricanes": 56295, + "ĠPTR": 56296, + "ĠOuter": 56297, + "Ġgetline": 56298, + "ocations": 56299, + "_CD": 56300, + "ĠLyon": 56301, + "/gui": 56302, + "_live": 56303, + "idan": 56304, + ".geom": 56305, + "ĠborderBottom": 56306, + "imuth": 56307, + "_checkpoint": 56308, + "Ġmeu": 56309, + "ĠIrving": 56310, + "Ġpeuvent": 56311, + "(MAX": 56312, + "ĠARCH": 56313, + "Ġpov": 56314, + ".sourceforge": 56315, + "Ġjamais": 56316, + "Ġark": 56317, + "ĠBaghdad": 56318, + "ĠCLEAR": 56319, + "MenuBar": 56320, + "Ġtrois": 56321, + "CHEDULE": 56322, + "Ġ#čĊ": 56323, + "(Call": 56324, + "$order": 56325, + "(Material": 56326, + "Ġencontrado": 56327, + "$list": 56328, + "ĠMETHODS": 56329, + ".beginTransaction": 56330, + "_MAG": 56331, + "StyleSheet": 56332, + "Ġmajors": 56333, + "Ġindefinitely": 56334, + "cleanup": 56335, + "Ġhomeland": 56336, + "(dto": 56337, + "Dates": 56338, + "Presentation": 56339, + "ĠDK": 56340, + "={`/": 56341, + "ĉKey": 56342, + "(Block": 56343, + "_checkbox": 56344, + "needs": 56345, + "ĠonComplete": 56346, + "rico": 56347, + "Ġgleich": 56348, + "Ġxm": 56349, + "OOD": 56350, + "Better": 56351, + "ĠSQLITE": 56352, + ".Book": 56353, + "xad": 56354, + "ĠGone": 56355, + "ĉdp": 56356, + "Ġdevotion": 56357, + "Ġstm": 56358, + "Ġobsess": 56359, + "ĠBackend": 56360, + "Queries": 56361, + "Ik": 56362, + "//****************************************************************": 56363, + "Ġdividends": 56364, + ".parentElement": 56365, + "}\")ĊĊ": 56366, + "ĠMaterialPageRoute": 56367, + ":num": 56368, + "Ġexplic": 56369, + "ĠOL": 56370, + "least": 56371, + "Oops": 56372, + "imentos": 56373, + "Ġinsurers": 56374, + "Ġheroic": 56375, + "ĉfields": 56376, + ".imgur": 56377, + ".btnCancel": 56378, + "ĠDetective": 56379, + "(sm": 56380, + "ĠMutableLiveData": 56381, + ".lab": 56382, + "(([": 56383, + "Ġhairst": 56384, + "ĠTransactions": 56385, + "å¼Ģå§ĭ": 56386, + "ĠstdClass": 56387, + "uento": 56388, + "GIS": 56389, + "_cod": 56390, + "Instructions": 56391, + "Calls": 56392, + "PointerType": 56393, + "ĠRw": 56394, + "Ġassortment": 56395, + "ĠDIG": 56396, + "+r": 56397, + "_CERT": 56398, + "Ġinstability": 56399, + "Ġvib": 56400, + "onas": 56401, + "Ġroku": 56402, + "apellido": 56403, + "Ġangl": 56404, + "preneur": 56405, + "Ġfluids": 56406, + "isease": 56407, + "Ġdeed": 56408, + "quist": 56409, + "_CONSTANT": 56410, + "Ġequilibrium": 56411, + "_delegate": 56412, + "ĠQuantum": 56413, + "rei": 56414, + "Capabilities": 56415, + "rectangle": 56416, + "?><": 56417, + "alien": 56418, + "ĠJug": 56419, + "DNA": 56420, + "Tickets": 56421, + "Occurs": 56422, + "ĠHawk": 56423, + ".setHorizontalGroup": 56424, + "\\Collection": 56425, + "ffiti": 56426, + "Ġrearr": 56427, + ".setVerticalGroup": 56428, + "Ġcavity": 56429, + "Ġadulte": 56430, + "Facade": 56431, + "-wh": 56432, + "ĠLOL": 56433, + "ذ": 56434, + "Ġgrandparents": 56435, + "Swift": 56436, + "ĉwx": 56437, + "æīĢæľī": 56438, + "ifen": 56439, + "ffset": 56440, + "Beyond": 56441, + "//}ĊĊ": 56442, + "Ġwager": 56443, + "Ġbury": 56444, + "Ġcommence": 56445, + "registro": 56446, + "scient": 56447, + "ĠPercent": 56448, + "Ġдолж": 56449, + "(identifier": 56450, + ".setModel": 56451, + "Ġseldom": 56452, + "nton": 56453, + "Ġappliance": 56454, + "amus": 56455, + "rysler": 56456, + "Ġpanties": 56457, + "enguins": 56458, + "Ġmimic": 56459, + "ĠonChanged": 56460, + "Ġalcoholic": 56461, + ".reloadData": 56462, + "Charge": 56463, + "ĠFax": 56464, + "ĠjScrollPane": 56465, + "Empresa": 56466, + "Ġshattered": 56467, + "xba": 56468, + "Fonts": 56469, + "?s": 56470, + "Ġpostseason": 56471, + "retain": 56472, + "_rates": 56473, + "ĠrequestCode": 56474, + ".todo": 56475, + "´s": 56476, + "CHK": 56477, + "ĠKeeping": 56478, + "engeance": 56479, + "Ġvscode": 56480, + "IPPING": 56481, + "DefaultCloseOperation": 56482, + "_raise": 56483, + "ĠOculus": 56484, + "ograms": 56485, + "raj": 56486, + "pci": 56487, + "Ġcorrosion": 56488, + ".handleSubmit": 56489, + "Accessible": 56490, + "ĠPiano": 56491, + "little": 56492, + "ACL": 56493, + "Äĩe": 56494, + ".unwrap": 56495, + "ĠConvers": 56496, + "ĠLeben": 56497, + "ioneer": 56498, + "ĠMerchant": 56499, + "ĠJorge": 56500, + "Ġembracing": 56501, + "Ġventa": 56502, + "ást": 56503, + "Ġviene": 56504, + "Ċ": 56656, + "-growing": 56657, + "Ġdeepcopy": 56658, + "Ack": 56659, + "eggies": 56660, + "Ġ__(\"": 56661, + "Ġnoir": 56662, + "terrorism": 56663, + "Ġanthem": 56664, + "agency": 56665, + "_PACKAGE": 56666, + "ĠClosure": 56667, + ".registry": 56668, + "Ġmammals": 56669, + "L": 56700, + "Ġbluetooth": 56701, + ".Deep": 56702, + "-standing": 56703, + "ácil": 56704, + "Ġrooft": 56705, + "ĠPaths": 56706, + "_iterations": 56707, + "InvalidArgumentException": 56708, + ".spi": 56709, + "ĠUIAlertAction": 56710, + "uye": 56711, + "signin": 56712, + ".priority": 56713, + "ĠEssays": 56714, + "='{$": 56715, + "Ġè¿ĶåĽŀ": 56716, + "_signed": 56717, + ".persist": 56718, + "Ġredesign": 56719, + "ToLower": 56720, + "ĠNewman": 56721, + "=start": 56722, + "ĠIsraelis": 56723, + "asiswa": 56724, + "Speech": 56725, + "Ġnumeros": 56726, + "handlers": 56727, + "ĠWong": 56728, + "ĠмеÑĤод": 56729, + "Weights": 56730, + "ĠGujar": 56731, + "teil": 56732, + "ĠNonetheless": 56733, + "_EFFECT": 56734, + "Ġvect": 56735, + "ĠOsc": 56736, + "Ġcoats": 56737, + "ĠWheat": 56738, + "Ġgeek": 56739, + "ĠPROPERTY": 56740, + "worm": 56741, + "_constants": 56742, + "ĠBoulder": 56743, + "ĠParm": 56744, + "cole": 56745, + "ĠdefaultCenter": 56746, + "ĠRouge": 56747, + ":A": 56748, + "xcf": 56749, + "ĠVenice": 56750, + "median": 56751, + "Ġredemption": 56752, + "Fresh": 56753, + "Ġcosm": 56754, + "Ġfigur": 56755, + "Ġrefurb": 56756, + "COPE": 56757, + ".cd": 56758, + "Ġchords": 56759, + "ĠSgt": 56760, + "Åį": 56761, + "VPN": 56762, + "ĠSEND": 56763, + "ainen": 56764, + "_accounts": 56765, + "Ġtenth": 56766, + "Ġdissolved": 56767, + "": 57007, + "Ġlegitimacy": 57008, + "Ġoo": 57009, + "Slinky": 57010, + "Ġnationals": 57011, + ".words": 57012, + ";p": 57013, + "trap": 57014, + "omanip": 57015, + "Ġcues": 57016, + "Ġgraduating": 57017, + "Ġsemaphore": 57018, + "\"]);ĊĊ": 57019, + "acey": 57020, + "REET": 57021, + "Grab": 57022, + "ĠFelix": 57023, + "(Id": 57024, + "_neighbors": 57025, + "Ġmeaningless": 57026, + "(del": 57027, + "Ġjeder": 57028, + "ĠContentValues": 57029, + ".absolute": 57030, + "/cl": 57031, + "Ġxb": 57032, + "datum": 57033, + "Ġtortured": 57034, + "Ġrubbing": 57035, + "Scores": 57036, + "ĠðŁĺī": 57037, + "Ġavons": 57038, + "Ġamsterdam": 57039, + "EOS": 57040, + "Hal": 57041, + "Ġtrustworthy": 57042, + "#=": 57043, + ".EXTRA": 57044, + "Ġmano": 57045, + "isicing": 57046, + "-support": 57047, + "ĉcursor": 57048, + "ĠSpo": 57049, + "aimassage": 57050, + "Mission": 57051, + "[]{\"": 57052, + "Ġprinters": 57053, + "GREEN": 57054, + "Ġteg": 57055, + "Ġabdominal": 57056, + "!ĊĊĊĊĊĊ": 57057, + ".Short": 57058, + "азв": 57059, + "ĠGifts": 57060, + "}\")": 57061, + "(binding": 57062, + "xce": 57063, + "âĢij": 57064, + "infos": 57065, + "FormData": 57066, + "Ġdart": 57067, + "Ġelems": 57068, + "(inv": 57069, + "YL": 57070, + "tin": 57071, + "GENER": 57072, + "ữ": 57073, + "ĠTaken": 57074, + "uckle": 57075, + ":e": 57076, + "Ġspectral": 57077, + ".baidu": 57078, + "/');Ċ": 57079, + "Ġgreedy": 57080, + "esion": 57081, + ",,,,,,,,": 57082, + "Ġ/>,Ċ": 57083, + "InternalServerError": 57084, + "NSNotificationCenter": 57085, + "ĠAi": 57086, + "Ġspit": 57087, + "Ġaugmented": 57088, + "ĠstandardUserDefaults": 57089, + "FINITY": 57090, + "Race": 57091, + ":C": 57092, + "ĠRECORD": 57093, + "ĠHighlight": 57094, + "Ġ'`": 57095, + "Ġdeficits": 57096, + "Ġnei": 57097, + "Ġresearched": 57098, + "Ta": 57099, + "Ġcopp": 57100, + ".GetHashCode": 57101, + "):čĊčĊ": 57102, + "OnClick": 57103, + "ĠWellington": 57104, + "Ġrevival": 57105, + "æ¯Ķ": 57106, + "éĹ®": 57107, + "ĠNSS": 57108, + "Ġforn": 57109, + "Ġinté": 57110, + "ĠKuwait": 57111, + "_flip": 57112, + "_bo": 57113, + "_\\": 57114, + "Ġoccurrences": 57115, + "ĠScientists": 57116, + "SRC": 57117, + "ogens": 57118, + "igrant": 57119, + "REMOTE": 57120, + "ĠSID": 57121, + ".opts": 57122, + "uve": 57123, + "()])Ċ": 57124, + "Ġlibertarian": 57125, + "ĠGlide": 57126, + "lesen": 57127, + "Ġforme": 57128, + "owania": 57129, + "Ġannoyed": 57130, + "Defs": 57131, + "ĠExecutor": 57132, + "Ġcasts": 57133, + ".setChecked": 57134, + "ĠSharing": 57135, + ".SerializeObject": 57136, + "Ġselectors": 57137, + "_OTHER": 57138, + "미": 57139, + "(super": 57140, + "(OS": 57141, + "_VERIFY": 57142, + "idunt": 57143, + "';Ċ": 57145, + "Ġvidéo": 57146, + "ĠNegro": 57147, + "ĠLords": 57148, + "ĠTours": 57149, + "Ġsoftly": 57150, + ".receive": 57151, + "ĠERC": 57152, + "ĠdataSet": 57153, + "Badge": 57154, + "ĉEvent": 57155, + "Ġperl": 57156, + "Ġ{}\\": 57157, + "(sentence": 57158, + "OrUpdate": 57159, + "Ġdiminish": 57160, + "PIN": 57161, + "(draw": 57162, + ".ToDateTime": 57163, + ".EqualTo": 57164, + "(pin": 57165, + "-pencil": 57166, + "luent": 57167, + "ĠCaller": 57168, + "Ġplayful": 57169, + "-'+": 57170, + "xca": 57171, + "swick": 57172, + "){}Ċ": 57173, + "}:${": 57174, + "ĠMeth": 57175, + ".getCell": 57176, + ".break": 57177, + "Ġymax": 57178, + "='Ċ": 57391, + "ĠHiro": 57392, + "(TRUE": 57393, + "asurer": 57394, + "Ġcuer": 57395, + "Uber": 57396, + ".Operation": 57397, + "Ġolan": 57398, + "Ġthrilling": 57399, + "'.": 57421, + "ĉvalid": 57422, + "\"\",": 57423, + "Instrument": 57424, + ">J": 57425, + "Ġnostr": 57426, + "ĠRift": 57427, + "_Port": 57428, + "Ġveces": 57429, + "[['": 57430, + "Ġrallies": 57431, + "-series": 57432, + "Ġvv": 57433, + ".uc": 57434, + "Ġrtn": 57435, + "StateChanged": 57436, + "(ins": 57437, + "ĠCla": 57438, + "------------Ċ": 57439, + "cus": 57440, + "ĠReload": 57441, + "//------------------------------------------------------------------------------------------------": 57442, + ".seconds": 57443, + "_destination": 57444, + "Ġscrewed": 57445, + ">c": 57446, + "Thickness": 57447, + "Designer": 57448, + "Ġgrids": 57449, + "nÄħ": 57450, + "(cookie": 57451, + "Trip": 57452, + "-Mobile": 57453, + "Ġvoll": 57454, + "Ġgenital": 57455, + "Ġconfisc": 57456, + "ĠConfederate": 57457, + "ĠwebView": 57458, + "Ġmise": 57459, + "Ġcler": 57460, + "(selection": 57461, + "$date": 57462, + "Ġsharpen": 57463, + "ragen": 57464, + "AndUpdate": 57465, + "Ġremix": 57466, + "Ġhtons": 57467, + "RW": 57468, + "MPI": 57469, + "Ġretrieval": 57470, + "Ġrichest": 57471, + ".Decode": 57472, + ":initComponents": 57473, + "ĠTValue": 57474, + "Saint": 57475, + "@include": 57476, + "ĠPERSON": 57477, + ".sep": 57478, + "ĠLDAP": 57479, + "gba": 57480, + "ĠgroÃŁe": 57481, + "Ġreliably": 57482, + "ĠDFS": 57483, + ".getItemId": 57484, + "Ġprésent": 57485, + ".getToken": 57486, + "Ġchinese": 57487, + "ĠMeal": 57488, + "YOU": 57489, + "\">>ĊĊ": 58048, + "bower": 58049, + "Ġswapped": 58050, + "/install": 58051, + "Ġsinks": 58052, + "etrize": 58053, + "Ġdeclines": 58054, + "ĉmysql": 58055, + "ĠCString": 58056, + "ĠMotionEvent": 58057, + ".Language": 58058, + "Road": 58059, + "ÑĤеÑĢ": 58060, + "ascimento": 58061, + "'))->": 58062, + ".about": 58063, + "(editor": 58064, + "ĠRatings": 58065, + "income": 58066, + "Å¡e": 58067, + ".dequeueReusableCell": 58068, + "ĠAustrian": 58069, + "Ġsulla": 58070, + "ĠTribunal": 58071, + "ĠDidn": 58072, + "оваÑĢ": 58073, + "Ġinspections": 58074, + "Boss": 58075, + "Ġcocktails": 58076, + "Ġapologized": 58077, + "_subplot": 58078, + "opal": 58079, + "+=(": 58080, + "Ġresonance": 58081, + "ibu": 58082, + "Ġ리": 58083, + "roma": 58084, + "reserve": 58085, + "pls": 58086, + "ĠTah": 58087, + "axies": 58088, + "OPLE": 58089, + "ĠDarren": 58090, + "ĠZombie": 58091, + "_Map": 58092, + "Ġ])ĊĊ": 58093, + "ĠQi": 58094, + "ĠSail": 58095, + "Ġrestrictive": 58096, + "Ġerosion": 58097, + "-par": 58098, + "WHITE": 58099, + "Ġoldu": 58100, + "Ġaperture": 58101, + "Ġbitcoins": 58102, + "texto": 58103, + "ĠComcast": 58104, + "Ġtimeless": 58105, + "enkins": 58106, + "Ġfeeder": 58107, + "/tmp": 58108, + "resden": 58109, + "+'_": 58110, + ".Destroy": 58111, + "Ġçok": 58112, + "ĠDOCUMENT": 58113, + ".lng": 58114, + ".tagName": 58115, + "Ġkullan": 58116, + "egrate": 58117, + "Ġ(*.": 58118, + "ç¼ĸè¾ij": 58119, + "Ġhandshake": 58120, + "soc": 58121, + "_geometry": 58122, + "ĠDamascus": 58123, + "Minor": 58124, + "ĠKafka": 58125, + "ìŬ": 58126, + "Florida": 58127, + "_compute": 58128, + ".expr": 58129, + "Ġparalle": 58130, + "ĠDiaz": 58131, + "cir": 58132, + "[target": 58133, + "Ġjoking": 58134, + "Ġglor": 58135, + "(setq": 58136, + "_handlers": 58137, + "Hang": 58138, + "Ġferr": 58139, + "riminal": 58140, + "ĉĠĠĠĠĉĉ": 58141, + "enties": 58142, + "defines": 58143, + "-tax": 58144, + "jsonp": 58145, + "ĠUPS": 58146, + "metro": 58147, + "__;Ċ": 58148, + "ĠUganda": 58149, + "])):Ċ": 58150, + "_td": 58151, + "xae": 58152, + "lw": 58153, + ".OS": 58154, + "ĠLogged": 58155, + "acid": 58156, + "ĠMayo": 58157, + "aspect": 58158, + "Ġvaginal": 58159, + "Ġinitializing": 58160, + "Ġsteroids": 58161, + "fiction": 58162, + "GRE": 58163, + "gend": 58164, + "Ġliabilities": 58165, + "ĠLets": 58166, + "Mech": 58167, + "(nc": 58168, + "(change": 58169, + "Ġconnectors": 58170, + ":k": 58171, + "Ġtast": 58172, + "!\");ĊĊ": 58173, + "things": 58174, + "rophy": 58175, + "luetooth": 58176, + "ĠSignUp": 58177, + ".ctrl": 58178, + "Ġtherein": 58179, + "orda": 58180, + ".escape": 58181, + "igator": 58182, + "Ġpetrol": 58183, + "Ġspecimen": 58184, + "Ġdebuted": 58185, + "-Pro": 58186, + "Ġcrises": 58187, + ".addView": 58188, + "ëıĻ": 58189, + "-door": 58190, + "Ġmonet": 58191, + "Ġmillis": 58192, + "Ġvier": 58193, + "InternalEnumerator": 58194, + "Ġadmins": 58195, + "ĠLair": 58196, + "zin": 58197, + "getQuery": 58198, + "umbles": 58199, + "LIMIT": 58200, + "ĠVig": 58201, + "_song": 58202, + "": 58515, + "Ġpasado": 58516, + "thank": 58517, + "_Delete": 58518, + "ĠBrighton": 58519, + ",unsigned": 58520, + "ä½ľèĢħ": 58521, + "Ġaspirations": 58522, + "-how": 58523, + "Rose": 58524, + "=((": 58525, + "_needed": 58526, + "_plural": 58527, + ">ĊĊ": 58645, + "Ġsurfaced": 58646, + "ĠìłĢìŀ¥": 58647, + "platz": 58648, + "ĉemail": 58649, + "ceptors": 58650, + "\">(": 58651, + "Ġepile": 58652, + "读": 58653, + "ĠDebt": 58654, + "åijĬ": 58655, + "NOP": 58656, + "\"https": 58657, + ":j": 58658, + "FormItem": 58659, + "_LICENSE": 58660, + ".getDouble": 58661, + "ĠAgenda": 58662, + "ĉfinally": 58663, + "(filters": 58664, + "(av": 58665, + "ç¾İ": 58666, + "APER": 58667, + "Ġlava": 58668, + "еÑĢж": 58669, + "))))ĊĊ": 58670, + "Ġfaulty": 58671, + "_nm": 58672, + "Ġtrava": 58673, + "(Bitmap": 58674, + "Ġspeeding": 58675, + ">').": 58676, + "Ġscreened": 58677, + "_roll": 58678, + "ĠMacBook": 58679, + "ĠAUD": 58680, + "Ġdiagnose": 58681, + ".Generate": 58682, + "Ġ^^": 58683, + "Ġstrs": 58684, + "[Test": 58685, + "Ġransom": 58686, + "ĠDHCP": 58687, + "elden": 58688, + "Ġinterpretations": 58689, + "()].": 58690, + "flatMap": 58691, + "ĠlineHeight": 58692, + "_mount": 58693, + "ĠWizards": 58694, + "Ġsluts": 58695, + "ehler": 58696, + "odal": 58697, + "Ġmilitia": 58698, + "å²": 58699, + "earned": 58700, + "Ġmisery": 58701, + "intval": 58702, + "fund": 58703, + "Ġhides": 58704, + "Ġdiarr": 58705, + "ĠWesley": 58706, + "Ġxmm": 58707, + "Ġquem": 58708, + "ĠArabs": 58709, + "ifth": 58710, + "ategorized": 58711, + "Disposable": 58712, + "Pure": 58713, + "_NOTIFY": 58714, + "snippet": 58715, + "ĠGarrett": 58716, + ".running": 58717, + ".weights": 58718, + "Ġ(--": 58719, + "Ġinvariant": 58720, + "äºĭä»¶": 58721, + "ĠAllowed": 58722, + "dirs": 58723, + "Ġpassions": 58724, + "Ġlad": 58725, + "ĠFlush": 58726, + "menus": 58727, + ":block": 58728, + "Ġcompra": 58729, + ".chomp": 58730, + "allocator": 58731, + "Ġcurated": 58732, + "ĠKnowing": 58733, + "ĠPatterson": 58734, + "Ġtelah": 58735, + "'ex": 58736, + "Ġdoomed": 58737, + "Ġphilanth": 58738, + "otty": 58739, + ".styles": 58740, + "Owned": 58741, + "Ġallergies": 58742, + "=params": 58743, + "ocese": 58744, + "itelist": 58745, + "ĠSending": 58746, + "bef": 58747, + "orrar": 58748, + "ĠNão": 58749, + "ĠFargo": 58750, + "ĠLub": 58751, + "ĠCombined": 58752, + "_given": 58753, + "ĉĉĉĉĉĠĠĠĠ": 58754, + "Ġreconciliation": 58755, + "Patterns": 58756, + "azard": 58757, + "Ġbiomass": 58758, + "ĠHouses": 58759, + "respuesta": 58760, + "cco": 58761, + "/topics": 58762, + "ĠYuk": 58763, + "Ġweakened": 58764, + "_calendar": 58765, + "Ġmulheres": 58766, + "ĠMarl": 58767, + "Ġsine": 58768, + "ĠTil": 58769, + "ĠSouls": 58770, + "ĠDeutsche": 58771, + "ĠFOLLOW": 58772, + "Ġpipelines": 58773, + "ĠBeverly": 58774, + "_DIPSETTING": 58775, + "\"#": 58776, + "ĠProto": 58777, + ".big": 58778, + "ĠSavings": 58779, + "ĠTanz": 58780, + "jun": 58781, + "ĠGamma": 58782, + "ĠSadd": 58783, + "Ġadvisors": 58784, + "Ġroast": 58785, + "Ġunters": 58786, + "udies": 58787, + "_lon": 58788, + "-pointer": 58789, + "ĠElementRef": 58790, + "\\Builder": 58791, + "exampleInput": 58792, + ".webdriver": 58793, + "dataType": 58794, + "ĠQuite": 58795, + "ĠCeltics": 58796, + "uil": 58797, + "-defense": 58798, + "bish": 58799, + "ĠUIWindow": 58800, + "ĠSuddenly": 58801, + ".hot": 58802, + ".reason": 58803, + "Ġgör": 58804, + "AMD": 58805, + ".Multi": 58806, + "authenticated": 58807, + "regions": 58808, + ";(": 58809, + "аÑĢам": 58810, + "ĠKirby": 58811, + "$route": 58812, + "PRECATED": 58813, + "ĠDurham": 58814, + "owo": 58815, + "ĠPerforms": 58816, + "Ġdisregard": 58817, + "nst": 58818, + "ĠPols": 58819, + "ĠgetP": 58820, + "\"]:": 58821, + "-colored": 58822, + "(Keys": 58823, + "ĠAlleg": 58824, + "_modify": 58825, + "_loading": 58826, + "strained": 58827, + "Ġatroc": 58828, + "_phr": 58829, + "": 59821, + "ceph": 59822, + ".DateTimePicker": 59823, + ".\";ĊĊ": 59824, + "ĠTie": 59825, + ",item": 59826, + "Ġmenn": 59827, + "Gas": 59828, + "ocha": 59829, + "_virtual": 59830, + "Ġmasterpiece": 59831, + "_sequences": 59832, + "LTE": 59833, + "ĠSubmission": 59834, + "Caller": 59835, + "$\\": 59836, + "Sport": 59837, + "agus": 59838, + "ConstraintMaker": 59839, + "Ġcoloc": 59840, + "Ġwig": 59841, + "ĠУ": 59842, + "ĉArray": 59843, + "Looks": 59844, + "ĠGTA": 59845, + ".steps": 59846, + "atchewan": 59847, + "_ranges": 59848, + "extAlignment": 59849, + "ĠBrennan": 59850, + "Ġabstraction": 59851, + "ulerAngles": 59852, + ".misc": 59853, + "Ġantibodies": 59854, + "Ġexponential": 59855, + "ĠCHANNEL": 59856, + "expense": 59857, + "'y": 59858, + "Ġdetectives": 59859, + "Ġpurported": 59860, + "YSTEM": 59861, + "Ġradioactive": 59862, + "ĠLatina": 59863, + ".Encoding": 59864, + ".TAG": 59865, + "xin": 59866, + "Degree": 59867, + "uracion": 59868, + "prices": 59869, + "ĠReferentialAction": 59870, + "Ġrarity": 59871, + "Ġpiles": 59872, + "gende": 59873, + "_projects": 59874, + "_globals": 59875, + ".startTime": 59876, + "Ġ구": 59877, + "SECTION": 59878, + "_publish": 59879, + "Fault": 59880, + "DDL": 59881, + "_prior": 59882, + "Mom": 59883, + "Ġthicker": 59884, + "Ġsequelize": 59885, + "Ġessentials": 59886, + "stras": 59887, + "intr": 59888, + ">(()": 59889, + ".management": 59890, + "eil": 59891, + "éĹŃ": 59892, + "Aware": 59893, + ".City": 59894, + "ĠArbit": 59895, + "_DM": 59896, + "_keyboard": 59897, + "LObject": 59898, + "-webpack": 59899, + "ĠNewport": 59900, + "ĠprincipalColumn": 59901, + "legant": 59902, + "Ġpallet": 59903, + "Ġfracture": 59904, + "Ġgmail": 59905, + ".Meta": 59906, + "Above": 59907, + ".KeyEvent": 59908, + "jit": 59909, + "_macro": 59910, + "_PUSH": 59911, + "ứ": 59912, + "/controller": 59913, + "åĬłè½½": 59914, + "Ġsuperficial": 59915, + "exterity": 59916, + "Ġmensagem": 59917, + "Wind": 59918, + "iston": 59919, + ".openapi": 59920, + "иÑĢов": 59921, + "ĠSerializer": 59922, + "uctive": 59923, + "Ġzar": 59924, + "Places": 59925, + ".Static": 59926, + "Ba": 59927, + "Ġinadvert": 59928, + "ĠIndonesian": 59929, + "_IPV": 59930, + "(horizontal": 59931, + "ĠgetTitle": 59932, + "idepress": 59933, + "ĠConsoleColor": 59934, + "ipers": 59935, + "$out": 59936, + "Ġfestive": 59937, + "Ġevenings": 59938, + ".GetData": 59939, + "uitka": 59940, + "ĠManuals": 59941, + "ussed": 59942, + "_Max": 59943, + ".Chat": 59944, + "ĠAircraft": 59945, + "=com": 59946, + "FOUND": 59947, + "apro": 59948, + "Ġtreasures": 59949, + "_alive": 59950, + "Ġgadget": 59951, + "eking": 59952, + "ButtonDown": 59953, + "Browsable": 59954, + ".PERMISSION": 59955, + "PASSWORD": 59956, + "ĠHASH": 59957, + "fé": 59958, + "\\TestCase": 59959, + "LOSS": 59960, + "others": 59961, + ",J": 59962, + "Ġasshole": 59963, + "werk": 59964, + "Ġmã": 59965, + ".ie": 59966, + "evil": 59967, + "kontakte": 59968, + "////////////////////////////////////////////////////////////////////////////////Ċ": 59969, + "=sys": 59970, + "ĉlock": 59971, + "--;ĊĊ": 59972, + "_FUN": 59973, + "FillColor": 59974, + "óa": 59975, + "prend": 59976, + "Ġcompressor": 59977, + "Mother": 59978, + "ĠArcher": 59979, + ".goto": 59980, + "Ġwürde": 59981, + "Ġbamboo": 59982, + "ï¼İ": 59983, + "ĠTrees": 59984, + "Ġbumper": 59985, + "Ġsausage": 59986, + "ĠElasticsearch": 59987, + "Ġhorizontally": 59988, + "ĠGul": 59989, + "Immutable": 59990, + "Ġloser": 59991, + "Ġaborted": 59992, + "-demo": 59993, + "ĠHatch": 59994, + "Ġunde": 59995, + "Ġprocesso": 59996, + "-call": 59997, + "Income": 59998, + "åĥ": 59999, + "_returns": 60000, + "'].\"'": 60001, + "(sw": 60002, + "CBS": 60003, + "amilies": 60004, + "ĠYourself": 60005, + "ĠHolt": 60006, + ".MON": 60007, + "à§ĩ": 60008, + "ÑĪе": 60009, + "anon": 60010, + "ĠFontAwesome": 60011, + "producer": 60012, + "jr": 60013, + "Ġmau": 60014, + "ĉinter": 60015, + "Ġdishonest": 60016, + "Ġmagna": 60017, + "ĠCollective": 60018, + "Ġvraiment": 60019, + "Ġchoix": 60020, + "stay": 60021, + "Ġwelding": 60022, + "rising": 60023, + ",min": 60024, + "ĠFate": 60025, + "glob": 60026, + "RGBA": 60027, + "Ġdette": 60028, + "Ven": 60029, + "Ġembarrassment": 60030, + ".DELETE": 60031, + "gregar": 60032, + "-render": 60033, + "(bucket": 60034, + "\">ĊĊĊ": 60035, + ".waitKey": 60036, + "Busy": 60037, + "Ġdifferentiation": 60038, + "ĠCST": 60039, + ".Constant": 60040, + "ĠlineNumber": 60041, + "(matches": 60042, + "Ġwebsocket": 60043, + "Ġbarred": 60044, + "Ġpuedes": 60045, + "Mono": 60046, + "CORE": 60047, + "IID": 60048, + "ĠĠĠĠčĊčĊ": 60049, + "Ġpúblico": 60050, + "leaning": 60051, + "Ġcleansing": 60052, + "Ġcris": 60053, + "ĠDevils": 60054, + "_SETTING": 60055, + "untary": 60056, + ".);Ċ": 60057, + "ĊĠĠĠĊ": 60058, + "[curr": 60059, + "tsy": 60060, + "ĠAlexis": 60061, + "ritel": 60062, + "Ġpetroleum": 60063, + ".preprocessing": 60064, + "matter": 60065, + "ForResult": 60066, + "-license": 60067, + "Ġtravellers": 60068, + "ĠDispatcher": 60069, + "ennifer": 60070, + "Ġdigestive": 60071, + "PED": 60072, + "hibition": 60073, + "MASConstraintMaker": 60074, + "ĠWatt": 60075, + "Benef": 60076, + ".setView": 60077, + "dto": 60078, + "TEE": 60079, + "ĠPelosi": 60080, + "_EXTRA": 60081, + "Ġmedals": 60082, + "xhr": 60083, + "forecast": 60084, + "Ġnargin": 60085, + "ouns": 60086, + "-fill": 60087, + "_CURSOR": 60088, + "Ġsupervised": 60089, + "Ġturf": 60090, + "ĠEdgar": 60091, + "POSITION": 60092, + "ĠcategoryId": 60093, + "âī": 60094, + "_ER": 60095, + "á»§a": 60096, + "Shown": 60097, + ".ll": 60098, + "_POLICY": 60099, + "(),'": 60100, + "ĠPrev": 60101, + "ĠStringField": 60102, + "ĉGlobal": 60103, + "assed": 60104, + "Throughout": 60105, + "ostringstream": 60106, + ".awtextra": 60107, + "Ġslopes": 60108, + "ĠSequential": 60109, + "Ġgiorn": 60110, + "Ġzelf": 60111, + "Ġversatility": 60112, + "leneck": 60113, + ".cgi": 60114, + "Ġdoubling": 60115, + "ĠBangkok": 60116, + "Ġbuurt": 60117, + "Ġusuário": 60118, + "studio": 60119, + "Ġjeunes": 60120, + "Ġmuted": 60121, + "Ġips": 60122, + "_fraction": 60123, + "&&(": 60124, + "Ġstunt": 60125, + "');?>čĊ": 60149, + "Ġevapor": 60150, + "bable": 60151, + "ĠPRICE": 60152, + "Ġæ³": 60153, + "lucent": 60154, + "Ġvamp": 60155, + "ĠTechnician": 60156, + "Ġuniqueness": 60157, + "Mes": 60158, + "urban": 60159, + ".parametrize": 60160, + "ĠReplay": 60161, + "Sessions": 60162, + "embr": 60163, + "-Americans": 60164, + "_PROXY": 60165, + "Ġpian": 60166, + "Ġtrie": 60167, + "ĠDestructor": 60168, + "GameState": 60169, + "ĠIMF": 60170, + "chin": 60171, + "Ġporte": 60172, + "ĠSwal": 60173, + "åŁİ": 60174, + "Substring": 60175, + "iming": 60176, + "/Library": 60177, + "Ġfrightened": 60178, + "writes": 60179, + "Ġrecursos": 60180, + "arResult": 60181, + "_INITIALIZ": 60182, + "ĠBadge": 60183, + "_crc": 60184, + "Eight": 60185, + "ĠDISTINCT": 60186, + "Ġthro": 60187, + "@Xml": 60188, + "ĠLegendary": 60189, + "-twitter": 60190, + "_easy": 60191, + "Ġ+++": 60192, + "(DATA": 60193, + ".Locale": 60194, + "Ġkä": 60195, + "Ġnurt": 60196, + "Ġcruis": 60197, + "_ios": 60198, + "Ġsensing": 60199, + "_Line": 60200, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 60201, + "pong": 60202, + "oleon": 60203, + "Ġwildcard": 60204, + "ç͍æĪ·åIJį": 60205, + "Ġbegging": 60206, + "Rod": 60207, + "ĠÃİ": 60208, + "_CELL": 60209, + "Researchers": 60210, + ".selector": 60211, + "_ing": 60212, + "Ġaspiring": 60213, + "Ġimmortal": 60214, + "Ġymin": 60215, + "_robot": 60216, + "Ġplur": 60217, + "BTC": 60218, + "ĠDID": 60219, + "Ġpiercing": 60220, + "*u": 60221, + "_DEFINED": 60222, + "ĠThi": 60223, + "itaire": 60224, + "(media": 60225, + "-ons": 60226, + "Ġchefs": 60227, + "Ġ\"*.": 60228, + "/AP": 60229, + "Ġrazor": 60230, + "ĠsearchData": 60231, + "Ġ=&": 60232, + "ĠãĢĤ": 60233, + "Ġmourn": 60234, + "tingham": 60235, + "Ġoli": 60236, + "ĠVernon": 60237, + "_RS": 60238, + "ŀæĢ§": 60239, + "Ġfácil": 60240, + "angen": 60241, + "celain": 60242, + "Ġail": 60243, + "lest": 60244, + "ĠQCOMPARE": 60245, + "gain": 60246, + "Ġε": 60247, + "ĠKob": 60248, + "ĠFault": 60249, + "_configs": 60250, + "ç»ĵæŀľ": 60251, + ".+": 60252, + "calar": 60253, + "(colors": 60254, + "Mul": 60255, + "_ART": 60256, + "Ġexperimenting": 60257, + "ermen": 60258, + "ĠAnglo": 60259, + ".FixedSingle": 60260, + "Sea": 60261, + "Ġctxt": 60262, + ".slider": 60263, + "Collapse": 60264, + "Grey": 60265, + "Ġfld": 60266, + "-proof": 60267, + ".capacity": 60268, + "getParent": 60269, + "ĠCompliance": 60270, + "Ġburgl": 60271, + "-rec": 60272, + "Ġoverwritten": 60273, + "MU": 60274, + "Ġrouters": 60275, + "ĉModel": 60276, + "Ġfantasies": 60277, + "avian": 60278, + "_prec": 60279, + "ĠScandin": 60280, + "Ġ//<": 60281, + "/oct": 60282, + "Ġceremonies": 60283, + "Months": 60284, + "undy": 60285, + "Ġqued": 60286, + "ĠNou": 60287, + "ĠVibr": 60288, + ".rgb": 60289, + "Ġcitrus": 60290, + "Ġbraces": 60291, + "-uppercase": 60292, + "getTable": 60293, + "Ġdopo": 60294, + "ĠKerr": 60295, + "_CHILD": 60296, + "-cloud": 60297, + "ĉMatrix": 60298, + "Ġgardening": 60299, + "Sing": 60300, + "almost": 60301, + "Requirements": 60302, + "uguay": 60303, + "(Property": 60304, + "subscriber": 60305, + "FAST": 60306, + "reaction": 60307, + "(lp": 60308, + ")})Ċ": 60309, + "`).": 60310, + ".wallet": 60311, + "_exchange": 60312, + ".Maximum": 60313, + "ĠVerb": 60314, + "âĶģ": 60315, + "()<": 60316, + "ï¼ĽĊ": 60317, + "ROT": 60318, + "CARD": 60319, + "ubit": 60320, + "{@": 60321, + "_kel": 60322, + "ĠTooltip": 60323, + "MySQL": 60324, + "MainActivity": 60325, + "arf": 60326, + "Ġmalign": 60327, + "Ġseinen": 60328, + "apist": 60329, + "Ġ<%": 60330, + "MethodImpl": 60331, + "Mil": 60332, + "ĠMick": 60333, + ".depend": 60334, + ">&": 60367, + "ĉok": 60368, + "-low": 60369, + ".usuario": 60370, + "nested": 60371, + "XB": 60372, + "OURS": 60373, + ".BorderColor": 60374, + "Ġbrow": 60375, + "ĠÐķ": 60376, + "corr": 60377, + "ĠRedskins": 60378, + ".getTag": 60379, + ".getTransaction": 60380, + "Ġstigma": 60381, + "hardt": 60382, + "ĠPlayerPrefs": 60383, + "alsy": 60384, + "ucson": 60385, + "Languages": 60386, + "ĠOlivia": 60387, + "Ġtac": 60388, + "Ġbli": 60389, + "Ġcaval": 60390, + "Ġconsolidated": 60391, + "Ġperil": 60392, + "Ġdele": 60393, + "Ġformulated": 60394, + "Ġhighways": 60395, + ".spawn": 60396, + "==$": 60397, + "ĠNiet": 60398, + "Ġveggies": 60399, + "ypo": 60400, + "-rule": 60401, + "ĠVie": 60402, + "/epl": 60403, + "Ġenfants": 60404, + "stringLiteral": 60405, + "Ġtoughest": 60406, + "buyer": 60407, + "Ġcovariance": 60408, + "Ġili": 60409, + "ĠSophie": 60410, + "ĠBAB": 60411, + "Ġ\"),": 60412, + "ĠUk": 60413, + "currentIndex": 60414, + "_userdata": 60415, + ".codec": 60416, + "ĠPunjab": 60417, + "ĠSNP": 60418, + "lol": 60419, + "advance": 60420, + "Ġcomfy": 60421, + "JsonIgnore": 60422, + "Ġfashionable": 60423, + "ĠICON": 60424, + "Ġora": 60425, + "ĠPricing": 60426, + "E": 60484, + "tering": 60485, + "/screens": 60486, + "Ġheightened": 60487, + "аÑĢÑĤ": 60488, + "Authorities": 60489, + "_bbox": 60490, + "ünst": 60491, + ".fontSize": 60492, + "ĠBOOLEAN": 60493, + "divide": 60494, + "ĠSloven": 60495, + "ucer": 60496, + "ÙĴ": 60497, + "stub": 60498, + "Ġnavigating": 60499, + ":animated": 60500, + "_NOW": 60501, + "_vect": 60502, + "}{Ċ": 60503, + "@(": 60504, + "Ġtelecom": 60505, + "Ġcontracting": 60506, + "ĠAssange": 60507, + "Ġextracting": 60508, + "Ġgrö": 60509, + "cobra": 60510, + ".DIS": 60511, + "Ġcrab": 60512, + "Ġtwitch": 60513, + "Ġverts": 60514, + "Ġrejects": 60515, + "ĉformat": 60516, + "Ġregeneration": 60517, + ".Sys": 60518, + "solve": 60519, + "ĉdialog": 60520, + "shi": 60521, + "meter": 60522, + "(best": 60523, + "validators": 60524, + "Ġonwards": 60525, + "Ġguru": 60526, + "Ġmoderator": 60527, + "owied": 60528, + "experiment": 60529, + "rub": 60530, + "Ġmqtt": 60531, + "ĠCaucas": 60532, + "Ġnationalism": 60533, + "Ġmange": 60534, + "ĉImGui": 60535, + "/Edit": 60536, + "Ġinh": 60537, + "Ġintellig": 60538, + "erokee": 60539, + "ĉexport": 60540, + "Ġdiscriminate": 60541, + "subtract": 60542, + "ĠMoodle": 60543, + "enser": 60544, + "ĠGuides": 60545, + "RAP": 60546, + "-hot": 60547, + "_grp": 60548, + ".picture": 60549, + "XA": 60550, + "ĠinitView": 60551, + "_Comm": 60552, + "Ġoverdose": 60553, + "Ġ+ĊĊ": 60554, + "ĠSilent": 60555, + "shows": 60556, + "Ġinterpolate": 60557, + "Formation": 60558, + "Ġbisc": 60559, + "markets": 60560, + "(SC": 60561, + "Ze": 60562, + "ĠNetworking": 60563, + "Ġadrenal": 60564, + "ĠGuns": 60565, + "eteor": 60566, + "Declared": 60567, + "orgetown": 60568, + "Ġkarena": 60569, + "/password": 60570, + "_addresses": 60571, + "ITERAL": 60572, + "Buzz": 60573, + "ĠConway": 60574, + "(case": 60575, + "PWD": 60576, + "heiro": 60577, + "(act": 60578, + "**čĊ": 60579, + "());ĊĊĊ": 60580, + "Ġanv": 60581, + "Ġ..ĊĊ": 60582, + "(MenuItem": 60583, + "(mail": 60584, + "_sections": 60585, + "ĉnet": 60586, + "Ġplut": 60587, + "Ġwrench": 60588, + "/object": 60589, + "ĠIst": 60590, + "ĠVIS": 60591, + "/pub": 60592, + "alten": 60593, + "Ġguitars": 60594, + "Ġantibiotic": 60595, + "ï¼ĸ": 60596, + "¹": 60597, + "Ġ\"+\"": 60598, + "formula": 60599, + "Ġbabes": 60600, + "ĠPrompt": 60601, + "Ġenim": 60602, + "/player": 60603, + "ĉref": 60604, + "ĠbyÄĩ": 60605, + "Ġconsumes": 60606, + "ĠHast": 60607, + "ĠTao": 60608, + "Ġ'))Ċ": 60609, + "Ġclam": 60610, + "Ġthighs": 60611, + "Ġmotif": 60612, + "ApiOperation": 60613, + "ĠWL": 60614, + "getC": 60615, + "ĉflags": 60616, + "ointments": 60617, + "Ġeconomical": 60618, + "needle": 60619, + "xls": 60620, + "practice": 60621, + "utzer": 60622, + "timeofday": 60623, + "-output": 60624, + "ĠfindById": 60625, + "ĠBuddy": 60626, + "ÐŀÑĤ": 60627, + "Seven": 60628, + "ĠBark": 60629, + "Ġenvoy": 60630, + "_algorithm": 60631, + "åĪ©": 60632, + "Ġballistic": 60633, + "ç§»": 60634, + "rades": 60635, + "ĉdoc": 60636, + "roducing": 60637, + "ĠEating": 60638, + "Unmount": 60639, + "/dataTables": 60640, + "_bonus": 60641, + "Ġlitt": 60642, + "pps": 60643, + ")localObject": 60644, + "perf": 60645, + "ĠHelvetica": 60646, + "shutdown": 60647, + "/ml": 60648, + ".tokens": 60649, + "ĠHardcore": 60650, + ",row": 60651, + "/bg": 60652, + "Scaler": 60653, + "âĢĶas": 60654, + "_logits": 60655, + "âĢĻint": 60656, + "ĉApp": 60657, + "Implicit": 60658, + ".Fprintf": 60659, + "ETO": 60660, + "Ġterra": 60661, + "Ġpossessing": 60662, + ".rstrip": 60663, + ",),": 60664, + "=yes": 60665, + "ĠStripe": 60666, + "?=": 60667, + "neutral": 60668, + ".good": 60669, + "Ġkennen": 60670, + "ĠSung": 60671, + "fault": 60672, + "ystatechange": 60673, + "Canadian": 60674, + "','\".$": 60675, + "ĠMits": 60676, + "ænd": 60677, + "ĠSTRUCT": 60678, + "ĠURLWithString": 60679, + "ĠCompass": 60680, + "Ġ--ĊĊ": 60681, + "ĠNSLayoutConstraint": 60682, + "|min": 60683, + "-adjust": 60684, + "Ġrebuilt": 60685, + "LIGHT": 60686, + "/se": 60687, + "-mount": 60688, + "vpn": 60689, + "validated": 60690, + "(QObject": 60691, + "Ġignition": 60692, + "ĠChargers": 60693, + "RYPTO": 60694, + "]initWithFrame": 60695, + "ĠFluid": 60696, + "Ġcadre": 60697, + "Ġnominations": 60698, + "Neill": 60699, + "ĠHou": 60700, + "Ġcurrents": 60701, + "_gene": 60702, + "(inp": 60703, + "Paris": 60704, + "zÄĻ": 60705, + "aggregate": 60706, + "Ġassoc": 60707, + "weeted": 60708, + "errat": 60709, + "âĢĵĊĊ": 60710, + "Ġ'/',Ċ": 60711, + "fixture": 60712, + "ĠHighest": 60713, + "ambient": 60714, + "Ġchmod": 60715, + "Ġconte": 60716, + "Ġsensual": 60717, + "Ġgarment": 60718, + "zers": 60719, + "ĠPowered": 60720, + "domains": 60721, + "Reward": 60722, + "iomanip": 60723, + "Ġcockpit": 60724, + "outfile": 60725, + "Ġbuiltin": 60726, + "Ġinsisting": 60727, + ".vars": 60728, + "zipcode": 60729, + "Ġ����": 60730, + "fails": 60731, + "Ġconsolidation": 60732, + "_oid": 60733, + "Planet": 60734, + "Ġ=\",": 60735, + "ĉel": 60736, + "UILT": 60737, + "ätz": 60738, + "afari": 60739, + "ĠMcCl": 60740, + "Timeline": 60741, + "Esta": 60742, + "Ġfram": 60743, + "YE": 60744, + "Ġcerebral": 60745, + "OfMonth": 60746, + "ĠPregn": 60747, + "ĠклаÑģÑģ": 60748, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 60749, + "ĠFres": 60750, + "Approved": 60751, + ".Special": 60752, + "ĠProtestant": 60753, + "Ġallergy": 60754, + "_pcm": 60755, + "ĉCopyright": 60756, + "ĠsuperClass": 60757, + "\"strconv": 60758, + "ĠMohamed": 60759, + "Ġ'//": 60760, + "ForeColor": 60761, + "Arthur": 60762, + "ĠJungle": 60763, + "Ġveins": 60764, + "Sad": 60765, + "Ġbackups": 60766, + "ĠOpinion": 60767, + "ût": 60768, + "Ġintermitt": 60769, + "odyn": 60770, + "ĠChristina": 60771, + "Ġandre": 60772, + "Ġevacuation": 60773, + "palette": 60774, + "horse": 60775, + "ĠResident": 60776, + "ĠHassan": 60777, + ".Nil": 60778, + "Ġaisle": 60779, + "ĠGrowing": 60780, + "Ġbloginfo": 60781, + "/sql": 60782, + "_ioctl": 60783, + "Scaling": 60784, + "ĠMonad": 60785, + "_cpp": 60786, + "ĠHutch": 60787, + "ĠAppleWebKit": 60788, + "Expense": 60789, + "_JOB": 60790, + "Ġpointless": 60791, + "FromBody": 60792, + "antal": 60793, + "Ġdepicting": 60794, + "ĠCELL": 60795, + "Ġrefin": 60796, + "ĠCNC": 60797, + "ì¹ĺ": 60798, + "_dimensions": 60799, + "ĠSAN": 60800, + "Ġaft": 60801, + "Ġfootsteps": 60802, + "ccoli": 60803, + "_PHONE": 60804, + "/math": 60805, + "-kind": 60806, + "ĠMeans": 60807, + "ichael": 60808, + ".guna": 60809, + "Ġinauguration": 60810, + "-driving": 60811, + "(delete": 60812, + "ĠtotalCount": 60813, + "_MC": 60814, + ".Extension": 60815, + "Commercial": 60816, + "ĠzIndex": 60817, + "$": 60949, + "Ġebay": 60950, + "Ġcaptive": 60951, + "pliant": 60952, + "ĠCalculates": 60953, + "olta": 60954, + "esting": 60955, + "_revision": 60956, + "Ġmús": 60957, + "+m": 60958, + "\",\"\",\"": 60959, + "WHAT": 60960, + "Ġcompassionate": 60961, + "harga": 60962, + "[random": 60963, + "Ġmodulo": 60964, + "(sn": 60965, + "Ġoccupations": 60966, + "////Ċ": 60967, + "ĉboard": 60968, + "ĠBalk": 60969, + "wiÄħ": 60970, + "ĠWifi": 60971, + ".Profile": 60972, + ":maj": 60973, + "ĉmat": 60974, + "LOCKS": 60975, + "(jButton": 60976, + "Ġ('$": 60977, + "Mur": 60978, + "æĮī": 60979, + "bble": 60980, + "Ġfrog": 60981, + "-hide": 60982, + "Ġbroadcaster": 60983, + "à¸ŀ": 60984, + "haled": 60985, + "Ġamusing": 60986, + "_predictions": 60987, + "_intr": 60988, + "Ġeagle": 60989, + "аÑĤелÑĮ": 60990, + "ĠgetList": 60991, + "psilon": 60992, + "Ġcharacterization": 60993, + "ARDS": 60994, + "Ġrelocation": 60995, + "Ġrulers": 60996, + "PAY": 60997, + "ĠDefinitely": 60998, + "_Action": 60999, + "Ġclosures": 61000, + "Ġfactual": 61001, + "odynamic": 61002, + "Ġprecautions": 61003, + "niej": 61004, + "ĠParties": 61005, + "ĠSubaru": 61006, + "Ġcousins": 61007, + "arbeit": 61008, + ".money": 61009, + "gunta": 61010, + "(and": 61011, + "getitem": 61012, + ".StylePriority": 61013, + "Ġslid": 61014, + "singleton": 61015, + "Ġgarn": 61016, + "ĠPAS": 61017, + "Ġdazz": 61018, + "aż": 61019, + "Ġbogus": 61020, + "ĠMog": 61021, + "Ġrivalry": 61022, + "isol": 61023, + "Ġlandmarks": 61024, + "ñas": 61025, + "Bern": 61026, + "ĠSachs": 61027, + "Ġ\")ĊĊ": 61028, + "Ġhostility": 61029, + "_mex": 61030, + "mere": 61031, + "Mot": 61032, + "pictureBox": 61033, + "Defense": 61034, + "Ġaffidavit": 61035, + "otherwise": 61036, + ".directory": 61037, + "_UnityEngine": 61038, + "-blog": 61039, + ".skin": 61040, + "phem": 61041, + "Apellido": 61042, + "erchant": 61043, + "[class": 61044, + "Ġwart": 61045, + ".\"[": 61046, + "aleur": 61047, + "/back": 61048, + "ĠĠĠĠĉĠĠĠ": 61049, + "Ġprecipitation": 61050, + "Ġobstruction": 61051, + "ĠpObj": 61052, + "Ġrupt": 61053, + "UCKET": 61054, + "aye": 61055, + "æİĴ": 61056, + "gx": 61057, + "Ġecl": 61058, + "Ġsecrecy": 61059, + "/Header": 61060, + "ĠLesb": 61061, + "Ġlei": 61062, + "ĠBulletin": 61063, + "Ġgiveaway": 61064, + ".Home": 61065, + "_ROOM": 61066, + "\"W": 61067, + "Ġcowork": 61068, + "_ra": 61069, + "ĠCycling": 61070, + "ĠPaw": 61071, + "Ġpupil": 61072, + "/arch": 61073, + "ĠFileUtils": 61074, + "é¦ĸ": 61075, + "rsp": 61076, + "Ġfreedoms": 61077, + "ĠLear": 61078, + "}`).": 61079, + "Ġbowls": 61080, + "/block": 61081, + "_logging": 61082, + "Ġmethane": 61083, + "Ġhorns": 61084, + "Ġwonderfully": 61085, + "Ġalterations": 61086, + "Ġexile": 61087, + "lsen": 61088, + "_pause": 61089, + "_LANGUAGE": 61090, + "ĠUSDA": 61091, + "_mysql": 61092, + "_AMOUNT": 61093, + "ĠLIFE": 61094, + "Ġyoungsters": 61095, + "Ġriots": 61096, + "[E": 61097, + "Ġunforgettable": 61098, + ",},Ċ": 61099, + "Disposed": 61100, + "ĠAssassin": 61101, + "UNG": 61102, + "ĠNewsp": 61103, + "UserService": 61104, + ":aload": 61105, + "+',": 61106, + "Ġsettlers": 61107, + "Ġscreams": 61108, + "Ġinconvenience": 61109, + ".Rotate": 61110, + "Ġjars": 61111, + "ĠPuzzle": 61112, + "Ġmest": 61113, + "arsi": 61114, + "ĠSharma": 61115, + "|(": 61116, + ".ds": 61117, + "ĠSacred": 61118, + "_evt": 61119, + "Ġexpresses": 61120, + "Ġhoch": 61121, + "ĠDuch": 61122, + ".calls": 61123, + "thr": 61124, + "ĠSheffield": 61125, + ".AlertDialog": 61126, + "Ġradically": 61127, + "Ġtrous": 61128, + "Ġprevailing": 61129, + "ĠWWII": 61130, + "âĢĻn": 61131, + "ensely": 61132, + "ĠYesterday": 61133, + "ĠSirius": 61134, + "Ġkillers": 61135, + "ĠFFT": 61136, + "Ġoval": 61137, + "'):čĊ": 61138, + "Ġìłķë³´": 61139, + "ourage": 61140, + "ĠCheckbox": 61141, + "Workbook": 61142, + ".defer": 61143, + "_floor": 61144, + "Ġcouncill": 61145, + "Ġnorske": 61146, + "moil": 61147, + "orea": 61148, + "Ġmarketed": 61149, + "_SUR": 61150, + "xAA": 61151, + "Ġstained": 61152, + "eut": 61153, + "ĠMeng": 61154, + "Ġieee": 61155, + ".extern": 61156, + "egie": 61157, + "Ġrapp": 61158, + "ĠPyongyang": 61159, + "'class": 61160, + "Mob": 61161, + "ĠinitialValue": 61162, + "_wave": 61163, + "Ġjab": 61164, + "Ġmasculine": 61165, + "Ġamplifier": 61166, + "Ġtty": 61167, + "PathComponent": 61168, + "_xt": 61169, + "ĠGFP": 61170, + "/sec": 61171, + "ĉdispatch": 61172, + "markdown": 61173, + "ĠSchn": 61174, + "bole": 61175, + "··": 61176, + "mousemove": 61177, + "ĠerrMsg": 61178, + "Ġasign": 61179, + "_mono": 61180, + "ToSelector": 61181, + "ĠZu": 61182, + "(Rect": 61183, + "ĠErrorCode": 61184, + "latin": 61185, + "angible": 61186, + "vtk": 61187, + "CGSize": 61188, + "Pokemon": 61189, + "Ġclassmates": 61190, + "Ġattracts": 61191, + "ĠTatto": 61192, + "ultan": 61193, + "ológ": 61194, + "Ġhalted": 61195, + "न": 61196, + "ĠKart": 61197, + "Ġue": 61198, + "_InitStructure": 61199, + "TestClass": 61200, + "ĠAirbnb": 61201, + "_\",": 61202, + "Ġcharcoal": 61203, + "Ġipc": 61204, + "ĠStretch": 61205, + ".glide": 61206, + "latesAutoresizingMaskIntoConstraints": 61207, + "Ġpotion": 61208, + "ITTLE": 61209, + "Ġcountert": 61210, + "_hd": 61211, + "prepared": 61212, + "Ads": 61213, + "ĠVampire": 61214, + "robots": 61215, + ".CreateIndex": 61216, + "StatusLabel": 61217, + "Ġtucked": 61218, + "afür": 61219, + "Ut": 61220, + "Ġsweater": 61221, + "_FN": 61222, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĉ": 61223, + "ataka": 61224, + "Ġeyebrows": 61225, + "acoes": 61226, + "uden": 61227, + ".LinearLayoutManager": 61228, + "Ġsway": 61229, + "Ġmultin": 61230, + "())))Ċ": 61231, + "ĠNSUInteger": 61232, + "ĠMyBase": 61233, + "Partner": 61234, + "utschen": 61235, + "ĠCater": 61236, + ".setBackgroundColor": 61237, + "Ġaccomplishment": 61238, + "_problem": 61239, + ".dtd": 61240, + "ĠpageNumber": 61241, + "Ġjackets": 61242, + "Ġcropped": 61243, + "uels": 61244, + "ĠHep": 61245, + "Ġcapped": 61246, + "*Math": 61247, + "_callbacks": 61248, + "Ġpubb": 61249, + "ĠBrunswick": 61250, + ".respond": 61251, + "[\"_": 61252, + "Ġbedding": 61253, + "hythm": 61254, + "OX": 61255, + "(speed": 61256, + "Ġpesticides": 61257, + "Ġ-------": 61258, + ".Blue": 61259, + "Ġnoodles": 61260, + "ĠGoes": 61261, + "Ġsaver": 61262, + "oxy": 61263, + "_completion": 61264, + "ĠSwinger": 61265, + "ĠgetDate": 61266, + "Ġminded": 61267, + "integration": 61268, + "ĠLotus": 61269, + "(stop": 61270, + "(',');Ċ": 61271, + "Ġfloods": 61272, + "ĠWorkflow": 61273, + "Ġerupted": 61274, + "Macro": 61275, + "ĠSauce": 61276, + "ĠeventName": 61277, + "\\Input": 61278, + "Breaking": 61279, + "ĉwhen": 61280, + "_pw": 61281, + "INDER": 61282, + "ĠWellness": 61283, + "Ġvoxel": 61284, + "ĠMell": 61285, + "ĠMEDIA": 61286, + "SENS": 61287, + "ĠFunds": 61288, + "ĠMild": 61289, + "Ċ": 61298, + "Ġtempting": 61299, + "Ġtestament": 61300, + "Ġbible": 61301, + "Ġconsulted": 61302, + "ĠIndexError": 61303, + "è¨ĺ": 61304, + "Ġkeypad": 61305, + "izzo": 61306, + "(ok": 61307, + "Ġwhatsapp": 61308, + "ĠRemoteException": 61309, + "Ġteamed": 61310, + "âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ": 61311, + "»,": 61312, + "ĠgetTime": 61313, + "diag": 61314, + "issy": 61315, + "Ġhed": 61316, + "Ġknots": 61317, + "jom": 61318, + "Ġfunnel": 61319, + "-mails": 61320, + "Ġexporting": 61321, + "ĠVL": 61322, + "ĠKarn": 61323, + "ĠBuddhism": 61324, + "ĠAllan": 61325, + "_RADIUS": 61326, + "Ġwording": 61327, + "ĠForget": 61328, + "ĠCorona": 61329, + "iphy": 61330, + "Ġlimburg": 61331, + "uggy": 61332, + "ĠUserRepository": 61333, + "imin": 61334, + "(ele": 61335, + "Ġlabelled": 61336, + "社": 61337, + "ĠHerman": 61338, + ".qq": 61339, + "Ġ\"));Ċ": 61340, + "ieber": 61341, + ".Translate": 61342, + "ryn": 61343, + "Ġdesenv": 61344, + "umd": 61345, + "Simply": 61346, + "ĉmode": 61347, + "Rpc": 61348, + "ĠValencia": 61349, + "Ġstaffers": 61350, + "Ġselv": 61351, + "ĠSpike": 61352, + "Ġdelic": 61353, + "Ġeru": 61354, + "_DT": 61355, + "Judge": 61356, + "á»ķ": 61357, + "ĠBasin": 61358, + ".mutable": 61359, + "\"url": 61360, + "Ġtariff": 61361, + "ĠSleeve": 61362, + "Ġflare": 61363, + ".dropout": 61364, + "Ġbrides": 61365, + ")),čĊ": 61366, + "_constraints": 61367, + "destruct": 61368, + "Outline": 61369, + "Ġdisappears": 61370, + "_locked": 61371, + "ĠNSLocalizedString": 61372, + "cke": 61373, + "ĉnull": 61374, + "adresse": 61375, + "Ġtopping": 61376, + "ĠJoker": 61377, + "bishop": 61378, + "ноÑģÑĤÑĮ": 61379, + "andering": 61380, + "_amp": 61381, + "=time": 61382, + "_Space": 61383, + "_PULL": 61384, + "'=": 61385, + "Ġantiqu": 61386, + "Ġcach": 61387, + "___ĊĊ": 61388, + "ONES": 61389, + "оÑı": 61390, + "Ġunread": 61391, + ".policy": 61392, + "oooooooo": 61393, + "룬": 61394, + "Ġusted": 61395, + "ĠRece": 61396, + "Ġallem": 61397, + "ãĥ¼ãĤ¹": 61398, + "ĠThoughts": 61399, + "veillance": 61400, + "istrate": 61401, + "_lane": 61402, + "Ġfamed": 61403, + ".GetName": 61404, + "Ġsmoother": 61405, + "ĠQualified": 61406, + "azers": 61407, + "_geo": 61408, + "Fax": 61409, + "ĠMinds": 61410, + "ĠRaises": 61411, + "Ġtranscripts": 61412, + "Conversation": 61413, + "Ġremarked": 61414, + "ëĤĺ": 61415, + "dling": 61416, + "Ġdeploying": 61417, + "ĠsharedApplication": 61418, + "Ġkp": 61419, + "FontAwesomeIcon": 61420, + "_dummy": 61421, + "reiben": 61422, + "ĠJaneiro": 61423, + "Directions": 61424, + ".getBean": 61425, + "sass": 61426, + "Ġcommanders": 61427, + "vation": 61428, + "errorCode": 61429, + "ĠAlloy": 61430, + ".localized": 61431, + "Ðij": 61432, + "Ġdishwasher": 61433, + "ĠSoup": 61434, + "Nu": 61435, + "_Default": 61436, + "Ġuneven": 61437, + "Ġ/>\";Ċ": 61438, + "-Based": 61439, + "Ġseamlessly": 61440, + "-null": 61441, + "ĠXC": 61442, + "Ġstew": 61443, + "(delay": 61444, + "ATORS": 61445, + "ĠWheeler": 61446, + "\"H": 61600, + "east": 61601, + ".air": 61602, + "âĢľBut": 61603, + "ObjectContext": 61604, + "successfully": 61605, + "_land": 61606, + "Ġfolds": 61607, + "_COORD": 61608, + "Ġsubpo": 61609, + ".getAddress": 61610, + "instr": 61611, + "Materials": 61612, + "ÑĥÑģÑĤ": 61613, + "deposit": 61614, + "-last": 61615, + "_GRAY": 61616, + "=find": 61617, + "Ġmutant": 61618, + "Ġlesbienne": 61619, + "letcher": 61620, + "ROUGH": 61621, + "ureka": 61622, + ".capture": 61623, + "Ġenn": 61624, + "Ġ([[": 61625, + "ĠFlu": 61626, + "ĠtaskId": 61627, + "ĠHussein": 61628, + ".folder": 61629, + "Ġausterity": 61630, + "ISTRATION": 61631, + "_Impl": 61632, + "注æĦı": 61633, + "Ġdecree": 61634, + "-chat": 61635, + "Ġimplication": 61636, + "Ġguesses": 61637, + "ulkan": 61638, + "Analytics": 61639, + ".plus": 61640, + "COMMAND": 61641, + "ели": 61642, + "»ĊĊ": 61643, + "_SITE": 61644, + "ĠequalTo": 61645, + "SupportFragmentManager": 61646, + "ĠRecording": 61647, + "å®ĮæĪIJ": 61648, + "Ġbaggage": 61649, + "Ġpitchers": 61650, + "ĠEh": 61651, + "oque": 61652, + "ĉcnt": 61653, + "Ġ=>$": 61654, + "/foo": 61655, + "IRA": 61656, + "ĠSatellite": 61657, + "borah": 61658, + "Ġ}}\"Ċ": 61659, + "ĠEnds": 61660, + "ĠSpray": 61661, + ",param": 61662, + ".Chrome": 61663, + "*q": 61664, + "thought": 61665, + "ibrated": 61666, + "Ġthieves": 61667, + "Ġbeneficiaries": 61668, + "Entered": 61669, + "ottesville": 61670, + "Ġveterin": 61671, + "ByID": 61672, + "quipe": 61673, + "umption": 61674, + "-unit": 61675, + "ExecutionContext": 61676, + "@s": 61677, + "ĠGiov": 61678, + ".ToolTip": 61679, + "_friend": 61680, + "(attributes": 61681, + "Ġdumping": 61682, + "ĠJC": 61683, + "_DOCUMENT": 61684, + "ĠArmour": 61685, + "(insert": 61686, + ".HorizontalAlignment": 61687, + "ĠQed": 61688, + "ãģĦãģ¾ãģĻ": 61689, + "/git": 61690, + "ĠYYYY": 61691, + "ĠCardiff": 61692, + "Ġapa": 61693, + "organic": 61694, + "ĠWhereas": 61695, + "ĠæĿ": 61696, + "ĠMia": 61697, + "Ġdemolition": 61698, + "Ġscars": 61699, + "Ġpai": 61700, + "Ġretries": 61701, + "Ġrq": 61702, + "ĠDenis": 61703, + "(Utils": 61704, + "Ġalleviate": 61705, + "ĠPIC": 61706, + "idue": 61707, + "Ġacknowledging": 61708, + "Ġ//////////////////////////////////": 61709, + "ç¡®å®ļ": 61710, + "Ä«": 61711, + "\\Json": 61712, + ".binary": 61713, + "Ġxtype": 61714, + "signals": 61715, + "ĠAppearance": 61716, + "&r": 61717, + "}s": 61718, + "Ci": 61719, + "ĠIllum": 61720, + "porate": 61721, + "hog": 61722, + "ĠindexOf": 61723, + "\\Command": 61724, + "_parallel": 61725, + "ĠSherlock": 61726, + "íĥ": 61727, + "Ġ\"\")čĊ": 61728, + "////////////////////////////////////////////////////////////////////////////////////////////////": 61729, + "Ġcriticize": 61730, + "ĠSoap": 61731, + "ĠMatcher": 61732, + "Ġgrilled": 61733, + "*T": 61734, + "Ġadore": 61735, + "ulling": 61736, + "Ġjedoch": 61737, + "_refs": 61738, + "leanup": 61739, + "ĠJAXB": 61740, + "Ġroses": 61741, + "ĠLiam": 61742, + "sizei": 61743, + "Ġgetchar": 61744, + "Ġtarde": 61745, + "-tooltip": 61746, + "Ġqualifier": 61747, + "ĠIntermediate": 61748, + "_Window": 61749, + "ĠMalta": 61750, + "Disconnect": 61751, + "ewhere": 61752, + "Campo": 61753, + "Ġirrational": 61754, + "ledo": 61755, + "ĠDN": 61756, + "ARGV": 61757, + "Ġoutro": 61758, + "Ġthirteen": 61759, + "Joseph": 61760, + "MAR": 61761, + "/gl": 61762, + "Jess": 61763, + "ĠPsychiat": 61764, + "ĠpaddingBottom": 61765, + "-loop": 61766, + "/fonts": 61767, + "_seen": 61768, + "Teams": 61769, + "ReactDOM": 61770, + "(man": 61771, + "(xpath": 61772, + ".getSimpleName": 61773, + ">(*": 61774, + "ĠPvt": 61775, + "Ġelders": 61776, + "Ġpies": 61777, + ".userAgent": 61778, + "-region": 61779, + "ĠGreeks": 61780, + "(fragment": 61781, + "stu": 61782, + "Ġcouncils": 61783, + "Ġstamina": 61784, + "ĠGoddess": 61785, + "西": 61786, + "Ġphilosophers": 61787, + "Ġpersone": 61788, + "ĠLose": 61789, + "ĠCLR": 61790, + "ĠDocs": 61791, + "Ġsoak": 61792, + "ĠHOLDER": 61793, + "Ġbells": 61794, + "hashCode": 61795, + "RATE": 61796, + "_WEIGHT": 61797, + "inous": 61798, + "endra": 61799, + "ophobic": 61800, + "Ġprose": 61801, + "Ġfinely": 61802, + "/oauth": 61803, + "(space": 61804, + "adge": 61805, + "ĠMama": 61806, + "ĠstringBuffer": 61807, + "Ġstint": 61808, + "Ġmisma": 61809, + "Ġvillains": 61810, + "ĠCrimea": 61811, + "Ġdiploma": 61812, + "ĠпоÑģл": 61813, + "ĠBea": 61814, + "(join": 61815, + "Ġíķ´": 61816, + "CHAT": 61817, + "pering": 61818, + "ĠCros": 61819, + "Ġmonkeys": 61820, + "Ġpreds": 61821, + "yla": 61822, + ",,,": 61823, + "Ġvibrator": 61824, + "ĠNU": 61825, + "åħĪ": 61826, + "fant": 61827, + "zet": 61828, + "Ġbietet": 61829, + "unft": 61830, + "sworth": 61831, + ".Flow": 61832, + "Ġpsyched": 61833, + "ĠContinental": 61834, + ">t": 61835, + "Ġquilt": 61836, + ".UP": 61837, + "Ġexpansive": 61838, + "Dispose": 61839, + "(language": 61840, + "Caps": 61841, + "_ZONE": 61842, + "Ġrecycle": 61843, + "ĠManaged": 61844, + "currentColor": 61845, + ".broadcast": 61846, + "signIn": 61847, + ".prom": 61848, + "llu": 61849, + "ueblo": 61850, + "Ġpunches": 61851, + "Ġautomat": 61852, + "Ġassigning": 61853, + "ĠcreateUser": 61854, + "ĠAllied": 61855, + "Ġconductor": 61856, + "Ĥ¨": 61857, + "Ġsaddle": 61858, + "Ġdni": 61859, + "omedical": 61860, + "-West": 61861, + "PositiveButton": 61862, + "Ġitalic": 61863, + "?[": 61864, + "(trigger": 61865, + "Ġelephants": 61866, + "\":\"\",\"": 61867, + "Ġcaliber": 61868, + "rafted": 61869, + "digits": 61870, + "Ġmarshal": 61871, + "milliseconds": 61872, + "markers": 61873, + "mom": 61874, + "/place": 61875, + "Ġholistic": 61876, + ":t": 61877, + "#,": 61878, + "Ġboto": 61879, + "Ġnausea": 61880, + "ĠShooting": 61881, + "itech": 61882, + "ĠtextStatus": 61883, + "())Ċ": 62104, + "ADDRESS": 62105, + "BST": 62106, + "etzt": 62107, + "ĠQgs": 62108, + "Sense": 62109, + "ExceptionHandler": 62110, + "ĠChu": 62111, + ".getOwnProperty": 62112, + "Ġexercised": 62113, + "iotic": 62114, + "ĠReleases": 62115, + "Ġpinterest": 62116, + "olie": 62117, + "isoft": 62118, + "Ġsequencing": 62119, + "Ġpadre": 62120, + "]));čĊ": 62121, + "(radius": 62122, + ".med": 62123, + "ainties": 62124, + ".ObjectModel": 62125, + "Ġemple": 62126, + "Ġseguro": 62127, + "Stars": 62128, + "Ġqualitative": 62129, + "lemn": 62130, + "á»±": 62131, + ">\").": 62132, + "Ġgx": 62133, + "-cert": 62134, + "ĠASTM": 62135, + "Ġfullname": 62136, + "Ġtelemetry": 62137, + "ĠCambodia": 62138, + "_ul": 62139, + "ĠClare": 62140, + "CUSTOM": 62141, + "QC": 62142, + "ĠUns": 62143, + "ĠHTTPS": 62144, + "ĠParkinson": 62145, + "ancybox": 62146, + "','.": 62147, + "Tue": 62148, + ".getLast": 62149, + "Ġabi": 62150, + "Äħd": 62151, + "Ast": 62152, + "ĠEditing": 62153, + ".Unity": 62154, + "jmp": 62155, + "Ġmats": 62156, + "ĠsharedPreferences": 62157, + "Captain": 62158, + ".pageSize": 62159, + "Ġrtl": 62160, + "Ġanmeld": 62161, + "RuntimeObject": 62162, + "Ġdemande": 62163, + "(\";": 62164, + "seite": 62165, + "-headed": 62166, + "ĠKra": 62167, + "ĠFONT": 62168, + "`\\": 62169, + "ClassNotFoundException": 62170, + ".avg": 62171, + "atical": 62172, + "Aj": 62173, + "Ġpermitting": 62174, + "Proj": 62175, + "ERRQ": 62176, + "Ġcreampie": 62177, + "ĠBuyer": 62178, + "-modules": 62179, + "ĠSundays": 62180, + "|`Ċ": 62181, + "Ġdaytime": 62182, + "Ġ+(": 62183, + "Ġglitch": 62184, + "ĠOperand": 62185, + "Ġtoxins": 62186, + "inya": 62187, + "DNS": 62188, + "ĠSas": 62189, + "Cake": 62190, + "ĠNationals": 62191, + ".addTo": 62192, + "Ġsinking": 62193, + "Ġcomprehension": 62194, + "Ġscor": 62195, + "agements": 62196, + "Ġtard": 62197, + "Ġmarching": 62198, + "ĠMTV": 62199, + "Ġsane": 62200, + "CreateInfo": 62201, + "ắ": 62202, + "ĠendIndex": 62203, + "ĉlayout": 62204, + "ĠåIJį": 62205, + "SITE": 62206, + "ĠTHERE": 62207, + "Ġ[{'": 62208, + "opathic": 62209, + "Ġtransmitter": 62210, + "/body": 62211, + "Ġpund": 62212, + "ĠClosing": 62213, + "Ġsetattr": 62214, + "Ġbounded": 62215, + "Atlas": 62216, + "suming": 62217, + "(times": 62218, + "parer": 62219, + "ynom": 62220, + "feit": 62221, + "Ġfrem": 62222, + "-leg": 62223, + "ĠBras": 62224, + ">#": 62225, + "Ġì¶ľëł¥": 62226, + "ĠINSTANCE": 62227, + "ĠCouch": 62228, + "_hosts": 62229, + "likelihood": 62230, + ".Marker": 62231, + "ĠMasks": 62232, + "Ġcereal": 62233, + "utilities": 62234, + "Ġelemental": 62235, + "Ġdistorted": 62236, + "inactive": 62237, + "cry": 62238, + "WL": 62239, + "UPPORTED": 62240, + ".Throws": 62241, + "/schema": 62242, + "serie": 62243, + ".\"',": 62244, + "ĠBenedict": 62245, + "-picker": 62246, + "iggs": 62247, + "ĠPirate": 62248, + "åij¨æľŁ": 62249, + "ĠThema": 62250, + "ĠSouthampton": 62251, + "ĠarrayWith": 62252, + "ĠPaula": 62253, + "Ġpredictor": 62254, + "-Ass": 62255, + ".userid": 62256, + "Ġperi": 62257, + "Ġexaggerated": 62258, + "urate": 62259, + "arseille": 62260, + "ĠConcent": 62261, + "ĠPik": 62262, + "Ġ@_;ĊĊ": 62263, + "Ġformations": 62264, + "Ġdenomin": 62265, + "\"/>.Ċ": 62266, + "endedor": 62267, + "Ġpancre": 62268, + "Ġamt": 62269, + "ĠonResume": 62270, + "onDelete": 62271, + "ĠBCH": 62272, + ")(\"": 62273, + "movement": 62274, + "Ġpotassium": 62275, + "": 70826, + "ĠPPC": 70827, + "isz": 70828, + "akeFromNib": 70829, + "ĠDisp": 70830, + "ĠAthletics": 70831, + "Ġnightclub": 70832, + "GOOD": 70833, + ".setGeometry": 70834, + "+[": 70835, + "/send": 70836, + "Ġbinaries": 70837, + "Ġráp": 70838, + ":req": 70839, + "-consuming": 70840, + "ertime": 70841, + "UPDATED": 70842, + "_nullable": 70843, + "VIN": 70844, + "ulia": 70845, + "cyan": 70846, + "Ġmisunderstanding": 70847, + "orical": 70848, + "degrees": 70849, + "Leading": 70850, + ".AR": 70851, + "ickest": 70852, + "Nuevo": 70853, + "uforia": 70854, + "Ġgoodies": 70855, + "Ġfores": 70856, + "()<<\"": 70857, + "ademic": 70858, + "ActionCreators": 70859, + "servername": 70860, + "(nt": 70861, + "dbContext": 70862, + "Ġairborne": 70863, + "Ġexhibitions": 70864, + "cele": 70865, + "Ġtela": 70866, + "": 70882, + ".setPreferredSize": 70883, + "ĠMID": 70884, + "ĠAless": 70885, + "Ġhorsepower": 70886, + "Ġatm": 70887, + "ĠPackaging": 70888, + "Ġciphertext": 70889, + "RequestMethod": 70890, + "Ġbeiden": 70891, + "è£": 70892, + "ĠPOW": 70893, + ".WriteHeader": 70894, + "director": 70895, + "-but": 70896, + "ãģłãģķãģĦ": 70897, + "incer": 70898, + "_dn": 70899, + "!!!!!": 70900, + "Ġmanufactures": 70901, + ".TextUtils": 70902, + "Ġconsciously": 70903, + "Ġbounced": 70904, + "culture": 70905, + "ĠSpar": 70906, + "ĠPiper": 70907, + ".press": 70908, + "-owner": 70909, + "Ġevaluator": 70910, + "ĠSTREAM": 70911, + ".PictureBoxSizeMode": 70912, + "Ġsugars": 70913, + "ScreenWidth": 70914, + "ĠnextState": 70915, + "Ġivory": 70916, + "Ġbrunch": 70917, + "density": 70918, + "_OW": 70919, + "ĠCoronavirus": 70920, + "ĠCFR": 70921, + "bak": 70922, + "\\Category": 70923, + "æķ°ç»Ħ": 70924, + "Ġinvokevirtual": 70925, + "}()Ċ": 70926, + "Ġsujet": 70927, + "-marker": 70928, + "isdigit": 70929, + "ĠMobil": 70930, + "ĠJsonRequestBehavior": 70931, + "_REMOTE": 70932, + ".existsSync": 70933, + "Ġriches": 70934, + ".presenter": 70935, + "ĠglColor": 70936, + "Ġhanya": 70937, + "Ġfortress": 70938, + "Ġflashed": 70939, + "viz": 70940, + "requently": 70941, + "buat": 70942, + "$con": 70943, + ">|": 70944, + ".Func": 70945, + "Ġhumorous": 70946, + "uem": 70947, + ".ZERO": 70948, + "ĠSTL": 70949, + "ĠBuk": 70950, + "/sample": 70951, + "ĠGros": 70952, + "Recipes": 70953, + "Ġinflated": 70954, + "Ġswung": 70955, + ":F": 70956, + "Facing": 70957, + ".Theme": 70958, + "ник": 70959, + "Ġsplendid": 70960, + "ĠrequestId": 70961, + ".CenterScreen": 70962, + "/autoload": 70963, + "embedded": 70964, + "_depart": 70965, + "ĠPorts": 70966, + "à¹ĥ": 70967, + "айд": 70968, + "discussion": 70969, + "_consum": 70970, + "Ġscouts": 70971, + "Ġcolabor": 70972, + ".Stage": 70973, + ".nano": 70974, + "eldorf": 70975, + "Ġgemacht": 70976, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 70977, + "Ġpolicymakers": 70978, + "_PKT": 70979, + ",Th": 70980, + "oky": 70981, + "_UID": 70982, + "Ping": 70983, + "Ġorchest": 70984, + "Ġoptics": 70985, + "uhan": 70986, + "ĠXOR": 70987, + "Ġespañol": 70988, + "ĠAdidas": 70989, + "rng": 70990, + "mans": 70991, + ".vstack": 70992, + "Ġgetaway": 70993, + "Ġhierarchical": 70994, + "anoia": 70995, + "ĠBitmapFactory": 70996, + "realm": 70997, + "ĉap": 70998, + "_apps": 70999, + "-divider": 71000, + ".drawer": 71001, + "ĠHARD": 71002, + "'];?>Ċ": 71003, + "-packed": 71004, + "æ²»": 71005, + "_STRUCTURE": 71006, + "[Y": 71007, + "iParam": 71008, + "(eq": 71009, + "Ġencompasses": 71010, + "Ġ\\ĊĊ": 71011, + "->[": 71012, + "&utm": 71013, + "groupon": 71014, + "strate": 71015, + "DY": 71016, + "omorphic": 71017, + "':[": 71018, + "Ġgravitational": 71019, + "ĠMicha": 71020, + "ĠTencent": 71021, + "Ġcoached": 71022, + "ì¶ľ": 71023, + "ÑĥменÑĤ": 71024, + "/mobile": 71025, + "MouseDown": 71026, + "bud": 71027, + "ĠYas": 71028, + "ĠProviders": 71029, + "NZ": 71030, + "ĉreport": 71031, + "errmsg": 71032, + "ĠimagePath": 71033, + "acterial": 71034, + "ĠManga": 71035, + "wicklung": 71036, + "(usuario": 71037, + "\"));čĊčĊ": 71038, + "/***": 71039, + "Ġorganise": 71040, + "Indexed": 71041, + "_QUAL": 71042, + "(PyObject": 71043, + "Ġsurrendered": 71044, + "POCH": 71045, + "ĠNOTES": 71046, + "\\\\\"": 71047, + "-job": 71048, + "Ġseventy": 71049, + "####Ċ": 71050, + "ĠManor": 71051, + "Ġdownright": 71052, + "Ġtimeframe": 71053, + "insurance": 71054, + "checker": 71055, + "ĠSECRET": 71056, + "Ġechoes": 71057, + "ĠCarmen": 71058, + ".setHorizontalAlignment": 71059, + "ĠisChecked": 71060, + "ĠTOR": 71061, + "_nn": 71062, + "('(": 71063, + "FetchRequest": 71064, + "ĠPrinted": 71065, + "Fluid": 71066, + "ĠSTACK": 71067, + "GES": 71068, + "aigned": 71069, + "igor": 71070, + ".Unknown": 71071, + "CBC": 71072, + "ĠCarlson": 71073, + ".URI": 71074, + "Ġplight": 71075, + "/start": 71076, + "ĠPersonnel": 71077, + "ĠPREFIX": 71078, + ",**": 71079, + "Ġlimite": 71080, + "_heat": 71081, + "%ï¼Į": 71082, + "ĠDonne": 71083, + "getNode": 71084, + "ĠScientology": 71085, + "Ġcomet": 71086, + "Ġwenig": 71087, + "Aside": 71088, + "ĠMPEG": 71089, + "'?": 71090, + "variably": 71091, + ".endDate": 71092, + "Ġuncont": 71093, + "ĠScores": 71094, + "ĠLoginForm": 71095, + ".generated": 71096, + ",ch": 71097, + "-mar": 71098, + "ĠNed": 71099, + "ĠeventId": 71100, + "+p": 71101, + "ĠSIN": 71102, + "/reset": 71103, + ".REACT": 71104, + "ĠMessi": 71105, + "_RANK": 71106, + ".writeFile": 71107, + "Ġcripp": 71108, + "esthetic": 71109, + "ERSIST": 71110, + "Ġreimbursement": 71111, + "CurrentValue": 71112, + "Ġunin": 71113, + "DownLatch": 71114, + "ĠpaddingRight": 71115, + "Ġstocked": 71116, + "/'.": 71117, + "Ġrepayment": 71118, + "trak": 71119, + "/backend": 71120, + "Ġизмен": 71121, + "CSR": 71122, + "Ġpreventive": 71123, + "Ġpantalla": 71124, + "_trim": 71125, + "Pedido": 71126, + "hospital": 71127, + "Ġmanageable": 71128, + "routeParams": 71129, + "textures": 71130, + "......ĊĊ": 71131, + "Ġsélection": 71132, + "NameValuePair": 71133, + "Ġpollut": 71134, + "Modes": 71135, + "ĠLaud": 71136, + "jay": 71137, + "ĠUrs": 71138, + "Ġsigner": 71139, + "ĠJJ": 71140, + "ĠCherokee": 71141, + "_EXISTS": 71142, + "Ġdwar": 71143, + "Ġ($('#": 71144, + "Ġreef": 71145, + ">{$": 71146, + "ĠBaylor": 71147, + "ĠModelState": 71148, + "-_": 71149, + "ĠStructures": 71150, + "Ġsouvent": 71151, + "Specify": 71152, + "(pipe": 71153, + "Ġfracking": 71154, + "ĠGPA": 71155, + "Ġbele": 71156, + "ĉĉĉĉĉĉĉĠĠĠ": 71157, + "ĠMinority": 71158, + "Ġtud": 71159, + "Ġopenness": 71160, + "ĠIllustrated": 71161, + "Ġoxidation": 71162, + "ĠNK": 71163, + "ĉUpdate": 71164, + "ĠEMS": 71165, + "ĠTeddy": 71166, + "Ġgenerals": 71167, + "ĉMat": 71168, + "Ġradios": 71169, + "ĠAntique": 71170, + "conomy": 71171, + "ĠSquadron": 71172, + ")','": 71173, + "声": 71174, + "Ġyoure": 71175, + "ĠMainPage": 71176, + "Ġbehaviours": 71177, + "enght": 71178, + "(@\"%@\",": 71179, + "Ġtestcase": 71180, + "ĠCompilation": 71181, + "Ġflavours": 71182, + "ĠExtend": 71183, + "illator": 71184, + "Ġcoh": 71185, + "Ġspline": 71186, + "ĠKG": 71187, + "-pay": 71188, + "Ġcommunism": 71189, + "ĠBusinesses": 71190, + "ocking": 71191, + ".MaxLength": 71192, + "assandra": 71193, + "quiring": 71194, + "adden": 71195, + "ĠJeb": 71196, + "_fault": 71197, + "[file": 71198, + "Ġprominence": 71199, + "disciplinary": 71200, + "âĢĶthey": 71201, + "_extent": 71202, + "ĠVIC": 71203, + "Ġentails": 71204, + ".partner": 71205, + "Ġhippoc": 71206, + "League": 71207, + "çĶ·": 71208, + "wipe": 71209, + "-spinner": 71210, + "Ġsalute": 71211, + "ĠSurgical": 71212, + "(outputs": 71213, + "worked": 71214, + "[strlen": 71215, + "appointed": 71216, + "ĠHeg": 71217, + "ĠACPI": 71218, + "([^": 71219, + "uala": 71220, + "_tol": 71221, + "ĠRit": 71222, + ".Payment": 71223, + "kowski": 71224, + "Ġwalmart": 71225, + "requirements": 71226, + "ĠFINSEQ": 71227, + "_BACKGROUND": 71228, + "ĠOsborne": 71229, + "(errorMessage": 71230, + "Reporting": 71231, + "Ġauctions": 71232, + "Ġcombos": 71233, + "ĠNoticed": 71234, + "_oct": 71235, + "Ġprimero": 71236, + "taire": 71237, + "_hr": 71238, + "Ġмод": 71239, + "Ġcontradictory": 71240, + "=\"@": 71241, + "achines": 71242, + "(optarg": 71243, + "ĠPenguin": 71244, + "ĠAbbas": 71245, + "Ġsublime": 71246, + "Ġpageable": 71247, + "ĠDefensive": 71248, + "Ġdistinctly": 71249, + "ĠAutomatically": 71250, + "Understanding": 71251, + "EqualityComparer": 71252, + "gota": 71253, + "Ġ\"::": 71254, + "Ġpulver": 71255, + "ĠBattles": 71256, + "Ġunparalleled": 71257, + "TCHA": 71258, + "Ġconstrued": 71259, + "-aff": 71260, + "Ġprecursor": 71261, + "-lfs": 71262, + "Ġmaduras": 71263, + "ĠDaisy": 71264, + "ĠArbeits": 71265, + ".Management": 71266, + "ĉIn": 71267, + "Ġrobes": 71268, + "Ġspéc": 71269, + "âĢľ(": 71270, + "Ġmaternity": 71271, + "extent": 71272, + "ĠSpacer": 71273, + "DidAppear": 71274, + "ĉus": 71275, + ".getRequestDispatcher": 71276, + "(cols": 71277, + "Ġplummet": 71278, + "ìħ": 71279, + "Ġ{ĊĊĊĊ": 71280, + "érica": 71281, + "ĠSizes": 71282, + ".enum": 71283, + ".Highlight": 71284, + "Ġ!!}ĊĊĊ": 71293, + "Wenn": 71294, + "Ġclimax": 71295, + "Ġcrem": 71296, + "_that": 71297, + "[â̦": 71298, + "_domains": 71299, + "_REPLY": 71300, + "Ġcompleta": 71301, + "VEST": 71302, + "_particle": 71303, + "Ġsop": 71304, + "Ġfatalities": 71305, + "implify": 71306, + "ĠSKF": 71307, + "Ġinfusion": 71308, + "ĠJavier": 71309, + "Ġballet": 71310, + "Ġamigo": 71311, + ".want": 71312, + "Ġcollagen": 71313, + "ĠLawyer": 71314, + ".Statement": 71315, + ".rt": 71316, + "baar": 71317, + "EndPoint": 71318, + "ĠBek": 71319, + "SHIP": 71320, + "Ġpatriarch": 71321, + "ĠAunt": 71322, + "_TM": 71323, + "ĠmÃŃn": 71324, + "Ġmastered": 71325, + "WXYZ": 71326, + "Ġespos": 71327, + "=logging": 71328, + "Ġrighteousness": 71329, + "torrent": 71330, + "Ġbst": 71331, + "_CHAIN": 71332, + "Ġoutskirts": 71333, + "(rotation": 71334, + "Ġ'.')": 71335, + "igrants": 71336, + "+lsi": 71337, + "ĠCCTV": 71338, + "_PHASE": 71339, + ".azure": 71340, + "_Process": 71341, + "vae": 71342, + "ĠTropical": 71343, + "ĠAnkara": 71344, + "imageView": 71345, + "_RUNNING": 71346, + "Ġ*)__": 71347, + "ến": 71348, + "(cli": 71349, + "scatter": 71350, + "Ġsche": 71351, + "Registrar": 71352, + "Ġairing": 71353, + "Ġpyplot": 71354, + "isión": 71355, + "/customer": 71356, + "Ġsimplement": 71357, + "Ġclassy": 71358, + "ĠDWC": 71359, + "ĠBashar": 71360, + "ĠDEVELO": 71361, + "ĠVick": 71362, + "avail": 71363, + "ĠHö": 71364, + "_extend": 71365, + "drFc": 71366, + ".isNotBlank": 71367, + "Ġplais": 71368, + "|}Ċ": 71369, + "Ġpornofil": 71370, + "labs": 71371, + "Ġhaus": 71372, + "Ġoriginating": 71373, + "Ġsurrounds": 71374, + "ĠQUAL": 71375, + "meg": 71376, + "/logger": 71377, + "[obj": 71378, + "Ġirresponsible": 71379, + "ĠPublicKey": 71380, + "HONE": 71381, + ":'/": 71382, + "ibox": 71383, + "ĠFVector": 71384, + "|{Ċ": 71385, + "ataloader": 71386, + "hawks": 71387, + "HDR": 71388, + "Ġescalation": 71389, + "ĠPodsDummy": 71390, + "elite": 71391, + "Ġpresup": 71392, + "Cached": 71393, + ">G": 71394, + ".optimizer": 71395, + "ĠVisible": 71396, + "´Ģ": 71397, + "Ġnen": 71398, + "Ġpcs": 71399, + "ĠIdle": 71400, + "[Any": 71401, + "Ġkeyboards": 71402, + "ĠCOMPONENT": 71403, + "Ġtitanium": 71404, + "(mut": 71405, + "ĠLedger": 71406, + "Ġprosperous": 71407, + "etrofit": 71408, + "_LL": 71409, + "_patient": 71410, + "Ġpdata": 71411, + "Ġkontakte": 71412, + "Swipe": 71413, + "Ġcheerful": 71414, + "ĠHonduras": 71415, + "\"][$": 71416, + "Ġhemorrh": 71417, + "\":\"+": 71418, + "Ġleasing": 71419, + "Ġinstalls": 71420, + "ĠPax": 71421, + "ĠLogistics": 71422, + "Ġkinetic": 71423, + "ĠPhon": 71424, + "_movement": 71425, + "ĉbytes": 71426, + "Ġcinco": 71427, + "ĠMadness": 71428, + "\")+": 71429, + "ĠJE": 71430, + "_ij": 71431, + "SceneManager": 71432, + "ĠBust": 71433, + "ptest": 71434, + "aea": 71435, + "Ġbesser": 71436, + "ÃŃg": 71437, + "дин": 71438, + "(tasks": 71439, + "(\"(\"": 71440, + "setType": 71441, + "(outfile": 71442, + "ĉreset": 71443, + "ĠARC": 71444, + "Ġmúsica": 71445, + "ĠShelf": 71446, + "ĠminY": 71447, + "pch": 71448, + "Ġweiber": 71449, + "issor": 71450, + "Ġtrouve": 71451, + "ĉButton": 71452, + "Ġregenerated": 71453, + "Å£i": 71454, + "imachinery": 71455, + "blocking": 71456, + ".dataTables": 71457, + "_frac": 71458, + "ĠAdvantage": 71459, + ".visitMethod": 71460, + "éĩįæĸ°": 71461, + "Ġextrapol": 71462, + "Ġteasing": 71463, + "ĠHitch": 71464, + "ĠGeek": 71465, + "ESCO": 71466, + "Ġwich": 71467, + "ĉax": 71468, + "_decor": 71469, + "ĠscreenWidth": 71470, + "ĠSophia": 71471, + "Forgot": 71472, + ".uni": 71473, + "ĠVenture": 71474, + "_collision": 71475, + "Ġlawmaker": 71476, + "(Edit": 71477, + "blers": 71478, + "ĠgetNext": 71479, + "âĢĶyou": 71480, + "MediaPlayer": 71481, + "ĠHorde": 71482, + "ĠCongressman": 71483, + "observations": 71484, + "ĉproperty": 71485, + "Ġ<--": 71486, + "CreatedAt": 71487, + "ubyte": 71488, + "Ġquarantine": 71489, + "Ġdistressed": 71490, + "_APB": 71491, + "ĠGoodman": 71492, + "ãĤ«": 71493, + "Ġrecomend": 71494, + "_PRINTF": 71495, + "DONE": 71496, + "Bindable": 71497, + "rstrip": 71498, + "centaje": 71499, + "ĠUnexpected": 71500, + "ĠSCHOOL": 71501, + "ĠProfessionals": 71502, + "ĠGPUs": 71503, + "Lesson": 71504, + "Exclusive": 71505, + "Ġatrav": 71506, + "ĠDank": 71507, + "ĠLawyers": 71508, + "ĠWalton": 71509, + ">[]": 71510, + "Ġaloud": 71511, + "=\"../../../": 71512, + "Ġdebating": 71513, + "ĠAVG": 71514, + "_VOL": 71515, + "/cgi": 71516, + ".deg": 71517, + ":g": 71518, + ".Infof": 71519, + "MeasureSpec": 71520, + ".song": 71521, + "mtree": 71522, + "ulls": 71523, + "Jordan": 71524, + "ĠCovers": 71525, + "Ġattributable": 71526, + "Ġjedis": 71527, + "iatrics": 71528, + "Ġrotterdam": 71529, + "Ġmeld": 71530, + "ĠContentType": 71531, + "Ġmantle": 71532, + "Ġalice": 71533, + "_duplicate": 71534, + "/Internal": 71535, + "Ġfilesize": 71536, + "ĉfire": 71537, + "rese": 71538, + "ondere": 71539, + "Ġfamiliarity": 71540, + "ĠCrest": 71541, + "Ġkarma": 71542, + "Ġtorino": 71543, + "Ġmesa": 71544, + "/temp": 71545, + "Ġchir": 71546, + "ĠOverflow": 71547, + "Ġtenemos": 71548, + "unik": 71549, + "NEXT": 71550, + "Alle": 71551, + "Ġnxt": 71552, + "Mart": 71553, + "Ġatl": 71554, + "Ġperiodo": 71555, + "_you": 71556, + "Ġ})).": 71557, + "intestinal": 71558, + ".AdapterView": 71559, + "Ġhesitant": 71560, + "Ġcomparatively": 71561, + ".UInt": 71562, + "(viewModel": 71563, + "Ġsangat": 71564, + "ĠResponsive": 71565, + "ĠZack": 71566, + "âħ": 71567, + "JAVA": 71568, + "ĠFuller": 71569, + "ĠâĿ¤": 71570, + ".Consumer": 71571, + "Ġank": 71572, + "Ġreactors": 71573, + "fuck": 71574, + "_rat": 71575, + "ĠsessionFactory": 71576, + "_backward": 71577, + "Ġscrambled": 71578, + "ĉth": 71579, + "Ġinsensitive": 71580, + "Ġchamps": 71581, + "Ġnginx": 71582, + "Ġconhec": 71583, + "ĠJasper": 71584, + ".fm": 71585, + "StrictEqual": 71586, + "achsen": 71587, + "-Nov": 71588, + "lassen": 71589, + ".integration": 71590, + "(lbl": 71591, + "Compose": 71592, + "ĠFon": 71593, + "Ãļ": 71594, + "Gratis": 71595, + "ĠLime": 71596, + "ĠAdapterView": 71597, + "Ġpoisoned": 71598, + "anchors": 71599, + "设计": 71600, + "']?>\"": 71601, + "Ġprocur": 71602, + "Italy": 71603, + ".MONTH": 71604, + "ĠLUA": 71605, + "ĠLithuania": 71606, + "ĠHeads": 71607, + "_CHUNK": 71608, + "ĠPUSH": 71609, + "AspectRatio": 71610, + "Ġweg": 71611, + "Ġvids": 71612, + "ĠWein": 71613, + "ĉINT": 71614, + "sessionId": 71615, + "Industry": 71616, + "Ġdenounced": 71617, + "JKLM": 71618, + "ĠVanessa": 71619, + ".Identifier": 71620, + "propri": 71621, + "Ġиг": 71622, + "Ġtécn": 71623, + "Ġmosaic": 71624, + "StreamReader": 71625, + "-Th": 71626, + "forth": 71627, + "Ġadherence": 71628, + "bate": 71629, + "Ġknights": 71630, + "sounds": 71631, + "Ġsalle": 71632, + "OMET": 71633, + "ãĤ¹ãĥĪ": 71634, + "-tm": 71635, + "ĠRhe": 71636, + ".FileOutputStream": 71637, + "åĪĨç±»": 71638, + "ĠENG": 71639, + "holiday": 71640, + "ĠCongratulations": 71641, + ")(Ċ": 71642, + "Ġaggregates": 71643, + "HOOK": 71644, + "ewire": 71645, + "Senator": 71646, + "Ġembeddings": 71647, + "epy": 71648, + "(COM": 71649, + "Ġrobber": 71650, + "äter": 71651, + "wang": 71652, + "_teacher": 71653, + "Ġresentment": 71654, + "Ġlettuce": 71655, + "erreur": 71656, + "(ic": 71657, + "ĠTactical": 71658, + "ĠContracts": 71659, + "Ġmænd": 71660, + "Ġsitios": 71661, + "Ġbastante": 71662, + "Ġnuevos": 71663, + "ĉNdrFc": 71664, + "ĠprivateKey": 71665, + "ucch": 71666, + "MMdd": 71667, + "Ġè¾ĵåĩº": 71668, + "umba": 71669, + "@foreach": 71670, + ":\");ĊĊ": 71671, + "Ġslippery": 71672, + "ĠKeystone": 71673, + "Ġpioneering": 71674, + "_triangle": 71675, + "(\"Ċ": 71676, + "ĉĉĉĉĉĉĉĉĠĠ": 71677, + "ĠIntervention": 71678, + "SCI": 71679, + "ĠcJSON": 71680, + "Ġterminating": 71681, + "ë¹Ħ": 71682, + "Ġbabys": 71683, + "Subset": 71684, + "Ġë¡": 71685, + "Ġseulement": 71686, + "Ġmuestra": 71687, + "Entre": 71688, + "以ä¸Ĭ": 71689, + "ngo": 71690, + "\"bytes": 71691, + "QRST": 71692, + "Ġypos": 71693, + "persona": 71694, + "ĠDeploy": 71695, + "cee": 71696, + "Ġà®": 71697, + ".goal": 71698, + "Ġhabitats": 71699, + "ĠisAdmin": 71700, + "Ġexploiting": 71701, + "Ġventil": 71702, + "ĠBalls": 71703, + "اب": 71704, + "Ġmindfulness": 71705, + "(kwargs": 71706, + "Ġresembling": 71707, + "Ġchoir": 71708, + "ĠonBackPressed": 71709, + "ĠSECURITY": 71710, + "/gtest": 71711, + "Ġjustices": 71712, + "ĠintegerValue": 71713, + "blah": 71714, + "ĠAim": 71715, + "_finalize": 71716, + "keh": 71717, + "ĠComplexity": 71718, + "Ġaugust": 71719, + "getElementsByTagName": 71720, + "Ġpreach": 71721, + "Ġpronunciation": 71722, + "ĠTrash": 71723, + "-percent": 71724, + "_PRIV": 71725, + "ĠHunts": 71726, + "ĠCurse": 71727, + "uellen": 71728, + "Ġheavyweight": 71729, + "Xi": 71730, + "ĉselected": 71731, + "ĠMcCoy": 71732, + "å¼Ĥ常": 71733, + "|=Ċ": 71734, + "ĠBattlefield": 71735, + "ItemImage": 71736, + "Ġdeductions": 71737, + "ĠElemental": 71738, + "());//": 71739, + "ĠBurk": 71740, + "})čĊčĊ": 71741, + "swift": 71742, + "/function": 71743, + "Usually": 71744, + "_St": 71745, + "_feats": 71746, + "ĠIsValid": 71747, + "Ġzad": 71748, + "ImageContext": 71749, + "Ġclassname": 71750, + "Ġdonner": 71751, + "Ġ-->ĊĊĊ": 71752, + "Ġmotorcycles": 71753, + "+'/'+": 71754, + "ĠsetBackground": 71755, + "\\CMS": 71756, + ".AllArgsConstructor": 71757, + "ĠLexington": 71758, + ".examples": 71759, + "ĠPurs": 71760, + "PushMatrix": 71761, + "Ġ==============================================================": 71762, + ".addTarget": 71763, + "pora": 71764, + "Fullscreen": 71765, + "Ġgoof": 71766, + "hlen": 71767, + "äge": 71768, + "ĠCURL": 71769, + "ĠInteresting": 71770, + "Ġretrieves": 71771, + "_Obj": 71772, + "inness": 71773, + "-----ĊĊ": 71774, + ".tsv": 71775, + "(IM": 71776, + "ĠBraves": 71777, + "_ISR": 71778, + "osti": 71779, + "á»ĵ": 71780, + "ĠExterior": 71781, + "ĠCourtney": 71782, + "Ġresidues": 71783, + "Tier": 71784, + ".*;čĊčĊ": 71785, + ":black": 71786, + "webView": 71787, + "\"path": 71788, + "Ġmasa": 71789, + "]!='": 71790, + "ĠMatching": 71791, + "dur": 71792, + "Jvm": 71793, + "=context": 71794, + "_RING": 71795, + "Ġproponents": 71796, + "ĠQStringLiteral": 71797, + "Ġinflate": 71798, + "\">čĊ": 72031, + "_COST": 72032, + "ilinear": 72033, + "ĠWorkspace": 72034, + "Ġspel": 72035, + "agogue": 72036, + "ĠMillennium": 72037, + "ĠPopulate": 72038, + "Ġnid": 72039, + ".parseColor": 72040, + "Solar": 72041, + "ĠGad": 72042, + "Ġì¤ij": 72043, + "ĠKamp": 72044, + "ĉrm": 72045, + "Ġbenz": 72046, + "ĠHonestly": 72047, + "Ġelectrode": 72048, + "ĠPrairie": 72049, + "ĠPROFILE": 72050, + "ĠOriental": 72051, + "ĠOLED": 72052, + "/copyleft": 72053, + "awaii": 72054, + "(products": 72055, + ")\\<": 72056, + "-created": 72057, + ".ManyToMany": 72058, + "\"How": 72059, + "ĠвÑĭп": 72060, + "Ġmitochondrial": 72061, + "_testing": 72062, + "(created": 72063, + "ĠgetField": 72064, + "_EVAL": 72065, + "].\"": 72066, + "ĠFSM": 72067, + "ĠRita": 72068, + "ĠåıĤæķ°": 72069, + "Ġcôt": 72070, + "ĠInsight": 72071, + "ĉmysqli": 72072, + "_timing": 72073, + "IDO": 72074, + ")))))Ċ": 72075, + "COVERY": 72076, + ".imag": 72077, + "CDF": 72078, + "lust": 72079, + "ickt": 72080, + "_FP": 72081, + ".','": 72082, + "gcc": 72083, + "Ġkurz": 72084, + "_pwm": 72085, + "Ġodpowied": 72086, + "ĠBarrier": 72087, + "/***************************************************************************Ċ": 72088, + "pak": 72089, + "-Israel": 72090, + "ĠRutgers": 72091, + "ĠselectedItem": 72092, + "ĠRamirez": 72093, + "Farm": 72094, + "Ġcalendars": 72095, + "gzip": 72096, + "Ġblockbuster": 72097, + "ĠPlymouth": 72098, + "çľĮ": 72099, + "responses": 72100, + ".DialogInterface": 72101, + "-grand": 72102, + "ĠgetSource": 72103, + "Ġdejtings": 72104, + "Ġtieten": 72105, + "Ġcondemnation": 72106, + "Ġcontinuar": 72107, + ".MockMvc": 72108, + "/english": 72109, + "ĠMediaPlayer": 72110, + "computed": 72111, + "ĠClippers": 72112, + "(delegate": 72113, + ".Slf": 72114, + "Ġë¡ľ": 72115, + "ĠTide": 72116, + "Ġihrem": 72117, + "ĠWan": 72118, + "ÑĥÑİÑī": 72119, + "}><": 72120, + "Discussion": 72121, + "Ġwatts": 72122, + "-minus": 72123, + "ĠJuliet": 72124, + "éĽħ": 72125, + "Ġconcluding": 72126, + "andscape": 72127, + "Ġúltima": 72128, + "ĠDERP": 72129, + "ĠsignUp": 72130, + "ĠSecondly": 72131, + "WAIT": 72132, + "lds": 72133, + ".callbacks": 72134, + "(hour": 72135, + "imators": 72136, + "volent": 72137, + "AAF": 72138, + "edriver": 72139, + "ĠMathematic": 72140, + "'": 72142, + "{j": 72143, + "_ABORT": 72144, + "Ether": 72145, + "Ġeducator": 72146, + "Ġprecaution": 72147, + "Ġfingertips": 72148, + "getVar": 72149, + "camatan": 72150, + "-debug": 72151, + "ĠRAF": 72152, + "[arg": 72153, + "Ġraced": 72154, + "Ġtsunami": 72155, + ".flink": 72156, + "Ġglyc": 72157, + "uko": 72158, + "ĠMultiply": 72159, + "Ġredistribution": 72160, + "AGO": 72161, + "ĠRoutine": 72162, + "Ġopr": 72163, + "(lower": 72164, + "ĠFunktion": 72165, + ".dk": 72166, + "Ġegt": 72167, + "_BASIC": 72168, + "syscall": 72169, + "ĠLSD": 72170, + "ĠDuplicate": 72171, + "_sell": 72172, + "ĠerrorHandler": 72173, + "_ips": 72174, + "Ġerv": 72175, + "annie": 72176, + "(resourceName": 72177, + "Ġbottled": 72178, + "Ġcrawling": 72179, + "egment": 72180, + ".setTag": 72181, + "Ġrss": 72182, + "ĠQuarry": 72183, + "_exact": 72184, + ".jwt": 72185, + "ĠBoards": 72186, + "opi": 72187, + "Ġnasal": 72188, + "ĠXYZ": 72189, + ".ud": 72190, + "Northern": 72191, + "Ġactivating": 72192, + "edx": 72193, + "ovah": 72194, + "Ġindx": 72195, + "AlertDialog": 72196, + "Ġtienes": 72197, + "annya": 72198, + "_pan": 72199, + "(decimal": 72200, + ".Dict": 72201, + "Ġsubsidiaries": 72202, + "ProductName": 72203, + "Few": 72204, + "dato": 72205, + "odied": 72206, + "-under": 72207, + "Ġê²ĥ": 72208, + "çīĪæľ¬": 72209, + "atism": 72210, + "[Math": 72211, + ".'<": 72212, + "(infile": 72213, + "Ġdenotes": 72214, + "$class": 72215, + "_SECURITY": 72216, + "Ġsewage": 72217, + "melon": 72218, + "(Character": 72219, + "/github": 72220, + "Ġglaring": 72221, + ".Guid": 72222, + "_sparse": 72223, + "ĠMargin": 72224, + "_dns": 72225, + "Ġmeiner": 72226, + "Ġleftist": 72227, + "ĉloc": 72228, + "abytes": 72229, + "Ġequipments": 72230, + "expo": 72231, + "ĠSomerset": 72232, + "EK": 72233, + "æį¢": 72234, + "Ġlecturer": 72235, + "Ġmemiliki": 72236, + "æł¸": 72237, + "ç´ł": 72238, + "pron": 72239, + ":pointer": 72240, + "borrow": 72241, + "ĠProtective": 72242, + "_cf": 72243, + "ĠÐķÑģли": 72244, + "bpp": 72245, + "';ĊĊĊĊ": 72246, + "aturally": 72247, + "_NAV": 72248, + "Ġpeptide": 72249, + ">d": 72250, + "Ġifstream": 72251, + "_FACTORY": 72252, + "');//": 72253, + "joined": 72254, + "mong": 72255, + "Ġtimespec": 72256, + "Ġdestabil": 72257, + "Ġautop": 72258, + "-limit": 72259, + "publication": 72260, + "ĠDenn": 72261, + ".Memory": 72262, + "(skb": 72263, + "ĠAnaheim": 72264, + "_RETURNTRANSFER": 72265, + "oueur": 72266, + "(_('": 72267, + "legt": 72268, + "istingu": 72269, + "ĉpriv": 72270, + "Ġredirects": 72271, + "Mt": 72272, + "Ġalleen": 72273, + "ĠPointF": 72274, + "Ġomin": 72275, + "Ġcitt": 72276, + "ĠTage": 72277, + "ĠWalls": 72278, + "á»ī": 72279, + "Ġoccupying": 72280, + "xBF": 72281, + "rangle": 72282, + "Ġrelational": 72283, + "-org": 72284, + "Ġjpg": 72285, + "-derived": 72286, + "Ġmalfunction": 72287, + "ĠBenson": 72288, + "(scroll": 72289, + "ĠXD": 72290, + "Holy": 72291, + "(commands": 72292, + "Ġtipping": 72293, + "Ġprimitives": 72294, + "Ġsexle": 72295, + "CallCheck": 72296, + "ĠMASTER": 72297, + "_TEAM": 72298, + ".setRequestHeader": 72299, + "_specs": 72300, + "Ġserge": 72301, + ".Master": 72302, + "Ġims": 72303, + ".SpringBootTest": 72304, + "paypal": 72305, + "ĠWANT": 72306, + ".Inst": 72307, + "ĠCarpet": 72308, + "Ġwrongly": 72309, + "($('.": 72310, + "Ġbild": 72311, + ".Roll": 72312, + "ĠUrb": 72313, + "-can": 72314, + "ãģıãģłãģķãģĦ": 72315, + "oliberal": 72316, + "čĊčĊ": 72710, + "ĠMahm": 72711, + "}\";ĊĊ": 72712, + "Ġdq": 72713, + "ĠPublishers": 72714, + "ĠAmpl": 72715, + "ĠDanielle": 72716, + "Ġtern": 72717, + "èµ·": 72718, + "noÅĽÄĩ": 72719, + "ein": 72720, + "ĠAsyncStorage": 72721, + "unger": 72722, + "rouw": 72723, + "Ġscissors": 72724, + "/assert": 72725, + ".bucket": 72726, + "/archive": 72727, + "_Man": 72728, + "Ġintoler": 72729, + "Ġ()=>": 72730, + "ĠÐĴÑĭ": 72731, + "Ġsai": 72732, + ".xy": 72733, + ".\"čĊ": 72734, + "Ġurinary": 72735, + "esub": 72736, + "ISTICS": 72737, + "Ġκ": 72738, + "Ġcompliments": 72739, + "ĠtypingsJapgolly": 72740, + "ihar": 72741, + "Expansion": 72742, + "ĠServing": 72743, + "_students": 72744, + "ĠXBOOLE": 72745, + "(il": 72746, + "Ġì²ĺ": 72747, + "Ġjó": 72748, + "(tol": 72749, + "(JS": 72750, + "ĉCG": 72751, + "ĠDRAW": 72752, + "twig": 72753, + "Ġoat": 72754, + "_smooth": 72755, + "ĠCSL": 72756, + "Ġosob": 72757, + "Ġensuing": 72758, + "Ġbanker": 72759, + "ĠBackpack": 72760, + "_ping": 72761, + "Ġwishlist": 72762, + "=ax": 72763, + "ĉĠĠĠĊ": 72764, + "Disney": 72765, + "steady": 72766, + "\">%": 72767, + "Ġprophets": 72768, + "ĠZX": 72769, + "Ġminimalist": 72770, + ".PLAIN": 72771, + "Seattle": 72772, + ".ordinal": 72773, + "ĠPIPE": 72774, + "Ġretorna": 72775, + "Ġjugador": 72776, + "ĠBret": 72777, + "ĠâĶľ": 72778, + "Ġplush": 72779, + "ULATOR": 72780, + "Sorting": 72781, + ".gridy": 72782, + "ectomy": 72783, + "_activ": 72784, + "rack": 72785, + "Interactive": 72786, + "ĠAntarctica": 72787, + "Ġvengeance": 72788, + "enso": 72789, + "_known": 72790, + "upplier": 72791, + ".Modules": 72792, + "ĠConnectionState": 72793, + "éļIJèĹı": 72794, + "@FindBy": 72795, + "Ġplacer": 72796, + "\\model": 72797, + "<()>": 72798, + ".isSuccessful": 72799, + "-good": 72800, + "bz": 72801, + "ĠDraco": 72802, + "Assistant": 72803, + "-extra": 72804, + "аблиÑĨ": 72805, + "Ġhypocrisy": 72806, + "Ġtst": 72807, + "ĠAgr": 72808, + "$txt": 72809, + "Ġlogistic": 72810, + "licensed": 72811, + "ĠHof": 72812, + "Ġtat": 72813, + "(iv": 72814, + "Ġintoxic": 72815, + "postId": 72816, + "_strike": 72817, + "Ġhumiliation": 72818, + "pcodes": 72819, + "\"sync": 72820, + "(recipe": 72821, + "+N": 72822, + "rente": 72823, + "ĉClient": 72824, + "ycopg": 72825, + "ĠZurich": 72826, + "ĠProfiles": 72827, + "Countries": 72828, + "Ġpict": 72829, + "Ġrollout": 72830, + "requencies": 72831, + "Ġpatched": 72832, + "Ġcartridges": 72833, + "Ġshading": 72834, + "Jar": 72835, + "Ġsalvage": 72836, + "ĠTaxes": 72837, + "Ġstandby": 72838, + "aporan": 72839, + "Eigen": 72840, + ".angular": 72841, + "ĠNested": 72842, + "享": 72843, + "ĠisVisible": 72844, + "ĠDwight": 72845, + "_BRANCH": 72846, + ".Delay": 72847, + "Ġkend": 72848, + "Ġfacilitated": 72849, + ".flatMap": 72850, + "Ġsanta": 72851, + "ĉSend": 72852, + "/messages": 72853, + "ĠofType": 72854, + "ĉswap": 72855, + "#plt": 72856, + "ĠTurks": 72857, + "NES": 72858, + "Ġprogressively": 72859, + "ĠResidence": 72860, + "ĠTREE": 72861, + "Ġnoen": 72862, + "dio": 72863, + "Ġnelle": 72864, + "Ġsogar": 72865, + "itti": 72866, + "weekly": 72867, + "Ġambiguity": 72868, + "_Settings": 72869, + "Ware": 72870, + ".neo": 72871, + "_DST": 72872, + "Ġæĸ¹": 72873, + "prep": 72874, + "lobby": 72875, + "@email": 72876, + "/movie": 72877, + "Ġfunkc": 72878, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 72879, + "ÂŃs": 72880, + "Ġguardians": 72881, + "-pos": 72882, + "Ġconfiguring": 72883, + "ĠCPS": 72884, + "ĠDeus": 72885, + "Ġvidéos": 72886, + "_empresa": 72887, + "Ġslapped": 72888, + "',Ċ": 72920, + "_XDECREF": 72921, + "ĠBuzzFeed": 72922, + "_MARGIN": 72923, + "PLOY": 72924, + ".small": 72925, + "ĠmimeType": 72926, + "Ġholog": 72927, + "ĉcamera": 72928, + "lias": 72929, + "Ġsuspense": 72930, + "odynam": 72931, + "bau": 72932, + "Ġgraveyard": 72933, + "_named": 72934, + "\":\"'": 72935, + "Ġ************************************************": 72936, + "ĠgameOver": 72937, + "ĠLENGTH": 72938, + "ĉscreen": 72939, + "ĠdoInBackground": 72940, + "_dependencies": 72941, + "Ġrtc": 72942, + "/up": 72943, + "_ROM": 72944, + "Hall": 72945, + "Ġdeficiencies": 72946, + "(te": 72947, + "'#": 72948, + "_equiv": 72949, + "Ġpreorder": 72950, + "ĠAxe": 72951, + "омÑĥ": 72952, + ".sendFile": 72953, + "Ġfilt": 72954, + "ĠLimits": 72955, + "ĠCavaliers": 72956, + ".discount": 72957, + "âĨIJ": 72958, + "ĠWit": 72959, + "QRSTUV": 72960, + "Ġij": 72961, + "Ġtegen": 72962, + "Ġ:\",": 72963, + "difficulty": 72964, + "punkt": 72965, + "ĠEmails": 72966, + "chlor": 72967, + "(fun": 72968, + ".Uint": 72969, + "ĠStall": 72970, + "_verified": 72971, + "uD": 72972, + "FileType": 72973, + "Ġpleasures": 72974, + "Ġjudiciary": 72975, + "Ġsham": 72976, + "ipur": 72977, + "_PLUS": 72978, + "offers": 72979, + "(foo": 72980, + "_GT": 72981, + "ĉcore": 72982, + "ENTION": 72983, + "ĠLiberation": 72984, + "CommandLine": 72985, + "_department": 72986, + ".Ar": 72987, + "_neighbor": 72988, + "ĠSubmitted": 72989, + "ĠĊ": 97221, + "Ġdroits": 97222, + "Ġhomosexuals": 97223, + "Ġabduction": 97224, + "ĉwidget": 97225, + "$headers": 97226, + "ĠDAR": 97227, + "Ġfla": 97228, + "threat": 97229, + "Ġlouis": 97230, + ".GetProperty": 97231, + "\"Just": 97232, + "(frames": 97233, + "ryo": 97234, + "profession": 97235, + "|i": 97236, + "íķ´ìĦľ": 97237, + "(sv": 97238, + "Ġunrecognized": 97239, + "Ionic": 97240, + "Fashion": 97241, + "ScreenState": 97242, + "ĠIncoming": 97243, + "NotNil": 97244, + "Ġsyncing": 97245, + "emie": 97246, + "Ġthermo": 97247, + "_procs": 97248, + "Ġinconsistency": 97249, + "religious": 97250, + ".mj": 97251, + "Ġpersonn": 97252, + "Ġmomentos": 97253, + "orarily": 97254, + "ĠæĬ": 97255, + "_neurons": 97256, + "Illustr": 97257, + "imoto": 97258, + "ilik": 97259, + "ĠWoj": 97260, + "Trading": 97261, + "Ġappare": 97262, + "Ġentreprises": 97263, + "achat": 97264, + "Ġ¬": 97265, + "Ġneigh": 97266, + "BUTTONDOWN": 97267, + "ĠMaher": 97268, + "aghan": 97269, + "-hash": 97270, + "\"f": 97271, + "Ġclientele": 97272, + ".addButton": 97273, + "ĉSP": 97274, + "Qi": 97275, + "Ġgrated": 97276, + "POSITE": 97277, + ":>": 97278, + "ĠHowell": 97279, + "ĠComparative": 97280, + "ĠISC": 97281, + "ÂŃi": 97282, + "Ocean": 97283, + "Davis": 97284, + "ĠFilme": 97285, + "Wins": 97286, + "ĠJIT": 97287, + "occer": 97288, + "ĠCorm": 97289, + "ENCHMARK": 97290, + "rchive": 97291, + "icação": 97292, + "Ġmata": 97293, + "Ġchildbirth": 97294, + "ĠOptionally": 97295, + "Ens": 97296, + "Ġxhttp": 97297, + "Ġelucid": 97298, + "_OscInitStruct": 97299, + "))):Ċ": 97300, + "Ġintuit": 97301, + "ĠDonate": 97302, + "Ġcorrelates": 97303, + ">Delete": 97304, + "Ġequipe": 97305, + "Ġboca": 97306, + "Ġinflatable": 97307, + "erah": 97308, + "ĠDateTimeKind": 97309, + "Ġcalves": 97310, + "\\Lib": 97311, + "Ġemlrt": 97312, + "ĠTrilogy": 97313, + "ĠPanc": 97314, + "ĠDuis": 97315, + "ĠpelÃŃcula": 97316, + "WARDS": 97317, + "_DETECT": 97318, + "-sectional": 97319, + "dhcp": 97320, + "ForRow": 97321, + "-destruct": 97322, + "ĠPresenter": 97323, + "/slick": 97324, + ",on": 97325, + "ĠCitadel": 97326, + "loggedin": 97327, + "_subtype": 97328, + "Ġsigue": 97329, + "Ġcuring": 97330, + "ĠFirewall": 97331, + "Ġfluorescence": 97332, + "ĠItalians": 97333, + "иÑĤÑģÑı": 97334, + ".getStyle": 97335, + "InSeconds": 97336, + "jie": 97337, + "-Smith": 97338, + "Ġxlink": 97339, + "Ġsubmissive": 97340, + "онÑĤ": 97341, + "arbonate": 97342, + "ĠFaul": 97343, + "_goals": 97344, + "ĠCommissioners": 97345, + "chartInstance": 97346, + "_POSTFIELDS": 97347, + "Ġmedial": 97348, + "Ġmanos": 97349, + "Ġdelt": 97350, + "svm": 97351, + ".Apis": 97352, + "ephy": 97353, + "Ġasympt": 97354, + "ĠappDelegate": 97355, + "Ġimprobable": 97356, + "cka": 97357, + "simd": 97358, + "/Error": 97359, + ".âĢĵ": 97360, + "ĠPTS": 97361, + "deer": 97362, + "Ġsina": 97363, + "magnitude": 97364, + "IDADE": 97365, + "']}'": 97366, + "Ġmayores": 97367, + "ĉcomment": 97368, + "/console": 97369, + "\"@": 97370, + "volt": 97371, + ".sell": 97372, + "ĠMacy": 97373, + "Ġmelod": 97374, + "Ġimágenes": 97375, + "_chg": 97376, + "Ġinout": 97377, + "idente": 97378, + ")'),Ċ": 97379, + "dni": 97380, + ".blob": 97381, + "Ġtypography": 97382, + "Ġeerie": 97383, + "_OID": 97384, + "pesan": 97385, + "ajan": 97386, + "Ġchopping": 97387, + "Ġbluff": 97388, + "adf": 97389, + "_bases": 97390, + ".Formatter": 97391, + "Ġ\\%": 97392, + "ĠPageInfo": 97393, + "Carrier": 97394, + "ĠCalibration": 97395, + "como": 97396, + "-bodied": 97397, + "Ġfinancier": 97398, + "ĠINA": 97399, + ".ERR": 97400, + "Ġhoodie": 97401, + "ĠSanity": 97402, + "guarded": 97403, + ".opendaylight": 97404, + "ISMATCH": 97405, + "Highlights": 97406, + "ünk": 97407, + "aniem": 97408, + "angered": 97409, + "assignments": 97410, + "Ġregistrado": 97411, + "ĠUPPER": 97412, + "ampilkan": 97413, + "ashire": 97414, + "ĠNikola": 97415, + "ĠCFL": 97416, + "ĠHDC": 97417, + "Ġpoids": 97418, + "ĠIPs": 97419, + "Ġpreventative": 97420, + "ipsoid": 97421, + "ifix": 97422, + ".camel": 97423, + ".ga": 97424, + "Volumes": 97425, + "-ste": 97426, + "Yahoo": 97427, + "_sibling": 97428, + "Highest": 97429, + "optgroup": 97430, + "Ġkvinna": 97431, + "âĢĿãĢĤĊĊ": 97432, + "ĠAppliances": 97433, + "Ġ\"><": 97434, + "')\")Ċ": 97435, + "htt": 97436, + "ĠIdentified": 97437, + "Ġpencils": 97438, + "ĠmemberId": 97439, + "ĠappendString": 97440, + ".loadData": 97441, + "ĠmockMvc": 97442, + "Ġjub": 97443, + "ĠSlut": 97444, + "ĠTaipei": 97445, + "statt": 97446, + "Polit": 97447, + "Ġpartager": 97448, + "DidChange": 97449, + "Increases": 97450, + ")}.": 97451, + "ĠBaba": 97452, + "_CLIP": 97453, + "[unit": 97454, + "ĠклÑİÑĩ": 97455, + "Ġalcuni": 97456, + "ĠLola": 97457, + "Ġclinging": 97458, + "@PostMapping": 97459, + "(concat": 97460, + "Ġssid": 97461, + "ĠFauc": 97462, + "okit": 97463, + "ĠRecorded": 97464, + "ález": 97465, + "($('<": 97466, + ".assertIsNot": 97467, + "Ġkali": 97468, + "Volt": 97469, + "Ġwarmly": 97470, + "Ġscares": 97471, + "getti": 97472, + "führt": 97473, + "_does": 97474, + ".EMAIL": 97475, + "imations": 97476, + "Ġspringfox": 97477, + "ĠDecom": 97478, + "arcy": 97479, + "Ġglitches": 97480, + "ĠMoff": 97481, + "ĠVoll": 97482, + ".between": 97483, + "Ġcoorden": 97484, + "ĠParticularly": 97485, + "GBP": 97486, + "Ġsemble": 97487, + "Eastern": 97488, + "_MSB": 97489, + "]){čĊ": 97490, + "morgan": 97491, + "ĠEVAL": 97492, + "dere": 97493, + "HOUSE": 97494, + "moire": 97495, + "istique": 97496, + "_lstm": 97497, + "-commit": 97498, + "ysterious": 97499, + "Ġtwink": 97500, + "-thumbnails": 97501, + "enÃŃ": 97502, + ":'',": 97503, + "Ġblackout": 97504, + "ĠFloors": 97505, + "Ġsofas": 97506, + "Ġoui": 97507, + "leshoot": 97508, + "ĠRaq": 97509, + "-abs": 97510, + "Ġkra": 97511, + "Mining": 97512, + "shaft": 97513, + ".setColumns": 97514, + "Clazz": 97515, + "PRETTY": 97516, + ".playlist": 97517, + "éĸ¢": 97518, + "-Saharan": 97519, + "MING": 97520, + "ĉbl": 97521, + "è®®": 97522, + "jf": 97523, + "DOCKER": 97524, + "hopefully": 97525, + "(ignore": 97526, + "ĠUsersController": 97527, + "ĠMitarbeiter": 97528, + "ĠLES": 97529, + "Hamilton": 97530, + "-metadata": 97531, + "ĠKK": 97532, + "iktig": 97533, + "Ġwollte": 97534, + "egrator": 97535, + "]bool": 97536, + ",current": 97537, + "ĠvalueType": 97538, + "Ġexcavation": 97539, + "oland": 97540, + "Ġverv": 97541, + "/filepath": 97542, + "AuthProvider": 97543, + "Ġprocrast": 97544, + "ĉULONG": 97545, + "_MEMBERS": 97546, + "Ġuplift": 97547, + "ĠAutonomous": 97548, + "Ġartworks": 97549, + "ĠOutreach": 97550, + "Ġpore": 97551, + "Homepage": 97552, + "DialogTitle": 97553, + "ĠGenerating": 97554, + "PARSE": 97555, + "Ġsemanas": 97556, + "Ġhumano": 97557, + "JSGlobalScope": 97558, + "Ġvolte": 97559, + "Ġbella": 97560, + "(isinstance": 97561, + "Ġplc": 97562, + "\\Catalog": 97563, + "Ġesteemed": 97564, + "鼷": 97565, + "(suffix": 97566, + "Ġsweeps": 97567, + "ĉORDER": 97568, + "Ġdoivent": 97569, + "ĠSwarm": 97570, + "ĠCompiled": 97571, + "getPage": 97572, + "ADR": 97573, + ".RichTextBox": 97574, + "ĠNaming": 97575, + "agged": 97576, + "ĠGANG": 97577, + "rasing": 97578, + "odeled": 97579, + "Ġgala": 97580, + "ĠJSName": 97581, + "ddf": 97582, + "Ġillust": 97583, + "ĠLansing": 97584, + "[port": 97585, + "-death": 97586, + "Ġdinheiro": 97587, + "ĠEighth": 97588, + "Ġbian": 97589, + "stÃ¥": 97590, + "Ġversión": 97591, + "ĠLinearGradient": 97592, + "ĠHarding": 97593, + ".*)": 97594, + "eczy": 97595, + "$header": 97596, + "ĠvÃ¥r": 97597, + "Unchecked": 97598, + "Ġkoje": 97599, + "ĠPaladin": 97600, + "())),": 97601, + "Giving": 97602, + "()})Ċ": 97603, + "Ġdips": 97604, + "Friendly": 97605, + "Ġportrays": 97606, + "Ġhelium": 97607, + "Ġinsurgency": 97608, + "_expiry": 97609, + "ĠstringByAppendingString": 97610, + "Ġaantal": 97611, + "slope": 97612, + "mast": 97613, + ".getInteger": 97614, + "Ġ########################": 97615, + "_PIPELINE": 97616, + "Ġdensely": 97617, + "Ġmutating": 97618, + "midi": 97619, + "ĠSeit": 97620, + "ayne": 97621, + "NOWLED": 97622, + "ĠDesmond": 97623, + "ĠFName": 97624, + "ĠNairobi": 97625, + "\\Context": 97626, + "Ġcalcular": 97627, + "-den": 97628, + "Ġcott": 97629, + "]):čĊ": 97630, + "ĠRecommendation": 97631, + "ĠRolex": 97632, + "ĠvalidationResult": 97633, + ".pat": 97634, + "ĠnÃły": 97635, + "ĠRestClient": 97636, + "ĠGPI": 97637, + "ĠAsheville": 97638, + "ĠOSP": 97639, + "ĠPERMISSION": 97640, + "ÐĶаÑĤа": 97641, + "/notification": 97642, + "Knight": 97643, + "_Word": 97644, + "ĠBender": 97645, + "ranking": 97646, + "Ġpartida": 97647, + "_reservation": 97648, + "ÌĢ": 97649, + "ĠmName": 97650, + "Ġgetch": 97651, + "Ġborr": 97652, + "Ġdiligent": 97653, + "Discuss": 97654, + "æŃ£åľ¨": 97655, + "apeake": 97656, + "ioned": 97657, + "-Nazi": 97658, + ".cum": 97659, + "ĠKron": 97660, + "=$('#": 97661, + "/single": 97662, + "Ġerotisch": 97663, + "ĠVib": 97664, + "Ġratified": 97665, + "Ġconcerted": 97666, + "ĠREGARD": 97667, + "Ġdobr": 97668, + ".DriverManager": 97669, + "'r": 97670, + "Portable": 97671, + "ĉsuite": 97672, + "Ġrelaciones": 97673, + "ĠDop": 97674, + "emploi": 97675, + "DOB": 97676, + "Ġcrumbs": 97677, + "Ġxls": 97678, + "_Application": 97679, + "(':',": 97680, + "Ġ------------------------------------------------------------------------Ċ": 97681, + "mse": 97682, + "Ġberk": 97683, + "ĠReturnValue": 97684, + "ĠBelly": 97685, + "Ġcamar": 97686, + "ĠPeek": 97687, + "elsing": 97688, + "Ġnotifies": 97689, + "ĠTristan": 97690, + "ĠGAR": 97691, + "emme": 97692, + "ĠElevated": 97693, + "_CSV": 97694, + "(chalk": 97695, + "Ġtwenties": 97696, + "ĠSearchResult": 97697, + "=search": 97698, + "ĠMixing": 97699, + "ýt": 97700, + "Ġrecruiter": 97701, + "ĠIDEOGRAPH": 97702, + "ĠAgo": 97703, + "(Operation": 97704, + "$values": 97705, + "Ġworldly": 97706, + "ĠRosenberg": 97707, + "ĠConfigureServices": 97708, + ">*Ċ": 97805, + "Ġsnork": 97806, + "_opacity": 97807, + "ĠinitWithNibName": 97808, + "iado": 97809, + "AAC": 97810, + "Ġ]).": 97811, + ";z": 97812, + "_paragraph": 97813, + "Ġnoses": 97814, + "stands": 97815, + "ifr": 97816, + "_mE": 97817, + "Iraq": 97818, + ".Predicate": 97819, + "enaire": 97820, + "]]];Ċ": 97821, + "Ġunidad": 97822, + "Ġretirees": 97823, + "_hello": 97824, + "Ġmodele": 97825, + "ĠUITableViewController": 97826, + "fwrite": 97827, + "_numero": 97828, + "_visited": 97829, + "Ġrecebe": 97830, + "(Notification": 97831, + "Fantastic": 97832, + "_submenu": 97833, + "ĠPEM": 97834, + "ĠCupertino": 97835, + "approximately": 97836, + "classed": 97837, + ".ReadString": 97838, + "Ġdomicile": 97839, + "_PW": 97840, + "Ġballpark": 97841, + "ĠKale": 97842, + "contra": 97843, + "_favorite": 97844, + "/of": 97845, + "Quite": 97846, + "ĠOTA": 97847, + "Ġaccelerometer": 97848, + "didn": 97849, + "|^": 97850, + "ĠRohingya": 97851, + "ivicrm": 97852, + "annabin": 97853, + "обÑĭÑĤи": 97854, + "orado": 97855, + "')+": 97856, + "Haunted": 97857, + ",ID": 97858, + "(UIAlertAction": 97859, + "urv": 97860, + "_bel": 97861, + "ĠMexicans": 97862, + "/terms": 97863, + "ĠPainter": 97864, + "InputLabel": 97865, + "ĠVinci": 97866, + "ĠRosie": 97867, + "\\uc": 97868, + "": 98029, + "_gs": 98030, + "Ġcompil": 98031, + "nard": 98032, + "-exc": 98033, + "Ġrhyme": 98034, + "Ġbutto": 98035, + "says": 98036, + "antasy": 98037, + "ë¸": 98038, + "ĠcittÃł": 98039, + "Ġcheg": 98040, + "TimeString": 98041, + "Ġpositivity": 98042, + "ĠDabei": 98043, + "Ġwang": 98044, + "Ġescre": 98045, + "\"c": 98046, + "ĉvideo": 98047, + "ĠRanked": 98048, + ".strings": 98049, + ">>>(": 98050, + "ĠинÑĤеÑĢ": 98051, + "Ġresta": 98052, + "[:,:": 98053, + "Ġrendre": 98054, + "Ġdeser": 98055, + "Jos": 98056, + "Ġdisruptions": 98057, + "ĠопеÑĢ": 98058, + "sampling": 98059, + "suppress": 98060, + "ĠcontainerView": 98061, + "ĠSeamless": 98062, + "Ġairy": 98063, + "Ġonload": 98064, + ".WindowManager": 98065, + "ĠPLA": 98066, + "braco": 98067, + ".setPositiveButton": 98068, + "Ġpdu": 98069, + "Ġgsi": 98070, + "ĠCli": 98071, + "_gradients": 98072, + "Ñıд": 98073, + "ĠWhisper": 98074, + "cstdint": 98075, + "Ġläng": 98076, + "Ġformulations": 98077, + "énom": 98078, + "ournemouth": 98079, + "[$_": 98080, + "Ġordinarily": 98081, + ".setUsername": 98082, + "Ġfaculties": 98083, + "MITTED": 98084, + "/values": 98085, + "Ġweir": 98086, + "ĠApt": 98087, + "MZ": 98088, + "ĉcf": 98089, + "ucken": 98090, + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ": 98091, + "defense": 98092, + "[iVar": 98093, + "ĠBusinessException": 98094, + "Selectors": 98095, + "(coordinates": 98096, + "ĠResets": 98097, + "ĠDrinks": 98098, + "oleans": 98099, + "(stypy": 98100, + "_IOC": 98101, + ".xxx": 98102, + "ĠSlater": 98103, + "ĠBelize": 98104, + "Ġ/************************************************************************": 98105, + "addin": 98106, + "_episodes": 98107, + "Ġischem": 98108, + "legalArgumentException": 98109, + "Danny": 98110, + "Ġpared": 98111, + ".codehaus": 98112, + "ĠAssy": 98113, + "ĉRect": 98114, + "âŀ": 98115, + ".lista": 98116, + "ĠваÑĪ": 98117, + "Ġvets": 98118, + "HWND": 98119, + "isoner": 98120, + "Ġxo": 98121, + "Ġorally": 98122, + "ĠStmt": 98123, + ".rnn": 98124, + "ĠDPI": 98125, + "ĠStrikes": 98126, + ".setViewportView": 98127, + "ĠèĩªåĬ¨çĶŁæĪIJ": 98128, + "YELLOW": 98129, + "GLenum": 98130, + "partners": 98131, + "ĠImplicit": 98132, + "Ġtako": 98133, + "âĢĻelle": 98134, + "Ġermög": 98135, + "totalCount": 98136, + "Gil": 98137, + "ĉwork": 98138, + "Ġpratic": 98139, + "inati": 98140, + "abies": 98141, + "ĠSkinner": 98142, + "Ġspirited": 98143, + "Ġpancreatic": 98144, + "Ġhdf": 98145, + "'em": 98146, + "Ġpsychosis": 98147, + "olicit": 98148, + "Ġ\"{\"": 98149, + "_atual": 98150, + "Ġélect": 98151, + "TEAM": 98152, + "Ġdak": 98153, + "ĠSWAT": 98154, + ".FragmentManager": 98155, + "Ġprovisioning": 98156, + "lifetime": 98157, + "_EXTENSIONS": 98158, + "ĠCASCADE": 98159, + "Ġ![": 98160, + "(KP": 98161, + "Ġvem": 98162, + "ĠInterracial": 98163, + "']},Ċ": 98164, + "spacer": 98165, + "_kv": 98166, + "Warehouse": 98167, + "RDD": 98168, + "_fsm": 98169, + ".StretchImage": 98170, + ",Yes": 98171, + "ĠRefugee": 98172, + "ĠBringing": 98173, + "Ġválido": 98174, + ".intersection": 98175, + "Ġspooky": 98176, + "_portal": 98177, + "Ġmoth": 98178, + "ĠZodiac": 98179, + "ĠSOCIAL": 98180, + "MimeType": 98181, + "']}}": 98300, + "_Blue": 98301, + "Ġbotanical": 98302, + "Ġfrags": 98303, + "Ġfamilial": 98304, + "-du": 98305, + "Ġseizing": 98306, + "(blocks": 98307, + ".rd": 98308, + ".checkNotNull": 98309, + "Ġmiser": 98310, + "Ġmaxx": 98311, + "ĠKnee": 98312, + "ViewItem": 98313, + "InnerHTML": 98314, + "Danger": 98315, + "((__": 98316, + "Ġprzypad": 98317, + "createUrl": 98318, + "**,": 98319, + "ĠDecorating": 98320, + "ATEGY": 98321, + "?>/": 98322, + ".Designer": 98323, + "hexdigest": 98324, + "ĠEverywhere": 98325, + "alleries": 98326, + ".TEXTURE": 98327, + ".Blocks": 98328, + "zell": 98329, + "Ġpreço": 98330, + "Suddenly": 98331, + "inputEmail": 98332, + "(sync": 98333, + ".bd": 98334, + "golden": 98335, + ">');": 98336, + "ĠDickinson": 98337, + ">>(Ċ": 98338, + "ĠQUEUE": 98339, + "ĠgetColumn": 98340, + "ĠSAND": 98341, + ".piece": 98342, + "licer": 98343, + "Flutter": 98344, + "ĠgetVersion": 98345, + "ĠresourceId": 98346, + "ogl": 98347, + "ÅĤaw": 98348, + ".Branch": 98349, + "ĉweb": 98350, + "Ġframerate": 98351, + "PPP": 98352, + "Ġfray": 98353, + "CNT": 98354, + "Ġinformatie": 98355, + "']čĊčĊ": 98356, + "neas": 98357, + "HeaderCode": 98358, + "Ġæ¸": 98359, + "Ġtrg": 98360, + "rawtypes": 98361, + "Honda": 98362, + "Ġmarketer": 98363, + "ĠrequestData": 98364, + "ĠPg": 98365, + "ĉnot": 98366, + "ĠpageInfo": 98367, + "Ġaktuellen": 98368, + "ãģķãĤĵ": 98369, + "ĠAMS": 98370, + "pushViewController": 98371, + "ĉAL": 98372, + "Ġvests": 98373, + "produce": 98374, + "-même": 98375, + "ĠRahman": 98376, + "Funny": 98377, + "EZ": 98378, + "_Valid": 98379, + "Ġsquadron": 98380, + "Ġlash": 98381, + "Ġirm": 98382, + "iasco": 98383, + "ĠParan": 98384, + "Ġpetites": 98385, + "ĠDecay": 98386, + "Ġuninitialized": 98387, + "privileged": 98388, + "Ġmbedtls": 98389, + "å¤ĩ注": 98390, + "Ġ^.": 98391, + "Ġecstatic": 98392, + "Detroit": 98393, + "Ġparten": 98394, + "Ġsouvenir": 98395, + ".getLogin": 98396, + "моÑĤÑĢ": 98397, + "enção": 98398, + "ĠmÃŃnimo": 98399, + "ĠAccessed": 98400, + "rió": 98401, + "Mic": 98402, + "ĠVocal": 98403, + ".SetString": 98404, + "Ġmensajes": 98405, + "åĢį": 98406, + "Ġattravers": 98407, + "ĠAph": 98408, + "Ġ');čĊ": 98409, + "ünde": 98410, + "Ġenchanted": 98411, + "ĠRootState": 98412, + "ĠCLOSED": 98413, + "ĉĉĉĉĉĉĉĉčĊ": 98414, + "Ġcaliente": 98415, + "orris": 98416, + "Ġphysicists": 98417, + "hwnd": 98418, + "_vi": 98419, + "Ġrápido": 98420, + "Ġcapitalized": 98421, + "edBy": 98422, + "Ġmachining": 98423, + "Ġhubby": 98424, + "ĠStacy": 98425, + ".Bus": 98426, + "drink": 98427, + "Hur": 98428, + "Ġpropia": 98429, + "UnitTest": 98430, + "Ġmisconception": 98431, + "__));Ċ": 98432, + "/dc": 98433, + "ĠMayweather": 98434, + "_mC": 98435, + ".createFrom": 98436, + "ĠQPainter": 98437, + "ropsych": 98438, + "innitus": 98439, + "ayas": 98440, + "Ġgeg": 98441, + "(dw": 98442, + "Ġusado": 98443, + "Ġtrickle": 98444, + "Ġannihil": 98445, + "ĠPasta": 98446, + "Ġ++Ċ": 98447, + "(ExpectedConditions": 98448, + ".postValue": 98449, + "icap": 98450, + "ĠDonetsk": 98451, + "_soup": 98452, + "-publish": 98453, + "ĠPb": 98454, + "mentions": 98455, + "ACCEPT": 98456, + ".Pull": 98457, + ",âĢĻâĢĻ": 98458, + "Ġretarded": 98459, + "_ATOM": 98460, + "ĠTerminator": 98461, + "-court": 98462, + "ĠCLLocationCoordinate": 98463, + "Ġreverence": 98464, + "ĠSSC": 98465, + "utely": 98466, + "ĠWON": 98467, + "ĠGSL": 98468, + "frei": 98469, + ".getLongitude": 98470, + "ĠopenFileDialog": 98471, + ".Butter": 98472, + "-important": 98473, + "_MANY": 98474, + "ĠGong": 98475, + "âĢľHow": 98476, + "Ġgorge": 98477, + "=msg": 98478, + "ĠEzek": 98479, + "createCommand": 98480, + ":checked": 98481, + "Ġinfographic": 98482, + ".WEST": 98483, + "Dirs": 98484, + "Ġguarda": 98485, + "Ġbeetle": 98486, + "Loading": 98560, + "_mA": 98561, + ".getRandom": 98562, + "blings": 98563, + "Ġcheeses": 98564, + "tti": 98565, + ".âĢ¢": 98566, + "ĠBurgess": 98567, + "enderit": 98568, + ".',čĊ": 98569, + "(\"\"+": 98570, + "acb": 98571, + "%p": 98572, + "indexed": 98573, + "_predicate": 98574, + "nesia": 98575, + "Ġbied": 98576, + "ĠCIT": 98577, + "(Pos": 98578, + "_radi": 98579, + "ä»·æł¼": 98580, + "Biz": 98581, + "ĠAdolescent": 98582, + "Ġviên": 98583, + "cycl": 98584, + "_Cancel": 98585, + "Ġconclusive": 98586, + "Ġappellate": 98587, + "informatics": 98588, + "SJ": 98589, + "Ġelective": 98590, + "roleId": 98591, + "Fetcher": 98592, + "ĉCommand": 98593, + "(\"(%": 98594, + "Ġfart": 98595, + "ILA": 98596, + "getBlock": 98597, + "AUSE": 98598, + "Ġдан": 98599, + "ĠArte": 98600, + "Ġnotifying": 98601, + "Ġgele": 98602, + ".same": 98603, + "ĠRegel": 98604, + "ĠBaÅŁ": 98605, + ".creation": 98606, + "ĠVN": 98607, + "_community": 98608, + "Ġunsustainable": 98609, + "SEX": 98610, + "ĠgridSize": 98611, + "rescia": 98612, + "aversable": 98613, + "(',')[": 98614, + "ĠPhelps": 98615, + "á»ķi": 98616, + "ANCELED": 98617, + "-IS": 98618, + ".runners": 98619, + "ĠStokes": 98620, + ".Produ": 98621, + "Ġwhipping": 98622, + "_acquire": 98623, + "Ġinvestigación": 98624, + "fried": 98625, + ".copyWith": 98626, + "ĠHardcover": 98627, + "-Se": 98628, + "áŀ¶áŀ": 98629, + "invitation": 98630, + "lesai": 98631, + "ĠDorm": 98632, + "ĠÑģпиÑģка": 98633, + "Ġconcatenated": 98634, + "ophil": 98635, + "Ġthinker": 98636, + "/fontawesome": 98637, + "ĠLeopard": 98638, + "Ġ\"/\");Ċ": 98639, + "Ġresiduals": 98640, + "ĠMicrowave": 98641, + "Ġconforme": 98642, + "throp": 98643, + "Ġdisemb": 98644, + "ĠOMG": 98645, + "ĠDiscipline": 98646, + "ĠAcrobat": 98647, + "/repository": 98648, + "dfa": 98649, + "_MED": 98650, + "bufio": 98651, + "Ġméthode": 98652, + "_HOLD": 98653, + "iasi": 98654, + "_legacy": 98655, + ")ččĊ": 98656, + "æ£Ģ": 98657, + "GetProcAddress": 98658, + "Ġyay": 98659, + "otence": 98660, + "orderid": 98661, + "-tw": 98662, + "Ġdearly": 98663, + "Incoming": 98664, + "/il": 98665, + "Ġneurop": 98666, + "ucz": 98667, + ");čččĊ": 98668, + "ĠInnovative": 98669, + "Ġprofund": 98670, + "igmat": 98671, + "SelectionMode": 98672, + "relevant": 98673, + ".GO": 98674, + "Ġbruises": 98675, + "Ġsach": 98676, + "odef": 98677, + "Ġreimb": 98678, + "/desktop": 98679, + "-spot": 98680, + "undance": 98681, + "Entropy": 98682, + "\\core": 98683, + "Ġsuger": 98684, + "ĠMvc": 98685, + "ĠGNOME": 98686, + "_indx": 98687, + "ĠYYSTYPE": 98688, + "ĠMatlab": 98689, + "ĠCIF": 98690, + "Ġ*))": 98691, + "ĠproductList": 98692, + "ĠAlright": 98693, + "acemark": 98694, + "ÑĤив": 98695, + "modification": 98696, + "international": 98697, + "Ġhomers": 98698, + "Ġdicts": 98699, + "ĠQFont": 98700, + ".SQLite": 98701, + "Ġtransplantation": 98702, + "ĠMessageBoxButton": 98703, + "ĠElves": 98704, + "']])Ċ": 98705, + "(QIcon": 98706, + "Ġcinemas": 98707, + "COORD": 98708, + "-China": 98709, + "Ġkhẩu": 98710, + "æĪijçļĦ": 98711, + "Ġskulls": 98712, + "Ġpainstaking": 98713, + "fce": 98714, + ".XRLabel": 98715, + "Ġspecifier": 98716, + "Ġpreferring": 98717, + "/activity": 98718, + "(Photo": 98719, + "ált": 98720, + ".lot": 98721, + "''.": 98722, + "annonce": 98723, + ".googlecode": 98724, + "-pdf": 98725, + "ĠPoke": 98726, + "_ACL": 98727, + "Ġendowed": 98728, + "discover": 98729, + ".omg": 98730, + "Ġwoodland": 98731, + ".Magic": 98732, + "Ġvolont": 98733, + "NotAllowed": 98734, + "Ġchave": 98735, + "BMW": 98736, + "','=',": 98737, + "ĠSIX": 98738, + "æĪij们": 98739, + "Ġkosher": 98740, + "Ġaspiration": 98741, + "intl": 98742, + "_refptr": 98743, + "'+Ċ": 98744, + "mentor": 98745, + ".club": 98746, + "WindowState": 98747, + ".ARR": 98748, + "Ġzza": 98749, + "ĠmessageType": 98750, + ".equ": 98751, + "Thor": 98752, + "Ġinjust": 98753, + "Ġgums": 98754, + "ĠborderSide": 98755, + "/////": 98756, + "ĠTransmit": 98757, + "Ġbufsize": 98758, + "Ġhak": 98759, + "Ġellas": 98760, + "RANDOM": 98761, + "ĉmc": 98762, + "Ġpea": 98763, + "eko": 98764, + "documento": 98765, + "Ġhysteria": 98766, + "Ġarenas": 98767, + "Ġgunmen": 98768, + "Ġmike": 98769, + "Ġimpunity": 98770, + "atisation": 98771, + "_Zero": 98772, + "_COMPANY": 98773, + "ĠGors": 98774, + "ĠuseClass": 98775, + "(redis": 98776, + "ĠRUNNING": 98777, + "ĠBair": 98778, + "velte": 98779, + "Ġ','.": 98780, + "аÑĤÑĮÑģÑı": 98781, + "öst": 98782, + "encodeURIComponent": 98783, + "_restrict": 98784, + "Ġdecals": 98785, + "ĠPedido": 98786, + "Ġaltercation": 98787, + "Displays": 98788, + "ĠApplicants": 98789, + "CUS": 98790, + "Textarea": 98791, + "ĠAngola": 98792, + ".future": 98793, + "ĠUSHORT": 98794, + "Ġsuppressing": 98795, + "Ġsetzen": 98796, + "APolynomial": 98797, + "Ġtoch": 98798, + "Ġhallmark": 98799, + "Ġ$$$": 98800, + "ĠCHARSET": 98801, + ".rpm": 98802, + "ĠDich": 98803, + "--------------------": 98804, + "_parm": 98805, + "è¿ĺ": 98806, + "acciones": 98807, + "hait": 98808, + "WARDED": 98809, + "_routing": 98810, + "ĠNOM": 98811, + "Ġenclave": 98812, + "ĠLotto": 98813, + "ĉfr": 98814, + "complexContent": 98815, + "ĠBallard": 98816, + "kube": 98817, + "/win": 98818, + ".getColumnModel": 98819, + "_REPLACE": 98820, + "HeaderValue": 98821, + "Ġestudiantes": 98822, + "Ġapis": 98823, + "Ġbpm": 98824, + "ĠTypeName": 98825, + "AndGet": 98826, + "rita": 98827, + "Plans": 98828, + ">Note": 98829, + "Ġfetisch": 98830, + "Ġtoned": 98831, + "_goto": 98832, + "onsense": 98833, + "Ġmolds": 98834, + "Ġinfiltration": 98835, + "ĠGuerrero": 98836, + "ubbo": 98837, + "cki": 98838, + "($(\".": 98839, + "_activities": 98840, + "(changes": 98841, + "ĠofApp": 98842, + "ĠKepler": 98843, + "ĠDemp": 98844, + "ĠContinent": 98845, + ".Ticks": 98846, + "ĠUnsigned": 98847, + "ĠJahres": 98848, + "Ġfreshmen": 98849, + "ĠArchived": 98850, + "ĠкоÑĤоÑĢÑĭй": 98851, + "Ġ'::": 98852, + "Tutorial": 98853, + "Cc": 98854, + "ĠtableLayoutPanel": 98855, + "fromJson": 98856, + ".levels": 98857, + "_transient": 98858, + "Ġendorsing": 98859, + "ĠDIC": 98860, + "lauf": 98861, + "Ġshred": 98862, + "_EMIT": 98863, + "ificantly": 98864, + "ALA": 98865, + "/proto": 98866, + "Ġnarrowing": 98867, + "Utc": 98868, + "Factors": 98869, + "Ġsentient": 98870, + "æŀIJ": 98871, + "lixir": 98872, + "ĠCROSS": 98873, + "meteor": 98874, + "Ġgroin": 98875, + "Ġmdb": 98876, + "ĠRotterdam": 98877, + "Ġcomida": 98878, + "ĠOpCode": 98879, + "ĠDefaultValue": 98880, + "PermissionsResult": 98881, + "Ġheterogeneous": 98882, + "Ġmoot": 98883, + "Ġdeceived": 98884, + "-independent": 98885, + "ĠObjectOutputStream": 98886, + "Ġoverpower": 98887, + ".dup": 98888, + "Ġldb": 98889, + "Ġdomestically": 98890, + "Ġbestellen": 98891, + "Ġlov": 98892, + "ĠContractors": 98893, + "Triangles": 98894, + "Ġfodder": 98895, + "Ġfilmes": 98896, + "ä¼ģ": 98897, + "Ġrevolver": 98898, + "StartupScript": 98899, + "/validation": 98900, + "ĠResourceType": 98901, + "iÅŁ": 98902, + "ĠLaz": 98903, + "fef": 98904, + "Ġlstm": 98905, + "{*": 98906, + ".attachment": 98907, + ".hits": 98908, + "ewith": 98909, + "DOG": 98910, + "Alabama": 98911, + "Ġmediums": 98912, + ".mContext": 98913, + "-cols": 98914, + "åıĭ": 98915, + ".notice": 98916, + "Ġattn": 98917, + "ĠPacking": 98918, + "ĠLn": 98919, + "_COMPLEX": 98920, + "/Users": 98921, + ".savetxt": 98922, + "ĠRounds": 98923, + "?,?,?,?,": 98924, + "Ġingl": 98925, + "ĠROC": 98926, + "_female": 98927, + "ĠStard": 98928, + "]];": 98929, + "Ġwrestlers": 98930, + "Ġtorrents": 98931, + "Ġsinh": 98932, + "ĊĊ": 98933, + "ë³µ": 98934, + "sense": 98935, + "however": 98936, + ".Physics": 98937, + "Infrastructure": 98938, + "ĠSacr": 98939, + "Fel": 98940, + "ĠDISTRIBUT": 98941, + "éments": 98942, + "ĠValidates": 98943, + "############################################################": 98944, + "Ġ|/": 98945, + "Ġesl": 98946, + "Ġréseau": 98947, + "ĠBip": 98948, + "BYTES": 98949, + "_WATER": 98950, + "Turning": 98951, + "ELS": 98952, + "Ġjuxtap": 98953, + "Ġlesbische": 98954, + "ých": 98955, + "(Unknown": 98956, + "Neo": 98957, + "@JsonProperty": 98958, + "Ġalumnos": 98959, + "ĠRaqqa": 98960, + "imei": 98961, + ".getBounds": 98962, + ".MouseEventHandler": 98963, + "#######": 98964, + "GenericType": 98965, + "/cms": 98966, + "Ġturno": 98967, + "Ġмин": 98968, + "Ġfolklore": 98969, + "ĠEvo": 98970, + "Ġconductivity": 98971, + "Ġleben": 98972, + "Ġgearbox": 98973, + "-vs": 98974, + "ĠÏĨ": 98975, + "Ġdrinkers": 98976, + "Ġconexao": 98977, + "ĠTeeth": 98978, + "ĠgetArguments": 98979, + "ĠRAT": 98980, + "entious": 98981, + "Educ": 98982, + "+W": 98983, + "ĠInstitutional": 98984, + "ĠBord": 98985, + "isEqual": 98986, + "(pwd": 98987, + "Ġignited": 98988, + "ĠRousse": 98989, + "Ġimpactful": 98990, + "ĠMalk": 98991, + "Ġgeral": 98992, + "ĠPivot": 98993, + "Ġazt": 98994, + "Ġcsvfile": 98995, + "ĠRope": 98996, + "ĠSOLUTION": 98997, + "ĠArbitrary": 98998, + "Ġletto": 98999, + ".MouseAdapter": 99000, + "Ġ}}}": 99001, + "ĠSailor": 99002, + "dera": 99003, + "Putting": 99004, + "Ġconcentrates": 99005, + "ĠauthDomain": 99006, + "âĢĿçļĦ": 99007, + "-finals": 99008, + ",strlen": 99009, + "Muon": 99010, + "ĠOrdinary": 99011, + "firefox": 99012, + "ĠLaTeX": 99013, + "ĠHund": 99014, + "engineering": 99015, + "/blue": 99016, + "edTextBox": 99017, + "(\"\");": 99018, + "ĠCDDL": 99019, + "kept": 99020, + "ĠGetString": 99021, + "Kir": 99022, + "()='": 99023, + "ĠOCD": 99024, + "antium": 99025, + "$menu": 99026, + "ĠAppalachian": 99027, + "Secretary": 99028, + "ë¥ĺ": 99029, + "ีย": 99030, + "Semantic": 99031, + "Ġ*[": 99032, + "estone": 99033, + "ungkin": 99034, + "MaxY": 99035, + "-tone": 99036, + "\"};čĊ": 99037, + "_Part": 99038, + "ĊĊ": 99240, + "Lic": 99241, + "ĠMirage": 99242, + "ĠAssemblyFileVersion": 99243, + "TeV": 99244, + "ĠValueEventListener": 99245, + "-solving": 99246, + "Tho": 99247, + "roulette": 99248, + "_WP": 99249, + "Ġuninterrupted": 99250, + "ĠfieldType": 99251, + ".Typed": 99252, + "Ġamour": 99253, + "Ġmockery": 99254, + "(vol": 99255, + "ĠSubcommittee": 99256, + "ĠRuf": 99257, + "erox": 99258, + ":UIButtonTypeCustom": 99259, + "ĠBlur": 99260, + "Ġwykon": 99261, + "nces": 99262, + "ASHBOARD": 99263, + "!!\");Ċ": 99264, + "Ġmurderers": 99265, + ".daily": 99266, + "ĠDIAG": 99267, + "jing": 99268, + "Ġdolphin": 99269, + "Ġlòng": 99270, + "Ġbö": 99271, + "ĠVocabulary": 99272, + ".StObject": 99273, + "')\">": 99274, + "Ġzun": 99275, + "Ġscrimmage": 99276, + "tréal": 99277, + "ĠLig": 99278, + "[vi": 99279, + "Cole": 99280, + "Ġfrosting": 99281, + ".Players": 99282, + "-translate": 99283, + "Feels": 99284, + "=\\\"/": 99285, + ".ButterKnife": 99286, + "Ġ?>;Ċ": 99287, + "Ġavi": 99288, + "innie": 99289, + ".Failure": 99290, + "Ġspindle": 99291, + "ConfigurationException": 99292, + "_hop": 99293, + "Ġposição": 99294, + "ĠAwait": 99295, + "UIImagePickerController": 99296, + "ĉday": 99297, + "Ġgenom": 99298, + "Cab": 99299, + "ĠÑĢезÑĥлÑĮÑĤаÑĤ": 99300, + "ORIGINAL": 99301, + "Ġejaculation": 99302, + "(tcp": 99303, + "SECOND": 99304, + "Ġtonic": 99305, + "ĠListBox": 99306, + "ĠĉĉĊ": 99307, + "()>Ċ": 99308, + "Ġquatre": 99309, + "ượng": 99310, + "withErrors": 99311, + ".Maybe": 99312, + ",â̦": 99313, + "tokenId": 99314, + "_UNDEF": 99315, + "Ġfreshness": 99316, + "ĠAmendments": 99317, + ".mapbox": 99318, + ".CV": 99319, + "(blog": 99320, + "_gettime": 99321, + ".quest": 99322, + "sparse": 99323, + "Ġresale": 99324, + "Ġenthusiastically": 99325, + "ĠProstitutas": 99326, + "Wa": 99327, + "Cargo": 99328, + ".Parcelable": 99329, + "SENSOR": 99330, + "ĠRyu": 99331, + "Laughs": 99332, + "_Native": 99333, + "/pg": 99334, + "ysts": 99335, + "Ġphotoc": 99336, + "ç®Ģ": 99337, + "adopt": 99338, + ".species": 99339, + "conciliation": 99340, + "Adjusted": 99341, + ".FirebaseAuth": 99342, + "uttle": 99343, + "ordination": 99344, + "Ġmunch": 99345, + "ĠStake": 99346, + ".ping": 99347, + "anker": 99348, + "(QStringLiteral": 99349, + "Ġsubscript": 99350, + "ĠĠĉĊ": 99351, + "ĠMCC": 99352, + "_Cmd": 99353, + "sexy": 99354, + "iou": 99355, + "ĠMANY": 99356, + "Ġnanny": 99357, + "TRAIN": 99358, + "Ġflourishing": 99359, + "ĠWatches": 99360, + "ĠQMap": 99361, + "ĠFerm": 99362, + "Ġwasm": 99363, + "ĠAbed": 99364, + "_UD": 99365, + "ĠGlasses": 99366, + "+v": 99367, + "Attend": 99368, + ".Chain": 99369, + "Ġdecency": 99370, + "ĠSupplementary": 99371, + "hunter": 99372, + "-txt": 99373, + "Ġ\"}\";Ċ": 99374, + ".setWindowTitle": 99375, + "(\"": 99477, + "Ġmascara": 99478, + "(Profile": 99479, + "åĬŁèĥ½": 99480, + "imité": 99481, + "Ġwildfires": 99482, + "-ROM": 99483, + ".isOn": 99484, + "(groupId": 99485, + "Repair": 99486, + "accumulate": 99487, + "Ġ<\",": 99488, + "Ġhandwritten": 99489, + "Ġacheter": 99490, + "ĠMGM": 99491, + "ĠIrma": 99492, + "->{_": 99493, + "gee": 99494, + "criminal": 99495, + "Ġèĭ¥è¦ģ": 99496, + "Ġmomentarily": 99497, + "\")!=": 99498, + "_lit": 99499, + "ĠexpiresIn": 99500, + ".\").": 99501, + "éķ¿åº¦": 99502, + "Ġfrække": 99503, + "vlc": 99504, + "Ġorbs": 99505, + "),$": 99506, + "Ġventured": 99507, + "/>\\": 99508, + "charm": 99509, + "Nuitka": 99510, + "eldig": 99511, + "atonin": 99512, + "Witness": 99513, + "-lat": 99514, + "ĠsetHidden": 99515, + "Ġrelics": 99516, + "Ġconsulate": 99517, + ".IGNORE": 99518, + "\"After": 99519, + "ĠsetAddress": 99520, + "Ġbesteht": 99521, + "Ġ'')ĊĊ": 99522, + ".xaxis": 99523, + "Ġserão": 99524, + "Ġmisled": 99525, + "_UNIFORM": 99526, + "ĠVIA": 99527, + "incr": 99528, + "Ġzenith": 99529, + "Ġviscosity": 99530, + "Ġthinly": 99531, + ".getSharedPreferences": 99532, + ".ErrorCode": 99533, + "\"),\"": 99534, + "ĠMillionen": 99535, + "Ġ/>)Ċ": 99536, + "ScrollIndicator": 99537, + "-seeking": 99538, + "ĠPOLITICO": 99539, + "asca": 99540, + "_rl": 99541, + "Navig": 99542, + "(fullfile": 99543, + "Ġsolitude": 99544, + "Ġjuven": 99545, + "Ġhauling": 99546, + "ĠMacros": 99547, + "ĠGry": 99548, + "Ġexercitation": 99549, + "ĠATTACK": 99550, + "TickCount": 99551, + "Ġrites": 99552, + "Ġdoe": 99553, + "ParticleSystem": 99554, + "Ġslu": 99555, + "WindowText": 99556, + "ĠClassName": 99557, + "Ġslander": 99558, + "ĉPort": 99559, + "jong": 99560, + "?a": 99561, + ".Dial": 99562, + "âĢĶat": 99563, + "$objPHPExcel": 99564, + "Ġsoar": 99565, + "ENN": 99566, + "appeared": 99567, + "Ġquotid": 99568, + "emachine": 99569, + "Ġnip": 99570, + "Ġmicrotime": 99571, + "ĠAlma": 99572, + ";!": 99573, + "------------------------------------------------------------------------------------------------": 99574, + "ĠPassage": 99575, + "Ġdumpsters": 99576, + "ĠExclude": 99577, + "Ġsuggestive": 99578, + "ĠCircularProgressIndicator": 99579, + "_clr": 99580, + "ArrayType": 99581, + "ILLA": 99582, + "ElapsedTime": 99583, + "Driven": 99584, + "ĠresourceName": 99585, + "ĠGarrison": 99586, + "serir": 99587, + "-ahead": 99588, + "Ġpinnacle": 99589, + "ĠEspresso": 99590, + "Sparse": 99591, + "Ġassays": 99592, + "ĠGirlfriend": 99593, + "imid": 99594, + "]='\\": 99595, + "ONGLONG": 99596, + "Ġportraying": 99597, + "Lane": 99598, + "Ġbúsqueda": 99599, + "Ġreinforcements": 99600, + "ĠSpreadsheet": 99601, + "ĠArrayCollection": 99602, + ",arr": 99603, + "lightbox": 99604, + "icana": 99605, + "<\"": 99606, + "builders": 99607, + "Kid": 99608, + "ĠMatSnackBar": 99609, + "EXPR": 99610, + "odcast": 99611, + "ĠFoundations": 99612, + "Ġinds": 99613, + "='${": 99614, + "Fizz": 99615, + "-functional": 99616, + "(workspace": 99617, + "Ġstemmed": 99618, + "_patches": 99619, + "ĠJarvis": 99620, + "READING": 99621, + "Ġdisrespectful": 99622, + "ĠQDom": 99623, + "Ġ${Ċ": 99624, + "estatus": 99625, + "Reached": 99626, + "!.ĊĊ": 99627, + "ILT": 99628, + "ĠNDEBUG": 99629, + "ĠCourage": 99630, + "birthdate": 99631, + "ĠTing": 99632, + "Ġutilizado": 99633, + "ánchez": 99634, + "Outdoor": 99635, + "Ġhandguns": 99636, + "RefCount": 99637, + "ÉĻ": 99638, + "romo": 99639, + "Ġtts": 99640, + ".She": 99641, + "ĠPane": 99642, + "ãĢij,ãĢIJ": 99643, + "ĠIOCTL": 99644, + "/black": 99645, + "inscription": 99646, + "Ġbiopsy": 99647, + "ĠTimeInterval": 99648, + ".TestCheck": 99649, + "ĠGUIStyle": 99650, + "ĠCapability": 99651, + "ĠBeitrag": 99652, + "donnees": 99653, + "Treatment": 99654, + ".backup": 99655, + "Ġsignings": 99656, + "ĠBoca": 99657, + "drm": 99658, + ".MAIN": 99659, + "Ġgoede": 99660, + "ĠMarkup": 99661, + "GREE": 99662, + "ĠBaseService": 99663, + ".Creator": 99664, + "Ġjails": 99665, + "ĠKahn": 99666, + "IpAddress": 99667, + "ACHI": 99668, + "Ġinhibited": 99669, + "Ġ@$_": 99670, + "ĠAssass": 99671, + "Ġenviado": 99672, + "Heroes": 99673, + "ÐŁÐµÑĢ": 99674, + "ĠMaven": 99675, + ".ls": 99676, + "Ġive": 99677, + "|RF": 99678, + "ĠresizeMode": 99679, + "Ġrumpe": 99680, + "_attachments": 99681, + "TU": 99682, + "Ġtactile": 99683, + "Attempting": 99684, + "Ġrobin": 99685, + "yaw": 99686, + "Ġmercenaries": 99687, + "ĠHabitat": 99688, + "enddate": 99689, + "Ġoxy": 99690, + "ĉRandom": 99691, + "ohon": 99692, + "IsNull": 99693, + "ĠValidationResult": 99694, + "ãĥļ": 99695, + "umbed": 99696, + "ppv": 99697, + "Ġarp": 99698, + "ichick": 99699, + "_rnn": 99700, + "ĠTFT": 99701, + "TexImage": 99702, + "\"On": 99703, + "ĠSampler": 99704, + "topl": 99705, + "Ġjane": 99706, + "yling": 99707, + "ĠUNICODE": 99708, + "TabIndex": 99709, + "<{Ċ": 99710, + "suspend": 99711, + "uvian": 99712, + ",application": 99713, + "олиÑĩеÑģÑĤво": 99714, + "yat": 99715, + "ezier": 99716, + "ĠCHUNK": 99717, + "ĠAdler": 99718, + "/Add": 99719, + "ĠKeyValue": 99720, + "Ġsposób": 99721, + "Sampling": 99722, + "chers": 99723, + "_AMD": 99724, + "Ru": 99725, + ".MustCompile": 99726, + "Nation": 99727, + "Assoc": 99728, + "Managing": 99729, + "ĠEngl": 99730, + "_GB": 99731, + "Ġsuccinct": 99732, + "Ġdisliked": 99733, + "ĠIke": 99734, + "Bulletin": 99735, + "_ARCHIVE": 99736, + "Proposal": 99737, + "Ġjogging": 99738, + ".CREATED": 99739, + "Ġchol": 99740, + "è£ħ": 99741, + "Į¨": 99742, + "-push": 99743, + "Ġreserva": 99744, + "corev": 99745, + "ètre": 99746, + "THR": 99747, + "Ġincompetence": 99748, + "Ġcharisma": 99749, + "æĦŁ": 99750, + "Ġ\"==": 99751, + "BTN": 99752, + "ĠLocator": 99753, + "ivet": 99754, + "('.')Ċ": 99755, + "ĠforIndexPath": 99756, + "ôme": 99757, + "Ġcapacit": 99758, + "waters": 99759, + "ĠWRONG": 99760, + "hoa": 99761, + "ĠMIPS": 99762, + "Ġemiss": 99763, + "ĠJacqueline": 99764, + "(cmp": 99765, + "Ġeens": 99766, + "Leo": 99767, + ".timing": 99768, + "CLUSION": 99769, + "Ġ(\"-": 99770, + "åĵĪ": 99771, + ".kode": 99772, + "ĠUndert": 99773, + "Ġbewild": 99774, + "ĠEssen": 99775, + ".hd": 99776, + "Ġrenegot": 99777, + "Ġmower": 99778, + "Ġlsp": 99779, + "Ġpenchant": 99780, + "Ġmanoe": 99781, + "Ġagli": 99782, + "Ġrecal": 99783, + "ĠOPERATION": 99784, + "(^)(": 99785, + "Ġν": 99786, + "ĠScoped": 99787, + "Ġ@\"Ċ": 99788, + "=label": 99789, + "[loc": 99790, + "Intl": 99791, + "ĠNz": 99792, + "tablet": 99793, + ".ColumnName": 99794, + "ĠscreenSize": 99795, + "DBus": 99796, + "cooked": 99797, + "-registration": 99798, + "âĢľOne": 99799, + "-non": 99800, + "ĠwiÄĻc": 99801, + "Ġcosta": 99802, + ".addTab": 99803, + ".conditions": 99804, + "ĠHess": 99805, + "MEMORY": 99806, + "ĠAvalanche": 99807, + "()}}Ċ": 99808, + "Ġtriplet": 99809, + "Ġlabyrinth": 99810, + "ĠNodeList": 99811, + "ĠNYT": 99812, + "Ġyeni": 99813, + "dff": 99814, + ".HtmlControls": 99815, + "AVIS": 99816, + "/Math": 99817, + "Ġmemcmp": 99818, + "اء": 99819, + "оÑģÑĮ": 99820, + "crap": 99821, + "(pages": 99822, + "Ġlxml": 99823, + "ĠQDateTime": 99824, + "_tcb": 99825, + "Ġopenid": 99826, + "Ġsynaptic": 99827, + "ĠMDMA": 99828, + "(slug": 99829, + "igmatic": 99830, + "enor": 99831, + "Ġcramped": 99832, + "GOP": 99833, + "ŃIJ": 99834, + ".isFile": 99835, + "ĠDifferential": 99836, + "Ġ=\"\";Ċ": 99837, + "ĉĉĉĠĠĠĠĉ": 99838, + "ĠCooke": 99839, + "ĉUFUNCTION": 99840, + "Ġperseverance": 99841, + "RelativeLayout": 99842, + "IMPORTANT": 99843, + "Ġexon": 99844, + "Ġон": 99845, + "ibase": 99846, + "(CONT": 99847, + "novation": 99848, + "ä½ķ": 99849, + "[sub": 99850, + "AdminController": 99851, + "HTTPHeader": 99852, + "crear": 99853, + "ĠNIR": 99854, + "ĠDropDownList": 99855, + "Ġvalide": 99856, + "Ġdehydration": 99857, + ".']": 99858, + "(WIN": 99859, + "Ġ...\\": 99860, + "Ġphotoshop": 99861, + "ĉInit": 99862, + "_cou": 99863, + "ĠtimeZone": 99864, + "darwin": 99865, + "romatic": 99866, + "NavigationItemSelectedListener": 99867, + "brates": 99868, + "]--;Ċ": 99869, + "Ġtragedies": 99870, + "ĠPediatrics": 99871, + "SMART": 99872, + "-API": 99873, + "ĠMessageLookup": 99874, + "ĉvo": 99875, + "Ġprejudices": 99876, + "ĠmA": 99877, + "Ups": 99878, + "ĠMISSING": 99879, + "ĉad": 99880, + "Cream": 99881, + "ĠTb": 99882, + "ĠMona": 99883, + "_ghost": 99884, + "ĉtypes": 99885, + "Emb": 99886, + "ĠDocumentary": 99887, + "');ĊĊĊĊ": 99888, + "Ġlup": 99889, + "_Reference": 99890, + "ĠBATCH": 99891, + "Ġintertwined": 99892, + "": 100015, + "Ġfoyer": 100016, + "'utilisation": 100017, + "ĠMüller": 100018, + "ĠFetish": 100019, + "ĠdefaultManager": 100020, + "Ġbacktrack": 100021, + "Bah": 100022, + "Explicit": 100023, + "_ASCII": 100024, + "ĠmActivity": 100025, + "(Msg": 100026, + "Ġê²Į": 100027, + "ĠTERMS": 100028, + "ĠAngie": 100029, + "HSV": 100030, + "ĠMosque": 100031, + ".Names": 100032, + "íĬ¼": 100033, + "reste": 100034, + "_parms": 100035, + "Ġgaping": 100036, + "Ġcropping": 100037, + "DataFrame": 100038, + "Ġresponsiveness": 100039, + "_undo": 100040, + "_tran": 100041, + ".terminate": 100042, + "Ġitaliane": 100043, + "Ġwalkthrough": 100044, + "Ġattractiveness": 100045, + "де": 100046, + "_STS": 100047, + "_learn": 100048, + "Ġchocolates": 100049, + "ierarchical": 100050, + "-thinking": 100051, + "Ġ)))": 100052, + "ishments": 100053, + ".Logf": 100054, + "ĠTMZ": 100055, + "ĠCanary": 100056, + "foil": 100057, + "ĠVaccine": 100058, + ".vx": 100059, + "ĠSurround": 100060, + "Intermediate": 100061, + "Ġiov": 100062, + "vais": 100063, + "';\";Ċ": 100064, + "ï½ŀĊĊ": 100065, + "éĢģæĸĻ": 100066, + "â̦it": 100067, + "Seats": 100068, + "Clar": 100069, + "Wars": 100070, + "ĠHutchinson": 100071, + "ĠHasan": 100072, + "!')ĊĊ": 100073, + "ĠRichie": 100074, + "cheiden": 100075, + "($('": 100076, + "York": 100077, + "Ġlids": 100078, + "Ġalphanumeric": 100079, + "ĠGlock": 100080, + ".shapes": 100081, + "Ġsparking": 100082, + "_epsilon": 100083, + "uplicated": 100084, + ".dirty": 100085, + "])==": 100086, + "ĠìľĦì¹ĺ": 100087, + "Ġscn": 100088, + "Ġ/****************************************************************": 100089, + "_PREVIEW": 100090, + "_HC": 100091, + "ielding": 100092, + "fgets": 100093, + "ĠAddison": 100094, + "ĠproductService": 100095, + "-figure": 100096, + "(retval": 100097, + "zano": 100098, + "Ġautob": 100099, + "ĉsd": 100100, + "_numer": 100101, + "ĠSetLastError": 100102, + "ĠFior": 100103, + "ificance": 100104, + "Untitled": 100105, + "Ġinfield": 100106, + "Ġ{}));Ċ": 100107, + "Ġspac": 100108, + "Ġrookies": 100109, + "(describing": 100110, + "ngen": 100111, + "ிà®": 100112, + ".rdf": 100113, + ".Mutex": 100114, + "Ġkneeling": 100115, + "ĠQE": 100116, + "setMax": 100117, + "ReadStream": 100118, + "Ġventas": 100119, + "sut": 100120, + "cmpeq": 100121, + ".WriteAllText": 100122, + "ĠExperienced": 100123, + "$__": 100124, + "Ġkaum": 100125, + "ĠLIS": 100126, + "Ġdocumentos": 100127, + "_HEALTH": 100128, + "icontains": 100129, + "Ġartisans": 100130, + "OWNER": 100131, + "Ġblinked": 100132, + "getDisplay": 100133, + "Ġtoen": 100134, + "ĠrowNum": 100135, + "Ġavril": 100136, + "Ġinvis": 100137, + "ĠKear": 100138, + "toBeInTheDocument": 100139, + "apur": 100140, + "Ġracked": 100141, + "ĠMcMaster": 100142, + "_ATTRIB": 100143, + "Haz": 100144, + "Ġfactura": 100145, + "/ts": 100146, + "ĠÑĢазмеÑĢ": 100147, + "Ġzf": 100148, + "Ġshortfall": 100149, + ".fasta": 100150, + "ĠCONSTANT": 100151, + ".managed": 100152, + "gems": 100153, + "SharedPointer": 100154, + "Ġblurry": 100155, + "brightness": 100156, + "(components": 100157, + "Ġ...\"ĊĊ": 100158, + "SELL": 100159, + "ĠIllustrator": 100160, + ".getChannel": 100161, + "Ġtrouvé": 100162, + "ysters": 100163, + "Ġvois": 100164, + "ĠLinden": 100165, + "Ġemojis": 100166, + "Ġbrawl": 100167, + "ĠMSR": 100168, + "ĠElo": 100169, + "ĠCroatian": 100170, + "PopupMenu": 100171, + "Lewis": 100172, + ".JWT": 100173, + "Ġastonished": 100174, + "Bush": 100175, + "(itemId": 100176, + "Ġdetachment": 100177, + "ĠEncore": 100178, + "å°Ķ": 100179, + "Ġrekl": 100180, + "Ġcram": 100181, + ")$/": 100182, + ".getHost": 100183, + "_recommend": 100184, + "-HT": 100185, + "_calibration": 100186, + "Authenticate": 100187, + ".firebaseapp": 100188, + "UNIX": 100189, + "ĉCamera": 100190, + "ĠHEAP": 100191, + "Ideal": 100192, + ".office": 100193, + "Ġgoofy": 100194, + "(Symbol": 100195, + "Ġjouer": 100196, + "_partitions": 100197, + "Ġrapidement": 100198, + "ĠGNUNET": 100199, + "idUser": 100200, + "Ġsupervise": 100201, + "(Contact": 100202, + "AWN": 100203, + "ãģĺ": 100204, + "Ġnaam": 100205, + "Ġaust": 100206, + "åľ¨çº¿": 100207, + "_softmax": 100208, + "AllowAnonymous": 100209, + "ammable": 100210, + "ROUTE": 100211, + "*D": 100212, + "Ġaden": 100213, + "ĠCristina": 100214, + "ĠCristiano": 100215, + "Ġbloodstream": 100216, + "subclass": 100217, + "_persona": 100218, + "CHILD": 100219, + "-know": 100220, + "ĠnavigationOptions": 100221, + "ĠZukunft": 100222, + "ĠPixar": 100223, + "Tyler": 100224, + "Ġunderworld": 100225, + "Ġsincerity": 100226, + "Ġdispenser": 100227, + "Ġkter": 100228, + "idders": 100229, + ".addNode": 100230, + "-checked": 100231, + "Ġkeyst": 100232, + "ĠWTO": 100233, + ".signals": 100234, + "Ġadventurer": 100235, + "ĠPang": 100236, + "\\R": 100237, + "=pos": 100238, + "Ġdispensaries": 100239, + "ĠCloset": 100240, + "(\"{\\\"": 100241, + "ideon": 100242, + "Ġnécessaire": 100243, + "()\"Ċ": 100244, + "_RECEIVED": 100245, + "Ġrésultats": 100246, + "Ġmoden": 100247, + "ĠIcelandic": 100248, + ";d": 100249, + ".allowed": 100250, + "(newUser": 100251, + "Ġmerciless": 100252, + ".WaitFor": 100253, + "Ġdaycare": 100254, + "ĠConveyor": 100255, + "ĠÙ": 100256, + "اÙ": 100257, + "าà¸": 100258, + "ÑŁ": 100259, + "ÑŁÑŁ": 100260, + "Ġà¸": 100261, + "à¹Ģà¸": 100262, + "iá»": 100263, + "ãĢĢãĢĢãĢĢãĢĢ": 100264, + "ĠاØ": 100265, + "à¥Ī": 100266, + "ĠãĢĢ": 100267, + "ÑĹ": 100268, + "iá»ĩ": 100269, + "ÑŁÑŁÑŁÑŁ": 100270, + "à¥ĩà¤Ĥ": 100271, + "Ñĸд": 100272, + "ार": 100273, + "ÙĨد": 100274, + "Ñĸв": 100275, + "Ġब": 100276, + "Ġà¤ľ": 100277, + "।": 100278, + "нÑĸ": 100279, + "à¤Ĺ": 100280, + "ĠØ¢": 100281, + "Ġन": 100282, + "ÑĶ": 100283, + "ĠÑĢа": 100284, + "Ġà¤ħ": 100285, + "ÑģÑĮ": 100286, + "Ġव": 100287, + "ÑĨÑĸ": 100288, + "Ġvá»": 100289, + "³Øª": 100290, + "Ġद": 100291, + "nÄĽ": 100292, + "Ġल": 100293, + "ĠãĢĢĠãĢĢ": 100294, + "à¥Ĥ": 100295, + "द": 100296, + "à¸Ńà¸ĩ": 100297, + "ÙĪÙĨ": 100298, + "व": 100299, + "aÅŁ": 100300, + "à¹Ĥ": 100301, + "ικ": 100302, + "Ġर": 100303, + "Ġви": 100304, + "à¥įय": 100305, + "ान": 100306, + "Ġاز": 100307, + "اÙĩ": 100308, + "Ľi": 100309, + "Ġhá»": 100310, + "à¥ĭà¤Ĥ": 100311, + "iế": 100312, + "ĠÄijá»": 100313, + "य": 100314, + "Ïį": 100315, + "Ġcá»§": 100316, + "Ġبر": 100317, + "ĠÙħÛĮ": 100318, + "ĠاÛĮ": 100319, + "Ġà¤Ĩ": 100320, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 100321, + "िय": 100322, + "ÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁ": 100323, + "ви": 100324, + "رد": 100325, + "нÑĥ": 100326, + "ÙĬÙĨ": 100327, + "ια": 100328, + "Ġत": 100329, + "Ñĩи": 100330, + "Ġà¤ķर": 100331, + "از": 100332, + "aÄŁ": 100333, + "Ġà¤ī": 100334, + "ब": 100335, + "ÏĦα": 100336, + "تر": 100337, + "Ùĩا": 100338, + "ระ": 100339, + "jÃŃ": 100340, + "Îij": 100341, + "аÑĤи": 100342, + "Ġà¤Ĺ": 100343, + "ĠÑĤа": 100344, + "ÚĨ": 100345, + "à¤ľ": 100346, + "าà¸Ļ": 100347, + "Ġà¤Ń": 100348, + "िà¤ķ": 100349, + "áv": 100350, + "ĠÚ¯": 100351, + "Ïİ": 100352, + "าย": 100353, + "Ġà¤Ķ": 100354, + "ÅĻÃŃ": 100355, + "اÙĪ": 100356, + "ĠÑī": 100357, + "Ġà¤Ķर": 100358, + "еннÑı": 100359, + "ĠÚ©Ùĩ": 100360, + "ड": 100361, + "ÏĦο": 100362, + "ει": 100363, + "Ġà¤ĩ": 100364, + "à¥įत": 100365, + "à¤Ł": 100366, + "Û±": 100367, + "ĠØĮ": 100368, + "Ïģο": 100369, + "ηÏĤ": 100370, + "ë¬": 100371, + "Ñĸн": 100372, + "iá»ģ": 100373, + "iên": 100374, + "ĠвÑĸд": 100375, + "dı": 100376, + "ÙĦÛĮ": 100377, + "Ġز": 100378, + "Ïģα": 100379, + "ĠÛĮ": 100380, + "าà¸ĩ": 100381, + "Ġthá»": 100382, + "Ġà¹Ģà¸": 100383, + "iá»ĩn": 100384, + "اÙĬ": 100385, + "аннÑı": 100386, + "ÑĢе": 100387, + "ÎŁ": 100388, + "åĴ": 100389, + "اش": 100390, + "ाल": 100391, + "ëħĦ": 100392, + "Ġय": 100393, + "Ġرا": 100394, + "़": 100395, + "Ñĥв": 100396, + "ÙĪÙħ": 100397, + "ĠعÙĦ": 100398, + "ία": 100399, + "à¥Īà¤Ĥ": 100400, + "à¥ģà¤": 100401, + "าม": 100402, + "Ġmá»Ļt": 100403, + "Ġà¤ı": 100404, + "ãĢĢãĢĢãĢĢ": 100405, + "Ġपर": 100406, + "ĠاÙĨ": 100407, + "ĠاÛĮÙĨ": 100408, + "ĠvỼi": 100409, + "Σ": 100410, + "à¤ļ": 100411, + "Û°": 100412, + "iá»ĥ": 100413, + "าà¸ģ": 100414, + "ÎĻ": 100415, + "اع": 100416, + "Ñĸй": 100417, + "à¹ģล": 100418, + "ÙĩاÛĮ": 100419, + "Ñĩа": 100420, + ".:.:": 100421, + "ÏĦη": 100422, + "ĠÎij": 100423, + "رÛĮ": 100424, + "Ġngh": 100425, + "να": 100426, + "à¹ĥà¸Ļ": 100427, + "ित": 100428, + "Ġκαι": 100429, + "ÏĦε": 100430, + "à¥įà¤Ł": 100431, + "μα": 100432, + "лÑĥ": 100433, + "ým": 100434, + "ÏĢο": 100435, + "à¥Ī।": 100436, + "ï¼¼": 100437, + "رÙĬ": 100438, + "ниÑħ": 100439, + "Ïģι": 100440, + "ÙĢ": 100441, + "ÑĢо": 100442, + "Ġà¤ļ": 100443, + "ात": 100444, + "اÙĤ": 100445, + "Ġश": 100446, + "ĠÄijá»Ļ": 100447, + "ého": 100448, + "iá»ģu": 100449, + "ศ": 100450, + "ÑĸлÑĮ": 100451, + "uyá»": 100452, + "Û²": 100453, + "ĠnÄĥ": 100454, + "Ïīν": 100455, + "ĠÏĦοÏħ": 100456, + "кий": 100457, + "íĸ": 100458, + "ĠÑīо": 100459, + "à¥įव": 100460, + "ĠاÙĦØ£": 100461, + "ائ": 100462, + "tı": 100463, + "ĠÏĦο": 100464, + "¬¬": 100465, + "ĠØ·": 100466, + "ÙħاÙĨ": 100467, + "ĠÎł": 100468, + "ди": 100469, + "ึ": 100470, + "िà¤ı": 100471, + "ãģ£ãģŁ": 100472, + "ÛĮÙħ": 100473, + "ÃŃnh": 100474, + "rav": 100475, + "ÄĽt": 100476, + "Îķ": 100477, + "ĠÑıк": 100478, + "çĤ": 100479, + "à¸Ńà¸Ļ": 100480, + "ãģ¦ãģĦ": 100481, + "िल": 100482, + "ÑĸÑĤ": 100483, + "за": 100484, + "áp": 100485, + "ध": 100486, + "Ġêµ": 100487, + "à¹ģละ": 100488, + "ÃŃch": 100489, + "ĠØ¢ÙĨ": 100490, + "تÙĩ": 100491, + "ĠÙħع": 100492, + "ний": 100493, + "Æ°á»Ľc": 100494, + "ĠاÙĦع": 100495, + "رب": 100496, + "ाम": 100497, + "ĠرÙĪ": 100498, + "é«": 100499, + "ıy": 100500, + "Ġhá»į": 100501, + "ÑĤÑĮÑģÑı": 100502, + "ĠÎļ": 100503, + "Ġà¤ĩस": 100504, + "_": 100505, + "ĠÚĨ": 100506, + "ĠÙĪØ§ÙĦ": 100507, + "íķĻ": 100508, + "ÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁ": 100509, + "Ġvý": 100510, + "िस": 100511, + "ững": 100512, + "سÛĮ": 100513, + "Ġìĥ": 100514, + "ाà¤Ĥ": 100515, + "、": 100516, + "à¹ĩà¸Ļ": 100517, + "Ġथ": 100518, + "larak": 100519, + "ây": 100520, + "tÄĽ": 100521, + "νο": 100522, + "ĠÙħÙĪ": 100523, + "Ġngưá»Ŀi": 100524, + "å¦": 100525, + "ÙĬد": 100526, + "ilir": 100527, + "اØŃ": 100528, + "ĠãĢ": 100529, + "Ùĭ": 100530, + "ĠÑĢоз": 100531, + "Ġй": 100532, + "Ġdụ": 100533, + "à¹Ģà¸Ľ": 100534, + "ัà¸ĩ": 100535, + "ле": 100536, + "ाय": 100537, + "ï¿£": 100538, + "ÙĪØ§ÙĨ": 100539, + "Ġthá»ĥ": 100540, + "ãĥ½": 100541, + "Ã¼ÅŁ": 100542, + "çŁ": 100543, + "Ġο": 100544, + "ĠΣ": 100545, + "ÛĮت": 100546, + "ัà¸ģ": 100547, + "Τ": 100548, + "Ġà¤ıà¤ķ": 100549, + "ĠÙĩÙħ": 100550, + "ìĽĶ": 100551, + "ĠÎľ": 100552, + "Ġà¸Ħ": 100553, + "¯¸": 100554, + "ارÛĮ": 100555, + "िन": 100556, + "Ġnhững": 100557, + "Ġnhư": 100558, + "иÑĤи": 100559, + "ãĥ³ãĥ": 100560, + "à¹Ģร": 100561, + "ĠÐĽ": 100562, + "ÑĢÑĸ": 100563, + "ád": 100564, + "üy": 100565, + "iye": 100566, + "ĠÎķ": 100567, + "Ġส": 100568, + "Ïĥη": 100569, + "Ġë¬": 100570, + "ï»": 100571, + "ण": 100572, + "ÎĹ": 100573, + "श": 100574, + "ĠÙħØŃ": 100575, + "ÙĦÙĬ": 100576, + "Ġμε": 100577, + "ĠpÅĻÃŃ": 100578, + "ÎĿ": 100579, + "à¥įष": 100580, + "tir": 100581, + "راÙĨ": 100582, + "ĠÄijá»ĭ": 100583, + "ĠкоÑĤ": 100584, + "кÑĢа": 100585, + "λο": 100586, + "ĠÏĦη": 100587, + "Ñīе": 100588, + "ÏĦικ": 100589, + "ัà¹ī": 100590, + "iết": 100591, + "αν": 100592, + "íĶ": 100593, + "киÑħ": 100594, + "ĠпоÑģ": 100595, + "tır": 100596, + "à¥įम": 100597, + "رÙģ": 100598, + "ÄĽl": 100599, + "à¤Ń": 100600, + "ové": 100601, + "Ġlá»": 100602, + "à¹Ħà¸Ķ": 100603, + "ãģªãģĦ": 100604, + "ษ": 100605, + "iá»ĩu": 100606, + "ξ": 100607, + "ĠعÙĦÙī": 100608, + "дÑĥ": 100609, + "Ġdụng": 100610, + "аÑĢа": 100611, + "ाद": 100612, + "ož": 100613, + "ÙĦÙĩ": 100614, + "ÙĦÙħ": 100615, + "ноÑĹ": 100616, + "Û±Û": 100617, + "à¸Ĥà¸Ńà¸ĩ": 100618, + "Ρ": 100619, + "à¥Ģà¤Ĥ": 100620, + "ĠпÑĸд": 100621, + "Ġफ": 100622, + "à¸ĺ": 100623, + "εÏĤ": 100624, + "ास": 100625, + "à¹ĥห": 100626, + "ова": 100627, + "تÛĮ": 100628, + "à¸Ńย": 100629, + "à¸į": 100630, + "ĠnÄĥm": 100631, + "ÏĦι": 100632, + "ÙĪÛĮ": 100633, + "ĠмÑĸ": 100634, + "ĠاÙħ": 100635, + "ÏĢÏĮ": 100636, + "Ġzá": 100637, + "à¤Ī": 100638, + "Ġà¤ĸ": 100639, + "ĠnÄĽ": 100640, + "cÃŃ": 100641, + "ÙĨÚ¯": 100642, + "Ñģи": 100643, + "ζ": 100644, + "ná": 100645, + "Ŀi": 100646, + "Å©": 100647, + "ئ": 100648, + "ĠاÙĦس": 100649, + "á»ijc": 100650, + "ẽ": 100651, + "اج": 100652, + "Ùħا": 100653, + "êµŃ": 100654, + "оÑİ": 100655, + "در": 100656, + "à¹Ģà¸ģ": 100657, + "à¸ł": 100658, + "áng": 100659, + "íķ©": 100660, + "ĠÏĦηÏĤ": 100661, + "ĠÑĸн": 100662, + "оÑĹ": 100663, + "à¥ĩश": 100664, + "à¸ĭ": 100665, + "à¥ĭà¤Ĺ": 100666, + "лÑĸ": 100667, + "ĠpÅĻed": 100668, + "ÄįnÃŃ": 100669, + "Ġка": 100670, + "ĠΤ": 100671, + "á»Ļi": 100672, + "vÃŃ": 100673, + "ÑĢÑı": 100674, + "à¤¾à¤ľ": 100675, + "аÑħ": 100676, + "िर": 100677, + "าส": 100678, + "dır": 100679, + "Ø¢": 100680, + "Îļ": 100681, + "ĠÎŃ": 100682, + "Ġtại": 100683, + "iá»ĩc": 100684, + "iến": 100685, + "Ġغ": 100686, + "اخ": 100687, + "ĠاÙĦØŃ": 100688, + "ĠбÑĥ": 100689, + "Ġvá»ģ": 100690, + "мÑĸ": 100691, + "ÙħÙĦ": 100692, + "mÄ±ÅŁ": 100693, + "à¸Ľà¸£à¸°": 100694, + "οÏį": 100695, + "εί": 100696, + "Ġरह": 100697, + "ним": 100698, + "عد": 100699, + "ĠباÙĦ": 100700, + "¤ij": 100701, + "çł": 100702, + "Ġolm": 100703, + "Ïİν": 100704, + "Ġhá»įc": 100705, + "است": 100706, + "าว": 100707, + "ÙĪØ¨": 100708, + "ÑĸÑı": 100709, + "ĠÙĩاÛĮ": 100710, + "ë§Ī": 100711, + "à¥Į": 100712, + "ĠÄĮ": 100713, + "à¤ı": 100714, + "ادÙĩ": 100715, + "ĠاÙĪ": 100716, + "нÑĭм": 100717, + "ằ": 100718, + "ÙħÙĨ": 100719, + "iá»ĩt": 100720, + "laÅŁ": 100721, + "Ñĸз": 100722, + "ÙĪØ³": 100723, + "ĠlÃłm": 100724, + "ĠÄijến": 100725, + "पन": 100726, + "ĠÛĮÚ©": 100727, + "ĠÙĦÙĦ": 100728, + "ĠmÄĽ": 100729, + "ĠبراÛĮ": 100730, + "ाह": 100731, + "ĠÙħر": 100732, + "eç": 100733, + "à¸Ńร": 100734, + "εÏģ": 100735, + "ัà¸Ķ": 100736, + "кон": 100737, + "nou": 100738, + "Ġгод": 100739, + "ูà¹ī": 100740, + "à¹Ģล": 100741, + "Úĺ": 100742, + "ĠÄijá»ĭnh": 100743, + "ĠÄijó": 100744, + "анов": 100745, + "ĠÙ쨱": 100746, + "ارد": 100747, + "ÑĸÑĹ": 100748, + "à¸Ħร": 100749, + "à¥įथ": 100750, + "cak": 100751, + "ÑĨÑĸÑĹ": 100752, + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 100753, + "Ùĩر": 100754, + "à¥ī": 100755, + "Ġgiá»": 100756, + "íĨ": 100757, + "âĢĮÙĩاÛĮ": 100758, + "à¥ģर": 100759, + "Ġà¸ģ": 100760, + "ÅĪ": 100761, + "æ¨": 100762, + "ÎŁÎ": 100763, + "าà¸Ħ": 100764, + "кÑĢаÑĹ": 100765, + "ảo": 100766, + "oÄŁ": 100767, + "Ġसम": 100768, + "Ġviá»ĩc": 100769, + "Ġsẽ": 100770, + "Ġná": 100771, + "ÙĬÙħ": 100772, + "£p": 100773, + "öy": 100774, + "ÙĪØ²": 100775, + "Ġκα": 100776, + "Ùħد": 100777, + "nÃŃm": 100778, + "ová": 100779, + "ाव": 100780, + "ा।": 100781, + "à¥įस": 100782, + "ç·": 100783, + "ặc": 100784, + "Ġà¸ŀ": 100785, + "ï½Ģ": 100786, + "ôi": 100787, + "Ġợ": 100788, + "οÏĤ": 100789, + "Ġtrên": 100790, + "мÑĥ": 100791, + "ÑģÑĮк": 100792, + "à¸Ł": 100793, + "ovat": 100794, + "Ġmá»": 100795, + "íı": 100796, + "Ġво": 100797, + "εν": 100798, + "à¥Ĥर": 100799, + "گاÙĩ": 100800, + "ĠÄijá»Ļng": 100801, + "Ú©ÙĨ": 100802, + "Ñīи": 100803, + "ĠпÑĢа": 100804, + "ürk": 100805, + "ÙĪØ¹": 100806, + "ấp": 100807, + "ný": 100808, + "Ġquan": 100809, + "ÑĸÑĩ": 100810, + "Ġνα": 100811, + "Ġनह": 100812, + "ĠÚ©ÙĨ": 100813, + "cı": 100814, + "çĿĢ": 100815, + "бо": 100816, + "Ġاس": 100817, + "è»": 100818, + "اÙĨÛĮ": 100819, + "à¸ķร": 100820, + "ÏĦά": 100821, + "ĠØ£ÙĨ": 100822, + "éĤ£": 100823, + "Ġม": 100824, + "кÑĤ": 100825, + "iê": 100826, + "Ġhợp": 100827, + "تÙħ": 100828, + "ĠبÙĨ": 100829, + "hod": 100830, + "ιÏĥ": 100831, + "หà¸Ļ": 100832, + "ĠÑĹ": 100833, + "лив": 100834, + "Ġکرد": 100835, + "ĠÙħØ´": 100836, + "اط": 100837, + "بÙĬ": 100838, + "Ġร": 100839, + "دÙħ": 100840, + "ÙĦاÙħ": 100841, + "à¹Īว": 100842, + "ĠÙĨÙħ": 100843, + "ĠæĹ": 100844, + "éħ": 100845, + "ноÑģÑĤ": 100846, + "iá»ĥm": 100847, + "êµIJ": 100848, + "ayı": 100849, + "ĠبÙĪØ¯": 100850, + "گر": 100851, + "Ġhiá»ĩn": 100852, + "ç³": 100853, + "ÑģÑĤвен": 100854, + "Ġà¤ķरन": 100855, + "ĠÏĦην": 100856, + "Ġà¸Ń": 100857, + "ĠÙħت": 100858, + "ģn": 100859, + "جÙħ": 100860, + "λλ": 100861, + "ĠÑĢе": 100862, + "ิà¸Ķ": 100863, + "ĠاÙĦÙĤ": 100864, + "αÏģ": 100865, + "Ġयह": 100866, + "nÃŃch": 100867, + "ÑĶÑĤÑĮÑģÑı": 100868, + "Ġà¸Ĺ": 100869, + "ÛĮØ´": 100870, + "ÅĻe": 100871, + "Ġnebo": 100872, + "ĠÑĩа": 100873, + "lou": 100874, + "ÑģÑĤво": 100875, + "ĠЧ": 100876, + "à¸Ħว": 100877, + "ÙĩÙħ": 100878, + "à¹Ģà¸Ķ": 100879, + "Ġà¹ģ": 100880, + "Ġà¹Ĥ": 100881, + "Û³": 100882, + "Å©ng": 100883, + "Ġnej": 100884, + "ÛĮÚ©": 100885, + "Ġsá»Ń": 100886, + "Ù쨱": 100887, + "Îł": 100888, + "Ġпок": 100889, + "ĠاÙĦÙĨ": 100890, + "ĠvÅ¡": 100891, + "ẫ": 100892, + "ĠnhÃł": 100893, + "ãĢĢãĢĢãĢĢãĢĢãĢĢ": 100894, + "ήÏĤ": 100895, + "οÏģ": 100896, + "ĠÏĩ": 100897, + "à¹Ģà¸Ĺ": 100898, + "ÑĥлÑĮ": 100899, + "ãħĩ": 100900, + "Ġyıl": 100901, + "ÑĢод": 100902, + "ίν": 100903, + "ìĹĪëĭ¤": 100904, + "اص": 100905, + "ĠÄijầu": 100906, + "à¥ĩà¤ķ": 100907, + "ÑĢом": 100908, + "ãģĵãģ¨": 100909, + "Ġار": 100910, + "她": 100911, + "ĠتØŃ": 100912, + "Å¡tÄĽ": 100913, + "à¥įल": 100914, + "à¥įà¤ķ": 100915, + "Ġکار": 100916, + "ujÃŃ": 100917, + "Ġà¤īन": 100918, + "ĠαÏĢÏĮ": 100919, + "ĠmÃł": 100920, + "žÃŃ": 100921, + "Ġà¸Ī": 100922, + "alı": 100923, + "फ": 100924, + "ÑĩеÑģ": 100925, + "ĠعÙĨ": 100926, + "æķĻ": 100927, + "ï¾Ĩ": 100928, + "िà¤Ĥ": 100929, + "Ġsá»±": 100930, + "воÑĢ": 100931, + "Ġthá»±c": 100932, + "ëį°": 100933, + "ãģ¦ãģĦãĤĭ": 100934, + "à¹Īà¸ĩ": 100935, + "تب": 100936, + "Ġnhiá»ģu": 100937, + "ĥn": 100938, + "ĠÄijá»ĵ": 100939, + "Ġห": 100940, + "Ûµ": 100941, + "mÄĽ": 100942, + "ạt": 100943, + "ĠchÃŃnh": 100944, + "μÎŃ": 100945, + "anı": 100946, + "Ġbá»ĭ": 100947, + "ằng": 100948, + "ÅĻed": 100949, + "éŁ": 100950, + "ánh": 100951, + "ÙĢÙĢ": 100952, + "ĠÙħس": 100953, + "á»ĭch": 100954, + "Äĥn": 100955, + "ovánÃŃ": 100956, + "à¹Īาà¸ĩ": 100957, + "Ġà¸Ľ": 100958, + "ĠnÆ°á»Ľc": 100959, + "боÑĤ": 100960, + "ıyor": 100961, + "ĠØ®ÙĪØ¯": 100962, + "Û¹": 100963, + "ĠÙħد": 100964, + "Ġüz": 100965, + "ì½": 100966, + "ÙĪÙĤ": 100967, + "르": 100968, + "лек": 100969, + "Ġcả": 100970, + "олог": 100971, + "à¹īà¸Ńà¸ĩ": 100972, + "miÅŁ": 100973, + "à¹īว": 100974, + "Ä©": 100975, + "Îľ": 100976, + "à¸Ńà¸ģ": 100977, + "__": 100978, + "à¤ĸ": 100979, + "ĠЯ": 100980, + "무": 100981, + "اÛĮÛĮ": 100982, + "ské": 100983, + "uyên": 100984, + "eÅŁ": 100985, + "ái": 100986, + "úng": 100987, + "Ãło": 100988, + "ÑĸÑģ": 100989, + "ç¶": 100990, + "Ġà¤Ĩप": 100991, + "ïº": 100992, + "ÎĽ": 100993, + "Ġê³µ": 100994, + "ĠÐĨ": 100995, + "Ġà¤ħपन": 100996, + "ứng": 100997, + "ÏĮÏĤ": 100998, + "Ġnghiá»ĩ": 100999, + "ĠاÙĦب": 101000, + "à¥ĭन": 101001, + "Ġà¤Ł": 101002, + "Ġìľł": 101003, + "ĠcÅ©ng": 101004, + "Ġà¤īस": 101005, + "Ġड": 101006, + "ĠشدÙĩ": 101007, + "ีà¹ī": 101008, + "Û´": 101009, + "ặt": 101010, + "æĸ¯": 101011, + "Ġëį": 101012, + "Ġпл": 101013, + "би": 101014, + "ê³Ħ": 101015, + "ον": 101016, + "Ġçık": 101017, + "Ġbulun": 101018, + "سÙħ": 101019, + "aç": 101020, + "اÙĨÙĩ": 101021, + "ÛĮز": 101022, + "leÅŁ": 101023, + "ắc": 101024, + "اک": 101025, + "Ġसà¤ķ": 101026, + "ĠоÑĢг": 101027, + "Ġà¸Ļ": 101028, + "ाथ": 101029, + "ĠÙħÙĤ": 101030, + "ĠÎĶE": 101031, + "ÑİÑĤÑĮ": 101032, + "á»Ļc": 101033, + "Ġη": 101034, + "sob": 101035, + "Ġtheo": 101036, + "åŀ": 101037, + "ĠاÙĦØ´": 101038, + "à¹Ģà¸ŀ": 101039, + "ÎŃÏĤ": 101040, + "à¹Ģà¸Ĥ": 101041, + "åĻ": 101042, + "िश": 101043, + "Ġباز": 101044, + "ÑĢоб": 101045, + "Ġγια": 101046, + "με": 101047, + "Ġباش": 101048, + "ाà¤ĩ": 101049, + "Ġquy": 101050, + "λε": 101051, + "اÙĥ": 101052, + "ĠÑĢок": 101053, + "ĠTürk": 101054, + "ĠÐ¥": 101055, + "ÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁ": 101056, + "æ©": 101057, + "Ġphải": 101058, + "à¸Ħวาม": 101059, + ":::": 101060, + "lÃŃ": 101061, + "Ġjsou": 101062, + "ÛĮÙĦ": 101063, + "álnÃŃ": 101064, + "ĶĶ": 101065, + "íĸī": 101066, + "æĥ³": 101067, + "lá": 101068, + "ĠÏĥÏħ": 101069, + "Ñĭва": 101070, + "Ġnhất": 101071, + "à¸Ńม": 101072, + "Û¸": 101073, + "ecek": 101074, + "ÑĸÑĢ": 101075, + "ÙĪØ´": 101076, + "λα": 101077, + "ĠÎĴ": 101078, + "оÑĢа": 101079, + "ÙģØª": 101080, + "edir": 101081, + "ÑĥÑħ": 101082, + "ä¸ĸ": 101083, + "ĠУкÑĢаÑĹ": 101084, + "ĠíĶ": 101085, + "άν": 101086, + "Ġشر": 101087, + "ĠاÙĦج": 101088, + "еÑĢед": 101089, + "ìĺģ": 101090, + "ĠhÃłnh": 101091, + " ̄ ̄": 101092, + "ме": 101093, + "ÑİÑĤÑģÑı": 101094, + "ĠØ¥ÙĦÙī": 101095, + "ìĹħ": 101096, + "Ġتر": 101097, + "ком": 101098, + "Ġشد": 101099, + "ĠاÙĦÙĥ": 101100, + "ĠÏĥÏĦο": 101101, + "à¥įद": 101102, + "볤": 101103, + "ÑĥваннÑı": 101104, + "Ġthì": 101105, + "ê´Ģ": 101106, + "κε": 101107, + "سب": 101108, + "íĥĢ": 101109, + "Ġï¼ı": 101110, + "Ġà¹ģละ": 101111, + "ĠÏĮ": 101112, + "ниÑĨ": 101113, + "ĠÐĿа": 101114, + "Ñıв": 101115, + "lü": 101116, + "ιο": 101117, + "ÙĨدÙĩ": 101118, + "ÙĦÙĥ": 101119, + "ĠngÃły": 101120, + "Ġnhân": 101121, + "Ġ^{": 101122, + "à¥ĥ": 101123, + "Ġgerek": 101124, + "ارÙĩ": 101125, + "ĠcÆ¡": 101126, + "Ġà¸ķ": 101127, + "æĤ": 101128, + "çͰ": 101129, + "à¥Īà¤Ĥ।": 101130, + "ัว": 101131, + "vÄĽ": 101132, + "öz": 101133, + "или": 101134, + "Ġpháp": 101135, + "ê¸Ī": 101136, + "ĠÎŁ": 101137, + "ĠpÅĻi": 101138, + "Ġìĸ´": 101139, + "Ġдол": 101140, + "ÙĪØ±Ø¯": 101141, + "à¹Ģม": 101142, + "Ïĥε": 101143, + "าà¸Ĺ": 101144, + "oÃłi": 101145, + "รม": 101146, + "Û¶": 101147, + "Ġà¸ļ": 101148, + "iyet": 101149, + "ÏĦαι": 101150, + "ìĦł": 101151, + "ĠεÏĢ": 101152, + "िव": 101153, + "ê¹Į": 101154, + "га": 101155, + "ĠÑģлÑĥ": 101156, + "Ġhình": 101157, + "ĠداÙĨ": 101158, + "Ġà¤Ĺय": 101159, + "ÙĬا": 101160, + "èij": 101161, + "à¤Ĥत": 101162, + "ĠساÙĦ": 101163, + "ëłĪ": 101164, + "lerin": 101165, + "à¥ĩत": 101166, + ".:.:.:.:": 101167, + "Ġëħ": 101168, + "ĠاÙĦØ¥": 101169, + "ảng": 101170, + "èĦ": 101171, + "ολ": 101172, + "пов": 101173, + "Ġθ": 101174, + "Û·": 101175, + "Ġnó": 101176, + "ĠdÃ¼ÅŁ": 101177, + "Ġtiế": 101178, + "ÙĪØ¬": 101179, + "Ġjsem": 101180, + "ạng": 101181, + "ãģĤãĤĭ": 101182, + "à¸Ńà¸ļ": 101183, + "ÙĪÙĬ": 101184, + "à¤ķर": 101185, + "Ġде": 101186, + "¯¼": 101187, + "Ġно": 101188, + "ÑĨÑĸй": 101189, + "ÏĥÏĦ": 101190, + "кие": 101191, + "Ïĥει": 101192, + "ìķĪ": 101193, + "ĠhÆ¡n": 101194, + "Ġà¤ķह": 101195, + "اض": 101196, + "ì¸": 101197, + "ãĥŁ": 101198, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 101199, + "ãĤĪãģĨ": 101200, + "ा,": 101201, + "еÑĢи": 101202, + "ë©°": 101203, + "íĶĦ": 101204, + "ĠпоÑģÑĤ": 101205, + "خر": 101206, + "à¥ĭत": 101207, + "âu": 101208, + "кой": 101209, + "daki": 101210, + "íħ": 101211, + "::::::::::::::::": 101212, + "Ġöz": 101213, + "ÑĢаж": 101214, + "nÃŃho": 101215, + "หล": 101216, + "ĠÏĥÏĦη": 101217, + "ĠÄijá»ģ": 101218, + "Ġká»": 101219, + "iá»ĥn": 101220, + "ÅĻi": 101221, + "Ġkteré": 101222, + "¢ħ": 101223, + "üç": 101224, + "ÙĬÙģ": 101225, + "Ġlý": 101226, + "Ġthá»Ŀi": 101227, + "ĠìĨĮ": 101228, + "нÑĮ": 101229, + "ÐĨ": 101230, + "ÑĤÑĢ": 101231, + "à¸ĩาà¸Ļ": 101232, + "коÑĹ": 101233, + "μο": 101234, + "Ġsür": 101235, + "uyá»ģn": 101236, + "ĠÙħا": 101237, + "à¤Ĥà¤Ĺ": 101238, + "ĠÄijá»ĵng": 101239, + "òn": 101240, + "à¥ģल": 101241, + "à¥įप": 101242, + "λη": 101243, + "Ùħر": 101244, + "пÑĢи": 101245, + "iyle": 101246, + "ाप": 101247, + "Ġà¤ħन": 101248, + "ĠÑĶ": 101249, + "Ġyön": 101250, + "ÙĦÙģ": 101251, + "adır": 101252, + "á½": 101253, + "Ġê³ł": 101254, + "خص": 101255, + "imiz": 101256, + "åľĭ": 101257, + "Ġнад": 101258, + "ĠÅĻ": 101259, + "ноÑģÑĤÑĸ": 101260, + "ĠاÙģ": 101261, + "анÑĸ": 101262, + "à¥ĩà¤Ł": 101263, + "Ġë§IJ": 101264, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 101265, + "ĠìĬ¤": 101266, + "ิà¸ķ": 101267, + "åĦ": 101268, + "ÛĮÙĩ": 101269, + "оÑĪ": 101270, + "žit": 101271, + "ìĭ¤": 101272, + "à¥Ģन": 101273, + "Ġî": 101274, + "æ¥Ń": 101275, + "à¥ĩन": 101276, + "Ġذ": 101277, + "Ġloại": 101278, + "à¹Ħà¸Ľ": 101279, + "Ñĸк": 101280, + "ĠкÑĢа": 101281, + "à¥ĭर": 101282, + "ุà¸Ķ": 101283, + "ĠاÙĦر": 101284, + "ĠÑģоб": 101285, + "าà¸Ĭ": 101286, + "Ġसà¤ķत": 101287, + "ĠÎĿ": 101288, + "اÙħÙĩ": 101289, + "à¹īาà¸Ļ": 101290, + "Ġtrình": 101291, + "ĠاÙĦÙģ": 101292, + "ĠاÙĦد": 101293, + "unun": 101294, + "оÑĤов": 101295, + "Æ°á»Ł": 101296, + "ĠÑģво": 101297, + "ίαÏĤ": 101298, + "ấn": 101299, + "огда": 101300, + "à¸Ĺย": 101301, + "Ġbyl": 101302, + "ØŃد": 101303, + "à¸ģล": 101304, + "بÙĩ": 101305, + "ĠvÄĽ": 101306, + "被": 101307, + "ĠØ¢Ùħ": 101308, + "ĠÄijiá»ģu": 101309, + "å¨": 101310, + "Ġkdy": 101311, + "ĠبÙĪ": 101312, + "ẫn": 101313, + "ìľł": 101314, + "ाà¤ķ": 101315, + "ků": 101316, + "Ġtrưá»Ŀng": 101317, + "ické": 101318, + "ниÑı": 101319, + "ĠÏĢοÏħ": 101320, + "Æ°á»Łng": 101321, + "номÑĥ": 101322, + "à¹Īà¸Ļ": 101323, + "ูà¹Ī": 101324, + "Ġkết": 101325, + "Ġï¼¼": 101326, + "Ġìĭł": 101327, + "iç": 101328, + "ĠnÄĥng": 101329, + "ÄįÃŃ": 101330, + "ÑĤÑı": 101331, + "ÑĢеб": 101332, + "Ùĭا": 101333, + "Ú¯ÛĮ": 101334, + "ãĥİ": 101335, + "ĠkarÅŁ": 101336, + "вÑĸ": 101337, + "Ġphần": 101338, + "à¸Īะ": 101339, + "ắt": 101340, + "رة": 101341, + "ิà¸ĩ": 101342, + "ิà¹Ī": 101343, + "ाà¤Ī": 101344, + "าà¸ŀ": 101345, + "ÙĨÛĮ": 101346, + "ìŰ": 101347, + "bÄĽ": 101348, + "ĠاÙĦص": 101349, + "íĹ": 101350, + "Ġسر": 101351, + "lara": 101352, + "ëĭ¨": 101353, + "ĠÙĤر": 101354, + "èİ": 101355, + "بد": 101356, + "Ġйого": 101357, + "à¥įह": 101358, + "Ġcách": 101359, + "íķĺê³ł": 101360, + "ĠÏĢÏģο": 101361, + "Ġتع": 101362, + "ĴĪ": 101363, + "Ġвод": 101364, + "ç¥ŀ": 101365, + "ким": 101366, + "Ġdá»±": 101367, + "à¹Ģห": 101368, + "ана": 101369, + "Ġï½": 101370, + "ĠbaÄŁ": 101371, + "Ġपह": 101372, + "Ġcao": 101373, + "ÏģÏĮ": 101374, + "ÙĨج": 101375, + "ाà¤ı": 101376, + "Ġå¹´": 101377, + "Ġnghiá»ĩp": 101378, + "Û²Û°": 101379, + "каÑı": 101380, + "Ïģί": 101381, + "Ġбол": 101382, + "Ġgiá": 101383, + "Ġзд": 101384, + "à¥ĩल": 101385, + "Ġcấp": 101386, + "à¹Ģส": 101387, + "Ïģγ": 101388, + "ĠìĤ": 101389, + "dÄĽ": 101390, + "à¥ģन": 101391, + "ìĪ": 101392, + "ılan": 101393, + "лаÑģ": 101394, + "Ġว": 101395, + "ĠÏĥε": 101396, + "ĠØ«": 101397, + "ĠЦ": 101398, + "çĤº": 101399, + "Ġbüy": 101400, + "еÑĨ": 101401, + "太": 101402, + "Ġबन": 101403, + "огÑĢа": 101404, + "ĠпÑĢоÑĤ": 101405, + "Ġlượng": 101406, + "Ġdön": 101407, + "รà¸ĩ": 101408, + "ало": 101409, + "ĠجÙħ": 101410, + "à¥Ī,": 101411, + "Ġ미": 101412, + "Ġê¹": 101413, + "ÙĪØª": 101414, + "à¥Ģय": 101415, + "à¸Īาà¸ģ": 101416, + "Ġchất": 101417, + "Ω": 101418, + "Ġkhác": 101419, + "Ġtháng": 101420, + "jÅ¡ÃŃ": 101421, + "ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł": 101422, + "á»ijt": 101423, + "หร": 101424, + "Ñĸл": 101425, + "åħī": 101426, + "åĤ": 101427, + "ÙĦØ©": 101428, + "Ġê±°": 101429, + "овоÑĢ": 101430, + "iá»ĥu": 101431, + "ĠмеÑĤ": 101432, + "аÑĶ": 101433, + "ĠÑĩаÑģ": 101434, + "Ïģε": 101435, + "ì¹´": 101436, + "âĢĮØ´": 101437, + "물": 101438, + "úc": 101439, + "âĢĮÙĩا": 101440, + "iá»ģn": 101441, + "stav": 101442, + "íŀ": 101443, + "ĠÙĨظ": 101444, + "ĨĴ": 101445, + "ĠÏĦα": 101446, + "Ġзаб": 101447, + "ÙĥØ©": 101448, + "ĠгÑĢÑĥ": 101449, + "во": 101450, + "ĠÙħج": 101451, + "Ġsah": 101452, + "بÙĦ": 101453, + "عة": 101454, + "ÑĥÑĪ": 101455, + "ĠÑĤем": 101456, + "íĭ": 101457, + "eck": 101458, + "ÏīÏĤ": 101459, + "ÙĬت": 101460, + "ìĹĪ": 101461, + "çĭ": 101462, + "ذا": 101463, + "ìłĢ": 101464, + "ĠнаÑģ": 101465, + "ĠпоÑĩ": 101466, + "æł¡": 101467, + "ÏĪ": 101468, + "Ñģкой": 101469, + "üc": 101470, + "ÙĤÙĦ": 101471, + "Ġпоз": 101472, + "ĠоÑģоб": 101473, + "าล": 101474, + "нÑĭми": 101475, + "олод": 101476, + "è¼": 101477, + "ĠدÛĮ": 101478, + "ĠÑĥÑģÑĤ": 101479, + "Ġ무": 101480, + "ÙĬس": 101481, + "ë°©": 101482, + "à¥įà¤ļ": 101483, + "ила": 101484, + "Ġnên": 101485, + "ние": 101486, + "ιν": 101487, + "larını": 101488, + "à¹Ģà¸Ļ": 101489, + "ÙĨت": 101490, + "aģı": 101491, + "ımız": 101492, + "ĠاÙĦØ®": 101493, + "à¹Ģว": 101494, + "à¥įन": 101495, + "ĠÏħ": 101496, + "ĠíĨ": 101497, + "ẻ": 101498, + "ิà¹Ĥ": 101499, + "αÏĤ": 101500, + "меÑĤ": 101501, + "Ġzp": 101502, + "Ġjeho": 101503, + "ียà¸Ļ": 101504, + "ÑĦоÑĢ": 101505, + "ınız": 101506, + "klad": 101507, + "íĮĮ": 101508, + "uyá»ĩ": 101509, + "ιά": 101510, + "ĠãĢģ": 101511, + "شر": 101512, + "æ©Ł": 101513, + "Ġتا": 101514, + "Ġзна": 101515, + "ستاÙĨ": 101516, + "à¥ĩर": 101517, + "매": 101518, + "çĥ": 101519, + "Ġже": 101520, + "าà¸Ķ": 101521, + "Ġض": 101522, + "éŃ": 101523, + "Ġназ": 101524, + "ĠÛĮا": 101525, + "ené": 101526, + "ัย": 101527, + "íĸĪëĭ¤": 101528, + "Ġبد": 101529, + "à¥ģà¤ķ": 101530, + "ÑĤов": 101531, + "ì°¨": 101532, + "Ùĩد": 101533, + "à¸Ķย": 101534, + "Ġhoặc": 101535, + "ĠÐŁÑĢи": 101536, + "ÙĨا": 101537, + "çİĭ": 101538, + "ÑĥваÑĤи": 101539, + "à¸ļร": 101540, + "Ġà¤ķरत": 101541, + "ÏĥηÏĤ": 101542, + "ؤ": 101543, + "éķ·": 101544, + "åħĭ": 101545, + "Ġدار": 101546, + "ัà¹Ī": 101547, + "Æ¡i": 101548, + "าà¸Ī": 101549, + "ými": 101550, + "ấu": 101551, + "Ġدست": 101552, + "kem": 101553, + "ĠоÑģнов": 101554, + "모": 101555, + "Ïģά": 101556, + "æħ": 101557, + "Ġاب": 101558, + "士": 101559, + "Ħĸ": 101560, + "ÎĶ": 101561, + "ÙĬÙĥ": 101562, + "íİ": 101563, + "Ġyüz": 101564, + "adı": 101565, + "าà¸ķ": 101566, + "ä»Ģ": 101567, + "ìĿ´ëĭ¤": 101568, + "Ġzv": 101569, + "ĠtÄĽ": 101570, + "Ġíĸ": 101571, + "थ": 101572, + "Ġलà¤Ĺ": 101573, + "ìĺĢ": 101574, + "Ġан": 101575, + "çĹ": 101576, + "ìĹŃ": 101577, + "нÑĸÑģÑĤÑĮ": 101578, + "Åŀ": 101579, + "Ġphát": 101580, + "ÙĤØ©": 101581, + "Ġthế": 101582, + "Ġï¾": 101583, + "ì²ľ": 101584, + "ĠìĦł": 101585, + "à¹ĥà¸Ĭ": 101586, + "iêu": 101587, + "ÄŁini": 101588, + "ÙĤد": 101589, + "Ġkterý": 101590, + "Ñģкий": 101591, + "à¥įड": 101592, + "tadır": 101593, + "ĠÑģм": 101594, + "ÙĪÙģ": 101595, + "ارÙĬ": 101596, + "å¾·": 101597, + "ิม": 101598, + "خت": 101599, + "å¾Ī": 101600, + "ĠгоÑĢ": 101601, + "ï¼ĮæĪij": 101602, + "Ġìĺģ": 101603, + "ĠëıĻ": 101604, + "Ñģа": 101605, + "à¹Ģà¸Ħ": 101606, + "민": 101607, + "ึà¹Ī": 101608, + "Ġliên": 101609, + "ĠÙĩا": 101610, + "lerini": 101611, + "ĠÑĨе": 101612, + "اÙĦÛĮ": 101613, + "Ġमह": 101614, + "Ġvụ": 101615, + "Ġxuất": 101616, + "ิà¸ģ": 101617, + "ĠпÑĢоÑĨ": 101618, + "Ġαν": 101619, + "ÑĢим": 101620, + "Ġcần": 101621, + "ĠиÑħ": 101622, + "ноÑİ": 101623, + "ĠtÃŃnh": 101624, + "Ġbá»Ļ": 101625, + "Ñĸм": 101626, + "ĠnháºŃn": 101627, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 101628, + "ÙĬÙĩ": 101629, + "äºļ": 101630, + "Ġобла": 101631, + "Ġà¤ĺ": 101632, + "ných": 101633, + "æĿij": 101634, + "ÙĦس": 101635, + "Ġнеоб": 101636, + "ابة": 101637, + "vá": 101638, + "οÏħν": 101639, + "ÑĢеÑĤ": 101640, + "asında": 101641, + "Ġyar": 101642, + "ĠÄijiá»ĥm": 101643, + "нÑİ": 101644, + "ाà¤Ĺ": 101645, + "ĠÚ©Ø´": 101646, + "Ñĥз": 101647, + "Ġà¸Ķ": 101648, + "ảm": 101649, + "ками": 101650, + "ĠÎĻ": 101651, + "à¹Ģà¸ķ": 101652, + "ĠlỼ": 101653, + "ÙĤÛĮ": 101654, + "kou": 101655, + "ÙĦب": 101656, + "ива": 101657, + "æĵ": 101658, + "ẹ": 101659, + "κα": 101660, + "ë²ķ": 101661, + "èĤ²": 101662, + "á»ijn": 101663, + "Ġbelir": 101664, + "íĨł": 101665, + "ÏĦή": 101666, + "ÑĭÑĪ": 101667, + "ãĤĥ": 101668, + "Ġабо": 101669, + "ský": 101670, + "à¥Īस": 101671, + "ĠпÑĢоÑģÑĤ": 101672, + "ektedir": 101673, + "až": 101674, + "à¹Īà¸Ń": 101675, + "ĠоÑģÑĤ": 101676, + "Ġbảo": 101677, + "Ġ大": 101678, + "Ñĭм": 101679, + "Ġmů": 101680, + "Æ°á»Ľng": 101681, + "åıĹ": 101682, + "ÙĪÙĩ": 101683, + "ĠÑĥп": 101684, + "ÙĥÙĨ": 101685, + "ĠÏĦÏīν": 101686, + "ëħ¸": 101687, + "Ġà¸Ĭ": 101688, + "ĠÑĤого": 101689, + "ĠШ": 101690, + "ìĿ´íĬ¸": 101691, + "à¹Ģà¸Ń": 101692, + "инÑĥ": 101693, + "ĺħ": 101694, + "uyá»ĥn": 101695, + "íĴĪ": 101696, + "ạnh": 101697, + "Ġãĥ½": 101698, + "ÑĤобÑĭ": 101699, + "Ġtạo": 101700, + "å·Ŀ": 101701, + "ĠÄijá»iji": 101702, + "ĠëıĦ": 101703, + "ä¹ħ": 101704, + "ĠتÙħ": 101705, + "аÑĢи": 101706, + "stvÃŃ": 101707, + "Ġcùng": 101708, + "íŀĪ": 101709, + "Ġtarih": 101710, + "ì¤ij": 101711, + "íĤ": 101712, + "ĠدÙĪ": 101713, + "ì¡": 101714, + "алÑĸ": 101715, + "à¸IJ": 101716, + "Ġcòn": 101717, + "иÑĤÑĮÑģÑı": 101718, + "Ġवह": 101719, + "ÅĻeb": 101720, + "鼻": 101721, + "Ġми": 101722, + "ovÄĽ": 101723, + "Ġdân": 101724, + "ÑĨÑĸÑı": 101725, + "ÛĮست": 101726, + "åѸ": 101727, + "Ġür": 101728, + "صÙĦ": 101729, + "ÑĢиÑĤ": 101730, + "าห": 101731, + "ãģ¦ãģĦãģŁ": 101732, + "θη": 101733, + "çĸ": 101734, + "ØŁ": 101735, + "iÅŁtir": 101736, + "ĠУкÑĢаÑĹни": 101737, + "ë°ĺ": 101738, + "à¥ĩà¤ĸ": 101739, + "Ġvá»ĭ": 101740, + "Î¥": 101741, + "ĠãĢĢĠãĢĢĠãĢĢ": 101742, + "Ġbằng": 101743, + "Ġtá»ķ": 101744, + "оли": 101745, + "à¹Ĩ": 101746, + "ezi": 101747, + "Ġни": 101748, + "ĠÎĽ": 101749, + "Ġrất": 101750, + "μÏĢ": 101751, + "жд": 101752, + "ारत": 101753, + "Ġuž": 101754, + "à¥ĩस": 101755, + "اÙĨد": 101756, + "Ġbý": 101757, + "à¥ĭल": 101758, + "dÄĽl": 101759, + "ìķĺ": 101760, + "Ġجد": 101761, + "å³": 101762, + "ืà¹ī": 101763, + "Ġbản": 101764, + "ạch": 101765, + "ĠÅŁey": 101766, + "ĠÙĩر": 101767, + "Ġjen": 101768, + "ĠвÑĸн": 101769, + "esinde": 101770, + "Ġहम": 101771, + "çłĶ": 101772, + "à¸ļà¸ļ": 101773, + "Ġchức": 101774, + "ึà¸ĩ": 101775, + "malar": 101776, + "ĠdeÄŁil": 101777, + "æĿ±": 101778, + "Ġtác": 101779, + "ĠkiÅŁ": 101780, + "Ġtá»±": 101781, + "à¥įध": 101782, + "à¸Ļà¸Ĺ": 101783, + "ÎŁÎ¥": 101784, + "ÑģÑĮкого": 101785, + "Ġध": 101786, + "ĠìĿĺ": 101787, + "ÙĨØ©": 101788, + "üs": 101789, + "è«": 101790, + "Ġtarafından": 101791, + "ħn": 101792, + "Ġkinh": 101793, + "Ïĥι": 101794, + "à¥Ģà¤ķ": 101795, + "íı¬": 101796, + "اÙħÙĦ": 101797, + "ĠViá»ĩt": 101798, + "ĠÏĦον": 101799, + "ĠتÙĨ": 101800, + "Ġà¤ħध": 101801, + "à¹Īาà¸Ļ": 101802, + "rı": 101803, + "à¤Ĥद": 101804, + "éª": 101805, + "Ġchúng": 101806, + "ги": 101807, + "ÏĦαν": 101808, + "Ġдоп": 101809, + "нÑĸй": 101810, + "оналÑĮ": 101811, + "Îĵ": 101812, + "Ġbüyük": 101813, + "á¼": 101814, + "à¥Ģर": 101815, + "ذÙĩ": 101816, + "ĠìķĦìĿ´": 101817, + "Ġdoanh": 101818, + "ĠÅĻÃŃ": 101819, + "ÑĨÑı": 101820, + "Ġtư": 101821, + "Ġसर": 101822, + "ĠmÃŃst": 101823, + "Ġë°ı": 101824, + "Ø´ÙĨ": 101825, + "Ñĸб": 101826, + "ĠãĢĢãĢĢ": 101827, + "çϽ": 101828, + "оÑģп": 101829, + "кÑĸв": 101830, + "Ġtế": 101831, + "ãģŃ": 101832, + "ĠtỼi": 101833, + "Ġìļ°": 101834, + "æľĥ": 101835, + "اÛĮد": 101836, + "æ§": 101837, + "ìłIJ": 101838, + "Ġdurum": 101839, + "à¹Ģà¸Ĭ": 101840, + "à¥Ģत": 101841, + "ĠÙĩÙĪ": 101842, + "à¥Ĥप": 101843, + "Ġgöre": 101844, + "ĠÑĢоб": 101845, + "Ġthiết": 101846, + "ajÃŃ": 101847, + "ĠاÛĮراÙĨ": 101848, + "âĢı": 101849, + "ÑģÑĮкоÑĹ": 101850, + "çħ": 101851, + "ĠìĦ¸": 101852, + "ừ": 101853, + "Ġà¸Ĥ": 101854, + "ům": 101855, + "ëŀĮ": 101856, + "ική": 101857, + "Ġмог": 101858, + "ÙĨÙĬ": 101859, + "ãģļ": 101860, + "ाब": 101861, + "æ¢": 101862, + "عÙĩ": 101863, + "ÑĶм": 101864, + "Ġά": 101865, + "οÏħÏĤ": 101866, + "زار": 101867, + "ê±´": 101868, + "ská": 101869, + "ĠاÙĬ": 101870, + "Ġilg": 101871, + "Ġsı": 101872, + "eleri": 101873, + "ĠÎĹ": 101874, + "uyor": 101875, + "ष": 101876, + "िम": 101877, + "ева": 101878, + "ä»Ģä¹Ī": 101879, + "ุà¹Ī": 101880, + "à¹īาà¸ĩ": 101881, + "Ġhiá»ĩu": 101882, + "Ġاع": 101883, + "Ġözel": 101884, + "νη": 101885, + "ëĦ¤": 101886, + "ĠtoÃłn": 101887, + "Ġmoh": 101888, + "ĠÑıкÑĸ": 101889, + "çĬ": 101890, + "maktadır": 101891, + "تاب": 101892, + "ĠÑģÑĥ": 101893, + "Ġyük": 101894, + "ĠΧ": 101895, + "зна": 101896, + "оÑħ": 101897, + "ưu": 101898, + "à¸Ĺร": 101899, + "ãħĭ": 101900, + "ĠkarÅŁÄ±": 101901, + "ÙħÛĮ": 101902, + "ĠÑĨÑĸ": 101903, + "ادÛĮ": 101904, + "à¥Ģ।": 101905, + "Ïģη": 101906, + "лов": 101907, + "夫": 101908, + "Ġphân": 101909, + "Ġпоп": 101910, + "ç·ļ": 101911, + "Ñıн": 101912, + "ุà¸ĵ": 101913, + "ÑģÑĤÑĥп": 101914, + "ίναι": 101915, + "ĠÑĢокÑĥ": 101916, + "larda": 101917, + "è»Ĭ": 101918, + "ÏģÏī": 101919, + "ÙĪØ§Ùĩ": 101920, + "èħ": 101921, + "à¥įरत": 101922, + "å·±": 101923, + "ĠÑĢÑĥ": 101924, + "Ġthá»ĭ": 101925, + "ĠÄijiá»ĩn": 101926, + "ìĸij": 101927, + "ného": 101928, + "สม": 101929, + "ê°ģ": 101930, + "acÃŃ": 101931, + "Ġгода": 101932, + "kaz": 101933, + "Ġböl": 101934, + "Ġgian": 101935, + "à¸Ľà¸£": 101936, + "ï¾ŀ": 101937, + "ัà¸ķ": 101938, + "Ġgerç": 101939, + "Ġاج": 101940, + "Ġή": 101941, + "ÙijÙİ": 101942, + "Ñģкого": 101943, + "ÑĢаÑħ": 101944, + "ĠÅł": 101945, + "Ġà¤Ľ": 101946, + "оÑģÑĤÑĸ": 101947, + "본": 101948, + "ÑģÑĮкий": 101949, + "Û±Û¹": 101950, + "Ñĥва": 101951, + "اÙĦÙħ": 101952, + "ĠÙħص": 101953, + "ëįĺ": 101954, + "bÃŃ": 101955, + "ĠÙĪØ¬": 101956, + "ÏĦÏĮ": 101957, + "ebilir": 101958, + "Ġtiếp": 101959, + "é¤": 101960, + "Ġä¸Ģ": 101961, + "ĠÑģÑĢед": 101962, + "ëĤ¨": 101963, + "εÏģι": 101964, + "اث": 101965, + "Ñģов": 101966, + "Ïĩε": 101967, + "Ġë¶Ħ": 101968, + "Ġtaké": 101969, + "Ġdüz": 101970, + "Ġíıī": 101971, + "Ġاص": 101972, + "ĠÏĥÏĦην": 101973, + "ë°Ķ": 101974, + "Ġhá»Ļi": 101975, + "رÙĩ": 101976, + "بÛĮ": 101977, + "ве": 101978, + "ĠاÙĦØ·": 101979, + "ĠÑĢез": 101980, + "بار": 101981, + "Ġgiải": 101982, + "ãģ«ãģª": 101983, + "oleÄį": 101984, + "à¤ł": 101985, + ";:": 101986, + "ä½ı": 101987, + "Ú©Ùĩ": 101988, + "ĠΦ": 101989, + "ĠÑĥÑĩ": 101990, + "âĹıâĹı": 101991, + "ูà¸ģ": 101992, + "à¥ĩव": 101993, + "Ïĥα": 101994, + "ĠاÙĨت": 101995, + "Ġвп": 101996, + "Ġquả": 101997, + "enin": 101998, + "ĠêµIJ": 101999, + "μά": 102000, + "کت": 102001, + "ÙĤÙĩ": 102002, + "ĠTürkiye": 102003, + "Ġthức": 102004, + "íĹĺ": 102005, + "iá»ĩm": 102006, + "Ġतà¤ķ": 102007, + "Ġéĩ": 102008, + "़ा": 102009, + "ĠØ£ÙĪ": 102010, + "ále": 102011, + "ç©¶": 102012, + "ĠÅŁekil": 102013, + "кого": 102014, + "ÑĪиÑħ": 102015, + "اÛĮØ´": 102016, + "تÙĨ": 102017, + "ней": 102018, + "à¸Ĺำ": 102019, + "ĠÑıв": 102020, + "رÙħ": 102021, + "Ġmáy": 102022, + "หม": 102023, + "ıyla": 102024, + "Ġcầu": 102025, + "Ġдоб": 102026, + "Ġìŀ¥": 102027, + "ový": 102028, + "ικÏĮ": 102029, + "Ġãħĩ": 102030, + "ĠÑĤеÑĢ": 102031, + "ĮĴ": 102032, + "سÙĬ": 102033, + "ĠoluÅŁ": 102034, + "Ġbyla": 102035, + "عÙĦ": 102036, + "ĠÙĥاÙĨ": 102037, + "боÑĢ": 102038, + "ì²Ń": 102039, + "ãĥı": 102040, + "ubl": 102041, + "Ġاخ": 102042, + "ÙĦÙĪØ¯": 102043, + "تÙĬ": 102044, + "ladı": 102045, + "ĠÃ¶ÄŁ": 102046, + "ruh": 102047, + "ç¿": 102048, + "Ġبعد": 102049, + "ÎĻÎij": 102050, + "idir": 102051, + "ãģ«ãģ¯": 102052, + "Ġsöy": 102053, + "Ġkhách": 102054, + "ÑĨе": 102055, + "ĠØ´ÙĪØ¯": 102056, + "ç¸": 102057, + "Ġëħ¸": 102058, + "úp": 102059, + "Ġneden": 102060, + "Ġhóa": 102061, + "Ġà¤īप": 102062, + "ÏĥειÏĤ": 102063, + "æĪ¿": 102064, + "Ġ³³": 102065, + "ĠìķĮ": 102066, + "à¥Ģ,": 102067, + "´ij": 102068, + "êu": 102069, + "ÑĢок": 102070, + "à¹Ģà¸Ī": 102071, + "Ġείναι": 102072, + "ĠبÙĦ": 102073, + "ĠÑģов": 102074, + "Ġönem": 102075, + "Ġà¸ĭ": 102076, + "ì§Ģë§Į": 102077, + "å®ĺ": 102078, + "격": 102079, + "ìĦĿ": 102080, + "Ġaž": 102081, + "Ġduy": 102082, + "ãģ¨ãģĦ": 102083, + "ØĽ": 102084, + "δο": 102085, + "θε": 102086, + "ÙĥاÙĨ": 102087, + "ढ": 102088, + "ाà¤ĵ": 102089, + "Ġdá»ĭch": 102090, + "á»Ļng": 102091, + "สำ": 102092, + "Äı": 102093, + "ĠÑĹÑħ": 102094, + "αλ": 102095, + "eÄį": 102096, + "ç²¾": 102097, + "Ġзв": 102098, + "èĩªå·±": 102099, + "ĠاÙĦÙĦÙĩ": 102100, + "ĠСÑĤ": 102101, + "ĠسÙĨÚ¯": 102102, + "Ġдом": 102103, + "гоÑĤов": 102104, + "повÑĸд": 102105, + "ĠBá»Ļ": 102106, + "à¥įयà¤ķ": 102107, + "طة": 102108, + "мов": 102109, + "à¸Ĺาà¸ĩ": 102110, + "ึà¸ģ": 102111, + "ĠÑĸз": 102112, + "à¥ĭà¤ľ": 102113, + "Ġgöster": 102114, + "Ġباشد": 102115, + "ileri": 102116, + "ĠÑģеб": 102117, + "Ñīо": 102118, + "Ġãħĩãħĩ": 102119, + "بت": 102120, + "Ñģе": 102121, + "à¥ĩà¤ľ": 102122, + "Ġlên": 102123, + "ĠتÙĪ": 102124, + "ÑĸÑģÑĤÑĮ": 102125, + "ï¾Ĩï¾Ĩ": 102126, + "Ġthưá»Ŀng": 102127, + "ĠolduÄŁu": 102128, + "vÄĽt": 102129, + "ìĨį": 102130, + "ãģĿãģĨ": 102131, + "ĠìĦ±": 102132, + "ë°ľ": 102133, + "Ġà¸ģาร": 102134, + "ĠØ´Ùĩر": 102135, + "sled": 102136, + "ảnh": 102137, + "æŀĹ": 102138, + "lacak": 102139, + "Ġmình": 102140, + "Ú©ÛĮ": 102141, + "Ġà¹ĥà¸Ļ": 102142, + "Ġdùng": 102143, + "ĠмаÑģ": 102144, + "ÑĦек": 102145, + "æ°Ķ": 102146, + "é§": 102147, + "ĠاØŃ": 102148, + "èµ°": 102149, + "ÎĻÎļ": 102150, + "à¥ĩ।": 102151, + "ÑģÑĮка": 102152, + "ĠÑĩаÑģÑĤ": 102153, + "larının": 102154, + "Ġê¹Ģ": 102155, + "층": 102156, + "ними": 102157, + "èªŀ": 102158, + "åĢĭ": 102159, + "ĠêµŃ": 102160, + "коÑĢ": 102161, + "maya": 102162, + "ิà¹Ĥà¸Ļ": 102163, + ".ศ": 102164, + "Ġhá»ĩ": 102165, + "ĠتÙĤ": 102166, + "γκ": 102167, + "Ġà¤Ĩपà¤ķ": 102168, + "ÑģÑĤоÑĢ": 102169, + "ĠÄijo": 102170, + "Ġchá»§": 102171, + "اÛĮت": 102172, + "ĠQuá»ijc": 102173, + "глÑı": 102174, + "ãĢĤãĢįĊĊ": 102175, + "ĠnÃło": 102176, + "à¸Ńล": 102177, + "æĬĬ": 102178, + "ÙĪØ±Øª": 102179, + "Ġbude": 102180, + "æĽ¸": 102181, + "elik": 102182, + "ĠجÙĩ": 102183, + "ĠبÙĪØ§Ø¨Ø©": 102184, + "èĬ±": 102185, + "دار": 102186, + "Ġbýt": 102187, + "Ñĩе": 102188, + "ãĤĵãģł": 102189, + "ĠÙħØ·": 102190, + "lere": 102191, + "ÎĹΣ": 102192, + "íĺķ": 102193, + "âĸį": 102194, + "ÄŁu": 102195, + "Ġвз": 102196, + "ÙĬز": 102197, + "ĠÐłÐ¾Ñģ": 102198, + "íĭ°": 102199, + "Ġداش": 102200, + "ì§ij": 102201, + "atı": 102202, + "mesi": 102203, + "ãĤīãĤĮ": 102204, + "ův": 102205, + "rát": 102206, + "оÑģоб": 102207, + "åIJĦ": 102208, + "uyá»ĩn": 102209, + "åģļ": 102210, + "üst": 102211, + "éĩİ": 102212, + "αÏĥ": 102213, + "Ġmặt": 102214, + "елов": 102215, + "åįļ": 102216, + "дж": 102217, + "Ġدارد": 102218, + "Ġfark": 102219, + "à¹īวย": 102220, + "они": 102221, + "Ġبخ": 102222, + "à¥ģत": 102223, + "ĠÄijây": 102224, + "αÏģα": 102225, + "Ġδια": 102226, + "Ġè¯": 102227, + "каÑħ": 102228, + "cház": 102229, + "zenÃŃ": 102230, + "ÑĢоп": 102231, + "à¥Ģम": 102232, + "íĨµ": 102233, + "dü": 102234, + "à¸łà¸²à¸ŀ": 102235, + "ĠíĬ": 102236, + "ÙĪØ§": 102237, + "Ġtá»ijt": 102238, + "ï¼ŁãĢįĊĊ": 102239, + "ĠæľĪ": 102240, + "Ġnhưng": 102241, + "Ġnež": 102242, + "à¥ĭड": 102243, + "ìĹIJê²Į": 102244, + "à¤Ĥड": 102245, + "¶Į": 102246, + "ĠмеÑģÑĤ": 102247, + "ाà¤ģ": 102248, + "ì¦Ŀ": 102249, + "ĠÄijang": 102250, + "à¸Ńà¸Ķ": 102251, + "íĽĦ": 102252, + "á»įi": 102253, + "ského": 102254, + "Ġдок": 102255, + "Ġتص": 102256, + "Ġphòng": 102257, + "Ġê°ķ": 102258, + "ĠtrÆ°á»Ľc": 102259, + "íijľ": 102260, + "ÙĶ": 102261, + "ĠphÃŃ": 102262, + "Ġchá»įn": 102263, + "ä¹IJ": 102264, + "ĠÅŁekilde": 102265, + "Ġíİ": 102266, + "éº": 102267, + "루": 102268, + "à¥Ī।Ċ": 102269, + "ÙĪØ±ÛĮ": 102270, + "ÑģÑĤÑĢа": 102271, + "ildi": 102272, + "ĠαÏħ": 102273, + "ваннÑı": 102274, + "ìļ¸": 102275, + ".âĢľĊĊ": 102276, + "ĠÑĤакже": 102277, + "ëĵ±": 102278, + "ека": 102279, + "æīį": 102280, + "ÙħØ©": 102281, + "Ġphương": 102282, + "马": 102283, + "ãĢĢĠãĢĢ": 102284, + "ových": 102285, + "ียà¸ĩ": 102286, + "ĠTru": 102287, + "еÑģп": 102288, + "stup": 102289, + "ÄĮ": 102290, + "ĠdalÅ¡ÃŃ": 102291, + "زÛĮ": 102292, + "Ġ매": 102293, + "ĠобÑĢаз": 102294, + "Ġaçık": 102295, + "ê°ķ": 102296, + "ÙģØ§Ø¯Ùĩ": 102297, + "گاÙĨ": 102298, + "à¹īà¸Ļ": 102299, + "ẩn": 102300, + "å·¥ä½ľ": 102301, + "Ġतर": 102302, + "ÙĬع": 102303, + "ĠãĢĬ": 102304, + ",âĢľ": 102305, + "Ġnev": 102306, + "ัà¸į": 102307, + "ģını": 102308, + "Ġjin": 102309, + "اخت": 102310, + "سر": 102311, + "ĠtÃłi": 102312, + "Ġkterá": 102313, + "ĠاÙĦÙĦ": 102314, + "à¤ħ": 102315, + "izmet": 102316, + "à¥ģम": 102317, + "าะ": 102318, + "Ġê·": 102319, + "lıģı": 102320, + "çı¾": 102321, + "liÄŁi": 102322, + "êµ°": 102323, + "alık": 102324, + "ĠدÙĪØ±": 102325, + "Ġìĭ¤": 102326, + "ĠзаÑģ": 102327, + "ÙĤÙĬ": 102328, + "Ġứng": 102329, + "ĠÙĥÙĩ": 102330, + "ÎŁÎ£": 102331, + "è¨Ń": 102332, + "çĮ": 102333, + "ãģĦãģŁ": 102334, + "íĺĦ": 102335, + "ĠÑĤе": 102336, + "еÑĢÑĸ": 102337, + "sız": 102338, + "Ġý": 102339, + "дов": 102340, + "Ġà¤ĩसà¤ķ": 102341, + "год": 102342, + "Ġbylo": 102343, + "าà¸Ħม": 102344, + "ением": 102345, + "Ш": 102346, + "æľ¯": 102347, + "Ġपहल": 102348, + "ĠaÅŁ": 102349, + "à¤¿à¤ľ": 102350, + "åĵ¡": 102351, + "ваÑĢ": 102352, + "à¹īำ": 102353, + "âĮĴ": 102354, + "ován": 102355, + "Ġgiúp": 102356, + "Ð¥": 102357, + "ĠÑģÑĥд": 102358, + "Ġà¤ķम": 102359, + "ạm": 102360, + "رس": 102361, + "Ġ人": 102362, + "ĠبÛĮ": 102363, + "Ġà¤īनà¤ķ": 102364, + "립": 102365, + "áºŃy": 102366, + "ĠváºŃt": 102367, + "лÑıеÑĤÑģÑı": 102368, + "Ġseç": 102369, + "Ġì½": 102370, + "ÑĢÑĥж": 102371, + "تص": 102372, + "|:": 102373, + "Ġëł": 102374, + "ими": 102375, + "ĠлÑİб": 102376, + "Ġà¸ľ": 102377, + "ï¼Įä½Ĩ": 102378, + "Ġнав": 102379, + "â̬": 102380, + "à¹Īาย": 102381, + "Ġرس": 102382, + "siniz": 102383, + "ë¨": 102384, + "ениÑİ": 102385, + "Ġล": 102386, + "اسÛĮ": 102387, + "à¥ľ": 102388, + "ĠÙ¾ÛĮØ´": 102389, + "ίδ": 102390, + "ĠÙ¾ÛĮ": 102391, + "еÑĢжав": 102392, + "à¤Ĩ": 102393, + "ĠdÃ¼ÅŁÃ¼n": 102394, + "å¿«": 102395, + "ÑĢеÑģ": 102396, + "åħ«": 102397, + "ÑĤÑĸ": 102398, + "à¤¿à¤Ł": 102399, + "ĠÑĤеÑħ": 102400, + "út": 102401, + "ÙĨÙĩ": 102402, + "ĠÙĨØ´": 102403, + "çĻº": 102404, + "Ġê°¤": 102405, + "лед": 102406, + "Ġëĵ¤": 102407, + "Ġbilg": 102408, + "ĠspoleÄį": 102409, + "ĠÄijÆ¡n": 102410, + "Ġà¤īत": 102411, + "Ġtrá»ĭ": 102412, + "ĠعÙħ": 102413, + "Ġ।": 102414, + "ĠúÄį": 102415, + "ãģ¸": 102416, + "วà¸ģ": 102417, + "ĠÑģлÑĥÑĩа": 102418, + "á»įng": 102419, + "åıĪ": 102420, + "иÑĤÑĥ": 102421, + "æľīéĻIJ": 102422, + "린": 102423, + "ëĭĺ": 102424, + "Ġhoạt": 102425, + "ĠìĿ´ëıĻ": 102426, + "знаÑĩ": 102427, + "ĠاستÙģØ§Ø¯Ùĩ": 102428, + "ĠпÑĢоÑĨеÑģ": 102429, + "anın": 102430, + "гÑĥ": 102431, + "ĠاÙĦØ«": 102432, + "æĹ¥æľ¬": 102433, + "ικά": 102434, + "ĠÑĹÑĹ": 102435, + "ì§ģ": 102436, + "inu": 102437, + "Ġساز": 102438, + "ãĤ¡": 102439, + "ï¾ī": 102440, + "ĠاÙĤ": 102441, + "Ġkế": 102442, + "ůsob": 102443, + "à¹ĩà¸ģ": 102444, + "åIJ§": 102445, + "æ¼Ķ": 102446, + "Ñīие": 102447, + "çĨ": 102448, + "ÑĮого": 102449, + "à¥ĭà¤Ł": 102450, + "اپ": 102451, + "室": 102452, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 102453, + "Ġtriá»ĥn": 102454, + "ĠtáºŃp": 102455, + "é£Ł": 102456, + "ë¹": 102457, + "ĠÑĩеÑĢез": 102458, + "ĠÑĨи": 102459, + "ÑģÑĥ": 102460, + "Ġнем": 102461, + "ĠаÑĢ": 102462, + "ĠÙĦا": 102463, + "Ġì§Ħ": 102464, + "çŁ³": 102465, + "ĠпÑĢоб": 102466, + "ĠìĽIJ": 102467, + "ÛĮÙĨÛĮ": 102468, + "ÑİÑĩи": 102469, + "âĢį": 102470, + "Û±Û³": 102471, + "ãĤ¬": 102472, + "çłĶç©¶": 102473, + "íĤ¤": 102474, + "Ġgerçek": 102475, + "ĠØŃس": 102476, + "íͼ": 102477, + "èĤ¡": 102478, + "ĠÏĦι": 102479, + "ĠvÅ¡ech": 102480, + "Ġvì": 102481, + "اÙĨÙĬ": 102482, + "ĠÙĩست": 102483, + "ĠëĤ¨": 102484, + "ÅĻej": 102485, + "еÑĢг": 102486, + "Ġsöz": 102487, + "ĠاÙĦÙħت": 102488, + "Ġchế": 102489, + "á»ĵi": 102490, + "åı¤": 102491, + "âĸįâĸį": 102492, + "á»ĵng": 102493, + "ãĥ¢": 102494, + "Ġди": 102495, + "ελ": 102496, + "Ġона": 102497, + "Ġнай": 102498, + "Ġ_{": 102499, + "пол": 102500, + "aliz": 102501, + "ĠtÄĥng": 102502, + "ĠdÃŃ": 102503, + "ép": 102504, + "ĠÙĦÙħ": 102505, + "Ġmož": 102506, + "ĠngoÃłi": 102507, + "èĹ": 102508, + "ĠÑĩем": 102509, + "ĠÄijá»ķ": 102510, + "еÑĤа": 102511, + "åı²": 102512, + "ĠÑģказ": 102513, + "ãĤ¿ãĥ¼": 102514, + "анÑĮ": 102515, + "Ġgöz": 102516, + "ë³Ħ": 102517, + "ãģĭãģ£ãģŁ": 102518, + "ĠëįĶ": 102519, + "ĠÙĨÙĤ": 102520, + "ĠÑĥÑĩа": 102521, + "Ġsahip": 102522, + "ĠÑģпе": 102523, + "ίοÏħ": 102524, + "ì½Ķ": 102525, + "ĠëĪ": 102526, + "mam": 102527, + "Ġroce": 102528, + "ĠÙĨاÙħ": 102529, + "еÑĢаÑĤÑĥ": 102530, + "ıp": 102531, + "ãģĦãģ¦": 102532, + "ĠíķĻ": 102533, + "Ġà¤ĩन": 102534, + "å©": 102535, + "Ġnhiên": 102536, + "atır": 102537, + "ÅĻenÃŃ": 102538, + "دة": 102539, + "ãĥªãĥ¼": 102540, + "ลà¸ĩ": 102541, + "ĠéĢ": 102542, + "Ġà¹Ģà¸Ľ": 102543, + "дÑĸ": 102544, + "ÎŃÏģ": 102545, + "ìĦ¤": 102546, + "гÑĢа": 102547, + "esine": 102548, + "Ġее": 102549, + "Ġiki": 102550, + "Ġتج": 102551, + "larına": 102552, + "dür": 102553, + "ĠاÙĦذ": 102554, + "Ùħت": 102555, + "Ġà¤IJ": 102556, + "िद": 102557, + "Ġë¹": 102558, + "ÑĦоÑĢма": 102559, + "Ġони": 102560, + "гоÑĢ": 102561, + "неÑģ": 102562, + "ìĺĢëĭ¤": 102563, + "ıldı": 102564, + "Ġçek": 102565, + "Ġдов": 102566, + "دÛĮ": 102567, + "ĠÄĮesk": 102568, + "ÑĪа": 102569, + "Ġات": 102570, + "å±ĭ": 102571, + "æĸ¼": 102572, + "Ġpráv": 102573, + "ému": 102574, + "å¸Ī": 102575, + "ãħĭãħĭ": 102576, + "Ġilgili": 102577, + "หว": 102578, + "à¤ĩ": 102579, + "ाष": 102580, + "ëŀij": 102581, + "asyon": 102582, + "ÑĨÑĮ": 102583, + "à¹ģà¸ķ": 102584, + "ợi": 102585, + "ĠвÑĭÑģ": 102586, + "ÑĸлÑĮки": 102587, + "ĠкоÑĤоÑĢÑĭе": 102588, + "ники": 102589, + "Ġاد": 102590, + "Ġživ": 102591, + "ĠαÏĢο": 102592, + "رض": 102593, + "اة": 102594, + "Ġkdyž": 102595, + "ữa": 102596, + "ĠëĮĢíķľ": 102597, + "Ġtôi": 102598, + "ÑĥÑĶ": 102599, + "زر": 102600, + "Ġå¥": 102601, + "ãĥĭãĥĭ": 102602, + "بة": 102603, + "ÏĦοÏĤ": 102604, + "ÑĨион": 102605, + "ĠÙħÙĬ": 102606, + "ĠÄĥn": 102607, + "à¥ĩà¤Ĺ": 102608, + "ĠÑĢег": 102609, + "ĠlỼn": 102610, + "ì¤Ģ": 102611, + "ìĭ¬": 102612, + "Ġbiết": 102613, + "aları": 102614, + "ÙģÙĬ": 102615, + "ä¸ĸçķĮ": 102616, + "ĠнеобÑħодим": 102617, + "à¸Ļว": 102618, + "νÏĦ": 102619, + "Ġảnh": 102620, + "íĸĪ": 102621, + "Ġवर": 102622, + "hled": 102623, + "ิà¸Ī": 102624, + "æŃ»": 102625, + "ĠاÙĦتÙĬ": 102626, + "ноÑģ": 102627, + "prav": 102628, + "ÑıÑĤи": 102629, + "Ñīа": 102630, + "ÙĪÙĨÙĩ": 102631, + "ĠaÄŁ": 102632, + "à¸ŀระ": 102633, + "Ġthá»ijng": 102634, + "ÑĦи": 102635, + "Ġголов": 102636, + "Ġkhoa": 102637, + "ĠëłĪ": 102638, + "ãģĴ": 102639, + "Ġgetir": 102640, + "شت": 102641, + "женнÑı": 102642, + "енÑĸ": 102643, + "Ġgiữ": 102644, + "lerinin": 102645, + "à¥Ģव": 102646, + "éģ¸": 102647, + "सर": 102648, + "ĠÑĩелов": 102649, + "à¥įà¤ľ": 102650, + "ĠбÑĥло": 102651, + "ĠاÙĨد": 102652, + "ัà¸Ļà¸Ĺ": 102653, + "让": 102654, + "Ġquyá»ģn": 102655, + "ĠØŃاÙĦ": 102656, + "ì²ĺ": 102657, + "ĠлÑİд": 102658, + "ÏģÏĩ": 102659, + "алÑĮно": 102660, + "ãĢĢãĥ½": 102661, + "ê¸ī": 102662, + "ãĤ±": 102663, + "ĠÙħرد": 102664, + "Ġông": 102665, + "Ġاش": 102666, + "大åѦ": 102667, + "ì¦Ī": 102668, + "æĪ¦": 102669, + "eyi": 102670, + "ĠÐIJн": 102671, + "िप": 102672, + "Ġtiêu": 102673, + "Ø´ÛĮ": 102674, + "ắn": 102675, + "éŃĶ": 102676, + "ãģ¨ãģĦãģĨ": 102677, + "ĠìłĢ": 102678, + "кÑĤи": 102679, + "ĠÙħØŃÙħد": 102680, + "ĠíĨµ": 102681, + "ุม": 102682, + "åį¡": 102683, + "оÑĢов": 102684, + "коÑİ": 102685, + "Ġlá»±c": 102686, + "å³¶": 102687, + "ĠرÙĪØ²": 102688, + "ÑħÑĸд": 102689, + "Ġhá»ĵ": 102690, + "Ġül": 102691, + "ĠØ´Ùħ": 102692, + "ÙĨس": 102693, + "بÙĪ": 102694, + "Ġthêm": 102695, + "ạc": 102696, + "åºľ": 102697, + "echn": 102698, + "ĠÎļα": 102699, + "èijĹ": 102700, + "çľ¼": 102701, + "áh": 102702, + "Ġι": 102703, + "ê¹Įì§Ģ": 102704, + "maz": 102705, + "λογ": 102706, + "Ġjsme": 102707, + "Ġá¼": 102708, + "ĠпÑĢави": 102709, + "клад": 102710, + "Ġthá»§": 102711, + "sah": 102712, + "ÄŁit": 102713, + "ĠÙģÛĮ": 102714, + "енно": 102715, + "à¥ģà¤Ľ": 102716, + "ãģ»": 102717, + "çϾ": 102718, + "иÑĤа": 102719, + "ĠбÑĭло": 102720, + "Ġvys": 102721, + "Ġì¶ľ": 102722, + "ắng": 102723, + "ĠÄijại": 102724, + "ĠÙħÙĪØ±Ø¯": 102725, + "ела": 102726, + "ÑĸÑĪ": 102727, + "леннÑı": 102728, + "æIJ": 102729, + "Ġнед": 102730, + "iyat": 102731, + "ì¼": 102732, + "ĠolduÄŁunu": 102733, + "داÙĨ": 102734, + "íĿ": 102735, + "ĠسÛĮ": 102736, + "ีà¸ģ": 102737, + "ÄĽst": 102738, + "ımı": 102739, + "ä¸īä¸ī": 102740, + "ãĤ½": 102741, + "ĠÑĤеп": 102742, + "ĠÑĢай": 102743, + "ाध": 102744, + "ĠìĤ¬ëŀĮ": 102745, + "ĠTrung": 102746, + "ï¼ıï¼ı": 102747, + "Ġtâm": 102748, + "Å¡enÃŃ": 102749, + "ãĥį": 102750, + "ĠÏĦοÏħÏĤ": 102751, + "ĠнÑĸ": 102752, + "вид": 102753, + "æ¿": 102754, + "Ġظ": 102755, + "ãĥ¯": 102756, + "ì¢ħ": 102757, + "ваÑĤи": 102758, + "Ġquá": 102759, + "ฤ": 102760, + "ĠÄijưá»Ŀng": 102761, + "à¥ģद": 102762, + "roj": 102763, + "ĠÑĥÑģ": 102764, + "é¦Ļ": 102765, + "ì½ĺ": 102766, + "ĠÙĪØª": 102767, + "มาà¸ģ": 102768, + "åĪĩ": 102769, + "Ġán": 102770, + "Ġмед": 102771, + "ìĹIJëĬĶ": 102772, + "Ġhlav": 102773, + "رت": 102774, + "à¹ĥà¸Ī": 102775, + "æ´²": 102776, + "ĠлÑĸ": 102777, + "æĪĺ": 102778, + "ÙĪÙĨد": 102779, + "è¶³": 102780, + "åĭĻ": 102781, + "çͳ": 102782, + "Ġì±": 102783, + "ĠìĿ´ëıĻíķ©ëĭĪëĭ¤": 102784, + "ÑīеÑģÑĤв": 102785, + "Ġë¶Ī": 102786, + "ÙĦÙĪ": 102787, + "üven": 102788, + "èĪĩ": 102789, + "ĠgiỼi": 102790, + "ĠÙĪÙĤ": 102791, + "Ġê°¤ë¡ľê·¸": 102792, + "ĠعاÙħ": 102793, + "ĺIJ": 102794, + ":::::": 102795, + "ĠÑĥд": 102796, + "-ÑĤо": 102797, + "ĠÑĦоÑĢ": 102798, + "ини": 102799, + "ãģĹãģĦ": 102800, + "Ġê°¤ë¡ľê·¸ë¡ľ": 102801, + "ãģ³": 102802, + "ãĥ©ãĤ¤": 102803, + "ená": 102804, + "Ġnez": 102805, + "Ġönemli": 102806, + "ĠниÑħ": 102807, + "à¤Ĥस": 102808, + "Ġà¤īसà¤ķ": 102809, + "à¥įरद": 102810, + "Ġnói": 102811, + "ÙĥÙĦ": 102812, + "ิว": 102813, + "κο": 102814, + "à¥ģà¤ĸ": 102815, + "öyle": 102816, + "άλ": 102817, + "óng": 102818, + "ĠداÙĨØ´": 102819, + "Ġзб": 102820, + "ì»": 102821, + "à¸ľà¸¥": 102822, + "ëĵ¤ìĿ´": 102823, + "Ġetk": 102824, + "رات": 102825, + "Ġεκ": 102826, + "ÑĤÑĢа": 102827, + "à¥įतर": 102828, + "à¤Ĥब": 102829, + "ĠмÑĸÑģ": 102830, + "æł¹": 102831, + "ãĥĻ": 102832, + "Ġtá»ī": 102833, + "à¹Ģà¸ĭ": 102834, + "ìĪł": 102835, + "ï¼Įä¸į": 102836, + "ìĺ¨": 102837, + "ĠmÄĽst": 102838, + "ģµ": 102839, + "azı": 102840, + "rada": 102841, + "ÏĢα": 102842, + "mé": 102843, + "ÙĨاÙħÙĩ": 102844, + "اÛĮÙĦ": 102845, + "μη": 102846, + "luk": 102847, + "ÙĥÙĬ": 102848, + "Ġï¼ī": 102849, + "ĠдеÑĤ": 102850, + "Ġiçinde": 102851, + "Ñıм": 102852, + "Ġdưá»": 102853, + "ĠпÑĢедÑģÑĤав": 102854, + "üre": 102855, + "åķĬ": 102856, + "ĠÑĤÑĢÑĥ": 102857, + "esini": 102858, + "Ġале": 102859, + "ãĥ³ãĥī": 102860, + "à¥ĥत": 102861, + "εÏħ": 102862, + "à¥ģà¤Ĩ": 102863, + "Ġhiç": 102864, + "çĶº": 102865, + "ĠÐĸ": 102866, + "çħ§": 102867, + "ká": 102868, + "Ġtrá»įng": 102869, + "Ġتش": 102870, + "ाश": 102871, + "ĠÙħØ«": 102872, + "etim": 102873, + "Ġthấy": 102874, + "Ġबह": 102875, + "عت": 102876, + "ึà¹ī": 102877, + "Ġsev": 102878, + "ÑģÑĤа": 102879, + "Ġcứ": 102880, + "Ġtiá»ģn": 102881, + "à¥Ģà¤ľ": 102882, + "Ñıг": 102883, + "ĠоÑĢгани": 102884, + "ĠбÑĭл": 102885, + "tür": 102886, + "ĠبازÛĮ": 102887, + "Ġìŀ¬": 102888, + "वर": 102889, + "æľīéĻIJåħ¬åı¸": 102890, + "kup": 102891, + "Ġiyi": 102892, + "íķĺê²Į": 102893, + "ãĢĢl": 102894, + "ãĤ·ãĥ§": 102895, + "ارة": 102896, + "สร": 102897, + "ĠtÃŃch": 102898, + "ĠкаÑĢ": 102899, + "иб": 102900, + "ĠвÑĸдповÑĸд": 102901, + "Ġpodle": 102902, + "à¥įरà¤ķ": 102903, + "iyon": 102904, + "коном": 102905, + "ĠμÎŃ": 102906, + "ĠпÑĢоиз": 102907, + "ĠâĢı": 102908, + "mektedir": 102909, + "ΩÎĿ": 102910, + "Ġbáo": 102911, + "à¸Īำ": 102912, + "ëįĶ": 102913, + "ë¸Į": 102914, + "Ġsợ": 102915, + "ÛĮرÛĮ": 102916, + "онÑĥ": 102917, + "ındaki": 102918, + "алÑĮного": 102919, + "μβ": 102920, + "лиз": 102921, + "Ġjejich": 102922, + "æĸ½": 102923, + "便": 102924, + "leÅŁtir": 102925, + "ĠÙĪØ£": 102926, + "Ġसब": 102927, + "lerde": 102928, + "ĠÚĨÙĩ": 102929, + "ÏĦÎŃ": 102930, + "Ġgì": 102931, + "ĠÃļ": 102932, + "ĠÑĢаÑģп": 102933, + "Ġtüm": 102934, + "à¹Ģà¸ĩ": 102935, + "èIJ½": 102936, + "ìĨ¡": 102937, + "à¹Ħà¸Ĺย": 102938, + "mÄ±ÅŁtır": 102939, + "ĠÙĤرار": 102940, + "Ġà¸Ħาส": 102941, + "Ġkıs": 102942, + "ованиÑı": 102943, + "ãĤĤãģ®": 102944, + "داÙħ": 102945, + "ìľ¡": 102946, + "oloj": 102947, + "ĠпоÑģле": 102948, + "ĠТак": 102949, + "Ġболее": 102950, + "ĠÄijá»ķi": 102951, + "lak": 102952, + "íħĮ": 102953, + "Ġayn": 102954, + "ÑıÑģ": 102955, + "Ġпог": 102956, + "Ġarasında": 102957, + "ά": 102958, + "à¥Ĥल": 102959, + "Ġανα": 102960, + "Ġquyết": 102961, + "Ġthuá»Ļc": 102962, + "Ġdün": 102963, + "ĠpÅĻes": 102964, + "ÑĦÑĸ": 102965, + "Ġå¸": 102966, + "اÙĦÙĬ": 102967, + "ĠповеÑĢ": 102968, + "Ñĩина": 102969, + "sko": 102970, + "çµIJ": 102971, + "Ø¡": 102972, + "ĠгÑĢа": 102973, + "оÑĤи": 102974, + "Ġquá»ijc": 102975, + "ÑĨÑĸв": 102976, + "lendir": 102977, + "вÑĸд": 102978, + "ĠжиÑĤ": 102979, + "üyor": 102980, + "ï¼Įä»ĸ": 102981, + "larında": 102982, + "Ġuyg": 102983, + "ĠtrÃŃ": 102984, + "ĠØ´ÙĨ": 102985, + "ابÙĦ": 102986, + "æ·±": 102987, + "Âłp": 102988, + "ÑģкаÑı": 102989, + "оÑĤа": 102990, + "ÙĪØ·": 102991, + "Ġاط": 102992, + "ä¾Ĩ": 102993, + "ĠзаÑĤ": 102994, + "Ġиме": 102995, + "à¹Ģà¸Ĺศ": 102996, + "ëĭ´": 102997, + "nÄĽnÃŃ": 102998, + "ÑĥлÑı": 102999, + "-п": 103000, + "åĺ": 103001, + "Ġвип": 103002, + "аÑĢакÑĤ": 103003, + "à¹Ģà¸ļ": 103004, + "ç¦ı": 103005, + "ÏģÏİ": 103006, + "سÙĩ": 103007, + "à¥Įर": 103008, + "ĠdiÄŁer": 103009, + "à¹Ĥà¸Ķย": 103010, + "ĠÑģпоÑģоб": 103011, + "åį·": 103012, + "èĸ": 103013, + "анÑĤ": 103014, + "ÑİÑĤÑĮÑģÑı": 103015, + "ĠÑįÑĤом": 103016, + "Ġï½Ģ": 103017, + "สาม": 103018, + "ìm": 103019, + "ĠÑĪк": 103020, + "Ġà¸Ľà¸£à¸°": 103021, + "़à¥Ģ": 103022, + "ekl": 103023, + "muÅŁ": 103024, + "ĠÑĤакож": 103025, + "ÙĪØ³Ø·": 103026, + "ĠÄįi": 103027, + "ีà¸Ļ": 103028, + "ÛĮÙĨÙĩ": 103029, + "ÄĽk": 103030, + "å½¼": 103031, + "lerine": 103032, + "ĠÄijất": 103033, + "à¥ģà¤ı": 103034, + "олоÑģ": 103035, + "Ġå°ı": 103036, + "زÙĬØ©": 103037, + "Ġвла": 103038, + "à¥Ģल": 103039, + "Ġetti": 103040, + "ĠÑģоÑģÑĤав": 103041, + "ÙĦاÙĦ": 103042, + "Ġçİ": 103043, + "ĠpÅĻÃŃpad": 103044, + "룰": 103045, + "ุà¸ģ": 103046, + "ĠÑĩи": 103047, + "åħį": 103048, + "nÄĽjÅ¡ÃŃ": 103049, + "ิล": 103050, + "åįĢ": 103051, + "ských": 103052, + "าศ": 103053, + "åIJĹ": 103054, + "ĠíĺĦ": 103055, + "Ġalın": 103056, + "å§Ķ": 103057, + "à¸ŀร": 103058, + "ažd": 103059, + "ĠбÑĸлÑĮ": 103060, + "à¹Īวà¸Ļ": 103061, + "oog": 103062, + "acı": 103063, + "lıģ": 103064, + "Ġkhu": 103065, + "Ġhizmet": 103066, + "ĠéĽ": 103067, + "ĠÎĺ": 103068, + "ĠdeÄŁer": 103069, + "åħŃ": 103070, + "ĠدÙĩ": 103071, + "ĠnÄĽk": 103072, + "à¸Ħà¸Ļ": 103073, + "еÑĤÑĮ": 103074, + "باÙĨ": 103075, + "ÏĦική": 103076, + "ĠÄijá»ĭa": 103077, + "ĠCông": 103078, + "íĮIJ": 103079, + "Ġкогда": 103080, + "ĠÚ©ÙĨد": 103081, + "ãģ§ãģį": 103082, + "ĠÏĢεÏģι": 103083, + "lardan": 103084, + "Ġзем": 103085, + "تÙĪØ§ÙĨ": 103086, + "è³ĩ": 103087, + "likle": 103088, + "Ġtụ": 103089, + "Ġdẫn": 103090, + "Ġnay": 103091, + "ĠÑģÑĤоÑĢ": 103092, + "ĠØ´Ùħا": 103093, + "ثر": 103094, + "Ġdedi": 103095, + "кое": 103096, + "ëijIJ": 103097, + "ÑĨев": 103098, + "جÙĩ": 103099, + "Ġmůže": 103100, + "à¥ģप": 103101, + "à¥įरम": 103102, + "ĠtaÅŁ": 103103, + "оÑĢÑĤ": 103104, + "γÏģα": 103105, + "çϼ": 103106, + "าà¸ļ": 103107, + "iá»ħn": 103108, + "ĠÙħست": 103109, + "лекÑģ": 103110, + "Ġprav": 103111, + "ĠдоÑģ": 103112, + "ĠdÄ±ÅŁ": 103113, + "Ġzem": 103114, + "Ġgiao": 103115, + "Ġvlast": 103116, + "ĠÑįÑĤого": 103117, + "ï½°": 103118, + "วà¸ĩ": 103119, + "ÑĢой": 103120, + "Ġbirlik": 103121, + "ený": 103122, + "Ġëĭ¨": 103123, + "овани": 103124, + "é£İ": 103125, + "íıī": 103126, + "Ġzah": 103127, + "ба": 103128, + "åĬ©": 103129, + "é̲": 103130, + "ê¶Į": 103131, + "Ġdiye": 103132, + "à¤Ĥà¤ķ": 103133, + "Ġchuyá»ĥn": 103134, + "ĠìĹŃ": 103135, + "ĠÑĤÑĢи": 103136, + "Ġönce": 103137, + "ï¼Įè¿Ļ": 103138, + "oại": 103139, + "леÑĤ": 103140, + "ĠÏĥÏħν": 103141, + "lád": 103142, + "çe": 103143, + "tü": 103144, + "ĠÄįást": 103145, + "Ġεν": 103146, + "Ġbiá»ĩt": 103147, + "Ġé«": 103148, + "à¥ĭà¤ķ": 103149, + "ÙĦات": 103150, + "باÙĦ": 103151, + "ecies": 103152, + "Ġëĭ¹": 103153, + "à¸Ĭà¸Ļ": 103154, + "ÏĦαÏĤ": 103155, + "à¥įण": 103156, + "ujÃŃcÃŃ": 103157, + "Äįet": 103158, + "Ġпоб": 103159, + "ÙĪØ§Ø±": 103160, + "iyas": 103161, + "Ġdruh": 103162, + "دد": 103163, + "ÏĮν": 103164, + "ÑĢен": 103165, + "ารà¸ĸ": 103166, + "ä½İ": 103167, + "ìķ½": 103168, + "ÑĢоз": 103169, + "ëĬĶëį°": 103170, + "ãĤĵãģª": 103171, + "ÄįenÃŃ": 103172, + "************": 103173, + "ĠΡ": 103174, + "ĠÑĤомÑĥ": 103175, + "รà¸ģ": 103176, + "à¥ģस": 103177, + "ä¹Ŀ": 103178, + "å°±æĺ¯": 103179, + "£i": 103180, + "éĺ²": 103181, + "Ùĥر": 103182, + "ĠÑįÑĤи": 103183, + "ĠÚ©Ø´ÙĪØ±": 103184, + "Ġê°IJ": 103185, + "Ġад": 103186, + "Ġداد": 103187, + "éģİ": 103188, + "Ù«": 103189, + "ĠláºŃp": 103190, + "ĠاÙĦÙĩ": 103191, + "æľĽ": 103192, + "ĠتÙĩ": 103193, + "ì§Ī": 103194, + "ãģ§ãģĤãĤĭ": 103195, + "Ġмеж": 103196, + "ĠÑĢезÑĥлÑĮÑĤ": 103197, + "çį": 103198, + "емÑĥ": 103199, + "ĠتÙĪØ§ÙĨ": 103200, + "ĠراÙĩ": 103201, + "ãĥ¼ãĥł": 103202, + "åĦ¿": 103203, + "å±ŀ": 103204, + "бÑĭ": 103205, + "á¿": 103206, + "à¸Ħล": 103207, + "à¥ĭà¤Ī": 103208, + "ütün": 103209, + "à¤Ĺर": 103210, + "ìķĺëĭ¤": 103211, + "âΧ": 103212, + "Ġì°¨": 103213, + "çµĦ": 103214, + "μαÏĦα": 103215, + "ุà¸Ļ": 103216, + "ĠÑĤом": 103217, + "еÑĢв": 103218, + "ÎijΣ": 103219, + "ĠiÅŁlem": 103220, + "عÙħ": 103221, + "ëĥ": 103222, + "ãĥĦ": 103223, + "اÙģØª": 103224, + "åĬŀ": 103225, + "Ġnes": 103226, + "avaÅŁ": 103227, + "ĠÙĨÛĮز": 103228, + "强": 103229, + "ĠéĻ": 103230, + "ÑĸннÑı": 103231, + "æ²³": 103232, + "áÅĻ": 103233, + "æĿIJ": 103234, + "ĠØ£ÙĬ": 103235, + "Ġì¹´": 103236, + "ĠnenÃŃ": 103237, + "ĠÙĪÙħ": 103238, + "ĠÚ©Ùħ": 103239, + "iếu": 103240, + "Ġæ°": 103241, + "åĮ»": 103242, + "Ġzor": 103243, + "ίÏĥ": 103244, + "िध": 103245, + "Ġпоказ": 103246, + "हर": 103247, + "Ġiçer": 103248, + "ØŃØ©": 103249, + "िà¤ĸ": 103250, + "ада": 103251, + "ترÛĮÙĨ": 103252, + "Ġbao": 103253, + "Ġxã": 103254, + "à¹Ģà¸Ħร": 103255, + "ĠnghÄ©": 103256, + "à¹ģà¸ļà¸ļ": 103257, + "ĠdoÄŁru": 103258, + "ÑĸÑĤи": 103259, + "ĠبÙĬÙĨ": 103260, + "ĠлеÑĤ": 103261, + "اغ": 103262, + "ÛĮÚ©ÛĮ": 103263, + "ráv": 103264, + "à¥įâĢį": 103265, + "âĢĻnin": 103266, + "Ġย": 103267, + "åįĬ": 103268, + "Ġколи": 103269, + "Ġtrợ": 103270, + "éĿĴ": 103271, + "ëŀĢ": 103272, + "Ġë¨": 103273, + "ĠÙĪØ±": 103274, + "ï¾Ĭ": 103275, + "è§Ĥ": 103276, + "Ġпи": 103277, + "нÑĥв": 103278, + "ilmesi": 103279, + "ستÙĩ": 103280, + "ĠдеÑĢжав": 103281, + "å®ĥ": 103282, + "åĪ¥": 103283, + "ëħĢ": 103284, + "лÑģÑı": 103285, + "à¤Ĥध": 103286, + "ĠÑĤи": 103287, + "ĠpÅĻip": 103288, + "пи": 103289, + "á»ĵn": 103290, + "оваÑĤÑĮ": 103291, + "ìĿ´ëĿ¼": 103292, + "æľĿ": 103293, + "ĠëĺIJ": 103294, + "ĠÎŃνα": 103295, + "ãģ¾ãģ§": 103296, + "جاÙħ": 103297, + "ĠëĬ": 103298, + "нÑĸв": 103299, + "ÏĢοÏħ": 103300, + "ĠزÙħاÙĨ": 103301, + "æĽ²": 103302, + "ĠÙħÙĩ": 103303, + "볨": 103304, + "ä¸ĥ": 103305, + "ãģ¨ãģĹãģ¦": 103306, + "labilir": 103307, + "оже": 103308, + "å¤ľ": 103309, + "ĠнÑĥжно": 103310, + "彩": 103311, + "çα": 103312, + "ĠhoÃłn": 103313, + "ünü": 103314, + "ĠëĦ¤": 103315, + "ĠجÙĨ": 103316, + "ĠnÄĽj": 103317, + "кими": 103318, + "Ġaynı": 103319, + "ĠÙĥÙĦ": 103320, + "Ġnhau": 103321, + "ẳ": 103322, + "ÙĬات": 103323, + "Ġmezi": 103324, + "ĠÑĢек": 103325, + "Ġtür": 103326, + "ĠговоÑĢ": 103327, + "Ġfazla": 103328, + "åĩĨ": 103329, + "ÑĪий": 103330, + "ÐŁÑĢи": 103331, + "ÑĢоÑģÑĤ": 103332, + "ĠоÑĢган": 103333, + "ným": 103334, + "ĠÑĢод": 103335, + "ĠÙĪÛĮ": 103336, + "ický": 103337, + "림": 103338, + "ï½²": 103339, + "æĢİ": 103340, + "ĠÙĩذا": 103341, + "ĠÑĩаÑģÑĤи": 103342, + "ÃŃr": 103343, + "á»ĩnh": 103344, + "ĠíĹ": 103345, + "ê»": 103346, + "luž": 103347, + "ÃŃl": 103348, + "cÃŃch": 103349, + "å®Ł": 103350, + "ãģłãģ£ãģŁ": 103351, + "ÙĬرة": 103352, + "ĠvÄĥn": 103353, + "港": 103354, + "ĠÏĦιÏĤ": 103355, + "ارت": 103356, + "Ġvấn": 103357, + "âĶģâĶģâĶģâĶģ": 103358, + "対": 103359, + "ÏģÎŃ": 103360, + "ĠгодÑĥ": 103361, + "Ġسب": 103362, + "ارات": 103363, + "елей": 103364, + "ĠзаÑħ": 103365, + "Ġваж": 103366, + "Ġtá»īnh": 103367, + "ابع": 103368, + "Ġà¤ľà¤¬": 103369, + "Ġà¤IJस": 103370, + "ĠдÑĥ": 103371, + "Ġé«ĺ": 103372, + "ê²ł": 103373, + "нее": 103374, + "ï½Į": 103375, + "Ġмал": 103376, + "è¾¹": 103377, + "ãģłãģij": 103378, + "à¹īร": 103379, + "ÙĤØ·": 103380, + "Ġbên": 103381, + "Ġseb": 103382, + "ĠØ®ÙĪØ§Ùĩ": 103383, + "siz": 103384, + "Ġolur": 103385, + "ĠëͰ": 103386, + "Ġì¢ĭ": 103387, + "ĠsvÄĽt": 103388, + "ická": 103389, + "ỹ": 103390, + "Ġquản": 103391, + "ĠиÑģ": 103392, + "ĠzaÄį": 103393, + "ืà¸Ńà¸Ļ": 103394, + "ÑĶÑİ": 103395, + "िष": 103396, + "çĬ¶": 103397, + "Ïĥμ": 103398, + "ัส": 103399, + "óc": 103400, + "ĠбеÑĢ": 103401, + "ĠíĿ": 103402, + ";:;:": 103403, + "Ġپس": 103404, + "ĠëijIJ": 103405, + "ниÑĩ": 103406, + "ĠоÑĩенÑĮ": 103407, + "ĠìķĦìĿ´ì½ĺ": 103408, + "Ġθα": 103409, + "ĠвÑģÑĤ": 103410, + "ادة": 103411, + "Ġdevam": 103412, + "ืà¸Ńà¸ĩ": 103413, + "ĠлÑİди": 103414, + "ìĺĪ": 103415, + "á»±a": 103416, + "ÑıÑħ": 103417, + "âĢĮاÛĮ": 103418, + "ĠسÙĪ": 103419, + "å°¼": 103420, + "Ġthứ": 103421, + "meye": 103422, + "Ġèµ": 103423, + "èī¯": 103424, + "ĠdeÄŁiÅŁ": 103425, + "ÑĪÑĸ": 103426, + "Ġtrợ": 103427, + "ĠâĢİ#": 103428, + "çĹħ": 103429, + "ìĽĮ": 103430, + "Ġkde": 103431, + "Χ": 103432, + "æ¤": 103433, + "ĠÑħаÑĢакÑĤ": 103434, + "æĩ": 103435, + "Ġbiến": 103436, + "ÙĤع": 103437, + "åŁŁ": 103438, + "Ġнеп": 103439, + "Ġdů": 103440, + "ĠпиÑĤ": 103441, + "ĠÑĤÑĢеб": 103442, + "ازÛĮ": 103443, + "Ġطر": 103444, + "ĠÙħÙĦ": 103445, + "Ġtham": 103446, + "ĠÙĪØ¬ÙĪØ¯": 103447, + "Ġsvé": 103448, + "é§ħ": 103449, + "اÛĮÙĨ": 103450, + "Ġtiên": 103451, + "stru": 103452, + "ĠváºŃy": 103453, + "üne": 103454, + "Ġà¹Ģม": 103455, + "Ġrằng": 103456, + "аÑĤÑĥ": 103457, + "äºij": 103458, + "ниÑĤ": 103459, + "ä¼Ĭ": 103460, + "ÙĪØµ": 103461, + "ĠéĿ": 103462, + "ĠпÑĢоблем": 103463, + "deki": 103464, + "**************": 103465, + "òa": 103466, + "ĠÄijá»ģu": 103467, + "ãĤĮãģŁ": 103468, + "ارس": 103469, + "ãģªãģı": 103470, + "اÙĤع": 103471, + "è»į": 103472, + "ÙĥÙħ": 103473, + "Äįas": 103474, + "Ġkỳ": 103475, + "Ø´Ùħ": 103476, + "à¥ĩड": 103477, + "éĺ¿": 103478, + "ĠjejÃŃ": 103479, + "ĠæĻ": 103480, + "ĠÄ°ÅŁ": 103481, + "ardım": 103482, + "Ġसमय": 103483, + "ĠÐĿо": 103484, + "ilerin": 103485, + "Ġعبد": 103486, + "nÃŃk": 103487, + "ĠØ´Ú©ÙĨ": 103488, + "ิà¸Ĺย": 103489, + "á»ħ": 103490, + "ÑĢез": 103491, + "Ġchứng": 103492, + "Ġ:.": 103493, + "Ġपत": 103494, + "Ġživot": 103495, + "å¢ĥ": 103496, + "«a": 103497, + "Ġtrung": 103498, + "никÑĸв": 103499, + "ĠاÙĦÙħÙĨ": 103500, + "ĠÑĢаÑģÑģ": 103501, + "Ġжив": 103502, + "Ġзакон": 103503, + "Ġ목": 103504, + "Ġzáv": 103505, + "Ġhakk": 103506, + "令": 103507, + "ĠÑıкий": 103508, + "ĠبÙĬ": 103509, + "λÎŃ": 103510, + "ocuk": 103511, + "ĠÑİ": 103512, + "à¸ģว": 103513, + "ĠاÙĨÚ¯": 103514, + "à¥ģà¤Ĥ": 103515, + "Ġnám": 103516, + "á»ķng": 103517, + "Ġжел": 103518, + "ĠÄijặc": 103519, + "Äįit": 103520, + "Ġê±´": 103521, + "ĠبÛĮØ´": 103522, + "кÑĢаÑĹн": 103523, + "ĠÙĪÙĩ": 103524, + "неннÑı": 103525, + "Ġà¹Ģà¸ŀ": 103526, + "омен": 103527, + "Ġlần": 103528, + "ĠعÙħÙĦ": 103529, + "Ġîģµ": 103530, + "Äŀ": 103531, + "ÑĸÑģлÑı": 103532, + "ưng": 103533, + "ाफ": 103534, + "à¸Ĺà¸ĺ": 103535, + "ден": 103536, + "ĠÑīоб": 103537, + "Ñĩив": 103538, + "ılır": 103539, + "اعات": 103540, + "jÃŃcÃŃ": 103541, + "벨": 103542, + "ÚĨÙĩ": 103543, + "ارج": 103544, + "ĠپرÙĪ": 103545, + "Ġодин": 103546, + "лин": 103547, + "бÑĥ": 103548, + "Ġसरà¤ķ": 103549, + "åĢĻ": 103550, + "ë¶ĢíĦ°": 103551, + "à¥Īà¤Ĥ,": 103552, + "å´": 103553, + "à¹Ĥล": 103554, + "ĠvÅ¡ak": 103555, + "ĠопÑĢед": 103556, + "ì±": 103557, + "æ½": 103558, + "Ġdá»±ng": 103559, + "práv": 103560, + "ิส": 103561, + "Ġnhiá»ĩm": 103562, + "ĠiliÅŁ": 103563, + "ĠеÑīе": 103564, + "ĠjeÅ¡tÄĽ": 103565, + "ĠÑĢаÑģÑĤ": 103566, + "ฮ": 103567, + "à¤Ĥà¤Ł": 103568, + "âĢĮÚ©": 103569, + "ĠبÛĮÙĨ": 103570, + "ovou": 103571, + "æĻ®": 103572, + "ίεÏĤ": 103573, + "оÑĢоÑĪ": 103574, + "Ġolmak": 103575, + "Ġstát": 103576, + "diÄŁi": 103577, + "Ġtình": 103578, + "ĠdÄĽ": 103579, + "ĠگرÙģ": 103580, + "Ïĥο": 103581, + "ĠÑĥÑĤ": 103582, + "íķĻêµIJ": 103583, + "ัà¸IJ": 103584, + "าà¸Ń": 103585, + "ĠÄijặt": 103586, + "ĠмогÑĥÑĤ": 103587, + "ë°°": 103588, + "tik": 103589, + "ª½": 103590, + "liÄŁ": 103591, + "ÏĢε": 103592, + "ĠèĢ": 103593, + "kü": 103594, + "adece": 103595, + "κÏĮ": 103596, + "ĠдÑĸ": 103597, + "ầm": 103598, + "çĦ¡ãģĹ": 103599, + "Û²Û°Û±": 103600, + "èµĽ": 103601, + "оÑģÑĥд": 103602, + "ĠìķĪëĤ´": 103603, + "ĠÐĶж": 103604, + "座": 103605, + "ických": 103606, + "Ġìłģ": 103607, + "à¥ĩ,": 103608, + "ového": 103609, + "Ġvẫn": 103610, + "Ġbirlikte": 103611, + "Ġरà¤ĸ": 103612, + "ĠÙĨÙĩ": 103613, + "ÙĤر": 103614, + "पर": 103615, + "etÃŃ": 103616, + "ĠÑĤÑĭ": 103617, + "ĢìĿ´": 103618, + "Ġà¤ħल": 103619, + "Ġможе": 103620, + "ãĤ´": 103621, + "Ġstran": 103622, + "طر": 103623, + "è¿Ļ个": 103624, + "Ġبع": 103625, + "åĨĽ": 103626, + "ektir": 103627, + "ĠhÆ°á»Ľng": 103628, + "ÙĨاÙĨ": 103629, + "Ġà¤ij": 103630, + "ÏĮÏĦη": 103631, + "оÑģк": 103632, + "åįĥ": 103633, + "asına": 103634, + "ĠØ´Ùĩ": 103635, + "ĠдеÑĢ": 103636, + "ĠÙħخت": 103637, + "ĠØŃÙĤ": 103638, + "ãĥ¾": 103639, + "ساÙĨ": 103640, + "Ġcung": 103641, + "коÑĢиÑģÑĤ": 103642, + "ÏĦικά": 103643, + "Ġвона": 103644, + "با": 103645, + "ãģķãĤĮãģŁ": 103646, + "nout": 103647, + "Ġı": 103648, + "è§ī": 103649, + "ĠÃ¶ÄŁren": 103650, + "Ġì½Ķ": 103651, + "带": 103652, + "Ñģлов": 103653, + "ĠεÏĢι": 103654, + "ê°IJ": 103655, + "ĠÙħرب": 103656, + "ĠÙģÛĮÙĦÙħ": 103657, + "ĠкÑĢов": 103658, + "Ġëį°": 103659, + "ाण": 103660, + "Ġelekt": 103661, + "ĠнаÑĢод": 103662, + "ÛĮدÙĩ": 103663, + "ç´Ħ": 103664, + "ĠпÑĢоÑĦ": 103665, + "ÏģοÏĤ": 103666, + "Ġãħ": 103667, + "ä¸įæĺ¯": 103668, + "Ġà¤ľà¤¨": 103669, + "ัล": 103670, + "ĠصÙĪØ±Øª": 103671, + "ãĥľ": 103672, + "Ġà¤Ĺà¤Ī": 103673, + "ÄŁitim": 103674, + "ÑģÑĮкиÑħ": 103675, + "Ġлег": 103676, + "ĠتÙĪÙĦ": 103677, + "Ġìļ´": 103678, + "عر": 103679, + "ĠmÃłu": 103680, + "гов": 103681, + "æ³¢": 103682, + "indeki": 103683, + "ìłģìĿ¸": 103684, + "ấm": 103685, + "ĠíĻķ": 103686, + "ĠباÛĮد": 103687, + "à¹Įà¸Ĺ": 103688, + "Ġkendi": 103689, + "ีว": 103690, + "ิà¸ģาร": 103691, + "ĠکردÙĩ": 103692, + "å·´": 103693, + "à¤ģ": 103694, + "ราà¸Ĭ": 103695, + "à¥įश": 103696, + "ĠÐĶлÑı": 103697, + "å¥ĩ": 103698, + "ĠÑĥÑģÑĤанов": 103699, + "йÑĤе": 103700, + "ãĤĩ": 103701, + "άÏģ": 103702, + "ĠЮ": 103703, + "ĠluáºŃt": 103704, + "ãĢī": 103705, + "è´¨": 103706, + "دا": 103707, + "Ġdüzen": 103708, + "สà¸Ļ": 103709, + "ÑĢон": 103710, + "dıģı": 103711, + "âĢĻda": 103712, + "Ġfarklı": 103713, + "Ñħов": 103714, + "lán": 103715, + "ÑĩаÑģ": 103716, + "Ñĩин": 103717, + "Ġì°¸": 103718, + "ì´Ī": 103719, + "ÑĨип": 103720, + "ç¹": 103721, + "éĸĢ": 103722, + "жа": 103723, + "ÑĢован": 103724, + "à¸ĵะ": 103725, + "ÙĦÙĬزÙĬØ©": 103726, + "Ïĩει": 103727, + "à¥Ī.": 103728, + "кÑģп": 103729, + "اÙĪØ±": 103730, + "Ġnguyên": 103731, + "ãģ«ãĤĪ": 103732, + "à¥ĩम": 103733, + "ÏĥÏĦε": 103734, + "تÙĪ": 103735, + "Äįek": 103736, + "ÑĨÑĭ": 103737, + "Ġ물": 103738, + "ÑįÑĤ": 103739, + "Ġkazan": 103740, + "Ù쨳": 103741, + "ehir": 103742, + "вÑĸÑĤ": 103743, + "ĠدÙĪÙĦ": 103744, + "Ġëĵľ": 103745, + "Ġà¤ļल": 103746, + "еÑģÑĤва": 103747, + "δα": 103748, + "ĠбÑĥв": 103749, + "ĠÐĿе": 103750, + "ØŃر": 103751, + "огÑĢаÑĦ": 103752, + "Ġrozhod": 103753, + "ĠвикоÑĢиÑģÑĤ": 103754, + "Ġyêu": 103755, + "λοÏĤ": 103756, + "کس": 103757, + "Ġشب": 103758, + "ิษ": 103759, + "æ¯į": 103760, + "ĠдоÑĢ": 103761, + "Ġnghá»ĩ": 103762, + "Ġtrang": 103763, + "à¥ĩद": 103764, + "Ġtìm": 103765, + "Ñĩно": 103766, + "ĠاÙħا": 103767, + "éģĭ": 103768, + "کر": 103769, + "ké": 103770, + "ĠvÄĽt": 103771, + "ĠнаÑģÑĤ": 103772, + "Ġæ±": 103773, + "ĠåĽ½": 103774, + "Ġgiảm": 103775, + "ادÙĬ": 103776, + "ëĤľ": 103777, + "ë¡ł": 103778, + "Ġ、": 103779, + "ĠденÑĮ": 103780, + "ÑĨÑĸÑİ": 103781, + "Ġhạn": 103782, + "ẳng": 103783, + "λή": 103784, + "eyen": 103785, + "ä¸Ķ": 103786, + "æŃ¦": 103787, + "ĠÑĦак": 103788, + "à¹Īà¸Ńà¸Ļ": 103789, + "Ġοι": 103790, + "زÙħ": 103791, + "ãģĹãģ¦ãģĦãĤĭ": 103792, + "лива": 103793, + "âĢķâĢķ": 103794, + "Ġöl": 103795, + "Ġà¤ĵ": 103796, + "ÑģÑĤÑĸ": 103797, + "à¸ģรรม": 103798, + "Ġtục": 103799, + "Ġgörün": 103800, + "ãģĹãģ¾": 103801, + "Ġì¦": 103802, + "馬": 103803, + "Ġможна": 103804, + "ĠÚ©ÙĦ": 103805, + "ĠÑĨенÑĤ": 103806, + "ĠìϏ": 103807, + "Îĺ": 103808, + "çĩ": 103809, + "Ġgelen": 103810, + "ĠاÙĬÙĨ": 103811, + "Ġآب": 103812, + "Ġà¤Ĩय": 103813, + "ัà¸ģษ": 103814, + "Ñģим": 103815, + "ĠболÑĮÑĪ": 103816, + "Ġмн": 103817, + "оди": 103818, + "Ġİl": 103819, + "Ġà¤Ĩर": 103820, + "еÑĤе": 103821, + "ÑĨиÑİ": 103822, + "áºŃu": 103823, + "Ġtiếng": 103824, + "ë¶ģ": 103825, + "æ§ĺ": 103826, + "ĠнаÑĪ": 103827, + "มา": 103828, + "âĢĻın": 103829, + "ãĥĥãĥĹ": 103830, + "ÙĪØ¬Ùĩ": 103831, + "ĠØŃد": 103832, + "ává": 103833, + "رÙĪØ´": 103834, + "ĠдейÑģÑĤв": 103835, + "ãģ£ãģ¦ãģĦãĤĭ": 103836, + "Ïģή": 103837, + "Ġüst": 103838, + "Ġtiết": 103839, + "acaÄŁ": 103840, + "ĠÐŁÐ¾": 103841, + "éĬ": 103842, + "머": 103843, + "chod": 103844, + "ĠØ¢ÙħÙĪØ²": 103845, + "ãģŁãĤģ": 103846, + "Ġchuyên": 103847, + "Ġuygu": 103848, + "нÑĸÑģÑĤ": 103849, + "ë´": 103850, + "æİ§": 103851, + "ÑĥÑİÑĤÑĮ": 103852, + "Äįi": 103853, + "ãģ¹": 103854, + "à¥Ĥन": 103855, + "æĹ©": 103856, + "ãĥĩãĤ£": 103857, + "èĴ": 103858, + "Ġشخص": 103859, + "ĠÑħоÑĤ": 103860, + "ĠÚ©ÙĨÛĮد": 103861, + "гл": 103862, + "à¸Ńà¸Ńà¸ģ": 103863, + "éĢĻ": 103864, + "ĠزÛĮر": 103865, + "íķŃ": 103866, + "ĠÃĸz": 103867, + "åij³": 103868, + "ØŃدة": 103869, + "Ġkažd": 103870, + "ĠÑĨвеÑĤ": 103871, + "Ġç¾": 103872, + "Ġкож": 103873, + "ĠÐŃÑĤо": 103874, + "ÑıÑĤелÑĮ": 103875, + "лаÑģÑĮ": 103876, + "âĢĮØ´ÙĪØ¯": 103877, + "μι": 103878, + "Ġæ²": 103879, + "Ġsüre": 103880, + "ละ": 103881, + "éħĴ": 103882, + "ึà¸ģษ": 103883, + "λλά": 103884, + "çij": 103885, + "ĠìĥĪ": 103886, + "Ġसह": 103887, + "ĠHÃł": 103888, + "ë¦¬ê³ł": 103889, + "صر": 103890, + "ĠæĬķ": 103891, + "éłŃ": 103892, + "Ġbá»ĩnh": 103893, + "ĠìĥĿê°ģ": 103894, + "Ġà¤ħà¤Ń": 103895, + "ê³µì§Ģ": 103896, + "ìĶ": 103897, + "á»Ŀi": 103898, + "çŃĶ": 103899, + "ĠbÃłi": 103900, + "одÑĸ": 103901, + "าà¸Ĥ": 103902, + "ников": 103903, + "Ġdönem": 103904, + "วม": 103905, + "ãĥĨãĤ£": 103906, + "ारण": 103907, + "оги": 103908, + "Ġkiá»ĥm": 103909, + "оÑĦ": 103910, + "äºĪ": 103911, + "åĨ³": 103912, + "اÙĦات": 103913, + "Ġnếu": 103914, + "Ġcest": 103915, + "زش": 103916, + "ÙİÙĦ": 103917, + "Ġتأ": 103918, + "ĠÄijạo": 103919, + "Ïįν": 103920, + "ĠвнÑĥ": 103921, + "ĠجاÙħ": 103922, + "ivnÃŃ": 103923, + "ĠìŀĪìĬµëĭĪëĭ¤": 103924, + "ÏĬ": 103925, + "æĦĽ": 103926, + "ãĥĽ": 103927, + "мÑĸн": 103928, + "ĠtÃŃm": 103929, + "ằm": 103930, + "ê·ł": 103931, + "äºķ": 103932, + "Ġxây": 103933, + "ĠìĽĶ": 103934, + "елен": 103935, + "Ġà¹Ĥà¸Ķย": 103936, + "اÙĦÙĩ": 103937, + "Ġbất": 103938, + "á»ĵm": 103939, + "âĢĮÚ¯": 103940, + "ÙĪØ±Ø©": 103941, + "بات": 103942, + "Ġbán": 103943, + "ẫu": 103944, + "اÙĨÙĪÙĨ": 103945, + "Ġzákon": 103946, + "áž": 103947, + "ì¶Ķ": 103948, + "à¹ģà¸ģ": 103949, + "ãĤįãģĨ": 103950, + "ÑĢоÑĤ": 103951, + "çĵ": 103952, + "Ġвони": 103953, + "Ġxác": 103954, + "ĠدÛĮگر": 103955, + "ÏĢοι": 103956, + "ĠнеÑģк": 103957, + "رسÛĮ": 103958, + "ĠëĿ¼": 103959, + "تÙĦ": 103960, + "λά": 103961, + "ĠÑıвлÑıеÑĤÑģÑı": 103962, + "ä¾Ŀ": 103963, + "Ġåħ¬": 103964, + "Ĺi": 103965, + "ĠíĬ¹": 103966, + "ÙĥÙĪÙĨ": 103967, + "ắp": 103968, + "جÙħÙĪØ¹": 103969, + "ÏĨοÏģ": 103970, + "ело": 103971, + "Ġgüven": 103972, + "Ġмай": 103973, + "ĠÑģоз": 103974, + "à¸ģระ": 103975, + "ĠاسÙĦاÙħ": 103976, + "ĠÑīе": 103977, + "Ġsá»ijng": 103978, + "à¥įब": 103979, + "کار": 103980, + "ĠthuáºŃt": 103981, + "ĠnÃŃ": 103982, + "第ä¸Ģ": 103983, + "è¦ĸ": 103984, + "à¹Ģà¸ģม": 103985, + "اÙĬØ©": 103986, + "ĠÎĪ": 103987, + "ãĤ¶": 103988, + "ĠÙħÙĪÙĤع": 103989, + "ĠåĴ": 103990, + "è¡ĵ": 103991, + "ĠÐŀд": 103992, + "Ġä¸ī": 103993, + "lerinde": 103994, + "ĠÑģвоÑĹ": 103995, + "à¥Ģà¤ı": 103996, + "Ġthương": 103997, + "ÏĥÏĦο": 103998, + "ĠغÙĬر": 103999, + "Ġپر": 104000, + "ĠÑģебе": 104001, + "Ġвк": 104002, + "Ġkhai": 104003, + "ãĤĢ": 104004, + "ĠÙĨظر": 104005, + "ĠдокÑĥм": 104006, + "à¹ĩà¸ļ": 104007, + "ĠíķľêµŃ": 104008, + "ï½ī": 104009, + "å·¥ç¨ĭ": 104010, + "ĠÙĪÙĦ": 104011, + "ØŃÙĬ": 104012, + "Ġпла": 104013, + "Ġİstanbul": 104014, + "âĢĻde": 104015, + "алÑģÑı": 104016, + "ĠØ¢ÙĨÙĩا": 104017, + "ĠاÙĩ": 104018, + "Ġê´Ģ리": 104019, + "Ġanh": 104020, + "Å¡ÃŃm": 104021, + "larla": 104022, + "ï¼Ŀ": 104023, + "nostÃŃ": 104024, + "ÑģÑĤве": 104025, + "ÛĮÙģ": 104026, + "Ġگرد": 104027, + "ãĤĮãĤĭ": 104028, + "Ġvá»±": 104029, + "ÄĽnÃŃ": 104030, + "Ġgörev": 104031, + "Ġyılında": 104032, + "Ġlợi": 104033, + "Ġanlam": 104034, + "ĠпÑĢовод": 104035, + "ÑĨÑİ": 104036, + "Ġåī": 104037, + "Ġë§İ": 104038, + "ÑĢаÑģ": 104039, + "ĠŽ": 104040, + "کاÙĨ": 104041, + "ÐĻ": 104042, + "ãģ£ãģ¨": 104043, + "Ú©ÙĦ": 104044, + "ายà¸Ļ": 104045, + "عاÙĦ": 104046, + "Ġký": 104047, + "ĠмаÑĤеÑĢи": 104048, + "ê»ĺ": 104049, + "ılması": 104050, + "μÎŃν": 104051, + "ĠÙĨÙħÛĮ": 104052, + "Ġcuá»Ļc": 104053, + "Ġδεν": 104054, + "å¹²": 104055, + "____": 104056, + "à¥Ģà¤Ł": 104057, + "Ġçıkar": 104058, + "ĠkonuÅŁ": 104059, + "иÑĤелÑĮно": 104060, + "lantı": 104061, + "à¹Ħล": 104062, + "å¾ĭ": 104063, + "Ġíͼ": 104064, + "ìϏ": 104065, + "Ġsáng": 104066, + "éģĶ": 104067, + "ожд": 104068, + "Ġآخر": 104069, + "ilece": 104070, + "à¥Īन": 104071, + "Ġjedn": 104072, + "ĠÑģпеÑĨи": 104073, + "´Ŀ": 104074, + "ĠÚĺ": 104075, + "ĠãĢĤĊ": 104076, + "èģĮ": 104077, + "ĠÙĨÛĮ": 104078, + "ÑĤоÑĢа": 104079, + "λι": 104080, + "ĠÙĪØ¨": 104081, + "iÅŁim": 104082, + "ç»´": 104083, + "ãĢĢi": 104084, + "Ġmua": 104085, + "Ġjiž": 104086, + "è¶Ĭ": 104087, + "ãĤĴè¦ĭ": 104088, + "Ġná»Ļi": 104089, + "à¥įà¤Ĺ": 104090, + "種": 104091, + "ĠãĢĢãĢĢãĢĢ": 104092, + "à¹ĥหม": 104093, + "ĠÎĨ": 104094, + "ÙĨدÛĮ": 104095, + "ĠÑģÑĩ": 104096, + "Ġlá»ĩ": 104097, + "lub": 104098, + "еÑĢÑĤ": 104099, + "ĠاطÙĦ": 104100, + "ĠÑģеÑĢед": 104101, + "Ġéģ": 104102, + "Ġзал": 104103, + "ÙĨÛĮÙĨ": 104104, + "çŁ¥éģĵ": 104105, + "Ø¢ÙĨ": 104106, + "Ġкап": 104107, + "Ġà¹Ħม": 104108, + "ůvod": 104109, + "ĠپاÛĮ": 104110, + "ÑĤÑĢи": 104111, + "Ġiht": 104112, + "à¹Ĭ": 104113, + "ĠвÑģÑĸ": 104114, + "Ġthay": 104115, + "åĨµ": 104116, + "ĠعÙĨÙĪØ§ÙĨ": 104117, + "ĠÎ¥": 104118, + "à¸Ŀ": 104119, + "εÏĦαι": 104120, + "iyordu": 104121, + "ï¼ĮèĢĮ": 104122, + "çļĦ人": 104123, + "Ġसà¤Ń": 104124, + "à¹īà¸Ńย": 104125, + "ικο": 104126, + "ãĤĵãģ§": 104127, + "족": 104128, + "ÙĨجÙĦÙĬزÙĬØ©": 104129, + "Ġžád": 104130, + "ÑĢави": 104131, + "γγ": 104132, + "æµĭ": 104133, + "оÑĨÑĸ": 104134, + "ãĢĢãĢĢĠãĢĢ": 104135, + "Ġतरह": 104136, + "ĠëĨ": 104137, + "à¥Ģà¤ļ": 104138, + "à¹Īม": 104139, + "Ġgá»ĵm": 104140, + "Ġkiá»ĩn": 104141, + "è·Ł": 104142, + "Φ": 104143, + "esinin": 104144, + "é¥": 104145, + "é«Ķ": 104146, + "оÑĩно": 104147, + "रण": 104148, + "æĺ¥": 104149, + "ç¶ĵ": 104150, + "Ġبار": 104151, + "ê·¼": 104152, + "éĻħ": 104153, + "ĠسÙĬ": 104154, + "ÑģÑĥÑĤ": 104155, + "ìµľ": 104156, + "å±ħ": 104157, + "ĠÄįesk": 104158, + "ÎijÎĿ": 104159, + "Ġdiá»ĩn": 104160, + "Ġεί": 104161, + "à¸ĩà¸Ĺ": 104162, + "ãĤ©": 104163, + "Ġvá»±c": 104164, + "вав": 104165, + "tıģı": 104166, + "Ġëªħ": 104167, + "ην": 104168, + "виÑĤ": 104169, + "ĠØ£Ùĥ": 104170, + "ĠпÑĢоп": 104171, + "rak": 104172, + "ÑĢаÑĤи": 104173, + "ĠÄijánh": 104174, + "ÑĢеп": 104175, + "ê´ij": 104176, + "еÑĨÑĮ": 104177, + "Ġबत": 104178, + "ĠåĮĹ": 104179, + "Ġsát": 104180, + "ledi": 104181, + "ìłģìľ¼ë¡ľ": 104182, + "ůj": 104183, + "Û°Û°": 104184, + "Ġnasıl": 104185, + "ĠÙĪØ³": 104186, + "Ġεξ": 104187, + "вÑĭ": 104188, + "ç½Ĺ": 104189, + "ارÛĮØ®": 104190, + "à¸Ľà¸¥": 104191, + "ίκ": 104192, + "Ġê¸Ī": 104193, + "åĩł": 104194, + "å¼·": 104195, + "è¿Ķ": 104196, + "Ġnhá»ı": 104197, + "å¾Ģ": 104198, + "Ġдаже": 104199, + "Ġçev": 104200, + "кÑĸ": 104201, + "ĠØ£Ùħ": 104202, + "ีส": 104203, + "สามารà¸ĸ": 104204, + "ĠÐĦ": 104205, + "ÑħодиÑĤ": 104206, + "ëĸ": 104207, + "Ġtruyá»ģn": 104208, + "ĠÑģÑĤан": 104209, + "ëĵ¤ìĿĢ": 104210, + "اÙĦت": 104211, + "़à¥ĩ": 104212, + "Ġà¤ħब": 104213, + "æķ¸": 104214, + "ĠдÑĸÑı": 104215, + "ĠÙħتر": 104216, + "Ġë¸": 104217, + "ï¾į": 104218, + "Ġê³¼": 104219, + "ĠزÛĮ": 104220, + "ëŁ¼": 104221, + "ĠÐŁÐµÑĢ": 104222, + "Ġsık": 104223, + "ноÑģÑĤÑĮÑİ": 104224, + "Ġeden": 104225, + "ادر": 104226, + "ãĦ": 104227, + "ĠлеÑĩ": 104228, + "ĠÙĩذÙĩ": 104229, + "ضÙĪØ¹": 104230, + "ĠìķĦëĭĪ": 104231, + "irket": 104232, + "Ġاگر": 104233, + "ĠÑħоÑĩ": 104234, + "Ġбан": 104235, + "íĶĮ": 104236, + "æĢİä¹Ī": 104237, + "èĽ": 104238, + "Ġबà¤ļ": 104239, + "Ġکتاب": 104240, + "çīĮ": 104241, + "Ġдва": 104242, + "جر": 104243, + "ĠпÑĢоÑģÑĤо": 104244, + "Ġà¤Ĩव": 104245, + "Ġmức": 104246, + "į¼": 104247, + "ĠjÃŃ": 104248, + "íİĺ": 104249, + "Ġtamam": 104250, + "åĪĽ": 104251, + "à¸Ĵ": 104252, + "пеÑĩ": 104253, + "à¥ĭस": 104254, + "ĠÑģем": 104255, + "Ġtương": 104256, + "ä¸ģ": 104257, + "ī´": 104258, + "ĠÑĢоÑģ": 104259, + "ĠмаÑĶ": 104260, + "æŃĮ": 104261, + "ĠداÙĨÙĦÙĪØ¯": 104262, + "ĠLoÃłi": 104263, + "Ġedilm": 104264, + "Ġkonu": 104265, + "ĠاÙĦÙħر": 104266, + "ĠulaÅŁ": 104267, + "Ġyüksek": 104268, + "οι": 104269, + "ÙİÙĨ": 104270, + "ĠbÄĽ": 104271, + "ãĤ·ãĥ§ãĥ³": 104272, + " ̄ ̄ ̄ ̄": 104273, + "Ġgüç": 104274, + "ĠاÙĪÙĦ": 104275, + "Ġма": 104276, + "Ġبخش": 104277, + "ाà¤ĸ": 104278, + "ĠвиÑģ": 104279, + "ženÃŃ": 104280, + "Ġzpůsob": 104281, + "znam": 104282, + "ĠرÙĪÛĮ": 104283, + "åĭĿ": 104284, + "।Ċ": 104285, + "ÙĦÙĤ": 104286, + "Ġжиз": 104287, + "ÑĢÑĸв": 104288, + "ĠÑĥпÑĢав": 104289, + "Ġphá»ij": 104290, + "icros": 104291, + "Ġà¹ģà¸ķ": 104292, + "Ġë°ķ": 104293, + "ÙĪØ§Øª": 104294, + "ï¼Įä¸Ģ": 104295, + "анÑģ": 104296, + "ç´ļ": 104297, + "ยà¸Ļ": 104298, + "à¹ģà¸Ĥ": 104299, + "Ġgiáo": 104300, + "äºĮäºĮ": 104301, + "Ġİs": 104302, + "ìĬ¹": 104303, + "Ġolacak": 104304, + "ĠCác": 104305, + "ĠÑĢÑĥб": 104306, + "ẹp": 104307, + "ÄŁiniz": 104308, + "ãģªãģ©": 104309, + "ĠмоÑĢ": 104310, + "ĠÑģдел": 104311, + "ÙĦÙħاÙĨ": 104312, + "ném": 104313, + "å°į": 104314, + "Ġdne": 104315, + "ì¶ľìŀ¥": 104316, + "عب": 104317, + ":::::::": 104318, + "ÎĴ": 104319, + "eket": 104320, + "ĠÑĢеÑĪ": 104321, + "èά": 104322, + "ĠíĻĶ": 104323, + "صد": 104324, + "ĠмаÑĢ": 104325, + "Ñıж": 104326, + "شار": 104327, + "ãģ²": 104328, + "ĠاÙĦÙĬ": 104329, + "Ùį": 104330, + "à¤Ĥà¤ľ": 104331, + "мÑĭ": 104332, + "Ġkarar": 104333, + "ÙĦÛĮسÛĮ": 104334, + "าà¸ĵ": 104335, + "群": 104336, + "Ġolması": 104337, + "Ġhazır": 104338, + "γÏģαÏĨ": 104339, + "¯u": 104340, + "вол": 104341, + "ĠÑģÑĤаÑĢ": 104342, + "ovala": 104343, + "Ġвозмож": 104344, + "Ġдав": 104345, + "風": 104346, + "را": 104347, + "Ġдопом": 104348, + "ê²ĥ": 104349, + "Ġìĺ¬": 104350, + "Ġåİ": 104351, + "Ġ못": 104352, + "uç": 104353, + "íļ": 104354, + "lük": 104355, + "ä¸Ńå¿ĥ": 104356, + "Ġदर": 104357, + "ĠâĹĨ": 104358, + "Ġtay": 104359, + "ĠبسÛĮ": 104360, + "ĠÏĥÏĦα": 104361, + "ĠÙħØ®": 104362, + "ÑıÑī": 104363, + "å·®": 104364, + "à¸ī": 104365, + "ëł¹": 104366, + "à¹ĥà¸Ļà¸ģาร": 104367, + "ĠÙĩÙĨ": 104368, + "ãģ¶": 104369, + "лÑĸд": 104370, + "åį°": 104371, + "Ġsao": 104372, + "ÅĻad": 104373, + "리ëĬĶ": 104374, + "Ñģлед": 104375, + "åĶ®": 104376, + "Ġ|:": 104377, + "æķĻèĤ²": 104378, + "Ġмол": 104379, + "ĠÙĩÙĬ": 104380, + "ëģ": 104381, + "ĠкÑĥлÑĮ": 104382, + "'nin": 104383, + "Ġخر": 104384, + "Ġgenel": 104385, + "Ġtá»Ń": 104386, + "Ġkurul": 104387, + "енÑĤи": 104388, + "à¥ĭà¤ľà¤¨": 104389, + "è¿Ļæł·": 104390, + "ĠмÑĸж": 104391, + "Ġnghiá»ĩm": 104392, + "ĠÏĢολ": 104393, + "æĭĽ": 104394, + "Ġà¤Ĺà¤ı": 104395, + "ầy": 104396, + "Ġcảm": 104397, + "ç´°": 104398, + "rıca": 104399, + "ĠعÙĦÛĮ": 104400, + "ิà¹ī": 104401, + "hur": 104402, + "Ġchưa": 104403, + "ÑĥÑĶÑĤÑĮÑģÑı": 104404, + "ãģ©ãģĨ": 104405, + "Ñĥл": 104406, + "ิร": 104407, + "Ġæľī": 104408, + "ä¼¼": 104409, + "ÑĦеÑĢ": 104410, + "ÑįÑĤомÑĥ": 104411, + "æĹħ": 104412, + "ĠÙħÙĪØ¬": 104413, + "Ġ본": 104414, + "Ġgiá»Ŀ": 104415, + "Ġkiến": 104416, + "à¹Īวย": 104417, + "Ġdüny": 104418, + "ĠزÙħ": 104419, + "овÑĸ": 104420, + "ĠÑĨÑĮого": 104421, + "ิà¸ļ": 104422, + "ĠìĨIJ": 104423, + "èIJ¥": 104424, + "ĠÑĢÑĸз": 104425, + "Ġhá»Ĺ": 104426, + "ÑĢÑĸб": 104427, + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 104428, + "ìľ¼ë©°": 104429, + "äºĨä¸Ģ": 104430, + "ĠÙĤبÙĦ": 104431, + "é¾Ļ": 104432, + "Ġگذ": 104433, + "ĠÙĤد": 104434, + "ãģªãģĭãģ£ãģŁ": 104435, + "Ġà¹Ģร": 104436, + "å¸Į": 104437, + "ĠÑģÑħ": 104438, + "ĠгÑĢом": 104439, + "åĽ¢": 104440, + "Ġì§ij": 104441, + "ĠлÑĥÑĩ": 104442, + "åħµ": 104443, + "ĠÐŀÑĤ": 104444, + "Ġmuá»ijn": 104445, + "ãģĺãĤĥ": 104446, + "ovnÃŃ": 104447, + "ë©´ìĦľ": 104448, + "ë³Ģ": 104449, + "Ġнеб": 104450, + "Ñģии": 104451, + "ÙĨÙħ": 104452, + "ÄŁin": 104453, + "Ġtoho": 104454, + "eniz": 104455, + "باش": 104456, + "ĠÑģлÑĥж": 104457, + "Ġbợi": 104458, + "Ġüzere": 104459, + "Ġsadece": 104460, + "ĠÏĢαÏģ": 104461, + "³³³³³³³³³³³³³³³³": 104462, + "èĮĥ": 104463, + "ÏĦικÏĮ": 104464, + "ĠäºĮ": 104465, + "ãĤĪãģĨãģ«": 104466, + "èŀ": 104467, + "ãģ®ãģ¯": 104468, + "ĠÑĥкÑĢаÑĹн": 104469, + "Ġbắt": 104470, + "ван": 104471, + "ĠÑģÑĤÑĢа": 104472, + "è¡Ģ": 104473, + "nutÃŃ": 104474, + "okt": 104475, + "รà¸ĩà¹Ģร": 104476, + "ĠصÙģ": 104477, + "åħļ": 104478, + "ÏĦί": 104479, + "ï¼ģãĢįĊĊ": 104480, + "ĠÑĤемп": 104481, + "é¡Į": 104482, + "Ġsluž": 104483, + "Ñĥков": 104484, + "ĠnghÄ©a": 104485, + "çͲ": 104486, + "Ġdá»ħ": 104487, + "ови": 104488, + "ÏĦÏħ": 104489, + "رÛĮÚ©": 104490, + "ĠAnh": 104491, + "ĠвÑģего": 104492, + "âĢĮÚ©ÙĨ": 104493, + "teÅĻÃŃ": 104494, + "Ġmục": 104495, + "ÙĩÙĨÚ¯": 104496, + "ĠÐŁÐ¾Ñģ": 104497, + "ÚĺÙĩ": 104498, + "ĠاÙĦغ": 104499, + "æĿ¾": 104500, + "ysl": 104501, + "Ġyapılan": 104502, + "çζ": 104503, + "Ġmạnh": 104504, + "راÙĩ": 104505, + "à¸Ķà¸ĩ": 104506, + "oÄį": 104507, + "ë§IJ": 104508, + "åłĤ": 104509, + "маÑĤ": 104510, + "ĠeÅŁ": 104511, + "ÙĪÙħات": 104512, + "Ġساخت": 104513, + "åĽłä¸º": 104514, + "ĠпÑĢий": 104515, + "ılmÄ±ÅŁ": 104516, + "館": 104517, + "ุà¸ĩ": 104518, + "Ġëģ": 104519, + "à¸ķาม": 104520, + "åIJī": 104521, + "μή": 104522, + "Ġæľ¬": 104523, + "Ġzáklad": 104524, + "تØŃ": 104525, + "è¾¼": 104526, + "ĠвÑĸй": 104527, + "ĠÙħÙĨØ·": 104528, + "Ġtoán": 104529, + "каÑĢ": 104530, + "ĠÐĹа": 104531, + "ĠпÑĢимен": 104532, + "ãĤĭãģ¨": 104533, + "ัà¸Ĺ": 104534, + "ÛĮس": 104535, + "ĠاÙĨجاÙħ": 104536, + "ĠعÙĦÙĬ": 104537, + "़ि": 104538, + "ených": 104539, + "ĠLiên": 104540, + "Ġпа": 104541, + "éļĬ": 104542, + "Ġmohou": 104543, + "ĠкÑĸлÑĮ": 104544, + "ĠΤο": 104545, + "اÙĦب": 104546, + "ÎŃν": 104547, + "ĠnabÃŃ": 104548, + "çi": 104549, + "lerden": 104550, + "Ġthanh": 104551, + "Ġbütün": 104552, + "ĠåŁ": 104553, + "ì¸ł": 104554, + "Ġzat": 104555, + "ÙĬÙĪ": 104556, + "Ġμια": 104557, + "uyết": 104558, + "Ñijн": 104559, + "åĪĴ": 104560, + "ливо": 104561, + "à¹Īà¸Ńà¸ĩ": 104562, + "ä»ĸ们": 104563, + "Ġбаг": 104564, + "िà¤Ń": 104565, + "ĠÑĤам": 104566, + "ĠпÑĢеп": 104567, + "ิà¸Ĭ": 104568, + "âĢĻÑıз": 104569, + "ĠPhân": 104570, + "жен": 104571, + "à¥Īà¤ķ": 104572, + "ĠÑģлÑĥÑĩае": 104573, + "Ġ.:": 104574, + "åŃ¦æł¡": 104575, + "İN": 104576, + "義": 104577, + "ĠÑģÑĤо": 104578, + "Ġहर": 104579, + "Ïħν": 104580, + "Ġxem": 104581, + "ĠбÑĥÑĤи": 104582, + "ÑģиÑĤ": 104583, + "çªģ": 104584, + "à¥įà¤Ľ": 104585, + "åij¢": 104586, + "ï¼Įä¹Ł": 104587, + "enÄĽ": 104588, + "Ġκά": 104589, + "iyorum": 104590, + "ĠÚ¯ÙģØª": 104591, + "âĹıâĹıâĹıâĹı": 104592, + "ัม": 104593, + "ĠÐļон": 104594, + "ноÑĪ": 104595, + "ниÑĨÑĤ": 104596, + "üzel": 104597, + "sÃŃ": 104598, + "師": 104599, + "صÙĪÙĦ": 104600, + "çĥŃ": 104601, + "ĠÄijá»§": 104602, + "ãĤ®": 104603, + "æķħ": 104604, + "ĠÅ¡kol": 104605, + "Ñĩен": 104606, + "à¹Ģย": 104607, + "à¸Ļà¸Ļ": 104608, + "ÙĢÙĢÙĢÙĢ": 104609, + "Ġüç": 104610, + "念": 104611, + "ãĥªãĤ¢": 104612, + "ĠíĻĺ": 104613, + "Ġéĩij": 104614, + "çıŃ": 104615, + "ĠÑģклад": 104616, + "Ñıми": 104617, + "üf": 104618, + "Ġhã": 104619, + "ĠÄIJại": 104620, + "ÂĤ": 104621, + "åĦª": 104622, + "Ġbulunan": 104623, + "ĠاÙĦÙħØŃ": 104624, + "æĪı": 104625, + "Ġè©": 104626, + "ĠноÑĢм": 104627, + "Ġchuẩn": 104628, + "ĠзаÑģÑĤ": 104629, + "ĠvÃŃce": 104630, + "Ðĸ": 104631, + "Ġà¤Ĩध": 104632, + "ĠÄįas": 104633, + "ĠбоÑĢ": 104634, + "Ïģια": 104635, + "ĠÙħاÙĩ": 104636, + "Ġíħ": 104637, + "ÅĻel": 104638, + "Ñıви": 104639, + "ÏĦεÏĤ": 104640, + "inÄĽ": 104641, + "ĠпеÑĢе": 104642, + "éķĩ": 104643, + "à¥įà¤ŀ": 104644, + "Ġéĺ": 104645, + "à¹Īาว": 104646, + "รร": 104647, + "ĠسÙĩ": 104648, + "вали": 104649, + "çķĻ": 104650, + "ĠÑĦÑĥнк": 104651, + "Ġíĸī": 104652, + "ÙģÙĩ": 104653, + "çĶŁæ´»": 104654, + "èģŀ": 104655, + "okud": 104656, + "ĠìĤ´": 104657, + "ızı": 104658, + "ĠполÑĥ": 104659, + "ï¼Įä½ł": 104660, + "شاÙĨ": 104661, + "決": 104662, + "бÑĢÑı": 104663, + "оÑģÑĥдаÑĢ": 104664, + "Ġoyun": 104665, + "ании": 104666, + "Ġprů": 104667, + "Ġnáv": 104668, + "ĠменÑı": 104669, + "Ġìŀĺ": 104670, + "Ġİn": 104671, + "ĠthÃŃch": 104672, + "ĠÄijảm": 104673, + "åľĴ": 104674, + "Ġвже": 104675, + "ĠloÃłi": 104676, + "ĠÐŀн": 104677, + "меÑģÑĤ": 104678, + "Ġξ": 104679, + "ãĢħ": 104680, + "Ġchiế": 104681, + "ÑĩÑĸ": 104682, + "Ġíijľ": 104683, + "ëĭ¬": 104684, + "Ġëĭ¬": 104685, + "à¥Ģड": 104686, + "ÑĢалÑĮ": 104687, + "dik": 104688, + "ĠíĨł": 104689, + "ëŁī": 104690, + "ĠصÙĨ": 104691, + "Ġstej": 104692, + "ĠакÑĤив": 104693, + "Ġé¦": 104694, + "Ġà¹Ħà¸Ķ": 104695, + "æĬĢæľ¯": 104696, + "ĠprostÅĻed": 104697, + "害": 104698, + "ãģIJ": 104699, + "ĠoluÅŁtur": 104700, + "elop": 104701, + "ãģ¡ãĤĥ": 104702, + "éĥİ": 104703, + "ضا": 104704, + "Ġخط": 104705, + "ë°ķ": 104706, + "еÑģÑı": 104707, + "ĠÙĩÛĮ": 104708, + "над": 104709, + "ĠngÃłnh": 104710, + "ÑĢÑĥÑĪ": 104711, + "ãģĦãģĦ": 104712, + "Ġürün": 104713, + "à¸Ńà¸ķ": 104714, + "à¥ĭप": 104715, + "Ġsayı": 104716, + "à¥Ģस": 104717, + "ениÑħ": 104718, + "ĠÑģим": 104719, + "à¥Ģद": 104720, + "å¤ī": 104721, + "à¹Īวม": 104722, + "Ġà¹Ģà¸Ĥ": 104723, + "å·²ç»ı": 104724, + "аÑĤо": 104725, + "ĠÑĢайон": 104726, + "íĥĿ": 104727, + "ĠÑĤÑĢа": 104728, + "layan": 104729, + "ếp": 104730, + "à¤¾à¤Ł": 104731, + "خاب": 104732, + "人æ°ij": 104733, + "å®Ŀ": 104734, + "èĨ": 104735, + "èªį": 104736, + "naÄį": 104737, + "Ġîł": 104738, + "ĠÐļи": 104739, + "ĠbaÅŁka": 104740, + "ců": 104741, + "ضع": 104742, + "èĪª": 104743, + "ีม": 104744, + "Ñĭми": 104745, + "ÎĻΣ": 104746, + "Ġشرکت": 104747, + "ยว": 104748, + "ĠmusÃŃ": 104749, + "Ġнал": 104750, + "ีà¸Ĺ": 104751, + "Ġáp": 104752, + "ราย": 104753, + "æ²¹": 104754, + "leme": 104755, + "Ġमन": 104756, + "à¹Ħà¸Ł": 104757, + "аÑĤив": 104758, + "¸ı": 104759, + "èѰ": 104760, + "ÏĥÏĦα": 104761, + "íĸ¥": 104762, + "еÑĤÑĥ": 104763, + "ĠÑģвÑıз": 104764, + "едеÑĢа": 104765, + "Ġخارج": 104766, + "าษ": 104767, + "âĢĮÙ¾": 104768, + "Ñĸг": 104769, + "é¡ŀ": 104770, + "Ġkhả": 104771, + "ĠÑģпÑĢав": 104772, + "è¡Ĺ": 104773, + "ãĥķãĤ¡": 104774, + "ĠмеждÑĥ": 104775, + "Ñĥли": 104776, + "Ġبزر": 104777, + "ÑĨен": 104778, + "Ġekonom": 104779, + "دÙĨ": 104780, + "اÙħÛĮ": 104781, + "าสà¸ķร": 104782, + "ĠnÄĽkol": 104783, + "gün": 104784, + "зи": 104785, + "ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł": 104786, + "离": 104787, + "ĠtrÆ°á»Łng": 104788, + "ıi": 104789, + "íݸ": 104790, + "ĠÑĢеб": 104791, + "åºķ": 104792, + "ĠتارÛĮØ®": 104793, + "нима": 104794, + "Ġthân": 104795, + "аÑĤелÑĮно": 104796, + "ĠاÙĦذÙĬ": 104797, + "ÙĪÙĨÛĮ": 104798, + "Ġéĥ": 104799, + "Ġbình": 104800, + "ικήÏĤ": 104801, + "à¸ŀล": 104802, + "تÙħاع": 104803, + "ĠPraha": 104804, + "ĠÑģÑĤав": 104805, + "دÙĬد": 104806, + "Ġgiữa": 104807, + "ĠпÑĢовед": 104808, + "Âłk": 104809, + "ÙĨدگÛĮ": 104810, + "ÑĨий": 104811, + "çĴ": 104812, + "ĠاÙĦØ£Ùħ": 104813, + "Ġè´": 104814, + "Ø¥ÙĨجÙĦÙĬزÙĬØ©": 104815, + "ĠìŀĪìĹĪëĭ¤": 104816, + "ç·¨": 104817, + "ัà¸Ļà¸ĺ": 104818, + "ĠÑĢокÑĸв": 104819, + "Ġcáo": 104820, + "Ġkhó": 104821, + "ĠÙĨÙĪØ¹": 104822, + "سÙĦ": 104823, + "ĠÑĥÑģлов": 104824, + "Ġcứu": 104825, + "ового": 104826, + "िà¤Ĺ": 104827, + "Ķëĭ¤": 104828, + "æĿİ": 104829, + "Ġbölg": 104830, + "Ġngu": 104831, + "Ġhữu": 104832, + "нии": 104833, + "ìłĪ": 104834, + "ĠпÑĢом": 104835, + "åıĮ": 104836, + "ĠdÆ°á»Ľi": 104837, + "Ю": 104838, + "ÙĬØ´": 104839, + "温": 104840, + "ëıħ": 104841, + "ĠзмÑĸ": 104842, + "θηκε": 104843, + "ĠbaÄŁlı": 104844, + "Ġüzerinde": 104845, + "Ġتغ": 104846, + "ĠпÑĢогÑĢа": 104847, + "iž": 104848, + "Ġç¥": 104849, + "Ġyardım": 104850, + "ÂĢÂĢ": 104851, + "ĠÑĥв": 104852, + "Ġrů": 104853, + "Ġchiến": 104854, + "νοÏĤ": 104855, + "ãģ¨ãģª": 104856, + "اÙĨت": 104857, + "è°·": 104858, + "ÃŃsk": 104859, + "isinde": 104860, + "Ġдог": 104861, + "追": 104862, + "ĠпÑĢоÑĤив": 104863, + "ÏģοÏħ": 104864, + "ãģ®ãģĭ": 104865, + "Ġbazı": 104866, + "ırak": 104867, + "à¥ĩष": 104868, + "ĠÙħشار": 104869, + "Ġìĸij": 104870, + "Ġнез": 104871, + "ĠذÙĦÙĥ": 104872, + "調": 104873, + "åĤĻ": 104874, + "ĠÑĤÑĢан": 104875, + "ĠÏĢαÏģα": 104876, + "ÛĮÙħت": 104877, + "Ġtiến": 104878, + "ĠÙĩÙħÙĩ": 104879, + "efon": 104880, + "».ĊĊ": 104881, + "ĠÙĨد": 104882, + "جÙĦ": 104883, + "ĠدادÙĩ": 104884, + "Ġвед": 104885, + "Ġsın": 104886, + "ĠÑģвÑĸÑĤ": 104887, + "elerin": 104888, + "â΍": 104889, + "Ġyür": 104890, + "дан": 104891, + "ĠÐŀÑģ": 104892, + "Ġhạng": 104893, + "许": 104894, + "ÏĥÏĦη": 104895, + "uyến": 104896, + "Ġнаб": 104897, + "ĠоÑħ": 104898, + "ÏĥÏī": 104899, + "Ġbyly": 104900, + "ÑģкиÑħ": 104901, + "lamak": 104902, + "иÑĤоÑĢ": 104903, + "Ġyatır": 104904, + "ĠпÑĢоизвод": 104905, + "ĠجÙħع": 104906, + "Åł": 104907, + "æıIJä¾Ľ": 104908, + "ĠprvnÃŃ": 104909, + "ĠαÏĢ": 104910, + "íĻ©": 104911, + "ĠпÑĢакÑĤи": 104912, + "lerinden": 104913, + "ĠнеобÑħодимо": 104914, + "康": 104915, + "ÙİØ§": 104916, + "ĠسÙĨ": 104917, + "İL": 104918, + "Ġê´ij": 104919, + "ĠPÅĻ": 104920, + "çŀ": 104921, + "ĠÑĤемпеÑĢаÑĤÑĥ": 104922, + "Ġkabul": 104923, + "Ġbudou": 104924, + "ÑĨÑĸоналÑĮ": 104925, + "ï½ľ": 104926, + "Ġçocuk": 104927, + "ĠÑĤÑĸлÑĮки": 104928, + "byt": 104929, + "ãĥ¤": 104930, + "ĠÑģÑĤаÑĤ": 104931, + "ĠæĿ±": 104932, + "ležit": 104933, + "اسطة": 104934, + "ุร": 104935, + "iêm": 104936, + "ĠкÑĥлÑĮÑĤÑĥ": 104937, + "Ġпон": 104938, + "Ä©nh": 104939, + "åĸľ": 104940, + "нев": 104941, + "ÑĶн": 104942, + "ĠÑģооÑĤ": 104943, + "ëĿ": 104944, + "çξ": 104945, + "Ġtuá»ķi": 104946, + "kanı": 104947, + "สำหร": 104948, + "اعت": 104949, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 104950, + "деÑĢж": 104951, + "ĠоблаÑģÑĤи": 104952, + "Ġvừa": 104953, + "ĠÙħÙħ": 104954, + "à¸ģำ": 104955, + "à¹ģม": 104956, + "iversit": 104957, + "à¹ģส": 104958, + "欧": 104959, + "lanan": 104960, + "ÙĬÙĨØ©": 104961, + "سة": 104962, + "ĠлÑİдей": 104963, + "รรม": 104964, + "Ġì±Ħ": 104965, + "Ġ天": 104966, + "еннÑĭÑħ": 104967, + "à¹ģห": 104968, + "Ġspráv": 104969, + "èѦ": 104970, + "ï¼ľ": 104971, + "ัà¸Ĵ": 104972, + "ilecek": 104973, + "ĠæŁ": 104974, + "Ġèĭ±": 104975, + "ĠÑħоÑĢоÑĪ": 104976, + "ëłĩ": 104977, + "Û²Û°Û°": 104978, + "æĬ¤": 104979, + "Ġlã": 104980, + "ÅĻÃŃzenÃŃ": 104981, + "ĠتÙĪÙĦÛĮد": 104982, + "éļĽ": 104983, + "ãĤĮãģ°": 104984, + "áš": 104985, + "ارÙĬØ®": 104986, + "æĶ»": 104987, + "Ġkhoảng": 104988, + "éĻį": 104989, + "ован": 104990, + "Ġgây": 104991, + "âĢĻnın": 104992, + "Ø£ÙĨ": 104993, + "miÅŁtir": 104994, + "Ġsức": 104995, + "кÑĥÑģ": 104996, + "Ġüzerine": 104997, + "ÄŁÃ¼": 104998, + "ابر": 104999, + "ï¼Įå°±": 105000, + "Ì£": 105001, + "ĠëıĮ": 105002, + "Ġtrá»±c": 105003, + "æĶ¶å½ķ": 105004, + "æī¿": 105005, + "ĠNá»Ļi": 105006, + "ĠçϾ": 105007, + "ÑĪÑĮ": 105008, + "جة": 105009, + "ë²ł": 105010, + "à¤ī": 105011, + "à¸ı": 105012, + "Ġülk": 105013, + "ĠÙĩستÙĨد": 105014, + "ัà¸ļà¸ģาร": 105015, + "ĠÑıка": 105016, + "ãİ": 105017, + "ĠЯк": 105018, + "Ġгде": 105019, + "tiv": 105020, + "ãĢĪ": 105021, + "лÑİÑĩа": 105022, + "ा।Ċ": 105023, + "ĠÙħاÙĨ": 105024, + "Ġdlou": 105025, + "Ġãĥķ": 105026, + "à¤Ľ": 105027, + "Ġphục": 105028, + "akat": 105029, + "Ь": 105030, + "asını": 105031, + "ĠæĬķ稿": 105032, + "ÑĢев": 105033, + "Ġvyt": 105034, + "ĠzmÄĽ": 105035, + "ÏĦÏī": 105036, + "è¬": 105037, + "ĠÑĥм": 105038, + "Ġuzun": 105039, + "Ġproti": 105040, + "ĠÑģоÑģÑĤоÑı": 105041, + "ัà¸Ĵà¸Ļ": 105042, + "atik": 105043, + "Ġà¸ł": 105044, + "Ġà¤Ĩद": 105045, + "larından": 105046, + "æĢ¥": 105047, + "ãĥ¼ãĤ¯": 105048, + "ĠÙĦÙĦÙħ": 105049, + "ÙģØªÙĩ": 105050, + ".:.": 105051, + "üçük": 105052, + "олева": 105053, + "à¹ĮĊ": 105054, + "ĠпеÑĢев": 105055, + "ĠÙĨسب": 105056, + "еленнÑı": 105057, + "'ın": 105058, + "νÏī": 105059, + "è¡£": 105060, + "ĠدÙĬ": 105061, + "åįĩ": 105062, + "Ġbelirt": 105063, + "Ġ/:": 105064, + "èijī": 105065, + "Ġvyh": 105066, + "çļĦä¸Ģ": 105067, + "èĥĮ": 105068, + "ĠìĹ´": 105069, + "ола": 105070, + "Ġتب": 105071, + "áci": 105072, + "ाà¤ī": 105073, + "à¸İ": 105074, + "çĶ¢": 105075, + "à¥Īल": 105076, + "ĠÙĤØ·": 105077, + "ëĦĪ": 105078, + "ắm": 105079, + "ÑĢÑıд": 105080, + "Ġphụ": 105081, + "ĠÙĪØ§ÙĤع": 105082, + "Ġmerk": 105083, + "Ġchá»ijng": 105084, + "å¯Ł": 105085, + "ابط": 105086, + "usunda": 105087, + "Ġодна": 105088, + "žel": 105089, + "ĠÑģÑĥм": 105090, + "Ġphù": 105091, + "Ġζ": 105092, + "Ġzav": 105093, + "edn": 105094, + "ĠpotÅĻeb": 105095, + "ĠÚ©ÙĨÙĨد": 105096, + "ĠÑĢазв": 105097, + "¿ł": 105098, + "ĠاÙĦز": 105099, + "ĠmÄĽl": 105100, + "ĠÑģÑĤанов": 105101, + "ĠدرÛĮ": 105102, + "Ġtượng": 105103, + "ãģµ": 105104, + "Ġдви": 105105, + "ÑĮÑı": 105106, + "製": 105107, + "ĠتÙĦ": 105108, + "šť": 105109, + "ãģªãĤī": 105110, + "Ġà¤ķà¤Ī": 105111, + "Å¡i": 105112, + "âĢĮاست": 105113, + "Ġkỹ": 105114, + "ë§Ŀ": 105115, + "Ġà¤Ĩà¤ľ": 105116, + "ãĥ´": 105117, + "Ġbá»ı": 105118, + "duÄŁu": 105119, + "Ġæ¯": 105120, + "пеÑĢ": 105121, + "اÙĦÙĬØ©": 105122, + "æīĢ以": 105123, + "åħ°": 105124, + "Ġoran": 105125, + "Ġíŀ": 105126, + "Ïĥία": 105127, + "Ġphá»§": 105128, + "ĠбÑĭла": 105129, + "Ñĩива": 105130, + "Ġê°Ħ": 105131, + "олÑĸ": 105132, + "Ùĥت": 105133, + "åħ§": 105134, + "à¥Ĥà¤Ł": 105135, + "Ġëĸ": 105136, + "ĠÙĦÙĩ": 105137, + "ëłĪìĿ´": 105138, + "Ġhız": 105139, + "å¤ı": 105140, + "ĠæĬķ稿æĹ¥": 105141, + "éļ¾": 105142, + "ĵ°": 105143, + "глÑıд": 105144, + "ìn": 105145, + "ĠмеÑĢ": 105146, + "ĠãĢij": 105147, + "ĠобÑī": 105148, + "umhur": 105149, + "çł´": 105150, + "лиÑģÑĮ": 105151, + "spÄĽ": 105152, + "رÙĬÙĤ": 105153, + "ĠتÙģ": 105154, + "ĠاÙĦÙĪ": 105155, + "çµ±": 105156, + "алоÑģÑĮ": 105157, + "Ġmô": 105158, + "Ġvá»ĩ": 105159, + "Ġδι": 105160, + "Ġзн": 105161, + "ĠبØŃ": 105162, + "تÙī": 105163, + "Ġì§ģ": 105164, + "Ġvelmi": 105165, + "uyá»ħn": 105166, + "Ġphạm": 105167, + "ÑģÑĤвом": 105168, + "ĠÙĪØ§ÙĦÙħ": 105169, + "ĠбÑĭли": 105170, + "اذ": 105171, + "ÄĽÅĻ": 105172, + "âĦĸ": 105173, + "Ġполож": 105174, + "าà¸ģาร": 105175, + "ĠÄįlán": 105176, + "ÎķΡ": 105177, + "ĠìĤ°": 105178, + "βα": 105179, + "ĠæĹ¥æľ¬": 105180, + "زد": 105181, + "ĠÙĨÛĮست": 105182, + "Ġhayat": 105183, + "確": 105184, + "à¹Ģวล": 105185, + "ĠChÃŃnh": 105186, + "ï¼Įæĺ¯": 105187, + "ĠÙĪØ§ØŃ": 105188, + "èı¯": 105189, + "ĠήÏĦαν": 105190, + "Ġxá»Ń": 105191, + "ĠÄįerv": 105192, + "ĠÙħدÛĮر": 105193, + "éĨ": 105194, + "ĠëĪĪ": 105195, + "ç»Ń": 105196, + "Ġtên": 105197, + "ìĸ¸": 105198, + "Ġortaya": 105199, + "Ġжен": 105200, + "ĠnÆ¡i": 105201, + "еннÑĭе": 105202, + "ÑĦекÑĤив": 105203, + "íĿ¬": 105204, + "Ġkhá»ı": 105205, + "ĠÄija": 105206, + "osyal": 105207, + "à¸Ľà¸£à¸°à¹Ģà¸Ĺศ": 105208, + "Ġodst": 105209, + "Ġà¸ĸ": 105210, + "ĠοÏĢο": 105211, + "æĶ¿åºľ": 105212, + "ĠbÃłn": 105213, + "ĠGiá»": 105214, + "Ġolduk": 105215, + "ование": 105216, + "à¸Ńส": 105217, + "Ġнев": 105218, + "ÏĦÏģο": 105219, + "ĠìĨį": 105220, + "kı": 105221, + "Ġबड": 105222, + "ĠÏħÏĢ": 105223, + "ĠVý": 105224, + "ï¾Ħ": 105225, + "çŃĸ": 105226, + "εÏĨ": 105227, + "Ġåħ¨": 105228, + "ĠÙ쨱ÙĪØ´": 105229, + "ÙĤÛĮÙĤ": 105230, + "ä¼ģä¸ļ": 105231, + "εÏį": 105232, + "èĻŁ": 105233, + "Ġayr": 105234, + "ضÙĪ": 105235, + "Å¡el": 105236, + "ĠпÑĸÑģлÑı": 105237, + "ÑĸйÑģ": 105238, + "é¢Ĩ": 105239, + "کتر": 105240, + "лÑĥб": 105241, + "è«ĸ": 105242, + "æ°¸": 105243, + "езпеÑĩ": 105244, + "Ġкам": 105245, + "عداد": 105246, + "ê±°ëŀĺ": 105247, + "ูà¸ĩ": 105248, + "ĠتÙĩراÙĨ": 105249, + "ĠëĦĪ": 105250, + "ÑĢив": 105251, + "ĠÑĤоÑĢ": 105252, + "اÙī": 105253, + "'Ñıз": 105254, + "ÙIJÙĬ": 105255, + "ĠkhÃŃ": 105256, + "ĠÑĪÑĤ": 105257, + "Ġξε": 105258, + "Ġbiri": 105259, + "èĩ´": 105260, + "Ñĥвав": 105261, + "ãģĪãĤĭ": 105262, + "ĠдиÑģ": 105263, + "аÑİÑĤ": 105264, + "صب": 105265, + "åĿĩ": 105266, + "олÑİ": 105267, + "èĭ¥": 105268, + "Ġاث": 105269, + "sou": 105270, + "åIJĥ": 105271, + "ãģ®ãģł": 105272, + "ublik": 105273, + "лей": 105274, + "Âłm": 105275, + "Ġíıīê·ł": 105276, + "ạy": 105277, + "εÏĢ": 105278, + "tık": 105279, + "Ġvyu": 105280, + "عÙĪØ¯": 105281, + "Ġдоз": 105282, + "Ġlá»ĭch": 105283, + "質": 105284, + "à¥ģà¤Ī": 105285, + "ัà¸ŀ": 105286, + "Ġtém": 105287, + "Ġkaç": 105288, + "Ġcái": 105289, + "Ġμα": 105290, + "â̦â̦ãĢįĊĊ": 105291, + "íά": 105292, + "رÙĪÙĩ": 105293, + "Ġrych": 105294, + "ÎijΤ": 105295, + "ĠÑĢÑĸв": 105296, + "ë³ij": 105297, + "åģ¥": 105298, + "Ġzdrav": 105299, + "Ġعدد": 105300, + "èįī": 105301, + "δια": 105302, + "ĠváºŃn": 105303, + "ÑĭÑĤ": 105304, + "ĠколиÑĩ": 105305, + "ÏĮÏĦε": 105306, + "Ġbırak": 105307, + "ĠØŃÙħ": 105308, + "Ġchá»ĭ": 105309, + "é»Ħ": 105310, + "ĠاÙĦÙħتØŃدة": 105311, + "ืà¸Ńà¸ģ": 105312, + "Ġзали": 105313, + "Ġnhanh": 105314, + "âĢĮتÙĪØ§ÙĨ": 105315, + "ëĿ½": 105316, + "ĠتÙĪØ³Ø·": 105317, + "è¦ģæ±Ĥ": 105318, + "алÑĥ": 105319, + "ünkü": 105320, + "ãģªãĤĵ": 105321, + "ĠTrong": 105322, + "à¸Ļะ": 105323, + "åij¼": 105324, + "ĠÙĬÙħ": 105325, + "ики": 105326, + "ĠÑĤÑĥÑĤ": 105327, + "ĠyaÅŁam": 105328, + "Ġmá»įi": 105329, + "éĽĦ": 105330, + "ĠØŃض": 105331, + "ĠавÑĤом": 105332, + "Ġसबस": 105333, + "Ġyếu": 105334, + "ãĤ¹ãĤ¿": 105335, + "Ïĩή": 105336, + "ÑĸÑİ": 105337, + "èĺ": 105338, + "ิย": 105339, + "Ġmev": 105340, + "ického": 105341, + "िह": 105342, + "åŃ£": 105343, + "θή": 105344, + "Ġबढ": 105345, + "ĠاÙĦÙħس": 105346, + "ÏĦοÏħ": 105347, + "ekli": 105348, + "ĠдеÑĢев": 105349, + "å¸Ń": 105350, + "æ²Ļ": 105351, + "ãģ«ãĤĤ": 105352, + "Ġoblast": 105353, + "Ġhá»Ļ": 105354, + "Ġå¹³": 105355, + ".:.:.:.:.:.:.:.:": 105356, + "Ġéĸ": 105357, + "Ġجز": 105358, + "ĠÙĩÙħÚĨ": 105359, + "並": 105360, + "ÑĨеп": 105361, + "ाĊ": 105362, + "ä¸ŃçļĦ": 105363, + "'nın": 105364, + "ĠíķĺëĬĶ": 105365, + "ÑĶÑĹ": 105366, + "Ġبش": 105367, + "åį´": 105368, + "ä¹ł": 105369, + "ĠاطÙĦاعات": 105370, + "Ġë²ł": 105371, + "ĠکردÙĨ": 105372, + "ाड": 105373, + "Ġà¤ħर": 105374, + "ĠHá»į": 105375, + "ĠгÑĢомад": 105376, + "Ġست": 105377, + "ÏĦιÏĤ": 105378, + "Ġancak": 105379, + "Ġог": 105380, + "ĠkteÅĻÃŃ": 105381, + "Ġæ¬": 105382, + "ĠNgh": 105383, + "Ġtedy": 105384, + "ĠÏĢο": 105385, + "Ġquân": 105386, + "ĠбÑĥли": 105387, + "è¯Ĩ": 105388, + "Ġtừng": 105389, + "人çļĦ": 105390, + "ีà¸ģาร": 105391, + "ĠκαÏĦα": 105392, + "Ġpouze": 105393, + "¡ng": 105394, + "Ġآر": 105395, + "ĠÑĤÑĥ": 105396, + "Ġtá»·": 105397, + "ĠDanh": 105398, + "оном": 105399, + "Ñģий": 105400, + "Ġà¹Ģà¸Ķ": 105401, + "£¨": 105402, + "Å¡k": 105403, + "ãĥĥãĥī": 105404, + "ardır": 105405, + "Ġyönet": 105406, + "Ñĥвали": 105407, + "åħĪçĶŁ": 105408, + "ĠÐIJÑĢ": 105409, + "Ġprotože": 105410, + "Ġíģ¬": 105411, + "Ġjednot": 105412, + "Ġtý": 105413, + "éĩĩ": 105414, + "Ġหร": 105415, + "Ġåľ°": 105416, + "红": 105417, + "Ġмолод": 105418, + "iêng": 105419, + "ĠÏĮÏĦι": 105420, + "ĠداشتÙĩ": 105421, + "Ġuygun": 105422, + "ĠопеÑĢа": 105423, + "åı«": 105424, + "Ġап": 105425, + "ĠкÑĥÑĢ": 105426, + "اعة": 105427, + "unuz": 105428, + "ĠìĤ¬ì§Ħ": 105429, + "Ġvô": 105430, + "çok": 105431, + "Ġèģ": 105432, + "ÑĤеÑĢеÑģ": 105433, + "ĠاستاÙĨ": 105434, + "алаÑģÑĮ": 105435, + "à¥ģव": 105436, + "ỳ": 105437, + "Ġlưu": 105438, + "ĠТа": 105439, + "Ġlá»±a": 105440, + "'ÑĶ": 105441, + "Ġüy": 105442, + "ĠÛĮÚ©ÛĮ": 105443, + "æ¾": 105444, + "нем": 105445, + "ĠخاÙĨ": 105446, + "ĠÑįлек": 105447, + "ÙĤاÙĦ": 105448, + "лок": 105449, + "ĠÄijẹp": 105450, + "à¥īल": 105451, + "Ġmůž": 105452, + "ëĭ¤ëĬĶ": 105453, + "ĠíķĺëĤĺ": 105454, + "ÙĦت": 105455, + "çİ°åľ¨": 105456, + "мо": 105457, + "ÏħÏĥ": 105458, + "ãģŁãģ¡": 105459, + "ĠìłĦìĦ¸": 105460, + "à¥įà¤Łà¤°": 105461, + "عات": 105462, + "دÙĪ": 105463, + "俺": 105464, + "楽": 105465, + "森": 105466, + "ĠлиÑģÑĤ": 105467, + "δι": 105468, + "å¯Į": 105469, + "ĠÄijưa": 105470, + "веÑģÑĤи": 105471, + "до": 105472, + "аннÑĸ": 105473, + "Ġüret": 105474, + "Ġgá»įi": 105475, + "ĠÑģвоÑİ": 105476, + "ừng": 105477, + "Ġtất": 105478, + "äºļæ´²": 105479, + "áce": 105480, + "NÃį": 105481, + "ĠÑĢÑĭ": 105482, + "满": 105483, + "ÏģεÏĤ": 105484, + "åħįè´¹": 105485, + "лоÑĤ": 105486, + "æĻº": 105487, + "Ġαγ": 105488, + "Ġà¤ħम": 105489, + "Ġç´": 105490, + "одо": 105491, + "Ñħи": 105492, + "Ġnguá»ĵn": 105493, + "éĥ¨åĪĨ": 105494, + "ваÑĤ": 105495, + "ĠÑĤеб": 105496, + "заÑĨÑĸÑĹ": 105497, + "ĠÐŁÑĢо": 105498, + "عÛĮ": 105499, + "ĠÙĪÙĬ": 105500, + "ëŀľ": 105501, + "Ġneby": 105502, + "ĠجدÛĮد": 105503, + "ÄŁimiz": 105504, + "£½": 105505, + "Ġà¤Ĩत": 105506, + "Ġà¤Ńर": 105507, + "æīĺ": 105508, + "å®īåħ¨": 105509, + "Ġëĵ¤ìĸ´": 105510, + "برد": 105511, + "Ġê²ĥìĿ´": 105512, + "亲": 105513, + "æ°ı": 105514, + "алÑĸз": 105515, + "lack": 105516, + "ĠÙħختÙĦÙģ": 105517, + "اÙĨÙĬØ©": 105518, + "Ġì²Ń": 105519, + "ĠвиÑĤ": 105520, + "Ġhareket": 105521, + "é¨": 105522, + "à¸Ļำ": 105523, + "Ġبرخ": 105524, + "売": 105525, + "Ñĩай": 105526, + "Ġanlat": 105527, + "Ġà¤ħव": 105528, + "ĠاÙ쨲": 105529, + "Ġhết": 105530, + "ĠÚĨÙĨد": 105531, + "éĹľ": 105532, + "пÑĢиÑĶм": 105533, + "gı": 105534, + "Ġkomp": 105535, + "ĠlỼp": 105536, + "Ġmá»Ĺi": 105537, + "à¸Ľà¸£à¸°à¸ģ": 105538, + "Ġhaf": 105539, + "Ġeder": 105540, + "ĠздоÑĢов": 105541, + "à¥Ĥम": 105542, + "본": 105543, + "Ġonun": 105544, + "ĠÙħردÙħ": 105545, + "ĠÐľÐ°ÑĢ": 105546, + "Ġìĸ´ëĸ": 105547, + "ман": 105548, + "ĠÑģилÑĮ": 105549, + "ç¶²": 105550, + "ë¸Ķ": 105551, + "лÑıеÑĤ": 105552, + "ĠнеÑģколÑĮко": 105553, + "landır": 105554, + "Ġвд": 105555, + "ĠÙĨÙĪ": 105556, + "ãģİ": 105557, + "ÑĤин": 105558, + "تش": 105559, + "аний": 105560, + "ĠtÅĻ": 105561, + "ÑģиÑħ": 105562, + "лом": 105563, + "æŃ©": 105564, + "ãİ¡": 105565, + "ĠØŃر": 105566, + "æĭį": 105567, + "enou": 105568, + "Ġвели": 105569, + "Ġδη": 105570, + "ska": 105571, + "主è¦ģ": 105572, + "اÙ쨩": 105573, + "ĠболÑĮÑĪе": 105574, + "ิศ": 105575, + "çĽĬ": 105576, + "ĠÙģÙĤØ·": 105577, + "å¨ģ": 105578, + "ĠhÆ°á»Łng": 105579, + "ĠDoÄŁ": 105580, + "ĠdÃłi": 105581, + "ĠгоÑĤов": 105582, + "Ġвам": 105583, + "âĢī": 105584, + "ाà¤ļ": 105585, + "åħ¸": 105586, + "à¹ĥหà¸į": 105587, + "Ġç«": 105588, + "ektör": 105589, + "Ġвел": 105590, + "ĠÙĦÙĪ": 105591, + "شتÙĩ": 105592, + "æĺ¾": 105593, + "ảy": 105594, + "à¹Ĥม": 105595, + "Ġtá»ķng": 105596, + "ĠповеÑĢÑħ": 105597, + "ÑĹв": 105598, + "Ġphép": 105599, + "çļĩ": 105600, + "ĠпоÑĢÑıд": 105601, + "ĠÑģооÑĤвеÑĤ": 105602, + "à¤Ŀ": 105603, + "ĠÑģебÑı": 105604, + "ĠëĤł": 105605, + "ĠбÑĥла": 105606, + "à¹īาย": 105607, + "ĠãĢĢãĢĢãĢĢãĢĢ": 105608, + "ĠÙħجÙħÙĪØ¹": 105609, + "ï¼Į以": 105610, + "ĠبÙĪØ¯Ùĩ": 105611, + "μÏĮ": 105612, + "Ġíݸ": 105613, + "eÅŁit": 105614, + "ÑİÑīие": 105615, + "ÑİÑīиÑħ": 105616, + "åŁºéĩij": 105617, + "ĠتØŃت": 105618, + "ĠвлаÑģ": 105619, + "lerle": 105620, + "ãĤ²": 105621, + "ëĬĺ": 105622, + "èĵ": 105623, + "manın": 105624, + "ìŀĪ": 105625, + "Ġzast": 105626, + "ĠÑĩеловек": 105627, + "à¥ĩब": 105628, + "peÄį": 105629, + "ĠبرÙĨاÙħÙĩ": 105630, + "Ġslov": 105631, + "ĠnÄĽjak": 105632, + "ê·ľ": 105633, + "à¥ĩह": 105634, + "èŤ": 105635, + "ĠبÛĮشتر": 105636, + "iliz": 105637, + "ĠëĶĶ": 105638, + "ازÙĩ": 105639, + "تد": 105640, + "Ġetm": 105641, + "Ġëĭ¤ë¥¸": 105642, + "Ġvů": 105643, + "å°Ħ": 105644, + "ĠклаÑģ": 105645, + "вÑĢоп": 105646, + "æ´¾": 105647, + "ĠÄijình": 105648, + "ÑĥÑİÑĤ": 105649, + "ÑĥеÑĤÑģÑı": 105650, + "éľ²": 105651, + "ĠÑģкоÑĢ": 105652, + "ĠваÑģ": 105653, + "íķĺìĺĢëĭ¤": 105654, + "Ġداشت": 105655, + "ĠçĦ": 105656, + "Ġ西": 105657, + "ĠκαÏĦά": 105658, + "०": 105659, + "ìĹĨ": 105660, + "ĠخدÙħ": 105661, + "اسÙħ": 105662, + "ÎijΡ": 105663, + "ĠAma": 105664, + "奥": 105665, + "Ġبزرگ": 105666, + "ĠÐĴÑĸн": 105667, + "ĠÅĺ": 105668, + "Ġà¸Īาà¸ģ": 105669, + "ĠÑħаÑĢакÑĤеÑĢ": 105670, + "ĠÄijá»Ļi": 105671, + "ĠÑĢозвиÑĤ": 105672, + "ĠпÑĢоÑĦеÑģ": 105673, + "ĠконÑĤÑĢ": 105674, + "ÎŁÎĽ": 105675, + "Ġminh": 105676, + "ä¼ij": 105677, + "쪽": 105678, + "ĠchÆ¡i": 105679, + "заÑĨии": 105680, + "ĠдÑĸÑıлÑĮ": 105681, + "ëĨ": 105682, + "Ġngay": 105683, + "à¥Ĥà¤Ĥ": 105684, + "Ġihtiy": 105685, + "éĽª": 105686, + "Ġê´Ģ리ìŀIJ": 105687, + "Ġcụ": 105688, + "Ġì§Ī": 105689, + "ÙĬØ«": 105690, + "ặp": 105691, + "ÙĪØ§Ø¹": 105692, + "ãģĤãģ£ãģŁ": 105693, + "Ġçľ": 105694, + "Ġìļ°ë¦¬": 105695, + "à¹Īà¸ĩà¸Ĥ": 105696, + "ĠçŃ": 105697, + ")ØĮ": 105698, + "Ãłm": 105699, + "ÙĦÛĮÙĦ": 105700, + "Ġ걸": 105701, + "алÑĮниÑħ": 105702, + "æĹ¶åĢĻ": 105703, + "undan": 105704, + "ĠGün": 105705, + "Ġtopl": 105706, + "ĠÑĢекомен": 105707, + "ĠاÙĨتخاب": 105708, + "Ãłu": 105709, + "Äįka": 105710, + "ë°Ģ": 105711, + "ĠкÑĢаÑģ": 105712, + "лоп": 105713, + "å¼µ": 105714, + "ĠاÙĦÙħع": 105715, + "mÃŃn": 105716, + "Ġviết": 105717, + "Ġê°ĻìĿĢ": 105718, + "uteÄį": 105719, + "Ġnech": 105720, + "çµĤ": 105721, + "ãģªãģĮ": 105722, + "ayın": 105723, + "ĠÄįin": 105724, + "cházÃŃ": 105725, + "اÙ쨏": 105726, + "ÑĢоваÑĤÑĮ": 105727, + "à¹Ħร": 105728, + "ĠãĤ¤": 105729, + "Ġзаболева": 105730, + "Ġå±±": 105731, + "Ġkadın": 105732, + "ÏĦηÏĤ": 105733, + "алиÑģÑĮ": 105734, + "Ġhük": 105735, + "åĵ¥": 105736, + "ĠпеÑĢи": 105737, + "ÅĻád": 105738, + "Ġà¤ħस": 105739, + "ĠÑģÑĤвоÑĢ": 105740, + "ĠÙĪÛĮÚ©ÛĮ": 105741, + "Ġì¡": 105742, + "Ġcá»Ńa": 105743, + "Ġhiá»ĥu": 105744, + "游æĪı": 105745, + "ÑĮомÑĥ": 105746, + "Ġgó": 105747, + "Ġtoh": 105748, + "Ġбла": 105749, + "Ġåij": 105750, + "Ġпло": 105751, + "иÑĪ": 105752, + "ĠÄijấu": 105753, + "skou": 105754, + "ãĤĪãĤĬ": 105755, + "à¸¹à¸Ľ": 105756, + "Ġrá»ĵi": 105757, + "опÑĢоÑģ": 105758, + "нолог": 105759, + "ĠÑĤÑĢав": 105760, + "ĠWayback": 105761, + "Ġà¹Ĩ": 105762, + "ĠÑĥÑĩаÑģÑĤ": 105763, + "ĠпÑĢепаÑĢа": 105764, + "Ġdạng": 105765, + "ĠÃľn": 105766, + "à¹Ħลà¸Ļ": 105767, + "Ġداخ": 105768, + "ĠsÆ¡": 105769, + "Ġkoy": 105770, + "ëĿ¼ê³ł": 105771, + "ĠÄijúng": 105772, + "à¥ĩà¤Ĥ,": 105773, + "Ġgeçir": 105774, + "ĠÑıкÑīо": 105775, + "ÑģÑĤÑĢо": 105776, + "енÑĤов": 105777, + "Ñĸж": 105778, + "кÑĥÑİ": 105779, + "ĠeÄŁitim": 105780, + "à¥įरस": 105781, + "ĠСп": 105782, + "اتÛĮ": 105783, + "ãģijãĤĭ": 105784, + "ÏĦÏīν": 105785, + "Ġкм": 105786, + "âĸįâĸįâĸįâĸį": 105787, + "jist": 105788, + "ÑĤак": 105789, + "ĠåIJįåīį": 105790, + "é¡Ķ": 105791, + "лÑĭ": 105792, + "Ġkhảo": 105793, + "âĢĻÑı": 105794, + "ĠÙħÙĦÛĮ": 105795, + "lož": 105796, + "Ġìĸ¸": 105797, + "Ġgần": 105798, + "Ġà¤ľà¤°": 105799, + "बर": 105800, + "ÎķΣ": 105801, + "à¸²à¸Ľ": 105802, + "Ġnás": 105803, + "formace": 105804, + "Ġetmek": 105805, + "веÑģÑĤ": 105806, + "ìĸ´ìļĶ": 105807, + "Ġतथ": 105808, + "ĠÑģек": 105809, + "ξη": 105810, + "æ¯Ľ": 105811, + "Bir": 105812, + "ĠìŀĦ": 105813, + "Ġvardır": 105814, + "ÙĪØ§ÙĦ": 105815, + "İR": 105816, + "ované": 105817, + "наÑĢод": 105818, + "à¸Ħำ": 105819, + "emek": 105820, + "ĠÎķÏĢ": 105821, + "ĠÅĻe": 105822, + "ãģ¾ãģĽ": 105823, + "uyá»ĩt": 105824, + "Ġìĸ¼": 105825, + "rů": 105826, + "Ġonu": 105827, + "à¹Ģà¸ķà¸Ńร": 105828, + "одаÑĢ": 105829, + "زÙĩ": 105830, + "Ġkav": 105831, + "онÑĭ": 105832, + "ĠвеÑģ": 105833, + "ìĤ¬ì§Ģ": 105834, + "Ġгла": 105835, + "ÃĿ": 105836, + "ĠÙĤÛĮÙħت": 105837, + "çķ¥": 105838, + "à¸ĸาà¸Ļ": 105839, + "Äįil": 105840, + "Ġä¸ĩ": 105841, + "è¾ĥ": 105842, + "åħħ": 105843, + "ĠÑĢед": 105844, + "มห": 105845, + "amilia": 105846, + "à¥ĩà¤ķर": 105847, + "Ġtá»iji": 105848, + "ÙģÛĮ": 105849, + "ÑĢÑĸÑĪ": 105850, + "ìķł": 105851, + "à¸Ļส": 105852, + "à¸Īร": 105853, + "à¥ĩशन": 105854, + "ĠÙħÙĪØ¶ÙĪØ¹": 105855, + "æī¹": 105856, + "Ġobsah": 105857, + "ĠнавÑĩ": 105858, + "Ġdestek": 105859, + "Ġzas": 105860, + "åĵį": 105861, + "ümüz": 105862, + "ĠçŁ": 105863, + "Ġè¨": 105864, + "Ù¬": 105865, + "ç»Ī": 105866, + "Ġzde": 105867, + "Ġzáp": 105868, + "à¥Ĥसर": 105869, + "ìĿ´ì§Ģ": 105870, + "çļ®": 105871, + "lom": 105872, + "१": 105873, + "ÙĦاÙĤ": 105874, + "à¸Ļà¸ķ": 105875, + "íĮħ": 105876, + "лада": 105877, + "masına": 105878, + "ãģ®ãģ§": 105879, + "ëĵ¤ìĿĦ": 105880, + "Ġнаг": 105881, + "masını": 105882, + "ãĤĿ": 105883, + "ınıf": 105884, + "åĽ´": 105885, + "Ġbölüm": 105886, + "å¥ĸ": 105887, + "æ¨Ļ": 105888, + "ÙĦاØŃ": 105889, + "ĠгоÑģÑĥдаÑĢ": 105890, + "داÙĨÙĦÙĪØ¯": 105891, + "ĠпоÑĤÑĢеб": 105892, + "ĠÑĢоÑĨÑĸ": 105893, + "ога": 105894, + "ĠÑģледÑĥеÑĤ": 105895, + "ĠпаÑĢа": 105896, + "é¼": 105897, + "ãģįãģŁ": 105898, + "ίζ": 105899, + "Ġbá»ij": 105900, + "ÑĤÑĸв": 105901, + "ï¼Į她": 105902, + "familia": 105903, + "éłħ": 105904, + "ĠدÙĦ": 105905, + "Ġskup": 105906, + "еÑĩение": 105907, + "ãģĵãģ¨ãģĮ": 105908, + "à¥Ģब": 105909, + "ุล": 105910, + "¨ë¶Ģ": 105911, + "ĠاÙĦعرب": 105912, + "Ġç¾İ": 105913, + "ĠاÙĦÙħÙĪ": 105914, + "ĠØ¥ÙĨ": 105915, + "Ġnásled": 105916, + "Ġtomu": 105917, + "ÎĦ": 105918, + "Ġзави": 105919, + "Ġnhu": 105920, + "ĠpÅĻedstav": 105921, + "ìłķë³´": 105922, + "okol": 105923, + "ĠкÑĢи": 105924, + "adu": 105925, + "ĠкаÑĤ": 105926, + "ĠÑįÑĦ": 105927, + "вал": 105928, + "mayı": 105929, + "ĠÑĩаÑģÑĤо": 105930, + "Ġtranh": 105931, + "ائÙĦ": 105932, + "ãĤĪãģĨãģª": 105933, + "Ġpoh": 105934, + "ìĥģìľĦ": 105935, + "Ġsắc": 105936, + "Ùĥس": 105937, + "ĠмÑĥ": 105938, + ".::": 105939, + "ëĪ": 105940, + "»Ċ": 105941, + "ĠÙĨÚ¯": 105942, + "ÙIJÙĨ": 105943, + "ником": 105944, + "Ñħа": 105945, + "ĠμοÏħ": 105946, + "ĠNguyá»ħn": 105947, + "ĠвÑĭÑģок": 105948, + "ĠÐŁÐ¾Ð´": 105949, + "ĠпÑĢиÑĢод": 105950, + "à¥ĭध": 105951, + "िà¤ķल": 105952, + "иÑĢа": 105953, + "ëĭ¤ê³ł": 105954, + "ĠmajÃŃ": 105955, + "Ġvùng": 105956, + "Ġtarihinde": 105957, + "ĠваÑĢ": 105958, + "ниÑĤÑĮ": 105959, + "ειÏĤ": 105960, + "Ġåĩº": 105961, + "dyž": 105962, + "ÏĦÏİν": 105963, + "ä½ĵèĤ²": 105964, + "Ġà¹Ģว": 105965, + "Ġà¤ħà¤ļ": 105966, + "ĠاÙĨÚ¯ÙĦÛĮسÛĮ": 105967, + "à¥įयम": 105968, + "ĠgeliÅŁ": 105969, + "æ¹ĸ": 105970, + "Ġاک": 105971, + "Ġплан": 105972, + "kyt": 105973, + "ابÛĮ": 105974, + "κι": 105975, + "Ġchung": 105976, + "ानà¤ķ": 105977, + "sı": 105978, + "Ġtinh": 105979, + "ĠÑģÑĤол": 105980, + "ÑģÑĤÑĢÑĥ": 105981, + "ĠлиÑĪе": 105982, + "ĠвиÑĢоб": 105983, + "ilmiÅŁ": 105984, + "ĠзÑĸ": 105985, + "ç»Ĩ": 105986, + "åĢĴ": 105987, + "ãĤ·ãĥ£": 105988, + "åŃ©": 105989, + "Ġà¹Ĥรà¸ĩà¹Ģร": 105990, + "íĻľ": 105991, + "ĠбÑĥде": 105992, + "ĠyaklaÅŁ": 105993, + "èĩªåĪĨ": 105994, + "ĠÙģÙĪ": 105995, + "СТ": 105996, + "Ġsorun": 105997, + "à¹Ģà¸ł": 105998, + "Ġcô": 105999, + "виÑĩ": 106000, + "ëĵ¤ìĿĺ": 106001, + "Ġtriá»ĩu": 106002, + "Ġrõ": 106003, + "Ġãģ«": 106004, + "ÄŁim": 106005, + "iyoruz": 106006, + "èľ": 106007, + "à¥įरव": 106008, + "Ġسپ": 106009, + "ĠìĦľìļ¸": 106010, + "δε": 106011, + "еÑĢÑĪ": 106012, + "Ġأس": 106013, + "äºŀ": 106014, + "è¯į": 106015, + "пÑĤом": 106016, + "ฤษ": 106017, + "ĠسازÙħاÙĨ": 106018, + "Ġluôn": 106019, + "ÙĩÙĪØ±": 106020, + "cü": 106021, + "аÑĤкÑĥ": 106022, + "Ġolabilir": 106023, + "ĠìĹ°êµ¬": 106024, + "енной": 106025, + "ĠæĪij": 106026, + "Ġнего": 106027, + "Ġ.**************": 106028, + "ิà¸ĺ": 106029, + "ĠãĤ·": 106030, + "تÙģ": 106031, + "ÐŁÑĢо": 106032, + "Ġhakkında": 106033, + "ÄįnÄĽ": 106034, + "ĠMỹ": 106035, + "é½": 106036, + "ĠÏĥÏĦον": 106037, + "Ġâm": 106038, + "§ظ": 106039, + "ĠÅŁirket": 106040, + "æĥħåĨµ": 106041, + "ĠØ¢ÙħÙĪØ²Ø´": 106042, + "λεÏħ": 106043, + "ÙħÙĩ": 106044, + "è¦ı": 106045, + "ã썿ĢĿ": 106046, + "ĠÙĪØ¹": 106047, + "ÏĪη": 106048, + "ÏģοÏį": 106049, + "ĠÂłĊ": 106050, + "δη": 106051, + "ÑĪов": 106052, + "åΤ": 106053, + "Ġmắt": 106054, + "æĭ¿": 106055, + "à¸Ļà¸Ķ": 106056, + "éĻĦ": 106057, + "à¹īม": 106058, + "ĠÄijạt": 106059, + "Ġgüzel": 106060, + "mÃ¼ÅŁ": 106061, + "ÐŀÐĴ": 106062, + "çĭ¬": 106063, + "리를": 106064, + "ĠплаÑĤ": 106065, + "Ġnghá»ĭ": 106066, + "ĠÑĤакиÑħ": 106067, + "биÑĢа": 106068, + "Ġнек": 106069, + "ÑģÑĮкÑĸ": 106070, + "رÙĬاض": 106071, + "onu": 106072, + "à¥ĭम": 106073, + "ĠGiỼi": 106074, + "èŀį": 106075, + "é²": 106076, + "ĠGenel": 106077, + "åĬ¿": 106078, + "ĠвÑĸ": 106079, + "å§IJ": 106080, + "試": 106081, + "ĠжиÑĤÑĤÑı": 106082, + "Ġìĺ¨": 106083, + "åĩºæĿ¥": 106084, + "Ġtá»ij": 106085, + "Ġlao": 106086, + "ίο": 106087, + "Ġγα": 106088, + "ниÑĤелÑĮ": 106089, + "éļİ": 106090, + "Ġвикон": 106091, + "ĠÙģØ¹Ø§ÙĦ": 106092, + "à¹Ģศ": 106093, + "ÏĮγ": 106094, + "ĠоÑĢганиз": 106095, + "ĠемÑĥ": 106096, + "ĠÙĬع": 106097, + "ĠÙħب": 106098, + "ालय": 106099, + "ĠÎľÏĢ": 106100, + "é¸": 106101, + "ùa": 106102, + "길": 106103, + "ĠÄIJiá»ģu": 106104, + "είο": 106105, + "äºī": 106106, + "ượt": 106107, + "ÑĢазÑĥ": 106108, + "ĠоÑĤÑĢим": 106109, + "Ġطب": 106110, + "Ġ以": 106111, + "æĸĹ": 106112, + "ë°±": 106113, + "à¤ĩस": 106114, + "ë§ĮìĽIJ": 106115, + "ãĢģãģĿãģ®": 106116, + "ĠëķĮ문": 106117, + "ĠØ¢ÛĮ": 106118, + "Ð¡Ðł": 106119, + "ضÙĦ": 106120, + "æĵį": 106121, + "kazy": 106122, + "สว": 106123, + "âng": 106124, + "à¤Ĥà¤Ń": 106125, + "нÑĸÑĩ": 106126, + "ัà¸ĩà¸ģ": 106127, + "ĠبررسÛĮ": 106128, + "ردÙĩ": 106129, + "Ġmẫu": 106130, + "à¹Īวà¸ĩ": 106131, + "ĠداÙĨشگاÙĩ": 106132, + "dıģ": 106133, + "ĠTá»ķng": 106134, + "第äºĮ": 106135, + "cÃŃm": 106136, + "Ġböyle": 106137, + "ë¶Ī": 106138, + "ĠÙħÙĨابع": 106139, + "à¥ĥष": 106140, + "еÑĤÑĭ": 106141, + "åĨ·": 106142, + "åĽŃ": 106143, + "ĠتÙĪØ¬Ùĩ": 106144, + "åĪ»": 106145, + "æŀģ": 106146, + "à¤Łà¤¨": 106147, + "лан": 106148, + "ĠíĥĢ": 106149, + "ä½IJ": 106150, + "ĠобÑĭ": 106151, + "å¸Ŀ": 106152, + "커": 106153, + "å®Ī": 106154, + "èµ·æĿ¥": 106155, + "Ġãĥ¬": 106156, + "çİī": 106157, + "à¹Ģหล": 106158, + "ине": 106159, + "หาร": 106160, + "éļı": 106161, + "Ġгаз": 106162, + "ĠاÙĦعÙħÙĦ": 106163, + "à¥ģà¤Ŀ": 106164, + "Ïģιο": 106165, + "Ġvám": 106166, + "ĠعÙĨد": 106167, + "ÙĨدگاÙĨ": 106168, + "ï¼ĮéĤ£": 106169, + "ĠнаÑħод": 106170, + "áno": 106171, + "ÛĮاÙĨ": 106172, + "Ġأع": 106173, + "ĠÑĢади": 106174, + "Ġмене": 106175, + "Ġúda": 106176, + "Ïĩν": 106177, + "ÑĥлÑıÑĢ": 106178, + "à¥Ģप": 106179, + "ĠpoužÃŃ": 106180, + "Ġä¸": 106181, + "ĠÙĤاÙĨÙĪÙĨ": 106182, + "ικοÏį": 106183, + "áy": 106184, + "Ġçöz": 106185, + "ÏĦÏģ": 106186, + "ÙĨاÙħ": 106187, + "ุà¸ķ": 106188, + "åĵª": 106189, + "ÙĬب": 106190, + "ä¹°": 106191, + "ÐĶлÑı": 106192, + "ĠëłĪ벨": 106193, + "ุà¸ļ": 106194, + "нÑĥÑĤи": 106195, + "è½»": 106196, + "Ġξα": 106197, + "Ġè¦": 106198, + "аÑĤков": 106199, + "ĠëĪĦ": 106200, + "Ġtuyá»ĥn": 106201, + "ÙİÙħ": 106202, + "ĠвÑĭпол": 106203, + "Ġstudi": 106204, + "ĠpÅĻek": 106205, + "Ġзам": 106206, + "Ġmateri": 106207, + "åİĭ": 106208, + "Ġал": 106209, + "Ġà¸ļร": 106210, + "Ø·ØŃ": 106211, + "ĠÙħرک": 106212, + "Ġìĭ¬": 106213, + "ĠÙĤابÙĦ": 106214, + "ĠÐIJле": 106215, + "ıntı": 106216, + "Ġå»": 106217, + "İK": 106218, + "ëħĦëıĦ": 106219, + "ÑĭваÑĤÑĮ": 106220, + "Ġdevlet": 106221, + "社ä¼ļ": 106222, + "ëĤł": 106223, + "Ġkolay": 106224, + "ĠÑĢазвиÑĤи": 106225, + "ади": 106226, + "ئÙĬس": 106227, + "adıģı": 106228, + "ÎijÎĽ": 106229, + "Ġhoa": 106230, + "Ġศ": 106231, + "Ä±ÅŁtır": 106232, + "ÑĢÑİ": 106233, + "ĠкаÑĩе": 106234, + "¼åIJĪ": 106235, + "åħ´": 106236, + "Ġê·¸ëŁ¬": 106237, + "ĠмÑĸÑģÑĤ": 106238, + "Ġмне": 106239, + "ãĥ¼ãĤº": 106240, + "ç§Ģ": 106241, + "ĠعÙĦÙĬÙĩ": 106242, + "Ġìĭľê°Ħ": 106243, + "Ġà¤ĺर": 106244, + "ĠÑĥг": 106245, + "åıijå±ķ": 106246, + "Ä±ÅŁÄ±": 106247, + "ĠìĪľ": 106248, + "ĠíĻľ": 106249, + "æ¡£": 106250, + "Ġnokt": 106251, + "lém": 106252, + "еннÑĭй": 106253, + "ĠبÙħ": 106254, + "à¥ĩय": 106255, + "одав": 106256, + "à¹Ĥร": 106257, + "ï¼Įæľī": 106258, + "اÙĬات": 106259, + "اÛĮÙĩ": 106260, + "Ġà¤īपय": 106261, + "ĠsmÄĽ": 106262, + "شد": 106263, + "ШÐIJ": 106264, + "ĠاÙħاÙħ": 106265, + "æ¿Ģ": 106266, + "Ġhoạch": 106267, + "обÑĢаз": 106268, + "à¥ĭह": 106269, + "ĠÑĢебен": 106270, + "иÑĤелÑı": 106271, + "ãģªãģĮãĤī": 106272, + "ساÙĦ": 106273, + "Ġà¸Īำ": 106274, + "Ġخاص": 106275, + "Ġgeri": 106276, + "à¤ĺ": 106277, + "Ġìº": 106278, + "à¹ģà¸Ĺ": 106279, + "âĢĮÛĮ": 106280, + "گرÛĮ": 106281, + "اÙħبر": 106282, + "ÑĪÑĥ": 106283, + "Ġphong": 106284, + "имо": 106285, + "па": 106286, + "Ġìµľê³ł": 106287, + "Ġнам": 106288, + "ostÃŃ": 106289, + "isini": 106290, + "ĠдÑĥже": 106291, + "Ñģком": 106292, + "ĠпÑĢодÑĥк": 106293, + "ÏĮÏĦηÏĦα": 106294, + "aln": 106295, + "isine": 106296, + "è¿ľ": 106297, + "алÑĮной": 106298, + "तर": 106299, + "tıģ": 106300, + "ĠëĴ": 106301, + "è¿ĺæĺ¯": 106302, + "ĠÙħØ«ÙĦ": 106303, + "ìľ¨": 106304, + "ï¾ĺ": 106305, + "åΏ": 106306, + "ç¶ļ": 106307, + "جاد": 106308, + "ĠкÑĥ": 106309, + "åĢij": 106310, + "ovu": 106311, + "ĠsÄ©": 106312, + "ĠìłIJ": 106313, + "ĠÑĥÑĢов": 106314, + "िà¤ļ": 106315, + "ovali": 106316, + "ĠÙĪÙĨ": 106317, + "ĠìĿĮ": 106318, + "Ġкг": 106319, + "าà¸ĺ": 106320, + "ÏĦÏģα": 106321, + "ždy": 106322, + "à¹Įà¸ķ": 106323, + "ĠnÄĽm": 106324, + "ĠЦе": 106325, + "noho": 106326, + "Ġëĭ¤ìĭľ": 106327, + "Ġtéto": 106328, + "Ġbiá»ĥu": 106329, + "ĠYön": 106330, + "Ġpráce": 106331, + "à¥īर": 106332, + "ĠchÃŃ": 106333, + "овой": 106334, + "Ġmợ": 106335, + "說": 106336, + "ÏİÏĤ": 106337, + "волÑı": 106338, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 106339, + "實": 106340, + "é»ŀ": 106341, + "Ġà¤ıव": 106342, + "Ïħνα": 106343, + "岡": 106344, + "không": 106345, + "ĠpÅĻÃŃpadÄĽ": 106346, + "åĹ": 106347, + "ĠبدÙĪÙĨ": 106348, + "Ïĥκε": 106349, + "Ġdikkat": 106350, + "ĠAncak": 106351, + "Ġtiá»ĩn": 106352, + "éĿĻ": 106353, + "ĠìĿ¼ë°ĺ": 106354, + "ĠÄįlen": 106355, + "ìķħ": 106356, + "ाà¤ĩन": 106357, + "ãģ£ãģ¦ãģĦãģŁ": 106358, + "ĠìĿ´ìļ©": 106359, + "ÙĪÙħÛĮ": 106360, + "iná": 106361, + "ặng": 106362, + "ÏİÏģα": 106363, + "ÙĨÙĬØ©": 106364, + "важ": 106365, + "èİ·": 106366, + "å©ļ": 106367, + "ĠÅŁu": 106368, + "ĠãģĬ": 106369, + "Ġدرب": 106370, + "Ġdiá»ħn": 106371, + "ÅĻeba": 106372, + "asının": 106373, + "ç½ijç«Ļ": 106374, + "нÑĮого": 106375, + "ĠاÙĦØ£ÙĪÙĦ": 106376, + "ικÎŃÏĤ": 106377, + "ĠzÃŃsk": 106378, + "оло": 106379, + "ĠÑįÑĤоÑĤ": 106380, + "Ġpokud": 106381, + "è²»": 106382, + "еÑĢÑĸв": 106383, + "ãĥķãĤ£": 106384, + "иÑĤÑĥа": 106385, + "Ġvyd": 106386, + "олож": 106387, + "лÑıÑĤÑĮ": 106388, + "ÙĤÙħ": 106389, + "æ´ĭ": 106390, + "æ§ĭ": 106391, + "ĠغÛĮر": 106392, + "ĠstÅĻed": 106393, + "ظر": 106394, + "Ġhiçbir": 106395, + "θεί": 106396, + "znik": 106397, + "дÑĭ": 106398, + "luv": 106399, + "ĠÙħؤ": 106400, + "ĠگرÙĪÙĩ": 106401, + "Ġï¼īĊ": 106402, + "teri": 106403, + "ĠÏħÏĢο": 106404, + "voj": 106405, + "Ġبعض": 106406, + "Ġbilin": 106407, + "ĠرÙĪØ´": 106408, + "ĠобÑıз": 106409, + "Ġï»": 106410, + "سÙĨ": 106411, + "ĠÏĢα": 106412, + "íį¼": 106413, + "ĠtÃŃn": 106414, + "Ġ´": 106415, + "ìĤ¬ìĿ´íĬ¸": 106416, + "Ġpodob": 106417, + "Ñīее": 106418, + "ĠåįĹ": 106419, + "Ġbych": 106420, + "ози": 106421, + "ĠVÄĥn": 106422, + "ØŃÙĩ": 106423, + "åѦéĻ¢": 106424, + "ĠÅĻekl": 106425, + "립ëĭĪëĭ¤": 106426, + "ĠпÑĢоÑģ": 106427, + "κά": 106428, + "ĠbaÅŁladı": 106429, + "á»§y": 106430, + "Ñİдж": 106431, + "ाà¤ıà¤Ĺ": 106432, + "à¤Ĥà¤ļ": 106433, + "Ġê´Ģ볨": 106434, + "ĠвопÑĢоÑģ": 106435, + "ĠÑģÑĤаÑĤÑĮ": 106436, + "Ġyatırım": 106437, + "нÑĥла": 106438, + "راÙģ": 106439, + "ĠçeÅŁit": 106440, + "Ġà¤īद": 106441, + "央": 106442, + "ĠпоÑıв": 106443, + "åĽ½å®¶": 106444, + "ĠÑģооÑĤвеÑĤÑģÑĤв": 106445, + "ìķ¡": 106446, + "ĠØ®ÙĪØ§Ùĩد": 106447, + "ššÃŃ": 106448, + "ÂłÐ¿": 106449, + "ĠNhÃł": 106450, + "''''": 106451, + "ィ": 106452, + "Ãħ": 106453, + "Ġïº": 106454, + "ĠØ¢ÙħرÛĮÚ©": 106455, + "larımız": 106456, + "جا": 106457, + "ÙģÙĤ": 106458, + "Ġá»": 106459, + "Ġìķł": 106460, + "ĠزباÙĨ": 106461, + "ĠÑĤвоÑĢ": 106462, + "ниÑĩеÑģ": 106463, + "Ġкни": 106464, + "خداÙħ": 106465, + "à¸Łà¸£": 106466, + "Ġì¹ĺ": 106467, + "วาม": 106468, + "ĠÙħÙĩÙħ": 106469, + "Ġstol": 106470, + "Ġedilen": 106471, + "Ġpek": 106472, + "اÙĨات": 106473, + "алÑĮнÑĸ": 106474, + "ĠнеобÑħÑĸд": 106475, + "à¹Ħว": 106476, + "Ġशर": 106477, + "ĠíĮIJ": 106478, + "Òij": 106479, + "Ġним": 106480, + "Ġà¸ĺ": 106481, + "æĺł": 106482, + "äºĴ": 106483, + "ĠbaÅŁar": 106484, + "ži": 106485, + "Ġмног": 106486, + "lendi": 106487, + "ávajÃŃ": 106488, + "nict": 106489, + "ĠдÑĥм": 106490, + "éĻ©": 106491, + "ÏĥÏĥ": 106492, + "iky": 106493, + "алÑĮнÑĭй": 106494, + "ĠÙħÙĨت": 106495, + "å®®": 106496, + "-за": 106497, + "еÑĢк": 106498, + "å¡Ķ": 106499, + "ĠμεÏĦα": 106500, + "oÄŁun": 106501, + "ÎĹÎľ": 106502, + "à¥Īà¤Ĥ।Ċ": 106503, + "Äįky": 106504, + "å¹³åı°": 106505, + "à¥ĭश": 106506, + "Ġona": 106507, + "Ġbec": 106508, + "ì¢": 106509, + "Ġcây": 106510, + "kün": 106511, + "Ġà¤Ī": 106512, + "Ġrá»Ļng": 106513, + "еÑĢб": 106514, + "幸": 106515, + "ï¾IJ": 106516, + "ĠпÑĸдпÑĢиÑĶм": 106517, + "çĶ£": 106518, + "ĠÏĦε": 106519, + "ĠÙĨÙĤØ´": 106520, + "овиÑħ": 106521, + "ĠÙģÙī": 106522, + "Ðļак": 106523, + "ÙİØ±": 106524, + "ĠЩ": 106525, + "алÑĮнÑĭÑħ": 106526, + "Ġküçük": 106527, + "èŃ·": 106528, + "æĭħ": 106529, + "icaret": 106530, + "ĠرÙģØª": 106531, + "Ġодного": 106532, + "ÑĪим": 106533, + "ĠбÑĸ": 106534, + "Ġuygulam": 106535, + "Ġæĭ": 106536, + "ä½Ľ": 106537, + "ucu": 106538, + "dÃŃ": 106539, + "Åĺ": 106540, + "ئة": 106541, + "걸": 106542, + "ÙĮ": 106543, + "ĠÎłÏģο": 106544, + "Ġyerine": 106545, + "ĠÑĸнÑĦоÑĢма": 106546, + "Ġå¤ĸ": 106547, + "ä»ķ": 106548, + "нав": 106549, + "arası": 106550, + "à¸Ńà¸Ļà¹Ħลà¸Ļ": 106551, + "اشت": 106552, + "زÙĬ": 106553, + "æ©ĭ": 106554, + "ĠãĤ«": 106555, + "èĥ½åĬĽ": 106556, + "å¥Ĺ": 106557, + "Ġproh": 106558, + "ĠпÑĢава": 106559, + "Ỽp": 106560, + "Ġà¸Ĥà¸Ńà¸ĩ": 106561, + "Ġë´": 106562, + "Ġlúc": 106563, + "Ġéķ": 106564, + "بÙĪØ¯": 106565, + "rupa": 106566, + "ازÙħ": 106567, + "Ġкан": 106568, + "ılım": 106569, + "ĠÙĩد": 106570, + "ãĢĢĠãĢĢĠãĢĢ": 106571, + "ÑĭваеÑĤ": 106572, + "خاÙĨÙĩ": 106573, + "ÑĥкÑĤ": 106574, + "ĠçĻ¾åº¦": 106575, + "ĠnÄĽco": 106576, + "емон": 106577, + "Ġà¤ħप": 106578, + "ĠÎĮ": 106579, + "ünün": 106580, + "æĸĩåĮĸ": 106581, + "ä¹İ": 106582, + "ä¸ĬçļĦ": 106583, + "ÙĦÙĬÙħ": 106584, + "ĠtÄĽch": 106585, + "اسب": 106586, + "âĢĻÑĶ": 106587, + "ĠÚ¯ÛĮ": 106588, + "Ġê·¼": 106589, + "Ġtrẻ": 106590, + "μÎŃνο": 106591, + "ãģĵãģ¨ãĤĴ": 106592, + "ìĿ´ëĤĺ": 106593, + "åĸĦ": 106594, + "Ġtrả": 106595, + "åĪĨæŀIJ": 106596, + "ĠdÄĽl": 106597, + "ÑĥÑģка": 106598, + "Ġмного": 106599, + "à¥Īर": 106600, + "μαÏĦοÏĤ": 106601, + "ĠmÃŃsto": 106602, + "Ġê°ģ": 106603, + "ĠпÑĢог": 106604, + "baÅŁ": 106605, + "айÑĤе": 106606, + "Ġcá»ķ": 106607, + "å¿ľ": 106608, + "ï¼ģĊ": 106609, + "çı": 106610, + "Ġbirçok": 106611, + "Ġíĺķ": 106612, + "çµĮ": 106613, + "ĠEvrop": 106614, + "ĠÑģоÑĨÑĸ": 106615, + "ä»ĸçļĦ": 106616, + "ĠμÏĢο": 106617, + "å¥Ī": 106618, + "ĠÚ¯ÙĦ": 106619, + "ÙĪÙĦØ©": 106620, + "æµİ": 106621, + "ĠÚ©ÙĪ": 106622, + "±ä¹IJ": 106623, + "ãģĹãģı": 106624, + "纳": 106625, + "ÑģÑĤвенно": 106626, + "éĽ¢": 106627, + "ा.": 106628, + "ĠgerçekleÅŁtir": 106629, + "Ġkır": 106630, + "ì³": 106631, + "ĠгоÑģп": 106632, + "å¹ķ": 106633, + "ìĦ¼": 106634, + "».Ċ": 106635, + "кÑĥÑĢ": 106636, + "ĠرÛĮ": 106637, + "æĽ¾": 106638, + "ÙĪØ±ÙĬ": 106639, + "лекÑģанд": 106640, + "صÙģ": 106641, + "Ġcảnh": 106642, + "å±Ĥ": 106643, + "ãĤĨ": 106644, + "Ġتس": 106645, + "ì°½": 106646, + "기를": 106647, + "Ġà¹Ģà¸Ħ": 106648, + "çŁŃ": 106649, + "ĠÑģÑĤÑĢо": 106650, + "ĠÏĥÏĦιÏĤ": 106651, + "à¥įयव": 106652, + "ĠعÙĦÙħ": 106653, + "ĠÑģиÑĤÑĥа": 106654, + "ĠÑīодо": 106655, + "åIJĽ": 106656, + "Ùħس": 106657, + "ĠоÑĤкÑĢÑĭ": 106658, + "Ġspoj": 106659, + "ĠÄijÄĥng": 106660, + "ĠsavaÅŁ": 106661, + "ีร": 106662, + "ském": 106663, + "Ġè¡Į": 106664, + "é¹": 106665, + "ĠÙĬÙħÙĥÙĨ": 106666, + "овано": 106667, + "ĠпÑĢавилÑĮ": 106668, + "Ġchiếc": 106669, + "èι": 106670, + "éĵ¶": 106671, + "ĠоÑĤд": 106672, + "ĠìĿĢ": 106673, + "íħĶ": 106674, + "ĠNej": 106675, + "оне": 106676, + "Ġkız": 106677, + "ологиÑĩеÑģ": 106678, + "ĠкÑĢаÑĹ": 106679, + "à¸ļà¸Ńล": 106680, + "楼": 106681, + "ĠتÙħاÙħ": 106682, + "ĠبÛĮÙħ": 106683, + "ĠÑģÑĥб": 106684, + "vý": 106685, + "Ñģкие": 106686, + "ëĮĢë¡ľ": 106687, + "????????": 106688, + "abilirsiniz": 106689, + "анÑģов": 106690, + "代表": 106691, + "Ġ매매": 106692, + "ологÑĸÑĩ": 106693, + "μαν": 106694, + "акÑģим": 106695, + "ãĤ¤ãĥ«": 106696, + "Ġtải": 106697, + "ÙħÙĪ": 106698, + "å®Ĺ": 106699, + "nem": 106700, + "Ġkhoản": 106701, + "ĠпаÑĤ": 106702, + "анÑĤа": 106703, + "ĠпомоÑī": 106704, + "Ġvod": 106705, + "Ġkaynak": 106706, + "ÏĥÏĨ": 106707, + "à¥Ĥत": 106708, + "duÄŁ": 106709, + "аÑĤиÑģÑı": 106710, + "Ġç¥ŀ": 106711, + "ĠÑģлова": 106712, + "ÑĢÑĥкÑĤÑĥ": 106713, + "ĠmÄĽsÃŃ": 106714, + "ÙıÙħ": 106715, + "знаÑĩа": 106716, + "Ġèī": 106717, + "åѦçĶŁ": 106718, + "æ´¥": 106719, + "ÙİÙĬ": 106720, + "è§Ī": 106721, + "Ġå®ī": 106722, + "ĠgörÃ¼ÅŁ": 106723, + "álnÄĽ": 106724, + "ĠëͰëĿ¼": 106725, + "ĠÙħÙĪØ¬ÙĪØ¯": 106726, + "ĠÄijứ": 106727, + "ĠçalÄ±ÅŁmalar": 106728, + "ĠÑıкиÑħ": 106729, + "ĠاجتÙħاع": 106730, + "μεν": 106731, + "èİī": 106732, + "积": 106733, + "ì¶ķ": 106734, + "à¥įशन": 106735, + "Ġxét": 106736, + "ĠвÑĤоÑĢ": 106737, + "çİ©": 106738, + "ÂłÐĿ": 106739, + "ÑĪие": 106740, + "оÑĢи": 106741, + "أس": 106742, + "Ġthuá»ijc": 106743, + "ëĭĪê¹Į": 106744, + "ëķĮ": 106745, + "ÑĢÑĥп": 106746, + "ÑģÑıÑĤ": 106747, + "зÑĭ": 106748, + "ĠÑģмеÑĢ": 106749, + "Ġvyb": 106750, + "ĠìĿ´ìĥģ": 106751, + "à¤ļन": 106752, + "Ġgeldi": 106753, + "Û±Û°": 106754, + "ικÏİν": 106755, + "ĠÄIJức": 106756, + "ĠдоÑģÑĤаÑĤ": 106757, + "Ġönc": 106758, + "親": 106759, + "Ġadı": 106760, + "unca": 106761, + "ĠاÙĦتر": 106762, + "çķ¶": 106763, + "ĠФедеÑĢа": 106764, + "лÑıÑİÑĤÑģÑı": 106765, + "ĠÙĥاÙĨت": 106766, + "æİ¢": 106767, + "ĠÑĥб": 106768, + "Ġκο": 106769, + "ाà¤ĩà¤Ł": 106770, + "зн": 106771, + "Ġmôi": 106772, + "ĠãĤµ": 106773, + "ĠнавÑĸ": 106774, + "综åIJĪ": 106775, + "ĠминÑĥÑĤ": 106776, + "dık": 106777, + "ÑĢÑĥд": 106778, + "åľĸ": 106779, + "ê°¤": 106780, + "ĠÄijoÃłn": 106781, + "è¤": 106782, + "à¥įवर": 106783, + "ĠÃľniversit": 106784, + "ано": 106785, + "鼨": 106786, + "ĠvÅ¡echny": 106787, + "Ġëĭ¤ìĿĮ": 106788, + "ĠCumhur": 106789, + "ĠмÑĥз": 106790, + "aÅŁtır": 106791, + "Ġê±°ëŀĺ": 106792, + "Ġé¡": 106793, + "žitÃŃ": 106794, + "Ġà¸Ł": 106795, + "Ġthuế": 106796, + "ĠмÑĥж": 106797, + "ĠÎijν": 106798, + "ĠدÙĪÙħ": 106799, + "ĠÑģин": 106800, + "ĠÏīÏĤ": 106801, + "meler": 106802, + "ĠpoÄį": 106803, + "ĠколиÑĩе": 106804, + "ĠKÄį": 106805, + "è³½": 106806, + "ĠоÑģÑĸб": 106807, + "åı¥": 106808, + "ĠBöl": 106809, + "à¸ĺรรม": 106810, + "Ġcạnh": 106811, + "å°ĩ": 106812, + "ĠноÑģ": 106813, + "èĦ¸": 106814, + "Ġgelir": 106815, + "оÑĢон": 106816, + "à¥įरà¤Ń": 106817, + "ç»ĩ": 106818, + "ุà¹ī": 106819, + "ामल": 106820, + "Ġcâu": 106821, + "ÑijÑĤ": 106822, + "Ġ:|": 106823, + "ãĤĮãģ¦": 106824, + "Ġposled": 106825, + "ãĤ¹ãĥĨ": 106826, + "ÑĸлÑĮÑĪ": 106827, + "енÑĤÑĭ": 106828, + "خدÙħ": 106829, + "ĠباشگاÙĩ": 106830, + "Ġthư": 106831, + "ávánÃŃ": 106832, + "ëĬIJ": 106833, + "ĠØ£ØŃ": 106834, + "راد": 106835, + "ĠبسÛĮار": 106836, + "åΰäºĨ": 106837, + "\";\"": 106838, + "å°İ": 106839, + "Ġör": 106840, + "à¸Ĭาà¸ķ": 106841, + "genus": 106842, + "Ġyakın": 106843, + "ĠÃŃt": 106844, + "regnum": 106845, + "Ġfiyat": 106846, + "нÑĸÑħ": 106847, + "åľ°æĸ¹": 106848, + "Ġbilgi": 106849, + "кам": 106850, + "Ġspol": 106851, + "ائÙĬ": 106852, + "ĠÙĬÙĨ": 106853, + "าหาร": 106854, + "Ġبگ": 106855, + "éĺħ": 106856, + "ĠاÙĦشر": 106857, + "Âģ": 106858, + "ĠÑĸнÑĪиÑħ": 106859, + "Ġtrạng": 106860, + "çģ£": 106861, + "Ġcá»±c": 106862, + "кан": 106863, + "èĭı": 106864, + "ÃĶ": 106865, + "Ġlá»Ŀi": 106866, + "ÑıÑĩ": 106867, + "ĠÙĪØŃ": 106868, + "ìĪľ": 106869, + "Ÿ": 106870, + "ĠвоÑģп": 106871, + "ì¡Į": 106872, + "ÄįnÃŃch": 106873, + "خرÙī": 106874, + "ائÙĬØ©": 106875, + "Ġsuất": 106876, + "æĩī": 106877, + "اØŃÛĮ": 106878, + "Ġnáz": 106879, + "è¿Ļç§į": 106880, + "ĠзабезпеÑĩ": 106881, + "ĠЧеÑĢ": 106882, + "ĠздÑĸйÑģ": 106883, + "åı¦": 106884, + "æĭ¬": 106885, + "à¥ģष": 106886, + "μÏĨ": 106887, + "ëĥIJ": 106888, + "ÐķÑģли": 106889, + "é¬": 106890, + "Ġíĥľ": 106891, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 106892, + "Ġмл": 106893, + "å´İ": 106894, + "Ù쨹": 106895, + "ĠÙĤدر": 106896, + "Ġvá»ijn": 106897, + "妹": 106898, + "ĠÐĿаÑģ": 106899, + "à¥įफ": 106900, + "ãĤ¸ãĥ£": 106901, + "Ġmı": 106902, + "енÑģ": 106903, + "бÑĥд": 106904, + "ĠØŃتÙī": 106905, + "Ġì²´": 106906, + "ĠÑĸÑģÑĤоÑĢ": 106907, + "Ġgiấy": 106908, + "γοÏģ": 106909, + "ëIJĺìĸ´": 106910, + "ĠíĤ": 106911, + "ĠÐŀдна": 106912, + "ĠÙĨÙħÙĪØ¯": 106913, + "Ġвипад": 106914, + "ĠìŀIJìĭł": 106915, + "Ġjste": 106916, + "Ġëĵ±ë¡Ŀ": 106917, + "ekten": 106918, + "ĠÑĢеÑĩ": 106919, + "rodnÃŃ": 106920, + "ستر": 106921, + "ıt": 106922, + "ä¹ħä¹ħ": 106923, + "ĠØ®ÙĦاÙĦ": 106924, + "Ġç¦": 106925, + "uluk": 106926, + "lenen": 106927, + "ilip": 106928, + "è´¢": 106929, + "Ġà¤ħà¤ķ": 106930, + "ĠYıl": 106931, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ": 106932, + "Ġà¤Ŀ": 106933, + "ĠBình": 106934, + "ĠolmuÅŁ": 106935, + "اÙĦØ¥ÙĨجÙĦÙĬزÙĬØ©": 106936, + "менно": 106937, + "alnız": 106938, + "ĠشرÙĥØ©": 106939, + "ĠسÙĨØ©": 106940, + "è´Ł": 106941, + "ä½ľåĵģ": 106942, + "Ġìķ½": 106943, + "ĠдÑĢÑĥгиÑħ": 106944, + "ĠbaÄŁlantı": 106945, + "одÑĥ": 106946, + "çļĦæĺ¯": 106947, + "ัà¸Ļà¸Ķ": 106948, + "ĠкоÑĤоÑĢÑĭÑħ": 106949, + "ĠاÙĦÙĪÙĦ": 106950, + "ê¸ĢìĥģìľĦ": 106951, + "ĠÏĢεÏģ": 106952, + "리ìķĦ": 106953, + "ibar": 106954, + "Ġèĥ": 106955, + "ãģŁãģĦ": 106956, + "áj": 106957, + "ĠìľĦíķ´": 106958, + "?âĢľĊĊ": 106959, + "Ġíİĺ": 106960, + "Ġней": 106961, + "ĠÐĹак": 106962, + "ĠÐĴÑĸд": 106963, + "елÑĸ": 106964, + "课": 106965, + "åī¯": 106966, + "madan": 106967, + "æľ«": 106968, + "ĠÏĢÏģÏĮ": 106969, + "ĠпÑģиÑħ": 106970, + "ĠÑĤÑĸ": 106971, + "Ùĥات": 106972, + "Ġvysok": 106973, + "ê´Ģ리": 106974, + "ültür": 106975, + "Ġà¹Ģà¸Ń": 106976, + "Ġíķ©": 106977, + "çĿ£": 106978, + "ĠÑĢиÑģ": 106979, + "еÑĢÑĮ": 106980, + "ĠÚ©ÙĦÛĮ": 106981, + "Ġãĥŀ": 106982, + "ĠphÃŃa": 106983, + "å«": 106984, + "اگ": 106985, + "Ġé¢": 106986, + "ĠÙĨÙ쨱": 106987, + "ĠجاÙĨ": 106988, + "Ġyas": 106989, + "жениÑı": 106990, + "ĠлÑĥÑĩÑĪе": 106991, + "Ġçº": 106992, + "Ġмон": 106993, + "Ġتخ": 106994, + "ĠØ´ÛĮ": 106995, + "ĠнекоÑĤоÑĢ": 106996, + "алÑĮнÑĭе": 106997, + "Ġobchod": 106998, + "Ġíķ¨ê»ĺ": 106999, + "Ġriêng": 107000, + "ãģķãĤĮãĤĭ": 107001, + "окÑĥ": 107002, + "ĠСШÐIJ": 107003, + "ë§ģ": 107004, + "ĠNếu": 107005, + "ĠAÄŁ": 107006, + "ĠдвеÑĢ": 107007, + "à¥ĭष": 107008, + "Ġkhiến": 107009, + "него": 107010, + "ì±ħ": 107011, + "ัà¸ķร": 107012, + "malı": 107013, + "ĠÙĬا": 107014, + "ç§ijæĬĢ": 107015, + "ืà¸Ļ": 107016, + "หมาย": 107017, + "Ġخص": 107018, + "åĨľ": 107019, + "ÃŃme": 107020, + "ĠÑįÑĤой": 107021, + "ĠìĹħ": 107022, + "Ġä¹": 107023, + "伯": 107024, + "'´": 107025, + "ÙħÙĬÙĦ": 107026, + "à¸Ńà¸ĩà¸Ħ": 107027, + "ková": 107028, + "è¿Ļä¹Ī": 107029, + "ãĢĤæĪij": 107030, + "ìĹIJìĦľëĬĶ": 107031, + "Ġìļ©": 107032, + "ë¹ĦìĬ¤": 107033, + "Ġì¦Ŀ": 107034, + "ITTE": 107035, + "Ġ모ëĵł": 107036, + "ĠspoleÄįnosti": 107037, + "Ġвик": 107038, + "ĠtÅĻÃŃ": 107039, + "é³": 107040, + "ĠØ®ÛĮ": 107041, + "Ġpož": 107042, + "ĠимееÑĤ": 107043, + "ĠdÄĽt": 107044, + "ĠÙħدÙĦ": 107045, + "Ġмо": 107046, + "åįı": 107047, + "enÃŃm": 107048, + "éī": 107049, + "اظ": 107050, + "ĠteÅŁ": 107051, + "ĠveÅĻej": 107052, + "LIC": 107053, + "ì§ĢëĬĶ": 107054, + "ÑĭваÑİÑĤ": 107055, + "ĠоÑĢганÑĸ": 107056, + "nÃŃmi": 107057, + "θÎŃ": 107058, + "ãĤ¯ãĥ©": 107059, + "ãĥ¼ãĥ³": 107060, + "лиÑģÑı": 107061, + "imdi": 107062, + "æĨ": 107063, + "ïºİ": 107064, + "Ġìļ´ìĺģ": 107065, + "καν": 107066, + "Ġë³µ": 107067, + "ĠÐĨн": 107068, + "plication": 107069, + "tah": 107070, + "ĠÐIJв": 107071, + "Ġcá»Ļng": 107072, + "алÑĮноÑĹ": 107073, + "ĠدÙĪØ±Ùĩ": 107074, + "à¥įरय": 107075, + "ĠØ®ÙĪ": 107076, + "ĠвÑĢа": 107077, + "Ø¥ÙĨ": 107078, + "èĤī": 107079, + "Ġoyn": 107080, + "ĠTư": 107081, + "ĠÙĩÙħاÙĨ": 107082, + "ĠбÑĸлÑĮÑĪе": 107083, + "æĮ¯": 107084, + "اÙħØ©": 107085, + "庫": 107086, + "ĠÑĢеж": 107087, + "ĠدارÙĨد": 107088, + "ÑĢий": 107089, + "ĠæĮ": 107090, + "Ġsonuç": 107091, + "Ġtả": 107092, + "ัà¸ĩà¸Ħ": 107093, + "ë°Ľ": 107094, + "Ġмом": 107095, + "виÑĩай": 107096, + ".à¸Ħ": 107097, + "Ġà¤Ĩà¤Ī": 107098, + "åģĩ": 107099, + "Ġposkyt": 107100, + "ĠÑģÑĥп": 107101, + "ıyordu": 107102, + "але": 107103, + "иÑĨ": 107104, + "ĠθÎŃ": 107105, + "ãĤĩãģĨ": 107106, + "ĠÑģвой": 107107, + "มà¸Ļ": 107108, + "Ġnữa": 107109, + "voÅĻ": 107110, + "اسÙĬ": 107111, + "éĴ±": 107112, + "ãģĹãģ¦ãģĦãģŁ": 107113, + "ĠÄijầy": 107114, + "اÙĬر": 107115, + "ĠaraÅŁtır": 107116, + "ì£": 107117, + "ãģ¨ãģ¯": 107118, + "ĠÑģпоÑĢ": 107119, + "Ġê°Ģìŀ¥": 107120, + "è¼ī": 107121, + "âĸ¡": 107122, + "ĠìĻĦ": 107123, + "оÑĢаÑı": 107124, + "Ïģεί": 107125, + "ĠÑįÑĤа": 107126, + "ë©´ìłģ": 107127, + "ìĿ´ìĬ¤": 107128, + "ä½³": 107129, + "æĻļ": 107130, + "Ġkval": 107131, + "Ġná»ķi": 107132, + "ÑĤами": 107133, + "ĠполÑĸÑĤи": 107134, + "Ġİng": 107135, + "нÑĸÑģÑĤÑİ": 107136, + "Ġà¹Ģà¸ģ": 107137, + "Ġ민": 107138, + "èĶ": 107139, + "Ïģία": 107140, + "æİĪ": 107141, + "ĠçĤ": 107142, + "ĠÙĨÙħاÛĮ": 107143, + "Ġìŀ¡": 107144, + "æŀ¶": 107145, + "ابÙĤ": 107146, + "Ñģон": 107147, + "енного": 107148, + "ĠÙħÛĮÙĦÛĮ": 107149, + "Ġkurum": 107150, + "à¹Įส": 107151, + "Ġì´Ŀ": 107152, + "ĠnÄĽkolik": 107153, + "ĠÙĢ": 107154, + "ĠзаÑģÑĤоÑģ": 107155, + "à¸Ķà¸Ļ": 107156, + "ÙĨداÙĨ": 107157, + "ĠJap": 107158, + "éĥ¡": 107159, + "à¥įà¤Ń": 107160, + "Ġà¹Ģà¸Ĭ": 107161, + "ĠâĢ«": 107162, + "é£ŀ": 107163, + "ovatel": 107164, + "ĠÑĩаÑģÑĤÑĮ": 107165, + "Ġbá»ķ": 107166, + "ãĤ¯ãĥª": 107167, + "ิà¹Į": 107168, + "Ġвиде": 107169, + "vail": 107170, + "Ìī": 107171, + "ÄŁinde": 107172, + "ãģ¨ãĤĤ": 107173, + "âĢĮÚ©ÙĨد": 107174, + "ĠëħĦ": 107175, + "ĠاÙĤتص": 107176, + "ï½Ĺ": 107177, + "ÏģιÏĥ": 107178, + "зд": 107179, + "èϽ": 107180, + "Ġthoại": 107181, + "ĠÙĪØ²": 107182, + "ĠmÃŃt": 107183, + "ĠÑħолод": 107184, + "ĠкÑĥп": 107185, + "аниÑħ": 107186, + "Ġnhìn": 107187, + "ãģĭãģª": 107188, + "ĠÐļом": 107189, + "ÏĦεÏģ": 107190, + "ï¼Įåıª": 107191, + "Ġolup": 107192, + "Ġhá»ıi": 107193, + "ëij": 107194, + "ĠnÄĽkter": 107195, + "isÃŃ": 107196, + "ĠвикоÑĢиÑģÑĤов": 107197, + "ìŀ¡": 107198, + "Ġà¤ķल": 107199, + "ĠìľłìłĢ": 107200, + "ĠпÑĢиб": 107201, + "èĭ¦": 107202, + "Ġмов": 107203, + "Ġหà¸Ļ": 107204, + "ëIJĺëĬĶ": 107205, + "око": 107206, + "ĠобеÑģп": 107207, + "Ġkez": 107208, + "лÑıÑħ": 107209, + "ĠпÑĢоиÑģ": 107210, + "Ġповин": 107211, + "ĠÐļоÑĢ": 107212, + "ì¼Ģ": 107213, + "ĠÑģи": 107214, + "Ġä¹ĭ": 107215, + "ĠâĢĶĊ": 107216, + "ÑģÑĥÑĤÑģÑĤв": 107217, + "ç°": 107218, + "Ġà¤ł": 107219, + "наÑĤ": 107220, + "Ġsuy": 107221, + "ĠÑģÑĭ": 107222, + "ĠÙĨشاÙĨ": 107223, + "ĠнапÑĢав": 107224, + "ĠÑĨÑĮомÑĥ": 107225, + "æĺ¯ä¸Ģ": 107226, + "Ġmüm": 107227, + "ÑĶмо": 107228, + "ĠاسÙĦاÙħÛĮ": 107229, + "Ġzamanda": 107230, + "ÙĪÙħاÙĨ": 107231, + "اÙĦØŃ": 107232, + "Å¡tÄĽnÃŃ": 107233, + "ĠÐļак": 107234, + "¤íĶĦ": 107235, + "Ġپرد": 107236, + "Các": 107237, + "εια": 107238, + "ĠجÙĪ": 107239, + "ĠÄijoạn": 107240, + "Ġà¤ĩत": 107241, + "Ġзан": 107242, + "ĠÙħÙĨØ·ÙĤÙĩ": 107243, + "ĠÙħعÙĦ": 107244, + "Ġdokon": 107245, + "åIJ¸": 107246, + "ickou": 107247, + "å°ģ": 107248, + "ĠкиÑģ": 107249, + "ัà¸ĩหว": 107250, + "ispecies": 107251, + "ĠнапÑĢÑı": 107252, + "æºĸ": 107253, + "Ġà¤ľà¤²": 107254, + "à¹Ģà¸ī": 107255, + "LAR": 107256, + "ĠÑĥÑģловиÑı": 107257, + "ĠWikispecies": 107258, + "ระà¸Ķ": 107259, + "Ġmey": 107260, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 107261, + "à¹ĩà¸Ī": 107262, + "å¾Ĵ": 107263, + "tach": 107264, + "umuz": 107265, + "κη": 107266, + "ÃĬ": 107267, + "Ġün": 107268, + "ĠBITTE": 107269, + "ĠÙħربع": 107270, + "ãĤ·ãĥ¥": 107271, + "िसà¤ķ": 107272, + "Ø·ÙĪØ±": 107273, + "ĠвоÑģ": 107274, + "ï¾Ł": 107275, + "Ġyayın": 107276, + "ãģĭãĤĬ": 107277, + "лиÑı": 107278, + "ĠпÑĢин": 107279, + "ijng": 107280, + "ĠÙĨØ®": 107281, + "Ġlze": 107282, + "à¥įषण": 107283, + "Ġбо": 107284, + "Ġê¸Ģ": 107285, + "ĠgeliÅŁtir": 107286, + "à¸Ľà¸£à¸°à¸Ĭ": 107287, + "彡": 107288, + "ĠãĤª": 107289, + "ãģĪãģ¦": 107290, + "нÑĥÑĤÑĮ": 107291, + "Ġç½": 107292, + "Ġмаг": 107293, + "ãģ«ãģ¤": 107294, + "ноÑģÑĤей": 107295, + "ĠÙĦÙĬ": 107296, + "æĢª": 107297, + "ÑıÑĤÑģÑı": 107298, + "à¸ij": 107299, + "ियम": 107300, + "ĠãĢİ": 107301, + "ÑĢÑĮ": 107302, + "Ġmạng": 107303, + "tım": 107304, + "ĠпеÑĢиод": 107305, + "огÑĥ": 107306, + "ĠкоÑĤоÑĢаÑı": 107307, + "리ê°Ģ": 107308, + "Ġãħ¡": 107309, + "ĠجاÛĮ": 107310, + "ĠпоÑĤÑĢÑĸб": 107311, + "Å¡en": 107312, + "à¸Ńะ": 107313, + "بع": 107314, + "ØŁĊ": 107315, + "Ġë°©ë²ķ": 107316, + "ĠгоÑĢод": 107317, + "ĠÐĺн": 107318, + "Ġоказ": 107319, + "رÙĪØ²": 107320, + "ĠiliÅŁk": 107321, + "宣": 107322, + "forman": 107323, + "adaÅŁ": 107324, + "ÙĬÙĦØ©": 107325, + "ĠÐļаÑĢ": 107326, + "Ġmất": 107327, + "æħĭ": 107328, + "мп": 107329, + "à¹Ĥà¸Ļ": 107330, + "ĠØŃÙĤÙĪÙĤ": 107331, + "ĠднÑı": 107332, + "ĠëĴ¤": 107333, + "ाà¤ķर": 107334, + "ì²ĺëŁ¼": 107335, + "âĢĮØ¢": 107336, + "hangi": 107337, + "è¡ĮæĶ¿": 107338, + "aliyet": 107339, + "Ġì²ľ": 107340, + "ĠYap": 107341, + "à¹Ĥรà¸ĩ": 107342, + "ì§Ģëħ¸": 107343, + "ÙİÙij": 107344, + "ÎijÎĻ": 107345, + "ána": 107346, + "andır": 107347, + "ระà¸ļà¸ļ": 107348, + "oÄŁlu": 107349, + "าà¸Īะ": 107350, + "ẩy": 107351, + "اÙĪÙĦ": 107352, + "ĠмаÑĤеÑĢÑĸ": 107353, + "ÎŁÎĿ": 107354, + "Ġinformace": 107355, + "تع": 107356, + "à¸ļà¸Ļ": 107357, + "ĠÄĮeské": 107358, + "Ġtemel": 107359, + "::::::::::::::::::::::::::::::::": 107360, + "Ġchia": 107361, + "-Ñģ": 107362, + "неÑĢг": 107363, + "Ġì°¾": 107364, + "ÑĢид": 107365, + "лоÑģÑĮ": 107366, + "زÙĦ": 107367, + "ê°ĢëĬĶ": 107368, + "ané": 107369, + "ĠнавÑĸÑĤÑĮ": 107370, + "ä¸ĵä¸ļ": 107371, + "Ġ경기": 107372, + "ĠpÅĻev": 107373, + "еÑĤи": 107374, + "ĠíĶĮ": 107375, + "нÑıÑĤ": 107376, + "à¥ģश": 107377, + "лÑİд": 107378, + "виÑī": 107379, + "å°¾": 107380, + "çļĦäºĭ": 107381, + "ĠëIJľ": 107382, + "رÙĪÙģ": 107383, + "Ġ女": 107384, + "κή": 107385, + "ĠTuy": 107386, + "Ġê²ĥìĿĦ": 107387, + "Ġbunu": 107388, + "ĠÑĢазлиÑĩ": 107389, + "ĠDün": 107390, + "ãĤŃãĥ£": 107391, + "ÑĢÑĥÑģ": 107392, + "Ġмм": 107393, + "loven": 107394, + "Ġotev": 107395, + "noloj": 107396, + "ESİ": 107397, + "üp": 107398, + "ĠèĤ": 107399, + "ικÏĮÏĤ": 107400, + "ضاء": 107401, + "ĠпеÑĩ": 107402, + "ÅĻÃŃklad": 107403, + "ãģĵãĤį": 107404, + "Å¡tÃŃ": 107405, + "Ġبرگ": 107406, + "ãģĮãģĤãĤĭ": 107407, + "ÑĸÑģÑĤ": 107408, + "à¥īà¤ķ": 107409, + "ÏĢη": 107410, + "ĠاÙĦÙħست": 107411, + "Ġзай": 107412, + "Ġchương": 107413, + "оÑĤÑĥ": 107414, + "ĠСам": 107415, + "Å¡et": 107416, + "ĠìŀĪìĹĪ": 107417, + "ĠÙģØ§Ø±": 107418, + "Ñĸон": 107419, + "ãĥĹãĥŃ": 107420, + "Ġnhiá»ĩt": 107421, + "inizi": 107422, + "Ġcož": 107423, + "Ġà¤Ĩन": 107424, + "Ġsystém": 107425, + "رÙĪØ¹": 107426, + "ayet": 107427, + "ĠÙ쨱ÙĩÙĨÚ¯": 107428, + "Ġè¶": 107429, + "èģ·": 107430, + "è§Ĥçľĭ": 107431, + "нок": 107432, + "à¸IJาà¸Ļ": 107433, + "êµIJìľ¡": 107434, + "kla": 107435, + "ãĤģãģ¦": 107436, + "ÎķÎĻ": 107437, + "åĿĹ": 107438, + "ĠskuteÄį": 107439, + "à¥Ĥà¤ľ": 107440, + "ãģijãģ¦": 107441, + "NGC": 107442, + "ĠåĢ": 107443, + "ĠÑĢозп": 107444, + "nÃŃků": 107445, + "ãĥ³ãĤ¹": 107446, + "ĠÐĴеÑĢ": 107447, + "Ġyüzde": 107448, + "Ġ미êµŃ": 107449, + "ĠÙħÙī": 107450, + "деÑĢ": 107451, + "ава": 107452, + "Ġmerkez": 107453, + "įng": 107454, + "ĠìĤ¼": 107455, + "ĠÑĢобоÑĤи": 107456, + "ĠнÑĮого": 107457, + "Ġеконом": 107458, + "ĠÑĩеловека": 107459, + "Ġà¸ŀระ": 107460, + "ãĥĴ": 107461, + "ãģ£ãģ¦ãģĦ": 107462, + "ä¼Ĺ": 107463, + "ĠпÑĢодÑĥкÑĤ": 107464, + "Ġyanı": 107465, + "à¥Ģवन": 107466, + "ĠcáºŃp": 107467, + "ĠAvrupa": 107468, + "ाà¤Ń": 107469, + "ĠìłĦìļ©": 107470, + "æķ£": 107471, + "ĠìľĦíķľ": 107472, + "ÑħодиÑĤÑĮ": 107473, + "Ġsınır": 107474, + "ücret": 107475, + "suz": 107476, + "æ¨Ĥ": 107477, + "Ġì°½": 107478, + "ÏģίοÏħ": 107479, + "åĪļ": 107480, + "Ø®ÙĦ": 107481, + "ëłĩê²Į": 107482, + "جد": 107483, + "ĠμαÏĤ": 107484, + "áºŃm": 107485, + "kara": 107486, + "ãĤ«ãĥ¼": 107487, + "Ġkterou": 107488, + "ìĽ¨": 107489, + "ÑĦиÑĨи": 107490, + "oÄŁraf": 107491, + "ĠнапÑĢи": 107492, + "ãģijãģ©": 107493, + "Ġéļ": 107494, + "تباÙĦ": 107495, + "ëŁ½": 107496, + "ì͍": 107497, + "íĮĮìĿ¼": 107498, + "Ïĩα": 107499, + "Ġuzak": 107500, + "Ġdòng": 107501, + "ĠголоÑģ": 107502, + "ÏĥÏĦή": 107503, + "ιλ": 107504, + "Ø·Ùģ": 107505, + "Ġê·¸ëħĢ": 107506, + "ãĤ¿ãĤ¤": 107507, + "اÙĨÚ¯": 107508, + "inou": 107509, + "лон": 107510, + "à¹ĩม": 107511, + "Ġबद": 107512, + "Ġkonusunda": 107513, + "Ġnâng": 107514, + "ãģ¾ãģĽãĤĵ": 107515, + "ÑĥÑİÑĤÑĮÑģÑı": 107516, + "åŁ¹": 107517, + "енко": 107518, + "ìłij": 107519, + "ĠÑĤов": 107520, + "ĠtÅĻeba": 107521, + "زاÙĨ": 107522, + "isyon": 107523, + "Ġген": 107524, + "ĠPokud": 107525, + "âĢĮاÙĨد": 107526, + "ĠгÑĢÑĥд": 107527, + "ĠخرÛĮد": 107528, + "λλα": 107529, + "ĠpÅĻÃŃm": 107530, + "Ġæ³ķ": 107531, + "ĠزÙĨدگÛĮ": 107532, + "ạp": 107533, + "ĠíĬ¸": 107534, + "ĠÄijá»Ļc": 107535, + "Ġê·¸ë¦¬ê³ł": 107536, + "низ": 107537, + "ĠÙĬÙĤ": 107538, + "laÅŁtır": 107539, + "ĠпÑĢаво": 107540, + "ÑĥÑģк": 107541, + "å°½": 107542, + "Ġपड": 107543, + "éĵģ": 107544, + "Ġì·¨": 107545, + "ĠاÙĦبÙĬ": 107546, + "¸": 107547, + "ิมà¸ŀ": 107548, + "ĠsvÄĽ": 107549, + "Ġбал": 107550, + "Ġmôn": 107551, + "ĠDữ": 107552, + "ĠشدÙĨ": 107553, + "ĠÙģÙĦ": 107554, + "Ġvznik": 107555, + "Ġchứ": 107556, + "ĠÑģÑĤÑĢÑĥкÑĤÑĥ": 107557, + "縣": 107558, + "ĠHoa": 107559, + "íĮĢ": 107560, + "ĠÑĢÑĸÑĪ": 107561, + "ĠвоздÑĥ": 107562, + "олÑĮÑĪ": 107563, + "οÏħμε": 107564, + "ูà¸Ļ": 107565, + "ĠпÑĢид": 107566, + "ilmek": 107567, + "ĠاÙĦÙĤر": 107568, + "Įĵ": 107569, + "Ġuç": 107570, + "å¨ĺ": 107571, + "ecektir": 107572, + "ĠíħĮ": 107573, + "ĠεÏħ": 107574, + "Ġhòa": 107575, + "ÏģÏħ": 107576, + "ึà¸ģษา": 107577, + "ĠÑĤеÑħнолог": 107578, + "úi": 107579, + "Ġbilgiler": 107580, + "ĠÙĤاÙĦ": 107581, + "edl": 107582, + "znám": 107583, + "ály": 107584, + "åºĶ该": 107585, + "алÑĮний": 107586, + "аÑĤелÑı": 107587, + "à¸Ļวà¸Ļ": 107588, + "ĠÐŁÐ¾Ð»": 107589, + "à¸ŀà¸Ļ": 107590, + "礼": 107591, + "Ġtasar": 107592, + "ĠÑĤой": 107593, + "ĠмеÑģÑı": 107594, + "ĠиÑģк": 107595, + "Ġपद": 107596, + "γή": 107597, + "اختÙĩ": 107598, + "è¿ĻéĩĮ": 107599, + "Ġchá»īnh": 107600, + "ĠÙĤسÙħ": 107601, + "ÙİÙĩ": 107602, + "erli": 107603, + "åĽ½éĻħ": 107604, + "iliyor": 107605, + "ĠØ´ÙĩرستاÙĨ": 107606, + "Ġvelk": 107607, + "åĽº": 107608, + "ĠбÑĸлÑĮÑĪ": 107609, + "ãĥ¼ãĥĹ": 107610, + "æŁIJ": 107611, + "ì§ľ": 107612, + "ĠÄĮR": 107613, + "Ġдек": 107614, + "ربÛĮ": 107615, + "овиÑĩ": 107616, + "Ġkapsam": 107617, + "ĠÙĦØ£": 107618, + "ĠанÑĤи": 107619, + "Ġücret": 107620, + "견": 107621, + "оÑĢож": 107622, + "ÛĮÙħÛĮ": 107623, + "è©ķ": 107624, + "Ġë§ŀ": 107625, + "ĠÑĢÑıд": 107626, + "ĠÙĩÙħراÙĩ": 107627, + "âr": 107628, + "ابت": 107629, + "ĠиÑģполÑĮзоваÑĤÑĮ": 107630, + "кÑģ": 107631, + "âī¡": 107632, + "Ġolay": 107633, + "èį¯": 107634, + "Ġoprav": 107635, + "ĠدربارÙĩ": 107636, + "Ġä¸ŃåĽ½": 107637, + "илÑģÑı": 107638, + "åį«": 107639, + "ĠاÙĦاست": 107640, + "ÙĪÛĮÛĮ": 107641, + "ÑĢеÑĪ": 107642, + "ĠÙĨس": 107643, + "ãĢĤåľ¨": 107644, + "ĠÙĦØŃ": 107645, + "Ġkorun": 107646, + "ĠÙģØ±Ø¯": 107647, + "ĠобоÑĢ": 107648, + "еÑĪÑĮ": 107649, + "ĠpodmÃŃn": 107650, + "Ġë¬¸ìłľ": 107651, + "ĠdeÄŁerlendir": 107652, + "ä¸įåIJĮ": 107653, + "æ¶²": 107654, + "ाहर": 107655, + "íļį": 107656, + "à¥įà¤ł": 107657, + "иÑĤиÑģÑı": 107658, + "اÙĦع": 107659, + "ĠdvÄĽ": 107660, + "ĠпеÑĢек": 107661, + "Ġåħĥ": 107662, + "Ġaras": 107663, + "Ġaltında": 107664, + "Ġвза": 107665, + "æĴĥ": 107666, + "Ġmilyon": 107667, + "ĠåѦ": 107668, + "ĠваÑĢи": 107669, + "ĠاÙĦعاÙĦÙħ": 107670, + "'Ñı": 107671, + "ÙĪÛĮس": 107672, + "ĠможÑĥÑĤÑĮ": 107673, + "ãģijãģŁ": 107674, + "ìĿ´ìĹĪëĭ¤": 107675, + "οÏįν": 107676, + "ĠéŁ": 107677, + "Ġpostup": 107678, + "üyük": 107679, + "åĪĬ": 107680, + "ĠÙĤب": 107681, + "ĠاصÙĦÛĮ": 107682, + "ÙĪÙī": 107683, + "Ġrepublik": 107684, + "ĠÐĻ": 107685, + "ģm": 107686, + "Ġбел": 107687, + "ा-": 107688, + "Ñģкое": 107689, + "Ġcuá»iji": 107690, + "è²·": 107691, + "ียว": 107692, + "éĩįè¦ģ": 107693, + "ูม": 107694, + "ĠÑĢозвиÑĤкÑĥ": 107695, + "Ġë°±": 107696, + "åĥ¹": 107697, + "Ġåīį": 107698, + "à¹Ħà¸ĭ": 107699, + "ãĢĮâ̦â̦": 107700, + "à¥Įत": 107701, + "کرد": 107702, + "ĠzaÅĻÃŃzenÃŃ": 107703, + "สาร": 107704, + "Ġletech": 107705, + "lemek": 107706, + "人ãģ®": 107707, + "Ġdưỡng": 107708, + "تÙĤ": 107709, + "Ġåĵ": 107710, + "åħ»": 107711, + "Ġëıħ": 107712, + "Ġ루": 107713, + "ذÙĦÙĥ": 107714, + "ĠìĿ¼ë³¸": 107715, + "ĠAyrıca": 107716, + "ĠÙ¾Úĺ": 107717, + "isinin": 107718, + "Ġìĭ¶": 107719, + "Ú¯ÛĮرÛĮ": 107720, + "خصص": 107721, + "³ç´°": 107722, + "ĠмаÑĤеÑĢиал": 107723, + "kové": 107724, + "ë§ī": 107725, + "ãģķãģĽ": 107726, + "ĠÑĤакой": 107727, + "ĠtráºŃn": 107728, + "ĠлиÑĨ": 107729, + "ĠåĽĽ": 107730, + "ÑĩÑĥ": 107731, + "Ġæ°´": 107732, + "Ġdolay": 107733, + "å½¹": 107734, + "ÑĢива": 107735, + "ĠгÑĢÑĥпп": 107736, + "Ġmümkün": 107737, + "лена": 107738, + "ëĿ¼ëĬĶ": 107739, + "åĪ©ç͍": 107740, + "Ġrahat": 107741, + "ï¼ıï¼ıï¼ıï¼ı": 107742, + "æģ©": 107743, + "ĠíķŃ": 107744, + "ĠíĴ": 107745, + "ĠìĬ¹": 107746, + "Ġchân": 107747, + "ĠãĤ¨": 107748, + "Ġжизни": 107749, + "çĸij": 107750, + "ãĢĤä»ĸ": 107751, + "리ìĬ¤": 107752, + "ÑĩиÑħ": 107753, + "Ġé¦ĸ": 107754, + "ÄĽr": 107755, + "ĠйомÑĥ": 107756, + "ĠtháºŃt": 107757, + "Ġìķŀ": 107758, + "cih": 107759, + "سÙĦاÙħ": 107760, + "Ġsiyas": 107761, + "ĠíĸĪ": 107762, + "ĠкоÑĪ": 107763, + "Ïĥαν": 107764, + "ÙĬاÙĨ": 107765, + "Ġdö": 107766, + "ाहत": 107767, + "оÑĢод": 107768, + "оваÑı": 107769, + "ÑĨионалÑĮ": 107770, + "ائÙĩ": 107771, + "Ġà¤ĸर": 107772, + "ĠÄijá»Ŀi": 107773, + "ä¸įä¼ļ": 107774, + "Ùĥز": 107775, + "ีà¸Ħวาม": 107776, + "lıyor": 107777, + "à¥ĭद": 107778, + "Ġì¶©": 107779, + "Ġcá»ij": 107780, + "à¹Ĥà¸ķ": 107781, + "ĠεÏĢί": 107782, + "ĠпÑĢÑıм": 107783, + "æ³°": 107784, + "اÙĦØ©": 107785, + "jÃŃm": 107786, + "Ġби": 107787, + "Å¡em": 107788, + "ĠHá»Ļi": 107789, + "à¸Ħรà¸ĩ": 107790, + "Ġhuyá»ĩn": 107791, + "ç¯Ģ": 107792, + "liÅ¡": 107793, + "ĠجÙĩت": 107794, + "ç§ĭ": 107795, + "ĠÑĨел": 107796, + "ĠлÑĸÑĤ": 107797, + "Ġæ·": 107798, + "жÑĥ": 107799, + "ãģĪãģŁ": 107800, + "ë´ī": 107801, + "Ġ머": 107802, + "åł´åIJĪ": 107803, + "éĿ©": 107804, + "ãĥªãĥ³": 107805, + "егда": 107806, + "Ġbenim": 107807, + "缣": 107808, + "ãģ®ä¸Ń": 107809, + "åĿIJ": 107810, + "ĠÃľniversitesi": 107811, + "ĠkoÅŁ": 107812, + "Ġпож": 107813, + "iá»ĩp": 107814, + "ĠpÅĻij": 107815, + "ëŀ¨": 107816, + "ĠاÙĦأس": 107817, + "árnÃŃ": 107818, + "iếm": 107819, + "ĠèĬ": 107820, + "Ġδε": 107821, + "娱ä¹IJ": 107822, + "Ġưu": 107823, + "ĠçĦ¡": 107824, + "ĠгÑĢи": 107825, + "ĠпоÑįÑĤомÑĥ": 107826, + "ĠÄijóng": 107827, + "جاÙĨ": 107828, + "Ġnghiên": 107829, + "ĠاÙĦاÙĨ": 107830, + "ÑĪей": 107831, + "à¹ģรà¸ģ": 107832, + "ĠÚĨÙĩار": 107833, + "ÑİÑīий": 107834, + "ÏĮÏģ": 107835, + "ĠرÙħ": 107836, + "ì²ł": 107837, + "ĠدستگاÙĩ": 107838, + "ĠدÛĮد": 107839, + "ãĥĥãĤ¯ãĤ¹": 107840, + "ामन": 107841, + "ĠThÃłnh": 107842, + "Ġthẩm": 107843, + "ĠcÃłng": 107844, + "ĠdönÃ¼ÅŁ": 107845, + "ĠпÑĢигоÑĤов": 107846, + "ĠkiÅŁi": 107847, + "ØŃت": 107848, + "Ġë²ķ": 107849, + "é£Ľ": 107850, + "Ġitibar": 107851, + "Ġглав": 107852, + "Ġortam": 107853, + "Ġmadd": 107854, + "ĠоÑģÑĤав": 107855, + "ĠÙģÙĪØªØ¨Ø§ÙĦ": 107856, + "ĠanlaÅŁ": 107857, + "leyen": 107858, + "ç´Ģ": 107859, + "Ġé£": 107860, + "/lo": 107861, + "ÙħÙĪÙĦ": 107862, + "ĠдÑĥÑħ": 107863, + "ĠÙĦب": 107864, + "лег": 107865, + "Ġgönder": 107866, + "ÙĬØ·": 107867, + "Ġสำ": 107868, + "Ġvás": 107869, + "ĠÐŁÐµÑĤ": 107870, + "алоÑģÑı": 107871, + "ì¿ł": 107872, + "éϽ": 107873, + "åĸ®": 107874, + "èĪŀ": 107875, + "нÑĥл": 107876, + "ÄŁine": 107877, + "Ġghi": 107878, + "Ġçµ": 107879, + "ÙĬÙĨÙĬ": 107880, + "Ž": 107881, + "Ġhüküm": 107882, + "ĠDÄ±ÅŁ": 107883, + "ĠÎŃÏĩει": 107884, + "ĠÑģка": 107885, + "ĠÑĤим": 107886, + "ĠпоÑģÑĤав": 107887, + "à¸Ļาà¸Ķ": 107888, + "dül": 107889, + "Ġdva": 107890, + "Ġà¸Ħà¸Ļ": 107891, + "Ġchá»ĭu": 107892, + "Ġèı": 107893, + "à¹ģสà¸Ķà¸ĩ": 107894, + "æ°£": 107895, + "Ġíά": 107896, + "ĠÑĩин": 107897, + "ãģ«ãģĬ": 107898, + "енноÑģÑĤи": 107899, + "ÐIJÐĿ": 107900, + "Ġhemen": 107901, + "Ġait": 107902, + "Ġà¤Ĭ": 107903, + "æī§": 107904, + "ĠABD": 107905, + "Ġκαθ": 107906, + "æ´Ľ": 107907, + "ãĤ¢ãĥ«": 107908, + "à¹īาà¸Ĺ": 107909, + "ÅĻez": 107910, + "dÄĽji": 107911, + "Ġtá»ĭch": 107912, + "еннÑıм": 107913, + "ĠвÑģÑĤанов": 107914, + "ĠاÙĦبر": 107915, + "ÙĪÙħتر": 107916, + "kách": 107917, + "åºĬ": 107918, + "лÑĥж": 107919, + "Ġتد": 107920, + "丽": 107921, + "رخ": 107922, + "à¤Ĥà¤ĸ": 107923, + "èĩªå·±çļĦ": 107924, + "å®ĺç½ij": 107925, + "-Ñı": 107926, + "à¹ĩà¸Ķ": 107927, + "èĦļ": 107928, + "Ġçķ": 107929, + "Ġiçerisinde": 107930, + "Ġbiá»ĥn": 107931, + "Ġà¸ģล": 107932, + "ĠyaÄŁ": 107933, + "Ġæ´": 107934, + "ĠбÑĢа": 107935, + "عار": 107936, + "æĪ°": 107937, + "à¥ĢĊ": 107938, + "ĠléÄį": 107939, + "aların": 107940, + "ĠÎĸ": 107941, + "аÑĢÑı": 107942, + "ãģĿãĤĵãģª": 107943, + "ÅĪuje": 107944, + "ãĢĢĠ": 107945, + "ĠsaÄŁlık": 107946, + "ĠдоÑģлÑĸд": 107947, + "ÃŃÅ¡": 107948, + "à¥įरश": 107949, + "à¥īन": 107950, + "Ġgiả": 107951, + "بÙĪØ§Ø³Ø·Ø©": 107952, + "å®ģ": 107953, + "Ġsoud": 107954, + "ĠкÑĤо": 107955, + "esel": 107956, + "Ġпам": 107957, + "ĠÂłĠ": 107958, + "ĠÄįlov": 107959, + "æ··": 107960, + "หà¸į": 107961, + "ĠOsman": 107962, + "æ¦Ĥ": 107963, + "Ġåĭ": 107964, + "ï¼Įåħ¶": 107965, + "Ġà¸Ħร": 107966, + "Ġmá»ģm": 107967, + "ĠÑģоÑĢ": 107968, + "çĨ±": 107969, + "Ġthuê": 107970, + "رج": 107971, + "à¹Ĥลà¸ģ": 107972, + "Ġíķĺê³ł": 107973, + "ÙĬدة": 107974, + "ĠaÅŁaģı": 107975, + "Ġká»ĥ": 107976, + "à¸ķำ": 107977, + "λει": 107978, + "çļĦè¯Ŀ": 107979, + "æ±ł": 107980, + "ĠÑģÑĤен": 107981, + "Ġincel": 107982, + "åºŃ": 107983, + "ÑĤоÑĩ": 107984, + "Ġproblém": 107985, + "ÏĦÏĥ": 107986, + "à¹īà¸Ńà¸Ļ": 107987, + "ë³´ëĭ¤": 107988, + "Ġà¤Ĩà¤Ĺ": 107989, + "ναÏĤ": 107990, + "ãģĦãĤĭ": 107991, + "Ġdục": 107992, + "Ġtohoto": 107993, + "ëIJĺìĹĪëĭ¤": 107994, + "TJ": 107995, + "ĠвизнаÑĩ": 107996, + "ĠBunun": 107997, + "à¤Ĥबर": 107998, + "ĠÙĩÙħÚĨÙĨÛĮÙĨ": 107999, + "ĠбÑİдж": 108000, + "ÑĥÑĢг": 108001, + "亮": 108002, + "Ġμεγ": 108003, + "Ġtoplum": 108004, + "ãģ£ãģ": 108005, + "оÑĤо": 108006, + ":|": 108007, + "éĿŀ常": 108008, + "ิà¸Ĺà¸ĺ": 108009, + "éģķ": 108010, + "âĢĮپدÛĮ": 108011, + "ĠзÑĢоб": 108012, + "à¹Įà¸Ķ": 108013, + "Ġдолжен": 108014, + "ĠmÄĽsta": 108015, + "ÛĮØ´Ùĩ": 108016, + "vatel": 108017, + "Ġprovoz": 108018, + "Ġinan": 108019, + "à¤Ĥप": 108020, + "Ġparç": 108021, + "ÑĢаÑģÑĤ": 108022, + "ümü": 108023, + "Ġgiá»ijng": 108024, + "欢": 108025, + "Ø«ÙĬر": 108026, + "ĠBakan": 108027, + "Ġâ΍": 108028, + "ĠباÙĨ": 108029, + "Û±Û¸": 108030, + "ãĤĤãģĨ": 108031, + "landı": 108032, + "Ġyeniden": 108033, + "ÑĨенÑĤ": 108034, + "ĠдеÑıÑĤелÑĮ": 108035, + "Щ": 108036, + "Ġrov": 108037, + "å®Įåħ¨": 108038, + "ĠKỳ": 108039, + "slu": 108040, + "Ġlấy": 108041, + "é¤IJ": 108042, + "ĠÑĩолов": 108043, + "ä¼Ŀ": 108044, + "ĠbaÅŁv": 108045, + "å°Ī": 108046, + "곡": 108047, + "ãĢģãģĿãĤĮ": 108048, + "ĠPÅĻÃŃ": 108049, + "дем": 108050, + "ĠпÑĢоек": 108051, + "รà¸ĸ": 108052, + "建设": 108053, + "Ġможлив": 108054, + "殺": 108055, + "ãģ¡ãĤĥãĤĵ": 108056, + "æķij": 108057, + "ĠÄįty": 108058, + "é¦Ĩ": 108059, + "оÑĢÑĥ": 108060, + "ĠæĦ": 108061, + "ĠkÃŃch": 108062, + "λοÏħ": 108063, + "ãģĦãģ¤": 108064, + "ĠcÄĥn": 108065, + "ẵ": 108066, + "Ġelde": 108067, + "麻": 108068, + "ÄŁe": 108069, + "ĠdobÄĽ": 108070, + "ायर": 108071, + "Ġãĥı": 108072, + "нен": 108073, + "Ġmůžete": 108074, + "ĠнаÑģÑĤÑĥп": 108075, + "ìĭľê°Ħ": 108076, + "ĠÑģимпÑĤом": 108077, + "ĠÏĥÏį": 108078, + "ĠسÙĦ": 108079, + "εκ": 108080, + "รà¸ĵ": 108081, + "áte": 108082, + "ekler": 108083, + "ĠвÑĢемени": 108084, + "âĢĮÙĩاÛĮÛĮ": 108085, + "ãģĬãĤĬ": 108086, + "жи": 108087, + "ÑĭваеÑĤÑģÑı": 108088, + "ÙħاÙĨÛĮ": 108089, + "à¸ķล": 108090, + "Ġصد": 108091, + "Ġвол": 108092, + "ìĬĪ": 108093, + "ĠÙĥÙħا": 108094, + "Ġnhằm": 108095, + "èģ¯": 108096, + "ovacÃŃ": 108097, + "Ġë§Įëĵ¤": 108098, + "ÙĪÙ¾": 108099, + "Ġë¸Į": 108100, + "بÙĬØ©": 108101, + "uyla": 108102, + "лено": 108103, + "èĮ¶": 108104, + "ÑĢей": 108105, + "Ġkli": 108106, + "Ġüzerinden": 108107, + "неÑĤ": 108108, + "raÄį": 108109, + "ĠпÑĢаÑĨÑİ": 108110, + "Ġediyor": 108111, + "ãģıãģł": 108112, + "ĠÄįast": 108113, + "iyi": 108114, + "éĬĢ": 108115, + "Ġdù": 108116, + "ÙİØ¨": 108117, + "ÙĪÙĬØ©": 108118, + "åª": 108119, + "Ġsınıf": 108120, + "Ġساعت": 108121, + "Ġราย": 108122, + "ĠзаÑıв": 108123, + "Ġgặp": 108124, + "à¸Ńว": 108125, + "ĠØ«Ùħ": 108126, + "ĠZá": 108127, + "ĠвÑĸдк": 108128, + "izik": 108129, + "Ġmón": 108130, + "ĠповÑĭÑĪ": 108131, + "Ġà¸ļาà¸Ĺ": 108132, + "ĠÑģил": 108133, + "æĥħåł±": 108134, + "Âłt": 108135, + "ĠÐľÐ¾Ñģк": 108136, + "Ġê²ĥìĿ´ëĭ¤": 108137, + "ĠçIJ": 108138, + "ĠÙħدÛĮرÛĮت": 108139, + "овоÑĹ": 108140, + "Το": 108141, + "纪": 108142, + "нÑĸÑĪе": 108143, + "ĠÐĽÑİ": 108144, + "ηÏĥη": 108145, + "ĠÙĨسبت": 108146, + "muz": 108147, + "รว": 108148, + "ãĢģãģĤ": 108149, + "Ġболез": 108150, + "Ġtrách": 108151, + "ãĥ¦": 108152, + "à¹Ģà¸Ĥา": 108153, + "Ġê·¸ëĬĶ": 108154, + "برÛĮ": 108155, + "æłª": 108156, + "ëĿ¼ìĿ´": 108157, + "ĠíĮ¨": 108158, + "íĬ¹": 108159, + "ľ´": 108160, + "िड": 108161, + "ÑĢоме": 108162, + "讲": 108163, + "ĠÑĤон": 108164, + "ÑģÑĸ": 108165, + "Ġç®": 108166, + "åıĸãĤĬ": 108167, + "ì°°": 108168, + "ĠÙĪÙĦÛĮ": 108169, + "ĠسطØŃ": 108170, + "èıľ": 108171, + "нами": 108172, + "Türk": 108173, + "åİĤ": 108174, + "Ġfinan": 108175, + "ãģ«ãģªãĤĭ": 108176, + "Ġoby": 108177, + "Trong": 108178, + "Ġvyp": 108179, + "à¥ģड": 108180, + "ìŀIJê°Ģ": 108181, + "ĠæīĢ": 108182, + "ÐĹа": 108183, + "umlu": 108184, + "ëĵĿ": 108185, + "ĠменÑĸ": 108186, + "олниÑĤелÑĮ": 108187, + "ĠúÄįin": 108188, + "Ġbunun": 108189, + "ĠÐłÐ¾ÑģÑģии": 108190, + "вÑģÑı": 108191, + "ĠнÑĸж": 108192, + "ิà¸Ķà¸ķ": 108193, + "غة": 108194, + "Äļ": 108195, + "ĠسÙħ": 108196, + "ĠÐĺз": 108197, + "à¥ĩप": 108198, + "大çļĦ": 108199, + "ì¹ľ": 108200, + "ĠиÑģÑĤ": 108201, + "ĠконÑģÑĤÑĢÑĥк": 108202, + "Û±Û²": 108203, + "âl": 108204, + "ĠÑĪиÑĢ": 108205, + "ï¼ł": 108206, + "Ġartık": 108207, + "æŁĵ": 108208, + "乡": 108209, + "ÃŃte": 108210, + "ĠNháºŃt": 108211, + "ĠÎĶη": 108212, + "Ġölç": 108213, + "êµ´": 108214, + "оÑıн": 108215, + "ëĵ±ë¡Ŀ": 108216, + "Ġngân": 108217, + "ĠбÑĥдÑĮ": 108218, + "ÎŁÎ¡": 108219, + "ì´": 108220, + "ÙħÙĪØ¯": 108221, + "νον": 108222, + "ÎķÎĿ": 108223, + "çijŀ": 108224, + "ĠÅĻek": 108225, + "-âĢIJ": 108226, + "ĠMerk": 108227, + "ĠопÑĢедел": 108228, + "Ïģιν": 108229, + "лаб": 108230, + "ëĦ¤ìļĶ": 108231, + "Ġблиз": 108232, + "Ġphá»iji": 108233, + "ĠдолжнÑĭ": 108234, + "ĠÑįкÑģп": 108235, + "à¸ļà¸Ĺ": 108236, + "à¸Ľà¸£à¸°à¸ª": 108237, + "ĠÙ¾ÚĺÙĪÙĩ": 108238, + "Ġíķľëĭ¤": 108239, + "ÏĦοÏį": 108240, + "ÙĩÙĨ": 108241, + "Ġдод": 108242, + "Ġkayı": 108243, + "Łģ": 108244, + "ÑģиÑı": 108245, + "à¤Ĥतर": 108246, + "Ġpodnik": 108247, + "evi": 108248, + "ÛĮÛĮر": 108249, + "Так": 108250, + "коп": 108251, + "наÑħ": 108252, + "اسÙĩ": 108253, + "à¸ĵà¸ij": 108254, + "Ġkhá": 108255, + "Ġyarat": 108256, + "ĠاÛĮÙĨÚ©Ùĩ": 108257, + "طبÙĬ": 108258, + "Ġsır": 108259, + "ĠØ¢ÙħرÛĮکا": 108260, + "Ġबल": 108261, + "kaç": 108262, + "Ġåı¯": 108263, + "Ġåħ¶": 108264, + ".***": 108265, + "лÑĸннÑı": 108266, + "ä¹±": 108267, + "oq": 108268, + "æ¦": 108269, + "ãĤ¼": 108270, + "Ġfır": 108271, + "Ġkê": 108272, + "Ġìłľê³µ": 108273, + "ĠÏĥη": 108274, + "анÑĭ": 108275, + "нова": 108276, + "à¸Ĭาย": 108277, + "ĠØ·ÙĪÙĦ": 108278, + "à¥Īय": 108279, + "Ġì¹ľ": 108280, + "ìĤ´": 108281, + "ĠпÑĸв": 108282, + "ĠluáºŃn": 108283, + "Ġà¤īम": 108284, + "åºĥ": 108285, + "à¹ĩà¸Ńà¸ķ": 108286, + "ĠساÛĮت": 108287, + "лÑıн": 108288, + "ĠíķĦìļĶ": 108289, + "Ġgörül": 108290, + "ĠÑĤеÑĢиÑĤоÑĢ": 108291, + "ĠÙĨØŃ": 108292, + "ема": 108293, + "Ġmnoh": 108294, + "Ġãģ¯": 108295, + "غÙĬر": 108296, + "ĠÑģделаÑĤÑĮ": 108297, + "çģµ": 108298, + "ĠÐłÐ°Ð·": 108299, + "ĠгеÑĢ": 108300, + "γμα": 108301, + "íķĺë©´": 108302, + "ĠdeÄŁiÅŁtir": 108303, + "ãĥ³ãĥĨ": 108304, + "å¸Ĥåľº": 108305, + "个人": 108306, + "ìĥĪ": 108307, + "침": 108308, + "èīº": 108309, + "ÙĤت": 108310, + "ĠگرÙģØªÙĩ": 108311, + "Ġçİĭ": 108312, + "ĠاÙĦذÙĩ": 108313, + "λÏħ": 108314, + "à¤ľà¤°": 108315, + "Ġвним": 108316, + "ë¦Ń": 108317, + "ิà¸Ĺ": 108318, + "ĠشاÙĩ": 108319, + "æĬķèµĦ": 108320, + "æĿIJæĸĻ": 108321, + "ĠÙĨÙģ": 108322, + "説": 108323, + "æĬĹ": 108324, + "Ġаб": 108325, + "iyeti": 108326, + "ç¾ħ": 108327, + "ÑĢÑĸз": 108328, + "Ġสม": 108329, + "icÃŃ": 108330, + "кÑĥваннÑı": 108331, + "Ġìķ¼": 108332, + "Ġè½": 108333, + "âĢ«": 108334, + "Ġδιά": 108335, + "Ġдеп": 108336, + "ãĥ¼ãĤ¿": 108337, + "Ġobjev": 108338, + "ména": 108339, + "Ġbelg": 108340, + "Ġæ¥": 108341, + "Ġná»ģn": 108342, + "Ġгол": 108343, + "Ġpostav": 108344, + "Ġتک": 108345, + "Ы": 108346, + "ĠпÑĸдÑĤ": 108347, + "ĠоÑĤноÑĪ": 108348, + "ĠпÑĢив": 108349, + "ĠåŁº": 108350, + "Ġнали": 108351, + "ůž": 108352, + "Ġyat": 108353, + "ÅŁa": 108354, + "ÏĦήÏĤ": 108355, + "ÑĨем": 108356, + "次æķ°": 108357, + "ĠbÃł": 108358, + "ÙĪÙĥ": 108359, + "ĠíĶĦë¡ľ": 108360, + "ĠPháp": 108361, + "Ġêµ°": 108362, + "è³ŀ": 108363, + "Ġochran": 108364, + "Ġgerekir": 108365, + "Ġíļ": 108366, + "à¸ļล": 108367, + "áme": 108368, + "ĠبÛĮر": 108369, + "à¸Ĥาย": 108370, + "ований": 108371, + "Ġmožné": 108372, + "âĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģ": 108373, + "álu": 108374, + "нÑĤ": 108375, + "¦æĥħ": 108376, + "à¹ģรม": 108377, + "ĠÑĦÑĸн": 108378, + "Ġİç": 108379, + "à¹Īà¸Ńย": 108380, + "겨": 108381, + "Ġhedef": 108382, + "ĠاÙĦÙħØ´": 108383, + "à¹īาม": 108384, + "å¯Ħ": 108385, + "Ġëĭµ": 108386, + "Ġô": 108387, + "лаÑģÑı": 108388, + "İT": 108389, + "à¸Ķำ": 108390, + "Ġherhangi": 108391, + "Ġgereken": 108392, + "еÑĢеж": 108393, + "ÙĪØ©": 108394, + "ĠpÅĻest": 108395, + "ç§ijåѦ": 108396, + "оÑģÑĤаÑĤ": 108397, + "ünden": 108398, + "åĮħæĭ¬": 108399, + "ĠدÙĩد": 108400, + "ÑĪиÑģÑĮ": 108401, + "неÑĢ": 108402, + "Ñĸдом": 108403, + "Ġbiç": 108404, + "ìĭŃ": 108405, + "Ġhodnot": 108406, + "ĠzemÄĽ": 108407, + "ĠاÛĮجاد": 108408, + "Ġyine": 108409, + "िण": 108410, + "ĠاÙĦبÙĦ": 108411, + "ĠNÄĽ": 108412, + "Ġpolož": 108413, + "éĺħ读": 108414, + "å¸ģ": 108415, + "å¼Ł": 108416, + "ξε": 108417, + "ĠMá»Ļt": 108418, + "ç£": 108419, + "Û±Û³Û¹": 108420, + "Ġآز": 108421, + "ãģŀ": 108422, + "ĠмеÑħ": 108423, + "ยม": 108424, + "Ġæ¨": 108425, + "Ġotur": 108426, + "Ġdầu": 108427, + "Ġëĭ¤ìļ´": 108428, + "çĮ«": 108429, + "ĠCó": 108430, + "ĠlidÃŃ": 108431, + "ĠarkadaÅŁ": 108432, + "Ġαλλά": 108433, + "é¡»": 108434, + "ĠÙĩÙħÛĮÙĨ": 108435, + "転": 108436, + "ĠâĹĭ": 108437, + "ëıĦë¡Ŀ": 108438, + "Âĥ": 108439, + "âĢĮشدÙĩ": 108440, + "ĠØŃÙĬØ«": 108441, + "Ġnhóm": 108442, + "ÏĥÏĩ": 108443, + "ĠÑĤÑĢанÑģп": 108444, + "Ġtanım": 108445, + "ç´į": 108446, + "Ġbahis": 108447, + "举": 108448, + "ĠинÑĦоÑĢма": 108449, + "ĠÑģлож": 108450, + "Ġkraj": 108451, + "ĠØŃÙĦ": 108452, + "Ġãĥĸ": 108453, + "ĠÙĨÙĤÙĦ": 108454, + "ĠÐłÐ¾Ð·": 108455, + "ĠÎijÏħ": 108456, + "lardı": 108457, + "Ġپاس": 108458, + "ĠìĭĿ": 108459, + "ĠìłĦìļ©ë©´ìłģ": 108460, + "ĠاÙĦسÙĬ": 108461, + "باشد": 108462, + "ศาสà¸ķร": 108463, + "Ġköy": 108464, + "Ġrok": 108465, + "Ġ죽": 108466, + "ĠÑģог": 108467, + "Ġchú": 108468, + "éĺª": 108469, + "ĠÄįásti": 108470, + "ĠзвеÑĢ": 108471, + "Ġниз": 108472, + "ĠÃ¶ÄŁret": 108473, + "Ġãĥİ": 108474, + "пе": 108475, + "çĴ°": 108476, + "Ġèª": 108477, + "ÙĪÙĦÙĩ": 108478, + "İM": 108479, + "/REC": 108480, + "å¡ŀ": 108481, + "ĠÐĴи": 108482, + "/loose": 108483, + "ĠпоÑħ": 108484, + "ĠgeniÅŁ": 108485, + "Ġthiá»ĩn": 108486, + "tiÄŁi": 108487, + "Ñĩие": 108488, + "онд": 108489, + "ĠпÑĢиÑģ": 108490, + "ázky": 108491, + "ĠDevlet": 108492, + "ç¦ģ": 108493, + "Ġаг": 108494, + "ilere": 108495, + "инкÑĥ": 108496, + "Ġvardı": 108497, + "ãĢĢãĢĢãĢĢĠãĢĢ": 108498, + "ĠëĨĴ": 108499, + "à¤Ĥपन": 108500, + "Ġözellik": 108501, + "éļľ": 108502, + "ìĸ´ìĦľ": 108503, + "رÙĬÙĥ": 108504, + "ÙĪØ¨ÛĮ": 108505, + "ãĥ³ãĥĢ": 108506, + "íĮ¨": 108507, + "Ġसमà¤Ŀ": 108508, + "ï¾Ĩï¾Ĩï¾Ĩï¾Ĩ": 108509, + "ĠÙģÙĨ": 108510, + "à¥Ŀ": 108511, + "Ġuveden": 108512, + "ÑĪими": 108513, + "Ġà¹Ģล": 108514, + "Ġ문ìĿĺ": 108515, + "ĠØŃرÙģ": 108516, + "Ġعب": 108517, + "ãĥ¬ãĥĵ": 108518, + "ĠæŃ£": 108519, + "ĠëĺIJëĬĶ": 108520, + "ĠÚ©ÙĨÙĨدÙĩ": 108521, + "ĠαÏħÏĦÏĮ": 108522, + "Ġ길": 108523, + "Ġifade": 108524, + "Ġyapmak": 108525, + "ãĥķãĤ©": 108526, + "Ġmẹ": 108527, + "Ġstrán": 108528, + "Ġsvou": 108529, + "Ġvždy": 108530, + "Ġtekrar": 108531, + "ิà¸į": 108532, + "Ġìĵ°": 108533, + "oÄŁu": 108534, + "ĠÚ©ÛĮÙĦ": 108535, + "ивÑģÑı": 108536, + "Ġë§IJíĸĪëĭ¤": 108537, + "ä¸Ŀ": 108538, + "à¤ıस": 108539, + "ĠÑģÑĤÑĢаÑħ": 108540, + "ĠsouÄįas": 108541, + "Ġê·¸ëŁ°": 108542, + "ĠmÃ¼ÅŁ": 108543, + "λοÏį": 108544, + "γÏī": 108545, + "ĠtÆ°á»Łng": 108546, + "Ġå·¥": 108547, + "ĠاسÙħ": 108548, + "ÑĢÑĸм": 108549, + "à¹Ģà¸Ľà¸¥": 108550, + "Ġ³³Ġ³³": 108551, + "ÙĩاÛĮÛĮ": 108552, + "寺": 108553, + "ĠسرÛĮ": 108554, + "ĠкваÑĢ": 108555, + "ĠØ´ÙħارÙĩ": 108556, + "ĠصØŃ": 108557, + "оÑģÑĤав": 108558, + "२": 108559, + "Ġà¸Ħวาม": 108560, + "íĥģ": 108561, + "éĢĤ": 108562, + "بØŃ": 108563, + "ĠdeÄŁiÅŁik": 108564, + "éĮ²": 108565, + "еди": 108566, + "Ġokol": 108567, + "ĠÑģоп": 108568, + "Ġolmayan": 108569, + "çŃij": 108570, + "Û±Û´": 108571, + "Ġinclu": 108572, + "Ġê²ĮìŀĦ": 108573, + "ÛĮستÙħ": 108574, + "Ġç©": 108575, + "ĠاÙĦÙĪÙĦاÙĬات": 108576, + "ilmektedir": 108577, + "ÃĮ": 108578, + "ÙİØ¹": 108579, + "Ġaģır": 108580, + "è¡Ľ": 108581, + "Ġeski": 108582, + "ê°Ŀ": 108583, + "본ëĭ¤": 108584, + "人åijĺ": 108585, + "ÚĺÛĮ": 108586, + "Ġç¨": 108587, + "ĠмеÑģÑĤо": 108588, + "vů": 108589, + "à¥įरह": 108590, + "ĠطرØŃ": 108591, + "ĠابÙĨ": 108592, + "Ġhiss": 108593, + "оÑĢÑıд": 108594, + "ĠدÙģ": 108595, + "ÑĢиÑģÑĤ": 108596, + "à¸Ĭม": 108597, + "деÑĤ": 108598, + "à¹Ģหม": 108599, + "ë§ĪìĤ¬ì§Ģ": 108600, + ":.:.:": 108601, + "éħ¸": 108602, + "ĠαÏģÏĩ": 108603, + "Ġnữ": 108604, + "ĠпоÑģад": 108605, + "lum": 108606, + "ìº": 108607, + "ãģ§ãģįãĤĭ": 108608, + "ìĸµ": 108609, + "ĠاÙĦÙħد": 108610, + "нÑĸм": 108611, + "راÙĤ": 108612, + "ĠãĥĪ": 108613, + "ĠodpovÄĽ": 108614, + "Ġbirbir": 108615, + "Ġhãy": 108616, + "овий": 108617, + "æ®ĭ": 108618, + "éĥ½æĺ¯": 108619, + "迪": 108620, + "Ġaraç": 108621, + "енÑĤÑĸв": 108622, + "æĬ±": 108623, + "dál": 108624, + "ĠÄIJông": 108625, + "Ġhesap": 108626, + "ĠاÙĨساÙĨ": 108627, + "ĠÙĬÙĪÙħ": 108628, + "ĠÙĨÙĪØ±": 108629, + "åīĩ": 108630, + "çĹĽ": 108631, + "ĠÙĨÙĬ": 108632, + "алÑĮна": 108633, + "تباط": 108634, + "लब": 108635, + "Ġkomun": 108636, + "Ġsnad": 108637, + "åĽ£": 108638, + "رÙĬد": 108639, + "elopment": 108640, + "ĠиÑİ": 108641, + "à¥Ģ.": 108642, + "Ġkısa": 108643, + "ĠdeÄŁildir": 108644, + "à¹īาร": 108645, + "Ġsvého": 108646, + "Ġoblasti": 108647, + "ÑĪли": 108648, + "à¹Ģà¸Ĺà¸ŀ": 108649, + "ÑĢеÑĤÑĮ": 108650, + "ово": 108651, + "ĠíĤ¤": 108652, + "átky": 108653, + "ĠاÙĦÙ쨱": 108654, + "èĺŃ": 108655, + "ÏĦον": 108656, + "ĠÑģÑĤоиÑĤ": 108657, + "ÙħØŃ": 108658, + "Ġà¹Ħ": 108659, + "ĠÑĤебе": 108660, + "íģ´": 108661, + "ĠmÄĽla": 108662, + "æİ§åζ": 108663, + "ĠChá»§": 108664, + "ìĬ¨": 108665, + "ÐIJТ": 108666, + "اجع": 108667, + "ìĻķ": 108668, + "ç©¿": 108669, + "олее": 108670, + "หลาย": 108671, + "Ġdvou": 108672, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 108673, + "ุà¸Ĥ": 108674, + "Ġboz": 108675, + "ิà¸Ļà¸Ħ": 108676, + "å¤Ł": 108677, + "Ġfaaliyet": 108678, + "ĠÄįÃŃs": 108679, + "ãģ»ãģ©": 108680, + "Ġ:/": 108681, + "кÑĸÑģÑĤÑĮ": 108682, + "Ġì¤Ģ": 108683, + "ÏģαÏĤ": 108684, + "Ġодно": 108685, + "æ¢ħ": 108686, + "Ñĥбли": 108687, + "ноз": 108688, + "à¹Įม": 108689, + "Ġvýrob": 108690, + "ĠκÏħ": 108691, + "ÅĻev": 108692, + "ÂłB": 108693, + "ůže": 108694, + "ä¼ļ社": 108695, + "ιβ": 108696, + "ÑĢованиÑı": 108697, + "Ġcev": 108698, + "ìĽĢ": 108699, + "álnÃŃch": 108700, + "ĠÑĢав": 108701, + "ç´§": 108702, + "åĢŁ": 108703, + "ĠÑŁ": 108704, + "ÙĪÙĨÙĬ": 108705, + "озÑı": 108706, + "Ġзов": 108707, + "Ġkolem": 108708, + "민êµŃ": 108709, + "ç¿Ĵ": 108710, + "ĠzamÄĽst": 108711, + "Ġìłij": 108712, + "ĠزÙĨ": 108713, + "ĠØ£Ùģ": 108714, + "Ġ먹": 108715, + "Ġtomto": 108716, + "Ġ첨ë¶Ģ": 108717, + "sage": 108718, + "ä¸įè¿ĩ": 108719, + "егод": 108720, + "ÑĢож": 108721, + "ĠпÑĢоÑĨед": 108722, + "à¹Įà¸Ļ": 108723, + "sanız": 108724, + "âĢŀØ·": 108725, + "æ´»åĬ¨": 108726, + "оÑĩки": 108727, + "보기": 108728, + "åŁºæľ¬": 108729, + "-Ñħ": 108730, + "лоÑģÑı": 108731, + "ĠÙĩÛĮÚĨ": 108732, + "ìĹĶ": 108733, + "Ñĩного": 108734, + "Ġà¤Ĺर": 108735, + "Ġà¤ħà¤Ĺ": 108736, + "ãħĭãħĭãħĭãħĭ": 108737, + "ĠãĤ¸": 108738, + "اسة": 108739, + "åĬĩ": 108740, + "à¹īà¸ĩ": 108741, + "Ġ커": 108742, + "nými": 108743, + "ãĥ¬ãĤ¹": 108744, + "åĭĴ": 108745, + "ĠоблаÑģÑĤÑĸ": 108746, + "ĠдÑĸÑıлÑĮноÑģÑĤÑĸ": 108747, + "ãĥ¬ãĤ¤": 108748, + "Ïĩαν": 108749, + "à¹Īาส": 108750, + "ĠФÑĢан": 108751, + "ÙĩÙĦ": 108752, + "lardır": 108753, + "ØŃات": 108754, + "ůst": 108755, + "ĠводÑĭ": 108756, + "ĠدÙĪÙĦت": 108757, + "ĠÑģпеÑĨÑĸ": 108758, + "Ġthất": 108759, + "à¸Ńาหาร": 108760, + "éłĺ": 108761, + "Ġtercih": 108762, + "ĠÏĢÏģοÏĥ": 108763, + "ĠÅĻÃŃzenÃŃ": 108764, + "è§īå¾Ĺ": 108765, + "Ġdnes": 108766, + "еÑĩно": 108767, + "ãĥĺ": 108768, + "ĠداراÛĮ": 108769, + "ĠÅŁart": 108770, + "벤": 108771, + "Ġë¶ģ": 108772, + "еÑı": 108773, + "нÑıÑĤÑĮ": 108774, + "ĠkvÄĽt": 108775, + "ĠتغÛĮÛĮر": 108776, + "é¾į": 108777, + "ĠرÙĨÚ¯": 108778, + "ï¼Įåı¯": 108779, + "Ġpiyas": 108780, + "Ġuygulan": 108781, + "ÙİØ©": 108782, + "بÙĬر": 108783, + "иваÑĤÑĮ": 108784, + "ĠíĹĪ": 108785, + "丶": 108786, + "è¿ĻäºĽ": 108787, + "Ġگر": 108788, + "罪": 108789, + "ä¸Ģæł·": 108790, + "Ġãĥª": 108791, + "Ġвой": 108792, + "Ġsosyal": 108793, + "ุà¸Ĺà¸ĺ": 108794, + "หมà¸Ķ": 108795, + "ç»Ŀ": 108796, + "ĠاÙĦجÙħ": 108797, + "Ġثبت": 108798, + "ĠجÙĨÚ¯": 108799, + "лении": 108800, + "ваÑı": 108801, + "ĠвоÑĤ": 108802, + "伤": 108803, + "Ġหล": 108804, + "ĠÙħÙĤاÙĦÙĩ": 108805, + "мÑĸнÑĸ": 108806, + "ìĺ¬": 108807, + "Ñĩий": 108808, + "ĠÙħÚ©": 108809, + "à¹Ĥà¸Ľà¸£": 108810, + "krv": 108811, + "ĠÃŃch": 108812, + "ÏīÏĥη": 108813, + "екÑĤоÑĢ": 108814, + "Як": 108815, + "ĠpÃŃs": 108816, + "ĠÃĸzel": 108817, + "ĠtÆ°á»Ľng": 108818, + "ĠÐĶо": 108819, + "διο": 108820, + "ูà¸Ķ": 108821, + "Ġtük": 108822, + "رÛĮÙĤ": 108823, + ".ÐĴ": 108824, + "ĠåIJĪ": 108825, + "ä¿Ĥ": 108826, + "Ġobdob": 108827, + "Ġistedi": 108828, + "ÑĪла": 108829, + "æľīä¸Ģ": 108830, + "ĠвклÑİÑĩа": 108831, + "ĠتØŃÙĤÛĮÙĤ": 108832, + "ĠÙĪÙĥ": 108833, + "ĠèĪ": 108834, + "ÆĴ": 108835, + "μεÏģ": 108836, + "Ġåģ": 108837, + "ĠìĹĨëĬĶ": 108838, + "Âłd": 108839, + "ĠBắc": 108840, + "à¸ģลาà¸ĩ": 108841, + "ĠÑĩÑĥв": 108842, + "Ġcấu": 108843, + "ĠHá»ĵ": 108844, + "ĠÙ쨧ÛĮÙĦ": 108845, + "ÏĦηγοÏģ": 108846, + "ç±į": 108847, + "Ġبت": 108848, + "ĠобÑĢазом": 108849, + "æ±ī": 108850, + "èĦij": 108851, + "Ġgiản": 108852, + "εÏģγ": 108853, + "ĠÐľÑĸ": 108854, + "èϽçĦ¶": 108855, + "ĠKhi": 108856, + "Ñĩини": 108857, + "Ġà¤ħà¤Ĺर": 108858, + "íķĺë©°": 108859, + "ë²Ķ": 108860, + "ãģģ": 108861, + "виÑħ": 108862, + "ĠвÑģегда": 108863, + "Ġç¶": 108864, + "ÑģÑĤвенной": 108865, + "Ġyüksel": 108866, + "測": 108867, + "Ġsıras": 108868, + "ĠÏĢÏģÏİ": 108869, + "è̳": 108870, + "اÛĮر": 108871, + "دÙĪØ¯": 108872, + "ĠAlman": 108873, + "Ġverdi": 108874, + "ĠاÙĦÙħج": 108875, + "ĠاÙĦتع": 108876, + "صة": 108877, + "Ġsıra": 108878, + "Äįin": 108879, + "ĠпеÑĢÑĪ": 108880, + "æĬĺ": 108881, + "ç©į": 108882, + "ĠÑĤоб": 108883, + "Ġï¾ī": 108884, + "ฬ": 108885, + "æĿĢ": 108886, + "iydi": 108887, + "ีà¸ŀ": 108888, + "çĵ¦": 108889, + "ĠавÑĤомоб": 108890, + "ä¸Ńæĸĩ": 108891, + "à¥Ĥद": 108892, + "ĠbÄĽhem": 108893, + "ĠPÅĻed": 108894, + "ãģĵãģĨ": 108895, + "ัà¸Ī": 108896, + "Ġï½Į": 108897, + "ĠÙĩاÙĬ": 108898, + "Ġsạch": 108899, + "æĸ¹éĿ¢": 108900, + "çķ°": 108901, + "ÑĥÑĢн": 108902, + "Ġvýsled": 108903, + "Ġthần": 108904, + "ï¼ĮæīĢ以": 108905, + "Ñĥка": 108906, + "íķĺëĭ¤": 108907, + "Ġबर": 108908, + "ĠжÑĸн": 108909, + "ÄįnÃŃho": 108910, + "ĠãģĮ": 108911, + "abı": 108912, + "vánÃŃ": 108913, + "æ´Ĺ": 108914, + "ĠиÑģÑĤоÑĢ": 108915, + "ìĿ´íĦ°": 108916, + "Ġелек": 108917, + "алаÑģÑı": 108918, + "Ġznám": 108919, + "ĠطرÙģ": 108920, + "Ġsektör": 108921, + "ê¹Ģ": 108922, + "ÙĪÙĤع": 108923, + "ĠÙħÙĥ": 108924, + "ÑĢежд": 108925, + "Ġknih": 108926, + "Ġتعداد": 108927, + "åįł": 108928, + "ÑģÑĮке": 108929, + "Ġç͵": 108930, + "京éĥ½": 108931, + "ĠراÛĮ": 108932, + "gın": 108933, + "ĠÙĨظاÙħ": 108934, + "ĠÎłÎ¿Î»": 108935, + "ä¸Ģèά": 108936, + "Ġstále": 108937, + "ĠиÑģÑģлед": 108938, + "Ġzpráv": 108939, + "ĠÑĩиÑģÑĤ": 108940, + "ãĥ¼ãĥŀ": 108941, + "ÐŀÑģ": 108942, + "ÑģÑĮкомÑĥ": 108943, + "ĠpÅĻiprav": 108944, + "ëĮĢíĸī": 108945, + "Ġhalk": 108946, + "çĪĨ": 108947, + "ãĢģãģĬ": 108948, + "ï¼ŁâĢĿĊĊ": 108949, + "éĢı": 108950, + "ç«ŀ": 108951, + "ниÑĨÑĮ": 108952, + "çĽĺ": 108953, + "à¹Ģà¸Ńà¸ĩ": 108954, + "ìŁģ": 108955, + "à¥ĩवल": 108956, + "ä¹ĭåIJİ": 108957, + "ãĥ«ãĥĪ": 108958, + "Ġstru": 108959, + "Ġ_": 108960, + "ÎķÎĽ": 108961, + "hle": 108962, + "ĠÙĨÙĪØ´": 108963, + "ìĿµ": 108964, + "ĠÙħÙģ": 108965, + "æĪĸèĢħ": 108966, + "Ġöld": 108967, + "éĢĶ": 108968, + "ãĥ³ãĥĹ": 108969, + "íĺ¼": 108970, + "ĠuÄŁ": 108971, + "ĠÄijá": 108972, + "ĠvlastnÃŃ": 108973, + "ĠÙħجÙĦس": 108974, + "åįĶ": 108975, + "ÏĦικήÏĤ": 108976, + "Ġpovin": 108977, + "ůl": 108978, + "ĠاÙĦØŃÙĬ": 108979, + "Ġsmlou": 108980, + "ãĥĥãĥģ": 108981, + "ĠÙĥÙĨ": 108982, + "Ġchấp": 108983, + "èIJ¬": 108984, + "جب": 108985, + "?âĢľ": 108986, + "дав": 108987, + "รวม": 108988, + "ÙİØ¯": 108989, + "ĠاÙĦدÙĪÙĦ": 108990, + "ĠëĦ¤ìĿ´íĬ¸": 108991, + "Ġà¤Ĩस": 108992, + "ظÙĬÙģ": 108993, + "ãĥ¼ãĥ©": 108994, + "ãģłãĤįãģĨ": 108995, + "ĠÙĪØ§ØŃد": 108996, + "رÙĪØ³": 108997, + "Ġzákona": 108998, + "ĠпеÑĢеб": 108999, + "à¥Ģ-": 109000, + "à¹Īà¹Ħà¸Ķ": 109001, + "为äºĨ": 109002, + "ÎĻÎĿ": 109003, + "ĠìĽĶìĦ¸": 109004, + "สà¸Ńà¸ĩ": 109005, + "Ġæīĭ": 109006, + "ĠÐĴÑģе": 109007, + "à¹Ĥย": 109008, + "Ġkaldır": 109009, + "ÏĦÎŃÏĤ": 109010, + "Ġï¿£": 109011, + "ĠíĸĪëĭ¤": 109012, + "ãĤģãģŁ": 109013, + "ĠÄįer": 109014, + "cela": 109015, + "üsü": 109016, + "ê³³": 109017, + "ìĹIJëıĦ": 109018, + "زة": 109019, + "ãģªãĤĭ": 109020, + "ÙĪÛĮÙĨ": 109021, + "çīĽ": 109022, + "Ġvoj": 109023, + "ĠëĬIJ": 109024, + "ĠÙĥÙħ": 109025, + "æ³ī": 109026, + "зÑı": 109027, + "è£Ŀ": 109028, + "ĠØ¢ÙĦ": 109029, + "Ġανά": 109030, + "ÂłÐĴ": 109031, + "Ġyapıl": 109032, + "æıĽ": 109033, + "ĠÑģÑĥÑīеÑģÑĤв": 109034, + "Ġná»iji": 109035, + "ÙĪØ¦": 109036, + "ĠëĦ¤ìĿ´íĬ¸ìĺ¨": 109037, + "Ġpolitik": 109038, + "Å¡ka": 109039, + "ebilirsiniz": 109040, + "ldkf": 109041, + "ÑĥблÑĸ": 109042, + "Ġeoq": 109043, + "ĠÙħØŃصÙĪÙĦ": 109044, + "krvldkf": 109045, + "Ġeoqkrvldkf": 109046, + "ÏĥεÏīν": 109047, + "بÙĦغ": 109048, + "Įĵê¸Ģ": 109049, + "ĠÑģÑĢок": 109050, + "ĠUy": 109051, + "ĠNÄĽk": 109052, + "Ġдив": 109053, + "ãĤµãĤ¤": 109054, + "ĠìĤ¬ìĿ´": 109055, + "ĠéĹ": 109056, + "ĠбаÑĤÑĮ": 109057, + "ĠпеÑĢÑĸ": 109058, + "Âĸ": 109059, + "交éĢļ": 109060, + "енз": 109061, + "ÙĪØ³Øª": 109062, + "ียà¸ļ": 109063, + "Ġà¸Īะ": 109064, + "ë¡Ģ": 109065, + "üfus": 109066, + "ÙijÙIJ": 109067, + "總": 109068, + "ัà¸Ķส": 109069, + "ê²Ģ": 109070, + "ĠÑĤиÑħ": 109071, + "ĠآزÙħ": 109072, + "Ġاض": 109073, + "ì¡´": 109074, + "ÙĴت": 109075, + "æĪ¸": 109076, + "ĠìŀĪìĿĦ": 109077, + "ĠçĶ·": 109078, + "ÑīÑĸ": 109079, + "ома": 109080, + "ĠاÙģØ²Ø§ÛĮØ´": 109081, + "ĠThông": 109082, + "ĠاجتÙħاعÛĮ": 109083, + "елÑİ": 109084, + "ĠÑħоÑĢоÑĪо": 109085, + "à¸łà¸²à¸©": 109086, + "Ġrám": 109087, + "御": 109088, + "ãĥ¼ãĥĦ": 109089, + "ĠLỼp": 109090, + "ĠØ´ÙĬ": 109091, + "Ġhiá»ĥm": 109092, + "θν": 109093, + "οÏħÏĥ": 109094, + "復": 109095, + "Ġúzem": 109096, + "à¹ģà¸ľ": 109097, + "å·¨": 109098, + "à¸Īà¸Ļ": 109099, + "گراÙĨ": 109100, + "ĠتÛĮÙħ": 109101, + "Ġilet": 109102, + "าà¸Ĥà¸Ńà¸ĩ": 109103, + "ĠتÙĪØ±": 109104, + "ĠдоговоÑĢ": 109105, + "Ġtento": 109106, + "вÑĥ": 109107, + "Ġзада": 109108, + "ĠstoletÃŃ": 109109, + "ÂłĠ": 109110, + "âĢĮاÙĦ": 109111, + "Ëĺ": 109112, + "ÅŁiv": 109113, + "нÑıÑĤи": 109114, + "ãĤīãĤĮãģŁ": 109115, + "ĠSb": 109116, + "ĠاÙĦÙħص": 109117, + "ĠУкÑĢаÑĹнÑĸ": 109118, + "ĠØ´Ú©": 109119, + "iếng": 109120, + "ÑĮÑĤе": 109121, + "è°¢": 109122, + "ĠÙħتÙĨ": 109123, + "ĠÑĢад": 109124, + "ĠÙħÙĪØ§Ø¯": 109125, + "ì±Ħ": 109126, + "é¡¶": 109127, + "ĠboÅŁ": 109128, + "تÙĪØ±": 109129, + "ĠÄijáng": 109130, + "Ġkitap": 109131, + "Ġhodin": 109132, + "Ġtarihi": 109133, + "ãĤĦãĤĭ": 109134, + "ÑģÑĤеÑĢ": 109135, + "ĠÑħод": 109136, + "вание": 109137, + "ĠоÑģвÑĸ": 109138, + "ĠÑģиÑģÑĤемÑĭ": 109139, + "़न": 109140, + "Ïĩο": 109141, + "Ġåı°": 109142, + "oÅĻ": 109143, + "ç»ıæµİ": 109144, + "Ġä½ľ": 109145, + "ĠthuáºŃn": 109146, + "ĽĪ": 109147, + "Ġyalnız": 109148, + "alet": 109149, + "ì¦Ŀê¸Ī": 109150, + "ĠзаÑī": 109151, + "ĠекÑģп": 109152, + "âĦĸâĦĸ": 109153, + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 109154, + "ĠÚ¯ÙĪØ´": 109155, + "ãģ«åħ¥": 109156, + "ĠudÄĽl": 109157, + "Ġáº": 109158, + "à¤Ĩà¤Ī": 109159, + "âĢĮدÙĩ": 109160, + "æĤª": 109161, + "Ġtrò": 109162, + "æļĹ": 109163, + "λλην": 109164, + "ĠпÑĢизна": 109165, + "ĠسÛĮستÙħ": 109166, + "Ġà¤ħत": 109167, + "èo": 109168, + "è¿İ": 109169, + "ĠзÑĥб": 109170, + "ĠзаÑģоб": 109171, + "ĠسÙģ": 109172, + "ĠÙħاÙĨÙĨد": 109173, + "خش": 109174, + "vajÃŃ": 109175, + "nitÅĻ": 109176, + "æ¯Ĵ": 109177, + "æ¤į": 109178, + "ĠgiriÅŁ": 109179, + "ĠÄijáp": 109180, + "@n": 109181, + "оваÑĢи": 109182, + "Ġخدا": 109183, + "ĠvÄĽtÅ¡": 109184, + "ĠΣÏħ": 109185, + "Ù쨩": 109186, + "аннÑıм": 109187, + "ĠÑĩлен": 109188, + "æĶ¯æĮģ": 109189, + "å¨ľ": 109190, + "lararası": 109191, + "ΡÎij": 109192, + "Ġziy": 109193, + "ĠêµIJìľ¡": 109194, + "Ġhá»ĵi": 109195, + "าà¸Ħาร": 109196, + "imleri": 109197, + "è³¼": 109198, + "ĠجÙĩاÙĨ": 109199, + "ĠÑĢозмÑĸ": 109200, + "ÑħÑĸв": 109201, + "γε": 109202, + "横": 109203, + "ÎĻÎijΣ": 109204, + "ç¶Ń": 109205, + "Ġbiraz": 109206, + "ĠÑĤакого": 109207, + "íĥĦ": 109208, + "ĠбÑĥдÑĥÑĤ": 109209, + "ĠÑĪвид": 109210, + "ĠнеÑģ": 109211, + "ĠÙħعÙĦÙĪÙħات": 109212, + "à¥ĩयर": 109213, + "ĠдвÑĥÑħ": 109214, + "å¿ħè¦ģ": 109215, + "å§Ĩ": 109216, + "Ġpohled": 109217, + "ìĬ¤íĦ°": 109218, + "Ġåįģ": 109219, + "Ġأب": 109220, + "веÑĢдж": 109221, + "Ġà¤ľà¤®": 109222, + "लत": 109223, + "åľ°åĮº": 109224, + "Ġ|[": 109225, + "ĠвмеÑģÑĤ": 109226, + "ĠکاÙħ": 109227, + "ĠãĥIJ": 109228, + "ãĥ¼ãĥĸ": 109229, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 109230, + "ĠìĥģíĴĪ": 109231, + "à¹Ģลย": 109232, + "Äįné": 109233, + "ĠÑģÑĢедÑģÑĤва": 109234, + "ĠÑĤаб": 109235, + "ĠÙħار": 109236, + "Ġhled": 109237, + "даÑĤ": 109238, + "ÙĪÛĮد": 109239, + "Ġãĥ©": 109240, + "Ġخد": 109241, + "è¤ĩ": 109242, + "ç§ĺ": 109243, + "Ġبرد": 109244, + "ĠÏĥαÏĤ": 109245, + "ÏİÏĥειÏĤ": 109246, + "æĿ¯": 109247, + "λÏį": 109248, + "宿": 109249, + "ĠëĤľ": 109250, + "ï»Ł": 109251, + "Ġözellikle": 109252, + "ĠконÑģ": 109253, + "ĠÙħغ": 109254, + "عÙĬ": 109255, + "à¹Įà¸ģ": 109256, + "ĠÙĬت": 109257, + "ĠÙħشاÙĩ": 109258, + "ĠThanh": 109259, + "à¤¾à¤ľà¤¨": 109260, + "¥¤": 109261, + "Ġvlá": 109262, + "ĠÙ쨶": 109263, + "ΤÎĻÎļ": 109264, + "ĠнаÑĥков": 109265, + "елем": 109266, + "ĠdÃłng": 109267, + "ĠгоÑģподаÑĢ": 109268, + "ÂłS": 109269, + "иÑĩеÑģкиÑħ": 109270, + "ĠتÙĨÙĩا": 109271, + "à¤ľà¤¨": 109272, + "Ġпан": 109273, + "åĨł": 109274, + "ĠëĤĺëĬĶ": 109275, + "tÃŃ": 109276, + "ä¸Ģèµ·": 109277, + "Ġlãnh": 109278, + "Âłv": 109279, + "ovým": 109280, + "زب": 109281, + "ĠجÙħعÛĮت": 109282, + "Ġæµ·": 109283, + "ĠоÑģÑĥÑīеÑģÑĤв": 109284, + "ãi": 109285, + "ائر": 109286, + "Ġë³ij": 109287, + "á»ĭnh": 109288, + "Ġsá»Ńa": 109289, + "à¥ĩà¤Ĥ।": 109290, + "ÄĽjÅ¡ÃŃ": 109291, + "ĠдÑĸÑĤ": 109292, + "Ġæĥ": 109293, + "mÄ±ÅŁtı": 109294, + "رØŃ": 109295, + "Ġì§Ģê¸Ī": 109296, + "妻": 109297, + "âĹĭ": 109298, + "Ġì§ĢìĹŃ": 109299, + "ÙĴÙĨ": 109300, + "ĠurÄįit": 109301, + "ÙĴÙħ": 109302, + "zÃŃ": 109303, + "èķ": 109304, + "ĠØ´ÙĪØ±": 109305, + "ĠKhông": 109306, + "ÛĮزÛĮ": 109307, + "Ġзг": 109308, + "Ġвне": 109309, + "ĠprávÄĽ": 109310, + "è«ĭ": 109311, + "اÙĬت": 109312, + "ัà¸ģร": 109313, + "Ġoldukça": 109314, + "ãĤģãĤĭ": 109315, + "ĠTây": 109316, + "ëĿ¼ìĿ¸": 109317, + "èĻķ": 109318, + "Ġsư": 109319, + "Ġник": 109320, + "Ùł": 109321, + "اشÛĮÙĨ": 109322, + "elerde": 109323, + "ìĭľìķĦ": 109324, + "ĠÑĥмов": 109325, + "ĠçalÄ±ÅŁan": 109326, + "Ġë¸Ķ": 109327, + "ĠÑĤаким": 109328, + "ÑĢин": 109329, + "ĠØ®ÙĦ": 109330, + "ayd": 109331, + "Ġãĥ¡": 109332, + "ейÑĩаÑģ": 109333, + "Ġdoprav": 109334, + "ãģĵãģ¨ãģ¯": 109335, + "Ġì¶Ķì²ľ": 109336, + "å»¶": 109337, + "Ġkı": 109338, + "åı¶": 109339, + "ÑĢиг": 109340, + "íħľ": 109341, + "çͳåįļ": 109342, + "ĠвеÑĤ": 109343, + "ĠпомоÑīÑĮÑİ": 109344, + "ĠاÙģØ±Ø§Ø¯": 109345, + "ÏĢει": 109346, + "à¹Ģสร": 109347, + "Ġgiám": 109348, + "éİ": 109349, + "hlas": 109350, + "manız": 109351, + "англ": 109352, + "Ġmuž": 109353, + "ÂłK": 109354, + "ÑĢедиÑĤ": 109355, + "设å¤ĩ": 109356, + "ιÏĥμ": 109357, + "Ġcải": 109358, + "ĠéĢļ": 109359, + "ĠÙĥار": 109360, + "Ġподоб": 109361, + "ĠмеÑĤал": 109362, + "ĠÑģаме": 109363, + "лÑĥÑĩ": 109364, + "åĤ³": 109365, + "ĠÙĪÙĩÙĪ": 109366, + "Ġéĩį": 109367, + "вий": 109368, + "æ³ģ": 109369, + "ĠæĿİ": 109370, + "ĠiliÅŁkin": 109371, + "ĠείÏĩε": 109372, + "çĬ¯": 109373, + "ÅĻejmÄĽ": 109374, + "èŃĺ": 109375, + "稱": 109376, + "μμα": 109377, + "ĠÙĦÛĮ": 109378, + "ÙĩاÙĬ": 109379, + "ĠопиÑģ": 109380, + "گرد": 109381, + "ĠгÑĢ": 109382, + "ĠAnimalia": 109383, + "ÐŁÐ¾": 109384, + "Ġbóng": 109385, + "ĠдеÑĤей": 109386, + "Ġlâu": 109387, + "ĠæķĻ": 109388, + "ĠпоÑıÑģ": 109389, + "ĠاÙĦØ¢": 109390, + "ัà¸Ļà¸ķ": 109391, + "Ġдев": 109392, + "ĠÑĨей": 109393, + "ÑĮв": 109394, + "æĥł": 109395, + "maları": 109396, + "imler": 109397, + "à¥Ī।ĊĊ": 109398, + "Ġном": 109399, + "zv": 109400, + "Ġà¸ģร": 109401, + "ĠpaylaÅŁ": 109402, + "Âłs": 109403, + "िसम": 109404, + "ÑģÑĤвеннÑĭÑħ": 109405, + "stoup": 109406, + "онÑĸ": 109407, + "stÃŃ": 109408, + "ĠØŃÚ©": 109409, + "ĠگرÙģØª": 109410, + "าà¸Ħา": 109411, + "дÑı": 109412, + "ÙĦاث": 109413, + "Ġzdravot": 109414, + "ä¸ĬãģĴ": 109415, + "ãģ¼": 109416, + "elere": 109417, + "ظÙħ": 109418, + "ĠÑģвеÑĤ": 109419, + "оÑĢг": 109420, + "ç«¥": 109421, + "ĠпеÑĢеп": 109422, + "Ġमद": 109423, + "аза": 109424, + "å¦Ĥä½ķ": 109425, + "ÑģÑĮкÑĸй": 109426, + "ĠbÆ°á»Ľc": 109427, + "Ġgerekli": 109428, + "大家": 109429, + "Ġtrái": 109430, + "éģ©": 109431, + "ä¸Ń央": 109432, + "Ġphản": 109433, + "Ġعرض": 109434, + "ĠÙĥتاب": 109435, + "æĭ©": 109436, + "ÑĪего": 109437, + "帮": 109438, + "ĠÙĨÛĮاز": 109439, + "è¿·": 109440, + "à¸¸à¸Ľ": 109441, + "à¸´à¸Ľ": 109442, + "Ġدخ": 109443, + "ÏĦικÎŃÏĤ": 109444, + "ĠUz": 109445, + "ĠتÙĪÙħاÙĨ": 109446, + "ĠÙĪØ§ÙĦØ£": 109447, + "ÅĻes": 109448, + "Ñijм": 109449, + "Ġå¸Ĥ": 109450, + "ĠÑĤоже": 109451, + "Ġyapan": 109452, + "彼女": 109453, + "ĠÙħدر": 109454, + "¶ģ": 109455, + "ĠæĹ¶": 109456, + "à¹Ģà¸ĺ": 109457, + "ĠÙħاÙĦ": 109458, + "ĠBüyük": 109459, + "ĠÙĦت": 109460, + "å°ļ": 109461, + "deme": 109462, + "üb": 109463, + "ĠÑħÑĥд": 109464, + "Ġléka": 109465, + "缼": 109466, + "缴æİ¥": 109467, + "ниÑĨÑĤва": 109468, + "ĠпÑĢиÑĩин": 109469, + "еÑĢап": 109470, + "ĠÑģозда": 109471, + "械": 109472, + "Ġmüz": 109473, + "ç³»åĪĹ": 109474, + "ouz": 109475, + "Ġà¤ĵर": 109476, + "ÑĢÑĥÑĩ": 109477, + "Ġá½": 109478, + "μÎŃνα": 109479, + "ĠпÑĢедмеÑĤ": 109480, + "Ġå²": 109481, + "ãĥ³ãĥģ": 109482, + "μÎŃνη": 109483, + "лÑĥг": 109484, + "Âłn": 109485, + "ĠTarih": 109486, + "ĠãĢĪ": 109487, + "Ġbana": 109488, + "ĠcÃŃ": 109489, + "Ġvýkon": 109490, + "åĽłæŃ¤": 109491, + "ĠtÅĻi": 109492, + "าà¸ĭ": 109493, + "vailable": 109494, + "Ġistem": 109495, + "ãĥ¥ãĥ¼": 109496, + "ÐķÐĿ": 109497, + "ĠгаÑĢ": 109498, + "οÏħλ": 109499, + "à¥Ľ": 109500, + "ĠÙĪØ¶Ø¹": 109501, + "สะ": 109502, + "è·Ŀ": 109503, + "ĠØŃÙģ": 109504, + "ิà¸Ĺยาล": 109505, + "她çļĦ": 109506, + "нÑĸÑĪ": 109507, + "жение": 109508, + "기ìĹIJ": 109509, + "Ġéĺ¿": 109510, + "ĠÙħارس": 109511, + "ĠçeÅŁitli": 109512, + "ĠÅŁehir": 109513, + "átor": 109514, + "à¹īà¸Ĺ": 109515, + "ìĿ´ëĬĶ": 109516, + "Ġè²": 109517, + "é¡į": 109518, + "çĻĤ": 109519, + "ĠниÑĩ": 109520, + "Ġê°Ģì§Ģ": 109521, + "伦": 109522, + "rán": 109523, + "ostat": 109524, + "ĠÙĦÙĥ": 109525, + "èº": 109526, + "ĠNgÃłnh": 109527, + "Ġसद": 109528, + "æľĹ": 109529, + "çĦ¶åIJİ": 109530, + "ãĤ¸ãĤ§": 109531, + "леÑĢ": 109532, + "ĠÐŀна": 109533, + "سÙĪÙĨ": 109534, + "Ïģον": 109535, + "ĠدرÛĮاÙģØª": 109536, + "à¸Ńà¸Ńà¸Ļà¹Ħลà¸Ļ": 109537, + "Ġdál": 109538, + "ĠмÑĸÑģÑĨе": 109539, + "Ġдней": 109540, + "ĠاÙĦات": 109541, + "Ġरहत": 109542, + "ï¼Į对": 109543, + "è³ĩæĸĻ": 109544, + "ä»»ä½ķ": 109545, + "éĦ": 109546, + "taj": 109547, + "βά": 109548, + "Ġнадо": 109549, + "ĠÑģÑĤÑĥд": 109550, + "ĠÅŁeh": 109551, + "ัà¸įà¸į": 109552, + "à¥ĭब": 109553, + "ãĥ©ãĥ¼": 109554, + "Û±Ûµ": 109555, + "ept": 109556, + "Ġbildir": 109557, + "สà¸ĸาà¸Ļ": 109558, + "еÑĤÑĮÑģÑı": 109559, + "ským": 109560, + "ĠоблаÑģÑĤÑĮ": 109561, + "Ġìŀł": 109562, + "ĠGör": 109563, + "Ġdayan": 109564, + "ĠÛĮاد": 109565, + "çĶŁäº§": 109566, + "íĺij": 109567, + "å¾ģ": 109568, + "Ġاجر": 109569, + "ĠпÑĢе": 109570, + "ä¸īä¸īä¸īä¸ī": 109571, + "åŁİå¸Ĥ": 109572, + "ĠпÑĢимеÑĢ": 109573, + "Äįást": 109574, + "èģĺ": 109575, + "ĠÙħربÙĪØ·": 109576, + "æŀļ": 109577, + "åĪĢ": 109578, + "æŁ¥çľĭ": 109579, + "Ġ모ëijIJ": 109580, + "ìŀIJë£Į": 109581, + "-、": 109582, + "Ġê°ĻìĿ´": 109583, + "Ġì¡´": 109584, + "егоÑĢ": 109585, + "edik": 109586, + "имÑĥ": 109587, + "ĠArth": 109588, + "åºĶç͍": 109589, + "miÅŁti": 109590, + "Ġkhá»ıe": 109591, + "ĠÑĸд": 109592, + "λλη": 109593, + "âh": 109594, + "маг": 109595, + "éļĨ": 109596, + "ĠвнÑĥÑĤÑĢ": 109597, + "Ġبط": 109598, + "(æĹ¥": 109599, + "İY": 109600, + "лик": 109601, + "ĠBản": 109602, + "ĠتÙĪØ³": 109603, + "़त": 109604, + "amak": 109605, + "åķıé¡Į": 109606, + "ĠÑģамоÑģÑĤ": 109607, + "ï¼¼Ċ": 109608, + "Ġç¦ı": 109609, + "Ù¡": 109610, + "ĠÑĦоÑĢми": 109611, + "ĠÑĢозÑĥм": 109612, + "ĠÙħطاÙĦ": 109613, + "ä¹Łæĺ¯": 109614, + "ç¾İåĽ½": 109615, + "ëĵľë¦½ëĭĪëĭ¤": 109616, + "ĠlÄ©nh": 109617, + "ĠпоÑĤомÑĥ": 109618, + "ÑıбÑĢÑı": 109619, + "漫": 109620, + "Ġngoại": 109621, + "à¸Ńำ": 109622, + "ÙĬÙĨا": 109623, + "Ġmlad": 109624, + "ÏĥÏĦά": 109625, + "اتر": 109626, + "주ìĿĺ": 109627, + "еннÑĸ": 109628, + "оза": 109629, + "ÙĤات": 109630, + "ĠÐĴаÑģ": 109631, + "è®Ń": 109632, + "éIJ": 109633, + "ÑĥÑİÑĩи": 109634, + "Ġکر": 109635, + "Ġ.|": 109636, + "Ġgenç": 109637, + "該": 109638, + "ä»ģ": 109639, + "одÑĭ": 109640, + "ĠØ£ÙĪÙĦ": 109641, + "ĠìĤ¬íļĮ": 109642, + "Ġà¹Ģส": 109643, + "ĠëķĮ문ìĹIJ": 109644, + "âĢĮب": 109645, + "ĠлиÑĪÑĮ": 109646, + "Ġименно": 109647, + "madı": 109648, + "ĠéĤ": 109649, + "ĠÙĪØ§Ø±Ø¯": 109650, + "Ġtakım": 109651, + "Ġà¹Ģห": 109652, + "Ġà¸Ńย": 109653, + "Ġkonusu": 109654, + "Ø®ÙĪ": 109655, + "ĠÑģид": 109656, + "赤": 109657, + "оÑıÑĤелÑĮ": 109658, + "ëĭµ": 109659, + "εÏī": 109660, + "ÑĸÑħ": 109661, + "Ġयद": 109662, + "ĠÚ©ÛĮÙģ": 109663, + "μοÏĤ": 109664, + "Ġaldı": 109665, + "ĠíĻį": 109666, + "кÑĥп": 109667, + "ĠÙĨÙħاÛĮØ´": 109668, + "ãģ¥": 109669, + "Ġíķ©ëĭĪëĭ¤": 109670, + "ĠëĮĵê¸Ģ": 109671, + "боÑĢа": 109672, + "éīĦ": 109673, + "Ġà¹Ģà¸Ī": 109674, + "à¹īà¸ģ": 109675, + "§ط": 109676, + "ربÙĩ": 109677, + "ĠÑĥз": 109678, + "ĠмаÑİÑĤÑĮ": 109679, + "Ġbyli": 109680, + "ีà¸ķ": 109681, + "Ġì§ĢìĽIJ": 109682, + "èĩªçĦ¶": 109683, + "ùy": 109684, + "ĠçaÄŁ": 109685, + "един": 109686, + "ëī´": 109687, + "åį±": 109688, + "ĠпозволÑı": 109689, + "ØŃاد": 109690, + "ĠÑĩего": 109691, + "ียร": 109692, + "Ġyöntem": 109693, + "Ġders": 109694, + "ĠÑģÑĤоÑı": 109695, + "ĠкÑĢÑĥп": 109696, + "Ġð": 109697, + "ĠдомаÑĪ": 109698, + "енд": 109699, + "ç»§": 109700, + "ĠÄijô": 109701, + "ĠchtÄĽ": 109702, + "计åĪĴ": 109703, + "ÎŃα": 109704, + "ĠdobÅĻe": 109705, + "สà¸Ńà¸ļ": 109706, + "еление": 109707, + "ĠÄijông": 109708, + "ãģ¾ãĤĬ": 109709, + "Ġboyunca": 109710, + "à¥ģà¤Ĺ": 109711, + "ĠÑĦиз": 109712, + "ãĤ³ãĥ³": 109713, + "Ġdeney": 109714, + "ÑĩеÑģкиÑħ": 109715, + "λον": 109716, + "以åıĬ": 109717, + "اÙĪØª": 109718, + "³³³³³": 109719, + "Ġì¤Ħ": 109720, + "िफ": 109721, + "ĠÑĤол": 109722, + "ĠëĤ´ê°Ģ": 109723, + "âĸı": 109724, + "Ġphá": 109725, + "ĠÑģпÑĸв": 109726, + "ĠجÙħÙĬع": 109727, + "ĠbezpeÄį": 109728, + "ĠæĹł": 109729, + "ĠvÅ¡e": 109730, + "ÑģÑĤвÑĥ": 109731, + "dust": 109732, + "oÅ¡": 109733, + "ĠتارÙĬØ®": 109734, + "اØŃØ©": 109735, + "ĠÙħشارÙĥØ©": 109736, + "Ġακ": 109737, + "ัà¸Ļà¸Ļ": 109738, + "éģĬ": 109739, + "ĠÑģоÑĤ": 109740, + "Ġказ": 109741, + "ĠÑĤеÑĩение": 109742, + "긴": 109743, + "acaktır": 109744, + "ê±°ëĤĺ": 109745, + "ียม": 109746, + "ĠÑģÑĥÑħ": 109747, + "ĠëĦĪ무": 109748, + "ãģıãĤĭ": 109749, + "ĠкоÑĤоÑĢой": 109750, + "اÙĤØ©": 109751, + "yıl": 109752, + "ãĤ»ãĥĥãĥĪ": 109753, + "ĠÑįлем": 109754, + "æģIJ": 109755, + "ÙĨاء": 109756, + "åħ©": 109757, + "ĠteÄı": 109758, + "严": 109759, + "Ġì§Ī문": 109760, + "Ġ为": 109761, + "ìĭľíĹĺ": 109762, + "ĠпÑĢок": 109763, + "ujeme": 109764, + "ücü": 109765, + "ĠاÙĦÙħغ": 109766, + "ĠØŃساب": 109767, + "ãģĹãģ¦ãģĦ": 109768, + "кова": 109769, + "ĠÄijÃło": 109770, + "ĠпÑĢиз": 109771, + "ĠÙĪÙħÙĨ": 109772, + "ĠоÑĢ": 109773, + "à¸ģà¸ķ": 109774, + "аÑĦ": 109775, + "Ġà¸ŀร": 109776, + "ÑĨией": 109777, + "æª": 109778, + "Ġpůsob": 109779, + "åŃ©åŃIJ": 109780, + "Ġbánh": 109781, + "ĠÑĦоÑĢмÑĥ": 109782, + "Ġá»ķ": 109783, + "Ġменее": 109784, + "à¹īาห": 109785, + "ниÑĨа": 109786, + "ีĊ": 109787, + "ĠволоÑģ": 109788, + "ĠارائÙĩ": 109789, + "第ä¸ī": 109790, + "ëIJĺìĹĪ": 109791, + "Ġkısm": 109792, + "ãĥ¼ãĥĬ": 109793, + "lerimiz": 109794, + "ÙĨÙĬÙĨ": 109795, + "ĠNgưá»Ŀi": 109796, + "ĠоÑĤдел": 109797, + "çļĦæĹ¶åĢĻ": 109798, + "онов": 109799, + "Äįan": 109800, + "izm": 109801, + "ĠÑģобой": 109802, + "à¹ĩà¸ķ": 109803, + "ĠÑģлÑĸд": 109804, + "Ġà¤ľà¤¹": 109805, + "ï¼ĮæĪij们": 109806, + "ãĢĤãģĿãģ®": 109807, + "ÏĢÏīÏĤ": 109808, + "çĨŁ": 109809, + "ฯ": 109810, + "ëĦIJ": 109811, + "æľĭ": 109812, + "Ġë¹Ħë°Ģ": 109813, + "ëįķ": 109814, + "ĠmÃłn": 109815, + "ìĿ´ê³ł": 109816, + "ëŀľëĵľ": 109817, + "éĤĦ": 109818, + "Ä±ÅŁÄ±k": 109819, + "Ġ个": 109820, + "Ġnád": 109821, + "бÑĢа": 109822, + "æĮĩå®ļ": 109823, + "larıyla": 109824, + "ĠÐŀни": 109825, + "Ġhra": 109826, + "ĠÑĢеÑĨеп": 109827, + "ĠÐłÐ¾ÑģÑģий": 109828, + "å½±åĵį": 109829, + "ĠKdyž": 109830, + "ĠÃ¶ÄŁrenc": 109831, + "åīµ": 109832, + "Ġjist": 109833, + "èĪĪ": 109834, + "触": 109835, + "åıijçݰ": 109836, + "มาย": 109837, + "erken": 109838, + "ĠздеÑģÑĮ": 109839, + "ĠÙħسئ": 109840, + "@nate": 109841, + "ĠëĤ´ìļ©": 109842, + "ĠnabÃŃd": 109843, + "ÛĢ": 109844, + "ĠмоменÑĤ": 109845, + "ãģłãģĮ": 109846, + "ίδα": 109847, + "Tak": 109848, + "Ġë³´ê³ł": 109849, + ":::::::::": 109850, + "ÄŁmen": 109851, + "ĠпомеÑī": 109852, + "ãģ«ãģ¤ãģĦãģ¦": 109853, + "ĠÙģÙĪÙĤ": 109854, + "ĠعضÙĪ": 109855, + "ĠÙħÛĮاÙĨ": 109856, + "Ġmüc": 109857, + "ĠпÑĢоÑıв": 109858, + "ÑĩеÑģки": 109859, + "ãģłãģĭãĤī": 109860, + "éĤ¦": 109861, + "Ġë¶ĦìĦĿ": 109862, + "飩": 109863, + "į¨": 109864, + "ĠDaha": 109865, + "ĠκÏĮ": 109866, + "ĠнаÑĩина": 109867, + "ĠÐŁÐ¾ÑĤ": 109868, + "ÏĥκεÏħ": 109869, + "ĠÑĢан": 109870, + "ÙĪÙĬس": 109871, + "::::::::::": 109872, + "Û±Û¹Û¹": 109873, + "Ġardından": 109874, + "à¹Ĥà¸Ķ": 109875, + "اراÙĨ": 109876, + "داد": 109877, + "Ġquý": 109878, + "ĠØ£Ùĥثر": 109879, + "âĹĨ": 109880, + "ĠأخرÙī": 109881, + "Ġë§ĪìĿĮ": 109882, + "릴": 109883, + "ĠعÙĦÙĪÙħ": 109884, + "ĠeÄŁ": 109885, + "воÑĢÑİ": 109886, + "ĠãĥĹ": 109887, + "ÑĥÑĩаÑģ": 109888, + "Ġبأ": 109889, + "ÏĨο": 109890, + "никами": 109891, + "à¹ĥà¸ķ": 109892, + "ÄįetnÄĽ": 109893, + "à¸ļาà¸ĩ": 109894, + "çīĻ": 109895, + "ãĥªãĤ«": 109896, + "íĴ": 109897, + "åĩºçīĪ": 109898, + "γι": 109899, + "ãĢĤãģĿãĤĮ": 109900, + "Ġyani": 109901, + "lech": 109902, + "ĠLuáºŃt": 109903, + "çļĦãģª": 109904, + "Ġnedeniyle": 109905, + "dej": 109906, + "ĠÑģовеÑĢÑĪ": 109907, + "Ġphá»ķ": 109908, + "ısından": 109909, + "Ġchắc": 109910, + "deÅŁ": 109911, + "Ġкоман": 109912, + "æĽ¿": 109913, + "Ġplán": 109914, + "Ġdữ": 109915, + "ĠêµŃê°Ģ": 109916, + "Ġtakip": 109917, + "Ġthá»§y": 109918, + "ÑģлÑĸд": 109919, + "âī§": 109920, + "ĠIIC": 109921, + "θÏħ": 109922, + "ávat": 109923, + "ĠÑģок": 109924, + "ĠбагаÑĤо": 109925, + ";:;:;:;:": 109926, + "ÏģιοÏĤ": 109927, + "ilmiÅŁtir": 109928, + "Ġznam": 109929, + "ĠΤα": 109930, + "amaz": 109931, + "à¹ģà¸ŀ": 109932, + "ãĥģãĥ£": 109933, + "Ġkullanı": 109934, + "æĶ¾éĢģ": 109935, + "дн": 109936, + "ĠÙĪØ§Ø¨": 109937, + "Ġtrắng": 109938, + "ÑģÑıг": 109939, + "Ġارتباط": 109940, + "ĠвÑħод": 109941, + "å·ŀå¸Ĥ": 109942, + "Ġसत": 109943, + "ÑĩаеÑĤÑģÑı": 109944, + "íĮĮíĬ¸": 109945, + "ĠNhững": 109946, + "ä¸įåı¯": 109947, + "å±Ĭ": 109948, + "ĠãĤŃ": 109949, + "ارÙĩاÛĮ": 109950, + "ĠarÅŁiv": 109951, + "ĠاÙĦÙī": 109952, + "ायà¤ķ": 109953, + "ãģĹãĤĩãģĨ": 109954, + "Ġulus": 109955, + "alaxy": 109956, + "기ê°Ģ": 109957, + "ãİ¡(": 109958, + "μάÏĦÏīν": 109959, + "èn": 109960, + "ùi": 109961, + "ĠнаÑģÑĤоÑı": 109962, + "ĠСв": 109963, + "ĠоÑģоби": 109964, + "ково": 109965, + "ĠÑĢебенка": 109966, + "ĠÑĤÑıж": 109967, + "Ġxuá»ijng": 109968, + "Ġê¶Į": 109969, + "огод": 109970, + "Ġấy": 109971, + "è²ł": 109972, + "วà¸Ļ": 109973, + "Ġstanov": 109974, + "Ġkrál": 109975, + "Ġà¤ĩसल": 109976, + "ebe": 109977, + "宾": 109978, + "ĠдоÑģÑĤаÑĤоÑĩно": 109979, + "IIIK": 109980, + "ÏĢά": 109981, + "Ġbirkaç": 109982, + "ĠاÙĦÙħÙĤ": 109983, + "ãĥ¶": 109984, + "ĠBaÅŁkanı": 109985, + "Ġ첨ë¶ĢíĮĮìĿ¼": 109986, + "Ġyarar": 109987, + "亡": 109988, + "ĠÏĢÏĮ": 109989, + "ÂłÑģ": 109990, + "δή": 109991, + "elerini": 109992, + "Ġsuç": 109993, + "Ġдома": 109994, + "ĠнаÑĢÑĥÑĪ": 109995, + "Ġί": 109996, + "Ġê·¸ìĿĺ": 109997, + "ç͵影": 109998, + "ابÙĩ": 109999, + "комÑĥ": 110000, + "Ġतब": 110001, + "à¥Īà¤ł": 110002, + "Ġ모ì§ij": 110003, + "Ġæ±Ł": 110004, + "Ġê²ĥìĿĢ": 110005, + "ονÏĦαι": 110006, + "ĠاÙĦرÙĬاض": 110007, + "許": 110008, + "Ġhalinde": 110009, + "ĠاشارÙĩ": 110010, + "ĠкÑĢÑĭ": 110011, + "лений": 110012, + "luÄŁ": 110013, + "Ġdobu": 110014, + "sik": 110015, + "à¥ģà¤Ł": 110016, + "ĠкÑĸн": 110017, + "ãģ¨ãģį": 110018, + "à¥Ĥस": 110019, + "æħ¢": 110020, + "ĠdÄ±ÅŁÄ±nda": 110021, + "ç·ı": 110022, + "ĠbÃŃ": 110023, + "ĠCLIIIK": 110024, + "ĠIICIII": 110025, + "Ġherk": 110026, + "ãĤıãģĽ": 110027, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 110028, + "³³³³³³": 110029, + "اÙĦد": 110030, + "Ġdavran": 110031, + "Äįer": 110032, + "ĠØŁ": 110033, + "ãģĺãĤĥãģªãģĦ": 110034, + "Ġdair": 110035, + "Ġ": 110036, + "ัà¸ĩส": 110037, + "Ġëĭ´": 110038, + "å¾ŀ": 110039, + "ĠÑįÑĤиÑħ": 110040, + "诺": 110041, + "á»·": 110042, + "еÑĢиÑģÑĤи": 110043, + "овÑĭÑħ": 110044, + "Ġãĥĩ": 110045, + "ضÙĬ": 110046, + "Ġà¤īà¤ł": 110047, + "ĠnapÅĻÃŃklad": 110048, + "è´Ŀ": 110049, + "ĠÅ¡k": 110050, + "ĠبÙĪØ¯ÙĨد": 110051, + "vůli": 110052, + "éģĩ": 110053, + "Ġзнай": 110054, + "ĠTham": 110055, + "rani": 110056, + "اØŃت": 110057, + "Ø´Ùĩ": 110058, + "мÑĸнÑĸÑģÑĤÑĢа": 110059, + "à¹ĭ": 110060, + "ĠÎijνα": 110061, + "à¥ĭà¤ļ": 110062, + "ç»Ħç»ĩ": 110063, + "ÑģÑĤиÑĤ": 110064, + "imli": 110065, + "åIJįçĦ¡ãģĹãģķãĤĵ": 110066, + "ÙijØ©": 110067, + "θμ": 110068, + "олоÑĤ": 110069, + "ยà¸ĩ": 110070, + "ãĤīãĤĮãĤĭ": 110071, + "ĠлиÑĩ": 110072, + "овÑĭе": 110073, + "éĢĥ": 110074, + "Ġ广": 110075, + "ìĬ¬": 110076, + "ÙħÛĮÙĨ": 110077, + "ĠìłĦì²´": 110078, + "ĠÎŃÏĩ": 110079, + "Ġì±ħ": 110080, + "Ġhlas": 110081, + "екÑĤив": 110082, + "ĠÏĢλη": 110083, + "luÄŁu": 110084, + "好çļĦ": 110085, + "ĠÚĨÙĪÙĨ": 110086, + "ĠBeled": 110087, + "Ġengel": 110088, + "нÑıÑı": 110089, + "ĠyaÅŁan": 110090, + "ÑĩниÑħ": 110091, + "ارÙĬØ©": 110092, + "मत": 110093, + "ãĥĭãĥĭãĥĭãĥĭ": 110094, + "åĭ¢": 110095, + "ĠåĨħ": 110096, + "Ġíı¬íķ¨": 110097, + "ĠобÑģ": 110098, + "Ġthấp": 110099, + "Ġdây": 110100, + "ãĥĸãĥ©": 110101, + "аÑĤÑĭ": 110102, + "ĠÑģвоей": 110103, + "ãĤīãģªãģĦ": 110104, + "åıijçĶŁ": 110105, + "erece": 110106, + "Ġodbor": 110107, + "ĠвнеÑģ": 110108, + "ĠÄIJảng": 110109, + "ĠëıĮìķĦ": 110110, + "ÄĽli": 110111, + "ısında": 110112, + "Ġबदल": 110113, + "vnÃŃ": 110114, + "ãģ®ãģ«": 110115, + "ĠпоÑĤом": 110116, + "imde": 110117, + "alama": 110118, + "âĢª": 110119, + "ĠstejnÄĽ": 110120, + "еÑĢе": 110121, + "éĴ¢": 110122, + "æľºæŀĦ": 110123, + "Ġè³": 110124, + "åͱ": 110125, + "Ġëħ¸ì¶ľ": 110126, + "Ġлибо": 110127, + "âĢĬ": 110128, + "Ġcez": 110129, + "romÄĽ": 110130, + "ίÏīν": 110131, + "ÏĨή": 110132, + "ĠíĻ©": 110133, + "Ġdlouh": 110134, + "骨": 110135, + "åħ¬éĩĮ": 110136, + "伸": 110137, + "Ġãĥij": 110138, + "ä»Ļ": 110139, + "Ġolmadı": 110140, + "елиÑĩ": 110141, + "ождениÑı": 110142, + "Ġsöyledi": 110143, + "átek": 110144, + "ìĥµ": 110145, + "ยวà¸ģ": 110146, + "Ġ鼻": 110147, + "Ġпев": 110148, + "ĠдÑĢÑĥгие": 110149, + "átku": 110150, + "ĠعÙĪ": 110151, + "ována": 110152, + "ضر": 110153, + "ĠëģĿ": 110154, + "ĠíĨµíķ´": 110155, + "Îĸ": 110156, + "Ġvur": 110157, + "åĨ²": 110158, + "ĠпÑĢек": 110159, + "Ġपà¤ķ": 110160, + "Ġà¹Ģà¸Ĺ": 110161, + "ãģ¨ãģĭ": 110162, + "عÙĨ": 110163, + "å®ĩ": 110164, + "ÏĦζ": 110165, + "Ġnằm": 110166, + "ĠÑģвоб": 110167, + "ĠδÏį": 110168, + "çĸĹ": 110169, + "-й": 110170, + "é¦Ļ港": 110171, + "تا": 110172, + "Ïĥιμο": 110173, + "íķĦ": 110174, + "Ġ详æĥħ": 110175, + "両": 110176, + "ÙİØ§ÙĦ": 110177, + "ĠTrưá»Ŀng": 110178, + "eného": 110179, + "ĠÑĢекомендÑĥ": 110180, + "ÛĮرÙĩ": 110181, + "าà¸ĸ": 110182, + "ĠکاÙħÙĦ": 110183, + "بط": 110184, + "زÛĮÙĨÙĩ": 110185, + "Ġдолжна": 110186, + "Ġë§İìĿĢ": 110187, + "âĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹı": 110188, + "lepÅ¡ÃŃ": 110189, + "алог": 110190, + "ãĤªãĥ³": 110191, + "Ġë³Ħ": 110192, + "ırı": 110193, + "ĠجاÙħعÙĩ": 110194, + "æĽľ": 110195, + "ojÃŃ": 110196, + "ĠÑĪлÑıÑħ": 110197, + "Ġhızlı": 110198, + "ĠخصÙĪØµ": 110199, + "ÐIJÑĢ": 110200, + "åľĺ": 110201, + "ĠживоÑĤ": 110202, + "é±": 110203, + "Ġngữ": 110204, + "Ġvòng": 110205, + "èİ«": 110206, + "ĠзаÑħод": 110207, + "ìĻĦ": 110208, + "ĠÑģледÑĥÑİÑī": 110209, + "éĹ»": 110210, + "ÑijÑĢ": 110211, + "ĠchvÃŃ": 110212, + "èĥľ": 110213, + "ãģªãģĹ": 110214, + "Ġteknoloj": 110215, + "ejména": 110216, + "ĠìłĪ": 110217, + "ì³IJ": 110218, + "æĻ®éĢļ": 110219, + "Ġvýro": 110220, + "Ġayrı": 110221, + "ĠпÑĢев": 110222, + "Ġgóp": 110223, + "à¹Ĥà¸ģ": 110224, + "à¸Ĺำà¹ĥห": 110225, + "åıİ": 110226, + "åĺī": 110227, + "Ġtelev": 110228, + "ãģ¨ãģĵãĤį": 110229, + "ëıĮ": 110230, + "phyl": 110231, + "ราะ": 110232, + "ĠçĪ": 110233, + "ÑģÑĤиÑĤÑĥ": 110234, + "ï¼Įè¿ĺ": 110235, + "ĠÎijγ": 110236, + "Äįku": 110237, + "æı´": 110238, + "ायत": 110239, + "æıı": 110240, + "ãĤĤãģĹ": 110241, + "ĠпеÑĢеÑģ": 110242, + "ĠìĺģíĻĶ": 110243, + "idla": 110244, + "åİħ": 110245, + "ï¼ı:": 110246, + "ترÛĮ": 110247, + "à¸Ľà¸ı": 110248, + "ĠнаÑģеленнÑı": 110249, + "Ġamaç": 110250, + "Ġkdo": 110251, + "ĠизвеÑģÑĤ": 110252, + "ÑĪиÑĢ": 110253, + "ì£ł": 110254, + "Å¡it": 110255, + "Ġtá»ijc": 110256, + "ìŀIJìĿĺ": 110257, + "ÑĩаÑĤ": 110258, + "åıĥ": 110259, + "鼶": 110260, + "å°º": 110261, + "Ġindir": 110262, + "ĠнаÑĨÑĸоналÑĮ": 110263, + "Ġxanh": 110264, + "ÛĮدÛĮ": 110265, + "ĠинÑĤеÑĢеÑģ": 110266, + "ĠآسÛĮ": 110267, + "éĤ£ä¸ª": 110268, + "Ġbilm": 110269, + "ане": 110270, + "ĠtÄĽchto": 110271, + "Ñĩик": 110272, + "ĠдоÑħод": 110273, + "èĤ¡ä»½": 110274, + "åħ³ç³»": 110275, + "ãģ«ãģªãģ£ãģŁ": 110276, + "ĠпÑĢедпÑĢи": 110277, + "Ġgeçen": 110278, + "ĠبÙĤ": 110279, + "Ġvýznam": 110280, + "Ġà¹Ģà¸Ħร": 110281, + "ĠÑħÑĤо": 110282, + "Ø´ÙĬ": 110283, + "åıĤåĬł": 110284, + "ÑģÑĤвенного": 110285, + "ÑĤÑĢон": 110286, + "ÂĢÂĢÂĢÂĢ": 110287, + "æ¢Ŀ": 110288, + "бав": 110289, + "Û±Û¶": 110290, + "顺": 110291, + "Ġjaz": 110292, + "ĠاÙĦÙħÙĦ": 110293, + "Ġاثر": 110294, + "ĠпÑĢивод": 110295, + "анÑĥ": 110296, + "à¥ģà¤Ń": 110297, + "æĹ§": 110298, + "ÑĮе": 110299, + "สล": 110300, + "лÑıÑİÑĤ": 110301, + "วà¸Ķ": 110302, + "Æ°á»Ľi": 110303, + "ÙĬÙħØ©": 110304, + "ãĤ¯ãĥŃ": 110305, + "лий": 110306, + "γÏģά": 110307, + "Ġperforman": 110308, + "è¯ī": 110309, + "ä½łçļĦ": 110310, + "ìħĶ": 110311, + "нениÑı": 110312, + "á»Ńi": 110313, + "ÙĪØ²ÛĮ": 110314, + "éŁ¿": 110315, + "à¥Īद": 110316, + "Ġ몸": 110317, + "Ġeser": 110318, + "ĠÙģØ¹Ø§ÙĦÛĮت": 110319, + "нÑĸвеÑĢ": 110320, + "κÏģα": 110321, + "証": 110322, + "Ġnemoc": 110323, + "Ġyardımcı": 110324, + "Ġçī¹": 110325, + "Ġкоп": 110326, + "ĠÐľÐ¾Ð¶": 110327, + "़à¤ķ": 110328, + "Ġëľ": 110329, + "ĠÑĢеак": 110330, + "Ġpozor": 110331, + "ÂłÐIJ": 110332, + "ĠÙĬÙĥ": 110333, + "ĠÑģад": 110334, + "Ġåħ«": 110335, + "ĠполÑĮз": 110336, + "ĠraÄŁmen": 110337, + "ternÃŃ": 110338, + "siyon": 110339, + "ÑģÑıÑĩ": 110340, + "ovaný": 110341, + "ĠëĮĢíķľë¯¼êµŃ": 110342, + "ĠвÑĸдб": 110343, + "ĠÐIJнд": 110344, + "stva": 110345, + "éĮĦ": 110346, + "Ġëij": 110347, + "ิà¸Ħ": 110348, + "jÃŃt": 110349, + "Ġkullanıcı": 110350, + "ĠæŁ¥çľĭ": 110351, + "ÙģÙĦ": 110352, + "ĠЯкÑīо": 110353, + "çľĭåΰ": 110354, + "ÑĢеÑħ": 110355, + "ĠاÙĦعربÙĬØ©": 110356, + "ë¡ľê·¸ëŀ¨": 110357, + "Ġà¤¬à¤ľ": 110358, + "ĠпÑĢип": 110359, + "Ġschop": 110360, + "ĠباÙĦا": 110361, + "å®ħ": 110362, + "ĠاÙĦÙħÙĩ": 110363, + "ανα": 110364, + "à¥ĭव": 110365, + "åģ´": 110366, + "å¼Ģåıij": 110367, + "ÙħاÙĦ": 110368, + "Ġधर": 110369, + "Ġdahil": 110370, + "ãĢģãģĵãģ®": 110371, + "ัà¸Īà¸Ī": 110372, + "ÑģпÑĸлÑĮ": 110373, + "Ġà¤ķप": 110374, + "ĠвеÑĩ": 110375, + "Ġвида": 110376, + "ĠÙħعÙĨ": 110377, + "ĠоÑĤли": 110378, + "iá»ħ": 110379, + "лиÑĪ": 110380, + "ĠÐŁÐ¾Ñģле": 110381, + "ãģĵãģĵ": 110382, + "Ġkültür": 110383, + "Ġجر": 110384, + "Ġæ¼": 110385, + "èĩº": 110386, + "Ġmevcut": 110387, + "Ù¾ÛĮ": 110388, + "ĠاÙĦسÙĦاÙħ": 110389, + "иÑĤелей": 110390, + "ĠÑĢоÑģÑĤ": 110391, + "Ġedil": 110392, + "Ġå·²": 110393, + "ç²¾åĵģ": 110394, + "ä»ħ": 110395, + "âĢĻye": 110396, + "à¥Īà¤Ĥ.": 110397, + "ĠåĨĨ": 110398, + "ëĪĦ": 110399, + "ĠìĻķ": 110400, + "æĺŃ": 110401, + "ĠÎļο": 110402, + "meden": 110403, + "Ġolab": 110404, + "ĠÚ©ÙĪØ¯": 110405, + "à¸Ħาส": 110406, + "еннаÑı": 110407, + "æĬ¼": 110408, + "ylül": 110409, + "Ġseviy": 110410, + "ĠdÄĽti": 110411, + "â̬Ċ": 110412, + "Ġعز": 110413, + "Ġuá»ijng": 110414, + "ĠسرÙħ": 110415, + "ене": 110416, + "ĠмаленÑĮ": 110417, + "ĠвÑĸдом": 110418, + "ัà¸ļà¸Ĺ": 110419, + "ĠThái": 110420, + "Ġà¤Ĩवश": 110421, + "roveÅĪ": 110422, + "çĽ£": 110423, + "ĠÑıзÑĭ": 110424, + "ĠOy": 110425, + "å£ģ": 110426, + "ваÑĤÑĮ": 110427, + "ладÑĥ": 110428, + "اصÙĦ": 110429, + "otÅĻeb": 110430, + "دÙĬØ«": 110431, + "íı°": 110432, + "νομ": 110433, + "гоÑĢод": 110434, + "Ġmuh": 110435, + "âĢĻl": 110436, + "ÑģÑĤвоÑĢ": 110437, + "åħĦ": 110438, + "ÐķÐł": 110439, + "Ø·ÙĦ": 110440, + "éľĩ": 110441, + "ÙİØª": 110442, + "ĠblÃŃ": 110443, + "Ġedildi": 110444, + "éĿł": 110445, + "äºĮåįģ": 110446, + "æĹĹ": 110447, + "Ġçiz": 110448, + "ĠÄijảo": 110449, + "Ġopat": 110450, + "oÄŁan": 110451, + "ë²Į": 110452, + "Ġéł": 110453, + "Ġsebep": 110454, + "ÑĥÑĤи": 110455, + "åĪº": 110456, + "طب": 110457, + "evÅ¡ÃŃm": 110458, + "chop": 110459, + "çĶļ": 110460, + "Ġnghá»ģ": 110461, + "ĠпаÑĢÑĤ": 110462, + "ุà¸Ħ": 110463, + "Ú©ÛĮÙĦ": 110464, + "dum": 110465, + "Ġortak": 110466, + "ãģŁãģĹ": 110467, + "Ġobyvatel": 110468, + "Ġvých": 110469, + "Ġveren": 110470, + "ĠвеÑģÑĮ": 110471, + "ĠÐĶа": 110472, + "Ġíķĺì§Ģë§Į": 110473, + "å¦ĤæŃ¤": 110474, + "Ġमहत": 110475, + "ัà¸ĩà¸ģฤษ": 110476, + "ãĢĤè¿Ļ": 110477, + "Ġгал": 110478, + "Ġsanat": 110479, + "éłĨ": 110480, + "ĠÑģамо": 110481, + "åĽ°": 110482, + "ีà¸Ń": 110483, + "ĠBaÅŁkan": 110484, + "ÏĦοÏħÏĤ": 110485, + "Ġyaptıģı": 110486, + "ÅĻit": 110487, + "ĠÑģÑĸлÑĮ": 110488, + "ानत": 110489, + "ĠÙĨت": 110490, + "ĠkhÄĥn": 110491, + "à¸Ĭà¸Ļะ": 110492, + "мини": 110493, + "ãĥ¬ãĥ¼": 110494, + "ëĤ¬": 110495, + "éħĴåºĹ": 110496, + "ĠاÙĦÙĬÙĪÙħ": 110497, + "ä¹Ĺ": 110498, + "à¸Ħรà¸ĩà¸ģาร": 110499, + "Ù쨧ÙĤ": 110500, + "Ġà¤ıस": 110501, + "Ġæ¡": 110502, + "گذ": 110503, + "Ġà¤ĩल": 110504, + "елениÑı": 110505, + "à¸ģรà¸ĵ": 110506, + "ä¸ľè¥¿": 110507, + "ÎŁÎľ": 110508, + "ĠmáºŃt": 110509, + "ĠsnÃŃ": 110510, + "ÂIJ": 110511, + "à¹Ģรา": 110512, + "íķ´ìķ¼": 110513, + "ĠìĦľë¹ĦìĬ¤": 110514, + "ĠداخÙĦ": 110515, + "Ġthắng": 110516, + "íĥĪ": 110517, + "авÑģÑı": 110518, + "ĠÑĸм": 110519, + "اÙħت": 110520, + "ĠÙĪÙĤت": 110521, + "à¥Ĥà¤ģ": 110522, + "ĠèIJ": 110523, + "ĠسÙĦاÙħ": 110524, + "ĠvzdÄĽl": 110525, + "å¸ĮæľĽ": 110526, + "åŃĺæ¡£": 110527, + "Ġà¸Ĺำ": 110528, + "ĠвÑĸйÑģÑĮ": 110529, + "аÑĢан": 110530, + "ĠÑĢÑĸк": 110531, + "ĠпиÑģÑĮ": 110532, + "Ġá¼IJ": 110533, + "기ëıĦ": 110534, + "ĠпоÑģÑĤоÑıн": 110535, + "ĠåĮĹ京": 110536, + "ĠNÄĽm": 110537, + "Ø´ÙĨاÙħÙĩ": 110538, + "ĠdalÅ¡ÃŃch": 110539, + "Ġباع": 110540, + "Ġpohy": 110541, + "اÙĦÙģ": 110542, + "à¸ŀวà¸ģ": 110543, + "éĭ": 110544, + "Ġcih": 110545, + "Ù¢": 110546, + "临": 110547, + "ãĤ¯ãĥĪ": 110548, + "пнÑı": 110549, + "Ġдал": 110550, + "ÙĴر": 110551, + "ãĢĢãĢĢĠãĢĢĠãĢĢ": 110552, + "æĬ¥åijĬ": 110553, + "ÙĪØ¯ÛĮ": 110554, + "ợi": 110555, + "ÑĨÑĸÑĶÑİ": 110556, + "ĠãĥĢ": 110557, + "ĠÑģÑĤеп": 110558, + "raž": 110559, + "ĠSaÄŁ": 110560, + "Ġtuyến": 110561, + "Ġalmak": 110562, + "ĠзаболеваниÑı": 110563, + "ĠÏĥÏĩ": 110564, + "Ġíĭ": 110565, + "Ġвим": 110566, + "硬": 110567, + "ĠäºĶ": 110568, + "Ġikinci": 110569, + "ุà¸į": 110570, + "สาว": 110571, + "ĠìĦ¸ê³Ħ": 110572, + "ĠÙħØŃÙĦ": 110573, + "ระหว": 110574, + "Ġelektron": 110575, + "Ġhại": 110576, + "æĹ¢": 110577, + "Ġíĸ¥": 110578, + "Ġjiné": 110579, + "Ġnghe": 110580, + "æij©": 110581, + "ĠÑģобÑĸ": 110582, + "Ư": 110583, + "ÑĤÑĥÑĢ": 110584, + "汽车": 110585, + "شاÙĩ": 110586, + "ĠdÃłnh": 110587, + "丹": 110588, + "ä»ĬæĹ¥": 110589, + "ãĥIJãĥ¼": 110590, + "ваниÑı": 110591, + "ĠساÙħ": 110592, + "çݯå¢ĥ": 110593, + "ĠاÙĦÙħÙĨت": 110594, + "ĠÑģеÑĢд": 110595, + "éģł": 110596, + "εÏĦ": 110597, + "ĠавÑĤ": 110598, + "าà¸ĩว": 110599, + "Ġvztah": 110600, + "ruž": 110601, + "алÑĮнаÑı": 110602, + "ĠطراØŃÛĮ": 110603, + "à¹Ĥรà¸ĩà¹ģรม": 110604, + "ĠÄįasto": 110605, + "Ġê¼": 110606, + "ÏĥÏĦÏĮ": 110607, + "Ġburada": 110608, + "Ġİz": 110609, + "Ġê·¸ëŀĺ": 110610, + "å²Ľ": 110611, + "ĠØ´ÙĪÙĨد": 110612, + "Å¡ek": 110613, + "ĠìĿ´ìķ¼": 110614, + "ãĤĮãģªãģĦ": 110615, + "ê·¹": 110616, + "lamÄ±ÅŁ": 110617, + "ä»į": 110618, + "cházet": 110619, + "ĠÑģÑĥÑĤ": 110620, + "æĹłæ³ķ": 110621, + "浦": 110622, + "ÄĽla": 110623, + "à¹ĥà¸Ļà¸Ĭ": 110624, + "Ġcân": 110625, + "ÎŁÎĵ": 110626, + "Ġzvý": 110627, + "Ġپار": 110628, + "ĠклÑĸ": 110629, + "Ġnové": 110630, + "çĶĺ": 110631, + "ë¹ł": 110632, + "má": 110633, + "ĠÑģол": 110634, + "à¤ķरण": 110635, + "ноÑĩ": 110636, + "Ġfik": 110637, + "Ġà¤ľà¤Ĺ": 110638, + "à¹ĩà¸Ļà¸ķ": 110639, + "ĠÙħتØŃ": 110640, + "Ġphiên": 110641, + "Ġolsun": 110642, + "Ġкаб": 110643, + "Ġhút": 110644, + "èĦ±": 110645, + "Ġåĸ": 110646, + "ĠHải": 110647, + "ĠtÄĽÅ¾": 110648, + "Ġthái": 110649, + "Ġتاب": 110650, + "-ÐŁ": 110651, + "ثار": 110652, + "çĨĬ": 110653, + "Ġними": 110654, + "Ġzprac": 110655, + "Ġतह": 110656, + "ĠмакÑģим": 110657, + "meyi": 110658, + "ĠÑģоÑĨи": 110659, + "æ²Ĵ": 110660, + "ĠìķĬëĬĶ": 110661, + "__": 110662, + "åķ¦": 110663, + "ĠاÙĨÙĪØ§Ø¹": 110664, + "æļ´": 110665, + "ä¸Ĭæµ·": 110666, + "åħ·æľī": 110667, + "à¥ģब": 110668, + "ìķĻ": 110669, + "Ġíģ°": 110670, + "Ġíŀĺ": 110671, + "Ġtránh": 110672, + "ियन": 110673, + "ãģ¾ãģ¾": 110674, + "поÑĩ": 110675, + "mÄĽr": 110676, + "å³°": 110677, + "ĠÙħصر": 110678, + "ĠÑįÑĦÑĦекÑĤив": 110679, + "Ġçı": 110680, + "leriyle": 110681, + "âĪļ": 110682, + "Ġì¶ķ": 110683, + "Ġê²Įìĭľ": 110684, + "ìĿij": 110685, + "ĠpoÅĻád": 110686, + "ĠشبکÙĩ": 110687, + "اÙĩØ´": 110688, + "ĠخدÙħات": 110689, + "ĠnaÅ¡e": 110690, + "νοÏį": 110691, + "Ġyönelik": 110692, + "Ġkork": 110693, + "اÙĩÙħ": 110694, + "è°Ī": 110695, + "Ġμη": 110696, + "Ġdolar": 110697, + "給": 110698, + "ĠÎķÏħ": 110699, + "ĠobdobÃŃ": 110700, + "ĠμÏĮ": 110701, + "à¹Ģà¸Ńà¸ģ": 110702, + "Ġپاسخ": 110703, + "è¡¥": 110704, + "اعد": 110705, + "ãĤīãģĦ": 110706, + "ÎŃλ": 110707, + "иÑĤÑĭ": 110708, + "Ġëħ¼": 110709, + "Ġ^{[": 110710, + "ίγ": 110711, + "æłij": 110712, + "lında": 110713, + "ĠìŬ룬": 110714, + "££": 110715, + "ÅĻil": 110716, + "ĠавÑĤоÑĢ": 110717, + "ÏĦικÏĮÏĤ": 110718, + "udur": 110719, + "Ġcư": 110720, + "Ġkıy": 110721, + "Ñģем": 110722, + "ĠأبÙĪ": 110723, + "ÏĦικÏİν": 110724, + "Û±Û·": 110725, + "貸": 110726, + "ĠпÑĢож": 110727, + "üncü": 110728, + "ĠнÑĸÑĩ": 110729, + "Ġमत": 110730, + "ãģķãĤĮãģ¦ãģĦãĤĭ": 110731, + "اصر": 110732, + "ĠعÙĤ": 110733, + "ĠкаÑĩеÑģÑĤве": 110734, + "ĠÐĵеÑĢ": 110735, + "åºĨ": 110736, + "Ù¹": 110737, + "alarda": 110738, + "Ġپرس": 110739, + "иÑĩеÑģкой": 110740, + "Ġphim": 110741, + "ίνη": 110742, + "ä¸ĩåĨĨ": 110743, + "ilerini": 110744, + "ãĢģ大": 110745, + "Ġolsa": 110746, + "æł¹æį®": 110747, + "âĢĮس": 110748, + "ĠThá»§": 110749, + "roje": 110750, + "нÑĮоÑĹ": 110751, + "Ġslou": 110752, + "ีฬ": 110753, + "ıyorum": 110754, + "ÄĽj": 110755, + "Ġخبر": 110756, + "è®Ĭ": 110757, + "Ġ缸": 110758, + "elerinin": 110759, + "íķĻëħĦëıĦ": 110760, + "ÑĩеÑģкие": 110761, + "ĠÅŁekl": 110762, + "ĠزÙħاÙĨÛĮ": 110763, + "Ġxin": 110764, + "ัà¸ģà¸ĩาà¸Ļ": 110765, + "ĠEkim": 110766, + "æĦ¿": 110767, + "Ġодной": 110768, + "νή": 110769, + "æľĢæĸ°": 110770, + "ĩ¼": 110771, + "Ġниж": 110772, + "Ġë³¼": 110773, + "è·ij": 110774, + "ĠнапиÑģ": 110775, + "èģĸ": 110776, + "ĠâĢĮ": 110777, + "æłĩåĩĨ": 110778, + "Ġvrát": 110779, + "ĠVì": 110780, + "ĠÙģØ±Ø§ÙĨ": 110781, + "æĿ¥çļĦ": 110782, + "å§¿": 110783, + "ÑħÑĥ": 110784, + "ĠبÛĮرÙĪÙĨ": 110785, + "ĠдÑĥÑĪ": 110786, + "ваÑİÑĤ": 110787, + "Ġsebe": 110788, + "é»ĺ": 110789, + "Ġkayıt": 110790, + "Ïģθ": 110791, + "ãģ¨ãģ®": 110792, + "ĠпÑĢоÑĨеÑģÑģ": 110793, + "æĮģãģ¡": 110794, + "Ñĸна": 110795, + "ĠÑĤоÑĤ": 110796, + "ĠÑĤакие": 110797, + "Theo": 110798, + "ĠÙĨÛĮر": 110799, + "ÑĨÑĥ": 110800, + "Ġayak": 110801, + "à¸Ļà¸Ń": 110802, + "Ġsitesinde": 110803, + "ĠÚ©ÙĨÛĮÙħ": 110804, + "ĠÑģоÑħ": 110805, + "Ġà¤®à¤ľ": 110806, + "Ġoluyor": 110807, + "ç½ijåĿĢ": 110808, + "Ġپزش": 110809, + "ĠEylül": 110810, + "dÃ¼ÄŁ": 110811, + "ĠبرخÛĮ": 110812, + "ĠÙħعرÙģ": 110813, + "Ġobec": 110814, + "ĠçalÄ±ÅŁma": 110815, + "ìĦ¼íĦ°": 110816, + "ĠÑģвоÑĶ": 110817, + "оÑģÑĤей": 110818, + ":::::::::::": 110819, + "ĠалÑĮ": 110820, + "竣": 110821, + "ĠباشÙĨد": 110822, + "اÙĦØ«": 110823, + "Ġнайб": 110824, + "Ġпока": 110825, + "Îŀ": 110826, + "ĠÙĪØ¥": 110827, + "ĠØ®ÙĪØ§ÙĨ": 110828, + "à¥ģपय": 110829, + "Ġà¹ĥห": 110830, + "ĠбÑĭÑģÑĤÑĢо": 110831, + "Ġthá»Ń": 110832, + "ëģ¼": 110833, + "Ġå¤ļ": 110834, + "两个": 110835, + "มà¸ķ": 110836, + "زارش": 110837, + "ĠëŁ": 110838, + "यह": 110839, + "Ñīина": 110840, + "ầng": 110841, + "ï½Ĺï½Ĺ": 110842, + "à¹Ģà¸ŀลà¸ĩ": 110843, + "tvrt": 110844, + "ĠÑĸнÑĪÑĸ": 110845, + "λεί": 110846, + "Ġviá»ĩn": 110847, + "ij¸": 110848, + "ĠçϽ": 110849, + "ÙİÙĪ": 110850, + "Ġchứa": 110851, + "stvo": 110852, + "ĠdoÄŁr": 110853, + "Ġiler": 110854, + "à¥ĭ,": 110855, + "à¹ĥà¸Ļà¸Ľ": 110856, + "ĠرÙĪØ³Øª": 110857, + "ÙĪÙĦÙĪ": 110858, + "Å¡lo": 110859, + "алиÑģÑĤ": 110860, + "åħ±åĴĮ": 110861, + "à¸ŀย": 110862, + "ĠìĻĢ": 110863, + "ÙĦÙĬÙĦ": 110864, + "ĠÑıкого": 110865, + "еÑģÑĤÑĮ": 110866, + "ĠÑĦин": 110867, + "ĠØ£ÙĨÙĩ": 110868, + "ĠMüdür": 110869, + "ĠÎĶια": 110870, + "ĠÑĤел": 110871, + "ि,": 110872, + "Ñĥки": 110873, + "ĠÐłÐ¤": 110874, + "ĠMayıs": 110875, + "à¹Īà¸Ńม": 110876, + "arken": 110877, + "æĢķ": 110878, + "بÛĮÙĨ": 110879, + "ÑĤаÑħ": 110880, + "ebo": 110881, + "ë³´ì¦Ŀê¸Ī": 110882, + "ĠÙ¾ÙĦ": 110883, + "ĠгÑĥб": 110884, + "ĠвклÑİÑĩ": 110885, + "æĶ¿æ²»": 110886, + "ĠεÏĢιÏĥ": 110887, + "ĠÙģØ§Ø±Ø³ÛĮ": 110888, + "èŃī": 110889, + "ÏĨη": 110890, + "(éĩij": 110891, + "ศร": 110892, + "åī§": 110893, + "âĢĻya": 110894, + "年度": 110895, + "ĠÙĨرÙħ": 110896, + "ÙĥÙĪÙħ": 110897, + "è¢ĭ": 110898, + "Ġnedenle": 110899, + "à¹īà¸Ńà¸ĩà¸ģาร": 110900, + "ãĢĮãģĤ": 110901, + "ĠпоÑģÑĤÑĥп": 110902, + "ìľĦìĽIJ": 110903, + "åįĺ": 110904, + "èݱ": 110905, + "Ġumož": 110906, + "pok": 110907, + "ÑĥÑģÑĤи": 110908, + "Ġéħ": 110909, + "ĠÑĦÑĸз": 110910, + "廣": 110911, + "ิหาร": 110912, + "ĠжÑĥÑĢн": 110913, + "ĠдÑĸÑĤей": 110914, + "ÑĥÑİÑīие": 110915, + "ä»Ĭ天": 110916, + "ìĿ´ëĿ¼ê³ł": 110917, + "ç²ī": 110918, + "èĴĻ": 110919, + "ĠDünya": 110920, + "егоднÑı": 110921, + "Ġmimo": 110922, + "Ġвин": 110923, + "ãģĿãģĵ": 110924, + "æ¯ķ": 110925, + "Ġأخ": 110926, + "ĠåIJĮ": 110927, + "ساÙĨÛĮ": 110928, + "Ġkah": 110929, + "ियर": 110930, + "ÏĢοÏĤ": 110931, + "jez": 110932, + "ÙĬج": 110933, + "ĠsaÄŁlay": 110934, + "اجÙĩ": 110935, + "Ġçł": 110936, + "ïľ": 110937, + "Ġجست": 110938, + "Ġtức": 110939, + "ươi": 110940, + "Ø´Ùģ": 110941, + "สà¸ķ": 110942, + "ĠÑĢеÑģ": 110943, + "Ġå£": 110944, + "Ġbizim": 110945, + "Ġê·Ģ": 110946, + "िब": 110947, + "ë¡ľìļ´": 110948, + "ĠÑģÑĤал": 110949, + "ĠÑĢÑĥÑģ": 110950, + "ĠOcak": 110951, + "åľ£": 110952, + "ĠúÄįast": 110953, + "iverz": 110954, + "ëĤĺëĬĶ": 110955, + "оÑĢоÑĤ": 110956, + "ÑĩинÑĭ": 110957, + "Ġihtiyaç": 110958, + "ÐĿÐŀ": 110959, + "ĠÐĿов": 110960, + "ียà¸Ķ": 110961, + "ĠпоÑĤÑĢÑĸбно": 110962, + "گز": 110963, + "ĠÑģказал": 110964, + "ĠGia": 110965, + "mesini": 110966, + "Ġbulunur": 110967, + "渡": 110968, + "гоÑĤ": 110969, + "Ġhuku": 110970, + "ëĦ·": 110971, + "ãĨ": 110972, + "ĠاÙĥ": 110973, + "ĠدÙĦÛĮÙĦ": 110974, + "Ġاساس": 110975, + "ìĹ°êµ¬": 110976, + "ĠÎĺε": 110977, + "ĠسÙĪØ±": 110978, + "Ġì¢Ģ": 110979, + "ĠاÙĦدر": 110980, + "ĠÑģÑĤÑĢоиÑĤелÑĮ": 110981, + "ĠÑĥк": 110982, + "ĠìĻľ": 110983, + "елик": 110984, + "OVID": 110985, + "Ġtemiz": 110986, + "亦": 110987, + "Ġthiếu": 110988, + "ĠпÑĥÑĤ": 110989, + "ÑİÑīей": 110990, + "ĠurÄį": 110991, + "ĠÄIJây": 110992, + "極": 110993, + "μοÏħ": 110994, + "Ġà¹Ģà¸Ļ": 110995, + "евеÑĢ": 110996, + "ÂłÐĶ": 110997, + "ì´Ŀ": 110998, + "è¶£": 110999, + "Ġà¤ħलà¤Ĺ": 111000, + "ưá»Ŀn": 111001, + "ĠãĥŃ": 111002, + "Ġê³³": 111003, + "é²ģ": 111004, + "ĠرسÛĮد": 111005, + "身ä½ĵ": 111006, + "ัà¸ĵà¸ij": 111007, + "ynÃŃ": 111008, + "جات": 111009, + "ì§Ģ를": 111010, + "नल": 111011, + "ìķĮ": 111012, + "Ñĸп": 111013, + "ĠvÃłng": 111014, + "ĠплоÑī": 111015, + "озмож": 111016, + "åī²": 111017, + "Ġthảo": 111018, + "лади": 111019, + "ĠåĿ": 111020, + "ĠÐľÐ¸": 111021, + "ĠделаÑĤÑĮ": 111022, + "éij": 111023, + "Ġhuy": 111024, + "اÛĮØ·": 111025, + "ĠповÑĤоÑĢ": 111026, + "ülen": 111027, + "ĠÙĪÙģ": 111028, + "ĠÙĬتÙħ": 111029, + "ĠÑĢежим": 111030, + "ĠìºIJ": 111031, + "ĠÃĩünkü": 111032, + "عدد": 111033, + "нивеÑĢ": 111034, + "ĠÐĿик": 111035, + "å¸ĸ": 111036, + "ÏįÏĢ": 111037, + "anlar": 111038, + "ستÛĮ": 111039, + "Ġbulunmaktadır": 111040, + "à¹ģà¸ļ": 111041, + "vek": 111042, + "Ġглаза": 111043, + "å¹ħ": 111044, + "Ġúdaj": 111045, + "ĠгÑĢо": 111046, + "ĠконкÑĥÑĢ": 111047, + "Ġdůležit": 111048, + "ĠØ·ÙĪØ±": 111049, + "à¸ĺาà¸Ļ": 111050, + "ĠÙĦÙĥÙĨ": 111051, + "رÙĤ": 111052, + "ÐļÐIJ": 111053, + "ĠéĿĴ": 111054, + "ĠìĤ¬ëŀij": 111055, + "ĠÑħвоÑĢ": 111056, + "sunuz": 111057, + "ĠÙħشخص": 111058, + "éϏ": 111059, + "Ġढ": 111060, + "Ġvaz": 111061, + "交æĺĵ": 111062, + "ĠÑĤеÑĢÑĢиÑĤ": 111063, + "ÑĩеÑģкой": 111064, + "ีà¹Ĥ": 111065, + "ropoda": 111066, + "ıldıģı": 111067, + "Ġëī´": 111068, + "íķĻ기": 111069, + "ë³´íĹĺ": 111070, + "ĠзаÑĤем": 111071, + "ÂłÐ²": 111072, + "ãĥ¼ãĥĨ": 111073, + "ĠÐŀÑģнов": 111074, + "ãĨį": 111075, + "Ġدع": 111076, + "ÐŁÐ¾Ñģ": 111077, + "æ²ī": 111078, + "Ġлож": 111079, + "ç͵åŃIJ": 111080, + "Ġرد": 111081, + "ĠÑģÑĢазÑĥ": 111082, + "ejte": 111083, + "Ġà¤ijफ": 111084, + "ĠtÃłu": 111085, + "ÃŃk": 111086, + "lanması": 111087, + "каÑĤ": 111088, + "าà¸ģาศ": 111089, + "ãĤ¢ãĤ¤": 111090, + "ÏĦιο": 111091, + "Ġå§": 111092, + "पत": 111093, + "EY": 111094, + "Ġjmé": 111095, + "Ġodkazy": 111096, + "Ġê°ľìĿ¸": 111097, + "éģ¿": 111098, + "bÄĽh": 111099, + "ÐłÐŀ": 111100, + "çĥĪ": 111101, + "Ġzarar": 111102, + "Ú¯ÙĪÙĨÙĩ": 111103, + "Ġtrì": 111104, + "Ġmại": 111105, + "еннÑĭм": 111106, + "ĠÑįконом": 111107, + "éĽ£": 111108, + "ĠíĦ": 111109, + "æİī": 111110, + "Ġsoru": 111111, + "ĠФедеÑĢаÑĨии": 111112, + "ĠÑģиÑģÑĤеми": 111113, + "æĸĻçĦ¡æĸĻ": 111114, + "Ġà¤ķà¤Ń": 111115, + "ĠÙĩÙĨد": 111116, + "ุà¸ĩà¹Ģà¸Ĺà¸ŀ": 111117, + "ĠOsmanlı": 111118, + "ĠпÑĢодолж": 111119, + "ĠÙĪÙĦا": 111120, + "ĠÄįlánku": 111121, + "Ġadım": 111122, + "ĠÏĢαÏģά": 111123, + "ĠzáÅĻÃŃ": 111124, + "Ġà¸Īำà¸ģ": 111125, + "Ġпен": 111126, + "menin": 111127, + "Ġìĺ¤ëĬĺ": 111128, + "emiz": 111129, + "οÏįÏĤ": 111130, + "-स": 111131, + "íķĺìĭľ": 111132, + "ĠÑħви": 111133, + "ãĤ°ãĥ©": 111134, + "ĠпоÑĪ": 111135, + "ĠÐŀднако": 111136, + "Ñĸдно": 111137, + "íĺľ": 111138, + "Ñīими": 111139, + "èĥ¸": 111140, + "Ġİlk": 111141, + "mey": 111142, + "Ġзда": 111143, + "κλη": 111144, + "алом": 111145, + "à¹Ģศษ": 111146, + "اÙĨا": 111147, + "ĠÎŁÎ¹": 111148, + "ĠåıĮ": 111149, + "ีà¸Ĥ": 111150, + "Ġبس": 111151, + "è§Ħå®ļ": 111152, + "isay": 111153, + "ukarı": 111154, + "æµģéĩı": 111155, + "vÃŃm": 111156, + "λÏİ": 111157, + "ä¹Ļ": 111158, + "Ġलड": 111159, + "ĠÙĨدارد": 111160, + "еÑĢом": 111161, + "Ġsırasında": 111162, + "ĠrÄĥng": 111163, + "Æ¡m": 111164, + "Ġlạnh": 111165, + "à¤ĥ": 111166, + "à¥ģण": 111167, + "uzey": 111168, + "ĠÑĥва": 111169, + "vÄĽd": 111170, + "ÑĭÑģ": 111171, + "Ġκι": 111172, + "Ñķ": 111173, + "ÛĮا": 111174, + "à¸ĩà¸Ħ": 111175, + "phylum": 111176, + "Ġberaber": 111177, + "ีà¸Ķ": 111178, + "æµ®": 111179, + "ासन": 111180, + "ovice": 111181, + "覧": 111182, + "Ġसफ": 111183, + "å°ij女": 111184, + "анÑĤи": 111185, + "é¨ĵ": 111186, + "Ġsoát": 111187, + "鬼": 111188, + "lanmÄ±ÅŁ": 111189, + "Ġbếp": 111190, + "ÙIJÙĦ": 111191, + "Ġsayısı": 111192, + "ĠÙĤدÙħ": 111193, + "à¥Īम": 111194, + "हम": 111195, + "ĠÑĢÑĥки": 111196, + "ĠصÙģØŃÙĩ": 111197, + "Å¡ky": 111198, + "é»Ĵ": 111199, + "èģļ": 111200, + "ãģĭãģ«": 111201, + "Ġsâu": 111202, + "едаг": 111203, + "ĠÑģÑĤоÑĢонÑĭ": 111204, + "Ġruk": 111205, + "âĢĮâĢĮ": 111206, + "ĠØ¢ÙĪØ±": 111207, + "ĠعدÙħ": 111208, + "õi": 111209, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 111210, + "Ġبازار": 111211, + "Ġedeb": 111212, + "ĠvÄįetnÄĽ": 111213, + "опаÑģ": 111214, + "Ġнег": 111215, + "mayan": 111216, + "коÑģÑĤÑĮ": 111217, + "Ġsvůj": 111218, + "ģında": 111219, + "ذÛĮر": 111220, + "Má»Ļt": 111221, + "ÐĦ": 111222, + "Ġyaptı": 111223, + "िथ": 111224, + "ĠÙħÙĩر": 111225, + "ĠдоÑģÑĤи": 111226, + "ĠصÙĪØ±": 111227, + "mesine": 111228, + "ĠDân": 111229, + "ä¸Ģä¸ĭ": 111230, + "çįİ": 111231, + "ĠÐľÐ¸Ñħ": 111232, + "ĠоÑĩи": 111233, + "ãĤ¦ãĤ§": 111234, + "ĠÑĸÑģ": 111235, + "Ġgiác": 111236, + "åľ¨çº¿è§Ĥçľĭ": 111237, + "ĠاداÙħÙĩ": 111238, + "ÑĨов": 111239, + "ĠкомÑĥ": 111240, + "Ġİngiliz": 111241, + "ĠгÑĢаж": 111242, + "ãģ¦ãĤĤ": 111243, + "Ġchữ": 111244, + "олÑĮкÑĥ": 111245, + "mÄĽt": 111246, + "Ñıгом": 111247, + "ÑĩаÑģÑĤ": 111248, + "ìĸ¼": 111249, + "Ġkhóa": 111250, + "ĠÐIJд": 111251, + "ĠØ¢ÙĤ": 111252, + "ĠkuruluÅŁ": 111253, + "άζ": 111254, + "Ġжов": 111255, + "ĠвÑģÑĤÑĢе": 111256, + "ĠÙĪÙĦÙĥ": 111257, + "Ġtuyá»ĩt": 111258, + "yı": 111259, + "ĠÐĴо": 111260, + "Ġvá»įng": 111261, + "عÙĬØ©": 111262, + "ĠopÄĽt": 111263, + "اÙĬد": 111264, + "à¥Ī.Ċ": 111265, + "ĠÑģами": 111266, + "åªĴ": 111267, + "Ġsvých": 111268, + "ĠëĤĺíĥĢ": 111269, + "ìĨIJ": 111270, + "ĠÙĦع": 111271, + "Ġetkin": 111272, + "ĠNá": 111273, + "ĠsoutÄĽ": 111274, + "층ìĿĺ": 111275, + "ĠçŃī": 111276, + "ĠرسÙħ": 111277, + "ĠخاÙĨÙĩ": 111278, + "Ġå®¶": 111279, + "iá»ģm": 111280, + "ëħIJ": 111281, + "ê°Ī": 111282, + "ì°©": 111283, + "žil": 111284, + "ÑģÑĤиÑĤÑĥÑĤ": 111285, + "oruÄį": 111286, + "Ġإذا": 111287, + "à¹Ħà¸Ĥ": 111288, + "ีà¸Ĭ": 111289, + "ÑĢаб": 111290, + "íķĻìĥĿ": 111291, + "Ġìī": 111292, + "rnek": 111293, + "ĠاستخداÙħ": 111294, + "ãĢĢĠãĢĢĠãĢĢĠãĢĢ": 111295, + "ĠвÑģем": 111296, + "ĠìłķëıĦ": 111297, + "Ġvyj": 111298, + "é̱": 111299, + "алÑĮное": 111300, + "Ġchuyá»ĩn": 111301, + "ì§ĢìĽIJ": 111302, + "ilerine": 111303, + "ĠìķĦ무": 111304, + "Ġоколо": 111305, + "ावन": 111306, + "à¸Ļา": 111307, + "опÑĢи": 111308, + "drž": 111309, + "ĠÑģÑĥÑģпÑĸлÑĮ": 111310, + "ĠبÙĥ": 111311, + "uky": 111312, + "ĠÏĩÏī": 111313, + "Ġtuần": 111314, + "nictvÃŃ": 111315, + "ĠÙĩدÙģ": 111316, + "Ġchiá»ģu": 111317, + "ÎĹÎĿ": 111318, + "å°ıå§IJ": 111319, + "íķĺìĺĢ": 111320, + "Ġklas": 111321, + "á»Ļn": 111322, + "ĠìĿ´íĽĦ": 111323, + "ÙĨاÙħج": 111324, + "Äįast": 111325, + "ĠاÙĦخاص": 111326, + "lÄ±ÅŁ": 111327, + "ĠعÙħر": 111328, + "ãĢįĊ": 111329, + "иболее": 111330, + "ãĤĬãģ®": 111331, + "ãħł": 111332, + "ä¹Łä¸į": 111333, + "кÑĢеÑĤ": 111334, + "ĠìĶ": 111335, + "ÏĦια": 111336, + "ĠÑĥпÑĢавлÑĸннÑı": 111337, + "æ²¢": 111338, + "Ġkesin": 111339, + "ì¡Įëĭ¤": 111340, + "머ëĭĪ": 111341, + "羣çļĦ": 111342, + "Ġbakım": 111343, + "æĿ±äº¬": 111344, + "¾¸": 111345, + "ÙħÙĦÙĥØ©": 111346, + "оÑĤÑĢеб": 111347, + "dın": 111348, + "ĠPÅĻi": 111349, + "ĠmÄĽli": 111350, + "Ġδημο": 111351, + "寸": 111352, + "ĠÙĪÙĥاÙĨ": 111353, + "Ġपढ": 111354, + "ĠвеÑĢÑħ": 111355, + "ĠеÑij": 111356, + "Cách": 111357, + "ä½ľä¸º": 111358, + "ĠÐļол": 111359, + "Ġве": 111360, + "ĠдеÑĢж": 111361, + "emoc": 111362, + "ãģ¸ãģ®": 111363, + "ĠаÑĢÑħ": 111364, + "Ġkiếm": 111365, + "Ġæĺİ": 111366, + "ĠлÑİдини": 111367, + "ë·": 111368, + "ĠÙĪØ§ÙĦت": 111369, + "Ġè°": 111370, + "çģ¯": 111371, + "íĻķ": 111372, + "Ġ구매": 111373, + "Ġç§ij": 111374, + "itnÃŃ": 111375, + "иÑĩеÑģкие": 111376, + "ĠÙĨÙ쨳": 111377, + "ĠتÙĦÙģ": 111378, + "اÙģÛĮ": 111379, + "ĠØŃسÙĨ": 111380, + "âĸ¡âĸ¡": 111381, + "ývá": 111382, + "ģın": 111383, + "ıyoruz": 111384, + "ĠChÃŃ": 111385, + "ĠÙ¾ÚĺÙĪÙĩØ´": 111386, + "ĠÏĦÎŃ": 111387, + "ĠÏĥÏĩε": 111388, + "олеÑĤ": 111389, + "αιδ": 111390, + "Ġhạt": 111391, + "à¸łà¸²à¸Ħ": 111392, + "åĨ°": 111393, + "Ġrychle": 111394, + "iteli": 111395, + "Âłz": 111396, + "ยà¸ģ": 111397, + "樹": 111398, + "ĠجÙĪØ§ÙĨ": 111399, + "æĺĮ": 111400, + "Ġüretim": 111401, + "ระà¸ļ": 111402, + "à¸Ľà¸£à¸°à¸¡": 111403, + "άÏĥ": 111404, + "岩": 111405, + "ĠÑĥÑģÑĤÑĢой": 111406, + "Ġverilen": 111407, + "ichni": 111408, + "ĠpÅĻÃŃmo": 111409, + "ĠاÙĦذÙĩاب": 111410, + "ì½ľ": 111411, + "æľ±": 111412, + "Ġسخ": 111413, + "Ñĸла": 111414, + "Ñĥма": 111415, + "หา": 111416, + "ÛĮدا": 111417, + "岸": 111418, + "ä¸Ģå®ļ": 111419, + "Ġä¼ļ": 111420, + "ĠÐŁÑĸд": 111421, + "ĠÑĩиÑĤ": 111422, + "иÑİ": 111423, + "ĠÐĹап": 111424, + "ÑĤиÑı": 111425, + "Ġê°ľë°ľ": 111426, + "ĠÑĤеоÑĢ": 111427, + "ÑıÑģÑĮ": 111428, + "ĠpÅĻÃŃprav": 111429, + "(åľŁ": 111430, + "ÙħÙĬ": 111431, + "ĠpÅĻedevÅ¡ÃŃm": 111432, + "ĠTemmuz": 111433, + "ĠподдеÑĢж": 111434, + "ĠнедоÑģÑĤаÑĤ": 111435, + "ĠìĿ´ìľł": 111436, + "Ġkhá»ıi": 111437, + "ĠاÙĦتØŃ": 111438, + "ĠÙħÙħÚ©ÙĨ": 111439, + "Ġvhod": 111440, + "евой": 111441, + "овал": 111442, + "Ġналеж": 111443, + "ï¼¼:": 111444, + "ยะ": 111445, + "ĠÙħاشÛĮÙĨ": 111446, + "Ġgá»Ńi": 111447, + "alım": 111448, + "ĠìµľìłĢ": 111449, + "ÙijÙĩ": 111450, + "á»Ļp": 111451, + "à¥Ģ।Ċ": 111452, + "ĠпиÑģ": 111453, + "ĠвÑģÑı": 111454, + "Ñĩем": 111455, + "ozenÃŃ": 111456, + "Ġäºļæ´²": 111457, + "еÑĢалÑĮ": 111458, + "기ëĬĶ": 111459, + "ĠпÑĢез": 111460, + "ĠعÙħÙĪÙħÛĮ": 111461, + "иÑĩниÑħ": 111462, + "Ġæ²³": 111463, + "odnÃŃ": 111464, + "åıªæĺ¯": 111465, + "Ġpodp": 111466, + "à¹īà¸Ńà¸ĩà¸ŀ": 111467, + "ायद": 111468, + "ाà¤ĩल": 111469, + "ลà¸Ķ": 111470, + "ĠÑĢÑĸÑĪеннÑı": 111471, + "ĠÑĤÑĥÑĢ": 111472, + "ÑģÑĮкÑĥ": 111473, + "Ġsaldır": 111474, + "ĠÐĽÑĮв": 111475, + "ãĢģĊ": 111476, + "ĠÙ¾ÛĮÙĪÙĨد": 111477, + "åŃ¦ä¹ł": 111478, + "λÏī": 111479, + "ovit": 111480, + "üle": 111481, + "女æĢ§": 111482, + "ÂŁ": 111483, + "emez": 111484, + "Ġhale": 111485, + "âī¦": 111486, + "ĠÎķκ": 111487, + "ÏĦηγοÏģία": 111488, + "ký": 111489, + "ìĦ±ìĿĦ": 111490, + "Ġtým": 111491, + "à¥ĩ-": 111492, + "Ġzejména": 111493, + "æĻ¶": 111494, + "Ġngon": 111495, + "ãĢıĊĊ": 111496, + "软件": 111497, + "éĤ£ä¹Ī": 111498, + "ĠкваÑĢÑĤи": 111499, + "ĠÙħÙĨظ": 111500, + "onec": 111501, + "Ġгли": 111502, + "à¥ģरà¤ķ": 111503, + "ĠSokol": 111504, + "Ġä¿Ŀ": 111505, + "див": 111506, + "álnÃŃm": 111507, + "acaģı": 111508, + "aÅŁa": 111509, + "ĠÙħاÙĦÛĮ": 111510, + "ĠÃĸn": 111511, + "иÑĤели": 111512, + "Ġخرد": 111513, + "Ġkullanıl": 111514, + "ĠÙħÛĮÙĦ": 111515, + "Ġíļ¨": 111516, + "ãn": 111517, + "Ġrost": 111518, + "Ġëĸł": 111519, + "ubat": 111520, + "ĠåıĤ": 111521, + "ĠبراÙĬ": 111522, + "ĠменÑĮ": 111523, + "ัà¸Ħร": 111524, + "Ġпомог": 111525, + "ĠØŃضÙĪØ±": 111526, + "Ġthá»ĭt": 111527, + "ä¹³": 111528, + "Ġìĭłì²Ń": 111529, + "ĠíĺĦìŀ¬": 111530, + "Ġë¹ł": 111531, + "вÑĢопей": 111532, + "Ġnejen": 111533, + "Ñĸка": 111534, + "Ġìļ¸": 111535, + "ĠÙħبار": 111536, + "ĠÄįek": 111537, + "Ġkalk": 111538, + "Ġamac": 111539, + "ادت": 111540, + "ĠÙħاسÙĩ": 111541, + "Ġarasındaki": 111542, + "ĠбеÑģ": 111543, + "ĠоÑĤделÑĮ": 111544, + "á½¶": 111545, + "ĠΤζ": 111546, + "vyk": 111547, + "جÙĨ": 111548, + "»ê²Į": 111549, + "ĠниÑĩего": 111550, + "ĠشاÙħÙĦ": 111551, + "ĠÑĥÑģловиÑıÑħ": 111552, + "laması": 111553, + "è½ī": 111554, + "ç¾½": 111555, + "Ġжид": 111556, + "ĠоÑĤноÑģ": 111557, + "ĠздÑĸйÑģнÑİ": 111558, + "ĠVỼi": 111559, + "ÙĪÙĦÛĮ": 111560, + "ĠtisÃŃ": 111561, + "ĠÏĩÏģÏĮ": 111562, + "ĠpracovnÃŃ": 111563, + "ĠÙĬÙĥÙĪÙĨ": 111564, + "ĠbeÅŁ": 111565, + "جز": 111566, + "ัà¸ļร": 111567, + "ĠYönet": 111568, + "ĠشراÛĮØ·": 111569, + "ĠتÙĪØ³Ø¹Ùĩ": 111570, + "çĹĩ": 111571, + "à¸ĩà¹Ģà¸Ľ": 111572, + "ä¸Ģ次": 111573, + "ĠÐłÐ¾ÑģÑģийÑģкой": 111574, + "æľĢé«ĺ": 111575, + "Ġspolu": 111576, + "даеÑĤÑģÑı": 111577, + "ÑĸÑĤÑĥ": 111578, + "ĠобÑĢаÑĤ": 111579, + "enek": 111580, + "Ġmek": 111581, + "å¦Ī": 111582, + "ĠдополниÑĤелÑĮ": 111583, + "Ġç²": 111584, + "ĠÙĦÙĦت": 111585, + "ĠHaziran": 111586, + "æ¸Ī": 111587, + "à¹Įà¸Ĥà¸Ńà¸ĩ": 111588, + "ĠÑĦон": 111589, + "Ġê²ĥìľ¼ë¡ľ": 111590, + "Ġnhé": 111591, + "Ġbugün": 111592, + "ovém": 111593, + "ĠзавеÑĢ": 111594, + "Ġдвиг": 111595, + "ä¼Ļ": 111596, + "Ġnuôi": 111597, + "меÑĢик": 111598, + "ĠÙĨÙħÙĪÙĨÙĩ": 111599, + "èį·": 111600, + "Ñĥвала": 111601, + "ç¿»": 111602, + "Ġsân": 111603, + "огоÑİ": 111604, + "اسÙĬØ©": 111605, + "ÑĥнкÑĤ": 111606, + "ánÃŃm": 111607, + "енное": 111608, + "Ġphút": 111609, + "Ġमर": 111610, + "ĠاÙĦÙĪØ·": 111611, + "Ġлегко": 111612, + "ĠãĢĭ": 111613, + "ë¡ľëĵľ": 111614, + "ĠKasım": 111615, + "ÙĬÙĦÙĬ": 111616, + "ĠbaÄŁlantılar": 111617, + "ĠÑĤÑĢÑĥд": 111618, + "Ø·Ùĩ": 111619, + "Ġkvůli": 111620, + "ÑģÑĤоÑı": 111621, + "ĠsatÄ±ÅŁ": 111622, + "ĠháºŃu": 111623, + "ĠبÙĩترÛĮÙĨ": 111624, + "ĠÑģелÑĮ": 111625, + "ัà¸Ļว": 111626, + "osu": 111627, + "यन": 111628, + "åĽ³": 111629, + "ιδ": 111630, + "ÛĮتÛĮ": 111631, + "ĠQuáºŃn": 111632, + "Ġей": 111633, + "à¹Ģวลา": 111634, + "ìĬ¤íĥĢ": 111635, + "ìĤ¬ë¥¼": 111636, + "ĠاÙĩÙĦ": 111637, + "ηγ": 111638, + "Ġká»·": 111639, + "ĠнаÑĤ": 111640, + "âĢ¡": 111641, + "ÑĸÑĩниÑħ": 111642, + "ĠÑĢазвиÑĤиÑı": 111643, + "ecial": 111644, + "ĠÑħозÑı": 111645, + "ваеÑĤ": 111646, + "ĠÄIJá»Ļ": 111647, + "Ġéĵ": 111648, + "Ġokam": 111649, + "ĠвÑģÑĸÑħ": 111650, + "ĠPraze": 111651, + "ë¥ł": 111652, + "ικα": 111653, + "欲": 111654, + "ĠgerçekleÅŁ": 111655, + "ç¥ĸ": 111656, + "Ġодним": 111657, + "ÂłM": 111658, + "Ġrenk": 111659, + "Ġलà¤ķ": 111660, + "ãĥķãĤ§": 111661, + "ĠÙĨزد": 111662, + "å¹»": 111663, + "ĠúzemÃŃ": 111664, + "æı¡": 111665, + "алиÑģÑı": 111666, + "ĠÃĶ": 111667, + "Ġyorum": 111668, + "ĠÏĢÏģÏī": 111669, + "ãĥ³ãĥĩ": 111670, + "éĸĭå§ĭ": 111671, + "ãĥ¼ãĥª": 111672, + "Ġìĸ¼êµ´": 111673, + "Û±Û±": 111674, + "lÃ¼ÄŁÃ¼": 111675, + "ÙĨØ´": 111676, + "à¹Īำ": 111677, + "èĽĭ": 111678, + "Ġأد": 111679, + "ĠWilli": 111680, + "課": 111681, + "Ġsürdür": 111682, + "ĠExternÃŃ": 111683, + "Ġpůvod": 111684, + "ĠخاÙĨÙĪ": 111685, + "ĠкоÑĤоÑĢое": 111686, + "Ġmohl": 111687, + "ĠstÄĽ": 111688, + "åĩı": 111689, + "ìĤ¼": 111690, + "abancı": 111691, + "à¹ģà¸Ļ": 111692, + "สำà¸Ħ": 111693, + "æĤ£": 111694, + "abilece": 111695, + "éĺ³åŁİ": 111696, + "ÎijÎļ": 111697, + "Ġchữa": 111698, + "ĠìķĦëĭ": 111699, + "طبÙĬÙĤ": 111700, + "ÎĻÎŁÎ¥": 111701, + "ÑĢование": 111702, + "åĩ½": 111703, + "Ġì¼": 111704, + "ÑĢоÑĦ": 111705, + "à¹ĩà¸Ļส": 111706, + "ĠãĤ¦": 111707, + "ï¼ļãĢĮ": 111708, + "á»ĭa": 111709, + "ĠhPa": 111710, + "manı": 111711, + "álnÃŃho": 111712, + "ÙĪØªÛĮ": 111713, + "ĠлеÑĩениÑı": 111714, + "jte": 111715, + "-д": 111716, + "åħ¨åĽ½": 111717, + "ĠбÑĥдÑĸв": 111718, + "ĠzatÃŃm": 111719, + "Ġöyle": 111720, + "ìĿ´ê°Ģ": 111721, + "stal": 111722, + "ivatel": 111723, + "Ġæľª": 111724, + "Ġpožad": 111725, + "ĠÑģни": 111726, + "ĠposlednÃŃ": 111727, + "ĠÑģÑĤанд": 111728, + "à¥Ģà¤ıम": 111729, + "Ġعکس": 111730, + "ÑĢиÑı": 111731, + "ãy": 111732, + "á»ĭp": 111733, + "Ġokul": 111734, + "à¸ĩหมà¸Ķ": 111735, + "Ġвозник": 111736, + "mÃŃ": 111737, + "ç§Ł": 111738, + "ĠÄijá»ijc": 111739, + "ĠpodÃŃ": 111740, + "ĠÅĻÃŃj": 111741, + "ĠÑĤакÑĸ": 111742, + "à¸ļาà¸Ĺ": 111743, + "Ġ보기": 111744, + "ลา": 111745, + "еÑģÑĤо": 111746, + "Ġç͍": 111747, + "инÑĭ": 111748, + "ĠÑĢÑĥÑħ": 111749, + "ĠÑĢаÑģполож": 111750, + "ÑīеннÑı": 111751, + "Ġcá»Ń": 111752, + "à¹īà¸ļร": 111753, + "à¥įयवस": 111754, + "ï¾ļ": 111755, + "ĠдалÑĮ": 111756, + "Ġضد": 111757, + "ÙĦÙĬØ©": 111758, + "ĠкоÑĤоÑĢого": 111759, + "Ġdve": 111760, + "Ġnhạc": 111761, + "ÑĦÑĸка": 111762, + "à¥Īà¤Ł": 111763, + "èĩªçͱ": 111764, + "ĠпоÑĢÑĥÑĪ": 111765, + "æľĭåıĭ": 111766, + "Ġdört": 111767, + "ĠÑĢаÑģпÑĢоÑģÑĤ": 111768, + "ãģ§ãģ¯ãģªãģĦ": 111769, + "ĠпеÑĢег": 111770, + "Ġánh": 111771, + "ĠVÃŃ": 111772, + "ظٹ": 111773, + "à¥įरण": 111774, + "Ġbilim": 111775, + "Ġlidé": 111776, + "ĠdÃŃky": 111777, + "ĠÄIJá»ĵng": 111778, + "ĠεÏģγ": 111779, + "Ġznovu": 111780, + "Ïĥια": 111781, + "Ñŀ": 111782, + "सà¤Ń": 111783, + "ekk": 111784, + "ĠμεÏĦά": 111785, + "ÑģÑĤиÑĩ": 111786, + "ÛĮÙĨÚ¯": 111787, + "ĠÑıвлÑıÑİÑĤÑģÑı": 111788, + "Ġ建": 111789, + "ÏĥÏĥα": 111790, + "авлива": 111791, + "à¸ģรม": 111792, + "ç¬Ķ": 111793, + "Ġге": 111794, + "ĠرÙĩ": 111795, + "Ġмел": 111796, + "ĠнапÑĢимеÑĢ": 111797, + "Ġмик": 111798, + "ĠاÙĦسÙĥاÙĨ": 111799, + "æ¤ľ": 111800, + "ĠÐļÑĢа": 111801, + "ĠvÃłi": 111802, + "ائÙħ": 111803, + "ĠÏĩÏģή": 111804, + "leÅŁme": 111805, + "Ġjas": 111806, + "ê²ĮìŀĦ": 111807, + "Ġmaç": 111808, + "Ġì§Ħíĸī": 111809, + "à¥ĩदन": 111810, + "Ġvůbec": 111811, + "ĠÙĦÙĨ": 111812, + "è«ĩ": 111813, + "âī¡âī¡": 111814, + "лением": 111815, + "عÙĨÛĮ": 111816, + "ãĥŀãĥ³": 111817, + "İZ": 111818, + "ĠÃĸÄŁ": 111819, + "ĠìŬìŀIJ": 111820, + "yÅ¡": 111821, + "ĠÑģÑĤа": 111822, + "Ġสำหร": 111823, + "Ġनव": 111824, + "ãĢĤä½Ĩ": 111825, + "олÑĮно": 111826, + "Ġyanında": 111827, + "è²´": 111828, + "Ġjednotliv": 111829, + "ĠåİŁ": 111830, + "éłħ缮": 111831, + "Ġमदद": 111832, + "리ìĹIJ": 111833, + "ĠÙħاÙĬ": 111834, + "ĠÑĩеÑĢв": 111835, + "Ġdáv": 111836, + "ÙĦÛĮÙĩ": 111837, + "?#": 111838, + "ÄįnÃŃm": 111839, + "ÑĢег": 111840, + "ĠпÑĢименÑı": 111841, + "ãĤĬãģ¨": 111842, + "ê°Ļ": 111843, + "Ġtoplam": 111844, + "ileÅŁ": 111845, + "Ġkategor": 111846, + "ÑĤал": 111847, + "ãģ«ãĤĪãĤĭ": 111848, + "Ġdomác": 111849, + "Ġê·ľ": 111850, + "ĠÙĩزار": 111851, + "ĠpÅĻÃŃstup": 111852, + "ılıyor": 111853, + "жди": 111854, + "ĠDương": 111855, + "ĠPháºŃt": 111856, + "Ġçünkü": 111857, + "구ê¸ĢìĥģìľĦ": 111858, + "ovaných": 111859, + "Ġعش": 111860, + "Ġà¤ķरà¤ķ": 111861, + "žÃŃt": 111862, + "ĠvÄĽtÅ¡ÃŃ": 111863, + "ĠاÙħکاÙĨ": 111864, + "Ġnông": 111865, + "Ġzám": 111866, + "à¥Įन": 111867, + "екаÑĢ": 111868, + "ÂłÐ¢": 111869, + "kami": 111870, + "ĠÑĢеÑģÑĥÑĢ": 111871, + "поÑģ": 111872, + "ÙİÙĤ": 111873, + "ίλ": 111874, + "ĠسازÛĮ": 111875, + "Ġçıkan": 111876, + "ĠdÃŃtÄĽ": 111877, + "ĠتصÙĪ": 111878, + "ç¯ĩ": 111879, + "нд": 111880, + "Ġrámci": 111881, + "hong": 111882, + "ĠÑģÑĸм": 111883, + "sak": 111884, + "кеÑĤ": 111885, + "дÑĸл": 111886, + "ç¹Ķ": 111887, + "ĠthÆ°á»Łng": 111888, + "ĠнеÑĹ": 111889, + "зÑĸ": 111890, + "ÅĻÃŃd": 111891, + "ितन": 111892, + "à¤ıà¤ķ": 111893, + "Ġsữa": 111894, + "ĠÙħرØŃ": 111895, + "éŀ": 111896, + "Ġcưá»Ŀng": 111897, + ":.:": 111898, + "ÑĤен": 111899, + "èī¦": 111900, + "Ġkhợi": 111901, + "Ġ기ì¤Ģ": 111902, + "lanır": 111903, + "彩票": 111904, + "ضÛĮ": 111905, + "Ġuzav": 111906, + "Ġboh": 111907, + "èm": 111908, + "Ġæ£": 111909, + "nici": 111910, + "(çģ«": 111911, + "åħ³äºİ": 111912, + "ÑĸÑĩнÑĸ": 111913, + "à¸ģารà¸ĵ": 111914, + "Ġ첫": 111915, + "ÑĢÑĥеÑĤ": 111916, + "ĠarÅŁivlendi": 111917, + "ÑĤим": 111918, + "à¸²à¸ł": 111919, + "Ġبرابر": 111920, + "Ġà¹Ģà¸ĭ": 111921, + "ĠÄijêm": 111922, + "è·³": 111923, + "Ġyönetim": 111924, + "Ġéķ·": 111925, + "ãĥĨãĥ¬ãĥĵ": 111926, + "маÑĤи": 111927, + "责任": 111928, + "ickým": 111929, + "è¸": 111930, + "à¹Ģหà¸ķ": 111931, + "ëłĮ": 111932, + "ĠرÙĬ": 111933, + "ĠвÑĭдел": 111934, + "åĩºçݰ": 111935, + "ĠпеÑģ": 111936, + "Ġì¢ĭìĿĢ": 111937, + "Ġà¤īसन": 111938, + "ĠAralık": 111939, + "ĠÑĩаÑģÑĥ": 111940, + "lava": 111941, + "Ġï½ŀ": 111942, + "æģĭ": 111943, + "دÛĮد": 111944, + "âĢĻden": 111945, + "ĠåĪĿ": 111946, + "ÙĪØ¯Ø©": 111947, + "Ñĩили": 111948, + "ĠÑħаÑĢакÑĤеÑĢиÑģÑĤи": 111949, + "استاÙĨ": 111950, + "दर": 111951, + "ĠبÙĪØ¯ÙĨ": 111952, + "ĠпалÑĮ": 111953, + "ĠÑĤÑĢади": 111954, + "ĠдеÑı": 111955, + "Ġخش": 111956, + "ĠpokraÄį": 111957, + "Ġ구ê¸Ģ": 111958, + "ковÑĸ": 111959, + "Ġtık": 111960, + "Ġhấp": 111961, + "Ġzalož": 111962, + "१à¥": 111963, + "Ġëĭµë³Ģ": 111964, + "меÑĪ": 111965, + "íļ¨": 111966, + "Ġspolup": 111967, + "ËĨ": 111968, + "辦": 111969, + "Ġgá»Ĺ": 111970, + "Ġå®ļ": 111971, + "ĵn": 111972, + "asından": 111973, + "-ı": 111974, + "ĠбеÑĢез": 111975, + "大åѸ": 111976, + "Ġзнов": 111977, + "ĠHoÃłng": 111978, + "ĠدÙĪÙĨ": 111979, + "Ġanlay": 111980, + "ĠÙĪØ²Ø§Ø±": 111981, + "ĠعÙĦÙħÛĮ": 111982, + "è£ľ": 111983, + "Ġdünya": 111984, + "ĠзалиÑĪ": 111985, + "даеÑĤ": 111986, + "νε": 111987, + "иÑĩеÑģкого": 111988, + "ìĬ¤íħľ": 111989, + "ĠÐijеÑĢ": 111990, + "Ġдж": 111991, + "ĠопаÑģ": 111992, + "ÏĨα": 111993, + "Ġzvlá": 111994, + "Ġtô": 111995, + "беÑĢ": 111996, + "ĠξαÏģ": 111997, + "tiÄŁini": 111998, + "ãĥ¬ãĥ³": 111999, + "ĠKho": 112000, + "ĠÑĸнÑĪ": 112001, + "Ġï¿¥": 112002, + "ì°¬": 112003, + "。": 112004, + "ĠноÑĩ": 112005, + "è¨Ĭ": 112006, + "ÄĽti": 112007, + "å¿Ļ": 112008, + "ĠکردÙĨد": 112009, + "ĠÄijẩy": 112010, + "ĠÑģказав": 112011, + "ëĥ¥": 112012, + "屬": 112013, + "Ġशहर": 112014, + "ĠÚ©ÙħÚ©": 112015, + "ÂłÐŁ": 112016, + "ınca": 112017, + "нÑĸвеÑĢÑģиÑĤ": 112018, + "ĠÚ¯ÙĪÙĨÙĩ": 112019, + "ĠToplam": 112020, + "ĠiÅŁaret": 112021, + "ä½łä»¬": 112022, + "Ġderece": 112023, + "ĠìĤ¬ìĭ¤": 112024, + "ĠìŀIJ기": 112025, + "å®ŀçݰ": 112026, + "çĶŁçī©": 112027, + "ãģ®ä¸Ģ": 112028, + "ĠÑĢом": 112029, + "ÙĪØ²Ùĩ": 112030, + "Ġãģ¨": 112031, + "íĻį": 112032, + "ÙĬÙĤ": 112033, + "ĠåIJįçĦ¡ãģĹãģķãĤĵ": 112034, + "ĠÙ¾ÛĮر": 112035, + "Ġполез": 112036, + "ì¶©": 112037, + "ĠкоÑĢп": 112038, + "IJëĭ¤": 112039, + "ừa": 112040, + "ÎķΤ": 112041, + "Ġжелез": 112042, + "ãģ£ãģ±": 112043, + "Ġxuyên": 112044, + "Ġë¥": 112045, + "à¥ĩ।Ċ": 112046, + "ĠÑģÑĤали": 112047, + "ĠpomocÃŃ": 112048, + "Ġdurumda": 112049, + "ĠпÑĢоÑĪ": 112050, + "lenÃŃ": 112051, + "βολ": 112052, + "Ġæĸĩ竳": 112053, + "tÄĽz": 112054, + "dÃŃl": 112055, + "Ġdruhé": 112056, + "ĠÑĤогда": 112057, + "Ġhrá": 112058, + "оÑĤÑĮ": 112059, + "าà¸ģร": 112060, + "ĠتصÙħ": 112061, + "ĠÙħدت": 112062, + "кадем": 112063, + "ĠpatÅĻÃŃ": 112064, + "ä¹ĭåīį": 112065, + "سبة": 112066, + "ĠпокÑĢÑĭ": 112067, + "Ġnáp": 112068, + "Ġ_{}": 112069, + "ëĵ±íķĻêµIJ": 112070, + "ĠØ¥ÙĦÙĬ": 112071, + "Ġözg": 112072, + "çļĨ": 112073, + "Ġhayvan": 112074, + "ĠNisan": 112075, + "غاز": 112076, + "Ġتت": 112077, + "ĠдÑĥÑħов": 112078, + "ĠÐŁÐ¾ÑįÑĤомÑĥ": 112079, + "ÑĮогод": 112080, + "ĠkuÅŁ": 112081, + "Ġà¤ĩसम": 112082, + "جÛĮ": 112083, + "ĠãĤ¿": 112084, + "ĠвкÑĥÑģ": 112085, + "çĢ": 112086, + "ĠвÑĭÑĪе": 112087, + "âĢĻdan": 112088, + "ĠاØŃÙħد": 112089, + "Ġtalep": 112090, + "ĠÏĪ": 112091, + "Ġdolayı": 112092, + "Ġگزارش": 112093, + "бол": 112094, + "ĠاÛĮÙĨتر": 112095, + "ÑĢоÑĩ": 112096, + ")âĢı": 112097, + "ĠëIJł": 112098, + "Ġkoup": 112099, + "(æľĪ": 112100, + "é±¼": 112101, + "ĠогÑĢа": 112102, + "ĠÑĢазм": 112103, + "Ġتست": 112104, + "ĠpÅĻÃŃslu": 112105, + "íĽĪ": 112106, + "ĠëĮĢíķ´": 112107, + "à¹ģà¸Ľ": 112108, + "аннÑĭе": 112109, + "ĠìĿ¸íĦ°": 112110, + "Ġkullanılan": 112111, + "Ġztr": 112112, + "æĬĢè¡ĵ": 112113, + "à¤¿à¤Ľ": 112114, + "ĠاÙĦÙħؤ": 112115, + "ovaly": 112116, + "ustos": 112117, + "Ġörg": 112118, + "Ġ太": 112119, + "ειο": 112120, + "ĠuÄį": 112121, + "ĠØ´Ú©ÙĦ": 112122, + "建çŃij": 112123, + "Ġchạy": 112124, + "ĠÏĩÏģη": 112125, + "нÑĥÑĤ": 112126, + "Ġباعث": 112127, + "ĠNÄĽkter": 112128, + "ÑĥÑĤÑĤÑı": 112129, + "ãģ§ãģĻãģĭ": 112130, + "Ġsayılı": 112131, + "имоÑģÑĤÑĮ": 112132, + "ĠпиÑĤаннÑı": 112133, + "ĠkÃŃnh": 112134, + "Ġhran": 112135, + "okrat": 112136, + "Ġedilir": 112137, + "Ġà¤ķहत": 112138, + "Ġpaci": 112139, + "ालन": 112140, + "Ġиде": 112141, + "ĠZem": 112142, + "Ġslužby": 112143, + "ÑģÑĤвеннÑĭй": 112144, + "ĠØ¢ÙĨاÙĨ": 112145, + "ĠÑĤоваÑĢи": 112146, + "ĠتØŃÙħÙĬÙĦ": 112147, + "ĠYük": 112148, + "ĠкаÑĤегоÑĢ": 112149, + "íĭĢ": 112150, + "ĠкоÑģ": 112151, + "Ġобов": 112152, + "ĠprostÅĻedÃŃ": 112153, + "ĠÑģоÑģ": 112154, + "ĠÐIJлекÑģанд": 112155, + "Ġà¹Ģà¸Ĥà¸ķ": 112156, + "å¿ħé¡»": 112157, + "ัà¸Ĭ": 112158, + "ĠÙĦد": 112159, + "ãĢģä¸Ģ": 112160, + "ĠÎľÎŃ": 112161, + "ÑĥваÑĤиÑģÑı": 112162, + "æķı": 112163, + "ãĥ¼ãĥIJ": 112164, + "اÙĦÙĦÙĩ": 112165, + "ĠبÙĩا": 112166, + "åĸ¶": 112167, + "è´µ": 112168, + "æĸ¹åIJij": 112169, + "Ġì¸": 112170, + "ĠÙĨاÙħÙĩ": 112171, + "ÑĮко": 112172, + "Ġvody": 112173, + "vÃŃc": 112174, + "à¹ģà¸Ī": 112175, + "ĠعÙĦÛĮÙĩ": 112176, + "à¹ģรà¸ĩ": 112177, + "ίνα": 112178, + "ãģ¬": 112179, + "ĠÐŀп": 112180, + "Ġsayf": 112181, + "ï¼Įçͱ": 112182, + "ä¼´": 112183, + "ĠÑĥдоб": 112184, + "ãģ¾ãģł": 112185, + "ĠнепÑĢи": 112186, + "Âİ": 112187, + "à¤¾à¤ľà¤ª": 112188, + "plnÄĽ": 112189, + "ĠìĹĦ": 112190, + "Ġrůzn": 112191, + "Ġxếp": 112192, + "ãĥĸãĥ«": 112193, + "ĠзаÑħиÑģÑĤ": 112194, + "ĠÙħصرÙģ": 112195, + "ĠvÅ¡echno": 112196, + "ãģ®ãģĬ": 112197, + "ĠThá»ĭ": 112198, + "Ġmùa": 112199, + "¿IJ": 112200, + "ĠпÑĢинÑĨип": 112201, + "ĠاÙĨÙĤÙĦ": 112202, + "гаÑĢ": 112203, + "Ġmožnost": 112204, + "ÙĤÙĬÙĤ": 112205, + "ĠotevÅĻ": 112206, + "Ġfak": 112207, + "Ġnguy": 112208, + "бов": 112209, + "lacaÄŁ": 112210, + "اطر": 112211, + "ãģ«ãĤĪãĤĬ": 112212, + "æĺ¯åľ¨": 112213, + "Ġtầng": 112214, + "ìĿ¸ìĿ´": 112215, + "aÅĻ": 112216, + "碰": 112217, + "ÏĮμε": 112218, + "Ġê°Ī": 112219, + "ĠØ£ØŃد": 112220, + "غراÙģ": 112221, + "ĠÙĬØŃ": 112222, + "ï½§": 112223, + "ĠاÙĦØŃÙĬاة": 112224, + "Ġlep": 112225, + "Ġฮ": 112226, + "tae": 112227, + "Ġlương": 112228, + "è½®": 112229, + "ĠзмÑĸн": 112230, + "ĠÐļиÑĹв": 112231, + "ĠмÑĸÑģÑı": 112232, + "кав": 112233, + "à¸ķะ": 112234, + "Ġmnoho": 112235, + "ĠNghá»ĭ": 112236, + "èĻİ": 112237, + "ĠãĥŁ": 112238, + "Ġpráci": 112239, + "Ġgá»ijc": 112240, + "ĠYeni": 112241, + "اضÙĬ": 112242, + "Ġèij": 112243, + "Ġкла": 112244, + "ıng": 112245, + "ÏĦεί": 112246, + "Ġbeni": 112247, + "Ġعد": 112248, + "Ġaktu": 112249, + "ĠÙĪÙĤد": 112250, + "ĠподгоÑĤов": 112251, + "Ġgiai": 112252, + "(æ°´": 112253, + "Ġsaç": 112254, + "ĠÙħÙĨاسب": 112255, + "âĸĭ": 112256, + "ÙIJÙĩ": 112257, + "éį": 112258, + "à¸Ńà¸Ĺ": 112259, + "ĠسÛĮاسÛĮ": 112260, + "olit": 112261, + "ĠاÙĦجز": 112262, + "Ø·ÙĦب": 112263, + "Ġsey": 112264, + "erence": 112265, + "ì´Į": 112266, + "ĠвнÑĥÑĤÑĢен": 112267, + "Ġà¸Ļาย": 112268, + "ĠìķĬìķĺëĭ¤": 112269, + "olik": 112270, + "æľĢåIJİ": 112271, + "仪": 112272, + "ĠÑĢÑĸд": 112273, + "è¼ĥ": 112274, + "Ġباب": 112275, + "Ñĥди": 112276, + "ĠÑģÑĤÑĥп": 112277, + "ĠÄijứng": 112278, + "ĠÅŁÃ¶yle": 112279, + "ĠíķĻìĥĿ": 112280, + "ĠвлаÑģÑĤи": 112281, + "Ġhãng": 112282, + "à¹īาว": 112283, + "ĠکاÙĩØ´": 112284, + "Ġëĵ¯": 112285, + "ĠجÙħÙĦÙĩ": 112286, + "Ġدکتر": 112287, + "adolu": 112288, + "Ġتبد": 112289, + "ظاÙħ": 112290, + "ĠznaÄį": 112291, + "ĠدÙĨÛĮ": 112292, + "Ġsạn": 112293, + "å¼±": 112294, + "ÏĢι": 112295, + "ĠçIJĨ": 112296, + "ĠÙ쨵ÙĦ": 112297, + "инг": 112298, + "ÐļÐŀ": 112299, + "ĠСов": 112300, + "Ġziyaret": 112301, + "ĠدÙħ": 112302, + "竹": 112303, + "Ġsahibi": 112304, + "isayar": 112305, + "ÄŁa": 112306, + "ĠпеÑĢÑĸод": 112307, + "Ġsna": 112308, + "(æľ¨": 112309, + "Ġнее": 112310, + "ĠÑĦакÑĤоÑĢ": 112311, + "меж": 112312, + "åºĦ": 112313, + "ráž": 112314, + "окÑĢем": 112315, + "Ġžal": 112316, + "ิà¹Ģศษ": 112317, + "豪": 112318, + "oucÃŃ": 112319, + "ĠUlus": 112320, + "Ġtakže": 112321, + "اÙĪÙĨ": 112322, + "ниÑĤи": 112323, + "нÑĮо": 112324, + "ëį¸": 112325, + "ĠÙĥرة": 112326, + "åľ³": 112327, + "ĠArthropoda": 112328, + "ĠÑĤодÑĸ": 112329, + "Ġدرصد": 112330, + "ุรà¸ģ": 112331, + "ĠÑģвого": 112332, + "说éģĵ": 112333, + "Ġcánh": 112334, + "æĵĬ": 112335, + "Ġä¸ĭè½½": 112336, + "èī¾": 112337, + "Ġnikdy": 112338, + "خط": 112339, + "ĠÑģейÑĩаÑģ": 112340, + "ÙĪÙĬÙĦ": 112341, + "amet": 112342, + "문ìĿĺ": 112343, + "ĠEÄŁitim": 112344, + "大ä¼ļ": 112345, + "ĠbÅĻez": 112346, + "заÑĨÑĸÑı": 112347, + "Ġtyto": 112348, + "най": 112349, + "غÙħ": 112350, + "Ġé©": 112351, + "计ç®Ĺ": 112352, + "Türkiye": 112353, + "Ġmnož": 112354, + "åIJĪä½ľ": 112355, + "æľįåĭĻ": 112356, + "Ġkaždý": 112357, + "ĠÑİÑĢид": 112358, + "Ġβα": 112359, + "à¥Ĥà¤ļ": 112360, + "åIJĮãģĺ": 112361, + "Ġçĭ": 112362, + "ίÏĦ": 112363, + "ÙĪÛĮÙĨت": 112364, + "اÙĨس": 112365, + "æľĢ大": 112366, + "ĠTừ": 112367, + "éŃĶæ³ķ": 112368, + "Ġбли": 112369, + "ĠÑĤакое": 112370, + "ãģľ": 112371, + "ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 112372, + "ìĿ´ë©°": 112373, + "ĠÙĤسÙħت": 112374, + "ĠоÑĨÑĸ": 112375, + "никÑĥ": 112376, + "ĠBạn": 112377, + "ĠоÑĢганÑĸз": 112378, + "üph": 112379, + "Ġizin": 112380, + "Ġï¾Ĭ": 112381, + "είÏĤ": 112382, + "à¸ĩà¹ģà¸ķ": 112383, + "ãģ¡ãĤī": 112384, + "важа": 112385, + "Ġ欧": 112386, + "ιÏİ": 112387, + "ÏĢÎŃ": 112388, + "ĠкÑĢеп": 112389, + "ĠÑĨиÑħ": 112390, + "æĦŁãģĺ": 112391, + "çķ«": 112392, + "ÙĥÙĪ": 112393, + "емо": 112394, + "žen": 112395, + "å¹³æĸ¹": 112396, + "ĠÙħجÙħÙĪØ¹Ùĩ": 112397, + "ĠÑģвои": 112398, + "ĠãĦ": 112399, + "à¸Ľà¸£à¸°à¸ģà¸Ńà¸ļ": 112400, + "ĠпÑĢоÑĤи": 112401, + "ÙĪÛĮÙĩ": 112402, + "认为": 112403, + "ÏĨÎŃ": 112404, + "иÑĩеÑģкий": 112405, + "æ¥ļ": 112406, + "Ġпап": 112407, + "δÏģο": 112408, + "Ġkullanım": 112409, + "Ġzbo": 112410, + "ĠúspÄĽ": 112411, + "ĠÙħز": 112412, + "ĠFak": 112413, + "елÑĮзÑı": 112414, + "æ´»åĭķ": 112415, + "ĠÐŁÑĢав": 112416, + "¦y": 112417, + "åĥķ": 112418, + "æijĺ": 112419, + "Ġرئ": 112420, + "ĠÏĨοÏģ": 112421, + "миÑĤ": 112422, + "Ġticaret": 112423, + "æ³ķå¾ĭ": 112424, + "年代": 112425, + "ìĪĻ": 112426, + "å¿ł": 112427, + "à¹ĩà¸Ļà¸Ĺ": 112428, + "ĠÑĥж": 112429, + "ĠÙħتØŃدÙĩ": 112430, + "Ġtrá»Ŀi": 112431, + "ĠرØŃ": 112432, + "ĠÚ©ÙĪÚĨ": 112433, + "ĠопÑĢеделен": 112434, + "ĠزÙħÛĮÙĨÙĩ": 112435, + "Ġnóng": 112436, + "Ġngá»§": 112437, + "Những": 112438, + "ĠкиÑĪ": 112439, + "Ġjde": 112440, + "Ġä¸Ĭæµ·": 112441, + "åĭĩ": 112442, + "Ġtanı": 112443, + "à¹Įà¹ģละ": 112444, + "ĠÑĢаÑģÑĤвоÑĢ": 112445, + "ĠÑģÑĢедÑģÑĤв": 112446, + "Ġcán": 112447, + "Ġsystému": 112448, + "ÛĮØ·": 112449, + "ĠÑģиÑģÑĤема": 112450, + "Ġëŀ": 112451, + "ĠÑĩеÑĤ": 112452, + "éĥ¨éŨ": 112453, + "帰": 112454, + "Ġmillet": 112455, + "ĠÎķλλά": 112456, + "à¥ĩà¤ĸन": 112457, + "Ġrepubliky": 112458, + "ÑĢами": 112459, + "Ġसमस": 112460, + "Ġaçısından": 112461, + "ادÙĦ": 112462, + "ĠбеÑģп": 112463, + "ãĥ»âĶģ": 112464, + "åľŃ": 112465, + "ocu": 112466, + "kánÃŃ": 112467, + "ÙĪØ±Ø´": 112468, + "ëŀµ": 112469, + "Ġçģ": 112470, + "è°ģ": 112471, + "Ġsám": 112472, + "ĠνεÏĨ": 112473, + "bilir": 112474, + "ĠmÃŃstÄĽ": 112475, + "Ġžen": 112476, + "Ġilç": 112477, + "Ġë§ģ": 112478, + "ãĢijĊ": 112479, + "ĠÙħÙĪØ§Ø±Ø¯": 112480, + "ĠاÙĦØ´ÙĬ": 112481, + "Ġ기ë¡Ŀ": 112482, + "Ġtady": 112483, + "à¸Ńาà¸Ī": 112484, + "ĠÑģÑĦ": 112485, + "ĠspoleÄįnost": 112486, + "Ġtématu": 112487, + "ÙħاÙħ": 112488, + "Ùħع": 112489, + "Ġлеж": 112490, + "ĠÚĨØ´Ùħ": 112491, + "ĠiÅŁlet": 112492, + "ĠÙĨسخ": 112493, + "ä¼°": 112494, + "ãģįãģª": 112495, + "ãĢĥ": 112496, + "å²Ĺ": 112497, + "ĠåŃIJ": 112498, + "Ġbảng": 112499, + "çĮ®": 112500, + "Ġcứng": 112501, + "ĠкÑĢай": 112502, + "Ġèĭ±è¯Ń": 112503, + "ÐłÐIJ": 112504, + "زÙĨ": 112505, + "èĥŀ": 112506, + "Ġsüreç": 112507, + "ãĥķãĥĪ": 112508, + "ĠкÑĸлÑĮка": 112509, + "neÄŁin": 112510, + "ovány": 112511, + "лÑĸн": 112512, + "Ġvýraz": 112513, + "ĠÑģÑĩиÑĤа": 112514, + "ĠпÑĢавило": 112515, + "ĠиÑģполÑĮзÑĥ": 112516, + "Ġkéo": 112517, + "ĠyaklaÅŁÄ±k": 112518, + "ĠÙĪØ§Ø¨Ø³ØªÙĩ": 112519, + "оваÑĤелÑĮ": 112520, + "Ġì²ł": 112521, + "ĠاÙĦعاÙħ": 112522, + "åĿı": 112523, + "Ġà¸ī": 112524, + "ĠSÆ¡n": 112525, + "λιο": 112526, + "ì¶Ķì²ľ": 112527, + "Ġslužeb": 112528, + "ĠдеÑıÑĤелÑĮноÑģÑĤи": 112529, + "зм": 112530, + "Ġпози": 112531, + ".;.;": 112532, + "ĠпÑĢоиÑģÑħодиÑĤ": 112533, + "ายà¹ĥà¸Ļ": 112534, + "çļĦãģ«": 112535, + "Ġà¤ĩसस": 112536, + "омеÑĤ": 112537, + "ĠαÏģ": 112538, + "ाà¤Ĺर": 112539, + "icÃŃch": 112540, + "Ġpoložky": 112541, + "골": 112542, + "æĥĬ": 112543, + "Ġöner": 112544, + "Ġxảy": 112545, + "ĠÙĨظرÛĮ": 112546, + "Ġnghá»ī": 112547, + "Ġà¸ľà¸¥": 112548, + "ĠÑĢолÑĮ": 112549, + "ĠÑĢемон": 112550, + "صÙĪØ±": 112551, + "Vý": 112552, + "ĠSá»ij": 112553, + "ĠÑģÑĥÑĩаÑģ": 112554, + "หย": 112555, + "ĠاÙĤداÙħ": 112556, + "Ġerkek": 112557, + "Ġèį": 112558, + "ĠÄijôi": 112559, + "ĠконкÑĢеÑĤ": 112560, + "æ¬Ĭ": 112561, + "Ġ缮": 112562, + "ÙĪÚ©": 112563, + "lıkla": 112564, + "Ġpazar": 112565, + "άνÏī": 112566, + "ÑĥÑģÑĤа": 112567, + "ãģªãģŁ": 112568, + "ĠÙĩÙĨÚ¯": 112569, + "Ð®ÐĽ": 112570, + "Ġвелик": 112571, + "ĠnhỼ": 112572, + "ĠìĭľíĹĺ": 112573, + ")ìĿĺ": 112574, + "ÙĥÙĩ": 112575, + "Ġà¹ģล": 112576, + "Û²Ûµ": 112577, + "ĠارساÙĦ": 112578, + "ĠокÑĢем": 112579, + "άÏĤ": 112580, + "ĠвÑĭÑħод": 112581, + "vÄĽtÅ¡ÃŃ": 112582, + "ĠطرÛĮÙĤ": 112583, + "ĠкоÑĢоÑĤ": 112584, + "нÑĶ": 112585, + "ãĤĬãģ«": 112586, + "Ġä¹Ł": 112587, + "ØŃص": 112588, + "عÙħاÙĦ": 112589, + "olojik": 112590, + "Ġرابط": 112591, + "çªĹ": 112592, + "Ġgiz": 112593, + "Ġchết": 112594, + "樣": 112595, + "สà¸ĩ": 112596, + "ÙĪØªØ±": 112597, + "ĠÑıкÑĥ": 112598, + "çı¾åľ¨": 112599, + "ĠоÑĤÑģÑĥÑĤÑģÑĤв": 112600, + "Ġê´ijê³ł": 112601, + "Ñĸки": 112602, + "å̤": 112603, + "订": 112604, + "Ġdle": 112605, + "Ġåł": 112606, + "権": 112607, + "讯": 112608, + "åĶIJ": 112609, + "Ġâĸ²": 112610, + "Ġlistop": 112611, + "Ġdatové": 112612, + "ÏĦÏĮÏĤ": 112613, + "Ġоз": 112614, + "δÏĮ": 112615, + "èĴĤ": 112616, + "Û³Û°": 112617, + "ãĥªãĥ¼ãĤº": 112618, + "ĠÙħرکز": 112619, + "ĠпÑĸдÑĤÑĢим": 112620, + "ĠÑģез": 112621, + "é¡ĺ": 112622, + "Ġolacaktır": 112623, + "æºĢ": 112624, + "ĠÏĢεÏģιο": 112625, + "ÑĦа": 112626, + "ÏĦηÏĥη": 112627, + "ç»ĥ": 112628, + "Ðŀд": 112629, + "δÏħ": 112630, + "âĦĥ": 112631, + "Ġlắp": 112632, + "ĠëĦĺ": 112633, + "طاÙĨ": 112634, + "ĠÙ¾ÙĨج": 112635, + "تاÙĨ": 112636, + "ilerinin": 112637, + "ÃĪ": 112638, + "ĠØ®ÙĪØ´": 112639, + "ĠìĬ¬": 112640, + "ĠاÙĦرئÙĬس": 112641, + "ẵn": 112642, + "Ġشار": 112643, + "eru": 112644, + "жив": 112645, + "à¸Ļาย": 112646, + "Ġsẻ": 112647, + "Ġà¤īà¤ļ": 112648, + "ãģ«ãģĭ": 112649, + "ç¡Ģ": 112650, + "Ġyürüt": 112651, + "ĠСеÑĢг": 112652, + "ĠкаÑģ": 112653, + "ĠÐijог": 112654, + "Ġìĸ´ëĸ»ê²Į": 112655, + "ĠçŁ³": 112656, + "Ġöldür": 112657, + "лÑĸв": 112658, + "ĠhoÃłng": 112659, + "Ġbá»Ļt": 112660, + "çŀ¬": 112661, + "Ġ침": 112662, + "Nếu": 112663, + "Ġnevy": 112664, + "Ġìľ¤": 112665, + "ĠsouÄįást": 112666, + "ısıyla": 112667, + "Ġtüket": 112668, + "bou": 112669, + "Ġдво": 112670, + "سط": 112671, + "å½ĵçĦ¶": 112672, + "ãĥ¨": 112673, + "ĠزادÙĩ": 112674, + "Ġéĥ¨": 112675, + "ĠرÙĪØŃ": 112676, + "Ġï¼į": 112677, + "ĠмÑĸÑģÑĨев": 112678, + "θεν": 112679, + "à¸Ĩ": 112680, + "ленÑĸ": 112681, + "çį²": 112682, + "ĠHOH": 112683, + "sın": 112684, + "ิà¸ķร": 112685, + "財": 112686, + "ĠpÅĻid": 112687, + "à¹Ģหà¸Ļ": 112688, + "lý": 112689, + "è¨Ģèijī": 112690, + "à¤ĵ": 112691, + "âĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸį": 112692, + "باب": 112693, + "ãĥ¼ãĥķ": 112694, + "моÑĢ": 112695, + "è¿ĩç¨ĭ": 112696, + "ĠãĥĽ": 112697, + "ĠKinh": 112698, + "íķľêµŃ": 112699, + "Ġìĸ´ëĸ¤": 112700, + "ĠвлиÑı": 112701, + "Ġfayd": 112702, + "ĠصÙĨع": 112703, + "Ġalır": 112704, + "ĠettiÄŁi": 112705, + "άκ": 112706, + "imizin": 112707, + "ัà¸ļà¸ľ": 112708, + "ĠземелÑĮ": 112709, + "ÙĬÙĦاد": 112710, + "涨": 112711, + "çıł": 112712, + "Ġأغ": 112713, + "Ġzku": 112714, + "âĢŀA": 112715, + "าà¸ķร": 112716, + "ayi": 112717, + "ãĥ©ãĤ¹": 112718, + "ило": 112719, + "ĠÄijá»į": 112720, + ".Îķ": 112721, + "ëľ": 112722, + "ĠμÏĢοÏģεί": 112723, + "帶": 112724, + "Ġartır": 112725, + "าà¸į": 112726, + "å¿ĺ": 112727, + "talya": 112728, + "ĠpozdÄĽji": 112729, + "ĠnepÅĻ": 112730, + "Ġæ¹": 112731, + "اÙĩÛĮ": 112732, + "Ġsatın": 112733, + "Ġë²Į": 112734, + "جÙĪ": 112735, + "ä¸Ģ缴": 112736, + "ìķĦìļĶ": 112737, + "ÂłP": 112738, + "ĠØĽ": 112739, + "Ġпал": 112740, + "表æĥħ": 112741, + "Ġcanlı": 112742, + "æĪIJ为": 112743, + "ÙĪÙĨا": 112744, + "Ġâ̝": 112745, + "à¸ģำล": 112746, + "åįĸ": 112747, + "ĠαÏĥ": 112748, + "инок": 112749, + "амп": 112750, + "ลà¸Ńà¸ĩ": 112751, + "ÙĤÙĤ": 112752, + "ĠпÑĢоÑħод": 112753, + "ãĤĦãĤĭ夫": 112754, + "Ïĩη": 112755, + "貨": 112756, + "ĠÙģÙĬÙĩ": 112757, + "ÙĬرÙĬ": 112758, + "ĠвнеÑĪ": 112759, + "Ġkarak": 112760, + "Ø«ÙĦ": 112761, + "ÙĩÙĪØ±ÛĮ": 112762, + "اÙĪØ±Ù¾": 112763, + "ĠÄijá»ı": 112764, + "jiÅ¡tÄĽnÃŃ": 112765, + "تبر": 112766, + "Ġê·¸ê²ĥ": 112767, + "Ġgül": 112768, + "ĠпокÑĥп": 112769, + "lilik": 112770, + "Ġzda": 112771, + "åīįãģ«": 112772, + "ĠÙħÙĩÙĨد": 112773, + "ĠÎijÎĿ": 112774, + "ĠÚ©ÛĮÙĦÙĪÙħتر": 112775, + "ĠpÅĻeh": 112776, + "алеж": 112777, + "Ġkayn": 112778, + "访": 112779, + "Ġì¤ijêµŃ": 112780, + "ĠÑĪиÑĢок": 112781, + "ĠÙħشارکت": 112782, + "âĢĤ": 112783, + "ĠíŤ": 112784, + "ĠìłľíĴĪ": 112785, + "ĠØ´ÛĮر": 112786, + "esinden": 112787, + "ÑĢÑĸÑĩ": 112788, + "èı²": 112789, + "ÑģкоÑĢ": 112790, + "etik": 112791, + "à¸²à¸ľ": 112792, + "ĠطبÛĮ": 112793, + "κÎŃ": 112794, + "ĠìŀĪìĸ´": 112795, + "Ġdek": 112796, + "ÑĢÑĸй": 112797, + "åĨĴ": 112798, + "nÃŃci": 112799, + "®¤": 112800, + "ĠÙħرتب": 112801, + "Ġyazı": 112802, + "üslü": 112803, + "ìľ¼ëĤĺ": 112804, + "elerine": 112805, + "ĠyoÄŁun": 112806, + "Ġбак": 112807, + "ÎĻÎŁ": 112808, + "άλÏħ": 112809, + "ç´Ļ": 112810, + "ĠÑĢÑĥками": 112811, + "Ġçözüm": 112812, + "ìłķìĿĦ": 112813, + "Ġgüçlü": 112814, + "λÏĮ": 112815, + "Ġbelli": 112816, + "ÃŃÅ¡e": 112817, + "ĠÏĮÏĢÏīÏĤ": 112818, + "ĠnaÅ¡": 112819, + "Ġpár": 112820, + "ÑĪÑĤ": 112821, + "ĠìĨ¡": 112822, + "à¥Ĥरत": 112823, + "ĠÏĢολÏį": 112824, + "ç°¡": 112825, + "èĤ¯": 112826, + "æ¹¾": 112827, + "Ġäºĭ": 112828, + "Ġबस": 112829, + "Ġ무ë£Į": 112830, + "дина": 112831, + "誰": 112832, + "леж": 112833, + "ĠúÅĻad": 112834, + "ĠоÑģвÑĸÑĤи": 112835, + "ĠвÑĸдÑĩ": 112836, + "ĠпÑĢизнаÑĩ": 112837, + "çĶ³è¯·": 112838, + "'ya": 112839, + "ä¿Ĭ": 112840, + "ĠÙĬÙĪÙĨ": 112841, + "Ġسع": 112842, + "ĠÐĶаÑĤа": 112843, + "è¨ĢãģĨ": 112844, + "ĠØŃتÛĮ": 112845, + "ĠJiÅĻÃŃ": 112846, + "ĠХаÑĢ": 112847, + "éĻĪ": 112848, + "à¹Īาà¸Īะ": 112849, + "Ġsayesinde": 112850, + "ĠÑĤÑĢеба": 112851, + "ê°Ģì§Ģ": 112852, + "Ġyemek": 112853, + "è¦ļ": 112854, + "ặn": 112855, + "ãĢĢãĢĢãĢĢãĢĢĠãĢĢ": 112856, + "Ġ举": 112857, + "ĠÙĪØ§": 112858, + "ĠÙħÙĪØ³": 112859, + "Ġкоманд": 112860, + "Ġseçim": 112861, + "ÑĩеннÑı": 112862, + "Ġtotiž": 112863, + "Ġrá»Ńa": 112864, + "ıa": 112865, + "Ø¢Ùħ": 112866, + "ÑĨÑĸон": 112867, + "::::::::::::": 112868, + "ÐĿÐIJ": 112869, + "ıza": 112870, + "hend": 112871, + "Ġफर": 112872, + "ัà¸Ķà¸ģาร": 112873, + "ĠCách": 112874, + "ĠпоÑĤÑĸм": 112875, + "Ġá¼Ģ": 112876, + "اÙĦا": 112877, + "ỡ": 112878, + "رÛĮÙħ": 112879, + "宫": 112880, + "ĠزÙħÛĮÙĨ": 112881, + "ÑĢеÑģÑĤ": 112882, + "баÑĩ": 112883, + "Ùĩرست": 112884, + "ног": 112885, + "ï¼Į大": 112886, + "ĠëĺIJíķľ": 112887, + "Ġzůst": 112888, + "ĠÐĴона": 112889, + "å¤ĩ份": 112890, + "ĠاÙģØª": 112891, + "oje": 112892, + "ÑģкÑĸлÑĮки": 112893, + "Ġnhẹ": 112894, + "ĠкеÑĢÑĸв": 112895, + "ῦ": 112896, + "æĸ¹æ¡Ī": 112897, + "заÑĨиÑı": 112898, + "ĠвÑĸдповÑĸдно": 112899, + "ãĤ¤ãĤ¹": 112900, + "гал": 112901, + "ĠобÑĭÑĩно": 112902, + "اÙĪØ±Ù¾ÙĪÛĮÙĨت": 112903, + "å®ľ": 112904, + "losti": 112905, + "è¿Ľåħ¥": 112906, + "uyordu": 112907, + "벤íĬ¸": 112908, + "æīĭãĤĴ": 112909, + "ÐŁÐ¾Ð´": 112910, + "ĠÙħØŃدÙĪØ¯": 112911, + "ĠØ¢Ùħد": 112912, + "arakter": 112913, + "çļĦ大": 112914, + "Ġsıcak": 112915, + "lant": 112916, + "Ġdấu": 112917, + "ĠÙĨÚ©": 112918, + "èĢħãģ®": 112919, + "Ġkendini": 112920, + "ĠпаÑĨи": 112921, + "Ġ기íĥĢ": 112922, + "ĠвмеÑģÑĤе": 112923, + "ваеÑĤÑģÑı": 112924, + "Ġë§ī": 112925, + "ĠchvÃŃli": 112926, + "Ø®ÛĮ": 112927, + "ÙĦع": 112928, + "nÃŃky": 112929, + "、:": 112930, + "ëIJľëĭ¤": 112931, + "ì§ķ": 112932, + "ĠквÑĸÑĤ": 112933, + "¨ìĸ´": 112934, + "liž": 112935, + "Ġë¹Ħë°Ģê¸Ģ": 112936, + "Ġkhá»iji": 112937, + "Ġë°©ìĨ¡": 112938, + "echan": 112939, + "Ġзаконодав": 112940, + "ĠакÑĤ": 112941, + "ë¬¸ìłľ": 112942, + "ĠNó": 112943, + "ĠçĤ¹": 112944, + "hledem": 112945, + "ĠÑģвоÑĹÑħ": 112946, + "ĠرÙĤÙħ": 112947, + "æĽ¼": 112948, + "िवर": 112949, + "åİļ": 112950, + "ĠÐļод": 112951, + "à¤Ńà¤Ĺ": 112952, + "ìŀIJëĬĶ": 112953, + "à¸Ļม": 112954, + "ÑĥÑģа": 112955, + "Ġgünü": 112956, + "ĠÄijÃŃch": 112957, + "Ġtrữ": 112958, + "å·»": 112959, + "éĵ¶è¡Į": 112960, + "ØŃÙĨ": 112961, + "讨": 112962, + "γÏĩ": 112963, + "ὸ": 112964, + "alarında": 112965, + "Ġkaf": 112966, + "ÙĪØ§Ø¬": 112967, + "ĠиÑģклÑİÑĩ": 112968, + "Ġnhiá»ħ": 112969, + "á»įt": 112970, + "ĠìĽ¹": 112971, + "ĠéĿ¢": 112972, + "ãģ®ãģĮ": 112973, + "Ġмало": 112974, + "ÑĸлÑĸ": 112975, + "Ġbiên": 112976, + "nému": 112977, + "пÑĢимеÑĢ": 112978, + "âĸłâĸł": 112979, + "Ġkamp": 112980, + "ĠвеÑī": 112981, + "Äįem": 112982, + "à¥ģध": 112983, + "æŁ»": 112984, + "تÙĪÙĨ": 112985, + "åıªæľī": 112986, + "ãģ¯ãģĦ": 112987, + "Ġรวม": 112988, + "ãĤŀ": 112989, + "ãģĻãĤĭãģ¨": 112990, + "å¾Īå¤ļ": 112991, + "à¹Īà¸ķ": 112992, + "ĠsvÄĽta": 112993, + "Ġê°Ģ격": 112994, + "Ú¯Ùĩ": 112995, + "andaÅŁ": 112996, + "ãĥªãĤ¹": 112997, + "Ïīμα": 112998, + "ĠØ®ÙĪØ¨": 112999, + "ç´ħ": 113000, + "ÑĩиÑģ": 113001, + "ì¢Į": 113002, + "ĠØŃضرت": 113003, + "ĠвиÑĢÑĸÑĪ": 113004, + "پر": 113005, + "Ġtýd": 113006, + "Ġkontro": 113007, + "дейÑģÑĤв": 113008, + "ãģŁãĤģãģ«": 113009, + "ìī": 113010, + "миниÑģÑĤÑĢа": 113011, + "â̝": 113012, + "åīij": 113013, + "ниÑĨÑĸ": 113014, + "å¦ĩ": 113015, + "ĠлиÑĪ": 113016, + "ãģ£ãģ¦ãĤĭ": 113017, + "наÑĢÑĥж": 113018, + "ÑīиÑħ": 113019, + "ÏĦοκ": 113020, + "ováno": 113021, + "ترÙĦ": 113022, + "ÑĢек": 113023, + "غات": 113024, + "Ġomez": 113025, + "ìĵ°": 113026, + "ĠÃľl": 113027, + "ï½Ĵ": 113028, + "lıģını": 113029, + "Ġvượt": 113030, + "ĠbÄĽÅ¾": 113031, + "ÃľR": 113032, + "Ġãĥ¾": 113033, + "ĠdoÄŁal": 113034, + "Ġhatır": 113035, + "Ġsvým": 113036, + "ì§ĢëıĦ": 113037, + "à¹Ģà¸łà¸Ĺ": 113038, + "Ġvay": 113039, + "ĠæĻĤ": 113040, + "à¥įवप": 113041, + "Ġplo": 113042, + "é¢Ħè§Ī": 113043, + "Ġçıktı": 113044, + "ĠدÙĨ": 113045, + "nánÃŃ": 113046, + "ê·Ģ": 113047, + "íĺĢ": 113048, + "à¸ŀà¸ļ": 113049, + "muÅŁtur": 113050, + "å®ĺæĸ¹": 113051, + "ĠíĶĦë¡ľê·¸ëŀ¨": 113052, + "éĢŁåº¦": 113053, + "lerdir": 113054, + "ÑĩеÑģкого": 113055, + "Ġİnsan": 113056, + "âĶĥ": 113057, + "Ġà¤ĩतन": 113058, + "Ð¡Ð¡Ðł": 113059, + "ĠاÙħر": 113060, + "Ġkötü": 113061, + "Ù쨴": 113062, + "Ġboj": 113063, + "ĠÑĨÑĸÑĶÑĹ": 113064, + "Ġsöylem": 113065, + "ниÑĨÑĭ": 113066, + "ãĢĤ她": 113067, + "âĢĿ.Ċ": 113068, + "Ġmilion": 113069, + "Ġsonunda": 113070, + "зÑĥ": 113071, + "à¥įमà¤ķ": 113072, + "人åı£": 113073, + "nÄĽÅ¾": 113074, + "ĠÑģмоÑĤ": 113075, + "ĠкомплекÑģ": 113076, + "ĠзавиÑģим": 113077, + "ĠимеÑİÑĤ": 113078, + "Ġlạc": 113079, + "Ġhangi": 113080, + "ëĶ©": 113081, + "åĬ³": 113082, + "ĠvÄĽci": 113083, + "еÑĢов": 113084, + "κÏģι": 113085, + "Ġdurumu": 113086, + "ĠبÙĪØ§Ø³Ø·Ø©": 113087, + "ĠأبÙĬ": 113088, + "ĠAÄŁustos": 113089, + "εÏĩ": 113090, + "ĠдиÑĤи": 113091, + "ÑĦика": 113092, + "ĠNÄĥm": 113093, + "Ġ기ìĪł": 113094, + "ĠhlavnÃŃ": 113095, + "ä¿ĥ": 113096, + "Ġलà¤Ĺत": 113097, + "ĠObr": 113098, + ".ย": 113099, + "ковод": 113100, + "opis": 113101, + "Ġãĥī": 113102, + "ĠبشÙĥÙĦ": 113103, + "нием": 113104, + "ĠtémÄĽÅĻ": 113105, + "ĠاÙĦØŃر": 113106, + "ĠÙĦازÙħ": 113107, + "Ġmái": 113108, + "iliÄŁi": 113109, + "ë³¼": 113110, + "Ġyık": 113111, + "ç½²": 113112, + "ÑĢава": 113113, + "Ñīин": 113114, + "ãģ«å¯¾": 113115, + "ç²¾ç¥ŀ": 113116, + "à¹īส": 113117, + "Ġtemsil": 113118, + "ÃĨ": 113119, + "ìķĶ": 113120, + "ĠпÑĢавилÑĮно": 113121, + "ÑĢоÑİ": 113122, + "Û±Û³Û¸": 113123, + "è©ŀ": 113124, + "اءة": 113125, + "ÙĪØ§Ø±Ùĩ": 113126, + "ï¼ħ": 113127, + "ĠÐľÐ¸Ðº": 113128, + "æģ¶": 113129, + "æıĴ": 113130, + "ापन": 113131, + "ĠÚ©ÛĮÙģÛĮت": 113132, + "ĠTÃłi": 113133, + "Ġtiá»ĥu": 113134, + "ovalo": 113135, + "çĿ¡": 113136, + "Ñĩил": 113137, + "ĠлиÑĤ": 113138, + "λεÏħÏĦα": 113139, + "Ġокон": 113140, + "::|": 113141, + "вала": 113142, + "ĠÙħرکزÛĮ": 113143, + "ĠalÄ±ÅŁ": 113144, + "Ġдолжно": 113145, + "æĻĤ代": 113146, + "Ġsert": 113147, + "еÑĤом": 113148, + "ัà¸Ļย": 113149, + "åģ·": 113150, + "ĠvÃŃc": 113151, + "ĠÑħоÑĤÑı": 113152, + "alarını": 113153, + "lenmesi": 113154, + "ãĥ³ãĥIJ": 113155, + "Ġëªĩ": 113156, + "ĠỦy": 113157, + "ĠاÙĦکتر": 113158, + "vyššÃŃ": 113159, + "責": 113160, + "주ìĭľ": 113161, + "áÅĻe": 113162, + "Ġyere": 113163, + "ãĤ¢ãĥ³": 113164, + "ĠاÙĦسعÙĪØ¯": 113165, + "Ġآش": 113166, + "Ġchóng": 113167, + "Ġè»": 113168, + "гаÑĶ": 113169, + "ĠãģĤ": 113170, + "稳": 113171, + "δεÏĤ": 113172, + "缮çļĦ": 113173, + "Ġcevap": 113174, + "ÑģÑĤе": 113175, + "é¡¿": 113176, + "मन": 113177, + "顾": 113178, + "ĠкÑĢедиÑĤ": 113179, + "ĠÙħستÙĤ": 113180, + "ĠмиÑĤ": 113181, + "Ġtá»ĵn": 113182, + "ĠجÙĦ": 113183, + "Ä©a": 113184, + "ĠاÙĦعÙĦÙħ": 113185, + "áků": 113186, + "ĠíķĻêµIJ": 113187, + "à¸Ĺà¸Ńà¸ĩ": 113188, + "หà¸Ļà¸Ķ": 113189, + "ĠлÑĸÑĤеÑĢаÑĤÑĥ": 113190, + "ëIJł": 113191, + "άÏģÏĩ": 113192, + "ĠÙĤدرت": 113193, + "à¸Ļาà¸ĩ": 113194, + "Ġarac": 113195, + "ĠjÃŃd": 113196, + "Ġtürlü": 113197, + "íͽ": 113198, + "ersiz": 113199, + "еним": 113200, + "Ġyüzyıl": 113201, + "ĠãģĦ": 113202, + "ĠÎļÏħ": 113203, + "Ġæļ": 113204, + "Ġpůj": 113205, + "Ġtá»Ļi": 113206, + "Ġthiên": 113207, + "İS": 113208, + "Ġthúc": 113209, + "æĹģ": 113210, + "ìŀIJìĿ¸": 113211, + "Ġölüm": 113212, + "رÛĮÙģ": 113213, + "ÑĢеж": 113214, + "صاÙĦ": 113215, + "رÙ쨩": 113216, + "iếp": 113217, + "ÑıÑĤиÑı": 113218, + "Ġpoužit": 113219, + "átu": 113220, + "为ä»Ģä¹Ī": 113221, + "ìģ": 113222, + "Ġkrát": 113223, + "ĠپرÙĪÚĺÙĩ": 113224, + "ĠrozhodnutÃŃ": 113225, + "ĠÑĥнивеÑĢ": 113226, + "Ñĸйно": 113227, + "Ġåij¨": 113228, + "Ġkiá»ĥu": 113229, + "缮åīį": 113230, + "ä¿Ħ": 113231, + "ÏĦοι": 113232, + "ÑĦеÑĢен": 113233, + "uÅŁtur": 113234, + "ĠnÃŃm": 113235, + "âĢĮØ®": 113236, + "Ġá»§y": 113237, + "ĠÑģÑĤаÑĤи": 113238, + "ÑĩеÑģкий": 113239, + "Ġjestli": 113240, + "ĠÙ¾ÙĨ": 113241, + "Ġobce": 113242, + "ĠجÙĩاÙĨÛĮ": 113243, + "едагог": 113244, + "ãģ§ãģ®": 113245, + "Ġbuá»Ļc": 113246, + "ì¹´ì§Ģëħ¸": 113247, + "à¹ĩà¸Ħ": 113248, + "ĠÄįtvrt": 113249, + "Ġника": 113250, + "Ġвплив": 113251, + "ĠдиÑĢ": 113252, + "ĠÑģобÑģÑĤвен": 113253, + "Ġë§İìĿ´": 113254, + "æ¾³": 113255, + "ÑĢÑĥб": 113256, + "æ£ĭ": 113257, + "å£°éŁ³": 113258, + "ä¹ĥ": 113259, + "تÛĮجÙĩ": 113260, + "å¹¼": 113261, + "onya": 113262, + "ĠPlantae": 113263, + "ЧÑĤо": 113264, + "æIJŃ": 113265, + "ä½ľç͍": 113266, + "ìħ¨": 113267, + "ĠкÑĢÑĥг": 113268, + "ĠÙĪÙģÙĬ": 113269, + "Ġï¼ŀ": 113270, + "ÑĪки": 113271, + "ÂłÐľ": 113272, + "اشÛĮ": 113273, + "ĠÅŀubat": 113274, + "Ġعشر": 113275, + "lif": 113276, + "ĠpoužitÃŃ": 113277, + "íĨ¡": 113278, + "Ġблок": 113279, + "è̶": 113280, + "ูร": 113281, + "Ġvüc": 113282, + "Ø´ÙĪØ¯": 113283, + "има": 113284, + "ниÑĨип": 113285, + "ìĿ´ëĵľ": 113286, + "ĠâĢIJ": 113287, + "ĠназнаÑĩ": 113288, + "Ġstrany": 113289, + "殿": 113290, + "ĠاÙĦرÙĪ": 113291, + "纸": 113292, + "åĪij": 113293, + "ï¼Įä»İ": 113294, + "Ġë©´": 113295, + "ĠпÑĢоведеннÑı": 113296, + "Ġhava": 113297, + "ĠìĹĨìĹĪëĭ¤": 113298, + "å¢ŀåĬł": 113299, + "Ú¾": 113300, + "缺": 113301, + "Ġعبار": 113302, + "Ġtắc": 113303, + "ĠinÅŁa": 113304, + "erse": 113305, + "رÙĬب": 113306, + "Ġá»ķn": 113307, + "أة": 113308, + "ĠÏĢολι": 113309, + "Ġmắc": 113310, + "Ñģол": 113311, + "æ´ŀ": 113312, + "-го": 113313, + "ç¨ĭ度": 113314, + "ĠвикоÑĢиÑģÑĤаннÑı": 113315, + "âĢŀظ": 113316, + "elerinde": 113317, + "ĠNhưng": 113318, + "stÅĻed": 113319, + "Ġhastalık": 113320, + "à¹īà¹Ģà¸Ľ": 113321, + "Ġdefa": 113322, + "ĠزÙĬ": 113323, + "اطÙĤ": 113324, + "ĠпÑĢой": 113325, + "ĠокÑĢÑĥг": 113326, + "νια": 113327, + "ladu": 113328, + "koli": 113329, + "ĠoÄŁ": 113330, + "ĠвиÑģок": 113331, + "Ðĩ": 113332, + "çĽĸ": 113333, + "ãĤıãģij": 113334, + "ãĥ¼ãĥģ": 113335, + "æ¡¥": 113336, + "ĠÅ¡koly": 113337, + "itom": 113338, + "ĠتØŃص": 113339, + "alara": 113340, + "Ġкал": 113341, + "ĠпÑĢиÑħод": 113342, + "Ġé¦ĸ页": 113343, + "Âį": 113344, + "ĠÛĮعÙĨÛĮ": 113345, + "Ġtùy": 113346, + "Ģë¡ľ": 113347, + "ëł¤ê³ł": 113348, + "áze": 113349, + "Ġек": 113350, + "èħ¹": 113351, + "ĠFakat": 113352, + "по": 113353, + "ĠÄijá»įc": 113354, + "åĪĺ": 113355, + "ázal": 113356, + "ÑĤон": 113357, + "Ú¯ÙĪ": 113358, + "ä¸Ī": 113359, + "ìĹ¼": 113360, + "ĠÙĦÙĦØ£": 113361, + "ĠEÄŁer": 113362, + "åħ±åĴĮåĽ½": 113363, + "ذر": 113364, + "ĠdaÄŁ": 113365, + "è¡Įä¸ļ": 113366, + "ê±°ëŀĺê°Ģ": 113367, + "è´Łè´£": 113368, + "Công": 113369, + "ĠÑĦилÑĮ": 113370, + "ĠаÑģ": 113371, + "Ġchẳng": 113372, + "нимаÑĤÑĮ": 113373, + "Ġifad": 113374, + "Ġìħ": 113375, + "çε": 113376, + "ĠÅĻeÅ¡enÃŃ": 113377, + "åĽ½äº§": 113378, + "Ġкакой": 113379, + "Ġमध": 113380, + "ĠYar": 113381, + "obraz": 113382, + "Ġonemoc": 113383, + "ĠâĤ": 113384, + "åİŁåĽł": 113385, + "ĠÙĥرد": 113386, + "Ġآزاد": 113387, + "Ġadlı": 113388, + "ĠHizmet": 113389, + "ãĥ¼ãĥij": 113390, + "ÙĨسÙĬØ©": 113391, + "ĠвнÑĥÑĤ": 113392, + "Ġdále": 113393, + "ÎķÎ¥": 113394, + "ĠÑĥÑħ": 113395, + "ĠÑĢев": 113396, + "ĠмеÑĪ": 113397, + "ĠkoÅŁul": 113398, + "ĠاÛĮراÙĨÛĮ": 113399, + "éĺµ": 113400, + "ĠëıĻìķĪ": 113401, + "à¹Ģà¸Ł": 113402, + "ëłĪ벨": 113403, + "è¨Ńè¨Ī": 113404, + "prak": 113405, + "poÄį": 113406, + "اعدة": 113407, + "Ġasker": 113408, + "ĠÙĪÛĮÚĺÙĩ": 113409, + "ĠТеÑĢ": 113410, + "makta": 113411, + "ĠÄįtyÅĻ": 113412, + "ÂłÐ¡": 113413, + "âĢĮÚ©ÙĨÙĨد": 113414, + "ï¼Į並": 113415, + "ĠÑĢоÑģÑĸй": 113416, + "Ġunut": 113417, + "è¿Ļä¸Ģ": 113418, + "opak": 113419, + "èĢIJ": 113420, + "ĠзамеÑĤ": 113421, + "à¹Įล": 113422, + "بÙĨ": 113423, + "Ġ몰": 113424, + "Ġinsanlar": 113425, + "åı¯æĺ¯": 113426, + "梦": 113427, + "код": 113428, + "èĽĽ": 113429, + "kladnÃŃ": 113430, + "ÑĢовод": 113431, + "ĠмÑĸÑģÑĤа": 113432, + "åĩºäºĨ": 113433, + "ĠпаÑģ": 113434, + "обов": 113435, + "گاÙĩÛĮ": 113436, + "вин": 113437, + "à¥įरध": 113438, + "Ġкомпон": 113439, + "ĠаÑĤ": 113440, + "Ġadet": 113441, + "Ġãĥģ": 113442, + "Ġذات": 113443, + "ĠØŃÙĪ": 113444, + "Ġtrochu": 113445, + "à¹ģหà¸Ļ": 113446, + "Ġзавжди": 113447, + "ĠPartisi": 113448, + "ĠSavaÅŁ": 113449, + "ĠsÃŃd": 113450, + "ĠÑģон": 113451, + "رÙĬÙģ": 113452, + "Ġzcela": 113453, + "åĺ´": 113454, + "ĠÑĦÑĥÑĤ": 113455, + "ilerek": 113456, + "malıdır": 113457, + "Ġdá»±a": 113458, + "à¸Ĺำà¸ĩาà¸Ļ": 113459, + "ĠÙĪÙĦÙĥÙĨ": 113460, + "ãģªãĤĵãģł": 113461, + "ĠÚ©ÙħÛĮ": 113462, + "ĠlékaÅĻ": 113463, + "ÏģÏį": 113464, + "جÙħع": 113465, + "ınızı": 113466, + "ĠAnadolu": 113467, + "ãģ«ãĤĪãģ£ãģ¦": 113468, + "Ġê·¸ëŁ¬ëĤĺ": 113469, + "ĠíĮĶ": 113470, + "ÑĸÑĤÑĮ": 113471, + "Ġ¦": 113472, + "ä¸įè¦ģ": 113473, + "à¸ĸม": 113474, + "ĠÙĬد": 113475, + "ĠpÅĻep": 113476, + "Ġè¦ģ": 113477, + "ĠпÑĢоекÑĤ": 113478, + "ĠÑĢеги": 113479, + "Ġdạy": 113480, + "кового": 113481, + "Ġıs": 113482, + "ĠKı": 113483, + "ĠÙģÙĬÙĩا": 113484, + "ÛĮات": 113485, + "ĠÑģÑĤала": 113486, + "æĬľ": 113487, + "ÑĥÑĢа": 113488, + "ĠپاÛĮاÙĨ": 113489, + "Ġitibaren": 113490, + "анÑĸÑĹ": 113491, + "ĠоÑĦоÑĢм": 113492, + "леÑĩ": 113493, + "εξ": 113494, + "æĶ¿çŃĸ": 113495, + "Ġç½ij": 113496, + "åĤ¬": 113497, + "ĠìĿ´ëٰ": 113498, + "ĠkardeÅŁ": 113499, + "ÑİÑīего": 113500, + "лки": 113501, + "ĠاÛĮاÙĦات": 113502, + "تÙĩا": 113503, + "ĠподÑħод": 113504, + "ĠØŃÙĪÙĦ": 113505, + "ĠÑģовÑĢем": 113506, + "íĿ¥": 113507, + "Ġ詳細": 113508, + "ıyı": 113509, + "ĠتÙĤÙĪ": 113510, + "æ¯Ķè¾ĥ": 113511, + "ĠανÏĦι": 113512, + "ĠΣΤ": 113513, + "jišť": 113514, + "ynı": 113515, + "Ġpocházet": 113516, + "-Ðļ": 113517, + "Ġзавд": 113518, + "ÙİØ³": 113519, + "ç»ĵæŀĦ": 113520, + "Ùħار": 113521, + "νοι": 113522, + "ĠγεÏģι": 113523, + "èĩ£": 113524, + "ĠnacházÃŃ": 113525, + "ÏĦÏİ": 113526, + "à¥įयत": 113527, + "uyu": 113528, + "æķĹ": 113529, + "ebi": 113530, + "Ġë°Ķë¡ľ": 113531, + "ĠгÑĢн": 113532, + "ĠاÙĦاس": 113533, + "Ġorgán": 113534, + "Ġedin": 113535, + "åŁĥ": 113536, + "à¹ģà¸Ħ": 113537, + "ĠØŃدÙĪØ¯": 113538, + "ĠдÑĢÑĥгой": 113539, + "оÑģков": 113540, + "ĠSợ": 113541, + "ĠpÅĻib": 113542, + "ä¿ĿæĬ¤": 113543, + "Ùħبر": 113544, + "ĠãĥĨ": 113545, + "Ġdoz": 113546, + "optera": 113547, + "à¸´à¸¥à¸Ľ": 113548, + "دارÛĮ": 113549, + "æĦŁè§ī": 113550, + "代çIJĨ": 113551, + "ÙĨدا": 113552, + "اÙĬا": 113553, + "صÙĨ": 113554, + "Ġcelé": 113555, + "Ġè©ķ": 113556, + "à¸ĩà¸Ļ": 113557, + "Ġleh": 113558, + "èİ·å¾Ĺ": 113559, + "ãĢĢï¾ī": 113560, + "ĠìĦłìĪĺ": 113561, + "르ëĬĶ": 113562, + "à¤Ĩर": 113563, + "å§Ķåijĺ": 113564, + "æĹłçłģ": 113565, + "Ġè·": 113566, + "ĠzajÃŃm": 113567, + "ecké": 113568, + "æµľ": 113569, + "ĠÑĥнÑĸвеÑĢÑģиÑĤ": 113570, + "ĠбÑİджеÑĤ": 113571, + "à¥ĩ.": 113572, + "Ġvstup": 113573, + "ĠоÑī": 113574, + "Ġåľĭ": 113575, + "ä¸ģ缮": 113576, + "ĠведÑĮ": 113577, + "Ġë§IJìĿĦ": 113578, + "Ġteknik": 113579, + "ãĢĢï½Į": 113580, + "ĠпÑĸдвиÑī": 113581, + "ĠÑģвÑıзи": 113582, + "ĠترجÙħ": 113583, + "Âī": 113584, + "ĠÄijâu": 113585, + "ÑĸÑĩного": 113586, + "å°ijå¹´": 113587, + "ecta": 113588, + "िलत": 113589, + "ιοÏĤ": 113590, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 113591, + "teg": 113592, + "á»īnh": 113593, + "¯¿": 113594, + "Ġnebu": 113595, + "ÙĬÙĬÙĨ": 113596, + "оÑıÑĤ": 113597, + "é¤Ĭ": 113598, + "ĠاÙĤتصادÛĮ": 113599, + "âĢĻnun": 113600, + "ĠÐĴÑĸк": 113601, + "ĠngÄĥn": 113602, + "ëĮĢíķĻêµIJ": 113603, + "éı": 113604, + "़र": 113605, + "اباÙĨ": 113606, + "ÙİÙĥ": 113607, + "Ġetkil": 113608, + "Ġchắn": 113609, + "Ġë°ľìĥĿ": 113610, + "Ġtamamen": 113611, + "ĠÙħØŃÛĮØ·": 113612, + "ülü": 113613, + "åģ¥åº·": 113614, + "ĠÑĢаÑģÑĤениÑı": 113615, + "ÏĢοί": 113616, + "Ġè¶ħ": 113617, + "áÄį": 113618, + "ĠìϏë¶Ģ": 113619, + "ĠØ®ÛĮÙĦÛĮ": 113620, + "ĠدÙĪØ³Øª": 113621, + "à¹Ģà¸Ĥà¸ķ": 113622, + "Ġkalan": 113623, + "먼": 113624, + "avÄĽ": 113625, + "문íĻĶ": 113626, + "Ġдиаг": 113627, + "ĠÙĨÙĪÙĬس": 113628, + "íķij": 113629, + "à¸ŀาะ": 113630, + "ëĭ¤ê°Ģ": 113631, + "Ġniá»ĩm": 113632, + "ĠسÙĪÙħ": 113633, + "-м": 113634, + "à¸Ķำà¹Ģà¸Ļ": 113635, + "à¹ĩว": 113636, + "ãĢĤãģĵãģ®": 113637, + "ç¯ī": 113638, + "WidthSpace": 113639, + "ZeroWidthSpace": 113640, + "ائÙħØ©": 113641, + "à¹Ħà¸ĭà¸ķ": 113642, + "ä¸ĭ载次æķ°": 113643, + "ä¼¼ä¹İ": 113644, + "ĠÑĤв": 113645, + "Ġzákaz": 113646, + "Ġجدا": 113647, + "Ġgider": 113648, + "ãĥ¼ãĥĵ": 113649, + "nů": 113650, + "Ġë§ģíģ¬": 113651, + "ĠdÃ¼ÅŁÃ¼k": 113652, + "Ñĥнок": 113653, + "Ġtóc": 113654, + "ĠÑĤÑĢÑĥб": 113655, + "окÑģ": 113656, + "Ġtrải": 113657, + "Ġmiá»ħn": 113658, + "ĠthÆ°á»Ľc": 113659, + "ĠnháºŃt": 113660, + "ÂłD": 113661, + "masının": 113662, + "輪": 113663, + "ĠÎĿο": 113664, + "erç": 113665, + "Ġdokonce": 113666, + "ĠGüven": 113667, + "ovaná": 113668, + "езд": 113669, + "ÑĸнÑĮ": 113670, + "èģ²": 113671, + "اÙĦØ£": 113672, + "ï¼Įä½Ĩæĺ¯": 113673, + "ĠполноÑģÑĤÑĮÑİ": 113674, + "Portály": 113675, + "ĠØŃاÙ쨏": 113676, + "à¥Ĥà¤ķ": 113677, + "ÑĢÑĥн": 113678, + "人çī©": 113679, + "Ġaçı": 113680, + "Ġporu": 113681, + "eriod": 113682, + "ĠAmerika": 113683, + "çĩŁ": 113684, + "ĠرÙĪØ¯": 113685, + "ĠкÑĢови": 113686, + "ÙĪÙĤت": 113687, + "éĺ¶": 113688, + "ãĥ»âĶģãĥ»âĶģ": 113689, + "رÙĬÙħ": 113690, + "åİĨåı²": 113691, + "丸": 113692, + "ĠзновÑĥ": 113693, + "ĠÑģвоего": 113694, + "бÑĥдÑĮ": 113695, + "ĠØŃجÙħ": 113696, + "ĠδÏįο": 113697, + "ìķĪëĤ´": 113698, + "Ġãģ§": 113699, + "à¹Īะ": 113700, + "ÙijÙı": 113701, + "çµIJæŀľ": 113702, + "âĢĻi": 113703, + "à¹Į,": 113704, + "åŃĺäºİ": 113705, + "Ġरà¤ĸन": 113706, + "ĠسرÙħاÛĮÙĩ": 113707, + "ĠглÑĥб": 113708, + "ĠÑĢазÑĸ": 113709, + "ÑĩнÑĸ": 113710, + "ï¼ĮåıĪ": 113711, + "cısı": 113712, + "æľīåħ³": 113713, + "ãĤ»ãĥ³": 113714, + "èIJ¨": 113715, + "ĠGiáo": 113716, + "ĠاÙĦثاÙĨÙĬ": 113717, + "ĠÑĢазом": 113718, + "ĠÑĤÑĢо": 113719, + "Ġaçıklam": 113720, + "åĨ³å®ļ": 113721, + "à¸Ńà¸Ľ": 113722, + "å͝": 113723, + "ĠÅŁark": 113724, + "Ġsistemi": 113725, + "Ġtoprak": 113726, + "èĢĥãģĪ": 113727, + "ĠпопÑĥлÑıÑĢ": 113728, + "ĠëĨį": 113729, + "اÙĬÙĨ": 113730, + "सम": 113731, + "ĠÂĢ": 113732, + "Ġederek": 113733, + "Ġgec": 113734, + "ìĤ¬ìĹħ": 113735, + "ĠÑĢоки": 113736, + "ĠбеÑĢем": 113737, + "ĠخاÙĨÙĪØ§Ø¯Ùĩ": 113738, + "Ġèµ·": 113739, + "ĠЧÑĤо": 113740, + "ĠobÄĽ": 113741, + "инÑĸ": 113742, + "ìĿ´ìĹĪ": 113743, + "ĠIndi": 113744, + "ĠдиÑĤ": 113745, + "ãĥ¶æľĪ": 113746, + "Ġнемного": 113747, + "ĠzákladÄĽ": 113748, + "à¹Ĥà¸Ħ": 113749, + "ĠÑģамого": 113750, + "ĠبØŃØ«": 113751, + "Ġæ¶": 113752, + "овж": 113753, + "ĠобÑĢаÑī": 113754, + "ÃĴ": 113755, + "วรร": 113756, + "à¤Ĥश": 113757, + "ĠоÑĩеÑĢед": 113758, + "ĠÙģØ±Ø²": 113759, + "ëĮĢíķľ": 113760, + "Ġsizin": 113761, + "رÙģØª": 113762, + "ÑİÑīим": 113763, + "æ»ij": 113764, + "avir": 113765, + "ĠÙĪØµÙĦ": 113766, + "Ġquay": 113767, + "Ġгип": 113768, + "ÑĢениÑı": 113769, + "à¥įवत": 113770, + "ινÏīν": 113771, + "à¤ľà¤¹": 113772, + "ĠhÆ¡i": 113773, + "Ġpovaž": 113774, + "Ġعرب": 113775, + "менÑĤа": 113776, + "ĠоÑģÑĤан": 113777, + "ä¹ĭéĹ´": 113778, + "acÃŃch": 113779, + "ĠÑģказала": 113780, + "ìĿ´ëĿ¼ëĬĶ": 113781, + "Ġشاخ": 113782, + "Ġëĭ¹ìĭł": 113783, + "arlar": 113784, + "Ġмлн": 113785, + "åĨ¬": 113786, + ".:.:.:": 113787, + "Ġθε": 113788, + "Ġherkes": 113789, + "лÑıд": 113790, + "اÙħا": 113791, + "ĠëŃIJ": 113792, + "ÏĥιμοÏĢοι": 113793, + "Ġobraz": 113794, + "غاÙĦ": 113795, + "BÆ°á»Ľc": 113796, + "å°Ĭ": 113797, + "ìŀIJ를": 113798, + "æĢĴ": 113799, + "οÏħÏģγ": 113800, + "å¼ķãģį": 113801, + "Ġkonuda": 113802, + "ĠاÙĦتج": 113803, + "Ġkrit": 113804, + "å¿į": 113805, + "ĠìłĦìĦ¸ê°Ģ": 113806, + "говоÑĢ": 113807, + "Ġistiyor": 113808, + "оки": 113809, + "ĠобеÑģпеÑĩ": 113810, + "Ġayrıca": 113811, + "à¹Ģà¸ľ": 113812, + "аÑĢод": 113813, + "İÅŀ": 113814, + "ĠجÙħÙĩÙĪØ±ÛĮ": 113815, + "ĠÑģвоиÑħ": 113816, + "Ġprovád": 113817, + "ĠÑĢам": 113818, + "ĠÙĤض": 113819, + "лиÑĤелÑĮ": 113820, + "ãĤ±ãĥĥãĥĪ": 113821, + "оÑģоÑĦ": 113822, + "Ġरहन": 113823, + "kový": 113824, + "ì°¸": 113825, + "γκα": 113826, + "λοι": 113827, + "μÏĢο": 113828, + "ĠÄijau": 113829, + "ниÑİ": 113830, + "Ġmanžel": 113831, + "Ġíĺ¼": 113832, + "ĠÑĤиÑģ": 113833, + "ãĥĨãĥ«": 113834, + "abilecek": 113835, + "нин": 113836, + "à¸ģรรมà¸ģาร": 113837, + "éłIJ": 113838, + "Ġphê": 113839, + "jedn": 113840, + "交æµģ": 113841, + "Ġвнимание": 113842, + "обÑĢеÑĤ": 113843, + "ĠжизнÑĮ": 113844, + "ÑĢиÑģÑĤи": 113845, + "à¥Īà¤ļ": 113846, + "Ġyüzden": 113847, + "Ġgiy": 113848, + "éļĶ": 113849, + "仲": 113850, + "ĠèĻ": 113851, + "ĠParti": 113852, + "Ġéĸ¢": 113853, + "ัà¸ļส": 113854, + "ĠnejlepÅ¡ÃŃ": 113855, + "ÙİÙī": 113856, + "ĠìĿ´ìłľ": 113857, + "Ġcắt": 113858, + "ÑĢозÑĥм": 113859, + "Ġnejsou": 113860, + "lÃŃd": 113861, + "θο": 113862, + "à¹ĩà¸ĩ": 113863, + "ĠÑģпÑĢоÑģ": 113864, + "mamÄ±ÅŁ": 113865, + "Ġ쪽": 113866, + "اÙģÙĤ": 113867, + "ÑĨÑĸйниÑħ": 113868, + "Ġé¦Ļ": 113869, + "ĠÙħÛĮÙĦÛĮÙĪÙĨ": 113870, + "夢": 113871, + "ĠÙģÙĩرست": 113872, + "rý": 113873, + "ĠповÑĸдом": 113874, + "eceÄŁi": 113875, + "ĠзабезпеÑĩеннÑı": 113876, + "ÂĶ": 113877, + "ãģĹãģªãģĦ": 113878, + "åŁºç¡Ģ": 113879, + "ĠÚĨÙĨÛĮÙĨ": 113880, + "ĠÑĢозÑĢоб": 113881, + "ä¸ĢäºĽ": 113882, + "ãĥ³ãģ®": 113883, + "ĠпÑĢаÑĨÑĸв": 113884, + "å¾Ĺåΰ": 113885, + "Ġtấn": 113886, + "åŃĺæ¡£å¤ĩ份": 113887, + "ĠíĻĪ": 113888, + "Ġà¸Ķาว": 113889, + "ìĭ±": 113890, + "лина": 113891, + "ĠвоÑģпал": 113892, + "ÄŁinden": 113893, + "аÑĤелей": 113894, + "rž": 113895, + "ĠÑĦÑĥн": 113896, + "ĠÐIJл": 113897, + "ĠпоÑĩÑĤи": 113898, + "овÑĸд": 113899, + "اعب": 113900, + "าะห": 113901, + "ĠвозÑĢаÑģÑĤ": 113902, + "ิà¸ĩห": 113903, + "ĠÙģÙĦس": 113904, + "ĠÅ¡est": 113905, + "à¸Ĭาว": 113906, + "Ġ골": 113907, + "ĠoÄį": 113908, + "ãĤ¸ãĥ§": 113909, + "коÑģÑĤи": 113910, + "éĽĨåĽ¢": 113911, + "æ±ĩ": 113912, + "ĠpÅĻÃŃliÅ¡": 113913, + "ĠìĿij": 113914, + "диви": 113915, + "ĠдокÑĥменÑĤа": 113916, + "ĠChâu": 113917, + "Ġmáu": 113918, + "Ġkhô": 113919, + "Ãķ": 113920, + "Ñīий": 113921, + "Ġsẵn": 113922, + "ĠконÑĦ": 113923, + "ĠзÑĥÑģÑĤ": 113924, + "åĽŀçŃĶ": 113925, + "ĠкоÑĢиÑģÑĤ": 113926, + "ĠÏĢεÏģί": 113927, + "丰": 113928, + "Ġmạch": 113929, + "анк": 113930, + "ä¸ĭæĿ¥": 113931, + "èµĦæĸĻ": 113932, + "ยà¸Ńà¸Ķ": 113933, + "ĠÏĢιο": 113934, + "à¹īà¸ĩาà¸Ļ": 113935, + "ĠumÃŃst": 113936, + "æ½®": 113937, + "çªģçĦ¶": 113938, + "Ġkultur": 113939, + "ĠاÙĦصÙģ": 113940, + "alarının": 113941, + "ĠÎĶημο": 113942, + "ĠвиконаннÑı": 113943, + "ソ": 113944, + "ĠбезопаÑģ": 113945, + "ĠÑģаÑħ": 113946, + "Ġnoh": 113947, + "à¹ĥà¸ļ": 113948, + "éĥ½å¸Ĥ": 113949, + "ÅŁam": 113950, + "бÑĥÑĤ": 113951, + "Ġ모ìĬµ": 113952, + "Ġваг": 113953, + "çIJĨè§£": 113954, + "Ġekonomik": 113955, + "Ġkhắc": 113956, + "Ġsvat": 113957, + "лиÑĪком": 113958, + "ัà¸ĩà¸Īาà¸ģ": 113959, + "izyon": 113960, + "èĥ½å¤Ł": 113961, + "ίνει": 113962, + "ÂĬ": 113963, + "ì¦Į": 113964, + "ĠÙĩاÛĮÛĮ": 113965, + "ĠkiÅŁiler": 113966, + "ĠклеÑĤ": 113967, + "íĺģ": 113968, + "à¥ĥद": 113969, + "iÅ¡": 113970, + "ëĶĶìĺ¤": 113971, + "ÙĬراÙĨ": 113972, + "ĠÐĿÑĥ": 113973, + "à¸Ńà¸Ļà¸Ĺ": 113974, + "ĠÑģоÑĩ": 113975, + "Ġisteyen": 113976, + "ĠSez": 113977, + "ĠãĤ»": 113978, + "ĠAç": 113979, + "âĢĮÙĨ": 113980, + "ĠÑĤоп": 113981, + "ĠÑĤеÑĢÑĢиÑĤоÑĢ": 113982, + "acılık": 113983, + "ĠоднÑĥ": 113984, + "Ġveri": 113985, + "Ġکد": 113986, + "ĠÚ¯ÙģØªÙĩ": 113987, + "Ġcinsel": 113988, + "ологии": 113989, + "ĠpÅĻedmÄĽt": 113990, + "à¤Ĥà¤ĺ": 113991, + "Ġ空": 113992, + "γα": 113993, + "'ye": 113994, + "ترة": 113995, + "ĠdÅĻÃŃ": 113996, + "ĠHÃłn": 113997, + "ĠرشتÙĩ": 113998, + "Ġvidea": 113999, + "Ġног": 114000, + "æ·»": 114001, + "è¿ĺæľī": 114002, + "ÙĨدر": 114003, + "Ġyerde": 114004, + "Ġkent": 114005, + "à¸ļาล": 114006, + "ĠдеÑģÑı": 114007, + "ä¸ļåĬ¡": 114008, + "ĠобÑĬек": 114009, + "ĠвнÑĥÑĤÑĢÑĸÑĪ": 114010, + "kola": 114011, + "ebnÃŃ": 114012, + "ีล": 114013, + "Ġ,.": 114014, + "ĠмÑĸжнаÑĢод": 114015, + "ãģªãĤĵãģ¦": 114016, + "ĠSöz": 114017, + "Ġchod": 114018, + "Ġtrúc": 114019, + "ìļĶìĿ¼": 114020, + "ĠpháºŃn": 114021, + "Ñģка": 114022, + "ĠÑħлоп": 114023, + "Ñģким": 114024, + "Ġkapit": 114025, + "ëĵ¤ìĹIJê²Į": 114026, + "ĠbÃło": 114027, + "lıģın": 114028, + "Ä°ÅŁ": 114029, + "ÄįnÃŃk": 114030, + "ĠNgoÃłi": 114031, + "ĠبÛĮاÙĨ": 114032, + "ĠproÄį": 114033, + "ĠпÑĢоÑĤÑıгом": 114034, + "åĢī": 114035, + "еÑİ": 114036, + "Ġνο": 114037, + "ëĿ¼ëıĦ": 114038, + "ì·¨": 114039, + "ĠвиÑıв": 114040, + "Ġпонад": 114041, + "ĠжовÑĤ": 114042, + "Ġæ¯Ķ": 114043, + "Ġdoby": 114044, + "лам": 114045, + "Ñijл": 114046, + "ĠÑĢаÑħ": 114047, + "Ġвозника": 114048, + "ниÑĨÑĤво": 114049, + "層": 114050, + "ĠоÑĤлиÑĩ": 114051, + "çĤİ": 114052, + "飯": 114053, + "Ġživota": 114054, + "atör": 114055, + "Ġcelý": 114056, + "Ġaday": 114057, + "رÙĬÙĥÙĬ": 114058, + "Ġبص": 114059, + "meyen": 114060, + "ìļ°ìĬ¤": 114061, + "بÙĪÙĦ": 114062, + "Ġозна": 114063, + "麼": 114064, + "æĵļ": 114065, + "Ġzkou": 114066, + "ëĤĺìļĶ": 114067, + "Ġkry": 114068, + "Ġnemoh": 114069, + "ĠvyužÃŃ": 114070, + "Ġæľ¨": 114071, + "ĠадмÑĸнÑĸÑģÑĤÑĢа": 114072, + "اÙĩا": 114073, + "à¹ĥà¸ģล": 114074, + "________": 114075, + "ĠгоÑĤ": 114076, + "ĠدÛĮگرÛĮ": 114077, + "ĠлекаÑĢ": 114078, + "è§Ģ": 114079, + "Ġíĺij": 114080, + "ĠBöyle": 114081, + "istrov": 114082, + "女åŃIJ": 114083, + "ĠпопеÑĢед": 114084, + "ĠÙĨÙĪÙĬسÙĨدÙĩ": 114085, + "ÙĴÙĦ": 114086, + "ĠÐŁÐ°Ð²": 114087, + "Ġörnek": 114088, + "ĠпÑĢик": 114089, + "ĠÑĪи": 114090, + "üslüman": 114091, + "ĠÙħÙĤابÙĦ": 114092, + "åįģäºĮ": 114093, + "Ġbekl": 114094, + "Ġverir": 114095, + "ÙĪØ°": 114096, + "ضة": 114097, + "ÑĢоÑĤив": 114098, + "æĮij": 114099, + "..:": 114100, + "ĠخارجÙĬØ©": 114101, + "adık": 114102, + "ĠÐŁÐ¾Ñĩ": 114103, + "ĠÑħÑĥдож": 114104, + "客æĪ·": 114105, + "μον": 114106, + "ektiv": 114107, + "Ġtvá": 114108, + "Û²Û²": 114109, + "Ġlá»įc": 114110, + "Ġоно": 114111, + "ÑĨиÑĤ": 114112, + "ĠÐĴÑģ": 114113, + "Ġå¢": 114114, + "浪": 114115, + "аÑĢÑĸ": 114116, + "Ġsürekli": 114117, + "Ġstra": 114118, + "Ġbize": 114119, + "Ġtespit": 114120, + "Ġchâu": 114121, + "ĠاÙĦض": 114122, + "à¹īà¸Ńà¸ĩà¸ģ": 114123, + "ĠèĢħ": 114124, + "ĠHá»": 114125, + "ĠкаждÑĭй": 114126, + "аÑİ": 114127, + "à¸Ļà¸Ħร": 114128, + "à¸Ĺะ": 114129, + "ĠÙħراجع": 114130, + "Ġhaline": 114131, + "δοÏĤ": 114132, + "eÄŁi": 114133, + "ĠÙħÛĮزاÙĨ": 114134, + "ĠÙĩÙĦ": 114135, + "Ġbolest": 114136, + "ĠåľŁ": 114137, + "Ġuzman": 114138, + "ÑĢог": 114139, + "確èªį": 114140, + "ĠÑĢÑĸзниÑħ": 114141, + "ĠзакÑĢÑĭ": 114142, + "лÑĥги": 114143, + "ĠÑģовеÑĤ": 114144, + "iddi": 114145, + "åIJĪãĤıãģĽ": 114146, + "ĠåIJī": 114147, + "Ġkiá»ĩm": 114148, + "ë²½": 114149, + "ĠÙħعÙħÙĪÙĦ": 114150, + "ĠопÑĢеделÑı": 114151, + "Ġmiktar": 114152, + "ĠìŀIJëıĻ": 114153, + "Ġilaç": 114154, + "лоÑĩ": 114155, + "Ġyılı": 114156, + "ĠÄIJá»ĥ": 114157, + "Ġabych": 114158, + "Ġreklam": 114159, + "Ġvypad": 114160, + "ĠнаÑĥÑĩ": 114161, + "à¹Ģà¸Ħราะห": 114162, + "Ġä»ĸ": 114163, + "povÄĽ": 114164, + "ï¼Į让": 114165, + "ç¥Ŀ": 114166, + "اÙĪÙĨد": 114167, + "Ġ:|:": 114168, + "Ġrež": 114169, + "Ġvybav": 114170, + "ìľ¤": 114171, + "æŃ´": 114172, + "огÑĢаÑĦиÑı": 114173, + "ezpeÄį": 114174, + "±n": 114175, + "овÑĥ": 114176, + "ĠдÑĥма": 114177, + "Ġjednodu": 114178, + "оÑīи": 114179, + "ĠÙħشتر": 114180, + "観": 114181, + "Ġyoktur": 114182, + "ĠobÄįan": 114183, + "ĠTrần": 114184, + "ımsız": 114185, + "αιν": 114186, + "ÂĮ": 114187, + "رÛĮاÙĨ": 114188, + "ĠJeho": 114189, + "ĠاÙĦØ¢ÙĨ": 114190, + "ÑģÑĮким": 114191, + "Ġkdyby": 114192, + "ĠbaÅŁÄ±na": 114193, + "Ġprezident": 114194, + "ĠViá»ĩc": 114195, + "åħ¼": 114196, + "à¥Įà¤ľ": 114197, + "Ġ매매ê°Ģ": 114198, + "模å¼ı": 114199, + "nÃŃmu": 114200, + "ĠåĤ": 114201, + "Ġdeniz": 114202, + "ĺèĽĽ": 114203, + "ĠèĢĮ": 114204, + "ÙĪØŃ": 114205, + "Ñĭп": 114206, + "Ġâĸ¼": 114207, + "nul": 114208, + "ĠSev": 114209, + "Ġruh": 114210, + "Ġhạ": 114211, + "ĠÑıн": 114212, + "Ġ기본": 114213, + "Ġvelik": 114214, + "ĠTân": 114215, + "илиÑģÑĮ": 114216, + "ĠÑħÑĢа": 114217, + "åĤ·": 114218, + "Ġà¤Ĩà¤ı": 114219, + "ĠnynÃŃ": 114220, + "»ØĮ": 114221, + "Ġشع": 114222, + "æĿĤ": 114223, + "ĠмÑĭÑĪ": 114224, + "ãģĻãģIJ": 114225, + "Ġê³µì§Ģ": 114226, + "Ġtá»Ļc": 114227, + "ãĥ¼ãĥĩ": 114228, + "ĠÑģело": 114229, + "ĠاعÙĦاÙħ": 114230, + "ĠÅŁimdi": 114231, + "ĠاÙĦÙħÙĬÙĦاد": 114232, + "ĠاÙĨÙĤÙĦاب": 114233, + "ĠشخصÙĬØ©": 114234, + "ĠKür": 114235, + "ĠвÑĸÑĤ": 114236, + "ĠاÙĨدازÙĩ": 114237, + "ĠмоÑī": 114238, + "ternet": 114239, + "ĠαÏħÏĦή": 114240, + "ĠÑĢозÑĤа": 114241, + "Ġвив": 114242, + "lej": 114243, + "Ġ表": 114244, + "ÏĥÏĥÏĮÏĦε": 114245, + "ĠÙĬست": 114246, + "ĠмаÑĪ": 114247, + "åĿļ": 114248, + "ĠкомнаÑĤ": 114249, + "าหล": 114250, + "Ġçϼ": 114251, + "ĠاÙĪÙĦÛĮÙĨ": 114252, + "è¿IJåĬ¨": 114253, + "ĠпÑĥнкÑĤ": 114254, + "ĠоÑģобенно": 114255, + "Ġмам": 114256, + "绩": 114257, + " ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄": 114258, + "алÑĮнÑĭм": 114259, + "ĠЦенÑĤ": 114260, + "-Ðľ": 114261, + "ç·Ĵ": 114262, + "Ġà¤¹à¤ľ": 114263, + "оÑĤÑĭ": 114264, + "ãĤ¤ãĥī": 114265, + "دارة": 114266, + "ãģ¨ãģĹãģŁ": 114267, + "ัà¸ŀย": 114268, + "Ġotáz": 114269, + "ĠдопомогоÑİ": 114270, + "à¹ģละà¸ģาร": 114271, + "ĠÑĤÑĢанÑģпоÑĢÑĤ": 114272, + "ĠÙĤرآÙĨ": 114273, + "Ġ第ä¸Ģ": 114274, + "Ġмил": 114275, + "Ġngôi": 114276, + "Ġlinh": 114277, + "ĠNhân": 114278, + "ÑĮогоднÑĸ": 114279, + "æĢĢ": 114280, + "à¹īาส": 114281, + ".::.::": 114282, + "Ġbirey": 114283, + "æĢĿãģĦ": 114284, + "à¹ĥà¸Ķ": 114285, + "веÑĢд": 114286, + "Ġlistopadu": 114287, + "Ġà¹ģม": 114288, + "ге": 114289, + "ĠкÑĥÑħ": 114290, + "ĠíĻľëıĻ": 114291, + "Ġèİ": 114292, + "ĠÐIJлÑĮ": 114293, + "íļĮìĿĺ": 114294, + "ĠÏĢÏģα": 114295, + "Ġvui": 114296, + "วร": 114297, + "à¤Ĥव": 114298, + "Ġgece": 114299, + "ç«¶": 114300, + "Ġkuv": 114301, + "меÑī": 114302, + "ĠÑĤепеÑĢÑĮ": 114303, + "à¸Ńà¹Ģม": 114304, + "åĪ¶åº¦": 114305, + "ĠÑĤÑĢеÑĤ": 114306, + "ĠÙĨتÛĮجÙĩ": 114307, + "ä»ĺãģį": 114308, + "Ġï¾ŀ": 114309, + "ĠÑĩого": 114310, + "âĢIJ-": 114311, + "ĠÅĻÃŃká": 114312, + "à¸ĩà¹ĥà¸Ļ": 114313, + "ĠnÄĽkolika": 114314, + "Ġbuna": 114315, + "ï¼ĮåŃĺäºİ": 114316, + "ลำ": 114317, + "ãĢģãģ¨": 114318, + "Ġná»Ļp": 114319, + "ĠاÙĦجÙĨ": 114320, + "ĠÎłÎ±Î½": 114321, + "ÐŀÐł": 114322, + "Ġدختر": 114323, + "Ġúdaje": 114324, + "Ġå¼ł": 114325, + "retim": 114326, + "sınız": 114327, + "ĠÙĩÙĨاÙĥ": 114328, + "ÐĽÐ¬": 114329, + "æķ¬": 114330, + "ÎijÎľ": 114331, + "页éĿ¢åŃĺæ¡£å¤ĩ份": 114332, + "ìĤ¬ê°Ģ": 114333, + "Ġtrest": 114334, + "viÄį": 114335, + "ĠÙ¾ÛĮدا": 114336, + "ζε": 114337, + "ĠÐŁÐ¾Ð²": 114338, + "ÙĦÙħات": 114339, + "orex": 114340, + "è¬Ľ": 114341, + "ĠвÑĸдкÑĢиÑĤ": 114342, + "маÑħ": 114343, + "ĠÑĩиÑģле": 114344, + "تبار": 114345, + "ĠÎŃκ": 114346, + "ìķĦíĮĮíĬ¸": 114347, + "ravel": 114348, + "αÏĥία": 114349, + "aÄį": 114350, + "Ġà¤ıन": 114351, + "ละà¹Ģà¸Ń": 114352, + "Ġзалеж": 114353, + "Ġæģ": 114354, + "ĠможеÑĤе": 114355, + "Ġповед": 114356, + "ĠبسÛĮارÛĮ": 114357, + "ĠpoÄįet": 114358, + "ربع": 114359, + "elez": 114360, + "اÙĪØ±ÛĮ": 114361, + "ĠbaÅŁk": 114362, + "å°Ĥ": 114363, + "Ġhalde": 114364, + "æĭŁ": 114365, + "Sau": 114366, + "оÑĨи": 114367, + "ีà¸Ħ": 114368, + "Ġвлади": 114369, + "ÙIJÙħ": 114370, + "kud": 114371, + "à¥Ĥब": 114372, + "å§Ķåĵ¡": 114373, + "ารà¸ĵ": 114374, + "orů": 114375, + "ĠÙħÙĪÙĦ": 114376, + "Ġbyt": 114377, + "ĠpÅĻÃŃsluÅ¡": 114378, + "èĭ±è¯Ń": 114379, + "éĢIJ": 114380, + "Ġvelké": 114381, + "Ġà¤Ĩश": 114382, + "Ġphiếu": 114383, + "à¹ĥส": 114384, + "Ġاسپ": 114385, + "ĠzbožÃŃ": 114386, + "ãģĵãĤĵãģª": 114387, + "ĠÙĪÙĩÙĬ": 114388, + "ĠÑĥÑĩаÑģÑĤÑĮ": 114389, + "à¸Īำà¸Ļวà¸Ļ": 114390, + "Ġترک": 114391, + "åįģåĪĨ": 114392, + "ÎŁÎł": 114393, + "κολ": 114394, + "Ġfakat": 114395, + "Ġchá»Ĺ": 114396, + "éĢļçŁ¥": 114397, + "ĠводÑĥ": 114398, + "ĠÎļαÏĦηγοÏģία": 114399, + "acaģını": 114400, + "лого": 114401, + "ĠmÃ¼ÅŁter": 114402, + "Ġjednou": 114403, + "ĠбаÑĢ": 114404, + "idae": 114405, + "dım": 114406, + "è¾²": 114407, + "åIJ¹": 114408, + "ëIJ©ëĭĪëĭ¤": 114409, + "ĠÅŁeklinde": 114410, + "eným": 114411, + "ëĵ¯": 114412, + "itÄĽ": 114413, + "ĠколÑĮ": 114414, + "ëĮĢíķĻ": 114415, + "ĠÃĸr": 114416, + "Ġê½": 114417, + "ĠUBND": 114418, + "Ġhik": 114419, + "ãĤīãģĹãģĦ": 114420, + "åĩºåĵģ": 114421, + "Có": 114422, + "ĠÎŀ": 114423, + "Ġåħ¥": 114424, + "ĠNguyên": 114425, + "ĠÙ¾ÙĪØ´": 114426, + "лÑıÑĶ": 114427, + "Ġآغاز": 114428, + "Ġnhiá»ħm": 114429, + "divid": 114430, + "çĺ": 114431, + "اÙģØªÙĩ": 114432, + "амеÑĤ": 114433, + "нÑĥлÑģÑı": 114434, + "ä¼ģæ¥Ń": 114435, + "ÑĢобÑĸÑĤ": 114436, + "dÃ¼ÄŁÃ¼": 114437, + "ĠکاÙĨ": 114438, + "à¸Ńà¸ĩà¸Ĺ": 114439, + "йн": 114440, + "Ġpohyb": 114441, + "Ġbiá»ĩn": 114442, + "Ġï¼Ľ": 114443, + "ÙħÙĨد": 114444, + "Ġà¤Ĩà¤ķ": 114445, + "ĠÄįlovÄĽk": 114446, + "ãĤĴè¦ĭãĤĭ": 114447, + "ë·°": 114448, + "ĠÑĥвелиÑĩ": 114449, + "Ġê´": 114450, + "ĠyanlÄ±ÅŁ": 114451, + "麦": 114452, + "Ġå¤ĸéĥ¨": 114453, + "ÏĦοÏħÏģγ": 114454, + "ĠпÑĢоÑĩ": 114455, + "ĠÑĢÑĥковод": 114456, + "缤": 114457, + "èľĺèĽĽ": 114458, + "å®īè£ħ": 114459, + "ĠУкÑĢа": 114460, + "ĠtartÄ±ÅŁ": 114461, + "ÑĤаж": 114462, + "ĠoluÅŁan": 114463, + "ĠRusya": 114464, + "ĠклÑĥб": 114465, + "ĠÎłÎ¡": 114466, + "alıdır": 114467, + "kın": 114468, + "ĠзмÑĸни": 114469, + "leÅŁik": 114470, + "еÑĢп": 114471, + "обÑīе": 114472, + "ĠquáºŃn": 114473, + "Ġपश": 114474, + "ãĤĴåıĹ": 114475, + "à¹Ģลà¸Ĥ": 114476, + "اضر": 114477, + "Ġuživatel": 114478, + "λία": 114479, + "ĠÐĴони": 114480, + "ุà¸Ķà¸Ĺ": 114481, + "ĠVÃł": 114482, + "ãĥ³ãĤ¿": 114483, + ")ëĬĶ": 114484, + "æ¸Ľ": 114485, + "ĠμÏĢ": 114486, + "å·§": 114487, + "ĠÑĪкол": 114488, + "Ġì²ĺìĿĮ": 114489, + "ัà¸ģà¸Ķ": 114490, + "æ®Ĭ": 114491, + "Ġnhá»Ŀ": 114492, + "ĠοÏĢοία": 114493, + "à¹ģà¸Ļว": 114494, + "меÑĢикан": 114495, + "nÃŃka": 114496, + "Ġíĺ¸íħĶ": 114497, + "سبب": 114498, + "à¸ĩม": 114499, + "ìŀĪëĬĶ": 114500, + "غط": 114501, + "ÙıÙĦ": 114502, + "¹æŀľ": 114503, + "ÑĩÑĸв": 114504, + "ÑĪаÑı": 114505, + "ĠØ¥ÙĦا": 114506, + "خصÙĪØµ": 114507, + "llll": 114508, + "ĠÑįÑĤим": 114509, + "ĠzvÃŃ": 114510, + "Ġquán": 114511, + "à¸Ļà¸ģ": 114512, + "Ġполов": 114513, + "Ġæ·±": 114514, + "Ġmiá»ģn": 114515, + "人éĸĵ": 114516, + "Ġзим": 114517, + "Ġmeydana": 114518, + "еÑĦ": 114519, + "Ġbá»ģn": 114520, + "زÙĬد": 114521, + "ĠÐłÐµÑģп": 114522, + "ÎĻΣΤ": 114523, + "ĠæĶ¶": 114524, + "raya": 114525, + "ĠتÙĪØ§ÙĨد": 114526, + "Ġister": 114527, + "Ġë°Ģ": 114528, + "ĠмеÑħани": 114529, + "Ġà¸ķำ": 114530, + "Ġдека": 114531, + "à¤Ĥà¤Ĺल": 114532, + "ãĥ¼ãĤ«ãĥ¼": 114533, + "ĠnepÅĻÃŃ": 114534, + "ĠÑģÑĩиÑĤ": 114535, + "Ġομά": 114536, + "Ġçift": 114537, + "بÛĮÙĨÛĮ": 114538, + "meleri": 114539, + "ĠвоздейÑģÑĤв": 114540, + "dou": 114541, + "ìĥģìĿĦ": 114542, + "ĠÐĴолод": 114543, + "εβ": 114544, + "ÐĿÐĺ": 114545, + "Ñıк": 114546, + "ÏįÏĦε": 114547, + "зано": 114548, + "lenir": 114549, + "celik": 114550, + "ĠÑģоÑģÑĤавлÑıеÑĤ": 114551, + "ιαÏĤ": 114552, + "ĠÐĵоÑĢ": 114553, + "ä¹ĭä¸Ģ": 114554, + "ÏĥμÏĮÏĤ": 114555, + "ãģ«éĸ¢": 114556, + "ĠвÑĩ": 114557, + "ĠпоÑģк": 114558, + "輯": 114559, + "à¥Ģश": 114560, + "Ġآثار": 114561, + "à¸Ħวามร": 114562, + "Ġедин": 114563, + "íħIJ": 114564, + "å¹³æĪIJ": 114565, + "ĠkiÅŁinin": 114566, + "ãĤ²ãĥ¼ãĥł": 114567, + "à¥įतव": 114568, + "Ġkapsamında": 114569, + "Ġaktar": 114570, + "Ġtrừ": 114571, + "Ġرشد": 114572, + "Ġнаказ": 114573, + "رÙĬÙĦ": 114574, + "à¸Ńà¸Ħ": 114575, + "ĠگذشتÙĩ": 114576, + "Ġæ°ij": 114577, + "ĠÑĤебÑı": 114578, + "spor": 114579, + "ÑİÑīаÑı": 114580, + "окÑĢема": 114581, + "вад": 114582, + "ĠChúng": 114583, + "ĠزÛĮادÛĮ": 114584, + "еного": 114585, + "ĠکسÛĮ": 114586, + "Ãŀ": 114587, + "Ġadına": 114588, + "Ñĥда": 114589, + "ÑĸÑĶ": 114590, + "аÑĤели": 114591, + "ĠnávÅ¡tÄĽ": 114592, + "ç͍äºİ": 114593, + "ĠپرÙĪÙĨدÙĩ": 114594, + "ĠÙĨبÙĪØ¯": 114595, + "سات": 114596, + "ìĹĺ": 114597, + "ãģ£ãģ¦ãĤĤ": 114598, + "Ġçī©": 114599, + "Ðĺз": 114600, + "åĪ·": 114601, + "Ġíľ´": 114602, + "ĠоÑģоблив": 114603, + "ãģĹãģ¾ãģ£ãģŁ": 114604, + "aydı": 114605, + "åĩºçļĦ": 114606, + "ĠìķĦëĭĪëĿ¼": 114607, + "ısını": 114608, + "à¸Ĺาà¸ĩà¸ģาร": 114609, + "Ġzvuky": 114610, + "Ġ管": 114611, + "âĸĭâĸĭ": 114612, + "ĠÑĤелеÑĦ": 114613, + "ĠнелÑĮзÑı": 114614, + "ãĥ«ãģ®": 114615, + "ÏĥÏĢ": 114616, + "Ġç³": 114617, + "åł¡": 114618, + "ÑĨÑĥз": 114619, + "رÙĬÙĤØ©": 114620, + "à¤¿à¤Ľà¤²": 114621, + "販": 114622, + "ĠУкÑĢаÑĹн": 114623, + "ĠÙħسئÙĪÙĦ": 114624, + "ĠоÑĩÑĸ": 114625, + "æľĢå¾Į": 114626, + "ĠзнаÑİ": 114627, + "à¹īà¸Ļà¸Ĺ": 114628, + "ĠÑĤеÑĢап": 114629, + "ĠÑģпок": 114630, + "ĠØ®ÙĪØ¯Ø±ÙĪ": 114631, + "éĺ»": 114632, + "Ġdüzey": 114633, + "ä¸ĢåĢĭ": 114634, + "اÙģÙĩ": 114635, + "à¤Ĥय": 114636, + "èµĦ产": 114637, + "ç»§ç»Ń": 114638, + "ĠÑģлаб": 114639, + "æĦıæĢĿ": 114640, + "ĠíĻĺìĤ°": 114641, + "ĠÑıÑĢ": 114642, + "Ġdůvod": 114643, + "çĿĽ": 114644, + "تÛĮب": 114645, + "ĠÙĪÛĮر": 114646, + "ĠÙĩزÛĮÙĨÙĩ": 114647, + "Ġbenzer": 114648, + "ĠÙħادÙĩ": 114649, + "à¥Įà¤ķ": 114650, + "Ġà¹Ģà¸ķ": 114651, + "ãĤĪãģı": 114652, + "иденÑĤ": 114653, + "èĭ±èªŀ": 114654, + "еÑĢÑĭ": 114655, + "Ġê¸Īìķ¡": 114656, + "Ġãĥ¼": 114657, + "Ġëį¤íĶĦ": 114658, + "ÑĢаÑĤÑĮ": 114659, + "Ġåįķ": 114660, + "à¹Ģà¸īà¸ŀาะ": 114661, + "ĠæĶ¿": 114662, + "Ġà¤Ĩम": 114663, + "Ġзни": 114664, + "ĠëĿ¼ìĿ´": 114665, + "æİĮ": 114666, + "çIJĨçͱ": 114667, + "Ġاغ": 114668, + "ĠÑģиг": 114669, + "ĠеÑĦекÑĤив": 114670, + "ĠÐŁÑĢед": 114671, + "ãĥ´ãĤ£": 114672, + "Ġвико": 114673, + "Ġtvrd": 114674, + "ëĤ´ê¸°": 114675, + "ãĥĭãĤ¢": 114676, + "ĠÙħشاÙĩدÙĩ": 114677, + "Ġसà¤ļ": 114678, + "lÃ¼ÄŁ": 114679, + "è¯ģåΏ": 114680, + "Ġsiêu": 114681, + "ĠоÑĤв": 114682, + "ĠvytvoÅĻ": 114683, + "ĠØŃÙħÙĦ": 114684, + "ĠÑĦÑĢан": 114685, + "à¹īà¸Ķ": 114686, + "åĮ»éĻ¢": 114687, + "Ġвлад": 114688, + "غÙĦ": 114689, + "建ç«ĭ": 114690, + "osloven": 114691, + "илаÑģÑĮ": 114692, + "عÙĦÙĪÙħات": 114693, + "ĠترÛĮÙĨ": 114694, + "ÎŃÏģει": 114695, + "ĠbáºŃt": 114696, + "ĠÙħØ´Ú©": 114697, + "ĠرئÙĬس": 114698, + "Ġìłľìŀij": 114699, + "γη": 114700, + "ĠнÑĸк": 114701, + "Ġ구ìĦ±": 114702, + "ĠÄijen": 114703, + "Ġà¤ļर": 114704, + "ĠgeçmiÅŁ": 114705, + "äºĨè§£": 114706, + "ĠлеÑģ": 114707, + "Ġquanh": 114708, + "ãĢĮæĪij": 114709, + "ĠNÄĽkterá": 114710, + "ëŀį": 114711, + "ÃħŸ": 114712, + "à¤Ĥदर": 114713, + "ìķĦìĿ´": 114714, + "å°ijãģĹ": 114715, + "ĠØ´ÙĩرÛĮ": 114716, + "κÏĦη": 114717, + "ĠâĹĦ": 114718, + "ĠÙĥس": 114719, + "è·Į": 114720, + "Ãı": 114721, + "å·¥åħ·": 114722, + "åĬĥ": 114723, + "pom": 114724, + "ĠнавÑĩаннÑı": 114725, + "Ġرج": 114726, + "ÑĢÑĥеÑĤÑģÑı": 114727, + "ĠνÎŃ": 114728, + "ÛĮÙĨÚ©": 114729, + "à¹Ĥà¸ĭ": 114730, + "åĭ¤": 114731, + "ãģĹãģ¾ãģĨ": 114732, + "ĠÑģоглаÑģ": 114733, + "éĩijèŀį": 114734, + "绿": 114735, + "ĠСан": 114736, + "æķµ": 114737, + "ĠповÑĸÑĤ": 114738, + "ĠпомоÑīи": 114739, + "ãĥ¡ãĥªãĤ«": 114740, + "ãĤ·ãĤ¢": 114741, + "ĠÏĢÏģοÏĤ": 114742, + "èĪªç©º": 114743, + "ĠваÑĢианÑĤ": 114744, + "Ġyalnızca": 114745, + "系統": 114746, + "ĠÙģÙĪØ±": 114747, + "оÑĩной": 114748, + "à¹Ģวà¸Ńร": 114749, + "ĠкÑĥлÑĮÑĤÑĥÑĢ": 114750, + "Ïĩι": 114751, + "ÄįÃŃta": 114752, + "Âĵ": 114753, + "人ãģĮ": 114754, + "κοÏį": 114755, + "ĠÑĢеÑĶ": 114756, + "ĠвÑģÑİ": 114757, + "éºĹ": 114758, + "ĠزÙĨاÙĨ": 114759, + "çĭĤ": 114760, + "Ġหม": 114761, + "Ġxúc": 114762, + "åħĴ": 114763, + "ÄŁinin": 114764, + "åĸľæ¬¢": 114765, + "ĠÑģÑĤад": 114766, + "iyesi": 114767, + "ìļ±": 114768, + "èĿ": 114769, + "Ġkus": 114770, + "ÏĦολ": 114771, + "гÑĸв": 114772, + "Ñĸли": 114773, + "ãģĦãĤĦ": 114774, + "é©Ĺ": 114775, + "ontrol": 114776, + "اÙĦÙĥ": 114777, + "ковиÑħ": 114778, + "ĠÑģÑĤало": 114779, + "ĠγαÏģα": 114780, + "Ġchy": 114781, + "Ġcihaz": 114782, + "ĩ´": 114783, + "ìŀ¥ìĿ´": 114784, + "aceae": 114785, + "Ø´Ùĩر": 114786, + "иланнÑı": 114787, + "çļĦå°ı": 114788, + "Ġthụ": 114789, + "ÙĪÙĨت": 114790, + "лоÑĢ": 114791, + "ãĤĴæĮģ": 114792, + "ĠÎĶι": 114793, + "Ġ羣": 114794, + "ÐĽÐŀ": 114795, + "é½IJ": 114796, + "çİĦ": 114797, + "اÙĪÙĩ": 114798, + "ĠинÑĤ": 114799, + "à¥Ģà¤Łà¤°": 114800, + "ĠобÑīе": 114801, + "ĠдепÑĥÑĤ": 114802, + "μÎŃνεÏĤ": 114803, + "ĠÙĥÙĬÙģ": 114804, + "عÙħÙĦ": 114805, + "ï¼Įå¦Ĥæŀľ": 114806, + "ĠинÑĦек": 114807, + "itele": 114808, + "ĠãĢĢãĢĢĠãĢĢ": 114809, + "ãĤ¤ãĥ³ãĥĪ": 114810, + "лÑĸÑĤ": 114811, + "ĠÑģÑİ": 114812, + "Ġzase": 114813, + "dech": 114814, + "еко": 114815, + "è®ĵ": 114816, + "åı¬": 114817, + "зем": 114818, + "ÎłÎij": 114819, + "Ġvzdu": 114820, + "าà¸Īาà¸ģ": 114821, + "koliv": 114822, + "zkum": 114823, + "èģĬ": 114824, + "Ġì±Ħìļ©": 114825, + "à¹į": 114826, + "Ġasp": 114827, + "Û²Û´": 114828, + "ìĿ¸ëį°": 114829, + "ĠkarÅŁÄ±laÅŁ": 114830, + "ï¼Įåı¯ä»¥": 114831, + "Ġà¤ĩनà¤ķ": 114832, + "ĠìĬ¤íĥĢ": 114833, + "éĥ¨å±ĭ": 114834, + "åĪ¶ä½ľ": 114835, + "ãĥ¼ãĤ·ãĥ§ãĥ³": 114836, + "ονÏĦαÏĤ": 114837, + "γο": 114838, + "ĠìŀijìĦ±": 114839, + "èij£": 114840, + "ozÅĻejmÄĽ": 114841, + "ĠÑĢезÑĥлÑĮÑĤаÑĤе": 114842, + "ĠInsecta": 114843, + "Ġskon": 114844, + "otu": 114845, + "ĠpÄĽt": 114846, + "ÑģÑĮого": 114847, + "Ġİslam": 114848, + "Ġlá»ħ": 114849, + "ä¸Ńåľĭ": 114850, + "ĠÐľÑĸнÑĸÑģÑĤ": 114851, + "åIJĪåIJĮ": 114852, + "asyonu": 114853, + "ожеÑĤ": 114854, + "èĩªåĬ¨": 114855, + "ÑģÑĮкоÑİ": 114856, + "ĠkiÅŁisel": 114857, + "ÏĦικοÏį": 114858, + "ĠÑĥÑĩаÑģ": 114859, + "ılmÄ±ÅŁtır": 114860, + "ĠÑıке": 114861, + "ÑīинÑĭ": 114862, + "маÑĢ": 114863, + "Ġsoudu": 114864, + "ÂłÐ¯": 114865, + "ĠдÑĢÑĥ": 114866, + "ãģ¡ãĤĩ": 114867, + "à¥ĭà¥ľ": 114868, + "ï¾ij": 114869, + "ĠÏĦÏĮ": 114870, + "Ġضر": 114871, + "láš": 114872, + "ĠдÑĸв": 114873, + "ĠجدÙĬد": 114874, + "ĠнеболÑĮÑĪ": 114875, + "éģŃ": 114876, + "ç»į": 114877, + "ĠKurulu": 114878, + "ÑģÑĤÑĢÑĥменÑĤ": 114879, + "è¿Ļæĺ¯": 114880, + "ìĻĶëĭ¤": 114881, + "мелÑĮ": 114882, + "Ġä¼Ĭ": 114883, + "á»§ng": 114884, + "ĠзавиÑģимоÑģÑĤи": 114885, + "ëį¤íĶĦ": 114886, + "çĩĥ": 114887, + "è¿ĩåİ»": 114888, + "ĠзаÑģÑĤоÑģÑĥваннÑı": 114889, + "ĠداخÙĦÛĮ": 114890, + "ÑīÑij": 114891, + "ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł": 114892, + "ﺮ": 114893, + "ĠاÙĦÙħÙħÙĦÙĥØ©": 114894, + "sında": 114895, + "è³Ģ": 114896, + "å±ı": 114897, + "Ġê¿": 114898, + "Ġdoktor": 114899, + "ĠÙĤاب": 114900, + "ĠSist": 114901, + "ĠмеÑģÑĤе": 114902, + "ĠÑģоÑħÑĢа": 114903, + "اشتÙĩ": 114904, + "ĠæľŁ": 114905, + "ĠпоÑģколÑĮкÑĥ": 114906, + "Ġpev": 114907, + "اگر": 114908, + "Ùħز": 114909, + "ĠضÙħÙĨ": 114910, + "३": 114911, + "gesi": 114912, + "aÄŁa": 114913, + "è§£åĨ³": 114914, + "ëħ¸ì¶ľ": 114915, + "Ġluyá»ĩn": 114916, + "ĠконÑĤак": 114917, + "ฺ": 114918, + "ĠNgÃły": 114919, + "Ġvýstav": 114920, + "Ġthuyết": 114921, + "اÛĮع": 114922, + "Ġ:/:": 114923, + "Ġphạt": 114924, + "ĠÎijÏĢÏĮ": 114925, + "Ġmuz": 114926, + "Ġìĥī": 114927, + "ĠÃĩin": 114928, + "Ġکاربرد": 114929, + "ائد": 114930, + "باد": 114931, + "à¥įतम": 114932, + "Ġëijĺ": 114933, + "Ġмоз": 114934, + "Å¡ÃŃch": 114935, + "Ġมห": 114936, + "Ġآس": 114937, + "ĠÑģлиÑĪком": 114938, + "èĥ¡": 114939, + "è£ģ": 114940, + "æĪ»": 114941, + "ĠìĦ¤ëªħ": 114942, + "Ġotom": 114943, + "Ġलà¤Ĺà¤Ńà¤Ĺ": 114944, + "à¸ĩà¸ģ": 114945, + "ابد": 114946, + "à¸Ļาม": 114947, + "èĤ©": 114948, + "ĠشدÙĨد": 114949, + "ãģĿãģ®ä»ĸ": 114950, + "adlo": 114951, + "ÄĽn": 114952, + "ĠÙĦÙĩا": 114953, + "Ġминим": 114954, + "ĠdÅĻev": 114955, + "ĠThiên": 114956, + "ëŀĻ": 114957, + "engin": 114958, + "à¥Ģमत": 114959, + "ĠÑĥпоÑĤÑĢеб": 114960, + "âĢĮتر": 114961, + "Ġç¥ŀ马": 114962, + "ovánÃŃm": 114963, + "Ġдело": 114964, + "Ġç¼ĸ": 114965, + "ĠاÙĦظ": 114966, + "Ġвий": 114967, + "аÑĤом": 114968, + "åħ¬åijĬ": 114969, + "ĠÄijem": 114970, + "ãĤ·ãĥªãĥ¼ãĤº": 114971, + "ä¸ĭçļĦ": 114972, + "lası": 114973, + "ĠвÑĭбоÑĢ": 114974, + "ÑĤоÑĤ": 114975, + "ëıĦë³Ħ": 114976, + "ĠÑĥÑģÑĤан": 114977, + "ĠíŀĪ": 114978, + "лÑĥаÑĤа": 114979, + "Ġthác": 114980, + "анием": 114981, + "оваÑĤÑĮÑģÑı": 114982, + "ÑĤÑĶ": 114983, + "ÐŃÑĤо": 114984, + "ï¼Įè¦ģ": 114985, + "ĠVz": 114986, + "ĠØŃÙĪØ²Ùĩ": 114987, + "-к": 114988, + "VỼi": 114989, + "entů": 114990, + "ĠbulunduÄŁu": 114991, + "رÙĪØ·": 114992, + "ĠÑĹй": 114993, + "Ġçevr": 114994, + "ĠÅĻed": 114995, + "ĠساختÙĩ": 114996, + "åĬŀæ³ķ": 114997, + "ĠÙĤÙĦ": 114998, + "iÅŁi": 114999, + "ï¼Ŀï¼Ŀ": 115000, + "ساس": 115001, + "Ġúdajů": 115002, + "å¬": 115003, + "æįŁ": 115004, + "áct": 115005, + "ĠÎijÏĢ": 115006, + "çĪ·": 115007, + "ĠÅĻád": 115008, + "Ġlá»Ĺi": 115009, + "ontent": 115010, + "ĠÙħذ": 115011, + "oloji": 115012, + "Ġپرداخت": 115013, + "à¹īาà¸ŀ": 115014, + "ĠдейÑģÑĤвиÑı": 115015, + "ĠmnožstvÃŃ": 115016, + "ìķĪë§Ī": 115017, + "åģ¶": 115018, + "ĠÃĶng": 115019, + "Ġdakika": 115020, + "hendis": 115021, + "Ġbác": 115022, + "寶": 115023, + "à¹ĩà¸ģหà¸į": 115024, + "nocenÃŃ": 115025, + "ĠErdoÄŁan": 115026, + ":::::::::::::": 115027, + "аÑĤем": 115028, + "dız": 115029, + "ĠØ£ÙĬضا": 115030, + "ĠÑįÑĦÑĦек": 115031, + "ãĤĮãģ¦ãģĦãĤĭ": 115032, + "ĠbaÅŁvuru": 115033, + "άνει": 115034, + "ĠÏĦελεÏħÏĦα": 115035, + "Ġê²Ģìĥī": 115036, + "ĠÚ©ÙĨترÙĦ": 115037, + "Ġशà¤ķ": 115038, + "å¼¹": 115039, + "ĠolmuÅŁtur": 115040, + "ĠвÑģÑĤÑĥп": 115041, + "Ñĩила": 115042, + "ยา": 115043, + "ĠØ£ØŃÙħد": 115044, + "oslav": 115045, + "ĠÑĩаÑģов": 115046, + "ĠzákladnÃŃ": 115047, + "Ġसव": 115048, + "дон": 115049, + "ĠÅĻÃŃjna": 115050, + "κοÏħ": 115051, + "éĢģæĸĻçĦ¡æĸĻ": 115052, + "ÏĥίαÏĤ": 115053, + "ãĤ´ãĥª": 115054, + "Ġвиб": 115055, + "å½Ĵ": 115056, + "Ġназад": 115057, + "ĠçĻ¾åº¦æĶ¶å½ķ": 115058, + "á»Ĩ": 115059, + "Ġkaldı": 115060, + "ì¼ľ": 115061, + "ĠíıŃ": 115062, + "ĠÑĩином": 115063, + "è¹": 115064, + "Ñıл": 115065, + "ĠÑĢаздел": 115066, + "dG": 115067, + "ĠTento": 115068, + "ÑıÑĤÑĮÑģÑı": 115069, + "éĿ¢çļĦ": 115070, + "ĠÎķÏĢι": 115071, + "ê°ij": 115072, + "Ġkèm": 115073, + "ниÑĨÑı": 115074, + "çĸ«": 115075, + "éĽĻ": 115076, + "ĠÙħرÙĥز": 115077, + "ĠнаÑĥк": 115078, + "å¢Ĺ": 115079, + "ĠÑĤепеÑĢ": 115080, + "à¤¾à¤ł": 115081, + "à¹ĩà¸ļà¹Ħà¸ĭà¸ķ": 115082, + "μβÏģίοÏħ": 115083, + "ĠÑĦÑĸнанÑģов": 115084, + "ÑĸÑĶÑİ": 115085, + "Ïģίζ": 115086, + "ì¤Ħ": 115087, + "ĠباÙĨÚ©": 115088, + "tul": 115089, + "liÄŁini": 115090, + "ĠпозволÑıеÑĤ": 115091, + "Ïĥί": 115092, + "ĠìĽĥ": 115093, + "à¹Įà¸Ħ": 115094, + "Ġpolov": 115095, + "ìŀ¥ìĿĦ": 115096, + "isté": 115097, + "ĠÐ¡Ð¡Ð¡Ðł": 115098, + "áhl": 115099, + "è¥": 115100, + "Ġкомплек": 115101, + "à¸Ĥà¸Ļาà¸Ķ": 115102, + "ัศ": 115103, + "ναν": 115104, + "Ġç¥ŀ马æĶ¶å½ķ": 115105, + "ìĭľìĺ¤": 115106, + "Ġé¦ĸ页第": 115107, + "ĠçĻ¾åº¦æµģéĩı": 115108, + "åij¨æĶ¶å½ķ": 115109, + "Ġhatta": 115110, + "ÐĴÑĸд": 115111, + "ĠвÑĭÑģÑĤÑĥп": 115112, + "کارÛĮ": 115113, + "Khi": 115114, + "Ġì°¾ìķĦ": 115115, + "Ġnặng": 115116, + "éĨ«": 115117, + "ĠVÅ¡": 115118, + "ĠпеÑĢен": 115119, + "лава": 115120, + "ÙĬÙħÙĬ": 115121, + "ĠvatandaÅŁ": 115122, + "ĠιÏĥÏĦο": 115123, + "Ġà¸ĵ": 115124, + "सल": 115125, + "ген": 115126, + "ĠبÙĪØ±": 115127, + "âĢĮدÙĩد": 115128, + "lıklı": 115129, + "Ġstrate": 115130, + "بÙĪØ±": 115131, + "ãĢģãĤ¢": 115132, + "Ġsonuc": 115133, + "Ġнаиболее": 115134, + "-в": 115135, + "Ġводой": 115136, + "ojenÃŃ": 115137, + "Ġغرب": 115138, + "Ġberi": 115139, + "adÄĽ": 115140, + "Ġdovol": 115141, + "âĢĮÚ©ÙĨÙĨدگاÙĨ": 115142, + "ãģķãĤī": 115143, + "ãĥ³ãĤº": 115144, + "ãĤ«ãĥ«": 115145, + "ometr": 115146, + "åĩĢ": 115147, + "ĠÙģÙĪÙĦ": 115148, + "ĠÙħÙĪØ³ÛĮ": 115149, + "ĠاÙĦÙħغرب": 115150, + "ecko": 115151, + "ÙĢÙĢÙĢÙĢÙĢÙĢÙĢÙĢ": 115152, + "ê°Ģ격": 115153, + "ÑĢÑĥÑĤ": 115154, + "Ġë¶Ģë¶Ħ": 115155, + "ĠpÅĻedpis": 115156, + "Ġopravdu": 115157, + "еÑĤиÑĩ": 115158, + "à¹Ĥà¸Ħรà¸ĩà¸ģาร": 115159, + "æħ§": 115160, + "æĭľ": 115161, + "سÙĥ": 115162, + "ìŀ¡ëĭ´": 115163, + "à¸Ľà¸£à¸°à¸¡à¸²à¸ĵ": 115164, + "è´¨éĩı": 115165, + "ĠголовÑĥ": 115166, + "лениÑİ": 115167, + "Ġनà¤ı": 115168, + "Ġprojektu": 115169, + "اÙ쨱": 115170, + "ativnÃŃ": 115171, + "ÎŃνÏĦ": 115172, + "ãĥīãĥ©": 115173, + "Ġtedav": 115174, + "ê¼": 115175, + "à¸Ľà¸£à¸°à¸ģาศ": 115176, + "Ġtuto": 115177, + "Ġchiếu": 115178, + "Ġvyz": 115179, + "ÑĢоÑĪ": 115180, + "åıĸå¾Ĺ": 115181, + "ĠмиÑģÑĤ": 115182, + "ĠÑģлÑĥÑĩаÑıÑħ": 115183, + "Ġغذ": 115184, + "ĠÑĥклад": 115185, + "ĠÑĥÑģÑĤановлен": 115186, + "Ġteslim": 115187, + "ĠãĢį": 115188, + "Ġè£": 115189, + "毫": 115190, + "éĬĢè¡Į": 115191, + "ects": 115192, + "kemiz": 115193, + "νηÏĤ": 115194, + "辺": 115195, + "ĠпÑĢем": 115196, + "Ġsonucu": 115197, + "Pokud": 115198, + "ĠÐŀÑģоб": 115199, + "è¾Ľ": 115200, + "輸": 115201, + "ë³´ê³ł": 115202, + "à¸ļà¸Ħ": 115203, + "ãĢĤãĢį": 115204, + "ा।ĊĊ": 115205, + "ĠÑģамоÑģÑĤоÑıÑĤелÑĮ": 115206, + "ÙĦÛĮت": 115207, + "λεκ": 115208, + "ĠÑĢайона": 115209, + "ÑĮи": 115210, + "à¹Īาà¸Ĺ": 115211, + "Ġà¸Ľà¸£à¸°à¹Ģà¸Ĺศ": 115212, + "มà¸Ń": 115213, + "اÙĩر": 115214, + "ĠвибоÑĢ": 115215, + "ÑİÑĩиÑģÑĮ": 115216, + "Ġpovol": 115217, + "abase": 115218, + "â̳N": 115219, + "Ú©ÙĪ": 115220, + "ĠУкÑĢаÑĹна": 115221, + "stanov": 115222, + "ĠÑĥÑĩаÑģÑĤи": 115223, + "Ġhlad": 115224, + "ĠÑĢаÑģÑģказ": 115225, + "ãģ¿ãģŁãģĦ": 115226, + "á½°": 115227, + "ĠåĽŀ": 115228, + "Ġương": 115229, + "αÏģά": 115230, + "خب": 115231, + "æįķ": 115232, + "ÃŃÅĻ": 115233, + "ĠسÛĮÙĨ": 115234, + "Âłin": 115235, + "ĠMÄĽst": 115236, + "æķĻåѦ": 115237, + "ĠоÑģобиÑģÑĤ": 115238, + "uji": 115239, + "çĶ»åĥı": 115240, + "ĠداÙĨØ´ÙĨاÙħÙĩ": 115241, + "ìĿ´ìķ¼": 115242, + "ĠзапиÑĤ": 115243, + "ĠÑģвоими": 115244, + "Û²Û°Û²": 115245, + "ï¼Įå°Ĩ": 115246, + "ãĥ¼ãģ®": 115247, + "ĠthÃŃ": 115248, + "ĠÙħتÙĪØ³Ø·": 115249, + "à¥ĩĊ": 115250, + "å¤ļå°ij": 115251, + "ï¼ĮçĦ¶åIJİ": 115252, + "íĹĪ": 115253, + "Ġà¤Ńà¤Ĺ": 115254, + "Ġåı·": 115255, + "Ġteor": 115256, + "åĤ¨": 115257, + "ĠÑĢÑĸÑĩ": 115258, + "ĠÑģÑĤаÑĤÑĤÑĸ": 115259, + "ĠرابطÙĩ": 115260, + "Ġï¼ľ": 115261, + "باØŃ": 115262, + "ิà¸Ļà¸Ĺาà¸ĩ": 115263, + "à¥ĩà¤ĤĊ": 115264, + "ائÙĤ": 115265, + "ĠاÙĦجدÙĬد": 115266, + "liÄį": 115267, + "اØŃÙĦ": 115268, + "ménÄĽ": 115269, + "Ġbầu": 115270, + "ĠÐĴал": 115271, + "Ġблагод": 115272, + "еÑĤелÑĮ": 115273, + "å¹³åĿĩ": 115274, + "мин": 115275, + "Ġsürec": 115276, + "Ġзавод": 115277, + "èįIJ": 115278, + "ÑĤий": 115279, + "лоб": 115280, + "Ġвок": 115281, + "ladıģı": 115282, + "اÙĬÙĬ": 115283, + "ê²łìĬµëĭĪëĭ¤": 115284, + "Ġamacıyla": 115285, + "ï¼ĮåĽłä¸º": 115286, + "ãģ§ãģĤãģ£ãģŁ": 115287, + "ĠشرÙĪØ¹": 115288, + "æŁĶ": 115289, + "'nun": 115290, + "окол": 115291, + "Ġciddi": 115292, + "Ġbụ": 115293, + "Ġyapılacak": 115294, + "ĠÑĩÑĥвÑģÑĤв": 115295, + "ìĤ¬ìĿĺ": 115296, + "à¸Ńà¸Ļà¸Ķ": 115297, + "ÎĹΤ": 115298, + "Ġëĭ¤ìĸij": 115299, + "ëĭ¤ë©´": 115300, + "imizi": 115301, + "ä¹Ĥ": 115302, + "ãģ²ãģ¨": 115303, + "ĠéĿŀ": 115304, + "âĢĮپدÛĮا": 115305, + "ä¹ĺ": 115306, + "ãĥĬãĥ«": 115307, + "ĠпÑĸдпÑĢиÑĶмÑģÑĤва": 115308, + "à¹ij": 115309, + "è¿Ŀ": 115310, + "ĠÙħÙĨÙĩ": 115311, + "ÑĢик": 115312, + "аÑĢÑĸв": 115313, + "Ġкого": 115314, + "ĠÙĤص": 115315, + "ĠæĿ¥": 115316, + "ĠPhòng": 115317, + "Ġово": 115318, + "ĠпеÑĢева": 115319, + "飲": 115320, + "à¤Ĥà¤Łà¤°": 115321, + "ÙĬرا": 115322, + "ildiÄŁi": 115323, + "etin": 115324, + "Ïĩεία": 115325, + "Ġzahrani": 115326, + "ÙĪØ¬Ø¯": 115327, + "Ġç¯": 115328, + "ารย": 115329, + "Ġзако": 115330, + "ĠتÙĤس": 115331, + "ãĤ¹ãĤ¿ãĥ¼": 115332, + "æĿ°": 115333, + "ĠãĤ°": 115334, + "Ġé»Ħ": 115335, + "ĠÐļогда": 115336, + "५": 115337, + "Ġ次": 115338, + "ĠвÑĭÑĢаж": 115339, + "ĠchÄĥm": 115340, + "лÑıÑĶÑĤÑĮÑģÑı": 115341, + "دÙĩÙħ": 115342, + "Ġvrch": 115343, + "çºĮ": 115344, + "поÑĢ": 115345, + "ĠmaÄŁ": 115346, + "å¾ĴæŃ©": 115347, + "podob": 115348, + "ะà¹ģ": 115349, + "é쏿īĭ": 115350, + "帯": 115351, + "Ġsebou": 115352, + "inize": 115353, + "ĠÐľÐ°Ðº": 115354, + "ĠæĻ®": 115355, + "ĠÏħÏĢάÏģÏĩ": 115356, + "ĠÄIJÃł": 115357, + "ĠBrno": 115358, + "ĠÅ¡ÃŃ": 115359, + "اÙĦص": 115360, + "Ġnghiêm": 115361, + "Ġonları": 115362, + "ĠužÃŃ": 115363, + "èĩªåĪĨãģ®": 115364, + "ĠнаÑħодиÑĤÑģÑı": 115365, + "Ġjsi": 115366, + "Ġसमर": 115367, + "ĠÏĨÏī": 115368, + "Û±Û¹Û¸": 115369, + "Ġà¤ľà¤Ĺह": 115370, + "éŃļ": 115371, + "ìĿ¸ê°Ģ": 115372, + "ÄIJiá»ģu": 115373, + "ĠأعÙĦاÙħ": 115374, + "à¥ĩà¤Ĥ।Ċ": 115375, + "å½¢æĪIJ": 115376, + "Ġikt": 115377, + "Ġzdroj": 115378, + "ĠAmerik": 115379, + "ΡÎĵ": 115380, + "à¸ĩส": 115381, + "ĠíĴĢ": 115382, + "ÑģолÑİÑĤ": 115383, + "ÙĪÙĬت": 115384, + "Ġgörüntü": 115385, + "аннÑĭÑħ": 115386, + "ĠØ£ÙĤ": 115387, + "ĠмиÑĢ": 115388, + "å«Į": 115389, + "Ġmá»iji": 115390, + "Ġderin": 115391, + "éĴĪ": 115392, + "ĠмаÑĪи": 115393, + "측": 115394, + "ĠجÙĨÙĪØ¨": 115395, + "ĠÑģло": 115396, + "ãĢĤä¸Ģ": 115397, + "ениÑıÑħ": 115398, + "ĠÑĩоловÑĸк": 115399, + "Ġyana": 115400, + "ĠокÑĤ": 115401, + "ĠнеÑĢ": 115402, + "æĪ¶": 115403, + "нÑĮомÑĥ": 115404, + "ĠÑĸмен": 115405, + "ãĤıãģŁãģĹ": 115406, + "ĠÎĵια": 115407, + "ãĢģç§ģ": 115408, + "Ġkou": 115409, + "ĠÑĨеÑĢк": 115410, + "layarak": 115411, + "ãĢĩ": 115412, + "اÙĦس": 115413, + "ÂłT": 115414, + "ĠдÑĢÑĥж": 115415, + "ĠдвоÑĢ": 115416, + "λί": 115417, + "ĠëĨĢ": 115418, + "Ġteplot": 115419, + "ÙģØ§Øª": 115420, + "бÑĸ": 115421, + "Ġgüvenlik": 115422, + "nÄĽn": 115423, + "è©©": 115424, + "Ġinsanların": 115425, + "ĠìĦ¤ì¹ĺ": 115426, + "èĵĿ": 115427, + "avatel": 115428, + "jev": 115429, + "ĠÚĨرا": 115430, + "Ġgerekiyor": 115431, + "ãĥĥãĤ°": 115432, + "ĠÃĩok": 115433, + "ĠÙĪØ¬Ùĩ": 115434, + "ĠÑĥли": 115435, + "Âij": 115436, + "åijĢ": 115437, + "ĠоÑĢганизаÑĨии": 115438, + "ĠÑĸÑģнÑĥ": 115439, + "Ġnebude": 115440, + "Ġë°¤": 115441, + "ä¸ĬãģĮ": 115442, + "Ġधन": 115443, + "ĠرÙĪØ§Ø¨Ø·": 115444, + "γγελ": 115445, + "ĠдоÑģÑıг": 115446, + "ĠاÙĦÙĤدÙħ": 115447, + "ĠзнаÑħод": 115448, + "ĠÄįÃŃslo": 115449, + "ÅŁk": 115450, + "ĠاÙĦدÙĬÙĨ": 115451, + "Ġgünlük": 115452, + "ÙĥÙĬÙĬÙģ": 115453, + "ÎŃÏģα": 115454, + "à¸ķรว": 115455, + "ĠналиÑĩи": 115456, + "اÙħÛĮÙĨ": 115457, + "Ġμικ": 115458, + "Ġdönemde": 115459, + "à¹Īà¸Ĺ": 115460, + "æĥij": 115461, + "à¥ĭà¤Ĥ,": 115462, + "ÑĩÑı": 115463, + "ãģ¾ãĤĭ": 115464, + "ĠاÙĦتÙĨ": 115465, + "ÑĢаг": 115466, + "ëĵ¤ê³¼": 115467, + "ŃĶ": 115468, + "ĠÙħÙĨÙĩا": 115469, + "ĠThế": 115470, + "éIJµ": 115471, + "Ġï¾Ħ": 115472, + "ĠاÙĦإسÙĦاÙħ": 115473, + "ãĤ¦ãĤ¹": 115474, + "ÙĬدÙĬ": 115475, + "Ġå¾Ĺ": 115476, + "ĠзаÑĢаз": 115477, + "ãĤ¸ãĥ¥": 115478, + "Ġتعد": 115479, + "iÃŃ": 115480, + "Ġçocu": 115481, + "ozici": 115482, + "Ġë²Ķ": 115483, + "ĠØ¢ÙħدÙĩ": 115484, + "ÑĦик": 115485, + "ĠпоÑģÑĤанов": 115486, + "Ġkrálov": 115487, + "¨¨": 115488, + "Ġì¤ijìļĶ": 115489, + "ĠGWei": 115490, + "Ġvývoj": 115491, + "Ġboyut": 115492, + "Ġnek": 115493, + "اÙĩاÛĮ": 115494, + "ĠstranÄĽ": 115495, + "ием": 115496, + "ĠпоÑĢаж": 115497, + "à¥įरदर": 115498, + "é¡ĶãĤĴ": 115499, + "ĠYüz": 115500, + "ĠознаÑĩа": 115501, + "à¹ģลà¸Ļà¸Ķ": 115502, + "ĠبÙĩرÙĩ": 115503, + "енÑĤÑĥ": 115504, + "ĠÐĿад": 115505, + "ĠÐŁÐ¾Ð»ÑĮ": 115506, + "ãĥĹãĥª": 115507, + "á¿¶": 115508, + "âĢĮپدÛĮاÛĮ": 115509, + "ĠپاÙĪØ±Ù¾ÙĪÛĮÙĨت": 115510, + "ิà¸ģา": 115511, + "ĠενÏİ": 115512, + "ĠساÛĮر": 115513, + "éģº": 115514, + "ãĢģä»Ĭ": 115515, + "ĠLê": 115516, + "äºĭæĥħ": 115517, + "ĠYer": 115518, + "èħ°": 115519, + "ĠاÙĦرسÙħ": 115520, + "ĠاÙĦÙħÙĪÙĤع": 115521, + "ĠhÃłm": 115522, + "ĠдÑĢев": 115523, + "átel": 115524, + "ĠвÑģÑij": 115525, + "ìĺ¥": 115526, + "ĠMec": 115527, + "ãĤĽ": 115528, + "Ġصاد": 115529, + "Ġگردد": 115530, + "Ġkrás": 115531, + "èĮĥåĽ´": 115532, + "alarına": 115533, + "èĻļ": 115534, + "ĠØ¢ÙĪØ±Ø¯": 115535, + "ç¼ĵ": 115536, + "ิà¸ŀ": 115537, + "Ġãĥĭ": 115538, + "ĠæĢ§": 115539, + "ĠÙħÙĨذ": 115540, + "ç·´": 115541, + "Ġê¶ģ": 115542, + "ваем": 115543, + "ĠζÏī": 115544, + "Ġnavr": 115545, + "ÏĥÏĦαÏĥη": 115546, + "Ġرأ": 115547, + "Ġdopl": 115548, + "___": 115549, + "çĶļèĩ³": 115550, + "Äįel": 115551, + "æĦıåij³": 115552, + "ç¥Ń": 115553, + "Ãĺ": 115554, + "ÑģÑĤвеннÑĭе": 115555, + "裡": 115556, + "ĠãĢī": 115557, + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 115558, + "Ġвал": 115559, + "Ġẩm": 115560, + "Ġdiyor": 115561, + "à¸Ńà¸ĩà¸Īาà¸ģ": 115562, + "ĠPhó": 115563, + "ĠÐĵе": 115564, + "ĠвеÑĢеÑģ": 115565, + "Ġkonz": 115566, + "رز": 115567, + "ĠÑģобоÑİ": 115568, + "Ġεκεί": 115569, + "ìĺģìĸ´": 115570, + "iag": 115571, + "ĠÑģенÑĤ": 115572, + "Ġnấu": 115573, + "Ġjaké": 115574, + "Ġrozh": 115575, + "Ġбог": 115576, + "ÙĨاد": 115577, + "ĠاÙħÙĪØ±": 115578, + "à¹Įà¸ģาร": 115579, + "ĠYaÅŁ": 115580, + "éĪ": 115581, + "åķª": 115582, + "Ġonay": 115583, + "ìĹĩ": 115584, + "omu": 115585, + "ÑĨÑĸйного": 115586, + "ĠÑģал": 115587, + "ĠΣÏħν": 115588, + "Ġsavun": 115589, + "å¦Ļ": 115590, + "à¸Īะม": 115591, + "ãĤ¹ãĤ¯": 115592, + "Ġdosy": 115593, + "ľĺ": 115594, + "먹": 115595, + "Ġminul": 115596, + "ãĢĭĊ": 115597, + "åģı": 115598, + "ĠÐļаÑĤ": 115599, + "Ġedilmesi": 115600, + "ÑĨÑĸÑĶн": 115601, + "ìĦ±ìĿ´": 115602, + "åĸĶ": 115603, + "ĠвÑĸÑĢ": 115604, + "è¯ij": 115605, + "ाà¤ĩड": 115606, + "ĠÙĪÙĤتÛĮ": 115607, + "ÄIJá»ĥ": 115608, + "ĠvyššÃŃ": 115609, + "Äįila": 115610, + "адÑĥ": 115611, + "çī¹åĪ¥": 115612, + "ĠìĿ¸ê¸°": 115613, + "ujÃŃcÃŃch": 115614, + "ĠPodle": 115615, + "ĠyavaÅŁ": 115616, + "Ļæ±Ł": 115617, + "Ġkayb": 115618, + "åĬª": 115619, + "ç´¹": 115620, + "ĠобÑĢабоÑĤ": 115621, + "ĠмаÑı": 115622, + "ĠåıĬ": 115623, + "æİ¥åıĹ": 115624, + "ÙĨتÛĮ": 115625, + "ĠÏĩÏİ": 115626, + "ÑĤÑĢо": 115627, + "Ġuyar": 115628, + "ĠعÙħÙĦکرد": 115629, + "ĠоÑĨен": 115630, + "ĠмеÑģÑĤа": 115631, + "à¸ķลาà¸Ķ": 115632, + "ÙħÙĤ": 115633, + "ildren": 115634, + "ĠзавиÑģиÑĤ": 115635, + "ÂłĠÂł": 115636, + "Ġmožná": 115637, + "æĺŃåĴĮ": 115638, + "ırken": 115639, + "кин": 115640, + "åĿĤ": 115641, + "ÏĦÏĥι": 115642, + "ĠÑĩÑĥд": 115643, + "Ðļон": 115644, + "islav": 115645, + "ĠÐļÑĢаÑģ": 115646, + "Nej": 115647, + "Âłb": 115648, + "rof": 115649, + "Ġileri": 115650, + "ĠÐŀÑĢ": 115651, + "ĠChá»ī": 115652, + "Ġnüfus": 115653, + "ĠÑĸнÑĤ": 115654, + "!âĢľ": 115655, + "Ġनर": 115656, + "主ä¹ī": 115657, + "ĠتÙĨظ": 115658, + "ůvodu": 115659, + "ĠгоÑĢода": 115660, + "Ġkural": 115661, + "Ġjedin": 115662, + "ÑĢаÑĤег": 115663, + "åĢº": 115664, + "Ġzpůsobem": 115665, + "ìĿ¸ìĿĺ": 115666, + "ĠÙĨب": 115667, + "ĠNga": 115668, + "ĠÐĿай": 115669, + "ĠاÙģØ²Ø§Ø±": 115670, + "нÑĥвÑģÑı": 115671, + "ĠдвоÑħ": 115672, + "Ġrozp": 115673, + "είοÏħ": 115674, + "Ġοικο": 115675, + "ĠGeç": 115676, + "ÂĹ": 115677, + "Ġchiếm": 115678, + "ĠÑĢаÑģпÑĢоÑģÑĤÑĢан": 115679, + "Ġhương": 115680, + "èĩªåĭķ": 115681, + "ĠÙħÙĪÙģÙĤ": 115682, + "æĮ¥": 115683, + "ï¼ģâĢĿĊĊ": 115684, + "ÏģοÏĨοÏģ": 115685, + "èıĮ": 115686, + "ãĥ´ãĤ¡": 115687, + "欧ç¾İ": 115688, + "ĠÑĤепло": 115689, + "ãģĤãģĤ": 115690, + "ãĤ¦ãĥ³": 115691, + "ĠÅŁeyi": 115692, + "Ġsüt": 115693, + "ãģ¹ãģ¦": 115694, + "ãĥ³ãĥij": 115695, + "μÎŃνÏīν": 115696, + "Ġgenellikle": 115697, + "ĠدرÙħاÙĨ": 115698, + "Ùª": 115699, + "Ġakıl": 115700, + "ĠÐľÑĭ": 115701, + "ĠetmiÅŁ": 115702, + "Å¡la": 115703, + "ĠвозможноÑģÑĤÑĮ": 115704, + "Ġgüncel": 115705, + "Ġnáro": 115706, + "å½¢å¼ı": 115707, + "ĠαÏĢοÏĦε": 115708, + "ĠмÑĸÑģÑĨÑı": 115709, + "Ġرض": 115710, + "ä¸įçŁ¥éģĵ": 115711, + "rava": 115712, + "ĠÎļά": 115713, + "ิà¸Ļà¸Ĺร": 115714, + "ĠлиÑģÑĤÑĮ": 115715, + "èĨľ": 115716, + "ãģ«ãģªãĤĬ": 115717, + "ĠæĿ¾": 115718, + "å®ı": 115719, + "ĠмиÑģ": 115720, + "átnÃŃ": 115721, + "Ġyıllık": 115722, + "ĠMerkezi": 115723, + "Ġiçeri": 115724, + "ÅĻÃŃž": 115725, + "ĠpÅĻe": 115726, + "ÏĩÏģι": 115727, + "Ġåįĥ": 115728, + "Ġsrp": 115729, + "à¹Ĥà¸Ĺร": 115730, + "ĠKrál": 115731, + ".Σ": 115732, + "ával": 115733, + "léd": 115734, + "Ġλα": 115735, + "ียวà¸ģ": 115736, + "ãģıãģª": 115737, + "ĠvÅ¡ichni": 115738, + "ĠпÑĢедоÑģÑĤав": 115739, + "ì¿": 115740, + "Ġ구ê¸ĢìĥģìľĦ": 115741, + "Ġà¤īपलब": 115742, + "воз": 115743, + "ĠëħĦëıĦë³Ħ": 115744, + "、_": 115745, + "à¸ļรร": 115746, + "ĠÑģвÑĸÑĤÑĥ": 115747, + "ĠÑĢÑĥблей": 115748, + "lenme": 115749, + "lÃŃÄį": 115750, + "ÏĦει": 115751, + "Ġåı¤": 115752, + "ĠObrázky": 115753, + "Ġìĺģíĸ¥": 115754, + "ĠгÑĢаждан": 115755, + "íĤ¹": 115756, + "Ġsahiptir": 115757, + "ĠпоÑĩаÑĤкÑĥ": 115758, + "ĠØ£ÙĬض": 115759, + "ĠÑĤоÑĢгов": 115760, + "Ġgelecek": 115761, + "Ġ문íĻĶ": 115762, + "ikleri": 115763, + "ĠнеобÑħÑĸдно": 115764, + "Ġäºij": 115765, + "ovol": 115766, + "Ġदल": 115767, + "ĠìķĬê³ł": 115768, + "Ġмг": 115769, + "Ġzjist": 115770, + "anlı": 115771, + "ัà¸ĩà¸Ļ": 115772, + "ÑĢаÑħов": 115773, + "ινη": 115774, + "ĠплоÑĤ": 115775, + "Ġnitel": 115776, + "ìĬ¤íģ¬": 115777, + "ĠSonra": 115778, + "ĠÑģбоÑĢ": 115779, + "ĠÏĥοÏħ": 115780, + "Ġolmam": 115781, + "Ġanaliz": 115782, + "à¹Įว": 115783, + "Ġmỹ": 115784, + "ceae": 115785, + "Ġден": 115786, + "веÑĢжд": 115787, + "Ả": 115788, + "ãģĵãģ¨ãĤĤ": 115789, + "ìĤ¬íķŃ": 115790, + "è¨Ģãģ£ãģŁ": 115791, + "Ġì¹´ì§Ģëħ¸": 115792, + "ÑĢиÑĤи": 115793, + "Ġchce": 115794, + "Ġçevir": 115795, + "ÛĮÛĮÙĨ": 115796, + "ä¼ļè®®": 115797, + "ัมà¸ŀ": 115798, + "ĠåĦ": 115799, + "Ġپدر": 115800, + "å¼ıä¼ļ社": 115801, + "ĠÑĨен": 115802, + "ิà¸ĸ": 115803, + "Ġjinak": 115804, + "ĠблÑİ": 115805, + "иÑĨин": 115806, + "ÙĴÙĩ": 115807, + "Ú©ÙĪØ±": 115808, + "Ġìķħ": 115809, + "eksiyon": 115810, + "ĠÑģвеÑĢ": 115811, + "ĠобÑĢазованиÑı": 115812, + "ĠãĥĻ": 115813, + "æľī人": 115814, + "Ġbilgileri": 115815, + "Ġhầu": 115816, + "еÑĢÑĸг": 115817, + "ĠvaÅ¡e": 115818, + "Ġnedir": 115819, + "ä¸įå¾Ĺ": 115820, + "ĠbaÅŁarılı": 115821, + "Ġkaybet": 115822, + "å©·": 115823, + "ĠÐĿав": 115824, + "Ġê´Ģíķľ": 115825, + "ÑģÑĤÑİ": 115826, + "å®ŀéĻħ": 115827, + "klady": 115828, + "даÑĤÑĮ": 115829, + "raç": 115830, + "Ġkuvvet": 115831, + "à¸ģารà¸Ĺ": 115832, + "åļ": 115833, + "ĠÑĢеп": 115834, + "Ġà¸Ŀ": 115835, + "ĠDiÄŁer": 115836, + "íĶĦíĬ¸": 115837, + "ĠnejvÄĽtÅ¡ÃŃ": 115838, + "Ġìłģìļ©": 115839, + "ĠonemocnÄĽnÃŃ": 115840, + "ака": 115841, + "ÐłÐ°Ð·": 115842, + "ĠÙ쨥ÙĨ": 115843, + "ãĤµãĤ¤ãĤº": 115844, + "Ġvlád": 115845, + "Ġrady": 115846, + "ãĢģãģĵãĤĮ": 115847, + "ÑģÑĤвие": 115848, + "lıģa": 115849, + "åŃĶ": 115850, + "Ġáo": 115851, + "à¸Ńาà¸ģาศ": 115852, + "Ġà¤ıम": 115853, + "δαÏĤ": 115854, + "ĠапÑĢ": 115855, + "æİĽ": 115856, + "Ġç«ĭ": 115857, + "âĸıâĸı": 115858, + "ĠСм": 115859, + "Ġnemá": 115860, + "Ġè¢": 115861, + "νομα": 115862, + "ĠÙ쨱ÙĪØ¯": 115863, + "Ġülke": 115864, + "ĠæĺŁ": 115865, + "ัà¸Ļà¸ģ": 115866, + "ãģķãĤĵãģ®": 115867, + "eÅŁil": 115868, + "ÄŁiz": 115869, + "ĠÐijоÑĢ": 115870, + "Ġtầm": 115871, + "ειÏĦοÏħÏģγ": 115872, + "ĠγÏģα": 115873, + "à¥įषà¤ķ": 115874, + "Ġvẻ": 115875, + "Ġkendisine": 115876, + "ĠìķĮê³ł": 115877, + "ĠêµŃìłľ": 115878, + "ĠnÄĽkdo": 115879, + "ĠÛĮÙĩ": 115880, + "Ġکاربر": 115881, + "ãĥĻãĥ«": 115882, + "ï»´": 115883, + "Ġtuyên": 115884, + "Ġçat": 115885, + "âĢIJâĢIJ": 115886, + "Âı": 115887, + "ĠìĤ¬ìĹħ": 115888, + "éĨĴ": 115889, + "æıIJé«ĺ": 115890, + "æ·¡": 115891, + "ĠÄŁ": 115892, + "èĸ¦": 115893, + "ãĢĭï¼Ī": 115894, + "æ¡ĥ": 115895, + "ìĹĦ": 115896, + "ĠæŀĹ": 115897, + "ÄĤ": 115898, + "ĠÄĮech": 115899, + "αιο": 115900, + "ĠطرÙĬÙĤ": 115901, + "ĠзавеÑĢÑĪ": 115902, + "تÙĪØ¨Ø±": 115903, + "ĠØŃج": 115904, + "ĠÎŃÏĩοÏħν": 115905, + "¿ÃĤ": 115906, + "ĠdÄĽtÃŃ": 115907, + "Ġiçine": 115908, + "ĠChúa": 115909, + "аннÑĭй": 115910, + "ĠÙĪÛĮÚĺ": 115911, + "Ġnastav": 115912, + "ısına": 115913, + "ĠÑĹм": 115914, + "пон": 115915, + "енÑı": 115916, + "ĠÙĪØ¸": 115917, + "Ú¯ÙĦ": 115918, + "หลวà¸ĩ": 115919, + "Ġzastav": 115920, + "акон": 115921, + "³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³": 115922, + "ĠKır": 115923, + "çµ¶": 115924, + "ĠоÑĢганÑĸзаÑĨÑĸÑĹ": 115925, + "ãģŁãĤĬ": 115926, + "ذÙĬ": 115927, + "Ġरà¤ķ": 115928, + "ampiyon": 115929, + "Ġæ¸ħ": 115930, + "çľ¼çĿĽ": 115931, + "ĠìķĬìĿĢ": 115932, + "鹿": 115933, + "Ġå¿ĥ": 115934, + "ĠпÑĢекÑĢаÑģ": 115935, + "ĠÑģегоднÑı": 115936, + "Ġसल": 115937, + "ĠÏħÏĢÏĮ": 115938, + "ĠÐķго": 115939, + "ĠÐĽÐ¸": 115940, + "ãĤ¨ãĥ«": 115941, + "ĠлÑİÑĤ": 115942, + "饰": 115943, + "Ġvzdál": 115944, + "¯ÃĤ": 115945, + "ĠнаÑıв": 115946, + "ĠتشکÛĮÙĦ": 115947, + "ĠسÙĪÛĮ": 115948, + "Ġtái": 115949, + "Ġkapı": 115950, + "ĠsvÄĽtÄĽ": 115951, + "δÏĮν": 115952, + "æ¼¢": 115953, + "ìį¨": 115954, + "ĠbaÅŁvur": 115955, + "ÑĢина": 115956, + "Ġkelim": 115957, + "аÑĤок": 115958, + "Ġκάθε": 115959, + "ĠYüksek": 115960, + "à¹ĩà¸Ļà¸ľ": 115961, + "éłĤ": 115962, + "åIJĮæĻĤ": 115963, + "ÅŁtır": 115964, + "วà¸ĩศ": 115965, + "oty": 115966, + "Ġارد": 115967, + "ĠìŀIJìĭłìĿĺ": 115968, + "ĠÑıнва": 115969, + "üyordu": 115970, + "æĿ¨": 115971, + "ĠâĢĵĊ": 115972, + "ï¼Įå®ĥ": 115973, + "ейн": 115974, + "ĠпеÑĢеÑĤ": 115975, + "ĠdeÄŁiÅŁiklik": 115976, + "ĠогÑĢаниÑĩ": 115977, + "ìĦľìļ¸": 115978, + "Ġgeliyor": 115979, + "ĠپذÛĮر": 115980, + "åĵ²": 115981, + "eyin": 115982, + "ĠëıĪ": 115983, + "Ġuniverz": 115984, + "Ġhned": 115985, + "ĠtáºŃn": 115986, + "voÅĻÃŃ": 115987, + "Ġniên": 115988, + "dÄĽpodob": 115989, + "ìĤ¬íļĮ": 115990, + "ãģĮãģĤãĤĬ": 115991, + "ĠÑģÑĸÑĩ": 115992, + "''\"": 115993, + "Ġtoplantı": 115994, + "ĠÑģÑĩеÑĤ": 115995, + "åĩĨå¤ĩ": 115996, + "анÑĸÑı": 115997, + "Ġzel": 115998, + "vala": 115999, + "Ġапп": 116000, + "ĠاÙĦÙħÙĦÙĥ": 116001, + "ĠhoÅŁ": 116002, + "ĠÐĵен": 116003, + "ÑĤаб": 116004, + "ĠÄĮesko": 116005, + "Ġмайже": 116006, + "ĠmÄĽsto": 116007, + "yonel": 116008, + "거리": 116009, + "Ġìĺ¨ëĿ¼ìĿ¸": 116010, + "ç´¯": 116011, + "Ġderec": 116012, + "ĠокÑĢÑĥж": 116013, + "Ġyabancı": 116014, + "ĠíĦ°": 116015, + "ĠèµĦ": 116016, + "ÎĻÎļÎĹ": 116017, + "ĠпÑĭ": 116018, + "ĠvÄĽn": 116019, + "инки": 116020, + "ụp": 116021, + "æľºæ¢°": 116022, + "ĠìķĮ볤": 116023, + "ëħķ": 116024, + "ĠλÏĮγ": 116025, + "eyn": 116026, + "ĠëIJĺìĹĪëĭ¤": 116027, + "污": 116028, + "Ġvedle": 116029, + "ĠÙĥتب": 116030, + "맨": 116031, + "ĠÙħÙĤاÙĪ": 116032, + "å¹´ãģ«": 116033, + "ाà¤ĩà¤ķ": 116034, + "ĠÑģÑĤоÑģ": 116035, + "ĠÏĥÏĦοÏħÏĤ": 116036, + "меÑĤÑĮ": 116037, + "Ġesas": 116038, + "ëIJĺê³ł": 116039, + "ĠkvÄĽtna": 116040, + "Ġéľ": 116041, + "dük": 116042, + "åŁ·": 116043, + "èªĮ": 116044, + "Ġmluv": 116045, + "ĠпÑĢинÑı": 116046, + "Ġpoté": 116047, + "ĠÚ©ÙĨÙħ": 116048, + "ĠпÑĢедлож": 116049, + "ĠÐľÐ¾Ñģква": 116050, + "ï¼Įå¦Ĥ": 116051, + "Ġsvém": 116052, + "ĠاÙħÙĨ": 116053, + "สาย": 116054, + "ĠÑĥменÑĮ": 116055, + "Ġãģĵãģ®": 116056, + "åīĤ": 116057, + "ĠÑģеÑĢÑĮ": 116058, + "Ġmá»ĩ": 116059, + "Ġä¹Ŀ": 116060, + "ĠзакÑĸн": 116061, + "ĠвелиÑĩ": 116062, + "ĠконÑĤÑĢа": 116063, + "ĠSosyal": 116064, + "Ġyukarı": 116065, + "ĠدÙĪØ¨": 116066, + "ä¾§": 116067, + "Ġзамен": 116068, + "ï»®": 116069, + "ĠsobÄĽ": 116070, + "ĠТакже": 116071, + "Ðİ": 116072, + "εδ": 116073, + "ÙħارÛĮ": 116074, + "ξι": 116075, + "ì¹Ń": 116076, + "ĠплаÑģÑĤи": 116077, + "ÏĥοÏħν": 116078, + "èľĺèĽĽè¯į": 116079, + "ÙĪÛĮزÛĮ": 116080, + "ĠnapÅĻ": 116081, + "ĠÑĤипа": 116082, + "à¥Ĥà¤Ľ": 116083, + "ĠÅŁah": 116084, + "лÑıÑĤи": 116085, + "بÛĮر": 116086, + "ระยะ": 116087, + "ĠболÑĮÑĪин": 116088, + "ÏĦηÏĦα": 116089, + "Ġíıīê°Ģ": 116090, + "Ġprojev": 116091, + "òi": 116092, + "ĠкнÑı": 116093, + "ÏĨεÏģ": 116094, + "еÑĢÑĥ": 116095, + "Ñįн": 116096, + "ĠعÙħÙĦÛĮ": 116097, + "à¤łà¤¨": 116098, + "ãĥ³ãĤ¯": 116099, + "ĠìķĦëŀĺ": 116100, + "ÎĪ": 116101, + "Ġباست": 116102, + "ĠتÙĥ": 116103, + "aÄįnÃŃ": 116104, + "ĠлÑĸкÑĥваннÑı": 116105, + "à¸Ħà¹Ĥà¸Ļ": 116106, + "Ġèĥ½": 116107, + "θλη": 116108, + "lenmiÅŁ": 116109, + "Ġlá»Ļ": 116110, + "Ġsilah": 116111, + "ĠAustr": 116112, + "ØŃÙĤ": 116113, + ".***.***": 116114, + "ì©": 116115, + "ĠgÃł": 116116, + "ĠبازبÛĮÙĨÛĮ": 116117, + "ĠÄijÃłn": 116118, + "ÃŃky": 116119, + "ĠÎķν": 116120, + "ضÙħ": 116121, + "å§ĵ": 116122, + "ĠÙĨÙĪÛĮس": 116123, + "Ġskupiny": 116124, + "ĠسÛĮد": 116125, + "Ġaldıģı": 116126, + "meli": 116127, + "виж": 116128, + "ì¹ĺëĬĶ": 116129, + "оваÑħ": 116130, + "Ġæ©": 116131, + "Ø´ÙĨاسÛĮ": 116132, + "Ġnimi": 116133, + "ĠÐĵÑĢи": 116134, + "íĹĮ": 116135, + "Ġкв": 116136, + "éŁĵ": 116137, + "ĠíĽĦ기": 116138, + "ĠstÅĻÃŃ": 116139, + "ĠкÑĸлÑĮкÑĸÑģÑĤÑĮ": 116140, + "ĠBakanlıģı": 116141, + "ĠменÑĮÑĪе": 116142, + "اÙĪÛĮ": 116143, + "ĠارÙĪÙ¾": 116144, + "Ġèī²": 116145, + "ĠÚ©ÙĪÚĨÚ©": 116146, + "ĠAynı": 116147, + "ĠäºĨ": 116148, + "ĠسÙ쨱": 116149, + "ĠÑĤеаÑĤ": 116150, + "ĠvÄĽd": 116151, + "аÑĢов": 116152, + "Ġобмеж": 116153, + "ĠìķĬìķĺ": 116154, + "追åĬł": 116155, + "éłĪ": 116156, + "dÄĽlenÃŃ": 116157, + "Ġkims": 116158, + "Ġèı²": 116159, + "ĠгÑĢÑĥн": 116160, + "ĠØ¢ÙĦÙħاÙĨ": 116161, + "Ġавг": 116162, + "ĠÑīоÑģÑĮ": 116163, + "Ġå¾·": 116164, + "ĠÐĿаÑĨÑĸоналÑĮ": 116165, + "æĪIJç«ĭ": 116166, + "ูà¸Ļย": 116167, + "ãĥ¼ãĥ«ãĥī": 116168, + "éĽ²": 116169, + "ĠTá»ķ": 116170, + "cılık": 116171, + "ĠAlmanya": 116172, + "ĠovÅ¡em": 116173, + "Âĭ": 116174, + "ĠÏĩÏģηÏĥιμοÏĢοι": 116175, + "Ġörgüt": 116176, + "िसस": 116177, + "èĹĿ": 116178, + "ĠGiải": 116179, + "Ġsvob": 116180, + "Ġrůzných": 116181, + "Ġsmlouvy": 116182, + "ÑĢеÑģÑģ": 116183, + "ีà¹Ģà¸Ķ": 116184, + "ĠاÙħرÙĪØ²": 116185, + "ãĤħ": 116186, + "åĿ¦": 116187, + "à¹īà¸Ħ": 116188, + "Ġкаж": 116189, + "å¼Ĺ": 116190, + "ÑĩноÑĹ": 116191, + "åľĪ": 116192, + "ĠØ¢ÙĩÙĨÚ¯": 116193, + "몰": 116194, + "Ġæº": 116195, + "ĠèĦ": 116196, + "ä¸ĢæŃ¥": 116197, + "оÑĩка": 116198, + "Ġprostor": 116199, + "Ġngắn": 116200, + "Ġç·": 116201, + "наÑĢ": 116202, + "Ġà¤ľà¤µ": 116203, + "ĠнаÑĩалÑĮ": 116204, + "Ġнедел": 116205, + "ĠÑģиÑģÑĤемÑĥ": 116206, + "جÙĬ": 116207, + "ادات": 116208, + "Ġæ¢": 116209, + "ĠجاÙħعة": 116210, + "Ġä»İ": 116211, + "Ġà¤ħफ": 116212, + "èĸĦ": 116213, + "ĠباÙĤ": 116214, + "بÙĬع": 116215, + "ãģķãĤĮãģ¦": 116216, + "ĠÃĩalÄ±ÅŁ": 116217, + "Ø®ÙĪØ§Ø³Øª": 116218, + "ãĥĥãĤ·ãĥ¥": 116219, + "ĠØŃسÛĮÙĨ": 116220, + "ĠобнаÑĢÑĥж": 116221, + "вÑĸдом": 116222, + "Ġhôm": 116223, + "ланд": 116224, + "Ġà¤µà¤ľà¤¹": 116225, + "سÙĬÙĨ": 116226, + "æłı": 116227, + "ĠnavÃŃc": 116228, + "ãĤµãĤ¤ãĥĪ": 116229, + "ĠÑıкомÑĥ": 116230, + "ĠíĽ": 116231, + "ĠYani": 116232, + "ãĤĵãģ§ãģĻ": 116233, + "ĠгÑĢÑĥп": 116234, + "Äįný": 116235, + "ÑĨик": 116236, + "ÙĪÙĬر": 116237, + "ĠXã": 116238, + "Ġfyz": 116239, + "Ġï½ī": 116240, + "âĢĮترÛĮÙĨ": 116241, + "à¤Łà¤ķ": 116242, + "ÑĦоÑĢми": 116243, + "ĠOyun": 116244, + "åł´æīĢ": 116245, + "ØŃØ«": 116246, + "ĠìķĮìķĦ": 116247, + "ÑĢавилÑĮ": 116248, + "ï¼ĮâĢĿ": 116249, + "boru": 116250, + "ĠKullan": 116251, + "ĠKaynak": 116252, + "Ġê°ĸ": 116253, + "ç´Ķ": 116254, + "ï¼Įæ¯ı": 116255, + "ÎĹΡ": 116256, + "Ġpůl": 116257, + "ĠгоÑģÑĤ": 116258, + "رÙĪÙħ": 116259, + "ï¼Įåį³": 116260, + "Û²Û³": 116261, + "ĠÙĨخست": 116262, + "Ġکسب": 116263, + "Ġà¹Ģà¸ļ": 116264, + "Ġyazar": 116265, + "jekt": 116266, + "à¹Ĥลย": 116267, + "ĠдобÑĢе": 116268, + "ĠپزشکÛĮ": 116269, + "ĠتÙĩÛĮÙĩ": 116270, + "ç¾İåľĭ": 116271, + "ноÑģÑıÑĤ": 116272, + "ëłĪìĬ¤": 116273, + "åĹ¯": 116274, + "ĠrÃłng": 116275, + "ĠÎķξ": 116276, + "аÑĤаÑĢ": 116277, + "kova": 116278, + "ĠÅŁeyler": 116279, + "خاص": 116280, + "ĠìķĪìłĦ": 116281, + "Ñīей": 116282, + "Ġë°Ŀ": 116283, + "âĢĮتÙĪØ§ÙĨد": 116284, + "ãģĪãģ°": 116285, + "Ġvữ": 116286, + "ĠÑģама": 116287, + "ĠобоÑĢÑĥд": 116288, + "âĢĮباشد": 116289, + "à¹Įà¸Ń": 116290, + "Ġdetay": 116291, + "æĤ²": 116292, + "ÂĪ": 116293, + "ãĤ¦ãĤ£": 116294, + "ĠпÑĢавила": 116295, + "krét": 116296, + "à¹Įร": 116297, + "åĮ¹": 116298, + "Ġåħį": 116299, + "ĠÑģилÑĮно": 116300, + "ĠиÑģÑĤоÑĩ": 116301, + "ĠsaÄŁlar": 116302, + "ĠæŃ¦": 116303, + "íĸĪìĬµëĭĪëĭ¤": 116304, + "Không": 116305, + "à¹Īาà¸ĩà¹Ĩ": 116306, + "Û°Û°Û°": 116307, + "ĠرÙĤ": 116308, + "âĢĻÑıÑĤ": 116309, + "åĽ²": 116310, + "à¹ģà¸Ķà¸ĩ": 116311, + "Ġžádné": 116312, + "couz": 116313, + "Ãĭ": 116314, + "ĠпÑĸдгоÑĤов": 116315, + "ĠëĮĢíķĻ": 116316, + "Ġdünyanın": 116317, + "èĢģå¸Ī": 116318, + "èģĮä¸ļ": 116319, + "Ġyeri": 116320, + "à¥ĭà¤ķर": 116321, + "ĠبÙĩتر": 116322, + "ëĭĪìķĦ": 116323, + "ìĿĮìĿĦ": 116324, + "ĠæĮĩ": 116325, + "ãĢįï¼Ī": 116326, + "ĠÑģооÑĤвеÑĤÑģÑĤвии": 116327, + "æĬĵ": 116328, + "à¹Ĥà¸Ĺ": 116329, + "Ġtrá»ĵng": 116330, + "ĠпÑĢаÑĨÑĸ": 116331, + "ĠëĨĵ": 116332, + "à¤ĩन": 116333, + "Ġìłķë§IJ": 116334, + "ãĢķ": 116335, + "ĠcáºŃn": 116336, + "åĸĿ": 116337, + "Ġê³ĦìĨį": 116338, + "Ġä¸İ": 116339, + "å¥ı": 116340, + "ĠعاÙĦÙħ": 116341, + "ĠvysvÄĽt": 116342, + "ĠдоÑĢог": 116343, + "ĠнеÑĢв": 116344, + "ĠбеÑĤ": 116345, + "ĠпÑĢиÑĤ": 116346, + "овÑĭй": 116347, + "å·¡": 116348, + "ÙģØ§Ø¹": 116349, + "ÐļÐĺ": 116350, + "à¸ķรวà¸Ī": 116351, + "ĠÐľÐ°Ð¹": 116352, + "ëıĦë¡ľ": 116353, + "Ġzlat": 116354, + "ĠsaÄŁlam": 116355, + "Ïģαν": 116356, + "à¸Ĭร": 116357, + "å¹´ãģ®": 116358, + "à¸Ħรà¸Ńà¸ĩ": 116359, + "Âħ": 116360, + "Ġhoá": 116361, + "ĠдоволÑĮно": 116362, + "Ġolmaz": 116363, + "ĠpodmÃŃnky": 116364, + "ĠÑħозÑıй": 116365, + "æĻ´": 116366, + "ÑĢова": 116367, + "Ġlược": 116368, + "ानन": 116369, + "ĠкапиÑĤ": 116370, + "ĠÚĺØ§ÙĨ": 116371, + "æľīäºĽ": 116372, + "ĠповеÑĢÑħноÑģÑĤи": 116373, + "ĠÑĨÑĸн": 116374, + "üyle": 116375, + "Ġjazy": 116376, + "ĠPhú": 116377, + "Ġसन": 116378, + "åĩºåĶ®": 116379, + "ÂłÐ´": 116380, + "ĠãĤ¯": 116381, + "çͱäºİ": 116382, + "à¥įपत": 116383, + "ĠاÙĦخاÙħ": 116384, + "ĠاصÙĦاØŃ": 116385, + "ĠتÛĮ": 116386, + "Ġtato": 116387, + "å¹¹": 116388, + "æ³½": 116389, + "à¸Ńà¸ģà¸Īาà¸ģ": 116390, + "ÑĥлÑİ": 116391, + "ĠвÑģп": 116392, + "mekte": 116393, + "à¥Ģफ": 116394, + "ĠÚĺÙĪØ¦": 116395, + "Ġlá»ĩnh": 116396, + "âĢĮکرد": 116397, + "íı¬ì¸ł": 116398, + "anki": 116399, + "Ġëĵ±ë¡ĿëĮĢíĸī": 116400, + "ĠãĤĿ": 116401, + "Ġارزش": 116402, + "Ġthú": 116403, + "Ġấn": 116404, + "è¡Į为": 116405, + "ĠÑģнова": 116406, + "꾸": 116407, + "Ġsouhlas": 116408, + "Ġвозв": 116409, + "ÏģÎŃÏĢει": 116410, + "ĠнÑĸÑĩого": 116411, + "нож": 116412, + "ÑĤик": 116413, + "ãģ©ãģĵ": 116414, + "ĠоÑģнове": 116415, + "ãĤ¥": 116416, + "à¸Ľà¸£à¸°à¸Īำ": 116417, + "Ġà¸Ĺà¸Ńà¸ĩ": 116418, + "Ġeksik": 116419, + "ĠÙĦØ¥": 116420, + "ãģĭãģ®": 116421, + "Ġãģª": 116422, + "-प": 116423, + "Ïģει": 116424, + "ĠìłĦ문": 116425, + "าà¸ģล": 116426, + "βε": 116427, + "íĬ¹ë³Ħ": 116428, + "íķĺë©´ìĦľ": 116429, + "à¸Ħà¹Ĥà¸Ļà¹Ĥลย": 116430, + "Ġ好": 116431, + "Ġyayım": 116432, + "ë§ĮëĤ¨": 116433, + "ĠкиÑģлоÑĤ": 116434, + "ĠÑįнеÑĢг": 116435, + "çĸ¾": 116436, + "Ġدش": 116437, + "Ġsoruml": 116438, + "Ġзаклад": 116439, + "à¸Ĭà¸Ńà¸ļ": 116440, + "ĠÙ쨱ÙĩÙĨÚ¯ÛĮ": 116441, + "Ġà¤ıल": 116442, + "Ġë¹ĦêµIJ": 116443, + "lerce": 116444, + "ĠØ·ÙĦب": 116445, + "ãģ«ãģĹãģ¦": 116446, + "ĠÑıкоÑĹ": 116447, + "ĠاÙĦبتÙĩ": 116448, + "ĠÐľÐ°ÑĤ": 116449, + "åįĵ": 116450, + "Ġåħ¬åı¸": 116451, + "Ġsöyley": 116452, + "ĠìĥĪë¡ľìļ´": 116453, + "ĠÑĦаÑĢ": 116454, + "Ġaltına": 116455, + "Ġstavu": 116456, + "âĢĻı": 116457, + "alizace": 116458, + "ĠвиÑģÑĤÑĥп": 116459, + "æķĻå¸Ī": 116460, + "à¥Ģà¤ıस": 116461, + "odÄĽ": 116462, + "ĠÑĨÑĸл": 116463, + "ĠëĮĢìĥģ": 116464, + "ĠкоÑĤоÑĢом": 116465, + "ĠظرÙģ": 116466, + "éİ®": 116467, + "اÙģÙĬØ©": 116468, + "ĠìĹĨìĿ´": 116469, + "ĠμÏĮνο": 116470, + "ĠCÆ¡": 116471, + "寻": 116472, + "ÏĦιÏĥ": 116473, + "ĠãĤĦ": 116474, + "Ġjednoho": 116475, + "اا": 116476, + "etler": 116477, + "Ġवस": 116478, + "ĠÑĢазлиÑĩнÑĭÑħ": 116479, + "ĠجغراÙģ": 116480, + "Ġthừa": 116481, + "ĠгÑĢомадÑıн": 116482, + "॰": 116483, + "ĠاÙĦأخ": 116484, + "ĠнагÑĢÑĥз": 116485, + "績": 116486, + "à¥Ĥह": 116487, + "ĠпÑĢÑıмо": 116488, + "âĬ": 116489, + "ĠاÙĦØ£ÙĪÙĦÙī": 116490, + "æĸ°èģŀ": 116491, + "ĠìĥģíĻ©": 116492, + "itesi": 116493, + "ëį°ìĿ´íĬ¸": 116494, + "æŃ·": 116495, + "ï¼ĮèĢĮä¸Ķ": 116496, + "ãģ¯ãģļ": 116497, + "产çĶŁ": 116498, + "æ°ĹãģĮ": 116499, + "yslu": 116500, + "ìĸ´ëĤĺ": 116501, + "اکÙħ": 116502, + "âĢĥ": 116503, + ")ìĿĢ": 116504, + "ĠجستارÙĩاÛĮ": 116505, + "ÙĪØ«": 116506, + "ãħİ": 116507, + "Ġkavram": 116508, + "vál": 116509, + "æľŃ": 116510, + "æĤł": 116511, + "ìħĢ": 116512, + "hrad": 116513, + "ĠتÙĥÙĪÙĨ": 116514, + "ĠHòa": 116515, + "å¹´çļĦ": 116516, + "Ġçarp": 116517, + "Ġyolu": 116518, + "Ġdubna": 116519, + "ĠÐĴелик": 116520, + "Ġtôn": 116521, + "æķĮ": 116522, + "Ġcoi": 116523, + "Ġnakonec": 116524, + "ĠÑįÑĤÑĥ": 116525, + "íĨµëł¹": 116526, + "ÑĪел": 116527, + "Ġnebyl": 116528, + "inç": 116529, + "باÙĦØ¥ÙĨجÙĦÙĬزÙĬØ©": 116530, + "A": 116531, + "онÑĮ": 116532, + "ĠнемаÑĶ": 116533, + "Ġê³łê°Ŀ": 116534, + "ĠÙĤطع": 116535, + "ĠÑĤеÑĢиÑĤоÑĢÑĸÑĹ": 116536, + "人ãģ¯": 116537, + "ĠΣα": 116538, + "éĤ£äºĽ": 116539, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 116540, + "iosper": 116541, + "íĤ¨": 116542, + "raki": 116543, + "اÛĮج": 116544, + "ÂłC": 116545, + "ĠаналÑĸз": 116546, + "ãĤıãĤĬ": 116547, + "ĠìķĦëĭĮ": 116548, + "ĠاÙĦعÙħÙĦÙĬØ©": 116549, + "lament": 116550, + "黨": 116551, + "ujÃŃcÃŃm": 116552, + "Ġrẻ": 116553, + "ä¸įåΰ": 116554, + "Ġrezerv": 116555, + "ĠاÙĦذÙĬÙĨ": 116556, + "æĭ¥": 116557, + "Ðĺн": 116558, + "Ġतहत": 116559, + "resi": 116560, + "Ġãĥ¢": 116561, + "лев": 116562, + "ãĢĢr": 116563, + "Ġä»Ĭ": 116564, + "Ġödem": 116565, + "Ġpotrav": 116566, + "ĠêµIJìĪĺ": 116567, + "ÑĢеди": 116568, + "ĠÎļÎijÎĻ": 116569, + "ĠнаÑĩала": 116570, + "Ġизб": 116571, + "ĠbÅĻezna": 116572, + "Ġledna": 116573, + "ÑĢÑĥÑİÑĤ": 116574, + "ĠмоÑĤ": 116575, + "åıĹåΰ": 116576, + "ĠÑĢÑĥкÑĥ": 116577, + "Ỽm": 116578, + "adele": 116579, + "ĠÑĢозглÑı": 116580, + "åħIJ": 116581, + "ĠرÙĪØ§ÙĨ": 116582, + "аков": 116583, + "ÑĥÑĢÑĭ": 116584, + "Ġazal": 116585, + "ĠÑĥкÑĢа": 116586, + "пион": 116587, + "ĠÄįlovÄĽ": 116588, + "äºĮäºĮäºĮäºĮ": 116589, + "ابÙĬ": 116590, + "Ġaslında": 116591, + "ë¹Ī": 116592, + "ĠвÑĢаÑĩ": 116593, + "룹": 116594, + "ĠгенеÑĢа": 116595, + "à¸ģารส": 116596, + "ĠÑģовÑģем": 116597, + "ÙĪÙĦا": 116598, + "Ġशब": 116599, + "ाà¤ĸण": 116600, + "ستاÙĨÛĮ": 116601, + "æĬ½": 116602, + "Ġrůz": 116603, + "ĠíĮIJ매": 116604, + "à¸ģารà¸ķ": 116605, + "ائÛĮ": 116606, + "asal": 116607, + "ĠÑĢабоÑĤÑĥ": 116608, + "à¥ĭलन": 116609, + "Ġ马": 116610, + "Ġlai": 116611, + "ói": 116612, + "vap": 116613, + "ëħĦìĹIJëĬĶ": 116614, + "ĠпеÑĢедбаÑĩ": 116615, + "ĠплеÑĩ": 116616, + "iddet": 116617, + "ĠÑĩоÑĢ": 116618, + "iyan": 116619, + "ãĢĢãĢĢãĢĢãĢĢãĢĢĠãĢĢ": 116620, + "ĠØŃرÙģÙĩ": 116621, + "大éĺª": 116622, + "Ñĩого": 116623, + "Ġки": 116624, + "اÙĪÙĬ": 116625, + "ĠbaÅŁlan": 116626, + "Ġmerkezi": 116627, + "©©": 116628, + "Ġراست": 116629, + "ĠëĬĶ": 116630, + "ĠÑģÑĢав": 116631, + "ĠвнÑĥÑĤÑĢи": 116632, + "ãĢĢãĥİ": 116633, + "åĿĽ": 116634, + "ĠвÑĤ": 116635, + "::/": 116636, + "ĠsözleÅŁ": 116637, + "ĠverdiÄŁi": 116638, + "ิยม": 116639, + "ĠÐŁÑĢоÑĤ": 116640, + "Ùĥار": 116641, + "ĠبÙĨدÛĮ": 116642, + "ÙıÙĪ": 116643, + "缴æĴŃ": 116644, + "ĠÙħÙĦÙĬ": 116645, + "Ġnutné": 116646, + "ะà¹ģà¸Ļà¸Ļ": 116647, + "ĠMã": 116648, + "Ġì´": 116649, + "à¹Īาม": 116650, + "моÑģ": 116651, + "ĠпоÑıви": 116652, + "Ġnghi": 116653, + "ĠëIJĺëĬĶ": 116654, + "Ñģклад": 116655, + "à¤Ĺल": 116656, + "ĠCá»Ļng": 116657, + "çŁ¥è¯Ĩ": 116658, + "Ġtaj": 116659, + "Ġعبر": 116660, + "éĻĦè¿ij": 116661, + "Ã¼ÄŁ": 116662, + "Ġê³µê³ł": 116663, + "è£ķ": 116664, + "âĢĮØ´ÙĨ": 116665, + "Ġgerçekten": 116666, + "nun": 116667, + "ÙħØ´": 116668, + "ê°ĢëĬ¥": 116669, + "ãĥ©ãĥ³ãĥī": 116670, + "ayacak": 116671, + "åįģä¸Ģ": 116672, + "ĠBảo": 116673, + "Ġyeterli": 116674, + "živ": 116675, + "ĠÙĬÙĨاÙĬر": 116676, + "Ġbýval": 116677, + "ìĽĶê¹Įì§Ģ": 116678, + "Ġnợ": 116679, + "Ġê´Ģê³Ħ": 116680, + "ĠíĿ¬": 116681, + "аÑİÑĤÑĮ": 116682, + "Ġgötür": 116683, + "Ġважно": 116684, + "浩": 116685, + "ĠìĿ¼ë¶Ģ": 116686, + "ÑĨÑĸйний": 116687, + "ëł¥ìĿĦ": 116688, + "ĠлеÑĩение": 116689, + "éĸ¢ä¿Ĥ": 116690, + "ĠTüm": 116691, + "ìĻĶ": 116692, + "éģĹ": 116693, + "ĠDön": 116694, + "ĠÑģпÑĸлÑĮ": 116695, + "ãĥģãĤ§": 116696, + "нÑıеÑĤÑģÑı": 116697, + "iltere": 116698, + "ĠíĮĢ": 116699, + "è¨Ńå®ļ": 116700, + "Ġrodin": 116701, + "ĠاÙĤتصاد": 116702, + "алÑĮне": 116703, + "à¥įà¤ķर": 116704, + "ĠvýbÄĽ": 116705, + "Ġtehlik": 116706, + "âĶIJ": 116707, + "ĠçͰ": 116708, + "ÏģίÏĤ": 116709, + "iyel": 116710, + "Ġthiá»ĩu": 116711, + "ÏĪηÏĤ": 116712, + "Ġдве": 116713, + "ĠElekt": 116714, + "à¸ģà¸İ": 116715, + "оÑĢÑĥж": 116716, + "aÅŁÄ±": 116717, + "詳細": 116718, + "ĠاتÙ쨧ÙĤ": 116719, + "Ġgắn": 116720, + "æ²Ĵæľī": 116721, + "ĠÙħطاÙĦعÙĩ": 116722, + "ÏĦιν": 116723, + "Ġokres": 116724, + "Ñľ": 116725, + "ê°Ķëĭ¤": 116726, + "ÐłÐ¾Ð·": 116727, + "å¾ĭ宾": 116728, + "ï¼īï¼Ī": 116729, + "Ġìļ´ìĺģìŀIJ": 116730, + "ãĤ«ãĥĨ": 116731, + "laÄį": 116732, + "à¥ĩबस": 116733, + "ĠoÄįi": 116734, + "-б": 116735, + "elerden": 116736, + "kových": 116737, + "Ġİzmir": 116738, + "สมาà¸Ĭ": 116739, + "ladatel": 116740, + "Ġæ»": 116741, + "éĶĢåĶ®": 116742, + "ĠдоÑģлÑĸдженнÑı": 116743, + "ĠлÑĸкаÑĢ": 116744, + "Ġоднако": 116745, + "ĠVác": 116746, + "Ġè«": 116747, + "é̲è¡Į": 116748, + "以å¤ĸ": 116749, + "é³¥": 116750, + "ĠÙĨج": 116751, + "ĠbaÅŁkan": 116752, + "ĠopatÅĻenÃŃ": 116753, + "ارش": 116754, + "ضاÙ쨩": 116755, + "ãĤ¹ãĥ¬": 116756, + "ήν": 116757, + "ÄĽtÃŃ": 116758, + "วย": 116759, + "ĠرسÙĪÙĦ": 116760, + "ÅĻich": 116761, + "ĠpÅĻih": 116762, + "ÑĮми": 116763, + "çĦ¶èĢĮ": 116764, + "Ġthẳng": 116765, + "lamaz": 116766, + "ÙĢÙĢÙĢ": 116767, + "Ġì°¸ìŬ": 116768, + "ĠÙĨÙĪØ´ØªÙĩ": 116769, + "ĠÑģÑĤек": 116770, + "ãģ®ãģ¿": 116771, + "ĠÙĪØ§ÙĦع": 116772, + "æķ¢": 116773, + "à¥Ģà¤Ĥ,": 116774, + "ÐŀÑģнов": 116775, + "имоÑģÑĤи": 116776, + "ĠÄĮeská": 116777, + "ÑĸÑĩний": 116778, + "ามารà¸ĸ": 116779, + "ekkür": 116780, + "Âłh": 116781, + "ικη": 116782, + "ĠتعÛĮÛĮÙĨ": 116783, + "коÑģÑĤÑĸ": 116784, + "ĠMustafa": 116785, + "Ġì¦ī": 116786, + "ãģ§ãģĤãĤĬ": 116787, + "å·¥ä¸ļ": 116788, + "ovÃŃd": 116789, + "ÐĿо": 116790, + "Ġسپس": 116791, + "Ú¯ÛĮرد": 116792, + "Ġпедагог": 116793, + "ĠکارÛĮ": 116794, + "ĠÑĪÑĤÑĥ": 116795, + "æĮĤ": 116796, + "Ø¢Ùħد": 116797, + "羣æĺ¯": 116798, + "Ġابت": 116799, + "ĠرئÛĮس": 116800, + "ĠدÛĮÙĨ": 116801, + "ÏĪε": 116802, + "Ġsezon": 116803, + "ĠçĨ": 116804, + "सन": 116805, + "ãĥ»ãĤ¢": 116806, + "ĠåħŃ": 116807, + "Ġè±": 116808, + "Ġìłľëª©": 116809, + "ĠÙħعد": 116810, + "ĠÙģÙĤد": 116811, + "éĤĬ": 116812, + "ΩΣ": 116813, + "Ġå¡": 116814, + "Ġobvyk": 116815, + "ĠìĿ´ëłĩê²Į": 116816, + "ĠбоÑĢоÑĤÑĮ": 116817, + "Û²Û±": 116818, + "Ġá»ijng": 116819, + "è¯Ĺ": 116820, + "ĠÄIJá»iji": 116821, + "ĠбеÑĢезнÑı": 116822, + "ĠsoÄŁ": 116823, + "Ġï¾į": 116824, + "ãĤĴãģ¤": 116825, + "ãģĹãĤĥ": 116826, + "еÑĢеÑĩ": 116827, + "ãĢĢãĢĢĠãĢĢĠãĢĢĠãĢĢ": 116828, + "æĪª": 116829, + "ĠاÙĦسعÙĪØ¯ÙĬØ©": 116830, + "ĠëĤ¨ìŀIJ": 116831, + "ĠAngiosper": 116832, + "????????????????": 116833, + "Ġprům": 116834, + "ĠплоÑīад": 116835, + "ĠÏĦÏģα": 116836, + "даÑİÑĤ": 116837, + "Ġsınav": 116838, + "Ġmặc": 116839, + "æ°´å¹³": 116840, + "ĠвиглÑı": 116841, + "Ġnást": 116842, + "ĠобÑĭÑĩ": 116843, + "ĠìĿ´ìķ¼ê¸°": 116844, + "ë¹Ľ": 116845, + "ĠBaÄŁ": 116846, + "ĠاÙĦثاÙĦØ«": 116847, + "Ġservis": 116848, + "Ġ룬": 116849, + "омина": 116850, + "ίθ": 116851, + "ĠẤ": 116852, + "경기": 116853, + "Ġ졸": 116854, + "ีà¸ļ": 116855, + "Ġà¤ĺà¤Łà¤¨": 116856, + "Ġà¸Ļาà¸ĩ": 116857, + ".Îł": 116858, + "ìķķ": 116859, + "rün": 116860, + "Ġonların": 116861, + "ĠзбÑĸлÑĮÑĪ": 116862, + "à¹ģà¸Ł": 116863, + "ĠìĹ¬ê¸°": 116864, + "ĠëĮĢíijľ": 116865, + "ĠÑģилÑĥ": 116866, + "à¹Ĥà¸Ľ": 116867, + "ĠتÙĤد": 116868, + "ĠÐŁÐ¾Ð¼": 116869, + "ĠмаÑģла": 116870, + "Ġìĺģìĥģ": 116871, + "нение": 116872, + "λαμβ": 116873, + "ĠByl": 116874, + "æĬµ": 116875, + "æİª": 116876, + "ĠκαθÏİÏĤ": 116877, + "mızı": 116878, + "æĸ°çļĦ": 116879, + "éĩįè¤ĩ": 116880, + "à¸±à¸Ľ": 116881, + "çŃĨ": 116882, + "ĠÑĤка": 116883, + "ĠзнаÑĩеннÑı": 116884, + "лаÑĤи": 116885, + "Ġvliv": 116886, + "ÐIJн": 116887, + "ĠÚĨاپ": 116888, + "ĠпиÑĤанÑĮ": 116889, + ":ï½ī": 116890, + "æķĻæİĪ": 116891, + "Ġì¹ľêµ¬": 116892, + "Ġtrao": 116893, + "à¥įयà¤ķत": 116894, + "ุà¸Ħà¸Ħล": 116895, + "ĠرÙĪØ´ÙĨ": 116896, + "ĠعÙĦÙĬÙĩا": 116897, + "ãĢģãģĦ": 116898, + "ëħĦìĹIJ": 116899, + "éĢĨ": 116900, + "Ġмагаз": 116901, + "ï¾ŀï¾ŀ": 116902, + "Ġsice": 116903, + "âĢĻte": 116904, + "ĠاÙĦÙĦغة": 116905, + "áu": 116906, + "èĩªèº«": 116907, + "ĠngÅ©": 116908, + "ĠÑģкладÑĥ": 116909, + "Ġzru": 116910, + "Ġtruy": 116911, + "Ġilan": 116912, + "ĠپاÛĮÙĩ": 116913, + "::::::::::::::": 116914, + "fak": 116915, + "ÑĤеÑħ": 116916, + "Ġtaky": 116917, + "Ġìĸ¸ìĸ´": 116918, + "edenÃŃ": 116919, + "Ġà¤ļलत": 116920, + "Ġë°°ìļ°": 116921, + "Ġjméno": 116922, + "ĠÙĦØ£ÙĨ": 116923, + "ανά": 116924, + "кÑĥлÑĮ": 116925, + "ĠØŃÙ쨏": 116926, + "ĠآزÙħÙĪÙĨ": 116927, + "иÑĤелÑĮнÑĭе": 116928, + "ĠÐŀлекÑģанд": 116929, + "èį£": 116930, + "Ġà¤ľà¤¬à¤ķ": 116931, + "Ġrodi": 116932, + "ĠبرخÙĪØ±Ø¯": 116933, + "Ġhafta": 116934, + "λικά": 116935, + "à¸ķà¸Ļ": 116936, + "ĠбеÑĢег": 116937, + "ανδ": 116938, + "-С": 116939, + "Ġpravidel": 116940, + "ĠбÑĸлÑı": 116941, + "íĴį": 116942, + "ĠпÑĢедÑĥÑģ": 116943, + "ĠмÑĥниÑĨип": 116944, + "åĮĸåѦ": 116945, + "ĠتÙħاس": 116946, + "Ġà¤īल": 116947, + "ÐĵÐŀ": 116948, + "غر": 116949, + "radan": 116950, + "ĠëĤĺìĺ¤": 116951, + "è¨Ĥ": 116952, + "à¹Ģà¸ĺà¸Ń": 116953, + "âĢĮسÛĮ": 116954, + "ĠобÑıзаÑĤелÑĮно": 116955, + "оÑĤе": 116956, + "à¹Įà¸Ĭ": 116957, + "ç͍çļĦ": 116958, + "Ġaltın": 116959, + "ĠÑģоÑĤÑĢÑĥд": 116960, + "Ñĸнки": 116961, + "озможно": 116962, + "ÎIJ": 116963, + "ë¹Į": 116964, + "Âķ": 116965, + "ĠÑĤоÑĩно": 116966, + "Ġjmen": 116967, + "اÙĦÛĮا": 116968, + "èĪį": 116969, + "chodu": 116970, + "곤": 116971, + "ickém": 116972, + "ĠÙħÙĪØ±": 116973, + "ãĥªãĥ³ãĤ¯": 116974, + "ĠaÅŁam": 116975, + "ĠиÑĤ": 116976, + "Ġनय": 116977, + "Ġμο": 116978, + "éķľ": 116979, + "ĠبÙĨابر": 116980, + "Ġتخصص": 116981, + "Ġสà¸ŀ": 116982, + "ĠпÑĢоÑĦеÑģÑģи": 116983, + "Ġpuan": 116984, + "ĠÙ쨱ÙħاÙĨ": 116985, + "ëĮĢíļĮ": 116986, + "ĠпÑıÑĤ": 116987, + "ĠÙħÙĪØ¨": 116988, + "ĠvÄĽku": 116989, + "Ġëĥ": 116990, + "ecký": 116991, + "ĠìĪĺëıĦ": 116992, + "Ġthao": 116993, + "Ġkapat": 116994, + "ĠзаÑħвоÑĢÑİ": 116995, + "Ġåħī": 116996, + "راÙĨÛĮ": 116997, + "éĢłæĪIJ": 116998, + "ĠÑģвÑĸй": 116999, + "ĠдоÑģиÑĤÑĮ": 117000, + "Ġmilyar": 117001, + "Ġenerji": 117002, + "Ġкип": 117003, + "Ġì¢ĭìķĦ": 117004, + "Ġبإ": 117005, + "ê²Įìĭľ": 117006, + "ĠLưu": 117007, + "ĠÙħÙĨظÙĪØ±": 117008, + "Ïīμά": 117009, + "ζί": 117010, + "ımda": 117011, + "ĠìĿ´ë¥¼": 117012, + "à¹Ĵ": 117013, + "Ġвваж": 117014, + "Ġgazet": 117015, + "à¥įतन": 117016, + "à¹īำหà¸Ļ": 117017, + "åľŁåľ°": 117018, + "Ġसदस": 117019, + "تبة": 117020, + "ĠpoÄįÃŃta": 117021, + "ĠìĭľìĬ¤íħľ": 117022, + "รà¸Ħ": 117023, + "Ġedecek": 117024, + "ĠتØŃÙĦÛĮÙĦ": 117025, + "æĮīçħ§": 117026, + "åĿª": 117027, + "Ġê·¸ê°Ģ": 117028, + "تÙĩÙħ": 117029, + "Ġбаж": 117030, + "اÙ쨹": 117031, + "éĢļ常": 117032, + "ĠТи": 117033, + "γνÏī": 117034, + "ì¹Ļ": 117035, + "Ġznamená": 117036, + "\\": 117037, + "αÏĢÏĮ": 117038, + "åĨĻ羣": 117039, + "Ġï¼¼Ċ": 117040, + "åĬłå·¥": 117041, + "èĤ¡ä»½æľīéĻIJåħ¬åı¸": 117042, + "ÑıÑĤий": 117043, + "Ġhâl": 117044, + "Ġçab": 117045, + "ĠØŃاضر": 117046, + "PÅĻ": 117047, + "ĠاÙĦتÙĤ": 117048, + "ξηÏĤ": 117049, + "бе": 117050, + "Ġkhám": 117051, + "ĠâĮĴ": 117052, + "Ġéķ¿": 117053, + "Ġâ̦Ċ": 117054, + "दम": 117055, + "ĠStudi": 117056, + "Ġkodu": 117057, + "Ġkomunik": 117058, + "Ġkatkı": 117059, + "nete": 117060, + "Ġrapor": 117061, + "éĨ´": 117062, + "ãĤīãģĽ": 117063, + "ĠнеÑģколÑĮ": 117064, + "Ġhá»įp": 117065, + " ̄ ̄ ̄": 117066, + "º¼": 117067, + "è£Ĥ": 117068, + "едÑĮ": 117069, + "ĠاÙĦاØŃ": 117070, + "ladık": 117071, + "ĠfotoÄŁraf": 117072, + "æĹ¥ãģ®": 117073, + "ĠØŃاÙĦت": 117074, + "ĠØ«ÙĦاث": 117075, + "аÑĤов": 117076, + "eyse": 117077, + "Ġê°IJìĤ¬": 117078, + "áže": 117079, + "Ġнада": 117080, + "Ġà¤ķहन": 117081, + "ĠãĥĿ": 117082, + "ãģ«ãģĤãĤĭ": 117083, + "ãģ«ãģªãģ£ãģ¦": 117084, + "ÙĪØ¯Ùĩ": 117085, + "ĠpoÅ¡k": 117086, + "太éĺ³åŁİ": 117087, + "ç»ıéªĮ": 117088, + "æĴѿ;": 117089, + "Ġmajet": 117090, + "Ñħо": 117091, + "ĠÑĤеÑģÑĤ": 117092, + "ï¼ıĊ": 117093, + "ÏĥεÏĦε": 117094, + "ĠТомÑĥ": 117095, + "ÙİØŃ": 117096, + "ĠìŀĪìľ¼ë©°": 117097, + "ĠзазнаÑĩ": 117098, + "éļIJ": 117099, + "ĠдÑĸÑĹ": 117100, + "кÑĤив": 117101, + "ÙĪÙģÙĬ": 117102, + "Ġtá»Ŀ": 117103, + "à¸¹à¸Ľà¹ģà¸ļà¸ļ": 117104, + "ĠÑĢедак": 117105, + "ĠateÅŁ": 117106, + "Ġkhiá»ĥn": 117107, + "üny": 117108, + "ียà¸ģ": 117109, + "ĠÑĩаÑīе": 117110, + "Ġtuy": 117111, + "γÏīν": 117112, + "รà¸Ńà¸ļ": 117113, + "Ġtrùng": 117114, + "à¹ģà¸Ĺà¸Ļ": 117115, + "ĠακÏĮ": 117116, + "ĠÐĴеÑĢÑħов": 117117, + "à¹ĥà¸Ļส": 117118, + "ãĢģä½ķ": 117119, + "åĩ¦": 117120, + "Ġç»ı": 117121, + "æ¨ĵ": 117122, + "اÙĨÚ¯ÙĦÛĮسÛĮ": 117123, + "ĠlepÅ¡ÃŃ": 117124, + "Ġå¼Ģå§ĭ": 117125, + "éĻº": 117126, + "ĠÑĩеÑĤÑĭ": 117127, + "ĠСеÑĢ": 117128, + "оÑİз": 117129, + "Ġxung": 117130, + "åĵģçīĮ": 117131, + "Ġìĥģíĥľ": 117132, + "ĠÙĨصب": 117133, + "ĠÑĩомÑĥ": 117134, + "ĠترکÛĮ": 117135, + "-ли": 117136, + "ovÃŃ": 117137, + "ĠاÙĨج": 117138, + "絡": 117139, + "ĠتÙĪØµ": 117140, + "Ġì¿ł": 117141, + "Ġvarsa": 117142, + "ĠÑĢазÑĢабоÑĤ": 117143, + "à¸Ĥà¸Ńà¸ĩà¸Ħ": 117144, + "éŃĤ": 117145, + "Ġà¤Ĭपर": 117146, + "æĿ¥è¯´": 117147, + "ĠÑĨенÑĤÑĢалÑĮ": 117148, + "ĠTakım": 117149, + "Ġonlar": 117150, + "Ġسرعت": 117151, + "好åĥı": 117152, + "Ġbuá»ķi": 117153, + "ĠÐijел": 117154, + "Âłc": 117155, + "أت": 117156, + "à¸Ĥà¸ĵะ": 117157, + "ãģ«åĩº": 117158, + "Ġ+**************": 117159, + "ÏĦηκε": 117160, + "اجر": 117161, + "Ġâ̲": 117162, + "ãĥ¼ãĥ¬": 117163, + "é¥Ń": 117164, + "ĠجÙĦس": 117165, + "ĠبستÙĩ": 117166, + "วาà¸ĩ": 117167, + "Ġβά": 117168, + "ĠамеÑĢикан": 117169, + "ĠPremi": 117170, + "mae": 117171, + "ĠÑģÑĢеди": 117172, + "áºł": 117173, + "ĠвÑĢед": 117174, + "ãĢĤèĢĮ": 117175, + "åĴ²": 117176, + "Ġê³µê°ľ": 117177, + "èĤ¥": 117178, + "звиÑĩай": 117179, + "Ġprocent": 117180, + "илоÑģÑĮ": 117181, + "शन": 117182, + "éłģ": 117183, + "екÑĤи": 117184, + "داشت": 117185, + "íķĻíļĮ": 117186, + "ãĢĢãĢĢãĢĢĠãĢĢĠãĢĢ": 117187, + "ĠÙħدÙĬÙĨØ©": 117188, + "िलन": 117189, + "ĠèĹ": 117190, + "миÑĢ": 117191, + "ĠноÑĢ": 117192, + "Ġíķĺì§Ģ": 117193, + "веÑī": 117194, + "nÄĽm": 117195, + "еÑĢами": 117196, + "Ġpracov": 117197, + "ĠبÙĬاÙĨات": 117198, + "ĠÏĥÏįν": 117199, + "Ġجذ": 117200, + "ãģĦãģ§": 117201, + "ĠBÃŃ": 117202, + "è±Ĩ": 117203, + "Ġhmot": 117204, + "ileceÄŁi": 117205, + "Ġتاث": 117206, + "è´´": 117207, + "Ġê¸ī": 117208, + "Ġmysl": 117209, + "ĠìĿ´íķ´": 117210, + "Ġ기ëĬ¥": 117211, + "ĠТам": 117212, + "ĠнаÑģелениÑı": 117213, + "ĠMez": 117214, + "Ġ모르": 117215, + "íĻĶ를": 117216, + "ĠÙĨسخÙĩ": 117217, + "ĠتÙĦÙĪÛĮزÛĮ": 117218, + "ĠÄįervna": 117219, + "ưỡng": 117220, + "صØŃ": 117221, + "ĠÑĤÑĢен": 117222, + "Õ¡": 117223, + "Ġcelou": 117224, + "Å©i": 117225, + "ìĹĨìĿ´": 117226, + "nÃŃku": 117227, + "Ġprogramu": 117228, + "à¥įपन": 117229, + "ĠпÑĢеж": 117230, + "ارب": 117231, + "æľŁéĸĵ": 117232, + "Ġμά": 117233, + "ëįĶëĭĪ": 117234, + "ụn": 117235, + "ĠпеÑĢеÑģÑĤ": 117236, + "对äºİ": 117237, + "è¿IJè¡Į": 117238, + "ĠÑĤан": 117239, + "ĠìĤ¬ìĿ´íĬ¸": 117240, + "ĠQuảng": 117241, + "ĠstojÃŃ": 117242, + "ãĥŃãĥ¼": 117243, + "گار": 117244, + "ĠенеÑĢг": 117245, + "Ġkterým": 117246, + "ĠпÑĢимÑĸ": 117247, + "ĠкаÑĢÑĤи": 117248, + "Ġzengin": 117249, + "ï¼ĮåĨį": 117250, + "Ġترب": 117251, + "ĠÑĨенÑĤÑĢ": 117252, + "ĠsaÄŁlamak": 117253, + "ëĭĿ": 117254, + "ãģ®åŃIJ": 117255, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 117256, + "ĠsÆ¡n": 117257, + "zı": 117258, + "ÑĤаки": 117259, + "ÄĽstÃŃ": 117260, + "Ġà¥": 117261, + "é®": 117262, + "åŁ¹è®Ń": 117263, + "Ġì͍": 117264, + "Ġbelki": 117265, + "ĠìĿ´ë²¤íĬ¸": 117266, + "ëĶĶìĸ´": 117267, + "ĠsÃłn": 117268, + "никам": 117269, + "alim": 117270, + "å¯¾å¿ľ": 117271, + "ĠSá»±": 117272, + "éģĵè·¯": 117273, + "é«ĺæ¸ħ": 117274, + "Ġdõi": 117275, + "ĠÙĦÙĢ": 117276, + "ĠèĤ¡": 117277, + "νι": 117278, + "âĢŀJ": 117279, + "'nde": 117280, + "ÎijÎĵ": 117281, + "ãģ¨ãģªãĤĭ": 117282, + "çΏ": 117283, + "عÙĦÛĮ": 117284, + "ÏģιÏĥÏĦ": 117285, + "ĠeÄŁit": 117286, + "ĠзовнÑĸÑĪ": 117287, + "ĠпÑĢим": 117288, + "سÙħبر": 117289, + "ĠmÄĽstÄĽ": 117290, + "ĠÏĢεÏģιÏĥÏĥÏĮÏĦε": 117291, + "ÐIJÐł": 117292, + "æĦŁåΰ": 117293, + "Ġ문ìĦľ": 117294, + "ãģĭãĤĭ": 117295, + "ÙĤÙĬÙĤØ©": 117296, + "ĠвÑĤÑĢа": 117297, + "Ġà¸Ńำ": 117298, + "ÑģкÑĥÑİ": 117299, + "دÙĩاÛĮ": 117300, + "Ġİst": 117301, + "ĠÐĹав": 117302, + "Ġéĥ½": 117303, + "ÑĪем": 117304, + "ĠеÑīÑij": 117305, + "ĠÐľÐ¸Ñħай": 117306, + "ĠÑĥпÑĢавлениÑı": 117307, + "леннÑĭе": 117308, + "ĠzaÄįal": 117309, + "æ¡Į": 117310, + "ĠпÑĸз": 117311, + "лÑıÑĤÑĮÑģÑı": 117312, + "ĠìŀIJë£Į": 117313, + "ãĢĢãĢĢĠ": 117314, + "ĠKral": 117315, + "èĪī": 117316, + "Ġà¤Ńव": 117317, + "ĠØ®Ùħ": 117318, + "Ġакадем": 117319, + "Ġisten": 117320, + "ĠиÑģкÑĥÑģ": 117321, + "ĠعÙĨدÙħا": 117322, + "ĠاÙĦاÙħ": 117323, + "ismus": 117324, + "Ġayrıntı": 117325, + "ĠЩо": 117326, + "ĠÙĩÙĪØ´": 117327, + "دÙĪØ§Ø¬": 117328, + "лаж": 117329, + "ĠÚ©ÙĨار": 117330, + "ÂłR": 117331, + "æĢ§çļĦ": 117332, + "ÑģÑĸм": 117333, + "ĠMüz": 117334, + "ÑĢовиÑĩ": 117335, + "ĠΩ": 117336, + "Ġìĸ´ëĶĶ": 117337, + "سÙħØ©": 117338, + "ĠÑĢÑı": 117339, + "Ġtươi": 117340, + "ĠÑĢаÑģÑħод": 117341, + "åı°çģ£": 117342, + "ĠاÙĦÙĪÙĤت": 117343, + "براÛĮ": 117344, + "ĠзÑĢобиÑĤи": 117345, + "ĠбÑĥÑĢ": 117346, + "ĠÄįinnosti": 117347, + "ĠصاØŃ": 117348, + "ĠصÙĨعت": 117349, + "ĠØ·ÙĦ": 117350, + "ξÏį": 117351, + "ĠtisÃŃc": 117352, + "ĠFransa": 117353, + "ì¦ĺ": 117354, + "軽": 117355, + "Ñĺ": 117356, + "ÏĮÏĦηÏĦαÏĤ": 117357, + "ĠMillet": 117358, + "ãĢĢãĥ¾": 117359, + "ĠпÑĢием": 117360, + "ĠترجÙħÙĩ": 117361, + "ĠسÙĪØ¯": 117362, + "ĠsouÄįástÃŃ": 117363, + "ÐĶо": 117364, + "Ġtrụ": 117365, + "è¶³çIJĥ": 117366, + "à¸Ľà¸ģ": 117367, + "Ġustanov": 117368, + "ÎŁÎĻ": 117369, + "Ðŀн": 117370, + "Ġнеж": 117371, + "ког": 117372, + "ä¸ĢçĤ¹": 117373, + "ĠدÙĪØ±Ø§ÙĨ": 117374, + "å½±éŁ¿": 117375, + "elidir": 117376, + "âĢŀN": 117377, + "esiyle": 117378, + "ÑĢеменно": 117379, + "ĠiletiÅŁim": 117380, + "มà¹Ģà¸ķ": 117381, + "以åīį": 117382, + "ãĥĭãĥ¼": 117383, + "éĽ»è©±": 117384, + "à¹Ĥà¸ŀ": 117385, + "ovky": 117386, + "ĠзамÑĸ": 117387, + "Ġवà¤ķ": 117388, + "ÂĻ": 117389, + "ĠвÑĸйни": 117390, + "Ġolmadıģı": 117391, + "æ¢ģ": 117392, + "ĠТеп": 117393, + "nÄĽte": 117394, + "èħķ": 117395, + "ìĤ¬ëĬĶ": 117396, + "mamak": 117397, + "Ġciz": 117398, + "æ£Ĵ": 117399, + "Ġï¼ı:": 117400, + "éģĭåĭķ": 117401, + "ĠÙĩÙĨا": 117402, + "Ġê°ij": 117403, + "ĠÙĩÙĨگاÙħ": 117404, + "ĠuÄŁra": 117405, + "彦": 117406, + "Ġobjekt": 117407, + "ãģ¨ãģĻãĤĭ": 117408, + "åĽ½åĨħ": 117409, + "ĠдеÑĢжави": 117410, + "ĠèĮ": 117411, + "Ġuluslararası": 117412, + "Ù£": 117413, + "Ġmutlak": 117414, + "Ġзобов": 117415, + "Ġγεν": 117416, + "à¹Ħà¸Łà¸Ł": 117417, + "Ġözgür": 117418, + "íĦ¸": 117419, + "ĠвипадкÑĥ": 117420, + "Ġà¤ķब": 117421, + "ĠاÙĦخط": 117422, + "θηκαν": 117423, + "ï¼ĮæĬĬ": 117424, + "ÑıÑĤÑĤÑı": 117425, + "Ġolmadıģını": 117426, + "ÂłkW": 117427, + "ĠnÄĽkterých": 117428, + "ãĥĩãĥ«": 117429, + "æ¤įçī©": 117430, + "μιλοÏĤ": 117431, + "ÐIJÑĢÑħÑĸв": 117432, + "ĠТо": 117433, + "èĸ¬": 117434, + "ÑģÑĤвиÑı": 117435, + "ĠØ®ÙĪØ§Ø³Øª": 117436, + "ологÑĸÑĹ": 117437, + "ÙĪØ§Ùĩد": 117438, + "Ġнак": 117439, + "ĠкоÑĤоÑĢÑĥÑİ": 117440, + "Ġदà¤ķ": 117441, + "âĢŀM": 117442, + "λια": 117443, + "æŃ²": 117444, + "ç¬¬åĽĽ": 117445, + "à¤¾à¤ľà¤¸": 117446, + "Ġ(«": 117447, + "Ġthẻ": 117448, + "、Ċ": 117449, + "ç£ģ": 117450, + "ĠÙĦÙĤ": 117451, + "ĠìķĶ": 117452, + "Ġнового": 117453, + "ĠìķĦ주": 117454, + "ĠëIJĺìĸ´": 117455, + "Ġolun": 117456, + "þ": 117457, + "Ġkariy": 117458, + "ĠØŃسب": 117459, + "ĠìĿĺ미": 117460, + ".Ðľ": 117461, + "ĠoznaÄį": 117462, + "ÙĦسÙĦ": 117463, + "ĠÐĴид": 117464, + "ë¡ľëĤĺ": 117465, + "à¥įà¤Łà¤®": 117466, + "íľ´": 117467, + "Ġbilgisayar": 117468, + "ìĿ¸ì§Ģ": 117469, + "Ġвов": 117470, + "nictvÃŃm": 117471, + "าà¸Ńย": 117472, + "ĠشخصÛĮ": 117473, + "пÑĸон": 117474, + "æľ¬å½ĵ": 117475, + "ĠبÙĢ": 117476, + "ĠмаÑģло": 117477, + "ĠPhát": 117478, + "Ġба": 117479, + "алÑĮномÑĥ": 117480, + "社åĮº": 117481, + "ĠÒ": 117482, + ":::|": 117483, + "ê´": 117484, + "Ġä¸ĥ": 117485, + "ĠÙĪØ§ÙĦد": 117486, + "нике": 117487, + "à¸Ńลล": 117488, + "ĠyerleÅŁ": 117489, + "Ġkombin": 117490, + "uÅ¡": 117491, + "ĠоÑĤÑĢи": 117492, + "ä¹Į": 117493, + "iÅŁti": 117494, + "Ġsóng": 117495, + "ληÏĤ": 117496, + "ĠкÑĥÑĢÑģ": 117497, + "à¹Īาà¸Ħ": 117498, + "ĠÙĬس": 117499, + "ĠداÙħ": 117500, + "çĴ°å¢ĥ": 117501, + "Ñĩенко": 117502, + "ãĢįãģ®": 117503, + "ĠmÃŃsta": 117504, + "ĠÑĦоÑĤ": 117505, + "ĠpÅĻÃŃzn": 117506, + "ĠÑĢаза": 117507, + "ç´«": 117508, + "láda": 117509, + "ĠÑģпеÑĨиалиÑģÑĤ": 117510, + "ĠبÛĮÙħارÛĮ": 117511, + "Ġëĵ£": 117512, + "çĭĹ": 117513, + "ÙĪÙĪ": 117514, + "анÑĸÑĤ": 117515, + "ĠدÙĨباÙĦ": 117516, + "ĠÙħجÙħÙĪØ¹Ø©": 117517, + "ÃŃna": 117518, + "ĠHalk": 117519, + "ájem": 117520, + "enÃŃze": 117521, + "Ġimz": 117522, + "«ng": 117523, + "ĠÎķÎł": 117524, + "ĠÙħÙĩد": 117525, + "ìľĦìĽIJíļĮ": 117526, + "Ġìľłíĺķ": 117527, + "ापस": 117528, + "Ġjež": 117529, + "анÑĸз": 117530, + "иÑĤай": 117531, + "á¿ĸ": 117532, + "irler": 117533, + "기ê°Ħ": 117534, + "ĠвоÑĢ": 117535, + "ĠÏİ": 117536, + "Ġpozn": 117537, + "ĠساÙĨ": 117538, + "寿": 117539, + "æĸ¯çī¹": 117540, + "Ġturist": 117541, + "ĠìŀIJìľł": 117542, + "à¥Ģà¤ĸ": 117543, + "μμε": 117544, + "ansı": 117545, + "ìĨĮëħĦ": 117546, + "Ġtedavi": 117547, + "ÑĩеÑģÑĤва": 117548, + "å£ĵ": 117549, + "ове": 117550, + "ï¼Įçľĭ": 117551, + "ĠпоÑģлÑĥг": 117552, + "ĠÑĤÑĢанÑģ": 117553, + "Ġzáz": 117554, + "æĪ´": 117555, + "Ġмона": 117556, + "ิà¹Ģà¸Ħราะห": 117557, + "ĠÙĨÛĮÙħ": 117558, + "ĠìĤ¬ëŀĮìĿ´": 117559, + "ahat": 117560, + "Ïħκ": 117561, + "ĠоÑĤказ": 117562, + "ĠÐĴолодими": 117563, + "ĠСк": 117564, + "िà¤ķत": 117565, + "å¦ĸ": 117566, + "Ġëĭ¤ìļ´ë¡ľëĵľ": 117567, + "ìĺģìĥģ": 117568, + "Ġनà¤Ī": 117569, + "cete": 117570, + "ĠгÑĢиб": 117571, + "eceÄŁini": 117572, + "ĠçoÄŁu": 117573, + "ĠмаÑĤеÑĢиала": 117574, + "ứt": 117575, + "Ġzaten": 117576, + "ĠFRA": 117577, + "ĠBirliÄŁi": 117578, + "Ġsitesi": 117579, + "ĠåĶ": 117580, + "ĠÐĴол": 117581, + "ÂłPS": 117582, + "ालत": 117583, + "ĠбаÑĩ": 117584, + "алÑĸзаÑĨÑĸÑĹ": 117585, + "ĠSlov": 117586, + "ç³ĸ": 117587, + "ĠговоÑĢиÑĤ": 117588, + "Ġввед": 117589, + "ุà¸ķà¸ļà¸Ńล": 117590, + "ãģĨãģ¡": 117591, + "Ġyaptık": 117592, + "Ġìłķì¹ĺ": 117593, + "ê°ľë¥¼": 117594, + "à¥Īसल": 117595, + "جÙĬÙĦ": 117596, + "ĠзаÑģÑĤоÑģов": 117597, + "è¿«": 117598, + "ĠKurul": 117599, + "ĠNasıl": 117600, + "ĠнапÑĢÑıм": 117601, + "Ġä½į": 117602, + "à¹Įà¸ļ": 117603, + "Ġéģĵ": 117604, + "Ġниже": 117605, + "ĠкоÑģÑĤ": 117606, + "ظÙĩر": 117607, + "Та": 117608, + "ì§Ŀ": 117609, + "Ġönünde": 117610, + "жÑĸ": 117611, + "ĠاجراÛĮ": 117612, + "ĠоÑĢганÑĸв": 117613, + "vise": 117614, + "ĠìĿĦ": 117615, + "à¸ķรà¸ĩ": 117616, + "Ú©ÙĨÙĪÙĨ": 117617, + "Ġdlouho": 117618, + "ÐŀÐĿ": 117619, + "Ġìľ¡": 117620, + "缮æłĩ": 117621, + "ë¯Ģë¡ľ": 117622, + "ï¼ıï¼ıï¼ıï¼ıï¼ıï¼ıï¼ıï¼ı": 117623, + "ĠпоÑĩемÑĥ": 117624, + "æķħäºĭ": 117625, + "ÑĤеÑģÑĮ": 117626, + "ĠÙĤÙĦب": 117627, + "ĠتجÙĩ": 117628, + "ilendir": 117629, + "ĠигÑĢа": 117630, + "ĠÐĶон": 117631, + "ĠpÅĻÃŃjem": 117632, + "è¦Ĩ": 117633, + "Сп": 117634, + "-ни": 117635, + "onse": 117636, + "иной": 117637, + "оÑĩного": 117638, + "اساÙĨ": 117639, + "ĠполÑĥÑĩиÑĤÑĮ": 117640, + "ÑĤап": 117641, + "ĠLý": 117642, + "ĠÃĤu": 117643, + "Ġhüc": 117644, + "ebek": 117645, + "ĠYayın": 117646, + "æĹĭ": 117647, + "ัà¸Ļà¸Ĺร": 117648, + "Ġвиконав": 117649, + "Ġsông": 117650, + "à¥ģà¤ľ": 117651, + "ĠÐĹаг": 117652, + "¤ëĭ¤": 117653, + "ĠcÅ©": 117654, + "ĠگرÙħ": 117655, + "ä¼ı": 117656, + "ãģ«ãģĻãĤĭ": 117657, + "-Ф": 117658, + "ĠÙĤÙħ": 117659, + "ĠolacaÄŁ": 117660, + "æĿ¥äºĨ": 117661, + "æĭĽèģĺ": 117662, + "ĠÐĿаÑģеленнÑı": 117663, + "Ġìĺģìĸ´": 117664, + "ĠæŃ¤": 117665, + "ĠبدÙĨ": 117666, + "Û²Û¸": 117667, + "оÑĢаÑĤив": 117668, + "ï¼³": 117669, + "Ġnebylo": 117670, + "ĠÑĥÑĩиÑĤ": 117671, + "æĿľ": 117672, + "ĠданÑĸ": 117673, + "ĠspotÅĻeb": 117674, + "ãĥ¼ãĥĨãĤ£": 117675, + "еннÑĥÑİ": 117676, + "ê¹ĮìļĶ": 117677, + "vem": 117678, + "PÅĻÃŃ": 117679, + "Ġyandan": 117680, + "é¼ĵ": 117681, + "ĠدستÙĪØ±": 117682, + "Ġhafif": 117683, + "hů": 117684, + "Ġváž": 117685, + "ĠìķĦì§ģ": 117686, + "Ùıر": 117687, + "Ġла": 117688, + "ëłī": 117689, + "à¸²à¸Ľà¸£à¸°": 117690, + "lıklar": 117691, + "ĠÑģÑĤандаÑĢÑĤ": 117692, + "à¸Ńà¹ĥห": 117693, + "奴": 117694, + "ĠоÑĤп": 117695, + "âĪł": 117696, + "ãĥ¼ãĥĢ": 117697, + "cháze": 117698, + "Ġê·¸ëłĩê²Į": 117699, + "ostel": 117700, + "ĠгалÑĥз": 117701, + "âk": 117702, + "еÑĨÑĤ": 117703, + "ëŀijìĬ¤": 117704, + "ĠÄįist": 117705, + "ÑĢана": 117706, + "Ġvững": 117707, + "Ġseni": 117708, + "Ġgóc": 117709, + "ÏĨÏĮ": 117710, + "ánu": 117711, + "Ġöt": 117712, + "Ġsóc": 117713, + "ãģĦãģ®": 117714, + "ĠÑģклада": 117715, + "ÐIJÑĢÑħÑĸвовано": 117716, + "ĠìĿ´ë²Ī": 117717, + "ãĤ¹ãģ®": 117718, + "ilebilir": 117719, + "ï½Ģãĥ½": 117720, + "ียà¸į": 117721, + "Ġκαὶ": 117722, + "Ġ믿": 117723, + "æĽ´å¤ļ": 117724, + "ısının": 117725, + "ĠGiám": 117726, + "æŃ£å¼ı": 117727, + "ÏĥμÏĮ": 117728, + "Ġarchit": 117729, + "Ġï½²": 117730, + "ÑĩаÑİÑĤÑģÑı": 117731, + "ë²Ħì§Ģ": 117732, + "ãĤ¤ãĥ¤": 117733, + "é«ĺæł¡": 117734, + "訳": 117735, + "ĠÙħÛĮÚ©": 117736, + "Ġæĥħ": 117737, + "Ġpha": 117738, + "太éĥİ": 117739, + "à¸ŀระราà¸Ĭ": 117740, + "ÙĤÙĬØ©": 117741, + "ĠÑĥлÑĥÑĩ": 117742, + "ÑģÑĤвÑĥеÑĤ": 117743, + "ĠkeÅŁ": 117744, + "é«ĺçŃī": 117745, + "ĠsỼm": 117746, + "Ïģκε": 117747, + "μοÏģ": 117748, + "Ġzástup": 117749, + "ozÃŃ": 117750, + "Ġmili": 117751, + "Ġмогли": 117752, + "ĠзÑĢозÑĥм": 117753, + "ĠباشÛĮد": 117754, + "Ġakci": 117755, + "ĠдÑĢа": 117756, + "ĠαÏģι": 117757, + "ãģĭãĤīãģ®": 117758, + "å¯Ĵ": 117759, + "ĠZaman": 117760, + "ĠÑĸде": 117761, + "ĠãĢĢĠ": 117762, + "Ġklu": 117763, + "aklı": 117764, + "à¥ĩà¤ļ": 117765, + "ĠÑģвобод": 117766, + "ساÙħ": 117767, + "Ġов": 117768, + "Ġubyt": 117769, + "éĩĩç͍": 117770, + "ĠdavranÄ±ÅŁ": 117771, + "ĠnabÃŃzÃŃ": 117772, + "ĠÐijÑĥд": 117773, + "ĠÏī": 117774, + "ĠاÙĦرØŃ": 117775, + "ัà¸ķà¸Ļ": 117776, + "име": 117777, + "ĠتÙĦÙĥ": 117778, + "تÙħع": 117779, + "ĠадминиÑģÑĤÑĢа": 117780, + "Ġzorunda": 117781, + "ĠÙĨسبة": 117782, + "ĠصÙĨعتÛĮ": 117783, + "ĠÑĦÑĥнда": 117784, + "éı¡": 117785, + "Ġpotom": 117786, + "ĠпÑĢеÑģÑĤ": 117787, + "Ġsırada": 117788, + "Ġayar": 117789, + "اÙĤÙĦ": 117790, + "溪": 117791, + "ĠØ¢ÙĤاÛĮ": 117792, + "ĠпеÑĢеÑħод": 117793, + "ĠпÑĢакÑĤиÑĩеÑģки": 117794, + "é»ĥ": 117795, + "ĠÑĥÑħод": 117796, + "ĠÙħتÙģ": 117797, + "Ġsiyasi": 117798, + "ĠпоÑĤен": 117799, + "ÙİÙģ": 117800, + "ĠÐĽÑĥ": 117801, + "ĠконÑĤÑĢолÑĮ": 117802, + "ĠÑģказаÑĤÑĮ": 117803, + "à¥Ģà¤ķरण": 117804, + "åħ¨çIJĥ": 117805, + "Û²Û¶": 117806, + "Ġtoto": 117807, + "ĠÙĪØ¯": 117808, + "ãĤ¿ãĤ¤ãĥĹ": 117809, + "åľį": 117810, + "å¼ķç͍": 117811, + "ï¼£": 117812, + "èĬ¸": 117813, + "ä»ĭç»į": 117814, + "ĠÑĤеÑĢÑĢиÑĤоÑĢии": 117815, + "æĹ¥ãģ«": 117816, + "mÃŃt": 117817, + "amız": 117818, + "ìĿ´ìĸ´": 117819, + "ĠyarÄ±ÅŁ": 117820, + "Ġgüc": 117821, + "ĠÏĩα": 117822, + "ัà¸Ļยายà¸Ļ": 117823, + "ãĤĴè¡Į": 117824, + "Ġmilli": 117825, + "Ġçı¾": 117826, + "Když": 117827, + "mazon": 117828, + "ë³´ëĤ´ê¸°": 117829, + "ĠÑĤÑĢÑĥдов": 117830, + "飾": 117831, + "Ġвиник": 117832, + "ĠÙĪØ²Ø§Ø±Øª": 117833, + "éĩĮçļĦ": 117834, + "маз": 117835, + "ĠRUS": 117836, + "екÑĤÑĥ": 117837, + "Ġعاش": 117838, + "Ġkonce": 117839, + "ãĤĪãģĨãģ§ãģĻ": 117840, + "ĠмалÑĭÑĪ": 117841, + "meni": 117842, + "еÑģа": 117843, + "اضÛĮ": 117844, + "Ġbrat": 117845, + "ĠвÑĸдноÑģ": 117846, + "θεÏģ": 117847, + "ĠЧем": 117848, + "æijĩ": 117849, + "ĠÙħادر": 117850, + "ç͍åĵģ": 117851, + "ĠÙħØŃاÙ쨏": 117852, + "ĠmyÅ¡": 117853, + "جع": 117854, + "Ġisim": 117855, + "æ³Ĭ": 117856, + "ılmaz": 117857, + "Ġμα": 117858, + "審": 117859, + "Ġayır": 117860, + "еними": 117861, + "à¥ĩहतर": 117862, + "åľĨ": 117863, + "ãģ¾ãģ£ãģŁ": 117864, + "çĶ¢åĵģ": 117865, + "ĠÑĸнÑĦоÑĢмаÑĨÑĸÑĹ": 117866, + "Ġtá»§": 117867, + "สมà¸ļ": 117868, + "ĠstÅĻ": 117869, + "Ġë°ľíijľ": 117870, + "аÑĢÑĮ": 117871, + "ĠCao": 117872, + "ΡÎĻ": 117873, + "à¸ģารà¸Ī": 117874, + "ĠподÑĥм": 117875, + "ä»ķäºĭ": 117876, + "ĠÐļÑĢоме": 117877, + "ĠìĹĶ": 117878, + "ĠÑĥда": 117879, + "ĠавÑĤомаÑĤи": 117880, + "Ġà¸Ħà¸ĵะ": 117881, + "ĠKiÅŁ": 117882, + "ĠÑģоÑģÑĤоÑıние": 117883, + "lisi": 117884, + "Ġëĸ¨ìĸ´": 117885, + "ootball": 117886, + "Ġíį¼": 117887, + "Ġлим": 117888, + "Ġçerç": 117889, + "ÙĪÙĦÙĬÙĪ": 117890, + "Ġslož": 117891, + "Ġ먼": 117892, + "รà¸Ńà¸ĩ": 117893, + "ÑĪее": 117894, + "â̦â̦â̦â̦â̦â̦â̦â̦â̦â̦â̦â̦â̦â̦â̦â̦": 117895, + "ãģĵãģ¡ãĤī": 117896, + "оÑĢÑĭ": 117897, + "çĥŁ": 117898, + "ÂłF": 117899, + "аного": 117900, + "Ø«ÛĮر": 117901, + "çıį": 117902, + "å¸Ĥåł´": 117903, + "vÄĽdom": 117904, + "첨ë¶Ģ": 117905, + "ĠìĤ¬ê±´": 117906, + "ï¾Į": 117907, + "à¹ĥà¸Ļว": 117908, + "Ġzvlášt": 117909, + "ÏĦεÏħ": 117910, + "Ġкакие": 117911, + "ÏĨοÏģά": 117912, + "åĦĦ": 117913, + "ĠzpÄĽt": 117914, + "íķľíħĮ": 117915, + "Ġzvol": 117916, + "ĠçĹ": 117917, + "ÑĢанениÑı": 117918, + "ĠسÛĮاست": 117919, + "ĠÐļоли": 117920, + "ĠоÑĢганизма": 117921, + "ĠÑıнваÑĢÑı": 117922, + "ĠدادÙĨ": 117923, + "пÑĢа": 117924, + "ï¼Įä»ĸ们": 117925, + "æijĺè¦ģ": 117926, + "Ġquần": 117927, + "ÙĬÙĪÙĨ": 117928, + "ĠвиÑħов": 117929, + "Âłà¹Ģà¸Ķ": 117930, + "Ġелем": 117931, + "ebilecek": 117932, + "ĠдоÑĩ": 117933, + "Ġблаг": 117934, + "ĠÑıй": 117935, + "adnÃŃ": 117936, + "ĠzároveÅĪ": 117937, + "enstvÃŃ": 117938, + "âĢĮاÙĨ": 117939, + "ãģķãĤĵãģ¯": 117940, + "/|": 117941, + "ĠاÙĦعاÙħØ©": 117942, + "éł¼": 117943, + "ĠخداÙĪÙĨد": 117944, + "нам": 117945, + "ĠÑģлиз": 117946, + "æ¶ī": 117947, + "รษ": 117948, + "eÅŁtir": 117949, + "ĠÙĨدار": 117950, + "ราà¸Ħ": 117951, + "è¨ĢãĤı": 117952, + "ĠèŃ": 117953, + "ĠкÑĢиÑĤ": 117954, + "ĠвоздÑĥÑħа": 117955, + "Ġà¤Ĺत": 117956, + "Ġprávo": 117957, + "à¥ĭषण": 117958, + "Ġsắp": 117959, + "íıŃ": 117960, + "ĠصرÙģ": 117961, + "ĠراÛĮگاÙĨ": 117962, + "ĠоÑĤк": 117963, + "ëĨĵ": 117964, + "ĠÑģекÑĢеÑĤ": 117965, + "İn": 117966, + "onavir": 117967, + "ĠVys": 117968, + "ĠbaÅŁlat": 117969, + "ĠMuham": 117970, + "ĠлиÑģÑĤоп": 117971, + "ĠTicaret": 117972, + "Ġadlandır": 117973, + "ĠÐĶмиÑĤ": 117974, + "ÏĥμοÏį": 117975, + "ä¾µ": 117976, + "ìĭľëĬĶ": 117977, + "à¹ģà¸Ľà¸¥à¸ĩ": 117978, + "ınıza": 117979, + "-г": 117980, + "иÑĩноÑĹ": 117981, + "ÑĥÑĢи": 117982, + "UZ": 117983, + "ìĽł": 117984, + "ĠتبدÛĮÙĦ": 117985, + "溫": 117986, + "ĠÑĢамкаÑħ": 117987, + "Ġnét": 117988, + "沿": 117989, + "ĠrozÅ¡ÃŃ": 117990, + "Ġसप": 117991, + "ĠÑĤаке": 117992, + "ÑĢаÑĩ": 117993, + "ĠاÙĦÙĤد": 117994, + "íķĻê³¼": 117995, + "ÑĥваннÑıм": 117996, + "Ġmám": 117997, + "롯": 117998, + "á½IJ": 117999, + "Ġetkili": 118000, + "ĠارتÙģ": 118001, + "Ġtechnolog": 118002, + "Ġì½ĺ": 118003, + "ĠتÙĥÙĬÙĬÙģ": 118004, + "ĠpÅĻece": 118005, + "å®¶åºŃ": 118006, + "Ġãģı": 118007, + "âĶ´": 118008, + "íģ¼": 118009, + "Ġξά": 118010, + "à¹Ģà¸ķร": 118011, + "ĠÑģÑĤановиÑĤÑģÑı": 118012, + "ç«ĭãģ¡": 118013, + "Ġéĸĭ": 118014, + "Ġİyi": 118015, + "ĠnÄĽkteré": 118016, + "ĠÑĢобоÑĤ": 118017, + "ĠÄIJưá»Ŀng": 118018, + "ĠاÙĦاج": 118019, + "Ġspeci": 118020, + "çī¹åĪ«": 118021, + "åŃĿ": 118022, + "âĢĮگذ": 118023, + "alıģı": 118024, + "ĠмиÑĢа": 118025, + "íİĺìĿ´ì§Ģ": 118026, + "Ø®Ùģ": 118027, + "ãĤªãĥª": 118028, + "ĠسÛĮÙħ": 118029, + "Ġìĸ´ëĬIJ": 118030, + "алÑĮнÑĥ": 118031, + "Ñĩний": 118032, + "ümüzde": 118033, + "æĻºèĥ½": 118034, + "ýn": 118035, + "ĠتÙĤÙĪÛĮت": 118036, + "ĠпÑĢиг": 118037, + "ĠгÑĢÑĥппÑĭ": 118038, + "amı": 118039, + "γοÏį": 118040, + "оÑĢÑĤÑĥ": 118041, + "ĠGiang": 118042, + "ÅĻen": 118043, + "ĠokolÃŃ": 118044, + "产ä¸ļ": 118045, + "Ġзм": 118046, + "Ġé¾": 118047, + "ÙĬار": 118048, + "ĠاÙĦØ´ÙĬØ®": 118049, + "иÑĤелÑĮнÑĭй": 118050, + "ĠاÙĩÙħ": 118051, + "ĠباÙĦرÙĬاض": 118052, + "ĠÙ¾ÛĮاÙħ": 118053, + "Ġkredi": 118054, + "ĠArap": 118055, + "ĠÑĢаб": 118056, + "ĠнекоÑĤоÑĢÑĭÑħ": 118057, + "ĠØŃاÙ쨏Ùĩ": 118058, + "иÑĤелÑĮного": 118059, + "Ġgerekmektedir": 118060, + "ĠDeniz": 118061, + "ĠتÙĦاش": 118062, + "stagram": 118063, + "ávky": 118064, + "åĬłåħ¥": 118065, + "ozor": 118066, + "Ġdurumunda": 118067, + "Ġíıīëĭ¹": 118068, + "Ġë´ī": 118069, + "ĠpenÄĽ": 118070, + "گاÙĨÛĮ": 118071, + "ĠKup": 118072, + "ĠÑĨеÑĢ": 118073, + "ulması": 118074, + "âijł": 118075, + "ĠÑģÑĸÑĩнÑı": 118076, + "ımıza": 118077, + "å®ļçļĦ": 118078, + "ÂłÑĤ": 118079, + "åĬŀåħ¬": 118080, + "ìľ¼ëĭĪ": 118081, + "ĠاÙĦØ¥ÙĨ": 118082, + "Ġçĥ": 118083, + "ãĢįï¼Į": 118084, + "ÑĹна": 118085, + "ĠпÑĢигоÑĤовлениÑı": 118086, + "Ðħ": 118087, + "ĠÑģолн": 118088, + "Ġë¶ĢìĤ°": 118089, + "æħ¶": 118090, + "ãĤ¾": 118091, + "voje": 118092, + "ÛĮدÙĨ": 118093, + "ìĥĿëĭĺ": 118094, + "ç¹ģ": 118095, + "ádu": 118096, + ":::::::::::::::": 118097, + "سÙĨÚ¯": 118098, + "éĶĭ": 118099, + "ĠзвиÑĩай": 118100, + "å§Ķåijĺä¼ļ": 118101, + "ĠμÎŃÏĥα": 118102, + "ĠÑĢождениÑı": 118103, + "æĪIJ人": 118104, + "ĠdÃŃl": 118105, + "ĠÐĶоб": 118106, + "Ġà¹ĥà¸Ĭ": 118107, + "ÏĢί": 118108, + "gamber": 118109, + "ĠÙĪÛĮÚĺÚ¯ÛĮ": 118110, + "ĠèĬ±": 118111, + "ĠbÃły": 118112, + "ĠжовÑĤнÑı": 118113, + "åħ¬å¼Ģ": 118114, + "ĠÑĤоÑĩки": 118115, + "ãģĤãģ®": 118116, + "алÑĸв": 118117, + "Ġcharakter": 118118, + "ĠÎĴα": 118119, + "ĠzkuÅ¡en": 118120, + "Ġà¤Ńà¤Ĺव": 118121, + "Ñĩика": 118122, + "à¥Ģà¤Ĥ।": 118123, + "è£ı": 118124, + "åijĬè¯ī": 118125, + "iyatı": 118126, + "ĠÑĨелÑĮ": 118127, + "ĠìĬĪ": 118128, + "аÑĢд": 118129, + "ĠÃľlke": 118130, + "Ġprosince": 118131, + "ĠÙĨگاÙĩ": 118132, + "ãĢĮãģĬ": 118133, + "ΣΤ": 118134, + "ìĦľëĬĶ": 118135, + "ÙĪگر": 118136, + "ضاÙĨ": 118137, + "Ġdůsled": 118138, + "çIJ´": 118139, + "à¸ķำà¹ģหà¸Ļ": 118140, + "кÑĤÑĸв": 118141, + "ládá": 118142, + "á¿Ĩ": 118143, + "ĠDoÄŁu": 118144, + "ãģijãĤĮãģ°": 118145, + "缮ãĤĴ": 118146, + "Ġ缴": 118147, + "æĽ°": 118148, + "ĠвÑĤоÑĢой": 118149, + "ĠглÑĥ": 118150, + "ĠìĿ½": 118151, + "기ì¤Ģ": 118152, + "Ġmadde": 118153, + "Ġjedné": 118154, + "ĠоÑĦÑĸ": 118155, + "ìĭĿìĿĦ": 118156, + "Ġchút": 118157, + "åĩºãģĹãģŁ": 118158, + "иÑĩеÑģкаÑı": 118159, + "Ġлок": 118160, + "Ġaltı": 118161, + "ëĵľëĬĶ": 118162, + "eygamber": 118163, + "ĠÑģвое": 118164, + "ĠtaÅŁÄ±m": 118165, + "ĠÑĤоÑīо": 118166, + "Ġgeçti": 118167, + "Ġpremi": 118168, + "ĠMehmet": 118169, + "ï¼ĮåĽłæŃ¤": 118170, + "ίκη": 118171, + "Ġönceki": 118172, + "Ġà¤ķन": 118173, + "ĠÑĤемпеÑĢаÑĤÑĥÑĢа": 118174, + "éĺ´": 118175, + "Ġìĸ¼ë§Ī": 118176, + "شب": 118177, + "áky": 118178, + "ãĢĢV": 118179, + "воÑĢеннÑı": 118180, + "lasyon": 118181, + "Ġдоказ": 118182, + "Ġëľ»": 118183, + "ĠоблиÑĩ": 118184, + "ÎĻÎijÎļ": 118185, + "ĠÑĢазд": 118186, + "ï¼Į为": 118187, + "宽": 118188, + "Ġkorum": 118189, + "åķĬåķĬ": 118190, + "ĠÅĻekla": 118191, + "ãĥĹãĥ¬": 118192, + "ĠваÑĢÑĤ": 118193, + "ĠпÑĢоблемÑĭ": 118194, + "Ġä½ł": 118195, + "ĠthÆ¡m": 118196, + "Ġtakové": 118197, + "ленÑĭ": 118198, + "Ġåζ": 118199, + "Ġjiných": 118200, + "ĠÙĨص": 118201, + "ĠгÑĢÑĥднÑı": 118202, + "ĠãģĹ": 118203, + "иÑĤелÑĮной": 118204, + "ĠاØŃتÙħ": 118205, + "ÑİÑĢ": 118206, + "ÏĨÏħ": 118207, + "ĠØ´ÙħاÙĦÛĮ": 118208, + "Ġì»´": 118209, + "acaģız": 118210, + "ì§Ģë§ī": 118211, + "ĠÑĦинанÑģов": 118212, + "Ġê·¹": 118213, + "ĠÚĨÛĮزÛĮ": 118214, + "à¥Ģà¤Ľ": 118215, + "صات": 118216, + "ानम": 118217, + "Ġвозможно": 118218, + "è¨İ": 118219, + "çĦ¦": 118220, + "ĠاÙĦبÙĦد": 118221, + "Ġçͳåįļ": 118222, + "祥": 118223, + "Ġë°ĶëĿ¼": 118224, + "Ú¯ÛĮر": 118225, + "ÛµÛ°": 118226, + "μιοÏħÏģγ": 118227, + "ĠpÅĻedsed": 118228, + "ç»ıèIJ¥": 118229, + "å§ij": 118230, + "emey": 118231, + "ĠÙĨÙĪÙģ": 118232, + "å¾½": 118233, + "Ġpráva": 118234, + "ĠвообÑīе": 118235, + "Ġíĭ°": 118236, + "ĠبأÙĨ": 118237, + "ĠFranti": 118238, + "ĠPaÅŁa": 118239, + "Ġپست": 118240, + "kân": 118241, + "ĠÑģигн": 118242, + "Ġdần": 118243, + "æIJľ": 118244, + "Ġroky": 118245, + "ÙĥÙĪØ±": 118246, + "ĠÎĶή": 118247, + "ализаÑĨии": 118248, + "ä¼łå¥ĩ": 118249, + "ıda": 118250, + "lÃŃb": 118251, + "ĠÑĢÑĸвнÑı": 118252, + "ĠноÑı": 118253, + "bÄĽhu": 118254, + "ิà¸ĩหาà¸Ħม": 118255, + "ï¼Įåį´": 118256, + "ĠÑĩеÑģ": 118257, + "lanmÄ±ÅŁtır": 118258, + "ĠÆ°á»Ľc": 118259, + "ávacÃŃ": 118260, + "ีฬา": 118261, + "δÎŃ": 118262, + "âĢĮØ´ÙĪÙĨد": 118263, + "ĠÑĢобÑĸÑĤ": 118264, + "Ġå·´": 118265, + "ĠMev": 118266, + "ĠÙħرØŃÙĦÙĩ": 118267, + "ĠвзÑĢоÑģ": 118268, + "ç½ļ": 118269, + "ĠباÙĦÙħ": 118270, + "ĠизгоÑĤов": 118271, + "ĠSpor": 118272, + "åĦĢ": 118273, + "ĠاÙĦØ£ÙĨ": 118274, + "à¹Īาà¸ĩà¸ģ": 118275, + "лаÑģÑĤи": 118276, + "ÎŁÎļ": 118277, + "ĠÚ©ÛĮ": 118278, + "åij½ä»¤": 118279, + "ØŃدث": 118280, + "ÙĬÙĥÙĬ": 118281, + "ĠпеÑĢвÑĭй": 118282, + "ãĤ¹ãĤ³": 118283, + "ĠÅ¡pat": 118284, + "Ġnikdo": 118285, + "ัà¸ĩม": 118286, + "赫": 118287, + "æĺ¨": 118288, + "ĠвÑĥли": 118289, + "ĠÐļа": 118290, + "à¹Īละ": 118291, + "Ġsamot": 118292, + "ĠобеÑģпе": 118293, + "ĠÙħعرÙģÛĮ": 118294, + "ĠÙħØŃصÙĪÙĦات": 118295, + "ванов": 118296, + "ĠÙħستÙĤÛĮÙħ": 118297, + "å¢Ļ": 118298, + "ÂłÐļ": 118299, + "ĠдоÑĤ": 118300, + "zim": 118301, + "ÙIJر": 118302, + "ĠØ´ÙĪ": 118303, + "åľ¨åľ°": 118304, + "Ġçݰ": 118305, + "ĠåĮĸ": 118306, + "زÙĪ": 118307, + "Ġyaygın": 118308, + "ĠоÑĢиг": 118309, + "ÙıÙĨ": 118310, + "Ġevrop": 118311, + "Ġï½ľ": 118312, + "Ġëħ¸ì¶ľëĵ±ë¡Ŀ": 118313, + "åĩĿ": 118314, + "леннÑĭÑħ": 118315, + "Ġjenom": 118316, + "ĠЧÑĤобÑĭ": 118317, + "ĠìĹĨëĭ¤": 118318, + "ĠìŬìĦ±": 118319, + "Ġresmi": 118320, + "imálnÃŃ": 118321, + "缮ãģ®": 118322, + "sian": 118323, + "-нибÑĥдÑĮ": 118324, + "οκ": 118325, + "çĭ¬ç«ĭ": 118326, + "ÅŁehir": 118327, + "åIJIJ": 118328, + "åζéĢł": 118329, + "ĠÎĶεν": 118330, + "ãĥĭãĥ¥": 118331, + "иÑĤелÑĮнÑĭÑħ": 118332, + "ĠÙĥاÙħ": 118333, + "Ïģκ": 118334, + "Ġrau": 118335, + "ĠÑģмеÑĢÑĤи": 118336, + "ĠÏĮÏĦαν": 118337, + "ĠTại": 118338, + "Ġرب": 118339, + "ενο": 118340, + "ردد": 118341, + "Ġà¸ģระ": 118342, + "Ïĥμο": 118343, + "Ġæ¼Ķ": 118344, + "ิà¸Īà¸ģรรม": 118345, + "ĠÑĢазви": 118346, + "ãĤ¹ãĥļ": 118347, + "ÑĸÑĩноÑĹ": 118348, + "lášenÃŃ": 118349, + "ابعة": 118350, + "ovými": 118351, + "анг": 118352, + "ĠкапÑĸÑĤ": 118353, + "ãĢģâĢĭ": 118354, + "íĸĪëįĺ": 118355, + "ĠÑĥÑģÑĸ": 118356, + "ยาว": 118357, + "Ø£Ùħ": 118358, + "ãĥ©ãĥĥãĤ¯": 118359, + "Ġëķ": 118360, + "ĠسÙĨÙĪØ§Øª": 118361, + "ĠÑģÑĤаÑĤÑĮи": 118362, + "ÑĹÑħ": 118363, + "ÏģοÏĩή": 118364, + "ĠØ£ÙĥتÙĪØ¨Ø±": 118365, + "lanma": 118366, + "Ġmalzem": 118367, + "磨": 118368, + "ĠбокÑĥ": 118369, + "åŃĹå¹ķ": 118370, + "ĠоÑĢганÑĸза": 118371, + "ãĥ©ãĤ¤ãĥ³": 118372, + "ĠÙħعدÙĨ": 118373, + "çĶ·åŃIJ": 118374, + "ĠæĤ": 118375, + "Ế": 118376, + "Ġmeziná": 118377, + "иваÑİÑĤ": 118378, + "ĠطبÛĮعÛĮ": 118379, + "èĻij": 118380, + "à¤Łà¤°": 118381, + "ĠподÑģ": 118382, + "ĠÅŁaÅŁ": 118383, + "à¸Ļà¹Ĩ": 118384, + "ĠÅ¡p": 118385, + "vÄĽÅĻ": 118386, + "зÑĮ": 118387, + "ëĿ¼ë§Ī": 118388, + "ุà¸ĺ": 118389, + "âĢ¦Ø·": 118390, + "리ì§Ģ": 118391, + "âĦĸâĦĸâĦĸâĦĸ": 118392, + "Ġbức": 118393, + "ĠSpoj": 118394, + "ĠиÑģполÑĮзовани": 118395, + "å·¦åı³": 118396, + "enler": 118397, + "ĠоÑīÑĥÑī": 118398, + "ĠоблÑĸ": 118399, + "ظËĨ": 118400, + "ÙĦÛĮس": 118401, + "æıIJåįĩ": 118402, + "ĠговоÑĢиÑĤÑĮ": 118403, + "Ġkür": 118404, + "ĠλειÏĦοÏħÏģγ": 118405, + "лага": 118406, + "ĠÑģÑĥдÑĥ": 118407, + "Ġ측": 118408, + "θεÏĥη": 118409, + "Ġнен": 118410, + "Ġbiçimde": 118411, + "ÑĨÑĸйноÑĹ": 118412, + "à¹Ģà¸Ħย": 118413, + "ĠDalÅ¡ÃŃ": 118414, + "ĠимеÑĤÑĮ": 118415, + "èĭĹ": 118416, + "ĠÙħعرÙĪÙģ": 118417, + "Ġtạp": 118418, + "ĠmeÅŁ": 118419, + "ÂłN": 118420, + "оÑĢони": 118421, + "عÙģ": 118422, + "à¹Ĥรà¸ĩà¹Ģร": 118423, + "âͬ": 118424, + "Ġà¹Ģà¸ŀราะ": 118425, + "Ġèı²å¾ĭ宾": 118426, + "ÑģÑĤвенное": 118427, + "ĠازدÙĪØ§Ø¬": 118428, + "ĠÑĦев": 118429, + "éł»": 118430, + "Ġสล": 118431, + "à¸ķà¸Ńà¸Ļ": 118432, + "Ġ기ê°Ħ": 118433, + "佩": 118434, + "ÏĦην": 118435, + "ëĤ¬ëĭ¤": 118436, + "ĠQuy": 118437, + "Ġë¶Ļ": 118438, + "ĠСÑĥд": 118439, + "иж": 118440, + "Ġà¹Ģà¸ģม": 118441, + "ĠÑģвÑıÑĤ": 118442, + "etooth": 118443, + "εÏģο": 118444, + "ÙĦÙħØ©": 118445, + "Ø´ÙĪØ±": 118446, + "Ġdomu": 118447, + "èįĴ": 118448, + "mî": 118449, + "ëıĦ를": 118450, + "ĠÑĢекомендÑĥеÑĤÑģÑı": 118451, + "Ġsonrasında": 118452, + "ĠднÑĸв": 118453, + "Ġçal": 118454, + "ãĤ«ãĥĨãĤ´ãĥª": 118455, + "Ġеж": 118456, + "Ġìķī": 118457, + "èī²çļĦ": 118458, + "âĢĻnde": 118459, + "ĠÏĢÏīÏĤ": 118460, + "ĠÑĩеÑĤвеÑĢ": 118461, + "kili": 118462, + "æĢ§èĥ½": 118463, + "ادÙĬØ©": 118464, + "纯": 118465, + "ĠاÙĦتش": 118466, + "ĠÑĤела": 118467, + "ĠобÑĬем": 118468, + "å²Ĺä½į": 118469, + "Ġkonkrét": 118470, + "Ġarada": 118471, + "ìĭľìĹIJ": 118472, + "Ġoranı": 118473, + "رÙĥ": 118474, + "ÐĽÐIJ": 118475, + "ĠménÄĽ": 118476, + "جÙĪÛĮ": 118477, + "Ġvợ": 118478, + "ĠAngiospermae": 118479, + "èĥİ": 118480, + "Ġhôn": 118481, + "äºĭæ¥Ń": 118482, + "ĠоÑĤвеÑĢ": 118483, + "Ġsrd": 118484, + "Å¡li": 118485, + "สà¸ģ": 118486, + "æ¼ı": 118487, + "ĠشرØŃ": 118488, + "ÑĨÑıми": 118489, + "Ġslav": 118490, + "Ġceny": 118491, + "à¸Ńà¹Ģร": 118492, + "ĠÙĪÙĦد": 118493, + "ĠкоÑĢа": 118494, + "ĠбÑĢон": 118495, + ":.:.:.:.:": 118496, + "Ġnemus": 118497, + "è¿Ļæł·çļĦ": 118498, + "ĠبرÙĨاÙħج": 118499, + "ĠúplnÄĽ": 118500, + "ีà¸Ļาà¸Ħม": 118501, + "Ġë°ĽìķĦ": 118502, + "μεÏģα": 118503, + "缩": 118504, + "Ġnắm": 118505, + "ĠобÑĬÑıÑģ": 118506, + "ĠконÑĤÑĢолÑİ": 118507, + "ávajÃŃcÃŃ": 118508, + "Ġkum": 118509, + "çĶ·äºº": 118510, + "ĠvnitÅĻ": 118511, + "ĠبدÙĩ": 118512, + "ĠأبرÙĬÙĦ": 118513, + "人æ°ijåħ±åĴĮåĽ½": 118514, + "Ġyapılır": 118515, + "ĠnaÅ¡ÃŃ": 118516, + "ãĥ¼ãĥŃ": 118517, + "Ġtạm": 118518, + "Ġhenüz": 118519, + "Ġzemi": 118520, + "Ġkháng": 118521, + "åħ¬åħ±": 118522, + "ĠèĢģ": 118523, + "ĠعÙĪØ§ÙħÙĦ": 118524, + "ÂłV": 118525, + "à¹īà¹ģà¸ģ": 118526, + "άνÏĦα": 118527, + "ĠÑĤÑĢавнÑı": 118528, + "ĠημÎŃ": 118529, + "è´¸": 118530, + "สà¸Ķ": 118531, + "ĠسÙħت": 118532, + "Ġخاک": 118533, + "ĠÑĤакий": 118534, + "Ġettik": 118535, + "ĠÏĮλ": 118536, + "Ġполи": 118537, + "Ġнож": 118538, + "غاÙĨ": 118539, + "ÙĨدÙĬ": 118540, + "ĠÄįtyÅĻi": 118541, + "ĠPhương": 118542, + "ĠÙĪØ±Ø²Ø´": 118543, + "ãģĦãģĭ": 118544, + "rvé": 118545, + "Ġतरफ": 118546, + "Ġनà¤Ĺर": 118547, + "masında": 118548, + "евиÑĩ": 118549, + "veÅĻej": 118550, + "ä¿ĿæĮģ": 118551, + "æĬĢèĥ½": 118552, + "æİ¨èįIJ": 118553, + "lâm": 118554, + "ĠÏį": 118555, + "å¢ŀéķ¿": 118556, + "ĠاصÙģÙĩ": 118557, + "ĠÐĹаконÑĥ": 118558, + "ĠÐŁÑĢез": 118559, + "Ġpodpor": 118560, + "기íĥĢ": 118561, + "ĠíıIJ": 118562, + "ĠëĭĪ": 118563, + "larınız": 118564, + "ãĥĸãĥŃ": 118565, + "ĠÑĦÑĢанÑĨÑĥз": 118566, + "ãĥĬãĥ¼": 118567, + "Ġbeled": 118568, + "ัà¸Ļวาà¸Ħม": 118569, + "ĠÙ쨱ÙĪ": 118570, + "ÑĦÑĢов": 118571, + "ĠìĿ´ë٬": 118572, + "ượu": 118573, + "Ġê³µìĭĿ": 118574, + "Ġbirden": 118575, + "Ġзелен": 118576, + "çĴĥ": 118577, + "Ġhá»ĵng": 118578, + "ĠÅ¡kola": 118579, + "ĠÑģамом": 118580, + "anlık": 118581, + "空éĹ´": 118582, + "åįĹçľģ": 118583, + "леÑĢг": 118584, + "ÑĸзнеÑģ": 118585, + "ÂłA": 118586, + "ãĢįãĤĴ": 118587, + "Ġkendine": 118588, + "ĠاÙĪÙĨ": 118589, + "ãĢĶ": 118590, + "ĠΣÏį": 118591, + "à¹Ģà¸Ħล": 118592, + "奶": 118593, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 118594, + "ĠúÄįet": 118595, + "Ñĥла": 118596, + "éĢļä¿¡": 118597, + "Ġì¦IJ": 118598, + ".čĊĊ": 118599, + "ĠÐľÐµÐ´": 118600, + "اعÙĬ": 118601, + "Ġjehož": 118602, + "ĠGüney": 118603, + "ĠÎijÏĢο": 118604, + "ĠполÑĸ": 118605, + "üme": 118606, + "hodob": 118607, + "ĠÎĿα": 118608, + "ĠØ¢ÙĦات": 118609, + "ĠpÅĻiz": 118610, + "Ġtavs": 118611, + "ĠتبÙĦÛĮ": 118612, + "ãĥ³ãĥĶ": 118613, + "خرج": 118614, + "ĠаккÑĥ": 118615, + "Ġúprav": 118616, + "ĠاØŃساس": 118617, + "ì¹´ëĿ¼": 118618, + "ımızı": 118619, + "ĠдокÑĥменÑĤ": 118620, + "ĠاصÙĦ": 118621, + "ظÙĩ": 118622, + "ĠìĿ¸ê°Ħ": 118623, + "ĠجرÛĮاÙĨ": 118624, + "Î¥ÎĿ": 118625, + "ÑĩеÑģкаÑı": 118626, + "ÙĬÙĨÙĬØ©": 118627, + "åĴ¨": 118628, + "æĹħ游": 118629, + "Ġà¸Īำà¸Ļวà¸Ļ": 118630, + "Ġанг": 118631, + "ÏħÏĩ": 118632, + "èĻ«": 118633, + "ĠÙħÙĤر": 118634, + "ĠÙħÙĪØ³ÛĮÙĤÛĮ": 118635, + "utut": 118636, + "ĠÐĽÐµ": 118637, + "ĠÐŁÑĸÑģлÑı": 118638, + "ãĤŃãĥ¼": 118639, + "ุลาà¸Ħม": 118640, + "åĩ¡": 118641, + "ÏĢοÏį": 118642, + "ĠÃĸdül": 118643, + "Ïĥκ": 118644, + "ĠÑĨÑİ": 118645, + "ÑĭваÑı": 118646, + "ï½ŀï½ŀ": 118647, + "ĠØ´ÙħاÙĦ": 118648, + "è¿ħ": 118649, + "ĠبÙĦÚ©Ùĩ": 118650, + "çİĽ": 118651, + "Ġì§ĢëĤĺ": 118652, + "ĠÙģکر": 118653, + "ĠÑģÑĤепени": 118654, + "ĠнаÑĥки": 118655, + "çī©çIJĨ": 118656, + "ÄĽle": 118657, + "ĠоÑģкÑĸлÑĮки": 118658, + "ĠкÑĥлÑĮÑĤÑĥÑĢи": 118659, + "èĢĥè¯ķ": 118660, + "Ġmateriál": 118661, + "ĠÑģÑĤвоÑĢеннÑı": 118662, + "Ġà¤ħद": 118663, + "æıIJåĩº": 118664, + "Ġè©ķ価": 118665, + "ÙĴد": 118666, + "Ġë§Įëĵ¤ìĸ´": 118667, + "duÄŁunu": 118668, + "ÙĬÙĨÙĩ": 118669, + "åĵ¦": 118670, + "оÑĩнÑĭÑħ": 118671, + "ĠÙħض": 118672, + "ismu": 118673, + "ĠÑĩай": 118674, + "ÙĪØ±ÙĪØ¨": 118675, + "Ġангл": 118676, + "oÄŁunluk": 118677, + "ĠпÑĢедпол": 118678, + "ĠÎŃÏīÏĤ": 118679, + "สà¸ĸ": 118680, + "ĠÎķλλάδα": 118681, + "ĠBilg": 118682, + "Ġبات": 118683, + "ĠÐĽÑĮвÑĸв": 118684, + "Ġyapılması": 118685, + "æ£ĢæŁ¥": 118686, + "æķ°åѦ": 118687, + "Ġ:.:": 118688, + "Ġçİ©": 118689, + "Îļα": 118690, + "à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļà¹Ĥลย": 118691, + "ĠساختÙħاÙĨ": 118692, + "ĠìĨĮ리": 118693, + "é¼»": 118694, + "Ġsmr": 118695, + "Ġëĭ¤ìĸijíķľ": 118696, + "ĠjednánÃŃ": 118697, + "Ġservisi": 118698, + "Ġeylem": 118699, + "Ġмали": 118700, + "Ġvýhod": 118701, + "éϤäºĨ": 118702, + "ĠпоÑĢÑıдкÑĥ": 118703, + "Ġnový": 118704, + "å¤ķ": 118705, + "ĠнекоÑĤоÑĢÑĭе": 118706, + "Ġ^{}": 118707, + "γÏīγ": 118708, + "ÑĥÑĪки": 118709, + "Ġpsik": 118710, + "ĠíĶĦ리": 118711, + "شاء": 118712, + "Ġван": 118713, + "ĠسÙĥاÙĨ": 118714, + "碼": 118715, + "Ġξη": 118716, + "ĠÑĥÑĢовенÑĮ": 118717, + "ãĤµãĥ¼": 118718, + "ĠاÙĦبØŃر": 118719, + "ĠdnÃŃ": 118720, + "à¸ģารศ": 118721, + "ediÄŁi": 118722, + "Ġbelirli": 118723, + "ÙĭØĮ": 118724, + "ĠzamÄĽstnan": 118725, + "æŁ±": 118726, + "اÙģÙĬ": 118727, + "Ġhải": 118728, + "æĢĿæĥ³": 118729, + "Ġneler": 118730, + "ĠرسÙħÛĮ": 118731, + "ÑģеÑĢ": 118732, + "ãģĵãģ¨ãģ§": 118733, + "ĠZákladnÃŃ": 118734, + "лова": 118735, + "кÑĤÑĥ": 118736, + "ÙĪØ³Ùģ": 118737, + "ÑĸблÑĸ": 118738, + "ÌĤ": 118739, + "ÑĢд": 118740, + "éϳ": 118741, + "æį·": 118742, + "ĠyaÅŁayan": 118743, + "à¥ģà¤ļ": 118744, + "ÑĸÑĤÑĤÑı": 118745, + "Ġbá»ģ": 118746, + "ëĤĺëĿ¼": 118747, + "ĠмÑıÑģ": 118748, + "Ġ{[%": 118749, + "θα": 118750, + "ĠдозволÑı": 118751, + "ĠåIJĦ": 118752, + "ĠÐŁÐµÑĢв": 118753, + "ĠSaÄŁlık": 118754, + "ÑģÑĤоÑĢиÑı": 118755, + "Ġbunlar": 118756, + "Ġsá»ķ": 118757, + "़à¥į": 118758, + "ĠåĪ©": 118759, + "ĠÑģпоÑģ": 118760, + "Ġyaptır": 118761, + "Ġtưá»Ŀng": 118762, + "ÙĪÙĨØ©": 118763, + "Ġеп": 118764, + "ãģ§ãģįãģªãģĦ": 118765, + "ÙģØªÙħ": 118766, + "ĠÐĵол": 118767, + "íķĺì§Ģë§Į": 118768, + "Ġì§Ħì§ľ": 118769, + "Ġobjedn": 118770, + "ĠизменениÑı": 118771, + "女人": 118772, + "Ġплани": 118773, + "ĠFakült": 118774, + "Ġtzv": 118775, + "ĠобÑıзаÑĤелÑĮ": 118776, + "ĠблизÑĮко": 118777, + "rası": 118778, + "ĠεÏĢίÏĥηÏĤ": 118779, + "ĠÑĦакÑĤи": 118780, + "ĠÄIJặc": 118781, + "ĠAltın": 118782, + "лиÑĤ": 118783, + "ĠлÑĸÑģ": 118784, + "çī§": 118785, + "ĠпÑĥÑģÑĤ": 118786, + "ĠкомÑĸÑģ": 118787, + "ä¿Ŀéļľ": 118788, + "åħ·ä½ĵ": 118789, + "-ÑĤ": 118790, + "Ġtrhu": 118791, + "ĠâīĪ": 118792, + "ĠдекабÑĢÑı": 118793, + "ĠÑĦоÑĢмÑĭ": 118794, + "NgoÃłi": 118795, + "Ġdohod": 118796, + "رÙĬÙĥÙĬØ©": 118797, + "ĠØ¢ÙħÙĪØ²Ø´ÛĮ": 118798, + "ĠzajÃŃmav": 118799, + "Ġkatılım": 118800, + "ä¸ĺ": 118801, + "Ġkonum": 118802, + "ĠмоÑĩ": 118803, + "ãĥ³ãĥķ": 118804, + "дивидÑĥ": 118805, + "Ġäºļ": 118806, + "ĠæĴ": 118807, + "γÏģάÏĨ": 118808, + "ãĥIJãĤ¹": 118809, + "ĠпÑĥнк": 118810, + "ĠBirleÅŁik": 118811, + "Ġquen": 118812, + "Ġвказ": 118813, + "à¥ĩशà¤ķ": 118814, + "ĠYunan": 118815, + "ãģłãģ¨": 118816, + "Û±Û¹Û·": 118817, + "áty": 118818, + "ĠÙĪØµ": 118819, + "ĠнегаÑĤив": 118820, + "ãģ¤ãģ®": 118821, + "ĠåĬ¨": 118822, + "ãĥįãĥĥãĥĪ": 118823, + "ĠдÑĸй": 118824, + "ĠbaÅŁÄ±nda": 118825, + "Ġtrưng": 118826, + "Ġmakin": 118827, + "ĠæĦĽ": 118828, + "меÑĩ": 118829, + "Ġè¿ij": 118830, + "ÙĤدر": 118831, + "ĠاستاÙĨد": 118832, + "ĠinformacÃŃ": 118833, + "ारà¤ķ": 118834, + "è¬Ŀ": 118835, + "ÑĢабаÑĤ": 118836, + "ĠçŃĶ": 118837, + "Ġèĩ³": 118838, + "ĠполÑĮ": 118839, + "ĠÙĩÙĨر": 118840, + "ëĮĢë¹Ħ": 118841, + "ĠخارجÛĮ": 118842, + "ract": 118843, + "ãĢĤãģĵãĤĮ": 118844, + "ĠØ´ÙĪØ±Ø§ÛĮ": 118845, + "ленно": 118846, + "Ġhisset": 118847, + "ĠcÃłi": 118848, + "ĠÑĦоÑĤо": 118849, + "æģĴ": 118850, + "ĠмедиÑĨин": 118851, + "ÑģÑĤвÑĸ": 118852, + "ĠاÙĦعÙĦ": 118853, + "ĠпиÑģÑĮмен": 118854, + "ãĢĤãģ¾ãģŁ": 118855, + "ĠvlastnÄĽ": 118856, + "Ġпода": 118857, + "Ïģοι": 118858, + "ĠìĦĿ": 118859, + "ĠìĿ¼ìĿ´": 118860, + "ĠìĽĮ": 118861, + "окÑģи": 118862, + "Ġosoby": 118863, + "ÐŁÐ¾Ñģле": 118864, + "ĠÑĸÑģÑĤоÑĢÑĸÑĹ": 118865, + "عÙĦÙī": 118866, + "нка": 118867, + "تÙħبر": 118868, + "à¥ĩहर": 118869, + "ĠJana": 118870, + "ÙĦÙĬات": 118871, + "ĠмаÑĢÑĤа": 118872, + "ĠÐļиÑĶ": 118873, + "ĠÑĢобоÑĤÑĥ": 118874, + "Ġnhấn": 118875, + "иÑģлов": 118876, + "ëŁŃ": 118877, + "Ġodv": 118878, + "ĠTá»īnh": 118879, + "âĢľê·¸": 118880, + "ãģ»ãģĨ": 118881, + "é²ľ": 118882, + "меÑĨÑĮ": 118883, + "าศาสà¸ķร": 118884, + "à¥ģà¤ĵ": 118885, + "ิà¸Ļà¸Ĺ": 118886, + "mada": 118887, + "زاÙħ": 118888, + "ĠÙĥبÙĬر": 118889, + "å®ŀæĸ½": 118890, + "zeÅĪ": 118891, + "Ġlái": 118892, + "Ïĥμα": 118893, + "اسات": 118894, + "ÑĦÑĤ": 118895, + "è°±": 118896, + "çĮľ": 118897, + "ĠprobÃŃ": 118898, + "æľĢè¿ij": 118899, + "ÑĢад": 118900, + "ãĤ½ãĥ³": 118901, + "Ġклад": 118902, + "à¥ľà¤ķ": 118903, + "év": 118904, + "ลาย": 118905, + "èİİ": 118906, + "ĠμÎŃÏĩÏģι": 118907, + "ĠкÑĥÑģ": 118908, + "ĠíĻĺê²½": 118909, + "ÑĩоÑĹ": 118910, + "åıĺåĮĸ": 118911, + "ĠبتÙĪØ§ÙĨ": 118912, + "Ġtắt": 118913, + "Ġgösteren": 118914, + "алÑİ": 118915, + "Ġкоманди": 118916, + "Ġ컨": 118917, + "Ñĥнд": 118918, + "ĠجÙĦÙĪ": 118919, + "åŃIJçļĦ": 118920, + "ĠÑģб": 118921, + "ĠÐłÐ°Ñģ": 118922, + "PCP": 118923, + "ĠCumhurbaÅŁ": 118924, + "одаÑĤелÑĮ": 118925, + "ÃŃsto": 118926, + "Ġoznám": 118927, + "ãĥ¼ãĥĭ": 118928, + "Ġokuy": 118929, + "ophy": 118930, + "าà¸Ļà¸Ħร": 118931, + "ĠÎķθν": 118932, + "ayım": 118933, + "ÙİØ£": 118934, + "æİ¡": 118935, + "Ġfunkce": 118936, + "æļĸ": 118937, + "طار": 118938, + "ĠÐĿаг": 118939, + "Ġä¸ĩåĨĨ": 118940, + "ĠíĴį": 118941, + "Ġä½ı": 118942, + "Ġï¼İ": 118943, + "ÑĭваÑİÑĤÑģÑı": 118944, + "ĠPla": 118945, + "اÙĬÙĦ": 118946, + "Ġ무ìĹĩ": 118947, + "ĠконеÑĩно": 118948, + "км": 118949, + "à¤Ĥपर": 118950, + "Ġìłķë¶Ģ": 118951, + "ĠëĤ´ëł¤": 118952, + "ãĤ°ãĥ«": 118953, + "çģ°": 118954, + "Ġcyk": 118955, + "ĠжелÑĥд": 118956, + "ĠëĨĴìĿĢ": 118957, + "çĶŁåij½": 118958, + "æµ´": 118959, + "ĠartÄ±ÅŁ": 118960, + "ĠÐĩ": 118961, + "ï¼²": 118962, + "ekim": 118963, + "ĠÑĦедеÑĢа": 118964, + "ĠвеÑĢеÑģнÑı": 118965, + "ниÑĤе": 118966, + "ĠÄ°ÅŁte": 118967, + "ĠÙĪØ¶Ø¹ÛĮت": 118968, + "ãģķãģ¾": 118969, + "ĠtÅĻetÃŃ": 118970, + "uluÄŁ": 118971, + "ĠCumhuriyet": 118972, + "ä¼Ł": 118973, + "Ġë§Ŀ": 118974, + "Ġvermek": 118975, + "Ġnalez": 118976, + "çĵ¶": 118977, + "ĠdiÅŁ": 118978, + "ĠHá»ĵng": 118979, + "غÙĬرة": 118980, + "å©Ĩ": 118981, + "нив": 118982, + "Ġrút": 118983, + "'nda": 118984, + "Ġhroz": 118985, + "à¥īप": 118986, + "Ġзаконом": 118987, + "Ġjednu": 118988, + "ĠKadın": 118989, + "indir": 118990, + "سازÛĮ": 118991, + "åĮºåŁŁ": 118992, + "ĠkonuÅŁtu": 118993, + "ĠزÙĨد": 118994, + "ाĊĊ": 118995, + "ĠÐIJз": 118996, + "à¸ĩà¸Ĥà¸Ńà¸ĩ": 118997, + "ĠÑģвойÑģÑĤва": 118998, + "ĠìŀijíĴĪ": 118999, + "пеки": 119000, + "Ġå°±": 119001, + "евого": 119002, + "ĠtaÅŁÄ±y": 119003, + "ĠÙħÙĨØ·ÙĤØ©": 119004, + "ĠÃĩocuk": 119005, + "Û²Û·": 119006, + "ĠÏĥÏħμÏĢ": 119007, + "é£Łåĵģ": 119008, + "há": 119009, + "O": 119010, + "ÙĦÙħÙĩ": 119011, + "ãģ¨ãģªãģ£ãģŁ": 119012, + "оÑĢÑĸ": 119013, + "°}": 119014, + "ĠtaÅŁÄ±n": 119015, + "çŁ¿": 119016, + "ĠÑĩаÑģÑĤини": 119017, + "ĠدÙĬسÙħبر": 119018, + "Ġèī¯": 119019, + "stÅĻÃŃ": 119020, + "ĠÑĨик": 119021, + "âĢķâĢķâĢķâĢķ": 119022, + "Ġİngiltere": 119023, + "ĠÑģÑĤÑĢаÑĤег": 119024, + "ÃĦŸ": 119025, + "иÑĩного": 119026, + "ÃŃrk": 119027, + "ĠÎijÏģ": 119028, + "!âĢľĊĊ": 119029, + "Ġ깨": 119030, + "à¥ģà¤Ĩत": 119031, + "ĠدÙĨÛĮا": 119032, + "lÃŃn": 119033, + "Ġà¤ķड": 119034, + "ĠÙħبت": 119035, + "емÑĭÑħ": 119036, + "оби": 119037, + "ยà¸Ļà¸ķ": 119038, + "à¤Ĥधन": 119039, + "ÚĨÛĮ": 119040, + "ĠçŁ¥": 119041, + "ĠXuân": 119042, + "adaki": 119043, + "Ġorta": 119044, + "æł¹æľ¬": 119045, + "åħ±åIJĮ": 119046, + "нений": 119047, + "بÙĬرة": 119048, + "çŃĭ": 119049, + "ïºĶ": 119050, + "âĢĮÙĩاÙĬ": 119051, + "Ġödeme": 119052, + "ĠØ¢ÙĨÚĨÙĩ": 119053, + "ĠзаÑıви": 119054, + "ĠÙĨÙĤØ´Ùĩ": 119055, + "Ġç³»": 119056, + "à¥ĭ।": 119057, + "Ġì§Ģìłķ": 119058, + "Ġinsp": 119059, + "ĠÑĤен": 119060, + "Ġتط": 119061, + "Ġquảng": 119062, + "åī£": 119063, + "ãģıãģ®": 119064, + "ĠÑĨим": 119065, + "kovi": 119066, + "iyah": 119067, + "ĠëIJľëĭ¤": 119068, + "صÙĩ": 119069, + "ĠÄiju": 119070, + "Ġsuá»ijt": 119071, + "ıma": 119072, + "ì§Ģê³ł": 119073, + "Ìĥ": 119074, + "à¸ļาย": 119075, + "ĠCertif": 119076, + "ĠÑĥÑģÑĸÑħ": 119077, + "à¸ķะว": 119078, + "είÏĦε": 119079, + "Ġč": 119080, + "ĠможливÑĸÑģÑĤÑĮ": 119081, + "Ġ-âĢIJ": 119082, + "Ġíĺ¹": 119083, + "ìĤ¬ì§Ħ": 119084, + "ĠданиÑħ": 119085, + "Ġzaháj": 119086, + "주ëĬĶ": 119087, + "Ġгид": 119088, + "niž": 119089, + "Ġ^{°}": 119090, + "Ġkro": 119091, + "Äįen": 119092, + "ÏĨι": 119093, + "ımızda": 119094, + "Ġæ¹ĸ": 119095, + "ĠповÑĢежд": 119096, + "Ġì¡´ìŀ¬": 119097, + "à¸Ļาà¸Ļ": 119098, + "μÎŃνοÏĤ": 119099, + "æ½ľ": 119100, + "ï¼Į使": 119101, + "Ġdosp": 119102, + "Ġliá»ģn": 119103, + "ัà¸ļà¸Ħวาม": 119104, + "ĠÑĢабоÑĤе": 119105, + "ĠмайбÑĥÑĤ": 119106, + "à¹Ģà¸ģษ": 119107, + "BaÅŁ": 119108, + "ĠæĿ±äº¬": 119109, + "наÑĩала": 119110, + "δει": 119111, + "à¥Īप": 119112, + "ÑĸмÑĸ": 119113, + "Ġfizik": 119114, + "วล": 119115, + "ä¼į": 119116, + "Ġà¸Ĭà¸Ļะ": 119117, + "'ÑıÑĤ": 119118, + "нил": 119119, + "инов": 119120, + "ĠÄijoán": 119121, + "รวà¸Ī": 119122, + "fet": 119123, + "à¹Įà¹Ĥ": 119124, + "ĠмаÑĤи": 119125, + "é¨İ": 119126, + "ÐļТ": 119127, + "à¹Ģสà¸Ļà¸Ń": 119128, + "Ġмав": 119129, + "lıģına": 119130, + "ĠпоÑĩина": 119131, + "ูà¸ķร": 119132, + "ÑĨеÑĢ": 119133, + "ujete": 119134, + "Ġtahmin": 119135, + "Ġвимог": 119136, + "à¸²à¸Ł": 119137, + "едж": 119138, + "ÏĦεÏį": 119139, + "adla": 119140, + "ĠÄijương": 119141, + "ĠداستاÙĨ": 119142, + "Ġbasın": 119143, + "ĠÑħв": 119144, + "Ġreak": 119145, + "ĠоÑĤмеÑĤ": 119146, + "æ³¥": 119147, + "Ġmáte": 119148, + "Ġzorun": 119149, + "ã썿ĢĿãģĨ": 119150, + "Ġدرجة": 119151, + "ĠвÑĸдÑģÑĥÑĤ": 119152, + "ĠعاÙħÙĦ": 119153, + "è͵": 119154, + "Ġsonraki": 119155, + "Ġmohli": 119156, + "иваеÑĤ": 119157, + "ĠпÑĸдÑģÑĤав": 119158, + "Ġostrov": 119159, + "ानव": 119160, + "âĢŀP": 119161, + "ĠвизнаÑĩа": 119162, + "ĠpravdÄĽpodob": 119163, + "Ġzaz": 119164, + "ìĿ´ë¥¼": 119165, + "ĠджеÑĢ": 119166, + "ĠÐłÐ°Ð´": 119167, + "ĠÑģеÑĢÑĮез": 119168, + "Ġдем": 119169, + "ÏĢή": 119170, + "ĠÐĦвÑĢоп": 119171, + "ĠÄįeské": 119172, + "ï¾ı": 119173, + "ĠØŃÙĬ": 119174, + "ì¼ĢìĿ´": 119175, + "ĠØ®ÙĪÙĨ": 119176, + "ÂłL": 119177, + "ãģĦãģ«": 119178, + "изнеÑģ": 119179, + "ĠÙħÙĤاÙħ": 119180, + "ĠاÙĦØŃÙĦ": 119181, + "ëĨį": 119182, + "ĠØ¢ÛĮا": 119183, + "翼": 119184, + "ï¼½": 119185, + "æ¸IJ": 119186, + "ливÑĸ": 119187, + "ãģĦãģ¦ãģĦãĤĭ": 119188, + "ĠÎijÎł": 119189, + "ĠиÑģполÑĮзÑĥеÑĤÑģÑı": 119190, + "Ġmát": 119191, + "Ġμεγά": 119192, + "ëħ¼": 119193, + "æµ·éģĵ": 119194, + "ĠÙħØ´Ú©ÙĦات": 119195, + "Ñĩна": 119196, + "';';": 119197, + "Ġμία": 119198, + "ÏģÏİν": 119199, + "Ġbyste": 119200, + "ĠÑįлекÑĤÑĢи": 119201, + "ĠYardım": 119202, + "Ġhát": 119203, + "ĠÐĶеÑĢжав": 119204, + ".С": 119205, + "Ġorada": 119206, + "Ġalanı": 119207, + "åľ°åŁŁ": 119208, + "ĠدÙĩÙĨد": 119209, + "менÑĪ": 119210, + "ĠоÑĢганов": 119211, + "Ġعص": 119212, + "ูà¸ĩส": 119213, + "Ġشعر": 119214, + "Ġìĸ»": 119215, + "Ġάλλ": 119216, + "Ġgói": 119217, + "ĠÙĨاØŃ": 119218, + "å¼ĺ": 119219, + "à¥įथल": 119220, + "ilim": 119221, + "ëIJĺì§Ģ": 119222, + "ĠконÑĨе": 119223, + "ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł": 119224, + "Ġì¤Ģë¹Ħ": 119225, + "ĠostatnÃŃ": 119226, + "Ġvlády": 119227, + "ĠÑģобиÑĢа": 119228, + "ĠìĹŃìĤ¬": 119229, + "à¹ģà¸ģรม": 119230, + ".ï¼ı": 119231, + "ÙıÙĪÙĨ": 119232, + "پس": 119233, + "ĠWikip": 119234, + "Ġæ¾": 119235, + "ĠжаÑĢ": 119236, + "容æĺĵ": 119237, + "ĠprostÅĻednictvÃŃm": 119238, + "Ġženy": 119239, + "Ġèı²å¾ĭ宾çͳåįļ": 119240, + "аÑİÑĤÑģÑı": 119241, + "Ġmiêu": 119242, + "ĠpenÃŃze": 119243, + "διά": 119244, + "oldur": 119245, + "ĠпÑĢимеÑĢно": 119246, + "ĠìŀĪê³ł": 119247, + "à¸ĩà¸Ńย": 119248, + "ковий": 119249, + ".ÎŁ": 119250, + "à¹ĥà¸Ħร": 119251, + "çĭł": 119252, + "ĠÐŁÑĸв": 119253, + "æĶ¹éĿ©": 119254, + "ĠÐĿаÑģеление": 119255, + "Å¡etÅĻ": 119256, + "ÙĴب": 119257, + "ĠâĶĢ": 119258, + "غÙĬÙĦ": 119259, + "ĠдÑĸÑıлÑĮнÑĸÑģÑĤÑĮ": 119260, + "ĠÙĦÙĬس": 119261, + "Ġìĭľìŀ¥": 119262, + "ãĥŁãĥ¥": 119263, + "ĠÚ©ÙĪØª": 119264, + "ĠÎĵι": 119265, + "ิà¹Ģว": 119266, + "ektor": 119267, + "ĠбÑĥдÑĥ": 119268, + "новаж": 119269, + "ÑīаеÑĤÑģÑı": 119270, + "Ġngôn": 119271, + "ĠvÄĽc": 119272, + "å¾IJ": 119273, + "à¸Ńà¹Ģมร": 119274, + "ัà¸įà¸Ĭ": 119275, + "ĠиÑģполÑĮзÑĥÑİÑĤ": 119276, + "rubu": 119277, + "Ġnhá»±a": 119278, + "ãģĮãģĬ": 119279, + "ĠÐĵаÑĢ": 119280, + "оÑĢе": 119281, + "ĠзолоÑĤ": 119282, + "æŁ³": 119283, + "ĠÙĬØ´": 119284, + "ĠповиннÑĸ": 119285, + "اÙĤتص": 119286, + "ÙĦØŃ": 119287, + "ĠокÑĤÑıбÑĢÑı": 119288, + "ĠnÄĽkdy": 119289, + "ĠобÑĢа": 119290, + "ستگÛĮ": 119291, + "符åIJĪ": 119292, + "Ġthiá»ĥu": 119293, + "æĺ¯ä»Ģä¹Ī": 119294, + "Ġrozs": 119295, + "ì½ľê±¸": 119296, + "ĠкаÑĦ": 119297, + "åIJĮæŃ¥": 119298, + "ì¼ĵ": 119299, + "ÏĢÏĦÏħ": 119300, + "à¸łà¸²à¸¢à¹ĥà¸Ļ": 119301, + "ιÏĥÏĦή": 119302, + "ĠدÙĪÙĦار": 119303, + "ĠÙħاÙĬÙĪ": 119304, + "ĠpeÄį": 119305, + "ัà¸ļม": 119306, + "ÎĻÎĶ": 119307, + "ıydı": 119308, + "ัà¸ģà¸Ĺ": 119309, + "à¸Ľà¸£à¸°à¸ĸม": 119310, + "και": 119311, + "Ġprodej": 119312, + "ĠиÑİлÑı": 119313, + "ĠvÅ©": 119314, + "驱": 119315, + "ĠhvÄĽ": 119316, + "æĥ³è¦ģ": 119317, + "ç¯Ħ": 119318, + "çak": 119319, + "ĠмÑıг": 119320, + "ımın": 119321, + "Ġdispozici": 119322, + "Ġukaz": 119323, + "racak": 119324, + "Ġболезни": 119325, + "วà¹Ĥม": 119326, + "Ġзел": 119327, + "ĠÐĴики": 119328, + "ĠÐłÐ¾Ð´": 119329, + "ูà¸ģà¸Ħ": 119330, + "íij¸": 119331, + "Ġthải": 119332, + "Ġbaģımsız": 119333, + "ĠÑĢоÑģÑģий": 119334, + "ĠÐļам": 119335, + "ĠиÑģполÑĮзованиÑı": 119336, + "ĠØŃذ": 119337, + "³³³³³³³³³": 119338, + "ĠاÙĨتÙĤاÙĦ": 119339, + "ĠабÑģолÑİÑĤ": 119340, + "ĠÄ±ÅŁÄ±k": 119341, + "ÏĦογÏģαÏĨ": 119342, + "ĠболÑĮÑĪой": 119343, + "Ġعبارت": 119344, + "ÃŃž": 119345, + "Ġدرست": 119346, + "ĠÑģлово": 119347, + "à¥ĪĊ": 119348, + "بÙĪØ¨": 119349, + "ĠÐĴоÑĤ": 119350, + "วà¹Ħà¸Ľ": 119351, + "Ġbilinen": 119352, + "ĠÙĤÙĬ": 119353, + "Ġbunların": 119354, + "Ùijت": 119355, + "Ġbasit": 119356, + "릿": 119357, + "ائرة": 119358, + "Ġpů": 119359, + "ĠedilmiÅŁ": 119360, + "Ġä½IJ": 119361, + "ĠYönetim": 119362, + "ÙħÛĮر": 119363, + "Ġspou": 119364, + "æ·±åľ³": 119365, + "ĠвзаÑĶм": 119366, + "ÎĻÎĽ": 119367, + "Ðĥ": 119368, + "ĠдеÑĢжавноÑĹ": 119369, + "Ġmrt": 119370, + "ĠDemir": 119371, + "é»İ": 119372, + "ĠÑĢегÑĥлÑıÑĢ": 119373, + "Ġникогда": 119374, + "å¼¾": 119375, + "à¥īड": 119376, + "Ġглаз": 119377, + "ĠÙħÛĮÚ©ÙĨ": 119378, + "éĻIJå®ļ": 119379, + "Ġнавк": 119380, + "ĠподÑĤ": 119381, + "ĠتصÙĪÛĮر": 119382, + "ĠاÙĦØŃدÙĬØ«": 119383, + "ĠdoÅ¡lo": 119384, + "нÑİÑİ": 119385, + "ĠÑģÑħод": 119386, + "Ø·ÙĤØ©": 119387, + "ĠÑģенÑĤÑıбÑĢÑı": 119388, + "ç®Ĭ": 119389, + "à¸ģารà¹ģà¸Ĥ": 119390, + "ázd": 119391, + "ÑĶÑĤе": 119392, + "ĠΣε": 119393, + "ĠÙĦÙĥÙĦ": 119394, + "åIJįåŃĹ": 119395, + "اÙĨÛĮا": 119396, + "Ġcins": 119397, + "기ìĹħ": 119398, + "ĠéŁ³": 119399, + "éłĥ": 119400, + "ยาย": 119401, + "ìļķ": 119402, + "ĠvÃŃtÄĽz": 119403, + "à¥įरब": 119404, + "ĠشرÙĤÛĮ": 119405, + "ĠbezpeÄįnost": 119406, + "Ġçerçev": 119407, + "Ġë§Ľ": 119408, + "cky": 119409, + "ĵ¨": 119410, + "ĠÑĥмоваÑħ": 119411, + "лиÑħ": 119412, + "meniz": 119413, + "ĠبگÛĮر": 119414, + "ÙĨÙī": 119415, + "Ġà¸ģารà¹ģà¸Ĥ": 119416, + "ιÏĥε": 119417, + "â̳E": 119418, + "Ġdöneminde": 119419, + "리카": 119420, + "Ġåΰ": 119421, + "Ġhukuk": 119422, + "аÑĤоÑĢа": 119423, + "ĠاÙĦعÙĨ": 119424, + "ïºĺ": 119425, + "ünüz": 119426, + "ÑģоÑĤ": 119427, + "ุษ": 119428, + "Ġdương": 119429, + "ovny": 119430, + "ĠÑĦоÑĢма": 119431, + "ãģĹãģ®": 119432, + "زÙĬز": 119433, + "ĠاÙĦÙĨاس": 119434, + "ĠÑĩим": 119435, + "大人": 119436, + "Ú¯ÙĬ": 119437, + "ĠÐĵоÑģп": 119438, + "é¢Ĩ导": 119439, + "Ġninh": 119440, + "Ġราà¸Ħา": 119441, + "ÙĤاء": 119442, + "ìī¬": 119443, + "ĠìĿ´ìłĦ": 119444, + "ĠÃ¶ÄŁretmen": 119445, + "ĠÑĨвеÑĤа": 119446, + "енноÑģÑĤÑĮ": 119447, + "大ãģį": 119448, + "ĠмиÑģÑĤеÑĨÑĤ": 119449, + "رÙĪØª": 119450, + "poÅĪ": 119451, + "ĠÅŀirket": 119452, + "ĠкÑĢаÑģив": 119453, + "ĠÑĢеÑģÑĥÑĢÑģ": 119454, + "ä¹¾": 119455, + "ĠÙģÙĩ": 119456, + "ĠYÃĸ": 119457, + "èĬ³": 119458, + "μÏīÏĤ": 119459, + "ÄĽji": 119460, + "Ġвлаж": 119461, + "ĠÑĥвели": 119462, + "اذا": 119463, + "ãĢĤå¦Ĥæŀľ": 119464, + "ĠпÑĢиÑģÑĥÑĤÑģÑĤв": 119465, + "ĠẤn": 119466, + "æĢĸ": 119467, + "ĠÐľÐµÑĤ": 119468, + "Ġjedna": 119469, + "Ġcục": 119470, + "ĠاÙĨتشار": 119471, + "ĠзокÑĢема": 119472, + "иÑĩеÑģки": 119473, + "ĠкÑĢаÑĹни": 119474, + "иÑĢÑĥ": 119475, + "ĠÑĸнÑĤеÑĢ": 119476, + "Ġаналог": 119477, + "ÑĽ": 119478, + "ีà¸ĭ": 119479, + "нÑĥли": 119480, + "ĠNinh": 119481, + "еÑĢаÑĤоÑĢ": 119482, + "Ġruce": 119483, + "ĠÑĪкÑĸ": 119484, + "ترÙĨت": 119485, + "Ġsonrası": 119486, + "Ġæį": 119487, + "ÑĨенÑĤÑĢа": 119488, + "Ġà¸Ńำà¹Ģà¸ł": 119489, + "Ø·ÙĬ": 119490, + "ï¼Įå½ĵ": 119491, + "ĠÑĤÑĢеÑħ": 119492, + "ÂłH": 119493, + "æ´ª": 119494, + "ãĥ³ãĥĦ": 119495, + "ĠвÑĸдповÑĸдалÑĮ": 119496, + "âĢĻdaki": 119497, + "áÅĻi": 119498, + "ĠpÅĻem": 119499, + "tuk": 119500, + "ĠÙ쨱ÙħÙĪØ¯": 119501, + "ĠìĿ¸ì¦Ŀ": 119502, + "สำà¸Ļ": 119503, + "ìĥģìĿĺ": 119504, + "ÅĻÃŃm": 119505, + "澤": 119506, + "ĠÑĢей": 119507, + "ĠлÑİбой": 119508, + "ujte": 119509, + "ë³µì§Ģ": 119510, + "Ġدرس": 119511, + "ĠÐĴлади": 119512, + "ĠÑģвоим": 119513, + "ĠìĿ¸íĦ°ëĦ·": 119514, + "è±Ĭ": 119515, + "Ġналог": 119516, + "ãĤĪãģ³": 119517, + "Ġخاطر": 119518, + "ĠìŀħëĭĪëĭ¤": 119519, + "ãĢĤãģĹãģĭãģĹ": 119520, + "лаг": 119521, + "å°ĸ": 119522, + "ëĭ¥": 119523, + "ìĬ¤ëĬĶ": 119524, + "ìĭłì²Ń": 119525, + "ãĥĩãĥ¼ãĤ¿": 119526, + "ĠÑĥÑĢовнÑı": 119527, + "Ġ무ìĬ¨": 119528, + "ĠاÙĦأرض": 119529, + "à¹īà¸ķ": 119530, + "Ỽt": 119531, + "ĠÙĨÛĮرÙĪ": 119532, + "墨": 119533, + "ãĤ¶ãĥ¼": 119534, + "ruba": 119535, + "ĠÙĨشدÙĩ": 119536, + "илÑı": 119537, + "acÃŃm": 119538, + "ãĥ©ãĤ¯": 119539, + "XH": 119540, + "Ġسرد": 119541, + "Ġदस": 119542, + "tember": 119543, + "ĠDoÄŁum": 119544, + "ĠпÑĢоÑĢ": 119545, + "θοÏĤ": 119546, + "ĠiÅŁe": 119547, + "à¸Ńà¸Ł": 119548, + "лаÑĪ": 119549, + "اصÙĦÙĩ": 119550, + "livÄĽ": 119551, + "ë¶Ģë¶Ħ": 119552, + "нак": 119553, + "åįģä¸ī": 119554, + "สาห": 119555, + "à¸Ľà¸£à¸°à¹Ģà¸Ĺศà¹Ħà¸Ĺย": 119556, + "ãĤŃãĥ³ãĤ°": 119557, + "ĠмеÑĤоÑİ": 119558, + "Ġkullanarak": 119559, + "âij¡": 119560, + "ÛĮزات": 119561, + "ĠÙħÙĪØ¨Ø§ÛĮÙĦ": 119562, + "ĠзнаÑĩиÑĤ": 119563, + "Ġorganizace": 119564, + "ÑĢии": 119565, + "ovna": 119566, + "Ġê²½ìłľ": 119567, + "ãĢģå½¼": 119568, + "Ġमस": 119569, + "Ġà¹Ĥà¸Ľà¸£": 119570, + "LARI": 119571, + "æĩĤ": 119572, + "Ġва": 119573, + "ĠÙĥÙĨت": 119574, + "ĠÑĢабоÑĤа": 119575, + "ÂłĠÂłĠÂł": 119576, + "好äºĨ": 119577, + "ĠzamÄĽstn": 119578, + "женÑĮ": 119579, + "Ġukon": 119580, + "nÄĽné": 119581, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 119582, + "ĠاÙĦخاصة": 119583, + "ĠÄįasu": 119584, + "å°ı说": 119585, + "ĠØŃرکت": 119586, + "æijĦ": 119587, + "ÏĩÏī": 119588, + "ĠÑģвеж": 119589, + "æĸ°éĹ»": 119590, + "Ġìĭ±": 119591, + "ĠeÄŁer": 119592, + "Ġsituace": 119593, + "Ġç·¨": 119594, + "fik": 119595, + "ë§Īëĭ¤": 119596, + "ÎķÎļ": 119597, + "Ġê°ľìµľ": 119598, + "ĠcÃł": 119599, + "ادث": 119600, + "Ġsayıda": 119601, + "ĠØ£Ù쨶ÙĦ": 119602, + "æ³ķéĻ¢": 119603, + "Ġ.,": 119604, + "ĠThương": 119605, + "ÏģÏĮÏĤ": 119606, + "ãģĹãĤĪãģĨ": 119607, + "Çİ": 119608, + "æij¸": 119609, + "Ġéϳ": 119610, + "¥IJ": 119611, + "ฤà¸Ķ": 119612, + "Ġgiảng": 119613, + "ĠлÑİбов": 119614, + "Ġekran": 119615, + "опиÑģ": 119616, + "еждÑĥ": 119617, + "Ġназва": 119618, + "æĭĵ": 119619, + "ıf": 119620, + "à¹Īà¸ģ": 119621, + "иÑĩнÑĸ": 119622, + "Ġê³Ħíļį": 119623, + "à¸łà¸²à¸Ħม": 119624, + "Ġاپ": 119625, + "리ìĿĺ": 119626, + "ãģ§ãģĻãģĮ": 119627, + "Ġkonci": 119628, + "ĠکارخاÙĨÙĩ": 119629, + "Ġä½ķ": 119630, + "ĠÑĤва": 119631, + "ĠÐŁÐ¾ÑģÑĤ": 119632, + "ĠапÑĢелÑı": 119633, + "ĠاÙĦعراÙĤ": 119634, + "ä¸Ńåįİ": 119635, + "à¹ĩà¸Ńà¸ģ": 119636, + "à¥įतà¤ķ": 119637, + "Ġzájem": 119638, + "ĠدرجÙĩ": 119639, + "Ġà¤¬à¥ľ": 119640, + "ĠÑģÑĤÑĢан": 119641, + "èŃ¦å¯Ł": 119642, + "ĠyerleÅŁtir": 119643, + "ĠVÅ©": 119644, + "ç¾İåħĥ": 119645, + "Ġì¡°ê¸Ī": 119646, + "Ġรà¸Ńà¸ĩ": 119647, + "Ġakadem": 119648, + "à¸Ħà¸ĵะ": 119649, + "Ġpozit": 119650, + "ĠkoneÄį": 119651, + "è°ĥæŁ¥": 119652, + "Ġãģĭ": 119653, + "ĠÄįervence": 119654, + "ĠOdkazy": 119655, + "ĠëıĦìĭľ": 119656, + "ัสà¸Ķ": 119657, + "Ġgái": 119658, + "ĠÐłÐ¾Ð±": 119659, + "ĠбоÑı": 119660, + "æī©": 119661, + "å¼Ģå±ķ": 119662, + "anik": 119663, + "Ġvyž": 119664, + "ĠbaÅŁlay": 119665, + "ĠbakÄ±ÅŁ": 119666, + "ekce": 119667, + "ÑģÑĤика": 119668, + "еÑĢаÑĤÑĥÑĢа": 119669, + "Ġë¶Ħë¥ĺ": 119670, + "ĠPoÄįet": 119671, + "odáÅĻ": 119672, + "ëĭĺìĿĺ": 119673, + "Ġklid": 119674, + "Û²Û¹": 119675, + "ĠÚĨÛĮز": 119676, + "mür": 119677, + "Ġsứ": 119678, + "ÙĬاÙĨØ©": 119679, + "åĬ±": 119680, + "Ġoku": 119681, + "Ġводи": 119682, + "ĠزÛĮرا": 119683, + "大åĪ©": 119684, + "ĠÙĦÛĮÙĨÚ©": 119685, + "ĠÙĬجب": 119686, + "ÙħÛĮÙĦ": 119687, + "ĠÏĥÏĦÏģα": 119688, + "æĻĵ": 119689, + "ิสà¸ķ": 119690, + "ĠÅŁiddet": 119691, + "ĠÑĢекоменда": 119692, + "Ġpožadav": 119693, + "ĠпÑĸÑģ": 119694, + "åħ¬å¼ı": 119695, + "ĠÚ¯ÛĮرÛĮ": 119696, + "кÑĤа": 119697, + "ĠÙħÙĨاطÙĤ": 119698, + "Ġfirmy": 119699, + "Ġà¹Ħà¸Ľ": 119700, + "ĠÎŃÏģγ": 119701, + "å¿«éĢŁ": 119702, + "ãģĮãģªãģĦ": 119703, + "неÑģÑĤи": 119704, + "Ġç²¾": 119705, + "ÑĢади": 119706, + "ãĤĴãģĭ": 119707, + "ﺪ": 119708, + "kynÄĽ": 119709, + "Ġहत": 119710, + "tak": 119711, + "ĠÙĬÙĪÙĨÙĬÙĪ": 119712, + "Ã¶ÄŁ": 119713, + "ĠÑĢÑĥк": 119714, + "åľĭéļĽ": 119715, + "ÑİÑģÑĮ": 119716, + "Ġдавно": 119717, + "Ġpopis": 119718, + "ĠBİL": 119719, + "ĠÙĨÙĤد": 119720, + "ĠÑģпож": 119721, + "ÑĨионнÑĭÑħ": 119722, + "ĠÑĪп": 119723, + "ÑĥÑİÑīиÑħ": 119724, + "ĠвоздÑĥÑħ": 119725, + "ÑĤие": 119726, + "ĠUž": 119727, + "ÏĮδ": 119728, + "à¸ģราà¸Ħม": 119729, + "Ġalanında": 119730, + "Ġsắt": 119731, + "ãĥIJãĤ¤": 119732, + "NgÃły": 119733, + "Ġë¹Į": 119734, + "ï¼īãģ¯": 119735, + "Ġä¿¡": 119736, + "ÐķС": 119737, + "ĠTato": 119738, + "Ġúnora": 119739, + "erap": 119740, + "Äł": 119741, + "ĠTáºŃp": 119742, + "Ġкомпании": 119743, + "ãĥ©ãĤ¤ãĥĪ": 119744, + "éľĢæ±Ĥ": 119745, + "ĠتÙĪÙĤ": 119746, + "âĢĻâĢĻ": 119747, + "ëŀįëĭĪëĭ¤": 119748, + "ĠквÑĸÑĤнÑı": 119749, + "Ġoyuncu": 119750, + "ÂĢÂĢÂĢÂĢÂĢÂĢÂĢÂĢ": 119751, + "åĨĬ": 119752, + "ĠyapmÄ±ÅŁ": 119753, + "ัà¸ĩà¹Ħม": 119754, + "ĠзапаÑħ": 119755, + "ála": 119756, + "ĠÑĤеÑħниÑĩеÑģ": 119757, + "ĠØŃص": 119758, + "รà¸Ķ": 119759, + "å¼Ħ": 119760, + "ĠÚ¯ÛĮاÙĩ": 119761, + "اÙĩرة": 119762, + "Ġà¤ıड": 119763, + "нимаеÑĤ": 119764, + "ادÙĨ": 119765, + "ÎľÎij": 119766, + "Ġ社": 119767, + "аÑĢÑĩ": 119768, + "تز": 119769, + "润": 119770, + "inizin": 119771, + "Ġbeyaz": 119772, + "ĠبÙĪÙĦ": 119773, + "åĿ¡": 119774, + "ãģ®ãĤĪãģĨãģ«": 119775, + "Ġyaptıģ": 119776, + "Ġdaģı": 119777, + "ĠbaÅŁarı": 119778, + "ĠÏĢά": 119779, + "ĠпÑĢодаж": 119780, + "Bá»Ļ": 119781, + "Ġतत": 119782, + "Ġpodstat": 119783, + "Ġæµģ": 119784, + "ĠzdravÃŃ": 119785, + "Ġç¡": 119786, + "Ġopak": 119787, + "Ġhá»įa": 119788, + "æĭĶ": 119789, + "Ñĥжд": 119790, + "Ġtrứng": 119791, + "ÙĪØ±ÙĬØ©": 119792, + "Ñĭл": 119793, + "umsuz": 119794, + "Ġسبب": 119795, + "许å¤ļ": 119796, + "å®ŀéªĮ": 119797, + "Ġболи": 119798, + "Ġduyá»ĩt": 119799, + "áºŃc": 119800, + "ĠÐijез": 119801, + "ĠبÙĦÙĨد": 119802, + "мм": 119803, + "ÑĢел": 119804, + "Nİ": 119805, + "Ġãĥ¯": 119806, + "éĭ¼": 119807, + "ĠÑģвÑı": 119808, + "ĠåIJİ": 119809, + "Ġmuht": 119810, + "ĠпÑĢоблеми": 119811, + "ĠÑĤÑıжел": 119812, + "ĠСем": 119813, + "à¸¤à¸©à¸łà¸²à¸Ħม": 119814, + "à¹Īาà¸ķ": 119815, + "örü": 119816, + "üyorum": 119817, + "ĠاÙĦØ£ØŃ": 119818, + "ĠÑģÑĤÑĢаÑĪ": 119819, + "hoo": 119820, + "धर": 119821, + "Ġtlak": 119822, + "Ġsrpna": 119823, + "ifikace": 119824, + "Ġreh": 119825, + "ĠминÑĥ": 119826, + "ãĢĢj": 119827, + "ĠгÑĢÑĥпи": 119828, + "Ġάλ": 119829, + "Ġolursa": 119830, + "λογία": 119831, + "ĠÐĴик": 119832, + "Ġmücadel": 119833, + "ĠzávÄĽ": 119834, + "ĠÑĦевÑĢа": 119835, + "Äįná": 119836, + "à¹Įà¹Ģà¸ĭ": 119837, + "ĠÙĦÙĦØŃ": 119838, + "ÑĢип": 119839, + "ĠбÑĥк": 119840, + "ãģĪãģªãģĦ": 119841, + "Ġporad": 119842, + "Ġsamostat": 119843, + "Ġtesis": 119844, + "ابÙĤÙĩ": 119845, + "ĠجدÙĬدة": 119846, + "éĢĴ": 119847, + "âĶģâĶ": 119848, + "سÛĮÙĨ": 119849, + "ĠgerektiÄŁini": 119850, + "ียà¸Ļà¸ļ": 119851, + "è¨Ģãģ£ãģ¦": 119852, + "ĠÑĸнÑĤеÑĢеÑģ": 119853, + "ĠÑıким": 119854, + "ĠæĢ»": 119855, + "kovou": 119856, + "Ġdemek": 119857, + "اÙĨÙĬا": 119858, + "Ġdomů": 119859, + "Å¡nÃŃ": 119860, + "ateÅĻ": 119861, + "åĢ«": 119862, + "δοÏĥη": 119863, + "Ġ기ìĹħ": 119864, + "åĶĩ": 119865, + "ì¹ł": 119866, + "ÑĸдÑĥ": 119867, + "린ìĿ´": 119868, + "æľĢåĪĿ": 119869, + "è¸ı": 119870, + "æĥ³åΰ": 119871, + "à¥įबर": 119872, + "ĠìŀĶ": 119873, + "ĠÑĢазнÑĭÑħ": 119874, + "krom": 119875, + "ιαν": 119876, + "ĠдÑĢÑĥз": 119877, + "仿": 119878, + "Ġê·¸ëłĩ": 119879, + "ĠдалÑĸ": 119880, + "æķĪæŀľ": 119881, + "Ġहव": 119882, + "è¼Ŀ": 119883, + "Ġì°¸ê³ł": 119884, + "ĠìĨĶ": 119885, + "Ġznal": 119886, + "ĠпеÑĢÑģ": 119887, + "ÙIJÙij": 119888, + "ĠÑĤеж": 119889, + "åĭŁ": 119890, + "ιθ": 119891, + "Äįů": 119892, + "Ġekip": 119893, + "Ġkhung": 119894, + "éĹĺ": 119895, + "ĠتصÙħÛĮÙħ": 119896, + "оиÑĤ": 119897, + "ĠÑħол": 119898, + "æĬŀ": 119899, + "amam": 119900, + "Ġâĸ³": 119901, + "ãģĩ": 119902, + "ĠعÙĨÙĩ": 119903, + "Ġì°¸ê°Ģ": 119904, + "ĠÎļÏĮ": 119905, + "åı¤å±ĭ": 119906, + "ковоÑĹ": 119907, + "ศà¸Ī": 119908, + "ологиÑı": 119909, + "ĠÙħثبت": 119910, + "ĠÐļÑĢаÑĹна": 119911, + "ĠмеÑģÑıÑĨев": 119912, + "Ġalınan": 119913, + "ĠÏĢÏģαγμα": 119914, + "Ġìŀ¡ëĭ´": 119915, + "Ġплод": 119916, + "ĠÑĤкани": 119917, + "ÑģÑĭлки": 119918, + "سطس": 119919, + "ranÄĽ": 119920, + "каж": 119921, + "емаÑĤи": 119922, + "ĠزÛĮست": 119923, + "æ¿Ł": 119924, + "Ġpoplat": 119925, + "γÎŃν": 119926, + "íĨłíĨł": 119927, + "Ġtây": 119928, + "Ġìµľê·¼": 119929, + "ãĥ©ãĥ³ãĤ¹": 119930, + "ĠgüneÅŁ": 119931, + "ĠÙģÙĤ": 119932, + "ĠsaÄŁlayan": 119933, + "ĠØŃزب": 119934, + "à¥ģलन": 119935, + "ĠBilim": 119936, + "ĠBatı": 119937, + "æł·çļĦ": 119938, + "δικ": 119939, + "αÏģίοÏħ": 119940, + "ĠìĽĢ": 119941, + "Ġlá»Ńa": 119942, + "ÙĨÙĪØ¹": 119943, + "çݲ": 119944, + "аном": 119945, + "ĠstátnÃŃ": 119946, + "Ġäºİ": 119947, + "Ġmùi": 119948, + "ĠÄijá»Ļt": 119949, + "æ²ĥ": 119950, + "åħ¬åľĴ": 119951, + "ĠÑģÑĮогоднÑĸ": 119952, + "ноÑģи": 119953, + "Za": 119954, + "Ġдли": 119955, + "ĠÏĥÏħνÎŃ": 119956, + "ĠVá»ĭ": 119957, + "mav": 119958, + "ĠMüslüman": 119959, + "/ï¼ı": 119960, + "ĠзаÑīиÑĤ": 119961, + "éĸī": 119962, + "Ġçģ«": 119963, + "Ġå·Ŀ": 119964, + "Ġаж": 119965, + "è¿ĩæĿ¥": 119966, + "à¸Ĺาà¸Ļ": 119967, + "ĠAraÅŁtır": 119968, + "Õ¡Õ": 119969, + "ĠpomÄĽr": 119970, + "Ġdům": 119971, + "妮": 119972, + "ĠhlavnÄĽ": 119973, + "Ġfinans": 119974, + "ĠγνÏī": 119975, + "ÏĥÏĦημα": 119976, + "ï¼Įç͍": 119977, + "ìĭŃìĭľìĺ¤": 119978, + "ĠÙħثاÙĦ": 119979, + "-Ðij": 119980, + "ÑĨÑĸйнÑĸ": 119981, + "ĠدستÙĩ": 119982, + "à¥īस": 119983, + "ÑĢÑĸп": 119984, + "ĠpÅĻipom": 119985, + "ĠÙĪÙĦÙĬ": 119986, + "ĠÙĪØ²ÙĨ": 119987, + "Ġelektrik": 119988, + "ĠQuân": 119989, + "ivé": 119990, + "Ġlẽ": 119991, + "ç®Ģåįķ": 119992, + "Ġonlara": 119993, + "оÑģлав": 119994, + "ìĭľíĤ¤": 119995, + "몬": 119996, + "ĠÙħÙĤدار": 119997, + "ĠOrta": 119998, + "ĠSeç": 119999, + "ĠÙĨÙĪÙģÙħبر": 120000, + "ุà¸Ļายà¸Ļ": 120001, + "ĠÑĥмови": 120002, + "Ġपरम": 120003, + "Ġstrom": 120004, + "ĠкÑĢаÑīе": 120005, + "秦": 120006, + "缸æīĭ": 120007, + "鼻è¦ĸ": 120008, + "Ġuygulama": 120009, + "ĠÑĢиз": 120010, + "æĪ²": 120011, + "यर": 120012, + "ĠHlav": 120013, + "Ġìĭ¸": 120014, + "ĠлипнÑı": 120015, + "ÅĪujÃŃ": 120016, + "ÑĢиз": 120017, + "é«ĺéĢŁ": 120018, + "缸å½ĵ": 120019, + "kenin": 120020, + "ĠоÑģÑĤанов": 120021, + "Ġbitk": 120022, + "ovaného": 120023, + "ĠÐľÐ°ÑĢи": 120024, + "èµ¶": 120025, + "콩": 120026, + "Ġölçü": 120027, + "ĠСеÑĢед": 120028, + "ĠThá»Ŀi": 120029, + "Ïīνα": 120030, + "ÙĪØ¨Ø©": 120031, + "Ġchụp": 120032, + "âĢĮد": 120033, + "Ġcháy": 120034, + "ĠÐĴели": 120035, + "ĠобÑģÑĤ": 120036, + "Ġìĭľì¦Į": 120037, + "دÙħØ©": 120038, + "под": 120039, + "lue": 120040, + "ĠдÑĸлÑıн": 120041, + "ĠÙ¾ÙĪØ³Øª": 120042, + "ĠاÙĦÙĨس": 120043, + "èĤĮ": 120044, + "ìĪĺ를": 120045, + "Ġúrov": 120046, + "ĠÙħØ´Ú©ÙĦ": 120047, + "éĩįè¤ĩéĩįè¤ĩ": 120048, + "нез": 120049, + "ĠdoporuÄį": 120050, + "Ġtasarım": 120051, + "íģ¬ê¸°": 120052, + "ìĿ´ìħĺ": 120053, + "Ġdeset": 120054, + "ĠÙħرتبط": 120055, + "ัà¸Ĵà¸Ļา": 120056, + "'ı": 120057, + "Ñĩки": 120058, + "ĠìŀĪëįĺ": 120059, + "ÑĪка": 120060, + "nám": 120061, + "ÑģÑĤÑĢов": 120062, + "à¥įसर": 120063, + "нÑĥлаÑģÑĮ": 120064, + "ãģ¡ãĤĩãģ£ãģ¨": 120065, + "Ġå¦": 120066, + "γÏĮ": 120067, + "Ġé»ij": 120068, + "Xem": 120069, + "Ġtá»ĩ": 120070, + "ĠëĮĢíĨµëł¹": 120071, + "기ê´Ģ": 120072, + "æīįèĥ½": 120073, + "è¯Ńè¨Ģ": 120074, + "edeyse": 120075, + "ĠТÑĭ": 120076, + "ĠÑģоедин": 120077, + "ĠìĹĨìĬµëĭĪëĭ¤": 120078, + "ÑıÑİÑĤ": 120079, + "à¹ģหล": 120080, + "Ġì§Ģë°©": 120081, + "ĠosobnÃŃ": 120082, + "ÛĮÙĦÛĮ": 120083, + "ĠавгÑĥÑģÑĤа": 120084, + "Ñīик": 120085, + "Ġvýše": 120086, + "gth": 120087, + "ĠÏĢαν": 120088, + "جار": 120089, + "Ġвидов": 120090, + "ìĿ´ìĬĪ": 120091, + "ĠÐijаÑĢ": 120092, + "ĠÏĮÏĢοÏħ": 120093, + "æ¤ħ": 120094, + "ĠعاÙĦÛĮ": 120095, + "ĠQuyết": 120096, + "ÃľM": 120097, + "ãĥĿãĤ¤ãĥ³ãĥĪ": 120098, + "Ġê¹Į": 120099, + "Ġканди": 120100, + "kového": 120101, + "ĠMerkez": 120102, + "Ġyiy": 120103, + "ĠpÅĻÃŃspÄĽ": 120104, + "ĠÑĤемпеÑĢаÑĤÑĥÑĢÑĭ": 120105, + "ĠÙ¾ÙĬ": 120106, + "ฤศà¸Ī": 120107, + "è°ĥç͍": 120108, + "ĠÑģÑĤоÑĢонÑĥ": 120109, + "à¹īà¸Ĭ": 120110, + "好ãģį": 120111, + ".Åŀ": 120112, + "ĠпÑĢоз": 120113, + "ÙĨتاج": 120114, + "鼻åŃIJ": 120115, + ".:.:.": 120116, + "è¨ĵ": 120117, + "иÑĩеÑģкое": 120118, + "Ġноги": 120119, + "ĠλÎŃ": 120120, + "Ġsıkıntı": 120121, + "Ġê°Ģ족": 120122, + "ĠتÙĨظÙĬÙģ": 120123, + "Ġödül": 120124, + "ĠaÅŁaģıdaki": 120125, + "Ġželez": 120126, + "ĠاÙĦعدÙĬد": 120127, + "غÙĨ": 120128, + "ĠоконÑĩ": 120129, + "ÑĢемÑı": 120130, + "Lİ": 120131, + "Ġnejd": 120132, + "ĠÏĢλα": 120133, + "Ñģко": 120134, + "ĠìĪĻ": 120135, + "ĠÙ¾ÙĪÙĦ": 120136, + "θενήÏĤ": 120137, + "Ġ주ìļĶ": 120138, + "ĠæĬ¥": 120139, + "ĠÙħÙħا": 120140, + "ÐłÐ¡Ðł": 120141, + "ĠÑĢадÑĸ": 120142, + "ä¸Ģç§į": 120143, + "é¾Ħ": 120144, + "Ġsöyl": 120145, + "Ïģκεια": 120146, + "ĠземлÑĸ": 120147, + "ĠveÄįer": 120148, + "geç": 120149, + "ستÙħ": 120150, + "Ġsefer": 120151, + "ĠÑģвÑĸд": 120152, + "ï»Łï»": 120153, + "алов": 120154, + "ìĬ¤ë¥¼": 120155, + "âī¥": 120156, + "ĠتÙĦÙģÙĨ": 120157, + "åİ»äºĨ": 120158, + "़à¥ĭà¤Ĥ": 120159, + "ĠÑĦоÑĢме": 120160, + "düm": 120161, + "åħģ": 120162, + "ÑĢап": 120163, + "ĠVương": 120164, + "à¸Ńะà¹Ħร": 120165, + "ัà¸ģษà¸ĵ": 120166, + "Ġåį³": 120167, + "ĠاÙĦرÙħ": 120168, + "ĠзаÑħиÑģÑĤÑĥ": 120169, + "°E": 120170, + "odÃŃ": 120171, + "Ġवन": 120172, + "ĠÄijèn": 120173, + "ĠåıĹ": 120174, + "èIJ½ãģ¡": 120175, + "Ġzim": 120176, + "리ì¦Ī": 120177, + "èĪĴ": 120178, + "ĠзбÑĸÑĢ": 120179, + "Ġä»·æł¼": 120180, + "ĠлÑİдина": 120181, + "ĠÐŁÐ¾ÑģиланнÑı": 120182, + "иÑī": 120183, + "ĠΨ": 120184, + "ิà¸ģายà¸Ļ": 120185, + "Ġbudete": 120186, + "ĠзÑĢоÑģÑĤ": 120187, + "Ġvyk": 120188, + "ĠÐĹем": 120189, + "ĠиÑİнÑı": 120190, + "ĠmÄĽlo": 120191, + "ÙĦاÙģ": 120192, + "ĠÙĪØ´": 120193, + "ĠÑģпÑĢави": 120194, + "ãģĻãģİ": 120195, + "ĠгÑĢадÑĥ": 120196, + "Roz": 120197, + "ινή": 120198, + "Ġchá»ĵng": 120199, + "ä¸Ģåį·": 120200, + "ĠXem": 120201, + "ĠÑģимвол": 120202, + "ĠodmÃŃt": 120203, + "ĠÑĢÑıдом": 120204, + "ĠÑĩеÑĢвнÑı": 120205, + "à¸ģระà¸Ĺ": 120206, + "人人": 120207, + "æ°ĹæĮģãģ¡": 120208, + "undaki": 120209, + "åľĭå®¶": 120210, + "εÏģμαν": 120211, + "ĠлÑĮ": 120212, + "ĠNüfus": 120213, + "ĠмеÑĢе": 120214, + "براÙĬر": 120215, + "наннÑı": 120216, + "ĠнаÑĢ": 120217, + "Ġtấm": 120218, + "æĸ½å·¥": 120219, + "顯": 120220, + "Ġhè": 120221, + "æĺİçϽ": 120222, + "Ġдогов": 120223, + "ĠÙ쨱Ùħ": 120224, + "èĢĹ": 120225, + "ìĬ¤ìĿĺ": 120226, + "ìĦ¸ëĮĢ": 120227, + "è¯ļ": 120228, + "ĠнеболÑĮ": 120229, + "Ġà¸Ľà¸£à¸°à¸ģ": 120230, + "Ġì¹¼": 120231, + "Ġovliv": 120232, + "ĠNGC": 120233, + "ãĢĤä¸į": 120234, + "اÙĦÙī": 120235, + "æī£": 120236, + ".ÐIJ": 120237, + "ÑĢаÑģÑĤа": 120238, + "ĠÃĩev": 120239, + "ãģ£ãģ¡": 120240, + "ï¼Įéĥ½": 120241, + "ĠrovnÄĽÅ¾": 120242, + "ĠÏĩÏģÏĮνια": 120243, + "Ġì¡°ìĦł": 120244, + "Ġآباد": 120245, + "ĠÐľÐ°Ñģ": 120246, + "çϼå±ķ": 120247, + "ä»Ķ": 120248, + "Ġkendisini": 120249, + "à¹Īà¸Ńà¸ĩà¹Ģà¸Ĺ": 120250, + "ĠVÄĽ": 120251, + "Ġrượu": 120252, + "Ġmáme": 120253, + "ĠоÑĩеÑĢедÑĮ": 120254, + "ĠسبتÙħبر": 120255, + "Ġбок": 120256, + "ì§ĢìĹŃ": 120257, + "ĠتاثÛĮر": 120258, + "Ġlisans": 120259, + "Ġgerektir": 120260, + "Ġsizi": 120261, + "Ñĸно": 120262, + "ĠMÃ¼ÅŁ": 120263, + "ãģıãĤīãģĦ": 120264, + "ĠзаклÑİÑĩ": 120265, + "ãģĵãģ¨ãģ«": 120266, + "è¨ĢãģĦ": 120267, + "ãĢģå°ı": 120268, + "Ġetmektedir": 120269, + "åł±åijĬ": 120270, + "ĠkarÄ±ÅŁ": 120271, + "Ġоблад": 120272, + "å¥ij": 120273, + "racat": 120274, + "ĠارتÙģØ§Ø¹": 120275, + "μαι": 120276, + "íĶĪ": 120277, + "ĠÙĪÙĦÙħ": 120278, + "ëĬĶì§Ģ": 120279, + "lomou": 120280, + "ĠлиÑĨа": 120281, + "ĠìĿĮìķħ": 120282, + "ĠhodnÄĽ": 120283, + "èĭ±æĸĩ": 120284, + "ÂĦ": 120285, + "à¹īาà¸Ĥà¸Ńà¸ĩ": 120286, + "Ġê³Ħìķ½": 120287, + "åIJĦç§į": 120288, + "ĠÙħرگ": 120289, + "éĶģ": 120290, + "Ġनद": 120291, + "ãĥĭãĥ¡": 120292, + "Ġем": 120293, + "ĠeleÅŁtir": 120294, + "ĠíĬ¹ë³Ħ": 120295, + "ĠÎ¥ÏĢο": 120296, + "Å¡ker": 120297, + "LERİ": 120298, + "æ²Ī": 120299, + "likleri": 120300, + "ĠÙħÙĩÙĨدسÛĮ": 120301, + "Ġbaģır": 120302, + "dıģını": 120303, + "ĠاÙĦتد": 120304, + "à¸¸à¸Ľà¸ģรà¸ĵ": 120305, + "ĠÑģледÑĥÑİÑīие": 120306, + "Ġì§ģìłij": 120307, + "å°¤": 120308, + "ĠоÑģновÑĸ": 120309, + "ĠtÄĽla": 120310, + "Ġпак": 120311, + "izace": 120312, + "Ġnárod": 120313, + "aný": 120314, + "ĠÑįп": 120315, + "Ġüçüncü": 120316, + "ΥΡ": 120317, + "éĨ´éĨ´": 120318, + "à¹Ģà¸ģà¸Ńร": 120319, + "âĢĮاÙĨبار": 120320, + "ç¶Ļ": 120321, + "ÎijÎł": 120322, + "ılıģı": 120323, + "ĠÃľrün": 120324, + "Ġдозвол": 120325, + "ĠíĥĪ": 120326, + "Ġà¤ĵवर": 120327, + "諸": 120328, + "èĺĩ": 120329, + "ĠпÑĢоÑģÑĤÑĢан": 120330, + "éĿĴå¹´": 120331, + "ã쮿ĸ¹": 120332, + "ĠÚĨÚ¯ÙĪÙĨÙĩ": 120333, + "ÙĦØ·": 120334, + "âĢľæĪij": 120335, + "Ġëĭ¤ìļ´ë°Ľ": 120336, + "ा.Ċ": 120337, + "Ġmücadele": 120338, + "ĠcÃŃt": 120339, + "à¹Īวมà¸ģ": 120340, + "ģına": 120341, + "ê°ľë°ľ": 120342, + "ĠÏĢαιδ": 120343, + "ضاÛĮ": 120344, + "Ġborç": 120345, + "íĬľ": 120346, + "ĠخدÙħت": 120347, + "Ġudál": 120348, + "Ġвиг": 120349, + "Ġë°°ìĨ¡": 120350, + "å¹¾": 120351, + "ÙİØ¬": 120352, + "ĠìĹĺ": 120353, + "ç̬": 120354, + "ïĢ": 120355, + "ĠÎijθή": 120356, + "пÑĢиклад": 120357, + "ĠпÑĢиÑĩина": 120358, + "ĠÙģØ´Ø§Ø±": 120359, + "滿": 120360, + "Ġdostat": 120361, + "Ġ졸ìĹħ": 120362, + "Ġارز": 120363, + "ÙĪÙĦÙĪØ¬": 120364, + "سÙĪ": 120365, + "æĺłçĶ»": 120366, + "Ġthôi": 120367, + "Ġ³³³": 120368, + "à¹ģà¸Ļะ": 120369, + "è¨ŃåĤĻ": 120370, + "Ġмногие": 120371, + "ÑĤоÑĦ": 120372, + "iÅ¡tÄĽ": 120373, + "à¤Ĺढ": 120374, + "ĠиндивидÑĥ": 120375, + "ĠìĥĿíĻľ": 120376, + "ĠзовÑģÑĸм": 120377, + "íĥķ": 120378, + "çľł": 120379, + "ĠêµŃëĤ´": 120380, + "eptal": 120381, + "raci": 120382, + "è¡¡": 120383, + "ãĦ·": 120384, + "ĠStÅĻed": 120385, + "اÙĦÙĬا": 120386, + "ΣΤ": 120387, + "Ľ°": 120388, + "ãĥīãĥ«": 120389, + "ázÃŃ": 120390, + "ĠаÑģп": 120391, + "ĠdÄ±ÅŁarı": 120392, + "ĠвиÑĢобниÑĨÑĤва": 120393, + "eza": 120394, + "ï¼Įä¸įè¿ĩ": 120395, + "çĥ¦": 120396, + "ãĥ³ãĤ°ãĥ«": 120397, + "Ġrozvoj": 120398, + "ĠÙħÙĨتشر": 120399, + "ĠÑĥÑĤеп": 120400, + "ĠدÙĬÙĨ": 120401, + "ĠзаÑģобÑĸв": 120402, + "Ngưá»Ŀi": 120403, + "ãĤ·ãĥ¼": 120404, + "ĠFransız": 120405, + "ÎĻΤ": 120406, + "ائÙģ": 120407, + "ιÏĩ": 120408, + "ีà¹Ģม": 120409, + "à¥įमन": 120410, + "à¥įमà¤ļ": 120411, + "Ġسعر": 120412, + "ï¾Ŀ": 120413, + "ë°©ë²ķ": 120414, + "ĠСо": 120415, + "Ġà¤ĸबर": 120416, + "ìĨĮê°ľ": 120417, + "Ġslova": 120418, + "QPCP": 120419, + "ĠKız": 120420, + "Ø·Ù쨧ÙĦ": 120421, + "ĠкоÑĢм": 120422, + "ĠìĹħëį°ìĿ´íĬ¸": 120423, + "espoÅĪ": 120424, + "à¸Ķาว": 120425, + "оÑĢом": 120426, + "ĠгÑĢаÑĦ": 120427, + "ĠпÑĸÑĪ": 120428, + "Ġë¿IJ": 120429, + "ýv": 120430, + "Сам": 120431, + "Ġkrev": 120432, + "ĠBunu": 120433, + "Ġzobraz": 120434, + "ĠسخÙĨ": 120435, + "ĠæĶ¯": 120436, + "лÑİб": 120437, + "ÙİØ§ÙĨ": 120438, + "маÑĤÑĢива": 120439, + "λεÏį": 120440, + "ĠпоÑħод": 120441, + "ĠгÑĢе": 120442, + "çľĭçĿĢ": 120443, + "à¸Īำà¸ģ": 120444, + "ัà¸ĩà¸Ħม": 120445, + "Ġseçenek": 120446, + "İstanbul": 120447, + "ĠвÑĸдмов": 120448, + "miyor": 120449, + "Ġmụn": 120450, + "ìĿ´ìĹIJ": 120451, + "ĠNhư": 120452, + "Âłtom": 120453, + "lıkları": 120454, + "ÂłÄij": 120455, + "ãĥ»ãĥŀ": 120456, + "ĠÙģØª": 120457, + "ĠFakültesi": 120458, + "ìłĦíŀĪ": 120459, + "éªij": 120460, + "ĠìŀijìĿĢ": 120461, + "ç¼ĺ": 120462, + "ìºIJ": 120463, + "Ġmüzik": 120464, + "алÑĭ": 120465, + "Ġpozem": 120466, + "çĥ§": 120467, + "Ġ常": 120468, + "Å¡il": 120469, + "à¤Ĩप": 120470, + "à¸ģำหà¸Ļà¸Ķ": 120471, + "Ġگردش": 120472, + "λιά": 120473, + "Ġöden": 120474, + "åıªè¦ģ": 120475, + "ĠÄIJo": 120476, + "Ġstratej": 120477, + "ĠÙĩتÙĦ": 120478, + "ÙĤÙģ": 120479, + "Ġkullanılır": 120480, + "ĠÑģпоÑģÑĤ": 120481, + "ĠnÄĽho": 120482, + "ĠÐŁÐµÑĢед": 120483, + "ĠизмеÑĢ": 120484, + "]]>": 120485, + "ĠнÑĸколи": 120486, + "Ġhayal": 120487, + "ĠдодаÑĤков": 120488, + "Ġनà¤ķ": 120489, + "Ġinsanın": 120490, + "à¸¸à¸¡à¸łà¸²à¸ŀ": 120491, + "ografie": 120492, + "воб": 120493, + "ĠاÙĨساÙĨÛĮ": 120494, + "Ġmük": 120495, + "ĠÑĥмеÑĢ": 120496, + "оÑĩнÑĭе": 120497, + "ëıĦìĿĺ": 120498, + "Ġara": 120499, + "Ġ빨": 120500, + "ĠκÏį": 120501, + "лой": 120502, + "Ñģион": 120503, + "ĠrozdÃŃl": 120504, + "ayıf": 120505, + "ĠÙĪØ§ØŃدة": 120506, + "оÑĢалÑĮ": 120507, + "Ġpochop": 120508, + "éļ¨": 120509, + "à¹īà¸Ńà¸ĩà¸Ļ": 120510, + "ĠÙĪØ§ÙĨ": 120511, + "ξε": 120512, + "Ġμον": 120513, + "ÑĥÑĪка": 120514, + "ordum": 120515, + "æ¸ħæ¥ļ": 120516, + "ĠDeÄŁ": 120517, + "ÏĢÏģο": 120518, + "ĠÙĪØ§ÙĦتÙĬ": 120519, + "Ġpokus": 120520, + "íĽĦ기": 120521, + "饮": 120522, + "æĹħè¡Į": 120523, + "ĠженÑīин": 120524, + "ĠdoÄŁrudan": 120525, + "ĠÑıб": 120526, + "ĠzaÄįÃŃ": 120527, + "Ġë³´ìŬ": 120528, + "-CP": 120529, + "åIJ¨": 120530, + "à¥ĭà¤ĸ": 120531, + "ÑĢогÑĢа": 120532, + "lerdi": 120533, + "ìĬ´": 120534, + "ÙıÙĪØ§": 120535, + "ĠustanovenÃŃ": 120536, + "ĠдоÑģÑĤав": 120537, + "Ġfırsat": 120538, + "ĠاÙĦÙħÙĩÙĨØ©": 120539, + "ĠвеÑīеÑģÑĤва": 120540, + "ĠнеÑģп": 120541, + "ĠاÙĦکترÙĪÙĨ": 120542, + "taÅŁ": 120543, + "æĪĴ": 120544, + "Ġyurt": 120545, + "Ġgirdi": 120546, + "ĠÐļÑĥб": 120547, + "Ġ를": 120548, + "ุà¹Į": 120549, + "ãģĿãģĨãģª": 120550, + "à¹īĊ": 120551, + "ĠвÑĭбÑĢа": 120552, + "kovÄĽ": 120553, + "ĠSiz": 120554, + "ĠگاÙĩ": 120555, + "ĠЧаÑģ": 120556, + "ĠзгÑĸдно": 120557, + ".ÐŁ": 120558, + "å§Ĭ": 120559, + "ĠÐļÑĥÑĢ": 120560, + "ĠìĿĺíķ´": 120561, + "Ġetraf": 120562, + "ĠкаÑĪ": 120563, + "ĠØ·ÛĮ": 120564, + "ξει": 120565, + "ç²Ĵ": 120566, + "Ġآذ": 120567, + "Ġbölge": 120568, + "Ġà¤®à¤ľà¤¬": 120569, + "ÙIJÙĥ": 120570, + "Ġválky": 120571, + "ãģłãĤĪ": 120572, + "Ġmesaj": 120573, + "ĠpÅĻist": 120574, + "Ġtypu": 120575, + "ĠкиÑĪеÑĩ": 120576, + "ãĤīãģ®": 120577, + "Ġkendisi": 120578, + "ĠвÑĸдбÑĥва": 120579, + "侯": 120580, + "Ġдиза": 120581, + "ãĢĢĊ": 120582, + "ĠпÑĢоÑĨеÑģÑĥ": 120583, + "ĠÑįлекÑĤÑĢ": 120584, + "_PUS": 120585, + "ĠмногиÑħ": 120586, + "Ġkém": 120587, + "æŀª": 120588, + "çݰ代": 120589, + "Ġéħį": 120590, + "ë¡Ń": 120591, + "ÑĤиÑģÑı": 120592, + "Ġlục": 120593, + "ĠÙĪØ§ÙĦØŃ": 120594, + "ptal": 120595, + "ẵng": 120596, + "ÏĢλ": 120597, + "Ġdolu": 120598, + "Ġtòa": 120599, + "Ġиногда": 120600, + "ĠпоÑĢÑıдок": 120601, + "ЯкÑīо": 120602, + "âĶĺ": 120603, + "ĠغربÛĮ": 120604, + "ç§»åĬ¨": 120605, + "ยà¸Ļà¸ķร": 120606, + "HDATA": 120607, + "_PUSHDATA": 120608, + "Ġثابت": 120609, + "åĮħåIJ«": 120610, + "ĠÏĢÏģÎŃÏĢει": 120611, + "़à¥ĭ": 120612, + "åIJįåīį": 120613, + "ÑĤеÑĢи": 120614, + "ッ": 120615, + "ĠåħĪ": 120616, + "нед": 120617, + "ÏģοÏįν": 120618, + "вей": 120619, + "èĤĸ": 120620, + "ĠÅĻeditel": 120621, + "Ġthép": 120622, + "ĠÙĩÙģØªÙĩ": 120623, + "ĠдÑĢÑĥга": 120624, + "ERİ": 120625, + "ĠẢ": 120626, + "ĠпеÑĢеÑĢ": 120627, + "ĠжеÑģÑĤ": 120628, + "ĠÄijẳng": 120629, + "禮": 120630, + "алÑĮном": 120631, + "िषय": 120632, + "иденÑĤа": 120633, + "ĠآخرÛĮÙĨ": 120634, + "Ġæĵ": 120635, + "Ġมหาว": 120636, + "ĠлÑİÑĤого": 120637, + "ĠбÑĸзнеÑģ": 120638, + "gıç": 120639, + "Ġngá»ĵi": 120640, + "оÑĩнÑĭй": 120641, + "ĠoÄįek": 120642, + "ĠÙħرة": 120643, + "Ġtvar": 120644, + "ĠsamozÅĻejmÄĽ": 120645, + "ĠBelediye": 120646, + "Ġвода": 120647, + "ĠÚ¯ÛĮرد": 120648, + "ĠгодÑĭ": 120649, + "ãģ«è¡Į": 120650, + "æĺ¯æĪij": 120651, + "ÑĪили": 120652, + "ĠåĽ½äº§": 120653, + "á»§i": 120654, + "ĠбÑĥдÑĥÑĤÑĮ": 120655, + "ĠÑĢайонÑĥ": 120656, + "Ġìĵ": 120657, + "ĠÙĪØ§Ø³": 120658, + "ĠاÛĮشاÙĨ": 120659, + "ενοδο": 120660, + "Ġнезалеж": 120661, + "Ġپشت": 120662, + "ĠgiriÅŁim": 120663, + "Ġделе": 120664, + "ĠاصÙģÙĩاÙĨ": 120665, + "à¸Ķวà¸ģ": 120666, + "ĠاÙĦÙĤÙĬ": 120667, + "à¹Įà¸Ī": 120668, + "못": 120669, + "Ġdru": 120670, + "迹": 120671, + "адженнÑı": 120672, + "ÙģÙĨ": 120673, + "ÏĩοÏĤ": 120674, + "à¹Ĥà¸Ī": 120675, + "eyle": 120676, + "å¡ij": 120677, + "Ġuprav": 120678, + "ĠздаÑĤ": 120679, + "ĠvidÄĽt": 120680, + "Ġà¸Ľà¸£": 120681, + "ĠÑĦеÑĢ": 120682, + "ÐĨн": 120683, + "Ġìµľìĭł": 120684, + "loha": 120685, + "ĠиÑģпÑĭÑĤ": 120686, + "Ġavan": 120687, + "γοÏħ": 120688, + "ĠGiấy": 120689, + "ãĤ»ãĥ³ãĤ¿ãĥ¼": 120690, + "éģį": 120691, + "еÑĢаÑħ": 120692, + "Ġê°Ģì§Ģê³ł": 120693, + "Ġид": 120694, + "Ġmnohem": 120695, + "æ£Ģæµĭ": 120696, + "Ġetme": 120697, + "ĠتÙħر": 120698, + "ĠbaÅŁlayan": 120699, + "ãģıãĤĮ": 120700, + "à¹ĩà¸Ļà¸ģาร": 120701, + "ĠÑħаÑĢакÑĤеÑĢиз": 120702, + "Ġanlamına": 120703, + "ÙıÙĩ": 120704, + "ĠÑģеÑĢпнÑı": 120705, + "çķªçµĦ": 120706, + "Ġmsgid": 120707, + "ĠzvÃŃÅĻ": 120708, + "ĠíļĮìĽIJ": 120709, + "Ġyapar": 120710, + "ä¼ĺåĬ¿": 120711, + "еннÑĭми": 120712, + "Ġأث": 120713, + "ì²Ļ": 120714, + "Ġjiného": 120715, + "ĠدÙģØ§Ø¹": 120716, + "ĠØŃÚ©ÙĪÙħ": 120717, + "Ġrizik": 120718, + "άλι": 120719, + "à¸ĩà¸Ĥ": 120720, + "èµ¢": 120721, + "ĠÎķÎĽ": 120722, + "Ġokum": 120723, + "æĶ¶åħ¥": 120724, + "ĠÚĨÛĮÙĨ": 120725, + "æľīçļĦ": 120726, + "ÑĨами": 120727, + "dÄĽnÃŃ": 120728, + "ĠкоÑĢаб": 120729, + "Ġalanda": 120730, + "สà¸Ļาม": 120731, + "ï¼īãģ®": 120732, + "ısız": 120733, + "ÙĬÙĬر": 120734, + "ÙĥÙĬØ©": 120735, + "ĠneboÅ¥": 120736, + "Ġbitir": 120737, + "Ġãĥľ": 120738, + "Ùijا": 120739, + "ï¼Ĩ": 120740, + "ĠاÙĦتارÙĬØ®": 120741, + "มหาà¸Ļà¸Ħร": 120742, + "atürk": 120743, + "ãĤ¹ãĥĨãĥł": 120744, + "θήκη": 120745, + "Ġκαν": 120746, + "ĠSür": 120747, + "ĠdÄ±ÅŁÄ±": 120748, + "Ġkancel": 120749, + "Ġپخش": 120750, + "hPa": 120751, + "ĠÄįt": 120752, + "ĠпÑĢоÑħ": 120753, + "à¹īà¸Ī": 120754, + "Ġê±°ìķ¼": 120755, + "ĠдеÑĢжавного": 120756, + "èĤ¡ä¸ľ": 120757, + "ìĿ´íģ¬": 120758, + "ÙĥتÙĪØ±": 120759, + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 120760, + "診": 120761, + "ĠبÙħا": 120762, + "ĠноÑĢмаÑĤив": 120763, + "çiler": 120764, + "à¸ĩศ": 120765, + "éĽĨä¸Ń": 120766, + "ÑĢиÑģ": 120767, + "ÑĩаÑĶ": 120768, + "liÄŁin": 120769, + "ãĥ¼ãĤ¿ãĥ¼": 120770, + "аÑĢаÑĤ": 120771, + "åĬĽéĩı": 120772, + "ĠÑģÑħем": 120773, + "åħ¥åı£": 120774, + "离å¼Ģ": 120775, + "ÏģοÏĨοÏģίεÏĤ": 120776, + "ĠÐĹаÑĤем": 120777, + "ĠkarÅŁÄ±sında": 120778, + "ĠاÙĨتظ": 120779, + "ï½Ĭ": 120780, + "ĠeÅŁit": 120781, + "Ġyazılı": 120782, + "Ðļом": 120783, + "ازÙĬ": 120784, + "Ġkimse": 120785, + "ÑĢаÑīи": 120786, + "ัà¸ģส": 120787, + "Ġkanun": 120788, + "ĠëIJĺìĹĪ": 120789, + "ĠιÏĥÏĩ": 120790, + "Ġмеди": 120791, + "æ°§": 120792, + "ï¼Įåħ¶ä¸Ń": 120793, + "Ġyoktu": 120794, + "ĠãĤ½": 120795, + "ĠпÑĢиобÑĢеÑĤ": 120796, + "ÙĪÛĮØ´": 120797, + "ãħłãħł": 120798, + "ĠکردÙħ": 120799, + "Ġduvar": 120800, + "Ġç¸": 120801, + "ısır": 120802, + "Ġïºį": 120803, + "ĠÐłÐ¾ÑģÑģиÑı": 120804, + "à¹īà¹ĥà¸Ļ": 120805, + "ĠiÅŁi": 120806, + "dol": 120807, + "ĠÙħØŃÙħÙĪØ¯": 120808, + "ĠÑģамÑĭÑħ": 120809, + "ĠبÙĨابراÛĮÙĨ": 120810, + "ãĤĮãģ©": 120811, + "ุà¸ķสาห": 120812, + ".»": 120813, + "ูà¸Ĭ": 120814, + "ĠTep": 120815, + "ãģıãĤĵ": 120816, + "Ġå¸ĥ": 120817, + "Ġतल": 120818, + "Ġserm": 120819, + "λÏĮγ": 120820, + "ĠÅŀimdi": 120821, + "Ġà¤ľà¤¨à¤¤": 120822, + "-ÐĴ": 120823, + "訪": 120824, + "ĠвÑĸдпов": 120825, + "ิà¸Ļà¸Ķ": 120826, + "ιÏĥμÏĮÏĤ": 120827, + "ΩΤ": 120828, + "âĨĴâĨĴ": 120829, + "ικοί": 120830, + "ĠÑģпÑĢава": 120831, + "æľºåħ³": 120832, + "ĠÃĿ": 120833, + "Ġмова": 120834, + "Ġмогла": 120835, + "ĠдлиÑĤелÑĮ": 120836, + "ãģĹãģ¦ãĤĤ": 120837, + "ĠβÏģί": 120838, + "Ġжод": 120839, + "éĹª": 120840, + "ĠмÑĸÑģÑĮкоÑĹ": 120841, + "ηÏģε": 120842, + "çłĤ": 120843, + "Ġkterých": 120844, + "ĠÐĵолов": 120845, + "Ġhá»Ļp": 120846, + "ĠpanÃŃ": 120847, + "تÙħاد": 120848, + "Âľ": 120849, + "åįģåħŃ": 120850, + "κοÏĤ": 120851, + "евÑĭÑħ": 120852, + "æĭĴ": 120853, + "ĠÑģÑĤоÑĢон": 120854, + "Ġphóng": 120855, + "ĠÑĥлÑĥÑĩÑĪ": 120856, + "mrt": 120857, + "mpar": 120858, + "ĠSlav": 120859, + "Ġkov": 120860, + "ìĿ¸ìĿĢ": 120861, + "ĠåºĶ": 120862, + "ัà¸ļà¸Ħ": 120863, + "Ġkì": 120864, + "ĠaÅ¥": 120865, + "ÅĻÃŃt": 120866, + "ì°Į": 120867, + "ÙħÙĨت": 120868, + "ıyorlar": 120869, + "æŃ£å¸¸": 120870, + "нÑıÑĤÑĤÑı": 120871, + "racÃŃ": 120872, + "ĠпиÑĤаниÑı": 120873, + "à¸Īะà¹Ģà¸Ľ": 120874, + "ĠاÙĦÙĩÙĨد": 120875, + "ĠDost": 120876, + "ĠÐĴаÑģилÑĮ": 120877, + "ĠíĥĦ": 120878, + "Ġnạn": 120879, + "à¹Īà¸Ńà¹Ħà¸Ľ": 120880, + "رÙĪØ¶": 120881, + "±ظ": 120882, + "Ġbychom": 120883, + "à¸Ļวย": 120884, + "ãģłãģ£ãģ¦": 120885, + "ĠÐĺÑģп": 120886, + "à¸Ħรà¸ļ": 120887, + "Ġสà¸ĸาà¸Ļ": 120888, + "ĠëĤ®": 120889, + "jiÅ¡tÄĽ": 120890, + "ĠÙģÙĪØª": 120891, + "ĠChương": 120892, + "ĠìĿ´ë£¨": 120893, + "ĠpÅĻÃŃtom": 120894, + "tual": 120895, + "bette": 120896, + "Ġsabah": 120897, + "μί": 120898, + "Ġmá»ĩnh": 120899, + "ãģ®ãģłãĤįãģĨ": 120900, + "ĠzamÄĽÅĻ": 120901, + "åįģäºĶ": 120902, + "ĠìķĬìĿĦ": 120903, + "اÙĨÙĪ": 120904, + "енÑĥ": 120905, + "ĠÑĥгод": 120906, + "ĠVưá»Ŀn": 120907, + "Ġëĵ±ìĿĦ": 120908, + "Ġbelirtilen": 120909, + "æŁĦ": 120910, + "Ġteklif": 120911, + "¬Ĥ": 120912, + "ĠподаÑĤков": 120913, + "ĠاÙĦÙĨÙĩ": 120914, + "ï¼´": 120915, + "ìĽĥ": 120916, + "Ġहल": 120917, + "ĠимÑĥ": 120918, + "ĠкоÑĤоÑĢÑĭм": 120919, + "ï¼Į以åıĬ": 120920, + "ĠÑĤабли": 120921, + "ा:": 120922, + "Ġبرج": 120923, + "ĠÎŃναν": 120924, + "ĠÙĬÙĪÙĦÙĬÙĪ": 120925, + "ýš": 120926, + "ĠÙĬج": 120927, + "ĠÑĤÑĢоÑħи": 120928, + "æŀĿ": 120929, + "ĠdÃły": 120930, + "ĠBurada": 120931, + "ĠÏĥÏħμβ": 120932, + "ĠÎijÏģÏĩ": 120933, + "ĠsociálnÃŃ": 120934, + "ĠÚ¯ÙĪ": 120935, + "Ġyanıt": 120936, + "ãģ¯ãģªãģĦ": 120937, + "ãģ®ä¸Ĭ": 120938, + "Ġnúi": 120939, + "ĠرÙģØªØ§Ø±": 120940, + "ĠÙħرات": 120941, + "زÙħاÙĨ": 120942, + "าà¸Īารย": 120943, + "ĠÑĩиÑģлÑĸ": 120944, + "ĠسÙĨت": 120945, + "ĠÃĸzellikle": 120946, + "ìĩ¼": 120947, + "ĠÄįÃŃm": 120948, + "ADDE": 120949, + "ãģ®ãĤĪãģĨãģª": 120950, + "ÙĪÙĦÙĪÚĺÛĮ": 120951, + "ĠíĻľìļ©": 120952, + "ãĢģãģ©ãģĨ": 120953, + "ĠÎłÏģÏī": 120954, + "çĻ»åł´": 120955, + "ĠнаданнÑı": 120956, + "ĠмеÑĢеж": 120957, + "ĠìĿµ": 120958, + "jÃŃcÃŃch": 120959, + "itou": 120960, + "ÙĤÙĪÙĦ": 120961, + "Ùħج": 120962, + "ĠبÙĨد": 120963, + "Ġönüne": 120964, + "Ġï½°": 120965, + "зв": 120966, + "ĠеÑģÑĤе": 120967, + "ÐłÐĺ": 120968, + "ÑĢол": 120969, + "ayla": 120970, + "ĠклÑĥ": 120971, + "æİ¨èĸ¦": 120972, + "ĠÑĢозÑĢаÑħ": 120973, + "Ġìĥģëĭ´": 120974, + "ĠÙĨسÙħØ©": 120975, + "ĠвиÑħод": 120976, + "à¥Ģà¤Ĩà¤Ī": 120977, + "ĠпÑĢиÑģÑĤÑĥп": 120978, + "ÙĴع": 120979, + "ĠteÅŁekkür": 120980, + "дÑıки": 120981, + "Ġfikir": 120982, + "ัศà¸Ļ": 120983, + "ĠآزÙħاÛĮØ´": 120984, + "Ġbizi": 120985, + "ÏĨαÏģ": 120986, + "æľªæĿ¥": 120987, + "æIJº": 120988, + "ĠδÏħνα": 120989, + "ĠرÙĪÙħ": 120990, + "Ġbundan": 120991, + "ĠÙĤاÙĦب": 120992, + "Ġhaft": 120993, + "忽": 120994, + "ĠÐľÐ¾ÑĢ": 120995, + "Ġzápas": 120996, + "Ġë¹Ľ": 120997, + "å»·": 120998, + "äºĪç´Ħ": 120999, + "Ġkhuyến": 121000, + "ĠÎijÎĵ": 121001, + "ĠìŀijìĹħ": 121002, + "डर": 121003, + "Ġjednoduch": 121004, + "à¥īम": 121005, + "ĠdeÄŁildi": 121006, + "Ġkolo": 121007, + "ĠدÙĤÛĮ": 121008, + "лами": 121009, + "ĠHá»įc": 121010, + "Ġपस": 121011, + "ĠÎłÏģÏĮ": 121012, + "ĠâĹij": 121013, + "ĠнаÑģлÑĸд": 121014, + "Ġдиви": 121015, + "ĠpÅĻesnÄĽ": 121016, + "ĠТаким": 121017, + "Ġrukou": 121018, + "ä¸ĢåĪĩ": 121019, + "ĠÑģпÑĢи": 121020, + "enské": 121021, + "æĹ¦": 121022, + "ĠÙĤÙĨ": 121023, + "Ġústav": 121024, + "िशत": 121025, + "à¹Į)": 121026, + "ĠTrang": 121027, + "Ġmohla": 121028, + "ĠÎķλλην": 121029, + "Ġпоки": 121030, + "ĠØ¢Ùħار": 121031, + "åIJ¾": 121032, + "ĠÑĢеÑģп": 121033, + "Ġtakdir": 121034, + "Ġrahatsız": 121035, + "éŁ³ä¹IJ": 121036, + "ĠâĶĥ": 121037, + "ilis": 121038, + "ĠÙĪØ§ÙĦØ¥": 121039, + "å®Ļ": 121040, + "Ñĥмов": 121041, + "ĠÐĽÐ¸ÑĤ": 121042, + "::::|": 121043, + "åħ½": 121044, + "ĠÙĨزدÛĮÚ©": 121045, + "елÑĸв": 121046, + "θοÏįν": 121047, + "ìĹIJìĦľëıĦ": 121048, + "èµĦæł¼": 121049, + "çIJĨ论": 121050, + "ĠKemal": 121051, + "ĠкеÑĢ": 121052, + "ษายà¸Ļ": 121053, + "Ġåįİ": 121054, + ")ìĹIJ": 121055, + "ĠëĬĺ": 121056, + "ãĥĿãĥ¼ãĥĪ": 121057, + "ĠÐĹд": 121058, + "اصÙĬÙĦ": 121059, + "Ġkatı": 121060, + "ãĤĤãģĹãĤĮãģªãģĦ": 121061, + "Ġкаждого": 121062, + "ĠдÑĢ": 121063, + "Ġfutbol": 121064, + "ÙĦÙĬÙģ": 121065, + "Ġì§ĢëĤľ": 121066, + "ĠÙ¾ÛĮØ´ÙĨÙĩ": 121067, + "ülük": 121068, + "Ġà¸ķำà¸ļล": 121069, + "ĠbáºŃc": 121070, + "ĠåĽł": 121071, + "ikler": 121072, + "Ïģιά": 121073, + "Ġвважа": 121074, + "Ġvypl": 121075, + "Ġвниз": 121076, + "íĢ": 121077, + "çľ¾": 121078, + "ĠÑģила": 121079, + "ĠналиÑĩии": 121080, + "ĠعراÙĤ": 121081, + "ĠاÙĦÙħÙĥ": 121082, + "å°±ä¼ļ": 121083, + "ĠмÑĸг": 121084, + "ĠÎĮμιλοÏĤ": 121085, + "Ñīего": 121086, + "Ġíĸīìłķ": 121087, + "Âłmph": 121088, + "Ġmalé": 121089, + "ĠÛĮاÙģØªÙĩ": 121090, + "Ġmnoha": 121091, + "γά": 121092, + "ĠпоÑģÑĤÑĢо": 121093, + "ĠاÙĦÙħÙĪØ³": 121094, + "Ġolma": 121095, + "ëī´ìĬ¤": 121096, + "Ġtutar": 121097, + "ãĥ¼ãĥĵãĤ¹": 121098, + "à¥įथन": 121099, + "-либо": 121100, + "æ¥ŃåĭĻ": 121101, + "ĠоÑģобливо": 121102, + "è®Ģ": 121103, + "ÙģÙĩÙĪÙħ": 121104, + "Ġkẻ": 121105, + "ĠÅ¡tÄĽ": 121106, + "Ġcầm": 121107, + "ĠÄįlánky": 121108, + "ĠÄIJiá»ĩn": 121109, + "(=": 121110, + "OVÃģ": 121111, + "uldu": 121112, + "aft": 121113, + "Ġlãi": 121114, + "Ġdoldur": 121115, + "³³³³³³³³³³³": 121116, + "βι": 121117, + "ãģ£ãģ¦ãģįãģŁ": 121118, + "ì¶ľìŀ¥ìķĪë§Ī": 121119, + "å¯Ŀ": 121120, + "Ġë¶Ģíĥģ": 121121, + "ĠاÙĦاخ": 121122, + "ĠγÏħνα": 121123, + "à¤ıम": 121124, + "à¥Įल": 121125, + "عادة": 121126, + "ĠκοÏħ": 121127, + "ĠÙħطرØŃ": 121128, + "ĠÑĩеловеÑĩ": 121129, + "Ġnumar": 121130, + "Ġдина": 121131, + "ÏĦÏģÎŃ": 121132, + "λικ": 121133, + "Ġдолго": 121134, + "Ġnhiêu": 121135, + "ĠвоÑģÑģÑĤанов": 121136, + "apı": 121137, + "Ġkanı": 121138, + "ĠKế": 121139, + "ãĤīãģļ": 121140, + "Ġharek": 121141, + "ãģłãģijãģ§": 121142, + "æ»ħ": 121143, + "Ġohled": 121144, + "еÑĢим": 121145, + "ĠØŃÙĬÙĨ": 121146, + "ĠÙĤÙĩر": 121147, + "Ġबà¥Ŀ": 121148, + "اپÛĮÙħ": 121149, + "è¶ħè¿ĩ": 121150, + "Ġæħ": 121151, + "ĠتÙ쨳": 121152, + "asıyla": 121153, + "биÑĤ": 121154, + "ĠØŃاج": 121155, + "ĠÑĤÑĢебованиÑı": 121156, + "Ġæİ¨": 121157, + "Ġç±³": 121158, + "ãĤ³ãĥ¼ãĥī": 121159, + "ĠÑĥÑģи": 121160, + "ĠاخÙĦاÙĤ": 121161, + "Ġdostup": 121162, + "ĠعÙĦاÙĤ": 121163, + "िवस": 121164, + "Ġоди": 121165, + "tej": 121166, + "Ġthá»ıa": 121167, + "ัà¸ģษà¸ĵะ": 121168, + "ĠÑĢаÑģк": 121169, + "ĠÐĿаÑĢод": 121170, + "ĠзакÑĥп": 121171, + "ože": 121172, + "Ġاجرا": 121173, + "ê´ijê³ł": 121174, + "аÑĢÑĤам": 121175, + "ĠпеÑĢеж": 121176, + "èij£äºĭ": 121177, + "ĠÑıкоÑģÑĤÑĸ": 121178, + "ĠвÑĥл": 121179, + "мон": 121180, + "Ġchlap": 121181, + "ĠÑįÑĤомÑĥ": 121182, + "аÑĤÑĸ": 121183, + "ĠíĴĪ": 121184, + "è¡Ĺéģĵ": 121185, + "سد": 121186, + "ÙĪØ±Ùĩ": 121187, + "ĠزÛĮاد": 121188, + "åľ¨çº¿è§Ĩé¢ij": 121189, + "اÙĪÙĬØ©": 121190, + "ï¼Įå°±æĺ¯": 121191, + "elerinden": 121192, + "ÑĢажд": 121193, + "Ġпозд": 121194, + "ĠзнаÑĤÑĮ": 121195, + "ัà¸ļสà¸Ļ": 121196, + "à¥ĩà¤ĸत": 121197, + "ĠæĽ°": 121198, + "ê³¼ìłķ": 121199, + "é®®": 121200, + "ĠViá»ĩn": 121201, + "Ġdvoj": 121202, + "ίνεÏĦαι": 121203, + "ĠosobnÃŃch": 121204, + "ĠâĢª": 121205, + "éϵ": 121206, + "ĠØ®ÙĪØ¯Ø´": 121207, + "ĠاÙĨر": 121208, + "ĠпÑĢоÑĦеÑģÑģионалÑĮ": 121209, + "kám": 121210, + "ĠÙħÙĥاÙĨ": 121211, + "ĠاÙĦأد": 121212, + "Ġê³µë¶Ģ": 121213, + "ĠÄijức": 121214, + "ĠCumhuriyeti": 121215, + "åĩºãģĹ": 121216, + "дами": 121217, + "ĠìĪĺìĥģ": 121218, + "ĠÙģØ¨Ø±Ø§ÙĬر": 121219, + "Ġsüresi": 121220, + "Ġبج": 121221, + "ĠæĶ¾": 121222, + "ØŃÛĮ": 121223, + "çłĶç©¶æīĢ": 121224, + "åĩºçīĪ社": 121225, + "ĠÙħÙĪØªÙĪØ±": 121226, + "&&&&": 121227, + "ĠпеÑĢей": 121228, + "ĠìĦłê±°": 121229, + "ĠúspÄĽÅ¡": 121230, + "ارک": 121231, + "Ġettir": 121232, + "Ġì¶ľìŀ¥": 121233, + "ĠKanun": 121234, + "ĠÑĥменÑĮÑĪ": 121235, + "ĠзаÑĤвеÑĢдж": 121236, + "ĠاÙĦدÙĪÙĦÙĬ": 121237, + "Ġãĥĵ": 121238, + "ĠBazı": 121239, + "åŃIJãģ®": 121240, + "åĩ¯": 121241, + "Ġsebeb": 121242, + "Ġåħ±": 121243, + "Ġdnů": 121244, + "ä½įäºİ": 121245, + "ĠZd": 121246, + "æī±": 121247, + "ĠتجربÙĩ": 121248, + "ÃĶNG": 121249, + "Ġìĺ¬ëĿ¼": 121250, + "ÏīÏĦεÏģ": 121251, + "ĠÑģвид": 121252, + "æ¯ĶèµĽ": 121253, + "ãģ«åIJij": 121254, + "ìľĦ를": 121255, + "ãģĹãģ¾ãģĹãģŁ": 121256, + "Ġdá»ĭ": 121257, + "ĠÐłÑĥÑģ": 121258, + "Ġvá»ı": 121259, + "à¤Ĥडल": 121260, + "ĠпиÑī": 121261, + "Ġsmrti": 121262, + "à¸Īาà¸ģà¸ģาร": 121263, + "ĠÑģаÑħаÑĢ": 121264, + "Ġthoát": 121265, + "جÙħØ©": 121266, + "Ġпозвол": 121267, + "ĠاÙĦثاÙĨÙĬØ©": 121268, + "زادÙĩ": 121269, + "ãĢģä¸Ń": 121270, + "ήμεÏģα": 121271, + "æ¦ľ": 121272, + "lacaģı": 121273, + "ĠнаÑĪиÑħ": 121274, + "ìĶĢ": 121275, + "ĠÐĺÑģÑĤоÑĢиÑı": 121276, + "ündeki": 121277, + "ĠпеÑĢел": 121278, + "Ġ목ìĨĮ": 121279, + "ĠÑģÑĤаÑĤÑĥÑģ": 121280, + "овали": 121281, + "ÅĻaz": 121282, + "ĠдÑĢÑĥгого": 121283, + "ÙĥÙĪÙħØ©": 121284, + "ÑĩиÑģÑĤ": 121285, + "μμ": 121286, + "åıįåºĶ": 121287, + "icari": 121288, + "Ġپاک": 121289, + "алÑĮним": 121290, + "ĠBuna": 121291, + "иÑĤив": 121292, + "ÑĦÑĢа": 121293, + "ãĥ¼ãĥĸãĥ«": 121294, + "ĠÑĤобÑĤо": 121295, + "룬ìĬ¤": 121296, + "ĠاÙĦاع": 121297, + "åħ¬éĸĭ": 121298, + "å¥ī": 121299, + "ÙĪÙĦد": 121300, + "åIJįçĦ¡ãģĹ": 121301, + "æ°ij主": 121302, + "à¥ģà¤ľà¤°": 121303, + "ìĤ¬ë¬´": 121304, + "Ġöncelik": 121305, + "Ġå¨": 121306, + "Ñıб": 121307, + "çľī": 121308, + "à¥įवय": 121309, + "ĠHình": 121310, + "çļĦåľ°æĸ¹": 121311, + "ĠاÙĦتس": 121312, + "ä¸Ī夫": 121313, + "ĠпÑĥблÑĸ": 121314, + "ĠnÄĽjaké": 121315, + "ÄIJá»iji": 121316, + "ĠÑģоÑģÑĤоÑıниÑı": 121317, + "à¥Ģ)": 121318, + "ĠÄijáºŃu": 121319, + "jed": 121320, + "ê¶ģ": 121321, + "Ġsenin": 121322, + "ĠHóa": 121323, + "âĻł": 121324, + "лÑıÑİÑĤÑĮ": 121325, + "éĹ²": 121326, + "ìĿ¸íĬ¸": 121327, + "تبÙĩ": 121328, + "Ġरà¤ĸत": 121329, + "ĠÑģловами": 121330, + "ĠطبÙĤ": 121331, + "Ġuydu": 121332, + "ุà¸ĩà¹Ģà¸Ĺà¸ŀมหาà¸Ļà¸Ħร": 121333, + "ĠSanat": 121334, + "à¹īาà¸Ĭ": 121335, + "Ġкниж": 121336, + "Ìģc": 121337, + "اÙħج": 121338, + "δÏİ": 121339, + "Å®": 121340, + "Ġbinh": 121341, + "è¾Ĩ": 121342, + "neÄŁi": 121343, + "Ø·ÙĨ": 121344, + "å¸ķ": 121345, + "Ġìĩ¼": 121346, + "оÑģÑĢед": 121347, + "ĠοÏĢοίο": 121348, + "kır": 121349, + "à¥Īश": 121350, + "Ġà¸ĩาà¸Ļ": 121351, + "Ġdruž": 121352, + "ematik": 121353, + "adıģ": 121354, + "è¾ŀ": 121355, + "ĠpoužÃŃvá": 121356, + "Ġkurtar": 121357, + "ĠsaÄŁlan": 121358, + "ãĢıï¼Ī": 121359, + "Ġmůžeme": 121360, + "Ġباد": 121361, + "æľŁéĹ´": 121362, + "اتÙģ": 121363, + "Ġyazılım": 121364, + "ĠìĹ°ê²°": 121365, + "ÙĬÙ쨩": 121366, + "Ġemin": 121367, + "ĠнеÑģколÑĮкиÑħ": 121368, + "Û´Û°": 121369, + "寧": 121370, + "ίζει": 121371, + "Ġdél": 121372, + "veriÅŁ": 121373, + "ä¾¡æł¼": 121374, + "Ġاستاد": 121375, + "Ġалког": 121376, + ".HCM": 121377, + "ίοÏĤ": 121378, + "ακ": 121379, + "طع": 121380, + "ãģ£ãģį": 121381, + "ÑıеÑĤÑģÑı": 121382, + "лика": 121383, + "ĠÑĨÑı": 121384, + "Ġë§Īì§Ģë§ī": 121385, + "ĠаÑĢми": 121386, + "ĠγλÏİ": 121387, + "ENÃį": 121388, + "뮤": 121389, + "ŃIJï¸ı": 121390, + "Ġæ¯ı": 121391, + "Ġæĸ¼": 121392, + "ĠκαλÏį": 121393, + "ĠТом": 121394, + "ulur": 121395, + "Ġakce": 121396, + "ĠÙħÙĪØ¬Ø¨": 121397, + "esiz": 121398, + "нÑıв": 121399, + "алÑĮнÑĥÑİ": 121400, + "алÑĸÑģÑĤ": 121401, + "ĠваÑĢÑĸ": 121402, + "ĠÙħؤس": 121403, + "ĠÙħاÛĮÙĦ": 121404, + "ĠμεÏĦαξÏį": 121405, + "åĩºãģĻ": 121406, + "Ġvá»Ŀi": 121407, + "룴": 121408, + "ï¼ĭ": 121409, + "æ¯İ": 121410, + "Ġtabi": 121411, + "âĤĥ": 121412, + "æ£ĭçīĮ": 121413, + "ĠÃIJ": 121414, + "ĠпÑĢоÑĦеÑģÑĸй": 121415, + "ÑĥваннÑĸ": 121416, + "ξγ": 121417, + "Ġжил": 121418, + "ÚĺÙĨ": 121419, + "лÑĥÑĪ": 121420, + "á½´": 121421, + "овеÑĢ": 121422, + "è¾¼ãģ¿": 121423, + "ĠÐľÐ°ÐºÑģим": 121424, + "ĠвзглÑıд": 121425, + "ĠнаÑĤÑĥ": 121426, + "मà¤ķ": 121427, + "ĠÑħими": 121428, + "ĠÑĢозÑĤаÑĪ": 121429, + "ÙĪØ±Ø§ÙĨ": 121430, + "ĠØ´ÙĩرÙĩاÛĮ": 121431, + "æ©Łèĥ½": 121432, + "خذ": 121433, + "ĠÑģвоÑĶÑĹ": 121434, + "нÑıеÑĤ": 121435, + "Ġghế": 121436, + "ĠpÅĻedch": 121437, + "ÑĶÑĪ": 121438, + "огÑĢаÑĦÑĸÑı": 121439, + "Ġà¸Ĺำà¹ĥห": 121440, + "åĿĬ": 121441, + "ÏģÏīν": 121442, + "าระ": 121443, + "ĠKết": 121444, + "Ġchặt": 121445, + "ĠéĻĪ": 121446, + "ĠdÄĽlat": 121447, + "ĠбÑĥдÑĥÑī": 121448, + "ĠAçık": 121449, + "æłªå¼ıä¼ļ社": 121450, + "ĠÐŁÐ°ÑĢ": 121451, + "ĠKhu": 121452, + "ãĢģæĸ°": 121453, + "Ġбой": 121454, + "ë§ĪíĬ¸": 121455, + "ĠÑģопÑĢов": 121456, + "ساب": 121457, + "ниÑģÑĤ": 121458, + "å¼ĥ": 121459, + "ĠØ´ÙĨاس": 121460, + "енном": 121461, + "Ġ项": 121462, + "èīºæľ¯": 121463, + "озем": 121464, + "ĠÑĢеÑĪениÑı": 121465, + "lady": 121466, + "ĠвÑģей": 121467, + "æĶ»åĩ»": 121468, + "Ġê²°ìłķ": 121469, + "ãĢĢï¾ŀ": 121470, + "Ġê°IJëıħ": 121471, + "-ÐIJ": 121472, + "ĠmÃŃr": 121473, + "à¥ģपà¤ı": 121474, + "нÑĸÑĨип": 121475, + "бом": 121476, + "ĠÅ¡t": 121477, + "éľį": 121478, + "ĠÑĢеÑĪение": 121479, + "ĠдиагноÑģÑĤи": 121480, + "ipar": 121481, + "اÛĮز": 121482, + "ãng": 121483, + "ัวร": 121484, + "ĠÑĨаÑĢ": 121485, + "Ġsly": 121486, + "νÏİ": 121487, + "ĠKuzey": 121488, + "رÛĮب": 121489, + "Ġcenu": 121490, + "Ġcertif": 121491, + "ĠÑĤÑĢеÑĤÑĮ": 121492, + "ิà¸Ķà¸Ĥ": 121493, + "ĠпаÑĨÑĸÑĶн": 121494, + "ÅĻiv": 121495, + "èĦĤ": 121496, + "¢°": 121497, + "ĠPhần": 121498, + "ĠмеÑĤоди": 121499, + "Ấ": 121500, + "ìĨĶ": 121501, + "åIJĮåѦ": 121502, + "ĠåĢĭ": 121503, + "моÑĤÑĢÑı": 121504, + "Ġuvád": 121505, + "Û±Û¹Û¶": 121506, + "é쏿Ĭŀ": 121507, + "!»": 121508, + "ëĺIJ": 121509, + "ĠÛĮÙĪØªÛĮ": 121510, + "ĠاÙĦØŃرب": 121511, + "ологÑĸÑı": 121512, + "nila": 121513, + "ĠÄijảng": 121514, + "ázi": 121515, + "ÑĢоÑī": 121516, + "Ġortadan": 121517, + "Ġاخبار": 121518, + "Ġà¤ħà¤ľ": 121519, + "Ġ매ìļ°": 121520, + "Ġпой": 121521, + "ĠجÙĬ": 121522, + "кÑĥваÑĤи": 121523, + "Ġá»ŀ": 121524, + "Ġبشر": 121525, + "ĠÙĥÙĬÙĦ": 121526, + "ÑīеÑģÑĤво": 121527, + "ĠìŬíĸī": 121528, + "اÙħÙĬ": 121529, + "вÑĸлÑĮ": 121530, + "ĠPrvnÃŃ": 121531, + "ĠÙĪØ³ÛĮ": 121532, + "ĠÄIJá»": 121533, + "æĪ¿éĹ´": 121534, + "åľ¨çº¿éĺħ读": 121535, + "æķ·": 121536, + "Ġtrai": 121537, + "ä¿Ĺ": 121538, + "ĠÑģамоÑģÑĤоÑıÑĤелÑĮно": 121539, + "ĠÑĤÑĢебÑĥеÑĤÑģÑı": 121540, + "δÏģα": 121541, + "ĠÑĢеÑĩов": 121542, + "ĠвÑĸк": 121543, + "ĠÑĢÑĥÑĩ": 121544, + "奧": 121545, + "ĠolduÄŁuna": 121546, + "евÑĭе": 121547, + "Ġà¸Ħล": 121548, + "اÙĦÙĤ": 121549, + "ĠÑĸменÑĸ": 121550, + "æĶ»æĴĥ": 121551, + "ĠÑĥнивеÑĢÑģиÑĤ": 121552, + "ĠthÄĥm": 121553, + "ĠлиÑģÑĤопада": 121554, + "२०": 121555, + "Ø®ÙĬ": 121556, + "ÎķÎł": 121557, + "Ġarttır": 121558, + "Ġسخت": 121559, + "ï¼ĪæĺŃåĴĮ": 121560, + "ĠÎŁÏħ": 121561, + "иваниÑı": 121562, + "Ġstaveb": 121563, + "âħ¥": 121564, + "γÏīγή": 121565, + "Ù©": 121566, + "ĠиÑģÑģледованиÑı": 121567, + "åĢĭ人": 121568, + "Ġëĭ¤ìļ´ë°Ľê¸°": 121569, + "ĠÏĦελ": 121570, + "°N": 121571, + "ĠباÙĦÙĨ": 121572, + "à¹Įà¸ŀ": 121573, + "Ġnemůže": 121574, + "Ġголова": 121575, + "à¹Įà¹ģ": 121576, + "梯": 121577, + "Âĺ": 121578, + "δηÏĤ": 121579, + "ìĿ¸ì¦Ŀ": 121580, + "layın": 121581, + "á½·": 121582, + "ĠÙĨتاÛĮج": 121583, + "ĠÑģоблÑİд": 121584, + "ĠдвижениÑı": 121585, + "ìĮ": 121586, + "ĠpovÄĽ": 121587, + "ĠìłĦìĹIJ": 121588, + "å¦Ĥä¸ĭ": 121589, + "ĠاÙĦÙħدر": 121590, + "ï¼ĮæĪĸ": 121591, + "ارا": 121592, + "æ°ijæĹı": 121593, + "ĠبرÙĤ": 121594, + "ĠзапаÑģ": 121595, + "à¸Ļà¹ĥà¸Ī": 121596, + "éf": 121597, + "Ġà¸Łà¸£": 121598, + "Ġë³´ëĤ´": 121599, + "Ġ欧ç¾İ": 121600, + "-ÑĤаки": 121601, + "é©ļ": 121602, + "ÑĢÑĸÑı": 121603, + "æŁı": 121604, + "ĠповÑĸÑĤÑĢÑı": 121605, + "çµĦç¹Ķ": 121606, + "daÅŁ": 121607, + "Ġहमल": 121608, + "ĠÑĢеÑĶÑģÑĤÑĢа": 121609, + "άβ": 121610, + "ĠÎłÎ¿": 121611, + "Ġ그림": 121612, + "ÑĩаÑİÑĤ": 121613, + "à¸ĩà¸ķ": 121614, + "íĥĢìĿ´": 121615, + "æī¬": 121616, + "Ġpojist": 121617, + "ĠçłĶ": 121618, + "Ġåıĸ": 121619, + "Ġüzerindeki": 121620, + "jÅ¡ÃŃch": 121621, + "à¥Ģदव": 121622, + "檢": 121623, + "ĠмаÑĤеÑĢиалов": 121624, + "иваннÑı": 121625, + "Ġå°Ĩ": 121626, + "лл": 121627, + "ĠнаблÑİд": 121628, + "ĠGöz": 121629, + "ĠвзÑı": 121630, + "ç͵è§Ĩ": 121631, + "Ġвак": 121632, + "ç¿Ķ": 121633, + "Ġвзаим": 121634, + "Ġgitti": 121635, + "iteleri": 121636, + "ä»·å̼": 121637, + "ĠاÙĦتص": 121638, + "िनà¤ķ": 121639, + "éĢļãĤĬ": 121640, + "ĠÑģÑĦеÑĢ": 121641, + "çĻºå£²": 121642, + "âĿ¤": 121643, + "ĠÚ¯ÙĪØ´ÛĮ": 121644, + "агаÑĤо": 121645, + "ĠÏĥÏħγκ": 121646, + "авиÑģ": 121647, + "æĤ£èĢħ": 121648, + "ĠخاÙħ": 121649, + "ÎĻÎļÎĹΣ": 121650, + "ınızda": 121651, + "panÄĽl": 121652, + "ĠÄIJá»ĭa": 121653, + "à¹ģละส": 121654, + "ĠãĤĤ": 121655, + "Ġsonucunda": 121656, + "ìĿį": 121657, + "eless": 121658, + "ĠNha": 121659, + "Ġzakáz": 121660, + "ĠвоÑģÑĤ": 121661, + "ĠvzdÄĽlávánÃŃ": 121662, + "-ม": 121663, + "Ġmetrů": 121664, + "ĠپاÛĮÛĮÙĨ": 121665, + "ĠÑĢаÑģÑĤение": 121666, + "Ġmuá»iji": 121667, + "èµĦéĩij": 121668, + "ĠÅŁÃ¼ph": 121669, + "ÙĬÙĦÙħ": 121670, + "ĠdÃ¼ÅŁÃ¼nc": 121671, + "ĠкÑĸм": 121672, + "ĠÏĩÏīÏģίÏĤ": 121673, + "ázev": 121674, + "ĠDeÄŁer": 121675, + "å·¥æ¥Ń": 121676, + "ĠرÙħز": 121677, + "ĠalespoÅĪ": 121678, + "ĠпÑĢеÑģÑĤÑĥп": 121679, + "ĠعÙĦاÙĪÙĩ": 121680, + "Ġmerak": 121681, + "à¹Į:": 121682, + "çİ°åľº": 121683, + "ÑĨвеÑĤ": 121684, + "Ġà¤ªà¥ľ": 121685, + "Ġëĭ¤ìĿĮê³¼": 121686, + "udic": 121687, + "ĠLep": 121688, + "ĠоднÑĸ": 121689, + "Ġalarak": 121690, + "å®īæİĴ": 121691, + "Ġà¸Ĥà¸Ļาà¸Ķ": 121692, + "rezent": 121693, + "isinden": 121694, + "رÙĪÛĮ": 121695, + "Ġplu": 121696, + "ç«ĭãģ¦": 121697, + "ÑĭваниÑı": 121698, + "Ġrast": 121699, + "Ġdüzenlem": 121700, + "jezd": 121701, + "ĠвеÑīеÑģÑĤв": 121702, + "ĠдиÑĢекÑĤоÑĢ": 121703, + "ÑĦÑĦ": 121704, + "tainment": 121705, + "ĠاÙĦÙĪØ²": 121706, + "landa": 121707, + "ĠÙĨÚ¯Ùĩد": 121708, + "ĠпÑĢоÑĤивоп": 121709, + "ãģ£ãģı": 121710, + "ãģ¨ãģªãĤĬ": 121711, + "Ġë°ľê²¬": 121712, + "ictor": 121713, + "ãĤ¸ãĤª": 121714, + "ΣΦ": 121715, + "ĠÑģкладÑĸ": 121716, + "Ġobsahuje": 121717, + "ĠUkra": 121718, + "æķ¦": 121719, + "ĠÏĩαÏģα": 121720, + "ĠÑĢегÑĥли": 121721, + "俺ãģ¯": 121722, + "ัà¸ķว": 121723, + "éĦī": 121724, + "ĠباÛĮ": 121725, + "éĬ·": 121726, + "ĠNẵng": 121727, + "лод": 121728, + "ارÙģ": 121729, + "æ´ģ": 121730, + "ĠëıĻìĿ¼": 121731, + "ÑĤивного": 121732, + "âĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģ": 121733, + "Ġ-:-": 121734, + "컬": 121735, + "ĠÑĪаг": 121736, + "ìłĦìŀIJ": 121737, + "çļĦäºĭæĥħ": 121738, + "ĠÑĢегÑĸ": 121739, + "ियल": 121740, + "ĠÐĿаз": 121741, + "ĠÐĻого": 121742, + "ĠÐłÐ¾Ð¼": 121743, + "ĠÃĸrneÄŁin": 121744, + "ĠпÑĢеÑģ": 121745, + "uluÄŁu": 121746, + "Ġзадов": 121747, + "ÅĻeh": 121748, + "æ¯ķä¸ļ": 121749, + "ĠtháºŃp": 121750, + "ëĤ¸": 121751, + "Ġdlouhodob": 121752, + "дÑĸлÑĥ": 121753, + "alat": 121754, + "ä»°": 121755, + "оком": 121756, + "ĠÑĦÑĸлÑĮ": 121757, + "ĠNgân": 121758, + "ĠترÙĥ": 121759, + "ĠÑĤÑī": 121760, + "رÙĪØ¯": 121761, + "çuk": 121762, + "ranÃŃ": 121763, + "ĠdolaÅŁ": 121764, + "ĠQuang": 121765, + "ĠpÅĻedpok": 121766, + "ĠnámÄĽstÃŃ": 121767, + "ойÑĩив": 121768, + "çĭĢ": 121769, + "ĠбизнеÑģ": 121770, + "ãģŁãģı": 121771, + "ĠìĿ¸ì²ľ": 121772, + "оÑĢо": 121773, + "ĠKürt": 121774, + "ê·¸ëŁ¬": 121775, + "ÑĨаÑĤÑĮ": 121776, + "ĠBên": 121777, + "Ġacı": 121778, + "Ú©Ø´": 121779, + "ï¼Īå¹³æĪIJ": 121780, + "ĠèģĶ": 121781, + ")ãĢģ": 121782, + "diler": 121783, + "ÑĩиÑĤÑĮ": 121784, + "Ưá»": 121785, + "é϶": 121786, + "ileceÄŁini": 121787, + "ĠvÅ¡em": 121788, + "å¼Ģå¥ĸ": 121789, + "è§Ħ模": 121790, + "ulmuÅŁ": 121791, + "ĠåĪĺ": 121792, + "ео": 121793, + "ĠпеÑĢевÑĸÑĢ": 121794, + "åĪĨåĪ«": 121795, + "Ġjedná": 121796, + "liÄŁe": 121797, + "ĠرÙħضاÙĨ": 121798, + "ıklı": 121799, + "ÙĩÙĢ": 121800, + "éĩįçĤ¹": 121801, + "ÑĩиваеÑĤÑģÑı": 121802, + "ë¡ľìĦľ": 121803, + "ÏĦεÏģο": 121804, + "åľ°ä¸ĭ": 121805, + "днаннÑı": 121806, + "Ġngược": 121807, + "४": 121808, + "ĠÎijλ": 121809, + "Ġalacak": 121810, + "Ġà¹Ģà¸ĩ": 121811, + "اÛĮÙĨد": 121812, + "ĠhÃłi": 121813, + "ÑĢоиз": 121814, + "ĠЧи": 121815, + "ĠÑıÑģ": 121816, + "خرÛĮد": 121817, + "Ġhudeb": 121818, + "åľ§": 121819, + "ĠìĦ¼": 121820, + "å͝ä¸Ģ": 121821, + "ĠвÑĸлÑĮ": 121822, + "ĠباÙĦاتر": 121823, + "à¸Ńà¸ģาส": 121824, + "ĠTôi": 121825, + "มà¸Ĥ": 121826, + "omor": 121827, + "ĠOlomou": 121828, + "Ġxong": 121829, + "ĠdomácÃŃ": 121830, + "ĠاختÛĮ": 121831, + "ĠÑĤеÑħнÑĸÑĩ": 121832, + "ĠiÅŁte": 121833, + "à¥Įद": 121834, + "Ġнадеж": 121835, + "Ø®ÛĮص": 121836, + "åĬªåĬĽ": 121837, + "ĠتجÙĩÛĮزات": 121838, + "Ġvole": 121839, + "kinci": 121840, + "Ġhesab": 121841, + "ĠÑģеÑģÑĤ": 121842, + "کا": 121843, + "ÑĤеÑĢн": 121844, + "รรà¸Ħ": 121845, + "åıĤèĢĥ": 121846, + "ĠÐļаб": 121847, + "Ġİmpar": 121848, + "Ġnávrh": 121849, + "åĴ¨è¯¢": 121850, + "à¸ĸาม": 121851, + "Ġyerel": 121852, + "ĠÃĸl": 121853, + "çĮĽ": 121854, + "ĠاÙĦÙĪØ·ÙĨÙĬ": 121855, + "ĠìĿ´ìĸ´": 121856, + "ิà¸Ĺยาศาสà¸ķร": 121857, + "ĠAÅŁ": 121858, + "ĠземлÑİ": 121859, + "ĠдомаÑĪниÑħ": 121860, + "ĠÑĥвеÑĢ": 121861, + "ALI": 121862, + "ган": 121863, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 121864, + "Ġdostan": 121865, + "ezpe": 121866, + "ãģĭãģĦ": 121867, + "رÙģØªÙĩ": 121868, + "ĠмÑĥÑģ": 121869, + "à¹Įà¸Ł": 121870, + "覺": 121871, + "ализа": 121872, + "ĠÑĥÑĩÑĢежд": 121873, + "ĠکاÙĦ": 121874, + "Ġetkisi": 121875, + "ä½Ĩæĺ¯": 121876, + "Ġsouvis": 121877, + "ĠSavaÅŁÄ±": 121878, + "Ġبسبب": 121879, + "ÎŁÎ¹": 121880, + "èļ": 121881, + "Ġæ®": 121882, + "ĠìĺģêµŃ": 121883, + "اسÛĮÙĪÙĨ": 121884, + "ĠاÙĦاتØŃاد": 121885, + "ĠглÑı": 121886, + "à¹ĩà¸ģà¸ĭ": 121887, + "ĠجÙĪÙĨ": 121888, + "ĠاÙĦرسÙħÙĬ": 121889, + "ÂłG": 121890, + "ĠÑĤобÑĸ": 121891, + "Âĩ": 121892, + "ĠëĮĢíĸī": 121893, + "çĬ¶æħĭ": 121894, + "Ġê·¸ëĥ¥": 121895, + "Ġимп": 121896, + "ĠتÙĨظÛĮÙħ": 121897, + "ÙĦاÛĮÙĨ": 121898, + "ÑģÑĤвеннÑĭм": 121899, + "опол": 121900, + "رÙĪØ¬": 121901, + "Ġà¸ĩ": 121902, + "ĠçĤº": 121903, + "ĠUluslararası": 121904, + "à¥Įà¤Ĥ": 121905, + "ãĢģãģĿãģĨ": 121906, + "ĠسادÙĩ": 121907, + "ÎŃαÏĤ": 121908, + "Ġà¤Ĩल": 121909, + "-ÑĦ": 121910, + "ĠÎłÎ¿Î»Î¹": 121911, + "ĠноÑıбÑĢÑı": 121912, + "ÙĪÙĦÙĬ": 121913, + "æĽľæĹ¥": 121914, + "æĮģç»Ń": 121915, + "Ġê¼Ń": 121916, + "eceÄŁiz": 121917, + "ĠÛĮاÙģØª": 121918, + "Ġåı¸": 121919, + "ाà¤Ĺत": 121920, + "Ġæķħ": 121921, + "ĠаллеÑĢг": 121922, + "Ġtuz": 121923, + "еÑĢÑĤи": 121924, + "Ġthầu": 121925, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢĠãĢĢ": 121926, + "-à¤ħ": 121927, + "ĠиммÑĥ": 121928, + "ÑĢай": 121929, + "主義": 121930, + "ĠbaÅŁlar": 121931, + "Ġä¸Ĭ涨": 121932, + "عا": 121933, + "ĠÎĻÏī": 121934, + "ียà¸ĩà¹ĥหม": 121935, + "ĠاÙĦÙħدÙĬÙĨØ©": 121936, + "ÑģÑĮко": 121937, + "ĠتارÛĮØ®ÛĮ": 121938, + "atÃŃm": 121939, + "âĢ嘆": 121940, + "آخر": 121941, + "ĠëĦ£": 121942, + "ĠÙĨÙħاÛĮد": 121943, + "ãģķãĤĵãģĮ": 121944, + "Ġbò": 121945, + "Ġà¸ķาม": 121946, + "ë³´ìķĺëĭ¤": 121947, + "аÑĤÑĸв": 121948, + "ĠÑĦил": 121949, + "Ġkısmı": 121950, + "iá»ĩng": 121951, + "Ġaydın": 121952, + "éģķãģĦ": 121953, + "еви": 121954, + "Ġå¾®": 121955, + "(íģ¬ê¸°": 121956, + "ĠÚ¯ÛĮر": 121957, + "ìķĦìĦľ": 121958, + "ĠδημιοÏħÏģγ": 121959, + "ãģ«ãģĬãģĦãģ¦": 121960, + "ĠÃľNİ": 121961, + "иÑĤом": 121962, + "عÙĦاÙħ": 121963, + "åIJİçļĦ": 121964, + "Ġplá": 121965, + "à¸Ľà¸£à¸°à¹Ĥย": 121966, + "ç¢İ": 121967, + "Ġéĺ²": 121968, + "ëĬĶëĭ¤": 121969, + "ĠæĹ¥æľŁ": 121970, + "Ġgeçerli": 121971, + "лаÑĤÑĭ": 121972, + "Ġmutlaka": 121973, + "ÙĪØº": 121974, + "à¹Ģฮ": 121975, + "Ġﻣ": 121976, + "edeki": 121977, + "à¹Įà¹Ģà¸Ļ": 121978, + "ĠнайбÑĸлÑĮÑĪ": 121979, + "ï¼Ĭ": 121980, + "Ġà¹Ĥรà¸ĩ": 121981, + "Ġfotbal": 121982, + "ĠéĢģ": 121983, + "âĢĮاÙĦÙħÙĦ": 121984, + "ÏīμάÏĦιο": 121985, + "Ġúkol": 121986, + "åįļ士": 121987, + "dub": 121988, + "ılıģ": 121989, + "ëĵľë¥¼": 121990, + "çĭIJ": 121991, + "αλλ": 121992, + "æŃ»äº¡": 121993, + "ĠпÑĢедпоÑĩ": 121994, + "çµµ": 121995, + "ĠмÑĥзÑĭ": 121996, + "еÑĢÑĤв": 121997, + "ĠÙĥÙĨد": 121998, + "Ġulož": 121999, + "ÎŁÎ¥ÎĽ": 122000, + "gili": 122001, + "üstü": 122002, + "нки": 122003, + "ĠÙĤÙĪØ§ÙĨ": 122004, + "ιακ": 122005, + "ĠÅŁer": 122006, + "ĠкиÑģл": 122007, + "Ù쨶ÙĦ": 122008, + "ĠÐIJÑĦ": 122009, + "γεν": 122010, + "Ġdostal": 122011, + "ĠsaÄŁlıklı": 122012, + "å®¶æĹı": 122013, + "ÄIJT": 122014, + "еÑĢин": 122015, + "ĠìĿ´ë٬íķľ": 122016, + "Ġdünyada": 122017, + "Ġnhắc": 122018, + "³³Ċ": 122019, + "νηÏĥη": 122020, + "γÏģαμμα": 122021, + "Ġtakson": 122022, + "ĠTürkçe": 122023, + "ĠÙģØ±Ø§ÙĨسÙĩ": 122024, + "天åłĤ": 122025, + "溶": 122026, + "Ġoto": 122027, + "èµµ": 122028, + "chyb": 122029, + "Ġå¾Ĵ": 122030, + "ÏĦÏį": 122031, + "áhnout": 122032, + "à¥įपर": 122033, + "Ġvlas": 122034, + "Ġíļ¨ê³¼": 122035, + "Ġthang": 122036, + "Ġolmasına": 122037, + "ĠпоÑĢÑĥÑĪеннÑı": 122038, + "Ġquỹ": 122039, + "ĠíĿIJ": 122040, + "Ġì΍": 122041, + "Ġë²Ī째": 122042, + "ẹn": 122043, + "Ġзгод": 122044, + "Ġتز": 122045, + "Ġاختص": 122046, + "ĠзÑĥÑģÑĤÑĢÑĸ": 122047, + "Ġtặng": 122048, + "ῶν": 122049, + "Ġì½ľ": 122050, + "ованиÑħ": 122051, + "âĢĮشد": 122052, + "Ġaraya": 122053, + "rové": 122054, + "ĠاختÙĦ": 122055, + "ливий": 122056, + "ĠاتØŃاد": 122057, + "ĠakÅŁam": 122058, + "ĠÚ©ÙĦاس": 122059, + "ãĤ¢ãĥĥãĥĹ": 122060, + "Ġzih": 122061, + "åĩĮ": 122062, + "å±±å¸Ĥ": 122063, + "Ġçevres": 122064, + "ĠогÑĢом": 122065, + "ĠآدÙħ": 122066, + "ĠtÄĽlo": 122067, + "ï¼Įæľ¬": 122068, + "ĠÚĺØ§ÙĨÙĪÛĮÙĩ": 122069, + "Ġkraje": 122070, + "μία": 122071, + "èħ¿": 122072, + "âĢŀTo": 122073, + "決å®ļ": 122074, + "ìĩ": 122075, + "ĠéĴ": 122076, + "ĠΣÏĦα": 122077, + "ĠجÙħÙĩÙĪØ±": 122078, + "ĠGenç": 122079, + "rám": 122080, + "ĠÐłÐµÐ·": 122081, + "Ġvytvá": 122082, + "ĠпÑĢоизводÑģÑĤва": 122083, + "ĠÙħذÙĩ": 122084, + "Ġihtiyac": 122085, + "ãĤ¯ãĤ»": 122086, + "Ġnêu": 122087, + "å¾³": 122088, + "ĠëĵĿ": 122089, + "наÑĩе": 122090, + "ĠÏĥÏħμμε": 122091, + "ÏĨÏīν": 122092, + "вавÑģÑı": 122093, + "ĠвиÑĤами": 122094, + "Ìģt": 122095, + "ĠfinanÄįnÃŃ": 122096, + "åıĬåħ¶": 122097, + "âĢħ": 122098, + "çĭ¼": 122099, + "ัà¸ļà¸ķ": 122100, + "ãģĽãĤĭ": 122101, + "ÎĻÎļÎŁ": 122102, + "λλι": 122103, + "ÑĤоÑİ": 122104, + "اعÙĬØ©": 122105, + "vÃŃce": 122106, + "онÑĸв": 122107, + "ì£Ħ": 122108, + "å»ł": 122109, + "ĠØ´ÙĬØ¡": 122110, + "ĠТем": 122111, + "Ġابزار": 122112, + "ĠTHPT": 122113, + "γγÏģαÏĨ": 122114, + "ĠëĮĢíķ´ìĦľ": 122115, + "ĠPhạm": 122116, + "ÑĨионной": 122117, + "|/": 122118, + "ĠãĤ¸ãĥ£": 122119, + "ÑĮÑİÑĤ": 122120, + "ÑĥзÑĭ": 122121, + "ĠÙħاد": 122122, + "ĠmÄĽly": 122123, + "Ġçα": 122124, + "Ġrád": 122125, + "à¸Ħวà¸ļà¸Ħ": 122126, + "à¥Ī?": 122127, + "Ġlidi": 122128, + "mamız": 122129, + "Ġà¹ģà¸ģ": 122130, + "ãĤ¯ãĤ·ãĥ§ãĥ³": 122131, + "à¸Ńำà¸Ļวย": 122132, + "esát": 122133, + "Ġviêm": 122134, + "è¡ĮåĬ¨": 122135, + "มาà¸ģà¸ģว": 122136, + "ĠØ®ÙĪØ§Ø¨": 122137, + "Ġserbest": 122138, + "ÅĻÃŃz": 122139, + "ĠíĺĦëĮĢ": 122140, + "ãĢĮãģĿãģĨ": 122141, + "çĤ¸": 122142, + "omik": 122143, + "Ġİran": 122144, + "ĠeriÅŁ": 122145, + "ĠÑģела": 122146, + "ĠارزÛĮ": 122147, + "ãĥĪãĥª": 122148, + "ĠBÄĽ": 122149, + "екÑĥ": 122150, + "ЧÑĤобÑĭ": 122151, + "Ġanlamda": 122152, + "ÎijÎĺ": 122153, + "ĠLINEAR": 122154, + "æľīçĤ¹": 122155, + "ÑĤаÑĢ": 122156, + "itler": 122157, + "ĠnÃŃž": 122158, + "ĠСÑģÑĭлки": 122159, + "å¶": 122160, + "Ġвпол": 122161, + "ĠدÙĤÛĮÙĤÙĩ": 122162, + "Ġä½ĵ": 122163, + "رÙī": 122164, + "ëͰ": 122165, + "Ġà¤ķव": 122166, + "ĠжиÑĢ": 122167, + "æijĨ": 122168, + "Ġì¤ijìĭ¬": 122169, + "ĠкÑĥб": 122170, + "Ġzlep": 122171, + "ĠÑĢÑĭб": 122172, + "é³´": 122173, + "à¹ģà¸ľà¸Ļ": 122174, + "ĠíĢ": 122175, + "ĠÐĿеÑĤ": 122176, + "žitÄĽ": 122177, + "ĠbÄĥng": 122178, + "ĠHava": 122179, + "Ġ모ëį¸": 122180, + "ĠHãy": 122181, + "ĠìĿ´ê²ĥ": 122182, + "ĠìĥģìĦ¸": 122183, + "memiÅŁ": 122184, + "ĠθÎŃÏĥη": 122185, + "णन": 122186, + "ĠskuteÄįnÄĽ": 122187, + "ĠTarihi": 122188, + "Ġtextu": 122189, + "ï¼ĮéĢĻ": 122190, + "ĠاÛĮÙĨترÙĨتÛĮ": 122191, + "Ġپاد": 122192, + "ิà¸Ļà¸ģาร": 122193, + "ĠNgá»įc": 122194, + "ĠÑĢобиÑĤи": 122195, + "íĸĪê³ł": 122196, + "Ġमण": 122197, + "ÐĽÐĺ": 122198, + "ĠпоÑĤеÑĢ": 122199, + "Ñģом": 122200, + "ĠاÙĪÙĦÛĮÙĩ": 122201, + "éĽij": 122202, + "ĠGiá": 122203, + "Ġkanal": 122204, + "Ġavantaj": 122205, + "Ġryb": 122206, + "ختÙĩ": 122207, + "ĠÙĪØ±ÙĪØ¯": 122208, + "ÐĴÑĤ": 122209, + "ÏīÏĥε": 122210, + "ê¸°ë¡ľ": 122211, + "ĠÐĽÑĸ": 122212, + "Ġtảng": 122213, + "ĠصÙĦÙī": 122214, + "ĠÑĥлÑĭ": 122215, + "Ġcuá»ijn": 122216, + "ĠÐIJнг": 122217, + "ĠداÙĪ": 122218, + "ĠÑĪлÑıÑħом": 122219, + "ĠÄįlovÄĽka": 122220, + "dete": 122221, + "ÑĬем": 122222, + "à¹Įà¹ĥà¸Ļ": 122223, + "à¤ķन": 122224, + "åΤæĸŃ": 122225, + "ĸìĹIJ": 122226, + "ÏĦÏīÏĥη": 122227, + "ĠÙģÙĨاÙĪØ±ÛĮ": 122228, + "ĠyaÅŁÄ±nda": 122229, + "ĠÏĥÏĩÎŃ": 122230, + "Ġyı": 122231, + "ĠpÅĻen": 122232, + "ĠÑĦоÑĢмÑĥваннÑı": 122233, + "ümÃ¼ÅŁ": 122234, + "Ġδο": 122235, + "ımızın": 122236, + "Ġé¢Ħ": 122237, + "оÑģÑĤÑĮÑİ": 122238, + "ĠоÑĤкÑĢÑĭÑĤ": 122239, + "Ġأغسطس": 122240, + "ĠAsp": 122241, + "ĠÑĥзн": 122242, + "ĠÙĪØ§Ø³Øª": 122243, + "elerle": 122244, + "èķī": 122245, + "ĠتکÙĨ": 122246, + "ÑĥмÑĥ": 122247, + "à¹Įà¸ĭ": 122248, + "ादन": 122249, + "ĠâĢĭâĢĭâĢĭ": 122250, + "Ġalıyor": 122251, + "Ġî¡": 122252, + "Ùħدة": 122253, + "ĠÏĥει": 122254, + "Ġè¿Ļ": 122255, + "ĠÅŀehir": 122256, + "енÑĤами": 122257, + "ãĤ¿ãĥ«": 122258, + "หาย": 122259, + "айÑĤ": 122260, + "Ġharc": 122261, + "ãĢĤãģĬ": 122262, + "ĠتأثÛĮر": 122263, + "าà¸Ĭà¸Ļ": 122264, + "ĠtháºŃm": 122265, + "Ġæ¿": 122266, + "ĠmÅ©i": 122267, + "ĠprvnÃŃm": 122268, + "ĠбагаÑĤÑĮ": 122269, + "ãģķãĤīãģ«": 122270, + "biên": 122271, + "åºĶå½ĵ": 122272, + "ìĿ´ë²Ħ": 122273, + "ĠpoužÃŃt": 122274, + "Ġokamž": 122275, + "esin": 122276, + "vÄĽl": 122277, + "ĠضÙĪ": 122278, + "è»Ł": 122279, + "-з": 122280, + "à¥Īत": 122281, + "è¨Īç®Ĺ": 122282, + "rabilir": 122283, + "ĠÐłÐ¾ÑģÑĸÑĹ": 122284, + "ĠplatÃŃ": 122285, + "ĠdospÄĽl": 122286, + "Ġرضا": 122287, + "Ġnového": 122288, + "ĠнаÑĨионалÑĮ": 122289, + "ĠÐIJб": 122290, + "ãģĮãģĤãģ£ãģŁ": 122291, + "Ġë¹Ī": 122292, + "âĢĮÙħ": 122293, + "å±ŀäºİ": 122294, + "Ġtane": 122295, + "ÙĬاÙĩ": 122296, + "Ġβο": 122297, + "ĠëĬ¥": 122298, + "ãĥĩãĤ£ãĥ¼ãĤ¹": 122299, + "ĠذÙĥر": 122300, + "Ġobvykle": 122301, + "Ġbirinci": 122302, + "ĠاÙĦزر": 122303, + "ìĿ´ë¹Ħ": 122304, + "Ġإد": 122305, + "ĠEkon": 122306, + "ÐŁÐ¾Ð»": 122307, + "ĠвеÑĢоÑıÑĤ": 122308, + "Ġyararlan": 122309, + "ĠаÑĢом": 122310, + "ĠéĦ": 122311, + "Ġiddi": 122312, + "iÄįka": 122313, + "strukce": 122314, + "mÃ¼ÅŁtür": 122315, + "ÏħÏĦÏĮ": 122316, + "롱": 122317, + "Ġalmaktadır": 122318, + "ениÑıми": 122319, + "ียà¸Ļร": 122320, + "à¹ĩà¸Ļว": 122321, + "икÑĥ": 122322, + "енка": 122323, + "âĢĻyi": 122324, + "Ġpohod": 122325, + "Ġزر": 122326, + "Ġxấu": 122327, + "Ġà¸łà¸²à¸©": 122328, + "ÂłÐŀ": 122329, + "Ġδικ": 122330, + "Ġназива": 122331, + "åıªèĥ½": 122332, + "大éĩı": 122333, + "ĠÄijế": 122334, + "Ġ第äºĮ": 122335, + "ĠkiÅŁilerin": 122336, + "Ġdobré": 122337, + "驾": 122338, + "Ġdůležité": 122339, + "롤": 122340, + "μÎŃνοÏħ": 122341, + "Ġtrú": 122342, + "Ġbiçim": 122343, + "ĠÐĿÐIJ": 122344, + "Ġå¾Į": 122345, + "Ġduyg": 122346, + "åŀĤ": 122347, + "ÐĨÐĨ": 122348, + "Ġetmeye": 122349, + "ĠÙĦباس": 122350, + "ĠдвÑĸ": 122351, + "Ġ긴": 122352, + "ÑĨÑĸйно": 122353, + "κÏĦή": 122354, + "ï½Ŀ": 122355, + "ĠÑĦевÑĢалÑı": 122356, + "寫": 122357, + "Ġ겨": 122358, + "Ġyıllarda": 122359, + "ĠзÑĥп": 122360, + "ĠobchodnÃŃ": 122361, + "ĠاضاÙģÙĩ": 122362, + "веÑĢж": 122363, + "Ġæłĩ": 122364, + "جاج": 122365, + "ĠرÙĪØ³ÛĮ": 122366, + "Ġstandart": 122367, + "éru": 122368, + ")ìĿĦ": 122369, + "декÑģ": 122370, + "ĠâĪļ": 122371, + "Ġİngilizce": 122372, + "èĬĿ": 122373, + "身ä¸Ĭ": 122374, + "ØŁØŁ": 122375, + "Ġmẽ": 122376, + "ÎijÎĶ": 122377, + "енÑģив": 122378, + "âĢĻta": 122379, + "à¹īาà¸ģ": 122380, + "ÎŁÎĽÎŁÎĵ": 122381, + "ä»ĺãģij": 122382, + "ĠsÃłng": 122383, + "Ġà¤¹à¤Ł": 122384, + "ÑĭÑĪлен": 122385, + "Ġخطر": 122386, + "ĠнайÑĤи": 122387, + "çĽ¸ä¿¡": 122388, + "Ïīδ": 122389, + "à¤Ķ": 122390, + "Ġdopad": 122391, + "à¹Ħà¸Łà¸¥": 122392, + "æģµ": 122393, + "íĤ¬": 122394, + "Ä±ÅŁma": 122395, + "ãģıãĤĮãģŁ": 122396, + "Ġnaprost": 122397, + "ĠÑģоÑģÑĤаве": 122398, + "ĠÙĪØ³Ø·": 122399, + "à¹ķ": 122400, + "éĸĭçĻº": 122401, + "ĠдеÑĢева": 122402, + "-ÐĶ": 122403, + "à¸ĩà¸Ĭ": 122404, + "ิà¸ķย": 122405, + "ĠاÙĦÙĤاÙĨÙĪÙĨ": 122406, + "ãĤ¹ãĤ«": 122407, + "lÃŃž": 122408, + "Ġанализ": 122409, + "Ġproblémy": 122410, + "æĸĩåѦ": 122411, + "çĹħéĻ¢": 122412, + "Ñģед": 122413, + "ï¼Įå°ı": 122414, + "ĠعشÙĤ": 122415, + "ãģ°ãģĭãĤĬ": 122416, + "ĠعÙĤد": 122417, + "ØŃÙĬØ©": 122418, + "Ġë°ĶëŀįëĭĪëĭ¤": 122419, + "inclu": 122420, + "Ġëĵľë¦½ëĭĪëĭ¤": 122421, + "åį«çĶŁ": 122422, + "ĠвидÑĥ": 122423, + "ุà¸ļาล": 122424, + "ÑĢÑĥкÑĤ": 122425, + "ĠоÑģвÑĸÑĤ": 122426, + "Ġvelký": 122427, + "ĠchtÄĽl": 122428, + "æīĵå¼Ģ": 122429, + "ĠзаконодаÑĤелÑĮ": 122430, + "анÑģи": 122431, + "ì¶ĺ": 122432, + "ĠÙħراج": 122433, + "åģľæŃ¢": 122434, + "Ġвоно": 122435, + "ìłķìĿ´": 122436, + "Ġrozsah": 122437, + "ĠæĻ´": 122438, + "Ġzajist": 122439, + "ÂłÐ¼": 122440, + "tıģını": 122441, + "Ġhizmeti": 122442, + ".Îij": 122443, + "ĠÙħعÙħÙĪÙĦا": 122444, + "Ġži": 122445, + "Ġgá»įn": 122446, + "èĮĤ": 122447, + "Ġhuz": 122448, + "ζει": 122449, + "à¥īà¤Ł": 122450, + "Ġиздел": 122451, + "ìŀĸ": 122452, + "ĠëĶ°ë¥¸": 122453, + "Ġkia": 122454, + "ĠznÄĽnÃŃ": 122455, + "ĠоÑĢганиза": 122456, + "ازات": 122457, + "Ġrežim": 122458, + "ĠвенÑĤи": 122459, + "bách": 122460, + "ĠодномÑĥ": 122461, + "Ġkitab": 122462, + "Ġfrancouz": 122463, + "ĠØ£ÙĦ": 122464, + "ĠسرÙĪ": 122465, + "ÙijÙĦ": 122466, + "Ġман": 122467, + "ë°į": 122468, + "ĠкÑĥда": 122469, + "Ùıس": 122470, + "ãĢĤæŃ¤": 122471, + "اشة": 122472, + "à¸Ĥà¸Ńà¸ĩà¸ľ": 122473, + "主任": 122474, + "ивÑĪи": 122475, + "Ġà¸ģรà¸ģ": 122476, + "екÑģи": 122477, + "иÑĤеÑĤ": 122478, + "ĠØ£ÙĦÙģ": 122479, + "аними": 122480, + "ãĥļãĥ¼ãĤ¸": 122481, + "ĠпÑĢавил": 122482, + "åªĴä½ĵ": 122483, + "ÑİÑīее": 122484, + "ä¸Ģ人": 122485, + "βο": 122486, + "ìĭ¸": 122487, + "озна": 122488, + "å¤īæĽ´": 122489, + "ĠÙħØ´Ùĩد": 122490, + "æ³ķ人": 122491, + "ĠBakanı": 122492, + "ĠÑħоÑĩа": 122493, + "Ġαξ": 122494, + "Ġverilm": 122495, + "Ġkonus": 122496, + "μενη": 122497, + "Ġ馬": 122498, + "Ġìĭ¤ìłľ": 122499, + "Ġjedno": 122500, + "Ġбаб": 122501, + "åĥį": 122502, + "æĺ¯ä¸Ģ个": 122503, + "-е": 122504, + "ĠpÅĻekvap": 122505, + "à¸Ńà¸ŀ": 122506, + "ĠYol": 122507, + "ĠÑĥÑģÑĤанавлива": 122508, + "ê²¼": 122509, + "Ġä»¶": 122510, + "اÙĦØ´": 122511, + "ĠобÑĥÑĩ": 122512, + "åĺĽ": 122513, + "ĠÑħоÑĩÑĥ": 122514, + "ĠÐķв": 122515, + "ÑĦоÑĢÑĤ": 122516, + "Ġरन": 122517, + "âĢŀV": 122518, + "èľľ": 122519, + "Ġdoma": 122520, + "æĶ¯æı´": 122521, + "Ġاخت": 122522, + "循": 122523, + "à¥Ĥà¤ļन": 122524, + "ाहन": 122525, + "Ġå¤ı": 122526, + "ĠاÙĦØ£Ùħر": 122527, + "ĠбеÑĢеменноÑģÑĤи": 122528, + "ĠThá»±c": 122529, + "é£İéĻ©": 122530, + "Ġülkemiz": 122531, + "çķªåı·": 122532, + "ÑģÑĤÑĢе": 122533, + "ÑĪло": 122534, + "ĠصاØŃب": 122535, + "ινε": 122536, + "ĠKıs": 122537, + "ĠPrahy": 122538, + "湿": 122539, + "Ġvým": 122540, + "çĽĴ": 122541, + "ÎŁÎĶ": 122542, + "ãģłãģª": 122543, + "ĠpÅĻÃŃležit": 122544, + "Ġìĸ¸ìłľ": 122545, + "ĠÑĪвидко": 122546, + "Ġsituaci": 122547, + "åħĥç´ł": 122548, + "İTESİ": 122549, + "ĠVak": 122550, + "Ġneredeyse": 122551, + "iiii": 122552, + "ÑĢазд": 122553, + "ĠполиÑĤ": 122554, + "Ġпогод": 122555, + "ĠпÑĢоÑĨеÑģÑģе": 122556, + "ĠменÑĪе": 122557, + "äºĮ人": 122558, + "ĠÙħÙĪØ§Ø·": 122559, + "ĠpÅĻik": 122560, + "è·¡": 122561, + "Ġserg": 122562, + "ĠÑĢаÑģÑģÑĤоÑı": 122563, + "иÑĩно": 122564, + "ĠÎĶÎĹÎľ": 122565, + "¨ط": 122566, + "صبØŃ": 122567, + "สะà¸Ķวà¸ģ": 122568, + "درÛĮ": 122569, + "kům": 122570, + "ç§ģãģ¯": 122571, + "Ġtvor": 122572, + "à¥įवव": 122573, + "ĠpÅĻiv": 122574, + "Ġíı´": 122575, + "Ġstátu": 122576, + "ĠedilmiÅŁtir": 122577, + "ØŃÙħ": 122578, + "ĠбÑĥÑħ": 122579, + "สำà¹Ģร": 122580, + "ĠتÙĪØ¶ÛĮ": 122581, + "ãģĿãĤĮãģ¯": 122582, + "Ġà¤ħवध": 122583, + "éŀĭ": 122584, + "âĤ¬Ċ": 122585, + "Ġéº": 122586, + "ĠÄĮes": 122587, + "Ġpoprvé": 122588, + "ï¼ĮåĽł": 122589, + "ĠalmÄ±ÅŁ": 122590, + "lal": 122591, + "ĠØ®ÙĪØ¨ÛĮ": 122592, + "ĠκοÏģ": 122593, + "ìļ´ëıĻ": 122594, + "mayın": 122595, + "Ġaktif": 122596, + "ĠاÙĨجÙħÙĨ": 122597, + "ĠÑģÑĤак": 122598, + "ĠÑģÑĤаÑĢа": 122599, + "ÙĦÙ쨩": 122600, + "Ġparçası": 122601, + "ĠкоÑĢпÑĥÑģ": 122602, + "ãĢģé«ĺ": 122603, + "!..": 122604, + "ĠÎłÎijÎĿ": 122605, + "ĠÙĩÙĨÙĪØ²": 122606, + "ionálnÃŃ": 122607, + "ĠprávnÃŃ": 122608, + "ÂĿ": 122609, + "ĠتÛĮر": 122610, + "ĠåŁİ": 122611, + "Ġзгад": 122612, + "Ġsaldırı": 122613, + "æŁ¥çľĭæijĺè¦ģ": 122614, + "髪": 122615, + "Ù쨵ÙĦ": 122616, + "ãģĻãģ¹ãģ¦": 122617, + "ево": 122618, + "ê´Ģ리ìŀIJ": 122619, + "ĠìĺĨ": 122620, + "udicots": 122621, + "ÙĪØ±ÙĨ": 122622, + "Ġcelkem": 122623, + "ãĤ¤ãĤº": 122624, + "ìĬ¤ê°Ģ": 122625, + "販売": 122626, + "ĠíĮĮìĿ¼ì²¨ë¶Ģ": 122627, + "뢰": 122628, + "Ġenergie": 122629, + "esidir": 122630, + "Ġmiá»ĩng": 122631, + "éĻ·": 122632, + "ĠгаÑĢа": 122633, + "Ġbiliyor": 122634, + "çį²å¾Ĺ": 122635, + "еÑĤеÑĢб": 122636, + "à¹Īาà¹Ģà¸Ľ": 122637, + "Ġμαζί": 122638, + "ĠzpracovánÃŃ": 122639, + "Ñģм": 122640, + "Ġhala": 122641, + "ĠزÙĪØ¬": 122642, + "ĠвÑĸднов": 122643, + "à¹Ģหมาะ": 122644, + "ĠÐłÐµÑģпÑĥбли": 122645, + "åĩºåĵģèĢħ": 122646, + "Ñīини": 122647, + "ัà¸Ļà¹Ģà¸Ľ": 122648, + "Ġtýden": 122649, + "ĠبÙĬت": 122650, + "ÑģкомÑĥ": 122651, + "ĠÙĩÙĪØ§Ù¾ÛĮÙħ": 122652, + "оÑģнов": 122653, + "鸣": 122654, + "Ġsoukrom": 122655, + "Ġfaiz": 122656, + "Ġdemok": 122657, + "Ġkterém": 122658, + "Ġëħ¹": 122659, + "лаÑĩ": 122660, + "ĠоÑĤвеÑĤÑģÑĤвен": 122661, + "Ġï¼¼:": 122662, + "Ġλο": 122663, + "ÄĮesk": 122664, + "ê°ĢìļĶ": 122665, + "ĠãĥĬ": 122666, + "ĠnhuáºŃn": 122667, + "ĠÑģили": 122668, + "ĠÐľÐ¾Ð½": 122669, + "Ġçap": 122670, + "ĠRowBox": 122671, + "ĠмаÑģÑĤ": 122672, + "ĠÐľÐ°": 122673, + "ĠдÑĢÑĥго": 122674, + "Ġأش": 122675, + "ë°©ìĨ¡": 122676, + "ĠпÑĸдпиÑģ": 122677, + "èĩ¨": 122678, + "åī©": 122679, + "Ġhiá»ĥn": 122680, + "ĠÙĤرارد": 122681, + "istrat": 122682, + "ÐŁÑĸд": 122683, + "ÏĦεÏģα": 122684, + "ĠpozdÄĽ": 122685, + "ĠbaÅŁta": 122686, + "夫人": 122687, + "лини": 122688, + "ĠкаÑĩеÑģÑĤва": 122689, + "Ġkurtul": 122690, + "Ġì¢Į": 122691, + "ãģ«ãģĬãģijãĤĭ": 122692, + "åľ°åįĢ": 122693, + "ĠÑĩаÑģом": 122694, + "ìµľê³ł": 122695, + "Ġngang": 122696, + "اÙĩد": 122697, + "ĠШев": 122698, + "ĠpÅĻitom": 122699, + "Ġchấm": 122700, + "ĠÐľÐµÑģÑĤо": 122701, + "ĠÑģовеÑĢÑĪенно": 122702, + "ÃŃcÃŃ": 122703, + "Ńå·ŀ": 122704, + "åĪĽæĸ°": 122705, + "äºĶæľĪ": 122706, + "ĠاعÙħاÙĦ": 122707, + "ĠвозможноÑģÑĤи": 122708, + "ĠпÑĢодовж": 122709, + "nÄĽt": 122710, + "ĠÐĿапÑĢимеÑĢ": 122711, + "ĠاÙĦدÙħ": 122712, + "Ġà¹ģà¸ļà¸ļ": 122713, + "çĶŁçļĦ": 122714, + "ĠÑħаÑĢÑĩ": 122715, + "ĠSonuç": 122716, + "Ġrůzné": 122717, + "Ġاذ": 122718, + "à¸ķà¸Ńà¸ļ": 122719, + "PÅĻed": 122720, + "ĠдеÑĢевÑıн": 122721, + "ë´IJ": 122722, + "ĠëĬIJëĤ": 122723, + "جÙħÙĬع": 122724, + "ĠBöylece": 122725, + "èµı": 122726, + "ĠبسÙĬ": 122727, + "ĠÃĩaÄŁ": 122728, + "ĠتاÛĮ": 122729, + "ĠnejvyššÃŃ": 122730, + "èĸ©": 122731, + "ÏĩεδÏĮν": 122732, + "Ġëĵ±ìĿĺ": 122733, + "eyh": 122734, + "æĸĻçIJĨ": 122735, + "اتÙĩ": 122736, + "æī«": 122737, + "Ġå©": 122738, + "ĠпÑĢивед": 122739, + "æī¶": 122740, + "Ġ견": 122741, + "ĠاÙħÛĮر": 122742, + "ायल": 122743, + "æ¡ij": 122744, + "à¸Ļà¹Ģà¸ķ": 122745, + "илакÑĤи": 122746, + "å®¶ä¼Ļ": 122747, + "Ġbulunuyor": 122748, + "ysa": 122749, + "ÂĨ": 122750, + "ĠBİR": 122751, + "íĨ¤": 122752, + "à¤Ĥà¤Ĺà¤łà¤¨": 122753, + "ÎĶεν": 122754, + "à¥Įà¤ķर": 122755, + "éĸĵãģ«": 122756, + "Ġмоб": 122757, + "ĠMorav": 122758, + "è§ĦåĪĴ": 122759, + "ĠÑģвÑĸÑĤÑĸ": 122760, + "ults": 122761, + "ĠzemÃŃ": 122762, + "ÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł": 122763, + "ĠÐŁÐ¾Ð¿": 122764, + "ãģĤãģĴ": 122765, + "Ġpomoci": 122766, + "ĠзмÑĸÑģÑĤ": 122767, + "主人": 122768, + "ĠSı": 122769, + "ãĥĽãĥĨãĥ«": 122770, + "ĠÑĥвагÑĥ": 122771, + "廳": 122772, + "à¹Ģมà¸ķร": 122773, + "estli": 122774, + "Ġloạt": 122775, + "ãĤ¢ãĥ¼": 122776, + "ĠÎĶε": 122777, + "Ġbunları": 122778, + "ĠçĤ¹åĩ»": 122779, + "ĠBÃłi": 122780, + "Ġä¸ĸ": 122781, + "Ġê³łê°ľë¥¼": 122782, + "ĠÐŃÑĤоÑĤ": 122783, + "Ġmemnun": 122784, + "Ġ।Ċ": 122785, + "ĠиÑģÑĤоÑĢии": 122786, + "Ġì°©": 122787, + "१९": 122788, + "ĠÐŀднак": 122789, + "Ġvede": 122790, + "ÏĨÎŃÏģει": 122791, + "âb": 122792, + "çĬ¶åĨµ": 122793, + "åįıè®®": 122794, + "Ġê°Ŀ": 122795, + "евид": 122796, + "jmu": 122797, + "ĠколиÑĩеÑģÑĤва": 122798, + "ÃĽ": 122799, + "iÄįe": 122800, + "Ġfirmalar": 122801, + "èĢĢ": 122802, + "кÑĸн": 122803, + "ĠêµŃ민": 122804, + "Ġ목ë¡Ŀ": 122805, + "ĠÎļαÏģ": 122806, + "Ġhissed": 122807, + "K": 122808, + "ĠTên": 122809, + "ĠÑĤÑĭÑģÑıÑĩ": 122810, + "ØŃÙĬØŃ": 122811, + "Ġвполне": 122812, + "ĠSınıf": 122813, + "Ġμην": 122814, + "Ġíij¸": 122815, + "ĠاÙĦطبÙĬ": 122816, + "ĠزÛĮب": 122817, + "ĠпÑĥ": 122818, + "Ġpraž": 122819, + "ìĹĨëĬĶ": 122820, + "θÏģÏī": 122821, + "Ġiçi": 122822, + "ĠбÑĸл": 122823, + "ÐłÑij": 122824, + "Ġì¶ķ구": 122825, + "Ġlạ": 122826, + "ĠãĥķãĤ¡": 122827, + "Ġèĸ": 122828, + "μαÏĦο": 122829, + "éĩijå±ŀ": 122830, + "áli": 122831, + "ĠÙ쨣": 122832, + "ĠKarlov": 122833, + "ĠZáp": 122834, + "ãĥªãĥ³ãĤ°": 122835, + "abilmek": 122836, + "ĠСи": 122837, + "ĠcÃŃrk": 122838, + "Ġká»ĭp": 122839, + "Ġà¤ijनल": 122840, + "ĠÙĪØŃØ¯Ø©": 122841, + "ãĥĭãĥĥãĤ¯": 122842, + "ĠnÆ°á»Ľng": 122843, + "ĠакÑĤÑĥ": 122844, + "å¸ĿåĽ½": 122845, + "Ġnázev": 122846, + "ĠÑĢемонÑĤ": 122847, + "ĠÑĢинкÑĥ": 122848, + "ĠÏĢάνÏī": 122849, + "ÏĦικο": 122850, + "ĠìĤ¼ìĦ±": 122851, + "ĠÑģимпÑĤомÑĭ": 122852, + "ĠÑĢанÑĸÑĪе": 122853, + "ĠJá": 122854, + "ĠÑģÑĩиÑĤаеÑĤÑģÑı": 122855, + "ĠпоÑĢÑĸв": 122856, + "ĠÐľÐ°Ð»": 122857, + "éĿ¢ç§¯": 122858, + "ĠÙĦغ": 122859, + "ĠجشÙĨ": 122860, + "Ġнедели": 122861, + "Ġì¦Ŀê°Ģ": 122862, + "ãĨįëıĻ": 122863, + "Ġlượt": 122864, + "ĠÄIJá»ĭnh": 122865, + "Ġà¸Ńà¸Ńà¸Ļà¹Ħลà¸Ļ": 122866, + "Ġyaparak": 122867, + "ĠÄijai": 122868, + "ĠоÑĦиÑĨи": 122869, + "ĠεμÏĢ": 122870, + "ξειÏĤ": 122871, + "ĠконÑĦеÑĢен": 122872, + "Ġarası": 122873, + "à¸ķา": 122874, + "Ġë´IJ": 122875, + "ована": 122876, + "ì§Ģê°Ģ": 122877, + "ĠVám": 122878, + "à¤¿à¤ľà¤¨": 122879, + "Ġç¼ĸè¾ij": 122880, + "ζÏĮ": 122881, + "ĠÏĦÏģÏĮ": 122882, + "Ġücretsiz": 122883, + "ĠکاÙħÙĦا": 122884, + ":::/": 122885, + "à¹ĮĊĊ": 122886, + "Ġéĸ¢éĢ£": 122887, + "Ġkara": 122888, + "Ġбезпеки": 122889, + "ĠzmÄĽny": 122890, + "Ġê¿Ī": 122891, + "vrd": 122892, + "liÄŁine": 122893, + "ĠاÙĨتخابات": 122894, + "ĠдоÑģвÑĸд": 122895, + "Ġkterého": 122896, + "енÑĤом": 122897, + "ê³µë¶Ģ": 122898, + "ìłĿ": 122899, + "Ġë§Į족": 122900, + "Ġæij": 122901, + "åĩºåı£": 122902, + "建议": 122903, + "оÑĤÑı": 122904, + "ĠÒij": 122905, + "íĶĦë¡ľ": 122906, + "Ġgió": 122907, + "ãĤ·ãĤ§": 122908, + "ĠλεÏĢ": 122909, + "íķĺ볤": 122910, + "Ġyoksa": 122911, + "Ġistih": 122912, + "ï¼¶": 122913, + "ĠاÙĦعÙħ": 122914, + "Ġکارگرد": 122915, + "à¹Ģà¸ŀราะ": 122916, + "Ġnových": 122917, + "ĠÑģна": 122918, + "Ġsana": 122919, + "वत": 122920, + "Ä±ÅŁman": 122921, + "åı¦å¤ĸ": 122922, + "ì¶ľìŀ¥ìĥµ": 122923, + "婦": 122924, + "ĠкоÑĪÑĤÑĸв": 122925, + "ĠÙĪØ§ÙĦÙĨ": 122926, + "ĠباÙĦØ¥": 122927, + "ĠæĬĢ": 122928, + "Ġмноже": 122929, + "à¥Ĥड": 122930, + "ĠCục": 122931, + "Ġevet": 122932, + "èģĶåIJĪ": 122933, + "Ġ³³Ġ³³Ġ³³Ġ³³": 122934, + "çļĦå¿ĥ": 122935, + "Ġdáng": 122936, + "اÛĮسÙĩ": 122937, + "Ġerken": 122938, + "泡": 122939, + "ائب": 122940, + "Ġyapıldı": 122941, + "ĠQuản": 122942, + "æĹ¶ä»£": 122943, + "ìĽ¨ìĸ´": 122944, + "ĠгÑĸÑĢ": 122945, + "okoj": 122946, + "Ùĥرة": 122947, + "Ñİк": 122948, + "Ġvýj": 122949, + "Ġhodiny": 122950, + "ĠелекÑĤÑĢон": 122951, + "mıyor": 122952, + "ĠìŀĪëĭ¤ëĬĶ": 122953, + "à¹īà¹ī": 122954, + "иÑĤелÑĮное": 122955, + "Ġyıllar": 122956, + "Äıte": 122957, + "ĠÄįinnost": 122958, + "ุà¸ĵà¸łà¸²à¸ŀ": 122959, + "íĵ¨": 122960, + "нг": 122961, + "ูรà¸ĵ": 122962, + "ĠпоÑĢÑıдке": 122963, + "Ġëĭ¹ìĭľ": 122964, + "ĠÐľÐ¾Ñģков": 122965, + "Ġkred": 122966, + "urum": 122967, + "ĠÑĤÑı": 122968, + "Ú©ÙĨاÙĨ": 122969, + "дии": 122970, + "ÑĢимÑĸн": 122971, + "ĠоÑĢганизм": 122972, + "ĠéĽĨ": 122973, + "ιÏĥÏĦο": 122974, + "ä¿¡ç͍": 122975, + "åįģåĽĽ": 122976, + "à¹Īà¹ĥà¸Ĭ": 122977, + "ĠÑĥвид": 122978, + "ัà¸ĩà¸ģล": 122979, + "åı¦ä¸Ģ": 122980, + "ãĥ«ãĥķ": 122981, + "ัà¸ļà¸Ľà¸£": 122982, + "ĠÃľst": 122983, + "説æĺİ": 122984, + "вай": 122985, + "аÑĩе": 122986, + "欣": 122987, + "Ġkatıl": 122988, + "ĠCem": 122989, + "ĠاÙĦجÙĩ": 122990, + "ĠгÑĢÑĥз": 122991, + "ĠзаÑģÑĤав": 122992, + "cılar": 122993, + "ĠÑħоÑĤел": 122994, + "ĠsnÃŃm": 122995, + "ï¼Į被": 122996, + "ĠвиÑī": 122997, + "Ġdemokrat": 122998, + "à¥ĩà¤Łà¤°": 122999, + "åij¨å¹´": 123000, + "Ġodpad": 123001, + "ĠdaÅĪ": 123002, + "Ġ代": 123003, + "à¹ĩà¸Ļà¸Ń": 123004, + "ĠÑģколÑĮко": 123005, + "ĠαÏĨ": 123006, + "ĠpÅĻesvÄĽd": 123007, + "Ġåĵģ": 123008, + "ĠинÑĦоÑĢмаÑĨии": 123009, + "çĽĹ": 123010, + "ãģ¾ãģ¨": 123011, + "ĠÑģамов": 123012, + "Ġpocit": 123013, + "Ġíݸì§ij": 123014, + "ĠÑģмеÑģÑĮ": 123015, + "ĠpojiÅ¡tÄĽnÃŃ": 123016, + "ãģ®ãĤĤ": 123017, + "à¹Īาà¸ģาร": 123018, + "ĠÛĮÙĪÙĨ": 123019, + "Ġ기ìĸµ": 123020, + "ickými": 123021, + "alace": 123022, + "éĽ»å½±": 123023, + "ÑİваннÑı": 123024, + "缸åIJĮ": 123025, + "ĠãĢĥ": 123026, + "ĠдокÑĥменÑĤÑĸв": 123027, + "ï¼¹": 123028, + "åΰåºķ": 123029, + "óz": 123030, + "ĠAhmet": 123031, + "ĠÙħساØŃت": 123032, + "Ġhlavou": 123033, + "ülebilir": 123034, + "ãĢĤä½ł": 123035, + "à¹ĩà¸ģà¸Ĭาย": 123036, + "¤¤": 123037, + "ĠæĦı": 123038, + "ĠcháºŃm": 123039, + ".д": 123040, + "Ġcca": 123041, + "Ġolumsuz": 123042, + "Âŀ": 123043, + "çĬ¬": 123044, + "ĠпоÑģÑĤоÑıнно": 123045, + "Ġ.**************Ċ": 123046, + "Ġاستر": 123047, + "ĠдалÑĮней": 123048, + "ůr": 123049, + "ä¿ĿèŃ·": 123050, + "боÑĢаÑĤоÑĢ": 123051, + "÷": 123052, + "ÏĥÏĦαν": 123053, + "ĠÙģÙĬÙĦÙħ": 123054, + "çek": 123055, + "ìŀIJ기": 123056, + "Ġæ¥Ń": 123057, + "нÑĸп": 123058, + "èīĩ": 123059, + "Ġmoci": 123060, + "ìľµ": 123061, + "리그": 123062, + "ĠÐļо": 123063, + "éĤ£éĩĮ": 123064, + "ĠСÑĤаÑĢ": 123065, + "ĠتÙĪØ§ÙĨÛĮد": 123066, + "Ġnguyá»ĩn": 123067, + "Ġสามารà¸ĸ": 123068, + "ÑĸÑĩна": 123069, + "Ġ被": 123070, + "ุà¸ķสาหà¸ģรรม": 123071, + "Ġعصر": 123072, + "ĠÃľNİVERS": 123073, + "Ġtehdy": 123074, + "ĠÙĪØµÙĦات": 123075, + "ä¿Ŀè¯ģ": 123076, + "ĠEudicots": 123077, + "ĠÎłÎŃ": 123078, + "建è¨Ń": 123079, + "ĠìłĦêµŃ": 123080, + "ĠØŃÛĮ": 123081, + "ãĤ¤ãĥĦ": 123082, + "ĠØŃاصÙĦ": 123083, + "ĠجÙĨÙĪØ¨ÛĮ": 123084, + "ãĢģæĹ¥æľ¬": 123085, + "ÃĻ": 123086, + "Ġà¸Ĺาà¸ĩ": 123087, + "ĠÙĨØŃÙĪ": 123088, + "اÙĩÙĬÙħ": 123089, + "å¾Įãģ«": 123090, + "à¸Īะà¹Ħà¸Ķ": 123091, + "åĩłä¸ª": 123092, + "à¥ģà¤ģ": 123093, + "ëĮĢìĿĺ": 123094, + "ĠlÃłn": 123095, + "ìĽĶë¶ĢíĦ°": 123096, + "Æł": 123097, + "Ġеди": 123098, + "Ġspis": 123099, + "æľīä»Ģä¹Ī": 123100, + "Ġnebyla": 123101, + "Ġíķ´ìϏ": 123102, + "ë¡ľë¶ĢíĦ°": 123103, + "аÑĢÑħ": 123104, + "lili": 123105, + "Ġíķĺ루": 123106, + "maması": 123107, + "ÑĩаеÑĤ": 123108, + "ĠØŃاÙĦØ©": 123109, + "ĠBölüm": 123110, + "缸éĹľ": 123111, + "ĠдÑĢÑĥгими": 123112, + "çĽ£çĿ£": 123113, + "à¥Īà¤ľ": 123114, + "ĠعبداÙĦÙĦÙĩ": 123115, + "Ġè¿ŀ": 123116, + "ĠÐľÐ¸Ð½": 123117, + "Ġ기ëĭ¤": 123118, + "Ġ공격": 123119, + "è¡Įåĭķ": 123120, + "ामà¤ķ": 123121, + "æ±Ĥè´Ń": 123122, + "模åŀĭ": 123123, + "ÑģоÑĢ": 123124, + "rane": 123125, + "à¹ĩà¸Īà¸ŀระ": 123126, + "ĠÙħسÛĮر": 123127, + "è£ħç½®": 123128, + "ìķ¤": 123129, + "nÄĽjÅ¡ÃŃch": 123130, + "αλÏįÏĦε": 123131, + "ĠHakk": 123132, + "访éĹ®": 123133, + "ĠÑĤеÑĩ": 123134, + "ĠLá»ĭch": 123135, + "ĠدشÙħÙĨ": 123136, + "ÎĮ": 123137, + "ĠÏĢε": 123138, + "Ġзамов": 123139, + "Ġbirim": 123140, + "ãĤ·ãĤ¹ãĥĨãĥł": 123141, + "ĠÏĢÏģοÏĬ": 123142, + "ĬìĿĢ": 123143, + "виг": 123144, + "ĠëıħìĿ¼": 123145, + "ĠÑĢеволÑİ": 123146, + "Ġé¦Ļ港": 123147, + "Ġlez": 123148, + "ĠبÛĮÙħار": 123149, + "Ġduygu": 123150, + "Ġ뼰": 123151, + "Ġamacı": 123152, + "à¥įयप": 123153, + "ĠìŀIJìĦ¸": 123154, + "اÙĪÛĮر": 123155, + "Ġspole": 123156, + "ÃĸL": 123157, + "Ġجع": 123158, + "ÙĦÛĮÙħ": 123159, + "ãģªãģ©ãģ®": 123160, + "à¸Ľà¸£à¸°à¸ªà¸ļ": 123161, + "ĠnaÅ¡ich": 123162, + "ĠпÑĢедÑģÑĤавлÑıеÑĤ": 123163, + "Ġздоб": 123164, + "Ġobou": 123165, + "Ø®ÙĪØ§ÙĨ": 123166, + "ãĥ¬ãĥĥãĥĪ": 123167, + "одейÑģÑĤв": 123168, + "کرÛĮ": 123169, + "ĠاتاÙĤ": 123170, + "ĠÑįкÑģплÑĥаÑĤа": 123171, + "ï½¢": 123172, + "ĠÙĦÙĦØ¥": 123173, + "ĠاÙĦÙĨظاÙħ": 123174, + "ĠíĶĦëŀijìĬ¤": 123175, + "ısıt": 123176, + "åŃĻ": 123177, + "Ġžádný": 123178, + "ÙĤÙī": 123179, + "ัà¸ģà¹Ģร": 123180, + "Ġë²łìĬ¤íĬ¸": 123181, + "Ġãĥ«": 123182, + "åıĶ": 123183, + "nické": 123184, + "ĠειÏĥ": 123185, + "ãĥ«ãĥī": 123186, + "ĠدارÙħ": 123187, + "Ġгем": 123188, + "ĠåѸ": 123189, + "ानसà¤Ń": 123190, + "ализи": 123191, + "ованÑĸ": 123192, + "Ġобо": 123193, + "ìłĦìĹIJ": 123194, + "ĠSinh": 123195, + "ĠÙĨع": 123196, + "ĠоблаÑģ": 123197, + "ÏħÏĢ": 123198, + "èĥ¶": 123199, + "Ġazalt": 123200, + "åħ¨éĿ¢": 123201, + "ĠKromÄĽ": 123202, + "ĠCz": 123203, + "æĬ¥åIJį": 123204, + "ĠnásledujÃŃcÃŃ": 123205, + "ĠнапÑĢиклад": 123206, + "ãģªãģijãĤĮãģ°": 123207, + "à¸Ńาย": 123208, + "çľĭçľĭ": 123209, + "Ġà¸ģรà¸ģà¸İ": 123210, + "ednou": 123211, + "ازÙĦ": 123212, + "ãĢģæľ¬": 123213, + "еÑģи": 123214, + "Ġtarz": 123215, + "ãĢĢï¾Ĭ": 123216, + "Ġrozum": 123217, + "ãĤ«ãĥ¼ãĥī": 123218, + "Ġà¤ĩà¤ķ": 123219, + "ĠprostÄĽ": 123220, + "ĠÎĵκ": 123221, + "ç©´": 123222, + "ĠHük": 123223, + "lavÃŃ": 123224, + "ê¿": 123225, + "鸡": 123226, + "ĠвозникаеÑĤ": 123227, + "ÑŁÑŁÑŁ": 123228, + "Ġпонима": 123229, + "ÐŁÐŀ": 123230, + "ãģĶãģĸãģĦãģ¾ãģĻ": 123231, + "ãģħ": 123232, + "Ġtrval": 123233, + "Ġдалеко": 123234, + "ĠÙĨÙĬز": 123235, + "ĠвÑĭÑıв": 123236, + "ิà¸Ĺยา": 123237, + "Ġlá»Ĺ": 123238, + "à¹Ģสà¸Ļ": 123239, + "ĠÑģÑĤенÑĭ": 123240, + "à¥įडल": 123241, + "Ġjednotlivých": 123242, + "ĠпÑĢиблиз": 123243, + "ikat": 123244, + "Ġподав": 123245, + "رÛĮز": 123246, + "ĠØ¢ÙĨجا": 123247, + "社æľĥ": 123248, + "Ġà¤ľà¤¨à¤µà¤°": 123249, + "Ġaile": 123250, + "à¸µà¸Ľ": 123251, + "Ġèħ": 123252, + "ãģ§ãģĹãĤĩãģĨ": 123253, + "СÐŀ": 123254, + "ãĢģãĢĬ": 123255, + "ìĿ¼ë³¸": 123256, + "ovanou": 123257, + "νÏĮ": 123258, + "å±¥": 123259, + "عÙĦÙĤ": 123260, + "Ġìī½": 123261, + "Ġглиб": 123262, + "Ġê²ĥìŀħëĭĪëĭ¤": 123263, + "ĠнеобÑħодимоÑģÑĤи": 123264, + "ĠتخصصÛĮ": 123265, + "اسر": 123266, + "ï¼Į说": 123267, + "ĠÐĿÑĸ": 123268, + "Ġvyrob": 123269, + "ÑĪÑĥÑİ": 123270, + "æĪ¿å±ĭ": 123271, + "ÂłÐĹ": 123272, + "à¹Ģà¸ŀล": 123273, + "åĨħéĥ¨": 123274, + "ĠدÙĦار": 123275, + "ĠпÑĤи": 123276, + "Å¡ti": 123277, + "ĠaraÅŁtırma": 123278, + "Ġзнаком": 123279, + "Ġελλην": 123280, + "Ġấm": 123281, + "ÑĢак": 123282, + "ãĤŃãĥ¥": 123283, + "ĠtháºŃn": 123284, + "èŃľ": 123285, + "ëªħìĿĺ": 123286, + "Ġyeter": 123287, + "ĠнаÑģлед": 123288, + "ĠÐļан": 123289, + "ĠвÑĭбиÑĢа": 123290, + "ĠΣÏĩ": 123291, + "ĠÑĤеÑĢмÑĸн": 123292, + "Ġæ´»": 123293, + "ĠاÙĦتÙģ": 123294, + "ĠJapon": 123295, + "éĤª": 123296, + "ë¶ĦìĦĿ": 123297, + "ĠлиÑĨо": 123298, + "Ġmê": 123299, + "à¸Ħวร": 123300, + "Ġà¤ħà¤Ĺल": 123301, + "ĠÙĩج": 123302, + "룬ìļ´": 123303, + "ĠвойнÑĭ": 123304, + "اÙĪØ±Ø²ÛĮ": 123305, + "ĠÑģпÑĢÑı": 123306, + "çĦ¼": 123307, + "è¢ĸ": 123308, + "Ġiçeren": 123309, + "Ġëħ¸ëŀĺ": 123310, + "ĠЧеÑĢез": 123311, + "ÙĪØ¬ÙĪØ¯": 123312, + "ÑıÑĤие": 123313, + "à¸Ńลลาร": 123314, + "è·¨": 123315, + "ĠMilli": 123316, + "ä»¶äºĭ": 123317, + "ĠæľĿ": 123318, + "βολή": 123319, + "Ġков": 123320, + "ĠØ´ÙĩÛĮد": 123321, + "ä¸ĭåİ»": 123322, + "Ġìłķìĭł": 123323, + "оÑĩкÑĥ": 123324, + "ï¼Į便": 123325, + "γκε": 123326, + "ĠÙħباش": 123327, + "Ġayında": 123328, + "Ġä»»": 123329, + "ÑģÑĤоÑĢÑĸÑı": 123330, + "ä¸ŃåѦ": 123331, + "縮": 123332, + "ĠÑĦÑĸл": 123333, + "ãĢģãĤĦ": 123334, + "Ġæĺ¥": 123335, + "Ġterör": 123336, + "Ġповинен": 123337, + "Ġmilionů": 123338, + "ĠÙģØ§Ø±Ø³": 123339, + "Ġввод": 123340, + "طاÙĦ": 123341, + "Ġê¶ģê¸Ī": 123342, + "Ġukáz": 123343, + "çĶľ": 123344, + "æļĤ": 123345, + "صت": 123346, + "Ðļогда": 123347, + "Ġमल": 123348, + "άνα": 123349, + "ĠдокÑĤоÑĢ": 123350, + "ĠкоммÑĥ": 123351, + "ĠпÑĸдÑģ": 123352, + "Ġà¸ģรà¸ģà¸İาà¸Ħม": 123353, + "ÂłÐ³": 123354, + "Ġöne": 123355, + "ĠÄIJá»ģ": 123356, + "äºĭåĭĻ": 123357, + "Ġsrov": 123358, + "Ġάν": 123359, + "ëıĦê°Ģ": 123360, + "acaģım": 123361, + "кол": 123362, + "Ġbá»ĵi": 123363, + "Ġپرداز": 123364, + "Ġä¸ļ": 123365, + "ëĭ¤ìļ´": 123366, + "ĠпÑĢедел": 123367, + "ĠÑĦедеÑĢалÑĮ": 123368, + "ĠاÙĦØ£Ùĥ": 123369, + "ãĢĢãĢĢãĢĢãĢĢĠãĢĢĠãĢĢ": 123370, + "Ġtrấn": 123371, + "Ġдлин": 123372, + "ĠÑĸмп": 123373, + "ĠsmÄĽrem": 123374, + "°ëĭ¤": 123375, + "Ġrừng": 123376, + "iciálnÃŃ": 123377, + "è¡Ĩ": 123378, + "μιο": 123379, + "ĠادارÙĩ": 123380, + "ĠÑĤÑĢÑĮ": 123381, + "Ġİli": 123382, + "มà¸Ļà¸ķร": 123383, + "à¥įवà¤ļ": 123384, + "еÑĢо": 123385, + "ĠKUR": 123386, + "skými": 123387, + "δί": 123388, + "utin": 123389, + "Ġveriler": 123390, + "สà¸ĸาà¸Ļà¸Ĺ": 123391, + "ĠзаÑħодÑĸв": 123392, + "ĠÙ쨱ÙĪØ¯Ú¯Ø§Ùĩ": 123393, + "Ġçͱ": 123394, + "ูà¹ģล": 123395, + "éĥij": 123396, + "ĠJako": 123397, + "ĠÑĢазвиÑĤие": 123398, + "à¤īन": 123399, + "ÙĬدا": 123400, + "Ġà¸ŀà¸¤à¸©à¸łà¸²à¸Ħม": 123401, + "물ìĿĦ": 123402, + "ëłĢ": 123403, + "-ÐĽ": 123404, + "ãĢĤãģĤ": 123405, + "Ġподв": 123406, + "ï¼īï¼ļ": 123407, + "论åĿĽ": 123408, + "ائع": 123409, + "ãĤĴãģĻãĤĭ": 123410, + "Ġأص": 123411, + "Ñĩики": 123412, + "ĠÑģÑĤил": 123413, + "leyici": 123414, + "ÑģилÑĮ": 123415, + "Ġbulundu": 123416, + "ĠÑģеÑĢедови": 123417, + "à¤Ĥर": 123418, + "ĠاÛĮÙĨجا": 123419, + "åľŃåľŃ": 123420, + "ĠmyÅ¡len": 123421, + "ĠÑĢозвиÑĤок": 123422, + "ĠiyileÅŁ": 123423, + "ĠвÑĸз": 123424, + "ëĤĺ무": 123425, + "æĦıè§ģ": 123426, + "ιÏĥÏĦη": 123427, + "ãĥĥãĥĦ": 123428, + "äºĭæķħ": 123429, + "madıģı": 123430, + "Ġà¤ħपर": 123431, + "ĠÚĨرخ": 123432, + "Ġплав": 123433, + "以æĿ¥": 123434, + "Ġë©Ģ": 123435, + "Tuy": 123436, + "ãĥ¼ãĥį": 123437, + "ĠизÑĥÑĩ": 123438, + "ĠstÅĻednÃŃ": 123439, + "课ç¨ĭ": 123440, + "Ġê·¸ëħĢëĬĶ": 123441, + "ĠдоговоÑĢÑĥ": 123442, + "ĠÄijá»ĭch": 123443, + "Ġkararı": 123444, + "åIJ´": 123445, + "ÙĥاÙħ": 123446, + "ĠпоÑĤол": 123447, + "вок": 123448, + "ĠDüz": 123449, + "Τα": 123450, + "åµ": 123451, + "âĢĻna": 123452, + "адж": 123453, + "ĠdÅĻÃŃve": 123454, + "梨": 123455, + "ĠAvust": 123456, + "åĬĽãĤĴ": 123457, + "à¹Ģà¸ģล": 123458, + "Ġпобед": 123459, + "ĠпÑĢиÑĩ": 123460, + "ĠÐijÑĸ": 123461, + "åѤ": 123462, + "ĠÐłÐµÐ³": 123463, + "ĠyetiÅŁ": 123464, + "ĠнеÑİ": 123465, + "ĠbÃŃl": 123466, + "ìĹĨìĿĮ": 123467, + "Ġİtalya": 123468, + "ÐĴÑģе": 123469, + "å¾Įãģ®": 123470, + "ĠjejÃŃm": 123471, + "ĠвиглÑıдÑĸ": 123472, + "огÑĢад": 123473, + "Ġbohat": 123474, + "Ġåħĭ": 123475, + "ĠдиÑĤини": 123476, + "лÑıÑĤоÑĢ": 123477, + "мага": 123478, + "ëĭĪìĬ¤": 123479, + "ĠÐłÐ°Ð´Ð¸": 123480, + "ÏĢοÏħÏģγ": 123481, + "&ZeroWidthSpace": 123482, + "Ġstruk": 123483, + "æIJŀ": 123484, + "ĠãģĿãģ®ä»ĸ": 123485, + "ìĿ¸ìĿĦ": 123486, + "ĠпÑĢовеÑģÑĤи": 123487, + "漫çĶ»": 123488, + "Ġçݩ家": 123489, + "ĠÙĪØ±Ø²": 123490, + "ĠÑģвоÑĹм": 123491, + "ĠLRV": 123492, + "ิà¸ķà¸ł": 123493, + "सत": 123494, + "ĠíĿĶ": 123495, + "âĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹı": 123496, + "ĠtvoÅĻÃŃ": 123497, + "ĠÐŁÐŀ": 123498, + "é«ĺ度": 123499, + ".hwp": 123500, + "à¸ķำà¸ļล": 123501, + "Ġدس": 123502, + "ìĪĺê°Ģ": 123503, + "ìĶ©": 123504, + "ï¼īãĢĤĊ": 123505, + "æĭ³": 123506, + "Ġlô": 123507, + "ĠKültür": 123508, + "اطعة": 123509, + "Ġkuchy": 123510, + "Ġstroj": 123511, + "μενο": 123512, + "ĠконÑģÑĤÑĢÑĥкÑĨии": 123513, + "å°ıåѦ": 123514, + "Ġåįļ": 123515, + "ĠèĢĥ": 123516, + "Ġasıl": 123517, + "æĪijåĢij": 123518, + "خراج": 123519, + "ĠOnun": 123520, + "Ġç¾İåĽ½": 123521, + "à¥Ĥबर": 123522, + "Ġmuži": 123523, + "å§«": 123524, + "Ġвб": 123525, + "Ġдоме": 123526, + "Ġам": 123527, + "Ġkuru": 123528, + "æ±Ĺ": 123529, + "lediÄŁi": 123530, + "Ġvẽ": 123531, + "å¾ĵ": 123532, + "ĠгÑĥбеÑĢ": 123533, + "ĠÑģÑĤановиÑĤÑĮ": 123534, + "ĠzemÄĽdÄĽl": 123535, + "ÙĦÙĦ": 123536, + "Ġramen": 123537, + "ĠprůbÄĽhu": 123538, + "Ġblok": 123539, + "ýval": 123540, + "vou": 123541, + "νά": 123542, + "ëĶĶìĭľ": 123543, + "ÑĨионнÑĭе": 123544, + "Ġê²ĮìĭľíĮIJ": 123545, + "ãĥ³ãĥĩãĤ£": 123546, + "ä¸Ģ级": 123547, + "иÑĩа": 123548, + "ĠسرÛĮاÙĦ": 123549, + "ilin": 123550, + "ायन": 123551, + "ÙĨÙĪÛĮس": 123552, + "ĠÐĶи": 123553, + "ĠادبÛĮ": 123554, + "ĠÑĥдов": 123555, + "ĠÐĹам": 123556, + "à¥ģà¤Ńव": 123557, + "Ñģок": 123558, + "ĠÑĢайоне": 123559, + "ĠEK": 123560, + "æĤī": 123561, + "Ġsorumlu": 123562, + "ĠzvyÅ¡": 123563, + "à¹Ģà¸ĭà¸Ńร": 123564, + "ináÅĻ": 123565, + "Ġudrž": 123566, + "новид": 123567, + "ĠspoleÄįnÄĽ": 123568, + "æĪIJäºĨ": 123569, + "D": 123570, + "ัà¸ŀà¸Ĺ": 123571, + "аÑĪа": 123572, + "ĠÙĨادÙĬ": 123573, + "à¹ĥà¸Ļà¸Ĺ": 123574, + "å¡ļ": 123575, + "Ġسک": 123576, + "ãĥģãĥ¥": 123577, + "ĠмаÑĢÑĪ": 123578, + "аленнÑı": 123579, + "ĠØŃÙħاÛĮت": 123580, + "ãĥ³ãĤ¸": 123581, + "รษà¸IJ": 123582, + "ĠкÑĢем": 123583, + "ĠKažd": 123584, + "ê½": 123585, + "Ġparlament": 123586, + "ĠÅŁun": 123587, + "Ġkys": 123588, + "ÏĦÏĤ": 123589, + "ê°ľìĿĺ": 123590, + "Ġvelice": 123591, + "Ġcestu": 123592, + "ظة": 123593, + "è¯Ĭ": 123594, + "Ġút": 123595, + "ĠØ®ÙĪØ±": 123596, + "ĠТе": 123597, + "ĠоблаÑģÑĤ": 123598, + "à¹Īà¸Ńà¸ķ": 123599, + "ĠAcadem": 123600, + "ãĢĤæľ¬": 123601, + "Ġ風": 123602, + "Ñģен": 123603, + "ãĥ¢ãĥĩãĥ«": 123604, + "ĠзавданнÑı": 123605, + "ãģ¾ãĤĮ": 123606, + "моÑĤÑĢеÑĤÑĮ": 123607, + "Ġkhá»ķ": 123608, + "à¹Īร": 123609, + "درس": 123610, + "ĠÄĮeskosloven": 123611, + "Ġ计": 123612, + "ĠÑĤаком": 123613, + "ĠÙĦاعب": 123614, + "ĠMuhammed": 123615, + "ĠÙħÙĦÙģ": 123616, + "ĠÙĪØ³ÙĦÙħ": 123617, + "ãĤ·ãĥ£ãĥ«": 123618, + "ĠокÑĢа": 123619, + "à¥ģमत": 123620, + "ĠëĪĦ구": 123621, + "Ġnedeni": 123622, + "ĠëĤłì§ľ": 123623, + "/km": 123624, + "Ġдемон": 123625, + "ĠصÙĨاÛĮع": 123626, + "masından": 123627, + "åīįãģ®": 123628, + "æĪIJ绩": 123629, + "लà¤Ĺ": 123630, + "ĠåĮħ": 123631, + "à¸Ńà¸ģà¸Īาà¸ģà¸Ļ": 123632, + "ادا": 123633, + "Ġaylık": 123634, + "ĠÙħÙĤد": 123635, + "Ġönemlidir": 123636, + "ĠìĪľê°Ħ": 123637, + "Ġdinh": 123638, + "Ġnákup": 123639, + "istické": 123640, + "åºŁ": 123641, + "ìĬ¤íĨł": 123642, + "Ġdny": 123643, + "ĠìŀĪëıĦë¡Ŀ": 123644, + "ìĽIJìĿĺ": 123645, + "ãĥķãĥ¬": 123646, + "poz": 123647, + "Ġев": 123648, + "ĠdÃ¼ÅŁÃ¼r": 123649, + "à¥įरà¤ļ": 123650, + "Ġê²°íĺ¼": 123651, + "ĠÑĨенÑĤÑĢа": 123652, + "åŁĭ": 123653, + "ï¿£ï½Ģ": 123654, + "æŃ¦åύ": 123655, + "à¹Īาà¸Ļมา": 123656, + "Ġरव": 123657, + "Ùijد": 123658, + "μÎŃνοι": 123659, + "Ġë§IJìĶĢ": 123660, + "ĠpoÅĻad": 123661, + "Ġبغ": 123662, + "ĠÏĮλα": 123663, + "à¹īà¹Ħà¸Ĥ": 123664, + "à¹Ģà¸ģาะ": 123665, + "Ġbạc": 123666, + "Ġdá": 123667, + "dÄĽla": 123668, + "Ġteb": 123669, + "Ġkèo": 123670, + "ãĤıãĤĮ": 123671, + "Ġistiyorum": 123672, + "λήÏĤ": 123673, + "ÐIJв": 123674, + "Ġasla": 123675, + "Ġperformans": 123676, + "ĠVáclav": 123677, + "ÏģίαÏĤ": 123678, + "ĠtÄĽl": 123679, + "æĮĻ": 123680, + "оба": 123681, + "ãģijãĤĮãģ©": 123682, + "Ġë͏": 123683, + "ÙĪØ§Ø¡": 123684, + "ĠÚ©ÙĪØ¯Ú©Ø§ÙĨ": 123685, + "ĠплиÑĤ": 123686, + "Ġbilir": 123687, + "Ñĥже": 123688, + "ÏĦÎŃλε": 123689, + "Ġà¤Ĩà¤ķर": 123690, + "ĠÑĤÑĢÑĥда": 123691, + "ĠدرÛĮا": 123692, + "̧": 123693, + "Ġngá»įt": 123694, + "ÙĨسا": 123695, + "аÑģÑĤи": 123696, + "ï½£": 123697, + "ÂłÐ½Ð°": 123698, + "емÑĭе": 123699, + "ĠسعÙĪØ¯": 123700, + "Ġalım": 123701, + "è´«": 123702, + "åΰçļĦ": 123703, + "Ġkesinlikle": 123704, + "Ġzásad": 123705, + "ĠìĬ¤íĬ¸": 123706, + "Ġdahi": 123707, + "té": 123708, + "åįģåħ«": 123709, + "Ġzayıf": 123710, + "ذار": 123711, + "ĠاÙĬراÙĨ": 123712, + "ĠhodnocenÃŃ": 123713, + "DST": 123714, + "Ġìĸĺ": 123715, + "æĺĩ": 123716, + "éĻ£": 123717, + "Ġкле": 123718, + "Ġuplat": 123719, + "ĠاÙĦتعÙĦÙĬÙħ": 123720, + "ÏĢοίηÏĥη": 123721, + "екÑĤоÑĢа": 123722, + "Ġë§IJìĿ´": 123723, + "ĠÙ쨱ÙĬÙĤ": 123724, + "帮åĬ©": 123725, + "çĶŁãģį": 123726, + "åĨħãģ®": 123727, + "èģĶ缣": 123728, + "гÑĢад": 123729, + "Ġchuyến": 123730, + "ãĤĤãĤĬ": 123731, + "ĠÑĩаÑģÑĤина": 123732, + "ãģªãģıãģª": 123733, + "ÑĶв": 123734, + "ĠÑĦаÑħ": 123735, + "kuk": 123736, + "çĶ·æĢ§": 123737, + "ĠÙħÛĮÙĦادÛĮ": 123738, + "Ġbeden": 123739, + "ê°Ģ를": 123740, + "मर": 123741, + "Ġìĸ´ë¨¸ëĭĪ": 123742, + "èģĶç½ij": 123743, + "Âłmi": 123744, + "Ġzahrn": 123745, + "æ²ĸ": 123746, + "Ġkhuẩn": 123747, + "Ġopráv": 123748, + "ाहà¤ķ": 123749, + "ĠÚ©ÙĪØªØ§Ùĩ": 123750, + "Ġобол": 123751, + "Ġphúc": 123752, + "ránÃŃ": 123753, + "à¥įरथ": 123754, + "æİªæĸ½": 123755, + "Ġволод": 123756, + "ĠspÃŃÅ¡e": 123757, + "ĠmÆ¡": 123758, + "ÑĬек": 123759, + "ngör": 123760, + "à¤īत": 123761, + "ksiyon": 123762, + "аÑĤе": 123763, + "Ġجزء": 123764, + "ávka": 123765, + "ÐĴС": 123766, + "laÅŁma": 123767, + "Ġç¿": 123768, + "à¸Ńาà¸Ĭ": 123769, + "ниÑĨÑĥ": 123770, + "Ġหาà¸ģ": 123771, + "ãģĭãģĹ": 123772, + "íı´": 123773, + "ĠгаÑĢан": 123774, + "ĠÏĥαν": 123775, + "ĠдобавиÑĤÑĮ": 123776, + "ĠÑĢазÑĢеÑĪ": 123777, + "á¾": 123778, + "æĺ¯ä¸ª": 123779, + "μÎŃÏĤ": 123780, + "Ġİmparator": 123781, + "æ¨Ļæºĸ": 123782, + "ÑģÑĤÑĭ": 123783, + "Ġgücü": 123784, + "ĠíĥĢìĿ´": 123785, + "Ġåħ¶ä»ĸ": 123786, + "Ġtông": 123787, + "ĠvedenÃŃ": 123788, + "ëĵľë¡ľ": 123789, + "Ġmesel": 123790, + "ĠÄįe": 123791, + "jde": 123792, + "Ïģεια": 123793, + "ãĤĪãģŃ": 123794, + "ÐłÐĿ": 123795, + "è·Ŀ离": 123796, + "ĠÙĤائÙħØ©": 123797, + "าà¸ļาล": 123798, + "ĠÑģайÑĤÑĸ": 123799, + "Ġरस": 123800, + "ĠÙĤرÙĨ": 123801, + "Ġnávr": 123802, + "Ú©Ùħ": 123803, + "çļĦæīĭ": 123804, + "Ġsorunu": 123805, + "/NÄIJ": 123806, + "nutÃŃm": 123807, + "ĠØ®ÙĪØ±Ø¯": 123808, + "Ġngá»Ŀ": 123809, + "Ġ:.|": 123810, + "Ġbudouc": 123811, + "iÄįky": 123812, + "Ġدرد": 123813, + "ÑĢониÑĩеÑģ": 123814, + "ç¾Ĭ": 123815, + "ĠìķĦë²Ħì§Ģ": 123816, + "ĠKanunu": 123817, + "ĠпÑĢиводиÑĤ": 123818, + "άλÏħÏĪηÏĤ": 123819, + "ĠVladim": 123820, + "Ġalıp": 123821, + "ĠеÑĤап": 123822, + "Ġà¤Ĺलत": 123823, + "ĠراÙĩÙĨÙħ": 123824, + "Ġpozisyon": 123825, + "Ġgöç": 123826, + "èµŀ": 123827, + "Ġмой": 123828, + "Ġγά": 123829, + "ĠìĪł": 123830, + "ĠØ¢ÛĮÙĨدÙĩ": 123831, + "aná": 123832, + "举çľģ": 123833, + "ĠÙħتعدد": 123834, + "ĠåįĬ": 123835, + "ãĢĢãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 123836, + "Ġthá»Ŀ": 123837, + "ĠвдÑĢÑĥг": 123838, + "паÑĤ": 123839, + "ĠпÑĢоведениÑı": 123840, + "ÙĨز": 123841, + "ĠاÙĦبØŃØ«": 123842, + "æģ¢": 123843, + "Ġbaktı": 123844, + "Ġè·¯": 123845, + "Ġзаболеваний": 123846, + "ĠÐķвÑĢоп": 123847, + "Ġtarihli": 123848, + "깨": 123849, + "ĠÚ©ÙĪÙĩ": 123850, + "Ġìĸ´ëł¤": 123851, + "Ġtitul": 123852, + "ĠvydánÃŃ": 123853, + "éĺ¶æ®µ": 123854, + "à¸Īะà¸ķ": 123855, + "ĠмоÑı": 123856, + "ĠкоÑĢол": 123857, + "Ġбанк": 123858, + "วรรà¸ĵ": 123859, + "ĠÙĥسارة": 123860, + "ĠKhoa": 123861, + "ĠÑĥнÑĸвеÑĢÑģиÑĤеÑĤ": 123862, + "ãģ«éĸ¢ãģĻãĤĭ": 123863, + "ruary": 123864, + "Ġà¸Ĥาย": 123865, + "Ġsvaz": 123866, + "ĠشرÙĤ": 123867, + "ĠдÑĭÑħ": 123868, + "Ġизбав": 123869, + "ĠÑıкÑĸй": 123870, + "ĠÎľÎ¿Î½": 123871, + "Ġgön": 123872, + "ĠUkraj": 123873, + "ัà¸Ļà¸Ńà¸Ńà¸ģ": 123874, + "Ġมà¸ģราà¸Ħม": 123875, + "иÑĤов": 123876, + "Ġanalý": 123877, + "ĠоÑĤмеÑĩ": 123878, + "ĠبراÙī": 123879, + "âĪı": 123880, + "ัà¸ģà¸ģ": 123881, + "æĭ¥æľī": 123882, + "ĠÑĸнÑĪого": 123883, + "ĠкомпанÑĸÑĹ": 123884, + "ĠkÅĻes": 123885, + "ĠÑĢабоÑĩ": 123886, + "adÃŃ": 123887, + "ìłł": 123888, + "à¹Ħหà¸Ļ": 123889, + "à¥ģबह": 123890, + "âĢĻdeki": 123891, + "çħ¤": 123892, + "ĠпаÑĢÑĥ": 123893, + "ìĦŃ": 123894, + "ĠнепоÑģÑĢед": 123895, + "Ġİb": 123896, + "Ġà¸ŀฤศà¸Ī": 123897, + "íĭ´": 123898, + "ĠëłĪìĿ´": 123899, + "ĠThá»ķ": 123900, + "ÑıеÑĤ": 123901, + "ائج": 123902, + "»çĴĥ": 123903, + "ÐĴÐŀ": 123904, + "åĸĬ": 123905, + "Ġ第ä¸ī": 123906, + "ĠвокÑĢÑĥг": 123907, + "ÑĩенÑĮ": 123908, + "Ġolanak": 123909, + "tura": 123910, + "ĠÙħÙĬÙĦ": 123911, + "eydi": 123912, + "ĠÙħدÙĬر": 123913, + "Ġnelze": 123914, + "ัวà¸Ńย": 123915, + "ìħľ": 123916, + "Ġhlavu": 123917, + "Ġkoruy": 123918, + "ÑĨин": 123919, + "ĠдиÑģÑĨип": 123920, + "ĠÙħاÙĨد": 123921, + "ĠподÑĢоб": 123922, + "ТÐŀ": 123923, + "ÙĤرار": 123924, + "à¹ģà¸Ļะà¸Ļำ": 123925, + "문ìĿĦ": 123926, + "æĮ¯ãĤĬ": 123927, + "PÅĻi": 123928, + "Ġyên": 123929, + "शà¤ķ": 123930, + "Âłje": 123931, + "ĠÐļонÑģÑĤиÑĤÑĥ": 123932, + "à¥ģह": 123933, + "Ġپا": 123934, + "ìĨĮ를": 123935, + "Ġдела": 123936, + "кид": 123937, + "à¹Ĥà¸Ĭ": 123938, + "커ìĬ¤": 123939, + "dÄĽlen": 123940, + "à¤Ķर": 123941, + "äºİæĺ¯": 123942, + "ĠÙĩÙħÛĮØ´Ùĩ": 123943, + "ĠbaÅŁlam": 123944, + "ĠìĽ¨": 123945, + "Ġdeneyim": 123946, + "Ġüye": 123947, + "ĠνÏĮ": 123948, + "Ġà¤ĸड": 123949, + "nÄĽl": 123950, + "ĠÑģÑĦеÑĢÑĸ": 123951, + "à¸Ńà¸Ķà¸ł": 123952, + "ä¸Ģå¹´": 123953, + "Ġvurgu": 123954, + "Äŀİ": 123955, + "âĢĻĊ": 123956, + "ĠÑĸнÑĪими": 123957, + "ĠзменÑĪ": 123958, + "Ġà¤ĭ": 123959, + "Ġвека": 123960, + "ĠØŃÚ©ÙĪÙħت": 123961, + "ĠتÙħاÙħÛĮ": 123962, + "Ġsmrt": 123963, + "Ġhá»§y": 123964, + "ĠyapılmÄ±ÅŁ": 123965, + "à¹īà¸ľ": 123966, + "ĠYen": 123967, + "ĠÑĥл": 123968, + "ĠSvÄĽt": 123969, + "ัà¸Ħ": 123970, + "ĠmÄĽsÃŃců": 123971, + "денÑĤи": 123972, + "Ġï¾ĺ": 123973, + "ĠполиÑĤи": 123974, + "skyt": 123975, + "ä¹Łæľī": 123976, + "Ġê°ĻìĬµëĭĪëĭ¤": 123977, + "Ġê·¸ëŀĺìĦľ": 123978, + "ÏĦεÏģη": 123979, + "ÑĩеÑĢ": 123980, + "ĠÃľNİVERSİTESİ": 123981, + "à¸ªà¸ł": 123982, + "Ġสร": 123983, + "ानद": 123984, + "ĠaÅŁÄ±rı": 123985, + "λίοÏħ": 123986, + "ĠÙĦÙģ": 123987, + "ÃŃnu": 123988, + "à¸Ńาร": 123989, + "ÑĤÑĥÑĢа": 123990, + "ĠÄįeských": 123991, + "Ġphức": 123992, + "以为": 123993, + "ÏģÏīÏĢα": 123994, + "ĠاÙĨرÚĺÛĮ": 123995, + "»)": 123996, + "alardan": 123997, + "ĠÑģÑĤвоÑĢÑİ": 123998, + "Ġtráv": 123999, + "६": 124000, + "ãģĬãĤĪãģ³": 124001, + "ïľĭ": 124002, + "adil": 124003, + "ĠΤι": 124004, + "ĠëIJ©ëĭĪëĭ¤": 124005, + "ĠεμÏĨ": 124006, + "Ġ구조": 124007, + "ìĹŃìĭľ": 124008, + "ĠاÙĦجاÙħ": 124009, + "主é¢ĺ": 124010, + "ãĤ¹ãĥĿ": 124011, + "ĠìĹŃìĭľ": 124012, + "ĠÚ©Ùħتر": 124013, + "ĠSpoleÄį": 124014, + "олоÑĪ": 124015, + "ĠSuriye": 124016, + "ЧеÑĢ": 124017, + "æĪĺæĸĹ": 124018, + "Ġzávis": 124019, + "æĽ¸é¤¨": 124020, + "Ġmusel": 124021, + "ĠçĿ": 124022, + "ÙħÙħ": 124023, + "ĠاÙĦخارج": 124024, + "ĠÐĵÐŀ": 124025, + "ĠваÑĢÑĤо": 124026, + "Ïģαβ": 124027, + "Ġपहà¤ļ": 124028, + "ublice": 124029, + "ÑĨионного": 124030, + "èĮ¨": 124031, + "ĠدÙģØªØ±": 124032, + "ĠÙ쨳": 124033, + "Ġà¤¨à¤ľà¤°": 124034, + "tarı": 124035, + "ĠобÑĢоб": 124036, + "ĠÐłÐ°": 124037, + "ĠاÙĦصÙĨ": 124038, + "شة": 124039, + "ĠìĹĨìĹĪ": 124040, + "ožná": 124041, + "æľĢçµĤ": 124042, + "Ù¥": 124043, + "rech": 124044, + "ĠاÙĦأسر": 124045, + "Ġмови": 124046, + "Ġì¡°êµIJ": 124047, + "ÑĸмеÑĩ": 124048, + "ãĥ¯ãĥ¼": 124049, + "бÑĥÑĢг": 124050, + "ĠسÙĦس": 124051, + "åѦä¼ļ": 124052, + "Ġë¦": 124053, + "åħĭæĸ¯": 124054, + "æĸĩçĮ®": 124055, + "Ġxương": 124056, + "Ġyolc": 124057, + "ĠìĤ¬ë¬´": 124058, + "ãĤıãģļ": 124059, + "ĠÑĢаÑģÑĤений": 124060, + "ĠÙģØ¶Ø§ÛĮ": 124061, + "Ġnaopak": 124062, + "ĠпÑĢивÑĭ": 124063, + "ĠدÛĮدÙĩ": 124064, + "à¸ģารà¹ĥà¸Ĭ": 124065, + "Ġåŀ": 124066, + "çijŁ": 124067, + "以åIJİ": 124068, + "ĠpÅĻibliž": 124069, + "ĠdÃ¼ÅŁman": 124070, + "Ġtemin": 124071, + "ĠÑĥÑģлÑĥг": 124072, + "Ġदब": 124073, + "ĠìĥĪê¸Ģ": 124074, + "ĠÑĥÑģÑĤÑĢойÑģÑĤва": 124075, + "ĠТÑĥÑĤ": 124076, + "ÏĦίοÏħ": 124077, + "Ġİslâm": 124078, + "Ù¤": 124079, + "åıĤä¸İ": 124080, + "ĠкÑĥÑģÑĤ": 124081, + "éĻIJåζ": 124082, + "تÙĬÙĨ": 124083, + "ĠоÑģÑĤаннÑĸ": 124084, + "ications": 124085, + "اکÛĮ": 124086, + "ноÑģÑı": 124087, + "ÄŁan": 124088, + "ãģıãĤĮãĤĭ": 124089, + "Ġyapıyor": 124090, + "Ġê°ķëĤ¨": 124091, + "ÙħÙĬÙħ": 124092, + "æŃIJ": 124093, + "Ġرع": 124094, + "ĠboÄŁ": 124095, + "ĠиÑģÑħод": 124096, + "èªł": 124097, + "æł·åŃIJ": 124098, + "Ġbudeme": 124099, + "ĠÑģеÑĤ": 124100, + "ιÏĥμοÏį": 124101, + "Ġå¾ĴæŃ©": 124102, + "uálnÃŃ": 124103, + "ĠاÙĦعÙĤ": 124104, + "Ġسبک": 124105, + "ĠاÙĦأخرÙī": 124106, + "EFA": 124107, + "åĽºå®ļ": 124108, + "ĠãĤ¬": 124109, + "ĠìŀIJìŰ": 124110, + "ยวà¸Ĥ": 124111, + "بس": 124112, + "unma": 124113, + "Ġзаним": 124114, + "à¹ĥà¸Ļร": 124115, + "èĢĥèĻij": 124116, + "æ··åIJĪ": 124117, + "å°ĭ": 124118, + "ĠçıkÄ±ÅŁ": 124119, + "Ġmaliyet": 124120, + "éľĬ": 124121, + "ãģŁãĤģãģ®": 124122, + "Ġپش": 124123, + "ĠзлоÑĩ": 124124, + "Ġvýši": 124125, + "Ġschvál": 124126, + "ĠÙĨÙħÙĪØ¯Ùĩ": 124127, + "ÎĨ": 124128, + "Ġzách": 124129, + "ĠÏĥκ": 124130, + "ãĤ¹ãĥŀ": 124131, + "ĠÙħسائÙĦ": 124132, + "ĠاÙĦاجتÙħاع": 124133, + "åľ°çĤ¹": 124134, + "اÛĮاÙĨ": 124135, + "ĠÐŀк": 124136, + "ê¸Ķ": 124137, + "elease": 124138, + "ĠطبÙĤÙĩ": 124139, + "éijij": 124140, + "Ġì½Ķë¡ľëĤĺ": 124141, + "é¼ł": 124142, + "大åħ¨": 124143, + "ĠпÑĢивеÑģÑĤи": 124144, + "Ġابتد": 124145, + "ë¦¬ë¡ľ": 124146, + "ĠÑģÑĤÑĢанÑĭ": 124147, + "ĠzatÃŃmco": 124148, + "Ġhuyết": 124149, + "سÛĮÙĪÙĨ": 124150, + "Ġsordu": 124151, + "âĢĮرس": 124152, + "ĠÑĦÑĢон": 124153, + "Ġedip": 124154, + "ÙĨÚ¯ÛĮ": 124155, + "ĠкиÑĢ": 124156, + "Ġíķ´ìķ¼": 124157, + "ì»´": 124158, + "ÑĨиклоп": 124159, + "ĠпÑĢименениÑı": 124160, + "Ġобл": 124161, + "éļª": 124162, + "ĠkromÄĽ": 124163, + "æł¸å¿ĥ": 124164, + "rahim": 124165, + "оÑĢд": 124166, + "ĠlÃłnh": 124167, + "ĠоÑģÑĤÑĢов": 124168, + ";|": 124169, + "buz": 124170, + "ĠÏĦÏģο": 124171, + "ĠÐĴаÑĢ": 124172, + "æīİ": 124173, + "ılÄ±ÅŁ": 124174, + "éĿ¢ç©į": 124175, + "身份": 124176, + "é¢ĨåŁŁ": 124177, + "ĠاÙĦÙĤرÙĨ": 124178, + "ĠпÑĢиклад": 124179, + "ãĥģãĥ¼ãĥł": 124180, + "Ġสà¸ŀà¸Ľ": 124181, + "ĠоÑĩиÑģÑĤ": 124182, + "Ġмилли": 124183, + "аÑĨÑĸÑĹ": 124184, + "ีà¹Ģà¸Ń": 124185, + "Ġtanın": 124186, + "çĪ¶äº²": 124187, + "Ġmsgstr": 124188, + "ĠØ´ÛĮÙħÛĮ": 124189, + "ĠÙģØ±Ø§ÙĩÙħ": 124190, + "Ġë§¥": 124191, + "ãĢĤå½ĵ": 124192, + "ĠконÑĨенÑĤÑĢа": 124193, + "êµIJíļĮ": 124194, + "ãĤīãĤĮãģ¦": 124195, + "Ġyasak": 124196, + "ĠÐijол": 124197, + "Ġæ¾³": 124198, + "çĩķ": 124199, + "Ġجا": 124200, + "ëijĺ": 124201, + "ĠدرخÙĪØ§Ø³Øª": 124202, + "ĠmÃŃstnÃŃ": 124203, + "ÂĤÃĮ": 124204, + "Ġbaskı": 124205, + "Ġuçak": 124206, + "ä»ĵ": 124207, + "Ġìľłì§Ģ": 124208, + "Ġпоба": 124209, + "Ġzeptal": 124210, + "ç»ĻæĪij": 124211, + "ĠAtatürk": 124212, + "ĠÙħÙĨاس": 124213, + "ÑĴ": 124214, + "Ġaracı": 124215, + "лÑİÑĶ": 124216, + "Ġnitelik": 124217, + "ĠMezi": 124218, + "ĠÎŃναÏĤ": 124219, + "ÏİνÏĦαÏĤ": 124220, + "važ": 124221, + "Ġkuzey": 124222, + "ĠÏİÏģα": 124223, + "ĠÑĢозпов": 124224, + "à¹Īาà¸ģ": 124225, + "ãĢģä¸ī": 124226, + "ĠÑģÑĤаÑĢи": 124227, + "Ġhakkı": 124228, + "ĠØ¢ÙħادÙĩ": 124229, + "íĮĶ": 124230, + "омÑĸ": 124231, + "ĠâĢł": 124232, + "ãģĭãĤı": 124233, + "ãĢĮä½ł": 124234, + "æ³ķåĽ½": 124235, + "ÙIJÙĬÙĨ": 124236, + "æīķ": 124237, + "нили": 124238, + "ĠÑĥÑģÑĤановки": 124239, + "Ġlông": 124240, + "तम": 124241, + "ÙĪÙĨÙĬØ©": 124242, + "ÙĬتÙĬ": 124243, + "Ġê²Įìĭľë¬¼": 124244, + "ĠveÅ¡ker": 124245, + "ÎŃÏģγ": 124246, + "ĠÑĥÑģе": 124247, + "Ġkıl": 124248, + "Ġilgi": 124249, + "μÏīν": 124250, + "ĠзвÑĸлÑĮ": 124251, + "Ġönlem": 124252, + "à¸ģà¸İหมาย": 124253, + "ĠHiá»ĩp": 124254, + "ĠгоÑĢм": 124255, + "лÑıÑİÑĤÑĮÑģÑı": 124256, + "lamaya": 124257, + "ĠÑģпоÑģобом": 124258, + "ãģ¸ãģ¨": 124259, + "ç¦ģæŃ¢": 124260, + "ĠÑĢаÑħÑĥнок": 124261, + "ĠоÑĤвеÑĢÑģÑĤи": 124262, + ".:.:.:.": 124263, + "Ġmüda": 124264, + "онаÑħ": 124265, + "Ì£c": 124266, + "Ġyapacak": 124267, + "Ġназвание": 124268, + "对æĸ¹": 124269, + "ëĮĢíijľ": 124270, + "çĪŃ": 124271, + "вана": 124272, + "हन": 124273, + "ĠпÑĢоблема": 124274, + "ĠженÑīинÑĭ": 124275, + "èŀº": 124276, + "ĠhospodáÅĻ": 124277, + "ĠСÑĤеп": 124278, + "ĠodpovÄĽd": 124279, + "ĠSá»Ń": 124280, + "eview": 124281, + "åĩłä¹İ": 124282, + "çŁ¢": 124283, + "æĿ¥ãģŁ": 124284, + "ĠполоÑģ": 124285, + "ĠÑģел": 124286, + "å±Ĩ": 124287, + "ĠпеÑĢвой": 124288, + "ĠпÑĢоÑĨеÑģÑģа": 124289, + "ãĢĢãĤĿ": 124290, + "تاÙħبر": 124291, + "илаÑģÑı": 124292, + "ï¼ĮæĹł": 124293, + "ĠвлаÑģноÑģÑĤÑĸ": 124294, + "íķĺìŀIJ": 124295, + "аÑĤки": 124296, + "ĠBÃł": 124297, + "ĠKarel": 124298, + "è·µ": 124299, + "رÛĮÙĩ": 124300, + "ĠëĤĺ를": 124301, + "ĠобеÑģпеÑĩива": 124302, + "à¥įरपत": 124303, + "ãģĹãĤĩ": 124304, + "åįĴ": 124305, + "Ġ奥": 124306, + "ĠпÑĢоÑĤе": 124307, + "ĠæĭĽ": 124308, + "ĠСÑĤÑĢана": 124309, + "ĠÑĢабоÑĤаÑĤÑĮ": 124310, + "ĠتشخÛĮص": 124311, + "екÑģÑĥ": 124312, + "Ġ리그": 124313, + "ĠصاÙĦØŃ": 124314, + "ĠbaÅŁlamÄ±ÅŁ": 124315, + "ĠÙ¾ÛĮاÙħبر": 124316, + "زا": 124317, + "ĠмаÑģÑģ": 124318, + "ĠγαÏģ": 124319, + "ëĿ¼íͼ": 124320, + "Ġyarı": 124321, + "ĠÑĤипÑĥ": 124322, + "Ðŀп": 124323, + "ãģijãģªãģĦ": 124324, + "emem": 124325, + "ĠnÄĽmu": 124326, + "ĠÙĨشر": 124327, + "ĠÎijθήνα": 124328, + "ÙģØ±Ø§ÙĨ": 124329, + "Ġç¶²": 124330, + "ĠпÑĢомиÑģлов": 124331, + "ĠBugün": 124332, + "ìŀĶ": 124333, + "ĠжÑĸнок": 124334, + "Ġà¸Ľà¸£à¸°à¹Ģà¸łà¸Ĺ": 124335, + "ĠвикоÑĢиÑģÑĤовÑĥваÑĤи": 124336, + "ĠТим": 124337, + ")를": 124338, + "ежаÑĤÑĮ": 124339, + "Ġsona": 124340, + "Ø´ÙĨبÙĩ": 124341, + "Ġnichž": 124342, + "åīĽ": 124343, + "ĠÙģØªØŃ": 124344, + "ĠÙħÙĤدÙħ": 124345, + "ĠGüvenlik": 124346, + "eum": 124347, + "ç»ıè¿ĩ": 124348, + "è·ĿéĽ¢": 124349, + "ÂłÐ½Ðµ": 124350, + "ĠاصÙĪÙĦ": 124351, + "ĠzaÄįátku": 124352, + "ิà¹Ģวà¸ĵ": 124353, + "Ġà¤ķà¤Ł": 124354, + "Ġkriz": 124355, + "Ġpán": 124356, + "ĠбоÑĢÑĮ": 124357, + "ظÙħØ©": 124358, + "Ġê²½ë¶ģ": 124359, + "ĠاÙĦÙĬÙħÙĨ": 124360, + "ĠاÙĦعربÙĬ": 124361, + "Ġhlub": 124362, + "Ġchá»Ŀ": 124363, + "襲": 124364, + "ëĵľë¦¬": 124365, + "ãĥĸãĥª": 124366, + "ĠÑģÑĤолÑĸÑĤÑĤÑı": 124367, + "ربÙĬØ©": 124368, + "Ġæ°¸": 124369, + "Ġê±°ìĿĺ": 124370, + "ĠβαÏĥ": 124371, + "Ġarz": 124372, + "ãĥ¢ãĥ³": 124373, + "ĠÑĢÑĸвенÑĮ": 124374, + "ä¸įçŁ¥": 124375, + "导èĩ´": 124376, + "اÙĬØ´": 124377, + "ĠпÑĢевÑĭÑĪ": 124378, + "Ġпн": 124379, + "ĠÎĴÏģοÏĩή": 124380, + "Ġ身": 124381, + "ĠÄIJầu": 124382, + "ĠÏĮμÏīÏĤ": 124383, + "jÃŃž": 124384, + "Ġλίγ": 124385, + "ĠÑĪколи": 124386, + "ãģ£ãģ±ãģĦ": 124387, + "zdy": 124388, + "Ġê³§": 124389, + "teÅŁ": 124390, + "ÑĢеÑī": 124391, + "κει": 124392, + "sahuje": 124393, + "Ġà¤īसस": 124394, + "ĠTanrı": 124395, + "ä¸į好": 124396, + "éĥŃ": 124397, + "ĠвÑĭглÑıд": 124398, + "ĠçoÄŁ": 124399, + "ĠинÑģÑĤÑĢÑĥменÑĤ": 124400, + "rej": 124401, + "èĪĮ": 124402, + "ãģĭãĤīãģªãģĦ": 124403, + "ĠнепÑĢиÑıÑĤ": 124404, + "ĠкÑĢоме": 124405, + "ζη": 124406, + "Ġлог": 124407, + "ावर": 124408, + "ëħķíķĺìĦ¸ìļĶ": 124409, + "ाहरण": 124410, + "Ġgüvenilir": 124411, + "Tại": 124412, + "ĠØ´Ùĩرد": 124413, + "ĠΤε": 124414, + "оÑĢаз": 124415, + "ĠlÃłng": 124416, + "I": 124417, + "æĬķæ³¨": 124418, + "Ġsiyaset": 124419, + "ÐĽÑİ": 124420, + "ĠtÅĻet": 124421, + "ĠÏĢÏģÏİÏĦη": 124422, + "ĠÑĥлÑĭб": 124423, + "ĠLâm": 124424, + "ÑĥлÑĮÑĤа": 124425, + "åŁºåľ°": 124426, + "Ġskupina": 124427, + "æ°¸ä¹ħ": 124428, + "лÑĥгов": 124429, + "ĠÑĨÑĸй": 124430, + "ĠPoh": 124431, + "iд": 124432, + "ĠTruy": 124433, + "çļĦä¸Ģ个": 124434, + "ë²ĦìłĦ": 124435, + "Ġxứ": 124436, + "à¸ĩà¹ģรà¸ģ": 124437, + "à¸Ħà¸Ńม": 124438, + "Ġelektronik": 124439, + "ĠaÄŁaç": 124440, + "Ġà¤ľà¤¯": 124441, + "ĠповеÑĢÑħноÑģÑĤÑĮ": 124442, + "ĠاÙĩÙħÛĮت": 124443, + "ливиÑħ": 124444, + "ĠolduÄŁundan": 124445, + "ï¼ī:": 124446, + "ÑĨиÑıÑħ": 124447, + "è£½ä½ľ": 124448, + "à¸Ĺรà¸ĩ": 124449, + "eyim": 124450, + "Ġnáklad": 124451, + "cilik": 124452, + "ĠÐĵлав": 124453, + "ĠUygu": 124454, + "ĠÑĢегÑĥлÑİ": 124455, + "à¤Ĥà¤ľà¤¨": 124456, + "Ġkaynaģı": 124457, + "à¹īาà¸Ń": 124458, + "Ġgörmek": 124459, + "ĠíĮ¬": 124460, + "Ġå®Į": 124461, + "Ø«ÙħاÙĨ": 124462, + "ĠÑĤакаÑı": 124463, + "Ġнеиз": 124464, + "Ġzprávy": 124465, + "ĠاÙĦشخص": 124466, + "Ġìĺ¤íĽĦ": 124467, + "ĠاÙĦطب": 124468, + "atırım": 124469, + "رÙĬر": 124470, + "ĠÙħعÙħارÛĮ": 124471, + "ÃľRK": 124472, + "ĠÒIJ": 124473, + "ĠìĦ¬": 124474, + "æīĭãģ«": 124475, + "Ġë³ĢíĻĶ": 124476, + "ulace": 124477, + "Ġsợ": 124478, + "ÑĢиÑĩ": 124479, + "มหาว": 124480, + "Ġkâ": 124481, + "ĠÑģпÑĢоб": 124482, + "ÙĩرÙĩ": 124483, + "ाधन": 124484, + "ĠÏĢαι": 124485, + "بعد": 124486, + "ĠاÙĦتÙĪ": 124487, + "ç»ıçIJĨ": 124488, + "působ": 124489, + "æ¬ł": 124490, + "ĠзаÑħвоÑĢÑİваннÑı": 124491, + "خة": 124492, + "ÚĨار": 124493, + "Ġbozuk": 124494, + "]âĢı": 124495, + "ĠSocorro": 124496, + "Ġhrad": 124497, + "надлеж": 124498, + "ĠÑĥÑĩаÑģÑĤие": 124499, + "å¤īãĤı": 124500, + "Ġyans": 124501, + "ĠØ¥ÙĦ": 124502, + "خبر": 124503, + "ÑĨиклопед": 124504, + "ιÏİν": 124505, + "ÏĥÏĦÏģο": 124506, + "Ġbanka": 124507, + "ĠsoÄŁuk": 124508, + "Ġünlü": 124509, + "é¢ľ": 124510, + "ĠرÙ쨹": 124511, + "çIJ³": 124512, + "ĠÑģоÑģÑĤоÑıнии": 124513, + "νονÏĦαÏĤ": 124514, + "ĠакÑĤи": 124515, + "ĠÏĢολÏħ": 124516, + "ĠмоÑĹ": 124517, + "Ġæł¼": 124518, + "ç²Ĺ": 124519, + "ĠÑģлÑĥÑĩай": 124520, + "ìĿ¼ìĹIJ": 124521, + "ĠÑĤÑĢебÑĥеÑĤ": 124522, + "ĠåıĤèĢĥ": 124523, + "angl": 124524, + "amik": 124525, + "ĠİÅŀ": 124526, + "湯": 124527, + "ĠÄijáo": 124528, + "ละà¸Ħร": 124529, + "Ñģо": 124530, + "Âłob": 124531, + "Ġklim": 124532, + "èĥĨ": 124533, + "ìĥĿíĻľ": 124534, + "ãĥijãĥ³": 124535, + "-ब": 124536, + "Ġкад": 124537, + "à¹Īสามารà¸ĸ": 124538, + "ĠÙħسÙĦÙħاÙĨ": 124539, + "ç¿°": 124540, + "ĠBütün": 124541, + "ĠKraj": 124542, + "ĠпеÑĢÑģп": 124543, + "Ġenerj": 124544, + "ãģķãģĽãĤĭ": 124545, + "è¾¾åΰ": 124546, + "ाà¤Ĭ": 124547, + "ĠگرÙģØªÙĨ": 124548, + "ÑĪкÑĥ": 124549, + "ĠÐŁÐ»Ð¾": 124550, + "ÃŃny": 124551, + "ĠHra": 124552, + "ĠÚĨÙĨاÙĨ": 124553, + "Ġà¹Ħà¸Ĺย": 124554, + "visejÃŃcÃŃ": 124555, + "Û³Û³": 124556, + "ĠÐľÑĸнÑĸÑģÑĤеÑĢ": 124557, + "à¹Ĥà¸Ń": 124558, + "ĠدÙĩÛĮد": 124559, + "æ¯Ķä¾ĭ": 124560, + "ÏĥιεÏį": 124561, + "ÇIJ": 124562, + "ãĢģãģª": 124563, + "Ġतस": 124564, + "Ġİt": 124565, + "ĠìłĦìŁģ": 124566, + "à¹Ģà¸Īร": 124567, + "Ġelektr": 124568, + "Ġdư": 124569, + "âĶĶ": 124570, + "Ġìĥ¤": 124571, + "ä»®": 124572, + "à¸ģารà¹Ģล": 124573, + "ĠмÑĥлÑĮ": 124574, + "Ġ度": 124575, + "ĠHuyá»ĩn": 124576, + "вен": 124577, + "ĠlÆ°á»Ľi": 124578, + "Ġprovozu": 124579, + "ÑĥÑĢÑĥ": 124580, + "ÑĢÑĸÑĹ": 124581, + "ĠçocuÄŁ": 124582, + "ัà¸IJà¸ļาล": 124583, + "ÙĦÙĬÙĩ": 124584, + "Ġ[â̦]...Ċ": 124585, + "åİŁå§ĭ": 124586, + "Ġsklad": 124587, + "ĠسپتاÙħبر": 124588, + "ĠTomáš": 124589, + "ĠسÙĪØ§ÙĦ": 124590, + "çģŃ": 124591, + "ãĤĵãģ©": 124592, + "назнаÑĩ": 124593, + "ĠÄijÄ©a": 124594, + "ĠudÄĽlat": 124595, + "Ġà¤Ĩदम": 124596, + "L": 124597, + "ινÏĮ": 124598, + "iÅŁleri": 124599, + "ÄIJây": 124600, + "ĠرساÙĨÙĩ": 124601, + "عاÙħ": 124602, + "ãĥ¼ãĥijãĥ¼": 124603, + "Ġdoprov": 124604, + "ĠмÑĸÑģÑĤо": 124605, + "ï¼¥": 124606, + "елÑĸг": 124607, + "ائز": 124608, + "ä¸įäºĨ": 124609, + "ĠÐIJлекÑģандÑĢ": 124610, + "ĠвÑĢемен": 124611, + "ĠdveÅĻe": 124612, + "Ġchảy": 124613, + "Ġotel": 124614, + "èĤ¯å®ļ": 124615, + "ĠÑĥÑĤвеÑĢжд": 124616, + "ĠÐļомп": 124617, + "ĠëĤĺëĿ¼": 124618, + "ĠвÑĸдбÑĥваÑĶÑĤÑĮÑģÑı": 124619, + "ãĢģãĢİ": 124620, + "ĠkarÅŁÄ±lık": 124621, + "Ġlẫn": 124622, + "çħĻ": 124623, + "عکس": 124624, + "å¼¥": 124625, + "Ġtecr": 124626, + "Ġneod": 124627, + "æĪIJçĤº": 124628, + "åħ¥ãĤĬ": 124629, + "ĠÐŁÑĢод": 124630, + "ĠÏĢÏģά": 124631, + "ืà¸Ńà¸Ķ": 124632, + "ÑģÑĤаÑĤи": 124633, + "еноÑĹ": 124634, + "ÑĩиÑģл": 124635, + "羣æŃ£": 124636, + "Ġราà¸Ħ": 124637, + "ÑĥÑĢе": 124638, + "ĠشاÙĩد": 124639, + "اعر": 124640, + "Ġê²½íĹĺ": 124641, + "à¸Ļà¸Ħ": 124642, + "ãĥįãĥ«": 124643, + "ÏĢοÏħλοÏĤ": 124644, + "Ġमà¤Ī": 124645, + "ìĬ¤ì½Ķ": 124646, + "itelné": 124647, + "å¼ĢæĶ¾": 124648, + "çį¨": 124649, + "ĠpÅĻech": 124650, + "úÄįast": 124651, + "å¢ĵ": 124652, + "Ġå½±": 124653, + "ÙĨساÙĨ": 124654, + "Ġдвад": 124655, + "ĠидеÑĤ": 124656, + "ĠподклÑİÑĩ": 124657, + "íĬ¹ë³Ħìĭľ": 124658, + "BÃłi": 124659, + "Å¡ku": 124660, + "ilerden": 124661, + "åıĺå¾Ĺ": 124662, + "ëıĻìķĪ": 124663, + "ĠpostupnÄĽ": 124664, + "ĠиÑĤог": 124665, + "Ġdůvodu": 124666, + "sizlik": 124667, + "ÙĦاÙĨ": 124668, + "éĤ£ç§į": 124669, + "ĠÑĩаÑģа": 124670, + "ä¸įæĸŃ": 124671, + "ĠØ®ÛĮاباÙĨ": 124672, + "ĠاÙĦداخ": 124673, + "ĠÑģÑĤоÑĢÑĸн": 124674, + "Ġì¶ľìŰ": 124675, + "æ²Ł": 124676, + "Ġhry": 124677, + "ĠGÃľ": 124678, + "ĠìĿ¸êµ¬": 124679, + "lied": 124680, + "ĠعاÙĦÙĬØ©": 124681, + "ĠпÑĢедваÑĢ": 124682, + "анной": 124683, + "åı¥è¯Ŀ": 124684, + "éłĵ": 124685, + "ë°ĶìĿ¼": 124686, + "ï¼ı/": 124687, + "ĠÙħختصات": 124688, + "ëŀ«": 124689, + "ĠçalÄ±ÅŁmaları": 124690, + "Ġrepublika": 124691, + "Ġì³": 124692, + "ा)": 124693, + "Ġê±´ê°ķ": 124694, + "Ġê³µëıĻ": 124695, + "èħ¦": 124696, + "ĠìĦľë¡ľ": 124697, + "ĠпÑĢоводиÑĤÑĮ": 124698, + "ĠдейÑģÑĤвиÑĤелÑĮно": 124699, + "veç": 124700, + "ثاÙĦ": 124701, + "Ġgösterir": 124702, + "ırlar": 124703, + "ĠÑģамÑĭм": 124704, + "álo": 124705, + "é¢ij次": 124706, + "à¥Īà¤Ĺ": 124707, + "ادÙħ": 124708, + "çĮª": 124709, + "ĠSản": 124710, + "Ġçı": 124711, + "Ġlety": 124712, + "Ġrepublice": 124713, + "æĿ¥èĩª": 124714, + "Ġvết": 124715, + "Ġbirik": 124716, + "Ġmekt": 124717, + "ĠاÙĦÙĪÙģ": 124718, + "Ġjich": 124719, + "ä¸Ģ覧": 124720, + "éľ²åĩº": 124721, + "ĠHiá»ĩn": 124722, + "Ġdiá»ĩt": 124723, + "ĠÑħÑĢиÑģÑĤи": 124724, + "åĪļæīį": 124725, + "kate": 124726, + "Ġbazen": 124727, + "ĠurÄįitÄĽ": 124728, + "ĠumožÅĪuje": 124729, + "é¡ĺãģĦ": 124730, + "/QÄIJ": 124731, + "ĠmenÅ¡ÃŃ": 124732, + "ÏĥκεÏħή": 124733, + "ĠÑĨеÑĢков": 124734, + "Ġè´Ń": 124735, + "окÑĢаÑĤи": 124736, + "ĠÑĢозк": 124737, + "ανοÏħ": 124738, + "Ġyönetic": 124739, + "Ġolmadan": 124740, + "åĨľä¸ļ": 124741, + "Ġë°ĶëŀĮ": 124742, + "çĵľ": 124743, + "ÑĪаеÑĤÑģÑı": 124744, + "ĠÐļоÑģÑĤ": 124745, + "ĠÙħعت": 124746, + "Ġà¸ŀล": 124747, + "ĠÙħتÙ쨧ÙĪØª": 124748, + "ãĤīãģı": 124749, + "èĪĹ": 124750, + "ĠتعرÛĮÙģ": 124751, + "éīĦéģĵ": 124752, + "ĠpéÄįe": 124753, + "컵": 124754, + "ĠподÑĢаз": 124755, + "ĠбанкÑĥ": 124756, + "İSİ": 124757, + "æ¡IJ": 124758, + "à¹Ĥรà¸Ħ": 124759, + "ĠØŃذÙģ": 124760, + "Ġë£": 124761, + "лиж": 124762, + "ĠìĤ°ìĹħ": 124763, + "ĠпÑĢиÑĩинÑĭ": 124764, + "Ġназна": 124765, + "ãĥªãĤ¹ãĥĪ": 124766, + "ìłķë¶Ģ": 124767, + "ÏĥÏĨα": 124768, + "å¦ĥ": 124769, + "Ġголови": 124770, + "ëIJĺìĹĪìĬµëĭĪëĭ¤": 124771, + "ĠενÏĮÏĤ": 124772, + "ãĤ¤ãĥ³ãĤ¿": 124773, + "Ġslun": 124774, + "ëł´": 124775, + "ĠÑģÑĥÑīеÑģÑĤвÑĥеÑĤ": 124776, + "заб": 124777, + "æĽ´åĬł": 124778, + "ĠблагодаÑĢÑı": 124779, + "ĠëĮĢ구": 124780, + "è¾ħ": 124781, + "หาà¸ģ": 124782, + "Ġæİ¥": 124783, + "ëĮĢ를": 124784, + "人类": 124785, + "jeme": 124786, + "åĪĨå¸ĥ": 124787, + "ìŀ¥ìĿĢ": 124788, + "Ġдопомоги": 124789, + "ìĻĦë£Į": 124790, + "osy": 124791, + "èĭ±éĽĦ": 124792, + "ĠÙĦس": 124793, + "मह": 124794, + "Ġà¸ģำ": 124795, + "ĠداشتÙĨ": 124796, + "Ńìłľ": 124797, + "İng": 124798, + "ĠThưá»Ŀng": 124799, + "íĻĢ": 124800, + "ÑįÑĦ": 124801, + "íķ´ìļĶ": 124802, + "ĠÐľÑĸж": 124803, + "еÑĢÑĸга": 124804, + "Ġεá¼": 124805, + "à¹ģสà¸ĩ": 124806, + "ãĥĢãĤ¤": 124807, + "Ġcesty": 124808, + "Ġprázd": 124809, + "第ä¸Ģ次": 124810, + "ĠÙĩÙħسر": 124811, + "Ġzev": 124812, + "ÂłE": 124813, + "ĠBelediyesi": 124814, + "ĠпÑĢопози": 124815, + "ĠanlayÄ±ÅŁ": 124816, + "ÂłÙħ": 124817, + "ĠÑĢаÑģÑģÑĩиÑĤ": 124818, + "ĠاÙĦØ£ÙħرÙĬÙĥÙĬØ©": 124819, + "Ġžena": 124820, + "deniz": 124821, + "Ġnoci": 124822, + "Ġstál": 124823, + "ุย": 124824, + "주ìĨĮ": 124825, + "ĠзеÑĢ": 124826, + "ĠìĨĮê°ľ": 124827, + "Ġkhẳng": 124828, + "atıcı": 124829, + "ÄĽÅ¾": 124830, + "ĠÑĩÑĥÑĤÑĮ": 124831, + "ĠcáºŃu": 124832, + "ĠاطÙĦاع": 124833, + "æµħ": 124834, + "Ġstrav": 124835, + "ĠSanayi": 124836, + "ĠطبÙĬ": 124837, + "Ġhızla": 124838, + "Ïİνα": 124839, + "à¤¿à¤ľà¤²": 124840, + "ÙħØŃÙħد": 124841, + "à¸ļà¸ģ": 124842, + "Ġvzdálen": 124843, + "ĠÑĤакими": 124844, + "ãĢĤãģĿãģĹãģ¦": 124845, + "Ġkalp": 124846, + "Ġкожного": 124847, + "ÐłÂµ": 124848, + "ÙĦعاب": 124849, + "ĠÙħÙĪÙĨ": 124850, + "ĠìĿ¼ìĿĦ": 124851, + "Ġë°ĶìĿ´": 124852, + "Ġmekan": 124853, + "ĠجاÙħع": 124854, + "ĠÙĨÙģØª": 124855, + "ĠاÙĦسÙħ": 124856, + "лÑĭÑħ": 124857, + "èĥĮæĻ¯": 124858, + "Ġê²ĥëıĦ": 124859, + "ĠìĤ´ìķĦ": 124860, + "ydı": 124861, + "ĠнавеÑĢ": 124862, + "åŃIJãģ¯": 124863, + "luluk": 124864, + "Ġhá»Ĺn": 124865, + "ĠØ´Ùģ": 124866, + "ĠعÙĦت": 124867, + "à¸Ħราม": 124868, + "ĠÎļÏįÏĢ": 124869, + "Ġà¹Ģมษายà¸Ļ": 124870, + "ÙĨدÙĤ": 124871, + "ĠÑĥÑģÑĤÑĢа": 124872, + "ĠÎĵεν": 124873, + "ĠÐĨван": 124874, + "ĠPhong": 124875, + "å®¶çļĦ": 124876, + "ĠÐIJлекÑģ": 124877, + "ĠзбеÑĢÑĸг": 124878, + "ĠÅŁarkı": 124879, + "ĠظرÙģÛĮت": 124880, + "ĠÙħعÙĨÛĮ": 124881, + "Ġлов": 124882, + "ĠìĤ¶": 124883, + "èħIJ": 124884, + "Ġå¯Į": 124885, + "ERG": 124886, + "ĠÑģÑĤоимоÑģÑĤÑĮ": 124887, + "ÅĻet": 124888, + "à¥īय": 124889, + "à¹Īาร": 124890, + "ĠارÙĪپا": 124891, + "ĠбÑĢоÑģ": 124892, + "ĠоÑĤноÑģÑıÑĤ": 124893, + "ĠÎŁÎº": 124894, + "ÑĨÑĮкий": 124895, + "ÏĬκ": 124896, + "ãģĤãĤĬãģ¾ãģĽãĤĵ": 124897, + "ĠÑĥник": 124898, + "ĠÄijiá»ĥn": 124899, + "Ġvýzkum": 124900, + "Ġhứ": 124901, + "ĠÙĪØ§Øª": 124902, + "Ġå¹³æĸ¹": 124903, + "Ïħμ": 124904, + "ãĤĴ使": 124905, + "είÏĦαι": 124906, + "两人": 124907, + "ĠåĮ»": 124908, + "ÑĢаÑĤиÑĤÑĮ": 124909, + "ĠاÙĦاÙĨت": 124910, + "ãģ®äºº": 124911, + "رش": 124912, + "ĠТÑĥÑĢ": 124913, + "rnÄĽ": 124914, + "天天": 124915, + "มาร": 124916, + "Ġortalama": 124917, + "ĠпеÑĢепиÑģ": 124918, + "ĠìĥĿìĤ°": 124919, + "å¿Ĩ": 124920, + "íĩ´": 124921, + "ï¼Į该": 124922, + "éĮ¢": 124923, + "ÏĢαίδ": 124924, + "ĠмеÑĢопÑĢи": 124925, + "ĠгÑĢав": 124926, + "ÃĶng": 124927, + "Ġæ¤": 124928, + "ĠاÙĦدÙĪÙĦØ©": 124929, + "ĠоÑģÑĮ": 124930, + "å¥Ķ": 124931, + "Ġgüvenli": 124932, + "íķĺìĭł": 124933, + "ĠéĬ": 124934, + "éŁ³æ¨Ĥ": 124935, + "Ġmedya": 124936, + "ĠبÙĨا": 124937, + "ама": 124938, + "ĠãĤŃãĥ£": 124939, + "èĹ¥": 124940, + "larım": 124941, + "ĠTiếng": 124942, + "iyorlar": 124943, + "ï¼¢": 124944, + "æĶĿ": 124945, + "ÑĸйÑģÑĮкоÑĹ": 124946, + "ĠyetiÅŁtir": 124947, + "Ġپسر": 124948, + "ãĤīãģĹ": 124949, + "Âļ": 124950, + "ìĥ¤": 124951, + "à¸Ķาห": 124952, + "ĠتØŃصÛĮÙĦ": 124953, + "Ġбенз": 124954, + "éģ£": 124955, + "ĠнаблÑİ": 124956, + "ä½ĵç³»": 124957, + "ãĥ¯ãĤ¤ãĥĪ": 124958, + "³³Ġ": 124959, + "书记": 124960, + "ĠMühendis": 124961, + "plor": 124962, + "laz": 124963, + "лÑıли": 124964, + "Ġpomáh": 124965, + "Ġближ": 124966, + "ĠÑĩиÑģла": 124967, + "ĠubytovánÃŃ": 124968, + "ÑĢаÑĤно": 124969, + "ĠtrÄĥm": 124970, + "ĠابراÙĩ": 124971, + "átka": 124972, + "Ġiçindeki": 124973, + "ัà¸ļà¸Ļ": 124974, + "ĠاÙħÛĮد": 124975, + "nave": 124976, + "ecut": 124977, + "å°±åľ¨": 124978, + "Ġtradi": 124979, + "Ø·ÙĦÙĤ": 124980, + "ãĤ¦ãĤ©": 124981, + "Ġkhuôn": 124982, + "ìĬ¤ë¡ľ": 124983, + "ÏĦÎŃÏģα": 124984, + "ĠÏĥκο": 124985, + "ë§Ľ": 124986, + "ĠÙģÙĨÛĮ": 124987, + "à¹Įà¹Ģà¸ŀ": 124988, + "ĠاÙĦعظ": 124989, + "Ġthôn": 124990, + "기ìĿĺ": 124991, + "Ġ฿": 124992, + "ÑĥÑİÑĤÑģÑı": 124993, + "ĠÙħکاÙĨ": 124994, + "ĠâĹİ": 124995, + "Ġçľģ": 124996, + "Ġåį¡": 124997, + "ĠпеÑĢÑĪий": 124998, + "ĠíĽĦë³´": 124999, + "ĠآراÙħ": 125000, + "ãģĮãģĦ": 125001, + "ยาà¸Ļ": 125002, + "μει": 125003, + "ĠMáy": 125004, + "Ġzů": 125005, + "Ġpodporu": 125006, + "컨": 125007, + "ÑģÑĤÑĢи": 125008, + "ÏĢÏĦÏīÏĥη": 125009, + "Ð¤ÐĽ": 125010, + "åĵªéĩĮ": 125011, + "ĠпеÑĢвÑĥÑİ": 125012, + "Ġyerinde": 125013, + "ĠزÛĮبا": 125014, + "Ġodstran": 125015, + "à¥Ģà¤Ĺ": 125016, + "ĠÑĢÑĸзнÑĸ": 125017, + "ÏģηÏĥη": 125018, + "âĢĮاÙĦÙħÙĦÙĦÛĮ": 125019, + "عاد": 125020, + "à¥įपष": 125021, + "ÑŁN": 125022, + "ï½Ľ": 125023, + "ãĥ¼ãĥľ": 125024, + "è´Ńä¹°": 125025, + "ĠìĿ¸ê¸°ê¸Ģ": 125026, + "ĠÙħÛĮØ´ÙĪØ¯": 125027, + "ĠбезопаÑģноÑģÑĤи": 125028, + "ĠνεÏĨοκ": 125029, + "ãģ«ãģ¨": 125030, + "ĠÑĨеÑĢкви": 125031, + "تÙĥ": 125032, + "ĠHÃłng": 125033, + "ĠÙĦÙĦس": 125034, + "ĠνεÏĨοκάλÏħÏĪηÏĤ": 125035, + "raman": 125036, + "Ġvyvol": 125037, + "niÄį": 125038, + "راÙĨÙĩ": 125039, + "ĠpeÅŁ": 125040, + "ãĥ«ãĤ¯": 125041, + "å´ĩ": 125042, + "Ġimkân": 125043, + "åĮ»çĸĹ": 125044, + "Ġपà¥Ŀ": 125045, + "άννηÏĤ": 125046, + "ĠجÛĮ": 125047, + "Ġproje": 125048, + "Ġülkenin": 125049, + "ĠKew": 125050, + "ĠاÙĦÙħÙģ": 125051, + "Ø£Ùĥ": 125052, + "çĻºè¡¨": 125053, + "ĠδÏħ": 125054, + "ĠåĽ½å®¶": 125055, + "ĠKiÅŁisel": 125056, + "ãĥ³ãĤ¬": 125057, + "Ġzpráva": 125058, + "Viá»ĩc": 125059, + "erif": 125060, + "Ġstránky": 125061, + "éļł": 125062, + "è¼ķ": 125063, + "коз": 125064, + "Ġà¤¸à¤ľ": 125065, + "ÙĩداÙģ": 125066, + "loub": 125067, + "à¸łà¸²à¸ŀยà¸Ļà¸ķร": 125068, + "ĠíķłìĿ¸": 125069, + "ĠÄIJÃło": 125070, + "ĠÙĨاØŃÛĮÙĩ": 125071, + "(=)": 125072, + "ĠÅŀampiyon": 125073, + "ĠpiÅŁ": 125074, + "ĠذÙĩ": 125075, + "९": 125076, + "ĠÑģÑĢедÑģÑĤво": 125077, + "Ġà¹Ģวลา": 125078, + "ĠÑĩÑĥж": 125079, + "Ġverileri": 125080, + "Ġکارت": 125081, + "ави": 125082, + "Ġà¤ķरव": 125083, + "Ġrestau": 125084, + "ê°ľìĽĶ": 125085, + "ĠмиÑĢов": 125086, + "ì°®": 125087, + "ĠnÄĽjaký": 125088, + "Ġsessiz": 125089, + "اءات": 125090, + "ĠÐĹаÑħ": 125091, + "ÑıÑīиÑħ": 125092, + "пÑĢ": 125093, + "ĠподалÑĮ": 125094, + "ĠопÑĢеделиÑĤÑĮ": 125095, + "à¥Ń": 125096, + "ĠرÙģ": 125097, + "幸ç¦ı": 125098, + "à»": 125099, + "ĠvÄĽdom": 125100, + "ĠÑģвидеÑĤелÑĮ": 125101, + "ĠÎĵοÏħ": 125102, + "ılıģıyla": 125103, + "çĻ»éĮ²": 125104, + "Ġä¸ĭè·Į": 125105, + "ĠплÑİ": 125106, + "нод": 125107, + "ĠأجÙĦ": 125108, + "Ġà¤ķथ": 125109, + "éĥ½ä¸į": 125110, + "Ġsene": 125111, + "ĠpÄĽ": 125112, + "è¨ĪåĬĥ": 125113, + "ĠаÑĥд": 125114, + "Ġодном": 125115, + "Ġä¸ĩåħĥ": 125116, + "ĠÙĪÙħا": 125117, + "ĠÐĶÑĢÑĥг": 125118, + "èµ·ãģĵ": 125119, + "ваÑİÑĤÑģÑı": 125120, + "лаÑĤÑĥ": 125121, + "ĠتÙĪÙĨ": 125122, + "ÑīаÑı": 125123, + "ήλ": 125124, + "ĠÐŁÑĢа": 125125, + "Ġاسترات": 125126, + "ิà¸Ļà¹Ģà¸Ķ": 125127, + "à¥įà¤Ĺत": 125128, + "ÂłÐ·": 125129, + "ĠполоÑĤ": 125130, + "æ®ĸ": 125131, + "æ¡Ĩ": 125132, + "ĠSistem": 125133, + "Ġruku": 125134, + "ãĥĥãĤ«ãĥ¼": 125135, + "ĠобÑıзан": 125136, + "ĠkÃ¶ÅŁ": 125137, + "Ġadını": 125138, + "Ø´ÙħاÙĦÛĮ": 125139, + "naÄįenÃŃ": 125140, + "Ġ.ï¼ı": 125141, + "Ġå®ĺ": 125142, + "Ġtoplumsal": 125143, + "誤": 125144, + "ĠبÙĩبÙĪØ¯": 125145, + "ÑģÑĤвеннаÑı": 125146, + "Ġآپ": 125147, + "ĠجÙĦسÙĩ": 125148, + "ãĢĢï½": 125149, + "åĵŃ": 125150, + "æīĢå±ŀ": 125151, + "æĴ®": 125152, + "ì¢Ģ": 125153, + "Ġει": 125154, + "ì¹ĺ를": 125155, + "Ġê³¼ìłķ": 125156, + "uuml": 125157, + "δά": 125158, + "Ġزد": 125159, + "ìĽIJìĿĦ": 125160, + "ĠvÄĽcÃŃ": 125161, + "دث": 125162, + "Ġsanki": 125163, + "åĥıæĺ¯": 125164, + "лаÑĢа": 125165, + "ìĤ¬ìĿ´": 125166, + "ãĤıãĤĮãģŁ": 125167, + "ĠÄijón": 125168, + "åIJ¯åĬ¨": 125169, + "ĠgiÃłnh": 125170, + "Ġkırmızı": 125171, + "Ø®Ùħ": 125172, + "æIJį": 125173, + "åĪĩãĤĬ": 125174, + "ãĤµãĥ¼ãĥĵãĤ¹": 125175, + "Ùĩار": 125176, + "ذÙĥر": 125177, + "оÑĢоз": 125178, + "à¥Īà¤Ĥ।ĊĊ": 125179, + "ĠíĻĪíİĺìĿ´ì§Ģ": 125180, + "ĠÙĥبÙĬرة": 125181, + "нина": 125182, + "íķĺìļ°": 125183, + "å¼ķç͍é¢ij次": 125184, + "८": 125185, + "ĠбаÑĤÑĮкÑĸв": 125186, + "à¸Łà¸Ńร": 125187, + "ี.": 125188, + "ìłĿíĬ¸": 125189, + "éĺħ读次æķ°": 125190, + "Ġitir": 125191, + "ÑĪин": 125192, + "ĠVáºŃy": 125193, + "çĤ®": 125194, + "лагод": 125195, + "Ø´ÙĨاس": 125196, + "á»IJ": 125197, + "ĠÑıгод": 125198, + "Ġì¤ijìķĻ": 125199, + "رÙĬØ·": 125200, + "ĠìĪĺíĸī": 125201, + "Ġä¸Ģèά": 125202, + "ĠÑħвилин": 125203, + "ĠÐľÐ¾Ð¶Ð½Ð¾": 125204, + "ĠнаÑĩале": 125205, + "Ġоднов": 125206, + "ĠÃľÃ§": 125207, + "ÑĨионнÑĭй": 125208, + "Ġìļķ": 125209, + "æ¼Ĥ": 125210, + "å²³": 125211, + "تدÙī": 125212, + "κηÏĤ": 125213, + "âĢĻnda": 125214, + "ï¼IJï¼IJ": 125215, + "èªī": 125216, + "é§ħå¾ĴæŃ©": 125217, + "ĠÙģØ±Ø²ÙĨد": 125218, + "åħ¬è·¯": 125219, + "αÏĥίαÏĤ": 125220, + "าà¸ĵาà¸Ī": 125221, + "ëij¥": 125222, + "ĠÏĢοι": 125223, + "ĠبداÙĨ": 125224, + "кап": 125225, + "ĠìŀĪëĬĶëį°": 125226, + "ï¼ĮæŃ¤": 125227, + "à¸Ľà¸£à¸°à¹Ĥยà¸Ĭà¸Ļ": 125228, + "ĠÚ©Ø´ÙĪØ±ÙĩاÛĮ": 125229, + "ุส": 125230, + "ãģ¹ãģį": 125231, + "ĠÑģамÑĭй": 125232, + "ĠплÑı": 125233, + "Ġбед": 125234, + "人æīį": 125235, + "สหร": 125236, + "ูà¸ķ": 125237, + "Ġkullanımı": 125238, + "íķĻëħĦ": 125239, + "æ²»çĸĹ": 125240, + "ãĢĤä¸įè¿ĩ": 125241, + "æ£ļ": 125242, + "ëĤ¨ëıĦ": 125243, + "Ġآتش": 125244, + "ÏĩÎŃÏĤ": 125245, + "Ġfunkci": 125246, + "нообÑĢаз": 125247, + "à¥ĭफ": 125248, + "Ġkaps": 125249, + "าษà¸İ": 125250, + "(ع": 125251, + "ï¼ĮåĬł": 125252, + "à¹Ĭà¸ģ": 125253, + "ĠÙĩØ´": 125254, + "ĠدرÙĪÙĨ": 125255, + "ĠмеÑĩ": 125256, + "ĠпÑĢежде": 125257, + "à¹Īย": 125258, + "Ġارشد": 125259, + "าà¹Ģล": 125260, + "æ¯Ķè¼ĥ": 125261, + "Ġذکر": 125262, + "ĠæĿ¡": 125263, + "ÐĬ": 125264, + "ÑĥкÑĢаÑĹн": 125265, + "ÙĬÙĨات": 125266, + "ì¢ĭ": 125267, + "диÑı": 125268, + "ÏĦÏģι": 125269, + "ĠÐļаз": 125270, + "ÙĤÙĦاÙĦ": 125271, + "_,,": 125272, + "ĠÚĨت": 125273, + "ĠìĿ¼ìłķ": 125274, + "ĠÐŁÑĢоÑĦ": 125275, + "æ³Ľ": 125276, + "Ġdruhý": 125277, + "ÑĩÑĥк": 125278, + "ledik": 125279, + "Ġheyec": 125280, + "Ñĭвал": 125281, + "ĠDüny": 125282, + "ĠçĻº": 125283, + "ĠpÅĻátel": 125284, + "βάλ": 125285, + "Ġغر": 125286, + "ëĭ¨ì²´": 125287, + "ìĽ¨ëĶĶìĭľ": 125288, + "ÑĢаÑīениÑı": 125289, + "нÑĨиклопед": 125290, + "Ġpodnikatel": 125291, + "Ġìĭłìŀħ": 125292, + "ĠÙģØ±Ø¢": 125293, + "илиÑģÑı": 125294, + "Ġolumlu": 125295, + "à¥įषमत": 125296, + "ĠÙħتخصص": 125297, + "йом": 125298, + "ؤاÙĦ": 125299, + "ĠÐĿаÑĤ": 125300, + "ìĺ¤ëĬĶ": 125301, + "ĠMüdürlÃ¼ÄŁÃ¼": 125302, + "ĠHÃłnh": 125303, + "ĠسابÙĤ": 125304, + "ï¼īçļĦ": 125305, + "ĠQuý": 125306, + "ládánÃŃ": 125307, + "Ġìļ´ëıĻ": 125308, + "ĠÐĺÑħ": 125309, + "諾": 125310, + "lıģının": 125311, + "lil": 125312, + "uÄį": 125313, + "ĠÑĩемпÑĸон": 125314, + "ÑĤож": 125315, + "Ġä½Ľ": 125316, + "ниÑĨе": 125317, + "ĠпеÑĢвого": 125318, + "ĠÑģом": 125319, + "ÏĩÏİ": 125320, + "ÅĻik": 125321, + "иÑĤелÑĮÑģÑĤва": 125322, + "Ġİki": 125323, + "Ġaskeri": 125324, + "cisi": 125325, + "ĠjednÃŃm": 125326, + "Ġstanice": 125327, + "èĤ¡ç¥¨": 125328, + "à¸ľà¸¡": 125329, + "Từ": 125330, + "Å¡ak": 125331, + "ÏĦία": 125332, + "мами": 125333, + "ãģĮåĩº": 125334, + "μοί": 125335, + "маÑĶ": 125336, + "ëł¥ìĿ´": 125337, + "ãĤĦãģ£ãģ¦": 125338, + "Ġå¼µ": 125339, + "ØĮĊ": 125340, + "Ġ»Ċ": 125341, + "اجات": 125342, + "á½³": 125343, + "æĻĤãģ®": 125344, + "Ġпокол": 125345, + "ÑĸÑĤеÑĤ": 125346, + "Ġíķ´ê²°": 125347, + "Ġdedim": 125348, + "ĠÑĤвеÑĢд": 125349, + "ĠженÑīина": 125350, + "едини": 125351, + "ĠÙ¾ÛĮÚ©": 125352, + "iversite": 125353, + "ĠآسÛĮاب": 125354, + "ĠÑħаÑĢакÑĤеÑĢиÑģÑĤики": 125355, + "ĠØ£ÙĨÙĩا": 125356, + "ĠÑĥкÑĢаÑĹнÑģÑĮкоÑĹ": 125357, + "ĠاختÙĦاÙģ": 125358, + "Ġtez": 125359, + "ÏģεÏħ": 125360, + "Ġkonumu": 125361, + "ĠÑĤеÑħнÑĸ": 125362, + "мÑĸв": 125363, + "èĬ¯": 125364, + "ĠÏĥελ": 125365, + "Ä¢": 125366, + "μιÏĥ": 125367, + "ีà¹īĊ": 125368, + "Ġmne": 125369, + "ĠоÑĤвеÑĩ": 125370, + "ĠÎī": 125371, + "Ġéĩİ": 125372, + "Ġgấp": 125373, + "ĠпÑĢодÑĥкÑĤÑĭ": 125374, + "ĠСÑĢед": 125375, + "ÑĸллÑı": 125376, + "à¸ļà¸Ńà¸ģ": 125377, + "ĠtÅĻÃŃdy": 125378, + "Ġthá»ķ": 125379, + "ãĥĩãĤ£ãĤ¢": 125380, + "ÏĢοιη": 125381, + "νει": 125382, + "æĪij们çļĦ": 125383, + "Ġprofesyonel": 125384, + "ĠRakou": 125385, + "Ġвидно": 125386, + "Ġzby": 125387, + "ĠØŃاÙĦÛĮ": 125388, + "Ġé£Ł": 125389, + "ĠLÃłm": 125390, + "Ġگست": 125391, + "ĠТип": 125392, + "θι": 125393, + "ávis": 125394, + "ÙIJب": 125395, + "åı¯èĥ½æĢ§": 125396, + "ĠÑģемей": 125397, + "ãĤīãĤĮãģ¦ãģĦãĤĭ": 125398, + "ìĥģíĴĪ": 125399, + "ĠοÏħ": 125400, + "Ġà¤ħà¤Ĺस": 125401, + "олом": 125402, + "γον": 125403, + "ĠÑģвÑıÑī": 125404, + "æĵ¦": 125405, + "ÏĥÏĦηκε": 125406, + "èĢħçļĦ": 125407, + "-à¤ķ": 125408, + "ÑĤии": 125409, + "ĠвизнаÑĩеннÑı": 125410, + "åıijåĩº": 125411, + "даÑħ": 125412, + "ĠмоÑĢÑı": 125413, + "æī¾åΰ": 125414, + "ÙĦÙĪØ¨": 125415, + "èĬĻ": 125416, + "ĠÑĦакÑĤ": 125417, + "æ¯į亲": 125418, + "idlo": 125419, + "ĠStad": 125420, + "Ñįй": 125421, + "ìĽIJìĿ´": 125422, + "à¤ıन": 125423, + "æķ´ä¸ª": 125424, + "Ġfık": 125425, + "ĠÙħات": 125426, + "ÏĢον": 125427, + "Ġ경기ëıĦ": 125428, + "Ġαδ": 125429, + "Ġvzpom": 125430, + "Ġná»ĵi": 125431, + "ĠÙĨÙĤاط": 125432, + "ождение": 125433, + "ĠзалÑĸз": 125434, + "Ġrá»§i": 125435, + "è¾°": 125436, + ".:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:": 125437, + "ĠMÃľ": 125438, + "Ġkari": 125439, + "ĠÑģобÑĭ": 125440, + "ìĸ´ì§Ħ": 125441, + "رÙĬس": 125442, + "ubu": 125443, + "ĠØ®ÙĦÙģ": 125444, + "ظٹط": 125445, + "æĿī": 125446, + "ĠæĻ®éĢļ": 125447, + "ĠÙħÙĪØ§Ø·ÙĨØ©": 125448, + "ĠÑģÑĤанÑĥ": 125449, + "Ġê·¸ëħĢìĿĺ": 125450, + "ĠÙĦÙĥرة": 125451, + "Ġosm": 125452, + "ĠÑĥÑĢож": 125453, + "ега": 125454, + "Ġfelse": 125455, + "æĢĿèĢĥ": 125456, + "ãĢĮãģĪ": 125457, + "ĠновиÑħ": 125458, + "à¹IJ": 125459, + "üml": 125460, + "Ġíͼíķ´": 125461, + "ìĿ¼ë°ĺ": 125462, + "Ġtürü": 125463, + "ĠмÑĸÑģÑĤÑĸ": 125464, + "Ġkaždé": 125465, + "ĠÙħسجد": 125466, + "ấc": 125467, + "ĠÙģÚ©ÛĮ": 125468, + "Ġyasal": 125469, + "å°±ç®Ĺ": 125470, + "ĠоблиÑĩÑĩÑı": 125471, + "ĠÙĦدÙĬ": 125472, + "ابات": 125473, + "ĠÑģпаÑģ": 125474, + "êµ°ìļĶ": 125475, + "Ġпад": 125476, + "ĠбÑĢаÑĤ": 125477, + "éĩį大": 125478, + "Ġdüzenlenen": 125479, + "Gün": 125480, + "Ġaplikace": 125481, + "à¸Ńห": 125482, + "Ġçħ": 125483, + "ĠÑģоÑģÑĤоиÑĤ": 125484, + "è¯Ħä»·": 125485, + "ĠDuy": 125486, + "طاÙĤ": 125487, + "ĠпÑĢидеÑĤÑģÑı": 125488, + "Ġtolik": 125489, + "Ġobrov": 125490, + "ĠpÅĻipoj": 125491, + "ĠÄ±ÅŁÄ±": 125492, + "Ú¯ÙĪÛĮ": 125493, + "æľŁå¾ħ": 125494, + "иплом": 125495, + "Ġince": 125496, + "ĠСоб": 125497, + "енÑĮÑİ": 125498, + "è§Ĵèī²": 125499, + "Ġà¸ķร": 125500, + "Ġbại": 125501, + "Ġê°ĢëĬ¥íķľ": 125502, + "ĠblÃŃzk": 125503, + "Ġtách": 125504, + "ĠвидÑĭ": 125505, + "иÑĩна": 125506, + "Ġvyžad": 125507, + "ĠìĨIJìĿĦ": 125508, + "ĠÐĿÑĸмеÑĩ": 125509, + "åŁºäºİ": 125510, + "ĠÐļÑĢи": 125511, + "ĠعزÛĮز": 125512, + "tiler": 125513, + "евÑĸ": 125514, + "Ġmožnosti": 125515, + "باز": 125516, + "ĠìĤ¬ë§Ŀ": 125517, + "ĠzÅĻejmÄĽ": 125518, + "íŤ": 125519, + "Ġürünleri": 125520, + "Ġγλη": 125521, + "аки": 125522, + "ãĤĴéĸĭ": 125523, + "anou": 125524, + "åĽ½ãģ®": 125525, + "ĠyaÅŁanan": 125526, + "ĠÑģевеÑĢ": 125527, + "Ġæ©Ł": 125528, + "มาà¸ģมาย": 125529, + "ĠíijľíĺĦ": 125530, + "รส": 125531, + "ĠضربÙĩ": 125532, + "ĠEvet": 125533, + "æĨ¶": 125534, + "ĠدÙĤÛĮÙĤ": 125535, + "Ġвозникнов": 125536, + "ìľłë¨¸": 125537, + "Ġíijľìĭľ": 125538, + "ÛĮØ´ÙĨ": 125539, + "ãĥĹãĥ©": 125540, + "ÑĤÑİ": 125541, + "ÙĪØ³ÛĮ": 125542, + ")ìĿ´": 125543, + "è¯ģæĺİ": 125544, + "ãģ§ãģįãģ¾ãģĻ": 125545, + "ìĪĺìĿĺ": 125546, + "çĸĨ": 125547, + "ĠÙħÙģÙĩÙĪÙħ": 125548, + "оÑĩаÑĤкÑĥ": 125549, + "ालà¤ķ": 125550, + "æ¡Ĥ": 125551, + "ĠоÑħоÑĢони": 125552, + "ĠارزÛĮابÛĮ": 125553, + "ĠìµľëĮĢ": 125554, + "Ġthoải": 125555, + "ĠЦенÑĤÑĢалÑĮ": 125556, + "ĠçķĻ": 125557, + "à¸Ľà¸£à¸°à¹Ģà¸łà¸Ĺ": 125558, + "æµ·å¤ĸ": 125559, + "ĠÅŀu": 125560, + "íĻľëıĻ": 125561, + "ĠdvÄĽma": 125562, + "istrovstvÃŃ": 125563, + "Ġaracılıģıyla": 125564, + "Ġtrá»Ļn": 125565, + "»:": 125566, + "íĭ±": 125567, + "ĠÙĦÛĮÚ¯": 125568, + ".Ðļ": 125569, + "ĠÙħÙĤاÛĮسÙĩ": 125570, + "ĠвмÑĸ": 125571, + "رÙĪØ¨": 125572, + "ĠاÙĦØ´Ùħ": 125573, + "ĠdennÄĽ": 125574, + "ÑĥÑĩа": 125575, + "åħ¹": 125576, + "Ñīим": 125577, + "ĠíĬ¹íŀĪ": 125578, + "ĠاستاÙĨدارد": 125579, + "à¥Ģध": 125580, + "ãĤ¸ãĤ¢": 125581, + "à¹ĩà¹ĩ": 125582, + "иÑģÑģ": 125583, + "Ġkazanç": 125584, + "ĠzÃŃskal": 125585, + "åĽŀæĿ¥": 125586, + "ĠпÑıÑĤÑĮ": 125587, + "ĠÄijãi": 125588, + "ĠÙĪØ±Ø¯": 125589, + "Ġìķķ": 125590, + "ุà¸Ĺร": 125591, + "åĬ¨çī©": 125592, + "Ġpublik": 125593, + "æĪIJæľ¬": 125594, + "æĪIJåijĺ": 125595, + "ãĤ¤ãĤ¯": 125596, + "شرÙĥØ©": 125597, + "á¿ĨÏĤ": 125598, + "Ġyola": 125599, + "üyoruz": 125600, + "ĠкÑĥÑĢи": 125601, + "ĠпоÑħож": 125602, + "Ġìłľê°Ģ": 125603, + "ियत": 125604, + "ائÙĦØ©": 125605, + "Ġãģ¾": 125606, + "़à¥ĩà¤Ĥ": 125607, + "ÑģÑĮкими": 125608, + "âĢľä½ł": 125609, + "imizde": 125610, + "ìµľìĭł": 125611, + "Ậ": 125612, + "èŁ": 125613, + "à¸Ħรà¸Ńà¸ļ": 125614, + "ãĢĢãĢĢãĢĢĠãĢĢĠãĢĢĠãĢĢ": 125615, + "تغ": 125616, + "ĠVÅ¡ech": 125617, + "à¸±à¸Ľà¸Ķาห": 125618, + "Ġatd": 125619, + "воÑİ": 125620, + "Ġyapım": 125621, + "ologické": 125622, + "Ġплен": 125623, + "Ġlazım": 125624, + "rung": 125625, + "ìĦľê´Ģ": 125626, + "Ġjiný": 125627, + "Ġtròn": 125628, + "ĠполÑĸÑĤики": 125629, + "اÙĥÙħ": 125630, + "دÛĮگر": 125631, + "à¥Īà¤Ĥ.Ċ": 125632, + "ĠاÙĩد": 125633, + "Ġãĥį": 125634, + "ĠпÑĢодÑĥкÑĤов": 125635, + "æĤŁ": 125636, + "ĠpÅĻÃŃpadech": 125637, + "ĠzaÄįala": 125638, + "åħ¥ãĤĮ": 125639, + "ĠÑĢÑĸвнÑĸ": 125640, + "æĦŁæĥħ": 125641, + "ĠΧα": 125642, + "죽": 125643, + "ิà¸Īารà¸ĵ": 125644, + "ÂłÐ±": 125645, + "ÑĸÑĹв": 125646, + "بش": 125647, + "çļĦéĹ®é¢ĺ": 125648, + "Ġzastup": 125649, + "볤ìļĶ": 125650, + "ãģ§ãģĻãģŃ": 125651, + "âĢĮداÙĨ": 125652, + "ï¼ĮæĤ¨": 125653, + "ĠuvÄĽdom": 125654, + "ãģ¦ãĤĭ": 125655, + "ìĤ¬ëŀĮ": 125656, + "lun": 125657, + "éĽĨåIJĪ": 125658, + "ë§¹": 125659, + "Ġžid": 125660, + "à¤Ĭ": 125661, + "Ġtrp": 125662, + "лениÑħ": 125663, + "___": 125664, + "ÐľÐŀ": 125665, + "å¼ĭ": 125666, + "λÎŃον": 125667, + "ĠÄijòi": 125668, + "ĠкÑĢок": 125669, + "layıcı": 125670, + "ì¶ľìŀ¥ë§ĪìĤ¬ì§Ģ": 125671, + "åijĪ": 125672, + "éľŀ": 125673, + "ĠпоглÑıд": 125674, + "ترÙĥ": 125675, + "ĠتÙ쨧ÙĪØª": 125676, + "Ġå®®": 125677, + "ĠدÙĪØ±Ø¨ÛĮÙĨ": 125678, + "æĶ¾åľ¨": 125679, + "ĠÑģлÑĥÑĩаев": 125680, + "ĠÏħÏĢηÏģε": 125681, + "ë§ŀ": 125682, + "ãģĻãģĻ": 125683, + "ê²łëĭ¤": 125684, + "รายà¸ģาร": 125685, + "ĠÏĢÏģιν": 125686, + "ĠÑģмеÑĪ": 125687, + "å§ī": 125688, + "Ġvýsledky": 125689, + "Ġpotvr": 125690, + "åıijè¡Į": 125691, + "Ġtúi": 125692, + "ĠìĤ¬ëĿ¼": 125693, + "ç«Ļåľ¨": 125694, + "Ġjaký": 125695, + "Ġà¸ļาà¸ĩ": 125696, + "Ġdikkate": 125697, + "ĠدرآÙħد": 125698, + "æİĴåIJį": 125699, + "rálnÃŃ": 125700, + "ê³¼ìĿĺ": 125701, + "ä½µ": 125702, + "олаг": 125703, + "isiyle": 125704, + "Ġæ½": 125705, + "Ġतम": 125706, + "Ġdij": 125707, + "Ġnhánh": 125708, + "ĠRek": 125709, + "设æĸ½": 125710, + "ĠpodmÃŃnek": 125711, + "å¹¶ä¸į": 125712, + "кÑĥÑĤ": 125713, + "Ġê³łëł¤": 125714, + "çļĦå£°éŁ³": 125715, + "æĪĺäºī": 125716, + "даÑı": 125717, + "Ġê´Ģìĭ¬": 125718, + "ĠÑĦÑĸнанÑģ": 125719, + "ĠKöy": 125720, + "Ġжал": 125721, + "ĠÑģлÑĥжби": 125722, + "мена": 125723, + "تÙĬار": 125724, + "ĠÑĩемпион": 125725, + "ÏĢιÏĥ": 125726, + "landırma": 125727, + "maktan": 125728, + "Ġ丶": 125729, + "à¹Īà¸Ńส": 125730, + "ĠmÃ¼ÅŁteri": 125731, + "ĠصÙĨد": 125732, + "Ġetmesi": 125733, + "ĠпоÑĢÑĤ": 125734, + "νονÏĦαι": 125735, + "Ġãħĭãħĭ": 125736, + "ĠKAR": 125737, + "Ġuch": 125738, + "ĠØ®ÙĦÙĤ": 125739, + "าษà¸İร": 125740, + "æŃ¡": 125741, + "Ġимени": 125742, + "ãģłãģijãģ©": 125743, + "Ġìĭ¤ìĭľ": 125744, + "ÏĥÏīÏĢ": 125745, + "Ġì£": 125746, + "tÄĽÅ¾": 125747, + "Ġözellikleri": 125748, + "Ġبپ": 125749, + "ĠизобÑĢаж": 125750, + "ÙĬÙħÙĥÙĨ": 125751, + "ĠãĥĶ": 125752, + "ĠÐĶив": 125753, + "ĠØ¥ÙĬ": 125754, + "ÙĥÙĬÙĦ": 125755, + "ĠÅŁik": 125756, + "Ġà¤Ĩà¤ĸ": 125757, + "larınızı": 125758, + "ĠвÑĸдÑĢÑĸз": 125759, + "ĠÑĢобоÑĤа": 125760, + "Ġtarif": 125761, + "ĠاÙĪØª": 125762, + "ınma": 125763, + "é£Łãģ¹": 125764, + "ĠuzavÅĻ": 125765, + "룸": 125766, + "çĽijçĿ£": 125767, + "Ġ:ï¼¼": 125768, + "θÏħν": 125769, + "à¸Ķร": 125770, + "alarından": 125771, + "èĩªæĭį": 125772, + "ĠroÄįnÃŃ": 125773, + "ाà¤ĩव": 125774, + "ĠÙĥÙĪØ±": 125775, + "ĠÏĦαιν": 125776, + "ĠÑĸндив": 125777, + "rve": 125778, + "ĠνεÏĨÏİÏĥειÏĤ": 125779, + "Ġbá»ijn": 125780, + "Ġå¿«": 125781, + "ĠÑģолÑĮ": 125782, + "liÄŁinde": 125783, + "à¤¿à¤¨à¤Ł": 125784, + "ahtar": 125785, + "ĠnebezpeÄį": 125786, + "æĹ¢çĦ¶": 125787, + "ĠëĮĢìłĦ": 125788, + "ĠÙĨÚ¯ÙĩدارÛĮ": 125789, + "ĠzÃŃskat": 125790, + "ĠналиÑĩие": 125791, + "Ġaks": 125792, + "ï¼īãĢĤĊĊ": 125793, + "Ġrodiny": 125794, + "ĠзаÑħÑĸд": 125795, + "å¾®ç¬ij": 125796, + "ÂłÐĶа": 125797, + "radu": 125798, + "īnh": 125799, + "ples": 125800, + "ĠKons": 125801, + "ิà¹Ĥล": 125802, + "ĠاÙĦÙĪØµ": 125803, + "åIJ¬åΰ": 125804, + "ĠÑģпоÑĢÑĤив": 125805, + "ĠÑģайÑĤе": 125806, + "Ġاظ": 125807, + "larındaki": 125808, + "Ġtá»ķn": 125809, + "ÐĿÐĨ": 125810, + "Ġnedost": 125811, + "ĠÑĤоÑĢгÑĸв": 125812, + "ĠاÛĮت": 125813, + "Ġاختصاص": 125814, + "ĠÃľy": 125815, + "ĠSadece": 125816, + "ĠÙħخرÙĪØ·": 125817, + "Äģn": 125818, + "çesi": 125819, + "ĠçĬ": 125820, + "ãĤĤãģ£ãģ¨": 125821, + "ĠéŁĵ": 125822, + "èµĸ": 125823, + "ĠполÑĥÑĩениÑı": 125824, + "Ġëĺ": 125825, + "âĢĻÑĹ": 125826, + "bÃŃr": 125827, + "ĠбÑĸблÑĸ": 125828, + "ĠDá»±": 125829, + "женеÑĢ": 125830, + "ç½ijåĪĬ": 125831, + "Ġà¤²à¥ľà¤ķ": 125832, + "ĠÑĥÑĩнÑĸв": 125833, + "èΰ": 125834, + "ĠÃĸÄŁren": 125835, + "Ġola": 125836, + "Ġ।âĢĿĊĊ": 125837, + "ระà¹Ģà¸ļ": 125838, + "á½²": 125839, + "Ġرز": 125840, + "еи": 125841, + "ÑıÑĩи": 125842, + "ØŃب": 125843, + "æĴ¤": 125844, + "ãģ¾ãģŁãģ¯": 125845, + "бина": 125846, + "ĠγεÏģ": 125847, + "ĠоÑĤноÑģиÑĤÑģÑı": 125848, + "åīįçļĦ": 125849, + "Ġšť": 125850, + "Ġyılda": 125851, + ":::::|": 125852, + "ustil": 125853, + "اÙĦØ¥": 125854, + "ĠsouÄįasné": 125855, + "ĠÙĨÛĮرÙĪÛĮ": 125856, + "ÑĩеÑģкое": 125857, + "ظÙģ": 125858, + "ĠÙ¾ÛĮØ´ÛĮÙĨÙĩ": 125859, + "ĠعÙ쨴": 125860, + "Ġrostlin": 125861, + "ç½ijåĪĬä¸ĭ载次æķ°": 125862, + "ĠпÑĢигоÑĤовиÑĤÑĮ": 125863, + "ãĥĮ": 125864, + "ĠÙĪÙħع": 125865, + "Ġbecer": 125866, + "ĠãĤ±": 125867, + "ÏĩήÏĤ": 125868, + "оÑģÑĤÑĥп": 125869, + "Ġ밾매": 125870, + "Ñĸйного": 125871, + "Ġhrd": 125872, + "ĠпÑĢепаÑĢаÑĤÑĭ": 125873, + "ĠÙģØ±Ø¶": 125874, + "ĠTyto": 125875, + "ĠкÑĢаÑĹн": 125876, + "Ġزاد": 125877, + "Ġiktidar": 125878, + "ì§ĵ": 125879, + "Ùijر": 125880, + "ÑĢÑıдÑĥ": 125881, + "кÑĸй": 125882, + "âĶ£": 125883, + "Ġкожи": 125884, + "ĠتازÙĩ": 125885, + "obec": 125886, + "inae": 125887, + "Ġvyjád": 125888, + "ĠرÙģØªÙĩ": 125889, + "Що": 125890, + "ĠBylo": 125891, + "оÑĤв": 125892, + "ĠденÑĮги": 125893, + "é§Ĩ": 125894, + "ĠмаÑĪин": 125895, + "Ġأج": 125896, + "ì´Īëĵ±íķĻêµIJ": 125897, + "dıģında": 125898, + "баÑģ": 125899, + "Ġæł¹": 125900, + "ÎijÎĿΤ": 125901, + "ÙĴØŃ": 125902, + "Ġjejichž": 125903, + "ìĹIJìĦľìĿĺ": 125904, + "Ġадже": 125905, + "Ġìı": 125906, + "ÏĥοÏħ": 125907, + "etleri": 125908, + "ĠبعدÛĮ": 125909, + "ĠìŀIJëıĻì°¨": 125910, + "ิà¸įà¸į": 125911, + "Ġtisk": 125912, + "ãĥ¼ãĤ¹ãĥĪ": 125913, + "Ġमतलब": 125914, + "ê³Ħíļį": 125915, + "ãĤ¦ãĥĪ": 125916, + "Ġà¹Ģมà¸ķร": 125917, + "Ġopsiyon": 125918, + "ĠÑĢавно": 125919, + "ĠبÛĮÙħÙĩ": 125920, + "Ġ먼ìłĢ": 125921, + "иÑĤелÑĮнÑĭм": 125922, + "ĠнÑĸби": 125923, + "ĠдеÑģÑıÑĤ": 125924, + "ĠÑģиÑĤÑĥаÑĨии": 125925, + "еÑĢÑĪе": 125926, + "ľ": 125927, + "ุà¸ķร": 125928, + "Ġyönetimi": 125929, + "éIJĺ": 125930, + "ĠÙħÛĮتÙĪØ§ÙĨ": 125931, + "ĠزÙĨدÙĩ": 125932, + "ãĥŃãĥ³": 125933, + "ĠKBS": 125934, + "ìĦľë¹ĦìĬ¤": 125935, + "ï»ł": 125936, + "eckého": 125937, + "ĠÙĤابÙĦÛĮت": 125938, + "ãĢĤä»Ĭ": 125939, + "ÃŃnÄĽ": 125940, + "ĠÑģмог": 125941, + "ĠÑģлÑĭÑĪ": 125942, + "ÙĴÙģ": 125943, + "poÅĻád": 125944, + "елÑĮно": 125945, + "ĠείÏĩαν": 125946, + "-ÐŁÐµÑĤеÑĢб": 125947, + "ĠChiến": 125948, + "éry": 125949, + "ĠÑĸнÑģÑĤиÑĤÑĥÑĤ": 125950, + "ç»Ĩèĥŀ": 125951, + "ÑĭÑŁN": 125952, + "Ġvua": 125953, + "Ġà¤ħश": 125954, + "ÑĢоÑģÑĤо": 125955, + "ĠvůÄįi": 125956, + "ë¿IJ": 125957, + "Ġliá»ĩt": 125958, + "Ġíķµ": 125959, + "ĠاÙ쨱": 125960, + "ĠTeknik": 125961, + "Ġroli": 125962, + "ĠпопÑĭÑĤ": 125963, + "аÑĤкÑĸв": 125964, + "Ġüniversit": 125965, + "аÑĤоÑĢÑĭ": 125966, + "ÑİÑīиÑħÑģÑı": 125967, + "Ġتض": 125968, + "лÑİÑĩаеÑĤÑģÑı": 125969, + "Ġíĸīë³µ": 125970, + "Ġayrıntılı": 125971, + "ĠкиÑĢп": 125972, + "æĭ¼": 125973, + "ëģĶ": 125974, + "лаÑĤа": 125975, + "Ġkhoán": 125976, + "Ġhâlâ": 125977, + "ÏĥÏħ": 125978, + "оглаÑģ": 125979, + "æİ¥çĿĢ": 125980, + "éĿ©åij½": 125981, + "ĠpÅĻeb": 125982, + "à¹Ģà¸īล": 125983, + "ĠاÙĦÙħÙĦÙĦÛĮ": 125984, + "åłĨ": 125985, + "íıIJ": 125986, + "à¸ķลà¸Ńà¸Ķ": 125987, + "°С": 125988, + "ìĤ¬ëŀij": 125989, + "Ġгиб": 125990, + "ë²Ī째": 125991, + "æĶ¹åıĺ": 125992, + "表çݰ": 125993, + "иÑĩеÑģким": 125994, + "สมà¹Ģà¸Ķ": 125995, + "å±ħæ°ij": 125996, + "ÂĽ": 125997, + "ĠìķĦìĿ´ëĶĶ": 125998, + "ĠмеждÑĥнаÑĢод": 125999, + "Ġyem": 126000, + "Ġmül": 126001, + "ĠاÛĮست": 126002, + "Ġãĥ´": 126003, + "ัà¸Ļà¹Ħà¸Ķ": 126004, + "à¥Ģण": 126005, + "åħ¶å®ŀ": 126006, + "Ġgelenek": 126007, + "ë¶ģëıĦ": 126008, + "à¹īาà¸ķ": 126009, + "Ġìī¬": 126010, + "ĠÏĢÎŃ": 126011, + "ĠÙĥاÙħÙĦ": 126012, + "ĠتعÙħÛĮر": 126013, + "訴": 126014, + "ë¹Ļ": 126015, + "iyim": 126016, + "å°¿": 126017, + "éĤ£æł·": 126018, + "êµŃìĿĺ": 126019, + "ãģĹãģ¦ãģĬãĤĬ": 126020, + "Ġniž": 126021, + "Ġκον": 126022, + "à¹Īาà¸Ń": 126023, + "Ġγε": 126024, + "ĠСевеÑĢ": 126025, + "ediálnÃŃ": 126026, + "ãģŁãģ¡ãģ®": 126027, + "mayacak": 126028, + "ÑĻ": 126029, + "ĠÑĥгл": 126030, + "Ġkapas": 126031, + "ÑĥвалиÑģÑı": 126032, + "ĠмеÑģÑıÑĨа": 126033, + "ữu": 126034, + "ิลล": 126035, + "ãĤĪãĤĬãĤĤ": 126036, + "à¥ĩण": 126037, + "Ġ客": 126038, + "ĠdeÄŁerli": 126039, + "ÙĪØ§Ø²": 126040, + "ีà¸Ńย": 126041, + "ĠåıĪ": 126042, + "Ġà¸Ķร": 126043, + "ĠÙĨاب": 126044, + "ĠتÙĦÙĪÛĮزÛĮÙĪÙĨ": 126045, + "Ġolanlar": 126046, + "ä¼ĺç§Ģ": 126047, + "ÙĥاÙĦ": 126048, + "ĠдеÑģÑıÑĤи": 126049, + "mán": 126050, + "ĠÑĢанÑĮ": 126051, + "Ġìłľì¶ľ": 126052, + "è³¢": 126053, + "або": 126054, + "Ġtechnik": 126055, + "ĠKiá»ĥm": 126056, + "teki": 126057, + "á¹": 126058, + "ĠmnÄĽ": 126059, + "Ġê³µê°Ħ": 126060, + "ĠMek": 126061, + "ĠاعتÙħاد": 126062, + "à¹Įà¹Ħà¸Ķ": 126063, + "εÏģÏĮ": 126064, + "ĠÑĥдаÑĢ": 126065, + "оÑĩÑĮ": 126066, + "æ¦Ĥ念": 126067, + "ÑĢал": 126068, + "алÑĮнÑĭми": 126069, + "à¥ģरस": 126070, + "ráci": 126071, + "ĠÙĤÙĪÙĦ": 126072, + "Ġदव": 126073, + "ĠпÑĢавда": 126074, + "Ġå¿ħ": 126075, + "Ġdosud": 126076, + "нÑĥÑĤÑĮÑģÑı": 126077, + "NÄĥm": 126078, + "à¸ĺà¸Ļ": 126079, + "Ġdokun": 126080, + "Ġåľ¨çº¿": 126081, + "ูà¹Ħ": 126082, + "ụy": 126083, + "ĠновÑĭÑħ": 126084, + "Ġmezun": 126085, + "ĠCần": 126086, + "à¸ģารà¸ŀ": 126087, + "ĠìĺĪìłķ": 126088, + "Ïĥή": 126089, + "à¹Īà¸Ļà¹Ģà¸ģม": 126090, + "ĠÙĪØ§ÙĦس": 126091, + "ãĥ³ãĥĨãĤ£": 126092, + "çľĭè§ģ": 126093, + "ĠساÙĦÙħ": 126094, + "ĠбагаÑĤÑĮоÑħ": 126095, + "ĠÄijÃłi": 126096, + "ĠدستÛĮ": 126097, + "à¸ŀà¸Ń": 126098, + "епÑĤи": 126099, + "ĠìłĦíĻĶ": 126100, + "æĻĤãģ«": 126101, + "ĠSeznam": 126102, + "мÑĸнÑĥ": 126103, + ";?#": 126104, + "à¥Ģसर": 126105, + "ĠÚĨÛĮست": 126106, + "νοια": 126107, + "ัà¸Ļà¸Ń": 126108, + "Ġà¸Ħำ": 126109, + "Ġë³´íĺ¸": 126110, + "Ġiddia": 126111, + "Ġβιβ": 126112, + "é«ĺä¸Ń": 126113, + "Ù¨": 126114, + "ÐĴаж": 126115, + "ĠиÑģполн": 126116, + "ÑĪÑĤов": 126117, + "ĠTaÅŁ": 126118, + "ìĽħ": 126119, + "åĬ¹": 126120, + "Ġåıĥ": 126121, + "Ġprostoru": 126122, + "ĠÑģпад": 126123, + "еÑĢина": 126124, + "ĠpÅĻeklad": 126125, + "Å¡ov": 126126, + "ĠÙģÙĩÙħ": 126127, + "æĬij": 126128, + "Ġابتدا": 126129, + "ãĤĴãģĬ": 126130, + "likler": 126131, + "ĠÙħاÙĥ": 126132, + "Ġkonut": 126133, + "ĠداÙĨشجÙĪÛĮ": 126134, + "ĠопÑĤим": 126135, + "ĠбÑĥма": 126136, + "ĠлÑİдÑıм": 126137, + "ĠлÑĸка": 126138, + "ĠÑĢозповÑĸд": 126139, + "nesenÃŃ": 126140, + "Ġà¸łà¸²à¸ŀ": 126141, + "иÑĩний": 126142, + "اطÙĦ": 126143, + "ÑİÑīими": 126144, + "ãģıãģ¨": 126145, + "éѝ": 126146, + "ĠجÙĨسÛĮ": 126147, + "ÐĺТ": 126148, + "रल": 126149, + "ĠÚ©ÙĪØ¯Ú©": 126150, + "олиÑĤ": 126151, + "ĠÑģÑĤÑĢÑĥкÑĤÑĥÑĢ": 126152, + "vekili": 126153, + "Ġबय": 126154, + "ĠgelmiÅŁ": 126155, + "िरफ": 126156, + "ĠнайкÑĢа": 126157, + "ĠÐĶжон": 126158, + "ĠãĥĹãĥŃ": 126159, + "ĠyaÅŁlı": 126160, + "ĠkarÄ±ÅŁtır": 126161, + "ĠvÄĽtÅ¡inou": 126162, + "Ġvazgeç": 126163, + "à¹īาà¸Ħ": 126164, + "lendirme": 126165, + "Ġç¨ĭ": 126166, + "说è¯Ŀ": 126167, + "ĠíķĦìļĶíķľ": 126168, + "aÅĻilo": 126169, + "ĠležÃŃ": 126170, + "ĠAmerikan": 126171, + "ãĤĦãģĻ": 126172, + "vajÃŃcÃŃ": 126173, + "ÐĿЯ": 126174, + "ĠìĹĦë§Ī": 126175, + "Ġåĥ": 126176, + "rál": 126177, + "Ġçay": 126178, + "tuÄŁ": 126179, + "ุà¸įาà¸ķ": 126180, + "ĠÑģлив": 126181, + "νοÏħ": 126182, + "ĠOv": 126183, + "ĠCHP": 126184, + "ĠZemÄĽ": 126185, + "ĠÄįeský": 126186, + "ĠThánh": 126187, + "иÑĤелÑĮноÑģÑĤÑĮ": 126188, + "æĦıä¹ī": 126189, + "à¥įरमण": 126190, + "ĠдиамеÑĤ": 126191, + "Ġklin": 126192, + "ĠکرÛĮ": 126193, + "ãģ§ãģ¯ãģªãģı": 126194, + "飯åºĹ": 126195, + "Ġkênh": 126196, + "ĠÑĢанÑĮÑĪе": 126197, + "ãĤĴãģĹãģŁ": 126198, + "ĠпÑĢибоÑĢ": 126199, + "Ġà¤ĸतर": 126200, + "Ġyu": 126201, + "é§IJ": 126202, + "ĠÑĢабо": 126203, + "ĠÐ¡ÐłÐ¡Ðł": 126204, + "èĬ¬": 126205, + "žila": 126206, + "еÑĢÑĤа": 126207, + "иÑģÑĤÑĢа": 126208, + "Ġкниги": 126209, + "ĠFrancie": 126210, + "ĠÚĺØ§Ù¾": 126211, + "ĠÎļοÏħ": 126212, + "ัวà¹Ģà¸Ńà¸ĩ": 126213, + "Ġlắng": 126214, + "Ġнами": 126215, + "Ġподой": 126216, + "дÑĢом": 126217, + "obus": 126218, + "ÐĴÑĸн": 126219, + "Ġstalo": 126220, + "Ġà¤ıà¤ľ": 126221, + "ĠLinh": 126222, + "ebiliriz": 126223, + "ĠзавÑĤÑĢа": 126224, + "μεÏģο": 126225, + "ĠÎŃν": 126226, + "ÑıÑĤно": 126227, + "ĠдоÑĢож": 126228, + "åıĤçħ§": 126229, + "Ïĥιο": 126230, + "à¹īà¹Ģà¸ģ": 126231, + "aných": 126232, + "ç·ł": 126233, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 126234, + "åĬĽçļĦ": 126235, + "ĠSır": 126236, + "Ġì§ĢëıĦ": 126237, + "ç·Ĭ": 126238, + "ĠpoÄįtu": 126239, + "ï¼Įä¸İ": 126240, + "ä¸ĸç´Ģ": 126241, + "емого": 126242, + "Ġhusus": 126243, + "Ġölçüde": 126244, + "Ġtrục": 126245, + "à¸Ľà¸¥à¸Ńà¸Ķà¸ł": 126246, + "ÂłpÅĻÃŃ": 126247, + "ĠBölgesi": 126248, + "мом": 126249, + "ãģ«ãģ¦": 126250, + "Ġ쪽ì§Ģ": 126251, + "ÄĽtÅ¡": 126252, + "ĠìĦ±ê³µ": 126253, + "रत": 126254, + "urdu": 126255, + "ĠìĽĢì§ģ": 126256, + "ÑŁÐŃ": 126257, + "nÃŃkem": 126258, + "ĠskuteÄįnosti": 126259, + "ĠдаÑĤ": 126260, + "neum": 126261, + "ĠÑĤаблеÑĤ": 126262, + "jvu": 126263, + "Ġsedm": 126264, + "سÙĬØ©": 126265, + "ĠкоÑĢоб": 126266, + "emmel": 126267, + "ãģ¤ãģij": 126268, + "é¦Ļèķī": 126269, + "ĠشخصÛĮت": 126270, + "ä¸ĬäºĨ": 126271, + "ÙĪØ±Ø§": 126272, + "ĠаÑĤмоÑģ": 126273, + "Ġлей": 126274, + "Ġzprav": 126275, + "Ġëķħ": 126276, + "ูà¸Ĺ": 126277, + "Ġاسر": 126278, + "ĠAydın": 126279, + "ĠعÙħÙĦÙĬØ©": 126280, + "ĠдÑĸÑĶ": 126281, + "Ġdök": 126282, + "Ġफल": 126283, + "ĠìĤ¬ëŀĮëĵ¤ìĿ´": 126284, + "ĠнаÑĤÑĥÑĢалÑĮ": 126285, + "æŁľ": 126286, + "温度": 126287, + "Ġkles": 126288, + "ĠинвеÑģÑĤи": 126289, + "süz": 126290, + "æĴ°": 126291, + "ĠãĤ¢ãĥ«": 126292, + "ĠèĴ": 126293, + "адки": 126294, + "ĠklÃŃÄį": 126295, + "Ïĩεί": 126296, + "ĠThiết": 126297, + "ĠسرÛĮع": 126298, + "ĠÏĢεÏģιοÏĩή": 126299, + "ÙĪÙĤÙģ": 126300, + "ÏģÏīÏĥη": 126301, + "ĠسÙĦاÙħت": 126302, + "ëĵ¤ëıĦ": 126303, + "ĠveÅĻejné": 126304, + "Ġvitam": 126305, + "ĠبازÛĮگر": 126306, + "ĠÑĢеÑĨепÑĤ": 126307, + "ĠìľĦíķ´ìĦľ": 126308, + "ĠØ£Ùĥبر": 126309, + "Ġküt": 126310, + "민주": 126311, + "Ġtéž": 126312, + "Ġå¼ķ": 126313, + "ÑĩаÑģно": 126314, + "çļĦåľ°": 126315, + "Ġarchitekt": 126316, + "ĠбакÑĤеÑĢ": 126317, + "Ġãģį": 126318, + "ĠодеÑĢж": 126319, + "ĠتجارÛĮ": 126320, + "éĿĪ": 126321, + "Ġrecep": 126322, + "é©¶": 126323, + "ĠدÙĩÙĩ": 126324, + "è²Į": 126325, + "çµIJå©ļ": 126326, + "ılıç": 126327, + "ãģĭãĤīãģ¯": 126328, + "å¿ĥéĩĮ": 126329, + "æĬķè³ĩ": 126330, + "è²Ŀ": 126331, + "ĠкÑĥлÑĮÑĤÑĥÑĢÑĭ": 126332, + "Ġå°ij": 126333, + "à¹ģà¸ŀร": 126334, + "γκÏĮ": 126335, + "arım": 126336, + "ĠاساسÛĮ": 126337, + "ĠposlednÃŃch": 126338, + "ĠÙħÙħÙĨ": 126339, + "ĠпозиÑĤив": 126340, + "ìł¤": 126341, + "ÑĥвавÑģÑı": 126342, + "Ġجزئ": 126343, + "ìĿ´ìŀIJ": 126344, + "ĠинÑģÑĤÑĢÑĥк": 126345, + "Ġηλεκ": 126346, + "Ġdemir": 126347, + "ä¸ŃæĸĩåŃĹå¹ķ": 126348, + "ĠعاشÙĤ": 126349, + "ĠباÙĦÙĤ": 126350, + "Ġmaz": 126351, + "άνι": 126352, + "ĠdÃ¼ÄŁ": 126353, + "ĠκÏģα": 126354, + "ĠбÑĥдÑĤо": 126355, + "ç¦ıåĪ©": 126356, + "ĠпÑĢедназнаÑĩ": 126357, + "ÙħÙĦØ©": 126358, + "ĠбÑĥдинкÑĥ": 126359, + "Å¥an": 126360, + "íķĢ": 126361, + "ç´¹ä»ĭ": 126362, + "کز": 126363, + "ĠкаÑĦед": 126364, + "ãģ«è¦ĭ": 126365, + "าà¸ķรà¸IJาà¸Ļ": 126366, + "ë¡ľëĬĶ": 126367, + "ivÄĽ": 126368, + "èĥ½æºIJ": 126369, + "ï¼Įåħ¨": 126370, + "ĠÑĥдив": 126371, + "Ġë§ĮëĤĺ": 126372, + "ÐĴÐIJ": 126373, + "ĠGür": 126374, + "ĠдÑĢÑĥгим": 126375, + "ÏĥÏį": 126376, + "ĠoÄŁlu": 126377, + "Ġê°Ģê¹Į": 126378, + "ĠзнаÑĩиÑĤелÑĮно": 126379, + "озÑĸ": 126380, + "Ġmá»±c": 126381, + "ĠBeÅŁ": 126382, + "Ġjezd": 126383, + "ávÄĽ": 126384, + "ÏĦηÏĥε": 126385, + "ãģ¦ãģĦãģªãģĦ": 126386, + "ĠСвÑıÑĤ": 126387, + "Ġमश": 126388, + "ĠΤοÏħ": 126389, + "声ãĤĴ": 126390, + "ĠÑģамое": 126391, + "ĠåĮº": 126392, + "ĠìĤ¬ëŀĮìĿĢ": 126393, + "ĠÙħÙĦت": 126394, + "Ġjoker": 126395, + "Ġneob": 126396, + "ĠÑĤака": 126397, + "ĠÙĩÙģØª": 126398, + "Ġδεδο": 126399, + "ĠзаÑħоп": 126400, + "ĠاÙĦÙħخت": 126401, + "езда": 126402, + "Ġíķľë²Ī": 126403, + "ĠعاÙħØ©": 126404, + "Ġdostate": 126405, + "Ġplav": 126406, + "楽ãģĹ": 126407, + ".;.;.;.;": 126408, + "ваÑĶ": 126409, + "Ġbụi": 126410, + "ĠÄijỡ": 126411, + "ĠmyslÃŃ": 126412, + "ĠÙĨار": 126413, + "Ġnút": 126414, + "Ġмала": 126415, + "ΤΡ": 126416, + "ĠاÙĦرÙħزÙĬØ©": 126417, + "ladım": 126418, + "ä¸Ģç·Ĵ": 126419, + "ĠiÅŁÃ§": 126420, + "livé": 126421, + "르ê²Į": 126422, + "аннаÑı": 126423, + "ظËĨØ·": 126424, + "Ġdừng": 126425, + "ÙĦÙĥتر": 126426, + "çŃĶæ¡Ī": 126427, + "ĠÙħÙĪÙĤعÛĮت": 126428, + "ĠÑĸнозем": 126429, + "ĠиÑģÑĩ": 126430, + "ĠнепÑĢавилÑĮ": 126431, + "bakan": 126432, + "ĠçīĪ": 126433, + "еннÑİ": 126434, + "à¸ĩà¹Ģศ": 126435, + "à¸Ħวามà¸Ħ": 126436, + "%.Ċ": 126437, + "à¹Īà¹Ģà¸Ľ": 126438, + "ĠآبÛĮ": 126439, + "Ġstáty": 126440, + "ĠترتÛĮب": 126441, + "Äįemž": 126442, + "Ġé¹": 126443, + "ĠÙ쨧ÙĦ": 126444, + "Ġbelirlen": 126445, + "ĠâĨĺ": 126446, + "èĩ³å°ij": 126447, + "ĠBunlar": 126448, + "Ġä¸ĵ": 126449, + "ĠÙħØŃاس": 126450, + "ĠìĦľë²Ħ": 126451, + "Ġcanh": 126452, + "ĠпÑĢоÑĤÑıж": 126453, + "ĠнÑĸмеÑĨÑĮ": 126454, + "à¥Īà¤łà¤ķ": 126455, + "ëĭī": 126456, + "ĠнанеÑģ": 126457, + "ĠвозÑĢаÑģÑĤа": 126458, + "Ġ[â̦]Ċ": 126459, + ".à¸ŀ": 126460, + "ิศาสà¸ķร": 126461, + "çģ½": 126462, + "ê°ĻìĿĢ": 126463, + "ลà¸ĩà¸Ĺ": 126464, + "ãĤ±ãĥ¼ãĤ¹": 126465, + "ĠãĤ¢ãĤ¤": 126466, + "ÑģÑİ": 126467, + "ĠÙĦر": 126468, + "ãģĭãģ£ãģ¦": 126469, + "Ġ기ë°ĺ": 126470, + "Ġ!:": 126471, + "ĠÑģÑĬ": 126472, + "ĠØ´ÙĨاسÛĮ": 126473, + "ĠìķĦ침": 126474, + "Ġعباس": 126475, + "Ġà¸ķà¸Ńà¸Ļ": 126476, + "ĠмеÑĤалли": 126477, + "ÑĪила": 126478, + "Ġpodrob": 126479, + "ÑĸÑģно": 126480, + "Ġ赤": 126481, + "ciler": 126482, + "ozem": 126483, + "ĠоÑģновнÑĭÑħ": 126484, + "Âłà¤ķ": 126485, + "à¸ĸà¸Ļà¸Ļ": 126486, + "анÑĤаж": 126487, + "ĠDÃŃky": 126488, + "ĠگذارÛĮ": 126489, + "æľºä¼ļ": 126490, + "οÏħλίοÏħ": 126491, + "оÑĩек": 126492, + "ĠнапиÑĤ": 126493, + "ĠبÛĮشترÛĮ": 126494, + "ä¾į": 126495, + "ĠاÙĦÙħÙħ": 126496, + "ÙĪØ²ÙĬع": 126497, + "Ġgözlem": 126498, + "è°ĥæķ´": 126499, + "Âłmiles": 126500, + "Ġkoc": 126501, + "ัà¸įห": 126502, + "æ³³": 126503, + "ĠÎijγγ": 126504, + "ĠÙĨÙħاز": 126505, + "ุà¸Ĺ": 126506, + "ãĥıãĤ¤": 126507, + "Ġthù": 126508, + "кÑĥлÑı": 126509, + "ĠпÑĥÑĤем": 126510, + "èĩºçģ£": 126511, + "Ġvergi": 126512, + "åł´åIJĪãģ¯": 126513, + "ĠÑĤÑĢÑĮоÑħ": 126514, + "Ġë³´ë©´": 126515, + "âĸ²": 126516, + "Ïħγ": 126517, + "ĠдоÑĤÑĢим": 126518, + "æľµ": 126519, + "ĠumÄĽnÃŃ": 126520, + "èī¯ãģĦ": 126521, + "Âłà¸Ļาà¸ĩ": 126522, + "ÐİÑĭÑŁN": 126523, + "ä¸ī个": 126524, + "ียรà¸ķ": 126525, + "ï¼ĮåIJĮæĹ¶": 126526, + "ĠÑĢозÑĢаÑħÑĥн": 126527, + "ĠDers": 126528, + "ãģªãģ®": 126529, + "Ġ그를": 126530, + "dikleri": 126531, + "Ġhayata": 126532, + "è§ĦèĮĥ": 126533, + "ç»ĵåIJĪ": 126534, + "Ġscé": 126535, + "ĠcÆ¡m": 126536, + "åѸéĻ¢": 126537, + "ĠÐĦв": 126538, + "ĠÄįlánek": 126539, + "ĠдоÑģÑĤиг": 126540, + "ाà¤ĩस": 126541, + "εÏħÏĥη": 126542, + "éģ©ç͍": 126543, + "Ïĥον": 126544, + "ılmaktadır": 126545, + "ëªħìĿĦ": 126546, + "ıb": 126547, + "ĠstarÅ¡ÃŃ": 126548, + "ĠchÃŃn": 126549, + "ä¸Ģ个人": 126550, + "ĠFrantiÅ¡ek": 126551, + "nÄĽji": 126552, + "ﻨ": 126553, + "ĠÙĦÙĦد": 126554, + "Ġpokoj": 126555, + "Ġjih": 126556, + "ãĢįãĢĤ": 126557, + "ĠعبداÙĦ": 126558, + "ãĤĵãģ§ãģĦãĤĭ": 126559, + "ĠмоделÑĮ": 126560, + "ĠteÅŁkil": 126561, + "ĠÄĮer": 126562, + "à¹Ģà¸Ķà¸Ńร": 126563, + "'na": 126564, + "λογή": 126565, + "Ġkola": 126566, + "ãĥĢãĥ¼": 126567, + "иÑĤелем": 126568, + "ĠÏĥÏħνο": 126569, + "ĠKurum": 126570, + "Ġsnadno": 126571, + "ĠاÙĦÙĤرآÙĨ": 126572, + "ĠVá»ģ": 126573, + "é«ĺãģĦ": 126574, + "Ġyıldız": 126575, + "Ġbirisi": 126576, + "Ġkhúc": 126577, + "ÙĪÛĮÙĦ": 126578, + "æľĢä½³": 126579, + "Ġสาà¸Ĥ": 126580, + "ĠÐŁÐ¾Ðº": 126581, + "âīł": 126582, + "à¹Ĥà¸Ľà¸£à¹ģà¸ģรม": 126583, + "à¥įययन": 126584, + "èij¡": 126585, + "ĠnovÄĽ": 126586, + "ayıp": 126587, + "ĠSingap": 126588, + "è°ĵ": 126589, + "ãĤ¶ãĤ¤ãĥ³": 126590, + "ĠновÑĭе": 126591, + "Ġhảo": 126592, + "ĠèŤ": 126593, + "ãĥ³ãĥĸ": 126594, + "ÂłĊĊ": 126595, + "θεια": 126596, + "Ġпопада": 126597, + "ĠëĶĶìŀIJìĿ¸": 126598, + "ĠداشتÙĨد": 126599, + "ĠØ´ÙĨاختÙĩ": 126600, + "ÏĥμαÏĦα": 126601, + "å¹³æĸ¹åħ¬éĩĮ": 126602, + "Ġgöl": 126603, + "екоÑĤоÑĢ": 126604, + "Ġmálo": 126605, + "ĠاجازÙĩ": 126606, + "کاراÙĨ": 126607, + "ĠпÑĸдпÑĢиÑĶмÑģÑĤв": 126608, + "ä¸īå¹´": 126609, + "ĠسÙģÛĮد": 126610, + "ĠμÎŃÏģοÏĤ": 126611, + "ÐĻÐĻ": 126612, + "Ġhư": 126613, + "سÙĪØ¨": 126614, + "ĠÙĦذا": 126615, + "Ġnemovit": 126616, + "ĠdÃŃv": 126617, + "İs": 126618, + "¶¶": 126619, + "Ġphưá»Ŀng": 126620, + "ĠÙĨØŃÙĪÙĩ": 126621, + "Ðĭ": 126622, + "Ġzbyt": 126623, + "edii": 126624, + "nech": 126625, + "ĠадмÑĸнÑĸÑģÑĤÑĢаÑĤив": 126626, + "ĠnevÄĽ": 126627, + "Ġож": 126628, + "ĠÄIJó": 126629, + "à¸Ľà¸£à¸°à¸§": 126630, + "Ġvhodné": 126631, + "ĠumÄĽl": 126632, + "ĠÑĢазлиÑĩнÑĭе": 126633, + "ĠpÅĻiroz": 126634, + "ĠبخشÛĮ": 126635, + "ãģ®å¤§": 126636, + "ĠاÙĦÙĥÙĩ": 126637, + "ecká": 126638, + "Ġzorunlu": 126639, + "ĠÐľÐ¸ÐºÐ¾Ð»Ð°": 126640, + "Ġamel": 126641, + "ковÑĭе": 126642, + "::::/": 126643, + "ä¸įåIJĮçļĦ": 126644, + "ĠÙĪÙĥاÙĨت": 126645, + "à¸Ńà¸Ń": 126646, + "lásil": 126647, + "ĠпÑĢедполаг": 126648, + "ï½±": 126649, + "Ġνε": 126650, + "ĠновÑĭй": 126651, + "Ġìĺģíĸ¥ìĿĦ": 126652, + "Ġê°Ģì§Ħ": 126653, + "åĥħ": 126654, + "YD": 126655, + "Ġباغ": 126656, + "Ġشکست": 126657, + "Ġgüney": 126658, + "иÑģÑĮ": 126659, + "ãģĭãģªãģĦ": 126660, + "ĠTòa": 126661, + "ĠگردÛĮد": 126662, + "ØŃÙĦ": 126663, + "luvÃŃ": 126664, + "véd": 126665, + "Ġìĺ·": 126666, + "ĠεÏĢα": 126667, + "ĠÑĤиÑģÑıÑĩ": 126668, + "Ġê½ĥ": 126669, + "ĠPUS": 126670, + "ĠдÑĥмкÑĥ": 126671, + "ĠâĢĿĊ": 126672, + "ĠìĬ¤íı¬ì¸ł": 126673, + "ÙĩÙĩ": 126674, + "Ġgắng": 126675, + "à¸´à¸łà¸²à¸ŀ": 126676, + "éĩĮéĿ¢": 126677, + "brıs": 126678, + "Ġzáb": 126679, + "καÏĤ": 126680, + "ĠåıĮ线": 126681, + "ลล": 126682, + "ĠÄIJÃłi": 126683, + "åŃ¸æł¡": 126684, + "ĠÑĢаÑģпÑĢед": 126685, + "ĠÑģÑĤанеÑĤ": 126686, + "Ġлак": 126687, + "Ġподк": 126688, + "Ġgören": 126689, + "ë¥´ê³ł": 126690, + "ĠÑĦÑĢÑĥкÑĤ": 126691, + "íĵ¨íĦ°": 126692, + "ãģĻãĤĮãģ°": 126693, + "ãĤĴä½ľ": 126694, + "à¸Ńà¸Ńà¸ģà¹ģà¸ļà¸ļ": 126695, + "Ġkulak": 126696, + "ĠíĶĮëłĪìĿ´": 126697, + "ĠØŃدÙĬØ«": 126698, + "ãģĨãĤĵ": 126699, + "ĠмÑĸк": 126700, + "à¤ĩसà¤ķ": 126701, + "ĠÑĥÑĤоÑĩ": 126702, + "ĠÙĥØ«ÙĬر": 126703, + "ĠYine": 126704, + "ัวหà¸Ļ": 126705, + "нÑĸÑĹ": 126706, + "åį¢": 126707, + "ÑĥÑģлов": 126708, + "ìĽĮíģ¬": 126709, + "Ġà¤ħà¤ĸ": 126710, + "ĠÑĨÑĸка": 126711, + "ìĦłìĿĦ": 126712, + "Ġأر": 126713, + "галÑĤеÑĢ": 126714, + "anglicky": 126715, + "ĠÑģоÑģÑĥд": 126716, + "ĠÑĥÑıв": 126717, + "ĠпÑĢодÑĥкÑĨÑĸÑĹ": 126718, + "Ġchua": 126719, + "Ġdán": 126720, + "ामà¤Ĺ": 126721, + "ئت": 126722, + "ĠФед": 126723, + "Ġhrom": 126724, + "íķ´ë³´": 126725, + "ĠØ¢ÙĨÙĦاÛĮÙĨ": 126726, + "-пÑĢав": 126727, + "Ġì¤ijìļĶíķľ": 126728, + "ĠвкÑĥ": 126729, + "Ġ大éĺª": 126730, + "Ġterk": 126731, + "ĠподÑĸб": 126732, + "ĠвÑĸдвÑĸд": 126733, + "à¥Įà¤Ł": 126734, + "è³£": 126735, + "ĠبتÙĨ": 126736, + "ĠبعضÛĮ": 126737, + "ãģªãģĬ": 126738, + "ä»ĸåĢij": 126739, + "Ġtavsiye": 126740, + "ĠMısır": 126741, + "Ġإذ": 126742, + "ĠæIJ": 126743, + "íķĺëĤĺ": 126744, + "ĠÙĪØ®": 126745, + "ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 126746, + "Ġtakový": 126747, + "Ġबनन": 126748, + "ĠзÑĢениÑı": 126749, + "ĠÙĪÙģÙĤ": 126750, + "ë¹ĦìķĦ": 126751, + "ĠпоможеÑĤ": 126752, + "åĮĹå¸Ĥ": 126753, + "dıkları": 126754, + "Ġéĵģ": 126755, + "ĠaktuálnÃŃ": 126756, + "Ġвв": 126757, + "ãĤĤãģªãģĦ": 126758, + "íĨµìĭł": 126759, + "ÏĦαÏĥη": 126760, + "ĠìĥģëĮĢ": 126761, + "Ġæł¡": 126762, + "ãĢĤéĤ£": 126763, + "ĠرÙĪØ³ÛĮÙĩ": 126764, + "Ġtelevizyon": 126765, + "å¹´é¾Ħ": 126766, + "ĠÐijоÑĢиÑģ": 126767, + "리ìĸ´": 126768, + "ĠzveÅĻej": 126769, + "жно": 126770, + "ĠÐŀÑģÑĤ": 126771, + "ĠмÑĥжÑĩин": 126772, + "ĠyeÅŁil": 126773, + "ĠСовеÑĤ": 126774, + "ĠBÃĸL": 126775, + "ĠТакож": 126776, + "Ġobnov": 126777, + "ĠпÑĢинадлеж": 126778, + "ĠвиÑģнов": 126779, + "Ø·Ùħ": 126780, + "ĠìĹĨìĸ´": 126781, + "ĠMùa": 126782, + "ä½ıå®ħ": 126783, + "åĮ»åѦ": 126784, + "ĠнаÑĢез": 126785, + "ãĥĭï¾Ĩ": 126786, + "ĠMặt": 126787, + "Ġvuông": 126788, + "ä¸ĢåĮº": 126789, + "ĠẢnh": 126790, + "ÑĢиÑĦ": 126791, + "ä¿ĿéĻ©": 126792, + "ĠÏĩÏģήÏĥη": 126793, + "åIJĮæĦı": 126794, + "Ġæīĵ": 126795, + "etÄĽ": 126796, + "ĠÙĪØ°ÙĦÙĥ": 126797, + "ĠÑĤиж": 126798, + "ĠÎŁÎ¹ÎºÎ¿": 126799, + "ĠмÑĸÑģÑĨÑĸ": 126800, + "ĠÑĢебенок": 126801, + "ĠÅŀah": 126802, + "عÙĦÙĪÙħ": 126803, + "ladıģ": 126804, + "Ġgiden": 126805, + "ливоÑģÑĤÑĸ": 126806, + "ÙĴس": 126807, + "ĠTHB": 126808, + "Ġmeslek": 126809, + "ÂłÐĿе": 126810, + "μÏĨÏīνα": 126811, + "ĠÙĪØ§Ø¬": 126812, + "наÑģлÑĸд": 126813, + "æĺŁæľŁ": 126814, + "ÐĶж": 126815, + "ĠÑĢабоÑĤаеÑĤ": 126816, + "Ġsánh": 126817, + "ìļ°ë¦¬": 126818, + "ĠابÙĪ": 126819, + "çļĦæĥħ": 126820, + "ĠìϏêµŃ": 126821, + "Ġkabil": 126822, + "еÑĢвÑĭе": 126823, + "ĠgiÃłu": 126824, + "Ġtá»ı": 126825, + "ÂłÐij": 126826, + "å®Įæķ´": 126827, + "Ġmužů": 126828, + "ĠpomÄĽrnÄĽ": 126829, + "ĠÙħخصÙĪØµ": 126830, + "ĠÐĶем": 126831, + "ãĤıãĤĮãĤĭ": 126832, + "ĠпÑĢибÑĭ": 126833, + "ĠکاÙħÙ¾ÛĮ": 126834, + "ï¼Ń": 126835, + "Ġtrh": 126836, + "ĠÐijолÑĮÑĪ": 126837, + "´:": 126838, + "иваеÑĤÑģÑı": 126839, + "ĠìĤ¬íķŃ": 126840, + "è¿Ľä¸ĢæŃ¥": 126841, + "ÑĨей": 126842, + "ãģ¾ãģļ": 126843, + "аÑĤелем": 126844, + "éĮ¯": 126845, + "Ġžalob": 126846, + "ÑĨез": 126847, + "инÑĥв": 126848, + "Ġverze": 126849, + "åĽŀåΰ": 126850, + "Ġdược": 126851, + "ائÙĬÙĦ": 126852, + "stoupil": 126853, + "论æĸĩ": 126854, + "ĠÐŁÐ°ÑĢи": 126855, + "ĠдекоÑĢаÑĤив": 126856, + "اختÛĮ": 126857, + "ĠÑģÑĤÑĢем": 126858, + "ãĥ»âĶģãĥ»âĶģãĥ»âĶģãĥ»âĶģ": 126859, + "ĠÑģамой": 126860, + "ÑĩÑĤо": 126861, + "ìĥģëĭ´": 126862, + "âī¤": 126863, + "ÑĤого": 126864, + "ëIJ¨": 126865, + "ılacak": 126866, + "ä¸Ńãģ«": 126867, + "ĠÏħÏĢάÏģÏĩοÏħν": 126868, + "ĠвÑĸдбÑĥ": 126869, + "çİ»çĴĥ": 126870, + "ĠвпеÑĢед": 126871, + "ĠPlzeÅĪ": 126872, + "گاب": 126873, + "à¹Ģศรษà¸IJ": 126874, + "ï¼ĮæľĢ": 126875, + "ÙħÙĨÛĮ": 126876, + "çħ§çīĩ": 126877, + "缮å½ķ": 126878, + "ÑĢиÑĤÑĤÑı": 126879, + "âĢĮاش": 126880, + "ĠëĮĢíļĮ": 126881, + "ĠÅĻadu": 126882, + "-ÑĤеÑħ": 126883, + "ĠÙĬÙĪ": 126884, + "Ġà¹ģà¸ŀ": 126885, + "اÙĥÙĨ": 126886, + "Ġ기ìŀIJ": 126887, + "ĠгÑĸд": 126888, + "Ġìļ°ë¦¬ëĬĶ": 126889, + "Ø´ÙħارÛĮ": 126890, + "Ġticari": 126891, + "âij¢": 126892, + "ĠاÙĦبد": 126893, + "ĠÑĢаÑģÑĩ": 126894, + "ĠاÙĦÛĮ": 126895, + "Ġsürede": 126896, + "Ġاعتر": 126897, + "ĠпонÑıÑĤÑĮ": 126898, + "γκο": 126899, + "ï¼Įæ¯Ķ": 126900, + "ĠSeb": 126901, + "Ġìĭłê·ľ": 126902, + "æĶ¶çĽĬ": 126903, + "ĠÙ¾ÛĮØ´ÙĨÙĩاد": 126904, + "ÎľÎijΤ": 126905, + "ë°ĶìĿ´": 126906, + "ä¾ĽåºĶ": 126907, + "бин": 126908, + "人æ°Ĺ": 126909, + "ãģıãĤī": 126910, + "ĠskvÄĽl": 126911, + "Ġëĵ±ìŀ¥": 126912, + "æĭħå½ĵ": 126913, + "Ġimkan": 126914, + "æĻ¨": 126915, + "ï¼Įçİ°åľ¨": 126916, + "Ġsrdce": 126917, + "ìĤ°ìĹħ": 126918, + "Ġмодели": 126919, + "æľ¬å½ĵãģ«": 126920, + "анка": 126921, + "Ġyürüy": 126922, + "ĠоÑĩевид": 126923, + "ĠØŃسÙĬÙĨ": 126924, + "ÑīаÑİÑĤ": 126925, + "lédl": 126926, + "ÑĨо": 126927, + "ĠcÃŃsa": 126928, + "ãģĭãģij": 126929, + "èĹį": 126930, + "ĠØ®ÙĪØ§ÙĩÙĨد": 126931, + "Ġmuže": 126932, + "Ġнакоп": 126933, + "diÄŁini": 126934, + "erseniz": 126935, + "ĠпÑĢаÑĨÑĸвникÑĸв": 126936, + "длÑı": 126937, + "ĠαÏĥÏĦ": 126938, + "æ¶Īè´¹": 126939, + "Ġè¨Ģ": 126940, + "Ġbát": 126941, + "ĠØ´ÙĥÙĦ": 126942, + "ĠÑģпиÑĢ": 126943, + "ÏĢοÏĦε": 126944, + "ĠساÙĦÙĩ": 126945, + "ekil": 126946, + "à¹ģà¸Ĭม": 126947, + "ĠÏĥÏĦι": 126948, + "ĠÙħØ·ÙĦب": 126949, + "Ġìłķì±ħ": 126950, + "ê´Ģê³Ħ": 126951, + "å¹¹ç·ļ": 126952, + "Ġ京": 126953, + "éĢļéģİ": 126954, + "ĠدÛĮگراÙĨ": 126955, + "ĠØ£Ùħا": 126956, + "æĺ¯ä¸į": 126957, + "ĠëĮĢëĭµ": 126958, + "ĠErk": 126959, + "perty": 126960, + "ĠнаÑĩинаеÑĤ": 126961, + "Ġ그리": 126962, + "룡": 126963, + "ĠìĽ¹ìĤ¬ìĿ´íĬ¸": 126964, + "ारन": 126965, + "æĦıè¯Ĩ": 126966, + "ĠÐ¡ÐŁ": 126967, + "ĠباÙĬد": 126968, + "Ġbakımından": 126969, + "/TT": 126970, + "ĠÙģØ§ØµÙĦÙĩ": 126971, + "ĠÙħØ«ÙĦا": 126972, + "Ġквад": 126973, + "ĠشاÛĮد": 126974, + "ĠuÄįitel": 126975, + "çν": 126976, + "ĠعرضÙĩ": 126977, + "Ġ交": 126978, + "ĠÑĩеÑģÑĤÑĮ": 126979, + "à¥Ī?Ċ": 126980, + "ĠخاÙĨÙħ": 126981, + "etiyle": 126982, + "Ġεγκα": 126983, + "ĠÑģÑĥÑīе": 126984, + "ĠìĿ¼ìĸ´": 126985, + "ĠÐĽÐµÐ½Ð¸": 126986, + "Ġ声": 126987, + "álie": 126988, + "ãĥ¡ãĥ¼ãĤ¸": 126989, + "à¥Ģतर": 126990, + "галÑĸ": 126991, + "ĠмÑĸнÑĸм": 126992, + "ĠEÅŁ": 126993, + "ĠпÑĢоизоÑĪ": 126994, + "ÐĿаÑģ": 126995, + "ĠبÙĨÛĮ": 126996, + "让æĪij": 126997, + "ĠпоÑģÑĤеп": 126998, + "ĠìļĶ구": 126999, + "ılıp": 127000, + "ĠجÙĪØ±": 127001, + "ĠëĮĢë¶Ģë¶Ħ": 127002, + "à¹ĩà¸ķาม": 127003, + "ĠÑĦаÑģ": 127004, + "Ġìłķê·ľ": 127005, + "ламенÑĤ": 127006, + "ÄŁen": 127007, + "à¥ĩà¤ĤĊĊ": 127008, + "ĠÐĺванов": 127009, + "ĠØŃÚ©Ùħ": 127010, + "Ġï¾ļ": 127011, + "ï¼»": 127012, + "Ġnevid": 127013, + "ĠлабоÑĢаÑĤоÑĢ": 127014, + "à¸ŀยาà¸ļาล": 127015, + "Ġediyorum": 127016, + "Ġhlavy": 127017, + "ĠEvropské": 127018, + "Ġphái": 127019, + "ãĥĵãĥ¼": 127020, + "ê´ijìĹŃìĭľ": 127021, + "äºľ": 127022, + "ØŃداث": 127023, + "ĠпÑĢоÑĦилакÑĤи": 127024, + "rostÅĻed": 127025, + "ĠмалÑĮ": 127026, + "Ġmüdür": 127027, + "اساس": 127028, + "ĠгалÑĥзÑĸ": 127029, + "à¸µà¸Ł": 127030, + "ĠغذاÛĮÛĮ": 127031, + "åŃIJä¾Ľ": 127032, + "Ġbahsed": 127033, + "ĠKrálové": 127034, + "åį»": 127035, + "Ġ%,": 127036, + "ç½Ĺæĸ¯": 127037, + "ëļ": 127038, + "Ġçij": 127039, + "ĠξεÏĦα": 127040, + "ĠÐŃÑĤи": 127041, + "ĠíĨµíķ©": 127042, + "Ġاکتبر": 127043, + "ĠmÄĽsÃŃce": 127044, + "ìĪĺë¡ľ": 127045, + "ÑĦÑĸк": 127046, + "ĠÐĴоз": 127047, + "ÑĩеÑģким": 127048, + "ìļ´ëĵľ": 127049, + "Ġnáklady": 127050, + "ĠпоÑĤÑĢап": 127051, + "ĠÑĢÑĥкаÑħ": 127052, + "ιλο": 127053, + "ĠGül": 127054, + "ë©ĺ": 127055, + "à¹īย": 127056, + "makt": 127057, + "ãĥ³ãĥIJãĥ¼": 127058, + "ĠнÑĸÑı": 127059, + "ĠоÑĤÑĤен": 127060, + "mesinin": 127061, + "ĠвÑģпом": 127062, + "ĠìĿ´ëĬĶ": 127063, + "dyby": 127064, + "ãĤ¿ãĥ³": 127065, + "âĹİ": 127066, + "à¹īาหà¸Ļ": 127067, + "ادگÛĮ": 127068, + "Ïĩία": 127069, + "ĠsnažÃŃ": 127070, + "Ġà¤ļà¤ķ": 127071, + "μήμα": 127072, + "ĠÙĥر": 127073, + "Ġκοι": 127074, + "é̏": 127075, + "Ġneust": 127076, + "ĠÙĨظاÙħÛĮ": 127077, + "åįļçī©": 127078, + "Ġë²½": 127079, + "á½±": 127080, + "Ġì¶ľìĭľ": 127081, + "Ġarmá": 127082, + "ĠÙĩÙħکارÛĮ": 127083, + "çļĦæĥħåĨµ": 127084, + "ÙĤاÙħ": 127085, + "ÙĤب": 127086, + "ĠéĤ£": 127087, + "Ġë§¡": 127088, + "Ġolası": 127089, + "βÎŃÏģ": 127090, + "ä½ķãģĭ": 127091, + "ĠÑĥÑĩеб": 127092, + "ĠвÑĥз": 127093, + "Ġبرگز": 127094, + "'yi": 127095, + "ĠпÑĢазд": 127096, + "ĠÐŀÑĢг": 127097, + "Ġå¹¶": 127098, + "ĠÑģви": 127099, + "ĠÙħÛĮداÙĨ": 127100, + "ĠnaÅ¡eho": 127101, + "ĠBAÅŀ": 127102, + "å»Ĭ": 127103, + "ÌĪ": 127104, + "ãģĵãģĿ": 127105, + "à¹ĩà¸Ļà¸ŀ": 127106, + "οÏģειο": 127107, + "ĠбагаÑĤ": 127108, + "γει": 127109, + "μείο": 127110, + "à¹Īà¸ĩà¸Ĭาà¸ķ": 127111, + "ĠHizmetleri": 127112, + "ĠAfrika": 127113, + "Ġtedbir": 127114, + ",、": 127115, + "ä¸ī级": 127116, + "ÐİÑĭÑŁNÐİÑĭÑŁN": 127117, + "ĠÐļÑĢÑĸм": 127118, + "Ġaray": 127119, + "Ġböylece": 127120, + "коÑĤ": 127121, + "éϰ": 127122, + "åĽ½éļĽ": 127123, + "tÄĽl": 127124, + "Ġpolis": 127125, + "Ġuvol": 127126, + "ĠìĪĺê°ķ": 127127, + "ç͵èĦij": 127128, + "Ġsami": 127129, + "ĠشاخÙĩ": 127130, + "ĠвÑģÑĮого": 127131, + "ĠØŃداÙĤÙĦ": 127132, + "Ġiken": 127133, + "ãĤ¯ãĥ©ãĥĸ": 127134, + "Ġzávod": 127135, + "बल": 127136, + "ë°°ìĨ¡": 127137, + "éĩĩè´Ń": 127138, + "볬": 127139, + "Ġ।ĊĊ": 127140, + "Ġê°ģê°ģ": 127141, + "Ġмак": 127142, + "ÏģαÏĥη": 127143, + "ĠiÅŁlemi": 127144, + "ãģĹãģ¦ãģĦãģ¾ãģĻ": 127145, + "ĠPek": 127146, + "Ñİн": 127147, + "Ġvelkou": 127148, + "åĬŀçIJĨ": 127149, + "å®ĥ们": 127150, + "ĠèIJ¬": 127151, + "ĠнаÑĢодÑĥ": 127152, + "Ġchó": 127153, + "ĠHiç": 127154, + "Û³Ûµ": 127155, + "Ġรà¸Ńà¸ļ": 127156, + "Û³Û¶": 127157, + "à¸Ĥว": 127158, + "ä½įæĸ¼": 127159, + "ĠСÑĤа": 127160, + "ัà¸Ļม": 127161, + "ापà¤ķ": 127162, + "ĠÑĥÑĢок": 127163, + "ãĤ¢ãĥ¡ãĥªãĤ«": 127164, + "Ġзмож": 127165, + "skému": 127166, + "Ġè»Ĭ": 127167, + "ĠاختÛĮار": 127168, + "ĠPÅĺ": 127169, + "лÑıв": 127170, + "Ġмаз": 127171, + "ĠözelliÄŁi": 127172, + "åij¼ãģ°": 127173, + "Ġbirinin": 127174, + "Ġодне": 127175, + "ÌĨ": 127176, + "ä»ĸãģ®": 127177, + "建ç¯ī": 127178, + "поÑģеÑĢед": 127179, + "หลà¸Ķ": 127180, + "å¤ļãģĦ": 127181, + "ÏĦήÏĥειÏĤ": 127182, + "ĠرÙĪÙĨد": 127183, + "èģ½": 127184, + "ì¤ijìĹIJ": 127185, + "ìĬ¤íĭ°": 127186, + "ĠзвÑĸÑĤ": 127187, + "ĠаÑĢÑĤи": 127188, + "Ġcưá»Ŀi": 127189, + "ındır": 127190, + "Ġголод": 127191, + "ازد": 127192, + "à¹Īาวว": 127193, + "ãĥ¡ãĥ©": 127194, + "عÙĨÙĪØ§ÙĨ": 127195, + "%)Ċ": 127196, + "ĠÑħолодилÑĮ": 127197, + "人们": 127198, + "Cİ": 127199, + "ÐĹап": 127200, + "ĠpÅĻisp": 127201, + "Ġdurumlarda": 127202, + "ÑĢÑĸд": 127203, + "ÂłÐ£": 127204, + "ĠεÏĨαÏģ": 127205, + "Ġsprav": 127206, + "ĠоÑĤÑĢиманнÑı": 127207, + "ï¼Į没æľī": 127208, + "овала": 127209, + "Ġngại": 127210, + "ãĢĤ大": 127211, + "ĠдаеÑĤ": 127212, + "ĠpÃŃsem": 127213, + "ÑĨÑıÑĤÑĮ": 127214, + "ovnÄĽ": 127215, + "ë¦ī": 127216, + "Ġê²ģ": 127217, + "ÑģÑĤин": 127218, + "ĠSayı": 127219, + "ãĢĭçļĦ": 127220, + "Ġyoluyla": 127221, + "елеÑĦон": 127222, + "Ġráno": 127223, + "ĠíĸīëıĻ": 127224, + "ĠاÙĦخاÙħسة": 127225, + "Ġповинна": 127226, + "ÅĻila": 127227, + "Ġà¤ļरण": 127228, + "Ġبرگزار": 127229, + "ìļ´ëį°": 127230, + "à¹Ģà¸Ľà¸Ńร": 127231, + "Ġdaleko": 127232, + "lednÃŃ": 127233, + "åIJį稱": 127234, + "ливÑĸÑģÑĤÑĮ": 127235, + "Ġ몸ìĿĦ": 127236, + "оÑĢÑĸв": 127237, + "Це": 127238, + "بدأ": 127239, + "ë°ĺ기": 127240, + "krát": 127241, + "ä¸įè¶³": 127242, + "Ġoldukları": 127243, + "leniyor": 127244, + "Ġìĭľíĸī": 127245, + "ĠпÑĢинимаÑĤÑĮ": 127246, + "à¸Ĥà¸Ńà¸ĩร": 127247, + "ÏĪει": 127248, + "Ġẩn": 127249, + "تس": 127250, + "ĠÑĤай": 127251, + "Ġневозможно": 127252, + "åıĬãģ³": 127253, + "roti": 127254, + "ï½Ń": 127255, + "дом": 127256, + "ойно": 127257, + "å£Ĭ": 127258, + "说çļĦ": 127259, + "Ġskoro": 127260, + "niÄįnÃŃ": 127261, + "ĠProfes": 127262, + "ĠÑħÑĢониÑĩеÑģ": 127263, + "Ġ주문": 127264, + "ĠZn": 127265, + "ĠÑģлой": 127266, + "ÎłÏģο": 127267, + "æĮĩæķ°": 127268, + "ĠпеÑĢеÑĪ": 127269, + "à¥ģà¤ķस": 127270, + "Ġê°Ģìłķ": 127271, + "Ġíķĺë©´": 127272, + "Û±Û¹Û´": 127273, + "кÑĥл": 127274, + "ÙĬÙĦا": 127275, + "ĠدÙĪØ¨Ø§Ø±Ùĩ": 127276, + "|l": 127277, + "ĠÐľÑĥ": 127278, + "нила": 127279, + "ãģ¦ãģĦãģ¾ãģĻ": 127280, + "macı": 127281, + "ãģŁãģ¡ãģ¯": 127282, + "ĠاÙĦÙĥتاب": 127283, + "ç§»åĭķ": 127284, + "λμ": 127285, + "_ï¼ı": 127286, + "Ġê°Ģìŀħ": 127287, + "èħ¾": 127288, + "ĠпÑĢезиденÑĤ": 127289, + "Ġë¶Ħìķ¼": 127290, + "ahy": 127291, + "Å¡etÅĻenÃŃ": 127292, + "éĵº": 127293, + "ĠpÅĻÃŃro": 127294, + "ÐķТ": 127295, + "ĠìļĶì²Ń": 127296, + "Ġmohlo": 127297, + "å¿ĥçIJĨ": 127298, + "Ġvysoké": 127299, + "ü": 127300, + "ÏĦικα": 127301, + "ìĹħì²´": 127302, + "ãģ§ãģĤ": 127303, + "รายà¸ĩาà¸Ļ": 127304, + "ĠpÅĻÃŃspÄĽv": 127305, + "ĠetmiÅŁtir": 127306, + "她们": 127307, + "ÏĢλα": 127308, + "ứa": 127309, + "Ġ说": 127310, + "ĠÑģоÑģед": 127311, + "åĩī": 127312, + "ĠÐłÐµ": 127313, + "åİŁæĿ¥": 127314, + "ĠÐIJÑĢÑħ": 127315, + "بÙĬÙĨ": 127316, + "åľ°è¯´": 127317, + "Ġört": 127318, + "ĠΣεÏĢ": 127319, + "ÂŃÙĩاÛĮ": 127320, + "ĠاÙĦاÙĤتص": 127321, + "尽管": 127322, + "ÑĤÑĭй": 127323, + "tains": 127324, + "ÙĢÙĦ": 127325, + "ç§ijæĬĢæľīéĻIJåħ¬åı¸": 127326, + "æı®": 127327, + "ัà¸ķà¸ĸ": 127328, + "á»Ĺng": 127329, + "ลาà¸Ķ": 127330, + "æļ®": 127331, + "ĠÙĨÙ쨳Ùĩ": 127332, + "Ġçľĭ": 127333, + "Ġãģ¿": 127334, + "Ġtarım": 127335, + "Û±Û¹Ûµ": 127336, + "ĠÎĬ": 127337, + "Ġkomplex": 127338, + "ĠNhÄ©": 127339, + "è´¹ç͍": 127340, + "ĠکاربراÙĨ": 127341, + "ÅĪovánÃŃ": 127342, + "Ġků": 127343, + "дап": 127344, + "ÎķΧ": 127345, + "ê·¸ëŀĺ": 127346, + "Ġdöndü": 127347, + "人åĵ¡": 127348, + "ĠTiá»ĥu": 127349, + "ĠÙĪÛĮراÛĮØ´": 127350, + "Ġöngör": 127351, + "ĠÙĪØºÙĬر": 127352, + "ĠÑģкÑĢÑĭ": 127353, + "âĢIJ'": 127354, + "ĠнемÑĥ": 127355, + "ĠHá»ĩ": 127356, + "Ġdüzenli": 127357, + "ĠsoutÄĽÅ¾e": 127358, + "ãĢģãĥŀ": 127359, + "ÏĦομα": 127360, + "ÄĽlÃŃ": 127361, + "ĠØ£ÙĦÙħاÙĨ": 127362, + "çł²": 127363, + "ĠtrÃł": 127364, + "Ġä¸ĸçķĮ": 127365, + "ayız": 127366, + "ımlı": 127367, + "ĠاÙĦØ£Ùģ": 127368, + "íķĺëĬĶëį°": 127369, + "вано": 127370, + "ĠpÅĻiÄįemž": 127371, + "ÙĥÙĬب": 127372, + "ĠмаÑĤемаÑĤи": 127373, + "мени": 127374, + "ĠпÑĢоекÑĤÑĥ": 127375, + "ีà¹Ĥà¸Ń": 127376, + "оÑĥ": 127377, + "ĠاÙĦشرÙĥØ©": 127378, + "æ³£": 127379, + "ÙĪÙĤÙĬت": 127380, + "ÑĪив": 127381, + "Ġpersonel": 127382, + "شتر": 127383, + "à¸Ķา": 127384, + "Ġ몽": 127385, + "åĿIJåľ¨": 127386, + "оке": 127387, + "Ġë§Īë²ķ": 127388, + "ĠØ£ÙĨا": 127389, + "ëłµ": 127390, + "ĠÙħباÙĨÛĮ": 127391, + "èĭ¹æŀľ": 127392, + "Ġศร": 127393, + "ĠÐĽÑĥÑĩ": 127394, + "ÎŁÎ¥Î£": 127395, + "ĠÄįá": 127396, + "ãģĽãģ¦": 127397, + "ĠkÄ±ÅŁ": 127398, + "ÑĪев": 127399, + "æĮĩ导": 127400, + "à¹ģละม": 127401, + "Ġvoleb": 127402, + "ĠÑģилÑĭ": 127403, + "Ġdruhou": 127404, + "Ġì°¬": 127405, + "ĠìŀĪìĿĮ": 127406, + "ΥΣ": 127407, + "ä¸įå®ī": 127408, + "ĠìĹĨìĿĮ": 127409, + "Ġdeterm": 127410, + "ĠاÙĦÙħعÙĦÙĪÙħات": 127411, + "íĺ¹": 127412, + "âĻ¡": 127413, + "à¥įबन": 127414, + "Ġخشک": 127415, + "ĠNová": 127416, + "ĠÑĦÑĥндаменÑĤ": 127417, + "ĠпÑĢогÑĢами": 127418, + "ĠعÙĦÙĬÙĥ": 127419, + "।ĊĊ": 127420, + "Ġveriyor": 127421, + "ĠÑĶв": 127422, + "ĠìŀĪëĭ¤ê³ł": 127423, + "ĠاÙĦØ£ÙħرÙĬÙĥÙĬ": 127424, + "Ġå¤ĸéĥ¨ãĥªãĥ³ãĤ¯": 127425, + "Ġä¿®": 127426, + "ĠпÑĥÑĤи": 127427, + "ĠοÏģγ": 127428, + "ĠоÑģновном": 127429, + "ĠнаÑĢÑĥж": 127430, + "ĠмиÑĢе": 127431, + "ovÄĽt": 127432, + "ĠíĥIJ": 127433, + "Ġsokak": 127434, + "Ġspolupráci": 127435, + "ÐĶÐļ": 127436, + "Ġåĺ": 127437, + "âĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸį": 127438, + "Ġ³³³³": 127439, + "Ġhayır": 127440, + "ĠìĻĶ": 127441, + "æĤ¨çļĦ": 127442, + "æĮº": 127443, + "Ġ민주": 127444, + "Ġhotelu": 127445, + "à¸µà¸ľ": 127446, + "ìŀIJëıĻ": 127447, + "ä¼¼çļĦ": 127448, + "ÎŃνÏĦÏģο": 127449, + "Ø´ÙĪ": 127450, + "Ġé¤": 127451, + "Ġλι": 127452, + "Ġolmaktadır": 127453, + "ĠоÑģвеÑī": 127454, + "Ġвина": 127455, + "Ġخاصة": 127456, + "rana": 127457, + "γÏģαÏĨή": 127458, + "ÑĨеÑģ": 127459, + "ĠdoÄŁrult": 127460, + "ĠÙĤرارداد": 127461, + "ĠÐļал": 127462, + "ê²½ìłľ": 127463, + "ÏĩÏĮ": 127464, + "ÑĥÑİÑīий": 127465, + "ëĭĺìĿ´": 127466, + "ëĮ": 127467, + "лаз": 127468, + "Ġngừng": 127469, + "isku": 127470, + "ìĦłê±°": 127471, + "ĠÑįлекÑĤÑĢон": 127472, + "ĠVoj": 127473, + "нÑıми": 127474, + "ĠÙĪØ£ÙĨ": 127475, + "äºŃ": 127476, + "ç»Łè®¡": 127477, + "ĠÅŁiÅŁ": 127478, + "ãĢįçļĦ": 127479, + "æŃ¯": 127480, + "Ġколлек": 127481, + "Ġдвиж": 127482, + "Ġná»Ńa": 127483, + "ÄįasÃŃ": 127484, + "Ġsonu": 127485, + "ĠмеÑħанÑĸз": 127486, + "žený": 127487, + "ĠзаÑģÑĤÑĥп": 127488, + "ê´Ģ볨": 127489, + "ĠÑĤоваÑĢÑĸв": 127490, + "Ġì¼ĢìĿ´": 127491, + "à¥ģà¤Ĺत": 127492, + "Ġzásob": 127493, + "мовÑĸÑĢ": 127494, + "ufac": 127495, + "ůležit": 127496, + "ĠвигоÑĤов": 127497, + "ĠاÙĦÙĨÙĪ": 127498, + "ĠعاÙħا": 127499, + "æģ¨": 127500, + "ĠìĿ´ë¯¸ì§Ģ": 127501, + "ĠtvoÅĻ": 127502, + "ĠvyužitÃŃ": 127503, + "ĠgeliÅŁim": 127504, + "쳤ëĭ¤": 127505, + "หà¸Ļà¸Ńà¸ĩ": 127506, + "ĠìĿ¸ìłķ": 127507, + "à¥įदर": 127508, + "ĠпеÑĢеда": 127509, + "ĠздÑĸйÑģненнÑı": 127510, + "ÙĨع": 127511, + "è¡£æľį": 127512, + "Ġloa": 127513, + "íĻĪ": 127514, + "èĭ±åĽ½": 127515, + "ĠDruh": 127516, + "خاÙĨ": 127517, + "дам": 127518, + "аÑĤелÑĮнÑĭÑħ": 127519, + "θÏģÏİ": 127520, + "ĠØ£Ùħر": 127521, + "ĠÅĻada": 127522, + "ĠbuluÅŁ": 127523, + "ĠÑĤÑĢанÑģпоÑĢ": 127524, + "ĠÙĤتÙĦ": 127525, + "ĠTarif": 127526, + "Rus": 127527, + "ĠзаÑģÑĸд": 127528, + "Ġİh": 127529, + "leyin": 127530, + "Ġvyrá": 127531, + "ĠDÄĽ": 127532, + "ибли": 127533, + "avou": 127534, + "ĠÐĵеÑĢм": 127535, + "немÑĥ": 127536, + "ĠконÑĨеп": 127537, + "ĠÙĤادر": 127538, + "Ġsoubor": 127539, + "Ġlá»iji": 127540, + "ĠçµIJ": 127541, + "леннÑĭй": 127542, + "κÏħ": 127543, + "Ġдопомаг": 127544, + "à¸ŀวà¸ģà¹Ģà¸Ĥ": 127545, + "Ġquang": 127546, + "ĠØ·ÙĦا": 127547, + "ĠéĩĮ": 127548, + "ĠÙĨÙħÙĪØ¯Ø§Ø±": 127549, + "ĠÅŁar": 127550, + "ĠÑģпÑĸл": 127551, + "ÂŃn": 127552, + "ì§ĢìļĶ": 127553, + "åīįå¾Ģ": 127554, + "åħ³éĶ®": 127555, + "å®ŀåľ¨": 127556, + "éŁ³æ¥½": 127557, + "ĠÙħسئÙĦÙĩ": 127558, + "Ġyeme": 127559, + "ĠÑĪаÑħ": 127560, + "기ìĪł": 127561, + "Ġสำà¸Ļ": 127562, + "ĠÙĪØ±Ø²Ø´ÛĮ": 127563, + "ãģĹãģŁãĤī": 127564, + "ίÏĥÏī": 127565, + "окон": 127566, + "ãģŁãĤī": 127567, + "ĠØ¥ÙĦÙĬÙĩ": 127568, + "Ġآذرب": 127569, + "Ġrá»Ŀi": 127570, + "Ġodak": 127571, + "ĠмогÑĥ": 127572, + "ĠÚ¯ÙĨ": 127573, + "è²¼": 127574, + "edla": 127575, + "ĠопÑĭÑĤ": 127576, + "lamaktadır": 127577, + "å°¼äºļ": 127578, + "éĥ½ä¼ļ": 127579, + "ĠÎĺεÏĥÏĥα": 127580, + "Ġвог": 127581, + "ç»Īäºİ": 127582, + "ĠÑĥÑĢовне": 127583, + "Ġvlak": 127584, + "ĠØ¢ÙĦØ©": 127585, + "Ġειδ": 127586, + "âĩ": 127587, + "дÑĥÑĤ": 127588, + "Ñĸнг": 127589, + "ĠØ£ÙħرÙĬÙĥÙĬ": 127590, + "ازÙĨد": 127591, + "ĠباÙĦØ£": 127592, + "Ġतन": 127593, + "Ġkaydet": 127594, + "룬리": 127595, + "Ġdrž": 127596, + "ĠпенÑģ": 127597, + "ĠpÅĻÃŃÄį": 127598, + "ĠТолÑĮко": 127599, + "ĠбаÑĤаÑĢ": 127600, + "éĵģè·¯": 127601, + "ĠÙ¾ÛĮÚĨ": 127602, + "ĠÎĵεÏī": 127603, + "ĠαÏħÏĦά": 127604, + "ÄŀI": 127605, + "ĠакÑĤивно": 127606, + "ÎĹÎľÎij": 127607, + "Ġvarlık": 127608, + "Ġåıª": 127609, + "ĠзаÑīиÑĤÑĭ": 127610, + "лим": 127611, + "ĠÙħشاÙĩدة": 127612, + "иком": 127613, + "Ġì¡°ìĤ¬": 127614, + "оген": 127615, + "Ġmấy": 127616, + "gii": 127617, + "èĽĩ": 127618, + "ĠØ®ÙĪÛĮØ´": 127619, + "Ġnová": 127620, + "ковой": 127621, + "Ġkanıt": 127622, + "éĿ¢è®®": 127623, + "ĠرÙĪØ³ØªØ§": 127624, + "ìĸ´ê°Ģ": 127625, + "ĠоÑĤноÑĪениÑı": 127626, + "Ġhodnoty": 127627, + "ÙĪØ±Ø§Øª": 127628, + "ĠpÅĻÃŃst": 127629, + "Ġthá»į": 127630, + "Ġçıkart": 127631, + "ообÑĢаз": 127632, + "ĠnemÄĽl": 127633, + "Âłro": 127634, + "ĠدÙĪÙĦتÛĮ": 127635, + "ี,": 127636, + "ä¸Ģ度": 127637, + "iaomi": 127638, + "åĹİ": 127639, + "Ùıع": 127640, + "ĠваÑĢиан": 127641, + "ĠpodaÅĻilo": 127642, + "ĠëĤĺê°Ģ": 127643, + "èIJ¥ä¸ļ": 127644, + "ĠабÑģолÑİÑĤно": 127645, + "Ġë¸ĮëĿ¼": 127646, + "ĠгоÑĢиз": 127647, + "aģın": 127648, + "Ġyerini": 127649, + "à¹īาà¸Ļà¸Ķ": 127650, + "æIJ¬": 127651, + "Ġbalık": 127652, + "ĠÅŁans": 127653, + "认è¯Ĩ": 127654, + "ĠistediÄŁiniz": 127655, + "ĠjistÄĽ": 127656, + "ĠìĪĺê°Ģ": 127657, + "ï¼Įä¸Ĭ": 127658, + "à¤ľà¤¬": 127659, + "ĠвиÑıви": 127660, + "ë§¥": 127661, + "ãģĹãģ¦ãĤĭ": 127662, + "ÙĬÙĥا": 127663, + "ĠHüs": 127664, + "cının": 127665, + "Ġशत": 127666, + "ĠÑĢаÑģполаг": 127667, + "ĠÑģпÑĢавж": 127668, + "ืà¸Ńà¸ĸ": 127669, + "ĠвеÑĢÑĤик": 127670, + "Ġvystav": 127671, + "ĠÑĢеалÑĸзаÑĨÑĸÑĹ": 127672, + "вами": 127673, + "ãĤ¹ãĥĨãĤ£": 127674, + "ëħģ": 127675, + "ĠÑĢеÑĩÑĸ": 127676, + "Ù쨧ÙĦ": 127677, + "िà¤ķà¤Ł": 127678, + "ĠвозÑĢаÑģÑĤе": 127679, + "каÑģ": 127680, + "ĠÐĺÑģ": 127681, + "ĠлÑĸк": 127682, + "ĠÏĥημαν": 127683, + "менÑĤÑĥ": 127684, + "нÑıÑİÑĤ": 127685, + "æŁ´": 127686, + "ĠθεÏī": 127687, + "çĬ¯ç½ª": 127688, + "ĠÙĤطر": 127689, + "ÐĶÐIJ": 127690, + "-|": 127691, + "ĠÑģÑĤÑĸ": 127692, + "Ġuyum": 127693, + "ĠpotÅĻeba": 127694, + "ĠعÙħÙĦÛĮات": 127695, + "奪": 127696, + "اخر": 127697, + "ĠکساÙĨÛĮ": 127698, + "تÙħر": 127699, + "ÑĮеÑĢ": 127700, + "ĠNez": 127701, + "íļĮìĤ¬": 127702, + "ĠBankası": 127703, + "егÑĢа": 127704, + "à¸Ĥà¸ĵะà¸Ĺ": 127705, + "åIJĪæł¼": 127706, + "ĠìŬ룬ë¶Ħ": 127707, + "yasal": 127708, + "Ġè¡ĮæĶ¿": 127709, + "åĬī": 127710, + "dıktan": 127711, + "ãĤ¢ãĥ«ãĥIJ": 127712, + "ĠاÛĮÙĨÚĨ": 127713, + "Ġdijital": 127714, + "å°ĺ": 127715, + "ĠÑĢазмеÑī": 127716, + "ĠкÑĸлÑĮкоÑģÑĤÑĸ": 127717, + "ĠEvropy": 127718, + "ĠÑĢозви": 127719, + "ÑİÑīÑĥÑİ": 127720, + "Ġong": 127721, + "Ġhepsi": 127722, + "vailability": 127723, + "ĠتصÙħÙĬÙħ": 127724, + "ÑĥйÑĤе": 127725, + "हल": 127726, + "ĠÅ¡iro": 127727, + "Ġpás": 127728, + ";;;;;;": 127729, + "éħįåIJĪ": 127730, + "ĠاÙĦعاÙĦÙħÙĬØ©": 127731, + "ÐĴо": 127732, + "haf": 127733, + "láv": 127734, + "Ġbì": 127735, + "Ġmůj": 127736, + "ê»ĺìĦľ": 127737, + "ÂłBf": 127738, + "ĠÑģпÑĢоÑģил": 127739, + "âĢĮÚ©ÙĨÙĨدÙĩ": 127740, + "ÙĨدÙĬØ©": 127741, + "çī¹èī²": 127742, + "Ġìķ¨": 127743, + "ุษย": 127744, + "ĠФоÑĢ": 127745, + "пиÑģок": 127746, + "užel": 127747, + "ımlar": 127748, + "çĬ¶æ³ģ": 127749, + "Ġãĥ¬ãĥĩãĤ£ãĥ¼ãĤ¹": 127750, + "Ñħови": 127751, + "ÂłKÄį": 127752, + "Ñĩим": 127753, + "ĠتÙĪÙħ": 127754, + "à¹Ģà¸ģษà¸ķร": 127755, + "Ġìĭ±ê¸Ģ": 127756, + "Ùħارات": 127757, + "ênh": 127758, + "ĠÅĻid": 127759, + "æĬ¬": 127760, + "ÑģиÑİ": 127761, + "æħİ": 127762, + "Ġçevre": 127763, + "ãĥĪãĥ«": 127764, + "Ġyıldır": 127765, + "Ġzáznam": 127766, + "æľºåľº": 127767, + "ĠпоÑĶ": 127768, + "ĠвÑĭÑĢаÑīи": 127769, + "ĠÙ쨹": 127770, + "ë»": 127771, + "ĠدارÛĮÙħ": 127772, + "ï¼ĮæĽ´": 127773, + "Ġземли": 127774, + "ابÙĤات": 127775, + "Ġmá»Ŀi": 127776, + "kých": 127777, + "ÙĦاة": 127778, + "帽": 127779, + "براÙĩÙĬÙħ": 127780, + "ĠпобаÑĩ": 127781, + "ाà¤ĩम": 127782, + "à¹Īาà¸ĩà¸Ľà¸£à¸°à¹Ģà¸Ĺศ": 127783, + "ĠìĦ¸ìĥģ": 127784, + "ĠпомогаеÑĤ": 127785, + "ĠÏĦÏĮÏĥο": 127786, + "æĸ·": 127787, + "ĠÙģØ±Ø§ÙĪ": 127788, + "à¹Ħà¸Ľà¸¢": 127789, + "ergisi": 127790, + "ĠéĻIJ": 127791, + ".xz": 127792, + "ĠÑģлÑĥÑħ": 127793, + "економ": 127794, + "ĠNhất": 127795, + "±ط": 127796, + "ĠëĪĪìĿĦ": 127797, + "ĠíļĮìĤ¬": 127798, + "Ñĵ": 127799, + "ĠåIJįçĦ¡ãģĹ": 127800, + "Ġομάδα": 127801, + "ĩĮ": 127802, + "liÄŁinin": 127803, + "عاÙĨ": 127804, + "ĠزÙĨÛĮ": 127805, + "Tôi": 127806, + "Ġetki": 127807, + "ĠìŰëĿ½": 127808, + "ĠконÑĨа": 127809, + "è°ĭ": 127810, + "ĠземлÑı": 127811, + "íĻĺê²½": 127812, + "ĠÙħکاÙĨÛĮ": 127813, + "çĸ²": 127814, + "Ġç¢": 127815, + "Ġkurulan": 127816, + "ؤÙĪÙĦ": 127817, + "دÙī": 127818, + "ĠاÙĦÙħÙĨØ·ÙĤØ©": 127819, + "Ġnắng": 127820, + "ÐŁÐļ": 127821, + "олай": 127822, + "YK": 127823, + "åijĨ": 127824, + "λαν": 127825, + "西çľģ": 127826, + "ĠÎĴαÏĥ": 127827, + "ĠíĻķìĭ¤": 127828, + "ZD": 127829, + "пÑĸд": 127830, + "ĠнаÑĩе": 127831, + "ĠÏĦά": 127832, + "å½»": 127833, + "âĢŀD": 127834, + "Ġèĩº": 127835, + "ĠнаÑĪей": 127836, + "ĠtÃŃmto": 127837, + "ĠتسÙħ": 127838, + "ÏģθÏģο": 127839, + "令人": 127840, + "ĠPazar": 127841, + "ãĤĵãģ¨": 127842, + "ç«ĭåĪ»": 127843, + "Âģ@": 127844, + "Ġbắc": 127845, + "ìĬ¤íħĮ": 127846, + "Ġkadınlar": 127847, + "figur": 127848, + "ãģ¤ãģ¶": 127849, + "ĠæµĻæ±Ł": 127850, + "ĠдекÑĸлÑĮ": 127851, + "è¡Ŀ": 127852, + "ยà¸Ļà¹ģà¸Ľà¸¥à¸ĩ": 127853, + "olet": 127854, + "Ġnedok": 127855, + "namen": 127856, + "åħĦå¼Ł": 127857, + "ืà¸Ńà¸Ĥ": 127858, + "èĤĥ": 127859, + "Ġbüny": 127860, + "ĠÑĢадÑıн": 127861, + "ãĢģäºĮ": 127862, + "аннÑİ": 127863, + "Ġæīĭæľº": 127864, + "ĠоÑģлож": 127865, + "ĠоглÑı": 127866, + "Ġسبز": 127867, + "Ġaktivit": 127868, + "Ġà¤ıप": 127869, + "竾": 127870, + "Ġdiren": 127871, + "iв": 127872, + "ĠYatırım": 127873, + "ÑĨÑĸйна": 127874, + "Ġдомов": 127875, + "ẳn": 127876, + "ĠCoÄŁraf": 127877, + "ÙģÙĪ": 127878, + "æ°Ĺãģ«åħ¥": 127879, + "ç§ģãģ®": 127880, + "ï½į": 127881, + "à¥Įड": 127882, + "ĠÐĵÑĢигоÑĢ": 127883, + "ĠPeygamber": 127884, + "Ġαγα": 127885, + "Ġefekt": 127886, + "ĠìŀĪìĸ´ìĦľ": 127887, + "ĠплаÑĤеж": 127888, + "ĠTrab": 127889, + "overy": 127890, + "â̦â̦ãĢĤ": 127891, + "Ġyapmaya": 127892, + "ĠнайбÑĸлÑĮ": 127893, + "ĠÙħÙĨزÙĦ": 127894, + "ÙĪÙĬÙĥ": 127895, + "ıldıģında": 127896, + "ĠpÅĻÃŃpadnÄĽ": 127897, + "ĠμÏĢοÏģοÏį": 127898, + "ĠëĵľëĿ¼ë§Ī": 127899, + "Ġ방문": 127900, + "ĠСим": 127901, + "کات": 127902, + "еком": 127903, + "رÙĬع": 127904, + "ÙĩدÙģ": 127905, + "æĹıèĩªæ²»": 127906, + "ĠzmÄĽn": 127907, + "Ġвклад": 127908, + "ĠبÙĦغ": 127909, + "Ġç§ĭ": 127910, + "Ngh": 127911, + "ĠendiÅŁ": 127912, + "ĠCumhurbaÅŁkanı": 127913, + "ĠKaf": 127914, + "Ġà¹ģหล": 127915, + "Ġmutlu": 127916, + "ĠÑģиÑĢ": 127917, + "ĠгÑĥм": 127918, + "æ¿ĥ": 127919, + "çĤī": 127920, + "ĠBáo": 127921, + "à¥Ĥष": 127922, + "ĠìłķíĻķ": 127923, + "ानस": 127924, + "ﻤ": 127925, + "наÑģлÑĸдок": 127926, + "poÄįet": 127927, + "ë§ĮìĽIJìŀħëĭĪëĭ¤": 127928, + "ĠìĦľìļ¸íĬ¹ë³Ħìĭľ": 127929, + "ÎķÎĻΣ": 127930, + "ุมà¸Ĭà¸Ļ": 127931, + "ĠмÑĸлÑĮ": 127932, + "æħĮ": 127933, + "ÏĥκεÏĦαι": 127934, + "ĠãĢľ": 127935, + "Ġkaliteli": 127936, + "ĠÑģмеÑĢÑĤÑĮ": 127937, + "è¼Ķ": 127938, + "ĠбиÑĤ": 127939, + "ĠΣÏĦο": 127940, + "à¸ĩà¹Ģศส": 127941, + "åİŁæľ¬": 127942, + "ĠknÃŃ": 127943, + "äºĴèģĶç½ij": 127944, + "ĠÑĩеловеÑĩеÑģ": 127945, + "çŃĴ": 127946, + "à¸Īำหà¸Ļ": 127947, + "åĩºåİ»": 127948, + "ãĤ¢ãĥĭãĥ¡": 127949, + "å±ķ示": 127950, + "rych": 127951, + "à¤ħब": 127952, + "oÅĪ": 127953, + "jÃŃcÃŃm": 127954, + "اØŃØ«": 127955, + "ĠÙĪØ§ÙĤعÛĮ": 127956, + "ĠФедеÑĢалÑĮ": 127957, + "Ñģам": 127958, + "Ġìĺ¥": 127959, + "åľ°çIJĥ": 127960, + "Ġsuyu": 127961, + "seniz": 127962, + "à¥īफ": 127963, + "Ġê°Ļëĭ¤": 127964, + "ĠпÑĢизнаÑĩеннÑı": 127965, + "ĠSın": 127966, + "ĠاÙħÙĨÛĮت": 127967, + "Ġlátky": 127968, + "ĠÐijи": 127969, + "Ġsüreci": 127970, + "····": 127971, + "Ġ경찰": 127972, + "ĠкалÑĮ": 127973, + "ĠникÑĤо": 127974, + "ÙijÙħ": 127975, + "ĠدÙĬگر": 127976, + "Ġalınması": 127977, + "леннÑĸ": 127978, + "ิวà¹Ģà¸ķà¸Ńร": 127979, + "à¸Ľà¸ģà¸Ħรà¸Ńà¸ĩ": 127980, + "ĠзаконодавÑģÑĤва": 127981, + "ãĢĢãĤ¤": 127982, + "Ġëħ¸íķĺìļ°": 127983, + "ĠDÃ¼ÅŁ": 127984, + "ĠгÑĥÑģÑĤ": 127985, + "ĠÐĴаÑĪ": 127986, + "ĠاÙħتÛĮ": 127987, + "Ġparamet": 127988, + "ĠÎłÎ±Î½ÎµÏĢ": 127989, + "à¹Įà¸ģร": 127990, + "ζα": 127991, + "ĠëįĶìļ±": 127992, + "ÙĪÙĦات": 127993, + "ваÑĤиÑģÑı": 127994, + "Ġkök": 127995, + "ÙĨب": 127996, + "ĠвÑĭÑģокой": 127997, + "ãĥ¼ãĥ¼": 127998, + "éͦ": 127999 + }, + "merges": [ + "Ġ Ġ", + "Ġ ĠĠĠ", + "ĠĠ ĠĠ", + "ĠĠĠ Ġ", + "i n", + "Ġ t", + "Ġ ĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠ ĠĠ", + "e r", + "Ġ ĠĠ", + "ĠĠ Ġ", + "o n", + "Ġ a", + "r e", + "a t", + "s t", + "e n", + "o r", + "Ġ th", + "Ġt h", + "Ċ Ċ", + "Ġ c", + "l e", + "Ġ s", + "i t", + "a n", + "a r", + "a l", + "Ġ the", + "Ġt he", + "Ġth e", + "; Ċ", + "Ġ p", + "Ġ f", + "o u", + "Ġ =", + "i s", + "Ġ ĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠ", + "ĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠ Ġ", + "i ng", + "in g", + "e s", + "Ġ w", + "i on", + "io n", + "e d", + "i c", + "Ġ b", + "Ġ d", + "e t", + "Ġ m", + "Ġ o", + "ĉ ĉ", + "r o", + "a s", + "e l", + "c t", + "n d", + "Ġ in", + "Ġi n", + "Ġ h", + "e nt", + "en t", + "i d", + "Ġ n", + "a m", + "Ġ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ to", + "Ġt o", + "Ġ re", + "Ġr e", + "- -", + "Ġ {", + "Ġ of", + "Ġo f", + "o m", + ") ;Ċ", + "); Ċ", + "i m", + "č Ċ", + "Ġ (", + "i l", + "/ /", + "Ġ and", + "Ġa nd", + "Ġan d", + "u r", + "s e", + "Ġ l", + "e x", + "Ġ S", + "a d", + "Ġ \"", + "c h", + "u t", + "i f", + "* *", + "Ġ }", + "e m", + "o l", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "t h", + ") Ċ", + "Ġ {Ċ", + "Ġ{ Ċ", + "Ġ g", + "i g", + "i v", + ", Ċ", + "c e", + "o d", + "Ġ v", + "a te", + "at e", + "Ġ T", + "a g", + "a y", + "Ġ *", + "o t", + "u s", + "Ġ C", + "Ġ st", + "Ġs t", + "Ġ I", + "u n", + "u l", + "u e", + "Ġ A", + "o w", + "Ġ '", + "e w", + "Ġ <", + "a tion", + "at ion", + "atio n", + "ati on", + "( )", + "Ġ for", + "Ġf or", + "Ġfo r", + "a b", + "o rt", + "or t", + "u m", + "a me", + "am e", + "Ġ is", + "Ġi s", + "p e", + "t r", + "c k", + "â Ģ", + "Ġ y", + "i st", + "is t", + "- ---", + "-- --", + "--- -", + ". ĊĊ", + ".Ċ Ċ", + "h e", + "Ġ e", + "l o", + "Ġ M", + "Ġ be", + "Ġb e", + "e rs", + "er s", + "Ġ on", + "Ġo n", + "Ġ con", + "Ġc on", + "Ġco n", + "a p", + "u b", + "Ġ P", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "a ss", + "as s", + "i nt", + "in t", + "> Ċ", + "l y", + "u rn", + "ur n", + "Ġ $", + "; ĊĊ", + ";Ċ Ċ", + "a v", + "p ort", + "por t", + "po rt", + "i r", + "- >", + "n t", + "c tion", + "ct ion", + "e nd", + "en d", + "Ġ de", + "Ġd e", + "0 0", + "i th", + "it h", + "o ut", + "ou t", + "t urn", + "tu rn", + "tur n", + "o ur", + "ou r", + "Ġ ĠĠĠĠ", + "ĠĠ ĠĠĠ", + "ĠĠĠĠ Ġ", + "ĠĠĠ ĠĠ", + "l ic", + "li c", + "r es", + "re s", + "p t", + "= =", + "Ġ this", + "Ġt his", + "Ġth is", + "Ġthi s", + "Ġ wh", + "Ġw h", + "Ġ if", + "Ġi f", + "Ġ D", + "v er", + "ve r", + "a ge", + "ag e", + "Ġ B", + "h t", + "e xt", + "ex t", + "= \"", + "Ġ that", + "Ġt hat", + "Ġth at", + "Ġtha t", + "* ***", + "** **", + "*** *", + "Ġ R", + "Ġ it", + "Ġi t", + "e ss", + "es s", + "Ġ F", + "Ġ r", + "o s", + "a nd", + "an d", + "Ġ as", + "Ġa s", + "e ct", + "ec t", + "k e", + "r om", + "ro m", + "Ġ //", + "Ġ/ /", + "c on", + "co n", + "Ġ L", + "( \"", + "q u", + "l ass", + "la ss", + "las s", + "Ġ with", + "Ġw ith", + "Ġwi th", + "Ġwit h", + "i z", + "d e", + "Ġ N", + "Ġ al", + "Ġa l", + "o p", + "u p", + "g et", + "ge t", + "Ġ }Ċ", + "Ġ} Ċ", + "i le", + "il e", + "Ġ an", + "Ġa n", + "a ta", + "at a", + "o re", + "or e", + "r i", + "Ġ pro", + "Ġp ro", + "Ġpr o", + "; čĊ", + "ĉ ĉĉĉ", + "ĉĉ ĉĉ", + "ĉĉĉ ĉ", + "t er", + "te r", + "a in", + "ai n", + "Ġ W", + "Ġ E", + "Ġ com", + "Ġc om", + "Ġco m", + "Ġ return", + "Ġre turn", + "Ġr eturn", + "Ġret urn", + "a rt", + "ar t", + "Ġ H", + "a ck", + "ac k", + "im port", + "imp ort", + "ub lic", + "ubl ic", + "Ġ or", + "Ġo r", + "e st", + "es t", + "m ent", + "me nt", + "men t", + "Ġ G", + "a ble", + "ab le", + "abl e", + "Ġ -", + "i ne", + "in e", + "i ll", + "il l", + "i nd", + "in d", + "e re", + "er e", + ": :", + "i ty", + "it y", + "Ġ +", + "Ġ tr", + "Ġt r", + "e lf", + "el f", + "i ght", + "ig ht", + "igh t", + "( '", + "o rm", + "or m", + "u lt", + "ul t", + "s tr", + "st r", + ". .", + "\" ,", + "Ġ you", + "Ġy ou", + "Ġyo u", + "y pe", + "yp e", + "p l", + "Ġ new", + "Ġn ew", + "Ġne w", + "Ġ j", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ from", + "Ġf rom", + "Ġfr om", + "Ġfro m", + "Ġ ex", + "Ġe x", + "Ġ O", + "2 0", + "l d", + "Ġ [", + "o c", + ": Ċ", + "Ġ se", + "Ġs e", + "Ġ le", + "Ġl e", + "- -------", + "-- ------", + "---- ----", + "--- -----", + "----- ---", + "------ --", + "------- -", + ". s", + "{ Ċ", + "' ,", + "a nt", + "an t", + "Ġ at", + "Ġa t", + "a se", + "as e", + ". c", + "Ġ ch", + "Ġc h", + "< /", + "a ve", + "av e", + "a ng", + "an g", + "Ġ are", + "Ġa re", + "Ġar e", + "Ġ int", + "Ġin t", + "Ġi nt", + "âĢ Ļ", + "_ t", + "e rt", + "er t", + "i al", + "ia l", + "a ct", + "ac t", + "} Ċ", + "i ve", + "iv e", + "o de", + "od e", + "o st", + "os t", + "Ġ class", + "Ġc lass", + "Ġcl ass", + "Ġclas s", + "Ġcla ss", + "Ġ not", + "Ġn ot", + "Ġno t", + "o g", + "o rd", + "or d", + "a lue", + "al ue", + "alu e", + "a ll", + "al l", + "f f", + "( );Ċ", + "() ;Ċ", + "(); Ċ", + "o nt", + "on t", + "i me", + "im e", + "a re", + "ar e", + "Ġ U", + "Ġ pr", + "Ġp r", + "Ġ :", + "i es", + "ie s", + "i ze", + "iz e", + "u re", + "ur e", + "Ġ by", + "Ġb y", + "i re", + "ir e", + "Ġ }ĊĊ", + "Ġ} ĊĊ", + "Ġ}Ċ Ċ", + ". p", + "Ġ sh", + "Ġs h", + "i ce", + "ic e", + "a st", + "as t", + "p tion", + "pt ion", + "t ring", + "tr ing", + "tri ng", + "o k", + "_ _", + "c l", + "# #", + "Ġ he", + "Ġh e", + "a rd", + "ar d", + ") .", + "Ġ @", + "i ew", + "ie w", + "ĉ ĉĉ", + "ĉĉ ĉ", + "Ġ was", + "Ġw as", + "Ġwa s", + "i p", + "t his", + "th is", + "Ġ u", + "Ġ The", + "ĠT he", + "ĠTh e", + "i de", + "id e", + "a ce", + "ac e", + "i b", + "a c", + "r ou", + "ro u", + "Ġ we", + "Ġw e", + "j ect", + "je ct", + "jec t", + "Ġ public", + "Ġp ublic", + "Ġpub lic", + "Ġpubli c", + "a k", + "v e", + "a th", + "at h", + "o id", + "oi d", + "Ġ =>", + "Ġ= >", + "u st", + "us t", + "q ue", + "qu e", + "Ġ res", + "Ġre s", + "Ġr es", + ") )", + "' s", + "Ġ k", + "a ns", + "an s", + "y st", + "ys t", + "un ction", + "unc tion", + "unct ion", + "* *******", + "** ******", + "**** ****", + "****** **", + "*** *****", + "***** ***", + "******* *", + "Ġ i", + "Ġ us", + "Ġu s", + "p p", + "1 0", + "o ne", + "on e", + "a il", + "ai l", + "= ===", + "== ==", + "=== =", + "n ame", + "na me", + "nam e", + "Ġ str", + "Ġs tr", + "Ġst r", + "Ġ /", + "Ġ &", + "a ch", + "ac h", + "d iv", + "di v", + "y stem", + "yst em", + "ys tem", + "e ll", + "el l", + "Ġ have", + "Ġh ave", + "Ġha ve", + "Ġhav e", + "e rr", + "er r", + "o uld", + "ou ld", + "oul d", + "u ll", + "ul l", + "p on", + "po n", + "Ġ J", + "_ p", + "Ġ ==", + "Ġ= =", + "i gn", + "ig n", + "S t", + ". Ċ", + "Ġ pl", + "Ġp l", + ") ;ĊĊ", + ");Ċ Ċ", + "); ĊĊ", + "f orm", + "fo rm", + "for m", + "p ut", + "pu t", + "o unt", + "ou nt", + "oun t", + "} ĊĊ", + "}Ċ Ċ", + "d d", + "i te", + "it e", + "Ġ get", + "Ġg et", + "Ġge t", + "r r", + "o me", + "om e", + "Ġ âĢ", + "Ġâ Ģ", + "a ram", + "ar am", + "ara m", + "c c", + "Ġ */", + "Ġ* /", + "E R", + "I n", + "l es", + "le s", + "_ s", + "o ng", + "on g", + "i e", + "Ġ can", + "Ġc an", + "Ġca n", + "Ġ V", + "e rv", + "er v", + "p r", + "Ġ un", + "Ġu n", + "r ow", + "ro w", + "b er", + "be r", + "Ġ do", + "Ġd o", + "l l", + "Ġ el", + "Ġe l", + "Ġ self", + "Ġs elf", + "Ġse lf", + "Ġsel f", + "a ted", + "at ed", + "ate d", + "a ry", + "ar y", + "Ġ .", + "' ]", + "u d", + "Ġ en", + "Ġe n", + "Ġ Th", + "ĠT h", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "t e", + "_ c", + "u ct", + "uc t", + "Ġ ab", + "Ġa b", + "o rk", + "or k", + ". get", + ".g et", + ".ge t", + "Ġ #", + "a w", + "r ess", + "re ss", + "res s", + "o b", + "N ame", + "Na me", + "Nam e", + "2 01", + "20 1", + "a pp", + "ap p", + "[ '", + "Ġ all", + "Ġa ll", + "Ġal l", + "o ry", + "or y", + "i tion", + "it ion", + "iti on", + "a nce", + "an ce", + "anc e", + "e ar", + "ea r", + "Ġ cont", + "Ġc ont", + "Ġcon t", + "Ġco nt", + "v ent", + "ve nt", + "ven t", + "i a", + "Ġ will", + "Ġw ill", + "Ġwi ll", + "Ġwil l", + "I N", + "Ġ ĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠ", + "r eturn", + "re turn", + "ret urn", + "Ġ ", + "\" ,Ċ", + "\", Ċ", + "e c", + "Ġ In", + "ĠI n", + "p h", + "Ġ |", + "_ f", + "Ġ var", + "Ġv ar", + "Ġva r", + "e nce", + "en ce", + "enc e", + "I d", + "r ee", + "re e", + "i nk", + "in k", + "l ect", + "le ct", + "lec t", + "u g", + "e th", + "et h", + "Ġ else", + "Ġe lse", + "Ġel se", + "Ġels e", + "- ---------------", + "-- --------------", + "---- ------------", + "-------- --------", + "--- -------------", + "------------ ----", + "----- -----------", + "---------- ------", + "------ ----------", + "----------- -----", + "------------- ---", + "------- ---------", + "--------- -------", + "--------------- -", + "-------------- --", + "1 9", + "c ont", + "con t", + "co nt", + "Ġ so", + "Ġs o", + "a tic", + "at ic", + "ati c", + "Ġ lo", + "Ġl o", + "p ro", + "pr o", + "t on", + "to n", + "s s", + "o wn", + "ow n", + "a bel", + "ab el", + "abe l", + "o int", + "oin t", + "oi nt", + "o us", + "ou s", + "e ld", + "el d", + "S T", + "T he", + "Th e", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "R E", + "\" :", + "o lor", + "ol or", + "olo r", + "t p", + "e g", + "k ey", + "ke y", + "u de", + "ud e", + "Ġ St", + "ĠS t", + "o und", + "ou nd", + "oun d", + "Ġ ar", + "Ġa r", + "\" );Ċ", + "\") ;Ċ", + "\"); Ċ", + "e ner", + "en er", + "ene r", + "s er", + "se r", + "1 1", + "b ject", + "bj ect", + "es sage", + "ess age", + "essa ge", + "f er", + "fe r", + "Ġ more", + "Ġm ore", + "Ġmor e", + "Ġmo re", + "at ions", + "ation s", + "atio ns", + "ati ons", + "e nts", + "en ts", + "ent s", + "Ġ his", + "Ġh is", + "Ġhi s", + "Ġ they", + "Ġt hey", + "Ġth ey", + "Ġthe y", + ". S", + "Ġ Y", + "u se", + "us e", + "n e", + "i sh", + "is h", + "o ld", + "ol d", + "_ d", + "i o", + "i eld", + "ie ld", + "iel d", + "Ġ per", + "Ġp er", + "Ġpe r", + "C ont", + "Con t", + "Co nt", + "in gs", + "ing s", + "# ###", + "## ##", + "### #", + "Ġ data", + "Ġd ata", + "Ġda ta", + "Ġdat a", + "Ġ sa", + "Ġs a", + "e f", + "f o", + "Ġ one", + "Ġo ne", + "Ġon e", + "e ng", + "en g", + "Ġ dis", + "Ġd is", + "Ġdi s", + "A T", + "Ġ name", + "Ġn ame", + "Ġna me", + "Ġnam e", + "Ġ true", + "Ġtr ue", + "v al", + "va l", + "l ed", + "le d", + ". f", + "Ġ ne", + "Ġn e", + "Ġ end", + "Ġe nd", + "Ġen d", + "3 2", + ". T", + "1 6", + "c re", + "cr e", + "a rk", + "ar k", + "l og", + "lo g", + "E x", + "e rror", + "er ror", + "err or", + "erro r", + "_ id", + "_i d", + "ur re", + "urr e", + "a nge", + "an ge", + "ang e", + "Ġ null", + "Ġn ull", + "Ġnu ll", + "r ray", + "rr ay", + "Ġ my", + "Ġm y", + "p an", + "pa n", + "i ct", + "ic t", + "a tor", + "at or", + "ato r", + "V iew", + "Vi ew", + "L ist", + "Li st", + "ĉ return", + "ĉr eturn", + "ĉret urn", + "ĉre turn", + "âĢ Ŀ", + "Ġ pre", + "Ġp re", + "Ġpr e", + "Ġ x", + "c lude", + "cl ude", + "clud e", + "a rg", + "ar g", + "1 5", + "o v", + ". h", + "Ġ >", + "Ġ their", + "Ġthe ir", + "' )", + "i rst", + "ir st", + "irs t", + "i ck", + "ic k", + "g h", + "L E", + "O R", + "Ġ private", + "Ġpr ivate", + "Ġpriv ate", + "Ġprivat e", + "t em", + "te m", + "čĊ čĊ", + "u ser", + "us er", + "use r", + "Ġ )", + "c om", + "co m", + ". A", + "\" ;Ċ", + "\"; Ċ", + "Ġ id", + "Ġi d", + "r ead", + "re ad", + "rea d", + "Ġ who", + "Ġw ho", + "Ġwh o", + "_ b", + "\" >Ċ", + "\"> Ċ", + "Ġ time", + "Ġt ime", + "Ġtim e", + "Ġti me", + "Ġ man", + "Ġm an", + "Ġma n", + "r y", + "= =======", + "== ======", + "==== ====", + "=== =====", + "====== ==", + "===== ===", + "======= =", + "r oup", + "ro up", + "rou p", + "r op", + "ro p", + "p ublic", + "pub lic", + "v el", + "ve l", + "um ber", + "umb er", + "b le", + "bl e", + "Ġ which", + "Ġwh ich", + "** **************", + "**** ************", + "******** ********", + "************ ****", + "************** **", + "Ġ any", + "Ġa ny", + "Ġan y", + "Ġ false", + "Ġf alse", + "Ġfa lse", + "Ġfal se", + "Ġfals e", + "w e", + "Ġ value", + "Ġv alue", + "Ġval ue", + "Ġva lue", + "Ġvalu e", + "Ġ li", + "Ġl i", + "\" )", + "n der", + "nd er", + "nde r", + "g r", + "Ġ no", + "Ġn o", + "p aram", + "par am", + "pa ram", + "para m", + "2 5", + "f ig", + "fi g", + ". com", + ".c om", + ".co m", + "Ġ app", + "Ġa pp", + "Ġap p", + "_ l", + "i ons", + "ion s", + "io ns", + ". D", + "Ġ Ch", + "ĠC h", + "Ġ about", + "Ġa bout", + "Ġab out", + "Ġ add", + "Ġa dd", + "Ġad d", + "Ġ su", + "Ġs u", + "Ġ string", + "Ġs tring", + "Ġst ring", + "Ġstr ing", + "Ġstri ng", + "I D", + "Ġ over", + "Ġo ver", + "Ġov er", + "s tring", + "st ring", + "str ing", + "stri ng", + ". l", + "our ce", + "0 00", + "00 0", + "_ C", + "] Ċ", + "Ġ qu", + "Ġq u", + "Ġ String", + "ĠS tring", + "ĠSt ring", + "ĠStr ing", + "c a", + "S E", + "Ġ ro", + "Ġr o", + "s h", + "u al", + "ua l", + "T ype", + "Typ e", + "Ty pe", + "s on", + "so n", + "n ew", + "ne w", + "e rn", + "er n", + "Ġ ag", + "Ġa g", + "A R", + "] ;Ċ", + "]; Ċ", + "] .", + "Ġ ?", + "i cal", + "ic al", + "ica l", + "Ġ des", + "Ġd es", + "Ġde s", + "u th", + "ut h", + "i x", + "a ys", + "ay s", + "Ġ type", + "Ġt ype", + "Ġtyp e", + "Ġty pe", + "' t", + "a ult", + "au lt", + "aul t", + "Ġ inter", + "Ġin ter", + "Ġint er", + "Ġinte r", + "v ar", + "va r", + ". b", + "Ġ part", + "Ġp art", + "Ġpar t", + "Ġpa rt", + ". d", + "ur rent", + "urre nt", + "urr ent", + "I T", + "E N", + "3 0", + "e nc", + "en c", + "( f", + "r a", + "v alue", + "val ue", + "va lue", + "valu e", + "c ho", + "ch o", + "1 8", + "ut ton", + "utt on", + "utto n", + "o se", + "os e", + "1 4", + "Ġ !=", + "Ġ! =", + "a ter", + "at er", + "ate r", + "à ©", + "re ate", + "reat e", + "rea te", + "o ll", + "ol l", + "p os", + "po s", + "y le", + "yl e", + "n g", + "A L", + "u sing", + "us ing", + "usi ng", + "a mes", + "am es", + "ame s", + "Ġ {čĊ", + "Ġ{ čĊ", + "a tes", + "at es", + "ate s", + "e ly", + "el y", + "Ġ work", + "Ġw ork", + "Ġwor k", + "Ġwo rk", + "Ġ em", + "Ġe m", + "i nal", + "in al", + "ina l", + "Ġ sp", + "Ġs p", + "Ġ when", + "Ġw hen", + "Ġwh en", + "Ġwhe n", + ". set", + ".s et", + ".se t", + "Ġ ĠĠĠĠĠ", + "ĠĠ ĠĠĠĠ", + "ĠĠĠĠ ĠĠ", + "ĠĠĠ ĠĠĠ", + "ĠĠĠĠĠ Ġ", + ") :Ċ", + "): Ċ", + "t o", + "q uire", + "qu ire", + "quir e", + "qui re", + "ind ow", + "indo w", + "l ement", + "le ment", + "lem ent", + "lemen t", + "leme nt", + "p ect", + "pe ct", + "pec t", + "a sh", + "as h", + "[ i", + "Ġ use", + "Ġu se", + "Ġus e", + ". F", + "p ec", + "pe c", + "Ġ ad", + "Ġa d", + "o ve", + "ov e", + "ce ption", + "cept ion", + "cep tion", + "e ngth", + "en gth", + "eng th", + "in clude", + "inc lude", + "incl ude", + "inclu de", + "a der", + "ad er", + "ade r", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "at us", + "atu s", + "T h", + "i tle", + "it le", + "r it", + "ri t", + "v oid", + "vo id", + "( ).", + "() .", + "( Ċ", + "Ġ off", + "Ġo ff", + "Ġof f", + "Ġ other", + "Ġo ther", + "Ġot her", + "Ġ &&", + "Ġ& &", + "' ;Ċ", + "'; Ċ", + "m s", + "Ġ been", + "Ġb een", + "Ġbe en", + "Ġbee n", + "Ġ te", + "Ġt e", + "m l", + "c o", + "n c", + "1 3", + "er vice", + "erv ice", + "Ġ %", + "* *Ċ", + "** Ċ", + "a nn", + "an n", + "a de", + "ad e", + "Ċ ĊĊĊ", + "ĊĊ ĊĊ", + "ĊĊĊ Ċ", + "l ock", + "lo ck", + "loc k", + "con st", + "co nst", + "cons t", + "1 00", + "10 0", + "p onse", + "pon se", + "pons e", + "Ġ sup", + "Ġs up", + "Ġsu p", + "+ +", + "d ate", + "da te", + "dat e", + "Ġ acc", + "Ġa cc", + "Ġac c", + "Ġ had", + "Ġh ad", + "Ġha d", + "Ġ bu", + "Ġb u", + "2 00", + "20 0", + "Ġ Re", + "ĠR e", + "Ġ were", + "Ġw ere", + "Ġwe re", + "Ġwer e", + "Ġ file", + "Ġf ile", + "Ġfil e", + "Ġfi le", + "Ġ would", + "Ġw ould", + "Ġwo uld", + "Ġ âĢľ", + "ĠâĢ ľ", + "v en", + "ve n", + "i ss", + "is s", + "Ġ our", + "Ġo ur", + "Ġou r", + "c lass", + "cl ass", + "cla ss", + "clas s", + "r aw", + "ra w", + "Ġ year", + "Ġy ear", + "Ġye ar", + "D ata", + "Da ta", + "Dat a", + "Ġ val", + "Ġv al", + "Ġva l", + "Ġ some", + "Ġs ome", + "Ġso me", + "Ġsom e", + "f ter", + "ft er", + "fte r", + "y s", + "Ġ ///", + "Ġ// /", + "Ġ/ //", + "r ound", + "ro und", + "rou nd", + "v iew", + "vi ew", + "vie w", + "Ġ pe", + "Ġp e", + "Ġ there", + "Ġt here", + "Ġth ere", + "Ġthe re", + "Ġther e", + "Ġ said", + "Ġs aid", + "Ġsa id", + "Ġsai d", + "d u", + "o f", + "l ine", + "li ne", + "lin e", + "/ *", + "d uct", + "du ct", + "duc t", + "Ġ her", + "Ġh er", + "Ġhe r", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "R es", + "Re s", + "Ġ co", + "Ġc o", + "Ġ comm", + "Ġc omm", + "Ġcom m", + "Ġco mm", + "i se", + "is e", + "m in", + "mi n", + "Ġ ĠĠĠĊ", + "ĠĠ ĠĠĊ", + "ĠĠĠĠ Ċ", + "ĠĠĠ ĠĊ", + "# include", + "et hod", + "eth od", + ". P", + "u te", + "ut e", + "Ġ ass", + "Ġa ss", + "Ġas s", + "I nt", + "In t", + "a sk", + "as k", + "l oc", + "lo c", + "Ġ like", + "Ġl ike", + "Ġli ke", + "Ġlik e", + "o dy", + "od y", + "Ġ let", + "Ġl et", + "Ġle t", + "l oad", + "lo ad", + "Ġ am", + "Ġa m", + "r ol", + "ro l", + "Ġ gr", + "Ġg r", + "y p", + "Ġ also", + "Ġal so", + "Ġals o", + "Ġ It", + "ĠI t", + "u rl", + "ur l", + "i fic", + "if ic", + "ifi c", + "o rs", + "or s", + "_ P", + "_ n", + "i gh", + "ig h", + "Ġ than", + "Ġt han", + "Ġth an", + "Ġtha n", + "C om", + "Co m", + "A N", + "U L", + "a ting", + "at ing", + "ati ng", + "atin g", + "1 7", + "Ġ This", + "ĠT his", + "ĠTh is", + "ĠThi s", + "r ef", + "re f", + "_ S", + "Ġ static", + "Ġst atic", + "Ġstat ic", + "Ġsta tic", + "Ġstati c", + "r oll", + "ro ll", + "rol l", + "Ġ just", + "Ġj ust", + "Ġju st", + "Ġjus t", + "Ġ result", + "Ġres ult", + "i an", + "ia n", + "id th", + "Ġ them", + "Ġt hem", + "Ġth em", + "Ġthe m", + ") );Ċ", + ")) ;Ċ", + ")); Ċ", + "d er", + "de r", + "re ak", + "rea k", + "C on", + "Co n", + ": //", + ":/ /", + "u le", + "ul e", + ". ..", + ".. .", + "a rch", + "ar ch", + "arc h", + "e ment", + "em ent", + "eme nt", + "emen t", + "Ġ <<", + "Ġ< <", + "5 0", + "u sh", + "us h", + "en se", + "ens e", + "a rr", + "ar r", + "Ġ into", + "Ġin to", + "Ġint o", + "c ess", + "ce ss", + "ces s", + "a mp", + "am p", + "i ed", + "ie d", + "u ment", + "um ent", + "ume nt", + "umen t", + "Ġ \\", + "] ,", + "w o", + "a ls", + "al s", + "Ġ what", + "Ġw hat", + "Ġwh at", + "a nc", + "an c", + "V alue", + "Val ue", + "Va lue", + "= '", + "o lum", + "ol um", + "olu m", + "Ġ pos", + "Ġp os", + "Ġpo s", + "a ges", + "ag es", + "age s", + "a yer", + "ay er", + "aye r", + "Ġ sc", + "Ġs c", + "u es", + "ue s", + "\" )Ċ", + "\") Ċ", + "_ T", + "Ġ list", + "Ġl ist", + "Ġli st", + "Ġlis t", + "( s", + "Ġ case", + "Ġc ase", + "Ġca se", + "Ġcas e", + "C h", + "ĉ ĉĉĉĉ", + "ĉĉ ĉĉĉ", + "ĉĉĉĉ ĉ", + "ĉĉĉ ĉĉ", + "//// ////", + "/// /////", + "///// ///", + "p onent", + "pon ent", + "pone nt", + "Ġ z", + "Ġ kn", + "Ġk n", + "l et", + "le t", + "D E", + "r ed", + "re d", + "Ġ fe", + "Ġf e", + "Ġ },Ċ", + "Ġ} ,Ċ", + "Ġ}, Ċ", + "Ġ ,", + "( t", + "Ġ first", + "Ġf irst", + "Ġfi rst", + "Ġfir st", + "' );Ċ", + "') ;Ċ", + "'); Ċ", + "w ord", + "wo rd", + "wor d", + "Ġ import", + "Ġim port", + "Ġimp ort", + "Ġ act", + "Ġa ct", + "Ġac t", + "Ġ char", + "Ġc har", + "Ġch ar", + "Ġcha r", + "C T", + "Ġ Tr", + "ĠT r", + "o ple", + "op le", + "opl e", + "= {", + "ĉ f", + "2 4", + "i ent", + "ie nt", + "ien t", + "c ent", + "ce nt", + "cen t", + ". j", + "l ection", + "le ction", + "lect ion", + "lec tion", + ") )Ċ", + ")) Ċ", + "Ġ only", + "Ġon ly", + "Ġ print", + "Ġp rint", + "Ġpr int", + "Ġpri nt", + "Ġprin t", + "m er", + "me r", + ". W", + "o ck", + "oc k", + "Ġ --", + "Ġ- -", + "T ext", + "Te xt", + "Tex t", + "Ġ op", + "Ġo p", + "a nk", + "an k", + "Ġ its", + "Ġit s", + "Ġi ts", + "Ġ back", + "Ġb ack", + "Ġba ck", + "Ġbac k", + "[ \"", + "Ġ need", + "Ġn eed", + "Ġne ed", + "Ġ cl", + "Ġc l", + "Ġ sub", + "Ġs ub", + "Ġsu b", + "Ġ la", + "Ġl a", + "( (", + ". \"", + "O bject", + "Ob ject", + "Obj ect", + "Ġ start", + "Ġst art", + "Ġstar t", + "Ġsta rt", + "f ile", + "fi le", + "fil e", + "( self", + "(s elf", + "(se lf", + "(sel f", + "n er", + "ne r", + "e y", + "Ġ user", + "Ġu ser", + "Ġus er", + "Ġuse r", + "Ġ ent", + "Ġe nt", + "Ġen t", + "Ġ Com", + "ĠC om", + "ĠCo m", + "i ts", + "it s", + "Ġ Con", + "ĠC on", + "ĠCo n", + "o uble", + "ou ble", + "oub le", + "o wer", + "ow er", + "owe r", + "i tem", + "it em", + "ite m", + "v ery", + "ver y", + "ve ry", + "Ġ We", + "ĠW e", + "6 4", + "l ick", + "lic k", + "li ck", + "Ġ Q", + "p hp", + "ph p", + "t tp", + "tt p", + "' :", + "i cs", + "ic s", + "Ġ under", + "Ġu nder", + "Ġun der", + "Ġund er", + "Ġunde r", + "Ġ *Ċ", + "Ġ* Ċ", + ". L", + ") ;", + "i ces", + "ic es", + "ice s", + "Ġ reg", + "Ġre g", + "Ġr eg", + ") čĊ", + "ĉ public", + "ĉp ublic", + "ĉpub lic", + "S S", + "Ġ then", + "Ġt hen", + "Ġth en", + "Ġthe n", + "r eat", + "re at", + "rea t", + "i ous", + "io us", + "iou s", + ". G", + "e k", + "i rect", + "ir ect", + "ire ct", + "h eck", + "he ck", + "hec k", + "cri pt", + "cr ipt", + "n ing", + "ni ng", + "nin g", + "Ġ Un", + "ĠU n", + "Ġ may", + "Ġm ay", + "Ġma y", + "Ġ Wh", + "ĠW h", + "B o", + "I tem", + "It em", + "str uct", + "stru ct", + ". st", + ".s t", + "r eam", + "re am", + "rea m", + "i ble", + "ib le", + "lo at", + "Ġ org", + "Ġo rg", + "Ġor g", + "u nd", + "un d", + "s um", + "su m", + "_ in", + "_i n", + ". ./", + ".. /", + "_ M", + "Ġ how", + "Ġh ow", + "Ġho w", + "r ite", + "ri te", + "rit e", + "' Ċ", + "T o", + "4 0", + "w w", + "Ġ people", + "Ġpe ople", + "in dex", + "ind ex", + "inde x", + ". n", + "h ttp", + "ht tp", + "htt p", + "( m", + "e ctor", + "ect or", + "ec tor", + "Ġ ind", + "Ġin d", + "Ġi nd", + "Ġ jav", + "Ġj av", + "Ġja v", + "] ,Ċ", + "], Ċ", + "Ġ He", + "ĠH e", + "_ st", + "_s t", + "f ul", + "fu l", + "o le", + "ol e", + ") {Ċ", + "){ Ċ", + "Ġ should", + "Ġsh ould", + "Ġsho uld", + "o py", + "op y", + "e lp", + "el p", + "i er", + "ie r", + "_ name", + "_n ame", + "_na me", + "er son", + "ers on", + "I ON", + "IO N", + "o te", + "ot e", + "Ġ test", + "Ġt est", + "Ġte st", + "Ġtes t", + "Ġ bet", + "Ġb et", + "Ġbe t", + "r ror", + "rr or", + "u lar", + "ul ar", + "ula r", + "ã Ģ", + "Ġ Ð", + "b s", + "t ing", + "ti ng", + "tin g", + "Ġ make", + "Ġm ake", + "Ġma ke", + "Ġmak e", + "T r", + "Ġ after", + "Ġa fter", + "Ġaf ter", + "Ġaft er", + "ar get", + "arg et", + "arge t", + "R O", + "ol umn", + "olum n", + "olu mn", + "r c", + "_ re", + "_r e", + "de fine", + "def ine", + "2 2", + "Ġ right", + "Ġr ight", + "Ġrig ht", + "Ġri ght", + "r ight", + "ri ght", + "rig ht", + "d ay", + "da y", + "Ġ long", + "Ġl ong", + "Ġlo ng", + "Ġlon g", + "[ ]", + "( p", + "t d", + "c ond", + "con d", + "co nd", + "Ġ Pro", + "ĠP ro", + "ĠPr o", + "Ġ rem", + "Ġre m", + "Ġr em", + "pt ions", + "ption s", + "v id", + "vi d", + ". g", + "Ġ ext", + "Ġe xt", + "Ġex t", + "Ġ __", + "Ġ_ _", + "' )Ċ", + "') Ċ", + "p ace", + "pa ce", + "pac e", + "m p", + "Ġ min", + "Ġm in", + "Ġmi n", + "st ance", + "sta nce", + "stan ce", + "a ir", + "ai r", + "a ction", + "act ion", + "ac tion", + "w h", + "t ype", + "ty pe", + "typ e", + "u til", + "ut il", + "uti l", + "a it", + "ai t", + "< ?", + "I C", + "t ext", + "te xt", + "tex t", + "Ġ ph", + "Ġp h", + "Ġ fl", + "Ġf l", + ". M", + "c cess", + "cc ess", + "cce ss", + "b r", + "f ore", + "fo re", + "for e", + "ers ion", + ") ,Ċ", + "), Ċ", + ". re", + ".r e", + "a teg", + "at eg", + "ate g", + "Ġ loc", + "Ġl oc", + "Ġlo c", + "i ns", + "in s", + "- s", + "t rib", + "tr ib", + "tri b", + "Ġ Int", + "ĠI nt", + "ĠIn t", + "Ġ array", + "Ġa rray", + "Ġar ray", + "Ġarr ay", + ", \"", + "P ro", + "Pr o", + "( c", + "ess ion", + "> ĊĊ", + ">Ċ Ċ", + "Ġ she", + "Ġs he", + "Ġsh e", + "\" ]", + "a ph", + "ap h", + "Ġ exp", + "Ġe xp", + "Ġex p", + "er ty", + "ert y", + "Ġ Se", + "ĠS e", + "Ġ par", + "Ġp ar", + "Ġpa r", + "u nc", + "un c", + "E T", + "Ġ read", + "Ġre ad", + "Ġr ead", + "p rint", + "pr int", + "pri nt", + "Ġ rel", + "Ġre l", + "Ġr el", + "Ġ form", + "Ġf orm", + "Ġfor m", + "Ġfo rm", + "Ġ dr", + "Ġd r", + "Ex ception", + "Except ion", + "in put", + "inp ut", + "Ġ trans", + "Ġt rans", + "Ġtr ans", + "Ġtra ns", + "Ġtran s", + "# #######", + "## ######", + "#### ####", + "### #####", + "##### ###", + "###### ##", + "####### #", + "or der", + "ord er", + "orde r", + "B y", + "Ġ aw", + "Ġa w", + "i ties", + "it ies", + "iti es", + "u ff", + "uf f", + "p lay", + "pl ay", + "pla y", + ". add", + ".a dd", + ".ad d", + "Ġ âĢĵ", + "ĠâĢ ĵ", + "Ġ want", + "Ġw ant", + "Ġwa nt", + "Ġwan t", + "Ġ comp", + "Ġc omp", + "Ġcom p", + "Ġco mp", + "m ents", + "ment s", + "me nts", + "men ts", + "Ġ ||", + "Ġ| |", + "a z", + "b e", + "Ġ number", + "Ġn umber", + "Ġnum ber", + "Ġnumb er", + "Ġ require", + "Ġre quire", + "Ġreq uire", + "Ġrequ ire", + "Ġ Ex", + "ĠE x", + "6 0", + "Ġ col", + "Ġc ol", + "Ġco l", + "Ġ key", + "Ġk ey", + "Ġke y", + "em ber", + "emb er", + "Ġ two", + "Ġt wo", + "Ġtw o", + "Ġ size", + "Ġs ize", + "Ġsi ze", + "Ġsiz e", + "Ġ where", + "Ġw here", + "Ġwh ere", + "Ġwhe re", + "U T", + "res ult", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "o ugh", + "ou gh", + "oug h", + "or ld", + "o od", + "oo d", + "u ch", + "uc h", + "at ive", + "ati ve", + "ativ e", + "g er", + "ge r", + "a rent", + "ar ent", + "are nt", + "aren t", + "Ġ /*", + "Ġ/ *", + "Ġ arg", + "Ġa rg", + "Ġar g", + "Ġ while", + "Ġwh ile", + "2 3", + "( this", + "(t his", + "(th is", + "Ġ rec", + "Ġre c", + "Ġr ec", + "Ġ dif", + "Ġd if", + "Ġdi f", + "St ate", + "Stat e", + "Ġ spec", + "Ġs pec", + "Ġsp ec", + "Ġspe c", + "r ide", + "ri de", + "rid e", + "_ F", + "Ġ look", + "Ġl ook", + "Ġlo ok", + "A M", + "il ity", + "ilit y", + "ili ty", + "e ter", + "et er", + "ete r", + "âĢĻ t", + "Ċ ĊĊ", + "ĊĊ Ċ", + "ay out", + "ayo ut", + "-- ------------------------------", + "---- ----------------------------", + "---------------- ----------------", + "------------ --------------------", + "---------------------------- ----", + "------------------------------ --", + "-------------------- ------------", + "a ger", + "ag er", + "age r", + "Ġ could", + "Ġc ould", + "Ġco uld", + "Ġcou ld", + "Ġ br", + "Ġb r", + "e nds", + "en ds", + "end s", + "u res", + "ur es", + "ure s", + "Ġ know", + "Ġk now", + "Ġkn ow", + "e ts", + "et s", + "Ġ If", + "ĠI f", + "Ġ Sh", + "ĠS h", + ". w", + "b ack", + "ba ck", + "bac k", + "Ġ ser", + "Ġs er", + "Ġse r", + "Ġ +=", + "Ġ+ =", + "Ġ fr", + "Ġf r", + "( ));Ċ", + "() );Ċ", + "()) ;Ċ", + "()); Ċ", + "Ġ hand", + "Ġh and", + "Ġha nd", + "Ġhan d", + "I nd", + "In d", + "U LL", + "UL L", + "I m", + "( );ĊĊ", + "() ;ĊĊ", + "();Ċ Ċ", + "(); ĊĊ", + "Ġ most", + "Ġm ost", + "Ġmo st", + "Ġmos t", + "Ġ try", + "Ġt ry", + "Ġtr y", + "Ġ now", + "Ġn ow", + "Ġno w", + "r ough", + "ro ugh", + "rou gh", + "> čĊ", + "ack age", + "Ġ him", + "Ġh im", + "Ġhi m", + ". _", + "i fy", + "if y", + "Ġ break", + "Ġb reak", + "Ġbre ak", + "Ġ );Ċ", + "Ġ) ;Ċ", + "Ġ); Ċ", + "r en", + "re n", + "# define", + "i tt", + "it t", + "Ġ ap", + "Ġa p", + "ĉ c", + "( n", + "Ġ You", + "ĠY ou", + "ĠYo u", + ": ĊĊ", + ":Ċ Ċ", + "- m", + "Ġ every", + "Ġe very", + "Ġever y", + "Ġev ery", + "Ġeve ry", + "us tom", + "ust om", + "usto m", + "l ient", + "li ent", + "lie nt", + "lien t", + "oc ument", + "ocu ment", + "cri ption", + "cript ion", + "E rror", + "Err or", + "Er ror", + "Erro r", + "- b", + "Ð ¾", + "] [", + "9 9", + "t rans", + "tr ans", + "tra ns", + "tran s", + "Ġ point", + "Ġp oint", + "Ġpo int", + "Ġpoi nt", + "Ġ std", + "Ġs td", + "Ġst d", + "Ġ fil", + "Ġf il", + "Ġfi l", + "T ime", + "Tim e", + "Ti me", + "8 0", + "Ġ mod", + "Ġm od", + "Ġmo d", + "Ġ ->", + "Ġ- >", + "Ġ error", + "Ġe rror", + "Ġerr or", + "Ġer ror", + "Ġerro r", + "a h", + "Ġ text", + "Ġt ext", + "Ġte xt", + "Ġtex t", + "r oller", + "ro ller", + "rol ler", + "roll er", + "l ose", + "lo se", + "los e", + "q l", + "Ġ pol", + "Ġp ol", + "Ġpo l", + "> < /", + "Ġ show", + "Ġs how", + "Ġsh ow", + "Ġsho w", + "U ser", + "Us er", + "Use r", + "a sed", + "as ed", + "ase d", + "Ġ {ĊĊ", + "Ġ{ ĊĊ", + "Ġ{Ċ Ċ", + "Ġ find", + "Ġf ind", + "Ġfin d", + "Ġfi nd", + "Ð °", + "E D", + "s pan", + "sp an", + "spa n", + "e nu", + "en u", + "Ġ current", + "Ġc urrent", + "Ġcur rent", + "Ġcurr ent", + "Ġ used", + "Ġu sed", + "Ġus ed", + "Ġuse d", + "c ept", + "ce pt", + "cep t", + "cl ud", + "Ġ play", + "Ġp lay", + "Ġpl ay", + "Ġpla y", + "Ġ log", + "Ġl og", + "Ġlo g", + "u tion", + "ut ion", + "uti on", + "f l", + "Ġ see", + "Ġs ee", + "Ġse e", + "ind ows", + "indow s", + "indo ws", + "Ġ help", + "Ġh elp", + "Ġhe lp", + "Ġhel p", + "Ġ these", + "Ġth ese", + "Ġthe se", + "Ġ pass", + "Ġp ass", + "Ġpas s", + "Ġpa ss", + "Ġ down", + "Ġd own", + "Ġdo wn", + "Ġdow n", + "Ġ even", + "Ġe ven", + "Ġev en", + "Ġeve n", + "a son", + "as on", + "aso n", + "u ild", + "ui ld", + "uil d", + "f rom", + "fr om", + "( d", + "Ġ bl", + "Ġb l", + "l abel", + "la bel", + "lab el", + "e lse", + "el se", + "els e", + "Ð µ", + "Ġ (!", + "Ġ( !", + "i zed", + "iz ed", + "ize d", + "( ),", + "() ,", + "Ġ ob", + "Ġo b", + "Ġ item", + "Ġit em", + "Ġi tem", + "u mp", + "um p", + "U R", + "o rn", + "or n", + "Ġ don", + "Ġd on", + "Ġdo n", + "S e", + "m an", + "ma n", + "2 7", + "am ple", + "amp le", + "t n", + "= ===============", + "== ==============", + "==== ============", + "======== ========", + "=== =============", + "============ ====", + "============= ===", + "=========== =====", + "============== ==", + "========= =======", + "========== ======", + "=============== =", + "====== ==========", + "===== ===========", + "======= =========", + "H e", + "g ram", + "gr am", + "gra m", + "Ġ did", + "Ġd id", + "Ġdi d", + "w n", + "_ h", + "i ver", + "iv er", + "ive r", + "Ġ sm", + "Ġs m", + "Ġ through", + "Ġth rough", + "Ġthr ough", + "Ġthro ugh", + "Ġ An", + "ĠA n", + "c he", + "ch e", + "Ġ inv", + "Ġin v", + "Ġi nv", + "o use", + "ou se", + "ous e", + "Ġ es", + "Ġe s", + "Ġ New", + "ĠN ew", + "ĠNe w", + "ex port", + "exp ort", + "expo rt", + "m ary", + "ma ry", + "mar y", + "u to", + "ut o", + "l er", + "le r", + "Ġ last", + "Ġl ast", + "Ġla st", + "Ġlas t", + "Ġ event", + "Ġe vent", + "Ġeven t", + "Ġev ent", + "Ġeve nt", + "t ry", + "tr y", + "ï ¼", + "i ly", + "il y", + "ig ned", + "ign ed", + "igne d", + "i nes", + "in es", + "ine s", + "ol low", + "oll ow", + "ollo w", + "ic ense", + "icens e", + "s ole", + "so le", + "sol e", + "l ear", + "le ar", + "lea r", + "( int", + "(i nt", + "(in t", + "Ġ again", + "Ġa gain", + "Ġag ain", + "Ġ high", + "Ġh igh", + "Ġhi gh", + "h tml", + "ht ml", + "htm l", + "In dex", + "Ind ex", + "ut hor", + "uth or", + "Ġ /**Ċ", + "Ġ/ **Ċ", + "Ġ/* *Ċ", + "Ġ/** Ċ", + "Ġ line", + "Ġl ine", + "Ġli ne", + "Ġlin e", + "E vent", + "Even t", + "Ev ent", + "_ D", + "Ġ does", + "Ġd oes", + "Ġdo es", + "Ġdoe s", + "it ial", + "iti al", + "itia l", + "Ġ cr", + "Ġc r", + "a rs", + "ar s", + "2 8", + "Ġ tem", + "Ġt em", + "Ġte m", + "c ause", + "ca use", + "f ace", + "fa ce", + "fac e", + "Ġ `", + "_ A", + "B utton", + "But ton", + "a ture", + "at ure", + "atur e", + "atu re", + "ect ed", + "ec ted", + "E S", + "i ster", + "is ter", + "ist er", + "iste r", + "ĉ Ċ", + "Ġ before", + "Ġb efore", + "Ġbe fore", + "Ġbef ore", + "a le", + "al e", + "o ther", + "ot her", + "oth er", + "Ġ because", + "Ġb ecause", + "Ġbe cause", + "Ġbec ause", + "r oid", + "ro id", + "roi d", + "Ġ ed", + "Ġe d", + "i k", + "r eg", + "re g", + "Ġ De", + "ĠD e", + "Ġ dist", + "Ġd ist", + "Ġdis t", + "Ġdi st", + "} ,Ċ", + "}, Ċ", + "Ġ state", + "Ġst ate", + "Ġstat e", + "Ġsta te", + "Ġ cons", + "Ġc ons", + "Ġcon s", + "Ġco ns", + "r int", + "ri nt", + "rin t", + "a tt", + "at t", + "Ġ here", + "Ġh ere", + "Ġhe re", + "Ġher e", + "i ned", + "in ed", + "ine d", + "Ġ final", + "Ġf inal", + "Ġfin al", + "Ġfi nal", + "Ġ \"\"", + "Ġ\" \"", + "K ey", + "Ke y", + "L O", + "Ġ del", + "Ġd el", + "Ġde l", + "p ty", + "pt y", + "th ing", + "thin g", + "2 6", + "Ġ And", + "ĠA nd", + "ĠAn d", + "Ġ run", + "Ġr un", + "Ġru n", + "Ġ X", + "y m", + ". app", + ".ap p", + ".a pp", + "Ġ very", + "Ġv ery", + "Ġver y", + "Ġve ry", + "c es", + "ce s", + "_ N", + "a red", + "ar ed", + "are d", + "w ard", + "wa rd", + "war d", + "l ist", + "li st", + "lis t", + "i ted", + "it ed", + "ite d", + "o log", + "ol og", + "olo g", + "it ch", + "B ox", + "Bo x", + "i fe", + "if e", + "3 3", + "Ġ ac", + "Ġa c", + "Ġ model", + "Ġm odel", + "Ġmod el", + "Ġmode l", + "Ġmo del", + "Ġ mon", + "Ġm on", + "Ġmo n", + "Ġ way", + "Ġw ay", + "Ġwa y", + "l ete", + "le te", + "let e", + "Ġ call", + "Ġc all", + "Ġcal l", + "Ġca ll", + "Ġ att", + "Ġa tt", + "Ġat t", + "Ġ cal", + "Ġc al", + "Ġca l", + "v ert", + "ver t", + "ve rt", + "Ġ dec", + "Ġd ec", + "Ġde c", + "l ease", + "le ase", + "lea se", + "o un", + "ou n", + "Ġ });Ċ", + "Ġ} );Ċ", + "Ġ}) ;Ċ", + "Ġ}); Ċ", + "f r", + "form ation", + "format ion", + "forma tion", + "e tail", + "et ail", + "eta il", + "Ġ num", + "Ġn um", + "Ġnu m", + "a j", + "qu ery", + "que ry", + "quer y", + "Ġ well", + "Ġw ell", + "Ġwe ll", + "Ġwel l", + "Ġ object", + "Ġo bject", + "Ġob ject", + "Ġobj ect", + "Ġ As", + "ĠA s", + "Ġ years", + "Ġy ears", + "Ġyear s", + "Ġye ars", + "C olor", + "Col or", + "Co lor", + "I S", + "Ġ default", + "Ġd efault", + "Ġde fault", + "Ġdef ault", + "Ġdefa ult", + "W h", + "Ġ ins", + "Ġin s", + "Ġi ns", + "a int", + "ain t", + "ai nt", + "Ġ java", + "Ġj ava", + "Ġjav a", + "Ġja va", + "Ġ sim", + "Ġs im", + "Ġsi m", + "Ġ Ar", + "ĠA r", + "m on", + "mo n", + "t il", + "ti l", + "( );čĊ", + "() ;čĊ", + "(); čĊ", + ") :", + "S et", + "Se t", + "2 9", + "at ter", + "att er", + "atte r", + "Ġ view", + "Ġv iew", + "Ġvi ew", + "Ġvie w", + "Ġ pres", + "Ġp res", + "Ġpr es", + "Ġpre s", + "a rray", + "ar ray", + "arr ay", + "arra y", + "W e", + "A t", + "Ġ bel", + "Ġb el", + "Ġbe l", + "Ġ many", + "Ġm any", + "Ġman y", + "Ġma ny", + "2 1", + "M an", + "Ma n", + "e nder", + "en der", + "end er", + "ende r", + "Ġ being", + "Ġb eing", + "Ġbe ing", + "Ġbei ng", + "Ġ good", + "Ġg ood", + "Ġgo od", + "Ġgoo d", + "ĉ ĉĉĉĉĉ", + "ĉĉ ĉĉĉĉ", + "ĉĉĉĉ ĉĉ", + "ĉĉĉ ĉĉĉ", + "ĉĉĉĉĉ ĉ", + "at ional", + "ation al", + "atio nal", + "ati onal", + "w are", + "wa re", + "war e", + ". log", + ".l og", + ".lo g", + "{ čĊ", + "Ġ using", + "Ġu sing", + "Ġus ing", + "_ B", + "Ġ :=", + "Ġ: =", + "_ w", + "i sts", + "is ts", + "ist s", + "l ish", + "li sh", + "lis h", + "Ġ stud", + "Ġst ud", + "Ġstu d", + "Ġ Al", + "ĠA l", + "Ġ gu", + "Ġg u", + "con fig", + "conf ig", + "u ring", + "ur ing", + "uri ng", + "t ime", + "ti me", + "tim e", + "o ken", + "ok en", + "oke n", + "ame space", + "ames pace", + "Ġ request", + "Ġre quest", + "Ġreq uest", + "Ġrequ est", + "Ġ child", + "Ġch ild", + "Ġchi ld", + "Ġ Ã", + "l ob", + "lo b", + "Ġ param", + "Ġp aram", + "Ġpar am", + "Ġpara m", + "Ġpa ram", + "Ġ }čĊ", + "Ġ} čĊ", + "0 1", + "Ġ echo", + "Ġe cho", + "Ġec ho", + "Ġech o", + "f unction", + "func tion", + "fun ction", + "**** ****************************", + "******** ************************", + "**************** ****************", + "************************ ********", + "******************** ************", + "**************************** ****", + "************ ********************", + "p s", + "E lement", + "El ement", + "Elem ent", + "Ele ment", + "a lk", + "al k", + "l ication", + "lic ation", + "li cation", + "lica tion", + "b y", + "S ize", + "Si ze", + "ra wing", + "raw ing", + "Ġ person", + "Ġp erson", + "Ġper son", + "Ġpers on", + "Ġperso n", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "\\ n", + "o bject", + "ob ject", + "obj ect", + "i nce", + "in ce", + "inc e", + "E n", + "F ile", + "Fi le", + "Fil e", + "u f", + "f fect", + "ff ect", + "ffe ct", + "A C", + "Ġ style", + "Ġst yle", + "Ġsty le", + "Ġstyl e", + "sum mary", + "summ ary", + "Ġ que", + "Ġqu e", + "Ġq ue", + "_ r", + "Ġ ($", + "Ġ( $", + "M odel", + "Mode l", + "Mod el", + "Mo del", + "i dent", + "id ent", + "ide nt", + "iden t", + "Ġ method", + "Ġm ethod", + "Ġmet hod", + "Ġmeth od", + "I L", + "o tt", + "ot t", + "l ess", + "le ss", + "les s", + "I NG", + "IN G", + "Ġ ()", + "Ġ( )", + "Ġ expect", + "Ġex pect", + "Ġexp ect", + "y nc", + "yn c", + "p ackage", + "pack age", + "3 5", + "u rs", + "ur s", + "Ġ prot", + "Ġp rot", + "Ġpro t", + "Ġpr ot", + ". /", + "p re", + "pr e", + "Ġ )Ċ", + "Ġ) Ċ", + "m a", + "Ġ sur", + "Ġs ur", + "Ġsu r", + "Ġ found", + "Ġf ound", + "Ġfo und", + "Ġfou nd", + "In fo", + "Inf o", + "p ar", + "pa r", + "i mes", + "im es", + "ime s", + ". e", + "a ins", + "ain s", + "ai ns", + "Ġ post", + "Ġp ost", + "Ġpos t", + "Ġpo st", + "- d", + "4 5", + "o lean", + "ol ean", + "ole an", + "Ġ sl", + "Ġs l", + "P E", + "Ġ such", + "Ġs uch", + "Ġsu ch", + "Ġsuc h", + "s elect", + "se lect", + "sel ect", + "a iner", + "ain er", + "ai ner", + "aine r", + "Ġ think", + "Ġth ink", + "Ġthin k", + "Ġthi nk", + "Ġd iffer", + "Ġdif fer", + "Ġdi ffer", + "Ġdiff er", + ". r", + "/ **Ċ", + "/* *Ċ", + "/** Ċ", + "F F", + "o ol", + "oo l", + "p late", + "pl ate", + "plat e", + "pla te", + "q ual", + "qu al", + "qua l", + "Ġ For", + "ĠF or", + "ĠFo r", + "Ġ much", + "Ġm uch", + "Ġmu ch", + "Ġmuc h", + "u c", + "( new", + "(n ew", + "(ne w", + "od ule", + "odu le", + "Ġ som", + "Ġs om", + "Ġso m", + "Ġ http", + "Ġh ttp", + "Ġht tp", + "Ġhtt p", + "Ġ List", + "ĠL ist", + "ĠLi st", + "ĠLis t", + "Ġ count", + "Ġc ount", + "Ġco unt", + "Ġcoun t", + "Ġcou nt", + "Ġ inst", + "Ġin st", + "Ġi nst", + "Ġins t", + "c har", + "ch ar", + "cha r", + "m it", + "mi t", + ". id", + ".i d", + "a king", + "ak ing", + "aki ng", + "akin g", + "Ġ gener", + "Ġg ener", + "Ġge ner", + "Ġgen er", + "Ġgene r", + "p x", + "v ice", + "vi ce", + "vic e", + "3 7", + "_ data", + "_d ata", + "_dat a", + "_da ta", + "Ġ NULL", + "ĠN ULL", + "ĠNU LL", + "} čĊ", + "i dd", + "id d", + "ãĢ Ĥ", + "Ġ med", + "Ġm ed", + "Ġme d", + "o rg", + "or g", + "i der", + "id er", + "ide r", + "a che", + "ac he", + "ach e", + "w ork", + "wo rk", + "wor k", + "Ġ check", + "Ġc heck", + "Ġch eck", + "Ġche ck", + "w een", + "we en", + "Ġ ((", + "Ġ( (", + "t he", + "th e", + "a nts", + "an ts", + "ant s", + "> <", + ". B", + "- c", + "Ġ open", + "Ġo pen", + "Ġop en", + "Ġ est", + "Ġe st", + "Ġes t", + "Ġ ĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ Ċ", + "ĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĊ", + "Ġ next", + "Ġn ext", + "Ġne xt", + "Ġnex t", + "I M", + "Ñ Ĥ", + "O T", + "à ³", + "Ġ follow", + "Ġf ollow", + "Ġfol low", + "Ġfoll ow", + "c ontent", + "con tent", + "cont ent", + "conte nt", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "Ġin clud", + "Ġincl ud", + "Ġinclu d", + "H E", + "Ġ Res", + "ĠR es", + "ĠRe s", + "Ġ href", + "Ġh ref", + "Ġhr ef", + "Ð ¸", + "Ġ car", + "Ġc ar", + "Ġca r", + "y pes", + "ype s", + "yp es", + "i mage", + "im age", + "ima ge", + "imag e", + "U n", + "Ġ bool", + "Ġb ool", + "Ġbo ol", + "Ġboo l", + "A D", + "Ġ game", + "Ġg ame", + "Ġgam e", + "Ġga me", + ". Form", + ".F orm", + ".For m", + "r ows", + "ro ws", + "row s", + "* /", + "v elop", + "ve lop", + "vel op", + ". Drawing", + ".D rawing", + ".Draw ing", + "Ġ path", + "Ġp ath", + "Ġpat h", + "Ġpa th", + "is ion", + "isi on", + "Ġ each", + "Ġe ach", + "Ġea ch", + "Ġ Pl", + "ĠP l", + "_ type", + "_t ype", + "_typ e", + "_ty pe", + "P ath", + "Pa th", + "Pat h", + "n ection", + "ne ction", + "nect ion", + "Ġ av", + "Ġa v", + "' ).", + "') .", + "Ġ support", + "Ġs upport", + "Ġsup port", + "Ġsupp ort", + "E NT", + "EN T", + "r em", + "re m", + "\" ).", + "\") .", + "Ġ own", + "Ġo wn", + "Ġow n", + "Ġ cor", + "Ġc or", + "Ġco r", + "c ount", + "co unt", + "cou nt", + "m iss", + "mi ss", + "mis s", + "u ally", + "ual ly", + "Ġ mem", + "Ġm em", + "Ġme m", + "s td", + "st d", + "i ence", + "ie nce", + "ien ce", + "s earch", + "se arch", + "sea rch", + "\" ĊĊ", + "\"Ċ Ċ", + "F orm", + "For m", + "Fo rm", + "Ġ sex", + "Ġs ex", + "Ġse x", + "e name", + "en ame", + "ena me", + "Ġ sign", + "Ġs ign", + "Ġsi gn", + "Ġsig n", + "Ġ et", + "Ġe t", + "Ġ ĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠ ĠĠĠĠ", + "' ,'", + "', '", + "Ġ App", + "ĠA pp", + "ĠAp p", + "Ġ those", + "Ġth ose", + "Ġtho se", + "o ff", + "of f", + "Ġ err", + "Ġe rr", + "Ġer r", + "Ġ system", + "Ġs ystem", + "Ġsys tem", + "Ġsy stem", + "Ġsyst em", + "Ġ best", + "Ġb est", + "Ġbe st", + "Ġbes t", + "c ode", + "co de", + "cod e", + "Ġ same", + "Ġs ame", + "Ġsa me", + "Ġsam e", + "Ġ di", + "Ġd i", + "u ss", + "us s", + "Ġ create", + "Ġc reate", + "Ġcre ate", + "Ġcreat e", + "Ġcrea te", + "a ther", + "at her", + "ath er", + "athe r", + "A rray", + "Ar ray", + "Arr ay", + ". in", + ".i n", + "f e", + "S ervice", + "Ser vice", + "Serv ice", + "U N", + "a ts", + "at s", + "Ġ Z", + "al th", + "alt h", + "Ġ made", + "Ġm ade", + "Ġma de", + "Ġmad e", + "tr ue", + "tru e", + "A B", + "Ġ mark", + "Ġm ark", + "Ġmar k", + "Ġma rk", + "r id", + "ri d", + "if ied", + "ifi ed", + "ifie d", + ", čĊ", + "y n", + "p ress", + "pr ess", + "pre ss", + "pres s", + "Ġ group", + "Ġg roup", + "Ġgr oup", + "Ġgro up", + "Ġgrou p", + "Ġ fin", + "Ġf in", + "Ġfi n", + "Ġ License", + "ĠL icense", + "ĠLic ense", + "F ield", + "Fi eld", + "e ger", + "eg er", + "Ġ world", + "Ġw orld", + "Ġwor ld", + "i ness", + "in ess", + "ine ss", + "ines s", + "t y", + "Ġ process", + "Ġp rocess", + "Ġpro cess", + "Ġproc ess", + "Ġproces s", + "( b", + "Ġ cre", + "Ġc re", + "Ġcr e", + "a rn", + "ar n", + "i ves", + "iv es", + "ive s", + "Ġ main", + "Ġm ain", + "Ġma in", + "Ġmai n", + "i deo", + "id eo", + "ide o", + "3 6", + "_ g", + "A G", + "val id", + "va lid", + "i mg", + "im g", + "P I", + "Ġ color", + "Ġc olor", + "Ġco lor", + "Ġcol or", + "Ġ report", + "Ġre port", + "Ġrep ort", + "Ġrepo rt", + "Ġ take", + "Ġt ake", + "Ġta ke", + "Ġtak e", + "r ib", + "ri b", + "O M", + "Ġ day", + "Ġd ay", + "Ġda y", + "Re quest", + "Req uest", + "Ġ sk", + "Ġs k", + "b ers", + "ber s", + "be rs", + "ĉ s", + ". Add", + ".A dd", + ".Ad d", + "o ot", + "oo t", + "I mage", + "Im age", + "Ġcom ple", + "Ġcomp le", + "Ġcompl e", + "ol lection", + "oll ection", + "ollect ion", + "olle ction", + "Ġ top", + "Ġt op", + "Ġto p", + "Ġ free", + "Ġf ree", + "Ġfr ee", + "Ġfre e", + "A S", + "D e", + "Ġ On", + "ĠO n", + "I G", + "9 0", + "e ta", + "et a", + "D ate", + "Da te", + "Dat e", + "Ġ action", + "Ġa ction", + "Ġact ion", + "Ġac tion", + "3 4", + "O ver", + "i tor", + "it or", + "ito r", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "n ot", + "no t", + "Ġ index", + "Ġin dex", + "Ġind ex", + "Ġinde x", + "h er", + "he r", + "i con", + "ic on", + "ico n", + "O n", + "; čĊčĊ", + ";čĊ čĊ", + "iv ity", + "ivi ty", + "m and", + "man d", + "ma nd", + ". Windows", + ".W indows", + ".Window s", + "O L", + "Ġ real", + "Ġre al", + "Ġ max", + "Ġm ax", + "Ġma x", + "l and", + "la nd", + "lan d", + ". ...", + ".. ..", + "... .", + "r aph", + "ra ph", + "rap h", + "Ġ build", + "Ġb uild", + "Ġbu ild", + "l eg", + "le g", + "as sword", + "ass word", + "? ĊĊ", + "?Ċ Ċ", + "âĢ ¦", + "o ok", + "oo k", + "u ck", + "uc k", + "Ġ message", + "Ġm essage", + "Ġmess age", + "Ġmes sage", + "t est", + "te st", + "tes t", + "i vers", + "iv ers", + "ive rs", + "iver s", + "3 8", + "Ġ input", + "Ġin put", + "Ġinp ut", + "Ġ art", + "Ġa rt", + "Ġar t", + "Ġ between", + "Ġb etween", + "Ġbet ween", + "G et", + "Ge t", + "en ter", + "ent er", + "ente r", + "g round", + "gr ound", + "gro und", + "e ne", + "en e", + "à ¡", + ". length", + ".l ength", + ".len gth", + ".le ngth", + "N ode", + "No de", + "( i", + "C lass", + "Cl ass", + "Cla ss", + "f or", + "fo r", + "Ġ âĢĶ", + "ĠâĢ Ķ", + "t en", + "te n", + "o in", + "oi n", + "Ġ ke", + "Ġk e", + "u i", + "Ġ IN", + "ĠI N", + "Ġ table", + "Ġt able", + "Ġtab le", + "Ġta ble", + "s ub", + "su b", + "Ġ Le", + "ĠL e", + "Ġ head", + "Ġh ead", + "Ġhe ad", + "Ġ must", + "Ġm ust", + "Ġmus t", + "Ġmu st", + "//// ////////////", + "//////// ////////", + "//////////// ////", + ". util", + ".u til", + ".ut il", + "Cont ext", + "Con text", + "Ġ order", + "Ġor der", + "Ġord er", + "Ġ mov", + "Ġm ov", + "Ġmo v", + "o ver", + "ov er", + "ove r", + "Ġ contin", + "Ġcon tin", + "Ġcont in", + "Ġ say", + "Ġs ay", + "Ġsa y", + "st atic", + "stat ic", + "sta tic", + ". Text", + ".T ext", + ".Te xt", + "Ġ className", + "Ġclass Name", + "p any", + "pan y", + "pa ny", + "Ġ ter", + "Ġt er", + "Ġte r", + "h ead", + "he ad", + "hea d", + "r g", + "Ġ product", + "Ġpro duct", + "Ġprodu ct", + "Ġprod uct", + "T his", + "Th is", + ". âĢĿ", + "Ġ But", + "ĠB ut", + "ĠBu t", + "7 0", + "l oy", + "lo y", + "Ġ double", + "Ġd ouble", + "Ġdo uble", + "Ġdoub le", + "Ġdou ble", + "s g", + "Ġ place", + "Ġp lace", + "Ġpl ace", + "Ġplac e", + "Ġpla ce", + ". x", + "m essage", + "mes sage", + "mess age", + "Ġ information", + "Ġin formation", + "Ġinform ation", + "Ġinformat ion", + "pr ivate", + "priv ate", + "Ġ oper", + "Ġo per", + "Ġop er", + "c ed", + "ce d", + "d b", + "\" > < /", + "P aram", + "Par am", + "Pa ram", + "Para m", + "i cle", + "ic le", + "icl e", + "Ġ week", + "Ġwe ek", + "Ġwee k", + "Ġ prop", + "Ġp rop", + "Ġpro p", + "Ġpr op", + "t able", + "ta ble", + "tab le", + "tabl e", + "id get", + "idge t", + "p lace", + "pl ace", + "pla ce", + "P rop", + "Pro p", + "Pr op", + "Ġ All", + "ĠA ll", + "ĠAl l", + "e ls", + "el s", + "b ox", + "bo x", + ". ĊĊĊĊ", + ".ĊĊ ĊĊ", + ".Ċ ĊĊĊ", + ".ĊĊĊ Ċ", + ". R", + "Ġ To", + "ĠT o", + "i ter", + "it er", + "ite r", + "S h", + "u ration", + "ur ation", + "ura tion", + "urat ion", + "o lder", + "ol der", + "old er", + "_ list", + "_l ist", + "_li st", + "c ome", + "com e", + "co me", + "Ġ sw", + "Ġs w", + "iz ation", + "iza tion", + "ĉ for", + "ĉf or", + "b l", + "Ġ program", + "Ġp rogram", + "Ġpro gram", + "Ġpr ogram", + "Ġprog ram", + "( e", + "a pe", + "ap e", + "c heck", + "ch eck", + "che ck", + ". Forms", + ".Form s", + ".For ms", + "Ġ und", + "Ġu nd", + "Ġun d", + "ateg ory", + "ategor y", + "atego ry", + "7 5", + "a gs", + "ag s", + "Ġ response", + "Ġres ponse", + "Ġrespons e", + "Ġresp onse", + "U S", + "re quest", + "req uest", + "requ est", + "Ġ struct", + "Ġstr uct", + "Ġstru ct", + "e scription", + "es cription", + "Ġ code", + "Ġc ode", + "Ġco de", + "Ġcod e", + "_ H", + "u ffer", + "uff er", + "uf fer", + "Ġ without", + "Ġwith out", + "lo bal", + "lob al", + "M anager", + "Man ager", + "Manage r", + "Mana ger", + "il ter", + "ilt er", + "P O", + "ĉ this", + "ĉt his", + "ĉth is", + "o ption", + "op tion", + "opt ion", + "Ġ sol", + "Ġs ol", + "Ġso l", + "Ġ ===", + "Ġ= ==", + "Ġ== =", + "a kes", + "ak es", + "ake s", + "Cont roller", + "Control ler", + "Contr oller", + "4 4", + "M essage", + "Mes sage", + "Mess age", + "Ġ ref", + "Ġre f", + "Ġr ef", + "e ver", + "ev er", + "eve r", + "Ġ So", + "ĠS o", + "a ining", + "ain ing", + "ai ning", + ". append", + ".app end", + ".ap pend", + "Ġ still", + "Ġst ill", + "Ġstil l", + "Ġpro vid", + "Ġpr ovid", + "Ġprov id", + "Ġ assert", + "Ġas sert", + "Ġass ert", + "m ed", + "me d", + "Ġ cap", + "Ġc ap", + "Ġca p", + "us iness", + "usi ness", + "Ġ rep", + "Ġre p", + "Ġr ep", + "t ings", + "ting s", + "tin gs", + "v ed", + "ve d", + ". N", + "a pi", + "ap i", + "O D", + "Ġ field", + "Ġf ield", + "Ġfi eld", + "Ġfie ld", + "i ven", + "iv en", + "ive n", + "o to", + "ot o", + "âĢ ľ", + "c ol", + "co l", + "( x", + "g ht", + "gh t", + "Res ult", + "C ode", + "Co de", + "Cod e", + ". is", + ".i s", + "l ink", + "li nk", + "lin k", + "Ġ cour", + "Ġc our", + "Ġco ur", + "Ġcou r", + "A n", + "Ġ team", + "Ġt eam", + "Ġte am", + "Ġtea m", + "ĉ int", + "ĉi nt", + "ĉin t", + "i ft", + "if t", + "5 5", + "Ġ second", + "Ġse cond", + "Ġsec ond", + "Ġ going", + "Ġgo ing", + "Ġ range", + "Ġr ange", + "Ġran ge", + "Ġra nge", + "Ġrang e", + "_ E", + "n ess", + "ne ss", + "nes s", + "3 9", + "Ġf am", + "Ġfa m", + "Ġ nil", + "Ġn il", + "Ġni l", + "Ġ Cont", + "ĠC ont", + "ĠCon t", + "ĠCo nt", + "ail able", + "u tes", + "ut es", + "ute s", + "a tab", + "at ab", + "ata b", + "Ġ fact", + "Ġf act", + "Ġfa ct", + "Ġfac t", + "Ġ vis", + "Ġv is", + "Ġvi s", + "( &", + "Ġ AN", + "ĠA N", + "3 1", + "A l", + "t itle", + "ti tle", + "tit le", + "Ġ android", + "Ġand roid", + "C E", + "\\ \"", + "i rt", + "ir t", + "Ġw rit", + "Ġwr it", + "Ð ½", + "ĉ m", + "ft ware", + "o nd", + "on d", + "Ġ ret", + "Ġre t", + "Ġr et", + "os ition", + "osi tion", + "osit ion", + "Ġ home", + "Ġh ome", + "Ġhom e", + "Ġho me", + "Ġ left", + "Ġl eft", + "Ġle ft", + "ar gs", + "arg s", + "m eric", + "mer ic", + "me ric", + "4 8", + "Ġ direct", + "Ġd irect", + "Ġdi rect", + "Ġdir ect", + "Ġdire ct", + "o ci", + "oc i", + "P l", + "A s", + "r et", + "re t", + "a do", + "ad o", + "O f", + "c hn", + "ch n", + "Ġ Get", + "ĠG et", + "ĠGe t", + "e e", + "r oss", + "ro ss", + "ros s", + "( );", + "() ;", + "_ ___", + "__ __", + "___ _", + ". ph", + ".p h", + "I t", + "o ute", + "ou te", + "out e", + "Ġex per", + "Ġexp er", + "ch ool", + "cho ol", + "w ww", + "ww w", + "} ,", + "Ġ allow", + "Ġal low", + "Ġall ow", + "Ġallo w", + "Ġ Â", + "( ))", + "() )", + "s ize", + "si ze", + "siz e", + "i sm", + "is m", + "a i", + "t ract", + "tr act", + "tra ct", + "a ne", + "an e", + ". ..ĊĊ", + ".. .ĊĊ", + "... ĊĊ", + "...Ċ Ċ", + "con text", + "cont ext", + "conte xt", + "Ġ beg", + "Ġb eg", + "Ġbe g", + "C H", + "Ġ page", + "Ġp age", + "Ġpa ge", + "Ġpag e", + "h ip", + "hi p", + "n o", + "c ore", + "co re", + "cor e", + "s p", + "Ġ different", + "Ġd ifferent", + "Ġdiffer ent", + "i able", + "ia ble", + "Ġ Me", + "ĠM e", + "_ IN", + "_I N", + "b utton", + "but ton", + "butt on", + "Ġ Is", + "ĠI s", + "erv ices", + "ervice s", + "Ġ ca", + "Ġc a", + "Ġ around", + "Ġa round", + "Ġar ound", + "Ġarou nd", + "A pp", + "Ap p", + "r ation", + "ra tion", + "rat ion", + "ratio n", + "Ġ rece", + "Ġre ce", + "Ġr ece", + "Ġrec e", + "Ġ really", + "Ġre ally", + "Ġreal ly", + "Ġ image", + "Ġi mage", + "Ġim age", + "Ġimag e", + "Ġima ge", + "Ġ target", + "Ġt arget", + "Ġtar get", + "Ġtarg et", + "Ġ dep", + "Ġd ep", + "Ġde p", + "opy right", + "t ra", + "tr a", + "i ngle", + "in gle", + "ing le", + "i tal", + "it al", + "ita l", + "L ayout", + "Ġ both", + "Ġb oth", + "Ġbo th", + "Ġbot h", + "Over ride", + "a rm", + "ar m", + "= >", + "at erial", + "ate rial", + "ater ial", + "ateria l", + "i led", + "il ed", + "ile d", + "Ġ put", + "Ġp ut", + "Ġpu t", + "Q u", + "Ñ Ģ", + "u ng", + "un g", + "m ap", + "ma p", + "ĉ ĉĉĉĉĉĉĉ", + "ĉĉ ĉĉĉĉĉĉ", + "ĉĉĉĉ ĉĉĉĉ", + "ĉĉĉ ĉĉĉĉĉ", + "ĉĉĉĉĉ ĉĉĉ", + "ĉĉĉĉĉĉ ĉĉ", + "ĉĉĉĉĉĉĉ ĉ", + "Ġ level", + "Ġle vel", + "Ġlev el", + "Ġleve l", + "Com ponent", + "Comp onent", + "b ook", + "bo ok", + "boo k", + "c reen", + "cre en", + "cr een", + "_ RE", + "_R E", + "Ġ config", + "Ġcon fig", + "Ġconf ig", + "ã ģ", + "O r", + ". data", + ".d ata", + ".dat a", + ".da ta", + "Ġ document", + "Ġd ocument", + "Ġdoc ument", + "\" ,\"", + "\", \"", + "trib ute", + "u x", + "L og", + "Lo g", + "f erence", + "fer ence", + "fe rence", + "p ost", + "pos t", + "po st", + "_ e", + "Ġ local", + "Ġl ocal", + "Ġlo cal", + "Ġloc al", + "an dom", + "and om", + "ando m", + "as sert", + "ass ert", + "asse rt", + "asser t", + "V al", + "Va l", + "l ected", + "lect ed", + "lec ted", + "i na", + "in a", + "at abase", + "ata base", + "atab ase", + "A dd", + "Ad d", + "Ġ content", + "Ġc ontent", + "Ġcon tent", + "Ġcont ent", + "Ġconten t", + "Ġconte nt", + ". print", + ".p rint", + ".pr int", + "s igned", + "sign ed", + "sig ned", + "r ic", + "ri c", + ". \"ĊĊ", + ".\" ĊĊ", + ".\"Ċ Ċ", + "Ġ fa", + "Ġf a", + "! ĊĊ", + "!Ċ Ċ", + "- f", + "i ved", + "iv ed", + "ive d", + "Ġ quest", + "Ġqu est", + "Ġque st", + "Ġq uest", + "Ġques t", + ". ex", + ".e x", + "Ġ float", + "Ġf loat", + "Ġflo at", + "Ġ develop", + "Ġde velop", + "Ġdev elop", + "Ġdeve lop", + "Ġdevel op", + "о Ð", + "M ap", + "Ma p", + "a ding", + "ad ing", + "adi ng", + "adin g", + "Ġ poss", + "Ġp oss", + "Ġpos s", + "Ġpo ss", + "U E", + "n amespace", + "name space", + "names pace", + "_ O", + "ĉ b", + ". Get", + ".G et", + ".Ge t", + "> (", + "j son", + "js on", + "e tails", + "et ails", + "etail s", + "eta ils", + "6 6", + "Ġ too", + "Ġt oo", + "Ġto o", + "Ġ extends", + "Ġext ends", + "Ġextend s", + "Ġ None", + "ĠN one", + "ĠNo ne", + "ĠNon e", + "Ġ fore", + "Ġf ore", + "Ġfor e", + "Ġfo re", + "( String", + "(S tring", + "(Str ing", + "form at", + "for mat", + "forma t", + "Ġ great", + "Ġg reat", + "Ġgr eat", + "Ġgre at", + "in ter", + "int er", + "inte r", + "c ale", + "ca le", + "cal e", + "Ñ ģ", + "r on", + "ro n", + "i ving", + "iv ing", + "ivi ng", + "E nt", + "En t", + "e ncy", + "en cy", + "enc y", + "x t", + "o y", + "0 5", + "Ġ month", + "Ġm onth", + "Ġmon th", + "Ġmo nth", + "Ġmont h", + "Ġh app", + "Ġha pp", + "Ġhap p", + "Ġ super", + "Ġs uper", + "Ġsu per", + "Ġsup er", + "b ar", + "ba r", + "d efault", + "de fault", + "def ault", + "_ de", + "_d e", + "or ds", + "ord s", + "l n", + "( {Ċ", + "({ Ċ", + "Ġ Ind", + "ĠI nd", + "ĠIn d", + "a ses", + "as es", + "ase s", + "Ġ title", + "Ġt itle", + "Ġtit le", + "Ġti tle", + "Ġ context", + "Ġcon text", + "Ġcont ext", + "Ġconte xt", + "0 8", + "o h", + "- p", + "E m", + "Ġ met", + "Ġm et", + "Ġme t", + "T est", + "Te st", + "Tes t", + "Ġ life", + "Ġl ife", + "Ġli fe", + "Ġlif e", + "_ v", + "Ġ US", + "ĠU S", + "U I", + "o cation", + "oc ation", + "oca tion", + "m d", + "Ġ [Ċ", + "Ġ[ Ċ", + "Ġ ]", + "s w", + "Ġ incre", + "Ġin cre", + "Ġinc re", + "Ġincr e", + "s cript", + "scri pt", + "scr ipt", + "ent ial", + "enti al", + "w ays", + "way s", + "wa ys", + ". de", + ".d e", + "Ġ src", + "Ġs rc", + "Ġsr c", + "Ġ catch", + "Ġc atch", + "Ġcat ch", + "Ġ Americ", + "ĠA meric", + "ĠAm eric", + "ĠAmer ic", + "/ /Ċ", + "// Ċ", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "Ġ pay", + "Ġp ay", + "Ġpa y", + "p lit", + "pl it", + "âĢ Ķ", + "Ġc oun", + "Ġco un", + "Ġcou n", + "o bj", + "ob j", + ". php", + ".p hp", + ".ph p", + "Ġ change", + "Ġch ange", + "Ġchang e", + "Ġcha nge", + "Ġchan ge", + "e thing", + "eth ing", + "' re", + "'r e", + "a ster", + "as ter", + "ast er", + "aste r", + "l os", + "lo s", + "l ation", + "la tion", + "lat ion", + "Ġ ĠĊ", + "ĠĠ Ċ", + "L e", + "à ¤", + "( {", + "re ady", + "read y", + "rea dy", + "Ġ No", + "ĠN o", + "Ġ position", + "Ġp osition", + "Ġpos ition", + "Ġposit ion", + "Ġposi tion", + "Ġ old", + "Ġo ld", + "Ġol d", + "Ġ book", + "Ġb ook", + "Ġbo ok", + "Ġboo k", + "a bled", + "ab led", + "able d", + "abl ed", + "b ug", + "bu g", + "2 02", + "20 2", + "H and", + "Ha nd", + "Han d", + "} ;ĊĊ", + "};Ċ Ċ", + "}; ĊĊ", + "is play", + "isp lay", + "a ving", + "av ing", + "avi ng", + "avin g", + "0 4", + "Ġg over", + "Ġgo ver", + "Ġgov er", + "Ġ version", + "Ġv ersion", + "Ġvers ion", + "S ystem", + "Sys tem", + "Sy stem", + "n ect", + "ne ct", + "res ponse", + "resp onse", + "respons e", + "St yle", + "U p", + "an gu", + "ang u", + "Ġ three", + "Ġth ree", + "Ġthr ee", + "i nit", + "in it", + "ini t", + "e ro", + "er o", + "Ġ law", + "Ġl aw", + "Ġla w", + "en dif", + "end if", + "endi f", + "Ġ base", + "Ġb ase", + "Ġbas e", + "Ġba se", + "e mail", + "em ail", + "ema il", + "( l", + "_ V", + "Ġ conf", + "Ġcon f", + "Ġco nf", + "A TE", + "AT E", + "Ġ during", + "Ġd uring", + "Ġdu ring", + "Ġdur ing", + "t es", + "te s", + "Ġ console", + "Ġcon sole", + "Ġcons ole", + "Ġ Pr", + "ĠP r", + "Ġ spe", + "Ġs pe", + "Ġsp e", + "v es", + "ve s", + "6 5", + "p ath", + "pat h", + "pa th", + "i alog", + "ial og", + "ia log", + "d ition", + "di tion", + "dit ion", + "_ to", + "_t o", + "ar ds", + "ard s", + "Ġ against", + "Ġagain st", + "et work", + "Ġ Ph", + "ĠP h", + "_ L", + "c ur", + "cu r", + "i mit", + "im it", + "imi t", + "W ith", + "Wi th", + "Ġ power", + "Ġp ower", + "Ġpo wer", + "Ġpow er", + "i um", + "iu m", + "' ;ĊĊ", + "';Ċ Ċ", + "'; ĊĊ", + "Ġw om", + "Ġwo m", + "l eft", + "le ft", + "lef t", + "our ces", + "ource s", + "a tri", + "at ri", + "atr i", + "Ġ Im", + "ĠI m", + "Ġ Man", + "ĠM an", + "ĠMa n", + "or th", + "ort h", + "$ {", + "8 8", + "qu als", + "qual s", + "qua ls", + "e se", + "es e", + "_ size", + "_s ize", + "_si ze", + "Ġ iss", + "Ġis s", + "Ġi ss", + "o tal", + "ot al", + "ota l", + "- g", + "i que", + "iqu e", + "iq ue", + "r ame", + "ra me", + "ram e", + "Ġ width", + "Ġw idth", + "Ġwid th", + "e rg", + "er g", + ") (", + "it tle", + "itt le", + "T R", + "Ġ They", + "ĠT hey", + "ĠThe y", + "ĠTh ey", + "e nces", + "en ces", + "ence s", + "enc es", + "0 2", + "r l", + "o ns", + "on s", + "Ġ label", + "Ġl abel", + "Ġla bel", + "Ġlab el", + ". y", + "- t", + "up date", + "upd ate", + "a nel", + "an el", + "ane l", + "s c", + ". to", + ".t o", + "Ġ project", + "Ġpro ject", + "Ġproj ect", + "Ġproje ct", + "à ¼", + "Ġ element", + "Ġe lement", + "Ġel ement", + "Ġele ment", + "Ġelem ent", + "Ġ success", + "Ġs uccess", + "Ġsu ccess", + "Ġsuc cess", + "Ġsucc ess", + "Ġsucces s", + "ĉ ĉĊ", + "ĉĉ Ċ", + ". sh", + ".s h", + "r am", + "ra m", + "c hed", + "ch ed", + "che d", + "( ))Ċ", + "() )Ċ", + "()) Ċ", + "Ġ (Ċ", + "Ġ( Ċ", + "Ġ date", + "Ġd ate", + "Ġda te", + "Ġdat e", + "Ġ tot", + "Ġt ot", + "Ġto t", + "_ ST", + "_S T", + "A ll", + "Al l", + "if ication", + "ific ation", + "ifi cation", + "ifica tion", + "ĉ var", + "ĉv ar", + "ĉva r", + "Ġ tri", + "Ġt ri", + "Ġtr i", + "c hem", + "ch em", + "che m", + "m y", + "Ġ big", + "Ġb ig", + "Ġbi g", + "Ġ Ad", + "ĠA d", + "Ġ At", + "ĠA t", + "o ts", + "ot s", + "n um", + "nu m", + "A ct", + "Ac t", + "Ġ map", + "Ġm ap", + "Ġma p", + "e ra", + "er a", + "c ope", + "co pe", + "cop e", + ". $", + ", âĢĿ", + "Ġ pop", + "Ġp op", + "Ġpo p", + "Ġ few", + "Ġf ew", + "Ġfe w", + "Ġ len", + "Ġl en", + "Ġle n", + "u id", + "ui d", + "e ters", + "et ers", + "eter s", + "ete rs", + "u les", + "ul es", + "ule s", + "à Ń", + "s ource", + "ht tps", + "http s", + "htt ps", + "Ġ dem", + "Ġd em", + "Ġde m", + "Ġ ear", + "Ġe ar", + "Ġea r", + "#### ############", + "######## ########", + "############ ####", + "Ġ match", + "Ġm atch", + "Ġmat ch", + "o ries", + "or ies", + "ori es", + "orie s", + "4 9", + "a ces", + "ace s", + "ac es", + "Ġ Cl", + "ĠC l", + "Ġ node", + "Ġn ode", + "Ġno de", + "Ġnod e", + "7 8", + "i rc", + "ir c", + "l ocal", + "lo cal", + "loc al", + "un ity", + "unit y", + "uni ty", + "} ;Ċ", + "}; Ċ", + "Ġ another", + "Ġan other", + "Ġano ther", + "< <", + "o gle", + "og le", + "ogl e", + "Ġ sit", + "Ġs it", + "Ġsi t", + "e work", + "ew ork", + "T E", + ". I", + "N S", + "o logy", + "ol ogy", + "olog y", + "olo gy", + "o ught", + "ou ght", + "ough t", + "oug ht", + ". Cont", + ".C ont", + ".Con t", + ".Co nt", + "> >", + "Ġ care", + "Ġc are", + "Ġcar e", + "Ġca re", + "st ate", + "stat e", + "sta te", + "ĉ private", + "ĉpr ivate", + "ĉpriv ate", + "Ġ effect", + "Ġe ffect", + "Ġeff ect", + "Ġef fect", + "+ +)", + "++ )", + "_ file", + "_f ile", + "_fil e", + "en ding", + "end ing", + "endi ng", + "L ine", + "Li ne", + "Lin e", + "F or", + "Fo r", + "i or", + "io r", + "Ġ Sc", + "ĠS c", + "Ġ fun", + "Ġf un", + "Ġfu n", + ". Size", + ".S ize", + "ĉ else", + "ĉe lse", + "ĉel se", + "] )", + "st art", + "star t", + "sta rt", + "v ious", + "vi ous", + "vio us", + "Ġ },", + "Ġ} ,", + "o urs", + "ou rs", + "our s", + "Ġ leg", + "Ġl eg", + "Ġle g", + "Ġ service", + "Ġs ervice", + "Ġser vice", + "Ġserv ice", + "Ġservi ce", + "Ġservic e", + "Ġ since", + "Ġs ince", + "Ġsi nce", + "Ġsin ce", + "Ġsinc e", + "i ron", + "ir on", + "iro n", + "L abel", + "La bel", + "Lab el", + "Ġ non", + "Ġn on", + "Ġno n", + "Ġ los", + "Ġl os", + "Ġlo s", + "i ction", + "ic tion", + "ict ion", + "Ġ full", + "Ġf ull", + "Ġful l", + "Ġfu ll", + "a cter", + "act er", + "ac ter", + "b oard", + "bo ard", + "boa rd", + "g ress", + "gr ess", + "gre ss", + "gres s", + "Ġ turn", + "Ġt urn", + "Ġtu rn", + "Ġtur n", + "i ther", + "it her", + "ith er", + "ithe r", + "0 9", + ". size", + ".s ize", + ".si ze", + "Ġ body", + "Ġb ody", + "Ġbo dy", + "Ġbod y", + "r esh", + "re sh", + "res h", + "e turn", + "et urn", + "etur n", + "etu rn", + "1 99", + "19 9", + "( _", + "y les", + "yle s", + "yl es", + "or mal", + "orm al", + "p i", + "Ġ something", + "Ġs omething", + "Ġsome thing", + "Ġsom ething", + "! --", + "u int", + "ui nt", + "uin t", + "Ġ produ", + "Ġp rodu", + "Ġpro du", + "Ġpr odu", + "Ġprod u", + "Ġ stand", + "Ġst and", + "Ġsta nd", + "Ġstan d", + "Ġpro ble", + "Ġpr oble", + "Ġprob le", + "Ġprobl e", + "Ġ available", + "Ġa vailable", + "Ġav ailable", + "Ġavail able", + "m t", + "Ġ Bl", + "ĠB l", + "Ġ ...", + "Ġ. ..", + "Ġ.. .", + "Ġ block", + "Ġb lock", + "Ġbl ock", + "Ġblo ck", + "Ġbloc k", + "In put", + "Ġ keep", + "Ġke ep", + "C ount", + "Co unt", + "Cou nt", + "o pen", + "op en", + "ope n", + "Ġ ['", + "Ġ[ '", + "Ġ throw", + "Ġth row", + "Ġthr ow", + "Ġthro w", + "u ilder", + "uild er", + "ui lder", + "uil der", + "A ction", + "Act ion", + "Ac tion", + "Ġ things", + "Ġth ings", + "Ġthing s", + "Ġthin gs", + "Tr ue", + "Ġ url", + "Ġu rl", + "Ġur l", + "Ġ Bo", + "ĠB o", + "print f", + "Ġ red", + "Ġre d", + "Ġr ed", + "j s", + ". create", + ".c reate", + "Ġ Or", + "ĠO r", + "S tatus", + "St atus", + "Stat us", + "In stance", + "Inst ance", + "Ġ control", + "Ġc ontrol", + "Ġcont rol", + "Ġcontr ol", + "Ġcontro l", + "Ġ come", + "Ġc ome", + "Ġcom e", + "Ġco me", + "Ġ custom", + "Ġc ustom", + "Ġcust om", + "Ġcus tom", + "l ocation", + "lo cation", + "loc ation", + "0 7", + "m odel", + "mod el", + "mo del", + "mode l", + "Ġ čĊ", + "Ġč Ċ", + "Ġ source", + "Ġs ource", + "Ġsour ce", + "Ġe as", + "Ġea s", + ". out", + ".o ut", + "] ĊĊ", + "]Ċ Ċ", + "o ney", + "on ey", + "one y", + "Ġ await", + "Ġa wait", + "Ġaw ait", + "Ġp artic", + "Ġpart ic", + "Ġpar tic", + "Ġparti c", + "A P", + "ub lish", + "ubl ish", + "o des", + "od es", + "ode s", + "_ pro", + "_p ro", + "_pr o", + "p ly", + "pl y", + "r iter", + "ri ter", + "rit er", + "rite r", + "Ġ prov", + "Ġp rov", + "Ġpro v", + "Ġpr ov", + "Ġ mill", + "Ġm ill", + "Ġmil l", + "Ġmi ll", + "H T", + "] )Ċ", + "]) Ċ", + "Ġ chang", + "Ġc hang", + "Ġch ang", + "Ġcha ng", + "Ġchan g", + "Ġ ask", + "Ġa sk", + "Ġas k", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "Ġ output", + "Ġout put", + "Ġ email", + "Ġe mail", + "Ġem ail", + "6 8", + ". push", + ".p ush", + "Ġ }čĊčĊ", + "Ġ} čĊčĊ", + "Ġ}čĊ čĊ", + "i nation", + "in ation", + "ina tion", + "inati on", + "4 7", + "at rix", + "atri x", + "atr ix", + "T able", + "Tab le", + "Ta ble", + "u ccess", + "uc cess", + "ucc ess", + "] );Ċ", + "]) ;Ċ", + "]); Ċ", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ disc", + "Ġd isc", + "Ġdis c", + "Ġdi sc", + "( [", + "Ġ business", + "Ġb usiness", + "Ġbus iness", + "h eight", + "he ight", + "hei ght", + ". html", + ".h tml", + ".ht ml", + ".htm l", + "t a", + "f ield", + "fi eld", + "Ġ required", + "Ġre quired", + "Ġrequire d", + "Ġrequ ired", + "_ R", + "Ġg overn", + "Ġgo vern", + "Ġgover n", + "Ġgov ern", + "} čĊčĊ", + "}čĊ čĊ", + "l ex", + "le x", + "5 00", + "50 0", + ". ,", + "Ġ Set", + "ĠS et", + "ĠSe t", + "u rch", + "ur ch", + "/ //", + "// /", + "t s", + "a f", + "Ġ might", + "Ġm ight", + "Ġmi ght", + "Ġmig ht", + "i story", + "ist ory", + "istor y", + "isto ry", + "S tr", + "St r", + "Ġ never", + "Ġn ever", + "Ġne ver", + "Ġnev er", + "Res ponse", + "Resp onse", + "Respons e", + "ar se", + "ars e", + "a da", + "ad a", + "Ġ How", + "ĠH ow", + "ĠHo w", + "Ġ *)", + "Ġ* )", + "Ġ ;", + "Ġ hard", + "Ġh ard", + "Ġhar d", + "Ġha rd", + "A d", + "Ġ intern", + "Ġin tern", + "Ġint ern", + "Ġinter n", + "Ġinte rn", + "u sed", + "us ed", + "use d", + "( data", + "(d ata", + "(dat a", + "(da ta", + "m od", + "mo d", + "an nel", + "ann el", + "anne l", + "Ġ np", + "Ġn p", + "u gg", + "ug g", + "Ġ />Ċ", + "Ġ/ >Ċ", + "Ġ/> Ċ", + "Ġ called", + "Ġc alled", + "Ġcall ed", + "Ġcal led", + "Ġcalle d", + "b ody", + "bo dy", + "Ġ cho", + "Ġc ho", + "Ġch o", + "( r", + "_ set", + "_s et", + "_se t", + "i rd", + "ir d", + "Ġ >=", + "Ġ> =", + "Ġ };Ċ", + "Ġ} ;Ċ", + "Ġ}; Ċ", + "Ġ options", + "Ġo ptions", + "Ġoption s", + "Ġopt ions", + "Ġ Gener", + "ĠG ener", + "ĠGe ner", + "ĠGen er", + "ĠGene r", + "Ġ height", + "Ġh eight", + "Ġhe ight", + "Ġhei ght", + "P oint", + "Po int", + "Y ou", + "Yo u", + "e ty", + "et y", + "C lick", + "Cl ick", + "Cli ck", + "Ġ small", + "Ġs mall", + "Ġsm all", + "Ġ ide", + "Ġi de", + "Ġid e", + "Ġ access", + "Ġa ccess", + "Ġacc ess", + "Ġac cess", + "Ġacces s", + "angu age", + "Ġ protected", + "Ġprot ected", + "Ġprotect ed", + "Ġ job", + "Ġj ob", + "Ġjo b", + "Ġ There", + "ĠT here", + "ĠThe re", + "ĠTh ere", + "ĠTher e", + "D ef", + "De f", + "Ġ address", + "Ġadd ress", + "Ġad dress", + "Ġaddr ess", + "Ġ uint", + "Ġu int", + "Ġui nt", + "N ot", + "No t", + "o o", + "a ps", + "ap s", + "< div", + "", + "() ->", + "()- >", + "ĉ ĠĠĠ", + "ĉĠ ĠĠ", + "ĉĠĠ Ġ", + "\" ))", + "\") )", + "C ontent", + "Cont ent", + "Con tent", + "_ W", + "p lement", + "pl ement", + "ple ment", + "Ġ won", + "Ġw on", + "Ġwo n", + "Ġ video", + "Ġv ideo", + "Ġvi deo", + "Ġvid eo", + "Ġvide o", + "a di", + "ad i", + "p oint", + "po int", + "poi nt", + "% %", + "0 3", + "Ġ gl", + "Ġg l", + "er ved", + "erv ed", + "erve d", + "v iron", + "vi ron", + "vir on", + "I F", + "u ted", + "ut ed", + "ute d", + "ã ĥ", + "' m", + "Ġ cert", + "Ġc ert", + "Ġce rt", + "Ġcer t", + "Ġ prof", + "Ġp rof", + "Ġpro f", + "Ġpr of", + "Ġ cell", + "Ġc ell", + "Ġce ll", + "Ġcel l", + "a ri", + "ar i", + "Ġ player", + "Ġp layer", + "Ġpl ayer", + "Ġplay er", + "Ġpla yer", + "a is", + "ai s", + "Ġ cost", + "Ġc ost", + "Ġco st", + "Ġcos t", + "Ġ hum", + "Ġh um", + "Ġhu m", + "( R", + "Ġo ffic", + "Ġof fic", + "Ġoff ic", + "k s", + ". text", + ".t ext", + ".te xt", + ".tex t", + "a tures", + "at ures", + "ature s", + "atur es", + "atu res", + "Ġ total", + "Ġt otal", + "Ġto tal", + "Ġtot al", + "Ġ */ĊĊ", + "Ġ* /ĊĊ", + "Ġ*/ ĊĊ", + "Ġ*/Ċ Ċ", + "o pe", + "op e", + "Ġ stat", + "Ġs tat", + "Ġst at", + "Ġsta t", + "U M", + "Ġ load", + "Ġl oad", + "Ġlo ad", + "Ġloa d", + "ight s", + "igh ts", + "Ġ clear", + "Ġc lear", + "Ġcl ear", + "Ġcle ar", + "u ro", + "ur o", + "Ġ techn", + "Ġt echn", + "Ġte chn", + "Ġtech n", + "Ġtec hn", + "up port", + "upp ort", + "I R", + "Ġ row", + "Ġr ow", + "Ġro w", + "Ġse em", + "Ġsee m", + "Ġ q", + "Ġ short", + "Ġs hort", + "Ġsh ort", + "Ġsho rt", + "Ġ Not", + "ĠN ot", + "ĠNo t", + "i pp", + "ip p", + "G roup", + "Gr oup", + "Gro up", + "s ection", + "se ction", + "sec tion", + "sect ion", + "m ax", + "ma x", + "i rl", + "ir l", + "Ġ override", + "Ġover ride", + "Ġ company", + "Ġcom pany", + "Ġcomp any", + "Ġcompan y", + "Ġ done", + "Ġd one", + "Ġdo ne", + "Ġdon e", + "\" );čĊ", + "\") ;čĊ", + "\"); čĊ", + "Ġ gre", + "Ġg re", + "Ġgr e", + ". Re", + ".R e", + "Ġ belie", + "Ġbe lie", + "Ġbel ie", + "r ist", + "ri st", + "ris t", + "Ġ health", + "Ġhe alth", + "Ġheal th", + "A NT", + "AN T", + "( )ĊĊ", + "() ĊĊ", + "()Ċ Ċ", + "Ġ Be", + "ĠB e", + ". value", + ".v alue", + ".val ue", + ".va lue", + "Ġ Gr", + "ĠG r", + "ot tom", + "ott om", + "otto m", + "Ġ args", + "Ġar gs", + "Ġarg s", + "P T", + "s tatus", + "st atus", + "stat us", + "f unc", + "fun c", + "fu nc", + "u ments", + "um ents", + "ument s", + "ume nts", + "umen ts", + "- h", + "N umber", + "Num ber", + ": čĊ", + "Ġ Log", + "ĠL og", + "ĠLo g", + "er ver", + "erv er", + "erve r", + "Ġ ),Ċ", + "Ġ) ,Ċ", + "Ġ), Ċ", + "a ment", + "am ent", + "ame nt", + "amen t", + "Ġ obj", + "Ġo bj", + "Ġob j", + "i nc", + "in c", + "Ġ children", + "Ġch ildren", + "Ġchild ren", + "i cy", + "ic y", + "I Z", + "a nds", + "an ds", + "and s", + "ab ly", + "abl y", + "Ġd istrib", + "Ġdis trib", + "Ġdist rib", + "Ġdistr ib", + "Ġ cur", + "Ġc ur", + "Ġcu r", + "e rial", + "er ial", + "eri al", + "eria l", + "Ġ days", + "Ġd ays", + "Ġday s", + "Ġda ys", + "r eated", + "re ated", + "reate d", + "reat ed", + "rea ted", + "r ect", + "re ct", + "rec t", + "- l", + "i rm", + "ir m", + "i dden", + "id den", + "idd en", + "o mb", + "om b", + "Ġ initial", + "Ġin itial", + "Ġinit ial", + "Ġiniti al", + ". js", + ".j s", + "Ġ â", + "Qu ery", + "Que ry", + "Ġ online", + "Ġon line", + "i mal", + "im al", + "ima l", + ". con", + ".c on", + ".co n", + "a u", + "U rl", + "Ur l", + "c ontrol", + "cont rol", + "contr ol", + "contro l", + "i rection", + "ir ection", + "ire ction", + "irect ion", + "Ġ instance", + "Ġin stance", + "Ġinst ance", + "O RT", + "OR T", + "Ġ Fr", + "ĠF r", + "w here", + "wh ere", + "Ġ javax", + "Ġj avax", + "Ġjav ax", + "Ġjava x", + "Ġ organ", + "Ġo rgan", + "Ġor gan", + "Ġorg an", + "a pter", + "ap ter", + "apt er", + "Ġ reason", + "Ġre ason", + "o ptions", + "option s", + "opt ions", + "5 9", + "Ġ Mar", + "ĠM ar", + "ĠMa r", + "( a", + "Ġ within", + "Ġwith in", + "Ġwi thin", + "Ġwit hin", + ". âĢĿĊĊ", + ".âĢĿ ĊĊ", + ".âĢĿĊ Ċ", + "O DE", + "OD E", + "_ DE", + "_D E", + "ad min", + "adm in", + "en ded", + "end ed", + "ende d", + "Ġ design", + "Ġd esign", + "Ġde sign", + "Ġdes ign", + "Ġdesi gn", + "Ġ Data", + "ĠD ata", + "ĠDa ta", + "ĠDat a", + "u ne", + "un e", + "Ġ File", + "ĠF ile", + "ĠFil e", + "ĠFi le", + "r oot", + "ro ot", + "Ġ cent", + "Ġc ent", + "Ġce nt", + "Ġcen t", + "Ġ arr", + "Ġa rr", + "Ġar r", + "_ add", + "_a dd", + "_ad d", + "l en", + "le n", + "p age", + "pa ge", + "pag e", + ", '", + "_ str", + "_s tr", + "_st r", + "Ġ bro", + "Ġb ro", + "Ġbr o", + "ab ility", + "abil ity", + "abilit y", + "o uth", + "ou th", + "out h", + "5 8", + "/ c", + "p ose", + "pos e", + "po se", + "ir tual", + "irt ual", + "e arch", + "ear ch", + "ea rch", + "_ url", + "_u rl", + "_ur l", + "ar gin", + "arg in", + "H ttp", + "Ġ school", + "Ġs chool", + "Ġsch ool", + "Ġscho ol", + "a va", + "av a", + "Ġ consider", + "Ġcons ider", + "Ġconsid er", + ". label", + ".l abel", + ".lab el", + "Ġ Array", + "ĠA rray", + "ĠAr ray", + "ĠArr ay", + "4 2", + "w eb", + "we b", + "o pt", + "op t", + ". println", + ".print ln", + "u lation", + "ul ation", + "ula tion", + "Ġ func", + "Ġf unc", + "Ġfun c", + "Ġfu nc", + "P L", + "Ġ \"\\", + "Ġ\" \\", + "Ġ Text", + "ĠT ext", + "ĠTe xt", + "ĠTex t", + "act ory", + "actor y", + "( function", + "(f unction", + "(func tion", + "(fun ction", + "n ull", + "nu ll", + "nul l", + "Ġ eng", + "Ġe ng", + "Ġen g", + "d own", + "do wn", + "Ġ include", + "Ġin clude", + "Ġinclud e", + "Ġinc lude", + "Ġincl ude", + "Ġinclu de", + "Ġ En", + "ĠE n", + "Ġ Dr", + "ĠD r", + "Ġ db", + "Ġd b", + "! !", + "s ide", + "si de", + "sid e", + "Ġ init", + "Ġin it", + "Ġi nit", + "Ġini t", + "qu ired", + "quire d", + "quir ed", + "qui red", + "Ġ She", + "ĠS he", + "ĠSh e", + "C olumn", + "Col umn", + "re act", + "rea ct", + "Ġ ann", + "Ġa nn", + "Ġan n", + "Ġ stop", + "Ġs top", + "Ġst op", + "Ġsto p", + "Ġ later", + "Ġl ater", + "Ġla ter", + "Ġlate r", + "Ġlat er", + "Ġ That", + "ĠT hat", + "ĠTh at", + "en tion", + "ent ion", + "enti on", + "d f", + "U G", + "I LE", + "IL E", + "Ġ client", + "Ġc lient", + "Ġcl ient", + "Ġcli ent", + "r aft", + "ra ft", + "raf t", + "f fer", + "ff er", + "ffe r", + "P OST", + "PO ST", + "POS T", + "el per", + "elp er", + "Ġ love", + "Ġl ove", + "Ġlo ve", + "Ġlov e", + "qu ote", + "quot e", + "quo te", + "o ud", + "ou d", + "Ġ json", + "Ġj son", + "Ġjs on", + "Ġ able", + "Ġa ble", + "Ġab le", + "Ġabl e", + "Ġ men", + "Ġm en", + "Ġme n", + "A X", + "Ġ Copyright", + "ĠC opyright", + "ĠCopy right", + "à ¶", + "a vig", + "av ig", + "avi g", + "r eq", + "re q", + "C lient", + "Cl ient", + "Cli ent", + "} );Ċ", + "}) ;Ċ", + "}); Ċ", + ". Com", + ".C om", + ".Co m", + "e rc", + "er c", + "i lt", + "il t", + "p ecial", + "pe cial", + "pec ial", + "pecia l", + "_ com", + "_c om", + "_co m", + "r oom", + "ro om", + ". Name", + ".N ame", + "Ġ give", + "Ġg ive", + "Ġgi ve", + "a mb", + "am b", + "i ke", + "ik e", + "Ġ condition", + "Ġcon dition", + "Ġcond ition", + "Ġcondi tion", + "c lient", + "cl ient", + "cli ent", + "a tors", + "at ors", + "ator s", + "ato rs", + ": \"", + "Ġ copy", + "Ġc opy", + "Ġco py", + "Ġcop y", + "u ture", + "ut ure", + "ivers ity", + "iversit y", + "er nal", + "ern al", + "erna l", + "{ {", + "Ġ Can", + "ĠC an", + "ĠCa n", + "o unc", + "ou nc", + "oun c", + "d o", + "Ġ occ", + "Ġo cc", + "Ġoc c", + "Ġ appro", + "Ġapp ro", + "Ġap pro", + "th ers", + "ther s", + "the rs", + "z e", + "Ġ either", + "Ġe ither", + "Ġei ther", + "Ġ Fl", + "ĠF l", + "Ġ important", + "Ġimport ant", + "Ġ lead", + "Ġl ead", + "Ġle ad", + "at tr", + "att r", + "A RT", + "AR T", + "E qual", + "Equ al", + "Eq ual", + "Ġ da", + "Ġd a", + "et ch", + "etc h", + "e ntity", + "ent ity", + "enti ty", + "Ġ family", + "Ġf amily", + "Ġfam ily", + "Ġfamil y", + "ad ding", + "add ing", + "addin g", + "Ġ option", + "Ġo ption", + "Ġop tion", + "Ġopt ion", + "Ġ exist", + "Ġex ist", + "i ca", + "ic a", + "Ġ Object", + "ĠO bject", + "ĠOb ject", + "ĠObj ect", + "6 9", + "' ve", + "v ers", + "ver s", + "ve rs", + "it ional", + "ition al", + "iti onal", + "6 7", + "out put", + "Ġ True", + "ĠTr ue", + "ĠTru e", + "Ġ OF", + "ĠO F", + "_ time", + "_t ime", + "_tim e", + "_ti me", + "Ġ offer", + "Ġo ffer", + "Ġof fer", + "Ġoff er", + "Ġ });ĊĊ", + "Ġ} );ĊĊ", + "Ġ});Ċ Ċ", + "Ġ}) ;ĊĊ", + "Ġ}); ĊĊ", + "H ER", + "HE R", + "e gin", + "eg in", + "\" \"", + "Ġ water", + "Ġw ater", + "Ġwa ter", + "Ġwat er", + "Ġ che", + "Ġc he", + "Ġch e", + "Ġ My", + "ĠM y", + "o red", + "or ed", + "ore d", + "Ġ step", + "Ġs tep", + "Ġst ep", + "Ġste p", + "a nces", + "an ces", + "ance s", + "anc es", + "C K", + "A Y", + "à ¸", + "str uction", + "struct ion", + "stru ction", + "( C", + "3 00", + "30 0", + "o uch", + "ou ch", + "St ream", + "Str eam", + "act ive", + "activ e", + "a ma", + "am a", + "E ntity", + "Ent ity", + "pro duct", + "produ ct", + "prod uct", + "( ){Ċ", + "() {Ċ", + "(){ Ċ", + "Ġ government", + "Ġg overnment", + "Ġgovern ment", + "Ġ ID", + "ĠI D", + "aj or", + "ajo r", + "A nd", + "An d", + "Ġ display", + "Ġd isplay", + "Ġdis play", + "Ġdisp lay", + "Ġdispl ay", + "Ð »", + "Ġ times", + "Ġt imes", + "Ġtime s", + "Ġtim es", + "Ġti mes", + "Ġ four", + "Ġf our", + "Ġfo ur", + "Ġfou r", + "Ġ far", + "Ġf ar", + "Ġfa r", + "Ġ present", + "Ġp resent", + "Ġpre sent", + "Ġpres ent", + "Ġ NS", + "ĠN S", + "Ġ \\Ċ", + "Ġ\\ Ċ", + "u est", + "ue st", + "ues t", + "Ġ bas", + "Ġb as", + "Ġba s", + "e cho", + "ec ho", + "ech o", + "ch ild", + "chi ld", + "if ier", + "ifi er", + "ifie r", + "H andler", + "Hand ler", + "Handle r", + "Ġ lib", + "Ġl ib", + "Ġli b", + "P roperty", + "Pro perty", + "Prop erty", + "trans lation", + "Ġ room", + "Ġr oom", + "Ġro om", + "Ġ once", + "Ġo nce", + "Ġon ce", + "Ġonc e", + "Ġ []", + "Ġ[ ]", + "c enter", + "cent er", + "cen ter", + "cente r", + "================ ================", + "Ġ results", + "Ġres ults", + "Ġresult s", + "Ġ continue", + "Ġcont inue", + "Ġcontin ue", + "Ġcontinu e", + "Ġ talk", + "Ġt alk", + "Ġtal k", + "Ġta lk", + "_ get", + "_g et", + "_ge t", + "Ġ grow", + "Ġg row", + "Ġgr ow", + "Ġgro w", + ". sw", + ".s w", + "e b", + "Ġ Public", + "ĠP ublic", + "ĠPub lic", + "O P", + "ec ute", + "ecut e", + "o ls", + "ol s", + "Ġ **", + "Ġ* *", + "\" );ĊĊ", + "\");Ċ Ċ", + "\") ;ĊĊ", + "\"); ĊĊ", + "Ġ mass", + "Ġm ass", + "Ġma ss", + "Ġmas s", + "u red", + "ur ed", + "ure d", + ". class", + ".c lass", + ".cl ass", + "o mic", + "om ic", + "omi c", + "Ġ mean", + "Ġm ean", + "Ġme an", + "i ps", + "ip s", + "Ġ aut", + "Ġa ut", + "Ġau t", + ") ;čĊčĊ", + ");čĊ čĊ", + "); čĊčĊ", + "Ġ until", + "Ġun til", + "Ġunt il", + "Ġ market", + "Ġm arket", + "Ġmark et", + "Ġmar ket", + "Ġ area", + "Ġa rea", + "Ġare a", + "Ġar ea", + "u it", + "ui t", + "Ġ length", + "Ġl ength", + "Ġle ngth", + "Ġlen gth", + "Ġleng th", + "Ġ With", + "ĠW ith", + "ĠWi th", + "ĠWit h", + "str uctor", + "struct or", + "stru ctor", + "e vent", + "ev ent", + "even t", + "eve nt", + "\" ><", + "\"> <", + "Ġ Sp", + "ĠS p", + "I V", + "Ġ mus", + "Ġm us", + "Ġmu s", + "i ff", + "if f", + "Ġ kind", + "Ġk ind", + "Ġki nd", + "Ġkin d", + "a uthor", + "aut hor", + "auth or", + "o unds", + "ou nds", + "ound s", + "oun ds", + "m b", + "_ key", + "_k ey", + "_ke y", + "4 1", + "w idth", + "wid th", + "pos itory", + "posit ory", + "positor y", + "Ġ light", + "Ġl ight", + "Ġli ght", + "Ġlig ht", + "u k", + "R ow", + "Ro w", + "o hn", + "oh n", + "a lf", + "al f", + "viron ment", + "a pper", + "ap per", + "app er", + "appe r", + "ol lections", + "oll ections", + "ollection s", + "ollect ions", + "olle ctions", + "Ġ side", + "Ġs ide", + "Ġsi de", + "Ġsid e", + "_ info", + "_in fo", + "_inf o", + "Ġ example", + "Ġex ample", + "Ġexam ple", + "i mary", + "im ary", + "ima ry", + "imar y", + "Ġ wr", + "Ġw r", + "Ġ camp", + "Ġc amp", + "Ġca mp", + "Ġcam p", + "cri be", + "cr ibe", + "2 55", + "25 5", + "\" /", + "Ġ miss", + "Ġm iss", + "Ġmis s", + "Ġmi ss", + "w ay", + "wa y", + "Ġ based", + "Ġb ased", + "Ġbase d", + "Ġbas ed", + "Ġba sed", + "Ġ plan", + "Ġp lan", + "Ġpl an", + "Ġpla n", + "V is", + "Vi s", + "o main", + "om ain", + "oma in", + "u nk", + "un k", + "Ġ away", + "Ġa way", + "Ġaw ay", + "U P", + "< T", + "O S", + "i od", + "io d", + "Ġ Mon", + "ĠM on", + "ĠMo n", + "âĢĻ re", + "Ġ lik", + "Ġl ik", + "Ġli k", + "à §", + "i vely", + "iv ely", + "ive ly", + "ivel y", + ". v", + "i mer", + "im er", + "ime r", + "i zer", + "iz er", + "ize r", + "S ub", + "Su b", + "Ġ button", + "Ġb utton", + "Ġbut ton", + "Ġbutt on", + "Ġbutto n", + "Ġ Up", + "ĠU p", + "Ġ experience", + "Ġex perience", + "Ġexper ience", + "Ġexperi ence", + "C L", + "Ġ render", + "Ġre nder", + "Ġr ender", + "Ġren der", + "Ġrend er", + "_ value", + "_v alue", + "_val ue", + "_va lue", + "Ġ near", + "Ġn ear", + "Ġne ar", + "U RL", + "UR L", + "a lt", + "al t", + "Ġ country", + "Ġc ountry", + "Ġcount ry", + "Ġcoun try", + "ib ility", + "ibil ity", + "ibilit y", + "ibili ty", + "5 7", + "( ),Ċ", + "() ,Ċ", + "(), Ċ", + "e ad", + "ea d", + "Ġ author", + "Ġa uthor", + "Ġaut hor", + "Ġauth or", + "Ġ specific", + "Ġs pecific", + "Ġspec ific", + "Ġspeci fic", + "b ase", + "ba se", + "bas e", + "( name", + "(n ame", + "o nes", + "on es", + "one s", + "Ġ Do", + "ĠD o", + "Ġ along", + "Ġa long", + "Ġal ong", + "Ġalo ng", + "y ear", + "ye ar", + "Ġ express", + "Ġex press", + "Ġexp ress", + "Ġexpr ess", + "Ġexpres s", + ". '", + "e nv", + "en v", + "Ġ begin", + "Ġb egin", + "Ġbe gin", + "Ġbeg in", + "Ġ software", + "Ġs oftware", + "Ġso ftware", + "Ġsoft ware", + "Ġ imp", + "Ġi mp", + "Ġim p", + "Ġ win", + "Ġw in", + "Ġwi n", + "ó n", + "Ġ thing", + "Ġth ing", + "Ġthin g", + "Ġthi ng", + "T rans", + "Tr ans", + "Tra ns", + "Ġ THE", + "ĠT HE", + "ĠTH E", + "Ġ ", + "Ġ? >", + "Ġ den", + "Ġd en", + "Ġde n", + "ob ile", + "obi le", + "obil e", + "ch ange", + "chan ge", + "cha nge", + "chang e", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "i ci", + "ic i", + "n a", + "Ġ Form", + "ĠF orm", + "ĠFor m", + "ĠFo rm", + "Ġ sort", + "Ġs ort", + "Ġso rt", + "Ġsor t", + "S elect", + "Se lect", + "Sel ect", + "Sele ct", + "p are", + "par e", + "pa re", + "Ġ thought", + "Ġth ought", + "Ġthough t", + "Ġthou ght", + "Ġtho ught", + "_ con", + "_c on", + "_co n", + "Ġ task", + "Ġt ask", + "Ġta sk", + "Ġtas k", + "o cus", + "oc us", + "ocu s", + "Ġ DE", + "ĠD E", + "Ġ Min", + "ĠM in", + "ĠMi n", + "Ġ opt", + "Ġo pt", + "Ġop t", + "ĉ break", + "ĉb reak", + "u mer", + "um er", + "ume r", + "K E", + "t hen", + "th en", + "the n", + "Ġ det", + "Ġd et", + "Ġde t", + "Ġ Test", + "ĠT est", + "ĠTe st", + "ĠTes t", + "p orts", + "port s", + "por ts", + "po rts", + "Ġ review", + "Ġre view", + "Ġr eview", + "Ġrev iew", + "( '/", + "(' /", + "m ove", + "mo ve", + "mov e", + "Ġ switch", + "Ġs witch", + "Ġsw itch", + "E RT", + "ER T", + "p atch", + "pat ch", + "an not", + "ann ot", + "anno t", + "ã Ĥ", + "Ġ above", + "Ġa bove", + "Ġab ove", + "it ive", + "iti ve", + "5 6", + "Ġ question", + "Ġqu estion", + "Ġquest ion", + "Ġq uestion", + "Ġquesti on", + "Ġques tion", + "Ġ Qu", + "ĠQ u", + "ãĢĤ ĊĊ", + "ãĢĤĊ Ċ", + "g le", + "gl e", + "Ġ word", + "Ġw ord", + "Ġwor d", + "Ġwo rd", + "Ġ provide", + "Ġpro vide", + "Ġprovid e", + "Ġprov ide", + "Ġ Return", + "ĠR eturn", + "ĠRe turn", + "ĠRet urn", + "Ġ research", + "Ġre search", + "Ġres earch", + "ã o", + "u str", + "us tr", + "ust r", + "Ġ publish", + "Ġp ublish", + "Ġpub lish", + "Ġpubli sh", + "ch ema", + "che ma", + "chem a", + "} }", + "Ġ CON", + "ĠC ON", + "ĠCO N", + "- in", + "-i n", + "all back", + "Ġ cover", + "Ġc over", + "Ġco ver", + "Ġcov er", + "\\ \\", + "c olor", + "co lor", + "col or", + "colo r", + "Ġ IS", + "ĠI S", + "Ġ whether", + "Ġwh ether", + "Ġwhe ther", + "i mate", + "im ate", + "ima te", + "imat e", + "i sc", + "is c", + "B ar", + "Ba r", + "Ġ div", + "Ġd iv", + "Ġdi v", + "B e", + "o urn", + "ou rn", + "our n", + "Ġ having", + "Ġh aving", + "Ġha ving", + "Ġhav ing", + "l em", + "le m", + "p layer", + "pl ayer", + "play er", + "pla yer", + "a bs", + "ab s", + "am era", + "ame ra", + "amer a", + "n ey", + "ne y", + "Ġ exc", + "Ġe xc", + "Ġex c", + "g ether", + "get her", + "ge ther", + "p lied", + "pl ied", + "a o", + "[ $", + "Ġ ++", + "Ġ+ +", + "i pe", + "ip e", + "s how", + "sh ow", + "/ d", + "[ :", + "a gement", + "ag ement", + "age ment", + "agem ent", + "l ev", + "le v", + "_ ID", + "_I D", + "9 7", + "r ary", + "ra ry", + "rar y", + "a des", + "ad es", + "ade s", + "_ se", + "_s e", + "a use", + "au se", + "aus e", + "Ġ employ", + "Ġe mploy", + "Ġem ploy", + "Ġemp loy", + "Ġ */čĊ", + "Ġ* /čĊ", + "Ġ*/ čĊ", + "Ġ fre", + "Ġf re", + "Ġfr e", + "Ġ' @", + "Ġcom plet", + "Ġcomp let", + "Ġcomple t", + "Ġcompl et", + "Ġ large", + "Ġl arge", + "Ġlarg e", + "Ġlar ge", + "r al", + "ra l", + "\\ x", + "Ġ fac", + "Ġf ac", + "Ġfa c", + "< String", + ">", + "Ġ> >", + "Ġ face", + "Ġf ace", + "Ġfa ce", + "Ġfac e", + "C TION", + "CT ION", + "Ġ save", + "Ġs ave", + "Ġsa ve", + "Ġsav e", + "Ġ typ", + "Ġt yp", + "Ġty p", + "d ev", + "de v", + "( \"#", + "(\" #", + "A GE", + "AG E", + "cont ainer", + "contain er", + "e dit", + "ed it", + "edi t", + "Q L", + "Ġ items", + "Ġit ems", + "Ġi tems", + "Ġitem s", + "Ġ social", + "Ġs ocial", + "Ġso cial", + "Ġsoc ial", + "Ġsoci al", + "i en", + "ie n", + "Ġ React", + "ĠRe act", + ") .ĊĊ", + "). ĊĊ", + ").Ċ Ċ", + "Ġ mar", + "Ġm ar", + "Ġma r", + "Ġre du", + "Ġr edu", + "Ġred u", + "Ġ RE", + "ĠR E", + ". put", + ".p ut", + "Ġ major", + "Ġm ajor", + "Ġmaj or", + "C ell", + "Ce ll", + "Cel l", + "n ext", + "ne xt", + "nex t", + "Ġ expected", + "Ġex pected", + "Ġexp ected", + "Ġexpect ed", + "Ġ yet", + "Ġy et", + "Ġye t", + "Ġin div", + "Ġind iv", + "trib utes", + "tribute s", + "at is", + "ati s", + "a med", + "am ed", + "ame d", + "Ġ food", + "Ġf ood", + "Ġfo od", + "Ġfoo d", + "S ource", + "( string", + "(s tring", + "(str ing", + "(st ring", + "Ġ +Ċ", + "Ġ+ Ċ", + "i tes", + "it es", + "ite s", + "d r", + "Ġ members", + "Ġm embers", + "Ġmem bers", + "Ġmember s", + "Ġmemb ers", + "Ġ comb", + "Ġc omb", + "Ġcom b", + "Ġco mb", + "i tems", + "it ems", + "ite ms", + "item s", + "Ġ Per", + "ĠP er", + "ĠPe r", + "T H", + "= True", + "Ġ bar", + "Ġb ar", + "Ġba r", + "_ SE", + "_S E", + "c omm", + "com m", + "co mm", + "( w", + ") ĊĊĊ", + ")Ċ ĊĊ", + ")ĊĊ Ċ", + "Ġ send", + "Ġs end", + "Ġse nd", + "Ġsen d", + "Ġ inc", + "Ġin c", + "Ġi nc", + "un signed", + "uns igned", + "F A", + "Ġ params", + "Ġpar ams", + "Ġparam s", + "Ġpara ms", + "Ġpa rams", + "a pping", + "ap ping", + "app ing", + "r os", + "ro s", + "u gin", + "ug in", + "ugi n", + "f a", + "Ġ connection", + "Ġcon nection", + "Ġconn ection", + "Ġconnect ion", + "Ġ };ĊĊ", + "Ġ} ;ĊĊ", + "Ġ};Ċ Ċ", + "Ġ}; ĊĊ", + "Ġb ecome", + "Ġbe come", + "Ġbec ome", + "M ode", + "Mod e", + "Mo de", + "Ġ ev", + "Ġe v", + "Ġ diff", + "Ġd iff", + "Ġdif f", + "Ġdi ff", + "Ġ United", + "ĠUn ited", + "ĠUnit ed", + "ĠUni ted", + "H eight", + "He ight", + "f ully", + "ful ly", + "full y", + "im ages", + "image s", + "ima ges", + "imag es", + "Ġ makes", + "Ġm akes", + "Ġmake s", + "Ġma kes", + "Ġmak es", + "Ġ global", + "Ġg lobal", + "Ġglob al", + "Ġglo bal", + "Ġ contact", + "Ġcont act", + "Ġconta ct", + "' :Ċ", + "': Ċ", + "Ġ abs", + "Ġa bs", + "Ġab s", + "а Ð", + "f loat", + "flo at", + "Ġ except", + "Ġex cept", + "Ġexc ept", + "Ġexce pt", + "Ġ Pol", + "ĠP ol", + "ĠPo l", + "Ch ild", + "Chi ld", + "t yp", + "ty p", + "Ġc ertain", + "Ġcert ain", + "Ġcer tain", + "i ón", + "ió n", + "O UT", + "OU T", + "Ġim pro", + "Ġimp ro", + "Ġimpr o", + "i les", + "il es", + "ile s", + "Ġ -->Ċ", + "Ġ- ->Ċ", + "Ġ-- >Ċ", + "Ġ--> Ċ", + "Ġ Part", + "ĠP art", + "ĠPar t", + "ĠPa rt", + "val ues", + "value s", + "valu es", + "o ss", + "os s", + "/ **", + "/* *", + "i lit", + "il it", + "ili t", + "Ġ Event", + "ĠE vent", + "ĠEven t", + "ĠEv ent", + "ĠEve nt", + "c urity", + "cur ity", + "s ter", + "st er", + "ste r", + "Ġ character", + "Ġchar acter", + "1 98", + "19 8", + "Ġ news", + "Ġn ews", + "Ġnew s", + "Ġne ws", + "Ġ \",", + "Ġ\" ,", + "Ġ device", + "Ġd evice", + "Ġde vice", + "Ġdev ice", + "c el", + "ce l", + "lo gin", + "log in", + "he et", + "hee t", + "D efault", + "De fault", + "Def ault", + "@ \"", + "ĉ Ġ", + "c lick", + "cl ick", + "cli ck", + "( value", + "(v alue", + "(val ue", + "(va lue", + "Ġ Ab", + "ĠA b", + "Ġ previous", + "Ġpre vious", + "Ġprev ious", + "ERR OR", + "o cal", + "oc al", + "oca l", + "Ġ material", + "Ġm aterial", + "Ġmat erial", + "Ġmate rial", + "Ġmateria l", + "Ġmater ial", + "Ġmateri al", + "Ġ below", + "Ġb elow", + "Ġbe low", + "Ġbel ow", + "Ġ Christ", + "ĠCh rist", + "ĠChris t", + "ĠChr ist", + "Ġ media", + "Ġm edia", + "Ġme dia", + "Ġmed ia", + "Ġmedi a", + "c over", + "co ver", + "cov er", + "Ġ UI", + "ĠU I", + "Ġ fail", + "Ġf ail", + "Ġfa il", + "Ġ black", + "Ġb lack", + "Ġbl ack", + "Ġbla ck", + "Ġ component", + "Ġcom ponent", + "Ġcomp onent", + "Ġ American", + "ĠA merican", + "ĠAmeric an", + "ĠAmerica n", + "ĠAmer ican", + "Ġ added", + "Ġadd ed", + "Ġad ded", + "Ġ buy", + "Ġb uy", + "Ġbu y", + "s tit", + "st it", + "sti t", + "Ġ came", + "Ġc ame", + "Ġca me", + "Ġcam e", + "Ġ delete", + "Ġde lete", + "Ġdel ete", + "Ġdelet e", + "Ġdele te", + "p roperty", + "pro perty", + "prop erty", + "proper ty", + "o ding", + "od ing", + "odi ng", + "Ġ card", + "Ġc ard", + "Ġcar d", + "Ġca rd", + "r ops", + "ro ps", + "rop s", + "Ġ https", + "Ġhttp s", + "Ġht tps", + "Ġhtt ps", + "Ġ root", + "Ġr oot", + "Ġro ot", + "Ġ handle", + "Ġh andle", + "Ġhand le", + "Ġhan dle", + "C C", + "B ack", + "Ba ck", + "em plate", + "emp late", + "empl ate", + "Ġ getting", + "Ġg etting", + "Ġget ting", + "_ by", + "_b y", + "m ail", + "ma il", + "mai l", + "_ sh", + "_s h", + ". assert", + ".as sert", + "Ġ Dec", + "ĠD ec", + "ĠDe c", + "( true", + "(tr ue", + "Ġ comput", + "Ġcom put", + "Ġcomp ut", + "Ġ claim", + "Ġcl aim", + "Ġcla im", + "' =>", + "'= >", + "Ġ Sub", + "ĠS ub", + "ĠSu b", + "Ġ air", + "Ġa ir", + "Ġai r", + "o ps", + "op s", + "n av", + "na v", + "e ments", + "em ents", + "ement s", + "eme nts", + "emen ts", + "( id", + "(i d", + "Ġ enter", + "Ġen ter", + "Ġent er", + "an ged", + "ang ed", + "ange d", + "E nd", + "En d", + "Ġ location", + "Ġl ocation", + "Ġlo cation", + "Ġloc ation", + "Ġ night", + "Ġn ight", + "Ġni ght", + "Ġnig ht", + "Ġ doing", + "Ġdo ing", + "Ġdoi ng", + "Ġ Red", + "ĠR ed", + "ĠRe d", + "l in", + "li n", + "} ĊĊĊ", + "}Ċ ĊĊ", + "}ĊĊ Ċ", + "v ider", + "vid er", + "vi der", + "vide r", + "Ġ pick", + "Ġp ick", + "Ġpi ck", + "Ġpic k", + "Ġ watch", + "Ġw atch", + "Ġwat ch", + "ess ages", + "essage s", + "essa ges", + "Ġ human", + "Ġh uman", + "Ġhum an", + "Ġhu man", + "Ġ dam", + "Ġd am", + "Ġda m", + "p end", + "pe nd", + "pen d", + "d ir", + "di r", + "Ġ tax", + "Ġt ax", + "Ġta x", + "Ġ girl", + "Ġg irl", + "Ġgi rl", + "Ġgir l", + "re et", + "ree t", + "Ġ box", + "Ġb ox", + "Ġbo x", + "Ġ strong", + "Ġst rong", + "Ġstr ong", + "Ġstro ng", + "Ġstron g", + "( v", + "r el", + "re l", + "Ġ interface", + "Ġinter face", + "Ġinterf ace", + "Ġ msg", + "Ġm sg", + "Ġms g", + "f ect", + "fe ct", + "fec t", + "_ at", + "_a t", + "Ġ house", + "Ġh ouse", + "Ġhous e", + "Ġho use", + "Ġ track", + "Ġt rack", + "Ġtr ack", + "Ġtra ck", + "' );ĊĊ", + "') ;ĊĊ", + "');Ċ Ċ", + "'); ĊĊ", + "j e", + "Ġ John", + "ĠJ ohn", + "ĠJo hn", + "ĠJoh n", + "i str", + "is tr", + "ist r", + "( S", + "u be", + "ub e", + "Ġ ce", + "Ġc e", + "it ted", + "itt ed", + "itte d", + "V ER", + "VE R", + "* )", + "p arent", + "par ent", + "pare nt", + "pa rent", + "paren t", + "Ġ application", + "Ġapp lication", + "Ġap plication", + "Ġapplic ation", + "Ġappl ication", + "a ny", + "an y", + ". swing", + ".s wing", + ".sw ing", + "Ġ pack", + "Ġp ack", + "Ġpa ck", + "Ġpac k", + "\\ u", + "Ġp ract", + "Ġpr act", + "Ġpra ct", + "Ġprac t", + "Ġ section", + "Ġs ection", + "Ġse ction", + "Ġsec tion", + "Ġsect ion", + "c tx", + "ct x", + "Ġ unsigned", + "Ġun signed", + "Ġuns igned", + ". Point", + ".P oint", + "Ġ One", + "ĠO ne", + "ĠOn e", + "Ä ±", + "i ple", + "ip le", + "ipl e", + "a id", + "ai d", + "Ñ ĥ", + "V ector", + "Vec tor", + "Ve ctor", + "Vect or", + "b yte", + "by te", + "byt e", + "Ġ wait", + "Ġw ait", + "Ġwa it", + "Ġ Ãł", + "Ġà ł", + "à ¥", + "Ġto gether", + "Ġtog ether", + "Ġ throws", + "Ġth rows", + "Ġthrow s", + "Ġthr ows", + "Ġthro ws", + "F O", + "' ))", + "') )", + "h ost", + "ho st", + "hos t", + "i sing", + "is ing", + "isi ng", + "isin g", + ". view", + ".v iew", + "Ġ terms", + "Ġte rms", + "Ġter ms", + "Ġterm s", + "f ramework", + "fr amework", + "frame work", + "fram ework", + "- r", + "Ġ apply", + "Ġapp ly", + "Ġap ply", + "Ġappl y", + "Ġ session", + "Ġs ession", + "Ġsess ion", + "O ptions", + "Option s", + "Opt ions", + "ug gest", + "ugg est", + "Ġ others", + "Ġo thers", + "Ġother s", + "w itter", + "wit ter", + "Ġ fund", + "Ġf und", + "Ġfun d", + "Ġfu nd", + "I nit", + "In it", + "Ini t", + "_ _(", + "__ (", + "ens or", + "enso r", + "G ET", + "GE T", + "Ġse veral", + "Ġsever al", + "Ġsev eral", + "i i", + "[ j", + "I O", + "Ġ template", + "Ġt emplate", + "Ġtem plate", + "Ġtemp late", + "Ġtempl ate", + "P osition", + "Pos ition", + "Ġe con", + "Ġec on", + "Ġeco n", + "a chine", + "ach ine", + "achi ne", + "Ġ il", + "Ġi l", + ". spring", + ".s pring", + ".sp ring", + "m ain", + "ma in", + "mai n", + "e lt", + "el t", + "i ment", + "im ent", + "ime nt", + "imen t", + "R ec", + "Re c", + "m m", + "Ġ University", + "ĠUn iversity", + "ĠUnivers ity", + "urs or", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "G L", + "ic ture", + "ict ure", + "it hub", + "ith ub", + "c er", + "ce r", + "c ast", + "ca st", + "cas t", + "F rom", + "Fr om", + "a les", + "al es", + "ale s", + "Ġ subject", + "Ġsu bject", + "Ġsub ject", + "Ġsubj ect", + "p assword", + "pass word", + "pas sword", + "n y", + "Ġ esc", + "Ġe sc", + "Ġes c", + ". write", + ".w rite", + ".writ e", + ".wr ite", + "ï¼ Į", + "W hat", + "Wh at", + ". H", + "Ġ history", + "Ġh istory", + "Ġhistor y", + "Ġhist ory", + "Ġhi story", + "Ġhisto ry", + "Ġ Fe", + "ĠF e", + "Ġ individual", + "Ġind ividual", + "Ġindiv idual", + "Ġindivid ual", + "u nit", + "un it", + "uni t", + "Ġ -->", + "Ġ- ->", + "Ġ-- >", + "Ġ du", + "Ġd u", + "I ST", + "IS T", + "Ġ users", + "Ġus ers", + "Ġuse rs", + "Ġuser s", + "f s", + "f alse", + "fa lse", + "fal se", + "u nt", + "un t", + "T itle", + "Tit le", + "Ti tle", + "Ġ mot", + "Ġm ot", + "Ġmo t", + "Ġ future", + "Ġf uture", + "Ġfut ure", + "Ġfu ture", + "a ched", + "ac hed", + "ach ed", + "ache d", + "Ġ started", + "Ġstart ed", + "Ġstar ted", + "Ġ mode", + "Ġm ode", + "Ġmod e", + "Ġmo de", + "Ġ '<", + "Ġ' <", + "_ array", + "_a rray", + "_arr ay", + "_ar ray", + "Ġ ax", + "Ġa x", + "' ];Ċ", + "'] ;Ċ", + "']; Ċ", + "i res", + "ir es", + "ire s", + "T here", + "The re", + "Th ere", + "u ght", + "ug ht", + "ugh t", + "t ml", + "tm l", + "p osed", + "pos ed", + "pose d", + "po sed", + "i cult", + "ic ult", + "Ġ took", + "Ġt ook", + "Ġto ok", + "Ġtoo k", + "Ġ games", + "Ġg ames", + "Ġgame s", + "Ġgam es", + "Ġga mes", + "Ġ }}", + "Ġ} }", + "Ġ ?>Ċ", + "Ġ? >Ċ", + "Ġ?> Ċ", + "Ġ products", + "Ġproduct s", + "Ġprodu cts", + "I s", + "Ġ bad", + "Ġb ad", + "Ġba d", + "Ġ Des", + "ĠD es", + "ĠDe s", + ". path", + ".p ath", + ".pa th", + ".pat h", + "' ĊĊ", + "'Ċ Ċ", + "Ġ Post", + "ĠP ost", + "ĠPo st", + "ĠPos t", + "a vel", + "av el", + "ave l", + "( :", + "1 50", + "15 0", + "Ġ needs", + "Ġne eds", + "Ġneed s", + "Ġ known", + "Ġk nown", + "Ġkn own", + "Ġknow n", + "F l", + "Ġ exec", + "Ġe xec", + "Ġex ec", + "Ġexe c", + "Ġ seen", + "Ġs een", + "Ġse en", + "Ġsee n", + "5 1", + "u me", + "um e", + "Ġ border", + "Ġb order", + "Ġbor der", + "Ġbord er", + "Ġ live", + "Ġl ive", + "Ġli ve", + "Ġliv e", + "t emp", + "te mp", + "tem p", + "P er", + "Pe r", + "Ġ variable", + "Ġvar iable", + "Ġvari able", + "i et", + "ie t", + "Ġ Def", + "ĠD ef", + "ĠDe f", + "Ġ ge", + "Ġg e", + "e me", + "em e", + "_ back", + "_b ack", + "f irst", + "fi rst", + "fir st", + "Ġ provided", + "Ġpro vided", + "Ġprovid ed", + "Ġprov ided", + "Ġprovide d", + "//////////////// ////////////////", + "Ġ filename", + "Ġf ilename", + "Ġfile name", + "Ġfil ename", + "Ġfi lename", + "Ġ hope", + "Ġh ope", + "Ġhop e", + "Ġho pe", + "u ly", + "ul y", + "a uto", + "aut o", + "au to", + "f ind", + "fin d", + "fi nd", + "_ string", + "_s tring", + "_st ring", + "_str ing", + "b tn", + "bt n", + "it ude", + "itud e", + "itu de", + "At tribute", + "Attrib ute", + "Ġ young", + "Ġyou ng", + "Ġyo ung", + ". txt", + ".t xt", + ".tx t", + "Ġ website", + "Ġwe bsite", + "Ġweb site", + "Ġwebs ite", + "Ġ Prop", + "ĠP rop", + "ĠPro p", + "ĠPr op", + "Ġ ey", + "Ġe y", + "> ();Ċ", + ">( );Ċ", + ">() ;Ċ", + ">(); Ċ", + "i onal", + "ion al", + "io nal", + "iona l", + "A RR", + "AR R", + "iction ary", + "ur ther", + "urt her", + ". ", + ")- >", + "t x", + "Ġ pur", + "Ġp ur", + "Ġpu r", + "u el", + "ue l", + "ym bol", + "ymb ol", + "u ation", + "ua tion", + "uat ion", + "a nger", + "an ger", + "ang er", + "ange r", + "Ġ background", + "Ġback ground", + "e cess", + "ec ess", + "ece ss", + "ef ined", + ". .......", + ".. ......", + "... .....", + ".... ....", + "..... ...", + "...... ..", + "....... .", + "Ġ description", + "Ġd escription", + "Ġde scription", + "Ġdes cription", + "Ġdescri ption", + "Ġ represent", + "Ġre present", + "Ġrep resent", + "\" ));Ċ", + "\") );Ċ", + "\")) ;Ċ", + "\")); Ċ", + "p ression", + "pr ession", + "press ion", + "row ser", + "rows er", + "rowse r", + "Ġ series", + "Ġs eries", + "Ġse ries", + "Ġser ies", + "Ġserie s", + "Ġseri es", + "w ards", + "ward s", + "war ds", + "5 2", + "( $_", + "($ _", + "a ise", + "ai se", + "ais e", + "Ġ hot", + "Ġh ot", + "Ġho t", + "a city", + "ac ity", + "aci ty", + "r ies", + "ri es", + "rie s", + "a ctions", + "act ions", + "action s", + "C reate", + "Cre ate", + "Creat e", + "a dio", + "ad io", + "adi o", + "am ples", + "amp les", + "ample s", + "Ġ original", + "Ġor iginal", + "Ġorig inal", + "Ġorigin al", + "ens ive", + "ensi ve", + "f ont", + "fo nt", + "fon t", + "st ream", + "str eam", + "stre am", + " using", + ".spring framework", + "0 01", + "00 1", + "s erver", + "ser ver", + "serve r", + "serv er", + "Ġ bill", + "Ġb ill", + "Ġbi ll", + "Ġbil l", + "A CK", + "AC K", + "i lename", + "il ename", + "ile name", + "ilen ame", + "Ġ frame", + "Ġf rame", + "Ġfr ame", + "Ġfra me", + "Ġfram e", + "Ġ =Ċ", + "Ġ= Ċ", + "E dit", + "Ed it", + "ad ius", + "adi us", + "Ġ draw", + "Ġd raw", + "Ġdr aw", + "Ġdra w", + "an ks", + "ank s", + "Ġd eter", + "Ġde ter", + "Ġdet er", + "Ġ comes", + "Ġc omes", + "Ġcom es", + "Ġco mes", + "Ġcome s", + "_ int", + "_in t", + "_i nt", + "Ġ foreach", + "Ġf oreach", + "Ġfor each", + "Ġfore ach", + "Ġfo reach", + "a ngle", + "an gle", + "ang le", + "angl e", + "Ġ elect", + "Ġe lect", + "Ġel ect", + "Ġele ct", + "p ected", + "pect ed", + "pec ted", + "He ader", + "Head er", + "i stration", + "ist ration", + "istr ation", + "istra tion", + "istrat ion", + "F alse", + "Fa lse", + "Fal se", + "Ġ Game", + "ĠG ame", + "ĠGa me", + "ĠGam e", + "Ġ filter", + "Ġf ilter", + "Ġfil ter", + "Ġfilt er", + "Act ivity", + "Activ ity", + "Ġ larg", + "Ġl arg", + "Ġla rg", + "Ġlar g", + "in ition", + "init ion", + "ini tion", + "Ġ \"<", + "Ġ\" <", + "2 56", + "25 6", + "i sed", + "is ed", + "ise d", + "Ġ remove", + "Ġre move", + "Ġrem ove", + "Ġ Trans", + "ĠT rans", + "ĠTr ans", + "ĠTra ns", + "ĠTran s", + "m et", + "me t", + "s ee", + "se e", + "Form at", + "For mat", + "Com mand", + "Comm and", + "Ġ EX", + "ĠE X", + "N one", + "No ne", + "Non e", + "Ġ front", + "Ġf ront", + "Ġfr ont", + "Ġfro nt", + "Ġfron t", + "A SE", + "AS E", + "Ġ Rec", + "ĠR ec", + "ĠRe c", + "ound ation", + "Ġ vo", + "Ġv o", + "9 6", + "= \\\"", + "=\\ \"", + "( *", + "Ch ange", + "Chan ge", + "Cha nge", + ". Write", + ".W rite", + "g roup", + "gr oup", + "gro up", + "i ents", + "ie nts", + "ient s", + "ien ts", + "u y", + "******** ********************************************************", + "**************** ************************************************", + "******************************** ********************************", + "************************ ****************************************", + "**************************************** ************************", + "************************************************ ****************", + "******************************************************** ********", + "Ġ dig", + "Ġd ig", + "Ġdi g", + "h r", + "( -", + "Ġ gen", + "Ġg en", + "Ġge n", + "n umber", + "num ber", + "v ec", + "ve c", + "ur ope", + "uro pe", + "en try", + "ent ry", + "entr y", + "L L", + "Ġ ste", + "Ġs te", + "Ġst e", + "Val id", + "Va lid", + "' ],", + "'] ,", + "_ param", + "_p aram", + "_par am", + "_para m", + "_pa ram", + "Ġ selected", + "Ġse lected", + "Ġselect ed", + "Ġsel ected", + "Ġ according", + "Ġa ccording", + "Ġacc ording", + "Ġaccord ing", + "Ġ Dis", + "ĠD is", + "ĠDi s", + "Ġ util", + "Ġu til", + "Ġut il", + "B uffer", + "Buf fer", + "Buff er", + "Bu ffer", + "_ error", + "_e rror", + "_err or", + "_er ror", + "Ġ associ", + "Ġass oci", + "Ġassoc i", + "_ SIZE", + "_S IZE", + "_SI ZE", + "Ġ wor", + "Ġw or", + "Ġwo r", + "Ġ printf", + "Ġprint f", + "Ġprin tf", + "r ag", + "ra g", + " ł", + "D D", + "Ġ Val", + "ĠV al", + "ĠVa l", + "Ġ activ", + "Ġact iv", + "Ġac tiv", + "E ng", + "En g", + "e time", + "et ime", + "eti me", + "etim e", + "Ġ virtual", + "Ġv irtual", + "Ġvir tual", + "Ġvirt ual", + "a ign", + "ai gn", + "a ur", + "au r", + "Ġ Pres", + "ĠP res", + "ĠPr es", + "ĠPre s", + "Ġ Exception", + "ĠEx ception", + "ĠExcept ion", + "Ġ anything", + "Ġany thing", + "Ġ Off", + "ĠO ff", + "ĠOf f", + "Ġ hours", + "Ġh ours", + "Ġhour s", + "Ġho urs", + "Ġ war", + "Ġw ar", + "Ġwa r", + "Arg s", + "Ar gs", + "a ging", + "ag ing", + "agi ng", + "Ġ models", + "Ġmod els", + "Ġmodel s", + "Ġmode ls", + "Ġ Time", + "ĠT ime", + "ĠTim e", + "ĠTi me", + "O b", + "a ms", + "am s", + "j oy", + "jo y", + "Ġ early", + "Ġear ly", + ". read", + ".re ad", + ".r ead", + "8 6", + "Ġ center", + "Ġc enter", + "Ġcent er", + "Ġcen ter", + "Ġ Initial", + "ĠIn itial", + "ĠInit ial", + "ĠIniti al", + "Ġ language", + "Ġl anguage", + "Ġlangu age", + "l ength", + "le ngth", + "len gth", + "x y", + "Ġ sn", + "Ġs n", + "Ġ inf", + "Ġin f", + "Ġi nf", + "P ost", + "Pos t", + "Po st", + "Ġ ago", + "Ġa go", + "Ġag o", + "Ġ easy", + "Ġe asy", + "Ġeas y", + "Ġea sy", + "_ code", + "_c ode", + "_co de", + "_cod e", + "Ġ ANY", + "ĠA NY", + "ĠAN Y", + "_ ch", + "_c h", + "Ġ download", + "Ġd ownload", + "Ġdown load", + "( T", + "a ved", + "av ed", + "ave d", + "âĢ ĵ", + "Ġ students", + "Ġst udents", + "Ġstud ents", + "Ġstudent s", + "Ġ fig", + "Ġf ig", + "Ġfi g", + "l ight", + "li ght", + "lig ht", + "x x", + "Ġ buffer", + "Ġb uffer", + "Ġbu ffer", + "Ġbuf fer", + "Ġbuff er", + "Ġ Dep", + "ĠD ep", + "ĠDe p", + "Ġ Math", + "ĠM ath", + "ĠMat h", + "ĠMa th", + "I TH", + "IT H", + "Ġ vari", + "Ġv ari", + "Ġvar i", + "Ġva ri", + "Ġ due", + "Ġd ue", + "Ġdu e", + "F actory", + "Fact ory", + "Factor y", + "Ġ por", + "Ġp or", + "Ġpo r", + "Ġ ep", + "Ġe p", + "o type", + "ot ype", + "otyp e", + "oty pe", + "Ġ cannot", + "Ġc annot", + "Ġcan not", + "Ġcann ot", + "Ġ white", + "Ġwh ite", + "Ġwhit e", + "< int", + "čĊ", + "\"> čĊ", + ". annot", + ".an not", + "Ġ collection", + "Ġc ollection", + "Ġcol lection", + "Ġcoll ection", + "Ġcollect ion", + "Ġcolle ction", + "' .", + "Ġ similar", + "Ġs imilar", + "Ġsim ilar", + "Ġsimil ar", + "Ġ taken", + "Ġt aken", + "Ġtake n", + "Ġta ken", + "Ġtak en", + "( \"%", + "(\" %", + "Or der", + "Ord er", + "' ]Ċ", + "'] Ċ", + "- md", + "-m d", + "Ġ TH", + "ĠT H", + "a ced", + "ace d", + "ac ed", + "Ġis n", + "Ġi sn", + "/ j", + "Ġ son", + "Ġs on", + "Ġso n", + "g raph", + "gr aph", + "gra ph", + "Ġ Integer", + "ĠInt eger", + "Ġn ecess", + "Ġne cess", + "Ġnec ess", + "Ġneces s", + "r een", + "re en", + "ree n", + "Ġ um", + "Ġu m", + "Ġ \\<", + "Ġ\\ <", + "Ġ moment", + "Ġm oment", + "Ġmom ent", + "Ġmo ment", + "Ġ bring", + "Ġb ring", + "Ġbr ing", + "Ġbri ng", + "Ġ indic", + "Ġin dic", + "Ġind ic", + "y sis", + "ys is", + "ysi s", + "Le vel", + "v erse", + "ver se", + "vers e", + "ur renc", + "urre nc", + "urr enc", + "_ test", + "_t est", + "_te st", + "Ġent ire", + "D own", + "Do wn", + "Ġ }ĊĊĊ", + "Ġ} ĊĊĊ", + "Ġ}Ċ ĊĊ", + "Ġ}ĊĊ Ċ", + "( result", + "(res ult", + "Ġ Read", + "ĠR ead", + "ĠRe ad", + "à ¨", + "M od", + "Mo d", + "Ġ trying", + "Ġt rying", + "Ġtr ying", + "Ġtry ing", + "\" ),Ċ", + "\") ,Ċ", + "\"), Ċ", + "Ġ member", + "Ġm ember", + "Ġmem ber", + "Ġmemb er", + "Ġ Cor", + "ĠC or", + "ĠCo r", + "O DO", + "OD O", + "- control", + "-c ontrol", + "-cont rol", + "un time", + "unt ime", + "Ġ Sim", + "ĠS im", + "ĠSi m", + "D ialog", + "Di alog", + "Dia log", + "p lot", + "pl ot", + "_ on", + "_o n", + "Ġ phys", + "Ġph ys", + "Ġphy s", + "} /", + "Ġ namespace", + "Ġn amespace", + "Ġname space", + "Ġnames pace", + "ĉ čĊ", + "a cc", + "ac c", + "P layer", + "Pl ayer", + "Play er", + "A RE", + "AR E", + "8 9", + "Ġ foot", + "Ġf oot", + "Ġfo ot", + "Ġfoo t", + "Ġ board", + "Ġb oard", + "Ġbo ard", + "Ġboa rd", + "p art", + "par t", + "pa rt", + "Ġ sus", + "Ġs us", + "Ġsu s", + "w ise", + "wi se", + "wis e", + "Ġ Mc", + "ĠM c", + "Ġ push", + "Ġp ush", + "Ġpu sh", + "Ġpus h", + "A TA", + "AT A", + "Ġ please", + "Ġp lease", + "Ġpl ease", + "Ġple ase", + "Ġplea se", + "Ġpleas e", + "r ied", + "ri ed", + "rie d", + "we et", + "b it", + "bi t", + "i ded", + "id ed", + "ide d", + "V E", + "Ġ Sw", + "ĠS w", + "U B", + "Ġ types", + "Ġt ypes", + "Ġtype s", + "Ġtyp es", + "Ġty pes", + "e dia", + "ed ia", + "edi a", + "Ġc los", + "Ġcl os", + "Ġclo s", + "ace book", + "W hen", + "Wh en", + "Ġ edit", + "Ġe dit", + "Ġed it", + "Ġedi t", + "i gger", + "ig ger", + "igg er", + "Ġe nerg", + "Ġen erg", + "Ġener g", + "Cont ainer", + "Contain er", + "Conta iner", + "Ġ phot", + "Ġp hot", + "Ġph ot", + "Ġ Count", + "ĠC ount", + "ĠCo unt", + "ĠCou nt", + "ĠCoun t", + "Ġ Europe", + "ĠE urope", + "ĠEuro pe", + "ĠEurop e", + "ĠEur ope", + ". Is", + ".I s", + "Ġ Russ", + "ĠR uss", + "ĠRu ss", + "ĠRus s", + "p eed", + "pe ed", + "pee d", + "Ġ Str", + "ĠS tr", + "ĠSt r", + "Ġ py", + "Ġp y", + "Ġ cult", + "Ġc ult", + "Ġcu lt", + "Ġcul t", + "Ġ defined", + "Ġd efined", + "Ġdef ined", + "Ġdefine d", + "Ġdefin ed", + "c count", + "cc ount", + "cco unt", + "Ġo bt", + "Ġob t", + ". Location", + ".L ocation", + ".Lo cation", + "Ġ thread", + "Ġt hread", + "Ġth read", + "Ġthr ead", + "i lle", + "il le", + "ill e", + "Ġ instead", + "Ġin stead", + "Ġinst ead", + "st rong", + "str ong", + "stro ng", + "Ġ Sec", + "ĠS ec", + "ĠSe c", + "U RE", + "UR E", + "Ġ idea", + "Ġi dea", + "Ġid ea", + "Ġide a", + ". se", + ".s e", + "e my", + "em y", + "se lected", + "select ed", + "sel ected", + "Con nection", + "Conn ection", + "Connect ion", + "a cing", + "ac ing", + "aci ng", + "acin g", + "t hread", + "th read", + "thr ead", + ". next", + ".n ext", + ".ne xt", + "Ġ coll", + "Ġc oll", + "Ġco ll", + "Ġcol l", + "Ġ film", + "Ġf ilm", + "Ġfil m", + "Ġfi lm", + "is tic", + "ist ic", + "isti c", + "Ġ compet", + "Ġcom pet", + "Ġcomp et", + "Ġ conn", + "Ġc onn", + "Ġcon n", + "Ġco nn", + "th ough", + "Ġ compan", + "Ġcom pan", + "Ġcomp an", + "o cket", + "oc ket", + "ock et", + "Ġt each", + "Ġte ach", + "Ġtea ch", + "= (", + "Ġ phone", + "Ġp hone", + "Ġph one", + "Ġphon e", + "Ġ active", + "Ġact ive", + "Ġactiv e", + "7 9", + "de lete", + "del ete", + "1 01", + "10 1", + "t ries", + "tr ies", + "trie s", + "tri es", + "Ġ mo", + "Ġm o", + "Ġ death", + "Ġde ath", + "} );ĊĊ", + "});Ċ Ċ", + "}) ;ĊĊ", + "}); ĊĊ", + "o col", + "oc ol", + "oco l", + "W idget", + "Ġ article", + "Ġart icle", + "Ġartic le", + "r odu", + "ro du", + "rod u", + "an did", + "and id", + "andi d", + "Ñ ĭ", + "Ġ Cr", + "ĠC r", + "k a", + "( ):", + "() :", + "l ood", + "lo od", + "loo d", + "ĉ ĉĉĊ", + "ĉĉ ĉĊ", + "ĉĉĉ Ċ", + "Ġ almost", + "Ġal most", + "Ġalm ost", + "Ġ sell", + "Ġs ell", + "Ġse ll", + "Ġsel l", + "erv let", + "r ip", + "ri p", + "U nit", + "Un it", + "Uni t", + "Ġapp lic", + "Ġappl ic", + "Ġ connect", + "Ġcon nect", + "Ġconn ect", + "Ġ feature", + "Ġf eature", + "Ġfe ature", + "Ġfeat ure", + "Ġ via", + "Ġv ia", + "Ġvi a", + "' ),", + "') ,", + "Ġ lim", + "Ġl im", + "Ġli m", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ Gu", + "ĠG u", + "E ngine", + "Eng ine", + "Ġ ens", + "Ġe ns", + "Ġen s", + "Ġ environment", + "Ġen vironment", + "Ġenviron ment", + "b lock", + "bl ock", + "blo ck", + "H ERE", + "HE RE", + "HER E", + "N ULL", + "NU LL", + "g y", + "t ag", + "ta g", + ") ).", + ")) .", + "e xp", + "ex p", + "Ġcom pl", + "Ġco mpl", + "Ġcomp l", + "Ġ install", + "Ġinst all", + "Ġinstal l", + "Ġ complete", + "Ġcom plete", + "Ġcomp lete", + "Ġcomple te", + "Ġcomplet e", + "Ġcompl ete", + "q ueue", + "que ue", + "at ural", + "atur al", + "atura l", + "atu ral", + "Ġ general", + "Ġg eneral", + "Ġgener al", + "Ġgen eral", + "Ġgene ral", + "Ġgenera l", + "t hon", + "th on", + "Ġas ked", + "Ġask ed", + "o res", + "or es", + "ore s", + "( res", + "(r es", + "(re s", + "Ġ reserved", + "Ġres erved", + "Ġreserve d", + "Ġreserv ed", + "S P", + "Ġ â̦", + "ĠâĢ ¦", + "Å Ĥ", + "Ġsign ific", + "O ff", + "Of f", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ Ag", + "ĠA g", + "Ġ Just", + "ĠJ ust", + "ĠJu st", + "Ġ Error", + "ĠE rror", + "ĠEr ror", + "ĠErr or", + "Ġin fl", + "Ġinf l", + "a data", + "ad ata", + "ada ta", + "Ġ icon", + "Ġi con", + "Ġic on", + "as ks", + "ask s", + "' '", + "_ LO", + "_L O", + "? .", + "a ccount", + "ac count", + "acc ount", + "acco unt", + "Ġ (*", + "Ġ( *", + "' )ĊĊ", + "') ĊĊ", + "')Ċ Ċ", + "r ap", + "ra p", + "_ var", + "_v ar", + "_va r", + "Ġ FOR", + "ĠF OR", + "ĠFO R", + "Ġ party", + "Ġp arty", + "Ġpart y", + "Ġpar ty", + "Ġ Your", + "ĠY our", + "ĠYou r", + "ĠYo ur", + "c at", + "ca t", + "s try", + "st ry", + "str y", + ". new", + ".n ew", + ".ne w", + "b oot", + "bo ot", + "boo t", + "Ġ Nov", + "ĠN ov", + "ĠNo v", + "Ġ vector", + "Ġv ector", + "Ġve ctor", + "Ġvec tor", + "Ġvect or", + "Ġ normal", + "Ġn ormal", + "Ġnor mal", + "Ġnorm al", + "Ġf urther", + "Ġfur ther", + "Re pository", + "8 00", + "80 0", + "Ġ database", + "Ġd atabase", + "Ġdata base", + "Ġdat abase", + "Ġdatab ase", + "at tle", + "att le", + "Ġ music", + "Ġm usic", + "Ġmus ic", + "Ġmu sic", + "Ġ speed", + "Ġs peed", + "Ġsp eed", + "Ġspe ed", + "Ġ doc", + "Ġd oc", + "Ġdo c", + "p rocess", + "pro cess", + "proc ess", + "IG HT", + "IGH T", + ". parse", + ".p arse", + ".par se", + "Ġ taking", + "Ġt aking", + "Ġta king", + "Ġtak ing", + "Ġ viol", + "Ġv iol", + "Ġvi ol", + "c eed", + "ce ed", + "cee d", + "Ġ After", + "ĠA fter", + "ĠAf ter", + "Ġ forward", + "Ġfor ward", + "Ġ crit", + "Ġc rit", + "Ġcr it", + "Ġcri t", + "\" />Ċ", + "\"/ >Ċ", + "\"/> Ċ", + "r ot", + "ro t", + "Ġ failed", + "Ġf ailed", + "Ġfa iled", + "Ġfail ed", + "e fore", + "ef ore", + "Ġcon cern", + "Ġconc ern", + "Ġconce rn", + "o e", + "b a", + "Ġ sender", + "Ġs ender", + "Ġse nder", + "Ġsend er", + "Ġsen der", + "Ġ term", + "Ġt erm", + "Ġte rm", + "Ġter m", + "h as", + "ha s", + "= \"#", + "=\" #", + "Ġ potential", + "Ġpot ential", + "Ġpotent ial", + "N um", + "Nu m", + "Ġ published", + "Ġp ublished", + "Ġpublish ed", + "Ġpubli shed", + ". close", + ".c lose", + ".cl ose", + "Ġ Image", + "ĠI mage", + "ĠIm age", + "ĠImag e", + "str aint", + "stra int", + "strain t", + "U D", + "Ġ Ob", + "ĠO b", + "Ġ probably", + "Ġprob ably", + "l im", + "li m", + "\" :Ċ", + "\": Ċ", + "ol ume", + "olum e", + "olu me", + "Ġ consum", + "Ġcon sum", + "Ġcons um", + "7 6", + "a gue", + "ag ue", + "agu e", + "ens ions", + "ension s", + "ensi ons", + "Ġinvest ig", + "- year", + "-y ear", + "' );", + "') ;", + "- sm", + "-s m", + "Ġen joy", + "Ġenjo y", + "o rig", + "or ig", + "ori g", + "e ring", + "er ing", + "eri ng", + "erin g", + "c p", + "le ased", + "lease d", + "lea sed", + "p lements", + "pl ements", + "ple ments", + "plement s", + "Ġ returns", + "Ġreturn s", + "p at", + "pa t", + "B O", + "Ġ House", + "ĠH ouse", + "ĠHo use", + "ĠHou se", + ". Label", + ".L abel", + "Ġ weight", + "Ġw eight", + "Ġwe ight", + "Ġweigh t", + "Ġwei ght", + "ig hb", + "igh b", + "Ġ conditions", + "Ġcondition s", + "Ġcond itions", + "Ġ exception", + "Ġex ception", + "Ġexcept ion", + "Ġexce ption", + "d escription", + "de scription", + "des cription", + "Ġ trad", + "Ġt rad", + "Ġtr ad", + "Ġtra d", + "- to", + "-t o", + "Ġ {}", + "Ġ{ }", + "Ġ module", + "Ġm odule", + "Ġmod ule", + "E ND", + "EN D", + ". ap", + ".a p", + ". props", + ".p rops", + ".pro ps", + ".pr ops", + ".prop s", + "Ġ constructor", + "Ġcon structor", + "Ġconstruct or", + "Ġconstr uctor", + "a ves", + "av es", + "ave s", + "Ġ favor", + "Ġf avor", + "Ġfa vor", + "Ġfav or", + "Ġ Now", + "ĠN ow", + "ĠNo w", + "; i", + "Ġ Main", + "ĠM ain", + "ĠMa in", + "ĠMai n", + "_ k", + "e ries", + "er ies", + "erie s", + "eri es", + "âĢĻ ll", + "âĢĻl l", + "trans form", + "ime stamp", + "imest amp", + "P re", + "Pr e", + "Ġ mer", + "Ġm er", + "Ġme r", + ". res", + ".re s", + ".r es", + "s tant", + "st ant", + "sta nt", + "stan t", + "L ocation", + "Lo cation", + "Loc ation", + "_ NAME", + "_N AME", + "Ġ loss", + "Ġl oss", + "Ġlo ss", + "Ġlos s", + "Ġ ĊĊ", + "ĠĊ Ċ", + "n et", + "ne t", + "Ġ engine", + "Ġe ngine", + "Ġeng ine", + "B lock", + "Bl ock", + "Bloc k", + "Blo ck", + "Ġ issues", + "Ġiss ues", + "Ġissue s", + "Ġissu es", + "Ġ parse", + "Ġp arse", + "Ġpar se", + "Ġpars e", + "Ġ Bar", + "ĠB ar", + "ĠBa r", + "Ġ stay", + "Ġst ay", + "Ġsta y", + "Ġ JSON", + "ĠJ SON", + "ĠJS ON", + "Ġ dom", + "Ġd om", + "Ġdo m", + "a irs", + "air s", + "ai rs", + "w ner", + "wn er", + "Ġ lower", + "Ġl ower", + "Ġlo wer", + "Ġlow er", + "\" ,čĊ", + "\", čĊ", + "Ġ Dem", + "ĠD em", + "ĠDe m", + "u fact", + "uf act", + "ufac t", + "Ġ ps", + "Ġp s", + "Ġ perfect", + "Ġper fect", + "Ġperf ect", + "R L", + "Ġ educ", + "Ġe duc", + "Ġed uc", + "Ġedu c", + "l s", + "em ory", + "emo ry", + "ARR ANT", + "u ge", + "ug e", + "Ġ exact", + "Ġex act", + ". key", + ".k ey", + ".ke y", + "al led", + "all ed", + "alle d", + "e ch", + "ec h", + "i ef", + "ie f", + "\\ /", + "o ke", + "ok e", + "Ġ former", + "Ġfor mer", + "Ġform er", + "Ġforme r", + "al loc", + "all oc", + "allo c", + "Ġ six", + "Ġs ix", + "Ġsi x", + "i da", + "id a", + "Ġ margin", + "Ġm argin", + "Ġmar gin", + "Ġmarg in", + "Ġ heart", + "Ġhe art", + "Ġhear t", + "a ld", + "al d", + "p ack", + "pa ck", + "pac k", + ".getElement ById", + "ĠW ARRANT", + "Ġ rather", + "Ġr ather", + "Ġrat her", + "Ġra ther", + "Ġ building", + "Ġbuild ing", + "er man", + "erm an", + "l ice", + "lic e", + "li ce", + "Ġ questions", + "Ġquest ions", + "Ġquestion s", + "Ġquesti ons", + "i zes", + "iz es", + "ize s", + "le ge", + "leg e", + "irect ory", + "irector y", + "Ġ je", + "Ġj e", + "Ġ cas", + "Ġc as", + "Ġca s", + "p rops", + "pr ops", + "pro ps", + "prop s", + "u tf", + "ut f", + "Ġ security", + "Ġs ecurity", + "Ġse curity", + "Ġsec urity", + "Ġ however", + "Ġhow ever", + "w eight", + "we ight", + "wei ght", + "weigh t", + "Ġ inside", + "Ġin side", + "Ġins ide", + "Ġp resident", + "Ġpres ident", + "C har", + "Ch ar", + "Cha r", + "Ġ WITH", + "ĠW ITH", + "ĠWI TH", + ". map", + ".m ap", + ".ma p", + "Ġ graph", + "Ġg raph", + "Ġgr aph", + "Ġgra ph", + "Ġgrap h", + "Ġ tag", + "Ġt ag", + "Ġta g", + "_ status", + "_s tatus", + "_st atus", + "_stat us", + "Ġ attempt", + "Ġat tempt", + "Ġatt empt", + "o pp", + "op p", + "u ses", + "us es", + "use s", + "ĉ const", + "ĉcon st", + "Ġ round", + "Ġr ound", + "Ġro und", + "Ġrou nd", + ", $", + "Ġ friends", + "Ġf riends", + "Ġfri ends", + "Ġfriend s", + "E mail", + "Em ail", + "? >", + "Re source", + "Res ource", + "K EY", + "KE Y", + "o sp", + "os p", + ". query", + ".qu ery", + "Ġ North", + "ĠN orth", + "ĠNor th", + "a bles", + "ab les", + "able s", + "abl es", + "is trib", + "ist rib", + "istr ib", + "_ class", + "_c lass", + "_cl ass", + "el lo", + "ell o", + "T hat", + "Th at", + "Ð º", + "pec ially", + "pecial ly", + "Ġ President", + "ĠP resident", + "ĠPres ident", + "Ġ campaign", + "Ġc ampaign", + "Ġcamp aign", + "Ġ alt", + "Ġa lt", + "Ġal t", + "a rea", + "ar ea", + "are a", + "Ġc hall", + "Ġch all", + "Ġcha ll", + "Ġop port", + "Ġopp ort", + ". Con", + ".C on", + ".Co n", + "Ġ energy", + "Ġe nergy", + "Ġen ergy", + "Ġenerg y", + "Ġener gy", + "l ike", + "li ke", + "lik e", + ". string", + ".s tring", + ".st ring", + ".str ing", + "ing ton", + "ingt on", + ") *", + "y y", + "Ġ profession", + "Ġprof ession", + "Ġprofess ion", + "ir th", + "irt h", + "Ġ seg", + "Ġs eg", + "Ġse g", + "æ ľ", + "Ġ hor", + "Ġh or", + "Ġho r", + "i ers", + "ie rs", + "ier s", + "c an", + "ca n", + "Ġbe hind", + "Ġbeh ind", + "Pro duct", + "Produ ct", + "Prod uct", + "f g", + "Ġ Sk", + "ĠS k", + ". jpg", + ".j pg", + ".jp g", + "? :", + "] ;ĊĊ", + "];Ċ Ċ", + "]; ĊĊ", + "Ġ callback", + "Ġc allback", + "Ġcall back", + "Ġ Http", + "ĠH ttp", + "Ñ Į", + "l ong", + "lo ng", + "lon g", + "M S", + "A TH", + "AT H", + "Ġ raise", + "Ġr aise", + "Ġrais e", + "Ġra ise", + "Ġ wanted", + "Ġw anted", + "Ġwant ed", + "Ġwan ted", + "r own", + "ro wn", + "row n", + "u tor", + "ut or", + "uto r", + "l t", + "] =", + "e line", + "el ine", + "eli ne", + "elin e", + "M A", + "Ġs epar", + "Ġse par", + "Ġsep ar", + "c s", + "s emb", + "se mb", + "sem b", + "D is", + "Di s", + "b serv", + "bs erv", + "Ġ Will", + "ĠW ill", + "ĠWil l", + "ĠWi ll", + "Ġ policy", + "Ġp olicy", + "Ġpol icy", + "Ġpolic y", + "Ġ third", + "Ġth ird", + "Ġthi rd", + "p hone", + "ph one", + "phon e", + "Ġ bed", + "Ġb ed", + "Ġbe d", + "/ g", + ". __", + "._ _", + "Ġ Inc", + "ĠI nc", + "ĠIn c", + "i zing", + "iz ing", + "izi ng", + "izin g", + ". remove", + ".re move", + ".rem ove", + "in stance", + "inst ance", + "instanc e", + ". type", + ".t ype", + ".typ e", + "Ġ serv", + "Ġs erv", + "Ġse rv", + "Ġser v", + "E ach", + "Ġ har", + "Ġh ar", + "Ġha r", + "Ġ Message", + "ĠM essage", + "ĠMess age", + "ĠMes sage", + "( key", + "(k ey", + "SE LECT", + "SEL ECT", + "P os", + "Po s", + ") );čĊ", + ")) ;čĊ", + ")); čĊ", + "Ġre comm", + "Ġrec omm", + "Ġrecom m", + "Ġreco mm", + "Ġ training", + "Ġtr aining", + "Ġtrain ing", + "Ġtra ining", + "Ġtrai ning", + "Ġ Ent", + "ĠE nt", + "ĠEn t", + "Ġ Char", + "ĠC har", + "ĠCh ar", + "ĠCha r", + "i cht", + "ic ht", + "ich t", + "( file", + "(f ile", + "(fi le", + "(fil e", + "Ġ prior", + "Ġp rior", + "Ġpr ior", + "Ġpri or", + "Ġprio r", + "G ame", + "Gam e", + "Ga me", + "Ġ exit", + "Ġe xit", + "Ġex it", + "Param s", + "Par ams", + "Pa rams", + "Para ms", + ". core", + ".c ore", + ".co re", + ".cor e", + "P C", + "n es", + "ne s", + "an ced", + "ance d", + "anc ed", + "( request", + "(re quest", + "(req uest", + "P assword", + "Pass word", + "Pas sword", + "} >Ċ", + "}> Ċ", + "Ġ mag", + "Ġm ag", + "Ġma g", + "Ġ release", + "Ġre lease", + "Ġr elease", + "Ġrel ease", + "Ġrele ase", + "Ġ shall", + "Ġs hall", + "Ġsh all", + "Ġsha ll", + "u dent", + "ud ent", + "ude nt", + "uden t", + "Ġ South", + "ĠS outh", + "ĠSo uth", + "ĠSou th", + "a ndo", + "an do", + "and o", + ": '", + ". TabIndex", + ".Tab Index", + "s k", + "an ner", + "ann er", + "anne r", + "is set", + "iss et", + "isse t", + "Ġ outside", + "Ġout side", + "Ġouts ide", + "l edge", + "le dge", + "led ge", + "Ġ å", + "Ġ Rob", + "ĠR ob", + "ĠRo b", + "Ġ imm", + "Ġi mm", + "Ġim m", + "! Ċ", + "Ġ Web", + "ĠW eb", + "ĠWe b", + "D es", + "De s", + "B C", + "an cial", + "anc ial", + "ancia l", + "R oute", + "Ro ute", + "D ec", + "De c", + "fer ences", + "ference s", + "Ġp urch", + "Ġpur ch", + "Ġpu rch", + "Ġ Model", + "ĠM odel", + "ĠMod el", + "ĠMo del", + "ĠMode l", + "c tor", + "ct or", + "g n", + "_ start", + "_st art", + "_star t", + "_sta rt", + "_ un", + "_u n", + ". *", + "i ses", + "is es", + "ise s", + "Ġ ground", + "Ġg round", + "Ġgr ound", + "Ġgro und", + "Ġgrou nd", + "Ġ unique", + "Ġun ique", + "Ġuniqu e", + "Ġuni que", + "Ġuniq ue", + "Ġbe aut", + "Ġbeau t", + "{ \"", + "Ġ pour", + "Ġp our", + "Ġpo ur", + "Ġpou r", + "Ġ Oct", + "ĠO ct", + "ĠOc t", + "Ġ tree", + "Ġt ree", + "Ġtr ee", + "Ġtre e", + "s ets", + "se ts", + "set s", + "_ res", + "_re s", + "_r es", + "' )->", + "') ->", + "_ reg", + "_re g", + "_r eg", + "( \"\\", + "(\" \\", + "Ġ byte", + "Ġb yte", + "Ġby te", + "Ġbyt e", + "B l", + "Ġ dating", + "Ġd ating", + "Ġda ting", + "Ġdat ing", + "Ġdati ng", + "Ġ matter", + "Ġm atter", + "Ġmat ter", + "Ġmatt er", + "Ġmatte r", + "Ġ Rem", + "ĠR em", + "ĠRe m", + "Ġ' ../", + "Ġ'. ./", + "Ġ'.. /", + "Ġ Aug", + "ĠA ug", + "ĠAu g", + "Ġ La", + "ĠL a", + "Ġ $(", + "Ġ$ (", + "o urnal", + "our nal", + "ourn al", + "1 11", + "11 1", + "i am", + "ia m", + "Ġ shows", + "Ġsh ows", + "Ġshow s", + "Ġsho ws", + "w rite", + "wr ite", + "Ġ ball", + "Ġb all", + "Ġbal l", + "Ġba ll", + "Ġsim ply", + "Ġsimp ly", + "Ġsimpl y", + "Ġ fast", + "Ġf ast", + "Ġfa st", + "Ġfas t", + "Ġ memory", + "Ġm emory", + "Ġmem ory", + "Ġmemor y", + "Ġmemo ry", + "A SS", + "AS S", + "Ġ Of", + "ĠO f", + "o ved", + "ov ed", + "ove d", + "a nte", + "an te", + "ant e", + "a ul", + "au l", + "i stry", + "is try", + "ist ry", + "istr y", + ") ));Ċ", + ")) );Ċ", + "))) ;Ċ", + "))); Ċ", + "Ġ fit", + "Ġf it", + "Ġfi t", + "< string", + "_", + "-> _", + "\" )ĊĊ", + "\") ĊĊ", + "\")Ċ Ċ", + "o x", + "ap plication", + "app lication", + "appl ication", + "Ġ ]Ċ", + "Ġ] Ċ", + "Ċ ĊĊĊĊĊ", + "ĊĊ ĊĊĊĊ", + "ĊĊĊĊ ĊĊ", + "ĊĊĊ ĊĊĊ", + "ĊĊĊĊĊ Ċ", + "1 80", + "18 0", + "Ġ soon", + "Ġs oon", + "Ġso on", + "Ġsoo n", + "ct ions", + "ction s", + "i nger", + "in ger", + "ing er", + "inge r", + "Ġ join", + "Ġj oin", + "Ġjo in", + "Ġ Pe", + "ĠP e", + "Ġ ë", + "Ġ las", + "Ġl as", + "Ġla s", + ". E", + "c ss", + "cs s", + "/ or", + "/o r", + "Ġ Start", + "ĠSt art", + "ĠStar t", + "ĠSta rt", + "Ġ TO", + "ĠT O", + "Ġ subs", + "Ġs ubs", + "Ġsu bs", + "Ġsub s", + "c onn", + "con n", + "co nn", + "com ponents", + "comp onents", + "component s", + "DE BUG", + "qu are", + "qua re", + "F unction", + "Func tion", + "Fun ction", + "en dar", + "end ar", + "enda r", + ". index", + ".in dex", + ".ind ex", + "Ġ fill", + "Ġf ill", + "Ġfil l", + "Ġfi ll", + "Ä Ļ", + "Ġ choose", + "Ġch oose", + "Ġcho ose", + "h ow", + "ho w", + "Ġ America", + "ĠAmeric a", + "ĠAmer ica", + "as sets", + "ass ets", + "asset s", + "asse ts", + "- -----------", + "-- ----------", + "---- --------", + "-------- ----", + "--- ---------", + "----- -------", + "---------- --", + "------ ------", + "----------- -", + "------- -----", + "--------- ---", + "Ġ Value", + "ĠV alue", + "ĠVal ue", + "ĠVa lue", + "Ġ office", + "Ġoff ice", + "Ġoffic e", + "Ġ veh", + "Ġv eh", + "Ġve h", + "Ġ transform", + "Ġtrans form", + "Ġtransf orm", + "Ġ Art", + "ĠA rt", + "ĠAr t", + "Ġ inde", + "Ġin de", + "Ġi nde", + "Ġind e", + "Ġ fn", + "Ġf n", + "Ġ implements", + "Ġim plements", + "Ġimp lements", + "Ġimplement s", + "Ġimpl ements", + "a ngo", + "an go", + "ang o", + "p lete", + "pl ete", + "ple te", + "plet e", + "+ \"", + "t mp", + "tm p", + "am ily", + "ami ly", + "amil y", + "Ġ hash", + "Ġh ash", + "Ġhas h", + "Ġha sh", + "m issions", + "miss ions", + "mission s", + "E ST", + "ES T", + "g t", + "Pro vider", + "Provid er", + "Provide r", + "Prov ider", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "Ġ flag", + "Ġf lag", + "Ġfl ag", + "Ġfla g", + "Ġpart icip", + "Ġpartic ip", + "Ġparti cip", + "d en", + "de n", + "Ġ Returns", + "ĠReturn s", + "Ġ note", + "Ġn ote", + "Ġnot e", + "Ġno te", + "ü r", + "p m", + "id eos", + "ide os", + "ideo s", + "Ġ specified", + "Ġs pecified", + "Ġspec ified", + "Ġ EN", + "ĠE N", + "e ster", + "es ter", + "est er", + "este r", + "o lid", + "ol id", + "oli d", + "Ġ upon", + "Ġu pon", + "Ġup on", + "( std", + "(s td", + "(st d", + "ĉ v", + "Ġ '\\", + "Ġ' \\", + "u z", + "Ġ vert", + "Ġv ert", + "Ġver t", + "Ġve rt", + "Ġv ict", + "Ġvi ct", + "Ġvic t", + "ĉ self", + "ĉs elf", + "ĉse lf", + "Ġ \"$", + "Ġ\" $", + "8 5", + ". k", + "Ġ groups", + "Ġg roups", + "Ġgroup s", + "Ġgro ups", + "Ġgrou ps", + "g ithub", + "git hub", + "l ang", + "la ng", + "lan g", + "Ġ mut", + "Ġm ut", + "Ġmu t", + "T O", + "Ġ ve", + "Ġv e", + "Ġ Please", + "ĠP lease", + "ĠPl ease", + "ĠPle ase", + "; ĊĊĊ", + ";Ċ ĊĊ", + ";ĊĊ Ċ", + "a ccess", + "ac cess", + "acc ess", + "Ġ {\"", + "Ġ{ \"", + "r ea", + "re a", + "Ġ risk", + "Ġr isk", + "Ġris k", + "Ġri sk", + "i cker", + "ic ker", + "ick er", + "og gle", + "ogg le", + "ĉ while", + "A NG", + "AN G", + ". send", + ".s end", + ".se nd", + "7 2", + "Ġ woman", + "Ġw oman", + "Ġwom an", + "Ġwo man", + "Ġ gets", + "Ġg ets", + "Ġget s", + "Ġge ts", + "Ġ ign", + "Ġi gn", + "Ġig n", + "Ġ Id", + "ĠI d", + "_ log", + "_l og", + "_lo g", + "O NE", + "ON E", + "Ġe vid", + "Ġev id", + "Ġ Har", + "ĠH ar", + "ĠHa r", + "_ sub", + "_s ub", + "_su b", + "Ġ endl", + "Ġe ndl", + "Ġen dl", + "Ġend l", + "Ġ included", + "Ġin cluded", + "Ġinclud ed", + "Ġinclude d", + "Ġincl uded", + "Ġinclu ded", + "( ));ĊĊ", + "() );ĊĊ", + "());Ċ Ċ", + "()) ;ĊĊ", + "()); ĊĊ", + "Ġ Ap", + "ĠA p", + "i gr", + "ig r", + "Ġ sem", + "Ġs em", + "Ġse m", + "Ġ Black", + "ĠB lack", + "ĠBl ack", + "d oc", + "do c", + "_ table", + "_t able", + "_tab le", + "_ta ble", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "- up", + "-u p", + "Ġ cause", + "Ġc ause", + "Ġca use", + "Ġcaus e", + "Ġ ..", + "Ġ. .", + "Ġ van", + "Ġv an", + "Ġva n", + "_ dict", + "_d ict", + "_di ct", + "_dic t", + "Ġ focus", + "Ġf ocus", + "Ġfoc us", + "Ġfo cus", + "I ND", + "IN D", + "C ESS", + "CE SS", + "CES S", + ". Log", + ".L og", + ".Lo g", + "Ġ multiple", + "Ġm ultiple", + "Ġmult iple", + "Ġmulti ple", + "Ġmultip le", + "i do", + "id o", + "Ġre gard", + "Ġreg ard", + "- M", + "and ler", + "andle r", + "o urse", + "our se", + "ours e", + "Ġ deg", + "Ġd eg", + "Ġde g", + ". U", + "Ġadd ition", + "Ġad dition", + "Ġv arious", + "Ġvar ious", + "Ġvari ous", + "Ġva rious", + "Ġ receive", + "Ġre ceive", + "Ġrece ive", + "е н", + "еР½", + "Ġ HT", + "ĠH T", + "O bj", + "Ob j", + "D F", + "Ġ increase", + "Ġin crease", + "Ġincre ase", + "Ġincr ease", + "Ġ Open", + "ĠO pen", + "ĠOp en", + "] ;", + "Ġ commit", + "Ġcom mit", + "Ġcomm it", + "? Ċ", + "ateg ories", + "ategor ies", + "ategori es", + "ategorie s", + "atego ries", + "at ory", + "ator y", + "ato ry", + "s hip", + "sh ip", + "shi p", + "Ġ Mich", + "ĠM ich", + "ĠMi ch", + "ĠMic h", + "Ġ html", + "Ġh tml", + "Ġht ml", + "ro mise", + "rom ise", + "Ġ leave", + "Ġle ave", + "Ġstr ateg", + "Ġstrat eg", + "Ġstra teg", + "Ġstrate g", + "a ven", + "av en", + "ave n", + "Ġ Console", + "ĠCon sole", + "ĠCons ole", + "k nown", + "kn own", + "know n", + "- n", + "_ LE", + "_L E", + ". component", + ".com ponent", + ".comp onent", + "Ġ bre", + "Ġb re", + "Ġbr e", + "S ession", + "i ance", + "ia nce", + "ian ce", + "Ġ align", + "Ġal ign", + "Ġali gn", + "type def", + "typ edef", + "typed ef", + "_ result", + "_res ult", + "Ġ WHERE", + "ĠW HERE", + "ĠWH ERE", + ". split", + ".s plit", + ".sp lit", + "Ġ reading", + "Ġre ading", + "Ġread ing", + "FA ULT", + "Ġ clo", + "Ġc lo", + "Ġcl o", + "Ġ notice", + "Ġnot ice", + "_ pr", + "_p r", + "ar ter", + "art er", + "arte r", + "Ġ lock", + "Ġl ock", + "Ġlo ck", + "Ġloc k", + "Ġ standard", + "Ġst andard", + "Ġstand ard", + "e tic", + "et ic", + "eti c", + "el low", + "ell ow", + "ello w", + "Ġ padding", + "Ġp adding", + "Ġpad ding", + "Ġpadd ing", + "Ġ His", + "ĠH is", + "ĠHi s", + "Ġ states", + "Ġst ates", + "Ġstate s", + "Ġstat es", + "Ġsta tes", + "_ cast", + "_c ast", + "_ca st", + "( P", + "a a", + "Ġ internal", + "Ġin ternal", + "Ġint ernal", + "Ġinter nal", + "Ġintern al", + "e an", + "ea n", + "Ġ PRO", + "ĠP RO", + "ĠPR O", + "Ġ Key", + "ĠK ey", + "ĠKe y", + "Ġ especially", + "Ġes pecially", + "Ġespecial ly", + "Ġespec ially", + "m ing", + "min g", + "mi ng", + "Ġ cross", + "Ġc ross", + "Ġcr oss", + "Ġcro ss", + "Ġ national", + "Ġn ational", + "Ġnation al", + "Ġnat ional", + "_ object", + "_obj ect", + "_o bject", + "_ob ject", + "f ilter", + "fil ter", + "filt er", + "Ġ script", + "Ġs cript", + "Ġscr ipt", + "Ġscri pt", + ". update", + ".up date", + "_ i", + "Ġ Assert", + "ĠAs sert", + "ĠAss ert", + "/ core", + "/c ore", + "/co re", + "% %%%", + "%% %%", + "%%% %", + "Ġ problems", + "Ġpro blems", + "Ġproble ms", + "Ġproblem s", + "Ġprob lems", + "Ġprobl ems", + "i stor", + "is tor", + "ist or", + "isto r", + "Ġ .=", + "Ġ. =", + "Ġ arch", + "Ġa rch", + "Ġar ch", + "Ġarc h", + "Ġ written", + "Ġw ritten", + "Ġwrit ten", + "Ġwr itten", + "Ġm ilit", + "Ġmil it", + "Ġmi lit", + "Ġmili t", + "M ENT", + "ME NT", + ". ch", + ".c h", + "c ape", + "ca pe", + "cap e", + "Ġ Mus", + "ĠM us", + "ĠMu s", + "_ config", + "_con fig", + "_conf ig", + "Ġ API", + "ĠA PI", + "ĠAP I", + "f oot", + "fo ot", + "foo t", + "Ġ images", + "Ġim ages", + "Ġimage s", + "Ġimag es", + "Ġima ges", + "e ndl", + "en dl", + "end l", + ". In", + ".I n", + "F irst", + "Fi rst", + "Ġ platform", + "Ġpl atform", + "Ġplat form", + ". prot", + ".p rot", + ".pro t", + ".pr ot", + "O ption", + "Op tion", + "Opt ion", + "s te", + "st e", + "Ġ TODO", + "ĠT ODO", + "ĠTO DO", + "ĠTOD O", + "Ġ force", + "Ġf orce", + "Ġfor ce", + "Ġforc e", + ". cont", + ".c ont", + ".con t", + ".co nt", + "ĉ echo", + "ĉe cho", + "ĠD av", + "ĠDa v", + "P tr", + "Pt r", + "( B", + "R T", + "Ġ Base", + "ĠB ase", + "ĠBa se", + "ĠBas e", + "] ['", + "][ '", + "Ġann ounc", + "Ġanno unc", + "con sole", + "cons ole", + "Ġ Py", + "ĠP y", + "d s", + ". as", + ".a s", + "Ġ prevent", + "Ġpr event", + "Ġpre vent", + "Ġprev ent", + "a pan", + "ap an", + "apa n", + "Ġ {'", + "Ġ{ '", + "} '", + "Ġ dead", + "Ġd ead", + "Ġde ad", + "V AL", + "VA L", + "Q UE", + "QU E", + "******** ****************************************************************", + "**************** ********************************************************", + "******************************** ****************************************", + "**************************************************************** ********", + "************************ ************************************************", + "**************************************** ********************************", + "************************************************ ************************", + "******************************************************** ****************", + "Ġ charg", + "Ġch arg", + "Ġchar g", + "Ġcha rg", + "R eturn", + "Re turn", + "Ret urn", + "Ġ ful", + "Ġf ul", + "Ġfu l", + "d om", + "do m", + "Ġ rules", + "Ġr ules", + "Ġrule s", + "Ġru les", + "Ġ modify", + "Ġmod ify", + "Ġ eval", + "Ġe val", + "Ġev al", + "h am", + "ha m", + "a tement", + "at ement", + "ate ment", + "atem ent", + "\\ <", + "u la", + "ul a", + "= False", + "=F alse", + "R A", + "Ġ contains", + "Ġcon tains", + "Ġcont ains", + "Ġcontain s", + "Ġconta ins", + "7 4", + "Ġ stack", + "Ġst ack", + "Ġsta ck", + "m ar", + "ma r", + "Ġ {}Ċ", + "Ġ{ }Ċ", + "Ġ{} Ċ", + "Ġ undefined", + "Ġun defined", + "Ġund efined", + "Ġundef ined", + "A ss", + "As s", + "Ġ China", + "ĠCh ina", + "ĠChi na", + "ĠChin a", + "v ey", + "ve y", + "* Ċ", + "Ġ playing", + "Ġpl aying", + "Ġplay ing", + "Ġpla ying", + ") /", + "a ctor", + "act or", + "ac tor", + "Ġ bottom", + "Ġb ottom", + "Ġbot tom", + "Ġbott om", + "l ier", + "li er", + "lie r", + "Ġ Number", + "ĠN umber", + "ĠNum ber", + "Ġc ouple", + "Ġco uple", + "Ġcou ple", + "Ġcoup le", + "D C", + "Ġ SO", + "ĠS O", + "g or", + "go r", + ". setText", + ".set Text", + "s uccess", + "su ccess", + "succ ess", + "com mand", + "comm and", + "comma nd", + "F ilter", + "Fil ter", + "Ġ Our", + "ĠO ur", + "ĠOu r", + "_ item", + "_i tem", + "_it em", + "Ġ ctx", + "Ġc tx", + "Ġct x", + "Ġ road", + "Ġr oad", + "Ġro ad", + "V ersion", + "Vers ion", + "c ase", + "ca se", + "cas e", + "u rt", + "ur t", + "av ior", + "avi or", + "y ch", + "yc h", + "semb ly", + "sembl y", + "Ġ Product", + "ĠPro duct", + "ĠProdu ct", + "ĠProd uct", + "Ġ held", + "Ġh eld", + "Ġhe ld", + "Ġhel d", + "a fe", + "af e", + "Ġ includes", + "Ġin cludes", + "Ġinclud es", + "Ġinclude s", + "Ġincl udes", + "Ġinclu des", + "< quote", + "Ġ avoid", + "Ġa void", + "Ġav oid", + "Ġ Fin", + "ĠF in", + "ĠFi n", + "Ġ Mod", + "ĠM od", + "ĠMo d", + "Ġ tab", + "Ġt ab", + "Ġta b", + "a no", + "an o", + "à ±", + "i pping", + "ip ping", + "ipp ing", + "ippi ng", + "- e", + "Ġ insert", + "Ġin sert", + "Ġins ert", + "Ġinser t", + "Ġinse rt", + "t arget", + "tar get", + "c han", + "ch an", + "cha n", + ". Model", + ".M odel", + ".Mod el", + ".Mode l", + "I ME", + "IM E", + "\\ Ċ", + "Ġ machine", + "Ġm achine", + "Ġma chine", + "Ġmach ine", + "a vy", + "av y", + "Ġ NO", + "ĠN O", + "Ġ Inter", + "ĠIn ter", + "ĠInt er", + "Ġ operation", + "Ġo peration", + "Ġop eration", + "Ġoper ation", + "Ġopera tion", + "m odal", + "mod al", + "mo dal", + "T ag", + "Ta g", + "] :", + "Ġ production", + "Ġp roduction", + "Ġpro duction", + "Ġproduct ion", + "Ġprodu ction", + "Ġprod uction", + "Ġ areas", + "Ġa reas", + "Ġare as", + "Ġarea s", + "Ġ ren", + "Ġre n", + "Ġr en", + "_ from", + "_f rom", + "_fr om", + "n bsp", + "nb sp", + "Ġ operator", + "Ġo perator", + "Ġop erator", + "Ġoper ator", + "Ġopera tor", + "m en", + "me n", + "a pped", + "ap ped", + "app ed", + "appe d", + "_ per", + "_p er", + "_pe r", + "z en", + "ze n", + "( \".", + "(\" .", + ". save", + ".s ave", + ".sa ve", + ".sav e", + "=\" {{", + "=\"{ {", + "Ġ tor", + "Ġt or", + "Ġto r", + "( response", + "(res ponse", + "(resp onse", + "Ġc andid", + "Ġcan did", + "Ġcand id", + "Ġ conv", + "Ġcon v", + "Ġco nv", + "a iled", + "ail ed", + "ai led", + "Ġ Lib", + "ĠL ib", + "ĠLi b", + "c omp", + "com p", + "co mp", + "u ra", + "ur a", + "ï¿ ½", + "Ġ Here", + "ĠH ere", + "ĠHe re", + "ĠHer e", + "Ġ argument", + "Ġarg ument", + "h ood", + "ho od", + "hoo d", + "Ġ establish", + "Ġest ablish", + "ograph y", + "ogra phy", + "Ġ onClick", + "Ġon Click", + "amb da", + "Ġ sch", + "Ġs ch", + "Ġsc h", + "Ġ movie", + "Ġm ovie", + "Ġmov ie", + "Ġmo vie", + "Ġ sec", + "Ġs ec", + "Ġse c", + "Ġ activity", + "Ġact ivity", + "Ġactiv ity", + "Ø §", + "Ġ sql", + "Ġs ql", + "Ġsq l", + "_ all", + "_a ll", + "_al l", + "in cip", + "inc ip", + "inci p", + "Ġpro vides", + "Ġprovid es", + "Ġprov ides", + "Ġprovide s", + "Ġ sys", + "Ġs ys", + "Ġsy s", + "a cket", + "ack et", + "ac ket", + "Ġw asn", + "Ġwas n", + "Ġwa sn", + "Ġ uses", + "Ġu ses", + "Ġus es", + "Ġuse s", + "Ġ Function", + "ĠF unction", + "ĠFun ction", + "ĠFunc tion", + ". google", + ".g oogle", + ".go ogle", + "Ġ Result", + "ĠRes ult", + "8 4", + "V isible", + "Vis ible", + "ag ma", + "el come", + "Ġ Sy", + "ĠS y", + "Ġ Cent", + "ĠC ent", + "ĠCe nt", + "AL SE", + "ALS E", + "a ción", + "ac ión", + "aci ón", + "E XT", + "EX T", + "Ġ license", + "Ġl icense", + "Ġlic ense", + "Ġlicens e", + "Ġ Long", + "ĠL ong", + "ĠLo ng", + "ĠLon g", + "Ġ accom", + "Ġacc om", + "Ġac com", + "Ġ ability", + "Ġab ility", + ". height", + ".h eight", + ".he ight", + "Act ive", + "Activ e", + "o logical", + "olog ical", + "ologic al", + "ologi cal", + "o ly", + "ol y", + ") ),", + ")) ,", + ". Se", + ".S e", + "Ġ parameter", + "Ġparam eter", + "Ġpara meter", + "Ġparamet er", + "p rite", + "pr ite", + "prit e", + "pri te", + "AB ILITY", + ". service", + ".s ervice", + ".serv ice", + ".ser vice", + "Ġ Group", + "ĠG roup", + "ĠGr oup", + "ĠGro up", + "_ query", + "_qu ery", + "_que ry", + "Ġ Item", + "ĠI tem", + "ĠIt em", + "i ning", + "in ing", + "ini ng", + "inin g", + "Ġ jud", + "Ġj ud", + "Ġju d", + "i ms", + "im s", + "f ix", + "fi x", + "i nder", + "in der", + "ind er", + "inde r", + "a gram", + "ag ram", + "agra m", + "agr am", + "Ġ functions", + "Ġfunction s", + "Ġfun ctions", + "Ġfunct ions", + "Ġex peri", + "Ġexp eri", + "Ġexper i", + "Ġ Em", + "ĠE m", + "Ġ rot", + "Ġr ot", + "Ġro t", + "Ġ pen", + "Ġp en", + "Ġpe n", + ". btn", + ".b tn", + ".bt n", + "Ġ AS", + "ĠA S", + "# ifdef", + "#if def", + "Ġ choice", + "Ġch oice", + "Ġcho ice", + "Ġ Page", + "ĠP age", + "ĠPa ge", + "ĠPag e", + "_ PRO", + "_P RO", + "_PR O", + "Q U", + "å ı", + "a ntity", + "ant ity", + "anti ty", + " Ń", + "w ords", + "word s", + "wor ds", + "Ġ readonly", + "Ġread only", + "Ġ flex", + "Ġf lex", + "Ġfl ex", + "Ġfle x", + "prot ected", + "protect ed", + "Ġ Any", + "ĠA ny", + "ĠAn y", + "Ġ characters", + "Ġchar acters", + "Ġcharacter s", + "en ced", + "ence d", + "enc ed", + "Ġ July", + "ĠJ uly", + "ĠJul y", + "ĠJu ly", + "i ler", + "il er", + "ile r", + "C ard", + "Car d", + "Ca rd", + "u rance", + "ur ance", + "ura nce", + "uran ce", + "Ġ rev", + "Ġre v", + "Ġr ev", + ". event", + ".e vent", + ".ev ent", + "a ly", + "al y", + "1 30", + "13 0", + "Ġw onder", + "Ġwon der", + "Ġwo nder", + "Ġ Port", + "ĠP ort", + "ĠPo rt", + "ĠPor t", + "Ġ legal", + "Ġl egal", + "Ġle gal", + "Ġleg al", + "r ole", + "ro le", + "rol e", + "Ġ ten", + "Ġt en", + "Ġte n", + "Ġg oes", + "Ġgo es", + "M P", + "wh ite", + ") :čĊ", + "): čĊ", + ") )čĊ", + ")) čĊ", + "Ġ reference", + "Ġre ference", + "Ġref erence", + "Ġrefer ence", + "Ġrefere nce", + "Ġ mis", + "Ġm is", + "Ġmi s", + "Ġ Project", + "ĠPro ject", + "ĠProj ect", + "i cks", + "ic ks", + "ick s", + "> &", + "C ON", + "CO N", + "Ġre pl", + "Ġrep l", + "Ġ regular", + "Ġreg ular", + "Ġregul ar", + "St orage", + "r amework", + "rame work", + "ram ework", + "Ġ goal", + "Ġgo al", + "Ġ touch", + "Ġt ouch", + "Ġto uch", + "Ġtou ch", + ". widget", + ".w idget", + "Ġ built", + "Ġb uilt", + "Ġbu ilt", + "d es", + "de s", + "P art", + "Par t", + "Pa rt", + "( re", + "(r e", + "Ġ worth", + "Ġw orth", + "Ġwor th", + "h ib", + "hi b", + "g ame", + "ga me", + "gam e", + "9 1", + "1 92", + "19 2", + "Ġ в", + "ĠÐ ²", + "a cion", + "ac ion", + "aci on", + "acio n", + "Ġ White", + "ĠWh ite", + "ĠWhit e", + "( type", + "(t ype", + "(typ e", + "( `", + "8 1", + "Ġ natural", + "Ġn atural", + "Ġnatur al", + "Ġnat ural", + "Ġin j", + "Ġi nj", + "Ġ calcul", + "Ġcal cul", + "Ġcalc ul", + "Ġ April", + "ĠApr il", + "ĠAp ril", + ". List", + ".L ist", + "Ġ associated", + "Ġassoci ated", + "Ġassociate d", + "Ġassoc iated", + "ĉ System", + "ĉS ystem", + "~ ~", + "= [", + "Ġ storage", + "Ġst orage", + "Ġstor age", + "Ġsto rage", + "Ġ bytes", + "Ġby tes", + "Ġbyte s", + "Ġbyt es", + "Ġ travel", + "Ġt ravel", + "Ġtr avel", + "Ġtra vel", + "Ġtrav el", + "Ġ sou", + "Ġs ou", + "Ġso u", + "Ġ passed", + "Ġp assed", + "Ġpass ed", + "Ġpas sed", + "Ġpasse d", + "! =", + "a script", + "as cript", + ". open", + ".op en", + ".o pen", + "Ġ grid", + "Ġg rid", + "Ġgr id", + "Ġgri d", + "Ġ bus", + "Ġb us", + "Ġbu s", + "Ġ recogn", + "Ġrec ogn", + "Ġreco gn", + "A b", + "Ġ hon", + "Ġh on", + "Ġho n", + "Ġ Center", + "ĠC enter", + "ĠCent er", + "Ġ prec", + "Ġp rec", + "Ġpr ec", + "Ġpre c", + "b uild", + "bu ild", + "7 3", + "HT ML", + "Ġ San", + "ĠS an", + "ĠSa n", + "Ġ countries", + "Ġc ountries", + "Ġcount ries", + "Ġcoun tries", + "a led", + "al ed", + "ale d", + "t oken", + "to ken", + "tok en", + "k t", + "Ġ qual", + "Ġqu al", + "Ġq ual", + "Ġqua l", + "L ast", + "La st", + "Las t", + "ad ow", + "ado w", + "Ġ manufact", + "Ġman ufact", + "i dad", + "id ad", + "ida d", + "j ango", + "ja ngo", + "jan go", + "jang o", + "N ext", + "Ne xt", + "x f", + ". a", + "Ġ porno", + "Ġp orno", + "Ġporn o", + "Ġpor no", + "Ġ PM", + "ĠP M", + "e rve", + "er ve", + "erv e", + "i ting", + "it ing", + "iti ng", + "itin g", + "_ th", + "_t h", + "c i", + "= None", + "=N one", + "g s", + "Ġ login", + "Ġlo gin", + "Ġlog in", + "at ives", + "ative s", + "ati ves", + "ativ es", + "' ]);Ċ", + "'] );Ċ", + "']) ;Ċ", + "']); Ċ", + "Ä ħ", + "Ġ ill", + "Ġi ll", + "Ġil l", + "I A", + "ch ildren", + "child ren", + "D O", + "Ġ levels", + "Ġlevel s", + "Ġlev els", + "Ġleve ls", + "Ġ {{", + "Ġ{ {", + "Ġ looks", + "Ġl ooks", + "Ġlo oks", + "Ġlook s", + "Ġ \"#", + "Ġ\" #", + "To String", + "ToStr ing", + "Ġ necessary", + "Ġn ecessary", + "Ġnecess ary", + "Ġ ĠĠĊ", + "ĠĠ ĠĊ", + "ĠĠĠ Ċ", + "c ell", + "ce ll", + "cel l", + "En try", + "Ent ry", + "Entr y", + "Ġ '#", + "Ġ' #", + "Ġext rem", + "Ġextr em", + "Se lector", + "Select or", + "Sel ector", + "Sele ctor", + "Ġ placeholder", + "Ġplace holder", + "L oad", + "Lo ad", + "Ġ released", + "Ġre leased", + "Ġrelease d", + "Ġrele ased", + "O RE", + "OR E", + "E numer", + "En umer", + "Enum er", + "Ġ TV", + "ĠT V", + "S ET", + "SE T", + "in q", + "P ress", + "Pr ess", + "Pre ss", + "Pres s", + "Ġ Department", + "ĠDe partment", + "ĠDep artment", + "ĠDepart ment", + "Ġ properties", + "Ġp roperties", + "Ġprop erties", + "Ġproper ties", + "Ġ respond", + "Ġres pond", + "Ġresp ond", + "S earch", + "Se arch", + "Sea rch", + "a el", + "ae l", + "Ġ requ", + "Ġre qu", + "Ġr equ", + "Ġreq u", + "Ġ Book", + "ĠB ook", + "ĠBo ok", + "ĠBoo k", + "/ Ċ", + "( st", + "(s t", + "Ġ financial", + "Ġfin ancial", + "Ġfinanc ial", + "Ġfinan cial", + "i cket", + "ic ket", + "ick et", + "_ input", + "_in put", + "_inp ut", + "Ġ threat", + "Ġth reat", + "Ġthr eat", + "( in", + "(i n", + "S trip", + "St rip", + "Str ip", + "ì Ŀ", + "ç ão", + "7 1", + "Ġe vidence", + "Ġev idence", + "Ġevid ence", + ") );", + ")) ;", + "Ġ Bro", + "ĠB ro", + "ĠBr o", + "Ġ [];Ċ", + "Ġ[ ];Ċ", + "Ġ[] ;Ċ", + "Ġ[]; Ċ", + "Ġ ou", + "Ġo u", + "b uf", + "bu f", + "S cript", + "Scr ipt", + "d at", + "da t", + "Ġ rule", + "Ġr ule", + "Ġru le", + "# import", + "= \"/", + "=\" /", + "S erial", + "Se rial", + "Ser ial", + "Ġ starting", + "Ġstart ing", + "Ġstar ting", + "[ index", + "[in dex", + "[ind ex", + "a e", + "Ġ contrib", + "Ġcon trib", + "Ġcont rib", + "Ġcontr ib", + "s ession", + "sess ion", + "_ new", + "_n ew", + "_ne w", + "u table", + "ut able", + "uta ble", + "o ber", + "ob er", + "obe r", + "Ġ \"./", + "Ġ\" ./", + "Ġ\". /", + "Ġ logger", + "Ġlo gger", + "Ġlog ger", + "Ġrec ently", + "Ġrecent ly", + "Ġ returned", + "Ġre turned", + "Ġreturn ed", + "č čĊ", + ") ))Ċ", + ")) )Ċ", + "))) Ċ", + "it ions", + "ition s", + "iti ons", + "Ġ seek", + "Ġse ek", + "Ġsee k", + "Ġ communic", + "Ġcomm unic", + "Ġcommun ic", + "Ġ \".", + "Ġ\" .", + "Ġ username", + "Ġuser name", + "Ġusern ame", + "E CT", + "EC T", + "D S", + "Ġ otherwise", + "Ġother wise", + "Ġ German", + "ĠG erman", + "ĠGer man", + "ĠGerm an", + ". aw", + ".a w", + "Ad apter", + "Ada pter", + "ix el", + "ixe l", + "Ġ systems", + "Ġs ystems", + "Ġsystem s", + "Ġsys tems", + "Ġsyst ems", + "Ġ drop", + "Ġd rop", + "Ġdr op", + "Ġdro p", + "8 3", + "Ġ structure", + "Ġstruct ure", + "Ġ $(\"#", + "Ġ$ (\"#", + "Ġ$( \"#", + "Ġ$(\" #", + "en cies", + "enc ies", + "enci es", + "an ning", + "ann ing", + "anni ng", + "Ġ Link", + "ĠL ink", + "ĠLin k", + "ĠLi nk", + "Ġ Response", + "ĠRes ponse", + "ĠRespons e", + "ĠResp onse", + "Ġ stri", + "Ġs tri", + "Ġst ri", + "Ġstr i", + "Å ¼", + "Ġ DB", + "ĠD B", + "æ Ĺ", + "and roid", + "andro id", + "andr oid", + "sub mit", + "o tion", + "ot ion", + "oti on", + "9 2", + "( @", + ". test", + ".t est", + ".te st", + "8 2", + "Ċ ĊĊĊĊĊĊĊ", + "ĊĊ ĊĊĊĊĊĊ", + "ĊĊĊĊ ĊĊĊĊ", + "ĊĊĊ ĊĊĊĊĊ", + "ĊĊĊĊĊĊ ĊĊ", + "ĊĊĊĊĊ ĊĊĊ", + "ĊĊĊĊĊĊĊ Ċ", + "] ;čĊ", + "]; čĊ", + "Ġdirect ly", + "Ġ \"%", + "Ġ\" %", + "r is", + "ri s", + "el ta", + "elt a", + "A IL", + "AI L", + ") {čĊ", + "){ čĊ", + "m ine", + "min e", + "mi ne", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "( k", + "b on", + "bo n", + "a sic", + "as ic", + "asi c", + "p ite", + "pi te", + "pit e", + "_ __", + "__ _", + "M ax", + "Ma x", + "Ġ errors", + "Ġerror s", + "Ġerr ors", + "Ġer rors", + "Ġerro rs", + "Ġ While", + "ĠWh ile", + "Ġ arguments", + "Ġarg uments", + "Ġargument s", + "Ġ ensure", + "Ġen sure", + "Ġens ure", + "R ight", + "- based", + "-b ased", + "-base d", + "W eb", + "We b", + "Ġ -=", + "Ġ- =", + "Ġint rodu", + "Ġintr odu", + "Ġintro du", + "Ġ Inst", + "ĠI nst", + "ĠIn st", + "ĠIns t", + "ĠW ash", + "ĠWas h", + "ĠWa sh", + "or din", + "ord in", + "j oin", + "jo in", + "D atabase", + "Data base", + "Dat abase", + "Ġ grad", + "Ġg rad", + "Ġgr ad", + "Ġgra d", + "Ġ usually", + "Ġus ually", + "Ġusual ly", + "Ġusu ally", + "I TE", + "IT E", + "P rops", + "Pro ps", + "Prop s", + "Pr ops", + "? >Ċ", + "?> Ċ", + "Ġ Go", + "ĠG o", + "@ Override", + "R EF", + "RE F", + "Ġ ip", + "Ġi p", + "ĠA ustral", + "ĠAust ral", + "ĠAu stral", + "ĠAustr al", + "Ġ ist", + "Ġis t", + "Ġi st", + "View ById", + "Ġ serious", + "Ġse rious", + "Ġser ious", + "Ġseri ous", + "Ġ customer", + "Ġc ustomer", + "Ġcustom er", + "Ġcust omer", + ". prototype", + ".prot otype", + ".proto type", + "o do", + "od o", + "c or", + "co r", + "Ġ door", + "Ġd oor", + "Ġdo or", + "Ġ WITHOUT", + "ĠWITH OUT", + "Ġ plant", + "Ġp lant", + "Ġpl ant", + "Ġplan t", + "Ġpla nt", + "Ġb egan", + "Ġbe gan", + "Ġbeg an", + "Ġ distance", + "Ġd istance", + "Ġdist ance", + "Ġdi stance", + "( )).", + "() ).", + "()) .", + "Ġch ance", + "Ġcha nce", + "Ġchan ce", + "Ġ ord", + "Ġo rd", + "Ġor d", + "c ame", + "ca me", + "cam e", + "pr agma", + "Ġ protect", + "Ġprot ect", + "Ġprote ct", + "r agment", + "ra gment", + "rag ment", + "Ġ Node", + "ĠN ode", + "ĠNo de", + "e ning", + "en ing", + "eni ng", + "enin g", + "Ñ ĩ", + "Ġ route", + "Ġr oute", + "Ġro ute", + "Ġrout e", + "Ġrou te", + "Ġ School", + "ĠS chool", + "ĠSch ool", + "ĠScho ol", + "h i", + "Ġne ighb", + "Ġneigh b", + "A fter", + "Af ter", + "l icit", + "lic it", + "li cit", + "Ġ contr", + "Ġcon tr", + "Ġcont r", + "Ġ primary", + "Ġpr imary", + "Ġprim ary", + "Ġpri mary", + "Ġprima ry", + "A A", + ".Write Line", + "ut ils", + "util s", + "uti ls", + "Ġ bi", + "Ġb i", + "R ed", + "Re d", + ".L inq", + ". object", + ".o bject", + ".obj ect", + ".ob ject", + "Ġ leaders", + "Ġle aders", + "Ġlead ers", + "Ġleader s", + "un ities", + "unit ies", + "uni ties", + "Ġ gun", + "Ġg un", + "Ġgu n", + "o nth", + "on th", + "ont h", + "Ġ Dev", + "ĠD ev", + "ĠDe v", + "F ILE", + "FI LE", + "Ġ comments", + "Ġcom ments", + "Ġcomm ents", + "Ġcomment s", + "Ġcomme nts", + "_ len", + "_l en", + "_le n", + "ar row", + "arr ow", + "arro w", + "a mount", + "am ount", + "amo unt", + "R ange", + "Ra nge", + "s ert", + "se rt", + "ser t", + "Grid View", + "Ġ updated", + "Ġup dated", + "Ġupdate d", + "Ġupd ated", + "Ġ Mo", + "ĠM o", + "Ġ inform", + "Ġin form", + "Ġinfo rm", + "Ġinf orm", + "oci ety", + "a la", + "al a", + "A ccess", + "Ac cess", + "Acc ess", + "Ġ hab", + "Ġh ab", + "Ġha b", + "Ġ creat", + "Ġc reat", + "Ġcr eat", + "Ġcre at", + "Ġcrea t", + "_ arg", + "_a rg", + "_ar g", + "Ġ January", + "ĠJan uary", + "Ġ Day", + "ĠD ay", + "ĠDa y", + "\" )čĊ", + "\") čĊ", + "u ple", + "up le", + "d ocument", + "doc ument", + "gor ith", + "gorit h", + "m enu", + "me nu", + "men u", + "Ġ Over", + "ĠO ver", + "ĠOv er", + "b b", + ". title", + ".t itle", + "_ out", + "_o ut", + "Ġ led", + "Ġl ed", + "Ġle d", + "u ri", + "ur i", + "Ġ ?> < /", + "g l", + "Ġ bank", + "Ġb ank", + "Ġban k", + "Ġba nk", + "ay ment", + "ĉ printf", + "ĉprint f", + "M D", + "Ġ sample", + "Ġs ample", + "Ġsam ple", + "Ġsamp le", + "Ġ hands", + "Ġh ands", + "Ġhand s", + "Ġha nds", + "Ġhan ds", + "Ġ Version", + "ĠV ersion", + "ĠVers ion", + "u ario", + "ua rio", + "uar io", + "Ġ offers", + "Ġof fers", + "Ġoff ers", + "Ġoffer s", + "ity Engine", + "Ġ shape", + "Ġs hape", + "Ġsh ape", + "Ġsha pe", + "Ġ sleep", + "Ġs leep", + "Ġsle ep", + "Ġslee p", + "_ point", + "_p oint", + "_po int", + "S ettings", + "Set tings", + "Setting s", + "Ġ achie", + "Ġa chie", + "Ġach ie", + "Ġ sold", + "Ġs old", + "Ġso ld", + "Ġsol d", + "o ta", + "ot a", + ". bind", + ".b ind", + ".bin d", + ".bi nd", + "A m", + "Ġ safe", + "Ġs afe", + "Ġsa fe", + "Ġsaf e", + "St ore", + "Ġ shared", + "Ġsh ared", + "Ġshare d", + "Ġsha red", + "Ġshar ed", + "Ġ priv", + "Ġp riv", + "Ġpr iv", + "Ġpri v", + "_ VAL", + "_V AL", + "Ġs ens", + "Ġse ns", + "Ġsen s", + ") {", + "Ġ remember", + "Ġre member", + "Ġrem ember", + "sh ared", + "sha red", + "share d", + "e lement", + "el ement", + "ele ment", + "elem ent", + "Ġ shoot", + "Ġs hoot", + "Ġsh oot", + "Ġsho ot", + "V ert", + "Ver t", + "Ve rt", + "c out", + "co ut", + "cou t", + "Ġ env", + "Ġe nv", + "Ġen v", + "_ label", + "_l abel", + "_lab el", + "_la bel", + "Ġ >Ċ", + "Ġ> Ċ", + "r un", + "ru n", + "Ġ scene", + "Ġs cene", + "Ġsc ene", + "Ġscen e", + "Ġsce ne", + "( array", + "(a rray", + "(arr ay", + "(ar ray", + "d evice", + "de vice", + "dev ice", + "_ title", + "_t itle", + "_ti tle", + "a gon", + "ag on", + "ago n", + "] čĊ", + "a by", + "ab y", + "Ġbe came", + "Ġbec ame", + "bo olean", + "bool ean", + "boo lean", + "Ġ park", + "Ġp ark", + "Ġpar k", + "Ġpa rk", + "Ġ Code", + "ĠC ode", + "ĠCo de", + "ĠCod e", + "up load", + "r iday", + "ri day", + "rid ay", + "Ġ September", + "ĠSept ember", + "ĠSep tember", + "F e", + "Ġ sen", + "Ġs en", + "Ġse n", + "c ing", + "ci ng", + "cin g", + "F L", + "C ol", + "Co l", + "u ts", + "ut s", + "_ page", + "_p age", + "_pag e", + "_pa ge", + "i nn", + "in n", + "Ġim plied", + "Ġimp lied", + "Ġimpl ied", + "a ling", + "al ing", + "ali ng", + "alin g", + "Ġyour self", + "Ġyours elf", + ". Count", + ".C ount", + ".Co unt", + "con f", + "co nf", + "Ġ aud", + "Ġa ud", + "Ġau d", + "_ init", + "_in it", + "_i nit", + "_ini t", + ". )", + "Ġw rote", + "Ġwr ote", + "0 03", + "00 3", + "N G", + ". Error", + ".E rror", + ".Err or", + "ä »", + ". for", + ".f or", + "Ġ equal", + "Ġe qual", + "Ġequ al", + "Ġeq ual", + "Ġ Request", + "ĠRe quest", + "ĠReq uest", + "Ġ serial", + "Ġs erial", + "Ġse rial", + "Ġser ial", + "Ġseria l", + "Ġseri al", + "Ġ allows", + "Ġall ows", + "Ġallow s", + "Ġallo ws", + "X X", + "Ġ middle", + "Ġm iddle", + "Ġmid dle", + "Ġmidd le", + "c hor", + "ch or", + "cho r", + "1 95", + "19 5", + "9 4", + "à ¸", + "er val", + "erv al", + "erva l", + ". Column", + ".C olumn", + ".Col umn", + "re ading", + "read ing", + "rea ding", + "Ġ escort", + "Ġesc ort", + "Ġ August", + "ĠAug ust", + "Ġquick ly", + "Ġwe ap", + "Ġ CG", + "ĠC G", + "ro pri", + "rop ri", + "h o", + "Ġ cop", + "Ġc op", + "Ġco p", + "( struct", + "(str uct", + "Ġ Big", + "ĠB ig", + "ĠBi g", + "Ġ vs", + "Ġv s", + "Ġf requ", + "Ġfr equ", + "Ġfre qu", + "Ġfreq u", + ". Value", + ".V alue", + ".Val ue", + "Ġ actions", + "Ġa ctions", + "Ġact ions", + "Ġaction s", + "Ġ proper", + "Ġpro per", + "Ġpr oper", + "Ġprop er", + "Ġ inn", + "Ġin n", + "Ġi nn", + "Ġ objects", + "Ġobject s", + "Ġobj ects", + "Ġ matrix", + "Ġm atrix", + "Ġmat rix", + "av ascript", + "ava script", + "Ġ ones", + "Ġo nes", + "Ġon es", + "Ġone s", + ". group", + ".g roup", + ".gr oup", + "Ġ green", + "Ġg reen", + "Ġgr een", + "Ġgre en", + "Ġ paint", + "Ġp aint", + "Ġpain t", + "Ġpa int", + "Ġpai nt", + "o ols", + "ool s", + "oo ls", + "y cl", + "yc l", + "en code", + "enc ode", + "enco de", + "o lt", + "ol t", + "com ment", + "comm ent", + ". api", + ".ap i", + ".a pi", + "D ir", + "Di r", + "Ġ une", + "Ġu ne", + "Ġun e", + "iz ont", + "izon t", + "izo nt", + ". position", + ".p osition", + ".pos ition", + "Ġde signed", + "Ġdes igned", + "Ġdesign ed", + "_ val", + "_v al", + "_va l", + "a vi", + "av i", + "i ring", + "ir ing", + "iri ng", + "t ab", + "ta b", + "Ġ layer", + "Ġl ayer", + "Ġla yer", + "Ġlay er", + "Ġ views", + "Ġview s", + "Ġvi ews", + "Ġvie ws", + "Ġ reve", + "Ġre ve", + "Ġr eve", + "Ġrev e", + "r ael", + "ra el", + "Ġ ON", + "ĠO N", + "r ics", + "ri cs", + "ric s", + "1 60", + "16 0", + "n p", + "Ġ core", + "Ġc ore", + "Ġco re", + "Ġcor e", + "( ));čĊ", + "() );čĊ", + "()) ;čĊ", + "()); čĊ", + "M ain", + "Ma in", + "Ġ expert", + "Ġex pert", + "Ġexp ert", + "Ġexper t", + "ĉ ĉčĊ", + "ĉĉ čĊ", + "_ en", + "_e n", + "Ġ />", + "Ġ/ >", + "ut ter", + "utt er", + "I AL", + "IA L", + "a ils", + "ail s", + "ai ls", + "Ġ King", + "ĠK ing", + "ĠKi ng", + "ĠKin g", + "* /ĊĊ", + "*/ ĊĊ", + "*/Ċ Ċ", + "Ġ Met", + "ĠM et", + "ĠMe t", + "_ end", + "_e nd", + "_en d", + "ad dr", + "add r", + "o ra", + "or a", + "Ġ ir", + "Ġi r", + "M in", + "Mi n", + "Ġsur pr", + "Ġre pe", + "Ġrep e", + "Ġ directory", + "Ġd irectory", + "Ġdirect ory", + "Ġdirector y", + "P UT", + "PU T", + "- S", + "Ġ election", + "Ġe lection", + "Ġel ection", + "Ġelect ion", + "Ġele ction", + "h aps", + "ha ps", + "hap s", + ". pre", + ".p re", + ".pr e", + "c m", + "Value s", + "Val ues", + "Ġ \"Ċ", + "Ġ\" Ċ", + "c olumn", + "col umn", + "i vil", + "iv il", + "ivi l", + "Log in", + "Lo gin", + "in ue", + "inu e", + "9 3", + "Ġ beautiful", + "Ġbe autiful", + "Ġbeaut iful", + "Ġ secret", + "Ġs ecret", + "Ġse cret", + "Ġsec ret", + "Ġsecre t", + "( event", + "(e vent", + "(ev ent", + "Ġ chat", + "Ġc hat", + "Ġch at", + "Ġcha t", + "u ms", + "um s", + "Ġ origin", + "Ġor igin", + "Ġorig in", + "Ġori gin", + "Ġ effects", + "Ġe ffects", + "Ġeffect s", + "Ġeff ects", + "Ġ management", + "Ġman agement", + "Ġmanage ment", + "Ġmana gement", + "i lla", + "il la", + "ill a", + "t k", + "Ġ setting", + "Ġs etting", + "Ġset ting", + "Ġsett ing", + "Ġ Cour", + "ĠC our", + "ĠCo ur", + "ĠCou r", + "Ġ massage", + "Ġm assage", + "Ġmass age", + "Ġmas sage", + "Ġmassa ge", + "ĉ end", + "ĉe nd", + "ĉen d", + "Ġ happy", + "Ġh appy", + "Ġhapp y", + "Ġha ppy", + "Ġhap py", + "Ġ finish", + "Ġf inish", + "Ġfin ish", + "Ġfi nish", + "Ġ camera", + "Ġc amera", + "Ġcame ra", + "Ġcam era", + "Ġcamer a", + "Ġ Ver", + "ĠV er", + "ĠVe r", + "ĠDem ocr", + "ĠDemo cr", + "Ġ Her", + "ĠH er", + "ĠHe r", + "( Q", + "c ons", + "con s", + "co ns", + "i ta", + "it a", + "Ġ '.", + "Ġ' .", + "{ }", + "ĉ C", + "Ġ stuff", + "Ġst uff", + "Ġstu ff", + "1 94", + "19 4", + "Ġ :Ċ", + "Ġ: Ċ", + "Ġ AR", + "ĠA R", + "T ask", + "Ta sk", + "h idden", + "hi dden", + "hid den", + "e ros", + "er os", + "ero s", + "I GN", + "IG N", + "at io", + "ati o", + "Ġ Health", + "ĠHe alth", + "ĠHeal th", + "ol ute", + "olut e", + "olu te", + "En ter", + "Ent er", + "' >", + "Ġ Twitter", + "ĠT witter", + "ĠTw itter", + "Ġ County", + "ĠC ounty", + "ĠCount y", + "ĠCou nty", + "ĠCoun ty", + "s cribe", + "scri be", + "scr ibe", + "Ġ= >Ċ", + "Ġ=> Ċ", + "Ġ hy", + "Ġh y", + "f it", + "fi t", + "Ġm ilitary", + "Ġmilit ary", + "Ġmil itary", + "Ġmilitar y", + "Ġ sale", + "Ġs ale", + "Ġsa le", + "Ġsal e", + "re quired", + "require d", + "requ ired", + "n on", + "no n", + "boot strap", + "h old", + "ho ld", + "hol d", + "r im", + "ri m", + "- old", + "-o ld", + "Ġ Down", + "ĠD own", + "ĠDo wn", + "ĠDow n", + "Ġ mention", + "Ġm ention", + "Ġmen tion", + "Ġment ion", + "cont act", + "_ group", + "_g roup", + "_gr oup", + "o day", + "od ay", + "oda y", + "Ġ town", + "Ġt own", + "Ġto wn", + "Ġtow n", + "Ġ solution", + "Ġs olution", + "Ġsol ution", + "u ate", + "ua te", + "uat e", + "el ling", + "ell ing", + "elli ng", + "] ->", + "]- >", + "o tes", + "ot es", + "ote s", + "en tal", + "ent al", + "enta l", + "o men", + "om en", + "ome n", + "osp ital", + "Ġ Sup", + "ĠS up", + "ĠSu p", + "_ EN", + "_E N", + "Ġ slow", + "Ġs low", + "Ġsl ow", + "Ġslo w", + "SE SSION", + "SES SION", + "Ġ blue", + "Ġb lue", + "Ġbl ue", + "a go", + "ag o", + "Ġl ives", + "Ġli ves", + "Ġlive s", + "Ġliv es", + "Ġ ^", + ". un", + ".u n", + "i nst", + "in st", + "ins t", + "e nge", + "en ge", + "eng e", + "Ġ customers", + "Ġcustom ers", + "Ġcustomer s", + "Ġcust omers", + "Ġ cast", + "Ġc ast", + "Ġca st", + "Ġcas t", + "ud get", + "udge t", + "ï¼ ģ", + "ic ens", + "ice ns", + "Ġd etermin", + "Ġde termin", + "Ġdeter min", + "Ġdeterm in", + "Se lected", + "Select ed", + "Sel ected", + "_ pl", + "_p l", + "ue ue", + "Ġ dark", + "Ġd ark", + "Ġda rk", + "Ġdar k", + "/ /ĊĊ", + "// ĊĊ", + "//Ċ Ċ", + "s i", + "th ern", + "ther n", + "the rn", + "Ġ Japan", + "ĠJ apan", + "ĠJa pan", + "ĠJap an", + "/ w", + "P U", + "Ġ East", + "ĠE ast", + "ĠEa st", + "o vie", + "ov ie", + "ovi e", + "Ġ package", + "Ġp ackage", + "Ġpack age", + "Ġ nor", + "Ġn or", + "Ġno r", + "Ġ api", + "Ġa pi", + "Ġap i", + "b ot", + "bo t", + "\" ];Ċ", + "\"] ;Ċ", + "\"]; Ċ", + "_ post", + "_p ost", + "_pos t", + "_po st", + "u late", + "ul ate", + "ula te", + "Ġ club", + "Ġc lub", + "Ġcl ub", + "' ));Ċ", + "') );Ċ", + "')) ;Ċ", + "')); Ċ", + "Ġ loop", + "Ġl oop", + "Ġlo op", + "P IO", + "PI O", + "i one", + "ion e", + "io ne", + "s hot", + "sh ot", + "In itial", + "Init ial", + "Ġ played", + "Ġpl ayed", + "Ġplay ed", + "reg ister", + "regist er", + "r ought", + "ro ught", + "rou ght", + "rough t", + "_ max", + "_m ax", + "_ma x", + "ace ment", + "ac ement", + "m atch", + "mat ch", + "raph ics", + "raphic s", + "A ST", + "AS T", + "Ġ existing", + "Ġex isting", + "Ġexist ing", + "Ġ complex", + "Ġcom plex", + "Ġcomp lex", + "Ġcomple x", + "Ġcompl ex", + "D A", + ". Ch", + ".C h", + ". common", + ".com mon", + ".comm on", + "m o", + "Ġ' ../../", + "Ġ'../ ../", + "Ġ'.. /../", + "i to", + "it o", + "Ġ analysis", + "Ġan alysis", + "Ġanal ysis", + "Ġanaly sis", + "Ġanalys is", + "Ġ deliver", + "Ġdel iver", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "i dx", + "id x", + "à ł", + "o ngo", + "on go", + "ong o", + "Ġ English", + "ĠEng lish", + "ĠEngl ish", + "< !--", + " \";Ċ", + ">\" ;Ċ", + ">\"; Ċ", + "_ UN", + "_U N", + "ĉ std", + "ĉs td", + "ĉst d", + "o ded", + "od ed", + "ode d", + "Ġ calls", + "Ġc alls", + "Ġcall s", + "Ġcal ls", + "h ere", + "he re", + "her e", + "R el", + "Re l", + "Ġ brand", + "Ġb rand", + "Ġbr and", + "Ġbra nd", + "Ġbran d", + "back ground", + "g a", + "_ address", + "_add ress", + "_addr ess", + "_ad dress", + "_ params", + "_param s", + "_par ams", + "_para ms", + "_pa rams", + "C ategory", + "1 03", + "10 3", + "Ġ India", + "ĠIn dia", + "ĠInd ia", + "ĠIndi a", + "_ event", + "_e vent", + "_ev ent", + "_even t", + "Ġ ing", + "Ġin g", + "Ġi ng", + "R ender", + "Re nder", + "Ren der", + ". cl", + ".c l", + "um py", + "ump y", + "Ġ pet", + "Ġp et", + "Ġpe t", + "F C", + "Ġ Ant", + "ĠA nt", + "ĠAn t", + "E xt", + "Ex t", + "Ġ charge", + "Ġch arge", + "Ġchar ge", + "Ġcharg e", + "e ned", + "en ed", + "ene d", + "g rad", + "gr ad", + "gra d", + "E O", + "Ġ depend", + "Ġd epend", + "Ġde pend", + "Ġdep end", + "Ġ .ĊĊ", + "Ġ. ĊĊ", + "Ġ.Ċ Ċ", + "f rame", + "fr ame", + "fra me", + "fram e", + "Ġ df", + "Ġd f", + "Ġ huge", + "Ġh uge", + "Ġhug e", + "Ġhu ge", + "Ġ PART", + "ĠP ART", + "ĠPA RT", + "ĠPAR T", + "e ds", + "ed s", + "; ;", + "Ġ AM", + "ĠA M", + "Ġ basic", + "Ġb asic", + "Ġbas ic", + "Ġba sic", + "Ġ Let", + "ĠL et", + "ĠLe t", + "l ich", + "lic h", + "li ch", + "Ġ arm", + "Ġa rm", + "Ġar m", + "Ġ star", + "Ġs tar", + "Ġst ar", + "Ġsta r", + "Ġf ederal", + "Ġfed eral", + "Ġfeder al", + "W ork", + "Wo rk", + "Ġ carry", + "Ġc arry", + "Ġcar ry", + "Ġcarr y", + "Ġ Israel", + "ĠIs rael", + "( obj", + "(o bj", + "(ob j", + "= {{", + "={ {", + "Ġ saved", + "Ġs aved", + "Ġsa ved", + "Ġsave d", + "Ġsav ed", + "Ġ syn", + "Ġs yn", + "Ġsy n", + "Ġ constant", + "Ġcon stant", + "Ġconst ant", + "Ġcons tant", + "V ENT", + "VE NT", + "VEN T", + "Ġ positive", + "Ġpos itive", + "Ġposit ive", + "Ġ conduct", + "Ġcon duct", + "Ġcond uct", + "Ġconduc t", + "Ġcondu ct", + "Ġ skin", + "Ġs kin", + "Ġsk in", + "Ġski n", + "Ġear lier", + "Ġ layout", + "Ġl ayout", + "Ġlay out", + "Ġ IP", + "ĠI P", + "O UR", + "OU R", + "Ġ tim", + "Ġt im", + "Ġti m", + "style sheet", + "styles heet", + "_ cl", + "_c l", + "Ġ Card", + "ĠC ard", + "ĠCar d", + "ĠCa rd", + "++ ){Ċ", + "++) {Ċ", + "++){ Ċ", + "Ġtem per", + "Ġtemp er", + "Ġ David", + "ĠD avid", + "ĠDav id", + "ĠDa vid", + "ĉ try", + "ĉt ry", + "ĉtr y", + ". dart", + ".d art", + ".da rt", + "Ġw ants", + "Ġwant s", + "Ġwa nts", + "Ġwan ts", + "Ġ picture", + "Ġp icture", + "Ġpic ture", + "Ġpict ure", + "Ġ videos", + "Ġv ideos", + "Ġvideo s", + "Ġvid eos", + "Ġvide os", + "Ġ Comm", + "ĠC omm", + "ĠCom m", + "ĠCo mm", + "is ions", + "ision s", + "isi ons", + "_ MAX", + "_M AX", + "_MA X", + "M apping", + "Map ping", + "Ma pping", + "- content", + "-c ontent", + "-con tent", + "-cont ent", + "Ġ Ear", + "ĠE ar", + "ĠEa r", + "- de", + "-d e", + "Ġp rem", + "Ġpr em", + "Ġpre m", + "b ruary", + "br uary", + "bru ary", + "bruar y", + "Ġ components", + "Ġcom ponents", + "Ġcomp onents", + "Ġcomponent s", + "Ġthrough out", + "Ġ pull", + "Ġp ull", + "Ġpul l", + "Ġpu ll", + "Ġ pages", + "Ġp ages", + "Ġpage s", + "Ġpa ges", + "Ġpag es", + "e nte", + "en te", + "ent e", + "res pond", + "resp ond", + "Ġ gas", + "Ġg as", + "Ġga s", + "cript or", + "Ġ edge", + "Ġe dge", + "Ġed ge", + "Ġ bound", + "Ġb ound", + "Ġbo und", + "Ġbou nd", + "A CT", + "AC T", + "* *****", + "** ****", + "**** **", + "*** ***", + "***** *", + "Ġ creating", + "Ġc reating", + "Ġcr eating", + "Ġcre ating", + "Ġcreat ing", + "Ġcrea ting", + "Ġ CH", + "ĠC H", + "Ġ nullptr", + "Ġnull ptr", + "B r", + "+ '", + ". co", + ".c o", + "> ::", + ">: :", + "Ġ learning", + "Ġl earning", + "Ġle arning", + "Ġlearn ing", + "Ġlear ning", + ". Length", + ".L ength", + ".Le ngth", + ".Len gth", + "_ SH", + "_S H", + "Ġ patients", + "Ġpat ients", + "Ġpatient s", + "A IN", + "AI N", + "Ġ kids", + "Ġk ids", + "Ġkid s", + "Ġki ds", + "Ġ comfort", + "Ġcom fort", + "Ġ shown", + "Ġsh own", + "Ġshow n", + "Ġsho wn", + "ug ins", + "ugin s", + "ugi ns", + "Ġ Back", + "ĠB ack", + "ĠBa ck", + "ĠBac k", + "e lla", + "el la", + "ell a", + "_ CL", + "_C L", + "Ġ lat", + "Ġl at", + "Ġla t", + "Ġ dispatch", + "Ġdis patch", + "Ġdisp atch", + "Ġ classes", + "Ġc lasses", + "Ġclass es", + "Ġcl asses", + "Ġclasse s", + "Ġclas ses", + ". at", + ".a t", + ". begin", + ".b egin", + ".be gin", + "Ġ successful", + "Ġsuccess ful", + "b an", + "ba n", + "Ġob tain", + "Ġobt ain", + "Ġ Sl", + "ĠS l", + "Ġ lack", + "Ġl ack", + "Ġla ck", + "Ġlac k", + "it erator", + "iter ator", + "T hread", + "Th read", + "Thr ead", + "( size", + "(s ize", + "(si ze", + "Ġ none", + "Ġn one", + "Ġno ne", + "Ġnon e", + ". has", + ".h as", + "_ X", + "s ort", + "so rt", + "n ap", + "na p", + "p et", + "pe t", + "b in", + "bi n", + "7 00", + "70 0", + "Ġ Canada", + "ĠCan ada", + "T hey", + "The y", + "Th ey", + "Ġd ans", + "Ġda ns", + "Ġdan s", + "Ġ Mat", + "ĠM at", + "ĠMa t", + "< td", + "'", + "'=> '", + "'= >'", + "Ġ Paul", + "ĠP aul", + "ĠPa ul", + "m as", + "ma s", + "ĉ print", + "ĉp rint", + "ĉpr int", + "( len", + "(l en", + "(le n", + "f d", + "Ġ );", + "Ġ) ;", + ". Event", + ".E vent", + "q li", + "ql i", + "i rit", + "ir it", + "iri t", + "ie lds", + "ield s", + "iel ds", + "o man", + "om an", + "oma n", + "Ġ Top", + "ĠT op", + "ĠTo p", + "Ġ vote", + "Ġv ote", + "Ġvo te", + "Ġvot e", + "Ġ mask", + "Ġm ask", + "Ġma sk", + "Ġmas k", + "Ġ theme", + "Ġth eme", + "Ġthe me", + "Ġthem e", + "- Ċ", + "Ġ props", + "Ġp rops", + "Ġpro ps", + "Ġpr ops", + "Ġprop s", + "Ġ fine", + "Ġf ine", + "Ġfin e", + "Ġfi ne", + "Ġ writer", + "Ġw riter", + "Ġwrit er", + "Ġwr iter", + "Ġwrite r", + "_ offset", + "_off set", + "_o ffset", + "c ar", + "ca r", + "Ġ altern", + "Ġal tern", + "Ġalt ern", + "Ġalter n", + "Ġalte rn", + "Ġ copyright", + "Ġc opyright", + "Ġcopy right", + "Ġ destroy", + "Ġd estroy", + "Ġde stroy", + "Ġdest roy", + "p per", + "pp er", + "ppe r", + "Ġ generate", + "Ġg enerate", + "Ġgener ate", + "Ġgen erate", + "Ġgene rate", + "Ġgenera te", + "p ped", + "pp ed", + "ppe d", + "âĢĻ d", + "Ġ ĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĊ", + "ĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠ Ċ", + "m ake", + "ma ke", + "mak e", + "Ġ Show", + "ĠS how", + "ĠSh ow", + "ĠSho w", + "Ġ browser", + "Ġb rowser", + "Ġbrows er", + "Ġbrowse r", + "Ġbrow ser", + "Ġ favorite", + "Ġf avorite", + "Ġfavor ite", + "Ġ career", + "Ġcar eer", + "Ġcare er", + "Ġhapp ened", + "Ġhappen ed", + "( char", + "(c har", + "(ch ar", + "Ġ recommend", + "Ġre commend", + "Ġrecomm end", + "Ġ liter", + "Ġl iter", + "Ġli ter", + "Ġlit er", + "Ġlite r", + ". filter", + ".f ilter", + ".fil ter", + "g rade", + "gr ade", + "grad e", + "gra de", + "Ġ £", + "Ġ £", + "P hone", + "Ph one", + "o ms", + "om s", + "Ġ named", + "Ġn amed", + "Ġname d", + "Ġna med", + "Ġnam ed", + "- label", + "-l abel", + "-la bel", + "i po", + "ip o", + "Ġ Other", + "ĠO ther", + "ĠOt her", + "Ġ panel", + "Ġp anel", + "Ġpa nel", + "Ġpan el", + "Ġpane l", + "Ġ rock", + "Ġr ock", + "Ġro ck", + "Ġroc k", + "S cale", + "Sc ale", + "ĉ assert", + "ĉas sert", + "Ð ´", + "Ġ trust", + "Ġt rust", + "Ġtr ust", + "f ront", + "fr ont", + "Ġd emon", + "Ġde mon", + "Ġdem on", + "Ġdemo n", + "A r", + "N et", + "Ne t", + "Ġ economic", + "Ġe conomic", + "Ġecon omic", + "Ġeconom ic", + "Ġec onomic", + "f ooter", + "fo oter", + "foot er", + "foo ter", + "Ġ race", + "Ġr ace", + "Ġrac e", + "Ġra ce", + "( node", + "(n ode", + "(no de", + "Ġ Option", + "ĠO ption", + "ĠOp tion", + "ĠOpt ion", + "s plit", + "sp lit", + "spl it", + "Ġ physical", + "Ġph ysical", + "Ġphys ical", + "Ġphysic al", + "i fest", + "if est", + "ife st", + "ifes t", + "Ġ removed", + "Ġre moved", + "Ġrem oved", + "Ġremove d", + ". http", + ".h ttp", + ".ht tp", + ") ),Ċ", + ")) ,Ċ", + ")), Ċ", + "Ġlo oked", + "Ġlook ed", + "' ;", + "d ing", + "di ng", + "din g", + "g est", + "ge st", + "ges t", + "atur day", + "/ licenses", + "/lic enses", + "/license s", + "P rice", + "Pr ice", + "Pri ce", + "Ġ dro", + "Ġd ro", + "Ġdr o", + "Ġt owards", + "Ġto wards", + "Ġtoward s", + "Ġtow ards", + "Ġ uns", + "Ġu ns", + "Ġun s", + "Ġ CL", + "ĠC L", + "ĉ static", + "ĉst atic", + "ĉstat ic", + "Ġ rows", + "Ġr ows", + "Ġro ws", + "Ġrow s", + "Ġ define", + "Ġde fine", + "Ġdef ine", + "Ġdefin e", + ". replace", + ".re place", + ".rep lace", + "Ġ father", + "Ġf ather", + "Ġfa ther", + "Ġfat her", + "Ġ Design", + "ĠD esign", + "ĠDe sign", + "ĠDes ign", + "as sign", + "ass ign", + "assi gn", + "m ut", + "mu t", + "D evice", + "De vice", + "Dev ice", + "D id", + "Di d", + "' ))Ċ", + "') )Ċ", + "')) Ċ", + "o metry", + "om etry", + "ome try", + "omet ry", + "ometr y", + "ay load", + "Ġ histor", + "Ġh istor", + "Ġhis tor", + "Ġhist or", + "Ġhi stor", + "Ġhisto r", + "Ġ Param", + "ĠP aram", + "ĠPar am", + "ĠPa ram", + "ĠPara m", + "Ġ Boolean", + "ĠBo olean", + "ĠBool ean", + "ĠBoo lean", + "Ġ nature", + "Ġn ature", + "Ġna ture", + "Ġnatur e", + "Ġnat ure", + "Ġ js", + "Ġj s", + "Ġ nation", + "Ġn ation", + "Ġna tion", + "Ġnat ion", + "i h", + "Ġ discover", + "Ġdis cover", + "Ġdisc over", + "Ġdisco ver", + "s em", + "se m", + "H andle", + "Hand le", + "Han dle", + "ĉ r", + "Ġ Techn", + "ĠT echn", + "ĠTe chn", + "ĠTech n", + "ĠTec hn", + "Ġ wall", + "Ġw all", + "Ġwa ll", + "Ġwal l", + "{ $", + "@ property", + "Ġ\" ../", + "Ġ\". ./", + "Ġ\".. /", + "Ġ exam", + "Ġex am", + ". draw", + ".d raw", + ".dr aw", + "o pping", + "op ping", + "opp ing", + "Ġn early", + "Ġnear ly", + "Ġ cool", + "Ġc ool", + "Ġco ol", + "Ġin depend", + "Ġind epend", + "Ġinde pend", + "R ES", + "RE S", + "Ġ handler", + "Ġh andler", + "Ġhand ler", + "Ġhandle r", + "Ġ Monday", + "ĠMon day", + "ĠMond ay", + "Ġ sun", + "Ġs un", + "Ġsu n", + "St yles", + "Style s", + "ous ly", + "Ġ ĉ", + "v est", + "ve st", + "ves t", + "D isplay", + "Dis play", + "Disp lay", + "( y", + "at ically", + "atic ally", + "atical ly", + "Ġ predict", + "Ġp redict", + "Ġpre dict", + "Ġpred ict", + "Ġpredic t", + "y ing", + "yi ng", + "Ġ sometimes", + "Ġs ometimes", + "Ġsome times", + "Ġsom etimes", + "Ġsometime s", + "\" ]Ċ", + "\"] Ċ", + "Ġ drink", + "Ġd rink", + "Ġdr ink", + "Ġdri nk", + "Ġ bul", + "Ġb ul", + "Ġbu l", + "if ications", + "ific ations", + "ification s", + ". insert", + ".in sert", + ".ins ert", + ". reg", + ".re g", + ".r eg", + "Ġ tests", + "Ġt ests", + "Ġte sts", + "Ġtest s", + "Ġtes ts", + "Al ignment", + "Align ment", + "Ġal leg", + "Ġall eg", + "Ġalle g", + "Ġ attribute", + "Ġat tribute", + "Ġattrib ute", + "Ġ Note", + "ĠN ote", + "ĠNo te", + "ĠNot e", + "Ġmy self", + "Ġmys elf", + "a rts", + "ar ts", + "art s", + "N ow", + "No w", + "Ġ interesting", + "Ġinter esting", + "Ġinterest ing", + "Ġinteres ting", + "l ients", + "li ents", + "lient s", + "lie nts", + "lien ts", + "Ġ population", + "Ġpop ulation", + "Ġpopul ation", + "Ġ California", + "ĠCal ifornia", + "ĠCaliforn ia", + "\" I", + "å ¹", + "Ġ greater", + "Ġg reater", + "Ġgreat er", + "Ġgre ater", + "ues day", + "Ġth ous", + "Ġthou s", + "Ġtho us", + "Ġco sts", + "Ġcost s", + "Ġcos ts", + "Ġ launch", + "Ġl aunch", + "Ġla unch", + "\\ Http", + "k er", + "ke r", + "b and", + "ba nd", + "ban d", + "Ġ Play", + "ĠP lay", + "ĠPl ay", + "ĠPla y", + "Ġ band", + "Ġb and", + "Ġban d", + "Ġba nd", + ". shape", + ".s hape", + ".sh ape", + ".sha pe", + "e some", + "es ome", + "eso me", + "art icle", + "arti cle", + "artic le", + ". rf", + ".r f", + "Ġ wer", + "Ġw er", + "Ġwe r", + "á s", + "em bers", + "ember s", + "emb ers", + "u sr", + "us r", + "B A", + "i can", + "ic an", + "ica n", + "e tt", + "et t", + "valid ate", + "ul ti", + "ult i", + "Ġim mediately", + "Ġimmedi ately", + "Ġimmediate ly", + "z er", + "ze r", + "Ġ figure", + "Ġf igure", + "Ġfig ure", + "Ġfigur e", + "o es", + "oe s", + "e ller", + "el ler", + "ell er", + "elle r", + "ir cle", + "irc le", + "Ġ Sign", + "ĠS ign", + "ĠSi gn", + "ĠSig n", + ". db", + ".d b", + "Ġ rank", + "Ġr ank", + "Ġran k", + "Ġra nk", + "By tes", + "Byte s", + "Ġ projects", + "Ġproject s", + "Ġproj ects", + "Ġproje cts", + "_ rec", + "_re c", + "_r ec", + "U LAR", + "UL AR", + "ULA R", + "A PI", + "AP I", + "Ġ Line", + "ĠL ine", + "ĠLin e", + "ĠLi ne", + "P ort", + "Por t", + "Po rt", + "Ġ poll", + "Ġp oll", + "Ġpol l", + "Ġpo ll", + "Ġg iving", + "Ġgi ving", + "id ence", + "ide nce", + "iden ce", + "- -Ċ", + "-- Ċ", + "Ġ plot", + "Ġp lot", + "Ġpl ot", + "Ġplo t", + "i cial", + "ic ial", + "ici al", + "icia l", + "Ġw arrant", + "Ġwar rant", + "I TION", + "IT ION", + "Ġ Double", + "ĠD ouble", + "ĠDo uble", + "ĠDou ble", + "ĠDoub le", + "Ġb illion", + "Ġbill ion", + "Ġbil lion", + "gorith m", + "gorit hm", + "Ġ equipment", + "Ġe quipment", + "Ġequ ipment", + "Ġequip ment", + "D ATE", + "DA TE", + "DAT E", + "Ġ @\"", + "Ġ@ \"", + "E E", + "Ġ ple", + "Ġp le", + "Ġpl e", + "i ation", + "ia tion", + "iat ion", + "Ġ headers", + "Ġhe aders", + "Ġhead ers", + "Ġheader s", + "Ġpro ced", + "Ġproc ed", + ".Component Model", + "Ġ Obama", + "ĠOb ama", + "Ġ pa", + "Ġp a", + "Ġ Best", + "ĠB est", + "ĠBe st", + "ĠBes t", + "im ately", + "imate ly", + "imat ely", + ". getString", + ".get String", + ".getS tring", + ". \\", + "m ploy", + "mp loy", + "mpl oy", + "Ġ raw", + "Ġr aw", + "Ġra w", + "_ block", + "_b lock", + "_bl ock", + "_bloc k", + "und red", + "\" },Ċ", + "\"} ,Ċ", + "\"}, Ċ", + "1 12", + "11 2", + ".Group Layout", + "Ġb rought", + "Ġbr ought", + "Ġbro ught", + "NS String", + "NSS tring", + "th row", + "thr ow", + "thro w", + "c reated", + "cre ated", + "create d", + "cr eated", + "creat ed", + ". New", + ".N ew", + "_ view", + "_v iew", + "_vi ew", + "C P", + "e ps", + "ep s", + "O p", + "Ġ gratis", + "Ġgr atis", + "Ġgrat is", + "Ġ '\"", + "Ġ' \"", + "Ġint erview", + "Ġinter view", + "Ġinterv iew", + "\" \"\"Ċ", + "\"\" \"Ċ", + "\"\"\" Ċ", + "Ġ partial", + "Ġp artial", + "Ġpart ial", + "Ġparti al", + "Ġ aria", + "Ġa ria", + "Ġar ia", + "b ing", + "bin g", + "bi ng", + "A uthor", + "Auth or", + "Aut hor", + "B ook", + "Bo ok", + "Ġ Pat", + "ĠP at", + "ĠPa t", + "u man", + "um an", + "uma n", + "User s", + "Us ers", + "Use rs", + "p lus", + "pl us", + "1 93", + "19 3", + "Ġ Direct", + "ĠD irect", + "ĠDi rect", + "ĠDir ect", + "ĠDire ct", + "ven ue", + "al pha", + "alph a", + "UC CESS", + "Ġ Call", + "ĠC all", + "ĠCal l", + "ĠCa ll", + "Ġ );čĊ", + "Ġ) ;čĊ", + "Ġ); čĊ", + "im ated", + "imate d", + "ima ted", + "imat ed", + "Ġ remain", + "Ġre main", + "Ġr emain", + "Ġrem ain", + "Ġ anti", + "Ġan ti", + "Ġant i", + "Ġ London", + "ĠL ondon", + "ĠLo ndon", + "ĠLon don", + "ĠLond on", + "Ġs afety", + "Ġsaf ety", + "Ġsafe ty", + "P OSE", + "PO SE", + "POS E", + "o les", + "ol es", + "ole s", + "cont roller", + "control ler", + "contr oller", + "contro ller", + "B yte", + "By te", + "Ġ Court", + "ĠC ourt", + "ĠCo urt", + "ĠCour t", + "ĠCou rt", + "Ġ Phil", + "ĠP hil", + "ĠPh il", + "ĠPhi l", + "Ġ Associ", + "ĠAss oci", + "ĠAssoc i", + "e na", + "en a", + "å IJ", + "_ STR", + "_S TR", + "_ST R", + "c oin", + "co in", + "res hold", + "resh old", + "Ġ batch", + "Ġb atch", + "Ġbat ch", + "_ Click", + "_C lick", + "_Cl ick", + "ent ication", + "entic ation", + "enti cation", + "> ';Ċ", + ">' ;Ċ", + ">'; Ċ", + "e nty", + "en ty", + "ent y", + "Ġbeg inning", + "Ġbegin ning", + "Ġ zero", + "Ġz ero", + "Ġze ro", + "Ġzer o", + "Ġ Convert", + "ĠCon vert", + "ĠConv ert", + "Ġ terr", + "Ġt err", + "Ġte rr", + "Ġter r", + "Ġ paid", + "Ġp aid", + "Ġpa id", + "Ġpai d", + "Ġincre ased", + "Ġincrease d", + "c atch", + "cat ch", + "- size", + "-s ize", + "1 15", + "11 5", + "act ivity", + "activ ity", + "e quals", + "equ als", + "equal s", + "Ġ queue", + "Ġque ue", + "Ġq ueue", + "Ġ \"'", + "Ġ\" '", + "Ġ International", + "ĠInt ernational", + "ĠIntern ational", + "ĠInter national", + "Ġf ür", + "urs day", + "Ġ scient", + "Ġs cient", + "Ġsc ient", + "Ġsci ent", + "al low", + "all ow", + "allo w", + "a xis", + "ax is", + "Ġ appropri", + "Ġapp ropri", + "Ġap propri", + "Ġappro pri", + "e dge", + "ed ge", + "Ġ idx", + "Ġi dx", + "Ġid x", + "S uccess", + "Su ccess", + "Suc cess", + "ent ifier", + ": \\", + "x is", + "xi s", + "Ġ maximum", + "Ġmax imum", + "Ġmaxim um", + "ar ks", + "ark s", + "Ġ birth", + "Ġb irth", + "Ġbir th", + "( index", + "(in dex", + "(ind ex", + "Ġ maybe", + "Ġm aybe", + "Ġmay be", + ". py", + ".p y", + "f iles", + "file s", + "fi les", + "fil es", + "Ġ limited", + "Ġl imited", + "Ġlimit ed", + "Ġlim ited", + "Ġlimite d", + "_ check", + "_c heck", + "_ch eck", + "_che ck", + "l ook", + "lo ok", + "loo k", + "p lies", + "pl ies", + "Ġ movement", + "Ġm ovement", + "Ġmov ement", + "Ġmove ment", + "Ġmo vement", + "' ].", + "'] .", + "Ġb road", + "Ġbr oad", + "Ġbro ad", + "Ġ BE", + "ĠB E", + "Ġ UnityEngine", + "ĠUn ityEngine", + "ĠUnity Engine", + ". cpp", + ".c pp", + ".cp p", + "Ġ Every", + "ĠE very", + "ĠEv ery", + "ĠEver y", + "ĠEve ry", + "Ad min", + "Ġ fans", + "Ġf ans", + "Ġfa ns", + "Ġfan s", + "p ared", + "par ed", + "pare d", + "pa red", + "Ċ ĠĠĠĠĊ", + "Ġ foreign", + "Ġfore ign", + "Ġ pan", + "Ġp an", + "Ġpa n", + "Ġ tour", + "Ġt our", + "Ġto ur", + "Ġtou r", + "Ġ Order", + "ĠOr der", + "ĠOrd er", + "Ġ moving", + "Ġm oving", + "Ġmov ing", + "Ġmo ving", + "Ġ auf", + "Ġa uf", + "Ġau f", + "C all", + "Cal l", + "Ca ll", + "c b", + "Å Ł", + "vent ory", + "Ġ Sql", + "ĠS ql", + "ĠSq l", + "Ġ fully", + "Ġf ully", + "Ġfull y", + "Ġful ly", + "Click Listener", + "W ORD", + "WO RD", + "Ġann ounced", + "Ġannounc ed", + "Ġannounce d", + ") čĊčĊ", + ")čĊ čĊ", + "Ġag reed", + "Ġagre ed", + "Ġagree d", + "Ġagr eed", + "r ie", + "ri e", + "Ġ earn", + "Ġe arn", + "Ġear n", + "Ġea rn", + "_ link", + "_l ink", + "_lin k", + "_li nk", + ". array", + ".a rray", + ".ar ray", + ".arr ay", + "( text", + "(t ext", + "(te xt", + "(tex t", + "Ġ materials", + "Ġmaterial s", + "Ġmateria ls", + "Ġmater ials", + "Ġmateri als", + ", p", + "f fff", + "ff ff", + "fff f", + "v g", + "Ġ ©", + "Ġ ©", + "Ġ unless", + "Ġun less", + "Ġunle ss", + "Ġunl ess", + "a jax", + "aj ax", + "aja x", + "L OG", + "LO G", + "Ġ sexual", + "Ġs exual", + "Ġsex ual", + "Ġ \\\"", + "Ġ\\ \"", + "- time", + "-t ime", + "Ġ coach", + "Ġco ach", + "Ġ supported", + "Ġs upported", + "Ġsup ported", + "Ġsupport ed", + "Ġsupp orted", + "Ġ photos", + "Ġph otos", + "Ġphot os", + "Ġphoto s", + "i form", + "if orm", + "ifo rm", + ". Create", + ".C reate", + ") ]", + "r ier", + "ri er", + "rie r", + "Ġ dialog", + "Ġd ialog", + "Ġdi alog", + "Ġdia log", + "Ġdial og", + "a ver", + "av er", + "ave r", + "i ge", + "ig e", + ") +", + "_ idx", + "_id x", + "_i dx", + ": [", + "_ min", + "_m in", + "_mi n", + "Ġ Cong", + "ĠC ong", + "ĠCon g", + "ĠCo ng", + "Ġ pressure", + "Ġpres sure", + "Ġpress ure", + "Ġ teams", + "Ġte ams", + "Ġteam s", + "Ġtea ms", + "S ign", + "Si gn", + "Sig n", + "b egin", + "be gin", + "beg in", + "r ian", + "ri an", + "ria n", + "N ESS", + "NE SS", + "NES S", + "L S", + "Ġim prove", + "Ġimp rove", + "Ġimpro ve", + "Ġimpr ove", + "Ġimprov e", + "Ġ Sunday", + "ĠS unday", + "ĠSun day", + "ĠSund ay", + "Ġ definition", + "Ġdef inition", + "Ġdefinit ion", + "Ġdefin ition", + "i ger", + "ig er", + "ige r", + "rol lers", + "roll ers", + "roller s", + "Ġ thinking", + "Ġth inking", + "Ġthink ing", + "Ġthin king", + "T emplate", + "Temp late", + "Tem plate", + "- F", + "Ġem erg", + "p lates", + "pl ates", + "plate s", + "plat es", + "pla tes", + "Ġ USA", + "ĠU SA", + "ĠUS A", + ". setState", + ".set State", + "Ġ Also", + "ĠAl so", + "ĠAls o", + "r ev", + "re v", + "Ġ enable", + "Ġe nable", + "Ġen able", + "Ġ CO", + "ĠC O", + "P ECT", + "PE CT", + "PEC T", + "Ġ concept", + "Ġcon cept", + "Ġconc ept", + "Ġconce pt", + ") -", + "Ġ âĢ¢", + "ĠâĢ ¢", + "Ġ sets", + "Ġs ets", + "Ġse ts", + "Ġset s", + "Ġ meaning", + "Ġme aning", + "Ġmean ing", + "e mon", + "em on", + "emo n", + "Ġ Cons", + "ĠC ons", + "ĠCon s", + "ĠCo ns", + "c mp", + "cm p", + "e der", + "ed er", + "ede r", + "an ned", + "ann ed", + "anne d", + "ic ensed", + "icense d", + "icens ed", + "Ġ Super", + "ĠS uper", + "ĠSup er", + "ĠSu per", + "Ġ daily", + "Ġd aily", + "Ġda ily", + "Ġdai ly", + "Ġ multi", + "Ġm ulti", + "Ġmult i", + "Ġmul ti", + "_ u", + "Ġch alleng", + "Ġchall eng", + "_ mode", + "_m ode", + "_mod e", + "_mo de", + "Ġ Promise", + "ĠP romise", + "ĠPro mise", + "ĠProm ise", + "Ġ strict", + "Ġstr ict", + "Ġstri ct", + "j o", + "i nton", + "in ton", + "int on", + "into n", + "( list", + "(l ist", + "(li st", + "On ly", + "> {", + "Ġ vehicle", + "Ġv ehicle", + "Ġveh icle", + "í ķ", + "Ġ Player", + "ĠP layer", + "ĠPl ayer", + "ĠPlay er", + "ĠPla yer", + "1 06", + "10 6", + "Ġ Del", + "ĠD el", + "ĠDe l", + "Ġ pool", + "Ġp ool", + "Ġpo ol", + "Ġpoo l", + ". url", + ".u rl", + ".ur l", + "nes day", + "( );čĊčĊ", + "() ;čĊčĊ", + "();čĊ čĊ", + "(); čĊčĊ", + "9 00", + "90 0", + "Ġ \");Ċ", + "Ġ\" );Ċ", + "Ġ\") ;Ċ", + "Ġ\"); Ċ", + "L ocal", + "Lo cal", + "Loc al", + ". \");Ċ", + ".\" );Ċ", + ".\") ;Ċ", + ".\"); Ċ", + "Ġ organization", + "Ġo rganization", + "Ġorgan ization", + "Ġorganiz ation", + "r ender", + "re nder", + "ren der", + "rend er", + "rende r", + "Ġ Application", + "ĠApp lication", + "ĠAp plication", + "ĠAppl ication", + "Ġ summer", + "Ġs ummer", + "Ġsum mer", + "Ġsumm er", + "ex pected", + "exp ected", + "expect ed", + "N A", + "Ġ rap", + "Ġr ap", + "Ġra p", + "_ obj", + "_o bj", + "_ob j", + "Ġ surface", + "Ġs urface", + "Ġsur face", + "Ġsurf ace", + "Ġ PUR", + "ĠP UR", + "ĠPU R", + "Ġ },ĊĊ", + "Ġ} ,ĊĊ", + "Ġ},Ċ Ċ", + "Ġ}, ĊĊ", + "Ġ variables", + "Ġvariable s", + "Ġvari ables", + "( message", + "(m essage", + "Ġo pin", + "Ġop in", + "Ġopi n", + ". back", + ".b ack", + ".ba ck", + "а н", + "аР½", + "Ġ workers", + "Ġwork ers", + "Ġwor kers", + "Ġworker s", + "v m", + "C o", + "ught er", + "ugh ter", + "Ġ master", + "Ġm aster", + "Ġma ster", + "Ġmas ter", + "Ġmast er", + "Ġ \"\",", + "Ġ\" \",", + "Ġ\"\" ,", + "Ġ stories", + "Ġst ories", + "Ġstor ies", + "Ġsto ries", + ". User", + ".U ser", + ".Use r", + "Ġcele br", + "in ese", + "ine se", + "ines e", + "B S", + "Ġ Command", + "ĠCom mand", + "ĠComm and", + "ash board", + "Ġ og", + "Ġo g", + "k g", + ". image", + ".i mage", + ".im age", + ".imag e", + ". style", + ".st yle", + "Ġ steps", + "Ġst eps", + "Ġstep s", + "Ġste ps", + "Ġ Ben", + "ĠB en", + "ĠBe n", + "( args", + "(arg s", + "(ar gs", + "4 04", + "40 4", + "Ġ Person", + "ĠP erson", + "ĠPer son", + "ĠPers on", + ", y", + "Ġoffic ials", + "Ġofficial s", + "| Ċ", + "Ġ skills", + "Ġs kills", + "Ġsk ills", + "Ġskill s", + "v c", + "Ġ builder", + "Ġb uilder", + "Ġbu ilder", + "Ġbuild er", + "Ġ gar", + "Ġg ar", + "Ġga r", + "A ccount", + "Ac count", + "Acc ount", + "Ġ Auth", + "ĠA uth", + "ĠAut h", + "ĠAu th", + "ç Ķ", + "' ])Ċ", + "'] )Ċ", + "']) Ċ", + "Ġ AT", + "ĠA T", + "n n", + ". Int", + ".I nt", + ".In t", + "SS ERT", + "Ġ effective", + "Ġe ffective", + "Ġeffect ive", + "Ġeff ective", + "LE TE", + "LET E", + "Ġ tools", + "Ġt ools", + "Ġto ols", + "Ġtoo ls", + "Ġtool s", + "A RD", + "AR D", + "Ġ digital", + "Ġd igital", + "Ġdig ital", + "Ġdigit al", + "1 91", + "19 1", + "D ouble", + "Do uble", + "Dou ble", + "Ġ Find", + "ĠF ind", + "ĠFin d", + "ĠFi nd", + "R C", + "Ġ inline", + "Ġin line", + "/ r", + "A RAM", + "AR AM", + "ARA M", + "A SK", + "AS K", + "Ġ intent", + "Ġin tent", + "Ġint ent", + "Ġinte nt", + "a ight", + "ai ght", + "_ addr", + "_add r", + "_ad dr", + "Ġ requests", + "Ġre quests", + "Ġrequest s", + "Ġrequ ests", + ". first", + ".f irst", + ".fi rst", + "Ġ debug", + "Ġde bug", + "Ġdeb ug", + "Ġ spent", + "Ġs pent", + "Ġsp ent", + "Ġspe nt", + "( )));Ċ", + "() ));Ċ", + "()) );Ċ", + "())) ;Ċ", + "())); Ċ", + "Å Ľ", + "Ġpr incip", + "Ġprin cip", + "Ġprinc ip", + "Log ger", + "Lo gger", + "cl udes", + "clude s", + "clud es", + ". use", + ".u se", + ".us e", + "Ġs urv", + "Ġsu rv", + "Ġsur v", + "m edia", + "med ia", + "me dia", + "medi a", + "Ġ February", + "ĠFe bruary", + "ĠFeb ruary", + "Ġ Mac", + "ĠM ac", + "ĠMa c", + "Ġ missing", + "Ġm issing", + "Ġmiss ing", + "Ġmis sing", + "Ġ wife", + "Ġw ife", + "Ġwi fe", + "Ġt alking", + "Ġtalk ing", + "Ġtal king", + "Ġ Make", + "ĠM ake", + "ĠMa ke", + "ĠMak e", + "Ġ cart", + "Ġc art", + "Ġcar t", + "Ġca rt", + "Ġ located", + "Ġloc ated", + "Ġlocate d", + "E nc", + "En c", + "- a", + "ch ron", + "chr on", + "Ġ cards", + "Ġc ards", + "Ġcar ds", + "Ġcard s", + "Ġg uy", + "Ġgu y", + "Ġ pers", + "Ġp ers", + "Ġper s", + "Ġpe rs", + "Ġ Yes", + "ĠY es", + "ĠYe s", + "at ever", + "ate ver", + "Ġ Ang", + "ĠA ng", + "ĠAn g", + "o lar", + "ol ar", + "ola r", + "Ġ Even", + "ĠE ven", + "ĠEv en", + "ĠEve n", + "Ġ accur", + "Ġacc ur", + "Ġac cur", + "Ġ Power", + "ĠP ower", + "ĠPo wer", + "ĠPow er", + "Ġ Gold", + "ĠG old", + "ĠGo ld", + "ĠGol d", + "c lear", + "cl ear", + "cle ar", + "P rocess", + "Pro cess", + "Proc ess", + "Ġ records", + "Ġrec ords", + "Ġrecord s", + "Ġk illed", + "Ġkill ed", + "Ġkil led", + ". clear", + ".c lear", + ".cl ear", + "ĠWARRANT IES", + "Ġ purpose", + "Ġp urpose", + "Ġpur pose", + "Ġpurpos e", + "p anel", + "pan el", + "pa nel", + "pane l", + "J ECT", + "JE CT", + "ÃŃ a", + "Ġex erc", + "Ġexe rc", + "W S", + "/ L", + ". exports", + ".ex ports", + ".exp orts", + ".export s", + "Ġ ___", + "Ġ_ __", + "Ġ__ _", + "Ġ sin", + "Ġs in", + "Ġsi n", + "S ervlet", + "Serv let", + "Ġd é", + ". delete", + ".de lete", + ".del ete", + "r oke", + "ro ke", + "rok e", + "S l", + "u gh", + "ug h", + "e ars", + "ear s", + "ea rs", + "Ġ pointer", + "Ġpoint er", + "Ġpo inter", + "Ġ hop", + "Ġh op", + "Ġho p", + "all ery", + "alle ry", + "aller y", + "Ġ obs", + "Ġo bs", + "Ġob s", + "c overy", + "co very", + "cover y", + "cov ery", + "ĉ char", + "ĉc har", + "ĉch ar", + "ĉ ĉĉĉĉĉĉĉĉĉ", + "ĉĉ ĉĉĉĉĉĉĉĉ", + "ĉĉĉĉ ĉĉĉĉĉĉ", + "ĉĉĉ ĉĉĉĉĉĉĉ", + "ĉĉĉĉĉ ĉĉĉĉĉ", + "ĉĉĉĉĉĉ ĉĉĉĉ", + "ĉĉĉĉĉĉĉĉ ĉĉ", + "ĉĉĉĉĉĉĉ ĉĉĉ", + "ĉĉĉĉĉĉĉĉĉ ĉ", + "ĉ def", + "ĉd ef", + "ĉde f", + "o city", + "oc ity", + "oci ty", + "it chen", + "itch en", + "u lations", + "ul ations", + "ulation s", + "Ġ FIT", + "ĠF IT", + "ĠFI T", + "Ġ ).", + "Ġ) .", + "straint s", + "stra ints", + "strain ts", + "v ention", + "vent ion", + "ven tion", + "Ġ requires", + "Ġre quires", + "Ġrequire s", + "Ġrequ ires", + "Ġ Oper", + "ĠO per", + "ĠOp er", + "M E", + "O UNT", + "OUN T", + "OU NT", + "al let", + "all et", + "alle t", + "Ġ norm", + "Ġn orm", + "Ġno rm", + "Ġnor m", + "I RE", + "IR E", + "ex as", + "Ġ programs", + "Ġpro grams", + "Ġpr ograms", + "Ġprogram s", + "Ġprog rams", + "Ġ weak", + "Ġwe ak", + "' .$", + "'. $", + "u ing", + "ui ng", + "uin g", + "ĉ ĠĠĠĠĠĠĠ", + "ĉĠĠĠ ĠĠĠĠ", + "ĉĠ ĠĠĠĠĠĠ", + "ĉĠĠ ĠĠĠĠĠ", + "ĉĠĠĠĠĠ ĠĠ", + "ĉĠĠĠĠ ĠĠĠ", + "ĉĠĠĠĠĠĠ Ġ", + "Ġ mil", + "Ġm il", + "Ġmi l", + "Ġ firm", + "Ġf irm", + "Ġfi rm", + "Ġfir m", + "init ely", + "inite ly", + "_ VALUE", + "_VAL UE", + "ap se", + "aps e", + "atis f", + "ati sf", + "Ġ demand", + "Ġd emand", + "Ġde mand", + "Ġdem and", + "_ mod", + "_m od", + "_mo d", + "Ġde scribed", + "Ġdes cribed", + "Ġdescri bed", + "Ġdescribe d", + "Ġ places", + "Ġp laces", + "Ġpl aces", + "Ġplace s", + "Ġplac es", + "Ġpla ces", + "V ID", + "VI D", + "Ġ alone", + "Ġal one", + "Ġalo ne", + "Ġ export", + "Ġex port", + "Ġexp ort", + "Ġexpo rt", + "Ġ vec", + "Ġv ec", + "Ġve c", + "Ġ Max", + "ĠM ax", + "ĠMa x", + "Ġ activities", + "Ġact ivities", + "Ġactiv ities", + "ic tures", + "ict ures", + "icture s", + "g ener", + "ge ner", + "gen er", + "gene r", + "Ġ ma", + "Ġm a", + "Ĥ ¬", + "Ġ expression", + "Ġex pression", + "Ġexp ression", + "Ġexpress ion", + "Ġexpr ession", + "C allback", + "Call back", + "_ content", + "_c ontent", + "_con tent", + "_cont ent", + "Ġ Most", + "ĠM ost", + "ĠMo st", + "ĠMos t", + "Ġ testing", + "Ġt esting", + "Ġtest ing", + "Ġtes ting", + "E C", + "CH ANT", + "CHA NT", + "CHAN T", + "Ġ adjust", + "Ġad just", + "Ġadj ust", + ".Th reading", + ".Thread ing", + "( ctx", + "(c tx", + "(ct x", + "Ġ agree", + "Ġa gree", + "Ġag ree", + "Ġagre e", + "Ġagr ee", + "i ghest", + "ig hest", + "igh est", + "Ġ ui", + "Ġu i", + "Ġ Law", + "ĠL aw", + "ĠLa w", + ". Y", + "> < ?", + "Ġ pod", + "Ġp od", + "Ġpo d", + "- lg", + "-l g", + "âĢĿ ĊĊ", + "âĢĿĊ Ċ", + "Ġ describe", + "Ġde scribe", + "Ġdes cribe", + "Ġdescri be", + "Ġdescr ibe", + "Ġ European", + "ĠE uropean", + "ĠEurope an", + "ĠEurop ean", + "- sh", + "-s h", + "ĠPUR POSE", + "O RY", + "OR Y", + "Ġcon vers", + "Ġconv ers", + "Ġconver s", + "Ġ Illuminate", + "ĠI lluminate", + "ĠIllum inate", + "Ġ Av", + "ĠA v", + "( ch", + "(c h", + "? \"", + "c hen", + "ch en", + "che n", + "i ma", + "im a", + "D ocument", + "Doc ument", + "Ġ operations", + "Ġoper ations", + "Ġoperation s", + "w in", + "wi n", + "ĉ function", + "ĉf unction", + "ĉfunc tion", + "ĉfun ction", + ". Image", + ".I mage", + ".Im age", + "Ġs cen", + "Ġsc en", + "Ġsce n", + "/ h", + "Ġ SC", + "ĠS C", + "Ġ explo", + "Ġexp lo", + "Ġexpl o", + ": %", + "/ **čĊ", + "/* *čĊ", + "/** čĊ", + "N AME", + "NA ME", + "æ Ī", + "( var", + "(v ar", + "(va r", + "Ġ director", + "Ġd irector", + "Ġdirect or", + "Ġdir ector", + "Ġdire ctor", + "O NG", + "ON G", + "Ġ yield", + "Ġy ield", + "Ġyi eld", + "Ġfe et", + "Ġfee t", + "Ġ Search", + "ĠS earch", + "ĠSe arch", + "ĠSea rch", + "Ġ Il", + "ĠI l", + "Ġrest aur", + "Ġresta ur", + "Ġrestau r", + "d uc", + "du c", + "Ġ integer", + "Ġint eger", + "Ġinteg er", + "Ġinte ger", + "1 07", + "10 7", + "Ġ' ';Ċ", + "Ġ'' ;Ċ", + "Ġ''; Ċ", + "Ġhigh ly", + "check ed", + "ĠPART IC", + "ER CHANT", + "ï¼ ī", + "Ġ optim", + "Ġop tim", + "Ġopt im", + "Q ueue", + "Que ue", + "Ġ LI", + "ĠL I", + "it ation", + "ita tion", + "itat ion", + "Ġ transport", + "Ġtrans port", + "Ġtran sport", + "iss ion", + "f ill", + "fi ll", + "fil l", + "us ion", + "usi on", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĉ bool", + "ĉb ool", + "- th", + "-t h", + "u pt", + "up t", + "Ġ essential", + "Ġess ential", + "an ted", + "ant ed", + "ante d", + "Ġbenef its", + "Ġbenefit s", + "Ġbene fits", + "ĉ S", + "' ;čĊ", + "'; čĊ", + "i ki", + "ik i", + "Ġ girls", + "Ġgirl s", + "Ġgir ls", + "i ced", + "ic ed", + "ice d", + "b uffer", + "buf fer", + "bu ffer", + "buff er", + "] +", + "Ġ socket", + "Ġs ocket", + "Ġso cket", + "Ġsock et", + "Ġsoc ket", + "Ġ prices", + "Ġp rices", + "Ġpr ices", + "Ġprice s", + "Ġpri ces", + "Ġ Fre", + "ĠF re", + "ĠFr e", + "Ġ sat", + "Ġs at", + "Ġsa t", + "Ġ wood", + "Ġw ood", + "Ġwo od", + "Ġwoo d", + "Menu Item", + "A RG", + "AR G", + "Ġ Admin", + "ĠAd min", + "O WN", + "OW N", + "d k", + "Ġ reset", + "Ġre set", + "Ġres et", + "Ġ forms", + "Ġfor ms", + "Ġform s", + "Ġfo rms", + "Ġ и", + "ĠÐ ¸", + "æ ĸ", + "Ġ Tuesday", + "ĠT uesday", + "ĠTues day", + "1 09", + "10 9", + "Ġ Initialized", + "ĠInitial ized", + "ĠInitialize d", + "ĠInit ialized", + "_ train", + "_t rain", + "_tr ain", + "_tra in", + "o rary", + "or ary", + "ora ry", + "ate gor", + "ateg or", + "atego r", + "Ġ dt", + "Ġd t", + "T otal", + "To tal", + "Tot al", + "con struct", + "i lies", + "il ies", + "ili es", + "Ġgu ys", + "Ġguy s", + "е ÑĢ", + "Ġ instruction", + "Ġin struction", + "Ġinstr uction", + "Ġinstruct ion", + "0 10", + "01 0", + "y led", + "yle d", + "yl ed", + "Ġ internet", + "Ġin ternet", + "Ġint ernet", + "Ġinter net", + "Ġintern et", + "et adata", + "eta data", + "a dy", + "ad y", + "f aces", + "face s", + "fa ces", + "fac es", + "j ection", + "ject ion", + "je ction", + "jec tion", + "Ġ Jack", + "ĠJ ack", + "ĠJac k", + "ĠJa ck", + "Ġ rect", + "Ġre ct", + "Ġr ect", + "Ġrec t", + "[ -", + "Ġ Leg", + "ĠL eg", + "ĠLe g", + "Ġ devices", + "Ġdev ices", + "Ġdevice s", + "O C", + "Ġ *čĊ", + "Ġ* čĊ", + "o ration", + "or ation", + "ora tion", + "er tain", + "ert ain", + "erta in", + "Ġ guard", + "Ġg uard", + "Ġgu ard", + "Ġguar d", + "o stream", + "ost ream", + "Ġ enum", + "Ġe num", + "Ġen um", + ". layout", + ".l ayout", + "Ġ \";Ċ", + "Ġ\" ;Ċ", + "Ġ\"; Ċ", + "v oke", + "vo ke", + "Ġ Ok", + "ĠO k", + "H ome", + "Ho me", + "Hom e", + "( tr", + "(t r", + "E TH", + "ET H", + "Ġ delay", + "Ġd elay", + "Ġde lay", + "Ġdel ay", + "Ġdela y", + "Ġ purchase", + "Ġp urchase", + "Ġpurch ase", + "d c", + "Ġ aren", + "Ġa ren", + "Ġare n", + "Ġar en", + "_ once", + "_on ce", + "_o nce", + "ĉ ĉĉĉĊ", + "ĉĉ ĉĉĊ", + "ĉĉĉĉ Ċ", + "ĉĉĉ ĉĊ", + "r or", + "ro r", + "d raw", + "dr aw", + "dra w", + ". run", + ".r un", + ".ru n", + "( model", + "(m odel", + "(mod el", + "(mode l", + "Time out", + "l ik", + "li k", + "Ġ Arg", + "ĠA rg", + "ĠAr g", + ". en", + ".e n", + "Ġ fish", + "Ġf ish", + "Ġfi sh", + "Ġfis h", + "c py", + "cp y", + "_ fe", + "_f e", + "ERCHANT ABILITY", + "( X", + "_ output", + "_out put", + "? ?", + "Ġ jo", + "Ġj o", + "and ard", + "anda rd", + "Ġ doll", + "Ġd oll", + "Ġdo ll", + "Ġdol l", + "er rors", + "err ors", + "error s", + "erro rs", + "_ base", + "_b ase", + "ĠPARTIC ULAR", + "Ġ leader", + "Ġle ader", + "Ġlead er", + "Ġcom par", + "Ġco mpar", + "Ġcomp ar", + "Ġd oub", + "Ġdo ub", + "Ġdou b", + "Ġ Vis", + "ĠV is", + "ĠVi s", + "Stack Trace", + "- C", + "ĠSt ud", + "stit ute", + "M ore", + "Mo re", + "Mor e", + "Ġ Description", + "ĠD escription", + "ĠDe scription", + "ĠDes cription", + "W ARE", + "WA RE", + "WAR E", + "a ds", + "ad s", + "Ġ к", + "ĠÐ º", + "b ind", + "bin d", + "bi nd", + "= self", + "=s elf", + "e mploy", + "em ploy", + "emp loy", + "empl oy", + "emplo y", + "[ n", + ". all", + ".a ll", + ".al l", + "- B", + "& &", + "a lm", + "al m", + "Ġ culture", + "Ġc ulture", + "Ġcult ure", + "Ġcul ture", + "h ouse", + "ho use", + "hou se", + "Ġs uffer", + "Ġsu ffer", + "Ġsuff er", + "Ġsuf fer", + "Ġ '%", + "Ġ' %", + "Ġ straight", + "Ġstr aight", + "Ġstra ight", + "Ġ Star", + "ĠS tar", + "ĠSt ar", + "ĠSta r", + "u do", + "ud o", + "Ġ ded", + "Ġd ed", + "Ġde d", + "Ġ COM", + "ĠC OM", + "ĠCO M", + "Ġ confirm", + "Ġcon firm", + "Ġconf irm", + "Ġ Good", + "ĠG ood", + "ĠGo od", + ". sc", + ".s c", + "____ ____________", + "________ ________", + "____________ ____", + "D R", + "Config uration", + "Date Time", + "Ġ advert", + "Ġad vert", + "Ġadv ert", + "Ġ couldn", + "Ġcould n", + "a sync", + "as ync", + "asy nc", + "st ack", + "sta ck", + "' )čĊ", + "') čĊ", + "K it", + "Ki t", + "Ġh ous", + "Ġho us", + "Ġm echan", + "Ġme chan", + "Ġmec han", + "Ġmech an", + "r ate", + "ra te", + "rat e", + "2 04", + "20 4", + "Ġ audio", + "Ġa udio", + "Ġaud io", + "Ġau dio", + "Ġaudi o", + "ĉ cout", + "ĉc out", + "c ores", + "co res", + "core s", + "cor es", + "Ġ spot", + "Ġs pot", + "Ġsp ot", + "Ġspo t", + "Ġin creasing", + "Ġincre asing", + "Ġ ##", + "Ġ# #", + ") ))", + ")) )", + "p oints", + "point s", + "po ints", + "poi nts", + "Ġcom pared", + "Ġcomp ared", + "Ġcompar ed", + "Ġcompare d", + "l ig", + "li g", + "Ġ behavior", + "Ġbeh avior", + "Ġ BY", + "ĠB Y", + "Ġ Att", + "ĠA tt", + "ĠAt t", + "c raft", + "cr aft", + "he aders", + "head ers", + "header s", + "hea ders", + "e te", + "et e", + "end region", + "Ġ detail", + "Ġd etail", + "Ġde tail", + "Ġdet ail", + "U LE", + "UL E", + "Ġ Common", + "ĠCom mon", + "ĠComm on", + "ĉ protected", + "s ton", + "st on", + "sto n", + "ĠFIT NESS", + "Ġ fresh", + "Ġf resh", + "Ġfr esh", + "Ġfre sh", + "Ġfres h", + "\" >ĊĊ", + "\"> ĊĊ", + "\">Ċ Ċ", + ". example", + ".ex ample", + ".exam ple", + "b erg", + "ber g", + "be rg", + "Ġ moved", + "Ġm oved", + "Ġmov ed", + "Ġmove d", + "Ġmo ved", + "ĉ e", + "Ġ Saturday", + "ĠS aturday", + "Ġ payload", + "Ġp ayload", + "Ġpay load", + "Ä ĩ", + ") :ĊĊ", + "):Ċ Ċ", + "): ĊĊ", + "Ġb ey", + "Ġbe y", + "u rer", + "ur er", + "ure r", + "< script", + " ,", + "\" > < ?", + "( num", + "(n um", + "ĉ inline", + "ĉin line", + "Trans action", + ". On", + ".O n", + "Ġ mail", + "Ġm ail", + "Ġma il", + "Ġmai l", + "r ey", + "re y", + "res ults", + "result s", + "Ġ nav", + "Ġn av", + "Ġna v", + "I MIT", + "IM IT", + "_ ids", + "_id s", + "_i ds", + "M ake", + "Ma ke", + "å Ĭ", + "M odal", + "Mod al", + "Mo dal", + "Ġ LOG", + "ĠL OG", + "ĠLO G", + "Ġ Sur", + "ĠS ur", + "ĠSu r", + "Ġinstance of", + "Ġ overall", + "Ġover all", + "Ġ Information", + "ĠIn formation", + "ĠInform ation", + "Ġ construction", + "Ġcon struction", + "Ġconstruct ion", + "Ġconstr uction", + "_ FILE", + "_F ILE", + "b ut", + "bu t", + "Ġm edic", + "Ġme dic", + "Ġmed ic", + "Ġmedi c", + "Ġ duration", + "Ġd uration", + "Ġdu ration", + "Ġdur ation", + "it ness", + "a gent", + "ag ent", + "age nt", + "agen t", + "A V", + "Ġ seven", + "Ġs even", + "Ġse ven", + "Ġsev en", + "o lf", + "ol f", + "Ġ }}Ċ", + "Ġ} }Ċ", + "Ġ}} Ċ", + "\" ],Ċ", + "\"] ,Ċ", + "\"], Ċ", + "1 70", + "17 0", + "1 22", + "12 2", + "Ġ calling", + "Ġc alling", + "Ġcall ing", + "Ġcal ling", + "Ġ ans", + "Ġa ns", + "Ġan s", + "th rows", + "throw s", + "thr ows", + "thro ws", + "or izontal", + "Ġ useState", + "Ġuse State", + ". fl", + ".f l", + "Ġ Status", + "ĠS tatus", + "ĠSt atus", + "ĠStat us", + "Ġ Online", + "ĠOn line", + "R R", + "Ġ Rich", + "ĠR ich", + "ĠRic h", + "ĠRi ch", + "ĠH ill", + "ĠHi ll", + "ĠHil l", + "Ġ brain", + "Ġb rain", + "Ġbr ain", + "Ġbra in", + "Ġfollow ed", + "Ġfoll owed", + "2 40", + "24 0", + "e mic", + "em ic", + "emi c", + "Ġs light", + "Ġsl ight", + "Ġ insurance", + "Ġins urance", + ". Array", + ".A rray", + ".Ar ray", + "Ġ abstract", + "Ġa bstract", + "Ġab stract", + "Ġabs tract", + "Ġabst ract", + "Ġ Sum", + "ĠS um", + "ĠSu m", + "re direct", + "red irect", + "redi rect", + "o wner", + "ow ner", + "own er", + "( msg", + "(m sg", + "(ms g", + "Ġ Clinton", + "ĠCl inton", + "ĠClin ton", + "ĠClint on", + "ĠCli nton", + "N on", + "No n", + "ĉ ex", + "ĉe x", + "Ġ volume", + "Ġv olume", + "Ġvol ume", + "Ġvolum e", + "Ġ EventArgs", + "ĠEvent Args", + "- L", + "Ġ Dim", + "ĠD im", + "ĠDi m", + "Ġ Mart", + "ĠM art", + "ĠMar t", + "ĠMa rt", + "Ġ cursor", + "Ġc ursor", + "Ġcurs or", + "Ġcurso r", + "Ġ implementation", + "Ġim plementation", + "Ġimplement ation", + "ur red", + "urre d", + "urr ed", + "Ġl arger", + "Ġlarge r", + "Ġlarg er", + "Ġlar ger", + ") ;ĊĊĊ", + ");Ċ ĊĊ", + ");ĊĊ Ċ", + "); ĊĊĊ", + "' +", + ". transform", + ".trans form", + "Ġ upload", + "Ġup load", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "D raw", + "Dr aw", + "n el", + "ne l", + "ĉ float", + "ĉf loat", + "q rt", + "qr t", + "Ġ Network", + "ĠN etwork", + "ĠNet work", + "Ġ tit", + "Ġt it", + "Ġti t", + "A xis", + "Ax is", + ". android", + ".and roid", + "Ġ completed", + "Ġcom pleted", + "Ġcomp leted", + "Ġcomple ted", + "Ġcomplet ed", + "Ġcompl eted", + "Ġcomplete d", + "Ġ mur", + "Ġm ur", + "Ġmu r", + "Ġ columns", + "Ġcolumn s", + "Ġcolum ns", + "x c", + "Ġ supply", + "Ġs upply", + "Ġsup ply", + "Ġsuppl y", + "Ġsupp ly", + "im inal", + "imi nal", + "imin al", + "Ġ spr", + "Ġs pr", + "Ġsp r", + "================ ================================================", + "================================ ================================", + "================================================ ================", + "Ġ units", + "Ġun its", + "Ġunit s", + "Ġuni ts", + "( u", + "m i", + "re place", + "rep lace", + "[ key", + "[k ey", + "à ¹", + "an tic", + "ant ic", + "anti c", + "Ġ payment", + "Ġp ayment", + "Ġpay ment", + ", B", + "Ġ Apple", + "ĠApp le", + "ĠAp ple", + "ĠAppl e", + "g in", + "gi n", + "Re quired", + "Require d", + "# +", + "l ands", + "land s", + "la nds", + "lan ds", + "Ġ squ", + "Ġs qu", + "Ġsq u", + "Ġ factor", + "Ġf actor", + "Ġfact or", + "Ġfa ctor", + "Ġfac tor", + "Ġfacto r", + "d ec", + "de c", + "Ġ strength", + "Ġst rength", + "Ġstr ength", + "Ġstre ngth", + "Ġstren gth", + "Ġ boy", + "Ġb oy", + "Ġbo y", + "Ġ balance", + "Ġb alance", + "Ġbal ance", + "Ġ sources", + "Ġs ources", + "Ġsource s", + "Ġsour ces", + "s creen", + "sc reen", + "scr een", + "- top", + "-t op", + "-to p", + "Ġ Amazon", + "ĠA mazon", + "ĠAm azon", + "ĠAma zon", + "Ġ hidden", + "Ġh idden", + "Ġhi dden", + "Ġhid den", + "е ÑĤ", + "_ client", + "_c lient", + "_cl ient", + "_cli ent", + "Ġ eat", + "Ġe at", + "Ġea t", + ". display", + ".d isplay", + ".dis play", + "Ġ »", + "Ġ »", + "Ġ trigger", + "Ġtr igger", + "Ġtri gger", + "Ġtrig ger", + "an ager", + "ana ger", + "Ġ tro", + "Ġt ro", + "Ġtr o", + "Ġ claims", + "Ġcl aims", + "Ġclaim s", + "Ġcla ims", + "f ord", + "fo rd", + "for d", + "Ġ Company", + "ĠCom pany", + "ĠComp any", + "Ġ gift", + "Ġg ift", + "Ġgi ft", + "Ġgif t", + ", :", + "_ app", + "_a pp", + "_ap p", + "h andle", + "han dle", + "hand le", + "Ġ produce", + "Ġp roduce", + "Ġpro duce", + "Ġprodu ce", + "Ġprod uce", + "/ lib", + "/l ib", + "/li b", + "5 12", + "51 2", + "Ġ -*", + "Ġ- *", + "ĉ set", + "ĉs et", + "ĉse t", + "' ];", + "'] ;", + "a rc", + "ar c", + "a nder", + "an der", + "and er", + "ande r", + "Ġ Engine", + "ĠE ngine", + "ĠEng ine", + "Ġ attributes", + "Ġat tributes", + "Ġattribute s", + "Ġattrib utes", + "t ask", + "ta sk", + "tas k", + "< =", + "( N", + "Ġ warm", + "Ġw arm", + "Ġwar m", + "Ġwa rm", + "wh ich", + "Ġ Fore", + "ĠF ore", + "ĠFor e", + "ĠFo re", + "ag nost", + "agn ost", + "m ys", + "my s", + "Ġ tal", + "Ġt al", + "Ġta l", + "Ġ Sal", + "ĠS al", + "ĠSa l", + "g i", + "Ġ Print", + "ĠP rint", + "ĠPr int", + "ĠPri nt", + "Ġ TRUE", + "ĠTR UE", + "Ġ о", + "ĠÐ ¾", + ". UI", + ".U I", + "Ġ flash", + "Ġf lash", + "Ġfl ash", + "Ġfla sh", + "ro perty", + "rop erty", + ". location", + ".l ocation", + ".loc ation", + ".lo cation", + "Ġ Mill", + "ĠM ill", + "ĠMil l", + "ĠMi ll", + "b i", + "con tr", + "cont r", + ". request", + ".re quest", + ".req uest", + "Ġ Sam", + "ĠS am", + "ĠSa m", + "Ġ negative", + "Ġn egative", + "Ġneg ative", + "k it", + "ki t", + "Ġ sett", + "Ġs ett", + "Ġse tt", + "Ġset t", + ".print StackTrace", + "a be", + "ab e", + "ĉ i", + "Ġ burn", + "Ġb urn", + "Ġbu rn", + "Ġbur n", + "Ġs ociety", + "Ġsoci ety", + "C ache", + "Ca che", + "Ġ Security", + "ĠS ecurity", + "ĠSe curity", + "ĠSec urity", + ". models", + ".model s", + ".mod els", + ".mode ls", + "ĠWARRANT Y", + "_ up", + "_u p", + "ce ive", + "Ġ clients", + "Ġc lients", + "Ġcl ients", + "Ġclient s", + "Ġcli ents", + ". Tr", + ".T r", + "Ġprovid ing", + "Ġprov iding", + "Ġr out", + "Ġro ut", + "Ġrou t", + "m aterial", + "mat erial", + "mate rial", + "Ġ ||Ċ", + "Ġ| |Ċ", + "Ġ|| Ċ", + "Ġ Ser", + "ĠS er", + "ĠSe r", + "Ġ Office", + "ĠOff ice", + "FT WARE", + "Ġ '$", + "Ġ' $", + "Ġf oc", + "Ġfo c", + "Ġex cell", + "Ġexc ell", + "Ġexcel l", + "Ġexce ll", + "Ġ cat", + "Ġc at", + "Ġca t", + "n ormal", + "norm al", + "nor mal", + "Ġd etermine", + "Ġdeter mine", + "Ġdetermin e", + "Ġdeterm ine", + "ĉ uint", + "ĉu int", + "ĉui nt", + "P ane", + "Pa ne", + "Pan e", + "Ġ employees", + "Ġemploy ees", + "Ġemployee s", + "Ġ Texas", + "ĠT exas", + "ĠTex as", + "Ġtr aff", + "Ġtra ff", + "Ġtraf f", + "Ġ Report", + "ĠRe port", + "ĠRep ort", + "ĠRepo rt", + "an ta", + "ant a", + "Ġ Box", + "ĠB ox", + "ĠBo x", + "Ġ django", + "Ġd jango", + "Ġdj ango", + "Ġ partner", + "Ġp artner", + "Ġpart ner", + "E B", + "L INE", + "LI NE", + "LIN E", + "Ġfe eling", + "Ġfeel ing", + "Ġfee ling", + "Ġ civil", + "Ġc ivil", + "Ġci vil", + "Ġciv il", + "( float", + "(f loat", + "S ql", + "Sq l", + "Ġwould n", + ". init", + ".in it", + ".i nit", + ".ini t", + ". left", + ".l eft", + ".le ft", + "- v", + "_ level", + "_le vel", + "' }", + "A F", + "Ġ loading", + "Ġlo ading", + "Ġload ing", + "Ġloa ding", + "Ġ Only", + "ĠOn ly", + "Ġ cookies", + "Ġc ookies", + "Ġco okies", + "Ġcook ies", + "Ġcookie s", + "Ġ Gl", + "ĠG l", + "C O", + "Ġ strategy", + "Ġstr ategy", + "Ġstrateg y", + "Ġstrate gy", + "(' ./", + "('. /", + "Ġ ship", + "Ġs hip", + "Ġsh ip", + "p oses", + "pos es", + "pose s", + "po ses", + "Ġ signal", + "Ġs ignal", + "Ġsign al", + "Ġsig nal", + "Ġ alpha", + "Ġal pha", + "Ġalph a", + ". pop", + ".p op", + ".po p", + "R adius", + "Rad ius", + "Radi us", + "Ġ replace", + "Ġre place", + "Ġrep lace", + "Ġrepl ace", + "_ DIR", + "_D IR", + "_DI R", + "c ounter", + "co unter", + "count er", + "bserv able", + "e la", + "el a", + "W eight", + "We ight", + "Wei ght", + "h ash", + "ha sh", + "has h", + "b ose", + "bo se", + "bos e", + "f x", + "Ġ Email", + "ĠE mail", + "ĠEm ail", + "Ġ refer", + "Ġre fer", + "Ġref er", + "local host", + "_ RO", + "_R O", + "i ques", + "ique s", + "iqu es", + "iq ues", + "S tep", + "St ep", + "Ste p", + "Ġ ahead", + "Ġa head", + "Ġah ead", + "( View", + "(V iew", + "Ġ Services", + "ĠS ervices", + "ĠService s", + "ĠServ ices", + "Ġ Json", + "ĠJ son", + "ĠJs on", + "ess or", + "esso r", + "Ġ pun", + "Ġp un", + "Ġpu n", + "Ġ appropriate", + "Ġapp ropriate", + "Ġappropri ate", + "a kers", + "ak ers", + "ake rs", + "aker s", + "o sen", + "os en", + "ose n", + "p osing", + "pos ing", + "po sing", + "Ġ agent", + "Ġa gent", + "Ġag ent", + "Ġage nt", + "f c", + "Ġ transfer", + "Ġtrans fer", + "Ġtransf er", + "Ġ invalid", + "Ġin valid", + "Ġinval id", + "Ġ Research", + "ĠRe search", + "ĠRes earch", + "Vert ex", + "Ver tex", + "Ġ gay", + "Ġg ay", + "Ġga y", + "Ġ journal", + "Ġj ournal", + "Ġjo urnal", + "Ġjour nal", + "[ x", + "Ġ \"\",Ċ", + "Ġ\" \",Ċ", + "Ġ\"\" ,Ċ", + "Ġ\"\", Ċ", + "Ġ Well", + "ĠW ell", + "ĠWe ll", + "ĠWel l", + ". Tasks", + ".T asks", + ".Task s", + "S pec", + "Sp ec", + "Spe c", + "Ġ ol", + "Ġo l", + "Ġs pend", + "Ġsp end", + "Ġspe nd", + "Ġ Australia", + "ĠA ustralia", + "ĠAustral ia", + "ĠAustr alia", + "M atch", + "Mat ch", + ".j unit", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ MAX", + "ĠM AX", + "ĠMA X", + "iz able", + "iza ble", + "cl usive", + "clus ive", + "_ valid", + "_val id", + "_va lid", + "Ġ quarter", + "Ġqu arter", + "Ġquar ter", + "Ġquart er", + "y an", + "ya n", + "0 05", + "00 5", + "Ġ Edit", + "ĠE dit", + "ĠEd it", + "ar den", + "ard en", + "arde n", + "= new", + "=n ew", + "Ġ frag", + "Ġf rag", + "Ġfr ag", + "Ġfra g", + "B it", + "Bi t", + "z i", + "a ine", + "ain e", + "ai ne", + "u dd", + "ud d", + ". Object", + ".O bject", + ".Obj ect", + "de bug", + "deb ug", + "Ġ cash", + "Ġc ash", + "Ġca sh", + "Ġcas h", + "_ IM", + "_I M", + "Ġ een", + "Ġe en", + "Ġee n", + "Ġ commercial", + "Ġcom mercial", + "Ġcomm ercial", + "Ġcommerc ial", + "Ġ Video", + "ĠV ideo", + "ĠVi deo", + "ĠVid eo", + "ĠVide o", + "l oader", + "lo ader", + "load er", + "Ġ fixed", + "Ġf ixed", + "Ġfix ed", + "Ġfi xed", + "Ġ applications", + "Ġapp lications", + "Ġapplication s", + "Ġapplic ations", + "Ġappl ications", + "Ġ _,", + "Ġ_ ,", + "Ġ Russia", + "ĠR ussia", + "ĠRuss ia", + "it ect", + "ite ct", + "_ (", + "Ġ Block", + "ĠB lock", + "ĠBl ock", + "ĠBlo ck", + "ĠBloc k", + "Ġ san", + "Ġs an", + "Ġsa n", + "Ġ Tom", + "ĠT om", + "ĠTo m", + "Ġ perhaps", + "Ġper haps", + "Ġ sig", + "Ġs ig", + "Ġsi g", + "le vant", + "lev ant", + "Ġc orpor", + "Ġcor por", + "Ġcorp or", + "Ġcorpo r", + "at aset", + "ata set", + "atas et", + "r onic", + "ro nic", + "ron ic", + "x e", + "Ġ eth", + "Ġe th", + "Ġet h", + "S ome", + "So me", + "Som e", + "p op", + "po p", + "_ OK", + "_O K", + "Ġt end", + "Ġte nd", + "Ġten d", + ". Res", + ".R es", + ".Re s", + "_ and", + "_a nd", + "_an d", + "Ġ reviews", + "Ġre views", + "Ġreview s", + "Ġ wild", + "Ġw ild", + "Ġwi ld", + "Ġwil d", + "1 17", + "11 7", + "Ġ degree", + "Ġd egree", + "Ġde gree", + "Ġdeg ree", + ". O", + ". objects", + ".object s", + ".obj ects", + "_ args", + "_arg s", + "_ar gs", + "n il", + "ni l", + "Ġ disabled", + "Ġdis abled", + "Ġdisable d", + "P arent", + "Par ent", + "Pa rent", + "Paren t", + "Ġ notes", + "Ġn otes", + "Ġnot es", + "Ġno tes", + "Ġnote s", + "Ġ \"\"Ċ", + "Ġ\" \"Ċ", + "Ġ\"\" Ċ", + "( state", + "(st ate", + "(stat e", + "i strict", + "istr ict", + "Ġ logging", + "Ġlog ging", + ". IO", + ".I O", + "Ġ Mal", + "ĠM al", + "ĠMa l", + "D M", + "Ġ xml", + "Ġx ml", + "Ġxm l", + "Ġ Robert", + "ĠRob ert", + "ĠRo bert", + "e len", + "el en", + "ele n", + "l ayout", + "lay out", + "f ol", + "fo l", + "' ]))", + "'] ))", + "']) )", + ", b", + "Ġ Jer", + "ĠJ er", + "ĠJe r", + "f ilename", + "file name", + "fi lename", + "fil ename", + "Ġ fan", + "Ġf an", + "Ġfa n", + "Ġ Custom", + "ĠC ustom", + "ĠCust om", + "= \"\"", + "=\" \"", + "Ġ Die", + "ĠD ie", + "ĠDi e", + "B undle", + ". utils", + ".util s", + ".ut ils", + "Ġ trip", + "Ġt rip", + "Ġtr ip", + "Ġtri p", + "M B", + "Ġ soft", + "Ġs oft", + "Ġso ft", + "Ġsof t", + "_ MODE", + "_M ODE", + "_MO DE", + "_MOD E", + "Ġapp licable", + "Ġapplic able", + "Ġappl icable", + "Ġ upper", + "Ġu pper", + "Ġup per", + "Ġupp er", + "ER VER", + "ERV ER", + "ERVE R", + "_ al", + "_a l", + "_ LOG", + "_L OG", + "_LO G", + "H ere", + "He re", + "Her e", + "w p", + "Ġ Server", + "ĠS erver", + "ĠSer ver", + "ĠServ er", + "ĠServe r", + "Ġ Client", + "ĠC lient", + "ĠCl ient", + "ĠCli ent", + "Ġ chem", + "Ġc hem", + "Ġch em", + "Ġche m", + "S croll", + "Sc roll", + "Scr oll", + "Ġ highest", + "Ġh ighest", + "Ġhigh est", + "Ġhi ghest", + "Ġ Select", + "ĠS elect", + "ĠSe lect", + "ĠSel ect", + "ĠSele ct", + "Ġ \"@", + "Ġ\" @", + "Ġ Why", + "ĠW hy", + "ĠWh y", + "S ec", + "Se c", + "h eel", + "he el", + "hee l", + "O peration", + "Oper ation", + "Op eration", + "Opera tion", + "Ġ connected", + "Ġconn ected", + "Ġconnect ed", + "ir med", + "irm ed", + "Ġcit iz", + "Ġ Che", + "ĠC he", + "ĠCh e", + "Ġ forces", + "Ġfor ces", + "Ġforce s", + "Ġforc es", + "Ġ www", + "Ġw ww", + "Ġww w", + "R oot", + "Ro ot", + "AN CE", + "ANC E", + "M any", + "Man y", + "Ma ny", + "i cip", + "ic ip", + "ici p", + "r gan", + "rg an", + "2 20", + "22 0", + "Ġ Tor", + "ĠT or", + "ĠTo r", + "Ġ Press", + "ĠP ress", + "ĠPr ess", + "ĠPres s", + "ĠPre ss", + "Ġ Mor", + "ĠM or", + "ĠMo r", + "- line", + "-l ine", + "-li ne", + "u led", + "ul ed", + "ule d", + "> \\", + "Ġ thus", + "Ġt hus", + "Ġth us", + "Ġthu s", + "Ġ Register", + "ĠReg ister", + "h ol", + "ho l", + "Ġ Chinese", + "ĠCh inese", + "ĠChin ese", + "Ġ posted", + "Ġpos ted", + "Ġpost ed", + "Ġpo sted", + "Ġposte d", + "Ġm agn", + "Ġmag n", + "Ġma gn", + "ab ilities", + "abil ities", + "abilit ies", + "Ġd isease", + "Ġdis ease", + "Ġdise ase", + "Ġrem ains", + "Ġremain s", + "Ġ Prof", + "ĠP rof", + "ĠPro f", + "ĠPr of", + "- form", + "-f orm", + "-for m", + "Ġ cin", + "Ġc in", + "Ġci n", + "o rgan", + "or gan", + "org an", + "i cate", + "ic ate", + "ica te", + "Ġ stress", + "Ġst ress", + "Ġstr ess", + "Ġstre ss", + "] *", + "Ġ ----------------------------------------------------------------", + "Ġ---------------- ------------------------------------------------", + "Ġ------------------------------------------------ ----------------", + "Ġ-------------------------------- --------------------------------", + "Ġ------------------------------------------------------------ ----", + "_ context", + "_con text", + "_cont ext", + "or ry", + "orr y", + "Ġd ied", + "Ġdi ed", + "Ġdie d", + "m at", + "ma t", + "Ġ starts", + "Ġst arts", + "Ġstart s", + "Ġstar ts", + "Ġsta rts", + ". Message", + ".M essage", + "Ġ runs", + "Ġr uns", + "Ġrun s", + "Ġru ns", + "Ġ guide", + "Ġg uide", + "Ġgu ide", + "Ġguid e", + "Ġgui de", + "Ġw arranty", + "Ġwarrant y", + "ent ials", + "ential s", + "enti als", + "d ict", + "di ct", + "dic t", + "Ġ Size", + "ĠS ize", + "ĠSi ze", + "ĠSiz e", + "u ler", + "ul er", + "ule r", + "Ġres ponsible", + "Ġrespons ible", + "_ SET", + "_S ET", + "_SE T", + "Ġcont aining", + "Ġcontain ing", + "Ġconta ining", + "Ġ Price", + "ĠP rice", + "ĠPr ice", + "ĠPri ce", + "| |", + "3 50", + "35 0", + "F S", + "Ġ emp", + "Ġe mp", + "Ġem p", + "_ button", + "_b utton", + "_but ton", + "( uint", + "(u int", + "(ui nt", + "Ġs uff", + "Ġsu ff", + "Ġsuf f", + "p th", + "pt h", + "Ġdef initely", + "Ġdefinit ely", + "Ġdefinite ly", + "p ute", + "put e", + "pu te", + "Ġ marketing", + "Ġmark eting", + "Ġmarket ing", + "Ġ WH", + "ĠW H", + "Ġ Sie", + "ĠS ie", + "ĠSi e", + "+ =", + "OL OR", + "Ġ consult", + "Ġcons ult", + "Ġconsul t", + "Ġ signed", + "Ġs igned", + "Ġsign ed", + "Ġsig ned", + "Ġ sequence", + "Ġse quence", + "Ġsequ ence", + "l ee", + "le e", + "Ġ requirements", + "Ġrequire ments", + "Ġrequirement s", + "h y", + "Ex press", + "Exp ress", + "Expr ess", + "M T", + "s ey", + "se y", + "Ġ ult", + "Ġu lt", + "Ġul t", + "å ®", + "ellig ence", + "elli gence", + "Ġ analy", + "Ġan aly", + "Ġanal y", + "Ġana ly", + "Ġ dress", + "Ġd ress", + "Ġdr ess", + "Ġdre ss", + "e ngine", + "eng ine", + "engin e", + "Ġ Great", + "ĠG reat", + "ĠGr eat", + "ĠGre at", + "Ġ Android", + "ĠAnd roid", + "ĠAndr oid", + "Ġ Alex", + "ĠA lex", + "ĠAl ex", + "ĠAle x", + "m ode", + "mod e", + "mo de", + "D ictionary", + ". Date", + ".D ate", + "ä ½", + "V ICE", + "VI CE", + "VIC E", + "Ġf amilies", + "Ġfam ilies", + "Ġfamil ies", + "Ġ Russian", + "ĠR ussian", + "ĠRuss ian", + "ĠRussia n", + "ĠRus sian", + "Ġ Times", + "ĠT imes", + "ĠTime s", + "ĠTim es", + "ĠTi mes", + ". call", + ".c all", + ".ca ll", + ".cal l", + "$ (", + "Pro file", + "Pr ofile", + "Prof ile", + "Ġ folder", + "Ġf older", + "Ġfol der", + "Ġfold er", + "Ġfo lder", + "c hes", + "ch es", + "che s", + "Ġl egis", + "Ġle gis", + "Ġleg is", + "_ row", + "_r ow", + "_ro w", + "u nes", + "un es", + "une s", + "Ù Ħ", + "Ġ }).", + "Ġ} ).", + "Ġ}) .", + "As sert", + "Ass ert", + "a gen", + "ag en", + "age n", + "Ġ Hand", + "ĠH and", + "ĠHa nd", + "ĠHan d", + "I ter", + "It er", + "Ġbig gest", + "o reach", + "or each", + "ore ach", + "orea ch", + "Ġp olic", + "Ġpol ic", + "Ġpo lic", + "Ġ permissions", + "Ġper missions", + "Ġpermission s", + "Ġperm issions", + "Ġsh owed", + "Ġshow ed", + "Ġsho wed", + "Ġ Element", + "ĠE lement", + "ĠEl ement", + "ĠEle ment", + "ĠElem ent", + "Ġ topic", + "Ġt opic", + "Ġto pic", + "Ġtop ic", + "âĢĶ âĢĶ", + "r oad", + "ro ad", + "Ġ Bank", + "ĠB ank", + "ĠBa nk", + "ĠBan k", + "re cord", + "rec ord", + "Ġ partners", + "Ġpart ners", + "Ġpartner s", + "Ġ Ref", + "ĠR ef", + "ĠRe f", + "ess ions", + "ession s", + "Ġas sess", + "Ġass ess", + "Ġasses s", + "U ST", + "US T", + "Ġ Party", + "ĠP arty", + "ĠPart y", + "ĠPar ty", + "p rodu", + "pr odu", + "pro du", + "prod u", + "L C", + "Ġ ul", + "Ġu l", + ". form", + ".f orm", + ".for m", + "h ide", + "hi de", + "hid e", + "c opy", + "co py", + "cop y", + "U TF", + "UT F", + "Ġ SOFTWARE", + "ĠSO FTWARE", + "čĊ čĊčĊ", + "čĊčĊ čĊ", + "Ġ Lin", + "ĠL in", + "ĠLi n", + "u na", + "un a", + "u gar", + "ug ar", + "uga r", + "Ġ administration", + "Ġadmin istration", + "Ġadministr ation", + "Ġ opening", + "Ġop ening", + "Ġopen ing", + "Ġ scan", + "Ġs can", + "Ġsc an", + "Ġsca n", + "Ġ continued", + "Ġcontin ued", + "Ġcontinue d", + "Ġcontinu ed", + "com ponent", + "comp onent", + ". sp", + ".s p", + "Ġhapp ens", + "Ġhappen s", + "um my", + "umm y", + "Ġ PR", + "ĠP R", + ". File", + ".F ile", + "Ġ Download", + "ĠD ownload", + "ĠDown load", + "Lo ading", + "Load ing", + "d i", + "Ġ waiting", + "Ġwait ing", + "Ġwa iting", + "_ ADD", + "_A DD", + "_AD D", + "T ab", + "Ta b", + ". querySelector", + ".query Selector", + "Ġe conomy", + "Ġecon omy", + "Ġeconom y", + "Ġec onomy", + "Ġ French", + "ĠF rench", + "ĠFr ench", + "t xt", + "tx t", + "Ġ fant", + "Ġf ant", + "Ġfa nt", + "Ġfan t", + "_ ;Ċ", + "_; Ċ", + "H older", + "Hold er", + "Ho lder", + "Hol der", + "S H", + "0 04", + "00 4", + "Ġ numpy", + "Ġn umpy", + "Ġnum py", + "Ġ street", + "Ġst reet", + "Ġstre et", + "Ġ male", + "Ġm ale", + "Ġma le", + "Ġmal e", + "\\ Model", + "\\M odel", + "an ging", + "ang ing", + "angi ng", + "3 33", + "33 3", + "Ġ Bill", + "ĠB ill", + "ĠBi ll", + "ĠBil l", + "Ġpre viously", + "Ġprevious ly", + "Ġprev iously", + "B I", + "Ġ Secret", + "ĠS ecret", + "ĠSe cret", + "ĠSec ret", + "Ġ mist", + "Ġm ist", + "Ġmis t", + "Ġmi st", + "Ġ Field", + "ĠF ield", + "ĠFi eld", + "u ps", + "up s", + "Ġ Process", + "ĠP rocess", + "ĠPro cess", + "ĠProc ess", + "Ġ kept", + "Ġk ept", + "Ġke pt", + "Ġkep t", + "Ġ OT", + "ĠO T", + "Ġ traditional", + "Ġtrad itional", + "Ġtradition al", + ". i", + "a min", + "am in", + "ami n", + "Ġh elps", + "Ġhelp s", + "Ġhel ps", + "A ny", + "An y", + "or igin", + "orig in", + "ori gin", + "il ters", + "ilter s", + "ilt ers", + "j u", + "d esc", + "de sc", + "des c", + "Ġ Account", + "ĠA ccount", + "ĠAc count", + "ĠAcc ount", + "Ġ )čĊ", + "Ġ) čĊ", + "k top", + "kt op", + "ol ly", + "oll y", + "Ġ fs", + "Ġf s", + "Ġ ê", + "Ġ ut", + "Ġu t", + "Ġ central", + "Ġc entral", + "Ġcent ral", + "Ġcentr al", + "( test", + "(t est", + "(te st", + ". An", + ".A n", + "Ġs atisf", + "G R", + "Ġ Full", + "ĠF ull", + "ĠFu ll", + "ĠFul l", + "Ġ heat", + "Ġh eat", + "Ġhe at", + "i ber", + "ib er", + "ibe r", + "Ġ onto", + "Ġon to", + "Ġont o", + "m os", + "mo s", + "S chema", + "Sch ema", + "Ġ factory", + "Ġf actory", + "Ġfact ory", + "Ġfactor y", + "Ġfacto ry", + "\" .$", + "\". $", + "a ws", + "aw s", + "St atement", + "State ment", + "Stat ement", + "( target", + "(t arget", + "ĉ new", + "ĉn ew", + ". be", + ".b e", + "Ġ guest", + "Ġg uest", + "Ġgu est", + "Ġ mal", + "Ġm al", + "Ġma l", + "A RY", + "AR Y", + "Ġre ached", + "Ġreach ed", + "Ġ mouse", + "Ġm ouse", + "Ġmo use", + "Ġmou se", + "Ġ challenge", + "Ġch allenge", + "Ġchall enge", + "Ġchalleng e", + "ĉ double", + "ĉd ouble", + "ĉdo uble", + "Ġ Tem", + "ĠT em", + "ĠTe m", + "Ġ terror", + "Ġt error", + "Ġte rror", + "Ġter ror", + "Ġterr or", + "Ġ extract", + "Ġex tract", + "Ġext ract", + "Ġextra ct", + "Ġextr act", + "_ TO", + "_T O", + "Ġse parate", + "Ġsepar ate", + "Ġseparat e", + "Ġ mir", + "Ġm ir", + "Ġmi r", + "h elp", + "he lp", + "hel p", + "Ġ capacity", + "Ġcap acity", + "Ġcapac ity", + "Ġcapacit y", + "Ġ Property", + "ĠP roperty", + "ĠPro perty", + "ĠProp erty", + "ĠProper ty", + "k an", + "ka n", + "_ create", + "_c reate", + "_cre ate", + "Ġ Light", + "ĠL ight", + "ĠLi ght", + "ĠLig ht", + ". parent", + ".p arent", + ".par ent", + ".pa rent", + "Ġunder standing", + "Ġunderstand ing", + "Ġunderst anding", + "Ġe asier", + "Ġeas ier", + "Ġ |=", + "Ġ| =", + "Ġ enh", + "Ġe nh", + "Ġen h", + "Ġ fat", + "Ġf at", + "Ġfa t", + "Ġpro test", + "Ġprot est", + "Ġprote st", + "a mm", + "am m", + "_ AT", + "_A T", + "- of", + "-o f", + "i ls", + "il s", + "Ġ Oh", + "ĠO h", + "Ġ psych", + "Ġps ych", + "Ġpsy ch", + "Ġ $.", + "Ġ$ .", + "i nds", + "in ds", + "ind s", + "Ġ relative", + "Ġrel ative", + "Ġrelativ e", + "Ġrelat ive", + "s hop", + "sh op", + "s hort", + "sh ort", + "Ġ Sand", + "ĠS and", + "ĠSan d", + "ĠSa nd", + "2 10", + "21 0", + "u estion", + "ues tion", + "uest ion", + "Ġf ear", + "Ġfe ar", + "/ ĊĊ", + "/Ċ Ċ", + ". context", + ".con text", + ".cont ext", + "Ġ schools", + "Ġschool s", + "Ġsch ools", + "Ġscho ols", + "Ġ serve", + "Ġs erve", + "Ġse rve", + "Ġser ve", + "Ġserv e", + "z one", + "zo ne", + "zon e", + "_ db", + "_d b", + "Ġmajor ity", + "ex ample", + "exam ple", + "Ġ lang", + "Ġl ang", + "Ġla ng", + "Ġlan g", + "ĉ ĠĠ", + "ĉĠ Ġ", + "Reg ister", + "e ndo", + "en do", + "end o", + "Ġ processing", + "Ġp rocessing", + "Ġprocess ing", + "Ġproces sing", + "_ template", + "_t emplate", + "_temp late", + "_tem plate", + "- user", + "-use r", + "-us er", + "-u ser", + "Ġ eg", + "Ġe g", + "C OM", + "CO M", + "Ġ Blue", + "ĠB lue", + "ĠBl ue", + "ĠBlu e", + "i ro", + "ir o", + "Ġ remote", + "Ġrem ote", + "Ġremot e", + "Ġ IT", + "ĠI T", + "# !/", + "#! /", + "Ġred istrib", + "Ġredis trib", + "1 24", + "12 4", + "r az", + "ra z", + "Ġ Since", + "ĠS ince", + "ĠSi nce", + "ĠSin ce", + "Ġ Tur", + "ĠT ur", + "ĠTu r", + "1 35", + "13 5", + "Back ground", + "= ==", + "== =", + "Ġ reflect", + "Ġref lect", + "Ġrefl ect", + "Ġp ros", + "Ġpro s", + "Ġpr os", + "c md", + "cm d", + "Ġw hom", + "Ġwh om", + "Ġwho m", + "Com pat", + "Comp at", + "Ġ Are", + "ĠA re", + "ĠAr e", + "Id entifier", + "Ident ifier", + "ĠT hom", + "ĠTh om", + "_ port", + "_p ort", + "_po rt", + "_por t", + "g u", + "Ġ monitor", + "Ġm onitor", + "Ġmon itor", + "r m", + "Ġ patient", + "Ġp atient", + "Ġpat ient", + "ver ter", + "vert er", + "verte r", + "Ġ gain", + "Ġg ain", + "Ġga in", + "- ui", + "-u i", + "I nst", + "In st", + "Ins t", + "Ġd ies", + "Ġdi es", + "Ġdie s", + "1 18", + "11 8", + "A rea", + "Ar ea", + "Are a", + "_ filter", + "_f ilter", + "_fil ter", + "_filt er", + "Ġg rat", + "Ġgr at", + "Ġgra t", + "Ġre ality", + "Ġreal ity", + "ord inate", + "ordin ate", + "ol ved", + "olve d", + "olv ed", + "Cont act", + "Conta ct", + "Ġcom pliance", + "Ġcompl iance", + "_ or", + "_o r", + "Ġ Var", + "ĠV ar", + "ĠVa r", + "d l", + "Ġ append", + "Ġapp end", + "Ġap pend", + "Ġappe nd", + "G ER", + "GE R", + "( max", + "(m ax", + ". render", + ".re nder", + ".r ender", + "Ġ dynamic", + "Ġd ynamic", + "Ġdynam ic", + "Ġdyn amic", + "ordin ates", + "ordinate s", + "_ options", + "_option s", + "_o ptions", + "_opt ions", + "_ column", + "_c olumn", + "_col umn", + "Ġb atter", + "Ġbatt er", + "Ġbat ter", + "s pace", + "sp ace", + "spa ce", + "L a", + "Ġ Source", + "ĠS ource", + "ĠSour ce", + "/ bin", + "/b in", + "Ġ dos", + "Ġd os", + "Ġdo s", + "Ġ Board", + "ĠB oard", + "ĠBo ard", + "Ġ Thread", + "ĠT hread", + "ĠTh read", + "ĠThr ead", + "Ġ AL", + "ĠA L", + "( config", + "(con fig", + "(conf ig", + "1 44", + "14 4", + "Ġ Mer", + "ĠM er", + "ĠMe r", + "Ġm iles", + "Ġmil es", + "Ġmi les", + "Ġmile s", + "_ header", + "_head er", + "_he ader", + "ETH OD", + "i zz", + "iz z", + "Ġb enefit", + "Ġbenef it", + "Ġbene fit", + "Ġ integr", + "Ġint egr", + "Ġinteg r", + "Ġinte gr", + "( current", + "(c urrent", + "(cur rent", + "(curr ent", + "u lo", + "ul o", + ". default", + ".d efault", + ".de fault", + ".def ault", + "Ġ Div", + "ĠD iv", + "ĠDi v", + "Ġ ton", + "Ġt on", + "Ġto n", + "o th", + "ot h", + "er vation", + "erv ation", + "erva tion", + "e dom", + "ed om", + "edo m", + "Ġ baby", + "Ġb aby", + "Ġba by", + "Ġbab y", + "ce ived", + "ceive d", + ". top", + ".t op", + ".to p", + "rior ity", + "Ġ Local", + "ĠL ocal", + "ĠLo cal", + "ĠLoc al", + "r iage", + "ri age", + "ria ge", + "Ġ attacks", + "Ġatt acks", + "Ġattack s", + "Ġ hospital", + "Ġh ospital", + "Ġhosp ital", + "1 68", + "16 8", + "Ġ female", + "Ġf emale", + "Ġfe male", + "Ġfem ale", + "Ġ Login", + "ĠLog in", + "ĠLo gin", + "ĠF lor", + "ĠFl or", + "ĠFlo r", + "Ġ chain", + "Ġch ain", + "Ġcha in", + "Ġchai n", + "ash ion", + "ashi on", + "Text ure", + "Tex ture", + "S ave", + "Sa ve", + "Ġ farm", + "Ġf arm", + "Ġfa rm", + "Ġfar m", + ". contains", + ".con tains", + ".cont ains", + ". Test", + ".T est", + ".Te st", + "Ġkn ows", + "Ġknow s", + "Ġgener ally", + "Ġgeneral ly", + "ip eline", + "ipe line", + "ipel ine", + "Ġme ant", + "Ġmean t", + "e ncia", + "en cia", + "enc ia", + "enci a", + "Ġn icht", + "Ġni cht", + "Ġnic ht", + "Ġnich t", + "Ġ contents", + "Ġcont ents", + "Ġcontent s", + "Ġconten ts", + "Ġconte nts", + "P M", + "ched ule", + "( line", + "(l ine", + "(li ne", + "C G", + "j ob", + "jo b", + "Ġ Real", + "ĠRe al", + "u er", + "ue r", + "f irm", + "fi rm", + "fir m", + "Ġ Ø", + "e tro", + "et ro", + "etr o", + "\" `Ċ", + "\"` Ċ", + "Ġ speech", + "Ġs peech", + "Ġspe ech", + "Ġ thr", + "Ġt hr", + "Ġth r", + "f oreach", + "fo reach", + "fore ach", + "for each", + "Ġ warn", + "Ġw arn", + "Ġwar n", + "Ġwa rn", + "ĉ l", + "Ġ heavy", + "Ġhe avy", + "Ġheav y", + "< li", + " )", + "_ char", + "_c har", + "_ch ar", + "re source", + "res ource", + "Ġ episode", + "Ġep isode", + "Ġepis ode", + "Ġ '_", + "Ġ' _", + "Ġ Es", + "ĠE s", + "Ġ Earth", + "ĠE arth", + "ĠEar th", + "Âł Âł", + "UP DATE", + "1 33", + "13 3", + "Ġ Sou", + "ĠS ou", + "ĠSo u", + "u is", + "ui s", + "t ypes", + "type s", + "ty pes", + "typ es", + "Ġ mas", + "Ġm as", + "Ġma s", + "Ġ fav", + "Ġf av", + "Ġfa v", + "Ġ construct", + "Ġcon struct", + "Ġconstr uct", + "_ rate", + "_r ate", + "_ra te", + "_rat e", + "e ras", + "er as", + "era s", + "Ġ |Ċ", + "Ġ| Ċ", + "rop erties", + "Ġ external", + "Ġex ternal", + "Ġext ernal", + "Ġextern al", + "Ġexter nal", + "Ġapp lied", + "Ġap plied", + "Ġappl ied", + "Ġ prefix", + "Ġp refix", + "Ġpre fix", + "Ġpref ix", + "o ted", + "ot ed", + "ote d", + "l ers", + "le rs", + "ler s", + "Ġ cold", + "Ġc old", + "Ġco ld", + "Ġcol d", + "Ġ SP", + "ĠS P", + "Ġ Church", + "ĠCh urch", + "ĠChu rch", + "Ġ Output", + "ĠOut put", + "l osed", + "lo sed", + "lose d", + "los ed", + "ç ļ", + "if icate", + "ific ate", + "ifi cate", + "ifica te", + "o peration", + "op eration", + "ope ration", + "oper ation", + "he rit", + "her it", + "x FF", + "xF F", + ". env", + ".e nv", + ".en v", + "_ err", + "_e rr", + "_er r", + "o sh", + "os h", + "D irection", + "Dir ection", + "Direct ion", + "Di rection", + "Dire ction", + "C ancel", + "Can cel", + "Ġ Frank", + "ĠF rank", + "ĠFr ank", + "ĠFra nk", + "ĠFran k", + "Ġ finding", + "Ġf inding", + "Ġfind ing", + "Ġfin ding", + ". )ĊĊ", + ".) ĊĊ", + ".)Ċ Ċ", + "Ġ router", + "Ġr outer", + "Ġro uter", + "Ġroute r", + "Ġrout er", + "Ġrou ter", + "ãĥ »", + "s es", + "se s", + "Ġ crow", + "Ġc row", + "Ġcr ow", + "Ġcro w", + "= ='", + "== '", + "Ġ sand", + "Ġs and", + "Ġsa nd", + "Ġsan d", + "Ġ rid", + "Ġr id", + "Ġri d", + "i ture", + "it ure", + "itu re", + "itur e", + "Ġ entre", + "Ġen tre", + "Ġent re", + "Ġentr e", + "Ġ observ", + "Ġo bserv", + "Ġob serv", + "Ġobs erv", + "Ġ vac", + "Ġv ac", + "Ġva c", + "ð Ł", + "- T", + "A rt", + "Ar t", + "n ight", + "ni ght", + ". search", + ".s earch", + ".se arch", + "Ġ exchange", + "Ġex change", + "Ġ district", + "Ġd istrict", + "Ġdi strict", + "Ġdistr ict", + ". os", + ".o s", + "Ġ department", + "Ġde partment", + "Ġdep artment", + "Ġdepart ment", + "Ġ documents", + "Ġdocument s", + "Ġdoc uments", + "Ġcent ury", + "Ġ Next", + "ĠN ext", + "ĠNe xt", + "ĠNex t", + "H ost", + "Ho st", + "ĠK IND", + "Ġs usp", + "Ġsu sp", + "Ġsus p", + "- P", + "r end", + "re nd", + "ren d", + ". em", + ".e m", + "u ite", + "ui te", + "uit e", + "i sters", + "is ters", + "ist ers", + "ister s", + "iste rs", + "( json", + "(j son", + "(js on", + "Ġ Ann", + "ĠA nn", + "ĠAn n", + "w t", + "a ti", + "at i", + "Ġ HTML", + "ĠHT ML", + "w hen", + "wh en", + "D irectory", + "Direct ory", + "Director y", + "Ġsh ut", + "< a", + "e dy", + "ed y", + "Ġ healthy", + "Ġhealth y", + "Ġheal thy", + "Ġ temperature", + "Ġt emperature", + "Ġtem perature", + "Ġtemper ature", + "Ġ Gen", + "ĠG en", + "ĠGe n", + "Ġ metal", + "Ġm etal", + "Ġme tal", + "Ġmet al", + "Ġmeta l", + "Ġ submit", + "Ġsub mit", + "Ġ DO", + "ĠD O", + "Ġat tract", + "Ġatt ract", + "Ġattr act", + "Ġ {};Ċ", + "Ġ{ };Ċ", + "Ġ{} ;Ċ", + "Ġ{}; Ċ", + "Ġ Word", + "ĠW ord", + "ĠWo rd", + "ĠWor d", + "Ġ ll", + "Ġl l", + "Ġse emed", + "Ġsee med", + "Ġseem ed", + "k o", + "I ED", + "IE D", + "Ġl abor", + "Ġla bor", + "Ġlab or", + ". Context", + ".Cont ext", + ".Con text", + "Ġ asset", + "Ġas set", + "Ġass et", + "y ou", + "yo u", + "Ġ cars", + "Ġc ars", + "Ġcar s", + "Ġca rs", + "Ġ Column", + "ĠC olumn", + "ĠCol umn", + "ĠColum n", + "Ġ ré", + "Ġr é", + "Ġ square", + "Ġs quare", + "Ġsqu are", + "Ġ NSString", + "ĠNS String", + "ĠNSS tring", + "âĢĿ ,", + "a pes", + "ap es", + "ape s", + ". ..Ċ", + ".. .Ċ", + "... Ċ", + "Ġ thanks", + "Ġth anks", + "Ġthan ks", + "Ġthank s", + "( props", + "(p rops", + "(pro ps", + "(pr ops", + "(prop s", + "Ġ tick", + "Ġt ick", + "Ġti ck", + "Ġtic k", + "Ġ experiment", + "Ġex periment", + "Ġexper iment", + "Ġexperi ment", + "Ġpr ison", + "Ġpri son", + "Ġpris on", + "t ree", + "tr ee", + "tre e", + "- text", + "-t ext", + "-te xt", + "Ġ IOException", + "ĠIO Exception", + "- width", + "-w idth", + "_ STATUS", + "_ST ATUS", + "_STAT US", + "f ast", + "fa st", + "fas t", + "- body", + "-b ody", + "-bo dy", + "- header", + "-head er", + "-he ader", + "Ġg uar", + "Ġgu ar", + "c rete", + "cre te", + "cret e", + "cr ete", + "Ġ Tim", + "ĠT im", + "ĠTi m", + "Ġcl early", + "Ġclear ly", + "Ġ Republican", + "ĠRepublic an", + "Ġ justify", + "Ġjust ify", + "и ÑĤ", + "ĉ ĠĠĠĠ", + "ĉĠĠĠ Ġ", + "ĉĠ ĠĠĠ", + "ĉĠĠ ĠĠ", + "c ache", + "ca che", + "cac he", + "; //", + ";/ /", + "Ġ presence", + "Ġpres ence", + "Ġf actors", + "Ġfact ors", + "Ġfa ctors", + "Ġfac tors", + "Ġfactor s", + "Ġfacto rs", + "Ġ employee", + "Ġe mployee", + "Ġemploy ee", + "] ))", + "]) )", + "M ember", + "Mem ber", + "Ġ selector", + "Ġse lector", + "Ġselect or", + "Ġsel ector", + "Ġsele ctor", + "b or", + "bo r", + "Ġ Mex", + "ĠM ex", + "ĠMe x", + "çļ Ħ", + "u tex", + "ut ex", + "ute x", + "_ tag", + "_t ag", + "_ta g", + "ail ure", + "Ġ Net", + "ĠN et", + "ĠNe t", + "Ġre li", + "Ġr eli", + "Ġrel i", + "E G", + "Ġ fprintf", + "Ġf printf", + "Ġ teen", + "Ġt een", + "Ġte en", + "Ġtee n", + "l oss", + "lo ss", + "los s", + "Ġle aving", + "1 34", + "13 4", + "De legate", + "Ġ beat", + "Ġb eat", + "Ġbe at", + "Ġ minute", + "Ġmin ute", + "Ġminut e", + "sub scribe", + "subs cribe", + "Ġred istribute", + "Ġredistrib ute", + "Ġredis tribute", + "Con stants", + "Constant s", + "Const ants", + "Ġc ancer", + "Ġcan cer", + "Ġcanc er", + "/ {", + "B L", + "Ġ span", + "Ġs pan", + "Ġsp an", + "Ġspa n", + "Ġ Child", + "ĠCh ild", + "ĠChi ld", + "C enter", + "Cent er", + "Ġ earth", + "Ġe arth", + "Ġear th", + "Y S", + "Ġ Level", + "ĠLe vel", + "ĠLev el", + "Ġ sea", + "Ġs ea", + "Ġse a", + ". support", + ".s upport", + ".sup port", + ". inner", + ".in ner", + ". Item", + ".I tem", + ".It em", + "il ling", + "ill ing", + "illi ng", + "illin g", + "Ġ ĠĠĠĊĠĠĠĠĊ", + "ĠĠ ĠĠĊĠĠĠĠĊ", + "ĠĠĠĠ ĊĠĠĠĠĊ", + "ĠĠĠ ĠĊĠĠĠĠĊ", + "ĠĠĠĠĊ ĠĠĠĠĊ", + "Ġ Label", + "ĠL abel", + "ĠLa bel", + "ĠLab el", + "3 20", + "32 0", + "Ġ Est", + "ĠE st", + "ĠEs t", + "( arg", + "(a rg", + "(ar g", + "1 45", + "14 5", + "bo Box", + "ĉ foreach", + "ĉf oreach", + "ĉfor each", + "c os", + "co s", + "F ailed", + "Fail ed", + "Fa iled", + "s wers", + "sw ers", + "swer s", + "E ditor", + "Ed itor", + "Edit or", + "r ont", + "ro nt", + "ron t", + "Ġ MP", + "ĠM P", + "ex pr", + "exp r", + "Ġ Life", + "ĠL ife", + "ĠLi fe", + "ĠLif e", + "Ġ ??", + "Ġ? ?", + "ö r", + "Ġ attend", + "Ġatt end", + "Ġatte nd", + "Ġ Que", + "ĠQ ue", + "ĠQu e", + "Ġ species", + "Ġs pecies", + "Ġsp ecies", + "Ġspec ies", + "Ġspe cies", + "Ġspeci es", + "- D", + "Ġ aus", + "Ġa us", + "Ġau s", + "Str uct", + "Ġadv antage", + "Ġadvant age", + "o ston", + "os ton", + "ost on", + "osto n", + "- block", + "-b lock", + "-bl ock", + "in itial", + "init ial", + "C RE", + "CR E", + "Ġtr uly", + "Ġ compare", + "Ġcom pare", + "Ġcomp are", + "Ġcompar e", + "or ney", + "orn ey", + "orne y", + "Ġ spect", + "Ġs pect", + "Ġsp ect", + "Ġspec t", + "Ġspe ct", + "F ull", + "Fu ll", + "b es", + "be s", + "Ġ visible", + "Ġv isible", + "Ġvis ible", + "Ġ mess", + "Ġm ess", + "Ġme ss", + "Ġmes s", + "st ances", + "stance s", + "sta nces", + "stan ces", + "Ġ cloud", + "Ġc loud", + "Ġcl oud", + "Ġclo ud", + "_ version", + "_v ersion", + "Ġf urn", + "Ġfur n", + "Ġfu rn", + "ic ago", + "ica go", + "L OW", + "LO W", + "Ġ traffic", + "Ġtraff ic", + "Ġtra ffic", + "Ġtraf fic", + "Ġ fol", + "Ġf ol", + "Ġfo l", + "ry pto", + "rypt o", + "Ġ declar", + "Ġde clar", + "Ġdec lar", + "Ġdecl ar", + "Ġ slot", + "Ġs lot", + "Ġsl ot", + "Ġslo t", + "Ġ Ext", + "ĠE xt", + "ĠEx t", + "Ġ England", + "ĠEng land", + "ĠEngl and", + "Ġ Under", + "ĠU nder", + "ĠUn der", + "ĠUnd er", + "Ġ ta", + "Ġt a", + "l etter", + "let ter", + "lette r", + "lett er", + "2 03", + "20 3", + "Ġoff icer", + "Ġoffic er", + "Ġoffice r", + "Ġ Donald", + "ĠD onald", + "ĠDon ald", + "Y es", + "Ye s", + "_ json", + "_j son", + "_js on", + "I TableView", + "IT ableView", + "Ġ USE", + "ĠU SE", + "ĠUS E", + "mploy ee", + "Ġop inion", + "Ġopin ion", + "Ġ Aut", + "ĠA ut", + "ĠAu t", + "b order", + "bor der", + "Ġad vice", + "Ġadv ice", + "Ġautom atically", + "Ġautomatic ally", + "Ġautomat ically", + "is co", + "isc o", + "Ġ mm", + "Ġm m", + ". vis", + ".v is", + "a ml", + "am l", + "Ġ initialize", + "Ġinitial ize", + "Ġ ({", + "Ġ( {", + "Ġ ;ĊĊ", + "Ġ; ĊĊ", + "Ġ;Ċ Ċ", + "Ġ generation", + "Ġg eneration", + "Ġgener ation", + "Ġgen eration", + "Ġgene ration", + "Ġgenera tion", + "Ġ bits", + "Ġb its", + "Ġbit s", + "Ġbi ts", + "cl ipse", + "clip se", + "Ġu nf", + "Ġun f", + "u tors", + "ut ors", + "uto rs", + "utor s", + "p lt", + "pl t", + "Ġ delta", + "Ġd elta", + "Ġdel ta", + "Ġdelt a", + "e stroy", + "est roy", + "estr oy", + "estro y", + "i sis", + "is is", + "isi s", + "< br", + "Ċ", + "'> Ċ", + "a pers", + "ap ers", + "ape rs", + "aper s", + "] (", + "cont inue", + "contin ue", + "s pec", + "sp ec", + "spe c", + "Ġ Road", + "ĠR oad", + "ĠRo ad", + "A SH", + "AS H", + "il iar", + "ili ar", + "ilia r", + "Ġcontin ues", + "Ġcontinue s", + "Ġcontinu es", + "Ġ appoint", + "Ġapp oint", + "Ġap point", + "Ġ #Ċ", + "Ġ# Ċ", + "Ġ Vir", + "ĠV ir", + "ĠVi r", + "Ġ ?>\"", + "Ġ? >\"", + "Ġ?> \"", + "Ġ bin", + "Ġb in", + "Ġbi n", + "} \",", + "}\" ,", + "go ing", + "e ach", + "ea ch", + "B D", + "1 85", + "18 5", + "Ġ Access", + "ĠA ccess", + "ĠAc cess", + "ĠAcc ess", + "D oc", + "Do c", + "Ġ Management", + "ĠMan agement", + "ĠManage ment", + "ĠMana gement", + "B ER", + "BE R", + "as ket", + "ask et", + ". getInstance", + ".get Instance", + ".getIn stance", + "1 29", + "12 9", + "Ġestablish ed", + "s ocket", + "so cket", + "sock et", + "soc ket", + "I NS", + "IN S", + "ĉ virtual", + "ĉv irtual", + "ĉ result", + "ĉres ult", + "RE AD", + "REA D", + "_ height", + "_h eight", + "_he ight", + "1 52", + "15 2", + "Ġ Font", + "ĠF ont", + "ĠFo nt", + "ĠFon t", + "Ġ ();Ċ", + "Ġ( );Ċ", + "Ġ() ;Ċ", + "Ġ(); Ċ", + "_ html", + "_h tml", + "_ht ml", + "Ġ neighbor", + "Ġne ighbor", + "Ġneighb or", + "Ġneigh bor", + "l or", + "lo r", + "Ġ gather", + "Ġg ather", + "Ġga ther", + "Ġ })ĊĊ", + "Ġ} )ĊĊ", + "Ġ})Ċ Ċ", + "Ġ}) ĊĊ", + "Ġ identity", + "Ġid entity", + "Ġide ntity", + "Ġident ity", + "Ġ fab", + "Ġf ab", + "Ġfa b", + "p adding", + "pad ding", + "Ġ Route", + "ĠR oute", + "ĠRo ute", + "ĠRou te", + "ĠRout e", + "Enumer able", + "Enum erable", + "à ´", + "Ġ forced", + "Ġfor ced", + "Ġforce d", + "Ġforc ed", + "/ jquery", + "/j query", + ". ĊĊĊĊĊĊ", + ".ĊĊ ĊĊĊĊ", + ".Ċ ĊĊĊĊĊ", + ".ĊĊĊĊ ĊĊ", + ".ĊĊĊ ĊĊĊ", + ".ĊĊĊĊĊ Ċ", + "res ents", + "resent s", + "rese nts", + "_ left", + "_l eft", + "_le ft", + ". Param", + ".P aram", + ".Par am", + "ĉ throw", + "ĉth row", + "Ġ Ham", + "ĠH am", + "ĠHa m", + "Ġevent ually", + "Ġeventual ly", + "a cer", + "ace r", + "ac er", + "p ub", + "pu b", + "Ġ tra", + "Ġt ra", + "Ġtr a", + "un ique", + "uni que", + "uniq ue", + "d el", + "de l", + "Ġ Florida", + "ĠFl orida", + "ĠFlor ida", + "Ġ Clean", + "ĠC lean", + "ĠCl ean", + "ĠCle an", + "x a", + "Ġ ·", + "Ġ ·", + "Ġ validate", + "Ġvalid ate", + "Ġvalida te", + "Vis ual", + "Ex pression", + "Exp ression", + "Express ion", + "Expr ession", + "_ func", + "_f unc", + "_fun c", + "_fu nc", + "m ember", + "mem ber", + "ĉ h", + "t rl", + "tr l", + "1 36", + "13 6", + "ĉ G", + "nap shot", + "Ġ PropTypes", + "ĠProp Types", + "v in", + "vi n", + "1 53", + "15 3", + "] )ĊĊ", + "]) ĊĊ", + "])Ċ Ċ", + "o wl", + "ow l", + "if ies", + "ifi es", + "ifie s", + "Ġ $('.", + "Ġ$ ('.", + "Ġ$( '.", + "Ġ$(' .", + "Ġ Context", + "ĠCon text", + "ĠCont ext", + "ĠConte xt", + "Ġ Toast", + "ĠTo ast", + ". Key", + ".K ey", + "Ġoff icers", + "Ġoffic ers", + "Ġoffice rs", + "Ġofficer s", + "/ n", + "s n", + "un defined", + "und efined", + "undef ined", + ". items", + ".i tems", + ".item s", + ".it ems", + "ut ow", + "uto w", + "a mage", + "am age", + "ama ge", + "Ġ accounts", + "Ġac counts", + "Ġaccount s", + "o okie", + "ook ie", + "oo kie", + "S ection", + "Se ction", + "Sec tion", + "ic ians", + "ici ans", + "ician s", + "icia ns", + "Ġad vis", + "Ġadv is", + "( is", + "(i s", + "[ :,", + "[: ,", + "Ġ France", + "ĠF rance", + "ĠFr ance", + "ĠFranc e", + "ĠFra nce", + "ĠFran ce", + "F unc", + "Fun c", + "Fu nc", + "ic ious", + "ici ous", + "icio us", + "Ġ tok", + "Ġt ok", + "Ġto k", + "Ch annel", + "Chan nel", + "Ġ AD", + "ĠA D", + "_ NUM", + "_N UM", + "Ġ timeout", + "Ġtime out", + "l emma", + "le mma", + "lem ma", + "r eme", + "re me", + "rem e", + "u j", + ". Al", + ".A l", + "u clear", + "uc lear", + "ucle ar", + "( os", + "(o s", + "( \"<", + "(\" <", + "[ Ċ", + "f etch", + "fet ch", + "Ġ bal", + "Ġb al", + "Ġba l", + "Ġ guid", + "Ġg uid", + "Ġgu id", + "Ġgui d", + "- align", + "-al ign", + "Ġ Write", + "ĠW rite", + "ĠWr ite", + "Ġ Once", + "ĠO nce", + "ĠOn ce", + "ĠOnc e", + "utow ired", + "OD ULE", + "Ġ pitch", + "Ġp itch", + "Ġpit ch", + "C F", + "by tes", + "byte s", + "byt es", + "Ġ Commission", + "ĠCom mission", + "ĠComm ission", + "Ġin cred", + "Ġincre d", + "Ġinc red", + "Ġincr ed", + "P ER", + "PE R", + "_ response", + "_res ponse", + "_resp onse", + "Ġ Los", + "ĠL os", + "ĠLo s", + "p arser", + "par ser", + "parse r", + "pars er", + "Ġ assume", + "Ġas sume", + "Ġass ume", + "Ġassum e", + ". Request", + ".Re quest", + "Ġ Token", + "ĠT oken", + "ĠTo ken", + "ĠTok en", + "_ position", + "_p osition", + "_pos ition", + "Ġ nom", + "Ġn om", + "Ġno m", + "- term", + "-t erm", + "-te rm", + "Ġ remaining", + "Ġrem aining", + "Ġremain ing", + "i ostream", + "io stream", + "Ġ pieces", + "Ġp ieces", + "Ġpie ces", + "Ġpiece s", + "a py", + "ap y", + "Ġ Less", + "ĠL ess", + "ĠLe ss", + "ĠLes s", + "r ange", + "ra nge", + "ran ge", + "rang e", + "um bn", + "umb n", + "p rise", + "pr ise", + "pri se", + "_ option", + "_op tion", + "_o ption", + "_opt ion", + "2 30", + "23 0", + "I mpl", + "Im pl", + "Imp l", + "k wargs", + "kw args", + "Ġbusiness es", + "Al ert", + "Ale rt", + "Ġpart ies", + "Ġpar ties", + "Ġpartie s", + "Ġparti es", + "Ġ Container", + "ĠCont ainer", + "Ġ Private", + "ĠPr ivate", + "ĠPriv ate", + "Ġ Plan", + "ĠP lan", + "ĠPl an", + "ĠPla n", + "Ġ registered", + "Ġregister ed", + "Ġregist ered", + "Ġ jour", + "Ġj our", + "Ġjo ur", + "Ġjou r", + "a cker", + "ack er", + "ac ker", + "е ни", + "ен и", + "/ >", + "c hat", + "ch at", + "cha t", + "s ect", + "se ct", + "sec t", + "Ġ creation", + "Ġc reation", + "Ġcre ation", + "Ġcreat ion", + "Ġcrea tion", + "ol utely", + "olute ly", + "olut ely", + "Ġ instant", + "Ġin stant", + "Ġins tant", + "Ġinst ant", + "Ġ delivery", + "Ġd elivery", + "Ġdel ivery", + "Ġdeliver y", + "i cken", + "ic ken", + "ick en", + "y es", + "ye s", + "1 63", + "16 3", + "Ġ Franc", + "ĠFr anc", + "ĠFra nc", + "ĠFran c", + "b ling", + "bl ing", + "e nda", + "en da", + "end a", + "[ (", + "_ range", + "_r ange", + "_ra nge", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "Ġ schedule", + "Ġs chedule", + "Ġsched ule", + "C onn", + "Con n", + "Co nn", + "Ġ thank", + "Ġth ank", + "Ġthan k", + "Ġtha nk", + "x d", + "Ġ hook", + "Ġh ook", + "Ġho ok", + "Ġ documentation", + "Ġdocument ation", + "Param eters", + "Parameter s", + "H ello", + "Hel lo", + "Hell o", + "v t", + "Ġ articles", + "Ġart icles", + "Ġarticle s", + "Ġartic les", + "Ġ west", + "Ġw est", + "Ġwe st", + "Ġwes t", + "d efined", + "def ined", + "define d", + ". select", + ".s elect", + ".se lect", + ".sel ect", + "ok ens", + "oken s", + "oke ns", + "Ġ VAL", + "ĠV AL", + "ĠVA L", + ". file", + ".f ile", + ".fi le", + ".fil e", + "re set", + "res et", + "rese t", + "Ġ mys", + "Ġm ys", + "Ġmy s", + "Ġ MA", + "ĠM A", + "] ),", + "]) ,", + "Ġ cities", + "Ġc ities", + "Ġcit ies", + "Ġci ties", + "re lated", + "rel ated", + "å Ľ", + "Ġ appeared", + "Ġappe ared", + "Ġappear ed", + "Ġ wid", + "Ġw id", + "Ġwi d", + ". panel", + ".p anel", + ".pa nel", + ".pan el", + "Ġ Ins", + "ĠI ns", + "ĠIn s", + ". entity", + ".e ntity", + ".ent ity", + "Ġde cre", + "Ġdec re", + "Ġ Lou", + "ĠL ou", + "ĠLo u", + "( time", + "(t ime", + "(ti me", + "Ġ Thank", + "ĠTh ank", + "ĠThan k", + ". createElement", + ".create Element", + "Ġ mentioned", + "Ġmention ed", + "Ġment ioned", + "o unce", + "ou nce", + "oun ce", + "ounc e", + "Ġ Try", + "ĠT ry", + "ĠTr y", + "Ġ Wall", + "ĠW all", + "ĠWal l", + "ĠWa ll", + "/ images", + "/image s", + "/im ages", + "Ġ Menu", + "ĠM enu", + "ĠMe nu", + "ĠMen u", + "' čĊ", + "Ġ Er", + "ĠE r", + "Ġc ritic", + "Ġcr itic", + "Ġcrit ic", + "Ġcri tic", + "Ġ Year", + "ĠY ear", + "ĠYe ar", + "( param", + "(p aram", + "(par am", + "(pa ram", + "(para m", + "Ġ flo", + "Ġf lo", + "Ġfl o", + "N N", + "o oter", + "oot er", + "oo ter", + "Ġ ];Ċ", + "Ġ] ;Ċ", + "Ġ]; Ċ", + "Ġ Aff", + "ĠA ff", + "ĠAf f", + "\" github", + "\"g ithub", + "ro oms", + "room s", + "Ġ hyp", + "Ġh yp", + "Ġhy p", + "g lobal", + "glob al", + "Ġ avec", + "Ġa vec", + "Ġav ec", + "Ġave c", + "æľ Ī", + "Ġ completion", + "Ġcom pletion", + "Ġcomp letion", + "Ġcomple tion", + "Ġcomplet ion", + "Ġ cond", + "Ġc ond", + "Ġcon d", + "Ġco nd", + "on ymous", + "onym ous", + "( temp", + "(t emp", + "(te mp", + "Ġ stars", + "Ġst ars", + "Ġstar s", + "Ġsta rs", + "Ġ relevant", + "Ġre levant", + "Ġrele vant", + "Ġrelev ant", + "Ġ covered", + "Ġcover ed", + "Ġcov ered", + "Ġ elim", + "Ġe lim", + "Ġel im", + "_ types", + "_t ypes", + "_type s", + "_typ es", + "_ty pes", + "( bool", + "(b ool", + "Ġ tu", + "Ġt u", + "_ exists", + "_ex ists", + "_exist s", + "Ġ secure", + "Ġs ecure", + "Ġsec ure", + "Ġ stored", + "Ġst ored", + "Ġstore d", + "Ġstor ed", + "Ġsto red", + "] /", + "x F", + "Ġ Controller", + "ĠCont roller", + "ĠControl ler", + "ĠContr oller", + "Ġm igr", + "Ġmi gr", + "Ġmig r", + "M I", + "Ġ Den", + "ĠD en", + "ĠDe n", + "Ġ annual", + "Ġann ual", + "U IL", + "UI L", + "- and", + "-a nd", + "-an d", + "Ġ crime", + "Ġcr ime", + "Ġcri me", + "Ġcrim e", + "b el", + "be l", + "Ġk itchen", + "Ġkit chen", + "@ g", + "_ ph", + "_p h", + "ourn ament", + "Ġ Social", + "ĠS ocial", + "ĠSo cial", + "ĠSoc ial", + "ĠSoci al", + "Ġ Special", + "ĠS pecial", + "ĠSp ecial", + "ĠSpec ial", + "ĠSpe cial", + "lo gger", + "log ger", + "logg er", + "Ġ tail", + "Ġt ail", + "Ġta il", + "Ġtai l", + "Ġ unknown", + "Ġun known", + "Ġunk nown", + "Ġunknow n", + "d ed", + "de d", + "Ġapp rec", + "Ġap prec", + "( db", + "(d b", + "c f", + "1 55", + "15 5", + "Ġ assign", + "Ġas sign", + "Ġass ign", + "- out", + "-o ut", + "Ġ Mont", + "ĠM ont", + "ĠMon t", + "ĠMo nt", + "d p", + "w idget", + "wid get", + "Ġ stone", + "Ġs tone", + "Ġst one", + "Ġsto ne", + "- primary", + "-pr imary", + ". grid", + ".g rid", + ".gr id", + "Res ults", + "Result s", + "a zz", + "az z", + "Ġ daughter", + "Ġda ughter", + "Ġ curr", + "Ġc urr", + "Ġcur r", + "Ġcu rr", + "1 75", + "17 5", + "Ġ lin", + "Ġl in", + "Ġli n", + "Ġ south", + "Ġs outh", + "Ġso uth", + "Ġsou th", + "Ġsout h", + "form s", + "fo rms", + "for ms", + "Ġ OUT", + "ĠO UT", + "ĠOU T", + "l ette", + "le tte", + "let te", + "lett e", + "a ks", + "ak s", + "ig ure", + "igu re", + "Ġ EU", + "ĠE U", + "var iable", + "vari able", + "Ġ brief", + "Ġb rief", + "Ġbr ief", + "Ġbri ef", + "Ġ Scott", + "ĠS cott", + "ĠSc ott", + "ĠScot t", + "ĠSco tt", + "Ġ conference", + "Ġcon ference", + "Ġconf erence", + "Ġconfer ence", + "a nda", + "an da", + "and a", + "_ lock", + "_l ock", + "_lo ck", + "_loc k", + "o ral", + "or al", + "ora l", + "Ġe ine", + "Ġein e", + "Ġei ne", + "O RS", + "OR S", + "//// ////////////////////////////////////////////////////////////", + "//////// ////////////////////////////////////////////////////////", + "//////////////// ////////////////////////////////////////////////", + "//////////////////////////////// ////////////////////////////////", + "//////////// ////////////////////////////////////////////////////", + "//////////////////////////////////////////////// ////////////////", + "//////////////////////////////////////////////////////// ////////", + "//////////////////////////////////////////////////////////// ////", + "//////////////////////////////////////////////////// ////////////", + "es so", + "ess o", + "Ġ ris", + "Ġr is", + "Ġri s", + "Ġ gender", + "Ġg ender", + "Ġge nder", + "Ġgen der", + "es tic", + "est ic", + "esti c", + "L icense", + "Lic ense", + "( out", + "(o ut", + "Ġ ms", + "Ġm s", + "S ee", + "Se e", + "Ġw illing", + "Ġwill ing", + "Ġwil ling", + "a ze", + "az e", + "Ġ sports", + "Ġs ports", + "Ġsp orts", + "Ġsport s", + "Ġspo rts", + "Ġspor ts", + "Ġ yes", + "Ġy es", + "Ġye s", + "l u", + "Ġp urs", + "Ġpur s", + "Ġpu rs", + "/ javascript", + "/j avascript", + "/java script", + "/jav ascript", + "- pro", + "-p ro", + "-pr o", + "nav bar", + "_ product", + "_pro duct", + "_prod uct", + "/ bootstrap", + "/boot strap", + "Ġdr iving", + "Ġdriv ing", + "Ġdri ving", + "Ġ Ä", + "Ġpro pos", + "Ġprop os", + "ul tip", + "ult ip", + "ulti p", + "up lic", + ". email", + ".e mail", + ".em ail", + "Ġ approx", + "Ġapp rox", + "Ġap prox", + "Ġappro x", + "( cl", + "(c l", + "Ġ wear", + "Ġw ear", + "Ġwe ar", + "Ġ reply", + "Ġre ply", + "Ġrep ly", + "Ġrepl y", + "as set", + "ass et", + "asse t", + "Ġ ice", + "Ġi ce", + "Ġic e", + "Ġ tx", + "Ġt x", + "k r", + "Ġ Germany", + "ĠGerman y", + "ĠGer many", + "ĠGerm any", + "Ġ George", + "ĠGe orge", + "ĠGeorg e", + "Ġ cb", + "Ġc b", + "ĉ err", + "ĉe rr", + "M ove", + "Mo ve", + "Mov e", + "Ġ poly", + "Ġp oly", + "Ġpol y", + "Ġpo ly", + "v oice", + "vo ice", + "} \"", + "Ġ animal", + "Ġan imal", + "Ġanim al", + "Ġani mal", + "A v", + "Ġ Location", + "ĠL ocation", + "ĠLo cation", + "ĠLoc ation", + "Ġ native", + "Ġn ative", + "Ġnat ive", + "] [\"", + "][ \"", + "< double", + " \"", + "s tat", + "st at", + "sta t", + "Ġ },čĊ", + "Ġ} ,čĊ", + "Ġ}, čĊ", + "< span", + " =", + "Ð ±", + "1 39", + "13 9", + "i va", + "iv a", + ". AutoSize", + ".Auto Size", + "Ġ Lat", + "ĠL at", + "ĠLa t", + "_ ext", + "_e xt", + "_ex t", + "Initial ize", + ". register", + ".reg ister", + "1 56", + "15 6", + "O PY", + "OP Y", + "Ġ reverse", + "Ġre verse", + "Ġrev erse", + "Ġrevers e", + "Ġrever se", + "_ dis", + "_d is", + "_di s", + "' ][", + "'] [", + "Ġ prompt", + "Ġp rompt", + "Ġprom pt", + "on to", + "ont o", + "Ġ Journal", + "ĠJ ournal", + "ĠJo urnal", + "r outer", + "ro uter", + "rou ter", + "route r", + "Ġ mysqli", + "Ġm ysqli", + "Ġmys qli", + "Ġmysql i", + "# else", + ") \"", + "- xs", + "-x s", + "l ets", + "le ts", + "let s", + "p han", + "ph an", + "pha n", + ". LE", + ".L E", + "1 37", + "13 7", + "W ill", + "Wil l", + "Wi ll", + "Ġaff ord", + "Ġaf ford", + "Ġ skill", + "Ġs kill", + "Ġsk ill", + "Ġski ll", + "- toggle", + "-t oggle", + "N C", + "B ind", + "Bin d", + "Bi nd", + "T S", + "J ust", + "Ju st", + "it eral", + "ite ral", + "iter al", + "Y P", + "ĉ unsigned", + "ĉun signed", + "Ġ wind", + "Ġw ind", + "Ġwin d", + "Ġwi nd", + "1 49", + "14 9", + ") ):Ċ", + ")) :Ċ", + ")): Ċ", + "Ġ warning", + "Ġw arning", + "Ġwar ning", + "Ġwarn ing", + "Ġ Water", + "ĠW ater", + "ĠWat er", + "ĠWa ter", + "Ġ draft", + "Ġd raft", + "Ġdr aft", + "Ġdra ft", + "Ġ cm", + "Ġc m", + "Ġ sam", + "Ġs am", + "Ġsa m", + "Ġ holding", + "Ġh olding", + "Ġhold ing", + "Ġhol ding", + "z ip", + "zi p", + "Ġ Science", + "ĠSc ience", + "ĠSci ence", + "Ġsup posed", + "Ġsuppose d", + "Ġsupp osed", + "G en", + "Ge n", + "Ġ diet", + "Ġd iet", + "Ġdi et", + "Ġdie t", + "< h", + "Ġ Pass", + "ĠP ass", + "ĠPa ss", + "ĠPas s", + "v i", + "Ġh usband", + "Ġhus band", + "� �", + "n ote", + "not e", + "no te", + "Ġ About", + "ĠA bout", + "ĠAb out", + "ĠIn stitute", + "ĠInstit ute", + "ĠInstitut e", + "Ġ climate", + "Ġcl imate", + "Ġclim ate", + "Ġcli mate", + ". Format", + ".Form at", + ".For mat", + "Ġ nut", + "Ġn ut", + "Ġnu t", + "e sted", + "es ted", + "est ed", + "este d", + "Ġapp arent", + "Ġap parent", + "Ġappar ent", + "Ġappare nt", + "Ġ holds", + "Ġh olds", + "Ġhold s", + "Ġho lds", + "Ġhol ds", + "f i", + "n ews", + "ne ws", + "new s", + "C M", + "v ideo", + "vid eo", + "vi deo", + "vide o", + "' :'", + "': '", + "D ITION", + "DI TION", + "p ing", + "pi ng", + "pin g", + "Ġsen ior", + "Ġseni or", + "w a", + "- ->Ċ", + "-- >Ċ", + "--> Ċ", + "_ default", + "_d efault", + "_de fault", + "_def ault", + "Ġ Database", + "ĠD atabase", + "ĠData base", + "ĠDat abase", + "r ep", + "re p", + "E SS", + "ES S", + "n ergy", + "ner gy", + "nerg y", + ". Find", + ".F ind", + "_ mask", + "_m ask", + "_ma sk", + "_mas k", + "Ġ rise", + "Ġr ise", + "Ġris e", + "Ġri se", + "Ġ kernel", + "Ġk ernel", + "Ġker nel", + "Ġkern el", + ": :$", + ":: $", + ". Q", + "Ġoff ering", + "Ġoffer ing", + "de cl", + "dec l", + "Ġ CS", + "ĠC S", + "Ġ listed", + "Ġl isted", + "Ġli sted", + "Ġlist ed", + "Ġliste d", + "Ġlis ted", + "Ġ mostly", + "Ġmost ly", + "e nger", + "en ger", + "eng er", + "enge r", + "Ġ blocks", + "Ġb locks", + "Ġbl ocks", + "Ġblock s", + "Ġblo cks", + "Ġbloc ks", + "o lo", + "ol o", + "Ġgover ning", + "Ġgovern ing", + "\\ F", + "Ġcon cent", + "Ġconc ent", + "Ġconce nt", + ". getText", + ".get Text", + "Ġ mb", + "Ġm b", + "Ġocc urred", + "Ġoccur red", + "Ġ changing", + "Ġch anging", + "Ġchang ing", + "Ġchan ging", + "S cene", + "Sc ene", + "_ CODE", + "_C ODE", + "_CO DE", + "_COD E", + "B eh", + "Be h", + "\" The", + "\"T he", + "Ġ tile", + "Ġt ile", + "Ġti le", + "Ġtil e", + "Ġ Association", + "ĠAssoci ation", + "ĠAssoc iation", + "ĉ P", + "al ty", + "alt y", + "_ ad", + "_a d", + "od ies", + "odi es", + "odie s", + "i ated", + "ia ted", + "iate d", + "iat ed", + "Ġ prepared", + "Ġpre pared", + "Ġprepar ed", + "Ġprepare d", + "Ġprep ared", + "p ossible", + "poss ible", + "Ġ mort", + "Ġm ort", + "Ġmor t", + "Ġmo rt", + "T EST", + "TE ST", + "TES T", + "1 42", + "14 2", + "Ġ ignore", + "Ġi gnore", + "Ġign ore", + "Ġig nore", + "Ġignor e", + "Ġ calc", + "Ġc alc", + "Ġcal c", + "Ġca lc", + "Ġ rs", + "Ġr s", + "Ġ assertEquals", + "Ġassert Equals", + "Ġ sz", + "Ġs z", + "Ġ THIS", + "ĠTH IS", + ". \"Ċ", + ".\" Ċ", + "Ġ canvas", + "Ġc anvas", + "Ġcan vas", + "Ġcanv as", + "j ava", + "ja va", + "jav a", + "Ġd ut", + "Ġdu t", + "VAL ID", + ". sql", + ".s ql", + ". input", + ".in put", + "Ġ aux", + "Ġa ux", + "Ġau x", + "S up", + "Su p", + "Ġ artist", + "Ġart ist", + "V ec", + "Ve c", + "_ TIME", + "_T IME", + "_TIM E", + "_TI ME", + ".string ify", + "et ween", + "Ġ Category", + "ĠC ategory", + "Ġ [-", + "Ġ[ -", + "Ġ DevExpress", + "ĠDev Express", + "Ġ Jul", + "ĠJ ul", + "ĠJu l", + "Ġ ring", + "Ġr ing", + "Ġri ng", + "Ġrin g", + ". ed", + ".e d", + "Y Y", + "L et", + "Le t", + "T extField", + "Text Field", + "Ġ flat", + "Ġf lat", + "Ġfl at", + "Ġfla t", + "_ print", + "_p rint", + "_pr int", + "_pri nt", + "Ġ OTHER", + "ĠOT HER", + "ad ian", + "adi an", + "adia n", + "Ġ checked", + "Ġcheck ed", + "e le", + "el e", + "Al ign", + "Ali gn", + "st anding", + "stand ing", + "stan ding", + "Ġ [],", + "Ġ[ ],", + "Ġ[] ,", + "Ġ lab", + "Ġl ab", + "Ġla b", + "u cky", + "uc ky", + "uck y", + "Ġ Christmas", + "ĠChrist mas", + "( image", + "(i mage", + "(im age", + ". module", + ".m odule", + ".mod ule", + "Ġ lots", + "Ġl ots", + "Ġlo ts", + "Ġlot s", + "Ġs lightly", + "Ġsl ightly", + "Ġslight ly", + "( final", + "(f inal", + "(fin al", + "(fi nal", + "er ge", + "erg e", + "è ¿", + "1 47", + "14 7", + "Ġ Police", + "ĠPol ice", + "ĠPo lice", + "ĠPolic e", + "1 43", + "14 3", + "Ġ Right", + "ĠR ight", + "ĠRig ht", + "ĠRi ght", + "Ġ award", + "Ġa ward", + "Ġaw ard", + "Ġ OS", + "ĠO S", + "Ġ {}ĊĊ", + "Ġ{ }ĊĊ", + "Ġ{} ĊĊ", + "Ġ{}Ċ Ċ", + "Ġ ptr", + "Ġp tr", + "Ġpt r", + "o ves", + "ov es", + "ove s", + "ic ated", + "ica ted", + "icate d", + "е м", + "еР¼", + "Ġ manage", + "Ġman age", + "Ġma nage", + "Ġmana ge", + "ol iday", + "olid ay", + "oli day", + "A mount", + "Am ount", + "ool Strip", + "t body", + "tb ody", + "N av", + "Na v", + "w rap", + "wr ap", + "B B", + "Ġw atching", + "Ġwatch ing", + "Ġwat ching", + "a rios", + "ar ios", + "ari os", + "ario s", + "Ġ optional", + "Ġoption al", + "Ġopt ional", + "_ K", + "Ġ Licensed", + "ĠL icensed", + "ĠLicense d", + "ĠLic ensed", + ". Map", + ".M ap", + ".Ma p", + "T imer", + "Time r", + "Tim er", + "Ti mer", + "Ġ AP", + "ĠA P", + "Ġ Rev", + "ĠR ev", + "ĠRe v", + "( o", + ", c", + "u min", + "um in", + "umi n", + "et ailed", + "etail ed", + "eta iled", + "Ġ Hy", + "ĠH y", + "Ġ blank", + "Ġbl ank", + "Ġbla nk", + "a gger", + "ag ger", + "agg er", + "Ġ Self", + "ĠS elf", + "ĠSe lf", + "ĠSel f", + "( )[", + "() [", + ". make", + ".m ake", + ".ma ke", + "e arn", + "ear n", + "ea rn", + "ch annel", + "chan nel", + "< pre", + "

;Ċ", + ">; Ċ", + "W orld", + "Ġ python", + "Ġp ython", + "Ġpy thon", + "Ġpyt hon", + "Ġ lif", + "Ġl if", + "Ġli f", + "Ġt rav", + "Ġtr av", + "Ġtra v", + "Ġcon ven", + "Ġconv en", + "com pany", + "comp any", + "compan y", + "Ġ Club", + "ĠC lub", + "ĠCl ub", + "1 38", + "13 8", + "V er", + "Ve r", + "B tn", + "Ġ zone", + "Ġz one", + "Ġzo ne", + "product s", + "produ cts", + "Ġ Educ", + "ĠE duc", + "ĠEd uc", + "ĠEdu c", + "Ġ verify", + "Ġver ify", + "Ġveri fy", + "Ġ Mil", + "ĠM il", + "ĠMi l", + "o no", + "on o", + "] );ĊĊ", + "]) ;ĊĊ", + "]);Ċ Ċ", + "]); ĊĊ", + "EN CE", + "ENC E", + "Ġ packet", + "Ġp acket", + "Ġpack et", + "Ġpa cket", + "Ġpac ket", + "Ġ cer", + "Ġc er", + "Ġce r", + "Ġ enumer", + "Ġe numer", + "Ġen umer", + "Ġenum er", + "Ġ pars", + "Ġp ars", + "Ġpar s", + "Ġpa rs", + "form ed", + "for med", + "forme d", + "Ġ occup", + "Ġocc up", + "Ġoc cup", + "t re", + "tr e", + "Ġ exercise", + "Ġex ercise", + "Ġexerc ise", + "D ay", + "Da y", + "_ sum", + "_s um", + "_su m", + "Ġ asking", + "Ġas king", + "Ġask ing", + "a ption", + "ap tion", + "apt ion", + "Ġ orders", + "Ġor ders", + "Ġorder s", + "Ġord ers", + "Ġs pending", + "Ġsp ending", + "Ġspend ing", + "Ġ ERR", + "ĠE RR", + "ĠER R", + ". Dis", + ".D is", + ".Di s", + "Ġ Util", + "ĠU til", + "ĠUt il", + "âĢľ I", + "\\ '", + "? )", + "/ >Ċ", + "/> Ċ", + "Ġe mot", + "Ġem ot", + "Ġemo t", + "Ġin fluence", + "Ġinflu ence", + "Ġ Africa", + "ĠA frica", + "ĠAfr ica", + "ĠAf rica", + "at ters", + "att ers", + "atter s", + "atte rs", + "Ù ħ", + ". session", + ".s ession", + ".sess ion", + "Ġ chief", + "Ġch ief", + "Ġchi ef", + "ĉ ĉĉĉĉĉĉĉĉĉĉ", + "ĉĉ ĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉ ĉĉĉĉĉĉĉ", + "ĉĉĉ ĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉ ĉĉĉĉĉĉ", + "ĉĉĉĉĉĉ ĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉ ĉĉĉ", + "ĉĉĉĉĉĉĉ ĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉ ĉĉ", + "ĉĉĉĉĉĉĉĉĉĉ ĉ", + "Ġ tom", + "Ġt om", + "Ġto m", + "cl uded", + "clude d", + "clud ed", + "s erial", + "se rial", + "ser ial", + "_ handler", + "_h andler", + "_handle r", + "_hand ler", + ". Type", + ".T ype", + "a ped", + "ap ed", + "ape d", + "Ġp olicies", + "Ġpol icies", + "Ġpolic ies", + "- ex", + "-e x", + "- tr", + "-t r", + "bl ank", + "bla nk", + "m erce", + "mer ce", + "merc e", + "Ġ coverage", + "Ġco verage", + "Ġcover age", + "Ġ rc", + "Ġr c", + "_ matrix", + "_m atrix", + "_mat rix", + "_ box", + "_b ox", + "_bo x", + "Ġ charges", + "Ġch arges", + "Ġchar ges", + "Ġcharg es", + "Ġcharge s", + "Ġ Boston", + "ĠB oston", + "ĠBo ston", + "ĠBos ton", + "P e", + "Ġcirc um", + "Ġcir cum", + "Ġ filled", + "Ġf illed", + "Ġfil led", + "Ġfill ed", + "Ġfille d", + "1 48", + "14 8", + "Ġ north", + "Ġn orth", + "Ġnor th", + "icture Box", + "ĉ res", + "ĉr es", + "ĉre s", + "è ®", + "Ġ termin", + "Ġter min", + "Ġterm in", + "Ġ [â̦", + "Ġ[ â̦", + "I RECT", + "IR ECT", + "IRE CT", + "Ġ ber", + "Ġb er", + "Ġbe r", + "Ġ\" ../../", + "Ġ\"../ ../", + "Ġ\".. /../", + "r etch", + "ret ch", + ". code", + ".c ode", + ".co de", + ".cod e", + "_ col", + "_c ol", + "_co l", + "Ġ Government", + "ĠG overnment", + "ĠGovern ment", + "Ġ argv", + "Ġar gv", + "Ġarg v", + "Ġ Lord", + "ĠL ord", + "ĠLo rd", + "ĠLor d", + "a si", + "as i", + "E xec", + "Ex ec", + "ĉ let", + "ĉl et", + "vert is", + "Ġ discussion", + "Ġdisc ussion", + "Ġdiscuss ion", + "en ance", + "ena nce", + "enan ce", + "ou tube", + "out ube", + "outu be", + "type of", + "typ eof", + "Ġs erved", + "Ġser ved", + "Ġserv ed", + "Ġserve d", + "Ġ Put", + "ĠP ut", + "ĠPu t", + "ĉ x", + "Ġ sweet", + "Ġs weet", + "Ġswe et", + "B efore", + "Be fore", + "ate gy", + "ateg y", + ". of", + ".o f", + "Ġ Material", + "ĠM aterial", + "ĠMat erial", + "ĠMate rial", + "ĠMater ial", + "S ort", + "So rt", + "O NT", + "ON T", + "ig ital", + "igit al", + "igi tal", + "W hy", + "Wh y", + "Ġs ust", + "Ġsu st", + "Ġsus t", + "Ġ ç", + "a bet", + "ab et", + "abe t", + "Ġ segment", + "Ġs egment", + "Ġse gment", + "Ġseg ment", + "Ġ [],Ċ", + "Ġ[ ],Ċ", + "Ġ[] ,Ċ", + "Ġ[], Ċ", + "Ġ Muslim", + "ĠM uslim", + "ĠMus lim", + "Ġ findViewById", + "Ġfind ViewById", + "c ut", + "cu t", + "_ TEXT", + "_T EXT", + "_TE XT", + "_TEX T", + "Ġ Mary", + "ĠM ary", + "ĠMar y", + "ĠMa ry", + "Ġl oved", + "Ġlo ved", + "Ġlove d", + "Ġlov ed", + "Ġ lie", + "Ġl ie", + "Ġli e", + "Ġ JO", + "ĠJ O", + "Ġ isset", + "Ġis set", + "Ġiss et", + "m onth", + "mon th", + "mo nth", + "mont h", + "Ġ prime", + "Ġpr ime", + "Ġprim e", + "Ġpri me", + "t i", + "Ġ Carol", + "ĠCar ol", + "ĠCa rol", + "U se", + "Us e", + "1 46", + "14 6", + "Ġ Pop", + "ĠP op", + "ĠPo p", + "Ġ Save", + "ĠS ave", + "ĠSa ve", + "ĠSav e", + "Int erval", + "Inter val", + "ex ecute", + "exec ute", + "d y", + "Ġ Iran", + "ĠI ran", + "ĠIr an", + "_ cont", + "_c ont", + "_con t", + "_co nt", + "ĉ T", + "Ġ phase", + "Ġph ase", + "Ġpha se", + "check box", + "we ek", + "Ġ hide", + "Ġh ide", + "Ġhi de", + "Ġhid e", + "Ġ til", + "Ġt il", + "Ġti l", + "Ġ ju", + "Ġj u", + "C ustom", + "b urg", + "bur g", + "bu rg", + "/ M", + "T ON", + "TO N", + "Ġ quant", + "Ġqu ant", + "Ġq uant", + "Ġqua nt", + "Ġquan t", + "Ġ rub", + "Ġr ub", + "Ġru b", + "ix els", + "ixel s", + "ixe ls", + "Ġ installed", + "Ġinst alled", + "Ġinstall ed", + "Ġinstal led", + "Ġ dump", + "Ġd ump", + "Ġdu mp", + "Ġdum p", + "Ġproper ly", + "( List", + "(L ist", + "Ġdec ide", + "Ġdecid e", + "ap ply", + "app ly", + "appl y", + "H as", + "Ha s", + "Ġ keeping", + "Ġke eping", + "Ġkeep ing", + "Ġcit izens", + "Ġcitiz ens", + "Ġcitizen s", + "Ġ joint", + "Ġj oint", + "Ġjoin t", + "Ġjo int", + "p ool", + "po ol", + "S ocket", + "So cket", + "Sock et", + "_ op", + "_o p", + "Ġ weapon", + "Ġwe apon", + "Ġweap on", + "g nore", + "gn ore", + "Ġ Exec", + "ĠE xec", + "ĠEx ec", + "ot ten", + "ott en", + "otte n", + "Ġ MS", + "ĠM S", + "Ġ (-", + "Ġ( -", + "Ġ Review", + "ĠR eview", + "ĠRe view", + "ĠRev iew", + "Ġ examples", + "Ġex amples", + "Ġexample s", + "Ġexam ples", + "Ġ tight", + "Ġt ight", + "Ġti ght", + "! (", + "D P", + "Ġ MessageBox", + "ĠMessage Box", + "Ġphot ograph", + "Ġphoto graph", + "1 64", + "16 4", + "U RI", + "UR I", + "é t", + "l ow", + "lo w", + "Ġ Grand", + "ĠG rand", + "ĠGr and", + "ĠGran d", + "ĠGra nd", + ".p ersistence", + ".persist ence", + "Ġmain tain", + "Ġmaint ain", + "Ġ nums", + "Ġn ums", + "Ġnum s", + "Ġnu ms", + "Ġ zip", + "Ġz ip", + "Ġzi p", + "i als", + "ial s", + "ia ls", + "Ġ Gets", + "ĠG ets", + "ĠGet s", + "ĠGe ts", + "p eg", + "pe g", + "Ġ Buffer", + "ĠB uffer", + "ĠBuff er", + "ĠBu ffer", + "ĠBuf fer", + "~~ ~~", + "ra structure", + "Ġ PL", + "ĠP L", + "u en", + "ue n", + "ob by", + "obb y", + "size of", + "siz eof", + "Ġ pic", + "Ġp ic", + "Ġpi c", + "Ġ seed", + "Ġs eed", + "Ġse ed", + "Ġsee d", + "Ġex perienced", + "Ġexperience d", + "Ġexperi enced", + "Ġ odd", + "Ġo dd", + "Ġod d", + "Ġ kick", + "Ġk ick", + "Ġki ck", + "Ġ procedure", + "Ġpro cedure", + "Ġproced ure", + "av igator", + "avig ator", + "- on", + "-o n", + ", j", + "Ġ Although", + "ĠAl though", + "Ġ userId", + "Ġuser Id", + "ac cept", + "acc ept", + "B lue", + "Bl ue", + "I Color", + "IC olor", + "l ayer", + "la yer", + "lay er", + "a vailable", + "av ailable", + "avail able", + "Ġ ends", + "Ġe nds", + "Ġen ds", + "Ġend s", + ". table", + ".t able", + ".tab le", + ".ta ble", + "Ġ dataset", + "Ġd ataset", + "Ġdata set", + "Ġdat aset", + "Ġdatas et", + "b us", + "bu s", + "Ġ explain", + "Ġex plain", + "Ġexp lain", + "Ġexpl ain", + "( pro", + "(p ro", + "(pr o", + "ĠCommit tee", + "Ġn oted", + "Ġnot ed", + "Ġno ted", + "Ġnote d", + "] :Ċ", + "]: Ċ", + "D im", + "Di m", + "st dio", + "std io", + "1 54", + "15 4", + ". \",Ċ", + ".\" ,Ċ", + ".\", Ċ", + "_ source", + "_s ource", + "1 81", + "18 1", + "Ġ Week", + "ĠWe ek", + "Ġ Edge", + "ĠE dge", + "ĠEd ge", + "Ġoper ating", + "Ġopera ting", + "Ġ este", + "Ġe ste", + "Ġes te", + "Ġest e", + "i pl", + "ip l", + "3 30", + "33 0", + "ag ination", + "agi nation", + "agina tion", + "Ġpro ceed", + "Ġproc eed", + "Ġ animation", + "Ġan imation", + "Ġanim ation", + ". Models", + ".Model s", + ".Mod els", + ".Mode ls", + "Ġ Watch", + "ĠW atch", + "ĠWat ch", + "i at", + "ia t", + "Ġop pon", + "Ġopp on", + "/ A", + "Re port", + "Rep ort", + "Repo rt", + "Ġ sounds", + "Ġs ounds", + "Ġso unds", + "Ġsound s", + "Ġsou nds", + "_ buf", + "_b uf", + "IE LD", + "IEL D", + "Ġb und", + "Ġbu nd", + "Ġbun d", + "ĉ get", + "ĉg et", + ". pr", + ".p r", + "( tmp", + "(t mp", + "(tm p", + "Ġ kid", + "Ġk id", + "Ġki d", + "> ĊĊĊ", + ">Ċ ĊĊ", + ">ĊĊ Ċ", + "Ġ yang", + "Ġy ang", + "Ġya ng", + "Ġyan g", + "Not Found", + "Ñ Ĩ", + "m ath", + "ma th", + "mat h", + "@ gmail", + "@g mail", + "Ġ LIMIT", + "ĠL IMIT", + "ĠLI MIT", + "red ients", + "redient s", + "redi ents", + "Ġ vent", + "Ġv ent", + "Ġve nt", + "Ġven t", + "av igate", + "avig ate", + "avi gate", + "L ook", + "Lo ok", + "Ġ religious", + "Ġrel igious", + "Ġrelig ious", + "Ġ rand", + "Ġr and", + "Ġran d", + "Ġra nd", + "r io", + "ri o", + "( GL", + "(G L", + "_ ip", + "_i p", + "u an", + "ua n", + "ici ency", + "icie ncy", + "Ġ Change", + "ĠCh ange", + "ĠCha nge", + "ĠChan ge", + "ĠChang e", + "> čĊčĊ", + ">čĊ čĊ", + "Ġ Entity", + "ĠE ntity", + "ĠEnt ity", + "Ġren contre", + "Ġrencont re", + "Ġrencontr e", + "Ġ Ret", + "ĠR et", + "ĠRe t", + "p lan", + "pl an", + "pla n", + "é n", + "BO OL", + "u ries", + "ur ies", + "uri es", + "t rain", + "tr ain", + "tra in", + "Def inition", + "= ===========", + "== ==========", + "==== ========", + "======== ====", + "=== =========", + "=========== =", + "========= ===", + "========== ==", + "====== ======", + "===== =======", + "======= =====", + "z z", + "4 50", + "45 0", + "An imation", + "Anim ation", + "Ġ OK", + "ĠO K", + "_ menu", + "_m enu", + "_me nu", + ". bl", + ".b l", + "_ score", + "_s core", + "_sc ore", + "Ġ acad", + "Ġa cad", + "Ġac ad", + "( System", + "(S ystem", + "Ġ refresh", + "Ġre fresh", + "Ġref resh", + "Ġrefr esh", + "' =>$", + "'=> $", + "'= >$", + ". Graphics", + ".G raphics", + ".Graph ics", + "am ento", + "ament o", + "amen to", + "p id", + "pi d", + "t c", + "Ġ tips", + "Ġt ips", + "Ġti ps", + "Ġtip s", + "Ġ homes", + "Ġh omes", + "Ġhome s", + "Ġhom es", + "Ġho mes", + "Ġ fuel", + "Ġf uel", + "Ġfu el", + "Ġfue l", + "â ĸ", + "_ helper", + "_h elper", + "_help er", + "Ġ ĠčĊ", + "ĠĠ čĊ", + "Ġ Room", + "ĠR oom", + "ĠRo om", + "ĠRoo m", + ". Close", + ".C lose", + ".Cl ose", + "_ attr", + "_at tr", + "_att r", + "Ġ Mount", + "ĠM ount", + "ĠMo unt", + "ĠMou nt", + "Ġ Ev", + "ĠE v", + "ar ser", + "ars er", + "arse r", + "_ top", + "_t op", + "_to p", + "e ah", + "ea h", + "Ġ Delete", + "ĠDe lete", + "ĠDel ete", + "ãĢ į", + "u ke", + "uk e", + "Ġ usage", + "Ġu sage", + "Ġus age", + "Ġusa ge", + "a ria", + "ar ia", + "ari a", + "_ dev", + "_d ev", + "_de v", + "Ġ texture", + "Ġtext ure", + "Ġtex ture", + "Ġtextu re", + "Ġ conversation", + "Ġcon versation", + "Ġconvers ation", + "e per", + "ep er", + "B ean", + "Be an", + "d one", + "do ne", + "don e", + "non atomic", + "Ġ Second", + "ĠSe cond", + "ĠSec ond", + "Ġsh ooting", + "Ġshoot ing", + "Ġsho oting", + "_ pre", + "_p re", + "_pr e", + "Com ponents", + "Component s", + "Comp onents", + "Ġ ]ĊĊ", + "Ġ] ĊĊ", + "Ġ]Ċ Ċ", + "_ _,", + "__ ,", + "st itution", + "stit ution", + ". Char", + ".C har", + ".Ch ar", + "> ();ĊĊ", + ">( );ĊĊ", + ">();Ċ Ċ", + ">() ;ĊĊ", + ">(); ĊĊ", + "Ġpres ented", + "Ġpresent ed", + "Ġpresente d", + "Ġ wa", + "Ġw a", + "o ker", + "ok er", + "oke r", + "- ĊĊ", + "-Ċ Ċ", + "i ner", + "in er", + "ine r", + "Ġbe coming", + "Ġbec oming", + "Ġ incident", + "Ġinc ident", + "Ġincid ent", + "A tt", + "At t", + "1 62", + "16 2", + "Ġreve aled", + "Ġreveal ed", + "f orc", + "fo rc", + "for c", + "Ġ boot", + "Ġb oot", + "Ġbo ot", + "Ġboo t", + ". page", + ".p age", + ".pa ge", + ".pag e", + "En umerator", + "Enumer ator", + "Enum erator", + "1 65", + "16 5", + "_ ->", + "_- >", + "Ph oto", + "Phot o", + "Ġ spring", + "Ġs pring", + "Ġsp ring", + "Ġspr ing", + ". \",", + ".\" ,", + "Ġ Dictionary", + "ĠD ictionary", + "B JECT", + "BJ ECT", + "Ġ locations", + "Ġl ocations", + "Ġloc ations", + "Ġlocation s", + "Ġ samples", + "Ġs amples", + "Ġsample s", + "Ġsam ples", + "Ġsamp les", + "Input Stream", + "Ġ Brown", + "ĠB rown", + "ĠBr own", + "ĠBro wn", + "ĠBrow n", + "Ġ stats", + "Ġst ats", + "Ġstat s", + "Ġsta ts", + "q uality", + "qu ality", + "qual ity", + "Ñ ħ", + "- dis", + "-d is", + "-di s", + "Ġhelp ing", + "Ġhel ping", + "Ġ ped", + "Ġp ed", + "Ġpe d", + "2 24", + "22 4", + "( se", + "(s e", + "Ġ Who", + "ĠW ho", + "ĠWh o", + "a lian", + "al ian", + "ali an", + "alia n", + "in ternal", + "int ernal", + "inter nal", + "intern al", + "Ġ ft", + "Ġf t", + "> ().", + ">( ).", + ">() .", + "- >{", + "-> {", + "Ġ mine", + "Ġm ine", + "Ġmin e", + "Ġmi ne", + "Ġ sector", + "Ġs ector", + "Ġse ctor", + "Ġsec tor", + "Ġsect or", + "Ġ gro", + "Ġg ro", + "Ġgr o", + "Ġopport unities", + "Ġopportun ities", + "Ġ ü", + "Ġà ¼", + "Ġ mp", + "Ġm p", + "Ġalleg ed", + "Ġalle ged", + "Ġallege d", + "Ġdoub t", + "Ġdou bt", + "M ouse", + "Mo use", + "A bout", + "Ab out", + "_ part", + "_p art", + "_par t", + "_pa rt", + "Ġ chair", + "Ġc hair", + "Ġch air", + "Ġcha ir", + "Ġchai r", + "Ġ stopped", + "Ġst opped", + "Ġstop ped", + "Ġsto pped", + "1 61", + "16 1", + "l oop", + "lo op", + "loo p", + "ent ities", + "enti ties", + "Ġ apps", + "Ġa pps", + "Ġapp s", + "Ġap ps", + "ans ion", + "ansi on", + "Ġ mental", + "Ġm ental", + "Ġmen tal", + "Ġment al", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "F R", + "Ġdef end", + "Ġdefe nd", + "c are", + "ca re", + "car e", + "Ġ ideal", + "Ġi deal", + "Ġide al", + "Ġidea l", + "/ api", + "/a pi", + "/ap i", + "ur face", + "urf ace", + "0 11", + "01 1", + "Ġ ele", + "Ġe le", + "Ġel e", + "u lator", + "ul ator", + "ula tor", + "Ġ Rights", + "ĠR ights", + "ĠRight s", + "angu ages", + "anguage s", + "Ġf unds", + "Ġfun ds", + "Ġfund s", + "Ġfu nds", + "Ġ adapt", + "Ġad apt", + "Ġada pt", + "Ġadap t", + "At tributes", + "Attribute s", + "Attrib utes", + "Ġ deploy", + "Ġde ploy", + "Ġdep loy", + "o pts", + "op ts", + "opt s", + "Ġ validation", + "Ġvalid ation", + "Ġvalida tion", + "Ġconcern s", + "u ce", + "uc e", + ". num", + ".n um", + "ul ture", + "ult ure", + "ultur e", + "i la", + "il a", + "Ġ cup", + "Ġc up", + "Ġcu p", + "Ġ pure", + "Ġp ure", + "Ġpur e", + "Ġpu re", + ". Fore", + ".F ore", + ".For e", + "1 83", + "18 3", + "Ġ HashMap", + "ĠHash Map", + ". valueOf", + ".value Of", + "a sm", + "as m", + "M O", + "Ġ cs", + "Ġc s", + "Ġ stores", + "Ġst ores", + "Ġstore s", + "Ġstor es", + "Ġsto res", + "Ġ ************************************************************************", + "Ġ**************************************************************** ********", + "Ġ******************************** ****************************************", + "Ġ******** ****************************************************************", + "Ġ**************** ********************************************************", + "Ġ************************ ************************************************", + "Ġ**************************************** ********************************", + "Ġ******************************************************** ****************", + "Ġ************************************************ ************************", + "Ġ communication", + "Ġcomm unication", + "Ġcommunic ation", + "Ġcommun ication", + "m em", + "me m", + ". EventHandler", + ".Event Handler", + ". Status", + ".S tatus", + ".St atus", + ".Stat us", + "_ right", + "_r ight", + ".set On", + "S heet", + "She et", + "Ġ identify", + "Ġident ify", + "ener ated", + "ene rated", + "enerate d", + "ord ered", + "order ed", + "orde red", + "Ġ \"[", + "Ġ\" [", + "Ġs we", + "Ġsw e", + "Con dition", + "Cond ition", + "Ġ According", + "ĠA ccording", + "ĠAcc ording", + "ĠAccord ing", + "Ġ prepare", + "Ġpre pare", + "Ġprepar e", + "Ġprep are", + "Ġ rob", + "Ġr ob", + "Ġro b", + "P ool", + "Po ol", + "Ġ sport", + "Ġs port", + "Ġsp ort", + "Ġspo rt", + "Ġspor t", + "r v", + "Ġ Router", + "ĠR outer", + "ĠRoute r", + "ĠRo uter", + "ĠRou ter", + "ĠRout er", + "Ġ alternative", + "Ġaltern ative", + "Ġalter native", + "( []", + "([ ]", + "Ġ Chicago", + "ĠCh icago", + "ĠChic ago", + "i pher", + "ip her", + "iph er", + "is che", + "isc he", + "isch e", + "Ġ Director", + "ĠD irector", + "ĠDirect or", + "ĠDir ector", + "ĠDire ctor", + "k l", + "Ġ Wil", + "ĠW il", + "ĠWi l", + "ke ys", + "key s", + "Ġ mysql", + "Ġm ysql", + "Ġmy sql", + "Ġmys ql", + "Ġ welcome", + "Ġw elcome", + "Ġwel come", + "k ing", + "ki ng", + "kin g", + "Ġ Manager", + "ĠM anager", + "ĠMan ager", + "ĠManage r", + "ĠMana ger", + "Ġ caught", + "Ġca ught", + ") }Ċ", + ")} Ċ", + "S core", + "Sc ore", + "_ PR", + "_P R", + "Ġ survey", + "Ġs urvey", + "Ġsur vey", + "Ġsurv ey", + "Ġsurve y", + "h ab", + "ha b", + "He aders", + "Header s", + "Head ers", + "A DER", + "AD ER", + "ADE R", + "Ġ decor", + "Ġde cor", + "Ġdec or", + "Ġdeco r", + "Ġturn s", + "Ġtur ns", + "Ġ radius", + "Ġr adius", + "Ġrad ius", + "Ġradi us", + "er rupt", + "err upt", + "C or", + "Co r", + "Ġ mel", + "Ġm el", + "Ġme l", + "Ġ intr", + "Ġin tr", + "Ġint r", + "( q", + "Ġ AC", + "ĠA C", + "a mos", + "am os", + "amo s", + "M AX", + "MA X", + "Ġ Grid", + "ĠG rid", + "ĠGr id", + "ĠGri d", + "Ġ Jesus", + "ĠJ esus", + "ĠJes us", + "ĠJe sus", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + ". DE", + ".D E", + "Ġ ts", + "Ġt s", + "Ġ linked", + "Ġlink ed", + "Ġlin ked", + "f ree", + "fr ee", + "fre e", + "Ġ Qt", + "ĠQ t", + "Ġ /**čĊ", + "Ġ/ **čĊ", + "Ġ/* *čĊ", + "Ġ/** čĊ", + "Ġf aster", + "Ġfa ster", + "Ġfast er", + "Ġfas ter", + "c tr", + "ct r", + "_ J", + "D T", + ". Check", + ".C heck", + ".Ch eck", + "Ġ combination", + "Ġcomb ination", + "Ġcombin ation", + "Ġint ended", + "Ġintend ed", + "- the", + "-t he", + "-th e", + "- type", + "-t ype", + "1 82", + "18 2", + "e ctors", + "ect ors", + "ec tors", + "ector s", + "a mi", + "am i", + "u ting", + "ut ing", + "uti ng", + "utin g", + "Ġ uma", + "Ġu ma", + "Ġum a", + "X ML", + "XM L", + "U CT", + "UC T", + "A p", + "Ġ Random", + "ĠR andom", + "ĠRand om", + "ĠRan dom", + "Ġ ran", + "Ġr an", + "Ġra n", + ". sort", + ".s ort", + ".so rt", + "Ġ sorted", + "Ġs orted", + "Ġsort ed", + "Ġsor ted", + "Ġsorte d", + ". Un", + ".U n", + "4 01", + "40 1", + "_ PER", + "_P ER", + "_PE R", + "it ory", + "itor y", + "ito ry", + "Ġ priority", + "Ġp riority", + "Ġprior ity", + "Ġpriorit y", + "Ġ Gal", + "ĠG al", + "ĠGa l", + "Ġ Old", + "ĠO ld", + "ĠOl d", + "h ot", + "ho t", + "Ġ Display", + "ĠD isplay", + "ĠDis play", + "ĠDisp lay", + "( sub", + "(s ub", + "_ TH", + "_T H", + "_ Y", + "Ġ Care", + "ĠC are", + "ĠCar e", + "ĠCa re", + "lo ading", + "load ing", + "K ind", + "Kin d", + "Ki nd", + "_ handle", + "_h andle", + "_hand le", + ", ,", + "r ase", + "ra se", + "ras e", + "_ replace", + "_re place", + "_rep lace", + ". addEventListener", + ".add EventListener", + "Ġ RT", + "ĠR T", + "1 72", + "17 2", + "Ġ entered", + "Ġen tered", + "Ġent ered", + "Ġenter ed", + "g ers", + "ge rs", + "ger s", + "Ġ ich", + "Ġi ch", + "Ġic h", + "( start", + "(st art", + "2 05", + "20 5", + "/ app", + "/a pp", + "/ap p", + "Ġbr other", + "Ġbro ther", + "Ġbroth er", + "M emory", + "Mem ory", + "Memo ry", + "Out let", + "Ġ utf", + "Ġu tf", + "Ġut f", + "p rec", + "pr ec", + "pre c", + "Ġ navigation", + "Ġn avigation", + "Ġnav igation", + "Ġnavig ation", + "O RK", + "OR K", + "Ġ dst", + "Ġd st", + "Ġds t", + "D etail", + "De tail", + "Det ail", + "Ġaud ience", + "Ġaudi ence", + "Ġ dur", + "Ġd ur", + "Ġdu r", + "Ġ cluster", + "Ġcl uster", + "un ched", + "unc hed", + "unch ed", + "Ġ ],", + "Ġ] ,", + "Ġcomfort able", + ". values", + ".value s", + ".val ues", + "Ġ Total", + "ĠT otal", + "ĠTo tal", + "ĠTot al", + "Ġ snap", + "Ġs nap", + "Ġsn ap", + "Ġsna p", + "Ġstand ards", + "Ġstandard s", + "Ġper formed", + "Ġperform ed", + "Ġperfor med", + "h and", + "ha nd", + "han d", + "( \"@", + "(\" @", + "å Ń", + "Ġ phil", + "Ġp hil", + "Ġph il", + "Ġphi l", + "i br", + "ib r", + "t rim", + "tr im", + "tri m", + "Ġ forget", + "Ġf orget", + "Ġfor get", + "Ġforg et", + "Ġforge t", + "1 57", + "15 7", + "Ġ doctor", + "Ġdo ctor", + "Ġdoc tor", + ". TextBox", + ".Text Box", + "3 77", + "37 7", + "i cons", + "ic ons", + "icon s", + "ico ns", + ", s", + "Ġ Op", + "ĠO p", + "S m", + "S top", + "St op", + "ĉ List", + "ĉL ist", + "ĉ u", + "Com ment", + "Comm ent", + "_ VERSION", + "_V ERSION", + "_VER SION", + ".X tra", + "P erson", + "Per son", + "Pers on", + "r b", + "L OB", + "LO B", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "Ġ Central", + "ĠC entral", + "ĠCent ral", + "2 70", + "27 0", + "I CK", + "IC K", + "r aq", + "ra q", + "Ġp utting", + "Ġput ting", + "Ġputt ing", + "Ġ md", + "Ġm d", + "Ġ Love", + "ĠL ove", + "ĠLo ve", + "ĠLov e", + "P rogram", + "Pro gram", + "Pr ogram", + "Prog ram", + "B order", + "o or", + "oo r", + "Ġall owing", + "Ġallow ing", + "Ġallo wing", + "a fter", + "af ter", + "aft er", + "Ġ entries", + "Ġen tries", + "Ġent ries", + "Ġentr ies", + "Ġ Maybe", + "ĠM aybe", + "ĠMay be", + "] ).", + "]) .", + "Ġ Short", + "ĠS hort", + "ĠSh ort", + "ĠSho rt", + ") \\", + ". now", + ".n ow", + ".no w", + "f riend", + "Ġ prefer", + "Ġp refer", + "Ġpre fer", + "Ġpref er", + "Ġ GPIO", + "ĠG PIO", + "ĠGP IO", + "ĠGPI O", + "o sis", + "os is", + "osi s", + "Ġ GameObject", + "ĠGame Object", + "Ġ skip", + "Ġs kip", + "Ġsk ip", + "Ġski p", + "Ġ competition", + "Ġcom petition", + "Ġcompet ition", + "Ġcompetit ion", + "_ match", + "_m atch", + "_mat ch", + "l ications", + "lic ations", + "lication s", + "_ CONT", + "_C ONT", + "_CON T", + "_CO NT", + ". groupBox", + ".group Box", + "Ġ als", + "Ġa ls", + "Ġal s", + "6 66", + "66 6", + "\" We", + "\"W e", + "_ eq", + "_e q", + "l an", + "la n", + "_ search", + "_s earch", + "_se arch", + "Ġ Music", + "ĠM usic", + "ĠMus ic", + "ĠMu sic", + "a sis", + "as is", + "asi s", + "Ġ bind", + "Ġb ind", + "Ġbi nd", + "Ġbin d", + "ĠIs land", + "ĠIsl and", + "r um", + "ru m", + "( E", + "Ġ seat", + "Ġs eat", + "Ġse at", + "Ġsea t", + "V ideo", + "Vi deo", + "Ġ ack", + "Ġa ck", + "Ġac k", + "re ek", + "ree k", + "={ ()", + "={( )", + "Ġ rating", + "Ġr ating", + "Ġrat ing", + "Ġra ting", + "Ġ restaurant", + "Ġrest aurant", + "Ġrestaur ant", + "Ġrestau rant", + "4 56", + "45 6", + "D EX", + "DE X", + "( buf", + "(b uf", + "p ping", + "pp ing", + "u ality", + "ual ity", + "uali ty", + "Ġ league", + "Ġle ague", + "1 76", + "17 6", + "Ġ focused", + "Ġf ocused", + "Ġfocus ed", + "Ġfoc used", + "a pon", + "ap on", + "apo n", + "$ data", + "$d ata", + "CL UD", + "CLU D", + "CLUD ING", + "Ġ absolute", + "Ġa bsolute", + "Ġabs olute", + "Ġabsolut e", + "Ġabsol ute", + "( query", + "(qu ery", + "Ġt ells", + "Ġtell s", + "Ġtel ls", + "A ng", + "An g", + "Ġcomm unities", + "Ġcommun ities", + "Ġh onest", + "Ġhon est", + "Ġho nest", + "Ġhone st", + "o king", + "ok ing", + "oki ng", + "okin g", + "Ġa part", + "Ġap art", + "Ġapar t", + "Ġapa rt", + "ar ity", + "ari ty", + "/ $", + "_ module", + "_m odule", + "_mod ule", + "Ġ Enc", + "ĠE nc", + "ĠEn c", + ". an", + ".a n", + ". Config", + ".Con fig", + "C re", + "Cr e", + "Ġsh ock", + "Ġsho ck", + "ĠA rab", + "ĠAr ab", + "ĠAra b", + "I ENT", + "IE NT", + "/ re", + "/r e", + "Ġre trie", + "Ġret rie", + "Ġretr ie", + "yc ler", + "ycle r", + "ycl er", + "i sa", + "is a", + "Ġ Organ", + "ĠO rgan", + "ĠOr gan", + "ĠOrg an", + ". graph", + ".g raph", + ".gr aph", + "Ġ í", + "ĠB AS", + "ĠBA S", + "E num", + "En um", + "Ġ possibly", + "Ġposs ibly", + "ÑĢ Ð°Ð", + "ÑĢа Ð", + "Ġ Japanese", + "ĠJ apanese", + "ĠJapan ese", + "Ġ craft", + "Ġc raft", + "Ġcr aft", + "Ġcra ft", + "Ġ Place", + "ĠP lace", + "ĠPl ace", + "ĠPla ce", + "Ġt alent", + "Ġtal ent", + "Ġtale nt", + "Ġf unding", + "Ġfun ding", + "Ġfund ing", + "Ġ confirmed", + "Ġconf irmed", + "Ġconfirm ed", + "Ġ cycle", + "Ġc ycle", + "Ġcy cle", + "Ġcycl e", + "Ġcyc le", + "/ x", + "G E", + "Ġh earing", + "Ġhe aring", + "Ġhear ing", + "Ġ plants", + "Ġpl ants", + "Ġplan ts", + "Ġplant s", + "Ġpla nts", + "Ġ mouth", + "Ġm outh", + "Ġmo uth", + "Ġmou th", + "p ages", + "page s", + "pa ges", + "pag es", + "o ria", + "or ia", + "ori a", + "Ġ Remove", + "ĠRe move", + "ĠRem ove", + "_ total", + "_t otal", + "_to tal", + "_tot al", + "Ġ od", + "Ġo d", + "oll apse", + "d oor", + "do or", + "Ġb ought", + "Ġbo ught", + "Ġbou ght", + "Ġ addr", + "Ġadd r", + "Ġad dr", + "AR CH", + "ARC H", + "_ dim", + "_d im", + "_di m", + "d den", + "dd en", + "dde n", + "Ġdec ades", + "Ġdecade s", + "Ġdecad es", + "RE QUEST", + "REQ UEST", + "Ġ versions", + "Ġv ersions", + "Ġversion s", + "Ġvers ions", + "f ire", + "fi re", + "fir e", + "0 06", + "00 6", + "Ġ moves", + "Ġm oves", + "Ġmov es", + "Ġmove s", + "Ġmo ves", + "f b", + "Ġ coffee", + "Ġc offee", + "Ġco ffee", + "Ġcoff ee", + "Ġcof fee", + ". connect", + ".con nect", + ".conn ect", + "Ġ Row", + "ĠR ow", + "ĠRo w", + "Ġ schema", + "Ġs chema", + "Ġsch ema", + "Ġschem a", + "Ġsche ma", + "S cope", + "Sc ope", + "- Type", + "-T ype", + "Ġf ighting", + "Ġfight ing", + "Ġre tail", + "Ġr etail", + "Ġret ail", + "Ġ modified", + "Ġmod ified", + "T F", + "F iles", + "File s", + "Fi les", + "Fil es", + "n ie", + "ni e", + "_ command", + "_com mand", + "_comm and", + "s tone", + "st one", + "ston e", + "sto ne", + "Ġ ÑĤ", + "ĠÑ Ĥ", + "_ thread", + "_t hread", + "_th read", + "_thr ead", + "Ġ bond", + "Ġb ond", + "Ġbo nd", + "Ġbon d", + "Ġ Development", + "ĠDe velopment", + "ĠDev elopment", + "ĠDevelop ment", + "Ġ pt", + "Ġp t", + "F ORM", + "FO RM", + "FOR M", + "p let", + "pl et", + "ple t", + "Ġ identified", + "Ġident ified", + "c pp", + "cp p", + "2 06", + "20 6", + "2 25", + "22 5", + "Ġ coding", + "Ġc oding", + "Ġco ding", + "Ġcod ing", + "o ked", + "ok ed", + "oke d", + "Ġ Master", + "ĠM aster", + "ĠMa ster", + "ĠMas ter", + "ĠMast er", + "ID TH", + "Ġres idents", + "Ġresident s", + "Ġresid ents", + "Ġreside nts", + "r edit", + "re dit", + "red it", + "redi t", + "Ġ Photo", + "ĠPh oto", + "ĠPhot o", + "= -", + "u nte", + "un te", + "unt e", + "at eur", + "ate ur", + "1 59", + "15 9", + "_ STATE", + "_ST ATE", + "_STAT E", + "_STA TE", + "Ġ Sing", + "ĠS ing", + "ĠSi ng", + "ĠSin g", + "Ġ sheet", + "Ġs heet", + "Ġshe et", + ". val", + ".v al", + ".va l", + "or se", + "ors e", + "Ġh ers", + "Ġhe rs", + "Ġher s", + "Ġd etermined", + "Ġdetermin ed", + "Ġdetermine d", + "Ġdeterm ined", + "Com mon", + "Comm on", + "Ġ wed", + "Ġw ed", + "Ġwe d", + "_ queue", + "_q ueue", + "_que ue", + "P H", + "Ġ Atl", + "ĠA tl", + "ĠAt l", + "c red", + "cre d", + "cr ed", + "/ LICENSE", + "/L ICENSE", + "Ġ mes", + "Ġm es", + "Ġme s", + "Ġ advanced", + "Ġad vanced", + "Ġadv anced", + "Ġadvance d", + ". java", + ".j ava", + ".jav a", + ". Sh", + ".S h", + "G o", + "k ill", + "ki ll", + "kil l", + "f p", + "_ settings", + "_s ettings", + "_set tings", + "_setting s", + "Ġ pal", + "Ġp al", + "Ġpa l", + "Ġ truck", + "Ġtr uck", + "Ġ combined", + "Ġcomb ined", + "Ġcombine d", + "Ġcombin ed", + "Ġ \"${", + "Ġ\" ${", + "Ġ\"$ {", + "ĠC orpor", + "ĠCor por", + "ĠCorp or", + "Ġ joined", + "Ġj oined", + "Ġjoin ed", + "Ġjo ined", + "Ġ Jose", + "ĠJ ose", + "ĠJo se", + "ĠJos e", + "ĠC up", + "ĠCu p", + "u ns", + "un s", + "est ival", + "esti val", + "le vision", + "lev ision", + "Ġ broken", + "Ġb roken", + "Ġbr oken", + "Ġbro ken", + "Ġbroke n", + "Ġmar riage", + "Ġ Western", + "ĠWest ern", + "ĠWes tern", + "Ġrep resents", + "Ġrepresent s", + "Ġ Title", + "ĠT itle", + "ĠTi tle", + "ĠTit le", + "Ġ ss", + "Ġs s", + ". Ass", + ".A ss", + ".As s", + "ong oose", + "ongo ose", + "i ento", + "ient o", + "ien to", + "< >();Ċ", + "<>( );Ċ", + "<> ();Ċ", + "Ġabs olutely", + "Ġabsolute ly", + "Ġabsolut ely", + "Ġabsol utely", + "Ġ smooth", + "Ġsm ooth", + "Ġsmo oth", + "T ERN", + "TE RN", + "TER N", + "Ġ Unless", + "ĠUn less", + "W ord", + "Wo rd", + "Ġ merge", + "Ġm erge", + "Ġmer ge", + "Ġmerg e", + "i gan", + "ig an", + "iga n", + "Ġ Vol", + "ĠV ol", + "ĠVo l", + "Ġ nn", + "Ġn n", + ". getId", + ".get Id", + "Ġ з", + "ĠÐ ·", + "1 71", + "17 1", + "Ġ sexy", + "Ġse xy", + "Ġsex y", + "Ġse eking", + "Ġsee king", + "Ġseek ing", + "S ingle", + "Si ngle", + "Sin gle", + "Sing le", + ". this", + ".t his", + ".th is", + "1 79", + "17 9", + "Ġ kom", + "Ġk om", + "Ġko m", + "b ound", + "bo und", + "bou nd", + "; \"", + "Ġ fontSize", + "Ġfont Size", + "_ df", + "_d f", + "Ġin jury", + "Ġinj ury", + "( H", + "Ġ issued", + "Ġiss ued", + "Ġissue d", + "Ġissu ed", + "_ END", + "_E ND", + "_EN D", + ": self", + ":s elf", + "0 20", + "02 0", + "Ġ patch", + "Ġp atch", + "Ġpat ch", + "Ġle aves", + "Ġleave s", + "Ġ adopt", + "Ġad opt", + "Ġado pt", + "File Name", + "ãĢ IJ", + "Ġexec utive", + "Ġexecut ive", + "Ġ Byte", + "ĠB yte", + "ĠBy te", + "] ))Ċ", + "]) )Ċ", + "])) Ċ", + "Ġ nu", + "Ġn u", + "o uting", + "ou ting", + "out ing", + "cl uding", + "clud ing", + "- R", + ". options", + ".o ptions", + ".opt ions", + ".option s", + "Ġsub stant", + "Ġsubs tant", + "Ġsubst ant", + "av ax", + "ava x", + "ĠB UT", + "ĠBU T", + "Ġ technical", + "Ġtechn ical", + "Ġtw ice", + "Ġm ás", + "Ġmá s", + "Ġun ivers", + "Ġuni vers", + "y r", + "Ġ drag", + "Ġd rag", + "Ġdr ag", + "Ġdra g", + "Ġ DC", + "ĠD C", + "Ġ sed", + "Ġs ed", + "Ġse d", + "Ġ bot", + "Ġb ot", + "Ġbo t", + "Ġ Pal", + "ĠP al", + "ĠPa l", + "Ġ Hall", + "ĠH all", + "ĠHa ll", + "ĠHal l", + "force ment", + "forc ement", + "Ġa uch", + "Ġau ch", + "Ġauc h", + ". mod", + ".m od", + ".mo d", + "n otation", + "not ation", + "nota tion", + "_ files", + "_f iles", + "_file s", + "_fil es", + ". line", + ".l ine", + ".li ne", + ".lin e", + "_ flag", + "_f lag", + "_fl ag", + "[ name", + "[n ame", + "Ġ resolution", + "Ġre solution", + "Ġres olution", + "Ġb ott", + "Ġbo tt", + "Ġbot t", + "( \"[", + "(\" [", + "e nde", + "en de", + "end e", + "( arr", + "(a rr", + "(ar r", + "F ree", + "Fr ee", + "Fre e", + "( @\"", + "(@ \"", + "Ġ District", + "ĠD istrict", + "ĠDi strict", + "P EC", + "PE C", + ": -", + "P icker", + "Pic ker", + "Pi cker", + "Pick er", + "Ġ Jo", + "ĠJ o", + "Ġ ĠĠĠĠĊ", + "ĠĠ ĠĠĠĊ", + "ĠĠĠĠ ĠĊ", + "ĠĠĠ ĠĠĊ", + "ĠĠĠĠĠ Ċ", + "Ġ River", + "ĠR iver", + "ĠRiv er", + "ĠRi ver", + "_ rows", + "_r ows", + "_row s", + "_ro ws", + "Ġhelp ful", + "Ġmass ive", + "- --Ċ", + "-- -Ċ", + "--- Ċ", + "Ġme asures", + "Ġmeasure s", + "Ġmeas ures", + "0 07", + "00 7", + "Ġ Runtime", + "ĠR untime", + "ĠRun time", + "Ġw orry", + "Ġwor ry", + "Ġ Spec", + "ĠS pec", + "ĠSp ec", + "ĠSpe c", + "ĉ D", + "ãĢ ij", + "Ġ ){Ċ", + "Ġ) {Ċ", + "Ġ){ Ċ", + "Ġw orse", + "Ġwor se", + "Ġwors e", + "( filename", + "(f ilename", + "(file name", + "(fi lename", + "(fil ename", + "Ġ lay", + "Ġl ay", + "Ġla y", + "Ġ magic", + "Ġm agic", + "Ġmag ic", + "Ġ Their", + "ĠThe ir", + "o ul", + "ou l", + "st roy", + "str oy", + "stro y", + "Ġ Where", + "ĠW here", + "ĠWh ere", + "ĠWhe re", + "2 80", + "28 0", + "Ġs udden", + "Ġsu dden", + "Ġsud den", + "Ġd efe", + "Ġde fe", + "Ġdef e", + "Ġ binding", + "Ġb inding", + "Ġbin ding", + "Ġbind ing", + "Ġ flight", + "Ġf light", + "Ġfl ight", + "Ġ OnInit", + "ĠOn Init", + "Ġ Women", + "ĠW omen", + "ĠWo men", + "Ġ Policy", + "ĠP olicy", + "ĠPol icy", + "ĠPolic y", + "Ġdr ugs", + "Ġdrug s", + "Ġdru gs", + "ish ing", + "ishi ng", + "(' ../", + "('. ./", + "Ġ Mel", + "ĠM el", + "ĠMe l", + "p eat", + "pe at", + "t or", + "to r", + "Ġpro posed", + "Ġprop osed", + "Ġpropos ed", + "Ġpropose d", + "Ġst ated", + "Ġstate d", + "Ġstat ed", + "Ġsta ted", + "_ RES", + "_RE S", + "_R ES", + "Ġ east", + "Ġe ast", + "Ġeas t", + "Ġea st", + "2 12", + "21 2", + "Ġ CONDITION", + "ĠCON DITION", + "_ desc", + "_d esc", + "_de sc", + "_des c", + "Ġw inning", + "Ġwin ning", + "f olio", + "fo lio", + "fol io", + "M apper", + "Map per", + "Ma pper", + "Ġ Pan", + "ĠP an", + "ĠPa n", + "ĠA nge", + "ĠAn ge", + "ĠAng e", + ".s ervlet", + ".serv let", + "Ġ copies", + "Ġc opies", + "Ġco pies", + "Ġcop ies", + "L M", + "Ġ vm", + "Ġv m", + "å į", + "Ġ dictionary", + "Ġd ictionary", + "S eg", + "Se g", + "1 77", + "17 7", + "e lines", + "el ines", + "eline s", + "eli nes", + "elin es", + "Ġ Send", + "ĠS end", + "ĠSe nd", + "ĠSen d", + "Ġ iron", + "Ġi ron", + "Ġir on", + "Ġ Fort", + "ĠF ort", + "ĠFor t", + "ĠFo rt", + "1 66", + "16 6", + ". domain", + ".d omain", + ".do main", + ".dom ain", + "Ġde bate", + "Ġdeb ate", + "Not Null", + "e q", + "a cher", + "ac her", + "ach er", + "ache r", + "l f", + "ĉ fmt", + "ĉf mt", + "Ġl awy", + "Ġla wy", + "Ġlaw y", + "1 78", + "17 8", + "Ä Ł", + "Ġ Men", + "ĠM en", + "ĠMe n", + "Ġ trim", + "Ġt rim", + "Ġtr im", + "Ġtri m", + "( NULL", + "(N ULL", + "Ġ !!", + "Ġ! !", + "Ġ pad", + "Ġp ad", + "Ġpa d", + "Ġfollow s", + "Ġfoll ows", + "\" ][\"", + "\"] [\"", + "\"][ \"", + "r equ", + "re qu", + "req u", + "Ġ Ep", + "ĠE p", + ". github", + ".g ithub", + ".git hub", + "( img", + "(i mg", + "(im g", + "e to", + "et o", + "( '\\", + "(' \\", + "S ervices", + "Service s", + "Serv ices", + "umbn ail", + "_ main", + "_m ain", + "_ma in", + "p leted", + "pl eted", + "ple ted", + "plete d", + "plet ed", + "fort unately", + "fortunate ly", + "Ġ windows", + "Ġw indows", + "Ġwindow s", + "Ġwind ows", + "Ġ plane", + "Ġp lane", + "Ġpl ane", + "Ġplan e", + "Ġpla ne", + "Ġ Connection", + "ĠCon nection", + "ĠConnect ion", + "ĠConn ection", + ". local", + ".l ocal", + ".loc al", + ".lo cal", + "u ard", + "ua rd", + "uar d", + "} \\", + "= =\"", + "== \"", + "a ndon", + "an don", + "and on", + "ando n", + "Ġ Roy", + "ĠR oy", + "ĠRo y", + "w est", + "we st", + "1 58", + "15 8", + "ig inal", + "igin al", + "igi nal", + "em ies", + "emi es", + "emie s", + "i tz", + "it z", + "' ):Ċ", + "') :Ċ", + "'): Ċ", + "Ġ Peter", + "ĠP eter", + "ĠPe ter", + "ĠPet er", + "ĠPete r", + "Ġt ough", + "Ġto ugh", + "Ġtou gh", + "Ġre duced", + "Ġred uced", + "Ġredu ced", + "Ġreduce d", + "Ġ calculate", + "Ġc alculate", + "Ġcal culate", + "Ġcalcul ate", + "Ġcalc ulate", + "Ġ rapid", + "Ġr apid", + "Ġrap id", + "Ġra pid", + "c ustomer", + "custom er", + "cust omer", + "Ġ efficient", + "Ġeff icient", + "Ġeffic ient", + "Ġ medium", + "Ġm edium", + "Ġmed ium", + "Ġmedi um", + "Ġ fell", + "Ġf ell", + "Ġfe ll", + "Ġfel l", + ". ref", + ".re f", + ".r ef", + "Ġ Cas", + "ĠC as", + "ĠCa s", + "Ġ feedback", + "Ġfe edback", + "Ġfeed back", + "S peed", + "Sp eed", + "Spe ed", + "( output", + "(out put", + "a je", + "aj e", + "Ġ categories", + "Ġc ategories", + "Ġcategor ies", + "Ġcategorie s", + "Ġ fee", + "Ġf ee", + "Ġfe e", + "} ;", + "Ġ deleted", + "Ġde leted", + "Ġdel eted", + "Ġdelete d", + "Ġdelet ed", + "Ġdele ted", + "r eh", + "re h", + "Ġ proof", + "Ġp roof", + "Ġpro of", + "D esc", + "De sc", + "Des c", + "B uild", + "Bu ild", + "Ġs ides", + "Ġside s", + "Ġsi des", + "Ġsid es", + ". ArrayList", + ".Array List", + "- %", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "Ø ±", + ". match", + ".m atch", + ".mat ch", + "л и", + "Ġfe els", + "Ġfeel s", + "Ġfee ls", + "Ġachie ve", + "Ġach ieve", + "Ġc lim", + "Ġcl im", + "Ġcli m", + "_ ON", + "_O N", + "Ġ CD", + "ĠC D", + "Ġ teacher", + "Ġt eacher", + "Ġte acher", + "Ġteach er", + "Ġtea cher", + "_ current", + "_c urrent", + "_cur rent", + "_curr ent", + "b n", + "_ PL", + "_P L", + "is ting", + "ist ing", + "isti ng", + "E nable", + "En able", + "G EN", + "GE N", + "Ġ tv", + "Ġt v", + "Ġ sock", + "Ġs ock", + "Ġso ck", + "Ġsoc k", + "Ġ plays", + "Ġp lays", + "Ġpl ays", + "Ġplay s", + "Ġpla ys", + "Ġ discount", + "Ġdis count", + "Ġdisc ount", + "Ġdisco unt", + "Ġ KE", + "ĠK E", + "Ġ Debug", + "ĠDe bug", + "ĠDeb ug", + "F ore", + "For e", + "Fo re", + "Ġ Iraq", + "ĠI raq", + "ĠIr aq", + "Ġ appearance", + "Ġap pearance", + "Ġappear ance", + "M on", + "Mo n", + "Ġ styled", + "Ġst yled", + "Ġstyle d", + "Ġsty led", + "Ġstyl ed", + "Ġ Human", + "ĠH uman", + "ĠHum an", + "ĠHu man", + "i ot", + "io t", + "Ġ History", + "ĠH istory", + "ĠHi story", + "ĠHistor y", + "ĠHist ory", + "Ġs ac", + "Ġsa c", + "Ġ Collection", + "ĠC ollection", + "ĠCol lection", + "ĠColl ection", + "ĠCollect ion", + "Ġ recommended", + "Ġre commended", + "Ġrecomm ended", + "Ġrecommend ed", + ". Selected", + ".Se lected", + ".Select ed", + "Ġ organizations", + "Ġorgan izations", + "Ġorganization s", + "Ġorganiz ations", + "Ġdis covered", + "Ġdiscover ed", + "co hol", + "coh ol", + "a das", + "ad as", + "ada s", + "Ġ Thomas", + "ĠTh omas", + "ĠThom as", + "M ay", + "Ma y", + "Ġcon serv", + "Ġcons erv", + "Ġconse rv", + "Ġd omin", + "Ġdo min", + "Ġdom in", + "Ġ Follow", + "ĠF ollow", + "ĠFol low", + "Ġ Section", + "ĠS ection", + "ĠSe ction", + "ĠSec tion", + "ĠSect ion", + "Ġ Thanks", + "ĠTh anks", + "ĠThank s", + "ĠThan ks", + "User name", + "Ġ recipe", + "Ġrec ipe", + "Ġrecip e", + "Ġwonder ful", + ". sleep", + ".s leep", + "_ if", + "_i f", + "ĉ ĊĉĊ", + "ĉĊ ĉĊ", + "or no", + "orn o", + "Ġ ru", + "Ġr u", + "_ target", + "_t arget", + "_tar get", + ". \"\"", + ".\" \"", + "à ¦", + "Event Args", + "Ġ inputs", + "Ġin puts", + "Ġinput s", + "Ġinp uts", + "Ġf if", + "Ġfi f", + "Ġ vision", + "Ġv ision", + "Ġvis ion", + "c y", + "Ġ Series", + "ĠS eries", + "ĠSe ries", + "ĠSer ies", + "ĠSerie s", + ") (((", + ")( ((", + ")(( (", + "Ġtr ading", + "Ġtrad ing", + "Ġtra ding", + "Ġtradi ng", + "Ġ marker", + "Ġm arker", + "Ġmark er", + "Ġmar ker", + "B egin", + "Be gin", + "Ġ typically", + "Ġtyp ically", + "Ġtypical ly", + "Ġc auses", + "Ġca uses", + "Ġcause s", + "Ġcaus es", + "d ropdown", + "drop down", + "_ DEBUG", + "_DE BUG", + "2 60", + "26 0", + "Ġ detect", + "Ġd etect", + "Ġdet ect", + "c ountry", + "count ry", + "! \");Ċ", + "!\" );Ċ", + "!\"); Ċ", + "!\") ;Ċ", + "ĉ R", + "a ppy", + "ap py", + "app y", + "Ġc ref", + "Ġcr ef", + "Ġcre f", + "( '<", + "(' <", + "\" =>", + "Ġ LE", + "ĠL E", + "re ader", + "read er", + "rea der", + "Ġ administr", + "Ġadmin istr", + "à µ", + "u cket", + "uc ket", + "uck et", + "Ġf ashion", + ". char", + ".c har", + ".ch ar", + "i zar", + "iz ar", + "iza r", + "Ġ disable", + "Ġd isable", + "Ġdis able", + "Ġs uc", + "Ġsu c", + "Ġ Live", + "ĠL ive", + "ĠLi ve", + "ĠLiv e", + "i ssue", + "iss ue", + "Ġ metadata", + "Ġm etadata", + "Ġmet adata", + "Ġmeta data", + "f lags", + "fl ags", + "flag s", + "Ġ ðŁ", + "Ġð Ł", + "Ġ committed", + "Ġcom mitted", + "Ġcomm itted", + "Ġcommit ted", + "Ġ va", + "Ġv a", + "Ġ rough", + "Ġr ough", + "Ġro ugh", + "Ġrou gh", + "Ġ '''Ċ", + "Ġ' ''Ċ", + "Ġ'' 'Ċ", + "Ġ''' Ċ", + "Ġ highlight", + "Ġhigh light", + "_ vars", + "_v ars", + "_var s", + "_va rs", + "V O", + "Ġ encoding", + "Ġen coding", + "Ġenc oding", + "- Z", + "_ sign", + "_s ign", + "_sig n", + "_si gn", + "$ (\"#", + "$( \"#", + "$(\" #", + "Ġ rain", + "Ġr ain", + "Ġra in", + "re atest", + "reate st", + "reat est", + "rea test", + "Ġ END", + "ĠE ND", + "ĠEN D", + "S election", + "Se lection", + "Select ion", + "Sel ection", + "Sele ction", + "Ġ candidates", + "Ġc andidates", + "Ġcandid ates", + "Ġcandidate s", + "Ġ sav", + "Ġs av", + "Ġsa v", + ". Empty", + "Ġdec isions", + "Ġdecision s", + "Ġdecis ions", + "Ġcoll abor", + "r idge", + "ri dge", + "rid ge", + "f eed", + "fe ed", + "fee d", + "r ession", + "ress ion", + "Ġ persons", + "Ġper sons", + "Ġperson s", + "Ġpers ons", + "Ġperso ns", + "V M", + "0 08", + "00 8", + "e ga", + "eg a", + "_ BIT", + "_B IT", + "A ccording", + "Acc ording", + "ack ed", + "ac ked", + "Ġdoll ars", + "Ġdollar s", + "_ loss", + "_l oss", + "_lo ss", + "Ġ Cost", + "ĠC ost", + "ĠCo st", + "ĠCos t", + "} \"Ċ", + "}\" Ċ", + "Not ification", + "Ġpro stit", + "Ġpros tit", + "Ġprost it", + "Ġ authority", + "Ġauthor ity", + ". rec", + ".re c", + ".r ec", + "Ġsp okes", + "Ġspoke s", + "Ġspo kes", + "Ġ Today", + "ĠT oday", + "ĠTo day", + "ĠTod ay", + "i stant", + "is tant", + "ist ant", + "istan t", + "ista nt", + "Ġ Head", + "ĠH ead", + "ĠHe ad", + "âĢĿ .", + "er tainment", + "ert ainment", + "ertain ment", + "c ean", + "ce an", + "cea n", + "c ulate", + "cul ate", + "cu late", + "Ġ ven", + "Ġv en", + "Ġve n", + "How ever", + "_ arr", + "_a rr", + "_ar r", + "Ġ tokens", + "Ġt okens", + "Ġtoken s", + "Ġtok ens", + "G raph", + "Gr aph", + "Ġ Jud", + "ĠJ ud", + "ĠJu d", + "Ġ Virgin", + "ĠVir gin", + "Ġ Serial", + "ĠS erial", + "ĠSe rial", + "ĠSer ial", + "un ning", + "unn ing", + "M utable", + "Mu table", + "Mut able", + "a gers", + "ag ers", + "age rs", + "ager s", + ". csv", + ".c sv", + ".cs v", + "Ġdevelop ing", + "Ġdevel oping", + "Ġ instructions", + "Ġin structions", + "Ġinstruction s", + "Ġinstr uctions", + "Ġinstruct ions", + "Ġ promise", + "Ġp romise", + "Ġpro mise", + "Ġprom ise", + "Ġ requested", + "Ġrequest ed", + "Ġrequ ested", + "_ encode", + "_en code", + "_enc ode", + "/ \"", + "Ġ Icon", + "ĠI con", + "u ilt", + "ui lt", + "uil t", + "- day", + "-d ay", + "-da y", + "Ġ intelligence", + "Ġint elligence", + "Ġintellig ence", + ". IS", + ".I S", + "Ġ Observable", + "ĠO bservable", + "ĠObserv able", + "Ġ Hard", + "ĠH ard", + "ĠHar d", + "ĠHa rd", + "B ool", + "Bo ol", + "2 11", + "21 1", + "id ential", + "ident ial", + ". Anchor", + ".An chor", + "Ġ selling", + "Ġs elling", + "Ġsell ing", + "Ġsel ling", + "C I", + "A GES", + "AG ES", + "AGE S", + "t le", + "tl e", + "b ur", + "bu r", + "UFF ER", + "UF FER", + "R Y", + "Ġb igger", + "Ġbig ger", + "Ġbi gger", + "Ġ rat", + "Ġr at", + "Ġra t", + "Ġf amous", + "Ġfam ous", + "Ġ typename", + "Ġtype name", + "Ġtyp ename", + "Ġ explained", + "Ġexpl ained", + "Ġexplain ed", + "} }Ċ", + "}} Ċ", + "Ġn uclear", + "Ġnu clear", + "Ġnucle ar", + "- N", + "Ġcr isis", + "Ġcri sis", + "Ġcris is", + "Ġ Enter", + "ĠEn ter", + "ĠEnt er", + "Ġ answers", + "Ġan swers", + "Ġanswer s", + "Ġans wers", + "/ ${", + "/$ {", + "/ pl", + "/p l", + "Ġ sequ", + "Ġs equ", + "Ġse qu", + "Ġseq u", + "_ next", + "_n ext", + "_ne xt", + "m ask", + "ma sk", + "mas k", + "Ġ standing", + "Ġst anding", + "Ġstand ing", + "Ġstan ding", + "Ġpl enty", + "Ġple nty", + "Ġ Cross", + "ĠC ross", + "ĠCr oss", + "ĠCro ss", + "ĠCros s", + "ĉ ret", + "ĉr et", + "ĉre t", + "d ro", + "dr o", + "Ġ Cast", + "ĠC ast", + "ĠCas t", + "ĠCa st", + "1 67", + "16 7", + "= true", + "Ġ Chris", + "ĠCh ris", + "ĠChr is", + "i cio", + "ic io", + "ici o", + "Ġ Mike", + "ĠM ike", + "ĠMi ke", + "ĠMik e", + "D ecimal", + "De cimal", + "Dec imal", + "add Component", + "L en", + "Le n", + "Ġ cock", + "Ġc ock", + "Ġco ck", + "Ġcoc k", + "Ġ #{", + "Ġ# {", + "U RN", + "UR N", + "< tr", + "", + "\\\" >", + "Ġ *=", + "Ġ* =", + "Ġ PS", + "ĠP S", + "Ġdanger ous", + "[ p", + "O ME", + "OM E", + "O ther", + "Ot her", + "Ġ StringBuilder", + "ĠString Builder", + "P oints", + "Point s", + "Po ints", + "he ading", + "head ing", + "hea ding", + "Ġ currency", + "Ġc urrency", + "Ġcurr ency", + "Ġ percentage", + "Ġper centage", + "Ġpercent age", + "_ API", + "_A PI", + "_AP I", + "Ġ classic", + "Ġclass ic", + "Ġcl assic", + "Ġclas sic", + "t head", + "th ead", + "the ad", + "Ġ MO", + "ĠM O", + "F E", + "I dx", + "Id x", + "a wait", + "aw ait", + "awa it", + "awai t", + "Ġ è", + "Ġà ¨", + "Ġacc ident", + "Ġ variant", + "Ġv ariant", + "Ġvar iant", + "Ġvari ant", + "Ġm yst", + "Ġmy st", + "Ġmys t", + "Ġ Land", + "ĠL and", + "ĠLa nd", + "ĠLan d", + "Ġ Bre", + "ĠB re", + "ĠBr e", + "Ġh arm", + "Ġhar m", + "Ġha rm", + "Ġ Acc", + "ĠA cc", + "ĠAc c", + "Ġ charged", + "Ġch arged", + "Ġchar ged", + "Ġcharg ed", + "Ġcharge d", + "i ones", + "ion es", + "io nes", + "ione s", + "Vis ibility", + "ar ry", + "arr y", + "Ġ Language", + "ĠL anguage", + "Ġ walking", + "Ġw alking", + "Ġwalk ing", + "Ġwal king", + "\" .ĊĊ", + "\". ĊĊ", + "\".Ċ Ċ", + "i fer", + "if er", + "ife r", + "Ġleaders hip", + "Ġleader ship", + ". From", + ".F rom", + "y nam", + "yn am", + "yna m", + "Ġ timestamp", + "Ġt imestamp", + "Ġtime stamp", + "i pt", + "ip t", + "Ġ Has", + "ĠH as", + "ĠHa s", + "RE FER", + "REF ER", + "Ġ Its", + "ĠI ts", + "ĠIt s", + "Ġ listener", + "Ġlist ener", + "Ġlisten er", + "Ġliste ner", + "Ġlis tener", + "U TE", + "UT E", + "2 13", + "21 3", + "_ description", + "_d escription", + "_de scription", + "_des cription", + "Ġex periences", + "Ġexper iences", + "Ġexperience s", + "Ġexperi ences", + "Ġ creates", + "Ġcreate s", + "Ġcre ates", + "Ġcreat es", + "Ġcrea tes", + "R S", + "c art", + "ca rt", + "car t", + "b lack", + "bl ack", + "bla ck", + "Ġ choices", + "Ġcho ices", + "Ġchoice s", + "w ar", + "wa r", + "7 50", + "75 0", + "Ġ '''", + "Ġ' ''", + "Ġ'' '", + "Ġ ordered", + "Ġorder ed", + "Ġord ered", + "Ġeven ing", + "Ġev ening", + "Ġeve ning", + "Ġp il", + "Ġpi l", + "Ġt un", + "Ġtu n", + "Ġ Bad", + "ĠB ad", + "ĠBa d", + "( app", + "(a pp", + "(ap p", + "r andom", + "ran dom", + "rand om", + "Ġ explicit", + "Ġexp licit", + "Ġexpl icit", + "Ġexplic it", + "Ġarr ived", + "Ġarrive d", + "Ġarriv ed", + "Ġ fly", + "Ġf ly", + "Ġfl y", + "Ġe conom", + "Ġecon om", + "Ġec onom", + "Ġeco nom", + "- mail", + "-m ail", + "Ġ lists", + "Ġl ists", + "Ġli sts", + "Ġlist s", + "Ġlis ts", + "Ġarch itect", + "Ġarchit ect", + "2 34", + "23 4", + "Ġ Pay", + "ĠP ay", + "ĠPa y", + "Ġ ds", + "Ġd s", + "Ġ Sol", + "ĠS ol", + "ĠSo l", + "Ġ vehicles", + "Ġv ehicles", + "Ġveh icles", + "Ġvehicle s", + "H z", + "- com", + "-c om", + "-co m", + "Ġ king", + "Ġk ing", + "Ġki ng", + "Ġkin g", + "_ equal", + "_e qual", + "_eq ual", + "_equ al", + "Ġ Help", + "ĠH elp", + "ĠHe lp", + "ĠHel p", + "Ġab use", + "4 80", + "48 0", + "1 69", + "16 9", + "-- ;Ċ", + "--; Ċ", + "Ġ extr", + "Ġex tr", + "Ġext r", + "Ġ chemical", + "Ġchem ical", + "ä ¿", + "Ġ orient", + "Ġo rient", + "Ġor ient", + "Ġori ent", + "Ġbre ath", + "Ġbreat h", + "Ġ Space", + "ĠS pace", + "ĠSp ace", + "ĠSpa ce", + "( element", + "(e lement", + "(el ement", + "(elem ent", + "(ele ment", + "w ait", + "wa it", + "D ED", + "DE D", + "ig ma", + "igm a", + "Ġ entr", + "Ġen tr", + "Ġent r", + "Ġ sob", + "Ġs ob", + "Ġso b", + "- name", + "-n ame", + "-na me", + "Ġ affected", + "Ġaff ected", + "Ġaffect ed", + "i ka", + "ik a", + "Ġ coal", + "Ġco al", + "_ work", + "_w ork", + "_wo rk", + "Ġh undreds", + "Ġhundred s", + "Ġpol itics", + "Ġpolit ics", + "Ġpolitic s", + "sub ject", + "su bject", + "subj ect", + "Ġ consumer", + "Ġcon sumer", + "Ġcons umer", + "Ġconsum er", + "Ġconsume r", + "AN GE", + "ANG E", + "Ġre peated", + "Ġrep eated", + "Ġrepe ated", + "Ġrepeat ed", + "S end", + "Se nd", + "Sen d", + "Ġ #[", + "Ġ# [", + "Ġ protocol", + "Ġprot ocol", + "Ġproto col", + "Ġ leads", + "Ġle ads", + "Ġlead s", + "us eum", + "use um", + "E very", + "Ev ery", + "Ever y", + "8 08", + "80 8", + "1 74", + "17 4", + "Im port", + "Imp ort", + "( count", + "(c ount", + "(co unt", + "Ġch allenges", + "Ġchalleng es", + "Ġchallenge s", + "Ġn ovel", + "Ġno vel", + "Ġnov el", + "Ġ depart", + "Ġde part", + "Ġdep art", + "b its", + "bit s", + "bi ts", + ". Current", + ".C urrent", + "Ġ `${", + "Ġ` ${", + "Ġ`$ {", + "o ting", + "ot ing", + "oti ng", + "( \\", + "Ġ creative", + "Ġc reative", + "Ġcre ative", + "Ġcreat ive", + "Ġ buff", + "Ġb uff", + "Ġbu ff", + "Ġbuf f", + "Ġint roduced", + "Ġintrodu ced", + "Ġintroduce d", + "Ġintro duced", + "u sic", + "us ic", + "usi c", + "mod ules", + "module s", + "A re", + "Ar e", + "- doc", + "-d oc", + "-do c", + "l anguage", + "_ cache", + "_c ache", + "_ca che", + "Ġ tod", + "Ġt od", + "Ġto d", + "? > < /", + "om ething", + "ome thing", + "Ġh un", + "Ġhu n", + "å º", + "a ters", + "at ers", + "ate rs", + "ater s", + "In tent", + "Int ent", + "Ġ implemented", + "Ġim plemented", + "Ġimplement ed", + "Ġ Case", + "ĠC ase", + "ĠCas e", + "ĠCa se", + "Ch ildren", + "Child ren", + "Ġ notification", + "Ġnot ification", + "Render er", + "W rapper", + "Wrap per", + "Wr apper", + "Object s", + "Obj ects", + "t l", + ". Contains", + ".Cont ains", + ".Con tains", + "Pl ugin", + "Plug in", + ". row", + ".r ow", + ".ro w", + "Ġ forg", + "Ġf org", + "Ġfor g", + "Ġfo rg", + "Ġ permit", + "Ġper mit", + "Ġperm it", + "Ġ targets", + "Ġtarget s", + "Ġtar gets", + "Ġtarg ets", + "Ġ IF", + "ĠI F", + "Ġ tip", + "Ġt ip", + "Ġti p", + "s ex", + "se x", + "Ġ supports", + "Ġsup ports", + "Ġsupport s", + "Ġsupp orts", + "Ġ fold", + "Ġf old", + "Ġfol d", + "Ġfo ld", + "ph oto", + "phot o", + "} ,čĊ", + "}, čĊ", + "Ġ google", + "Ġg oogle", + "Ġgo ogle", + "Ġgoog le", + "Ġgoo gle", + "$ ('#", + "$( '#", + "$(' #", + "Ġ sharing", + "Ġsh aring", + "Ġsha ring", + "Ġshar ing", + "Ġ goods", + "Ġg oods", + "Ġgo ods", + "Ġgood s", + "Ġgoo ds", + "v s", + "Ġ Dan", + "ĠD an", + "ĠDa n", + "R ate", + "Ra te", + "Ġ Martin", + "ĠM artin", + "ĠMar tin", + "ĠMart in", + "Ġm anner", + "Ġman ner", + "Ġmann er", + "l ie", + "li e", + ". The", + ".T he", + ".Th e", + "In ternal", + "Int ernal", + "Inter nal", + "Intern al", + "ĠCON TR", + "ĠCONT R", + "M ock", + "Mo ck", + "R IGHT", + "Ġ '{", + "Ġ' {", + "Ġ controls", + "Ġcontrol s", + "Ġcontr ols", + "Ġcontro ls", + "M at", + "Ma t", + "Ġ mand", + "Ġm and", + "Ġman d", + "Ġma nd", + "Ġ extended", + "Ġext ended", + "Ġextend ed", + "O k", + "Ġ embed", + "Ġem bed", + "Ġemb ed", + "Ġ planet", + "Ġplan et", + "Ġplane t", + "Ġpla net", + "Ġ Non", + "ĠN on", + "ĠNo n", + "- ch", + "-c h", + ") \",", + ")\" ,", + "e par", + "ep ar", + "Ġbel ieved", + "Ġbelie ved", + "Ġbelieve d", + "Ġ Environment", + "ĠEn vironment", + "Ġ Friend", + "ĠF riend", + "ĠFri end", + "- res", + "-r es", + "-re s", + "Ġ handling", + "Ġhand ling", + "Ġhan dling", + "n ic", + "ni c", + "- level", + "-le vel", + "s cri", + "sc ri", + "scr i", + "X ml", + "B E", + "u ngen", + "un gen", + "ung en", + "unge n", + "Ġ alter", + "Ġal ter", + "Ġalt er", + "Ġalte r", + "[ idx", + "[i dx", + "[id x", + "P op", + "Po p", + "c am", + "ca m", + "Ġ (((", + "Ġ( ((", + "Ġ(( (", + "Ġ shipping", + "Ġsh ipping", + "Ġship ping", + "Ġ battery", + "Ġb attery", + "Ġbatter y", + "Ġbatt ery", + "Ġbat tery", + "iddle ware", + "M C", + "Ġ impl", + "Ġi mpl", + "Ġim pl", + "Ġimp l", + "ot ation", + "ota tion", + "Ġ Lab", + "ĠL ab", + "ĠLa b", + "< form", + " {{", + ">{ {", + "Ġ Resource", + "ĠRe source", + "ĠRes ource", + "Ġ Standard", + "ĠSt andard", + "ĠStand ard", + "Ġ Prem", + "ĠP rem", + "ĠPr em", + "ĠPre m", + "up dated", + "update d", + "upd ated", + "iv alent", + "ival ent", + "Ġ assets", + "Ġas sets", + "Ġass ets", + "Ġasset s", + "_ temp", + "_t emp", + "_tem p", + "_te mp", + "Ġinter ests", + "Ġinterest s", + "Ġinteres ts", + "Ġ hardware", + "Ġh ardware", + "Ġhard ware", + "Ġ Rom", + "ĠR om", + "ĠRo m", + "Ġ Share", + "ĠS hare", + "ĠSh are", + "ĠSha re", + "ĠShar e", + "Ġ ''Ċ", + "Ġ' 'Ċ", + "Ġ'' Ċ", + "Ġ *,", + "Ġ* ,", + "Ġ Take", + "ĠT ake", + "ĠTa ke", + "ĠTak e", + "Ġ Images", + "ĠIm ages", + "ĠImage s", + "ĠImag es", + "_ CHECK", + "_C HECK", + "( typeof", + "(type of", + "(typ eof", + "Ġ Jun", + "ĠJ un", + "ĠJu n", + "\\< ^", + "Ġ liqu", + "Ġl iqu", + "Ġli qu", + "Ġw orst", + "Ġwor st", + "Ġwo rst", + "Ġwors t", + "ymb ols", + "ymbol s", + "ĉ ĉĉĠĠĠ", + "ĉĉ ĉĠĠĠ", + "ĉĉĉ ĠĠĠ", + "ĉĉĉĠ ĠĠ", + "ĉĉĉĠĠ Ġ", + "Ġ drivers", + "Ġdr ivers", + "Ġdriver s", + "Ġdrive rs", + "Ġdriv ers", + "Ġdri vers", + "Ġ Document", + "ĠD ocument", + "ĠDoc ument", + "e no", + "en o", + "Ġ Technology", + "ĠTechn ology", + "Ġ approved", + "Ġap proved", + "Ġappro ved", + "Ġapprove d", + "u mps", + "um ps", + "ump s", + "Ġ snow", + "Ġs now", + "Ġsn ow", + "Ġsno w", + "form ance", + "forma nce", + "forman ce", + "_ ASSERT", + "_A SSERT", + "_ASS ERT", + "u its", + "ui ts", + "uit s", + "2 07", + "20 7", + "Ù Ĩ", + "Ġd ifferences", + "Ġdif ferences", + "Ġdiffer ences", + "Ġdifference s", + ". Visible", + ".V isible", + "ĉ ĉĉčĊ", + "ĉĉ ĉčĊ", + "ĉĉĉ čĊ", + "Ġ Ps", + "ĠP s", + "_ fetch", + "_f etch", + "Ġ todo", + "Ġt odo", + "Ġto do", + "Ġtod o", + ". ',Ċ", + ".' ,Ċ", + ".', Ċ", + "Ġ sel", + "Ġs el", + "Ġse l", + "ur ers", + "ure rs", + "urer s", + "in valid", + "Ġ tweet", + "Ġt weet", + "Ġtwe et", + "Ġtwee t", + "V EL", + "VE L", + "Ġresearch ers", + "Ġresearcher s", + "Ġ sprintf", + "Ġs printf", + "Ġsprint f", + "Ġ RO", + "ĠR O", + "Ġ pel", + "Ġp el", + "Ġpe l", + ". Trans", + ".T rans", + ".Tr ans", + "Ġ illegal", + "Ġil legal", + "Ġill egal", + "Ġilleg al", + "d ialog", + "di alog", + "dia log", + "sm arty", + "smart y", + "l g", + "_ MIN", + "_M IN", + "_MI N", + "Ġ hero", + "Ġh ero", + "Ġhe ro", + "Ġher o", + "f inal", + "fin al", + "fi nal", + "Ġ pp", + "Ġp p", + ". Le", + ".L e", + "Ġ ci", + "Ġc i", + "ĉ RT", + "ĉR T", + "Ġs uggested", + "Ġsuggest ed", + "p df", + "pd f", + "a ching", + "ach ing", + "achi ng", + "Ġ Ro", + "ĠR o", + "Ġ Properties", + "ĠP roperties", + "ĠProp erties", + "ĠProper ties", + "Ġ Si", + "ĠS i", + "Ġbu ying", + "Ġbuy ing", + "Ġ mu", + "Ġm u", + "Ġ lands", + "Ġl ands", + "Ġla nds", + "Ġland s", + "Ġlan ds", + "if iers", + "ifier s", + "ifi ers", + "ifie rs", + "Ġ FILE", + "ĠF ILE", + "ĠFI LE", + "ĠFIL E", + "RO UP", + "Ġ holder", + "Ġh older", + "Ġhold er", + "Ġho lder", + "Ġhol der", + "Ġ Son", + "ĠS on", + "ĠSo n", + "Ġsym pt", + "Ġsymp t", + ". route", + ".r oute", + ".ro ute", + ") ?", + "Ġ argc", + "Ġar gc", + "Ġarg c", + "Ġ fort", + "Ġf ort", + "Ġfor t", + "Ġfo rt", + "Ġcas ino", + "Ġcasi no", + "_ category", + "_c ategory", + "Ġ forum", + "Ġf orum", + "Ġfor um", + "Ġfo rum", + "2 15", + "21 5", + "p refix", + "pre fix", + "pref ix", + "ap ture", + "apt ure", + "T ube", + "Tu be", + "e ms", + "em s", + "im ize", + "imi ze", + "imiz e", + "Ġn ue", + "Ġnu e", + "a us", + "au s", + "c ourse", + "co urse", + "cour se", + "A TOR", + "AT OR", + "ATO R", + "( )),", + "() ),", + "()) ,", + "Ad vertis", + "IN GS", + "ING S", + "Ġac know", + "Ġack now", + "ĠK orea", + "ĠKore a", + "ĠKo rea", + "ĠKor ea", + "p ling", + "pl ing", + "Ġ worker", + "Ġwork er", + "Ġwor ker", + "PL IED", + "h al", + "ha l", + "Ġ Richard", + "ĠRich ard", + "ĠRic hard", + "E lements", + "Element s", + "El ements", + "Elem ents", + "Ele ments", + "ĉ ĉĉĠ", + "ĉĉ ĉĠ", + "ĉĉĉ Ġ", + "s tar", + "st ar", + "sta r", + "Ġ relationships", + "Ġrelations hips", + "Ġrelationship s", + "Ġrelation ships", + "Ġ cheap", + "Ġc heap", + "Ġche ap", + "A CH", + "AC H", + "Ġ XML", + "ĠX ML", + "ĠXM L", + ", &", + "Ġ Louis", + "ĠL ouis", + "ĠLo uis", + "ĠLou is", + "Ġ ride", + "Ġr ide", + "Ġrid e", + "Ġri de", + "_ FAIL", + "_F AIL", + "_FA IL", + "Ġ chunk", + "Ġch unk", + "Ġchu nk", + "[ s", + "_ OUT", + "_O UT", + "Ġ chosen", + "Ġch osen", + "Ġcho sen", + "Ġchose n", + "_ [", + "/ (", + "Ġ Jeff", + "ĠJ eff", + "ĠJe ff", + "_ sl", + "_s l", + "p riv", + "pr iv", + "pri v", + "Ġ Canadian", + "ĠCan adian", + "Ġ unable", + "Ġu nable", + "Ġun able", + "Ġuna ble", + "Ġunab le", + "_ FLAG", + "_F LAG", + "_FL AG", + "Ġ nos", + "Ġn os", + "Ġno s", + "h igh", + "hi gh", + "Ġ lift", + "Ġl ift", + "Ġli ft", + "Ġlif t", + "f un", + "fu n", + "( ){", + "() {", + "el ly", + "ell y", + "ycler View", + "_ as", + "_a s", + "_ LIST", + "_L IST", + "Ġ radi", + "Ġr adi", + "Ġrad i", + "Ġra di", + ". getValue", + ".get Value", + "3 04", + "30 4", + "ĠAnge les", + "ĠAngel es", + "Ġ Span", + "ĠS pan", + "ĠSp an", + "ĠSpa n", + "_ instance", + "_in stance", + "_inst ance", + "i tors", + "it ors", + "itor s", + "ito rs", + "2 08", + "20 8", + "Ġ migration", + "Ġm igration", + "Ġmigr ation", + "Ġmig ration", + "A K", + "O h", + " ®", + ". selected", + ".se lected", + ".select ed", + ".sel ected", + "Ġ GT", + "ĠG T", + "Ġ advance", + "Ġadv ance", + "Ġ Style", + "ĠSt yle", + "ĠSty le", + ". DataGridView", + ".Data GridView", + "e ction", + "ect ion", + "ec tion", + "Ñ İ", + "p io", + "pi o", + "r og", + "ro g", + "Ġ shopping", + "Ġsh opping", + "Ġshop ping", + "Ġsho pping", + "Ġ Rect", + "ĠR ect", + "ĠRe ct", + "ĠRec t", + "I lluminate", + "O U", + "ĉ array", + "ĉa rray", + "ĉarr ay", + "ĉar ray", + "Ġsub stantial", + "Ġsubstant ial", + "Ġp regn", + "Ġpre gn", + "Ġpreg n", + "Ġprom ote", + "Ġpromot e", + "Ġpromo te", + "I EW", + "IE W", + ". Layout", + ".L ayout", + "Ġsign s", + "Ġsig ns", + "/ .", + "Ġ letters", + "Ġlet ters", + "Ġletter s", + "Ġlett ers", + "B oard", + "Bo ard", + "c trl", + "ct rl", + "ctr l", + "\" \\", + "Ġ Jones", + "ĠJ ones", + "ĠJo nes", + "ĠJon es", + "Ġ vertex", + "Ġver tex", + "Ġvert ex", + "Ġverte x", + "Ġ ja", + "Ġj a", + "Ġaff ili", + "Ġ wealth", + "Ġwe alth", + "ĉ default", + "ĉd efault", + "ĉdef ault", + "ĉde fault", + "Ġsign ificantly", + "Ġsignific antly", + "Ġsignificant ly", + "Ġ ec", + "Ġe c", + "Ġ xs", + "Ġx s", + "act ual", + "ac tual", + ". per", + ".p er", + ".pe r", + "_ step", + "_s tep", + "_st ep", + "_ste p", + "an vas", + "m ac", + "ma c", + "Ġtrans l", + "Ġtran sl", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "It erator", + "Iter ator", + "Ġ och", + "Ġo ch", + "Ġoc h", + "ag nostic", + "agnost ic", + "Ġ During", + "ĠD uring", + "ĠDu ring", + "ĠDur ing", + "Ġ DEFAULT", + "ĠD EFAULT", + "ĠDE FAULT", + "Ġt ill", + "Ġti ll", + "Ġtil l", + "Ġ signature", + "Ġsign ature", + "Ġsig nature", + "Ġ bird", + "Ġb ird", + "Ġbi rd", + "Ġbir d", + "Ġ Ol", + "ĠO l", + "3 10", + "31 0", + "Ġ Ir", + "ĠI r", + "H S", + "av atar", + "ava tar", + "ESS AGE", + "Ġe lev", + "Ġel ev", + "Ġele v", + "Ġ mt", + "Ġm t", + "Ġ Nav", + "ĠN av", + "ĠNa v", + "Ġrel ax", + "Ġ plate", + "Ġp late", + "Ġpl ate", + "Ġpla te", + "Ġplat e", + "I TEM", + "IT EM", + "ITE M", + "( date", + "(d ate", + "(dat e", + "(da te", + ". not", + ".n ot", + ".no t", + "Ġ grade", + "Ġg rade", + "Ġgr ade", + "Ġgrad e", + "Ġgra de", + "Ġ }),Ċ", + "Ġ} ),Ċ", + "Ġ}) ,Ċ", + "Ġ}), Ċ", + "? \"ĊĊ", + "?\" ĊĊ", + "?\"Ċ Ċ", + "i ences", + "ie nces", + "ience s", + "ien ces", + "H igh", + "Hi gh", + "Ġ DIS", + "ĠD IS", + "ĠDI S", + "2 31", + "23 1", + "dis abled", + "disable d", + "Q UI", + "QU I", + "Ġ noise", + "Ġn oise", + "Ġno ise", + "Ġnoi se", + "a ux", + "au x", + "Ġ UP", + "ĠU P", + "8 88", + "88 8", + "o sa", + "os a", + "Ġv oc", + "Ġvo c", + "Ġ ))", + "Ġ) )", + "o com", + "oc om", + "oco m", + "_ OFF", + "_O FF", + "_OF F", + "Ġ Db", + "ĠD b", + "L ock", + "Lo ck", + "Loc k", + ".e clipse", + ", d", + "Ġ Draw", + "ĠD raw", + "ĠDr aw", + "ĠDra w", + "Ġ \"(", + "Ġ\" (", + "Ġ visited", + "Ġvis ited", + "Ġvisit ed", + "Ġvisite d", + "Ġ âĪ", + "Ġâ Ī", + "Ġs ucceed", + "Ġsuc ceed", + "Ġsucc eed", + "Ġim possible", + "Ġimp ossible", + "Ġimposs ible", + "a ire", + "air e", + "ai re", + "Ġ Turn", + "ĠT urn", + "ĠTur n", + "ĠTu rn", + "Ġ dish", + "Ġd ish", + "Ġdis h", + "Ġdi sh", + "F G", + "Ġ sensor", + "Ġs ensor", + "Ġsens or", + "A NN", + "AN N", + "a ba", + "ab a", + "Ġs urg", + "Ġsu rg", + "Ġsur g", + "] );čĊ", + "]) ;čĊ", + "]); čĊ", + "Ġ fp", + "Ġf p", + "_ an", + "_a n", + "- J", + "- G", + "Ġ Job", + "ĠJ ob", + "ĠJo b", + "Con vert", + "Conv ert", + "Ġ KEY", + "ĠK EY", + "ĠKE Y", + "Ġ authors", + "Ġauthor s", + "Ġauth ors", + "_ server", + "_s erver", + "_serv er", + "_ser ver", + "\\ r", + "Ġ -*-", + "Ġ- *-", + "Ġ-* -", + "f lex", + "fl ex", + "Ġ soc", + "Ġs oc", + "Ġso c", + "R et", + "Re t", + "Ġ salt", + "Ġs alt", + "Ġsa lt", + "Ġsal t", + "Ġ â̦ĊĊ", + "Ġâ̦ ĊĊ", + "Ġâ̦Ċ Ċ", + "Ġ Clear", + "ĠC lear", + "ĠCl ear", + "ĠCle ar", + "( page", + "(p age", + "(pa ge", + "- danger", + "-d anger", + "-da nger", + "Ġ rooms", + "Ġro oms", + "Ġroom s", + "con v", + "co nv", + "# {", + ". op", + ".o p", + "Ġ Area", + "ĠA rea", + "ĠAr ea", + "ĠAre a", + "_ SC", + "_S C", + "h en", + "he n", + "Ġbeg ins", + "Ġbegin s", + "- y", + "Ġexc ited", + "Ġexcit ed", + "Ġ ignored", + "Ġign ored", + "Ġignore d", + "Ġignor ed", + "Ġ bonus", + "Ġb onus", + "Ġbon us", + "st udent", + "stu dent", + "stud ent", + "Ġ Member", + "ĠM ember", + "ĠMem ber", + "Ġrel atively", + "Ġrelative ly", + "Ġrelativ ely", + "Ġrelat ively", + "Ġ Low", + "ĠL ow", + "ĠLo w", + "Ġ Produ", + "ĠP rodu", + "ĠPro du", + "ĠPr odu", + "ĠProd u", + "at eway", + "ate way", + "pos ure", + "po sure", + "Ġth ick", + "Ġthi ck", + "an iel", + "ani el", + "anie l", + "( view", + "(v iew", + "ĠC rush", + "ĠCr ush", + "ĠCru sh", + "ĠCrus h", + "Ext ension", + "I l", + "e ed", + "ee d", + "L OC", + "LO C", + ". im", + ".i m", + ". Items", + ".I tems", + ".Item s", + ".It ems", + "Ġconf lict", + "Ġconflic t", + "Ġconfl ict", + ". prevent", + ".pre vent", + ".pr event", + ".prev ent", + "2 52", + "25 2", + "Ġon Create", + "u v", + "i ser", + "is er", + "ise r", + "Ġ wave", + "Ġw ave", + "Ġwa ve", + "Ġwav e", + "M ar", + "Ma r", + "Ġ Community", + "ĠComm unity", + "ĠCommun ity", + "i che", + "ic he", + "ich e", + "Ġ Nothing", + "ĠNo thing", + "[ m", + "Ġ Lee", + "ĠL ee", + "ĠLe e", + "ri ends", + "riend s", + "rie nds", + "rien ds", + "2 32", + "23 2", + "è re", + "! !!", + "!! !", + "a nz", + "an z", + ". result", + ".res ult", + "Ġ SK", + "ĠS K", + "_ PARAM", + "_P ARAM", + "_PA RAM", + "_PAR AM", + "Ġdem ocr", + "Ġdemo cr", + "Back Color", + ". exists", + ".ex ists", + ".exist s", + "\" It", + "\"I t", + "( options", + "(o ptions", + "(opt ions", + "(option s", + "r azy", + "ra zy", + "raz y", + "a ser", + "as er", + "ase r", + "\\ Database", + "\\Data base", + "\\D atabase", + "al endar", + "alen dar", + "_ ass", + "_a ss", + "_as s", + "; }Ċ", + ";} Ċ", + "ver tex", + "vert ex", + "verte x", + "ine craft", + "W arning", + "War ning", + "Warn ing", + "ar go", + "arg o", + "Ġ actor", + "Ġa ctor", + "Ġact or", + "Ġac tor", + "Ġ Instead", + "ĠIn stead", + "ĠInst ead", + "Ġ Using", + "ĠU sing", + "ĠUs ing", + "S elf", + "Se lf", + "Sel f", + "@ interface", + "Ġspe aking", + "Ġspeak ing", + "Ġ Paris", + "ĠP aris", + "ĠPar is", + "ĠPa ris", + "Ġ LICENSE", + "ĠL ICENSE", + "ĠLIC ENSE", + ". node", + ".n ode", + ".no de", + "Ġ Food", + "ĠF ood", + "ĠFo od", + "ĠFoo d", + "E IF", + "EI F", + "Ġ Bi", + "ĠB i", + ". Start", + ".St art", + "Ġ IB", + "ĠI B", + "Ġun iversity", + "Ġunivers ity", + "2 54", + "25 4", + "Ġ Header", + "ĠHe ader", + "ĠHead er", + ". product", + ".pro duct", + ".prod uct", + "4 09", + "40 9", + "C opy", + "Co py", + "Cop y", + "e tc", + "et c", + "r ical", + "ri cal", + "ric al", + "rica l", + "Ġ >>>", + "Ġ> >>", + "Ġ>> >", + "b ooks", + "bo oks", + "book s", + "boo ks", + "Ġ algorithm", + "Ġal gorithm", + "Ġ' __", + "Ġ'_ _", + "( javax", + "(j avax", + "(java x", + "Ġnumer ous", + "Ġnumero us", + "S hare", + "Sh are", + "Shar e", + "Sha re", + "H ave", + "Ha ve", + "Ġrec ru", + "Ġ prove", + "Ġp rove", + "Ġpro ve", + "Ġpr ove", + "Ġprov e", + ". substring", + ".sub string", + ".substr ing", + "he alth", + "е л", + "еР»", + "Ġ decimal", + "Ġd ecimal", + "Ġde cimal", + "Ġdec imal", + "Ġ commission", + "Ġcom mission", + "Ġcomm ission", + "s cription", + "script ion", + "scri ption", + "x C", + "Ġ summary", + "Ġsum mary", + "Ġsummar y", + "Ġsumm ary", + "at ted", + "att ed", + "atte d", + "Ġc loser", + "Ġcl oser", + "Ġclose r", + "Ġclos er", + "Ġclo ser", + "f inished", + "fin ished", + "finish ed", + "( )){Ċ", + "() ){Ċ", + "()) {Ċ", + "()){ Ċ", + "Ġ Wood", + "ĠW ood", + "ĠWo od", + "ĠWoo d", + "3 01", + "30 1", + "_ fields", + "_f ields", + "_field s", + "k u", + "_ items", + "_i tems", + "_item s", + "_it ems", + "F lag", + "Fl ag", + "Ġ confidence", + "Ġconf idence", + "Ġ Federal", + "ĠF ederal", + "ĠFeder al", + "ĠFed eral", + "d ux", + "du x", + "Ġ compat", + "Ġcom pat", + "Ġcomp at", + "Ġ vertical", + "Ġver tical", + "Ġvert ical", + "Ð ¹", + "è s", + "; \">Ċ", + ";\" >Ċ", + ";\"> Ċ", + "_ manager", + "_m anager", + "_man ager", + "_manage r", + "( )))Ċ", + "() ))Ċ", + "()) )Ċ", + "())) Ċ", + "I DE", + "ID E", + ": \",", + ":\" ,", + "2 35", + "23 5", + "_ _Ċ", + "__ Ċ", + "Ġ Way", + "ĠW ay", + "ĠWa y", + "2 21", + "22 1", + "Ñ Ī", + "T emp", + "Te mp", + "Tem p", + "Ġ STR", + "ĠS TR", + "ĠST R", + "r itten", + "rit ten", + "ritt en", + "ritte n", + "S ync", + "Sy nc", + "Syn c", + "Ġ AV", + "ĠA V", + "Ġ CEO", + "ĠC EO", + "ĠCE O", + "Ġ Guid", + "ĠG uid", + "ĠGu id", + "ĠGui d", + "Ġenvironment al", + "Ġenviron mental", + "Ġcorrespond ing", + "ĉ console", + "ĉcon sole", + "Ġ justice", + "Ġjust ice", + "Ġju stice", + "Ġ JS", + "ĠJ S", + "Ġl ived", + "Ġli ved", + "Ġlive d", + "Ġliv ed", + "g ar", + "ga r", + "Ġ Graph", + "ĠG raph", + "ĠGr aph", + "ĠGra ph", + "Ġ Stat", + "ĠS tat", + "ĠSt at", + "ĠSta t", + "Ġ iPhone", + "Ġi Phone", + "ĠiP hone", + ". al", + ".a l", + "Ġ HD", + "ĠH D", + "Ġocc ur", + "Ġoc cur", + "Ġ threshold", + "Ġth reshold", + "Ġthresh old", + "5 09", + "50 9", + "Ġ onclick", + "Ġon click", + "Ġonc lick", + "R EG", + "RE G", + ".Graphics Unit", + "M eta", + "Me ta", + "Met a", + "Å ¾", + "Ġ cum", + "Ġc um", + "Ġcu m", + ". gnu", + ".g nu", + "à «", + "Ġobt ained", + "Ġobtain ed", + "Ġcom plaint", + "Ġcompl aint", + "Ġcomplain t", + "Ġ eating", + "Ġe ating", + "Ġeat ing", + "Ġea ting", + "Ġ tar", + "Ġt ar", + "Ġta r", + "_ task", + "_t ask", + "_ta sk", + "Ġ opts", + "Ġo pts", + "Ġop ts", + "Ġopt s", + "2 16", + "21 6", + "( to", + "(t o", + "P ass", + "Pa ss", + "Pas s", + "Ġp lastic", + "Ġpl astic", + "Ġplast ic", + "t ility", + "til ity", + "Ġ Win", + "ĠW in", + "ĠWi n", + ".prevent Default", + "p ile", + "pi le", + "Ġ Gar", + "ĠG ar", + "ĠGa r", + "Ġ quantity", + "Ġqu antity", + "Ġquant ity", + "Ġqua ntity", + "_ last", + "_l ast", + "_la st", + "Ġg reatest", + "Ġgreat est", + "Ġgre atest", + "D ao", + "Da o", + "_ DIS", + "_D IS", + "_DI S", + "Ġ Used", + "ĠU sed", + "ĠUs ed", + "ĠUse d", + "Ġ HP", + "ĠH P", + "r iting", + "ri ting", + "rit ing", + "S ION", + "SI ON", + "b lue", + "bl ue", + "d omain", + "do main", + "dom ain", + "Ġ scores", + "Ġs cores", + "Ġsc ores", + "Ġscore s", + "Ġsco res", + "Ġscor es", + "N ormal", + "Norm al", + "Nor mal", + "_ admin", + "_ad min", + "Ġ ASSERT", + "ĠA SSERT", + "ĠASS ERT", + "T hen", + "The n", + "Th en", + "* **", + "** *", + "d ist", + "dis t", + "di st", + "l on", + "lo n", + "Ġh ate", + "Ġha te", + "Ġhat e", + "s hal", + "sh al", + "sha l", + "Image View", + "d atabase", + "data base", + "dat abase", + "Ġp and", + "Ġpa nd", + "Ġpan d", + "Ġ logic", + "Ġlog ic", + "= false", + "=f alse", + "b g", + "Ġ Configuration", + "ĠConfig uration", + "Ġn ur", + "Ġnu r", + "O G", + "Ġ married", + "Ġmar ried", + ": +", + "Ġd ropped", + "Ġdr opped", + "Ġdrop ped", + "Ġdro pped", + "0 40", + "04 0", + "Ġ registration", + "Ġreg istration", + "Ġregistr ation", + "Ġregist ration", + "о м", + "оР¼", + "ult iple", + "ulti ple", + "ultip le", + "i zers", + "iz ers", + "ize rs", + "izer s", + "s hape", + "sh ape", + "sha pe", + ". copy", + ".c opy", + ".co py", + "Ġw earing", + "Ġwe aring", + "Ġwear ing", + "ĠC ath", + "ĠCa th", + "ĠCat h", + "Ġded icated", + "Ġdedic ated", + "Ġdedicate d", + "Ġ ...Ċ", + "Ġ. ..Ċ", + "Ġ... Ċ", + "Ġ.. .Ċ", + "Ġadv oc", + "Ġ Family", + "ĠF amily", + "ĠFam ily", + "ĠFamil y", + "Ġ statements", + "Ġstate ments", + "Ġstat ements", + "Ġstatement s", + "e matic", + "em atic", + "ema tic", + "emat ic", + "ampions hip", + "ampion ship", + "Ġmot iv", + "Ġmo tiv", + "Ġ Have", + "ĠH ave", + "ĠHa ve", + "ĠHav e", + "Ġb low", + "Ġbl ow", + "Ġblo w", + "J ob", + "Jo b", + "c ert", + "ce rt", + "cer t", + "_ vector", + "_v ector", + "_vec tor", + "_vect or", + "_ve ctor", + "inst all", + "Ġ COPY", + "ĠC OPY", + "ĠCO PY", + "ĠCOP Y", + "em bed", + "emb ed", + "D IR", + "DI R", + "Ġ Spring", + "ĠS pring", + "ĠSp ring", + "ĠSpr ing", + "Ġex hib", + "Ġexh ib", + "2 23", + "22 3", + "c dn", + "cd n", + "Ġ Comment", + "ĠCom ment", + "ĠComm ent", + "Ġ Optional", + "ĠOption al", + "ĠOpt ional", + ". player", + ".p layer", + ".pl ayer", + ".play er", + "Ġ Dark", + "ĠD ark", + "ĠDa rk", + "ĠDar k", + "( pos", + "(p os", + "(po s", + "Ġ Should", + "ĠSh ould", + "ĠSho uld", + "Ġ centre", + "Ġc entre", + "Ġcent re", + "Ġcentr e", + "Ġcen tre", + "Ġ Guard", + "ĠG uard", + "ĠGu ard", + "ĠGuar d", + "ó w", + "Ġtr ouble", + "Ġtro uble", + "Ġtroub le", + "Ġtrou ble", + "E NER", + "EN ER", + "ENE R", + "( unsigned", + "(un signed", + "_ service", + "_s ervice", + "_serv ice", + "_ser vice", + "Ġ ns", + "Ġn s", + "u ling", + "ul ing", + "ulin g", + "uli ng", + "Ġ Mexico", + "ĠMe xico", + "ĠMex ico", + "Ġ NY", + "ĠN Y", + "m ysql", + "my sql", + "mys ql", + "Ġ lic", + "Ġl ic", + "Ġli c", + "å ľ", + "M r", + "- fl", + "-f l", + "Ġ Customer", + "ĠC ustomer", + "ĠCustom er", + "ĠCust omer", + "i di", + "id i", + "Ġ ?>ĊĊ", + "Ġ? >ĊĊ", + "Ġ?> ĊĊ", + "Ġ?>Ċ Ċ", + "r ible", + "ri ble", + "rib le", + "Ġ пÑĢ", + "Ġп ÑĢ", + "Ġ sizes", + "Ġs izes", + "Ġsize s", + "Ġsi zes", + "Ġsiz es", + "_ STRING", + "_ST RING", + "_STR ING", + "valid ation", + "Ġ Jon", + "ĠJ on", + "ĠJo n", + "( Http", + "(H ttp", + "add Class", + "N odes", + "Node s", + "No des", + "Ġ fragment", + "Ġf ragment", + "Ġfr agment", + "Ġfra gment", + "Ġfrag ment", + "Ġs poke", + "Ġsp oke", + "Ġspo ke", + "Ġw aste", + "Ġwas te", + "Ġwa ste", + "Ġwast e", + "J oin", + "Jo in", + "Ġ illustr", + "Ġill ustr", + "Ġillust r", + "e li", + "el i", + "c ient", + "ci ent", + "cie nt", + "Ġ aid", + "Ġa id", + "Ġai d", + "Ġpro sec", + "Ġpros ec", + "Ġprose c", + "' ){Ċ", + "') {Ċ", + "'){ Ċ", + "Ġp assing", + "Ġpass ing", + "Ġpas sing", + "Ġ faces", + "Ġf aces", + "Ġfa ces", + "Ġfac es", + "Ġface s", + "S hape", + "Sh ape", + "Sha pe", + "_ Z", + "i ti", + "it i", + "Ġ alle", + "Ġa lle", + "Ġal le", + "Ġall e", + "Ġ robot", + "Ġr obot", + "Ġro bot", + "Ġrob ot", + "Ġ ĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ Ċ", + "ĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠĠ ĠĊ", + "Ġ Spe", + "ĠS pe", + "ĠSp e", + "Ġre ceiving", + "Ġrece iving", + "Ġ Details", + "ĠD etails", + "ĠDe tails", + "ĠDet ails", + "ĠDetail s", + "Ġ \")", + "Ġ\" )", + "m g", + "_ REF", + "_RE F", + "_R EF", + "Ġ comparison", + "Ġcom parison", + "Ġcompar ison", + "* ,", + "Ġ Found", + "ĠF ound", + "ĠFo und", + "ĠFou nd", + "_ session", + "_s ession", + "_sess ion", + "( U", + "/ F", + "Ġ xxx", + "Ġx xx", + "Ġxx x", + "N etwork", + "Net work", + "d ers", + "de rs", + "der s", + "Ġ capture", + "Ġc apture", + "Ġcap ture", + "Ġcapt ure", + "Ġc orre", + "Ġcor re", + "Ġcorr e", + "Ġ Ltd", + "ĠL td", + "ĠLt d", + "Ġ Adv", + "ĠA dv", + "ĠAd v", + "[ @", + "Ġ clip", + "Ġc lip", + "Ġcl ip", + "Ġcli p", + "M ill", + "Mi ll", + "Mil l", + "Ġ Profile", + "ĠPro file", + "ĠPr ofile", + "ĠProf ile", + "Ġ endif", + "Ġen dif", + "Ġend if", + "Ġob lig", + "Ġobl ig", + "de scribe", + "des cribe", + "descr ibe", + ". element", + ".e lement", + ".el ement", + ".elem ent", + "riter ion", + "L D", + "e red", + "er ed", + "ere d", + "Ġf avour", + "Ġfav our", + "s core", + "sc ore", + "Ġ Filter", + "ĠF ilter", + "ĠFil ter", + "at tributes", + "attribute s", + "attrib utes", + "Ġ checks", + "Ġcheck s", + "Ġche cks", + "In flater", + "Inf later", + "Ġ Plus", + "ĠP lus", + "ĠPl us", + "Ġ scientific", + "Ġscient ific", + "Ġ privacy", + "Ġpriv acy", + "H ead", + "He ad", + "Ġ feat", + "Ġf eat", + "Ġfe at", + "Ġ degrees", + "Ġdeg rees", + "Ġdegree s", + "Ġ Pale", + "ĠP ale", + "ĠPal e", + "ĠPa le", + "; \">", + ";\" >", + "Ġ films", + "Ġfil ms", + "Ġfilm s", + "Ġ Audio", + "ĠA udio", + "ĠAud io", + "ĠAu dio", + "ĠAudi o", + "Ġ Tag", + "ĠT ag", + "ĠTa g", + "Ġ Energy", + "ĠE nergy", + "ĠEn ergy", + "ĠEnerg y", + "i tar", + "it ar", + "ita r", + "par ator", + "para tor", + "Ġf ellow", + "Ġfell ow", + "Ġfel low", + "Ġ evt", + "Ġe vt", + "Ġev t", + "Ġ Tri", + "ĠT ri", + "ĠTr i", + "ĠD AM", + "ĠDA M", + "c loud", + "cl oud", + "clo ud", + "Ġ Password", + "ĠP assword", + "ĠPass word", + "ĠPas sword", + "Ġ Democrats", + "ĠDem ocrats", + "ĠDemocr ats", + "ĠDemocrat s", + "ĠA cad", + "ĠAc ad", + "$ lang", + "$l ang", + "Ġ reb", + "Ġre b", + "Ġr eb", + "( ))ĊĊ", + "() )ĊĊ", + "()) ĊĊ", + "())Ċ Ċ", + "н Ñĭ", + "Ġ Bur", + "ĠB ur", + "ĠBu r", + "read cr", + "Ġ hex", + "Ġh ex", + "Ġhe x", + "2 09", + "20 9", + "Con sole", + "Cons ole", + "c tl", + "ct l", + "ou sel", + "ous el", + "ouse l", + "Ġ William", + "ĠWill iam", + "ĠWilli am", + "Ġ az", + "Ġa z", + "_ PORT", + "_P ORT", + "_PO RT", + "Ġpr actices", + "Ġpract ices", + "Ġpractice s", + "Ġany where", + "Ġ Position", + "ĠP osition", + "ĠPos ition", + "Ġ ->Ċ", + "Ġ- >Ċ", + "Ġ-> Ċ", + "i ams", + "ia ms", + "iam s", + ". username", + ".user name", + "place holder", + "Ġ oder", + "Ġo der", + "Ġod er", + "Ġode r", + "Ġ Secretary", + "ĠSecret ary", + "Ġ iT", + "Ġi T", + "m ond", + "mon d", + "mo nd", + "e vents", + "event s", + "ev ents", + "even ts", + "eve nts", + "? âĢĿ", + ". Sub", + ".S ub", + "Ġ attached", + "Ġatt ached", + "Ġattach ed", + "Ġn ão", + "Ġ estate", + "Ġe state", + "Ġest ate", + "Ġesta te", + "3 65", + "36 5", + ". action", + ".a ction", + ".ac tion", + ".act ion", + "Ġ figures", + "Ġfig ures", + "Ġfigure s", + "Ġfigur es", + "Ġ });čĊ", + "Ġ} );čĊ", + "Ġ}) ;čĊ", + "Ġ}); čĊ", + "Ġsub scri", + "Ġsubs cri", + ". tag", + ".t ag", + ".ta g", + "n am", + "na m", + ". plot", + ".p lot", + ".pl ot", + "n oon", + "no on", + "li ament", + "lia ment", + "Char acter", + ". tab", + ".t ab", + ".ta b", + "Ġ winter", + "Ġw inter", + "Ġwin ter", + "Ġ Variable", + "ĠVar iable", + "ĠVari able", + "Ġ trees", + "Ġt rees", + "Ġtr ees", + "Ġtre es", + "Ġtree s", + "Ġp roud", + "Ġpro ud", + "Ġpr oud", + "( V", + "_ load", + "_l oad", + "_lo ad", + "Ġh ier", + "Ġhi er", + "ĠE con", + "ĠEc on", + "ĠEco n", + "Ġ fd", + "Ġf d", + "Ġvict ims", + "Ġvictim s", + "R est", + "Re st", + "Res t", + "i ana", + "ia na", + "ian a", + "Ġ fake", + "Ġf ake", + "Ġfa ke", + "Ġfak e", + ".Print ln", + "Ġ strlen", + "Ġst rlen", + "Ġstr len", + "Ġ sad", + "Ġs ad", + "Ġsa d", + "Ġ ble", + "Ġb le", + "Ġbl e", + "P rot", + "Pro t", + "Pr ot", + "Ġ buttons", + "Ġbut tons", + "Ġbutton s", + "Ġbutt ons", + "Ġbutto ns", + "Ġte levision", + "Ġtele vision", + "Ġtelevis ion", + "Ġtelev ision", + "Ġ logo", + "Ġl ogo", + "Ġlo go", + "Ġlog o", + "ext ension", + "ĉ j", + "s tein", + "st ein", + "ste in", + "ac iones", + "acion es", + "aci ones", + "acio nes", + "Ġ \"\"\"ĊĊ", + "Ġ\"\" \"ĊĊ", + "Ġ\"\"\"Ċ Ċ", + "Ġ\"\"\" ĊĊ", + "Ġ simp", + "Ġs imp", + "Ġsim p", + "Ġsi mp", + "Ġrecord ed", + "Ġbr ings", + "Ġbring s", + "Ġ principal", + "Ġpr incipal", + "Ġprincip al", + "Ġf ees", + "Ġfe es", + "Ġfee s", + "( source", + "(s ource", + "k dir", + "kd ir", + "Ġ utils", + "Ġutil s", + "Ġut ils", + "Ġcorrect ly", + "f il", + "fi l", + "Ġ wel", + "Ġw el", + "Ġwe l", + "P air", + "Pa ir", + "- button", + "-b utton", + "-but ton", + "s cale", + "sc ale", + "scal e", + "ver ify", + "[ c", + "Ġ ---", + "Ġ- --", + "Ġ-- -", + "Ġ escape", + "Ġe scape", + "Ġes cape", + "Ġesc ape", + "Ġescap e", + "i kes", + "ik es", + "ike s", + "Lower Case", + "ic ian", + "ici an", + "icia n", + "Ġ chapter", + "Ġch apter", + "Ġcha pter", + "Ġchap ter", + "Ġ TYPE", + "ĠT YPE", + "ĠTY PE", + "Ġ shadow", + "Ġsh adow", + "Ġ awesome", + "Ġaw esome", + "Ġawe some", + "W E", + "e lif", + "el if", + "eli f", + "Ġ lambda", + "Ġl ambda", + "Ġlamb da", + "Ġ distinct", + "Ġdist inct", + "Ġ bare", + "Ġb are", + "Ġbar e", + "Ġba re", + "- off", + "-of f", + "-o ff", + "Ġ colour", + "Ġcol our", + ". appendChild", + ".append Child", + "o lec", + "ol ec", + "ole c", + "a ga", + "ag a", + ". fill", + ".f ill", + ".fi ll", + ".fil l", + "ĉ super", + "ĉs uper", + "Ġ adj", + "Ġa dj", + "Ġad j", + "( position", + "(p osition", + "(pos ition", + ". getItem", + ".get Item", + "2 42", + "24 2", + "S hort", + "Sh ort", + "Ġtot ally", + "Ġtotal ly", + "V D", + "Ġ Tre", + "ĠT re", + "ĠTr e", + "_ ep", + "_e p", + "v ements", + "ve ments", + "vement s", + "vem ents", + "Ġ Solution", + "ĠS olution", + "ĠSol ution", + "Ġfund ament", + "F ollow", + "Ġ facility", + "Ġfac ility", + "Ġfacilit y", + "Ġfacil ity", + "Ġhapp ening", + "Ġhappen ing", + "O F", + ". textBox", + ".text Box", + "S pan", + "Sp an", + "Ġ «", + "Ġ «", + "i den", + "id en", + "ide n", + "Ġex ceed", + "Ġexc eed", + "Ġexce ed", + "( parent", + "(p arent", + "(par ent", + "(paren t", + "(pa rent", + "Ġ cp", + "Ġc p", + "ç »", + "Ġh asn", + "Ġhas n", + "Ġha sn", + "Ġ pri", + "Ġp ri", + "Ġpr i", + "Ġcon sequ", + "Ġcons equ", + "Ġconse qu", + "n en", + "ne n", + "ĠIN TO", + "ĠINT O", + "I gnore", + "Ign ore", + "Ġ Future", + "ĠF uture", + "ĠFu ture", + "ĠFut ure", + "Ġ carbon", + "Ġc arbon", + "Ġcar bon", + "Ġcarb on", + "Ġ Steel", + "ĠSt eel", + "ĠSte el", + "f mt", + "fm t", + "o kie", + "ok ie", + "oki e", + "Ġ spl", + "Ġs pl", + "Ġsp l", + "( title", + "(t itle", + "(ti tle", + "- info", + "-in fo", + "-inf o", + "Ġde als", + "Ġdeal s", + "Ġ fixture", + "Ġf ixture", + "Ġfix ture", + "e a", + "D iv", + "Di v", + "Ġ tested", + "Ġt ested", + "Ġte sted", + "Ġtest ed", + "Ġtes ted", + "Ġteste d", + "_ return", + "_re turn", + "_r eturn", + "_ret urn", + ") ĊĊĊĊ", + ")Ċ ĊĊĊ", + ")ĊĊ ĊĊ", + ")ĊĊĊ Ċ", + "up ported", + "upport ed", + "upp orted", + "Ġ Cook", + "ĠC ook", + "ĠCo ok", + "Ġp aying", + "Ġpay ing", + "Ġpa ying", + "Ġ Ill", + "ĠI ll", + "ĠIl l", + "Ġarr ested", + "Ġarrest ed", + "Ġ Prime", + "ĠPr ime", + "ĠPri me", + "ĠPrim e", + "_ callback", + "_c allback", + "_call back", + "> ,Ċ", + ">, Ċ", + "d river", + "dr iver", + "drive r", + "O nce", + "On ce", + "a bb", + "ab b", + "_ bytes", + "_by tes", + "_byte s", + "Ġ Sets", + "ĠS ets", + "ĠSe ts", + "ĠSet s", + "( Object", + "(O bject", + "Ġ cc", + "Ġc c", + "Ġ shell", + "Ġs hell", + "Ġsh ell", + "Ġshe ll", + "Ġshel l", + "a lo", + "al o", + ") ;//", + "); //", + "( log", + "(l og", + "(lo g", + "2 64", + "26 4", + "c tors", + "ct ors", + "ctor s", + ") ", + "2 18", + "21 8", + "Ġ $(\".", + "Ġ$ (\".", + "Ġ$( \".", + "Ġ$(\" .", + ". pos", + ".p os", + ".po s", + "Ġ boys", + "Ġbo ys", + "Ġboy s", + "Ġwed ding", + "Ġ agents", + "Ġag ents", + "Ġage nts", + "Ġagent s", + "= \"_", + "=\" _", + "Ġ Army", + "ĠAr my", + "ĠArm y", + "Ġ hint", + "Ġh int", + "Ġhi nt", + "Ġhin t", + "v ision", + "vis ion", + "Ġ tech", + "Ġt ech", + "Ġte ch", + "Ġtec h", + "Ġ Connect", + "ĠCon nect", + "ĠConn ect", + "Ġ legend", + "Ġl egend", + "Ġle gend", + "Ġleg end", + "Ġ Bet", + "ĠB et", + "ĠBe t", + ". Base", + ".B ase", + "Sub ject", + "Su bject", + "Ġ lit", + "Ġl it", + "Ġli t", + "Re move", + "Rem ove", + "Ġ \":", + "Ġ\" :", + "Ġ Final", + "ĠF inal", + "ĠFin al", + "ĠFi nal", + "pear ance", + "ĠiT unes", + "Ġ participants", + "Ġpart icipants", + "Ġparticip ants", + "Ġparticipant s", + "Ġ Python", + "ĠP ython", + "ĠPy thon", + "Ġ busy", + "Ġbu sy", + "Ġbus y", + "i el", + "ie l", + "vert ices", + "Ġtemplate Url", + "Ġ Close", + "ĠC lose", + "ĠCl ose", + "ĠClo se", + "I mg", + "Im g", + "ĠCorpor ation", + "ĠCorp oration", + "t imestamp", + "time stamp", + "Ġ extend", + "Ġext end", + "Ġwe bsites", + "Ġweb sites", + "Ġwebsite s", + "Ġwebs ites", + "Ġposs ibility", + "Ġpossibilit y", + "о ÑĤ", + "Ġ kö", + "Ġk ö", + "Ġm eat", + "Ġme at", + "Ġ representation", + "Ġre presentation", + "Ġrep resentation", + "Ġrepresent ation", + "Ġrepresenta tion", + "2 41", + "24 1", + "Ġ ĉĉ", + "Ġĉ ĉ", + "_ START", + "_ST ART", + "_STAR T", + "_STA RT", + ". apply", + ".app ly", + ".ap ply", + "ĠV alley", + "ĠVal ley", + "ĠValle y", + "ĠVall ey", + "Ġ Success", + "ĠS uccess", + "ĠSu ccess", + "ĠSuc cess", + "ĠSucc ess", + "H i", + "Ġ nob", + "Ġn ob", + "Ġno b", + "Ġ IEnumerable", + "ĠI Enumerable", + "_ select", + "_s elect", + "_se lect", + "_sel ect", + "g eo", + "ge o", + ". \")Ċ", + ".\" )Ċ", + ".\") Ċ", + "Ġt urning", + "Ġturn ing", + "Ġtur ning", + "Ġ fabric", + "Ġf abric", + "Ġfab ric", + "(\" \");Ċ", + "(\"\" );Ċ", + "(\"\") ;Ċ", + "(\"\"); Ċ", + "Ġp erspective", + "Ġpers pective", + "é Ĺ", + "Ġ Sn", + "ĠS n", + "Th ank", + "Than k", + "; j", + ". Parameters", + ".Param eters", + ".Parameter s", + "ĉ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĉĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĉĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĉĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ facts", + "Ġf acts", + "Ġfact s", + "Ġfa cts", + "Ġfac ts", + "3 05", + "30 5", + "Ġ unt", + "Ġu nt", + "Ġun t", + ". instance", + ".in stance", + ".inst ance", + "#### ############################################################", + "######## ########################################################", + "################ ################################################", + "################################ ################################", + "################################################ ################", + "######################################## ########################", + "######################## ########################################", + "######################################################## ########", + "############################################################ ####", + "- end", + "-e nd", + "-en d", + "Ġ JOIN", + "ĠJO IN", + "Ġ Hen", + "ĠH en", + "ĠHe n", + "Ġ uri", + "Ġu ri", + "Ġur i", + "åIJ į", + "Ġ на", + "Ġн а", + "Ġ Info", + "ĠIn fo", + "ĠInf o", + "Ġcon ducted", + "Ġconduct ed", + "Ġconduc ted", + "Ġ Ã¥", + "Ġà ¥", + "OUR CE", + "Ġ wine", + "Ġw ine", + "Ġwin e", + "Ġwi ne", + "J ohn", + "Jo hn", + ".Error f", + ".Err orf", + "Ġ Age", + "ĠA ge", + "ĠAg e", + "o unded", + "ound ed", + "oun ded", + "Ġreal ize", + "Ġrealiz e", + "3 12", + "31 2", + "Ġ ];", + "Ġ] ;", + "Ġsub sequ", + "Ġsubs equ", + ", m", + "( User", + "(U ser", + "i ano", + "ia no", + "ian o", + "Ġaccom pl", + "Ġaccomp l", + "i sp", + "is p", + ". std", + ".s td", + ".st d", + "é ĩ", + "Ġ Bed", + "ĠB ed", + "ĠBe d", + ". setAttribute", + ".set Attribute", + "B R", + "ke ep", + "kee p", + "Ġ ALL", + "ĠA LL", + "ĠAL L", + "Ġ isol", + "Ġis ol", + "Ġi sol", + "Ġiso l", + "a mma", + "am ma", + "amm a", + "P ackage", + "Pack age", + "Ġ occasion", + "Ġocc asion", + "Ġoccas ion", + "- success", + "-s uccess", + "-su ccess", + "е д", + "еР´", + "ĠLIMIT ED", + "s trip", + "st rip", + "str ip", + "stri p", + "( )ĊĊĊ", + "() ĊĊĊ", + "()Ċ ĊĊ", + "()ĊĊ Ċ", + "is tribution", + "istrib ution", + "Color s", + "Col ors", + "Ġ+ :+", + "Did Load", + "a ler", + "al er", + "ale r", + "Ġ tid", + "Ġt id", + "Ġti d", + "Ġ LED", + "ĠL ED", + "ĠLE D", + "Ġ Linked", + "ĠLink ed", + "ĠLin ked", + "Ġ Cart", + "ĠC art", + "ĠCar t", + "ĠCa rt", + "( ))čĊ", + "() )čĊ", + "()) čĊ", + "_ READ", + "_RE AD", + "Ġk illing", + "Ġkill ing", + "Ġkil ling", + "Ġ PHP", + "ĠP HP", + "ĠPH P", + "f ection", + "fe ction", + "fect ion", + "fec tion", + "Ġ instances", + "Ġin stances", + "Ġinst ances", + "Ġinstance s", + "c v", + "\" />", + "\"/ >", + "Ġ sf", + "Ġs f", + "Ġt axes", + "Ġtax es", + "Ġta xes", + "_ location", + "_l ocation", + "_lo cation", + "_loc ation", + "Ġ Bitcoin", + "ĠBit coin", + "u able", + "ua ble", + "r ank", + "ra nk", + "ran k", + "i gnore", + "ig nore", + "ign ore", + "t rack", + "tr ack", + "tra ck", + "к а", + "Ġshould n", + "Ġ OP", + "ĠO P", + "= >{Ċ", + "=> {Ċ", + "Ġ km", + "Ġk m", + "Ġ helper", + "Ġh elper", + "Ġhelp er", + "Ġhel per", + "_ head", + "_h ead", + "_he ad", + "Ġ Whether", + "ĠWh ether", + "ĠWhe ther", + "o co", + "oc o", + "_ bl", + "_b l", + "Ġ statistics", + "Ġstat istics", + "Ġstatist ics", + "Ġstatistic s", + "Ġbe auty", + "Ġbeaut y", + "Ġbeau ty", + "Ġ tog", + "Ġt og", + "Ġto g", + "t ip", + "ti p", + "ëĭ ¤", + "Ġ csv", + "Ġc sv", + "Ġcs v", + "( sql", + "(s ql", + "(sq l", + "std lib", + "we ak", + "Ġ likes", + "Ġl ikes", + "Ġli kes", + "Ġlike s", + "Ġlik es", + "Ä į", + "Ġ repeat", + "Ġre peat", + "Ġrep eat", + "Ġrepe at", + "Ġa partment", + "Ġap artment", + "Ġapart ment", + "Ġe mph", + "Ġem ph", + "Ġemp h", + "_ edit", + "_e dit", + "_ed it", + "Ġ vit", + "Ġv it", + "Ġvi t", + "ĉ type", + "ĉt ype", + "ĉtyp e", + "2 17", + "21 7", + "E ven", + "Ev en", + "u ten", + "ut en", + "ute n", + "Ġcircum stances", + "Ġcircumstance s", + "b ian", + "bi an", + "bia n", + "Ġs ugar", + "Ġsu gar", + "Ġsug ar", + "W indows", + "Window s", + "Wind ows", + "ì ŀ", + "Ġobs erved", + "Ġobserv ed", + "Ġobserve d", + "/ data", + "/d ata", + "/dat a", + "Ġ calendar", + "Ġc alendar", + "Ġcal endar", + "Ġcalend ar", + "Ġ strike", + "Ġst rike", + "Ġstr ike", + "Ġstri ke", + "Ġ RES", + "ĠR ES", + "ĠRE S", + "_ sc", + "_s c", + "f ony", + "fo ny", + "fon y", + "o rem", + "or em", + "ore m", + "( z", + "p ower", + "po wer", + "pow er", + "et ect", + "ete ct", + "Ġ Sat", + "ĠS at", + "ĠSa t", + ". description", + ".d escription", + ".de scription", + ".des cription", + "Ġ gang", + "Ġg ang", + "Ġga ng", + "Ġgan g", + "Ġ Sports", + "ĠS ports", + "ĠSp orts", + "ĠSport s", + "ĠSpo rts", + "ĠSpor ts", + "on gs", + "ong s", + "Ġ Bundle", + "ĠB undle", + "ĠBund le", + "ĠBun dle", + ". sum", + ".s um", + "o nce", + "on ce", + "Ġacc used", + "Ġaccus ed", + "Ġaccuse d", + "Ġexp lore", + "Ġexpl ore", + "Ġexplo re", + "Ġexplor e", + "Ġ approximately", + "Ġapprox imately", + "Ġapproximate ly", + "Ġ losing", + "Ġl osing", + "Ġlo sing", + "Ġlos ing", + "th esis", + "the sis", + "thes is", + "Ġ Fund", + "ĠF und", + "ĠFun d", + "ĠFu nd", + "Ġdi agn", + "Ġdia gn", + "Ġdiag n", + "A utowired", + "p roperties", + "prop erties", + "proper ties", + "Ġ _.", + "Ġ_ .", + "Ġ cnt", + "Ġc nt", + "Ġcn t", + "ced ure", + "Ġ yy", + "Ġy y", + "Ġ grant", + "Ġg rant", + "Ġgr ant", + "Ġgran t", + "Ġgra nt", + "s ock", + "so ck", + "soc k", + ". innerHTML", + ".inner HTML", + "Ġ ]);Ċ", + "Ġ] );Ċ", + "Ġ]) ;Ċ", + "Ġ]); Ċ", + "Ġ CONFIG", + "ĠCON FIG", + "ĠCONF IG", + "= '$", + "=' $", + "5 50", + "55 0", + "] ];Ċ", + "]] ;Ċ", + "]]; Ċ", + "U ND", + "UN D", + "Ġ glob", + "Ġg lob", + "Ġgl ob", + "Ġglo b", + "Ġ dire", + "Ġd ire", + "Ġdi re", + "Ġdir e", + "uff le", + "_ MEM", + "_M EM", + "_ME M", + "Ġauth entic", + "> (\"", + ">( \"", + "Ġde cade", + "Ġdec ade", + "Ġdecad e", + "Ġ Import", + "ĠIm port", + "ĠImp ort", + "Ġorig inally", + "Ġoriginal ly", + "Ġorigin ally", + "Ġ jQuery", + "Ġj Query", + "Ġind icate", + "Ġindic ate", + "Ġindica te", + "Ġours elves", + "S w", + ". lbl", + ".l bl", + ".lb l", + "en erate", + "ener ate", + "ene rate", + "Ġbas ically", + "Ġbasic ally", + "Ġ Hom", + "ĠH om", + "ĠHo m", + "Ġ+ #+", + "Ġ+# +", + "Ġ Britain", + "ĠBrit ain", + "ĠBri tain", + "Ġ Kar", + "ĠK ar", + "ĠKa r", + "to Equal", + ". stop", + ".s top", + ".st op", + "Ġ modal", + "Ġm odal", + "Ġmod al", + "Ġmo dal", + "Ġmoda l", + "i si", + "is i", + "Ġsuggest s", + "Ġ dtype", + "Ġd type", + "Ġdt ype", + "Ġ tur", + "Ġt ur", + "Ġtu r", + "b f", + "Ġ connections", + "Ġconnection s", + "Ġconn ections", + "Ġconnect ions", + "Ġ Before", + "ĠB efore", + "ĠBe fore", + "i sted", + "is ted", + "ist ed", + "iste d", + "m ouse", + "mo use", + "Ġp ulled", + "Ġpull ed", + "Ġpul led", + ". build", + ".b uild", + "Ġleg islation", + "Ġlegis lation", + "Ġlegisl ation", + "Ġ forth", + "Ġf orth", + "Ġfor th", + "Ġfort h", + "p ad", + "pa d", + "e go", + "eg o", + ". Now", + ".N ow", + ".No w", + "Ġexc iting", + "Ġexcit ing", + "} ĊĊĊĊ", + "}Ċ ĊĊĊ", + "}ĊĊ ĊĊ", + "}ĊĊĊ Ċ", + "Ġcom pr", + "Ġco mpr", + "Ġcomp r", + "Ġ shares", + "Ġsh ares", + "Ġshare s", + "Ġsha res", + "Ġshar es", + "Ġ rig", + "Ġr ig", + "Ġri g", + "g reen", + "gr een", + "gre en", + "gree n", + "_ vec", + "_v ec", + "_ve c", + "Ġ enumerate", + "Ġenum erate", + "Ġenumer ate", + "A uto", + "Aut o", + "Au to", + "ic ator", + "ica tor", + "Ġ Ray", + "ĠR ay", + "ĠRa y", + "a sse", + "as se", + "ass e", + "Ġ holiday", + "Ġh oliday", + "Ġhol iday", + "Ġ nullable", + "Ġnull able", + "Ġnulla ble", + "g un", + "gu n", + "_ details", + "_d etails", + "_de tails", + "_detail s", + "_det ails", + "Ġ wrapper", + "Ġw rapper", + "Ġwr apper", + "Ġwrap per", + "s eq", + "se q", + "Ġ Young", + "ĠYou ng", + "ĠYo ung", + "ju ana", + "juan a", + "Ġ\" __", + "Ġ\"_ _", + "l icense", + "lic ense", + "s erve", + "se rve", + "ser ve", + "serv e", + "^ (", + "i ders", + "id ers", + "ide rs", + "ider s", + ". Remove", + ".Re move", + ".Rem ove", + "rop down", + "' S", + "p in", + "pi n", + "( token", + "(t oken", + "(to ken", + "(tok en", + ". Default", + ".D efault", + ".De fault", + ".Def ault", + "Ġ reasonable", + "Ġreason able", + "amp ion", + "ĠS ociety", + "ĠSoci ety", + "Ġ bei", + "Ġb ei", + "Ġbe i", + "er ves", + "erv es", + "erve s", + "r ad", + "ra d", + "Ġ Fox", + "ĠF ox", + "ĠFo x", + "_ images", + "_image s", + "_im ages", + "_imag es", + "Ġ wheel", + "Ġw heel", + "Ġwh eel", + "Ġwhe el", + "' )[", + "') [", + "Ġ cfg", + "Ġc fg", + "Ġcf g", + "( By", + "(B y", + "Con structor", + "Construct or", + "Ġ vary", + "Ġv ary", + "Ġvar y", + "Ġva ry", + ". swift", + ".sw ift", + "Ġ proxy", + "Ġpro xy", + "Ġpr oxy", + "Ġprox y", + "ĉ H", + "Ġ Another", + "ĠAn other", + "Ġ Pen", + "ĠP en", + "ĠPe n", + "Ġ checking", + "Ġcheck ing", + "Ġ jest", + "Ġj est", + "Ġje st", + "Ġjes t", + "m anager", + "man ager", + "manage r", + "mana ger", + "Or igin", + "Orig in", + "u gs", + "ug s", + "o ir", + "oi r", + "> čĊ", + "Ġ-- >čĊ", + "Ġ--> čĊ", + "Ġrel ief", + "Ġreli ef", + "Ġrelie f", + "l ap", + "la p", + "q uer", + "qu er", + "que r", + "_ parent", + "_p arent", + "_par ent", + "_pa rent", + "he ap", + "hea p", + "L OSE", + "LO SE", + "LOS E", + "Ġ combine", + "Ġc ombine", + "Ġcom bine", + "Ġcomb ine", + "Ġcombin e", + "Ġ Rose", + "ĠR ose", + "ĠRo se", + "ĠRos e", + "o wers", + "ow ers", + "ower s", + "owe rs", + "Ġpro cedures", + "Ġproced ures", + "Ġprocedure s", + "Ġ Sort", + "ĠS ort", + "ĠSo rt", + "ĠSor t", + "a nim", + "an im", + "ani m", + "v ariant", + "var iant", + "vari ant", + "eh icle", + "Ġsign ing", + "Ġsig ning", + "Ġsignin g", + "Pr imary", + "Prim ary", + "Pri mary", + "c urrency", + "curr ency", + "Ġs exe", + "Ġse xe", + "Ġsex e", + "o en", + "oe n", + "th eta", + "the ta", + "e man", + "em an", + "ema n", + "Ġim pressive", + "Ġimp ressive", + "Ġimpress ive", + "( '_", + "(' _", + "ĉ U", + "Ġ TextStyle", + "ĠText Style", + "_ cnt", + "_c nt", + "_cn t", + "Ġ slice", + "Ġs lice", + "Ġsl ice", + "Ġslic e", + "( ':", + "(' :", + "Ġunder stood", + "Ġunderst ood", + "H is", + "Hi s", + "2 77", + "27 7", + "0 13", + "01 3", + "Ġin formed", + "Ġinform ed", + "Ġ nick", + "Ġn ick", + "Ġni ck", + "Ġnic k", + "4 29", + "42 9", + "( TAG", + "(T AG", + "h d", + "Ġe lections", + "Ġel ections", + "Ġelect ions", + "Ġelection s", + "Ġele ctions", + "es ture", + "est ure", + "Ġ Santa", + "ĠS anta", + "ĠSan ta", + "ĠSant a", + "ĠCo ast", + ". pdf", + ".p df", + "inc iple", + "incip le", + "inci ple", + ". clone", + ".cl one", + "b orn", + "bo rn", + "bor n", + "u ta", + "ut a", + "Ġ licensed", + "Ġl icensed", + "Ġlicense d", + "Ġlic ensed", + "Ġlicens ed", + "C r", + "Ġ bread", + "Ġb read", + "Ġbr ead", + "Ġbre ad", + "Ġ Houston", + "ĠH ouston", + "ĠHou ston", + "Ġ nod", + "Ġn od", + "Ġno d", + "Ġh opes", + "Ġhope s", + "Ġhop es", + "Ġho pes", + "Ġ CGRect", + "ĠCG Rect", + "Ġgu ilty", + "Ġguilt y", + ". gif", + ".g if", + "Ġ rose", + "Ġr ose", + "Ġro se", + "Ġros e", + ". Common", + ".Com mon", + ".Comm on", + "T ip", + "Ti p", + "A NK", + "AN K", + "Ġ FC", + "ĠF C", + "D uring", + "Du ring", + "Dur ing", + "Ġ Symfony", + "ĠSym fony", + "Ġdef ensive", + "k m", + ") >", + "a rchive", + "arch ive", + "arc hive", + "Ġ URI", + "ĠU RI", + "ĠUR I", + "y cling", + "yc ling", + "ycl ing", + "- o", + "Ġ Website", + "ĠWe bsite", + "ĠWeb site", + "A MP", + "AM P", + "4 05", + "40 5", + "ish ment", + "Ġdo ctors", + "Ġdoc tors", + "Ġdoctor s", + "D irect", + "Dir ect", + "Di rect", + "Dire ct", + "A RI", + "AR I", + "Ġ Redirect", + "ĠRe direct", + "ĠRed irect", + "i eren", + "ie ren", + "ier en", + "iere n", + "9 60", + "96 0", + "_ dist", + "_d ist", + "_dis t", + "_di st", + "y o", + "Ġ Progress", + "ĠPro gress", + "Ġz um", + "Ġzu m", + "Ġme mor", + "Ġmem or", + "Ġmemo r", + "Ġ ED", + "ĠE D", + "Ġ jur", + "Ġj ur", + "Ġju r", + "æį ®", + "_ TABLE", + "_T ABLE", + "_TAB LE", + "_TA BLE", + "Ġ uuid", + "Ġu uid", + "Ġuu id", + "Ex pr", + "Exp r", + ". head", + ".h ead", + ".he ad", + "( '%", + "(' %", + "point er", + "po inter", + "Ġ estimate", + "Ġest imate", + "Ġestim ate", + "Ġ Greg", + "ĠG reg", + "ĠGr eg", + "ĠGre g", + "Ġ loader", + "Ġl oader", + "Ġlo ader", + "Ġload er", + "Ġloa der", + "Ġ iOS", + "Ġi OS", + "Ġ mens", + "Ġm ens", + "Ġme ns", + "Ġmen s", + "[ y", + "Ġref used", + "Ġrefuse d", + "Ġ precision", + "Ġp recision", + "Ġpre cision", + "Ġprec ision", + "Ġprecis ion", + "i sch", + "is ch", + "isc h", + "Ġ ACTION", + "ĠA CTION", + "ĠAC TION", + "ĠACT ION", + "C loud", + "Cl oud", + "Clo ud", + "s With", + "( ret", + "(r et", + "(re t", + "2 92", + "29 2", + "_ ADDR", + "_A DDR", + "_ADD R", + "_AD DR", + "_ conf", + "_con f", + "_co nf", + "( df", + "(d f", + "Ġ locked", + "Ġl ocked", + "Ġloc ked", + "Ġlock ed", + "Ġ rising", + "Ġr ising", + "Ġris ing", + "Ġri sing", + "ãĥ» ãĥ»", + "Ġ Ms", + "ĠM s", + "Ġ scenes", + "Ġsc enes", + "Ġscene s", + "Ġscen es", + "Ġsce nes", + "_ EXT", + "_E XT", + "_EX T", + "_ raw", + "_r aw", + "_ra w", + "_ the", + "_t he", + "_th e", + "pe ople", + "Ġre con", + "Ġrec on", + "Ġreco n", + "Ġ Fun", + "ĠF un", + "ĠFu n", + "Ġb less", + "Ġbl ess", + "Ġble ss", + "Ġ Updated", + "ĠUp dated", + "ĠUpdate d", + "4 22", + "42 2", + "ü n", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠčĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠčĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠčĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ čĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠčĊ", + "p ection", + "pe ction", + "pect ion", + "pec tion", + "R elease", + "Re lease", + "Rel ease", + ". logger", + ".log ger", + ".lo gger", + "Ġ SY", + "ĠS Y", + "Ġc ounsel", + "Ġcoun sel", + "u rd", + "ur d", + "_ true", + "_tr ue", + "Ġevery body", + "iv ot", + "ivo t", + "Ġh ence", + "Ġhe nce", + "Ġhen ce", + "Ġ NAS", + "ĠN AS", + "ĠNA S", + "7 89", + "78 9", + "Ġop posed", + "Ġopp osed", + "Ġoppos ed", + "Ġoppose d", + "un known", + "unk nown", + "Ġ DESC", + "ĠD ESC", + "ĠDE SC", + "ĠDES C", + "Ġ Chair", + "ĠC hair", + "ĠCh air", + "ĠCha ir", + "f ailed", + "fa iled", + "fail ed", + "Ġ INCLUDING", + "ĠIN CLUDING", + "3 86", + "38 6", + "3 52", + "35 2", + "Ġ writers", + "Ġw riters", + "Ġwrit ers", + "Ġwrite rs", + "Ġwriter s", + "{ }Ċ", + "{} Ċ", + "ÃŃ t", + "_ copy", + "_c opy", + "_co py", + "} :", + "Ġ Bat", + "ĠB at", + "ĠBa t", + "Ġ converted", + "Ġcon verted", + "Ġconvert ed", + "Ġconver ted", + "e ding", + "ed ing", + "edi ng", + "edin g", + "pl acement", + "place ment", + "Ġ Host", + "ĠH ost", + "ĠHo st", + "ĠHos t", + "S ound", + "So und", + "Sou nd", + "и м", + "Ġs ought", + "Ġso ught", + "Ġsou ght", + "4 02", + "40 2", + "m id", + "mi d", + "Ġ salary", + "Ġs alary", + "Ġsal ary", + "Ġsala ry", + "o gg", + "og g", + "âĦ ¢", + "b ul", + "bu l", + "Ġw ir", + "Ġwi r", + "valid ator", + "_ STAT", + "_ST AT", + "_STA T", + ". store", + ".st ore", + "Ġ Battle", + "ĠB attle", + "ĠBat tle", + "ĠBatt le", + "ı n", + "Ġ -->ĊĊ", + "Ġ-- >ĊĊ", + "Ġ-->Ċ Ċ", + "Ġ--> ĊĊ", + "Tr ump", + "d ot", + "do t", + "Ġ CONT", + "ĠC ONT", + "ĠCON T", + "ĠCO NT", + ". fetch", + ".f etch", + "Ġcont inu", + "Ġcontin u", + "w as", + "wa s", + "Ġf raud", + "Ġfr aud", + "Ġfra ud", + "Ġfrau d", + "_ tmp", + "_t mp", + "_tm p", + "m itter", + "mit ter", + "mitt er", + ". pictureBox", + ".p ictureBox", + ".picture Box", + "G A", + "Ġ tournament", + "Ġt ournament", + ". Input", + ".In put", + "3 43", + "34 3", + "[ r", + "ex ion", + "cent age", + "ĠK orean", + "ĠKore an", + "ĠKorea n", + "ĠKor ean", + "u ndef", + "un def", + "und ef", + "unde f", + "Ġ Available", + "ĠA vailable", + "ĠAv ailable", + "re shape", + "res hape", + "resh ape", + "Ġ kit", + "Ġk it", + "Ġki t", + "Ġ Struct", + "ĠStr uct", + "Ġ SUB", + "ĠS UB", + "ĠSU B", + "An swer", + "Ans wer", + "_ lib", + "_l ib", + "_li b", + ". twitter", + ".t witter", + ".tw itter", + "Ġ ore", + "Ġo re", + "Ġor e", + "Ġ Dragon", + "ĠD ragon", + "ĠDr agon", + "ĠDrag on", + "ĠDra gon", + ". Ext", + ".Ex t", + ".E xt", + ", k", + "Ġex planation", + "Ġexplan ation", + "r efs", + "re fs", + "ref s", + "Ġ Drive", + "ĠD rive", + "ĠDr ive", + "Ġ Training", + "ĠTr aining", + "ĠTra ining", + "ĠTrain ing", + "2 82", + "28 2", + ". Has", + ".H as", + "3 41", + "34 1", + "int age", + "inta ge", + "b ig", + "bi g", + "olog ist", + "olo gist", + "ologi st", + "en nis", + "enn is", + "4 60", + "46 0", + "Ù ĩ", + "Ġch icken", + "Ġchi cken", + "Ġchick en", + "Ġchic ken", + "Ġ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ Ċ", + "ç Ľ", + "ãģ §", + "Ġ peak", + "Ġpe ak", + "Ġpea k", + "Ġdr inking", + "Ġdrink ing", + "Ġ encode", + "Ġen code", + "Ġenc ode", + "Ġ NEW", + "ĠN EW", + "ĠNE W", + "m alloc", + "mal loc", + "mall oc", + "ĉ fprintf", + "ĉf printf", + "Ġ= ================================================================", + "Ġ================= ================================================", + "Ġ================================================= ================", + "Ġ================================= ================================", + "Ġ============================================================== ===", + "in cluding", + "incl uding", + "inclu ding", + "Ġprincip les", + "Ġprinciple s", + "Ġprinc iples", + "Ġ Mah", + "ĠM ah", + "ĠMa h", + "2 67", + "26 7", + "st orage", + "sto rage", + "stor age", + "- key", + "-k ey", + "Ġ keyword", + "Ġkey word", + "% ;", + "Ġ trained", + "Ġtr ained", + "Ġtrain ed", + "Ġtra ined", + "Ġtrai ned", + ". contrib", + ".con trib", + ".cont rib", + "Ġ kv", + "Ġk v", + "__ ':Ċ", + "Ġ Boy", + "ĠB oy", + "ĠBo y", + "param eter", + "para meter", + "Ġ suite", + "Ġs uite", + "Ġsu ite", + "Ġsuit e", + "Ġsui te", + "Ġth ousand", + "Ġthous and", + "Ġthou sand", + "Ġ coordinate", + "Ġco ordinate", + "Ġcoord inate", + "Ġcoordin ate", + "- generated", + "-g enerated", + "íķ ĺ", + "g enerated", + "gener ated", + "generate d", + "gene rated", + "Ġad mitted", + "Ġadm itted", + "Ġadmit ted", + "Ġp ussy", + "Ġpus sy", + "Ġpuss y", + "# w", + "Ġsw im", + "un ion", + "uni on", + "N a", + "2 74", + "27 4", + "Ġ Royal", + "ĠR oyal", + "ĠRoy al", + "ĠRo yal", + ". channel", + ".ch annel", + "Up dated", + "Update d", + "_ ROOT", + "_R OOT", + "_RO OT", + "Ġv ital", + "Ġvi tal", + "Ġvit al", + "Ġvita l", + "3 35", + "33 5", + "r action", + "ra ction", + "rac tion", + "ract ion", + "ĠCr usher", + "ĠCrush er", + "ĠCru sher", + "ĠCrus her", + "Ġ preced", + "Ġpr eced", + "Ġpre ced", + "Ġprec ed", + "Ġ horizontal", + "Ġh orizontal", + "Ġhor izontal", + "Ġhorizon tal", + "Blue print", + "Ġ attrs", + "Ġat trs", + "Ġatt rs", + "Ġattr s", + "Ġsm oke", + "Ġsmo ke", + "Ð Ĵ", + ". Equals", + ".E quals", + ".Equal s", + "F B", + "Ġ Resources", + "ĠRe sources", + "ĠRes ources", + "ĠResource s", + "rol ling", + "roll ing", + "Ġ passes", + "Ġp asses", + "Ġpass es", + "Ġpas ses", + "Ġpasse s", + "Ġ Num", + "ĠN um", + "ĠNu m", + "r otate", + "rot ate", + "e type", + "et ype", + "ety pe", + "\\ \",", + "\\\" ,", + "Ġs ensitive", + "Ġsens itive", + "Ġsensit ive", + "Ġt all", + "Ġtal l", + "Ġta ll", + "? âĢĿĊĊ", + "?âĢĿ ĊĊ", + "Pro xy", + "Pr oxy", + "i y", + "_ section", + "_s ection", + "_se ction", + "_sec tion", + "âĢĶâĢĶ âĢĶâĢĶ", + "b rid", + "br id", + "Ġc ircuit", + "Ġcirc uit", + "a tan", + "at an", + "ata n", + "E NC", + "EN C", + "Ġdr iven", + "Ġdrive n", + "Ġdriv en", + "Ġdri ven", + "Ġv oted", + "Ġvo ted", + "Ġvot ed", + "Ġvote d", + "Ġeduc ational", + "Ġeducation al", + "Ġ interaction", + "Ġinter action", + "Ġinteract ion", + "Ġinte raction", + "ab etes", + "abe tes", + "abet es", + "Ġ tone", + "Ġt one", + "Ġto ne", + "Ġton e", + "ĠInitialize Component", + "Ġmer ely", + "Ġmere ly", + "Ġ ìŀ", + "Ġì ŀ", + "c ookie", + "co okie", + "cook ie", + "_ div", + "_d iv", + "_di v", + "Ġ UILabel", + "ĠUI Label", + "ĠUIL abel", + "v ely", + "ve ly", + "vel y", + "} );čĊ", + "}) ;čĊ", + "}); čĊ", + "_ ENT", + "_E NT", + "_EN T", + "#+ #+", + "art icles", + "article s", + "arti cles", + "artic les", + "Ġ Southern", + "ĠSouth ern", + "ĠSou thern", + "Ġstrong er", + "Ġstro nger", + "Ġstron ger", + "Ġ Given", + "ĠG iven", + "ĠGi ven", + "ĠGive n", + "Ġ Eric", + "ĠE ric", + "ĠEr ic", + "Ġ IR", + "ĠI R", + "a bstract", + "ab stract", + "abs tract", + "U nder", + "Un der", + "Und er", + "n able", + "na ble", + "Ġ increment", + "Ġin crement", + "Ġincre ment", + "Ġinc rement", + "Ġincr ement", + "o ven", + "ov en", + "ove n", + "Ġ coin", + "Ġc oin", + "Ġco in", + "Ġcoi n", + "_ timer", + "_t imer", + "_time r", + "_tim er", + "_ti mer", + "Ġsuffer ed", + "Ġsuff ered", + "Ġ FREE", + "ĠF REE", + "ĠFR EE", + "ĠFRE E", + "' ].\"", + "'] .\"", + "']. \"", + "Ġ Queen", + "ĠQu een", + "ĠQue en", + "st ats", + "stat s", + "sta ts", + "Ġmeet ings", + "Ġmeeting s", + "Ġmee tings", + "2 76", + "27 6", + "Ġen tering", + "Ġent ering", + "Ġenter ing", + "Ġalong side", + "( session", + "(s ession", + "(sess ion", + "it als", + "ital s", + "ita ls", + "Ġ foundation", + "Ġf oundation", + "Ġfound ation", + "Ġ Credit", + "ĠC redit", + "ĠCr edit", + "ĠCre dit", + ". div", + ".d iv", + ".di v", + "_ ALL", + "_A LL", + "_AL L", + "p cion", + "pc ion", + "pci on", + "_ stat", + "_s tat", + "_st at", + "_sta t", + "ic king", + "ick ing", + "Default s", + "_ src", + "_s rc", + "_sr c", + "Ġ outputs", + "Ġout puts", + "Ġoutput s", + "/ B", + "Ġen thus", + "Ġent hus", + "Ġenth us", + "- bl", + "-b l", + ". ForeColor", + ".Fore Color", + "ĉ temp", + "ĉt emp", + "F ace", + "Fac e", + "Fa ce", + "Ġinter act", + "Ġinte ract", + "Ġwe ird", + "Ġwei rd", + "Ġweir d", + "M ount", + "Mo unt", + "r ell", + "re ll", + "rel l", + "ud ents", + "ude nts", + "udent s", + "uden ts", + "Ġrequire ment", + "Ġrequ irement", + "Ġ Sus", + "ĠS us", + "ĠSu s", + "I ER", + "IE R", + "Ġe lected", + "Ġel ected", + "Ġelect ed", + "re ference", + "ref erence", + "refer ence", + "Ġ ME", + "ĠM E", + "Ġ servers", + "Ġs ervers", + "Ġser vers", + "Ġserver s", + "Ġserv ers", + "Ġserve rs", + ". wait", + ".w ait", + "Ġ snapshot", + "Ġs napshot", + "Ġsnap shot", + "Ġsnaps hot", + "il ton", + "ilt on", + "Ġ tries", + "Ġt ries", + "Ġtr ies", + "Ġtri es", + "Ġtrie s", + "Ġ tipo", + "Ġt ipo", + "Ġti po", + "Ġtip o", + ". Time", + ".T ime", + "> w", + "Ġm ountain", + "Ġmount ain", + "Ġp ounds", + "Ġpo unds", + "Ġpou nds", + "Ġpound s", + "Ġ[ ...", + "Ġ[. ..", + "ex ists", + "exist s", + "Ġng On", + "_ MAP", + "_M AP", + "_MA P", + "Ġf lying", + "Ġfl ying", + "Ġfly ing", + "3 31", + "33 1", + "xi ety", + "ĉ value", + "ĉv alue", + "ĉval ue", + "ĉva lue", + "_ DB", + "_D B", + "u no", + "un o", + "Ġse ats", + "Ġsea ts", + "Ġseat s", + "T URN", + "TU RN", + ". author", + ".a uthor", + ".auth or", + ".aut hor", + "! )", + "or ce", + "orc e", + "Ġind icated", + "Ġindic ated", + "Ġindicate d", + "Ġindica ted", + "3 17", + "31 7", + ". sin", + ".s in", + ".si n", + "Ġ assignment", + "Ġass ignment", + "Ġassign ment", + "im iento", + "imi ento", + "Ġ Frame", + "ĠF rame", + "ĠFr ame", + "ĠFra me", + "ĠFram e", + "3 24", + "32 4", + "_ gen", + "_g en", + "_ge n", + "in ery", + "ine ry", + "iner y", + "_ )", + "m essages", + "message s", + "mess ages", + ". settings", + ".s ettings", + ".set tings", + ".setting s", + "Ġ Mean", + "ĠM ean", + "ĠMe an", + "ĠM useum", + "ĠMus eum", + "ĠMuse um", + "i rq", + "ir q", + "at tach", + "att ach", + "atta ch", + "ĠPale stin", + "ĠPalest in", + "_ QU", + "_Q U", + "_ tags", + "_t ags", + "_tag s", + "_ta gs", + "Ġcas ual", + "e men", + "em en", + "eme n", + "ASS WORD", + "4 32", + "43 2", + "$ s", + "ĠC irc", + "ĠCi rc", + "ĠCir c", + "о й", + "оР¹", + "et ric", + "etr ic", + "etri c", + "/ P", + "0 18", + "01 8", + "Ġ epoch", + "Ġep och", + "< head", + " The", + ">T he", + "Ġ Ak", + "ĠA k", + "Ġ grass", + "Ġgr ass", + "Ġgra ss", + "Ġgras s", + "/ *čĊ", + "/* čĊ", + "( dis", + "(d is", + "(di s", + "Ġ guns", + "Ġg uns", + "Ġgu ns", + "Ġgun s", + "Ġ tb", + "Ġt b", + "Ġ Kevin", + "ĠK evin", + "ĠKe vin", + ". args", + ".ar gs", + ".arg s", + "Ġ Ah", + "ĠA h", + "o ped", + "op ed", + "ope d", + "( J", + "column s", + "arg uments", + "argument s", + "ĠWith Events", + "_ full", + "_f ull", + "_fu ll", + "Ġ Defense", + "ĠDef ense", + "S imple", + "Sim ple", + "Ġde aths", + "Ġdeath s", + "2 95", + "29 5", + "Ġext ensive", + "Ġ Still", + "ĠSt ill", + "Ġ Expression", + "ĠEx pression", + "ĠExp ression", + "ĠExpress ion", + "ĠExpr ession", + "Ġ Agency", + "ĠA gency", + "ĠAg ency", + "ĠAge ncy", + "Ġper forming", + "Ġperform ing", + "Ġperfor ming", + "F X", + "Ġ usuario", + "Ġus uario", + "Ġusu ario", + "U AL", + "UA L", + "S ide", + "Si de", + "Sid e", + "o dos", + "od os", + "odo s", + "ap top", + "apt op", + "Ġ credentials", + "Ġc redentials", + "Ġcred entials", + "Ġcredential s", + "_ cap", + "_c ap", + "_ca p", + "at ient", + "ati ent", + "atie nt", + "Ġ Disney", + "ĠDis ney", + "Ġ ai", + "Ġa i", + "Ġ chip", + "Ġc hip", + "Ġch ip", + "Ġchi p", + "Ġ volt", + "Ġv olt", + "Ġvo lt", + "Ġvol t", + ".make Text", + "%%%%%%%% %%%%%%%%", + "Ġ belief", + "Ġbel ief", + "Ġbelie f", + "_ LOC", + "_L OC", + "_LO C", + "Ġ Civil", + "ĠC ivil", + "ĠCi vil", + "ĠCiv il", + "N avigation", + "Nav igation", + "Navig ation", + "Ġ reveal", + "Ġre veal", + "Ġreve al", + "Ġ violent", + "Ġviol ent", + "Ġ Fil", + "ĠF il", + "ĠFi l", + "Ġ catalog", + "Ġc atalog", + "Ġcat alog", + "Ġcata log", + "Ġcatal og", + "e med", + "em ed", + "eme d", + "s can", + "sc an", + ". control", + ".c ontrol", + ".cont rol", + "Ġ constitution", + "Ġcon stitution", + "Ġconst itution", + "Ġconstit ution", + "Ġconstitu tion", + "C ountry", + "Count ry", + "S eparator", + "Se parator", + "Separ ator", + "_ APP", + "_A PP", + "_AP P", + "t opic", + "to pic", + "top ic", + "u etooth", + "uet ooth", + "M IN", + "MI N", + "Ġ descriptor", + "Ġdes criptor", + "y t", + "ET HER", + "ETH ER", + "Ġd istribute", + "Ġdis tribute", + "Ġdistrib ute", + "' }Ċ", + "'} Ċ", + ". trim", + ".t rim", + ".tr im", + ". Line", + ".L ine", + "Ġ lbl", + "Ġl bl", + "Ġlb l", + "assert Equals", + "Ġ Det", + "ĠD et", + "ĠDe t", + "omb ok", + "ombo k", + "( width", + "(w idth", + "Ġt ort", + "Ġto rt", + "Ġtor t", + "ĠEX PRESS", + "ĠEXP RESS", + "a co", + "ac o", + "U sing", + "Us ing", + "Ġ Brand", + "ĠB rand", + "ĠBr and", + "ĠBra nd", + "ĠBran d", + "w all", + "wa ll", + "wal l", + "E MENT", + "EM ENT", + "Ġ Communic", + "ĠComm unic", + "ĠCommun ic", + "< uint", + " (Ċ", + ">( Ċ", + "? >\"", + "?> \"", + "Ġ ///Ċ", + "Ġ// /Ċ", + "Ġ/ //Ċ", + "Ġ/// Ċ", + "Ġe iner", + "Ġein er", + "Ġeine r", + "Ġei ner", + "Ġ weekly", + "Ġweek ly", + "ĉ logger", + "ĉlog ger", + "_ pop", + "_p op", + "_po p", + "_ man", + "_m an", + "_ma n", + "Ġm igrations", + "Ġmigr ations", + "Ġmigration s", + "Ġ asks", + "Ġas ks", + "Ġask s", + "Ġ bs", + "Ġb s", + "Ġ falls", + "Ġf alls", + "Ġfall s", + "Ġfal ls", + ". Where", + ".W here", + ".Wh ere", + "- height", + "-h eight", + "-he ight", + "_ feature", + "_f eature", + "_fe ature", + "_feat ure", + ". Min", + ".M in", + "Ġ hyper", + "Ġh yper", + "Ġhy per", + "Ġhyp er", + "Ġhype r", + "Ġ volatile", + "Ġv olatile", + "Ġvol atile", + "Ġ twenty", + "Ġtw enty", + "Ġtwe nty", + "Typ ography", + "U nable", + "Un able", + "Una ble", + "D et", + "De t", + ", f", + "- mod", + "-m od", + "Ġset tlement", + "Ġsett lement", + "Ġsettle ment", + "Ġ contracts", + "Ġcon tracts", + "Ġcontract s", + "Ġcontr acts", + "Ġcontra cts", + "n ome", + "no me", + "nom e", + "B ad", + "Ba d", + "Ġ Brian", + "ĠB rian", + "ĠBr ian", + "ĠBri an", + "7 68", + "76 8", + "( username", + "(user name", + "! !!!", + "!! !!", + "!!! !", + "Ġ hack", + "Ġh ack", + "Ġha ck", + "Ġhac k", + ". Field", + ".F ield", + "H R", + "Ġ Jordan", + "ĠJ ordan", + "ĠJord an", + "i za", + "iz a", + "Ġ Âł", + "Ġ ł", + "Ġ Sher", + "ĠS her", + "ĠSh er", + "ĠShe r", + ". header", + ".head er", + ".he ader", + "( other", + "(o ther", + "Ġ Dub", + "ĠD ub", + "ĠDu b", + "( op", + "(o p", + "Ġ Round", + "ĠR ound", + "ĠRo und", + "ĠRou nd", + "Ġ vie", + "Ġv ie", + "Ġvi e", + "Ġ appl", + "Ġapp l", + "Ġap pl", + "ĉ J", + "Ġ Insert", + "ĠIn sert", + "ĠIns ert", + "Ġ LP", + "ĠL P", + "re gon", + "reg on", + "rego n", + "Ġ MPI", + "ĠM PI", + "ĠMP I", + "Ġ anchor", + "Ġan chor", + "Ġanch or", + "Ġanc hor", + "a ca", + "ac a", + "ø r", + "Ġ ade", + "Ġa de", + "Ġad e", + "an chor", + "anc hor", + "anch or", + "qu ee", + "que e", + "Ġ TreeNode", + "ĠT reeNode", + "ĠTree Node", + "Ġtarget ed", + "Ġtarg eted", + "Ġl aid", + "Ġla id", + "Ġlai d", + "A BEL", + "AB EL", + "v et", + "ve t", + "Ġ Origin", + "ĠOr igin", + "ĠOri gin", + "ĠOrig in", + "A nt", + "An t", + ". ');Ċ", + ".' );Ċ", + ".') ;Ċ", + ".'); Ċ", + "ex pect", + "exp ect", + "ed Reader", + "Ġ Major", + "ĠM ajor", + "ĠMaj or", + "Ġ inch", + "Ġin ch", + "Ġinc h", + "Com par", + "Co mpar", + "Comp ar", + "Ġ preview", + "Ġp review", + "Ġpr eview", + "Ġpre view", + "Ġprev iew", + "Ġill ness", + "ĠCON TRACT", + "ĠCONTR ACT", + "ĠCONT RACT", + "Ġ Independ", + "ĠIn depend", + "ĠInd epend", + "u uid", + "uu id", + "Ġ nome", + "Ġn ome", + "Ġno me", + "Ġnom e", + "Ġ tc", + "Ġt c", + "ĠA venue", + "i san", + "is an", + "isa n", + "Ġ phrase", + "Ġph rase", + "_ move", + "_m ove", + "_mov e", + "_mo ve", + "\" )[", + "\") [", + "4 12", + "41 2", + "Ġpro vision", + "Ġprov ision", + "Ġconc entr", + "Ġconcent r", + "_ IR", + "_I R", + "Ġ Ut", + "ĠU t", + "( )+", + "() +", + "Ġ nas", + "Ġn as", + "Ġna s", + "! ,", + "Ġ Robin", + "ĠRob in", + "ĠRo bin", + "i ations", + "iation s", + "iat ions", + "at itude", + "Ġ px", + "Ġp x", + "Ġ Without", + "ĠWith out", + "/ bash", + "/b ash", + "e kt", + "ek t", + "re ement", + "ree ment", + "3 42", + "34 2", + "Ob server", + "Observ er", + "Obs erver", + "3 18", + "31 8", + "Ġ Region", + "ĠReg ion", + "UB LIC", + "UBL IC", + "Ġ {//", + "Ġ{ //", + "K N", + "å ·", + "Game Object", + "å ¾", + "en coding", + "enc oding", + "enco ding", + "Ġ ***", + "Ġ* **", + "Ġ** *", + "project s", + "proj ects", + "Ġ tk", + "Ġt k", + "Ġche ese", + "Ġchees e", + "EM PL", + "EMP L", + "a ro", + "ar o", + "Ġ اÙĦ", + "Ġا ÙĦ", + "6 10", + "61 0", + "3 37", + "33 7", + "Ġcons ists", + "Ġconsist s", + "re fresh", + "ref resh", + "u reau", + "ure au", + "Ġ Scanner", + "ĠSc anner", + "ĠScan ner", + "Ġs oil", + "Ġso il", + "Ġfl avor", + "Ġflav or", + "Ġfla vor", + "Data Source", + "Ex ecute", + "Exec ute", + "е ние", + "ен ие", + "ени е", + "Ġ shit", + "Ġs hit", + "Ġsh it", + "åĪ Ĩ", + "< any", + " < /", + "Qu antity", + "Quant ity", + "qu iry", + "quir y", + "qui ry", + "_ tab", + "_t ab", + "_ta b", + "Ġ alg", + "Ġa lg", + "Ġal g", + "To ast", + "re size", + "res ize", + "resi ze", + "quest ions", + "question s", + "s chema", + "sch ema", + "L iteral", + "Lite ral", + "Lit eral", + "Liter al", + "( entity", + "(e ntity", + "(ent ity", + "NE CTION", + "NECT ION", + "ch anged", + "change d", + "chan ged", + "chang ed", + "_ FIELD", + "_F IELD", + "_ HEIGHT", + "_HE IGHT", + "Ġ organic", + "Ġorg anic", + "Ġorgan ic", + "P RE", + "PR E", + "Ġ Cat", + "ĠC at", + "ĠCa t", + ". Draw", + ".D raw", + "E s", + "Ġ loud", + "Ġl oud", + "Ġlo ud", + "Ġlou d", + "6 80", + "68 0", + "Ġ ĠĠĠĠĠĠĠĉ", + "ĠĠ ĠĠĠĠĠĠĉ", + "ĠĠĠĠ ĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠ ĉ", + "ĠĠĠ ĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠ Ġĉ", + "ĠĠĠĠĠ ĠĠĠĉ", + "ĠĠĠĠĠĠ ĠĠĉ", + "Ġ Kat", + "ĠK at", + "ĠKa t", + "Ġ heap", + "Ġhe ap", + "âĢľ It", + "âĢľI t", + "0 70", + "07 0", + "e tr", + "et r", + "Ġ unlikely", + "Ġun likely", + "Ġunlike ly", + "er als", + "era ls", + "eral s", + "/ auth", + "/a uth", + "5 02", + "50 2", + "t odo", + "to do", + "tod o", + "P lace", + "Pl ace", + "Post ed", + "Pos ted", + "Po sted", + "Com ments", + "Comment s", + "Comm ents", + "Ġ Tech", + "ĠT ech", + "ĠTe ch", + "ĠTec h", + "Ġ Finally", + "ĠF inally", + "ĠFin ally", + "ĠFinal ly", + "eg ration", + "egr ation", + "egra tion", + "Ġ minimal", + "Ġmin imal", + "Ġmini mal", + "Ġminim al", + "Ġ Files", + "ĠF iles", + "ĠFile s", + "ĠFil es", + "ĠFi les", + "Ġt amb", + "Ġta mb", + "Ġtam b", + "ë¡ ľ", + "Ġ Release", + "ĠR elease", + "ĠRe lease", + "ĠRel ease", + "4 25", + "42 5", + ". resize", + ".re size", + ".res ize", + "Ġ Ï", + "c ollect", + "col lect", + "coll ect", + "= p", + "ĠLI ABLE", + "Ġp roducing", + "Ġprodu cing", + "Ġprod ucing", + "- wrapper", + "-w rapper", + "-wrap per", + "Ġs ingles", + "Ġsingle s", + "Ġsin gles", + "Ġsing les", + "ĠN BA", + "ĠNB A", + "o rr", + "or r", + "e ren", + "er en", + "ere n", + ". addAction", + ".add Action", + "Ġ thesis", + "Ġth esis", + "Ġthe sis", + "d n", + "P TY", + "PT Y", + ". des", + ".d es", + ".de s", + "Ġb acter", + "Ġba cter", + "Ġbac ter", + "Ġ Express", + "ĠEx press", + "ĠExp ress", + "ĠExpr ess", + "Ġ *)Ċ", + "Ġ* )Ċ", + "Ġ*) Ċ", + "å ij", + "/ admin", + "/ad min", + "se conds", + "sec onds", + "second s", + "åĬ Ł", + "uss ion", + "a beth", + "ab eth", + "abe th", + "abet h", + "Ġ Computer", + "ĠCom puter", + "ĠComp uter", + "ĠCompute r", + "ĠComput er", + "Ġr uling", + "Ġru ling", + "(\" ../", + "(\". ./", + "(\".. /", + ". GET", + ".G ET", + "ĠMe dal", + "ĠMed al", + "ition ally", + "itional ly", + "com mit", + "comm it", + "f ocus", + "fo cus", + "_ LEVEL", + "_LE VEL", + "i nda", + "in da", + "ind a", + "F act", + "Fac t", + "Fa ct", + "= np", + "=n p", + "=\" \">Ċ", + "=\"\" >Ċ", + "=\"\"> Ċ", + "Ġsub sequent", + "Ġsubsequ ent", + "pos able", + "- fluid", + "-fl uid", + "Ġth orough", + "Ġtho rough", + "Ġthor ough", + "Ġpublic ly", + "Ġpubli cly", + "ap ters", + "apt ers", + "apter s", + "Ġ Wilson", + "ĠWil son", + "_ PRE", + "_P RE", + "_PR E", + "y ard", + "ya rd", + "yar d", + "ä ¼", + "ĉ in", + "ĉi n", + "3 39", + "33 9", + "Ġre vers", + "Ġrev ers", + "Ġreve rs", + "Ġrever s", + "Ġ bullet", + "Ġb ullet", + "Ġbul let", + "Ġbull et", + "cri bed", + "cribe d", + "nes ota", + "Ġ ($_", + "Ġ( $_", + "Ġ($ _", + "an non", + "ann on", + "anno n", + "c ursor", + "curso r", + "Ġclo thing", + "Ġcloth ing", + "Ġ Multi", + "ĠM ulti", + "ĠMult i", + "ĠMul ti", + "2 87", + "28 7", + ": ',", + ":' ,", + "Ġv ess", + "Ġve ss", + "Ġves s", + "ord inator", + "ordin ator", + "Ġe inem", + "Ġein em", + "Ġeine m", + "Ġei nem", + "C annot", + "Can not", + "Ġ armed", + "Ġar med", + "Ġarm ed", + "ĉ V", + "ä¸ Ĭ", + ". Flat", + ".F lat", + ".Fl at", + "Ġ Sep", + "ĠS ep", + "ĠSe p", + "Ġ Subject", + "ĠSub ject", + "ĠSu bject", + "_ font", + "_f ont", + "Ġcharacter istics", + "Ġcharacteristic s", + "D one", + "Do ne", + "Don e", + "e ln", + "el n", + "#### ########", + "######## ####", + "##### #######", + "###### ######", + "####### #####", + "P OS", + "PO S", + "Ġ density", + "Ġd ensity", + "Ġdens ity", + "Ġ Platform", + "ĠPl atform", + "ĠPlat form", + "- items", + "-item s", + "-i tems", + "-it ems", + "Ġ overs", + "Ġo vers", + "Ġover s", + "Ġov ers", + "Ġp ushing", + "Ġpush ing", + "ç ¤", + ". Connection", + ".Con nection", + ".Connect ion", + ".Conn ection", + "_ term", + "_t erm", + "_te rm", + "_ter m", + "Ġinitial ization", + "________________ ________________", + "ç ¬", + ". document", + ".d ocument", + ".doc ument", + "l esh", + "le sh", + "les h", + "ĉ document", + "ĉd ocument", + "ĉdoc ument", + "Ġ Pin", + "ĠP in", + "ĠPi n", + "ç a", + "Ġ definitions", + "Ġdefinition s", + "Ġdefinit ions", + "Ġdefin itions", + ". Path", + ".P ath", + "_ WRITE", + "_W RITE", + "_WR ITE", + "Ġ ĉĊ", + "Ġĉ Ċ", + "? >ĊĊ", + "?> ĊĊ", + "?>Ċ Ċ", + "Ġter rible", + "Ġterr ible", + "b ean", + "be an", + "ick ets", + "icket s", + "Ġ SV", + "ĠS V", + "B uy", + "Bu y", + "( task", + "(t ask", + "Ġreg ime", + "g oogle", + "go ogle", + "goog le", + "goo gle", + "Ġc rack", + "Ġcr ack", + "Ġcra ck", + ". visit", + ".vis it", + "N UM", + "NU M", + "e nergy", + "en ergy", + "ener gy", + "Ġs truck", + "Ġstr uck", + "Ġstru ck", + "_ sample", + "_s ample", + ". payload", + ".p ayload", + ".pay load", + "Ġre vis", + "Ġrev is", + "Ġ Scene", + "ĠS cene", + "ĠSc ene", + "Ġ pg", + "Ġp g", + "Ġbreak fast", + "URRE NT", + ". charAt", + ".char At", + "_ exception", + "_ex ception", + "_except ion", + "ĠA nton", + "ĠAn ton", + "ĠAnt on", + "Ġguide lines", + "Ġguid elines", + "Ġguideline s", + "Ġex haust", + "Ġ Financial", + "ĠFin ancial", + "Ġ indent", + "Ġin dent", + "Ġind ent", + "Ġinde nt", + "Ġ desktop", + "Ġd esktop", + "Ġdes ktop", + "Ġdesk top", + "H idden", + "Hi dden", + "F ailure", + "Fail ure", + "Ġpr inciple", + "Ġprincip le", + "Ġprinc iple", + "Ġ iv", + "Ġi v", + "Ġs eks", + "Ġse ks", + "Ġsek s", + "n etwork", + "net work", + "Ġ numberOf", + "Ġnumber Of", + "Ġ Albert", + "ĠAl bert", + "ĠAlb ert", + "ĉ long", + "ĉl ong", + "8 01", + "80 1", + ", .", + "Ġ zeros", + "Ġz eros", + "Ġzero s", + "Ġze ros", + "Ġzer os", + "f ade", + "fa de", + "fad e", + "Ġ Typ", + "ĠT yp", + "ĠTy p", + "Ġ Term", + "ĠT erm", + "ĠTe rm", + "ĠTer m", + "ĠA rts", + "ĠAr ts", + "ĠArt s", + ". Application", + ".App lication", + ".Ap plication", + "Ġbe half", + "Ġbeh alf", + "æĪ ·", + "Ġ mere", + "Ġm ere", + "Ġme re", + "Ġmer e", + "( `${", + "(` ${", + "Ġaware ness", + "el pers", + "elp ers", + "elper s", + "f lix", + "fl ix", + "Ġ weigh", + "Ġwe igh", + "Ġwei gh", + "Ġest imates", + "Ġestim ates", + "Ġestimate s", + ". child", + ".ch ild", + "/ O", + "Ġ Bitmap", + "ĠB itmap", + "ĠBit map", + ". bottom", + ".b ottom", + ".bot tom", + "Ġ** ************************************************************************", + "Ġ************************************************************************ **", + "Ex pect", + "Exp ect", + "en to", + "ent o", + "Ġ Forum", + "ĠF orum", + "ĠFor um", + "ĠFo rum", + "v eral", + "ver al", + "ve ral", + "Ġj ail", + "Ġja il", + "Ġ abilities", + "Ġab ilities", + "ĠH OLD", + "ĠHO LD", + "ĠHOL D", + "Ġ Cit", + "ĠC it", + "ĠCi t", + "Ġd ynam", + "Ġdy nam", + "Ġdyn am", + "Ġ gray", + "Ġg ray", + "Ġgr ay", + "Ġgra y", + "ĉ ĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉ ĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉ ĉĉĉĉĉĉĉĉĉ", + "ĉĉĉ ĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉ ĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉ ĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉĉ", + "ĉĉĉĉĉĉĉ ĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉ ĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉ ĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉ ĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉ ĉ", + ". nextInt", + ".next Int", + "ant ly", + "ĠAR ISING", + "( private", + "(pr ivate", + "(priv ate", + "Ġ rejected", + "Ġre jected", + "Ġreject ed", + "Ġrej ected", + "Ġ Nic", + "ĠN ic", + "ĠNi c", + "Ġle ather", + "= {Ċ", + "={ Ċ", + "aly tics", + "t hetic", + "th etic", + "the tic", + ". Top", + ".T op", + ".To p", + "3 73", + "37 3", + ". Page", + ".P age", + "={ `", + "Ġ ;čĊ", + "Ġ; čĊ", + "de pth", + "dep th", + "dept h", + "m ann", + "man n", + "ma nn", + "W D", + "Ġ Som", + "ĠS om", + "ĠSo m", + ". Right", + ".R ight", + "Ġ )}Ċ", + "Ġ) }Ċ", + "Ġ trait", + "Ġt rait", + "Ġtr ait", + "Ġtra it", + "Ġtrai t", + "à Ĺ", + "i ac", + "ia c", + "Ġ rv", + "Ġr v", + "S ample", + "Sam ple", + ". Xml", + ".X ml", + "o pped", + "op ped", + "opp ed", + "Ġ ÑĦ", + "ĠÑ Ħ", + "l ists", + "li sts", + "list s", + "lis ts", + "Ġt ear", + "Ġte ar", + "Ġtea r", + "ivers ary", + ". collection", + ".c ollection", + ".col lection", + ".collect ion", + ".coll ection", + "ĠCon stitution", + "ĠConst itution", + "ĠConstit ution", + "Ġ HttpResponse", + "ĠHttp Response", + "Ġbr ill", + "Ġbri ll", + "Ġ Prom", + "ĠP rom", + "ĠPro m", + "ĠPr om", + "h over", + "ho ver", + "3 66", + "36 6", + "Ġ Miami", + "ĠM iami", + "ĠMi ami", + "ĠMia mi", + "Ġar gue", + "Ġarg ue", + "_ float", + "_f loat", + "5 04", + "50 4", + "Ġ ãĤ", + "Ġ nat", + "Ġn at", + "Ġna t", + "ĠT al", + "ĠTa l", + "Ġ integration", + "Ġint egration", + "Ġinteg ration", + "Ġintegr ation", + "( cur", + "(c ur", + "Ġre moving", + "Ġrem oving", + "Ġ coeff", + "Ġc oeff", + "Ġco eff", + "Ġcoef f", + "Ġ Though", + "ĠTh ough", + "ĠThou gh", + "Ġ forecast", + "Ġfor ecast", + "Ġfore cast", + "4 08", + "40 8", + "ĠV egas", + "ĠVe gas", + "ĠVega s", + "ĠVeg as", + "S ite", + "Si te", + "Sit e", + "3 46", + "34 6", + "Ġt rab", + "Ġtr ab", + "Ġtra b", + "Ġ Henry", + "ĠHen ry", + "- i", + "Ġinv olves", + "Ġinvol ves", + "Ġinvolve s", + "B T", + "Ġs lo", + "Ġsl o", + "In voke", + "Inv oke", + "Ġl ucky", + "Ġluck y", + "Ġlu cky", + "Ġluc ky", + "0 25", + "02 5", + "r at", + "ra t", + "Ġ ?Ċ", + "Ġ? Ċ", + "Ġ handled", + "Ġhand led", + "Ġhandle d", + "( fd", + "(f d", + "cont ents", + "content s", + "conte nts", + "Ġ OFF", + "ĠO FF", + "ĠOF F", + "R F", + "Ġ sty", + "Ġs ty", + "Ġst y", + "Ġ Motor", + "ĠM otor", + "ĠMo tor", + "ĠMot or", + "ĠMoto r", + "t ery", + "ter y", + "te ry", + "t ax", + "ta x", + "M AP", + "MA P", + "Ġ Mrs", + "ĠM rs", + "ĠMr s", + "Ġ phones", + "Ġph ones", + "Ġphone s", + "Ġphon es", + "Ġ UIView", + "ĠUI View", + "\" )));Ċ", + "\") ));Ċ", + "\")) );Ċ", + "\"))) ;Ċ", + "\"))); Ċ", + "( dev", + "(d ev", + "(de v", + "ĠI rish", + "ĠIr ish", + "ĠIris h", + "0 19", + "01 9", + "Ġ ws", + "Ġw s", + "D I", + "_ OFFSET", + "_OFF SET", + "Ġ Events", + "ĠE vents", + "ĠEvent s", + "ĠEven ts", + "ĠEv ents", + "ĠEve nts", + "Ġst ages", + "Ġstage s", + "Ġsta ges", + "Ġstag es", + "Ġ }//", + "Ġ} //", + "Ġh aben", + "Ġhab en", + "Ġha ben", + "Ġhabe n", + "ST ANCE", + "Ġ Sin", + "ĠS in", + "ĠSi n", + "Ġ Money", + "ĠM oney", + "ĠMon ey", + "ĠMo ney", + "( top", + "(t op", + "(to p", + "Ġ appointment", + "Ġapp ointment", + "Ġappoint ment", + "V ERSION", + "VER SION", + "VERS ION", + "m etadata", + "met adata", + "meta data", + "_ comment", + "_com ment", + "_comm ent", + "Ġcolle agues", + "Ġcolleague s", + "m aps", + "ma ps", + "map s", + "â ĺ", + "Ċ ĉĊ", + "( al", + "(a l", + "_ req", + "_re q", + "_r eq", + "Ġf ut", + "Ġfu t", + "Ġ architecture", + "Ġarch itecture", + "Ġarchitect ure", + "Ġarchit ecture", + "3 51", + "35 1", + "ĠWH ETHER", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "_ screen", + "_s creen", + "_sc reen", + "_scr een", + "Ġstyle Urls", + "Ġ monster", + "Ġmon ster", + ". up", + ".u p", + "ph ia", + "phi a", + "Ġ processor", + "Ġprocess or", + "Ġproc essor", + "Ġprocesso r", + "Ġ Terr", + "ĠT err", + "ĠTe rr", + "ĠTer r", + "= ',", + "=' ,", + "Ġ Manufact", + "ĠMan ufact", + "Ġ NT", + "ĠN T", + "k el", + "ke l", + "i bern", + "ib ern", + "iber n", + "ibe rn", + "ĉ file", + "ĉf ile", + "ĉfi le", + "A li", + "Al i", + "rient ation", + "Ġ //!", + "Ġ// !", + "ap ore", + "apor e", + "apo re", + "an eous", + "ane ous", + "Ġ Creat", + "ĠC reat", + "ĠCr eat", + "ĠCre at", + "f older", + "fo lder", + "fol der", + "fold er", + "4 15", + "41 5", + "Ġ hay", + "Ġh ay", + "Ġha y", + "Sup press", + "( left", + "(l eft", + "(le ft", + "Ġe uro", + "Ġeu ro", + "Ġdis claimer", + "u stry", + "us try", + "ust ry", + "ustr y", + "s hips", + "sh ips", + "ship s", + "shi ps", + "_ fd", + "_f d", + "Ġ Fa", + "ĠF a", + "_ insert", + "_in sert", + "_ins ert", + "Ġ rol", + "Ġr ol", + "Ġro l", + "if ting", + "ift ing", + "Ġ Comments", + "ĠCom ments", + "ĠComm ents", + "ĠComment s", + "_ br", + "_b r", + "Ġlos ses", + "Ġloss es", + "Ġ Added", + "ĠAd ded", + "ĠAdd ed", + "ch arg", + "char g", + "cha rg", + "Ġ по", + "Ġп о", + "_ system", + "_s ystem", + "_sys tem", + "_sy stem", + "Ġ Sometimes", + "ĠS ometimes", + "ĠSome times", + "ĠSom etimes", + "Ġ Spain", + "ĠS pain", + "ĠSp ain", + "ĠSpa in", + "( group", + "(g roup", + "(gr oup", + "i alis", + "ial is", + "ia lis", + "iali s", + "Ġd ollar", + "Ġdoll ar", + "Ġdol lar", + "Ġ Args", + "ĠAr gs", + "ĠArg s", + "4 99", + "49 9", + "2 97", + "29 7", + "qu ires", + "quire s", + "quir es", + "qui res", + "Ġ Ten", + "ĠT en", + "ĠTe n", + ". scss", + ".s css", + ".sc ss", + "Ġsurv ive", + "Ġsurviv e", + "u sage", + "us age", + "usa ge", + "Ġ jun", + "Ġj un", + "Ġju n", + "im iter", + "imit er", + "imi ter", + "ï¼ģ ĊĊ", + "ï¼ģĊ Ċ", + "Ġf ifth", + "Ġfif th", + "t oggle", + "tog gle", + "Ġde cline", + "Ġdec line", + "Ġdecl ine", + "( $\"", + "($ \"", + "( Long", + "(L ong", + "i nge", + "in ge", + "ing e", + "Ġp ilot", + "Ġpi lot", + "Ġpil ot", + "- light", + "-l ight", + "-li ght", + "- radius", + "-r adius", + "-rad ius", + "Ġp odcast", + "Ġpod cast", + "Ġn aturally", + "Ġnatural ly", + "Ġnatur ally", + "Ġnat urally", + "P ages", + "Page s", + "Pa ges", + "Pag es", + "ä¸ º", + "Ġ Despite", + "ĠDes pite", + "Ġl ighting", + "Ġlight ing", + "Ġ crate", + "Ġc rate", + "Ġcr ate", + "Ġcra te", + "Ġ Binary", + "ĠB inary", + "ĠBin ary", + "Ġred ucing", + "Ġredu cing", + "Ġe leg", + "Ġel eg", + "Ġele g", + "Ġ Mouse", + "ĠM ouse", + "ĠMo use", + "ĠMou se", + "ĠTest Bed", + "Ġbefore Each", + "_ ARRAY", + "_AR RAY", + "_ARR AY", + "Re direct", + "Red irect", + "3 29", + "32 9", + "Ġf lood", + "Ġfl ood", + "Ġflo od", + "Ġ ships", + "Ġs hips", + "Ġsh ips", + "Ġship s", + "3 63", + "36 3", + "Ġelectric ity", + "Ġelectr icity", + ") *(", + ")* (", + "ê ¸", + "Ġ Viet", + "ĠV iet", + "ĠVi et", + "ĠVie t", + "h ero", + "he ro", + "her o", + "Ġ dia", + "Ġd ia", + "Ġdi a", + "Ġ Kent", + "ĠK ent", + "ĠKe nt", + "ĠKen t", + "he art", + "hea rt", + "hear t", + "Ġthreat s", + "_ acc", + "_a cc", + "_ac c", + "Ġ symbols", + "Ġs ymbols", + "Ġsymbol s", + "Ġsymb ols", + "is chen", + "isc hen", + "ische n", + "isch en", + "_ inst", + "_in st", + "_i nst", + "_ins t", + "C riterion", + "Ġ TIM", + "ĠT IM", + "ĠTI M", + ". Height", + ".H eight", + ".He ight", + "5 80", + "58 0", + "Ġ âĢĻ", + "ĠâĢ Ļ", + "( );ĊĊĊ", + "() ;ĊĊĊ", + "();Ċ ĊĊ", + "();ĊĊ Ċ", + "(); ĊĊĊ", + "Product s", + "Produ cts", + "_ SP", + "_S P", + "Ġ Cy", + "ĠC y", + "Ġ dependent", + "Ġdep endent", + "Ġdepend ent", + "e ste", + "es te", + "est e", + "Ġ datos", + "Ġd atos", + "Ġda tos", + "Ġdat os", + "Ġdato s", + "d it", + "di t", + "а в", + "аР²", + "IG NAL", + "IGN AL", + "Ġ lesson", + "Ġl esson", + "Ġle sson", + "Ġless on", + "Ġles son", + "\" >'", + "\"> '", + "Ġ Cover", + "ĠC over", + "ĠCo ver", + "ĠCov er", + "ĠCove r", + "Ġ Hope", + "ĠH ope", + "ĠHo pe", + "ĠHop e", + "Ġ Timer", + "ĠT imer", + "ĠTime r", + "ĠTim er", + "ĠTi mer", + "Ġ dad", + "Ġd ad", + "Ġda d", + "v iders", + "vid ers", + "vider s", + "vi ders", + "vide rs", + "Ġ Phot", + "ĠP hot", + "ĠPh ot", + "/ ?", + "r opy", + "ro py", + "rop y", + "o ming", + "om ing", + "omin g", + "omi ng", + "as ion", + "asi on", + "asio n", + "Ġ \\(", + "Ġ\\ (", + "Ġ ET", + "ĠE T", + "Ġ Reading", + "ĠRe ading", + "ĠRead ing", + "Ġep isodes", + "Ġepisode s", + "Ġepis odes", + "l m", + "4 21", + "42 1", + "e cha", + "ec ha", + "ech a", + "Ġne uro", + "Ġneu ro", + "Ġneur o", + "8 20", + "82 0", + "Ġhar mon", + "Ġharm on", + "Ġlib eral", + "Ġliber al", + "- ind", + "-in d", + "-i nd", + "3 93", + "39 3", + "D ATA", + "DA TA", + "DAT A", + "Ġevery day", + "Ġdi vided", + "Ġdiv ided", + "Ġdivide d", + "Ġdivid ed", + "ĠActive Record", + "f igure", + "fig ure", + "figur e", + "U A", + "ä ¹", + "riend ly", + "t ech", + "te ch", + "tec h", + "6 01", + "60 1", + ". gameObject", + ".game Object", + "и ÑĤÑĮ", + "иÑĤ ÑĮ", + "3 74", + "37 4", + "Ġ moon", + "Ġm oon", + "Ġmo on", + "Ġmoo n", + "f time", + "ft ime", + "Ġ noch", + "Ġn och", + "Ġno ch", + "Ġnoc h", + "ĠT ORT", + "ĠTO RT", + "ĠTOR T", + "Ġ VM", + "ĠV M", + ". initial", + ".in itial", + ".init ial", + "( child", + "(ch ild", + "Ġmus ical", + "Ġmusic al", + "Ġmusica l", + "Ġ oc", + "Ġo c", + "b as", + "ba s", + "Ġ Hay", + "ĠH ay", + "ĠHa y", + "3 61", + "36 1", + "_ long", + "_l ong", + "_lo ng", + "_lon g", + "Ġ memset", + "Ġmem set", + "i ley", + "il ey", + "ile y", + "adel phia", + "S V", + "ro at", + "_ tx", + "_t x", + "Ġ lon", + "Ġl on", + "Ġlo n", + "Ġng OnInit", + "ĠngOn Init", + "b p", + "Ġ Golden", + "ĠGold en", + "ĠGol den", + "A CHE", + "AC HE", + "ACH E", + "Ġwor ried", + "a zi", + "az i", + "E ar", + "T ake", + "Ta ke", + "Tak e", + "( fp", + "(f p", + "burg h", + "bur gh", + "_ Data", + "_D ata", + "g res", + "gr es", + "gre s", + "Ġ Ont", + "ĠO nt", + "ĠOn t", + "p us", + "pu s", + "Ġ transparent", + "Ġtrans parent", + "Ġp ocket", + "Ġpo cket", + "Ġpoc ket", + "Ġ ram", + "Ġr am", + "Ġra m", + "igration s", + "igr ations", + ". čĊčĊ", + ".čĊ čĊ", + "Ġ [(", + "Ġ[ (", + "Ġadopt ed", + "Ġreport edly", + "Ġreported ly", + "Ġ Dream", + "ĠD ream", + "ĠDr eam", + "ĠDre am", + "Ġ }));Ċ", + "Ġ} ));Ċ", + "Ġ}) );Ċ", + "Ġ})) ;Ċ", + "l osing", + "lo sing", + "los ing", + "Ġte eth", + "Ġtee th", + "Ġ Books", + "ĠB ooks", + "ĠBo oks", + "ĠBook s", + "ĠBoo ks", + "\" ,&", + "\", &", + "en ny", + "enn y", + "L EMENT", + "LE MENT", + "LEM ENT", + "Ġ gel", + "Ġg el", + "Ġge l", + "Ġ Plant", + "ĠP lant", + "ĠPl ant", + "ĠPlan t", + "ĠPla nt", + "4 37", + "43 7", + "! âĢĿ", + ". host", + ".h ost", + "Ġ Reply", + "ĠRe ply", + "ĠRep ly", + "3 76", + "37 6", + "r ength", + "re ngth", + "ren gth", + "Ġrec ognition", + "Ġrecogn ition", + "Ġ }}>Ċ", + "Ġ} }>Ċ", + "Ġ}} >Ċ", + "Ġ}}> Ċ", + "L A", + "Ġ mirror", + "Ġm irror", + "Ġmir ror", + "Ġmi rror", + "Ġ assistant", + "Ġass istant", + "Ġassist ant", + "( device", + "(d evice", + "(de vice", + "(dev ice", + "Ġspirit ual", + "b uilder", + "build er", + "bu ilder", + " §", + "Ġo utr", + "Ġout r", + "Ġou tr", + "Ġ tt", + "Ġt t", + "Ġ PER", + "ĠP ER", + "ĠPE R", + "Ġrad ical", + "Ġradi cal", + "Method s", + "Ġ pace", + "Ġp ace", + "Ġpa ce", + "Ġpac e", + "u dy", + "ud y", + "Ġg ut", + "Ġgu t", + "Ġ Greek", + "ĠG reek", + "ĠGre ek", + "ĠGree k", + "Ġ nonatomic", + "Ġnon atomic", + "Ġ Paper", + "ĠP aper", + "ĠPa per", + "ĠPap er", + "_ GPIO", + "_G PIO", + "_GP IO", + "Ġo bst", + "Ġob st", + "Ġobs t", + ". Ad", + ".A d", + "viron ments", + "vironment s", + "ĠS ov", + "ĠSo v", + "3 56", + "35 6", + "( con", + "(c on", + "(co n", + "Ġ Transaction", + "ĠTrans action", + ". assign", + ".as sign", + "ĉ catch", + "ĉc atch", + "ĉcat ch", + "el ter", + "elt er", + "Ġ bitcoin", + "Ġbit coin", + "_ GR", + "_G R", + "Ġ čĊ", + "Ġ/ >čĊ", + "Ġ/> čĊ", + "m etic", + "me tic", + "met ic", + "Ġtrans formation", + "Ġtransform ation", + "åı ·", + "Ġ rgb", + "Ġr gb", + "Ġrg b", + "istrib utions", + "istribution s", + "Ġ implicit", + "Ġimp licit", + "Ġimpl icit", + "Ġimplic it", + "/ in", + "/i n", + "d estination", + "dest ination", + "а ÑĤÑĮ", + "аÑĤ ÑĮ", + "Z ero", + "Ze ro", + "Ġ unset", + "Ġun set", + "Ġuns et", + "9 20", + "92 0", + ". where", + ".w here", + ".wh ere", + ". go", + ".g o", + "Ġ formation", + "Ġform ation", + "Ġformat ion", + "Ġforma tion", + "Ġ declaration", + "Ġde claration", + "Ġdeclar ation", + "( )čĊčĊ", + "() čĊčĊ", + "()čĊ čĊ", + "Ġ Expl", + "ĠEx pl", + "ĠExp l", + "ĉ ĉĉĠĠ", + "ĉĉ ĉĠĠ", + "ĉĉĉ ĠĠ", + "ĉĉĉĠ Ġ", + "/ pro", + "/p ro", + "/pr o", + ". JSON", + ".J SON", + "4 41", + "44 1", + "Ġ desk", + "Ġd esk", + "Ġde sk", + "Ġdes k", + ". substr", + ".sub str", + "// ----------------------------------------------------------------------------", + "//---------------------------------------------------------------- ------------", + "//------------------------------------------------ ----------------------------", + "l yn", + "ly n", + "p son", + "ps on", + "4 07", + "40 7", + "d isable", + "dis able", + "Ġ Func", + "ĠF unc", + "ĠFun c", + "ĠFu nc", + "ĉ Assert", + "Ġ MARK", + "ĠM ARK", + "ĠMA RK", + "ĠMAR K", + "Ġde feat", + "Ġdef eat", + "Ġdefe at", + "Ġ blind", + "Ġbl ind", + "Ġbli nd", + "Ġ constants", + "Ġcon stants", + "Ġconst ants", + "Ġconstant s", + "3 62", + "36 2", + ". headers", + ".head ers", + ".header s", + ".he aders", + "U ILD", + "UI LD", + "UIL D", + "Ġ expenses", + "Ġexp enses", + "Ġexpense s", + "P ixel", + "Pix el", + "Ġ hr", + "Ġh r", + "Ġ fel", + "Ġf el", + "Ġfe l", + "Ġ Eastern", + "ĠEast ern", + "ĠEaster n", + "4 24", + "42 4", + "4 90", + "49 0", + "_ del", + "_d el", + "_de l", + "3 57", + "35 7", + "ĠC ub", + "ĠCu b", + "Ġ sq", + "Ġs q", + "ĉ count", + "ĉc ount", + "Ġ Directory", + "ĠD irectory", + "ĠDirect ory", + "ĠDirector y", + "Ġex clus", + "Ġexc lus", + "Ġexcl us", + "Ġ historic", + "Ġhistor ic", + "Ġhist oric", + "Ġhisto ric", + "Ġ ------------------------------------------------", + "Ġ---------------- --------------------------------", + "Ġ-------------------------------- ----------------", + "Ġ-------------------- ----------------------------", + "Ġ composition", + "Ġcom position", + "Ġcomp osition", + "Ġcompos ition", + "Ġ dataGridView", + "Ġdata GridView", + "Ġ Burn", + "ĠB urn", + "ĠBur n", + "ĠBu rn", + "Ġ BC", + "ĠB C", + "M aster", + "Ma ster", + "Mas ter", + "Ġ spawn", + "Ġs pawn", + "Ġsp awn", + "Ġspa wn", + "Ġ bearing", + "Ġb earing", + "Ġbe aring", + "Ġbear ing", + ". SetActive", + ".Set Active", + "i lo", + "il o", + "Ġ gallery", + "Ġg allery", + "Ġgall ery", + "Ġf ounded", + "Ġfound ed", + "Ġfo unded", + "Ġ availability", + "Ġa vailability", + "Ġav ailability", + "Ġavail ability", + ". sqrt", + ".s qrt", + "Ġ pes", + "Ġp es", + "Ġpe s", + "Ġ DOM", + "ĠD OM", + "ĠDO M", + "m ate", + "ma te", + "mat e", + "O ct", + "Ġ matched", + "Ġm atched", + "Ġmatch ed", + "Ġmat ched", + "it ivity", + "Ġan xiety", + ". price", + ".p rice", + ".pr ice", + "Ġ Instant", + "ĠIn stant", + "ĠInst ant", + "ĠIns tant", + "ì Ĭ", + "Ġt ut", + "Ġtu t", + "I Collection", + "IC ollection", + ". shared", + ".sh ared", + ".share d", + ".sha red", + "_ sql", + "_s ql", + "_sq l", + "t bl", + "tb l", + "l ibrary", + "lib rary", + "_ destroy", + "_d estroy", + "_de stroy", + "_dest roy", + "er mal", + "erm al", + "Ġ Notes", + "ĠN otes", + "ĠNo tes", + "ĠNot es", + "ĠNote s", + "Ġ Ein", + "ĠE in", + "Ġsou thern", + "Ġsouth ern", + "ĠOTHER WISE", + "Ġ macro", + "Ġm acro", + "Ġma cro", + "Ġmac ro", + ". lower", + ".l ower", + ".lo wer", + ".low er", + "c ls", + "cl s", + "Content View", + ". link", + ".l ink", + ".li nk", + ".lin k", + "con stant", + "const ant", + "cons tant", + "Ġ Bes", + "ĠB es", + "ĠBe s", + "Ġsome body", + "n b", + "3 99", + "39 9", + "\" >{", + "\"> {", + "( local", + "(l ocal", + "(loc al", + "(lo cal", + ". ....", + ".. ...", + "... ..", + ".... .", + "Ġ Null", + "ĠN ull", + "ĠNu ll", + "m x", + "Ġ ç", + "Ġà §", + "Ġ pause", + "Ġp ause", + "Ġpa use", + "Ġpau se", + "- ----------", + "-- ---------", + "---- -------", + "-------- ---", + "--- --------", + "----- ------", + "---------- -", + "------ -----", + "------- ----", + "--------- --", + "_ MO", + "_M O", + "Ġ CM", + "ĠC M", + "Ġfor Key", + "Ġ DVD", + "ĠD VD", + "ĠDV D", + "Ġ closest", + "Ġclose st", + "Ġclos est", + "Ġcloses t", + "_ DEVICE", + "_DE VICE", + "_DEV ICE", + "Ġ Stephen", + "ĠSte phen", + "ĠStep hen", + "ĠSteph en", + "Ġ BBC", + "ĠB BC", + "ĠBB C", + "Ġ Travel", + "ĠT ravel", + "ĠTr avel", + "ĠTra vel", + "ĠTrav el", + "P aint", + "Pa int", + "Ġ Results", + "ĠRes ults", + "ĠResult s", + "Ġ Rule", + "ĠR ule", + "ĠRu le", + "Ġ tp", + "Ġt p", + "Ġ ratings", + "Ġr atings", + "Ġrating s", + "Ġrat ings", + "Ġra tings", + "c in", + "ci n", + "c sv", + "cs v", + "> /", + "Ġ GOP", + "ĠG OP", + "ĠGO P", + "l ad", + "la d", + "Ġ ÑĢ", + "ĠÑ Ģ", + "Ġ indexPath", + "Ġindex Path", + "m atrix", + "mat rix", + "= f", + "ar sed", + "ars ed", + "arse d", + "Ġ });", + "Ġ} );", + "Ġ}) ;", + "Ġ Cos", + "ĠC os", + "ĠCo s", + "Ġ Score", + "ĠS core", + "ĠSc ore", + "ĠSco re", + "ĠScor e", + "Ġ tak", + "Ġt ak", + "Ġta k", + "Ġ ESP", + "ĠE SP", + "ĠES P", + "Ġ INC", + "ĠI NC", + "ĠIN C", + "_ NULL", + "_N ULL", + "- flex", + "-f lex", + "-fl ex", + "\" ][", + "\"] [", + "in to", + "int o", + "e land", + "el and", + "ela nd", + "elan d", + "Author ization", + "_ FALSE", + "_F ALSE", + "Ġ gate", + "Ġg ate", + "Ġga te", + "Ġ vid", + "Ġv id", + "Ġvi d", + "is tent", + "ist ent", + "iste nt", + "isten t", + "T IME", + "TI ME", + "TIM E", + "Ġ rewrite", + "Ġre write", + "Ġrew rite", + "Ġ tie", + "Ġt ie", + "Ġti e", + "Ġ archive", + "Ġa rchive", + "Ġarch ive", + "Ġarc hive", + "5 11", + "51 1", + ". events", + ".e vents", + ".event s", + ".ev ents", + ". getParameter", + ".get Parameter", + ".getParam eter", + "Ġ Permission", + "ĠPer mission", + "ĠPerm ission", + "Ġprogram me", + "Ġprogramm e", + "Ġ é", + "j ud", + "ju d", + "Ġcame ras", + "Ġcamera s", + "Ġcam eras", + "Ġcamer as", + "3 38", + "33 8", + "3 49", + "34 9", + "( sys", + "(s ys", + "ĠSy rian", + "ĠSyria n", + "Ġimpro vements", + "Ġimprove ments", + "Ġimprovement s", + "Ġimprov ements", + "Ġ hip", + "Ġh ip", + "Ġhi p", + "Ġsu icide", + "Ġsuic ide", + "Ġsch olar", + "Ġscho lar", + "Ġ compatible", + "Ġcom patible", + "Ġcompat ible", + "0 22", + "02 2", + "rem ote", + ". down", + ".d own", + ".do wn", + "F UNCTION", + "FUNC TION", + "FUN CTION", + "Ġman aging", + "Ġmana ging", + "Ġ UIKit", + "ĠUI Kit", + ". raw", + ".r aw", + ".ra w", + "> >>>", + ">> >>", + ">>> >", + "3 71", + "37 1", + "Ġdem ands", + "Ġdemand s", + "el lite", + "ell ite", + "elli te", + "Ġ dent", + "Ġd ent", + "Ġde nt", + "Ġden t", + "Ġ Micro", + "ĠM icro", + "ĠMi cro", + "ĠMic ro", + "åı ĸ", + "' ][$", + "'] [$", + "'][ $", + "Ġ IE", + "ĠI E", + "im ension", + "imens ion", + "Ġt rem", + "Ġtr em", + "Ġtre m", + "6 30", + "63 0", + "Ġg ained", + "Ġgain ed", + "Ġga ined", + ". with", + ".w ith", + ". ok", + ".o k", + "h ou", + "ho u", + "Ġb om", + "Ġbo m", + "amp aign", + "ampa ign", + "Ġ joining", + "Ġjoin ing", + "Ġjo ining", + "f ish", + "fi sh", + "Ġadd Subview", + "8 60", + "86 0", + "Ġnor thern", + "Ġnorth ern", + ". cor", + ".c or", + ".co r", + "o ret", + "or et", + "ore t", + "D ie", + "Di e", + "i nish", + "in ish", + "ini sh", + "inis h", + "_ comp", + "_c omp", + "_com p", + "_co mp", + "Ġ attended", + "Ġatt ended", + "Ġattend ed", + "Ġ collapse", + "Ġc ollapse", + "Ġcoll apse", + "Ġcollaps e", + "Ġ SS", + "ĠS S", + "a cent", + "ace nt", + "ac ent", + "acen t", + "_ EQUAL", + "_E QUAL", + "_EQ UAL", + "Ġ Deep", + "ĠDe ep", + "ĠDee p", + "R GB", + "RG B", + "ĉ test", + "ĉt est", + "ol ves", + "olve s", + "olv es", + "u set", + "us et", + "use t", + "Un ityEngine", + "Unity Engine", + "w riter", + "write r", + "wr iter", + "Re solver", + "Res olver", + "Resolve r", + ", %", + "if ference", + "iff erence", + "iffer ence", + "iffe rence", + "_ remove", + "_re move", + "_rem ove", + "o nda", + "on da", + "ond a", + "Ġf emme", + "Ġfem me", + "3 85", + "38 5", + "de code", + "dec ode", + "Br anch", + "Ġ flush", + "Ġf lush", + "Ġfl ush", + "Ġflu sh", + "Ġinnov ative", + "T ests", + "Test s", + "Te sts", + "Tes ts", + "Ġ[' ./", + "Ġ['. /", + "Ġ covering", + "Ġcover ing", + "Ġcov ering", + ". admin", + ".ad min", + "ulti part", + "ultip art", + "( lambda", + "(l ambda", + " namespace", + "Ġ Sport", + "ĠS port", + "ĠSp ort", + "ĠSpo rt", + "ĠSpor t", + "Ġ !(", + "Ġ! (", + "a cles", + "ac les", + "acle s", + "acl es", + "Ġde pression", + "Ġdep ression", + "Ġdepr ession", + "Ġdepress ion", + "ĠK ong", + "ĠKon g", + "ĠKo ng", + "5 70", + "57 0", + "Ġ pert", + "Ġp ert", + "Ġper t", + "Ġpe rt", + "Ġ Conn", + "ĠC onn", + "ĠCon n", + "ĠCo nn", + "Ġ Otherwise", + "ĠOther wise", + "/ home", + "/h ome", + "s upported", + "sup ported", + "support ed", + "Ġ pink", + "Ġp ink", + "Ġpi nk", + "Ġpin k", + "Ġinv ited", + "Ġinvite d", + "Ġinvit ed", + "ñ os", + "ño s", + "_ enabled", + "_en abled", + "_enable d", + "Ġ -Ċ", + "Ġ- Ċ", + "F W", + "e ners", + "en ers", + "ener s", + "ene rs", + "Ġ MY", + "ĠM Y", + "Ġs uggestions", + "Ġsuggest ions", + "Ġsuggestion s", + "C anvas", + "Can vas", + "Ġ fer", + "Ġf er", + "Ġfe r", + "Ġ Marketing", + "ĠMark eting", + "ĠMarket ing", + "@ Test", + "un tu", + "unt u", + "Ġ Ven", + "ĠV en", + "ĠVe n", + "Ġ Cou", + "ĠC ou", + "ĠCo u", + "i vals", + "iv als", + "ival s", + "iva ls", + "D onald", + "Don ald", + "l imited", + "lim ited", + "limit ed", + "ĉ ĉĉĉĉĉĊ", + "ĉĉ ĉĉĉĉĊ", + "ĉĉĉĉ ĉĉĊ", + "ĉĉĉ ĉĉĉĊ", + "ĉĉĉĉĉ ĉĊ", + "ĉĉĉĉĉĉ Ċ", + "Ġanal yst", + "Ġanaly st", + "Ġanalys t", + "( entry", + "(en try", + "(ent ry", + "Ġrepresent ative", + "_ attributes", + "_at tributes", + "_attribute s", + "_attrib utes", + "Ġ fur", + "Ġf ur", + "Ġfu r", + ". hide", + ".h ide", + "r esp", + "re sp", + "res p", + "ad ores", + "ado res", + "ador es", + "r ides", + "ri des", + "ride s", + "rid es", + "Ġ Josh", + "ĠJ osh", + "ĠJo sh", + "ĠJos h", + "r obot", + "ro bot", + "rob ot", + "ĠN AT", + "ĠNA T", + "Ġs esso", + "Ġses so", + "Ġsess o", + "Ġint egrated", + "Ġinteg rated", + "Ġintegr ated", + "Ġintegrate d", + ": true", + "p arts", + "par ts", + "part s", + "pa rts", + "Ġst upid", + "Ġstu pid", + "Ġstup id", + ": event", + ":e vent", + "@end section", + "Ġ pu", + "Ġp u", + ". Table", + ".T able", + ".Tab le", + "Ġ Yii", + "ĠY ii", + "ĠYi i", + "` ;ĊĊ", + "`;Ċ Ċ", + "`; ĊĊ", + "Ġ clang", + "Ġc lang", + "Ġcl ang", + "Ġclan g", + "Ġcla ng", + "=\" \">", + "=\"\" >", + "en gan", + "eng an", + "enga n", + "_ parameters", + "_param eters", + "_parameter s", + ". internal", + ".in ternal", + ".int ernal", + ".inter nal", + "Ġ Modern", + "ĠMod ern", + "ĠMode rn", + "ĠModer n", + "Ġ metric", + "Ġm etric", + "Ġmet ric", + "Ġ semi", + "Ġs emi", + "Ġse mi", + "Ġsem i", + "={ {Ċ", + "={{ Ċ", + "7 07", + "70 7", + ". amazon", + ".a mazon", + ".am azon", + "Ġ BB", + "ĠB B", + "ain ty", + "aint y", + "ai nty", + "view port", + "3 67", + "36 7", + "Ġstart Activity", + "dis patch", + "disp atch", + "* ****", + "** ***", + "**** *", + "*** **", + "Ġf lav", + "Ġfl av", + "Ġfla v", + "iffer ent", + "iffe rent", + "3 82", + "38 2", + "[ this", + "[t his", + "Ġs take", + "Ġst ake", + "Ġsta ke", + "Ġarg ued", + "Ġargue d", + "v iously", + "vious ly", + "vi ously", + ". work", + ".w ork", + "Ġ Oak", + "ĠO ak", + "O ld", + "Ol d", + "( async", + "(a sync", + "(as ync", + "n otes", + "not es", + "no tes", + "note s", + "Ġ flip", + "Ġf lip", + "Ġfl ip", + "Ġdis ag", + "Ġ TE", + "ĠT E", + "ĉ error", + "ĉe rror", + "ĉerr or", + "< '", + "Ġ »ĊĊ", + "Ġ» ĊĊ", + "Ġ»Ċ Ċ", + "Ġ filtered", + "Ġfil tered", + "Ġfilter ed", + "Ġfilt ered", + "ĠM ach", + "ĠMac h", + "ĠMa ch", + "Ġ hung", + "Ġh ung", + "Ġhun g", + "Ġhu ng", + "_ dump", + "_d ump", + "_ samples", + "_s amples", + "_sample s", + "- dismiss", + "-dis miss", + "Ġ ray", + "Ġr ay", + "Ġra y", + "Im plemented", + "Implement ed", + "D K", + "Ġ jed", + "Ġj ed", + "Ġje d", + "0 90", + "09 0", + "Ġbreak s", + "Ġbre aks", + "Ġ fits", + "Ġf its", + "Ġfit s", + "Ġfi ts", + ". gr", + ".g r", + "Ġ Zero", + "ĠZ ero", + "ĠZe ro", + "o ro", + "or o", + "Ġequ ally", + "Ġequal ly", + "Ġeq ually", + "Ġ '[", + "Ġ' [", + "Ġconcern ing", + "< meta", + "<", + "'> <", + "Ġpro mot", + "Ġprom ot", + "Ġpromo t", + "Ġ incl", + "Ġin cl", + "Ġinc l", + "_ only", + "_on ly", + "ë¥ ¼", + "ĠAtt orney", + "- date", + "-d ate", + "-da te", + "-dat e", + "Ġ landscape", + "Ġl andscape", + "Ġland scape", + "Ġlands cape", + "Ġlandsc ape", + "Ġ fu", + "Ġf u", + "S Y", + ". prop", + ".p rop", + ".pro p", + ".pr op", + "Ġ Arr", + "ĠA rr", + "ĠAr r", + "p ag", + "pa g", + "Parallel Group", + "' :čĊ", + "': čĊ", + "Ġ logs", + "Ġl ogs", + "Ġlo gs", + "Ġlog s", + "a unch", + "un ci", + "unc i", + "n ama", + "na ma", + "nam a", + "Table Cell", + "iss ues", + "issue s", + ". {", + "e curity", + "ec urity", + "_ exec", + "_e xec", + "_ex ec", + "_exe c", + "o lds", + "ol ds", + "old s", + "Ġ hosts", + "Ġhost s", + "Ġho sts", + "Ġhos ts", + "Ġ proto", + "Ġpro to", + "Ġpr oto", + "Ġprot o", + "_ import", + "_im port", + "_imp ort", + "_ sort", + "_s ort", + "_so rt", + "Ġ Bow", + "ĠB ow", + "ĠBo w", + "Ġ Normal", + "ĠN ormal", + "ĠNor mal", + "ĠNorm al", + "Ġ Farm", + "ĠF arm", + "ĠFar m", + "ĠFa rm", + ".create ParallelGroup", + "R otation", + "Rot ation", + ". err", + ".e rr", + ".er r", + "Ġp leased", + "Ġplease d", + "Ġple ased", + "Ġplea sed", + "Ġpleas ed", + "it age", + "ita ge", + "itag e", + ". Wh", + ".W h", + "ĉ ĉĠĠĠĠ", + "ĉĉ ĠĠĠĠ", + "ĉĉĠĠĠ Ġ", + "ĉĉĠ ĠĠĠ", + "ĉĉĠĠ ĠĠ", + "M R", + "Ġ MORE", + "ĠM ORE", + "ĠMO RE", + "ĠMOR E", + "Ġ Natural", + "ĠN atural", + "ĠNat ural", + "ĠNatur al", + "_ transform", + "_trans form", + "B ASE", + "BA SE", + "en eral", + "ener al", + "ene ral", + "u tdown", + "ut down", + ". commons", + ".com mons", + ".common s", + ".comm ons", + "W T", + "Ġ aan", + "Ġa an", + "Ġaa n", + ". Result", + ".Res ult", + "d og", + "do g", + "Ġcl icking", + "Ġclick ing", + "Ġclic king", + ") ,ĊĊ", + "), ĊĊ", + "),Ċ Ċ", + "# line", + "O perator", + "Oper ator", + "Op erator", + "Opera tor", + "Ġc iv", + "Ġci v", + "Ġm erg", + "Ġme rg", + "Ġmer g", + "o buf", + "ob uf", + "ng then", + "ngth en", + "Ġ [{", + "Ġ[ {", + "Ġc ancell", + "Ġcan cell", + "Ġcancel l", + "Ġcanc ell", + "tr igger", + "tri gger", + ". :", + "W ORK", + "WO RK", + "de clare", + "decl are", + "declar e", + "Ġde crease", + "Ġdecre ase", + "ÅĽ ci", + "l oom", + "lo om", + "loo m", + ". None", + ".N one", + ".No ne", + ".Non e", + "Ġ MI", + "ĠM I", + "Ġ Jason", + "ĠJ ason", + "ĠJa son", + "ĠJas on", + "Ġhealth care", + "ia mond", + "iam ond", + "iamo nd", + "s ylvania", + "* x", + "Ġ Ra", + "ĠR a", + "[ b", + "Ġ printing", + "Ġprint ing", + "Ġprin ting", + "ph abet", + "pha bet", + "Ġ Labour", + "ĠLa bour", + "ĠLab our", + "o pper", + "op per", + "opp er", + "Ġz ijn", + "Ġzi jn", + "Ġzij n", + "- target", + "-t arget", + "_ FUNCTION", + "_F UNCTION", + "_FUNC TION", + "_FUN CTION", + "Ġ oct", + "Ġo ct", + "Ġoc t", + "е ниÑı", + "ен иÑı", + "ени Ñı", + "åľ ¨", + "Ġ western", + "Ġwest ern", + "Ġwes tern", + "Ġcomp uters", + "Ġcomput ers", + "Ġcomputer s", + "Ġcompute rs", + "Ġ RET", + "ĠR ET", + "ĠRE T", + "Hash Map", + "[ String", + "[S tring", + "get Value", + "_ DATE", + "_D ATE", + "_DAT E", + "_DA TE", + ". Next", + ".N ext", + "ĠF if", + "ĠFi f", + "é l", + "ic ked", + "ick ed", + "æ İ", + "- MM", + "-M M", + "Ġ {ĊĊĊ", + "Ġ{ ĊĊĊ", + "Ġ{Ċ ĊĊ", + "Ġ{ĊĊ Ċ", + "Ġ contacts", + "Ġcont acts", + "Ġcontact s", + "Ġconta cts", + "Ġ digits", + "Ġd igits", + "Ġdig its", + "Ġdigit s", + "P rodu", + "Pro du", + "Pr odu", + "Prod u", + "Ġun usual", + "Ġunus ual", + "Ġrapid ly", + "t ures", + "ture s", + "tu res", + "tur es", + "Ġang ry", + "c ancel", + "can cel", + "x xxx", + "xx xx", + "xxx x", + "_ parser", + "_p arser", + "_parse r", + "_par ser", + "_pars er", + "id ity", + "idi ty", + "_ PREFIX", + "_P REFIX", + "_PRE FIX", + "_PREF IX", + "7 10", + "71 0", + "Ġm ehr", + "Ġme hr", + "Ġrare ly", + "Ġrar ely", + "e the", + "et he", + "eth e", + "o pes", + "op es", + "ope s", + "Ġ %.", + "Ġ% .", + "w orks", + "work s", + "wor ks", + "Ġ theta", + "Ġth eta", + "Ġthe ta", + "Ġcon tribution", + "Ġcontrib ution", + "Ġ Tony", + "ĠT ony", + "ĠTo ny", + "ĠTon y", + "Ġs quad", + "Ġsqu ad", + "5 37", + "53 7", + "а й", + "аР¹", + "Ġî n", + "t here", + "th ere", + "ther e", + "the re", + "o uted", + "ou ted", + "out ed", + "oute d", + "ĉ q", + "Ļ Ĥ", + "g ood", + "go od", + "goo d", + "L I", + "é¡ µ", + "Ġ Living", + "ĠL iving", + "ĠLi ving", + "ĠLiv ing", + "iz abeth", + "iza beth", + "Ġ kt", + "Ġk t", + "Ġ Dallas", + "ĠD allas", + "ĠDal las", + "] ],Ċ", + "]] ,Ċ", + "]], Ċ", + "Ġ />ĊĊ", + "Ġ/ >ĊĊ", + "Ġ/>Ċ Ċ", + "Ġ/> ĊĊ", + "Ġ raising", + "Ġr aising", + "Ġrais ing", + "Ġra ising", + "/ router", + "/r outer", + "_ game", + "_g ame", + "3 68", + "36 8", + "Ġ CUR", + "ĠC UR", + "ĠCU R", + "z ens", + "ze ns", + "zen s", + ". es", + ".e s", + "Ġ fontWeight", + "Ġfont Weight", + "( func", + "(f unc", + "(fun c", + "not ification", + "notif ication", + "Ġ' ../../../", + "Ġ'../ ../../", + "Ġ'../../ ../", + "Ġbl ame", + "Ġbla me", + "ãĢĤ ĊĊĊĊ", + "ãĢĤĊĊ ĊĊ", + "ãĢĤĊ ĊĊĊ", + "an co", + "anc o", + "9 80", + "98 0", + "Id entity", + "Ident ity", + "Ide ntity", + "f ollow", + "fol low", + "Ġ arts", + "Ġa rts", + "Ġar ts", + "Ġart s", + "x s", + "Ġoffic ially", + "Ġofficial ly", + "Ġ Studio", + "ĠSt udio", + "ĠStud io", + "ĠStudi o", + "Ġrecommend ations", + "Ġrecommendation s", + "Ġ locale", + "Ġl ocale", + "Ġlo cale", + "Ġloc ale", + "Ġlocal e", + "Ġam ateur", + "Ġamat eur", + "Ġ Enable", + "ĠE nable", + "ĠEn able", + "Ġ caps", + "Ġc aps", + "Ġcap s", + "Ġca ps", + ". End", + ".E nd", + ".En d", + "3 88", + "38 8", + "- add", + "-a dd", + "-ad d", + "_g shared", + "Ġ CT", + "ĠC T", + "F orce", + "For ce", + "Ċ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "Ġ orange", + "Ġo range", + "Ġor ange", + "Ġorang e", + "Ġora nge", + "Ġoran ge", + "Ġ lp", + "Ġl p", + "Ġ answered", + "Ġanswer ed", + ". Grid", + ".G rid", + ".Gr id", + "Ġd ual", + "Ġdu al", + "Ġdua l", + "Ġstr ategic", + "Ġstrateg ic", + "Ġn obody", + "Ġno body", + "Ġnob ody", + "Ġ fatal", + "Ġf atal", + "Ġfa tal", + "Ġfat al", + "_ est", + "_e st", + "_es t", + "( el", + "(e l", + "Ġ ìł", + "Ġì ł", + "ĠB udd", + "ĠBu dd", + "ĠBud d", + "A IT", + "AI T", + "_ factor", + "_f actor", + "_fac tor", + "_fact or", + "_fa ctor", + "- one", + "-on e", + "-o ne", + "Ġ HAVE", + "ĠH AVE", + "ĠHA VE", + "\" čĊčĊ", + "\"čĊ čĊ", + "7 60", + "76 0", + "P rof", + "Pro f", + "Pr of", + "Ġ är", + "Ġä r", + "str ings", + "string s", + "Ġ dirty", + "Ġd irty", + "Ġdir ty", + "Ġdirt y", + "Ġ Face", + "ĠF ace", + "ĠFac e", + "ĠFa ce", + "Ġ Begin", + "ĠB egin", + "ĠBe gin", + "ĠBeg in", + "Ġ Bus", + "ĠB us", + "ĠBu s", + "Ġ wis", + "Ġw is", + "Ġwi s", + "åŃ Ĺ", + "Ġ speaker", + "Ġs peaker", + "Ġspe aker", + "Ġspeak er", + "Ġ carrier", + "Ġcar rier", + "Ġcarr ier", + "Ġ Om", + "ĠO m", + "Ġhad n", + "Ġha dn", + "Al low", + "All ow", + ":: __", + "::_ _", + "Ġ verb", + "Ġv erb", + "Ġver b", + "Ġve rb", + "Ġ Complete", + "ĠCom plete", + "ĠComp lete", + "ĠComple te", + "Ġ Easy", + "ĠE asy", + "ĠEa sy", + "Ġb ills", + "Ġbill s", + "Ġbil ls", + "Ġ ĠĊĊ", + "ĠĠ ĊĊ", + "ĠĠĊ Ċ", + "Vert ical", + "Ver tical", + "Ġ pron", + "Ġp ron", + "Ġpro n", + "Ġpr on", + "Ġ Define", + "ĠDe fine", + "ĠDef ine", + "Ġ lookup", + "Ġlook up", + "variable s", + "vari ables", + "Ġp andas", + "Ġpan das", + "Ġpand as", + "Ġpanda s", + "u mes", + "um es", + "ume s", + "Ġin noc", + "Ġinn oc", + "Ġ setUp", + "Ġset Up", + "ĠCh ampionship", + "ĠChampions hip", + "ĠChampion ship", + "art ist", + "arti st", + "ĠC Type", + "ĠCT ype", + "F oundation", + "Found ation", + "๠Ī", + "Ġ Setup", + "ĠSet up", + "4 28", + "42 8", + "Ġ recipes", + "Ġrec ipes", + "Ġrecipe s", + "Ġrecip es", + "Ġ UIColor", + "ĠU IColor", + "ĠUI Color", + "Ġ Fight", + "ĠF ight", + "ĠFig ht", + "ĠFi ght", + "Ġ authorized", + "Ġauthor ized", + "Ġauthorize d", + "_ click", + "_c lick", + "_cl ick", + "_cli ck", + "9 90", + "99 0", + "_ success", + "_s uccess", + "_succ ess", + "_su ccess", + "an gan", + "ang an", + "anga n", + "Ġ Mountain", + "ĠM ountain", + "ĠMount ain", + "Ġ Doctor", + "ĠDo ctor", + "ĠDoc tor", + "Ġ egg", + "Ġe gg", + "Ġeg g", + "ĠM edicine", + "ĠMed icine", + "ĠMedic ine", + "c les", + "cl es", + "cle s", + "` .Ċ", + "`. Ċ", + "[ int", + "[i nt", + "[in t", + "d ashboard", + "dash board", + "Ġ Appro", + "ĠApp ro", + "ĠAp pro", + "- dr", + "-d r", + "Ġprodu ces", + "Ġproduce s", + "Ġprod uces", + "Ġr ental", + "Ġren tal", + "Ġrent al", + "Ġ reload", + "Ġre load", + "Ġr eload", + "Ġrel oad", + "3 81", + "38 1", + "Ġ arrival", + "Ġarr ival", + "Ġarriv al", + "s pot", + "sp ot", + "spo t", + "Ġunder t", + "Ġund ert", + "Ġunde rt", + "3 78", + "37 8", + "Ġequ ipped", + "Ġequip ped", + "Ġ proved", + "Ġpro ved", + "Ġpr oved", + "Ġprov ed", + "Ġprove d", + "Ġ centers", + "Ġcent ers", + "Ġcenter s", + "Ġcen ters", + "Ġ defines", + "Ġdef ines", + "Ġdefine s", + "Ġdefin es", + "al so", + "als o", + "Ġ opacity", + "Ġop acity", + "Ġ Unfortunately", + "ĠUn fortunately", + "ĠIll inois", + "Ġ не", + "Ġн е", + "ĠT emple", + "ĠTem ple", + "ĠTemp le", + "ĠTempl e", + "Ġ Trail", + "ĠT rail", + "ĠTr ail", + "ĠTra il", + "Ġ Kelly", + "ĠK elly", + "ĠKel ly", + "Ġ measurement", + "Ġme asurement", + "Ġmeasure ment", + "Ġmeas urement", + "Ġse parated", + "Ġsepar ated", + "Ġseparate d", + "Ġseparat ed", + "- circle", + "-c ircle", + "H ey", + "He y", + "Ġ READ", + "ĠRE AD", + "ig its", + "igit s", + "igi ts", + "Ġ ib", + "Ġi b", + "Ġ MOD", + "ĠM OD", + "ĠMO D", + "at tery", + "att ery", + "atter y", + "atte ry", + "а з", + "аР·", + "Ġv end", + "Ġve nd", + "Ġven d", + "е нÑĤ", + "ен ÑĤ", + "Ġ HttpClient", + "ĠHttp Client", + "3 59", + "35 9", + "s afe", + "sa fe", + "_ ASS", + "_A SS", + "_AS S", + "i cit", + "ic it", + "ici t", + "Ġ Construct", + "ĠCon struct", + "ĠConstr uct", + "Ġ Clo", + "ĠC lo", + "ĠCl o", + "Ġ Six", + "ĠS ix", + "ĠSi x", + "_ TOKEN", + "_T OKEN", + "_TO KEN", + "( block", + "(b lock", + "(bl ock", + "Ġwar ned", + "Ġwarn ed", + "/* !", + "! Ċ", + "}/ >Ċ", + "}/> Ċ", + "Ġin novation", + "Ġinn ovation", + "Ġinnov ation", + "_ \"", + "Ġ );čĊčĊ", + "Ġ) ;čĊčĊ", + "Ġ); čĊčĊ", + "Ġ);čĊ čĊ", + "Ġ spots", + "Ġsp ots", + "Ġspot s", + "Ġspo ts", + "Ġcho osing", + ". cs", + ".c s", + "Ġf lexible", + "Ġflex ible", + "U Int", + "UI nt", + "4 35", + "43 5", + "9 30", + "93 0", + "Ġ scratch", + "Ġs cratch", + "Ġscr atch", + "- al", + "-a l", + "Ġf estival", + "Ġfest ival", + "Ġout standing", + "================ ================================", + "================================ ================", + "M ean", + "Me an", + "Ġ Oregon", + "ĠO regon", + "ĠOre gon", + "s ymbol", + "sym bol", + ". account", + ".a ccount", + ".ac count", + ".acc ount", + "d ney", + "dn ey", + "' ''", + "'' '", + "! \",", + "!\" ,", + "9 01", + "90 1", + "Ġ particle", + "Ġp article", + "Ġpart icle", + "Ġpartic le", + "Ġparti cle", + "à ĥ", + "[ MAX", + "[M AX", + "I VER", + "IV ER", + "IVE R", + "ER ENCE", + "NS Mutable", + "ĠC olumbia", + "ĠColum bia", + "_ ĊĊ", + "_Ċ Ċ", + ". fr", + ".f r", + "Ġc ogn", + "Ġco gn", + "Ġcog n", + "V R", + "Ġ Methods", + "ĠMethod s", + "ĠMeth ods", + "Ġ Made", + "ĠM ade", + "ĠMad e", + "ĠMa de", + "Ġ BR", + "ĠB R", + "Ġ Else", + "ĠE lse", + "ĠEl se", + "Ġeg gs", + "Ġegg s", + "Ġ swing", + "Ġs wing", + "Ġsw ing", + "Ġ Inv", + "ĠI nv", + "ĠIn v", + "Ġdise ases", + "Ġdisease s", + "Ġf irms", + "Ġfirm s", + "Ġfi rms", + "Ġfir ms", + "Ġ lemma", + "Ġl emma", + "Ġle mma", + "Ġlem ma", + "} `);Ċ", + "}` );Ċ", + "l ings", + "ling s", + "lin gs", + "Ġg ym", + "Ġgy m", + "umin um", + "umi num", + ". Trim", + ".T rim", + ".Tr im", + "M em", + "Me m", + "Ġcrit icism", + "Ġcritic ism", + "ibern ate", + "_ TX", + "_T X", + "i oni", + "ion i", + "io ni", + "Ġguid ance", + "Ġgui dance", + "Ġrepeated ly", + "Ġrepeat edly", + "Ġ supplier", + "Ġs upplier", + "Ġsup plier", + "Ġsuppl ier", + "Ġsupp lier", + "Ġp ainting", + "Ġpaint ing", + "Ġpain ting", + "8 64", + "86 4", + ". Fragment", + ".F ragment", + "ed Exception", + "Ġw iring", + "Ġwir ing", + "Ġwi ring", + "Ġcour ts", + "Ġcou rts", + "Ġcourt s", + "W EB", + "WE B", + "æľ ī", + "\\ .", + "ill ance", + "illa nce", + "Ġb rows", + "Ġbr ows", + "Ġbro ws", + "Ġbrow s", + "Ġ Pattern", + "ĠP attern", + "ĠPat tern", + "ĠPatt ern", + "PL ICATION", + "PLIC ATION", + "Ġ Summer", + "ĠS ummer", + "ĠSum mer", + "Ch ain", + "Cha in", + "Ġc ute", + "Ġcut e", + "Ġcu te", + "m ercial", + "mer cial", + "merc ial", + "Ġd il", + "Ġdi l", + "ĠFrank lin", + "ĉ global", + "ĉg lobal", + "IN CLUDING", + "h istory", + "hi story", + "hist ory", + "histor y", + "Ġ lst", + "Ġl st", + "Ġls t", + "Q t", + "S DL", + "SD L", + "a lia", + "al ia", + "ali a", + "i ere", + "ie re", + "ier e", + "( ...", + "(. ..", + "(.. .", + "ĉ cin", + "ĉc in", + "if fs", + "iff s", + "v elope", + "ve lope", + "vel ope", + "velop e", + "Ġ Root", + "ĠR oot", + "ĠRo ot", + "ĠRoo t", + "cl uster", + "clus ter", + "User Name", + "i gne", + "ig ne", + "ign e", + "< S", + "Ġ fest", + "Ġf est", + "Ġfe st", + "4 19", + "41 9", + "Ġindic ating", + "Ġindica ting", + "k eeper", + "ke eper", + "keep er", + "kee per", + "Ġc ada", + "Ġca da", + "Ġcad a", + "é g", + "con sin", + "cons in", + "Ġ GB", + "ĠG B", + "Ġ lb", + "Ġl b", + "e mony", + "em ony", + "emo ny", + "emon y", + "- icons", + "-icon s", + "-i cons", + "_ doc", + "_d oc", + "_do c", + "A ctor", + "Act or", + "Ac tor", + "e lem", + "el em", + "ele m", + ". Delete", + ".De lete", + "Ġin fection", + "Ġinf ection", + "Ġinfect ion", + "Ġ Privacy", + "ĠPriv acy", + "Ġgreat ly", + "Ġ Pos", + "ĠP os", + "ĠPo s", + "ĠT reat", + "ĠTr eat", + "ĠTre at", + "F low", + "Fl ow", + "Flo w", + "Ġat tractive", + "Ġattr active", + "Ġattract ive", + "Ġ Marc", + "ĠM arc", + "ĠMar c", + "ĠMa rc", + "s udo", + "su do", + "t esy", + "te sy", + "tes y", + "- an", + "-a n", + "9 98", + "99 8", + "ab ama", + "aba ma", + "Ġ Would", + "ĠW ould", + "ĠWo uld", + "Ġs uck", + "Ġsu ck", + "Ġsuc k", + "index Path", + "Ġ Et", + "ĠE t", + "T imes", + "Time s", + "Tim es", + "Ti mes", + "7 80", + "78 0", + "Ġ clubs", + "Ġcl ubs", + "Ġclub s", + "_ assoc", + "_as soc", + "_ass oc", + "Ġac quired", + "Ġacqu ired", + "Ġacquire d", + "( \":", + "(\" :", + "Ġint ense", + "Ġintens e", + ". maps", + ".m aps", + ".map s", + ".ma ps", + "Ex pected", + "Exp ected", + "Expect ed", + "T oggle", + "Ġ ay", + "Ġa y", + "Ġl ifestyle", + "Ġlife style", + "Ġlif estyle", + "- called", + "-c alled", + "-cal led", + "-call ed", + "Ġ Snow", + "ĠS now", + "ĠSn ow", + "ĠSno w", + "V olume", + "Vol ume", + "Ġcann abis", + "Ġ Direction", + "ĠD irection", + "ĠDirect ion", + "ĠDi rection", + "ĠDir ection", + "ĠDire ction", + "Ġ Limited", + "ĠL imited", + "ĠLim ited", + "ĠLimit ed", + "- specific", + "-s pecific", + "-spec ific", + "Ġd owntown", + "Ġdown town", + "Ġdownt own", + "/ icons", + "/i cons", + "/icon s", + "/ic ons", + "Ġre ven", + "Ġr even", + "Ġrev en", + "Ġreve n", + "L eg", + "Le g", + "8 85", + "88 5", + "= null", + "=n ull", + "4 96", + "49 6", + "Key board", + "' )).", + "') ).", + "')) .", + "Ġ\" \";čĊ", + "Ġ\"\" ;čĊ", + "Ġ\"\"; čĊ", + "Ġatt itude", + ". navigate", + ".n avigate", + ".nav igate", + "- error", + "-e rror", + "AM PLE", + "AMP LE", + "AMPL E", + "Ġ Jay", + "ĠJ ay", + "ĠJa y", + "v r", + "c ow", + "co w", + ". compile", + ".com pile", + ".comp ile", + "Ġmem ories", + "Ġmemor ies", + "Ġmemo ries", + "_ mark", + "_m ark", + "_mar k", + "_ma rk", + "Ġ Minnesota", + "ĠMin nesota", + "Ġk osten", + "Ġko sten", + "Ġkos ten", + "Ġkost en", + "Ġ probability", + "Ġprob ability", + "Ġprobabil ity", + "w arning", + "war ning", + "warn ing", + "Ġgen etic", + "Ġgene tic", + "F ixture", + "Fix ture", + "Ġ HashSet", + "ĠHash Set", + "N ombre", + "Nom bre", + "_ month", + "_m onth", + "_mon th", + "_mo nth", + "Æ °", + "- start", + "-st art", + "-star t", + "xy gen", + "ĉ ft", + "ĉf t", + "i agnostics", + "Ġ Matthew", + "ĠMat thew", + "ĠMatth ew", + "Ġcon cepts", + "Ġconcept s", + "Ġconce pts", + "Ġcon str", + "Ġconst r", + "Ġcons tr", + ". State", + ".St ate", + ".Stat e", + "и н", + "N ov", + "No v", + "Î ±", + "Ġ Panel", + "ĠP anel", + "ĠPan el", + "ĠPa nel", + "ĠPane l", + "ä¸ ª", + "com pare", + "comp are", + "> ()Ċ", + ">( )Ċ", + ">() Ċ", + "Ġapp lying", + "Ġapply ing", + "Ġappl ying", + "Ġprom ised", + "Ġpromise d", + "Ġ ox", + "Ġo x", + "n cia", + "nc ia", + "Ġ Validation", + "ĠValid ation", + "o rts", + "or ts", + "ort s", + "_ cur", + "_c ur", + "_cu r", + "e lect", + "el ect", + "ele ct", + "e ye", + "ey e", + "( Data", + "(D ata", + "Ġre porter", + "Ġreport er", + "Ġ Buff", + "ĠB uff", + "ĠBu ff", + "ĠBuf f", + "3 95", + "39 5", + "Ġ sr", + "Ġs r", + "Ġ \";", + "Ġ\" ;", + "i cky", + "ic ky", + "ick y", + "Ġt empor", + "Ġtem por", + "Ġtemp or", + "Ġtempo r", + "S N", + "Ġ resident", + "Ġres ident", + "Ġresid ent", + "Ġreside nt", + "p ires", + "pi res", + "pir es", + "pire s", + "ys ical", + "ysi cal", + "Ġend orse", + "Ġendors e", + "Ġ Song", + "ĠS ong", + "ĠSo ng", + "ĠSon g", + "is Empty", + "le et", + "lee t", + "_ util", + "_u til", + "_ut il", + "Ġd istingu", + "Ġdist ingu", + "Ġ Talk", + "ĠT alk", + "ĠTal k", + "ĠTa lk", + "Ġ Mot", + "ĠM ot", + "ĠMo t", + "( default", + "(d efault", + "(de fault", + "(def ault", + ". Arg", + ".A rg", + ".Ar g", + "gorith ms", + "gorithm s", + "_ words", + "_w ords", + "_word s", + "im mer", + "imm er", + "_ reset", + "_re set", + "_res et", + "f amily", + "W W", + "Ġs avings", + "Ġsav ings", + "Ġsaving s", + "Ġ âĢĿ", + "ĠâĢ Ŀ", + "_ enable", + "_e nable", + "_en able", + "s idebar", + "side bar", + "R unning", + "Run ning", + "Ġ ali", + "Ġa li", + "Ġal i", + "Ġte stim", + "Ġtest im", + "Ġtes tim", + "Ġ warnings", + "Ġw arnings", + "Ġwar nings", + "Ġwarn ings", + "Ġwarning s", + "Ġ Chem", + "ĠC hem", + "ĠCh em", + "ĠChe m", + "Ġ Exit", + "ĠE xit", + "ĠEx it", + "Ġf ounder", + "Ġfound er", + "Ġfo under", + "Ġfou nder", + "p ector", + "pe ctor", + "pect or", + "pec tor", + "Ġ rm", + "Ġr m", + "_ dataset", + "_d ataset", + "_data set", + "_dat aset", + "_datas et", + "Ġ Das", + "ĠD as", + "ĠDa s", + "Ġ han", + "Ġh an", + "Ġha n", + "G etty", + "Get ty", + "Ge tty", + "á l", + "Ġ ny", + "Ġn y", + "Ġpo verty", + "Ġpov erty", + "Ġresult ed", + ". by", + ".b y", + "Ġ Visit", + "ĠVis it", + "ĠVi sit", + "Ġobt aining", + "Ġobtain ing", + "/ '.$", + "/' .$", + "/'. $", + "Ġ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "s hall", + "sh all", + "shal l", + "sha ll", + "_ LEFT", + "_LE FT", + "UI Image", + "_ Name", + "_N ame", + "h ave", + "ha ve", + "ĠN ob", + "ĠNo b", + "l r", + "- footer", + "-f ooter", + "-foot er", + "Ġn aked", + "Ġna ked", + "Ġnak ed", + "ĠG arden", + "ĠGar den", + "ĠGard en", + "\\F acades", + "Ġ graduate", + "Ġgrad uate", + "Ġgradu ate", + "4 17", + "41 7", + "Ġfr anchise", + "Ġfranch ise", + "p lane", + "pl ane", + "plan e", + "pla ne", + "Ġcontrib utions", + "Ġcontribution s", + "Ġstring With", + "Ġ crypto", + "Ġc rypto", + "Ġcrypt o", + "Ġcry pto", + "Ġmov ements", + "Ġmove ments", + "Ġmo vements", + "Ġmovement s", + "a thers", + "ath ers", + "ather s", + "athe rs", + "Ġ lifetime", + "Ġl ifetime", + "Ġlife time", + "Ġlif etime", + "Ġcommunic ate", + "Ġcommun icate", + "j ar", + "ja r", + "Ġ Fragment", + "ĠF ragment", + "ĠFr agment", + "ĠFra gment", + "ĠFrag ment", + "_ IF", + "_I F", + "ĠN avy", + "ĠNav y", + "ĠNa vy", + "Ġ Figure", + "ĠF igure", + "ĠFig ure", + "Ġ simulation", + "Ġs imulation", + "Ġsim ulation", + "Ġsimul ation", + "_ stop", + "_s top", + "_st op", + "Ġreport ers", + "Ġreporter s", + "Ġver sus", + "Ġvers us", + "a ja", + "aj a", + "Ġ α", + "ĠÎ ±", + "Ġgover nor", + "Ġgovern or", + "Ġgoverno r", + "List Item", + "Ġ sealed", + "Ġse aled", + "Ġsea led", + "Ġseal ed", + ". Background", + ".Back ground", + "e di", + "ed i", + "ash ing", + "ashi ng", + "Ġ lip", + "Ġl ip", + "Ġli p", + "ĠI h", + "m erge", + "mer ge", + "Ġn ec", + "Ġne c", + "0 24", + "02 4", + "el ocity", + "elo city", + "AT EG", + "ATE G", + "Ġse eds", + "Ġsee ds", + "Ġseed s", + "Ġ floating", + "Ġf loating", + "Ġfloat ing", + "Ġflo ating", + "7 01", + "70 1", + "_ FA", + "_F A", + "w alk", + "wa lk", + "wal k", + "ĉ user", + "ĉu ser", + "ĉuse r", + "ĉus er", + "_ depth", + "_de pth", + "_dep th", + "_dept h", + "Ġw age", + "Ġwa ge", + "Ġwag e", + "@ app", + "@a pp", + "N il", + "Ni l", + "( [\"", + "([ \"", + "( vector", + "(v ector", + "(vec tor", + "Ġsecret ary", + "4 61", + "46 1", + "Ġj Panel", + "v ez", + "ve z", + "Âł ³³³", + "³³ ³³", + "³³³ Âł", + "d irection", + "dir ection", + "di rection", + "direct ion", + "dire ction", + "Ġ EP", + "ĠE P", + "Ġ hunt", + "Ġh unt", + "Ġhun t", + "Ġhu nt", + "3 96", + "39 6", + "Json Property", + "Ġ PORT", + "ĠP ORT", + "ĠPO RT", + "ĠPOR T", + "] \",", + "]\" ,", + "а п", + "аР¿", + "Ġ Foreign", + "ĠFore ign", + "p anic", + "pan ic", + "pa nic", + "Ġtr ials", + "Ġtri als", + "Ġtrial s", + "Ġ Ale", + "ĠA le", + "ĠAl e", + "Ġr ural", + "Ġru ral", + "- value", + "-v alue", + "-val ue", + "-valu e", + "author ized", + "authorize d", + "Ġ Scotland", + "ĠSc otland", + "ĠScot land", + ". drop", + ".d rop", + ".dr op", + "Ġ MT", + "ĠM T", + "ç ±", + "3 91", + "39 1", + "row th", + "5 15", + "51 5", + "File Path", + "Ġ recall", + "Ġre call", + "Ġrec all", + "Ġrecal l", + "if le", + "Ġ cel", + "Ġc el", + "Ġce l", + "Ġ SELECT", + "ĠSE LECT", + "ĠSEL ECT", + "k n", + "_ case", + "_c ase", + "_ca se", + "Ġ crop", + "Ġc rop", + "Ġcr op", + "Ġcro p", + "5 43", + "54 3", + "s ure", + "sur e", + "su re", + "p ot", + "po t", + "I CS", + "IC S", + "Ġ stem", + "Ġs tem", + "Ġst em", + "Ġste m", + "Ġindust ries", + "Ġindustri es", + "P ut", + "Pu t", + "Ġ aber", + "Ġa ber", + "Ġab er", + "road cast", + "I cons", + "Icon s", + ") \")Ċ", + ")\" )Ċ", + ")\") Ċ", + "æĪIJ åĬŁ", + "g ui", + "gu i", + "Ġass umed", + "Ġassum ed", + "Ġassume d", + "Ġ rx", + "Ġr x", + "E A", + "è §", + "E LL", + "EL L", + "Ġd ose", + "Ġdo se", + "Ġdos e", + "Ġ ine", + "Ġin e", + "Ġi ne", + "Ġd eeper", + "Ġde eper", + "Ġdeep er", + "Ġdee per", + "l ider", + "li der", + "lide r", + "lid er", + "Ġ ordinary", + "Ġord inary", + "Ġordin ary", + "Ġg olf", + "Ġgo lf", + "Ġgol f", + "6 05", + "60 5", + "_ IMAGE", + "_IM AGE", + "Ġ NAME", + "ĠN AME", + "ĠNA ME", + "( module", + "(m odule", + "(mod ule", + "Ġ atom", + "Ġa tom", + "Ġat om", + "Ġ belt", + "Ġb elt", + "Ġbe lt", + "Ġbel t", + "Ġoff ices", + "Ġoffic es", + "Ġoffice s", + "5 06", + "50 6", + "b eta", + "be ta", + "bet a", + "Ġphilosoph y", + "( JSON", + "(J SON", + "(JS ON", + "- field", + "-f ield", + "-fi eld", + "Ġint roduce", + "Ġintrodu ce", + "Ġintro duce", + "Ġcon venience", + "Ġconven ience", + "op tim", + "opt im", + "> \"Ċ", + ">\" Ċ", + "a thy", + "at hy", + "ath y", + "Ġ employer", + "Ġemploy er", + "q uate", + "qu ate", + "qua te", + "quat e", + "Ġ edited", + "Ġed ited", + "Ġedit ed", + "Ġedi ted", + "Arg uments", + "Argument s", + "ĠN ations", + "ĠNation s", + "ĠNat ions", + "_ _)", + "__ )", + "Ġn ose", + "Ġno se", + "Ġnos e", + "Ġ Sample", + "ĠS ample", + "ĠSam ple", + "ĠSamp le", + "' )ĊĊĊ", + "') ĊĊĊ", + "')Ċ ĊĊ", + "')ĊĊ Ċ", + "Ġ cake", + "Ġc ake", + "Ġca ke", + ". getAttribute", + ".get Attribute", + "H D", + "3 92", + "39 2", + "Mod ified", + "4 45", + "44 5", + "Ġ predicted", + "Ġpred icted", + "Ġpredict ed", + "Ġpredic ted", + "Å Ħ", + "a nie", + "an ie", + "ani e", + "S orry", + "( doc", + "(d oc", + "(do c", + "w ind", + "win d", + "wi nd", + "i eve", + "ie ve", + "iev e", + "Ġpro visions", + "Ġprov isions", + "Ġprovision s", + "A TER", + "AT ER", + "ATE R", + "O TE", + "OT E", + "M Y", + ". Autowired", + ".A utowired", + "ĠB ath", + "ĠBa th", + "ĠBat h", + "4 23", + "42 3", + ". Boolean", + ".Bool ean", + "Ġ backend", + "Ġback end", + ". Mouse", + ".M ouse", + "at eral", + "ate ral", + "ater al", + "p aper", + "pa per", + "Con st", + "Co nst", + "Cons t", + "Ġ VR", + "ĠV R", + "_ entity", + "_e ntity", + "_ent ity", + "_ CTRL", + "_C TRL", + "_CT RL", + "Ġ Protection", + "ĠPro tection", + "ĠProt ection", + "ĠProte ction", + "ĠProtect ion", + "Ġ GM", + "ĠG M", + "Ġ Study", + "ĠSt udy", + "ĠStud y", + "Ġ soup", + "Ġs oup", + "Ġso up", + "Ġsou p", + "o time", + "ot ime", + "oti me", + "' use", + "'u se", + "] \"", + "/ users", + "/user s", + "/use rs", + "/us ers", + "a ug", + "au g", + "Ġ Hong", + "ĠH ong", + "ĠHon g", + "ĠHo ng", + "_ norm", + "_n orm", + "_no rm", + "ãģ ¨", + "Ġse cre", + "Ġsec re", + "( Build", + "(B uild", + "Ġ Contract", + "ĠCon tract", + "ĠCont ract", + "ĠContr act", + "o las", + "ol as", + "ola s", + "Ġs auce", + "Ġsa uce", + "Ġsau ce", + "Ġag gressive", + "Ġaggress ive", + "Ġagg ressive", + "Ġ racial", + "Ġr acial", + "Ġrac ial", + "Ġra cial", + "char acter", + "@ @", + "Ġ compile", + "Ġcom pile", + "Ġcomp ile", + "Ġcompil e", + "Ġ Void", + "ĠV oid", + "ĠVo id", + "_ rem", + "_re m", + "_r em", + "_ memory", + "_m emory", + "_mem ory", + "3 48", + "34 8", + "k k", + "Ġ mic", + "Ġm ic", + "Ġmi c", + "S ame", + "Sam e", + "Sa me", + "U tility", + "Util ity", + "Ut ility", + "Ġ Html", + "ĠH tml", + "Ġ Xml", + "ĠX ml", + "ĠXm l", + "Re ady", + "Read y", + "Ġg all", + "Ġga ll", + "Ġgal l", + "Ġalleg edly", + "Ġalleged ly", + "ĉ ĉĉĉĠĠĠ", + "ĉĉ ĉĉĠĠĠ", + "ĉĉĉĉ ĠĠĠ", + "ĉĉĉ ĉĠĠĠ", + "ĉĉĉĉĠ ĠĠ", + "ĉĉĉĉĠĠ Ġ", + "Ġ Metal", + "ĠM etal", + "ĠMe tal", + "ĠMet al", + "ĠMeta l", + "Ġ Personal", + "ĠPerson al", + "ĠPers onal", + "ĠPersona l", + "Ġborder Radius", + "rx js", + "object s", + "obj ects", + "Ġwant ing", + "Ġwan ting", + "Ġb owl", + "Ġbo wl", + "Ġbow l", + "v endor", + "offset of", + "Ġ Rs", + "ĠR s", + "Ġ Rating", + "ĠR ating", + "ĠRa ting", + "ĠRat ing", + "Ġr ally", + "Ġrall y", + "_ NODE", + "_N ODE", + "_NO DE", + "4 18", + "41 8", + "Ġ Mix", + "ĠM ix", + "ĠMi x", + "Ġad vertis", + "Ġadvert is", + "4 85", + "48 5", + "6 67", + "66 7", + "Ġnarr ative", + "s al", + "sa l", + "Ġ mc", + "Ġm c", + "S Error", + "SE rror", + "Ġf ingers", + "Ġfin gers", + "Ġfinger s", + "Ġfing ers", + "Ġac company", + "Ġaccom pany", + "Ġaccomp any", + "Ġt ired", + "Ġti red", + "Ġtire d", + "Ġtir ed", + "Ġ stride", + "Ġst ride", + "Ġstr ide", + "Ġstri de", + "Ġ gui", + "Ġg ui", + "Ġgu i", + "e list", + "el ist", + "eli st", + "L ocale", + "Lo cale", + "Local e", + "Loc ale", + "Ġre leases", + "Ġrelease s", + "Ġrele ases", + "i king", + "ik ing", + "iki ng", + "Ġ anger", + "Ġa nger", + "Ġan ger", + "Ġang er", + "Ġange r", + ") ))ĊĊ", + ")) )ĊĊ", + ")))Ċ Ċ", + "))) ĊĊ", + "al lest", + "all est", + "alle st", + "alles t", + "Sum mary", + "( O", + "( for", + "(f or", + "Ġbasket ball", + "Ġ roads", + "Ġro ads", + "Ġroad s", + "Ġ Install", + "ĠInst all", + "Ġ Fab", + "ĠF ab", + "ĠFa b", + "it map", + "itm ap", + "4 75", + "47 5", + "Ġ ))Ċ", + "Ġ) )Ċ", + "Ġ)) Ċ", + "Ġ intersection", + "Ġinter section", + "Ġintersect ion", + "Ġinters ection", + "igh bor", + "ighb or", + "ĠB ry", + "ĠBr y", + "Ġ HERE", + "ĠH ERE", + "ĠHE RE", + "ĠHER E", + "S oftware", + "So ftware", + "Soft ware", + "el fare", + "elf are", + "a cs", + "ac s", + "6 22", + "62 2", + "Ġtr ailer", + "Ġtrail er", + "Ġtra iler", + "Ġtrai ler", + ". getClass", + ".get Class", + ".getC lass", + "ch ars", + "char s", + "cha rs", + "Ġreg ulation", + "Ġregul ation", + "Ġre fers", + "Ġref ers", + "Ġrefer s", + "Ġd estruction", + "Ġde struction", + "Ġdestruct ion", + "Ġ continuous", + "Ġcontin uous", + "Ġcontinu ous", + "Ġ Austin", + "ĠA ustin", + "ĠAust in", + "ĠAus tin", + "ĠAu stin", + "é ¢", + "a kan", + "ak an", + "aka n", + ". window", + ".w indow", + ".wind ow", + "Ġ Templates", + "ĠT emplates", + "ĠTem plates", + "ĠTemplate s", + "ĠTemp lates", + "ĠTempl ates", + "Ġabs ence", + ": n", + "Ġdis order", + "f lash", + "fl ash", + "Ġde let", + "Ġdel et", + "Ġdele t", + "bo ards", + "board s", + "Ġ Ġĉ", + "ĠĠ ĉ", + "R OP", + "RO P", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġac qu", + "Ġlaw suit", + "Ġlaws uit", + "Ġ Reviews", + "ĠRe views", + "ĠReview s", + "Ġgar age", + "Ġga rage", + "t imer", + "time r", + "ti mer", + "tim er", + "Ġ ej", + "Ġe j", + "Ġ Rectangle", + "ĠRect angle", + "Ġ flowers", + "Ġfl owers", + "Ġflow ers", + "Ġflo wers", + "Ġflower s", + "3 98", + "39 8", + "i lst", + "il st", + "ils t", + "Ġ Instance", + "ĠIn stance", + "ĠInst ance", + "S uper", + "Sup er", + "Su per", + "d et", + "de t", + "dis posing", + "disp osing", + "Ġ ES", + "ĠE S", + "Ġ IC", + "ĠI C", + "v ere", + "ver e", + "ve re", + "S k", + "_ channels", + "_ch annels", + "_channel s", + "_chan nels", + "p uted", + "put ed", + "pu ted", + "pute d", + "/ null", + "/n ull", + "n nen", + "nn en", + "4 31", + "43 1", + "Ġ Gallery", + "ĠG allery", + "ĠGall ery", + "_ global", + "_g lobal", + "_glob al", + "Auth entication", + "Ġ Rank", + "ĠR ank", + "ĠRa nk", + "ĠRan k", + "Ġ blocked", + "Ġb locked", + "Ġbl ocked", + "Ġblock ed", + "Ġbloc ked", + "Ġc alm", + "Ġcal m", + "Ġca lm", + "m arket", + "mark et", + "mar ket", + "ĉ val", + "ĉv al", + "ĉva l", + "Ġ aug", + "Ġa ug", + "Ġau g", + "p eriod", + "per iod", + "peri od", + "Ġ Constant", + "ĠCon stant", + "ĠCons tant", + "ĠConst ant", + "Ġ ?>\">Ċ", + "Ġ?> \">Ċ", + "Ġ?>\" >Ċ", + "Ġ?>\"> Ċ", + "Ġ lobby", + "Ġl obby", + "Ġlob by", + "p al", + "pa l", + "3 79", + "37 9", + "Ġ sink", + "Ġs ink", + "Ġsi nk", + "Ġsin k", + "5 08", + "50 8", + "i ah", + "ia h", + "Ð ¡", + "ur name", + "urn ame", + "Ġcon ver", + "Ġconv er", + "Ġinvest igate", + "Ġinvestig ate", + "Ch rist", + "Chris t", + "Chr ist", + "H ub", + "Hu b", + "Ġ IND", + "ĠI ND", + "ĠIN D", + "Ġ Ped", + "ĠP ed", + "ĠPe d", + "u ras", + "ur as", + "ura s", + "ĉ url", + "ĉu rl", + "Ġ Tro", + "ĠT ro", + "ĠTr o", + "Ġ preferences", + "Ġp references", + "Ġpre ferences", + "Ġprefer ences", + "Ġpreference s", + "Ġguar anteed", + "Ġguarante ed", + "Ġguarantee d", + "` ĊĊ", + "`Ċ Ċ", + "Ġport ions", + "Ġportion s", + "Ġe valu", + "Ġev alu", + "Ġeval u", + "' > < /", + "( ){ĊĊ", + "() {ĊĊ", + "(){Ċ Ċ", + "(){ ĊĊ", + "en coded", + "enc oded", + "encode d", + "enco ded", + "z illa", + "zi lla", + ". Class", + ".C lass", + ".Cl ass", + "Ġ *_", + "Ġ* _", + "_ '", + "Ġview ed", + "Ġvi ewed", + "Ġvie wed", + "Ġ Philadelphia", + "ĠPhil adelphia", + ". rows", + ".r ows", + ".row s", + ".ro ws", + "Add ed", + "Ad ded", + "Ġ Touch", + "ĠT ouch", + "ĠTo uch", + "ĠTou ch", + "8 40", + "84 0", + ". delegate", + ".de legate", + "quee ze", + "s lide", + "sl ide", + "Ġ Senior", + "ĠSen ior", + "( tag", + "(t ag", + "Ġinter views", + "Ġinterview s", + "Ġs ua", + "Ġsu a", + "a tas", + "at as", + "ata s", + "@ ĊĊ", + "@Ċ Ċ", + "d istance", + "di stance", + "dist ance", + "Ġ sein", + "Ġs ein", + "Ġse in", + "Ġsei n", + "l atest", + "la test", + "late st", + "lat est", + "lates t", + "Ġ Prince", + "ĠPr ince", + "ĠPri nce", + "Ġlux ury", + "Ġre fr", + "Ġref r", + "Ġ Kitchen", + "ĠK itchen", + "ĠKit chen", + "Ñ Ħ", + "( at", + "(a t", + "F inal", + "Fin al", + "Fi nal", + "ü ck", + "üc k", + "_ zero", + "_z ero", + "Ġ ABC", + "ĠA BC", + "ĠAB C", + "Ġ Manchester", + "ĠMan chester", + "Ġ cow", + "Ġc ow", + "Ġco w", + "C OL", + "CO L", + "_ NUMBER", + "_NUM BER", + "ch anges", + "change s", + "chan ges", + "chang es", + "g enerate", + "gen erate", + "gener ate", + "gene rate", + ". Printf", + ".Print f", + "3 69", + "36 9", + "s hare", + "sh are", + "sha re", + "St ock", + "Ġ PT", + "ĠP T", + "A nim", + "An im", + "a nga", + "an ga", + "ang a", + "Ġ ig", + "Ġi g", + "up loads", + "upload s", + "Ġ packed", + "Ġp acked", + "Ġpack ed", + "Ġpac ked", + "Ġ }];Ċ", + "Ġ} ];Ċ", + "Ġ}] ;Ċ", + "( sender", + "(s ender", + "(se nder", + "(send er", + "Ġ Wire", + "ĠW ire", + "ĠWi re", + "ĠWir e", + "i sons", + "is ons", + "ison s", + "iso ns", + "Ġplay off", + "\\ E", + "6 08", + "60 8", + "/ R", + "Ġ headed", + "Ġhe aded", + "Ġhead ed", + "Al pha", + "( order", + "(ord er", + "(or der", + "Ġop ponents", + "Ġopp onents", + "Ġoppon ents", + "Ġopponent s", + "ack son", + "acks on", + "_ member", + "_m ember", + "_mem ber", + "T urn", + "Tur n", + "Tu rn", + "ĠSov iet", + "ìĹ IJ", + "a uge", + "au ge", + "aug e", + "4 48", + "44 8", + "Ġ incoming", + "Ġin coming", + "Ġinc oming", + "Ġincom ing", + "Ġ jak", + "Ġj ak", + "Ġja k", + "- game", + "-g ame", + "Ġ Male", + "ĠM ale", + "ĠMal e", + "ĠMa le", + "Ġ Month", + "ĠM onth", + "ĠMon th", + "ĠMo nth", + "ĠMont h", + "St age", + ". exe", + ".e xe", + ".ex e", + "Own Property", + ". setItem", + ".set Item", + "Ġ dc", + "Ġd c", + "ä½ ľ", + "Ġb rut", + "Ġbr ut", + "Ġbru t", + "Ġattempt ing", + ". len", + ".l en", + ".le n", + "Ġjud gment", + "Ġs ab", + "Ġsa b", + "Ġ cad", + "Ġc ad", + "Ġca d", + "Ġ Items", + "ĠI tems", + "ĠIt ems", + "ĠItem s", + "com fort", + "el ize", + "eli ze", + "/ log", + "/l og", + "/lo g", + "Ġentre prene", + "Ġ compiler", + "Ġc ompiler", + "Ġcom piler", + "Ġcomp iler", + "Ġcompile r", + "Ġcompil er", + "_ validation", + "_valid ation", + "r eview", + "re view", + "rev iew", + "Ġ textBox", + "Ġtext Box", + "Ġ fraction", + "Ġf raction", + "Ġfr action", + "Ġfra ction", + "Ġfract ion", + "Ġfrac tion", + "Ġ Bal", + "ĠB al", + "ĠBa l", + "> ;ĊĊ", + ">;Ċ Ċ", + ">; ĊĊ", + ".AutoScale Mode", + "Ġ cats", + "Ġc ats", + "Ġca ts", + "Ġcat s", + "4 65", + "46 5", + "Ġ registry", + "Ġreg istry", + "Ġregistr y", + "Ġregist ry", + "u lus", + "ul us", + "ulu s", + "F I", + "p ayload", + "pay load", + "- search", + "-s earch", + "-se arch", + "Ġst aying", + "Ġstay ing", + "Ġsta ying", + "ac ious", + "aci ous", + "acio us", + "De coration", + "Dec oration", + "Decor ation", + "R eview", + "Re view", + "Rev iew", + "I nf", + "In f", + "Ke ep", + "it is", + "iti s", + ", String", + ",S tring", + "C oord", + "Co ord", + "Ġp ero", + "Ġper o", + "Ġpe ro", + "S ex", + "Se x", + "Ġ Atlanta", + "ĠAtl anta", + "u esta", + "ue sta", + "ues ta", + "uest a", + "A rgb", + "Arg b", + "Ar gb", + "> *", + "} _", + "F ooter", + "Foo ter", + "Foot er", + "Fo oter", + "Ġ employed", + "Ġemploy ed", + "_ bound", + "_b ound", + "_bo und", + "v ide", + "vid e", + "vi de", + ". func", + ".f unc", + ".fun c", + "$ scope", + "$s cope", + "Ġ spo", + "Ġs po", + "Ġsp o", + "Ġ Anal", + "ĠA nal", + "ĠAn al", + "ĠAna l", + "oun ced", + "ounc ed", + "ounce d", + "a round", + "ar ound", + "aro und", + "Ġ restriction", + "Ġre striction", + "Ġrestrict ion", + "Ġrestr iction", + "Ġ shops", + "Ġsh ops", + "Ġshop s", + "Ġsho ps", + "å Ģ", + "Ġ Latin", + "ĠL atin", + "ĠLa tin", + "ĠLat in", + "- col", + "-c ol", + "-co l", + "Ġbar ely", + "Ġbare ly", + "Ġ Euro", + "ĠE uro", + "ĠEu ro", + "ĠEur o", + "E r", + "Ġf aire", + "Ġfa ire", + "Ġfair e", + "_ distance", + "_d istance", + "_dist ance", + "_di stance", + "_ unlock", + "_un lock", + "Qu ote", + "IV ATE", + "IVA TE", + "Ġ åĪ", + "Ġå Ī", + "Ġa imed", + "Ġaim ed", + "Ġai med", + "Ġaime d", + "ĠRe trie", + "ĠRet rie", + ". iter", + ".i ter", + ".it er", + "Ġ wrapped", + "Ġw rapped", + "Ġwr apped", + "Ġwrap ped", + "Ġag reements", + "Ġagre ements", + "Ġagree ments", + "Ġagreement s", + "str ument", + "stru ment", + "( product", + "(pro duct", + "(prod uct", + "Ġstud ied", + "Ġstudi ed", + ". setValue", + ".set Value", + "Ġ ye", + "Ġy e", + "Ġ Cache", + "ĠC ache", + "ĠCa che", + "MB OL", + "Ġquarter back", + "Ġ syntax", + "Ġs yntax", + "Ġsy ntax", + "Ġsyn tax", + "Ġsynt ax", + ".get ElementsBy", + ".getElements By", + ". version", + ".v ersion", + "we bsite", + "web site", + "webs ite", + "R unner", + "Run ner", + "_ single", + "_s ingle", + "_si ngle", + "_sin gle", + "a tiv", + "at iv", + "ati v", + "Ġ Altern", + "ĠAl tern", + "ĠAlt ern", + "ĠAlter n", + "Ġ Beautiful", + "ĠBe autiful", + "ĠBeaut iful", + "right arrow", + "Ġd iversity", + "Ġdivers ity", + "p lash", + "pl ash", + "pla sh", + "( co", + "(c o", + ". Fill", + ".F ill", + "Ġ typing", + "Ġtyp ing", + "Ġty ping", + "3 87", + "38 7", + "0 23", + "02 3", + "Ġ clar", + "Ġc lar", + "Ġcl ar", + "Ġcla r", + "H it", + "Hi t", + "O O", + "a cco", + "ac co", + "acc o", + "5 07", + "50 7", + "w orth", + "wort h", + "wor th", + "Ġ scripts", + "Ġs cripts", + "Ġscript s", + "Ġscri pts", + "ĠMuslim s", + "Ġ LL", + "ĠL L", + "er ving", + "erv ing", + "( boolean", + "(bool ean", + "Ġbase ball", + "Ġ CAN", + "ĠC AN", + "ĠCA N", + "3 94", + "39 4", + "0 44", + "04 4", + "M AIL", + "MA IL", + "d epend", + "de pend", + "dep end", + "Ġres pective", + "Ġrespect ive", + "Ġresp ective", + "Ġ constexpr", + "Ġconst expr", + ".* ;ĊĊ", + ".*;Ċ Ċ", + "' ]))Ċ", + "'] ))Ċ", + "']) )Ċ", + "'])) Ċ", + "Ġ yard", + "Ġy ard", + "Ġya rd", + "Ġyar d", + "Ġident ical", + "if ecycle", + "ife cycle", + "U SH", + "US H", + "up iter", + ". validate", + ".valid ate", + "c li", + "cl i", + "I STER", + "IS TER", + "IST ER", + "Ind icator", + "F ail", + "Fa il", + "Ġdem ocracy", + "Ġdemocr acy", + ". var", + ".v ar", + ".va r", + "Ġs atisfied", + "Ġsatisf ied", + "- ------------", + "-- -----------", + "---- ---------", + "-------- -----", + "--- ----------", + "------------ -", + "----- --------", + "---------- ---", + "------ -------", + "----------- --", + "------- ------", + "--------- ----", + "en cer", + "ence r", + "enc er", + "h or", + "ho r", + "Ġr ounds", + "Ġro unds", + "Ġround s", + "Ġrou nds", + "D AO", + "DA O", + "o a", + "Ġfl ask", + "Ġfla sk", + "= c", + "[ ]Ċ", + "[] Ċ", + "/ dist", + "/d ist", + "/dis t", + "Ġp arte", + "Ġpart e", + "Ġpar te", + "Ġ confirmation", + "Ġconfirm ation", + "e ron", + "er on", + "ero n", + "a ware", + "aw are", + "awa re", + "< ?>", + "", + "Ġ dependencies", + "Ġdep endencies", + "Ġdepend encies", + "Ġ Videos", + "ĠV ideos", + "ĠVideo s", + "ĠVid eos", + "ĠVide os", + "- row", + "-r ow", + "-ro w", + "Ġ **/Ċ", + "Ġ* */Ċ", + "Ġ** /Ċ", + "Ġ nou", + "Ġn ou", + "Ġno u", + "Ġ hover", + "Ġh over", + "Ġho ver", + "æ ŀ", + "Ġ nin", + "Ġn in", + "Ġni n", + "Ġ USD", + "ĠU SD", + "ĠUS D", + "M ac", + "Ma c", + "_ Load", + "_L oad", + "Ġout comes", + "Ġoutcome s", + "_ socket", + "_s ocket", + "_sock et", + "_so cket", + "_soc ket", + "Ġ queries", + "Ġqu eries", + "Ġque ries", + "Ġquer ies", + "w m", + "5 92", + "59 2", + "Ġh itting", + "Ġhit ting", + "in ux", + "inu x", + "M ich", + "Mi ch", + "Mic h", + "u dge", + "ud ge", + "A TAB", + "AT AB", + "ATA B", + "Ġv ulnerable", + "Ġvulner able", + "ä ¾", + "Ġ portfolio", + "Ġport folio", + ": YES", + "ĉ map", + "ĉm ap", + "B ound", + "Bo und", + "Ġ iteration", + "Ġit eration", + "Ġiter ation", + "in cess", + "ince ss", + "inc ess", + "inces s", + "Ġ actors", + "Ġa ctors", + "Ġact ors", + "Ġac tors", + "Ġactor s", + "Ġ Qual", + "ĠQ ual", + "ĠQu al", + "_ clean", + "_c lean", + "_cl ean", + "ãĢij ãĢIJ", + "M SG", + "MS G", + "G reen", + "Gr een", + "Gre en", + "ĠOff icer", + "ĠOffice r", + "Ġsm oking", + "Ġsmo king", + "> ',", + ">' ,", + "Ġ Flo", + "ĠF lo", + "ĠFl o", + "++ ;", + "4 33", + "43 3", + "oly gon", + "Ġ bulk", + "Ġb ulk", + "Ġbu lk", + "Ġbul k", + "Ġd rama", + "Ġdr ama", + "Ġdram a", + "Ġdra ma", + "Ġ exceptions", + "Ġex ceptions", + "Ġexcept ions", + "Ġexception s", + "Ġexce ptions", + "o sed", + "os ed", + "ose d", + "Ġ+ čĊ", + "Ġ legacy", + "Ġleg acy", + "C V", + "Ġcontrib uted", + "Ġcontribute d", + "Ġ Terms", + "ĠTe rms", + "ĠTer ms", + "ĠTerm s", + "Ġ bt", + "Ġb t", + "4 34", + "43 4", + "Ġun tuk", + "Ġunt uk", + "Ġ alien", + "Ġa lien", + "Ġal ien", + "Ġali en", + "= ==Ċ", + "== =Ċ", + "=== Ċ", + "ĉ Vector", + "ĉV ector", + "ĉVec tor", + "Ġ ls", + "Ġl s", + "On line", + ". facebook", + ".f acebook", + ".face book", + "n umeric", + "num eric", + "nu meric", + "numer ic", + "ock ets", + "ocket s", + "A ut", + "Au t", + "b ury", + "bur y", + "bu ry", + "- redux", + "-re dux", + "-red ux", + "ĠRed istributions", + "ĠRedistribution s", + "GLOBAL S", + "urrenc ies", + "urr encies", + "Ġ tons", + "Ġt ons", + "Ġto ns", + "Ġton s", + "âĢĻ ,", + "Ġ ê", + "Ġà ª", + "( col", + "(c ol", + "(co l", + "Ġ Symbol", + "ĠS ymbol", + "ĠSym bol", + "Ġst ayed", + "Ġstay ed", + "Ġ ML", + "ĠM L", + "Ġm unicip", + "Ġmun icip", + "Ġ sexo", + "Ġs exo", + "Ġse xo", + "Ġsex o", + "S en", + "Se n", + "n r", + "Ġg ains", + "Ġgain s", + "Ġga ins", + "Ġshort ly", + ". Menu", + ".M enu", + ".Me nu", + "à ½", + "KN OWN", + "Ġ operators", + "Ġoper ators", + "Ġoperator s", + "Ġopera tors", + "- V", + "Ġ Patrick", + "ĠPat rick", + "ĠPatri ck", + "/ add", + "/a dd", + "/ad d", + "_ CO", + "_C O", + "i ration", + "ir ation", + "ira tion", + "( post", + "(p ost", + "(pos t", + "(po st", + "Post s", + "Pos ts", + "Po sts", + "/ _", + "Ġ plug", + "Ġp lug", + "Ġpl ug", + "Ġplu g", + "Ġintel lectual", + "Ġintellect ual", + "Ġme tab", + "Ġmet ab", + "Ġmeta b", + "Ġpregn ancy", + "ĠPrem ier", + "ĠPremi er", + "n m", + "Ġ prediction", + "Ġpred iction", + "Ġpredict ion", + "Ġpredic tion", + "6 06", + "60 6", + "ĠMin istry", + "ĠMini stry", + "ĠMinist ry", + "Th ree", + "Thr ee", + "val uate", + "valu ate", + "Ġ Mini", + "ĠM ini", + "ĠMin i", + "ĠMi ni", + "b u", + "о з", + "оР·", + "< ul", + " \";čĊ", + ">\" ;čĊ", + ">\"; čĊ", + "ĠS av", + "ĠSa v", + ". Bold", + ".B old", + "Ġen ables", + "Ġenable s", + "ĉ tmp", + "ĉt mp", + "Ġman ually", + "Ġmanual ly", + "ĠS qu", + "ĠSq u", + "use rid", + "user id", + ". function", + ".f unction", + ".func tion", + ".fun ction", + ". cache", + ".c ache", + ".ca che", + "L OPT", + "LO PT", + ". Services", + ".S ervices", + ".Service s", + "5 88", + "58 8", + "d dit", + "dd it", + "t im", + "ti m", + "< img", + " >>", + ">> >", + "st ation", + "stat ion", + "sta tion", + "l ore", + "lo re", + "lor e", + "a type", + "at ype", + "aty pe", + "i shop", + "is hop", + "ish op", + "/ ****************************************************************", + "/******************************** ********************************", + "/************************ ****************************************", + "/******************************************************** ********", + "/******** ********************************************************", + "/**************** ************************************************", + "/**************************************** ************************", + "/************************************************ ****************", + "5 21", + "52 1", + "Com boBox", + "Combo Box", + "Ġvac ation", + "Ġva cation", + "Ġinit iative", + "Ġiniti ative", + "Ġ defaultValue", + "Ġdefault Value", + "7 70", + "77 0", + "con cat", + "conc at", + "Ġ Kh", + "ĠK h", + "6 32", + "63 2", + "Ġ Welcome", + "ĠW elcome", + "ĠWel come", + "ized Name", + "M igration", + "Ġ gradient", + "Ġg radient", + "Ġgrad ient", + "H ot", + "Ho t", + "Ġhard ly", + "e lo", + "el o", + "Ġ Students", + "ĠSt udents", + "ĠStud ents", + "ĠStudent s", + "Ġl oose", + "Ġlo ose", + "Ġloos e", + "7 30", + "73 0", + "a tz", + "at z", + ". Send", + ".S end", + ".Se nd", + "' /", + "Ġ universal", + "Ġun iversal", + "Ġunivers al", + "Ġ enterprise", + "Ġenter prise", + "Ġ regex", + "Ġreg ex", + "Ġ visitor", + "Ġvis itor", + "Ġvisit or", + "Ġ Fly", + "ĠF ly", + "ĠFl y", + "S eq", + "Se q", + "ภĻ", + "Ġ Visual", + "ĠVis ual", + "Ġ libraries", + "Ġl ibraries", + "Ġlib raries", + "Ġlibr aries", + "at oes", + "ato es", + "P ayment", + "Pay ment", + "4 47", + "44 7", + "Ġ pent", + "Ġp ent", + "Ġpe nt", + "Ġpen t", + "Ġgather ed", + "VR TX", + "VRT X", + "Ġ DM", + "ĠD M", + "S plit", + "Sp lit", + "Spl it", + "Ġl etting", + "Ġlet ting", + "Ġlett ing", + "Ð Ŀ", + "_ errors", + "_error s", + "_err ors", + "_er rors", + "ep och", + "P ARAM", + "PA RAM", + "PAR AM", + "c u", + "ÑģÑĤ в", + "ol utions", + "olution s", + "olut ions", + "Ed iting", + "Edit ing", + "fo nts", + "font s", + "fon ts", + "Ġ allocated", + "Ġal located", + "Ġalloc ated", + "Ġallocate d", + "Ġ Based", + "ĠB ased", + "ĠBase d", + "ĠBa sed", + "ĠBas ed", + "( Y", + "Ġ Judge", + "ĠJ udge", + "ĠJud ge", + "ĠJu dge", + "Ġbr others", + "Ġbro thers", + "Ġbrother s", + "Ġbroth ers", + "F ILES", + "FILE S", + "FI LES", + "ç o", + "5 31", + "53 1", + "w b", + "_ PI", + "_P I", + "' ^", + "Ġ sword", + "Ġs word", + "Ġsw ord", + "Ġswo rd", + ". services", + ".s ervices", + ".service s", + ".serv ices", + "Ġ nl", + "Ġn l", + "T im", + "Ti m", + "i gg", + "ig g", + "ĠMo ore", + "ĠMoo re", + "ĠMoor e", + "Ġcrypt oc", + "Ġcrypto c", + "åĩ º", + "_ posts", + "_post s", + "_pos ts", + "_po sts", + "ot ate", + "ota te", + "? '", + ". ...ĊĊ", + ".. ..ĊĊ", + "... .ĊĊ", + ".... ĊĊ", + "....Ċ Ċ", + "Ġ kl", + "Ġk l", + "= \"$", + "=\" $", + "Ġde coration", + "Ġdec oration", + "Ġdecor ation", + "Ġdeco ration", + "Ạ¡", + "Ġ DIRECT", + "ĠD IRECT", + "ĠDI RECT", + "ĠDIR ECT", + "G UI", + "GU I", + ") =>{Ċ", + ")= >{Ċ", + ")=> {Ċ", + "Ġ newsletter", + "Ġnews letter", + "Ġpre cis", + "Ġprec is", + "( point", + "(p oint", + "(po int", + "Ġ Equipment", + "ĠE quipment", + "ĠEqu ipment", + "ĠEquip ment", + "u ty", + "ut y", + "Ġ Dave", + "ĠD ave", + "ĠDav e", + "ĠDa ve", + "Ġpart icipation", + "Ġpartic ipation", + "Ġparticip ation", + "u arios", + "ua rios", + "uario s", + "uar ios", + "x it", + "xi t", + ". As", + ".A s", + "E TER", + "ET ER", + "o rous", + "or ous", + "oro us", + "Ġ shield", + "Ġsh ield", + "[ ]>", + "[] >", + "il itary", + "ilit ary", + ". origin", + ".or igin", + ".orig in", + "Ġ promotion", + "Ġpro motion", + "Ġprom otion", + "Ġpromot ion", + "Ġpromo tion", + "U nt", + "Un t", + "Ġ ct", + "Ġc t", + "T RA", + "TR A", + "5 56", + "55 6", + "View Holder", + "Ġ sigma", + "Ġs igma", + "Ġsig ma", + "d elta", + "del ta", + "are house", + "con tract", + "cont ract", + "contr act", + "contra ct", + "( Vector", + "(V ector", + "(Vec tor", + "7 21", + "72 1", + "Ġcomp ete", + "Ġcompet e", + "/ form", + "/f orm", + "/ components", + "/com ponents", + "/component s", + "Ġ nr", + "Ġn r", + "ĠInd ones", + "ĠIndo nes", + "Ġ оÑĤ", + "Ġо ÑĤ", + "Ġ Volume", + "ĠV olume", + "ĠVol ume", + ". files", + ".f iles", + ".file s", + ".fi les", + ".fil es", + "( resp", + "(r esp", + "(res p", + "(re sp", + "/ models", + "/model s", + "/mod els", + "Ġ surf", + "Ġs urf", + "Ġsu rf", + "Ġsur f", + "st andard", + "stand ard", + "/ o", + "ĠXCT Assert", + "V ICES", + "VICE S", + "VI CES", + "VIC ES", + ". Code", + ".C ode", + ".Co de", + "S ED", + "SE D", + "Ġ activate", + "Ġact ivate", + "Ġactiv ate", + "D elta", + "Del ta", + "Ġlimit ation", + "Ġlim itation", + "r ij", + "ri j", + "Ġpregn ant", + "Ġpreg nant", + ": ^(", + ":^ (", + "Ġs our", + "Ġso ur", + "Ġsou r", + "p ie", + "pi e", + "8 03", + "80 3", + "Ġ expense", + "Ġexp ense", + "i cation", + "ic ation", + "ica tion", + "Ġ Large", + "ĠL arge", + "ĠLar ge", + "Ġ ±", + "Ġ ±", + "ĠB owl", + "ĠBo wl", + "ĠBow l", + "( models", + "(model s", + "(mod els", + "(mode ls", + "/ N", + "8 57", + "85 7", + "P a", + ". reload", + ".re load", + ".r eload", + ".rel oad", + "Ġwonder ing", + "4 62", + "46 2", + "Exec ution", + "ĉ ĠĠĠĠĠĠ", + "ĉĠĠĠ ĠĠĠ", + "ĉĠ ĠĠĠĠĠ", + "ĉĠĠ ĠĠĠĠ", + "ĉĠĠĠĠĠ Ġ", + "ĉĠĠĠĠ ĠĠ", + "Ġ Graphics", + "ĠG raphics", + "ĠGraph ics", + "ĠGraphic s", + "Ġ Contin", + "ĠCon tin", + "ĠCont in", + "_ job", + "_j ob", + "Ġ getName", + "Ġget Name", + "Ġ Magn", + "ĠM agn", + "ĠMag n", + "ĠMa gn", + "Ġ DWORD", + "ĠD WORD", + "ĠDW ORD", + "m ad", + "ma d", + "Ġ nh", + "Ġn h", + "f eatures", + "fe atures", + "feature s", + "feat ures", + "fea tures", + "} \");Ċ", + "}\" );Ċ", + "}\") ;Ċ", + "he ets", + "heet s", + "hee ts", + "( train", + "(t rain", + "(tr ain", + "z n", + "Ġrec ruit", + "Ġrecru it", + ". connection", + ".con nection", + ".connect ion", + ".conn ection", + "Ġbar rel", + "Ġbarr el", + "Ġ steam", + "Ġs team", + "Ġst eam", + "Ġste am", + "_ setting", + "_s etting", + "_set ting", + "Ġ angular", + "Ġang ular", + "ane ously", + "aneous ly", + "Ġ bil", + "Ġb il", + "Ġbi l", + "Ġ Norm", + "ĠN orm", + "ĠNo rm", + "ĠNor m", + "5 22", + "52 2", + "(! $", + "i bt", + "ib t", + "% (", + "Ġ posit", + "Ġp osit", + "Ġpos it", + "Ġpo sit", + "Ġposi t", + "Ġ Father", + "ĠF ather", + "ĠFa ther", + "ĠFat her", + "int endo", + "inte ndo", + "5 65", + "56 5", + "L ive", + "Li ve", + "Liv e", + "0 41", + "04 1", + "Ġ ports", + "Ġp orts", + "Ġport s", + "Ġpo rts", + "Ġpor ts", + "Ġm ej", + "Ġme j", + "Ġ landing", + "Ġl anding", + "Ġland ing", + "Ġlan ding", + "p onder", + "pon der", + "pond er", + "po nder", + "ponde r", + "Ġ cod", + "Ġc od", + "Ġco d", + "_ HEADER", + "_HE ADER", + "_HEAD ER", + ". Margin", + ".M argin", + ".Mar gin", + "Ġ balls", + "Ġb alls", + "Ġball s", + "Ġbal ls", + "Ġdisc ussions", + "Ġdiscuss ions", + "Ġdiscussion s", + "Ġ blend", + "Ġbl end", + "Ġble nd", + "H ex", + "He x", + "Ġfar mers", + "Ġfarm ers", + "Ġfarmer s", + "Ġmaint aining", + "Ġmaintain ing", + "Ġ ĠĠčĊ", + "ĠĠ ĠčĊ", + "ĠĠĠ čĊ", + "s yn", + "sy n", + "[ T", + "r us", + "ru s", + "4 39", + "43 9", + "uff ers", + "uf fers", + "uffer s", + "Ġ contributors", + "Ġcontrib utors", + "Ġcontributor s", + "_ sys", + "_s ys", + "_sy s", + ". Debug", + ".De bug", + "Ġ constructed", + "Ġconstruct ed", + "o mes", + "om es", + "ome s", + "? id", + "s lider", + "sl ider", + "slide r", + "Ġsup pliers", + "Ġsupplier s", + "Ġsuppl iers", + "Ġsupp liers", + "6 11", + "61 1", + "scribe r", + "scri ber", + "scr iber", + "p es", + "pe s", + "Ð ŀ", + "\" :čĊ", + "\": čĊ", + "\\ Controller", + ") )ĊĊĊ", + ")) ĊĊĊ", + "))Ċ ĊĊ", + "))ĊĊ Ċ", + "Ġ lua", + "Ġl ua", + "Ġlu a", + "M ulti", + "Mult i", + "Mul ti", + "E NS", + "EN S", + "S rc", + "Sr c", + "Ġ petition", + "Ġpet ition", + "Ġpetit ion", + "Ġ slave", + "Ġsl ave", + "Ġsla ve", + "Ġslav e", + "lo oking", + "look ing", + "loo king", + "V ERT", + "VER T", + "VE RT", + "ĉ vector", + "ĉv ector", + "ĉvec tor", + "S pecial", + "Sp ecial", + "Spec ial", + "Spe cial", + "h h", + "an ne", + "ann e", + "ĠN iger", + "ĠNi ger", + "/ views", + "/view s", + "z ing", + "zi ng", + "zin g", + "end ant", + "enda nt", + "< C", + "s peed", + "sp eed", + "spe ed", + "5 14", + "51 4", + "Ġ{ };ĊĊ", + "Ġ{} ;ĊĊ", + "Ġ{};Ċ Ċ", + "Ġ{}; ĊĊ", + "Begin Init", + "Ġf open", + "Ġfo pen", + "@ RequestMapping", + "End Init", + "Ġp unch", + "Ġpun ch", + "S ender", + "Se nder", + "Send er", + "Sen der", + "6 03", + "60 3", + "é Ķ", + "get Message", + "/ types", + "/t ypes", + "/type s", + ". PI", + ".P I", + "(' ');Ċ", + "oc used", + "ocus ed", + "ocu sed", + "( all", + "(a ll", + "(al l", + "Ġ dropdown", + "Ġd ropdown", + "Ġdrop down", + ") .__", + "). __", + ")._ _", + "Ġ Vin", + "ĠV in", + "ĠVi n", + ". ForeignKey", + ".Fore ignKey", + "6 12", + "61 2", + "ca nf", + "can f", + "o ured", + "ou red", + "our ed", + "oure d", + "Ġ Organization", + "ĠO rganization", + "ĠOrgan ization", + "Ġ а", + "ĠÐ °", + "Ġ Culture", + "ĠC ulture", + "ĠCult ure", + "ĠCul ture", + "( cls", + "(c ls", + "(cl s", + ", _", + "9 02", + "90 2", + "r gba", + "rg ba", + "rgb a", + "ìĿ ĺ", + ". dataGridView", + ".data GridView", + "Ġdo zen", + "Ġdoz en", + "ĠG es", + "ĠGe s", + "8 05", + "80 5", + "4 64", + "46 4", + "_ shared", + "_sh ared", + "_share d", + "_sha red", + "n ick", + "ni ck", + "nic k", + "Ġh osp", + "Ġho sp", + "Ġhos p", + "o meter", + "om eter", + "ome ter", + "omet er", + "4 95", + "49 5", + "Ġclaim ing", + "Ġcla iming", + "0 32", + "03 2", + "i bles", + "ib les", + "ible s", + "r ik", + "ri k", + "æĺ ¯", + "en ario", + "ena rio", + "Ġd engan", + "Ġden gan", + "o bb", + "ob b", + "m ont", + "mon t", + "mo nt", + "_ rank", + "_r ank", + "_ra nk", + "(' /',", + "('/ ',", + "Ġap olog", + "Ġapo log", + "P s", + "_ power", + "_p ower", + "_pow er", + "_po wer", + "ĠG ree", + "ĠGr ee", + "ĠGre e", + "Ġf ulfill", + "Ġful fill", + "Ġfulfil l", + "Ġ firebase", + "Ġf irebase", + "Ġfire base", + "9 10", + "91 0", + "Ġ fare", + "Ġf are", + "Ġfa re", + "Ġfar e", + "ĠH im", + "ĠHi m", + "Ġ bean", + "Ġb ean", + "Ġbe an", + "â̦ .", + "Ġ SPI", + "ĠS PI", + "ĠSP I", + "_ RX", + "_R X", + "Ġper ception", + "Ġperce ption", + "Ġpercept ion", + "rel ative", + "com pile", + "comp ile", + "u um", + "uu m", + "u tos", + "ut os", + "uto s", + "a uc", + "au c", + "Ġ Ask", + "ĠA sk", + "ĠAs k", + "Ġ indicator", + "Ġind icator", + "Ġindic ator", + "Ġindica tor", + "/ th", + "/t h", + ".set String", + "ĠWis consin", + ". Domain", + ".D omain", + ".Do main", + ".Dom ain", + "Ġart ificial", + "De velop", + "Dev elop", + "Ġ Sarah", + "ĠS arah", + "ĠSar ah", + "ĠSa rah", + "ĠSara h", + "Ġ lying", + "Ġl ying", + "Ġly ing", + "( search", + "(s earch", + "(se arch", + "ĠEm pire", + "ĠEmp ire", + "ur ring", + "urr ing", + "æĹ¶ éĹ´", + "= \"${", + "=\" ${", + "=\"$ {", + "Ġ getId", + "Ġget Id", + "Ġ Payment", + "ĠP ayment", + "ĠPay ment", + "t ransition", + "trans ition", + "Ġ ].", + "Ġ] .", + "i xin", + "ix in", + "V T", + "- select", + "-s elect", + "-se lect", + "Ġdemonstr ated", + "Ġdemonstrate d", + "Ġ lastName", + "Ġlast Name", + "em ployment", + "emp loyment", + "employ ment", + ". getProperty", + ".get Property", + ".getP roperty", + "Ġf ought", + "Ġfo ught", + "Ġfou ght", + "file Name", + "Ġ Pers", + "ĠP ers", + "ĠPer s", + "ĠPe rs", + "4 52", + "45 2", + "- card", + "-c ard", + "-car d", + "-ca rd", + "a str", + "as tr", + "ast r", + "at trs", + "att rs", + "attr s", + "Ġpro minent", + "Ġprom inent", + "Ġpromin ent", + "D esign", + "De sign", + "Des ign", + "anc ouver", + "ãģĹ ãģ", + "ar do", + "ard o", + "s ecret", + "se cret", + "sec ret", + "Ġ rag", + "Ġr ag", + "Ġra g", + "Ġpo ison", + "Ġpoi son", + "Ġpois on", + "- man", + "-m an", + ", omitempty", + "7 40", + "74 0", + "ĉ un", + "ĉu n", + "it zer", + "itz er", + "ĠCas ino", + "Ġ Ross", + "ĠR oss", + "ĠRo ss", + "ĠRos s", + "- foot", + "-f oot", + "( results", + "(result s", + "(res ults", + "P lan", + "Pl an", + "Ġl aser", + "Ġla ser", + "Ġlas er", + "ê¸ °", + "_ DR", + "_D R", + "5 23", + "52 3", + "F acebook", + "Face book", + "4 49", + "44 9", + "Ġ boards", + "Ġbo ards", + "Ġboard s", + "s ta", + "st a", + "] ],", + "]] ,", + "6 75", + "67 5", + "Ġ tiles", + "Ġt iles", + "Ġti les", + "Ġtile s", + "Ġtil es", + "S IZE", + "SI ZE", + "Ġ =~", + "Ġ= ~", + "9 70", + "97 0", + "Ġprem ier", + "Ġpremi er", + "o cab", + "oc ab", + "oca b", + "Ġ encoded", + "Ġen coded", + "Ġenc oded", + "Ġencode d", + "Ġ reserve", + "Ġre serve", + "Ġres erve", + "Ġreserv e", + "6 09", + "60 9", + "ĠAfghan istan", + "Ġ ListNode", + "ĠList Node", + "ur ls", + "url s", + "Ġ submission", + "Ġsub mission", + "Ġn eu", + "Ġne u", + "4 77", + "47 7", + "Ġ# +#", + "_ POST", + "_P OST", + "_PO ST", + "_POS T", + "Ġmo ist", + "Ġmoi st", + "Ġmois t", + "e lli", + "el li", + "ell i", + "ellig ent", + "elli gent", + ". alert", + ".al ert", + "ó d", + "b re", + "br e", + "Ġ Collect", + "ĠC ollect", + "ĠCol lect", + "ĠColl ect", + "Ġ graphic", + "Ġg raphic", + "Ġgraph ic", + "Ġgrap hic", + "Ġ longitude", + "Ġlong itude", + "Ġlongitud e", + "Ġ Provid", + "ĠPro vid", + "ĠPr ovid", + "ĠProv id", + "Ġ Calculate", + "ĠC alculate", + "ĠCal culate", + "ĠCalcul ate", + "ĠCalc ulate", + "x ffff", + "xf fff", + "xff ff", + "xfff f", + "c riteria", + "crit eria", + "Ġ waters", + "Ġw aters", + "Ġwater s", + "Ġwa ters", + "Ġwat ers", + "r ock", + "ro ck", + "roc k", + "lo quent", + "ĠT rib", + "ĠTr ib", + "ĠTri b", + "5 13", + "51 3", + "Ġ burst", + "Ġb urst", + "Ġbu rst", + "Ġbur st", + "Ġ suffix", + "Ġs uffix", + "Ġsuff ix", + "Ġsuf fix", + ". Extensions", + ".Ext ensions", + ".Extension s", + "is hes", + "ish es", + "i vel", + "iv el", + "ive l", + "Ġ LIKE", + "ĠL IKE", + "ĠLI KE", + "Ġ Getty", + "ĠG etty", + "ĠGet ty", + "ĠGe tty", + ".Action Event", + ".s lf", + ".sl f", + "Ġ HAL", + "ĠH AL", + "ĠHA L", + "u pal", + "up al", + "upa l", + "E AR", + "EA R", + "5 24", + "52 4", + "u di", + "ud i", + "_ timeout", + "_time out", + "U F", + "Ġ Singapore", + "ĠSing apore", + "ĠSingap ore", + "ĠAd vent", + "ĠAdv ent", + "_ interval", + "_int erval", + "_inter val", + "c haft", + "ch aft", + "cha ft", + "Ġ Emer", + "ĠE mer", + "ĠEm er", + "Ġ telephone", + "Ġtele phone", + "ĠTur k", + "ĠTu rk", + "_ interface", + "_inter face", + "Ġ Own", + "ĠO wn", + "ĠOw n", + "Ġencour aged", + "Ġencourage d", + "< Object", + "(", + "<> (", + "5 44", + "54 4", + ". Product", + ".Pro duct", + ".Produ ct", + "Form s", + "For ms", + "Fo rms", + "N EW", + "NE W", + "P ay", + "Pa y", + "ĉ boolean", + "ĉbool ean", + "_ contact", + "_cont act", + "Ġ Electric", + "ĠE lectric", + "ĠElect ric", + "s kip", + "sk ip", + "ski p", + "Ġw ur", + "Ġch ronic", + "Ġchron ic", + "Ġchr onic", + "_ driver", + "_d river", + "_dr iver", + "_drive r", + "9 40", + "94 0", + "Ġ Sab", + "ĠS ab", + "ĠSa b", + "Ġ Ult", + "ĠU lt", + "ĠUl t", + "Ġ Rad", + "ĠR ad", + "ĠRa d", + "ST ATUS", + "STAT US", + "Ġ Lewis", + "ĠL ewis", + "ĠLe wis", + "ĠLew is", + "O B", + "Ġgift s", + "Ġgi fts", + "Ġgif ts", + ". Rec", + ".R ec", + ".Re c", + "TR UE", + "Ġint ensity", + "Ġintens ity", + "M arker", + "Mark er", + "Mar ker", + ". compare", + ".com pare", + ".comp are", + "f fic", + "ff ic", + "ffi c", + "C ookie", + "Co okie", + "Cook ie", + "Ġ Baby", + "ĠB aby", + "ĠBa by", + "ĠBab y", + "Ġ BigDecimal", + "ĠB igDecimal", + "ĠBig Decimal", + "i let", + "il et", + "ile t", + "ĠHOLD ERS", + "ĠHOLDER S", + "Ġ Lady", + "ĠL ady", + "ĠLa dy", + "ĠLad y", + "Ġ lung", + "Ġl ung", + "Ġlu ng", + "Ġlun g", + "Ġ Alabama", + "ĠAl abama", + "Ġ dess", + "Ġd ess", + "Ġde ss", + "Ġdes s", + "` );Ċ", + "`) ;Ċ", + "Ġ Builder", + "ĠB uilder", + "ĠBuild er", + "ĠBu ilder", + "_ region", + "_reg ion", + "Ġ neutral", + "Ġne utral", + "Ġneut ral", + "Ġneutr al", + "9 09", + "90 9", + "B oth", + "Bo th", + "Bot h", + "Ġ hp", + "Ġh p", + "Ġ horn", + "Ġh orn", + "Ġhor n", + "Ġho rn", + "Ġ segments", + "Ġse gments", + "Ġseg ments", + "Ġsegment s", + "Ġ EC", + "ĠE C", + "\" =>\"", + "\"=> \"", + "( rec", + "(r ec", + "(re c", + "Ġ Pi", + "ĠP i", + "G M", + "Ġl aptop", + "Ġlap top", + "S calar", + "Sc alar", + "Scala r", + "4 63", + "46 3", + "i sd", + "is d", + "- dialog", + "-d ialog", + "-di alog", + "Ġ Anderson", + "ĠAnd erson", + "ĠAnders on", + "Ġmis takes", + "Ġmist akes", + "Ġmi stakes", + "Ġmistake s", + "7 08", + "70 8", + "Ġ Han", + "ĠH an", + "ĠHa n", + "j es", + "je s", + "est ination", + "esti nation", + "4 36", + "43 6", + "Ġprom ises", + "Ġpromise s", + "b id", + "bi d", + "Ġ Scient", + "ĠS cient", + "ĠSc ient", + "ĠSci ent", + "G IN", + "GI N", + "Ġ Performance", + "ĠPer formance", + "ĠPerform ance", + "b age", + "ba ge", + "bag e", + ". users", + ".user s", + ".use rs", + ".us ers", + "le ading", + "lead ing", + "lea ding", + "Ġ oral", + "Ġo ral", + "Ġor al", + "Ġora l", + "G raphics", + "Graph ics", + "Graphic s", + "4 88", + "48 8", + "_ PTR", + "_P TR", + "_PT R", + "5 18", + "51 8", + "h ang", + "ha ng", + "han g", + "Ġin ev", + "Ġi nev", + "Ġine v", + "p rocessing", + "process ing", + "F actor", + "Fact or", + "Fac tor", + "Fa ctor", + "Ġ NA", + "ĠN A", + "$ string", + "$s tring", + "$str ing", + "Ġ grounds", + "Ġgr ounds", + "Ġground s", + "Ġgro unds", + "Ġgrou nds", + ".Save Changes", + "c lock", + "cl ock", + "clo ck", + "9 41", + "94 1", + "cri pcion", + "Ġ Newton", + "ĠNew ton", + "g c", + ". includes", + ".in cludes", + ".include s", + "Ġ blast", + "Ġb last", + "Ġbl ast", + "Ġblas t", + "Ġbla st", + "Ġ' -'", + "Ġ'- '", + "Ġp uede", + "Ġpued e", + "Ġpu ede", + "4 69", + "46 9", + ". Session", + ".S ession", + "Ġ grep", + "Ġg rep", + "Ġgr ep", + "Ġgre p", + "_ final", + "_f inal", + "_fin al", + "Ġ Gay", + "ĠG ay", + "ĠGa y", + "Ġ Give", + "ĠG ive", + "ĠGi ve", + "i ri", + "ir i", + "- star", + "-s tar", + "-st ar", + "Ġ UIImage", + "ĠUI Image", + "_ epoch", + "_ep och", + "u bb", + "ub b", + "e nth", + "en th", + "ent h", + "Ġ elite", + "Ġe lite", + "Ġel ite", + "Ġelit e", + "Ġcampaign s", + "Ġ Porno", + "ĠP orno", + "ĠPorn o", + "ĠPor no", + "_ assign", + "_as sign", + "_ass ign", + "Prot ocol", + "Proto col", + "Ġ Being", + "ĠB eing", + "ĠBe ing", + "ĠBei ng", + "Ġ Airport", + "ĠAir port", + "Ġcon ventional", + "Ġconvent ional", + "Ġconvention al", + "Ġ Wat", + "ĠW at", + "ĠWa t", + "Ġ CI", + "ĠC I", + "E TA", + "ET A", + "Ġ Anthony", + "ĠAnth ony", + "Ġ tablet", + "Ġtable t", + "Ġtab let", + "( format", + "(form at", + "(for mat", + "Ġconsist ently", + "Ġconsistent ly", + "ĠI owa", + "ĠIo wa", + "4 74", + "47 4", + "Ġ avatar", + "Ġav atar", + "Ġava tar", + "0 27", + "02 7", + ". cursor", + ".c ursor", + "! [", + "Ġh anging", + "Ġhang ing", + "Ġhan ging", + "Ġhangi ng", + "H er", + "He r", + "S uch", + "Su ch", + "Suc h", + "' ;ĊĊĊ", + "';Ċ ĊĊ", + "';ĊĊ Ċ", + "'; ĊĊĊ", + "org eous", + "orge ous", + "( )==", + "() ==", + "Ġ viewModel", + "Ġview Model", + "Ġ ãĥ", + "Ġ els", + "Ġe ls", + "Ġel s", + "Ġ Agent", + "ĠA gent", + "ĠAg ent", + "ĠAge nt", + "F etch", + "a por", + "ap or", + "apo r", + "Ġ cx", + "Ġc x", + "p read", + "pr ead", + "pre ad", + "ĠP ier", + "ĠPi er", + "ĠPie r", + "o eff", + "oe ff", + "6 16", + "61 6", + "S n", + "8 90", + "89 0", + "Ġ Virtual", + "ĠV irtual", + "ĠVir tual", + "ĠVirt ual", + "A pr", + "Ap r", + ". White", + ".Wh ite", + "6 15", + "61 5", + "_ MOD", + "_M OD", + "_MO D", + "Ġ Points", + "ĠP oints", + "ĠPoint s", + "ĠPo ints", + "å¤ ±", + "Ġ genes", + "Ġg enes", + "Ġge nes", + "Ġgen es", + "Ġgene s", + "Ġ vendor", + "Ġv endor", + "Ġvend or", + "Ġmain stream", + "< src", + "Ċ", + "Ġ< >Ċ", + "Ġ<> Ċ", + "F ilename", + "File name", + "Fi lename", + "Fil ename", + "Ġs ne", + "Ġsn e", + "Ġ Football", + "ĠF ootball", + "ĠFoot ball", + "Ġr ival", + "Ġri val", + "Ġriv al", + "Ġdis aster", + "i onic", + "ion ic", + "io nic", + "ioni c", + "Ġ Damage", + "ĠD amage", + "ĠDa mage", + "ĠDam age", + ". Resource", + ".Re source", + ".Res ource", + "- en", + "-e n", + "Ġ Types", + "ĠT ypes", + "ĠType s", + "ĠTy pes", + "ĠTyp es", + "get String", + "( board", + "(b oard", + "Ġ bol", + "Ġb ol", + "Ġbo l", + "p lain", + "pl ain", + "pla in", + "z ym", + "zy m", + "ภ²", + "Ġ scanner", + "Ġsc anner", + "Ġscan ner", + "i lder", + "il der", + "ild er", + "ilde r", + "_ msgs", + "_msg s", + "_ms gs", + "æ ı", + "( intent", + "(int ent", + "(in tent", + "Ġ destruct", + "Ġd estruct", + "Ġde struct", + "Ġb ust", + "Ġbu st", + "Ġbus t", + "Ġ Employ", + "ĠE mploy", + "ĠEm ploy", + "ĠEmp loy", + "o ni", + "on i", + "Ġ UIViewController", + "ĠUI ViewController", + "ĠUIView Controller", + "Ġo dds", + "Ġodd s", + "Ġod ds", + "e arer", + "ear er", + "ea rer", + "Ge ometry", + "Geo metry", + "Geom etry", + "Ġ yii", + "Ġy ii", + "Ġyi i", + "_ EXPORT", + "_EX PORT", + "_EXP ORT", + "Ġ Attack", + "ĠAtt ack", + "Ġn iet", + "Ġnie t", + "Ġni et", + "Ġim pression", + "Ġimp ression", + "Ġimpress ion", + "Ġimpr ession", + "Ġ Gil", + "ĠG il", + "ĠGi l", + "_ prob", + "_p rob", + "_pro b", + "_pr ob", + "5 28", + "52 8", + "Ġ CF", + "ĠC F", + "Ġ Experience", + "ĠEx perience", + "/ plugins", + "/pl ugins", + "/plugin s", + ". Method", + ".M ethod", + "Ġbel iefs", + "Ġbelie fs", + "Ġbelief s", + "N ative", + "Nat ive", + "_ build", + "_b uild", + "Ġ vig", + "Ġv ig", + "Ġvi g", + "Ġr anks", + "Ġrank s", + "Ġran ks", + "cover ed", + "cov ered", + "7 05", + "70 5", + "s uch", + "su ch", + "G uard", + "Gu ard", + ". pack", + ".p ack", + ".pa ck", + "ad der", + "add er", + "8 09", + "80 9", + "i via", + "iv ia", + "ivi a", + "l ng", + "ln g", + "Ġ вÑĭ", + "Ġв Ñĭ", + "5 52", + "55 2", + "T imestamp", + "Time stamp", + "_ now", + "_n ow", + "_no w", + "Ġp oker", + "Ġpo ker", + "Ġpok er", + "Ġpoke r", + "Ġ unc", + "Ġu nc", + "Ġun c", + "Ġ shapes", + "Ġsh apes", + "Ġshape s", + "Ġsha pes", + "- types", + "-t ypes", + "-type s", + "_ period", + "_p eriod", + "_per iod", + "p k", + "Ġveter an", + "Ġ sono", + "Ġs ono", + "Ġso no", + "Ġson o", + "Ġ appointed", + "Ġapp ointed", + "Ġappoint ed", + "over flow", + ". driver", + ".d river", + ".dr iver", + ".drive r", + "_ cat", + "_c at", + "_ca t", + "u tt", + "ut t", + "p lant", + "pl ant", + "plan t", + "pla nt", + "i mb", + "im b", + "Ġ Accept", + "ĠAc cept", + "ĠAcc ept", + "Ġ concert", + "Ġcon cert", + "Ġconc ert", + "Ġconce rt", + "ĉ node", + "ĉn ode", + "ĉno de", + "ĉ z", + "? >čĊ", + "?> čĊ", + "Ġb anned", + "Ġban ned", + "ĉ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĉĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĉĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġt oxic", + "Ġto xic", + "Ġtox ic", + "Ġdis appe", + "Ġdisap pe", + "4 73", + "47 3", + "È Ľ", + "Ġg race", + "Ġgr ace", + "Ġgra ce", + "Ġgrac e", + "at eful", + "ate ful", + "Re ply", + "Rep ly", + "ĠC ruz", + "ĠCr uz", + "ĠCru z", + "4 86", + "48 6", + "Ġs crap", + "Ġsc rap", + "Ġscr ap", + "Ġ keywords", + "Ġkey words", + "Ġkeyword s", + "s imp", + "si mp", + "sim p", + "Ġmort gage", + "Ġcy ber", + "Ġ Execute", + "ĠEx ecute", + "ĠExec ute", + "Ġ latitude", + "Ġl atitude", + "Ġlat itude", + "i fu", + "if u", + ". COM", + ".C OM", + ".CO M", + "d bo", + "db o", + "Ġs orts", + "Ġso rts", + "Ġsort s", + "Ġsor ts", + "Ġ Gas", + "ĠG as", + "ĠGa s", + "om ial", + "omi al", + ". Local", + ".L ocal", + ".Lo cal", + "C ells", + "Cell s", + "Cel ls", + ". Replace", + ".Re place", + "String s", + "Str ings", + ". fit", + ".f it", + ".fi t", + "Ġ Third", + "ĠTh ird", + "ĠThi rd", + "% \",Ċ", + "%\" ,Ċ", + "%\", Ċ", + "Ġ {}\".", + "Ġ{ }\".", + "Ġ{} \".", + "Ġ Sony", + "ĠS ony", + "ĠSo ny", + "ĠSon y", + "Ġ [:", + "Ġ[ :", + "5 85", + "58 5", + "Ġf allen", + "Ġfa llen", + "Ġfall en", + "Ġfal len", + ". ')Ċ", + ".' )Ċ", + ".') Ċ", + "i nh", + "in h", + "Ġ MC", + "ĠM C", + "Ġ redis", + "Ġre dis", + "Ġr edis", + "Ġred is", + "C odes", + "Code s", + "Co des", + "Cod es", + "Ġ profiles", + "Ġpro files", + "Ġprof iles", + "Ġprofile s", + "Ġprofil es", + "h ook", + "ho ok", + "hoo k", + "Re ducer", + "Red ucer", + "Reduc er", + "Reduce r", + "_ FUNC", + "_F UNC", + "_FUN C", + "Ġ navigate", + "Ġn avigate", + "Ġnav igate", + "Ġnavig ate", + "st rlen", + "str len", + "Ġh orm", + "Ġhor m", + "Ġho rm", + "á ŀ", + "Ġ SR", + "ĠS R", + ". boot", + ".b oot", + ".bo ot", + "Ġ digest", + "Ġd igest", + "Ġdi gest", + "Ġdig est", + "ĉ header", + "ĉhead er", + ". findOne", + ".find One", + "æ ģ", + "Db Type", + "n ia", + "ni a", + "_ merge", + "_m erge", + "Ġd onne", + "Ġdon ne", + "Ġdonn e", + "/ Getty", + "/G etty", + "_ CHAR", + "_CH AR", + "Ġ bands", + "Ġb ands", + "Ġband s", + "Ġban ds", + "Ġba nds", + ". URL", + ".U RL", + ".UR L", + "art ial", + "arti al", + "Ġ freq", + "Ġf req", + "Ġfr eq", + "Ġfre q", + "Ġs ist", + "Ġsi st", + "Ġsis t", + "N g", + "Ġrender ing", + "Ġrend ering", + "\\ Core", + "\\C ore", + "Widget s", + "Ġ VA", + "ĠV A", + "Ġactiv ists", + "Ġactivist s", + "S te", + "St e", + "= _", + "a lla", + "al la", + "all a", + "St amp", + "Ġ loads", + "Ġlo ads", + "Ġload s", + "Ġloa ds", + "Ġ xx", + "Ġx x", + "Ġ Learning", + "ĠL earning", + "ĠLe arning", + "ĠLearn ing", + "ĠLear ning", + ". Mvc", + ".M vc", + "u ir", + "ui r", + "( \"$", + "(\" $", + "Ġ connecting", + "Ġconnect ing", + "Read Only", + "u ru", + "ur u", + "ĠE ag", + "ĠEa g", + "B IT", + "BI T", + "_ DEL", + "_D EL", + "_DE L", + "å §", + "arr ass", + "arra ss", + "ex ternal", + "ext ernal", + "extern al", + "exter nal", + "Ġ YOUR", + "ĠY OUR", + "ĠYOU R", + "ĠB rew", + "ĠBr ew", + "ĠBre w", + "Ġ Five", + "ĠF ive", + "ĠFi ve", + "Ġ resize", + "Ġre size", + "Ġres ize", + "i gid", + "ig id", + "igi d", + "e ration", + "er ation", + "era tion", + "6 53", + "65 3", + "Ġ Ñį", + "ĠÑ į", + "5 36", + "53 6", + "åĬ ł", + "0 39", + "03 9", + "Ġ Catch", + "ĠC atch", + "ĠCat ch", + "Ù ģ", + "Ġ Leon", + "ĠL eon", + "ĠLe on", + "ĠLeo n", + "a mil", + "am il", + "ami l", + ". Body", + ".B ody", + "C lip", + "Cl ip", + "Cli p", + "/ list", + "/l ist", + "/li st", + ". br", + ".b r", + "Edit Text", + "ĉ db", + "ĉd b", + ". Game", + ".G ame", + "( BuildContext", + "(Build Context", + "back end", + ". Red", + ".R ed", + ".Re d", + "f acebook", + "face book", + "5 29", + "52 9", + ". urls", + ".url s", + ".ur ls", + "m r", + "rol led", + "roll ed", + "- ------", + "-- -----", + "---- ---", + "--- ----", + "----- --", + "------ -", + "Ġint ervention", + "Ġinter vention", + "Ġinterven tion", + "Ġinterv ention", + "Ġret irement", + "Ġretire ment", + "Ġretir ement", + "Ġ Kit", + "ĠK it", + "ĠKi t", + "Ġ PRE", + "ĠP RE", + "ĠPR E", + "Upper Case", + "Ġ Socket", + "ĠS ocket", + "ĠSo cket", + "ĠSoc ket", + "Ġ :-", + "Ġ: -", + "Ġstud ying", + "Ġstudy ing", + "Ġ Metro", + "ĠM etro", + "ĠMe tro", + "ĠMet ro", + "ar ded", + "ard ed", + "arde d", + "Ġcon versations", + "Ġconvers ations", + "Ġconversation s", + "C alled", + "Call ed", + "Cal led", + "Ġex amine", + "Ġexam ine", + "ert ificate", + ". gz", + ".g z", + "- responsive", + "-res ponsive", + "Ġ refund", + "Ġre fund", + "Ġref und", + "_ network", + "_n etwork", + "_net work", + "0 26", + "02 6", + "all owed", + "allow ed", + "allo wed", + "em pt", + "emp t", + "Ġme als", + "Ġmeal s", + "C ategories", + "Ġtravel ing", + "Ġtrav eling", + "Ġ kg", + "Ġk g", + "Ġsh ame", + "Ġsha me", + "Ġsham e", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġexplicit ly", + "Ġmath ematic", + "Ġ Suite", + "ĠS uite", + "ĠSu ite", + "ĠSuit e", + "Ġ RGB", + "ĠR GB", + "ĠRG B", + "****** /", + "***** */", + "Ġm ixture", + "Ġmix ture", + "l earning", + "le arning", + "lear ning", + "learn ing", + ". template", + ".t emplate", + ".temp late", + ".tem plate", + "at ts", + "att s", + "w x", + "ĉ ctx", + "ĉc tx", + "ĉct x", + ". properties", + ".p roperties", + ".prop erties", + "Ġdr inks", + "Ġdrink s", + "Ġ Either", + "ĠE ither", + "set Text", + ". getData", + ".get Data", + ".getD ata", + ". zip", + ".z ip", + "Ġreve als", + "Ġreveal s", + "< table", + ".Ċ", + "/> .Ċ", + "/>. Ċ", + "Ġr anked", + "Ġrank ed", + "Ġran ked", + "_ impl", + "_i mpl", + "_im pl", + "_imp l", + "Ġ Handles", + "ĠH andles", + "ĠHand les", + "ĠHandle s", + "Ġhost ed", + "Ġho sted", + "Ġhos ted", + "Ġ updating", + "Ġup dating", + "Ġupd ating", + "al bum", + "é Ŀ", + "Ġ shader", + "Ġsh ader", + "Ġsha der", + "Ġshade r", + "Ed itors", + "Edit ors", + "Editor s", + "- round", + "-r ound", + "-ro und", + "[ ]{", + "[] {", + "Ġ sep", + "Ġs ep", + "Ġse p", + "Ġ Hi", + "ĠH i", + "T EM", + "TE M", + "look up", + "loo kup", + ". man", + ".m an", + ".ma n", + "_ INPUT", + "_IN PUT", + "Ġthreat ened", + "Ġthreaten ed", + "_ IMPORT", + "_IM PORT", + "_IMP ORT", + "Ġ drops", + "Ġd rops", + "Ġdr ops", + "Ġdrop s", + "Ġdro ps", + "r uit", + "ru it", + "s id", + "si d", + "b oth", + "bo th", + "bot h", + "Ġ Excel", + "ĠEx cel", + "ĠExc el", + "Ġ jer", + "Ġj er", + "Ġje r", + "ord inary", + "ordin ary", + "е й", + "еР¹", + "V IEW", + "VI EW", + "re ply", + "rep ly", + "Ġ ):Ċ", + "Ġ) :Ċ", + "Ġ): Ċ", + "col ors", + "color s", + "colo rs", + "ver ified", + "_ Tr", + "_T r", + "_ parse", + "_p arse", + "_par se", + "_pars e", + "Ġcon gress", + "Ġcongr ess", + "Ġcong ress", + "6 17", + "61 7", + "P romise", + "Pro mise", + "Prom ise", + "i nts", + "in ts", + "int s", + "Ġ Mother", + "ĠM other", + "ĠMo ther", + "ĠMot her", + ". Api", + ".A pi", + ".Ap i", + "Ġ Duration", + "ĠD uration", + "ĠDu ration", + "ĠDur ation", + "Ġ firstName", + "Ġfirst Name", + "inherit doc", + "ĠM ars", + "ĠMar s", + "ĠMa rs", + "Ġ apr", + "Ġa pr", + "Ġap r", + "O DY", + "OD Y", + "Ġvis its", + "Ġvisit s", + "6 31", + "63 1", + "Ġhe aling", + "Ġheal ing", + "let ters", + "letter s", + "lette rs", + "lett ers", + ") ));čĊ", + ")) );čĊ", + "))) ;čĊ", + "))); čĊ", + "f uture", + "fu ture", + ". Framework", + ".F ramework", + ".Frame work", + "Ġk iss", + "Ġki ss", + "Ġinv olve", + "Ġinvol ve", + "Ġ silent", + "Ġs ilent", + "Ġsil ent", + "ad ows", + "ado ws", + "adow s", + "Ġany body", + "s ch", + "sc h", + "6 90", + "69 0", + "Ġsol ely", + "Ġsole ly", + "- img", + "-i mg", + "-im g", + "Ġ propri", + "Ġp ropri", + "Ġpro pri", + "Ġprop ri", + "Ġin struct", + "Ġinstr uct", + "Ġ licenses", + "Ġlicense s", + "Ġlic enses", + "Ġlicens es", + "Ġ meth", + "Ġm eth", + "Ġme th", + "Ġmet h", + "Ġcon dem", + "Ġcond em", + "Ġ Domain", + "ĠD omain", + "ĠDo main", + "ĠDom ain", + "ĠH arris", + "ĠHar ris", + "ĠHarr is", + "Ġs Ã¥", + "CE PT", + "B atch", + "Bat ch", + "@ extends", + "ĠCONTR IBUT", + ". DataFrame", + ".Data Frame", + "4 72", + "47 2", + "_ packet", + "_p acket", + "_pack et", + "_pa cket", + "re cision", + "rec ision", + "Ġf ocusing", + "Ġfocus ing", + "Ġfoc using", + ". ht", + ".h t", + "__ \":Ċ", + ": Get", + "Ġ KC", + "ĠK C", + "Ġp assage", + "Ġpass age", + "Ġpas sage", + "S egment", + "Se gment", + "Seg ment", + "_ center", + "_c enter", + "_cent er", + "-z A", + "_ BL", + "_B L", + "Ġcon vin", + "Ġconv in", + "Ġ classified", + "Ġclass ified", + "Ġ NSMutable", + "ĠNS Mutable", + "_ ap", + "_a p", + "t ile", + "til e", + "ti le", + "Rect angle", + "4 92", + "49 2", + "( nums", + "(n ums", + "(num s", + "v ens", + "ve ns", + "ven s", + "Ġ UIButton", + "ĠUI Button", + "ĠUIB utton", + "ĠF eder", + "ĠFe der", + "ĠFed er", + "a mo", + "am o", + "Ġ outline", + "Ġout line", + "Ġ Parser", + "ĠP arser", + "ĠPar ser", + "ĠParse r", + "ĠPars er", + "Ġ âī", + "Ġâ ī", + "Ġ Works", + "ĠW orks", + "ĠWork s", + "ĠWor ks", + ". Schema", + ".S chema", + "Ġeng ines", + "Ġengine s", + "6 37", + "63 7", + "5 63", + "56 3", + "_ common", + "_com mon", + "_comm on", + "5 42", + "54 2", + "_ old", + "_o ld", + "Ġset ContentView", + "ĠsetContent View", + "Ġ ///<", + "Ġ// /<", + "Ġ/// <", + "Ġ BT", + "ĠB T", + "f m", + "Ġd ivers", + "Ġdi vers", + "Ġdiv ers", + "Ġdive rs", + "Ġdiver s", + "_ weights", + "_weight s", + "_we ights", + "e mark", + "em ark", + "ema rk", + "Ġ ACT", + "ĠA CT", + "ĠAC T", + "Ġpro portion", + "Ġprop ortion", + "Ġproport ion", + "Ġpropor tion", + "over lay", + ". dirname", + ".dir name", + "Ġ Git", + "ĠG it", + "ĠGi t", + "_ REFERENCE", + "_REF ERENCE", + "_REFER ENCE", + "< >", + "l b", + "_ rule", + "_r ule", + "_ru le", + "è´ ¥", + "Ġ Putin", + "ĠP utin", + "ĠPut in", + "ĠPu tin", + "Ġsleep ing", + "Ġsle eping", + "Ġslee ping", + "( ):čĊ", + "() :čĊ", + "(): čĊ", + "Ġ preserve", + "Ġp reserve", + "Ġpre serve", + "Ġpres erve", + "Ġpar liament", + "Ġ Looking", + "ĠLo oking", + "ĠLook ing", + "Ġp icking", + "Ġpick ing", + "Ġpic king", + "Ġ Dispatch", + "ĠDis patch", + "ĠDisp atch", + "Ġs lip", + "Ġsl ip", + "ë ĵ", + "ĠL yn", + "ĠLy n", + "_ signal", + "_s ignal", + "_sign al", + "_sig nal", + "config uration", + "ĠP itt", + "ĠPi tt", + "ĠPit t", + "4 91", + "49 1", + "a den", + "ad en", + "ade n", + "pro cedure", + "Ġenthus i", + "Ġenth usi", + "f ight", + "fig ht", + "fi ght", + "Ġ Consider", + "ĠCons ider", + "Ġt orn", + "Ġto rn", + "Ġtor n", + "Conn ected", + "Connect ed", + ". cos", + ".c os", + ".co s", + "_ groups", + "_g roups", + "_group s", + "Ġ Think", + "ĠTh ink", + "ĠThi nk", + "ĠThin k", + "Ġdel iber", + "Ġre sid", + "Ġres id", + "work ing", + "wor king", + ". columns", + ".column s", + "Ġ Called", + "ĠC alled", + "ĠCal led", + "ĠCall ed", + "Ġ eslint", + "Ġes lint", + "Ġesl int", + "> \",", + ">\" ,", + "_ DOWN", + "_D OWN", + "_DO WN", + "h ist", + "hi st", + "his t", + "Ġ Advanced", + "ĠAd vanced", + "ĠAdv anced", + "ĠAdvance d", + "Ġre wards", + "Ġreward s", + "Ġrew ards", + "a ctors", + "act ors", + "ac tors", + "actor s", + "Ġsil ence", + "4 79", + "47 9", + "Ġm yth", + "Ġmy th", + "Ġn eur", + "Ġne ur", + "Ġneu r", + "5 19", + "51 9", + "Ġ auction", + "Ġa uction", + "Ġau ction", + "Ġauc tion", + ". GetString", + ".Get String", + "e ks", + "ek s", + "( project", + "(pro ject", + "(proj ect", + "5 98", + "59 8", + "ĉ msg", + "ĉm sg", + "ĉms g", + "ĉ output", + "ĉout put", + "Ġcomplaint s", + "Ġcomplain ts", + "5 51", + "55 1", + ", S", + "Ġ tbl", + "Ġt bl", + "Ġtb l", + "Ġ ,ĊĊ", + "Ġ, ĊĊ", + "Ġ,Ċ Ċ", + "r iors", + "ri ors", + "rior s", + "rio rs", + "ah ren", + "ahr en", + "Ġlaw yers", + "Ġlawy ers", + "Ġlawyer s", + "re dux", + "red ux", + "_ symbol", + "_s ymbol", + "_sym bol", + "o ffee", + "of fee", + "off ee", + "_ RESULT", + "_RES ULT", + "( Name", + "(N ame", + "U TC", + "UT C", + ". currentTime", + ".current Time", + "Ġorgan is", + ". arg", + ".a rg", + ".ar g", + "5 33", + "53 3", + "Ġmin im", + "Ġmi nim", + "Ġmini m", + "w ick", + "wi ck", + "Ġrece ives", + "Ġreceive s", + "B alance", + "Bal ance", + "Ġspe aks", + "Ġspeak s", + "Ġ Days", + "ĠD ays", + "ĠDay s", + "ĠDa ys", + "Ġ Below", + "ĠB elow", + "ĠBe low", + "ĠBel ow", + "4 83", + "48 3", + "t ipo", + "ti po", + "tip o", + "P resent", + "Pre sent", + "Pres ent", + "Ġre serv", + "Ġres erv", + "h p", + "Ġ rit", + "Ġr it", + "Ġri t", + "_ RIGHT", + "_R IGHT", + "- -)", + "-- )", + "Ġchair man", + "7 81", + "78 1", + "D IS", + "DI S", + "Ġ BOOST", + "ĠBO OST", + "Ġex periments", + "Ġexper iments", + "Ġexperi ments", + "Ġexperiment s", + "6 87", + "68 7", + "_ _);Ċ", + "__ );Ċ", + "__) ;Ċ", + "__); Ċ", + "Ġ stamp", + "Ġst amp", + "Ġsta mp", + "Ġf ert", + "Ġfe rt", + "Ġfer t", + "Ġf ond", + "Ġfo nd", + "Ġfon d", + "T er", + "Te r", + "el ve", + "u ren", + "ur en", + "ure n", + "+ i", + "end ency", + "ende ncy", + "enden cy", + "Ġvirtual ly", + "Ġvirt ually", + ". ..\"", + ".. .\"", + "... \"", + "ï½ ŀ", + "9 25", + "92 5", + "- cent", + "-c ent", + "-ce nt", + "_ unique", + "_un ique", + "Ġ pricing", + "Ġp ricing", + "Ġpr icing", + "Ġpri cing", + "m ic", + "mi c", + "R ESH", + "RE SH", + "RES H", + "Ġ :::", + "Ġ: ::", + "Ġ:: :", + "Ġ annotation", + "Ġan notation", + "Ġann otation", + "Ġannot ation", + "Ġ Circle", + "ĠC ircle", + "ĠCirc le", + "ĠCir cle", + "ong odb", + "ongo db", + "i tas", + "it as", + "ita s", + "Ġ %(", + "Ġ% (", + "( component", + "(com ponent", + "(comp onent", + "Ġ об", + "Ġо б", + "( port", + "(p ort", + "(po rt", + "- hour", + "-h our", + ". obj", + ".o bj", + ".ob j", + "L BL", + "LB L", + "Ġ jury", + "Ġj ury", + "Ġju ry", + "Ġjur y", + "G BT", + "GB T", + "Ġ spy", + "Ġs py", + "Ġsp y", + "Ġ Professional", + "ĠProf essional", + "ĠProfession al", + "Ġ\" \";ĊĊ", + "Ġ\"\" ;ĊĊ", + "Ġ\"\";Ċ Ċ", + "Ġ\"\"; ĊĊ", + "Ġstr iking", + "Ġstri king", + "Ġd iscrimination", + "Ġdiscrim ination", + "Ġdiscrimin ation", + "Ġp ays", + "Ġpay s", + "Ġpa ys", + "9 37", + "93 7", + "l ict", + "lic t", + "li ct", + "en tes", + "ent es", + "ente s", + "Ġth rowing", + "Ġthrow ing", + "Ġthr owing", + "Ġthro wing", + "Ġ Plugin", + "ĠPl ugin", + "ĠPlug in", + "( def", + "(d ef", + "(de f", + "Ġ RuntimeException", + "ĠRuntime Exception", + "Ġ Migration", + "ĠM igration", + "ĠMig ration", + "5 99", + "59 9", + "Ġ dic", + "Ġd ic", + "Ġdi c", + "b ag", + "ba g", + "o nia", + "on ia", + "oni a", + "Ġcor ruption", + "Ġcorrupt ion", + "7 04", + "70 4", + "( Map", + "(M ap", + "Ġp rz", + "Ġpr z", + ". dto", + ".d to", + ".dt o", + "Ġac quire", + "Ġacqu ire", + "State ToProps", + "Ġl oving", + "Ġlo ving", + "Ġlov ing", + "о ж", + "оР¶", + "_ pattern", + "_p attern", + "_pat tern", + "Ġem otions", + "Ġemot ions", + "Ġemotion s", + "Ġ publisher", + "Ġp ublisher", + "Ġpublish er", + "Ġpubli sher", + "_ be", + "_b e", + "Ġc ouples", + "Ġco uples", + "Ġcou ples", + "Ġcouple s", + "Ġcoup les", + "4 98", + "49 8", + "o j", + "Ġ Chart", + "ĠC hart", + "ĠCh art", + "ĠChar t", + "ĠCha rt", + "Ġt rop", + "Ġtr op", + "Ġtro p", + ". tool", + ".t ool", + ".to ol", + "Ġestablish ment", + "Ġ dol", + "Ġd ol", + "Ġdo l", + "6 54", + "65 4", + "Ġ tower", + "Ġt ower", + "Ġto wer", + "Ġtow er", + "Ġ lane", + "Ġl ane", + "Ġla ne", + "Ġlan e", + "ĠSy dney", + "Ġf illing", + "Ġfil ling", + "Ġfill ing", + "claim ed", + "cla imed", + "6 44", + "64 4", + "Ġdialog ue", + "Ġdia logue", + "Ġdial ogue", + "Ġcon vention", + "Ġconv ention", + "Ġconven tion", + "Ġconvent ion", + "bo oking", + "book ing", + "boo king", + "par ency", + "pare ncy", + "paren cy", + "æ ±", + "Ġ Generic", + "ĠG eneric", + "ĠGener ic", + "ĠGen eric", + "ĠGene ric", + "7 18", + "71 8", + "\\ Schema", + "\\S chema", + "4 82", + "48 2", + "6 18", + "61 8", + "Ġ ranges", + "Ġr anges", + "Ġrange s", + "Ġran ges", + "Ġrang es", + "/ ch", + "/c h", + "Ġ panels", + "Ġpanel s", + "Ġpa nels", + "Ġpan els", + "Ġpane ls", + "Ġr uled", + "Ġrule d", + "Ġru led", + "çĶ Ł", + ". ts", + ".t s", + "_ sets", + "_s ets", + "_set s", + "_se ts", + "Ġ cleanup", + "Ġc leanup", + "Ġclean up", + "Pre vious", + "Prev ious", + "Ġ Animal", + "ĠAn imal", + "ĠAnim al", + "6 07", + "60 7", + "( $(", + "($ (", + "ĠA ve", + "ĠAv e", + "ol lar", + "oll ar", + "olla r", + "0 28", + "02 8", + "_ eval", + "_e val", + "_ev al", + "ĉ Name", + "ĉN ame", + "( tree", + "(t ree", + "(tr ee", + "Ġ \"]", + "Ġ\" ]", + "5 71", + "57 1", + "Ġdu ties", + "Ġdut ies", + "= '/", + "=' /", + "Click ed", + "Cl icked", + "Ġdiffer ently", + "Ġdifferent ly", + "Ġ Clark", + "ĠCl ark", + "ĠClar k", + "ĠCla rk", + "Ġ dit", + "Ġd it", + "Ġdi t", + "olog ists", + "ologist s", + "ologi sts", + "Ġsy nd", + "Ġsyn d", + "Ġs ends", + "Ġse nds", + "Ġsend s", + "Ġsen ds", + "- known", + "-k nown", + "-know n", + "k b", + "Ġ Modal", + "ĠM odal", + "ĠMod al", + "ĠMo dal", + "it ative", + "itat ive", + "Ġr acing", + "Ġrac ing", + "Ġra cing", + "Ġhigh lights", + "Ġhighlight s", + "Ġ Simon", + "ĠS imon", + "ĠSim on", + "ĠSi mon", + "Ġ Captain", + "ĠCap tain", + "ĠCapt ain", + "ä¿ ¡", + "Ġ CB", + "ĠC B", + "con tin", + "cont in", + "conti n", + "a ran", + "ar an", + "ara n", + "Ġ physics", + "Ġph ysics", + "Ġphys ics", + "Ġphysic s", + "r etty", + "re tty", + "ret ty", + "rett y", + "e tal", + "et al", + "eta l", + ". md", + ".m d", + "ax ios", + "Ġspe akers", + "Ġspeak ers", + "Ġspeaker s", + "Ġ prep", + "Ġp rep", + "Ġpr ep", + "Ġpre p", + "Ġaw arded", + "Ġaward ed", + "ì§ Ģ", + "Ġ Corn", + "ĠC orn", + "ĠCo rn", + "ĠCor n", + "Ġ Nature", + "ĠN ature", + "ĠNa ture", + "ĠNat ure", + "ĠNatur e", + "UD IO", + "7 37", + "73 7", + "Ġ proj", + "Ġp roj", + "Ġpro j", + "Ġpr oj", + "- pre", + "-p re", + "-pr e", + "[ u", + "F eatures", + "Fe atures", + "Feature s", + "Feat ures", + "Ġ isEqual", + "Ġis Equal", + "B inary", + "Bin ary", + "s ig", + "si g", + "Ġcon fusion", + "Ġconf usion", + "5 46", + "54 6", + "5 68", + "56 8", + "Ġ Hat", + "ĠH at", + "ĠHa t", + "Ġkt ó", + ". configure", + ".con figure", + ".config ure", + ".conf igure", + "M ON", + "MO N", + "4 94", + "49 4", + "/ edit", + "/e dit", + "_ Add", + "_A dd", + "_Ad d", + ", true", + ",tr ue", + "5 41", + "54 1", + "Ġ cli", + "Ġc li", + "Ġcl i", + "Error Message", + "- loader", + "-l oader", + "-lo ader", + "-load er", + "Dim ensions", + "Dimension s", + "ulti ply", + "ultip ly", + "Ġ {!!", + "Ġ{ !!", + "Ġ{! !", + "Ġ SqlCommand", + "ĠSql Command", + "Ġ spoken", + "Ġsp oken", + "Ġspoke n", + "Ġspo ken", + "Ġ pics", + "Ġp ics", + "Ġpi cs", + "Ġpic s", + "Ġ toy", + "Ġt oy", + "Ġto y", + "( Key", + "(K ey", + "Ġ Loop", + "ĠL oop", + "ĠLo op", + "Ø ¨", + "E ATURE", + "EA TURE", + "in ction", + "inc tion", + "inct ion", + "_ setup", + "_set up", + "w rapper", + "wrap per", + "wr apper", + "Ġt ong", + "Ġto ng", + "Ġton g", + "c ular", + "cul ar", + "cu lar", + "O pt", + "Op t", + ". Pl", + ".P l", + "= \",", + "=\" ,", + "( length", + "(l ength", + "(len gth", + "(le ngth", + "u mn", + "um n", + "Ġ chrom", + "Ġch rom", + "Ġchr om", + "Ġs event", + "Ġse vent", + "Ġseven t", + "Ġsev ent", + "Ġ IllegalArgumentException", + "ĠIl legalArgumentException", + "ĠIllegal ArgumentException", + "4 78", + "47 8", + "ĉ start", + "ĉst art", + "Ġbe gun", + "Ġbeg un", + "CE PTION", + "CEPT ION", + "d ataset", + "data set", + "dat aset", + "datas et", + "8 25", + "82 5", + "Ġ Failed", + "ĠF ailed", + "ĠFa iled", + "ĠFail ed", + "c ols", + "co ls", + "col s", + "4 59", + "45 9", + "Ġk nee", + "Ġkn ee", + "Ġkne e", + "i more", + "im ore", + "imo re", + ". splice", + ".sp lice", + "s hell", + "sh ell", + "she ll", + "ig gers", + "igger s", + "igg ers", + "Ġ themes", + "Ġth emes", + "Ġthe mes", + "Ġthem es", + "Ġtheme s", + "9 95", + "99 5", + "Ġ DJ", + "ĠD J", + "Ġ Assistant", + "ĠAss istant", + "ĠAssist ant", + "- $", + "M aybe", + "May be", + "Ġ ordering", + "Ġorder ing", + "Ġord ering", + "ĠInt elligence", + "ĠIntelli gence", + "ĠMass achusetts", + "Ġf ailing", + "Ġfa iling", + "Ġfail ing", + "el son", + "els on", + "G reat", + "Gr eat", + "Gre at", + "= i", + ". rest", + ".re st", + ".r est", + ".res t", + "Ġ invite", + "Ġinv ite", + "Ġinvit e", + "- disable", + "-d isable", + "-dis able", + ". GroupBox", + ".Group Box", + "âĢĻ est", + "âĢĻe st", + "âĢĻes t", + "Ġt ackle", + "Ġtack le", + "Ġtac kle", + "g v", + "et ter", + "ette r", + "ett er", + "Ġ ),čĊ", + "Ġ) ,čĊ", + "Ġ), čĊ", + "_ rules", + "_r ules", + "_rule s", + "_ru les", + ". warn", + ".w arn", + "function s", + "fun ctions", + "ĠChrist ians", + "ĠChristian s", + "Ġb acked", + "Ġback ed", + "Ġbac ked", + "Ġ slider", + "Ġs lider", + "Ġsl ider", + "Ġslide r", + "Ġslid er", + "Ġenjoy ing", + "Ġenjo ying", + "n est", + "ne st", + "nes t", + "Ġh ij", + "Ġhi j", + "_ ms", + "_m s", + "/ /*", + "// *", + "An notations", + "Annotation s", + "Ġ Variables", + "ĠVariable s", + "ĠVari ables", + "< V", + "( server", + "(s erver", + "(serv er", + "Ġ Oracle", + "ĠOr acle", + "e lements", + "el ements", + "element s", + "ele ments", + "elem ents", + "Ġ organisation", + "Ġorgan isation", + "Ġorganis ation", + "_ pointer", + "_point er", + "_po inter", + "Ġ Headers", + "ĠHe aders", + "ĠHead ers", + "ĠHeader s", + "[ d", + "Ġ deadline", + "Ġdead line", + "i ssa", + "is sa", + "iss a", + "Ġ knife", + "Ġkn ife", + "Ġ NASA", + "ĠN ASA", + "ĠNAS A", + "ĠNA SA", + "Ġ Height", + "ĠH eight", + "ĠHe ight", + "7 84", + "78 4", + "Ġ Async", + "ĠA sync", + "ĠAs ync", + "Ġ venue", + "Ġven ue", + ". dom", + ".d om", + ".do m", + "bour ne", + "bou rne", + "ĠH awai", + "ĠHaw ai", + "Ġ memo", + "Ġm emo", + "Ġme mo", + "Ġmem o", + "i ctions", + "ict ions", + "iction s", + "Ġsur veillance", + "Ġsurve illance", + "o mi", + "om i", + "/ assets", + "/as sets", + "5 87", + "58 7", + "Ġ edu", + "Ġe du", + "Ġed u", + "Ä Ľ", + "Ġr oster", + "Ġro ster", + "Ġros ter", + "Ġrost er", + "Ġh ired", + "Ġhi red", + "Ġhire d", + "Ġ Tok", + "ĠT ok", + "ĠTo k", + "Ġ placement", + "Ġpl acement", + "Ġplace ment", + "Ġplac ement", + "ur ations", + "uration s", + "urat ions", + "Ġ setState", + "Ġset State", + "ĠMag azine", + "Ġhor ror", + "Ġho rror", + "Ġhorr or", + "T ry", + "Tr y", + "Ġ lag", + "Ġl ag", + "Ġla g", + "Ġ Everyone", + "ĠEvery one", + "t hur", + "th ur", + ") );čĊčĊ", + ")) ;čĊčĊ", + "));čĊ čĊ", + ")); čĊčĊ", + ". return", + ".re turn", + ".r eturn", + ".ret urn", + "Ġsy mp", + "Ġsym p", + "âĸĪ âĸĪ", + "Ġn ights", + "Ġnight s", + "work er", + "wor ker", + "Ġ ale", + "Ġa le", + "Ġal e", + "ennes see", + ". step", + ".s tep", + ".st ep", + "Ġs ynchronized", + "Ġsynchron ized", + "Ġsynchronize d", + "4 87", + "48 7", + "o uri", + "ou ri", + "our i", + "D oes", + "Do es", + ". change", + ".ch ange", + "f on", + "fo n", + ". setBackground", + ".set Background", + "ir cular", + "irc ular", + "4 76", + "47 6", + "+ -", + "ĠC IA", + "ĠCI A", + "7 29", + "72 9", + "Ġ Jane", + "ĠJ ane", + "ĠJan e", + "ĠJa ne", + "Ġ Similar", + "ĠS imilar", + "ĠSim ilar", + "- I", + "level and", + "lev eland", + "Ġpro spect", + "Ġpros pect", + "_ found", + "_f ound", + "ĉ color", + "ĉc olor", + "ĉcol or", + ".D iagnostics", + ".Di agnostics", + "Ġ announce", + "Ġann ounce", + "Ġannounc e", + "Ġanno unce", + "Ġass umes", + "Ġassum es", + "Ġassume s", + "/ tr", + "/t r", + "Ġ bd", + "Ġb d", + "9 87", + "98 7", + "Ġ Carbon", + "ĠC arbon", + "ĠCar bon", + "ĠCarb on", + "Ġanal ys", + "Ġanaly s", + "Ġana lys", + "5 64", + "56 4", + ". dest", + ".d est", + ".de st", + ".des t", + "n ik", + "ni k", + "Ġ Lie", + "ĠL ie", + "ĠLi e", + "- index", + "-in dex", + "-ind ex", + "Draw able", + "Ġ TAG", + "ĠT AG", + "ĠTA G", + "Ġ triangle", + "Ġt riangle", + "Ġtr iangle", + "Ġtri angle", + "Ġtriang le", + "_ FLOAT", + "_F LOAT", + "ĉ ĉĠĠĠĠĠ", + "ĉĉ ĠĠĠĠĠ", + "ĉĉĠĠĠ ĠĠ", + "ĉĉĠ ĠĠĠĠ", + "ĉĉĠĠ ĠĠĠ", + "ĉĉĠĠĠĠ Ġ", + ". black", + ".b lack", + ".bl ack", + "v ue", + "vu e", + "c uracy", + "cur acy", + "cura cy", + "Ġa ffects", + "Ġaff ects", + "Ġaffect s", + "9 06", + "90 6", + "Ġsur ely", + "Ġsure ly", + "S lider", + "Sl ider", + "Slide r", + "u ki", + "uk i", + "c ery", + "ce ry", + "cer y", + "Ġ unter", + "Ġun ter", + "Ġunt er", + ". profile", + ".pro file", + ".pr ofile", + ".prof ile", + "or don", + "ord on", + "ordo n", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "le ave", + "lea ve", + "Ġsmart phone", + "g ie", + "gi e", + "Ġcon spir", + "Ġcons pir", + "Ġ tutorial", + "Ġt utorial", + "Ġtut orial", + "Ġtutor ial", + "Ġtuto rial", + "ç± »", + "Ġ cab", + "Ġc ab", + "Ġca b", + "7 65", + "76 5", + "Ġ Summary", + "ĠSum mary", + "* ĊĊ", + "*Ċ Ċ", + "ä h", + "\" This", + "\"T his", + "Ġ slides", + "Ġsl ides", + "Ġslide s", + "Ġslid es", + "\" ", + "() >", + "c ycle", + "cy cle", + "cycl e", + "ĠB ull", + "ĠBul l", + "ĠBu ll", + "p aths", + "path s", + "pat hs", + "pa ths", + "Ġu np", + "Ġun p", + "Ġview DidLoad", + "_ Model", + "_M odel", + "_Mode l", + "_Mod el", + "Ġ assertTrue", + "Ġassert True", + "Ġ rated", + "Ġr ated", + "Ġrate d", + "Ġrat ed", + "Ġra ted", + "De cl", + "Dec l", + "ver ted", + "vert ed", + "verte d", + "Ġ Dat", + "ĠD at", + "ĠDa t", + "b rew", + "br ew", + "bre w", + "Ġpoint ing", + "M s", + "Ġ Pointer", + "ĠPoint er", + "ĠPo inter", + ") '", + "_ non", + "_n on", + "_no n", + "5 27", + "52 7", + "Ġ SEC", + "ĠS EC", + "ĠSE C", + "Ġ yeah", + "Ġy eah", + "Ġye ah", + "g ency", + "ge ncy", + "gen cy", + "initial ize", + "f ly", + "fl y", + "7 11", + "71 1", + "[ pos", + "[p os", + ", g", + "T ele", + "Te le", + "Tel e", + "0 34", + "03 4", + "Ġj oke", + "Ġjo ke", + "Ġ clause", + "Ġcl ause", + "Ġcla use", + ". findById", + ".find ById", + ".findBy Id", + "e nes", + "en es", + "ene s", + "( instance", + "(in stance", + "(inst ance", + "6 26", + "62 6", + " £", + "9 15", + "91 5", + "Ġs lic", + "Ġsl ic", + "_ home", + "_h ome", + "_hom e", + "Ġ */}Ċ", + "Ġ*/ }Ċ", + "_ pages", + "_p ages", + "_page s", + "_pag es", + "_pa ges", + "( service", + "(s ervice", + "(serv ice", + "9 05", + "90 5", + "R P", + "Ġ Among", + "ĠA mong", + "ĠAm ong", + ". getCurrent", + ".get Current", + ".getC urrent", + "8 06", + "80 6", + "ã Ĥ¹", + "ãĤ ¹", + "Ġs lee", + "Ġsl ee", + "Ġsle e", + "= [Ċ", + ">[ Ċ", + "o ler", + "ol er", + "ole r", + "Ġli bert", + "Ġlib ert", + "Ġliber t", + "Ġ `Ċ", + "Ġ` Ċ", + "Ġw enn", + "Ġwe nn", + "Ġwen n", + "l ated", + "la ted", + "late d", + "lat ed", + "Ġ immune", + "Ġimm une", + "Ġimmun e", + "( Node", + "(N ode", + "Ġ Problem", + "ĠPro blem", + "ĠProb lem", + "ĠProble m", + "Ġ Abs", + "ĠA bs", + "ĠAb s", + "l ogs", + "lo gs", + "log s", + "Ġ ../", + "Ġ. ./", + "Ġ.. /", + "Ġ ADC", + "ĠA DC", + "ĠAD C", + "Ġ }}\">Ċ", + "Ġ} }\">Ċ", + "Ġ}} \">Ċ", + "Ġ}}\" >Ċ", + "Ġ}}\"> Ċ", + "> ');Ċ", + ">' );Ċ", + ">') ;Ċ", + ">'); Ċ", + "= b", + "Ġ Wind", + "ĠW ind", + "ĠWin d", + "ĠWi nd", + "l ahoma", + "lah oma", + "Ġ allocate", + "Ġal locate", + "Ġall ocate", + "Ġalloc ate", + "Ġallo cate", + "o rian", + "or ian", + "oria n", + "ori an", + "Ġpr escription", + "Ġpre scription", + "Ġpres cription", + "- quality", + "-q uality", + "-qu ality", + "Ġ Mayor", + "ĠMay or", + "ĠMa yor", + "ĠMayo r", + "8 55", + "85 5", + "in ely", + "ine ly", + "inel y", + "end foreach", + "Ġ Complex", + "ĠCom plex", + "ĠComp lex", + "ĠComple x", + "k om", + "ko m", + "7 09", + "70 9", + "T Y", + "7 90", + "79 0", + "] ].", + "]] .", + ". Style", + ".St yle", + "_ many", + "_m any", + "_man y", + "_ma ny", + "', '$", + "',' $", + "Ġbar rier", + "Ġbarr ier", + "Ġ Fetch", + "ĠF etch", + "ĠFet ch", + "Ġ Marvel", + "ĠMar vel", + "Ġres ist", + "о го", + "ог о", + "b idden", + "bi dden", + "bid den", + "Ġ Runnable", + "ĠR unnable", + "ĠRun nable", + ": false", + ":f alse", + "8 99", + "89 9", + "Ġbuild s", + "Ġ Stage", + "ĠSt age", + "ĠSta ge", + "Ġ dub", + "Ġd ub", + "Ġdu b", + "em po", + "emp o", + ". site", + ".s ite", + ".si te", + "5 58", + "55 8", + "; ĊĊĊĊ", + ";Ċ ĊĊĊ", + ";ĊĊ ĊĊ", + ";ĊĊĊ Ċ", + "9 94", + "99 4", + "Ġ Denver", + "ĠDen ver", + "Ġre vel", + "Ġrev el", + "Ġreve l", + "Ġtrigger ed", + "Ġ dice", + "Ġd ice", + "Ġdi ce", + "Ġdic e", + "_ fail", + "_f ail", + "_fa il", + "Ġ gc", + "Ġg c", + "8 33", + "83 3", + "5 89", + "58 9", + "ĉ X", + "Ġ Throwable", + "ĠTh rowable", + "ĠThrow able", + "7 75", + "77 5", + ". router", + ".r outer", + ".route r", + ".ro uter", + "ĠRe volution", + "ĠRev olution", + "ÑĢ Ð°", + "_ NON", + "_N ON", + "_NO N", + "0 55", + "05 5", + "Ł ¥", + "5 78", + "57 8", + "Ġ elder", + "Ġe lder", + "Ġel der", + "Ġelde r", + "Ġab road", + "Ġ е", + "ĠÐ µ", + "Ġ Adult", + "ĠAd ult", + "b lr", + "bl r", + "g lyphicon", + "glyph icon", + "6 13", + "61 3", + "Ġprom oting", + "Ġpromot ing", + "Ġpromo ting", + "Ġ iz", + "Ġi z", + "Ġ Solid", + "ĠS olid", + "ĠSo lid", + "ĠSol id", + "6 45", + "64 5", + "_ loader", + "_l oader", + "_lo ader", + "_load er", + "ear ly", + ". enabled", + ".en abled", + ".enable d", + "- edit", + "-e dit", + "-ed it", + "Ġ UL", + "ĠU L", + "_ play", + "_p lay", + "_pl ay", + "Ġ Interrupt", + "ĠInt errupt", + "ĠInter rupt", + "ĠInterr upt", + "Ġadv antages", + "Ġadvant ages", + "Ġadvantage s", + "u cle", + "uc le", + "Ġmechan ical", + "Ġmechanic al", + "Ġmech anical", + ".table LayoutPanel", + "Ġ Working", + "ĠWork ing", + "ĠWor king", + "Ġ anonymous", + "Ġan onymous", + "Ġanonym ous", + "Ġanon ymous", + "R ating", + "Ra ting", + "ig ious", + "igi ous", + "_ phone", + "_p hone", + "_ph one", + ".addAction Listener", + "Ġf ran", + "Ġfr an", + "Ġfra n", + "un den", + "und en", + "unde n", + "Ġ *)&", + "Ġ* )&", + "Ġ*) &", + "_ bool", + "_b ool", + "_bo ol", + "ul ative", + "Ġ cone", + "Ġc one", + "Ġcon e", + "Ġco ne", + "Ġ Mult", + "ĠM ult", + "ĠMu lt", + "ĠMul t", + "Ġm ö", + "Ġ Forward", + "ĠFor ward", + "] ):Ċ", + "]) :Ċ", + "]): Ċ", + "Ġconvin ced", + "Ġconvince d", + "Ġconvinc ed", + "act ed", + "ac ted", + "6 43", + "64 3", + "ãģ ĵ", + "Ġ Configure", + "ĠCon figure", + "ĠConfig ure", + "ĠConf igure", + "Ġce iling", + "Ġceil ing", + "D er", + "De r", + "Ġpass engers", + "Ġpassenger s", + "G roups", + "Group s", + "Gro ups", + "Ġs occer", + "Ġsoc cer", + "/ W", + "av iors", + "avior s", + "avi ors", + "s with", + "sw ith", + "Ġ Zone", + "ĠZ one", + "ĠZo ne", + ". Options", + ".O ptions", + ".Option s", + "Ġ Mom", + "ĠM om", + "ĠMo m", + "i eder", + "ie der", + "ied er", + "Array s", + "Ar rays", + "Arr ays", + "Ġtreat ments", + "Ġtreatment s", + "Ġprotect ing", + "f ac", + "fa c", + "Ġ pickle", + "Ġp ickle", + "Ġpick le", + "Ġpic kle", + "Button Item", + "7 13", + "71 3", + "Ġ blocking", + "Ġb locking", + "Ġbl ocking", + "Ġblock ing", + "Ġbloc king", + "st rar", + "str ar", + "stra r", + "à ²", + "Ġ Export", + "ĠEx port", + "ĠExp ort", + "ĠExpo rt", + "Ġth rew", + "Ġthr ew", + "ot ta", + "ott a", + "Ġ BASE", + "ĠB ASE", + "ĠBAS E", + "ĠBA SE", + ". ws", + ".w s", + ".LE ADING", + "order By", + "_ delay", + "_d elay", + "_de lay", + "_del ay", + "Ġ Pu", + "ĠP u", + ". dll", + ".d ll", + "Ġ Choose", + "ĠCh oose", + "ĠCho ose", + "9 92", + "99 2", + "Pol ice", + "Po lice", + "Ġ BEGIN", + "ĠB EGIN", + "ĠBE GIN", + "bo xes", + "box es", + "Ġ diamond", + "Ġd iamond", + "Ġdiam ond", + "Ġdia mond", + ", l", + "Ġ ĉĉĉ", + "Ġĉ ĉĉ", + "Ġĉĉ ĉ", + "Ġc urious", + "Ġcur ious", + "Ġcu rious", + "6 24", + "62 4", + "t v", + "Ġerot ische", + "Ġerotisch e", + "ack ages", + "ackage s", + "ĉ Set", + "ĉS et", + "T ick", + "Ti ck", + ". border", + ".b order", + "static method", + "Ġ cher", + "Ġc her", + "Ġch er", + "Ġche r", + "in voice", + "inv oice", + "Ġc ru", + "Ġcr u", + "Ġde fect", + "Ġdef ect", + "Ġdefe ct", + "_ metadata", + "_m etadata", + "_meta data", + "_met adata", + "re lation", + "rel ation", + "i kan", + "ik an", + "ika n", + "[ N", + "( Qt", + "(Q t", + "( Base", + "(B ase", + "æģ ¯", + "b eat", + "be at", + "Ġ Empty", + "ĠEm pty", + "ĠEmp ty", + "ĉ o", + "_ shift", + "_s hift", + "_sh ift", + "Ġreg ret", + "7 22", + "72 2", + "Th ose", + "Tho se", + "C ent", + "Ce nt", + "ĠPort ug", + "ĠIs lands", + "ĠIsl ands", + "ĠIsland s", + "Ġ TIME", + "ĠT IME", + "ĠTIM E", + "ĠTI ME", + "Man agement", + "Manage ment", + "Mana gement", + "9 96", + "99 6", + "- sp", + "-s p", + "5 39", + "53 9", + "ê me", + "êm e", + "Ġn otion", + "Ġnot ion", + "Ġno tion", + "un ifu", + "uni fu", + "P K", + "8 26", + "82 6", + "è¡ Į", + "ĠC URLOPT", + "ĠCUR LOPT", + "ĠCURL OPT", + "\\ \"\\", + "\\\" \\", + "U V", + "ç º", + "d ra", + "dr a", + "c ou", + "co u", + "= `", + "Ġ Destroy", + "ĠD estroy", + "ĠDe stroy", + "ĠDest roy", + "r p", + ". cancel", + ".c ancel", + ".can cel", + "G G", + "r untime", + "run time", + "Ġ Vue", + "ĠV ue", + "ĠVu e", + "Ġpro gressive", + "Ġprogress ive", + "Ġprog ressive", + "/ services", + "/s ervices", + "/service s", + "Ġ runner", + "Ġr unner", + "Ġrun ner", + "_ FRAME", + "_FR AME", + ". ToolStripMenuItem", + ".ToolStrip MenuItem", + "Ġ ','", + "Ġ' ,'", + "Ġ', '", + "d elay", + "de lay", + "del ay", + "= utf", + "=u tf", + "Ġscreen ing", + "Ġscre ening", + "Ġp ulling", + "Ġpull ing", + "Ġpul ling", + "o mas", + "om as", + "oma s", + "Ġ anth", + "Ġa nth", + "Ġan th", + "Ġant h", + "- new", + "-n ew", + "-ne w", + "/ local", + "/l ocal", + "/lo cal", + "Ġ iPad", + "Ġi Pad", + "ĠiP ad", + "Ġ twitter", + "Ġt witter", + "Ġtw itter", + "Ġd ying", + "Ġdy ing", + "Ġhe aven", + "Ġheav en", + "Ġ UInt", + "ĠU Int", + "ĠUI nt", + "Ġ Senator", + "ĠSen ator", + "Ġpre sum", + "Ġpres um", + "Ġ Walker", + "ĠW alker", + "ĠWalk er", + "ĠWal ker", + "Ġover come", + "e tection", + "et ection", + "ete ction", + "etect ion", + "Ġemb arrass", + "Ch ina", + "Chi na", + "6 39", + "63 9", + "In clude", + "Inc lude", + "R OLL", + "RO LL", + "ROL L", + "Ġ dataType", + "Ġdata Type", + "D avid", + "Da vid", + "ภ£", + "l op", + "lo p", + "- month", + "-m onth", + "-mon th", + "Ġ scar", + "Ġs car", + "Ġsc ar", + "Ġsca r", + "Ġ Safe", + "ĠS afe", + "ĠSaf e", + "ĠSa fe", + "Ġ ****************************************************************", + "Ġ******************************** ********************************", + "Ġ******** ********************************************************", + "Ġ**************** ************************************************", + "Ġ************************ ****************************************", + "Ġ**************************************** ************************", + "Ġ******************************************************** ********", + "Ġ************************************************ ****************", + "Ġaccess ories", + "Ġaccessor ies", + "Ġr amp", + "Ġra mp", + "Ġram p", + "_ USE", + "_U SE", + "_US E", + "Ġcon trad", + "Ġcont rad", + "Ġcontr ad", + "Ġcontra d", + ") )]Ċ", + ")) ]Ċ", + "))] Ċ", + "Ġp rest", + "Ġpr est", + "Ġpre st", + "Ġpres t", + "Ġ HR", + "ĠH R", + "ĠR ap", + "ĠRa p", + "Ġ usize", + "Ġu size", + "Ġus ize", + "Ġ capability", + "Ġcap ability", + "Ġc ort", + "Ġco rt", + "Ġcor t", + "- next", + "-n ext", + "-ne xt", + "0 77", + "07 7", + "6 27", + "62 7", + "Ġbur den", + "8 22", + "82 2", + "_ reader", + "_re ader", + "_read er", + "Ġ @@", + "Ġ@ @", + "reg ular", + "Ġ Ka", + "ĠK a", + "0 36", + "03 6", + "M AN", + "MA N", + "Ġ astr", + "Ġa str", + "Ġas tr", + "Ġast r", + "Ġ' ')Ċ", + "Ġ'' )Ċ", + "Ġ'') Ċ", + "Ġ fed", + "Ġf ed", + "Ġfe d", + "Ġp arsing", + "Ġpar sing", + "Ġpars ing", + "Ġ Years", + "ĠY ears", + "ĠYear s", + "ĠYe ars", + "Ġ broker", + "Ġb roker", + "Ġbr oker", + "Ġbro ker", + "Ġbroke r", + "\": {\"", + "Ġ akt", + "Ġa kt", + "Ġak t", + "In ventory", + "ab eled", + "abel ed", + "abe led", + "Ġarg parse", + "* ******Ċ", + "** *****Ċ", + "**** ***Ċ", + "****** *Ċ", + "*** ****Ċ", + "***** **Ċ", + "******* Ċ", + "vers ation", + "Ġ cord", + "Ġc ord", + "Ġco rd", + "Ġcor d", + "Ġ Ti", + "ĠT i", + "Ġ hopefully", + "Ġhope fully", + "Ġhop efully", + "Ġhopeful ly", + "Ġ ah", + "Ġa h", + "v erb", + "ver b", + "ve rb", + "Ġst olen", + "Ġstole n", + "Ġsto len", + "Ġstol en", + ". Entry", + ".En try", + ".Ent ry", + "Ġex pecting", + "Ġexpect ing", + "O rientation", + "Ġ powered", + "Ġp owered", + "Ġpower ed", + "Ġpow ered", + "Ġ persist", + "Ġp ersist", + "Ġpers ist", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "' ]);", + "'] );", + "']) ;", + "' )),Ċ", + "') ),Ċ", + "')) ,Ċ", + "')), Ċ", + "Ġ Cash", + "ĠC ash", + "ĠCas h", + "ĠCa sh", + "ĉ item", + "ĉi tem", + "ĉit em", + "8 18", + "81 8", + "g rades", + "gr ades", + "grad es", + "grade s", + "gra des", + "r opol", + "ro pol", + "rop ol", + "b asic", + "ba sic", + "bas ic", + "Ġ \");čĊ", + "Ġ\" );čĊ", + "Ġ\") ;čĊ", + "Ġ\"); čĊ", + "Ġa wards", + "Ġaw ards", + "Ġaward s", + "( range", + "(r ange", + "(ra nge", + "- all", + "-a ll", + "-al l", + "Ġ IBOutlet", + "ĠIB Outlet", + "Ġ Indeed", + "ĠInd eed", + "---------------------------------------------------------------- ------------", + "------------ ----------------------------------------------------------------", + "------------------------------------------------ ----------------------------", + "------ ----------------------------------------------------------------------", + "---------------------------- ------------------------------------------------", + "---------------------------------------------------------------------- ------", + "Ġstom ach", + "Ġsto mach", + "Ġ flower", + "Ġf lower", + "Ġfl ower", + "Ġflow er", + "Ġflo wer", + "Ġs ew", + "Ġse w", + "_ times", + "_t imes", + "_time s", + "_tim es", + "_ti mes", + "a vis", + "av is", + "avi s", + "Q String", + "QS tring", + "Ġ Routes", + "ĠR outes", + "ĠRoute s", + "ĠRo utes", + "ĠRou tes", + "ĠRout es", + "_ prot", + "_p rot", + "_pro t", + "_pr ot", + "Ġcom edy", + "Ġcome dy", + "Ġcomed y", + "Ġ logout", + "Ġlog out", + "Ġlogo ut", + "Ġwood en", + "Ġwo oden", + "Ġwoo den", + "Ġ poster", + "Ġp oster", + "Ġpos ter", + "Ġpost er", + "Ġpo ster", + "Ġposte r", + "p iece", + "pi ece", + "pie ce", + ". Join", + ".J oin", + "Ġ Pok", + "ĠP ok", + "ĠPo k", + "cel ona", + "m utex", + "mut ex", + "mu tex", + "mute x", + "; čĊčĊčĊ", + ";čĊ čĊčĊ", + ";čĊčĊ čĊ", + "Ġst rikes", + "Ġstr ikes", + "Ġstri kes", + "Ġstrike s", + "7 87", + "78 7", + "Lo aded", + "Load ed", + ") arg", + ")a rg", + "e sa", + "es a", + "Un ited", + "Unit ed", + "Uni ted", + "E p", + "P ELL", + "PE LL", + "8 07", + "80 7", + "Ġ Atlantic", + "ĠAtl antic", + "ul let", + "ull et", + "ulle t", + "6 52", + "65 2", + "ap ple", + "app le", + "appl e", + "Ġsett led", + "Ġsettle d", + "a con", + "ac on", + "aco n", + "Ġ printer", + "Ġpr inter", + "Ġprint er", + "Ġprin ter", + "Ġ GC", + "ĠG C", + "å® ļ", + "Ġrender ed", + "Ġrend ered", + ", âĢĻ", + "he it", + "hei t", + "s ocial", + "so cial", + "soc ial", + ". ge", + ".g e", + "7 14", + "71 4", + "Ġ Rick", + "ĠR ick", + "ĠRic k", + "ĠRi ck", + "ĠU tah", + "ĠUt ah", + "g ot", + "go t", + "on ical", + "onic al", + "oni cal", + "onica l", + "Ġ Scroll", + "ĠS croll", + "ĠSc roll", + "ĠScr oll", + "ĠSc iences", + "ĠScience s", + "ĠSci ences", + "Ġ jug", + "Ġj ug", + "Ġju g", + "Ġa mpl", + "Ġam pl", + "Ġamp l", + "en ti", + "ent i", + "LE FT", + "Ġ tabs", + "Ġt abs", + "Ġtab s", + "Ġta bs", + "Ġenorm ous", + ". getKey", + ".get Key", + "l ocate", + "lo cate", + "loc ate", + ". EX", + ".E X", + ". storage", + ".st orage", + ". We", + ".W e", + "Ġ toast", + "Ġto ast", + "Ġ Additionally", + "ĠAdd itionally", + "ĠAdditional ly", + "ĠAddition ally", + "8 82", + "88 2", + "Ġ NOW", + "ĠN OW", + "ĠNO W", + "5 47", + "54 7", + "_ UPDATE", + "_UP DATE", + "Ġtrans ferred", + "Ġtransfer red", + "t ha", + "th a", + ". Display", + ".D isplay", + ".Dis play", + "_ ui", + "_u i", + "ID EO", + "IDE O", + "Ġmeaning ful", + "ĠMos cow", + ", this", + ",t his", + "Ġ Victoria", + "ĠVict oria", + "ĠVictor ia", + "æĶ ¹", + "Ġ ÐŁ", + "ĠÐ Ł", + ". stack", + ".st ack", + "ĠB arn", + "ĠBar n", + "ĠBa rn", + "pared Statement", + ": string", + ":s tring", + ":str ing", + "Ġ bij", + "Ġb ij", + "Ġbi j", + "Ġ STATE", + "ĠST ATE", + "ĠSTAT E", + "ĠSTA TE", + "Ġemploy ers", + "Ġemployer s", + "ĉ input", + "ĉin put", + "( |", + "Ġ lex", + "Ġl ex", + "Ġle x", + "in voke", + "inv oke", + "ĉ num", + "ĉn um", + "+ +,", + "++ ,", + "at ial", + "ati al", + "or ses", + "ors es", + "orse s", + "Ġ fork", + "Ġf ork", + "Ġfor k", + "Ġfo rk", + "_ txt", + "_t xt", + "_tx t", + "ĠAnt onio", + "ĠAnton io", + "Ġ (<", + "Ġ( <", + "a verse", + "av erse", + "aver se", + "avers e", + "Ġdev ast", + "ãĢ Ģ", + ". Dec", + ".D ec", + ".De c", + "ĠG ard", + "ĠGar d", + "ĠGa rd", + "/ ui", + "/u i", + ". %", + "t ri", + "tr i", + "Ġ rolled", + "Ġroll ed", + "Ġrol led", + "Value Pair", + "it ten", + "itt en", + "itte n", + "ĠT her", + "ĠThe r", + "ĠTh er", + "Ġv rou", + "Ġvr ou", + "Ġ Flow", + "ĠF low", + "ĠFl ow", + "ĠFlo w", + "Ġ Finance", + "ĠF inance", + "ĠFin ance", + "Ġ Comb", + "ĠC omb", + "ĠCom b", + "ĠCo mb", + "H C", + ". setVisible", + ".set Visible", + "i sl", + "is l", + "Ġ pk", + "Ġp k", + "7 73", + "77 3", + "Ġup set", + "Ġups et", + "( raw", + "(r aw", + "(ra w", + "ĠV ice", + "ĠVi ce", + "ĠVic e", + "e atures", + "ea tures", + "eature s", + "eat ures", + "Ġ Lang", + "ĠL ang", + "ĠLa ng", + "ĠLan g", + "0 29", + "02 9", + "Lo oking", + "Look ing", + "7 67", + "76 7", + "Ġ AST", + "ĠA ST", + "ĠAS T", + "Ġt rips", + "Ġtr ips", + "Ġtri ps", + "Ġtrip s", + "Ġ Justin", + "ĠJ ustin", + "ĠJust in", + "ĠJu stin", + "b rowser", + "browse r", + "=\" '.$", + "=\"' .$", + "=\"'. $", + ". vertices", + ".vert ices", + "8 21", + "82 1", + "- co", + "-c o", + "} /{", + "}/ {", + "Ġ ?,", + "Ġ? ,", + "Ġ Domin", + "ĠD omin", + "ĠDo min", + "ĠDom in", + "ĠBe lg", + "ĠBel g", + "\" <", + "Ġsup pose", + "Ġsupp ose", + "a ddy", + "ad dy", + "add y", + "Ġwalk s", + "Ġwal ks", + "6 88", + "68 8", + "ER RU", + "ERR U", + "_ filters", + "_f ilters", + "_filter s", + "_fil ters", + "_filt ers", + "Pre ferred", + "s cene", + "sc ene", + "е Ñģ", + "ĠAff airs", + "Ġ\" #{", + "Ġ\"# {", + "Ġon Submit", + "Ġ stocks", + "Ġst ocks", + "Ġstock s", + "Ġsto cks", + "/ view", + "/v iew", + "g ree", + "gr ee", + "gre e", + "- get", + "-g et", + "9 03", + "90 3", + "h it", + "hi t", + "J o", + ". getC", + ".get C", + "7 25", + "72 5", + "Init ialized", + "Initial ized", + "Initialize d", + "ÑĤ и", + "c uts", + "cut s", + "cu ts", + "( Type", + "(T ype", + "ĠAg reement", + "ĠAgree ment", + "ĠViet nam", + "Ġ /*!", + "Ġ/* !", + "Ġ pizza", + "Ġp izza", + "Ġpi zza", + "- view", + "-v iew", + "_ em", + "_e m", + "Ġ lhs", + "Ġl hs", + "Ġlh s", + "Ġm uy", + "Ġmu y", + "Ġ Ident", + "ĠI dent", + "ĠId ent", + "ĠIde nt", + "Ġ Friends", + "ĠF riends", + "ĠFriend s", + "ĠFri ends", + "0 61", + "06 1", + "Ġab und", + "_ AD", + "_A D", + ". timestamp", + ".t imestamp", + ".time stamp", + "- '", + "Ġ duplicate", + "Ġd uplicate", + "Ġdup licate", + "Ġduplic ate", + "Ġh unting", + "Ġhun ting", + "Ġhunt ing", + "Ġreg ulatory", + "Ġregul atory", + "Ġregulator y", + "i ao", + "ia o", + "am ous", + "amo us", + "ĠEnt ertainment", + "ĠEnter tainment", + "[ A", + "iat ric", + "_ CLIENT", + "_CL IENT", + "_CLI ENT", + "Ġ Kids", + "ĠK ids", + "ĠKi ds", + "ĠKid s", + "/ pkg", + "/p kg", + "B reak", + "Bre ak", + ") ));ĊĊ", + ")) );ĊĊ", + ")));Ċ Ċ", + "))) ;ĊĊ", + "))); ĊĊ", + "Ġ Shape", + "ĠS hape", + "ĠSh ape", + "ĠSha pe", + "Ġrel ating", + "Ġrelat ing", + "Int errupt", + "Inter rupt", + "able Opacity", + "em bre", + "emb re", + "embr e", + "Ġm ystery", + "Ġmy stery", + "Ġmys tery", + "Ġmyst ery", + "Ġmyster y", + "Ġjournal ists", + "Ġjournalist s", + "r itable", + "ri table", + "rit able", + "rita ble", + ". Link", + ".L ink", + "Ġst opping", + "Ġstop ping", + "Ġsto pping", + "C RET", + "CR ET", + "CRE T", + ". DB", + ".D B", + "Ġpop ularity", + "Ġpopular ity", + "Ġpopul arity", + "Ġ gew", + "Ġg ew", + "Ġge w", + "Ġi mpr", + "Ġim pr", + "Ġimp r", + "set Value", + "F LAG", + "FL AG", + "ĉ max", + "ĉm ax", + "Ġb ake", + "Ġba ke", + "Ġbak e", + "w y", + "ĠE conomic", + "ĠEcon omic", + "ĠEc onomic", + "ĠEconom ic", + "Ġen contr", + "Ġ fname", + "Ġf name", + "Ġfn ame", + "/ de", + "/d e", + "R ank", + "Ra nk", + "Ġ bugs", + "Ġb ugs", + "Ġbu gs", + "Ġbug s", + ". sm", + ".s m", + "Ġ median", + "Ġm edian", + "Ġmed ian", + "Ġmedia n", + "Ġmedi an", + "D OWN", + "DO WN", + "Ġ Sure", + "ĠS ure", + "ĠSur e", + "ĠSu re", + "At Index", + "Ġ Dick", + "ĠD ick", + "ĠDi ck", + "Ġ (__", + "Ġ( __", + "Ġ(_ _", + ". delta", + ".d elta", + ".del ta", + "F r", + "Ġsuggest ing", + "Ġ RecyclerView", + "ĠRec yclerView", + ", e", + "ST ART", + "STAR T", + "STA RT", + "/ ****************************************************************************", + "/************************************************************************ ****", + "/**************************************************************** ************", + "/******************************************************** ********************", + "/************************************************ ****************************", + "x ford", + "xf ord", + "Ġ receipt", + "Ġre ceipt", + "Ġrece ipt", + "CL AIM", + "CLA IM", + "read only", + "9 68", + "96 8", + "Ġeng aging", + "6 19", + "61 9", + "C a", + "as ma", + "asm a", + "Ġens uring", + "Eng lish", + "ĠV ancouver", + "h yth", + "hy th", + "Ġpurch asing", + "Ġ PI", + "ĠP I", + ". word", + ".w ord", + "( sp", + "(s p", + ". home", + ".h ome", + ".hom e", + ": def", + ":d ef", + "Ġg ig", + "Ġgi g", + "5 74", + "57 4", + "6 71", + "67 1", + "Ġ Ve", + "ĠV e", + "f orum", + "fo rum", + "for um", + "Ġ Mitch", + "ĠM itch", + "ĠMit ch", + "B ay", + "Ba y", + "_ FL", + "_F L", + "6 51", + "65 1", + "Ġs oll", + "Ġso ll", + "Ġsol l", + "5 77", + "57 7", + "_ columns", + "_column s", + "Ġminor ity", + "b ird", + "bi rd", + "bir d", + "Ġh anded", + "Ġhand ed", + "Ġhan ded", + "S SL", + "SS L", + "ST AT", + "STA T", + "Ġnerv ous", + "Ġner vous", + "ĥ ½", + "Ġ filePath", + "Ġfile Path", + "C REATE", + "CRE ATE", + "A w", + "Ġp ens", + "Ġpe ns", + "Ġpen s", + "8 35", + "83 5", + "s eed", + "se ed", + "see d", + "Ġ Compute", + "ĠCom pute", + "ĠComp ute", + "ĠComput e", + "o lk", + "ol k", + "5 94", + "59 4", + "Ġ Asset", + "ĠAs set", + "ĠAss et", + "r each", + "re ach", + "rea ch", + "' ),čĊ", + "') ,čĊ", + "'), čĊ", + "n avigation", + "nav igation", + "L F", + "/ util", + "/u til", + "Ġ Pub", + "ĠP ub", + "ĠPu b", + "Ġ âĶ", + "Ġâ Ķ", + "c ion", + "ci on", + "cio n", + "# #Ċ", + "## Ċ", + "0 72", + "07 2", + "I II", + "II I", + "Tag Name", + "Ġa mid", + "Ġam id", + "Ġami d", + "per mission", + "perm ission", + "if iable", + "ifi able", + "x FFFFFFFF", + "xFF FFFFFF", + "xFFFF FFFF", + "xFFFFFF FF", + "н и", + ". Buffer", + ".B uffer", + "_ irq", + "_i rq", + "_ir q", + "d ark", + "da rk", + "dar k", + "Ġ retval", + "Ġret val", + ". fire", + ".f ire", + ".fi re", + "p roduction", + "pro duction", + "product ion", + "produ ction", + "prod uction", + ". listen", + ".l isten", + ".list en", + ".li sten", + "Ġ Weather", + "ĠWe ather", + "Ġbu yers", + "Ġbuy ers", + "Ġbuyer s", + ". ne", + ".n e", + "e rp", + "er p", + "ĠP ent", + "ĠPe nt", + "ĠPen t", + "6 99", + "69 9", + "Ġw elfare", + "Ġwel fare", + "Ġ pageSize", + "Ġpage Size", + "ĠSt adium", + "ĠStad ium", + "er ta", + "ert a", + "Ġ lev", + "Ġl ev", + "Ġle v", + "am pa", + "amp a", + "P ager", + "Page r", + "Pa ger", + "Pag er", + "6 65", + "66 5", + "Ġ charging", + "Ġch arging", + "Ġchar ging", + "Ġcharg ing", + "Ġ Netflix", + "ĠNet flix", + "| null", + "_ random", + "_r andom", + "_rand om", + ". xpath", + ".x path", + "Ġs tere", + "Ġst ere", + "Ġste re", + "Ġster e", + "Ġ ISIS", + "ĠIS IS", + "ĠISI S", + "pon ses", + "ponse s", + "pons es", + "( loc", + "(l oc", + "(lo c", + "5 66", + "56 6", + "ey ond", + "Ġ Official", + "ĠOff icial", + "6 57", + "65 7", + "ĠMary land", + "Data Type", + "_ par", + "_p ar", + "_pa r", + "{ },", + "{} ,", + "Ġ Enjoy", + "ĠEn joy", + "7 27", + "72 7", + "_ SHIFT", + "_SH IFT", + "ĠA wards", + "ĠAward s", + "ĠAw ards", + "_ ENTRY", + "_EN TRY", + "_ENT RY", + "Ġseem ingly", + "Ġseeming ly", + "ent icate", + "entic ate", + "enti cate", + "Ġhe arts", + "Ġheart s", + "Ġhear ts", + "5 83", + "58 3", + "_ ;ĊĊ", + "_;Ċ Ċ", + "_; ĊĊ", + "ĠH IV", + "ĠHI V", + "Ġin divid", + "Ġind ivid", + "Ġindiv id", + "Ġ Flag", + "ĠF lag", + "ĠFl ag", + "ĠFla g", + "_ ctrl", + "_c trl", + "_ct rl", + "_ctr l", + "Ġ Callback", + "ĠC allback", + "ĠCall back", + ", z", + "Ġ GPU", + "ĠG PU", + "ĠGP U", + "ĉ obj", + "ĉo bj", + "ĉob j", + "Ġ Phoenix", + "ĠPh oenix", + "Ġ BUS", + "ĠB US", + "ĠBU S", + "9 07", + "90 7", + "Ġr ubber", + "Ġrub ber", + "_ AUTH", + "_A UTH", + "_AUT H", + "ĠS olutions", + "ĠSol utions", + "ĠSolution s", + "( location", + "(l ocation", + "(loc ation", + "(lo cation", + "Variable s", + "Vari ables", + ". setEnabled", + ".set Enabled", + "_ high", + "_h igh", + "_hi gh", + "W O", + "G esture", + "Ġ retry", + "Ġre try", + "Ġr etry", + "Ġret ry", + "Ġretr y", + "Ġobject ForKey", + "allow een", + "allo ween", + "Ġ mos", + "Ġm os", + "Ġmo s", + "Ġ Cele", + "ĠC ele", + "ĠCe le", + "ĠCel e", + "Ġi kke", + "Ġik ke", + "( cell", + "(c ell", + "Ġ MODE", + "ĠM ODE", + "ĠMO DE", + "ĠMOD E", + "r ena", + "re na", + "ren a", + "Ġdes cribing", + "Ġdescri bing", + "6 41", + "64 1", + "Ġ phi", + "Ġp hi", + "Ġph i", + "Ġ rd", + "Ġr d", + "Ġde serve", + "Ġdes erve", + "Ġdese rve", + "Ġdeser ve", + "Ġw heels", + "Ġwheel s", + "Ġwhe els", + "å¸ Ĥ", + "Ġcr itics", + "Ġcrit ics", + "Ġcritic s", + "Ġcri tics", + "7 55", + "75 5", + "N amespace", + "Name space", + "Names pace", + "Ġ Fra", + "ĠF ra", + "ĠFr a", + "Ġ ĊĊĊĊ", + "ĠĊ ĊĊĊ", + "ĠĊĊ ĊĊ", + "ĠĊĊĊ Ċ", + "Ġ alla", + "Ġa lla", + "Ġal la", + "Ġall a", + "Ġre quiring", + "Ġrequ iring", + "æľ Ł", + "ut ation", + "uta tion", + "Ġdel ayed", + "Ġdelay ed", + "Ġadministr ative", + "Ġ bay", + "Ġb ay", + "Ġba y", + ". hidden", + ".h idden", + "T ex", + "Te x", + "0 51", + "05 1", + "Ġbound aries", + "Ġ ]);ĊĊ", + "Ġ] );ĊĊ", + "Ġ]);Ċ Ċ", + "Ġ]) ;ĊĊ", + "Ġ]); ĊĊ", + "Ġ Following", + "ĠFollow ing", + "~ /", + "F i", + "_ conv", + "_con v", + "_co nv", + "_ TITLE", + "_T ITLE", + "Ġdes de", + "I CollectionView", + "ICollection View", + "A lias", + "Al ias", + "Ali as", + "Ġ bite", + "Ġb ite", + "Ġbit e", + "Ġbi te", + "p atient", + "pat ient", + "_ COMMAND", + "_COM MAND", + "_COMM AND", + "Com pleted", + "Complete d", + "Comp leted", + "Comple ted", + "ĉ elif", + "ĉe lif", + "ĉel if", + "( <", + "B usiness", + "Bus iness", + "Ġ Pool", + "ĠP ool", + "ĠPo ol", + "Ġpurs ue", + "Ġ Ban", + "ĠB an", + "ĠBa n", + "_ steps", + "_st eps", + "_step s", + "_ste ps", + "_ DECL", + "_DE CL", + "_DEC L", + "um ble", + "umb le", + "Ġ combo", + "Ġc ombo", + "Ġcom bo", + "Ġcomb o", + "Ġ Layer", + "ĠL ayer", + "ĠLa yer", + "ĠLay er", + ". xr", + ".x r", + "Ġ dup", + "Ġd up", + "Ġdu p", + "- --------", + "-- -------", + "---- -----", + "-------- -", + "--- ------", + "----- ----", + "------ ---", + "------- --", + "6 28", + "62 8", + "Ġ modifier", + "Ġmod ifier", + "r ob", + "ro b", + "r ez", + "re z", + "6 96", + "69 6", + "Ġath letes", + "Ġathlete s", + "U sed", + "Us ed", + "Use d", + "w ear", + "we ar", + "8 15", + "81 5", + "Ġleg itimate", + "Ġlegit imate", + "Ġlegitim ate", + "Ġ \"ĊĊ", + "Ġ\" ĊĊ", + "Ġ\"Ċ Ċ", + "Ġ hv", + "Ġh v", + "S td", + "St d", + "0 37", + "03 7", + "Ġ Hold", + "ĠH old", + "ĠHol d", + "ĠHo ld", + "Ġsurv iv", + "ĠAll iance", + "Ġ Early", + "ĠEar ly", + "ĠEarl y", + "7 78", + "77 8", + "Beh avior", + "( font", + "(f ont", + "/ libs", + "/lib s", + "/l ibs", + "/li bs", + "Ġ rectangle", + "Ġrect angle", + "Ġs inger", + "Ġsi nger", + "Ġsin ger", + "Ġsing er", + "Ġ amp", + "Ġa mp", + "Ġam p", + "Equal To", + "Ġ \".\"", + "Ġ\" .\"", + "Ġ\". \"", + "Ġgirl friend", + "å ±", + "l inear", + "li near", + "line ar", + "lin ear", + "o bserv", + "ob serv", + "obs erv", + "Ġpi ù", + "Ġcom plement", + "Ġcomp lement", + "Ġcomple ment", + "Ġcompl ement", + "With Value", + "( password", + "(p assword", + "(pass word", + "t ake", + "ta ke", + "tak e", + "Bl ank", + "Ġ Compar", + "ĠCom par", + "ĠCo mpar", + "ĠComp ar", + "' \",", + "'\" ,", + "_ policy", + "_p olicy", + "_pol icy", + "m ongoose", + "mongo ose", + "mong oose", + "_ FAILED", + "_FAIL ED", + "_FA ILED", + ". report", + ".re port", + ".repo rt", + ".rep ort", + "R atio", + ".Perform Layout", + "7 47", + "74 7", + "us able", + "usa ble", + "m ers", + "mer s", + "me rs", + "_ render", + "_re nder", + "_r ender", + "PE ED", + "7 72", + "77 2", + "Ġle sb", + "Ġles b", + "ĉ E", + "_ tool", + "_t ool", + "_to ol", + "Ġl adies", + "Ġlad ies", + "9 08", + "90 8", + "о Ñģ", + ") )))Ċ", + ")) ))Ċ", + "))) )Ċ", + ")))) Ċ", + "; ;;;", + ";; ;;", + ";;; ;", + ". dot", + ".d ot", + ".do t", + "Ġ nest", + "Ġn est", + "Ġne st", + "Ġnes t", + "pe ak", + "uk kit", + "e ca", + "ec a", + "_ SW", + "_S W", + "Ġ &(", + "Ġ& (", + "ĠOk lahoma", + "Ġb anking", + "Ġbank ing", + "Ġban king", + "5 69", + "56 9", + "Ġ Nintendo", + "ĠN intendo", + "7 52", + "75 2", + "Ġre produce", + "Ġrep roduce", + "Ġreprodu ce", + "Ġrepro duce", + "_ elements", + "_e lements", + "_element s", + "_el ements", + "_elem ents", + "_ele ments", + "_ mac", + "_m ac", + "_ma c", + "pr oxy", + "pro xy", + "prox y", + "Ġremark able", + "} /${", + "}/ ${", + "Ġ outs", + "Ġo uts", + "Ġout s", + "Ġou ts", + ".has Next", + "M ODE", + "MO DE", + "MOD E", + "6 58", + "65 8", + "Ġ anime", + "Ġan ime", + "Ġanim e", + "Ġani me", + ". conn", + ".c onn", + ".con n", + ".co nn", + "Un ique", + "Uni que", + "D om", + "Do m", + "Ġimport antly", + "Ġimportant ly", + "i tty", + "it ty", + "itt y", + "Ġju ice", + "T w", + "ĠPart ners", + "ĠPartner s", + "Ġatt acking", + "Ġattack ing", + "Ġport able", + "Ġpor table", + "Ġporta ble", + "am iento", + "ami ento", + "amient o", + ". PictureBox", + ".P ictureBox", + ". gen", + ".g en", + ".ge n", + "Ġopt imal", + "Ġoptim al", + "5 82", + "58 2", + "Ġre cre", + "Ġrec re", + "Ġjournal ist", + "Ġ Extract", + "ĠEx tract", + "ĠExt ract", + "ĠExtra ct", + "ĠExtr act", + "Ġ Moreover", + "ĠMore over", + "Ġ marginTop", + "Ġmargin Top", + ". Ap", + ".A p", + "Ġf iring", + "Ġfi ring", + "Ġfir ing", + "N aN", + "Na N", + "ĉ template", + "ĉt emplate", + "ĉtemp late", + "а д", + "аР´", + ". En", + ".E n", + "Ġdef ence", + "Ġdefe nce", + "Ġ Tel", + "ĠT el", + "ĠTe l", + "i len", + "il en", + "ile n", + "j an", + "ja n", + "= data", + "=d ata", + "Ġ Url", + "ĠU rl", + "ĠUr l", + "Ġ Reuters", + "ĠRe uters", + "( total", + "(t otal", + "(to tal", + "ĠF ifth", + "ĠFif th", + "Ġes says", + "Ġess ays", + "Ġessay s", + "Ġessa ys", + "Ġinterpret ation", + "Ġch arity", + "Ġchar ity", + "Ġ Rules", + "ĠR ules", + "ĠRule s", + "ĠRu les", + "Ġ subsection", + "Ġsub section", + "Ġsubs ection", + "st yled", + "style d", + "sty led", + "styl ed", + "a zer", + "az er", + "aze r", + "l ags", + "la gs", + "lag s", + "L IST", + "LI ST", + "Ġ uploaded", + "Ġup loaded", + "Ġupload ed", + "Ġ trash", + "Ġtr ash", + "Ġtra sh", + "Ġtras h", + "Ġ registr", + "Ġreg istr", + "Ġregist r", + "Ġ seller", + "Ġs eller", + "Ġse ller", + "Ġsell er", + "Ġsel ler", + "> ';čĊ", + ">' ;čĊ", + ">'; čĊ", + "Ġ startTime", + "Ġstart Time", + "ç Ļ", + "s y", + "( HttpServletRequest", + "(Http ServletRequest", + "Ġ trap", + "Ġt rap", + "Ġtr ap", + "Ġtra p", + "G C", + "Ġ embedded", + "Ġembed ded", + "Ġsur rounded", + "Ġsurround ed", + "8 16", + "81 6", + "i mits", + "im its", + "imit s", + "imi ts", + "T X", + "yl inder", + "6 85", + "68 5", + "Ġ Fal", + "ĠF al", + "ĠFa l", + "Ġsent ences", + "Ġsentence s", + "Ġ Ja", + "ĠJ a", + "IF ICATION", + "IFIC ATION", + "we apon", + "o vation", + "ov ation", + "ova tion", + "ovat ion", + "Ġ coat", + "Ġco at", + "Ġinter pol", + "Ġinterp ol", + "Ġl ips", + "Ġli ps", + "Ġlip s", + "Ġ Ky", + "ĠK y", + "Ġv ectors", + "Ġvector s", + "Ġve ctors", + "Ġvec tors", + "Ġvect ors", + "_ am", + "_a m", + "Ġin take", + "Ġint ake", + ". world", + ".w orld", + "Ġ inbox", + "Ġin box", + "Ġ MAC", + "ĠM AC", + "ĠMA C", + "_ ab", + "_a b", + "( nameof", + "(name of", + "6 33", + "63 3", + "Ġent ert", + "Ġenter t", + "Ġg athering", + "Ġgather ing", + "Ġ SIM", + "ĠS IM", + "ĠSI M", + "+ +.", + "++ .", + "n ya", + "ny a", + "' }}", + "'} }", + "Ġ UPDATE", + "ĠUP DATE", + "Ġ pac", + "Ġp ac", + "Ġpa c", + "( html", + "(h tml", + "(ht ml", + "ĠS ant", + "ĠSan t", + "ĠSa nt", + "i ating", + "ia ting", + "iat ing", + "ĠIde as", + "ĠIdea s", + "Ġs pray", + "Ġsp ray", + "Ġspr ay", + "ĠH art", + "ĠHar t", + "ĠHa rt", + "Ġ verification", + "Ġver ification", + "Ġverifica tion", + "ad esh", + "ade sh", + "ades h", + "/ modules", + "/mod ules", + "/module s", + "Ġ Mind", + "ĠM ind", + "ĠMin d", + "ĠMi nd", + "ĠSized Box", + "Ġsh elter", + "Ġshel ter", + "Ġ heroes", + "Ġher oes", + "Ġhero es", + "a tty", + "at ty", + "att y", + "Ġcert ified", + "Ġcertif ied", + "s j", + "Ġ être", + "Ġê tre", + "ÅĤ o", + "Ġpublish ing", + "ĠMal ays", + "ĠMa lays", + "ĠMalay s", + ". getUser", + ".get User", + "Ġ Provider", + "ĠPro vider", + "ĠProvid er", + "ĠProvide r", + "ĠProv ider", + "Ġ LinkedList", + "ĠLink edList", + "ĠLinked List", + "ĠB or", + "ĠBo r", + "R OUND", + "RO UND", + "d id", + "di d", + "t ain", + "ta in", + "p ire", + "pi re", + "pir e", + "ĠJ enn", + "ĠJe nn", + "ĠJen n", + "t el", + "te l", + "a nde", + "an de", + "and e", + "7 57", + "75 7", + "_ front", + "_f ront", + "_fr ont", + "ĠMc G", + "Test Method", + "ภŃ", + "Ġocc asionally", + "Ġoccasion ally", + "Ġoccasional ly", + "ĠW ales", + "ĠWal es", + "ĠWa les", + "Ġex ercises", + "Ġexerc ises", + "Ġexercise s", + "Ġ ÐĴ", + "ĠÐ Ĵ", + "0 45", + "04 5", + "- plus", + "-p lus", + "-pl us", + "Ġ validator", + "Ġvalid ator", + "Ġvalida tor", + "Ġpr ayer", + "Ġpray er", + "Ġpra yer", + "L ATED", + "LA TED", + "LAT ED", + "_ author", + "_a uthor", + "_auth or", + "_aut hor", + "Ġla bour", + "Ġlab our", + "+ +Ċ", + "++ Ċ", + "- equiv", + "-e quiv", + "-equ iv", + "Ġ GPL", + "ĠG PL", + "ĠGP L", + "Ġ facebook", + "Ġf acebook", + "Ġface book", + "s imple", + "sim ple", + "simp le", + "g ly", + "gl y", + "Process or", + "Proc essor", + "i py", + "ip y", + "7 44", + "74 4", + "Ġ *>", + "Ġ* >", + "6 48", + "64 8", + "Ġc leared", + "Ġclear ed", + "Ġcle ared", + "Ġ Push", + "ĠP ush", + "ĠPu sh", + "8 58", + "85 8", + "Ġp enis", + "Ġpe nis", + "Ġpen is", + "Struct ure", + "l ij", + "li j", + "ĠM organ", + "ĠMo rgan", + "ĠMor gan", + "ĠMorg an", + "Ġhand ful", + "\" .Ċ", + "\". Ċ", + "9 84", + "98 4", + "| \\", + "Ġ ********************************", + "Ġ**** ****************************", + "Ġ******** ************************", + "Ġ**************** ****************", + "Ġ************************ ********", + "Ġ Aqu", + "ĠA qu", + "5 84", + "58 4", + "_ IC", + "_I C", + ". loads", + ".load s", + ".lo ads", + "Ġ meter", + "Ġm eter", + "Ġme ter", + "Ġmet er", + "ĠM arine", + "ĠMar ine", + "ĠMa rine", + "ĠMari ne", + "ĠMarin e", + ": :{", + ":: {", + "Ġ TS", + "ĠT S", + "7 76", + "77 6", + "Ġ Arrays", + "ĠAr rays", + "ĠArray s", + "ĠArr ays", + ". Title", + ".T itle", + "G RAM", + "GR AM", + "GRA M", + "ter min", + "term in", + "Ġco inc", + "Ġcoin c", + "Ġcoi nc", + "E lse", + "El se", + "_ states", + "_st ates", + "_state s", + "_stat es", + "_sta tes", + "- run", + "-r un", + "m embers", + "member s", + "mem bers", + "7 82", + "78 2", + "a stro", + "as tro", + "ast ro", + "astr o", + "0 66", + "06 6", + "Ġon Press", + "Ġbe ings", + "Ġbeing s", + "Ġab andoned", + "Ġabandon ed", + "Ġtax p", + "Ġta xp", + "ow ners", + "own ers", + "owner s", + ". mode", + ".m ode", + ".mod e", + ".mo de", + "Ġdi agnosis", + "Ġdiagn osis", + "Ġdiag nosis", + "Ġ _Ċ", + "Ġ_ Ċ", + "Ġ Knight", + "ĠK night", + "ĠKn ight", + "ĉ A", + "Ġ observe", + "Ġob serve", + "Ġobs erve", + "Ġobserv e", + ") ,'", + "), '", + "8 23", + "82 3", + "! \")Ċ", + "!\" )Ċ", + "!\") Ċ", + "Ġ Para", + "ĠP ara", + "ĠPar a", + "ĠPa ra", + "Ġ variation", + "Ġvar iation", + "Ġvari ation", + "( False", + "(F alse", + "Ġ Anti", + "ĠAn ti", + "ĠAnt i", + "Ġg ri", + "Ġgr i", + "Ġhome less", + "Ġhom eless", + "? v", + "Ġb ez", + "Ġbe z", + ". Server", + ".S erver", + ".Serve r", + "r elease", + "re lease", + "rel ease", + "ĠP atri", + "ĠPat ri", + "ĠPa tri", + "Ġ chars", + "Ġch ars", + "Ġchar s", + "Ġcha rs", + "Ġ ranking", + "Ġr anking", + "Ġrank ing", + "Ġran king", + "act ivation", + "activ ation", + "5 81", + "58 1", + "Ġw ides", + "Ġwide s", + "Ġwid es", + "Ġwi des", + "q r", + ". Sql", + ".S ql", + "a cular", + "ac ular", + "acula r", + "Ġ Bot", + "ĠB ot", + "ĠBo t", + "_ sync", + "_s ync", + "_syn c", + "_sy nc", + "Ġh appiness", + "Ġhapp iness", + "Ġvol unteers", + "Ġvolunte ers", + "Ġvolunteer s", + "8 77", + "87 7", + "Ġs its", + "Ġsit s", + "Ġsi ts", + "/ <", + "[ e", + "( fileName", + "(file Name", + "Ġcap ac", + "Ġca pac", + "8 32", + "83 2", + "Ġ Maria", + "ĠM aria", + "ĠMar ia", + "ĠMa ria", + "ĠMari a", + "f ather", + "fa ther", + "fat her", + "Ġ gram", + "Ġg ram", + "Ġgr am", + "Ġgra m", + "* i", + "Ġc aso", + "Ġca so", + "Ġcas o", + "_ draw", + "_d raw", + "_dr aw", + "Ġ Raw", + "ĠR aw", + "ĠRa w", + "Ġ Iterator", + "ĠIt erator", + "ĠIter ator", + "6 64", + "66 4", + "Ġ Padding", + "ĠP adding", + "ĠPad ding", + "9 24", + "92 4", + "P D", + "B OX", + "BO X", + "ĠS PECIAL", + "ĠSPEC IAL", + "Ġ fecha", + "Ġf echa", + "Ġfe cha", + "Ġfec ha", + "Ġ vide", + "Ġv ide", + "Ġvi de", + "Ġvid e", + "Ġ Leader", + "ĠLe ader", + "ĠLead er", + "ä» ¥", + "$ (\".", + "$( \".", + "$(\" .", + "Ġd iameter", + "Ġdiam eter", + "Ġdia meter", + "Ġm ild", + "Ġmil d", + "Ġmi ld", + "7 45", + "74 5", + "Ġr ocks", + "Ġro cks", + "Ġrock s", + "Ġroc ks", + "app ings", + "apping s", + "0 48", + "04 8", + "d irectory", + "direct ory", + "director y", + "5 57", + "55 7", + ". flush", + ".f lush", + ".fl ush", + "Ġ Jess", + "ĠJ ess", + "ĠJes s", + "ĠJe ss", + "UN IT", + "Ġ Pear", + "ĠP ear", + "ĠPe ar", + "Ġ mandatory", + "Ġm andatory", + "Ġmand atory", + "S ur", + "Su r", + "q t", + "Ġ streams", + "Ġstream s", + "Ġstre ams", + "Ġco operation", + "Ġcooper ation", + "Ġcoop eration", + "Ġ Sac", + "ĠS ac", + "ĠSa c", + "Ġche aper", + "Ġcheap er", + "ĉ ch", + "ĉc h", + "an imation", + "anim ation", + "f are", + "fa re", + "far e", + "( height", + "(h eight", + "( True", + "N Y", + "Ġw rest", + "Ġwr est", + "Ġwre st", + "Ġp olls", + "Ġpol ls", + "Ġpoll s", + "Ġencounter ed", + "Ġencount ered", + "ĠMark etable", + "ĠMarket able", + "_ PASSWORD", + "_P ASSWORD", + "_PASS WORD", + "7 16", + "71 6", + "_ SELECT", + "_SE LECT", + "_SEL ECT", + "ĠArab ia", + "ĠAra bia", + "_ clock", + "_c lock", + "_cl ock", + "Ġ voy", + "Ġv oy", + "Ġvo y", + "Ġ из", + "Ġи з", + "Ġs tir", + "Ġst ir", + "is ible", + "isi ble", + "- effect", + "-e ffect", + "-eff ect", + ". created", + ".c reated", + ".create d", + ".cr eated", + "Ġto ys", + "Ġtoy s", + "ĠTrad able", + "Ġ rust", + "Ġr ust", + "Ġru st", + "Ġrus t", + "Ġ strcpy", + "Ġstr cpy", + "_ timestamp", + "_t imestamp", + "_time stamp", + "Ġtal ented", + "Ġtalent ed", + ", null", + ",n ull", + "Ġ Jobs", + "ĠJ obs", + "ĠJo bs", + "ĠJob s", + "Ġ Portland", + "ĠPort land", + "Ġweak ness", + "Th row", + "Thr ow", + "Ġ Angel", + "ĠAn gel", + "ĠAng el", + "ĠAnge l", + "ä¿ ®", + "7 54", + "75 4", + "Ġun cert", + "Ġunc ert", + "ï¼ī Ċ", + "Ġ ìĿ´", + "ĠìĿ ´", + "Wh ich", + "Ġ[- ]:", + "S omething", + "Some thing", + "Som ething", + "Ġconv icted", + "Ġconvict ed", + "k le", + "kl e", + "ed ium", + "edi um", + "Ġ branches", + "Ġbr anches", + "Ġbranch es", + "Ġbran ches", + "Ġ bases", + "Ġb ases", + "Ġbase s", + "Ġbas es", + "Ġba ses", + "ç ®", + "Ġcomplex ity", + "Ġ Fig", + "ĠF ig", + "ĠFi g", + ". reshape", + ".re shape", + ".res hape", + "$ db", + "$d b", + "7 36", + "73 6", + "_ CONST", + "_CON ST", + "_CO NST", + "Ġ Tes", + "ĠT es", + "ĠTe s", + ". runtime", + ".r untime", + ".run time", + "Ġ deny", + "Ġd eny", + "Ġde ny", + "Ġden y", + "Ġ BSD", + "ĠB SD", + "ĠBS D", + "Ġ kr", + "Ġk r", + "h att", + "ha tt", + "hat t", + "Ġ Static", + "ĠSt atic", + "ĠStat ic", + "ĠSta tic", + "Ġunivers ities", + "Re place", + "Rep lace", + "Ġd rove", + "Ġdr ove", + "Ġdro ve", + "Ġad oles", + "Ġado les", + "_ plugin", + "_pl ugin", + "ĠL GBT", + "ĠLG BT", + "Ġ tex", + "Ġt ex", + "Ġte x", + "d uction", + "du ction", + "duct ion", + "duc tion", + "7 51", + "75 1", + "7 99", + "79 9", + "E DI", + "ED I", + "Ġ Ted", + "ĠT ed", + "ĠTe d", + "_ URI", + "_U RI", + "Ġre ception", + "Ġrece ption", + "Ġrecept ion", + "Ġrecep tion", + "ar ten", + "art en", + "arte n", + ". Single", + ".S ingle", + ".Sin gle", + "r ice", + "ri ce", + "ric e", + "sc ious", + "sci ous", + "8 43", + "84 3", + "_ bg", + "_b g", + "Ġw ages", + "Ġwa ges", + "Ġwage s", + "Ġwag es", + "Ġ Servlet", + "ĠS ervlet", + "ĠServ let", + "UI Layout", + "UIL ayout", + "Ġ formatted", + "Ġform atted", + "Ġformat ted", + ". Mod", + ".M od", + "< class", + " ',Ċ", + ">' ,Ċ", + ">', Ċ", + "Ġexp anding", + "Ġexpand ing", + "Ġ Hamilton", + "ĠHam ilton", + "Ġ Contrib", + "ĠCon trib", + "ĠCont rib", + "ĠContr ib", + ". Tables", + ".T ables", + ".Tab les", + ".Table s", + "7 28", + "72 8", + "Act iv", + "Ac tiv", + "H H", + "o commerce", + "ocom merce", + "_ ;", + "Ġamong st", + "o wing", + "ow ing", + "owi ng", + "8 59", + "85 9", + "Ġ Cold", + "ĠC old", + "ĠCo ld", + "ĠCol d", + "A PH", + "AP H", + "Ġpsych ological", + "Ġpsycho logical", + "_ tensor", + "_t ensor", + "Ġpack aging", + "Ġ Sweden", + "ĠSw eden", + "ĠSwe den", + "Ġ pare", + "Ġp are", + "Ġpar e", + "Ġpa re", + "Ġ aggregate", + "Ġag gregate", + "Ġaggreg ate", + "Ġmod erate", + "Ġmode rate", + "Ġmoder ate", + "8 62", + "86 2", + "_ hand", + "_h and", + "Ġdesign ated", + "Ġdesignate d", + "Ġd rum", + "Ġdr um", + "Ġdru m", + "Ġ getUser", + "Ġget User", + "ĠC reek", + "ĠCre ek", + "ĠCree k", + "_ scope", + "_s cope", + "_sc ope", + "Ġ Transfer", + "ĠTrans fer", + "Ġ Marg", + "ĠM arg", + "ĠMar g", + "ĠMa rg", + "Ġ fighters", + "Ġfight ers", + "Ġfighter s", + "W nd", + "Ġ Sel", + "ĠS el", + "ĠSe l", + "Ġ Launch", + "ĠL aunch", + "ĠLa unch", + "Ġem erging", + "Ġemerg ing", + "i frame", + "if rame", + "ifr ame", + "Ġ Additional", + "ĠAdd itional", + "ĠAddition al", + "Ġf ears", + "Ġfe ars", + "Ġfear s", + "Ġsat ellite", + "_ :", + "Ġ disposing", + "Ġdis posing", + "Ġdisp osing", + "Ġdispos ing", + "Get Value", + "Http Post", + "AT IVE", + "ul ary", + "ular y", + "ula ry", + "View s", + "Vi ews", + "Ġatt ending", + "Ġattend ing", + "ĠT ennessee", + "Ġ Mission", + "ĠM ission", + "ĠMiss ion", + "Ġmed ication", + "Ġmedic ation", + "Ġmedi cation", + "Ġ Wy", + "ĠW y", + "Ġ Anna", + "ĠAn na", + "ĠAnn a", + "Ø ¹", + "Ġ Vertex", + "ĠVer tex", + "ĠVert ex", + ". types", + ".t ypes", + ".type s", + ".typ es", + "O rgan", + "Or gan", + "Org an", + ". DataGridViewTextBoxColumn", + ".DataGridView TextBoxColumn", + "Ġ RS", + "ĠR S", + "Ġt empo", + "Ġtem po", + "Ġtemp o", + "( App", + "(A pp", + "8 92", + "89 2", + "Version UID", + ". point", + ".p oint", + ".po int", + ".poi nt", + "ĠD utch", + "ĠDut ch", + "H ours", + "Hour s", + "Ho urs", + "L U", + "Ġ quoted", + "Ġqu oted", + "Ġquote d", + "Ġquot ed", + "Ġquo ted", + ". builder", + ".b uilder", + ".build er", + "Ġ Perfect", + "ĠPer fect", + "ĠPerf ect", + "Ġ Always", + "ĠAl ways", + "_ two", + "_t wo", + "_tw o", + "Ġexclusive ly", + "Ġexclus ively", + "ĠC ra", + "ĠCr a", + "ific ar", + "ifi car", + "ifica r", + "Ġ AWS", + "ĠA WS", + "ĠAW S", + "ing ham", + "com plex", + "comp lex", + "k ernel", + "ker nel", + "Ġ gravity", + "Ġgr avity", + "Ġgrav ity", + "Ġ wi", + "Ġw i", + "0 52", + "05 2", + "Ġ overview", + "Ġover view", + "Ġov erview", + "6 61", + "66 1", + "Ġ Want", + "ĠW ant", + "ĠWa nt", + "ĠWan t", + "Ġ WP", + "ĠW P", + "( sh", + "(s h", + ". rotation", + ".r otation", + ".rot ation", + "St ates", + "State s", + "Stat es", + "Ġ Teen", + "ĠT een", + "ĠTe en", + "ĠTee n", + "_ components", + "_com ponents", + "_comp onents", + "_component s", + "ì Īĺ", + "ìĪ ĺ", + "Re ceived", + "Receive d", + "Ġly rics", + "Ġlyric s", + "Ġlyr ics", + "r ites", + "ri tes", + "rit es", + "rite s", + "ĉ ĉĉĉĉĠ", + "ĉĉ ĉĉĉĠ", + "ĉĉĉĉ ĉĠ", + "ĉĉĉ ĉĉĠ", + "ĉĉĉĉĉ Ġ", + "- American", + "-A merican", + "-Americ an", + "[ num", + "[n um", + "/ python", + "/p ython", + "/py thon", + "Ġ UART", + "ĠU ART", + "ĠUA RT", + "Ġ apple", + "Ġapp le", + "Ġap ple", + "Ġappl e", + "Ġ Jonathan", + "ĠJon athan", + "Ġm omentum", + "Ġmoment um", + "ภ±", + "Ĥ ¹", + "Ġm ich", + "Ġmi ch", + "Ġmic h", + "an dra", + "and ra", + "andr a", + "Ġb iological", + "Ġbi ological", + "Ġbio logical", + "ĠM ens", + "ĠMe ns", + "ĠMen s", + "Ġ %%", + "Ġ% %", + "el sea", + "else a", + "els ea", + "ĠMex ican", + ".rand int", + "Ġt ale", + "Ġtal e", + "Ġta le", + "Ġ Validate", + "ĠValid ate", + "Ġdef eated", + "Ġdefe ated", + "Ġdefeat ed", + ". htm", + ".h tm", + ".ht m", + "Ġc opper", + "Ġco pper", + "Ġcop per", + "Ġcopp er", + "= /", + "co system", + "cos ystem", + "Ġ rip", + "Ġr ip", + "Ġri p", + "d ecimal", + "de cimal", + "dec imal", + ". VISIBLE", + ".V ISIBLE", + "Ġ Ta", + "ĠT a", + "ĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉ", + "Ġdown loaded", + "Ġdownload ed", + "en vironment", + "Ġno mine", + "Ġnom ine", + "Ġnomin e", + "build ing", + "Ġ Spot", + "ĠS pot", + "ĠSp ot", + "ĠSpo t", + "ipher al", + "iph eral", + "Ġ alto", + "Ġal to", + "Ġalt o", + "q uet", + "qu et", + "que t", + "Ġ FT", + "ĠF T", + "/ get", + "/g et", + "/ge t", + "/ master", + "/m aster", + "W IN", + "WI N", + "åħ ĥ", + "6 76", + "67 6", + "W est", + "We st", + "ar gc", + "arg c", + "Ġpro ducers", + "Ġprodu cers", + "Ġproduce rs", + "Ġproducer s", + "Ġ Much", + "ĠM uch", + "ĠMu ch", + "_ storage", + "_st orage", + "c redit", + "cre dit", + "cr edit", + "cred it", + "C ONT", + "CON T", + "CO NT", + "Ġ vet", + "Ġv et", + "Ġve t", + "Ġ voices", + "Ġvo ices", + "Ġvoice s", + "Ġvoi ces", + "( '',", + "(' ',", + "Ġin struments", + "Ġinstr uments", + "Ġinstrument s", + "6 62", + "66 2", + "Ġ MSG", + "ĠM SG", + "ĠMS G", + "e sse", + "es se", + "ess e", + "re pository", + "repos itory", + "om ics", + "omic s", + "omi cs", + "Ġ dealer", + "Ġde aler", + "Ġdeal er", + "St ill", + "Ġ banner", + "Ġb anner", + "Ġban ner", + "asc ii", + "Ġ remarks", + "Ġre marks", + "Ġr emarks", + "Ġrem arks", + "Ġremark s", + "Ġremar ks", + "[ js", + "[j s", + "Ġshort er", + "g ulp", + "gu lp", + "Ġm yster", + "Ġmy ster", + "Ġmys ter", + "Ġmyst er", + "Ġk un", + "Ġku n", + "Ġ Bird", + "ĠB ird", + "ĠBi rd", + "ĠBir d", + "Ġt iene", + "Ġti ene", + "Ġtie ne", + "7 88", + "78 8", + "n ut", + "nu t", + "Ġ Um", + "ĠU m", + "Ġ wise", + "Ġw ise", + "Ġwis e", + "Ġwi se", + "Y eah", + "Ye ah", + "I NESS", + "IN ESS", + "INE SS", + "INES S", + "0 46", + "04 6", + "_ begin", + "_b egin", + "_be gin", + "_beg in", + "- heading", + "-head ing", + "-he ading", + "C ourse", + "Co urse", + "Cour se", + "Ġ čĊčĊ", + "ĠčĊ čĊ", + "om bie", + "omb ie", + "gr aded", + "grad ed", + "grade d", + "gra ded", + "Ġ GPS", + "ĠG PS", + "ĠGP S", + "Ġ że", + "Ġż e", + "F it", + "Fi t", + "c aption", + "ca ption", + "cap tion", + "capt ion", + "ö n", + "/ image", + "/i mage", + "/im age", + "l ia", + "li a", + "( mod", + "(m od", + "Ġle ak", + "en za", + "enz a", + "6 29", + "62 9", + "/ H", + "Ġ Happy", + "ĠH appy", + "ĠHa ppy", + "ĠHapp y", + "9 93", + "99 3", + "D ist", + "Dis t", + "Di st", + "n x", + "ĠGovern or", + "ĠGover nor", + "( last", + "(l ast", + "t eacher", + "te acher", + "tea cher", + "Ġ Sent", + "ĠS ent", + "ĠSe nt", + "ĠSen t", + "s upport", + "sup port", + "8 38", + "83 8", + "ject ory", + "Ġ Ùħ", + "ĠÙ ħ", + "Reg istration", + "Registr ation", + "0 63", + "06 3", + "Ġ Gray", + "ĠG ray", + "ĠGr ay", + "ĠGra y", + ", false", + ",f alse", + "Ġ adjusted", + "Ġadjust ed", + "Ġadj usted", + "( settings", + "(s ettings", + "(set tings", + "(setting s", + "< R", + "Ġ Mage", + "ĠM age", + "ĠMag e", + "ĠMa ge", + "Ġ plaint", + "Ġpl aint", + "Ġplain t", + "Ġpla int", + "_ )Ċ", + "_) Ċ", + "ĉ it", + "ĉi t", + "o metric", + "om etric", + "omet ric", + "ometr ic", + ". bootstrap", + ".boot strap", + "Ġcar ries", + "Ġcarr ies", + "I p", + "Ġ! $", + "Ġsw imming", + "Ġswim ming", + "Ġ Mario", + "ĠM ario", + "ĠMar io", + "ĠMa rio", + "ĠMari o", + "Ġ Questions", + "ĠQuest ions", + "ĠQuestion s", + "P ACE", + "PA CE", + "æĸ ¹", + "e or", + "eo r", + "} }\"", + "}} \"", + "Ġ oven", + "Ġo ven", + "Ġov en", + "Ġ Kon", + "ĠK on", + "ĠKo n", + "Ġwis dom", + "Ġac quisition", + "ess ment", + "ag ine", + "agi ne", + "Ġex pressions", + "Ġexpress ions", + "Ġexpression s", + "Ġexpr essions", + "Sequential Group", + "F ront", + "Fr ont", + "ul pt", + "ulp t", + "a wk", + "aw k", + "' ])ĊĊ", + "'] )ĊĊ", + "']) ĊĊ", + "'])Ċ Ċ", + "8 13", + "81 3", + "7 32", + "73 2", + "_ AR", + "_A R", + "Ġan alog", + "Ġanal og", + "Ġana log", + "u lin", + "ul in", + "uli n", + "_ PRINT", + "_PR INT", + "_PRI NT", + "Ġ LG", + "ĠL G", + "Ġ blob", + "Ġb lob", + "Ġbl ob", + "Ġblo b", + "Ġ Furthermore", + "ĠFurther more", + "_ component", + "_com ponent", + "_comp onent", + "Ġ Cole", + "ĠC ole", + "ĠCo le", + "ĠCol e", + "L AN", + "LA N", + "SC RIPTION", + "SCRI PTION", + "SCRIPT ION", + "Ġ lap", + "Ġl ap", + "Ġla p", + "ic ensing", + "icens ing", + "_TIME OUT", + "ĠF ro", + "ĠFr o", + "Ġl iability", + "Ġli ability", + "Ġ composed", + "Ġcom posed", + "Ġcomp osed", + "Ġcompose d", + "Ġcompos ed", + "6 34", + "63 4", + ".create SequentialGroup", + "_ person", + "_p erson", + "_per son", + "Ġ beam", + "Ġb eam", + "Ġbe am", + "ĉ ĠĠĠĠĠĠĠĠ", + "ĉĠĠĠ ĠĠĠĠĠ", + "ĉĠ ĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠ Ġ", + "ĉĠĠ ĠĠĠĠĠĠ", + "ĉĠĠĠĠĠ ĠĠĠ", + "ĉĠĠĠĠ ĠĠĠĠ", + "ĉĠĠĠĠĠĠ ĠĠ", + "Ġ NotFound", + "ĠNot Found", + "6 84", + "68 4", + ". 'Ċ", + ".' Ċ", + "ÃŃ s", + ". TextView", + ".T extView", + ".Text View", + "P DF", + "PD F", + "Ġ kar", + "Ġk ar", + "Ġka r", + "_ _('", + "__ ('", + "__( '", + "Ġ \":\"", + "Ġ\" :\"", + "Ġ\": \"", + "_ messages", + "_m essages", + "_message s", + "Ġhar vest", + ". history", + ".h istory", + ".hist ory", + "> 'Ċ", + ">' Ċ", + "- fold", + "-f old", + "æ Ĭ", + "Ġ Better", + "ĠB etter", + "ĠBet ter", + "ĠBett er", + "Ġ\" \\<", + "Ġ\"\\ <", + "sp acing", + "spa cing", + "Ġf urnished", + "Ġfurn ished", + "Ġfurnish ed", + "9 13", + "91 3", + "o ser", + "os er", + "ose r", + "] }Ċ", + "]} Ċ", + "Ġ $\"", + "Ġ$ \"", + "p ull", + "pu ll", + ". Post", + ".P ost", + ".Pos t", + "9 19", + "91 9", + "( ip", + "(i p", + "Ĺ ı", + ". front", + ".f ront", + ".fr ont", + "n te", + "nt e", + "Ġ FM", + "ĠF M", + "g uid", + "gu id", + "gui d", + "8 44", + "84 4", + "Ġnegot iations", + "Ġnegotiation s", + "ag onal", + "agon al", + "ago nal", + "9 34", + "93 4", + "Ġtrem end", + "ung eon", + "unge on", + "A dv", + "Ad v", + "car ousel", + "ÃŁ e", + "_ DESC", + "_D ESC", + "_DE SC", + "Ġ hammer", + "Ġh ammer", + "Ġham mer", + "Ġhamm er", + "ẠŃ", + "Ġ ĠĠĠĠĠĠĠĊĊ", + "ĠĠ ĠĠĠĠĠĠĊĊ", + "ĠĠĠĠ ĠĠĠĠĊĊ", + "ĠĠĠĠĠĠĠĠ ĊĊ", + "ĠĠĠ ĠĠĠĠĠĊĊ", + "ĠĠĠĠĠĠĠ ĠĊĊ", + "ĠĠĠĠĠ ĠĠĠĊĊ", + "ĠĠĠĠĠĠ ĠĠĊĊ", + "ĠĠĠĠĠĠĠĠĊ Ċ", + "- core", + "-c ore", + "-co re", + "-cor e", + "- service", + "-s ervice", + "-ser vice", + "Ġc orners", + "Ġcor ners", + "Ġcorner s", + "Ġcorn ers", + "Ġ SF", + "ĠS F", + "p red", + "pr ed", + "pre d", + "> A", + "ĠJ Label", + "ĠJL abel", + "Ġrom antic", + "Ġroman tic", + "Ġromant ic", + "Ġtest imony", + "Ġtestim ony", + "Ġtestimon y", + "o sc", + "os c", + "Ġ Generation", + "ĠG eneration", + "ĠGener ation", + "ĠGen eration", + "ĠGene ration", + "as ures", + "asure s", + "asu res", + "_ internal", + "_in ternal", + "_int ernal", + "_inter nal", + "Ġ prints", + "Ġpr ints", + "Ġprint s", + "Ġpri nts", + "Ġprin ts", + "Ġ ])Ċ", + "Ġ] )Ċ", + "Ġ]) Ċ", + "ĠC leveland", + "re po", + "rep o", + "D isc", + "Dis c", + "Di sc", + "6 77", + "67 7", + "7 62", + "76 2", + "Ġ \">Ċ", + "Ġ\" >Ċ", + "Ġ\"> Ċ", + "� ���", + "�� ��", + "��� �", + "Ġ nearest", + "Ġne arest", + "Ġnear est", + "5 91", + "59 1", + "_ tb", + "_t b", + "( require", + "(re quire", + "(req uire", + "E OF", + "EO F", + "- child", + "-ch ild", + "Ġb udd", + "Ġbu dd", + "Ġbud d", + ".Xtra Editors", + "al ties", + "alt ies", + "7 23", + "72 3", + "\\\" :\\\"", + "\\\": \\\"", + "W ords", + "Word s", + "9 17", + "91 7", + "Ġloc ally", + "Ġlocal ly", + "Ġp urchases", + "Ġpurch ases", + "Ġpurchase s", + "6 95", + "69 5", + "D rawer", + "Draw er", + "ex tract", + "ext ract", + "extra ct", + "extr act", + "Ġex ecut", + "Ġexec ut", + "Ġexe cut", + "} '.", + "}' .", + "user data", + "Ġfocus es", + "Ġfoc uses", + "- minute", + "-min ute", + "7 64", + "76 4", + "Ġ Publish", + "ĠP ublish", + "ĠPub lish", + "o go", + "og o", + "Ġm ountains", + "Ġmount ains", + "Ġmountain s", + "B ot", + "Bo t", + "} >{", + "}> {", + "Ġt ension", + "Ġtens ion", + "r od", + "ro d", + "m esh", + "me sh", + "mes h", + "Ġtrans formed", + "Ġtransform ed", + ", R", + "( )}Ċ", + "() }Ċ", + "()} Ċ", + ". long", + ".l ong", + ".lo ng", + ".lon g", + "Ġg orgeous", + "Ġgorge ous", + "Ġ Schedule", + "ĠS chedule", + "Ġold est", + "Ġol dest", + "Ġsub process", + "( IN", + "(I N", + "y ect", + "ye ct", + "ĠCo oper", + "ar ness", + "arn ess", + "Ġ Monitor", + "ĠM onitor", + "ĠMon itor", + ". part", + ".p art", + ".par t", + ".pa rt", + "9 72", + "97 2", + "Ġ NBC", + "ĠN BC", + "ĠNB C", + "6 68", + "66 8", + "Ġc otton", + "Ġcot ton", + "Ġcott on", + "Ġ hol", + "Ġh ol", + "Ġho l", + "7 26", + "72 6", + "Ġ rgba", + "Ġr gba", + "Ġrgb a", + "Ġrg ba", + "Ġ Bio", + "ĠB io", + "ĠBi o", + "Cont inue", + "Contin ue", + "P od", + "Po d", + "Ġparticip ating", + "cl usions", + "clus ions", + "clusion s", + "(By Val", + "7 34", + "73 4", + "à ¬", + "Ġ HOW", + "ĠH OW", + "ĠHO W", + "_set opt", + "Ġaccompany ing", + "0 91", + "09 1", + "a ton", + "at on", + "ato n", + "Ġ /\\", + "Ġ/ \\", + "Ġ Authentication", + "ĠAuth entication", + "ĠAuthentic ation", + "i én", + "ĠBar ack", + "ĠBa rack", + "/ *.", + "/* .", + "Ġe ager", + "Ġea ger", + "Ġeag er", + "Ġ Cancel", + "ĠC ancel", + "ĠCan cel", + "ĠCanc el", + "< lemma", + " $", + "O LEAN", + "OLE AN", + "OK IE", + "IB ILITY", + "U AGE", + "UA GE", + "Ġ Survey", + "ĠS urvey", + "ĠSur vey", + "ĠSurv ey", + "0 71", + "07 1", + "Ġre sign", + "Ġr esign", + "Ġres ign", + "w ing", + "win g", + "wi ng", + "Ġse crets", + "Ġsec rets", + "Ġsecret s", + "Ġsecre ts", + "Ġc hips", + "Ġch ips", + "Ġchip s", + "Ġchi ps", + "JSON Object", + "D esktop", + "Des ktop", + "Desk top", + "5 96", + "59 6", + "_SY MBOL", + "( resource", + "(res ource", + "(re source", + "Ġ< />Ċ", + "ĠĊ", + "Ġnew est", + "Ġne west", + "u li", + "ul i", + "Ġde sert", + "Ġdes ert", + "Ġdese rt", + "Ġdeser t", + "Ġd ip", + "Ġdi p", + "Ġ Pow", + "ĠP ow", + "ĠPo w", + "Ġequ ation", + "Ġeq uation", + "Ġposs ibilities", + "Ġpossibilit ies", + "Ġ Fed", + "ĠF ed", + "ĠFe d", + "os ph", + "osp h", + "Ġ [%", + "Ġ[ %", + "Ġ bubble", + "Ġb ubble", + "Ġbu bble", + "Ġbub ble", + "Ġbubb le", + "ether lands", + "7 93", + "79 3", + "Ġc ement", + "Ġce ment", + ". auto", + ".a uto", + ".au to", + ".aut o", + "_ AN", + "_A N", + "âĢĻ .", + "s election", + "se lection", + "select ion", + "sel ection", + "Ġ Bond", + "ĠB ond", + "ĠBo nd", + "ĠBon d", + "9 88", + "98 8", + "D en", + "De n", + "- O", + ". getType", + ".get Type", + "8 96", + "89 6", + ". Window", + ".W indow", + "p res", + "pr es", + "pre s", + "Ġsw inger", + "Ġswing er", + "\" })Ċ", + "\"} )Ċ", + "\"}) Ċ", + "Ġ pip", + "Ġp ip", + "Ġpi p", + "Ġm ice", + "Ġmi ce", + "Ġmic e", + "Ġ compound", + "Ġcomp ound", + "- plugin", + "-pl ugin", + "i ko", + "ik o", + "Ġcent uries", + "i cular", + "ic ular", + "- inline", + "-in line", + "ĉ key", + "ĉk ey", + "> \\<", + ">\\ <", + "EN SION", + "ENS ION", + "Ġ[ čĊ", + "Ġprecis ely", + "Ġprecise ly", + "Ġ été", + "Ġé té", + "Ġét é", + "Ġ Past", + "ĠP ast", + "ĠPa st", + "ĠPas t", + "ĠCam bridge", + "ĠCamb ridge", + "- full", + "-f ull", + "Ġ analyze", + "Ġan alyze", + "Ġanaly ze", + "Ġ Steven", + "ĠSt even", + "ĠSte ven", + "ĠSteve n", + "Ġ nem", + "Ġn em", + "Ġne m", + "d ue", + "du e", + "o ren", + "or en", + "ore n", + "Ġmus cles", + "Ġmuscle s", + "i jing", + "ij ing", + "iji ng", + "8 52", + "85 2", + "/ -", + "ĠKenn edy", + "5 97", + "59 7", + "R M", + "oss ible", + "Ġact ress", + "Ġd olor", + "Ġdo lor", + "Ġdol or", + "9 14", + "91 4", + "å½ ķ", + "N eed", + "Ne ed", + ". toggle", + ".t oggle", + "Ġ Race", + "ĠR ace", + "ĠRa ce", + "ĠRac e", + "w ers", + "we rs", + "wer s", + ". material", + ".m aterial", + ".mat erial", + "Ġ Due", + "ĠD ue", + "ĠDu e", + "Ġ Pel", + "ĠP el", + "ĠPe l", + "# print", + "Ġin dependence", + "Ġindepend ence", + "ex us", + "Sh adow", + "Ġ encoder", + "Ġe ncoder", + "Ġen coder", + "Ġenc oder", + "Ġencode r", + "( level", + "(le vel", + "Ġ Swift", + "ĠSw ift", + ". doc", + ".d oc", + ".do c", + "_ selection", + "_s election", + "_se lection", + "_select ion", + "_sel ection", + "9 52", + "95 2", + "Ġserial VersionUID", + "9 45", + "94 5", + "Label s", + "Lab els", + "Ġperform ances", + "Ġperformance s", + "Ġperforman ces", + ". Tag", + ".T ag", + "ĠN HL", + "ĠNH L", + "i zen", + "iz en", + "ize n", + "/ UIKit", + "/UI Kit", + "9 91", + "99 1", + "_ CONTROL", + "_CONT ROL", + "Ġe arnings", + "Ġear nings", + "Ġearn ings", + "Ġearning s", + "9 75", + "97 5", + "Ġ Alt", + "ĠA lt", + "ĠAl t", + "_ HANDLE", + "_H ANDLE", + "_HAND LE", + "C tx", + "Ġper su", + "Ġpers u", + "Ġ tran", + "Ġt ran", + "Ġtr an", + "Ġtra n", + "ç ¨", + "_ CHANNEL", + "_CH ANNEL", + "_CHAN NEL", + "Ġs atisfaction", + "Ġsatisf action", + "Ġ GP", + "ĠG P", + "7 69", + "76 9", + "i ox", + "io x", + "m itt", + "mit t", + "mi tt", + "l ando", + "land o", + "la ndo", + "lan do", + "Ġ pig", + "Ġp ig", + "Ġpi g", + "in als", + "inal s", + "ina ls", + "ê ncia", + "ên cia", + "7 31", + "73 1", + "S urface", + "Sur face", + "Ġ UUID", + "ĠU UID", + "Ġbenef icial", + "Ġbenefici al", + "Ġ sequences", + "Ġse quences", + "Ġsequence s", + "Ġsequ ences", + "ĉ memset", + "ĉmem set", + "Ġmag ical", + "Ġmagic al", + " «", + "Ġw orn", + "Ġwor n", + "Ġwo rn", + "A SC", + "AS C", + "p opup", + "pop up", + "C OMP", + "CO MP", + "COM P", + "_ before", + "_b efore", + "_be fore", + "e ness", + "en ess", + "ene ss", + "enes s", + "U i", + "L es", + "Le s", + ". require", + ".re quire", + ".req uire", + ". Serializable", + ".Serial izable", + "add Gap", + "Ġ authorization", + "Ġauthor ization", + "0 85", + "08 5", + ".py plot", + "u rray", + "ur ray", + "urr ay", + "l atitude", + "lat itude", + "8 45", + "84 5", + "f rames", + "fr ames", + "frame s", + "fra mes", + "fram es", + "a js", + "aj s", + "Ġ compass", + "Ġcom pass", + "Ġcomp ass", + "Ġ observations", + "Ġobs ervations", + "Ġobserv ations", + "Ġobservation s", + "_ sup", + "_s up", + "_su p", + ".en viron", + ".env iron", + "Ġtr iple", + "Ġtri ple", + "Ġtrip le", + "Ġ Ruby", + "ĠR uby", + "ĠRub y", + "ĠRu by", + "Ġd rain", + "Ġdr ain", + "Ġdra in", + "_ FILTER", + "_F ILTER", + "S an", + "Sa n", + "U MP", + "UM P", + "Null Exception", + "Ġ Gab", + "ĠG ab", + "ĠGa b", + "o we", + "ow e", + "ĠTur kish", + "ĠTurk ish", + "_ sequence", + "_se quence", + "Ġ Grant", + "ĠG rant", + "ĠGr ant", + "ĠGran t", + "ĠGra nt", + "u ela", + "ue la", + "uel a", + "Ġ wo", + "Ġw o", + "Ġ cube", + "Ġc ube", + "Ġcu be", + "Ġcub e", + "i q", + "Ġdis orders", + "Ġdisorder s", + "Ġextra ordinary", + "Ġextraordin ary", + "Ġ ctrl", + "Ġc trl", + "Ġct rl", + "Ġctr l", + "Ġ Seq", + "ĠS eq", + "ĠSe q", + "en tr", + "ent r", + "8 65", + "86 5", + "Ġsan ctions", + "Ġsanct ions", + "Ġsanction s", + "9 49", + "94 9", + "ut sch", + "uts ch", + "Re ports", + "Report s", + "Rep orts", + "Repo rts", + "Ġ inherit", + "Ġin herit", + "Ġinher it", + "P eriod", + "Per iod", + "Ġphot ography", + "Ġphotograph y", + "Ġ Framework", + "ĠF ramework", + "ĠFr amework", + "ĠFrame work", + "ĠFram ework", + "Ġspecial ist", + "Ġspeci alist", + "Ġ ?ĊĊ", + "Ġ? ĊĊ", + "Ġ?Ċ Ċ", + "_ selected", + "_se lected", + "_select ed", + "_sel ected", + ". Player", + ".P layer", + ".Pl ayer", + ".Play er", + "Ġ allocation", + "Ġal location", + "Ġall ocation", + "Ġalloc ation", + "Ġallo cation", + "( account", + "(a ccount", + "(ac count", + "(acc ount", + "Ġ structural", + "Ġstruct ural", + "v able", + "va ble", + "- offset", + "-off set", + "-o ffset", + "-offs et", + ".App CompatActivity", + "а м", + "аР¼", + ".Add WithValue", + "Ġ icons", + "Ġi cons", + "Ġicon s", + "Ġic ons", + "Ġ shutdown", + "Ġsh utdown", + "Ġshut down", + "_ low", + "_l ow", + "_lo w", + "Ġ Compare", + "ĠCom pare", + "ĠComp are", + "ĠCompar e", + "Ġ Ce", + "ĠC e", + "= head", + "=h ead", + "l am", + "la m", + ". predict", + ".p redict", + ".pre dict", + ".pred ict", + "_ DEC", + "_D EC", + "_DE C", + "Ġ Sleep", + "ĠS leep", + "ĠSlee p", + "ĠSle ep", + "Ġ Gratis", + "ĠGr atis", + "ĠGrat is", + "Ġs uggestion", + "Ġsuggest ion", + "Ġ DEL", + "ĠD EL", + "ĠDE L", + "c aff", + "ca ff", + "caf f", + "av irus", + "avi rus", + "avir us", + "No thing", + "ŀ ĭ", + "Ġwide spread", + "Ġwides pread", + "Ġmechan isms", + "Ġmechanism s", + "Ġ textAlign", + "Ġtext Align", + "oc cup", + "occ up", + "Ġ Rail", + "ĠR ail", + "ĠRa il", + "ĠRai l", + ": NS", + ":N S", + "Ġ fiber", + "Ġf iber", + "Ġfi ber", + "Ġfib er", + "Ġ mk", + "Ġm k", + "Ġv intage", + "- long", + "-l ong", + "-lo ng", + ". reduce", + ".re duce", + ".red uce", + ". Entities", + ".Ent ities", + "( record", + "(re cord", + "(rec ord", + "Ġ pleasant", + "Ġple asant", + "Ġpleas ant", + "F RING", + "FR ING", + ". Cells", + ".C ells", + ".Cell s", + "O TT", + "OT T", + "ĉ elseif", + "ĉelse if", + "6 49", + "64 9", + "7 24", + "72 4", + "_ confirm", + "_con firm", + "_conf irm", + "ĠView Group", + "s ym", + "sy m", + "Ġ pray", + "Ġp ray", + "Ġpr ay", + "Ġpra y", + "Ġsus pected", + "Ġsusp ected", + "Ġsuspect ed", + "Cont ains", + "Con tains", + "Contain s", + "Conta ins", + "9 83", + "98 3", + "Ġb orders", + "Ġborder s", + "Ġbor ders", + "Ġbord ers", + "Ġcomponent Did", + "A SSERT", + "ASS ERT", + "Ġin finite", + "Ġinf inite", + "Ġinfinit e", + "- order", + "-or der", + "Ġ hello", + "Ġh ello", + "Ġhel lo", + "Ġhell o", + "Ġ Grade", + "ĠG rade", + "ĠGr ade", + "ĠGrad e", + "ĠGra de", + ".currentTime Millis", + "ap olis", + "apol is", + "apo lis", + "z h", + "ĉ Object", + "ĉO bject", + ": \\\\", + ":\\ \\", + "H O", + "val uation", + "valu ation", + "Ġ vocab", + "Ġv ocab", + "Ġvo cab", + "Ġvoc ab", + "7 19", + "71 9", + "Ġ coupon", + "Ġc oupon", + "Ġco upon", + "Ġcou pon", + "Ġcoup on", + "ata bases", + "atab ases", + "atabase s", + ". GetType", + ".Get Type", + "L earn", + "Le arn", + "7 92", + "79 2", + "] =\"", + "]= \"", + "Ġ Gary", + "ĠG ary", + "ĠGar y", + "ĠGa ry", + "ot ive", + "oti ve", + "Ġ ash", + "Ġa sh", + "Ġas h", + "Ġ bib", + "Ġb ib", + "Ġbi b", + "X XXX", + "XX XX", + "XXX X", + "Ġ balanced", + "Ġbalance d", + "Ġbal anced", + "VAL UE", + "Ġ Nat", + "ĠN at", + "ĠNa t", + "_ Ad", + "_A d", + "< E", + "åĮ º", + "Ġ MethodInfo", + "ĠMethod Info", + "8 97", + "89 7", + "L IB", + "LI B", + "Ġconsider able", + "Ġconsid erable", + "Ġ Industry", + "ĠInd ustry", + "ĠIndust ry", + "t ests", + "te sts", + "test s", + "tes ts", + ". setTitle", + ".set Title", + "Ġ Bluetooth", + "ĠB luetooth", + "ĠBl uetooth", + "ĠBlu etooth", + "Ġ mapped", + "Ġm apped", + "Ġmap ped", + "Ġma pped", + "Ġ Bruce", + "ĠBr uce", + "ĠBru ce", + "Ġ MainWindow", + "ĠMain Window", + "ĉ status", + "ĉs tatus", + "ĉst atus", + "ĉstat us", + "Ġ raz", + "Ġr az", + "Ġra z", + "ĠM and", + "ĠMan d", + "ĠMa nd", + "Ġ classification", + "Ġclass ification", + "Per missions", + "Permission s", + "Perm issions", + "9 69", + "96 9", + "Ġ ----------------------------------------------------------------------------", + "Ġ---------------------------------------------------------------- ------------", + "Ġ------------------------------------------------ ----------------------------", + "Ġ------------ ----------------------------------------------------------------", + "Ġ------ ----------------------------------------------------------------------", + "Ġ------------------------------------------------------------ ----------------", + "Ġ------------------------------------------------------------------------- ---", + "Ġ containers", + "Ġcont ainers", + "Ġcontainer s", + "Ġcontain ers", + "Ġconta iners", + ": set", + ":s et", + "_ xml", + "_x ml", + "Ġwh ilst", + "Th rough", + "Thr ough", + "Ġv align", + "Ġval ign", + "Ġworld s", + "Ġwor lds", + "C ORD", + "CO RD", + "COR D", + "ED IA", + "EDI A", + "ÑĢ Ð¾Ð²", + "ÑĢо в", + "Ġs pare", + "Ġsp are", + "Ġspa re", + "Ġspar e", + "Ġ Had", + "ĠH ad", + "ĠHa d", + "Ġ DEF", + "ĠD EF", + "ĠDE F", + "( ptr", + "(p tr", + "(pt r", + "Ġw arming", + "Ġwar ming", + "Ġwarm ing", + "8 98", + "89 8", + "ठ¾", + "Ġcons ensus", + "a gne", + "ag ne", + "agn e", + "C TL", + "CT L", + "Ġ ìķ", + "Ġì ķ", + ". Main", + ".M ain", + ".Ma in", + "web Element", + "Ġp ist", + "Ġpi st", + "Ġpis t", + "F lash", + "Fl ash", + "App end", + "Ap pend", + "Appe nd", + ".tw img", + "T ap", + "Ta p", + "Ġveget ables", + "Ġvegetable s", + "a lg", + "al g", + "0 58", + "05 8", + ". sample", + ".s ample", + ".sam ple", + "Ġco aching", + "Ġcoach ing", + "( ind", + "(i nd", + "(in d", + "Cell Value", + "Check Box", + "Ġ Hell", + "ĠH ell", + "ĠHe ll", + "ĠHel l", + "R OOT", + "RO OT", + "7 96", + "79 6", + "Ġst adium", + "Ġstad ium", + "Ġinvestig ating", + ") %", + "s ted", + "st ed", + "ste d", + "9 65", + "96 5", + "Ġ Writing", + "ĠW riting", + "ĠWr iting", + "Ġ ê²", + "Ġê ²", + "Ġ uno", + "Ġu no", + "Ġun o", + "Ġ {{--", + "Ġ{{ --", + "Ġ coords", + "Ġco ords", + "Ġcoord s", + "Ġun ser", + "Ġuns er", + "o rganization", + "organ ization", + "Ġ Crime", + "ĠCr ime", + "ĠCri me", + "ĠDem ocrat", + "ĠDemocr at", + "5 79", + "57 9", + "Ġ vin", + "Ġv in", + "Ġvi n", + "/ file", + "/f ile", + "0 78", + "07 8", + "- api", + "-a pi", + "-ap i", + "Ġ Ay", + "ĠA y", + "Ġf unded", + "Ġfun ded", + "Ġfund ed", + "ĠBr exit", + "ĠBre xit", + "ĠG h", + "ent ina", + "enti na", + "entin a", + "c ases", + "ca ses", + "case s", + "cas es", + "Ġ dash", + "Ġd ash", + "Ġda sh", + "Ġdas h", + "Ġ!! }Ċ", + "Ġ!!} Ċ", + "H I", + "Off ice", + "Ġcap tain", + "Ġcapt ain", + "Ġwor ship", + "Ġwors hip", + "Ġworsh ip", + "\\ C", + "7 33", + "73 3", + "8 51", + "85 1", + "Ġg lobe", + "Ġgl obe", + "Ġglob e", + "Ġglo be", + "_ board", + "_b oard", + "_bo ard", + "Ġb abies", + "Ġba bies", + "Ġbab ies", + "8 76", + "87 6", + "Ġcon secutive", + "Ġconsec utive", + "Ġenh anced", + "Ġenhance d", + "er eum", + "ere um", + "ĠAd vis", + "ĠAdv is", + "Ġg rain", + "Ġgr ain", + "Ġgra in", + "7 71", + "77 1", + "Ġc raw", + "Ġcr aw", + "Ġcra w", + "ancell ationToken", + "ancellation Token", + ". alpha", + ".al pha", + "_ WITH", + "_W ITH", + "ĠO tt", + "ĠOt t", + "Ġ Cool", + "ĠC ool", + "ĠCo ol", + ". batch", + ".b atch", + ".bat ch", + "Ġ verified", + "Ġver ified", + "( callback", + "(c allback", + "(call back", + "Ġreg ards", + "Ġregard s", + "6 83", + "68 3", + "Ġ IntPtr", + "ĠInt Ptr", + "o ucher", + "ou cher", + "ouch er", + "Ġ kin", + "Ġk in", + "Ġki n", + "Ġt ouched", + "Ġtouch ed", + "Ġtou ched", + "it Ãł", + "a thon", + "at hon", + "ath on", + "Ġadj acent", + "Ġaccom panied", + "L EAR", + "LE AR", + "Ġim plies", + "Ġimp lies", + "Ġimpl ies", + "Ġ hill", + "Ġh ill", + "Ġhi ll", + "Ġhil l", + "ĠB altimore", + "ĠBalt imore", + "= \"-", + "=\" -", + "F inally", + "Fin ally", + "Final ly", + "8 83", + "88 3", + "S am", + "Sa m", + "ic opt", + "ico pt", + "Ġs od", + "Ġso d", + "Ġ maj", + "Ġm aj", + "Ġma j", + "Ġ Shipping", + "ĠSh ipping", + "ĠShip ping", + "ĠShi pping", + "Ġ getAll", + "Ġget All", + "Ġco aches", + "Ġcoach es", + "Ġdon ations", + "Ġdonation s", + "i lot", + "il ot", + "ilo t", + "Ġ Tar", + "ĠT ar", + "ĠTa r", + "c err", + "ce rr", + "cer r", + "Ġ badge", + "Ġb adge", + "Ġbad ge", + "Ġba dge", + "Ġ markers", + "Ġm arkers", + "Ġmark ers", + "Ġmar kers", + "Ġmarker s", + "Ġ Rand", + "ĠR and", + "ĠRa nd", + "ĠRan d", + "a ised", + "ai sed", + "ais ed", + "aise d", + "iss ance", + "issa nce", + "issan ce", + "Ġexpl oring", + "Ġexplo ring", + "Ġexplor ing", + "8 27", + "82 7", + "u ced", + "uc ed", + "uce d", + "ĠInd onesia", + "ĠIndones ia", + "ĠIndo nesia", + "Ġbe neath", + "Ġbene ath", + "Ġm agnetic", + "Ġmagn etic", + "Ġmagnet ic", + "Ġm useum", + "Ġmus eum", + "Ġmuse um", + "match Condition", + "Ġdis rupt", + "Ġre mind", + "Ġrem ind", + "Ġremin d", + "Ġ TM", + "ĠT M", + "Ġ /><", + "Ġ/ ><", + "Ġ/> <", + "Ġf ool", + "Ġfo ol", + "Ġfoo l", + "Ġ esk", + "Ġe sk", + "Ġes k", + ". Null", + ".N ull", + "Ġ Dies", + "ĠD ies", + "ĠDi es", + "ĠDie s", + "_ OUTPUT", + "_OUT PUT", + "_TYPE D", + "_TYP ED", + "Ġp ainted", + "Ġpaint ed", + "Ġpain ted", + "6 73", + "67 3", + "7 35", + "73 5", + "Ġsoph istic", + "Ġ Bear", + "ĠB ear", + "ĠBe ar", + "ĠBea r", + "* n", + "_ PACK", + "_P ACK", + "_PA CK", + "Ġdel ivering", + "Ġdeliver ing", + "Ġ COUNT", + "ĠC OUNT", + "ĠCO UNT", + "åį ķ", + "Ġj eg", + "Ġje g", + "- car", + "-c ar", + "-ca r", + "f name", + "fn ame", + "Ġr anging", + "Ġran ging", + "Ġrang ing", + "8 48", + "84 8", + "Ġ Neg", + "ĠN eg", + "ĠNe g", + "/ ******/", + "Ġ CHAR", + "ĠCH AR", + "Ġu ltra", + "Ġult ra", + "Ġul tra", + "Ġultr a", + "G rad", + "Gr ad", + "= t", + "Ġjud ges", + "Ġjudge s", + "ĠD ise", + "ĠDis e", + "ĠDi se", + "an ners", + "ann ers", + "anner s", + "anne rs", + "9 85", + "98 5", + "8 91", + "89 1", + "8 61", + "86 1", + "Ġ scal", + "Ġs cal", + "Ġsc al", + "Ġsca l", + "_ cal", + "_c al", + "_ca l", + "ĠCON NECTION", + "ĠCONNECT ION", + "_ embed", + "_em bed", + "_emb ed", + "( fn", + "(f n", + "Ġ Craft", + "ĠC raft", + "ĠCr aft", + "ĠCra ft", + "0 47", + "04 7", + "Ġ Pas", + "ĠP as", + "ĠPa s", + "\" )->", + "\") ->", + ". convert", + ".con vert", + ".conv ert", + ". resource", + ".re source", + ".res ource", + "Ġ STATUS", + "ĠST ATUS", + "ĠSTAT US", + "ô ng", + "ôn g", + "Ġ Tit", + "ĠT it", + "ĠTi t", + "Ġclass room", + "ĠArch itect", + "ĠK ings", + "ĠKing s", + "ĠKin gs", + "Ġ steady", + "Ġste ady", + "Ġstead y", + "/* !Ċ", + "/*! Ċ", + "Ġ Gene", + "ĠG ene", + "ĠGe ne", + "ĠGen e", + ") \";Ċ", + ")\" ;Ċ", + "i cia", + "ic ia", + "ici a", + "s tan", + "st an", + "sta n", + "Ġ Construction", + "ĠCon struction", + "ĠConstruct ion", + "ĠConstr uction", + "um per", + "ump er", + "9 51", + "95 1", + "w c", + "Ġ CBS", + "ĠC BS", + "ĠCB S", + "in ging", + "ing ing", + "- party", + "-p arty", + "-part y", + "-par ty", + "( driver", + "(d river", + "(dr iver", + "M ARK", + "MA RK", + "MAR K", + "0 82", + "08 2", + "Ġ nested", + "Ġn ested", + "Ġne sted", + "Ġnest ed", + "Ġneste d", + "Ġnes ted", + "e ward", + "ew ard", + "Ġ dependency", + "Ġd ependency", + "Ġdep endency", + "Ġdepend ency", + "Ġm ales", + "Ġma les", + "Ġmale s", + "Ġmal es", + "9 28", + "92 8", + "Ġ ONE", + "ĠO NE", + "ĠON E", + "Ġ Production", + "ĠP roduction", + "ĠPro duction", + "ĠProduct ion", + "ĠProdu ction", + "ĠProd uction", + "] [$", + "][ $", + "ãĥ¼ ãĥ", + "_ LOAD", + "_L OAD", + "_LO AD", + "ĠB ol", + "ĠBo l", + "el ry", + "8 31", + "83 1", + "ł éϤ", + "Ġ Require", + "ĠRe quire", + "ĠReq uire", + "Ġ placing", + "Ġpl acing", + "Ġplac ing", + "Ġpla cing", + "x xx", + "xx x", + "C ALE", + "CA LE", + "CAL E", + "Ġ thumb", + "Ġth umb", + "Ġthu mb", + "8 24", + "82 4", + "Ch oose", + "Cho ose", + "Ġ prototype", + "Ġprot otype", + "Ġproto type", + "V OID", + "VO ID", + "Ġles bian", + "Ġlesb ian", + "Ġlesbi an", + "7 41", + "74 1", + "Ġ traits", + "Ġt raits", + "Ġtr aits", + "Ġtra its", + "Ġtrait s", + "Ġtrai ts", + "Sh arp", + "Shar p", + "Sha rp", + "Ġ consume", + "Ġcon sume", + "Ġcons ume", + "Ġconsum e", + "Tr uth", + "Ġaction Performed", + "Ġ Environmental", + "ĠEnvironment al", + "Ġ Dean", + "ĠD ean", + "ĠDe an", + "Ġ estado", + "Ġest ado", + "Ġesta do", + "Ġestad o", + "s ame", + "sa me", + "sam e", + "Ġ numeric", + "Ġn umeric", + "Ġnum eric", + "Ġnumer ic", + "Ġnu meric", + "Ġtrans it", + "Ġtran sit", + ". Email", + ".E mail", + "- side", + "-s ide", + "_ RUN", + "_R UN", + "ĠV illage", + "ĠVill age", + "ĠVilla ge", + "ĠVil lage", + "_ OPEN", + "_OP EN", + "è ¦", + ". rem", + ".re m", + ".r em", + "- warning", + "-w arning", + "-war ning", + "a nya", + "an ya", + "any a", + "Property Changed", + "Ġ (!_", + "Ġ(! _", + "( check", + "(c heck", + "(ch eck", + "i lia", + "il ia", + "ili a", + "Ġ Soft", + "ĠS oft", + "ĠSo ft", + "ĠSof t", + "st eps", + "ste ps", + "step s", + "ĠMad rid", + "Memory Warning", + "Ġ handlers", + "Ġhand lers", + "Ġhandle rs", + "Ġhandler s", + "Ġexperi encing", + "Ġ inspect", + "Ġin spect", + "Ġins pect", + "Ġinsp ect", + "button s", + "but tons", + "butt ons", + "Receive MemoryWarning", + "ch emy", + "che my", + "chem y", + "L inks", + "Link s", + "Lin ks", + "Ġurl lib", + "Ġur llib", + ".System Colors", + "Ġ Eigen", + "ĠE igen", + "ĠEig en", + "Ġpun ishment", + "Ġpunish ment", + ":UI Control", + "b ara", + "bar a", + "ba ra", + "- set", + "-s et", + "-se t", + "Ġ }čĊčĊčĊ", + "Ġ} čĊčĊčĊ", + "Ġ}čĊ čĊčĊ", + "Ġ}čĊčĊ čĊ", + "Ġt olerance", + "Ġtoler ance", + "Ġ interfaces", + "Ġinter faces", + "Ġinterface s", + "Ġinterf aces", + ". redirect", + ".re direct", + ".red irect", + "ighb ors", + "ighbor s", + "cs rf", + "csr f", + "_ background", + "_back ground", + ". Utils", + ".Util s", + "_ HT", + "_H T", + "6 92", + "69 2", + "Ġ Interest", + "ĠInter est", + "i mos", + "im os", + "imo s", + "Ġgr ants", + "Ġgrant s", + "Ġgran ts", + "Ġgra nts", + "0 83", + "08 3", + "Ġexam ined", + "Ġexamine d", + "Ð Ķ", + "Ġ cf", + "Ġc f", + "f orge", + "for ge", + "forg e", + "b acks", + "back s", + "ba cks", + "bac ks", + "Ġ Objects", + "ĠObject s", + "ĠObj ects", + "_ sent", + "_s ent", + "_se nt", + ". entry", + ".en try", + ".ent ry", + "Ġ THEN", + "ĠT HEN", + "ĠTHE N", + "ĠTH EN", + "ell ido", + "elli do", + "c ia", + "ci a", + ", res", + ",r es", + ",re s", + "6 59", + "65 9", + "6 81", + "68 1", + "/st dc", + "/std c", + ". nd", + ".n d", + "( Int", + "(I nt", + "(In t", + "Ġ Authors", + "ĠAuthor s", + "ĠAuth ors", + "ĠApp CompatActivity", + "' {", + "Ġ medi", + "Ġm edi", + "Ġme di", + "Ġmed i", + "M usic", + "Mu sic", + "Mus ic", + "i gm", + "ig m", + "ce ipt", + "Ġ auss", + "Ġa uss", + "Ġau ss", + "Ġaus s", + "Ġtarget ing", + "Ġtarg eting", + "Ġ Keys", + "ĠKey s", + "ĠKe ys", + "h n", + ": ]Ċ", + ":] Ċ", + "Ġmin eral", + "Ġmine ral", + "Ġminer al", + "à ®", + ". ca", + ".c a", + "7 61", + "76 1", + "o med", + "om ed", + "ome d", + "Ġ sheets", + "Ġs heets", + "Ġshe ets", + "Ġsheet s", + "Ġc amb", + "Ġca mb", + "Ġcam b", + "Ġdead ly", + ". inject", + ".in ject", + "( unit", + "(u nit", + "(un it", + "Ġ Selection", + "ĠS election", + "ĠSe lection", + "ĠSelect ion", + "ĠSel ection", + "ĠSele ction", + ".g ms", + "( connection", + "(con nection", + "(conn ection", + "(connect ion", + "Ġ $(\"", + "Ġ$ (\"", + "Ġ$( \"", + "é mon", + "ém on", + "Ġ Currently", + "ĠCurrent ly", + "p te", + "pt e", + "_ paths", + "_p aths", + "_path s", + "_pa ths", + "_pat hs", + "8 47", + "84 7", + "le af", + "lea f", + "Ġimp lications", + "Ġimpl ications", + "Ġimplication s", + "Ġimplic ations", + "p osal", + "pos al", + "po sal", + "ä½ į", + "[ /", + "a ncia", + "an cia", + "anc ia", + "é Ľ", + "m ul", + "mu l", + "c ie", + "ci e", + "Ġge ile", + "Ġgeil e", + "6 79", + "67 9", + "im als", + "imal s", + "ima ls", + "UI View", + "Ġs urre", + "Ġsur re", + "s erialize", + "serial ize", + "I SO", + "IS O", + "Ġar bitrary", + "Ġarbit rary", + "Ġarbitr ary", + "Ġsock addr", + ". fn", + ".f n", + "Ġ Merc", + "ĠM erc", + "ĠMe rc", + "ĠMer c", + "Ġ casting", + "Ġc asting", + "Ġcas ting", + "Ġcast ing", + "Key Down", + "Ġ newValue", + "Ġnew Value", + "ĠnewVal ue", + "op ens", + "open s", + "ope ns", + "7 17", + "71 7", + "T odo", + "To do", + "Ġflex ibility", + "ĉ ĉĉĉĠĠ", + "ĉĉ ĉĉĠĠ", + "ĉĉĉĉ ĠĠ", + "ĉĉĉ ĉĠĠ", + "ĉĉĉĉĠ Ġ", + "V elocity", + "Vel ocity", + "ú n", + "r owing", + "ro wing", + "row ing", + "Ġ computed", + "Ġcom puted", + "Ġcomp uted", + "Ġcomput ed", + "Ġcompute d", + "` )Ċ", + "`) Ċ", + "st atement", + "state ment", + "stat ement", + "sta tement", + "Ġ ri", + "Ġr i", + "_ cart", + "_c art", + "_car t", + "_ca rt", + "L ow", + "Lo w", + "trans fer", + ". nav", + ".n av", + "Ġ grave", + "Ġgr ave", + "Ġgra ve", + "Ġgrav e", + "Ġ Door", + "ĠD oor", + "ĠDo or", + "ĉ alert", + "ĉal ert", + "6 91", + "69 1", + "6 98", + "69 8", + ". subscribe", + ".sub scribe", + "- profile", + "-pro file", + "-pr ofile", + "-prof ile", + "ĉ base", + "ĉb ase", + "Ġ âĪĴ", + "ĠâĪ Ĵ", + "_ _ĊĊ", + "__ ĊĊ", + "__Ċ Ċ", + "Ġengine ers", + "Ġengineer s", + "Ġexp losion", + "Ġexplos ion", + "Ġd ari", + "Ġda ri", + "Ġdar i", + "6 82", + "68 2", + "ĉ Log", + "ĉL og", + "o nal", + "on al", + "ona l", + "Ġis olated", + "Ġisol ated", + "Ġiso lated", + "Ġisolate d", + "{ i", + "Ġ Msg", + "ĠM sg", + "ĠMs g", + "F uture", + "Fu ture", + "Ġr acist", + "Ġrac ist", + "- wrap", + "-w rap", + "Ġ Vers", + "ĠV ers", + "ĠVer s", + "ĠVe rs", + "b org", + "bo rg", + "bor g", + "I SION", + "IS ION", + "Ġ ÑĢаÐ", + "ĠÑĢ Ð°Ð", + "ĠÑĢа Ð", + "ĠY an", + "ĠYa n", + "8 36", + "83 6", + "init With", + "Ġn omin", + "Ġno min", + "Ġnom in", + "( empty", + "(em pty", + "(emp ty", + "ÃŃ n", + "ã Ĥ¤", + "ãĤ ¤", + "ĉ width", + "ĉw idth", + "Ġch amber", + "Ġcham ber", + "/ ajax", + "/a jax", + "E MP", + "EM P", + "0 93", + "09 3", + "Ġne ces", + "Ġnec es", + "i vos", + "iv os", + "ivo s", + "log ic", + "* )&", + "*) &", + "cri pts", + "cript s", + "9 76", + "97 6", + "Row At", + "0 53", + "05 3", + "i blings", + "ib lings", + "ibling s", + "Ġ ears", + "Ġe ars", + "Ġear s", + "Ġea rs", + "Ġcomp uting", + "Ġcomput ing", + "Ġ maker", + "Ġm aker", + "Ġmake r", + "Ġma ker", + "Ġmak er", + "Ġ Neither", + "ĠN either", + "ĠNe ither", + "b readcrumb", + "Ġ serialize", + "Ġs erialize", + "Ġserial ize", + "Ġ Within", + "ĠWith in", + "ĠWi thin", + "ĠWit hin", + "Ġd ell", + "Ġde ll", + "Ġdel l", + "_ TRACE", + "_TR ACE", + "_TRA CE", + "0 92", + "09 2", + "= a", + "Ġw ishes", + "Ġwish es", + "Ġwis hes", + "- inch", + "-in ch", + "-inc h", + "ĠD or", + "ĠDo r", + "Ġinnoc ent", + "ĠD ol", + "ĠDo l", + "Ġint ens", + "Ġinte ns", + "for ced", + "force d", + "forc ed", + "0 54", + "05 4", + "Ġ BIT", + "ĠB IT", + "ĠBI T", + "Ġphot ographs", + "Ġphoto graphs", + "Ġphotograph s", + "Ġc asa", + "Ġca sa", + "Ġcas a", + "Ġ Len", + "ĠL en", + "ĠLe n", + "\\ Framework", + "\\F ramework", + ". Simple", + ".S imple", + "Ġd ear", + "Ġde ar", + "8 95", + "89 5", + ") /(", + ")/ (", + "ip pi", + "ipp i", + "Ġ owns", + "Ġown s", + "Ġow ns", + "P layers", + "Pl ayers", + "Player s", + "Play ers", + "Ġprop osals", + "Ġpropos als", + "Ġproposal s", + ". pi", + ".p i", + "us alem", + "usa lem", + "usal em", + "D amage", + "Da mage", + "Dam age", + "Ġcal ories", + "Ġcalorie s", + "Ġcalor ies", + "Ġ Creative", + "ĠC reative", + "ĠCre ative", + "ĠCreat ive", + "Ġ [$", + "Ġ[ $", + "Ġ //čĊ", + "Ġ// čĊ", + "Ġ/ /čĊ", + "7 86", + "78 6", + "And View", + "è me", + "èm e", + ". custom", + ".c ustom", + "_ factory", + "_f actory", + "_factor y", + "_fact ory", + "comm ands", + "command s", + "comma nds", + "_ look", + "_l ook", + "_lo ok", + "Ġ strcmp", + "Ġstr cmp", + "Y N", + "a ired", + "air ed", + "ai red", + "aire d", + "Ġ audit", + "Ġa udit", + "Ġaud it", + "Ġau dit", + "Ġaudi t", + "о ÑģÑĤ", + "оÑģ ÑĤ", + "Ġ Reverse", + "ĠRe verse", + "ĠRev erse", + "ĠRever se", + "ropri ate", + "e tics", + "et ics", + "etic s", + "eti cs", + "< vector", + "';Ċ", + "\"> ';Ċ", + "\">' ;Ċ", + "Ġpe pper", + "Ġpepp er", + "Ġpep per", + "9 89", + "98 9", + "Ġ shed", + "Ġs hed", + "Ġsh ed", + "Ġshe d", + "Ġ Medium", + "ĠM edium", + "ĠMed ium", + "ĠMedi um", + "Ġ Cookie", + "ĠC ookie", + "ĠCo okie", + "ĠCook ie", + "8 89", + "88 9", + "Ġoverse as", + "ed or", + "edo r", + "as urement", + "asure ment", + "asu rement", + "7 66", + "76 6", + "åŃ ĺ", + "Ġ' .'", + "Ġ'. '", + "Ġ php", + "Ġp hp", + "Ġph p", + "Ġ PROC", + "ĠP ROC", + "ĠPRO C", + "ĠPR OC", + "Ġexcept ional", + "Ġexception al", + "( th", + "(t h", + "Ġ Jet", + "ĠJ et", + "ĠJe t", + "Ġ occupied", + "Ġoccup ied", + ". setImage", + ".set Image", + "Ġ Related", + "ĠRe lated", + "ĠRel ated", + "u cker", + "uc ker", + "uck er", + "M embers", + "Member s", + "Mem bers", + "PR INT", + "PRI NT", + "ĠG lo", + "ĠGl o", + "_ VIEW", + "_V IEW", + "} \",Ċ", + "}\", Ċ", + "}\" ,Ċ", + "Ġad option", + "Ġadopt ion", + "Ġado ption", + "[ ])Ċ", + "[] )Ċ", + "[]) Ċ", + "8 42", + "84 2", + "ĠMiss ouri", + "ĠLin coln", + "er ald", + "era ld", + "eral d", + "P opup", + "Pop up", + "Ġf ate", + "Ġfa te", + "Ġfat e", + "- bootstrap", + "-boot strap", + "f ections", + "fe ctions", + "fect ions", + "fection s", + "Ġ Poll", + "ĠP oll", + "ĠPol l", + "ĠPo ll", + "_ ARGS", + "_ARG S", + "_AR GS", + "in ance", + "ina nce", + "inan ce", + "6 97", + "69 7", + "- home", + "-h ome", + ". ),", + ".) ,", + "_ done", + "_d one", + "_do ne", + "_don e", + "6 94", + "69 4", + ": ĊĊĊ", + ":Ċ ĊĊ", + ":ĊĊ Ċ", + "Ġdiscuss ing", + "Ġ SQLException", + "ĠSQL Exception", + "Ġelect ro", + "Ġelectr o", + "ĉ req", + "ĉr eq", + "ĉre q", + "Ġ zw", + "Ġz w", + "8 86", + "88 6", + "Ġl ui", + "Ġlu i", + "9 32", + "93 2", + "Ġover night", + "$ user", + "Ġ WAY", + "ĠW AY", + "ĠWA Y", + "Ġall erg", + "Ġalle rg", + "Ġaller g", + "Ġdis appointed", + "Ġdisappoint ed", + "Ġrad iation", + "Ġradi ation", + "Ġim pressed", + "Ġimp ressed", + "Ġimpress ed", + "Ġimpr essed", + "Ġimpres sed", + "if icates", + "ific ates", + "ificate s", + "ifica tes", + "Ġt ob", + "Ġto b", + "CL ASS", + "CLA SS", + "Ġ cuda", + "Ġc uda", + "Ġcu da", + "Ġcud a", + "_ det", + "_d et", + "_de t", + "- post", + "-p ost", + "-pos t", + "-po st", + "u lu", + "ul u", + "Trans lation", + "- hand", + "-h and", + ". year", + ".y ear", + "Ġ Mongo", + "ĠM ongo", + "ĠMon go", + "ĠMo ngo", + "ĠMong o", + "Ġun clear", + "Ġunc lear", + "Ġuncle ar", + ". engine", + ".e ngine", + ".eng ine", + "WEB PACK", + "r ices", + "ri ces", + "ric es", + "rice s", + "_ ACCESS", + "_AC CESS", + "_ACC ESS", + "Ġh olidays", + "Ġholiday s", + "per cent", + "perc ent", + ". Identity", + ".Id entity", + "Ġ Gov", + "ĠG ov", + "ĠGo v", + "Ġpass ionate", + "Ġpassion ate", + "! !.", + "!! .", + "ĠG reece", + "ĠGre ece", + "ĠGree ce", + "plus plus", + "' ));", + "') );", + "')) ;", + "G P", + "Ġex cit", + "Ġexc it", + ".tab Page", + "_ cond", + "_c ond", + "_con d", + "_co nd", + "Ġ sponsor", + "Ġs ponsor", + "Ġspons or", + "M ODULE", + "MOD ULE", + "_ proc", + "_p roc", + "_pro c", + "_pr oc", + "Ġ $Ċ", + "Ġ$ Ċ", + "Ġr ational", + "Ġrat ional", + "Ġratio nal", + "Ġration al", + ". Tool", + ".T ool", + ".To ol", + "Ġi hr", + "Ġih r", + "c ca", + "cc a", + "åĵ ģ", + "ĠE state", + "ĠEst ate", + "ĠEsta te", + "IB UTE", + "IBUT E", + "Action Performed", + "Ġ Solar", + "ĠS olar", + "ĠSo lar", + "ĠSol ar", + "¦ Ĥ", + "Ġequ ity", + "Ġeq uity", + "t id", + "ti d", + "9 38", + "93 8", + "Ġre cip", + "Ġrec ip", + ". simple", + ".s imple", + ".sim ple", + "m k", + "6 89", + "68 9", + "Ġ Luke", + "ĠL uke", + "ĠLu ke", + "ĠLuk e", + "ĠGuard ian", + "Ġ encrypted", + "Ġenc rypted", + "Ġencrypt ed", + "Ġdom inant", + "Ġdomin ant", + "Ġdomina nt", + ". place", + ".p lace", + ".pl ace", + "Ġ NV", + "ĠN V", + "8 39", + "83 9", + "Ġton gue", + "Ġtong ue", + "( Get", + "(G et", + "Ġst ainless", + "Ġstain less", + ". Play", + ".P lay", + ".Pl ay", + "Ġ eb", + "Ġe b", + "a ci", + "ac i", + ". buffer", + ".b uffer", + ".buf fer", + "readcr umbs", + "readcrumb s", + "Ġv accine", + "Ġvacc ine", + "p rom", + "pr om", + "pro m", + "9 79", + "97 9", + "Ġ userInfo", + "Ġuser Info", + "Ġ slug", + "Ġs lug", + "Ġsl ug", + "Ġslu g", + "Serial izedName", + "Serialized Name", + "- wide", + "-w ide", + "Ġre actions", + "Ġreaction s", + "Ġreact ions", + "Ġ Yang", + "ĠY ang", + "ĠYan g", + "ĠYa ng", + "Ġ Adds", + "ĠA dds", + "ĠAd ds", + "ĠAdd s", + "( userId", + "(user Id", + "Ġ plates", + "Ġp lates", + "Ġpl ates", + "Ġplate s", + "Ġpla tes", + "Ġplat es", + "Ġ MEM", + "ĠM EM", + "ĠME M", + "Ġb ail", + "Ġba il", + "In side", + "Ins ide", + "e ted", + "et ed", + "ete d", + "Ġ elsif", + "Ġels if", + "Ġs ake", + "Ġsa ke", + "Ġsak e", + "Ġ cycles", + "Ġc ycles", + "Ġcy cles", + "Ġcycle s", + "Ġcycl es", + "Ġcyc les", + "Ġ ìĹ", + "Ġì Ĺ", + "ĉ I", + "- collapse", + "-c ollapse", + "8 41", + "84 1", + "Ġ GMT", + "ĠG MT", + "ĠGM T", + "8 14", + "81 4", + "De claration", + "Ġg ros", + "Ġgr os", + "Ġgro s", + "Ġre aches", + "Ġreach es", + "Ġcust ody", + "Un til", + "Unt il", + "7 53", + "75 3", + "8 56", + "85 6", + "t u", + "ĠC hen", + "ĠCh en", + "ĠChe n", + "Ġ nx", + "Ġn x", + "( addr", + "(add r", + "(ad dr", + "Ġ Offer", + "ĠO ffer", + "ĠOff er", + "ĠOf fer", + "Ġcol leg", + "Ġcoll eg", + "Ġcolle g", + "ass ador", + "6 74", + "67 4", + "Ġ mapper", + "Ġm apper", + "Ġmap per", + "Ġma pper", + "8 54", + "85 4", + "ĠS IGNAL", + "ĠSIG NAL", + "ĠSIGN AL", + "ĠB loom", + "ĠBl oom", + "ĠBlo om", + "ĠH oll", + "ĠHol l", + "ĠHo ll", + "ĠIm per", + "ĠImp er", + "- des", + "-d es", + "-de s", + "_ site", + "_s ite", + "_si te", + "P roc", + "Pro c", + "Pr oc", + "E qu", + "Eq u", + "Ġ atomic", + "Ġat omic", + "Ġatom ic", + "Ġ Woman", + "ĠW oman", + "ĠWo man", + "s ent", + "se nt", + "sen t", + "7 38", + "73 8", + "8 17", + "81 7", + "s car", + "sc ar", + "Ġint elligent", + "Ġintellig ent", + "Ġ Getting", + "ĠG etting", + "ĠGet ting", + "Ġ Registration", + "ĠReg istration", + "ĠRegistr ation", + "Ġ Phill", + "ĠP hill", + "ĠPh ill", + "ĠPhil l", + "ĠPhi ll", + "Ġ killer", + "Ġk iller", + "Ġkill er", + "Ġkil ler", + "Ġki ller", + "un icode", + "unic ode", + "uni code", + "Ċ ĉĉĊ", + "Ġ Jacob", + "ĠJ acob", + "ĠJac ob", + "ĠJa cob", + "Ġ Const", + "ĠCon st", + "ĠCo nst", + "ĠCons t", + "Ġ locate", + "Ġl ocate", + "Ġlo cate", + "Ġloc ate", + "Ġc aus", + "Ġca us", + "7 49", + "74 9", + "ĠSch olar", + "ĠScho lar", + "Ġ constitutional", + "Ġconstitution al", + "Ġin flation", + "Ġinf lation", + "Ġinfl ation", + "Ġ Got", + "ĠG ot", + "ĠGo t", + "= array", + "=a rray", + "en dum", + "end um", + "Ġ translated", + "Ġtrans lated", + "Ġtransl ated", + "Ġtranslate d", + "Ġdiv orce", + "Ġdivor ce", + "En tries", + "Ent ries", + "Entr ies", + "Ġs or", + "Ġso r", + "Ġ Quote", + "ĠQu ote", + "ir lines", + "irl ines", + "U K", + "Ġ excel", + "Ġex cel", + "Ġexc el", + "Ġexce l", + "( opt", + "(o pt", + "(op t", + "Ġ ADV", + "ĠA DV", + "ĠAD V", + ", :,", + ",: ,", + "Ġcont acted", + "Ġcontact ed", + "7 42", + "74 2", + "Ġ DA", + "ĠD A", + "Ġr ings", + "Ġring s", + "Ġrin gs", + "Ġ Industrial", + "ĠInd ustrial", + "ĠIndust rial", + ". getContext", + ".get Context", + "Ġforg otten", + "Ġforgot ten", + "Ġ Tan", + "ĠT an", + "ĠTa n", + "Ġ pants", + "Ġp ants", + "Ġpa nts", + "Ġpan ts", + "Ġpant s", + "Ġ ov", + "Ġo v", + "Ġ decoder", + "Ġde coder", + "Ġdec oder", + "Ġdecode r", + "Ġdeco der", + "Ġ Partial", + "ĠP artial", + "ĠPart ial", + "ĠParti al", + "Ġ vc", + "Ġv c", + "Ġb attles", + "Ġbattle s", + "Ġbatt les", + "A rial", + "Ar ial", + "FRING EMENT", + "i rates", + "ir ates", + "ira tes", + "irate s", + ", w", + "aint enance", + "Ġ Od", + "ĠO d", + "ĠTechn ologies", + "åī į", + "ĠC arter", + "ĠCar ter", + "ĠCart er", + ". findAll", + ".find All", + "N ome", + "No me", + "Nom e", + "B en", + "Be n", + "Ġ Usage", + "ĠU sage", + "ĠUs age", + "ĠUsa ge", + "Ġ Picture", + "ĠP icture", + "ĠPic ture", + "Ġbad ly", + "_ panel", + "_p anel", + "_pa nel", + "_pan el", + "Ġpat ent", + "Ġpa tent", + "Ġ Protocol", + "ĠProt ocol", + "ĠProto col", + "l otte", + "lo tte", + "lot te", + "ĉ player", + "ĉp layer", + "ĉpl ayer", + "ĉplay er", + "j ections", + "ject ions", + "je ctions", + "jection s", + "7 46", + "74 6", + "Ġ dou", + "Ġd ou", + "Ġdo u", + "_ release", + "_re lease", + "_r elease", + "_rel ease", + "urn iture", + "_ tax", + "_t ax", + "_ta x", + "Ġ Fields", + "ĠF ields", + "ĠField s", + ". dataset", + ".d ataset", + ".data set", + ".dat aset", + ".datas et", + "_ master", + "_m aster", + "_ma ster", + "_mas ter", + "CLUD E", + "CLU DE", + "ĠPh arm", + "ĠPhar m", + "b st", + "bs t", + "Ġoper ational", + "Ġoperation al", + ". cell", + ".c ell", + ".ce ll", + "Ġident ifying", + "Ġidentify ing", + "Ġ jwt", + "Ġj wt", + "t uple", + "tu ple", + "Ġ TC", + "ĠT C", + "Ġ Cro", + "ĠC ro", + "ĠCr o", + "9 36", + "93 6", + "ix map", + "- components", + "-com ponents", + "-component s", + "-comp onents", + "g eneral", + "gen eral", + "gener al", + "gene ral", + "Ġ oz", + "Ġo z", + "_ De", + "_D e", + "_ double", + "_d ouble", + "_do uble", + "Ġ Too", + "ĠT oo", + "ĠTo o", + "0 88", + "08 8", + ".View Group", + "8 79", + "87 9", + "g ate", + "ga te", + "d ings", + "ding s", + "din gs", + "ph otos", + "photo s", + "phot os", + "Ġgr ande", + "Ġgrand e", + "Ġgran de", + "Ġgra nde", + "ol lect", + "oll ect", + "olle ct", + "_ lin", + "_l in", + "_li n", + "Ġaw ful", + "f ilters", + "filter s", + "fil ters", + "filt ers", + "Ġ alternate", + "Ġaltern ate", + "e sp", + "es p", + "Ġ compress", + "Ġcom press", + "Ġcomp ress", + "Ġcompr ess", + "e o", + "Ġ Scale", + "ĠS cale", + "ĠSc ale", + "ĠScal e", + "Ġin direct", + "Ġind irect", + "Ġindir ect", + "Ġ invoice", + "Ġin voice", + "Ġinv oice", + "Ġinvo ice", + "ĊĊ ĊĊĊĊĊĊĊĊĊĊĊĊĊĊ", + "ĊĊĊĊ ĊĊĊĊĊĊĊĊĊĊĊĊ", + "ĊĊĊĊĊĊ ĊĊĊĊĊĊĊĊĊĊ", + "ĊĊĊĊĊĊĊĊ ĊĊĊĊĊĊĊĊ", + "ĊĊĊĊĊ ĊĊĊĊĊĊĊĊĊĊĊ", + "ĊĊĊĊĊĊĊĊĊĊ ĊĊĊĊĊĊ", + "ĊĊĊĊĊĊĊ ĊĊĊĊĊĊĊĊĊ", + "ĊĊĊĊĊĊĊĊĊĊĊĊ ĊĊĊĊ", + "ĊĊĊĊĊĊĊĊĊ ĊĊĊĊĊĊĊ", + "ĊĊĊĊĊĊĊĊĊĊĊĊĊĊ ĊĊ", + "ĊĊĊĊĊĊĊĊĊĊĊ ĊĊĊĊĊ", + "Start ing", + "Star ting", + "Ġ Players", + "ĠP layers", + "ĠPl ayers", + "ĠPlay ers", + "ĠPlayer s", + "ĠPla yers", + "i ele", + "ie le", + "iel e", + ". then", + ".t hen", + ".th en", + ".the n", + "9 81", + "98 1", + "O rd", + "Or d", + "Ġ Tuple", + "ĠT uple", + "ĠTu ple", + "ĠTup le", + "Ġ bout", + "Ġb out", + "Ġbo ut", + "Ġbou t", + "Ġ Statistics", + "ĠStat istics", + "P review", + "Pr eview", + "Pre view", + "Prev iew", + "Ġp uzzle", + "Ġpu zzle", + "Ġpuzz le", + "Ġ Width", + "ĠW idth", + "ĠWid th", + "ST ATE", + "STAT E", + "STA TE", + "Ġ overlay", + "Ġover lay", + "Ġoverl ay", + "ĉ on", + "ĉo n", + "Ġin fr", + "Ġinf r", + "Ġsm allest", + "Ġsmall est", + "l ocked", + "lock ed", + "loc ked", + "ÑĤ о", + "s sl", + "ss l", + "7 79", + "77 9", + "Ġde emed", + "Ġdee med", + "Ġdeem ed", + "Ġs co", + "Ġsc o", + "r eck", + "re ck", + "rec k", + "Ġj Button", + "Ġ missions", + "Ġm issions", + "Ġmiss ions", + "Ġmission s", + "8 71", + "87 1", + "ç§ °", + ".Selected Index", + "T ABLE", + "TA BLE", + "TAB LE", + "S ept", + "Se pt", + "Sep t", + "Ġac knowledge", + "Ġack nowledge", + "Ġacknow ledge", + "Ġacknowled ge", + "Ġ strtotime", + "Ġstrt otime", + "Ġ Tell", + "ĠT ell", + "ĠTe ll", + "ĠTel l", + "ĠD ak", + "ĠDa k", + "Ġal uminum", + "Ġf ence", + "Ġfe nce", + "Ġfen ce", + "Ġ Stars", + "ĠSt ars", + "ĠStar s", + "ĠSta rs", + "CON FIG", + "CONF IG", + "Ġr etrofit", + "Ġretro fit", + "Ġ emphasis", + "Ġem phasis", + "Ġemph asis", + "Ġemphas is", + "/ header", + "/head er", + "/he ader", + "Ġ Something", + "ĠS omething", + "ĠSome thing", + "ĠSom ething", + "in ished", + "ini shed", + "inish ed", + "inis hed", + "=' \".$", + "='\" .$", + "='\". $", + "Ġ Validators", + "ĠValid ators", + "ĠValidator s", + "Ġp olar", + "Ġpol ar", + "Ġpo lar", + "s ections", + "se ctions", + "section s", + "sect ions", + "9 44", + "94 4", + ".as px", + ".asp x", + "Ġa spir", + "Ġas pir", + "Ġasp ir", + ". Mock", + ".M ock", + "Code Gen", + "Ġp eut", + "Ġpe ut", + "Ġpeu t", + "9 71", + "97 1", + "Ġaccept ing", + "Ġb acking", + "Ġback ing", + "Ġbac king", + "P icture", + "Pic ture", + "/ ap", + "/a p", + "е г", + "еР³", + "_ SEC", + "_S EC", + "_SE C", + "- use", + "-us e", + "-u se", + "an notation", + "ann otation", + "annot ation", + "Ġc ognitive", + "Ġcogn itive", + "Ġg rip", + "Ġgr ip", + "Ġgri p", + "h our", + "ho ur", + "hou r", + "Ġ Legal", + "ĠL egal", + "ĠLe gal", + "ĠLeg al", + "Ġe pic", + "Ġep ic", + ". toolStrip", + ".t oolStrip", + ".tool Strip", + ". notify", + ".n otify", + ".not ify", + ". Last", + ".L ast", + "OR IZ", + "M iddleware", + "Middle ware", + "cri ptions", + "cript ions", + "cription s", + "l ash", + "la sh", + "las h", + "_ FOUND", + "_F OUND", + "Ġ Liverpool", + "ĠLiver pool", + "Ġ {}\",", + "Ġ{ }\",", + "Ġ{} \",", + "9 31", + "93 1", + "Inst all", + "Ġ nit", + "Ġn it", + "Ġni t", + "Ġfig ured", + "Ġfigure d", + "Ġfigur ed", + "[ len", + "[l en", + ". Win", + ".W in", + ". platform", + ".pl atform", + "8 53", + "85 3", + "Ġgam bling", + "Ġgamb ling", + "( dt", + "(d t", + "a very", + "av ery", + "ave ry", + "aver y", + "ĉ include", + "ĉin clude", + "Wh ether", + "R outing", + "Ro uting", + "Ġth erap", + "Ġthe rap", + "Ġther ap", + "Rem ote", + "Ġ Loss", + "ĠL oss", + "ĠLo ss", + "ĠLos s", + "y ll", + "yl l", + "Ġappro ached", + "Ġapproach ed", + "Ġ Vehicle", + "ĠV ehicle", + "Ġ Alpha", + "ĠAl pha", + "Ġv ocê", + "Ġvoc ê", + "an swers", + "ans wers", + "answer s", + "NS Dictionary", + "9 54", + "95 4", + "cons ider", + "un used", + "unu sed", + "Ġ Fan", + "ĠF an", + "ĠFa n", + "or able", + "ora ble", + "f re", + "fr e", + "8 73", + "87 3", + "ĠDIS CLAIM", + "Ġ Actor", + "ĠA ctor", + "ĠAct or", + "ĠAc tor", + ". ]", + "to Have", + ". userId", + ".user Id", + "Ġspe eds", + "Ġspeed s", + "e way", + "ew ay", + "Ġrec urs", + "Ġrecur s", + "Ġ г", + "ĠÐ ³", + "_ priv", + "_p riv", + "_pr iv", + "_pri v", + "! âĢĿĊĊ", + "!âĢĿ ĊĊ", + "Ch oice", + "Cho ice", + "Ġs ettle", + "Ġset tle", + "Ġsett le", + "Ġ planes", + "Ġpl anes", + "Ġplan es", + "Ġplane s", + "Ġpla nes", + "' },", + "'} ,", + "T om", + "To m", + "I TER", + "IT ER", + "ITE R", + "! \"Ċ", + "!\" Ċ", + "å »", + "ach elor", + "ache lor", + "achel or", + "Ġse paration", + "Ġsepar ation", + "Ġseparat ion", + "Ġ dal", + "Ġd al", + "Ġda l", + "a dj", + "ad j", + "Ġ registers", + "Ġreg isters", + "Ġregister s", + "Ġregist ers", + "r iz", + "ri z", + "Ġ Notice", + "ĠNot ice", + "Ġ lu", + "Ġl u", + "Ġc ourage", + "Ġcour age", + "Ġcou rage", + "Ġ axes", + "Ġa xes", + "Ġax es", + "Ġaxe s", + "cell ent", + ". async", + ".as ync", + ".a sync", + "0 73", + "07 3", + "Ġcom patibility", + "Ġcompat ibility", + "ç «", + "Ġ !ĊĊ", + "Ġ! ĊĊ", + "Ġ!Ċ Ċ", + "ĉ title", + "ĉt itle", + "ĉti tle", + "Y LE", + "YL E", + "ĉ message", + "ĉm essage", + "U UID", + "UU ID", + "OL DER", + "OLD ER", + "Ġ HH", + "ĠH H", + "Ġ StyleSheet", + "ĠStyle Sheet", + "Ġacc essed", + "Ġaccess ed", + "Ġacces sed", + ". validation", + ".valid ation", + "t asks", + "task s", + "tas ks", + "Ġpoll ution", + "Ġpollut ion", + ". canvas", + ".c anvas", + ".can vas", + "Ġ ingredient", + "Ġing redient", + "ĠC abin", + "ĠCa bin", + "ĠCab in", + "A h", + "ol down", + "old own", + "ĠN OI", + "ĠNO I", + "Ġ ÃĹ", + "Ġà Ĺ", + "[ f", + "e duc", + "ed uc", + "edu c", + "y alty", + "yal ty", + "( not", + "(n ot", + "(no t", + "_ State", + "_St ate", + "9 33", + "93 3", + "a men", + "am en", + "ame n", + "7 95", + "79 5", + "7 39", + "73 9", + "Ġ dao", + "Ġd ao", + "Ġda o", + "u dad", + "ud ad", + "uda d", + "el lers", + "ell ers", + "elle rs", + "eller s", + "} &", + "l icity", + "lic ity", + "li city", + "licit y", + "_ WINDOW", + "_W INDOW", + "Ġt atto", + "Ġtat to", + "val or", + "va lor", + ". Range", + ".R ange", + "Ġreference d", + "Ġrefer enced", + "ĠRe serve", + "ĠRes erve", + "M oney", + "Mon ey", + "Mo ney", + "8 74", + "87 4", + "SC RIPT", + "SCRI PT", + "/ product", + "/pro duct", + "cho ices", + "choice s", + "Ġ tin", + "Ġt in", + "Ġti n", + "ãĤ ĵ", + "9 18", + "91 8", + "Ġ separator", + "Ġs eparator", + "Ġse parator", + "Ġsepar ator", + "Ġseparat or", + "Ġ pkg", + "Ġp kg", + "Ġpk g", + "am med", + "amm ed", + "Ġ MAT", + "ĠM AT", + "ĠMA T", + "! !ĊĊ", + "!! ĊĊ", + "!!Ċ Ċ", + "Ġ raid", + "Ġr aid", + "Ġra id", + "Ġmot ivation", + "Ġmotiv ation", + "Ġ XP", + "ĠX P", + "Ġ Background", + "ĠBack ground", + "Ġ Quaternion", + "ĠQu aternion", + ".define Property", + "i ker", + "ik er", + "ike r", + "ĉ parent", + "ĉp arent", + "Ġ Originally", + "ĠOrigin ally", + "ĠOriginal ly", + "ĠOrig inally", + "ant age", + "anta ge", + "ĠH ans", + "ĠHa ns", + "ĠHan s", + "Ġ timeline", + "Ġt imeline", + "Ġtime line", + "Ġtim eline", + ". cur", + ".c ur", + "o pic", + "op ic", + "opi c", + "ĠS equ", + "ĠSe qu", + "ĠSeq u", + "m ust", + "mu st", + "mus t", + "Ġ Coal", + "ĠCo al", + "Ġ formatter", + "Ġfor matter", + "Ġform atter", + "Ġformat ter", + "_ RGB", + "_R GB", + "_RG B", + "Ġ _(\"", + "Ġ_ (\"", + "Ġ_( \"", + "' }),Ċ", + "'} ),Ċ", + "'}) ,Ċ", + "Ġ= ================", + "Ġ== ===============", + "Ġ=== ==============", + "Ġ===== ============", + "Ġ==== =============", + "Ġ========== =======", + "Ġ======= ==========", + "Ġ FUNCTION", + "ĠF UNCTION", + "ĠFUN CTION", + "ĠFUNC TION", + "ĠFUNCT ION", + "Ġ lng", + "Ġl ng", + "Ġln g", + "ic ates", + "ica tes", + "icate s", + "l ive", + "li ve", + "liv e", + "_ engine", + "_e ngine", + "_eng ine", + "Ġt owns", + "Ġtown s", + "Ġtow ns", + "8 68", + "86 8", + "' ))ĊĊ", + "') )ĊĊ", + "')) ĊĊ", + "'))Ċ Ċ", + "Ġ PK", + "ĠP K", + "( api", + "(a pi", + "(ap i", + "ĉ scanf", + "ĉs canf", + "0 89", + "08 9", + "p acket", + "pack et", + "pa cket", + "pac ket", + ". phone", + ".p hone", + ".ph one", + "á Ģ", + "Ġ Andy", + "ĠAn dy", + "ĠAnd y", + "_N AMES", + "_NAME S", + "9 82", + "98 2", + "P LY", + "PL Y", + "9 55", + "95 5", + "Ġ mins", + "Ġm ins", + "Ġmin s", + "Ġmi ns", + "i mi", + "im i", + "Ġ brick", + "Ġb rick", + "Ġbr ick", + "Ġbri ck", + "Ġ blade", + "Ġbl ade", + "Ġbla de", + ". stdout", + ".std out", + "} `;Ċ", + "}` ;Ċ", + "S hift", + "Sh ift", + "ĉ sb", + "ĉs b", + "Ġ Checks", + "ĠCheck s", + "ĠChe cks", + "Ġphenomen on", + "Av atar", + "Ġmin istry", + "Ġmini stry", + "Ġminist ry", + "r ose", + "ro se", + "ros e", + "ĉ File", + "ĉF ile", + "8 78", + "87 8", + "Ġt itled", + "Ġtitle d", + "Ġtit led", + "( LOG", + "(L OG", + "Ġ gan", + "Ġg an", + "Ġga n", + "d esign", + "de sign", + "des ign", + "( ),čĊ", + "() ,čĊ", + "(), čĊ", + "Ġ bones", + "Ġb ones", + "Ġbo nes", + "Ġbon es", + "Ġbone s", + "s tm", + "st m", + "ÅĽ Äĩ", + "Ġ InputStream", + "ĠInput Stream", + "Ġvol unt", + "Ġ Serializable", + "ĠSerial izable", + "Ġ fighter", + "Ġf ighter", + "Ġfight er", + "Ġ Drag", + "ĠD rag", + "ĠDr ag", + "ĠDra g", + "T witter", + "Tw itter", + "Ġsub sid", + "Ġsubs id", + "ç ¼", + "Ġ forums", + "Ġfor ums", + "Ġforum s", + ". loading", + ".load ing", + ".lo ading", + "log ged", + "logg ed", + "_ this", + "_t his", + "_th is", + "Ġ terrain", + "Ġter rain", + "Ġterr ain", + "Ġterra in", + "Ġir re", + "Ġirr e", + "Ġ Ing", + "ĠI ng", + "ĠIn g", + "Ġ CN", + "ĠC N", + "_ objects", + "_object s", + "_obj ects", + ". uid", + ".ui d", + ".u id", + "Ġconscious ness", + "T INGS", + "TING S", + "ĠG all", + "ĠGal l", + "ĠGa ll", + "Ġport ray", + "0 56", + "05 6", + "Ġ Developer", + "ĠDe veloper", + "ĠDevelop er", + "Ġ participant", + "Ġpart icipant", + "Ġparticip ant", + "Ġ \";čĊ", + "Ġ\" ;čĊ", + "Ġ\"; čĊ", + "/ model", + "/m odel", + "/mod el", + "7 94", + "79 4", + "Ġ Operations", + "ĠOper ations", + "ĠOperation s", + "^ \\", + "Ġ Later", + "ĠL ater", + "ĠLa ter", + "ĠLat er", + "ĠLate r", + "Ġ raises", + "Ġr aises", + "Ġraise s", + "Ġrais es", + "Ġra ises", + "- none", + "-n one", + "-no ne", + "-non e", + ". meta", + ".m eta", + ".me ta", + ".met a", + "= '.$", + "=' .$", + "='. $", + "F inished", + "Fin ished", + "Finish ed", + "Ġre placing", + "Ġrepl acing", + "Ġ sampling", + "Ġs ampling", + "Ġsam pling", + "Ġsamp ling", + "ĠJ en", + "ĠJe n", + "\" There", + "\"The re", + "\"T here", + "RE AL", + "REA L", + "A LE", + "AL E", + "ìĬ ¤", + "Or ders", + "Order s", + "Ord ers", + "_ parameter", + "_param eter", + "_para meter", + "ĠOlymp ic", + "Ġtr ès", + "Ġ arena", + "Ġa rena", + "Ġare na", + "Ġar ena", + "Ġaren a", + "i ol", + "io l", + "; ?>", + "Ġimp acts", + "Ġimpact s", + "Ġ WS", + "ĠW S", + ": get", + ":g et", + "Ġf lights", + "Ġfl ights", + "Ġflight s", + "ĠRuss ell", + "ĠRus sell", + "c amera", + "came ra", + "cam era", + "F n", + "s igma", + "sig ma", + "Ġ forcing", + "Ġfor cing", + "Ġforc ing", + "Ġ locals", + "Ġloc als", + "Ġlocal s", + "Ġ departure", + "Ġdepart ure", + "Ġcelebr ation", + "Ġ Say", + "ĠS ay", + "ĠSa y", + "8 84", + "88 4", + "ï¼ Ĵ", + "ĠH ills", + "ĠHill s", + "ĠHil ls", + ".has OwnProperty", + "Ġ typings", + "Ġtyp ings", + "Ġtyping s", + ". API", + ".A PI", + ".AP I", + "Ġd onation", + "Ġdo nation", + "Ġdon ation", + "Operation Exception", + ". Activity", + ".Act ivity", + "c plusplus", + "Ġ Charlie", + "ĠChar lie", + "ĠCharl ie", + "Ġim ported", + "Ġimport ed", + "Ġimp orted", + "Ġd ann", + "Ġda nn", + "Ġdan n", + "Ġocc asions", + "Ġoccas ions", + "Ġoccasion s", + "Ġimplement ing", + "Ġ purple", + "Ġp urple", + "Ġpur ple", + ". dialog", + ".d ialog", + ".di alog", + "SQL Exception", + "er no", + "ern o", + "Ġw ars", + "Ġwar s", + "Ġwa rs", + "Ġ paste", + "Ġp aste", + "Ġpast e", + "Ġpas te", + "Ġpa ste", + "Ġdecre ased", + "Ġdecrease d", + "Ġhar sh", + "Ġel abor", + "Ġela bor", + "in puts", + "input s", + "inp uts", + "Ġ Views", + "ĠView s", + "ĠVi ews", + "ĠVie ws", + "Ġ errorMessage", + "Ġerror Message", + "_ mul", + "_m ul", + "_mu l", + "ĉ write", + "ĉw rite", + "Ġ Cop", + "ĠC op", + "ĠCo p", + "Ġ Annual", + "ĠAnn ual", + "( button", + "(b utton", + "Ġ vida", + "Ġv ida", + "Ġvi da", + "Ġvid a", + "b ars", + "bar s", + "ba rs", + "ĠHar vard", + "ĉ expect", + "ĉex pect", + "ĉexp ect", + "Ġ indexes", + "Ġindex es", + "Ġinde xes", + "Ġdocument ary", + "Ġf lesh", + "Ġfl esh", + "Ġfle sh", + "OR LD", + "Ġ Delta", + "ĠD elta", + "ĠDel ta", + "M AND", + "MA ND", + "MAN D", + "B rush", + "Br ush", + "Bru sh", + "- column", + "-c olumn", + "-col umn", + "Ġdevelop ments", + "Ġdevelopment s", + "9 74", + "97 4", + "7 83", + "78 3", + "method Visitor", + "s lice", + "sl ice", + "Ġ PDO", + "ĠP DO", + "ĠPD O", + "Ġinv esting", + "Ġinvest ing", + "8 67", + "86 7", + "ir able", + "ira ble", + "Ġ xmlns", + "Ġxml ns", + "ï¼ Ľ", + "ar ta", + "art a", + "Ġthe ories", + "Ġtheor ies", + "Ġtheo ries", + "_ city", + "_c ity", + "_ci ty", + "Ġ $__", + "Ġ$ __", + "Ġ$_ _", + "C reating", + "Cre ating", + "Cr eating", + "Creat ing", + "( pr", + "(p r", + "D ropdown", + "Drop down", + "is match", + "ism atch", + "Ġ NET", + "ĠN ET", + "ĠNE T", + "9 26", + "92 6", + "' ])){Ċ", + "'] )){Ċ", + "']) ){Ċ", + "'])) {Ċ", + "'])){ Ċ", + "Ġ Values", + "ĠVal ues", + "ĠValue s", + "Ġ SEO", + "ĠS EO", + "ĠSE O", + "Ġ STAT", + "ĠST AT", + "ĠSTA T", + "Ġe cosystem", + "Ġeco system", + "Ġ tempt", + "Ġt empt", + "Ġtem pt", + "Ġtemp t", + "Ġ \\\\", + "Ġ\\ \\", + "Ġ //{Ċ", + "Ġ// {Ċ", + "Ġ//{ Ċ", + "Ġ Christopher", + "ĠChrist opher", + "ĠChristoph er", + "ĠKent ucky", + "ĠHttp ServletResponse", + "ĠHttpServlet Response", + "Ġh ybrid", + "Ġhy brid", + "y on", + "yo n", + "Ġ feeding", + "Ġfe eding", + "Ġfeed ing", + "Ġfee ding", + "Ġ Extra", + "ĠEx tra", + "ĠExt ra", + "ĠExtr a", + "N orm", + "No rm", + "Nor m", + "IT CH", + "Ġ Sean", + "ĠS ean", + "ĠSe an", + "ĠSea n", + "Ġ Upload", + "ĠUp load", + "m un", + "mu n", + "p ur", + "pu r", + "Ġ persistent", + "Ġp ersistent", + "Ġpers istent", + "Ġpersist ent", + "ĠI DC", + "ĠID C", + "Ġ Perform", + "ĠPer form", + "ĠPerf orm", + "8 63", + "86 3", + ". merge", + ".m erge", + "_ room", + "_r oom", + "_ro om", + "Mean while", + "! ='", + "!= '", + "Ġ Wel", + "ĠW el", + "ĠWe l", + "Args Constructor", + "8 87", + "88 7", + ". Database", + ".D atabase", + ".Data base", + "Ġco unting", + "Ġcount ing", + "Ġcoun ting", + "( )*", + "() *", + "Ķ åĽŀ", + "Ġ TOP", + "ĠT OP", + "ĠTO P", + "m ill", + "mi ll", + "mil l", + "Ġ DT", + "ĠD T", + "IGN ED", + "9 56", + "95 6", + "Ġ KB", + "ĠK B", + "Ġcom ply", + "Ġcomp ly", + "Ġcompl y", + "S outh", + "So uth", + "Sou th", + "_ collection", + "_c ollection", + "_col lection", + "_coll ection", + "_collect ion", + "Ch apter", + "Cha pter", + "Ġexpl aining", + "Ġexplain ing", + "_ AM", + "_A M", + "_ ts", + "_t s", + "c ards", + "card s", + "car ds", + "Ġ quel", + "Ġqu el", + "Ġque l", + "Ġq uel", + "Ġ pole", + "Ġp ole", + "Ġpol e", + "Ġpo le", + "Ġtouch down", + "Ġ Others", + "ĠO thers", + "ĠOther s", + "Ġpe ers", + "Ġpeer s", + "Ġpee rs", + "Ġ TypeError", + "ĠType Error", + "7 63", + "76 3", + "Ġsix th", + "Ġch eer", + "Ġche er", + "Ġdis pute", + "Ġdisp ute", + "Ġdisput e", + "9 63", + "96 3", + "8 93", + "89 3", + "u sc", + "us c", + ") ],", + ")] ,", + "th umb", + "Ġh iding", + "Ġhi ding", + "Ġhid ing", + "Ġ SIG", + "ĠS IG", + "ĠSI G", + "l ikes", + "li kes", + "like s", + "lik es", + "Ġ PAGE", + "ĠP AGE", + "ĠPA GE", + ". Reflection", + ".Ref lection", + "Ġhead quarters", + "T ING", + "TI NG", + "Ġ Ghost", + "ĠG host", + "ĠGh ost", + "M LE", + "ML E", + "$ Ċ", + "Ġcont rary", + "Ġcontr ary", + "Ġcontra ry", + "ext end", + "' ]).", + "'] ).", + "']) .", + "FF ECT", + "FFE CT", + "Ġ Pinterest", + "ĠP interest", + "úmer o", + "ric ane", + "rica ne", + "ĉ session", + "ĉs ession", + "Ġcr ystal", + "Ġcry stal", + "Ġcryst al", + "- Control", + "-C ontrol", + "overn ment", + "o graf", + "og raf", + "ogr af", + "ogra f", + "9 61", + "96 1", + "- action", + "-a ction", + "-ac tion", + "v olume", + "vol ume", + "f ten", + "ft en", + "fte n", + "Ġun con", + "Ġunc on", + "Ġ animate", + "Ġan imate", + "Ġanim ate", + "Ġani mate", + "Ġ lease", + "Ġl ease", + "Ġle ase", + "s cr", + "sc r", + "Ġre fuse", + "Ġref use", + "ãĢ ĭ", + "f tp", + "ft p", + "in formation", + "inform ation", + "Ġeval uated", + "Ġevaluate d", + "Ġevalu ated", + "Ġin jection", + "Ġinj ection", + "Ġinject ion", + "Ġ jack", + "Ġj ack", + "Ġja ck", + "Ġjac k", + "Ġwork shop", + "Ġworks hop", + "æ³ ¨", + "P TH", + "PT H", + "Ġ Ts", + "ĠT s", + "o ffer", + "of fer", + "off er", + "ĉ os", + "ĉo s", + "Ġking dom", + "M issing", + "Miss ing", + "Mis sing", + "Ġlaw makers", + "Ġlawmaker s", + "ext Field", + "Ġs inging", + "Ġsin ging", + "Ġsing ing", + "a bi", + "ab i", + "/ client", + "/c lient", + "/cl ient", + "/cli ent", + ". media", + ".m edia", + ".me dia", + ".med ia", + "ATEG ORY", + "Sign ature", + "Sig nature", + "% ',Ċ", + "%' ,Ċ", + "%', Ċ", + "Ġ Fuck", + "ĠF uck", + "ĠFu ck", + "] [:", + "][ :", + "Ġs ensors", + "Ġsens ors", + "Ġsensor s", + "/ com", + "/c om", + "/co m", + "Ġ Primary", + "ĠPr imary", + "ĠPri mary", + "ĠPrim ary", + ". SQL", + ".S QL", + "_ program", + "_p rogram", + "_pro gram", + "_pr ogram", + "_prog ram", + "Ġp ills", + "Ġpil ls", + "Ġpill s", + "Ġ integral", + "Ġint egral", + "Ġinteg ral", + "Ġintegr al", + "Ġ fleet", + "Ġf leet", + "Ġfle et", + "Ġflee t", + "Ġd ropping", + "Ġdr opping", + "Ġdrop ping", + "Ġdro pping", + ". sl", + ".s l", + "B een", + "Be en", + "Ġ pets", + "Ġp ets", + "Ġpe ts", + "Ġpet s", + "Ġad vised", + "Ġadv ised", + "Ġadvis ed", + "Ġadvise d", + "Ġ dragon", + "Ġd ragon", + "Ġdr agon", + "Ġdrag on", + "Ġdra gon", + "_ EDIT", + "_ED IT", + "( im", + "(i m", + "9 39", + "93 9", + "F ER", + "FE R", + "Ġ Drug", + "ĠD rug", + "ĠDr ug", + "( random", + "(r andom", + "(rand om", + "Ġ compression", + "Ġcom pression", + "Ġcomp ression", + "Ġcompr ession", + "Ġcompress ion", + "o ust", + "ou st", + "ous t", + "[ %", + "Ġ buyer", + "Ġbu yer", + "Ġbuy er", + "h op", + "ho p", + "R oles", + "Role s", + "Ro les", + "Rol es", + "man age", + "ma nage", + "mana ge", + "Ġpain ful", + "Ġ Branch", + "ĠBr anch", + "ĠBran ch", + "- modal", + "-m odal", + "-mod al", + "e nant", + "en ant", + "ena nt", + "enan t", + "Ġ Mesh", + "ĠM esh", + "ĠMe sh", + "ĠMes h", + "/ font", + "/f ont", + "ĠG raham", + "ĠGra ham", + "Ġ âĺ", + "Ġâ ĺ", + "Ġ nc", + "Ġn c", + "ĠFranc is", + "ĠFran cis", + "Ġspec ification", + "Ġspecific ation", + "Ġdam ages", + "Ġdamage s", + "- config", + "-con fig", + "-conf ig", + "Ġthe oret", + "Ġtheor et", + "Ġtheo ret", + "s ecure", + "sec ure", + "_ multi", + "_m ulti", + "_mul ti", + "_mult i", + "aceut ical", + "Ġdem anding", + "Ġdemand ing", + "en ne", + "enn e", + "I STS", + "IS TS", + "IST S", + "0 94", + "09 4", + "( )));ĊĊ", + "() ));ĊĊ", + "()) );ĊĊ", + "()));Ċ Ċ", + "())) ;ĊĊ", + "())); ĊĊ", + "Re ason", + "Re cent", + "Rec ent", + "ph ase", + "pha se", + "phas e", + "Ġ psy", + "Ġp sy", + "Ġps y", + "_ MAN", + "_M AN", + "_MA N", + "Ġvol unteer", + "Ġvolunte er", + "Ġvolunt eer", + "å ¿", + "istrib uted", + "istribute d", + "l io", + "li o", + "Ġproduct ivity", + "_ comm", + "_c omm", + "_com m", + "_co mm", + "S pring", + "Sp ring", + "Spr ing", + "n is", + "ni s", + ". weight", + ".w eight", + ".we ight", + "ĠC ancer", + "ĠCan cer", + "ĠCanc er", + "Al loc", + "All oc", + "Ġ Tweet", + "ĠT weet", + "ĠTwe et", + "Ġsepar ately", + "Ġseparate ly", + "Ġseparat ely", + "ĉ check", + "ĉc heck", + "ĉch eck", + "_ properties", + "_p roperties", + "_prop erties", + ". Unit", + ".U nit", + ".Un it", + "8 29", + "82 9", + "_ CLK", + "_C LK", + "_CL K", + "Ġ gt", + "Ġg t", + "Ġ ();ĊĊ", + "Ġ( );ĊĊ", + "Ġ() ;ĊĊ", + "Ġ();Ċ Ċ", + "Ġ(); ĊĊ", + "Ġh andy", + "Ġhand y", + "Ġhan dy", + "8 34", + "83 4", + "ĠTh ompson", + "ĠThom pson", + "Ġun necessary", + "Ġunn ecessary", + "Ġ Reader", + "ĠRe ader", + "ĠRead er", + "8 94", + "89 4", + "G N", + "= request", + "=re quest", + "=req uest", + "Ġ Utility", + "ĠU tility", + "ĠUtil ity", + "ĠUt ility", + ". Repository", + ".Re pository", + "Ġ Ax", + "ĠA x", + "hy dr", + "7 91", + "79 1", + "i eu", + "ie u", + "Ġ thy", + "Ġt hy", + "Ġth y", + "Ġ lt", + "Ġl t", + "_ mail", + "_m ail", + "_ma il", + "ä¿® æĶ¹", + "a iland", + "ail and", + "ai land", + "Ġ Philip", + "ĠPh ilip", + "ĠPhil ip", + "ĠPhi lip", + "Ġb itter", + "Ġbit ter", + "Ġbitte r", + "Ġb etting", + "Ġbet ting", + "8 37", + "83 7", + "Ġt imed", + "Ġtime d", + "Ġtim ed", + "Ġti med", + "o cks", + "oc ks", + "ock s", + "0 76", + "07 6", + "' a", + "Ġal gorithms", + "Ġalgorithm s", + "Ġ reinterpret", + "Ġre interpret", + "Ġt oss", + "Ġto ss", + "r ogen", + "ro gen", + "rog en", + "Ġh oped", + "Ġhope d", + "Ġhop ed", + "Ġho ped", + "( selected", + "(se lected", + "(select ed", + "(sel ected", + "Ġ venture", + "Ġvent ure", + "Ġven ture", + "T EX", + "TE X", + "Ġ Leave", + "ĠLe ave", + ". Substring", + ".Sub string", + "Ġgr ateful", + "Ġgrat eful", + "Ġgrate ful", + "7 43", + "74 3", + "u ka", + "uk a", + "Ġ Consumer", + "ĠCon sumer", + "ĠCons umer", + "ĠConsum er", + "Ġag greg", + "Ġagg reg", + "C ircle", + "ภģ", + "_ blocks", + "_b locks", + "_block s", + "_bl ocks", + "_bloc ks", + "Ġleg ally", + "Ġlegal ly", + "Ġ \"|", + "Ġ\" |", + "ãĥ ĥ", + ". board", + ".b oard", + ".bo ard", + ". Ab", + ".A b", + "Function s", + "Fun ctions", + "rec ipe", + "è ĩ", + "ĠO xford", + "ĠOx ford", + "Ġw holes", + "Ġwh oles", + "Ġwho les", + "Ġwhole s", + ". Build", + ".B uild", + "_ changed", + "_ch anged", + "_change d", + "_chan ged", + "h ai", + "ha i", + "Ġ departments", + "Ġdepartment s", + "Ġdepart ments", + "9 64", + "96 4", + "I mp", + "Im p", + "Ġcoal ition", + "IN FRINGEMENT", + "Ġem power", + "Ġemp ower", + "it ches", + "itch es", + "N orth", + "Nor th", + "Ġin flamm", + "Ġinfl amm", + "O NSE", + "ON SE", + "ONS E", + "Ġmiss ile", + "ĠR aj", + "ĠRa j", + "Ġ Issue", + "ĠI ssue", + "ĠIss ue", + "Ġ atoi", + "Ġa toi", + "Ġat oi", + "c aled", + "ca led", + "cale d", + "cal ed", + ". Controllers", + ".Cont rollers", + ".Control lers", + ".Controller s", + "Ġ Wolf", + "ĠW olf", + "ĠWo lf", + "ĠWol f", + "Ġcrush ers", + "Ġcrusher s", + "á» ĩ", + ". Auth", + ".A uth", + ".add Attribute", + "h is", + "hi s", + "Ġbo ots", + "Ġboot s", + "Ġboo ts", + ". clean", + ".c lean", + ".cl ean", + "c amp", + "ca mp", + "cam p", + "Ġ tenant", + "Ġt enant", + "Ġte nant", + "Ġten ant", + "Ġt une", + "Ġtu ne", + "Ġtun e", + "Ġ {}'.", + "Ġ{ }'.", + "Ġ{} '.", + "Ġwork out", + "Re po", + "Rep o", + "Ġpart ially", + "Ġpartial ly", + "Ġparti ally", + "MI SSION", + "MISS ION", + "j amin", + "ja min", + "jam in", + "Ġ SB", + "ĠS B", + "Ġd etermination", + "Ġde termination", + "Ġdeter mination", + "Ġdetermin ation", + "Ġdeterm ination", + "Ġ' ');Ċ", + "Ġ'' );Ċ", + "Ġ'') ;Ċ", + "Ġ''); Ċ", + "ĠB eng", + "ĠBe ng", + "ĠBen g", + "Ġ vos", + "Ġv os", + "Ġvo s", + "Ġin hab", + "Ġinh ab", + "/ lang", + "/l ang", + "s burgh", + "sburg h", + "Exec utor", + "h one", + "ho ne", + "hon e", + "Ġ Challenge", + "ĠCh allenge", + "ĠChall enge", + "_ links", + "_l inks", + "_link s", + "_lin ks", + ". Level", + ".Le vel", + "Ġunder ground", + "- code", + "-c ode", + "-co de", + "9 59", + "95 9", + "Ġopt imization", + "Ġoptim ization", + "log ging", + "logg ing", + "_ dest", + "_d est", + "_de st", + "_des t", + "Ġ snake", + "Ġsn ake", + "Ġsna ke", + "Ġchem icals", + "Ġchemical s", + "_IMPORT ED", + "ad oop", + "ado op", + "adoo p", + "ĠTH AT", + "man aged", + "manage d", + "mana ged", + "Ġred uces", + "Ġredu ces", + "Ġreduce s", + "Ġ REAL", + "ĠRE AL", + "Ġ Guy", + "ĠG uy", + "ĠGu y", + "_GENER IC", + "_GEN ERIC", + "/ ********************************", + "/************************ ********", + "/******** ************************", + "/**************** ****************", + ". amount", + ".a mount", + ".am ount", + "Ġ dere", + "Ġd ere", + "Ġde re", + "Ġder e", + "get Time", + "Ġp ant", + "Ġpa nt", + "Ġpan t", + "an onymous", + "anon ymous", + "Ġhar mony", + "Ġharm ony", + "Ġharmon y", + "Ġ Alan", + "ĠA lan", + "ĠAl an", + "ĠAla n", + "Ġsc enarios", + "Ġscen arios", + "Ġscenario s", + "Ġd irt", + "Ġdi rt", + "Ġdir t", + "h tags", + "ht ags", + "htag s", + "hta gs", + "M c", + "S hell", + "Sh ell", + "She ll", + "r in", + "ri n", + "{ čĊčĊ", + "{čĊ čĊ", + ". pow", + ".p ow", + ".po w", + "ĉ client", + "ĉc lient", + "ĉcl ient", + "ĉcli ent", + "Ġcon spiracy", + "Ġconspir acy", + "Ġad mission", + "Ġadm ission", + "Ġ Regional", + "ĠReg ional", + "ĠRegion al", + "Ġ ViewController", + "ĠView Controller", + "ĠPhil ippines", + "ĠPhilipp ines", + "ĠPhilippine s", + "Ġde pos", + "Ġdep os", + "Ġp ap", + "Ġpa p", + "9 62", + "96 2", + "Ġ Pad", + "ĠP ad", + "ĠPa d", + "P aul", + "Pa ul", + ". ComboBox", + ".Com boBox", + "Ġt utor", + "Ġtu tor", + "Ġtut or", + "Ġtuto r", + "Ġ Recipe", + "ĠRec ipe", + "w riting", + "wr iting", + "Ġcontrib utor", + "O TH", + "OT H", + "S mall", + "Sm all", + "V I", + "Ġh acer", + "Ġha cer", + "Ġhace r", + "Ġhac er", + "e qu", + "eq u", + "Ġ Examples", + "ĠEx amples", + "ĠExample s", + "ĠExam ples", + "h uman", + "hu man", + "hum an", + ". messages", + ".m essages", + ".message s", + "ĉ typ", + "ĉt yp", + "Ġ (čĊ", + "Ġ( čĊ", + "Ġ SSL", + "ĠS SL", + "ĠSS L", + "L EN", + "LE N", + "ĠRom ney", + "( grid", + "(g rid", + "(gr id", + "ĉ min", + "ĉm in", + "Ġ >ĊĊ", + "Ġ> ĊĊ", + "Ġ>Ċ Ċ", + "Ġf ruits", + "Ġfr uits", + "Ġfruit s", + "Ġv oter", + "Ġvo ter", + "Ġvot er", + "Ġvote r", + "In line", + "p ane", + "pan e", + "pa ne", + "Ġ Collections", + "ĠC ollections", + "ĠCol lections", + "ĠCollection s", + "ĠColl ections", + "ĠCollect ions", + "char set", + "chars et", + "Ġ spam", + "Ġsp am", + "Ġspa m", + "z b", + "it emap", + "ite map", + "item ap", + "Ġs ucceeded", + "Ġsuc ceeded", + "Ġsucceed ed", + "_ COL", + "_C OL", + "_CO L", + "Ġ elapsed", + "Ġel apsed", + "i meter", + "im eter", + "ime ter", + "imet er", + "Ġre covered", + "Ġrecover ed", + "T ensor", + "hat tan", + "hatt an", + ". setup", + ".set up", + "i sto", + "is to", + "ist o", + "( head", + "(h ead", + "9 77", + "97 7", + "Ġ SIZE", + "ĠS IZE", + "ĠSI ZE", + "Ġt actics", + "Ġtact ics", + "Ġtactic s", + "Ġtac tics", + "Ġdis tur", + "Ġdist ur", + "Ġpr eval", + "Ġpre val", + "Ġprev al", + "ic ios", + "ici os", + "icio s", + "( Value", + "(V alue", + "_ cols", + "_c ols", + "_col s", + "_co ls", + "Ġ Fat", + "ĠF at", + "ĠFa t", + "Ġse al", + "Ġsea l", + "Ġ sons", + "Ġs ons", + "Ġso ns", + "Ġson s", + "Ġens ures", + "Ġensure s", + "0 95", + "09 5", + "Ġp ressing", + "Ġpres sing", + "Ġpress ing", + "= &", + "igen ous", + "Ġharass ment", + "_ JSON", + "_J SON", + "_JS ON", + "Ġign or", + "Ġig nor", + "yn omial", + "ynom ial", + "o mer", + "om er", + "ome r", + "_ static", + "_st atic", + "_stat ic", + "_sta tic", + "Ġsign ificance", + "Ġsignific ance", + "Ġsignifica nce", + "Ġc ircles", + "Ġcirc les", + "Ġcircle s", + "Ġcir cles", + "_ System", + "_S ystem", + "Ġdisc ipline", + "Ġdiscipl ine", + "Ġd ressed", + "Ġdr essed", + "Ġdress ed", + "Ġ sphere", + "Ġs phere", + "Ġsp here", + "Ġsph ere", + "9 27", + "92 7", + "Ġcl imb", + "Ġclim b", + "Ġcli mb", + "7 59", + "75 9", + "_ actions", + "_a ctions", + "_action s", + "_act ions", + "ĠB ab", + "ĠBa b", + "Ġ' =',", + "Ġ'=' ,", + "Ġ'= ',", + "_ schema", + "_s chema", + "\" use", + "Ġ unders", + "Ġun ders", + "Ġunder s", + "Ġund ers", + "Ġunde rs", + "Ġc ups", + "Ġcu ps", + "Ġcup s", + ". screen", + ".s creen", + ".sc reen", + "/ new", + "/n ew", + "/ne w", + "Ġapp earing", + "Ġappe aring", + "Ġappear ing", + "T OP", + "TO P", + "v ised", + "vis ed", + "vi sed", + "vise d", + "c lang", + "cl ang", + "cla ng", + "Ġinvest igators", + "Ġinvestig ators", + "Ġinvestigator s", + "Ġm ysterious", + "Ġmyster ious", + "Ġprom ising", + "Ġqual ify", + "Ġqua lify", + "Ġquali fy", + "Ġc ave", + "Ġca ve", + "Ġcav e", + "Ġ equip", + "Ġe quip", + "Ġequ ip", + "= x", + "G T", + "( link", + "(l ink", + "(li nk", + ". velocity", + ".v elocity", + ".vel ocity", + ". erase", + ".e rase", + ".er ase", + "o ter", + "ot er", + "ote r", + "++++ ++++", + "pro fit", + "prof it", + "Ġ zones", + "Ġz ones", + "Ġzone s", + "Ġzo nes", + "_ uid", + "_u id", + "_ui d", + "- ser", + "-s er", + "-se r", + "Ġob jectives", + "Ġobject ives", + "Ġobjective s", + "Ġmil f", + "Ġmi lf", + "web kit", + "( match", + "(m atch", + "(mat ch", + "n eh", + "ne h", + "Ġ Associated", + "ĠAssoci ated", + "ĠAssociate d", + "ĠAssoc iated", + "Ġ Todo", + "ĠT odo", + "ĠTo do", + "ĠTod o", + "= d", + "0 65", + "06 5", + "C am", + "Ca m", + "Ġv ocal", + "Ġvo cal", + "Ġvoc al", + "Ġ sudo", + "Ġs udo", + "Ġsu do", + "Ġsud o", + "( EX", + "(E X", + "Ġt rou", + "Ġtr ou", + "Ġtro u", + "A BC", + "AB C", + ". bean", + ".b ean", + ".be an", + "Ġ Ground", + "ĠG round", + "ĠGr ound", + "ĠGro und", + "Ġ REST", + "ĠR EST", + "ĠRE ST", + "ĠRES T", + "we ets", + "weet s", + "I ng", + "In g", + "i mon", + "im on", + "imo n", + "9 46", + "94 6", + "_ bus", + "_b us", + "Ġ COLOR", + "ĠC OLOR", + "ĠCOL OR", + "un to", + "unt o", + "Ġf oss", + "Ġfo ss", + "Ġfos s", + "Ġ Links", + "ĠL inks", + "ĠLink s", + "ĠLin ks", + "8 69", + "86 9", + "ä ng", + "än g", + "/ forms", + "/form s", + "pr ises", + "prise s", + "pri ses", + "Ġ achievement", + "Ġachie vement", + "Ġachieve ment", + "C ALL", + "CA LL", + "CAL L", + "е лÑĮ", + "ел ÑĮ", + "Ġ Verify", + "ĠVer ify", + "_ SOURCE", + "_S OURCE", + "apt cha", + "I DD", + "ID D", + "_ reference", + "_re ference", + "_ref erence", + "_refer ence", + "G old", + "Go ld", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "9 47", + "94 7", + "Re ceiver", + "Receive r", + "0 99", + "09 9", + "Ġ aj", + "Ġa j", + "_ direction", + "_d irection", + "_dir ection", + "_di rection", + "_direct ion", + "} ]", + "Ġ Compet", + "ĠCom pet", + "ĠComp et", + "Ġ bang", + "Ġb ang", + "Ġban g", + "Ġba ng", + "7 98", + "79 8", + "ĠC ass", + "ĠCas s", + "ĠCa ss", + "- url", + "-u rl", + "t echn", + "te chn", + "tech n", + "tec hn", + "ĠJer usalem", + "long itude", + "' );čĊčĊ", + "') ;čĊčĊ", + "'); čĊčĊ", + "');čĊ čĊ", + "Ġwin ners", + "Ġwinner s", + "T asks", + "Task s", + "Ġ DMA", + "ĠD MA", + "ĠDM A", + "Ġ tooltip", + "Ġto oltip", + "Ġtool tip", + "İ ·", + "ĠB ra", + "ĠBr a", + "_ duration", + "_d uration", + "_dur ation", + "c ury", + "cur y", + "cu ry", + "par ents", + "pare nts", + "parent s", + "paren ts", + "- --- >(", + ">> (", + "Ġ Kir", + "ĠK ir", + "ĠKi r", + "Ġ intros", + "Ġint ros", + "Ġintr os", + "Ġintro s", + "Ġsk etch", + "Ġsk illed", + "Ġskill ed", + "Ġ immer", + "Ġim mer", + "Ġimm er", + "Ġade quate", + "Ġadequ ate", + "_ rep", + "_re p", + "_r ep", + "( header", + "(head er", + "_ like", + "_l ike", + "_li ke", + "Ġper ceived", + "Ġperceive d", + "Ġperce ived", + "s sh", + "ss h", + "Ġ assuming", + "Ġas suming", + "Ġass uming", + "Ġassum ing", + "Ġ ff", + "Ġf f", + "_ uuid", + "_u uid", + "u las", + "ul as", + "ula s", + "Ġdem ocratic", + "Ġdemocr atic", + "Ġdemocrat ic", + ". entities", + ".ent ities", + "S eries", + "Se ries", + "Ser ies", + "aph ore", + "Ġnew er", + "Ġne wer", + "} (", + "S EC", + "SE C", + "a iro", + "air o", + "ai ro", + "Ġcom mod", + "Ġcomm od", + "Ġpriv ilege", + "Ġprivile ge", + "Ġde ux", + "Ġ Hop", + "ĠH op", + "ĠHo p", + ". '/", + ".' /", + "c tic", + "ct ic", + ". ';Ċ", + ".' ;Ċ", + "< ?=", + " C", + "ĠWar ren", + "Ġ optimizer", + "Ġopt imizer", + "Ġoptim izer", + "Ġoptimize r", + "ĠSER VICES", + "ĠSERVICE S", + "_ oper", + "_op er", + "_o per", + "get Attribute", + "ĠMc K", + "_ self", + "_s elf", + "_se lf", + "_sel f", + "0 84", + "08 4", + ". rs", + ".r s", + "\" )ĊĊĊ", + "\") ĊĊĊ", + "\")Ċ ĊĊ", + "\")ĊĊ Ċ", + "Get Component", + "er ce", + "erc e", + "Ġt ous", + "Ġto us", + "Ġtou s", + "un its", + "unit s", + "uni ts", + "' ]);čĊ", + "'] );čĊ", + "']) ;čĊ", + "']); čĊ", + "Z oom", + "/ E", + "Ġob sc", + "Ġobs c", + "Ġfast est", + "Ġfas test", + "on line", + "Ġpeace ful", + "f fen", + "ff en", + "ffe n", + "Ġ cargo", + "Ġc argo", + "Ġcar go", + "Ġcarg o", + "ĉ pr", + "ĉp r", + "Ġse eks", + "Ġsee ks", + "Ġseek s", + "z u", + "0 74", + "07 4", + "T rim", + "Tr im", + "Tri m", + "Ġ ward", + "Ġw ard", + "Ġwar d", + "Ġwa rd", + "Ġv erd", + "Ġver d", + "Ġve rd", + "Ġ blogs", + "Ġb logs", + "Ġbl ogs", + "Ġblog s", + "Ġblo gs", + ". exceptions", + ".ex ceptions", + ".exception s", + "Ġ Premium", + "ĠP remium", + "ĠPre mium", + "ĠPrem ium", + "ĠPremi um", + "ĠN etherlands", + "S afe", + "Sa fe", + "F inish", + "Fin ish", + "Fi nish", + "Ġ Album", + "ĠAl bum", + "ĠAlb um", + "_ ACC", + "_A CC", + "_AC C", + "= this", + "=t his", + "v irtual", + "vir tual", + "virt ual", + "] >", + "_ LABEL", + "_L ABEL", + "_LA BEL", + "Ġ Nich", + "ĠN ich", + "ĠNic h", + "ĠNi ch", + "_ win", + "_w in", + "Ġ Aaron", + "ĠA aron", + "W P", + "; $", + "a ims", + "ai ms", + "aim s", + "Ġ ImageView", + "ĠImage View", + "Ġend less", + "Ġendl ess", + "E RA", + "ER A", + "_ DISABLE", + "_DIS ABLE", + "Ġ cancelled", + "Ġcancel led", + "Ġcancell ed", + "Ġcanc elled", + "- us", + "-u s", + "Ġ inspection", + "Ġins pection", + "Ġinspect ion", + "Ġinsp ection", + "e min", + "em in", + "emi n", + "Ġ Grey", + "ĠG rey", + "ĠGr ey", + "ĠGre y", + "- open", + "-o pen", + "-op en", + "Ġ iterations", + "Ġiter ations", + "Ġiteration s", + ". owner", + ".o wner", + "Ġk eras", + "Ġke ras", + "Ġker as", + ". Password", + ".P assword", + ".Pass word", + "ĠR y", + "Ġ INS", + "ĠI NS", + "ĠIN S", + "A ir", + "Ai r", + "Ġ Several", + "ĠSe veral", + "ĠSever al", + "ĠSev eral", + ".Tab Stop", + "IN GLE", + "ING LE", + "Ġ Hair", + "ĠH air", + "ĠHa ir", + "ĠHai r", + "Ġ Canvas", + "ĠC anvas", + "ĠCan vas", + "A AAA", + "AA AA", + "AAA A", + "Ġf law", + "Ġfl aw", + "Ġfla w", + "c edes", + "ce des", + "ced es", + "cede s", + ". Report", + ".Re port", + "í Ĭ", + "Ġ Tips", + "ĠT ips", + "ĠTi ps", + "ĠTip s", + "cript ors", + "criptor s", + ". transaction", + ".trans action", + ". Spring", + ".S pring", + ".Sp ring", + "Ġ viewer", + "Ġview er", + "Ġvie wer", + "Ġins ights", + "Ġinsight s", + "è¾ ĵ", + "ord ion", + "U INT", + "UI NT", + "se ek", + "see k", + "Ġ Auf", + "ĠA uf", + "ĠAu f", + "ìŀ IJ", + "Ġ strain", + "Ġs train", + "Ġst rain", + "Ġstr ain", + "Ġstra in", + "To oltip", + "Tool tip", + "Ġ dz", + "Ġd z", + "ig nal", + "ign al", + "a dt", + "ad t", + "Ġ uc", + "Ġu c", + "f inite", + "fin ite", + "fi nite", + "Ġ nm", + "Ġn m", + ". cmd", + ".c md", + ".cm d", + "ĠMy Sql", + "[ data", + "[d ata", + ".j ackson", + ". tree", + ".t ree", + ".tr ee", + "Request Param", + "_ agent", + "_a gent", + "_ag ent", + "_age nt", + "\" )]čĊ", + "\") ]čĊ", + "\")] čĊ", + "Ġas sass", + "Ġass ass", + "( Constants", + "(Constant s", + "(Const ants", + ": ss", + ":s s", + "Ġ MAN", + "ĠM AN", + "ĠMA N", + "+- +-", + "Ġ Bottom", + "ĠB ottom", + "ĠBot tom", + "ĠBott om", + "pr ints", + "print s", + "pri nts", + "Ġ Same", + "ĠS ame", + "ĠSam e", + "ĠSa me", + "@ Autowired", + "s wap", + "sw ap", + "i ción", + "ic ión", + "ici ón", + "Ġprot esters", + "Ġprote sters", + "Ġprotest ers", + "Ġprotester s", + "Ġh oney", + "Ġhon ey", + "Ġho ney", + "Ġhone y", + "Ġ Veter", + "ĠV eter", + "ĠVe ter", + "ĠVet er", + "( Calendar", + "(C alendar", + "- ad", + "-a d", + "ĠBro oklyn", + "ĠBrook lyn", + "L ife", + "Li fe", + "_ VAR", + "_V AR", + "z ech", + "ze ch", + "Ġ CALL", + "ĠC ALL", + "ĠCA LL", + "ĠCAL L", + "_ CAST", + "_C AST", + "_CA ST", + "ĠE lection", + "ĠEl ection", + "ĠElect ion", + "ĠEle ction", + "Ġ thickness", + "Ġth ickness", + "Ġthick ness", + "V ery", + "Ver y", + "Ve ry", + "_ INTEGER", + "_IN TEGER", + "- dev", + "-d ev", + "-de v", + ") )))", + ")) ))", + "))) )", + "a pat", + "ap at", + "apa t", + "o ooo", + "oo oo", + "ooo o", + "d emo", + "de mo", + "dem o", + "Ġ parseFloat", + "Ġparse Float", + "Ġ Rather", + "ĠR ather", + "ĠRa ther", + "ĠRat her", + "ĠRath er", + "ST IT", + "m aker", + "ma ker", + "make r", + "mak er", + "[ current", + "[c urrent", + "[cur rent", + "[curr ent", + "chron o", + "chr ono", + "Ġ christ", + "Ġch rist", + "Ġchr ist", + "ãģ ª", + "Ġ Detail", + "ĠD etail", + "ĠDe tail", + "ĠDet ail", + "ư á»", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "Ġs ul", + "Ġsu l", + "id ency", + "ide ncy", + "iden cy", + "Q ue", + "Qu e", + "Ġe legant", + "Ġeleg ant", + "a pons", + "ap ons", + "apon s", + "apo ns", + "Ġd ishes", + "Ġdis hes", + "Ġdish es", + "Ġint egers", + "Ġinteg ers", + "Ġinteger s", + "Ġinte gers", + "( read", + "(r ead", + "(re ad", + "0 57", + "05 7", + "find ViewById", + "Ġ Amount", + "ĠA mount", + "ĠAm ount", + "Ġ Skip", + "ĠS kip", + "ĠSk ip", + "ĠSki p", + "Ġhab its", + "Ġha bits", + "Ġhabit s", + "* )(", + "*) (", + "Ġmon sters", + "Ġmonster s", + "M AC", + "MA C", + ": end", + ":e nd", + "Ġf rank", + "Ġfr ank", + "Ġfra nk", + "Ġfran k", + "As sembly", + "Ġ dfs", + "Ġd fs", + "Ġdf s", + "Ġn eut", + "Ġne ut", + "Ġneu t", + "_ TYPES", + "_T YPES", + "_TYPE S", + "_TYP ES", + "e qual", + "eq ual", + "equ al", + "lo yd", + "loy d", + "( uri", + "(u ri", + "(ur i", + "Ġ chi", + "Ġc hi", + "Ġch i", + "Ġdef endant", + "Ġdefend ant", + "Ġconf licts", + "Ġconflic ts", + "Ġconflict s", + "Ġconfl icts", + "Ġ vil", + "Ġv il", + "Ġvi l", + "- js", + "-j s", + "Ġ Peace", + "ĠPe ace", + "Ġ mutable", + "Ġm utable", + "Ġmut able", + "Ġmu table", + ") sender", + ")s ender", + "Ġ Focus", + "ĠF ocus", + "ĠFo cus", + "å» º", + "Ġapprec iated", + "Ġappreciate d", + "s leep", + "Ġ RED", + "ĠR ED", + "ĠRE D", + "C ulture", + "Ġdesign ers", + "Ġdesigner s", + "_ generator", + "_g enerator", + "_gen erator", + "_gener ator", + "c odes", + "co des", + "code s", + "cod es", + "/ ex", + "/e x", + ". GetValue", + ".Get Value", + "um bled", + "umb led", + "umble d", + ".scal ajs", + ".scala js", + "pe ror", + "per or", + "Ġveter ans", + "Ġveteran s", + "Ġ })čĊ", + "Ġ} )čĊ", + "Ġ}) čĊ", + "Ġun fortunately", + "Ġunfortunate ly", + "_ CREATE", + "_C REATE", + "_CRE ATE", + "_CREAT E", + "M ass", + "Ma ss", + "Mas s", + "Ġ CLAIM", + "ĠCL AIM", + "Ġ Meet", + "ĠMe et", + "_ support", + "_s upport", + "_sup port", + "_supp ort", + "B ank", + "Ban k", + "Ba nk", + "( ).Ċ", + "() .Ċ", + "(). Ċ", + "D ark", + "Da rk", + "Dar k", + "_ LOW", + "_L OW", + "_LO W", + "Ġ Mining", + "ĠM ining", + "ĠMin ing", + "ĠMini ng", + "ĠMi ning", + "Ġ Owner", + "ĠO wner", + "ĠOwn er", + "ĠOw ner", + "i era", + "ie ra", + "ier a", + "Client e", + "Cl iente", + "Cli ente", + "Ġencour aging", + "> S", + "Ġboy friend", + "Ġ Half", + "ĠH alf", + "ĠHa lf", + "ĠHal f", + "Ġ ACC", + "ĠA CC", + "ĠAC C", + "A ff", + "Af f", + "_ ar", + "_a r", + "- life", + "-l ife", + "-li fe", + "c x", + ".J Button", + "iz ado", + "iza do", + ". zero", + ".z ero", + ".open qa", + "o ton", + "ot on", + "oto n", + ". textContent", + ".text Content", + "Ġt oll", + "Ġto ll", + "Ġtol l", + "a tie", + "at ie", + "ati e", + "Ġball ot", + "Ġbal lot", + "Ġballo t", + "- number", + "-n umber", + "-num ber", + ". Exception", + ".Ex ception", + "ĉ params", + "ĉparam s", + "c ircle", + "circ le", + "cir cle", + "- map", + "-m ap", + "Ġ nap", + "Ġn ap", + "Ġna p", + "Ġ Robot", + "ĠR obot", + "ĠRob ot", + "ĠRo bot", + "Ġ Ich", + "ĠI ch", + "reg istration", + "registr ation", + "regist ration", + "A mazon", + "Am azon", + "roll ment", + "( exp", + "(e xp", + "(ex p", + "Ġt anks", + "Ġtank s", + "Ġtan ks", + "ĠG ordon", + "ĠGor don", + "ĠGord on", + "Ġm achinery", + "Ġmachine ry", + "Ġmach inery", + "Ġ baseline", + "Ġb aseline", + "Ġbase line", + "Ġbas eline", + "æ ĭ", + "0 86", + "08 6", + "Ø ©", + "Ġ Convention", + "ĠCon vention", + "ĠConv ention", + "ĉ config", + "ĉcon fig", + "ĉconf ig", + "o okies", + "ook ies", + "ookie s", + "m ult", + "mu lt", + "mul t", + "Rec ords", + "Record s", + "Ġ EST", + "ĠE ST", + "ĠES T", + "Ġgar bage", + "Ġcon form", + "Ġconf orm", + "i dal", + "id al", + "ida l", + "Ġb arg", + "Ġbar g", + "Ġba rg", + "Ġsurv ived", + "Ġsurvive d", + "Ġsurviv ed", + "Ġinvestig ations", + "Ġinvestigation s", + "9 35", + "93 5", + ".contains Key", + "---- ----------------------------------------------------------------------Ċ", + "---------------------------------------------------------------- ----------Ċ", + "---------------------------------------------------------------------- ----Ċ", + "or tion", + "ort ion", + "Ġh orr", + "Ġhor r", + "Ġho rr", + "_ http", + "_h ttp", + "_ht tp", + "Ġ mant", + "Ġm ant", + "Ġman t", + "Ġma nt", + "] ;čĊčĊ", + "]; čĊčĊ", + "];čĊ čĊ", + "b inary", + "bin ary", + "9 48", + "94 8", + "e mpl", + "em pl", + "emp l", + "Ġin quiry", + "Ġ Meanwhile", + "ĠMean while", + "0 98", + "09 8", + "Ġcollect ing", + ".Entity Framework", + "\" ,ĊĊ", + "\", ĊĊ", + "\",Ċ Ċ", + "Ġ Pic", + "ĠP ic", + "ĠPi c", + "@ Inject", + "ick ness", + "Ġ Binding", + "ĠB inding", + "ĠBind ing", + "ĠBin ding", + "Ġcont rolling", + "Ġcontrol ling", + "re verse", + "rev erse", + "Ġch airs", + "Ġchair s", + "Ġcha irs", + "Ġchai rs", + "semb led", + "sem bled", + "semble d", + "sembl ed", + "( add", + "(a dd", + "(ad d", + "Dis abled", + "Disable d", + "a nas", + "an as", + "ana s", + ". translate", + ".trans late", + "- ----------Ċ", + "-- ---------Ċ", + "---- -------Ċ", + "-------- ---Ċ", + "--- --------Ċ", + "----- ------Ċ", + "---------- -Ċ", + "------ -----Ċ", + "----------- Ċ", + "------- ----Ċ", + "--------- --Ċ", + "Ġref lected", + "Ġreflect ed", + "Ġrefl ected", + "\" ]ĊĊ", + "\"] ĊĊ", + "\"]Ċ Ċ", + "Ex ternal", + "Ext ernal", + "Extern al", + "Ar row", + "Arr ow", + "S ingleton", + "Single ton", + "Sing leton", + "% x", + "Ġ Å", + "Ġan cest", + "Ġance st", + "Ġanc est", + "ĠOr leans", + "ĉ cmd", + "ĉc md", + "ĉcm d", + "Ġpro hibited", + "Ġprohib ited", + "Ġprohibit ed", + "ith metic", + "( channel", + "(ch annel", + "(chan nel", + "_ css", + "_c ss", + "_cs s", + "For ward", + ". socket", + ".s ocket", + ".so cket", + ".sock et", + "Ġl uc", + "Ġlu c", + "â Ĩ", + "Ġ Firefox", + "ĠFire fox", + "Ġ Movies", + "ĠM ovies", + "ĠMovie s", + "ĠMov ies", + ") _", + ". ends", + ".e nds", + ".end s", + ".en ds", + "( shape", + "(s hape", + "(sh ape", + "Ġde alt", + "Ġdeal t", + "Ġs aves", + "Ġsa ves", + "Ġsave s", + "Ġsav es", + "Ġgl ory", + "Ġglo ry", + "Ġglor y", + "Ġmej or", + "Ġbre athing", + "Ġbreath ing", + "Ġ eller", + "Ġe ller", + "Ġel ler", + "Ġell er", + "Ġelle r", + "get Data", + "Ġ angles", + "Ġan gles", + "Ġang les", + "Ġangle s", + "Ġangl es", + "Ġ toolbar", + "Ġtool bar", + "Ġ spacing", + "Ġsp acing", + "Ġspa cing", + "Ġspac ing", + "0 59", + "05 9", + "I PS", + "IP S", + "Ġfloor s", + "Ġflo ors", + "_ ACTIVE", + "_ACT IVE", + "_ACTIV E", + "Ġ shuffle", + "Ġsh uffle", + "/ shared", + "/sh ared", + "/share d", + "Ġ Ele", + "ĠE le", + "ĠEl e", + "e dish", + "ed ish", + "edi sh", + "edis h", + "Ġweb cam", + ". expect", + ".ex pect", + ".exp ect", + "i loc", + "il oc", + "ilo c", + "Ġ Includes", + "ĠIn cludes", + "ĠInclude s", + "Ġt weeted", + "Ġtweet ed", + "Ġtwe eted", + "Ġtwee ted", + "Ġ :)", + "Ġ: )", + "Ġ Essay", + "ĠEs say", + "ĠEss ay", + "F ix", + "Fi x", + "- between", + "-b etween", + "_ web", + "_w eb", + "_we b", + ". conv", + ".con v", + ".co nv", + "Ġrac ism", + "Ġreflect s", + "Ġrefl ects", + "u mm", + "um m", + "и ÑĤе", + "иÑĤ е", + "_ footer", + "_f ooter", + "_foot er", + "/ docs", + "/d ocs", + "/doc s", + "/do cs", + "Ġ Pour", + "ĠP our", + "ĠPo ur", + "ĠPou r", + "Ng Module", + ". initialize", + ".initial ize", + "pattern s", + "_ In", + "_I n", + "Ġ Abb", + "ĠA bb", + "ĠAb b", + "* čĊ", + "Ġsent iment", + "b uff", + "buf f", + "bu ff", + "_ counts", + "_count s", + "_co unts", + "_cou nts", + "Ġ reuse", + "Ġre use", + "ch unk", + "chu nk", + "Ġim posed", + "Ġimp osed", + "Ġimpose d", + "Primary Key", + "Fore ground", + "Ġcons umed", + "Ġconsum ed", + "Ġconsume d", + "? !", + "Ġd ick", + "Ġdi ck", + "Ġdic k", + "Ġ chron", + "Ġch ron", + "Ġchr on", + "ĠF ern", + "ĠFe rn", + "ĠFer n", + "Ġ responsive", + "Ġres ponsive", + "Ġrespons ive", + "9 58", + "95 8", + "Ġin sect", + "Ġins ect", + "Ġinse ct", + "ic ulty", + "icult y", + "Ġ rw", + "Ġr w", + "Ġa like", + "Ġal ike", + "Ġali ke", + "Ġ subset", + "Ġsub set", + "Ġsubs et", + "Ġ Cookies", + "ĠC ookies", + "ĠCo okies", + "ĠCook ies", + "ĠCookie s", + "Ġ Pair", + "ĠP air", + "ĠPa ir", + "ĠPai r", + "Ġ tier", + "Ġt ier", + "Ġti er", + "Ġtie r", + "I FO", + "IF O", + "av our", + "avo ur", + "avou r", + "Ġ QU", + "ĠQ U", + ", sizeof", + ",size of", + "Ġ merged", + "Ġm erged", + "Ġmer ged", + "Ġmerge d", + "Ġmerg ed", + "m v", + "i tol", + "it ol", + "ito l", + "y lon", + "yl on", + "Ġj umped", + "Ġjump ed", + ". role", + ".r ole", + ".ro le", + "ens aje", + "ensa je", + "R ules", + "Rule s", + "Ru les", + "Ġ browse", + "Ġb rowse", + "Ġbrows e", + "Ġbrow se", + "An imator", + "Anim ator", + "Ġy oga", + "Ġyo ga", + "Ġyog a", + "Ġ variants", + "Ġvar iants", + "Ġvari ants", + "Ġvariant s", + "Ġcour tesy", + "Ġcourt esy", + "Ġcourte sy", + "u ran", + "ur an", + "ura n", + "p bs", + "pb s", + "else if", + "A lt", + "Al t", + "Ġ Lane", + "ĠL ane", + "ĠLa ne", + "ĠLan e", + "C LK", + "CL K", + "I MARY", + "IM ARY", + "IMA RY", + "_ PROPERTY", + "_P ROPERTY", + "_PRO PERTY", + "ï¼ IJ", + "Ġ chan", + "Ġc han", + "Ġch an", + "Ġcha n", + "Ġgrad ually", + "Ġgradu ally", + "Ġgradual ly", + "Ġ shake", + "Ġsh ake", + "Ġsha ke", + "Ġbl onde", + "Ġblo nde", + "Ġblond e", + ".. .\");Ċ", + "... \");Ċ", + "...\" );Ċ", + "- sex", + "-s ex", + "-se x", + "Ġgame play", + "a cies", + "ac ies", + "aci es", + "acie s", + ". refresh", + ".re fresh", + ".ref resh", + "U SB", + "US B", + "Ġ Plot", + "ĠP lot", + "ĠPl ot", + "W as", + "Wa s", + "iss ippi", + "Ġ Tensor", + "ĠT ensor", + "Ġcrypt ocurrency", + "Ġcrypto currency", + "Ġcryptoc urrency", + "Ġdifficult ies", + "De leted", + "Delete d", + "Del eted", + "With out", + "_ append", + "_app end", + "_ap pend", + "_ ver", + "_v er", + "_ve r", + "9 67", + "96 7", + "\" ))čĊ", + "\") )čĊ", + "\")) čĊ", + "Ġh onestly", + "Ġhonest ly", + "Ġ pivot", + "Ġp ivot", + "Ġpiv ot", + "Ġ temps", + "Ġte mps", + "Ġtem ps", + "Ġtemp s", + "_ ps", + "_p s", + "Ġ Unlike", + "ĠUn like", + "[ :-", + "[: -", + "V S", + "_ inf", + "_in f", + "_i nf", + "Ġjun ior", + "Ġjuni or", + "Ġ animations", + "Ġan imations", + "Ġanim ations", + "Ġanimation s", + "Ġ filepath", + "Ġfile path", + "? {{$", + ">{ {$", + ">{{ $", + "Ġ unicode", + "Ġun icode", + "Ġuni code", + "Ġunic ode", + "p laces", + "pl aces", + "place s", + "pla ces", + "Ġ Coffee", + "ĠC offee", + "ĠCo ffee", + "ĠCoff ee", + ". SE", + ".S E", + "Ġ PAR", + "ĠP AR", + "ĠPA R", + "( txt", + "(t xt", + "(tx t", + "g ebra", + "ge bra", + "geb ra", + "Ġ fires", + "Ġf ires", + "Ġfire s", + "Ġfi res", + "Ġfir es", + "Main Window", + "m edium", + "med ium", + "medi um", + "Ġ( âĢľ", + "Ġ lg", + "Ġl g", + "Ġ cmp", + "Ġc mp", + "Ġcm p", + "/ base", + "/b ase", + "_ layers", + "_l ayers", + "_layer s", + "_la yers", + "_ entries", + "_en tries", + "_ent ries", + "Ġadmin ister", + "ĠS UCH", + "ĠSU CH", + "B P", + "ĠScott ish", + "ĉ čĊĉčĊ", + "ĉčĊ ĉčĊ", + "g uard", + "gu ard", + "gua rd", + "Ġ Strong", + "ĠSt rong", + "ĠStr ong", + "In sn", + "Ins n", + "Ġ CAP", + "ĠC AP", + "ĠCA P", + "as ury", + "asu ry", + "Ġ SEE", + "ĠS EE", + "ĠSE E", + "C lock", + "Cl ock", + "Clo ck", + "e rie", + "er ie", + "eri e", + "\\ models", + "\\model s", + "Ġ $$", + "Ġ$ $", + "Ġ Cab", + "ĠC ab", + "ĠCa b", + "Ġwur de", + "Ġsold ier", + "Ġcl ips", + "Ġclip s", + "Ġcli ps", + "Ġarr angement", + "Ġarrang ement", + "Ġarrange ment", + "Ġ Wonder", + "ĠW onder", + "ĠWo nder", + "ĠWon der", + "ĠH orn", + "ĠHor n", + "ĠHo rn", + "Ġsc ared", + "Ġsca red", + "Ġscar ed", + "Ġscare d", + "Ġc ure", + "Ġcur e", + "Ġcu re", + "m kdir", + "mk dir", + "Ġ aligned", + "Ġal igned", + "Ġalign ed", + "Ġ Pink", + "ĠP ink", + "ĠPin k", + "ĠPi nk", + "Ġl anded", + "Ġland ed", + "Ġlan ded", + "D imension", + "Dim ension", + "Scroll Pane", + ". chat", + ".c hat", + ".ch at", + ". With", + ".W ith", + "Ġ Train", + "ĠT rain", + "ĠTr ain", + "ĠTra in", + "] .Ċ", + "]. Ċ", + "Ġth irty", + "Ġd urable", + "Ġdur able", + "Ġ ld", + "Ġl d", + "Ġlate init", + "Ġ charts", + "Ġch arts", + "Ġchar ts", + "Ġchart s", + "Ġcha rts", + "Ġins ult", + ". Fatal", + ".F atal", + ".Fat al", + "_ ct", + "_c t", + "Ġm asks", + "Ġmask s", + "Ġmas ks", + "CLUD ED", + "CLU DED", + "CLUDE D", + "P resident", + "Pres ident", + "Ġcol ours", + "Ġcolour s", + "g ments", + "gment s", + "gm ents", + ". attributes", + ".at tributes", + ".attribute s", + ".attrib utes", + "Ġ Flex", + "ĠF lex", + "ĠFl ex", + "ĠFle x", + "Ġ Clock", + "ĠC lock", + "ĠCl ock", + "ĠClo ck", + "ÃŃ cul", + "ÃŃc ul", + "i men", + "im en", + "ime n", + "J O", + "Ġ Regex", + "ĠReg ex", + "_ LINK", + "_L INK", + "Ġc ouch", + "Ġco uch", + "Ġcou ch", + "Ġ INPUT", + "ĠIN PUT", + "Ġb eating", + "Ġbe ating", + "Ġbeat ing", + "b usiness", + "bus iness", + "pr eced", + "pre ced", + "prec ed", + ". unit", + ".un it", + ".u nit", + ".uni t", + "Ġ Fel", + "ĠF el", + "ĠFe l", + "N ever", + "Ne ver", + "os pel", + "osp el", + ". startswith", + ".start swith", + "ĠE PA", + "ĠEP A", + ". only", + ".on ly", + "Ġpre venting", + "Ġprevent ing", + "Ġprev enting", + "y er", + "ye r", + "Column Name", + "Ġe levation", + "Ġele vation", + "Ġelev ation", + "f lu", + "fl u", + "i cycle", + "ic ycle", + "icy cle", + "Ġ offline", + "Ġoff line", + "Tool bar", + "Ġcomp eting", + "Ġcompet ing", + ") ].", + ")] .", + "Ġm og", + "Ġmo g", + "Ġ isValid", + "Ġis Valid", + "A sk", + "As k", + "_ av", + "_a v", + "_ lat", + "_l at", + "_la t", + "A NC", + "AN C", + "ĠJ oh", + "ĠJo h", + "k ers", + "ke rs", + "ker s", + "Ġ guards", + "Ġg uards", + "Ġgu ards", + "Ġguard s", + "Ġguar ds", + "Ġ chains", + "Ġch ains", + "Ġchain s", + "Ġcha ins", + "Ġchai ns", + "ĠSimple DateFormat", + ". static", + ".st atic", + ".stat ic", + "Ġv essel", + "Ġve ssel", + "Ġvess el", + "Ġves sel", + "Ġm ud", + "Ġmu d", + "Ġst abil", + "Ġstab il", + "Ġsta bil", + "Ġst ret", + "Ġstr et", + "Ġstre t", + "g m", + "am ation", + "ama tion", + "amat ion", + "ç ľ", + "- with", + "-w ith", + "Ġ ros", + "Ġr os", + "Ġro s", + "_ PA", + "_P A", + "Ġ resultado", + "Ġresult ado", + "Ġconf idential", + "Ġconfident ial", + "ĠTok yo", + "ĉ using", + "ĉu sing", + "ĉus ing", + "Ġ Mathf", + "ĠMath f", + "ĠMat hf", + "om bine", + "omb ine", + "Ġ ESPN", + "ĠESP N", + "ĠES PN", + "Ġde alers", + "Ġdeal ers", + "Ġdealer s", + "Ġdismiss ed", + "T RY", + "TR Y", + "Ġte ens", + "Ġteen s", + "Ġtee ns", + "rec ords", + "record s", + "Ġw ings", + "Ġwin gs", + "Ġwing s", + "g allery", + "ac counts", + "account s", + "acco unts", + "_ LIB", + "_L IB", + "Ġj acket", + "Ġja cket", + "Ġjack et", + "Ġjac ket", + "Ġ NSObject", + "ĠNS Object", + "Ġ stones", + "Ġs tones", + "Ġst ones", + "Ġstone s", + "Ġsto nes", + "Ġ Delivery", + "ĠD elivery", + "ĠDel ivery", + "ĠDeliver y", + "ĠD iet", + "ĠDi et", + "ĠDie t", + "/ watch", + "/w atch", + "Ġto ilet", + "Ġtoile t", + "Ġtoi let", + "Ġ Guest", + "ĠG uest", + "ĠGu est", + ". day", + ".d ay", + ".da y", + "0 67", + "06 7", + "Ġ intval", + "Ġint val", + "0 87", + "08 7", + "Vis it", + "Vi sit", + "Ġinvest igated", + "Ġinvestig ated", + "Ġinvestigate d", + "Ġpen tru", + "Ġpent ru", + "ĠThe atre", + "andid ates", + "andidate s", + "andi dates", + "L ang", + "La ng", + "Ġ Serv", + "ĠS erv", + "ĠSe rv", + "ĠSer v", + "Ġ controllers", + "Ġcont rollers", + "Ġcontrol lers", + "Ġcontroller s", + "Ġ setTitle", + "Ġset Title", + "N P", + "a my", + "am y", + "f lat", + "fl at", + "( ui", + "(u i", + "0 69", + "06 9", + "_ document", + "_d ocument", + "_doc ument", + "è ĥ½", + "èĥ ½", + "Ġ Coin", + "ĠC oin", + "ĠCo in", + "ĠAd ams", + "ĠAdam s", + "ĠAda ms", + "p tic", + "pt ic", + "Ġ productive", + "Ġpro ductive", + "Ġproduct ive", + "Ġprod uctive", + "Ġaccompl ished", + "Ġaccomplish ed", + "čĊ čĊčĊčĊ", + "čĊčĊ čĊčĊ", + "čĊčĊčĊ čĊ", + "Ġde ferred", + "Ġdefer red", + "i entes", + "ient es", + "ien tes", + "iente s", + "Ġs inc", + "Ġsi nc", + "Ġsin c", + "ol ars", + "olar s", + "ola rs", + "Right arrow", + "Ġvar iations", + "Ġvari ations", + "Ġvariation s", + "( offset", + "(o ffset", + "(off set", + "9 57", + "95 7", + ". LayoutInflater", + ".Layout Inflater", + "Ġ suspend", + "Ġs uspend", + "Ġsus pend", + "Ġsusp end", + "Ġpre vention", + "Ġprevent ion", + "Ġprev ention", + "_ private", + "_pr ivate", + "_priv ate", + "_ js", + "_j s", + "â ĺħ", + "âĺ ħ", + "Ġw ieder", + "Ġwie der", + "Ġwi eder", + "at um", + "atu m", + "Ĵ Į", + "Ġappear ances", + "Ġappearance s", + ". Document", + ".D ocument", + ".Doc ument", + "Ġvalid ates", + "Ġvalidate s", + "Ġvalida tes", + "c alendar", + "cal endar", + "} \";Ċ", + "}\" ;Ċ", + ". demo", + ".d emo", + ".de mo", + "con ut", + "co nut", + "Ġcor rection", + "Ġcorrect ion", + "Ġcorre ction", + "Ġcorr ection", + "Ġ Deal", + "ĠDe al", + "Ġbatter ies", + "Ġbatt eries", + ". duration", + ".d uration", + ", \\", + "_ marker", + "_m arker", + "_mark er", + "_mar ker", + "m ulti", + "mul ti", + "mult i", + "Ġ halt", + "Ġh alt", + "Ġha lt", + "Ġhal t", + "Ġ cms", + "Ġc ms", + "Ġcm s", + "Ġsh aped", + "Ġshape d", + "Ġsha ped", + "B ro", + "Br o", + "re duce", + "red uce", + "Ġ ####", + "Ġ# ###", + "Ġ## ##", + "Ġ### #", + "C TOR", + "CT OR", + "Ġ Benef", + "ĠB enef", + "ĠBen ef", + "ĠBene f", + "Ġicon ic", + "Ġic onic", + "Ġp iano", + "Ġpi ano", + "Ġpian o", + "Ġeffect iveness", + "Ġeffective ness", + "| .Ċ", + "|. Ċ", + "Ġ ajax", + "Ġa jax", + "Ġaj ax", + "Ġv olumes", + "Ġvol umes", + "Ġvolume s", + "Ġvolum es", + "ภ¡", + "Ġ cljs", + "Ġcl js", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "a ths", + "at hs", + "ath s", + "r aits", + "ra its", + "rait s", + "rai ts", + "å¤ §", + "Ñ ĸ", + "_ mult", + "_m ult", + "_mul t", + "_mu lt", + "Ġfasc inating", + "A verage", + "Ġp ré", + "Ġpr é", + "ĠChair man", + ".find Element", + "_ pin", + "_p in", + "_pi n", + "Ġcom paring", + "Ġcomp aring", + "Ġcompar ing", + "Ġdark ness", + "- Fi", + "-F i", + "- server", + "-s erver", + "-ser ver", + "Ġselect ing", + "s terdam", + "ster dam", + "Ġ Parts", + "ĠP arts", + "ĠPart s", + "ĠPar ts", + "ĠPa rts", + "FORM ATION", + "FORMAT ION", + "Ġn oting", + "Ġnot ing", + "Ġno ting", + "Ġ pile", + "Ġp ile", + "Ġpi le", + "Ġpil e", + "o gs", + "og s", + "Ġ palette", + "Ġp alette", + "Ġpa lette", + "Ġpal ette", + "Ġpale tte", + "_ do", + "_d o", + "it ize", + "iti ze", + "0 79", + "07 9", + "( )(", + "() (", + "Ġdef ining", + "Ġdefin ing", + "Ġ remainder", + "Ġremain der", + "Un its", + "Unit s", + "Uni ts", + "_ TASK", + "_T ASK", + "_TA SK", + "Http Client", + "S ocial", + "So cial", + "Ġf undra", + "Ġfun dra", + "Ġfund ra", + "N R", + "c hest", + "ch est", + "che st", + "ches t", + "C urrency", + "Curr ency", + ". adapter", + ".ad apter", + "Ġd op", + "Ġdo p", + "un ting", + "unt ing", + "ANG UAGE", + "\" He", + "\"H e", + "ĉ index", + "ĉin dex", + "_ package", + "_p ackage", + "_pack age", + ". Icon", + ".I con", + "Ġre pet", + "Ġrep et", + "Ġrepe t", + "m ass", + "ma ss", + "mas s", + "= \".$", + "=\" .$", + "=\". $", + "ĠS ud", + "ĠSu d", + "Ġ lid", + "Ġl id", + "Ġli d", + "pro vince", + "prov ince", + "ì ľ", + "G PIO", + "GP IO", + "Ð ļ", + "Ġ MySQL", + "ĠMy SQL", + "Ġ docs", + "Ġd ocs", + "Ġdo cs", + "Ġdoc s", + "Ġ GA", + "ĠG A", + "Ġip sum", + "Ġips um", + "K ernel", + "Ġac cepts", + "Ġaccept s", + "Ġf itting", + "Ġfit ting", + "Ġcu ando", + "Ġd uplic", + "Ġdup lic", + "ĠBr other", + "ĠBro ther", + "ĠK le", + "ĠKl e", + "n ums", + "num s", + "nu ms", + "Ġ morph", + "Ġm orph", + "Ġmor ph", + "Ġ ########", + "Ġ# #######", + "Ġ## ######", + "Ġ### #####", + "Ġ#### ####", + "Ġ##### ###", + "Ġ CGPoint", + "ĠCG Point", + "< unsigned", + "ä¾ ĭ", + "ĠD uke", + "ĠDu ke", + ".set Bounds", + "q s", + "o ric", + "or ic", + "ori c", + "j er", + "je r", + "Ġreg arded", + "Ġregard ed", + "Http Request", + "Ġb onds", + "Ġbo nds", + "Ġbon ds", + "Ġbond s", + "Ġthorough ly", + "en cent", + "ence nt", + "enc ent", + "Ġhighlight ed", + "Ġac res", + "Ġacre s", + "Ġwork place", + "Ġ Lux", + "ĠL ux", + "ĠLu x", + "Ġ quot", + "Ġqu ot", + "Ġquo t", + "9 86", + "98 6", + ". inflate", + ".in flate", + ".inf late", + "Ġd ocumented", + "Ġdocument ed", + "Ġadd iction", + "Ġaddict ion", + "Ġ mutation", + "Ġm utation", + "Ġmut ation", + ". city", + ".c ity", + ".ci ty", + "Ġbott les", + "Ġbottle s", + "Ġ Repository", + "ĠRe pository", + "ĠRepos itory", + "o nn", + "on n", + "err no", + "ARI ABLE", + "åº ¦", + "_ BEGIN", + "_B EGIN", + "_BE GIN", + "g las", + "gl as", + "' })Ċ", + "'} )Ċ", + "'}) Ċ", + "Ġ Massage", + "ĠM assage", + "ĠMass age", + "ĠMas sage", + "ĠW hit", + "ĠWh it", + "reg ex", + "W A", + "Ġout let", + "- head", + "-h ead", + "-he ad", + "Ġ expired", + "Ġex pired", + "Ġexp ired", + "Ġexpire d", + "Ġ Thai", + "ĠT hai", + "ĠTh ai", + "/ include", + "/in clude", + "/inc lude", + "g radient", + "grad ient", + "s canf", + "scan f", + "Ġs eam", + "Ġse am", + "Ġsea m", + "w al", + "wa l", + "ĉ buf", + "ĉb uf", + "B earer", + "Be arer", + "Bear er", + "Ġprec ious", + "Ġprecio us", + "i facts", + "if acts", + "ifact s", + "ifa cts", + "c oord", + "co ord", + "Ġexpl oration", + "Ġexplo ration", + "Ġexplor ation", + ". getY", + ".get Y", + "( handle", + "(h andle", + "(hand le", + "T opic", + "To pic", + "Top ic", + "Ġ Vent", + "ĠV ent", + "ĠVen t", + "ĠVe nt", + "r hs", + "rh s", + "- -----Ċ", + "-- ----Ċ", + "---- --Ċ", + "--- ---Ċ", + "----- -Ċ", + "------ Ċ", + "Ġ Bright", + "ĠB right", + "ĠBr ight", + "ĠBrig ht", + "ĠBri ght", + "Ġ guild", + "Ġg uild", + "Ġgu ild", + "Ġgui ld", + "m other", + "mo ther", + "mot her", + "moth er", + "st orm", + "sto rm", + "stor m", + "Ġmunicip al", + "Ġ ink", + "Ġin k", + "Ġi nk", + ". TYPE", + ".T YPE", + "w l", + ".. . < /", + "_ ro", + "_r o", + "( (*", + "(( *", + "? ???", + "?? ??", + "??? ?", + "_ vertex", + "_ver tex", + "_vert ex", + "ke it", + "ĠH alloween", + "T I", + "Ġ Va", + "ĠV a", + "_ car", + "_c ar", + "_ca r", + "=\" {{$", + "=\"{{ $", + "=\"{ {$", + "Ġrandom ly", + "а ние", + "ан ие", + "ани е", + "Ġsh ocked", + "Ġshock ed", + "ĠPok émon", + "s ignal", + "sign al", + "sig nal", + "Ġ SDK", + "ĠS DK", + "ĠSD K", + "m iddleware", + "middle ware", + "Ġt reating", + "Ġtr eating", + "Ġtreat ing", + "Ġtre ating", + "Ġbur ned", + "Ġburn ed", + "De partment", + "Dep artment", + "Depart ment", + "ĠS pect", + "ĠSp ect", + "ĠSpec t", + "ĠSpe ct", + "Ġ cliente", + "Ġcl iente", + "Ġclient e", + "Ġcli ente", + "Ġ Reddit", + "ĠRe ddit", + "ĠRed dit", + "_ avg", + "_a vg", + "_av g", + "Ġinst alling", + "Ġinstall ing", + "Ġinstal ling", + "_ alpha", + "_al pha", + ", data", + ",d ata", + "Ġ setId", + "Ġset Id", + "Ġ ListView", + "ĠList View", + "( property", + "(p roperty", + "(pro perty", + "(prop erty", + "Ġcross ing", + "Ġ Obj", + "ĠO bj", + "ĠOb j", + "ĠW ard", + "ĠWar d", + "ĠWa rd", + "ĠRedirect To", + "Ġ Present", + "ĠP resent", + "ĠPres ent", + "ĠPre sent", + "Ġdr aws", + "Ġdraw s", + "Ġdra ws", + "ched uled", + "chedule d", + "Ġlegisl ative", + "Ġtw ist", + "Ġ Stra", + "ĠS tra", + "ĠSt ra", + "ĠStr a", + "Ġ AFP", + "ĠA FP", + "ĠAF P", + "ĠC hap", + "ĠCh ap", + "ĠCha p", + "- pr", + "-p r", + ": CGRect", + "Ġ ces", + "Ġc es", + "Ġce s", + "R outes", + "Route s", + "Ro utes", + "n of", + "no f", + "Ġ visa", + "Ġv isa", + "Ġvis a", + "Ġvi sa", + "Ġ TCP", + "ĠT CP", + "ĠTC P", + "ĠE VEN", + "ĠEV EN", + "ĠEVE N", + "iv ial", + "ivia l", + "ivi al", + "Ġ Letter", + "ĠL etter", + "ĠLet ter", + "R AY", + "RA Y", + "Ġ implode", + "Ġim plode", + "Ġimpl ode", + ". eq", + ".e q", + "= '+", + "=' +", + "Ġmot ivated", + "Ġmotiv ated", + "Ġmotivate d", + ". visible", + ".v isible", + ".vis ible", + ". short", + ".s hort", + ".sh ort", + "> manual", + "Ġ Technical", + "ĠTechn ical", + "Ġcorpor ation", + "Ġcorp oration", + "Ġcorpo ration", + "Ġ HW", + "ĠH W", + "an ka", + "ank a", + "T AIL", + "TA IL", + "is tas", + "ist as", + "ista s", + "Ġper forms", + "Ġperform s", + "Ġperfor ms", + "Ġ Behavior", + "ĠBeh avior", + ". For", + ".F or", + "_ ORDER", + "_OR DER", + "_ORD ER", + "Ġ Kick", + "ĠK ick", + "ĠKi ck", + "Ġ callbacks", + "Ġcall backs", + "Ġcallback s", + "_ dr", + "_d r", + "u ego", + "ue go", + "h ub", + "hu b", + "uff icient", + "s ky", + "sk y", + "Ġ bp", + "Ġb p", + "h table", + "ht able", + "hta ble", + "Ġ ONLY", + "ĠON LY", + "ĠAUTH ORS", + "ĠAUTHOR S", + ". Argument", + ".Arg ument", + "\" };Ċ", + "\"} ;Ċ", + "Ġ Thunder", + "ĠTh under", + "ĠThu nder", + "Ġ Kom", + "ĠK om", + "ĠKo m", + ". Should", + ".Sh ould", + "A UTH", + "AU TH", + "AUT H", + "a hu", + "ah u", + "_ payment", + "_p ayment", + "_pay ment", + "Ġ starter", + "Ġst arter", + "Ġstart er", + "Ġstar ter", + "ìĦ ľ", + "ìļ ©", + "B log", + "Bl og", + "Blo g", + ". patch", + ".p atch", + ".pat ch", + "Ġgover ned", + "Ġgovern ed", + "as sy", + "ass y", + "- found", + "-f ound", + "Ġthe ater", + "Ġtheat er", + "ĠFont Weight", + "Ġ Batman", + "ĠBat man", + "\" If", + "\"I f", + ". Random", + ".R andom", + "_ delta", + "_d elta", + "_del ta", + "Ġ CE", + "ĠC E", + "Auth enticated", + "Authenticate d", + "Ġd rone", + "Ġdr one", + "Ġdro ne", + "Ġc ous", + "Ġco us", + "Ġcou s", + "r adius", + "rad ius", + "radi us", + "M er", + "Me r", + "( None", + "(N one", + "Ġ NJ", + "ĠN J", + "_ headers", + "_header s", + "_head ers", + "_he aders", + "Ġ amer", + "Ġa mer", + "Ġam er", + "py test", + "Ġ Actions", + "ĠA ctions", + "ĠAct ions", + "ĠAction s", + "ĉ ĉĉĠĠĠĠ", + "ĉĉ ĉĠĠĠĠ", + "ĉĉĉ ĠĠĠĠ", + "ĉĉĉĠĠĠ Ġ", + "ĉĉĉĠ ĠĠĠ", + "ĉĉĉĠĠ ĠĠ", + "Ġ ett", + "Ġe tt", + "Ġet t", + "Ġh oly", + "Ġho ly", + "Ġhol y", + "Ġun comfort", + "ĠN in", + "ĠNi n", + "Ġ Decimal", + "ĠD ecimal", + "ĠDe cimal", + "ĠDec imal", + "Ġ Messages", + "ĠM essages", + "ĠMessage s", + "ĠMess ages", + ". sender", + ".s ender", + ".se nder", + ".send er", + "] ])Ċ", + "]] )Ċ", + "]]) Ċ", + "Ġem brace", + "Ġemb race", + "Ġembr ace", + "Th ough", + "Tho ugh", + "/ sp", + "/s p", + "Ġcult ures", + "Ġculture s", + "Ġcul tures", + "Ġhigh way", + "t ar", + "ta r", + ". fail", + ".f ail", + ".fa il", + "_ hidden", + "_h idden", + "_hi dden", + "_hid den", + "ĠcomponentDid Mount", + "ĠW right", + "ĠWr ight", + "Ġj ag", + "Ġja g", + "_ il", + "_i l", + "../ ../../", + "../../ ../", + "i gu", + "ig u", + "F ood", + "Foo d", + "Fo od", + "Ġ ace", + "Ġa ce", + "Ġac e", + "Ġa ños", + "Ġaño s", + "Ġañ os", + "U SD", + "US D", + "Ġmut ual", + "Ġmu tual", + "Log ic", + "Ġt emple", + "Ġtem ple", + "Ġtemp le", + "Ġtempl e", + "Ġbrief ly", + "Ġ Trip", + "ĠT rip", + "ĠTr ip", + "ĠTri p", + "class method", + "default s", + "Ġ chunks", + "Ġch unks", + "Ġchunk s", + ", ,,,", + ",, ,,", + ",,, ,", + "Ġ Reason", + "ĠRe ason", + "$ id", + "$i d", + "- ups", + "-up s", + "-u ps", + "Ġ damn", + "Ġda mn", + "Ġdam n", + "Ġtr ucks", + "Ġtruck s", + "Ġun limited", + "Ġunl imited", + "Ġsc ulpt", + "Ġ Cards", + "ĠC ards", + "ĠCar ds", + "ĠCard s", + "Ġ autor", + "Ġa utor", + "Ġaut or", + "Ġauto r", + "Ġau tor", + "Ġ Testing", + "ĠT esting", + "ĠTest ing", + "ĠTes ting", + "Ġd iese", + "Ġdi ese", + "Ġdie se", + "Ġdies e", + "sh ops", + "shop s", + "ç ´", + "( payload", + "(p ayload", + "Ġ PATH", + "ĠP ATH", + "ĠPA TH", + "ĠPAT H", + "ĠMem orial", + "ĠMemo rial", + "ĠMemor ial", + "Ġridic ulous", + "e gree", + "eg ree", + "egr ee", + "-w inning", + "-win ning", + "Ġre hab", + "Ġreh ab", + "Ġsophistic ated", + "w pdb", + "wp db", + "ĉ path", + "ĉp ath", + "! \";Ċ", + "!\" ;Ċ", + "_ SYS", + "_S YS", + "_SY S", + ". speed", + ".s peed", + ".sp eed", + "Ġ soap", + "Ġso ap", + "s uffix", + "W rap", + "Wr ap", + "Ġenh ancement", + "Ġenhance ment", + "à ī", + "ú b", + "Ġ playlist", + "Ġplay list", + "Ġmix ing", + "Ġmi xing", + "Ġmixin g", + "ant idad", + "anti dad", + "=\" \";Ċ", + "=\"\" ;Ċ", + "Ġ Revision", + "ĠRe vision", + "ĠRev ision", + "Ġ Beat", + "ĠB eat", + "ĠBe at", + "ĠBea t", + ". inc", + ".in c", + ".i nc", + "- way", + "-w ay", + "e ncias", + "enc ias", + "encia s", + "enci as", + "u lers", + "ul ers", + "ule rs", + "uler s", + "C at", + "Ca t", + "i del", + "id el", + "ide l", + "Ġ Ship", + "ĠS hip", + "ĠSh ip", + "ĠShi p", + ". setColor", + ".set Color", + "Ġthreat ening", + "Ġthreaten ing", + ". modules", + ".module s", + ".mod ules", + "Ġafter wards", + "Ġafterward s", + "Ġ Dashboard", + "ĠD ashboard", + "ĠDash board", + "Ċ ĠĊ", + "S ignal", + "Sign al", + "Sig nal", + "Ġ primer", + "Ġpr imer", + "Ġprim er", + "Ġprime r", + "Ġpri mer", + "or neys", + "orney s", + "orne ys", + "ici ary", + "icia ry", + "iciar y", + "Ġ ligne", + "Ġl igne", + "Ġli gne", + "Ġlig ne", + "Ġlign e", + "_ predict", + "_p redict", + "_pre dict", + "_pred ict", + "Ġa est", + "Ġae st", + "Ġaes t", + "_ https", + "_http s", + "_ht tps", + "> :", + "Ġ Lex", + "ĠL ex", + "ĠLe x", + "Ġren contres", + "Ġrencont res", + "Ġrencontre s", + "Ġrencontr es", + "eg ral", + "egr al", + "egra l", + "s cala", + "sc ala", + "scal a", + "_ family", + "_f amily", + "ÃŁ en", + "ÃŁe n", + "_ sym", + "_s ym", + "_sy m", + "Ġunc ertainty", + "Ġuncert ainty", + "Ġuncertain ty", + "Ġ VALUE", + "ĠVAL UE", + "Ġ };čĊčĊ", + "Ġ} ;čĊčĊ", + "Ġ};čĊ čĊ", + "Ġ}; čĊčĊ", + "Ġbr oader", + "Ġbro ader", + "Ġbroad er", + "Ġh orses", + "Ġhor ses", + "Ġhorse s", + "Ġhors es", + "ãģ Ŀ", + "Ġ Kal", + "ĠK al", + "ĠKa l", + "o ba", + "ob a", + "_ INET", + "_IN ET", + "_I NET", + "Ġ Kill", + "ĠK ill", + "ĠKi ll", + "ĠKil l", + "j query", + "a mination", + "am ination", + "amin ation", + "ami nation", + "amina tion", + "[ @\"", + "[@ \"", + "Ġm uj", + "Ġmu j", + "# ##Ċ", + "## #Ċ", + "### Ċ", + "First OrDefault", + "then Return", + "C he", + "Ch e", + "/ footer", + "/f ooter", + "/foo ter", + "Ġp arks", + "Ġpar ks", + "Ġpark s", + "as je", + "ĠG ulf", + "ĠGu lf", + "ĠGul f", + "Ġmod est", + "Ġmode st", + "Ġmo dest", + "Ġmodes t", + ". Init", + ".I nit", + ".In it", + "ï¼Ł ĊĊ", + "ï¼ŁĊ Ċ", + "Ġpros pects", + "Ġprospect s", + "Ġ svg", + "Ġs vg", + "Ġsv g", + "Ġ åı", + "Ġå ı", + ". Dialog", + ".D ialog", + ".Di alog", + ".Dial og", + "_ NET", + "_N ET", + "_NE T", + "Ġ (($", + "Ġ( ($", + "Ġ(( $", + "Ġ ek", + "Ġe k", + "Ġ Warning", + "ĠW arning", + "ĠWar ning", + "ĠWarn ing", + "Ġ MK", + "ĠM K", + "< LM", + "", + ")= >", + "Ġ Repair", + "ĠRe pair", + "ĠRep air", + "_ BE", + "_B E", + "B rand", + "Br and", + "u art", + "ua rt", + "uar t", + "p review", + "pr eview", + "pre view", + "prev iew", + "Ġiniti atives", + "Ġinitiative s", + "r unning", + "run ning", + "b ang", + "ba ng", + "ban g", + "ĉ update", + "ĉup date", + "Ġ Coach", + "ĠCo ach", + "R ich", + "Ġ youtube", + "Ġy outube", + "Ġyou tube", + "Ġrit ual", + "Ġri tual", + "ap pa", + "app a", + "ĠRob inson", + "ĠRobin son", + "p recision", + "pre cision", + "prec ision", + "//// ////////////////////////////////////////////////////////////////////////", + "//////// ////////////////////////////////////////////////////////////////////", + "//////////////// ////////////////////////////////////////////////////////////", + "//////////////////////////////////////////////////////////////// ////////////", + "//////////// ////////////////////////////////////////////////////////////////", + "//////////////////////////////////////////////////////////////////////// ////", + "//////////////////////////////////////////////////////////////////// ////////", + "//////////////////////////////////////////////////////////// ////////////////", + "= []Ċ", + "=[ ]Ċ", + "=[] Ċ", + "Ġcelebr ated", + "Ġcelebrate d", + "O TO", + "OT O", + "Ġin clusion", + "Ġincl usion", + "Ġinclus ion", + "J P", + "' ;čĊčĊ", + "'; čĊčĊ", + "';čĊ čĊ", + "Ġnot able", + "Ġno table", + "Ġnota ble", + "( _.", + "(_ .", + "Man aged", + "Manage d", + "Mana ged", + "Ġgu ides", + "Ġguide s", + "Ġguid es", + "Ġgui des", + "& nbsp", + "ated Route", + "Ġ Adjust", + "ĠAd just", + "ĠAdj ust", + "Ġcol ored", + "Ġcolor ed", + "Ġcolore d", + "_ scores", + "_s cores", + "_score s", + "_sc ores", + "Ġ Tesla", + "ĠTe sla", + "ĠTes la", + "_ progress", + "_pro gress", + "_prog ress", + ". inst", + ".in st", + ".i nst", + ".ins t", + "[ '_", + "[' _", + ". flags", + ".f lags", + ".fl ags", + ".flag s", + "Ġ fclose", + "Ġf close", + "Ġfc lose", + "_ OPER", + "_O PER", + "_OP ER", + "ż y", + "_ note", + "_n ote", + "_no te", + "_not e", + "Ġtrans gender", + "å ķ", + "RI PT", + "Ġab sent", + "Ġabs ent", + "Ġ amet", + "Ġa met", + "Ġam et", + "Ġ operand", + "Ġoper and", + "Ġopera nd", + "ë ©", + "Ġ hood", + "Ġh ood", + "Ġho od", + "to LowerCase", + "a vo", + "av o", + "ĠC ircuit", + "ĠCirc uit", + "ĠL ind", + "ĠLin d", + "ĠLi nd", + "-- }}Ċ", + "= m", + "Ġ suppress", + "Ġsup press", + "Ġsupp ress", + "Ġ MAP", + "ĠM AP", + "ĠMA P", + "i ang", + "ia ng", + "ian g", + "- admin", + "-ad min", + "Ġ sidebar", + "Ġs idebar", + "Ġside bar", + "Ġ Bu", + "ĠB u", + "Ġ Hex", + "ĠH ex", + "ĠHe x", + ", F", + "Ġ Signal", + "ĠS ignal", + "ĠSign al", + "ĠSig nal", + "Ġtrans parency", + "ĠF ederation", + "ĠFeder ation", + "ĠFed eration", + "/ V", + "R eq", + "Re q", + "Ġ pulse", + "Ġp ulse", + "Ġpul se", + "Ġpu lse", + "Ġpuls e", + "Ġt ends", + "Ġte nds", + "Ġten ds", + "Ġtend s", + "Number s", + "Num bers", + "% '", + "Ġde port", + "Ġdep ort", + "d atas", + "data s", + "da tas", + "dat as", + "_ UINT", + "_U INT", + "_UI NT", + "_ tra", + "_t ra", + "_tr a", + "o ko", + "ok o", + "Ġ \"?", + "Ġ\" ?", + "com pet", + "comp et", + "so lete", + "sole te", + "sol ete", + "un dry", + "und ry", + "Ġ overlap", + "Ġover lap", + "Ġoverl ap", + "} `,Ċ", + "}` ,Ċ", + "}`, Ċ", + ". ly", + ".l y", + "_ summary", + "_sum mary", + "Ġ Lost", + "ĠL ost", + "ĠLo st", + "ĠLos t", + ". Center", + ".C enter", + "Ġdis ability", + ". Serialization", + ".S erialization", + ".Serial ization", + "Ġ geom", + "Ġge om", + "Ġgeo m", + "Ġ ?:", + "Ġ? :", + "Ġ Wo", + "ĠW o", + "Ġsh ipped", + "Ġship ped", + "Ĥ æķ°", + "Ġu gly", + "Ġug ly", + "Ġugl y", + "Ġexcit ement", + "Ġex terior", + "Ġext erior", + "Ġexter ior", + "Ġ checkout", + "Ġcheck out", + "Ġ kur", + "Ġk ur", + "Ġku r", + ", D", + "ĠAl aska", + "ĠAla ska", + "Ġsyn thetic", + "Ġsynth etic", + "Ġsynt hetic", + "Ġ Budget", + "ĠB udget", + "ĠBud get", + "Ġ Subscribe", + "ĠSub scribe", + "Ġ &Ċ", + "Ġ& Ċ", + "ÈĻ i", + "Ġ Yu", + "ĠY u", + "ĉ query", + "} .Ċ", + "}. Ċ", + "Ġtr aged", + "Ġtra ged", + "Ġtrag ed", + "as sen", + "ass en", + "asse n", + "Ġaccom modation", + "Ġaccommod ation", + "Ġphys ician", + "Ġphysic ian", + "Ġre named", + "Ġren amed", + "Ġrename d", + "Ġt idak", + "Ġtid ak", + "z Äħ", + "Ġ minus", + "Ġm inus", + "Ġmin us", + "n ych", + "ny ch", + "0 97", + "09 7", + "_EX CEPTION", + "th reads", + "thread s", + "Ġt ire", + "Ġti re", + "Ġtir e", + "_ created", + "_c reated", + "_create d", + "_cr eated", + "_cre ated", + "en sure", + "ens ure", + "Ġ worthy", + "Ġw orthy", + "Ġwor thy", + "Ġworth y", + "Ġexc use", + "Ġ cloth", + "Ġc loth", + "Ġcl oth", + "Ġclo th", + "Ġclot h", + ". parentNode", + ".parent Node", + "/ platform", + "/pl atform", + "ĠU FC", + "ĠUF C", + "Ġ Gtk", + "ĠG tk", + "un ny", + "unn y", + "Ġg ibt", + "Ġgi bt", + "Ġgib t", + "ke ley", + "kel ey", + "h um", + "hu m", + "( tx", + "(t x", + "ĉ dev", + "ĉd ev", + "ĉde v", + "Ġout fit", + "Ġoutf it", + "do ors", + "door s", + "Ġ fon", + "Ġf on", + "Ġfo n", + "i cut", + "ic ut", + "v olatile", + "vol atile", + "Ġhom osex", + "Ġhomo sex", + "Max imum", + "Ġex pend", + "Ġexp end", + "Ġ });ĊĊĊ", + "Ġ} );ĊĊĊ", + "Ġ});Ċ ĊĊ", + "Ġ});ĊĊ Ċ", + "Ġ}) ;ĊĊĊ", + "Ġ}); ĊĊĊ", + "E q", + "on ders", + "ond ers", + "onder s", + "onde rs", + "de partment", + "dep artment", + "depart ment", + "Ġ Physics", + "ĠPh ysics", + "ĠPhys ics", + "\" });Ċ", + "\"} );Ċ", + "\"}) ;Ċ", + "Ġpar ad", + "Ġpara d", + "Ġpa rad", + ". Str", + ".S tr", + ".St r", + "Ġs ele", + "Ġse le", + "Ġsel e", + "IF IED", + "IFI ED", + "Ġdel ivers", + "Ġdeliver s", + "i van", + "iv an", + "iva n", + "Ġrespons ibilities", + "Ġadvoc ates", + "Ġadvocate s", + "è µ", + "Ġ RID", + "ĠR ID", + "ĠRI D", + ". parameters", + ".param eters", + ".parameter s", + "M etrics", + "Met rics", + "Metric s", + "ron ics", + "ronic s", + "Ġ UITableViewCell", + "ĠUI TableViewCell", + "ĠUITableView Cell", + "A bsolute", + "Abs olute", + "ip se", + "ips e", + "y lum", + "yl um", + "ML Element", + "MLE lement", + "_ VALID", + "_VAL ID", + "< title", + " \\<^", + ">\\< ^", + "Ġ ios", + "Ġi os", + "Ġio s", + "s ound", + "so und", + "sou nd", + "\" ];", + "\"] ;", + "Ġf reed", + "Ġfr eed", + "Ġfree d", + "Ġfre ed", + "r ottle", + "rot tle", + "rott le", + "Ġ Lower", + "ĠL ower", + "ĠLo wer", + "ĠLow er", + "ĠLowe r", + "[ count", + "[c ount", + "å Ŀ", + "Ġp ale", + "Ġpa le", + "Ġpal e", + "ĠW ayne", + "ĠWay ne", + "ĠWa yne", + "e arth", + "ear th", + "_ categories", + "_c ategories", + "U CK", + "UC K", + ". metadata", + ".m etadata", + ".meta data", + ".met adata", + "Ġsum mon", + "Ġsumm on", + "H OME", + "HO ME", + "олÑĮ з", + "Ġmanufact ured", + "Ġmanufacture d", + "Ġ dock", + "Ġd ock", + "Ġdo ck", + "Ġdoc k", + "Ġcompet itors", + "Ġcompetitor s", + "Ġcompetit ors", + "_ MODEL", + "_MODE L", + "_MO DEL", + "_MOD EL", + "ok ia", + "oki a", + "Ġ Hey", + "ĠH ey", + "ĠHe y", + "Î ¿", + "Ġ backward", + "Ġback ward", + "ĠPO SS", + "ĠPOS S", + "r opa", + "ro pa", + "rop a", + "Ġ cri", + "Ġc ri", + "Ġcr i", + "_ OBJ", + "_O BJ", + "Trans port", + "- high", + "-h igh", + "Ġerot ik", + "Ġero tik", + "_ slot", + "_s lot", + "_sl ot", + "Ġ artic", + "Ġar tic", + "Ġart ic", + "_ framework", + "_f ramework", + "_frame work", + "_fr amework", + "-s erif", + "-se rif", + "-ser if", + "ĠSql DbType", + "' )(", + "') (", + "+ \"/", + "+\" /", + "Ġw ore", + "Ġwor e", + "Ġwo re", + "S il", + "Si l", + "Ġst oring", + "Ġstor ing", + "Ġsto ring", + "Ġ Phase", + "ĠPh ase", + "u ant", + "ua nt", + "uan t", + "Ġb ump", + "Ġbu mp", + "Ġbum p", + "in ho", + "inh o", + "Ġd ign", + "Ġdi gn", + "Ġdig n", + "Ġ backs", + "Ġb acks", + "Ġback s", + "Ġba cks", + "Ġbac ks", + "q q", + "( hash", + "(h ash", + "(has h", + "Ġ geo", + "Ġg eo", + "Ġge o", + "Ġt ender", + "Ġte nder", + "Ġten der", + "Ġtend er", + "L ogo", + "Log o", + "Lo go", + "! )Ċ", + "!) Ċ", + "Ġ MX", + "ĠM X", + "Ġ Arthur", + "ĠAr thur", + "ĠArt hur", + "ĠArth ur", + "ess oa", + "esso a", + "_ Ch", + "_C h", + "Ġbed rooms", + "Ġbedroom s", + "=\"# \"><", + "=\"#\" ><", + "=\"#\"> <", + "Ġ throat", + "Ġth roat", + "Ġthro at", + "i nsic", + "in sic", + "ins ic", + "insi c", + ". integer", + ".int eger", + "Ġ primitive", + "Ġpr imitive", + "Ġprim itive", + "Truth y", + "Ġfacilit ate", + "Ġfacil itate", + "Ġcre ativity", + "Ġcreat ivity", + "Ġ DNS", + "ĠD NS", + "ĠDN S", + "Ġ gra", + "Ġg ra", + "Ġgr a", + "u ez", + "ue z", + "Ġcount less", + "ĠP oland", + "ĠPol and", + "ĠPo land", + "' M", + "Ġ Dist", + "ĠD ist", + "ĠDis t", + "ĠDi st", + "Ġ vest", + "Ġv est", + "Ġve st", + "Ġves t", + "Ġcert ification", + "Ġcertif ication", + "á» ij", + "h eld", + "he ld", + "hel d", + "ext ensions", + "extension s", + "( static", + "(st atic", + "(stat ic", + "Ġ grades", + "Ġg rades", + "Ġgr ades", + "Ġgrad es", + "Ġgrade s", + "Ġgra des", + "Ġ Uber", + "ĠU ber", + "ĠUb er", + "ãģ Ł", + "Ġ [])Ċ", + "Ġ[ ])Ċ", + "Ġ[] )Ċ", + "Ġ[]) Ċ", + "d atos", + "da tos", + "dat os", + "dato s", + "Ġ getData", + "Ġget Data", + "ĠCh arg", + "ĠChar g", + "ĠCha rg", + "Ġ BS", + "ĠB S", + ".m icrosoft", + ".micro soft", + ". video", + ".v ideo", + ". direction", + ".d irection", + ".dir ection", + ".di rection", + ".direct ion", + "-> {'", + "->{ '", + "l ua", + "lu a", + "a pest", + "ap est", + "ape st", + "apes t", + "Ġbo iler", + "Ġboil er", + "e rek", + "er ek", + "ere k", + "Ġdec ides", + "Ġdecide s", + "Ġdecid es", + ". jar", + ".j ar", + "I SC", + "IS C", + "Ġ Words", + "ĠW ords", + "ĠWord s", + "ĠWor ds", + "( CON", + "(C ON", + "EMPL ATE", + "ree ze", + "s hots", + "sh ots", + "shot s", + "a pps", + "ap ps", + "app s", + "un ted", + "unt ed", + "unte d", + ". setName", + ".set Name", + ": :<", + ":: <", + "- bold", + "-b old", + "-bo ld", + "ê ²", + "å¯ Ĩ", + "Long rightarrow", + "Ġun fair", + "Ġunf air", + "Ġ earning", + "Ġe arning", + "Ġear ning", + "Ġearn ing", + "Ġ shelf", + "Ġsh elf", + "Ġshe lf", + "Ġshel f", + "UR EMENT", + "URE MENT", + "Ġ idle", + "Ġi dle", + "Ġid le", + "_ MENU", + "_M ENU", + "_ME NU", + ". Custom", + ".C ustom", + "A GER", + "AG ER", + "AGE R", + "- \"", + "_ switch", + "_s witch", + "_sw itch", + "b ecause", + "be cause", + "bec ause", + ") view", + ")v iew", + "m are", + "ma re", + "mar e", + "_ condition", + "_con dition", + "_cond ition", + "Ġ Starting", + "ĠStart ing", + "ĠStar ting", + "M vc", + "( pre", + "(p re", + "(pr e", + "d ump", + "du mp", + "dum p", + "_ LOCK", + "_L OCK", + "_LO CK", + "_LOC K", + "at etime", + "ate time", + ". callback", + ".c allback", + ".call back", + "ĠC er", + "ĠCe r", + "o pol", + "op ol", + "opo l", + "ib rary", + "ibr ary", + "Ġ reservation", + "Ġres ervation", + "Ġreserv ation", + "Ġreserva tion", + "ĉ ĉĉĉĉĉĉĊ", + "ĉĉ ĉĉĉĉĉĊ", + "ĉĉĉĉ ĉĉĉĊ", + "ĉĉĉ ĉĉĉĉĊ", + "ĉĉĉĉĉ ĉĉĊ", + "ĉĉĉĉĉĉ ĉĊ", + "ĉĉĉĉĉĉĉ Ċ", + "l ector", + "le ctor", + "lect or", + "lec tor", + "grad uate", + "Ġgener ous", + "Ġgene rous", + "Ġ ion", + "Ġi on", + "Ġio n", + "r icao", + "ri cao", + "ric ao", + "rica o", + "m q", + "_ complete", + "_com plete", + "_comp lete", + "( cursor", + "(c ursor", + "Ġ FormControl", + "ĠForm Control", + ": center", + ":c enter", + "Ġsub stitute", + "Ġsubstit ute", + "Ġ Planning", + "ĠPl anning", + "ĠPlan ning", + "Ġp ension", + "Ġpens ion", + "Ġrecommend ation", + "Ġ Tags", + "ĠT ags", + "ĠTag s", + "ĠTa gs", + "Ġg ef", + "Ġge f", + "Ġ albums", + "Ġalbum s", + "Ġalb ums", + "Ġ washing", + "Ġw ashing", + "Ġwash ing", + "r oc", + "ro c", + "Ġtr ains", + "Ġtrain s", + "Ġtra ins", + "Ġtrai ns", + "a tings", + "at ings", + "ating s", + "atin gs", + "Ġex ponent", + "Ġexp onent", + "ack bar", + "- ln", + "-l n", + "á g", + ".Data Annotations", + "Ġ EIF", + "ĠE IF", + "ĠEI F", + "ĠMal aysia", + "ĠMalays ia", + "ĉ PORT", + "ĉP ORT", + "on us", + "onu s", + "Ġc lever", + "Ġcl ever", + "Ġcle ver", + "Ġp eu", + "Ġpe u", + "> ĊĊĊĊ", + ">Ċ ĊĊĊ", + ">ĊĊ ĊĊ", + ">ĊĊĊ Ċ", + "Ġ Arguments", + "ĠArg uments", + "ĠArgument s", + "Ġdeb ugging", + "Ġdebug ging", + "( right", + "(r ight", + "' D", + "com pute", + "comp ute", + "comput e", + "Ġfin est", + "Ġfine st", + "Ġfi nest", + "Ġfines t", + "OR AGE", + "ORA GE", + "Ġspect acular", + "ph rase", + "Ġin dia", + "Ġind ia", + "Ġlegend ary", + "b irth", + "bir th", + "Ġ composite", + "Ġcom posite", + "Ġcomp osite", + "Ġcompos ite", + "Ġg rows", + "Ġgr ows", + "Ġgrow s", + "Ġgro ws", + "Ġ TD", + "ĠT D", + "Ġe pid", + "Ġep id", + "Ġlaunch ing", + "] ][", + "]] [", + "Min utes", + "Minute s", + "Ġ Cha", + "ĠC ha", + "ĠCh a", + "Ġclean ed", + "Ġcle aned", + "Ġwitness es", + "u kan", + "uk an", + "uka n", + "ĉ Type", + "ĉT ype", + "Ġh abe", + "Ġhab e", + "Ġha be", + "par agraph", + "para graph", + "ĠJ Panel", + "ĠJP anel", + "ĠH ann", + "ĠHa nn", + "ĠHan n", + "Ġvar ied", + "Ġvari ed", + "Ġva ried", + "Ġ Pokemon", + "ĠP okemon", + "ĠPok emon", + "ĠPoke mon", + "ĠM UST", + "ĠMU ST", + "åĬ ¨", + ". visibility", + ".vis ibility", + "op up", + "^ [", + ". expand", + ".exp and", + "Ġ \"',", + "Ġ\" ',", + "Ġ\"' ,", + ".f asterxml", + "_ auto", + "_a uto", + "_aut o", + "Ġ Sheet", + "ĠS heet", + "ĠShe et", + "m arker", + "mark er", + "mar ker", + "Par cel", + "e ws", + "ew s", + "Ġ Strategy", + "ĠStr ategy", + "ĠStrateg y", + "- making", + "-m aking", + "Ġun ve", + "Ġtr ailing", + "Ġtrail ing", + "Ġtra iling", + "Ġtrai ling", + "Ġcl icks", + "Ġclick s", + "Ġcli cks", + "Ġclic ks", + "Ġ GetComponent", + "ĠGet Component", + "ĉ content", + "ĉc ontent", + "ĉcon tent", + "ĉcont ent", + "IG ENCE", + "ER NEL", + "ERN EL", + "NSMutable Array", + "Ġb reat", + "Ġbr eat", + "Ġbre at", + "Ġharm ful", + "¶ Ī", + "Ġbes ides", + "Ġbeside s", + "Ġb oring", + "Ġbo ring", + "Ġbor ing", + "Ġbrut al", + "Ġbru tal", + "v ang", + "va ng", + "van g", + "( parse", + "(p arse", + "(par se", + "qu ick", + "qui ck", + "Ġ pytest", + "Ġpy test", + "Ġpyt est", + "Ġswitch ing", + "( )]Ċ", + "() ]Ċ", + "()] Ċ", + "Ġ ìĦ", + "Ġì Ħ", + "L ER", + "LE R", + "ĉ font", + "ĉf ont", + "Ġ nett", + "Ġn ett", + "Ġne tt", + "Ġnet t", + ") ]ĊĊ", + ")]Ċ Ċ", + ")] ĊĊ", + "( /\\", + "(/ \\", + "æŀ ľ", + "to Array", + "Ġb reed", + "Ġbr eed", + "Ġbre ed", + "Ġbree d", + "Ġ CAR", + "ĠC AR", + "ĠCA R", + "Ġ Weapon", + "ĠWe apon", + "A bs", + "Ab s", + "t ot", + "to t", + "Ġ setName", + "Ġset Name", + "a ptive", + "apt ive", + "Ġ :,", + "Ġ: ,", + "Ġ escaped", + "Ġesc aped", + "Ġescape d", + "Ġescap ed", + "or den", + "ord en", + "orde n", + "Ġ Pri", + "ĠP ri", + "ĠPr i", + "th umbnail", + "Ġde scriptions", + "Ġdes criptions", + "Ġdescription s", + "Ġdescri ptions", + "/ styles", + "/st yles", + "/style s", + "Ġ PCI", + "ĠP CI", + "ĠPC I", + "Ġ alphabet", + "Ġal phabet", + "Ġalpha bet", + "Ġalph abet", + "astic search", + "astics earch", + "N OTE", + "NO TE", + "NOT E", + "Ġc ialis", + "Ġci alis", + "ĠGr iff", + "ĠGri ff", + "Ġp orque", + "Ġpor que", + "Ġprote ins", + "Ġprotein s", + "p lays", + "pl ays", + "play s", + "pla ys", + "Ġst ating", + "Ġstat ing", + "Ġsta ting", + "Ġstati ng", + "Ġim agination", + "Ġimag ination", + "Ġimagin ation", + "Ġf acial", + "Ġfa cial", + "Ġfac ial", + "ĠM echan", + "ĠMe chan", + "ĠMech an", + "ĠMec han", + "Ġarr anged", + "Ġarrang ed", + "Ġarrange d", + "_ used", + "_u sed", + "_us ed", + "_use d", + "Ġarrang ements", + "Ġarrangement s", + "Ġarrange ments", + "Ġ Pipe", + "ĠP ipe", + "ĠPi pe", + "ĠPip e", + "host name", + "Ġpro vinc", + "Ġprov inc", + "T it", + "Ti t", + ".Flat Style", + "Ġ Split", + "ĠS plit", + "ĠSp lit", + "ĠSpl it", + "Ġ Loader", + "ĠL oader", + "ĠLo ader", + "ĠLoad er", + ". cc", + ".c c", + "Ġ clinic", + "Ġcl inic", + "Ġclin ic", + "Ġcli nic", + "-------- --------------------", + "---------------- ------------", + "------------ ----------------", + "------------- ---------------", + "--------------- -------------", + "-------------- --------------", + "-------------------- --------", + "Ġb aking", + "Ġba king", + "Ġbak ing", + "Ġ ENT", + "ĠE NT", + "ĠEN T", + "ne ath", + "nea th", + "ãĢģ ĊĊ", + "ãĢģĊ Ċ", + "A NE", + "AN E", + ".EntityFramework Core", + "a ppers", + "ap pers", + "app ers", + "apper s", + "appe rs", + ". ic", + ".i c", + "Ġ NgModule", + "ĠNg Module", + "Ġ FORM", + "ĠF ORM", + "ĠFOR M", + "ĠFO RM", + "Ġ ';", + "Ġ' ;", + "- profit", + "-pro fit", + "-prof it", + "h w", + "en emy", + "ene my", + "Ġ Eye", + "ĠE ye", + "ĠEy e", + "Ġca ution", + "Ġcaut ion", + "t own", + "to wn", + "Ġur ged", + "Ġurge d", + "Ġurg ed", + "Ġ Jimmy", + "ĠJim my", + "ynchron ous", + "-s ized", + "-size d", + "m aking", + "ma king", + "mak ing", + ", {", + "] ',", + "]' ,", + "_ Object", + "_O bject", + "_Obj ect", + "ah oma", + "aho ma", + "Ġact ivist", + "Ġactiv ist", + "IN VAL", + "INV AL", + "Ġ Commercial", + "ĠCom mercial", + "ĠComm ercial", + "ĠOr lando", + "( tab", + "(t ab", + "Ġ ب", + "ĠØ ¨", + "Al gorithm", + "Ġher itage", + "Get Mapping", + "Ġfail ures", + "Ġfailure s", + "r ios", + "ri os", + "rio s", + "at iva", + "ati va", + "ativ a", + "Ġ tet", + "Ġt et", + "Ġte t", + "Ġcar pet", + "Ġcarp et", + "( Z", + "th ree", + "thr ee", + "Ġdis closure", + "Ġdisc losure", + ". ERROR", + ".ERR OR", + "_ called", + "_c alled", + "_call ed", + "_cal led", + "Ġd ial", + "Ġdi al", + "Ġdia l", + "Ġoccas ional", + "Ġoccasion al", + ". Err", + ".E rr", + "Ġfun cion", + "Ġfunc ion", + "caff old", + "caf fold", + "Ġre leasing", + "Ġrele asing", + "ï¼ī ĊĊ", + "ï¼īĊ Ċ", + "_ Value", + "_V alue", + "_Val ue", + "Ġ Vari", + "ĠV ari", + "ĠVar i", + "ĠVa ri", + "y ellow", + "Ġstrugg les", + "Ġstruggle s", + ". cal", + ".c al", + ".ca l", + "ĠDak ota", + "ĉ close", + "ĉc lose", + "ĉcl ose", + "Ġsand wich", + "Ġ analytics", + "Ġan alytics", + "Ġanaly tics", + "Ġanalytic s", + "Ġ **)", + "Ġ* *)", + "Ġ** )", + "& #", + "Ġ Jos", + "ĠJ os", + "ĠJo s", + "Ġpass ive", + "AT TR", + "ATT R", + "Th rowable", + "Throw able", + "ĠM un", + "ĠMu n", + "Ġ Uint", + "ĠU int", + "ĠUi nt", + "( disposing", + "(dis posing", + "a rak", + "ar ak", + "ara k", + "Ġ Leaders", + "ĠLe aders", + "ĠLeader s", + "ĠLead ers", + "Ġaffect ing", + "Ġitem View", + "Ġe conomics", + "Ġecon omics", + "Ġeconomic s", + "Ġeconom ics", + "f v", + "๠Ģ", + ". rb", + ".r b", + "Ġ Overall", + "ĠOver all", + "Ġwealth y", + "Ġev olved", + "Ġevolve d", + "n da", + "nd a", + "ĠH us", + "ĠHu s", + "re strict", + "u men", + "um en", + "ume n", + "ĠA gricult", + "ĠAgr icult", + "! ĊĊĊ", + "!ĊĊ Ċ", + "!Ċ ĊĊ", + "Ġ expires", + "Ġex pires", + "Ġexp ires", + "Ġexpire s", + "Ġspokes person", + "int erval", + "inter val", + "Ġ â", + "Ġà ¢", + "Ġ queen", + "Ġqu een", + "Ġque en", + "( nil", + "(n il", + "i ngo", + "in go", + "ing o", + "He ap", + "Ù İ", + "Ġcom plain", + "Ġcomp lain", + "Ġcompl ain", + "S ym", + "Sy m", + "Ġ Clone", + "ĠCl one", + "ĠClo ne", + "Ġ Ru", + "ĠR u", + "ĠW ILL", + "ĠWI LL", + "Ġ Crystal", + "ĠCr ystal", + "ĠCry stal", + "/ content", + "/c ontent", + "/con tent", + "i ngen", + "in gen", + "ing en", + "inge n", + "oint ment", + "Last Name", + "av icon", + "avi con", + "avic on", + "Ġ IBM", + "ĠI BM", + "ĠIB M", + "Ġ Dimension", + "ĠD imension", + "ĠDim ension", + "a nh", + "an h", + "ici pants", + "icip ants", + "icipant s", + "Ġ Anne", + "ĠAn ne", + "ĠAnn e", + ". progress", + ".pro gress", + "Ġ algo", + "Ġal go", + "Ġalg o", + "o bil", + "ob il", + "obi l", + "Ġ Voice", + "ĠV oice", + "ĠVo ice", + "Ġ FE", + "ĠF E", + "Ġ gli", + "Ġg li", + "Ġgl i", + "Ġ ved", + "Ġv ed", + "Ġve d", + "Ġpr events", + "Ġpre vents", + "Ġprevent s", + "Ġprev ents", + "\\ Column", + "\\C olumn", + "Ġ folk", + "Ġf olk", + "Ġfol k", + "Ġfo lk", + "e tti", + "et ti", + "ett i", + "Ġ mn", + "Ġm n", + "Ġ CLASS", + "ĠCL ASS", + "Ġdis playing", + "Ġdisplay ing", + "Ġdispl aying", + "ĠK l", + "ĠF err", + "ĠFe rr", + "ĠFer r", + "d uto", + "du to", + ". ib", + ".i b", + "Ġ dados", + "Ġd ados", + "Ġda dos", + "Ġdad os", + "Ġdado s", + "' name", + "'n ame", + "'na me", + "- space", + "-s pace", + "-sp ace", + "Ġit alian", + "Ġitalia n", + "Ġ inverse", + "Ġin verse", + "Ġinv erse", + "Ġinvers e", + "Ġ dense", + "Ġd ense", + "Ġden se", + "Ġdens e", + "u ter", + "ut er", + "ute r", + "Ġ IEnumerator", + "ĠI Enumerator", + "- sign", + "-s ign", + "Ġnation wide", + "Ġ persona", + "Ġperson a", + "Ġpers ona", + "Ġperso na", + "Ġs olved", + "Ġsol ved", + "Ġsolve d", + "Ġdram atically", + "Ġdramatic ally", + "Log out", + "Logo ut", + "Ġ grav", + "Ġg rav", + "Ġgr av", + "Ġgra v", + "Ġanal yses", + "Ġanaly ses", + "Ġanalys es", + "Ġanalyse s", + "ol lo", + "oll o", + "Ġ lamp", + "Ġl amp", + "Ġla mp", + "Ġlam p", + ". team", + ".t eam", + ".te am", + "Ġ Erot", + "ĠE rot", + "ĠEr ot", + "= [\"", + "=[ \"", + "Ġd ancing", + "Ġdan cing", + "Ġ ?>/", + "Ġ? >/", + "Ġ?> /", + "Ġc ater", + "Ġca ter", + "Ġcat er", + "Ġcate r", + "f fe", + "ff e", + "Ġ Sha", + "ĠS ha", + "ĠSh a", + "ĠB os", + "ĠBo s", + "ĠRE QUIRE", + "Ġ Monster", + "ĠMon ster", + "ĠMons ter", + "Ġ RB", + "ĠR B", + "Ġ IDE", + "ĠI DE", + "ĠID E", + "Ġs uits", + "Ġsu its", + "Ġsuit s", + "Ġsui ts", + "Ġ formData", + "Ġform Data", + "( theta", + "(th eta", + "(the ta", + "Ġs patial", + "Ġsp atial", + "Ġspat ial", + "= NULL", + "=N ULL", + "Ġ SqlConnection", + "ĠSql Connection", + "Ġ à", + "ĠV enez", + "ĠVen ez", + "ĠVe nez", + "Ġ Morning", + "ĠM orning", + "ĠMor ning", + "Ġpublic ations", + "Ġpub lications", + "Ġpublication s", + "ĠNON INFRINGEMENT", + "first Name", + "u ds", + "ud s", + "W ould", + "Wo uld", + "_ HEAD", + "_HE AD", + "Ġinv ested", + "Ġinvest ed", + "Ġinve sted", + "s table", + "st able", + "sta ble", + "stab le", + "f red", + "fr ed", + "fre d", + "Ġcomm ander", + "Ġcommand er", + "Ġcomma nder", + "Ġcommande r", + "S ES", + "SE S", + "âĢĶ a", + "an che", + "anc he", + "anch e", + "Ġ Movement", + "ĠM ovement", + "ĠMo vement", + "ĠMove ment", + "ĠMov ement", + "ë ³", + "S uite", + "Su ite", + "Suit e", + "Ġjur isdiction", + "ë ¦¬", + "ë¦ ¬", + "Ġ Beth", + "ĠB eth", + "ĠBe th", + "ĠBet h", + "j Query", + "ĠI sa", + "ĠIs a", + "Ġd ental", + "Ġden tal", + "Ġdent al", + ", *", + "Ġ Limit", + "ĠL imit", + "ĠLim it", + "ĠLi mit", + "il iation", + "ili ation", + "ilia tion", + "= \"{", + "=\" {", + "b ast", + "ba st", + "bas t", + "Ġt urb", + "Ġtu rb", + "Ġtur b", + "i sy", + "is y", + "O OK", + "OO K", + "Ġadv ocate", + "Ġadvoc ate", + "i mag", + "im ag", + "ima g", + "LE CTION", + "LECT ION", + "LEC TION", + "л ÑĮ", + "( category", + "(c ategory", + ". dec", + ".d ec", + ".de c", + "Ġun iqu", + "Ġuni qu", + "Ġuniq u", + "_ sn", + "_s n", + "Ġat tracted", + "Ġattr acted", + "Ġattract ed", + "Ġ Ãī", + "Ġà ī", + "Ġ Running", + "ĠR unning", + "ĠRun ning", + "_ edges", + "_edge s", + "_ed ges", + "Ġ Disable", + "ĠD isable", + "ĠDis able", + "_ AS", + "_A S", + "åĽ ¾", + "Ġnetwork ing", + "Ġnet working", + "_ branch", + "_br anch", + "H aving", + "Ha ving", + "toBe Truthy", + "G I", + "Ġc amps", + "Ġca mps", + "Ġcamp s", + "Ġcam ps", + "s ep", + "se p", + "- part", + "-p art", + "-par t", + "Ġ )ĊĊĊĊĊĊĊĊ", + "Ġ) ĊĊĊĊĊĊĊĊ", + "Ġ)Ċ ĊĊĊĊĊĊĊ", + "Ġ)ĊĊ ĊĊĊĊĊĊ", + "Ġ)ĊĊĊ ĊĊĊĊĊ", + "ustr alia", + "ustral ia", + "Ġ Reports", + "ĠRe ports", + "ĠRep orts", + "ĠReport s", + "ĠRepo rts", + "r ito", + "ri to", + "rit o", + "Ġwa ist", + "_ plus", + "_p lus", + "_pl us", + "Ġ WW", + "ĠW W", + "- person", + "-p erson", + "-per son", + "Ap ril", + "Apr il", + "Ġ sar", + "Ġs ar", + "Ġsa r", + ". tar", + ".t ar", + ".ta r", + "Ġagricult ural", + "Ġagr icultural", + "t ic", + "ti c", + "Ġ tcp", + "Ġt cp", + "Ġtc p", + "Ġ setValue", + "Ġset Value", + "ag ento", + "agent o", + "agen to", + "Ġ Appe", + "ĠA ppe", + "ĠApp e", + "ĠAp pe", + "p iler", + "pi ler", + "pile r", + "C ADE", + "CA DE", + "CAD E", + "Ġ anche", + "Ġan che", + "Ġanch e", + "Ġanc he", + "at cher", + "atch er", + "Ġc omics", + "Ġcom ics", + "Ġcomic s", + "Ġ lbs", + "Ġl bs", + "Ġlb s", + "_ segment", + "_s egment", + "_se gment", + "_seg ment", + "' ]=$", + "'] =$", + "']= $", + "it ters", + "itt ers", + "itter s", + "itte rs", + "i cher", + "ic her", + "ich er", + "iche r", + "G INE", + "GIN E", + "GI NE", + "Ġutil ize", + "Ġutiliz e", + "Ġ Cursor", + "ĠC ursor", + "ĠCurso r", + "_ expression", + "_ex pression", + "_exp ression", + "_expr ession", + "Ġ dag", + "Ġd ag", + "Ġda g", + "< long", + " < ?=", + "> x", + ". Task", + ".T ask", + "m oney", + "mon ey", + "mo ney", + "ib aba", + "iba ba", + "' });Ċ", + "'} );Ċ", + "'}) ;Ċ", + "Ġ Specific", + "ĠS pecific", + "ĠSpec ific", + "Ġ Linear", + "ĠL inear", + "ĠLine ar", + "ĠLin ear", + "ĠLi near", + "_ OPT", + "_O PT", + "_OP T", + "Hash Code", + "( Player", + "(P layer", + ".Contains Key", + "Ġ collapsed", + "Ġc ollapsed", + "Ġcoll apsed", + "Ġcollapse d", + "Ġcollaps ed", + "trans parent", + "_R ANGE", + "View er", + "( cfg", + "(c fg", + "(cf g", + "Ġ sorting", + "Ġs orting", + "Ġsort ing", + "Ġsor ting", + "Ġinf ected", + "Ġinfect ed", + "Ġ Nach", + "ĠN ach", + "ĠNa ch", + "Ġaccommod ate", + ". elements", + ".e lements", + ".element s", + ".el ements", + ".elem ents", + "_ PART", + "_P ART", + "_PA RT", + "_PAR T", + "Ġ Sexy", + "ĠSe xy", + "ĠSex y", + "= get", + "=g et", + "( year", + "(y ear", + "Ġ xhr", + "Ġx hr", + ": ]", + "ow ski", + "ows ki", + "Ġsum mar", + "Ġsumm ar", + "Ġ ¿", + "Ġ ¿", + "Ġ inte", + "Ġin te", + "Ġint e", + "Ġi nte", + "Ġ workflow", + "Ġwork flow", + "ĠTai wan", + "v ersions", + "vers ions", + "version s", + "åı ij", + "Ġsur prisingly", + "Ġsurprising ly", + "Ġop tical", + "Ġopt ical", + "Ġoptic al", + "Ġpro ces", + "Ġproc es", + "Ġdis agree", + "Ġdisag ree", + "Ġn uevo", + "Ġnue vo", + "Ġ CAM", + "ĠC AM", + "ĠCA M", + "s orted", + "sort ed", + "le ases", + "lease s", + "lea ses", + "is tle", + "ist le", + "I dent", + "Id ent", + "Ide nt", + "ĉ event", + "ĉe vent", + "ĉev ent", + "j ected", + "ject ed", + "jec ted", + "Ch unk", + "V ars", + "Var s", + "Va rs", + ". provider", + ".pro vider", + "Ġproceed ings", + "Ġproceeding s", + "Ġ inclusive", + "Ġin clusive", + "Ġincl usive", + "Ġinclus ive", + "Ġart work", + "end ants", + "enda nts", + "endant s", + "ï¼ļ Ċ", + "s een", + "se en", + "see n", + "Ġ lig", + "Ġl ig", + "Ġli g", + "Ġ makers", + "Ġm akers", + "Ġmake rs", + "Ġma kers", + "Ġmaker s", + "Ġmak ers", + "_ fun", + "_f un", + "_fu n", + "Ġlength s", + "Ġleng ths", + "Path Variable", + "[ item", + "[i tem", + "[it em", + "ภµ", + "D ead", + "De ad", + "FF FFFF", + "FFFF FF", + "FFF FFF", + "Ġ Urban", + "ĠUr ban", + "ĠUrb an", + "u ples", + "up les", + "uple s", + "i chen", + "ic hen", + "ich en", + "iche n", + "( nullptr", + "(null ptr", + ". spec", + ".s pec", + ".sp ec", + ", System", + ",S ystem", + "U RATION", + "UR ATION", + "URA TION", + "( job", + "(j ob", + "å¼ ı", + "Ġ tracker", + "Ġtr acker", + "Ġtrack er", + "Ġtra cker", + "Å Ļ", + "Ġ MR", + "ĠM R", + "Ġ SQLite", + "ĠSQL ite", + "ĠSQ Lite", + "Ġ dto", + "Ġd to", + "Ġdt o", + "Ġ ;;Ċ", + "Ġ; ;Ċ", + "Ġ;; Ċ", + "Ġ mint", + "Ġm int", + "Ġmin t", + "Ġmi nt", + "Ġ Introduction", + "ĠInt roduction", + "ĠIntro duction", + "c ao", + "ca o", + "Ġquest ioned", + "Ġquestion ed", + "Ġquesti oned", + "Ġf itted", + "Ġfit ted", + "Ġfitte d", + "re vision", + "rev ision", + "s q", + "Ġm ig", + "Ġmi g", + "_ units", + "_un its", + "_unit s", + "_ async", + "_a sync", + "_as ync", + "Ġf lick", + "Ġfl ick", + "} );ĊĊĊ", + "});Ċ ĊĊ", + "});ĊĊ Ċ", + "}) ;ĊĊĊ", + "}); ĊĊĊ", + "Ġn otre", + "Ġnot re", + "Ġno tre", + "} `,", + "}` ,", + "F ilters", + "Filter s", + "Fil ters", + "Ġm undo", + "Ġmu ndo", + "Ġmund o", + "Ġmun do", + "_ days", + "_d ays", + "_day s", + "_da ys", + "Ġ frm", + "Ġf rm", + "Ġfr m", + "u tc", + "ut c", + "Ġ vals", + "Ġv als", + "Ġval s", + "Ġva ls", + "e width", + "ew idth", + "Ġ Generator", + "ĠG enerator", + "ĠGener ator", + "ĠGen erator", + "Ġ Artist", + "ĠArt ist", + "Ġ IDs", + "ĠI Ds", + "ĠID s", + "Ġ Articles", + "ĠArt icles", + "ĠArticle s", + "re ater", + "reate r", + "reat er", + "rea ter", + "ĠComponent Fixture", + ". =", + "Ġ rou", + "Ġr ou", + "Ġro u", + "- no", + "-n o", + ".b ukkit", + "e gg", + "eg g", + "Ġ Diff", + "ĠD iff", + "ĠDi ff", + "a tics", + "at ics", + "atic s", + "ati cs", + "Ñĥ Ñĩ", + "âĢĶ ĊĊ", + "Ġ Charlotte", + "ĠChar lotte", + "ĠCharl otte", + "b ye", + "by e", + "Ġ });čĊčĊ", + "Ġ} );čĊčĊ", + "Ġ}) ;čĊčĊ", + "Ġ});čĊ čĊ", + "Ġ}); čĊčĊ", + "ĠV ik", + "ĠVi k", + "ĠB row", + "ĠBr ow", + "ĠBro w", + "Ġ lv", + "Ġl v", + "ĠG ib", + "ĠGi b", + "- wing", + "-w ing", + "-win g", + "GL IGENCE", + "( Il", + "(I l", + "ĠEngine er", + ". Wait", + ".W ait", + "Ġ Pictures", + "ĠP ictures", + "ĠPicture s", + "ĠPic tures", + "Ġr het", + "Ġrh et", + "Ġrhe t", + "Ġ thermal", + "Ġth ermal", + "Ġther mal", + "Ġtherm al", + "Ġp raise", + "Ġpr aise", + "Ġpra ise", + "< >();ĊĊ", + "<>();Ċ Ċ", + "<>( );ĊĊ", + "<> ();ĊĊ", + "Ġ Spider", + "ĠSp ider", + "ĠSpi der", + "P ause", + "Pa use", + "ĠB aker", + "ĠBa ker", + "ĠBak er", + "ĠBake r", + "Ġs lower", + "Ġsl ower", + "Ġslow er", + "Ġslo wer", + "Ġ }]Ċ", + "Ġ} ]Ċ", + "Ġ}] Ċ", + "_ enqueue", + "_en queue", + "Ġdis appeared", + "Ġdisappe ared", + "Ġdisappear ed", + "Ġ Ticket", + "ĠT icket", + "ĠTi cket", + "ĠTick et", + "ĠTic ket", + "IN UX", + "INU X", + "_ LOCAL", + "_LO CAL", + "_LOC AL", + "аÑģ Ñģ", + "@Inject able", + "comm unity", + "G estureRecognizer", + "Gesture Recognizer", + "åĽ ½", + "Ġs cales", + "Ġsc ales", + "Ġscale s", + "Ġsca les", + "Ġscal es", + "Ġ -(", + "Ġ- (", + "/ '+", + "/' +", + "Ġ Sit", + "ĠS it", + "ĠSi t", + "Ġexecutive s", + "Ġexecut ives", + "ar ding", + "ard ing", + "ardi ng", + "ardin g", + "Ġad vers", + "Ġadv ers", + "Ġback wards", + "Ġbackward s", + "ĉ context", + "ĉcon text", + "ĉcont ext", + "ĠH amp", + "ĠHam p", + "ĠHa mp", + "Ġ PF", + "ĠP F", + "Ġ Deck", + "ĠD eck", + "ĠDe ck", + "ĠDec k", + "Ġ Craig", + "ĠC raig", + "ĠCra ig", + "A merican", + "Americ an", + "America n", + "Ġ bell", + "Ġb ell", + "Ġbe ll", + "Ġbel l", + "Ġp rol", + "Ġpro l", + "Ġpr ol", + "u fen", + "uf en", + "ufe n", + "Ġ rng", + "Ġr ng", + "Ġrn g", + "ar shal", + "ars hal", + "Ġ Simply", + "ĠSim ply", + "ĠSimpl y", + "first name", + "sh ore", + "J uly", + "Jul y", + "Ju ly", + "Ġm ortality", + "Ġmort ality", + "Ġmortal ity", + "ĠâĨĴ ĊĊ", + "H elpers", + "Helper s", + "Help ers", + "Hel pers", + "Ġ benchmark", + "Ġb enchmark", + "Ġbench mark", + "e made", + "em ade", + "ema de", + "Ġorgan isations", + "Ġorganis ations", + "Ġorganisation s", + ".g son", + ".gs on", + "Ġ TextField", + "ĠT extField", + "ĠText Field", + "Ġcivil ians", + "Ġciv ilians", + "Ġcivilian s", + ". Arrays", + ".Array s", + ".Ar rays", + "ĠMiss issippi", + "Ġinter mediate", + "Ġintermedi ate", + "get User", + "_ cluster", + "_cl uster", + "Rel ative", + "fore ign", + ".querySelector All", + "Fore ignKey", + "Foreign Key", + "Ġreason ably", + "- --------Ċ", + "-- -------Ċ", + "---- -----Ċ", + "-------- -Ċ", + "--- ------Ċ", + "----- ----Ċ", + "------ ---Ċ", + "------- --Ċ", + "--------- Ċ", + "C ards", + "Card s", + "Car ds", + "ĠK am", + "ĠKa m", + "Ġ Thor", + "ĠT hor", + "ĠTh or", + "Ġ roller", + "Ġr oller", + "Ġro ller", + "Ġroll er", + "Ġrol ler", + "- element", + "-e lement", + "-el ement", + "Ġ Currency", + "ĠC urrency", + "d die", + "dd ie", + "AL LY", + "ALL Y", + "Ġ RA", + "ĠR A", + "Ġper met", + "Ġperm et", + "Ġperme t", + "a aaa", + "aa aa", + "aaa a", + "Ġhome work", + "Ġhom ework", + "ĠV it", + "ĠVi t", + "Ġm old", + "Ġmo ld", + "Ġmol d", + "ĠF er", + "ĠFe r", + "[ start", + "Ġstat istical", + "Ġstatist ical", + "Ġstatistic al", + "Ġsc ary", + "Ġsca ry", + "Ġscar y", + "_ HOME", + "_H OME", + ". Begin", + ".B egin", + ".Be gin", + "Con struct", + "o genic", + "og enic", + "ogen ic", + "oge nic", + "ĠDEAL INGS", + "Ġtamb ién", + "i xon", + "ix on", + "ixo n", + ". ind", + ".in d", + ".i nd", + "a cre", + "ac re", + "acr e", + "Ġ transforms", + "Ġtrans forms", + "Ġtransform s", + "ĠN ap", + "ĠNa p", + ". Block", + ".B lock", + ".Bl ock", + "uss ia", + "p iration", + "pi ration", + "pir ation", + "ul ent", + "ule nt", + "ulen t", + "Ġ ceil", + "Ġc eil", + "Ġce il", + "Cl ause", + "Cla use", + "n aire", + "na ire", + "T ES", + "TE S", + "Ġn eat", + "Ġne at", + "S TD", + "ST D", + "Ġ RegExp", + "ĠReg Exp", + "per form", + "perf orm", + ": )", + "Ġun ions", + "Ġunion s", + "Ġuni ons", + "Ġs ublic", + "Ġsub lic", + "Ġw inds", + "Ġwin ds", + "Ġwind s", + "Ġwi nds", + "lo ating", + "loat ing", + "g lich", + "gl ich", + "gli ch", + "Ġ pagination", + "Ġp agination", + "Ġpag ination", + "Ġpagina tion", + "S kill", + "Sk ill", + "App ly", + "Ap ply", + "Ġ Operator", + "ĠO perator", + "ĠOper ator", + "ĠOp erator", + "ĠOpera tor", + "ist ogram", + "isto gram", + "Ġ qualities", + "Ġqual ities", + "Ġquali ties", + "C ross", + "Cr oss", + "Cro ss", + "Ġd ecom", + "Ġde com", + "Ġdec om", + "Ġdeco m", + "] ,\"", + "], \"", + "Ġ Juan", + "ĠJ uan", + "ĠJu an", + ". modal", + ".m odal", + ".mod al", + ".mo dal", + ". Child", + ".Ch ild", + "Ġ Roger", + "ĠR oger", + "ĠRo ger", + "ĠRog er", + "STIT UTE", + ":CGRect Make", + "a lette", + "al ette", + "ale tte", + "alet te", + "Ġ sta", + "Ġs ta", + "Ġst a", + "a side", + "as ide", + "asi de", + "Ġ blur", + "Ġbl ur", + "Ġ Wa", + "ĠW a", + "if etime", + "ife time", + "r eed", + "re ed", + "ree d", + "control s", + "contr ols", + "contro ls", + "Ġ bins", + "Ġb ins", + "Ġbi ns", + "Ġbin s", + "Ġ пол", + "Ġп ол", + "Ġпо л", + "* /,Ċ", + "*/ ,Ċ", + "*/, Ċ", + "U IS", + "UI S", + "ĠR ou", + "ĠRo u", + "Ġ Demo", + "ĠD emo", + "ĠDe mo", + "ĠDem o", + "- awesome", + "Ġ Chain", + "ĠCh ain", + "ĠCha in", + "Ġh asta", + "Ġhas ta", + "Ġha sta", + "Ġhast a", + "ĠB art", + "ĠBar t", + "ĠBa rt", + ". KEY", + ".K EY", + "Ġ vendors", + "Ġv endors", + "Ġvend ors", + "Ġvendor s", + "no follow", + "nof ollow", + "Ġ Dest", + "ĠD est", + "ĠDe st", + "ĠDes t", + "_ builder", + "_b uilder", + "_build er", + "Ġarg ues", + "Ġargue s", + "_ answer", + "_an swer", + "_ans wer", + "g oto", + "go to", + "got o", + "Ġ RESULT", + "ĠRES ULT", + "Ġ MON", + "ĠM ON", + "ĠMO N", + "Ġp oder", + "Ġpo der", + "Ġpod er", + "Ġpode r", + "o ons", + "oo ns", + "oon s", + "_ CASE", + "_C ASE", + "_CA SE", + "Ġrep lic", + "Ġrepl ic", + "Ġfin ancing", + "Ġfinanc ing", + "Ġfinan cing", + "Ġ DATE", + "ĠD ATE", + "ĠDA TE", + "ĠDAT E", + "c ern", + "ce rn", + "cer n", + "_ track", + "_t rack", + "_tr ack", + "_tra ck", + "t ies", + "ti es", + "tie s", + "/ logo", + "/l ogo", + "/log o", + "/lo go", + "ĠNE GLIGENCE", + "get Type", + "> T", + "b et", + "be t", + "g irl", + "gi rl", + "ĠINCIDENT AL", + "- site", + "-s ite", + ". trigger", + ".tr igger", + "Ġ Lisa", + "ĠL isa", + "ĠLi sa", + "ĠLis a", + "_ inputs", + "_in puts", + "_input s", + "_inp uts", + "Ġrel atives", + "Ġrelative s", + "Ġrelativ es", + "Ġrelat ives", + "Logged In", + "Con figure", + "Config ure", + "Conf igure", + "I K", + ". accept", + ".ac cept", + ".acc ept", + "Re sume", + "Res ume", + "Ġ Draft", + "ĠD raft", + "ĠDr aft", + "ĠDra ft", + "Ġ *>(", + "Ġ* >(", + "Ġ*> (", + "Ġ WA", + "ĠW A", + "ed ian", + "edia n", + "edi an", + "er ness", + "ern ess", + "erne ss", + "ernes s", + "Ġ LayoutInflater", + "ĠLayout Inflater", + "* /čĊčĊ", + "*/ čĊčĊ", + "*/čĊ čĊ", + "o thy", + "ot hy", + "oth y", + "Ġoblig ation", + "Ġobl igation", + "Sub scribe", + "Ġ thumbnail", + "Ġth umbnail", + "ex ist", + "Ġins isted", + "Ġinsist ed", + "Ġ UICollectionView", + "ĠU ICollectionView", + "ĠUI CollectionView", + "Ġ Angular", + "ĠAng ular", + "Ġtable ts", + "Ġtab lets", + "Ġtablet s", + "Ġ Impact", + "ĠImp act", + "ãĢį ĊĊ", + "ãĢįĊ Ċ", + "a ho", + "ah o", + "Ġcharacter istic", + "g d", + "Ġ= ================================================", + "Ġ================= ================================", + "Ġ================================= ================", + "o urt", + "ou rt", + "our t", + "` .", + "App ro", + "Ap pro", + "Co ordinate", + "Coord inate", + "Re member", + "Rem ember", + "Ġ marine", + "Ġm arine", + "Ġmar ine", + "Ġma rine", + "Ġmari ne", + "Ġmarin e", + "] =='", + "]= ='", + "]== '", + "Ġ Administrator", + "ĠAdmin istrator", + "ĠAdministr ator", + ". getDefault", + ".get Default", + ".getD efault", + "Ġ forgot", + "Ġf orgot", + "Ġfor got", + "Ġforg ot", + "Ġ Structure", + "ĠStruct ure", + "V ue", + "Vu e", + "ar sing", + "ars ing", + "arsi ng", + "m oment", + "mo ment", + "mom ent", + "k w", + "_ cursor", + "_c ursor", + "Att ack", + "Ġath letic", + "Ġdiagn osed", + "Ġdiagnose d", + "Ġ ende", + "Ġe nde", + "Ġen de", + "Ġend e", + "åĪ łéϤ", + "H ouse", + "Ho use", + "Ġ PARAM", + "ĠP ARAM", + "ĠPA RAM", + "ĠPAR AM", + "ĠPARA M", + "Ġ wiki", + "Ġw iki", + "Ġwi ki", + "Ġwik i", + "Ġ Opp", + "ĠO pp", + "ĠOp p", + "Ġcons ervation", + "Ġconserv ation", + "Ġ snd", + "Ġs nd", + "Ġsn d", + "_ tem", + "_t em", + "_te m", + "sub str", + "subst r", + "subs tr", + "ĠC ape", + "ĠCap e", + "ĠCa pe", + ". sim", + ".s im", + ".si m", + "U TION", + "UT ION", + "a nan", + "an an", + "ana n", + "âĢĻ un", + "Ġ gy", + "Ġg y", + "- work", + "-w ork", + "Ġcomp elling", + "Ġcompel ling", + "= '#", + "=' #", + "ĉ sub", + "ĉs ub", + "Ġ directories", + "Ġdirect ories", + "Ġdirector ies", + "íĬ ¸", + "Ġ touches", + "Ġtouch es", + "Ġtou ches", + "out ines", + "outine s", + ". Collection", + ".C ollection", + ".Col lection", + "s chedule", + "sched ule", + ". lat", + ".l at", + "Ġ Doctrine", + "ĠDo ctrine", + "C AA", + "CA A", + "Ġ Refer", + "ĠRe fer", + "ĠRef er", + "Ġshift s", + "Ġ likelihood", + "Ġlik elihood", + "pr eter", + "pre ter", + "pret er", + "Ġ Female", + "ĠF emale", + "ĠFe male", + "ĠFem ale", + "Ġinter cept", + "Ġ lou", + "Ġl ou", + "Ġlo u", + "çĻ »", + "Ġ rug", + "Ġr ug", + "Ġru g", + "ĠC rown", + "ĠCr own", + "ĠCro wn", + "ĠCrow n", + "Ġ ****************************************************************************", + "Ġ************************************************************************ ****", + "Ġ************************************************************************** **", + "Ġ**************************************************************** ************", + "Ġ**** ************************************************************************", + "Ġ******************************************************** ********************", + "Ġ************************************************ ****************************", + "- product", + "-pro duct", + "-produ ct", + "Ġprompt ed", + "u ngle", + "un gle", + "ung le", + "d ocker", + "do cker", + "doc ker", + "dock er", + "Ġ Tu", + "ĠT u", + "Ġ Unique", + "ĠUn ique", + "ĠUni que", + "_ Error", + "_E rror", + "_Err or", + "u los", + "ul os", + "ulo s", + "Ġ âĦ", + "Ġâ Ħ", + "Ġ (`", + "Ġ( `", + "G etting", + "Get ting", + "_ scal", + "_s cal", + "_sc al", + "Ġ Enh", + "ĠE nh", + "ĠEn h", + "ü t", + "Ġsust ained", + "Ġsustain ed", + "Ġ patches", + "Ġp atches", + "Ġpat ches", + "Ġpatch es", + "Ġpros per", + "ĠG aza", + "ĠGa za", + "ĠGaz a", + "_ light", + "_l ight", + "_li ght", + "Ġin cons", + "Ġinc ons", + "Ġincon s", + "- -------Ċ", + "-- ------Ċ", + "---- ----Ċ", + "-------- Ċ", + "--- -----Ċ", + "----- ---Ċ", + "------ --Ċ", + "------- -Ċ", + "ĉ ĉĠĠĠĠĠĠ", + "ĉĉ ĠĠĠĠĠĠ", + "ĉĉĠĠĠ ĠĠĠ", + "ĉĉĠ ĠĠĠĠĠ", + "ĉĉĠĠ ĠĠĠĠ", + "ĉĉĠĠĠĠ ĠĠ", + "ĉĉĠĠĠĠĠ Ġ", + "S F", + "C N", + ": \";Ċ", + ":\" ;Ċ", + "ĠColl ins", + "( *)", + "(* )", + "Ġcomp ilation", + "Ġcompil ation", + "' ]čĊ", + "'] čĊ", + "Ġcon sequence", + "Ġconsequ ence", + "Ġconse quence", + ", ...", + ",. ..", + "Ġ dm", + "Ġd m", + "Ġ BLOCK", + "ĠB LOCK", + "ĠBL OCK", + "Cl uster", + "Ġ ski", + "Ġs ki", + "Ġsk i", + "( argc", + "(arg c", + "(ar gc", + "T uple", + "Tu ple", + "Ġj oins", + "Ġjoin s", + "Ġjo ins", + "ĠSher iff", + "W ar", + "Wa r", + "in di", + "ind i", + "Ġcom mented", + "Ġcomm ented", + "Ġcomment ed", + "H OST", + "HO ST", + "Ġ invitation", + "Ġinv itation", + "Ġinvit ation", + "apan ese", + "Ġper mits", + "Ġpermit s", + "Ġperm its", + "preced ented", + "_ zone", + "_z one", + "Ġ Amy", + "ĠA my", + "ĠAm y", + "_ RD", + "_R D", + "Min imum", + "Ġinv ocation", + "Ġinvo cation", + ". enable", + ".e nable", + ".en able", + "i chten", + "ich ten", + "icht en", + "ichte n", + "- owned", + "\" id", + "_PO INTER", + "_POINT ER", + "F ac", + "Fa c", + "Ġspec ifications", + "Ġspecific ations", + "Ġspecification s", + "Ġn omination", + "Ġno mination", + "Ġnom ination", + "Ġnomin ation", + "Ġ gp", + "Ġg p", + "< (", + "Ġ robots", + "Ġro bots", + "Ġrob ots", + "Ġrobot s", + "Ġ Jerry", + "ĠJ erry", + "ĠJer ry", + "Ġ holders", + "Ġh olders", + "Ġhold ers", + "Ġholder s", + "Ġhol ders", + "Ġ wand", + "Ġw and", + "Ġwa nd", + "Ġwan d", + "c ms", + "cm s", + "Ġ }))Ċ", + "Ġ} ))Ċ", + "Ġ}) )Ċ", + "Ġ})) Ċ", + ". Toast", + ".To ast", + "ĠI List", + "ĠIL ist", + "B ased", + "Base d", + "Bas ed", + "Ba sed", + "z oom", + "zo om", + "/ style", + "/st yle", + "ĠB eck", + "ĠBe ck", + "ĠBec k", + "M en", + "Me n", + "Ġcontrib uting", + "Ġ undo", + "Ġu ndo", + "Ġun do", + "Ġund o", + "Ġ OH", + "ĠO H", + "Ġadd Object", + "Ġe igen", + "Ġei gen", + "Ġeig en", + "sign up", + "éĶ Ļ", + "Ġd istant", + "Ġdis tant", + "Ġdist ant", + "Ġdi stant", + "PAR ATOR", + "Ġ Mari", + "ĠM ari", + "ĠMar i", + "ĠMa ri", + "Ġ má", + "Ġm á", + "E mp", + "Em p", + "ó s", + "Ġ ìĪĺ", + "Ġì Īĺ", + "ĠìĪ ĺ", + "e vt", + "ev t", + "+ j", + "p ark", + "par k", + "pa rk", + "Ġ Stay", + "ĠSt ay", + "ĠSta y", + "ĠD un", + "ĠDu n", + "Ġs oy", + "Ġso y", + "> %", + "az ines", + "azine s", + "azi nes", + "Ġti empo", + "( me", + "(m e", + "p resent", + "pre sent", + "pres ent", + ". This", + ".T his", + ".Th is", + "Ġed itors", + "Ġedit ors", + "Ġeditor s", + "Ġedi tors", + "F IELD", + ". Work", + ".W ork", + "ĠUn iverse", + "ĠUnivers e", + "ĠUni verse", + "ĠUniv erse", + "Ġdr unk", + "Ġdru nk", + ". timer", + ".t imer", + ".time r", + ".tim er", + "Ġal tered", + "Ġalt ered", + "Ġalter ed", + "Ġalte red", + "ĠN ar", + "ĠNa r", + "ëł ¥", + ". Active", + ".Act ive", + "id or", + "ido r", + "ç Ń", + ".delta Time", + "Ġawk ward", + "& quot", + "ĠS afari", + "ĠSaf ari", + "Ġt ricks", + "Ġtr icks", + "Ġtri cks", + "Ġtrick s", + "M ENTS", + "MENT S", + "div ision", + "di vision", + "Ġvar ying", + "Ġva rying", + "Ġvary ing", + "ĠHigh way", + "Ġphot ographer", + "Ġphotograph er", + "ĠSt ewart", + "ĠSte wart", + "Ġ lasting", + "Ġl asting", + "Ġlast ing", + "Ġlas ting", + ". Pre", + ".P re", + ".Pr e", + ".amazon aws", + "Ġ Luck", + "ĠL uck", + "ĠLuc k", + "ĠLu ck", + ". Description", + ".D escription", + ".De scription", + ".Des cription", + "Ġ Naz", + "ĠN az", + "ĠNa z", + "n eg", + "ne g", + "Ġc ó", + "<< \"\\", + "<<\" \\", + "Ġ Surv", + "ĠS urv", + "ĠSur v", + "ĠSu rv", + "Ġ Unc", + "ĠU nc", + "ĠUn c", + "Rec ipe", + ". BorderStyle", + ".Border Style", + "Ġmod ifications", + "Ġmodification s", + "Ġmodific ations", + "- at", + "-a t", + "AT FORM", + "h dr", + "hd r", + "a ko", + "ak o", + "Ġsub license", + "Ġsublic ense", + "Ġ Jump", + "ĠJ ump", + "ĠJu mp", + "Ġbe im", + "Ġbei m", + "ĠMan hattan", + ". bool", + ".b ool", + ".bo ol", + "_ hw", + "_h w", + "ÑĤ ÑĮ", + "B in", + "Bi n", + "Ġ gateway", + "Ġg ateway", + "Ġgate way", + "\" \":", + "\"\" :", + "Ġ UIS", + "ĠU IS", + "ĠUI S", + ": \"+", + ":\" +", + "- def", + "-d ef", + "-de f", + "Ġ Regular", + "ĠReg ular", + "/ testing", + "/t esting", + "/test ing", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "string stream", + "Ġdis par", + "Ġdi spar", + "Ġdisp ar", + "Ġm obil", + "Ġmo bil", + "Ġmob il", + "- read", + "-r ead", + "-re ad", + "Ġ Adapter", + "ĠAd apter", + "ĠAda pter", + "ĠAdapt er", + "ĠCh ampions", + "ĠChampion s", + "ĠChamp ions", + "Ġ scheduler", + "Ġs cheduler", + "Ġsched uler", + "Ġschedule r", + "Ġ kills", + "Ġk ills", + "Ġkill s", + "Ġkil ls", + "Ġ Multiple", + "ĠM ultiple", + "ĠMulti ple", + "ĠMult iple", + "ĠMultip le", + "i rror", + "ir ror", + "Ġg ods", + "Ġgo ds", + "Ġgod s", + "A DO", + "AD O", + "a kte", + "ak te", + "akt e", + "Ġ Usuario", + "ĠUs uario", + ".c ircular", + "Ġre cept", + "Ġrec ept", + "Ġrece pt", + "Ġrecep t", + "Ġ Expr", + "ĠEx pr", + "ĠExp r", + "Ġelder ly", + "Ġnice ly", + "Ġnic ely", + "Ġb este", + "Ġbe ste", + "Ġbest e", + "Ġbes te", + "W ant", + "Wa nt", + "Ġclass ical", + "Ġclassic al", + ". sprite", + ".s prite", + ".sp rite", + "ob jc", + "obj c", + "ĠM ason", + "ĠMa son", + "ĠMas on", + "Ġs istema", + "Ġsist ema", + "Ġsistem a", + ". Black", + ".B lack", + ".Bl ack", + "e so", + "es o", + "ĠZe it", + "Ġ divid", + "Ġd ivid", + "Ġdi vid", + "Ġdiv id", + "Ġen ters", + "Ġent ers", + "Ġenter s", + "_ subject", + "_sub ject", + "_su bject", + "Ġ Planet", + "ĠPlan et", + "ĠPlane t", + "ĠPla net", + ". warning", + ".w arning", + ".warn ing", + "Ġ Gram", + "ĠG ram", + "ĠGr am", + "ĠGra m", + "_ tokens", + "_t okens", + "_token s", + "_tok ens", + "Ġhouse holds", + "Ġhousehold s", + "_ customer", + "_c ustomer", + "_custom er", + "_cust omer", + "user Name", + "c ross", + "cr oss", + "cro ss", + "Ġp ione", + "Ġpi one", + "Ġass ists", + "Ġassist s", + "_ SM", + "_S M", + "i bo", + "ib o", + "Ġl oyal", + "Ġlo yal", + "Ġus eless", + "Ġuse less", + "# elif", + "ĠUlt imate", + "C ome", + "Com e", + "Co me", + "g el", + "ge l", + "Ġd ich", + "Ġdi ch", + "Ġdic h", + "x yz", + "xy z", + "i kel", + "ik el", + "ike l", + "o bra", + "ob ra", + "_ scan", + "_s can", + "_sc an", + "Ġ Interior", + "ĠIn terior", + "ĠInt erior", + "ĠInter ior", + "Ġ Nice", + "ĠN ice", + "ĠNic e", + "ĠNi ce", + "Ġp lac", + "Ġpl ac", + "Ġpla c", + "ĉ target", + "ĉt arget", + "Ġv iral", + "Ġvi ral", + "Ġvir al", + "as so", + "ass o", + "( )/", + "() /", + "u nde", + "un de", + "und e", + "Ġ Adobe", + "ĠAd obe", + "O s", + "vis ited", + "visit ed", + "Ġ OW", + "ĠO W", + "Ġ Feed", + "ĠF eed", + "ĠFe ed", + "ĠFee d", + "Ġ Sequence", + "ĠSe quence", + "ĠSequ ence", + "Ġman ages", + "Ġmanage s", + "Ġmana ges", + "in son", + "ins on", + "ĠLouis iana", + "{ })", + "{} )", + "ĠH ab", + "ĠHa b", + "Ġ LD", + "ĠL D", + "Ġb ip", + "Ġbi p", + "p rites", + "pr ites", + "prite s", + "prit es", + "pri tes", + "( elem", + "(e lem", + "(el em", + "(ele m", + ".h ibernate", + "é lé", + "él é", + "Ġoh ne", + "_ transaction", + "_trans action", + "Ġann unci", + "P ublished", + "Publish ed", + "Ġ Honda", + "ĠH onda", + "ĠHon da", + "ĠHo nda", + "ĠHond a", + "Ġ Tam", + "ĠT am", + "ĠTa m", + "Ġ Packet", + "ĠP acket", + "ĠPac ket", + "ĠPack et", + "ĠPa cket", + "_ selector", + "_se lector", + "_select or", + "_sel ector", + "Ġchalleng ed", + "Ġchallenge d", + "P rocessing", + "Process ing", + "- hover", + "-h over", + "Ġ trainer", + "Ġtr ainer", + "Ġtrain er", + "Ġtra iner", + "Ġtrai ner", + "_ cancel", + "_c ancel", + "_can cel", + "Ġ NSDictionary", + "ĠNS Dictionary", + "ab ric", + "abr ic", + "Ġ MLS", + "ĠM LS", + "ĠML S", + "_ sensor", + "_s ensor", + "Ġsh rink", + "Ġshr ink", + "Ġshri nk", + "Ġ FX", + "ĠF X", + "th reshold", + "thresh old", + "ĉ HX", + "ĉH X", + "- mark", + "-m ark", + "-mar k", + "` .`", + "`. `", + "S cheme", + "Sch eme", + "( full", + "(f ull", + "_ writer", + "_w riter", + "_write r", + "_wr iter", + "Ġ Sys", + "ĠS ys", + "ĠSy s", + "Ġf led", + "Ġfl ed", + "Ġfle d", + "ĠC in", + "ĠCi n", + "- widget", + "-w idget", + "Ġ Previous", + "ĠPre vious", + "ĠPrev ious", + "G ender", + "Ge nder", + "Gen der", + "_ question", + "_q uestion", + "_qu estion", + "_quest ion", + "F eed", + "Fe ed", + "Fee d", + "Ġsc rut", + "Ġscr ut", + "( prefix", + "(p refix", + "(pre fix", + "(pref ix", + "ãĢĤ ãĢĤ", + "Ġin fections", + "Ġinf ections", + "Ġinfection s", + "Ġinfect ions", + "P arts", + "Par ts", + "Part s", + "Pa rts", + "Ġh ierarchy", + "Ġhier archy", + "_ DELETE", + "_DE LETE", + "Ġ Patient", + "ĠP atient", + "ĠPat ient", + "_ pay", + "_p ay", + "_pa y", + "Ġprom oted", + "Ġpromote d", + "Ġpromot ed", + "Ġpromo ted", + "Ġ ìĭ", + "Ġì ĭ", + "Ġcivil ian", + "Ġciv ilian", + "Ġagricult ure", + "Ġagr iculture", + "Ġ Piece", + "ĠP iece", + "ĠPi ece", + "ĠPie ce", + "Ġ stance", + "Ġst ance", + "Ġsta nce", + "Ġstan ce", + "uts che", + "utsch e", + "As sign", + "Ass ign", + ". ACTION", + ".A CTION", + ".AC TION", + ".ACT ION", + "F ig", + "Fi g", + "_ radius", + "_r adius", + "_rad ius", + "_radi us", + "Ġ Sync", + "ĠS ync", + "ĠSy nc", + "ĠSyn c", + "d ucer", + "du cer", + "duc er", + "duce r", + "f ailure", + "fail ure", + "en sed", + "ens ed", + "ense d", + "p time", + "pt ime", + "B M", + "_ datetime", + "_d atetime", + "_date time", + "_dat etime", + "qu ivo", + "quiv o", + "qui vo", + "QUE UE", + "èĢ ħ", + "App ear", + "Ap pear", + "Appe ar", + "Ġsum mit", + "Ġsumm it", + ": void", + ":v oid", + "Ġ vine", + "Ġv ine", + "Ġvi ne", + "Ġvin e", + "è ®¤", + "è® ¤", + "on ne", + "onn e", + "_ TRANS", + "_TR ANS", + "_TRAN S", + "_TRA NS", + ". green", + ".g reen", + ".gr een", + "_ cc", + "_c c", + "Ġhung ry", + "Ġ \">", + "Ġ\" >", + "( ));čĊčĊ", + "() );čĊčĊ", + "()) ;čĊčĊ", + "());čĊ čĊ", + "()); čĊčĊ", + "Ex tract", + "Ext ract", + "Extra ct", + "i zens", + "iz ens", + "ize ns", + "izen s", + "Ġ solver", + "Ġs olver", + "Ġsol ver", + "Ġsolve r", + "N otify", + "Not ify", + "Ġ english", + "Ġeng lish", + "Ġ Shopping", + "ĠSh opping", + "ĠShop ping", + "ĠSho pping", + "inter faces", + "interface s", + "R EQ", + "RE Q", + "Ġil leg", + "Ġill eg", + "Ġ UIImageView", + "ĠUI ImageView", + "ĠUIImage View", + "Ġ disconnect", + "Ġdis connect", + "Ġ Until", + "ĠUn til", + "ĠUnt il", + "ĠCons ervative", + "ĠConserv ative", + "@ Column", + "Ġshift ed", + "Ġ :čĊ", + "Ġ: čĊ", + "Ġf ich", + "Ġfi ch", + "Ġfic h", + "Ġd la", + "Ġdl a", + "Ġs hoe", + "Ġsh oe", + "Ġsho e", + "\" ),čĊ", + "\") ,čĊ", + "\"), čĊ", + "ul arity", + "ular ity", + "_ RESP", + "_RE SP", + "_R ESP", + "_RES P", + "We ather", + "UI Application", + ". iterator", + ".it erator", + ".iter ator", + "Ġ aging", + "Ġa ging", + "Ġag ing", + ". Parent", + ".P arent", + ".Par ent", + "o wie", + "ow ie", + "owi e", + "( equal", + "(e qual", + "(eq ual", + "Ġ Conv", + "ĠCon v", + "ĠCo nv", + "/ default", + "/d efault", + "/de fault", + "Ġme asuring", + "Ġmeas uring", + ". prev", + ".p rev", + ".pre v", + ".pr ev", + ". IsValid", + ".Is Valid", + ". Fat", + ".F at", + "Ġs Äĥ", + "key words", + "keyword s", + "with out", + "Ġs overe", + "Ġso vere", + "Ġex changes", + "Ġexchange s", + "Ġm elt", + "Ġme lt", + "Ġmel t", + "Ġis lands", + "Ġisland s", + "Ġisl ands", + "ĠInt egr", + "Ġj umping", + "Ġjump ing", + "Ġ gle", + "Ġg le", + "Ġgl e", + "Ġjournal ism", + "Ġ dated", + "Ġd ated", + "Ġdate d", + "Ġda ted", + "Ġdat ed", + "Local ized", + "Ġ Refresh", + "ĠRe fresh", + "ĠRef resh", + "P article", + "Part icle", + "Ġ aa", + "Ġa a", + "ĠST RICT", + "ĠSTR ICT", + "Ġb od", + "Ġbo d", + ". Process", + ".P rocess", + ".Pro cess", + "_ AUTO", + "_A UTO", + "_AUT O", + "Ġ Published", + "ĠP ublished", + "ĠPublish ed", + "e very", + "ever y", + "ev ery", + "eve ry", + "Ġtechn ological", + "Ġtechno logical", + "Ġtechnolog ical", + "l sx", + "ls x", + "Ġir rit", + "Ġirr it", + "Add itional", + "Ġ delimiter", + "Ġdel imiter", + "Ġdelim iter", + "_ language", + "_l anguage", + "- area", + "-a rea", + "-ar ea", + "bo ys", + "boy s", + "Ġ Tube", + "ĠT ube", + "ĠTu be", + "ĠTub e", + "Ġ wat", + "Ġw at", + "Ġwa t", + "Ġmechan ics", + "Ġmechanic s", + "_ owner", + "_o wner", + "_own er", + "S pell", + "Sp ell", + "Spe ll", + "Ġ Stories", + "ĠSt ories", + "ĠSto ries", + ".Append Line", + "T ableView", + "Table View", + "h em", + "he m", + "s tick", + "st ick", + "sti ck", + "ol lower", + "oll ower", + "ollow er", + "ollo wer", + "I FF", + "IF F", + "Ġ UV", + "ĠU V", + "oll ision", + "S UB", + "SU B", + "Ġcom parable", + "Ġcompar able", + "Ġd onde", + "Ġdo nde", + "Ġdon de", + "s ales", + "sa les", + "sal es", + "sale s", + "ll vm", + "Ġ }],Ċ", + "Ġ} ],Ċ", + "Ġ}] ,Ċ", + "OTT OM", + "Ġ Purpose", + "ĠP urpose", + "ĠPur pose", + "L ab", + "La b", + "Ġinterview ed", + "o is", + "oi s", + "a sil", + "as il", + "asi l", + ". setId", + ".set Id", + "Ġ Instruction", + "ĠIn struction", + "- ->", + "-- >", + "Ġ Modified", + "ĠMod ified", + "ation ally", + "ational ly", + "Ġ Meeting", + "ĠMe eting", + "ĠMeet ing", + "è¯ ¯", + "# region", + "Ġ routing", + "Ġr outing", + "Ġro uting", + "Ġrout ing", + "Ġrou ting", + ". focus", + ".f ocus", + "ĠY outh", + "ĠYou th", + "ĠYo uth", + "< D", + "ĠN ag", + "ĠNa g", + "cont acts", + "contact s", + "Ġ forming", + "Ġfor ming", + "Ġform ing", + "Ġ mie", + "Ġm ie", + "Ġmi e", + "',[' ../", + "Ġ BP", + "ĠB P", + "Ġapp et", + "Ġap pet", + "Ġappe t", + "Ġ Teacher", + "ĠT eacher", + "ĠTe acher", + "ĠTea cher", + "ĠTeach er", + "Ġ TP", + "ĠT P", + "Ġann ually", + "Ġannual ly", + "outed EventArgs", + "Ġ Speaker", + "ĠS peaker", + "ĠSpe aker", + "ĠSpeak er", + "Ġ rename", + "Ġre name", + "Ġr ename", + "Ġren ame", + "C FG", + "CF G", + "(\" //", + "(\"/ /", + "æİ ¥", + "/ pages", + "/p ages", + "/page s", + "Ġpr és", + "Ġpré s", + "Ġ Spell", + "ĠS pell", + "ĠSp ell", + "ĠSpe ll", + ". Allow", + ".Al low", + ".All ow", + "ĠINT ERRU", + "ĠINTER RU", + "Ġ (#", + "Ġ( #", + "âĢĻ ĊĊ", + "âĢĻĊ Ċ", + "_ Generic", + "_G eneric", + ". imshow", + ".im show", + "_ tim", + "_t im", + "_ti m", + "- face", + "-f ace", + "( &(", + "(& (", + "ati num", + "atin um", + "Ġrevolution ary", + "Ġ Hours", + "ĠH ours", + "ĠHo urs", + "ĠHour s", + "ĠHou rs", + "r ain", + "ra in", + "rai n", + "Ġany time", + "Ġ abb", + "Ġa bb", + "Ġab b", + ". jsp", + ".j sp", + ".js p", + "S crollView", + "Scroll View", + "Ġ Truth", + "ĠTr uth", + "ĠTru th", + "Ġ anticipated", + "Ġanticip ated", + "Ġanticipate d", + "Ġantic ipated", + "Ġ accent", + "Ġacc ent", + "Ġac cent", + ". checked", + ".check ed", + "Ġspec ifies", + "Ġ caf", + "Ġc af", + "Ġca f", + "Ġcell padding", + "Ġ cooked", + "Ġco oked", + "Ġcook ed", + "Ġ Hugh", + "ĠH ugh", + "ĠHu gh", + "pe ek", + "pee k", + "_ RATE", + "_R ATE", + "_RA TE", + "Ġd orm", + "Ġdo rm", + "Ġdor m", + "/ čĊ", + "IV ITY", + ". Controller", + ".Cont roller", + ".Control ler", + "( part", + "(p art", + "(par t", + "(pa rt", + ". constraint", + ".con straint", + "Ġin vasion", + "Ġinv asion", + "M OVE", + "MO VE", + "MOV E", + "Ġgl uc", + "Ġglu c", + "l ename", + "le name", + "len ame", + "lena me", + "Ġ amen", + "Ġa men", + "Ġam en", + "eng lish", + "engl ish", + "ĠSw itzerland", + "\" ;ĊĊĊ", + "\";Ċ ĊĊ", + "\";ĊĊ Ċ", + "\"; ĊĊĊ", + "p est", + "pe st", + "pes t", + ". collect", + ".c ollect", + ".col lect", + ".coll ect", + "N ib", + "Ni b", + "Ġ Dict", + "ĠD ict", + "ĠDi ct", + "Ġ Emb", + "ĠE mb", + "ĠEm b", + "( subject", + "(sub ject", + "Ġout rage", + "Ġoutr age", + "Ġoutra ge", + "Ġdec iding", + "Ġdecid ing", + "Ġsent enced", + "Ġsentence d", + "F echa", + "Fe cha", + "\" A", + "Ġ quer", + "Ġqu er", + "Ġque r", + "Ġq uer", + "Ġfont Family", + "Ġqu adr", + "Ġquad r", + "Ġqua dr", + "- Y", + "_ CACHE", + "_C ACHE", + "_CA CHE", + "Ġan alyzed", + "Ġanaly zed", + "Ġanalyze d", + "Ġg aining", + "Ġgain ing", + "Ġga ining", + "Ġ Against", + "ĠAgain st", + "ĠS oul", + "ĠSo ul", + "ĠSou l", + "t au", + "ta u", + "Ġlight weight", + "Ġ TF", + "ĠT F", + "Ġ Effects", + "ĠE ffects", + "ĠEffect s", + "ĠEff ects", + ". Types", + ".T ypes", + ".Type s", + ". addClass", + ".add Class", + "Ġv egan", + "Ġve gan", + "Ġveg an", + "é ģ", + ". '\"", + ".' \"", + "Ġ Explorer", + "ĠEx plorer", + "ĠExpl orer", + "ĠExplore r", + ". detect", + ".d etect", + ".det ect", + ". shift", + ".s hift", + ".sh ift", + "Ġoblig ations", + "Ġobligation s", + "last Name", + "Ġassoci ations", + "Ġassociation s", + "Ġassoc iations", + "ĠTime Span", + "un ter", + "unt er", + "unte r", + "Ġ Fresh", + "ĠF resh", + "ĠFr esh", + "ĠFre sh", + "ĠFres h", + "Com patible", + "Compat ible", + "P ub", + "Pu b", + "id ges", + "idge s", + ". option", + ".op tion", + ".o ption", + ".opt ion", + "v ari", + "var i", + "va ri", + ". hashCode", + ".hash Code", + "Ġ geb", + "Ġg eb", + "Ġge b", + ". section", + ".s ection", + ".se ction", + ".sec tion", + "- not", + "-n ot", + "-no t", + "Ġ Submit", + "ĠSub mit", + "T N", + "reg istry", + "registr y", + "regist ry", + "_ media", + "_m edia", + "_me dia", + "_med ia", + "Ġn aj", + "Ġna j", + "f ft", + "ff t", + "Ġ mate", + "Ġm ate", + "Ġmat e", + "Ġma te", + "- third", + "-th ird", + "Ġp ockets", + "Ġpocket s", + "e sta", + "es ta", + "est a", + "Ġb ent", + "Ġbe nt", + "Ġben t", + "ĠN ord", + "ĠNo rd", + "ĠNor d", + "Ġretail ers", + "Ġretailer s", + "ĠM orris", + "ĠMor ris", + "ĠMorr is", + ". \"\"\"ĊĊ", + ".\"\" \"ĊĊ", + ".\"\"\"Ċ Ċ", + ".\"\"\" ĊĊ", + "W rong", + "Wr ong", + "Ġ ÅĽ", + "ĠÅ Ľ", + "R ay", + "Ra y", + ". ec", + ".e c", + "Ġ Bind", + "ĠB ind", + "ĠBi nd", + "ĠBin d", + "_ HAND", + "_H AND", + "( non", + "(n on", + "(no n", + "is Valid", + "Ġsimilar ly", + "_ LIMIT", + "_L IMIT", + "Ġd ynamics", + "Ġdynamic s", + "Ġdynam ics", + "Ġdyn amics", + "Ġdist inction", + "Ġdistinct ion", + "ãģ Ĩ", + "< N", + "Ġ orth", + "Ġor th", + "Ġort h", + "Ġ Toyota", + "ĠToy ota", + "Ġ Kate", + "ĠK ate", + "ĠKat e", + "ĠKa te", + "Ġ LS", + "ĠL S", + "o rie", + "or ie", + "ori e", + "ĠSpring s", + "ĠSpr ings", + "Ġf reak", + "Ġfre ak", + "last name", + "_ MULT", + "_M ULT", + "_MUL T", + "- step", + "-s tep", + "-st ep", + "-ste p", + "\" (", + "A DDR", + "AD DR", + "ADD R", + "Ġentert aining", + "Ġentertain ing", + "_ CONF", + "_CON F", + "_CO NF", + "Ġ decoded", + "Ġde coded", + "Ġdec oded", + "Ġdecode d", + "Ġdeco ded", + "Ġst reak", + "Ġstre ak", + "Ġwait ed", + "Ġwa ited", + "Ġnot ified", + "ro duced", + "rodu ced", + "rod uced", + "roduce d", + "vis ual", + ". LayoutParams", + ".Layout Params", + "æ °", + "e sian", + "es ian", + "esi an", + "f its", + "fit s", + "fi ts", + "s pring", + "sp ring", + "spr ing", + "ĠBer nie", + "ĠBern ie", + "User Defaults", + "Ġpe dest", + "Ġped est", + "Ap pearance", + "Appear ance", + "Ġ Wiki", + "ĠW iki", + "ĠWi ki", + "ĠWik i", + "ĠNOT ICE", + "Ġ ssh", + "Ġs sh", + "Ġss h", + "Ġdur ante", + "Ġ Zip", + "ĠZ ip", + "ĠZi p", + "ı r", + "ĠN ATO", + "ĠNAT O", + "ĠNA TO", + "Ġtw elve", + "Ġr oyal", + "Ġro yal", + "Ġroy al", + "ï ¸", + "Ġ merchant", + "Ġm erchant", + "Ġmer chant", + "Ġmerch ant", + "ĠF urniture", + "ĠFurn iture", + "' ]),Ċ", + "'] ),Ċ", + "']) ,Ċ", + "']), Ċ", + ", X", + "Ġ folders", + "Ġf olders", + "Ġfolder s", + "Ġfol ders", + "Ġfold ers", + "Ġ Gate", + "ĠG ate", + "ĠGa te", + "ĠGat e", + "ĉ func", + "ĉf unc", + "ĉfun c", + "p ick", + "pi ck", + "pic k", + "_ usuario", + "_us uario", + "ĠV erm", + "ĠVer m", + "ĠVe rm", + "m ention", + "ment ion", + "men tion", + "ur pose", + "Ġ alerts", + "Ġal erts", + "Ġalert s", + "Ġale rts", + "x ious", + "xi ous", + "_ sig", + "_s ig", + "_si g", + "Ġ Fu", + "ĠF u", + "Ġ (:", + "Ġ( :", + "Ġd umb", + "Ġdu mb", + "Ġdum b", + "åħ ³", + "Ġaccur ately", + "Ġaccurate ly", + "éĩ į", + "R B", + "- screen", + "-s creen", + "-sc reen", + "Ġ VER", + "ĠV ER", + "ĠVE R", + "j our", + "jo ur", + "Ġrom ance", + "Ġroman ce", + "Ġroma nce", + "uc ceed", + "ucc eed", + ". choice", + ".ch oice", + "Ġad ip", + "_ dims", + "_d ims", + "_dim s", + "_di ms", + "Serial izable", + "ãĤ ĭ", + ". job", + ".j ob", + "Ġ prog", + "Ġp rog", + "Ġpro g", + "Ġpr og", + "u char", + "uch ar", + "uc har", + "ucha r", + "Ġg ently", + "Ġgent ly", + "Ġ RSS", + "ĠR SS", + "ĠRS S", + "ict ured", + "icture d", + "_ENABLE D", + "ĉ label", + "ĉl abel", + "aw ks", + "awk s", + "Ġ Ensure", + "ĠEn sure", + "ĠEns ure", + "re member", + "rem ember", + "ìł ķ", + "Ġtrans mit", + "{ {$", + "{{ $", + ". Transaction", + ".Trans action", + "ur se", + "urs e", + "_ relative", + "_rel ative", + "Ġs ized", + "Ġsize d", + "Ġsi zed", + "Ġsiz ed", + "Ġ XX", + "ĠX X", + "ĠPr incess", + "ĠPrince ss", + "Ġ Larry", + "ĠL arry", + "ĠLar ry", + "Ġp ró", + "Ġpr ó", + "Ġ ÑģÑĤÑĢ", + "ĠÑģ ÑĤÑĢ", + "ĠÑģÑĤ ÑĢ", + "Ġs isters", + "Ġsi sters", + "Ġsister s", + "Ġsist ers", + "Ġsis ters", + "e struct", + "estr uct", + "Ġ checkpoint", + "Ġcheck point", + ": length", + ":len gth", + ":l ength", + "Ġ Carlos", + "ĠCar los", + "ĠCarl os", + "ĠCarlo s", + "/ icon", + "/i con", + "/ic on", + "_ TARGET", + "_T ARGET", + "T okens", + "Token s", + "Tok ens", + "Ġpat ience", + "Ġ Selected", + "ĠSe lected", + "ĠSelect ed", + "ĠSel ected", + "q ty", + "qt y", + ".show Message", + "Ġwild life", + "Ġ Props", + "ĠP rops", + "ĠPro ps", + "ĠPr ops", + "ĠProp s", + "b m", + "- arrow", + "-ar row", + "Ġ parcel", + "Ġpar cel", + "Ġparc el", + "Ġparce l", + "f irebase", + "fire base", + "ĠBen jamin", + "c esso", + "cess o", + "ces so", + ". tim", + ".t im", + "ĠG arc", + "ĠGar c", + "ĠGa rc", + ". any", + ".a ny", + ".an y", + "ĠHOW EVER", + "ĠK o", + "Ġgrab bed", + "_ frames", + "_f rames", + "_frame s", + "_fr ames", + "Ġobject AtIndex", + "ĠADV ISED", + "Ġsu bur", + "Ġsub ur", + "ĉ GL", + "ĉG L", + "Ġ })}Ċ", + "Ġ} )}Ċ", + "Ġ}) }Ċ", + "- length", + "-l ength", + "-le ngth", + "-len gth", + "ìĭ ľ", + "ĠPot ter", + "_ buff", + "_b uff", + "_buf f", + ". gui", + ".g ui", + "Ġ Encoding", + "ĠEn coding", + "ĠEnc oding", + "E lect", + "El ect", + "Ele ct", + "- message", + "-m essage", + "Ġ �", + "Ġ ÈĻi", + "Ġ ArgumentNullException", + "ĠArgument NullException", + "а ÑĨи", + "Ġmin imize", + "Ġminim ize", + "Ġrespond ing", + "$_ ['", + "Ġ Individual", + "ĠInd ividual", + "á c", + "Ġ INTER", + "ĠIN TER", + "ĠINT ER", + "Ġmast urb", + "Ġmastur b", + "Ġ Bin", + "ĠB in", + "ĠBi n", + "( '$", + "(' $", + "ëĵ ľ", + "Ġopen ly", + "Ġ ><", + "Ġ> <", + "Ġ unto", + "Ġun to", + "Ġunt o", + "olog ically", + "ological ly", + "ologic ally", + "Ġ Mul", + "ĠM ul", + "ĠMu l", + "VID IA", + "Ġs lim", + "Ġsl im", + "ĠCommission er", + "( on", + "(o n", + "Ġunder neath", + "/ db", + "/d b", + "v ote", + "vo te", + "( Message", + "(M essage", + "ĠP ope", + "ĠPop e", + "ĠPo pe", + "D efined", + "Def ined", + "Define d", + "Ġ swift", + "Ġsw ift", + "u rf", + "ur f", + "Ġadapt ed", + "Ġadap ted", + "S EL", + "SE L", + "Ġre venues", + "Ġrevenue s", + "Ġreven ues", + "Ġdi vine", + "Ġdiv ine", + "= y", + "G radient", + "Grad ient", + "_ act", + "_a ct", + "_ac t", + "Ġ/* !<", + "Ġ/*! <", + "Ġ polygon", + "Ġp olygon", + "Ġpoly gon", + "Ġ FDA", + "ĠF DA", + "ĠFD A", + "ĠC arr", + "ĠCar r", + "ĠCa rr", + "a tables", + "at ables", + "ata bles", + "atab les", + "atable s", + "( stdout", + "(std out", + "Ġref riger", + "Ġrefr iger", + "Ġco ordin", + "Ġcoord in", + "avor ites", + "avorite s", + "avo rites", + "ÑĪ Ð¸", + "Ġcompass ion", + "ĠPOSS IBILITY", + "- secondary", + "-second ary", + "ur acy", + "ura cy", + "Ġcom promise", + "Ġcomp romise", + "Ġcomprom ise", + "_ AV", + "_A V", + "_ os", + "_o s", + "Ġbe side", + "Ġbes ide", + "ĥ Ŀ", + "Ġ ln", + "Ġl n", + ". plugins", + ".pl ugins", + ".plugin s", + "Cap acity", + "a lah", + "al ah", + "ala h", + ". bin", + ".b in", + ".bi n", + "Ġ CRC", + "ĠC RC", + "ĠCR C", + "_ balance", + "_b alance", + "_bal ance", + "Ġflex Direction", + "Ġam bit", + "Ġamb it", + "Ġ nickname", + "Ġn ickname", + "Ġnick name", + "ĠFor ces", + "ĠForce s", + "C LE", + "CL E", + "Ġ Shell", + "ĠS hell", + "ĠSh ell", + "ĠShe ll", + "ĠShel l", + "Ġs ail", + "Ġsa il", + "Ġsai l", + "Ġ Writer", + "ĠW riter", + "ĠWrite r", + "ĠWr iter", + "Ġ Alice", + "ĠA lice", + "ĠAl ice", + "ĠAli ce", + "ĠAlic e", + "d w", + "ĠInd ians", + "ĠIndia ns", + "ĠIndian s", + "ĠIndi ans", + "ĠMar shall", + "ĠMars hall", + "ĠMarshal l", + "ĠMarsh all", + "_ SRC", + "_S RC", + "_SR C", + "Ġ normalized", + "Ġnormal ized", + "Ġnormalize d", + "ĠJ ag", + "ĠJa g", + "ãĤ Ĵ", + "ze it", + "r pc", + "rp c", + "ÃŃ c", + ". inline", + ".in line", + "Ġtr avers", + "Ġtra vers", + "Ġtrav ers", + "_ numeric", + "_n umeric", + "_num eric", + "_numer ic", + "Ġ utilities", + "Ġutil ities", + "Ġut ilities", + "Ġe vac", + "Ġev ac", + "IN PUT", + "ĉ register", + "ĉreg ister", + "M X", + "ĠCamp bell", + "Ġ datasets", + "Ġd atasets", + "Ġdata sets", + "Ġdataset s", + "Ġdatas ets", + "Ġdem anded", + "Ġdemand ed", + "Ġdemande d", + "Ġinitial State", + "g an", + "ga n", + "Ġ ei", + "Ġe i", + "Un expected", + "- web", + "-w eb", + "-we b", + "t rait", + "tr ait", + "tra it", + ", Y", + "Ġ Todd", + "ĠT odd", + "ĠTo dd", + "ĠTod d", + "Ġs keleton", + "Ġske leton", + "Ġ optimize", + "Ġopt imize", + "Ġoptim ize", + "ç ¬¬", + "ç¬ ¬", + "Ġ Upon", + "ĠU pon", + "ĠUp on", + "ĠSt Object", + "Ġap lic", + "Ġapl ic", + ". ' P", + "v ron", + "vr on", + "vro n", + ". UN", + ".U N", + "Ġp ainter", + "Ġpaint er", + "Ġpain ter", + "Ġpa inter", + "izar re", + "Ġ lav", + "Ġl av", + "Ġla v", + "Ġ pom", + "Ġp om", + "Ġpo m", + "p reg", + "pr eg", + "pre g", + "= function", + "=f unction", + "( serial", + "(s erial", + "(se rial", + "if ica", + "ific a", + "ifi ca", + "u ming", + "um ing", + "umin g", + "umi ng", + "åľ °", + "ãģ Ĥ", + "- op", + "-o p", + "U CH", + "UC H", + "ĠH end", + "ĠHe nd", + "ĠHen d", + ". propTypes", + ".prop Types", + "Ġ yo", + "Ġy o", + "Ġr outines", + "Ġrout ines", + "Ġroutine s", + "Ġc aring", + "Ġcar ing", + "Ġca ring", + "S em", + "Se m", + "Ġres erves", + "Ġreserve s", + "Ġreserv es", + "Ġprior ities", + "Ġpriorit ies", + "red its", + "redit s", + "redi ts", + "I STR", + "IS TR", + "IST R", + "Content Type", + "ĠS chw", + "ĠSc hw", + "ĠSch w", + "/ media", + "/m edia", + "/me dia", + "Ġ estr", + "Ġe str", + "Ġes tr", + "Ġest r", + "Ġclim bing", + "Ġclimb ing", + "- week", + "-we ek", + "cher che", + "s ensor", + "To Array", + "ĠMont real", + "Ġclo uds", + "Ġcloud s", + "ĠInject able", + "ĠR ice", + "ĠRic e", + "ĠRi ce", + "Ġpropag anda", + "_ provider", + "_pro vider", + "_prov ider", + "Ġin door", + "Ġind oor", + "Ġindo or", + "Ġin aug", + "Ġdipl om", + "Ġdip lom", + "Ġm essaging", + "Ġmess aging", + "_ mut", + "_m ut", + "_mu t", + "å ¦Ĥ", + "å¦ Ĥ", + "Ġ kw", + "Ġk w", + "O NS", + "ON S", + "a rians", + "ar ians", + "ari ans", + "arian s", + "aria ns", + "R PC", + "RP C", + ") ]čĊ", + ")] čĊ", + "- ray", + "-r ay", + "-ra y", + "ĠS or", + "ĠSo r", + "m all", + "ma ll", + "mal l", + "Ġmarket place", + "Ġ vtk", + "Ġv tk", + "Ġvt k", + "M a", + "o gan", + "og an", + "oga n", + "i gi", + "ig i", + "Ġs ponsored", + "Ġspons ored", + "Ġsponsor ed", + "Ġ Dani", + "ĠD ani", + "ĠDan i", + "ĠDa ni", + ".S EVER", + ".SE VER", + "> '.$", + ">' .$", + ">'. $", + "m ultipart", + "multi part", + "multip art", + "ĠW ol", + "ĠWo l", + "Ġ tableName", + "Ġtable Name", + "Ġ Username", + "ĠUser name", + "Back groundColor", + "Background Color", + "Ġf right", + "Ġfr ight", + "Ġfri ght", + "_ EMAIL", + "_E MAIL", + "_EM AIL", + "Sept ember", + "Sep tember", + "_ vals", + "_v als", + "_val s", + "_va ls", + "op ia", + "opi a", + "Ġsp otted", + "Ġspot ted", + "- Ch", + "-C h", + "Ġ dataSource", + "Ġdata Source", + "/ \"Ċ", + "/\" Ċ", + "е кÑĤ", + "ек ÑĤ", + "Ġ RequestMethod", + "ĠRequest Method", + "Ġ Replace", + "ĠRe place", + "ĠRep lace", + "- do", + "-d o", + "a hn", + "ah n", + "ĠPh D", + "] .ĊĊ", + "]. ĊĊ", + "].Ċ Ċ", + "N ON", + "NO N", + "g ement", + "ge ment", + "gem ent", + "geme nt", + "Ġ Thr", + "ĠT hr", + "ĠTh r", + "Ġquiet ly", + "Ġtor ture", + "Ġtort ure", + "Ġte as", + "Ġtea s", + "Ġ CY", + "ĠC Y", + "Ġ atr", + "Ġa tr", + "Ġat r", + "de velopment", + "dev elopment", + "develop ment", + "- detail", + "-d etail", + "-de tail", + "-det ail", + "Ġl ighter", + "Ġlight er", + "Ġarg uing", + "Ġdes erves", + "Ġdeserve s", + "Ġdeser ves", + "Ġcur riculum", + "_ CONTEXT", + "_CON TEXT", + "_CONT EXT", + "ÅĤ y", + "H ITE", + "HI TE", + "ĉ ID", + "ĉI D", + "/ uploads", + "/upload s", + "/up loads", + "Ġt its", + "Ġtit s", + "Ġti ts", + "r eo", + "re o", + "_ drop", + "_d rop", + "_dr op", + ". UTF", + ".U TF", + "Ġ pickup", + "Ġpick up", + "Ġpic kup", + "Ġgro cery", + "Ġ Pure", + "ĠP ure", + "ĠPur e", + "ĠPu re", + "Ġeas iest", + "P hil", + "Ph il", + "Phi l", + ". feature", + ".f eature", + ".fe ature", + "( \"*", + "(\" *", + "Ġinvest or", + "Ġinve stor", + "t ok", + "to k", + "Ġ jar", + "Ġj ar", + "Ġja r", + "L os", + "Lo s", + "âĢĶâĢĶâĢĶâĢĶ âĢĶâĢĶâĢĶâĢĶ", + ". queue", + ".q ueue", + "- speed", + "-s peed", + "-sp eed", + "-spe ed", + "M al", + "Ma l", + "um blr", + "umb lr", + "Ġ CONST", + "ĠCON ST", + "ĠCO NST", + "ĠCONS T", + "Ġ HRESULT", + "ĠH RESULT", + "ĠD ance", + "ĠDan ce", + "ĠDa nce", + "( filePath", + "(file Path", + "Ġattribute d", + "Ġattrib uted", + "ॠį", + "ĠB und", + "ĠBu nd", + "ĠBun d", + "c oins", + "co ins", + "coin s", + "Ġs ão", + "Ġ pir", + "Ġp ir", + "Ġpi r", + "person al", + "pers onal", + "persona l", + "Ġpr elim", + "Ġpre lim", + "Ġpro pose", + "Ġprop ose", + "Ġpropos e", + "Ġ TL", + "ĠT L", + "] ])", + "]] )", + "Ġ Subscription", + "ĠSub scription", + "ĠK re", + "ĠKr e", + ", len", + ",l en", + ". FirstOrDefault", + ".First OrDefault", + ") --", + ")- -", + "_ products", + "_product s", + ".Get Bytes", + "S hip", + "Sh ip", + "Ġ encrypt", + "Ġen crypt", + "Ġenc rypt", + "Ġ SG", + "ĠS G", + "ĠM yst", + "ĠMy st", + "h ir", + "hi r", + "Ġ iterate", + "Ġit erate", + "Ġiter ate", + "Ġint end", + "Ġinte nd", + ".mock ito", + "Ġch apters", + "Ġchapter s", + "Ġchap ters", + "( angle", + "(a ngle", + "(an gle", + "(ang le", + "ĠV lad", + "è® ¾", + "' .ĊĊ", + "'. ĊĊ", + "'.Ċ Ċ", + "Response Body", + "ĠA bd", + "ĠAb d", + "de al", + "dea l", + "Ġbar riers", + "Ġbarrier s", + "Ġbarr iers", + "- outline", + "-out line", + "b ill", + "bi ll", + "bil l", + "ĠF alls", + "ĠFall s", + "ĠFal ls", + "_ second", + "_se cond", + "_sec ond", + ". include", + ".in clude", + ".inc lude", + ". ceil", + ".c eil", + ".ce il", + "Ġ occupation", + "Ġoccup ation", + "ph ony", + "phon y", + ".move To", + "Ġ Jennifer", + "ĠJ ennifer", + "ĠJenn ifer", + "A STER", + "AS TER", + "AST ER", + "ASTE R", + "; \"><", + ";\" ><", + ";\"> <", + "Ġ Enabled", + "ĠEn abled", + "ĠEnable d", + "Ġ terminate", + "Ġter minate", + "Ġterm inate", + "Ġtermin ate", + "Ġ Io", + "ĠI o", + "l ations", + "lation s", + "lat ions", + "ĠTHE ORY", + "Ġear liest", + "Ġ rack", + "Ġr ack", + "Ġrac k", + "Ġra ck", + "Ġ Scar", + "ĠS car", + "ĠSc ar", + "sh ake", + "sha ke", + "c hip", + "ch ip", + "chi p", + "Ġ uv", + "Ġu v", + "Ġall iance", + "п иÑģ", + "пи Ñģ", + "ĠGOOD S", + "z ione", + "zi one", + "zion e", + "Ġ VI", + "ĠV I", + "Ġ {-", + "Ġ{ -", + "Ġfil tering", + "Ġfilter ing", + "Ġfilt ering", + "Ġmis con", + "Ġmisc on", + ".Dock Style", + "Ġb ush", + "Ġbu sh", + "Ġbus h", + "Ġj unk", + "Ġju nk", + "Ġjun k", + "æ Į", + "Ġ QUE", + "ĠQ UE", + "ĠQU E", + "Ġ hooks", + "Ġh ooks", + "Ġhook s", + "Ġho oks", + "Ġf irmware", + "Ġfirm ware", + "Ġ middleware", + "Ġm iddleware", + "Ġmiddle ware", + "d ic", + "di c", + "ĠOak land", + "Ġarr ives", + "Ġarrive s", + "Ġarriv es", + "P ayload", + "Pay load", + "p ixel", + "pix el", + "] |", + "Ġ startDate", + "Ġstart Date", + ". PRO", + ".P RO", + ".PR O", + "_ audio", + "_a udio", + "Ġmid field", + "igid body", + "ĠSw iss", + "Ġ Clip", + "ĠC lip", + "ĠCl ip", + "ĠCli p", + "Ġ Dump", + "ĠD ump", + "ĠDu mp", + "ĠDum p", + "Ġ TextBox", + "ĠText Box", + "Ġ geh", + "Ġg eh", + "Ġge h", + "y ield", + "yi eld", + "o ds", + "od s", + "Ġrefer endum", + "Back end", + "Ġ Cream", + "ĠC ream", + "ĠCr eam", + "ĠCre am", + "Ġd ominated", + "Ġdo minated", + "Ġdom inated", + "Ġdomin ated", + "Ġdominate d", + "Ġdomina ted", + "Ġ Archive", + "ĠA rchive", + "ĠArch ive", + "ĠArc hive", + "Ġr iders", + "Ġrid ers", + "Ġride rs", + "Ġri ders", + "Ġrider s", + ".prepare Statement", + "Ġqu ando", + "Ġquand o", + "Ġqua ndo", + "Ġquan do", + "Ġ chef", + "Ġch ef", + "Ġche f", + "w iki", + "wi ki", + "wik i", + "i nel", + "in el", + "ine l", + "am pling", + "amp ling", + "(\" \\\\", + "(\"\\ \\", + "Ġs ag", + "Ġsa g", + "_ proxy", + "_pro xy", + "_pr oxy", + "ãģ ķ", + "p do", + "pd o", + ". getElementsByTagName", + ".get ElementsByTagName", + ".getElementsBy TagName", + "Ġdemon stration", + "Ġdemonstr ation", + "Ġ NPC", + "ĠN PC", + "ĠNP C", + "Ġ archivo", + "Ġarch ivo", + "en dance", + "end ance", + "enda nce", + "Ġefficient ly", + "( actual", + "(ac tual", + "(act ual", + ". tableView", + ".t ableView", + ".table View", + "Ġm ush", + "Ġmus h", + "Ġmu sh", + "Ġb ears", + "Ġbe ars", + "Ġbear s", + "_ threads", + "_th reads", + "_thread s", + "j as", + "ja s", + "ah un", + "ahu n", + "Ġne ural", + "Ġneu ral", + "Ġneur al", + "Ġdesign ing", + "ĠG DP", + "ĠGD P", + "Ġlif ted", + "Ġlift ed", + "çĽ ®", + "Ġ Joint", + "ĠJ oint", + "ĠJo int", + "ĠJoin t", + "ĠJoi nt", + "Ġ Include", + "ĠIn clude", + "ĠInc lude", + "ĠG iants", + "ĠGi ants", + "ĠGiant s", + "ĠGian ts", + "ĠGia nts", + "Ġwithdraw al", + "Ġ Rent", + "ĠR ent", + "ĠRe nt", + "ĠRen t", + "n ative", + "nat ive", + "Ġ Seek", + "ĠSe ek", + "ĠSee k", + "g ression", + "gr ession", + "gress ion", + "_ CPU", + "_C PU", + "_CP U", + "\\ S", + "Ġ Shield", + "ĠSh ield", + "ĠShi eld", + "Ġs olic", + "Ġso lic", + "Ġsol ic", + "Ġ boom", + "Ġb oom", + "Ġbo om", + "Ġboo m", + "yect o", + "Ġmanufact ure", + "Ġ âĢĭ", + "ĠâĢ ĭ", + "Ġ bbox", + "Ġb box", + "Ġbb ox", + "Ġearth qu", + "oll ectors", + "ollect ors", + "olle ctors", + ":@\" %", + ":@ \"%", + "Ġ loops", + "Ġl oops", + "Ġlo ops", + "Ġloop s", + "J e", + "al king", + "alk ing", + "Ġ Whats", + "ĠWh ats", + "ĠWhat s", + "ĠBo ys", + "ĠBoy s", + ". book", + ".b ook", + ".bo ok", + "AR GE", + "ARG E", + "_ pixel", + "_p ixel", + "_pix el", + "Ġsus pects", + "Ġsusp ects", + "Ġsuspect s", + "Î ¹", + "u sp", + "us p", + "Ġ BMW", + "ĠB MW", + "ĠBM W", + "ie ces", + "iece s", + "iec es", + "( person", + "(p erson", + "(per son", + "å¼ Ģ", + "é »", + "ĠP odcast", + "ĠPod cast", + "Ġ bou", + "Ġb ou", + "Ġbo u", + "( Item", + "(I tem", + "(It em", + "à »", + "( Input", + "(In put", + "Http Get", + "Ġ burg", + "Ġb urg", + "Ġbu rg", + "Ġbur g", + ") ^", + "BO ARD", + "* /,", + "*/ ,", + "Ġ gulp", + "Ġg ulp", + "Ġgu lp", + "Ġgul p", + "ĠB enn", + "ĠBe nn", + "ĠBen n", + "Ġde cks", + "Ġdec ks", + "Ġdeck s", + ". statusCode", + ".status Code", + "Ġ acute", + "Ġac ute", + "Ġh ug", + "Ġhu g", + "u gu", + "ug u", + "Ġ pled", + "Ġp led", + "Ġpl ed", + "Ġple d", + ", \"%", + ",\" %", + "h ape", + "ha pe", + "hap e", + "Ġз ап", + "Ġза п", + "ĠM aine", + "ĠMain e", + "ĠMa ine", + "ĠMai ne", + ". real", + ".re al", + "Ġd alam", + "Ġda lam", + "Ġdal am", + "Ġ Minor", + "ĠMin or", + "ĠMi nor", + ". Float", + ".F loat", + "d isp", + "dis p", + "di sp", + "Ġ tl", + "Ġt l", + "Ġen count", + "Ġenc ount", + "= >$", + "=> $", + "Ġ fg", + "Ġf g", + "t ees", + "te es", + "tee s", + "ĠRe comm", + "ĠRec omm", + "ĠReco mm", + "ä l", + "Ġ chemistry", + "Ġchem istry", + "B locks", + "Block s", + "Bl ocks", + "Bloc ks", + "Blo cks", + "O ID", + "OI D", + "Ġf orex", + "Ġfor ex", + "Ġfore x", + "Ġfo rex", + "Ġ Append", + "ĠApp end", + "ĠAp pend", + "ĠAppe nd", + "Ġ {*", + "Ġ{ *", + "Ġ Supply", + "ĠS upply", + "ĠSup ply", + "CG Float", + "( bl", + "(b l", + "Ġ ate", + "Ġa te", + "Ġat e", + "ad ora", + "ado ra", + "ador a", + "Ġg ust", + "Ġgu st", + "Ass oci", + "Assoc i", + "> .Ċ", + ">. Ċ", + "F ETCH", + ". serial", + ".s erial", + ".se rial", + ".ser ial", + "widget s", + "wid gets", + "ard less", + "i efs", + "ie fs", + "ief s", + "_ FULL", + "_F ULL", + "ern etes", + "ernet es", + "erne tes", + "Ġ Pred", + "ĠP red", + "ĠPr ed", + "ĠPre d", + "Ø Ń", + "äº ĭ", + "ub ernetes", + "ubern etes", + "Ġ Laura", + "ĠL aura", + "ĠLa ura", + "ĠLaur a", + "ĠLau ra", + "Ġl abeled", + "Ġlabel ed", + "Ġlab eled", + "High light", + "Ġanno ying", + "Ġannoy ing", + "/ update", + "/up date", + "( description", + "(d escription", + "(de scription", + "(des cription", + "Ġint imid", + "Ġintim id", + "$ c", + "\" )))Ċ", + "\") ))Ċ", + "\")) )Ċ", + "\"))) Ċ", + ". AP", + ".A P", + "Ġ[ ]*", + "Ġ[] *", + "Ġ EXIT", + "ĠEX IT", + ". Host", + ".H ost", + "Ġ OPEN", + "ĠOP EN", + ". sendMessage", + ".send Message", + "_ camera", + "_c amera", + "_cam era", + "_ tile", + "_t ile", + "_ti le", + "Ġth erm", + "Ġthe rm", + "Ġther m", + "onom ous", + "Ġdis adv", + "Ġn aar", + "Ġna ar", + "index Of", + "Ġ PP", + "ĠP P", + ". protocol", + ".prot ocol", + ".proto col", + "A FE", + "AF E", + "Ġ textures", + "Ġtext ures", + "Ġtexture s", + "Ġtex tures", + "Ġtextu res", + "######## ########################################", + "################ ################################", + "################################ ################", + "######################################## ########", + "######################## ########################", + "um bai", + "umb ai", + "umba i", + ". stats", + ".st ats", + ".stat s", + "Ġ GE", + "ĠG E", + "Ġ ie", + "Ġi e", + "Ġ STD", + "ĠS TD", + "ĠST D", + "ĠM ann", + "ĠMan n", + "ĠMa nn", + ". reflect", + ".ref lect", + "K B", + "Ġd ive", + "Ġdi ve", + "Ġdiv e", + ". wav", + ".w av", + "/* ----------------------------------------------------------------", + "/*------------------------------------------------ ----------------", + "/ settings", + "/s ettings", + "/set tings", + ".l ifecycle", + ".life cycle", + "Ġda ughters", + "Ġdaughter s", + "o rus", + "or us", + "oru s", + "u ber", + "ub er", + "ube r", + "N ING", + "NI NG", + "s tri", + "st ri", + "str i", + "Ġ Tip", + "ĠT ip", + "ĠTi p", + "Ġ zn", + "Ġz n", + "Ġsw itched", + "Ġswitch ed", + "i net", + "in et", + "ine t", + "uff y", + "uf fy", + "ĠTransport ation", + "( conf", + "(con f", + "(co nf", + "f rica", + "fr ica", + "Ġ XL", + "ĠX L", + "Ġ Lead", + "ĠL ead", + "ĠLe ad", + "_ percent", + "_per cent", + "_perc ent", + "< Map", + " __", + "->_ _", + "per missions", + "perm issions", + "permission s", + "ĠD etermine", + "ĠDetermin e", + ". Man", + ".M an", + ".Ma n", + "Ġadv ances", + "Ġadvance s", + ". InputStream", + ".Input Stream", + "Ġstrong est", + "Ġstron gest", + "Ġe Bay", + "Ġ# -", + "Ġ dirname", + "Ġdir name", + "Ġ SMS", + "ĠS MS", + "ĠSM S", + "Ġmed ications", + "Ġmedic ations", + "Ġmedication s", + "Ġam ended", + "Ġamen ded", + "Ġamend ed", + "Ġchurch es", + "ĠIm perial", + "ĠImp erial", + "ĠImper ial", + "$ row", + "$r ow", + "ĠMad ison", + "Ġ Insp", + "ĠIn sp", + "ĠIns p", + "Ġaff air", + "Ġaf fair", + "Ġpsych ology", + "Ġpsycho logy", + "v h", + "Ġ severity", + "Ġse verity", + "Ġsever ity", + "âĢ IJ", + "Ġst rips", + "Ġstr ips", + "Ġstri ps", + "Ġstrip s", + "A H", + "vert ising", + "vertis ing", + "Ġc onse", + "Ġcon se", + "Ġcons e", + "IM AGE", + "IMA GE", + "Ġ Stats", + "ĠSt ats", + "ĠStat s", + "ĠSta ts", + "ĉ sc", + "ĉs c", + ". Cursor", + ".C ursor", + "Ġ freeze", + "Ġf reeze", + "Ġfree ze", + "s son", + "ss on", + "( xml", + "(x ml", + "Ġ Susan", + "ĠS usan", + "ĠSus an", + "ĠSu san", + ". tile", + ".t ile", + "e ded", + "ed ed", + "ede d", + "ĠĠ ĠĠĉĉĉ", + "ĠĠĠĠ ĉĉĉ", + "ĠĠĠ Ġĉĉĉ", + "ĠĠĠĠĉ ĉĉ", + "ĠĠĠĠĉĉ ĉ", + "u elle", + "ue lle", + "uel le", + "uell e", + "ĠMitch ell", + "b ased", + "base d", + "ba sed", + "bas ed", + "Oper and", + "Opera nd", + "½ æķ°", + "Ġ FF", + "ĠF F", + "ĉ strcpy", + "ĉstr cpy", + "ou nces", + "oun ces", + "ounc es", + "ounce s", + "il do", + "ild o", + ".execute Query", + "Ġappro aching", + "Ġapproach ing", + "Ġ Seven", + "ĠS even", + "ĠSe ven", + "ĠSev en", + "Ġ nuts", + "Ġn uts", + "Ġnut s", + "Ġnu ts", + "Ġ ric", + "Ġr ic", + "Ġri c", + "ass ignment", + "assign ment", + "Ġ calculator", + "Ġcal culator", + "Ġcalcul ator", + "Ġcalc ulator", + "ĠMur phy", + "ĠB ou", + "ĠBo u", + "í Ħ", + "Ġ butt", + "Ġb utt", + "Ġbut t", + "Ġbu tt", + "Ġ ticks", + "Ġt icks", + "Ġti cks", + "Ġtick s", + "Ġtic ks", + "Project s", + "Proj ects", + "i lib", + "il ib", + "ili b", + ".text Color", + "m ov", + "mo v", + "_ logo", + "_l ogo", + "_log o", + "_lo go", + "( template", + "(t emplate", + "(temp late", + "Ġ INIT", + "ĠIN IT", + "Ġ imageView", + "Ġimage View", + "s criptions", + "script ions", + "scri ptions", + "scription s", + "OR ITY", + "Con sumer", + "Cons umer", + "Consum er", + "Ġun precedented", + "Ġtour ist", + "Ġtou rist", + "Ġ bron", + "Ġb ron", + "Ġbr on", + "Ġbro n", + "Ġcon tractor", + "Ġcontract or", + "Ġcontr actor", + "Ġcontra ctor", + "Ġ licence", + "Ġli cence", + "Ġlic ence", + "Ġ Nam", + "ĠN am", + "ĠNa m", + "æ ¯", + "( transform", + "(trans form", + "_ ATT", + "_A TT", + "_AT T", + "P ref", + "Pr ef", + "Pre f", + "Ġ Gam", + "ĠG am", + "ĠGa m", + "Ġvess els", + "Ġvessel s", + "Ġh av", + "Ġha v", + "L ater", + "La ter", + "Lat er", + "Late r", + ". ToLower", + ".To Lower", + "Ġ urls", + "Ġurl s", + "Ġur ls", + "Ġbreak down", + "Ġpen alties", + "Ġpenal ties", + "Ġf oster", + "Ġfo ster", + "Ġfost er", + "Ġfos ter", + "Ġ UE", + "ĠU E", + "Ġc lue", + "Ġcl ue", + "c omed", + "com ed", + "co med", + "come d", + "åIJį ç§°", + "- main", + "-m ain", + "Ġ pts", + "Ġp ts", + "Ġpt s", + "Ġco unted", + "Ġcount ed", + "Ġcoun ted", + "i cts", + "ic ts", + "ict s", + "/ post", + "/p ost", + "Ġ getattr", + "Ġget attr", + "Ġ ping", + "Ġp ing", + "Ġpi ng", + "Ġpin g", + "AN CEL", + "ANCE L", + "ANC EL", + "Ġ pec", + "Ġp ec", + "Ġpe c", + "Ñħ од", + "Ñħо д", + "an tom", + "ant om", + "anto m", + "Ġ Blueprint", + "ĠBlue print", + "ĠEvent Emitter", + "Ġ lä", + "Ġl ä", + "æ ²", + "Ġst raw", + "Ġstr aw", + "Ġstra w", + "( comp", + "(c omp", + "(com p", + "(co mp", + "' une", + "'un e", + "'u ne", + "> N", + "- client", + "-c lient", + "-cl ient", + "-cli ent", + "es Module", + "- base", + "-b ase", + "Ġret reat", + "Ġretr eat", + "_ simple", + "_s imple", + "_sim ple", + "ĉ ĉĉĉĉĉĠ", + "ĉĉ ĉĉĉĉĠ", + "ĉĉĉĉ ĉĉĠ", + "ĉĉĉ ĉĉĉĠ", + "ĉĉĉĉĉ ĉĠ", + "ĉĉĉĉĉĉ Ġ", + "f ee", + "fe e", + "' )čĊčĊ", + "') čĊčĊ", + "')čĊ čĊ", + "Control Item", + "Ġsub scribers", + "Ġsubscri bers", + "Ġsubscribe rs", + "Ġsubscriber s", + "p lease", + "pl ease", + "ple ase", + "Ġ Eff", + "ĠE ff", + "ĠEf f", + "Ġp ound", + "Ġpo und", + "Ġpou nd", + "Ġ Bytes", + "ĠBy tes", + "ĠByte s", + "ĠT ea", + "ĠTe a", + "_ activity", + "_act ivity", + "_activ ity", + "Ġmax im", + "Ġmaxi m", + "Ġ opcode", + "Ġop code", + "Ġopc ode", + "B SD", + "BS D", + ". constant", + ".con stant", + ".const ant", + ".cons tant", + "; }", + "omb res", + "ombre s", + "Ġcare ers", + "Ġcareer s", + ") .ĊĊĊĊ", + "). ĊĊĊĊ", + ").ĊĊ ĊĊ", + ").Ċ ĊĊĊ", + ").ĊĊĊ Ċ", + "Ġsp reading", + "Ġspread ing", + "Ġspre ading", + "- expanded", + "-exp anded", + "-expand ed", + "Ġ Ord", + "ĠO rd", + "ĠOr d", + "am arin", + "ama rin", + "amar in", + "Ġmob ility", + "Ġmobil ity", + "Un fortunately", + "a kk", + "ak k", + "N L", + "_ redirect", + "_re direct", + "_red irect", + "Ġ PG", + "ĠP G", + "Ġ Sensor", + "ĠS ensor", + "ĠSens or", + "b ol", + "bo l", + "t ap", + "ta p", + "_ MEMORY", + "_MEM ORY", + "Ġ UIAlert", + "ĠUI Alert", + "pl itude", + "plit ude", + "We bsite", + "Web site", + "Ġ Logo", + "ĠL ogo", + "ĠLog o", + "ĠLo go", + "l ove", + "lo ve", + "lov e", + "[ ind", + "[i nd", + "[in d", + "Ġalto gether", + "Ġwonder ed", + "Ġ esper", + "Ġes per", + "Ġesp er", + "ĠLib eral", + "ĠLiber al", + "Ġ oss", + "Ġo ss", + "Ġos s", + "Ġe lit", + "Ġel it", + "Ġst iff", + "Ġstif f", + "od ox", + "odo x", + "_ mentions", + "_m entions", + "_ment ions", + "ĠDou glas", + "ĠDoug las", + "_ pid", + "_p id", + "_pi d", + "Ġ CK", + "ĠC K", + "ĠinitWith Frame", + ". blog", + ".b log", + ".bl og", + "p kg", + "pk g", + "ang hai", + "QUI RED", + "QUIRE D", + "u u", + "Ġ mkdir", + "Ġm kdir", + "Ġmk dir", + "AT AL", + "ATA L", + "Ġu nh", + "Ġun h", + "i nces", + "in ces", + "ince s", + "inc es", + "s th", + "st h", + "Ġhypo thesis", + "Ġhypoth esis", + "Ġc ata", + "Ġca ta", + "Ġcat a", + "Ġ TB", + "ĠT B", + "Ġ Clar", + "ĠC lar", + "ĠCl ar", + "ĠCla r", + "Ġpre decess", + "Ġpred ecess", + "Ġsit uated", + "Ġsitu ated", + "- world", + "-w orld", + ") )/", + ")) /", + "Ġhead lines", + "Ġheadline s", + ". stat", + ".s tat", + ".st at", + "Ġout break", + "s path", + "sp ath", + "spa th", + "_ FLAGS", + "_FLAG S", + "ĠServlet Exception", + "S un", + "Su n", + "F ROM", + "FR OM", + "Ġ Dir", + "ĠD ir", + "ĠDi r", + "ãĥ» ãĥ»ãĥ»", + "ãĥ»ãĥ» ãĥ»", + "_ coord", + "_c oord", + "_co ord", + "ĠOp tim", + "ĠOpt im", + "M onitor", + "Mon itor", + ". bit", + ".b it", + ".bi t", + "X XX", + "XX X", + "Ġto das", + "Ġtod as", + "Ġtoda s", + "f eld", + "fe ld", + "fel d", + "ÑĢ Ð¸", + "i mir", + "im ir", + "imi r", + "Ġpolit ically", + "Ġpolitical ly", + "Ġpolitic ally", + "Ġm olecular", + "Ġmolec ular", + "Ġmole cular", + "Ġtr aded", + "Ġtrad ed", + "Ġtrade d", + "Ġtra ded", + "Ġ {{$", + "Ġ{ {$", + "Ġ{{ $", + "ĠSw edish", + "ĠSwe dish", + "Ġ'@ /", + "_ REAL", + "_RE AL", + "Ġ warehouse", + "Ġw arehouse", + "Ġware house", + "t oday", + "to day", + "tod ay", + ", L", + "o rp", + "or p", + "< section", + " false", + ">f alse", + "Ġ spa", + "Ġs pa", + "Ġsp a", + "Ġ Near", + "ĠN ear", + "ĠNe ar", + "ì ķ", + "Ġint rig", + "Ġintr ig", + "_ members", + "_m embers", + "_mem bers", + "_member s", + "w ave", + "wa ve", + "wav e", + "Ġanal ysts", + "Ġanaly sts", + "Ġanalyst s", + "Ġanalys ts", + "_ OS", + "_O S", + "e din", + "ed in", + "edi n", + "Ġ Fri", + "ĠF ri", + "ĠFr i", + "Ġret rieved", + "Ġretrie ved", + "Ġretrieve d", + "Ġretr ieved", + "Reg ular", + "_ obs", + "_o bs", + "_ob s", + "EX PORT", + "EXP ORT", + "' )}}\"", + "') }}\"", + "')}} \"", + "')} }\"", + "\" class", + "\"c lass", + "__ ((", + "__( (", + "b ucket", + "bu cket", + "Ġ stro", + "Ġs tro", + "Ġst ro", + "Ġstr o", + "Ġ Patch", + "ĠP atch", + "ĠPat ch", + "y stick", + "yst ick", + "ys tick", + "ful ness", + "a pos", + "ap os", + "apo s", + "D a", + "ĉ ĉĉĉĉĠĠĠ", + "ĉĉ ĉĉĉĠĠĠ", + "ĉĉĉĉ ĉĠĠĠ", + "ĉĉĉ ĉĉĠĠĠ", + "ĉĉĉĉĉ ĠĠĠ", + "ĉĉĉĉĉĠ ĠĠ", + "ĉĉĉĉĉĠĠ Ġ", + "Ġen rich", + "Ġenr ich", + "un ordered", + "h ole", + "ho le", + "hol e", + "C ong", + "Con g", + "Co ng", + "< Product", + "ĠC urt", + "ĠCur t", + "ĠCu rt", + "( the", + "(t he", + "(th e", + "_ lower", + "_l ower", + "_lo wer", + "_low er", + "Ġavoid ing", + "Ġ buzz", + "Ġb uzz", + "Ġbu zz", + "Ġbuz z", + "Ġv iable", + "Ġvi able", + "Ġvia ble", + "u ba", + "ub a", + "- is", + "-i s", + "a rel", + "ar el", + "are l", + "Ġ acted", + "Ġact ed", + "Ġac ted", + "- details", + "-d etails", + "-de tails", + "-detail s", + "-det ails", + "ภĩ", + "Ġ Theory", + "ĠThe ory", + "ĠTheo ry", + "ĠP un", + "ĠPu n", + "Ġ Anonymous", + "ĠAn onymous", + ".. .\"Ċ", + "... \"Ċ", + "...\" Ċ", + "è res", + "ère s", + "åı ¯", + "Ġ Vision", + "ĠV ision", + "ĠVis ion", + "_ sem", + "_s em", + "_se m", + "a sha", + "as ha", + "ash a", + "Ġcelebr ity", + "Ġ endDate", + "Ġend Date", + "Ġ populate", + "Ġpop ulate", + "Ġpopul ate", + "Ġc uis", + "Ġcu is", + "Ġcui s", + "q uant", + "qu ant", + "qua nt", + "quan t", + "f loor", + "fl oor", + "flo or", + "Ġglobal ly", + "Ġglob ally", + "Ġc ruise", + "Ġcru ise", + "Ġcruis e", + "ĠStan ley", + "Ġb ikes", + "Ġbi kes", + "Ġbike s", + "Ġbik es", + ". getConnection", + ".get Connection", + "Ġpoor ly", + "_ other", + "_o ther", + "_ot her", + "am ping", + "amp ing", + ". \");ĊĊ", + ".\" );ĊĊ", + ".\");Ċ Ċ", + ".\") ;ĊĊ", + ".\"); ĊĊ", + "o di", + "od i", + "_ ADMIN", + "_A DMIN", + "_AD MIN", + ". colors", + ".color s", + ".col ors", + "ĠG aming", + "ĠGa ming", + "ĠGam ing", + "> ';ĊĊ", + ">' ;ĊĊ", + ">';Ċ Ċ", + ">'; ĊĊ", + "STR UCT", + "STRU CT", + "Q R", + "I Ds", + "ID s", + "( arguments", + "(arg uments", + "(argument s", + "_ aux", + "_a ux", + "( Event", + "(E vent", + "_ PRIVATE", + "_PR IVATE", + "_PRIV ATE", + "ĠT rek", + "ĠTr ek", + "ĠTre k", + "Ġ downloads", + "Ġdown loads", + "Ġdownload s", + "m utable", + "mut able", + "mu table", + "_ STRUCT", + "_STR UCT", + "( wx", + "(w x", + "Ġ domains", + "Ġdom ains", + "Ġdomain s", + "Ġdoma ins", + "js px", + "jsp x", + "ĠVi agra", + "ĠVia gra", + "Command s", + "Comm ands", + "J s", + ". cfg", + ".c fg", + ".cf g", + "Content Pane", + "Ġ EditText", + "ĠEdit Text", + "à¥į à¤", + "At tach", + "Att ach", + "Ġ ARM", + "ĠA RM", + "ĠAR M", + "pos itive", + "posit ive", + "Ġ Generated", + "ĠG enerated", + "ĠGener ated", + "ĠGenerate d", + "ĠGene rated", + "Ġse ized", + "Ġseiz ed", + "Ġsei zed", + "Ġseize d", + "= :", + "Ġ electronics", + "Ġelect ronics", + "Ġelectronic s", + "Ġelectron ics", + "Ġ AppComponent", + "ĠApp Component", + "/ ',Ċ", + "/' ,Ċ", + "/', Ċ", + ". equalsIgnoreCase", + ".equals IgnoreCase", + "Do ctrine", + "d isk", + "dis k", + "di sk", + "Ġ Political", + "ĠPol itical", + "ĠPolit ical", + "C HO", + "CH O", + "< F", + "ĉ height", + "ĉh eight", + "Ġ Bug", + "ĠB ug", + "ĠBu g", + ". le", + ".l e", + "i kh", + "ik h", + "Ġ milliseconds", + "Ġm illiseconds", + "Ġmill iseconds", + "Ġmilli seconds", + "Ġconst itu", + "Ġconstit u", + "m ag", + "ma g", + ". nl", + ".n l", + "- range", + "-r ange", + "-ra nge", + "ang gal", + "' ,[", + "', [", + "r opolitan", + "ropol itan", + "Ġ Ãľ", + "Ġà ľ", + "Ġ UC", + "ĠU C", + ". desc", + ".d esc", + ".de sc", + ".des c", + "- LAST", + "-L AST", + "f stream", + "fst ream", + "i bil", + "ib il", + "ibi l", + "Ġf ier", + "Ġfi er", + "Ġfie r", + "V ERY", + "VER Y", + "VE RY", + "Ġ ë³", + "Ġë ³", + "I RT", + "IR T", + "_ UI", + "_U I", + "( abs", + "(a bs", + "(ab s", + "Ġk nees", + "Ġkn ees", + "Ġkne es", + "Ġknee s", + "Ġr ookie", + "Ġro okie", + "Ġ Vac", + "ĠV ac", + "ĠVa c", + "a rena", + "ar ena", + "are na", + "aren a", + "comm end", + "- \\", + "ĠSUB STITUTE", + "S oft", + "So ft", + "Ġpart ir", + "Ġpar tir", + "Ġparti r", + "we alth", + "è¦ ģ", + "( dataset", + "(d ataset", + "(data set", + "(dat aset", + "(datas et", + "Ġ Climate", + "ĠCl imate", + "ĠClim ate", + "ĠCli mate", + "- show", + "-s how", + "-sh ow", + "Ġrel iability", + "Ġreli ability", + "_ chunk", + "_ch unk", + "ä» £", + "_ stock", + "_st ock", + "ĠEX EMPLARY", + "ï ¸ı", + "ï¸ ı", + "Ġ vÃŃ", + "Ġv ÃŃ", + "Ġsm iled", + "Ġsmile d", + "Ġdr ill", + "Ġdri ll", + ". Function", + ".F unction", + ".Func tion", + "Ġ SI", + "ĠS I", + "Ġre gression", + "Ġreg ression", + "Ġregress ion", + "- X", + "Ġ Jar", + "ĠJ ar", + "ĠJa r", + "p ref", + "pr ef", + "pre f", + "ĉ success", + "ĉs uccess", + "ĠH itler", + "ĠHit ler", + "Ġinst inct", + "Ġfem mes", + "Ġfemme s", + "Ġ lover", + "Ġl over", + "Ġlo ver", + "Ġlove r", + "Ġlov er", + "< Ċ", + "Ġmulti plier", + "Ġmultip lier", + "r il", + "ri l", + "Re size", + "Res ize", + "Ġ Authorization", + "ĠAuthor ization", + "ĠK an", + "ĠKa n", + "Dispatch ToProps", + "Ġc rops", + "Ġcr ops", + "Ġcro ps", + "Ġcrop s", + "t okens", + "token s", + "tok ens", + "e cn", + "ec n", + "ent ially", + "ential ly", + "enti ally", + "ĠINTERRU PTION", + "f ake", + "fa ke", + "fak e", + "Un defined", + "Und efined", + "Ġ AK", + "ĠA K", + "Ġ TestCase", + "ĠTest Case", + "Ġ rab", + "Ġr ab", + "Ġra b", + "Ġ torrent", + "Ġt orrent", + "Ġtor rent", + "Ġ Ot", + "ĠO t", + "B ars", + "Bar s", + "Ba rs", + "Ġ lecture", + "Ġl ecture", + "Ġlect ure", + "Ġen jo", + "Ġrespond s", + "Ġresp onds", + "Ġ indexed", + "Ġindex ed", + "Ġinde xed", + "Of Work", + "_ chain", + "_ch ain", + ") )->", + ")) ->", + "))- >", + "Ġ Beauty", + "ĠBe auty", + "ĠBeaut y", + "ĠBea uty", + "ĠBeau ty", + "Ġ` <", + "Ġtouch ing", + "Ġtou ching", + "Ġ |--", + "Ġ| --", + "Ġ|- -", + "ĉ flag", + "ĉf lag", + "normal ize", + "Ġt rapped", + "Ġtr apped", + "Ġtra pped", + "Ġtrap ped", + "Ġestablish ing", + "/ build", + "/b uild", + "A J", + "f y", + "- react", + "-re act", + "a vn", + "av n", + "RI PTION", + "RIPT ION", + "Ġk ut", + "Ġku t", + "Ġ Fashion", + "ĠF ashion", + "Ġ Inform", + "ĠIn form", + "ĠInfo rm", + "ĠInf orm", + "c urities", + "cur ities", + "< byte", + "{Ċ", + "Ġ= >{Ċ", + "Ġ=> {Ċ", + "Ġgar lic", + "Ġ repr", + "Ġre pr", + "Ġrep r", + "Ġre plies", + "Ġrep lies", + "Ġrepl ies", + "( prop", + "(p rop", + "(pro p", + "(pr op", + "Ġspirit s", + "Ġspir its", + "Ġins pire", + "Ġinspir e", + "Ġinsp ire", + "Ġbase ment", + "Ġbas ement", + ". reject", + ".re ject", + "Ġ hints", + "Ġh ints", + "Ġhint s", + "Ġhi nts", + "Ġhin ts", + "Ġpol ling", + "Ġpoll ing", + "ĉ ĠĊ", + "ĉĠ Ċ", + "_ rating", + "_r ating", + "_ra ting", + "_rat ing", + "Ġc ath", + "Ġca th", + "Ġcat h", + "a vier", + "av ier", + "avi er", + "Ġ compressed", + "Ġcom pressed", + "Ġcomp ressed", + "Ġcompr essed", + "Ġcompress ed", + "Ġ VS", + "ĠV S", + "] '", + "Ġjud icial", + "ĠT rend", + "ĠTr end", + "ĠTre nd", + "tr aining", + "tra ining", + "train ing", + "EST AMP", + "ogn ition", + "Ä ģ", + "S ENT", + "SE NT", + "SEN T", + "v entions", + "vent ions", + "vention s", + "Ġconsult ant", + "Ġconsulta nt", + "Ġconsul tant", + "u mph", + "um ph", + "ump h", + "Ġ userService", + "Ġuser Service", + ", NULL", + ",N ULL", + "k h", + "D ear", + "De ar", + "_ BAD", + "_B AD", + "it ations", + "itation s", + "itat ions", + "Ġmet aph", + "Ġmeta ph", + "' é", + "and ise", + "andi se", + "- font", + "-f ont", + ". chart", + ".c hart", + ".ch art", + ".char t", + "Ġ sg", + "Ġs g", + "_ Controller", + "_Control ler", + ". jpeg", + ".j peg", + ".jp eg", + "Ġ ULONG", + "ĠU LONG", + "ĠUL ONG", + "ĉ game", + "ĉg ame", + "( ss", + "(s s", + "ĠM aj", + "ĠMa j", + "ĉ go", + "ĉg o", + "Ġ Sad", + "ĠS ad", + "ĠSa d", + "ĠB erg", + "ĠBe rg", + "ĠBer g", + "Ġ Mine", + "ĠM ine", + "ĠMin e", + "ĠMi ne", + "P ack", + "Pa ck", + "Ġres istant", + "Ġresist ant", + "Ġ ROM", + "ĠR OM", + "ĠRO M", + "Ġ peg", + "Ġp eg", + "Ġpe g", + "ĠSt anford", + "ĠStan ford", + "Ġ Yahoo", + "ĠY ahoo", + "ĠYa hoo", + "ĠYah oo", + "Ġ scaled", + "Ġs caled", + "Ġsc aled", + "Ġscale d", + "Ġsca led", + "Ġscal ed", + "Ġ lan", + "Ġl an", + "Ġla n", + "= []", + "=[ ]", + "\" /> < /", + "Ġ plots", + "Ġp lots", + "Ġpl ots", + "Ġplot s", + "Ġplo ts", + ". *Ċ", + ".* Ċ", + "Ġtr aveled", + "Ġtravel ed", + "Ġtra veled", + "Ġtrav eled", + "ĠO scar", + "ĠOs car", + "ĠOsc ar", + "V L", + "Ġl inking", + "Ġlink ing", + "Ġlin king", + "Ġt ires", + "Ġti res", + "Ġtire s", + "Ġtir es", + "Ġ' *'", + "Ġ'* '", + "ĠBuffer ed", + "ĠBuff ered", + "e ri", + "er i", + "Ġ ****", + "Ġ* ***", + "Ġ** **", + "Ġ*** *", + "Ġover look", + "Ġoverl ook", + ". Non", + ".N on", + ".No n", + "Ġr és", + "Ġré s", + "Ġe gy", + "Ġeg y", + "å° ı", + "Ġatt acker", + "Ġattack er", + "ĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉ", + ". sync", + ".s ync", + ".syn c", + ".sy nc", + "AS CADE", + "ASC ADE", + "G round", + "Gr ound", + "Gro und", + "Ġ decay", + "Ġdec ay", + "Ġ Ton", + "ĠT on", + "ĠTo n", + "Ġjew elry", + "Ġjewel ry", + "Ġb ypass", + "Ġby pass", + "Ġm embr", + "Ġmem br", + "Ġmemb r", + "R NA", + "RN A", + "< System", + " ččĊ", + "Ġs ud", + "Ġsu d", + "ĉ background", + "ĉback ground", + "Ġsch olars", + "Ġscholar s", + "-m uted", + "a rá", + "ar á", + "Ġ =====", + "Ġ= ====", + "Ġ== ===", + "Ġ=== ==", + "Ġ==== =", + "Ġ ____", + "Ġ_ ___", + "Ġ__ __", + "Ġ___ _", + "C reat", + "Cre at", + "Cr eat", + "e never", + "en ever", + "ene ver", + "/ wp", + "/w p", + "Ġ VPN", + "ĠV PN", + "ĠVP N", + "Error Code", + ") ],Ċ", + ")] ,Ċ", + ")], Ċ", + "( builder", + "(b uilder", + "(build er", + "Ġ Enemy", + "ĠEn emy", + "S ensor", + "u sa", + "us a", + "Ġtr iggers", + "Ġtrigger s", + "Ġtrig gers", + "Ġplay offs", + "Ġplayoff s", + "_ REQ", + "_RE Q", + "_R EQ", + "Ġ (~", + "Ġ( ~", + "ĠB arry", + "ĠBar ry", + "ĠBarr y", + "Ġperman ently", + "Ġpermanent ly", + "Ġ RUN", + "ĠR UN", + "ĠRU N", + "Ġb ure", + "Ġbu re", + "Ġbur e", + ".Fatal f", + ".Fat alf", + "Ġch ick", + "Ġchi ck", + "Ġchic k", + "ĉ panic", + "ĉp anic", + "p si", + "ps i", + "o ka", + "ok a", + "éĢ ī", + "> [", + "Ġunder stands", + "Ġunderstand s", + "Ġunderst ands", + "Ġ Junior", + "ĠJun ior", + "ĠJuni or", + "Ġ INFO", + "ĠIN FO", + "ĠINF O", + "= mysqli", + "=m ysqli", + "=mysql i", + "us tain", + "ust ain", + "usta in", + "- source", + "-s ource", + "s erv", + "se rv", + "ser v", + "Ġ CREATE", + "ĠC REATE", + "ĠCRE ATE", + ". au", + ".a u", + "Ġs ells", + "Ġsell s", + "Ġsel ls", + "Ġ ĠĊĠĠĊ", + "ĠĠ ĊĠĠĊ", + "ĠĠĊ ĠĠĊ", + "E urope", + "Euro pe", + "z w", + "p reh", + "pr eh", + "pre h", + "ĠN SA", + "ĠNS A", + "Ġ xy", + "Ġx y", + "ภ´", + "Ġ Beyond", + "ĠB eyond", + "ĠBey ond", + "In stead", + "Inst ead", + "Non Query", + "Ġa rise", + "Ġar ise", + "Ġavoid ed", + ". emplace", + ".em place", + ".emp lace", + "_ models", + "_model s", + "_mode ls", + "_mod els", + "} ),Ċ", + "}) ,Ċ", + "}), Ċ", + "Ġ hid", + "Ġh id", + "Ġhi d", + "Ġ &_", + "Ġ& _", + ". points", + ".p oints", + ".point s", + ".po ints", + ".poi nts", + ". getWidth", + ".get Width", + ". Exec", + ".Ex ec", + ".E xec", + "Ġ ////", + "Ġ// //", + "Ġ/ ///", + "Ġ/// /", + "Ġ Sessions", + "ĠS essions", + "ĠSession s", + ". ..\\", + ".. .\\", + "... \\", + "ĠCol omb", + "ĠColo mb", + "Ġacceler ation", + "Ġaccel eration", + "re store", + "rest ore", + "Ġ ile", + "Ġi le", + "Ġil e", + "o bic", + "ob ic", + "obi c", + "< Node", + " }Ċ", + ">} Ċ", + "pl aint", + "plain t", + "pla int", + "get Text", + "Ġindividual ly", + "Ġindivid ually", + "Ġ checkbox", + "Ġcheck box", + "U Y", + "ĠL amb", + "ĠLa mb", + "ĠLam b", + "Ġdys function", + "ĠL ar", + "ĠLa r", + "à °", + "Ġ Creating", + "ĠC reating", + "ĠCr eating", + "ĠCre ating", + "ĠCreat ing", + "' );ĊĊĊ", + "') ;ĊĊĊ", + "');Ċ ĊĊ", + "');ĊĊ Ċ", + "'); ĊĊĊ", + "\" They", + "\"The y", + "\"T hey", + "l ocations", + "loc ations", + "location s", + "_ CORE", + "_C ORE", + "_CO RE", + "_COR E", + "Inter action", + "umbn ails", + "umbnail s", + "Ġ Partner", + "ĠP artner", + "ĠPart ner", + "b rit", + "br it", + "Ġl esser", + "Ġless er", + "Ġles ser", + "Ġ Slot", + "ĠS lot", + "ĠSl ot", + "ĠSlo t", + "set Attribute", + "Ġ Wave", + "ĠW ave", + "ĠWa ve", + ". po", + ".p o", + "/ store", + "/st ore", + "Ġb rowsing", + "Ġbrows ing", + "Ġbrow sing", + "_ pd", + "_p d", + "s ume", + "sum e", + "su me", + "s ed", + "se d", + "C urve", + "Cur ve", + "Cu rve", + "Ġpl asma", + "Ġsusp icious", + "ìĿ ¸", + "Ġ Bah", + "ĠB ah", + "ĠBa h", + "Ġ Explicit", + "ĠExp licit", + "ĠExpl icit", + "_ CC", + "_C C", + ".Client Size", + "\\ View", + "\\V iew", + "Ġsub stit", + "Ġsubs tit", + "Ġsubst it", + "l oon", + "lo on", + "loo n", + "Ġ GAME", + "ĠG AME", + "ĠGA ME", + "ĠGAM E", + "ĠB rid", + "ĠBr id", + "ĠBri d", + "Ľ 建", + "_ User", + "_U ser", + "Ġs quares", + "Ġsqu ares", + "Ġsquare s", + "f one", + "fo ne", + "fon e", + "Ġsa cred", + "Ġsac red", + "Ġsacr ed", + "ug hs", + "ugh s", + "] interface", + "Ġ Throw", + "ĠTh row", + "ĠThr ow", + "ĠK irk", + "ĠKir k", + "ĠKi rk", + "Ġem pire", + "Ġemp ire", + "Ġempir e", + "Ġass essed", + "Ġassess ed", + "Ġasses sed", + "T ax", + "Ta x", + "ĠHe aven", + "- buffer", + "-b uffer", + "_ STATIC", + "_ST ATIC", + "_STAT IC", + "é né", + "én é", + "-b ordered", + "-border ed", + "Ġp unct", + "Ġpun ct", + "( mode", + "(m ode", + "(mod e", + "Ġke ine", + "Ġkein e", + "S ent", + "Se nt", + "Sen t", + "Ġ Calcul", + "ĠCal cul", + "ĠCalc ul", + "ĠE ve", + "ĠEv e", + "Ġsty lish", + "Ġstyl ish", + "Ġo ils", + "Ġoil s", + "Ġoi ls", + ". TestCase", + ".Test Case", + "Ġtrad emark", + "Ġtrade mark", + "Ġliter ary", + "Ġlite rary", + "Ġconcentr ations", + "Ġconcentration s", + "Ġ Relations", + "ĠRe lations", + "ĠRel ations", + "ĠRelation s", + "( Class", + "(C lass", + "(Cl ass", + "Ġ stdin", + "Ġst din", + "Ġstd in", + "Ġv æ", + "back up", + "bac kup", + ". VERSION", + ".V ERSION", + ".AutoScale Dimensions", + "st arter", + "start er", + "star ter", + "Transaction al", + "- panel", + "-p anel", + "-pane l", + "St udio", + "k c", + "ĠCh amber", + "ĠCham ber", + "ĠS piel", + "ĠSp iel", + "ĠSpi el", + "Ġ rho", + "Ġr ho", + "Ġrh o", + "ا ÙĦ", + "ا٠Ħ", + "! '", + ". Attributes", + ".At tributes", + ".Attribute s", + "Ġmurder ed", + "apeut ic", + "Ġint imate", + "Ġintim ate", + "Ġ textField", + "Ġt extField", + "Ġtext Field", + "ĠBuff alo", + "d ummy", + "dum my", + "\" %", + "ĠLib erty", + "ĠLibert y", + "ĠLiber ty", + "o bar", + "ob ar", + "oba r", + "Ġ Tank", + "ĠT ank", + "ĠTa nk", + "ĠTan k", + "Ġ Popular", + "ĠPop ular", + "er visor", + "erv isor", + "ĠIn iti", + "ĠInit i", + "ĠIni ti", + "ĠM all", + "ĠMal l", + "ĠMa ll", + "Ġ Prior", + "ĠP rior", + "ĠPr ior", + "ĠPri or", + "C AP", + "CA P", + "ĠC lay", + "ĠCl ay", + "ĠCla y", + "Ġ Certificate", + "ĠC ertificate", + "ĠCert ificate", + "ĠCertif icate", + ". Lock", + ".L ock", + ".Lo ck", + "- strip", + "-s trip", + "-st rip", + "-str ip", + "-dr iven", + "-drive n", + "/ all", + "/a ll", + "/al l", + "ĠMessageBox Buttons", + "ĠMessageBoxButton s", + "_ SECRET", + "_SE CRET", + "_SEC RET", + "_ pb", + "_p b", + "Ġ rats", + "Ġr ats", + "Ġrat s", + "Ġra ts", + "ा à¤", + "Ġ nt", + "Ġn t", + ". Router", + ".R outer", + ".Route r", + "_ topic", + "_t opic", + "_to pic", + "_top ic", + "Ġt ennis", + "Ġten nis", + "Ġ PUBLIC", + "ĠP UBLIC", + "ĠPUB LIC", + "ĠActiv atedRoute", + "Ġ ',Ċ", + "Ġ' ,Ċ", + "Ġ', Ċ", + "Ġcost ume", + "Ġj okes", + "Ġjo kes", + "Ġjoke s", + ". Handle", + ".H andle", + ".Hand le", + "ĉ byte", + "ĉb yte", + "Ġfl avors", + "Ġflavor s", + "Ġflav ors", + "( cc", + "(c c", + "Ġperson as", + "Ġpers onas", + "Ġpersona s", + "Ġperso nas", + "ĉ image", + "ĉi mage", + "ĉim age", + "ĠN azi", + "ĠNa zi", + "ĠNaz i", + "Ġ grammar", + "Ġgram mar", + "Ġgramm ar", + "Ġú lt", + "Ġval ve", + "Ġ vic", + "Ġv ic", + "Ġvi c", + "Ġ Rachel", + "ĠR achel", + "ĠRac hel", + "ĠRach el", + "_ invalid", + "_in valid", + "P refs", + "Pr efs", + "Pre fs", + "Pref s", + "std int", + "stdin t", + "( route", + "(r oute", + "(ro ute", + "Ġ htmlspecialchars", + "Ġhtml specialchars", + "Ġpe oples", + "Ġpeople s", + "p line", + "pl ine", + "Ġ nv", + "Ġn v", + "Ġ Quant", + "ĠQ uant", + "ĠQu ant", + "o ppers", + "op pers", + "opp ers", + "opper s", + "Ġ currentUser", + "Ġcurrent User", + "ĠC atal", + "ĠCa tal", + "ĠCat al", + "ĠCata l", + "Ġre conc", + "Ġrecon c", + "Ġreco nc", + "Ġcon junction", + "Ġconj unction", + "l x", + "am burg", + "amb urg", + "Ġinflu ential", + "d anger", + "da nger", + "dan ger", + "in ders", + "ind ers", + "inder s", + "inde rs", + "Ġ %@\",", + "Ġ% @\",", + "Ġ%@ \",", + ". configuration", + ".config uration", + "o some", + "os ome", + "oso me", + ". identity", + ".id entity", + ".ident ity", + ".ide ntity", + "Ġ picker", + "Ġp icker", + "Ġpick er", + "Ġpi cker", + "Ġpic ker", + "n ost", + "no st", + "nos t", + "ĠDI Y", + "Aug ust", + "a blo", + "ab lo", + "abl o", + "Le af", + "ĠR eco", + "ĠRe co", + "ĠRec o", + "c ko", + "ck o", + "D OC", + "DO C", + "ĠH erm", + "ĠHe rm", + "ĠHer m", + ": any", + ":a ny", + "Ġ Interview", + "ĠInt erview", + "ĠInter view", + "Ġ Tex", + "ĠT ex", + "ĠTe x", + "x fe", + "xf e", + "( work", + "(w ork", + "Ġle ap", + "He ading", + "Head ing", + "Ġ quarters", + "Ġqu arters", + "Ġquarter s", + "Ġquar ters", + "Ġquart ers", + "\\ Bundle", + "r eb", + "re b", + "Per haps", + "ĠG mbH", + "B irth", + "Bir th", + "ĉ sum", + "ĉs um", + "ĠWat son", + ". nil", + ".n il", + "ç ¡", + "{ }ĊĊ", + "{} ĊĊ", + "{}Ċ Ċ", + "ic aid", + "ica id", + "G etter", + "Get ter", + "\" name", + "Ġ \"čĊ", + "Ġ\" čĊ", + "_ none", + "_n one", + "_no ne", + "_non e", + "z m", + "ac ute", + "u esto", + "ue sto", + "ues to", + "uest o", + "Ġs ous", + "Ġso us", + "Ġsou s", + "Ġre build", + "Ġreb uild", + "Ġnews papers", + "Ġnewsp apers", + "Ġnewspaper s", + "Ġ Haz", + "ĠH az", + "ĠHa z", + "Ġ kits", + "Ġk its", + "Ġkit s", + "Ġki ts", + "i fo", + "if o", + "Bl ur", + "Ġsu ited", + "Ġsuit ed", + "Ġsuite d", + "Ġsui ted", + "- In", + "-I n", + "à ¯", + "Ġ Keith", + "ĠKe ith", + "ĠNor way", + "IN IT", + "INI T", + "ire ccion", + "i eties", + "ie ties", + "iet ies", + "_ usage", + "_u sage", + "_us age", + "Ġ Doug", + "ĠD oug", + "ĠDo ug", + "ĠDou g", + "r ise", + "ri se", + "ris e", + "Ġtr illion", + "im ited", + "imit ed", + "imi ted", + "Ġ REL", + "ĠR EL", + "ĠRE L", + "a lic", + "al ic", + "ali c", + "Ġcritic ized", + "Ġcriticize d", + "the orem", + "Ġc ease", + "Ġce ase", + "Ġside w", + "Ġsid ew", + "ĠT erry", + "ĠTer ry", + "ĠTerr y", + "Ġsubs idi", + "Ġsubsid i", + "Ġfirm ly", + "Ġ aws", + "Ġa ws", + "Ġaw s", + "Ġh ott", + "Ġhot t", + "Ġho tt", + "Ġd ressing", + "Ġdress ing", + "b adge", + "ba dge", + "bad ge", + "Ġ Applications", + "ĠApp lications", + "ĠApplication s", + "ĠAppl ications", + "è¿ ĶåĽŀ", + "è¿Ķ åĽŀ", + "Ġlaugh ed", + "Ġh obby", + "Ġhob by", + "Ġmus icians", + "Ġmusic ians", + "Ġmusician s", + "Ġ *.", + "Ġ* .", + ". placeholder", + ".place holder", + "Ġc ounters", + "Ġcount ers", + "Ġcoun ters", + "Ġcounter s", + "ĠCap itol", + "S DK", + "SD K", + "Ġh elmet", + "Ġhel met", + "Ġhelm et", + "and box", + "q uit", + "qu it", + "qui t", + "Ġcriminal s", + "Ġcrim inals", + "Ġteen ager", + "Ġteenage r", + "( update", + "(up date", + "G l", + ". selection", + ".s election", + ".se lection", + ".select ion", + ".sel ection", + "Ġdis charge", + "Ġpres enting", + "Ġpresent ing", + "ufact urer", + "_ UNKNOWN", + "_UN KNOWN", + "Ġst ressed", + "Ġstr essed", + "Ġstress ed", + "å ύ", + "åĻ ¨", + "Pro to", + "Pr oto", + "Prot o", + "_ correct", + "_c orrect", + "_cor rect", + "_corr ect", + "h aus", + "ha us", + "Ġre nov", + "Ġren ov", + "Ġfire arms", + "Ġfirearm s", + "Ġtechn ically", + "Ġtechnical ly", + "- browser", + "-b rowser", + "Ġc andy", + "Ġcan dy", + "Ġcand y", + "St roke", + "Str oke", + "Ġ executor", + "Ġexec utor", + "Ġexecut or", + "Ġocc urrence", + "Ġoccur rence", + "Ġ IPv", + "ĠIP v", + "_ INTERFACE", + "_INTER FACE", + "Ġ Retrieve", + "ĠRe trieve", + "ĠRet rieve", + "ĠRetrie ve", + ". bad", + ".b ad", + ".ba d", + "Ex change", + "Nav bar", + "Ġ Kid", + "ĠK id", + "ĠKi d", + "(get ApplicationContext", + "_ STOP", + "_S TOP", + "_ST OP", + "Ġ Boss", + "ĠB oss", + "ĠBo ss", + "ĠBos s", + "List eners", + "Listener s", + "Listen ers", + "Ġsh ooter", + "Ġshoot er", + "Ġsho oter", + "ĠA lb", + "ĠAl b", + "ä ch", + "Ġ pix", + "Ġp ix", + "Ġpi x", + ". keyCode", + ".key Code", + "al one", + "alo ne", + "alon e", + "Ġabs urd", + "Ġ Cum", + "ĠC um", + "ĠCu m", + "ĠNewton soft", + "i kt", + "ik t", + "Ġlaugh ing", + "Ġcapital ism", + "ree Node", + "T x", + "_ QUERY", + "_QU ERY", + ". Sleep", + ".S leep", + "( login", + "(log in", + "(lo gin", + "Web Element", + "Ġcelebr ating", + "Ġ deprecated", + "Ġde precated", + "Ġdep recated", + "Ġm aar", + "Ġma ar", + "Ġart istic", + "Ġartist ic", + "_ASS OC", + "_AS SOC", + "ĠBorder Radius", + "ĉ wp", + "ĉw p", + "Ġsurv ivors", + "Ġsurviv ors", + "Ġsurvivor s", + "In ner", + "- red", + "-r ed", + "-re d", + "Ġprosec ution", + "_ pp", + "_p p", + "( \"$", + "\"=> $", + "Ġ comma", + "Ġcom ma", + "Ġco mma", + "Ġcomm a", + "un checked", + "g raphics", + "graph ics", + "graphic s", + "r ors", + "ro rs", + "ror s", + "G ROUND", + "GR OUND", + "( public", + "(p ublic", + "(pub lic", + "Ġcustom ized", + "Ġcustomize d", + "ĠArk ansas", + "Ġ Rew", + "ĠR ew", + "ĠRe w", + "Ġ expiration", + "Ġex piration", + "Ġexp iration", + "× ķ", + "ĠC ul", + "ĠCu l", + "Ġn ons", + "Ġno ns", + "Ġnon s", + ". Filter", + ".F ilter", + "Ġsen ator", + "_ definition", + "_def inition", + "ash ington", + "ashing ton", + "y mph", + "ym ph", + "/ J", + "Ġ fuse", + "Ġf use", + "Ġfu se", + "Ġfus e", + "ra mid", + "ram id", + "Ġ Supplier", + "ĠS upplier", + "ĠSup plier", + "Ġ autocomplete", + "Ġaut ocomplete", + "Ġauto complete", + "Ġ }),", + "Ġ} ),", + "Ġ}) ,", + ". \"ĊĊĊ", + ".\" ĊĊĊ", + ".\"ĊĊ Ċ", + ".\"Ċ ĊĊ", + "_ functions", + "_function s", + "_fun ctions", + "ĉ to", + "ĉt o", + ". eval", + ".e val", + ".ev al", + "ĠT Object", + "ĠTO bject", + "Re ferences", + "Reference s", + "Refer ences", + "Ġh eated", + "Ġhe ated", + "Ġheat ed", + "H AL", + "HA L", + "Ġ ))}Ċ", + "Ġ) )}Ċ", + "Ġ)) }Ċ", + "} $", + "ĠB arr", + "ĠBar r", + "ĠBa rr", + "_ UNIT", + "_UN IT", + "+ $", + "Ġ getValue", + "Ġget Value", + "i ped", + "ip ed", + "ipe d", + "ch ied", + "chie d", + "chi ed", + "( vm", + "(v m", + "c ue", + "cu e", + "_ integer", + "_int eger", + "_ course", + "_c ourse", + "_co urse", + "th ird", + "Ġre vised", + "Ġrev ised", + "Ġrevis ed", + "Ġrevise d", + "* */Ċ", + "** /Ċ", + "_ DIRECT", + "_D IRECT", + "_DIR ECT", + "_DI RECT", + "Out Of", + "( \"(", + "(\" (", + "Ġ Feel", + "ĠF eel", + "ĠFe el", + "ĠFee l", + "Ġre ass", + "Ġ subtitle", + "Ġsub title", + "Ġsubt itle", + "p eri", + "pe ri", + "per i", + "n f", + "Ġenjoy s", + "Ġenjo ys", + "Ġtreat s", + "Ġtre ats", + ") this", + ")t his", + "- tabs", + "-t abs", + "-tab s", + "an cers", + "ance rs", + "anc ers", + "ancer s", + "Ġ continent", + "Ġcont inent", + "Ġcontin ent", + "Ġcar dio", + "Ġcard io", + "Ġcardi o", + "S er", + "Se r", + ". question", + ".q uestion", + ".qu estion", + ".quest ion", + "Ġph rases", + "Ġphrase s", + "Valid ators", + "Validator s", + "Ġpop ul", + "Ġ lÃŃ", + "Ġl ÃŃ", + "s ong", + "so ng", + "son g", + "_ INTERNAL", + "_IN TERNAL", + "_INTER NAL", + "Ġadv iser", + "Ġadvis er", + "Ġadvise r", + "Ġp uzz", + "Ġpu zz", + "Ġamb itious", + "Ġambit ious", + "ĠT ob", + "ĠTo b", + "Ġ DP", + "ĠD P", + "Ġpres idency", + "Ġsur render", + "Ġsurre nder", + "Ġw atches", + "Ġwatch es", + "Ġwat ches", + "_ binary", + "_b inary", + "_bin ary", + "Ġ Soon", + "ĠS oon", + "ĠSo on", + "Ġcan ada", + "(\" \")Ċ", + "(\"\" )Ċ", + "(\"\") Ċ", + "] ='", + "]= '", + "Ġ Brandon", + "ĠBr andon", + "ĠBrand on", + "ĠBra ndon", + "ĠBran don", + "e psilon", + "eps ilon", + "r w", + ". addChild", + ".add Child", + ". Copy", + ".C opy", + ".Co py", + "Pr incipal", + "Ph otos", + "Photo s", + "Phot os", + "Ġmargin al", + "Ġmarg inal", + "Ġb asics", + "Ġbas ics", + "Ġbasic s", + "e ing", + "ei ng", + "ein g", + "M ust", + "Mu st", + "Mus t", + "_ String", + "_S tring", + "_Str ing", + "_St ring", + "Ġ ole", + "Ġo le", + "Ġol e", + "M agento", + "Mag ento", + ". customer", + ".c ustomer", + ".custom er", + "( prev", + "(p rev", + "(pr ev", + "(pre v", + "ภ¥", + "Ġlo yalty", + "Ġloyal ty", + "C og", + "Co g", + "Ġ protocols", + "Ġprot ocols", + "Ġprotocol s", + "Ġproto cols", + "Ġ Companies", + "ĠCom panies", + "Ġthe oretical", + "Ġtheoret ical", + "Ġtheor etical", + "Ġaccess ing", + "Ġacces sing", + "Ġ Zen", + "ĠZ en", + "ĠZe n", + ". ones", + ".on es", + ".o nes", + ".one s", + "att ice", + "atti ce", + "_ world", + "_w orld", + "z es", + "ze s", + "Ġtatto o", + "Ġtat too", + "Ġm enos", + "Ġme nos", + "Ġmen os", + "Ġmeno s", + "Ġ intersect", + "Ġinter sect", + "Ġinters ect", + "\" ];ĊĊ", + "\"] ;ĊĊ", + "\"];Ċ Ċ", + "\"]; ĊĊ", + "be lie", + "bel ie", + "Ġ inactive", + "Ġin active", + ".read line", + "-label led", + ". done", + ".d one", + ".do ne", + "lic kr", + "lick r", + "Ġ WORK", + "ĠW ORK", + "Ġder ivative", + "Ġderiv ative", + "Ġd atabases", + "Ġdata bases", + "Ġdatabase s", + "Ġdatab ases", + "âĤ Ĥ", + "Ġ sx", + "Ġs x", + ". isArray", + ".is Array", + "Ġ ys", + "Ġy s", + "Ġp ada", + "Ġpa da", + "Ġpad a", + "Ġ Bullet", + "ĠB ullet", + "ĠBul let", + "ĠBull et", + "(` /", + "is Active", + "Ġ CGSize", + "ĠCG Size", + "( equalTo", + "(equal To", + "ĠColum bus", + "Ġm arry", + "Ġmar ry", + "D EV", + "DE V", + "_ limits", + "_l imits", + "_limit s", + "_li mits", + "_lim its", + "r ones", + "ro nes", + "ron es", + "rone s", + "I AS", + "IA S", + "Ġ tau", + "Ġt au", + "Ġta u", + "m ino", + "min o", + "mi no", + "_ Write", + "_W rite", + "ĠW ine", + "ĠWin e", + "ĠWi ne", + "Ġ [['", + "Ġ[ ['", + "Ġ[[ '", + "Ġ Pull", + "ĠP ull", + "ĠPu ll", + "ĠPul l", + "ri ters", + "rit ers", + "rite rs", + "riter s", + "r ients", + "ri ents", + "rie nts", + "rient s", + "rien ts", + "Ġsh ifting", + "Ġshift ing", + "u pp", + "up p", + "_ TIMER", + "_T IMER", + "_TIME R", + "_TIM ER", + "_TI MER", + "Ġ Conditions", + "ĠCondition s", + "ĠCond itions", + "Ạ¥", + "Ġ Orders", + "ĠOr ders", + "ĠOrder s", + "ĠOrd ers", + "Ġ Strength", + "ĠSt rength", + "ĠStr ength", + "ĠStre ngth", + "æī Ģ", + "Ġval idity", + "Ġvalid ity", + "Ġf ot", + "Ġfo t", + "e tur", + "et ur", + "etu r", + "Ġ bolt", + "Ġb olt", + "Ġbo lt", + "Ġbol t", + "åĨ ħ", + "Ġ Along", + "ĠA long", + "ĠAl ong", + "ĠAlo ng", + "o shi", + "os hi", + "osh i", + "Ġassum ptions", + "Ġassumption s", + "Ġmag azines", + "Ġmagazine s", + "_ SPI", + "_S PI", + "_SP I", + "Ġp unt", + "Ġpun t", + "Ġpu nt", + "_ PRODUCT", + "_PRO DUCT", + "_PROD UCT", + "Ġ relay", + "Ġre lay", + "Ġr elay", + "Ġrel ay", + "Ġ Javascript", + "ĠJ avascript", + "ĠJava script", + ". te", + ".t e", + "- es", + "-e s", + "Ġ widgets", + "Ġwidget s", + "Ġwid gets", + "( fs", + "(f s", + "< Item", + " \";", + ">\" ;", + "at ching", + "atch ing", + "Ġ Knowledge", + "ĠK nowledge", + "ĠKnow ledge", + "ĉ The", + "ĉT he", + "; margin", + ";m argin", + "less ness", + "o pard", + "op ard", + "opa rd", + "u matic", + "um atic", + "uma tic", + "umat ic", + "( )));čĊ", + "() ));čĊ", + "()) );čĊ", + "())) ;čĊ", + "())); čĊ", + "Ġf als", + "Ġfa ls", + "Ġfal s", + "( cache", + "(c ache", + "(ca che", + "Type Id", + "éĢ ļ", + "_ choice", + "_ch oice", + "ĠG oth", + "ĠGo th", + "ĠGot h", + "Ġ Sites", + "ĠS ites", + "ĠSi tes", + "ĠSite s", + "ĠSit es", + "M G", + "_ border", + "_b order", + "Ind ices", + "Com parer", + "Comp arer", + "Compar er", + "Compare r", + "ĠRe distribution", + "ĠRed istribution", + "ĠRedis tribution", + "Ġclose t", + "Ġclos et", + "Ġclo set", + "Ġvers atile", + "Ġversa tile", + "In puts", + "Input s", + "**** ****************", + "******** ************", + "**************** ****", + "****** **************", + "************ ********", + "************** ******", + "Ġob esity", + "qu iz", + "qui z", + "g ra", + "gr a", + "( global", + "(g lobal", + "åĬ ¡", + "Ġ collector", + "Ġcol lector", + "Ġcoll ector", + "Ġcollect or", + "Ġcolle ctor", + "Ġ kor", + "Ġk or", + "Ġko r", + "o vable", + "ov able", + "ova ble", + "A DC", + "AD C", + "Ġ EventHandler", + "ĠEvent Handler", + ". nc", + ".n c", + "Ġplay back", + "ient os", + "ien tos", + "iento s", + "_ perm", + "_p erm", + "_per m", + "_pe rm", + "_ WARNING", + "_W ARNING", + "_WARN ING", + "ĠOlymp ics", + "ĠOlympic s", + ". norm", + ".n orm", + ".no rm", + "Ġ Broadcast", + "ĠB roadcast", + "ĠBroad cast", + "_ small", + "_s mall", + "_sm all", + "d rive", + "dr ive", + ". iloc", + ".i loc", + ".il oc", + "Ġ typed", + "Ġt yped", + "Ġtype d", + "Ġtyp ed", + "Ġty ped", + "M EM", + "ME M", + "_ cons", + "_c ons", + "_con s", + "_co ns", + "D METHOD", + "DM ETHOD", + "Ġ lun", + "Ġl un", + "Ġlu n", + ". distance", + ".d istance", + ".di stance", + ".dist ance", + "( par", + "(p ar", + "(pa r", + "p oon", + "po on", + "Ġ bast", + "Ġb ast", + "Ġbas t", + "Ġba st", + "act ivities", + "activ ities", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + ": čĊčĊ", + ":čĊ čĊ", + "S ER", + "SE R", + ") &&", + ")& &", + "_ lst", + "_l st", + "_ls t", + "ĠPol ish", + "ĠPo lish", + "Ġkn ocked", + "Ġknock ed", + "Ġfrustr ation", + "au kee", + "Ġph osph", + "iqu id", + "iq uid", + "_ coeff", + "_c oeff", + "_co eff", + "_coef f", + "æŃ ¤", + "L atest", + "La test", + "Lat est", + "Late st", + "ĠD ust", + "ĠDu st", + "T ipo", + "Tip o", + "Ti po", + "Ġmain tains", + "Ġmaint ains", + "Ġmaintain s", + "Ġ marsh", + "Ġmar sh", + "Ġmars h", + "inc inn", + "inci nn", + "l bl", + "lb l", + "C are", + "Car e", + "Ca re", + "Ġneighborhood s", + "_ gpio", + "_g pio", + "_gp io", + "ĠAr senal", + "ĠArs enal", + "D em", + "De m", + "ĠW he", + "ĠWh e", + "_ hook", + "_h ook", + "Ġl dc", + "Ġld c", + "ĠHar per", + "ĠBer keley", + "Ġgrad uated", + "Ġgraduate d", + "Ġgradu ated", + "Per cent", + "Ġarr iving", + "Ġarriv ing", + "Ġ Adventure", + "ĠAd venture", + "ĠAdvent ure", + "( scope", + "(s cope", + "(sc ope", + "( '*", + "(' *", + "qu arter", + "ĠM arie", + "ĠMar ie", + "ĠMa rie", + "ĠMari e", + "Spe aking", + "Speak ing", + "_ codegen", + "_code gen", + "_cod egen", + "Ġim mun", + "Ġimm un", + "c aster", + "ca ster", + "cast er", + "cas ter", + "ãĤ Į", + "åķ Ĩ", + "Ġ Dimensions", + "ĠDim ensions", + "ĠDimension s", + ". record", + ".re cord", + ".rec ord", + "Ġ texto", + "Ġtext o", + "Ġtex to", + "Ġ Michelle", + "ĠMich elle", + "ĠMichel le", + "ĠMiche lle", + "P ending", + "Pen ding", + "( by", + "(b y", + "_ PAR", + "_P AR", + "_PA R", + "u cht", + "uch t", + "uc ht", + "b ee", + "be e", + ". Thread", + ".T hread", + ".Th read", + "am pire", + "amp ire", + "k now", + "kn ow", + "Ġ Clinical", + "ĠClin ical", + "ĠClinic al", + "Ġmargin Bottom", + "Ġd istinguish", + "Ġdistingu ish", + ". Full", + ".F ull", + ". undefined", + ".un defined", + "ĠSequ elize", + "#### ########################################################################", + "################ ############################################################", + "################################################################ ############", + "############ ################################################################", + "################################################ ############################", + "######################################################################## ####", + "############################ ################################################", + "############################################################ ################", + "Ġ educated", + "Ġeduc ated", + "Ġeducate d", + "_ OVER", + "_O VER", + "åº ı", + "Ġ ÂłĠÂł", + "ĠÂł ĠÂł", + "ĠÂłĠ Âł", + "_ each", + "_e ach", + "Ġ urge", + "Ġur ge", + "Ġurg e", + "de part", + "dep art", + "Ġdon ors", + "Ġdonor s", + "Ġ Au", + "ĠA u", + "Ġb illions", + "Ġbill ions", + "Ġbillion s", + "Ġbelong ing", + "_ age", + "_a ge", + "_ag e", + "_ Int", + "_I nt", + "_In t", + "Ġsub stances", + "Ġsubstance s", + "Ġsubst ances", + "m achine", + "ma chine", + "mach ine", + "! !!ĊĊ", + "!! !ĊĊ", + "!!! ĊĊ", + "!!!Ċ Ċ", + "Ġjson ify", + "ib bean", + "Ġ Cad", + "ĠC ad", + "ĠCa d", + "Ġ endTime", + "Ġend Time", + "Ġc ycling", + "Ġcy cling", + "Ġcycl ing", + "Ġcyc ling", + "Ġ UITextField", + "ĠUI TextField", + "ĠUIT extField", + "Ġle verage", + "Ġlever age", + "Ġleve rage", + "Ġvan illa", + "e at", + "ea t", + "L aunch", + "La unch", + "( pt", + "(p t", + "st ates", + "state s", + "stat es", + "sta tes", + "Ġ Controls", + "ĠControl s", + "ĠContr ols", + "Ġ Respons", + "ĠRes pons", + "ĠResp ons", + "Ġ Jake", + "ĠJ ake", + "ĠJa ke", + "ĠJak e", + "Ġa sleep", + "Ġas leep", + "fort unate", + ".next Line", + "Size Mode", + "ì Ŀ¼", + "ìĿ ¼", + "Testing Module", + "G erman", + "Ger man", + "ĠInvest ig", + ". reverse", + ".re verse", + ".rev erse", + "Ġ BACK", + "ĠB ACK", + "ĠBA CK", + "( DateTime", + "(Date Time", + "Ġnon profit", + "Ġ Expect", + "ĠEx pect", + "ĠExp ect", + "Ġt anto", + "Ġtan to", + "Ġtant o", + "' ]),", + "'] ),", + "']) ,", + "ĉ the", + "ĉt he", + "ĉth e", + "M ultiple", + "Multi ple", + "Mult iple", + "Multip le", + "(get Activity", + "_ WAIT", + "_W AIT", + "Ġj á", + "de cor", + "dec or", + "lev ance", + "Ġ GitHub", + "ĠGit Hub", + "m ination", + "min ation", + "mi nation", + "mina tion", + "_ quantity", + "_qu antity", + "_quant ity", + ". Scanner", + ".Sc anner", + ".Scan ner", + "ĠL ion", + "ĠLi on", + "éĶĻ è¯¯", + "Ġ dre", + "Ġd re", + "Ġdr e", + "Ġtan tra", + "Ġtant ra", + "Ġtantr a", + "Ġ contentType", + "Ġcontent Type", + "Ġ fid", + "Ġf id", + "Ġfi d", + "_ alt", + "_a lt", + "_al t", + "NS IndexPath", + "- pl", + "-p l", + "åĮ ĸ", + "Ġantib iot", + "t ables", + "table s", + "ta bles", + "tab les", + "tabl es", + "a cial", + "ac ial", + "aci al", + "acia l", + "Ġ Registry", + "ĠReg istry", + "ĠRegistr y", + "Ġo live", + "Ġol ive", + "Ġoli ve", + "i gers", + "ig ers", + "ige rs", + "iger s", + "Ġ subscriber", + "Ġsub scriber", + "Ġsubscri ber", + "Ġsubscribe r", + "_ pres", + "_p res", + "_pr es", + "_pre s", + "Ġ Syntax", + "ĠS yntax", + "ĠSy ntax", + "ĠSyn tax", + "Ġl overs", + "Ġlo vers", + "Ġlove rs", + "Ġlover s", + "Ġlov ers", + ". Byte", + ".B yte", + ".By te", + "ol ders", + "old ers", + "older s", + "_ forward", + "_for ward", + "al ways", + "C aption", + "Cap tion", + "Ca ption", + "Capt ion", + "P riv", + "Pr iv", + "Pri v", + "ĠT ampa", + "ĠTam pa", + "is ateur", + "-labelled by", + "Ġ ToString", + "ĠTo String", + "Ġ ìĤ¬", + "Ġì Ĥ¬", + "ĠìĤ ¬", + "Ġinit iated", + "Ġiniti ated", + "Ġinitiate d", + "W F", + "Ġinstitution al", + "in ject", + "Ġ Scr", + "ĠS cr", + "ĠSc r", + "Ġ doctrine", + "Ġdo ctrine", + "Ġdoctr ine", + "Ġsp acious", + "Ġspac ious", + "i sure", + "is ure", + "isu re", + "Ġ Ana", + "ĠA na", + "ĠAn a", + "\" time", + "ess aging", + "essa ging", + "Ġ cid", + "Ġc id", + "Ġci d", + "ĠN an", + "ĠNa n", + "Ġin complete", + "Ġincom plete", + "T AG", + "TA G", + "- build", + "-b uild", + "Dec ember", + "Ġres idual", + "Ġresid ual", + "( PDO", + "(P DO", + "Ġ Listen", + "ĠL isten", + "ĠList en", + "ĠLi sten", + "ĠLis ten", + "ĠListe n", + "Ġ glyph", + "Ġg lyph", + "Ġgly ph", + "Ġg aps", + "Ġgap s", + "Ġga ps", + "n ea", + "ne a", + ". Rect", + ".R ect", + ".Re ct", + ".Rec t", + "Ġs au", + "Ġsa u", + "ĠPhoto graph", + "ĠPhot ograph", + "Ġ executable", + "Ġexec utable", + "Ġexecut able", + "Ġ Expert", + "ĠEx pert", + "ĠExp ert", + "Co routine", + "Cor outine", + "_ sizes", + "_s izes", + "_size s", + "_si zes", + "Ġ NL", + "ĠN L", + ". isValid", + ".is Valid", + ") ;}Ċ", + "); }Ċ", + ");} Ċ", + "- reg", + "-r eg", + "-re g", + "Ġc iting", + "Ġcit ing", + "Ġci ting", + "c wd", + "cw d", + "ĠOtt awa", + "ĠB att", + "ĠBa tt", + "ĠBat t", + "Ġrenew able", + "Ġprelim inary", + "Ġas ylum", + "Ġw rist", + "Ġwr ist", + "Ġutil iz", + "Ġut iliz", + "Ġdet ention", + "F ast", + "Fa st", + "Ġ ange", + "Ġa nge", + "Ġan ge", + "Ġang e", + "incinn ati", + "Ġste ering", + "Ġsteer ing", + "Ġ NaN", + "ĠN aN", + "ĠNa N", + "i osity", + "ios ity", + "/ page", + "/p age", + "Ġ è¿", + "Ġè ¿", + "ster ol", + "ste rol", + "Ġdis g", + "Ġdi sg", + "( DB", + "(D B", + "Ġ DESCRIPTION", + "ĠDE SCRIPTION", + "ĠDESC RIPTION", + "Ġ _$", + "Ġ_ $", + "Ġob stacle", + "Ġobst acle", + "Ġb izarre", + "Ġex traction", + "Ġext raction", + "Ġextra ction", + "Ġextract ion", + "Ġextr action", + "_ expected", + "_ex pected", + "_exp ected", + "_expect ed", + "Ġ loses", + "Ġl oses", + "Ġlo ses", + "Ġlos es", + "Ġlose s", + "Ġ Celebr", + "ĠCele br", + "Ġhtml For", + "Ġexp loit", + "Ġexpl oit", + "Ġexplo it", + "олÑĮз ов", + "X YZ", + "XY Z", + "Ġm agnet", + "Ġmag net", + "Ġmagn et", + "am ped", + "amp ed", + "Ġ atoms", + "Ġat oms", + "Ġatom s", + "S ources", + "Source s", + "pect ives", + "pective s", + "Ñģ ли", + "Ñģл и", + "Ġ= čĊ", + "Ġd are", + "Ġda re", + "Ġdar e", + "ĠW alter", + "ĠWal ter", + "ĠWalt er", + "Ġ brightness", + "Ġb rightness", + "Ġbright ness", + "Ġ annotations", + "Ġan notations", + "Ġannotation s", + "Ġannot ations", + "ë ı", + "is ke", + "isk e", + "S chedule", + ". images", + ".image s", + ".im ages", + ".imag es", + "ross o", + "ros so", + "Ġ \"..", + "Ġ\" ..", + "Ġ\". .", + "g amma", + "ga mma", + "gam ma", + "Ġin structor", + "Ġinstr uctor", + "Ġinstruct or", + "Ġ overwrite", + "Ġover write", + "- am", + "-a m", + "Ġdevast ating", + "ĠSaint s", + "ĠSa ints", + "ĠSai nts", + "Ġ hs", + "Ġh s", + "Ġbon uses", + "Ġbonus es", + "$ output", + "$out put", + "i jd", + "ij d", + "(Action Event", + "m onitor", + "mon itor", + "Ġmatt ress", + "Jan uary", + ". jp", + ".j p", + "Ġcar acter", + "Ġcara cter", + "Ġcaract er", + "Ġim pose", + "Ġimp ose", + "_ rest", + "_re st", + "_r est", + "_res t", + "Ġ Signature", + "ĠSign ature", + "ĠSig nature", + "Ġcoron avirus", + "ãģ Ĭ", + "_ compare", + "_com pare", + "_comp are", + "Me asure", + "it ated", + "ita ted", + "itate d", + "itat ed", + "e lijk", + "el ijk", + "eli jk", + "i gos", + "ig os", + "igo s", + "e sar", + "es ar", + "esa r", + "Ġr ushed", + "Ġru shed", + "Ġrush ed", + "Ġrus hed", + "m etry", + "me try", + "met ry", + "_SE PARATOR", + "_ WE", + "_W E", + "_ ATTRIBUTE", + "_ATTR IBUTE", + "_ATTRIB UTE", + "Ġ yaml", + "Ġy aml", + "Ġya ml", + "Ġ specs", + "Ġsp ecs", + "Ġspec s", + "Ġspe cs", + "ĠR ah", + "ĠRa h", + "ph eric", + "pher ic", + "phe ric", + "ĠIn vestment", + "ĠInvest ment", + "ä ll", + "äl l", + "Ġappe aling", + "Ġappeal ing", + "Ġ viewport", + "Ġview port", + "ç ©", + "Ġ marginLeft", + "Ġmargin Left", + "Ġ subtract", + "Ġsub tract", + "Ġsubt ract", + "Ġ EDIT", + "ĠED IT", + "ĉ ArrayList", + "ĉArray List", + "gr ading", + "grad ing", + "gra ding", + "Ġ Failure", + "ĠF ailure", + "ĠFail ure", + "as per", + "asp er", + "E EK", + "EE K", + "( now", + "(n ow", + "(no w", + "< object", + "Ġ Alignment", + "ĠAl ignment", + "ĠAlign ment", + "ple ado", + "q tt", + "qt t", + "( ERROR", + "(ERR OR", + "Ġ INVALID", + "ĠIN VALID", + "Ġ userid", + "Ġuse rid", + "Ġuser id", + "r aises", + "ra ises", + "raise s", + "rais es", + "rai ses", + "I DI", + "ID I", + "Ġv ariance", + "Ġvar iance", + "Ġvari ance", + "Ġ Nil", + "ĠN il", + "ĠNi l", + "/ delete", + "/de lete", + "_ MAIN", + "_M AIN", + "_MA IN", + ". Token", + ".T oken", + ".To ken", + ". Category", + ".C ategory", + "> )Ċ", + ">) Ċ", + "C ollision", + "Coll ision", + "Ġ Greater", + "ĠG reater", + "ĠGreat er", + "ĠGre ater", + "ĠR acing", + "ĠRa cing", + "ĠRac ing", + "a lan", + "al an", + "ala n", + "Ġmon etary", + "Ġmonet ary", + ", new", + ",n ew", + "Ġ Sorry", + "ĠS orry", + "ĠSor ry", + ". Enable", + ".E nable", + ".En able", + "Ġ Instantiate", + "ĠIn stantiate", + "ĠInstant iate", + "o llen", + "ol len", + "oll en", + "olle n", + "ë© ´", + "Ġ Calling", + "ĠC alling", + "ĠCal ling", + "ĠCall ing", + "_ hour", + "_h our", + "A DA", + "AD A", + "Ġs hy", + "Ġsh y", + ") **", + ")* *", + "Ġ ==>", + "Ġ= =>", + "Ġ== >", + "Ġe special", + "Ġes pecial", + "Ġesp ecial", + "Ġespec ial", + "Ġ interpreted", + "Ġinterpret ed", + "Ġinterpre ted", + "! =\"", + "!= \"", + "Ġph armacy", + "Ġpharm acy", + "Ġpharmac y", + ". single", + ".s ingle", + ".sin gle", + ".si ngle", + "ĠC ialis", + "ĠCi alis", + "Ġp aras", + "Ġpar as", + "Ġpara s", + "Ġpa ras", + ". toUpperCase", + ".to UpperCase", + "Ġ Demon", + "ĠD emon", + "ĠDe mon", + "ĠDem on", + "ĠDemo n", + "Pr ime", + "Prim e", + "Pri me", + "Ġrank ings", + "Ġranking s", + "Add ing", + "Ad ding", + "_ HASH", + "_H ASH", + "_HAS H", + "Ġ Exam", + "ĠEx am", + "Ú ©", + "ĠV ictor", + "ĠVi ctor", + "ĠVict or", + "ĠVic tor", + "Ok ay", + "\" ];čĊ", + "\"] ;čĊ", + "\"]; čĊ", + "Ġ fortune", + "Ġfort une", + "Ġ FETCH", + "ĠF ETCH", + "exp and", + ". Interop", + ".Inter op", + "Ġb arn", + "Ġbar n", + "Ġba rn", + "æ ¶Ī", + "æ¶ Ī", + "ue vo", + "Ġspec ulation", + "âĶĢâĶĢ âĶĢâĶĢ", + "Ġ Nu", + "ĠN u", + "ĠBl ues", + "ĠBlue s", + "ĠBlu es", + "( fname", + "(f name", + "(fn ame", + "Ġin habit", + "Ġinhab it", + "Ġinh abit", + "Ġ\\ \"%", + "Ġ\\\" %", + "C ES", + "CE S", + "ul ario", + "ular io", + "ula rio", + "_ cr", + "_c r", + "Ġ validated", + "Ġvalid ated", + "Ġvalidate d", + "Ġvalida ted", + "Ġmid night", + "an king", + "ank ing", + "anki ng", + "Ġincor porate", + "Ġincorpor ate", + "Ġpur suit", + "Ġpurs uit", + "E XP", + "EX P", + "pr ime", + "prim e", + "pri me", + "P id", + "Pi d", + "- US", + "-U S", + "ĠN urs", + "ĠNu rs", + "ĠNur s", + "Ġ Wheel", + "ĠW heel", + "ĠWh eel", + "ĠWhe el", + "é ĺ", + "Ġ inp", + "Ġin p", + "Ġi np", + "Ġsupport ive", + ". member", + ".m ember", + ".mem ber", + "Ġ Shot", + "ĠS hot", + "ĠSh ot", + "ĠSho t", + ". CheckBox", + ".Check Box", + "Ġaff irm", + "Ġaf firm", + "T or", + "To r", + "Full Year", + "Ġconsider ably", + "c redentials", + "cred entials", + "credential s", + "_ opts", + "_op ts", + "_o pts", + "_opt s", + "R oll", + "Ro ll", + "Rol l", + "( round", + "(r ound", + "(ro und", + "Ġc oment", + "Ġcom ent", + "Ġco ment", + "Ġcome nt", + "_ UART", + "_U ART", + "Ġext ending", + "Ġextend ing", + "R G", + "result ado", + "i tu", + "it u", + ". getSession", + ".get Session", + ".getS ession", + "Ġat traction", + "Ġatt raction", + "Ġattr action", + "Ġattract ion", + "& D", + "$ html", + "$h tml", + "Ġ Jessica", + "ĠJess ica", + "Ġ Associate", + "ĠAssoci ate", + "ĠAssoc iate", + "a ñ", + "_ ed", + "_e d", + "ĠL ag", + "ĠLa g", + "Ġorig ins", + "Ġorigin s", + "( ))->", + "() )->", + "()) ->", + "add EventListener", + "IA LOG", + "IAL OG", + "åIJ ¦", + ". Compare", + ".Com pare", + ".Comp are", + "Al bum", + "ĠK u", + "< Q", + "ar gest", + "arg est", + "arge st", + "arges t", + "Ġpro long", + "Ġprol ong", + "Ġconfig urations", + "Ġconfiguration s", + "Ġconfigur ations", + "Ġacc identally", + "Ġaccident ally", + "Ġaccidental ly", + "_ photo", + "_ph oto", + "Ġ' ';čĊ", + "Ġ'' ;čĊ", + "Ġ''; čĊ", + "Ġ verse", + "Ġv erse", + "Ġver se", + "Ġvers e", + "B ob", + "Bo b", + "Ġf arming", + "Ġfar ming", + "Ġfarm ing", + "d elivery", + "del ivery", + "deliver y", + "ĠM ack", + "ĠMac k", + "ĠMa ck", + "Ġuse Selector", + ".bootstrap cdn", + "ke eping", + "keep ing", + "kee ping", + "e ny", + "en y", + ". upload", + ".up load", + "Ġ METHOD", + "ĠM ETHOD", + "ĠMETH OD", + "c reator", + "cre ator", + "creat or", + "< _", + "ĠE aster", + "ĠEast er", + "ĠEa ster", + ". --", + ".- -", + "UI Button", + "ãĤ ī", + "om eters", + "ome ters", + "omet ers", + "ometer s", + "Ġ shine", + "Ġsh ine", + "Ġshin e", + "Ġh ogy", + "Ġho gy", + "Ġhog y", + "\\ s", + "Ġh arness", + "Ġhar ness", + ". Cell", + ".C ell", + "Ġ lifting", + "Ġl ifting", + "Ġlif ting", + "Ġlift ing", + "Ġcomb ines", + "Ġcombine s", + "Ġcombin es", + "Ġ Occup", + "ĠOcc up", + "ĠOc cup", + "ex clude", + "exc lude", + "p atial", + "pat ial", + "Ġre spir", + "Ġres pir", + "Ġresp ir", + "_ fit", + "_f it", + "Ġf ifty", + "Ġfi fty", + "Ġfif ty", + "ĠM ol", + "ĠMo l", + "Ġt uned", + "Ġtu ned", + "Ġtun ed", + "Ġtune d", + "-d imensional", + "Ġ qs", + "Ġq s", + "Ġt ops", + "Ġto ps", + "Ġtop s", + "> \";ĊĊ", + ">\";Ċ Ċ", + ">\" ;ĊĊ", + ">\"; ĊĊ", + "quis ite", + "qui site", + "ch annels", + "chan nels", + "channel s", + "/ res", + "/r es", + "/re s", + "Ġ Analytics", + "ĠAn alytics", + "ĠAnaly tics", + ".app compat", + "/ to", + "/t o", + "Ġon Error", + "( attr", + "(at tr", + "(att r", + "I RM", + "IR M", + "Ġrag az", + "- as", + "-a s", + ". Second", + ".Se cond", + "ori ented", + "orient ed", + "Ġd onn", + "Ġdo nn", + "Ġdon n", + "Ġlight ning", + "f id", + "fi d", + "ĠP le", + "ĠPl e", + "ãģ¾ ãģĻ", + "t ro", + "tr o", + ". True", + ".Tr ue", + "O bservable", + "Observ able", + "× Ļ", + "um bing", + "umb ing", + "Ġpros pective", + "Ġprospect ive", + "- filter", + "-f ilter", + "Ġpurs uant", + "( points", + "(p oints", + "(point s", + "(po ints", + ". Bind", + ".B ind", + "Ġp alm", + "Ġpa lm", + "Ġpal m", + "clear fix", + "ö s", + "ĠG onz", + "ĠGo nz", + "ĠGon z", + "Ġwe aken", + "Ġweak en", + "D rive", + "Dr ive", + "en ido", + "eni do", + "l ld", + "ll d", + "o box", + "ob ox", + "obo x", + "an ean", + "ane an", + "G ot", + "Go t", + "ä¿ Ŀ", + "Reg ex", + "æ ĥ", + "Ġsa lad", + "Ġsal ad", + "Ġsala d", + "as sis", + "ass is", + "assi s", + "\" net", + "inherit Doc", + "Ġ RV", + "ĠR V", + "qu ier", + "qui er", + "Ġ clazz", + "Ġcl azz", + "Ġcla zz", + "ı ÅŁ", + "oster one", + "oste rone", + "Ġair line", + "Ġairl ine", + ".list dir", + "Ġdown loading", + "Ġdownload ing", + "ĠP alm", + "ĠPal m", + "ĠPa lm", + "w aukee", + "& lt", + ". BL", + ".B L", + "_ INLINE", + "_IN LINE", + "of fs", + "off s", + "< <(", + "<< (", + "_ news", + "_n ews", + "_new s", + "_ne ws", + "Ġch ase", + "Ġcha se", + "/ ><", + "/> <", + "Ġe uros", + "Ġeu ros", + "Ġeuro s", + "ĠEgypt ian", + "ĠSt ainless", + "_ BOOL", + "_BO OL", + "Ġ Guild", + "ĠG uild", + "ĠGu ild", + "ĠGui ld", + "ĠGuil d", + "ĠD ynam", + "ĠDy nam", + "ĠDyn am", + "[ indexPath", + "[index Path", + "Ġ ï", + "Ġmem orable", + "Ġmemor able", + "ĠCh ampion", + "ĠChamp ion", + "Resource Manager", + ". Login", + ".Log in", + ".Lo gin", + "Ġ Former", + "ĠFor mer", + "ĠForm er", + "y ped", + "ype d", + "yp ed", + "Ġl leg", + "Ġll eg", + "Ġlle g", + "; \",", + ";\" ,", + "D WORD", + "DW ORD", + "Ġtax i", + "Ġta xi", + "Ġb ombs", + "Ġbomb s", + "Ġbom bs", + "r ah", + "ra h", + ". tags", + ".t ags", + ".tag s", + ".ta gs", + "_ tests", + "_t ests", + "_test s", + "_te sts", + "s tones", + "st ones", + "ston es", + "stone s", + "sto nes", + "âĢĿ )", + "[ g", + "r type", + "rt ype", + "Ġ vu", + "Ġv u", + "Ġhost ile", + "Ġho stile", + "Ġhos tile", + "Ch ars", + "Char s", + "Cha rs", + "ĠPatri ots", + "ĠPatriot s", + "/ status", + "/s tatus", + "/st atus", + "/stat us", + "< B", + "Ġ Income", + "ĠIn come", + "ĠInc ome", + "ĠD ad", + "ĠDa d", + "Ġpat rol", + "_ CHANGE", + "_CH ANGE", + "_CHAN GE", + "Ġup graded", + "Ġupgrade d", + "Ġ china", + "Ġch ina", + "Ġchi na", + "Ġchin a", + "set q", + "Start ed", + "Star ted", + ".U ndef", + ".Un def", + "Ġ checksum", + "Ġcheck sum", + "Ġchecks um", + "Ġfrustr ated", + "{ o", + "Ġe nf", + "Ġen f", + "Ġ woods", + "Ġw oods", + "Ġwood s", + "Ġwo ods", + "Ġwoo ds", + "Ġ Anyone", + "ĠAny one", + "En code", + "Enc ode", + "ĠQt Widgets", + "a reas", + "are as", + "area s", + "Ġsh eer", + "Ġshe er", + "s ki", + "sk i", + "end point", + "_ Test", + "_T est", + "S oup", + "So up", + "Sou p", + "~~~~~~~~ ~~~~~~~~", + "( files", + "(f iles", + "(file s", + "(fi les", + "(fil es", + "ĉ ĉĉĉĉčĊ", + "ĉĉ ĉĉĉčĊ", + "ĉĉĉĉ ĉčĊ", + "ĉĉĉ ĉĉčĊ", + "ĉĉĉĉĉ čĊ", + ". spark", + ".s park", + ".sp ark", + "Ġvalue d", + "Ġval ued", + "Ġvalu ed", + "Ġ %Ċ", + "Ġ% Ċ", + ". controls", + ".control s", + "ĠXCTAssert Equal", + "Ġf ame", + "Ġfam e", + "Ġfa me", + "ĠR ic", + "ĠRi c", + "D OT", + "DO T", + "ĠAlbert a", + "ĠAlb erta", + "ä½ ¿", + "o sal", + "os al", + "osa l", + ".Web Controls", + "Ġ ------------", + "Ġ- -----------", + "Ġ-- ----------", + "Ġ---- --------", + "Ġ--- ---------", + "Ġ----- -------", + "Ġ---------- --", + "Ġ------ ------", + "Ġ-------- ----", + "Ġ------- -----", + "Ġ--------- ---", + "Ġ----------- -", + "Ġ Mis", + "ĠM is", + "ĠMi s", + "Ġ SYS", + "ĠS YS", + "ĠSY S", + "Non null", + "= item", + "=i tem", + "Ġ expire", + "Ġex pire", + "Ġexp ire", + "De code", + "Dec ode", + "_ operation", + "_op eration", + "_o peration", + "_oper ation", + "Ġ Validator", + "ĠValid ator", + ". CENTER", + ".C ENTER", + "uff s", + "uf fs", + "* m", + "Ġa vant", + "Ġav ant", + "Ġava nt", + "Ġavan t", + "æ¬ ¡", + "âĢľ You", + ". permission", + ".per mission", + ".perm ission", + ".. .)", + "... )", + "Ġ Lic", + "ĠL ic", + "ĠLi c", + "_ coords", + "_co ords", + "_coord s", + ". nombre", + ".n ombre", + ".nom bre", + "c lo", + "cl o", + ". Internal", + ".In ternal", + ".Int ernal", + ".Inter nal", + "Ġ Cho", + "ĠC ho", + "ĠCh o", + "_ sw", + "_s w", + "ĉ Il", + "ĉI l", + "c lk", + "cl k", + "Ġ castle", + "Ġc astle", + "Ġcas tle", + "Ġcast le", + "( layer", + "(l ayer", + "p it", + "pi t", + "Ġ guided", + "Ġgu ided", + "Ġguide d", + "Ġguid ed", + "Ġgui ded", + "Ġ âĸĪ", + "Ġâĸ Ī", + "Ġsup erb", + "Ġsuper b", + "Ġsup plements", + "Ġsupplement s", + "Ġsuppl ements", + "Ġsupp lements", + "_ cent", + "_c ent", + "_ce nt", + "Ġ peek", + "Ġpe ek", + "Ġpee k", + "IN ARY", + "INA RY", + ". ContentAlignment", + ".Content Alignment", + "f alls", + "fall s", + "fal ls", + "\" ));", + "\") );", + "\")) ;", + "W all", + "Wal l", + "Wa ll", + ") .čĊ", + "). čĊ", + "Ġ Danny", + "ĠD anny", + "ĠDan ny", + "ĠDann y", + "irm ingham", + "IAL IZ", + "( create", + "(c reate", + "\" In", + "\"I n", + "Service Provider", + "Ġpr iced", + "Ġprice d", + "Ġpri ced", + "m acro", + "ma cro", + "mac ro", + "a mac", + "am ac", + "ama c", + ". box", + ".b ox", + ".bo x", + "- ---Ċ", + "-- --Ċ", + "---- Ċ", + "--- -Ċ", + "ãĥ «", + "Ġ Suit", + "ĠS uit", + "ĠSu it", + "u rst", + "ur st", + "urs t", + "b ru", + "br u", + "ourn als", + "ournal s", + "num ero", + "numer o", + "_ _()Ċ", + "__ ()Ċ", + "__( )Ċ", + "__() Ċ", + "D as", + "Da s", + "ĠM itt", + "ĠMi tt", + "ĠMit t", + "u der", + "ud er", + "ude r", + "? \\", + "f u", + "[ B", + "Ġ: )ĊĊ", + "Ġ:) ĊĊ", + "Ġ:)Ċ Ċ", + "( inter", + "(int er", + "(in ter", + "br ains", + "bra ins", + "brain s", + "Ġatt itudes", + "Ġattitude s", + "Ver ify", + "Ġsign atures", + "Ġsignature s", + "ack Bar", + "Ġ gd", + "Ġg d", + "J ack", + "Ja ck", + "Jac k", + ". cat", + ".c at", + ".ca t", + "Ġ zz", + "Ġz z", + "w arf", + "wa rf", + "war f", + "F TER", + "FT ER", + "\" );ĊĊĊ", + "\");Ċ ĊĊ", + "\") ;ĊĊĊ", + "\");ĊĊ Ċ", + "\"); ĊĊĊ", + "A live", + "Al ive", + "Ali ve", + "I CLE", + "IC LE", + "Ġ Whatever", + "ĠWh atever", + "ĠWhat ever", + "Ġ outlined", + "Ġout lined", + "Ġoutline d", + "s prite", + "sp rite", + "spr ite", + "е в", + "еР²", + "_ AB", + "_A B", + "_ DEPTH", + "_DE PTH", + "Ġcr ushed", + "Ġcrush ed", + "Ġcru shed", + "Ġcrus hed", + "a aa", + "aa a", + "( ev", + "(e v", + "æľ º", + "An ti", + "Ant i", + "I CO", + "IC O", + "is EqualTo", + "isEqual To", + ". sun", + ".s un", + "i culo", + "ic ulo", + "s ale", + "sa le", + "sal e", + "_ hex", + "_h ex", + "_he x", + "Ġ Vk", + "ĠV k", + "ap tor", + "apt or", + "Un ion", + "Uni on", + "Ġ Discount", + "ĠDis count", + "ĠDisc ount", + "ĠDisco unt", + "l ista", + "li sta", + "list a", + "lis ta", + ".Undef Or", + "Ġ automation", + "Ġa utomation", + "Ġautom ation", + "Ġautomat ion", + "N or", + "No r", + "å¯ ¹", + "åı Ĥæķ°", + "åıĤ æķ°", + "Ġre flex", + "Ġref lex", + "Ġrefl ex", + "ĠLa ure", + "ĠLaur e", + "ĠLau re", + ".showMessage Dialog", + ". temp", + ".t emp", + ".te mp", + ".tem p", + "Ġ akan", + "Ġa kan", + "Ġak an", + "Ġaka n", + "Ġ_ _____", + "Ġ__ ____", + "Ġ___ ___", + "Ġ____ __", + "Ġ_____ _", + ".Is True", + "A RED", + "AR ED", + "ARE D", + "a gle", + "ag le", + "E nergy", + "En ergy", + "Ġquant ities", + "âĢĻ Ã©", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "Ġcitizens hip", + "Ġcitizen ship", + "m outh", + "mo uth", + "Ġin appropriate", + "Ġ Outdoor", + "ĠOut door", + "White Space", + "An onymous", + "lo ads", + "load s", + "webElement Properties", + "T en", + "Te n", + "Ġacc idents", + "Ġaccident s", + "Ġ advertisement", + "Ġad vertisement", + "Ġadvertis ement", + "Ġadvertise ment", + "ĠY emen", + "ĠYe men", + "( call", + "(c all", + "(cal l", + "(ca ll", + "Ġsl avery", + "Ġslave ry", + "Ġsla very", + "Ġslav ery", + "Ñģ п", + "ĠL am", + "ĠLa m", + "_ BITS", + "_B ITS", + "_BIT S", + "o mega", + "om ega", + "ome ga", + "ĠO le", + "ĠOl e", + "Ġkid n", + "Ġki dn", + "_ An", + "_A n", + "ĠR aid", + "ĠRa id", + "ĠRai d", + "C reation", + "Cre ation", + "Creat ion", + "s aved", + "save d", + "sa ved", + "sav ed", + "Ġpro port", + "Ġprop ort", + "Ġpropor t", + "W ARNING", + "WAR NING", + "WARN ING", + "\\ P", + "Ġ pwd", + "Ġp wd", + "Ġpw d", + "Data Reader", + "is cher", + "isc her", + "ische r", + "isch er", + "ad eon", + "ade on", + "Ġ Predict", + "ĠP redict", + "ĠPre dict", + "ĠPred ict", + "Ġreason ing", + "Ġdestroy ing", + "H el", + "He l", + "* d", + "ĠLeg isl", + "_ Pr", + "_P r", + "ĉ ĉĉĠĠĠĠĠĠĠ", + "ĉĉ ĉĠĠĠĠĠĠĠ", + "ĉĉĉ ĠĠĠĠĠĠĠ", + "ĉĉĉĠĠĠ ĠĠĠĠ", + "ĉĉĉĠ ĠĠĠĠĠĠ", + "ĉĉĉĠĠ ĠĠĠĠĠ", + "ĉĉĉĠĠĠĠ ĠĠĠ", + "ĉĉĉĠĠĠĠĠ ĠĠ", + "ĉĉĉĠĠĠĠĠĠ Ġ", + "Ġsym path", + "Ġsymp ath", + "Ġch ess", + "Ġche ss", + "Ġ mam", + "Ġm am", + "Ġma m", + ": hover", + ":h over", + "Ġcon verts", + "Ġconvert s", + "Ġconv erts", + "Ġconver ts", + "Ġp ela", + "Ġpe la", + "Ġpel a", + "Ġpro gression", + "Ġprogress ion", + "Ġprog ression", + "Ġ\" _\"", + "Ġ\"_ \"", + "ĠG ill", + "ĠGi ll", + "ĠGil l", + "ĉ show", + "ĉs how", + "ĉsh ow", + "Ġsupposed ly", + "ac curacy", + "acc uracy", + "accur acy", + "e lin", + "el in", + "eli n", + "Ġunf olding", + "Ġunfold ing", + "Ġ Hyper", + "ĠH yper", + "ĠHy per", + "ĠHyp er", + "Ġw anna", + "Ġwann a", + "Ġwan na", + "Ġ ups", + "Ġu ps", + "Ġup s", + "( #", + "ĠC riminal", + "ĠCr iminal", + "( Point", + "(P oint", + "at Lng", + "act ly", + "Ġcontract ors", + "Ġcontr actors", + "Ġcontractor s", + "Ġcontra ctors", + "' ]}", + "'] }", + "draul ic", + "ód igo", + "Ġ TT", + "ĠT T", + "Ġ Wide", + "ĠW ide", + "ĠWi de", + "ĠWid e", + "Ġ ARG", + "ĠA RG", + "ĠAR G", + "_ ic", + "_i c", + "FLAG S", + "S chool", + "Sch ool", + "Ġcl earing", + "Ġclear ing", + "Ġcle aring", + "- being", + "-b eing", + "-be ing", + "={ [", + ", const", + "man ent", + "Over lay", + "( '\"", + "(' \"", + "éĩ ı", + "Ġ Timestamp", + "ĠT imestamp", + "ĠTime stamp", + "Ġm ailing", + "Ġma iling", + "Ġmail ing", + "Ġmai ling", + "Ġ Cake", + "ĠC ake", + "ĠCa ke", + ". That", + ".T hat", + ".Th at", + "Ġmed itation", + "q p", + "Ġ empresa", + "Ġemp resa", + "Ġempres a", + "ĠL ions", + "ĠLi ons", + "ĠLion s", + "Ġw eld", + "Ġwe ld", + "Ġwel d", + "Ġ LinkedIn", + "ĠLinked In", + "Ġc ush", + "Ġcu sh", + "Ġcus h", + "Ġ genome", + "Ġge nome", + "Ġgen ome", + "Ġgenom e", + ". IndexOf", + ".Index Of", + "a gain", + "ag ain", + "aga in", + "Ġ fallback", + "Ġf allback", + "Ġfall back", + "Ġc amping", + "Ġcamp ing", + "Ġcam ping", + "r edd", + "re dd", + "red d", + "-strip ed", + "-str iped", + "Ġ dv", + "Ġd v", + "Fe bruary", + "Feb ruary", + "Ġ Proxy", + "ĠPro xy", + "ĠPr oxy", + "u sk", + "us k", + "Ġd iesel", + "Ġdi esel", + "Ġdie sel", + "Ġdies el", + "Ġdiese l", + "W RITE", + "WR ITE", + "RE AK", + "REA K", + "L orem", + "Lo rem", + ". Invoke", + ".In voke", + ".Inv oke", + "- div", + "-d iv", + "-di v", + "Inter ceptor", + "Ġ DH", + "ĠD H", + "i ales", + "ial es", + "ia les", + "iale s", + "Ġvill ages", + "Ġvillage s", + "Ġvilla ges", + "Ø ´", + "Ġ ENV", + "ĠE NV", + "ĠEN V", + "S ys", + "Sy s", + ". XR", + ".X R", + "Ġpo em", + "à Ĥ", + "c ade", + "ca de", + "cad e", + "p lots", + "pl ots", + "plot s", + "Ġ {(", + "Ġ{ (", + ". git", + ".g it", + "/ svg", + "/s vg", + "n cmp", + "nc mp", + "Ġ Äį", + "ĠÄ į", + "a ines", + "ain es", + "ai nes", + "aine s", + "åĩ ½æķ°", + "åĩ½ æķ°", + "Ġ ()ĊĊ", + "Ġ( )ĊĊ", + "Ġ() ĊĊ", + "Ġ()Ċ Ċ", + "op sis", + "ops is", + "Ġ Relationship", + "ĠRel ationship", + "ĠRelations hip", + "ĠRelation ship", + "_ aut", + "_a ut", + "Ġ Bomb", + "ĠB omb", + "ĠBo mb", + "ĠBom b", + "ĉ com", + "ĉc om", + "* sizeof", + "*size of", + "off icial", + "_ payload", + "_p ayload", + "_pay load", + "ĉ ĉĉĉĉĠĠ", + "ĉĉ ĉĉĉĠĠ", + "ĉĉĉĉ ĉĠĠ", + "ĉĉĉ ĉĉĠĠ", + "ĉĉĉĉĉ ĠĠ", + "ĉĉĉĉĉĠ Ġ", + ". manager", + ".m anager", + ".man ager", + ".manage r", + "Ġ Around", + "ĠA round", + "ĠAr ound", + "ĉ send", + "ĉs end", + "ĉse nd", + "Ġ Exercise", + "ĠEx ercise", + "Ġ Billy", + "ĠB illy", + "ĠBill y", + "ĠBil ly", + "i vi", + "iv i", + "Ġne eding", + "Ġneed ing", + "_ urls", + "_url s", + "_ur ls", + "_ tasks", + "_t asks", + "_task s", + "ĠH em", + "ĠHe m", + "Ġ tearDown", + "Ġte arDown", + "Ġtear Down", + "en crypt", + "enc rypt", + ". tie", + ".t ie", + "Ġ asm", + "Ġa sm", + "Ġas m", + "I CH", + "IC H", + "ĠCGRect Make", + "ìĦ ±", + "u long", + "ul ong", + "ulo ng", + "Ġ itr", + "Ġit r", + "Ġi tr", + "Ġ GST", + "ĠG ST", + "ĠGS T", + "Ġoffer ings", + "Ġoffering s", + "r obe", + "ro be", + "rob e", + "E EE", + "EE E", + "oper ators", + "operator s", + "_ PROP", + "_P ROP", + "_PRO P", + "_PR OP", + "in dent", + "ind ent", + "inde nt", + "inden t", + "A DE", + "AD E", + "o rf", + "or f", + "ë IJ", + "Ġbl essed", + "Ġbless ed", + "v ascular", + "vas cular", + "Ġcon oc", + "Ġco noc", + "H appy", + "Ha ppy", + "B ridge", + "Br idge", + "il itation", + "ilit ation", + "j oint", + "join t", + "jo int", + "Ġ Administr", + "ĠAdmin istr", + "- transform", + "-trans form", + "Ġmean time", + "Ġmeant ime", + "/ K", + "ĠBed room", + "Ġr igid", + "Ġrig id", + "Ġri gid", + "Ġb rowsers", + "Ġbrowser s", + "Ġbrows ers", + "Ġbrowse rs", + "EM PTY", + "EMP TY", + ". Serialize", + ".S erialize", + ".Serial ize", + "_ ED", + "_E D", + "Ġst itch", + "Ġ jan", + "Ġj an", + "Ġja n", + "el lt", + "ell t", + "Ġ brace", + "Ġb race", + "Ġbr ace", + "Ġbra ce", + "Ġt rails", + "Ġtr ails", + "Ġtrail s", + "Ġtra ils", + "Ġtrai ls", + "p ublished", + "publish ed", + "å¯Ĩ çłģ", + "} ')Ċ", + "}' )Ċ", + "}') Ċ", + "Ġac ids", + "Ġacid s", + "Ġ !!!", + "Ġ! !!", + "Ġ!! !", + "_ direct", + "_d irect", + "_dir ect", + "_di rect", + "> ());Ċ", + ">( ));Ċ", + ">() );Ċ", + ">()) ;Ċ", + "a jÄħ", + "aj Äħ", + "_O CC", + "_OC C", + "Ġplan ets", + "Ġplane ts", + "Ġplanet s", + "Ġpla nets", + "æ Ł¥", + "æŁ ¥", + "ĠDub lin", + "Ġ serie", + "Ġs erie", + "Ġse rie", + "Ġser ie", + "Ġseri e", + ". printf", + ".print f", + "de ep", + "dee p", + "` )", + "Ġ \\$", + "Ġ\\ $", + "Ġ μ", + "ĠÎ ¼", + "_ VIDEO", + "_V IDEO", + "end ors", + "endor s", + "endo rs", + "Ġ Crypto", + "ĠC rypto", + "ĠCrypt o", + "ĠCry pto", + "F ar", + "Fa r", + ". Transparent", + ".Trans parent", + ". TR", + ".T R", + "i asm", + "ia sm", + "ias m", + "_ training", + "_tr aining", + "_train ing", + "_tra ining", + "Ġte aches", + "Ġteach es", + "Ġtea ches", + "ĠB elt", + "ĠBe lt", + "ĠBel t", + "Ġlimit ing", + "Ġlim iting", + "ĠK ath", + "ĠKat h", + "ĠKa th", + "Ġ IndexPath", + "ĠIndex Path", + "Ġachie vements", + "Ġachieve ments", + "Ġachievement s", + "Ġse rá", + "Ġser á", + "interop Require", + "Ġd isse", + "Ġdis se", + "Ġdi sse", + "Ġdiss e", + ". If", + ".I f", + "ar ming", + "arm ing", + "uls ion", + "P o", + "_ DETAIL", + "_DE TAIL", + "_DET AIL", + "Prot otype", + "Proto type", + "Ġ CAL", + "ĠC AL", + "ĠCA L", + "Ġag rees", + "Ġagre es", + "Ġagree s", + "Ġagr ees", + ". vo", + ".v o", + ".Execute NonQuery", + "Ġ Topic", + "ĠT opic", + "ĠTo pic", + "ĠTop ic", + "Ġ' {}", + "Ġ'{ }", + "A rm", + "Ar m", + "Ġ ecc", + "Ġe cc", + "Ġec c", + "M ag", + "Ma g", + "Ġ serialized", + "Ġs erialized", + "Ġser ialized", + "Ġserial ized", + "Ġserialize d", + "ĉ conn", + "ĉc onn", + "ĉcon n", + "c ached", + "ca ched", + "cache d", + "cac hed", + "= tf", + "=t f", + "Ġ ByteArray", + "ĠByte Array", + "prot obuf", + "proto buf", + "var char", + "ĉ ASSERT", + "ĉA SSERT", + "Ġ liste", + "Ġl iste", + "Ġli ste", + "Ġlist e", + "Ġlis te", + "_ trigger", + "_tr igger", + "_tri gger", + "· ¸", + "F eel", + "Fe el", + "Fee l", + "T ahoma", + "Ġ Lik", + "ĠL ik", + "ĠLi k", + "Ġ structured", + "Ġstruct ured", + "Ġstructure d", + "erg us", + ". Initial", + ".In itial", + ".Init ial", + "_ ge", + "_g e", + "cl js", + ". contact", + ".cont act", + "Ġand ere", + "Ġan dere", + "Ġander e", + "$ stmt", + "_ CURRENT", + "_C URRENT", + "Ġ Discover", + "ĠDis cover", + "ĠDisc over", + "ĠDisco ver", + "$ res", + "$r es", + "form atter", + "for matter", + "format ter", + "H a", + "van gst", + "vang st", + "Ġe merge", + "Ġem erge", + "Ġemerg e", + "ãĢĤ âĢĿ", + "ĠC abinet", + "ĠCabin et", + "ĠCab inet", + "- square", + "-s quare", + "éĥ ¨", + "Ġ rage", + "Ġr age", + "Ġra ge", + "Ġrag e", + "Ġ AJ", + "ĠA J", + "Ġ VT", + "ĠV T", + "sh adow", + "ĠFa ith", + "e names", + "en ames", + "ename s", + "ena mes", + "p retty", + "pr etty", + "pre tty", + "pret ty", + "h asil", + "ha sil", + "has il", + "p arty", + "par ty", + "part y", + "Ġ varchar", + "Ġvar char", + "Ġf otos", + "Ġfo tos", + "Ġfoto s", + "Ġfot os", + "Ġa lum", + "Ġal um", + "ĠBel gium", + "ĠBelg ium", + ". ylabel", + ".y label", + "Ġ dej", + "Ġd ej", + "Ġde j", + "_ numbers", + "_num bers", + "_number s", + "Ġ hu", + "Ġh u", + ".set Adapter", + "Ġ Usually", + "ĠUs ually", + "( sample", + "(s ample", + ". Shared", + ".Sh ared", + "Ġbo oked", + "Ġbook ed", + "Ġboo ked", + "Ġ> >=", + "Ġ>> =", + "Ġmin erals", + "Ġmineral s", + "Ġminer als", + "\" > < ?=", + "\">", + "'] )->", + "']) ->", + "p rog", + "pr og", + "pro g", + "b oo", + "bo o", + "_ md", + "_m d", + "_ pack", + "_p ack", + "_pa ck", + "( express", + "(ex press", + "(exp ress", + "(expr ess", + "u tz", + "ut z", + "\\ Auth", + ", id", + ",i d", + "ĠCh ile", + "ĠChi le", + "act ice", + "actic e", + "Ġrec ruitment", + "Ġrecruit ment", + "Ġ poses", + "Ġp oses", + "Ġpos es", + "Ġpo ses", + "Ġpose s", + "Ġvulner ability", + "inst anc", + "o rum", + "or um", + "oru m", + "d ess", + "de ss", + "des s", + "Ġ xl", + "Ġx l", + "%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%", + "( fig", + "(f ig", + "(fi g", + "Ġde leting", + "Ġdel eting", + "Ġdelet ing", + "Ġdele ting", + ". del", + ".d el", + ".de l", + ") ')Ċ", + ")' )Ċ", + "Ġ Weekly", + "ĠWeek ly", + "? ??", + "?? ?", + "( strcmp", + "(str cmp", + "s mith", + "sm ith", + "Ġpurs uing", + "- so", + "-s o", + "Ġ Apps", + "ĠA pps", + "ĠApp s", + "ĠAp ps", + "/ 'Ċ", + "/' Ċ", + "Ġde cis", + "Ġdec is", + "F ORE", + "FO RE", + "FOR E", + "Every one", + "Ġl anes", + "Ġla nes", + "Ġlane s", + "Ġlan es", + "V irtual", + "Vir tual", + ". attach", + ".at tach", + ".att ach", + "( Log", + "(L og", + "ĠMed icaid", + "ĠMedic aid", + "( Path", + "(P ath", + "ĠTur ner", + "ĠTurn er", + "/ application", + "/app lication", + "/ap plication", + "Ġ portrait", + "Ġport rait", + "Ġpor trait", + "Ġop pose", + "Ġopp ose", + "Ġoppos e", + "check out", + "Ġfin ishes", + "Ġfinish es", + "_ ME", + "_M E", + "Bar rier", + "S ong", + "So ng", + "Son g", + "V AR", + "VA R", + "Ear lier", + "r ella", + "re lla", + "rel la", + "rell a", + "Ġh ast", + "Ġhas t", + "Ġha st", + "a zar", + "az ar", + "aza r", + "Ġp ulls", + "Ġpull s", + "Ġpul ls", + "n gx", + "ng x", + "Ġins piring", + "Ġinspir ing", + "Ġinsp iring", + "Ñĥ Ñİ", + "- direction", + "-d irection", + "-direct ion", + "-dir ection", + "-di rection", + "Ġexplos ive", + "Ġ createdAt", + "Ġcreated At", + "s to", + "st o", + "Ġw heat", + "Ġwh eat", + "Ġwhe at", + "Ġ Built", + "ĠB uilt", + "ĠBu ilt", + "' ai", + "'a i", + "Ġ tracked", + "Ġtr acked", + "Ġtrack ed", + "h ammad", + "ham mad", + "RowAt IndexPath", + "_ heap", + "_he ap", + "D ue", + "Du e", + "Ġconn ects", + "Ġconnect s", + ". publish", + ".p ublish", + ".pub lish", + "e mu", + "em u", + "Ġb ullets", + "Ġbul lets", + "Ġbull ets", + "Ġbullet s", + "B AR", + "BA R", + "o late", + "ol ate", + "ola te", + "Ġintern ally", + "Ġinternal ly", + "Ġc atching", + "Ġcatch ing", + "Ġcat ching", + "- password", + "-p assword", + "-pass word", + "ou ched", + "ouch ed", + "æĢ §", + "e ous", + "eo us", + "Ġx range", + "Ġxr ange", + "Q uality", + "Qu ality", + "Qual ity", + "v v", + "Man age", + "Ma nage", + "Mana ge", + "( ($", + "(( $", + "ace ments", + "ac ements", + "acement s", + "ĠBr others", + "ĠBro thers", + "ĠBrother s", + "Ġ HEAD", + "ĠHE AD", + "Ġ Unsupported", + "ĠUn supported", + "ĠUns upported", + "s an", + "sa n", + "e si", + "es i", + "* **Ċ", + "** *Ċ", + "*** Ċ", + "Ġadapt ation", + "Ġ Worker", + "ĠWork er", + "ĠWor ker", + "' ]/", + "'] /", + ".save fig", + "( trans", + "(t rans", + "(tr ans", + "Ø ¬", + "n ee", + "ne e", + "C orrect", + "Cor rect", + ".. .\")Ċ", + "... \")Ċ", + "...\" )Ċ", + "Ġsubmit ting", + "- path", + "-p ath", + "ĉ last", + "ĉl ast", + "is san", + "iss an", + "issa n", + ". xlabel", + ".x label", + "Ġ Separ", + "ĠS epar", + "ĠSe par", + "ĠSep ar", + "/ no", + "/n o", + "_ best", + "_b est", + "_be st", + "ĠM ills", + "ĠMill s", + "ĠMil ls", + "_ sock", + "_s ock", + "_so ck", + "_soc k", + "( flag", + "(f lag", + "(fl ag", + "Ġdest inations", + "Ġdestination s", + "Ġdestin ations", + "em ption", + "emp tion", + "empt ion", + "Ġ FAIL", + "ĠF AIL", + "ĠFA IL", + "å ĴĮ", + "åĴ Į", + "Ġ rp", + "Ġr p", + "f act", + "fa ct", + "fac t", + "ĉ len", + "ĉl en", + "D AY", + "DA Y", + "Ġse iz", + "Ġsei z", + "_ dst", + "_d st", + "_ds t", + "l ip", + "li p", + ". Linear", + ".L inear", + ".Line ar", + "Ġ Basket", + "ĠB asket", + "ĠBas ket", + "$ t", + "$ i", + "- brand", + "-b rand", + "-br and", + "Ġ Neil", + "ĠN eil", + "ĠNe il", + "Ġ Eq", + "ĠE q", + "Ġt hou", + "Ġth ou", + "Ġtho u", + "o gene", + "og ene", + "ogen e", + "oge ne", + "Ġscholar ship", + "Ġscholars hip", + "æĽ ´", + "Ġs wo", + "Ġsw o", + "ag inator", + "agina tor", + "e ni", + "en i", + "( book", + "(b ook", + "Ġ blink", + "Ġb link", + "Ġbl ink", + "Ġbli nk", + "t hus", + "th us", + "Ġ cancellationToken", + "Ġc ancellationToken", + "Ġcancell ationToken", + "Ġcancellation Token", + "ĠPalestin ians", + "ĠPalestinian s", + "Ġprof itable", + "Ġprofit able", + "Ġback pack", + "en son", + "ens on", + "enso n", + "< Long", + " < /", + "_ WORD", + "_W ORD", + "\\M igrations", + "\\Migration s", + "Ġ ENABLE", + "ĠEN ABLE", + "_PARAM ETER", + "ĠB ishop", + "ĠBi shop", + "ĠBis hop", + ". subject", + ".sub ject", + "il las", + "ill as", + "illa s", + ". matrix", + ".m atrix", + ".mat rix", + "urre nces", + "urrenc es", + "urr ences", + "urrence s", + "* y", + "Ġcost ly", + "Ġ Chuck", + "ĠCh uck", + "ĠChu ck", + "Ġc loses", + "Ġcl oses", + "Ġclose s", + "Ġclos es", + "Ġclo ses", + "ĠM ight", + "ĠMi ght", + "ĠMig ht", + "- store", + "-st ore", + "Ġ mall", + "Ġm all", + "Ġma ll", + "Ġmal l", + "i eten", + "ie ten", + "iet en", + "iete n", + ". Abs", + ".A bs", + ".Ab s", + "Ġcou pled", + "Ġcouple d", + "Ġcoup led", + ". basic", + ".b asic", + ".ba sic", + "Ġ ::::::::", + "Ġ: :::::::", + "Ġ:: ::::::", + "Ġ::: :::::", + "M aker", + "Make r", + "Ma ker", + "c annot", + "can not", + "Ġ ach", + "Ġa ch", + "Ġac h", + "ĠE li", + "ĠEl i", + "âĪ Ĵ", + "o rna", + "or na", + "orn a", + "Ġ cps", + "Ġc ps", + "Ġcp s", + "Ġthere of", + "Ġther eof", + "Ġ@ {", + "Ġ NSMutableArray", + "ĠNSMutable Array", + "Î ½", + "pro ductive", + "product ive", + "prod uctive", + "S quare", + "tem pts", + "temp ts", + "tempt s", + "Ġelim inated", + "Ġeliminate d", + "Ġelimin ated", + "< M", + "Ġcons ervatives", + "Ġconserv atives", + "Ġconservative s", + "ĠS urg", + "ĠSur g", + "ĠSu rg", + ". par", + ".p ar", + ".pa r", + "ĠB uch", + "ĠBu ch", + "* b", + "F ort", + "For t", + "Fo rt", + "Col our", + "Ġ Chi", + "ĠC hi", + "ĠCh i", + "e dic", + "ed ic", + "edi c", + "> true", + "ĠN YC", + "ĠNY C", + "Ġb ored", + "Ġbo red", + "Ġbor ed", + "Ġbore d", + "Ġ Detect", + "ĠD etect", + "ĠDet ect", + "Ġapp ar", + "Ġap par", + "Ġje ans", + "Ġjean s", + "Ġ Tak", + "ĠT ak", + "ĠTa k", + "I OD", + "IO D", + "ĠH orse", + "ĠHor se", + "( FILE", + "(F ILE", + "( ?", + "r ique", + "ri que", + "opt imizer", + "optim izer", + "optimize r", + "n at", + "na t", + "lo ys", + "loy s", + "ĉ Token", + "ĉT oken", + "oub ted", + "u ess", + "ue ss", + "ues s", + "oc oa", + "oco a", + "Data Member", + "_ POWER", + "_P OWER", + "_PO WER", + "class List", + "Push Button", + "Ġ WiFi", + "ĠWi Fi", + ". Stream", + ".St ream", + ".Str eam", + ". guild", + ".g uild", + ".gui ld", + "Ġn og", + "Ġno g", + "ĠPort ugal", + "ĠPortug al", + "ĠUn ter", + "ĠUnt er", + "Pr imitive", + "Prim itive", + "b oss", + "bo ss", + "bos s", + "ĠDe utsch", + "Ġer otic", + "Ġerot ic", + "Ġero tic", + "Ġ strconv", + "Ġstr conv", + ".Try Parse", + "Ġ grams", + "Ġg rams", + "Ġgr ams", + "Ġgram s", + "Ġgra ms", + ". Success", + ".S uccess", + "_ pk", + "_p k", + "ĠHar vey", + "-m inded", + "-min ded", + ". country", + ".c ountry", + ".count ry", + "[ ]\"", + "[] \"", + "Ġ angel", + "Ġan gel", + "Ġang el", + "Ġange l", + "Ġbe ats", + "Ġbeat s", + "ĠV or", + "ĠVo r", + "i lio", + "il io", + "ili o", + ". master", + ".m aster", + ".mas ter", + ".ma ster", + "s omething", + "some thing", + "som ething", + "Ġ PACK", + "ĠP ACK", + "ĠPA CK", + "ĠPAC K", + "( if", + "(i f", + "Request Body", + "Ġ antes", + "Ġan tes", + "Ġant es", + "Ġante s", + "/ widget", + "/w idget", + "Ġ modo", + "Ġm odo", + "Ġmod o", + "Ġmo do", + "Ġ AW", + "ĠA W", + "f inder", + "find er", + "fin der", + "fi nder", + "Ġ optimized", + "Ġopt imized", + "Ġoptim ized", + "Ġoptimize d", + "Ġmiss iles", + "Ġmissile s", + "N B", + "ĉ internal", + "ĉint ernal", + "ĉin ternal", + "ĉinter nal", + "t ex", + "te x", + "ĠS ri", + "ĠSr i", + "Ġdam aging", + "Ġ Mais", + "ĠM ais", + "ĠMa is", + "ĠMai s", + "- Allow", + "-Al low", + "Ġ Zh", + "ĠZ h", + "- alt", + "-a lt", + "-al t", + "Ġ ));ĊĊ", + "Ġ) );ĊĊ", + "Ġ)) ;ĊĊ", + "Ġ));Ċ Ċ", + "Ġ)); ĊĊ", + "è ī", + "Ġinflu ences", + "Ġinfluence s", + "Ġc atal", + "Ġca tal", + "Ġcat al", + "Ġcata l", + "_ REGISTER", + "_REG ISTER", + "ĠAPI s", + "ĠAP Is", + "-cent ury", + "Ġ biology", + "Ġb iology", + "Ġbi ology", + "Ġbio logy", + "Ġ Actual", + "ĠAct ual", + "ĠAc tual", + "Ġ heels", + "Ġhe els", + "Ġheel s", + "TR ACE", + "TRA CE", + "_ DIG", + "_D IG", + "_DI G", + "D ataset", + "Data set", + "Dat aset", + "Datas et", + "ĠM atter", + "ĠMat ter", + "ĠMatt er", + "ĠMatte r", + "Ġ classifier", + "Ġclass ifier", + ".w ikipedia", + "ĠRo gers", + "ĠRog ers", + "ĠRoger s", + "Ġdon ated", + "Ġdonate d", + "raw ler", + "rawl er", + "e nen", + "en en", + "ene n", + "Ġcas inos", + "Ġcasino s", + "Ġcasi nos", + "or tal", + "ort al", + "orta l", + "Ġp rive", + "Ġpr ive", + "Ġpriv e", + "Ġpri ve", + "s pe", + "sp e", + "du cers", + "duc ers", + "duce rs", + "ducer s", + ". ep", + ".e p", + "Ġgr asp", + "Ġgra sp", + "Ġgras p", + "ac ji", + "Ġd airy", + "Ġda iry", + "Ġdai ry", + "Ġdair y", + "Ġb uses", + "Ġbu ses", + "Ġbus es", + ". comm", + ".c omm", + ".com m", + ".co mm", + ". ins", + ".in s", + ".i ns", + "Ġ IRS", + "ĠI RS", + "ĠIR S", + "Ġ Beer", + "ĠB eer", + "ĠBe er", + "ĠBee r", + "a dc", + "ad c", + "o ard", + "oa rd", + "_ MET", + "_M ET", + "_ME T", + "Ġ' +'", + "Ġ'+ '", + "r ans", + "ra ns", + "ran s", + "Ġk inda", + "Ġkind a", + "Ġki nda", + "Ġkin da", + "Ġ âĶĤ", + "ĠâĶ Ĥ", + "ĠM aur", + "ĠMa ur", + "а г", + "аР³", + "Ġband width", + "i bus", + "ib us", + "ibu s", + "Ġ Different", + "ĠD ifferent", + "( mat", + "(m at", + "Ġ Resume", + "ĠRe sume", + "ĠRes ume", + "_ UNS", + "_U NS", + "_UN S", + "est ablish", + "Ġfon ction", + "Sub scription", + "_ company", + "_com pany", + "_comp any", + "Ġ lightly", + "Ġl ightly", + "Ġlight ly", + ". confirm", + ".con firm", + ".conf irm", + ". yaml", + ".y aml", + "Ġ Boost", + "ĠBo ost", + "ĠBoo st", + "Com merce", + "Comm erce", + "- template", + "-t emplate", + "-temp late", + "_ DELAY", + "_DE LAY", + "_DEL AY", + "Ġ HI", + "ĠH I", + "Ġn avig", + "Ġna vig", + "Ġnav ig", + "( Sender", + "(S ender", + "Ġ HS", + "ĠH S", + "_ \"+", + "_\" +", + "Ġ REQUEST", + "ĠRE QUEST", + "ĠREQ UEST", + "Ġ wifi", + "Ġw ifi", + "Ġwi fi", + "= \"\"Ċ", + "=\" \"Ċ", + "=\"\" Ċ", + "] )->", + "]) ->", + "])- >", + "Ġr ope", + "Ġro pe", + "Ġrop e", + "Ġvi olated", + "Ġviol ated", + "Ġviolate d", + "Ġgl ance", + "ĠK urd", + "ĠKur d", + "ĠKu rd", + "Ġ è®", + "Ġè ®", + "d eck", + "de ck", + "dec k", + "Ġ ISBN", + "ĠIS BN", + "Ġin fect", + "Ġinf ect", + "Ġ Foo", + "ĠF oo", + "ĠFo o", + "Ġ getter", + "Ġg etter", + "Ġget ter", + "Ġ tener", + "Ġt ener", + "Ġte ner", + "Ġten er", + "a ppe", + "ap pe", + "app e", + ". hh", + ".h h", + "_ hot", + "_h ot", + "< AM", + " \".$", + ">\" .$", + ">\". $", + "Ġre lies", + "Ġrel ies", + "Ġreli es", + "Ġrelie s", + "( Console", + "Int ernational", + "Inter national", + "Intern ational", + "- >{$", + "-> {$", + "->{ $", + "M id", + "Mi d", + "Ġdis sert", + "Ġdiss ert", + "Ġdisse rt", + "d ds", + "dd s", + "Ġdeposit s", + "Ġdepos its", + "ĉ driver", + "ĉd river", + "# ga", + "#g a", + "p rising", + "pr ising", + "pri sing", + "print ln", + "Ġp resenter", + "Ġpres enter", + "Ġpresent er", + "Ġpresente r", + "Ġm ines", + "Ġmin es", + "Ġmi nes", + "Ġmine s", + "C SS", + "CS S", + "Ġ Dual", + "ĠD ual", + "ĠDu al", + "( !(", + "(! (", + "Ġk am", + "Ġka m", + "Ġ isLoading", + "Ġis Loading", + "Ġ Protect", + "ĠProt ect", + "ĠProte ct", + ". upper", + ".u pper", + ".up per", + "a rium", + "ar ium", + "ari um", + "] :ĊĊĊ", + "]: ĊĊĊ", + "]:Ċ ĊĊ", + "]:ĊĊ Ċ", + "Y ii", + "- shirt", + "-sh irt", + "Ġ IMAGE", + "ĠIM AGE", + "_ colors", + "_color s", + "_col ors", + "Ġ urgent", + "Ġur gent", + "Ġurge nt", + "Ġurg ent", + ". Container", + ".Cont ainer", + "! (Ċ", + "!( Ċ", + "S aturday", + "Ġsoc ieties", + "Ġsoci eties", + "Ġ Than", + "ĠT han", + "ĠTh an", + "Ġ Cod", + "ĠC od", + "ĠCo d", + "= @", + "Ġ attachments", + "Ġattach ments", + "Ġattachment s", + ". mobile", + ".m obile", + ".mob ile", + "Ġs pite", + "Ġsp ite", + "Ġspi te", + "Ġspit e", + "Ġ bounce", + "Ġb ounce", + "Ġbo unce", + "Ġbou nce", + "r awl", + "ra wl", + "raw l", + "instance type", + "instanc etype", + "ĠTr uck", + "ĠTru ck", + "Ġmanip ulation", + "( Config", + "- inst", + "-in st", + "-i nst", + "-ins t", + "Ġ stor", + "Ġs tor", + "Ġst or", + "Ġsto r", + "it ution", + "itu tion", + "Preferred Gap", + "Ġmain AxisAlignment", + "Ġlist ened", + "Ġlisten ed", + "Ġliste ned", + "'' 'ĊĊ", + "'''Ċ Ċ", + "''' ĊĊ", + "ott age", + "otta ge", + "- project", + "-pro ject", + ". APPLICATION", + ".AP PLICATION", + "ĉ root", + "ĉr oot", + "Ġw hit", + "Ġwh it", + "Ġ bilder", + "Ġb ilder", + "Ġbi lder", + "Ġbil der", + "Ġbild er", + "Ġ ker", + "Ġk er", + "Ġke r", + "Ġappl iances", + "Ġappliance s", + "ro wave", + "row ave", + "ìĿ Ģ", + "em atics", + "ema tics", + "ematic s", + "emat ics", + "Ġ Org", + "ĠO rg", + "ĠOr g", + "o ping", + "op ing", + "opi ng", + "_ SEARCH", + "_SE ARCH", + "Ġc ham", + "Ġch am", + "Ġcha m", + "add ContainerGap", + "Ġ ().", + "Ġ( ).", + "Ġ() .", + "Ġ Arrow", + "ĠAr row", + "ĠArr ow", + "Il legal", + "Ill egal", + "Current ly", + "Curr ently", + "Ġ usa", + "Ġu sa", + "Ġus a", + "Ġpass words", + "Ġpassword s", + "Ġre nown", + "Ġren own", + "a vern", + "av ern", + "ave rn", + "aver n", + "ĠE vil", + "ĠEv il", + "Ġ concat", + "Ġcon cat", + "Ġconc at", + "Ġd uo", + "Ġdu o", + "Ġ vale", + "Ġv ale", + "Ġval e", + "Ġva le", + "Ġ Bean", + "ĠB ean", + "ĠBe an", + "ĠBea n", + "Ġind icators", + "Ġindic ators", + "Ġindicator s", + "Ġindica tors", + "c math", + "cm ath", + "ĠP ump", + "ĠPu mp", + "Nov ember", + "ific ant", + "ifi cant", + "ifica nt", + "_ DOMAIN", + "_DO MAIN", + "_DOM AIN", + "re gar", + "reg ar", + "rega r", + "Ġ Portal", + "ĠP ortal", + "ĠPort al", + "ĠPor tal", + "\" $", + "Ġ formerly", + "Ġformer ly", + "\" ]:Ċ", + "\"] :Ċ", + "\"]: Ċ", + "Ġ Visibility", + "ĠVis ibility", + ".getElementsBy ClassName", + "_ RED", + "_RE D", + "_R ED", + "Ġch ampions", + "Ġchampion s", + "Ġchamp ions", + "à ´", + "Val or", + "Va lor", + "_ es", + "_e s", + "* a", + "- repeat", + "-re peat", + "B and", + "Ban d", + "Ba nd", + ". stage", + ".st age", + "Ġbure auc", + "Ġbureau c", + "C nt", + "e ten", + "et en", + "ete n", + "- function", + "-f unction", + "Ġm uito", + "Ġmu ito", + "Ġmuit o", + "P ID", + "PI D", + "_ editor", + "_e ditor", + "_edit or", + "_ed itor", + "Ġcr ashed", + "Ġcrash ed", + "Ġcra shed", + "d ead", + "de ad", + "dea d", + "k at", + "ka t", + "a gh", + "ag h", + "Ġ EXT", + "ĠE XT", + "ĠEX T", + "as ser", + "ass er", + "asse r", + "- small", + "-s mall", + "-sm all", + "Ġre aliz", + "Ġreal iz", + "( Entity", + "(E ntity", + "ú s", + "Ġ Actually", + "ĠAct ually", + "ĠActual ly", + "Ġ Elite", + "ĠE lite", + "ĠEl ite", + "ĠEli te", + "Ġ helm", + "Ġh elm", + "Ġhe lm", + "Ġhel m", + "( nonatomic", + "(non atomic", + "a sher", + "as her", + "ash er", + "Comm unity", + "all eng", + "alle ng", + "allen g", + "i ry", + "ir y", + "ĠG rowth", + "ĠGrow th", + "Ġs ue", + "Ġsu e", + "Ġf requencies", + "Ġfrequ encies", + "_ descriptor", + "_des criptor", + ". Attribute", + ".At tribute", + "Ġrec ipients", + "Ġrecipient s", + "Ġrecip ients", + "_ NS", + "_N S", + "/ \"+", + "/\" +", + "i ban", + "ib an", + "iba n", + "Ġ athlete", + "Ġath lete", + "Ġ Ign", + "ĠI gn", + "ĠIg n", + "_ DMA", + "_D MA", + "_DM A", + "( ds", + "(d s", + "Ġ Requirements", + "ĠRequire ments", + "ĠRequirement s", + "A DI", + "AD I", + "e rez", + "er ez", + "ere z", + "\\ Admin", + "br aska", + "bra ska", + "bras ka", + "ĠR ust", + "ĠRu st", + "ĠRus t", + "Re lation", + "Rel ation", + "C OD", + "CO D", + "Ġ VERSION", + "ĠV ERSION", + "ĠVER SION", + "e mma", + "em ma", + "emm a", + ") ){", + ")) {", + ". Duration", + ".D uration", + "Ġ Camb", + "ĠC amb", + "ĠCam b", + "ĠCa mb", + "- logo", + "-l ogo", + "-lo go", + "-log o", + "Ġread able", + "Ġcre ators", + "Ġcreat ors", + "Ġcreator s", + "Ġcrea tors", + "( )];Ċ", + "() ];Ċ", + "()] ;Ċ", + "Up Down", + "- half", + "-h alf", + ".get Month", + ".getM onth", + "( sf", + "(s f", + "P ic", + "Pi c", + "Ġh unger", + "Ġhun ger", + "Ġhung er", + "Ġhu nger", + ". tx", + ".t x", + "Ġex ceeded", + "Ġexceed ed", + "Ġexce eded", + "_ seed", + "_s eed", + "_se ed", + "( ^", + "_ sk", + "_s k", + ". perform", + ".per form", + "Ġ >::", + "Ġ> ::", + "Ġ mongo", + "Ġm ongo", + "Ġmon go", + "Ġmo ngo", + "Ġmong o", + "= float", + "=f loat", + "bind Param", + "S mart", + "Sm art", + "i fa", + "if a", + "Ġse curities", + "Ġsec urities", + "Ġpre jud", + "Ġ ,\"", + "Ġ, \"", + "Ġcor ps", + "Ġcorp s", + "Ġv ra", + "Ġvr a", + "ama care", + "amac are", + "i terr", + "it err", + "ite rr", + "iter r", + "( Media", + "(M edia", + "(Me dia", + "u che", + "uch e", + "uc he", + "Ġ cob", + "Ġc ob", + "Ġco b", + "Ġl iber", + "Ġli ber", + "Ġlib er", + ". geometry", + ".ge ometry", + ".geom etry", + ".geo metry", + "L ocator", + "Loc ator", + "Ġsl iding", + "Ġslid ing", + "Ġs urgical", + "Ġsurg ical", + "_ CUR", + "_C UR", + "Ġcon sect", + "Ġcons ect", + "Ġconsec t", + "Ġconse ct", + "[ *", + "ĠRe sort", + "ĠRes ort", + "St ub", + "_ DOUBLE", + "_DO UBLE", + "Ġ Soph", + "ĠS oph", + "ĠSo ph", + "Ġelect oral", + "_ disable", + "_d isable", + "_dis able", + "Ġ Ñģо", + "ĠÑģ о", + "ĠLight ning", + "Ġ mentions", + "Ġm entions", + "Ġmention s", + "Ġment ions", + "o cy", + "oc y", + "Ġle aked", + "Ġleak ed", + "Ġrelax ing", + "P resenter", + "Pres enter", + "Present er", + "v sp", + "vs p", + "Ġg uilt", + "Ġgu ilt", + "Ġgui lt", + "=- =-", + ". reply", + ".re ply", + ".rep ly", + "Ġ Mirror", + "ĠM irror", + "ĠMir ror", + "ĠMi rror", + "C amp", + "Ca mp", + "Cam p", + "Ġ+#+ #+#+", + "Ġ+#+#+#+ #+#+", + ". Author", + ".A uthor", + ".Auth or", + "Ġ directive", + "Ġdirect ive", + "Ġdir ective", + "- hook", + "-h ook", + "íĦ °", + "} ĊĊĊĊĊ", + "}Ċ ĊĊĊĊ", + "}ĊĊ ĊĊĊ", + "}ĊĊĊ ĊĊ", + "}ĊĊĊĊ Ċ", + "@ pytest", + "_ rand", + "_r and", + "_ra nd", + "m is", + "mi s", + "Ġcolor ful", + "u je", + "uj e", + "l asses", + "lass es", + "las ses", + "Ġ Classes", + "ĠC lasses", + "ĠCl asses", + "ĠClass es", + "ĠClasse s", + ". have", + ".h ave", + "% ),", + "%) ,", + "é¢ ĺ", + "Ġdistur bing", + "Ġdisturb ing", + "sub string", + "substr ing", + "subst ring", + "subs tring", + "ĠK oh", + "ĠKo h", + "In vest", + "Inv est", + "p urchase", + "Ġrec ycling", + "Ġrecycl ing", + "Ġ ART", + "ĠA RT", + "ĠAR T", + "ier archy", + "Ġ fps", + "Ġf ps", + "Ġfp s", + ". checkBox", + ".check Box", + "íķ ´", + "_ material", + "_m aterial", + "_mat erial", + "du cation", + "duc ation", + "Ġ fw", + "Ġf w", + "u dit", + "ud it", + "udi t", + "Ġreview ing", + "Ġ Sid", + "ĠS id", + "ĠSi d", + "S yntax", + "Sy ntax", + "Syn tax", + "Ġ Written", + "ĠW ritten", + "ĠWr itten", + "ar gar", + "arg ar", + "arga r", + "U ME", + "UM E", + "/ q", + "Class ifier", + "Off icial", + "Ġj azz", + "Ġja zz", + "Ġjaz z", + "Ġ omega", + "Ġo mega", + "Ġom ega", + "Ph ysics", + "Phys ics", + "Ġl ugar", + "Ġlu gar", + "Ġlug ar", + "_access or", + "_acc essor", + ". commands", + ".command s", + ".comm ands", + "Ab ility", + "Ġ Batch", + "ĠB atch", + "ĠBat ch", + "R AM", + "RA M", + "Ġenc ounters", + "Ġencounter s", + "Ġencount ers", + ". Qu", + ".Q u", + "B YTE", + "BY TE", + "Ġ Distribution", + "ĠD istribution", + "ĠDis tribution", + "ĠDistrib ution", + "Ġ uso", + "Ġu so", + "Ġus o", + "ĠRe covery", + "ĠRec overy", + "ĠReco very", + "ĠRecover y", + "ap proved", + "appro ved", + "approve d", + "Ġden ial", + "/ share", + "/s hare", + "/sh are", + "Link edList", + "Linked List", + ") čĊčĊčĊ", + ")čĊ čĊčĊ", + ")čĊčĊ čĊ", + "u ddy", + "ud dy", + "udd y", + "Ġf ines", + "Ġfin es", + "Ġfine s", + "Ġfi nes", + "Ġ ry", + "Ġr y", + "Un icode", + "Uni code", + "ĉ render", + "ĉr ender", + "ĉre nder", + "Ġprem ises", + "Ġpremise s", + "Ġpremi ses", + "Ġ pon", + "Ġp on", + "Ġpo n", + "ali ases", + "alias es", + "alia ses", + "/ Foundation", + "/F oundation", + "c uda", + "cu da", + "ĠC ock", + "ĠCo ck", + "ĠCoc k", + ", :)", + ",: )", + "( folder", + "(f older", + "Ġm éd", + "Ġmé d", + "d rag", + "dr ag", + "dra g", + "Ġtal ents", + "Ġtalent s", + "Ġtale nts", + "Ġ ĠĠĊĊ", + "ĠĠ ĠĊĊ", + "ĠĠĠ ĊĊ", + "ĠĠĠĊ Ċ", + "е ÑģÑĤв", + "еÑģÑĤ в", + "m ob", + "mo b", + ".y ml", + "Ġ aster", + "Ġa ster", + "Ġas ter", + "Ġast er", + "Ġdis cre", + "Ġdisc re", + "go al", + "ĠG TX", + "ĠGT X", + "Ġ SUCCESS", + "ĠS UCCESS", + "Ġ LONG", + "ĠL ONG", + "ĠLO NG", + "( find", + "(f ind", + "(fin d", + "(fi nd", + "Ġ singular", + "Ġs ingular", + "Ġsing ular", + "_ sz", + "_s z", + "ĠEth ereum", + "ĠEther eum", + ". .Ċ", + ".. Ċ", + "Ġir res", + "Ġirre s", + "Ġirr es", + "' )){Ċ", + "') ){Ċ", + "')) {Ċ", + "Ġmin isters", + "Ġminister s", + "Ġmini sters", + "Ġminist ers", + "St eps", + "Step s", + "Ste ps", + "iver sal", + "ivers al", + "Ġ Nevertheless", + "ĠNever theless", + "- led", + "-l ed", + "-le d", + "Ġ( %)", + "Ġ(% )", + "ç¡ ®", + "Ġ timezone", + "Ġtime zone", + "Ġstr anger", + "Ġstrange r", + "Ġstrang er", + "Ġstran ger", + "Ġstra nger", + "( render", + "(r ender", + "(re nder", + "Ġsh util", + "Ġshut il", + "Ġ mph", + "Ġm ph", + "Ġmp h", + "Ġt rio", + "Ġtr io", + "Ġtri o", + "p py", + "pp y", + "Ġpred omin", + "Ġ endors", + "Ġend ors", + "ĠRuss ians", + "ĠRussia ns", + "ĠRussian s", + "ĉ row", + "ĉr ow", + "Ġ wizard", + "Ġw izard", + ". serialize", + ".s erialize", + ".serial ize", + "Ġcompl ained", + "Ġcomplain ed", + "Ġs ido", + "Ġsi do", + "Ġsid o", + "Ġdel ighted", + "Ġdelight ed", + "- me", + "-m e", + "ĠR av", + "ĠRa v", + "H uman", + "Hum an", + "Hu man", + "a days", + "ad ays", + "ada ys", + "aday s", + "re cv", + "rec v", + "Work ing", + "J ump", + "Ju mp", + "Ġ Ã¥r", + "ĠÃ¥ r", + "Ġ Automatic", + "ĠAuto matic", + "ĠAut omatic", + "ĠAutom atic", + "_ Base", + "_B ase", + "æł ¼", + "aur ants", + "aurant s", + "aura nts", + " ¯", + "æ ¸", + "(C Type", + "I FI", + "IF I", + "( amount", + "(a mount", + "(am ount", + "Ġbel ieving", + "Ġbelie ving", + "= mysql", + "=m ysql", + "=my sql", + "Ġ fir", + "Ġf ir", + "Ġfi r", + "Ġrest oration", + "Ġresto ration", + "er eco", + "ere co", + "Ð ¢", + "_ '+", + "_' +", + "Ġe book", + "Ġeb ook", + "Ġde bris", + "Ġdeb ris", + "( inputs", + "(input s", + "(in puts", + "(inp uts", + "AY OUT", + "Ġscre aming", + "Ġscream ing", + "a via", + "av ia", + "avi a", + "l ander", + "land er", + "la nder", + "lan der", + "Ġdist ress", + "Ġdi stress", + "Ġdistr ess", + "Ġas sembled", + "Ġassemble d", + "Ġ Avoid", + "ĠA void", + "ĠAv oid", + "( thread", + "(t hread", + "(th read", + "Ġ RPC", + "ĠR PC", + "ĠRP C", + "_ EXIT", + "_EX IT", + "( queue", + "(q ueue", + "и ÑģÑĤ", + "иÑģ ÑĤ", + "D ll", + "Ġsk ull", + "Ġsku ll", + "_ pub", + "_p ub", + "ch ez", + "che z", + "m inate", + "min ate", + "mina te", + "en sen", + "ens en", + "ense n", + "Ġins ane", + "Ġinsan e", + "b ounds", + "bo unds", + "bound s", + "bou nds", + "ĠR osen", + "ĠRo sen", + "ĠRose n", + "ĠRos en", + "Ġcondition ing", + "process ed", + "proc essed", + "v ideos", + "vid eos", + "video s", + "vide os", + "f our", + "fo ur", + ". Conv", + ".Con v", + ".Co nv", + "| ;Ċ", + "Person al", + "Pers onal", + "Persona l", + "cer pt", + ":UIControlState Normal", + "Ġd oses", + "Ġdo ses", + "Ġdos es", + "Ġdose s", + "ĠK arl", + "ĠKar l", + "ĠKa rl", + "ĠF requ", + "ĠFr equ", + "ĠFre qu", + ". BASE", + ".B ASE", + "Ġ Vote", + "ĠV ote", + "ĠVo te", + "Ġcon current", + "Ġconc urrent", + "ĠMessageBox Icon", + "Ġ Ãĸ", + "Ġà ĸ", + "ĠDu bai", + "ĠDub ai", + "Ġ Retail", + "ĠR etail", + "ĠRe tail", + "ĠRet ail", + ": number", + ":n umber", + ":num ber", + "Ġ Observer", + "ĠOb server", + "ĠObserv er", + "ĠObs erver", + "Ġ BigInteger", + "ĠB igInteger", + "ĠBig Integer", + "ĠBigInt eger", + "_ origin", + "_or igin", + "_orig in", + "_ori gin", + "_ WORK", + "_W ORK", + "F rames", + "Frame s", + "Fr ames", + "Fra mes", + "Ġnot ably", + ". âĢľ", + "Ġt ropical", + "Ġtrop ical", + "Ġn iche", + "Ġni che", + "Ġnic he", + "Ġnich e", + "a mina", + "am ina", + "amin a", + "ami na", + ". sys", + ".s ys", + ".sy s", + "( tokens", + "(t okens", + "(token s", + "(tok ens", + "mod ify", + "o sit", + "os it", + "osi t", + "st rom", + "str om", + "stro m", + "ĠC omics", + "ĠCom ics", + "ĠComic s", + "O PTION", + "OP TION", + "OPT ION", + "T icket", + "Tick et", + "Ti cket", + "Ġf actories", + "Ġfact ories", + "Ġfactor ies", + "Ġfacto ries", + "Ġdis put", + "Ġdisp ut", + "_ File", + "_F ile", + "ĠF inn", + "ĠFin n", + "ĠFi nn", + "e ee", + "ee e", + "ĠDis cord", + "ĠDisc ord", + "ĠDisco rd", + "_ money", + "_m oney", + "_mon ey", + "_mo ney", + ". tpl", + ".t pl", + ".tp l", + "_ safe", + "_s afe", + "_sa fe", + "L B", + "Ġg lut", + "Ġgl ut", + "Ġglu t", + "J K", + ". flow", + ".f low", + ".fl ow", + "- cont", + "-c ont", + "-con t", + "-co nt", + "g os", + "go s", + "Ġhor izon", + "ĠR ush", + "ĠRu sh", + "ĠRus h", + ": :*", + ":: *", + "P ipe", + "Pi pe", + "u lla", + "ul la", + "ull a", + "b orough", + "bo rough", + "bor ough", + "boro ugh", + "he imer", + "heim er", + "hei mer", + "( move", + "(m ove", + "( Text", + "(T ext", + "} );čĊčĊ", + "}) ;čĊčĊ", + "}); čĊčĊ", + "});čĊ čĊ", + "w elcome", + "wel come", + "Ġ Components", + "ĠCom ponents", + "ĠComponent s", + "ĠComp onents", + "Ġgovern ance", + "c losed", + "cl osed", + "close d", + "clo sed", + "ĉ margin", + "ĉm argin", + "Ġla undry", + "Ġ Terminal", + "ĠTerm inal", + "ĠTermin al", + "iz ards", + "izar ds", + "izard s", + ". âĢĶ", + ". remote", + ".rem ote", + ". radius", + ".r adius", + ".rad ius", + "ĠQue bec", + "Ġ dh", + "Ġd h", + "T ech", + "Te ch", + "ĠM ist", + "ĠMi st", + "ĠMis t", + "s eller", + "se ller", + "sel ler", + "sell er", + "_ literal", + "_l iteral", + "_lite ral", + "_lit eral", + "Ġgen ius", + "Ġ brains", + "Ġbr ains", + "Ġbrain s", + "Ġbra ins", + "g em", + "ge m", + "Ġ Measure", + "ĠMe asure", + "Ġcat ast", + "Ġcata st", + "r ance", + "ra nce", + "ran ce", + ". TextField", + ".T extField", + ".Text Field", + "Ġcon suming", + "Ġcons uming", + "Ġconsum ing", + "Ġ'\\ ''", + "Ġ'\\' '", + "oubted ly", + "Ġ Certain", + "ĠC ertain", + "ĠCert ain", + "ĠCer tain", + "E v", + "er ti", + "ert i", + "b eing", + "be ing", + "bei ng", + "Ex perience", + "Ġ //[", + "Ġ// [", + "Ġ/ /[", + "ĠAr abic", + "ĠArab ic", + "ĠAra bic", + "ĠC rist", + "ĠCr ist", + "ĠCri st", + "Ġ Azure", + "ĠA zure", + "ĠAz ure", + "Ġ hora", + "Ġh ora", + "Ġhor a", + "Ġho ra", + "l adesh", + "lad esh", + "\\ Blueprint", + "d ar", + "da r", + ". rel", + ".re l", + ".r el", + "Ġsup rem", + "ĠRe agan", + "Ġ Attributes", + "ĠAt tributes", + "ĠAttribute s", + "- sidebar", + "-s idebar", + "-side bar", + "Ġuse Styles", + "ĠA irlines", + "ĠAir lines", + "Ġh ills", + "Ġhill s", + "Ġhil ls", + "/x html", + "v inc", + "vin c", + "vi nc", + "_ mock", + "_m ock", + "_mo ck", + "Ċ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠP ill", + "ĠPi ll", + "ĠPil l", + ".Layout Style", + "ĠComm ander", + "ĠCommand er", + "] <", + "sign ature", + "sig nature", + "Ġ{ }čĊ", + "Ġ{} čĊ", + "Ġhat red", + "Ġ ëĭ", + "Ġë ĭ", + "ole sterol", + "Ġ ********", + "Ġ* *******", + "Ġ** ******", + "Ġ*** *****", + "Ġ**** ****", + "Ġ***** ***", + "ancel lor", + "ancell or", + "c rop", + "cr op", + "cro p", + "T IM", + "TI M", + "ĉ ĉĊĊ", + "ĉĉ ĊĊ", + "ĉĉĊ Ċ", + "ys qli", + "ysql i", + "u itive", + "uit ive", + "ĉ unset", + "ĉun set", + "_ sel", + "_s el", + "_se l", + "Ġ menus", + "Ġm enus", + "Ġmen us", + "Ġmenu s", + "t ick", + "ti ck", + "tic k", + "Ġcon stitute", + "Ġconstit ute", + "Ġconstitu te", + "Ġ Elements", + "ĠE lements", + "ĠEl ements", + "ĠElement s", + "ĠEle ments", + "ĠElem ents", + "Ġ Redis", + "ĠR edis", + "ĠRe dis", + "ĠRed is", + "ag gio", + "agg io", + "aggi o", + "_ fp", + "_f p", + "_ depend", + "_d epend", + "_de pend", + "_dep end", + "e mas", + "em as", + "ema s", + "C AST", + "CA ST", + "CAS T", + "o range", + "or ange", + "ora nge", + "oran ge", + "orang e", + "j on", + "jo n", + "Ġ Emily", + "ĠEm ily", + "ĠEmil y", + "Ġpot atoes", + "Ġpotato es", + "Ġre ceptor", + "Ġrecept or", + "Ġrecep tor", + "Ġ Electronic", + "ĠElect ronic", + "ĠElectro nic", + "ĠElectron ic", + "Ġ Lights", + "ĠL ights", + "ĠLight s", + "Ġcomb ining", + "Ġcombin ing", + "Ġ Someone", + "ĠSome one", + "Ġ######## .", + "ĠT OD", + "ĠTO D", + "/ show", + "/s how", + "/sh ow", + "X d", + ". \"'", + ".\" '", + "a fx", + "af x", + "Ġtr agic", + "Ġtrag ic", + "St yled", + "Style d", + "Ġ Marco", + "ĠMar co", + "ĠMarc o", + "G allery", + "d ale", + "da le", + "dal e", + ".âĢĿ ĊĊĊĊ", + ".âĢĿĊĊ ĊĊ", + ".âĢĿĊ ĊĊĊ", + "é rie", + "ér ie", + "éri e", + "/ service", + "/s ervice", + "äº Ĩ", + "Ġ ambient", + "Ġamb ient", + "_ SETTINGS", + "_SET TINGS", + "_SETTING S", + ". Adapter", + ".Ad apter", + "l ene", + "le ne", + "len e", + "Ġtravel s", + "Ġtrav els", + "Not ice", + "Ġc leans", + "Ġclean s", + "Ġcle ans", + "ĠF em", + "ĠFe m", + "c hair", + "ch air", + "cha ir", + "chai r", + "Ñĥ н", + "/ my", + "/m y", + "_ bad", + "_b ad", + "ĠE conomics", + "ĠEcon omics", + "ĠEconomic s", + "ĠEconom ics", + "I SA", + "IS A", + "_ CNT", + "_C NT", + "_CN T", + "( Menu", + "(M enu", + "(Me nu", + "äº İ", + "ĠR idge", + "ĠRid ge", + "ĠRi dge", + "Ġlength y", + "Ġleng thy", + "D ot", + "Do t", + "Ġj umps", + "Ġjump s", + "Ġju mps", + "Ġ hey", + "Ġh ey", + "Ġhe y", + "$ pdf", + "$p df", + "Ġ worm", + "Ġw orm", + "Ġwor m", + "Ġwo rm", + "Ġ sut", + "Ġs ut", + "Ġsu t", + "Ġ sher", + "Ġs her", + "Ġsh er", + "Ġshe r", + "i amo", + "ia mo", + "iam o", + "Ġ Calc", + "ĠC alc", + "ĠCal c", + "ĠCa lc", + "t rieve", + "tr ieve", + "trie ve", + "tri eve", + "Ġc ops", + "Ġco ps", + "Ġcop s", + "ĠCh rom", + "ĠChr om", + "Ġ regulated", + "Ġreg ulated", + "Ġregul ated", + "Ġregulate d", + "reat ment", + "Ġ Higher", + "ĠHigh er", + "o ks", + "ok s", + "Ġde ze", + "Ġdez e", + "LOC ATION", + "ongs To", + "Ġ finite", + "Ġf inite", + "Ġfin ite", + "Ġfi nite", + "Ġv aries", + "Ġvar ies", + "Ġvari es", + "Ġva ries", + "Ġposition ed", + "Ġposit ioned", + "' il", + "'i l", + "éĩ ij", + "Ġh ike", + "Ġhi ke", + "Ġhik e", + "( done", + "(d one", + "(do ne", + "play list", + "Ġ ada", + "Ġa da", + "Ġad a", + "Ġcoast al", + "ĠN ancy", + "ĠNa ncy", + "ĠNan cy", + ".DateTime Field", + "Cpp CodeGen", + "Ġ Similarly", + "ĠSimilar ly", + "r eur", + "re ur", + "reu r", + "Ġ Contr", + "ĠCon tr", + "ĠCont r", + "Ġ Hidden", + "ĠH idden", + "ĠHi dden", + "Ġ Beta", + "ĠB eta", + "ĠBe ta", + "ĠBet a", + "at ched", + "atch ed", + "_ install", + "_inst all", + ". Output", + ".Out put", + "Look up", + "ĠRich mond", + "qu ared", + "quare d", + "qua red", + "Ġm anga", + "Ġman ga", + "Ġma nga", + "Ġmang a", + "- controls", + "-control s", + "ĠBer nard", + "ĠBern ard", + "L arge", + "Ġs lices", + "Ġsl ices", + "Ġslice s", + "Ġslic es", + "Ġoff ence", + "Ġoffen ce", + "ĠM ega", + "ĠMe ga", + "ĠMeg a", + "Ġ estar", + "Ġe star", + "Ġes tar", + "Ġest ar", + "Ġesta r", + "Ġj oints", + "Ġjoin ts", + "Ġjo ints", + "Ġjoint s", + "Ġ summ", + "Ġs umm", + "Ġsu mm", + "Ġsum m", + "_ platform", + "_pl atform", + "B uff", + "Buf f", + "Bu ff", + ".add Subview", + "Ġret ained", + "Ġretain ed", + "L etter", + "Let ter", + ". dim", + ".d im", + ".di m", + "Ġess ere", + "Ġesse re", + "ĠS caffold", + "EX PECT", + "EXP ECT", + "ĉ RE", + "ĉR E", + ". longitude", + ".long itude", + "ü nd", + "ün d", + "Ġstat ue", + ". addWidget", + ".add Widget", + "ĠCar ibbean", + "add PreferredGap", + "il de", + "ild e", + "UI Label", + "UIL abel", + "ĠOp port", + "ĠOpp ort", + "Ġim perial", + "Ġimp erial", + "Ġimper ial", + "Ġimpe rial", + "urs ion", + "Ġman date", + "Ġmand ate", + "Ġprom otional", + "Ġpromot ional", + "Ġpromotion al", + "Ġ vk", + "Ġv k", + "ia ÅĤ", + "Ġp yl", + "Ġpy l", + "Ġ Creation", + "ĠC reation", + "ĠCre ation", + "ĠCreat ion", + "о зд", + "оз д", + "Ġsim pler", + "Ġsimple r", + "Ġsimp ler", + "Ġsimpl er", + ". what", + ".w hat", + ".wh at", + "Ġ Recent", + "ĠRe cent", + "ĠRec ent", + "ĠRece nt", + "St orm", + ". quantity", + ".qu antity", + ".quant ity", + "Ġ Lov", + "ĠL ov", + "ĠLo v", + "\" -", + "ub bles", + "ubble s", + "ubb les", + "_ notification", + "_not ification", + "( world", + "(w orld", + "ur ger", + "urg er", + "urge r", + "* (-", + "*( -", + ": \"Ċ", + ":\" Ċ", + "h m", + "an ship", + "ans hip", + "Ġ Almost", + "ĠAl most", + "Ġmotor cycle", + "_ fee", + "_f ee", + "_fe e", + "Ġabs orb", + "Ġabsor b", + "ĠVin cent", + "ĠVince nt", + "Ġs ounded", + "Ġso unded", + "Ġsound ed", + "ÃŃ st", + "ÃŃs t", + "Ġpharm aceutical", + "h tag", + "ht ag", + "hta g", + "ĠK indle", + "ĠKind le", + "ĠKin dle", + "ital ize", + "ĠEm peror", + "ous tic", + "oust ic", + "Ġspecial ists", + "Ġspecialist s", + "åħ ¬", + "Border Style", + "/ \\", + "RE LATED", + "REL ATED", + "(' ,',", + "(', ',", + "(',' ,", + "( expr", + "(ex pr", + "(exp r", + "Ġ ht", + "Ġh t", + "åį Ī", + "_ Create", + "_C reate", + "Ġs pecially", + "Ġspec ially", + "Ġspecial ly", + "Ġspeci ally", + "Ġ [];čĊ", + "Ġ[ ];čĊ", + "Ġ[] ;čĊ", + "Ġ[]; čĊ", + "Ġ heel", + "Ġh eel", + "Ġhe el", + "Ġs ept", + "Ġse pt", + "Ġsep t", + "_ arch", + "_a rch", + "_ar ch", + "_arc h", + "( initial", + "(in itial", + "(init ial", + "% .ĊĊ", + "%. ĊĊ", + "%.Ċ Ċ", + "\\\" ,\\\"", + "\\\", \\\"", + "\\\",\\ \"", + "Ġdisc usses", + "Ġdiscuss es", + "Ġ upt", + "Ġu pt", + "Ġup t", + "Ġ[ &", + "Ġm anus", + "Ġman us", + ". hand", + ".h and", + "Ġ MAIN", + "ĠM AIN", + "ĠMA IN", + "ĠDen mark", + "Ġ ],čĊ", + "Ġ] ,čĊ", + "Ġ], čĊ", + "Ġcr yst", + "Ġcry st", + "Ġn ack", + "Ġna ck", + "Co ords", + "Coord s", + "_ inner", + "_in ner", + "Ġmid st", + "Ġmi dst", + "Ġa wake", + "Ġaw ake", + "Ġ Ðŀ", + "ĠÐ ŀ", + "- break", + "-b reak", + "-bre ak", + "ÃŃ vel", + "ÃŃv el", + "_ PASS", + "_P ASS", + "_PA SS", + "Ġ Params", + "ĠPar ams", + "ĠParam s", + "ĠPa rams", + "ĠPara ms", + "Ġd etr", + "Ġde tr", + "Ġdet r", + "Ġsp ider", + "Ġspi der", + "Ġ Concept", + "ĠCon cept", + "ĠConc ept", + "ĠConce pt", + "Ġ prend", + "Ġp rend", + "Ġpr end", + "Ġpre nd", + "CH ED", + "CHE D", + ". Exit", + ".Ex it", + ".E xit", + "Ġpop ulated", + "Ġpopulate d", + "Ġpopul ated", + "Ġvirt ue", + "_ SESSION", + "_SE SSION", + "Ġnou vel", + "Ġnouve l", + "o auth", + "oa uth", + "Ġд аннÑĭ", + "Ġдан нÑĭ", + "r ink", + "ri nk", + "rin k", + ". HeaderText", + ".Header Text", + "atur ated", + "atura ted", + "atu rated", + "Ġe rst", + "Ġer st", + "Ġers t", + "Ġ åħ", + "Ġå ħ", + "ॠĩ", + "_ visible", + "_v isible", + "_vis ible", + "e yer", + "ey er", + "eye r", + "Ġ liable", + "Ġl iable", + "Ġli able", + "Ġlia ble", + "Ġd ebe", + "Ġde be", + "Ġdeb e", + "Ġ bw", + "Ġb w", + "{- #", + "_ WIN", + "_W IN", + "d fs", + "df s", + "H over", + "Ho ver", + "Ġ PUT", + "ĠP UT", + "ĠPU T", + "- angle", + "-a ngle", + "-an gle", + "Ġn oble", + "Ġno ble", + "Ġnob le", + "Ġtr aces", + "Ġtra ces", + "Ġtrace s", + "en cv", + "enc v", + "Ġ userData", + "Ġuser Data", + "_ ins", + "_in s", + "_i ns", + "ĠS uz", + "ĠSu z", + "Ġnews letters", + "Ġnewsletter s", + "ĠM odi", + "ĠMod i", + "ĠMo di", + "Ġentreprene urs", + "Ġentrepreneur s", + "Ġ tribute", + "Ġtrib ute", + "Ġrum ors", + "Ġrumor s", + "Ġ rr", + "Ġr r", + "Ġ Quarter", + "ĠQu arter", + "ĠQuart er", + "ĠQuar ter", + "ê³ ł", + "Ġ feeds", + "Ġfe eds", + "Ġfeed s", + "Ġfee ds", + "ó g", + "Ġen velope", + "Ġenv elope", + "Ġenvelop e", + "Ġ lear", + "Ġl ear", + "Ġle ar", + "Ġk ø", + "de veloper", + "develop er", + "S imilar", + "Sim ilar", + ": \")Ċ", + ":\" )Ċ", + ":\") Ċ", + "sub scription", + "subs cription", + "Mod ifier", + "it alic", + "ital ic", + "ita lic", + "Ġn asty", + "Ġna sty", + "Ġnas ty", + "Ġnast y", + "Ġ termination", + "Ġter mination", + "Ġterm ination", + "Ġtermin ation", + "Ġch arming", + "Ġchar ming", + "Ġcharm ing", + "Ġ âŁ", + "Ġâ Ł", + "t ons", + "ton s", + "to ns", + ". trace", + ".t race", + ".tr ace", + "h ots", + "ho ts", + "hot s", + "Ġ UR", + "ĠU R", + "M ont", + "Mon t", + "Mo nt", + "Ġjust ified", + "ĠG ang", + "ĠGa ng", + "ĠGan g", + "i nea", + "in ea", + "ine a", + "Ġb og", + "Ġbo g", + "( ap", + "(a p", + "_ $", + "Ġcont amin", + "Ġconta min", + ". Dot", + ".D ot", + ".Do t", + "ĉ Debug", + "( exports", + "(ex ports", + "(exp orts", + "Ġ paired", + "Ġp aired", + "Ġpair ed", + "Ġpa ired", + "Ġpai red", + "Ġ Assignment", + "ĠAss ignment", + "ĠAssign ment", + "Ġauto mobile", + "Ġautom obile", + "ĵ į", + "Ġph ases", + "Ġphase s", + "Ġpha ses", + "v w", + "@ SuppressWarnings", + "= \\", + "r ant", + "ra nt", + "ran t", + "- ed", + "-e d", + "ĉ await", + "ĉa wait", + "Ġcert ificates", + "Ġcertificate s", + "Ġcertif icates", + "' >\"", + "'> \"", + "Ġint act", + "C TRL", + "CT RL", + "CTR L", + "M ike", + "Mi ke", + "g regation", + "greg ation", + "AT TERN", + "ATT ERN", + "ATTER N", + "Ġre public", + "Ġrep ublic", + "_ upper", + "_u pper", + "_up per", + "ili ary", + "iliar y", + "ilia ry", + "Ġcom putation", + "Ġcomp utation", + "Ġcomput ation", + "h ire", + "hi re", + "hir e", + "ĠS hin", + "ĠSh in", + "ĠShi n", + "_ ANY", + "_A NY", + "_AN Y", + "Ġ Manufacturer", + "ĠMan ufacturer", + "ĠManufact urer", + "ĠC arm", + "ĠCar m", + "ĠCa rm", + "Ġbear ings", + "Ġbearing s", + "_ comb", + "_c omb", + "_com b", + "_co mb", + "c ad", + "ca d", + "ur istic", + "Ġwh olesale", + "Ġwhole sale", + "Ġwholes ale", + "Ġd onor", + "Ġdo nor", + "Ġdon or", + ". interfaces", + ".inter faces", + ".interface s", + "pr esso", + "press o", + "pres so", + "Ġ Brun", + "ĠB run", + "ĠBr un", + "ĠBru n", + "- close", + "-c lose", + "-cl ose", + "p rove", + "pr ove", + "pro ve", + "prov e", + "_ SK", + "_S K", + "ĉ frame", + "ĉf rame", + "ĉfr ame", + "et ros", + "etro s", + "etr os", + "ĠP ain", + "ĠPa in", + "ĠPai n", + "_ EXP", + "_E XP", + "_EX P", + "Ġ LT", + "ĠL T", + "_ fs", + "_f s", + ". datas", + ".d atas", + ".data s", + ".dat as", + ".da tas", + "ĉ ss", + "ĉs s", + "v oir", + "vo ir", + "Ġ Axis", + "ĠA xis", + "ĠAx is", + "M ajor", + "= \"<", + "=\" <", + "[ h", + "Ġprof ess", + "Ġprofes s", + "ig rate", + "igr ate", + "( score", + "(s core", + "(sc ore", + "Key word", + "\" os", + "ĠĠ ĠĠĉĊ", + "ĠĠĠĠ ĉĊ", + "ĠĠĠ ĠĉĊ", + "ĠĠĠĠĉ Ċ", + "an alysis", + "analy sis", + "anal ysis", + "Ġre play", + "Ġrep lay", + "Ġrepl ay", + ". pass", + ".p ass", + ".pa ss", + "\\ d", + "t ls", + "tl s", + "Ġsan ct", + ". light", + ".l ight", + ".li ght", + "_ mobile", + "_m obile", + "_mob ile", + "Ñģ ÑĤÑĮ", + "ÑģÑĤ ÑĮ", + "ĉ total", + "ĉt otal", + "ĉto tal", + "u ity", + "ui ty", + "uit y", + "Ġ paused", + "Ġpa used", + "Ġpause d", + "Ġpau sed", + "N AS", + "NA S", + "Ġen core", + "Ġenc ore", + "l oe", + "lo e", + "Ġ-* -ĊĊ", + "Ġ-*- ĊĊ", + "Ġ-*-Ċ Ċ", + ". high", + ".h igh", + "am pler", + "amp ler", + "ample r", + "Ġ Secure", + "ĠS ecure", + "ĠSec ure", + "Ġf ragments", + "Ġfra gments", + "Ġfrag ments", + "Ġfragment s", + "_ vel", + "_v el", + "_ve l", + "ill ary", + "illa ry", + "ĠS tein", + "ĠSt ein", + "ĠSte in", + "ĠD awn", + "ĠDa wn", + "ĠDaw n", + "Ġmax imize", + "Ġmaxim ize", + "ภ¢", + "Ġ /^", + "Ġ/ ^", + "Ġcontin ually", + "Ġcontinu ally", + "Ġcontinual ly", + "Ġsh adows", + "Ġshadow s", + "ĉ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠI ActionResult", + "Ġinform ación", + "C HECK", + "CHE CK", + ". SelectedItem", + ".Selected Item", + "b undle", + "ol ley", + "oll ey", + "olle y", + "< Int", + "<", + "\\\" ><", + "\\\"> <", + "Ġ trajectory", + "Ġtra jectory", + "_ ring", + "_r ing", + "Ġhydro gen", + "Ġhydr ogen", + "t ron", + "tr on", + "tro n", + "Ġstat ute", + "Ġ conditional", + "Ġcondition al", + "Ġcond itional", + "Ġt ray", + "Ġtr ay", + "Ġtra y", + "- school", + "-s chool", + "( widget", + "(w idget", + "$ config", + "$con fig", + "Ġrequest ing", + "Ġrequ esting", + ". uint", + ".ui nt", + ".u int", + "e ton", + "et on", + "eto n", + "br ities", + "brit ies", + "Of Type", + "A DMIN", + "AD MIN", + "ADM IN", + "p redict", + "pre dict", + "pred ict", + "Ġg egen", + "Ġge gen", + "Ġgeg en", + "ĠH app", + "ĠHa pp", + "OC UMENT", + "Ġ Apart", + "ĠA part", + "ĠAp art", + "Ġ -----", + "Ġ- ----", + "Ġ-- ---", + "Ġ---- -", + "Ġ--- --", + "r oe", + "ro e", + "u ide", + "ui de", + "uid e", + "just ify", + "ĠS quad", + "ĠSqu ad", + "Ġprof es", + ". bot", + ".b ot", + ".bo t", + "_ currency", + "_c urrency", + "_curr ency", + "i nnen", + "in nen", + "inn en", + "inne n", + "ĠM umbai", + "ĠMum bai", + "Ġ Numbers", + "ĠNumber s", + "ĠNum bers", + "avana ugh", + "agn itude", + "âĢľ There", + "âĢľThe re", + "= http", + "=h ttp", + "çī ĩ", + "Ġ vb", + "Ġv b", + "+ '{{$", + "\"> {{$", + "\">{{ $", + "\">{ {$", + "Ġ inode", + "Ġin ode", + "Ġi node", + "s il", + "si l", + "Ġh ace", + "Ġha ce", + "Ġhac e", + "Ġsever ely", + "Ġsevere ly", + "Ġ Overview", + "ĠOver view", + "ĠOv erview", + "Ġsp raw", + "Ġspr aw", + "Ġbe aches", + "Ġbeach es", + ": left", + ":l eft", + "· »", + "( ${", + "($ {", + "Ġ FIRST", + "ĠF IRST", + "ĠFIR ST", + "ĠS pa", + "ĠSp a", + "- ass", + "-a ss", + "-as s", + "Ġb aise", + "Ġba ise", + "Ġbais e", + "Ġ NODE", + "ĠN ODE", + "ĠNO DE", + "Ġ Pizza", + "ĠP izza", + "ĠPi zza", + "P et", + "Pe t", + "( seq", + "(s eq", + "(se q", + "\\ \">Ċ", + "\\\" >Ċ", + "\\\"> Ċ", + "CppMethod Pointer", + "Ġ vp", + "Ġv p", + "Ġ ia", + "Ġi a", + "_ seconds", + "_se conds", + "_sec onds", + "_second s", + "e met", + "em et", + "eme t", + "/ blob", + "/b lob", + "/bl ob", + "_TH RESH", + ".. .čĊ", + "... čĊ", + "D est", + "De st", + "Des t", + "Ġ NH", + "ĠN H", + ". dataSource", + ".data Source", + "it és", + "ité s", + "Ġ Jak", + "ĠJ ak", + "ĠJa k", + "s ell", + "se ll", + "sel l", + "Ġwork shops", + "Ġworkshop s", + "< u", + "Ġr ivals", + "Ġrival s", + "Ġri vals", + "Ġriv als", + "ĠEX ISTS", + "h om", + "ho m", + "- token", + "-t oken", + "-to ken", + "com patible", + "compat ible", + ".J Panel", + "Ġphys icians", + "Ġphysician s", + "Ġphysic ians", + "ar tin", + "art in", + "arti n", + "Ġdes irable", + "Ġdistinct ive", + ". Dep", + ".D ep", + ".De p", + "g id", + "gi d", + "il iate", + "ili ate", + "ilia te", + ", max", + ",m ax", + "Ġprem iere", + "Ġpremier e", + "Ġpremi ere", + "Ġq Debug", + "Ġadvoc acy", + "Ġwh isper", + "P t", + "Ġun changed", + "_ qty", + "_q ty", + "请 æ±Ĥ", + "Se ason", + "Sea son", + "ave length", + "avel ength", + "ĠP ul", + "ĠPu l", + "Ġd ÃŃa", + "ĠdÃŃ a", + "'] ]],Ċ", + "']] ],Ċ", + "a lis", + "al is", + "ali s", + "( \"&", + "(\" &", + "b oro", + "bo ro", + "bor o", + "Ġ bm", + "Ġb m", + "Ġ Radi", + "ĠR adi", + "ĠRa di", + "ĠRad i", + "w rong", + "wr ong", + "Ġ Going", + "ĠGo ing", + "ime Type", + "i ji", + "ij i", + "- feedback", + "-fe edback", + "-feed back", + "Ġ Names", + "ĠN ames", + "ĠName s", + "ĠNa mes", + "ĠNam es", + "ĠB apt", + "ĠBa pt", + "Ġpro bable", + "Ġprob able", + "Ġ Ether", + "ĠE ther", + "ĠEth er", + "ĠEt her", + "Ġ Politics", + "ĠPol itics", + "ĠPolit ics", + "_ protocol", + "_prot ocol", + "_proto col", + "l ining", + "li ning", + "lin ing", + "S at", + "Sa t", + "Ġcor rel", + "Ġcorre l", + "Ġcorr el", + ". Primary", + ".Pr imary", + "( nullable", + "(null able", + "RI ORITY", + "Ġcol oring", + "Ġcolor ing", + "Ġutil izing", + "Ġutiliz ing", + "d as", + "da s", + "Ġex ported", + "Ġexp orted", + "Ġexport ed", + "Ġcar riers", + "Ġcarrier s", + "Ġcarr iers", + "Con v", + "Co nv", + ". editor", + ".e ditor", + ".ed itor", + ".edit or", + "i ó", + "( handles", + "(h andles", + "(handle s", + "(hand les", + "Ġapprec iation", + ". import", + ".im port", + ".imp ort", + "ĠA ustria", + "ĠAust ria", + "ĠAustr ia", + "Ġ Strip", + "ĠS trip", + "ĠSt rip", + "ĠStr ip", + "i light", + "il ight", + "ili ght", + "ilig ht", + "Ġappropri ately", + "Ġappropriate ly", + "ĠP rest", + "ĠPr est", + "ĠPres t", + "ĠPre st", + "Ġ Wir", + "ĠW ir", + "ĠWi r", + "Ġ UIApplication", + "ĠUI Application", + "al chemy", + "Ġ Mob", + "ĠM ob", + "ĠMo b", + "Ġ Determin", + "ĠD etermin", + "ĠDe termin", + "ergus on", + "register ed", + "regist ered", + "_ convert", + "_con vert", + "_conv ert", + "ĠVlad imir", + "ĠVladim ir", + ".Show Dialog", + "ref lect", + "Ġs hook", + "Ġsh ook", + "Ġsho ok", + "Ġas sure", + "Ġass ure", + "Ġ Often", + "ĠO ften", + "ĠOf ten", + "Ġcivil ization", + "Ġv ocabulary", + "Ġvocab ulary", + "fore ground", + "Ġ Scope", + "ĠS cope", + "ĠSc ope", + "ĠSco pe", + "Ġun wanted", + "Ġunw anted", + "act ing", + "ac ting", + "Ġ ([]", + "Ġ( []", + "Ġ([ ]", + "Ġm arking", + "Ġmark ing", + "Ġmar king", + ". original", + ".origin al", + ".or iginal", + ".orig inal", + "Ġ MOVE", + "ĠM OVE", + "ĠMO VE", + "ĠMOV E", + "Ġsp orting", + "Ġsport ing", + "Ġspor ting", + "ce ptions", + "ception s", + "cept ions", + "NS Number", + "S izes", + "Size s", + "Si zes", + "Ġpro vincial", + "Ġprovinc ial", + "Ġprovincia l", + "_ Trans", + "_T rans", + "_Tr ans", + "Ġproble matic", + "Ġproblem atic", + "Ġproblema tic", + "Ġprobl ematic", + "d igit", + "di git", + "dig it", + "Ġ Emma", + "ĠE mma", + "ĠEm ma", + "ĠEmm a", + "l ocks", + "lo cks", + "lock s", + "loc ks", + "ĠC rew", + "ĠCr ew", + "ĠCre w", + "i ba", + "ib a", + "' ):", + "') :", + "i sha", + "is ha", + "ish a", + "Ġm amm", + "Ġma mm", + "Ġmam m", + "Ġocc ured", + "Ġoccur ed", + "w cs", + "wc s", + "( rule", + "(r ule", + "Ġmerch andise", + "es pecially", + "ĠT win", + "ĠTw in", + "Ġn aming", + "Ġna ming", + "Ġnam ing", + "Ġs log", + "Ġsl og", + "Ġslo g", + "Ġimpro ves", + "Ġimprove s", + "Ġimpr oves", + "Ġimprov es", + "Ġad her", + ": text", + ":t ext", + ".h adoop", + "_ HTTP", + "_HT TP", + ". toList", + ".to List", + ". disabled", + ".dis abled", + ".disable d", + "Ġl enses", + "Ġlen ses", + "Ġlens es", + ". ini", + ".in i", + ".i ni", + "Ġ Rare", + "ĠR are", + "ĠRa re", + "Ġ Ubuntu", + "ĠUb untu", + "Ġsc ram", + "Ġscr am", + "o lation", + "ol ation", + "ola tion", + "t itulo", + "tit ulo", + "Every thing", + "Ġnod ded", + "icht ig", + "_ constant", + "_con stant", + "_const ant", + "_cons tant", + "z c", + "l ift", + "li ft", + "lif t", + "Ġ Notify", + "ĠN otify", + "ĠNot ify", + "o ndo", + "on do", + "ond o", + "Ġ INF", + "ĠI NF", + "ĠIN F", + "( \"+", + "(\" +", + "ĠK az", + "ĠKa z", + "Ġd read", + "Ġdr ead", + "Ġdre ad", + ". mapper", + ".m apper", + ".map per", + ".ma pper", + "l eur", + "le ur", + "ĠCom ey", + "ĠCo mey", + "ĠCome y", + "Ġ NB", + "ĠN B", + "i cers", + "ic ers", + "ice rs", + "icer s", + ". Push", + ".P ush", + "Ġ Hack", + "ĠH ack", + "ĠHa ck", + "ĠBrazil ian", + "ĠBraz ilian", + "_ prod", + "_p rod", + "_pro d", + "_pr od", + "Ġ //ĊĊ", + "Ġ// ĊĊ", + "Ġ/ /ĊĊ", + "Ġ//Ċ Ċ", + "Ġb icycle", + "Ġbi cycle", + "Ġbicy cle", + "Ġbic ycle", + "Ġun available", + "Ġuna vailable", + "Ġadoles cent", + "b lk", + "bl k", + "Ġmit ig", + "_ blue", + "_b lue", + "_bl ue", + "ì ĺ", + "fade In", + "Ġ Utilities", + "ĠUtil ities", + "ĠUt ilities", + "Ġ MN", + "ĠM N", + "; k", + "< style", + "- status", + "-s tatus", + "-st atus", + "-stat us", + "i ndo", + "in do", + "ind o", + "Ġin nings", + "Ġinn ings", + "Ġinning s", + "Ġg j", + "Ġ| |=", + "Ġ|| =", + ". eu", + ".e u", + ": Number", + ":N umber", + "Ġc uisine", + "Ġcu isine", + "Ġcuis ine", + "ĠURL s", + "i ek", + "ie k", + "Ġw ires", + "Ġwire s", + "Ġwir es", + "Ġwi res", + "ĉ ps", + "ĉp s", + "i eg", + "ie g", + ". mk", + ".m k", + "so ap", + "Ġsome time", + "Ġsom etime", + "Ġs tap", + "Ġst ap", + "Ġsta p", + "_ series", + "_s eries", + "_se ries", + "_ser ies", + ". Target", + ".T arget", + "æ º", + ". destination", + ".d estination", + ".dest ination", + "OUN TER", + "OUNT ER", + "R aises", + "Ra ises", + "Raise s", + "& A", + "Ġsmart phones", + "Ġsmartphone s", + "NI Env", + ". sdk", + ".s dk", + ".sd k", + "Ġhel icopter", + "Ġhelicopt er", + "Ġim pe", + "Ġimp e", + "Ġ Birth", + "ĠB irth", + "ĠBir th", + "A U", + "b readcrumbs", + "breadcrumb s", + "co ords", + "coord s", + "Ġexpl ored", + "Ġexplo red", + "Ġexplore d", + "Ġexplor ed", + "Ġ lod", + "Ġl od", + "Ġlo d", + "Ġ Ip", + "ĠI p", + "g able", + "ga ble", + "i ane", + "ia ne", + "ian e", + "Ġart ifacts", + "Ġartifact s", + "Box Layout", + "ا ر", + "Ø§Ø ±", + "list ener", + "listen er", + "lis tener", + "liste ner", + ". cart", + ".c art", + ".ca rt", + ".car t", + "ĠH uff", + "ĠHu ff", + "ĠHind u", + "ĠHin du", + "ĠData Types", + "ĠDataType s", + "Ġ Drupal", + "ĠDr upal", + "IGN ORE", + "Ġoff sets", + "Ġoffset s", + "Ġoffs ets", + "Ġ RTC", + "ĠR TC", + "ĠRT C", + "- login", + "-lo gin", + "-log in", + "æ ®", + "Ġ QObject", + "ĠQ Object", + "Ġprosec utor", + "R ock", + "Ro ck", + "_ chat", + "_c hat", + "_ch at", + "W ay", + "Wa y", + "ì ²", + "Ġneg lig", + "Ġd ude", + "Ġdu de", + "; <", + "Ġde legates", + "Ġdelegate s", + "Ġdeleg ates", + "_ failed", + "_f ailed", + "_fail ed", + "_fa iled", + "/ dev", + "/d ev", + "/de v", + "/ work", + "/w ork", + "( New", + "(N ew", + "e table", + "et able", + "eta ble", + "( )\"", + "() \"", + "( Icons", + "(I cons", + "Ġp ork", + "Ġpo rk", + "Ġpor k", + "ĠModel AndView", + "Ġ VIP", + "ĠV IP", + "ĠVI P", + "ĠK or", + "ĠKo r", + "m ix", + "mi x", + "Ġ oxid", + "Ġox id", + "Ġ SCREEN", + "ĠS CREEN", + "ĠSC REEN", + "Ġ Fourth", + "ĠFour th", + "/ \",Ċ", + "/\" ,Ċ", + "/\", Ċ", + "Ġ tee", + "Ġt ee", + "Ġte e", + "ĠSte vens", + "ĠSteve ns", + "ĠSteven s", + "t icks", + "ti cks", + "tic ks", + "tick s", + "Ġp ledge", + "Ġpl edge", + "Ġple dge", + "Ġpled ge", + "ib bon", + "Ġ Loan", + "ĠLo an", + "Ġ neo", + "Ġn eo", + "Ġne o", + "n umpy", + "num py", + "Ġ SharedPreferences", + "ĠShared Preferences", + "- oriented", + "ĠLogger Factory", + "Ġ GraphQL", + "ĠGraph QL", + "z enia", + "ze nia", + "zen ia", + "\" _", + "W omen", + "Wo men", + ". cast", + ".c ast", + ".ca st", + "Ġdeliber ately", + "Ġdeliberate ly", + "+ b", + "Ġ Arn", + "ĠA rn", + "ĠAr n", + "font Size", + "Ġ maze", + "Ġm aze", + "Ġma ze", + "Ġmaz e", + "Ġbl amed", + "Ġblame d", + "Ġbla med", + ". mas", + ".m as", + ".ma s", + "} )čĊ", + "}) čĊ", + "eler ik", + "ele rik", + "eleri k", + "Ġsc anning", + "Ġscan ning", + "ĠWork shop", + "ĠWorks hop", + "Ġf inden", + "Ġfind en", + "Ġfin den", + "Ġfinde n", + "Ġc aut", + "Ġca ut", + "UI Font", + "( return", + "(r eturn", + "(re turn", + "(ret urn", + "a lin", + "al in", + "ali n", + "c astle", + "cast le", + "cas tle", + "//// ////////////////////////////////////////////////////////////////////", + "//////// ////////////////////////////////////////////////////////////////", + "//////////////// ////////////////////////////////////////////////////////", + "//////////////////////////////////////////////////////////////// ////////", + "//////////// ////////////////////////////////////////////////////////////", + "//////////////////////////////////////////////////////////////////// ////", + "//////////////////////////////////////////////////////// ////////////////", + "//////////////////////////////////////////////////////////// ////////////", + "Ġincent ive", + "Ġincentiv e", + "o path", + "op ath", + "opa th", + "b lob", + "bl ob", + "blo b", + "Ġcigaret te", + "Ġcigar ette", + "Ġf ertil", + "Ġfer til", + "Ġfert il", + "* /ĊĊĊ", + "*/ ĊĊĊ", + "*/Ċ ĊĊ", + "*/ĊĊ Ċ", + "Ġ Shar", + "ĠS har", + "ĠSh ar", + "ĠSha r", + "Ċ ĠĠĠĠĠĠĊ", + "Ġunc ertain", + "Ġuncert ain", + "ĠS ton", + "ĠSt on", + "ĠSto n", + "Oper ations", + "Operation s", + "ĠSp encer", + "Ġde fin", + "Ġdef in", + "Ġ Solo", + "ĠS olo", + "ĠSo lo", + "ĠSol o", + "o nest", + "on est", + "one st", + "ones t", + "·» åĬł", + "Ġu omo", + "Ġuom o", + "G ive", + "Gi ve", + "Ġden tro", + "Ġdent ro", + "; padding", + ";p adding", + "ent ai", + "enta i", + "Ġ Cars", + "ĠC ars", + "ĠCar s", + "ĠCa rs", + "Ġenthus iasm", + "Ġenthusi asm", + "Ġ Operating", + "ĠOper ating", + "ĠOpera ting", + "S kip", + "Sk ip", + "par ation", + "pa ration", + "para tion", + "Ġprot ects", + "Ġprote cts", + "Ġprotect s", + "Ġre ver", + "Ġr ever", + "Ġrev er", + "Ġreve r", + "d g", + "ĠC incinnati", + "Ġconsect etur", + "Ġm uss", + "Ġmus s", + "Ġmu ss", + "employ ed", + "a uses", + "au ses", + "ause s", + "aus es", + "in kle", + "ink le", + ". Values", + ".Value s", + ".Val ues", + "£ ¼", + "l ov", + "lo v", + "_ WARN", + "_W ARN", + "Ġ bookmark", + "Ġbook mark", + "Ġ Apollo", + "ĠA pollo", + "ĠAp ollo", + ". axis", + ".a xis", + ".ax is", + "Ġm ét", + "Ġmé t", + "Ġop ener", + "Ġopen er", + "Ġt umor", + "Ġtu mor", + "Ġtum or", + "d an", + "da n", + "Ġelement ary", + "Ġsk ipped", + "Ġskip ped", + "Ġski pped", + "ĠK er", + "ĠKe r", + "as ia", + "asi a", + "_ resp", + "_re sp", + "_r esp", + "_res p", + "Ġde mol", + "Ġdem ol", + "Ġdemo l", + "ĠCan adians", + "ĠCanadian s", + "Ġt astes", + "Ġtaste s", + "Ġtas tes", + "Ġtast es", + "U Integer", + "UInt eger", + "Ġ' ${", + "Ġ'$ {", + ". aws", + ".a ws", + ".aw s", + "R OID", + "RO ID", + "ROI D", + "r ians", + "ri ans", + "ria ns", + "rian s", + "M Q", + "ord able", + "orda ble", + "Ġcou sin", + "Ġcous in", + "Prop agation", + "( Session", + "(S ession", + "p halt", + "ph alt", + "pha lt", + "U LD", + "UL D", + "Ġ Scalar", + "ĠS calar", + "ĠSc alar", + "ĠScala r", + "ĠScal ar", + "Ġblood y", + "Ġblo ody", + "Ġ à¦", + "Ġà ¦", + ". mask", + ".m ask", + ".mas k", + ".ma sk", + ", q", + "Ġ Units", + "ĠUn its", + "ĠUnit s", + "ĠUni ts", + "Ġcent res", + "Ġcentre s", + "Ġcentr es", + "Ġcen tres", + "Ġ Prim", + "ĠP rim", + "ĠPr im", + "ĠPri m", + ". ]ĊĊ", + ".] ĊĊ", + "ĠSh aw", + "ĠSha w", + "P rom", + "Pro m", + "Pr om", + "Ġ Thought", + "ĠTh ought", + "ĠThough t", + "ĠThou ght", + "Check er", + "Che cker", + "_ outputs", + "_out puts", + "_output s", + "( chan", + "(c han", + "(ch an", + "E INVAL", + "Ġ bob", + "Ġb ob", + "Ġbo b", + "_ cmp", + "_c mp", + "_cm p", + "P ed", + "Pe d", + "Ġmat rices", + "Ġvrou wen", + "Ġvrouw en", + "Ġgenu inely", + "Ġgenuine ly", + "high light", + "( display", + "(d isplay", + "(dis play", + ") !=", + ")! =", + "Ġde licate", + "Ġdel icate", + "Ġdelic ate", + "ĠL uther", + "ĠLu ther", + "ĠM iles", + "ĠMil es", + "ĠMi les", + "ĠMile s", + "Ġ userID", + "Ġuser ID", + "% =", + "at eurs", + "ate urs", + "ateur s", + "_ BUF", + "_B UF", + "_BU F", + "- ------Ċ", + "-- -----Ċ", + "---- ---Ċ", + "--- ----Ċ", + "----- --Ċ", + "------ -Ċ", + "------- Ċ", + "im itives", + "imit ives", + "imitive s", + "Ġsh elves", + "Ġshel ves", + "s low", + "sl ow", + "_ information", + "_in formation", + "L EG", + "LE G", + "W r", + ". forms", + ".for ms", + ".form s", + "c eland", + "ce land", + "cel and", + "cela nd", + "/ un", + "/u n", + ": &", + ". âĢĻĊĊ", + ".âĢĻ ĊĊ", + "= \"%", + "=\" %", + "Ġp rost", + "Ġpro st", + "Ġpr ost", + "Ġpros t", + "Ġ fontsize", + "Ġfont size", + "Ġfonts ize", + "u ción", + "uc ión", + "uci ón", + "g etic", + "get ic", + "ge tic", + "a mt", + "am t", + "= \".", + "=\" .", + "De cor", + "Dec or", + "B rit", + "Br it", + "Ġ\" \").", + "Ġ\"\" ).", + "Ġ\"\") .", + "Ġf ounding", + "Ġfound ing", + "Ġfo unding", + ". FileName", + ".File Name", + "Ġ Tier", + "ĠT ier", + "ĠTi er", + "ĠTie r", + "Ġdis close", + "Ġdisc lose", + "á m", + ". syn", + ".s yn", + ".sy n", + ". ViewHolder", + ".View Holder", + "lic ant", + "li cant", + "lica nt", + "_ stage", + "_st age", + "_sta ge", + "Mon day", + "Ġ deserialize", + "Ġde serialize", + "Ġdes erialize", + "t alk", + "ta lk", + "tal k", + "Ġtrad itionally", + "Ġtraditional ly", + "Ġtradition ally", + "æĢ ģ", + "Ø ®", + "L EX", + "LE X", + "Ġ eh", + "Ġe h", + "ĉ ROM", + "ĉR OM", + "Ġ {})Ċ", + "Ġ{ })Ċ", + "Ġ{} )Ċ", + "Ġ{}) Ċ", + "Question s", + "Quest ions", + "n cpy", + "nc py", + "Ġfix ing", + "Ġfi xing", + "к Ñĥ", + "_ Key", + "_K ey", + ": x", + "Ġ STRING", + "ĠST RING", + "ĠSTR ING", + "ĠÑĦ ай", + "ĉ left", + "ĉl eft", + "ĠB ench", + "ĠBen ch", + "el lij", + "ell ij", + "elli j", + "UR RED", + "URRE D", + "Ġ Diagram", + "ĠDi agram", + "ĠDia gram", + "} catch", + "/ time", + "/t ime", + "Ġ Missing", + "ĠM issing", + "ĠMiss ing", + "ĠMis sing", + "db name", + "Ġs ore", + "Ġso re", + "Ġsor e", + "ĠW alt", + "ĠWal t", + "ĠWa lt", + "ug ging", + "ugg ing", + "re present", + "rep resent", + "Ġ GS", + "ĠG S", + "ne ys", + "ney s", + "ĉ page", + "ĉp age", + "Ġvol can", + "( btn", + "(b tn", + "(bt n", + "Ġexceed s", + "Ġexce eds", + "Ġ erg", + "Ġe rg", + "Ġer g", + "Ġpi lots", + "Ġpil ots", + "Ġpilot s", + "ĠS ed", + "ĠSe d", + "ers ions", + "ersion s", + "Ġp atron", + "Ġpat ron", + "Ġpa tron", + "R V", + "/ top", + "/t op", + "/to p", + ". asset", + ".as set", + "_ cross", + "_c ross", + "_cr oss", + ". Editor", + ".E ditor", + ".Edit or", + ".Ed itor", + ". tb", + ".t b", + "Ġwel coming", + "S CREEN", + "SC REEN", + ") findViewById", + "C oder", + "Code r", + "Co der", + "Cod er", + " \",Ċ", + ">\" ,Ċ", + ">\", Ċ", + "_ Pin", + "_P in", + "u ese", + "ue se", + "ues e", + "Ġ overrides", + "Ġover rides", + "Ġoverride s", + "_ ready", + "_re ady", + "_read y", + "Ad vanced", + "Adv anced", + "Advance d", + "Ġ opi", + "Ġo pi", + "Ġop i", + "- cart", + "-c art", + "-car t", + "-ca rt", + "(\" /\",", + "(\"/ \",", + "ĠD eb", + "ĠDe b", + "C RY", + "CR Y", + "Ġ Vertical", + "ĠVer tical", + "ĠVert ical", + "Ġ OVER", + "ĠO VER", + "ĠOV ER", + "Ġ Corporate", + "ĠCor porate", + "ĠCorpor ate", + "ĠCorp orate", + "Ġ\" \";", + "Ġ\"\" ;", + "Ġstep ping", + "Ġste pping", + "e j", + "Ġaccus ations", + "Ġaccusation s", + "Ġo raz", + "Ġor az", + "Ġora z", + "_ tail", + "_t ail", + "_ta il", + "Ġin duced", + "Ġind uced", + "Ġindu ced", + "Ġinduce d", + "Ġ elastic", + "Ġe lastic", + "Ġel astic", + "Ġelast ic", + "Ġbl own", + "Ġblow n", + "Ġblo wn", + ", //", + ",/ /", + "Ġback grounds", + "Ġbackground s", + "âĢĻ une", + "âĢĻun e", + "- sdk", + "-s dk", + "Ġset Interval", + "Ġincent ives", + "Ġincentive s", + "Ġincentiv es", + "Ġveget able", + "Ġveg etable", + "_ On", + "_O n", + "exp anded", + "expand ed", + "p ix", + "pi x", + "_ shader", + "_sh ader", + "_sha der", + "ĠSP DX", + "ĠSPD X", + "@ example", + "Ġ Wrapper", + "ĠW rapper", + "ĠWr apper", + "ĠWrap per", + ". Zero", + ".Z ero", + "Pos itive", + "Ġ spinner", + "Ġsp inner", + "Ġspin ner", + "Ġin vented", + "Ġinv ented", + "Ġinvent ed", + "ĠG ates", + "ĠGa tes", + "ĠGate s", + "ĠGat es", + "о ÑĤоÑĢ", + "оÑĤ оÑĢ", + "оÑĤо ÑĢ", + "Ġcompar isons", + "Ġcomparison s", + "è ·", + ". primary", + ".pr imary", + "data Provider", + "add itional", + "ĉ options", + "ĉo ptions", + "ĉopt ions", + "ĉoption s", + "s napshot", + "snap shot", + ".set Horizontal", + "Ġ\" {}", + "Ġ\"{ }", + "ĠF isher", + "ĠFish er", + "ĠFi sher", + "h alten", + "hal ten", + "halt en", + "< Type", + "", + "Ġ) ->", + "Ġ Registered", + "ĠRegister ed", + "IN ED", + "INE D", + "k al", + "ka l", + "par ison", + "Ġobj eto", + "Ġobjet o", + "V i", + "m anda", + "man da", + "ma nda", + "mand a", + "Ġren ewed", + "Ġrenew ed", + "ĠS of", + "ĠSo f", + "e ssel", + "es sel", + "ess el", + "esse l", + ".nd array", + "Ġ crap", + "Ġc rap", + "Ġcr ap", + "Ġcra p", + "ç® ¡", + ".abs path", + ".ab spath", + "( up", + "(u p", + "Ġclear ance", + "Ġ TW", + "ĠT W", + "_ COPY", + "_C OPY", + "_CO PY", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĉ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠĠ Ġĉ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĉ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĉ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĉ", + "Ġfor ests", + "Ġfore sts", + "Ġforest s", + "Ġfores ts", + "Ġarg uably", + "Ġ ASS", + "ĠA SS", + "ĠAS S", + "h ey", + "he y", + "a mel", + "am el", + "ame l", + "_ fore", + "_f ore", + "_for e", + "ĠSouth east", + "ĠSou theast", + "Ġab used", + "Ġabuse d", + "Ġpract icing", + "ake dirs", + "aked irs", + "ä¸ »", + "_ resources", + "_re sources", + "_res ources", + "_resource s", + "Ġ pond", + "Ġp ond", + "Ġpo nd", + "Ġpon d", + ". Fixed", + ".F ixed", + "Last Error", + "ĠPsych ology", + "ĠPsycho logy", + "Ġ\" //", + "Ġ\"/ /", + "! :", + "Re usable", + "Ġ mensaje", + "Ġm ensaje", + "Ġmens aje", + "Ġro spy", + "Ġros py", + "Ġ bour", + "Ġb our", + "Ġbo ur", + "Ġbou r", + "Ġvar ieties", + "Ġvari eties", + "Ġem path", + "Ġemp ath", + "( ({", + "(( {", + "_ org", + "_or g", + "_o rg", + "Ġ Mes", + "ĠM es", + "ĠMe s", + "Ġ Magento", + "ĠM agento", + "ĠMag ento", + "IST ORY", + "Un less", + "Ġh j", + "ĠD uty", + "ĠDu ty", + "ĠDut y", + "J un", + "Ju n", + ", size", + ",s ize", + "Ġpaint ings", + "Ġpain tings", + "Ġpainting s", + "Ġd ispens", + "Ġdisp ens", + "d art", + "da rt", + "dar t", + "Ġbehavior al", + "Ġ rpc", + "Ġr pc", + "Ġrp c", + "c alculate", + "cal culate", + "calc ulate", + "calcul ate", + "f ruit", + "fr uit", + "_ mm", + "_m m", + "ĉ pthread", + "ĉp thread", + "ĉpt hread", + "Max Length", + "Ġc urrencies", + "Ġcurr encies", + "_ capacity", + "_cap acity", + "ĠO z", + "Ġfire arm", + "Ġco efficient", + "Ġcoeff icient", + "Ġbank ruptcy", + "Ġbankrupt cy", + "w art", + "wa rt", + "war t", + "Ġfat igue", + "A VA", + "AV A", + "Ġe spa", + "Ġes pa", + "Ġesp a", + "_ pc", + "_p c", + "Ġ Quotes", + "ĠQu otes", + "ĠQuote s", + "_ LIGHT", + "_L IGHT", + "Ġ Tickets", + "ĠT ickets", + "ĠTicket s", + "ĠTick ets", + "Ġre lates", + "Ġrel ates", + "Ġrelate s", + "Ġrelat es", + "Ġpublish ers", + "Ġpublisher s", + "Ġun locked", + "Ġunlock ed", + "Ġunl ocked", + "Ġ //----------------------------------------------------------------", + "Ġ// ----------------------------------------------------------------", + "Ġ//------------------------------------------------ ----------------", + "Ġ//-------------------------------- --------------------------------", + "Ġ//---------------- ------------------------------------------------", + "Ġ InterruptedException", + "ĠInterrupt edException", + "Ġout look", + "r n", + "Ġreb els", + "Ġrebel s", + "W ritten", + "Wr itten", + "Ġa sian", + "Ġas ian", + "Ġasi an", + "Ġasia n", + "ot to", + "ott o", + "Ġ ĉĉĉĉ", + "Ġĉ ĉĉĉ", + "Ġĉĉ ĉĉ", + "Ġĉĉĉ ĉ", + "_ gpu", + "_g pu", + "_gp u", + "T xt", + "Tx t", + ". ImageView", + ".Image View", + "Ġs uis", + "Ġsu is", + "Ġsui s", + "_ tables", + "_t ables", + "_table s", + "_tab les", + "_ta bles", + ". RecyclerView", + ".Rec yclerView", + "Ġwhat soever", + "è ģ", + "] ++;Ċ", + "assert True", + "_ verify", + "_ver ify", + "ĠR ivers", + "ĠRiver s", + "ĠRiv ers", + "ĠRi vers", + "Ġ ][", + "Ġ] [", + "J et", + "Je t", + "id ian", + "idi an", + "idia n", + "S ibling", + "Si bling", + "Ġ genres", + "Ġgen res", + "Ġgenre s", + ". Access", + ".A ccess", + ".Ac cess", + ".Acc ess", + "O PS", + "OP S", + "Ġtr ivial", + "Ġtrivia l", + "ภª", + "a len", + "al en", + "ale n", + "в ед", + "ве д", + "ĠS word", + "ĠSw ord", + "Ġscrut iny", + "Ġscrutin y", + "( cb", + "(c b", + "Ġ commerce", + "Ġcom merce", + "Ġcomm erce", + "Ġcommerc e", + "Ġguarante es", + "Ġguarantee s", + "_ adv", + "_a dv", + "_ad v", + "Ġ LET", + "ĠL ET", + "ĠLE T", + "re cio", + "rec io", + "Ġh ilar", + "Ġhi lar", + "Ġhil ar", + "Ġback yard", + "ãĢ ı", + "Ġillustr ated", + "Ġillustrate d", + "Ġillust rated", + "/ vendor", + "/v endor", + ". Util", + ".U til", + "Ġ wow", + "Ġw ow", + "Ġwo w", + "LO Y", + "Ġ Marshal", + "ĠM arshal", + "ĠMar shal", + "ĠMars hal", + "ĠMarsh al", + "\" >'.$", + "\"> '.$", + "\">' .$", + "\">'. $", + "ĠB ak", + "ĠBa k", + "Ġ modifiers", + "Ġmod ifiers", + "Ġmodifier s", + "d ictionary", + "ĠS tre", + "ĠSt re", + "ĠStr e", + "m ultiple", + "mult iple", + "multi ple", + "multip le", + "\" )),", + "\") ),", + "\")) ,", + "ĠC ort", + "ĠCo rt", + "ĠCor t", + "' ]\").", + "'] \").", + "( admin", + "(ad min", + "Ġ Creator", + "ĠC reator", + "ĠCre ator", + "ĠCreat or", + "In ternet", + "Int ernet", + "Inter net", + "Intern et", + "( ms", + "(m s", + "l ogy", + "lo gy", + "log y", + "DECL ARE", + "Ġ Marcus", + "ĠMar cus", + "ĠMarc us", + "< <<<", + "<< <<", + "<<< <", + "ãģ ł", + "_ my", + "_m y", + "( inst", + "(i nst", + "(in st", + "(ins t", + "Ġsc iences", + "Ġscience s", + "Ġsci ences", + "N DER", + "ND ER", + ". enter", + ".en ter", + ".ent er", + "Ġ itu", + "Ġit u", + "Ġi tu", + "Ġbe have", + "Ġbeh ave", + "P an", + "Pa n", + "om bies", + "omb ies", + "ombie s", + "= '<", + "=' <", + "' ));čĊ", + "') );čĊ", + "')) ;čĊ", + "')); čĊ", + "Ġ MENU", + "ĠM ENU", + "ĠME NU", + "ĠMEN U", + "Ġ Workers", + "ĠWork ers", + "ĠWorker s", + "ĠWor kers", + ".No Error", + "Ġ bindings", + "Ġbin dings", + "Ġbind ings", + "Ġbinding s", + "Ġdis abilities", + "{ \\", + "ĠM unicip", + "ĠMun icip", + "Ġ cores", + "Ġc ores", + "Ġco res", + "Ġcor es", + "Ġcore s", + "ur ple", + "ĠN okia", + "us ions", + "usion s", + "usi ons", + "Ġ Fitness", + "ĠF itness", + "ĠFit ness", + ". handleChange", + ".handle Change", + "Ġ javascript", + "Ġj avascript", + "Ġjav ascript", + "Ġjava script", + "ìļ Ķ", + "( dec", + "(d ec", + "(de c", + "Ġ packing", + "Ġp acking", + "Ġpack ing", + "Ġpac king", + "- depend", + "-d epend", + "-de pend", + "Ġtrans cript", + "Ġtran script", + "z eros", + "ze ros", + "zer os", + "zero s", + "_ alert", + "_al ert", + "? \",Ċ", + "?\" ,Ċ", + "?\", Ċ", + "l ibs", + "li bs", + "lib s", + "± оÑĤ", + "Ġ |ĊĊ", + "Ġ| ĊĊ", + "Ġ|Ċ Ċ", + "tr ained", + "tra ined", + "train ed", + "ĠG ent", + "ĠGe nt", + "ĠGen t", + "ĠR ab", + "ĠRa b", + "x p", + "_ configuration", + "_config uration", + "å¤ ©", + "_ accept", + "_ac cept", + "_acc ept", + ".rec yclerview", + ": url", + "ĠMu hammad", + "ĠMuham mad", + "Ġpriv ileges", + "Ġprivile ges", + "Ġprivilege s", + "_ bank", + "_b ank", + "u ku", + "uk u", + "w allet", + "wall et", + "wal let", + "Ġ ROOT", + "ĠR OOT", + "ĠRO OT", + "Ġenc uent", + "? family", + "?f amily", + "ĉ position", + "ĉp osition", + "ĉpos ition", + "Ġ cg", + "Ġc g", + "Ġpre cip", + "Ġprec ip", + "method s", + "meth ods", + "_ fast", + "_f ast", + "_fa st", + "in crement", + "inc rement", + "incre ment", + "incr ement", + "ĠT iger", + "ĠTi ger", + "ĠTig er", + "_OCC URRED", + "qu ip", + "qui p", + "Ġ HAS", + "ĠH AS", + "ĠHA S", + "_ dom", + "_d om", + "_do m", + "Ġw reck", + "Ġwr eck", + "Ġwre ck", + "b j", + "Ġd ern", + "Ġde rn", + "Ġder n", + "Ġorg ans", + "Ġorgan s", + ". entries", + ".en tries", + ".ent ries", + "Ġ _('", + "Ġ_ ('", + "Ġ_( '", + "r amento", + "ram ento", + "Ġ Jamie", + "ĠJam ie", + "ĠJa mie", + "Ġ punk", + "Ġp unk", + "Ġpun k", + "Ġpu nk", + "I PP", + "IP P", + "Ġprogram a", + "Ġprog rama", + "Ġat tain", + "Ġatt ain", + "Ġpro ves", + "Ġpr oves", + "Ġprov es", + "Ġprove s", + "/ sign", + "/s ign", + "Ġanswer ing", + "Ġl adder", + "Ġlad der", + "**** ************************", + "******** ********************", + "**************** ************", + "************************ ****", + "******************** ********", + "************ ****************", + "************** **************", + "ĠW almart", + "ĠWal mart", + "Ġ CONTENT", + "ĠCONT ENT", + "d uctor", + "du ctor", + "duct or", + "duc tor", + "Ġver bal", + "Ġverb al", + "Ġ PID", + "ĠP ID", + "ĠPI D", + "c rypto", + "crypt o", + "cry pto", + "_CALL BACK", + "Ġ= ================================", + "Ġ================= ================", + "Ġp otent", + "Ġpo tent", + "Ġpot ent", + "Ġsh orts", + "Ġshort s", + "Ġsho rts", + ". Uri", + ".U ri", + ". uniform", + ".un iform", + ".uni form", + "; border", + ";b order", + "Ġ Wer", + "ĠW er", + "ĠWe r", + "Ġher ein", + "Ġhere in", + "l la", + "ll a", + "ĠI hr", + "ĠIh r", + "P ixmap", + "Pix map", + "l iteral", + "lit eral", + "lite ral", + "liter al", + "! )ĊĊ", + "!) ĊĊ", + "!)Ċ Ċ", + "g eneric", + "gen eric", + "gener ic", + "gene ric", + "r ust", + "ru st", + "rus t", + "_ scripts", + "_s cripts", + "_script s", + "o sto", + "os to", + "ost o", + "it us", + "itu s", + "ĠCoal ition", + "Ġre mot", + "Ġrem ot", + "de ploy", + "dep loy", + "ĠE agle", + "ĠEag le", + "ĠEa gle", + "ãĢģ ãĢĮ", + "Ġimport ante", + "Ġimportant e", + "ĉ object", + "ĉo bject", + "ĉobj ect", + "ĉob ject", + "Ġseason al", + "Ġseas onal", + "n ej", + "ne j", + "ai du", + "aid u", + "Bind View", + "ĠSi erra", + "- bg", + "-b g", + "Ġmake Styles", + "[ offset", + "[o ffset", + "G ames", + "Game s", + "Gam es", + "Ga mes", + "Ġhorm one", + "AR IO", + "ARI O", + "he ads", + "head s", + "hea ds", + "( select", + "(s elect", + "(se lect", + "(sel ect", + "Ġ Started", + "ĠStart ed", + "ĠStar ted", + "@ param", + "_ decl", + "_de cl", + "_dec l", + "_ blog", + "_b log", + "_bl og", + "Ġa ño", + "Ġañ o", + "\\ Api", + "ĠMil waukee", + "Pro vid", + "Pr ovid", + "Prov id", + "An imated", + "Anim ated", + "Animate d", + "Ġco oler", + "Ġcool er", + "Ġ Seed", + "ĠS eed", + "ĠSe ed", + "ĠSee d", + ". Edit", + ".E dit", + ".Ed it", + "Ï Ħ", + "Ġ Taking", + "ĠT aking", + "ĠTa king", + "ĠTak ing", + "Ġborder Color", + "-f ounder", + "-found er", + ".Logger Factory", + "Ġ\" \"ĊĊ", + "Ġ\"\" ĊĊ", + "Ġ\"\"Ċ Ċ", + "A LT", + "AL T", + "Ġ Late", + "ĠL ate", + "ĠLa te", + "ĠLat e", + "EDI ATE", + "EDIA TE", + "Ġ );ĊĊĊ", + "Ġ) ;ĊĊĊ", + "Ġ);Ċ ĊĊ", + "Ġ);ĊĊ Ċ", + "Ġ); ĊĊĊ", + "a fa", + "af a", + "Ġc ancellation", + "Ġcancel lation", + "Ġcancell ation", + "Ġcanc ellation", + "A tom", + "At om", + "ĠB irmingham", + "emp resa", + "empre sa", + "H EMA", + "HE MA", + "a scal", + "as cal", + "asc al", + "asca l", + "Ġup side", + "Ġups ide", + ". Version", + ".V ersion", + "Ġ Folder", + "ĠF older", + "ĠFo lder", + "ĠFol der", + "ĠFold er", + "Ġ Eight", + "ĠE ight", + "ĠEig ht", + "Ġ Vintage", + "ĠV intage", + "Ġ AppDelegate", + "ĠApp Delegate", + "ĠPre vention", + "ĠPrevent ion", + "ĠPrev ention", + ". separator", + ".s eparator", + ".se parator", + "S TM", + "ST M", + "( room", + "(r oom", + "(ro om", + "g enerator", + "gen erator", + "gener ator", + "Ġc attle", + "Ġcat tle", + "ĉ Z", + "Ġ Particle", + "ĠP article", + "ĠPart icle", + "ĠParti cle", + "' };Ċ", + "'} ;Ċ", + "Ġne ighbours", + "Ġneighb ours", + "Ġneighbour s", + "ĠState less", + "ĠStat eless", + "Ġ altitude", + "Ġalt itude", + "Ġs aint", + "Ġsa int", + "Ġsai nt", + "о бав", + "об ав", + "оба в", + "Ġcon vinc", + "Ġconv inc", + "Ġconvin c", + "Ġ Contents", + "ĠCont ents", + "ĠContent s", + "ĠConte nts", + "Ġje une", + "Ġjeu ne", + "( ts", + "(t s", + "S erialization", + "Serial ization", + "( collection", + "(c ollection", + "(col lection", + "(coll ection", + "ĠJ azz", + "ĠJa zz", + "Ġ Dod", + "ĠD od", + "ĠDo d", + "ĠR och", + "ĠRo ch", + "ĠRoc h", + "a cio", + "ac io", + "aci o", + "comm ended", + "commend ed", + "DE FINE", + "DEF INE", + ".on load", + "Ġspecial ty", + "Ġspeci alty", + "PL ACE", + "_ MOVE", + "_M OVE", + "_MO VE", + "_MOV E", + "Ġaccount able", + "Re uters", + "Ġf icken", + "Ġfi cken", + "Ġfic ken", + "Ġfick en", + "Ġde pr", + "Ġdep r", + "W ow", + "Wo w", + "V oid", + "Vo id", + ". space", + ".s pace", + ".sp ace", + "ภĹ", + "Ġt q", + "Ġ Pets", + "ĠP ets", + "ĠPe ts", + "ĠPet s", + "< $", + "( Current", + "(C urrent", + "ber ries", + "plan ation", + "pla nation", + "Ġlist Of", + "Ġ Thu", + "ĠT hu", + "ĠTh u", + "Ġ PRINT", + "ĠPR INT", + "ĠPRI NT", + "Ġm ismo", + "Ġmis mo", + "Ġmism o", + "Ġ doi", + "Ġd oi", + "Ġdo i", + "c hk", + "ch k", + "Ġ Unicode", + "ĠUn icode", + "ĠUni code", + "( role", + "(r ole", + "(ro le", + "Ġvir gin", + "< Point", + "

-->Ċ", + ">- ->Ċ", + ">-- >Ċ", + "V ol", + "Vo l", + "ĠS SD", + "ĠSS D", + ") )),", + ")) ),", + "))) ,", + ". Optional", + ".Option al", + "Ġn urses", + "Ġnur ses", + "Ġnurs es", + "Ġnurse s", + "Ġ orb", + "Ġo rb", + "Ġor b", + "_ pe", + "_p e", + ") ;čĊčĊčĊ", + ");čĊ čĊčĊ", + "); čĊčĊčĊ", + ");čĊčĊ čĊ", + "pl aced", + "place d", + "pla ced", + "es ser", + "ess er", + "esse r", + "Ġther apeutic", + "Ġwh itespace", + "Ġwhite space", + "Ġwhites pace", + "Ġ aston", + "Ġa ston", + "Ġas ton", + "Ġast on", + "Success ful", + "Ġp raised", + "Ġpr aised", + "Ġpraise d", + "Ġpra ised", + "ĠW es", + "ĠWe s", + "Ġe ighth", + "Ġeight h", + "i ral", + "ir al", + "ira l", + "Ġv rouw", + "Ġvrou w", + "Ġ faction", + "Ġf action", + "Ġfact ion", + "Ġfa ction", + "Ġfac tion", + "_ bias", + "_b ias", + "_bi as", + "Ġ witch", + "Ġw itch", + "Ġwit ch", + "Ġ npc", + "Ġn pc", + "Ġnp c", + "( sb", + "(s b", + "ĠRod rig", + "ĠRodr ig", + "_ big", + "_b ig", + "_bi g", + "D ependency", + "Dep endency", + "ĠAb raham", + "ar di", + "ard i", + "C AR", + "CA R", + "n os", + "no s", + "Ġab undance", + "Ġabund ance", + "Ġnut rients", + "Ġnutrient s", + "in stein", + "ins tein", + "inst ein", + ". Vert", + ".V ert", + ".Ver t", + "Ġ ISS", + "ĠI SS", + "ĠIS S", + "< U", + "Ġs ums", + "Ġsu ms", + "Ġsum s", + "_ hist", + "_h ist", + "_hi st", + "Ġfar mer", + "Ġfarm er", + "Ġ Abr", + "ĠA br", + "ĠAb r", + "S hot", + "Sh ot", + "Ġ BadRequest", + "ĠBad Request", + "Ġh ass", + "Ġhas s", + "Ġha ss", + "Ġ Rails", + "ĠR ails", + "ĠRa ils", + "ĠRail s", + "ĠRai ls", + "Ġaff iliated", + "Ġaffili ated", + "Ġaffiliate d", + "æĿ ¥", + "Ġe rf", + "Ġer f", + "I NF", + "IN F", + "Ġ ViewHolder", + "ĠView Holder", + "m ini", + "min i", + "mi ni", + "ĠR oth", + "ĠRo th", + "ĠRot h", + "Ġfaith ful", + "ĠPhill ips", + "ĠPhillip s", + "AN DOM", + "AND OM", + "] .[", + "]. [", + "_ PAY", + "_P AY", + "_PA Y", + "ĠAr ctic", + "ĠArc tic", + "f aker", + "fa ker", + "fake r", + "fak er", + "D igit", + "Di git", + "Dig it", + "M ale", + "Ma le", + "Mal e", + "std err", + "se ys", + "sey s", + "Ġ Å¡", + "ĠÅ ¡", + "_ remote", + "_rem ote", + "l ique", + "li que", + "liqu e", + "Ġin def", + "Ġi ndef", + "Ġind ef", + "Ġinde f", + "ĠIndust ries", + "i tra", + "it ra", + "itr a", + "_ pairs", + "_p airs", + "_pair s", + "_pa irs", + "< iostream", + " D", + "Ġs ervlet", + "Ġserv let", + "bast ian", + "Ġ >&", + "Ġ> &", + "S ID", + "SI D", + "_ clk", + "_c lk", + "_cl k", + "Ġdi visions", + "Ġdiv isions", + "Ġdivision s", + "Ġdivis ions", + "} ',Ċ", + "}' ,Ċ", + "}', Ċ", + "Ġd ildo", + "Ġdil do", + "Ġpar ade", + "Ġpara de", + "Ġpa rade", + "Ġparad e", + "m ajor", + "maj or", + "Ġa board", + "Ġab oard", + "; ++", + "Ġ fusion", + "Ġf usion", + "Ġfus ion", + "\" },{\"", + "\"} ,{\"", + "\"}, {\"", + "ĠDialog Result", + "ĉ arr", + "ĉa rr", + "ĉar r", + "- em", + "-e m", + "_ nr", + "_n r", + "( handler", + "(h andler", + "(handle r", + "(hand ler", + ". NET", + ".N ET", + ".Xtra Reports", + "ĠSh ah", + "ĠSha h", + "Ġ Brief", + "ĠB rief", + "ĠBr ief", + "ĠBri ef", + "- ,", + "Ġ precio", + "Ġp recio", + "Ġpre cio", + "Ġprec io", + "ĉ ĉĉĠĠĠĠĠĠ", + "ĉĉ ĉĠĠĠĠĠĠ", + "ĉĉĉ ĠĠĠĠĠĠ", + "ĉĉĉĠĠĠ ĠĠĠ", + "ĉĉĉĠ ĠĠĠĠĠ", + "ĉĉĉĠĠ ĠĠĠĠ", + "ĉĉĉĠĠĠĠ ĠĠ", + "ĉĉĉĠĠĠĠĠ Ġ", + "Ġ tant", + "Ġt ant", + "Ġta nt", + "Ġtan t", + "ĠGr ande", + "ĠGrand e", + "ĠGran de", + "ĠGra nde", + "/ xml", + "/x ml", + "_ ICON", + "_I CON", + "_IC ON", + "ĠR etro", + "ĠRe tro", + "ĠRet ro", + "un que", + "Ġn ag", + "Ġna g", + "to Fixed", + "X L", + "Ġ declaring", + "Ġdecl aring", + "Ġdeclar ing", + "Ġ Concrete", + "ĠCon crete", + "ĠConc rete", + "Ġ Amazing", + "ĠAm azing", + "ĠAma zing", + "ĉprint k", + "Ġdeb ates", + "Ġdebate s", + "D ATED", + "DA TED", + "DATE D", + "DAT ED", + "Ġa esthetic", + "Ġaest hetic", + "Ġaes thetic", + "eme tery", + "emet ery", + "Routing Module", + "ĠNash ville", + "W AYS", + "WA YS", + "WAY S", + "Ġ wolf", + "Ġw olf", + "Ġwo lf", + "Ġwol f", + "Ġob servers", + "Ġobs ervers", + "Ġobserv ers", + "Ġobserver s", + "Ġobserve rs", + "O TA", + "OT A", + "an son", + "ans on", + "Ġ ea", + "Ġe a", + "Ġgreen house", + "ĵį ä½ľ", + "Ġst air", + "Ġsta ir", + "Ġimm igrant", + "Ġimmigr ant", + "_ apply", + "_app ly", + "_ap ply", + "pe are", + "pear e", + "ĠB loomberg", + "ĠBloom berg", + "_ PLAYER", + "_PL AYER", + "_PLAY ER", + "R esp", + "Re sp", + "Res p", + "æŃ £", + "Choose r", + "Cho oser", + "Ġ ICollection", + "ĠI Collection", + "ĠIC ollection", + "P eter", + "Pe ter", + "Pet er", + "Err o", + "Er ro", + ".detect Changes", + "M aps", + "Map s", + "Ma ps", + "Ġ squeeze", + "Ġs queeze", + "Ġsqueez e", + "ĠH omes", + "ĠHome s", + "ĠHom es", + "ĠHo mes", + "weg ian", + "Ġformat ting", + "Ġnegot iate", + "u ld", + "ul d", + "ĠN ep", + "ĠNe p", + "Ġ QB", + "ĠQ B", + "Ġeconom ies", + "Ġec onomies", + "Ġ */,", + "Ġ* /,", + "Ġ*/ ,", + "Ġred und", + "Ġredu nd", + "ĠA ber", + "ĠAb er", + "ĠAbe r", + ".IsNullOr WhiteSpace", + "yc led", + "ycle d", + "ycl ed", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "_ Sh", + "_S h", + "Ġs kept", + "Ġsk ept", + "Ġske pt", + "Ġre created", + "Ġrec reated", + "Ġrecre ated", + "Ġrecreate d", + "Ġ getType", + "Ġget Type", + "Ġm argins", + "Ġmargin s", + "Ġmarg ins", + "Ġcolon ial", + "ch arts", + "char ts", + "cha rts", + "chart s", + "/ /@", + "// @", + "Ġ processors", + "Ġprocess ors", + "Ġprocessor s", + "Ġprocesso rs", + "è¯ ´", + "b atis", + "bat is", + "æĦ ı", + "at orio", + "ator io", + "ato rio", + "atori o", + "ment ioned", + "mention ed", + "P atient", + "Pat ient", + "Ġp rey", + "Ġpr ey", + "Ġpre y", + "Check box", + "_ xpath", + "_x path", + ". skip", + ".s kip", + ".sk ip", + "ĠMor mon", + "ĠMorm on", + "ĠMemory Stream", + "CR EMENT", + "CRE MENT", + "Ġ ku", + "Ġk u", + "m eld", + "me ld", + "mel d", + "\\ Data", + "\\D ata", + "Ġ Kernel", + "ĠK ernel", + "ĠKer nel", + "ĠKern el", + "i ltr", + "il tr", + "ilt r", + "éĢ ģ", + "( profile", + "(pro file", + "(pr ofile", + "C arbon", + "Car bon", + "R OLE", + "RO LE", + "ROL E", + "( pl", + "(p l", + "] *(", + "]* (", + ". memory", + ".m emory", + ".mem ory", + ".memo ry", + "Ġme dal", + "Ġmed al", + "Ġ advisor", + "Ġad visor", + "Ġadv isor", + "Ġadvis or", + "it ät", + "itä t", + "Ġ hdr", + "Ġh dr", + "Ġhd r", + "ie rung", + "ier ung", + "Ġ Provides", + "ĠPro vides", + "ĠProvid es", + "ĠProvide s", + "ĠProv ides", + "( alpha", + "(al pha", + "Ġteen agers", + "Ġteenager s", + "Ġteenage rs", + "- parser", + "-p arser", + "-par ser", + "-parse r", + ". LatLng", + ".L atLng", + "] ()Ċ", + "]( )Ċ", + "]() Ċ", + "Ġfel ony", + "Ġfelon y", + "ĉĉĉ ĊĉĉĉĊ", + "ĉĉĉĊ ĉĉĉĊ", + "B OOK", + "BO OK", + "Ġ slash", + "Ġs lash", + "Ġsl ash", + "Ġsla sh", + "Ġ clearfix", + "Ġclear fix", + "ĠPro phet", + "ĠProp het", + "å® ¹", + "right ness", + "- fi", + "-f i", + ". kind", + ".k ind", + "er ton", + "ert on", + "erto n", + "J im", + "Ġmanip ulate", + "Ġ worksheet", + "Ġwork sheet", + "Ġworks heet", + "o lin", + "ol in", + "oli n", + "st ars", + "star s", + "sta rs", + "Ġ artifact", + "Ġart ifact", + "_ EMPTY", + "_EM PTY", + "_EMP TY", + "ĉ main", + "ĉm ain", + "--- ---------- ';", + ">' ;", + "Ġexp ressing", + "Ġexpress ing", + "Ġexpres sing", + "Ġ IQ", + "ĠI Q", + "Ġ Fact", + "ĠF act", + "ĠFac t", + "ĠFa ct", + "/************************************************************************ *******Ċ", + "/**************************************************************************** ***Ċ", + "_ mass", + "_m ass", + "_ma ss", + "_mas s", + ") ):", + ")) :", + "Ġcon dom", + "Ġcond om", + "Ġcondo m", + "Ġcreate State", + "ome town", + "omet own", + "Ġi rr", + "Ġir r", + "Ġ >(", + "Ġ> (", + "> B", + "it eration", + "ite ration", + "iter ation", + "ãĥ ª", + "Ġsh irts", + "Ġshirt s", + "ou nty", + "ount y", + "oun ty", + "- >$", + "-> $", + "_ SIGN", + "_S IGN", + "_SIG N", + "_SI GN", + "ĠD ale", + "ĠDa le", + "ĠDal e", + "Ġ jj", + "Ġj j", + "E asy", + "F re", + "Fr e", + "Ġ Ny", + "ĠN y", + "Ġ chlor", + "Ġch lor", + "m atched", + "match ed", + "mat ched", + "ĠG erm", + "ĠGe rm", + "ĠGer m", + "- UA", + "-U A", + "ĠN athan", + "ĠNa than", + "ĠNat han", + "ĠNath an", + "e ducation", + "educ ation", + "edu cation", + "- yard", + "-y ard", + "- che", + "-c he", + "-ch e", + "h ouses", + "ho uses", + "house s", + "hou ses", + "r itional", + "rit ional", + "rition al", + "Ġpro ximity", + "Ġprox imity", + "Ġdie sem", + "Ġdies em", + "Ġdiese m", + "áºŃ p", + "Ġd rought", + "Ġdr ought", + "Ġdro ught", + ". audio", + ".a udio", + ".au dio", + "Ġ Leo", + "ĠL eo", + "ĠLe o", + "Ġfavor able", + "Ġfav orable", + "in ch", + "inc h", + "ĠD aw", + "ĠDa w", + "r ibly", + "rib ly", + "_ student", + "_st udent", + "id able", + "ida ble", + "O VE", + "OV E", + "Ġl acks", + "Ġla cks", + "Ġlack s", + "Ġlac ks", + "oun cing", + "ounc ing", + ". business", + ".b usiness", + ".bus iness", + "Ġ reopen", + "Ġre open", + "m aybe", + "may be", + "_ GLOBAL", + "_G LOBAL", + "Ġd resses", + "Ġdr esses", + "Ġdress es", + "ĠEd wards", + "ĠEdward s", + "ens ible", + "ensi ble", + "Ġ Hardware", + "ĠH ardware", + "ĠHard ware", + "Ġ Excellent", + "ĠEx cellent", + "ĠExcell ent", + "ĠTime Unit", + "CT IONS", + "CTION S", + "Ġs chedules", + "Ġsched ules", + "Ġschedule s", + "Ġ segue", + "Ġse gue", + "Ġseg ue", + "Ġsegu e", + "Open s", + "Op ens", + "am men", + "amm en", + "- Identifier", + "Ġst aring", + "Ġstar ing", + "Ġsta ring", + "Ġhapp ily", + "ĠH ob", + "ĠHo b", + "' _", + "Ġ \");", + "Ġ\" );", + "Ġ\") ;", + "ament os", + "amento s", + "amen tos", + "et ched", + "etch ed", + "etc hed", + "Ġ/ >}Ċ", + "Ġ/> }Ċ", + "Ġ/>} Ċ", + ". Users", + ".User s", + ".Use rs", + "Ġint errupted", + "Ġinter rupted", + "Ġinterrupt ed", + "Cont acts", + "Contact s", + "Conta cts", + "Ġ registro", + "Ġreg istro", + "Ġregistr o", + "Ġregist ro", + "in burgh", + "C HA", + "CH A", + "_ imp", + "_i mp", + "_im p", + "p his", + "ph is", + "phi s", + "s ay", + "sa y", + "Ġret ailer", + "Ġretail er", + ". NODE", + ".N ODE", + ".NO DE", + "/ maps", + "/m aps", + "/map s", + "_ LAST", + "_L AST", + "_LA ST", + "Ġ Charge", + "ĠCh arge", + "ĠChar ge", + "ĠCharg e", + "_ guard", + "_g uard", + "C ollider", + "Col lider", + "Coll ider", + "ĠStateless Widget", + "\" :[\"", + "\": [\"", + "\":[ \"", + "(\" ../../", + "(\"../ ../", + "(\".. /../", + "i oxide", + "iox ide", + "ioxid e", + "ĠS und", + "ĠSun d", + "ĠSu nd", + "Ġ' ';", + "Ġ'' ;", + "un set", + "uns et", + "add Widget", + "л Ñİ", + "el les", + "ell es", + "elle s", + "al ker", + "alk er", + "A rc", + "Ar c", + "Ġd educt", + "Ġde duct", + "Ġded uct", + "G UILayout", + "GUI Layout", + "ĠV illa", + "ĠVi lla", + "ĠVill a", + "ĠVil la", + "Ġfor bidden", + "Ġforb idden", + "Ġforbid den", + "_ where", + "_w here", + "_wh ere", + "Ġ \\/", + "Ġ\\ /", + "ĠT ib", + "ĠTi b", + "_ AX", + "_A X", + "] čĊčĊ", + "]čĊ čĊ", + "Ġ Bir", + "ĠB ir", + "ĠBi r", + "Ġb end", + "Ġbe nd", + "Ġben d", + "Ġ MAKE", + "ĠM AKE", + "ĠMA KE", + "ĠMAK E", + "Ġ MET", + "ĠM ET", + "ĠME T", + "Ġf utures", + "Ġfuture s", + "Ġfut ures", + "Ġfu tures", + "Ġ weighted", + "Ġwe ighted", + "Ġweight ed", + "Ġweigh ted", + "\"\" \"čĊ", + "\"\"\" čĊ", + "Ġ authorize", + "Ġauthor ize", + "( program", + "(p rogram", + "(pro gram", + "(pr ogram", + "(prog ram", + "} ,{\"", + "}, {\"", + "},{ \"", + "Ġcoeff icients", + "Ġcoefficient s", + "ê s", + "Per Page", + "ĠB athroom", + "ĠBath room", + "ĠPublish ing", + "G PL", + "GP L", + "Ġsub missions", + "Ġsubmission s", + "Ġ NUMBER", + "ĠNUM BER", + "ĠNU MBER", + "j Äħ", + "Ġadd itionally", + "Ġadditional ly", + "Ġaddition ally", + "em pre", + "emp re", + "ĠS hel", + "ĠSh el", + "ĠShe l", + "o typ", + "ot yp", + "oty p", + "S olution", + "Sol ution", + "Ġth under", + "Ġthu nder", + "_ ec", + "_e c", + "Ġ ĊĠĠĠĠĊ", + "ĠĊ ĠĠĠĠĊ", + "ĠF ellow", + "ĠFel low", + "ĠFell ow", + "Ġk ay", + "Ġka y", + "Ġnew State", + "ONT AL", + "Im plementation", + "Implement ation", + ". Look", + ".L ook", + ".Lo ok", + "Ġ ents", + "Ġe nts", + "Ġen ts", + "Ġent s", + "Ġl ors", + "Ġlo rs", + "Ġlor s", + "Ġ BIG", + "ĠB IG", + "ĠBI G", + "f ab", + "fa b", + "Ġaverage d", + "Ġaver aged", + "Ġ Feedback", + "ĠFe edback", + "ĠFeed back", + "ĠW ells", + "ĠWell s", + "ĠWel ls", + "Ġm artial", + "Ġmart ial", + "Ġind ul", + "Ġindu l", + "ĠComm unist", + "ĠCommun ist", + "ĠF orex", + "ĠFor ex", + "ĠFore x", + "ĠFo rex", + "ĠAgricult ure", + "ĠAgr iculture", + "\" [", + "Ġqu ar", + "Ġq uar", + "Ġqua r", + "ĠK ont", + "ĠKon t", + "ĠKo nt", + "ĉ view", + "ĉv iew", + ". Bytes", + ".Byte s", + ".By tes", + "d esktop", + "des ktop", + "desk top", + "Ġ Makes", + "ĠM akes", + "ĠMake s", + "ĠMa kes", + "ĠMak es", + "akes peare", + ". Nullable", + ".Null able", + "Ġspot light", + "V B", + "o wy", + "ow y", + "( torch", + "(t orch", + "(to rch", + "t ridge", + "tr idge", + "tri dge", + "_ bounds", + "_b ounds", + "_bound s", + "_bo unds", + "Ġapolog ize", + ". addItem", + ".add Item", + "an td", + "ant d", + "* );Ċ", + "*) ;Ċ", + ", u", + "( gen", + "(g en", + "ç» ĵ", + "re ator", + "reat or", + "rea tor", + "ĠC ord", + "ĠCo rd", + "ĠCor d", + "o upper", + "ou pper", + "oup per", + ". metro", + ".m etro", + ".me tro", + ".met ro", + "Ġ ew", + "Ġe w", + "Ġ WORD", + "ĠW ORD", + ". After", + ".A fter", + "Ġdet ained", + "Ġdetain ed", + "ĠH ammer", + "ĠHam mer", + "ĠHamm er", + "ex isting", + "exist ing", + "Ġ ost", + "Ġo st", + "Ġos t", + "Ġmon ument", + "- custom", + "-c ustom", + "User ID", + "Ġ Nom", + "ĠN om", + "ĠNo m", + "Ġre jection", + "Ġreject ion", + "Ġrej ection", + "( dim", + "(d im", + "(di m", + "Ġ singleton", + "Ġs ingleton", + "Ġsingle ton", + "Ġsing leton", + "ĉ die", + "ĉd ie", + "ar iance", + "ari ance", + "arian ce", + "aria nce", + "re ports", + "rep orts", + "report s", + "repo rts", + "] !=", + "e lda", + "el da", + "eld a", + "Ġpreval ence", + "_ regs", + "_re gs", + "_reg s", + ". \".", + ".\" .", + "Ġfemin ist", + "Code c", + "Co dec", + "Cod ec", + "Ġ **Ċ", + "Ġ* *Ċ", + "Ġ** Ċ", + "( labels", + "(label s", + "_ MARK", + "_M ARK", + "_MA RK", + "FA ILED", + "FAIL ED", + "Ġadminister ed", + "W N", + "ĠĠ ĠĠĠĠĠĠĉĉ", + "ĠĠĠĠ ĠĠĠĠĉĉ", + "ĠĠĠĠĠĠĠĠ ĉĉ", + "ĠĠĠĠĠĠĠ Ġĉĉ", + "ĠĠĠĠĠ ĠĠĠĉĉ", + "ĠĠĠĠĠĠ ĠĠĉĉ", + "ĠĠĠĠĠĠĠĠĉ ĉ", + "Ġ noun", + "Ġn oun", + "Ġno un", + "Ġnou n", + "w ig", + "wi g", + "Ġg otta", + "Ġgot ta", + "Ġ rif", + "Ġr if", + "Ġri f", + "- im", + "-i m", + "ĠPaul o", + "ĠPa ulo", + "ĠCommand Type", + "] ))ĊĊ", + "]) )ĊĊ", + "])) ĊĊ", + "]))Ċ Ċ", + "- zero", + "-z ero", + "Tr aining", + "Train ing", + "Tra ining", + "Ġ lord", + "Ġl ord", + "Ġlo rd", + "Ġlor d", + "_ art", + "_a rt", + "_ar t", + "re ddit", + "red dit", + "redd it", + "C ert", + "Ce rt", + "Ġp eso", + "Ġpe so", + "Ġpes o", + "R ot", + "Ro t", + "Ġen danger", + "Ġend anger", + ". dr", + ".d r", + "user Info", + "u nts", + "un ts", + "unt s", + "n v", + "ĠTr ailer", + "ĠTra iler", + "ĠTrail er", + "- first", + "-f irst", + "-fi rst", + "( make", + "(m ake", + "Ġbenef ici", + "- black", + "-b lack", + "-bl ack", + "i ÃŁ", + "Ġund oubtedly", + "Ġm ex", + "Ġme x", + "ĠAn cient", + "ĠAnc ient", + "( as", + "(a s", + "Ġdes cent", + "Ġdesc ent", + "P ick", + "Pic k", + "Pi ck", + "Ġrep lica", + "Ġrepl ica", + "Ġreplic a", + "$ obj", + "$o bj", + "ä hr", + "äh r", + "Ġar rows", + "Ġarr ows", + "Ġarrow s", + "f ty", + "ft y", + "ĠLib ya", + "u ga", + "ug a", + "ch arged", + "char ged", + "charge d", + "charg ed", + "T ur", + "Tu r", + "Ġh omic", + "Ġhom ic", + "Ġho mic", + "is sen", + "iss en", + "isse n", + "Ġ Fake", + "ĠF ake", + "ĠFa ke", + "ĠFak e", + "Ġbe ers", + "Ġbeer s", + "Ġbee rs", + "Ġsc attered", + "Ġscatter ed", + "( Time", + "(T ime", + "UT IL", + "Ġbureauc r", + "Ġbureau cr", + "/ plain", + "/p lain", + "/pl ain", + "Ġst icking", + "Ġstick ing", + "F AIL", + "FA IL", + "ĠC ovid", + "ĠCo vid", + "ĠCov id", + "Th ird", + "_ present", + "_p resent", + "_pre sent", + "_pres ent", + "ĠP ierre", + "ĠPi erre", + "ĠPier re", + "Ġ ëª", + "Ġë ª", + "Ġ[ ...]ĊĊ", + "Ġ[... ]ĊĊ", + "Ġ[...] ĊĊ", + "P rob", + "Pro b", + "Pr ob", + "Ġ Traffic", + "ĠTra ffic", + "ĠTraff ic", + "i cao", + "ic ao", + "ica o", + "do ctor", + "doc tor", + "Ġ ),ĊĊ", + "Ġ) ,ĊĊ", + "Ġ),Ċ Ċ", + "Ġ), ĊĊ", + "T abs", + "Tab s", + "Ta bs", + "a lu", + "al u", + "ï¼ļ âĢľ", + "Ġin herent", + "Ġinher ent", + "_ No", + "_N o", + "r itis", + "rit is", + "Ġ Proof", + "ĠP roof", + "ĠPro of", + ". basename", + ".b asename", + ".base name", + "ä¼ ļ", + "Ġc him", + "Ġch im", + "Ġchi m", + "Ġ Protected", + "ĠProt ected", + "ĠProtect ed", + "c rit", + "cri t", + "cr it", + "Ġp rone", + "Ġpro ne", + "Ġpr one", + "Ġpron e", + "Ġ кон", + "Ġк он", + "Ġко н", + "Ġ Heroes", + "ĠHer oes", + "ĠHero es", + "Ġan xious", + "Ġanx ious", + "Ġ anos", + "Ġa nos", + "Ġan os", + "Ġano s", + "Ġweek ends", + "Ġweekend s", + "Ġs ext", + "Ġse xt", + "Ġsex t", + "Ġre ducer", + "Ġred ucer", + "Ġredu cer", + "Ġreduce r", + "= UTF", + "h alf", + "ha lf", + "hal f", + "ĠS aw", + "ĠSa w", + ". mm", + ".m m", + "Ġn ueva", + "Ġnu eva", + "Ġnue va", + ".current Target", + ". lua", + ".l ua", + ".lu a", + "_EXT ENSION", + "ĉ reg", + "ĉr eg", + "ĉre g", + "Ġ Ctrl", + "ĠC trl", + "ĠCt rl", + "_ align", + "_al ign", + "accept able", + "Ġr ushing", + "Ġrush ing", + "f rac", + "fr ac", + "fra c", + "Ġbo asts", + "Ġboast s", + "Ġboa sts", + "F ive", + "Fi ve", + " ±", + "Ġ Temperature", + "ĠT emperature", + "ĠTem perature", + "ĠTemper ature", + "> ):", + ">) :", + "Ġch arter", + "Ġchar ter", + "Ġchart er", + "RE ATED", + "REATE D", + "REAT ED", + "REA TED", + "Ġsub jected", + "Ġsubject ed", + "Ġsubj ected", + "Ġ opc", + "Ġo pc", + "Ġop c", + "health y", + "使 ç͍", + "ĠScient ific", + "Ġ frau", + "Ġfr au", + "Ġfra u", + "ri ages", + "ria ges", + "riage s", + "ภĶ", + ". inventory", + ".in ventory", + "at ionale", + "ation ale", + "ational e", + "M ad", + "Ma d", + "min utes", + "minute s", + "> >();Ċ", + ">> ();Ċ", + ">>( );Ċ", + ">>() ;Ċ", + "Ġ Env", + "ĠE nv", + "ĠEn v", + "Ġrecord ings", + "Ġrecording s", + "Ġsusp icion", + "sql ite", + "sq lite", + "ĉ read", + "ĉr ead", + "ĉre ad", + "ãģ ¦", + "Ġwor ries", + ".put String", + "ĠSh anghai", + "( uid", + "(u id", + "(ui d", + "r er", + "re r", + "ĠvÃŃ de", + "\" ):", + "\") :", + "Ġmethod ology", + "Ġк оÑĤоÑĢ", + "Ġко ÑĤоÑĢ", + "ĠкоÑĤ оÑĢ", + "c cc", + "cc c", + "av ad", + "ava d", + "Ġin duction", + "Ġind uction", + "Ġindu ction", + "ĉ Thread", + "ĉT hread", + ", string", + ",s tring", + ",str ing", + ",st ring", + "ạ i", + "neh men", + "u ition", + "ui tion", + "uit ion", + "Ġ* __", + "Ġ*_ _", + ".e mf", + ".em f", + "Ġ ìľ", + "Ġì ľ", + "/ themes", + "/th emes", + "/theme s", + "/the mes", + "Ġ Nine", + "ĠN ine", + "ĠNi ne", + "ĠNin e", + ". One", + ".On e", + ".O ne", + "Ġ Embed", + "ĠEm bed", + "ĠEmb ed", + "Ġf az", + "Ġfa z", + "u ations", + "uation s", + "uat ions", + "Ġprivate ly", + "Ġpriv ately", + "Ġprivat ely", + "Ġ ling", + "Ġl ing", + "Ġli ng", + "Ġlin g", + "[ F", + "u shi", + "us hi", + "ush i", + "Ġlaunch es", + "( KEY", + "(K EY", + "G MT", + "GM T", + "Ġa iming", + "Ġaim ing", + "Ġai ming", + "pat ible", + "ĠB iden", + "ĠBi den", + "ĠBid en", + "i w", + "Ġ Degree", + "ĠD egree", + "ĠDe gree", + "ĠDeg ree", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "Ġ$ ('<", + "Ġ$( '<", + "Ġ$(' <", + "á rios", + "ário s", + "ár ios", + "to UpperCase", + "ìł ľ", + "Ġ EUR", + "ĠE UR", + "ĠEU R", + "Ġovers ight", + "Ġtable sp", + "Ġtables p", + "Up dates", + "Update s", + ".m akedirs", + ".make dirs", + "Ġ humidity", + "Ġh umidity", + "Ġhum idity", + "Ġhumid ity", + "/ template", + "/t emplate", + "/temp late", + "Al ways", + "( IS", + "(I S", + "_ cert", + "_c ert", + "_ce rt", + "D ig", + "Di g", + "Ġunder way", + "or ton", + "ort on", + "ĠHur ricane", + "Ġsp ends", + "Ġspe nds", + "Ġspend s", + "Ġ Segment", + "ĠS egment", + "ĠSe gment", + "ĠSeg ment", + "Ġ flies", + "Ġf lies", + "Ġfl ies", + "Ġ Toggle", + "ĠT oggle", + "ĠL ynch", + "ĠLyn ch", + "Ġs enses", + "Ġsense s", + "Ġsens es", + "Ġsen ses", + "ĠK os", + "ĠKo s", + "set Enabled", + "ist ically", + "istic ally", + "istical ly", + "Ġ tester", + "Ġt ester", + "Ġte ster", + "Ġtest er", + "Ġtes ter", + "Ġteste r", + "Ġadministr ators", + "Ġadministrator s", + "Ġt agged", + "Ġtag ged", + "Ð ĵ", + "Ġ shortcut", + "Ġshort cut", + "Ġ Resolution", + "ĠRe solution", + "ĠRes olution", + "Ġsuper vision", + "Ġsuperv ision", + "ĠAsh ley", + "Tr acking", + "Track ing", + "ul atory", + "ulator y", + "an del", + "and el", + "ande l", + "i sten", + "is ten", + "ist en", + "iste n", + "Ġun re", + "Ġunr e", + "( diff", + "(d iff", + "(di ff", + "AN TS", + "ANT S", + "Ġr ider", + "Ġrid er", + "Ġride r", + "Ġri der", + "Ġs Äħ", + ". Series", + ".S eries", + ".Se ries", + "_ orders", + "_order s", + "_or ders", + "_ord ers", + "ORIZ ONTAL", + "Ġret ention", + "ãĢĤ čĊčĊ", + "\"> čĊčĊ", + "\">čĊ čĊ", + "Ġdi agonal", + "Ġdiag onal", + "Ġdiagon al", + "ĠC ancellationToken", + "_ Internal", + "_In ternal", + "_Int ernal", + "_Inter nal", + "Ġr uin", + "Ġru in", + ". Qt", + ".Q t", + "ocr atic", + "ocrat ic", + "T el", + "Te l", + "Ġ Answers", + "ĠAn swers", + "ĠAnswer s", + "ĠAns wers", + "m atic", + "ma tic", + "mat ic", + "Ġ xp", + "Ġx p", + "a tem", + "at em", + "ate m", + "_ jobs", + "_j obs", + "_job s", + "_ any", + "_a ny", + "_an y", + "Ġsen iors", + "Ġsenior s", + "Ġseni ors", + "Ġland mark", + "ĠQ List", + "Ġman eu", + "Ġmane u", + "ot ify", + "oti fy", + "/ \";Ċ", + "/\" ;Ċ", + "/ server", + "/s erver", + "ĠPhil osoph", + "u tenant", + "ut enant", + "ute nant", + "uten ant", + "( io", + "(i o", + "h z", + "Ġ authenticated", + "Ġauth enticated", + "Ġauthentic ated", + "Ġauthenticate d", + "d v", + "- Compatible", + "Origin ally", + "Original ly", + "Orig inally", + ", function", + ",f unction", + "ãĢĤ čĊ", + "ĠRepresent ative", + "as ily", + "asi ly", + "asil y", + "irc uit", + ". dt", + ".d t", + "( math", + "(m ath", + "(mat h", + ". Marshal", + ".M arshal", + ".Mar shal", + "[ ,", + "Ġ Cities", + "ĠC ities", + "ĠCit ies", + "ĠCi ties", + "_ turn", + "_t urn", + "| )Ċ", + "Ġ cantidad", + "Ġc antidad", + "Ġcant idad", + "al ter", + "alt er", + "alte r", + "ĉ ui", + "ĉu i", + "ĠNe braska", + "Ġsk irt", + "Ġski rt", + ". bg", + ".b g", + "Shared Preferences", + "( style", + "(st yle", + "Ġg rief", + "Ġgr ief", + "Ġgri ef", + "g ew", + "ge w", + "Ġsaf eg", + "Ġsafe g", + "o lang", + "ol ang", + "ola ng", + "olan g", + "_ lists", + "_l ists", + "_list s", + "_li sts", + "ì Ľ", + "Ġgran ite", + "Ġgra nite", + "Ġhot test", + "Ġhott est", + ". jdbc", + ".j dbc", + ".jd bc", + ". Customer", + ".C ustomer", + ".Custom er", + "Ġ âī¤", + "Ġâī ¤", + "Ġw aar", + "Ġwa ar", + "_ scene", + "_s cene", + "_sc ene", + "+ '/", + "+' /", + "ĠJ TextField", + "ĠJText Field", + "ĠJT extField", + "Ġs eating", + "Ġse ating", + "Ġsea ting", + "Ġseat ing", + "Ġw ears", + "Ġwe ars", + "Ġwear s", + "Ġ` /", + "C ases", + "Case s", + "Ca ses", + "Cas es", + "Ġ Youtube", + "ĠY outube", + "ĠYou tube", + "ı m", + "Ġb alcon", + "Ġbal con", + ", G", + "Meta Data", + "Met aData", + "- price", + "-p rice", + "-pr ice", + "S CR", + "SC R", + "Un ity", + "Unit y", + "Uni ty", + "Ġtr unk", + "={ `${", + "={` ${", + "Ġearth quake", + "Ġearthqu ake", + "P artial", + "Part ial", + "Ġ subst", + "Ġsu bst", + "Ġsub st", + "Ġsubs t", + "Ġel imin", + "Ġelim in", + "=\" '.", + "=\"' .", + "//* [@", + "//*[ @", + "Ġsup ervisor", + "Ġsuper visor", + "Ġsuperv isor", + "vr olet", + "vro let", + "_ article", + "_art icle", + "Ġ pane", + "Ġp ane", + "Ġpa ne", + "Ġpan e", + "b io", + "bi o", + "Ġmot ors", + "Ġmo tors", + "Ġmotor s", + "Ġmoto rs", + "N M", + "F rank", + "Fr ank", + "Fran k", + "Fra nk", + "Ġon ion", + "- word", + "-w ord", + "Item ClickListener", + "ItemClick Listener", + "Ġ brit", + "Ġb rit", + "Ġbr it", + "Ġbri t", + "end encies", + "enden cies", + "Com puter", + "Comp uter", + "Compute r", + "Comput er", + "_ running", + "_r unning", + "_run ning", + "( day", + "(d ay", + "(da y", + "- he", + "-h e", + "( named", + "(n amed", + "(name d", + "ĠS ach", + "ĠSa ch", + "ĠSac h", + "о Ñĩ", + "c ampaign", + "camp aign", + ". Abstract", + ".A bstract", + ".Ab stract", + ".Abs tract", + "( wrapper", + "(w rapper", + ". pay", + ".p ay", + ".pa y", + "Ġ uw", + "Ġu w", + "G eo", + "Ge o", + "r ails", + "ra ils", + "rai ls", + "rail s", + "/ select", + "/s elect", + "/se lect", + "i chte", + "ic hte", + "ich te", + "icht e", + "s ons", + "so ns", + "son s", + "E VENT", + "EV ENT", + "Ġal iment", + "Ġali ment", + "Pro viders", + "Provider s", + "Provid ers", + "Provide rs", + "Prov iders", + "A wait", + "Aw ait", + "_INTER VAL", + ". off", + ".of f", + ".o ff", + "Ġgl uten", + "Ġglut en", + "Ġglu ten", + "_ cloud", + "_c loud", + "_cl oud", + "Ġ wen", + "Ġw en", + "Ġwe n", + ". extract", + ".ex tract", + ".ext ract", + ".extra ct", + "ĉ button", + "ĉb utton", + "/ MM", + "/M M", + "P arty", + "Par ty", + "Part y", + "Ġdem ographic", + "Ġdemo graphic", + "_ errno", + "_err no", + "Ġh iking", + "Ġhi king", + "Ġhik ing", + "(' ')Ċ", + "\", @\"", + "Ġ wit", + "Ġw it", + "Ġwi t", + "r á", + "ol ogie", + "olog ie", + "olo gie", + "ologi e", + "Ġ Styles", + "ĠSt yles", + "ĠStyle s", + "ĠSty les", + "ĠBrowser Module", + ". RequestMapping", + ".Request Mapping", + "ic ans", + "ica ns", + "ican s", + "P AGE", + "PA GE", + "c reation", + "cre ation", + "creat ion", + "ĠF erguson", + "u ded", + "ud ed", + "ude d", + "num bers", + "number s", + "Ġ GTK", + "ĠG TK", + "ĠGT K", + "Ġpresent ations", + "Ġpresentation s", + "ĠB obby", + "ĠBob by", + "_ span", + "_s pan", + "_sp an", + "e style", + "est yle", + "esty le", + "Ġillegal ly", + "Ġilleg ally", + "ab ela", + "abel a", + "abe la", + "Ġbattle field", + "cap acity", + "t error", + "ter ror", + "te rror", + "terr or", + "] \");Ċ", + "]\" );Ċ", + "]\") ;Ċ", + "Ġwar rior", + "le ader", + "lead er", + "lea der", + "Ġ DBG", + "ĠD BG", + "ĠDB G", + "Ġ Revenue", + "ĠRe venue", + "Ġvi gil", + "Ġvig il", + "Ġcounter parts", + "Ġcounterpart s", + "( Error", + "(E rror", + "AC TER", + "ACT ER", + "Ġhe eft", + "Ġse lections", + "Ġselect ions", + "Ġselection s", + "Ġsel ections", + "Ġsele ctions", + "ze ug", + "t om", + "to m", + "- two", + "-t wo", + "-tw o", + ". ;Ċ", + ".; Ċ", + "_ statement", + "_st atement", + "_state ment", + "_stat ement", + "_sta tement", + "ĠA id", + "ĠAi d", + "ĠV ul", + "ĠVu l", + "_ rgb", + "_r gb", + "_rg b", + "Ġpr izes", + "Ġpri zes", + "Ġprize s", + "Ġ editable", + "Ġed itable", + "Ġedit able", + "Ġedi table", + "ĉ form", + "ĉf orm", + "ĉfor m", + "ın ı", + ". decor", + ".de cor", + ".dec or", + "D emo", + "De mo", + "Dem o", + "l ices", + "lic es", + "li ces", + "lice s", + "Ġen ctype", + "Ġenc type", + "rat ulations", + "Ġ ROS", + "ĠR OS", + "ĠRO S", + "_ chars", + "_ch ars", + "_char s", + "ĠJ ahr", + "ĠJa hr", + "ĠJah r", + "p artial", + "part ial", + "Ñĥ ÑĤ", + "Ġ Receive", + "ĠRe ceive", + "ĠRece ive", + "ĠL ands", + "ĠLa nds", + "ĠLand s", + "ĠLan ds", + "AP TER", + "APT ER", + "Ġch opped", + "Ġcho pped", + "Ġchop ped", + ". .\"", + ".. \"", + "Ġ Analy", + "ĠAn aly", + "ĠAnal y", + "ĠAna ly", + "Ġ UID", + "ĠU ID", + "ĠUI D", + "ĠR adeon", + "ĠRad eon", + "ĠB ee", + "ĠBe e", + "Ġu nm", + "Ġun m", + "> M", + ".find all", + "Token izer", + "Ġ WHAT", + "ĠWH AT", + "Ġ sj", + "Ġs j", + "D rawing", + "Draw ing", + "E ss", + "Es s", + "O ND", + "ON D", + "Ĭ ¶", + "( packet", + "(p acket", + "(pa cket", + "(pack et", + "âĢĶ but", + "Inv ocation", + "ĠN uclear", + "ĠNu clear", + "? ;Ċ", + "Ġgr andes", + "Ġgrand es", + "Ġgran des", + "Ġgrande s", + "Ġ Crypt", + "ĠC rypt", + "ĠCry pt", + "r emark", + "re mark", + "rem ark", + "rema rk", + "Ġ' ../../../../", + "Ġ'../ ../../../", + "Ġ'../../ ../../", + "Ġ'../../../ ../", + "Ġin ability", + "m agic", + "mag ic", + "c ats", + "ca ts", + "cat s", + "Ġ simulate", + "Ġsim ulate", + "Ġsimul ate", + ": ${", + ":$ {", + "in flate", + "inf late", + "Ġ ener", + "Ġe ner", + "Ġen er", + ": NO", + ":N O", + "i ples", + "ip les", + "iple s", + "ipl es", + "Ġme rit", + "Ġmer it", + "Ġ Rated", + "ĠR ated", + "ĠRa ted", + "ĠRate d", + "ĠRat ed", + "Ġg lue", + "Ġgl ue", + "Ġglu e", + "/ blog", + "/b log", + "/bl og", + "Ġ gren", + "Ġg ren", + "Ġgr en", + "Ġgre n", + "Ġthr illed", + "Ġthrill ed", + ". CH", + ".C H", + "un can", + "unc an", + "unca n", + "Ġ PRIMARY", + "ĠPR IMARY", + "ĠPRI MARY", + "Ġper sec", + "Ġpers ec", + "Ġperse c", + "Ġfe ared", + "Ġfear ed", + ". MIN", + ".M IN", + "ĠThe ater", + "é Ĵ", + "ateg orie", + "ategor ie", + "ategori e", + "atego rie", + "æ® µ", + "Ġappet ite", + "s quare", + "squ are", + "ĠAlex and", + "ĠAlexa nd", + ". UserId", + ".User Id", + "_ gt", + "_g t", + "_ enter", + "_en ter", + "_ent er", + "Ġgrad uates", + "Ġgraduate s", + "Ġgradu ates", + "Fragment Manager", + "Author ize", + "-N LS", + "( My", + "(M y", + "Ġtri umph", + "Ġtrium ph", + "us ting", + "ust ing", + "ustin g", + "_PARAM S", + "_PAR AMS", + "Char acters", + "Character s", + "(: ,:,", + "(:, :,", + "_ BUILD", + "_B UILD", + "_BU ILD", + "M Hz", + "MH z", + "Ġw ashed", + "Ġwas hed", + "Ġwa shed", + "Ġwash ed", + "Ġun cle", + "Ġunc le", + "St eve", + "Ste ve", + "ar down", + "ard own", + "ardo wn", + "< stdio", + " ${", + ">$ {", + "_ confirmation", + "_confirm ation", + "Ġt rophy", + "Ġtr ophy", + "Ġtro phy", + "Ġtrop hy", + "W orks", + "Work s", + "ĠElect ronics", + "ĠElectronic s", + "ĠElectron ics", + "ĠMediterr anean", + "_ metrics", + "_m etrics", + "_metric s", + "_met rics", + "Ġann ouncing", + "Ġannounc ing", + "Ġ DAY", + "ĠD AY", + "ĠDA Y", + "_ proto", + "_pro to", + "_pr oto", + "_prot o", + "Ġ pear", + "Ġp ear", + "Ġpe ar", + "Ġpea r", + "base Url", + "ĉ ĉĉĉĉĉĉĉĊ", + "ĉĉ ĉĉĉĉĉĉĊ", + "ĉĉĉĉ ĉĉĉĉĊ", + "ĉĉĉ ĉĉĉĉĉĊ", + "ĉĉĉĉĉ ĉĉĉĊ", + "ĉĉĉĉĉĉ ĉĉĊ", + "ĉĉĉĉĉĉĉĉ Ċ", + "ĉĉĉĉĉĉĉ ĉĊ", + "Ġco ordination", + "Ġcoord ination", + "Ġcoordin ation", + ": N", + ". animate", + ".an imate", + ".anim ate", + "ĠC otton", + "ĠCot ton", + "_ hit", + "_h it", + "_hi t", + "â ľ", + "Ġj etzt", + "Ġjet zt", + "i fter", + "if ter", + "ift er", + "( fields", + "(f ields", + "(field s", + "own load", + "ific acion", + "ifica cion", + ". cuda", + ".c uda", + "ĠL iu", + "ĠLi u", + "> equals", + ">e quals", + "Ġ Ace", + "ĠA ce", + "ĠAc e", + "ÑĢ Ð°Ð¼", + "ÑĢаР¼", + "ÑĢа м", + "ĠSup erman", + "ĠSuper man", + "ĠGar cia", + "ĠGarc ia", + "Ġarr ests", + "Ġarrest s", + "a gar", + "ag ar", + "aga r", + "Ġ {})", + "Ġ{ })", + "Ġ{} )", + "Ġ macros", + "Ġmac ros", + "Ġmacro s", + "ro upe", + "rou pe", + "roup e", + "ê tre", + "êt re", + "Ġtw isted", + "Ġtwist ed", + "str uments", + "strument s", + "stru ments", + "_ (\"", + "_( \"", + "_ vertices", + "_vert ices", + "Ġ Transition", + "ĠT ransition", + "ĠTrans ition", + "ĠTransit ion", + "и к", + "[ max", + "[m ax", + "m ind", + "min d", + "mi nd", + "Ġ accessToken", + "Ġaccess Token", + "Ġun le", + "Ġunl e", + "m us", + "mu s", + "c op", + "co p", + "Ġ Factor", + "ĠF actor", + "ĠFac tor", + "ĠFa ctor", + "ĠFact or", + "Ġcon ced", + "Ġconc ed", + "Ġconce d", + "Ġre tr", + "Ġr etr", + "Ġret r", + ".l inalg", + ".lin alg", + "- slider", + "-s lider", + "-slide r", + "-sl ider", + "o bl", + "ob l", + "_Static Fields", + "Ġz ombie", + "s elling", + "sel ling", + "sell ing", + "Ġ chap", + "Ġc hap", + "Ġch ap", + "Ġcha p", + "Ġsh aking", + "Ġsha king", + "Ġ Translate", + "ĠTrans late", + "ĠAm sterdam", + "Ġ ETH", + "ĠE TH", + "ĠET H", + "_ EXTERN", + "_EX TERN", + "_EXT ERN", + "k d", + "_ disc", + "_d isc", + "_dis c", + "_di sc", + "Ġprec eding", + "Ġpreced ing", + "Ġ prix", + "Ġp rix", + "Ġpr ix", + "Ġpri x", + "Object Name", + "_ modified", + "_mod ified", + "ard ware", + "Ġ?> \">", + "Ġ?>\" >", + "Ġ DW", + "ĠD W", + "` ${", + "Ġ?> \">\" >\"> \">< ?", + "u yen", + "uy en", + "uye n", + "Ġd onna", + "Ġdon na", + "Ġdonn a", + "Ġx si", + "Ġxs i", + "Ġ$ \"{", + "Ġ$\" {", + "Ġ Drawing", + "ĠD rawing", + "ĠDraw ing", + "ĠDra wing", + ", nil", + ",n il", + "Ġ onder", + "Ġo nder", + "Ġon der", + "Ġonde r", + "B G", + "O bserv", + "Ob serv", + "Obs erv", + "Ġconsider ations", + "Ġconsideration s", + "bo at", + "boa t", + "ĠB anks", + "ĠBank s", + "ĠBan ks", + "Ġin dict", + "Ġind ict", + "Ġindic t", + ", I", + "ĠB lu", + "ĠBl u", + "( version", + "(v ersion", + "cl iente", + "client e", + "cli ente", + "o lan", + "ol an", + "ola n", + "L ESS", + "LE SS", + "LES S", + "assert Same", + "_ void", + "_v oid", + "ĠW AS", + "ĠWA S", + "ĉ enum", + "ĉe num", + "ĉen um", + "Ġm ixer", + "Ġmix er", + "E W", + "a ffe", + "af fe", + "aff e", + "Ġblow job", + "t extField", + "text Field", + "Ġimm ense", + "_ repo", + "_re po", + "_rep o", + "Ġ globals", + "Ġg lobals", + "Ġglobal s", + "Ġglob als", + "ant ages", + "anta ges", + "antage s", + ". today", + ".t oday", + ".to day", + "Th ursday", + "ĠB rig", + "ĠBr ig", + "ĠBri g", + "{ })Ċ", + "{} )Ċ", + "{}) Ċ", + "Ġ Imagine", + "ĠIm agine", + "ĠImag ine", + "( GPIO", + "(G PIO", + "Ġ esto", + "Ġe sto", + "Ġes to", + "Ġest o", + "Ġ Province", + "ĠPro vince", + "ĠProv ince", + "ĠM ental", + "ĠMen tal", + "ĠMent al", + "_ cells", + "_c ells", + "_cell s", + "ĠJul ian", + "ĠJu lian", + "ĠJulia n", + "ĠJuli an", + ". Screen", + ".S creen", + ".Sc reen", + "Ġc andle", + "Ġcan dle", + "Ġcand le", + "Ġm onde", + "Ġmon de", + "Ġmo nde", + "Ġmond e", + "Ġv erg", + "Ġver g", + "Ġve rg", + "it erals", + "iter als", + "iteral s", + "- layout", + "-l ayout", + "G uest", + "Gu est", + "Ġv ind", + "Ġvi nd", + "Ġvin d", + "Ġ Echo", + "ĠE cho", + "ĠEc ho", + "' )}", + "') }", + "Ġ mann", + "Ġm ann", + "Ġman n", + "Ġma nn", + "_ BOOLEAN", + "_BO OLEAN", + "h ap", + "ha p", + "Ġnight mare", + "U GH", + "UG H", + "Ġnon etheless", + "Ġnone theless", + "Ġ athe", + "Ġa the", + "Ġat he", + "Ġath e", + "ĠH olland", + "ĠHol land", + "ĠHo lland", + "ĠHoll and", + "Ġ Born", + "ĠB orn", + "ĠBo rn", + "ĠBor n", + "\\ ORM", + "a nut", + "an ut", + "_ levels", + "_level s", + "Ġpet ite", + "Ġpetit e", + "- art", + "-a rt", + "-ar t", + "_ SHOW", + "_S HOW", + "_SH OW", + "number Of", + "_ thumbnail", + "_th umbnail", + "a mins", + "am ins", + "amin s", + "ami ns", + "Ġ Defines", + "ĠDef ines", + "ĠDefine s", + "Ġ\" =", + ". StatusCode", + ".Status Code", + "Ġdign ity", + "ĠB ike", + "ĠBi ke", + "ĠBik e", + ".New Line", + "ĠG las", + "ĠGl as", + "( logger", + "(log ger", + "(lo gger", + "Ġc atches", + "Ġcatch es", + "Ġcat ches", + "v otes", + "vo tes", + "vote s", + "Ġexam ining", + "/ register", + "/reg ister", + "Ġspec ifying", + "Ġspecify ing", + "_ fixed", + "_f ixed", + "_fix ed", + "Ġdraw ings", + "Ġdrawing s", + "Th reshold", + "A x", + "Ġ Architecture", + "ĠArch itecture", + "ĠArchitect ure", + "( pid", + "(p id", + "(pi d", + "W ire", + "Wir e", + "Wi re", + "( cont", + "(c ont", + "(con t", + "(co nt", + "l ane", + "la ne", + "lan e", + "L ists", + "List s", + "Li sts", + "Ġs print", + "Ġsp rint", + "Ġspr int", + "Ġgrand father", + "_ AG", + "_A G", + "Ġs cheduling", + "Ġsched uling", + "CL US", + "CLU S", + "at urity", + "atur ity", + "Ġ locking", + "Ġl ocking", + "Ġloc king", + "Ġlock ing", + "[ size", + "[s ize", + "_ styles", + "_st yles", + "_style s", + "Ġ wb", + "Ġw b", + "-- >ĊĊ", + "-->Ċ Ċ", + "--> ĊĊ", + "Ġsp inning", + "Ġspin ning", + "_ pending", + "_p ending", + "_pen ding", + "Match ers", + "Mat chers", + "Matcher s", + ". Keys", + ".Key s", + "Ġ PV", + "ĠP V", + "en us", + "enu s", + "ant is", + "anti s", + "Ġ discard", + "Ġd iscard", + "Ġdis card", + "Ġdisc ard", + "Ġ haul", + "Ġh aul", + "Ġha ul", + "Ġem pir", + "Ġemp ir", + "Ġpath way", + "Ġo ak", + "Ġoa k", + "м ен", + "ме н", + "-in duced", + "-ind uced", + "Ġim pair", + "Ġimp air", + "ĠCal gary", + ".is Hidden", + "d z", + "_ include", + "_in clude", + "_inc lude", + "Ġ gm", + "Ġg m", + "Ġ' ('", + "Ġ'( '", + "P Y", + "uggest ions", + "uggestion s", + "Ġcom modity", + "Ġcommod ity", + "c ro", + "cr o", + "/ sub", + "/s ub", + "Ġ getInstance", + "Ġget Instance", + "Ġ Legacy", + "ĠLeg acy", + "ĠK il", + "ĠKi l", + "B al", + "Ba l", + "( short", + "(s hort", + "(sh ort", + "In form", + "Info rm", + "Inf orm", + "+ x", + "* r", + "Ġ Hopefully", + "ĠHope fully", + "ĠHop efully", + "o rate", + "or ate", + "ora te", + "Ġm achen", + "Ġma chen", + "Ġmach en", + "Ġmac hen", + "Ġtreat y", + "Ġtre aty", + "ĠO ri", + "ĠOr i", + ". public", + ".p ublic", + ".pub lic", + "- horizontal", + "-h orizontal", + "Ġt actic", + "Ġta ctic", + "Ġtact ic", + "Ġtac tic", + "Ġb ord", + "Ġbo rd", + "Ġbor d", + "w ares", + "ware s", + "wa res", + "war es", + "Ġ ammo", + "Ġa mmo", + "Ġam mo", + "Ġ Lists", + "ĠL ists", + "ĠList s", + "ĠLi sts", + "ĠLis ts", + "Ġequ ations", + "Ġeq uations", + "Ġequation s", + "/ her", + "/h er", + "/he r", + "ĠN SW", + "ĠNS W", + "B ounding", + "Bo unding", + "Bound ing", + "_ Collections", + "_C ollections", + "Ġ avail", + "Ġa vail", + "Ġav ail", + "Ġava il", + ". DropDown", + ".Drop Down", + "è °", + "Ġ hh", + "Ġh h", + "Ġl Ãł", + ". pb", + ".p b", + "Ġmem orial", + "Ġmemor ial", + "Ġmemo rial", + "Ġmemoria l", + "Ġ ATTR", + "ĠAT TR", + "ĠATT R", + "Ġexhaust ed", + "Ġt sp", + "Ġts p", + "ĉ redirect", + "ĉre direct", + "Ġlike wise", + "Ġlik ewise", + "S TER", + "ST ER", + "STE R", + "L java", + "Ġcondem ned", + "Ġcondemn ed", + "oca ust", + "( strict", + "(str ict", + "Ġex empt", + "Ġexem pt", + "Ġexemp t", + "Ġ sms", + "Ġs ms", + "Ġsm s", + "Ġex agger", + "S YS", + "SY S", + "Ġl ounge", + "Ġlo unge", + "Ġlou nge", + "Ġloung e", + ": ^", + "Ġt odd", + "Ġto dd", + "Ġtod d", + "d eb", + "de b", + "at orial", + "ator ial", + "ato rial", + "atori al", + "atoria l", + "ĠPort er", + "ĠPor ter", + "Ġt uition", + "Ġtu ition", + "Ġex empl", + "Ġexem pl", + "Ġexe mpl", + "Ġexemp l", + "Ġ paren", + "Ġp aren", + "Ġpar en", + "Ġpa ren", + "Ġpare n", + ".line To", + "Ġkid ney", + "Ġki dney", + "Ġkidn ey", + "Ġ ça", + "Ġç a", + "Ġc ui", + "Ġcu i", + "ï¼Į 请", + "X C", + "Ġmo ż", + "Ġn ominated", + "Ġno minated", + "Ġnom inated", + "Ġnomin ated", + "Ġnominate d", + "l ung", + "lu ng", + "lun g", + "Im Gui", + "Ġ Buzz", + "ĠB uzz", + "ĠBu zz", + "Ġst ereo", + "Ġste reo", + "Ġster eo", + "Ġstere o", + "p ortal", + "port al", + "por tal", + "res as", + "resa s", + "Ġ klass", + "Ġk lass", + "Ġkl ass", + "Ġkla ss", + "Ġklas s", + "Ġd rafted", + "Ġdraft ed", + "Ġproject ile", + "/g pl", + "( parameters", + "(param eters", + "(parameter s", + "* )Ċ", + "*) Ċ", + "Ġass isted", + "Ġassist ed", + "Ġ NSInteger", + "ĠNS Integer", + "s itemap", + "site map", + "sit emap", + ": nth", + ":n th", + ". Views", + ".View s", + ".Argument Parser", + "Ġ meer", + "Ġm eer", + "Ġme er", + "Ġmee r", + "z ier", + "zi er", + "zie r", + "Ġ Dig", + "ĠD ig", + "ĠDi g", + "Ċ", + ")} >Ċ", + ")}> Ċ", + "Ġp lag", + "Ġpl ag", + "Ġpla g", + "p ine", + "pi ne", + "pin e", + "Ġblank et", + "Ġ : -", + "Ġ lcd", + "Ġl cd", + "Ġlc d", + "- --------------", + "-- -------------", + "---- -----------", + "-------- -------", + "--- ------------", + "------------ ---", + "----- ----------", + "---------- -----", + "------ ---------", + "----------- ----", + "------------- --", + "------- --------", + "--------- ------", + "-------------- -", + "( \"\"", + "(\" \"", + "Ġt actical", + "Ġtact ical", + "Ġtactic al", + "Ġtac tical", + "ĠR onald", + "ĠRon ald", + "ex tr", + "ext r", + "ĠF est", + "ĠFe st", + "Ġf uer", + "Ġfu er", + "Ġfue r", + "- navigation", + "-n avigation", + "-nav igation", + "Ġ kb", + "Ġk b", + "g host", + "gh ost", + "Ġ handleChange", + "Ġhandle Change", + "_ cls", + "_c ls", + "_cl s", + "( )!=", + "() !=", + "Com parator", + "Compar ator", + ". vm", + ".v m", + "ĠC ox", + "ĠCo x", + "_ review", + "_re view", + "_r eview", + "_rev iew", + "/ @", + "_ cookie", + "_c ookie", + "_co okie", + "Ġrecogn ised", + "Ġrecognise d", + "l dap", + "ld ap", + "lda p", + "Th reads", + "Thread s", + "ĠS exual", + "ĠSex ual", + "ĠB earing", + "ĠBe aring", + "ĠBear ing", + "ĠBea ring", + "( SQL", + "(S QL", + "Ġ xr", + "Ġx r", + "Ġt high", + "Ġth igh", + "Ġthi gh", + "URL Connection", + "ĠS UV", + "ĠSU V", + "Ġm Context", + "Ġinc idence", + "Ġincid ence", + "Ġ Este", + "ĠE ste", + "ĠEs te", + "ĠEst e", + ". sup", + ".s up", + "_ te", + "_t e", + "( EXIT", + "(EX IT", + "C MD", + "CM D", + "/ \">", + "/\" >", + "Al most", + "Ġ Une", + "ĠU ne", + "ĠUn e", + "Ġand eren", + "Ġandere n", + "Ġander en", + "Ġ Singleton", + "ĠS ingleton", + "ĠSing leton", + "ĠSingle ton", + "Ġb ore", + "Ġbo re", + "Ġbor e", + "Th ink", + "Thin k", + "Ġn arc", + "Ġna rc", + "Ġnar c", + "] initWith", + "]init With", + "_ shop", + "_s hop", + "_sh op", + "( strategy", + "(str ategy", + "! ',", + "!' ,", + "her its", + "herit s", + "Ġ Desk", + "ĠD esk", + "ĠDe sk", + "ĠDes k", + "_ machine", + "_m achine", + "_ma chine", + ".n etty", + ".net ty", + ".ne tty", + "ı nda", + "ın da", + "ınd a", + "= <", + "Ġ QR", + "ĠQ R", + "Ġ Sidebar", + "ĠS idebar", + "ĠSide bar", + ".split Container", + "Ġon Success", + "Ġ monkey", + "Ġmon key", + "Ġmonk ey", + "En joy", + "( nodes", + "(n odes", + "(node s", + "(no des", + "pect rum", + "Ġ (*(", + "Ġ( *(", + "Ġ(* (", + "ĉ UINT", + "ĉU INT", + "ĉUI NT", + ", height", + ",h eight", + "ĠNetwork s", + "ĠNet works", + ". tail", + ".t ail", + ".ta il", + ".l inspace", + ".lin space", + "Ġ \"...", + "Ġ\" ...", + "Ġ\". ..", + "Ġ\".. .", + "L isten", + "List en", + "Li sten", + "Æ ¡", + ". Channel", + ".Ch annel", + "- defined", + "-d efined", + "-def ined", + "Re peat", + "Rep eat", + "ad just", + "adj ust", + "E RM", + "ER M", + "_ application", + "_app lication", + "_ap plication", + ".assert NotNull", + ".assertNot Null", + "- stream", + "-st ream", + "-str eam", + "Ġ rabbit", + "Ġr abbit", + "Ġrab bit", + "Ġposition ing", + "Ġ woke", + "Ġw oke", + "Ġwo ke", + "Ġf ing", + "Ġfin g", + "Ġfi ng", + "Ġmulti player", + "Ġmultip layer", + "Ġregister ing", + "Ġregist ering", + "un til", + "unt il", + "Ã¥ n", + "( ::", + "(: :", + "uss ions", + "ussion s", + "Ġpot ato", + "Ġ Equals", + "ĠE quals", + "ĠEqu als", + "ĠEqual s", + ". Sup", + ".S up", + "/ apache", + "/ap ache", + "Ġ (=", + "Ġ( =", + ". \")", + ".\" )", + ". ptr", + ".p tr", + ".pt r", + "Ġ Speech", + "ĠS peech", + "ĠSpe ech", + ". clip", + ".c lip", + ".cl ip", + ".cli p", + "ĠGab riel", + "ĠGabri el", + "Ġmus ician", + "Ġmusic ian", + "/ issues", + ". shop", + ".s hop", + ".sh op", + "Ġ Hier", + "ĠH ier", + "ĠHi er", + "_ RET", + "_RE T", + "_R ET", + "_ bucket", + "_b ucket", + "ãĥ ¡", + "a vs", + "av s", + "Ġ roz", + "Ġr oz", + "Ġro z", + "f lower", + "fl ower", + "flow er", + "flo wer", + "Write Barrier", + "ĠM ilan", + "ĠMil an", + "ĠMi lan", + "Ġlegisl ature", + "ĠD oll", + "ĠDo ll", + "ĠDol l", + "Ġpro ving", + "Ġpr oving", + "Ġprov ing", + ".concat enate", + "âķ IJ", + "Ġg char", + "Ġgc har", + "cdn js", + "b les", + "ble s", + "bl es", + "Ġ Listing", + "ĠL isting", + "ĠList ing", + "ĠLis ting", + "л о", + ".xr Label", + "ĠS ak", + "ĠSa k", + "just ice", + "ju stice", + "ĠVal entine", + "ĠValent ine", + "un less", + "Ġp iger", + "Ġpi ger", + "Ġpig er", + "Ġpige r", + "( run", + "(r un", + "Ġtest ified", + "A NA", + "AN A", + "ĠRe moves", + "ĠRem oves", + "ĠRemove s", + ") )));Ċ", + ")) ));Ċ", + "))) );Ċ", + ")))) ;Ċ", + "rec ated", + "ĠRuntime Method", + "Ġcon qu", + "ãĤ ¢", + "Ġt issues", + "Ġtissue s", + "a iler", + "ail er", + "ai ler", + "é té", + "ét é", + "- Star", + "-S tar", + "-St ar", + "Ġfl ames", + "Ġflame s", + "Ġflam es", + "Ġfla mes", + ". setIcon", + ".set Icon", + "Ġsup ern", + "Ġsuper n", + "Ġv agina", + "Ġvag ina", + "- variable", + "-var iable", + "Ġwell ness", + "C UR", + "CU R", + "Ġb elle", + "Ġbe lle", + "Ġbel le", + "Ġbell e", + ". getRequest", + ".get Request", + "Ġp oco", + "Ġpo co", + "Ġpoc o", + "b enh", + "be nh", + "ben h", + "a gens", + "ag ens", + "age ns", + "agen s", + "Ġs pill", + "Ġsp ill", + "Ġspi ll", + "Ġ Jur", + "ĠJ ur", + "ĠJu r", + "Ġ dispatcher", + "Ġdispatch er", + "Ġdisp atcher", + "н ого", + "но го", + "ног о", + "e monic", + "em onic", + "emo nic", + "emon ic", + "( dirname", + "(dir name", + "Ġ ÐĶ", + "ĠÐ Ķ", + "Ġp asse", + "Ġpass e", + "Ġpas se", + "Ġpa sse", + "Ġg anz", + "Ġga nz", + "Ġgan z", + "r icing", + "ri cing", + "ric ing", + "E U", + "Ġmuj eres", + "Ġmujer es", + "es sen", + "ess en", + "esse n", + ". attribute", + ".at tribute", + ".attrib ute", + "j j", + "ĉ ĉĠĊ", + "ĉĉ ĠĊ", + "ĉĉĠ Ċ", + "[ ^", + "Ġ strtolower", + "Ġstr tolower", + "Ġstrtol ower", + "lex er", + "ect ar", + "ec tar", + "ecta r", + "h otel", + "ho tel", + "hot el", + ". square", + ".s quare", + "Ġr all", + "Ġra ll", + "Ġl owered", + "Ġlow ered", + "Ġlower ed", + "handle d", + "hand led", + "M arket", + "Mark et", + "Mar ket", + "Ġ Uses", + "ĠU ses", + "ĠUs es", + "ĠUse s", + "i vas", + "iv as", + "iva s", + ". Business", + ".B usiness", + ".Bus iness", + "ãģĹ ãģ¦", + "ãģĹãģ ¦", + "D IV", + "DI V", + "Ġw asted", + "Ġwas ted", + "Ġwa sted", + "Ġwaste d", + "Ġwast ed", + "Ġa voir", + "Ġav oir", + "ê m", + "_ ACCOUNT", + "_AC COUNT", + "_ACC OUNT", + ". et", + ".e t", + "ĉ SDL", + "ĉS DL", + "k ap", + "ka p", + "Ġ fox", + "Ġf ox", + "Ġfo x", + "up pet", + "upp et", + "uppe t", + "{ },Ċ", + "{} ,Ċ", + "{}, Ċ", + "\" ,'", + "\", '", + "F avorite", + "P END", + "PE ND", + "Ġ AES", + "ĠA ES", + "ĠAE S", + "} ),", + "}) ,", + "Ġde duction", + "Ġded uction", + "Ġdeduct ion", + "Ġpol ÃŃt", + "Ġcomponent Will", + "ĠT elerik", + "ĠTele rik", + "_ SELF", + "_SE LF", + "_SEL F", + "Ġm use", + "Ġmus e", + "Ġmu se", + "C raft", + "Cr aft", + "Ġ dens", + "Ġd ens", + "Ġde ns", + "Ġden s", + "ठ¿", + "( tp", + "(t p", + "Ġt asty", + "Ġta sty", + "Ġtas ty", + "Ġtast y", + "Ġ balances", + "Ġbalance s", + "Ġbal ances", + "Ġded ication", + "Ġdedic ation", + "Ġdedi cation", + "ĠWall ace", + "ĠWal lace", + "Ġun law", + "Ġunl aw", + "\\ \">\\", + "\\\" >\\", + "\\\"> \\", + "Ġm um", + "Ġmu m", + "- update", + "-up date", + "e mente", + "em ente", + "ement e", + "eme nte", + "emen te", + "Ġs oda", + "Ġso da", + "Ġsod a", + "Re public", + "Rep ublic", + "as mine", + "asm ine", + "é ric", + "ér ic", + "éri c", + "( Status", + "(S tatus", + "ĠJson Convert", + "Ġ Disk", + "ĠD isk", + "ĠDis k", + "ĠDi sk", + ". Redirect", + ".Re direct", + ".Red irect", + "Ġfil ming", + "Ġfilm ing", + "/ mol", + "/m ol", + "R o", + "Ġ ville", + "Ġv ille", + "Ġvi lle", + "Ġvill e", + "Ġvil le", + "Ġtr abaj", + "Ġtrab aj", + "Ġs ynthesis", + "Ġsyn thesis", + "Ġsynth esis", + "Ġsynthes is", + "r ega", + "re ga", + "reg a", + "Ġ rl", + "Ġr l", + "S cheduler", + "Schedule r", + "ISH ED", + "current User", + "( errors", + "(err ors", + "(error s", + "(er rors", + "' h", + "_ bot", + "_b ot", + "_bo t", + "x imo", + "xi mo", + "Ġ USART", + "ĠUS ART", + "ĠUSA RT", + "_ super", + "_s uper", + "_sup er", + "_su per", + "_ DECREF", + "_DEC REF", + "н ой", + "но й", + "_ ROW", + "_R OW", + "_RO W", + "Ġprom otes", + "Ġpromote s", + "Ġpromot es", + "Ġpromo tes", + "Ġ TA", + "ĠT A", + "Ġh oras", + "Ġhor as", + "Ġho ras", + "Ġhora s", + "ĠRep resents", + "ĠRepresent s", + "Ġ nameof", + "Ġname of", + "Ġnam eof", + "Ġ Exc", + "ĠE xc", + "ĠEx c", + "ĠGar age", + "ĠGa rage", + "Ġse ine", + "Ġsein e", + "Ġsei ne", + ", #", + "Ġh erb", + "Ġhe rb", + "Ġher b", + "/ resources", + "/re sources", + "/res ources", + "/resource s", + "Ġple aded", + "Ġplea ded", + "Ġplead ed", + ".r adioButton", + ".radio Button", + "Ġ æĺ", + "Ġæ ĺ", + "O ps", + "Op s", + "ĠN est", + "ĠNe st", + "ĠNes t", + "c string", + "cs tring", + "ĠDef ence", + "Ġref ere", + "Ġrefer e", + "_ leaf", + "_le af", + "Ġreve lation", + "Ġrevel ation", + "ë §", + ".execute Update", + "_W ORLD", + "Ġexp ans", + "(\" \\\"", + "(\"\\ \"", + "j ab", + "ja b", + "Ġdoub ts", + "Ġdoubt s", + "Ġ Geometry", + "ĠGe ometry", + "ĠGeo metry", + "Ġintrodu ces", + "Ġintroduce s", + "Ġsen ators", + "Ġsenator s", + "Ġc anal", + "Ġcan al", + "Ġca nal", + ". helper", + ".h elper", + ".help er", + "ĠB iology", + "ĠBi ology", + "ĠBio logy", + "ĠBiol ogy", + "_ SENS", + "_S ENS", + "_SE NS", + ". previous", + ".pre vious", + ".prev ious", + "- touch", + "-t ouch", + "-to uch", + "a bit", + "ab it", + "abi t", + "Ġimp acted", + "Ġimpact ed", + "Ġbr ackets", + "Ġbracket s", + ". direct", + ".d irect", + ".dir ect", + ".di rect", + "ac cum", + "acc um", + "Ġtest osterone", + "ĉ action", + "ĉa ction", + "ĉac tion", + "ĉact ion", + "Ġ Chance", + "ĠCh ance", + "ĠCha nce", + "ĠChan ce", + "Ġpe aks", + "Ġpeak s", + "Ġpea ks", + "CppCodeGen WriteBarrier", + "Ġun belie", + "Ġunbe lie", + "_ press", + "_p ress", + "_pr ess", + "_pre ss", + "_pres s", + ". Rel", + ".R el", + ".Re l", + "ang led", + "angle d", + "angl ed", + "/ templates", + "/t emplates", + "/template s", + "/temp lates", + "-- >čĊ", + "--> čĊ", + "l ime", + "li me", + "lim e", + "Ġsufficient ly", + "_ nt", + "_n t", + "Exp and", + ".is file", + "Ġ isEmpty", + "Ġis Empty", + "Ġ qt", + "Ġq t", + "Ġmul her", + "a cob", + "ac ob", + "aco b", + "Ge orge", + "å¸ ¸", + "Ġas sim", + "Ġass im", + "a so", + "as o", + "Ġcompr ised", + "Ġcomprise d", + "O V", + "( CONFIG", + "(CON FIG", + "ĉ writer", + "ĉw riter", + "ĉwrite r", + "Ġd esp", + "Ġde sp", + "Ġdes p", + "Ġten ure", + "( cr", + "(c r", + ". pool", + ".p ool", + ".po ol", + "ĠB rend", + "ĠBr end", + "ĠBre nd", + "ĠBren d", + "Ġc ensor", + "( timeout", + "(time out", + "Ġp lea", + "Ġpl ea", + "Ġple a", + ". Wrap", + ".W rap", + "Ġt ightly", + "Ġtight ly", + "Ġ Were", + "ĠW ere", + "ĠWe re", + "ĠWer e", + "Ġ Ignore", + "ĠI gnore", + "ĠIgn ore", + "ĠIg nore", + "a bei", + "ab ei", + "abe i", + "Ġbr idges", + "Ġbridge s", + "Ġbrid ges", + "Ġcondem n", + "Ġsimp licity", + "Ġsimpl icity", + "Ġrout inely", + "Ġroutine ly", + "Ġbl acks", + "Ġblack s", + "Ġbla cks", + "j b", + "ĠP it", + "ĠPi t", + "U tf", + "Ut f", + "Ġ /Ċ", + "Ġ/ Ċ", + "r eload", + "re load", + "rel oad", + "Ġset Object", + "/ global", + "/g lobal", + "Ġf atty", + "Ġfa tty", + "Ġfat ty", + "Ġfatt y", + "Ġs ocks", + "Ġso cks", + "Ġsock s", + "Ġsoc ks", + "Could n", + "Ġerot isk", + "æĿ ¡", + "Ġ Pressure", + "ĠPres sure", + "ĠPress ure", + "ĠM az", + "ĠMa z", + "n pos", + "np os", + "to lower", + "tol ower", + "Ġ EQ", + "ĠE Q", + "ut eur", + "ute ur", + "Ġ Moment", + "ĠM oment", + "ĠMo ment", + "ĠMom ent", + "Ġ eta", + "Ġe ta", + "Ġet a", + "{{ --", + "Ġ graphs", + "Ġgraph s", + "Ġgrap hs", + "ĠG uar", + "ĠGu ar", + "r ine", + "ri ne", + "rin e", + "( --", + "(- -", + "Ġ HttpStatus", + "ĠHttp Status", + "( student", + "(st udent", + "* np", + "*n p", + "Ġrail way", + "Ġas ynchronous", + "_ vm", + "_v m", + "' ],'", + "'] ,'", + "'], '", + ", text", + ",t ext", + "m erchant", + "mer chant", + "( Guid", + "(G uid", + "ĠG ra", + "ĠGr a", + "ix er", + "ixe r", + "fetch All", + ". addListener", + ".add Listener", + "f lip", + "fl ip", + "* $", + "> (),", + ">( ),", + ">() ,", + "Ġsun light", + "as signed", + "ass igned", + "assign ed", + "Ġ abc", + "Ġa bc", + "Ġab c", + "Ġ COLUMN", + "ĠC OLUMN", + "ĠðŁĻĤ ĊĊ", + ") ...", + "). ..", + ").. .", + "Ġ ensemble", + "Ġen semble", + "Ġens emble", + "Ġ newline", + "Ġnew line", + "_S INGLE", + "i edad", + "ie dad", + "ied ad", + "Ġd arker", + "Ġdark er", + "Ġdar ker", + "or map", + "orm ap", + "Ġ lion", + "Ġl ion", + "Ġli on", + "pl its", + "plit s", + "Ġillustr ation", + "Ġillust ration", + "Ġ IEEE", + "ĠI EEE", + "ĠIE EE", + "Ġv ista", + "Ġvis ta", + "Ġvi sta", + "ous ands", + "ousand s", + "* ******", + "** *****", + "**** ***", + "****** *", + "*** ****", + "***** **", + "ĠTom my", + "Ġ hue", + "Ġh ue", + "Ġhu e", + "S el", + "Se l", + "Ġ aura", + "Ġa ura", + "Ġau ra", + "Ġaur a", + "ĠThe rapy", + "ĠTher apy", + "Ġan imator", + "Ġanim ator", + ". constraints", + ".con straints", + ".constraint s", + "Ġv ague", + "Ġva gue", + "Ġvag ue", + "(\" \")", + "(\"\" )", + "Ġvill ain", + "Ġvil lain", + "Ġvilla in", + "Ġbless ing", + "Ġstring Builder", + "Ġ Misc", + "ĠM isc", + "ĠMi sc", + "ĠMis c", + "Ġ DIR", + "ĠD IR", + "ĠDI R", + "f ax", + "fa x", + "- node", + "-n ode", + "-no de", + "Ġ Walking", + "ĠW alking", + "ĠWalk ing", + "ĠWal king", + "Ġ AU", + "ĠA U", + "s ess", + "se ss", + "ses s", + "Ġgr ill", + "Ġgri ll", + "VERT ISE", + "ĠF oods", + "ĠFood s", + "ĠFo ods", + "ĠFoo ds", + "Ġt ournaments", + "Ġtour naments", + "Ġtournament s", + "à ĵ", + "Ġ Marsh", + "ĠMar sh", + "ĠMars h", + "Ġw onders", + "Ġwon ders", + "Ġwonder s", + "Long itude", + ".Command Text", + "= input", + "=in put", + "_ encoder", + "_e ncoder", + "_en coder", + "_encode r", + "_enc oder", + "page Size", + "Ġ getState", + "Ġget State", + "> >Ċ", + ">> Ċ", + ". grey", + ".g rey", + ".gr ey", + "p od", + "po d", + "Ġread ings", + "Ġreading s", + "Ġre consider", + "Start up", + "Ġex cer", + "Ġexc er", + "Ġexce r", + ". balance", + ".b alance", + "_ cycle", + "_c ycle", + "_ Time", + "_T ime", + "LO CAL", + "LOC AL", + "Ġ EFI", + "ĠE FI", + "ĠEF I", + "ĠR eyn", + "ĠRe yn", + "ĠRey n", + ".set Foreground", + "b yn", + "by n", + "Ġdis connected", + "Ġdisconnect ed", + "ACT IVE", + "Ġ embedding", + "Ġembed ding", + "ic kers", + "ick ers", + "icker s", + "Ġsurround ings", + "Ġsurrounding s", + "* c", + "Ġgar ant", + "Ġga rant", + "Ġ bf", + "Ġb f", + "Ġ wipe", + "Ġw ipe", + "Ġwi pe", + "Ġ ä¸ĭ", + "Ġä¸ ĭ", + "_ TRA", + "_T RA", + "_TR A", + "ad ox", + "ado x", + "ç ķ", + "Ġs ucks", + "Ġsu cks", + "Ġsuc ks", + "Ġsuck s", + "Ġ Songs", + "ĠS ongs", + "ĠSon gs", + "ĠSong s", + "ĠAssoci ates", + "ĠAssociate s", + "ĠAssoc iates", + "ĠB ald", + "ĠBa ld", + "ĠBal d", + "ĠB rett", + "ĠBr ett", + "ĠBre tt", + "ĠBret t", + "ven ile", + "Ġ vt", + "Ġv t", + "Ġin ade", + "Ġre signed", + "Ġres igned", + "Ġresign ed", + "ĠGl enn", + "ĠGlen n", + "ĠGle nn", + ". pattern", + ".p attern", + ".pat tern", + ".Data Bind", + "Ñĥ м", + "Layout Inflater", + "c het", + "ch et", + "che t", + "ĠTest ament", + ". ms", + ".m s", + "Ġp av", + "Ġpa v", + "Ġ ReactDOM", + "ĠReact DOM", + "ur dy", + "urd y", + "A DATA", + "AD ATA", + "ADA TA", + "M u", + "/ actions", + "/a ctions", + "/action s", + "Ġ Js", + "ĠJ s", + "_ extract", + "_ex tract", + "_ext ract", + "_extra ct", + "Ġ Bring", + "ĠB ring", + "ĠBr ing", + "ĠBri ng", + ": id", + ":i d", + "st rt", + "str t", + "i vation", + "iv ation", + "iva tion", + "Ġout right", + "Ġou tright", + "Ġoutr ight", + "a zu", + "az u", + "loy ment", + "и Ñı", + "al do", + "ald o", + "Ġ Publisher", + "ĠP ublisher", + "ĠPublish er", + "E ducation", + "Educ ation", + "P alette", + "Pal ette", + "Pa lette", + "Pale tte", + "_ drv", + "_d rv", + "_dr v", + "Ġ ($(", + "Ġ( $(", + "Ġ($ (", + "ĠA nda", + "ĠAn da", + "ĠAnd a", + "Ġrem edy", + "Ġremed y", + "Ġin consistent", + "Ġincons istent", + "Ġinconsist ent", + "t ection", + "te ction", + "tec tion", + "Ġreg ulators", + "Ġregul ators", + "Ġregulator s", + "Ġshort est", + "( pair", + "(p air", + "(pa ir", + "Ġ Installation", + "ĠInstall ation", + "Ġdef endants", + "Ġdefend ants", + "Ġdefendant s", + "Ġ ();", + "Ġ( );", + "Ġ() ;", + "- large", + "-l arge", + "M el", + "Me l", + "Ġthreat en", + "н Ñı", + "Ġfet ish", + "ot ine", + "oti ne", + "_ dic", + "_d ic", + "_di c", + "Ġ <$", + "Ġ< $", + "Ġst agger", + "Ġsta gger", + "Ġstag ger", + "s pi", + "sp i", + "$ response", + "$res ponse", + "S erv", + "Se rv", + "Ser v", + "- born", + "-b orn", + "-bo rn", + "j os", + "jo s", + "ĉ img", + "ĉi mg", + "ĉim g", + "ĉ WHERE", + "ĉW HERE", + "_ lt", + "_l t", + "å½ ĵ", + ". cost", + ".c ost", + ".co st", + ".cos t", + "Ġ Tue", + "ĠT ue", + "ĠTu e", + ". labels", + ".label s", + ".lab els", + "Ġ LV", + "ĠL V", + "wcs store", + "ĠJ esse", + "ĠJes se", + "ĠJe sse", + "ĠJess e", + "ภ«", + "T rade", + "Tr ade", + "Trad e", + "Tra de", + "Ġpredecess or", + "ë Ĥ", + "f inally", + "fin ally", + "final ly", + "_ general", + "_g eneral", + "_gen eral", + "_gene ral", + "_gener al", + "oggle r", + "ogg ler", + "_ REGION", + "_REG ION", + "n ement", + "ne ment", + "nem ent", + "Ġb logger", + "Ġblog ger", + "Ġblo gger", + "ĠHar bor", + "Ġ Dataset", + "ĠD ataset", + "ĠData set", + "ĠDat aset", + "[ w", + "Ġattend ees", + "Ġattendee s", + ". ico", + ".i co", + ".ic o", + "max imum", + ". Unlock", + ".Un lock", + "_ SYNC", + "_S YNC", + "_SY NC", + "_SYN C", + "ág ina", + "Ġd owns", + "Ġdown s", + "Ġdow ns", + "ĠW ii", + "ĠWi i", + "] )/", + "]) /", + "Ġk icking", + "Ġkick ing", + "un ication", + "unic ation", + "uni cation", + "Ġ DAC", + "ĠD AC", + "ĠDA C", + "Ġ IDS", + "ĠI DS", + "ĠID S", + "ĠR ental", + "ĠRen tal", + "ĠRent al", + "Ġ currentTime", + "Ġcurrent Time", + "Ġvacc ines", + "Ġvaccine s", + "ĠD evil", + "ĠDe vil", + "ĠDev il", + "Ġn ors", + "Ġno rs", + "Ġnor s", + "_ mouse", + "_m ouse", + "_mo use", + "ur rection", + "urre ction", + "urr ection", + "urrect ion", + "( no", + "(n o", + "Ġ >čĊ", + "Ġ> čĊ", + "Ġag gression", + "Ġaggress ion", + "Ġagg ression", + "Ġbre eding", + "Ġbreed ing", + "Ġbree ding", + ". symbol", + ".s ymbol", + ".sym bol", + "i man", + "im an", + "ima n", + "Absolute Path", + "Ġ WHO", + "ĠW HO", + "ĠWH O", + "_ flush", + "_f lush", + "_fl ush", + "- root", + "-r oot", + "-ro ot", + "a rna", + "ar na", + "arn a", + "& M", + "Ġf athers", + "Ġfa thers", + "Ġfather s", + "Ġ Rocket", + "ĠR ocket", + "ĠRock et", + "ĠRo cket", + "ĠRoc ket", + "i veau", + "ive au", + "Ġw ander", + "Ġwa nder", + "Ġwand er", + "Ġwan der", + "Ġcom pos", + "Ġcomp os", + "ĠWar rior", + "Ġ Seat", + "ĠS eat", + "ĠSe at", + "ĠSea t", + "ĠCl inic", + "ĠClin ic", + "ĠCli nic", + "_ invoice", + "_in voice", + "_inv oice", + "( dispatch", + "(dis patch", + "Product o", + "at uring", + "atur ing", + "atu ring", + "oss ier", + "ĠM AY", + "ĠMA Y", + "Ġd agger", + "Ġda gger", + "Ġdag ger", + "Ġsan itized", + "Ġsanit ized", + "Ġsanitize d", + "Ġ RFC", + "ĠR FC", + "ĠRF C", + "Ġp roph", + "Ġpro ph", + "Ġpr oph", + "Ġprop h", + "Ġu rine", + "Ġur ine", + "Ġuri ne", + "Ġgr ind", + "Ġgri nd", + "Ġgrin d", + "Ġ Expanded", + "ĠExp anded", + "ĠExpand ed", + "des cripcion", + "- fw", + "-f w", + "ĠK erry", + "ĠKer ry", + "ĠKerr y", + "= name", + "=n ame", + "Ġ chk", + "Ġc hk", + "Ġch k", + "Ġn ationally", + "Ġnational ly", + "Ġnation ally", + "Ġt hee", + "Ġth ee", + "Ġthe e", + "I nc", + "In c", + "Ġ ?>>", + "Ġ? >>", + "Ġ?> >", + ". RadioButton", + ".R adioButton", + ".Http ServletResponse", + ".HttpServlet Response", + "/ Y", + "ĉ field", + "ĉf ield", + "ĉfi eld", + "Ġ homme", + "Ġhom me", + "y per", + "ype r", + "yp er", + "Ph ysical", + "Phys ical", + "= v", + "Ġd riv", + "Ġdr iv", + "Ġdri v", + "Ġ Errors", + "ĠError s", + "ĠEr rors", + "ĠErr ors", + "Ġc Äĥ", + "De ath", + "Ġ WINDOW", + "ĠW INDOW", + "Ġpo et", + "Ġ Sharp", + "ĠSh arp", + "ĠSha rp", + "ĠShar p", + "Ġ Immutable", + "ĠIm mutable", + "ĠImm utable", + "ĉ create", + "ĉc reate", + "Ġge ht", + "Ġgeh t", + "ĠRe form", + "ĠRef orm", + "a iser", + "ai ser", + "ais er", + "aise r", + "Ġ Initialization", + "ĠInitial ization", + "Ġimm unity", + "Ġimmun ity", + ". compose", + ".com pose", + ".comp ose", + "Ġlate ncy", + "Ġlat ency", + "Ġlaten cy", + "ĠLeban on", + "ĠPar ad", + "ĠPa rad", + "ĠPara d", + "Ġf uels", + "Ġfuel s", + "Ġfu els", + "Ġfue ls", + "ĠEx hib", + "c oh", + "co h", + "% \">Ċ", + "%\" >Ċ", + "%\"> Ċ", + "Ġ CLI", + "ĠC LI", + "ĠCL I", + ") initWith", + ")init With", + "- Za", + "-Z a", + "_ CLEAR", + "_C LEAR", + "_CL EAR", + "re gn", + "reg n", + "Ġfin ances", + "Ġfinance s", + "Ġfinanc es", + "Ġfinan ces", + ". standard", + ".st andard", + "_ CATEGORY", + "_C ATEGORY", + ". library", + ".l ibrary", + ".lib rary", + "Ġtravel ers", + "Ġtraveler s", + "_ wp", + "_w p", + "Ġ Evaluation", + "ĠE valuation", + "ĠEval uation", + "ĠEvalu ation", + "start ing", + "star ting", + "Ġ )),Ċ", + "Ġ) ),Ċ", + "Ġ)) ,Ċ", + "ep isode", + "Ġ Variant", + "ĠV ariant", + "ĠVar iant", + "ĠVari ant", + "Ġ daemon", + "Ġda emon", + "ĠJ ulia", + "ĠJul ia", + "ĠJu lia", + "ĠJuli a", + "Ġ NR", + "ĠN R", + "Ġd oubles", + "Ġdouble s", + "Ġdoub les", + "Ġdou bles", + "< v", + "/ runtime", + "/r untime", + "/run time", + "Ġ interpreter", + "Ġinter preter", + "Ġinterpret er", + "Ġinterpre ter", + "Ġ INDEX", + "ĠIN DEX", + "ĠIND EX", + "ĠHol mes", + "_ DIM", + "_D IM", + "_DI M", + "Ġp addle", + "Ġpad dle", + "Ġpadd le", + "_ example", + "_ex ample", + "_exam ple", + "Ġ foreground", + "Ġfore ground", + ". routes", + ".r outes", + ".route s", + ".ro utes", + "Ġs owie", + "Ġso wie", + "Ġsow ie", + "S UCCESS", + "Ġ CDC", + "ĠC DC", + "ĠCD C", + "Ġ BD", + "ĠB D", + "_ -", + "as ured", + "asure d", + "asu red", + "W riting", + "Wr iting", + "Ġ currentPage", + "Ġcurrent Page", + "( answer", + "(ans wer", + "(an swer", + "Ġ ASCII", + "ĠA SCII", + "ĠASC II", + "à ¨", + "Ġsocial ly", + "Ġsoc ially", + "Ġsoci ally", + "y yy", + "yy y", + "ĠSpecial ist", + "( customer", + "(c ustomer", + "(custom er", + "ist ani", + "istan i", + "ista ni", + "k est", + "ke st", + "kes t", + "ĠM ak", + "ĠMa k", + "Ġt ho", + "Ġth o", + ". pt", + ".p t", + "( comment", + "(com ment", + "(comm ent", + "Ġ Converter", + "ĠCon verter", + "ĠConvert er", + "g am", + "ga m", + "b ins", + "bin s", + "bi ns", + ". tele", + ".t ele", + ".te le", + ".tel e", + "ĠVeter ans", + "ĠVeteran s", + "_ ALLOC", + "_AL LOC", + "_ALL OC", + "олÑĮзов аÑĤ", + "inn amon", + "; width", + "o hl", + "oh l", + "Ġf antas", + "Ġfan tas", + "Ġfant as", + "Ġs ung", + "Ġsu ng", + "Ġsun g", + "ĉ K", + "( Json", + "(J son", + "Ġneighbour hood", + "Ġv ow", + "Ġvo w", + "Ġs ins", + "Ġsi ns", + "Ġsin s", + "on acci", + "ona cci", + "Ġ epochs", + "Ġepoch s", + "im agen", + "image n", + "ima gen", + "imag en", + ". Change", + ".Ch ange", + ".my batis", + "Se ek", + "See k", + "W ER", + "WE R", + "管 çIJĨ", + "Ġinter ess", + "Ġinte ress", + "Ġinteres s", + "_ Event", + "_E vent", + "ed erland", + "eder land", + "Ġterr itor", + "Ġci udad", + "uc ked", + "uck ed", + "Ġsn ack", + "Ġsna ck", + "Ġtrans ported", + "Ġtransport ed", + "Ġtransporte d", + "Ġ Manifest", + "ĠMan ifest", + "Ġ DAT", + "ĠD AT", + "ĠDA T", + "_ theta", + "_th eta", + "_the ta", + "Ġw ont", + "Ġwon t", + "Ġwo nt", + ". ĊĊĊĊĊĊĊĊĊĊ", + ".ĊĊ ĊĊĊĊĊĊĊĊ", + ".Ċ ĊĊĊĊĊĊĊĊĊ", + ".ĊĊĊĊ ĊĊĊĊĊĊ", + ".ĊĊĊ ĊĊĊĊĊĊĊ", + ".ĊĊĊĊĊĊ ĊĊĊĊ", + ".ĊĊĊĊĊĊĊĊ ĊĊ", + ".ĊĊĊĊĊ ĊĊĊĊĊ", + "Ĭ¶ æĢģ", + "ĠE pic", + "ĠEp ic", + "D eck", + "De ck", + "Dec k", + "l tra", + "lt ra", + "ltr a", + "_ ZERO", + "_Z ERO", + "Ġ[ ];", + "Ġ[] ;", + "/ scripts", + "/s cripts", + "/script s", + "Ġ --------------------------------------------------------------------------------", + "Ġ---------------------------------------------------------------- ----------------", + "Ġ---- ----------------------------------------------------------------------------", + "Ġ---------------- ----------------------------------------------------------------", + "Ġ------------------------------------------------ --------------------------------", + "Ġ-------------------------------- ------------------------------------------------", + "Ġ---------------------------------------------------------------------------- ----", + "Ġ---------- ----------------------------------------------------------------------", + "Ġ------------------------------------------------------------ --------------------", + "Ġ------------------------------------------------------------------------- -------", + "æĥ ħ", + "Ġ weed", + "Ġw eed", + "Ġwe ed", + "Ġwee d", + "N BC", + "NB C", + "Ġr aped", + "Ġrap ed", + "Ġra ped", + "Ġrape d", + "Ġ Gateway", + "ĠG ateway", + "ĠGate way", + "ĠGat eway", + "[ M", + "Ġ Timeout", + "ĠTime out", + "ench mark", + ". ViewModel", + ".View Model", + "Ġporn os", + "Ġpor nos", + "Ġporno s", + "Ġ Ya", + "ĠY a", + "th ritis", + "thr itis", + "ĠFl ynn", + "ĠFly nn", + "Ġ mega", + "Ġm ega", + "Ġme ga", + "Ġmeg a", + "a cin", + "ac in", + "aci n", + "Ġtr ibal", + "Ġtri bal", + "Ġtrib al", + ". apple", + ".app le", + ".ap ple", + "Ġ Blo", + "ĠB lo", + "ĠBl o", + "â n", + "i bi", + "ib i", + "r ov", + "ro v", + "ĠL ives", + "ĠLive s", + "ĠLi ves", + "ĠLiv es", + "^ .", + "get Request", + "Ġ Establish", + "ĠEst ablish", + "cont ainers", + "container s", + "contain ers", + "Ġst arring", + "Ġstar ring", + "Ġcele brities", + "Ġcelebr ities", + "Ġ Relative", + "ĠRel ative", + "ĠHe ights", + "ĠHeight s", + "Ġtq dm", + "ĠNorth west", + "i vic", + "iv ic", + "ivi c", + "ĉ cl", + "ĉc l", + "Ġautom otive", + "ent ric", + "entr ic", + "Ġ fortunate", + "Ġfort unate", + "Ġfire place", + "Ġfi replace", + "se ud", + "n ickname", + "nick name", + "; s", + "_ CAL", + "_C AL", + "_CA L", + "h alt", + "ha lt", + "hal t", + "( ns", + "(n s", + "_ deleted", + "_de leted", + "_delete d", + "_del eted", + "De velopment", + "Dev elopment", + "Develop ment", + "m ovies", + "movie s", + "mov ies", + "Ġid entities", + "Ġident ities", + "Ġprompt ly", + "ا ÙĨ", + "ا٠Ĩ", + "Ġ ante", + "Ġa nte", + "Ġan te", + "Ġant e", + "Ġ\" ','", + "Ġ\"' ,'", + "Ġ\"', '", + "åı £", + "imp se", + "imps e", + "Ġy ap", + "Ġya p", + "Type Name", + "Ġb itch", + "Ġbit ch", + "Ġassoci ates", + "Ġassociate s", + "Ġassoc iates", + "HE ME", + "- empty", + "-em pty", + "Ġ ت", + "ĠØ ª", + "ol vers", + "olve rs", + "olver s", + "olv ers", + "Ġp istol", + "Ġpist ol", + "Ġpis tol", + "Sc oped", + "Scope d", + "ag ner", + "agn er", + "agne r", + "' ]=='", + "'] =='", + "']= ='", + "']== '", + "Ġ IMP", + "ĠI MP", + "ĠIM P", + "e xc", + "ex c", + "Ġo mitted", + "Ġom itted", + "Ġomit ted", + "Ġmind set", + "Ġminds et", + "Ġ [](", + "Ġ[ ](", + "Ġ[] (", + "Ġ orn", + "Ġo rn", + "Ġor n", + "_ CAM", + "_C AM", + "_CA M", + "A vg", + "Av g", + "Localized String", + "ĠN atur", + "ĠNa tur", + "ĠNat ur", + "Ġ composer", + "Ġcom poser", + "Ġcomp oser", + "Ġcompose r", + "Ġcompos er", + "Ġ Playing", + "ĠPl aying", + "ĠPlay ing", + "ĠPla ying", + "Ġover d", + "Ġov erd", + "_ utf", + "_u tf", + "_ut f", + ". sk", + ".s k", + "ĠF ol", + "ĠFo l", + "$ page", + "$p age", + ", Object", + ",O bject", + "Ġb ees", + "Ġbe es", + "Ġbee s", + "al ary", + "ala ry", + "alar y", + "b ullet", + "bul let", + "bull et", + "_ library", + "_l ibrary", + "_lib rary", + "O ffer", + "Of fer", + "Off er", + "loc ated", + "locate d", + "Ġ (_,", + "Ġ( _,", + "Ġ(_ ,", + "âĢľ He", + "Ġ Owners", + "ĠOwn ers", + "ĠOwner s", + "ĠOw ners", + ") ).Ċ", + ")) .Ċ", + ")). Ċ", + "Ġb ri", + "Ġbr i", + ". Admin", + ".Ad min", + "k tion", + "kt ion", + "лÑİ Ñĩ", + "Ġerot ici", + "Ġerotic i", + "Cancel led", + "Ġ agr", + "Ġa gr", + "Ġag r", + "re views", + "review s", + "_ dma", + "_d ma", + "_dm a", + "R ICT", + "RI CT", + "RIC T", + "Ġ gfx", + "Ġg fx", + "Ġgf x", + "m pi", + "mp i", + "p po", + "pp o", + "Ġ //@", + "Ġ// @", + "Ġ/ /@", + "Ġ uppercase", + "Ġupper case", + "Ġcomm itting", + "Ġcommit ting", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "User Data", + "Ġv ai", + "Ġva i", + "ĉ sort", + "ĉs ort", + "Ġcongr at", + "Ġcong rat", + "Ġd ioxide", + "Ġdi oxide", + "д а", + ". area", + ".a rea", + ".ar ea", + ".are a", + "ĠJosh ua", + "ĠJos hua", + "ĠK och", + "ĠKo ch", + "_ break", + "_b reak", + "a zure", + "az ure", + "azu re", + "is tical", + "ist ical", + "istic al", + "isti cal", + "istica l", + "_AL PHA", + "_ views", + "_view s", + "_vi ews", + "Ġelim inating", + "Ġelimin ating", + "O MB", + "OM B", + "e numer", + "en umer", + "enu mer", + "enum er", + "ĠH ydro", + "ĠHy dro", + "( *(", + "(* (", + "ERT ICAL", + "Ġinev itably", + "Ġst ole", + "Ġsto le", + "Ġstol e", + "- east", + "-e ast", + "i eron", + "ie ron", + "ier on", + "iero n", + "Ġ linger", + "Ġl inger", + "Ġli nger", + "Ġlin ger", + "Ġling er", + "/ doc", + "/d oc", + "/do c", + "Å º", + "Ġ Already", + "ĠAl ready", + "as io", + "asi o", + "Ġ --Ċ", + "Ġ- -Ċ", + "Ġ-- Ċ", + "Ġ abbrev", + "Ġabb rev", + "Ġ Atom", + "ĠA tom", + "ĠAt om", + "h im", + "hi m", + "Ġ INSERT", + "ĠINS ERT", + "s un", + "su n", + "âĻ ª", + "CON NECT", + "CONN ECT", + "er ator", + "era tor", + "ĠM anning", + "ĠMan ning", + "ĠMann ing", + "Ġ :(", + "Ġ: (", + "g as", + "ga s", + "= >'", + "=> '", + "Ġquery set", + "; }čĊ", + ";} čĊ", + "Ġ Population", + "ĠPop ulation", + "uted String", + "res ident", + "resi dent", + "_ FONT", + "_F ONT", + "Ġ Respond", + "ĠRes pond", + "ĠResp ond", + "Ġobsc ure", + "Ġ observable", + "Ġo bservable", + "Ġobserv able", + "ĠContrib utors", + "ĠContributor s", + "k on", + "ko n", + "ĠM usk", + "ĠMus k", + "ĠMu sk", + "ex ao", + "ĠT ub", + "ĠTu b", + "Boot Application", + "S OR", + "SO R", + ". Horizontal", + ".H orizontal", + ". findBy", + ".find By", + ". power", + ".p ower", + ".pow er", + ".po wer", + "Ġpositive ly", + "Ġposit ively", + "ven ience", + "ĠJ ong", + "ĠJo ng", + "ĠJon g", + "Ġwh istle", + "Ġ знаÑĩ", + "Ġз наÑĩ", + "Ġзна Ñĩ", + "Ġзн аÑĩ", + "Ġl ending", + "Ġlen ding", + "Ġlend ing", + "Ġdestruct ive", + "Ġ onDelete", + "Ġon Delete", + "author ization", + "() ;?>", + "(); ?>", + "_ original", + "_or iginal", + "_origin al", + "_orig inal", + "sc ience", + "sci ence", + "a tra", + "at ra", + "atr a", + "?, ?,", + "Ġ Asc", + "ĠA sc", + "ĠAs c", + "Ġconvin cing", + "Ġconvinc ing", + "$ a", + "or gen", + "org en", + "orge n", + "_ Date", + "_D ate", + "Ġ Provide", + "ĠPro vide", + "ĠProvid e", + "ĠProv ide", + "Ġlon ely", + "Ġlone ly", + ") 'Ċ", + ")' Ċ", + "ex change", + "; ?>Ċ", + ";?> Ċ", + ". fast", + ".f ast", + ".fa st", + "S amples", + "Sample s", + "Sam ples", + "L ondon", + "Lo ndon", + "Lon don", + "' ])čĊ", + "'] )čĊ", + "']) čĊ", + "Ġ Ionic", + "ĠI onic", + "ĠIo nic", + "ĠIon ic", + "Ġp esso", + "Ġpes so", + "ĠKn ights", + "ĠKnight s", + "ĠR af", + "ĠRa f", + "_ attrs", + "_at trs", + "_attr s", + "_att rs", + "Ġrepe al", + "> Main", + ">M ain", + "Ġ Ordered", + "ĠOrder ed", + "ĠOrd ered", + "_ New", + "_N ew", + "=\" \"> < /", + "url patterns", + "ATION AL", + "ATIO NAL", + "pe ech", + "pee ch", + "ĠId aho", + "Ġpr incess", + "Ġprince ss", + "Ġprin cess", + "Ġprinc ess", + "Ġprinces s", + "Ġ Customers", + "ĠCustom ers", + "ĠCustomer s", + "ĠCust omers", + "a ways", + "aw ays", + "away s", + "awa ys", + "a db", + "ad b", + "ĠBry ant", + "ĠBryan t", + "n once", + "no nce", + "non ce", + "Ġad ul", + "Ġ` `(", + "Ġ`` (", + "Ġafter math", + "= dict", + "=d ict", + "text Box", + "Ġs perm", + "Ġsp erm", + "Ġspe rm", + "Ġsper m", + "Ġc ough", + "Ġco ugh", + "Ġcou gh", + "H or", + "Ho r", + "âĢĻ S", + ".Component ResourceManager", + "Ġreg ulator", + "Ġregul ator", + "Ġpartner ships", + "Ġpartners hips", + "Ġpartnership s", + "/ projects", + "/project s", + "t rys", + "tr ys", + "try s", + "ĠL aser", + "ĠLa ser", + "ĠLas er", + "⣠©", + "ĠF unk", + "ĠFun k", + "ĠFu nk", + "Ġun conscious", + "Ġuncon scious", + "Ġc rust", + "Ġcr ust", + "Ġcru st", + "Ġcrus t", + "Ġ Teams", + "ĠTe ams", + "ĠTeam s", + "ĠTea ms", + "Ġ Banner", + "ĠB anner", + "ĠBan ner", + "ĠH oney", + "ĠHon ey", + "ĠHo ney", + "l ems", + "le ms", + "lem s", + "Ġmax Width", + "Pointer Exception", + "fade Out", + "- St", + "-S t", + "Ġstr angers", + "Ġstrange rs", + "Ġstranger s", + "Ġstrang ers", + "Ġstran gers", + "_ GO", + "_G O", + "W ritable", + "Wr itable", + "_ Info", + "_In fo", + ". NonNull", + ".Non Null", + "an notations", + "annot ations", + "annotation s", + "Ġ GD", + "ĠG D", + "Ġendorse d", + "Ġendors ed", + "ĉToken Name", + "Ġ Depending", + "ĠDe pending", + "ĠDep ending", + "ĠDepend ing", + "YN AM", + "Ġ Meteor", + "ĠM eteor", + "ĠMet eor", + "Ġ Increase", + "ĠIn crease", + "ĠIncre ase", + ". Many", + ".M any", + ".Man y", + ".Ma ny", + "= =(", + "== (", + ". UUID", + ".U UID", + "_ KERNEL", + "_K ERNEL", + "Ġvid é", + "Ġ pq", + "Ġp q", + "ĠQt Gui", + "Ġ Various", + "ĠV arious", + "ĠVar ious", + "ĠVa rious", + "ĠVari ous", + "Ġ john", + "Ġj ohn", + "Ġjo hn", + "_ patch", + "_p atch", + "_pat ch", + "Ġt outes", + "Ġto utes", + "Ġtou tes", + "Ġtout es", + "Ġtoute s", + "Ġ Fail", + "ĠF ail", + "ĠFa il", + "Ġsurv iving", + "Ġsurviv ing", + "( \"${", + "(\" ${", + "(\"$ {", + "Ġ ĠĠĠĠĠĠčĊ", + "ĠĠ ĠĠĠĠĠčĊ", + "ĠĠĠĠ ĠĠĠčĊ", + "ĠĠĠ ĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠ čĊ", + "ĠĠĠĠĠ ĠĠčĊ", + "ĠĠĠĠĠĠ ĠčĊ", + "Ġ imageUrl", + "Ġimage Url", + ". wordpress", + ".word press", + "s ources", + "source s", + "ĉgl Vertex", + "âĢĻ a", + "Ġes col", + "Ġesc ol", + "R ARY", + "RA RY", + "RAR Y", + "Ġ Snake", + "ĠSn ake", + "Ġqu int", + "Ġq uint", + "Ġqui nt", + "Ġl asts", + "Ġla sts", + "Ġlast s", + "Ġlas ts", + "ĠHar mon", + "ĠHarm on", + "Ġ coil", + "Ġc oil", + "Ġco il", + "Ġcoi l", + "Ġexplo itation", + "Ġexploit ation", + "l een", + "le en", + "lee n", + "' >\";Ċ", + "'> \";Ċ", + "'>\" ;Ċ", + "Ġ SERVER", + "ĠS ERVER", + "ĠSER VER", + "Ġ HEADER", + "ĠHE ADER", + "ĠHEAD ER", + "_ velocity", + "_v elocity", + "_vel ocity", + "Ġ Invoke", + "ĠIn voke", + "ĠInv oke", + ". timestamps", + ".timestamp s", + "Ġs ulf", + "Ġsu lf", + "Ġsul f", + "I QUE", + "IQ UE", + "Ġinhabit ants", + "ph ins", + "phi ns", + "phin s", + "a zzo", + "az zo", + "azz o", + "Ġ mono", + "Ġm ono", + "Ġmon o", + "Ġmo no", + "L egend", + "Le gend", + "Leg end", + "Ġ nonce", + "Ġn once", + "Ġno nce", + "Ġnon ce", + "I FE", + "IF E", + "; \";Ċ", + ";\" ;Ċ", + "- create", + "-c reate", + "\" \",Ċ", + "\"\" ,Ċ", + "\"\", Ċ", + "per mit", + "perm it", + "ĠIm migration", + "ĠImm igration", + "Ġ pathname", + "Ġpath name", + "ff ective", + "ffect ive", + "âĻĢ âĻĢ", + "Ġex ams", + "Ġexam s", + "- event", + "-e vent", + "-ev ent", + "-even t", + "ĠT ill", + "ĠTi ll", + "ĠTil l", + "[ mid", + "[m id", + "F IX", + "FI X", + "; color", + ";c olor", + "( Order", + "_ traits", + "_t raits", + "_tr aits", + "_tra its", + "_trait s", + "Ġ orderBy", + "Ġorder By", + "Ġs unt", + "Ġsu nt", + "Ġsun t", + "ĠNich olas", + "Ø ²", + "Ġs unny", + "Ġsun ny", + "i ners", + "in ers", + "ine rs", + "iner s", + "Ġaccess ibility", + "Ġ HB", + "ĠH B", + ". comp", + ".c omp", + ".com p", + ".co mp", + "ĉ op", + "ĉo p", + "Ġminor ities", + "eth eus", + "ethe us", + "Ġcollabor ative", + "p rit", + "pr it", + "pri t", + "H IR", + "HI R", + "Ġwr aps", + "Ġwrap s", + "ĉ draw", + "ĉd raw", + "g od", + "go d", + "Ġ IX", + "ĠI X", + ". apps", + ".app s", + ".ap ps", + ".a pps", + "Ġ NM", + "ĠN M", + "Ġir relevant", + "Ġirre levant", + "ĠT igers", + "ĠTi gers", + "ĠTiger s", + "ĠTig ers", + "Ġ diag", + "Ġd iag", + "Ġdi ag", + "Ġdia g", + "G V", + "ĠAccess ories", + "k ont", + "ko nt", + "kon t", + "Ġs implify", + "Ġsimp lify", + "Ġsimpl ify", + "Ġ Favorite", + "ĠF avorite", + "ĠFavor ite", + "_ tools", + "_t ools", + "_to ols", + "_tool s", + "( []);Ċ", + "([ ]);Ċ", + "([] );Ċ", + "Ġt owers", + "Ġto wers", + "Ġtow ers", + "Ġtower s", + "B es", + "Be s", + "Ġ hunter", + "Ġh unter", + "Ġhun ter", + "Ġhunt er", + "Ġs alon", + "Ġsa lon", + "Ġsal on", + "( buff", + "(b uff", + "(buf f", + "ĉ debug", + "ĉde bug", + "Ġmal ware", + "M oving", + "Mo ving", + "Mov ing", + "- options", + "-o ptions", + "-option s", + "-opt ions", + ") +'", + ")+ '", + "ĠL OVE", + "ĠLO VE", + "_S OCKET", + "_SO CKET", + "_ fin", + "_f in", + "ĠDel aware", + "Ġsher iff", + "- invalid", + "-in valid", + "Ġ FULL", + "ĠF ULL", + "ĠFU LL", + "Ġ под", + "Ġп од", + "Ġпо д", + "e las", + "el as", + "ela s", + "\" strings", + "ĠRepresent atives", + "ĠRepresentative s", + "s urface", + "sur face", + "surf ace", + "res olved", + "resolve d", + "ht docs", + ") ):čĊ", + ")) :čĊ", + ")): čĊ", + "Ġpress ures", + "Ġpressure s", + "Ġno rms", + "Ġnor ms", + "Ġnorm s", + "Ġ pla", + "Ġp la", + "Ġpl a", + "Ġ surname", + "Ġs urname", + "Ġsur name", + "Ġ postal", + "Ġpos tal", + "Ġpost al", + "Ġpo stal", + "Ġ Depart", + "ĠDe part", + "ĠDep art", + "Ġs laughter", + "Ġsla ughter", + "or ida", + "ori da", + "Ġhe bben", + "Ġheb ben", + "Ġd esar", + "Ġde sar", + "Ġdes ar", + "comp act", + "_ LANG", + "_L ANG", + "_LA NG", + "åIJ Ī", + "o poly", + "op oly", + "opol y", + "opo ly", + "_ rad", + "_r ad", + "_ra d", + "ĠST DMETHOD", + "ĠSTD METHOD", + "L azy", + "La zy", + "Ġ ĠĠĉ", + "ĠĠ Ġĉ", + "ĠĠĠ ĉ", + ".. .,", + "... ,", + "( web", + "(w eb", + "Ġ Pont", + "ĠP ont", + "ĠPo nt", + "ĠPon t", + "Ġet was", + "Ġetwa s", + "Ġup ward", + "_ hat", + "_h at", + "Ġ ],ĊĊ", + "Ġ] ,ĊĊ", + "Ġ],Ċ Ċ", + "Ġ], ĊĊ", + "Ġ baseUrl", + "Ġbase Url", + "Ġwor rying", + "Ġworry ing", + "- addon", + "-add on", + "-ad don", + "( getClass", + "(get Class", + "S PI", + "SP I", + "Ġcapt uring", + ") },Ċ", + ")} ,Ċ", + ")}, Ċ", + "E ffects", + "Effect s", + "Eff ects", + "Ġcompet ent", + "Ġcompete nt", + "Ġf oul", + "Ġfo ul", + "Ġfou l", + "Ġsubs cribing", + "Ġsubscri bing", + "Ġ OBJECT", + "ĠO BJECT", + "ĠOBJ ECT", + "ĠOB JECT", + "IX EL", + "b ucks", + "bu cks", + "( edge", + "(e dge", + "(ed ge", + "( pass", + "(p ass", + "(pa ss", + "ĠPeter son", + "ĠPet erson", + "ĠPeters on", + "Ġbo obs", + "Ġboo bs", + "Ġboob s", + "Ġ Delay", + "ĠD elay", + "ĠDe lay", + "ĠDel ay", + "_ square", + "_s quare", + "e lim", + "el im", + "eli m", + "o ters", + "ot ers", + "ote rs", + "oter s", + "_ PC", + "_P C", + "% E", + "on click", + "Ġ SVG", + "ĠS VG", + "ĠSV G", + "Ġt opped", + "Ġto pped", + "Ġtop ped", + "Ġtopp ed", + "Ġf ist", + "Ġfi st", + "Ġfis t", + "s mart", + "sm art", + "ĠR alph", + "( owner", + "(o wner", + "j ours", + "jo urs", + "jour s", + "Ġbro nze", + "Ġbron ze", + "Ġ ArgumentException", + "ĠArgument Exception", + "( original", + "(origin al", + "(orig inal", + "(or iginal", + "_ SCALE", + "_S CALE", + "_SC ALE", + "_ cp", + "_c p", + "Ġrecomm ends", + "Ġrecommend s", + ".set Style", + "S ure", + "Sur e", + "Su re", + "L AND", + "LA ND", + "LAN D", + "Ġre peating", + "Ġrep eating", + "Ġrepe ating", + "Ġrepeat ing", + "M att", + "Mat t", + "Ma tt", + ". Visibility", + "Ġenter prises", + "Ġenterprise s", + ". Setup", + ".Set up", + "( scene", + "(s cene", + "(sc ene", + "ĠRe active", + "ĠReact ive", + "ur ge", + "urg e", + "b w", + ". Put", + ".P ut", + "p ersist", + "pers ist", + ". cookie", + ".c ookie", + ".co okie", + "ĠA udi", + "ĠAud i", + "ĠAu di", + "` s", + "s upplier", + "sup plier", + "( Form", + "(F orm", + " ¡", + "_ so", + "_s o", + "Į Ģ", + "ĠLeg ion", + "t te", + "tt e", + "N d", + "L oss", + "Lo ss", + "Los s", + "( attrs", + "(at trs", + "(attr s", + "(att rs", + ". scatter", + ".sc atter", + "Ġg room", + "Ġgr oom", + "Ġgro om", + "Ġgl impse", + "Ġglimps e", + "Ġn ails", + "Ġna ils", + "Ġnail s", + "Ġcum ulative", + "Ġf azer", + "Ġfa zer", + "Ġfaz er", + "_ services", + "_s ervices", + "_service s", + "_serv ices", + ". Num", + ".N um", + "ib ilit", + "ibil it", + "ibi lit", + "ibili t", + "_ resolution", + "_re solution", + "_res olution", + "Ġ Tx", + "ĠT x", + "um inium", + "umin ium", + "o pa", + "op a", + ". schedule", + ".s chedule", + "sm tp", + "ภķ", + "ur ry", + "urr y", + "ü k", + "g oog", + "go og", + "goo g", + "_ signature", + "_sign ature", + "_sig nature", + ". into", + ".in to", + ".int o", + "Ġ Steps", + "ĠSt eps", + "ĠSte ps", + "ĠStep s", + "Ġhome owners", + "Ġhomeowner s", + "Ġ NSURL", + "ĠNS URL", + "ĠP AC", + "ĠPA C", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĊĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĊĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĊĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĊĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĊĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĊĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĊĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĊĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĊĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĊ Ċ", + "> ')Ċ", + ">' )Ċ", + ">') Ċ", + "e nh", + "en h", + "Ġin cap", + "Ġinc ap", + "$ MESS", + "Ġm oins", + "Ġmo ins", + "Ġmoi ns", + "Ġ Fi", + "ĠF i", + "Ġoff season", + "pr essions", + "press ions", + "pression s", + "> .. < /", + "Ġpro vinces", + "Ġprov inces", + "Ġprovince s", + "Ġprovinc es", + "_ RAW", + "_R AW", + "_RA W", + "\\ App", + "Ġprostit uer", + "Ġprostitu er", + "_ gain", + "_g ain", + ".t encent", + "ff ects", + "ffect s", + "ffe cts", + "( pk", + "(p k", + "s ku", + "sk u", + "Ġ usable", + "Ġus able", + "Ġusa ble", + "ER VED", + "ERV ED", + "ERVE D", + "Ġant enna", + "Ġantenn a", + "h ea", + "he a", + "p list", + "pl ist", + "_ PLUGIN", + "_PL UGIN", + "Ñģ л", + ". lookup", + ".look up", + "á» ģ", + "Ġen larg", + "Ġp iss", + "Ġpi ss", + "Ġpis s", + "H am", + "Ha m", + "i map", + "im ap", + "ima p", + "Ġ invalidate", + "Ġin validate", + "Ġinvalid ate", + "Ġs ilk", + "Ġsi lk", + "Ġsil k", + "=\"# \">Ċ", + "=\"#\" >Ċ", + "=\"#\"> Ċ", + "ĠGr ass", + "ĠGra ss", + "Ġ Goal", + "ĠGo al", + "ĠGoa l", + "_ pdf", + "_p df", + "_pd f", + "Hand lers", + "Handler s", + "Handle rs", + "Ġst acks", + "Ġstack s", + "Ġsta cks", + ". getFullYear", + ".get FullYear", + "= [];Ċ", + "=[ ];Ċ", + "=[] ;Ċ", + "è½ ¦", + ", V", + "( split", + "(s plit", + "(sp lit", + "Ñĥн к", + "Ġbake ca", + "Ġbak eca", + "Ġ~ /.", + "Ġ~/ .", + "p ez", + "pe z", + "t ails", + "ta ils", + "tail s", + "ĠG len", + "ĠGl en", + "ĠGle n", + "Ġ setImage", + "Ġset Image", + "Ġ Comic", + "ĠC omic", + "ĠCom ic", + "ĠCo mic", + "B LOCK", + "BL OCK", + "ĉ This", + "ĉT his", + "o ader", + "oad er", + "oa der", + "Ġcapital ist", + "Ġcapita list", + "Ġcapit alist", + "_ STEP", + "_ST EP", + "( Boolean", + "Ġ Correct", + "ĠC orrect", + "ĠCor rect", + "r ina", + "ri na", + "rin a", + "Ġconc aten", + "Ġconcat en", + "å® ŀ", + "( ):ĊĊ", + "() :ĊĊ", + "():Ċ Ċ", + "(): ĊĊ", + "Ġun anim", + "Ġuna nim", + "l li", + "ll i", + "al ars", + "ala rs", + "alar s", + "- ne", + "-n e", + "Ġd ivor", + "Ġdi vor", + "Ġdiv or", + "ĠKick starter", + "] ._", + "]. _", + "< number", + " * * < /", + ": d", + "m di", + "md i", + "bind Value", + "Ġ Decision", + "ĠDe cision", + "ĠDec ision", + "Return Value", + ", index", + ",in dex", + "x fc", + "xf c", + "Ġse rum", + "Ġser um", + "get Field", + "Connection String", + "- object", + "-o bject", + "-ob ject", + ". recv", + ".re cv", + ".rec v", + "Ġunder graduate", + "Ġundergrad uate", + ". Infrastructure", + ".Inf rastructure", + "ĠK ab", + "ĠKa b", + "Ġadv isory", + "Ġadvis ory", + "Ġadvisor y", + "- tree", + "-t ree", + "-tr ee", + "Ġ mue", + "Ġm ue", + "Ġmu e", + "in form", + "info rm", + "inf orm", + ". embed", + ".em bed", + "Ġ errorCode", + "Ġerror Code", + "m icro", + "mi cro", + "mic ro", + "Ġsp arked", + "Ġspark ed", + "Ġspar ked", + "Ġimage ry", + "Ġimag ery", + "con c", + "co nc", + "_ missing", + "_m issing", + "_miss ing", + "Ġsur plus", + "K S", + "ĉR THOOK", + "ĉRT HOOK", + "T ell", + "Te ll", + "Tel l", + "r ium", + "ri um", + "Ġ Radius", + "ĠR adius", + "ĠRad ius", + "ĠRadi us", + "r ika", + "ri ka", + "rik a", + "los ion", + "ĠH ern", + "ĠHe rn", + "ĠHer n", + "G amma", + "Gam ma", + "Ga mma", + "Ġ Fee", + "ĠF ee", + "ĠFe e", + "Ġ Named", + "ĠN amed", + "ĠName d", + "ĠNa med", + "ĠNam ed", + "ĠCan yon", + "Ġ JSONArray", + "ĠJSON Array", + "Ġz wei", + "Ġzw ei", + "Ġzwe i", + "Ġ SSH", + "ĠS SH", + "ĠSS H", + "Ġser vant", + "Ġserv ant", + "co al", + "Ġden ying", + "Ġdeny ing", + "Ġs plits", + "Ġsplit s", + "Ġspl its", + "In correct", + "Inc orrect", + "Ġt ox", + "Ġto x", + "ĠAnal yst", + "ĠAnaly st", + "Ġacc red", + "Ġac cred", + "Ġaccr ed", + "u ble", + "ub le", + "ubl e", + "Ġ wt", + "Ġw t", + "Ġ Trial", + "ĠT rial", + "ĠTr ial", + "ĠTri al", + ". extension", + ".ext ension", + "Ġ Career", + "ĠCar eer", + "ĠCare er", + "Ġsec uring", + "ĠL il", + "ĠLi l", + "Ġpro jections", + "Ġproject ions", + "Ġproj ections", + "Ġprojection s", + "Ġproje ctions", + "Ġy east", + "Ġye ast", + "M ade", + "Ma de", + "Mad e", + "Ġfound ations", + "Ġfoundation s", + "ac ific", + "aci fic", + ". volume", + ".v olume", + ".vol ume", + "Ġmir rors", + "Ġmirror s", + "#### ############################################################################", + "######## ########################################################################", + "################ ################################################################", + "################################ ################################################", + "################################################################ ################", + "################################################ ################################", + "############################################################################ ####", + "######################################################################## ########", + "######################################## ########################################", + "######################## ########################################################", + "######################################################## ########################", + "Ġvi olate", + "Ġviol ate", + "ars ers", + "arse rs", + "arser s", + "Ġs ocio", + "Ġso cio", + "Ġsoc io", + "Ġsoci o", + "Ġtk inter", + "Ġ LINK", + "ĠL INK", + "ĠLI NK", + "ĠLIN K", + ". getSize", + ".get Size", + ".getS ize", + "Ġ Whole", + "ĠW hole", + "ĠWh ole", + "ĠWho le", + ")view DidLoad", + "ĉ done", + "ĉd one", + "ĉdo ne", + "ude au", + "\\ \"> < /", + "And rew", + "Andre w", + "e rb", + "er b", + "Ġf ö", + ". cluster", + ".cl uster", + "Ġdis course", + "Ġdisc ourse", + "Ġdiscour se", + "Ġdisco urse", + "_DE FIN", + "_DEF IN", + "Ġpued en", + "Ġpu eden", + "Ġpuede n", + "Ġ LOW", + "ĠL OW", + "ĠLO W", + ". av", + ".a v", + "Ġpr eca", + "Ġpre ca", + "Ġprec a", + "Ġ quo", + "Ġqu o", + "Ġq uo", + "Ġve loc", + "Ġvel oc", + ", ''", + ",' '", + "Ġ xyz", + "Ġx yz", + "Ġxy z", + "ĉ padding", + "ĉp adding", + "Ġtom atoes", + "Ġtomato es", + "ĠB ent", + "ĠBe nt", + "ĠBen t", + "_ curr", + "_c urr", + "_cur r", + "_cu rr", + "NS Date", + "Ġ getCurrent", + "Ġget Current", + "ĠgetC urrent", + "Ġ [`", + "Ġ[ `", + "Wed nesday", + ". Bar", + ".B ar", + "Ġ Vous", + "ĠV ous", + "ĠVo us", + "i nz", + "in z", + "ĠQu inn", + "ĠQui nn", + "ex cel", + "exc el", + "d os", + "do s", + "Ġout dated", + "O UTH", + "OUT H", + "OU TH", + "Ġ Maker", + "ĠM aker", + "ĠMake r", + "ĠMa ker", + "ĠMak er", + "ep endency", + "epend ency", + "Ġd ull", + "Ġdu ll", + "Ġdul l", + "ĠW inn", + "ĠWin n", + "ĠWi nn", + "o ge", + "og e", + "cl ave", + "cla ve", + "Ġ nova", + "Ġn ova", + "Ġno va", + "Ġnov a", + "Ġ aval", + "Ġa val", + "Ġav al", + "Ġava l", + "C apt", + "Cap t", + "Ca pt", + "ĠSp otify", + "ĠSpot ify", + "Ġj ul", + "Ġju l", + ") tableView", + ")t ableView", + "Ġf ilenames", + "Ġfile names", + "Ġfil enames", + "Ġfilename s", + "Ġesk ort", + "åij ¨", + "Ġsk ew", + "Ġske w", + "t erior", + "ter ior", + "te rior", + "teri or", + "Ġfin anc", + "Ġfinan c", + "Ġ tabla", + "Ġtab la", + "Ġta bla", + "ĠU IB", + "ĠUI B", + "Ġ ():", + "Ġ( ):", + "Ġ() :", + "ĠD ocker", + "ĠDo cker", + "ĠDoc ker", + "ĠDock er", + "per centage", + "percent age", + "Me et", + "i chi", + "ic hi", + "ich i", + "Ġinter im", + "Ġinte rim", + "Ġ' ='", + "Ġ'= '", + ". JSONObject", + ".JSON Object", + "( fid", + "(f id", + "(fi d", + "Ġd ownt", + "Ġdown t", + "Ġdow nt", + "Ġtrans ient", + "ĠSt eph", + "ĠSte ph", + "ĠStep h", + "Ġignor ance", + "Ġ Codes", + "ĠC odes", + "ĠCo des", + "ĠCode s", + "ĠCod es", + "= '',", + "=' ',", + "='' ,", + "Ġ ICE", + "ĠI CE", + "ĠIC E", + "Ġtran qu", + "Ġ Extended", + "ĠExt ended", + "ĠExtend ed", + "Ġ mund", + "Ġm und", + "Ġmu nd", + "Ġmun d", + "Ġ HOME", + "ĠH OME", + "ĠHO ME", + "Ġkil ometers", + "Ġkilomet ers", + "Ġ imagen", + "Ġim agen", + "Ġimage n", + "Ġimag en", + "Ġima gen", + "o ux", + "ou x", + "( sz", + "(s z", + "You ng", + "Yo ung", + "uff ed", + "uf fed", + "Ġ Wake", + "ĠW ake", + "ĠWa ke", + "ĠWak e", + "Ġa ide", + "Ġaid e", + "Ġai de", + "P ROC", + "PR OC", + "PRO C", + "ĠR at", + "ĠRa t", + "ĠL ith", + "ĠLi th", + "ĠLit h", + "b art", + "bar t", + "ba rt", + "Ġ Arrange", + "ĠAr range", + "ĠArr ange", + "p rompt", + "prom pt", + "Ð £", + "( ct", + "(c t", + "Ġ Interval", + "ĠInt erval", + "ĠInter val", + "d ept", + "de pt", + "dep t", + "D aniel", + "Dan iel", + "Dani el", + "Ġ fills", + "Ġf ills", + "Ġfil ls", + "Ġfill s", + ". tensor", + ".t ensor", + "( trim", + "(t rim", + "(tr im", + "Ġje alous", + "F eb", + "Fe b", + "\\ Common", + "Ġamendment s", + "Ġamend ments", + "_ operator", + "_op erator", + "_o perator", + "_oper ator", + "_ customize", + "_custom ize", + "Ġ ]]", + "Ġ] ]", + "Ġ bn", + "Ġb n", + "Ġdis appointment", + "Ġdisappoint ment", + "Ġmill enn", + ". when", + ".w hen", + ".wh en", + "Ġob ey", + "Ġobe y", + "Ġoff enders", + "Ġoffender s", + "Ġoffend ers", + "Ġoffen ders", + "W ild", + "Wil d", + "Wi ld", + "Ġcell For", + "Ġappar atus", + ". after", + ".a fter", + ".af ter", + "Ġ EPS", + "ĠE PS", + "ĠEP S", + "Ġad orable", + "ope rand", + "oper and", + "( listener", + "(list ener", + "ve al", + "Ġ )(", + "Ġ) (", + "Ġcardio vascular", + "uplic ates", + "uplicate s", + "r istol", + "rist ol", + "ris tol", + "Ġref uses", + "Ġrefuse s", + "( QWidget", + "(Q Widget", + "Ġel emento", + "Ġelement o", + "Ġelem ento", + "Number Of", + ". delay", + ".d elay", + ".de lay", + ".del ay", + ". groups", + ".g roups", + ".group s", + "\" >'+", + "\"> '+", + "\">' +", + "åĿ Ģ", + "ace ncy", + "ac ency", + "acen cy", + "( URL", + "(U RL", + "_ half", + "_h alf", + "_hal f", + "= l", + "Ġlist View", + "( section", + "(s ection", + "(se ction", + "(sec tion", + ". toArray", + ".to Array", + "+ /", + "ĠRodrig uez", + "i stream", + "ist ream", + "istr eam", + "Ġelig ibility", + ": :-", + ":: -", + ". newInstance", + ".new Instance", + "P B", + "Ġ Assets", + "ĠAs sets", + "ĠAss ets", + "ĠAsset s", + "Ġ Composite", + "ĠCom posite", + "ĠComp osite", + "ĠL abs", + "ĠLa bs", + "ĠLab s", + "ĠH amas", + "ĠHam as", + "ĠHa mas", + "++ );Ċ", + "++) ;Ċ", + "Ġ blk", + "Ġb lk", + "Ġbl k", + "Ġ Neo", + "ĠN eo", + "ĠNe o", + "L uc", + "Lu c", + "@ login", + "Ġun aware", + "Ġuna ware", + ". met", + ".m et", + ".me t", + "_ RELEASE", + "_RE LEASE", + "( ST", + "(S T", + "AM IL", + "AMI L", + "r ike", + "ri ke", + "rik e", + "Ġ (){Ċ", + "Ġ( ){Ċ", + "Ġ() {Ċ", + "Ġ(){ Ċ", + "( sprintf", + "(s printf", + "Ġ Accounts", + "ĠAc counts", + "ĠAccount s", + "Ġ VIEW", + "ĠV IEW", + "ĠVI EW", + "Ġ Aj", + "ĠA j", + "ãĤ °", + "Ġwh isk", + "Ġ idi", + "Ġi di", + "Ġid i", + "Ġr ode", + "Ġro de", + "Ġrod e", + "Ġ ihn", + "Ġi hn", + "Ġih n", + "ĠElement ary", + "Q ty", + "Qt y", + "Ġintrig uing", + "Ġ å¤", + "Ġå ¤", + "J obs", + "Job s", + "Jo bs", + "ĉ offset", + "ĉo ffset", + "ĠAh med", + "ĠTal iban", + "Ġ èİ·åıĸ", + "Ġè İ·åıĸ", + "Ġin jected", + "Ġinj ected", + "Ġinject ed", + ". Authentication", + ".Auth entication", + "_ linear", + "_l inear", + "_line ar", + "_lin ear", + "_li near", + ". Decimal", + ".D ecimal", + ".De cimal", + ".Dec imal", + "Ġapp les", + "Ġap ples", + "Ġappl es", + "Ġapple s", + "Ġshare holders", + "Ġshareholder s", + "Ġb aked", + "Ġba ked", + "Ġbake d", + "Ġbak ed", + ". diff", + ".d iff", + ".di ff", + "ĠE ddie", + "ĠEd die", + "o kers", + "ok ers", + "oke rs", + "oker s", + "Ġconfront ed", + "vo ices", + "voice s", + "Ġt us", + "Ġtu s", + "Ġ Spin", + "ĠS pin", + "ĠSp in", + "ĠSpi n", + "N ODE", + "NO DE", + "_ Un", + "_U n", + "C TX", + "CT X", + "/ google", + "/g oogle", + "/go ogle", + "T emperature", + "Tem perature", + "Ġ' ').", + "Ġ'' ).", + "Ġ'') .", + "Ġmagn ificent", + "Ġ startIndex", + "Ġstart Index", + "semb les", + "sem bles", + "semble s", + "sembl es", + "Any one", + "z k", + "e hen", + "eh en", + "ĠD ame", + "ĠDa me", + "ĠDam e", + ". strict", + ".str ict", + "Ġre places", + "Ġrep laces", + "Ġrepl aces", + "Ġreplace s", + "Ġline back", + "Ġpush es", + "Ġpus hes", + "Ġche ek", + "ĠS hi", + "ĠSh i", + "_ BYTES", + "_BY TES", + "_BYTE S", + "R EA", + "RE A", + "ả n", + "_CON NECTION", + "_CONNECT ION", + "G ateway", + "Gate way", + "ĠTr avis", + "ĠTra vis", + "ĠTrav is", + "Ġ AX", + "ĠA X", + "Ġ Basically", + "ĠBasic ally", + "ĠBas ically", + "Ġ Upgrade", + "ĠUp grade", + "à ª", + "th emes", + "the mes", + "theme s", + "them es", + "er mo", + "erm o", + "k or", + "ko r", + "F emale", + "Fe male", + "_ attach", + "_at tach", + "_att ach", + "ĠìĤ¬ ìļ©", + "Ġ poz", + "Ġp oz", + "Ġpo z", + "= =============Ċ", + "== ============Ċ", + "==== ==========Ċ", + "======== ======Ċ", + "=== ===========Ċ", + "============ ==Ċ", + "============= =Ċ", + "=========== ===Ċ", + "============== Ċ", + "========= =====Ċ", + "========== ====Ċ", + "====== ========Ċ", + "===== =========Ċ", + "======= =======Ċ", + "( symbol", + "(s ymbol", + "(sym bol", + "Ġ Sector", + "ĠS ector", + "ĠSe ctor", + "ĠSec tor", + "ĠSect or", + "__ )ĊĊ", + "__) ĊĊ", + "__)Ċ Ċ", + "_ padding", + "_p adding", + "_pad ding", + "ï¼ļ \"", + "Ġ fabs", + "Ġf abs", + "Ġfa bs", + "Ġfab s", + "Ġr anged", + "Ġrange d", + "Ġran ged", + "Ġrang ed", + "set Name", + "Ġp error", + "Ġper ror", + "Ġpe rror", + "â Ĺ", + "ĠFile Reader", + "Ġf ulfilled", + "Ġful filled", + "Ġfulfill ed", + "Ġfulfil led", + "_ Current", + "_C urrent", + "Ġdo minate", + "Ġdom inate", + "Ġdomin ate", + "Ġdomina te", + "Ġsm ugg", + "Post Mapping", + "_ force", + "_f orce", + "_for ce", + "Ġb loc", + "Ġbl oc", + "Ġblo c", + "ĠG iant", + "ĠGi ant", + "ĠGian t", + "ĠGia nt", + "( video", + "(v ideo", + "Ġ CU", + "ĠC U", + "System Service", + "Ġ elf", + "Ġe lf", + "Ġel f", + "Ġkont akt", + "ë ª", + "k ees", + "ke es", + "kee s", + "g tk", + "gt k", + "Ġparam Int", + "Ġ markup", + "Ġmark up", + "Ġmar kup", + "u ales", + "ual es", + "ua les", + "uale s", + "Ġaccount ed", + "Ġgang bang", + "RY PT", + "Ġ Wrong", + "ĠW rong", + "ĠWr ong", + "Ġ credited", + "Ġcr edited", + "Ġcred ited", + "Ġcredit ed", + "Ġ MESSAGE", + "ĠM ESSAGE", + "Ġf laws", + "Ġfl aws", + "Ġflaw s", + "Ġfla ws", + "Ġb bw", + "Ġbb w", + "Ġmet abolic", + "Ġmetab olic", + "Ġmetabol ic", + "ĠO EM", + "ĠOE M", + "/ event", + "/e vent", + "(C ollectors", + "mon ton", + "mo nton", + "mont on", + "monto n", + "ap pear", + "app ear", + "appe ar", + "Ġop ted", + "Ġopt ed", + "Ġc heat", + "Ġch eat", + "Ġche at", + "Ġd av", + "Ġda v", + "Ġ Proceed", + "ĠPro ceed", + "ĠProc eed", + "Ġ ê¸", + "Ġê ¸", + "an ked", + "ank ed", + "anke d", + "и з", + "an sk", + "ans k", + "Ġ Hang", + "ĠH ang", + "ĠHa ng", + "ĠHan g", + "ĠC ler", + "ĠCl er", + "ĠCle r", + "Ġdis gu", + "Ġdisg u", + "Ġc map", + "Ġcm ap", + ". cljs", + ".cl js", + "Ġa ument", + "Ġau ment", + "l ez", + "le z", + "Ġ Joined", + "ĠJ oined", + "ĠJo ined", + "ĠJoin ed", + "ĠJoi ned", + "_ received", + "_re ceived", + "_receive d", + "Ġa erial", + "Ġaer ial", + "Ġae rial", + "o tel", + "ot el", + "ote l", + "Ġg reet", + "Ġgre et", + "\" s", + "Ġ Genesis", + "ĠGen esis", + "ĠGene sis", + "ĠCal if", + "ĠCa lif", + "pan ion", + "Ġtail ored", + "Ġtailor ed", + "m apping", + "ma pping", + "map ping", + "and Expect", + ". track", + ".t rack", + ".tr ack", + "at omy", + "ato my", + "atom y", + "ĠO w", + "ul lah", + "ull ah", + "ulla h", + ". Yes", + ".Y es", + "Ġ SimpleName", + "ĠSimple Name", + "d bh", + "db h", + "' en", + "'e n", + "Ġn onsense", + "Ġnon sense", + "Ġnons ense", + "Ġphilosoph ical", + "( getContext", + "(get Context", + "Ġis so", + "Ġiss o", + "Ġ ACE", + "ĠA CE", + "ĠAC E", + "start Date", + "Ġb ÄĻd", + "ĠAUTH OR", + "ĠG lobe", + "ĠGl obe", + "ĠGlo be", + "ĠGlob e", + "Ġin sects", + "Ġins ects", + "Ġinsect s", + "Ġinse cts", + "_ Al", + "_A l", + "ush ing", + "ushi ng", + "è® °", + "/ Home", + "/H ome", + "ĠLocal Date", + "ne eded", + "need ed", + "nee ded", + "hes ive", + "Ġ illusion", + "Ġill usion", + "äº Į", + "Ġt rat", + "Ġtr at", + "Ġtra t", + "x o", + "/ detail", + "/d etail", + "/de tail", + "_ MATCH", + "_M ATCH", + "_MAT CH", + "Ġbroad band", + "Ġ wal", + "Ġw al", + "Ġwa l", + "ĠIllegal StateException", + "IRE CTION", + "IRECT ION", + "Ġnor theast", + "Ġnorth east", + "es ium", + "esi um", + "Ġ Cliente", + "ĠCl iente", + "ĠClient e", + "ĠCli ente", + "ul ance", + "ula nce", + "ulan ce", + "n ty", + "nt y", + "Ġt ecn", + "Ġte cn", + "Ġtec n", + "Device s", + "Dev ices", + "Ġgr ains", + "Ġgrain s", + "Ġgra ins", + "ĠO g", + "Ġ SEL", + "ĠS EL", + "ĠSE L", + "ud iant", + "udi ant", + "Ġ ++;Ċ", + "Ġ++ ;Ċ", + "Ġexplan ations", + "Ġexplanation s", + "o cco", + "oc co", + "occ o", + "Ġd iets", + "Ġdi ets", + "Ġdie ts", + "Ġdiet s", + "Ġco hort", + "Ġcoh ort", + "( controller", + "(cont roller", + "(control ler", + ". Iterator", + ".It erator", + ".Iter ator", + "- rich", + "-r ich", + "ro cess", + "roc ess", + "G D", + "Ġcar bohydr", + "Ġ fried", + "Ġf ried", + "Ġfr ied", + "Ġfri ed", + "ĠEm ployment", + "ĠEmp loyment", + "ĠEmploy ment", + "ìŀ ¥", + "ĠLeon ard", + "ĠLeo nard", + "_ ${", + "_$ {", + "qu ares", + "quare s", + "qua res", + "Ġcompan ions", + "Ġcompanion s", + "Ġp aris", + "Ġpar is", + "Ġpa ris", + "Ġpari s", + "Ġst imulation", + "Ġstim ulation", + "ĠZ oo", + "ĠZo o", + "Ġre levance", + "Ġrelev ance", + "Ġ Colour", + "ĠCol our", + "ĠColo ur", + "Ġs pear", + "Ġsp ear", + "Ġspe ar", + "ot ional", + "otion al", + "oti onal", + "Ġ Lite", + "ĠL ite", + "ĠLi te", + "ĠLit e", + "ĠK osten", + "ĠKo sten", + "ĠKos ten", + "Ġ ó", + "Ġà ³", + "_ attachment", + "_att achment", + "_attach ment", + "orph ic", + "orp hic", + "Ġda mit", + "Ġdam it", + "Ġ dlg", + "Ġd lg", + "Ġdl g", + "Ġth rive", + "Ġthr ive", + "CH ANGE", + "CHAN GE", + "Ġ Apparently", + "ĠApp arently", + "Ġa tual", + "Ġat ual", + "Ġro oted", + "Ġroot ed", + "( images", + "(image s", + "(im ages", + "a wi", + "aw i", + "ar iat", + "ari at", + "aria t", + "Ġch erry", + "Ġcher ry", + "ST ATIC", + "STAT IC", + "m nt", + "mn t", + "Ġ UserId", + "ĠUser Id", + "il let", + "ill et", + "ille t", + "ĠHis panic", + "ĠHispan ic", + "Ġ nak", + "Ġn ak", + "Ġna k", + "Ġcent ro", + "Ġcentr o", + "Ġcen tro", + "Ġ dims", + "Ġd ims", + "Ġdi ms", + "Ġdim s", + "_ initialize", + "_initial ize", + "ı k", + "ĠCent ers", + "ĠCenter s", + "R EN", + "RE N", + "Ġevolution ary", + "Ġ Topics", + "ĠTo pics", + "ĠTop ics", + "ĠTopic s", + "_ damage", + "_d amage", + "_da mage", + "e mer", + "em er", + "eme r", + "Ġr und", + "Ġrun d", + "Ġru nd", + "Ġpun ished", + "Ġpunish ed", + "Ġc ubic", + "Ġcu bic", + "Ġcub ic", + "f air", + "fa ir", + "[ ];ĊĊ", + "[] ;ĊĊ", + "[];Ċ Ċ", + "Ġin stantiate", + "Ġinstant iate", + "Ġover see", + "Ġovers ee", + "Ġoverse e", + "- delete", + "-de lete", + "-del ete", + "unt eer", + "unte er", + "start Time", + "Ġ Pipeline", + "ĠP ipeline", + "ĠPipe line", + "ĠPip eline", + "_ GAME", + "_G AME", + "ĠC ir", + "ĠCi r", + "ĉ Null", + "ĉN ull", + ". Formatting", + ".Format ting", + "uc umber", + "ĠR ide", + "ĠRid e", + "ĠRi de", + "Ġz oo", + "Ġzo o", + "Ġ checker", + "Ġcheck er", + "Ġche cker", + "åIJ Į", + "= C", + "Ġg rit", + "Ġgr it", + "Ġgri t", + "\" );//", + "\") ;//", + "\"); //", + "_ xy", + "_x y", + "Ġ Declaration", + "ĠDe claration", + "Ġ callable", + "Ġcall able", + "F oo", + "Fo o", + "Ġ ListItem", + "ĠList Item", + "Ġin accur", + "m lin", + "ml in", + "ĉ Data", + "ĉD ata", + "Ġev olving", + "a wan", + "aw an", + "awa n", + "Ġc afe", + "Ġca fe", + "Ġcaf e", + "f olk", + "fo lk", + "fol k", + "_ IDX", + "_ID X", + "_I DX", + "Ġ Anything", + "ĠAny thing", + "ĠPalest ine", + "ĠPalestin e", + "Ġ GridView", + "ĠGrid View", + "Ġcol ony", + "Ġcolon y", + "ĠGerman s", + "ĠGer mans", + "ĠGerm ans", + "( +", + ". pid", + ".p id", + ".pi d", + ". jsx", + ".j sx", + ".js x", + "ĠSup erior", + "ĠSuper ior", + "Christ ian", + "ĠL ect", + "ĠLe ct", + "ĉ Game", + "ĉG ame", + "Ġinstrument al", + "An imations", + "Animation s", + "Anim ations", + "д ал", + "да л", + "ĠM oses", + "ĠMo ses", + "ĠMos es", + "ĉĉ čĊĉĉčĊ", + "ĉĉčĊ ĉĉčĊ", + "z s", + "k te", + "kt e", + "ä¸ ļ", + "_ DIST", + "_D IST", + "_DIS T", + "_DI ST", + "b itmap", + "bit map", + "d B", + "Ġp ersistence", + "Ġpers istence", + "Ġpersist ence", + "ÑĢ Ð¾Ñģ", + "ÑĢо Ñģ", + "$ l", + "B ron", + "Br on", + "Bro n", + "Ġ {|", + "Ġ{ |", + "_ chart", + "_c hart", + "_ch art", + "_char t", + "Ġ Consum", + "ĠCon sum", + "ĠCons um", + "Ġh emp", + "Ġhe mp", + "Ġhem p", + "Ġ \"))Ċ", + "Ġ\" ))Ċ", + "Ġ\") )Ċ", + "Ġ\")) Ċ", + "Ġatt ackers", + "Ġattack ers", + "Ġattacker s", + "Ġknowledge able", + "Ġc et", + "Ġce t", + "Ġvir uses", + "Ġvirus es", + "' I", + "Ġpitch er", + "Ġpit cher", + "Ġswe eping", + "Ġsweep ing", + "= list", + "=l ist", + "apt ops", + "aptop s", + ". depth", + ".de pth", + ".dep th", + "Ġinstruct ed", + "Ġ Rus", + "ĠR us", + "ĠRu s", + "benh avn", + "Ġ ин", + "Ġи н", + "S ports", + "Sp orts", + "Sport s", + "Spo rts", + "Ġon set", + "Ġons et", + "æĿ ĥ", + ". RED", + ".R ED", + ".RE D", + "_ si", + "_s i", + "ĠP ST", + "ĠPS T", + ". onChange", + ".on Change", + "> tag", + ">t ag", + "ĠR oh", + "ĠRo h", + "_ character", + "_char acter", + "ĠL aws", + "ĠLa ws", + "ĠLaw s", + "Ġ Bachelor", + "ĠB achelor", + "ĠBach elor", + "_ swap", + "_s wap", + "_sw ap", + ".re activex", + "Ġreward ing", + "Ġrew arding", + "M edium", + "Med ium", + "- [", + "Ġ Recently", + "ĠRec ently", + "ĠRecent ly", + "J oint", + "Join t", + "Jo int", + "part ition", + "Ġ Minutes", + "ĠMin utes", + "ĠMinute s", + "Ġ indo", + "Ġin do", + "Ġi ndo", + "Ġind o", + "Ġabsor bed", + "Ġabsorb ed", + "Ġ GN", + "ĠG N", + "_ IND", + "_IN D", + "_I ND", + "Ġs aber", + "Ġsa ber", + "Ġsab er", + "Ġsabe r", + "S pawn", + "Sp awn", + "out puts", + "output s", + "ĠJeff rey", + "Ġmed ieval", + "Ġmedi eval", + "h ed", + "he d", + "G uide", + "Gui de", + "Guid e", + "Gu ide", + "Ġpsych o", + "Ġpsy cho", + "Ġg lam", + "Ġgl am", + "E lim", + "El im", + "äd chen", + "_ plain", + "_p lain", + "_pl ain", + "Ġ Sau", + "ĠS au", + "ĠSa u", + "- four", + "-f our", + "Ġanaly zing", + "QUE RY", + "QU ERY", + "Ġtom ato", + "_ buttons", + "_button s", + "_but tons", + "V EN", + "VE N", + ". setStatus", + ".set Status", + ". Url", + ".U rl", + "+ ĊĊ", + "+Ċ Ċ", + "Ġcompl aining", + "Ġcomplain ing", + "d egree", + "de gree", + "deg ree", + "conf irmed", + "confirm ed", + "Ġsu bt", + "Ġsub t", + "p arsed", + "par sed", + "parse d", + "pars ed", + "Ġt orque", + "Ġtor que", + "Ġtrouble d", + "Ġtroub led", + "Ġtrou bled", + "Ġ TARGET", + "ĠT ARGET", + "ĠTAR GET", + "Ġtrad emarks", + "Ġtrade marks", + "Ġtrademark s", + "Ġ Coordinate", + "ĠCo ordinate", + "ĠCoord inate", + "ĠV iv", + "ĠVi v", + "Ġ //}ĊĊ", + "Ġ// }ĊĊ", + "Ġ//}Ċ Ċ", + "Ġapr ès", + ". getPosition", + ".get Position", + ".getP osition", + "( KeyCode", + "(Key Code", + "ĠSil va", + "Ġ meteor", + "Ġm eteor", + "Ġmet eor", + "Ġendorse ment", + "Ġendors ement", + "Over view", + "Ġ Poss", + "ĠP oss", + "ĠPo ss", + "ĠPos s", + ". Inject", + ".In ject", + "Ġeven ly", + "Ġ visualization", + "Ġvisual ization", + "Ġ wchar", + "Ġw char", + "Ġwc har", + "ĠH DMI", + "ĠHD MI", + "Ġf unct", + "Ġfun ct", + "Ġfunc t", + "ick name", + "',' ','", + "','', '", + "Ġfor wards", + "Ġforward s", + "Managed Object", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĉ server", + "ĉs erver", + "ĠOut look", + "ĠChron icle", + "ĠChronic le", + "Ġdub bed", + "Ġd ok", + "Ġdo k", + "ĠW ear", + "ĠWe ar", + ". AL", + ".A L", + "p aren", + "par en", + "pare n", + "pa ren", + ". Interface", + ".Inter face", + "Inter faces", + "Interface s", + ". cod", + ".c od", + ".co d", + "Ġd ib", + "Ġdi b", + ".Global ization", + "ĠAc ademic", + "ĠAcad emic", + "ĠAcadem ic", + "Ġas sms", + "Ġass ms", + "A utom", + "Auto m", + "Aut om", + "Au tom", + "Ġ lw", + "Ġl w", + "Ġ NW", + "ĠN W", + "Ġ&& čĊ", + "Ġproble ma", + "Ġproblem a", + "Ġprobl ema", + "ĠManufact uring", + "l imits", + "li mits", + "lim its", + "limit s", + "- mobile", + "-m obile", + "Ġ filme", + "Ġfil me", + "Ġfilm e", + "/ map", + "/m ap", + "Ġd oit", + "Ġdo it", + "Ġdoi t", + "ĠI nk", + "ĠIn k", + "Ġs ued", + "Ġsu ed", + "Ġsue d", + ". arr", + ".a rr", + ".ar r", + "Ġunder min", + "Ġ Proc", + "ĠP roc", + "ĠPro c", + "ĠPr oc", + "croll View", + "_ _$", + "__ $", + "Ġside walk", + "Ġsidew alk", + "( that", + "(t hat", + "(th at", + "ภ·", + "[ q", + "gram mar", + "Ġt ë", + "q uito", + "qu ito", + "quit o", + "qui to", + "Ġsp iral", + "Ġspir al", + "Ġspi ral", + "ext ended", + "extend ed", + "Ġf ocal", + "Ġfoc al", + "Ġfo cal", + "Ġdig ging", + "p as", + "pa s", + "ĠT all", + "ĠTal l", + "ĠTa ll", + ". proxy", + ".pro xy", + ".pr oxy", + "i tures", + "it ures", + "iture s", + "itu res", + "itur es", + "T RACT", + "TR ACT", + "TRA CT", + "Ġ Realm", + "ĠRe alm", + "ĠReal m", + "Ġf eder", + "Ġfe der", + "Ġfed er", + "Ġ oriented", + "Ġorient ed", + "Ġori ented", + "Ġ Alternative", + "ĠAltern ative", + "ĠAlter native", + "Ġ owe", + "Ġo we", + "Ġow e", + "Ġs ourced", + "Ġsource d", + "Ġsour ced", + "in ker", + "ink er", + "inke r", + ". det", + ".d et", + ".de t", + "S ep", + "Se p", + "Ġ Qui", + "ĠQ ui", + "ĠQu i", + "ĠPal mer", + "ĠPalm er", + "( _,", + "(_ ,", + "s amples", + "sample s", + "sam ples", + "samp les", + "o yer", + "oy er", + "ul lan", + "ull an", + "ulla n", + "q uez", + "qu ez", + "que z", + "Ed ges", + "Edge s", + "Ġsh out", + "Ġsho ut", + "Ġ Achie", + "ĠA chie", + "ĠAch ie", + "Ġ haar", + "Ġh aar", + "Ġha ar", + "_ Construct", + "_Con struct", + "Ġprem ature", + "Ġre vert", + "Ġrev ert", + "Ġreve rt", + "Ġrever t", + "' ).Ċ", + "') .Ċ", + "'). Ċ", + "Ġs chn", + "Ġsc hn", + "Ġsch n", + "filter ed", + "fil tered", + "filt ered", + "null ptr", + "S aved", + "Save d", + "Sa ved", + "it ecture", + "itect ure", + "C LA", + "CL A", + "Ġ vl", + "Ġv l", + "s tell", + "st ell", + "ste ll", + "ĉ Me", + "ĉM e", + "ĠL ip", + "ĠLi p", + "n ational", + "nat ional", + "nation al", + "Ġwh olly", + "Ġspr ings", + "Ġspring s", + ". Timer", + ".T imer", + ".Time r", + "ĉ src", + "ĉs rc", + "e lsen", + "el sen", + "else n", + "els en", + "åħ ¶", + "Ġcommunic ating", + "Ġ Quiz", + "ĠQu iz", + "ĠQui z", + "Ġt eng", + "Ġte ng", + "Ġten g", + "Ġg ez", + "Ġge z", + "Ġ Outside", + "ĠOut side", + "ĠOuts ide", + ". Sign", + ".S ign", + "( cs", + "(c s", + "Ġdisp utes", + "Ġdispute s", + "Ġdisput es", + "ĠWe iss", + "ĠWei ss", + "an nes", + "ann es", + "anne s", + "> No", + ">N o", + "ĠB ach", + "ĠBa ch", + "ĠBac h", + ".remove All", + "re fer", + "ref er", + "/ dashboard", + "/d ashboard", + "Ġ Ajax", + "ĠA jax", + "ĠAj ax", + "Index Changed", + "Ġ Weak", + "ĠWe ak", + "' \"Ċ", + "'\" Ċ", + "Ġs ights", + "Ġsight s", + "Ġsigh ts", + "access Token", + "ĠJ oi", + "ĠJo i", + "( domain", + "(d omain", + "(dom ain", + "(do main", + "ĉ cv", + "ĉc v", + "Ġcontin uation", + "Ġcontinu ation", + "Ġcontinua tion", + "Ġp lum", + "Ġpl um", + "Ġplu m", + "a dir", + "ad ir", + "adi r", + ". setMessage", + ".set Message", + "Ġ ï¼Į", + "Ġï¼ Į", + "Ġsw allow", + "Ġswal low", + "ĠL amp", + "ĠLa mp", + "ĠLam p", + "Ġ qw", + "Ġq w", + "Ġ uu", + "Ġu u", + "C oin", + "Co in", + "u bic", + "ub ic", + "ubi c", + "ĠDe als", + "ĠDeal s", + "r ace", + "ra ce", + "rac e", + "Ġdict ator", + "Ġm eme", + "Ġme me", + "Ġmem e", + "turn ed", + "tur ned", + "ĠJul ie", + "ĠJu lie", + "ĠJuli e", + ".grid Column", + "Ġp uppy", + "Ġpup py", + "Ġpu ppy", + "Ġp am", + "Ġpa m", + "Ġ ){čĊ", + "Ġ) {čĊ", + "Ġ){ čĊ", + "Ġinv iting", + "Ġinvit ing", + "Ġf rench", + "Ġfr ench", + "Ġfren ch", + "v im", + "vi m", + "Ġwr apping", + "Ġwrap ping", + "Ġ#- }Ċ", + "( [-", + "([ -", + "Ear ly", + "Ġsh iny", + "Ġshin y", + ". faces", + ".f aces", + ".face s", + ".fac es", + ".fa ces", + "Ġre bell", + "Ġreb ell", + "Ġrebel l", + "abc def", + "abcd ef", + "ä lt", + "äl t", + "Ġest imation", + "Ġestim ation", + "ph ys", + "phy s", + "los ures", + "losure s", + "_ REL", + "_RE L", + "_R EL", + "Ġex clusion", + "Ġexclus ion", + "Ġexcl usion", + "ĠSk ype", + "ĠSky pe", + "we ise", + "wei se", + "weis e", + "- stop", + "-s top", + "-st op", + "no thing", + "ĠE gg", + "ĠEg g", + "is ors", + "iso rs", + "isor s", + "Rich ard", + "Ġcounsel ing", + "Ġcom mem", + "Ġcomm em", + "Ġcomme m", + "ĠQ MessageBox", + "ĠSy nd", + "ĠSyn d", + "ĠF rost", + "ĠFr ost", + "ĠFro st", + "ĠCom petition", + "ĠCompet ition", + "ĠA wake", + "ĠAw ake", + "Ġ ted", + "Ġt ed", + "Ġte d", + "ic iones", + "ici ones", + "icio nes", + "icion es", + "ĠDev Components", + "VERTISE MENT", + "o tti", + "ot ti", + "ott i", + ". runner", + ".r unner", + ".run ner", + "Ġunique ly", + "Ġuniqu ely", + "Ġuniq uely", + ". flag", + ".f lag", + ".fl ag", + "ĉ rs", + "ĉr s", + "_ generic", + "_g eneric", + "_gen eric", + "_gene ric", + "_gener ic", + "Ġ` ``Ċ", + "Ġ`` `Ċ", + "Ġ``` Ċ", + "ACH INE", + "ACHI NE", + "Ġm ein", + "Ġme in", + "( Application", + "(App lication", + "( br", + "(b r", + "Ġrat ios", + "Ġratio s", + ": ,", + "ĠX CTest", + "ĠXCT est", + "ĠXC Test", + "ustain able", + "- www", + "-w ww", + "it les", + "itle s", + "_ TEMP", + "_T EMP", + "_TE MP", + "_TEM P", + "Ġs yst", + "Ġsys t", + "Ġsy st", + "umeric UpDown", + "ĉ assertTrue", + "ĉassert True", + "Ġ wf", + "Ġw f", + ". peek", + ".pe ek", + "ĠB ulg", + "ĠBul g", + "ĠBu lg", + "Ġterr ifying", + ". MODE", + ".M ODE", + ".MOD E", + "Ġ GW", + "ĠG W", + "á r", + "Ġ fic", + "Ġf ic", + "Ġfi c", + "Ġcommit ments", + "Ġcommitment s", + "- tech", + "-t ech", + "-te ch", + "Ġ Liquid", + "ĠL iquid", + "ĠLiqu id", + "o pez", + "op ez", + "ope z", + "z heimer", + "a ña", + "añ a", + "- media", + "-m edia", + "-me dia", + "-med ia", + "( animated", + "(an imated", + "_ goal", + "_go al", + "Ġg um", + "Ġgu m", + "y stone", + "yst one", + "ys tone", + ". SET", + ".S ET", + ".SE T", + "ĠW end", + "ĠWe nd", + "ĠWen d", + "set CellValue", + "Ġ msgs", + "Ġmsg s", + "Ġms gs", + "c ash", + "ca sh", + "cas h", + "AL LOC", + "ALL OC", + "/ aws", + "/a ws", + "Ġmicro wave", + "Ġmic rowave", + ". Pointer", + ".Point er", + "ĉ Console", + "ĉCon sole", + "_ sorted", + "_s orted", + "_sort ed", + "ĠF ilip", + "ĠFil ip", + "ĠFi lip", + "P rod", + "Pro d", + "Pr od", + "Ġ// !<", + "Ġ//! <", + "in group", + "ing roup", + "Ġ ks", + "Ġk s", + "_T RI", + "_TR I", + "Ġteas poon", + "Ġ ATT", + "ĠA TT", + "ĠAT T", + "Ġre covering", + "Ġrecover ing", + "Ġ GLOBAL", + "ĠG LOBAL", + ". Par", + ".P ar", + "Ġ/ >;Ċ", + "Ġ/> ;Ċ", + "Ġmar ble", + "ul ators", + "ula tors", + "ulator s", + "Ġ Cycle", + "ĠC ycle", + "ĠCy cle", + "ĠCycl e", + "ĠCyc le", + "Ġher bs", + "Ġherb s", + "_ metric", + "_m etric", + "_met ric", + ") !", + "_C LOCK", + "_CL OCK", + "_ Button", + "_B utton", + "H arry", + "Har ry", + "è¿ Ľ", + "Ġstr ains", + "Ġstrain s", + "Ġstra ins", + "Ġ AppBar", + "ĠApp Bar", + "Ġ Chan", + "ĠC han", + "ĠCh an", + "ĠCha n", + "/ video", + "/v ideo", + "Ġ bam", + "Ġb am", + "Ġba m", + ". Progress", + ".Pro gress", + "$ f", + "l emen", + "le men", + "lem en", + "leme n", + "Ġir regular", + "ĠD uncan", + "ĠDun can", + "ĠM int", + "ĠMin t", + "ĠMi nt", + "- video", + "-v ideo", + "ঠ¾", + "ó wn", + "ów n", + "Ġ EMPTY", + "ĠEM PTY", + "ĠEMP TY", + "Ġst acked", + "Ġstack ed", + "Ġ HA", + "ĠH A", + "_ cut", + "_c ut", + "_cu t", + "Ġwhere in", + "ĠW ays", + "ĠWay s", + "ĠWa ys", + "( counter", + "(c ounter", + "(count er", + "(co unter", + "è¯ ķ", + "Form Group", + "Ġb lew", + "Ġbl ew", + "Ġble w", + "c ourses", + "co urses", + "course s", + "cour ses", + "Ġ productos", + "Ġproduct os", + "Ġproducto s", + "r ys", + "ry s", + "Ġ Restr", + "ĠR estr", + "ĠRe str", + "ĠRes tr", + "ĠRest r", + "Ġst yling", + "Ġsty ling", + "Ġstyl ing", + "> s", + "Ġp iv", + "Ġpi v", + "Ġit ertools", + "Ġiter tools", + "get Repository", + "Ġ Ik", + "ĠI k", + "_ devices", + "_device s", + "_dev ices", + "lay ui", + "Ġhalf way", + "Ġfran ç", + "Ġt uning", + "Ġtu ning", + "Ġtun ing", + "O A", + "_ Node", + "_N ode", + "_No de", + "ar de", + "ard e", + "Ġf ierce", + "Ġfi erce", + "Ġfier ce", + "Ġfierc e", + "l icted", + "lic ted", + "lict ed", + "# čĊ", + "Ġbreak through", + "ĠE rik", + "ĠEr ik", + "Ġb ride", + "Ġbr ide", + "Ġbri de", + "Ġbrid e", + "Ġ .\"", + "Ġ. \"", + "c ulus", + "cul us", + "cu lus", + "in side", + "ins ide", + "insi de", + "ĠIndian apolis", + "Ġ EE", + "ĠE E", + "Ġy og", + "Ġyo g", + "ur ret", + "urre t", + "urr et", + ". fs", + ".f s", + ". grad", + ".g rad", + ".gr ad", + "_ cards", + "_c ards", + "_card s", + "_car ds", + "_ accuracy", + "_ac curacy", + "_acc uracy", + "_e pi", + "_ep i", + "qu eda", + "que da", + "/ org", + "/or g", + "/o rg", + "é ªĮ", + "éª Į", + "Ġcom pte", + "Ġcomp te", + "Ġcompt e", + ") )[", + ")) [", + "Out side", + "G reater", + "Great er", + "Gre ater", + "Ġ Renderer", + "ĠRender er", + ". actor", + ".a ctor", + ".ac tor", + ".act or", + "Account s", + "Ac counts", + "I dle", + "Id le", + "_ hours", + "_h ours", + "_hour s", + "er ner", + "ern er", + "erne r", + "J oined", + "Join ed", + "Jo ined", + "Ġme nj", + "Ġmen j", + "re quires", + "require s", + "requ ires", + "Ġ OPER", + "ĠO PER", + "ĠOP ER", + ".remove Child", + "ĉ sp", + "ĉs p", + "Ġ esse", + "Ġe sse", + "Ġes se", + "Ġess e", + "r ift", + "ri ft", + "rif t", + "x FE", + "xF E", + "ĠSh akespeare", + "____ ________", + "________ ____", + "Ġbudget s", + "Ġbud gets", + "Model State", + "fill able", + "- component", + "-com ponent", + "-comp onent", + "o cos", + "oc os", + "oco s", + "Ġ BUTTON", + "ĠB UTTON", + "ĠBUT TON", + "/ io", + "/i o", + ", out", + ",o ut", + "s ms", + "sm s", + "Th omas", + "Tho mas", + "ĠAr med", + "ĠArm ed", + "re sume", + "res ume", + "Ġrot ating", + "Ġ Vault", + "ĠV ault", + "ĠVa ult", + "Ġs eus", + "Ġse us", + "Ġseu s", + ". (*", + ".( *", + "Ġa mino", + "Ġam ino", + "Ġami no", + "Ġ[ ]);ĊĊ", + "Ġ[] );ĊĊ", + "Ġ[]) ;ĊĊ", + "Ġ[]);Ċ Ċ", + "Ġprov oc", + "n ox", + "no x", + ". GetEnumerator", + ".Get Enumerator", + "= ======Ċ", + "== =====Ċ", + "==== ===Ċ", + "=== ====Ċ", + "====== =Ċ", + "===== ==Ċ", + "======= Ċ", + "æĸ Ļ", + "_ scroll", + "_s croll", + "_sc roll", + "_scr oll", + "Ġfil med", + "Ġfilm ed", + "Ġfilme d", + "ĠS oci", + "ĠSo ci", + "ĠSoc i", + "g ap", + "ga p", + "g ro", + "gr o", + "V ote", + "Vo te", + "\" But", + "\"B ut", + "_ RC", + "_R C", + "An imal", + "Anim al", + " Ģ", + "ib ile", + "ibil e", + "ibi le", + "Ġaw aken", + "Ġawake n", + "o rest", + "or est", + "ore st", + "ores t", + "in ja", + "ĠI van", + "ĠIv an", + "( Command", + "Ġ *****", + "Ġ* ****", + "Ġ** ***", + "Ġ*** **", + "Ġ**** *", + "Î ·", + "Ġkv inder", + "Ġkvin der", + "Ġkvinde r", + "/ helpers", + "/h elpers", + "/help ers", + "/helper s", + "_ cases", + "_c ases", + "_case s", + "_ca ses", + "t g", + "ìĦ ¸", + "Register ed", + "ĉ pass", + "ĉp ass", + "_ digits", + "_d igits", + "_digit s", + "Ġcon tour", + "Ġcont our", + "Ġinf ants", + "Ġinfant s", + "Ġjust ification", + "Ġ Fortunately", + "ĠFort unately", + "Cont r", + "Con tr", + "ĠonCreate View", + "_ SAMPLE", + "_S AMPLE", + "_SAMPL E", + "Ġallow Null", + "Ġn ud", + "Ġnu d", + "Ġf etched", + "Ġfetch ed", + "Ġfet ched", + "_ equ", + "_e qu", + "_eq u", + "Ġ Unable", + "ĠU nable", + "ĠUn able", + "ĠUna ble", + "= \\\"\"", + "=\\\" \"", + "=\\ \"\"", + "> {Ċ", + ">{ Ċ", + "Ġcommit tees", + "Ġcommittee s", + "ist ema", + "iste ma", + "istem a", + "+ \".", + "+\" .", + "ÃŃ an", + "ÃŃa n", + "m ant", + "man t", + "ma nt", + "Ġsou theast", + "Ġsouth east", + "ï¼Į Ċ", + "dialog s", + "dia logs", + "PRO JECT", + "ch arger", + "char ger", + "charge r", + "charg er", + "- port", + "-p ort", + "-po rt", + "( uuid", + "(u uid", + ". export", + ".ex port", + ".exp ort", + "S ix", + "Si x", + "Ġ RP", + "ĠR P", + "P rem", + "Pr em", + "Pre m", + "Ġcon science", + "Ġconsc ience", + "Ġmargin Right", + "_ distribution", + "_d istribution", + "_dis tribution", + "y aml", + "ya ml", + "res izing", + "resi zing", + "D ock", + "Do ck", + "Doc k", + "Ġ Locations", + "ĠL ocations", + "ĠLocation s", + "ĠLoc ations", + "G Y", + "S eed", + "Se ed", + "See d", + "B UFFER", + "BUF FER", + "BUFF ER", + "os sip", + "oss ip", + "u llen", + "ul len", + "ull en", + "ulle n", + "Th ings", + "Thing s", + "Thin gs", + "- self", + "-s elf", + "-se lf", + ". poll", + ".p oll", + ".po ll", + ".pol l", + "PL AYER", + "PLAY ER", + "Ġ å®", + "Ġå ®", + "G ROUP", + "Ġ Away", + "ĠA way", + "ĠAw ay", + "Ġg ospel", + "x fd", + "xf d", + "M ary", + "Mar y", + "Ma ry", + "Ġ Portable", + "ĠPort able", + "ĠPor table", + "T URE", + "TU RE", + "Ġutil is", + "Ġut ilis", + "Ġse it", + "Ġsei t", + "Ġ strand", + "Ġs trand", + "Ġst rand", + "Ġstr and", + "Ġstran d", + "Ġstra nd", + "Ġtrans c", + "Ġtran sc", + "Ġ (^", + "Ġ( ^", + "ĠAl fred", + "ĠAlf red", + ". mem", + ".m em", + ".me m", + ". circle", + ".c ircle", + "Ġ ~/", + "Ġ~ /", + "for cing", + "forc ing", + "Ġ riot", + "Ġr iot", + "Ġri ot", + "Ġrio t", + "p rox", + "pr ox", + "pro x", + "TH ON", + "iz ación", + "iza ción", + "Ġ NI", + "ĠN I", + "r ost", + "ro st", + "ros t", + "Ġdis pro", + "Ġdisp ro", + "_ instances", + "_in stances", + "_instance s", + "_inst ances", + "ï¼Į âĢľ", + "ograph er", + "ogra pher", + "en das", + "end as", + "enda s", + "ĠIs aac", + "ĠIsa ac", + "ĠP ine", + "ĠPin e", + "ĠPi ne", + "/ dis", + "/d is", + "Ġcolor With", + "it erate", + "ite rate", + "iter ate", + "_ stride", + "_st ride", + "_str ide", + "Ġp unto", + "Ġpun to", + "Ġpunt o", + ". EventArgs", + ".Event Args", + "( center", + "(c enter", + "Ġneighb oring", + "Ġneighbor ing", + "ĠPr ison", + "ĠPri son", + "Ġ Messenger", + "ĠM essenger", + "ĠMess enger", + "Ġepid emic", + "Ġepidemi c", + "d ao", + "da o", + "_ complex", + "_com plex", + "_comp lex", + "Ġg ravel", + "Ġgr avel", + "Ġgrave l", + "Ġgra vel", + "Ġgrav el", + "_D IP", + "_DI P", + "é ment", + "ém ent", + "ĠA ri", + "ĠAr i", + "_ bitmap", + "_b itmap", + "_bit map", + ". quit", + ".q uit", + ".qu it", + "( valid", + "(val id", + "(va lid", + "Ġ pend", + "Ġp end", + "Ġpe nd", + "Ġpen d", + "Ġrespir atory", + "Ġre bound", + "Ġreb ound", + "Default Value", + "ãĥ Ń", + "Ġcom mits", + "Ġcomm its", + "Ġcommit s", + ". tests", + ".t ests", + ".test s", + ".te sts", + "_ fr", + "_f r", + "i tet", + "it et", + "ite t", + ". sf", + ".s f", + "Ġspace craft", + "c ritical", + "cri tical", + "cr itical", + "crit ical", + "Ġde pressed", + "Ġdep ressed", + "Ġdepr essed", + "Ġdepress ed", + "ĠAny Object", + "Ġu nb", + "Ġun b", + "Ġdis cern", + "Ġdisc ern", + "( mysql", + "(m ysql", + "(my sql", + "L atin", + "La tin", + "Lat in", + "ĠB og", + "ĠBo g", + "ĠWild life", + "To File", + "ToF ile", + "i oxid", + "iox id", + "@ RestController", + "Ġ\" $(", + "Ġ\"$ (", + "Ġ <<\"", + "Ġ< <\"", + "Ġ<< \"", + "Ġdef ects", + "Ġdefe cts", + "Ġdefect s", + "Ġ datum", + "Ġd atum", + "Ġdat um", + "h in", + "hi n", + "Ġreal izar", + "Ġrealiz ar", + "Ġrealiza r", + "any ahu", + "anya hu", + "Ġ Sig", + "ĠS ig", + "ĠSi g", + "@ Data", + "ad aptive", + "ada ptive", + "adapt ive", + "ĠC atherine", + ". cr", + ".c r", + "Ġ COOKIE", + "ĠCO OKIE", + "Ġ pictured", + "Ġp ictured", + "Ġpicture d", + "Ġpict ured", + "ĠF ighter", + "ĠFight er", + "Query able", + "Ġ Anyway", + "ĠAny way", + "ĠGL FW", + "_ namespace", + "_n amespace", + "_name space", + "_names pace", + "_ ft", + "_f t", + "Ġ ])", + "Ġ] )", + "O rganization", + "Organ ization", + "Ġconstit utes", + "Ġconstitu tes", + "Ġconstitute s", + "Ġqu and", + "Ġqua nd", + "Ġquan d", + "( chunk", + "(ch unk", + "\" />čĊ", + "\"/ >čĊ", + "\"/> čĊ", + "ĠL akes", + "ĠLa kes", + "ĠLake s", + "ĠLak es", + "main window", + "Car thy", + "Cart hy", + "s pin", + "sp in", + "spi n", + "( csv", + "(c sv", + "(cs v", + ": red", + ":r ed", + "- commerce", + "-com merce", + "-comm erce", + "ภ¹", + "Ġdis covering", + "Ġdiscover ing", + "Ġ eco", + "Ġe co", + "Ġec o", + "_ fac", + "_f ac", + "_fa c", + "ince ton", + "inc eton", + "ĠGreen s", + "ĠGre ens", + "ĠGree ns", + "j wt", + "Ø µ", + "ĠBron cos", + "Ġ Goods", + "ĠG oods", + "ĠGo ods", + "ĠGood s", + "( GTK", + "(G TK", + "Ġ returnValue", + "Ġreturn Value", + "Ġsi empre", + "Ġne utr", + "Ġneu tr", + "Ġneut r", + "w ent", + "we nt", + "wen t", + "ĠN atal", + "ĠNa tal", + "ĠNat al", + "Ġenthusi astic", + "Ġenthusiast ic", + "á» į", + "F N", + "/ database", + "/d atabase", + "/data base", + "/dat abase", + "C atalog", + "Cat alog", + "Ġb run", + "Ġbr un", + "Ġbru n", + "ĠK ash", + "ĠKa sh", + "ĠKas h", + "_ Pl", + "_P l", + "isc rim", + ", width", + ",w idth", + "Ġin mates", + "Ġinmate s", + "Ass ignment", + "Assign ment", + "ĠH aven", + "ĠHave n", + "ĠHa ven", + "ĠHav en", + "Ġplay ground", + "ex am", + "@ Controller", + "ul iar", + "uli ar", + "ulia r", + ". getParent", + ".get Parent", + ".getP arent", + "Ġ \";ĊĊ", + "Ġ\" ;ĊĊ", + "Ġ\";Ċ Ċ", + "Ġ\"; ĊĊ", + ": size", + ":s ize", + "iss ors", + "issor s", + "Ġf is", + "Ġfi s", + "Ġ alc", + "Ġa lc", + "Ġal c", + "ens ation", + "ensa tion", + "ĠN ixon", + "ĠNi xon", + "Ġ mighty", + "Ġmight y", + "- str", + "-s tr", + "-st r", + "_ special", + "_s pecial", + "_sp ecial", + "_spec ial", + "_ ADC", + "_A DC", + "_AD C", + "Ġ Twig", + "ĠT wig", + "ĠTw ig", + "um bling", + "umb ling", + "- address", + "-add ress", + "-ad dress", + "Ġher oin", + "Ġhero in", + "Y TE", + "YT E", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "F riend", + "Fri end", + "Ġ ave", + "Ġa ve", + "Ġav e", + "Ġ PNG", + "ĠP NG", + "ĠPN G", + "ĠKur dish", + "ĠKurd ish", + "DataSet Changed", + "Ġbl ades", + "Ġblade s", + "Ġbla des", + "b ral", + "br al", + "bra l", + "S team", + "St eam", + "Ste am", + "Ġs igu", + "Ġsi gu", + "Ġsig u", + "IRT UAL", + "a cos", + "ac os", + "aco s", + "U DP", + "UD P", + "( database", + "(d atabase", + "(data base", + "(dat abase", + "h ec", + "he c", + "Ġ Strings", + "ĠString s", + "ĠStr ings", + "_ scalar", + "_s calar", + "_sc alar", + "_scal ar", + "ĉ desc", + "ĉd esc", + "ĉdes c", + "ĉde sc", + "Ġ TLS", + "ĠT LS", + "ĠTL S", + "; \"Ċ", + ";\" Ċ", + "ĠCor byn", + "Simple Name", + "u ell", + "ue ll", + "uel l", + "Ġ Entre", + "ĠEn tre", + "ĠEnt re", + "ĠEntr e", + "ell ites", + "ellite s", + "elli tes", + "- place", + "-p lace", + "-pl ace", + "Ġfrank ly", + "ĠE rf", + "ĠEr f", + "C EL", + "CE L", + "Ġpa ÃŃs", + "Ġh edge", + "Ġhe dge", + "Ġhed ge", + "Ġ latent", + "Ġla tent", + "Ġlate nt", + "Ġlat ent", + "Ġlaten t", + "Ġ IRQ", + "ĠIR Q", + "ĠH erald", + "ĠHer ald", + "ĠHera ld", + "Ġ Prec", + "ĠP rec", + "ĠPr ec", + "ĠPre c", + "ë³ ´", + ". TEXT", + ".T EXT", + "S alary", + "Sal ary", + "Ġaut umn", + "Ġtr avail", + "Ġtra vail", + "Ġtrav ail", + "Ġtrava il", + ". Sum", + ".S um", + "Ġc ared", + "Ġcar ed", + "Ġca red", + "Ġcare d", + "M or", + "Mo r", + "Ġint uitive", + "Ġintuit ive", + "Ġj ournals", + "Ġjournal s", + "_ IT", + "_I T", + "Ġ Trou", + "ĠT rou", + "ĠTr ou", + "ĠTro u", + "ä¼ ł", + "Has ColumnName", + "Com posite", + "Comp osite", + "Ġsp ice", + "Ġspi ce", + "_ disk", + "_d isk", + "_dis k", + "_di sk", + "_CODE S", + "_CO DES", + "_COD ES", + "Ġ Introduced", + "ĠInt roduced", + "ĠIntro duced", + "i ona", + "ion a", + "io na", + "Ġn uestra", + "Ġnue stra", + "Ġnuest ra", + "Ġnues tra", + "o ct", + "oc t", + "ĠĠĠĠ ĊĠĠĠĠĊĠĠĠĠĊ", + "ĠĠĠĠĊ ĠĠĠĠĊĠĠĠĠĊ", + "ĠĠĠĠĊĠĠĠĠĊ ĠĠĠĠĊ", + "( parameter", + "(param eter", + "(para meter", + "Ġst udios", + "Ġstud ios", + "Ġstudio s", + "Ġstudi os", + "Ġ projectId", + "Ġproject Id", + "Ġbd sm", + ".Sql Client", + "im izer", + "imize r", + "imi zer", + "imiz er", + "Ġ CARD", + "ĠC ARD", + "ĠCA RD", + "ĠCAR D", + "+ t", + "a an", + "aa n", + ". sol", + ".s ol", + ".so l", + "_ Adjust", + "_Ad just", + "Ġright eous", + "Ġ Logging", + "ĠLog ging", + ". filters", + ".f ilters", + ".filter s", + ".fil ters", + "_ TAB", + "_T AB", + "_TA B", + "ĉ sys", + "ĉs ys", + "rop hic", + "roph ic", + "o therapy", + "other apy", + "Ġ Browse", + "ĠB rowse", + "ĠBrow se", + "key board", + "R ON", + "RO N", + "+ \\", + "r opped", + "ro pped", + "rop ped", + "ropp ed", + "Ġext ensively", + "Ġextensive ly", + "f k", + "Ġ lime", + "Ġl ime", + "Ġli me", + "Ġlim e", + "y ears", + "year s", + "ye ars", + "E xc", + "Ex c", + "Ġs ph", + "Ġsp h", + "Ġch eating", + "Ġche ating", + "Ġcheat ing", + "an dro", + "and ro", + "andr o", + "ÃŃ o", + "Ġpr ince", + "Ġpri nce", + "Ġprin ce", + "Ġprinc e", + "o ire", + "oi re", + "oir e", + "Ġ Destination", + "ĠD estination", + "ĠDest ination", + "ĠCon verts", + "ĠConvert s", + "ĠConv erts", + "Ġup stream", + "o led", + "ol ed", + "ole d", + "Ġserv ants", + "Ġservant s", + "Ġ semantic", + "Ġsem antic", + "Ġcr unch", + "Ġeven tual", + "Ġevent ual", + "r unner", + "run ner", + "/ error", + "/e rror", + "S pin", + "Sp in", + "Spi n", + "Ġsecret ly", + "Ġ assemble", + "Ġas semble", + "Ġass emble", + ". Person", + ".P erson", + ".Per son", + "end error", + "ender ror", + "ende rror", + "_ <", + "Ġp endant", + "Ġpend ant", + "S leep", + "ĠChem istry", + "Ġboss es", + "Ġbos ses", + "l k", + ") )),Ċ", + ")) ),Ċ", + "))) ,Ċ", + "))), Ċ", + "Block ly", + "DE VICE", + "DEV ICE", + "Ġreflect ing", + "Ġ ample", + "Ġam ple", + "Ġampl e", + "Ġamp le", + "M illiseconds", + "Mill iseconds", + "ĠPres idential", + "ĠPresident ial", + "Ġ usuarios", + "Ġus uarios", + "Ġusuario s", + "Ġusu arios", + "Ġ NZ", + "ĠN Z", + "Ġ Salary", + "ĠS alary", + "ĠSal ary", + "ĠSala ry", + "ĠA manda", + "ĠAm anda", + "ĠAma nda", + "_ np", + "_n p", + "j ury", + "ju ry", + "jur y", + "Ġk ön", + "Ġkö n", + "Ġther apist", + "Ġtherap ist", + "Ġhom osexual", + "Ġhomosex ual", + "Ġhomo sexual", + "ĠDr ake", + "ĠDra ke", + "- window", + "-w indow", + "Ġ Located", + "ĠLoc ated", + "ĠLocate d", + ". Driver", + ".D river", + "Ġ VIDEO", + "ĠV IDEO", + "ĠVID EO", + "Ġmer chants", + "Ġmerch ants", + "Ġmerchant s", + "ĠC hest", + "ĠCh est", + "ĠChe st", + "ĠChes t", + "- lock", + "-l ock", + "-lo ck", + "/ php", + "/p hp", + "/ph p", + "Ġmil ano", + "Ġmilan o", + "_ STYLE", + "_ST YLE", + "ar ger", + "arg er", + "arge r", + "i dea", + "id ea", + "ide a", + "G UID", + "GUI D", + "GU ID", + "ad vanced", + "adv anced", + "advance d", + "me al", + "Options ItemSelected", + "= '%", + "=' %", + "ĠC ham", + "ĠCh am", + "ĠCha m", + ": data", + ":d ata", + "( stat", + "(s tat", + "(st at", + "Will Appear", + "Ġinf ormal", + "Ġinform al", + "a ji", + "aj i", + "Ġre productive", + "Ġrepro ductive", + "Ġ CAS", + "ĠC AS", + "ĠCA S", + "ãģ £", + "F UNC", + "FUN C", + "FU NC", + "ĠR uth", + "ĠRu th", + "ĠRut h", + ") +(", + ")+ (", + "CON ST", + "CO NST", + "CONS T", + "Ġ Fans", + "ĠF ans", + "ĠFa ns", + "ĠFan s", + "Ġ groupId", + "Ġgroup Id", + "x ffffffff", + "xf fffffff", + "xff ffffff", + "xffff ffff", + "xffffff ff", + "Ġs ampler", + "Ġsample r", + "Ġsam pler", + "Ġsamp ler", + "Ġ}} \">", + "Ġ}}\" >", + ". the", + ".t he", + ".th e", + "Ġh ollow", + "Ġhol low", + "W AY", + "WA Y", + "Ġ Faculty", + "ĠFac ulty", + "Attrib utedString", + "Ġ Looks", + "ĠL ooks", + "ĠLo oks", + "ĠLook s", + "ĠR ex", + "ĠRe x", + "j k", + "ĠM IL", + "ĠMI L", + "Ġ bard", + "Ġb ard", + "Ġbar d", + "Ġba rd", + ". Long", + ".L ong", + ".Lo ng", + "Ġli vest", + "Ġlive st", + "Ġlives t", + "Ġliv est", + "Ġs kal", + "Ġsk al", + "Ġska l", + "ic ism", + "ici sm", + "M AIN", + "MA IN", + "Ġmuch o", + "Ġmu cho", + "Ġmuc ho", + "B ODY", + "BO DY", + "Ġ ese", + "Ġe se", + "Ġes e", + "ĉ use", + "ĉu se", + "ĉus e", + "F oot", + "Foo t", + "Fo ot", + ". SQLException", + ".SQL Exception", + "Ġin heritance", + "Ġinherit ance", + "re ceived", + "receive d", + "rece ived", + "Ġp utas", + "Ġput as", + "Ġpu tas", + "Ġputa s", + "e dis", + "ed is", + "edi s", + "a lsa", + "al sa", + "als a", + "Ġ ErrorMessage", + "ĠError Message", + "Bo oking", + "Book ing", + "Ġ tract", + "Ġt ract", + "Ġtr act", + "Ġtra ct", + "a cz", + "ac z", + "ĠC ant", + "ĠCan t", + "ĠCa nt", + "_ regex", + "_reg ex", + "Ġide ological", + "Ġj ihad", + "Ġji had", + "Ġjih ad", + "h os", + "ho s", + "/ sys", + "/s ys", + "co lm", + "col m", + "( pool", + "(p ool", + "(po ol", + "Ġest án", + "Ġestá n", + "Ġ Pending", + "ĠP ending", + "ĠPen ding", + "ĠPend ing", + "em ás", + "Ġktó ry", + ") );ĊĊĊ", + ")) ;ĊĊĊ", + "));Ċ ĊĊ", + "));ĊĊ Ċ", + ")); ĊĊĊ", + "trans actions", + "transaction s", + "Ġw ield", + "Ġwie ld", + "Ġwi eld", + "Ġwiel d", + "i tere", + "it ere", + "ite re", + "iter e", + "er ture", + "ert ure", + "_ ss", + "_s s", + "Ġstretch ing", + "Ġstret ching", + "Ġpr isoner", + "Ġprison er", + "Ġpris oner", + ".Read All", + "Ġb esch", + "Ġbe sch", + "Ġbes ch", + "-- ;čĊ", + "--; čĊ", + "Ġcr isp", + "Ġcri sp", + "Ġcris p", + "_ SCAN", + "_S CAN", + "_SC AN", + "Ġ ae", + "Ġa e", + "Str ict", + "ĠMin neapolis", + "ĠBo eing", + "a ris", + "ar is", + "ari s", + "r ek", + "re k", + "_ pipe", + "_p ipe", + "_pi pe", + "Ġpri ests", + "Ġpriest s", + "( EIF", + "(E IF", + "eh icles", + "ehicle s", + "Ġ Interactive", + "ĠInter active", + "b etween", + "bet ween", + "ĉNull Check", + "ĠBl air", + "Ġ Lt", + "ĠL t", + "_ inline", + "_in line", + "eth yl", + " ¼", + "_ packages", + "_p ackages", + "_package s", + "_pack ages", + "Ġbar rels", + "Ġbarrel s", + "Ġbarr els", + "_ he", + "_h e", + "Ġ regexp", + "Ġreg exp", + "Ġregex p", + "_ pts", + "_p ts", + "_pt s", + "_ Handler", + "_H andler", + "_Handle r", + "ing ular", + "ingu lar", + "ĠN issan", + "ĠR anch", + "ĠRan ch", + "Ġper ch", + "Ġpe rch", + "Ġperc h", + "Un supported", + "S mith", + "Sm ith", + "ĠLeg ends", + "ĠLegend s", + "M i", + "Ġ gf", + "Ġg f", + "st eder", + "ste der", + "sted er", + "Ġac quiring", + "Ġacqu iring", + "Ġs imulator", + "Ġsim ulator", + "Ġsimul ator", + "( ),\"", + "() ,\"", + "(), \"", + "re ceive", + "rece ive", + "Ġin place", + "Ġinp lace", + "A CTION", + "AC TION", + "ACT ION", + "Ġ WebDriver", + "ĠWeb Driver", + "file system", + "files ystem", + "< Order", + "l open", + "lo pen", + "lop en", + "lope n", + "Ġ HEIGHT", + "ĠHE IGHT", + ".set Border", + "į °", + "__ [\"", + "__[ \"", + "Ġ clamp", + "Ġc lamp", + "Ġcl amp", + "Ġclam p", + "Ġcla mp", + "Seg oe", + "b ands", + "ba nds", + "ban ds", + "band s", + "to List", + "am ba", + "amb a", + "> '+Ċ", + ">' +Ċ", + ">'+ Ċ", + "Ġ credible", + "Ġcred ible", + "a mat", + "am at", + "ama t", + "pl aying", + "play ing", + "pla ying", + ".setImage Resource", + "q uel", + "qu el", + "que l", + "Ġpo dr", + "Ġpod r", + "ge om", + "geo m", + "E k", + "ĠQ atar", + "Ġg eld", + "Ġge ld", + "Ġgel d", + "? ',Ċ", + "?' ,Ċ", + "?', Ċ", + "Ġc yl", + "Ġcy l", + "( ax", + "(a x", + "Ġ WI", + "ĠW I", + "ur ally", + "ural ly", + "ĠBr asil", + "ĠBra sil", + "ĠBras il", + "Ġs enza", + "Ġsen za", + "a ley", + "al ey", + "ale y", + "o nen", + "on en", + "one n", + "Ġ bah", + "Ġb ah", + "Ġba h", + "Ġm olecule", + "Ġmolec ule", + "R ad", + "Ra d", + "è¿ °", + "AN CH", + "ANC H", + "- background", + "-back ground", + "- agent", + "-a gent", + "-ag ent", + "-age nt", + "Ġprol ifer", + ": boolean", + "Ġt ide", + "Ġti de", + "Ġtid e", + "erial izer", + "erialize r", + "_ ;čĊ", + "_; čĊ", + "F ee", + "Fe e", + "* *)", + "** )", + "er gy", + "erg y", + "ĠH onor", + "ĠHon or", + "ĠHo nor", + ". Logging", + ".Log ging", + "i ris", + "ir is", + "iri s", + "Ġunder mine", + "Ġundermin e", + "ĠD y", + "Ġt yr", + "Ġty r", + "Ġ deque", + "Ġde que", + "Ġd amer", + "Ġda mer", + "Ġdam er", + "Ġdame r", + "( [])Ċ", + "([ ])Ċ", + "([] )Ċ", + ".layout ControlItem", + ".layoutControl Item", + "p eated", + "pe ated", + "peat ed", + "C AN", + "CA N", + "ra gments", + "rag ments", + "ragment s", + "L and", + "La nd", + ") ]);Ċ", + ")] );Ċ", + ")]) ;Ċ", + "ĠS ah", + "ĠSa h", + "Ġ DECL", + "ĠDE CL", + "ĠDEC L", + "With in", + "Wi thin", + "Ġ Namespace", + "ĠN amespace", + "ĠName space", + "ĠNames pace", + "an other", + "ano ther", + "semb ling", + "sem bling", + "sembl ing", + ". describe", + ".de scribe", + ".des cribe", + "Con sum", + "Cons um", + "Ġ Fear", + "ĠF ear", + "ĠFe ar", + "g iven", + "gi ven", + "give n", + "O range", + "Or ange", + "< boolean", + " This", + ">T his", + "Ġdata Index", + "Ġprint able", + "Ġprin table", + "ĠE yes", + "ĠEye s", + "ĠEy es", + "_ targets", + "_target s", + "_tar gets", + "( Py", + "(P y", + ". over", + ".o ver", + ".ov er", + "Ġ bru", + "Ġb ru", + "Ġbr u", + "am pton", + "amp ton", + "Ġplaint iff", + "< Key", + " );Ċ", + ">) ;Ċ", + "in vest", + "inv est", + ". *ĊĊ", + ".* ĊĊ", + ".*Ċ Ċ", + "Ġt élé", + "Ġté lé", + "Ġsu perf", + "Ġsuper f", + "Ġ cascade", + "Ġc ascade", + "Ġcas cade", + "Ġcasc ade", + "D TD", + "DT D", + "Ġv ivid", + "Ġvi vid", + "Ġviv id", + "Ġsubsid ies", + "Ġsubsidi es", + "ĠH ass", + "ĠHas s", + "ĠHa ss", + "Ġcol laps", + "Ġcoll aps", + "Ġcer amic", + "{ }\".", + "{} \".", + "ĠLeak age", + "- trash", + "-tr ash", + "-tra sh", + "c ollapsed", + "coll apsed", + "collapse d", + "- social", + "-s ocial", + "-so cial", + "ĠC had", + "ĠCh ad", + "ĠCha d", + "Ġinc lined", + "Ġincl ined", + "Ġ sto", + "Ġs to", + "Ġst o", + "Ġstory board", + ". payment", + ".p ayment", + ".pay ment", + "stack overflow", + "ĠRa iders", + "ĠRaid ers", + "ĠRaider s", + "ĠRai ders", + "Ġ #'", + "Ġ# '", + "ol icies", + "olic ies", + "oli cies", + "ìľ¼ ë¡ľ", + "e map", + "em ap", + "ema p", + "Ġ kj", + "Ġk j", + "Ġ quota", + "Ġqu ota", + "Ġquot a", + "Ġquo ta", + "ĠGar dens", + "ĠGarden s", + "ĠGard ens", + "ë² Ī", + "ĠAng els", + "ĠAnge ls", + "ĠAngel s", + "Ġ oft", + "Ġo ft", + "Ġof t", + "Ġlower case", + "Ġ iParam", + "Ġi Param", + "ĠiP aram", + "Ġche apest", + "Ġcheap est", + "un ta", + "unt a", + "_ pkt", + "_p kt", + "_pk t", + "ic ators", + "ica tors", + "icator s", + "Ġ leurs", + "Ġl eurs", + "Ġle urs", + "Ġleur s", + "Ġdecre ases", + "Ġdecrease s", + "ĉ define", + "ĉdef ine", + "ĉde fine", + "P REC", + "PR EC", + "PRE C", + "am mers", + "amm ers", + "ammer s", + "Ġ PreparedStatement", + "ĠPre paredStatement", + "ĠPrepared Statement", + "( direction", + "(d irection", + "(dir ection", + "(di rection", + "Ġcr ews", + "Ġcre ws", + "Ġcrew s", + "ar ked", + "ark ed", + "ĠMem phis", + "Ġ Sell", + "ĠS ell", + "ĠSe ll", + "ĠSel l", + "G TK", + "GT K", + "Ġ maid", + "Ġm aid", + "Ġma id", + "Ġmai d", + ": disable", + ":d isable", + "éĽ Ĩ", + "ĠP f", + "Ġal beit", + "op enh", + "open h", + "ope nh", + "?> \">Ċ", + "?>\" >Ċ", + ". getSource", + ".get Source", + ".getS ource", + "( scale", + "(s cale", + "(sc ale", + "D u", + "ĠP IL", + "ĠPI L", + "_ refresh", + "_re fresh", + "_ref resh", + "Ġb ets", + "Ġbe ts", + "Ġbet s", + "( car", + "(c ar", + "(ca r", + "ĠV on", + "ĠVo n", + "| --------------------------------------------------------------------------Ċ", + "ĠG rat", + "ĠGr at", + "ĠGra t", + "M uch", + "Mu ch", + "( Dialog", + "(D ialog", + ".stop Propagation", + "Ġ tek", + "Ġt ek", + "Ġte k", + "Ġex its", + "Ġexit s", + "' ],$", + "'] ,$", + "'], $", + "Ġ phoneNumber", + "Ġphone Number", + "u cs", + "uc s", + "e cimal", + "ec imal", + "eci mal", + "- -------------", + "-- ------------", + "---- ----------", + "-------- ------", + "--- -----------", + "------------ --", + "----- ---------", + "---------- ----", + "------ --------", + "----------- ---", + "------------- -", + "------- -------", + "--------- -----", + "i np", + "in p", + ".po jo", + "Ġcor pus", + "Ġcorp us", + "Ġpractition ers", + "Ġpractitioner s", + ". pic", + ".p ic", + ".pi c", + "\" testing", + "Ġstring By", + ". NotNull", + ".Not Null", + "Ġ rang", + "Ġr ang", + "Ġran g", + "Ġra ng", + ". Dynamic", + ".D ynamic", + "_ Render", + "_R ender", + "_Re nder", + "а ÑĤа", + "аÑĤ а", + "Wait ing", + "Wa iting", + "Ġ Wik", + "ĠW ik", + "ĠWi k", + "Ġoverwhel med", + "Ġoverwhelm ed", + "% \">", + "%\" >", + "Ġ AE", + "ĠA E", + "} }>Ċ", + "}} >Ċ", + "}}> Ċ", + "u w", + "_ typ", + "_t yp", + "_ty p", + "Ġ buckets", + "Ġb uckets", + "Ġbucket s", + "Ġbuck ets", + "Ġg reeting", + "Ġgre eting", + "Ġgreet ing", + "Ġ laughter", + "Ġla ughter", + "Ġlaugh ter", + "Ġant agon", + "ugg estion", + "uggest ion", + "- email", + "-e mail", + "-em ail", + "ĉ top", + "ĉt op", + "ĉto p", + "Ġ eros", + "Ġe ros", + "Ġer os", + "Ġero s", + "_ tri", + "_t ri", + "_tr i", + "Ġiss uing", + "Ġissu ing", + "Ġ há", + "Ġh á", + "Ġis olate", + "Ġisol ate", + "Ġiso late", + "Over flow", + ", E", + "Ġnut ritional", + "Ġnutrition al", + "Ġnutrit ional", + "ĠAbb ott", + "Ġ nf", + "Ġn f", + ". touch", + ".t ouch", + ".to uch", + ".fetch all", + "_ zip", + "_z ip", + "\" )}Ċ", + "\") }Ċ", + "\")} Ċ", + "Ġ amat", + "Ġa mat", + "Ġam at", + "Ġama t", + "Ġ Cisco", + "ĠC isco", + "Ġn Ã¥", + "P LEX", + "PL EX", + "PLE X", + "Ġ sei", + "Ġs ei", + "Ġse i", + "f oto", + "fo to", + ". toJson", + ".to Json", + "å¤ ļ", + "ĠK lein", + "ĠKle in", + "ĠKl ein", + "Ġ libc", + "Ġli bc", + "Ġlib c", + "Ġm iners", + "Ġmin ers", + "Ġmi ners", + "Ġmine rs", + "Ġminer s", + "å ¢", + "- print", + "-p rint", + "-pr int", + "ĠP ride", + "ĠPr ide", + "ĠPri de", + "T odos", + "To dos", + "Todo s", + "Ġ masked", + "Ġmask ed", + "Ġmas ked", + "Ġ setData", + "Ġset Data", + "Ġtele fon", + "Ġtel efon", + "Ġun happy", + "Ġunh appy", + "Ġ Tables", + "ĠT ables", + "ĠTable s", + "ĠTab les", + "ĠTa bles", + "g eb", + "ge b", + "( debug", + "(de bug", + "_ allowed", + "_all owed", + "_allow ed", + "- access", + "-a ccess", + "-ac cess", + "Ġlog istics", + "Ġlogistic s", + "Ġ gems", + "Ġg ems", + "Ġge ms", + "Ġgem s", + "ĠM ature", + "ĠMat ure", + "ĠMa ture", + "Ġ rsp", + "Ġr sp", + "Ġrs p", + "Ġ Alle", + "ĠA lle", + "ĠAl le", + "ĠAll e", + ". getBytes", + ".get Bytes", + ".getBy tes", + "\\ web", + "ynchron ized", + "ynchronize d", + "Par agraph", + "Para graph", + "Ġth rottle", + "Ġthr ottle", + "Ġthrott le", + ". sqlite", + ".sql ite", + "cons ulta", + "consult a", + "ĠS eah", + "ĠSe ah", + "ĠSea h", + "C e", + "Ġsub mar", + "E RE", + "ER E", + "V ous", + "Vo us", + "Ġ reddit", + "Ġre ddit", + "Ġred dit", + "Ġredd it", + "Ġsql alchemy", + "- mile", + "-m ile", + "oc ide", + "oci de", + "P our", + "Po ur", + "} }\">Ċ", + "}} \">Ċ", + "}}\" >Ċ", + "st ead", + "ste ad", + "Ġ @(", + "Ġ@ (", + "Ġ [])", + "Ġ[ ])", + "Ġ[] )", + "Ġ Ads", + "ĠA ds", + "ĠAd s", + "Ġover load", + "Ġoverl oad", + "r idden", + "ri dden", + "rid den", + "ĠDe sert", + "ĠDes ert", + "Ġ Wrap", + "ĠW rap", + "ĠWr ap", + "ĠPortug uese", + "e tz", + "et z", + "ĉ first", + "ĉf irst", + "ĉfi rst", + "Ġm ilestone", + "Ġmil estone", + "Ġmiles tone", + "Ġmile stone", + "æĹ ł", + "Ñĥ Ñī", + "( success", + "(s uccess", + "< Vector", + " \")Ċ", + ">\" )Ċ", + ">\") Ċ", + "ĠD ollar", + "ĠDol lar", + "ĠDoll ar", + "Ġ emoji", + "Ġem oji", + "Ġemo ji", + "Car ousel", + "- player", + "-p layer", + "-play er", + "-pl ayer", + "Ġadjust ing", + "Ġadj usting", + "Ġj uga", + "Ġju ga", + "Ġjug a", + "allenge s", + "alleng es", + "allen ges", + "g ene", + "ge ne", + "gen e", + "(body Parser", + "lo pedia", + "lop edia", + "lope dia", + "Ġ Behind", + "ĠBe hind", + "ĠBeh ind", + "Ġslee ves", + "Ġsleeve s", + "Ġdrag ging", + "ĠChe vrolet", + "Ġ biz", + "Ġb iz", + "Ġbi z", + "iv ities", + "ivi ties", + "Ġ Frequency", + "ĠF requency", + "ĠFrequ ency", + ", char", + ",c har", + ",ch ar", + ". WHITE", + ".W HITE", + "_ preview", + "_p review", + "_pr eview", + "_pre view", + "_prev iew", + ") ';Ċ", + ")' ;Ċ", + "_ ax", + "_a x", + "I ONS", + "ION S", + "IO NS", + ". cpu", + ".c pu", + ".cp u", + ". inputs", + ".in puts", + ".input s", + "U BE", + "UB E", + "_ feed", + "_f eed", + "_fe ed", + "_fee d", + "ĠSup plement", + "! ).", + "!) .", + "e sus", + "es us", + "Ġ UDP", + "ĠU DP", + "ĠUD P", + "Ġmicro phone", + "Ġconf irms", + "Ġconfirm s", + ".is NotEmpty", + "\" :\"\",Ċ", + "\": \"\",Ċ", + "\":\" \",Ċ", + "\":\"\" ,Ċ", + "_ SCREEN", + "_S CREEN", + "_SC REEN", + "ĉ expected", + "ĉex pected", + "ĉexpect ed", + "ĉexp ected", + "+-+- +-+-", + "ĠH ait", + "ĠHa it", + "ĠHai t", + "fast call", + "Ġdep ict", + "v b", + "_ picture", + "_p icture", + "_pic ture", + "ĉ description", + "ĉd escription", + "ĉdes cription", + "ĉde scription", + "ĠW ife", + "ĠWi fe", + "u ci", + "uc i", + "Ġv icious", + "Ġvic ious", + "ä» ĸ", + "u eba", + "ue ba", + "Ġset User", + "ãģ ¡", + "Ġd iving", + "Ġdi ving", + "Ġdiv ing", + "Ġop era", + "Ġoper a", + "user content", + "a rah", + "ar ah", + "ara h", + ") },", + ")} ,", + "y un", + "yu n", + "v elt", + "ve lt", + "vel t", + "Ġun covered", + "Ġuncover ed", + "Ġ hips", + "Ġh ips", + "Ġhi ps", + "Ġhip s", + "Ġosc ill", + "Ġassert ing", + "Ġ Xi", + "ĠX i", + ". restore", + ".re store", + ".rest ore", + "k ea", + "ke a", + "Ġsp elling", + "Ġspell ing", + "Ġspel ling", + "Ġ derive", + "Ġde rive", + "Ġder ive", + "Ġderiv e", + "ab we", + "ĠD ow", + "ĠDo w", + ". setType", + ".set Type", + "_ vs", + "_v s", + "Ġc ozy", + "Ġco zy", + "Ġcoz y", + ". categories", + ".c ategories", + "O rg", + "Or g", + "_ mgr", + "_m gr", + "Ġd ungeon", + "Ġdung eon", + "collection View", + "Ġ Blank", + "ĠBl ank", + "ac ias", + "aci as", + "acia s", + "ä ä", + "_ cleanup", + "_c leanup", + "_clean up", + "_ACT IVITY", + "_ACTIV ITY", + "Ġtri angles", + "Ġtriangle s", + "Ġtriang les", + ". MenuItem", + ".Menu Item", + "Ġ iphone", + "Ġi phone", + "Ġip hone", + "Ġ Won", + "ĠW on", + "ĠWo n", + "] ]ĊĊ", + "]] ĊĊ", + "]]Ċ Ċ", + "Ġ Comparison", + "ĠCom parison", + "ĠCompar ison", + ". Doc", + ".D oc", + ".Do c", + "Ġ canonical", + "Ġcan onical", + "Ġcanon ical", + "ĠSu dan", + "ĠSud an", + "' ){", + "') {", + "Up Inside", + "b uiltin", + "built in", + "E NCY", + "EN CY", + "ENC Y", + "x be", + "xb e", + "Ġch uck", + "Ġchu ck", + "Ġcontrad ict", + "Ġcontra dict", + "Ġnu estro", + "Ġnue stro", + "Ġnuest ro", + "Ġnues tro", + "Ġarchitect ural", + "ĠF ib", + "ĠFi b", + "Ġcomp ares", + "Ġcompar es", + "Ġcompare s", + "* k", + "C fg", + "çĦ ¡", + "n ten", + "nt en", + "nte n", + "M atches", + "Match es", + "Mat ches", + "Ġ DOWNLOAD", + "ĠDOWN LOAD", + "_HANDLE R", + "_HAND LER", + "man agement", + "manage ment", + "mana gement", + "[ S", + "E NG", + "EN G", + "ÂĢ Â", + "f ang", + "fa ng", + "fan g", + "Ġsl ipped", + "Ġslip ped", + "ĠL anka", + "ĠLan ka", + "esc aping", + "Ġtack les", + "Ġtackle s", + "ĠPe dro", + "ĠPed ro", + ". Prop", + ".P rop", + ".Pro p", + ".Pr op", + ". ''", + ".' '", + ". Generated", + ".G enerated", + ".Generate d", + ".New Guid", + "at rigesimal", + "il lon", + "ill on", + "illo n", + "Ġstat istic", + "Ġstatist ic", + "s pecies", + "sp ecies", + "spec ies", + "spe cies", + "h olding", + "hold ing", + "hol ding", + "Dr upal", + "Ġfundament ally", + "Ġfundamental ly", + "Ġbond age", + "Ġres olutions", + "Ġresolution s", + "Inline Data", + "\\ Type", + "es tion", + "est ion", + "esti on", + ". wrap", + ".w rap", + ".wr ap", + "Ġwar riors", + "Ġwarrior s", + "Ġ LOCAL", + "ĠLO CAL", + "ĠLOC AL", + "A rchive", + "Arch ive", + "Arc hive", + "Ġembr aced", + "Ġembrace d", + "á» §", + ". Ver", + ".V er", + "ĠAff ordable", + "ole sale", + "oles ale", + "Ġ Applied", + "ĠApp lied", + "ĠAp plied", + "ĠAppl ied", + "Ġ Conversion", + "ĠCon version", + "ĠConv ersion", + "ĠConvers ion", + "m ega", + "me ga", + "meg a", + "_ cam", + "_c am", + "_ca m", + "Ġcer emon", + "Ġcere mon", + "a urus", + "au rus", + "aur us", + "ĠV olk", + "ĠVol k", + "ĠVo lk", + ". opens", + ".open s", + ".op ens", + "/ about", + "/a bout", + "Ġ Std", + "ĠS td", + "ĠSt d", + "j ournal", + "jo urnal", + "jour nal", + "( )){čĊ", + "() ){čĊ", + "()) {čĊ", + "()){ čĊ", + ", \"\\", + ",\" \\", + "( Arrays", + "(Array s", + "ĠD ense", + "ĠDen se", + "ase ña", + "än ner", + "änn er", + "/ stat", + "/s tat", + "/st at", + "user Data", + "Ġg erman", + "Ġger man", + "Ġgerm an", + "Ġ tz", + "Ġt z", + "w orthy", + "worth y", + "wort hy", + "wor thy", + "Format Exception", + "ph erd", + "pher d", + "phe rd", + "Ġsm iles", + "Ġsmile s", + "Ġ Whenever", + "ĠWh enever", + "ĠWhen ever", + "ĠWhe never", + "( adapter", + "(ad apter", + ".bad logic", + "Ġbrief ing", + ". GridColumn", + ".Grid Column", + "- char", + "-c har", + "-ch ar", + "d imension", + "dim ension", + "ĠC opper", + "ĠCo pper", + "ĠCop per", + "ĠCopp er", + "Ġn inth", + "Ġni nth", + "Ġnin th", + "Ġ' {{", + "Ġ'{ {", + "Ġ rav", + "Ġr av", + "Ġra v", + "_ Table", + "_T able", + "_Tab le", + "Ġderiv atives", + "Ġderivative s", + "Ġ Raise", + "ĠR aise", + "ĠRa ise", + "ĠRai se", + "ĠF ut", + "ĠFu t", + "ar mor", + "arm or", + "- padding", + "-p adding", + "-pad ding", + "Ġre min", + "Ġr emin", + "Ġrem in", + "ĉ style", + "ĉst yle", + "Ġ Membership", + "ĠMember ship", + "ĠMembers hip", + "Ġsp reads", + "Ġspread s", + "Ġspre ads", + "Ġg alleries", + "Ġgall eries", + "ĠClark e", + "ĠClar ke", + "Ġcon ception", + "Ġconcept ion", + "Ġconce ption", + "min ute", + "Ġab usive", + "_ adj", + "_a dj", + "_ad j", + "Ġterr ific", + "Ġo vert", + "Ġover t", + "Ġov ert", + "our cing", + "Ġ entrada", + "Ġent rada", + "Ġentr ada", + "Ġentra da", + "level s", + "lev els", + "Ġcrit ique", + "Ġres pects", + "Ġrespect s", + "Ġresp ects", + "ĠM MA", + "ĠMM A", + "i ene", + "ie ne", + "ien e", + "Ġen caps", + "Ġenc aps", + "ĠRay mond", + "Div ider", + "Di vider", + "i vable", + "iv able", + "iva ble", + "b az", + "ba z", + "Ġ@ _;Ċ", + "Ġ@_ ;Ċ", + "ĠCl aire", + "ĠCla ire", + "ĠClair e", + "Ġur ging", + "Ġurg ing", + "C EE", + "CE E", + "Ġtrans former", + "Ġtransform er", + "dis cord", + "disc ord", + "ĠJ ourney", + "t os", + "to s", + "Ġcompet itions", + "Ġcompetition s", + "Ġcompetit ions", + "Ġ OBJ", + "ĠO BJ", + "ĠOB J", + "ĠB is", + "ĠBi s", + "Ġrelax ation", + "i dy", + "id y", + "_ INSTANCE", + "_IN STANCE", + "_INST ANCE", + "Ġ Pref", + "ĠP ref", + "ĠPr ef", + "ĠPre f", + "d ados", + "da dos", + "dad os", + "ici encies", + "ĠMedia Query", + "Ġ Cube", + "ĠC ube", + "ĠCub e", + "ĠCu be", + "Ġ Strange", + "ĠSt range", + "ĠStr ange", + "ĠStra nge", + "g pu", + "gp u", + "( days", + "(d ays", + "(day s", + "(da ys", + "_ InitStruct", + "_Init Struct", + "Ġf ingerprint", + "Ġfinger print", + "e mat", + "em at", + "ema t", + "ĠG ecko", + "ĠGe cko", + "Ġ rails", + "Ġr ails", + "Ġrail s", + "Ġra ils", + "ĠL um", + "ĠLu m", + "s traction", + "st raction", + "str action", + "stract ion", + "stra ction", + "ig ung", + "igu ng", + "( movie", + "(m ovie", + "_ dictionary", + "_d ictionary", + "_ interrupt", + "_int errupt", + "_inter rupt", + "Ġ QC", + "ĠQ C", + "i ked", + "ik ed", + "ike d", + "append Child", + "rec ipient", + "r é", + "V e", + "Ġt owel", + "Ġto wel", + "Ġtow el", + ".last IndexOf", + "Ġplace bo", + "Ġplac ebo", + "Ġ Wie", + "ĠW ie", + "ĠWi e", + ". esp", + ".e sp", + ".es p", + "( Debug", + "oper ative", + "Ġde ceased", + "Ġdece ased", + "& id", + "ĉ mutex", + "ĉm utex", + "e lic", + "el ic", + "eli c", + "Ġb apt", + "Ġba pt", + "ĉ čĊčĊ", + "ĉčĊ čĊ", + "Ġfar ther", + "Ġfart her", + "H alf", + "Ha lf", + "Hal f", + ". disable", + ".d isable", + ".dis able", + ".menu Strip", + "le ccion", + "lec cion", + "Ġ resultCode", + "Ġresult Code", + "Ġc ans", + "Ġcan s", + "Ġca ns", + "- election", + "-e lection", + "-elect ion", + "-el ection", + "f emale", + "fe male", + "_ FIX", + "_F IX", + "aus ible", + "Ġ POWER", + "ĠP OWER", + "ĠPO WER", + "ĠPOW ER", + "Ġre construction", + "Ġrecon struction", + "Ġreconstruct ion", + "Ġsc ans", + "Ġscan s", + "Ġsca ns", + ".Xtra Bars", + "âĢĺ s", + "Re moved", + "Rem oved", + "Remove d", + "Ġpara graphs", + "Ġparagraph s", + "_ margin", + "_m argin", + "_mar gin", + "Ġl ymph", + "Ġly mph", + "Ġ bos", + "Ġb os", + "Ġbo s", + "l ington", + "ling ton", + "ĠBapt ist", + "Ġadvertis ements", + "Ġadvertisement s", + "Ġadvertise ments", + "Ġ Manage", + "ĠMan age", + "ĠMa nage", + "ĠMana ge", + "/ yyyy", + "/y yyy", + "I OUS", + "IO US", + "EN CES", + "ENCE S", + "ENC ES", + "ĠF iction", + "ĠFi ction", + "ĉ menu", + "ĉm enu", + "ĉme nu", + "ĠFile OutputStream", + "o van", + "ov an", + "ova n", + "ĠF eng", + "ĠFe ng", + "ĠFen g", + "Ġsk ipping", + "Ġskip ping", + "Ġski pping", + "get Class", + "getC lass", + "an ni", + "ann i", + "Ġre bounds", + "Ġreb ounds", + "Ġrebound s", + "Ġpublic ity", + "Ġpub licity", + "Ġpubli city", + "Ġin gres", + "Ġing res", + "Ġingr es", + "us ement", + "use ment", + "Ġthought ful", + ". Chart", + ".C hart", + ".Ch art", + ".Char t", + "Ġh atte", + "Ġha tte", + "Ġhat te", + "pass port", + "pas sport", + "Ġhook ed", + "Ġho oked", + "Ġ Lens", + "ĠL ens", + "ĠLe ns", + "ĠLen s", + "Ġflag ship", + "Ġflags hip", + "Ġs tip", + "Ġst ip", + "Ġ GEN", + "ĠG EN", + "ĠGE N", + "Ġcl ues", + "Ġclue s", + "i pv", + "ip v", + "ĠR ise", + "ĠRi se", + "ĠRis e", + "ĠG ew", + "ĠGe w", + "table name", + "tab lename", + "tabl ename", + "Ġfore most", + "_ validate", + "_valid ate", + "_ analysis", + "_an alysis", + "o lla", + "ol la", + "oll a", + "Ġqual ifications", + "Ġqualification s", + "Ġd istributions", + "Ġdistrib utions", + "Ġdistribution s", + "ĠF lower", + "ĠFl ower", + "ĠFlo wer", + "ĠFlow er", + "Ġt ense", + "Ġten se", + "Ġtens e", + "Ġthank ful", + "Ġcl utch", + "Ġun ified", + "ro ads", + "road s", + "Ġs iti", + "Ġsit i", + "Ġsi ti", + "Ġst all", + "Ġsta ll", + "Ġstal l", + "_P RIORITY", + "_PRI ORITY", + "c stdlib", + "_ USERNAME", + "_USER NAME", + ". bytes", + ".by tes", + ".byte s", + "? page", + "?p age", + "er malink", + "erm alink", + "ermal ink", + "ĠVe get", + "ĠVeg et", + "/v nd", + "- author", + "-a uthor", + "-auth or", + "-aut hor", + ". NONE", + ".N ONE", + ".NO NE", + "ĠCon current", + "ĠConc urrent", + "ĠC ry", + "ĠCr y", + "Ġst arters", + "Ġstart ers", + "Ġstar ters", + "Ġstarter s", + "Ġ Interaction", + "ĠInter action", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ LEVEL", + "ĠLE VEL", + "E ll", + "El l", + "Ġ comboBox", + "Ġcom boBox", + "Ġcombo Box", + "ĠThe resa", + "ĠTh eresa", + "ĠThere sa", + "ĠTher esa", + "t ek", + "te k", + "_ Handle", + "_H andle", + "Ġ aby", + "Ġa by", + "Ġab y", + ".g dx", + ", end", + ",e nd", + ",en d", + "( Local", + "(L ocal", + "O l", + "kn ife", + "a rial", + "ar ial", + "ari al", + "aria l", + "ĠH off", + "ĠHo ff", + "ĠHof f", + "Ġprostituer ade", + "Do ctor", + "Doc tor", + "In stances", + "Instance s", + "Inst ances", + ". SetValue", + ".Set Value", + "ĉ from", + "ĉf rom", + "ĉfr om", + "Ġlux urious", + "In dent", + "Ind ent", + "Al locator", + "All ocator", + "Alloc ator", + "_ DRAW", + "_D RAW", + "_DR AW", + "(\" ,\",", + "(\", \",", + "(\",\" ,", + "ĠF rances", + "ĠFr ances", + "ĠFrance s", + "ĠFranc es", + "ĠFra nces", + "ĠFran ces", + "Ġ groupBox", + "Ġgroup Box", + "( schema", + "(s chema", + "Print f", + "O RIES", + "OR IES", + "- gradient", + "-g radient", + "Ġre put", + "Ġrep ut", + "a rin", + "ar in", + "ari n", + "_ DONE", + "_D ONE", + "_DO NE", + "in cre", + "inc re", + "incr e", + "ig nty", + "ign ty", + "Ġex ert", + "Ġexe rt", + "Ġ -.", + "Ġ- .", + "/ App", + "/A pp", + "- through", + "-th rough", + "Ġdec lining", + "Ġdecl ining", + "Ġdes sert", + "Ġdess ert", + "Ġinc umb", + "Ġ designation", + "Ġdesign ation", + ". PORT", + ".P ORT", + ".PO RT", + ", strong", + ",str ong", + ",st rong", + "Ġ sandbox", + "Ġs andbox", + "Ġsand box", + "Ġw ines", + "Ġwin es", + "Ġwine s", + "Ġwi nes", + "ĠP av", + "ĠPa v", + "$ str", + "$s tr", + "ask ell", + "Ġh ö", + "Ġ PY", + "ĠP Y", + "Get Instance", + "Text Input", + "game Object", + "/ events", + "/e vents", + "/event s", + "created At", + "Ġlocal Var", + "Ġ WHITE", + "ĠW HITE", + "ĠWH ITE", + "p ered", + "pe red", + "per ed", + "i lege", + "ile ge", + "eff icient", + ", color", + ",c olor", + ",col or", + "c ate", + "ca te", + "cat e", + "ĠC afe", + "ĠCa fe", + "ĠCaf e", + "Ġsimilar ities", + "Ġp umps", + "Ġpump s", + "Ġpu mps", + "ĠHun gary", + "ĠHung ary", + ". Username", + ".User name", + "Ġs kate", + "Ġsk ate", + "Ġska te", + "Ġtouchdown s", + "Ġacceler ate", + "Ġaccel erate", + "ĠH elen", + "ĠHe len", + "ĠHel en", + "O MEM", + "OM EM", + "OME M", + "ĠK un", + "ĠKu n", + "_ vol", + "_v ol", + "Ġ findAll", + "Ġfind All", + "ĠMens chen", + "a head", + "ah ead", + ") ;\"", + "); \"", + "k ommen", + "kom men", + "Ġposs essed", + "Ġpossess ed", + ".arg max", + ". transition", + ".t ransition", + ".trans ition", + "A RP", + "AR P", + "OL UME", + "OLUM E", + "( script", + "(s cript", + "Ġ Ðĺ", + "ĠÐ ĺ", + "Ġ Finding", + "ĠF inding", + "ĠFin ding", + "ĠFind ing", + "o nces", + "on ces", + "once s", + "I o", + "B old", + "Bo ld", + "Ġrenew al", + "_D IALOG", + "Ġdis reg", + "IN TERN", + "INT ERN", + "INTER N", + "Ġt oute", + "Ġto ute", + "Ġtou te", + "Ġtout e", + "Ġelect r", + "Ġele ctr", + "ĠG ross", + "ĠGr oss", + "ĠGro ss", + "ĠGros s", + "ĉ true", + "ĉtr ue", + ". Fields", + ".F ields", + ".Field s", + "Ġ WIDTH", + "ĠW IDTH", + "ĠD ent", + "ĠDe nt", + "ĠDen t", + "Ġ Ãģ", + "Ġà ģ", + "NS Notification", + "Ġ aos", + "Ġa os", + "Ġao s", + "Ġme lee", + "Ġmel ee", + ". Validation", + ".Valid ation", + "Ġ DEC", + "ĠD EC", + "ĠDE C", + "- dependent", + "-depend ent", + "Ġsu ic", + "Ġsui c", + "T raits", + "Tr aits", + "Tra its", + "Trait s", + "$ message", + "$m essage", + "Ġ Dear", + "ĠD ear", + "ĠDe ar", + "ĉ FILE", + "ĉF ILE", + "l anguages", + "language s", + ". Prot", + ".P rot", + ".Pro t", + ".Pr ot", + ". addr", + ".add r", + ".ad dr", + "- generation", + "-g eneration", + "-gen eration", + "I CON", + "IC ON", + "ICO N", + "Ġtrans plant", + "- description", + "-d escription", + "-de scription", + "-des cription", + "Ġch asing", + "Ġcha sing", + "Ġch ees", + "Ġche es", + "Ġ }*/Ċ", + "Ġ} */Ċ", + "T rad", + "Tr ad", + "Tra d", + "qu eries", + "que ries", + "quer ies", + "/ widgets", + "/widget s", + "sub package", + "Ġe spec", + "Ġes pec", + "Ġesp ec", + "Ġcr acked", + "Ġcrack ed", + "Ġcompet itor", + "Ġcompetit or", + "P urchase", + "- team", + "-t eam", + "-te am", + "ole cular", + "olec ular", + "or Thunk", + "& P", + "Ġrel ent", + "Ġrele nt", + "/ #{", + "/# {", + "Ġ productId", + "Ġproduct Id", + "Ġ è¾", + "Ġè ¾", + "ĠL av", + "ĠLa v", + "Ġ Alter", + "ĠAl ter", + "ĠAlt er", + ". Mode", + ".M ode", + ".Mod e", + "AD IO", + "ADI O", + "g rp", + "gr p", + "æ ·»åĬł", + "æ·» åĬł", + "Q uit", + "Qu it", + "Qui t", + "Ġdep ths", + "Ġdepth s", + "Ġdept hs", + "- category", + "-c ategory", + "Ġ DATABASE", + "ĠD ATABASE", + "ĠDATA BASE", + "S PELL", + "SP ELL", + "ĠF alcon", + "ĠFal con", + "ĠQString List", + "Ġ ''.", + "Ġ' '.", + "Ġ'' .", + "ĠIn stitution", + "ĠInst itution", + "ĠInstit ution", + "ĠInstitut ion", + "d amage", + "da mage", + "dam age", + "az or", + "azo r", + "bel ongsTo", + "belongs To", + "ver ages", + "verage s", + "Ġ NONE", + "ĠN ONE", + "ĠNO NE", + "ĠNON E", + "ip pets", + "ipp ets", + "ippet s", + ", \\Ċ", + ",\\ Ċ", + "Ġfoot print", + "_ archive", + "_a rchive", + "_arch ive", + "_arc hive", + "n ak", + "na k", + ". getField", + ".get Field", + "Ġ Reflection", + "ĠRef lection", + "ĠReflect ion", + "Ġ ']", + "Ġ' ]", + "ĠH BO", + "ĠHB O", + "_ discount", + "_dis count", + "_disc ount", + "Ġin cest", + "Ġinc est", + "Ġince st", + "ĠD odge", + "ĠDo dge", + "ĠDod ge", + "ĠW ade", + "ĠWa de", + ". NO", + ".N O", + "\" encoding", + "Ġ Blockchain", + "ĠBlock chain", + "Ġlaws uits", + "Ġlawsuit s", + "Ġ Maint", + "ĠM aint", + "ĠMain t", + "ĠMa int", + "ĠMai nt", + "ch ten", + "cht en", + "chte n", + "Ġét ait", + "Ġktó re", + "_ ctl", + "_c tl", + "_ct l", + "( timer", + "(t imer", + "(time r", + "(ti mer", + "B attle", + "Bat tle", + "i zo", + "iz o", + "ay ed", + "aye d", + "I OR", + "IO R", + "ĠGlas gow", + "Ġs ynth", + "Ġsy nth", + "Ġsyn th", + "Ġsynt h", + "_ logs", + "_l ogs", + "_log s", + "_lo gs", + ". pose", + ".p ose", + ".pos e", + ".po se", + "_Adjust orThunk", + "( (&", + "(( &", + "Ġun sure", + "Ġuns ure", + "Ġunsur e", + "y state", + "yst ate", + "íķĺ ëĬĶ", + "O ULD", + "OU LD", + ". ng", + ".n g", + "Ġdefault dict", + "work space", + "works pace", + "Ġselect ive", + "Ġsel ective", + "Picker Controller", + "YNAM IC", + ". methods", + ".method s", + "Ġpath ways", + "Ġpathway s", + "Ġ Few", + "ĠF ew", + "ĠFe w", + "K G", + "C RYPT", + "CRY PT", + "follow ing", + "ĠD LC", + "ĠDL C", + "ĠS ara", + "ĠSar a", + "ĠSa ra", + "Ġ preset", + "Ġp reset", + "Ġpre set", + "Ġpres et", + "e structor", + "estr uctor", + "estruct or", + "ĠK urt", + "ĠKur t", + "ĠKu rt", + "Ġair plane", + "Ġ omp", + "Ġo mp", + "Ġom p", + "Ġ Parents", + "ĠPar ents", + "ĠParent s", + "ĠParen ts", + "ĠPare nts", + "ĠMart inez", + "ĠMartin ez", + ". complete", + ".com plete", + ".comp lete", + "Ġbroad ly", + "Ġs care", + "Ġsc are", + "Ġsca re", + "Ġscar e", + "ĠM é", + "Ġelim ination", + "Ġelimin ation", + "Ġp oured", + "Ġpo ured", + "Ġpour ed", + "Ġpou red", + "/ sw", + "/s w", + "Ġcom un", + "Ġco mun", + "Ġm asc", + "Ġma sc", + "Ġmas c", + "ĠOrgan ic", + "ĠOrg anic", + "Ġ StringUtils", + "ĠString Utils", + "ĠStringUtil s", + "il ateral", + "ilate ral", + "ilater al", + "Ġreluct ant", + "- age", + "-a ge", + "-ag e", + "Ġ nz", + "Ġn z", + ". \"\\", + ".\" \\", + "Ġpast or", + "Ġpas tor", + "Ġpa stor", + "a lez", + "al ez", + "ale z", + "Ġe fect", + "Ġef ect", + "p rov", + "pr ov", + "pro v", + "/ init", + "/i nit", + "/in it", + "Ġp enn", + "Ġpe nn", + "Ġpen n", + "u nds", + "un ds", + "und s", + "Ġ ssize", + "Ġs size", + "Ġss ize", + "Ġ Proj", + "ĠP roj", + "ĠPro j", + "ĠPr oj", + "b asename", + "base name", + "bas ename", + "Ġsh ells", + "Ġshell s", + "Ġshel ls", + "ĠN eck", + "ĠNe ck", + "ĠNec k", + "ĠEn forcement", + "v ided", + "vid ed", + "vi ded", + "vide d", + "s town", + "st own", + "sto wn", + "S phere", + "Sp here", + "$ r", + "us sen", + "uss en", + "a fil", + "af il", + "afi l", + "Ġ Telegram", + "ĠTele gram", + "Ġanaly tical", + "Ġanalytic al", + "н Ñĭе", + "нÑĭ е", + "us ually", + "usu ally", + "usual ly", + "x n", + "Ġhistor ian", + "Ġhist orian", + "Ġhistoria n", + "Ġhisto rian", + "ĠGreg ory", + "ol ph", + "Ġ Una", + "ĠU na", + "ĠUn a", + "Ġcon tributes", + "Ġcontrib utes", + "Ġcontribute s", + "% -", + "anti ago", + "ÑĢ ÐµÐ´", + "ÑĢе д", + ". region", + ".reg ion", + "Ġab rupt", + "ĠUnsupported OperationException", + "Ġ TASK", + "ĠT ASK", + "ĠTA SK", + "ĠTAS K", + "_ finish", + "_f inish", + "_fin ish", + "Ġnot orious", + "Ġ Vs", + "ĠV s", + "Ġ MQ", + "ĠM Q", + "Ġs unset", + "Ġsun set", + "Ġun acceptable", + "ar cer", + "arc er", + "Ġill umin", + "Ġillum in", + "ĠO rb", + "ĠOr b", + "Ġ bh", + "Ġb h", + "E ste", + "Est e", + "Es te", + "_ dispatch", + "_dis patch", + "_disp atch", + "Ġr ipped", + "Ġrip ped", + "Ġri pped", + "Ġtou jours", + "Ġ Parcel", + "ĠPar cel", + "_ ll", + "_l l", + ". userName", + ".user Name", + ". classes", + ".c lasses", + ".class es", + ".cl asses", + "S OURCE", + "( Number", + "(N umber", + "е лÑı", + "ел Ñı", + "Ġhead phones", + "Ġheadphone s", + "( side", + "(s ide", + "(si de", + "(sid e", + "con stitution", + "const itution", + "an nah", + "ann ah", + "anna h", + "čĊ ĠĠĠĠĠĠĠĠčĊ", + "Ġcl iff", + "Ġcli ff", + "- ref", + "-r ef", + "-re f", + "Ġmost rar", + "Ġmo strar", + "Ġmostr ar", + "Ġmostra r", + "ĠP owell", + "ĠPo well", + "ĠPow ell", + "+ y", + "Ġ BG", + "ĠB G", + "_ fragment", + "_f ragment", + "_fr agment", + "_frag ment", + ". Port", + ".P ort", + "Ġreal izing", + "Ġrealiz ing", + "param ref", + "Ġh ometown", + "Ġhome town", + "@ Table", + "+ \" --}}Ċ", + ">-- }}Ċ", + "F rench", + "Fr ench", + "Entity Manager", + "Ġ Plain", + "ĠP lain", + "ĠPl ain", + "ĠPla in", + "//// ////////////////////////////////////////////////////////////////", + "//////// ////////////////////////////////////////////////////////////", + "//////////////// ////////////////////////////////////////////////////", + "//////////////////////////////////////////////////////////////// ////", + "//////////// ////////////////////////////////////////////////////////", + "//////////////////////////////////////////////////////// ////////////", + "//////////////////////////////////////////////////////////// ////////", + "//////////////////////////////////////////////////// ////////////////", + " ³", + "( RE", + "(R E", + "c apt", + "ca pt", + "cap t", + "Ġ organisms", + "Ġorgan isms", + "Ġorganis ms", + "Ġorganism s", + "Ġ jets", + "Ġj ets", + "Ġje ts", + "Ġjet s", + "o location", + "ol ocation", + "olo cation", + "ĠApp RoutingModule", + "Ġgl orious", + "Ġglo rious", + "Ġglor ious", + "æľ į", + "Ġdisc arded", + "Ġdiscard ed", + "ĉ ĉĉĉĠĠĠĠĠ", + "ĉĉ ĉĉĠĠĠĠĠ", + "ĉĉĉĉ ĠĠĠĠĠ", + "ĉĉĉ ĉĠĠĠĠĠ", + "ĉĉĉĉĠ ĠĠĠĠ", + "ĉĉĉĉĠĠĠ ĠĠ", + "ĉĉĉĉĠĠ ĠĠĠ", + "ĉĉĉĉĠĠĠĠ Ġ", + "ĠArn old", + "l ug", + "lu g", + "Ġp arl", + "Ġpar l", + "Ġpa rl", + "Ġhorm ones", + "Ġhormone s", + "Ġ mah", + "Ġm ah", + "Ġma h", + "ĠS onic", + "ĠSo nic", + "ĠSon ic", + "Ġorgan izers", + "Ġorganiz ers", + "Ġorganize rs", + "Ġorganizer s", + "_ PLATFORM", + "_PL ATFORM", + ". inv", + ".in v", + ".i nv", + "Ġch ord", + "Ġcho rd", + "Ġchor d", + "vent ional", + "vention al", + "ĉ of", + "ĉo f", + "Ep isode", + ". Enum", + ".E num", + ".En um", + "un kt", + "unk t", + "ĠD h", + "ĠJ ared", + "ĠJa red", + "ĠJar ed", + "ĠN ak", + "ĠNa k", + "Ġint ends", + "Ġinte nds", + "Ġintend s", + "End ian", + "Ġa ustralia", + "_ cv", + "_c v", + "( resolve", + "(res olve", + "(re solve", + "Ġclin ics", + "Ġclinic s", + "l iked", + "li ked", + "like d", + "lik ed", + "ASH INGTON", + "in ha", + "inh a", + "' *", + "Ġ NP", + "ĠN P", + "_ beh", + "_b eh", + "_be h", + "Ġ hf", + "Ġh f", + "Ġw ür", + "c ategoria", + "$ form", + "$f orm", + "Ġsub way", + "Ġ isActive", + "Ġis Active", + "pop ular", + "C our", + "Co ur", + "Cou r", + "Ġ cooldown", + "Ġco oldown", + "Ġcool down", + "Ġa insi", + "Ġain si", + "Ġ GLuint", + "ĠGL uint", + "e real", + "ere al", + "erea l", + "Ġarray Of", + "Ġh atch", + "Ġhat ch", + "= =========", + "== ========", + "==== ======", + "======== ==", + "=== =======", + "========= =", + "====== ====", + "===== =====", + "======= ===", + "r esses", + "res ses", + "ress es", + "resse s", + "_ PP", + "_P P", + ". ^", + "_ decay", + "_dec ay", + "ĠB less", + "ĠBl ess", + "ĠBle ss", + "m etrics", + "met rics", + "metric s", + "ĠCOPY ING", + "ĠDump ster", + "ĠJos é", + "ĠDesign s", + "< Void", + "<", + "Ġ? ><", + "Ġ?> <", + "Ġ \"}Ċ", + "Ġ\" }Ċ", + "Ġ\"} Ċ", + "time zone", + "Ġ eer", + "Ġe er", + "Ġee r", + "max cdn", + "Ġ ESC", + "ĠE SC", + "ĠES C", + "ig aret", + "iga ret", + "igar et", + "_ connected", + "_connect ed", + "_conn ected", + "_ reverse", + "_re verse", + "_rev erse", + "Ġquestion able", + "ĠU SC", + "ĠUS C", + "Ġtu tti", + "Ġtut ti", + "Ġ dropout", + "Ġdrop out", + "Ġ Activities", + "ĠAct ivities", + "ĠActiv ities", + "ĠW inds", + "ĠWin ds", + "ĠWi nds", + "ĠWind s", + "' )));Ċ", + "') ));Ċ", + "')) );Ċ", + "'))) ;Ċ", + "Ġcon gest", + "Ġcong est", + "ÄŁ ı", + "Ġprolong ed", + "è¿ Ļ", + "ĠCross AxisAlignment", + "L EEP", + "LE EP", + "LEE P", + "Ġ VALID", + "ĠVAL ID", + "ĠG az", + "ĠGa z", + "Ġ dependence", + "Ġdepend ence", + "ĠP rix", + "ĠPr ix", + "ĠPri x", + ".Compiler Services", + "j ump", + "ju mp", + "Ġst rat", + "Ġstr at", + "Ġstra t", + "c irc", + "ci rc", + "cir c", + "Ġ CUSTOM", + "ĠC USTOM", + "x aa", + "xa a", + "Ġ bmp", + "Ġb mp", + "Ġbm p", + "Ġb ureau", + "Ġbu reau", + "Ġbure au", + "Ġw aren", + "Ġwar en", + "Ġwa ren", + "Ġware n", + "N X", + "( Window", + "(W indow", + "ĠChrist ie", + "ĠChris tie", + "_ FE", + "_F E", + "Ġ tn", + "Ġt n", + "Ġ Omega", + "ĠO mega", + "ĠOm ega", + "communic ations", + "communication s", + "Home Page", + "com pletion", + "comp letion", + "Ġsupply ing", + "Ġsuppl ying", + "Ġsupp lying", + "YPE S", + "YP ES", + "á vel", + "áv el", + "åĪ ¶", + "( click", + "(c lick", + "(cl ick", + "(cli ck", + "\\ Contracts", + "/ questions", + "/question s", + "Ġ ez", + "Ġe z", + "A MS", + "AM S", + ". mesh", + ".m esh", + ".me sh", + "Ġ' \\Ċ", + ">\\ Ċ", + "R obot", + "Rob ot", + "Ro bot", + "Json Object", + "Ġ DF", + "ĠD F", + "Ġ Processor", + "ĠProcess or", + "ĠProc essor", + "_ should", + "_sh ould", + ". protobuf", + ".prot obuf", + ".proto buf", + "- users", + "-user s", + "-use rs", + "-us ers", + "Ġemb ry", + "Ġembr y", + "F ONT", + "FO NT", + "Ġstart ups", + "Ġstartup s", + "Ġ DataSource", + "ĠData Source", + ") #", + "u ros", + "ur os", + "uro s", + "_ Color", + "_C olor", + "Ġst andalone", + "Ġstand alone", + "} [", + "j d", + "Ġfor give", + "Ġforg ive", + "Ġ ngx", + "Ġn gx", + "Ġng x", + "Ġ Generally", + "ĠGener ally", + "ĠGeneral ly", + "Ġconfig urable", + "Ġconfigur able", + "/ order", + "/or der", + "Ġ vas", + "Ġv as", + "Ġva s", + "' )\";Ċ", + "') \";Ċ", + "')\" ;Ċ", + "Ġ RR", + "ĠR R", + "ĠT roy", + "ĠTr oy", + "ĠTro y", + "Ġcomprom ised", + "Ġcompromise d", + "ĠS wan", + "ĠSw an", + "int endent", + "C entral", + "Cent ral", + "_ keeper", + "_k eeper", + "_ke eper", + "_keep er", + "Ġar quivo", + "Ġ ReadOnly", + "ĠRead Only", + "_ curve", + "_c urve", + "_cur ve", + "_cu rve", + "k v", + "en tin", + "ent in", + "enti n", + "è ±", + "Ġ Ey", + "ĠE y", + ".im read", + "ĠP am", + "ĠPa m", + "i ffe", + "if fe", + "iff e", + "at ivity", + "ativ ity", + "x bc", + "xb c", + "Ġ grim", + "Ġg rim", + "Ġgr im", + "Ġgri m", + "- filled", + "-f illed", + "-fill ed", + "name se", + "names e", + "nam ese", + "' ]:", + "'] :", + "Ġ aur", + "Ġa ur", + "Ġau r", + "ĠGi bson", + "ĠGib son", + ". MouseEvent", + ".Mouse Event", + "Ġl ado", + "Ġla do", + "Ġlad o", + "ava doc", + "avad oc", + "Ġf amil", + "Ġfam il", + "Ġfa mil", + "Ġ Moder", + "ĠM oder", + "ĠMod er", + "ĠMo der", + "ĠMode r", + "f ps", + "fp s", + "ãĢĢ ãĢĢ", + "- example", + "-ex ample", + "ĠAl zheimer", + "Ġ Utf", + "ĠU tf", + "ĠUt f", + "_ arguments", + "_arg uments", + "_argument s", + "Con clusion", + "text Content", + "rem aining", + "remain ing", + "rema ining", + "Ġinterrupt s", + "Ġ Backup", + "ĠBack up", + "ĠBac kup", + "ĠM ong", + "ĠMon g", + "ĠMo ng", + "Ġre ceptors", + "Ġrecept ors", + "Ġreceptor s", + "Ġrecep tors", + "h istor", + "hi stor", + "hist or", + "his tor", + ".cor outines", + "Ġsh outed", + "Ġshout ed", + "Ġsho uted", + "Al arm", + "Ġcomb ust", + "Ġg rote", + "Ġgr ote", + "Ġgro te", + "ult ural", + "ultur al", + "( ids", + "(i ds", + "(id s", + "---- ----------------------------------------------------------------------------", + "---------------- ----------------------------------------------------------------", + "-------------------------------- ------------------------------------------------", + "---------------------------------------------------------------- ----------------", + "------------------------------------------------ --------------------------------", + "---------- ----------------------------------------------------------------------", + "---------------------------------------------------------------------------- ----", + "---------------------------------------------------------------------- ----------", + "ipl inary", + "iplina ry", + "O pts", + "Op ts", + "Opt s", + "ĠY ale", + "ĠYa le", + "local Storage", + "Ġequ ival", + "Ġequiv al", + "ĠF leet", + "ĠFle et", + "\\ b", + "* pi", + "*p i", + "ĠQ Label", + "æ ¡", + "Ġ vx", + "Ġv x", + "Ġ ACL", + "ĠA CL", + "ĠAC L", + "Ġsu cesso", + "Ġsuc esso", + "Ġsucess o", + "Ġ perc", + "Ġp erc", + "Ġper c", + "Ġpe rc", + "ĠN otre", + "ĠNo tre", + "ĠNot re", + "Ġan arch", + "Ġana rch", + "R ing", + "s pb", + "sp b", + "Ġ strpos", + "Ġstr pos", + "st ores", + "store s", + "sto res", + "stor es", + "ĠMap le", + "ĠMa ple", + "( MainActivity", + "(Main Activity", + "(\" \"))", + "(\"\" ))", + "(\"\") )", + "Ġview Holder", + "Qu ad", + "Ġig ual", + "ors che", + "orsch e", + ". margin", + ".m argin", + ".mar gin", + "Ġin die", + "Ġind ie", + "Ġfr anc", + "Ġfra nc", + "Ġfran c", + "ĠForm Builder", + "ĠPart icip", + "ĠParti cip", + ". flash", + ".f lash", + ".fl ash", + "Ġ storms", + "Ġstorm s", + "Ġstor ms", + "Ġsto rms", + "U lt", + "Ul t", + "Ġ fen", + "Ġf en", + "Ġfe n", + "[ new", + "[n ew", + "E ver", + "Ev er", + "= \"Ċ", + "=\" Ċ", + "Ġ localized", + "Ġlocal ized", + "Ġlocalize d", + "_ follow", + "_f ollow", + "Ġ nave", + "Ġn ave", + "Ġna ve", + "Ġnav e", + "Ġdom inance", + "Ġdomin ance", + "Ġdomina nce", + "( tile", + "(t ile", + "(ti le", + "J ournal", + "Jo urnal", + "Ġ VC", + "ĠV C", + "Ġpen etration", + "Ġpenet ration", + "Ġpenetr ation", + "ï¼ ķ", + "Ġcom partment", + "Ġcomp artment", + "Ġcompart ment", + "Ġb ids", + "Ġbi ds", + "Ġbid s", + "Form atted", + "Format ted", + "**** **/ĊĊ", + "****** /ĊĊ", + "*** ***/ĊĊ", + "***** */ĊĊ", + "******/ ĊĊ", + "******/Ċ Ċ", + "( city", + "(c ity", + "(ci ty", + "âĢĶ it", + "[ C", + "Ġuse Callback", + "a ub", + "au b", + ") ?.", + ")? .", + "Ġ VAR", + "ĠV AR", + "ĠVA R", + "ĠSe bastian", + "ĠSebast ian", + "ĠM oss", + "ĠMo ss", + "ĠMos s", + "Ġabund ant", + "G reg", + "Gr eg", + "Gre g", + "ÑĤ а", + "_ ci", + "_c i", + "Ġb ibli", + "Ġbib li", + "C RM", + "CR M", + "Ġ Attempt", + "ĠAt tempt", + "ĠAtt empt", + "is me", + "ism e", + "d ash", + "da sh", + "das h", + "ãĢ İ", + "_ mu", + "_m u", + ".Formatting Enabled", + "Ind eed", + "- direct", + "-d irect", + "-dir ect", + "-di rect", + "Ġs ucking", + "Ġsuc king", + "Ġsuck ing", + "Ġp ne", + "Ġpn e", + "ocab ulary", + "ĠP ackers", + "ĠPac kers", + "ĠPack ers", + ". Navigation", + ".N avigation", + ".Nav igation", + "Ġp ied", + "Ġpie d", + "Ġpi ed", + "cri bing", + "ĠSt uart", + ".To Double", + "Ġ Secondary", + "ĠSecond ary", + "S aving", + "Sa ving", + "ĠD ut", + "ĠDu t", + "ĠM add", + "ĠMad d", + "ĠMa dd", + "M agic", + "Mag ic", + ", H", + ".document Element", + "Ġ BST", + "ĠB ST", + "ĠBS T", + "Ġdif fers", + "Ġdiffer s", + "Ġdiff ers", + "Ġmore over", + "_ nd", + "_n d", + "SE ARCH", + "п ÑĢав", + "пÑĢа в", + "пÑĢ Ð°Ð²", + "æ ´", + "to Match", + "Ġde creasing", + "Ġdecre asing", + "- member", + "-m ember", + "am pus", + "amp us", + "( boost", + "D aily", + "Da ily", + "Data GridView", + "Ġ HttpContext", + "ĠHttp Context", + "Ġh ipp", + "Ġhi pp", + "Ġhip p", + "_ workers", + "_work ers", + "_worker s", + "- language", + "-l anguage", + "é ĵ", + "Ġcons isted", + "Ġconsist ed", + "a thing", + "ath ing", + "athi ng", + "ĠMer cury", + "ĠMerc ury", + "$ content", + "$c ontent", + "$con tent", + "Ġpract iced", + "Ġpractice d", + "Ġ Modules", + "ĠMod ules", + "ĠModule s", + "_ DAY", + "_D AY", + "_DA Y", + "Ġweakness es", + "ĠL odge", + "ĠLo dge", + "ĠLod ge", + "Ġ nar", + "Ġn ar", + "Ġna r", + "Ġ Mate", + "ĠM ate", + "ĠMat e", + "ĠMa te", + "Ġ jp", + "Ġj p", + "ĠHttp Headers", + "Ġs mo", + "Ġsm o", + "Ġ TOKEN", + "ĠT OKEN", + "ĠTO KEN", + "ĠTOK EN", + "] )(", + "]) (", + "Ġa qui", + "Ġaqu i", + "sw agen", + "Ġ srv", + "Ġs rv", + "Ġsr v", + "ĉ ans", + "ĉa ns", + "ĉan s", + "A round", + "Ar ound", + "ĠMan uel", + "Ġfiction al", + "Ġfict ional", + "Ġ IMG", + "ĠI MG", + "ĠIM G", + "Ġ .'", + "Ġ. '", + "Ġ Berry", + "ĠB erry", + "ĠBer ry", + "Ġwall paper", + "s exual", + "sex ual", + "i ero", + "ie ro", + "ier o", + "Ġ çļĦ", + "ìĨ Į", + "Backing Field", + "ĠAd rian", + "ĠAdri an", + "BASE PATH", + "Ġre peats", + "Ġrepe ats", + "Ġrepeat s", + "Ġbl ues", + "Ġblue s", + "Ġun predict", + "Ġunp redict", + "_ coll", + "_c oll", + "_col l", + "_co ll", + "st acle", + "sta cle", + "Ġ Tumblr", + "ĠT umblr", + "Ġ Elf", + "ĠE lf", + "ĠEl f", + "Ġass urance", + "Ġc ensus", + "Ġcen sus", + "Ġ IMPORT", + "ĠIM PORT", + "ĠIMP ORT", + "E NDER", + "EN DER", + "END ER", + "a nos", + "an os", + "ano s", + "Ġ =(", + "Ġ= (", + "ĠEl lis", + "ĠEll is", + "ĠElli s", + "\" ĊĊĊĊ", + "\"Ċ ĊĊĊ", + "\"ĊĊ ĊĊ", + "\"ĊĊĊ Ċ", + ". win", + ".w in", + "Ġ Above", + "ĠA bove", + "ĠAb ove", + "a lon", + "al on", + "alo n", + "_ tick", + "_t ick", + "_ti ck", + "Ġrepresent ations", + "Ġrepresentation s", + "Ġ æķ", + "Ġæ ķ", + "w id", + "wi d", + "ĠA rms", + "ĠAr ms", + "ĠArm s", + "L ista", + "List a", + "Li sta", + "_ failure", + "_f ailure", + "_fail ure", + "_ cm", + "_c m", + ".Flat Appearance", + "Ġth rone", + "Ġthr one", + "Ġthro ne", + "P atch", + "Pat ch", + "ĠV oy", + "ĠVo y", + "en gl", + "eng l", + "Ġnegot iating", + "> `", + "Ġshoot s", + "Ġsho ots", + "Ġ FPS", + "ĠF PS", + "ĠFP S", + ". Year", + ".Y ear", + "ĠK iss", + "ĠKi ss", + "ĠKis s", + "en ción", + "enc ión", + "enci ón", + "re eting", + "ree ting", + "reet ing", + "From File", + "Ġresign ation", + "Ø ·", + "Ġt wins", + "Ġtw ins", + "Ġtwin s", + "ư ợ", + "ưỠ£", + "Ġge bru", + "Ġgeb ru", + ". getContent", + ".get Content", + ".getC ontent", + ". Tree", + ".T ree", + ".Tr ee", + "Ġ Employees", + "ĠEmployee s", + "ĠEmploy ees", + "ĠF IFA", + "ĠFI FA", + "Ġc ertainty", + "Ġcert ainty", + "Ġcertain ty", + "( Cl", + "(C l", + "Ġ totals", + "Ġtot als", + "Ġtotal s", + "ed itable", + "edit able", + "edi table", + "ॠĢ", + ". Reporting", + ".Report ing", + "M as", + "Ma s", + "qu iet", + "qui et", + ". rules", + ".r ules", + ".ru les", + ".rule s", + "Ġ VO", + "ĠV O", + "con exion", + ", K", + "Ġ allocator", + "Ġal locator", + "Ġall ocator", + "Ġalloc ator", + "ĠPow der", + "\\ Repository", + "B eat", + "Be at", + "_ tipo", + "_t ipo", + "_tip o", + "_ti po", + "Ġ[ '',", + "Ġ[' ',", + "_ INTR", + "_IN TR", + "_INT R", + "Ġ <<<", + "Ġ< <<", + "Ġ<< <", + "< hr", + " \");čĊ", + ">\" );čĊ", + ">\") ;čĊ", + "drop IfExists", + "ĠB eg", + "ĠBe g", + "_ HAL", + "_H AL", + "Ġcross AxisAlignment", + "Ġ Evidence", + "ĠE vidence", + "ĠEv idence", + "Ġpec uliar", + "Ġin stitute", + "Ġinstit ute", + "ve is", + "Ġ fft", + "Ġf ft", + "Ġff t", + "à ģ", + "Ġzo ekt", + "Ġzoek t", + "an aly", + "ana ly", + "anal y", + "ĠHome land", + "ĠHom eland", + "Ġpen etr", + "Ġpenet r", + "udden ly", + "ĉ element", + "ĉe lement", + "ĉel ement", + "ĉelem ent", + "ĠB ren", + "ĠBr en", + "ĠBre n", + "ĠTr udeau", + "ĠCub an", + "ĠCu ban", + "ĠCuba n", + "j am", + "ja m", + "us lim", + "_ ev", + "_e v", + "Ġs tems", + "Ġst ems", + "Ġste ms", + "Ġstem s", + "} %", + "Ŀ å§ĭ", + "Ġbr anding", + "Ġbrand ing", + "Ġbran ding", + "Ġcorrespond ence", + ". jquery", + ".j query", + "¢ åįķ", + "ĠRe ads", + "ĠRead s", + "(Http StatusCode", + "(HttpStatus Code", + "as sin", + "ass in", + "assi n", + "( slot", + "(s lot", + "(sl ot", + "ĠGrad uate", + "// /<", + "/// <", + "Ġinformation s", + "Ġinform ations", + "Ġinformat ions", + "EN ABLE", + "ENA BLE", + "Ġp uis", + "Ġpu is", + "Ġ finder", + "Ġf inder", + "Ġfind er", + "Ġfin der", + "Ġfi nder", + "Ġfinde r", + "ĠB ris", + "ĠBr is", + "ĠBri s", + "Ġnett steder", + "_ mid", + "_m id", + "_mi d", + "Ġ ogs", + "Ġo gs", + "Ġog s", + "ĠSter ling", + "Ġar rog", + "Ġarr og", + "str ftime", + "| ĊĊ", + "|Ċ Ċ", + "Ġ vox", + "Ġv ox", + "Ġvo x", + "Ġ Regardless", + "ĠReg ardless", + "Ġ eso", + "Ġe so", + "Ġes o", + "Ġ Comfort", + "ĠCom fort", + ".Boolean Field", + "Ġ uh", + "Ġu h", + "A CY", + "AC Y", + "Ġsque ez", + "ĠV ic", + "ĠVi c", + "con tro", + "cont ro", + "contr o", + ". lo", + ".l o", + "Ġ ire", + "Ġi re", + "Ġir e", + "ĠCom edy", + "ĠCome dy", + "ë ¶", + "Ġorig inated", + "Ġorigin ated", + "Ġoriginate d", + "Ġ shipment", + "Ġsh ipment", + "Ġship ment", + "| max", + "|m ax", + "_ guid", + "_g uid", + "_gui d", + "le vation", + "lev ation", + "н аÑı", + "на Ñı", + "( undefined", + "(un defined", + "Ġ DDR", + "ĠD DR", + "ĠDD R", + "Ġshoot ings", + "Ġshooting s", + "ĠLat ino", + "ĠLatin o", + "END OR", + "Ġaver aging", + "Ġgre eted", + "Ġgreet ed", + "Ġthe aters", + "Ġtheater s", + "Ġtheat ers", + "о е", + "оРµ", + "Ġ dB", + "Ġd B", + "Ġ gst", + "Ġg st", + "Ġgs t", + "Ġde finite", + "Ġdef inite", + "Ġdefinit e", + "Ġdefin ite", + ". Storage", + ".St orage", + ". her", + ".h er", + ".he r", + "Ġa fore", + "Ġaf ore", + "Ġ Reality", + "ĠRe ality", + "ĠReal ity", + "ĠG ods", + "ĠGod s", + "ĠGo ds", + "v ersed", + "ver sed", + "vers ed", + "verse d", + "Ġhand some", + "Ġhands ome", + "Ġ excluding", + "Ġex cluding", + "Ġexcl uding", + "( ad", + "(a d", + "Qu otes", + "Quote s", + "Ġ Scheme", + "ĠS cheme", + "ĠSch eme", + "ĠSche me", + "? q", + "ĠT amil", + "ĠTa mil", + "ĠTam il", + "T icks", + "Tick s", + "Ti cks", + "Ġ pest", + "Ġp est", + "Ġpe st", + "Ġpes t", + "' n", + "Ġporn ography", + "_ modal", + "_m odal", + "_mod al", + "_mo dal", + "Ġ ----------", + "Ġ- ---------", + "Ġ-- --------", + "Ġ---- ------", + "Ġ--- -------", + "Ġ----- -----", + "Ġ------ ----", + "Ġ-------- --", + "Ġ------- ---", + "Ġ--------- -", + "Ġd isposable", + "Ġdis posable", + "Ġdispos able", + "F REE", + "FR EE", + "Ġsh ark", + "Ġsha rk", + "Ġshar k", + "C HE", + "CH E", + "Ġdep icted", + "Ġdepict ed", + "Ġdemonstr ations", + "Ġdemonstration s", + "ĠK illed", + "ĠKill ed", + "ĠKil led", + "Ġ RULE", + "ĠR ULE", + "ĠRU LE", + "Ġobs essed", + "Ġobsess ed", + "Ġs implified", + "Ġsimpl ified", + "Post al", + "Pos tal", + "Po stal", + "Ġconcept ual", + "Ġ pst", + "Ġp st", + "Ġps t", + "L as", + "La s", + "_ PROJECT", + "_PRO JECT", + "uc ceeded", + "ucceed ed", + "o lu", + "ol u", + "ÄŁ i", + "Ġpersonal ities", + "Ġ reshape", + "Ġre shape", + "Ġres hape", + "Ġresh ape", + "Ġen closed", + "Ġenc losed", + "ĉ ptr", + "ĉp tr", + "ĉpt r", + "Ġt utorials", + "Ġtutorial s", + "Ġtutor ials", + "Ġexpl oded", + "Ġexplo ded", + "Ġexplode d", + "_ DIRECTORY", + "_DIRECT ORY", + "åĨħ 容", + "Ġc anon", + "Ġcan on", + "Ġca non", + "Ġrecogn ise", + "P AD", + "PA D", + "Ġ Approx", + "ĠApp rox", + "ĠAp prox", + "ĠAppro x", + "Ġ Restore", + "ĠRe store", + "ĠRest ore", + "Ġ Important", + "ĠImport ant", + "Ġhe avier", + "Ġheav ier", + ". Sequential", + ".Se quential", + "E arth", + "Ear th", + "ĠM ilk", + "ĠMil k", + "ĠMi lk", + ".set Request", + ". tem", + ".t em", + ".te m", + "Ġre construct", + "Ġrecon struct", + "Ġskept ical", + "Ġskeptic al", + "_ Private", + "_Pr ivate", + "B UF", + "BU F", + "q ua", + "qu a", + ": a", + "Ġ sek", + "Ġs ek", + "Ġse k", + "Ġd well", + "Ġdw ell", + "o ssa", + "os sa", + "oss a", + "Ġreward ed", + "Ġrew arded", + "и й", + "( topic", + "(t opic", + "(to pic", + "(top ic", + "_ partition", + "_part ition", + "Ġ__ ________________", + "Ġ______ ____________", + "Key words", + "Keyword s", + "ĠFr anco", + "ĠFranc o", + "ĠFran co", + "L ite", + "Li te", + "Lit e", + "Ġn aken", + "Ġna ken", + "Ġnak en", + "Ġ за", + "Ġз а", + "O BJECT", + "OB JECT", + "OBJ ECT", + "Ġcraft s", + "Ġcra fts", + "Ġ Swap", + "ĠS wap", + "ĠSw ap", + ".X na", + ". Connect", + ".Con nect", + ".Conn ect", + "Ġbalcon y", + "( real", + "(re al", + "ĠBar nes", + "ĠBarn es", + "b ir", + "bi r", + "Ġ Twenty", + "ĠTw enty", + "ĠTwe nty", + "a yan", + "ay an", + "aya n", + "at ars", + "ata rs", + "atar s", + "ĠPro pel", + "ĠProp el", + "ĠIh nen", + "Up grade", + "Ġc urb", + "Ġcur b", + "Ġcu rb", + "- second", + "-se cond", + "Ġn eph", + "Ġne ph", + "Ġnep h", + ". pres", + ".p res", + ".pre s", + ".pr es", + "ìŀ ħ", + ". seq", + ".s eq", + ".se q", + "Ġp added", + "Ġpad ded", + "Ġpadd ed", + "\" ?", + "j l", + "ãĥ ¬", + "' ) a", + "Co ordinates", + "Coordinate s", + "Ġen acted", + "Ġenact ed", + "EN TS", + "ENT S", + "Ġ lac", + "Ġl ac", + "Ġla c", + ". final", + ".f inal", + ".fi nal", + ".fin al", + "ĠPhp Storm", + "c alled", + "cal led", + "call ed", + "Ġin quiries", + ". middleware", + ".m iddleware", + ".middle ware", + "ĠD owntown", + "ĠDown town", + "/ ';Ċ", + "/' ;Ċ", + "Ġkil omet", + "ac cel", + "acc el", + "Ġqu ien", + "Ġq uien", + "Ġqui en", + "w string", + "ws tring", + "set Data", + "Ġman era", + "Ġmane ra", + "Ġmod ular", + "r imp", + "ri mp", + "rim p", + "Ġtar iffs", + "Ġtariff s", + "Ġtarif fs", + "âĢĻ il", + "âĢĻi l", + "_TH ROW", + "/ color", + "/c olor", + "/co lor", + "Ġ HTMLElement", + "ĠHT MLElement", + "ĠHTML Element", + "Ġc arro", + "Ġcar ro", + "Ġcarr o", + "Ġpr ere", + "Ġpre re", + "Ġprer e", + "Ġplot ting", + "Ġ Positive", + "ĠPos itive", + "ĠM achines", + "ĠMachine s", + "ĠMach ines", + "O TES", + "OT ES", + "OTE S", + "á» Ľ", + "ple asant", + "Ġ alte", + "Ġa lte", + "Ġal te", + "Ġalt e", + "Ġa inda", + "Ġai nda", + "Ġain da", + "th ese", + "the se", + "thes e", + "Ġ cors", + "Ġc ors", + "Ġco rs", + "Ġcor s", + "i pay", + "ip ay", + "ipa y", + "ĠAdv isory", + "ĠAdvis ory", + "ĠAdvisor y", + "ĠRub io", + "ĠRu bio", + "j q", + "Ġl imestone", + "Ġlim estone", + "Ġlime stone", + "Ġdet ached", + "Ġdetach ed", + "设 ç½®", + "t enant", + "te nant", + "ten ant", + "Ġ Depth", + "ĠDe pth", + "ĠDep th", + "ĠDept h", + "a lore", + "al ore", + "alo re", + "ĠÑģÑĤ ÑĢок", + "ĠÑģÑĤÑĢ Ð¾Ðº", + "ĠÑģÑĤÑĢо к", + "Ġ FORE", + "ĠF ORE", + "ĠFOR E", + "ĠFO RE", + "ĠL ay", + "ĠLa y", + "p resentation", + "present ation", + ") ');Ċ", + ")' );Ċ", + ".sub plots", + ".subplot s", + "Ï ĥ", + "N OW", + "NO W", + "G ar", + "Ga r", + "h andles", + "handle s", + "hand les", + "a bra", + "ab ra", + "abr a", + "put ies", + "pu ties", + "ĠElect rical", + "ĠElectric al", + "M iddle", + "Mid dle", + "r opic", + "ro pic", + "rop ic", + "Ġ JD", + "ĠJ D", + "Ġ Dyn", + "ĠD yn", + "ĠDy n", + "ĠB ristol", + "ĠBr istol", + "ĠBris tol", + "ĠMc Carthy", + "ĠMcCart hy", + "Ġstr iker", + "Ġstri ker", + "Ġstrike r", + "Ġenum erable", + "Ġenumer able", + "ĠE van", + "ĠEv an", + "ĠEva n", + ". defaults", + ".default s", + "qu ences", + "que nces", + "quence s", + ") ||", + ")| |", + "ĉ token", + "ĉt oken", + "ĉto ken", + "â Ĺı", + "âĹ ı", + "- dropdown", + "-d ropdown", + "-drop down", + "ST ORE", + "Ġ Graphic", + "ĠG raphic", + "ĠGraph ic", + "( pp", + "(p p", + "Ex pl", + "Exp l", + "Ġup wards", + "Ġupward s", + "ĠD istributed", + "ĠDistrib uted", + "Ġ WEB", + "ĠW EB", + "ĠWE B", + "J er", + "Je r", + "is NaN", + "çĶŁ æĪIJ", + "> R", + "üss en", + "üs sen", + "e fs", + "ef s", + "Ġun cover", + "Ġunc over", + "Ġl ud", + "Ġlu d", + ". calculate", + ".c alculate", + ".cal culate", + ".calc ulate", + "Ġ intptr", + "Ġint ptr", + "Ġmidfield er", + ". Headers", + ".Header s", + ".He aders", + ".Head ers", + "Ġ mf", + "Ġm f", + "e ref", + "er ef", + "ere f", + ". Metro", + ".M etro", + ".Me tro", + "Ġ Speaking", + "ĠSpe aking", + "ĠSpeak ing", + ": b", + "Ġcryptoc urrencies", + "Ġd emons", + "Ġde mons", + "Ġdem ons", + "Ġdemon s", + "Ġdemo ns", + "ĉ EXPECT", + "Ġw icked", + "y outube", + "you tube", + "youtu be", + ": Int", + ":I nt", + "ĠH indi", + "ĠHind i", + "ĠHin di", + "Ġ CAT", + "ĠC AT", + "ĠCA T", + "Ġ ع", + "ĠØ ¹", + "r ar", + "ra r", + "o more", + "om ore", + "omo re", + "omor e", + "/ per", + "/p er", + "/ license", + "/lic ense", + "/l icense", + "Ġre im", + "Ġa waiting", + "Ġawait ing", + "Ġle thal", + "Ġlet hal", + "Ġleth al", + "Ġ EF", + "ĠE F", + "r ounded", + "ro unded", + "round ed", + "ĠPl atinum", + "Ġв Ñģе", + "ĠвÑģ е", + ". coords", + ".co ords", + ".coord s", + ". Device", + ".D evice", + ".De vice", + ".Dev ice", + "/ item", + "/i tem", + "Ġ Wenn", + "ĠW enn", + "ĠWe nn", + "ĠWen n", + "compile Components", + "ĠK inder", + "ĠKind er", + "ĠKi nder", + "ĠKin der", + ".remove Item", + "Ġ anda", + "Ġa nda", + "Ġand a", + "Ġan da", + "b nb", + "bn b", + "Ġ pra", + "Ġp ra", + "Ġpr a", + "( transaction", + "(trans action", + "Ġembarrass ing", + "ĉ BOOL", + ".content View", + "Ġevent data", + "at ore", + "ator e", + "ato re", + "Ġprovided In", + "ir ma", + "irm a", + "Ġz ona", + "Ġzo na", + "_ HW", + "_H W", + "æ Ļ", + "Ġst ove", + "Ġsto ve", + "Ġcounter part", + "_ Product", + "_Pro duct", + "_MAN AGER", + "Ġinf ring", + "Ġinfr ing", + "Ġ ERA", + "ĠE RA", + "ĠER A", + "_ party", + "_p arty", + "_part y", + "_par ty", + "Ñ ij", + "Ġin ici", + "Ġi nici", + "Ġini ci", + "_ Request", + "_Re quest", + "Ġmir acle", + "Ġmirac le", + "Ġcancel Button", + "S py", + "Sp y", + "at ó", + "Ġpol ish", + "Ġpo lish", + "Ġpolis h", + "ĠNic ole", + "ĠNi cole", + "ĠNico le", + "ĠNicol e", + ". displayName", + ".display Name", + "\\ Requests", + "\\Request s", + "Ġuse History", + "Router Module", + "Ġst ared", + "Ġstar ed", + "Ġsta red", + "Ġstare d", + "I DER", + "ID ER", + "IDE R", + "Ñĥнк ÑĨи", + "Ġ nota", + "Ġn ota", + "Ġnot a", + "Ġno ta", + "$ arr", + "$a rr", + "$ar r", + "pec ified", + "Ġt opp", + "Ġto pp", + "Ġtop p", + "_DR IVER", + "_DRIVE R", + "/ ng", + "/n g", + "å ł", + "_ tm", + "_t m", + "% timeout", + "< s", + "Ġ (*)", + "Ġ( *)", + "Ġ(* )", + "Ġ HttpRequest", + "ĠHttp Request", + "_ TRACK", + "_TR ACK", + "_TRA CK", + "( note", + "(n ote", + "(not e", + "(no te", + "Ġ Explore", + "ĠExp lore", + "ĠExpl ore", + "_ serv", + "_s erv", + "_se rv", + "_ser v", + "Ġ ç»", + "Ġç »", + "B inder", + "Bind er", + "Bin der", + "Bi nder", + "+ \",", + "+\" ,", + ". att", + ".a tt", + ".at t", + "ĠEth i", + "ĠEt hi", + "Ġc ódigo", + "= '\\", + "=' \\", + ". lines", + ".l ines", + ".line s", + ".li nes", + ".lin es", + "( Of", + "(O f", + "å° Ĩ", + "miss ible", + "Ġ vé", + "Ġv é", + "Ġac oustic", + "Ġcraft ing", + "n it", + "ni t", + ". ba", + ".b a", + "ĠLuc y", + "ĠLu cy", + "Ġi Pod", + "ĠiP od", + "Ġpup ils", + "Ġpupil s", + "- max", + "-m ax", + "_ wr", + "_w r", + "( cp", + "(c p", + "Ġ REPORT", + "ĠRE PORT", + "ĠREP ORT", + "Ġ dns", + "Ġd ns", + "Ġdn s", + "Ġ References", + "ĠRe ferences", + "ĠReference s", + "ĠRefer ences", + "Ġunder taken", + "Ġundert aken", + "Ġundertake n", + "Ġkø benhavn", + "Ġ chai", + "Ġc hai", + "Ġch ai", + "Ġcha i", + "ĠC roat", + "ĠCro at", + "_ Log", + "_L og", + "r owned", + "row ned", + "rown ed", + "_ med", + "_m ed", + "_me d", + "ĉ date", + "ĉd ate", + "# __", + "Ġcost umes", + "Ġcostume s", + "Ġ Requires", + "ĠRe quires", + "ĠRequire s", + "aff le", + "ç Ĭ¶æĢģ", + "çĬ¶ æĢģ", + "-S emit", + "-Se mit", + "ela ide", + "еÑĤ од", + "Ġp estic", + "Ġpes tic", + "Ġpest ic", + "Ġ dra", + "Ġd ra", + "Ġdr a", + "D OCUMENT", + "DOC UMENT", + "Ġ ...čĊ", + "Ġ... čĊ", + "Ġ.. .čĊ", + "} `}Ċ", + "}` }Ċ", + "}`} Ċ", + "ĠA uction", + "ĠAu ction", + "Ġ Dock", + "ĠD ock", + "ĠDo ck", + "ĠDoc k", + "xxxx xxxx", + "( getString", + "(get String", + "ħ į", + "Ġborder Width", + "ĠM achinery", + "ĠMachine ry", + "ĠMach inery", + "Ġpredict able", + "Ġpredic table", + ". SH", + ".S H", + "Ġam plitude", + "Ġampl itude", + ".for Root", + "I Navigation", + "IN avigation", + "Table Model", + "at trib", + "att rib", + "attr ib", + "Ġmaneu ver", + "Ġexc av", + "B ERS", + "BER S", + "BE RS", + "Ġd apat", + "Ġda pat", + "Ġdap at", + "Ġinstall ations", + "Ġinstallation s", + "Ġinstal lations", + ". Async", + ".A sync", + ".As ync", + "Ġ rays", + "Ġr ays", + "Ġra ys", + "Ġray s", + "= âĢĿ", + "; ččĊ", + ". crypto", + ".c rypto", + "_ dbg", + "_d bg", + "_db g", + "Ġ Enumerable", + "ĠEnum erable", + "Of Size", + "_ epochs", + "_epoch s", + "m w", + "M ENU", + "ME NU", + "out line", + "ĠP apers", + "ĠPa pers", + "ĠPaper s", + "ĠPap ers", + "= ===========Ċ", + "== ==========Ċ", + "==== ========Ċ", + "======== ====Ċ", + "=== =========Ċ", + "============ Ċ", + "=========== =Ċ", + "========= ===Ċ", + "========== ==Ċ", + "====== ======Ċ", + "===== =======Ċ", + "======= =====Ċ", + "Ġuniform s", + "Ġuni forms", + "ĠG ig", + "ĠGi g", + "- package", + "-p ackage", + "-pack age", + "ĠJ enkins", + "ĠJen kins", + "Ġ HomePage", + "ĠHome Page", + ". isSelected", + ".is Selected", + "Ġmechan ic", + "Ġmech anic", + "M K", + "Ġ Sounds", + "ĠS ounds", + "ĠSo unds", + "ĠSou nds", + "ĠSound s", + "//---------------------------------------------------------------- -------------Ċ", + "//---------------------------------------------------------------------------- -Ċ", + "Ġresearch ing", + "Ġ infos", + "Ġin fos", + "Ġinfo s", + "Ġinf os", + "o graphics", + "og raphics", + "ograph ics", + "ographic s", + "er set", + "ers et", + "erse t", + "([ '/", + "([' /", + "ĠTim ber", + ". agent", + ".a gent", + ".ag ent", + ".age nt", + ".to JSON", + "_ commands", + "_command s", + "_comm ands", + "p aring", + "par ing", + "pa ring", + "_ adjust", + "_ad just", + "_adj ust", + ". nome", + ".n ome", + ".no me", + ".nom e", + "( glm", + "(g lm", + "(gl m", + "Status Bar", + "file path", + "? âĢĻ", + "Ġdet ective", + "Ġdetect ive", + "Ġuns erer", + "Ġunser er", + "Ġunsere r", + "ĠTi bet", + "ĠTib et", + "EN DED", + "END ED", + "( seed", + "(s eed", + "(se ed", + "Ġsne ak", + "Ġa mor", + "Ġam or", + "Ġamo r", + "=\" //", + "=\"/ /", + "ĠPan thers", + "ĠPanther s", + "all ax", + "alla x", + "ĠL IVE", + "ĠLI VE", + "ĉ DWORD", + "ĉD WORD", + "] =-", + "]= -", + "Ġt ornado", + "Ġtorn ado", + "/ min", + "/m in", + "Ġl ungs", + "Ġlung s", + "Ġlun gs", + "- current", + "-c urrent", + "-cur rent", + "Ġ Booking", + "ĠBo oking", + "ĠBook ing", + "ĠBoo king", + "åĪĹ è¡¨", + "Ġenjoy ment", + "ठ°", + "J A", + "t yped", + "type d", + "ty ped", + "typ ed", + ". Btn", + ".B tn", + "f at", + "fa t", + "u gal", + "ug al", + "uga l", + "Ġ Shares", + "ĠSh ares", + "ĠShare s", + "ĠSha res", + "ĠShar es", + "Ġdis gr", + "Ġdisg r", + "Ġ BAR", + "ĠB AR", + "ĠBA R", + "Ġ FOX", + "ĠF OX", + "ĠFO X", + "Op code", + "Ġ Sz", + "ĠS z", + "key down", + "iction aries", + "Ġdet ailing", + "Ġdetail ing", + "} ))Ċ", + "}) )Ċ", + "})) Ċ", + "Ġ pok", + "Ġp ok", + "Ġpo k", + "Ġdemonstr ating", + "Ġ notation", + "Ġn otation", + "Ġnot ation", + "Ġnota tion", + "l ayers", + "la yers", + "lay ers", + "layer s", + "@ if", + "ĠN PR", + "ĠNP R", + ".strict Equal", + "Ġ Recipes", + "ĠRec ipes", + "ĠRecipe s", + ". Tensor", + ".T ensor", + "Ġliqu or", + "Ġdeb ts", + "Ġdebt s", + ". endsWith", + ".end sWith", + ".ends With", + "W heel", + "Wh eel", + ". Pos", + ".P os", + "C SV", + "CS V", + "$ arity", + "$ar ity", + "Ġun stable", + "Ġuns table", + "Ġunst able", + "( loss", + "(l oss", + "(lo ss", + "EN SOR", + "ENS OR", + "Ġel even", + "Ġele ven", + "Ġelev en", + "ĠL opez", + "ĠLo pez", + "ĠHop kins", + "c onom", + "con om", + "co nom", + "cono m", + "ĠS eth", + "ĠSe th", + "ĠSet h", + "Ġpo ems", + "Ġpoem s", + "Q uant", + "Qu ant", + "Ġg sl", + "Ġgs l", + "Ġsy rup", + "Ġs ibling", + "Ġsi bling", + "Ġc ass", + "Ġca ss", + "Ġcas s", + "- vous", + "-v ous", + "ö t", + "_P ATTERN", + "_ SECTION", + "_SE CTION", + "_SEC TION", + "est imated", + "estimate d", + "up grade", + ". mongodb", + ".m ongodb", + ".mongo db", + "ĠBo at", + "_ CTX", + "_C TX", + "_CT X", + "Ġfetch ing", + "Ġfet ching", + "u stin", + "us tin", + "ust in", + "p iel", + "pi el", + "pie l", + "M arg", + "Mar g", + "Ma rg", + "Ref lection", + "Reflect ion", + "Ġ duct", + "Ġd uct", + "Ġdu ct", + "ĠMunicip al", + "Ġ bx", + "Ġb x", + ". GetCurrent", + ".Get Current", + "m link", + "ml ink", + "mlin k", + "ĠAccount ing", + "ĠGen eva", + "ĠGene va", + "_ Pos", + "_P os", + "Ġp asser", + "Ġpass er", + "Ġpas ser", + "Ġpasse r", + "Ġhear ings", + "Ġhearing s", + "com pan", + "comp an", + "Ġfrag ile", + "Initial izer", + "Initialize r", + "w alker", + "walk er", + "wal ker", + ". Material", + ".M aterial", + "ĠH unting", + "ĠHun ting", + "ĠHunt ing", + "try side", + "trys ide", + "Ġ kat", + "Ġk at", + "Ġka t", + "Ġcl erk", + "Ġcle rk", + "Ġcler k", + "á Ł", + "do ing", + "doi ng", + "ĉ group", + "ĉg roup", + "ĉgr oup", + "Ġsan ction", + "Ġsanct ion", + ". lb", + ".l b", + "Ġ Lazy", + "ĠL azy", + "ĠLa zy", + "ĠLaz y", + "Ġ Constraint", + "ĠCon straint", + "ĠConstr aint", + "P agination", + "Pag ination", + "Ġpou vez", + "ĠInd icates", + "M ER", + "ME R", + "Ġc ours", + "Ġco urs", + "Ġcour s", + "Ġcou rs", + "Ġy early", + "Ġyear ly", + "Ġg rosse", + "Ġgro sse", + "Ġgross e", + "Ġgros se", + "abb rev", + "abbr ev", + "Ġ DON", + "ĠD ON", + "ĠDO N", + "Ġpro ceeded", + "Ġproceed ed", + "ent lich", + "Ġ propertyName", + "Ġproperty Name", + "ĠTe aching", + "ĠTea ching", + "ĠTeach ing", + "st adt", + "sta dt", + "stad t", + "Ġc utoff", + "Ġcut off", + "or ners", + "orn ers", + "orne rs", + "Ġa frica", + "Ġaf rica", + "Ġafr ica", + "Ġ renders", + "Ġr enders", + "Ġrender s", + "Ġren ders", + "Ġrend ers", + "ĠYan kees", + "ĠYankee s", + "Ġ Toolbar", + "ĠTool bar", + "s paces", + "sp aces", + "space s", + "spa ces", + ".fill Style", + "Ġseg undo", + "Ġsegu ndo", + "_ strlen", + "_st rlen", + "_str len", + ". Firebase", + ".F irebase", + ".Fire base", + "å¤ Ħ", + "Ġmention ing", + "\\ (", + "ĠVal ve", + "S etter", + "Set ter", + "Ġsp ans", + "Ġspan s", + "Ġspa ns", + "ĠAl cohol", + "Ġ Letters", + "ĠLet ters", + "ĠLetter s", + "\\ xe", + "\\x e", + "Ġ TK", + "ĠT K", + "_ BLE", + "_B LE", + "_BL E", + ". getResult", + ".get Result", + "< Player", + "

\"", + "=> \"", + "t lement", + "tle ment", + "tl ement", + "$ (\"", + "$( \"", + "From String", + "ĠB ild", + "ĠBi ld", + "ĠBil d", + "Ġcon ventions", + "Ġconv entions", + "Ġconvent ions", + "Ġconvention s", + "_ native", + "_n ative", + "_nat ive", + "Ġ Inspector", + "ĠIns pector", + "ĠInsp ector", + "ĠP ist", + "ĠPi st", + "ĠPis t", + "u bar", + "ub ar", + "uba r", + "Ġ regs", + "Ġre gs", + "Ġreg s", + "ĠP ilot", + "ĠPi lot", + "ĠPil ot", + "T hus", + "Th us", + "Thu s", + "> '+", + ">' +", + "Ġ cela", + "Ġc ela", + "Ġce la", + "Ġcel a", + ". news", + ".n ews", + ".new s", + ".ne ws", + "( Product", + "L iving", + "Li ving", + "Liv ing", + "R ussia", + "Russ ia", + "Ġ facet", + "Ġf acet", + "Ġfac et", + "Ġface t", + "e tical", + "et ical", + "etic al", + "eti cal", + "Ġ[ '$", + "Ġ[' $", + "/ [", + "Ġ Dire", + "ĠD ire", + "ĠDi re", + "ĠDir e", + "Ġg ases", + "Ġgas es", + "Ġga ses", + "ĠIN FORMATION", + "Ġ Eat", + "ĠE at", + "ĠEa t", + "ĠFor ums", + "ĠForum s", + "Ġ Characters", + "ĠChar acters", + "ĠCharacter s", + "_ met", + "_m et", + "_me t", + "Ġ ìĭľ", + "Ġìĭ ľ", + "Ġk ings", + "Ġking s", + "Ġkin gs", + "a chie", + "ach ie", + "achi e", + "Ġ Lambda", + "ĠL ambda", + "ĠLamb da", + "Ġt imers", + "Ġtime rs", + "Ġtim ers", + "Ġti mers", + "Ġtimer s", + "ĠL ighting", + "ĠLight ing", + "ĠCas ey", + "ĠCase y", + "ĠCa sey", + "ad dir", + "add ir", + "an dex", + "and ex", + "ande x", + ". answer", + ".an swer", + "Ġ Hip", + "ĠH ip", + "ĠHi p", + "ĠPr incip", + "Start Date", + "Ġ ãĢĮ", + "ĠãĢ Į", + "t res", + "tr es", + "tre s", + "Ġ &#", + "Ġ& #", + ".Max Value", + "ĠPro blems", + "ĠProblem s", + "ĠProb lems", + "ĠProble ms", + "Ġ latex", + "Ġla tex", + "Ġlate x", + "Ġlat ex", + "Of Class", + "ĠL ynn", + "ĠLy nn", + "ĠLyn n", + "/ /'", + "// '", + "Ġvoy age", + "Ġsh uttle", + "Ġshut tle", + "ĠR oller", + "ĠRo ller", + "ĠRoll er", + "ĠRol ler", + "ĠRuntime Error", + "u ya", + "uy a", + "D ic", + "Di c", + "ĉ builder", + "ĉb uilder", + "ĉbuild er", + "Ġbul lying", + "Ġbull ying", + "Ġbully ing", + "Ġsimple st", + "Ġsimp lest", + "Ġsimpl est", + "Ġsimples t", + ". called", + ".c alled", + ".call ed", + ".cal led", + "Ġ LR", + "ĠL R", + "Ġmor ality", + "Ġmoral ity", + "Ġst urdy", + "tr acking", + "track ing", + ". swagger", + ".sw agger", + "_ BIND", + "_B IND", + "_BIN D", + "I TOR", + "IT OR", + "ITO R", + "-url encoded", + "Ġ Ñħ", + "ĠÑ ħ", + "ĠTr inity", + "Ġtr aps", + "Ġtra ps", + "Ġtrap s", + "Ġ |-", + "Ġ| -", + "Ġ setText", + "Ġset Text", + "Ġbar gain", + "Ġbarg ain", + "Ġbr akes", + "Ġbra kes", + "Ġbrake s", + ". getCode", + ".get Code", + ".g etCode", + ".getC ode", + "Ġm igrate", + "Ġmigr ate", + "Ġmig rate", + "Ġ ribbon", + "Ġr ibbon", + "Ġrib bon", + ") return", + ")r eturn", + "Ġ charger", + "Ġch arger", + "Ġchar ger", + "Ġcharg er", + "Ġcharge r", + "a com", + "ac om", + "aco m", + "ADI US", + "ĠAmb assador", + "- after", + "-a fter", + "Ġ anni", + "Ġan ni", + "Ġann i", + "ĉ spin", + "ĉs pin", + "ĉsp in", + "Con cept", + "ĠHend erson", + "Ġ HOST", + "ĠH OST", + "ĠHO ST", + ". rank", + ".r ank", + ".ra nk", + "ĠNorth east", + "ĠNor theast", + "Ġber lin", + "Ġre quis", + "Ġreq uis", + "Ġrequ is", + ". feed", + ".f eed", + ".fe ed", + "Ġsource Mapping", + "ĠRen contre", + ". ajax", + ".a jax", + "nest js", + "Ġt rek", + "Ġtr ek", + "Ġtre k", + "ĠN acional", + "Ġ& [", + "Ġpay able", + "or tex", + "ort ex", + "orte x", + "Ġ dept", + "Ġd ept", + "Ġde pt", + "Ġdep t", + "field Name", + "Ġcomp letes", + "Ġcomple tes", + "Ġcomplet es", + "Ġcompl etes", + "Ġcomplete s", + "ĠR VA", + "ĠRV A", + "Ġon ions", + "Ġonion s", + "al ignment", + "align ment", + "Form ats", + "Format s", + "Ġ' {$", + "Ġ'{ $", + "Hash Set", + "ĠB od", + "ĠBo d", + ".Invariant Culture", + "Ġsett lements", + "Ġsettlement s", + "Ġsettle ments", + "Ġ hydr", + "Ġhy dr", + ". updated", + ".update d", + ".up dated", + "v enth", + "ve nth", + "vent h", + "ven th", + "( seconds", + "(se conds", + "(second s", + "(sec onds", + "=\" /\"", + "=\"/ \"", + "Ġweb page", + "( ĊĊ", + "(Ċ Ċ", + "Ġ tir", + "Ġt ir", + "Ġti r", + "Ġt oes", + "Ġto es", + "Ġtoe s", + "ĠB rick", + "ĠBr ick", + "ĠBri ck", + "Ġamb ition", + "Ġambit ion", + "P ot", + "Po t", + "= max", + "=m ax", + "E TIME", + "ET IME", + "Ġde pot", + "Ġdep ot", + "c alls", + "cal ls", + "call s", + "ĠNor wegian", + "` :", + "Ġ burger", + "Ġb urger", + "Ġbur ger", + "Ġburg er", + "Ġburge r", + "Ġprofessor s", + "Ġprofess ors", + "Ġ Allocate", + "ĠAl locate", + "ĠAll ocate", + "ĠAlloc ate", + "-third s", + "- chart", + "-c hart", + "-ch art", + "-char t", + "Ġ ford", + "Ġf ord", + "Ġfor d", + "Ġfo rd", + "* N", + ".k otlin", + "Ġpaper work", + "Ġ DEVICE", + "ĠDE VICE", + "ĠDEV ICE", + "% @\",", + "%@ \",", + "re spect", + "res pect", + "resp ect", + "( mp", + "(m p", + "é «ĺ", + "é« ĺ", + "- if", + "-i f", + "Ġcush ion", + "o bot", + "ob ot", + "obo t", + "Ġp arc", + "Ġpar c", + "Ġpa rc", + "S PACE", + "SP ACE", + "SPA CE", + "ĠNet anyahu", + "Ġself ish", + "Ġsel fish", + "f eat", + "fe at", + "fea t", + "Ġ clientes", + "Ġcl ientes", + "Ġclient es", + "Ġcli entes", + "Ġcliente s", + "- tools", + "-t ools", + "-to ols", + "-tool s", + "-too ls", + "Ġp orch", + "Ġpo rch", + "Ġpor ch", + "Ġ jq", + "Ġj q", + ". verbose", + ".ver bose", + "Ġlib erals", + "Ġliberal s", + "Ġliber als", + "] )ĊĊĊ", + "]) ĊĊĊ", + "])Ċ ĊĊ", + "])ĊĊ Ċ", + "p ies", + "pi es", + "pie s", + "Not Blank", + "( term", + "(t erm", + "(te rm", + "È Ľi", + "ÈĽ i", + "_ Params", + "_Param s", + ". normalize", + ".normal ize", + "B ullet", + "AS IC", + "ASI C", + "( hex", + "(h ex", + "_ cliente", + "_cl iente", + "_client e", + "_cli ente", + "+ ,", + "_ DI", + "_D I", + "Ġforth coming", + "} \")]Ċ", + "}\" )]Ċ", + "}\") ]Ċ", + "s eo", + "se o", + "U m", + "> Name", + ">N ame", + "Ġcomfort ably", + "irect ional", + "irection al", + "W ITH", + "WI TH", + "/ pr", + "/p r", + "Ġ Poor", + "ĠP oor", + "ĠPo or", + "ĠV itamin", + "ĠVit amin", + "ĠVita min", + "v ic", + "vi c", + "G H", + "Ġprior it", + "Ġprio rit", + "Ġ NN", + "ĠN N", + "Ġ Closed", + "ĠC losed", + "ĠCl osed", + "ĠClose d", + "ĠClo sed", + "¤ í", + "Ġ isOpen", + "Ġis Open", + "\\ Console", + "And Feel", + ". SUCCESS", + ".S UCCESS", + "_OPER ATION", + "p olation", + "po lation", + "pol ation", + "ĠT as", + "ĠTa s", + "p sz", + "ps z", + "> '.", + ">' .", + "C URRENT", + "V endor", + "host s", + "ho sts", + "hos ts", + "ĠE rd", + "ĠEr d", + ">tag ger", + ">t agger", + "ĠsourceMapping URL", + "Ġmar athon", + "_ closed", + "_c losed", + "_cl osed", + "_close d", + "Ġex emption", + "Ġexem ption", + "Ġexempt ion", + "Ġexemp tion", + "Ġrecogn izes", + "Ġrecognize s", + "ide show", + "ides how", + "' $", + "(' /');Ċ", + "('/ ');Ċ", + "('/') ;Ċ", + "m its", + "mit s", + "mi ts", + "wa rz", + "war z", + "ĠCh erry", + "ĠCher ry", + "µ ¬", + "n or", + "no r", + "p orte", + "port e", + "por te", + "Ġ wl", + "Ġw l", + "_ backup", + "_back up", + ".get Boolean", + ". getResource", + ".get Resource", + "Ġdefinit ive", + "Ġdefin itive", + ". EditText", + ".Edit Text", + "Ġ sÃŃ", + "Ġs ÃŃ", + ". CONT", + ".C ONT", + ".CON T", + ".CO NT", + "Ġ PLAYER", + "ĠPL AYER", + "ĠPLAY ER", + ". cards", + ".c ards", + ".card s", + ".car ds", + "ĠSh ore", + "ĠSho re", + "(' /')Ċ", + "('/ ')Ċ", + "('/') Ċ", + "cl uir", + "Web Driver", + "( month", + "(m onth", + "(mon th", + "- release", + "-r elease", + "-re lease", + "-rel ease", + "Ġins pector", + "Ġinspect or", + "Ġinsp ector", + "å £", + "Ġ NF", + "ĠN F", + "_ clip", + "_c lip", + "_cl ip", + "_cli p", + "å ŃIJ", + "åŃ IJ", + "Ġinter acting", + "Ġinteract ing", + ". tmp", + ".t mp", + ".tm p", + "Ġ '''ĊĊ", + "Ġ'' 'ĊĊ", + "Ġ'''Ċ Ċ", + "Ġ''' ĊĊ", + "Ġ dee", + "Ġd ee", + "Ġde e", + "Ġf rost", + "Ġfr ost", + "Ġfro st", + "\" ]))Ċ", + "\"] ))Ċ", + "\"]) )Ċ", + "\"])) Ċ", + "Ġ Places", + "ĠP laces", + "ĠPl aces", + "ĠPlace s", + "ĠPla ces", + "Th rows", + "Throw s", + "Thr ows", + "f ork", + "fo rk", + "for k", + "/ day", + "/d ay", + "i Phone", + "Ġ MIC", + "ĠM IC", + "ĠMI C", + "Ġf olding", + "Ġfol ding", + "Ġfold ing", + "Ġcr ore", + "Ġcro re", + "ĠCh iefs", + "ĠChief s", + "ĠChi efs", + "pher ical", + "pheric al", + "phe rical", + "( price", + "(p rice", + "(pr ice", + ".Write String", + "Ġex iting", + "Ġexit ing", + "] ',Ċ", + "]', Ċ", + "]' ,Ċ", + "ight ing", + "igh ting", + "Ing redient", + "( vertex", + "(ver tex", + "Ġ scrollView", + "Ġs crollView", + "Ġscroll View", + "h f", + ": new", + ":n ew", + "S EN", + "SE N", + "s ector", + "se ctor", + "sec tor", + "sect or", + "Ġs pins", + "Ġsp ins", + "Ġspin s", + "Ġspi ns", + "Ġ Scheduler", + "ĠS cheduler", + "ĠSchedule r", + "o techn", + "ot echn", + "ote chn", + "otech n", + "otec hn", + "sem icolon", + "semi colon", + "Font OfSize", + "ĠSpecific ally", + "fl amm", + ". ObjectId", + ".Object Id", + "Ġc onta", + "Ġcon ta", + "Ġcont a", + "_ permissions", + "_per missions", + "_perm issions", + "_permission s", + "ĉ FROM", + "ĉF ROM", + "I CODE", + "IC ODE", + "ICO DE", + "/ kg", + "/k g", + "ĠHot els", + "ĠHotel s", + "- med", + "-m ed", + "-me d", + "ĠD in", + "ĠDi n", + "Ġn avy", + "Ġna vy", + "Ġnav y", + "get Param", + "Ġm end", + "Ġme nd", + "Ġmen d", + "Ġportray ed", + "ĠMet ropolitan", + "P ainter", + "Paint er", + "Pa inter", + "Ġref erral", + "Ġrefer ral", + "_ good", + "_g ood", + "_go od", + "Ġmar vel", + "os aic", + "osa ic", + "> (&", + ">( &", + ". ur", + ".u r", + "Ġes tos", + "Ġest os", + "Ġesto s", + "Will iam", + "Ġtim ber", + "Ġquel ques", + "Ġquelque s", + "Ġ Documents", + "ĠDocument s", + "ĠDoc uments", + ".X aml", + "Ġb atches", + "Ġbatch es", + "Ġbat ches", + "éģ ĵ", + "Ġ Released", + "ĠRe leased", + "ĠRelease d", + "T ail", + "Ta il", + "Tai l", + "CO OKIE", + "h eid", + "he id", + "hei d", + "_ station", + "_st ation", + "_stat ion", + "_sta tion", + "Ġ Via", + "ĠV ia", + "ĠVi a", + "S ale", + "Sal e", + "Sa le", + "Ġ Repeat", + "ĠRe peat", + "ĠRep eat", + "Ġpro min", + "Ġpr omin", + "Ġprom in", + "ĠZ o", + "- forward", + "-for ward", + "Ġ Ion", + "ĠI on", + "ĠIo n", + "it ary", + "ita ry", + "itar y", + "Ġj us", + "Ġju s", + "- request", + "-re quest", + "Ġproud ly", + "Ġ Streaming", + "ĠStream ing", + "ĠStre aming", + "( MouseEvent", + "(Mouse Event", + "ĠS print", + "ĠSp rint", + "ĠSpr int", + "_ rotation", + "_r otation", + "_rot ation", + "Re positories", + "Ġt art", + "Ġta rt", + "Ġtar t", + "ĠÑģ в", + "Ġm appings", + "Ġmapping s", + "è ª", + "C u", + "C ycle", + "Cy cle", + "Ġb un", + "Ġbu n", + "ĉ lua", + "ĉl ua", + "ãĥ ī", + "Ġ( (!", + "Ġ(( !", + "Ġcollect ively", + "Ġcollective ly", + "Ġ Cond", + "ĠC ond", + "ĠCon d", + "ĠCo nd", + "Ġws zyst", + "Ġwsz yst", + "( lib", + "(l ib", + "(li b", + "openh agen", + "_ skip", + "_s kip", + "_sk ip", + ".Column Header", + "é Ĥ", + "perience d", + "peri enced", + "ı è¿°", + "_ props", + "_p rops", + "_pro ps", + "_pr ops", + "_prop s", + "Ġcon trace", + "Ġcont race", + "Ġcontr ace", + "Ġcontra ce", + "Ġmatch up", + "ab etic", + "abe tic", + "abet ic", + ". members", + ".m embers", + ".member s", + ".mem bers", + "R ECT", + "RE CT", + "REC T", + "( dat", + "(d at", + "(da t", + "Ġs og", + "Ġso g", + "re nom", + "ren om", + "reno m", + "_ Method", + "_M ethod", + "Custom ers", + "Customer s", + "ful lname", + "full name", + "Z N", + "r etry", + "re try", + "ret ry", + "Ġ kap", + "Ġk ap", + "Ġka p", + "ĠN eu", + "ĠNe u", + "è Ĭ", + "add Child", + "will Return", + "_ permalink", + "_p ermalink", + "_per malink", + "_perm alink", + "Ġenerg etic", + "Ġener getic", + "ĠW et", + "ĠWe t", + "ĠM orr", + "ĠMo rr", + "ĠMor r", + "Ġ gcd", + "Ġg cd", + "Ġgc d", + "co unts", + "count s", + "cou nts", + ", type", + ",t ype", + "d ig", + "di g", + "( Login", + "(Log in", + "Ġcr acks", + "Ġcrack s", + "Ġcra cks", + "Ġb acterial", + "Ġbacter ial", + "Ġbacteria l", + "ĠM eat", + "ĠMe at", + "ĠArm strong", + "ĠBro nze", + "ĠBron ze", + "Ġapprox imate", + "_ dirs", + "_d irs", + "_dir s", + "_di rs", + "l iga", + "li ga", + "lig a", + "ÅĤ ad", + "ÅĤa d", + "Ġkind ness", + "Ġ contre", + "Ġcon tre", + "Ġcont re", + "Ġcontr e", + "ĠE VERY", + "ĠEV ERY", + "ĠEVER Y", + "ĠEVE RY", + "M ET", + "ME T", + "Ġann ouncements", + "Ġannounc ements", + "Ġannouncement s", + "Ġannounce ments", + "g pio", + "gp io", + "ĠWaitFor Seconds", + "ĠPhoto shop", + "ĠPhotos hop", + "Ġdis contin", + "/ dd", + "/d d", + "Ġtop ology", + "Ġtopo logy", + "an ical", + "ani cal", + "anic al", + ". interface", + ".inter face", + "auc oup", + ". HashSet", + ".Hash Set", + "ARI ANT", + "( routes", + "(r outes", + "(route s", + "(ro utes", + "ĠT eh", + "ĠTe h", + "Ġh ype", + "Ġhy pe", + "Ġhyp e", + "] \").", + "]\" ).", + "]\") .", + "Ġs lam", + "Ġsl am", + "Ġsla m", + "Ġbr oth", + "Ġbro th", + "- inter", + "-in ter", + "-int er", + "ĠR id", + "ĠRi d", + "- manager", + "-m anager", + "-man ager", + "Cancel ar", + "Ġ Pagination", + "ĠP agination", + "ĠPag ination", + "Ġsound track", + "Ġpos terior", + "Ġpost erior", + "Ġposter ior", + "Ġposte rior", + "Ġsc rub", + "Ġscr ub", + "c reating", + "cre ating", + "cr eating", + "creat ing", + "- *", + "ir teen", + "irt een", + ". dy", + ".d y", + ".s ymmetric", + ".sym metric", + "Ġ \"\".", + "Ġ\" \".", + "Ġ\"\" .", + "= ==============", + "== =============", + "==== ===========", + "======== =======", + "=== ============", + "============ ===", + "============= ==", + "=========== ====", + "============== =", + "========= ======", + "========== =====", + "====== =========", + "===== ==========", + "======= ========", + "Ġch assis", + "ĠnumberOf Rows", + "De veloper", + "Develop er", + "_ bins", + "_b ins", + "_bin s", + "_bi ns", + "Ġ OUR", + "ĠO UR", + "ĠOU R", + "ri eb", + "rie b", + "P ros", + "Pro s", + "Pr os", + "Ġ wiÄĻ", + "Ġw iÄĻ", + "Ġwi ÄĻ", + "\" d", + "Ġasync io", + "ze igen", + "_ spi", + "_s pi", + "_sp i", + ". ALL", + ".A LL", + ".AL L", + "Ġscre ws", + "Ġscr ews", + "Ġscrew s", + "Ch inese", + "Ġ apiKey", + "Ġapi Key", + "Ġun successful", + "ĠSea hawks", + "ĠSeah awks", + "O RG", + "OR G", + "ç« ł", + "Ġprofession ally", + "Ġprofessional ly", + "Ġ Coupon", + "ĠC oupon", + "ĠCo upon", + "ĠCou pon", + "åŃĹ æ®µ", + "Con vention", + "Conv ention", + "Ġpol ym", + "Ġpoly m", + "æī ĭ", + "Ġsal vation", + "Ġsalv ation", + "Ġengine ered", + "Ġengineer ed", + "ĠW rest", + "ĠWr est", + "Ġ GCC", + "ĠG CC", + "ĠGC C", + "Ġwar mer", + "Ġwarm er", + "Layout Constraint", + "Ġag grav", + "Ġagg rav", + "S cripts", + "Script s", + "vent ure", + "ven ture", + "Ġrefriger ator", + "Ġinnov ations", + "Ġinnovation s", + "Ġ Runner", + "ĠR unner", + "ĠRun ner", + "N IC", + "NI C", + "ĠRoll ing", + "ĠRol ling", + "Control Events", + "Ġlo os", + "p ac", + "pa c", + "ĉ panel", + "ĉp anel", + "e fe", + "ef e", + "ĠBudd ha", + "ĠBuddh a", + "- -------------Ċ", + "-- ------------Ċ", + "---- ----------Ċ", + "-------- ------Ċ", + "--- -----------Ċ", + "------------ --Ċ", + "----- ---------Ċ", + "---------- ----Ċ", + "------ --------Ċ", + "----------- ---Ċ", + "------------- -Ċ", + "------- -------Ċ", + "--------- -----Ċ", + "-------------- Ċ", + "åº ĵ", + "(for Key", + "Ġl umin", + "Ġlu min", + "Ġlum in", + "Ġ (?", + "Ġ( ?", + "ĠA IDS", + "ĠAI DS", + ", user", + ",u ser", + "im ientos", + "imiento s", + "content Type", + "ant lr", + "é ¦", + "ĠW elt", + "ĠWe lt", + "ĠWel t", + "P roduction", + "Pro duction", + "Product ion", + "Produ ction", + "Prod uction", + "m ight", + "mi ght", + "ĠV II", + "ĠVI I", + "\" ,(", + "\", (", + "Ġobs erving", + "Ġobserv ing", + "Ġdeliber ate", + "( control", + "(c ontrol", + "(cont rol", + "Ġwith d", + "Ġwit hd", + "Ġse mana", + "Ġsem ana", + "ST ACK", + "STA CK", + "u chen", + "uch en", + "uc hen", + "uche n", + "N ice", + "Ni ce", + "Nic e", + "ĠDeutsch land", + "Ġ Specifies", + "ĠSpec ifies", + "d ma", + "dm a", + "iz io", + "izi o", + "ĠF acts", + "ĠFac ts", + "ĠFa cts", + "ĠFact s", + "_ popup", + "_p opup", + "_pop up", + "ĠDirect ors", + "ĠDirector s", + "ĠDir ectors", + "ĠDire ctors", + "{ :", + "[ R", + "ĠÑį леменÑĤ", + "ĠÑįлем енÑĤ", + "Ġ plat", + "Ġp lat", + "Ġpl at", + "Ġpla t", + "Ġdirect ing", + "ä¸ ī", + "ĠGil bert", + "â̦ .ĊĊ", + "â̦. ĊĊ", + ". qml", + ".q ml", + "Ġthere after", + "Ġdis position", + "Ġdisp osition", + "Ġdispos ition", + "Ġdisposit ion", + "d raft", + "dr aft", + "dra ft", + "Ġs urgeon", + "Ġsurg eon", + "Ġsurge on", + "ĠIns ider", + "ĠInside r", + "Bl end", + "ĠT rev", + "ĠTr ev", + "ĠTre v", + "tr insic", + "tri nsic", + "To pics", + "Top ics", + "Topic s", + "r ieve", + "ri eve", + "rie ve", + "_ FILENAME", + "_FILE NAME", + "Ġaut res", + "Ġau tres", + "Ġautre s", + "J ose", + "Jo se", + "Jos e", + "Pro ducer", + "Produ cer", + "Prod ucer", + "e rus", + "er us", + "eru s", + "Ġpe tit", + "Ġpet it", + "Ġ NEXT", + "ĠN EXT", + "ĠNE XT", + "Ġ Filters", + "ĠF ilters", + "ĠFilter s", + "ĠFil ters", + "Ġrep licate", + "Ġrepl icate", + "Ġreplic ate", + "Ġreplica te", + "\" ]).", + "\"] ).", + "\"]) .", + "Ġl enders", + "Ġlen ders", + "Ġlend ers", + "Ġlender s", + "] \",Ċ", + "]\", Ċ", + "]\" ,Ċ", + "; charset", + "Cpp Object", + "Ġfl oral", + "Ġflo ral", + "Ġflor al", + "Ġflora l", + "Ġ Tipo", + "ĠT ipo", + "ĠTi po", + "ĠTip o", + "Ġcirc uits", + "Ġcircuit s", + "e asy", + "ea sy", + "(& $", + "it ta", + "itt a", + "er yl", + "ery l", + "_ COMMON", + "_COM MON", + "_COMM ON", + "' }}>Ċ", + "'} }>Ċ", + "'}} >Ċ", + "'}}> Ċ", + "-b acked", + "-back ed", + "( variable", + "(var iable", + "( Index", + "(In dex", + "Ġ voir", + "Ġv oir", + "Ġvo ir", + "Ġvoi r", + "_ locations", + "_l ocations", + "_location s", + "_loc ations", + "++ ){", + "++) {", + "ĠLouis ville", + "Ġgr atitude", + "Ġgrat itude", + ".Mock ito", + "ĠP owers", + "ĠPower s", + "ĠPo wers", + "ĠPow ers", + "i eurs", + "ie urs", + "ieu rs", + "ieur s", + "Ġge ographic", + "Ġgeo graphic", + "r ale", + "ra le", + "ral e", + "Ġc ra", + "Ġcr a", + "ĠSp urs", + "ipher text", + "iph ertext", + "AC ION", + "- common", + "-com mon", + "-comm on", + "Ġvict ories", + "ĠF inals", + "ĠFin als", + "ĠFinal s", + ". shuffle", + ".sh uffle", + "- million", + "-m illion", + "_ PROC", + "_P ROC", + "_PRO C", + "_PR OC", + "as sume", + "ass ume", + "Ġ ils", + "Ġi ls", + "Ġil s", + "D BC", + "DB C", + "Boot Test", + "Ġl avor", + "Ġla vor", + "Ġlav or", + ". testing", + ".t esting", + ".test ing", + ". ast", + ".as t", + ".a st", + "\" ]/", + "\"] /", + "m oid", + "mo id", + "Ġ qualification", + "Ġqual ification", + "g esch", + "ge sch", + "ges ch", + "ĉ put", + "ĉp ut", + "Ġair ports", + "Ġairport s", + "J I", + "T eacher", + "Te acher", + "_ uniform", + "_un iform", + "Ġ nama", + "Ġn ama", + "Ġna ma", + "Ġnam a", + "ĠB ast", + "ĠBa st", + "ĠBas t", + "e rtype", + "er type", + "ert ype", + "erty pe", + "c apture", + "cap ture", + "capt ure", + "get All", + "ĠReyn olds", + "o oled", + "ool ed", + "oo led", + ". comments", + ".com ments", + ".comment s", + ".comm ents", + "Ġ chin", + "Ġc hin", + "Ġch in", + "Ġchi n", + ") .*", + "). *", + "Ġ или", + "Ġи ли", + "t gl", + "tg l", + "u dos", + "ud os", + "udo s", + "Ġd ÃŃas", + "ĠdÃŃa s", + "ĠdÃŃ as", + "c hai", + "ch ai", + "cha i", + ". program", + ".p rogram", + ".pro gram", + ".pr ogram", + "Ġ psz", + "Ġp sz", + "Ġps z", + "ĉ icon", + "ĉi con", + "p hil", + "ph il", + "phi l", + "ent ral", + "entr al", + "_W RAP", + "_WR AP", + "o vi", + "ov i", + "Ġnost alg", + "In finity", + "Inf inity", + "ĉ yield", + "ĉy ield", + "Ġvit amins", + "Ġvitamin s", + "Ġvita mins", + "Ġvitam ins", + "Qu aternion", + "S ink", + "Si nk", + "Sin k", + "_ goods", + "_g oods", + "_go ods", + "_good s", + "Ġ ........", + "Ġ. .......", + "Ġ... .....", + "Ġ.. ......", + "Ġ.... ....", + "Ġ..... ...", + "Ġ...... ..", + "ĠW ings", + "ĠWin gs", + "ĠWing s", + "ur idad", + "uri dad", + "- story", + "-st ory", + "\" ])ĊĊ", + "\"] )ĊĊ", + "\"]) ĊĊ", + "\"])Ċ Ċ", + "idel ity", + "Type Def", + "G tk", + "Ġ íĮ", + "Ġí Į", + "_ Main", + "_M ain", + "Ġ chez", + "Ġch ez", + "Ġche z", + "ĠR aven", + "ĠRa ven", + "ĠRav en", + "Ġpay roll", + "Ġfreel ance", + "L LU", + "LL U", + "ĠM end", + "ĠMe nd", + "ĠMen d", + "e day", + "ed ay", + "eda y", + "Api ModelProperty", + ".Form BorderStyle", + "Ġeconom ist", + "stan bul", + "Ġfr eight", + "Ġfre ight", + "Ġfrei ght", + "- Agent", + "-A gent", + "( meta", + "(m eta", + "(me ta", + "Ġsym metry", + "Ġ' ..", + "Ġ'. .", + ". Calendar", + ".C alendar", + "- aut", + "-a ut", + "-au t", + "g f", + "p ent", + "pe nt", + "pen t", + "yc lopedia", + "Ġw ishing", + "Ġwish ing", + "Ċ ĊĊĊĊĊĊĊĊĊĊĊ", + "ĊĊ ĊĊĊĊĊĊĊĊĊĊ", + "ĊĊĊĊ ĊĊĊĊĊĊĊĊ", + "ĊĊĊ ĊĊĊĊĊĊĊĊĊ", + "ĊĊĊĊĊĊ ĊĊĊĊĊĊ", + "ĊĊĊĊĊĊĊĊ ĊĊĊĊ", + "ĊĊĊĊĊ ĊĊĊĊĊĊĊ", + "ĊĊĊĊĊĊĊĊĊĊ ĊĊ", + "ĊĊĊĊĊĊĊ ĊĊĊĊĊ", + "ĊĊĊĊĊĊĊĊĊ ĊĊĊ", + "ĊĊĊĊĊĊĊĊĊĊĊ Ċ", + "Ġgentle man", + "Ġ ê³", + "Ġê ³", + "= #", + "Ġlect ures", + "Ġlecture s", + "âĢľ In", + "âĢľI n", + "Ġ! _", + "Ġ hb", + "Ġh b", + "Ġ Vendor", + "ĠV endor", + "ĠVend or", + "Rec ently", + "Recent ly", + "_ notes", + "_n otes", + "_no tes", + "_not es", + "_note s", + "æıIJ 示", + "\" My", + "\"M y", + "Headers Height", + "_ SO", + "_S O", + "Ġunw illing", + "Ġsuper hero", + "g io", + "gi o", + "p sy", + "ps y", + "Ġ Peer", + "ĠP eer", + "ĠPe er", + "ĠPee r", + "j avax", + "java x", + "jav ax", + "& apos", + "&a pos", + "ĠCr isis", + "ĠCri sis", + "ord inal", + "ordin al", + "Mem cpy", + "++++++++ ++++++++", + "- val", + "-v al", + "Ġwork book", + "- ap", + "-a p", + "= k", + "Ġmetal lic", + "Ġmetall ic", + "_ peer", + "_p eer", + "_pe er", + "By PrimaryKey", + "_ SD", + "_S D", + "u ator", + "ua tor", + "uat or", + "_SH ADER", + "_SHA DER", + ") Math", + ". Transform", + ".Trans form", + "Ġc ows", + "Ġco ws", + "Ġcow s", + "P hi", + "Ph i", + "ĠC lem", + "ĠCl em", + "ĠCle m", + "( _(\"", + "(_ (\"", + "ĠL ud", + "ĠLu d", + "- delay", + "-d elay", + "-de lay", + "-del ay", + "ĠSe curities", + "ĠSec urities", + "ĠOrth odox", + "Sym fony", + "( report", + "(re port", + "(repo rt", + "(rep ort", + "Ġent ertain", + "Ġenter tain", + "Ġentert ain", + "E PS", + "EP S", + "iz oph", + "izo ph", + "ex ual", + "I RD", + "IR D", + "ä» İ", + "Ġl ith", + "Ġli th", + "Ġlit h", + "Ġ sanitize", + "Ġs anitize", + "Ġsan itize", + "Ġsanit ize", + "Ġfem inine", + "Ġfemin ine", + "IS BN", + ". authentication", + ".auth entication", + "_ pipeline", + "_p ipeline", + "_pipe line", + "/ constants", + "/con stants", + "Ġ CONF", + "ĠCON F", + "ĠCO NF", + "Ġlu cr", + "Ġluc r", + "r icia", + "ri cia", + "ric ia", + ".t tf", + ".tt f", + ". setContent", + ".set Content", + "Ġ stan", + "Ġs tan", + "Ġst an", + "Ġsta n", + "or ean", + "ore an", + "orea n", + "ĠL loyd", + ".raw Value", + "Ġ gor", + "Ġg or", + "Ġgo r", + "ĠBr owns", + "ĠBrown s", + "ĠBrow ns", + "Re gression", + "Reg ression", + "Ġl owering", + "Ġlow ering", + "Ġlower ing", + "na issance", + "Ġbl ows", + "Ġblow s", + "Ġblo ws", + "Ġam azed", + "Ġama zed", + "Ġun related", + "Ġunre lated", + "Re views", + "Review s", + "Ġ ruby", + "Ġr uby", + "Ġrub y", + "Ġru by", + "Ġ Modifier", + "ĠMod ifier", + "Ġg iants", + "Ġgi ants", + "Ġgiant s", + "Ġgia nts", + "Ġgian ts", + ". thread", + ".t hread", + ".th read", + "Ġcon tainment", + "Ġcont ainment", + "Ġcontain ment", + "ĠStart Coroutine", + "u mat", + "um at", + "uma t", + "o release", + "or elease", + "ore lease", + "ĠR andy", + "ĠRand y", + "ĠRan dy", + "@ endif", + "@end if", + "D igest", + "Di gest", + "Dig est", + "Ġsub urban", + "Ġsubur ban", + "Ġsuburb an", + "= \");Ċ", + "=\" );Ċ", + "Ġ annonce", + "Ġan nonce", + "Ġann once", + "Ġanno nce", + "Ġannon ce", + ". variable", + ".var iable", + "\\ Foundation", + "\\F oundation", + "Ġ acre", + "Ġa cre", + "Ġac re", + "V an", + "Va n", + "Ġt uples", + "Ġtu ples", + "Ġtuple s", + "Ġtup les", + "d ns", + "dn s", + "Ġ Standing", + "ĠSt anding", + "ĠStan ding", + "ĠStand ing", + "_ large", + "_l arge", + "Ġ boxing", + "Ġbo xing", + "Ġbox ing", + "Support ActionBar", + "ĠFort une", + "ĠR um", + "ĠRu m", + "_ multiple", + "_m ultiple", + "_multi ple", + "_mult iple", + "_multip le", + "arch ical", + "Ġ fwrite", + "Ġf write", + "Ġfw rite", + "_ quote", + "_qu ote", + "Ġfoo lish", + "Ġfool ish", + "Ġcom prising", + "Ġcomp rising", + "Ġcompr ising", + "Ġ оп", + "Ġо п", + "- selected", + "-se lected", + "-select ed", + "v f", + "m aid", + "ma id", + "mai d", + "N ama", + "Na ma", + "Nam a", + "( datetime", + "(d atetime", + "(date time", + "(dat etime", + "Ġindirect ly", + "g art", + "ga rt", + "gar t", + "fix tures", + "fixture s", + "c hos", + "ch os", + "cho s", + "ĠH alo", + "ĠHa lo", + "ĠHal o", + "Ġre curring", + "Ġrec urring", + "Ġrecur ring", + "- news", + "-n ews", + "-new s", + "-ne ws", + "v il", + "vi l", + "ĠNurs ing", + "ĠNur sing", + "- produ", + "-p rodu", + "-pro du", + "-pr odu", + "Ġ HQ", + "ĠH Q", + "\\Http Foundation", + "en ci", + "enc i", + "a uen", + "au en", + "Ġ vy", + "Ġv y", + "ocr acy", + "Ġde legation", + "Ġdeleg ation", + "Ġas phalt", + "Ġasp halt", + "Ġset Selected", + "k ok", + "ko k", + "/ rest", + "/r est", + "/re st", + "/res t", + "m etics", + "me tics", + "met ics", + "metic s", + "Ġ NSDate", + "ĠNS Date", + "Ġtravel led", + "Ġtrav elled", + "Ġrec ib", + "Ġ mime", + "Ġm ime", + "Ġmi me", + "Ġmim e", + "CL IENT", + "CLI ENT", + "Ġ GU", + "ĠG U", + "Ġ HANDLE", + "ĠH ANDLE", + "ĠHAND LE", + "/ Q", + "[ z", + "Ġboth ered", + "Ġbother ed", + "ĠBB Q", + "ç as", + "ça s", + "_ examples", + "_ex amples", + "_example s", + "_exam ples", + "_ FIN", + "_F IN", + "Ġwhite Color", + "Ġastr onom", + "Ġastro nom", + "- dir", + "-d ir", + "-di r", + "Ġsovere ign", + "Ġb reeze", + "Ġbree ze", + "Ġ inning", + "Ġin ning", + "Ġinn ing", + "ĠEd monton", + "g li", + "gl i", + ".blog spot", + "j sx", + "js x", + "Ġver sa", + "Ġve rsa", + "Ġvers a", + "ĠMoh ammed", + ". Job", + ".J ob", + "-t oggler", + "-toggle r", + "Ġп олÑĮзоваÑĤ", + "ar don", + "ard on", + "ardo n", + "Ġnew born", + "Ġn aval", + "Ġna val", + "Ġnav al", + "not eq", + "note q", + "Ġt umblr", + "Ġtum blr", + "Ġh entai", + "ĠTyp ically", + "ĠTypical ly", + "Ġl oot", + "Ġlo ot", + ". Sprite", + ".S prite", + ".Sp rite", + "F light", + "Fl ight", + "Ġw avelength", + "Ġwave length", + "- sk", + "-s k", + "ĠE lle", + "ĠEl le", + "ĠEll e", + "_ exports", + "_ex ports", + "_exp orts", + "_export s", + "Ġ Ñı", + "ĠÑ ı", + "Ġ IH", + "ĠI H", + "izoph ren", + "Ġ íģ", + "Ġí ģ", + "_ primary", + "_pr imary", + "_pri mary", + "_prim ary", + "Ġm ois", + "Ġmo is", + "Ġmoi s", + "Ġ BN", + "ĠB N", + "Ġsystem ic", + "Ġsyst emic", + "Ġdifer entes", + "Ġdiferente s", + "IN CT", + "INC T", + "Ġ' 'ĊĊ", + "Ġ'' ĊĊ", + "Ġ''Ċ Ċ", + "$ q", + "Widget Item", + "c lide", + "cl ide", + "cli de", + "clid e", + "$ file", + "$f ile", + "L emma", + "Le mma", + "/ table", + "/t able", + "/tab le", + "a grid", + "ag rid", + "agr id", + "ĠMongo DB", + "i nte", + "in te", + "int e", + "Ġapp rent", + "ÂŃ ing", + "ÂŃi ng", + ". Db", + ".D b", + "Ġ ÃĤ", + "Ġà Ĥ", + "h ammer", + "ham mer", + "=' ';Ċ", + "='' ;Ċ", + "Ġbr okers", + "Ġbro kers", + "Ġbroke rs", + "Ġbroker s", + "i tlement", + "it lement", + "itle ment", + "semb lies", + "sembl ies", + "E le", + "El e", + "{ x", + "Ġ lastname", + "Ġlast name", + "< -", + "Ġ flatten", + "Ġfl atten", + "Ġflat ten", + "Ġflatt en", + "_ band", + "_b and", + ". Root", + ".R oot", + ".read FileSync", + ".readFile Sync", + "= =====", + "== ====", + "==== ==", + "=== ===", + "===== =", + ". rx", + ".r x", + "? čĊ", + "Ġmetaph or", + "T i", + "c onte", + "con te", + "cont e", + "co nte", + "Ġ debit", + "Ġde bit", + "Ġdeb it", + "Ġcon tempt", + "Ġcont empt", + "Cpp Type", + "æĶ ¯", + "Form Field", + "r atio", + "rat io", + "os opher", + "osoph er", + "oso pher", + "Ġim plant", + "Ġimp lant", + "Ġimpl ant", + "P URE", + "PU RE", + "PUR E", + "Ġ alta", + "Ġal ta", + "Ġalt a", + "_ management", + "_man agement", + "_manage ment", + "Ġre fine", + "Ġref ine", + "Ġrefin e", + "Ġ CheckBox", + "ĠCheck Box", + "ĠCh arl", + "ĠChar l", + "ĠCha rl", + "- version", + "-v ersion", + "-vers ion", + "cond itional", + "condition al", + "ven ues", + "venue s", + "Ġrifle s", + "Ġrif les", + "Ġoff spring", + "Ġoffs pring", + "Ġm illing", + "Ġmill ing", + "Ġmil ling", + "Ġmilli ng", + "Ġsharp ly", + "Ġshar ply", + "Ġunder water", + "( origin", + "(orig in", + "(or igin", + "_ Control", + "_C ontrol", + "Ġ .$", + "Ġ. $", + "Pl ugins", + "Plugin s", + "Plug ins", + "Ġd rying", + "Ġdr ying", + "Ġdry ing", + "Ġillustr ates", + "Ġillustrate s", + "Ġillust rates", + "- u", + "Ġveget arian", + "n pc", + "np c", + "He art", + "; ',Ċ", + ";' ,Ċ", + ";', Ċ", + "com ma", + "co mma", + "comm a", + "t eenth", + "te enth", + "tee nth", + "teen th", + "a san", + "as an", + "asa n", + "/ spec", + "/s pec", + "/sp ec", + "_ moves", + "_m oves", + "_move s", + "_mov es", + "_mo ves", + "- margin", + "-m argin", + "-mar gin", + "Ġ ingen", + "Ġin gen", + "Ġi ngen", + "Ġing en", + "Âł ³³", + "³³ Âł", + "Ġpro jet", + "Ġproj et", + "Ġproje t", + "Ġo tra", + "Ġot ra", + "Ġ bras", + "Ġb ras", + "Ġbr as", + "Ġbra s", + ". utc", + ".u tc", + ".ut c", + "Ġsl ept", + "Ġsle pt", + "= sub", + "=s ub", + "ab ilit", + "abil it", + "abi lit", + "p oster", + "pos ter", + "post er", + "po ster", + "Ġ sdk", + "Ġs dk", + "Ġsd k", + "ounc ill", + "ouncil l", + "Ġ wd", + "Ġw d", + "Pre paredStatement", + "ĠD rum", + "ĠDr um", + "( attribute", + "(at tribute", + "Ġ Ethernet", + "ĠEth ernet", + "ĠEther net", + "ĉ DB", + "ĉD B", + "Cal ifornia", + "c ube", + "cu be", + "[ I", + ". Created", + ".C reated", + ".Create d", + "Ġ HM", + "ĠH M", + "Ġtr acing", + "Ġtra cing", + "Forms Module", + "- you", + "-y ou", + ". currency", + ".c urrency", + ".curr ency", + "fe eding", + "feed ing", + "fee ding", + "Ġ tbody", + "Ġt body", + "Ġtb ody", + "L i", + "a ccion", + "ac cion", + "acc ion", + "acci on", + "n as", + "na s", + "Ġtr ouver", + "Ġtrou ver", + "Ġtrouve r", + "N ONE", + "NO NE", + "NON E", + "\" },čĊ", + "\"} ,čĊ", + "\"}, čĊ", + "Ġ ftp", + "Ġf tp", + "Ġft p", + "With Identifier", + "p olate", + "po late", + "pol ate", + "File Info", + "Ġpurs ued", + "Ġpursue d", + "ĠĠĠĠ čĊĠĠĠĠčĊ", + "ĠĠĠĠčĊ ĠĠĠĠčĊ", + "DE SCRIPTION", + "DESC RIPTION", + "} */Ċ", + "}* /Ċ", + "From Nib", + "Ġdec orative", + "Ġdecor ative", + "_ SSL", + "_S SL", + "_SS L", + "( chat", + "(c hat", + "(ch at", + "T LS", + "TL S", + "Ġsur prises", + "Ġsurpr ises", + "Ġsurprise s", + "al culate", + "alc ulate", + "Ġ Splash", + "ĠS plash", + "ĠSp lash", + "ĠSpl ash", + "( Configuration", + "(Config uration", + "Ġ SEM", + "ĠS EM", + "ĠSE M", + "im son", + "ims on", + "/ library", + "/lib rary", + "/l ibrary", + "< Double", + "", + "Ġ} }>", + "Ġ}} >", + "G ED", + "GE D", + "f aq", + "fa q", + "Ġoption ally", + "Ġoptional ly", + "_ Dis", + "_D is", + "Ġ Successful", + "ĠSuccess ful", + "ĠC ensus", + "Ġinc arcer", + "_ CARD", + "_C ARD", + "_CA RD", + "_CAR D", + "Ġav iation", + "Ġavi ation", + "ĠG ym", + "ĠGy m", + "Author ity", + ". Bean", + ".B ean", + ".Be an", + "sh ader", + "sha der", + "shade r", + "Not Exist", + "_ TextChanged", + "_Text Changed", + "Ġ STOP", + "ĠS TOP", + "ĠST OP", + "( team", + "(t eam", + "(te am", + "\" H", + "w g", + "Ġgr inder", + "Ġgri nder", + "Ġgrind er", + "Ġgrin der", + "Ġ stripe", + "Ġst ripe", + "Ġstr ipe", + "Ġstri pe", + "Ġstrip e", + "Ġp reservation", + "Ġpres ervation", + "Cl aim", + "Cla im", + "aver sal", + "avers al", + "w arehouse", + "ware house", + "target s", + "tar gets", + "T rust", + "Tr ust", + "Ġal lev", + "Ġall ev", + "Ġalle v", + ", www", + ",w ww", + "ou sse", + "ous se", + "_ chan", + "_c han", + "_ch an", + "_ Size", + "_S ize", + "s ystems", + "sys tems", + "system s", + "Ġob jection", + "Ġobject ion", + "Ġobj ection", + "ĠK ane", + "ĠKa ne", + "ĠKan e", + "Ġcor ros", + "Ġcorr os", + "Ġcorro s", + "Ġ DSL", + "ĠD SL", + "ĠDS L", + "Ġ ua", + "Ġu a", + "Ġ MH", + "ĠM H", + "ĠStr ategic", + "ĠStrateg ic", + "_ tcp", + "_t cp", + "_tc p", + "Ġ ê°Ĵ", + "Ġê° Ĵ", + "Ġborrow ed", + "Ġborr owed", + "ĠA ch", + "ĠAc h", + "ĉ command", + "ĉcom mand", + "Ġ gps", + "Ġg ps", + "Ġgp s", + "le ston", + "les ton", + "lest on", + "ich ever", + "iche ver", + "Ġ UA", + "ĠU A", + "Ġassault ed", + "Ġspecial izes", + "Ġspecialize s", + "ĉ search", + "ĉs earch", + "ĉse arch", + "H otel", + "Hot el", + "Ho tel", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠčĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠčĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ čĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠčĊ", + "Ġ Pitch", + "ĠP itch", + "ĠPit ch", + "Ġ Ùģ", + "ĠÙ ģ", + "READ Y", + "REA DY", + "Ġpar ental", + "Ġparent al", + "Ġparen tal", + "Ġg éné", + "Ġgé né", + "Ġgén é", + "Ġdonn ées", + "Ġde tain", + "Ġdet ain", + "T ARGET", + "Ġprotagon ist", + "Ġclear Interval", + "Ġ IconButton", + "ĠIcon Button", + "ĠGet All", + "Type Info", + "E H", + "âĢľ They", + "âĢľThe y", + "Ġ{ [", + "Ġg ag", + "Ġga g", + "Ġ Ú©", + "Ġ Dropdown", + "ĠD ropdown", + "ĠDrop down", + ". free", + ".f ree", + ".fr ee", + ".fre e", + "g one", + "go ne", + "gon e", + "i mens", + "im ens", + "ime ns", + "imen s", + "Ġin stal", + "Ġins tal", + "Ġinst al", + "ĉ curl", + "ĉc url", + "ĉcur l", + "_ CAN", + "_C AN", + "_CA N", + "Ġ Bone", + "ĠB one", + "ĠBo ne", + "ĠBon e", + "ï¼ Ķ", + "on yms", + "ony ms", + "onym s", + "- government", + "-g overnment", + ".binding Navigator", + "Ġ Dans", + "ĠD ans", + "ĠDan s", + "ĠDa ns", + "ĠMc L", + "( en", + "(e n", + "> (_", + ">( _", + "ÐĴ Ñĭ", + ".* ;čĊ", + "= j", + "- cor", + "-c or", + "-co r", + "S on", + "So n", + ".ToolStrip Item", + "- around", + "-a round", + "-ar ound", + "_ XML", + "_X ML", + "end Date", + "Ġ slack", + "Ġs lack", + "Ġsl ack", + "Ġsla ck", + "Ġrot ated", + "Ġrotate d", + "Ġno qa", + "Ġc ottage", + "Ġcott age", + "Ġencontr ar", + "_ skill", + "_s kill", + "_sk ill", + "hou ette", + "! čĊ", + ". weather", + ".we ather", + "Ġemphas ized", + "Ġemphasize d", + "å® ¶", + "ĠÑģ пиÑģ", + "ĠÑģп иÑģ", + "Ġ Compiler", + "ĠC ompiler", + "ĠCom piler", + "ĠComp iler", + "ĠCompile r", + "( android", + "(and roid", + "Ġ âĢº", + "ĠâĢ º", + ". turn", + ".t urn", + "Ġsup pression", + "Ġsuppress ion", + "Ġsupp ression", + "_ calls", + "_c alls", + "_call s", + "_cal ls", + "Ġ *@", + "Ġ* @", + "( strlen", + "(str len", + "(st rlen", + ". hex", + ".h ex", + ".he x", + "ĠB ills", + "ĠBill s", + "ĠBil ls", + "Ġ RSA", + "ĠR SA", + "ĠRS A", + "Ï Ĥ", + "Ġ Escape", + "ĠE scape", + "ĠEs cape", + "ĠEsc ape", + "ement ia", + "Ġ frontend", + "Ġfront end", + "Ġp int", + "Ġpi nt", + "Ġpin t", + "_ exc", + "_e xc", + "_ex c", + "z zo", + "zz o", + "[ ],Ċ", + "[] ,Ċ", + "[], Ċ", + "Ġ\"' ,'\"", + "Ġ\"', '\"", + "Ġ\"',' \"", + ". Environment", + ".En vironment", + "Ġafore mentioned", + "Ġend ure", + "prot otype", + "proto type", + "ther apy", + "the rapy", + "s si", + "ss i", + "D eg", + "De g", + "_ plugins", + "_pl ugins", + "_plugin s", + ". userInfo", + ".user Info", + "Pr inter", + "Print er", + "Ġ PROGRAM", + "ĠPRO GRAM", + "Ġru ins", + "Ġruin s", + "Ġemp irical", + "Ġempir ical", + "Ġ crawl", + "Ġc rawl", + "Ġcr awl", + "Ġcraw l", + "Ġcra wl", + "ĠBo iler", + "- comment", + "-com ment", + "-comm ent", + ". subplot", + ".sub plot", + "_ et", + "_e t", + "Ġ' .',", + "Ġ'. ',", + "Ġ'.' ,", + "min or", + "mi nor", + "mino r", + "ĠCustom s", + "ĠCust oms", + "Ġ yaw", + "Ġy aw", + "Ġya w", + "under line", + "Ġ Como", + "ĠC omo", + "ĠCom o", + "ĠCo mo", + "( ('", + "(( '", + "( mean", + "(m ean", + "(me an", + "Ġch aque", + "Ġcha que", + "Ġ Blocks", + "ĠB locks", + "ĠBl ocks", + "ĠBlock s", + "ĠBlo cks", + "ĠBloc ks", + ". rad", + ".r ad", + ".ra d", + "ilib rium", + "Ġ webdriver", + "Ġweb driver", + "Ġmel hor", + "d ana", + "da na", + "dan a", + "ĠAb use", + "ĠAbu se", + "ĠSouth west", + "Ġ Paren", + "ĠP aren", + "ĠPar en", + "ĠPa ren", + "ĠPare n", + "PERT IES", + "ĉ IL", + "ĉI L", + "Ġs cream", + "Ġsc ream", + "Ġscre am", + "Ġscr eam", + "v u", + "Ġin comes", + "Ġinc omes", + "Ġincome s", + "Ġincom es", + "Ġ nim", + "Ġn im", + "Ġni m", + "Ġ lace", + "Ġl ace", + "Ġla ce", + "Ġlac e", + "Ġcompens ate", + "Re verse", + "Rev erse", + "D at", + "Da t", + "_ attack", + "_att ack", + "Ġn our", + "Ġno ur", + "Ġnou r", + "a chen", + "ac hen", + "ach en", + "ache n", + "c ek", + "ce k", + "< Func", + " \"+", + ">\" +", + "Ġ tokenizer", + "Ġtoken izer", + "Ġtokenize r", + "Ġsovere ignty", + "Ġsovereign ty", + "ĠP ence", + "ĠPe nce", + "ĠPen ce", + "( )\");Ċ", + "() \");Ċ", + "()\" );Ċ", + "Ġpesso as", + "Ġpessoa s", + ". Ge", + ".G e", + "Ġ Included", + "ĠIn cluded", + "ĠInclude d", + "Ġ pagina", + "Ġp agina", + "Ġpag ina", + "Ġex posing", + "Ġexp osing", + "Ġexpos ing", + "Ġexpo sing", + "е ÑĪ", + "_ SCRIPT", + "_SC RIPT", + "/ $',", + "/$ ',", + "Th umbnail", + "× Ķ", + "webElement X", + "webElementX paths", + "press ure", + "pres sure", + "ĠC urry", + "ĠCur ry", + "_ CP", + "_C P", + "OL UTION", + "I LES", + "IL ES", + "ILE S", + "prot ect", + "o ola", + "ool a", + "oo la", + "Work space", + "Works pace", + "{ };Ċ", + "{} ;Ċ", + "Ġ UNS", + "ĠU NS", + "ĠUN S", + "Ġsymp athy", + "Ġsympath y", + "r oker", + "ro ker", + "roke r", + "rok er", + "Ġre model", + "Ġr emodel", + "Ġrem odel", + "ĉ cell", + "ĉc ell", + "Ġa top", + "Ġat op", + ". FullName", + ".Full Name", + "Ġf aut", + "Ġfa ut", + "ĠE asily", + "_ dynamic", + "_d ynamic", + "_dyn amic", + "Ġfr amed", + "Ġframe d", + "Ġfra med", + "Ġfram ed", + "Ġm otive", + "Ġmot ive", + "Ġmotiv e", + "è· ¯", + "s am", + "sa m", + "Ġ marca", + "Ġmar ca", + "Ġmarc a", + "ĠText EditingController", + "Ġd estructor", + "Ġde structor", + "Ġdestruct or", + "c ream", + "cre am", + "cr eam", + "Ġr ude", + "Ġru de", + "Ġrud e", + "Ġ Bold", + "ĠB old", + "ĠBo ld", + "ĠBol d", + "ĠInd igenous", + "Ġ gens", + "Ġg ens", + "Ġge ns", + "Ġgen s", + "Ġrel acion", + "( system", + "(s ystem", + "(sys tem", + "Ġ UIFont", + "ĠUI Font", + "ĠUIF ont", + "_ charge", + "_ch arge", + "_char ge", + "U STER", + "US TER", + "UST ER", + "E V", + ". Namespace", + ".N amespace", + ".Name space", + ".Names pace", + "Ġmer ger", + "Ġmerge r", + "Ġmerg er", + "Ġ calloc", + "Ġc alloc", + "Ġcall oc", + "Ġcal loc", + "g ang", + "ga ng", + "gan g", + "Bad Request", + "Ġs per", + "Ġsp er", + "Ġspe r", + "- design", + "-d esign", + "-de sign", + "-des ign", + "Ġ âĩ", + "Ġâ ĩ", + "C han", + "Ch an", + "Cha n", + "Ġorg anism", + "Ġorgan ism", + "Ġorganis m", + ", )", + "= id", + "=i d", + "_ plane", + "_p lane", + "_pl ane", + "_plan e", + "Ġ Cases", + "ĠC ases", + "ĠCas es", + "ĠCase s", + "ĠCa ses", + "el fast", + "elf ast", + "ĠLegisl ature", + "ĠF aker", + "ĠFa ker", + "ĠFake r", + "ĠFak er", + "Ġinv oking", + "Ġinvo king", + "- utils", + "-util s", + "( ).'", + "() .'", + "(). '", + ". face", + ".f ace", + ".fac e", + ".fa ce", + "Ġguard ian", + "my Modal", + "Ġ clipboard", + "Ġclip board", + "ĠA TM", + "ĠAT M", + "Ġpe as", + "Ġpea s", + "ĠS ylv", + "ĠSy lv", + ". calc", + ".c alc", + ".ca lc", + ".cal c", + "Ġ Contacts", + "ĠCont acts", + "ĠContact s", + "int Value", + "Ġmod ifying", + "Ġmodify ing", + "ĠB arb", + "ĠBar b", + "ĠBa rb", + ". loss", + ".l oss", + ".lo ss", + "_ percentage", + "_per centage", + "_percent age", + "As ked", + "Ask ed", + "( lst", + "(l st", + "(ls t", + "ateg orical", + "ategor ical", + "ategori cal", + "atego rical", + "- files", + "-f iles", + "-file s", + "-fi les", + "ĠRom ania", + "ĠRo mania", + "ĠRoman ia", + "ĠRoma nia", + ". Ac", + ".A c", + "Ġ hai", + "Ġh ai", + "Ġha i", + "Ġ Flying", + "ĠF lying", + "ĠFl ying", + "ĠFly ing", + "Ġ ż", + "ĠÅ ¼", + "j p", + "ĠTr ainer", + "ĠTra iner", + "ĠTrain er", + ". arc", + ".a rc", + ".ar c", + "_ deg", + "_d eg", + "_de g", + "Ġtrace back", + "Or Fail", + "F LOW", + "FL OW", + ". old", + ".o ld", + ".ol d", + "o ya", + "oy a", + "g mt", + "gm t", + "is empty", + "Ġvacc ination", + "Ġ obsolete", + "Ġob solete", + "recogn ized", + "Ġru ined", + "Ġruin ed", + "ĠR ein", + "ĠRe in", + "ĠRei n", + "Ġ Tracking", + "ĠTr acking", + "ĠTrack ing", + "x fb", + "xf b", + "ا ÛĮ", + "Ġv ære", + "Ġvæ re", + "Ġbr yster", + "Ġ ITS", + "ĠI TS", + "ĠIT S", + "Ġdes tiny", + "Ġdest iny", + "Ġdestin y", + "Ġs wear", + "Ġsw ear", + "Ġswe ar", + "Ġre des", + "Ġr edes", + "Ġred es", + "Ġrede s", + "Ġ clf", + "Ġc lf", + "Ġcl f", + "Ġfl ipped", + "Ġflip ped", + "ĉ head", + "ĉh ead", + "B luetooth", + "Bl uetooth", + "Ġ Overrides", + "ĠOver rides", + "ĠOverride s", + ": Boolean", + "_ =", + "_ lr", + "_l r", + "s pawn", + "sp awn", + "spa wn", + ": index", + "VAL UES", + "VALUE S", + "is key", + "isk ey", + "iske y", + "? \");Ċ", + "?\" );Ċ", + ".syn thetic", + "Ġ Checking", + "ĠCheck ing", + "struct ures", + "structure s", + "i ping", + "ip ing", + "ipi ng", + "Ġvoc als", + "Ġvocal s", + "- Up", + "-U p", + "ĠManufact urers", + "ĠManufacturer s", + "ĠMar riage", + "ĠMarr iage", + "代 çłģ", + "Ġgar ner", + "Ġgarn er", + "_ Client", + "_C lient", + "_Cl ient", + "par allel", + "paralle l", + "RI END", + "Ġvine gar", + "se gue", + "seg ue", + "J B", + "Ġcont acting", + "Ġcontact ing", + "ĠCar roll", + "ĠCarr oll", + "Ġout reach", + "Ġoutr each", + "t ensor", + "_ variant", + "_v ariant", + "_var iant", + "Ġt heat", + "Ġth eat", + "Ġthe at", + "l icable", + "lic able", + "lica ble", + "{ |", + "t iny", + "ti ny", + "tin y", + "_ letter", + "_l etter", + "Ġp encil", + "Ġpen cil", + "Ġpenc il", + "HeadersHeight SizeMode", + "il tro", + "ilt ro", + "iltr o", + ".auto configure", + ". drag", + ".d rag", + ".dr ag", + ". useState", + ".use State", + "Ġ BMI", + "ĠB MI", + "ĠBM I", + "h int", + "hi nt", + "hin t", + "Com pile", + "Comp ile", + "* \\", + "en ary", + "ena ry", + "Ġ lvl", + "Ġl vl", + "Ġlv l", + ". Cache", + ".C ache", + "+ =\"", + "+= \"", + "_ tv", + "_t v", + "ruit ment", + "Ġf read", + "Ġfr ead", + "Ġfre ad", + "Art icles", + "Article s", + "f ila", + "fi la", + "fil a", + "Ġpack aged", + "Ġpackage d", + "âĺ Ĩ", + "AT HER", + "ATH ER", + "ĠPl anned", + "ĠPlan ned", + "s cheme", + "sch eme", + "Ġdi ary", + "Ġdia ry", + "Ġoff enses", + "Ġoffense s", + "Ġoffen ses", + "/ F", + "Ġ Stick", + "ĠS tick", + "ĠSt ick", + "Ġc erc", + "Ġce rc", + "Ġcer c", + "ĠS lee", + "ĠSl ee", + "ĠSle e", + "ĉ ĉĠĠĠĠĠĠĠĠ", + "ĉĉ ĠĠĠĠĠĠĠĠ", + "ĉĉĠĠĠ ĠĠĠĠĠ", + "ĉĉĠ ĠĠĠĠĠĠĠ", + "ĉĉĠĠ ĠĠĠĠĠĠ", + "ĉĉĠĠĠĠĠĠĠ Ġ", + "ĉĉĠĠĠĠ ĠĠĠĠ", + "ĉĉĠĠĠĠĠ ĠĠĠ", + "ĉĉĠĠĠĠĠĠ ĠĠ", + "< Image", + "", + ";' >", + "ĉ col", + "ĉc ol", + "V G", + "_ boolean", + "_bool ean", + "_bo olean", + "re cent", + "rec ent", + "rece nt", + "Ġ *)ĊĊ", + "Ġ* )ĊĊ", + "Ġ*) ĊĊ", + "Ġ*)Ċ Ċ", + "ĠRain bow", + "om men", + "omm en", + "Ġl ur", + "Ġlu r", + "Ġop pression", + "Ġopp ression", + "Ġoppress ion", + "(\" ,\");Ċ", + "(\", \");Ċ", + "(\",\" );Ċ", + "ĠFac ility", + "DEF INED", + "DEFINE D", + "Ġn eon", + "Ġne on", + "Ġneo n", + "Ġoff ender", + "Ġoffend er", + "Ġoffen der", + "A FP", + "AF P", + "Ġ Cleaning", + "ĠC leaning", + "ĠClean ing", + "ĠCle aning", + "[ ]):", + "[] ):", + "[]) :", + "Ġund ocumented", + ". Repositories", + ".Re positories", + "ĠG uitar", + "ĠGu itar", + "ĠGui tar", + "аÑģÑģ ив", + "S kills", + "Sk ills", + "Skill s", + "Ġtest imon", + "Ġtestim on", + "rypt ography", + "ĠAm ber", + "ĠAmb er", + "ĠSt alin", + "ĠSta lin", + "Ġl one", + "Ġlo ne", + "Ġlon e", + "Ġap enas", + "Ġape nas", + "Ġdi eses", + "Ġdie ses", + "Ġdies es", + "Ġdiese s", + "Ġ Arduino", + "ĠAr duino", + "è½ ¬", + "= =-", + "== -", + "_ Act", + "_A ct", + "Ġ coded", + "Ġc oded", + "Ġco ded", + "Ġcode d", + "Ġcod ed", + "âĸ ł", + "am burger", + "amb urger", + "amburg er", + "- links", + "-l inks", + "-link s", + "Ġar mour", + "Ġarm our", + ". High", + ".H igh", + "get Content", + "getC ontent", + "s tag", + "st ag", + "sta g", + "Ġ heck", + "Ġh eck", + "Ġhe ck", + "Ġ ìĹĨ", + "ĠìĹ Ĩ", + "ĠMc Connell", + "ĠCon cert", + "ĠConc ert", + "ĠConce rt", + "Ġ Alloc", + "ĠAl loc", + "ĠAll oc", + "ä re", + "är e", + ". replaceAll", + ".replace All", + "Ġpart itions", + "Ġpartition s", + "r ott", + "ro tt", + "rot t", + "ĠF le", + "ĠFl e", + "_ TREE", + "_T REE", + "_TR EE", + "reason able", + "Ġ Reporting", + "ĠRep orting", + "ĠReport ing", + "Ġbillion aire", + "s cores", + "sc ores", + "score s", + "m ins", + "min s", + "mi ns", + "- eye", + "-e ye", + "M ORE", + "MO RE", + "ab ort", + "abor t", + "abo rt", + "ĠS WT", + "ĠSW T", + "Ġin verted", + "Ġinvert ed", + "Ġ Teachers", + "ĠTe achers", + "ĠTeacher s", + "ĠTea chers", + "ĠTeach ers", + "; n", + "Ġ astro", + "Ġa stro", + "Ġas tro", + "Ġast ro", + "Ġastr o", + "н ов", + "но в", + "а ниÑĨ", + "ан иÑĨ", + "ани ÑĨ", + "product o", + "c ountries", + "count ries", + "ĠO wen", + "ĠOw en", + "Ġcont amination", + "Ġcontamin ation", + "Ġconta mination", + "Ġv ibe", + "Ġvi be", + "Ġvib e", + "ĠE lli", + "ĠEl li", + "ĠEll i", + ". script", + ".s cript", + "ĠO live", + "ĠOl ive", + "ĠOliv e", + "D MA", + "DM A", + "v ier", + "vi er", + "vie r", + ": semicolon", + "- module", + "-m odule", + "-mod ule", + "g ressive", + "gress ive", + "a gu", + "ag u", + "_ players", + "_p layers", + "_pl ayers", + "_player s", + "_play ers", + "Ġresult ados", + "Ġresultado s", + "start ed", + "star ted", + "scroll Top", + "= ====", + "== ===", + "==== =", + "=== ==", + "Ġweigh ing", + "Ġ[ [[", + "Ġ[[ [", + "z ahl", + "za hl", + "( NS", + "(N S", + "Ġ Assertion", + "ĠAssert ion", + "le ague", + "lea gue", + ".set TextColor", + ".setText Color", + "ĉ Message", + "ĉM essage", + "Ġm oms", + "Ġmom s", + "Ġmo ms", + "_ AF", + "_A F", + ". wh", + ".w h", + "A LS", + "AL S", + "Ġaut re", + "Ġau tre", + "] ĊĊĊĊ", + "]Ċ ĊĊĊ", + "]ĊĊ ĊĊ", + "]ĊĊĊ Ċ", + ". opacity", + ".op acity", + "ĠBudd hist", + "ĠBuddh ist", + "Ġde af", + "ĠOrgan isation", + "( Global", + "(G lobal", + "en sch", + "ens ch", + "Ġhead ache", + "ĠA lien", + "ĠAl ien", + "ĠAli en", + "_ inode", + "_in ode", + "_i node", + "ĠSt ark", + "ĠStar k", + "ĠSta rk", + "Ġ æī", + "Ġæ ī", + "-l nd", + "-ln d", + "o ref", + "or ef", + "ore f", + "_ feat", + "_f eat", + "_fe at", + "Ġpedest rian", + "Ġnom inal", + "Ġnomin al", + "Ġball oon", + "Ġbal loon", + "Ġballo on", + "Ġ sprites", + "Ġs prites", + "Ġsp rites", + "Ġspr ites", + "Ġsprite s", + "Prototype Of", + "ĠA post", + "ĠAp ost", + "Ġ FEATURE", + "ĠF EATURE", + "ĠFE ATURE", + "O H", + "Ġre cess", + "Ġr ecess", + "Ġrec ess", + "Ġrece ss", + "ĠD onna", + "ĠDon na", + "con sumer", + "cons umer", + "consum er", + "consume r", + "$ GLOBALS", + "ĠG IF", + "ĠGI F", + "- frame", + "-f rame", + "-fr ame", + "In icio", + "Ini cio", + "Ġpass ages", + "Ġpassage s", + "Date String", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + ". byte", + ".b yte", + ".by te", + "B ug", + "Bu g", + "initial izer", + "initialize r", + "p kt", + "pk t", + "od ium", + "odi um", + "Ġ DER", + "ĠD ER", + "ĠDE R", + ". ops", + ".op s", + ".o ps", + "l eri", + "le ri", + "ler i", + "Ġgift ed", + "Ġgif ted", + "Ġ detach", + "Ġde tach", + "Ġdet ach", + "ter rain", + "terra in", + "terr ain", + "el ters", + "elt ers", + "elter s", + "ãģ ı", + ". loader", + ".l oader", + ".load er", + ".lo ader", + "ĠN GO", + "ĠNG O", + "str ncmp", + "K h", + "( fontSize", + "(font Size", + "r ocket", + "ro cket", + "rock et", + "roc ket", + "Ġpreced ent", + "ĠAur ora", + "Ġ Experiment", + "ĠEx periment", + "i sphere", + "is phere", + "isp here", + "En coded", + "Enc oded", + "Encode d", + "Ġ âĢĵĊĊ", + "ĠâĢĵ ĊĊ", + "ĠâĢĵĊ Ċ", + "Ġpy ramid", + "ĠAnn iversary", + "o fil", + "of il", + "ofi l", + "ë Ł", + "( plugin", + "(pl ugin", + "C oeff", + "Co eff", + "Ġco operate", + "Ġcooper ate", + "Ġcoop erate", + "Ġpredomin antly", + "Ġpredominant ly", + "I SM", + "IS M", + "Ph rase", + "_ DEFINE", + "_DE FINE", + "_DEF INE", + "_DEFIN E", + "F lip", + "Fl ip", + "AMIL Y", + "AMI LY", + "ĠMark ets", + "ĠMarket s", + "Ġ StreamReader", + "ĠStream Reader", + "Ġ Combine", + "ĠC ombine", + "ĠCom bine", + "ĠComb ine", + "Ġmanus cript", + "z za", + "zz a", + ", tp", + ",t p", + "Wh atever", + "What ever", + "IT ICAL", + "igh bour", + "ighb our", + "Data Provider", + ". Texture", + ".Text ure", + "priv acy", + ". SDK", + ".S DK", + "Ġre charge", + "Ġ cpp", + "Ġc pp", + "Ġcp p", + "Ġ CFG", + "ĠC FG", + "ĠCF G", + "( holder", + "(h older", + "( py", + "(p y", + "m ot", + "mo t", + "Ġsa voir", + "Ġsav oir", + "ĠR osa", + "ĠRo sa", + "ĠRos a", + "ĠP Cs", + "ĠPC s", + "Ġ íĻ", + "Ġí Ļ", + ".her oku", + ".hero ku", + "Ġf ren", + "Ġfr en", + "Ġfre n", + "ĠR iley", + "ĠRi ley", + "a gate", + "ag ate", + "aga te", + "Ġs ond", + "Ġso nd", + "Ġson d", + ". xlsx", + ".x lsx", + ".xls x", + "Ġh acked", + "Ġhack ed", + "Ġhac ked", + "st ad", + "sta d", + "G i", + "Ġs anity", + "Ġsan ity", + "Ġsanit y", + "ĠSql DataAdapter", + ".. .\",", + "... \",", + "...\" ,", + "ĠP ussy", + "Ġ ****************", + "Ġ** **************", + "Ġ**** ************", + "Ġ******** ********", + "Ġhass le", + "_P ARENT", + "_PAR ENT", + "ĠU AE", + "ĠUA E", + "Ġbegin ners", + "Ġbeginner s", + "( Client", + "(C lient", + "(Cl ient", + "Ġstat istically", + "Ġstatist ically", + "Ġstatistical ly", + "Ġstatistic ally", + ". hour", + ".h our", + "e delta", + "ed elta", + "Ġ traction", + "Ġt raction", + "Ġtr action", + "Ġtra ction", + "Ġtract ion", + "u elve", + "uel ve", + "a rat", + "ar at", + "ara t", + "Ġsa una", + "Ġsau na", + "IN VALID", + "INVAL ID", + "Ġindict ment", + "AL LE", + "ALL E", + "Ġd issent", + "Ġdis sent", + "Ġdiss ent", + "Ġdisse nt", + "Ġ Typography", + "ĠTyp ography", + "Ġintent ional", + "Ġintention al", + "s it", + "si t", + "ĠAn imals", + "ĠAnimal s", + "ĠAnim als", + "Ġcoun tryside", + "Ġcountry side", + "Ġ uart", + "Ġu art", + "Ġua rt", + "} \\\"", + "}\\ \"", + "Ġseam less", + "¾ 示", + "Ġ autos", + "Ġa utos", + "Ġaut os", + "Ġauto s", + "Ġau tos", + "Ġ\" '\";Ċ", + "Ġ\"' \";Ċ", + "Ġ\"'\" ;Ċ", + "F lush", + "Fl ush", + "AN NOT", + "ANN OT", + "Ġal gebra", + "Ġalg ebra", + "as soc", + "ass oc", + "asso c", + "ĠW aters", + "ĠWater s", + "ĠWat ers", + "ĠWa ters", + "Ġprepar ations", + "Ġpreparation s", + "r onym", + "ro nym", + "ron ym", + "[, ]", + "S ans", + "San s", + "Sa ns", + "Ġarm ies", + "i peg", + "ip eg", + "ipe g", + "Ġcre amy", + "Ġcream y", + "Ġcrea my", + ". art", + ".a rt", + ".ar t", + "e tre", + "et re", + "etr e", + "Ġ Animated", + "ĠAn imated", + "ĠAnim ated", + "Ġun pleasant", + "e mean", + "em ean", + "eme an", + "g reat", + "gr eat", + "gre at", + "i Äħ", + "Ġ Earlier", + "ĠEar lier", + "ĠEarl ier", + "Ġc hic", + "Ġch ic", + "Ġchi c", + "Ġpres erving", + "( exec", + "(e xec", + "(ex ec", + "ĠInvest igation", + "ĠInvestig ation", + "ĉ GPIO", + "ĉG PIO", + "Ġrig orous", + "Ġrigor ous", + "i jo", + "ij o", + "= num", + "=n um", + "Ġ toolStrip", + "Ġt oolStrip", + "Ġtool Strip", + ") set", + ")s et", + "+ \"&", + "+\" &", + "Ġ Acceler", + "ĠAcc eler", + "Ġdevelop mental", + "Ġdevelopment al", + "is posable", + "Ġflaw ed", + "Ġfla wed", + "r ene", + "re ne", + "ren e", + "Up dating", + "Ġwatch dog", + "Ġden ominator", + "Ġdenom inator", + "Ġdenomin ator", + "Ġsubur bs", + "Ġsuburb s", + "Ġ ...)", + "Ġ... )", + "Ġ.. .)", + "Ġconv ictions", + "Ġconviction s", + "Ġconvict ions", + "c losure", + "clo sure", + ". IP", + ".I P", + "Ġtrans lates", + "Ġtransl ates", + "Ġtranslate s", + ".s wt", + ".sw t", + ". Trace", + ".T race", + ".Tr ace", + "Ġmet tre", + ". isEnabled", + ".is Enabled", + "Ġ Effective", + "ĠE ffective", + "ĠEffect ive", + "ĠEff ective", + ". toInt", + ".to Int", + "Ġen chant", + "Ġench ant", + "Ġst unned", + "Ġstun ned", + "Ġ poi", + "Ġp oi", + "Ġpo i", + "/ code", + "/c ode", + "/co de", + "a dm", + "ad m", + ".data binding", + ".datab inding", + ".databind ing", + "Ġ Lorem", + "ĠL orem", + "ĠLo rem", + "ĠLore m", + "ĠLor em", + "________________________________ ________________________________", + "Ġ ledger", + "Ġled ger", + "Ġledge r", + "Ġc ara", + "Ġcar a", + "Ġca ra", + "ĠG ir", + "ĠGi r", + "Ġw aits", + "Ġwait s", + "Ġwa its", + "U no", + "Un o", + "Ġ cwd", + "Ġc wd", + "Ġcw d", + "è¾ ij", + "ĠT Result", + "Ġre jo", + "Ġrej o", + "Ġe mitted", + "Ġem itted", + "Ġemit ted", + "ĠWest minster", + "ä¸Ģ 个", + "n ek", + "ne k", + "_T is", + "Ġen act", + "ĉ with", + "ĉw ith", + "or gia", + "org ia", + "Ġj ue", + "Ġju e", + "Per form", + "S PATH", + "SP ATH", + "SPA TH", + ". topic", + ".t opic", + ".to pic", + ".top ic", + "ĠD aten", + "ĠDate n", + "ĠDa ten", + "ĠDat en", + "Ạ§", + "Ġsit io", + "Ġsiti o", + "_ MM", + "_M M", + "\" So", + "\"S o", + "b ial", + "bi al", + "bia l", + "Ġ scoped", + "Ġsc oped", + "Ġscope d", + "Ġsco ped", + "Ġscop ed", + "Re quires", + "Require s", + "Ġ TOTAL", + "ĠT OTAL", + "ĠCh ancellor", + "( contents", + "(content s", + "(cont ents", + "Ġste alth", + "Ġsteal th", + "dev ices", + "device s", + "- pass", + "-p ass", + "il ih", + "ili h", + "ĠMal colm", + "ĠDe pot", + "ĠDep ot", + "Ġcon figur", + "Ġconfig ur", + "a ussian", + "aus sian", + "auss ian", + "_ constraint", + "_con straint", + "в еÑĤ", + "ве ÑĤ", + "G RA", + "GR A", + "Ġ Rates", + "ĠR ates", + "ĠRa tes", + "ĠRate s", + "ĠRat es", + ".dataGridView TextBoxColumn", + "ĠN obel", + "ĠNo bel", + "ĠNob el", + "i tics", + "it ics", + "iti cs", + "itic s", + "Ġignor ant", + "Ġ Reporter", + "ĠRe porter", + "ĠReport er", + "ĠEb ola", + "Ġ Shock", + "ĠSh ock", + "ĠSho ck", + "_ relation", + "_re lation", + "_rel ation", + "ĠN inja", + "ĠNin ja", + ") c", + "Ġ ticker", + "Ġt icker", + "Ġti cker", + "Ġtick er", + "Ġtic ker", + ". isChecked", + ".is Checked", + "ĠSup pliers", + "ĠSupplier s", + "ĠR apid", + "ĠRa pid", + "ĠRap id", + "Level s", + "âĤ¬ âĦ¢", + "ĉ queue", + "ĉq ueue", + "Ġ chop", + "Ġc hop", + "Ġch op", + "Ġcho p", + "Ġ Unix", + "ĠUn ix", + "ĠUni x", + "re ject", + "rej ect", + "- calendar", + "-c alendar", + "-cal endar", + "( sort", + "(s ort", + "(so rt", + "è ne", + "èn e", + "erc icio", + "Ġh ect", + "Ġhe ct", + "CALL TYPE", + "r oupon", + "ro upon", + "rou pon", + "roup on", + "Ġrent als", + "Ġrental s", + "author s", + "auth ors", + "{ name", + "{n ame", + "ĠF IFO", + "ĠFI FO", + "Ġ lassen", + "Ġl assen", + "Ġlas sen", + "Ġ Nous", + "ĠN ous", + "ĠNo us", + "ĠNou s", + "Ġsn apped", + "Ġsnap ped", + "Ġsna pped", + "Ġf ertility", + "Ġfer tility", + "Ġfert ility", + "Ġfertil ity", + "\" log", + "cl icked", + "click ed", + "Ġplan ting", + "Ġplant ing", + "Ġ gb", + "Ġg b", + "/ output", + "/out put", + "PE AT", + "Ġ categoria", + "Ġc ategoria", + "Ġcategor ia", + "Ġ bach", + "Ġb ach", + "Ġba ch", + "Ġbac h", + "Prof essor", + "i nth", + "in th", + "int h", + "\" ]čĊ", + "\"] čĊ", + "Rec order", + "Record er", + "s erde", + "ser de", + "Ġ Transmission", + "ĠTrans mission", + "t rad", + "tr ad", + "tra d", + "Ġtur bo", + "Ġturb o", + "_ VERTEX", + "_VER TEX", + "\\ Event", + "\\E vent", + "il ver", + "Ġbod ily", + "Ġ Sources", + "ĠS ources", + "ĠSource s", + "ĠSour ces", + "Ġkill ings", + "Ġkilling s", + "Ġkil lings", + ".xr TableCell", + "Ġfol ded", + "Ġfold ed", + "/ legal", + "/l egal", + "u ner", + "un er", + "une r", + "ĠR ifle", + "ĠRif le", + "ĠM IDI", + "ĠMI DI", + "ĠMID I", + "_Selected IndexChanged", + ".Size Type", + "Ġ WebSocket", + "ĠWeb Socket", + "Ġse leccion", + "Ġsele ccion", + "S and", + "San d", + "Sa nd", + "ot ros", + "otr os", + "Ġen vision", + "Ġenv ision", + "Ġenvis ion", + "/ etc", + "/e tc", + "ĠMel issa", + "S pot", + "Sp ot", + "Spo t", + "н ое", + "но е", + "_ ARM", + "_A RM", + "_AR M", + "At tempt", + "Att empt", + "Ġ BI", + "ĠB I", + "ãģ Ķ", + "Ġ DU", + "ĠD U", + "Ġback lash", + "st ride", + "str ide", + "stri de", + "/ classes", + "/c lasses", + "/class es", + "/cl asses", + "Ġtext Color", + "_ staff", + "_st aff", + "_sta ff", + "ob lin", + "obl in", + "ag enta", + "agent a", + "agen ta", + ". collections", + ".c ollections", + ".col lections", + ".collection s", + ".collect ions", + ".coll ections", + "il lage", + "ill age", + "illa ge", + "' čĊčĊ", + "'čĊ čĊ", + "fl atten", + "flat ten", + "_ sales", + "_s ales", + "_sale s", + "_sal es", + "_sa les", + "_ MASTER", + "_M ASTER", + "_MA STER", + "T W", + "_ da", + "_d a", + "P itch", + "ph ies", + "phi es", + "Ġz ombies", + "Ġzombie s", + "Ġ VERY", + "ĠV ERY", + "ĠVER Y", + "ĠVE RY", + "ĠPh armacy", + "ĠPharm acy", + "ĠPharmac y", + "ĠPharma cy", + "Ġprogress Bar", + "Ġhas htag", + "Ġhash tag", + "S idebar", + "Side bar", + "@ stop", + "@s top", + "( pc", + "(p c", + "ол ж", + "M AKE", + "MA KE", + "ĠC oron", + "ĠCo ron", + "ĠCor on", + "Ġkv inner", + "Ġkvin ner", + "Ġkvinn er", + "Ġkvinne r", + "ĠM aid", + "ĠMa id", + "ĠMai d", + "b ob", + "bo b", + ". titleLabel", + ".title Label", + "Ġsuccess es", + "Ġsucc esses", + "Ġsucces ses", + "ĠDem ocracy", + "ĠDemocr acy", + "ĠS urgery", + "ĠSurg ery", + "ĠSurge ry", + "Ġco ugar", + "Ġcou gar", + "Ġ curso", + "Ġcur so", + "Ġcurs o", + "Ġl oro", + "Ġlo ro", + "Ġlor o", + "ist ency", + "iste ncy", + "isten cy", + "Sen ior", + "æ k", + "Ġ AAA", + "ĠA AA", + "ĠAA A", + "Ġ BOOK", + "ĠB OOK", + "ĠBO OK", + "к о", + "W STR", + "WS TR", + "Ġ */,Ċ", + "Ġ* /,Ċ", + "Ġ*/ ,Ċ", + "Ġ*/, Ċ", + "o yal", + "oy al", + "oya l", + ". vector", + ".v ector", + ".vec tor", + "Ġ SPEC", + "ĠS PEC", + "ĠSP EC", + "ĠSPE C", + "S SF", + "SS F", + "Ġcomp uls", + "ĠAppe als", + "ĠAppeal s", + "ĠW inston", + "ĠWin ston", + "ĠWins ton", + "ĠMock ito", + "con trib", + "cont rib", + "contr ib", + "contri b", + ". available", + ".a vailable", + ".av ailable", + "entity Manager", + "a rias", + "ar ias", + "ari as", + "aria s", + "_ sale", + "_s ale", + "_sal e", + "_sa le", + "_ rs", + "_r s", + "Ġde coding", + "Ġdec oding", + "Ġdeco ding", + "Ġ locator", + "Ġl ocator", + "Ġloc ator", + "ol ith", + "oli th", + "olit h", + "Ġ kol", + "Ġk ol", + "Ġko l", + "Ġ ascii", + "Ġasc ii", + "ĠR ut", + "ĠRu t", + "/ interface", + "ĉ ĉĉĉĉĉĠĠĠ", + "ĉĉ ĉĉĉĉĠĠĠ", + "ĉĉĉĉ ĉĉĠĠĠ", + "ĉĉĉ ĉĉĉĠĠĠ", + "ĉĉĉĉĉ ĉĠĠĠ", + "ĉĉĉĉĉĉ ĠĠĠ", + "ĉĉĉĉĉĉĠ ĠĠ", + "ĉĉĉĉĉĉĠĠ Ġ", + "Ġ Numer", + "ĠN umer", + "ĠNum er", + "ĠNu mer", + ". flip", + ".f lip", + ".fl ip", + "- del", + "-d el", + "-de l", + "Ġbol ster", + "Ġbols ter", + "on omic", + "ono mic", + "onom ic", + "Ġ zm", + "Ġz m", + "L G", + "Find By", + "Ġ adaptive", + "Ġad aptive", + "Ġadapt ive", + "Ġada ptive", + "l oo", + "lo o", + "Ġ vue", + "Ġv ue", + "Ġvu e", + "( reverse", + "(re verse", + "_ canvas", + "_c anvas", + "_can vas", + ". roles", + ".r oles", + ".role s", + ".ro les", + "ific ado", + "ifica do", + "ven ient", + "\" As", + "\"A s", + "Ġ Entr", + "ĠEn tr", + "ĠEnt r", + "al igned", + "align ed", + "Ġbere its", + "/ //ĊĊ", + "// /ĊĊ", + "/// ĊĊ", + "///Ċ Ċ", + ".g wt", + ". employee", + ".e mployee", + "_ cli", + "_c li", + "_cl i", + "Ġanticip ate", + "éĻ IJ", + "Ġp ik", + "Ġpi k", + "Ġmush rooms", + "Ġmushroom s", + "( tt", + "(t t", + "Ġ oma", + "Ġo ma", + "Ġom a", + "ĠSan chez", + "_ google", + "_g oogle", + "_go ogle", + ". Valid", + ".Val id", + "Ġ FileName", + "ĠFile Name", + "iv ative", + "k ed", + "ke d", + "- war", + "-w ar", + "Ġm aturity", + "Ġmat urity", + "и д", + "Ġ miner", + "Ġm iner", + "Ġmin er", + "Ġmi ner", + "Ġmine r", + "Re ducers", + "Reduc ers", + "Reducer s", + "Reduce rs", + "Ġ LatLng", + "ĠL atLng", + "ĠLat Lng", + "_ STD", + "_S TD", + "_ST D", + "D igits", + "Digit s", + "Dig its", + "C alc", + "Cal c", + "Ca lc", + "- upload", + "-up load", + "Ġhand ic", + "Ġhan dic", + "ี à¹Ī", + "eg rated", + "egr ated", + "egrate d", + "egra ted", + "Ġ STM", + "ĠS TM", + "ĠST M", + "C lients", + "Client s", + "Cl ients", + "Cli ents", + "ĠTur bo", + "S YNC", + "SY NC", + "Ġphot ographers", + "Ġphotograph ers", + "Ġphotographer s", + ". Out", + ".O ut", + ". character", + ".char acter", + "B UILD", + "BU ILD", + ". unlock", + ".un lock", + "Ġar ises", + "Ġarise s", + "Ġ Commands", + "ĠComm ands", + "ĠCommand s", + "(\" \");čĊ", + "(\"\" );čĊ", + "(\"\") ;čĊ", + "(\"\"); čĊ", + "_ FORE", + "_F ORE", + "_FOR E", + "; ',", + ";' ,", + "+ \"'", + "+\" '", + ". Images", + ".Image s", + ".Im ages", + "\" ){", + "\") {", + "ĠM eyer", + "ĠMe yer", + "ĠMey er", + "Ġneg atively", + "Ġnegative ly", + "Ġ DLL", + "ĠD LL", + "ĠDL L", + "Ġ exe", + "Ġe xe", + "Ġex e", + "Ġdef iciency", + "Ġwild ly", + "- switch", + "-s witch", + "-sw itch", + "con struction", + "construct ion", + "Ġexception ally", + "Ġexceptional ly", + "ĠL iz", + "ĠLi z", + "/ java", + "/j ava", + "/jav a", + "Ġthe irs", + "Ġtheir s", + "ĠCon temporary", + "ĠCont emporary", + "l is", + "li s", + ".fill Rect", + "ĠN FC", + "ĠNF C", + "Ġre he", + "Ġreh e", + "( numbers", + "(num bers", + "(number s", + "Ġr aster", + "Ġra ster", + "Ġras ter", + "Ġrast er", + "Ġfig uring", + "Ġfigur ing", + "Ġshow c", + "Ġsho wc", + "ĠJ ill", + "ĠJi ll", + "Ġar cade", + "Ġarc ade", + "ĠConstruct s", + "m dl", + "md l", + "( '|", + "(' |", + "Ġident ifiers", + "Ġidentifier s", + "Ġ stellar", + "Ġst ellar", + "( Connection", + "Ġ\" {{", + "Ġ\"{ {", + "y or", + "yo r", + "( mysqli", + "(m ysqli", + "(mysql i", + "Ġd ove", + "Ġdo ve", + "Ġdov e", + "Of Birth", + ". disconnect", + ".dis connect", + "_ hi", + "_h i", + "Ġzw ischen", + "ĠGr und", + "i ros", + "ir os", + "iro s", + "_ Array", + "_A rray", + ". onclick", + ".on click", + "an som", + "ans om", + "An swers", + "Answer s", + "Ans wers", + "ĉ remove", + "ĉre move", + "F a", + "Ġh urry", + "Ġhur ry", + "- inf", + "-in f", + "-i nf", + "Ġ getClass", + "Ġget Class", + "ĠgetC lass", + "ĠReg ulation", + "Ġ FLAGS", + "ĠFLAG S", + "m isc", + "mi sc", + "mis c", + "K en", + "Ke n", + "_ heading", + "_head ing", + "_he ading", + "G Hz", + "GH z", + "- entry", + "-en try", + "Ġbi ography", + "S ig", + "Si g", + "- mf", + "-m f", + "W atcher", + "Watch er", + "Wat cher", + "âĢľ A", + "} px", + "Ġsp icy", + "Ġspi cy", + "_ sq", + "_s q", + "L ost", + "Lo st", + "Los t", + "( track", + "(t rack", + "(tr ack", + "а ли", + "ал и", + "Desc ending", + "< bits", + " ((", + ">( (", + "s urvey", + "sur vey", + "Ġ íĺ", + "Ġí ĺ", + ".. .')Ċ", + "... ')Ċ", + "...' )Ċ", + "Ġ Divider", + "ĠDi vider", + "ĠDiv ider", + "ĠDivide r", + "o sl", + "os l", + "_ CANCEL", + "_C ANCEL", + "_CAN CEL", + "_ prepare", + "_pre pare", + "_prep are", + "s tin", + "st in", + "sti n", + "ĠHe ath", + "ĠHeat h", + ". PrimaryKey", + ".Primary Key", + "Ġ âĨIJ", + "ĠâĨ IJ", + "ĠLocal DateTime", + "ĠLocalDate Time", + "Ġco operative", + "Ġcooper ative", + "L earning", + "Le arning", + "Learn ing", + ". enqueue", + ".en queue", + "Ġ goog", + "Ġg oog", + "Ġgo og", + "Ġgoo g", + "Ġ Regression", + "ĠRe gression", + "ĠReg ression", + "i mates", + "im ates", + "imate s", + "ima tes", + "imat es", + "Ġvoy eur", + "Ġ Drink", + "ĠD rink", + "ĠDr ink", + "p lug", + "pl ug", + "Ġl ender", + "Ġle nder", + "Ġlen der", + "Ġlend er", + "m ana", + "man a", + "ma na", + "Ġperson nes", + "Ġpersonne s", + "Ġpersonn es", + "yp se", + "yps e", + "Ġ unlink", + "Ġun link", + "Ġunl ink", + "ĠRa vens", + "ĠRav ens", + "ĠRaven s", + "Ġh urd", + "Ġhur d", + "Ġhu rd", + "Ġperiod ically", + "Ġperiodic ally", + "AR GS", + "ARG S", + "Ġ GH", + "ĠG H", + "char acters", + "character s", + ".. .\"ĊĊ", + "... \"ĊĊ", + "...\" ĊĊ", + "...\"Ċ Ċ", + "- establish", + "Ġ dn", + "Ġd n", + "( condition", + "(con dition", + "(cond ition", + "Ġ Gravity", + "ĠGr avity", + "Ġes tas", + "Ġest as", + "Ġesta s", + "_ focus", + "_f ocus", + "C reature", + "Cre ature", + "Cr eature", + "Creat ure", + "( site", + "(s ite", + "(si te", + "Ġc arr", + "Ġcar r", + "Ġca rr", + "Ġ RL", + "ĠR L", + "Ġ RI", + "ĠR I", + "ĠM oto", + "ĠMo to", + "ĠMot o", + "A SF", + "AS F", + "Ġ Luckily", + "ĠLuck ily", + "ĉ Route", + "ĉR oute", + "Ġ entropy", + "Ġent ropy", + "Ġentr opy", + "( \",\"", + "(\" ,\"", + "(\", \"", + "C ollect", + "Col lect", + "Coll ect", + "( contact", + "(cont act", + "ĠFlor ence", + "ĠFlo rence", + "Ġpremium s", + "Ġpremi ums", + "Ġl ifecycle", + "Ġlife cycle", + "Ġlif ecycle", + "Ġb ans", + "Ġban s", + "Ġba ns", + "x ef", + "xe f", + "Web Kit", + "Ġ Floating", + "ĠF loating", + "ĠFloat ing", + "ĠFlo ating", + "Ġ cosa", + "Ġc osa", + "Ġco sa", + "Ġcos a", + "S pecific", + "Spec ific", + "ĠLo ans", + "ĠLoan s", + "b read", + "br ead", + "bre ad", + "Ġdes criptors", + "Ġdescriptor s", + "Ġ{ :.", + "Ġ{: .", + "TH READ", + "ĠT rent", + "ĠTr ent", + "ĠTre nt", + "Ġs cop", + "Ġsc op", + "Ġsco p", + "Q A", + "ĠAn tar", + "ĠAnt ar", + "p el", + "pe l", + "_ difference", + "_d ifference", + "_diff erence", + "_ changes", + "_ch anges", + "_change s", + "_chan ges", + "( ...)", + "(... )", + "(.. .)", + "Ġ Rotation", + "ĠR otation", + "ĠRot ation", + "ĠL GPL", + "ĠLG PL", + "Ġ JUST", + "ĠJ UST", + "( Task", + "(T ask", + "_ subset", + "_sub set", + "_subs et", + "Ġ TRANS", + "ĠTR ANS", + "ĠTRAN S", + "åĬ Ľ", + "ĠS cout", + "ĠSc out", + "ĠSco ut", + "- popup", + "-p opup", + "-pop up", + "Ġsm oked", + "Ġsmoke d", + "Ġsmo ked", + "_ Class", + "_C lass", + "_Cl ass", + "Ġturn over", + "Ġturno ver", + "br akk", + "bra kk", + "ĠRock y", + "ĠRo cky", + "ĠRoc ky", + "t as", + "ta s", + ".Regular Expressions", + "ĠElli ott", + "ĠElliot t", + "Ġ Spinner", + "ĠSp inner", + "ĠSpin ner", + "DUCT ION", + "DU CTION", + "Ġl ibre", + "Ġli bre", + "Ġlib re", + "Ġlibr e", + "Ġmol to", + "Ġmolt o", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "Ġ FTP", + "ĠF TP", + "ĠFT P", + "m peg", + "mp eg", + "( features", + "(f eatures", + "(feature s", + "(fe atures", + "Ġb ald", + "Ġbal d", + "Ġba ld", + "ĠV id", + "ĠVi d", + "Ġsh outing", + "Ġshout ing", + "Ġsho uting", + "L int", + "Li nt", + "Lin t", + "Ġ sockets", + "Ġs ockets", + "Ġsocket s", + "Ġsock ets", + "Ġp row", + "Ġpro w", + "Ġpr ow", + "Ġnou velle", + "Ġnouvel le", + "Ġnouve lle", + "is card", + "isc ard", + "ĠS ponsor", + "Ġ consulta", + "Ġcons ulta", + "Ġconsult a", + "Ġconsul ta", + ") ));", + ")) );", + "))) ;", + "Ind ian", + "India n", + "ĠR aspberry", + "Ġteam mate", + "Ġ JWT", + "ĠJ WT", + "ĠJW T", + "ĠG hana", + "ĠGh ana", + "Ġ cakes", + "Ġc akes", + "Ġca kes", + "Ġcake s", + "pr imer", + "prim er", + "prime r", + "pri mer", + "form a", + "for ma", + "erg arten", + "_ Manager", + "_M anager", + "_Man ager", + "Ġpre season", + "G AME", + "GA ME", + "| \"", + "ĠB rock", + "ĠBr ock", + "ĠBro ck", + "Ġocc upy", + "Ġoccup y", + "Ġdecor ations", + "Ġdecoration s", + "á nd", + "án d", + "Ġ cot", + "Ġc ot", + "Ġco t", + "Ġp aran", + "Ġpar an", + "Ġpara n", + "Ġpa ran", + "D isk", + "Dis k", + "Di sk", + "r emain", + "re main", + "rem ain", + "rema in", + "> ?", + "St rong", + "Str ong", + "Ġf rance", + "Ġfr ance", + "Ġfra nce", + "Ġfran ce", + "Ġfranc e", + "ĠE ra", + "ĠEr a", + "- cr", + "-c r", + ".Buffer edReader", + ".Buffered Reader", + "ĠParad ise", + "ĠV AT", + "ĠVA T", + "ĠAn ders", + "ĠAnd ers", + "Ġl imb", + "Ġli mb", + "Ġlim b", + "amp oo", + "ampo o", + "Ġimper ative", + "UT ILITY", + "UTIL ITY", + "Ġ Recognition", + "ĠRec ognition", + "ĠRecogn ition", + "Ġragaz ze", + "Ġp ops", + "Ġpop s", + "Ġpo ps", + "y press", + "yp ress", + "Ġemb argo", + "Ġembar go", + "// {Ċ", + "Ġs yll", + "Ġsy ll", + "P TR", + "PT R", + "åŃĺ åľ¨", + "Ġdid nt", + "Ġdidn t", + "M ailer", + "Mail er", + "Ma iler", + "Ġacad emics", + "Ġacademic s", + "ĠFr auen", + "ĠFra uen", + "ĠFrau en", + "ne ider", + "- rel", + "-r el", + "-re l", + "Ġrain bow", + "( In", + "(I n", + "Ġs liced", + "Ġsl iced", + "Ġslice d", + "Ġslic ed", + "= ============Ċ", + "== ===========Ċ", + "==== =========Ċ", + "======== =====Ċ", + "=== ==========Ċ", + "============ =Ċ", + "============= Ċ", + "=========== ==Ċ", + "========= ====Ċ", + "========== ===Ċ", + "====== =======Ċ", + "===== ========Ċ", + "======= ======Ċ", + "( send", + "(s end", + "(se nd", + "NSMutable Dictionary", + "v os", + "vo s", + "( package", + "(p ackage", + "(pack age", + "Ġord inance", + "Ġordin ance", + "view er", + "vie wer", + "ĠSan tos", + "ĠSant os", + "ĠSanto s", + "- selling", + "-s elling", + "Ġ gov", + "Ġg ov", + "Ġgo v", + "et tle", + "ett le", + "Ġfound ers", + "Ġfo unders", + "Ġfounder s", + "Ġw aking", + "Ġwa king", + "s lashes", + "sl ashes", + "slash es", + "-p ound", + "-po und", + "re cht", + "rec ht", + "rech t", + "ا ت", + "Ø§Ø ª", + ". onClick", + ".on Click", + "Ġn ord", + "Ġno rd", + "Ġnor d", + "st änd", + "_ when", + "_w hen", + "_wh en", + "U TERS", + "UT ERS", + "UTE RS", + "i cc", + "ic c", + "Ġcaps ule", + "ĠW id", + "ĠWi d", + "M arc", + "Mar c", + "Ma rc", + "ภ¸", + "r ored", + "ro red", + "ror ed", + "U GE", + "UG E", + "LO UD", + "Ġ Audit", + "ĠA udit", + "ĠAud it", + "ĠAu dit", + "ĠAudi t", + "ip ients", + "ipient s", + "ipi ents", + "op ian", + "opia n", + "opi an", + "ĠS ue", + "ĠSu e", + "Ġwur den", + "Ġwurde n", + ". Helpers", + ".H elpers", + ".Helper s", + ".Help ers", + "Ġf actions", + "Ġfact ions", + "Ġfa ctions", + "Ġfaction s", + "[ np", + "[n p", + "- than", + "-t han", + "-th an", + "Ġre co", + "Ġr eco", + "Ġrec o", + "Ġ kas", + "Ġk as", + "Ġka s", + "Ġ cmds", + "Ġcmd s", + "Ġcm ds", + "/ network", + "/n etwork", + "/net work", + "x bf", + "xb f", + "get Color", + "getC olor", + "Ġ biased", + "Ġbi ased", + "Ġbias ed", + "ĠL ak", + "ĠLa k", + "D atas", + "Data s", + "Da tas", + "Dat as", + "v ents", + "ve nts", + "vent s", + "ven ts", + "Ġ ë²", + "Ġë ²", + "_ PS", + "_P S", + ". Validate", + ".Valid ate", + "Inv oker", + "Invoke r", + "Ġne uen", + "Ġneu en", + "Ġneue n", + "Ġju venile", + "Ġjuven ile", + "V ISION", + "VI SION", + "VIS ION", + "Ġde vote", + "Ġdev ote", + "Ġ linha", + "Ġl inha", + "Ġlin ha", + "Ġlinh a", + "Ġdiscount ed", + "Ġdisco unted", + "\\ Config", + "Ġworth while", + "Ġskin ny", + "Ġ Courses", + "ĠC ourses", + "ĠCo urses", + "ĠCour ses", + "ĠCourse s", + "le ys", + "ley s", + "ĠMort gage", + "K evin", + "Ke vin", + "Ġann ounces", + "Ġannounc es", + "Ġannounce s", + "] )*", + "]) *", + "res ervation", + "Ġ æķ°", + "Ġæķ °", + "Ġprejud ice", + "ĠString Comparison", + "Ġbe ard", + "Ġbear d", + "- win", + "-w in", + "ĠS ão", + "ĉ ms", + "ĉm s", + "j al", + "ja l", + "Ġ Earn", + "ĠE arn", + "ĠEar n", + "ĠEa rn", + "_ ports", + "_p orts", + "_port s", + "_po rts", + "_por ts", + "Ġ Nombre", + "ĠN ombre", + "ĠNom bre", + "_ COR", + "_C OR", + "_CO R", + "Ġ BUILD", + "ĠB UILD", + "ĠBU ILD", + ". sound", + ".s ound", + ".so und", + "Y ellow", + "Ġlineback er", + "Ġchar itable", + "Ġcha ritable", + "j ug", + "ju g", + "_NON NULL", + "ĠD ental", + "ĠDen tal", + "ĠDent al", + "\" >${", + "\"> ${", + "\">$ {", + "ĉ match", + "ĉm atch", + "ĉmat ch", + "R ussian", + "Russia n", + "Russ ian", + "Rus sian", + "Ġver sch", + "Ġvers ch", + "Ġp inned", + "Ġpin ned", + "Ġadopt ing", + "Options Menu", + "P ag", + "Pa g", + "Ġpair ing", + "Ġpa iring", + "Ġpai ring", + "Ġt read", + "Ġtr ead", + "Ġtre ad", + "erc ises", + "ercise s", + "Ġ Spread", + "ĠS pread", + "ĠSp read", + "ĠSpr ead", + ") i", + "Ġ BAD", + "ĠB AD", + "ĠBA D", + "_ tf", + "_t f", + "UI ImageView", + "UIImage View", + "pop ulate", + "b ab", + "ba b", + "Ġ Ïĥ", + "ĠÏ ĥ", + "[ ++", + "Ġopi oid", + "Ġ ##Ċ", + "Ġ# #Ċ", + "Ġ## Ċ", + "d type", + "dt ype", + "ĠSt arts", + "ĠStart s", + "ĠStar ts", + "ĠSta rts", + "(' /')", + "('/ ')", + "Ġperson als", + "Ġpersonal s", + "Ġpersona ls", + "- market", + "-m arket", + "-mark et", + "-mar ket", + "Ġredund ant", + "ĠEss ential", + "Ġsc rapy", + "Ġscr apy", + "Ġscrap y", + "Ġ им", + "Ġи м", + "a cl", + "ac l", + "Ġ crear", + "Ġc rear", + "Ġcr ear", + "Ġcre ar", + "Ġcrea r", + "ĠB end", + "ĠBe nd", + "ĠBen d", + "Ġrel ieve", + "Ġreli eve", + "Ġrelie ve", + "- room", + "-r oom", + "-ro om", + "w ife", + "wi fe", + "Ġv Ãł", + "ĠQ Point", + "Ġqu asi", + "Ġqua si", + "Ġ methodName", + "Ġmethod Name", + "\\ xc", + "\\x c", + "ĠP eru", + "ĠPer u", + "ĠPe ru", + "/ The", + "/T he", + ". orm", + ".o rm", + ".or m", + "Ġ viz", + "Ġv iz", + "Ġvi z", + "/ pdf", + "/p df", + "Loc ated", + "Ġconfront ation", + "ĠChampionship s", + "ĠChampions hips", + "ĠChampion ships", + "Ġhy pert", + "Ġhyp ert", + "Ġhyper t", + "Ġhype rt", + "Ġ dj", + "Ġd j", + "Ġ UserInfo", + "ĠUser Info", + "Ġ åĪĽå»º", + "ĠåĪ Ľå»º", + "\\ xb", + "\\x b", + "( sim", + "(s im", + "(si m", + "Ġ ==Ċ", + "Ġ= =Ċ", + "Ġ== Ċ", + "Ġst aging", + "Ġsta ging", + "Ġstag ing", + "Ġdr astically", + "Ġdrastic ally", + "åŃ ¦", + "l ords", + "lor ds", + "lord s", + ". less", + ".l ess", + ".le ss", + "вед иÑĤе", + "Ġ Bucket", + "ĠB ucket", + "ĠBuck et", + "ĠBu cket", + "ĠM am", + "ĠMa m", + ". term", + ".t erm", + ".te rm", + "_ pi", + "_p i", + "c zy", + "cz y", + ". pub", + ".p ub", + "p recio", + "pre cio", + "prec io", + "preci o", + "ĠV irt", + "ĠVir t", + "ĠVi rt", + "Ġ roman", + "Ġr oman", + "Ġro man", + "Ġrom an", + "Ġroma n", + "i tat", + "it at", + "ita t", + "L ex", + "Le x", + "_ infos", + "_in fos", + "_info s", + "_inf os", + "Ä °", + ". other", + ".o ther", + ".ot her", + "VE LO", + "VEL O", + "Ġ ponder", + "Ġp onder", + "Ġpo nder", + "Ġpon der", + "Ġpond er", + "Ġh anno", + "Ġhan no", + "Ġhann o", + "( Page", + "(P age", + "d oi", + "do i", + "Ġpol ite", + "Ġpo lite", + "Ġpolit e", + "Ġprogram mer", + "Ġprogramme r", + "Ġprogramm er", + "D ies", + "Die s", + "Di es", + "$ d", + "Ġre plication", + "Ġrep lication", + "Ġrepl ication", + "Ġreplic ation", + "Ġreplica tion", + "add Column", + "fr ican", + "frica n", + "Ġl eng", + "Ġle ng", + "Ġlen g", + "b eer", + "be er", + "bee r", + "o it", + "oi t", + "Ġw asting", + "Ġwas ting", + "Ġwast ing", + "y lim", + "yl im", + "me asure", + "N eg", + "Ne g", + "Ġpart ie", + "Ġpar tie", + "Ġparti e", + ". console", + ".con sole", + ".cons ole", + "ĠGu inea", + "ĠGui nea", + "T EL", + "TE L", + "_ fact", + "_f act", + "_fac t", + "_fa ct", + ". chunk", + ".ch unk", + "Ġl ent", + "Ġle nt", + "Ġlen t", + "Ġ aller", + "Ġa ller", + "Ġal ler", + "Ġall er", + "Ġalle r", + "Ġ à¤ķ", + "Ġठķ", + "_ idle", + "_id le", + "_i dle", + "Ġad missions", + "Ġadm issions", + "Ġadmission s", + "JSON Array", + "Ġv ibration", + "Ġvibr ation", + "Ġvib ration", + ". helpers", + ".h elpers", + ".helper s", + ".help ers", + "å¤ ĸ", + "Ġ hen", + "Ġh en", + "Ġhe n", + "j ohn", + "jo hn", + "Ġ ìĥĿ", + "Ġì ĥĿ", + "Ġìĥ Ŀ", + "Ġjud gement", + "Ġjudge ment", + "Ġg een", + "Ġge en", + "Ġgee n", + "t erra", + "ter ra", + "terr a", + "^ {", + "ĠI z", + "Ġc â", + "in stances", + "instance s", + "inst ances", + "instanc es", + "Ġthreat ens", + "Ġthreaten s", + "Ġm üssen", + "Kind OfClass", + "Ġstoryt elling", + "_ demo", + "_d emo", + "_de mo", + "_dem o", + "r ias", + "ri as", + "ria s", + "Priv acy", + "h ift", + "hi ft", + "ĠY i", + "es or", + "eso r", + "íķ ł", + "ens itivity", + ". Writer", + ".W riter", + ".Write r", + "ภĤ", + "D istrict", + "Di strict", + ".get JSONObject", + "Im pro", + "Imp ro", + "(get Resources", + "Ġ SPELL", + "ĠS PELL", + "ĠSP ELL", + "ĠSPE LL", + "ro duce", + "rodu ce", + "rod uce", + "Ġsl owed", + "Ġslow ed", + "Ġslo wed", + "Ġ linewidth", + "Ġline width", + "Ġlin ewidth", + "Ġhon esty", + "Ġhonest y", + "Ġho nesty", + "Ġhone sty", + "Ġ Coord", + "ĠC oord", + "ĠCo ord", + "ĠF ork", + "ĠFor k", + "ĠFo rk", + "ĠDispatch Queue", + "ĠCl iff", + "ĠCli ff", + "ĠW iring", + "ĠWi ring", + "ĠWir ing", + "_TIM ESTAMP", + "ol lah", + "oll ah", + "olla h", + "a void", + "av oid", + "avo id", + "++ ];Ċ", + "++] ;Ċ", + "sem antic", + "- css", + "-c ss", + "Ġv eto", + "Ġve to", + "Ġvet o", + "ĠM err", + "ĠMe rr", + "ĠMer r", + "Ġlegisl ators", + "C EEDED", + "CEE DED", + "CEED ED", + "Ġquestion naire", + "ĠP ills", + "ĠPill s", + "ĠPil ls", + "C alculate", + "Cal culate", + "Calc ulate", + "Calcul ate", + "( core", + "(c ore", + "(co re", + "(cor e", + "' e", + "Ġdis like", + "Ġ Preferences", + "ĠP references", + "ĠPre ferences", + "ĠPreference s", + "ĠPrefer ences", + "_ EXTERNAL", + "_EX TERNAL", + "_EXTERN AL", + "è° ĥ", + "Ġd odge", + "Ġdo dge", + "Ġdod ge", + "æľį åĬ¡", + ". names", + ".n ames", + ".name s", + ".draw Image", + "_ prom", + "_p rom", + "_pro m", + "_pr om", + "uck land", + "Ġ<$ >", + "ı z", + "/ site", + "/s ite", + "é¡ ¹", + "r ophe", + "ro phe", + "rop he", + "roph e", + "Ġcomp elled", + "Ġcompel led", + "Ġl aptops", + "Ġlaptop s", + "Ġ uni", + "Ġu ni", + "Ġun i", + "C LOSE", + "CL OSE", + "Ġcasual ties", + "Ġ Uniform", + "ĠUn iform", + "ĠUni form", + "Term inal", + ". \",\"", + ".\" ,\"", + ".\", \"", + "D AT", + "DA T", + "( TreeNode", + "(T reeNode", + "(Tree Node", + "ĠGand hi", + "( stmt", + "(st mt", + "A XB", + "AX B", + "* M", + "Ġumb rella", + "an imal", + "ani mal", + "anim al", + "Ġ grpc", + "Ġg rpc", + "Ġgr pc", + "Ġgrp c", + "Ġwhere by", + "Ġfloat s", + "Ġflo ats", + "ĉ arg", + "ĉa rg", + "ĉar g", + "Ġ dbg", + "Ġd bg", + "Ġdb g", + "Ġexceed ing", + "Ġexce eding", + "Event Type", + ".SaveChanges Async", + "Ġ {{{", + "Ġ{ {{", + "Ġ{{ {", + "Ġ owed", + "Ġo wed", + "Ġow ed", + "Ġowe d", + "ahren heit", + "Ġ ì§", + "Ġì §", + "Ġequ ipo", + "Ġequip o", + "u rai", + "ur ai", + "ura i", + "Ġi dol", + "Ġid ol", + "] \")Ċ", + "]\" )Ċ", + "]\") Ċ", + "_ major", + "_m ajor", + "Ġentire ty", + "inger print", + "ç os", + "ço s", + "/ account", + "/a ccount", + "/ac count", + "ĉ right", + "ĉr ight", + "urs os", + "ĠE DT", + "ĠED T", + "_ INSERT", + "_INS ERT", + "Ġsh ining", + "Ġshin ing", + "Ġ< :", + "Edge Insets", + "Ġcolon ies", + ". IM", + ".I M", + "ĉ Ġĉ", + "ĉĠ ĉ", + "R OAD", + "RO AD", + "C CCC", + "CC CC", + "CCC C", + "pl acing", + "pla cing", + "Ġget Activity", + "em acs", + "ema cs", + "' %(", + "'% (", + ". clicked", + ".cl icked", + ".click ed", + "Ġ Them", + "ĠT hem", + "ĠThe m", + "ĠTh em", + "is ia", + "isi a", + "Bus car", + "Bu scar", + ". rename", + ".re name", + ".r ename", + "Ġo ath", + "Ġoat h", + "Ġoa th", + "Ġafter ward", + "ĠU FO", + "ĠUF O", + "A PS", + "AP S", + "ĠJackson ville", + ". some", + ".s ome", + ".so me", + "Conf irmed", + "Confirm ed", + ". scan", + ".s can", + ".sc an", + "ig Integer", + "Decor ator", + "sh ield", + "shi eld", + "ress ive", + ". did", + ".d id", + ".di d", + "请 è¾ĵåħ¥", + "Ġsh utter", + "Ġshut ter", + "D am", + "Da m", + "Ġpar enting", + "Ġparent ing", + "Ġparen ting", + "ey ed", + "eye d", + "$ item", + "$i tem", + "- develop", + "-de velop", + "-dev elop", + "-devel op", + "Ġex tracts", + "Ġextra cts", + "Ġextract s", + "Ġextr acts", + "Ġdecentral ized", + "ĠE lsa", + "ĠEl sa", + "_ spin", + "_s pin", + "_sp in", + "_spi n", + "] )+", + "]) +", + "- initial", + "-in itial", + "-init ial", + "Ġmult itude", + "Ġmultit ude", + "Ġsens ory", + "Ġsensor y", + "Ġ MODEL", + "ĠMO DEL", + "ĠMOD EL", + "ĠMODE L", + "Ġsaf eguard", + "Ġsafe guard", + "Ġsafeg uard", + "ì ¹", + "Ġhun ters", + "Ġhunt ers", + "Ġhunter s", + "Ġ Tiny", + "ĠT iny", + "ĠTi ny", + "ĠTin y", + "I NO", + "IN O", + "dec orate", + "decor ate", + "Ġ NoSuch", + "ĠNo Such", + "H o", + "( Response", + "Ġr uler", + "Ġrule r", + "Ġru ler", + "ĉ short", + "ĉs hort", + "ĉsh ort", + "Ġ caster", + "Ġc aster", + "Ġca ster", + "Ġcas ter", + "Ġcast er", + "Ġcaste r", + "Ġ clientId", + "Ġclient Id", + "Ġ pdb", + "Ġp db", + "Ġpd b", + "ëı Ħ", + "i tic", + "it ic", + "iti c", + "Ġ GameState", + "ĠGame State", + "Ġnew Item", + ") ĊĊĊĊĊĊ", + ")Ċ ĊĊĊĊĊ", + ")ĊĊ ĊĊĊĊ", + ")ĊĊĊ ĊĊĊ", + ")ĊĊĊĊ ĊĊ", + ")ĊĊĊĊĊ Ċ", + "o uis", + "ou is", + "oui s", + "n oc", + "no c", + ". BLACK", + ".BL ACK", + "_ VECTOR", + "_V ECTOR", + "_VEC TOR", + "_VE CTOR", + "---------- ();", + ">( );", + ">() ;", + ".get P", + "an ye", + "any e", + "Ġne uron", + "Ġneuro n", + "Ġneu ron", + "Ġneur on", + "i fold", + "if old", + "ifo ld", + "Ġ Known", + "ĠK nown", + "ĠKn own", + "ĠKnow n", + "Bit coin", + "Any way", + "ay ette", + "aye tte", + "ayet te", + "Ġ' ['", + "Ġ'[ '", + "Ãł nh", + "Ãłn h", + "m gr", + "mg r", + "Ġcor related", + "Ġcorre lated", + "Ġcorrel ated", + "Ġcorrelate d", + "Ġn ause", + "Ġna use", + "Ġnau se", + "Ġmental ity", + "Ġment ality", + "has Many", + "Ġ FG", + "ĠF G", + "am pie", + "amp ie", + "I TU", + "IT U", + "F s", + ". Sp", + ".S p", + "_ between", + "_b etween", + "_bet ween", + "Dep endencies", + "o ug", + "ou g", + "Place holder", + "= text", + "=t ext", + "Ġ Managing", + "ĠMan aging", + "ĠMana ging", + "ocal ypse", + "åĮ Ĺ", + "_ mag", + "_m ag", + "_ma g", + "f ld", + "fl d", + "â ij", + "C AM", + "CA M", + "Ġ Helpers", + "ĠH elpers", + "ĠHelp ers", + "ĠHelper s", + "ĠHel pers", + "Ġd ost", + "Ġdo st", + "Ġdos t", + "/ out", + "/o ut", + "Ġassass ination", + "Ġassassin ation", + ". getImage", + ".get Image", + "ĠK enny", + "ĠKen ny", + "ĠKenn y", + ". ')ĊĊ", + ".' )ĊĊ", + ".')Ċ Ċ", + ".') ĊĊ", + ") {//", + "){ //", + "ĠR anger", + "ĠRange r", + "ĠRa nger", + "ĠRan ger", + "Ġg ek", + "Ġge k", + "Ġsince re", + "Ġsinc ere", + "Ġsincer e", + "< Value", + "čĊ", + "/> čĊ", + ".get Resources", + ".getResource s", + "Ġl ump", + "Ġlu mp", + "Ġlum p", + "_ consts", + "_con sts", + "_const s", + "_cons ts", + "( ext", + "(e xt", + "(ex t", + "ĉ dir", + "ĉd ir", + "â Ŀ", + "Ġpadding Top", + "Ġob session", + "Ġobs ession", + "Ġobsess ion", + "Ġb anning", + "Ġban ning", + "ĠApp Module", + "Ġp artisan", + "Ġpart isan", + "Ġparti san", + "Ġcatalog ue", + "Ġcata logue", + "Ġcatal ogue", + "Ġmin ors", + "Ġminor s", + "Ġp itches", + "Ġpitch es", + "Ġpit ches", + "we ep", + "Ġunder take", + "Ġundert ake", + "Ġth emed", + "Ġthe med", + "Ġthem ed", + "Ġtheme d", + "a udit", + "au dit", + "aud it", + "audi t", + ". scrollTop", + ".scroll Top", + ".scrollTo p", + "Ġ rer", + "Ġre r", + "Ġr er", + "Ġsym ptom", + "Ġsympt om", + "Ġsymp tom", + "Ġopen ings", + "Ġopening s", + ". blocks", + ".b locks", + ".bl ocks", + ".block s", + "open id", + "ope nid", + "Ġa ssh", + "Ġas sh", + "Ġass h", + "- save", + "-s ave", + "ĠP ig", + "ĠPi g", + "Ġre gain", + "Ġreg ain", + "Ġin icial", + "Ġini cial", + "Ġinici al", + "/ favicon", + "/f avicon", + "ĉ exp", + "ĉe xp", + "ĉex p", + "Ġsp ices", + "Ġspi ces", + "Ġspice s", + "i ska", + "is ka", + "isk a", + "cl aims", + "claim s", + "cla ims", + "m ak", + "ma k", + "definition s", + "Ġcorrespond ent", + "ĠCann abis", + "_ _,Ċ", + "__ ,Ċ", + "__, Ċ", + "ĠL ucky", + "ĠLuc ky", + "ĠLu cky", + "ĠLuck y", + "ĠG aussian", + "ĠGa ussian", + "ĠGauss ian", + "Ġ Nearly", + "ĠN early", + "ĠNear ly", + "C AD", + "CA D", + "' ]]Ċ", + "'] ]Ċ", + "']] Ċ", + "Ġadequate ly", + "Ġadequ ately", + "Ġ TITLE", + "ĠT ITLE", + "constitution al", + "- mm", + "-m m", + "_ override", + "_over ride", + "Ġ blas", + "Ġb las", + "Ġbl as", + "Ġbla s", + ".ready State", + "Ġrem inis", + "Ġremin is", + "Ġrein forced", + "Ġreinforce d", + "ĠColl abor", + "Ġdecor ating", + "Ġdeco rating", + "Ġb achelor", + "Ġbach elor", + "ERRU PT", + "Ġup right", + "ip ation", + "ipa tion", + "ĠN oble", + "ĠNo ble", + "ĠNob le", + "Ġvalue ForKey", + "Ġset Loading", + ". Ignore", + ".I gnore", + "å ģ", + "G lobals", + "Global s", + "ĠM ent", + "ĠMe nt", + "ĠMen t", + "AS SES", + "ASS ES", + "Ġlim bs", + "Ġlimb s", + "Ġ HUD", + "ĠH UD", + "in ci", + "inc i", + ". iv", + ".i v", + "ĠQ ModelIndex", + "F use", + "Fu se", + "Ġpe dal", + "Ġped al", + "_F REQ", + "_FR EQ", + "_FRE Q", + "( verbose", + "(ver bose", + "Ġlong itud", + "ĠCh arter", + "ĠChar ter", + "ĠChart er", + "ê ·¸", + "ê· ¸", + "Ġ bundles", + "Ġb undles", + "Ġbund les", + "Ġbundle s", + ". ignore", + ".i gnore", + "um bo", + "umb o", + "E MA", + "EM A", + ". ......", + ".. .....", + "... ....", + ".... ...", + "..... ..", + "...... .", + "s x", + ". Card", + ".C ard", + ".Car d", + "Ġhe ute", + "Ġst eer", + "Ġste er", + "j umlah", + "Ġ {_", + "Ġ{ _", + "_ Checked", + "_Check ed", + "Ġ fax", + "Ġf ax", + "Ġfa x", + "ĠG ust", + "ĠGu st", + "ĠGus t", + "itch ens", + "itchen s", + "Ġ ))ĊĊ", + "Ġ) )ĊĊ", + "Ġ)) ĊĊ", + "Ġ))Ċ Ċ", + "Ġremark ably", + "/ XML", + "/X ML", + "- remove", + "-re move", + "_ bt", + "_b t", + "Ġinc ub", + ". package", + ".p ackage", + ".pack age", + ".current Thread", + "ĠHigh lander", + "ĠHighland er", + ". side", + ".s ide", + ".sid e", + ".si de", + "s plash", + "sp lash", + "spl ash", + "Ġ ici", + "Ġi ci", + "Ġic i", + "= D", + "Ġp uck", + "Ġpu ck", + "Ġball ots", + "Ġbal lots", + "Ġballot s", + "Ġballo ts", + "Ġhuge ly", + "Ġhug ely", + "c oeff", + "co eff", + "coef f", + "coe ff", + "Ġ pData", + "Ġp Data", + ". COLUMN", + ".C OLUMN", + "ĠHe aling", + "ĠHeal ing", + "Ġ ordin", + "Ġor din", + "Ġord in", + "! ),", + "!) ,", + "Ġ' ',čĊ", + "Ġ'' ,čĊ", + "Ġ'', čĊ", + "( md", + "(m d", + "ĠS ask", + "ĠSa sk", + "ĠSas k", + "< strong", + "Ġsurv ivor", + "Ġsurviv or", + ". series", + ".s eries", + ".se ries", + ".ser ies", + "Ġcaffe ine", + "Ġ `(", + "Ġ` (", + ".TRA ILING", + "_ Input", + "_In put", + "( \"^", + "(\" ^", + "z d", + "& );Ċ", + "&) ;Ċ", + "Ġ Ping", + "ĠP ing", + "ĠPin g", + "ĠPi ng", + "Ġ voucher", + "Ġv oucher", + "Ġvo ucher", + "Ġvou cher", + ". rating", + ".r ating", + ".ra ting", + "-sh irts", + "-shirt s", + "ĠRetrie ves", + "ĠRetrieve s", + ".al ibaba", + "Or acle", + "_ MOV", + "_M OV", + "_MO V", + "Old Data", + "Ġ /*čĊ", + "Ġ/ *čĊ", + "Ġ/* čĊ", + "Ġ gboolean", + "Ġg boolean", + "Ġ= >čĊ", + "Ġ=> čĊ", + "Ġ rá", + "Ġr á", + "Ġbl unt", + "ĠImage Icon", + "i fik", + "if ik", + "ifi k", + "R TC", + "RT C", + "Ġfi bers", + "Ġfib ers", + "Ġfiber s", + "Ġto ile", + "Ġtoi le", + ". sent", + ".s ent", + ".se nt", + "ĠPy Qt", + "$ app", + "$a pp", + "Ġm edio", + "Ġme dio", + "Ġmed io", + "Ġmedi o", + "Ġgrant ing", + "Ġgran ting", + "Ġts lint", + "Ġtsl int", + "ĠM ö", + "(fig size", + "Ġhur ricane", + "Ġl ifes", + "Ġlife s", + "Ġlif es", + "Ġ ÃĦ", + "Ġà Ħ", + "rocess ing", + "_ standard", + "_st andard", + "_stand ard", + "- option", + "-o ption", + "-op tion", + "-opt ion", + "' )))", + "') ))", + "')) )", + "Ġvac ant", + "Ġva cant", + "å· ¥", + "ĠH ollow", + "ĠHol low", + "ĠHoll ow", + "handle Change", + "Ġ divider", + "Ġdi vider", + "Ġdiv ider", + "Ġdivide r", + "Ġdivid er", + "ĠEngine ers", + "ĠEngineer s", + "Ġs vens", + "Ġsv ens", + "Ġsve ns", + "Ġcom pliant", + "Ġcompl iant", + "t anggal", + "Ġ Credits", + "ĠC redits", + "ĠCredit s", + "ĠEm irates", + "Rule Context", + "Ġreal ization", + "Ġrealiz ation", + "Ġrealiza tion", + "Ġdis tracted", + "Ġdistr acted", + "Ġdistract ed", + "] +=", + "]+ =", + "Ġau gment", + "Ġaug ment", + "ĠD w", + "o tp", + "ot p", + "or rent", + "orr ent", + "orre nt", + "Ed itar", + "Edit ar", + ". stock", + ".st ock", + "St udy", + "p ections", + "pe ctions", + "pect ions", + "pection s", + "Ġ GameManager", + "ĠGame Manager", + "= cut", + "=c ut", + "Ġf lock", + "Ġfl ock", + "Ġflo ck", + "ĠRom ans", + "ĠRo mans", + "ĠRoman s", + "ĠRoma ns", + "t hem", + "th em", + "the m", + "- hop", + "-h op", + "Ġscreen shots", + "Ġscreens hots", + "Ġscreenshot s", + "Ġ /*!Ċ", + "Ġ/* !Ċ", + "Ġ/*! Ċ", + "Ġcon versions", + "Ġconv ersions", + "Ġconvers ions", + "Ġconversion s", + "Ġnormal ization", + "( configuration", + "(config uration", + "Ġa eros", + "Ġaer os", + "Ġae ros", + "_ security", + "_s ecurity", + "_se curity", + "_sec urity", + "! 'Ċ", + "!' Ċ", + "B onus", + "Bon us", + "ĠDR IVER", + "ĠDRIVE R", + "ĉ Date", + "ĉD ate", + "t ie", + "ti e", + "ĠWy oming", + "St and", + "Stan d", + "i tre", + "it re", + "itr e", + "Ġsh oppers", + "Ġshop pers", + "Ġsho ppers", + "Ġshopper s", + "Ġdisadv antage", + "Ġl iking", + "Ġli king", + "Ġlik ing", + "ç¬ ij", + "Ġunderstand able", + "S EE", + "SE E", + "Ġh oy", + "Ġho y", + "Ġnine te", + "Ġni nete", + "Ġnin ete", + "Ġcon fer", + "Ġconf er", + "Ġ nowrap", + "Ġno wrap", + "Ġnow rap", + "ĠV ern", + "ĠVer n", + "ĠVe rn", + ", čĊčĊ", + ",čĊ čĊ", + "ime step", + "imes tep", + "imest ep", + "Layout Manager", + "à ·", + "ĉ wait", + "ĉw ait", + "P LETED", + "PLE TED", + "J apan", + "Ja pan", + "Ġin duce", + "Ġind uce", + "Ġindu ce", + "Ġ å¯", + "Ġå ¯", + "о зв", + "оз в", + "_END POINT", + ". horizontal", + ".h orizontal", + "Ġacceler ated", + "Ġaccelerate d", + "r imon", + "ri mon", + "rim on", + "I VES", + "IV ES", + "IVE S", + "Trans actions", + "Transaction s", + "L ean", + "Le an", + "ĠS OUR", + "ĠSO UR", + "wh ether", + "y g", + "Ġ oid", + "Ġo id", + "Ġoi d", + "Ġ EntityManager", + "ĠEntity Manager", + "OUN TRY", + "OUNT RY", + "Ġ fila", + "Ġf ila", + "Ġfil a", + "Ġfi la", + "OLUM NS", + "OLUMN S", + "IN UE", + "INU E", + "Ġ Anchor", + "ĠAn chor", + "ĠAnc hor", + "ĠAnch or", + "TR AN", + "TRA N", + "w oo", + "wo o", + "block quote", + "ĠN urse", + "ĠNurs e", + "ĠNur se", + "ĠC arp", + "ĠCar p", + "ĠCa rp", + "Ġrede em", + ". try", + ".t ry", + ".tr y", + "Ġ JP", + "ĠJ P", + "Ġ timestamps", + "Ġtimestamp s", + "Ġ?> \"><", + "Ġ?>\" ><", + "Ġ?>\"> <", + "Ġ REMOVE", + "ĠRE MOVE", + "ĠREM OVE", + "ĠStar bucks", + "Re ally", + "Real ly", + "Ġflo oded", + "Ġflood ed", + ". Callback", + ".C allback", + ".Call back", + "Drop Down", + "i pro", + "ip ro", + "Ġt ended", + "Ġten ded", + "Ġtend ed", + "l te", + "lt e", + "Ġproportion s", + "Ġproport ions", + "- te", + "-t e", + "ĠR ena", + "ĠRe na", + "ĠRen a", + "l icate", + "lic ate", + "li cate", + "lica te", + "for ces", + "force s", + "forc es", + ". extra", + ".ex tra", + ".ext ra", + ". authenticate", + ".auth enticate", + "в од", + "во д", + "¡ °", + "Ġfor ControlEvents", + "Ġ senha", + "Ġs enha", + "Ġsen ha", + "Ġk ein", + "Ġke in", + "Ġmin ist", + "Ġmi nist", + "Ġmini st", + "Ġ Preference", + "ĠP reference", + "ĠPre ference", + "ĠPref erence", + "ĠPrefer ence", + "ĠTele graph", + "Ñĥ п", + "str pos", + "Ġillness es", + "Ġp igs", + "Ġpi gs", + "Ġpig s", + "Ġget Intent", + "ĠgetInt ent", + "S ol", + "So l", + "Ġ ¡", + "Ġ ¡", + "( cpu", + "(c pu", + "(cp u", + "[ prop", + "[p rop", + "s creens", + "screen s", + "') ;?>", + "'); ?>", + "Ġ Acts", + "ĠA cts", + "ĠAct s", + "ĠAc ts", + "Ġstr dup", + "Ġa verages", + "Ġaverage s", + "Ġaver ages", + "a nal", + "an al", + "ana l", + "ĠCas ual", + "Group Box", + "ĠHand book", + "/ comments", + "/com ments", + "/comment s", + "Ġnumber ed", + "Ġnumb ered", + "Ġbroad casting", + "Ġbroadcast ing", + "çĽ ij", + ".native Element", + ". mu", + ".m u", + "Ġ updatedAt", + "Ġupdated At", + "ĠDoes n", + "ĠDoe sn", + ". AC", + ".A C", + ". coll", + ".c oll", + ".co ll", + ".col l", + "Ġrec order", + "Ġrecord er", + "_ sha", + "_s ha", + "_sh a", + "B g", + "b il", + "bi l", + "Ġbol ts", + "Ġbolt s", + "Ġ ç¬", + "Ġç ¬", + "Ġim posing", + "Ġimp osing", + "ĠInformation en", + "_ flashdata", + "_flash data", + "e conomic", + "ec onomic", + "R emark", + "Re mark", + "Rem ark", + "u cas", + "uc as", + "Ġ Officers", + "ĠOff icers", + "ĠOffice rs", + "ĠOfficer s", + "Ġ TER", + "ĠT ER", + "ĠTE R", + "W alk", + "Wal k", + "Wa lk", + "Ġmerc ado", + "_ generate", + "_g enerate", + "_gen erate", + "_gene rate", + "_gener ate", + "H Y", + "C alling", + "Call ing", + "Cal ling", + "s nap", + "sn ap", + "script Id", + ". operation", + ".op eration", + ".o peration", + ".oper ation", + "ĠFl ame", + "ĠFla me", + "ĠFlam e", + "l iness", + "li ness", + "line ss", + "lin ess", + "lines s", + "Ġr ented", + "Ġren ted", + "Ġrent ed", + "_ toggle", + "_t oggle", + "- changing", + "-ch anging", + "-chan ging", + "Ġ TY", + "ĠT Y", + "' util", + "'u til", + "E EP", + "EE P", + "Ġ graphql", + "Ġgraph ql", + "Ġ Uni", + "ĠU ni", + "ĠUn i", + "Ġim pulse", + "Ġimp ulse", + "Ġimpuls e", + ". Basic", + ".B asic", + "Ġenerg ies", + "Ġener gies", + "Ġenergie s", + "M ARY", + "MA RY", + "MAR Y", + "ĠMar cel", + "ĠMarc el", + "Ġm ortal", + "Ġmor tal", + "Ġmort al", + "Ġf res", + "Ġfr es", + "Ġfre s", + "m ens", + "me ns", + "men s", + "m otion", + "mo tion", + "mot ion", + "Ġs ampled", + "Ġsample d", + "Ġsam pled", + "Ġsamp led", + "âĢľ That", + "i day", + "id ay", + "ida y", + "qu ipment", + "quip ment", + "get Int", + "Ġ Absolute", + "ĠA bsolute", + "ĠAbs olute", + ", '\"", + ",' \"", + "u ned", + "un ed", + "une d", + ". share", + ".s hare", + ".sh are", + ".sha re", + "Ġ })(", + "Ġ} )(", + "Ġ}) (", + "m mm", + "mm m", + "ĠR ising", + "ĠRi sing", + "ĠRis ing", + "ä» »", + "Ġun employed", + "x fa", + "xf a", + ". follow", + ".f ollow", + "ĉ ĉĉĉĠĠĠĠĠĠ", + "ĉĉ ĉĉĠĠĠĠĠĠ", + "ĉĉĉĉ ĠĠĠĠĠĠ", + "ĉĉĉ ĉĠĠĠĠĠĠ", + "ĉĉĉĉĠ ĠĠĠĠĠ", + "ĉĉĉĉĠĠĠ ĠĠĠ", + "ĉĉĉĉĠĠ ĠĠĠĠ", + "ĉĉĉĉĠĠĠĠ ĠĠ", + "ĉĉĉĉĠĠĠĠĠ Ġ", + "s lt", + "sl t", + ". Phone", + ".P hone", + ".Ph one", + "Ġkn ives", + "Ġ eve", + "Ġe ve", + "Ġev e", + "on Click", + "] ))čĊ", + "]) )čĊ", + "])) čĊ", + "Ġ Witness", + "ĠW itness", + "ĠWit ness", + "ĉ NS", + "ĉN S", + "Ġ EOS", + "ĠE OS", + "ĠEO S", + "ĠSte fan", + "ĠStef an", + "ĠPr iest", + "ĠPri est", + "âĢĶ which", + "Get String", + ". By", + ".B y", + "Ġup stairs", + "Ġdetr iment", + "b roken", + "br oken", + "bro ken", + "em bro", + "emb ro", + "embr o", + "Ġnic otine", + "i lion", + "il ion", + "ili on", + "ilio n", + "Ġaston ishing", + "_ aff", + "_a ff", + "_af f", + "Ġ Lesson", + "ĠL esson", + "ĠLe sson", + "ĠLess on", + "ĠLes son", + "Ġacc idental", + "Ġaccident al", + "od or", + "odo r", + "Ġde cir", + "Ġdec ir", + "Ġnew Name", + "+ .", + "çĽ ¸", + "igs list", + "Ġ Github", + "ĠG ithub", + "ĠGit hub", + "Ġsuccess ive", + "Ġsuc cessive", + "r acial", + "ra cial", + "rac ial", + "raci al", + "Ġen viron", + "Ġenv iron", + "Ġenvi ron", + "éªĮ è¯ģ", + "Ġred irected", + "Ġredirect ed", + "T OTAL", + "TOT AL", + "Ġgrab bing", + "Ġgra bbing", + "ĠL ance", + "ĠLa nce", + "ĠLan ce", + "ĠLanc e", + "Ġfor fe", + "_ CB", + "_C B", + "å¾ ®", + "El apsed", + "_ way", + "_w ay", + "(Dialog Interface", + "_ measure", + "_me asure", + "_meas ure", + "x bb", + "xb b", + "D og", + "Do g", + "De part", + "Dep art", + "- src", + "-s rc", + "re solver", + "res olver", + "resolve r", + "with standing", + "_ shell", + "_s hell", + "_sh ell", + "Ġ LastName", + "ĠLast Name", + "ĠAv iation", + "Ġbeg inner", + "Ġbegin ner", + "(\" %.", + "(\"% .", + "( tool", + "(t ool", + "(to ol", + "Ġ нов", + "Ġн ов", + "Ġно в", + ": init", + ":i nit", + "( API", + "(A PI", + "(AP I", + "ĠMorris on", + "ĠMorr ison", + "vt Color", + "Ġsta ple", + "Ġstap le", + "/ INFO", + "Ġsuper natural", + "Ġsupern atural", + "Ġste ak", + "t imeline", + "time line", + "tim eline", + "zz le", + "\" `ĊĊ", + "\"`Ċ Ċ", + "\"` ĊĊ", + "Second ary", + "ĠNe pal", + "ĠNep al", + ". StringUtils", + ".String Utils", + "Ġ adam", + "Ġa dam", + "Ġad am", + "Ġada m", + "Ġ (...", + "Ġ( ...", + "Ġ(. ..", + "Ġsub stitution", + "Ġsubstit ution", + "Ġsubst itution", + "Ġ boarding", + "Ġbo arding", + "Ġboard ing", + "Ġ Keyword", + "ĠKey word", + "ĠAss ault", + "dbc Template", + "Ġ orderId", + "Ġorder Id", + "( engine", + "(e ngine", + ".assert That", + "ĠV enus", + "ĠVen us", + "Ġhom icide", + "Ġhomic ide", + "ĠA val", + "ĠAv al", + "ĠAva l", + "Ġg utter", + "Ġgut ter", + "Ġ Supported", + "ĠS upported", + "ĠSup ported", + "ĠSupport ed", + "/ part", + "/p art", + "Ġac claimed", + "Ġacclaim ed", + "H istor", + "Hi stor", + "His tor", + "Hist or", + "Ġm eses", + "Ġme ses", + "Ġmes es", + "ü ber", + "üb er", + "ĠRe new", + "ĠRen ew", + "ĠRene w", + "Ġg ras", + "Ġgr as", + "Ġgra s", + "Ġ Ek", + "ĠE k", + "Ġ infile", + "Ġin file", + "Ġinf ile", + "in dy", + "ind y", + ". music", + ".m usic", + ".mu sic", + ". Scroll", + ".S croll", + ".Sc roll", + "ĠA ges", + "ĠAg es", + "ĠAge s", + "ĠNar uto", + "ĠG ather", + "ĠGa ther", + "ĠGat her", + "Ġconfirm ing", + "= (\"", + "=( \"", + "Ġp itched", + "Ġpitch ed", + "Ġpit ched", + "o ley", + "ol ey", + "ole y", + "F rance", + "Fr ance", + "Fran ce", + "Fra nce", + "Franc e", + "+ '\"", + "+' \"", + "$ total", + "$t otal", + "Ġ onde", + "Ġo nde", + "Ġon de", + "Ġd itch", + "Ġdit ch", + "_ sigma", + "_s igma", + "_sig ma", + "Ġcontin uity", + "Ġcontinu ity", + "r eward", + "re ward", + "rew ard", + "- load", + "-l oad", + "-lo ad", + "Ġpro ceso", + "Ġproc eso", + "Ġproces o", + "L ocked", + "Loc ked", + "Lock ed", + "st aw", + "sta w", + "Ġsp inal", + "Ġspin al", + "Ġspi nal", + "l azy", + "la zy", + "laz y", + "! ==", + "!= =", + "j est", + "je st", + "jes t", + "Ġd un", + "Ġdu n", + "ĠRod gers", + "ĉ grid", + "ĉg rid", + "ĉgr id", + "Ġlo gos", + "Ġlog os", + "Ġlogo s", + "ĠBen gal", + "ĠBeng al", + ". super", + ".s uper", + ".sup er", + "Pro vides", + "Provid es", + "Provide s", + "Prov ides", + "Ġnut rient", + ". Timestamp", + ".T imestamp", + ".Time stamp", + "IZ ATION", + "åĨ Į", + "Ġf ats", + "Ġfa ts", + "Ġfat s", + "ĠX xx", + "c tica", + "ct ica", + "ctic a", + "Target s", + "Tar gets", + "Ġcont ours", + "Ġcontour s", + "Ġre ordered", + "Ġreorder ed", + ": Array", + ":A rray", + "Ġtoler ate", + "Ġtol erate", + "V ir", + "Vi r", + "Ġter ribly", + "Ġterr ibly", + "Ġb ricks", + "Ġbr icks", + "Ġbrick s", + "Ġbri cks", + "( &_", + "(& _", + "h b", + "P ortal", + "Port al", + "Por tal", + "ĠB read", + "ĠBr ead", + "ĠBre ad", + ". which", + ".wh ich", + "ÂŃ t", + "as InstanceOf", + "Ġj object", + "Ġjob ject", + "Ġjo bject", + "ĉ length", + "ĉl ength", + "ĉlen gth", + "_ MT", + "_M T", + "; \">čĊ", + ";\" >čĊ", + ";\"> čĊ", + "_ EXIST", + "_EX IST", + "Ġmat ernal", + "Ġma ternal", + "Ġmater nal", + "R EL", + "RE L", + "Ġê²½ ìļ°", + "h ee", + "he e", + "Ġ layouts", + "Ġlayout s", + "Ġlay outs", + "ĠL ap", + "ĠLa p", + "a isy", + "ai sy", + "ais y", + "Ġst umbled", + "Ġstumble d", + "ĠU IG", + "ĠUI G", + "ĠS co", + "ĠSc o", + "Ġim paired", + "Ġimp aired", + "Ġimpair ed", + "RES SED", + "RESS ED", + "Ġab uses", + "Ġabuse s", + "V F", + "A RB", + "AR B", + ". NAME", + ".N AME", + "r ch", + "rc h", + "pr imir", + "prim ir", + "pri mir", + "_ completed", + "_com pleted", + "_comp leted", + "_complete d", + "Ġp enny", + "Ġpen ny", + "Ġpenn y", + "Ch rome", + "Chr ome", + "( begin", + "(b egin", + "(be gin", + "er nen", + "ern en", + "erne n", + "- checkbox", + "-check box", + "Plain OldData", + "ĠL PC", + "ĠLP C", + "r ade", + "ra de", + "rad e", + "s pir", + "sp ir", + "spi r", + "Ġcon ceived", + "Ġconce ived", + "Ġconceive d", + "T ips", + "Tip s", + "Ti ps", + "ĠIo T", + "ĠG an", + "ĠGa n", + "èģ Ķ", + "Ġbi ases", + "Ġbias es", + "Ġconsult ants", + "Ġconsultant s", + "Ġconsulta nts", + "p led", + "pl ed", + "ple d", + "_ ht", + "_h t", + "associ ated", + "assoc iated", + "associate d", + "] ,ĊĊ", + "], ĊĊ", + "],Ċ Ċ", + "Ġdelight ful", + "ĠÑĤ ек", + "ĠÑĤе к", + "Hel vetica", + "( load", + "(l oad", + "(lo ad", + "- expand", + "-exp and", + "_W IDGET", + "t oa", + "to a", + "Ġ Akt", + "ĠA kt", + "ĠAk t", + "Ġo mn", + "Ġom n", + "Ġcl auses", + "Ġclause s", + "Ġcla uses", + "In tel", + "Int el", + "*/ }Ċ", + "_ registration", + "_reg istration", + "Ġold Value", + "Ġrest oring", + "Ġresto ring", + "Ġun real", + "Ġunre al", + "O VER", + "OVE R", + "OV ER", + "ĉĊ ĉĊĉĊ", + "ĉĊĉĊ ĉĊ", + "A TS", + "AT S", + "_ probe", + "_p robe", + "_pro be", + "_pr obe", + "_prob e", + "Ġdi visor", + "Ġdiv isor", + "Ġdivis or", + ".update Dynamic", + "å¹ ³", + "Produ ces", + "Prod uces", + "st amp", + "sta mp", + ".j boss", + "ĉ task", + "ĉt ask", + "! (:", + "!( :", + "Ġpsych ic", + "@ class", + "@c lass", + "M artin", + "Mar tin", + "Mart in", + "Ġ Passed", + "ĠP assed", + "ĠPass ed", + "ĠPas sed", + "clar ations", + "claration s", + "h el", + "he l", + "а Ñĩ", + "ĉ copy", + "ĉc opy", + "- bin", + "-b in", + "z an", + "za n", + "i gram", + "ig ram", + "igr am", + "া à¦", + "( sig", + "(s ig", + "(si g", + "ĠC aval", + "ĠCa val", + "ĠCav al", + "_ ##", + "Ġ %=", + "Ġ% =", + "out lined", + "outline d", + "ĠA cid", + "ĠAc id", + "Ġunpredict able", + "- dashboard", + "-d ashboard", + "Hex String", + "+ c", + ". Public", + ".P ublic", + "Ạ©", + "Ġcon veyor", + "Ġconvey or", + "Ġ EB", + "ĠE B", + "Ġselect s", + "Ġsel ects", + "Ġsele cts", + "Ġkn ocking", + "Ġknock ing", + "ĠC ec", + "ĠCe c", + "IB UTES", + "IBUT ES", + "IBUTE S", + "ow aÄĩ", + "owa Äĩ", + "g atsby", + "* v", + "ent ropy", + "entr opy", + "Ġdispatch ed", + "Ġdisp atched", + "Ġ camel", + "Ġc amel", + "Ġca mel", + "Ġcame l", + "Ġcam el", + "ĠSat urn", + "ĠSa turn", + "Ġover weight", + "( phone", + "(p hone", + "(ph one", + "par able", + "para ble", + "% B", + "_v ectors", + "_vector s", + "_vec tors", + "_vect ors", + "_ve ctors", + "Ġbr ewing", + "Ġbre wing", + "Ġbrew ing", + "Ġ Tk", + "ĠT k", + "Ġ Downloads", + "ĠDown loads", + "ĠDownload s", + "Ġ Saved", + "ĠS aved", + "ĠSave d", + "ĠSa ved", + "ĠSav ed", + ". Price", + ".P rice", + ".Pr ice", + "Ġc urved", + "Ġcur ved", + "Ġcurve d", + "ĠParent hood", + "ĠParen thood", + "è ¶", + ".p nl", + "plete ly", + "plet ely", + ". Day", + ".D ay", + "Ġadvert isers", + "Ġadvertis ers", + "Ġadvertise rs", + "Ġadvertiser s", + "Ġe jec", + "Ġej ec", + "Ġpr zed", + "Ġprz ed", + "Ġprze d", + "ë ¯", + "! ';Ċ", + "!' ;Ċ", + "ĠK ush", + "ĠKu sh", + "Ġ TAB", + "ĠT AB", + "ĠTA B", + "Ġ quests", + "Ġqu ests", + "Ġque sts", + "Ġquest s", + "Ġques ts", + "Ġcoinc idence", + "Ġcoincide nce", + "umm ies", + "ĠKash mir", + "ĠEth ics", + "ĠEthi cs", + "_ growth", + "_g rowth", + "Ġ aktiv", + "Ġak tiv", + "Ġakt iv", + "Ġgroup ing", + "Ġgrou ping", + "å¢ ŀ", + "_ truth", + "_tr uth", + "åIJ ¬", + "t odos", + "to dos", + "todo s", + "tod os", + "i set", + "is et", + "ise t", + "Tex Coord", + "ä tt", + "ät t", + "ĠZ ur", + "ĠZu r", + "ro ys", + "roy s", + "_M AGIC", + "_MAG IC", + "Ġbrew ery", + "( State", + "ĠSM ALL", + "ĠSMA LL", + "ĠPl ants", + "ĠPlan ts", + "ĠPlant s", + "ĠPla nts", + "it bart", + "e acher", + "each er", + "ea cher", + "ĠAd elaide", + "L u", + "Ġf ick", + "Ġfi ck", + "Ġfic k", + "und les", + "undle s", + "_ loaded", + "_lo aded", + "_load ed", + "и е", + "P oll", + "Pol l", + "Po ll", + "r itic", + "ri tic", + "rit ic", + "E LY", + "EL Y", + "Ġ +'", + "Ġ+ '", + "ĠProf ession", + "Ġst amps", + "Ġstamp s", + "Ġsta mps", + "ĠS ew", + "ĠSe w", + "s crollView", + "scroll View", + "Ġcomm unist", + "Ġcommun ist", + "/ problems", + "/pro blems", + "/problem s", + "} čĊčĊčĊčĊ", + "}čĊ čĊčĊčĊ", + "}čĊčĊ čĊčĊ", + "}čĊčĊčĊ čĊ", + ", o", + "Ġ udp", + "Ġu dp", + "Ġud p", + "Ġob ese", + "Ġobe se", + "ap prove", + "app rove", + "appro ve", + "anc ellation", + "ancel lation", + "ancell ation", + "_ Game", + "_G ame", + "Ġ Hashtable", + "ĠHash table", + "ĠHas htable", + "adaptive Styles", + "Ġposs esses", + "Ġpossess es", + ". matcher", + ".m atcher", + ".match er", + ".mat cher", + "function al", + "M rs", + "Mr s", + "ĉ save", + "ĉs ave", + "Ġ DbType", + "ĠDb Type", + "Ġ ken", + "Ġk en", + "Ġke n", + "get Context", + "Ġ mans", + "Ġm ans", + "Ġman s", + "Ġma ns", + "( rel", + "(r el", + "(re l", + "ĠBrother hood", + ") `Ċ", + ")` Ċ", + "è§ £", + ". Information", + ".In formation", + "OutOfRange Exception", + "ĠS ek", + "ĠSe k", + "C as", + "Ca s", + "Ġblog gers", + "Ġblogger s", + "E ither", + "( \"\"\"", + "(\" \"\"", + "(\"\" \"", + "Ġp inch", + "Ġpin ch", + "Ġco arse", + ") p", + "ĠP ulse", + "ĠPu lse", + "ĠPul se", + "Ġlearn t", + "Ġlear nt", + "Ġdent ist", + "Ġon change", + "Ġdirect ives", + "Ġdirective s", + "( actions", + "(a ctions", + "(action s", + "(act ions", + "ny der", + "ĠS hir", + "ĠSh ir", + "ĠShi r", + "T rait", + "Tr ait", + "Tra it", + "_ dep", + "_d ep", + "_de p", + "Ġ PET", + "ĠP ET", + "ĠPE T", + "Ġ REP", + "ĠR EP", + "ĠRE P", + ".App Settings", + "cu ador", + "ide nav", + "iden av", + "Ġen vi", + "Ġenv i", + "Ġsl ammed", + "Ġslam med", + "Ġ Shoot", + "ĠS hoot", + "ĠSh oot", + "ĠSho ot", + "Ġ dateFormat", + "Ġdate Format", + ".j oda", + "ve ys", + "vey s", + "Ġ ).ĊĊ", + "Ġ) .ĊĊ", + "Ġ). ĊĊ", + "Ġ).Ċ Ċ", + "Ġcar eg", + "Ġca reg", + "Ġcare g", + "Ġ Parallel", + "ĠPar allel", + "_ translation", + "_trans lation", + ". functions", + ".function s", + ".fun ctions", + ". obs", + ".o bs", + ".ob s", + "Runtime Exception", + "[ ]=", + "[] =", + "ov erview", + "over view", + "ĠS chl", + "ĠSc hl", + "ĠSch l", + "Ġno isy", + "Ġnoi sy", + "ĠOn PropertyChanged", + "S ending", + "Send ing", + "Sen ding", + "Ġunf amiliar", + "U pon", + "Up on", + "ĠPr ints", + "ĠPrint s", + "ĠPri nts", + ". typ", + ".t yp", + "Ġfle eing", + "Ġflee ing", + "ĉ move", + "ĉm ove", + "ĉmov e", + "( Un", + "(U n", + "Ġ qr", + "Ġq r", + "× ľ", + "_ beta", + "_b eta", + "_be ta", + "_bet a", + "Ġsk ies", + "Ġski es", + "ĉ me", + "ĉm e", + "W ND", + "WN D", + "Ġst ickers", + "Ġstick ers", + "Ġsticker s", + "b las", + "bl as", + "bla s", + "Ġins erts", + "Ġinsert s", + "Ġinser ts", + "Ġinse rts", + "Ġver ses", + "Ġvers es", + "Ġverse s", + "ĠD ew", + "ĠDe w", + "Ġt angible", + "Ġtang ible", + "Ġh echo", + "Ġhe cho", + "P OL", + "PO L", + "Ġte ardown", + "Ġtear down", + "om nia", + "I BE", + "IB E", + ". cover", + ".c over", + ".co ver", + "_ strategy", + "_str ategy", + "^ -", + "set Position", + "u ale", + "ual e", + "ua le", + "S igned", + "Sign ed", + "Sig ned", + "Ġ iface", + "Ġif ace", + "Ġi face", + "as eline", + "ase line", + "asel ine", + ".set Time", + "ĠMin eral", + "ĠMine ral", + "ĠMiner al", + "ĠF ighting", + "ĠFight ing", + "s kins", + "sk ins", + "ski ns", + "skin s", + "Ġdiscrim in", + "Ġd ansk", + "Ġdans k", + "Ġdan sk", + "ĠPr inceton", + "ĠPrince ton", + "ac ist", + "aci st", + "Ġ ());Ċ", + "Ġ( ));Ċ", + "Ġ() );Ċ", + "Ġ()) ;Ċ", + "tr acks", + "tra cks", + "track s", + "imon ial", + "a decimal", + "ad ecimal", + "ade cimal", + "EP ROM", + "ug gle", + "ugg le", + ". Notification", + ".Not ification", + "$ mail", + "$m ail", + "c antidad", + "cant idad", + "ĠJ ung", + "ĠJun g", + "ĠJu ng", + "Ġsee kers", + "Ġseek ers", + "Ġseeker s", + "Ġpl ausible", + "t ier", + "ti er", + "tie r", + "е ж", + "еР¶", + "Ġ rapper", + "Ġr apper", + "Ġrap per", + "Ġra pper", + "Ġrapp er", + "Ġ Mana", + "ĠM ana", + "ĠMan a", + "ĠMa na", + "ĠHttp StatusCode", + "ĠHttpStatus Code", + "Ġbur nt", + "Ġburn t", + "l oses", + "lo ses", + "lose s", + "los es", + "Ġ Foto", + "ĠF oto", + "ĠFo to", + "ĠFot o", + "Ġ JsonObject", + "ĠJson Object", + "In stagram", + "Inst agram", + "Ġ syscall", + "Ġsys call", + "Ġreal ities", + "ĠMAT LAB", + ":^ {Ċ", + "T ERM", + "TE RM", + "TER M", + "ĠC bd", + "Ġ Paragraph", + "ĠPar agraph", + "ĠPara graph", + "Ġtrav és", + "Ġconstruct ing", + "Ġs wal", + "Ġsw al", + "Ġp ige", + "Ġpi ge", + "Ġpig e", + "L LLL", + "LL LL", + "LLL L", + "- existing", + "-ex isting", + "G ets", + "Get s", + "Ge ts", + "Ġmel ted", + "Ġmelt ed", + "Ġmit igate", + "Ġmitig ate", + "H en", + "He n", + "Ġ hm", + "Ġh m", + "i mas", + "im as", + "ima s", + "Ġ Ao", + "ĠA o", + "ĠP erez", + "ĠPer ez", + "ĠPe rez", + "ĠPere z", + "Ġ DAL", + "ĠD AL", + "ĠDA L", + "Ġ ëĭ¤", + "Ġëĭ ¤", + "Ġdi vis", + "Ġdiv is", + "Storyboard Segue", + "Ġ Modify", + "ĠMod ify", + "ĠModi fy", + "ĠÃľ ber", + "_O VERRIDE", + ".p em", + ".pe m", + "un tos", + "unt os", + "unto s", + "Ġesp añ", + "Ġespa ñ", + "Ġ{ ?", + "Ġ PAY", + "ĠP AY", + "ĠPA Y", + "_ ipv", + "_i pv", + "_ip v", + "ĠF ury", + "ĠFu ry", + "ĠFur y", + "__ .__", + "__. __", + "e low", + "el ow", + "elo w", + "-c entered", + "-center ed", + "-cent ered", + "che cks", + "check s", + "_ Reg", + "_R eg", + "_Re g", + "-J avadoc", + "ĉ load", + "ĉl oad", + "ĠLike wise", + "ĠLik ewise", + "ا Ùħ", + "ا٠ħ", + "U NE", + "UN E", + ". sem", + ".s em", + ".se m", + "x cb", + "xc b", + "ĠC ave", + "ĠCa ve", + "ĠCav e", + "_ sleep", + "_s leep", + "Ġsil ently", + "Ġsilent ly", + "Ġ Extreme", + "ĠExt reme", + "ĠExtr eme", + ". ToUpper", + ".To Upper", + "ĉ CHECK", + "ĉC HECK", + "Ġ cue", + "Ġc ue", + "Ġcu e", + "ĠQ ByteArray", + "Ġcor rupted", + "Ġcorrupt ed", + "Ġ Dé", + "ĠD é", + "Ġim ped", + "Ġimp ed", + "Ġimpe d", + "Get Name", + "Ġinaccur ate", + "Ġs ober", + "Ġso ber", + "Ġsob er", + "е е", + "еРµ", + "Ġ barcode", + "Ġbar code", + "Ġba rcode", + "-- ){Ċ", + "--) {Ċ", + "in ki", + "ink i", + "Ġ ép", + "Ġé p", + "Ġd ri", + "Ġdr i", + "Ġ ALT", + "ĠA LT", + "ĠAL T", + "> >>>>>>>", + ">>>> >>>>", + ">>>>>>> >", + "on ta", + "ont a", + "[ L", + "Ġint eres", + "Ġinter es", + "Ġinte res", + "ver ting", + "vert ing", + "Ġd iagnostics", + "Ġdi agnostics", + "Ġdiagnostic s", + "p dev", + "pd ev", + "è ©", + "Ġ Integrated", + "ĠInt egrated", + "ĠIntegr ated", + ") .'", + "). '", + "_ gc", + "_g c", + "$ text", + "$t ext", + ". games", + ".g ames", + ".game s", + ".ga mes", + "ĠT erra", + "ĠTer ra", + "ĠTerr a", + "' Re", + "'R e", + ". transfer", + ".trans fer", + "_F IFO", + "get Model", + "Ġb land", + "Ġbl and", + "Ġbla nd", + "ĠCol eman", + "ĠCole man", + "Ġpr imes", + "Ġprim es", + "Ġprime s", + "Ġpri mes", + "Ġ æĪ", + "Ġæ Ī", + "Ġcross es", + "n k", + "G ING", + "GIN G", + "GI NG", + "Ġ '^", + "Ġ' ^", + "Ġ Blob", + "ĠB lob", + "ĠBl ob", + "ĠBlo b", + "Ġinter course", + "ĠBl vd", + "Ġweigh s", + "_ regular", + "_reg ular", + "ĠPer th", + "ĠPert h", + "Ġsepar ating", + "Ġseparat ing", + "Ġb illed", + "Ġbill ed", + "Ġbil led", + ".tab Control", + "Ġp uppet", + "Ġpup pet", + "Ġutil ization", + "Ġutiliz ation", + "Ġutiliza tion", + "Ġ âĸł", + "Ġâĸ ł", + "Ġsuc ces", + "Ġsucc es", + "Ġl amps", + "Ġla mps", + "Ġlamp s", + "Ġlam ps", + "_ proj", + "_p roj", + "_pro j", + "_pr oj", + "E ric", + "Er ic", + "Ġre novation", + "Ġren ovation", + "Ġrenov ation", + "ĠF amilies", + "ĠFam ilies", + "ĠFamil ies", + "ĠFamilie s", + "Ġ Bits", + "ĠB its", + "ĠBit s", + "ĠBi ts", + "part ials", + "partial s", + "- Men", + "-M en", + "s olution", + "sol ution", + "Ġd warf", + "Ġdw arf", + "Ġdwar f", + ". INTEGER", + ".IN TEGER", + "Ġ LOCK", + "ĠL OCK", + "ĠLO CK", + "ĠLOC K", + ". ct", + ".c t", + "Ġ excerpt", + "Ġex cerpt", + "Ġexcer pt", + "Ġ Pix", + "ĠP ix", + "ĠPi x", + "Ġ FirstName", + "ĠFirst Name", + "AN TED", + "ANT ED", + "ANTE D", + "ĠAd mir", + "- help", + "-h elp", + "-he lp", + "P rior", + "Pr ior", + "Pri or", + "Ġ Align", + "ĠAl ign", + "ĠAli gn", + ". INSTANCE", + ".IN STANCE", + "Line Edit", + "(' /:", + "('/ :", + "Ġ inet", + "Ġin et", + "Ġi net", + "Ġine t", + "od us", + "odu s", + ".p kl", + ".pk l", + "Ġ KY", + "ĠK Y", + "u pert", + "up ert", + "uper t", + "upe rt", + "Ġn erves", + "Ġnerv es", + "Ġnerve s", + "Ġner ves", + "_ gradient", + "_g radient", + "_grad ient", + "} ','", + "}' ,'", + "}', '", + "_un ref", + "Ġs aturated", + "Ġsatu rated", + "Ġsatur ated", + "Ġ Connected", + "ĠConnect ed", + "ĠConn ected", + "Ġ FN", + "ĠF N", + "EX IT", + "Ġtele port", + "Ġav ait", + "Ġava it", + "Page Route", + "Ġdivorce d", + "Ġdivor ced", + "( lang", + "(l ang", + "f st", + "fs t", + "ĠT yr", + "ĠTy r", + "Ġm essenger", + "Ġmess enger", + "i fstream", + "if stream", + "X S", + "ĠB anking", + "ĠBank ing", + "ĠBan king", + "Ġinfect ious", + "ĠM ons", + "ĠMon s", + "ĠMo ns", + "_ LOOP", + "_LO OP", + "Ġzur ück", + "Ġob tener", + "Ġobt ener", + "Ġobten er", + "/ repos", + "/re pos", + "V el", + "Ve l", + "a cro", + "ac ro", + "acr o", + "Ġ userRepository", + "Ġuser Repository", + "style Type", + "Ġ SRC", + "ĠS RC", + "ĠSR C", + "VML INUX", + "rec ursive", + "/ bar", + "/b ar", + "_ chip", + "_c hip", + "_ch ip", + "_chi p", + "o minated", + "om inated", + "omin ated", + "Ġ Nit", + "ĠN it", + "ĠNi t", + "âĢĶ to", + "ĠBudd h", + "ĠBud dh", + "о меÑĢ", + "ом еÑĢ", + "ĠM AG", + "ĠMA G", + "Ġ CHE", + "ĠC HE", + "ĠCH E", + "_ den", + "_d en", + "_de n", + ". raises", + ".r aises", + ".raise s", + ".ra ises", + "_ degree", + "_d egree", + "_de gree", + "_deg ree", + "Ġpump kin", + "_ templates", + "_t emplates", + "_template s", + "_temp lates", + "_tem plates", + "_ MEDIA", + "_M EDIA", + "_MED IA", + "Ġ Timeline", + "ĠT imeline", + "ĠTime line", + "ĠTim eline", + "Ġ bots", + "Ġb ots", + "Ġbo ts", + "Ġbot s", + "Object Type", + "Ġbu ys", + "Ġbuy s", + ". posts", + ".post s", + ".pos ts", + ".po sts", + "C AL", + "CA L", + "wa iting", + "wait ing", + "ĠDaniel s", + "ĠDani els", + "Ġd abei", + "Ġda bei", + "Ġdab ei", + "Ġ Sigma", + "ĠS igma", + "ĠSig ma", + "i lor", + "il or", + "ilo r", + "i gel", + "ig el", + "ige l", + ", W", + "A DS", + "AD S", + "( panel", + "(p anel", + "(pa nel", + "ì² ´", + "it ating", + "ita ting", + "itat ing", + ". palette", + ".p alette", + ".pa lette", + "Ġmos quito", + "Ġt ego", + "Ġte go", + "Ġteg o", + "( parseInt", + "(parse Int", + "Ġdes pués", + "p romise", + "pro mise", + "prom ise", + "Ġ wij", + "Ġw ij", + "Ġwi j", + "type script", + "types cript", + "Ġ Tv", + "ĠT v", + "_IDENT IFIER", + ") .ĊĊĊ", + "). ĊĊĊ", + ").ĊĊ Ċ", + ").Ċ ĊĊ", + "_ flat", + "_f lat", + "_fl at", + "it su", + "its u", + "U SR", + "US R", + "ex perience", + "- fit", + "-f it", + "-fi t", + "ph inx", + "phi nx", + "phin x", + "_ thresh", + "_th resh", + "_thr esh", + "Ġide ally", + "Ġideal ly", + "ĠFree man", + "ĠFre eman", + "ĠFreem an", + ", DB", + ",D B", + "_ rw", + "_r w", + "çŃ ī", + "U b", + "_ statistics", + "_stat istics", + "=\" \"><", + "=\"\" ><", + "=\"\"> <", + "Ġch ore", + "Ġcho re", + "Ġchor e", + "Ġy ork", + "Ġyo rk", + "inst alled", + "install ed", + "Add itionally", + "Additional ly", + "Ġp stmt", + "Ġpst mt", + "yl ko", + ": :Ċ", + ":: Ċ", + "F orest", + "For est", + "Fore st", + "Fo rest", + "Ġhead set", + "Ġheads et", + "Ġg allon", + "Ġgal lon", + "Ġgall on", + "ÑĢ ÐµÐ¼", + "ÑĢе м", + "Ġwithdraw n", + "Ġwithd rawn", + "Ġ Candidate", + "ĠC andidate", + "ĠCandid ate", + "Ġmel ting", + "Ġmelt ing", + "Ġfree zer", + "Ġfreeze r", + "Ġ hl", + "Ġh l", + "_ HELP", + "_HE LP", + "_HEL P", + "m ime", + "mi me", + "( /*", + "(/ *", + "Ġth irst", + "Ġthi rst", + "$ return", + "$r eturn", + "$ret urn", + "member of", + "е б", + "еР±", + "Ġ HttpServletRequest", + "ĠHttp ServletRequest", + "ĠHttpServlet Request", + "( ob", + "(o b", + "_ Result", + "_Res ult", + "Ġassert ed", + "Ġfulfill ing", + "Ġfulfil ling", + "Ġstretch es", + "Ġstret ches", + "par ated", + "pa rated", + "para ted", + "parate d", + "-f unded", + "Ġ åĽ", + "Ġå Ľ", + "in gles", + "ing les", + "ingle s", + "_ ca", + "_c a", + ". condition", + ".con dition", + ".cond ition", + "Ġ Displays", + "ĠDis plays", + "ĠDisplay s", + "ĠDisp lays", + "Ġ orang", + "Ġo rang", + "Ġor ang", + "Ġora ng", + "Ġoran g", + "Ġ CRE", + "ĠC RE", + "ĠCR E", + "Ġgl Bind", + "Ġ Selector", + "ĠSe lector", + "ĠSelect or", + "ĠSel ector", + "ĠSele ctor", + "/ type", + "/t ype", + "ĠAlex a", + "ĠAle xa", + "ched ules", + "chedule s", + "ĠPen insula", + "Ġ parity", + "Ġp arity", + "Ġpar ity", + "Ġpari ty", + "ĉ dest", + "ĉd est", + "ĉdes t", + "ĉde st", + "ĠDo ors", + "ĠDoor s", + "čĊ ĉčĊ", + "_ dimension", + "_d imension", + "_dim ension", + "Ġ aload", + "Ġa load", + "Ġal oad", + "Ġalo ad", + ".St oredProcedure", + "( paren", + "(p aren", + "(par en", + "(pa ren", + "ĠBur ke", + "ĠBurk e", + "' )]Ċ", + "') ]Ċ", + "')] Ċ", + "- engine", + "-e ngine", + "-eng ine", + "Ġ quir", + "Ġqu ir", + "Ġq uir", + "Ġqui r", + "ĠH ybrid", + "ĠHy brid", + "ĠD oe", + "ĠDo e", + "Ġout lines", + "Ġoutline s", + "ĠT rends", + "ĠTr ends", + "ĠTre nds", + "ĠTrend s", + "_ NV", + "_N V", + "per iments", + "periment s", + "peri ments", + "ĠH in", + "ĠHi n", + "? ',", + "?' ,", + "ĉ Text", + "ĉT ext", + "F UL", + "FU L", + "Ġsm ells", + "Ġsmell s", + "Ġ slick", + "Ġs lick", + "Ġsl ick", + "Ġslic k", + "Ġmis erable", + "Ġmiser able", + "ĠArray Adapter", + "Ġparam String", + "H om", + "Ho m", + "_l iterals", + "_literal s", + "_lit erals", + "us uarios", + "usuario s", + "usu arios", + "Ġprompt ing", + "_ lazy", + "_l azy", + "_la zy", + "Ġ Activation", + "ĠAct ivation", + "ĠActiv ation", + "_ oc", + "_o c", + "We ak", + "Ġan ecd", + "ĠU CLA", + "ĠUC LA", + "= re", + "=r e", + "iss ement", + "isse ment", + "ĠEsc orts", + "ĠEscort s", + "Ex cellent", + "Ġ Pause", + "ĠP ause", + "ĠPa use", + "Ġ repositories", + "Ġre positories", + "Ġrepos itories", + "T OR", + "TO R", + "ar iate", + "ari ate", + "aria te", + "ariat e", + "_ iso", + "_i so", + "_is o", + "up dates", + "update s", + "upd ates", + "ha lb", + "hal b", + "udi ante", + "udiant e", + "ë¡ Ŀ", + "Ġna ive", + "ĠP eg", + "ĠPe g", + "ĠL ounge", + "ĠLo unge", + "ĠLou nge", + "AR GIN", + "ARG IN", + "( bin", + "(b in", + "On ClickListener", + "OnClick Listener", + "Ġ FAILED", + "ĠFA ILED", + "ĠFAIL ED", + "Ġ lite", + "Ġl ite", + "Ġli te", + "Ġlit e", + "Ġd zie", + "Ġdz ie", + "Ġdzi e", + "Ġ Literal", + "ĠL iteral", + "ĠLiter al", + "ĠLit eral", + "ĠLite ral", + "i vor", + "iv or", + "ivo r", + "f cntl", + "fc ntl", + "fcn tl", + "Ġe ats", + "Ġeat s", + "Ġea ts", + "Ġ qed", + "Ġq ed", + "Un lock", + "r iding", + "ri ding", + "rid ing", + "und ai", + "unda i", + "= M", + "AT TER", + "ATT ER", + "Configure Await", + "ic ias", + "ici as", + "icia s", + "ust omed", + "ustom ed", + "usto med", + "Ġsuccess ion", + "Ġsuc cession", + "Ġsucc ession", + "end Time", + "ĠJ upiter", + "Ġj udging", + "Ġjud ging", + "d ration", + "dr ation", + "dra tion", + "_ docs", + "_d ocs", + "_doc s", + "_do cs", + ". mo", + ".m o", + "Ġeduc ators", + "Ġeducator s", + "ĠV ine", + "ĠVi ne", + "ĠVin e", + "C ond", + "Con d", + "Co nd", + "[ out", + "[o ut", + "q b", + "\\ Validator", + "Ġmean ings", + "Ġmeaning s", + "Ġpres ently", + "Ġpresent ly", + "Ġdiv iding", + "Ġdivid ing", + "otten ham", + "as cular", + "asc ular", + "Ġtrail ers", + "Ġtra ilers", + "Ġtrailer s", + "Ġtrai lers", + "Ġ CLOSE", + "ĠC LOSE", + "ĠCL OSE", + "а ми", + "ам и", + "âĢĻ ai", + "âĢĻa i", + "Ġ Gain", + "ĠG ain", + "ĠGa in", + "w or", + "wo r", + "Ġpl anner", + "Ġplan ner", + "Ġdistrib uting", + "v at", + "va t", + "mon ths", + "month s", + "mont hs", + "x label", + "xl abel", + "H F", + "V iol", + "Vi ol", + ".BASE LINE", + "еÑĤ ÑģÑı", + "Ġ Rotate", + "ĠR otate", + "ĠRot ate", + "Ġ txn", + "Ġt xn", + "Ġtx n", + ": bold", + ":b old", + "Ġb loss", + "Ġbl oss", + "Ġblo ss", + "Forg ery", + "Forge ry", + "( embed", + "(em bed", + "Ġj ako", + "Ġja ko", + "Ġjak o", + "s printf", + "the ir", + "Ġexhib its", + "Ġexhibit s", + "- static", + "-st atic", + "-stat ic", + "he cy", + "hec y", + "get ActiveSheet", + ". clients", + ".c lients", + ".client s", + ".cl ients", + ".cli ents", + "ãģ į", + "_ hide", + "_h ide", + "_hi de", + "_hid e", + "[ word", + "[w ord", + "C b", + "add Item", + "a xe", + "ax e", + "_ radio", + "_r adio", + "_rad io", + "_ra dio", + "_radi o", + "a lion", + "al ion", + "ali on", + "mod ifier", + "Ġsat uration", + "Ġsatu ration", + "Ġsatur ation", + "Ġde nom", + "Ġden om", + "_ pixels", + "_p ixels", + "_pixel s", + "_pix els", + "m ess", + "me ss", + "mes s", + "( fl", + "(f l", + "a tif", + "at if", + "ati f", + "Ġ secs", + "Ġs ecs", + "Ġse cs", + "Ġsec s", + "Ġpro stitution", + "Ġprostit ution", + "Ġprost itution", + "Ġprostitu tion", + "Ġprostitut ion", + "Ġgrand children", + "Ġparad ise", + "ĠF eld", + "ĠFe ld", + "ĠFel d", + "_B INARY", + "_BIN ARY", + "it ous", + "ito us", + "itou s", + "à ¹Ħ", + "๠Ħ", + "Ġfl ashing", + "Ġflash ing", + "-s ided", + "-side d", + "Ġcontrad iction", + "Ġcontradict ion", + "/ *ĊĊ", + "/* ĊĊ", + "/*Ċ Ċ", + "y label", + "yl abel", + "yla bel", + "ĠT et", + "ĠTe t", + "Ġadm ire", + "Ġadmir e", + "r eso", + "re so", + "res o", + "Ġl etz", + "Ġle tz", + "Ġlet z", + "Ġ SEARCH", + "ĠSE ARCH", + "s lots", + "sl ots", + "slot s", + "ĠRe wards", + "ĠRew ards", + "ĠReward s", + "ĠH og", + "ĠHo g", + "Ġ NSData", + "ĠNS Data", + "st ash", + "sta sh", + "F all", + "Fa ll", + "Fal l", + "ĠA mer", + "ĠAm er", + "Line arLayout", + "Linear Layout", + "/ photos", + "/photo s", + "/ph otos", + "Ġfe ather", + "Ġfeat her", + "Ġ |čĊ", + "Ġ| čĊ", + "Down loads", + "Download s", + ".Start sWith", + "Ġ //#", + "Ġ// #", + "Ġ/ /#", + "ine Transform", + "Ġaff id", + "Ġaf fid", + "V tbl", + "ĠR ogue", + "ĠRo gue", + "ĠRog ue", + "s cribed", + "scribe d", + "scri bed", + "Ġf auc", + "Ġfa uc", + "ĠMon roe", + "Ġdecl ares", + "Ġdeclar es", + "Ġdeclare s", + "mod ern", + "mode rn", + "r eon", + "re on", + "reo n", + "ay be", + "P ASS", + "PA SS", + "f ers", + "fer s", + "fe rs", + "_MULT I", + "_MUL TI", + "ĠMath ematics", + "ĠMathematic s", + "Ġsud ah", + "_ATT ACH", + "Ġnumber With", + "ĠSol omon", + "ĠSolo mon", + "j in", + "ji n", + "ograf ia", + "ogr afia", + "ö l", + "_ design", + "_d esign", + "_de sign", + "_des ign", + "c ulated", + "cul ated", + "culate d", + "cu lated", + "ĠL una", + "ĠLu na", + "ĠLun a", + "i esz", + "ies z", + "ie sz", + "Ġ =>'", + "Ġ= >'", + "Ġ=> '", + "Ġreve lations", + "Ġrevel ations", + "Ġrevelation s", + "A long", + "Al ong", + "( ed", + "(e d", + "Ġ Filename", + "ĠF ilename", + "ĠFile name", + "ĠFil ename", + "ĠFi lename", + "Ġ ylabel", + "Ġy label", + "S ecure", + "Sec ure", + "Ġbus ca", + "Ġbusc a", + "ag nosis", + "agn osis", + "_RE CE", + "_REC E", + "Ġover lapping", + "Ġoverlap ping", + "Ġoverl apping", + "Ex tent", + "Ext ent", + "Ġant icipation", + "Ġanticip ation", + "Ġantic ipation", + "Check s", + "Che cks", + "ĠAL SO", + "ĠALS O", + "o rc", + "or c", + "iling ual", + "it ational", + "itation al", + "itat ional", + "Ġadv ancement", + "Ġadvance ment", + "o uro", + "ou ro", + "our o", + "Ġ Predicate", + "ĠP redicate", + "ĠPred icate", + "å¾ Ĺ", + "e ria", + "er ia", + "eri a", + "ĠP ierce", + "ĠPi erce", + "ĠPier ce", + "o rio", + "or io", + "ori o", + "Ġmer its", + "Ġmerit s", + "Ġpe anut", + "Ġpea nut", + ". Package", + ".P ackage", + "ĠCon duct", + "ĠCond uct", + "_ SENSOR", + "_S ENSOR", + "_SENS OR", + "Ġbo iling", + "Ġboil ing", + "Ġin tra", + "Ġint ra", + "Ġintr a", + "Ġ IGN", + "ĠI GN", + "ĠIG N", + "ĠF ur", + "ĠFu r", + ". Refresh", + ".Re fresh", + ".Ref resh", + "Ġ Reach", + "ĠR each", + "ĠRe ach", + "_ decoder", + "_de coder", + "_dec oder", + "_decode r", + ". Exp", + ".Ex p", + ".E xp", + "Ġ ÑĤак", + "ĠÑĤ ак", + "ĠÑĤа к", + "p ill", + "pi ll", + ", Q", + "ĠGr ill", + "ĠGri ll", + "Ġp opping", + "Ġpop ping", + "Ġpo pping", + ". Ag", + ".A g", + "Ġpro yecto", + "Ġmile age", + "Ġec ological", + "Ġeco logical", + "] ]);Ċ", + "]] );Ċ", + "]]) ;Ċ", + "Ġ ÂŃ", + "Ġ Ń", + "sub plot", + "a cad", + "ac ad", + "aca d", + "Ġ Trying", + "ĠT rying", + "ĠTr ying", + "ĠTry ing", + "rec ipes", + "recipe s", + "$ criteria", + "$c riteria", + "ĠPer sian", + "ĠPers ian", + "- bound", + "-b ound", + "-bo und", + "M ASK", + "MA SK", + "MAS K", + "Ġ Gesture", + "ĠG esture", + "ĠGes ture", + "ĠGest ure", + "Ġ kk", + "Ġk k", + "ĠP VC", + "ĠPV C", + "Ġpro hibition", + "Ġprohib ition", + "Ġprohibit ion", + "Ġcom ando", + "Ġco mando", + "Ġcoma ndo", + "Ġ LOOK", + "ĠL OOK", + "ĠLO OK", + "Sh opping", + "Shop ping", + "Ġdist ortion", + "Ġdistort ion", + "< Boolean", + ".Get Length", + "um pt", + "ump t", + "\\ Product", + "ell ery", + "elle ry", + "eller y", + "Ġfire wall", + "form atted", + "format ted", + ". redis", + ".re dis", + ".r edis", + ".red is", + "Ġ esa", + "Ġe sa", + "Ġes a", + "ĠRh ode", + "S om", + "So m", + ". non", + ".n on", + ".no n", + "Ġ ').", + "Ġ' ).", + "Ġ') .", + "Ġ getView", + "Ġget View", + "ạ n", + "p rus", + "pr us", + "Mat thew", + "Ġs ia", + "Ġsi a", + "ĠF ors", + "ĠFor s", + "ĠFo rs", + "G PU", + "GP U", + "ient ras", + "ien tras", + "_ INST", + "_IN ST", + "_I NST", + "_INS T", + "Ġo larak", + "Ġol arak", + "Ġola rak", + "Ġimport ing", + "Ġimp orting", + "T CP", + "TC P", + "/ \");Ċ", + "/\" );Ċ", + "/\") ;Ċ", + "e ither", + "ei ther", + "Ġfresh ly", + "c ascade", + "cas cade", + "( character", + "(char acter", + "ĠJe ep", + "o tics", + "ot ics", + "otic s", + "oti cs", + "_ UTIL", + "_UT IL", + ".Xtra Printing", + ".first Child", + "ĠEx cell", + "ĠExcel l", + "ĠExc ell", + "Ġd vd", + "Ġdv d", + "Ġt aller", + "Ġtal ler", + "Ġta ller", + "Ġtall er", + "Ġ ras", + "Ġr as", + "Ġra s", + "y pass", + "yp ass", + "Ġassign s", + "Ġgr iev", + "Ġgri ev", + "- more", + "-m ore", + "J D", + "ĠBur ns", + "ĠBurn s", + "' >čĊ", + "'> čĊ", + ". Dependency", + ".D ependency", + ".Dep endency", + ". QueryString", + ".Query String", + ". Owner", + ".O wner", + "Ġ expiry", + "Ġex piry", + "Ġexp iry", + "T hu", + "Th u", + "( Vec", + "(V ec", + "Ġhazard ous", + "Ġ rpm", + "Ġr pm", + "Ġrp m", + "AP ON", + "APO N", + "Ġadd Target", + "s ville", + "sv ille", + "p Net", + "Ġ Img", + "ĠI mg", + "ĠIm g", + "Ġ TIMER", + "ĠT IMER", + "ĠTIM ER", + "ĠTIME R", + "ĠTI MER", + ". Animation", + ".An imation", + "Ġ bek", + "Ġb ek", + "Ġbe k", + "Ġas sort", + "Ġass ort", + "Ġle bih", + "Ġbody Parser", + "Ġvibr ating", + "Ġvib rating", + "I DL", + "ID L", + "Ġbutter knife", + "in ters", + "int ers", + "inter s", + "inte rs", + "Ġpersu ade", + "ĠLGBT Q", + "è ĭ", + ". soft", + ".s oft", + ".so ft", + "Ġbe ams", + "Ġbeam s", + "_ sur", + "_s ur", + "_su r", + ". Def", + ".D ef", + ".De f", + "Ġ labs", + "Ġl abs", + "Ġla bs", + "Ġlab s", + "ĉ plt", + "ĉp lt", + "ĉpl t", + "Ġ skins", + "Ġs kins", + "Ġsk ins", + "Ġskin s", + "Ġski ns", + "Ġtransfer ring", + "Ġtransf erring", + "Ġimag inary", + "Ġimagin ary", + "_ End", + "_E nd", + "; background", + "Ġ laps", + "Ġl aps", + "Ġla ps", + "Ġlap s", + "_ COMMENT", + "_COM MENT", + "_COMM ENT", + "( SDL", + "(S DL", + "o nds", + "on ds", + "ond s", + ". Record", + ".Re cord", + ".Rec ord", + "ĠIm plements", + "ĠImp lements", + "ĠImplement s", + "ĠImpl ements", + "_ ticks", + "_t icks", + "_tick s", + "_ti cks", + "( )))ĊĊ", + "() ))ĊĊ", + "()) )ĊĊ", + "())) ĊĊ", + "()))Ċ Ċ", + "Ġa rose", + "Ġar ose", + "] ?", + "Ġ Mp", + "ĠM p", + "ĠI Command", + "Ġsculpt ure", + "Ġcon tracted", + "Ġcontract ed", + "Ġcontr acted", + "< HTML", + "Ġcal end", + "a ty", + "at y", + "/ Sub", + "/S ub", + "Ġkv inn", + "Ġkvin n", + "_ IGNORE", + "ĠSh ane", + "ĠSha ne", + "ĠShan e", + "M LS", + "ML S", + "Ġstim ulate", + "Part ition", + "Ġ mun", + "Ġm un", + "Ġmu n", + "ó m", + "er ala", + "era la", + "eral a", + "- account", + "-a ccount", + "-ac count", + ". Binary", + ".B inary", + "c é", + "Ġse ize", + "Ġseiz e", + "Ġsei ze", + "conn ections", + "connect ions", + "connection s", + "Ġ ĊĠĠĠĠĠĠĠĠĊ", + "ĠĊ ĠĠĠĠĠĠĠĠĊ", + "Ġ Diagnostic", + "ĠDi agnostic", + "V ISIBLE", + "VIS IBLE", + "Ġ Runs", + "ĠR uns", + "ĠRun s", + "ĠRu ns", + "Ġim pressions", + "Ġimpress ions", + "Ġimpression s", + "Ġimpr essions", + "s uite", + "su ite", + "suit e", + "o ble", + "ob le", + "obl e", + "~ -", + "ak ukan", + "aku kan", + "< Person", + "

\">\" >\"> \">< /", + "_ indexes", + "_index es", + "Ġ valuation", + "Ġval uation", + "Ġvalu ation", + "Ġlife long", + "Ġlif elong", + "Ġexp edition", + "Ġexped ition", + "( Yii", + "(Y ii", + "Ġp ains", + "Ġpain s", + "Ġpa ins", + "Ġpai ns", + "Ġ PRI", + "ĠP RI", + "ĠPR I", + "Ġ Mixed", + "ĠM ixed", + "ĠMix ed", + "ĠMi xed", + "Ġ Changing", + "ĠCh anging", + "ĠChan ging", + "ĠChang ing", + "German y", + "Ger many", + "comm unication", + "communic ation", + ". organ", + ".org an", + ".o rgan", + ".or gan", + "ĠMar athon", + "ĠMara thon", + "get Path", + "Ġ Accuracy", + "ĠAc curacy", + "ĠAcc uracy", + "Ġ Globals", + "ĠG lobals", + "ĠGlobal s", + "ĠGlob als", + "') }}'", + "Ġ'\" >'", + "Ġ'\"> '", + "k inson", + "kin son", + "kins on", + "Ġ кол", + "Ġк ол", + "Ġко л", + "ogn itive", + "_ li", + "_l i", + "Ġim minent", + "Ġimm inent", + "Ġaff inity", + "Ġaf finity", + ". signal", + ".s ignal", + ".sign al", + ".sig nal", + "Ġn otch", + "Ġnot ch", + "ĠSteel ers", + "ĠSteele rs", + "max length", + "K K", + "ĠEu gene", + "ĠEug ene", + "_ PWM", + "_P WM", + "_PW M", + "r oi", + "ro i", + "Ġ âĹı", + "Ġâ Ĺı", + "ĠâĹ ı", + "ĠH amburg", + "ĠHam burg", + ". Must", + ".M ust", + "Ġ axe", + "Ġa xe", + "Ġax e", + "en ef", + "ene f", + "Ġamb itions", + "Ġambit ions", + "Ġambition s", + "Ġ Species", + "ĠS pecies", + "ĠSp ecies", + "ĠSpec ies", + "ĠSpe cies", + "ĠSt ress", + "ĠStr ess", + "ĠStre ss", + "Ġa while", + "Ġ бÑĥд", + "Ġб Ñĥд", + "ĠбÑĥ д", + "Ġwith stand", + "Ġ Decoder", + "ĠDe coder", + "ĠDec oder", + "ĠDecode r", + "_ inventory", + "_in ventory", + "Ġ{ ččĊ", + "Ġ tgt", + "Ġt gt", + "Ġtg t", + "Ġrail road", + "W ASHINGTON", + "Ġnegot iated", + "Ġnegotiate d", + "N ST", + "NS T", + "- phone", + "-p hone", + "-ph one", + ", U", + "Ġexerc ising", + "á» ¥", + "_P IXEL", + "_PIX EL", + "av ors", + "avor s", + "avo rs", + "ite rated", + "iter ated", + "iterate d", + "Ġv ampire", + "Ġvamp ire", + "a dal", + "ad al", + "ada l", + "In grese", + "Ing rese", + "Ġ ung", + "Ġu ng", + "Ġun g", + "j ective", + "ject ive", + ". cells", + ".c ells", + ".cell s", + "Ġ nano", + "Ġn ano", + "Ġna no", + "Ġnan o", + "Ġ markdown", + "Ġmark down", + "_ RULE", + "_R ULE", + "( events", + "(e vents", + "(event s", + "(ev ents", + "Ġl uggage", + "Ġlug gage", + "M ESSAGE", + "MESS AGE", + "ig keit", + "$ count", + "$c ount", + "Attribute Name", + "IG INAL", + "IGIN AL", + "_ Ent", + "_E nt", + "Ġ BF", + "ĠB F", + "Ġ COMMENT", + "ĠCOM MENT", + "ĠCOMM ENT", + "_ ini", + "_in i", + "_i ni", + "ĠEurope ans", + "ĠEuropean s", + "ĠB elle", + "ĠBe lle", + "ĠBel le", + "ĠBell e", + "åij ½", + ") ['", + ")[ '", + "åº Ķ", + "ĠUs eful", + "ĠUse ful", + ". reference", + ".re ference", + ".ref erence", + "( )\",", + "() \",", + "()\" ,", + "_ grade", + "_g rade", + "_gr ade", + "_grad e", + "ĠK aw", + "ĠKa w", + "Ġsent encing", + "Ġsocial ism", + "mon ster", + "mons ter", + "_L AYER", + "Ġdeep est", + "Ġdee pest", + "w k", + "Ġ Noise", + "ĠN oise", + "ĠNo ise", + "# ##ĊĊ", + "## #ĊĊ", + "### ĊĊ", + "###Ċ Ċ", + "Ġpr éc", + "Ġpré c", + "o tle", + "ot le", + "ÑĤ е", + "a uf", + "au f", + "i bal", + "ib al", + "iba l", + "Ġcon quer", + "Ġconqu er", + "> Email", + ">E mail", + "Ġamb ulance", + "O AD", + "OA D", + "Ġ (\"%", + "Ġ( \"%", + "Ġ(\" %", + "Ġ FI", + "ĠF I", + ". fixture", + ".f ixture", + ".fix ture", + "Ġt erse", + "Ġter se", + "Ġters e", + "ĠĠ ĠĠĉĉĉĉ", + "ĠĠĠĠ ĉĉĉĉ", + "ĠĠĠ Ġĉĉĉĉ", + "ĠĠĠĠĉ ĉĉĉ", + "ĠĠĠĠĉĉ ĉĉ", + "ĠĠĠĠĉĉĉ ĉ", + "Ġsanct uary", + "u gi", + "ug i", + "Ġ Comparator", + "ĠCom parator", + "ĠCompar ator", + "Definition s", + "Ġast hma", + "Ġl act", + "Ġla ct", + "Ġlac t", + "Ġhard wood", + ". clock", + ".c lock", + ".cl ock", + "Ġattr acting", + "Ġattract ing", + "ĠM our", + "ĠMo ur", + "ĠMou r", + "( distance", + "(d istance", + "(dist ance", + "(di stance", + "ic its", + "ici ts", + "icit s", + "Ġb onne", + "Ġbon ne", + "Ġ ACCESS", + "ĠAC CESS", + "ĠACC ESS", + ".Deserialize Object", + "Ġ Typed", + "ĠT yped", + "ĠType d", + "ĠTy ped", + "ĠTyp ed", + "Ġj eu", + "Ġje u", + "Ġ appId", + "Ġapp Id", + "ĠC lara", + "ĠCl ara", + "ĠClar a", + "ĠCla ra", + "Ġ HF", + "ĠH F", + "ĠRe ich", + "ĠRei ch", + "ip ples", + "ipp les", + "ipple s", + "// --------------------------------------------------------------------------------", + "//---------------------------------------------------------------- ----------------", + "//---------------------------------------------------------------------------- ----", + "//------------------------------------------------ --------------------------------", + "//-------------------------------- ------------------------------------------------", + "//---------------- ----------------------------------------------------------------", + "_ delivery", + "_d elivery", + "_del ivery", + "erial ization", + "Ġplaint iffs", + "Ġplaintiff s", + "S cient", + "Sc ient", + "Sci ent", + "sh opping", + "shop ping", + "Ġ Dummy", + "ĠD ummy", + "ĠDum my", + "ĠW ald", + "ĠWal d", + "ĠWa ld", + "Group Name", + "Ġ inscription", + "Ġin scription", + "Ġins cription", + "e log", + "el og", + "elo g", + ": :::::::", + ":: ::::::", + ":::: ::::", + ":::::: ::", + "::: :::::", + "::::: :::", + "::::::: :", + "_ ld", + "_l d", + "Back Pressed", + ". Raw", + ".R aw", + "ĠOn Trigger", + "Ġmuseum s", + "Ġmuse ums", + "Ġ Been", + "ĠB een", + "ĠBe en", + "ĠBee n", + "ĠAdvent ures", + "ĠAdventure s", + "Ġs late", + "Ġsl ate", + "Ġsla te", + "Ġ lett", + "Ġl ett", + "Ġle tt", + "Ġlet t", + "Ġs und", + "Ġsu nd", + "Ġsun d", + "ĠG in", + "ĠGi n", + "ĠMechan ical", + "ĠMech anical", + ". ship", + ".s hip", + ".sh ip", + "App Component", + "Ġdest ined", + "Ġdestin ed", + "Ġdw elling", + "Ġdwell ing", + "Pro filer", + "Profile r", + "Prof iler", + "Pre pare", + "ze ich", + "Ġsil icon", + "( has", + "(h as", + "Ġ# %", + "V IDEO", + "VID EO", + "Ġcollabor ate", + "L in", + "Li n", + "Ġ scopes", + "Ġsc opes", + "Ġscope s", + "Ġsco pes", + "Ġscop es", + "( className", + "(class Name", + "( sd", + "(s d", + "an din", + "and in", + "andi n", + ". ham", + ".h am", + "Service Impl", + "-de scribed", + "-des cribed", + "Ġir ony", + "Ġiron y", + "st ial", + "sti al", + "ĠHu awei", + "( repo", + "(re po", + "(rep o", + "Ġunexpected ly", + "ĠK ai", + "ĠKa i", + ". install", + ".inst all", + "\\ xf", + "\\x f", + "Ġex hibited", + "Ġexhib ited", + "Ġexhibit ed", + "_ TCP", + "_T CP", + "_TC P", + "ĠO x", + "_ CHO", + "_C HO", + "_CH O", + "Ġprostitu erte", + "Ġprostituer te", + "Ġ vä", + "Ġv ä", + "Ġs ito", + "Ġsit o", + "Ġsi to", + "Ġconstitu ents", + "Ġconstituent s", + "ĠContinue d", + "ĠContin ued", + "Ġ SAVE", + "ĠS AVE", + "ĠSA VE", + "r ss", + "rs s", + "/ message", + "/m essage", + "u bes", + "ub es", + "ube s", + "Ġmisd emean", + "Ġtax ation", + "Ġtaxa tion", + "Ġstory line", + "h air", + "ha ir", + "hai r", + "ĠF inds", + "ĠFin ds", + "ĠFind s", + "ĠFi nds", + "S IG", + "SI G", + "ver ification", + "~ =", + ". hp", + ".h p", + "It erable", + "Iter able", + "Ñĭ е", + "at ori", + "ator i", + "ato ri", + "Ġ ctr", + "Ġc tr", + "Ġct r", + "R x", + "_ );ĊĊ", + "_);Ċ Ċ", + "_) ;ĊĊ", + "d ag", + "da g", + ". pin", + ".p in", + ".pi n", + "Ġp seud", + "Ġin vo", + "Ġinv o", + "Ñģ ÑĤÑĢ", + "ÑģÑĤ ÑĢ", + "_ pix", + "_p ix", + "_pi x", + "为 空", + "Ġsw orn", + "Ġswo rn", + "âĢĶ or", + "_ registry", + "_reg istry", + "Ġdis asters", + "Ġdisaster s", + "Ġ ROI", + "ĠR OI", + "ĠRO I", + "Ġ âĢķ", + "ĠâĢ ķ", + "ak tu", + "akt u", + "f orest", + "fo rest", + "fore st", + "for est", + "be iten", + "beit en", + "bei ten", + "âĢĶ I", + "u eva", + "ue va", + "e gt", + "eg t", + "Ġsp ikes", + "Ġspi kes", + "Ġspike s", + "U RES", + "UR ES", + "URE S", + "Ġ Recommended", + "ĠRe commended", + "ĠRecomm ended", + "ĠRecommend ed", + "Ġexplo ited", + "Ġexploit ed", + "ĠFreder ick", + "_ COMPLETE", + "_COMP LETE", + "ĠDr ugs", + "ĠDrug s", + "!!! !!!!!", + "!!!! !!!!", + "!!!!! !!!", + "ĠR iv", + "ĠRi v", + "S TOP", + "ST OP", + "R OOM", + "RO OM", + "Ġ PASSWORD", + "ĠP ASSWORD", + "ĠPASS WORD", + "C ookies", + "Co okies", + "Cookie s", + "Cook ies", + ". El", + ".E l", + "á» Ń", + "ĠB ert", + "ĠBe rt", + "ĠBer t", + "Ġ hashed", + "Ġh ashed", + "Ġhas hed", + "Ġhash ed", + "Ġha shed", + "ic ester", + "ice ster", + "ices ter", + "Ġdecor ator", + "Ġ queryString", + "Ġquery String", + ": ;Ċ", + "Ġ\" [\"", + "Ġ\"[ \"", + "ot ope", + "oto pe", + "- Americ", + "-A meric", + "-Am eric", + "ĠMatthew s", + "ĠMatth ews", + "U RAL", + "UR AL", + "URA L", + "âĢľ ,", + "S ummer", + "Sum mer", + "f os", + "fo s", + "_CONT AINER", + "_ ACK", + "_A CK", + "_AC K", + "Ġ filtr", + "Ġf iltr", + "Ġfil tr", + "Ġfi ltr", + "Ġfilt r", + "_ disp", + "_d isp", + "_dis p", + "_di sp", + "_ Re", + "_R e", + "Ġfac ile", + "Ġfacil e", + "а ÑĪ", + "Ġìķ Ĭ", + "Ġe ben", + "Ġeb en", + "Ġsp rink", + "Ġspr ink", + "ĠQ uint", + "ĠQu int", + "ĠQui nt", + "> V", + "Ġhistor ians", + "Ġhistorian s", + "Ġhistoria ns", + "Ġhisto rians", + "our met", + "Ġ Monitoring", + "ĠMonitor ing", + "led ger", + "ledge r", + "c ott", + "co tt", + "cot t", + "Ġ ware", + "Ġw are", + "Ġwar e", + "Ġwa re", + "G GLE", + "GG LE", + "c ars", + "ca rs", + "car s", + "ĠM EDIATEK", + "Ġvol upt", + "_ View", + "_V iew", + "H EL", + "HE L", + "( copy", + "(c opy", + "(co py", + "( stats", + "(st ats", + "(stat s", + "Ġch romosome", + "Ġchrom osome", + "ĠCurt is", + "- conf", + "-con f", + "-co nf", + "( asset", + "(as set", + "Ġh vor", + "Ġhv or", + "File System", + "< >();čĊ", + "<>( );čĊ", + "<> ();čĊ", + "o coder", + "oc oder", + "oco der", + "ocode r", + "ĠC annon", + "ĠCan non", + "ĠCann on", + ") x", + "Ġ Smooth", + "ĠSm ooth", + "ĠS AS", + "ĠSA S", + "_ ce", + "_c e", + "ĉ prev", + "ĉp rev", + "ĉpr ev", + "ĉpre v", + "_ movie", + "_m ovie", + "_mov ie", + "_mo vie", + "E c", + "_ wall", + "_w all", + "< Button", + ".ĊĊ", + "/> .ĊĊ", + "/>.Ċ Ċ", + "/>. ĊĊ", + "o genesis", + "ogen esis", + "ogene sis", + "Ġ OPTIONS", + "ĠOPTION S", + "ĠOPT IONS", + "up tools", + "upt ools", + "Ġmilit ant", + "Ġmil itant", + "Ġmili tant", + "Ġex ited", + "Ġexit ed", + "i gar", + "ig ar", + "iga r", + "Ġ COMM", + "ĠCO MM", + "ĠCOM M", + "Ġ Disposable", + "ĠD isposable", + "ĠDis posable", + "ay cast", + "Ġrow span", + "Ġrows pan", + "Ġsyn thes", + "Ġsynth es", + "Ġsynt hes", + "Ġso ndern", + "Ġsond ern", + "Ġ Ċ", + "]- ->Ċ", + "ĠJ acket", + "ĠJack et", + "ĠJac ket", + "ĠJa cket", + "R ATION", + "RA TION", + ".get SelectedItem", + ".getSelected Item", + "- init", + "-in it", + "-i nit", + "Ġ Registers", + "ĠReg isters", + "ĠRegister s", + "_ sep", + "_s ep", + "_se p", + "Ġ Toolkit", + "ĠTool kit", + ". dict", + ".d ict", + ".di ct", + "Ġ xlabel", + "Ġx label", + "Ġxl abel", + "\\ Table", + "t oc", + "to c", + "_ combo", + "_c ombo", + "_com bo", + "_comb o", + "Ġ Compact", + "ĠComp act", + "Ġr ugged", + "Ġrug ged", + "à¥ĩ à¤", + "- management", + "-man agement", + "') }}\">Ċ", + "')}} \">Ċ", + "')}}\" >Ċ", + "')} }\">Ċ", + "')}}\"> Ċ", + "Ġ Stamp", + "ĠSt amp", + "ĠSta mp", + "ĠStam p", + "ı l", + "r ox", + "ro x", + "Ġlandscape s", + "Ġlandsc apes", + "_ NOTE", + "_N OTE", + "_NO TE", + "_NOT E", + "mon ary", + "c ab", + "ca b", + "Ġmo et", + "x af", + "xa f", + "r code", + "rc ode", + "- cli", + "-c li", + "-cl i", + "_ gate", + "_g ate", + "[ event", + "[e vent", + "S PORT", + "SP ORT", + "g ia", + "gi a", + "Ġ SUPER", + "ĠS UPER", + "ĠSU PER", + "ĠSUP ER", + "/ Login", + "_ shutdown", + "_sh utdown", + "int errupt", + "inter rupt", + "Ġpret ending", + "Ġpretend ing", + "Ġf ringe", + "Ġfr inge", + "Ġfri nge", + "ĠR eds", + "ĠRe ds", + "ĠRed s", + "Ġ CUDA", + "ĠC UDA", + "ĠCU DA", + "Ġ UNIX", + "ĠUN IX", + "v it", + "vi t", + "Ġ brig", + "Ġb rig", + "Ġbr ig", + "Ġbri g", + "d rv", + "dr v", + "Ġ Connector", + "ĠConnect or", + "ĠConn ector", + "There fore", + "Ġ lia", + "Ġl ia", + "Ġli a", + "D etection", + "De tection", + "Det ection", + "Detect ion", + "_ actor", + "_a ctor", + "_ac tor", + "_act or", + "Ġtemp file", + "Ġecc entric", + "- role", + "-r ole", + "-ro le", + "Ġp adx", + "Ġpa dx", + "Ġpad x", + "d ent", + "de nt", + "den t", + "West ern", + "Ġ ê·¸", + "Ġê ·¸", + "Ġê· ¸", + "ĠApplication Record", + "Ġcampaign ing", + "_ runner", + "_r unner", + "_run ner", + "ĠC ivic", + "ĠCi vic", + "ĠCiv ic", + "a leigh", + "ale igh", + "Ġdir ekt", + "Ġdire kt", + ".s ul", + "Ġ Ġĉĉĉ", + "ĠĠ ĉĉĉ", + "ĠĠĉ ĉĉ", + "ĠĠĉĉ ĉ", + "a nten", + "an ten", + "ant en", + "ante n", + "Ġ issuer", + "Ġiss uer", + "Ġissue r", + "Ġissu er", + "Ġassert ions", + "Ġassertion s", + "( orig", + "(o rig", + "(or ig", + "AT IO", + "Ġle aned", + "Ġlean ed", + "ä s", + ". DTO", + ".D TO", + "ex plode", + "expl ode", + "explo de", + ". Observable", + ".O bservable", + "Ġstagger ing", + "Ġkidn apped", + "Ġprogram mers", + "Ġprogramme rs", + "Ġprogrammer s", + "Ġprogramm ers", + "ĠIn nov", + "ĠInn ov", + ". parameter", + ".param eter", + "Ġd omination", + "Ġdo mination", + "Ġdom ination", + "Ġdomin ation", + "Ġdomina tion", + "Ġske ptic", + "Ġskept ic", + "Ġ æĺ¯", + "Ġæĺ ¯", + "Ġav oids", + "Ġavoid s", + ". Verify", + ".Ver ify", + "ub by", + "ubb y", + "Ġ ASN", + "ĠA SN", + "ĠAS N", + "Ġform ato", + "Ġformat o", + "Ġforma to", + "ĠBeat les", + "_ brand", + "_b rand", + "_br and", + "Ġin set", + "Ġins et", + "Ġinse t", + "y outu", + "you tu", + "Ġ toc", + "Ġt oc", + "Ġto c", + "- final", + "-f inal", + "-fi nal", + "-fin al", + "Sh owing", + "Show ing", + "ĠD oub", + "ĠDo ub", + "ĠDou b", + "ĠM esa", + "ĠMe sa", + "ĠMes a", + "A dj", + "Ad j", + "_ medium", + "_m edium", + "_med ium", + "Create s", + "Cre ates", + "Creat es", + "( endpoint", + "(end point", + "ĉ UP", + "ĉU P", + "b bie", + "bb ie", + "Ġ stalk", + "Ġs talk", + "Ġst alk", + "Ġsta lk", + "Ġstal k", + ".data bind", + ".datab ind", + ". Scan", + ".S can", + ".Sc an", + "ag ents", + "age nts", + "agent s", + "agen ts", + "$ ,", + "ind ividual", + "+ )/", + "+) /", + "ĉ vm", + "ĉv m", + "( notification", + "(not ification", + "Ġin ex", + "Ġi nex", + "Ġine x", + "Ġ Classification", + "ĠClass ification", + "r eno", + "re no", + "ren o", + "Ġo lig", + "Ġol ig", + "Ġoli g", + "- rated", + "-r ated", + "-rate d", + "-ra ted", + "Ġform ulation", + "Ġformula tion", + "Ġformul ation", + "' ,{", + "', {", + "Ġa cept", + "Ġac ept", + "Ġace pt", + "_ unpack", + "_un pack", + "_ CA", + "_C A", + ". Pow", + ".P ow", + "ĉ im", + "ĉi m", + "Ġal uminium", + "Ġalum inium", + "A NO", + "AN O", + "Ġ xn", + "Ġx n", + "Ġc ómo", + "Ġcó mo", + "Ġ Ingredient", + "ĠIng redient", + "Ġseiz ures", + "Ġseizure s", + "åħ ±", + "ific ador", + "ificado r", + "Ġs iguiente", + "Ġsigu iente", + "ĠIn fragistics", + "Ġd uplicated", + "Ġduplicate d", + "Ġdup licated", + "Ġduplic ated", + "ĠD ee", + "ĠDe e", + "Ġn ø", + "Ġ ACCEPT", + "ĠAC CEPT", + "( crate", + "(c rate", + "(cr ate", + "иÑĤ елÑĮ", + "иÑĤе лÑĮ", + "- less", + "-l ess", + "-le ss", + "Ġ infinity", + "Ġin finity", + "Ġinf inity", + "Ġinfinit y", + "An alyzer", + "Analy zer", + "- Day", + "-D ay", + "r itt", + "ri tt", + "rit t", + "( cin", + "(c in", + "(ci n", + "ĠG y", + "Ġmulti plied", + "Ġmultip lied", + "u chi", + "uch i", + "uc hi", + "ĠBald win", + "/ ip", + "/i p", + "Ġshort cuts", + "Ġshortcut s", + ". ADD", + ".A DD", + ".AD D", + "Ġv igor", + "Ġvi gor", + "Ġvig or", + "_ instruction", + "_in struction", + "_instr uction", + "( ;", + "_ eta", + "_e ta", + "_et a", + "è¿ ŀ", + "utor ials", + "utorial s", + "Ġboost ing", + "b v", + "Ġacknowled ges", + "Ġacknowledge s", + "List ening", + "Listen ing", + "F AQ", + "FA Q", + "; b", + "( (-", + "(( -", + "Ġarchitect s", + "Ġarchit ects", + "Ġz we", + "Ġzw e", + "Ġp uls", + "Ġpul s", + "Ġpu ls", + "Ġget Count", + "ĠgetC ount", + "ver bs", + "verb s", + "ãĢ ľ", + "( Collection", + "(C ollection", + "k re", + "kr e", + "Ġjurisdiction s", + "Ġjuris dictions", + "_ bridge", + "_b ridge", + "_br idge", + "ĠC rack", + "ĠCr ack", + "ĠCra ck", + "Ġ Difficulty", + "ĠDiff iculty", + "K O", + "Res ervation", + "_ requires", + "_re quires", + "_require s", + "T our", + "To ur", + "ãģĹ ãģŁ", + "ãģĹãģ Ł", + ". setCurrent", + ".set Current", + "Ġ ky", + "Ġk y", + "ĠAlb any", + "ĠAlban y", + "Ġ è§", + "Ġè §", + "l ler", + "ll er", + "lle r", + "ag na", + "agn a", + "work ers", + "worker s", + "wor kers", + ". blank", + ".bl ank", + "ĠPr ayer", + "ĠPra yer", + "M IC", + "MI C", + "Ġresil ience", + "Te X", + "Ġ Languages", + "ĠL anguages", + "ĠLanguage s", + "st udy", + "stu dy", + "stud y", + "ĉ curr", + "ĉc urr", + "ĉcur r", + "Ġenzym es", + "Ġenzyme s", + "S lug", + "Sl ug", + "Ġ íĮĮ", + "ĠíĮ Į", + "st ral", + "str al", + "stra l", + "Ġtum ors", + "Ġtumor s", + "Ġseg unda", + "Ġsegu nda", + "= '{", + "=' {", + "in struction", + "instr uction", + "ĠL isp", + "ĠLi sp", + "ĠLis p", + "/ info", + "/in fo", + "Ġ\" {$", + "Ġ\"{ $", + ",: ),", + ",:) ,", + "Ġ gv", + "Ġg v", + "( ErrorMessage", + "(Error Message", + "Ġ '=", + "Ġ' =", + "} -${", + "}- ${", + ". Documents", + ".Document s", + ".Doc uments", + "\" Well", + "\"We ll", + "\"W ell", + "Ġreminis cent", + "Ġg az", + "Ġga z", + "ir opr", + "iro pr", + "e hr", + "eh r", + "Ġsup pressed", + "Ġsuppress ed", + "Ġsupp ressed", + "er sh", + "ers h", + ".scroll To", + "Ġ cadena", + "Ġc adena", + "Ġcad ena", + "Ġcade na", + "Ġgame State", + "ÃŃ m", + "( conv", + "(con v", + "(co nv", + "Ġ Tomorrow", + "ĠTom orrow", + "ĠC CT", + "ĠCC T", + "M ongo", + "Mon go", + "Mo ngo", + "u lg", + "ul g", + ". Camera", + ".C amera", + ". handlers", + ".handle rs", + ".handler s", + ".hand lers", + "m ph", + "mp h", + "Ġ stk", + "Ġs tk", + "Ġst k", + "Ġgen etics", + "Ġgene tics", + "Ġgenetic s", + "AC ING", + "Tr ivia", + "Tri via", + "ĠB am", + "ĠBa m", + "( marker", + "(m arker", + "(mark er", + ". Stretch", + ".St retch", + ".Str etch", + "ĠSun ni", + "ĠB etty", + "ĠBe tty", + "ĠBet ty", + "ĠBett y", + ". tolist", + ".t olist", + ".to list", + "un likely", + ". Rectangle", + ".Rect angle", + "ob solete", + "IL ON", + "inner Text", + "em bourg", + "emb ourg", + "a N", + "ĠV ehicles", + "ĠVehicle s", + "un lock", + ": utf", + "n ob", + "no b", + "Ġ Seeing", + "ĠSe eing", + "ĠSee ing", + "ĠN EVER", + "ĠNE VER", + "Ġ tls", + "Ġt ls", + "Ġtl s", + "Ġf illes", + "Ġfil les", + "Ġfill es", + "Ġfille s", + "Ġbenef ited", + "Ġbenefit ed", + "ĠC lint", + "ĠCl int", + "ĠClin t", + "ĠCli nt", + "*/ ),", + "*/) ,", + ". fold", + ".f old", + "Ġpos ible", + "Ġposi ble", + "A DED", + "AD ED", + "ADE D", + "t house", + "th ouse", + ". DAL", + ".D AL", + "Ġ Odd", + "ĠO dd", + "ĠOd d", + "r okes", + "ro kes", + "roke s", + "rok es", + "ĠS unny", + "ĠSun ny", + "ĠPartial Eq", + "_ Buffer", + "_B uffer", + "ĠL evi", + "ĠLe vi", + "ĠLev i", + "long rightarrow", + "el don", + "eld on", + "eldo n", + "g ages", + "ga ges", + "gage s", + "_ warn", + "_w arn", + "_war n", + ".Create Table", + "ĠD ip", + "ĠDi p", + "_ questions", + "_question s", + "_quest ions", + ". logic", + ".log ic", + "Ġ #\"", + "Ġ# \"", + "={ ()=>", + "={() =>", + "={( )=>", + "Ġ tep", + "Ġt ep", + "Ġte p", + "Ġju icy", + "ì Ĥ¬", + "ìĤ ¬", + "en ko", + "enk o", + "ial ect", + "ia lect", + "iale ct", + "Ù ī", + "Ġon board", + "Ġ æı", + "Ġæ ı", + "ĉ rt", + "ĉr t", + "_ UTF", + "_U TF", + "_UT F", + "ĠQ Action", + "ĠQA ction", + "âĢ ŀ", + "( Component", + "( audio", + "(a udio", + ". hit", + ".h it", + "g te", + "gt e", + "Ġprogram med", + "Ġprogramme d", + "Ġprogramm ed", + "state Params", + "Ġpoly ester", + "f ires", + "fi res", + "fire s", + "fir es", + "by ss", + "] =(", + "]= (", + "_ quality", + "_q uality", + "_qu ality", + "_qual ity", + "Of Day", + "ĠF airy", + "ĠFair y", + "ĠFa iry", + "Ġy elled", + "Ġyell ed", + "o pl", + "op l", + "( userName", + "(user Name", + "Ġ Difference", + "ĠD ifference", + "ĠDiff erence", + "Ġeval uations", + "Ġevaluation s", + "Ġevalu ations", + "iff any", + "Ġcycl ists", + "Ġcyc lists", + "Ġcyclist s", + "Ġ cidade", + "Ġc idade", + "Ġcid ade", + "Ġtext book", + "Ġprof iling", + "Ġprofil ing", + "_ _),", + "__ ),", + "__) ,", + "d ea", + "de a", + ". activate", + ".act ivate", + ".activ ate", + "Ġind ications", + "Ġindic ations", + "Ġindication s", + "Ð ķ", + "Touch UpInside", + "Ġinval uable", + "Ġ MASK", + "ĠM ASK", + "ĠMA SK", + "ĠMAS K", + "Ġcont end", + "Ġconten d", + "Ġconte nd", + "F req", + "Fr eq", + "Fre q", + "Ġrec ruits", + "Ġrecru its", + "Ġrecruit s", + "( interval", + "(int erval", + "(inter val", + "Ġ UserProfile", + "ĠUser Profile", + "Ġ'./ ../", + "Ġ'. /../", + "e du", + "ed u", + "_ Callback", + "_C allback", + "_Call back", + "Ġan alogy", + "Ġanal ogy", + "Ġanalog y", + "Ġana logy", + "ĠT rophy", + "ĠTr ophy", + "ĠTro phy", + "app hire", + "V ideos", + "Video s", + "ĠC her", + "ĠCh er", + "ĠChe r", + "ĠH av", + "ĠHa v", + "â̦ \"", + ". validator", + ".valid ator", + "g fx", + "gf x", + "ĠU Object", + "class names", + "classname s", + "t riangle", + "tr iangle", + "tri angle", + "Ġ Encoder", + "ĠE ncoder", + "ĠEn coder", + "ĠEnc oder", + "ĠEncode r", + ". spy", + ".s py", + ".sp y", + "Ġpred ators", + "Ġpredator s", + "= status", + "=s tatus", + "- safe", + "-s afe", + ": \",Ċ", + ":\" ,Ċ", + ":\", Ċ", + "Ġ Including", + "ĠIn cluding", + "Ġ{ };čĊ", + "Ġ{} ;čĊ", + "Ġ{}; čĊ", + "* cos", + "*c os", + "Ġend ured", + "Ġendure d", + ".sul ake", + "Ġnurs ery", + "Ġnurse ry", + "Ġfrag rance", + "Ġre building", + "Ġrebuild ing", + "Ġ nth", + "Ġn th", + "Ġnt h", + "ĠFr aser", + "ĠFra ser", + ".set Date", + "ĠV ince", + "ĠVi nce", + "ĠVin ce", + "_ REST", + "_RE ST", + "_R EST", + "_RES T", + "Ġvent ilation", + "Ġventil ation", + "æµ ·", + "cri bes", + "cribe s", + ". asm", + ".as m", + ".a sm", + "lp Vtbl", + "ĠA be", + "ĠAb e", + "u isine", + "uis ine", + ", array", + ",a rray", + ",arr ay", + "ĉ className", + "ĉclass Name", + "err als", + "erra ls", + "erral s", + "Ġ 'ĊĊ", + "Ġ' ĊĊ", + "Ġ'Ċ Ċ", + "Check out", + "Ġs olicit", + "Ġso licit", + "Ġsol icit", + "Ġsolic it", + "A ux", + "Au x", + "_ capture", + "_c apture", + "_cap ture", + "Ġr ibs", + "Ġrib s", + "Ġri bs", + "r agon", + "ra gon", + "rag on", + "v iol", + "vi ol", + "vio l", + "to pics", + "top ics", + "topic s", + "Function Flags", + "ĠM arty", + "ĠMar ty", + "ĠMart y", + "b ike", + "bi ke", + "ĠT ucker", + "ĠTu cker", + "( kernel", + "(k ernel", + "Ġ Ops", + "ĠO ps", + "ĠOp s", + "Close Operation", + "/ demo", + "/d emo", + "/de mo", + "i lda", + "il da", + "ild a", + "ĠlÃŃ nea", + "AP PING", + "APP ING", + "Ġsu ites", + "Ġsuit es", + "Ġsuite s", + "Ġsui tes", + ".visit VarInsn", + "u rus", + "ur us", + "uru s", + "Ġ Minute", + "ĠMin ute", + "( manager", + "(m anager", + "(man ager", + "Ġbutter fly", + "Ġa pare", + "Ġap are", + "Ġapar e", + "Ġapa re", + "Ġw olves", + "Ġwol ves", + "J WT", + "ĠS alon", + "ĠSal on", + "ĠSa lon", + "ĉ delay", + "ĉd elay", + "ĉde lay", + "ĉdel ay", + "- eslint", + "-es lint", + "is ations", + "isation s", + ". rpc", + ".r pc", + ") |(", + ")| (", + "ĠSnap chat", + "/ mm", + "/m m", + "M N", + "c eries", + "ce ries", + "cer ies", + ".t extAlignment", + ".text Alignment", + "ĠFrank furt", + "Ġ ado", + "Ġa do", + "Ġad o", + "( newValue", + "(new Value", + "( access", + "(a ccess", + "(ac cess", + "(acc ess", + "( Expression", + "Ġ SignIn", + "ĠSign In", + "ĠHa iti", + "ĠHait i", + "ĠHai ti", + "_ tp", + "_t p", + ". setParameter", + ".set Parameter", + "Min ute", + "Ġmanual s", + "ric anes", + "ricane s", + "rica nes", + "Ġ PTR", + "ĠP TR", + "ĠPT R", + "Ġ Outer", + "ĠO uter", + "ĠOut er", + "ĠOu ter", + "Ġ getline", + "Ġget line", + "oc ations", + "ocation s", + "_ CD", + "_C D", + "ĠL yon", + "ĠLy on", + "/ gui", + "/g ui", + "_ live", + "_l ive", + "_li ve", + "i dan", + "id an", + "ida n", + ". geom", + ".ge om", + ".geo m", + "Ġborder Bottom", + "im uth", + "imu th", + "_ checkpoint", + "_check point", + "Ġm eu", + "Ġme u", + "ĠIr ving", + "Ġpeu vent", + "( MAX", + "(M AX", + "Ġ ARCH", + "ĠAR CH", + "ĠARC H", + "Ġp ov", + "Ġpo v", + ".source forge", + "Ġjam ais", + "Ġ ark", + "Ġa rk", + "Ġar k", + "ĠBaghd ad", + "Ġ CLEAR", + "ĠC LEAR", + "ĠCL EAR", + "Menu Bar", + "Ġtr ois", + "Ġtro is", + "CHED ULE", + "Ġ #čĊ", + "Ġ# čĊ", + "( Call", + "(C all", + "$ order", + "( Material", + "(M aterial", + "(Mat erial", + "Ġencontr ado", + "$ list", + "$l ist", + "ĠMETHOD S", + ". beginTransaction", + ".begin Transaction", + "_M AG", + "_MA G", + "Style Sheet", + "Ġmajor s", + "Ġmaj ors", + "Ġindef initely", + "Ġindefinite ly", + "c leanup", + "clean up", + "Ġhome land", + "Ġhom eland", + "( dto", + "(d to", + "(dt o", + "D ates", + "Date s", + "Da tes", + "Dat es", + "P resentation", + "Present ation", + "Ġ DK", + "ĠD K", + "={` /", + "ĉ Key", + "ĉK ey", + "( Block", + "(B lock", + "_ checkbox", + "_check box", + "ne eds", + "need s", + "nee ds", + "Ġon Complete", + "r ico", + "ri co", + "ric o", + "Ġg leich", + "Ġgle ich", + "Ġ xm", + "Ġx m", + "O OD", + "OO D", + "B etter", + "Bet ter", + "ĠSQL ITE", + ". Book", + ".B ook", + "x ad", + "xa d", + "ĠG one", + "ĠGo ne", + "ĠGon e", + "ĉ dp", + "ĉd p", + "Ġdev otion", + "Ġ stm", + "Ġs tm", + "Ġst m", + "Ġob sess", + "Ġobs ess", + "Ġ Backend", + "ĠBack end", + "Qu eries", + "Que ries", + "I k", + "/ /****************************************************************", + "// ****************************************************************", + "Ġdivide nds", + "Ġdivid ends", + "Ġdividend s", + ".parent Element", + "} \")ĊĊ", + "}\" )ĊĊ", + "}\")Ċ Ċ", + "}\") ĊĊ", + "ĠMaterial PageRoute", + ": num", + ":n um", + "Ġexp lic", + "Ġexpl ic", + "Ġ OL", + "ĠO L", + "l east", + "le ast", + "lea st", + "O ops", + "iment os", + "imento s", + "imen tos", + "Ġins urers", + "Ġinsure rs", + "Ġinsurer s", + "Ġhero ic", + "ĉ fields", + "ĉf ields", + "ĉfield s", + ".img ur", + ".btn Cancel", + "ĠDet ective", + "ĠDetect ive", + "( sm", + "(s m", + "ĠMutable LiveData", + ". lab", + ".l ab", + "( ([", + "(( [", + "Ġha irst", + "Ġhair st", + "Ġhai rst", + "Ġhairs t", + "Ġ Transactions", + "ĠTrans actions", + "ĠTransaction s", + "å¼Ģ å§ĭ", + "Ġ stdClass", + "Ġstd Class", + "u ento", + "uen to", + "uent o", + "G IS", + "GI S", + "_ cod", + "_c od", + "_co d", + "In structions", + "Instruction s", + "Instr uctions", + "C alls", + "Call s", + "Cal ls", + "Pointer Type", + "ĠR w", + "Ġassort ment", + "Ġ DIG", + "ĠD IG", + "ĠDI G", + "+ r", + "_ CERT", + "_C ERT", + "_CE RT", + "Ġinst ability", + "Ġv ib", + "Ġvi b", + "o nas", + "on as", + "ona s", + "Ġr oku", + "Ġro ku", + "Ġrok u", + "ap ellido", + "Ġ angl", + "Ġan gl", + "Ġang l", + "prene ur", + "Ġfl uids", + "Ġfluid s", + "Ġflu ids", + "is ease", + "ise ase", + "Ġd eed", + "Ġde ed", + "Ġdee d", + "qu ist", + "quis t", + "qui st", + "_CONST ANT", + "Ġequ ilibrium", + "_ delegate", + "_de legate", + "ĠQuant um", + "r ei", + "re i", + "Cap abilities", + "rect angle", + "? ><", + "?> <", + "a lien", + "al ien", + "ali en", + "alie n", + "ĠJ ug", + "ĠJu g", + "D NA", + "DN A", + "T ickets", + "Tick ets", + "Ticket s", + "Occ urs", + "ĠH awk", + "ĠHaw k", + "ĠHa wk", + ".setHorizontal Group", + "\\ Collection", + "\\C ollection", + "ff iti", + "ffi ti", + "Ġre arr", + "Ġrear r", + ".setVertical Group", + "Ġc avity", + "Ġcav ity", + "Ġadult e", + "Ġadul te", + "Fac ade", + "Fa cade", + "- wh", + "-w h", + "ĠL OL", + "ĠLO L", + "Ø °", + "Ġgrand parents", + "Sw ift", + "ĉ wx", + "ĉw x", + "æīĢ æľī", + "i fen", + "if en", + "ife n", + "ff set", + "B eyond", + "// }ĊĊ", + "//}Ċ Ċ", + "Ġw ager", + "Ġwa ger", + "Ġwage r", + "Ġwag er", + "Ġ bury", + "Ġb ury", + "Ġbu ry", + "Ġbur y", + "Ġcomm ence", + "Ġcomme nce", + "Ġcommenc e", + "reg istro", + "registr o", + "regist ro", + "s cient", + "sc ient", + "sci ent", + "Ġ Percent", + "ĠPer cent", + "ĠPerc ent", + "Ġд олж", + "Ġдол ж", + "( identifier", + "(id entifier", + "(ident ifier", + ".set Model", + "Ġs eldom", + "Ġsel dom", + "n ton", + "nt on", + "Ġap pliance", + "Ġappl iance", + "a mus", + "am us", + "amu s", + "rys ler", + "Ġpan ties", + "Ġpant ies", + "engu ins", + "enguin s", + "Ġmi mic", + "Ġmim ic", + "Ġon Changed", + "ĠonChange d", + "Ġal coholic", + "Ġalcohol ic", + ".reload Data", + "Ch arge", + "Char ge", + "Ġ Fax", + "ĠF ax", + "ĠFa x", + "Ġj ScrollPane", + "Emp resa", + "Ġsh attered", + "x ba", + "xb a", + "Font s", + "Fo nts", + "? s", + "Ġpost season", + "re tain", + "ret ain", + "reta in", + "_ rates", + "_r ates", + "_rate s", + "_ra tes", + "_rat es", + "Ġ requestCode", + "Ġrequest Code", + ". todo", + ".t odo", + ".to do", + "´ s", + "C HK", + "CH K", + "Ġ Keeping", + "ĠKe eping", + "ĠKeep ing", + "ĠKee ping", + "enge ance", + "Ġvs code", + "IP PING", + "IPP ING", + "Default CloseOperation", + "_ raise", + "_r aise", + "_ra ise", + "ĠO culus", + "ĠOc ulus", + "o grams", + "og rams", + "ogram s", + "ogr ams", + "ogra ms", + "r aj", + "ra j", + "p ci", + "pc i", + "Ġcorros ion", + ". handleSubmit", + ".handle Submit", + "Access ible", + "ĠP iano", + "ĠPi ano", + "l ittle", + "lit tle", + "A CL", + "AC L", + "Äĩ e", + ". unwrap", + ".un wrap", + "ĠCon vers", + "ĠConv ers", + "ĠLe ben", + "ion eer", + "ione er", + "Ġ Merchant", + "ĠM erchant", + "ĠMer chant", + "ĠMerch ant", + "ĠJ orge", + "Ġembr acing", + "Ġ venta", + "Ġv enta", + "Ġvent a", + "Ġven ta", + "á st", + "ás t", + "Ġv iene", + "Ġvi ene", + "Ġvie ne", + "< QString", + "Ċ", + "-g rowing", + "-gr owing", + "-grow ing", + "Ġdeep copy", + "A ck", + "Ac k", + "eg gies", + "egg ies", + "Ġ __(\"", + "Ġ_ _(\"", + "Ġ__ (\"", + "Ġ__( \"", + "Ġn oir", + "Ġno ir", + "Ġnoi r", + "terror ism", + "Ġan them", + "Ġant hem", + "Ġanth em", + "a gency", + "ag ency", + "age ncy", + "agen cy", + "_ PACKAGE", + "_PACK AGE", + "Ġ Closure", + "ĠC losure", + "ĠClo sure", + ". registry", + ".reg istry", + "Ġmamm als", + "Ġmamma ls", + "< L", + "U ICollectionView", + "UI CollectionView", + "ĠLE Ds", + "ĠLED s", + "Ġv olley", + "Ġvol ley", + "Ġvoll ey", + "( Buffer", + "(B uffer", + "_N ATIVE", + "li bc", + "lib c", + "im plode", + "impl ode", + "Scroll Bar", + "ĠMar ion", + "ĠMario n", + "ĠMari on", + ". Contracts", + ".Con tracts", + ".Contract s", + "_ At", + "_A t", + "ĠWe instein", + "ĠWein stein", + "compare To", + "ĠH ose", + "ĠHo se", + "ĠHos e", + "en ity", + "eni ty", + ". createQuery", + ".create Query", + "_ router", + "_r outer", + "_ro uter", + "_route r", + "Ġstim uli", + "Ġ ++)", + "Ġ+ +)", + "Ġ++ )", + "ĠCh amp", + "ĠCha mp", + "ĠCham p", + "ĠBay ern", + "ĠBayer n", + "a ssa", + "as sa", + "ass a", + ". va", + ".v a", + "Ġdistrib utors", + "Ġdistributor s", + "Ġfile private", + "Ġdepart ed", + "c ccc", + "cc cc", + "ccc c", + "@ click", + "@c lick", + "ĠL unch", + "ĠLun ch", + "> L", + "Ġb luetooth", + "Ġbl uetooth", + ". Deep", + ".De ep", + "- standing", + "-st anding", + "á cil", + "ác il", + "áci l", + "Ġro oft", + "Ġroof t", + "Ġ Paths", + "ĠP aths", + "ĠPat hs", + "ĠPath s", + "ĠPa ths", + "_ iterations", + "_iter ations", + "_iteration s", + "Invalid ArgumentException", + ". spi", + ".s pi", + ".sp i", + "Ġ UIAlertAction", + "ĠUIAlert Action", + "u ye", + "uy e", + "sign in", + "sig nin", + ". priority", + ".p riority", + "ĠEs says", + "ĠEss ays", + "ĠEssay s", + "=' {$", + "='{ $", + "Ġ è¿ĶåĽŀ", + "Ġè¿ ĶåĽŀ", + "_ signed", + "_s igned", + "_sign ed", + "_sig ned", + ". persist", + ".p ersist", + "Ġre design", + "Ġred esign", + "Ġrede sign", + "Ġredes ign", + "To Lower", + "ĠNew man", + "= start", + "ĠIsrael is", + "ĠIsraeli s", + "as iswa", + "asis wa", + "S peech", + "Spe ech", + "Ġnum eros", + "Ġnumer os", + "Ġnumero s", + "handle rs", + "hand lers", + "handler s", + "ĠW ong", + "ĠWo ng", + "ĠWon g", + "Ġм еÑĤод", + "ĠмеÑĤ од", + "We ights", + "Weight s", + "ĠGu jar", + "t eil", + "te il", + "ĠNone theless", + "ĠNon etheless", + "_E FFECT", + "Ġ vect", + "Ġv ect", + "Ġve ct", + "Ġvec t", + "ĠO sc", + "ĠOs c", + "Ġco ats", + "Ġcoat s", + "ĠW heat", + "ĠWh eat", + "ĠWhe at", + "Ġge ek", + "Ġgee k", + "Ġ PROPERTY", + "ĠP ROPERTY", + "ĠPRO PERTY", + "w orm", + "wo rm", + "wor m", + "_ constants", + "_con stants", + "_const ants", + "_constant s", + "ĠB oulder", + "ĠBou lder", + "Ġ Parm", + "ĠP arm", + "ĠPar m", + "ĠPa rm", + "c ole", + "co le", + "col e", + "Ġdefault Center", + "ĠRo uge", + "ĠRou ge", + ": A", + "x cf", + "xc f", + "ĠVen ice", + "ĠVe nice", + "m edian", + "med ian", + "medi an", + "media n", + "Ġred emption", + "F resh", + "Fr esh", + "Fre sh", + "Ġco sm", + "Ġcos m", + "Ġ figur", + "Ġfig ur", + "Ġref urb", + "CO PE", + ". cd", + ".c d", + "Ġch ords", + "Ġchord s", + "Ġchor ds", + "ĠS gt", + "Å į", + "V PN", + "VP N", + "Ġ SEND", + "ĠS END", + "ĠSE ND", + "ĠSEN D", + "a inen", + "ain en", + "ai nen", + "aine n", + "_ accounts", + "_account s", + "_ac counts", + "Ġt enth", + "Ġte nth", + "Ġten th", + "Ġtent h", + "Ġdiss olved", + "Ġdissolve d", + "< App", + "", + "Ġ' >", + "Ġlegitim acy", + "Ġ oo", + "Ġo o", + "S linky", + "Sl inky", + "Ġnational s", + "Ġnation als", + ". words", + ".w ords", + ".word s", + "; p", + "t rap", + "tr ap", + "tra p", + "oman ip", + "oma nip", + "Ġc ues", + "Ġcu es", + "Ġcue s", + "Ġgrad uating", + "Ġgradu ating", + "Ġsem aphore", + "\" ]);ĊĊ", + "\"] );ĊĊ", + "\"]) ;ĊĊ", + "\"]);Ċ Ċ", + "\"]); ĊĊ", + "ace y", + "ac ey", + "RE ET", + "REE T", + "G rab", + "Gr ab", + "ĠF elix", + "ĠFe lix", + "ĠFel ix", + "( Id", + "(I d", + "_ neighbors", + "_ne ighbors", + "_neighbor s", + "Ġmeaning less", + "( del", + "(d el", + "(de l", + "Ġj eder", + "Ġje der", + "Ġjed er", + "Ġjede r", + "ĠContent Values", + ". absolute", + ".a bsolute", + ".abs olute", + "/ cl", + "/c l", + "Ġ xb", + "Ġx b", + "d atum", + "dat um", + "Ġtort ured", + "Ġtorture d", + "Ġrub bing", + "Ġru bbing", + "S cores", + "Sc ores", + "Score s", + "ĠðŁĺ ī", + "Ġav ons", + "Ġam sterdam", + "E OS", + "EO S", + "H al", + "Ha l", + "Ġtrust worthy", + "# =", + ".EX TRA", + "Ġm ano", + "Ġman o", + "Ġma no", + "is icing", + "isi cing", + "- support", + "-s upport", + "-sup port", + "ĉ cursor", + "ĉc ursor", + "Ġ Spo", + "ĠS po", + "ĠSp o", + "ai massage", + "aim assage", + "M ission", + "Miss ion", + "[] {\"", + "[]{ \"", + "Ġpr inters", + "Ġprint ers", + "Ġprinter s", + "Ġprin ters", + "G REEN", + "GRE EN", + "GREE N", + "Ġ teg", + "Ġt eg", + "Ġte g", + "Ġabdom inal", + "! ĊĊĊĊĊĊ", + "!ĊĊ ĊĊĊĊ", + "!Ċ ĊĊĊĊĊ", + "!ĊĊĊĊ ĊĊ", + "!ĊĊĊ ĊĊĊ", + ". Short", + ".S hort", + ".Sh ort", + "а зв", + "аз в", + "ĠGi fts", + "ĠGift s", + "} \")", + "}\" )", + "( binding", + "(b inding", + "(bin ding", + "(bind ing", + "x ce", + "xc e", + "âĢ ij", + "in fos", + "info s", + "inf os", + "Form Data", + "Ġ dart", + "Ġd art", + "Ġda rt", + "Ġdar t", + "Ġ elems", + "Ġe lems", + "Ġel ems", + "Ġele ms", + "Ġelem s", + "( inv", + "(i nv", + "(in v", + "Y L", + "t in", + "ti n", + "G ENER", + "GE NER", + "GEN ER", + "á» ¯", + "Ġ Taken", + "ĠT aken", + "ĠTake n", + "ĠTa ken", + "ĠTak en", + "uc kle", + "uck le", + ": e", + "Ġs pectral", + "Ġspect ral", + "Ġspectra l", + ".b aidu", + "/ ');Ċ", + "/' );Ċ", + "/') ;Ċ", + "Ġgre edy", + "Ġgreed y", + "es ion", + "esi on", + ",,,, ,,,,", + "Ġ/ >,Ċ", + "Ġ/> ,Ċ", + "Ġ/>, Ċ", + "Internal ServerError", + "NS NotificationCenter", + "NSNotification Center", + "Ġ Ai", + "ĠA i", + "Ġs pit", + "Ġsp it", + "Ġspi t", + "Ġaug mented", + "Ġaugment ed", + "Ġstandard UserDefaults", + "FIN ITY", + "R ace", + "Ra ce", + ": C", + "ĠRE CORD", + "ĠREC ORD", + "Ġ Highlight", + "ĠHigh light", + "Ġ' `", + "Ġdef icits", + "Ġdeficit s", + "Ġn ei", + "Ġne i", + "Ġresearch ed", + "T a", + "Ġc opp", + "Ġco pp", + "Ġcop p", + ".Get HashCode", + ") :čĊčĊ", + "): čĊčĊ", + "):čĊ čĊ", + "On Click", + "ĠWell ington", + "ĠWel lington", + "Ġrev ival", + "æ¯ Ķ", + "éĹ ®", + "Ġ NSS", + "ĠN SS", + "ĠNS S", + "Ġf orn", + "Ġfor n", + "Ġfo rn", + "Ġin té", + "Ġint é", + "ĠKu wait", + "_ flip", + "_f lip", + "_fl ip", + "_ bo", + "_b o", + "_ \\", + "Ġocc urrences", + "Ġoccurrence s", + "Ġ Scientists", + "ĠScient ists", + "ĠScientist s", + "S RC", + "SR C", + "o gens", + "og ens", + "ogen s", + "oge ns", + "i grant", + "ig rant", + "igr ant", + "RE MOTE", + "REM OTE", + "Ġ SID", + "ĠS ID", + "ĠSI D", + ". opts", + ".op ts", + ".o pts", + ".opt s", + "u ve", + "uv e", + "( )])Ċ", + "() ])Ċ", + "()] )Ċ", + "Ġlibert arian", + "ĠG lide", + "ĠGl ide", + "l esen", + "le sen", + "les en", + "Ġ forme", + "Ġfor me", + "Ġform e", + "ow ania", + "owa nia", + "owan ia", + "Ġannoy ed", + "D efs", + "De fs", + "Def s", + "Ġ Executor", + "ĠExec utor", + "Ġ casts", + "Ġc asts", + "Ġca sts", + "Ġcas ts", + "Ġcast s", + ". setChecked", + ".set Checked", + "Ġ Sharing", + "ĠSh aring", + "ĠSha ring", + "ĠShar ing", + ".Serialize Object", + "Ġ selectors", + "Ġselect ors", + "Ġselector s", + "Ġsel ectors", + "Ġsele ctors", + "_ OTHER", + "_OT HER", + "ë ¯¸", + "ë¯ ¸", + "( super", + "(s uper", + "( OS", + "(O S", + "_ VERIFY", + "_VER IFY", + "id unt", + "< header", + "';Ċ", + "Ġ/> ';Ċ", + "Ġ/>' ;Ċ", + "Ġvid éo", + "Ġvidé o", + "ĠNe gro", + "ĠNeg ro", + "ĠL ords", + "ĠLord s", + "ĠLor ds", + "ĠT ours", + "ĠTo urs", + "ĠTour s", + "ĠTou rs", + "Ġsoft ly", + ". receive", + ".re ceive", + "Ġ ERC", + "ĠE RC", + "ĠER C", + "Ġdata Set", + "B adge", + "Bad ge", + "Ba dge", + "ĉ Event", + "ĉE vent", + "Ġ perl", + "Ġper l", + "Ġpe rl", + "Ġ {}\\", + "Ġ{ }\\", + "Ġ{} \\", + "( sentence", + "(s entence", + "(sent ence", + "Or Update", + "Ġdim inish", + "Ġdimin ish", + "P IN", + "PI N", + "( draw", + "(d raw", + "(dr aw", + ".To DateTime", + ". EqualTo", + ".Equal To", + "( pin", + "(p in", + "(pi n", + "-p encil", + "l uent", + "lu ent", + "lue nt", + "Ġ Caller", + "ĠC aller", + "ĠCal ler", + "ĠCall er", + "ĠCa ller", + "Ġplay ful", + "- '+", + "-' +", + "x ca", + "xc a", + "s wick", + "sw ick", + ") {}Ċ", + "){ }Ċ", + "} :${", + "}: ${", + "ĠM eth", + "ĠMe th", + "ĠMet h", + ". getCell", + ".get Cell", + ".getC ell", + ". break", + ".b reak", + "Ġ ymax", + "Ġy max", + "=' Ċ", + "}`} >Ċ", + "ĠH iro", + "ĠHi ro", + "ĠHir o", + "( TRUE", + "(TR UE", + "as urer", + "asure r", + "asu rer", + "Ġc uer", + "Ġcu er", + "Ġcue r", + "U ber", + "Ub er", + ". Operation", + ".O peration", + ".Op eration", + "Ġ olan", + "Ġo lan", + "Ġol an", + "Ġola n", + "Ġthr illing", + "Ġthrill ing", + "< Response", + "ĠF emin", + "ĠFe min", + "ĠFem in", + "Ġtr aversal", + "Ġtravers al", + "Ġp oc", + "Ġpo c", + "Ġ setStatus", + "Ġset Status", + "de clar", + "dec lar", + "decl ar", + "std afx", + "Ġaddict ive", + "Ġ Btn", + "ĠB tn", + "Ġexplos ives", + "Ġexplosive s", + "ĠCo oking", + "ĠCook ing", + "ĠPl aint", + "ĠPlain t", + "ĠPla int", + "Ġ accumulator", + "Ġaccum ulator", + "Ġ Appointment", + "ĠApp ointment", + ", password", + ",p assword", + "ĠF AR", + "ĠFA R", + "l uet", + "lu et", + "lue t", + "Further more", + "decl spec", + "_ Statics", + "_Static s", + "_St atics", + ". Dictionary", + ".D ictionary", + "\" >'.", + "\"> '.", + "\">' .", + "ĉ valid", + "ĉval id", + "ĉva lid", + "\" \",", + "\"\" ,", + "In strument", + "Instr ument", + "> J", + "Ġno str", + "Ġnos tr", + "Ġnost r", + "ĠR ift", + "ĠRi ft", + "ĠRif t", + "_ Port", + "_P ort", + "Ġve ces", + "Ġvec es", + "[ ['", + "[[ '", + "Ġrall ies", + "- series", + "-s eries", + "-se ries", + "-ser ies", + "Ġ vv", + "Ġv v", + ". uc", + ".u c", + "Ġr tn", + "Ġrt n", + "State Changed", + "( ins", + "(i ns", + "(in s", + "Ġ Cla", + "ĠC la", + "ĠCl a", + "- -----------Ċ", + "-- ----------Ċ", + "---- --------Ċ", + "-------- ----Ċ", + "--- ---------Ċ", + "------------ Ċ", + "----- -------Ċ", + "---------- --Ċ", + "------ ------Ċ", + "----------- -Ċ", + "------- -----Ċ", + "--------- ---Ċ", + "c us", + "cu s", + "Ġ Reload", + "ĠR eload", + "ĠRe load", + "ĠRel oad", + "// ------------------------------------------------------------------------------------------------", + "//---------------------------------------------------------------- --------------------------------", + "//---------------------------------------------------------------------------- --------------------", + "//------------------------------------------------ ------------------------------------------------", + "//-------------------------------- ----------------------------------------------------------------", + "//-------------------------------------------------------------------------------- ----------------", + "//---------------- --------------------------------------------------------------------------------", + ". seconds", + ".se conds", + ".second s", + ".sec onds", + "_ destination", + "_d estination", + "_dest ination", + "Ġscre wed", + "Ġscr ewed", + "Ġscrew ed", + "> c", + "Th ickness", + "Des igner", + "Design er", + "Ġgr ids", + "Ġgrid s", + "Ġgri ds", + "n Äħ", + "( cookie", + "(c ookie", + "(co okie", + "T rip", + "Tr ip", + "Tri p", + "- Mobile", + "-M obile", + "Ġv oll", + "Ġvo ll", + "Ġvol l", + "Ġgen ital", + "Ġconf isc", + "ĠConfeder ate", + "Ġ webView", + "Ġweb View", + "Ġ mise", + "Ġm ise", + "Ġmis e", + "Ġmi se", + "Ġc ler", + "Ġcl er", + "Ġcle r", + "( selection", + "(s election", + "(se lection", + "(select ion", + "(sel ection", + "$ date", + "$d ate", + "Ġsharp en", + "Ġshar pen", + "r agen", + "ra gen", + "rag en", + "rage n", + "And Update", + "Ġre mix", + "Ġrem ix", + "Ġh tons", + "Ġht ons", + "Ġhton s", + "R W", + "M PI", + "MP I", + "Ġretrie val", + "Ġretr ieval", + "Ġrich est", + "Ġri chest", + "Ġric hest", + "Ġriches t", + ". Decode", + ".De code", + ".Dec ode", + ":init Components", + "ĠT Value", + "ĠTV alue", + "S aint", + "Sa int", + "@ include", + "Ġ PERSON", + "ĠPER SON", + ". sep", + ".s ep", + ".se p", + "Ġ LDAP", + "ĠLD AP", + "g ba", + "gb a", + "Ġgro ÃŁe", + "ĠgroÃŁ e", + "Ġreli ably", + "Ġ DFS", + "ĠD FS", + "ĠDF S", + ".get ItemId", + ".getItem Id", + "Ġpré sent", + "Ġprés ent", + ". getToken", + ".get Token", + "Ġch inese", + "Ġchin ese", + "Ġ Meal", + "ĠMe al", + "Y OU", + "YO U", + "\" > >ĊĊ", + "Ġ> >ĊĊ", + "Ġ>> ĊĊ", + "b ower", + "bo wer", + "bow er", + "Ġsw apped", + "Ġswap ped", + "/ install", + "Ġs inks", + "Ġsin ks", + "Ġsink s", + "etr ize", + "etri ze", + "Ġdec lines", + "Ġdecl ines", + "Ġdecline s", + "ĉ mysql", + "ĉm ysql", + "ĉmy sql", + "Ġ CString", + "ĠC String", + "ĠCS tring", + "ĠM otionEvent", + "ĠMotion Event", + ". Language", + ".L anguage", + "R oad", + "Ro ad", + "ÑĤ еÑĢ", + "ÑĤе ÑĢ", + "asc imento", + "' ))->", + "') )->", + "')) ->", + ". about", + ".a bout", + ".ab out", + "( editor", + "(e ditor", + "(ed itor", + "(edit or", + "ĠR atings", + "ĠRa tings", + "ĠRating s", + "ĠRat ings", + "in come", + "inc ome", + "Å¡ e", + ".de queueReusableCell", + "ĠAust rian", + "ĠAustria n", + "ĠAustr ian", + "Ġs ulla", + "Ġsu lla", + "Ġsul la", + "ĠTrib unal", + "Ġ Didn", + "ĠDi dn", + "ĠDid n", + "о ваÑĢ", + "ов аÑĢ", + "ова ÑĢ", + "Ġins pections", + "Ġinspect ions", + "Ġinspection s", + "Ġinsp ections", + "B oss", + "Bo ss", + "Ġcock tails", + "Ġcocktail s", + "Ġapolog ized", + "Ġapologize d", + "_ subplot", + "_sub plot", + "o pal", + "op al", + "opa l", + "+ =(", + "+= (", + "Ġreson ance", + "i bu", + "ib u", + "Ġ 리", + "Ġë ¦¬", + "Ġë¦ ¬", + "r oma", + "ro ma", + "rom a", + "re serve", + "res erve", + "rese rve", + "p ls", + "pl s", + "ĠT ah", + "ĠTa h", + "a xies", + "ax ies", + "O PLE", + "OP LE", + "ĠDar ren", + "ĠZ ombie", + "_ Map", + "_M ap", + "Ġ ])ĊĊ", + "Ġ] )ĊĊ", + "Ġ])Ċ Ċ", + "Ġ]) ĊĊ", + "Ġ Qi", + "ĠQ i", + "ĠS ail", + "ĠSa il", + "ĠSai l", + "Ġrestrict ive", + "Ġeros ion", + "- par", + "-p ar", + "W HITE", + "WH ITE", + "Ġold u", + "Ġol du", + "Ġap erture", + "Ġbit coins", + "Ġbitcoin s", + "text o", + "tex to", + "ĠCom cast", + "Ġtime less", + "Ġtim eless", + "en kins", + "enk ins", + "Ġfe eder", + "Ġfeed er", + "Ġfee der", + "/ tmp", + "/t mp", + "res den", + "+ '_", + "+' _", + ". Destroy", + ".D estroy", + ".De stroy", + "Ġ çok", + "Ġç ok", + "Ġ DOCUMENT", + "ĠD OCUMENT", + "ĠDOC UMENT", + ". lng", + ".l ng", + ". tagName", + ".tag Name", + "Ġk ullan", + "Ġkul lan", + "eg rate", + "egr ate", + "egra te", + "Ġ( *.", + "Ġ(* .", + "ç¼ĸ è¾ij", + "Ġhand shake", + "s oc", + "so c", + "_ geometry", + "_ge ometry", + "_geo metry", + "_geom etry", + "ĠDam ascus", + "Min or", + "Mi nor", + "ĠK afka", + "ĠKaf ka", + "ìĹ ¬", + "Fl orida", + "_ compute", + "_com pute", + "_comp ute", + ". expr", + ".ex pr", + ".exp r", + "Ġ paralle", + "Ġpar alle", + "Ġpara lle", + "ĠD iaz", + "ĠDi az", + "ĠDia z", + "c ir", + "ci r", + "[ target", + "[t arget", + "Ġj oking", + "Ġjo king", + "Ġg lor", + "Ġgl or", + "Ġglo r", + "( setq", + "(set q", + "_ handlers", + "_handler s", + "_handle rs", + "_hand lers", + "H ang", + "Ha ng", + "Han g", + "Ġf err", + "Ġfe rr", + "Ġfer r", + "r iminal", + "rim inal", + "ĉ ĠĠĠĠĉĉ", + "ĉĠĠĠ Ġĉĉ", + "ĉĠ ĠĠĠĉĉ", + "ĉĠĠ ĠĠĉĉ", + "ĉĠĠĠĠ ĉĉ", + "ĉĠĠĠĠĉ ĉ", + "en ties", + "ent ies", + "enti es", + "def ines", + "define s", + "- tax", + "-t ax", + "json p", + "Ġ UPS", + "ĠU PS", + "ĠUP S", + "m etro", + "me tro", + "met ro", + "_ _;Ċ", + "__ ;Ċ", + "__; Ċ", + "ĠUg anda", + "] )):Ċ", + "]) ):Ċ", + "])) :Ċ", + "_ td", + "_t d", + "x ae", + "xa e", + "l w", + ". OS", + ".O S", + "Ġ Logged", + "ĠLog ged", + "a cid", + "ac id", + "aci d", + "ĠM ayo", + "ĠMay o", + "ĠMa yo", + "a spect", + "as pect", + "asp ect", + "Ġvag inal", + "Ġvagina l", + "Ġinitial izing", + "Ġste roids", + "Ġster oids", + "Ġsteroid s", + "f iction", + "fi ction", + "fic tion", + "G RE", + "GR E", + "g end", + "ge nd", + "gen d", + "Ġli abilities", + "Ġ Lets", + "ĠL ets", + "ĠLe ts", + "ĠLet s", + "M ech", + "Me ch", + "( nc", + "(n c", + "( change", + "(ch ange", + "(chan ge", + "Ġconn ectors", + "Ġconnect ors", + "Ġconnector s", + ": k", + "Ġt ast", + "Ġta st", + "Ġtas t", + "! \");ĊĊ", + "!\" );ĊĊ", + "!\");Ċ Ċ", + "!\"); ĊĊ", + "!\") ;ĊĊ", + "th ings", + "thing s", + "thin gs", + "r ophy", + "ro phy", + "rop hy", + "roph y", + "l uetooth", + "lu etooth", + "luet ooth", + "Ġ SignUp", + "ĠSign Up", + ". ctrl", + ".c trl", + ".ct rl", + "Ġthere in", + "Ġther ein", + "or da", + "ord a", + ". escape", + ".e scape", + ".es cape", + "ig ator", + "iga tor", + "Ġpet rol", + "Ġspec imen", + "Ġspeci men", + "Ġdeb uted", + "Ġdebut ed", + "- Pro", + "-P ro", + "Ġcr ises", + "Ġcri ses", + "Ġcris es", + ".add View", + "ëı Ļ", + "- door", + "-d oor", + "-do or", + "Ġm onet", + "Ġmon et", + "Ġmo net", + "Ġm illis", + "Ġmill is", + "Ġmil lis", + "Ġmilli s", + "Ġ vier", + "Ġv ier", + "Ġvi er", + "Ġvie r", + "Internal Enumerator", + "Ġ admins", + "Ġad mins", + "Ġadmin s", + "Ġadm ins", + "ĠL air", + "ĠLa ir", + "z in", + "zi n", + "get Query", + "um bles", + "umb les", + "umble s", + "L IMIT", + "LI MIT", + "ĠV ig", + "ĠVi g", + "_ song", + "_s ong", + "_so ng", + "< Character", + ": :.", + ":: .", + "_ hom", + "_h om", + "_ bp", + "_b p", + "ĠSup ervisor", + "ĠSuper visor", + "ĠSuperv isor", + "sub mission", + "ab ile", + "abil e", + "abi le", + "Ġn oi", + "Ġno i", + "Or Create", + "Ġp eel", + "Ġpe el", + "Ġpee l", + "Ġon Start", + "Ġsent iments", + "Ġsentiment s", + "v ehicles", + "veh icles", + "vehicle s", + "Ġclass rooms", + "Ġclassroom s", + "Ġs zer", + "Ġsz er", + "Ġb ending", + "Ġben ding", + "Ġbend ing", + "Ġlong evity", + "Ġ acl", + "Ġa cl", + "Ġac l", + "ĠAle ppo", + "Ġ UM", + "ĠU M", + "ĠR icht", + "ĠRich t", + "ĠRic ht", + "ĠRi cht", + "Ġmulti processing", + "Ġmultip rocessing", + "DO MAIN", + "DOM AIN", + "\", \"+", + "\",\" +", + "_ YEAR", + "_Y EAR", + "Ġsc rape", + "Ġscr ape", + "Ġscrap e", + "Ġsol itary", + "Ġ\" ]\";Ċ", + "Ġ\"] \";Ċ", + "Ġ\"]\" ;Ċ", + "/ errors", + "/error s", + "ìŀ ¬", + "ľ ëł¥", + "b etter", + "bet ter", + "bett er", + "bette r", + "ĉ number", + "ĉn umber", + "ĉnum ber", + "Ġ LF", + "ĠL F", + "Ġ Across", + "ĠA cross", + "ĠAc ross", + "Pub Med", + "\\ \"\"", + "\\\" \"", + "ĠExcell ence", + "Ġus ando", + "Ġusa ndo", + "ĠU IP", + "ĠUI P", + "Activity Indicator", + "_ VOID", + "_V OID", + "_VO ID", + "Ġbre eds", + "Ġbreed s", + "Ġbree ds", + "ï½ ¥", + "ues tas", + "uest as", + "uesta s", + "ĠTre asure", + "ustr alian", + "ustral ian", + "ustralia n", + "( face", + "(f ace", + "ĠT ennis", + "ĠTen nis", + "ĠTenn is", + "ĉ Int", + "ĉI nt", + "ĉIn t", + "ĠH ansen", + "ĠHan sen", + "ĠHans en", + "ç µ", + ": I", + "Ġ âľĶ", + "Ġâľ Ķ", + "G RAY", + "GR AY", + "GRA Y", + "O USE", + "OU SE", + "OUS E", + "Ġhe pat", + "Ġhep at", + "ł í", + "A IR", + "AI R", + "ó ż", + "Ġ queued", + "Ġque ued", + "Ġqueue d", + "vin cia", + "vi ncia", + "vinc ia", + "ĠCh romium", + "ĠChrom ium", + "Ġcompet ence", + "Ġcompete nce", + "un gal", + "ung al", + "unga l", + "i lli", + "il li", + "ill i", + "Ġget By", + "Ġ Finder", + "ĠF inder", + "ĠFin der", + "ĠFind er", + "ĠFi nder", + "Ġincap able", + "Ġs add", + "Ġsa dd", + "Ġsad d", + "Ġc ites", + "Ġcit es", + "Ġci tes", + "Ġcite s", + "ĠChurch ill", + "S dk", + "More over", + "A spNet", + "As pNet", + "( Float", + "(F loat", + "$ password", + "$p assword", + "Ġ Connor", + "ĠCon nor", + "ĠConn or", + "- session", + "-s ession", + "_ dm", + "_d m", + "* ))", + "*) )", + "Ġde utsch", + "Ġdeut sch", + "Ġ NX", + "ĠN X", + "Ġper ks", + "Ġperk s", + "_ SORT", + "_S ORT", + "_SO RT", + "_TO OL", + "_TOO L", + "_ VISIBLE", + "_V ISIBLE", + "_VIS IBLE", + ". asp", + ".as p", + ".a sp", + "æĪ ĸ", + "ĠBre ath", + "D etect", + "Det ect", + "ĠD uel", + "ĠDu el", + "ĠDue l", + ". cmb", + ".c mb", + ".cm b", + "[ it", + "[i t", + ".Set Bool", + "Ġnarc iss", + "Ġab ide", + "Ġabi de", + "Ġej emplo", + "ĠâĦ ķ", + "Ġm ornings", + "Ġmor nings", + "Ġmorning s", + "Ġcomp utes", + "Ġcomput es", + "Ġcompute s", + ". ssl", + ".s sl", + ".ss l", + "j t", + "Ġm uchos", + "Ġmuch os", + "Ġmu chos", + "Ġmucho s", + "Ġmuc hos", + "_ SS", + "_S S", + "[ end", + "[e nd", + "Ġb asin", + "Ġbas in", + "Ġba sin", + "Ġalg unos", + "Ġalgun os", + "ĠCroat ia", + "line width", + "lin ewidth", + "( tags", + "(t ags", + "(tag s", + "( hidden", + "(h idden", + "ÃŃ cio", + "ÃŃc io", + "Ġa par", + "Ġap ar", + "Ġapa r", + "Ġ ж", + "ĠÐ ¶", + "ä¸ İ", + ". food", + ".f ood", + ".foo d", + "ĠR ural", + "ĠRu ral", + "Ġbread th", + "å½ ±", + "( sess", + "(s ess", + "(se ss", + "+ \")", + "+\" )", + "Ġ Paste", + "ĠP aste", + "ĠPa ste", + "ĠPast e", + "ĠPas te", + "Ġserv idor", + "ĠBit Set", + "ĠT ran", + "ĠTr an", + "ĠTra n", + "l aus", + "la us", + "v ette", + "ve tte", + "vet te", + "e yes", + "ey es", + "eye s", + "Ġ CLICK", + "ĠCL ICK", + "ĠCLI CK", + "ĠV III", + "ĠVI II", + "ĠVII I", + "ĠTur ns", + "ĠTurn s", + "ĠLe Bron", + "ĠM uj", + "ĠMu j", + "Ġ Deg", + "ĠD eg", + "ĠDe g", + "ĠAd ults", + "ĠAdult s", + "_ suite", + "_s uite", + "_su ite", + "process able", + "Ġ PHY", + "ĠP HY", + "ĠPH Y", + "g hest", + "gh est", + ". Fail", + ".F ail", + "ĠS lack", + "ĠSl ack", + "c ej", + "ce j", + "\\ Carbon", + "\\C arbon", + "Ġsuper star", + "Ġsupers tar", + "Ġsuperst ar", + "Ġhold ings", + "Ġholding s", + "Ġhol dings", + "( forms", + "(form s", + "(for ms", + "Ġ' #'", + "Ġ'# '", + "M ultip", + "Multi p", + "Mult ip", + "Mul tip", + "(\" [%", + "(\"[ %", + "- solid", + "-s olid", + "-so lid", + "/ url", + "/u rl", + "- tier", + "-t ier", + "[ length", + "[l ength", + "[len gth", + "Ġ StreamWriter", + "ĠStream Writer", + "ĠMarket place", + "get text", + "gett ext", + "_T ICK", + "_TI CK", + "Ġ Forge", + "ĠF orge", + "ĠFor ge", + "ĠForg e", + "Ġblack jack", + "ĠDO ES", + "ĠDOE S", + "ĠM atters", + "ĠMat ters", + "ĠMatt ers", + "ĠMatter s", + "ĠMatte rs", + "w aves", + "wa ves", + "wave s", + "wav es", + "Ġwhisper ed", + "Ġ lush", + "Ġl ush", + "Ġlu sh", + "ìĺ ¤", + "d igital", + "digit al", + "dig ital", + "Ġw rink", + "Ġwr ink", + "ĠH ogan", + "ĠHo gan", + "ĠHog an", + "Ġrust ic", + "Ġrus tic", + ".Apply Resources", + "ĠH ardy", + "ĠHar dy", + "ĠHard y", + "os omes", + "oso mes", + "osome s", + "A UT", + "AU T", + ". STATE", + ".ST ATE", + "Ġnarr atives", + "Ġnarrative s", + "ĉ store", + "ĉst ore", + "b ib", + "bi b", + "ĉ Scanner", + "ĠC ody", + "ĠCo dy", + "ĠCod y", + "\\ Repositories", + "Ġre union", + "Ġreun ion", + "an dum", + "and um", + "âĢĻ h", + "Ġsn iff", + "NS Bundle", + "Ġcompreh end", + "_ USAGE", + "_US AGE", + "_ occ", + "_o cc", + "_oc c", + "URRE NCY", + "J NI", + "Ġspecial izing", + "Ġ visions", + "Ġv isions", + "Ġvis ions", + "Ġvision s", + "Ġdo lore", + "Ġdol ore", + "Ġdolor e", + "Ġ vá", + "Ġv á", + "ĠChe vy", + "Ġ Styled", + "ĠSt yled", + "ĠStyle d", + "ĠSty led", + "imp act", + "a llen", + "al len", + "all en", + "alle n", + "Ġ kart", + "Ġk art", + "Ġka rt", + "Ġkar t", + "ĠTable t", + "ĠTab let", + "st uff", + "stu ff", + "re esome", + "ree some", + "rees ome", + "а ÑĤоÑĢ", + "аÑĤ оÑĢ", + "аÑĤо ÑĢ", + "//---------------------------------------------------------------- -----------Ċ", + "//- --------------------------------------------------------------------------Ċ", + "_ Admin", + "_Ad min", + "Ġcell phone", + "Ġ autoplay", + "Ġaut oplay", + "Ġauto play", + "Ġautop lay", + "Ġc ambio", + "Ġcam bio", + "Ġcamb io", + "Ġcambi o", + "Ġmar itime", + "Ġmari time", + "_ BOOT", + "_B OOT", + "_BO OT", + "- quarter", + "-qu arter", + "Ġlat ina", + "Ġlatin a", + "ĠAJ AX", + "e quiv", + "equ iv", + "ĠFront ier", + "Ġ XY", + "ĠX Y", + "} ]Ċ", + "}] Ċ", + "ĠR ough", + "ĠRo ugh", + "ĠRou gh", + ". proto", + ".pro to", + ".prot o", + ".pr oto", + "Ġcorrect ness", + "Ġfa cil", + "Ġfac il", + "Ġ Reached", + "ĠRe ached", + "ĠReach ed", + "ãģĿ ãģ®", + "V IS", + "VI S", + ". ps", + ".p s", + "Ġstr ncpy", + "Ġdif fusion", + "Ġdiff usion", + ".start Activity", + "� ��", + "�� �", + "Ġacc omp", + "Ġac comp", + "Ġaccom p", + "AME SPACE", + "AMES PACE", + "imon ials", + "imonial s", + "ĠB last", + "ĠBl ast", + "aby rin", + "Ġd ome", + "Ġdo me", + "Ġdom e", + "Ġext rav", + "Ġextra v", + "Ġextr av", + "Ġ yen", + "Ġy en", + "Ġye n", + "Ġcul inary", + "P RI", + "PR I", + "ĠComm unities", + "ĠCommun ities", + "n id", + "ni d", + "_ operations", + "_oper ations", + "_operation s", + ". hs", + ".h s", + "ĠM ilton", + "ĠMil ton", + "Ġno ises", + "Ġnoise s", + "Ġnoi ses", + "Autoresizing Mask", + "( cid", + "(c id", + "(ci d", + "} ĊĊĊĊĊĊ", + "}Ċ ĊĊĊĊĊ", + "}ĊĊ ĊĊĊĊ", + "}ĊĊĊ ĊĊĊ", + "}ĊĊĊĊ ĊĊ", + "}ĊĊĊĊĊ Ċ", + "] },Ċ", + "]} ,Ċ", + "]}, Ċ", + "Ġ Detection", + "ĠD etection", + "ĠDe tection", + "ĠDet ection", + "ĠDetect ion", + "ta bla", + "tab la", + "tabl a", + "Ġlib erties", + "Ġlibert ies", + "Ġliber ties", + "_D YNAMIC", + "w get", + "wg et", + "ĠT ür", + "ĠP ascal", + "ĠPa scal", + "ĠPas cal", + "Trans parent", + "Del ayed", + "Delay ed", + "] ()", + "]( )", + "ĠHer bert", + "ĠHerb ert", + "< ActionResult", + "", + "}- >", + "Ġpas ado", + "Ġpasa do", + "th ank", + "tha nk", + "than k", + "_ Delete", + "_De lete", + "ĠBr ighton", + "ĠBright on", + "ĠBrig hton", + ", unsigned", + "ä½ľ èĢħ", + "Ġaspir ations", + "Ġaspiration s", + "- how", + "-h ow", + "R ose", + "Ro se", + "Ros e", + "= ((", + "=( (", + "_ needed", + "_ne eded", + "_need ed", + "_ plural", + "_pl ural", + "< Application", + " >ĊĊ", + ">> ĊĊ", + ">>Ċ Ċ", + "Ġsurface d", + "Ġsurf aced", + "Ġìł Ģìŀ¥", + "ĠìłĢ ìŀ¥", + "pl atz", + "plat z", + "pla tz", + "ĉ email", + "ĉe mail", + "ĉem ail", + "cept ors", + "ceptor s", + "cep tors", + "\" >(", + "\"> (", + "Ġe pile", + "Ġep ile", + "è¯ »", + "ĠDe bt", + "ĠDeb t", + "åij Ĭ", + "N OP", + "NO P", + "\" https", + "\"http s", + ": j", + "Form Item", + "_ LICENSE", + "_L ICENSE", + ".get Double", + ".getD ouble", + "ĠAg enda", + "ĠAge nda", + "ĉ finally", + "ĉf inally", + "ĉfinal ly", + "( filters", + "(f ilters", + "(filter s", + "(fil ters", + "( av", + "(a v", + "ç¾ İ", + "A PER", + "AP ER", + "APE R", + "Ġ lava", + "Ġl ava", + "Ġla va", + "Ġlav a", + "еÑĢ Ð¶", + ") )))ĊĊ", + ")) ))ĊĊ", + "))) )ĊĊ", + "))))Ċ Ċ", + ")))) ĊĊ", + "Ġfa ulty", + "Ġfault y", + "_ nm", + "_n m", + "Ġt rava", + "Ġtr ava", + "Ġtra va", + "Ġtrav a", + "( Bitmap", + "(B itmap", + "(Bit map", + "Ġspe eding", + "Ġspeed ing", + "> ').", + ">' ).", + ">') .", + "Ġscreen ed", + "Ġscre ened", + "_ roll", + "_r oll", + "_ro ll", + "ĠMac Book", + "Ġ AUD", + "ĠA UD", + "ĠAU D", + "Ġdiagn ose", + ". Generate", + ".G enerate", + ".Gen erate", + "Ġ ^^", + "Ġ^ ^", + "Ġs trs", + "Ġst rs", + "Ġstr s", + "[ Test", + "[T est", + "Ġr ansom", + "Ġran som", + "ĠDH CP", + "el den", + "eld en", + "Ġinterpret ations", + "Ġinterpretation s", + "( )].", + "() ].", + "()] .", + "flat Map", + "Ġline Height", + "_ mount", + "_m ount", + "_mo unt", + "ĠW izards", + "ĠWizard s", + "Ġsl uts", + "Ġslut s", + "Ġslu ts", + "eh ler", + "o dal", + "od al", + "oda l", + "Ġmilit ia", + "Ġmil itia", + "å ²", + "ear ned", + "earn ed", + "Ġmis ery", + "Ġmise ry", + "Ġmiser y", + "int val", + "f und", + "fun d", + "fu nd", + "Ġh ides", + "Ġhide s", + "Ġhi des", + "Ġhid es", + "Ġdi arr", + "Ġdia rr", + "ĠWes ley", + "Ġ xmm", + "Ġx mm", + "Ġxm m", + "Ġqu em", + "Ġque m", + "Ġq uem", + "ĠAr abs", + "ĠArab s", + "ĠAra bs", + "if th", + "ift h", + "ategor ized", + "ategori zed", + "D isposable", + "Dis posable", + "P ure", + "Pu re", + "_NOT IFY", + "sn ippet", + "ĠGar rett", + "ĠGarr ett", + ". running", + ".r unning", + ".run ning", + ". weights", + ".weight s", + ".we ights", + "Ġ (--", + "Ġ( --", + "Ġ(- -", + "Ġin variant", + "Ġinv ariant", + "äºĭ ä»¶", + "Ġ Allowed", + "ĠAll owed", + "ĠAllow ed", + "d irs", + "dir s", + "di rs", + "Ġpass ions", + "Ġpassion s", + "Ġ lad", + "Ġl ad", + "Ġla d", + "Ġ Flush", + "ĠF lush", + "ĠFl ush", + "ĠFlu sh", + "m enus", + "men us", + "menu s", + ": block", + ":b lock", + "Ġcom pra", + "Ġcomp ra", + "Ġcompr a", + ".ch omp", + "al locator", + "all ocator", + "alloc ator", + "alloca tor", + "Ġcur ated", + "Ġcu rated", + "Ġ Knowing", + "ĠKn owing", + "ĠKnow ing", + "ĠPatt erson", + "Ġt elah", + "Ġte lah", + "Ġtel ah", + "Ġtela h", + "' ex", + "'e x", + "Ġdo omed", + "Ġdoom ed", + "Ġphil anth", + "o tty", + "ot ty", + "ott y", + ". styles", + ".st yles", + ".style s", + "Own ed", + "Ġallerg ies", + "Ġaller gies", + "= params", + "oc ese", + "oce se", + "it elist", + "ite list", + "itel ist", + "iteli st", + "Ġ Sending", + "ĠS ending", + "ĠSen ding", + "ĠSend ing", + "b ef", + "be f", + "or rar", + "orr ar", + "orra r", + "Ġ Não", + "ĠN ão", + "ĠF argo", + "ĠFar go", + "ĠL ub", + "ĠLu b", + "Ġ Combined", + "ĠComb ined", + "ĠCombine d", + "_ given", + "_g iven", + "ĉ ĉĉĉĉĠĠĠĠ", + "ĉĉ ĉĉĉĠĠĠĠ", + "ĉĉĉĉ ĉĠĠĠĠ", + "ĉĉĉ ĉĉĠĠĠĠ", + "ĉĉĉĉĉ ĠĠĠĠ", + "ĉĉĉĉĉĠ ĠĠĠ", + "ĉĉĉĉĉĠĠĠ Ġ", + "ĉĉĉĉĉĠĠ ĠĠ", + "Ġre conciliation", + "Ġreconc iliation", + "Pattern s", + "az ard", + "aza rd", + "azar d", + "Ġbio mass", + "Ġbiom ass", + "ĠH ouses", + "ĠHouse s", + "ĠHo uses", + "ĠHou ses", + "resp uesta", + "c co", + "cc o", + "/ topics", + "/to pics", + "/top ics", + "/topic s", + "ĠY uk", + "ĠYu k", + "Ġweak ened", + "Ġweaken ed", + "_ calendar", + "_c alendar", + "_cal endar", + "Ġmulher es", + "ĠM arl", + "ĠMar l", + "ĠMa rl", + "Ġs ine", + "Ġsi ne", + "Ġsin e", + "ĠT il", + "ĠTi l", + "ĠSo uls", + "ĠSou ls", + "ĠSoul s", + "ĠDe utsche", + "ĠDeutsch e", + "ĠF OLLOW", + "Ġp ipelines", + "Ġpipe lines", + "Ġpipeline s", + "Ġpip elines", + "ĠBever ly", + "_DIP SETTING", + "\" #", + "Ġ Proto", + "ĠPro to", + "ĠPr oto", + "ĠProt o", + ". big", + ".b ig", + ".bi g", + "ĠS avings", + "ĠSav ings", + "ĠSaving s", + "ĠT anz", + "ĠTa nz", + "ĠTan z", + "j un", + "ju n", + "Ġ Gamma", + "ĠG amma", + "ĠGa mma", + "ĠGam ma", + "ĠS add", + "ĠSa dd", + "ĠSad d", + "Ġadv isors", + "Ġadvis ors", + "Ġadvisor s", + "Ġro ast", + "Ġun ters", + "Ġunt ers", + "Ġunter s", + "ud ies", + "udi es", + "_ lon", + "_l on", + "_lo n", + "- pointer", + "-point er", + "-po inter", + "ĠElement Ref", + "\\ Builder", + "example Input", + ". webdriver", + ".web driver", + "data Type", + "Ġ Quite", + "ĠQ uite", + "ĠQu ite", + "ĠQui te", + "ĠQuit e", + "ĠCelt ics", + "ĠCel tics", + "ĠCeltic s", + "u il", + "ui l", + "- defense", + "-def ense", + "b ish", + "bi sh", + "bis h", + "ĠUI Window", + "Ġ Suddenly", + "ĠS uddenly", + ". hot", + ".h ot", + ". reason", + ".re ason", + "Ġg ör", + "Ġgö r", + "A MD", + "AM D", + ". Multi", + ".M ulti", + ".Mult i", + "auth enticated", + "authenticate d", + "reg ions", + "region s", + "; (", + "а ÑĢам", + "аÑĢ Ð°Ð¼", + "аÑĢа м", + "ĠKir by", + "$ route", + "$r oute", + "PREC ATED", + "ĠDur ham", + "o wo", + "ow o", + "ĠPer forms", + "ĠPerform s", + "Ġdisreg ard", + "n st", + "ns t", + "ĠP ols", + "ĠPol s", + "ĠPo ls", + "Ġget P", + "\" ]:", + "\"] :", + "-color ed", + "-col ored", + "( Keys", + "(Key s", + "ĠAl leg", + "ĠAll eg", + "ĠAlle g", + "_ modify", + "_mod ify", + "_ loading", + "_lo ading", + "_load ing", + "s trained", + "str ained", + "stra ined", + "strain ed", + "Ġat roc", + "Ġatr oc", + "_p hr", + "_ph r", + "< Sprite", + "", + "c eph", + "ce ph", + "cep h", + ".DateTime Picker", + ". \";ĊĊ", + ".\" ;ĊĊ", + ".\";Ċ Ċ", + ".\"; ĊĊ", + "ĠT ie", + "ĠTi e", + ", item", + ",i tem", + ",it em", + "Ġm enn", + "Ġme nn", + "Ġmen n", + "G as", + "Ga s", + "o cha", + "oc ha", + "och a", + "_ virtual", + "_v irtual", + "Ġmaster piece", + "_ sequences", + "_se quences", + "_sequence s", + "L TE", + "LT E", + "Ġ Submission", + "ĠSub mission", + "C aller", + "Call er", + "Cal ler", + "Ca ller", + "$ \\", + "S port", + "Sp ort", + "Spo rt", + "ag us", + "agu s", + "Constraint Maker", + "Ġco loc", + "Ġcol oc", + "Ġ wig", + "Ġw ig", + "Ġwi g", + "Ġ У", + "ĠÐ £", + "ĉ Array", + "ĉA rray", + "L ooks", + "Lo oks", + "Look s", + "ĠG TA", + "ĠGT A", + ". steps", + ".st eps", + ".step s", + "atch ewan", + "_ ranges", + "_r anges", + "_range s", + "ext Alignment", + "ĠBren nan", + "Ġab straction", + "Ġabs traction", + "Ġabstract ion", + "Ġabst raction", + "uler Angles", + ". misc", + ".m isc", + ".mi sc", + "Ġantib odies", + "Ġex ponential", + "Ġexponent ial", + "Ġ CHANNEL", + "ĠCH ANNEL", + "exp ense", + "' y", + "Ġdetect ives", + "Ġdetective s", + "Ġpur ported", + "Y STEM", + "YS TEM", + "YST EM", + "Ġradio active", + "ĠLat ina", + "ĠLatin a", + ". Encoding", + ".En coding", + ".Enc oding", + ". TAG", + ".T AG", + "x in", + "xi n", + "D egree", + "De gree", + "Deg ree", + "ur acion", + "ura cion", + "p rices", + "pr ices", + "price s", + "pri ces", + "ĠRefer entialAction", + "Ġr arity", + "Ġrar ity", + "Ġp iles", + "Ġpi les", + "Ġpil es", + "Ġpile s", + "g ende", + "ge nde", + "gen de", + "gend e", + "_ projects", + "_project s", + "_proj ects", + "_ globals", + "_g lobals", + "_global s", + "_glob als", + ". startTime", + ".start Time", + "Ġ 구", + "Ġê µ¬", + "Ġêµ ¬", + "SE CTION", + "SEC TION", + "_ publish", + "_p ublish", + "_pub lish", + "F ault", + "Fa ult", + "D DL", + "DD L", + "_ prior", + "_p rior", + "_pr ior", + "_pri or", + "M om", + "Mo m", + "Ġth icker", + "Ġthick er", + "Ġthi cker", + "Ġ sequelize", + "Ġsequ elize", + "Ġsequel ize", + "Ġess entials", + "Ġessential s", + "s tras", + "st ras", + "str as", + "stra s", + "in tr", + "int r", + "> (()", + ">( ()", + ">(( )", + ". management", + ".man agement", + ".manage ment", + "e il", + "ei l", + "éĹ Ń", + "A ware", + "Aw are", + ". City", + ".C ity", + "ĠAr bit", + "ĠArb it", + "_ DM", + "_D M", + "_ keyboard", + "_key board", + "L Object", + "LO bject", + "- webpack", + "-web pack", + "ĠNew port", + "Ġprincipal Column", + "leg ant", + "Ġp allet", + "Ġpal let", + "Ġpall et", + "Ġfract ure", + "Ġfrac ture", + "Ġ gmail", + "Ġg mail", + "Ġgm ail", + ". Meta", + ".M eta", + ".Me ta", + "A bove", + "Ab ove", + ". KeyEvent", + ".Key Event", + "j it", + "ji t", + "_ macro", + "_m acro", + "_mac ro", + "_ma cro", + "_P USH", + "_PUS H", + "á» ©", + "/ controller", + "/control ler", + "åĬł è½½", + "Ġsuperf icial", + "exter ity", + "Ġ mensagem", + "Ġm ensagem", + "Ġmens agem", + "W ind", + "Win d", + "Wi nd", + "i ston", + "is ton", + "ist on", + "isto n", + ".open api", + "и ÑĢов", + "иÑĢ Ð¾Ð²", + "Ġ Serializer", + "ĠS erializer", + "ĠSerial izer", + "ĠSerialize r", + "uct ive", + "Ġ zar", + "Ġz ar", + "Ġza r", + "P laces", + "Pl aces", + "Place s", + ". Static", + ".St atic", + ".Stat ic", + "B a", + "Ġin advert", + "ĠIndones ian", + "ĠIndonesia n", + "_I PV", + "_IP V", + "( horizontal", + "(h orizontal", + "Ġ getTitle", + "Ġget Title", + "ide press", + "ĠConsole Color", + "i pers", + "ip ers", + "ipe rs", + "iper s", + "$ out", + "$o ut", + "Ġfest ive", + "Ġeven ings", + "Ġevening s", + "Ġeve nings", + ". GetData", + ".Get Data", + "uit ka", + "ĠManual s", + "us sed", + "uss ed", + "_ Max", + "_M ax", + ". Chat", + ".C hat", + ".Ch at", + "ĠA ircraft", + "ĠAir craft", + "= com", + "=c om", + "F OUND", + "FO UND", + "a pro", + "ap ro", + "apr o", + "Ġtre asures", + "Ġtreasure s", + "_ alive", + "_a live", + "_al ive", + "Ġg adget", + "Ġgad get", + "e king", + "ek ing", + "eki ng", + "Button Down", + "B rowsable", + ".PER MISSION", + "P ASSWORD", + "PASS WORD", + "Ġ HASH", + "ĠH ASH", + "ĠHAS H", + "ĠHA SH", + "f é", + "\\ TestCase", + "\\Test Case", + "LO SS", + "LOS S", + "o thers", + "other s", + "oth ers", + ", J", + "Ġass hole", + "Ġassh ole", + "w erk", + "we rk", + "wer k", + "Ġm ã", + ". ie", + ".i e", + "e vil", + "ev il", + "evi l", + "kont akte", + "/ ///////////////////////////////////////////////////////////////////////////////Ċ", + "/// /////////////////////////////////////////////////////////////////////////////Ċ", + "//////////////////////////////////////////////////////////////////////////// ////Ċ", + "//////////////////////////////////////////////////////////////////////////////// Ċ", + "= sys", + "=s ys", + "ĉ lock", + "ĉl ock", + "ĉloc k", + "-- ;ĊĊ", + "--;Ċ Ċ", + "--; ĊĊ", + "_ FUN", + "_F UN", + "Fill Color", + "ó a", + "p rend", + "pr end", + "pre nd", + "Ġcom pressor", + "Ġcompr essor", + "Ġcompress or", + "M other", + "Mo ther", + "Mot her", + "ĠAr cher", + "ĠArch er", + "ĠArc her", + ". goto", + ".g oto", + ".go to", + "Ġwür de", + "Ġbam boo", + "Ġbamb oo", + "ï¼ İ", + "Ġ Trees", + "ĠT rees", + "ĠTr ees", + "ĠTree s", + "ĠTre es", + "Ġb umper", + "Ġbump er", + "Ġbum per", + "Ġsa usage", + "Ġsau sage", + "ĠEl asticsearch", + "ĠElastic search", + "Ġhor izontally", + "Ġhorizontal ly", + "ĠG ul", + "ĠGu l", + "Im mutable", + "Imm utable", + "Ġ loser", + "Ġl oser", + "Ġlo ser", + "Ġlos er", + "Ġlose r", + "Ġab orted", + "Ġabort ed", + "- demo", + "-d emo", + "-de mo", + "-dem o", + "ĠH atch", + "ĠHat ch", + "Ġ unde", + "Ġu nde", + "Ġun de", + "Ġund e", + "Ġpro cesso", + "Ġprocess o", + "Ġproc esso", + "Ġproces so", + "- call", + "-c all", + "-cal l", + "-ca ll", + "In come", + "Inc ome", + "å ĥ", + "_ returns", + "_return s", + "'] .\"'", + "']. \"'", + "'].\" '", + "( sw", + "(s w", + "C BS", + "CB S", + "am ilies", + "ami lies", + "amil ies", + "ĠYour self", + "ĠYours elf", + "ĠH olt", + "ĠHol t", + "ĠHo lt", + ". MON", + ".M ON", + "à§ ĩ", + "ÑĪ Ðµ", + "a non", + "an on", + "ano n", + "Ġ FontAwesome", + "ĠFont Awesome", + "pro ducer", + "produ cer", + "prod ucer", + "produce r", + "j r", + "Ġm au", + "Ġma u", + "ĉ inter", + "ĉint er", + "ĉin ter", + "Ġdish onest", + "Ġm agna", + "Ġmag na", + "Ġmagn a", + "ĠColl ective", + "ĠCollect ive", + "Ġvra iment", + "Ġvrai ment", + "Ġcho ix", + "st ay", + "sta y", + "Ġwel ding", + "Ġweld ing", + "r ising", + "ri sing", + "ris ing", + ", min", + ",m in", + "ĠF ate", + "ĠFa te", + "ĠFat e", + "g lob", + "gl ob", + "RGB A", + "RG BA", + "Ġd ette", + "Ġde tte", + "Ġdet te", + "V en", + "Ve n", + "Ġembarrass ment", + ". DELETE", + ".DE LETE", + "g regar", + "greg ar", + "gre gar", + "- render", + "-r ender", + "-re nder", + "-ren der", + "( bucket", + "(b ucket", + "\" >ĊĊĊ", + "\"> ĊĊĊ", + "\">Ċ ĊĊ", + "\">ĊĊ Ċ", + ".wait Key", + "Bus y", + "Bu sy", + "Ġdifferent iation", + "ĠC ST", + "ĠCS T", + ". Constant", + ".Con stant", + ".Cons tant", + "Ġline Number", + "( matches", + "(m atches", + "(match es", + "(mat ches", + "Ġ websocket", + "Ġweb socket", + "Ġwebs ocket", + "Ġbar red", + "Ġbarr ed", + "Ġpued es", + "Ġpu edes", + "Ġpuede s", + "M ono", + "Mon o", + "Mo no", + "C ORE", + "CO RE", + "COR E", + "I ID", + "II D", + "ĠĠ ĠĠčĊčĊ", + "ĠĠĠĠ čĊčĊ", + "ĠĠĠ ĠčĊčĊ", + "ĠĠĠĠčĊ čĊ", + "Ġpúb lico", + "le aning", + "lean ing", + "lea ning", + "Ġclean sing", + "Ġcleans ing", + "Ġc ris", + "Ġcr is", + "Ġcri s", + "ĠDev ils", + "ĠDevil s", + "_ SETTING", + "_SET TING", + "unt ary", + "unta ry", + ". );Ċ", + ".) ;Ċ", + "Ċ ĠĠĠĊ", + "[ curr", + "[c urr", + "[cur r", + "t sy", + "ts y", + "ĠAlex is", + "ĠAle xis", + "r itel", + "ri tel", + "rit el", + "rite l", + "Ġpet roleum", + "Ġpetrol eum", + ".pre processing", + "m atter", + "mat ter", + "For Result", + "- license", + "-l icense", + "Ġtravel lers", + "Ġtrav ellers", + "Ġtraveller s", + "Ġ Dispatcher", + "ĠDispatch er", + "ĠDisp atcher", + "enn ifer", + "Ġdigest ive", + "P ED", + "PE D", + "hib ition", + "hibit ion", + "MAS ConstraintMaker", + "ĠW att", + "ĠWat t", + "ĠWa tt", + "B enef", + "Ben ef", + ".set View", + "d to", + "dt o", + "T EE", + "TE E", + "ĠPel osi", + "_EX TRA", + "_EXT RA", + "Ġmed als", + "Ġmedal s", + "x hr", + "fore cast", + "for ecast", + "Ġn argin", + "Ġnar gin", + "o uns", + "ou ns", + "oun s", + "- fill", + "-f ill", + "-fi ll", + "_CUR SOR", + "Ġsup ervised", + "Ġsuper vised", + "Ġsuperv ised", + "Ġsupervise d", + "Ġt urf", + "Ġtu rf", + "Ġtur f", + "ĠEd gar", + "POS ITION", + "POSIT ION", + "Ġ categoryId", + "Ġcategory Id", + "â ī", + "_ ER", + "_E R", + "á»§ a", + "Sh own", + "Show n", + ". ll", + ".l l", + "_POL ICY", + "( ),'", + "() ,'", + "(), '", + "Ġ Prev", + "ĠP rev", + "ĠPr ev", + "ĠPre v", + "ĠString Field", + "ĉ Global", + "ĉG lobal", + "as sed", + "ass ed", + "asse d", + "Through out", + "o stringstream", + ".awt extra", + "Ġsl opes", + "Ġslo pes", + "Ġslope s", + "Ġ Sequential", + "ĠSe quential", + "ĠSequ ential", + "Ġgi orn", + "Ġgio rn", + "Ġ zelf", + "Ġz elf", + "Ġze lf", + "Ġzel f", + "Ġvers atility", + "Ġversa tility", + "le neck", + "len eck", + "lene ck", + ". cgi", + ".c gi", + ".cg i", + "Ġdoub ling", + "Ġdou bling", + "ĠBang kok", + "Ġbu urt", + "Ġusu ário", + "st udio", + "stu dio", + "stud io", + "Ġje unes", + "Ġjeune s", + "Ġjeu nes", + "Ġm uted", + "Ġmut ed", + "Ġmu ted", + "Ġmute d", + "Ġ ips", + "Ġi ps", + "Ġip s", + "_ fraction", + "_f raction", + "_fr action", + "_frac tion", + "& &(", + "&& (", + "Ġst unt", + "Ġstu nt", + "Ġstun t", + "') ;?> čĊ", + "}> čĊ", + "Ġev apor", + "b able", + "ba ble", + "bab le", + "Ġ PRICE", + "ĠPR ICE", + "ĠPRI CE", + "Ġ æ³", + "Ġæ ³", + "lu cent", + "Ġv amp", + "Ġva mp", + "ĠTechn ician", + "Ġunique ness", + "Ġuniqu eness", + "M es", + "Me s", + "ur ban", + "urb an", + ".param etrize", + "ĠRe play", + "ĠRep lay", + "S essions", + "Session s", + "em br", + "emb r", + "- Americans", + "-American s", + "-Americ ans", + "_PRO XY", + "Ġp ian", + "Ġpi an", + "Ġ trie", + "Ġt rie", + "Ġtr ie", + "Ġtri e", + "Ġ Destructor", + "ĠD estructor", + "ĠDe structor", + "Game State", + "ĠI MF", + "ĠIM F", + "c hin", + "ch in", + "chi n", + "Ġ porte", + "Ġp orte", + "Ġport e", + "Ġpor te", + "ĠS wal", + "ĠSw al", + "åŁ İ", + "Sub string", + "i ming", + "im ing", + "imi ng", + "imin g", + "/ Library", + "/L ibrary", + "Ġfright ened", + "w rites", + "write s", + "wr ites", + "Ġrec ursos", + "Ġrecurs os", + "ar Result", + "_INIT IALIZ", + "_INITIAL IZ", + "Ġ Badge", + "ĠB adge", + "ĠBad ge", + "ĠBa dge", + "_ crc", + "_c rc", + "_cr c", + "E ight", + "ĠDIST INCT", + "Ġ thro", + "Ġth ro", + "Ġthr o", + "@ Xml", + "Ġ Legendary", + "ĠLegend ary", + "- twitter", + "-t witter", + "-tw itter", + "_ easy", + "_e asy", + "Ġ +++", + "Ġ+ ++", + "Ġ++ +", + "( DATA", + "(D ATA", + ". Locale", + ".L ocale", + ".Local e", + ".Lo cale", + "Ġk ä", + "Ġn urt", + "Ġnu rt", + "Ġnur t", + "Ġcr uis", + "Ġcru is", + "_ ios", + "_i os", + "_io s", + "Ġs ensing", + "Ġsens ing", + "Ġsen sing", + "_ Line", + "_L ine", + "Ċ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "p ong", + "pon g", + "po ng", + "o leon", + "ol eon", + "ole on", + "Ġwild card", + "ç͍æĪ· åIJį", + "Ġbeg ging", + "R od", + "Ro d", + "Ġ Ãİ", + "Ġà İ", + "_ CELL", + "_C ELL", + "_CE LL", + "Research ers", + ". selector", + ".se lector", + ".select or", + ".sel ector", + "_ ing", + "_in g", + "_i ng", + "Ġas piring", + "Ġaspir ing", + "Ġasp iring", + "Ġimm ortal", + "Ġy min", + "_ robot", + "_r obot", + "_ro bot", + "Ġpl ur", + "Ġplu r", + "B TC", + "BT C", + "ĠD ID", + "ĠDI D", + "Ġpier cing", + "* u", + "_ DEFINED", + "_DEF INED", + "_DEFIN ED", + "_DEFINE D", + "ĠT hi", + "ĠTh i", + "i taire", + "it aire", + "ita ire", + "( media", + "(m edia", + "(me dia", + "- ons", + "-on s", + "-o ns", + "Ġch efs", + "Ġche fs", + "Ġchef s", + "Ġ\" *.", + "Ġ\"* .", + "/ AP", + "/A P", + "Ġr azor", + "Ġraz or", + "Ġsearch Data", + "Ġ =&", + "Ġ= &", + "Ġ ãĢĤ", + "ĠãĢ Ĥ", + "Ġm ourn", + "Ġmo urn", + "Ġmou rn", + "Ġmour n", + "t ingham", + "ting ham", + "Ġ oli", + "Ġo li", + "Ġol i", + "ĠVer non", + "ĠVern on", + "_ RS", + "_R S", + "ŀ æĢ§", + "Ġf ácil", + "a ngen", + "an gen", + "ang en", + "ange n", + "ce lain", + "cel ain", + "cela in", + "Ġ ail", + "Ġa il", + "Ġai l", + "l est", + "le st", + "les t", + "ĠQ COMPARE", + "g ain", + "ga in", + "Ġ ε", + "ĠÎ µ", + "ĠK ob", + "ĠKo b", + "Ġ Fault", + "ĠF ault", + "ĠFa ult", + "ĠFaul t", + "_ configs", + "_config s", + "_conf igs", + "ç»ĵ æŀľ", + ". +", + "c alar", + "ca lar", + "cal ar", + "cala r", + "( colors", + "(color s", + "(col ors", + "M ul", + "Mu l", + "_ ART", + "_A RT", + "_AR T", + "Ġexperiment ing", + "er men", + "erm en", + "ĠAng lo", + ".Fixed Single", + "S ea", + "Se a", + "Ġ ctxt", + "Ġc txt", + "Ġctx t", + "Ġct xt", + ". slider", + ".s lider", + ".sl ider", + ".slide r", + "C ollapse", + "Coll apse", + "G rey", + "Gr ey", + "Gre y", + "Ġ fld", + "Ġf ld", + "Ġfl d", + "- proof", + "-p roof", + "-pro of", + ". capacity", + ".cap acity", + "get Parent", + "ĠCom pliance", + "Ġbur gl", + "Ġburg l", + "- rec", + "-r ec", + "-re c", + "Ġover written", + "M U", + "Ġr outers", + "Ġro uters", + "Ġroute rs", + "Ġrout ers", + "Ġrouter s", + "Ġrou ters", + "ĉ Model", + "ĉM odel", + "Ġfantas ies", + "av ian", + "avi an", + "avia n", + "_ prec", + "_p rec", + "_pr ec", + "_pre c", + "ĠSc andin", + "ĠScan din", + "Ġ// <", + "Ġ/ /<", + "/ oct", + "/o ct", + "Ġceremon ies", + "Mon ths", + "Month s", + "Mont hs", + "un dy", + "und y", + "Ġqu ed", + "Ġque d", + "Ġq ued", + "ĠN ou", + "ĠNo u", + "ĠV ibr", + "ĠVi br", + "ĠVib r", + ". rgb", + ".r gb", + "Ġcit rus", + "Ġbr aces", + "Ġbra ces", + "Ġbrace s", + "- uppercase", + "-upper case", + "get Table", + "Ġd opo", + "Ġdo po", + "Ġdop o", + "ĠK err", + "ĠKe rr", + "ĠKer r", + "_ CHILD", + "_CH ILD", + "- cloud", + "-c loud", + "-cl oud", + "ĉ Matrix", + "ĉM atrix", + "ĉMat rix", + "Ġgarden ing", + "Ġgard ening", + "S ing", + "Si ng", + "Sin g", + "al most", + "alm ost", + "Require ments", + "Requirement s", + "ugu ay", + "( Property", + "(P roperty", + "sub scriber", + "subscribe r", + "F AST", + "FA ST", + "re action", + "react ion", + "rea ction", + "( lp", + "(l p", + ") })Ċ", + ")} )Ċ", + ")}) Ċ", + "` ).", + "`) .", + ". wallet", + ".w allet", + ".wall et", + "_ exchange", + "_ex change", + ". Maximum", + ".Max imum", + "Ġ Verb", + "ĠV erb", + "ĠVer b", + "ĠVe rb", + "âĶ ģ", + "( )<", + "() <", + "ï¼Ľ Ċ", + "R OT", + "RO T", + "C ARD", + "CA RD", + "CAR D", + "u bit", + "ub it", + "ubi t", + "{ @", + "_ kel", + "_k el", + "_ke l", + "Ġ Tooltip", + "ĠTo oltip", + "ĠTool tip", + "My SQL", + "Main Activity", + "a rf", + "ar f", + "Ġm align", + "Ġmal ign", + "Ġse inen", + "Ġsein en", + "Ġseine n", + "Ġsei nen", + "ap ist", + "api st", + "apis t", + "Ġ< %", + "Method Impl", + "M il", + "Mi l", + "ĠM ick", + "ĠMi ck", + "ĠMic k", + ". depend", + ".d epend", + ".de pend", + ".dep end", + "< ID", + " >&", + ">> &", + "ĉ ok", + "ĉo k", + "- low", + "-l ow", + "-lo w", + ". usuario", + ".us uario", + "n ested", + "ne sted", + "nes ted", + "nest ed", + "X B", + "OUR S", + "OU RS", + ". BorderColor", + ".Border Color", + "Ġb row", + "Ġbr ow", + "Ġbro w", + "Ġ Ðķ", + "ĠÐ ķ", + "c orr", + "co rr", + "cor r", + "ĠRed skins", + "ĠReds kins", + ".get Tag", + ".get Transaction", + "Ġst igma", + "har dt", + "hard t", + "ĠPlayer Prefs", + "al sy", + "als y", + "uc son", + "ucs on", + "L anguages", + "Language s", + "ĠOl ivia", + "ĠOliv ia", + "Ġt ac", + "Ġta c", + "Ġb li", + "Ġbl i", + "Ġc aval", + "Ġca val", + "Ġcav al", + "Ġconsolid ated", + "Ġconsolidate d", + "Ġper il", + "Ġpe ril", + "Ġperi l", + "Ġd ele", + "Ġde le", + "Ġdel e", + "Ġform ulated", + "Ġformula ted", + "Ġformul ated", + "Ġformulate d", + "Ġhigh ways", + "Ġhighway s", + ". spawn", + ".s pawn", + ".sp awn", + "= =$", + "== $", + "ĠN iet", + "ĠNi et", + "ĠNie t", + "Ġv eggies", + "Ġveg gies", + "y po", + "yp o", + "- rule", + "-r ule", + "ĠV ie", + "ĠVi e", + "/e pl", + "Ġenf ants", + "string Literal", + "Ġtough est", + "Ġtou ghest", + "bu yer", + "buy er", + "Ġcov ariance", + "Ġ ili", + "Ġi li", + "Ġil i", + "ĠSoph ie", + "Ġ BAB", + "ĠB AB", + "ĠBA B", + "Ġ \"),", + "Ġ\" ),", + "Ġ\") ,", + "ĠU k", + "current Index", + "_ userdata", + "_user data", + ". codec", + ".co dec", + ".code c", + ".cod ec", + "ĠPun jab", + "ĠS NP", + "ĠSN P", + "l ol", + "lo l", + "adv ance", + "Ġcom fy", + "Json Ignore", + "Ġfashion able", + "Ġ ICON", + "ĠI CON", + "ĠIC ON", + "ĠICO N", + "Ġ ora", + "Ġo ra", + "Ġor a", + "ĠP ricing", + "ĠPr icing", + "ĠPri cing", + "< num", + " E", + "t ering", + "ter ing", + "te ring", + "teri ng", + "/ screens", + "/s creens", + "/screen s", + "Ġheight ened", + "аÑĢ ÑĤ", + "Author ities", + "_ bbox", + "_b box", + "_bb ox", + "ü nst", + "ün st", + "üns t", + ". fontSize", + ".font Size", + "Ġ BOOLEAN", + "ĠBO OLEAN", + "div ide", + "di vide", + "divid e", + "ĠS loven", + "ĠSl oven", + "ĠSlo ven", + "ĠSlov en", + "u cer", + "uc er", + "uce r", + "Ù Ĵ", + "st ub", + "stu b", + "Ġnavig ating", + ": animated", + "_ NOW", + "_N OW", + "_NO W", + "_ vect", + "_v ect", + "_vec t", + "_ve ct", + "} {Ċ", + "}{ Ċ", + "@ (", + "Ġtele com", + "Ġtel ecom", + "Ġcontract ing", + "Ġcontr acting", + "ĠAss ange", + "Ġextract ing", + "Ġextr acting", + "Ġgr ö", + "c obra", + "co bra", + "cob ra", + ". DIS", + ".D IS", + "Ġc rab", + "Ġcr ab", + "Ġcra b", + "Ġt witch", + "Ġtw itch", + "Ġ verts", + "Ġv erts", + "Ġver ts", + "Ġvert s", + "Ġve rts", + "Ġreject s", + "Ġrej ects", + "ĉ format", + "ĉfor mat", + "ĉform at", + "Ġre generation", + "Ġreg eneration", + ". Sys", + ".S ys", + "s olve", + "sol ve", + "ĉ dialog", + "ĉd ialog", + "s hi", + "sh i", + "m eter", + "me ter", + "met er", + "( best", + "(b est", + "(be st", + "valid ators", + "validator s", + "Ġon wards", + "Ġonward s", + "Ġg uru", + "Ġgu ru", + "Ġmod erator", + "Ġmoder ator", + "ow ied", + "owie d", + "owi ed", + "ex periment", + "r ub", + "ru b", + "Ġ mqtt", + "Ġm qtt", + "Ġmq tt", + "ĠCa ucas", + "Ġnational ism", + "Ġm ange", + "Ġman ge", + "Ġma nge", + "Ġmang e", + "ĉ ImGui", + "/ Edit", + "/E dit", + "Ġ inh", + "Ġin h", + "Ġi nh", + "Ġint ellig", + "Ġintel lig", + "ero kee", + "ĉ export", + "ĉex port", + "ĉexp ort", + "Ġdiscrim inate", + "Ġdiscrimin ate", + "sub tract", + "ĠM oodle", + "ĠMoo dle", + "ĠMood le", + "en ser", + "ens er", + "ense r", + "ĠGu ides", + "ĠGuid es", + "ĠGuide s", + "ĠGui des", + "R AP", + "RA P", + "- hot", + "-h ot", + "_ grp", + "_g rp", + "_gr p", + ". picture", + ".p icture", + ".pic ture", + "X A", + "Ġinit View", + "_ Comm", + "_C omm", + "_Com m", + "Ġoverd ose", + "Ġ +ĊĊ", + "Ġ+ ĊĊ", + "Ġ+Ċ Ċ", + "ĠS ilent", + "ĠSil ent", + "sh ows", + "show s", + "Ġinter polate", + "Ġinterpol ate", + "Ġinterp olate", + "Form ation", + "Format ion", + "Ġb isc", + "Ġbi sc", + "Ġbis c", + "mark ets", + "market s", + "( SC", + "(S C", + "Z e", + "Ġ Networking", + "ĠNetwork ing", + "ĠNet working", + "Ġad renal", + "Ġadr enal", + "ĠG uns", + "ĠGu ns", + "ĠGun s", + "et eor", + "ete or", + "De clared", + "Decl ared", + "Declare d", + "orge town", + "orget own", + "Ġk arena", + "Ġka rena", + "Ġkar ena", + "/ password", + "/p assword", + "/pass word", + "_ addresses", + "_add resses", + "_address es", + "_addr esses", + "IT ERAL", + "ITE RAL", + "ITER AL", + "B uzz", + "Bu zz", + "ĠCon way", + "( case", + "(c ase", + "(ca se", + "P WD", + "PW D", + "he iro", + "hei ro", + "( act", + "(a ct", + "(ac t", + "* *čĊ", + "** čĊ", + "( ));ĊĊĊ", + "() );ĊĊĊ", + "());Ċ ĊĊ", + "()) ;ĊĊĊ", + "());ĊĊ Ċ", + "()); ĊĊĊ", + "Ġa nv", + "Ġan v", + "Ġ ..ĊĊ", + "Ġ. .ĊĊ", + "Ġ.. ĊĊ", + "Ġ..Ċ Ċ", + "( MenuItem", + "(Menu Item", + "( mail", + "(m ail", + "_ sections", + "_s ections", + "_se ctions", + "_section s", + "ĉ net", + "ĉn et", + "Ġp lut", + "Ġpl ut", + "Ġplu t", + "Ġw rench", + "Ġwr ench", + "/ object", + "/o bject", + "ĠI st", + "ĠIs t", + "Ġ VIS", + "ĠV IS", + "ĠVI S", + "/ pub", + "/p ub", + "al ten", + "alt en", + "alte n", + "Ġguitar s", + "Ġguit ars", + "Ġantib iotic", + "Ġantibiot ic", + "ï¼ ĸ", + " ¹", + "Ġ \"+\"", + "Ġ\" +\"", + "Ġ\"+ \"", + "form ula", + "Ġba bes", + "Ġbab es", + "Ġbabe s", + "Ġ Prompt", + "ĠP rompt", + "ĠProm pt", + "Ġe nim", + "Ġen im", + "/ player", + "/p layer", + "/pl ayer", + "/play er", + "ĉ ref", + "ĉr ef", + "ĉre f", + "Ġby Äĩ", + "Ġcons umes", + "Ġconsum es", + "Ġconsume s", + "ĠH ast", + "ĠHas t", + "ĠHa st", + "ĠT ao", + "ĠTa o", + "Ġ '))Ċ", + "Ġ' ))Ċ", + "Ġ') )Ċ", + "Ġc lam", + "Ġcl am", + "Ġcla m", + "Ġthigh s", + "Ġmot if", + "Ġmo tif", + "Api Operation", + "Ġ WL", + "ĠW L", + "get C", + "ĉ flags", + "ĉf lags", + "ĉflag s", + "oint ments", + "ointment s", + "Ġeconomic al", + "Ġeconom ical", + "need le", + "nee dle", + "x ls", + "xl s", + "pr actice", + "ut zer", + "utz er", + "time ofday", + "- output", + "-out put", + "Ġ findById", + "Ġfind ById", + "ĠfindBy Id", + "ĠB uddy", + "ĠBudd y", + "ĠBu ddy", + "ĠBud dy", + "Ðŀ ÑĤ", + "S even", + "Se ven", + "ĠB ark", + "ĠBar k", + "ĠBa rk", + "Ġen voy", + "Ġenv oy", + "_ algorithm", + "_al gorithm", + "åĪ ©", + "Ġball istic", + "ç§ »", + "r ades", + "ra des", + "rad es", + "rade s", + "ĉ doc", + "ĉd oc", + "ĉdo c", + "rodu cing", + "rod ucing", + "ĠE ating", + "ĠEat ing", + "ĠEa ting", + "Un mount", + "/data Tables", + "_ bonus", + "_b onus", + "Ġl itt", + "Ġli tt", + "Ġlit t", + "p ps", + "pp s", + ") localObject", + "pe rf", + "per f", + "Ġ Helvetica", + "ĠHel vetica", + "sh utdown", + "/ ml", + "/m l", + ". tokens", + ".t okens", + ".token s", + "ĠHard core", + ", row", + ",r ow", + "/ bg", + "/b g", + "S caler", + "Sc aler", + "Scale r", + "âĢĶ as", + "âĢĶa s", + "_log its", + "âĢĻ int", + "âĢĻin t", + "âĢĻi nt", + "ĉ App", + "ĉA pp", + "Impl icit", + "Imp licit", + ".F printf", + "E TO", + "ET O", + "Ġ terra", + "Ġt erra", + "Ġter ra", + "Ġterr a", + "Ġpossess ing", + ". rstrip", + ".r strip", + ".rs trip", + ", ),", + ",) ,", + "= yes", + "=y es", + "Ġ Stripe", + "ĠSt ripe", + "ĠStr ipe", + "ĠStrip e", + "? =", + "ne utral", + ". good", + ".g ood", + ".go od", + "Ġk ennen", + "Ġke nnen", + "Ġken nen", + "Ġkenn en", + "ĠS ung", + "ĠSun g", + "ĠSu ng", + "f ault", + "fa ult", + "ystate change", + "Can adian", + "',' \".$", + "ĠM its", + "ĠMi ts", + "ĠMit s", + "æ nd", + "Ġ STRUCT", + "ĠSTR UCT", + "ĠURL WithString", + "ĠCom pass", + "ĠComp ass", + "Ġ --ĊĊ", + "Ġ- -ĊĊ", + "Ġ-- ĊĊ", + "Ġ--Ċ Ċ", + "ĠNS LayoutConstraint", + "| min", + "|m in", + "- adjust", + "-ad just", + "Ġre built", + "Ġreb uilt", + "L IGHT", + "/ se", + "/s e", + "- mount", + "-m ount", + "v pn", + "vp n", + "valid ated", + "validate d", + "( QObject", + "(Q Object", + "Ġign ition", + "ĠChar gers", + "ĠCharg ers", + "ĠCharge rs", + "ĠCharger s", + "RYPT O", + "]initWith Frame", + "Ġ Fluid", + "ĠFl uid", + "ĠFlu id", + "Ġca dre", + "Ġcad re", + "Ġnom inations", + "Ġnomin ations", + "Ġnomination s", + "Ne ill", + "Neil l", + "ĠH ou", + "ĠHo u", + "Ġcurrent s", + "Ġcurr ents", + "_ gene", + "_g ene", + "_gen e", + "_ge ne", + "( inp", + "(i np", + "(in p", + "P aris", + "Par is", + "Pa ris", + "z ÄĻ", + "ag gregate", + "Ġ assoc", + "Ġas soc", + "Ġass oc", + "we eted", + "weet ed", + "er rat", + "err at", + "erra t", + "âĢĵ ĊĊ", + "Ġ' /',Ċ", + "Ġ'/ ',Ċ", + "Ġ'/' ,Ċ", + "Ġ'/', Ċ", + "f ixture", + "fix ture", + "Ġ Highest", + "ĠH ighest", + "ĠHigh est", + "ĠHi ghest", + "amb ient", + "ambi ent", + "Ġ chmod", + "Ġch mod", + "Ġ conte", + "Ġc onte", + "Ġcon te", + "Ġcont e", + "Ġco nte", + "Ġs ensual", + "Ġsens ual", + "Ġgar ment", + "z ers", + "ze rs", + "zer s", + "Ġ Powered", + "ĠP owered", + "ĠPower ed", + "ĠPow ered", + "dom ains", + "domain s", + "R eward", + "Re ward", + "Rew ard", + "i omanip", + "Ġcock pit", + "out file", + "Ġ builtin", + "Ġb uiltin", + "Ġbuilt in", + "Ġins isting", + "Ġinsist ing", + ". vars", + ".v ars", + ".var s", + ".va rs", + "zip code", + "Ġ ����", + "Ġ� ���", + "f ails", + "fa ils", + "fail s", + "Ġconsolid ation", + "_ oid", + "_o id", + "Plan et", + "Plane t", + "Ġ =\",", + "Ġ= \",", + "Ġ=\" ,", + "ĉ el", + "ĉe l", + "U ILT", + "UI LT", + "UIL T", + "ä tz", + "ät z", + "af ari", + "afa ri", + "ĠMc Cl", + "ĠMcC l", + "T imeline", + "Time line", + "Tim eline", + "E sta", + "Est a", + "Es ta", + "Ġ fram", + "Ġf ram", + "Ġfr am", + "Ġfra m", + "Y E", + "Ġcere bral", + "Of Month", + "ĠP regn", + "ĠPre gn", + "Ġкл аÑģÑģ", + "ĠклаÑģ Ñģ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠF res", + "ĠFr es", + "ĠFre s", + "Ap proved", + "Appro ved", + ". Special", + ".S pecial", + ".Spec ial", + ".Sp ecial", + "ĠProte stant", + "ĠProtest ant", + "Ġall ergy", + "Ġallerg y", + "Ġaller gy", + "_ pcm", + "_p cm", + "_pc m", + "ĉ Copyright", + "ĉC opyright", + "Ġsuper Class", + "\" strconv", + "ĠMoh amed", + "Ġ' //", + "Ġ'/ /", + "Fore Color", + "Ar thur", + "Art hur", + "ĠJ ungle", + "ĠJun gle", + "ĠJu ngle", + "ĠJung le", + "Ġve ins", + "Ġvein s", + "S ad", + "Sa d", + "Ġback ups", + "Ġbackup s", + "ĠOp inion", + "û t", + "Ġinter mitt", + "o dyn", + "od yn", + "ody n", + "ĠChrist ina", + "Ġ andre", + "Ġand re", + "Ġan dre", + "Ġevac uation", + "p alette", + "pa lette", + "pal ette", + "h orse", + "hor se", + "ĠRes ident", + "ĠHas san", + "ĠHass an", + ". Nil", + ".N il", + "Ġa isle", + "Ġais le", + "Ġ Growing", + "ĠG rowing", + "ĠGr owing", + "ĠGro wing", + "ĠGrow ing", + "Ġblog info", + "/ sql", + "/s ql", + "_ ioctl", + "_io ctl", + "S caling", + "Sc aling", + "Ġ Monad", + "ĠMon ad", + "ĠMo nad", + "ĠMona d", + "_ cpp", + "_c pp", + "_cp p", + "ĠH utch", + "ĠHut ch", + "ĠApple WebKit", + "Exp ense", + "_ JOB", + "_J OB", + "_JO B", + "Ġpoint less", + "From Body", + "an tal", + "ant al", + "anta l", + "Ġdepict ing", + "Ġ CELL", + "ĠC ELL", + "ĠCE LL", + "ĠCEL L", + "Ġre fin", + "Ġref in", + "ĠC NC", + "ĠCN C", + "ì¹ ĺ", + "_ dimensions", + "_dim ensions", + "_dimension s", + "Ġ SAN", + "ĠS AN", + "ĠSA N", + "Ġ aft", + "Ġa ft", + "Ġaf t", + "Ġfoot steps", + "c coli", + "cc oli", + "cco li", + "_ PHONE", + "_P HONE", + "_PH ONE", + "/ math", + "/m ath", + "/mat h", + "- kind", + "-k ind", + "Ġ Means", + "ĠMe ans", + "ĠMean s", + "ich ael", + "icha el", + ". guna", + ".g una", + "Ġinaug uration", + "Ġinaugur ation", + "-dr iving", + "( delete", + "(de lete", + "(del ete", + "Ġ totalCount", + "Ġtotal Count", + "_ MC", + "_M C", + ". Extension", + ".Ext ension", + "Com mercial", + "Comm ercial", + "Ġz Index", + "< Customer", + "$", + "\"> $", + "Ġe bay", + "Ġeb ay", + "Ġc aptive", + "Ġca ptive", + "Ġcapt ive", + "pl iant", + "ĠCalculate s", + "ĠCalcul ates", + "ĠCalc ulates", + "ol ta", + "olt a", + "es ting", + "est ing", + "esti ng", + "_ revision", + "_re vision", + "_rev ision", + "Ġm ús", + "Ġmú s", + "+ m", + "\",\" \",\"", + "\",\"\", \"", + "WH AT", + "Ġcompass ionate", + "Ġcompassion ate", + "h arga", + "har ga", + "[ random", + "[r andom", + "[rand om", + "Ġ modulo", + "Ġmod ulo", + "( sn", + "(s n", + "Ġoccup ations", + "Ġoccupation s", + "/ ///Ċ", + "// //Ċ", + "//// Ċ", + "/// /Ċ", + "ĉ board", + "ĉb oard", + "ĠB alk", + "ĠBa lk", + "ĠBal k", + "w iÄħ", + "wi Äħ", + "Ġ Wifi", + "ĠW ifi", + "ĠWi fi", + ". Profile", + ".Pro file", + ".Pr ofile", + ": maj", + ":m aj", + "ĉ mat", + "ĉm at", + "LOCK S", + "LOC KS", + "(j Button", + "Ġ ('$", + "Ġ( '$", + "Ġ(' $", + "M ur", + "Mu r", + "æĮ ī", + "b ble", + "bb le", + "Ġ frog", + "Ġf rog", + "Ġfr og", + "Ġfro g", + "- hide", + "-h ide", + "Ġbroad caster", + "Ġbroadcast er", + "ภŀ", + "h aled", + "ha led", + "hal ed", + "Ġam using", + "_ predictions", + "_pre dictions", + "_pred ictions", + "_predict ions", + "_prediction s", + "_ intr", + "_in tr", + "_int r", + "Ġe agle", + "Ġea gle", + "Ġeag le", + "аÑĤ елÑĮ", + "аÑĤе лÑĮ", + "Ġ getList", + "Ġget List", + "ps ilon", + "psi lon", + "Ġcharacter ization", + "AR DS", + "ARD S", + "Ġre location", + "Ġrel ocation", + "Ġreloc ation", + "Ġr ulers", + "Ġrule rs", + "Ġru lers", + "Ġruler s", + "P AY", + "PA Y", + "ĠDef initely", + "_ Action", + "_A ction", + "_Act ion", + "Ġc losures", + "Ġclos ures", + "Ġclosure s", + "Ġf actual", + "Ġfact ual", + "Ġfac tual", + "o dynamic", + "od ynamic", + "odyn amic", + "odynam ic", + "Ġpreca utions", + "Ġprecaution s", + "n iej", + "ni ej", + "nie j", + "ĠPart ies", + "ĠPar ties", + "ĠParti es", + "ĠSub aru", + "ĠSu baru", + "Ġcous ins", + "Ġcousin s", + "ar beit", + ". money", + ".m oney", + ".mo ney", + ".mon ey", + "g unta", + "gun ta", + "( and", + "(a nd", + "(an d", + "get item", + ".Style Priority", + "Ġs lid", + "Ġsl id", + "s ingleton", + "single ton", + "sing leton", + "Ġg arn", + "Ġgar n", + "Ġga rn", + "ĠP AS", + "ĠPA S", + "Ġd azz", + "Ġda zz", + "a ż", + "Ġbog us", + "ĠM og", + "ĠMo g", + "Ġrival ry", + "i sol", + "is ol", + "iso l", + "Ġland marks", + "Ġlandmark s", + "ñ as", + "ña s", + "B ern", + "Be rn", + "Ber n", + "ĠS achs", + "ĠSa chs", + "ĠSac hs", + "ĠSach s", + "Ġ \")ĊĊ", + "Ġ\" )ĊĊ", + "Ġ\") ĊĊ", + "Ġ\")Ċ Ċ", + "Ġhost ility", + "Ġhos tility", + "_m ex", + "_me x", + "m ere", + "mer e", + "me re", + "M ot", + "Mo t", + "p ictureBox", + "picture Box", + "Def ense", + "Ġaffid avit", + "other wise", + ". directory", + ".d irectory", + ".direct ory", + "_ UnityEngine", + "_Un ityEngine", + "- blog", + "-b log", + "-bl og", + ". skin", + ".s kin", + ".sk in", + "p hem", + "ph em", + "phe m", + "Ap ellido", + "er chant", + "[ class", + "[c lass", + "Ġ wart", + "Ġw art", + "Ġwar t", + "Ġwa rt", + ". \"[", + ".\" [", + "a leur", + "al eur", + "ale ur", + "/ back", + "/b ack", + "ĠĠĠĠ ĉĠĠĠ", + "ĠĠĠ ĠĉĠĠĠ", + "ĠĠĠĠĉ ĠĠĠ", + "ĠĠĠĠĉĠ ĠĠ", + "Ġprecip itation", + "Ġob struction", + "Ġobstruct ion", + "Ġp Obj", + "Ġ rupt", + "Ġr upt", + "Ġru pt", + "U CKET", + "UCK ET", + "a ye", + "ay e", + "æİ Ĵ", + "g x", + "Ġe cl", + "Ġec l", + "Ġsecre cy", + "/ Header", + "ĠLe sb", + "ĠLes b", + "Ġ lei", + "Ġl ei", + "Ġle i", + "Ġ Bulletin", + "ĠBull etin", + "ĠBullet in", + "Ġgive away", + ". Home", + ".H ome", + "_ ROOM", + "_R OOM", + "_RO OM", + "\" W", + "Ġco work", + "Ġcow ork", + "_ ra", + "_r a", + "ĠC ycling", + "ĠCy cling", + "ĠCycl ing", + "ĠCyc ling", + "ĠP aw", + "ĠPa w", + "Ġp upil", + "Ġpup il", + "/ arch", + "/a rch", + "/ar ch", + "ĠFile Utils", + "é¦ ĸ", + "r sp", + "rs p", + "Ġfreedom s", + "Ġfreed oms", + "ĠL ear", + "ĠLe ar", + "} `).", + "}` ).", + "Ġbow ls", + "Ġbowl s", + "/ block", + "/b lock", + "/bl ock", + "_ logging", + "_log ging", + "Ġme thane", + "Ġmeth ane", + "Ġh orns", + "Ġhor ns", + "Ġhorn s", + "Ġwonder fully", + "Ġwonderful ly", + "Ġalter ations", + "Ġalteration s", + "Ġex ile", + "l sen", + "ls en", + "lse n", + "_ pause", + "_p ause", + "_pa use", + "_ LANGUAGE", + "_L ANGUAGE", + "_LANG UAGE", + "ĠUS DA", + "ĠUSD A", + "_ mysql", + "_m ysql", + "_my sql", + "_AM OUNT", + "ĠL IFE", + "ĠLI FE", + "Ġyoung sters", + "Ġyoungster s", + "Ġri ots", + "Ġriot s", + "Ġrio ts", + "[ E", + "Ġun forgettable", + ", },Ċ", + "Dis posed", + "Dispose d", + "Disp osed", + "ĠAss assin", + "ĠAssass in", + "U NG", + "UN G", + "ĠNew sp", + "ĠNews p", + "User Service", + ": aload", + ":a load", + "+ ',", + "+' ,", + "Ġsett lers", + "Ġsettle rs", + "Ġscre ams", + "Ġscream s", + "Ġincon venience", + ". Rotate", + ".R otate", + "Ġj ars", + "Ġja rs", + "Ġjar s", + "ĠP uzzle", + "ĠPu zzle", + "Ġm est", + "Ġme st", + "Ġmes t", + "ar si", + "ars i", + "ĠS harma", + "ĠSh arma", + "ĠShar ma", + "| (", + ". ds", + ".d s", + "ĠSa cred", + "ĠSac red", + "ĠSacr ed", + "_ evt", + "_e vt", + "_ev t", + "Ġexp resses", + "Ġexpress es", + "Ġexpr esses", + "Ġexpres ses", + "Ġh och", + "Ġho ch", + "Ġhoc h", + "ĠD uch", + "ĠDu ch", + "ĠDuc h", + ". calls", + ".c alls", + ".call s", + ".cal ls", + "t hr", + "th r", + "ĠShe ffield", + ". AlertDialog", + ".Alert Dialog", + "Ġrad ically", + "Ġradical ly", + "Ġt rous", + "Ġtr ous", + "Ġtro us", + "Ġtrou s", + "Ġprev ailing", + "Ġprevail ing", + "ĠWW II", + "âĢĻ n", + "ens ely", + "ense ly", + "Ġ Yesterday", + "ĠY esterday", + "ĠSir ius", + "ĠSiri us", + "Ġkill ers", + "Ġkil lers", + "Ġkiller s", + "Ġ FFT", + "ĠF FT", + "ĠFF T", + "Ġ oval", + "Ġo val", + "Ġov al", + "' ):čĊ", + "') :čĊ", + "'): čĊ", + "Ġ ìłķë³´", + "Ġìłķ ë³´", + "ou rage", + "our age", + "Ġ Checkbox", + "ĠCheck box", + "Work book", + ". defer", + ".de fer", + ".def er", + "_ floor", + "_f loor", + "_fl oor", + "Ġc ouncill", + "Ġcouncil l", + "Ġnors ke", + "Ġnorsk e", + "m oil", + "mo il", + "o rea", + "or ea", + "ore a", + "Ġmark eted", + "Ġmarket ed", + "_ SUR", + "_S UR", + "_SU R", + "x AA", + "xA A", + "Ġst ained", + "Ġsta ined", + "Ġstain ed", + "e ut", + "eu t", + "ĠM eng", + "ĠMe ng", + "ĠMen g", + "Ġ ieee", + "Ġi eee", + "Ġie ee", + ". extern", + ".ex tern", + ".ext ern", + "e gie", + "eg ie", + "Ġr app", + "Ġrap p", + "Ġra pp", + "ĠPy ongyang", + "' class", + "M ob", + "Mo b", + "Ġinitial Value", + "_ wave", + "_w ave", + "Ġ jab", + "Ġj ab", + "Ġja b", + "Ġmascul ine", + "Ġampl ifier", + "Ġ tty", + "Ġt ty", + "Ġtt y", + "Path Component", + "_ xt", + "_x t", + "ĠG FP", + "ĠGF P", + "/ sec", + "/s ec", + "/se c", + "ĉ dispatch", + "ĉdis patch", + "mark down", + "ĠS chn", + "ĠSc hn", + "ĠSch n", + "b ole", + "bo le", + "bol e", + "· ·", + "mouse move", + "Ġ errMsg", + "Ġerr Msg", + "Ġa sign", + "Ġas ign", + "Ġasi gn", + "_ mono", + "_m ono", + "_mon o", + "_mo no", + "To Selector", + "ĠZ u", + "( Rect", + "(R ect", + "Ġ ErrorCode", + "ĠError Code", + "l atin", + "la tin", + "lat in", + "ang ible", + "angi ble", + "v tk", + "vt k", + "CG Size", + "P okemon", + "Pok emon", + "Ġclass mates", + "Ġat tracts", + "Ġattr acts", + "Ġattract s", + "ĠT atto", + "ĠTat to", + "ul tan", + "ult an", + "ulta n", + "ol óg", + "Ġh alted", + "Ġhal ted", + "Ġhalt ed", + "ठ¨", + "ĠK art", + "ĠKar t", + "ĠKa rt", + "Ġ ue", + "Ġu e", + "_Init Structure", + "_InitStruct ure", + "Test Class", + "ĠAir bnb", + "_ \",", + "_\" ,", + "Ġchar coal", + "Ġ ipc", + "Ġi pc", + "Ġip c", + "Ġ Stretch", + "ĠSt retch", + "ĠStr etch", + ".g lide", + ".gl ide", + "lates AutoresizingMaskIntoConstraints", + "Ġp otion", + "Ġpo tion", + "Ġpot ion", + "ITT LE", + "Ġcount ert", + "Ġcounter t", + "_ hd", + "_h d", + "pre pared", + "prepare d", + "prep ared", + "A ds", + "Ad s", + "ĠV ampire", + "ro bots", + "robot s", + "rob ots", + ".Create Index", + "Status Label", + "Ġt ucked", + "af ür", + "U t", + "Ġswe ater", + "Ġsweat er", + "_ FN", + "_F N", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĉ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġĉ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĉ", + "at aka", + "ata ka", + "atak a", + "Ġeyeb rows", + "Ġeyebrow s", + "a coes", + "ac oes", + "aco es", + "u den", + "ud en", + "ude n", + ".Linear LayoutManager", + ".LinearLayout Manager", + "Ġs way", + "Ġsw ay", + "Ġmult in", + "Ġmulti n", + "Ġmul tin", + "( ))))Ċ", + "() )))Ċ", + "()) ))Ċ", + "())) )Ċ", + "()))) Ċ", + "Ġ NSUInteger", + "ĠNS UInteger", + "ĠMy Base", + "P artner", + "Part ner", + "uts chen", + "utsch en", + "utsche n", + "ĠC ater", + "ĠCa ter", + "ĠCat er", + ".set BackgroundColor", + ".setBackground Color", + "Ġaccompl ishment", + "Ġaccomplish ment", + "_ problem", + "_pro blem", + "_prob lem", + ".d td", + ".dt d", + "Ġ pageNumber", + "Ġpage Number", + "ĠpageNum ber", + "Ġj ackets", + "Ġjack ets", + "Ġjacket s", + "Ġc ropped", + "Ġcr opped", + "Ġcro pped", + "Ġcrop ped", + "u els", + "ue ls", + "uel s", + "ĠH ep", + "ĠHe p", + "Ġc apped", + "Ġcap ped", + "Ġca pped", + "* Math", + "*M ath", + "_ callbacks", + "_callback s", + "_call backs", + "Ġp ubb", + "Ġpub b", + "Ġpu bb", + "ĠBrun swick", + ". respond", + ".res pond", + ".resp ond", + "[ \"_", + "[\" _", + "Ġbed ding", + "hyth m", + "O X", + "( speed", + "(s peed", + "(sp eed", + "Ġpest icides", + "Ġpestic ides", + "Ġpesticide s", + "Ġ -------", + "Ġ- ------", + "Ġ-- -----", + "Ġ---- ---", + "Ġ--- ----", + "Ġ----- --", + "Ġ------ -", + ". Blue", + ".B lue", + ".Bl ue", + "Ġn oodles", + "Ġnood les", + "ĠG oes", + "ĠGo es", + "Ġs aver", + "Ġsa ver", + "Ġsave r", + "Ġsav er", + "o xy", + "ox y", + "_ completion", + "_com pletion", + "_comp letion", + "ĠSw inger", + "ĠSwing er", + "Ġ getDate", + "Ġget Date", + "Ġm inded", + "Ġmin ded", + "Ġmind ed", + "int egration", + "integr ation", + "ĠLot us", + "( stop", + "(s top", + "(st op", + "(', ');Ċ", + "(',' );Ċ", + "(',') ;Ċ", + "Ġfl oods", + "Ġflo ods", + "Ġflood s", + "Ġ Workflow", + "ĠWork flow", + "Ġe rupted", + "Ġerupt ed", + "M acro", + "Mac ro", + "Ma cro", + "ĠS auce", + "ĠSa uce", + "ĠSau ce", + "Ġ eventName", + "Ġevent Name", + "\\ Input", + "Break ing", + "Bre aking", + "ĉ when", + "ĉw hen", + "_ pw", + "_p w", + "I NDER", + "IN DER", + "IND ER", + "ĠWell ness", + "Ġv oxel", + "Ġvox el", + "ĠM ell", + "ĠMe ll", + "ĠMel l", + "Ġ MEDIA", + "ĠM EDIA", + "ĠMED IA", + "S ENS", + "SE NS", + "SEN S", + "ĠF unds", + "ĠFund s", + "ĠFun ds", + "ĠFu nds", + "ĠM ild", + "ĠMil d", + "ĠMi ld", + "< Array", + "Ċ", + "') ;?>Ċ", + "'); ?>Ċ", + "');?> Ċ", + "Ġtemp ting", + "Ġtempt ing", + "Ġtest ament", + "Ġb ible", + "Ġbi ble", + "Ġbib le", + "Ġconsult ed", + "Ġconsul ted", + "ĠIndex Error", + "è¨ ĺ", + "Ġkey pad", + "Ġke ypad", + "i zzo", + "iz zo", + "izz o", + "( ok", + "(o k", + "Ġwh atsapp", + "Ġwhats app", + "ĠRemote Exception", + "Ġte amed", + "Ġteam ed", + "Ġtea med", + "âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ", + "» ,", + "Ġ getTime", + "Ġget Time", + "d iag", + "di ag", + "dia g", + "is sy", + "iss y", + "Ġ hed", + "Ġh ed", + "Ġhe d", + "Ġkn ots", + "Ġknot s", + "j om", + "jo m", + "Ġf unnel", + "Ġfun nel", + "-m ails", + "-mail s", + "Ġexp orting", + "Ġexport ing", + "Ġ VL", + "ĠV L", + "ĠK arn", + "ĠKar n", + "ĠKa rn", + "ĠBuddh ism", + "ĠAl lan", + "ĠAll an", + "ĠAlla n", + "_R ADIUS", + "Ġw ording", + "Ġword ing", + "Ġwor ding", + "Ġ Forget", + "ĠF orget", + "ĠFor get", + "ĠForge t", + "ĠForg et", + "ĠCor ona", + "ĠCoron a", + "i phy", + "ip hy", + "iph y", + "Ġlim burg", + "Ġlimb urg", + "ug gy", + "ugg y", + "ĠUser Repository", + "i min", + "im in", + "imi n", + "( ele", + "(e le", + "(el e", + "Ġlabel led", + "Ġlab elled", + "ç¤ ¾", + "ĠH erman", + "ĠHer man", + "ĠHerm an", + ". qq", + ".q q", + "Ġ \"));Ċ", + "Ġ\" ));Ċ", + "Ġ\") );Ċ", + "Ġ\")) ;Ċ", + "ie ber", + ". Translate", + ".Trans late", + "r yn", + "ry n", + "Ġdes env", + "Ġdese nv", + "u md", + "um d", + "Sim ply", + "ĉ mode", + "ĉm ode", + "ĉmod e", + "R pc", + "Rp c", + "ĠVal encia", + "ĠVale ncia", + "Ġstaff ers", + "Ġstaffer s", + "Ġse lv", + "Ġsel v", + "ĠS pike", + "ĠSp ike", + "ĠSpi ke", + "Ġd elic", + "Ġde lic", + "Ġdel ic", + "Ġ eru", + "Ġe ru", + "Ġer u", + "_ DT", + "_D T", + "J udge", + "Jud ge", + "Ju dge", + "á» ķ", + "ĠB asin", + "ĠBa sin", + "ĠBas in", + ". mutable", + ".m utable", + ".mu table", + "\" url", + "Ġtar iff", + "Ġtarif f", + "ĠSlee ve", + "ĠSle eve", + "Ġ flare", + "Ġfl are", + "Ġfla re", + ". dropout", + ".drop out", + "Ġb rides", + "Ġbr ides", + "Ġbri des", + "Ġbride s", + "Ġbrid es", + ") ),čĊ", + ")) ,čĊ", + ")), čĊ", + "_ constraints", + "_con straints", + "_constraint s", + "d estruct", + "de struct", + "Out line", + "Ġdisappe ars", + "Ġdisappear s", + "_ locked", + "_l ocked", + "_lock ed", + "_loc ked", + "ĠNS LocalizedString", + "c ke", + "ck e", + "ĉ null", + "ĉn ull", + "ad resse", + "adr esse", + "adress e", + "Ġt opping", + "Ġto pping", + "Ġtop ping", + "Ġtopp ing", + "ĠJ oker", + "ĠJo ker", + "b ishop", + "bi shop", + "bis hop", + "bish op", + "н оÑģÑĤÑĮ", + "но ÑģÑĤÑĮ", + "ноÑģÑĤ ÑĮ", + "ноÑģ ÑĤÑĮ", + "and ering", + "ander ing", + "ande ring", + "_ amp", + "_a mp", + "_am p", + "= time", + "=t ime", + "_ Space", + "_S pace", + "_P ULL", + "' =", + "Ġant iqu", + "Ġanti qu", + "Ġc ach", + "Ġca ch", + "Ġcac h", + "_ __ĊĊ", + "__ _ĊĊ", + "___ ĊĊ", + "O NES", + "ON ES", + "ONE S", + "о Ñı", + "Ġ unread", + "Ġun read", + "Ġunre ad", + "Ġunr ead", + ". policy", + ".p olicy", + ".pol icy", + "oooo oooo", + "ëŁ ¬", + "Ġ usted", + "Ġu sted", + "Ġus ted", + "Ġust ed", + "ĠR ece", + "ĠRe ce", + "ĠRec e", + "Ġal lem", + "Ġall em", + "Ġalle m", + "ãĥ¼ ãĤ¹", + "ãĥ¼ãĤ ¹", + "ĠThough ts", + "ĠThought s", + "ve illance", + "i strate", + "ist rate", + "istr ate", + "istra te", + "istrat e", + "_ lane", + "_l ane", + "_la ne", + "Ġf amed", + "Ġfam ed", + "Ġfa med", + "Ġfame d", + ". GetName", + ".Get Name", + "Ġsmooth er", + "Ġsmo other", + "Ġ Qualified", + "ĠQual ified", + "a zers", + "az ers", + "aze rs", + "azer s", + "_ geo", + "_g eo", + "_ge o", + "F ax", + "Fa x", + "ĠM inds", + "ĠMin ds", + "ĠMi nds", + "ĠMind s", + "Ġ Raises", + "ĠR aises", + "ĠRa ises", + "ĠRaise s", + "ĠRai ses", + "Ġtrans cripts", + "Ġtran scripts", + "Ġtranscript s", + "Con versation", + "Ġre marked", + "Ġrem arked", + "Ġremark ed", + "Ġremar ked", + "ëĤ ĺ", + "d ling", + "dl ing", + "Ġdeploy ing", + "Ġshared Application", + "Ġ kp", + "Ġk p", + "FontAwesome Icon", + "_ dummy", + "_d ummy", + "re iben", + "reib en", + "rei ben", + "ĠJane iro", + "Dir ections", + "Direction s", + "Direct ions", + "Di rections", + "Dire ctions", + ".get Bean", + ".getB ean", + "s ass", + "sa ss", + "Ġcomm anders", + "Ġcommand ers", + "Ġcommander s", + "Ġcommande rs", + "v ation", + "va tion", + "vat ion", + "error Code", + "ĠAl loy", + "ĠAll oy", + ". localized", + ".local ized", + "Ð ij", + "Ġdish washer", + "Ġ Soup", + "ĠS oup", + "ĠSo up", + "ĠSou p", + "N u", + "_ Default", + "_D efault", + "_De fault", + "_Def ault", + "Ġun even", + "Ġune ven", + "Ġ />\";Ċ", + "Ġ/ >\";Ċ", + "Ġ/> \";Ċ", + "- Based", + "-B ased", + "Ġseam lessly", + "Ġseamless ly", + "- null", + "-n ull", + "Ġ XC", + "ĠX C", + "Ġst ew", + "Ġste w", + "( delay", + "(d elay", + "(de lay", + "(del ay", + "AT ORS", + "ATOR S", + "ATO RS", + "ĠWhe eler", + "ĠWheel er", + "\" H", + "e ast", + "ea st", + ". air", + ".a ir", + ".ai r", + "âĢľ But", + "Object Context", + "success fully", + "successful ly", + "_ land", + "_l and", + "_la nd", + "Ġf olds", + "Ġfol ds", + "Ġfold s", + "Ġfo lds", + "_ COORD", + "_CO ORD", + "Ġsub po", + ".get Address", + ".g etAddress", + "in str", + "ins tr", + "inst r", + "Material s", + "Ñĥ ÑģÑĤ", + "ÑĥÑģ ÑĤ", + "de posit", + "dep osit", + "- last", + "-l ast", + "-la st", + "_ GRAY", + "_G RAY", + "_GR AY", + "_GRA Y", + "= find", + "=f ind", + "Ġmut ant", + "Ġmu tant", + "Ġlesb ienne", + "Ġlesbi enne", + "let cher", + "R OUGH", + "RO UGH", + "ur eka", + "ure ka", + ". capture", + ".c apture", + ".cap ture", + "Ġ enn", + "Ġe nn", + "Ġen n", + "Ġ ([[", + "Ġ( [[", + "Ġ([ [", + "ĠF lu", + "ĠFl u", + "Ġ taskId", + "Ġtask Id", + "ĠHus sein", + "ĠHuss ein", + ". folder", + ".f older", + ".fold er", + "Ġa usterity", + "IST RATION", + "ISTR ATION", + "_ Impl", + "_I mpl", + "注 æĦı", + "Ġdec ree", + "Ġdecre e", + "- chat", + "-c hat", + "-ch at", + "Ġim plication", + "Ġimp lication", + "Ġimpl ication", + "Ġimplic ation", + "Ġgu esses", + "Ġguess es", + "ul kan", + "ulk an", + "An alytics", + "Analy tics", + ". plus", + ".p lus", + ".pl us", + "COM MAND", + "COMM AND", + "е ли", + "ел и", + "» ĊĊ", + "»Ċ Ċ", + "_ SITE", + "_S ITE", + "_SI TE", + "Ġ equalTo", + "Ġequal To", + "Support FragmentManager", + "Ġ Recording", + "ĠRec ording", + "ĠRecord ing", + "å®Į æĪIJ", + "Ġbag gage", + "Ġpitch ers", + "Ġpit chers", + "Ġpitcher s", + "ĠE h", + "o que", + "oq ue", + "ĉ cnt", + "ĉc nt", + "Ġ =>$", + "Ġ= >$", + "Ġ=> $", + "/ foo", + "/f oo", + "I RA", + "IR A", + "ĠSat ellite", + "bo rah", + "bor ah", + "Ġ }}\"Ċ", + "Ġ} }\"Ċ", + "Ġ}} \"Ċ", + "Ġ}}\" Ċ", + "ĠE nds", + "ĠEn ds", + "ĠEnd s", + "ĠS pray", + "ĠSp ray", + "ĠSpr ay", + ", param", + ",p aram", + ". Chrome", + ".Ch rome", + "* q", + "th ought", + "though t", + "ib rated", + "ibr ated", + "ibrate d", + "Ġth ieves", + "Ġbenefici aries", + "En tered", + "Ent ered", + "Enter ed", + "ottes ville", + "otte sville", + "Ġveter in", + "Ġvet erin", + "By ID", + "qu ipe", + "quip e", + "qui pe", + "um ption", + "ump tion", + "umpt ion", + "- unit", + "-un it", + "-u nit", + "Execution Context", + "@ s", + "ĠG iov", + "ĠGi ov", + "ĠGio v", + ". ToolTip", + ".Tool Tip", + "_ friend", + "_f riend", + "( attributes", + "(at tributes", + "(attribute s", + "Ġd umping", + "Ġdump ing", + "Ġdum ping", + "Ġ JC", + "ĠJ C", + "_ DOCUMENT", + "_D OCUMENT", + "_DOC UMENT", + "ĠAr mour", + "ĠArm our", + "( insert", + "(in sert", + "(ins ert", + ". HorizontalAlignment", + ".Horizontal Alignment", + "Ġ Qed", + "ĠQ ed", + "ãģĦ ãģ¾ãģĻ", + "/ git", + "/g it", + "Ġ YYYY", + "ĠY YYY", + "ĠYY YY", + "ĠCar diff", + "ĠCard iff", + "Ġ apa", + "Ġa pa", + "Ġap a", + "org anic", + "organ ic", + "ĠWhere as", + "ĠWhe reas", + "Ġ æĿ", + "Ġæ Ŀ", + "ĠM ia", + "ĠMi a", + "Ġdemol ition", + "Ġs cars", + "Ġsc ars", + "Ġsca rs", + "Ġscar s", + "Ġ pai", + "Ġp ai", + "Ġpa i", + "Ġre tries", + "Ġret ries", + "Ġretrie s", + "Ġretr ies", + "Ġ rq", + "Ġr q", + "ĠD enis", + "ĠDe nis", + "ĠDen is", + "( Utils", + "(Util s", + "Ġallev iate", + "Ġ PIC", + "ĠP IC", + "ĠPI C", + "i due", + "id ue", + "Ġacknowled ging", + "Ġ// ////////////////////////////////", + "Ġ////////////////// ////////////////", + "ç¡® å®ļ", + "Ä «", + "\\ Json", + ". binary", + ".b inary", + ".bin ary", + "Ġx type", + "Ġxt ype", + "sign als", + "signal s", + "Ġ Appearance", + "ĠAp pearance", + "& r", + "} s", + "C i", + "ĠI llum", + "ĠIl lum", + "ĠIll um", + "p orate", + "por ate", + "po rate", + "pora te", + "h og", + "ho g", + "Ġ indexOf", + "Ġindex Of", + "\\ Command", + "_ parallel", + "_par allel", + "ĠSher lock", + "í ĥ", + "Ġ\" \")čĊ", + "Ġ\"\" )čĊ", + "Ġ\"\") čĊ", + "//////////////// ////////////////////////////////////////////////////////////////////////////////", + "//////////////////////////////// ////////////////////////////////////////////////////////////////", + "//////////////////////////////////////////////////////////////// ////////////////////////////////", + "//////////////////////////////////////////////// ////////////////////////////////////////////////", + "//////////////////////////////////////////////////////////////////////////////// ////////////////", + "Ġcritic ize", + "Ġ Soap", + "ĠSo ap", + "Ġ Matcher", + "ĠM atcher", + "ĠMat cher", + "ĠMatch er", + "Ġgr illed", + "Ġgrill ed", + "Ġgrille d", + "* T", + "Ġad ore", + "Ġado re", + "ul ling", + "ull ing", + "Ġje doch", + "Ġjed och", + "_ refs", + "_re fs", + "_r efs", + "_ref s", + "lean up", + "ĠJ AXB", + "ĠJA XB", + "Ġr oses", + "Ġro ses", + "Ġrose s", + "Ġros es", + "ĠL iam", + "ĠLi am", + "ĠLia m", + "size i", + "siz ei", + "Ġget char", + "Ġgetch ar", + "Ġt arde", + "Ġtar de", + "Ġtard e", + "- tooltip", + "-to oltip", + "-tool tip", + "Ġqual ifier", + "Ġ Intermediate", + "ĠInter mediate", + "_ Window", + "_W indow", + "ĠM alta", + "ĠMal ta", + "Dis connect", + "e where", + "ew here", + "C ampo", + "Cam po", + "Camp o", + "Ġirr ational", + "l edo", + "le do", + "led o", + "Ġ DN", + "ĠD N", + "AR GV", + "ARG V", + "Ġout ro", + "Ġou tro", + "Ġoutr o", + "Ġth irteen", + "Jose ph", + "Jos eph", + "M AR", + "MA R", + "/ gl", + "/g l", + "J ess", + "Je ss", + "ĠPsych iat", + "Ġpadding Bottom", + "- loop", + "-l oop", + "-lo op", + "/ fonts", + "/font s", + "_ seen", + "_s een", + "_se en", + "Te ams", + "Team s", + "React DOM", + "( man", + "(m an", + "( xpath", + "(x path", + ". getSimpleName", + ".get SimpleName", + "> (*", + ">( *", + "ĠP vt", + "ĠPv t", + "Ġel ders", + "Ġelder s", + "Ġelde rs", + "Ġ pies", + "Ġp ies", + "Ġpie s", + "Ġpi es", + ".user Agent", + "- region", + "-reg ion", + "ĠGre eks", + "ĠGreek s", + "ĠGree ks", + "( fragment", + "(f ragment", + "(fr agment", + "s tu", + "st u", + "Ġcouncil s", + "Ġst amina", + "Ġsta mina", + "ĠGod dess", + "è ¥¿", + "è¥ ¿", + "Ġphilosoph ers", + "Ġphilosopher s", + "Ġperson e", + "Ġpers one", + "Ġperso ne", + "ĠL ose", + "ĠLo se", + "ĠLos e", + "Ġ CLR", + "ĠC LR", + "ĠCL R", + "Ġ Docs", + "ĠD ocs", + "ĠDo cs", + "ĠDoc s", + "Ġso ak", + "Ġ HOLDER", + "ĠH OLDER", + "ĠHOLD ER", + "ĠHOL DER", + "Ġb ells", + "Ġbel ls", + "Ġbell s", + "hash Code", + "R ATE", + "RA TE", + "_WE IGHT", + "in ous", + "ino us", + "inou s", + "en dra", + "end ra", + "oph obic", + "Ġp rose", + "Ġpro se", + "Ġpr ose", + "Ġpros e", + "Ġf inely", + "Ġfin ely", + "Ġfine ly", + "/ oauth", + "/o auth", + "( space", + "(s pace", + "(sp ace", + "a dge", + "ad ge", + "ĠM ama", + "ĠMa ma", + "ĠMam a", + "Ġstring Buffer", + "Ġst int", + "Ġm isma", + "Ġmis ma", + "Ġmism a", + "Ġvill ains", + "Ġvillain s", + "Ġvilla ins", + "ĠCrime a", + "Ġdipl oma", + "Ġdiplom a", + "Ġпо Ñģл", + "ĠпоÑģ л", + "ĠB ea", + "ĠBe a", + "( join", + "(j oin", + "Ġ íķ´", + "Ġíķ ´", + "CH AT", + "CHA T", + "p ering", + "pe ring", + "per ing", + "peri ng", + "ĠC ros", + "ĠCr os", + "ĠCro s", + "Ġmon keys", + "Ġmonkey s", + "Ġp reds", + "Ġpr eds", + "Ġpre ds", + "Ġpred s", + "y la", + "yl a", + ", ,,", + ",, ,", + "Ġv ibrator", + "Ġvibr ator", + "Ġ NU", + "ĠN U", + "åħ Ī", + "f ant", + "fa nt", + "fan t", + "z et", + "ze t", + "Ġb ietet", + "un ft", + "s worth", + "sw orth", + ". Flow", + ".F low", + ".Fl ow", + "Ġpsych ed", + "Ġpsy ched", + "Ġpsyche d", + "ĠContin ental", + "ĠContinent al", + "> t", + "Ġqu ilt", + "Ġq uilt", + "Ġqui lt", + "Ġquil t", + ". UP", + ".U P", + "Ġexpans ive", + "Dis pose", + "Disp ose", + "( language", + "(l anguage", + "C aps", + "Cap s", + "Ca ps", + "_ ZONE", + "_Z ONE", + "Ġre cycle", + "Ġr ecycle", + "Ġrec ycle", + "Ġrecycl e", + "Ġ Managed", + "ĠMan aged", + "ĠManage d", + "ĠMana ged", + "current Color", + ". broadcast", + ".b roadcast", + "sign In", + ". prom", + ".p rom", + ".pro m", + ".pr om", + "l lu", + "ll u", + "ue blo", + "Ġpun ches", + "Ġpunch es", + "Ġaut omat", + "Ġauto mat", + "Ġautom at", + "Ġassign ing", + "Ġcreate User", + "ĠAl lied", + "ĠAll ied", + "Ġcon ductor", + "Ġconduct or", + "Ġcond uctor", + "Ġconduc tor", + "Ġcondu ctor", + "Ĥ ¨", + "Ġs addle", + "Ġsad dle", + "Ġsadd le", + "Ġ dni", + "Ġd ni", + "Ġdn i", + "o medical", + "omed ical", + "- West", + "-W est", + "Positive Button", + "Ġ italic", + "Ġit alic", + "? [", + "( trigger", + "(tr igger", + "Ġele phants", + "Ġelephant s", + "\":\" \",\"", + "\":\"\" ,\"", + "Ġcal iber", + "raft ed", + "raf ted", + "d igits", + "digit s", + "dig its", + "Ġ marshal", + "Ġm arshal", + "Ġmar shal", + "Ġmarsh al", + "Ġmars hal", + "m illiseconds", + "mill iseconds", + "m arkers", + "mark ers", + "mar kers", + "marker s", + "m om", + "mo m", + "/ place", + "/p lace", + "/pl ace", + "Ġhol istic", + ": t", + "# ,", + "Ġb oto", + "Ġbo to", + "Ġbot o", + "Ġnause a", + "Ġnau sea", + "ĠSh ooting", + "ĠShoot ing", + "ĠSho oting", + "i tech", + "it ech", + "ite ch", + "Ġtext Status", + "< Class", + " ())Ċ", + ">( ))Ċ", + ">() )Ċ", + ">()) Ċ", + "ADD RESS", + "ADDR ESS", + "B ST", + "BS T", + "et zt", + "etz t", + "ĠQ gs", + "S ense", + "Sen se", + "Exception Handler", + "ĠC hu", + "ĠCh u", + ".get OwnProperty", + "Ġexerc ised", + "Ġexercise d", + "i otic", + "io tic", + "iot ic", + "ĠRe leases", + "ĠRelease s", + "Ġp interest", + "o lie", + "ol ie", + "oli e", + "i soft", + "is oft", + "iso ft", + "Ġsequ encing", + "Ġpa dre", + "Ġpad re", + "Ġpadr e", + "] ));čĊ", + "]) );čĊ", + "])) ;čĊ", + "])); čĊ", + "( radius", + "(r adius", + "(rad ius", + ". med", + ".m ed", + ".me d", + "ain ties", + "aint ies", + ".Object Model", + "Ġ emple", + "Ġem ple", + "Ġemp le", + "Ġseg uro", + "Ġsegu ro", + "St ars", + "Star s", + "Ġqual itative", + "le mn", + "lem n", + "á» ±", + "> \").", + ">\" ).", + ">\") .", + "Ġ gx", + "Ġg x", + "- cert", + "-c ert", + "-ce rt", + "ĠA STM", + "ĠAS TM", + "ĠAST M", + "Ġ fullname", + "Ġfull name", + "Ġful lname", + "Ġte lemetry", + "Ġtele metry", + "ĠCamb odia", + "_ ul", + "_u l", + "ĠCl are", + "ĠClar e", + "ĠCla re", + "C USTOM", + "Q C", + "ĠU ns", + "ĠUn s", + "Ġ HTTPS", + "ĠHTTP S", + "ĠPar kinson", + "ĠPark inson", + "ancy box", + "', '.", + "',' .", + "T ue", + "Tu e", + ". getLast", + ".get Last", + "Ġ abi", + "Ġa bi", + "Ġab i", + "Äħ d", + "A st", + "As t", + "Ġ Editing", + "ĠEd iting", + "ĠEdit ing", + ". Unity", + ".Un ity", + ".Unit y", + "j mp", + "jm p", + "Ġm ats", + "Ġmat s", + "Ġma ts", + "Ġshared Preferences", + "Cap tain", + "Capt ain", + ". pageSize", + ".page Size", + "Ġ rtl", + "Ġr tl", + "Ġrt l", + "Ġan meld", + "Runtime Object", + "Ġdem ande", + "Ġdemand e", + "( \";", + "(\" ;", + "se ite", + "sei te", + "- headed", + "-head ed", + "-he aded", + "ĠK ra", + "ĠKr a", + "Ġ FONT", + "ĠF ONT", + "ĠFO NT", + "` \\", + "Class NotFoundException", + ". avg", + ".a vg", + ".av g", + "a tical", + "at ical", + "atic al", + "ati cal", + "atica l", + "A j", + "Ġpermit ting", + "Ġperm itting", + "P roj", + "Pro j", + "Pr oj", + "ERR Q", + "Ġcre ampie", + "Ġcream pie", + "ĠBuy er", + "ĠBu yer", + "- modules", + "-mod ules", + "-module s", + "ĠSunday s", + "ĠSun days", + "ĠSund ays", + "| `Ċ", + "Ġday time", + "Ġ +(", + "Ġ+ (", + "Ġgl itch", + "Ġ Operand", + "ĠOper and", + "ĠOpera nd", + "Ġtox ins", + "Ġtoxin s", + "i nya", + "in ya", + "iny a", + "D NS", + "DN S", + "ĠS as", + "ĠSa s", + "C ake", + "Ca ke", + "ĠNational s", + "ĠNation als", + ". addTo", + ".add To", + "Ġs inking", + "Ġsin king", + "Ġsink ing", + "Ġcompreh ension", + "Ġs cor", + "Ġsc or", + "Ġsco r", + "a gements", + "ag ements", + "age ments", + "agement s", + "agem ents", + "Ġt ard", + "Ġta rd", + "Ġtar d", + "Ġm arching", + "Ġmar ching", + "Ġmarch ing", + "ĠM TV", + "ĠMT V", + "Ġs ane", + "Ġsa ne", + "Ġsan e", + "Create Info", + "Ạ¯", + "Ġend Index", + "ĉ layout", + "ĉl ayout", + "Ġ åIJį", + "ĠåIJ į", + "S ITE", + "SI TE", + "ĠT HERE", + "ĠTHE RE", + "ĠTH ERE", + "Ġ[ {'", + "Ġ[{ '", + "opath ic", + "opa thic", + "Ġtrans mitter", + "Ġtransmit ter", + "/ body", + "/b ody", + "Ġp und", + "Ġpun d", + "Ġpu nd", + "Ġ Closing", + "ĠC losing", + "ĠCl osing", + "ĠClo sing", + "Ġ setattr", + "Ġset attr", + "Ġ bounded", + "Ġb ounded", + "Ġbo unded", + "Ġbound ed", + "At las", + "Atl as", + "s uming", + "sum ing", + "su ming", + "( times", + "(t imes", + "(time s", + "(ti mes", + "p arer", + "par er", + "pare r", + "pa rer", + "y nom", + "yn om", + "fe it", + "Ġf rem", + "Ġfr em", + "Ġfre m", + "- leg", + "-l eg", + "-le g", + "ĠB ras", + "ĠBr as", + "ĠBra s", + "> #", + "Ġì¶ ľëł¥", + "Ġì¶ľ ëł¥", + "Ġ INSTANCE", + "ĠIN STANCE", + "ĠINST ANCE", + "ĠC ouch", + "ĠCo uch", + "ĠCou ch", + "_ hosts", + "_host s", + "lik elihood", + ". Marker", + ".M arker", + ".Mark er", + ".Mar ker", + "ĠM asks", + "ĠMas ks", + "ĠMask s", + "Ġc ereal", + "Ġce real", + "Ġcere al", + "ut ilities", + "util ities", + "Ġelement al", + "Ġele mental", + "Ġelem ental", + "Ġdist orted", + "Ġdistort ed", + "in active", + "c ry", + "cr y", + "W L", + "UPPORT ED", + ". Throws", + ".Th rows", + ".Throw s", + "/ schema", + "/s chema", + "s erie", + "se rie", + "ser ie", + ". \"',", + ".\" ',", + ".\"' ,", + "ĠBened ict", + "ĠBene dict", + "- picker", + "-p icker", + "-pic ker", + "ig gs", + "igg s", + "ĠP irate", + "ĠPi rate", + "ĠPir ate", + "åij¨ æľŁ", + "ĠThe ma", + "ĠTh ema", + "ĠThem a", + "ĠSouth ampton", + "Ġarray With", + "ĠPaul a", + "ĠPa ula", + "Ġpred ictor", + "Ġpredict or", + "Ġpredic tor", + "- Ass", + "-A ss", + ". userid", + ".user id", + ".use rid", + "Ġ peri", + "Ġp eri", + "Ġper i", + "Ġpe ri", + "Ġexagger ated", + "u rate", + "ur ate", + "ura te", + "urat e", + "arse ille", + "ĠCon cent", + "ĠConc ent", + "ĠConce nt", + "ĠP ik", + "ĠPi k", + "Ġ@ _;ĊĊ", + "Ġ@_;Ċ Ċ", + "Ġ@_ ;ĊĊ", + "Ġform ations", + "Ġformat ions", + "Ġformation s", + "Ġden omin", + "Ġdenom in", + "\" />.Ċ", + "\"/ >.Ċ", + "\"/> .Ċ", + "end edor", + "ended or", + "Ġpan cre", + "Ġpanc re", + "Ġ amt", + "Ġa mt", + "Ġam t", + "Ġon Resume", + "on Delete", + "ĠB CH", + "ĠBC H", + ") (\"", + ")( \"", + "m ovement", + "move ment", + "mo vement", + "mov ement", + "Ġpot assium", + "", + "Ġ-- ->", + "Ġ--- >", + "ĠP PC", + "ĠPP C", + "i sz", + "is z", + "ake FromNib", + "Ġ Disp", + "ĠD isp", + "ĠDis p", + "ĠDi sp", + "ĠAth letics", + "ĠAthletic s", + "Ġnight club", + "G OOD", + "GO OD", + ".set Geometry", + "+ [", + "/ send", + "/s end", + "/se nd", + "Ġbin aries", + "Ġr áp", + "Ġrá p", + ": req", + ":r eq", + "-con suming", + "-cons uming", + "er time", + "ert ime", + "erti me", + "UP DATED", + "UPDATE D", + "_ nullable", + "_null able", + "V IN", + "VI N", + "u lia", + "ul ia", + "uli a", + "c yan", + "cy an", + "Ġmisunder standing", + "Ġmisunderstand ing", + "o rical", + "or ical", + "ori cal", + "oric al", + "deg rees", + "degree s", + "Le ading", + "Lead ing", + ". AR", + ".A R", + "ic kest", + "ick est", + "N uevo", + "uf oria", + "Ġgo odies", + "Ġgood ies", + "Ġf ores", + "Ġfor es", + "Ġfore s", + "Ġfo res", + "() <<\"", + "()<< \"", + "()< <\"", + "ad emic", + "ade mic", + "adem ic", + "Action Creators", + "server name", + "( nt", + "(n t", + "db Context", + "Ġair borne", + "Ġexhib itions", + "Ġexhibition s", + "Ġexhibit ions", + "c ele", + "ce le", + "cel e", + "Ġt ela", + "Ġte la", + "Ġtel a", + "< Movie", + "", + "() \">", + "()\" >", + ".set PreferredSize", + "ĠM ID", + "ĠMI D", + "ĠA less", + "ĠAl ess", + "ĠAle ss", + "Ġhorse power", + "Ġa tm", + "Ġat m", + "ĠPack aging", + "Ġc iphertext", + "Ġcipher text", + "Request Method", + "Ġbe iden", + "Ġbei den", + "Ġbeide n", + "è £", + "ĠP OW", + "ĠPO W", + ".Write Header", + "d irector", + "dir ector", + "direct or", + "dire ctor", + "- but", + "-b ut", + "ãģł ãģķãģĦ", + "in cer", + "ince r", + "inc er", + "_ dn", + "_d n", + "! !!!!", + "!! !!!", + "!!! !!", + "!!!! !", + "Ġmanufact ures", + "Ġmanufacture s", + ". TextUtils", + ".Text Utils", + "Ġcon sciously", + "Ġconsc iously", + "Ġconscious ly", + "Ġb ounced", + "Ġbounce d", + "c ulture", + "cul ture", + "cult ure", + "ĠS par", + "ĠSp ar", + "ĠSpa r", + "ĠP iper", + "ĠPi per", + "ĠPipe r", + "ĠPip er", + ". press", + ".p ress", + ".pre ss", + ".pr ess", + ".pres s", + "- owner", + "-o wner", + "Ġe valuator", + "Ġeval uator", + "Ġevalu ator", + "Ġ STREAM", + "ĠST REAM", + ".PictureBox SizeMode", + "Ġsu gars", + "Ġsugar s", + "Ġsug ars", + "Screen Width", + "Ġnext State", + "Ġiv ory", + "Ġbr unch", + "Ġbrun ch", + "d ensity", + "dens ity", + "_ OW", + "_O W", + "ĠCoron avirus", + "ĠC FR", + "ĠCF R", + "b ak", + "ba k", + "\\ Category", + "\\C ategory", + "æķ° ç»Ħ", + "Ġinvoke virtual", + "} ()Ċ", + "}( )Ċ", + "Ġs ujet", + "Ġsu jet", + "- marker", + "-m arker", + "-mark er", + "-mar ker", + "is digit", + "isd igit", + "ĠM obil", + "ĠMo bil", + "ĠMob il", + "ĠJsonRequest Behavior", + "_ REMOTE", + "_RE MOTE", + ".exists Sync", + "Ġrich es", + "Ġri ches", + "Ġric hes", + ".p resenter", + ".present er", + ".pres enter", + "Ġgl Color", + "Ġh anya", + "Ġha nya", + "Ġhan ya", + "Ġfort ress", + "Ġfl ashed", + "Ġflash ed", + "Ġfla shed", + "v iz", + "vi z", + "requ ently", + "requent ly", + "b uat", + "bu at", + "$ con", + "$c on", + "> |", + ". Func", + ".F unc", + "Ġhum orous", + "Ġhumor ous", + "u em", + "ue m", + ". ZERO", + ".Z ERO", + "ĠS TL", + "ĠST L", + "ĠB uk", + "ĠBu k", + "/ sample", + "/s ample", + "ĠG ros", + "ĠGr os", + "ĠGro s", + "Rec ipes", + "Recipe s", + "Ġinf lated", + "Ġinfl ated", + "Ġinflate d", + "Ġsw ung", + ": F", + "F acing", + "Fac ing", + "Fa cing", + ". Theme", + ".Th eme", + ".The me", + "н ик", + "ни к", + "Ġspl endid", + "Ġrequest Id", + ".Center Screen", + "/ autoload", + "/auto load", + "embed ded", + "_ depart", + "_de part", + "_dep art", + "Ġ Ports", + "ĠP orts", + "ĠPort s", + "ĠPo rts", + "ĠPor ts", + "๠ĥ", + "ай д", + "disc ussion", + "_ consum", + "_con sum", + "_cons um", + "Ġsc outs", + "Ġsco uts", + "Ġscout s", + "Ġcol abor", + "Ġcola bor", + ". Stage", + ".St age", + ". nano", + ".n ano", + ".nan o", + "el dorf", + "eld orf", + "eldo rf", + "Ġgem acht", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "Ġpolicy makers", + "Ġpolicym akers", + "_P KT", + "_PK T", + ", Th", + ",T h", + "o ky", + "ok y", + "_ UID", + "_U ID", + "_UI D", + "P ing", + "Pin g", + "Pi ng", + "Ġor chest", + "Ġorch est", + "Ġorc hest", + "Ġop tics", + "Ġopt ics", + "Ġoptic s", + "u han", + "uh an", + "ĠX OR", + "ĠXO R", + "Ġespañ ol", + "ĠAd idas", + "r ng", + "rn g", + "m ans", + "man s", + "ma ns", + ".v stack", + "Ġget away", + "Ġh ierarchical", + "Ġhier archical", + "ano ia", + "anoi a", + "ĠBitmap Factory", + "re alm", + "rea lm", + "real m", + "ĉ ap", + "ĉa p", + "_ apps", + "_a pps", + "_app s", + "_ap ps", + "- divider", + "-div ider", + "-di vider", + ". drawer", + ".d rawer", + ".draw er", + "ĠH ARD", + "ĠHA RD", + "ĠHAR D", + "'] ;?>Ċ", + "']; ?>Ċ", + "'];?> Ċ", + "- packed", + "-p acked", + "-pack ed", + "æ² »", + "_STRUCT URE", + "[ Y", + "i Param", + "( eq", + "(e q", + "Ġencompass es", + "Ġ\\ ĊĊ", + "Ġ\\Ċ Ċ", + "- >[", + "-> [", + "& utm", + "g roupon", + "gr oupon", + "group on", + "gro upon", + "st rate", + "str ate", + "stra te", + "D Y", + "om orphic", + "' :[", + "': [", + "Ġgrav itational", + "ĠM icha", + "ĠMich a", + "ĠMi cha", + "ĠMic ha", + "ĠT encent", + "ĠTen cent", + "Ġco ached", + "Ġcoach ed", + "ì¶ ľ", + "Ñĥ менÑĤ", + "Ñĥм енÑĤ", + "/ mobile", + "/m obile", + "Mouse Down", + "b ud", + "bu d", + "ĠY as", + "ĠYa s", + "Ġ Providers", + "ĠPro viders", + "ĠProvid ers", + "ĠProvider s", + "ĠProvide rs", + "ĠProv iders", + "N Z", + "ĉ report", + "ĉre port", + "ĉrep ort", + "err msg", + "Ġimage Path", + "act erial", + "acter ial", + "acteria l", + "ĠM anga", + "ĠMan ga", + "ĠMa nga", + "ĠMang a", + "wick lung", + "( usuario", + "(us uario", + "\" ));čĊčĊ", + "\") );čĊčĊ", + "\")) ;čĊčĊ", + "\"));čĊ čĊ", + "\")); čĊčĊ", + "/ ***", + "/* **", + "/** *", + "Ġorgan ise", + "Ġorganis e", + "Index ed", + "_ QUAL", + "_Q UAL", + "_QU AL", + "( PyObject", + "(Py Object", + "Ġsurrender ed", + "PO CH", + "ĠN OTES", + "ĠNOT ES", + "ĠNO TES", + "ĠNOTE S", + "\\ \\\"", + "\\\\ \"", + "- job", + "-j ob", + "Ġseven ty", + "Ġsevent y", + "Ġsev enty", + "# ###Ċ", + "## ##Ċ", + "#### Ċ", + "### #Ċ", + "ĠMan or", + "ĠMa nor", + "Ġdown right", + "Ġtime frame", + "ins urance", + "che cker", + "check er", + "Ġ SECRET", + "ĠSE CRET", + "ĠSEC RET", + "Ġecho es", + "Ġech oes", + "ĠCar men", + "ĠCarm en", + ".set HorizontalAlignment", + ".setHorizontal Alignment", + "Ġ isChecked", + "Ġis Checked", + "Ġ TOR", + "ĠT OR", + "ĠTO R", + "_ nn", + "_n n", + "( '(", + "(' (", + "Fetch Request", + "ĠPrint ed", + "Fl uid", + "Ġ STACK", + "ĠST ACK", + "ĠSTA CK", + "G ES", + "GE S", + "a igned", + "aign ed", + "i gor", + "ig or", + "igo r", + ". Unknown", + ".Un known", + "C BC", + "CB C", + "ĠCarl son", + ". URI", + ".U RI", + ".UR I", + "Ġp light", + "Ġpl ight", + "/ start", + "/st art", + "/star t", + "ĠPerson nel", + "Ġ PREFIX", + "ĠP REFIX", + "ĠPRE FIX", + "ĠPREF IX", + ", **", + ",* *", + "Ġli mite", + "Ġlimit e", + "Ġlim ite", + "_ heat", + "_h eat", + "_he at", + "% ï¼Į", + "ĠD onne", + "ĠDon ne", + "get Node", + "ĠScient ology", + "Ġc omet", + "Ġcom et", + "Ġco met", + "Ġcome t", + "Ġwen ig", + "A side", + "As ide", + "ĠM PEG", + "ĠMP EG", + "' ?", + "vari ably", + ". endDate", + ".end Date", + "Ġun cont", + "Ġunc ont", + "Ġuncon t", + "Ġ Scores", + "ĠS cores", + "ĠSc ores", + "ĠScore s", + "ĠSco res", + "ĠScor es", + "Ġ LoginForm", + "ĠLogin Form", + ". generated", + ".g enerated", + ".generate d", + ".gener ated", + ", ch", + ",c h", + "- mar", + "-m ar", + "ĠN ed", + "ĠNe d", + "Ġ eventId", + "Ġevent Id", + "+ p", + "ĠS IN", + "ĠSI N", + "/ reset", + "/re set", + "/res et", + ".RE ACT", + "ĠMe ssi", + "ĠMess i", + "ĠMes si", + "_R ANK", + "_RA NK", + ".write File", + "Ġc ripp", + "Ġcr ipp", + "Ġcri pp", + "es thetic", + "est hetic", + "ERS IST", + "Ġreim bursement", + "Ġreimburse ment", + "Current Value", + "Ġu nin", + "Ġun in", + "Ġuni n", + "Down Latch", + "Ġpadding Right", + "Ġst ocked", + "Ġstock ed", + "/ '.", + "/' .", + "Ġre payment", + "Ġrep ayment", + "Ġrepay ment", + "t rak", + "tr ak", + "tra k", + "/ backend", + "/back end", + "Ġиз мен", + "C SR", + "CS R", + "Ġprevent ive", + "Ġpant alla", + "_ trim", + "_t rim", + "_tr im", + "_tri m", + "P edido", + "Ped ido", + "h ospital", + "Ġmanage able", + "route Params", + "text ures", + "texture s", + "tex tures", + ". .....ĊĊ", + ".. ....ĊĊ", + "... ...ĊĊ", + ".... ..ĊĊ", + "..... .ĊĊ", + "...... ĊĊ", + "Ġsé lection", + "Name ValuePair", + "Ġpol lut", + "Ġpoll ut", + "M odes", + "Mode s", + "Mod es", + "Mo des", + "ĠL aud", + "ĠLa ud", + "ĠLau d", + "j ay", + "ja y", + "ĠU rs", + "ĠUr s", + "Ġs igner", + "Ġsign er", + "Ġsig ner", + "Ġ JJ", + "ĠJ J", + "ĠCh erokee", + "_EX ISTS", + "_EXIST S", + "Ġd war", + "Ġdw ar", + "Ġ ($('#", + "Ġ( $('#", + "Ġ($ ('#", + "Ġ($( '#", + "Ġre ef", + "> {$", + ">{ $", + "ĠB aylor", + "ĠBay lor", + "Ġ ModelState", + "ĠModel State", + "- _", + "ĠStruct ures", + "ĠStructure s", + "Ġsou vent", + "Spec ify", + "( pipe", + "(p ipe", + "(pi pe", + "Ġfr acking", + "Ġfrac king", + "ĠG PA", + "ĠGP A", + "Ġb ele", + "Ġbe le", + "Ġbel e", + "ĉ ĉĉĉĉĉĉĠĠĠ", + "ĉĉ ĉĉĉĉĉĠĠĠ", + "ĉĉĉĉ ĉĉĉĠĠĠ", + "ĉĉĉ ĉĉĉĉĠĠĠ", + "ĉĉĉĉĉ ĉĉĠĠĠ", + "ĉĉĉĉĉĉ ĉĠĠĠ", + "ĉĉĉĉĉĉĉ ĠĠĠ", + "ĉĉĉĉĉĉĉĠ ĠĠ", + "ĉĉĉĉĉĉĉĠĠ Ġ", + "ĠMinor ity", + "Ġt ud", + "Ġtu d", + "Ġopen ness", + "ĠIllustr ated", + "Ġoxid ation", + "Ġ NK", + "ĠN K", + "ĉ Update", + "Ġ EMS", + "ĠE MS", + "ĠEM S", + "ĠTe ddy", + "ĠTed dy", + "Ġgener als", + "Ġgen erals", + "Ġgeneral s", + "Ġgenera ls", + "ĉ Mat", + "ĉM at", + "Ġrad ios", + "Ġradio s", + "Ġradi os", + "ĠAnt ique", + "ĠAnti que", + "c onomy", + "con omy", + "conom y", + "cono my", + "ĠSquad ron", + ") ','", + ")', '", + ")' ,'", + "å£ °", + "Ġy oure", + "Ġyou re", + "Ġyour e", + "Ġyo ure", + "ĠMain Page", + "Ġbeh aviours", + "Ġbehaviour s", + "en ght", + "eng ht", + "(@\" %@\",", + "Ġtest case", + "Ġ Compilation", + "ĠComp ilation", + "Ġflav ours", + "Ġflavour s", + "Ġ Extend", + "ĠExt end", + "il lator", + "ill ator", + "illa tor", + "Ġ coh", + "Ġc oh", + "Ġco h", + "Ġs pline", + "Ġsp line", + "Ġspl ine", + "Ġ KG", + "ĠK G", + "- pay", + "-p ay", + "Ġcommun ism", + "ĠBusiness es", + "oc king", + "ock ing", + ". MaxLength", + ".Max Length", + "ass andra", + "qu iring", + "quir ing", + "qui ring", + "a dden", + "ad den", + "add en", + "ĠJ eb", + "ĠJe b", + "_ fault", + "_f ault", + "_fa ult", + "[ file", + "[f ile", + "Ġpromin ence", + "disc iplinary", + "âĢĶ they", + "âĢĶthe y", + "_ extent", + "_ex tent", + "_ext ent", + "Ġ VIC", + "ĠV IC", + "ĠVI C", + "Ġen tails", + "Ġent ails", + "Ġentail s", + ". partner", + ".p artner", + ".part ner", + "Ġhipp oc", + "Le ague", + "çĶ ·", + "w ipe", + "wi pe", + "- spinner", + "-sp inner", + "-spin ner", + "Ġsal ute", + "ĠS urgical", + "ĠSurg ical", + "( outputs", + "(out puts", + "(output s", + "work ed", + "wor ked", + "[ strlen", + "[str len", + "app ointed", + "appoint ed", + "ĠH eg", + "ĠHe g", + "ĠAC PI", + "( [^", + "([ ^", + "u ala", + "ual a", + "ua la", + "_ tol", + "_t ol", + "_to l", + "ĠR it", + "ĠRi t", + ". Payment", + ".P ayment", + ".Pay ment", + "k owski", + "Ġw almart", + "Ġwal mart", + "require ments", + "ĠFIN SEQ", + "_ BACKGROUND", + "_BACK GROUND", + "ĠOs borne", + "( errorMessage", + "(error Message", + "Report ing", + "Rep orting", + "Ġa uctions", + "Ġau ctions", + "Ġauction s", + "Ġcom bos", + "Ġcomb os", + "Ġcombo s", + "ĠNot iced", + "ĠNotice d", + "_ oct", + "_o ct", + "_oc t", + "Ġprim ero", + "Ġprime ro", + "Ġprimer o", + "t aire", + "ta ire", + "_ hr", + "_h r", + "Ġм од", + "Ġмо д", + "Ġcontrad ictory", + "Ġcontradict ory", + "= \"@", + "=\" @", + "ach ines", + "achine s", + "achi nes", + "(opt arg", + "ĠP enguin", + "ĠPeng uin", + "ĠAb bas", + "ĠAbb as", + "Ġsub lime", + "Ġpage able", + "ĠDef ensive", + "Ġdistinct ly", + "ĠAutom atically", + "ĠAutomatic ally", + "Under standing", + "Equality Comparer", + "g ota", + "go ta", + "got a", + "Ġ\" ::", + "Ġ\": :", + "Ġpul ver", + "ĠB attles", + "ĠBattle s", + "ĠBatt les", + "Ġun paralleled", + "T CHA", + "TC HA", + "Ġconstr ued", + "- aff", + "-a ff", + "Ġpre cursor", + "Ġprec ursor", + "-l fs", + "Ġmad uras", + "ĠD aisy", + "ĠDa isy", + "ĠDai sy", + "ĠAr beits", + "ĠArbeit s", + ". Management", + ".Man agement", + "ĉ In", + "ĉI n", + "Ġro bes", + "Ġrob es", + "Ġrobe s", + "Ġsp éc", + "âĢľ (", + "Ġm aternity", + "Ġmat ernity", + "ex tent", + "ext ent", + "Ġ Spacer", + "ĠSp acer", + "ĠSpace r", + "ĠSpa cer", + "Did Appear", + "ĉ us", + "ĉu s", + ".getRequest Dispatcher", + "( cols", + "(c ols", + "(co ls", + "(col s", + "Ġplum met", + "ì ħ", + "Ġ{ ĊĊĊĊ", + "Ġ{Ċ ĊĊĊ", + "Ġ{ĊĊ ĊĊ", + "Ġ{ĊĊĊ Ċ", + "é rica", + "ér ica", + "éri ca", + "éric a", + "Ġ Sizes", + "ĠS izes", + "ĠSize s", + "ĠSi zes", + "ĠSiz es", + ". enum", + ".e num", + ".en um", + ". Highlight", + ".High light", + "Ġ!! }ĊĊĊ", + "Ġ? >ĊĊĊ", + "Ġ?> ĊĊĊ", + "Ġ?>Ċ ĊĊ", + "Ġ?>ĊĊ Ċ", + "W enn", + "We nn", + "Ġcl imax", + "Ġclim ax", + "Ġcli max", + "Ġc rem", + "Ġcr em", + "Ġcre m", + "_ that", + "_t hat", + "_th at", + "[ â̦", + "_ domains", + "_domain s", + "_dom ains", + "_RE PLY", + "Ġcomp leta", + "Ġcomple ta", + "Ġcomplet a", + "Ġcompl eta", + "V EST", + "VE ST", + "VES T", + "_ particle", + "_p article", + "_part icle", + "Ġs op", + "Ġso p", + "Ġfatal ities", + "impl ify", + "imp lify", + "ĠS KF", + "ĠSK F", + "Ġin fusion", + "Ġinf usion", + "ĠJ avier", + "ĠJa vier", + "Ġb allet", + "Ġball et", + "Ġbal let", + "Ġam igo", + "Ġami go", + ". want", + ".w ant", + "Ġcol lagen", + "Ġcoll agen", + "Ġcollage n", + "ĠLaw yer", + ". Statement", + ".St atement", + ".State ment", + ".Stat ement", + ". rt", + ".r t", + "b aar", + "ba ar", + "End Point", + "ĠB ek", + "ĠBe k", + "S HIP", + "SH IP", + "Ġpatri arch", + "ĠA unt", + "ĠAu nt", + "_ TM", + "_T M", + "Ġ mÃŃn", + "Ġm ÃŃn", + "ĠmÃŃ n", + "Ġm astered", + "Ġmaster ed", + "Ġma stered", + "Ġmas tered", + "Ġmast ered", + "W XYZ", + "WX YZ", + "Ġes pos", + "Ġesp os", + "= logging", + "=log ging", + "Ġrighteous ness", + "t orrent", + "tor rent", + "Ġ bst", + "Ġb st", + "Ġbs t", + "_ CHAIN", + "_CH AIN", + "Ġout skirts", + "( rotation", + "(r otation", + "(rot ation", + "Ġ' .')", + "Ġ'. ')", + "Ġ'.' )", + "igr ants", + "igrant s", + "+ lsi", + "+l si", + "ĠCC TV", + "ĠCCT V", + "_PH ASE", + ". azure", + ".a zure", + "_ Process", + "_P rocess", + "_Pro cess", + "v ae", + "va e", + "ĠT ropical", + "ĠAn kara", + "ĠAnk ara", + "image View", + "_RUN NING", + "Ġ* )__", + "Ġ*) __", + "ế n", + "( cli", + "(c li", + "(cl i", + "sc atter", + "Ġs che", + "Ġsc he", + "Ġsch e", + "Reg istrar", + "Registr ar", + "Ġa iring", + "Ġair ing", + "Ġai ring", + "Ġpy plot", + "is ión", + "isi ón", + "/ customer", + "/c ustomer", + "/custom er", + "Ġs implement", + "Ġsim plement", + "Ġsimple ment", + "Ġsimp lement", + "Ġsimpl ement", + "Ġclass y", + "Ġcl assy", + "Ġclas sy", + "ĠD WC", + "ĠDW C", + "ĠBas har", + "ĠBash ar", + "ĠDE VELO", + "ĠV ick", + "ĠVi ck", + "ĠVic k", + "a vail", + "av ail", + "ava il", + "ĠH ö", + "_ extend", + "_ext end", + "dr Fc", + ".is NotBlank", + "Ġpl ais", + "Ġpla is", + "| }Ċ", + "Ġporn ofil", + "Ġporno fil", + "l abs", + "la bs", + "lab s", + "Ġ haus", + "Ġh aus", + "Ġha us", + "Ġorig inating", + "Ġorigin ating", + "Ġsurround s", + "Ġ QUAL", + "ĠQ UAL", + "ĠQU AL", + "m eg", + "me g", + "/ logger", + "/log ger", + "/lo gger", + "[ obj", + "[o bj", + "Ġirres ponsible", + "Ġ PublicKey", + "ĠPublic Key", + "H ONE", + "HO NE", + ": '/", + ":' /", + "i box", + "ib ox", + "ibo x", + "ĠF Vector", + "| {Ċ", + "ata loader", + "atal oader", + "h awks", + "hawk s", + "H DR", + "HD R", + "Ġescal ation", + "ĠPods Dummy", + "e lite", + "el ite", + "eli te", + "Ġpre sup", + "Ġpres up", + "C ached", + "Cache d", + "Ca ched", + "> G", + ". optimizer", + ".opt imizer", + ".optim izer", + ".optimize r", + "Ġ Visible", + "ĠV isible", + "ĠVis ible", + "´ Ģ", + "Ġ nen", + "Ġn en", + "Ġne n", + "Ġ pcs", + "Ġp cs", + "Ġpc s", + "Ġ Idle", + "ĠI dle", + "ĠId le", + "[ Any", + "[A ny", + "Ġkey boards", + "Ġkeyboard s", + "ĠCOMP ONENT", + "Ġtit anium", + "Ġtitan ium", + "( mut", + "(m ut", + "(mu t", + "ĠLed ger", + "Ġprosper ous", + "etro fit", + "_ LL", + "_L L", + "_ patient", + "_p atient", + "_pat ient", + "Ġ pdata", + "Ġp data", + "Ġpd ata", + "Ġ kontakte", + "Ġkont akte", + "Ġkontakt e", + "S wipe", + "Sw ipe", + "Ġcheer ful", + "ĠHond uras", + "\" ][$", + "\"] [$", + "\"][ $", + "Ġhem orrh", + "\" :\"+", + "\": \"+", + "\":\" +", + "Ġ leasing", + "Ġle asing", + "Ġinst alls", + "Ġinstall s", + "Ġinstal ls", + "ĠP ax", + "ĠPa x", + "ĠLog istics", + "ĠLogistic s", + "Ġkin etic", + "ĠP hon", + "ĠPh on", + "_ movement", + "_m ovement", + "_move ment", + "_mov ement", + "_mo vement", + "ĉ bytes", + "ĉbyte s", + "Ġcin co", + "ĠMad ness", + "\" )+", + "\") +", + "Ġ JE", + "ĠJ E", + "_ ij", + "_i j", + "Scene Manager", + "ĠB ust", + "ĠBus t", + "ĠBu st", + "p test", + "pt est", + "pte st", + "a ea", + "ae a", + "Ġb esser", + "Ġbes ser", + "ÃŃ g", + "д ин", + "ди н", + "( tasks", + "(t asks", + "(task s", + "(\" (\"", + "(\"( \"", + "set Type", + "( outfile", + "(out file", + "ĉ reset", + "ĉres et", + "ĉre set", + "Ġ ARC", + "ĠA RC", + "ĠAR C", + "Ġmús ica", + "ĠSh elf", + "ĠShe lf", + "ĠShel f", + "Ġmin Y", + "p ch", + "pc h", + "Ġwe iber", + "Ġwei ber", + "iss or", + "Ġtr ouve", + "Ġtro uve", + "Ġtrou ve", + "ĉ Button", + "ĉB utton", + "Ġre generated", + "Ġreg enerated", + "Ġregenerate d", + "Å £i", + "Å£ i", + "im achinery", + "b locking", + "bl ocking", + "block ing", + ".data Tables", + "_ frac", + "_f rac", + "_fr ac", + "ĠAdv antage", + ".visit Method", + "éĩį æĸ°", + "Ġextra pol", + "Ġextr apol", + "Ġte asing", + "Ġtea sing", + "Ġteas ing", + "ĠH itch", + "ĠHit ch", + "ĠGe ek", + "ĠGee k", + "E SCO", + "ES CO", + "ESC O", + "Ġ wich", + "Ġw ich", + "Ġwi ch", + "ĉ ax", + "ĉa x", + "_ decor", + "_de cor", + "_dec or", + "Ġscreen Width", + "ĠSo phia", + "ĠSoph ia", + "F orgot", + "For got", + "Forg ot", + ". uni", + ".un i", + ".u ni", + "ĠVen ture", + "ĠVent ure", + "_ collision", + "_c ollision", + "_coll ision", + "Ġlaw maker", + "( Edit", + "(E dit", + "b lers", + "ble rs", + "bl ers", + "bler s", + "Ġ getNext", + "Ġget Next", + "âĢĶ you", + "Media Player", + "ĠH orde", + "ĠHor de", + "ĠCongress man", + "obs ervations", + "observ ations", + "observation s", + "ĉ property", + "ĉp roperty", + "ĉprop erty", + "Ġ< --", + "Ġ<- -", + "Created At", + "u byte", + "ub yte", + "uby te", + "Ġquar antine", + "Ġdist ressed", + "Ġdistr essed", + "Ġdistress ed", + "_A PB", + "_AP B", + "ĠGood man", + "ãĤ «", + "Ġrecom end", + "_ PRINTF", + "_PRINT F", + "D ONE", + "DO NE", + "DON E", + "Bind able", + "r strip", + "rs trip", + "rst rip", + "cent aje", + "Ġ Unexpected", + "ĠUn expected", + "ĠS CHOOL", + "ĠProfessional s", + "ĠProfession als", + "ĠGPU s", + "ĠGP Us", + "L esson", + "Le sson", + "Les son", + "Less on", + "Ex clusive", + "Ġat rav", + "Ġatr av", + "ĠD ank", + "ĠDan k", + "ĠDa nk", + "ĠLaw yers", + "ĠLawyer s", + "ĠWal ton", + "ĠWalt on", + "> []", + ">[ ]", + "Ġa loud", + "Ġal oud", + "Ġalo ud", + "=\" ../../../", + "=\"../ ../../", + "=\"../../ ../", + "Ġdeb ating", + "ĠA VG", + "ĠAV G", + "_V OL", + "_VO L", + "/ cgi", + "/c gi", + ". deg", + ".d eg", + ".de g", + ": g", + ".Info f", + ".Inf of", + "Measure Spec", + ". song", + ".s ong", + ".so ng", + ".son g", + "m tree", + "mt ree", + "ul ls", + "ull s", + "J ordan", + "ĠC overs", + "ĠCo vers", + "ĠCover s", + "ĠCov ers", + "ĠCove rs", + "Ġattrib utable", + "Ġj edis", + "Ġje dis", + "Ġjed is", + "iat rics", + "iatric s", + "Ġrot terdam", + "Ġ meld", + "Ġm eld", + "Ġme ld", + "Ġmel d", + "Ġ ContentType", + "ĠContent Type", + "Ġman tle", + "Ġmant le", + "Ġ alice", + "Ġa lice", + "Ġal ice", + "Ġali ce", + "_ duplicate", + "_d uplicate", + "_dup licate", + "/ Internal", + "Ġ filesize", + "Ġfile size", + "Ġfiles ize", + "ĉ fire", + "ĉf ire", + "ĉfi re", + "r ese", + "re se", + "res e", + "on dere", + "ond ere", + "onder e", + "onde re", + "Ġfamiliar ity", + "ĠC rest", + "ĠCr est", + "ĠCre st", + "ĠCres t", + "Ġk arma", + "Ġkar ma", + "Ġtor ino", + "Ġm esa", + "Ġme sa", + "Ġmes a", + "/ temp", + "/t emp", + "Ġc hir", + "Ġch ir", + "Ġchi r", + "Ġ Overflow", + "ĠOver flow", + "Ġten emos", + "u nik", + "un ik", + "uni k", + "N EXT", + "NE XT", + "A lle", + "Al le", + "All e", + "Ġn xt", + "Ġnx t", + "M art", + "Mar t", + "Ma rt", + "Ġ atl", + "Ġa tl", + "Ġat l", + "Ġperiod o", + "Ġperi odo", + "_ you", + "_y ou", + "Ġ} )).", + "Ġ}) ).", + "Ġ})) .", + "int estinal", + ".Adapter View", + "Ġhes itant", + "Ġcompar atively", + "Ġcomparative ly", + ". UInt", + ".U Int", + ".UI nt", + "( viewModel", + "(view Model", + "Ġsang at", + "Ġ Responsive", + "ĠRes ponsive", + "ĠRespons ive", + "ĠZ ack", + "ĠZa ck", + "ĠZac k", + "â ħ", + "J AVA", + "JA VA", + "ĠFull er", + "ĠFu ller", + "ĠFul ler", + "Ġ âĿ¤", + "ĠâĿ ¤", + ". Consumer", + ".Con sumer", + ".Cons umer", + "Ġ ank", + "Ġa nk", + "Ġan k", + "Ġre actors", + "Ġreact ors", + "Ġreactor s", + "f uck", + "fu ck", + "_ rat", + "_r at", + "_ra t", + "Ġsession Factory", + "_ backward", + "_back ward", + "Ġscram bled", + "Ġscramble d", + "ĉ th", + "ĉt h", + "Ġins ensitive", + "Ġch amps", + "Ġcha mps", + "Ġcham ps", + "Ġchamp s", + "Ġ nginx", + "Ġng inx", + "Ġcon hec", + "Ġconhe c", + "ĠJ asper", + "ĠJas per", + ". fm", + ".f m", + "Strict Equal", + "ach sen", + "achs en", + "- Nov", + "-N ov", + "-No v", + "l assen", + "lass en", + "las sen", + ". integration", + ".int egration", + "( lbl", + "(l bl", + "Com pose", + "Comp ose", + "ĠF on", + "ĠFo n", + "à ļ", + "Gr atis", + "ĠL ime", + "ĠLim e", + "ĠLi me", + "ĠAdapter View", + "Ġpoison ed", + "Ġpois oned", + "anch ors", + "anchor s", + "设 计", + "'] ?>\"", + "']?> \"", + "Ġpro cur", + "Ġproc ur", + "It aly", + ". MONTH", + ".MON TH", + "ĠL UA", + "ĠLU A", + "ĠLith uania", + "ĠHe ads", + "ĠHead s", + "_CH UNK", + "ĠP USH", + "ĠPU SH", + "ĠPUS H", + "Aspect Ratio", + "Ġ weg", + "Ġw eg", + "Ġwe g", + "Ġv ids", + "Ġvi ds", + "Ġvid s", + "ĠW ein", + "ĠWe in", + "ĠWei n", + "ĉ INT", + "ĉI NT", + "ĉIN T", + "session Id", + "Ind ustry", + "Ġden ounced", + "JK LM", + "ĠVan essa", + ". Identifier", + ".Id entifier", + "p ropri", + "pro pri", + "prop ri", + "Ġ иг", + "Ġи г", + "Ġté cn", + "Ġtéc n", + "Ġm osaic", + "Ġmos aic", + "Stream Reader", + "- Th", + "-T h", + "f orth", + "for th", + "fort h", + "Ġad herence", + "Ġadher ence", + "Ġadhere nce", + "b ate", + "ba te", + "bat e", + "Ġkn ights", + "Ġknight s", + "s ounds", + "so unds", + "sound s", + "sou nds", + "Ġs alle", + "Ġsa lle", + "Ġsal le", + "O MET", + "OM ET", + "OME T", + "ãĤ¹ ãĥĪ", + "- tm", + "-t m", + "ĠR he", + "ĠRh e", + ".File OutputStream", + "åĪĨ ç±»", + "Ġ ENG", + "ĠE NG", + "ĠEN G", + "h oliday", + "hol iday", + "Ġ Congratulations", + "ĠCong ratulations", + ") (Ċ", + ")( Ċ", + "Ġaggregate s", + "Ġaggreg ates", + "H OOK", + "HO OK", + "e wire", + "ew ire", + "Sen ator", + "Ġembed dings", + "Ġembedding s", + "e py", + "ep y", + "( COM", + "(C OM", + "Ġrob ber", + "ä ter", + "ät er", + "w ang", + "wa ng", + "wan g", + "_ teacher", + "_t eacher", + "_te acher", + "Ġresent ment", + "Ġlett uce", + "er reur", + "err eur", + "erre ur", + "( ic", + "(i c", + "ĠT actical", + "ĠTac tical", + "Ġ Contracts", + "ĠCon tracts", + "ĠContract s", + "ĠContr acts", + "Ġm ænd", + "Ġsit ios", + "Ġsiti os", + "Ġsitio s", + "Ġbast ante", + "Ġnue vos", + "Ġnuevo s", + "ĉN drFc", + "Ġprivate Key", + "uc ch", + "ucc h", + "MM dd", + "Ġ è¾ĵåĩº", + "Ġè¾ĵ åĩº", + "um ba", + "umb a", + "@ foreach", + ": \");ĊĊ", + ":\" );ĊĊ", + ":\");Ċ Ċ", + ":\") ;ĊĊ", + "Ġslip pery", + "ĠKey stone", + "ĠKe ystone", + "ĠKeys tone", + "Ġpione ering", + "Ġpioneer ing", + "_ triangle", + "_t riangle", + "_tr iangle", + "_tri angle", + "( \"Ċ", + "(\" Ċ", + "ĉ ĉĉĉĉĉĉĉĠĠ", + "ĉĉ ĉĉĉĉĉĉĠĠ", + "ĉĉĉĉ ĉĉĉĉĠĠ", + "ĉĉĉ ĉĉĉĉĉĠĠ", + "ĉĉĉĉĉ ĉĉĉĠĠ", + "ĉĉĉĉĉĉ ĉĉĠĠ", + "ĉĉĉĉĉĉĉĉ ĠĠ", + "ĉĉĉĉĉĉĉ ĉĠĠ", + "ĉĉĉĉĉĉĉĉĠ Ġ", + "ĠInt ervention", + "ĠInter vention", + "S CI", + "SC I", + "Ġc JSON", + "Ġter minating", + "Ġterm inating", + "Ġtermin ating", + "ë ¹Ħ", + "ë¹ Ħ", + "Ġbaby s", + "Ġbab ys", + "Sub set", + "Ġ ë¡", + "Ġë ¡", + "Ġseu lement", + "Ġseul ement", + "Ġseule ment", + "Ġm uestra", + "Ġmue stra", + "En tre", + "Ent re", + "Entr e", + "以 ä¸Ĭ", + "n go", + "ng o", + "\" bytes", + "QR ST", + "QRS T", + "Ġy pos", + "Ġyp os", + "person a", + "pers ona", + "Ġ Deploy", + "ĠDe ploy", + "ĠDep loy", + "c ee", + "ce e", + "Ġ à®", + "Ġà ®", + ". goal", + ".go al", + "Ġhabit ats", + "Ġhabitat s", + "Ġ isAdmin", + "Ġis Admin", + "Ġexplo iting", + "Ġexploit ing", + "Ġvent il", + "Ġven til", + "ĠB alls", + "ĠBall s", + "ĠBal ls", + "ا ب", + "Ø§Ø ¨", + "Ġmind fulness", + "Ġmindful ness", + "( kwargs", + "(k wargs", + "Ġre sembling", + "Ġresembl ing", + "Ġch oir", + "Ġcho ir", + "Ġon BackPressed", + "ĠSEC URITY", + "/ gtest", + "/g test", + "Ġjust ices", + "Ġjustice s", + "Ġinteger Value", + "b lah", + "bl ah", + "bla h", + "ĠA im", + "ĠAi m", + "_ finalize", + "_final ize", + "k eh", + "ke h", + "ĠComplex ity", + "Ġaug ust", + "get ElementsByTagName", + "Ġp reach", + "Ġpr each", + "Ġpre ach", + "Ġpron unciation", + "Ġ Trash", + "ĠTr ash", + "ĠTra sh", + "- percent", + "-per cent", + "_PR IV", + "_PRI V", + "ĠH unts", + "ĠHun ts", + "ĠHu nts", + "ĠHunt s", + "ĠC urse", + "ĠCur se", + "u ellen", + "ue llen", + "uel len", + "uelle n", + "uell en", + "Ġheavy weight", + "X i", + "ĉ selected", + "ĉselect ed", + "ĉse lected", + "ĠMcC oy", + "å¼Ĥ 常", + "| =Ċ", + "|= Ċ", + "ĠBattle field", + "Item Image", + "Ġded uctions", + "Ġdeduct ions", + "Ġdeduction s", + "ĠElement al", + "ĠEle mental", + "ĠElem ental", + "( ));//", + "() );//", + "()) ;//", + "()); //", + "ĠBur k", + "ĠBu rk", + "} )čĊčĊ", + "}) čĊčĊ", + "})čĊ čĊ", + "sw ift", + "/ function", + "/f unction", + "Us ually", + "Usu ally", + "_ St", + "_S t", + "_fe ats", + "_feat s", + "Ġ IsValid", + "ĠIs Valid", + "Ġz ad", + "Ġza d", + "Image Context", + "Ġ classname", + "Ġclass name", + "Ġdon ner", + "Ġdonne r", + "Ġdonn er", + "Ġ-- >ĊĊĊ", + "Ġ-->Ċ ĊĊ", + "Ġ--> ĊĊĊ", + "Ġ-->ĊĊ Ċ", + "Ġmotor cycles", + "Ġmotorcycle s", + "+' /'+", + "+'/ '+", + "Ġ setBackground", + "Ġset Background", + "\\ CMS", + "\\C MS", + ". AllArgsConstructor", + ".All ArgsConstructor", + "ĠLex ington", + ". examples", + ".ex amples", + ".example s", + ".exam ples", + "ĠP urs", + "ĠPur s", + "ĠPu rs", + "Push Matrix", + "Ġ================================================= =============", + ".add Target", + "p ora", + "por a", + "po ra", + "Full screen", + "Ġgo of", + "Ġgoo f", + "h len", + "hl en", + "hle n", + "ä ge", + "ĠC URL", + "ĠCUR L", + "ĠCU RL", + "Ġ Interesting", + "ĠInter esting", + "ĠInterest ing", + "Ġretrie ves", + "Ġretrieve s", + "Ġretr ieves", + "_ Obj", + "_O bj", + "in ness", + "inn ess", + "inne ss", + "- ----ĊĊ", + "-- ---ĊĊ", + "---- -ĊĊ", + "--- --ĊĊ", + "----- ĊĊ", + "-----Ċ Ċ", + ".t sv", + ".ts v", + "( IM", + "(I M", + "ĠBr aves", + "ĠBra ves", + "ĠBrave s", + "_ ISR", + "_I SR", + "_IS R", + "o sti", + "os ti", + "ost i", + "á» ĵ", + "ĠEx terior", + "ĠExt erior", + "ĠCourt ney", + "Ġresid ues", + "Ġresidue s", + "T ier", + "Ti er", + ".* ;čĊčĊ", + ".*;čĊ čĊ", + ": black", + ":b lack", + "web View", + "\" path", + "Ġm asa", + "Ġma sa", + "Ġmas a", + "] !='", + "]!= '", + "Ġ Matching", + "ĠM atching", + "ĠMat ching", + "ĠMatch ing", + "d ur", + "du r", + "J vm", + "= context", + "_ RING", + "_R ING", + "Ġpro ponents", + "Ġprop onents", + "ĠQString Literal", + "Ġ inflate", + "Ġin flate", + "Ġinf late", + "Ġinfl ate", + "< Float", + " \">čĊ", + "Ġ?>\" >čĊ", + "Ġ?>\"> čĊ", + "_C OST", + "_CO ST", + "i linear", + "il inear", + "ili near", + "iline ar", + "ilin ear", + "Ġ Workspace", + "ĠWork space", + "ĠWorks pace", + "Ġs pel", + "Ġsp el", + "Ġspe l", + "ag ogue", + "ago gue", + "agog ue", + "ĠMillenn ium", + "ĠPop ulate", + "Ġ nid", + "Ġn id", + "Ġni d", + ".parse Color", + "S olar", + "So lar", + "Sol ar", + "ĠG ad", + "ĠGa d", + "Ġ ì¤ij", + "Ġì ¤ij", + "Ġì¤ ij", + "ĠK amp", + "ĠKa mp", + "ĠKam p", + "ĉ rm", + "ĉr m", + "Ġb enz", + "Ġbe nz", + "Ġben z", + "Ġ Honestly", + "ĠH onestly", + "ĠHonest ly", + "Ġelectro de", + "Ġelectr ode", + "ĠPr airie", + "ĠPra irie", + "Ġ PROFILE", + "ĠPRO FILE", + "ĠPROF ILE", + "ĠOri ental", + "ĠOrient al", + "ĠO LED", + "ĠOL ED", + "/cop yleft", + "awa ii", + "awai i", + "( products", + "(product s", + ") \\<", + ")\\ <", + "- created", + "-c reated", + "-create d", + "-cr eated", + ".Many ToMany", + "\" How", + "\"H ow", + "Ġв Ñĭп", + "ĠвÑĭ п", + "Ġmitochond rial", + "_ testing", + "_t esting", + "_test ing", + "( created", + "(c reated", + "(create d", + "(cr eated", + "Ġ getField", + "Ġget Field", + "_E VAL", + "_EV AL", + "] .\"", + "]. \"", + "ĠF SM", + "ĠFS M", + "ĠR ita", + "ĠRi ta", + "ĠRit a", + "Ġ åıĤæķ°", + "Ġåı Ĥæķ°", + "ĠåıĤ æķ°", + "Ġc ôt", + "Ġcô t", + "ĠIns ight", + "ĉ mysqli", + "ĉm ysqli", + "ĉmysql i", + "_ timing", + "_t iming", + "_tim ing", + "_ti ming", + "I DO", + "ID O", + ") ))))Ċ", + ")) )))Ċ", + "))) ))Ċ", + ")))) )Ċ", + "CO VERY", + "COVER Y", + ". imag", + ".i mag", + ".im ag", + "C DF", + "CD F", + "l ust", + "lu st", + "lus t", + "i ckt", + "ic kt", + "ick t", + "_ FP", + "_F P", + ". ','", + ".' ,'", + ".', '", + "g cc", + "gc c", + "Ġkur z", + "Ġku rz", + "_p wm", + "_pw m", + "Ġodp owied", + "Ġ Barrier", + "ĠBar rier", + "ĠBarr ier", + "/************************************************************************ ***Ċ", + "p ak", + "pa k", + "- Israel", + "ĠRut gers", + "Ġselected Item", + "ĠRam irez", + "F arm", + "Far m", + "Fa rm", + "Ġcal endars", + "Ġcalendar s", + "Ġcalend ars", + "g zip", + "gz ip", + "Ġblock buster", + "ĠPly mouth", + "çľ Į", + "res ponses", + "response s", + "respons es", + ".Dialog Interface", + "- grand", + "-g rand", + "-gr and", + "Ġ getSource", + "Ġget Source", + "ĠgetS ource", + "Ġdej tings", + "Ġdejting s", + "Ġt ieten", + "Ġti eten", + "Ġtie ten", + "Ġcondem nation", + "Ġcondemn ation", + "Ġcontin uar", + "Ġcontinu ar", + "Ġcontinua r", + ".Mock Mvc", + "/ english", + "Ġ MediaPlayer", + "ĠMedia Player", + "com puted", + "comp uted", + "compute d", + "comput ed", + "ĠCl ippers", + "ĠClip pers", + "ĠCli ppers", + "( delegate", + "(de legate", + ". Slf", + ".S lf", + "Ġ ë¡ľ", + "Ġë¡ ľ", + "ĠT ide", + "ĠTi de", + "Ġih rem", + "Ġihr em", + "Ġihre m", + "ĠW an", + "ĠWa n", + "Ñĥ ÑİÑī", + "ÑĥÑİ Ñī", + "} ><", + "}> <", + "Disc ussion", + "Discuss ion", + "Ġw atts", + "Ġwat ts", + "Ġwatt s", + "- minus", + "-m inus", + "-min us", + "ĠJul iet", + "ĠJulie t", + "ĠJuli et", + "éĽ ħ", + "Ġcon cluding", + "Ġconcl uding", + "and scape", + "ands cape", + "Ġúlt ima", + "ĠD ERP", + "ĠDE RP", + "ĠDER P", + "Ġsign Up", + "ĠSecond ly", + "W AIT", + "WA IT", + "l ds", + "ld s", + ". callbacks", + ".call backs", + ".callback s", + "( hour", + "(h our", + "im ators", + "ima tors", + "imator s", + "imat ors", + "vol ent", + "A AF", + "AA F", + "e driver", + "ed river", + "ĠMath ematic", + "< Tuple", + "'", + "Ġ/> '", + "{ j", + "_AB ORT", + "E ther", + "Et her", + "Eth er", + "Ġeduc ator", + "Ġpreca ution", + "Ġfinger tips", + "Ġfingert ips", + "get Var", + "cam atan", + "- debug", + "-de bug", + "ĠR AF", + "ĠRA F", + "[ arg", + "[a rg", + "Ġr aced", + "Ġrace d", + "Ġrac ed", + "Ġra ced", + "Ġts unami", + ".f link", + ".fl ink", + "Ġgl yc", + "Ġgly c", + "u ko", + "uk o", + "Ġ Multiply", + "ĠM ultiply", + "ĠMulti ply", + "ĠMultip ly", + "Ġre distribution", + "Ġred istribution", + "Ġredistrib ution", + "Ġredis tribution", + "A GO", + "AG O", + "Ġ Routine", + "ĠR outine", + "ĠRout ine", + "Ġ opr", + "Ġo pr", + "Ġop r", + "( lower", + "(l ower", + "(low er", + "(lo wer", + "ĠFun ktion", + "ĠFunk tion", + ". dk", + ".d k", + "Ġ egt", + "Ġe gt", + "Ġeg t", + "_B ASIC", + "sys call", + "ĠL SD", + "ĠLS D", + "Ġ Duplicate", + "ĠD uplicate", + "ĠDup licate", + "_ sell", + "_s ell", + "_se ll", + "_sel l", + "Ġerror Handler", + "_ ips", + "_i ps", + "_ip s", + "Ġ erv", + "Ġe rv", + "Ġer v", + "an nie", + "ann ie", + "anni e", + "(resource Name", + "Ġbott led", + "Ġbottle d", + "Ġcraw ling", + "Ġcrawl ing", + "e gment", + "eg ment", + ".set Tag", + "Ġ rss", + "Ġr ss", + "Ġrs s", + "ĠQu arry", + "ĠQuar ry", + "_ exact", + "_ex act", + ". jwt", + ".j wt", + "ĠBo ards", + "ĠBoard s", + "o pi", + "op i", + "Ġn asal", + "Ġna sal", + "Ġnas al", + "Ġ XYZ", + "ĠX YZ", + "ĠXY Z", + ". ud", + ".u d", + "North ern", + "Nor thern", + "Ġact ivating", + "Ġactiv ating", + "e dx", + "ed x", + "ov ah", + "ova h", + "Ġ indx", + "Ġin dx", + "Ġi ndx", + "Ġind x", + "Alert Dialog", + "Ġt ienes", + "Ġti enes", + "Ġtie nes", + "Ġtiene s", + "an nya", + "ann ya", + "anny a", + "_ pan", + "_p an", + "_pa n", + "( decimal", + "(d ecimal", + "(de cimal", + "(dec imal", + ". Dict", + ".D ict", + ".Di ct", + "Ġsubsidi aries", + "Product Name", + "F ew", + "Fe w", + "d ato", + "da to", + "dat o", + "od ied", + "odi ed", + "odie d", + "- under", + "-un der", + "-u nder", + "Ġ ê²ĥ", + "Ġê² ĥ", + "çīĪ æľ¬", + "at ism", + "atis m", + "ati sm", + "[ Math", + "[M ath", + ". '<", + ".' <", + "( infile", + "(in file", + "Ġde notes", + "Ġden otes", + "Ġdenote s", + "$ class", + "$c lass", + "_SEC URITY", + "Ġsew age", + "m elon", + "me lon", + "mel on", + "( Character", + "(Char acter", + "/ github", + "/g ithub", + "/git hub", + "Ġgl aring", + ". Guid", + ".G uid", + "_ sparse", + "_s parse", + "_sp arse", + "Ġ Margin", + "ĠM argin", + "ĠMar gin", + "ĠMarg in", + "_ dns", + "_d ns", + "_dn s", + "Ġme iner", + "Ġmein er", + "Ġmeine r", + "Ġleft ist", + "ĉ loc", + "ĉl oc", + "a bytes", + "aby tes", + "abyte s", + "Ġequipment s", + "Ġequip ments", + "ex po", + "exp o", + "ĠSom erset", + "E K", + "æį ¢", + "Ġlect urer", + "Ġlecture r", + "Ġmem iliki", + "æł ¸", + "ç´ ł", + "p ron", + "pr on", + "pro n", + ": pointer", + "b orrow", + "bor row", + "ĠProt ective", + "ĠProtect ive", + "_ cf", + "_c f", + "Ġ ÐķÑģли", + "ĠÐķ Ñģли", + "b pp", + "bp p", + "' ;ĊĊĊĊ", + "';Ċ ĊĊĊ", + "';ĊĊ ĊĊ", + "'; ĊĊĊĊ", + "';ĊĊĊ Ċ", + "at urally", + "atur ally", + "atural ly", + "_ NAV", + "_N AV", + "Ġpe ptide", + "> d", + "Ġ ifstream", + "Ġif stream", + "Ġi fstream", + "_FACT ORY", + "_FACTOR Y", + "' );//", + "') ;//", + "'); //", + "j oined", + "join ed", + "jo ined", + "m ong", + "mon g", + "mo ng", + "Ġtime spec", + "Ġtimes pec", + "Ġdest abil", + "Ġdesta bil", + "Ġ autop", + "Ġaut op", + "Ġauto p", + "Ġau top", + "- limit", + "-l imit", + "-li mit", + "public ation", + "pub lication", + "ĠD enn", + "ĠDe nn", + "ĠDen n", + ". Memory", + ".M emory", + "( skb", + "(s kb", + "(sk b", + "ĠAna heim", + "_RETURN TRANSFER", + "o ueur", + "ou eur", + "( _('", + "(_ ('", + "l egt", + "le gt", + "leg t", + "ist ingu", + "isting u", + "ĉ priv", + "ĉp riv", + "ĉpr iv", + "Ġredirect s", + "M t", + "Ġal leen", + "Ġall een", + "Ġalle en", + "Ġ PointF", + "ĠPoint F", + "Ġ omin", + "Ġo min", + "Ġom in", + "Ġc itt", + "Ġcit t", + "Ġci tt", + "ĠT age", + "ĠTag e", + "ĠTa ge", + "ĠW alls", + "ĠWall s", + "ĠWal ls", + "á» ī", + "Ġoccup ying", + "Ġoccupy ing", + "x BF", + "xB F", + "r angle", + "ra ngle", + "ran gle", + "rang le", + "Ġrel ational", + "Ġrelation al", + "Ġrelat ional", + "- org", + "-o rg", + "-or g", + "Ġ jpg", + "Ġj pg", + "Ġjp g", + "- derived", + "Ġmal function", + "ĠB enson", + "ĠBen son", + "( scroll", + "(s croll", + "(sc roll", + "Ġ XD", + "ĠX D", + "H oly", + "Ho ly", + "Hol y", + "( commands", + "(command s", + "(comm ands", + "Ġt ipping", + "Ġti pping", + "Ġtip ping", + "Ġpr imitives", + "Ġprim itives", + "Ġprimitive s", + "Ġsex le", + "Call Check", + "Ġ MASTER", + "ĠM ASTER", + "ĠMA STER", + "ĠMAS TER", + "_ TEAM", + "_TE AM", + ".setRequest Header", + "_ specs", + "_sp ecs", + "_spec s", + "Ġs erge", + "Ġser ge", + "Ġserg e", + ". Master", + ".M aster", + ".Ma ster", + "Ġ ims", + "Ġi ms", + "Ġim s", + ".Spring BootTest", + "pay pal", + "ĠW ANT", + "ĠWA NT", + "ĠWAN T", + ". Inst", + ".I nst", + ".In st", + "ĠCar pet", + "ĠCarp et", + "Ġwrong ly", + "( $('.", + "($ ('.", + "($( '.", + "($(' .", + "Ġ bild", + "Ġb ild", + "Ġbi ld", + "Ġbil d", + ". Roll", + ".R oll", + "ĠU rb", + "ĠUr b", + "- can", + "-c an", + "-ca n", + "ãģı ãģłãģķãģĦ", + "ãģıãģł ãģķãģĦ", + "olib eral", + " čĊčĊ", + "Ġ-->čĊ čĊ", + "ĠMa hm", + "ĠMah m", + "} \";ĊĊ", + "}\" ;ĊĊ", + "}\";Ċ Ċ", + "Ġ dq", + "Ġd q", + "ĠPublish ers", + "ĠPublisher s", + "ĠA mpl", + "ĠAm pl", + "ĠAmp l", + "ĠDaniel le", + "ĠDani elle", + "Ġ tern", + "Ġt ern", + "Ġte rn", + "Ġter n", + "èµ ·", + "no ÅĽÄĩ", + "e in", + "ei n", + "ĠAsync Storage", + "u nger", + "un ger", + "ung er", + "unge r", + "ro uw", + "rou w", + "Ġsc issors", + "/ assert", + "/as sert", + ". bucket", + ".b ucket", + "/ archive", + "/a rchive", + "/arch ive", + "_ Man", + "_M an", + "Ġint oler", + "Ġinto ler", + "Ġ ()=>", + "Ġ( )=>", + "Ġ() =>", + "Ġ ÐĴÑĭ", + "ĠÐĴ Ñĭ", + "Ġs ai", + "Ġsa i", + ". xy", + ".x y", + ". \"čĊ", + ".\" čĊ", + "Ġur inary", + "e sub", + "es ub", + "IST ICS", + "ISTIC S", + "Ġ κ", + "ĠÎ º", + "Ġcompl iments", + "Ġcompliment s", + "Ġtypings Japgolly", + "i har", + "ih ar", + "Exp ansion", + "ĠS erving", + "ĠSer ving", + "ĠServ ing", + "_ students", + "_st udents", + "_student s", + "ĠX BOOLE", + "( il", + "(i l", + "Ġ ì²ĺ", + "Ġì² ĺ", + "Ġj ó", + "( tol", + "(t ol", + "(to l", + "( JS", + "(J S", + "ĉ CG", + "ĉC G", + "Ġ DRAW", + "ĠD RAW", + "ĠDR AW", + "t wig", + "tw ig", + "Ġo at", + "Ġoa t", + "_ smooth", + "_sm ooth", + "ĠC SL", + "ĠCS L", + "Ġo sob", + "Ġos ob", + "Ġens uing", + "Ġb anker", + "Ġbank er", + "Ġban ker", + "ĠBack pack", + "_ ping", + "_p ing", + "_pin g", + "_pi ng", + "Ġ wishlist", + "Ġw ishlist", + "Ġwish list", + "= ax", + "=a x", + "ĉ ĠĠĠĊ", + "ĉĠĠĠ Ċ", + "ĉĠ ĠĠĊ", + "ĉĠĠ ĠĊ", + "Dis ney", + "ste ady", + "stead y", + "\" >%", + "\"> %", + "Ġproph ets", + "Ġprophet s", + "Ġ ZX", + "ĠZ X", + "Ġminimal ist", + "Ġminim alist", + ". PLAIN", + ".PL AIN", + "Se attle", + "Seat tle", + ". ordinal", + "Ġ PIPE", + "ĠPI PE", + "Ġret orna", + "Ġretorn a", + "Ġj ugador", + "Ġjug ador", + "ĠB ret", + "ĠBr et", + "ĠBre t", + "ĠâĶ ľ", + "Ġp lush", + "Ġpl ush", + "Ġplus h", + "Ġplu sh", + "UL ATOR", + "ULA TOR", + "S orting", + "Sort ing", + ".grid y", + ".gr idy", + "ect omy", + "_ activ", + "_ac tiv", + "_act iv", + "r ack", + "ra ck", + "rac k", + "Inter active", + "ĠAntar ctica", + "ĠAntarctic a", + "Ġv engeance", + "en so", + "ens o", + "_ known", + "_k nown", + "up plier", + "upp lier", + ". Modules", + ".Mod ules", + ".Module s", + "ĠConnection State", + "éļ IJèĹı", + "éļIJ èĹı", + "@ FindBy", + "Ġ placer", + "Ġpl acer", + "Ġplace r", + "Ġplac er", + "Ġpla cer", + "\\ model", + "< ()>", + "<( )>", + ".is Successful", + ".isSuccess ful", + "- good", + "-g ood", + "-go od", + "b z", + "ĠDr aco", + "ĠDra co", + "Ass istant", + "- extra", + "-ex tra", + "-ext ra", + "аб лиÑĨ", + "Ġhyp ocrisy", + "Ġt st", + "Ġts t", + "ĠA gr", + "ĠAg r", + "$ txt", + "$t xt", + "Ġlog istic", + "l icensed", + "lic ensed", + "license d", + "ĠH of", + "ĠHo f", + "Ġ tat", + "Ġt at", + "Ġta t", + "( iv", + "(i v", + "Ġint oxic", + "Ġinto xic", + "Ġintox ic", + "post Id", + "_ strike", + "_st rike", + "_str ike", + "Ġhum iliation", + "Ġhumili ation", + "p codes", + "pc odes", + "\" sync", + "\"s ync", + "( recipe", + "(rec ipe", + "+ N", + "r ente", + "re nte", + "ren te", + "rent e", + "ĉ Client", + "ĉC lient", + "ycop g", + "ĠZur ich", + "ĠZu rich", + "Ġ Profiles", + "ĠPro files", + "ĠProf iles", + "ĠProfile s", + "C ountries", + "Count ries", + "Ġp ict", + "Ġpi ct", + "Ġpic t", + "Ġroll out", + "requ encies", + "Ġp atched", + "Ġpat ched", + "Ġpatch ed", + "Ġcar tridges", + "Ġcartridge s", + "Ġsh ading", + "Ġsha ding", + "J ar", + "Ja r", + "Ġsalv age", + "ĠT axes", + "ĠTax es", + "ĠTa xes", + "Ġstand by", + "ap oran", + "apor an", + "apo ran", + "E igen", + ". angular", + "Ġ Nested", + "ĠN ested", + "ĠNe sted", + "ĠNest ed", + "ĠNes ted", + "ä º«", + "äº «", + "Ġ isVisible", + "Ġis Visible", + "ĠDw ight", + "_BR ANCH", + ". Delay", + ".D elay", + ".De lay", + "Ġk end", + "Ġke nd", + "Ġken d", + "Ġfacilit ated", + "Ġfacilitate d", + "Ġfacil itated", + ". flatMap", + ".flat Map", + "Ġs anta", + "Ġsan ta", + "Ġsant a", + "ĉ Send", + "ĉS end", + "/ messages", + "/m essages", + "/message s", + "Ġof Type", + "ĉ swap", + "ĉs wap", + "ĉsw ap", + "# plt", + "ĠTur ks", + "ĠTurk s", + "N ES", + "NE S", + "Ġprogress ively", + "Ġprogressive ly", + "ĠRes idence", + "Ġ TREE", + "ĠT REE", + "ĠTR EE", + "ĠTRE E", + "Ġn oen", + "Ġno en", + "Ġnoe n", + "d io", + "di o", + "Ġ nelle", + "Ġn elle", + "Ġne lle", + "Ġnel le", + "Ġnell e", + "Ġso gar", + "Ġsog ar", + "i tti", + "it ti", + "itt i", + "week ly", + "Ġambigu ity", + "_ Settings", + "_S ettings", + "_Set tings", + "W are", + "War e", + "Wa re", + ". neo", + ".n eo", + ".ne o", + "_ DST", + "_D ST", + "_DS T", + "Ġ æĸ¹", + "Ġæĸ ¹", + "p rep", + "pr ep", + "pre p", + "l obby", + "lob by", + "@ email", + "/ movie", + "/m ovie", + "Ġfun kc", + "Ġfunk c", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ÂŃ s", + "Ġguard ians", + "Ġguardian s", + "- pos", + "-p os", + "-po s", + "Ġconfig uring", + "Ġconfigur ing", + "ĠC PS", + "ĠCP S", + "ĠD eus", + "ĠDe us", + "Ġvidé os", + "Ġvidéo s", + "_ empresa", + "_emp resa", + "Ġsl apped", + "Ġsla pped", + "Ġslap ped", + "< Model", + "',Ċ", + "\"> ',Ċ", + "\">' ,Ċ", + "\">', Ċ", + "_X DECREF", + "ĠBuzz Feed", + "_M ARGIN", + "P LOY", + ". small", + ".s mall", + ".sm all", + "Ġm imeType", + "Ġmime Type", + "Ġh olog", + "Ġho log", + "Ġhol og", + "ĉ camera", + "ĉc amera", + "l ias", + "li as", + "lia s", + "Ġsusp ense", + "od ynam", + "ody nam", + "odyn am", + "b au", + "ba u", + "Ġgrave yard", + "_ named", + "_n amed", + "_name d", + "_na med", + "\": \"'", + "\":\" '", + "Ġ ************************************************", + "Ġ******************************** ****************", + "Ġ******** ****************************************", + "Ġ**************** ********************************", + "Ġ************************ ************************", + "Ġ**************************************** ********", + "Ġgame Over", + "Ġ LENGTH", + "ĠLE NGTH", + "ĠLENG TH", + "ĉ screen", + "ĉs creen", + "ĉsc reen", + "Ġdo InBackground", + "_ dependencies", + "_depend encies", + "_dep endencies", + "Ġ rtc", + "Ġr tc", + "Ġrt c", + "/ up", + "/u p", + "_ ROM", + "_R OM", + "_RO M", + "H all", + "Ha ll", + "Hal l", + "Ġdef iciencies", + "( te", + "(t e", + "' #", + "_ equiv", + "_e quiv", + "_equ iv", + "Ġpre order", + "ĠA xe", + "ĠAx e", + "о мÑĥ", + "ом Ñĥ", + ".send File", + "Ġ filt", + "Ġf ilt", + "Ġfil t", + "Ġfi lt", + "Ġ Limits", + "ĠL imits", + "ĠLim its", + "ĠLi mits", + "ĠLimit s", + "ĠCaval iers", + ". discount", + ".dis count", + ".disc ount", + "âĨ IJ", + "ĠW it", + "ĠWi t", + "QRST UV", + "Ġ ij", + "Ġi j", + "Ġt egen", + "Ġte gen", + "Ġteg en", + "Ġ :\",", + "Ġ: \",", + "Ġ:\" ,", + "diff iculty", + "p unkt", + "pun kt", + "punk t", + "ĠEm ails", + "ĠEmail s", + "ch lor", + "chl or", + "( fun", + "(f un", + ". Uint", + ".U int", + ".Ui nt", + "ĠSt all", + "ĠSta ll", + "_ verified", + "_ver ified", + "u D", + "File Type", + "Ġple asures", + "Ġpleasure s", + "Ġpleas ures", + "Ġjud iciary", + "Ġs ham", + "Ġsh am", + "Ġsha m", + "i pur", + "ip ur", + "_ PLUS", + "_PL US", + "of fers", + "off ers", + "offer s", + "( foo", + "(f oo", + "_ GT", + "_G T", + "ĉ core", + "ĉc ore", + "EN TION", + "ENT ION", + "ĠLib eration", + "ĠLiber ation", + "Command Line", + "_ department", + "_de partment", + "_dep artment", + "_depart ment", + ". Ar", + ".A r", + "_ neighbor", + "_ne ighbor", + "Ġ Submitted", + "ĠSub mitted", + "ĠSubmit ted", + "Ġ Ċ", + "\"> -->Ċ", + "Ġdro its", + "Ġdroit s", + "Ġhomosexual s", + "Ġab duction", + "ĉ widget", + "ĉw idget", + "$ headers", + "$header s", + "ĠD AR", + "ĠDA R", + "Ġf la", + "Ġfl a", + "th reat", + "thr eat", + "Ġl ouis", + "Ġlo uis", + "Ġlou is", + ". GetProperty", + ".Get Property", + "\" Just", + "( frames", + "(f rames", + "(frame s", + "(fr ames", + "r yo", + "ry o", + "prof ession", + "| i", + "íķ´ ìĦľ", + "( sv", + "(s v", + "Ġun recognized", + "I onic", + "Io nic", + "Ion ic", + "F ashion", + "Screen State", + "Ġ Incoming", + "ĠIn coming", + "ĠInc oming", + "Not Nil", + "Ġsyn cing", + "Ġsync ing", + "e mie", + "em ie", + "emi e", + "Ġth ermo", + "Ġther mo", + "Ġtherm o", + "_ procs", + "_pro cs", + "_pr ocs", + "_proc s", + "Ġincons istency", + "Ġinconsist ency", + "rel igious", + ". mj", + ".m j", + "Ġperson n", + "Ġpers onn", + "Ġperso nn", + "Ġmoment os", + "Ġmomento s", + "or arily", + "Ġ æĬ", + "Ġæ Ĭ", + "_ne urons", + "Ill ustr", + "im oto", + "imo to", + "i lik", + "il ik", + "ili k", + "ĠW oj", + "ĠWo j", + "Tr ading", + "Trad ing", + "Tra ding", + "Ġapp are", + "Ġap pare", + "Ġappar e", + "Ġentre prises", + "Ġentreprise s", + "a chat", + "ac hat", + "ach at", + "acha t", + "Ġ ¬", + "Ġ ¬", + "Ġne igh", + "Ġnei gh", + "BUTTON DOWN", + "ĠMa her", + "ĠMah er", + "a ghan", + "ag han", + "agh an", + "- hash", + "-h ash", + "-has h", + "\" f", + "Ġclient ele", + "Ġcliente le", + ".add Button", + "ĉ SP", + "ĉS P", + "Q i", + "Ġg rated", + "Ġgr ated", + "Ġgrat ed", + "Ġgra ted", + "Ġgrate d", + "PO SITE", + "POS ITE", + "POSIT E", + ": >", + "ĠH owell", + "ĠHow ell", + "ĠHo well", + "ĠHowe ll", + "ĠCompar ative", + "Ġ ISC", + "ĠI SC", + "ĠIS C", + "ÂŃ i", + "O cean", + "D avis", + "Da vis", + "ĠFil me", + "ĠFilm e", + "W ins", + "Win s", + "Wi ns", + "ĠJ IT", + "oc cer", + "occ er", + "ĠC orm", + "ĠCo rm", + "ĠCor m", + "ENCH MARK", + "rc hive", + "rch ive", + "i cação", + "ic ação", + "ica ção", + "Ġm ata", + "Ġmat a", + "Ġma ta", + "Ġchild birth", + "ĠOption ally", + "ĠOptional ly", + "E ns", + "En s", + "Ġx http", + "Ġel ucid", + "_Osc InitStruct", + ") )):Ċ", + ")) ):Ċ", + "))) :Ċ", + "Ġint uit", + "Ġ Donate", + "ĠDon ate", + "Ġcorre lates", + "Ġcorrel ates", + "Ġcorrelate s", + "> Delete", + "Ġe quipe", + "Ġequ ipe", + "Ġequip e", + "Ġb oca", + "Ġbo ca", + "Ġinf latable", + "Ġinfl atable", + "e rah", + "er ah", + "era h", + "ĠDateTime Kind", + "Ġcal ves", + "\\ Lib", + "\\L ib", + "Ġem lrt", + "ĠTr ilogy", + "ĠTri logy", + "ĠP anc", + "ĠPan c", + "ĠPa nc", + "ĠD uis", + "ĠDu is", + "ĠpelÃŃcul a", + "W ARDS", + "WARD S", + "WAR DS", + "_DE TECT", + "_DET ECT", + "-section al", + "d hcp", + "dh cp", + "For Row", + "- destruct", + "-d estruct", + "-de struct", + "Ġ Presenter", + "ĠP resenter", + "ĠPres enter", + "ĠPresent er", + "/ slick", + "/s lick", + "/sl ick", + ", on", + ",o n", + "ĠCit adel", + "logged in", + "logg edin", + "_ subtype", + "_sub type", + "Ġs igue", + "Ġsi gue", + "Ġsig ue", + "Ġsigu e", + "Ġc uring", + "Ġcur ing", + "Ġcu ring", + "ĠFire wall", + "Ġfluores cence", + "ĠItalian s", + "ĠItalia ns", + "ĠItal ians", + "иÑĤ ÑģÑı", + ". getStyle", + ".get Style", + "In Seconds", + "j ie", + "ji e", + "- Smith", + "-S mith", + "Ġx link", + "Ġxl ink", + "Ġsub missive", + "о нÑĤ", + "он ÑĤ", + "arbon ate", + "ĠF aul", + "ĠFa ul", + "_ goals", + "_go als", + "_goal s", + "ĠCommission ers", + "ĠCommissioner s", + "chart Instance", + "_POST FIELDS", + "Ġmed ial", + "Ġmedia l", + "Ġmedi al", + "Ġm anos", + "Ġman os", + "Ġma nos", + "Ġmano s", + "Ġd elt", + "Ġde lt", + "Ġdel t", + "s vm", + "sv m", + ". Apis", + ".A pis", + ".Api s", + ".Ap is", + "e phy", + "ep hy", + "eph y", + "Ġasym pt", + "Ġapp Delegate", + "Ġimpro bable", + "c ka", + "ck a", + "s imd", + "si md", + "sim d", + "/ Error", + "/E rror", + ". âĢĵ", + "Ġ PTS", + "ĠP TS", + "ĠPT S", + "d eer", + "de er", + "dee r", + "Ġs ina", + "Ġsi na", + "Ġsin a", + "m agnitude", + "ID ADE", + "IDA DE", + "IDAD E", + "'] }'", + "']} '", + "Ġmay ores", + "Ġmayor es", + "Ġmayo res", + "ĉ comment", + "ĉcom ment", + "/ console", + "/con sole", + "\" @", + "v olt", + "vo lt", + "vol t", + ". sell", + ".s ell", + ".se ll", + ".sel l", + "ĠM acy", + "ĠMac y", + "ĠMa cy", + "Ġme lod", + "Ġmel od", + "Ġim ágenes", + "_ chg", + "_c hg", + "_ch g", + "Ġin out", + "Ġi nout", + "id ente", + "ide nte", + "ident e", + "iden te", + ") '),Ċ", + ")' ),Ċ", + ")'), Ċ", + "d ni", + "dn i", + ". blob", + ".b lob", + ".bl ob", + "Ġtyp ography", + "Ġe erie", + "Ġee rie", + "Ġeer ie", + "_ OID", + "_O ID", + "p esan", + "pe san", + "pes an", + "a jan", + "aj an", + "aja n", + "Ġch opping", + "Ġcho pping", + "Ġchop ping", + "Ġbl uff", + "a df", + "ad f", + "_ bases", + "_b ases", + "_base s", + ". Formatter", + ".Form atter", + ".Format ter", + ".For matter", + "Ġ\\ %", + "ĠPage Info", + "Car rier", + "ĠCal ibration", + "c omo", + "com o", + "co mo", + "-b odied", + "Ġfinanc ier", + "Ġ INA", + "ĠI NA", + "ĠIN A", + ". ERR", + ".E RR", + "Ġho odie", + "Ġhood ie", + "ĠS anity", + "ĠSan ity", + "gu arded", + "guard ed", + ".opend aylight", + "IS MATCH", + "ISM ATCH", + "High lights", + "Highlight s", + "ü nk", + "ün k", + "an iem", + "ani em", + "anie m", + "ang ered", + "ange red", + "anger ed", + "assign ments", + "assignment s", + "Ġregistr ado", + "Ġregist rado", + "ĠU PPER", + "ĠUP PER", + "ampil kan", + "a shire", + "as hire", + "ash ire", + "ashi re", + "ĠNik ola", + "ĠNi kola", + "ĠNikol a", + "ĠC FL", + "ĠCF L", + "ĠH DC", + "ĠHD C", + "Ġp oids", + "Ġpo ids", + "Ġpoi ds", + "ĠI Ps", + "ĠIP s", + "Ġprevent ative", + "ips oid", + "i fix", + "if ix", + "ifi x", + ". camel", + ".c amel", + ".ca mel", + ".cam el", + ". ga", + ".g a", + "V olumes", + "Volume s", + "Vol umes", + "- ste", + "-s te", + "-st e", + "Y ahoo", + "Ya hoo", + "_s ibling", + "_si bling", + "H ighest", + "High est", + "Hi ghest", + "opt group", + "Ġkvin na", + "Ġkvinn a", + "âĢĿ ãĢĤĊĊ", + "âĢĿãĢĤ ĊĊ", + "ĠAppl iances", + "Ġ \"><", + "Ġ\" ><", + "Ġ\"> <", + "' )\")Ċ", + "') \")Ċ", + "')\" )Ċ", + "h tt", + "ht t", + "ĠIdent ified", + "Ġpencil s", + "Ġpenc ils", + "Ġmember Id", + "Ġappend String", + ".load Data", + "Ġmock Mvc", + "Ġj ub", + "Ġju b", + "ĠS lut", + "ĠSl ut", + "ĠTai pei", + "st att", + "stat t", + "sta tt", + "P olit", + "Pol it", + "Po lit", + "Ġpart ager", + "Did Change", + "Incre ases", + "Increase s", + ") }.", + ")} .", + "ĠB aba", + "ĠBa ba", + "ĠBab a", + "_CL IP", + "_CLI P", + "[ unit", + "[u nit", + "Ġ клÑİÑĩ", + "Ġк лÑİÑĩ", + "Ġalc uni", + "ĠL ola", + "ĠLo la", + "ĠLol a", + "Ġcl inging", + "Ġclin ging", + "Ġcling ing", + "@ PostMapping", + "( concat", + "(con cat", + "Ġ ssid", + "Ġs sid", + "Ġss id", + "ĠF auc", + "ĠFa uc", + "o kit", + "ok it", + "oki t", + "ĠRecord ed", + "á lez", + "ál ez", + "ále z", + "($ ('<", + "($( '<", + "($(' <", + ".assertIs Not", + "Ġk ali", + "Ġka li", + "Ġkal i", + "V olt", + "Vo lt", + "Vol t", + "Ġwarm ly", + "Ġsc ares", + "Ġsca res", + "Ġscar es", + "Ġscare s", + "g etti", + "get ti", + "ge tti", + "gett i", + "füh rt", + "führ t", + "_ does", + "_d oes", + "_do es", + ". EMAIL", + ".E MAIL", + "im ations", + "imation s", + "imat ions", + "Ġspring fox", + "ĠD ecom", + "ĠDe com", + "ĠDec om", + "ar cy", + "arc y", + "Ġgl itches", + "Ġglitch es", + "ĠM off", + "ĠMo ff", + "ĠV oll", + "ĠVol l", + "ĠVo ll", + ". between", + ".b etween", + "Ġco orden", + "Ġcoord en", + "ĠPart icularly", + "G BP", + "GB P", + "Ġ semble", + "Ġs emble", + "Ġsem ble", + "Ġsembl e", + "East ern", + "_M SB", + "_MS B", + "] ){čĊ", + "]) {čĊ", + "]){ čĊ", + "m organ", + "mo rgan", + "mor gan", + "ĠE VAL", + "ĠEV AL", + "d ere", + "de re", + "der e", + "H OUSE", + "HO USE", + "m oire", + "mo ire", + "ist ique", + "isti que", + "_l stm", + "_lst m", + "_ls tm", + "- commit", + "-com mit", + "-comm it", + "yster ious", + "Ġtw ink", + "Ġtwin k", + "- thumbnails", + "-th umbnails", + "-thumbnail s", + "e nÃŃ", + "en ÃŃ", + ": '',", + ":' ',", + ":'' ,", + "Ġblack out", + "ĠFloor s", + "ĠFlo ors", + "Ġso fas", + "Ġsofa s", + "Ġsof as", + "Ġ oui", + "Ġo ui", + "Ġou i", + "le shoot", + "les hoot", + "lesh oot", + "ĠR aq", + "ĠRa q", + "- abs", + "-a bs", + "-ab s", + "Ġk ra", + "Ġkr a", + "M ining", + "Min ing", + "Mi ning", + "Mini ng", + "s haft", + "sh aft", + "sha ft", + ".set Columns", + ".setColumn s", + "Cl azz", + "Cla zz", + "PRE TTY", + ". playlist", + ".play list", + "éĸ ¢", + "-Sah aran", + "M ING", + "MI NG", + "MIN G", + "ĉ bl", + "ĉb l", + "è® ®", + "j f", + "DO CKER", + "DOC KER", + "hop efully", + "hope fully", + "( ignore", + "(i gnore", + "ĠUsers Controller", + "ĠMitar beiter", + "Ġ LES", + "ĠL ES", + "ĠLE S", + "Ham ilton", + "- metadata", + "-m etadata", + "-meta data", + "Ġ KK", + "ĠK K", + "ikt ig", + "Ġwoll te", + "Ġwol lte", + "egr ator", + "egra tor", + "] bool", + ", current", + ",c urrent", + "Ġvalue Type", + "Ġexcav ation", + "o land", + "ol and", + "ola nd", + "olan d", + "Ġv erv", + "Ġver v", + "Ġve rv", + "/ filepath", + "/file path", + "Auth Provider", + "Ġpro crast", + "ĉ ULONG", + "ĉU LONG", + "_MEM BERS", + "_MEMBER S", + "Ġup lift", + "ĠAut onomous", + "Ġart works", + "Ġartwork s", + "ĠOut reach", + "Ġp ore", + "Ġpo re", + "Ġpor e", + "Home page", + "Dialog Title", + "Ġ Generating", + "ĠG enerating", + "ĠGener ating", + "ĠGene rating", + "P ARSE", + "PAR SE", + "Ġsem anas", + "Ġsemana s", + "Ġhum ano", + "Ġhuman o", + "JSGlobal Scope", + "Ġvo lte", + "Ġvol te", + "Ġvolt e", + "Ġb ella", + "Ġbe lla", + "Ġbel la", + "Ġbell a", + "(is instance", + "Ġp lc", + "Ġpl c", + "\\ Catalog", + "\\C atalog", + "Ġeste emed", + "Ġesteem ed", + "éĽ ·", + "( suffix", + "(s uffix", + "Ġswe eps", + "Ġsweep s", + "ĉ ORDER", + "Ġdo ivent", + "Ġdoi vent", + "ĠS warm", + "ĠSw arm", + "Ġ Compiled", + "ĠComp iled", + "ĠCompile d", + "get Page", + "A DR", + "AD R", + ".R ichTextBox", + "Ġ Naming", + "ĠN aming", + "ĠNa ming", + "ĠNam ing", + "ag ged", + "agg ed", + "ĠG ANG", + "ĠGA NG", + "r asing", + "ra sing", + "ras ing", + "od eled", + "ode led", + "odel ed", + "Ġg ala", + "Ġga la", + "Ġgal a", + "ĠJS Name", + "d df", + "dd f", + "Ġil lust", + "Ġill ust", + "ĠLan sing", + "ĠLans ing", + "[ port", + "[p ort", + "- death", + "-de ath", + "Ġdin heiro", + "ĠE ighth", + "ĠEight h", + "Ġ bian", + "Ġb ian", + "Ġbi an", + "st Ã¥", + "Ġvers ión", + "ĠLinear Gradient", + "ĠH arding", + "ĠHar ding", + "ĠHard ing", + ". *)", + ".* )", + "e czy", + "ec zy", + "ecz y", + "$ header", + "Ġv Ã¥r", + "ĠvÃ¥ r", + "Un checked", + "Ġk oje", + "Ġko je", + "ĠPal adin", + "( ))),", + "() )),", + "()) ),", + "())) ,", + "G iving", + "Gi ving", + "( )})Ċ", + "() })Ċ", + "()} )Ċ", + "Ġd ips", + "Ġdi ps", + "Ġdip s", + "F riendly", + "Friend ly", + "Ġport rays", + "Ġportray s", + "Ġhel ium", + "Ġinsurg ency", + "_ expiry", + "_ex piry", + "_exp iry", + "ĠstringByAppending String", + "Ġa antal", + "Ġaan tal", + "s lope", + "sl ope", + "m ast", + "ma st", + "mas t", + ".get Integer", + ".getInt eger", + "Ġ ########################", + "Ġ######## ################", + "Ġ################ ########", + "Ġ############ ############", + "_PIPE LINE", + "Ġd ensely", + "Ġdense ly", + "Ġdens ely", + "Ġmut ating", + "m idi", + "mi di", + "mid i", + "ĠSe it", + "a yne", + "ay ne", + "NOW LED", + "ĠDes mond", + "ĠF Name", + "ĠFN ame", + "ĠN airobi", + "\\ Context", + "Ġcal cular", + "Ġcalcul ar", + "Ġcalc ular", + "- den", + "-d en", + "-de n", + "Ġ cott", + "Ġc ott", + "Ġco tt", + "Ġcot t", + "] ):čĊ", + "]) :čĊ", + "]): čĊ", + "ĠRecommend ation", + "ĠRo lex", + "ĠRole x", + "ĠRol ex", + "Ġvalidation Result", + ". pat", + ".p at", + ".pa t", + "Ġn Ãły", + "ĠRest Client", + "ĠG PI", + "ĠGP I", + "ĠAshe ville", + "Ġ OSP", + "ĠO SP", + "ĠOS P", + "ĠPER MISSION", + "ÐĶ Ð°ÑĤа", + "/ notification", + "/not ification", + "K night", + "Kn ight", + "_ Word", + "_W ord", + "ĠB ender", + "ĠBe nder", + "ĠBen der", + "ĠBend er", + "r anking", + "ran king", + "rank ing", + "Ġpart ida", + "Ġparti da", + "_ reservation", + "_res ervation", + "Ì Ģ", + "Ġm Name", + "Ġg etch", + "Ġget ch", + "Ġb orr", + "Ġbo rr", + "Ġbor r", + "Ġdilig ent", + "Disc uss", + "æŃ£ åľ¨", + "ape ake", + "i oned", + "ion ed", + "io ned", + "ione d", + "-N azi", + ". cum", + ".c um", + "ĠK ron", + "ĠKr on", + "ĠKro n", + "= $('#", + "=$ ('#", + "=$( '#", + "/ single", + "/s ingle", + "Ġerot isch", + "ĠV ib", + "ĠVi b", + "Ġrat ified", + "Ġconcert ed", + "ĠREG ARD", + "Ġdo br", + "Ġdob r", + ".Driver Manager", + "' r", + "Port able", + "Por table", + "ĉ suite", + "ĉs uite", + "Ġrel aciones", + "Ġrelacion es", + "ĠD op", + "ĠDo p", + "emp loi", + "empl oi", + "emplo i", + "D OB", + "DO B", + "Ġcr umbs", + "Ġ xls", + "Ġx ls", + "Ġxl s", + "_ Application", + "_App lication", + "(' :',", + "(': ',", + "Ġ-- ----------------------------------------------------------------------Ċ", + "Ġ---------------------------------------------------------------- --------Ċ", + "Ġ------------------------------------------------------------ ------------Ċ", + "m se", + "ms e", + "Ġb erk", + "Ġbe rk", + "Ġber k", + "Ġ ReturnValue", + "ĠReturn Value", + "ĠB elly", + "ĠBel ly", + "ĠBell y", + "Ġc amar", + "Ġca mar", + "Ġcam ar", + "ĠPe ek", + "ĠPee k", + "el sing", + "els ing", + "Ġnot ifies", + "ĠTr istan", + "ĠTri stan", + "ĠG AR", + "ĠGA R", + "em me", + "emm e", + "ĠElev ated", + "_ CSV", + "_C SV", + "_CS V", + "( chalk", + "(ch alk", + "Ġtw enties", + "ĠSearch Result", + "= search", + "=s earch", + "ĠMix ing", + "ĠMi xing", + "ý t", + "Ġrecru iter", + "Ġrecruit er", + "ĠIDE OGRAPH", + "ĠA go", + "ĠAg o", + "( Operation", + "(O peration", + "(Op eration", + "$ values", + "$value s", + "$val ues", + "Ġworld ly", + "ĠRos enberg", + "ĠRosen berg", + "ĠConfigure Services", + "> ** Ċ", + "...\" >Ċ", + "Ġsn ork", + "Ġsno rk", + "_ opacity", + "_op acity", + "ĠinitWith NibName", + "i ado", + "ia do", + "iad o", + "A AC", + "AA C", + "Ġ ]).", + "Ġ] ).", + "Ġ]) .", + "; z", + "_ paragraph", + "_par agraph", + "_para graph", + "Ġn oses", + "Ġno ses", + "Ġnos es", + "Ġnose s", + "st ands", + "stand s", + "sta nds", + "stan ds", + "i fr", + "if r", + "_m E", + "I raq", + "Ir aq", + ". Predicate", + ".P redicate", + "e naire", + "en aire", + "ena ire", + "] ]];Ċ", + "]] ];Ċ", + "Ġ unidad", + "Ġun idad", + "Ġuni dad", + "Ġretire es", + "Ġretir ees", + "_ hello", + "_h ello", + "Ġ modele", + "Ġmod ele", + "Ġmodel e", + "Ġmode le", + "ĠUITableView Controller", + "ĠUIT ableViewController", + "f write", + "fw rite", + "_ numero", + "_num ero", + "_numer o", + "_ visited", + "_vis ited", + "_visit ed", + "Ġrec ebe", + "Ġrece be", + "( Notification", + "Fant astic", + "_ submenu", + "_sub menu", + "ĠP EM", + "ĠPE M", + "ĠC upertino", + "ĠCup ertino", + "approx imately", + "cl assed", + "class ed", + "clas sed", + ".Read String", + "Ġdomic ile", + "_ PW", + "_P W", + "Ġball park", + "ĠK ale", + "ĠKa le", + "ĠKal e", + "con tra", + "cont ra", + "contr a", + "_ favorite", + "_f avorite", + "/ of", + "/o f", + "Q uite", + "Qu ite", + "Quit e", + "Qui te", + "Ġ OTA", + "ĠO TA", + "ĠOT A", + "Ġacceler ometer", + "di dn", + "did n", + "| ^", + "ĠRohing ya", + "ivi crm", + "ivic rm", + "ann abin", + "anna bin", + "обÑĭ ÑĤи", + "o rado", + "or ado", + "ora do", + "' )+", + "') +", + "Ha unted", + ", ID", + ",I D", + "( UIAlertAction", + "u rv", + "ur v", + "_ bel", + "_b el", + "_be l", + "ĠMex icans", + "ĠMexican s", + "/ terms", + "Ġ Painter", + "ĠP ainter", + "ĠPa inter", + "ĠPaint er", + "ĠPain ter", + "Input Label", + "ĠV inci", + "ĠVin ci", + "ĠRo sie", + "ĠRos ie", + "\\ uc", + "\\u c", + "< Menu", + "", + "Ġ'\" >", + "_ gs", + "_g s", + "Ġcomp il", + "n ard", + "na rd", + "nar d", + "- exc", + "-e xc", + "-ex c", + "Ġrh yme", + "Ġb utto", + "Ġbut to", + "Ġbutt o", + "s ays", + "sa ys", + "say s", + "ant asy", + "anta sy", + "antas y", + "ë ¸", + "Ġcitt Ãł", + "Ġch eg", + "Ġche g", + "Time String", + "Ġpos itivity", + "Ġposit ivity", + "ĠD abei", + "ĠDa bei", + "Ġ wang", + "Ġw ang", + "Ġwa ng", + "Ġwan g", + "Ġes cre", + "Ġesc re", + "\" c", + "ĉ video", + "ĉv ideo", + "Ġ Ranked", + "ĠR anked", + "ĠRank ed", + "ĠRan ked", + ". strings", + ".string s", + ".str ings", + "> >>(", + ">> >(", + ">>> (", + "Ġин ÑĤеÑĢ", + "ĠинÑĤ еÑĢ", + "Ġre sta", + "Ġr esta", + "Ġres ta", + "Ġrest a", + "[: ,:", + "[:, :", + "Ġren dre", + "Ġrend re", + "Ġde ser", + "Ġdes er", + "Ġdese r", + "J os", + "Jo s", + "Ġdis ruptions", + "Ġdisrupt ions", + "Ġdisruption s", + "Ġо пеÑĢ", + "Ġоп еÑĢ", + "s ampling", + "sam pling", + "samp ling", + "sup press", + "Ġcontainer View", + "ĠSeam less", + "Ġ airy", + "Ġa iry", + "Ġair y", + "Ġai ry", + "Ġon load", + ".Window Manager", + "ĠP LA", + "ĠPL A", + "br aco", + "bra co", + ".set PositiveButton", + "Ġp du", + "Ġpd u", + "Ġg si", + "Ġgs i", + "Ġ Cli", + "ĠC li", + "ĠCl i", + "_gr adients", + "_grad ients", + "_gradient s", + "Ñı д", + "ĠWh isper", + "c stdint", + "Ġl äng", + "Ġlä ng", + "Ġform ulations", + "Ġformulation s", + "Ġformul ations", + "é nom", + "én om", + "ourn emouth", + "[ $_", + "[$ _", + "Ġordin arily", + ".set Username", + ".setUser name", + "Ġfacult ies", + "MIT TED", + "/ values", + "/value s", + "Ġwe ir", + "Ġwei r", + "ĠA pt", + "ĠAp t", + "M Z", + "ĉ cf", + "ĉc f", + "u cken", + "uc ken", + "uck en", + "ĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉ", + "def ense", + "[ iVar", + "[i Var", + "ĠBusiness Exception", + "Select ors", + "Selector s", + "Sel ectors", + "Sele ctors", + "( coordinates", + "(co ordinates", + "ĠRe sets", + "ĠRes ets", + "ĠReset s", + "ĠDr inks", + "ĠDrink s", + "o leans", + "ole ans", + "olean s", + "(st ypy", + "_ IOC", + "_I OC", + "_IO C", + ". xxx", + ".x xx", + ".xx x", + "ĠS later", + "ĠSl ater", + "ĠSlate r", + "ĠB elize", + "ĠBel ize", + "Ġ /************************************************************************", + "Ġ/ ************************************************************************", + "Ġ/**************************************************************** ********", + "ad din", + "add in", + "_ep isodes", + "_episode s", + "Ġis chem", + "Ġisc hem", + "legal ArgumentException", + "D anny", + "Dan ny", + "Ġ pared", + "Ġp ared", + "Ġpar ed", + "Ġpa red", + "Ġpare d", + ".code haus", + "ĠAs sy", + "ĠAss y", + "ĉ Rect", + "ĉR ect", + "â ŀ", + ". lista", + ".l ista", + ".list a", + ".li sta", + "Ġв аÑĪ", + "Ġва ÑĪ", + "Ġv ets", + "Ġve ts", + "Ġvet s", + "H WND", + "HW ND", + "is oner", + "ison er", + "iso ner", + "Ġ xo", + "Ġx o", + "Ġor ally", + "Ġoral ly", + "Ġ Stmt", + "ĠSt mt", + ".r nn", + "ĠD PI", + "ĠDP I", + "ĠSt rikes", + "ĠStr ikes", + "ĠStrike s", + ".setViewport View", + "Ġèĩª åĬ¨çĶŁæĪIJ", + "Y ELLOW", + "GL enum", + "part ners", + "partner s", + "Ġ Implicit", + "ĠImp licit", + "ĠImpl icit", + "Ġt ako", + "Ġta ko", + "Ġtak o", + "âĢĻ elle", + "âĢĻe lle", + "Ġerm ög", + "total Count", + "G il", + "Gi l", + "ĉ work", + "ĉw ork", + "Ġpr atic", + "Ġpra tic", + "Ġprat ic", + "in ati", + "ina ti", + "a bies", + "ab ies", + "abi es", + "ĠSk inner", + "ĠSkin ner", + "Ġspirit ed", + "Ġspir ited", + "Ġpancre atic", + "Ġh df", + "Ġhd f", + "' em", + "'e m", + "Ġpsych osis", + "Ġpsycho sis", + "o licit", + "ol icit", + "olic it", + "oli cit", + "Ġ\" {\"", + "Ġ\"{ \"", + "_at ual", + "_a tual", + "Ġé lect", + "Ġél ect", + "TE AM", + "Ġd ak", + "Ġda k", + "ĠSW AT", + ". FragmentManager", + ".Fragment Manager", + "Ġprovision ing", + "l ifetime", + "life time", + "lif etime", + "_EXT ENSIONS", + "_EXTENSION S", + "Ġ CASCADE", + "ĠC ASCADE", + "ĠCAS CADE", + "Ġ ![", + "Ġ! [", + "( KP", + "(K P", + "Ġ vem", + "Ġv em", + "Ġve m", + "ĠInter racial", + "ĠInterr acial", + "' ]},Ċ", + "'] },Ċ", + "']} ,Ċ", + "sp acer", + "space r", + "spa cer", + "_ kv", + "_k v", + "W arehouse", + "Ware house", + "R DD", + "RD D", + "_f sm", + "_fs m", + ".Stretch Image", + ", Yes", + ",Y es", + "ĠRefuge e", + "ĠBr inging", + "ĠBring ing", + "Ġv álido", + "Ġvál ido", + ". intersection", + ".inter section", + "Ġsp ooky", + "Ġspo oky", + "_ portal", + "_p ortal", + "_port al", + "_por tal", + "Ġ moth", + "Ġm oth", + "Ġmot h", + "Ġmo th", + "ĠZ odiac", + "ĠSOC IAL", + "M imeType", + "'] }}", + "Ġ----- ->", + "Ġ------ >", + "_ Blue", + "_B lue", + "_Bl ue", + "Ġbot anical", + "Ġfr ags", + "Ġfra gs", + "Ġfrag s", + "Ġfamil ial", + "Ġfamilia l", + "- du", + "-d u", + "Ġse izing", + "Ġseiz ing", + "Ġsei zing", + "( blocks", + "(b locks", + "(block s", + "(bl ocks", + ". rd", + ".r d", + ".check NotNull", + "Ġm iser", + "Ġmis er", + "Ġmi ser", + "Ġmise r", + "Ġmax x", + "Ġma xx", + "ĠK nee", + "ĠKn ee", + "View Item", + "Inner HTML", + "D anger", + "Da nger", + "Dan ger", + "( (__", + "(( __", + "((_ _", + "Ġprz ypad", + "Ġprzy pad", + "create Url", + "* *,", + "** ,", + "ĠDecor ating", + "ATE GY", + "ATEG Y", + "? >/", + "?> /", + ". Designer", + ".Des igner", + ".Design er", + "hex digest", + "ĠEvery where", + "all eries", + "alle ries", + "aller ies", + ".TEXT URE", + ". Blocks", + ".B locks", + ".Bl ocks", + ".Block s", + "z ell", + "ze ll", + "zel l", + "Ġpre ço", + "S uddenly", + "input Email", + "( sync", + "(s ync", + ". bd", + ".b d", + "gold en", + "> ');", + ">' );", + ">') ;", + "ĠDick inson", + "> >(Ċ", + ">> (Ċ", + ">>( Ċ", + "Ġ QUEUE", + "ĠQUE UE", + "Ġ getColumn", + "Ġget Column", + "ĠgetC olumn", + "ĠS AND", + "ĠSA ND", + "ĠSAN D", + ". piece", + ".p iece", + ".pi ece", + "l icer", + "lic er", + "li cer", + "lice r", + "Fl utter", + "Ġget Version", + "Ġresource Id", + "o gl", + "og l", + "ÅĤ aw", + "ÅĤa w", + ". Branch", + ".Br anch", + "ĉ web", + "ĉw eb", + "Ġfr amerate", + "Ġframe rate", + "Ġfram erate", + "P PP", + "PP P", + "Ġf ray", + "Ġfr ay", + "Ġfra y", + "C NT", + "CN T", + "Ġinform atie", + "Ġinformat ie", + "' ]čĊčĊ", + "'] čĊčĊ", + "']čĊ čĊ", + "ne as", + "nea s", + "Header Code", + "Ġ æ¸", + "Ġæ ¸", + "Ġt rg", + "Ġtr g", + "raw types", + "H onda", + "Ho nda", + "Hon da", + "Ġmark eter", + "Ġmarket er", + "Ġ requestData", + "Ġrequest Data", + "Ġ Pg", + "ĠP g", + "ĉ not", + "ĉn ot", + "ĉno t", + "Ġpage Info", + "Ġakt uellen", + "Ġaktu ellen", + "ãģ ķãĤĵ", + "ãģķ ãĤĵ", + "Ġ AMS", + "ĠA MS", + "ĠAM S", + "push ViewController", + "ĉ AL", + "ĉA L", + "Ġv ests", + "Ġve sts", + "Ġvest s", + "Ġves ts", + "p roduce", + "pro duce", + "produ ce", + "prod uce", + "-m ême", + "ĠRah man", + "F unny", + "Fun ny", + "E Z", + "_ Valid", + "_Val id", + "Ġsquad ron", + "Ġ lash", + "Ġl ash", + "Ġla sh", + "Ġlas h", + "Ġ irm", + "Ġi rm", + "Ġir m", + "i asco", + "ias co", + "ĠP aran", + "ĠPar an", + "ĠPa ran", + "ĠPara n", + "Ġpet ites", + "Ġpetite s", + "Ġpetit es", + "ĠDec ay", + "Ġun initialized", + "priv ileged", + "Ġm bedtls", + "å¤ĩ 注", + "Ġ ^.", + "Ġ^ .", + "Ġec static", + "D etroit", + "Det roit", + "Ġp arten", + "Ġpart en", + "Ġpar ten", + "Ġparte n", + "Ġsou venir", + ".get Login", + ".getLog in", + "моÑĤ ÑĢ", + "мо ÑĤÑĢ", + "en ção", + "ĠmÃŃn imo", + "ĠAccess ed", + "ĠAcc essed", + "r ió", + "ri ó", + "M ic", + "Mi c", + "ĠV ocal", + "ĠVo cal", + "ĠVoc al", + ".Set String", + "Ġmens ajes", + "Ġmensaje s", + "åĢ į", + "Ġattr avers", + "ĠA ph", + "ĠAp h", + "Ġ ');čĊ", + "Ġ' );čĊ", + "Ġ') ;čĊ", + "Ġ'); čĊ", + "ü nde", + "ün de", + "ünd e", + "Ġenchant ed", + "Ġench anted", + "ĠRoot State", + "ĠCLOSE D", + "ĉ ĉĉĉĉĉĉĉčĊ", + "ĉĉ ĉĉĉĉĉĉčĊ", + "ĉĉĉĉ ĉĉĉĉčĊ", + "ĉĉĉ ĉĉĉĉĉčĊ", + "ĉĉĉĉĉ ĉĉĉčĊ", + "ĉĉĉĉĉĉ ĉĉčĊ", + "ĉĉĉĉĉĉĉĉ čĊ", + "ĉĉĉĉĉĉĉ ĉčĊ", + "Ġcal iente", + "or ris", + "orr is", + "Ġphysic ists", + "Ġphysicist s", + "h wnd", + "hw nd", + "_ vi", + "_v i", + "Ġráp ido", + "Ġcapital ized", + "Ġcapitalize d", + "ed By", + "Ġmach ining", + "Ġh ubby", + "Ġhub by", + "ĠSt acy", + "ĠSta cy", + ". Bus", + ".B us", + "d rink", + "dr ink", + "H ur", + "Hu r", + "Ġpr opia", + "Ġprop ia", + "Unit Test", + "Ġmiscon ception", + "_ _));Ċ", + "__ ));Ċ", + "__) );Ċ", + "__)) ;Ċ", + "/ dc", + "/d c", + "ĠMay weather", + "_m C", + ". createFrom", + ".create From", + "ĠQ Painter", + "ro psych", + "rops ych", + "inn itus", + "a yas", + "ay as", + "aya s", + "Ġg eg", + "Ġge g", + "( dw", + "(d w", + "Ġus ado", + "Ġusa do", + "Ġtr ickle", + "Ġtrick le", + "Ġann ihil", + "Ġanni hil", + "ĠP asta", + "ĠPa sta", + "ĠPast a", + "ĠPas ta", + "Ġ ++Ċ", + "Ġ+ +Ċ", + "Ġ++ Ċ", + "(Expected Conditions", + ".post Value", + "i cap", + "ic ap", + "ica p", + "ĠDon etsk", + "_ soup", + "_s oup", + "_so up", + "- publish", + "-p ublish", + "ĠP b", + "m entions", + "ment ions", + "mention s", + "AC CEPT", + ". Pull", + ".P ull", + ", âĢĻâĢĻ", + ",âĢĻ âĢĻ", + "Ġret arded", + "Ġretard ed", + "_ ATOM", + "_AT OM", + "ĠTerm inator", + "ĠTermin ator", + "- court", + "-c ourt", + "-co urt", + "ĠCLLocation Coordinate", + "Ġrev erence", + "Ġreve rence", + "Ġrever ence", + "ĠS SC", + "ĠSS C", + "ut ely", + "ute ly", + "ĠW ON", + "ĠG SL", + "ĠGS L", + "f rei", + "fr ei", + "fre i", + ".get Longitude", + ".getLong itude", + "Ġopen FileDialog", + ".B utter", + ".But ter", + "- important", + "-import ant", + "_M ANY", + "_MAN Y", + "_MA NY", + "ĠG ong", + "ĠGo ng", + "ĠGon g", + "âĢľ How", + "Ġg orge", + "Ġgor ge", + "= msg", + "=m sg", + "ĠE zek", + "ĠEz ek", + "create Command", + ": checked", + "Ġinfo graphic", + "Ġinf ographic", + ". WEST", + ".W EST", + "D irs", + "Dir s", + "Di rs", + "Ġgu arda", + "Ġguard a", + "Ġguar da", + "Ġbee tle", + "Ġbeet le", + "< small", + " Loading", + "_ mA", + "_m A", + ".get Random", + "b lings", + "bl ings", + "bling s", + "Ġche eses", + "Ġcheese s", + "Ġchees es", + "t ti", + "tt i", + ". âĢ¢", + "ĠBurg ess", + "ender it", + "ende rit", + ". ',čĊ", + ".' ,čĊ", + ".', čĊ", + "(\" \"+", + "(\"\" +", + "a cb", + "ac b", + "% p", + "index ed", + "inde xed", + "_ predicate", + "_p redicate", + "_pred icate", + "nes ia", + "Ġb ied", + "Ġbi ed", + "ĠC IT", + "ĠCI T", + "( Pos", + "(P os", + "_ radi", + "_r adi", + "_rad i", + "_ra di", + "ä»· æł¼", + "B iz", + "Bi z", + "ĠAdoles cent", + "Ġv iên", + "Ġvi ên", + "c ycl", + "cy cl", + "_ Cancel", + "_C ancel", + "Ġcon clusive", + "Ġconclus ive", + "Ġconcl usive", + "Ġappell ate", + "Ġappel late", + "inform atics", + "S J", + "Ġel ective", + "Ġelect ive", + "role Id", + "Fetch er", + "ĉ Command", + "(\" (%", + "(\"( %", + "Ġf art", + "Ġfa rt", + "Ġfar t", + "I LA", + "IL A", + "get Block", + "A USE", + "AU SE", + "Ġ дан", + "Ġд ан", + "Ġда н", + "ĠAr te", + "ĠArt e", + "Ġnot ifying", + "Ġnotify ing", + "Ġg ele", + "Ġge le", + "Ġgel e", + ". same", + ".s ame", + ".sa me", + ".sam e", + "ĠRe gel", + "ĠReg el", + "Ġ BaÅŁ", + "ĠB aÅŁ", + "ĠBa ÅŁ", + ". creation", + ".c reation", + "Ġ VN", + "ĠV N", + "_ community", + "_comm unity", + "Ġuns ustainable", + "S EX", + "SE X", + "Ġgrid Size", + "res cia", + "avers able", + "(', ')[", + "(',' )[", + "(',') [", + "ĠPh elps", + "á»ķ i", + "ANCE LED", + "ANCEL ED", + "- IS", + "-I S", + ".run ners", + ".runner s", + "ĠSt okes", + "ĠSto kes", + "ĠStoke s", + ". Produ", + ".P rodu", + ".Pro du", + ".Pr odu", + "Ġwh ipping", + "Ġwhip ping", + "_ac quire", + "Ġinvestig ación", + "f ried", + "fr ied", + ".copy With", + "ĠHard cover", + "- Se", + "-S e", + "áŀ¶ áŀ", + "inv itation", + "les ai", + "ĠD orm", + "ĠDo rm", + "ĠDor m", + "ĠÑģпиÑģ ка", + "Ġconcaten ated", + "Ġconcatenate d", + "o phil", + "op hil", + "oph il", + "Ġth inker", + "Ġthink er", + "Ġthin ker", + "/font awesome", + "ĠLe opard", + "ĠLeo pard", + "Ġ\" /\");Ċ", + "Ġ\"/ \");Ċ", + "Ġ\"/\" );Ċ", + "Ġresidual s", + "ĠMicro wave", + "ĠMic rowave", + "Ġcon forme", + "Ġconform e", + "th rop", + "thr op", + "thro p", + "Ġdis emb", + "Ġdi semb", + "Ġdise mb", + "ĠO MG", + "ĠOM G", + "ĠDisc ipline", + "ĠAc robat", + "/ repository", + "/re pository", + "/repos itory", + "d fa", + "df a", + "_ MED", + "_M ED", + "_ME D", + "buf io", + "Ġméth ode", + "_H OLD", + "i asi", + "ia si", + "ias i", + "_ legacy", + "_leg acy", + ") ččĊ", + "æ£ Ģ", + "Get ProcAddress", + "Ġy ay", + "Ġya y", + "ot ence", + "ote nce", + "oten ce", + "order id", + "orde rid", + "- tw", + "-t w", + "Ġd early", + "Ġdear ly", + "In coming", + "Inc oming", + "/ il", + "/i l", + "Ġneuro p", + "Ġneu rop", + "Ġneur op", + "u cz", + "uc z", + ") ;čččĊ", + "); čččĊ", + "ĠInnov ative", + "Ġpro fund", + "Ġprof und", + "ig mat", + "igma t", + "igm at", + "Selection Mode", + "re levant", + ". GO", + ".G O", + "Ġbru ises", + "Ġs ach", + "Ġsa ch", + "Ġsac h", + "o def", + "od ef", + "ode f", + "Ġre imb", + "Ġreim b", + "/ desktop", + "/d esktop", + "- spot", + "-s pot", + "-sp ot", + "un dance", + "und ance", + "unda nce", + "undan ce", + "Ent ropy", + "Entr opy", + "\\ core", + "Ġs uger", + "Ġsu ger", + "Ġsug er", + "Ġ Mvc", + "ĠM vc", + "ĠGN OME", + "_ indx", + "_in dx", + "_i ndx", + "_ind x", + "ĠYY STYPE", + "ĠYYS TYPE", + "ĠMat lab", + "ĠC IF", + "ĠCI F", + "Ġ *))", + "Ġ* ))", + "Ġ*) )", + "Ġproduct List", + "Ġ Alright", + "ĠAl right", + "ace mark", + "ac emark", + "ÑĤ ив", + "ÑĤи в", + "mod ification", + "int ernational", + "inter national", + "intern ational", + "Ġh omers", + "Ġhome rs", + "Ġhom ers", + "Ġho mers", + "Ġhomer s", + "Ġd icts", + "Ġdi cts", + "Ġdict s", + "Ġdic ts", + "ĠQ Font", + ". SQLite", + ".SQL ite", + "Ġtransplant ation", + "ĠMessageBox Button", + "ĠEl ves", + "' ]])Ċ", + "'] ])Ċ", + "']] )Ċ", + "(Q Icon", + "Ġcin emas", + "Ġcinema s", + "Ġcine mas", + "CO ORD", + "- China", + "-Ch ina", + "Ġkh ẩu", + "æĪij çļĦ", + "Ġsk ulls", + "Ġskull s", + "Ġpain staking", + "Ġpains taking", + "f ce", + "fc e", + ".XR Label", + "Ġ specifier", + "Ġspec ifier", + "Ġprefer ring", + "Ġpref erring", + "/ activity", + "( Photo", + "á lt", + "ál t", + ". lot", + ".l ot", + ".lo t", + "' '.", + "'' .", + "an nonce", + "ann once", + "annon ce", + "anno nce", + ".google code", + "- pdf", + "-p df", + "ĠP oke", + "ĠPo ke", + "ĠPok e", + "_ ACL", + "_A CL", + "_AC L", + "Ġend owed", + "dis cover", + "disc over", + ".o mg", + ".om g", + "Ġwood land", + ". Magic", + ".M agic", + "Ġvol ont", + "Not Allowed", + "Ġc have", + "Ġch ave", + "Ġcha ve", + "B MW", + "BM W", + "',' =',", + "','= ',", + "ĠS IX", + "ĠSI X", + "æĪij 们", + "Ġko sher", + "Ġkos her", + "Ġas piration", + "Ġaspir ation", + "Ġasp iration", + "i ntl", + "in tl", + "int l", + "_ref ptr", + "' +Ċ", + "'+ Ċ", + "ment or", + "men tor", + ". club", + ".c lub", + ".cl ub", + "Window State", + ". ARR", + ".A RR", + ".AR R", + "Ġ zza", + "Ġz za", + "Ġzz a", + "Ġmessage Type", + ". equ", + ".e qu", + ".eq u", + "T hor", + "Th or", + "Tho r", + "Ġin just", + "Ġinj ust", + "Ġg ums", + "Ġgu ms", + "Ġgum s", + "Ġborder Side", + "/ ////", + "// ///", + "//// /", + "/// //", + "ĠTrans mit", + "Ġbuf size", + "Ġh ak", + "Ġha k", + "Ġ ellas", + "Ġel las", + "Ġell as", + "Ġella s", + "R ANDOM", + "RAND OM", + "ĉ mc", + "ĉm c", + "Ġp ea", + "Ġpe a", + "e ko", + "ek o", + "document o", + "Ġhyster ia", + "Ġare nas", + "Ġar enas", + "Ġaren as", + "Ġarena s", + "Ġgun men", + "Ġm ike", + "Ġmi ke", + "Ġmik e", + "Ġimp unity", + "at isation", + "atis ation", + "_ Zero", + "_Z ero", + "_COMP ANY", + "ĠG ors", + "ĠGo rs", + "ĠGor s", + "Ġuse Class", + "( redis", + "(r edis", + "(re dis", + "(red is", + "ĠRUN NING", + "ĠB air", + "ĠBa ir", + "ĠBai r", + "ve lte", + "vel te", + "velt e", + "Ġ ','.", + "Ġ', '.", + "Ġ',' .", + "а ÑĤÑĮÑģÑı", + "аÑĤÑĮ ÑģÑı", + "ö st", + "ös t", + "encode URIComponent", + "_ restrict", + "_re strict", + "Ġdec als", + "Ġ Pedido", + "ĠP edido", + "ĠPed ido", + "Ġalter cation", + "Dis plays", + "Display s", + "Disp lays", + "ĠApp licants", + "ĠApplicant s", + "C US", + "CU S", + "Text area", + "ĠAng ola", + ". future", + ".f uture", + "ĠU SHORT", + "ĠUS HORT", + "Ġsuppress ing", + "Ġsupp ressing", + "Ġset zen", + "AP olynomial", + "Ġt och", + "Ġto ch", + "Ġtoc h", + "Ġhall mark", + "Ġ $$$", + "Ġ$ $$", + "Ġ$$ $", + "ĠCHAR SET", + ". rpm", + ".r pm", + "ĠD ich", + "ĠDi ch", + "---- ----------------", + "-------- ------------", + "---------------- ----", + "------------ --------", + "----- ---------------", + "---------- ----------", + "------ --------------", + "----------- ---------", + "------------- -------", + "------- -------------", + "--------- -----------", + "--------------- -----", + "-------------- ------", + "_ parm", + "_p arm", + "_par m", + "_pa rm", + "è¿ ĺ", + "a cciones", + "acc iones", + "acci ones", + "accion es", + "h ait", + "ha it", + "hai t", + "WARD ED", + "WAR DED", + "_ routing", + "_r outing", + "_ro uting", + "ĠN OM", + "ĠNO M", + "Ġen clave", + "ĠL otto", + "ĠLot to", + "ĉ fr", + "ĉf r", + "complex Content", + "ĠBall ard", + "k ube", + "ku be", + "/ win", + "/w in", + ".getColumn Model", + "_RE PLACE", + "Header Value", + "Ġest udiantes", + "Ġ apis", + "Ġa pis", + "Ġap is", + "Ġapi s", + "Ġb pm", + "Ġbp m", + "Ġ TypeName", + "ĠType Name", + "And Get", + "r ita", + "ri ta", + "rit a", + "Pl ans", + "Plan s", + "> Note", + ">N ote", + ">No te", + "Ġfet isch", + "Ġt oned", + "Ġto ned", + "Ġton ed", + "Ġtone d", + "_ goto", + "_g oto", + "_go to", + "on sense", + "ons ense", + "Ġm olds", + "Ġmo lds", + "Ġmol ds", + "Ġmold s", + "Ġinfiltr ation", + "ĠGuerr ero", + "ub bo", + "ubb o", + "c ki", + "ck i", + "( $(\".", + "($ (\".", + "($( \".", + "_ activities", + "_act ivities", + "_activ ities", + "( changes", + "(ch anges", + "(chan ges", + "(change s", + "Ġof App", + "ĠKe pler", + "ĠD emp", + "ĠDe mp", + "ĠDem p", + "ĠCont inent", + "ĠContin ent", + ". Ticks", + ".T icks", + ".Tick s", + "Ġ Unsigned", + "ĠUn signed", + "ĠUns igned", + "ĠJah res", + "ĠJahr es", + "ĠJahre s", + "Ġfresh men", + "ĠArch ived", + "ĠArchive d", + "ĠкоÑĤоÑĢ Ñĭй", + "Ġ' ::", + "Ġ': :", + "T utorial", + "C c", + "Ġtable LayoutPanel", + "from Json", + ". levels", + ".level s", + "_trans ient", + "Ġendors ing", + "Ġ DIC", + "ĠD IC", + "ĠDI C", + "l auf", + "la uf", + "Ġsh red", + "Ġshr ed", + "_E MIT", + "_EM IT", + "ific antly", + "ificant ly", + "A LA", + "AL A", + "/ proto", + "/pro to", + "/pr oto", + "Ġnarr owing", + "Ġnarrow ing", + "Ġnar rowing", + "U tc", + "Ut c", + "F actors", + "Fact ors", + "Factor s", + "Fac tors", + "Fa ctors", + "Ġsent ient", + "æŀ IJ", + "lix ir", + "ĠC ROSS", + "m eteor", + "met eor", + "Ġgr oin", + "Ġgro in", + "Ġ mdb", + "Ġm db", + "Ġmd b", + "ĠRot terdam", + "Ġcom ida", + "ĠOp Code", + "Ġ DefaultValue", + "ĠDefault Value", + "Permissions Result", + "Ġheter ogeneous", + "Ġm oot", + "Ġmo ot", + "Ġmoo t", + "Ġde ceived", + "Ġdece ived", + "Ġdeceive d", + "-in dependent", + "ĠObject OutputStream", + "Ġover power", + ". dup", + ".d up", + "Ġ ldb", + "Ġl db", + "Ġld b", + "Ġdomestic ally", + "Ġdomest ically", + "Ġbe stellen", + "Ġbest ellen", + "Ġbeste llen", + "Ġ lov", + "Ġl ov", + "Ġlo v", + "ĠContract ors", + "ĠContr actors", + "ĠContractor s", + "Tri angles", + "Triangle s", + "Ġfod der", + "Ġfil mes", + "Ġfilm es", + "Ġfilme s", + "ä¼ ģ", + "Ġrev olver", + "Startup Script", + "/ validation", + "ĠResource Type", + "i ÅŁ", + "ĠL az", + "ĠLa z", + "f ef", + "fe f", + "Ġl stm", + "Ġlst m", + "Ġls tm", + "{ *", + ". attachment", + ".attach ment", + ".att achment", + ". hits", + ".h its", + ".hit s", + "e with", + "ew ith", + "D OG", + "DO G", + "Al abama", + "Ġmedium s", + "Ġmedi ums", + ".m Context", + "- cols", + "-c ols", + "-col s", + "-co ls", + "åı ĭ", + ". notice", + ".not ice", + "Ġat tn", + "Ġatt n", + "ĠP acking", + "ĠPac king", + "ĠPack ing", + "Ġ Ln", + "ĠL n", + "_COM PLEX", + "_COMP LEX", + "/ Users", + "/User s", + ".save txt", + ".sav etxt", + "ĠR ounds", + "ĠRo unds", + "ĠRound s", + "ĠRou nds", + "?,?, ?,?,", + "Ġin gl", + "Ġing l", + "Ġ ROC", + "ĠR OC", + "ĠRO C", + "_ female", + "_f emale", + "_fe male", + "ĠSt ard", + "ĠStar d", + "ĠSta rd", + "] ];", + "]] ;", + "Ġwrest lers", + "Ġwrestler s", + "Ġtorrent s", + "Ġs inh", + "Ġsi nh", + "Ġsin h", + " ĊĊ", + "Ċ Ċ", + "ë³ µ", + "s ense", + "sen se", + "how ever", + ". Physics", + ".Ph ysics", + "Inf rastructure", + "ĠS acr", + "ĠSa cr", + "ĠSac r", + "F el", + "Fe l", + "ĠD ISTRIBUT", + "é ments", + "ém ents", + "ément s", + "ĠValid ates", + "ĠValidate s", + "#### ########################################################", + "################################ ############################", + "############ ################################################", + "################################################ ############", + "############################ ################################", + "######################################################## ####", + "Ġ |/", + "Ġ| /", + "Ġe sl", + "Ġes l", + "Ġré seau", + "ĠB ip", + "ĠBi p", + "BY TES", + "BYTE S", + "_W ATER", + "T urning", + "Turn ing", + "Tur ning", + "E LS", + "EL S", + "Ġj uxtap", + "Ġlesb ische", + "ý ch", + "( Unknown", + "(Un known", + "N eo", + "Ne o", + "@ JsonProperty", + "@Json Property", + "Ġal umnos", + "Ġalum nos", + "Ġalumno s", + "ĠRaq qa", + "im ei", + "ime i", + ".get Bounds", + ".getB ounds", + ".Mouse EventHandler", + ".MouseEvent Handler", + "# ######", + "## #####", + "#### ###", + "### ####", + "##### ##", + "###### #", + "Generic Type", + "/ cms", + "/c ms", + "/cm s", + "Ġturn o", + "Ġtur no", + "Ġ мин", + "Ġм ин", + "Ġми н", + "Ġfolk lore", + "ĠE vo", + "ĠEv o", + "Ġconduct ivity", + "Ġle ben", + "Ġgear box", + "- vs", + "-v s", + "Ġ ÏĨ", + "ĠÏ Ĩ", + "Ġdrink ers", + "Ġ conexao", + "Ġcon exao", + "Ġconex ao", + "ĠTe eth", + "ĠTee th", + "Ġget Arguments", + "ĠR AT", + "ĠRA T", + "ent ious", + "enti ous", + "E duc", + "Ed uc", + "+ W", + "ĠInstitution al", + "ĠInstitut ional", + "ĠB ord", + "ĠBo rd", + "ĠBor d", + "is Equal", + "( pwd", + "(p wd", + "Ġign ited", + "Ġignite d", + "ĠR ousse", + "ĠRou sse", + "Ġimpact ful", + "ĠM alk", + "ĠMal k", + "ĠMa lk", + "Ġg eral", + "Ġge ral", + "Ġger al", + "ĠP ivot", + "Ġa zt", + "Ġaz t", + "Ġcsv file", + "ĠR ope", + "ĠRo pe", + "ĠS OLUTION", + "ĠSOL UTION", + "ĠAr bitrary", + "ĠArbit rary", + "Ġl etto", + "Ġlet to", + "Ġlett o", + ".Mouse Adapter", + "Ġ }}}", + "Ġ} }}", + "Ġ}} }", + "ĠSa ilor", + "ĠSail or", + "ĠSai lor", + "d era", + "de ra", + "der a", + "P utting", + "Put ting", + "Ġconcent rates", + "Ġconcentr ates", + "Ġconcentrate s", + "Ġauth Domain", + "âĢĿ çļĦ", + "-f inals", + "-final s", + "-fin als", + ", strlen", + ",str len", + ",st rlen", + "Mu on", + "ĠOrd inary", + "fire fox", + "ĠLa TeX", + "ĠH und", + "ĠHun d", + "ĠHu nd", + "engine ering", + "/ blue", + "/b lue", + "/bl ue", + "ed TextBox", + "(\" \");", + "(\"\" );", + "(\"\") ;", + "ĠC DDL", + "ĠCD DL", + "k ept", + "ke pt", + "Ġ GetString", + "ĠGet String", + "K ir", + "Ki r", + "() ='", + "ĠO CD", + "ĠOC D", + "ant ium", + "anti um", + "$ menu", + "$m enu", + "ĠAppalach ian", + "Secret ary", + "ë¥ ĺ", + "ี ย", + "Sem antic", + "Ġ *[", + "Ġ* [", + "e stone", + "es tone", + "est one", + "esto ne", + "ung kin", + "Max Y", + "- tone", + "-t one", + "-to ne", + "-ton e", + "\" };čĊ", + "\"} ;čĊ", + "_ Part", + "_P art", + "< Member", + "ĊĊ", + "'> ĊĊ", + "'>Ċ Ċ", + "L ic", + "Li c", + "ĠMir age", + "ĠMi rage", + "ĠAssembly FileVersion", + "Te V", + "ĠValue EventListener", + "-s olving", + "T ho", + "Th o", + "rou lette", + "_ WP", + "_W P", + "Ġunint errupted", + "Ġfield Type", + ". Typed", + ".T yped", + ".Type d", + "Ġa mour", + "Ġam our", + "Ġamo ur", + "Ġmock ery", + "Ġmocker y", + "( vol", + "(v ol", + "(vo l", + "ĠSub committee", + "ĠR uf", + "ĠRu f", + "e rox", + "er ox", + "ero x", + ":UIButtonType Custom", + "Ġ Blur", + "ĠBl ur", + "ĠBlu r", + "Ġwy kon", + "n ces", + "nc es", + "nce s", + "ASH BOARD", + "! !\");Ċ", + "!! \");Ċ", + "Ġmurder ers", + "Ġmurderer s", + ". daily", + ".d aily", + ".da ily", + "ĠDI AG", + "j ing", + "ji ng", + "jin g", + "Ġdol phin", + "Ġl òng", + "Ġb ö", + "ĠV ocabulary", + ".St Object", + "' )\">", + "') \">", + "')\" >", + "Ġz un", + "Ġzu n", + "Ġscrim mage", + "tr éal", + "ĠL ig", + "ĠLi g", + "[ vi", + "[v i", + "C ole", + "Col e", + "Co le", + "Ġfrost ing", + ". Players", + ".P layers", + ".Pl ayers", + ".Player s", + ".Play ers", + "- translate", + "-trans late", + "Fe els", + "Feel s", + "Fee ls", + "=\\\" /", + "=\\ \"/", + ".Butter Knife", + "Ġ? >;Ċ", + "Ġ?> ;Ċ", + "Ġ avi", + "Ġa vi", + "Ġav i", + "in nie", + "inn ie", + ". Failure", + ".F ailure", + ".Fail ure", + "Ġsp indle", + "Ġspin dle", + "Configuration Exception", + "_ hop", + "_h op", + "Ġpos ição", + "Ġposi ção", + "Ġ Await", + "ĠA wait", + "ĠAw ait", + "UIImage PickerController", + "ĉ day", + "ĉd ay", + "Ġge nom", + "Ġgen om", + "C ab", + "Ca b", + "ĠÑĢ ÐµÐ·ÑĥлÑĮÑĤаÑĤ", + "ĠÑĢезÑĥлÑĮÑĤ аÑĤ", + "OR IGINAL", + "Ġejac ulation", + "( tcp", + "(t cp", + "(tc p", + "SE COND", + "SEC OND", + "Ġt onic", + "Ġto nic", + "Ġton ic", + "Ġ ListBox", + "ĠList Box", + "Ġ ĉĉĊ", + "Ġĉ ĉĊ", + "Ġĉĉ Ċ", + "( )>Ċ", + "() >Ċ", + "()> Ċ", + "Ġqu atre", + "Ġquat re", + "Ġqua tre", + "ượ ng", + "with Errors", + ". Maybe", + ".M aybe", + ", â̦", + "token Id", + "_UN DEF", + "Ġfresh ness", + "ĠAmendment s", + "ĠAmend ments", + ".map box", + ". CV", + ".C V", + "( blog", + "(b log", + "(bl og", + "_get time", + ". quest", + ".q uest", + ".qu est", + "s parse", + "sp arse", + "spar se", + "Ġre sale", + "Ġres ale", + "Ġenthusi astically", + "Ġenthusiastic ally", + "Ġenthusiast ically", + "ĠProstit utas", + "W a", + "C argo", + "Car go", + ". Parcelable", + ".Parcel able", + "S ENSOR", + "SEN SOR", + "SENS OR", + "ĠR yu", + "ĠRy u", + "La ughs", + "Laugh s", + "_ Native", + "_N ative", + "/ pg", + "/p g", + "y sts", + "yst s", + "ys ts", + "Ġphot oc", + "Ġphoto c", + "ç® Ģ", + "ad opt", + "ado pt", + ". species", + ".s pecies", + ".sp ecies", + ".spec ies", + "conc iliation", + "Adjust ed", + "Adj usted", + ".Firebase Auth", + "ut tle", + "utt le", + "ord ination", + "ordin ation", + "Ġm unch", + "Ġmun ch", + "ĠS take", + "ĠSt ake", + "ĠSta ke", + ". ping", + ".p ing", + ".pi ng", + ".pin g", + "an ker", + "ank er", + "anke r", + "(QString Literal", + "Ġsub script", + "Ġsubs cript", + "Ġsubscri pt", + "Ġ ĠĉĊ", + "ĠĠ ĉĊ", + "ĠĠĉ Ċ", + "ĠM CC", + "ĠMC C", + "_ Cmd", + "_C md", + "se xy", + "sex y", + "i ou", + "io u", + "ĠM ANY", + "ĠMA NY", + "ĠMAN Y", + "Ġn anny", + "Ġnan ny", + "T RAIN", + "TR AIN", + "TRA IN", + "Ġflour ishing", + "Ġflourish ing", + "ĠW atches", + "ĠWatch es", + "ĠWat ches", + "ĠQ Map", + "ĠF erm", + "ĠFe rm", + "ĠFer m", + "Ġw asm", + "Ġwas m", + "Ġwa sm", + "ĠA bed", + "ĠAb ed", + "ĠAbe d", + "_ UD", + "_U D", + "ĠG lasses", + "ĠGl asses", + "ĠGlass es", + "ĠGlas ses", + "+ v", + "Att end", + ". Chain", + ".Ch ain", + "Ġdec ency", + "Ġdece ncy", + "ĠSup plementary", + "ĠSupplement ary", + "h unter", + "hunt er", + "- txt", + "-t xt", + "Ġ\" }\";Ċ", + "Ġ\"} \";Ċ", + ".set WindowTitle", + "( \"", + "Ġmasc ara", + "( Profile", + "åĬ Łèĥ½", + "åĬŁ èĥ½", + "im ité", + "imit é", + "imi té", + "Ġwild fires", + "Ġwildfire s", + "- ROM", + "-R OM", + ".is On", + "( groupId", + "(group Id", + "Re pair", + "Rep air", + "accum ulate", + "Ġ< \",", + "Ġhand written", + "Ġach eter", + "Ġache ter", + "ĠM GM", + "ĠMG M", + "ĠIr ma", + "-> {_", + "->{ _", + "g ee", + "ge e", + "c riminal", + "cr iminal", + "Ġèĭ¥ è¦ģ", + "Ġmoment arily", + "\" )!=", + "\") !=", + "_ lit", + "_l it", + "_li t", + "Ġexpires In", + ". \").", + ".\" ).", + ".\") .", + "éķ¿ åº¦", + "Ġfr ække", + "v lc", + "vl c", + "Ġor bs", + "Ġorb s", + ") ,$", + "), $", + "Ġvent ured", + "Ġventure d", + "/ >\\", + "/> \\", + "ch arm", + "char m", + "cha rm", + "N uitka", + "el dig", + "eld ig", + "ato nin", + "aton in", + "W itness", + "- lat", + "-l at", + "-la t", + "Ġset Hidden", + "Ġrel ics", + "Ġreli cs", + "Ġrelic s", + "Ġcons ulate", + "Ġconsul ate", + ". IGNORE", + "\" After", + "\"A fter", + "Ġs etAddress", + "Ġset Address", + "Ġbeste ht", + "Ġ' ')ĊĊ", + "Ġ'' )ĊĊ", + "Ġ'') ĊĊ", + "Ġ'')Ċ Ċ", + ".x axis", + "Ġser ão", + "Ġmis led", + "Ġmi sled", + "_UN IFORM", + "ĠV IA", + "ĠVI A", + "in cr", + "inc r", + "Ġzen ith", + "Ġvis cosity", + "Ġvisc osity", + "Ġthin ly", + ".get SharedPreferences", + ". ErrorCode", + ".Error Code", + "\" ),\"", + "\") ,\"", + "\"), \"", + "ĠMillion en", + "ĠMilli onen", + "Ġ/ >)Ċ", + "Ġ/> )Ċ", + "Scroll Indicator", + "-se eking", + "ĠPOLIT ICO", + "as ca", + "asc a", + "_ rl", + "_r l", + "N avig", + "Nav ig", + "Na vig", + "(full file", + "Ġsol itude", + "Ġ juven", + "Ġju ven", + "Ġha uling", + "Ġhaul ing", + "ĠMac ros", + "ĠMacro s", + "ĠG ry", + "ĠGr y", + "Ġexerc itation", + "ĠATT ACK", + "Tick Count", + "Ġ rites", + "Ġr ites", + "Ġrit es", + "Ġri tes", + "Ġd oe", + "Ġdo e", + "Particle System", + "Ġ slu", + "Ġs lu", + "Ġsl u", + "Window Text", + "Ġ ClassName", + "ĠClass Name", + "Ġs lander", + "Ġsl ander", + "Ġsla nder", + "ĉ Port", + "ĉP ort", + "j ong", + "jo ng", + "jon g", + "? a", + ".D ial", + ".Di al", + "âĢĶ at", + "âĢĶa t", + "$ objPHPExcel", + "$obj PHPExcel", + "Ġso ar", + "E NN", + "EN N", + "appe ared", + "appear ed", + "Ġquot id", + "Ġquo tid", + "e machine", + "em achine", + "ema chine", + "Ġ nip", + "Ġn ip", + "Ġni p", + "Ġmicro time", + "ĠAl ma", + "; !", + "---------------- --------------------------------------------------------------------------------", + "-------------------------------- ----------------------------------------------------------------", + "---------------------------------------------------------------- --------------------------------", + "------------------------------------------------ ------------------------------------------------", + "---------------------------------------------------------------------------- --------------------", + "-------------------------------------------------------------------------------- ----------------", + "-------------------- ----------------------------------------------------------------------------", + "ĠP assage", + "ĠPass age", + "ĠPas sage", + "Ġdump sters", + "Ġdumpster s", + "Ġdumps ters", + "Ġ Exclude", + "ĠEx clude", + "ĠExc lude", + "Ġsuggest ive", + "ĠCircularProgress Indicator", + "_ clr", + "_c lr", + "_cl r", + "Array Type", + "IL LA", + "ILL A", + "Elapsed Time", + "Dr iven", + "Drive n", + "Ġresource Name", + "ĠG arrison", + "ĠGarr ison", + "se rir", + "ser ir", + "- ahead", + "-a head", + "Ġp innacle", + "ĠEs presso", + "S parse", + "Sp arse", + "Ġas says", + "Ġass ays", + "Ġassay s", + "ĠGirl friend", + "i mid", + "im id", + "imi d", + "] ='\\", + "]= '\\", + "]=' \\", + "ONG LONG", + "ONGL ONG", + "Ġportray ing", + "L ane", + "La ne", + "Ġb úsqueda", + "Ġrein forcements", + "Ġreinforce ments", + "Ġreinforcement s", + "ĠSpread sheet", + "ĠArray Collection", + ", arr", + ",a rr", + "light box", + "ic ana", + "ica na", + "ican a", + "< \"", + "build ers", + "builder s", + "K id", + "Ki d", + "ĠMat SnackBar", + "EX PR", + "EXP R", + "od cast", + "ĠFoundation s", + "ĠFound ations", + "Ġ inds", + "Ġin ds", + "Ġi nds", + "Ġind s", + "=' ${", + "='$ {", + "F izz", + "Fi zz", + "- functional", + "-function al", + "( workspace", + "(work space", + "Ġstem med", + "_ patches", + "_p atches", + "_patch es", + "_pat ches", + "ĠJar vis", + "RE ADING", + "READ ING", + "Ġdisrespect ful", + "ĠQ Dom", + "Ġ$ {Ċ", + "Ġ${ Ċ", + "e status", + "es tatus", + "est atus", + "Re ached", + "Reach ed", + "! .ĊĊ", + "!. ĊĊ", + "I LT", + "IL T", + "ĠN DEBUG", + "ĠC ourage", + "ĠCour age", + "ĠCou rage", + "birth date", + "ĠT ing", + "ĠTi ng", + "ĠTin g", + "Ġutil izado", + "Ġutiliz ado", + "Ġutiliza do", + "án chez", + "Out door", + "Ġhand guns", + "Ġhandgun s", + "Ref Count", + "É Ļ", + "r omo", + "ro mo", + "rom o", + "Ġt ts", + "Ġtt s", + ". She", + ".S he", + ".Sh e", + "Ġ Pane", + "ĠP ane", + "ĠPan e", + "ĠPa ne", + "ãĢij, ãĢIJ", + "ĠIO CTL", + "ĠIOC TL", + "/ black", + "/b lack", + "/bl ack", + "in scription", + "ins cription", + "Ġbi opsy", + "Ġbio psy", + "Ġ TimeInterval", + "ĠT imeInterval", + "ĠTime Interval", + ".Test Check", + "ĠGUI Style", + "Ġ Capability", + "ĠCap ability", + "ĠBei trag", + "ĠBeit rag", + "don nees", + "T reatment", + ". backup", + ".back up", + "Ġsign ings", + "Ġsig nings", + "Ġsigning s", + "Ġsignin gs", + "ĠB oca", + "ĠBo ca", + "d rm", + "dr m", + ". MAIN", + ".M AIN", + "Ġgo ede", + "Ġgoed e", + "Ġ Markup", + "ĠMar kup", + "ĠMark up", + "G REE", + "GR EE", + "GRE E", + "ĠBase Service", + ". Creator", + ".C reator", + "Ġj ails", + "Ġja ils", + "Ġjail s", + "ĠK ahn", + "ĠKa hn", + "ĠKah n", + "Ip Address", + "AC HI", + "ACH I", + "Ġin hibited", + "Ġinhib ited", + "Ġinhibit ed", + "Ġ@ $_", + "Ġ@$ _", + "ĠAs sass", + "ĠAss ass", + "Ġenv iado", + "Ġenvi ado", + "Her oes", + "Hero es", + "ÐŁ еÑĢ", + "ĠM aven", + "ĠMa ven", + ". ls", + ".l s", + "Ġ ive", + "Ġi ve", + "Ġiv e", + "| RF", + "|R F", + "Ġresize Mode", + "Ġrum pe", + "_ attachments", + "_attach ments", + "_attachment s", + "T U", + "Ġtact ile", + "Ġtac tile", + "Attempt ing", + "Ġro bin", + "Ġrob in", + "y aw", + "ya w", + "Ġmerc enaries", + "ĠHab itat", + "ĠHabit at", + "end date", + "Ġ oxy", + "Ġo xy", + "Ġox y", + "ĉ Random", + "ĉR andom", + "o hon", + "oh on", + "oho n", + "Is Null", + "ĠValidation Result", + "ãĥ ļ", + "um bed", + "umb ed", + "p pv", + "pp v", + "Ġ arp", + "Ġa rp", + "Ġar p", + "ich ick", + "ichi ck", + "_r nn", + "ĠT FT", + "ĠTF T", + "Tex Image", + "\" On", + "Ġ Sampler", + "ĠS ampler", + "ĠSam pler", + "ĠSample r", + "ĠSamp ler", + "t opl", + "to pl", + "top l", + "Ġj ane", + "Ġja ne", + "Ġjan e", + "y ling", + "yl ing", + "ĠUN ICODE", + "Tab Index", + "< {Ċ", + "<{ Ċ", + "s uspend", + "sus pend", + "uv ian", + ", application", + "ол иÑĩеÑģÑĤво", + "y at", + "ya t", + "e zier", + "ez ier", + "ezi er", + "ĠCH UNK", + "ĠAd ler", + "/ Add", + "/A dd", + "Ġ KeyValue", + "ĠKey Value", + "Ġspos ób", + "S ampling", + "Sam pling", + "ch ers", + "che rs", + "cher s", + "_ AMD", + "_A MD", + "_AM D", + "R u", + ".Must Compile", + "N ation", + "Na tion", + "Nat ion", + "As soc", + "Ass oc", + "Man aging", + "Mana ging", + "ĠEn gl", + "ĠEng l", + "_ GB", + "_G B", + "Ġsucc inct", + "Ġdis liked", + "Ġdislike d", + "ĠI ke", + "ĠIk e", + "Bullet in", + "_ARCH IVE", + "Pro posal", + "Prop osal", + "Ġjog ging", + ".C REATED", + ".CREATE D", + "Ġc hol", + "Ġch ol", + "Ġcho l", + "è£ ħ", + "Į ¨", + "- push", + "-p ush", + "Ġres erva", + "Ġreserv a", + "co rev", + "core v", + "cor ev", + "è tre", + "T HR", + "TH R", + "Ġincompet ence", + "Ġchar isma", + "æĦ Ł", + "Ġ\" ==", + "Ġ\"= =", + "B TN", + "BT N", + "Ġ Locator", + "ĠL ocator", + "ĠLoc ator", + "i vet", + "iv et", + "ive t", + "(' .')Ċ", + "('. ')Ċ", + "('.') Ċ", + "('.' )Ċ", + "Ġfor IndexPath", + "ô me", + "ôm e", + "Ġcapac it", + "w aters", + "wa ters", + "water s", + "wat ers", + "ĠWR ONG", + "h oa", + "ho a", + "ĠM IPS", + "ĠMI PS", + "Ġe miss", + "Ġem iss", + "ĠJacqu eline", + "( cmp", + "(c mp", + "(cm p", + "Ġe ens", + "Ġeen s", + "Ġee ns", + "L eo", + "Le o", + ". timing", + ".t iming", + ".tim ing", + "CLU SION", + "CLUS ION", + "Ġ (\"-", + "Ġ( \"-", + "Ġ(\" -", + "åĵ Ī", + ". kode", + ".k ode", + "ĠUnder t", + "ĠUnd ert", + "Ġbe wild", + "Ġbew ild", + "ĠEs sen", + "ĠEss en", + ". hd", + ".h d", + "Ġren egot", + "Ġm ower", + "Ġmo wer", + "Ġl sp", + "Ġls p", + "Ġpen chant", + "Ġman oe", + "Ġmano e", + "Ġ agli", + "Ġa gli", + "Ġag li", + "Ġre cal", + "Ġr ecal", + "Ġrec al", + "ĠOPER ATION", + "(^ )(", + "Ġ ν", + "ĠÎ ½", + "Ġ Scoped", + "ĠSc oped", + "ĠScope d", + "ĠSco ped", + "Ġ @\"Ċ", + "Ġ@ \"Ċ", + "Ġ@\" Ċ", + "= label", + "=l abel", + "[ loc", + "[l oc", + "I ntl", + "In tl", + "Int l", + "ĠN z", + "table t", + "tab let", + "tabl et", + ". ColumnName", + ".Column Name", + "Ġscreen Size", + "D Bus", + "DB us", + "co oked", + "cook ed", + "- registration", + "-reg istration", + "âĢľ One", + "- non", + "-n on", + "-no n", + "ĠwiÄĻ c", + "Ġc osta", + "Ġco sta", + "Ġcost a", + "Ġcos ta", + ".add Tab", + ". conditions", + ".condition s", + ".cond itions", + "ĠH ess", + "ĠHe ss", + "MEM ORY", + "ĠAval anche", + "() }}Ċ", + "()} }Ċ", + "Ġtri plet", + "Ġtrip let", + "Ġtriple t", + "Ġl abyrinth", + "ĠNode List", + "ĠN YT", + "ĠNY T", + "Ġy eni", + "Ġye ni", + "Ġyen i", + "d ff", + "df f", + ".Html Controls", + "A VIS", + "AV IS", + "/ Math", + "/M ath", + "Ġ memcmp", + "Ġmem cmp", + "ا Ø¡", + "Ø§Ø ¡", + "о ÑģÑĮ", + "оÑģ ÑĮ", + "c rap", + "cr ap", + "( pages", + "(p ages", + "(page s", + "(pa ges", + "Ġl xml", + "Ġlx ml", + "ĠQ DateTime", + "_t cb", + "_tc b", + "Ġ openid", + "Ġopen id", + "Ġsyn aptic", + "ĠM DMA", + "ĠMD MA", + "( slug", + "(s lug", + "(sl ug", + "ig matic", + "igma tic", + "igm atic", + "igmat ic", + "e nor", + "en or", + "eno r", + "Ġcr amped", + "Ġcram ped", + "G OP", + "GO P", + "Ń IJ", + ".is File", + "ĠD ifferential", + "ĠDifferent ial", + "Ġ =\"\";Ċ", + "Ġ=\" \";Ċ", + "ĉ ĉĉĠĠĠĠĉ", + "ĉĉ ĉĠĠĠĠĉ", + "ĉĉĉ ĠĠĠĠĉ", + "ĉĉĉĠĠĠ Ġĉ", + "ĉĉĉĠ ĠĠĠĉ", + "ĉĉĉĠĠ ĠĠĉ", + "ĉĉĉĠĠĠĠ ĉ", + "ĠC ooke", + "ĠCo oke", + "ĠCook e", + "ĉU FUNCTION", + "Ġpersever ance", + "Relative Layout", + "IMPORT ANT", + "Ġe xon", + "Ġex on", + "Ġ он", + "Ġо н", + "i base", + "ib ase", + "iba se", + "( CONT", + "(C ONT", + "(CON T", + "n ovation", + "no vation", + "nov ation", + "nova tion", + "ä½ ķ", + "[ sub", + "[s ub", + "Admin Controller", + "HTTP Header", + "c rear", + "cre ar", + "cr ear", + "ĠN IR", + "ĠNI R", + "ĠDrop DownList", + "Ġval ide", + "Ġvalid e", + "Ġva lide", + "Ġde hydration", + ". ']", + ".' ]", + "( WIN", + "(W IN", + "Ġ ...\\", + "Ġ. ..\\", + "Ġ... \\", + "Ġ.. .\\", + "Ġphoto shop", + "Ġphotos hop", + "ĉ Init", + "ĉI nit", + "ĉIn it", + "_ cou", + "_c ou", + "_co u", + "Ġtime Zone", + "dar win", + "r omatic", + "ro matic", + "rom atic", + "roma tic", + "Navigation ItemSelectedListener", + "b rates", + "br ates", + "bra tes", + "brate s", + "] --;Ċ", + "Ġtraged ies", + "ĠPed iatrics", + "ĠPediatric s", + "SM ART", + "- API", + "-A PI", + "ĠMessage Lookup", + "ĉ vo", + "ĉv o", + "Ġprejud ices", + "Ġprejudice s", + "Ġ mA", + "Ġm A", + "U ps", + "Up s", + "ĠMISS ING", + "ĉ ad", + "ĉa d", + "C ream", + "Cre am", + "Cr eam", + "ĠT b", + "ĠM ona", + "ĠMon a", + "ĠMo na", + "_ ghost", + "_g host", + "ĉ types", + "ĉt ypes", + "ĉtype s", + "ĉtyp es", + "E mb", + "Em b", + "ĠDocument ary", + "' );ĊĊĊĊ", + "') ;ĊĊĊĊ", + "');Ċ ĊĊĊ", + "');ĊĊ ĊĊ", + "'); ĊĊĊĊ", + "');ĊĊĊ Ċ", + "Ġl up", + "Ġlu p", + "_ Reference", + "_Re ference", + "_Ref erence", + "ĠB ATCH", + "ĠBAT CH", + "Ġintertw ined", + "< Cell", + "", + "Ġf oyer", + "Ġfo yer", + "'util isation", + "ĠMü ller", + "ĠFet ish", + "Ġdefault Manager", + "Ġback track", + "B ah", + "Ba h", + "Exp licit", + "Expl icit", + "_ ASCII", + "_A SCII", + "_ASC II", + "Ġm Activity", + "( Msg", + "(M sg", + "Ġ ê²Į", + "Ġê² Į", + "ĠTER MS", + "ĠTERM S", + "ĠAn gie", + "ĠAng ie", + "H SV", + "HS V", + "ĠMos que", + ". Names", + ".N ames", + ".Name s", + "íĬ ¼", + "r este", + "re ste", + "res te", + "rest e", + "_ parms", + "_p arms", + "_par ms", + "_pa rms", + "_parm s", + "Ġg aping", + "Ġgap ing", + "Ġga ping", + "Ġc ropping", + "Ġcr opping", + "Ġcro pping", + "Ġcrop ping", + "Data Frame", + "Ġrespons iveness", + "Ġresponsive ness", + "_ undo", + "_un do", + "_u ndo", + "_ tran", + "_t ran", + "_tr an", + "_tra n", + ". terminate", + ".term inate", + "Ġitalian e", + "Ġitalia ne", + "Ġwalk through", + "Ġattract iveness", + "Ġattractive ness", + "д е", + "_ STS", + "_S TS", + "_ST S", + "_ learn", + "_l earn", + "_le arn", + "Ġchocolate s", + "Ġchocol ates", + "ier archical", + "- thinking", + "-th inking", + "Ġ )))", + "Ġ) ))", + "Ġ)) )", + "ish ments", + "ishment s", + ".Log f", + ".Lo gf", + "ĠT MZ", + "ĠTM Z", + "ĠCan ary", + "f oil", + "fo il", + "ĠV accine", + "ĠVacc ine", + ". vx", + ".v x", + "ĠSur round", + "Inter mediate", + "Ġ iov", + "Ġi ov", + "Ġio v", + "v ais", + "va is", + "' ;\";Ċ", + "'; \";Ċ", + "ï½ŀ ĊĊ", + "éĢģ æĸĻ", + "â̦ it", + "Se ats", + "Sea ts", + "Seat s", + "C lar", + "Cl ar", + "Cla r", + "W ars", + "War s", + "Wa rs", + "ĠHutch inson", + "ĠH asan", + "ĠHas an", + "ĠHa san", + "! ')ĊĊ", + "!' )ĊĊ", + "!')Ċ Ċ", + "ĠRich ie", + "ĠRi chie", + "che iden", + "cheid en", + "( $('", + "($ ('", + "($( '", + "Y ork", + "Yo rk", + "Ġl ids", + "Ġli ds", + "Ġlid s", + "Ġal phanumeric", + "Ġalpha numeric", + "ĠG lock", + "ĠGl ock", + "ĠGlo ck", + ". shapes", + ".sh apes", + ".shape s", + ".sha pes", + "Ġsp arking", + "Ġspark ing", + "Ġspar king", + "_ epsilon", + "_e psilon", + "_eps ilon", + "up licated", + "uplic ated", + "uplicate d", + ". dirty", + ".d irty", + ".dir ty", + "] )==", + "]) ==", + "ĠìľĦ ì¹ĺ", + "Ġs cn", + "Ġsc n", + "Ġ /****************************************************************", + "Ġ/ ****************************************************************", + "_PRE VIEW", + "_ HC", + "_H C", + "ield ing", + "iel ding", + "f gets", + "fg ets", + "ĠAdd ison", + "Ġproduct Service", + "- figure", + "-f igure", + "( retval", + "(ret val", + "z ano", + "za no", + "zan o", + "Ġaut ob", + "Ġauto b", + "ĉ sd", + "ĉs d", + "_ numer", + "_n umer", + "_num er", + "ĠSet LastError", + "ĠF ior", + "ĠFi or", + "ific ance", + "ifica nce", + "Unt itled", + "Ġin field", + "Ġinf ield", + "Ġ{ }));Ċ", + "Ġ{} ));Ċ", + "Ġ{}) );Ċ", + "Ġs pac", + "Ġsp ac", + "Ġspa c", + "Ġr ookies", + "Ġro okies", + "Ġrookie s", + "(des cribing", + "n gen", + "ng en", + "nge n", + "ி à®", + ". rdf", + ".r df", + ".rd f", + ". Mutex", + ".M utex", + "Ġkne eling", + "Ġknee ling", + "Ġ QE", + "ĠQ E", + "set Max", + "Read Stream", + "Ġ ventas", + "Ġvent as", + "Ġven tas", + "Ġventa s", + "s ut", + "su t", + "cm peq", + "cmp eq", + ".WriteAll Text", + "ĠEx perienced", + "ĠExperience d", + "$ __", + "$_ _", + "Ġka um", + "ĠL IS", + "ĠLI S", + "Ġdocument os", + "Ġdocumento s", + "_HE ALTH", + "i contains", + "icon tains", + "icont ains", + "Ġart isans", + "Ġartisan s", + "OW NER", + "OWN ER", + "Ġb linked", + "Ġblink ed", + "get Display", + "Ġt oen", + "Ġto en", + "Ġtoe n", + "Ġrow Num", + "Ġav ril", + "Ġin vis", + "Ġinv is", + "ĠK ear", + "ĠKe ar", + "toBe InTheDocument", + "a pur", + "ap ur", + "Ġr acked", + "Ġrac ked", + "Ġrack ed", + "ĠMc Master", + "ĠMcM aster", + "_ATTR IB", + "H az", + "Ha z", + "Ġfact ura", + "Ġfac tura", + "/ ts", + "/t s", + "ĠÑĢаз меÑĢ", + "ĠÑĢазм еÑĢ", + "Ġ zf", + "Ġz f", + "Ġshort fall", + ". fasta", + ".f asta", + ".fast a", + ".fa sta", + "ĠCONST ANT", + ". managed", + ".man aged", + ".manage d", + "g ems", + "ge ms", + "gem s", + "Shared Pointer", + "Ġbl urry", + "Ġblur ry", + "b rightness", + "bright ness", + "( components", + "(com ponents", + "(component s", + "(comp onents", + "Ġ ...\"ĊĊ", + "Ġ... \"ĊĊ", + "Ġ.. .\"ĊĊ", + "Ġ...\" ĊĊ", + "Ġ...\"Ċ Ċ", + "S ELL", + "SE LL", + "SEL L", + "ĠIllustr ator", + ".get Channel", + "Ġtrou vé", + "y sters", + "yst ers", + "ys ters", + "yster s", + "Ġv ois", + "Ġvo is", + "Ġvoi s", + "ĠL inden", + "ĠLin den", + "ĠLind en", + "Ġem ojis", + "Ġemoji s", + "Ġemo jis", + "Ġb rawl", + "Ġbr awl", + "Ġbra wl", + "ĠM SR", + "ĠMS R", + "ĠE lo", + "ĠEl o", + "ĠCroat ian", + "ĠCroatia n", + "Popup Menu", + "L ewis", + "Le wis", + ". JWT", + ".J WT", + "Ġaston ished", + "B ush", + "Bus h", + "Bu sh", + "( itemId", + "(item Id", + "Ġdet achment", + "Ġdetach ment", + "ĠEn core", + "ĠEnc ore", + "å° Ķ", + "Ġre kl", + "Ġr ekl", + "Ġrek l", + "Ġc ram", + "Ġcr am", + "Ġcra m", + ") $/", + ")$ /", + ".get Host", + "_ recommend", + "_re commend", + "- HT", + "-H T", + "_cal ibration", + "Auth enticate", + ".firebase app", + "UN IX", + "ĉ Camera", + "ĉC amera", + "ĠHE AP", + "I deal", + "Ide al", + ". office", + ".off ice", + "Ġgoof y", + "Ġgoo fy", + "( Symbol", + "(S ymbol", + "Ġjo uer", + "Ġjou er", + "_part itions", + "_partition s", + "Ġrapid ement", + "Ġrapide ment", + "ĠGNU NET", + "ĠGN UNET", + "id User", + "Ġsuper vise", + "Ġsuperv ise", + "( Contact", + "A WN", + "AW N", + "ãģ ĺ", + "Ġna am", + "Ġa ust", + "Ġau st", + "Ġaus t", + "åľ¨ 线", + "_ softmax", + "_soft max", + "Allow Anonymous", + "amm able", + "amma ble", + "RO UTE", + "ROUT E", + "* D", + "Ġ aden", + "Ġa den", + "Ġad en", + "Ġade n", + "ĠCrist ina", + "ĠCrist iano", + "Ġblood stream", + "sub class", + "_ persona", + "_person a", + "CH ILD", + "- know", + "-k now", + "Ġnavigation Options", + "ĠZuk unft", + "ĠPix ar", + "Ty ler", + "Ġunder world", + "Ġsincer ity", + "Ġdisp enser", + "Ġdispens er", + "Ġk ter", + "Ġkt er", + "id ders", + "idd ers", + ".add Node", + "- checked", + "-check ed", + "Ġkey st", + "Ġke yst", + "Ġkeys t", + "ĠW TO", + "ĠWT O", + ". signals", + ".sign als", + ".signal s", + "Ġadvent urer", + "Ġadventure r", + "ĠP ang", + "ĠPan g", + "ĠPa ng", + "\\ R", + "= pos", + "=p os", + "Ġdispens aries", + "ĠClose t", + "ĠClo set", + "(\" {\\\"", + "(\"{ \\\"", + "id eon", + "ide on", + "ideo n", + "Ġnécess aire", + "( )\"Ċ", + "() \"Ċ", + "()\" Ċ", + "_RECE IVED", + "Ġrésult ats", + "Ġm oden", + "Ġmod en", + "Ġmode n", + "Ġmo den", + "ĠIceland ic", + "; d", + ". allowed", + ".all owed", + ".allow ed", + "(new User", + "Ġmerc iless", + ".Wait For", + "Ġday care", + "ĠCon veyor", + "Ġ Ù", + "ا Ù", + "า à¸", + "Ñ Ł", + "ÑŁ ÑŁ", + "Ġ à¸", + "Ġà ¸", + "à¹Ģ à¸", + "i á»", + "ãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢ", + "Ġ اØ", + "Ġا Ø", + "ॠĪ", + "Ġ ãĢĢ", + "ĠãĢ Ģ", + "Ñ Ĺ", + "i á»ĩ", + "iá» ĩ", + "ÑŁ ÑŁÑŁÑŁ", + "ÑŁÑŁ ÑŁÑŁ", + "ÑŁÑŁÑŁ ÑŁ", + "à¥ĩ à¤Ĥ", + "à¥ĩठĤ", + "Ñĸ д", + "ा र", + "ाठ°", + "ÙĨ د", + "Ñĸ в", + "Ġ ब", + "Ġठ¬", + "Ġ à¤ľ", + "Ġठľ", + "à ¥¤", + "ॠ¤", + "н Ñĸ", + "ठĹ", + "Ġ Ø¢", + "ĠØ ¢", + "Ġ न", + "Ġठ¨", + "Ñ Ķ", + "Ġ ÑĢа", + "ĠÑĢ Ð°", + "Ġ à¤ħ", + "Ġठħ", + "Ñģ ÑĮ", + "Ġ व", + "Ġठµ", + "ÑĨ Ñĸ", + "Ġv á»", + "³ ت", + "Ġ द", + "Ġठ¦", + "n ÄĽ", + "Ġ ल", + "Ġठ²", + "Ġ ãĢĢĠãĢĢ", + "ĠãĢĢ ĠãĢĢ", + "ĠãĢĢĠ ãĢĢ", + "ॠĤ", + "ठ¦", + "à¸Ń à¸ĩ", + "ÙĪ ÙĨ", + "ठµ", + "a ÅŁ", + "๠Ĥ", + "ι κ", + "Ġ र", + "Ġठ°", + "Ġ ви", + "Ġв и", + "à¥į य", + "à¥įठ¯", + "ा न", + "ाठ¨", + "Ġ از", + "Ġا ز", + "ĠØ§Ø ²", + "ا Ùĩ", + "ا٠ĩ", + "Ľ i", + "Ġh á»", + "à¥ĭ à¤Ĥ", + "i ế", + "ĠÄij á»", + "ठ¯", + "Ï į", + "Ġc á»§", + "Ġ بر", + "Ġب ر", + "Ġ ÙħÛĮ", + "ĠÙħ ÛĮ", + "Ġ اÛĮ", + "Ġا ÛĮ", + "Ġ à¤Ĩ", + "ĠठĨ", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ि य", + "िठ¯", + "ÑŁÑŁÑŁÑŁ ÑŁÑŁÑŁÑŁ", + "в и", + "ر د", + "н Ñĥ", + "ÙĬ ÙĨ", + "ι α", + "Ġ त", + "Ġठ¤", + "Ñĩ и", + "Ġ à¤ķर", + "Ġà¤ķ र", + "ا ز", + "Ø§Ø ²", + "a ÄŁ", + "Ġ à¤ī", + "Ġठī", + "ठ¬", + "ÏĦ α", + "ت ر", + "Ùĩ ا", + "ร ะ", + "j ÃŃ", + "Î ij", + "а ÑĤи", + "аÑĤ и", + "Ġ à¤Ĺ", + "ĠठĹ", + "Ġ ÑĤа", + "ĠÑĤ а", + "Ú Ĩ", + "ठľ", + "า à¸Ļ", + "าภĻ", + "Ġ à¤Ń", + "ĠठŃ", + "ि à¤ķ", + "िठķ", + "á v", + "Ġ Ú¯", + "Ï İ", + "า ย", + "าภ¢", + "Ġ à¤Ķ", + "ĠठĶ", + "ÅĻ ÃŃ", + "ا ÙĪ", + "ا٠Ī", + "Ġ Ñī", + "ĠÑ ī", + "Ġ à¤Ķर", + "Ġà¤Ķ र", + "ен нÑı", + "Ġ Ú©Ùĩ", + "ĠÚ© Ùĩ", + "ठ¡", + "ÏĦ ο", + "ε ι", + "Ġ à¤ĩ", + "Ġठĩ", + "à¥į त", + "à¥įठ¤", + "ठŁ", + "Û ±", + "Ġ ØĮ", + "ĠØ Į", + "Ïģ ο", + "η ÏĤ", + "ë ¬", + "Ñĸ н", + "i á»ģ", + "iá» ģ", + "i ên", + "iê n", + "Ġ вÑĸд", + "Ġв Ñĸд", + "ĠвÑĸ д", + "d ı", + "ÙĦ ÛĮ", + "Ġ ز", + "ĠØ ²", + "Ïģ α", + "Ġ ÛĮ", + "า à¸ĩ", + "าภĩ", + "Ġth á»", + "Ġ à¹Ģà¸", + "Ġà¹Ģ à¸", + "i á»ĩn", + "iá»ĩ n", + "ا ÙĬ", + "ا٠Ĭ", + "ан нÑı", + "ÑĢ Ðµ", + "Î Ł", + "å Ĵ", + "ا Ø´", + "Ø§Ø ´", + "ा ल", + "ाठ²", + "ëħ Ħ", + "Ġ य", + "Ġठ¯", + "Ġ را", + "Ġر ا", + "ठ¼", + "Ñĥ в", + "ÙĪ Ùħ", + "Ġ عÙĦ", + "Ġع ÙĦ", + "ί α", + "à¥Ī à¤Ĥ", + "à¥ģ à¤", + "า ม", + "าภ¡", + "Ġm á»Ļt", + "Ġ à¤ı", + "Ġठı", + "ãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢ", + "Ġ पर", + "Ġप र", + "Ġ اÙĨ", + "Ġا ÙĨ", + "Ġ اÛĮÙĨ", + "Ġا ÛĮÙĨ", + "ĠاÛĮ ÙĨ", + "Ġv Ỽi", + "Ġvá» Ľi", + "Î £", + "ठļ", + "Û °", + "i á»ĥ", + "iá» ĥ", + "า à¸ģ", + "าภģ", + "Î Ļ", + "ا ع", + "Ø§Ø ¹", + "Ñĸ й", + "à¹ģ ล", + "Ùĩ اÛĮ", + "Ùĩا ÛĮ", + "Ñĩ а", + ". :.:", + ".: .:", + ".:. :", + "ÏĦ η", + "Ġ Îij", + "ĠÎ ij", + "ر ÛĮ", + "Ġn gh", + "Ġng h", + "ν α", + "à¹ĥ à¸Ļ", + "ि त", + "िठ¤", + "Ġ και", + "Ġκ αι", + "Ġκα ι", + "ÏĦ ε", + "à¥į à¤Ł", + "à¥įठŁ", + "μ α", + "л Ñĥ", + "ý m", + "ÏĢ Î¿", + "à¥Ī ।", + "ï¼ ¼", + "ر ÙĬ", + "н иÑħ", + "ни Ñħ", + "Ïģ ι", + "Ù Ģ", + "ÑĢ Ð¾", + "Ġ à¤ļ", + "Ġठļ", + "ा त", + "ाठ¤", + "ا ÙĤ", + "ا٠Ĥ", + "Ġ श", + "Ġठ¶", + "ĠÄij á»Ļ", + "ĠÄijá» Ļ", + "é ho", + "iá»ģ u", + "ภ¨", + "Ñĸ лÑĮ", + "Ñĸл ÑĮ", + "uy á»", + "Û ²", + "Ġn Äĥ", + "Ïī ν", + "Ġ ÏĦοÏħ", + "ĠÏĦ οÏħ", + "ĠÏĦο Ïħ", + "к ий", + "ки й", + "í ĸ", + "Ġ Ñīо", + "ĠÑī о", + "à¥į व", + "à¥įठµ", + "Ġ اÙĦØ£", + "ĠاÙĦ Ø£", + "ا ئ", + "Ø§Ø ¦", + "t ı", + "Ġ ÏĦο", + "ĠÏĦ ο", + "¬ ¬", + "Ġ Ø·", + "ĠØ ·", + "Ùħ اÙĨ", + "Ùħا ÙĨ", + "Ġ Îł", + "ĠÎ ł", + "д и", + "ภ¶", + "ि à¤ı", + "िठı", + "ãģ£ ãģŁ", + "ãģ£ãģ Ł", + "ÛĮ Ùħ", + "ÃŃ nh", + "ÃŃn h", + "r av", + "ra v", + "ÄĽ t", + "Î ķ", + "Ġ Ñıк", + "ĠÑı к", + "ç Ĥ", + "à¸Ń à¸Ļ", + "ãģ¦ ãģĦ", + "ि ल", + "िठ²", + "Ñĸ ÑĤ", + "з а", + "á p", + "ठ§", + "Ġ êµ", + "Ġê µ", + "à¹ģ ละ", + "à¹ģล ะ", + "ÃŃ ch", + "ÃŃc h", + "Ġ Ø¢ÙĨ", + "ĠØ¢ ÙĨ", + "ت Ùĩ", + "Ġ Ùħع", + "ĠÙħ ع", + "н ий", + "ни й", + "Æ°á»Ľ c", + "Ġ اÙĦع", + "Ġا ÙĦع", + "ĠاÙĦ ع", + "ر ب", + "ा म", + "ाठ®", + "Ġ رÙĪ", + "Ġر ÙĪ", + "é «", + "ı y", + "Ġh á»į", + "Ġhá» į", + "ÑĤÑĮ ÑģÑı", + "Ġ Îļ", + "ĠÎ ļ", + "Ġ à¤ĩस", + "Ġà¤ĩ स", + "ï¼ ¿", + "Ġ ÚĨ", + "Ġ ÙĪØ§ÙĦ", + "ĠÙĪ Ø§ÙĦ", + "ĠÙĪØ§ ÙĦ", + "íķ Ļ", + "ÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁ ÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁ", + "Ġ vý", + "Ġv ý", + "ि स", + "िठ¸", + "ữ ng", + "س ÛĮ", + "Ġ ìĥ", + "Ġì ĥ", + "ा à¤Ĥ", + "ाठĤ", + "ï½ ¤", + "à¹ĩ à¸Ļ", + "Ġ थ", + "Ġठ¥", + "l arak", + "la rak", + "lar ak", + "lara k", + "â y", + "t ÄĽ", + "ν ο", + "Ġ ÙħÙĪ", + "ĠÙħ ÙĪ", + "Ġng ưá»Ŀi", + "å ¦", + "ÙĬ د", + "il ir", + "ili r", + "ا ØŃ", + "Ø§Ø Ń", + "Ġ ãĢ", + "Ù ĭ", + "Ġ ÑĢоз", + "ĠÑĢ Ð¾Ð·", + "Ġ й", + "ĠÐ ¹", + "Ġd ụ", + "à¹Ģ à¸Ľ", + "à¹ĢภĽ", + "ั à¸ĩ", + "л е", + "ा य", + "ाठ¯", + "ï¿ £", + "ÙĪ Ø§ÙĨ", + "ÙĪØ§ ÙĨ", + "Ġth á»ĥ", + "Ġthá» ĥ", + "ã ĥ½", + "ãĥ ½", + "ü ÅŁ", + "ç Ł", + "Ġ ο", + "ĠÎ ¿", + "Ġ Σ", + "ĠÎ £", + "ÛĮ ت", + "ั à¸ģ", + "Î ¤", + "Ġ à¤ıà¤ķ", + "Ġà¤ı à¤ķ", + "Ġ ÙĩÙħ", + "ĠÙĩ Ùħ", + "ìĽ Ķ", + "Ġ Îľ", + "ĠÎ ľ", + "Ġ à¸Ħ", + "ĠภĦ", + "¯ ¸", + "ا رÛĮ", + "ار ÛĮ", + "ि न", + "िठ¨", + "Ġnh ững", + "Ġnh ư", + "и ÑĤи", + "иÑĤ и", + "ãĥ³ ãĥ", + "à¹Ģ ร", + "à¹Ģภ£", + "Ġ ÐĽ", + "ĠÐ Ľ", + "ÑĢ Ñĸ", + "á d", + "ü y", + "i ye", + "iy e", + "Ġ Îķ", + "ĠÎ ķ", + "Ġ ส", + "Ġภª", + "Ïĥ η", + "Ġ ë¬", + "Ġë ¬", + "ï »", + "ठ£", + "Î Ĺ", + "ठ¶", + "Ġ ÙħØŃ", + "ĠÙħ ØŃ", + "ÙĦ ÙĬ", + "Ġ με", + "Ġμ ε", + "Ġp ÅĻÃŃ", + "ĠpÅĻ ÃŃ", + "Î Ŀ", + "à¥į ष", + "à¥įठ·", + "t ir", + "ti r", + "ر اÙĨ", + "را ÙĨ", + "ĠÄij á»ĭ", + "ĠÄijá» ĭ", + "Ġ коÑĤ", + "Ġк оÑĤ", + "Ġко ÑĤ", + "к ÑĢа", + "λ ο", + "Ġ ÏĦη", + "ĠÏĦ η", + "Ñī е", + "ÏĦ ικ", + "ÏĦι κ", + "ั à¹ī", + "i ết", + "iế t", + "α ν", + "í Ķ", + "к иÑħ", + "ки Ñħ", + "Ġ поÑģ", + "Ġп оÑģ", + "Ġпо Ñģ", + "t ır", + "tı r", + "à¥į म", + "à¥įठ®", + "ر Ùģ", + "ÄĽ l", + "ठŃ", + "o vé", + "ov é", + "Ġl á»", + "à¹Ħ à¸Ķ", + "ãģª ãģĦ", + "ภ©", + "i á»ĩu", + "iá»ĩ u", + "Î ¾", + "Ġ عÙĦÙī", + "Ġع ÙĦÙī", + "ĠعÙĦ Ùī", + "д Ñĥ", + "Ġdụ ng", + "а ÑĢа", + "аÑĢ Ð°", + "ा द", + "ाठ¦", + "o ž", + "ÙĦ Ùĩ", + "ÙĦ Ùħ", + "н оÑĹ", + "но ÑĹ", + "Û± Û", + "à¸Ĥ à¸Ńà¸ĩ", + "Î ¡", + "à¥Ģ à¤Ĥ", + "Ġ пÑĸд", + "Ġп Ñĸд", + "Ġ फ", + "Ġठ«", + "ภĺ", + "ε ÏĤ", + "ा स", + "ाठ¸", + "à¹ĥ ห", + "о ва", + "ов а", + "ت ÛĮ", + "à¸Ń ย", + "ภį", + "Ġn Äĥm", + "ĠnÄĥ m", + "ÏĦ ι", + "ÙĪ ÛĮ", + "Ġ мÑĸ", + "Ġм Ñĸ", + "Ġ اÙħ", + "Ġا Ùħ", + "ÏĢ ÏĮ", + "Ġ zá", + "Ġz á", + "ठĪ", + "Ġ à¤ĸ", + "Ġठĸ", + "Ġ nÄĽ", + "Ġn ÄĽ", + "c ÃŃ", + "ÙĨ Ú¯", + "Ñģ и", + "Î ¶", + "n á", + "Ŀ i", + "Å ©", + "Ø ¦", + "Ġ اÙĦس", + "Ġا ÙĦس", + "ĠاÙĦ س", + "á»ij c", + "Ạ½", + "ا ج", + "Ø§Ø ¬", + "Ùħ ا", + "êµ Ń", + "о Ñİ", + "د ر", + "à¹Ģ à¸ģ", + "à¹Ģภģ", + "ภł", + "à ¡ng", + "á ng", + "án g", + "íķ ©", + "Ġ ÏĦηÏĤ", + "ĠÏĦ ηÏĤ", + "ĠÏĦη ÏĤ", + "Ġ Ñĸн", + "ĠÑĸ н", + "о ÑĹ", + "à¥ĩ श", + "à¥ĩठ¶", + "ภĭ", + "à¥ĭ à¤Ĺ", + "л Ñĸ", + "Ġp ÅĻed", + "ĠpÅĻ ed", + "ĠpÅĻe d", + "Äį nÃŃ", + "Ġ ка", + "Ġк а", + "Ġ Τ", + "ĠÎ ¤", + "á»Ļ i", + "v ÃŃ", + "ÑĢ Ñı", + "ा à¤ľ", + "ाठľ", + "а Ñħ", + "ि र", + "िठ°", + "า ส", + "าภª", + "d ır", + "dı r", + "Ø ¢", + "Î ļ", + "Ġ ÎŃ", + "ĠÎ Ń", + "Ġt ại", + "iá»ĩ c", + "i ến", + "iế n", + "Ġ غ", + "ĠØ º", + "ا Ø®", + "Ø§Ø ®", + "Ġ اÙĦØŃ", + "Ġا ÙĦØŃ", + "ĠاÙĦ ØŃ", + "Ġ бÑĥ", + "Ġб Ñĥ", + "Ġv á»ģ", + "Ġvá» ģ", + "м Ñĸ", + "Ùħ ÙĦ", + "m Ä±ÅŁ", + "à¸Ľ ระ", + "à¸Ľà¸£ ะ", + "ο Ïį", + "ε ί", + "Ġर ह", + "н им", + "ни м", + "ع د", + "Ġ باÙĦ", + "Ġب اÙĦ", + "Ġبا ÙĦ", + "¤ ij", + "ç ł", + "Ġo lm", + "Ġol m", + "Ïİ Î½", + "Ġh á»įc", + "Ġhá»į c", + "ا ست", + "Ø§Ø ³Øª", + "اس ت", + "า ว", + "าภ§", + "ÙĪ Ø¨", + "Ñĸ Ñı", + "Ġ ÙĩاÛĮ", + "ĠÙĩ اÛĮ", + "ĠÙĩا ÛĮ", + "ë§ Ī", + "ॠĮ", + "Ġ ÄĮ", + "ĠÄ Į", + "ठı", + "ا دÙĩ", + "اد Ùĩ", + "Ġ اÙĪ", + "Ġا ÙĪ", + "н Ñĭм", + "нÑĭ м", + "Ạ±", + "Ùħ ÙĨ", + "iá»ĩ t", + "l aÅŁ", + "la ÅŁ", + "Ñĸ з", + "ÙĪ Ø³", + "Ġl Ãłm", + "ĠlÃł m", + "ĠÄij ến", + "ĠÄijế n", + "प न", + "Ġ ÛĮÚ©", + "ĠÛĮ Ú©", + "Ġ ÙĦÙĦ", + "ĠÙĦ ÙĦ", + "Ġ mÄĽ", + "Ġm ÄĽ", + "Ġ براÛĮ", + "Ġبر اÛĮ", + "ा ह", + "ाठ¹", + "Ġ Ùħر", + "ĠÙħ ر", + "e ç", + "à¸Ń ร", + "ε Ïģ", + "ั à¸Ķ", + "к он", + "ко н", + "n ou", + "no u", + "Ġ год", + "Ġг од", + "ู à¹ī", + "à¹Ģ ล", + "à¹Ģภ¥", + "Ú ĺ", + "ĠÄij á»ĭnh", + "ĠÄijá»ĭ nh", + "ĠÄij ó", + "а нов", + "ан ов", + "ано в", + "Ġ Ù쨱", + "ĠÙģ Ø±", + "ا رد", + "ار د", + "Ñĸ ÑĹ", + "à¸Ħ ร", + "à¥į थ", + "à¥įठ¥", + "c ak", + "ca k", + "ÑĨ ÑĸÑĹ", + "ÑĨÑĸ ÑĹ", + "Ġ ãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ĠãĢĢĠ ãĢĢĠãĢĢĠãĢĢ", + "Ùĩ ر", + "ॠī", + "Ġg iá»", + "Ġgi á»", + "í Ĩ", + "âĢĮ ÙĩاÛĮ", + "âĢĮÙĩا ÛĮ", + "à¥ģ र", + "à¥ģठ°", + "Ġ à¸ģ", + "Ġภģ", + "Å Ī", + "æ ¨", + "ÎŁ Î", + "า à¸Ħ", + "าภĦ", + "кÑĢа ÑĹ", + "ả o", + "o ÄŁ", + "Ġ सम", + "Ġस म", + "Ġv iá»ĩc", + "Ġs ẽ", + "Ġ ná", + "Ġn á", + "ÙĬ Ùħ", + "£ p", + "ö y", + "ÙĪ Ø²", + "Ġ κα", + "Ġκ α", + "Ùħ د", + "n ÃŃm", + "nÃŃ m", + "o vá", + "ov á", + "ा व", + "ाठµ", + "ा ।", + "à¥į स", + "à¥įठ¸", + "ç ·", + "ặ c", + "Ġ à¸ŀ", + "Ġภŀ", + "ï½ Ģ", + "ô i", + "Ġ ợ", + "Ġá» Ł", + "ο ÏĤ", + "Ġtr ên", + "м Ñĥ", + "ÑģÑĮ к", + "ภŁ", + "o vat", + "ov at", + "ova t", + "Ġm á»", + "í ı", + "Ġ во", + "Ġв о", + "ε ν", + "à¥Ĥ र", + "Ú¯ اÙĩ", + "ĠÄij á»Ļng", + "ĠÄijá»Ļ ng", + "Ú© ÙĨ", + "Ñī и", + "Ġ пÑĢа", + "Ġп ÑĢа", + "ĠпÑĢ Ð°", + "ü rk", + "ür k", + "ÙĪ Ø¹", + "ấ p", + "n ý", + "Ġ quan", + "Ġqu an", + "Ġq uan", + "Ġqua n", + "Ñĸ Ñĩ", + "Ġ να", + "Ġν α", + "Ġन ह", + "Ġ Ú©ÙĨ", + "ĠÚ© ÙĨ", + "c ı", + "çĿ Ģ", + "б о", + "Ġ اس", + "Ġا س", + "ĠØ§Ø ³", + "è »", + "ا ÙĨÛĮ", + "اÙĨ ÛĮ", + "à¸ķ ร", + "ÏĦ ά", + "Ġ Ø£ÙĨ", + "ĠØ£ ÙĨ", + "éĤ £", + "Ġ ม", + "Ġภ¡", + "к ÑĤ", + "i ê", + "Ġhá» £p", + "ت Ùħ", + "Ġ بÙĨ", + "Ġب ÙĨ", + "h od", + "ho d", + "ι Ïĥ", + "ห à¸Ļ", + "Ġ ÑĹ", + "ĠÑ Ĺ", + "л ив", + "ли в", + "Ġ کرد", + "ĠÚ© رد", + "Ġکر د", + "Ġ ÙħØ´", + "ĠÙħ Ø´", + "ا Ø·", + "Ø§Ø ·", + "ب ÙĬ", + "Ġ ร", + "Ġภ£", + "د Ùħ", + "ÙĦ اÙħ", + "ÙĦا Ùħ", + "à¹Ī ว", + "Ġ ÙĨÙħ", + "ĠÙĨ Ùħ", + "Ġ æĹ", + "Ġæ Ĺ", + "é ħ", + "н оÑģÑĤ", + "но ÑģÑĤ", + "ноÑģ ÑĤ", + "i á»ĥm", + "iá»ĥ m", + "êµ IJ", + "a yı", + "ay ı", + "Ġ بÙĪØ¯", + "Ġب ÙĪØ¯", + "ĠبÙĪ Ø¯", + "Ú¯ ر", + "Ġh iá»ĩn", + "Ġhi á»ĩn", + "ç ³", + "ÑģÑĤ вен", + "ÑģÑĤв ен", + "ÑģÑĤве н", + "Ġà¤ķर न", + "Ġ ÏĦην", + "ĠÏĦ ην", + "ĠÏĦη ν", + "Ġ à¸Ń", + "ĠภŃ", + "Ġ Ùħت", + "ĠÙħ ت", + "ģ n", + "ج Ùħ", + "λ λ", + "Ġ ÑĢе", + "ĠÑĢ Ðµ", + "ิ à¸Ķ", + "Ġ اÙĦÙĤ", + "Ġا ÙĦÙĤ", + "ĠاÙĦ ÙĤ", + "α Ïģ", + "Ġ यह", + "Ġय ह", + "n ÃŃch", + "nÃŃ ch", + "ÑĶ ÑĤÑĮÑģÑı", + "Ġ à¸Ĺ", + "ĠภĹ", + "ÛĮ Ø´", + "ÅĻ e", + "Ġn ebo", + "Ġne bo", + "Ġneb o", + "Ġ Ñĩа", + "ĠÑĩ а", + "l ou", + "lo u", + "ÑģÑĤ во", + "ÑģÑĤв о", + "Ġ Ч", + "ĠÐ §", + "à¸Ħ ว", + "Ùĩ Ùħ", + "à¹Ģ à¸Ķ", + "à¹ĢภĶ", + "Ġ à¹ģ", + "Ġ à¹Ĥ", + "Û ³", + "Å© ng", + "Ġ nej", + "Ġn ej", + "Ġne j", + "ÛĮ Ú©", + "Ġs á»Ń", + "Ùģ Ø±", + "Î ł", + "Ġп ок", + "Ġпо к", + "ĠاÙĦ ÙĨ", + "Ġv Å¡", + "á º«", + "Ạ«", + "Ġnh Ãł", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ή ÏĤ", + "ο Ïģ", + "Ġ Ïĩ", + "ĠÏ ĩ", + "à¹Ģ à¸Ĺ", + "à¹ĢภĹ", + "Ñĥ лÑĮ", + "Ñĥл ÑĮ", + "ãħ ĩ", + "Ġ yıl", + "Ġy ıl", + "Ġyı l", + "ÑĢ Ð¾Ð´", + "ÑĢо д", + "ί ν", + "ìĹ Īëĭ¤", + "ìĹĪ ëĭ¤", + "ا ص", + "Ø§Ø µ", + "ĠÄij ầu", + "à¥ĩ à¤ķ", + "à¥ĩठķ", + "ÑĢ Ð¾Ð¼", + "ÑĢо м", + "ãģĵ ãģ¨", + "Ġ ار", + "Ġا ر", + "ĠØ§Ø ±", + "å¥ ¹", + "Ġ تØŃ", + "Ġت ØŃ", + "Å¡ tÄĽ", + "Å¡t ÄĽ", + "à¥į ल", + "à¥įठ²", + "à¥į à¤ķ", + "à¥įठķ", + "Ġ کار", + "ĠÚ© ار", + "u jÃŃ", + "uj ÃŃ", + "Ġ à¤īन", + "Ġà¤ī न", + "Ġ αÏĢÏĮ", + "Ġα ÏĢÏĮ", + "ĠαÏĢ ÏĮ", + "Ġm Ãł", + "ž ÃŃ", + "Ġ à¸Ī", + "ĠภĪ", + "a lı", + "al ı", + "ठ«", + "Ñĩ еÑģ", + "Ñĩе Ñģ", + "Ġ عÙĨ", + "Ġع ÙĨ", + "æķ Ļ", + "ï¾ Ĩ", + "ि à¤Ĥ", + "िठĤ", + "Ġs á»±", + "в оÑĢ", + "во ÑĢ", + "Ġth á»±c", + "ë į°", + "ëį °", + "ãģ¦ ãģĦãĤĭ", + "ãģ¦ãģĦ ãĤĭ", + "à¹Ī à¸ĩ", + "ت ب", + "Ġnh iá»ģu", + "ĥ n", + "ĠÄij á»ĵ", + "ĠÄijá» ĵ", + "Ġ ห", + "Ġภ«", + "Û µ", + "m ÄĽ", + "ạ t", + "Ġch ÃŃnh", + "ĠchÃŃ nh", + "ĠchÃŃn h", + "μ ÎŃ", + "an ı", + "Ġb á»ĭ", + "ằ ng", + "ÅĻ ed", + "ÅĻe d", + "é Ł", + "á nh", + "án h", + "ÙĢ ÙĢ", + "Ġ Ùħس", + "ĠÙħ س", + "á»ĭ ch", + "Ä ĥn", + "Äĥ n", + "o vánÃŃ", + "ov ánÃŃ", + "ová nÃŃ", + "ován ÃŃ", + "à¹Ī าà¸ĩ", + "à¹Īา à¸ĩ", + "Ġ à¸Ľ", + "ĠภĽ", + "Ġn Æ°á»Ľc", + "Ð ±Ð¾ÑĤ", + "б оÑĤ", + "бо ÑĤ", + "ı yor", + "ıy or", + "ĠØ® ÙĪØ¯", + "ĠØ®ÙĪ Ø¯", + "Û ¹", + "Ġ Ùħد", + "ĠÙħ د", + "Ġ üz", + "Ġü z", + "ì ½", + "ÙĪ ÙĤ", + "ë¥ ´", + "л ек", + "ле к", + "Ġc ả", + "ол ог", + "оло г", + "à¹ī à¸Ńà¸ĩ", + "à¹īà¸Ń à¸ĩ", + "m iÅŁ", + "mi ÅŁ", + "à¹ī ว", + "Ä ©", + "Î ľ", + "à¸Ń à¸ģ", + "_ _", + "ठĸ", + "Ġ Я", + "ĠÐ ¯", + "ë ¬´", + "ë¬ ´", + "اÛĮ ÛĮ", + "s ké", + "sk é", + "uy ên", + "e ÅŁ", + "á i", + "ú ng", + "ún g", + "Ãł o", + "Ñĸ Ñģ", + "ç ¶", + "Ġ à¤Ĩप", + "Ġà¤Ĩ प", + "ï º", + "Î Ľ", + "Ġ ê³µ", + "Ġê³ µ", + "Ġ ÐĨ", + "ĠÐ Ĩ", + "Ġà¤ħ पन", + "Ġà¤ħप न", + "ứ ng", + "ÏĮ ÏĤ", + "Ġngh iá»ĩ", + "Ġnghi á»ĩ", + "Ġ اÙĦب", + "Ġا ÙĦب", + "ĠاÙĦ ب", + "à¥ĭ न", + "Ġ à¤Ł", + "ĠठŁ", + "Ġ ìľł", + "Ġìľ ł", + "Ġc Å©ng", + "ĠcÅ© ng", + "Ġà¤ī स", + "Ġ ड", + "Ġठ¡", + "ĠØ´ دÙĩ", + "Ġشد Ùĩ", + "ี à¹ī", + "Û ´", + "ặ t", + "æĸ ¯", + "Ġ ëį", + "Ġë į", + "Ġп л", + "б и", + "ê³ Ħ", + "ο ν", + "Ġç ık", + "Ġçı k", + "Ġbu lun", + "Ġbul un", + "س Ùħ", + "a ç", + "ا ÙĨÙĩ", + "اÙĨ Ùĩ", + "ÛĮ ز", + "l eÅŁ", + "le ÅŁ", + "ắ c", + "ا Ú©", + "Ġस à¤ķ", + "Ġ оÑĢг", + "Ġо ÑĢг", + "ĠоÑĢ Ð³", + "Ġ à¸Ļ", + "ĠภĻ", + "ा थ", + "ाठ¥", + "Ġ ÙħÙĤ", + "ĠÙħ ÙĤ", + "ĠÎĶ E", + "Ñİ ÑĤÑĮ", + "ÑİÑĤ ÑĮ", + "á»Ļ c", + "Ġ η", + "ĠÎ ·", + "s ob", + "so b", + "Ġth eo", + "Ġthe o", + "å ŀ", + "Ġ اÙĦØ´", + "ĠاÙĦ Ø´", + "à¹Ģ à¸ŀ", + "à¹Ģภŀ", + "ÎŃ ÏĤ", + "à¹Ģ à¸Ĥ", + "à¹ĢภĤ", + "å Ļ", + "ि श", + "िठ¶", + "Ġ باز", + "Ġب از", + "Ġبا ز", + "ÑĢ Ð¾Ð±", + "ÑĢо б", + "Ġγ ια", + "μ ε", + "Ġ باش", + "Ġب اش", + "Ġبا Ø´", + "ा à¤ĩ", + "ाठĩ", + "Ġqu y", + "Ġq uy", + "λ ε", + "ا Ùĥ", + "ا٠ĥ", + "Ġ ÑĢок", + "ĠÑĢ Ð¾Ðº", + "Ġ Türk", + "ĠT ürk", + "ĠTür k", + "Ġ Ð¥", + "ĠÐ ¥", + "ÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁ ÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁ", + "æ ©", + "Ġph ải", + "à¸Ħ วาม", + "à¸Ħว าม", + ": ::", + ":: :", + "l ÃŃ", + "Ġj sou", + "Ġjs ou", + "ÛĮ ÙĦ", + "ál nÃŃ", + "áln ÃŃ", + "Ķ Ķ", + "í ĸī", + "íĸ ī", + "æĥ ³", + "l á", + "Ġ ÏĥÏħ", + "ĠÏĥ Ïħ", + "Ñĭ ва", + "Ñĭв а", + "Ġnh ất", + "à¸Ń ม", + "Û ¸", + "e cek", + "ec ek", + "ece k", + "Ñĸ ÑĢ", + "ÙĪ Ø´", + "λ α", + "Ġ ÎĴ", + "ĠÎ Ĵ", + "о ÑĢа", + "оÑĢ Ð°", + "Ùģ Øª", + "e dir", + "ed ir", + "edi r", + "Ñĥ Ñħ", + "ä¸ ĸ", + "ĠУ кÑĢаÑĹ", + "ĠУкÑĢа ÑĹ", + "Ġ íĶ", + "Ġí Ķ", + "ά ν", + "Ġ شر", + "ĠØ´ ر", + "ĠاÙĦ ج", + "е ÑĢед", + "еÑĢ ÐµÐ´", + "еÑĢе д", + "ìĺ ģ", + "Ġh Ãłnh", + "ï¿£ ï¿£", + "м е", + "ÑİÑĤ ÑģÑı", + "ĠØ¥ ÙĦÙī", + "ĠØ¥ÙĦ Ùī", + "ìĹ ħ", + "Ġ تر", + "Ġت ر", + "к ом", + "ко м", + "Ġ شد", + "ĠØ´ د", + "Ġ اÙĦÙĥ", + "Ġا ÙĦÙĥ", + "ĠاÙĦ Ùĥ", + "Ġ ÏĥÏĦο", + "ĠÏĥ ÏĦο", + "à¥į द", + "à¥įठ¦", + "ëł ¤", + "Ñĥ ваннÑı", + "Ñĥв аннÑı", + "Ġth ì", + "ê ´Ģ", + "ê´ Ģ", + "κ ε", + "س ب", + "íĥ Ģ", + "Ġ ï¼ı", + "Ġï¼ ı", + "Ġ à¹ģละ", + "Ġà¹ģ ละ", + "Ġà¹ģล ะ", + "Ġ ÏĮ", + "ĠÏ Į", + "н иÑĨ", + "ни ÑĨ", + "Ġ ÐĿа", + "ĠÐĿ а", + "Ñı в", + "l ü", + "ι ο", + "ÙĨ دÙĩ", + "ÙĨد Ùĩ", + "ÙĦ Ùĥ", + "Ġng Ãły", + "Ġnh ân", + "Ġ ^{", + "Ġ^ {", + "ॠĥ", + "Ġg erek", + "Ġge rek", + "Ġger ek", + "Ġgere k", + "ا رÙĩ", + "ار Ùĩ", + "Ġc Æ¡", + "Ġ à¸ķ", + "Ġภķ", + "æ Ĥ", + "çĶ °", + "à¥Īà¤Ĥ ।", + "ั ว", + "v ÄĽ", + "ö z", + "и ли", + "ил и", + "Ġph áp", + "Ġphá p", + "ê¸ Ī", + "Ġ ÎŁ", + "ĠÎ Ł", + "Ġp ÅĻi", + "ĠpÅĻ i", + "Ġ ìĸ´", + "Ġìĸ ´", + "Ġд ол", + "Ġдо л", + "ÙĪ Ø±Ø¯", + "ÙĪØ± د", + "à¹Ģ ม", + "à¹Ģภ¡", + "Ïĥ ε", + "า à¸Ĺ", + "าภĹ", + "o Ãłi", + "ร ม", + "Û ¶", + "Ġ à¸ļ", + "Ġภļ", + "i yet", + "iy et", + "iye t", + "ÏĦ αι", + "ÏĦα ι", + "ìĦ ł", + "Ġ εÏĢ", + "Ġε ÏĢ", + "ि व", + "िठµ", + "ê¹ Į", + "г а", + "ĠÑģ лÑĥ", + "ĠÑģл Ñĥ", + "Ġh ình", + "Ġ داÙĨ", + "Ġد اÙĨ", + "Ġà¤Ĺ य", + "ÙĬ ا", + "è ij", + "à¤Ĥ त", + "Ġ ساÙĦ", + "Ġس اÙĦ", + "ëł Ī", + "l erin", + "le rin", + "ler in", + "leri n", + "à¥ĩ त", + "à¥ĩठ¤", + ".: .:.:.:", + ".:.: .:.:", + ".:. :.:.:", + ".:.:.: .:", + ".:.:. :.:", + ".:.:.:. :", + "Ġ ëħ", + "Ġë ħ", + "Ġ اÙĦØ¥", + "ĠاÙĦ Ø¥", + "ả ng", + "ản g", + "è Ħ", + "ο λ", + "п ов", + "по в", + "Ġ θ", + "ĠÎ ¸", + "Û ·", + "Ġn ó", + "Ġd Ã¼ÅŁ", + "Ġdü ÅŁ", + "Ġt iế", + "Ġti ế", + "ÙĪ Ø¬", + "Ġj sem", + "Ġjs em", + "Ạ¡ng", + "ạ ng", + "ạn g", + "ãģĤ ãĤĭ", + "à¸Ń à¸ļ", + "ÙĪ ÙĬ", + "à¤ķ र", + "Ġ де", + "Ġд е", + "¯ ¼", + "Ġ но", + "Ġн о", + "ÑĨ Ñĸй", + "ÑĨÑĸ й", + "Ïĥ ÏĦ", + "к ие", + "ки е", + "Ïĥ ει", + "Ïĥε ι", + "ìķ Ī", + "Ġh Æ¡n", + "Ġà¤ķ ह", + "ا ض", + "Ø§Ø ¶", + "ì ¸", + "ãĥ Ł", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ãĤĪ ãģĨ", + "ा ,", + "е ÑĢи", + "еÑĢ Ð¸", + "ë© °", + "í ĶĦ", + "íĶ Ħ", + "Ġп оÑģÑĤ", + "Ġпо ÑģÑĤ", + "ĠпоÑģ ÑĤ", + "Ø® ر", + "à¥ĭ त", + "â u", + "к ой", + "ко й", + "d aki", + "da ki", + "í ħ", + ": :::::::::::::::", + ":: ::::::::::::::", + ":::: ::::::::::::", + ":::::: ::::::::::", + ":::::::: ::::::::", + "::: :::::::::::::", + "::::: :::::::::::", + "::::::: :::::::::", + "::::::::: :::::::", + ":::::::::: ::::::", + "::::::::::: :::::", + ":::::::::::: ::::", + "::::::::::::: :::", + ":::::::::::::: ::", + "::::::::::::::: :", + "Ġ öz", + "Ġö z", + "ÑĢ Ð°Ð¶", + "ÑĢаР¶", + "ÑĢа ж", + "nÃŃ ho", + "ห ล", + "Ġ ÏĥÏĦη", + "ĠÏĥ ÏĦη", + "ĠÄij á»ģ", + "ĠÄijá» ģ", + "Ġk á»", + "i á»ĥn", + "iá» ĥn", + "iá»ĥ n", + "ÅĻ i", + "Ġkter é", + "¢ ħ", + "ü ç", + "ÙĬ Ùģ", + "Ġ lý", + "Ġl ý", + "Ġth á»Ŀi", + "Ġthá» Ŀi", + "Ġthá»Ŀ i", + "Ġ ìĨĮ", + "ĠìĨ Į", + "н ÑĮ", + "Ð Ĩ", + "ÑĤ ÑĢ", + "à¸ĩ าà¸Ļ", + "к оÑĹ", + "ко ÑĹ", + "μ ο", + "Ġs ür", + "Ġsü r", + "uy á»ģn", + "uyá» ģn", + "Ġ Ùħا", + "ĠÙħ ا", + "à¤Ĥ à¤Ĺ", + "ĠÄij á»ĵng", + "ĠÄijá»ĵ ng", + "ò n", + "à¥ģ ल", + "à¥ģठ²", + "à¥į प", + "à¥įठª", + "λ η", + "Ùħ ر", + "п ÑĢи", + "пÑĢ Ð¸", + "i yle", + "iy le", + "ा प", + "ाठª", + "Ġà¤ħ न", + "Ġ ÑĶ", + "ĠÑ Ķ", + "Ġy ön", + "Ġyö n", + "ÙĦ Ùģ", + "a dır", + "ad ır", + "adı r", + "á ½", + "Ġ ê³ł", + "Ġê³ ł", + "Ø® ص", + "im iz", + "imi z", + "åľ ĭ", + "Ġ над", + "Ġн ад", + "Ġна д", + "Ġ ÅĻ", + "ĠÅ Ļ", + "н оÑģÑĤÑĸ", + "но ÑģÑĤÑĸ", + "ноÑģÑĤ Ñĸ", + "ноÑģ ÑĤÑĸ", + "Ġ اÙģ", + "Ġا Ùģ", + "а нÑĸ", + "ан Ñĸ", + "à¥ĩ à¤Ł", + "à¥ĩठŁ", + "Ġ ë§IJ", + "Ġë§ IJ", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "Ġ ìĬ¤", + "ĠìĬ ¤", + "ิ à¸ķ", + "å Ħ", + "ÛĮ Ùĩ", + "о ÑĪ", + "ž it", + "ži t", + "ìĭ ¤", + "à¥Ģ न", + "Ġ î", + "æ¥ Ń", + "à¥ĩ न", + "à¥ĩठ¨", + "Ġ ذ", + "ĠØ °", + "Ġl oại", + "Ġlo ại", + "à¹Ħ à¸Ľ", + "Ñĸ к", + "Ġ кÑĢа", + "Ġк ÑĢа", + "à¥ĭ र", + "ุ à¸Ķ", + "ĠاÙĦ ر", + "ĠÑģ об", + "ĠÑģо б", + "า à¸Ĭ", + "าภĬ", + "Ġसà¤ķ त", + "Ġ ÎĿ", + "ĠÎ Ŀ", + "ا ÙħÙĩ", + "اÙħ Ùĩ", + "à¹ī าà¸Ļ", + "à¹īา à¸Ļ", + "Ġtr ình", + "Ġtrì nh", + "Ġ اÙĦÙģ", + "Ġا ÙĦÙģ", + "ĠاÙĦ Ùģ", + "Ġ اÙĦد", + "ĠاÙĦ د", + "u nun", + "un un", + "unu n", + "о ÑĤов", + "оÑĤ ов", + "оÑĤо в", + "ư ợ", + "ưỠŁ", + "ĠÑģ во", + "ĠÑģв о", + "ί αÏĤ", + "ία ÏĤ", + "ấ n", + "ог да", + "à¸Ĺ ย", + "Ġb yl", + "Ġby l", + "ØŃ د", + "à¸ģ ล", + "ب Ùĩ", + "Ġ vÄĽ", + "Ġv ÄĽ", + "è¢ «", + "Ġ Ø¢Ùħ", + "ĠØ¢ Ùħ", + "ĠÄij iá»ģu", + "å ¨", + "Ġk dy", + "Ġkd y", + "Ġ بÙĪ", + "Ġب ÙĪ", + "ẫ n", + "ìľ ł", + "ा à¤ķ", + "ाठķ", + "k ů", + "Ġtr ưá»Ŀng", + "ic ké", + "ick é", + "н иÑı", + "ни Ñı", + "Ġ ÏĢοÏħ", + "ĠÏĢ Î¿Ïħ", + "ĠÏĢο Ïħ", + "Æ°á»Ł ng", + "н омÑĥ", + "но мÑĥ", + "ном Ñĥ", + "à¹Ī à¸Ļ", + "ู à¹Ī", + "Ġk ết", + "Ġkế t", + "Ġ ï¼¼", + "Ġï¼ ¼", + "Ġ ìĭł", + "Ġìĭ ł", + "i ç", + "Ġn Äĥng", + "ĠnÄĥ ng", + "Äį ÃŃ", + "ÑĤ Ñı", + "ÑĢ ÐµÐ±", + "ÑĢе б", + "Ùĭ ا", + "Ú¯ ÛĮ", + "ãĥ İ", + "Ġkar ÅŁ", + "в Ñĸ", + "Ġph ần", + "à¸Ī ะ", + "ắ t", + "ر Ø©", + "ิ à¸ĩ", + "ิ à¹Ī", + "ा à¤Ī", + "ाठĪ", + "า à¸ŀ", + "าภŀ", + "ÙĨ ÛĮ", + "ìĹ °", + "b ÄĽ", + "Ġ اÙĦص", + "ĠاÙĦ ص", + "í Ĺ", + "Ġ سر", + "Ġس ر", + "l ara", + "la ra", + "lar a", + "ëĭ ¨", + "Ġ ÙĤر", + "ĠÙĤ ر", + "è İ", + "ب د", + "Ġй ого", + "à¥į ह", + "à¥įठ¹", + "Ġc ách", + "Ġcá ch", + "Ġcác h", + "íķĺ ê³ł", + "Ġ ÏĢÏģο", + "ĠÏĢ Ïģο", + "Ġ تع", + "Ġت ع", + "Ĵ Ī", + "Ġ вод", + "Ġв од", + "Ġво д", + "ç¥ ŀ", + "к им", + "ки м", + "Ġd á»±", + "à¹Ģ ห", + "à¹Ģภ«", + "а на", + "ан а", + "Ġ ï½", + "Ġï ½", + "Ġb aÄŁ", + "Ġba ÄŁ", + "Ġप ह", + "Ġ cao", + "Ġc ao", + "Ġca o", + "Ïģ ÏĮ", + "ÙĨ ج", + "ा à¤ı", + "ाठı", + "Ġ å¹´", + "Ġå¹ ´", + "Ġngh iá»ĩp", + "Ġnghiá»ĩ p", + "Û² Û°", + "к аÑı", + "ка Ñı", + "Ïģ ί", + "Ġ бол", + "Ġб ол", + "Ġбо л", + "Ġgi á", + "Ġ зд", + "Ġз д", + "à¥ĩ ल", + "à¥ĩठ²", + "Ġc ấp", + "à¹Ģ ส", + "à¹Ģภª", + "Ïģ γ", + "Ġ ìĤ", + "Ġì Ĥ", + "d ÄĽ", + "à¥ģ न", + "à¥ģठ¨", + "ì Ī", + "ı lan", + "ıl an", + "л аÑģ", + "ла Ñģ", + "Ġ ว", + "Ġภ§", + "Ġ Ïĥε", + "ĠÏĥ ε", + "Ġ Ø«", + "ĠØ «", + "Ġ Ц", + "ĠÐ ¦", + "çĤ º", + "Ġb üy", + "Ġbü y", + "е ÑĨ", + "å¤ ª", + "Ġब न", + "о гÑĢа", + "ог ÑĢа", + "Ġп ÑĢоÑĤ", + "ĠпÑĢ Ð¾ÑĤ", + "ĠпÑĢо ÑĤ", + "Ġl ượng", + "Ġd ön", + "Ġdö n", + "ร à¸ĩ", + "а ло", + "ал о", + "Ġ جÙħ", + "Ġج Ùħ", + "à¥Ī ,", + "Ġ 미", + "Ġë ¯¸", + "Ġ ê¹", + "Ġê ¹", + "ÙĪ Øª", + "à¥Ģ य", + "à¸Ī าà¸ģ", + "Ġch ất", + "Î ©", + "Ġkh ác", + "Ġkhá c", + "Ġth áng", + "j Å¡ÃŃ", + "ĠÂłĠÂł ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł", + "ĠÂłĠÂłĠÂłĠÂł ĠÂłĠÂłĠÂłĠÂł", + "ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł ĠÂłĠÂł", + "á»ij t", + "ห ร", + "Ñĸ л", + "åħ ī", + "å Ĥ", + "ÙĦ Ø©", + "Ġ ê±°", + "Ġê± °", + "о воÑĢ", + "ов оÑĢ", + "ово ÑĢ", + "iá»ĥ u", + "Ġ меÑĤ", + "Ġм еÑĤ", + "а ÑĶ", + "Ġ ÑĩаÑģ", + "ĠÑĩ аÑģ", + "ĠÑĩа Ñģ", + "Ïģ ε", + "ì¹ ´", + "âĢĮ Ø´", + "ë¬ ¼", + "ú c", + "âĢĮ Ùĩا", + "i á»ģn", + "iá» ģn", + "iá»ģ n", + "st av", + "sta v", + "í ŀ", + "ĠÙĨ ظ", + "Ĩ Ĵ", + "Ġ ÏĦα", + "ĠÏĦ α", + "Ġ заб", + "Ġз аб", + "Ġза б", + "Ùĥ Ø©", + "Ġг ÑĢÑĥ", + "ĠгÑĢ Ñĥ", + "в о", + "Ġ Ùħج", + "ĠÙħ ج", + "Ġ sah", + "Ġs ah", + "Ġsa h", + "ب ÙĦ", + "ع Ø©", + "Ñĥ ÑĪ", + "ĠÑĤ ем", + "ĠÑĤе м", + "í ĭ", + "e ck", + "ec k", + "Ïī ÏĤ", + "ÙĬ ت", + "ìĹ Ī", + "ç ĭ", + "ذ ا", + "ì łĢ", + "ìł Ģ", + "Ġн аÑģ", + "Ġна Ñģ", + "Ġ поÑĩ", + "Ġп оÑĩ", + "Ġпо Ñĩ", + "æł ¡", + "Ï Ī", + "Ñģ кой", + "Ñģк ой", + "Ñģко й", + "ü c", + "ÙĤ ÙĦ", + "Ġп оз", + "Ġпо з", + "Ġ оÑģоб", + "ĠоÑģ об", + "า ล", + "าภ¥", + "н Ñĭми", + "нÑĭ ми", + "нÑĭм и", + "о лод", + "ол од", + "оло д", + "è ¼", + "Ġ دÛĮ", + "Ġد ÛĮ", + "Ġ ÑĥÑģÑĤ", + "ĠÑĥ ÑģÑĤ", + "ĠÑĥÑģ ÑĤ", + "Ġ 무", + "Ġë ¬´", + "Ġë¬ ´", + "ÙĬ س", + "ë° ©", + "à¥į à¤ļ", + "à¥įठļ", + "и ла", + "ил а", + "Ġn ên", + "н ие", + "ни е", + "ι ν", + "lar ını", + "ların ı", + "à¹Ģ à¸Ļ", + "à¹ĢภĻ", + "ÙĨ ت", + "a ģı", + "aÄŁ ı", + "ım ız", + "ımı z", + "ĠاÙĦ Ø®", + "à¹Ģ ว", + "à¹Ģภ§", + "à¥į न", + "à¥įठ¨", + "Ġ Ïħ", + "ĠÏ ħ", + "Ġ íĨ", + "Ġí Ĩ", + "Ạ»", + "ิ à¹Ĥ", + "α ÏĤ", + "м еÑĤ", + "ме ÑĤ", + "Ġ zp", + "Ġz p", + "Ġje ho", + "ี ยà¸Ļ", + "ีย à¸Ļ", + "ÑĦ оÑĢ", + "ın ız", + "ını z", + "k lad", + "kl ad", + "kla d", + "íĮ Į", + "uy á»ĩ", + "uyá» ĩ", + "ι ά", + "Ġ ãĢģ", + "ĠãĢ ģ", + "Ø´ ر", + "æ© Ł", + "Ġ تا", + "Ġت ا", + "Ġ зна", + "Ġз на", + "Ġзн а", + "س تاÙĨ", + "ست اÙĨ", + "à¥ĩ र", + "à¥ĩठ°", + "ë§ ¤", + "ç ĥ", + "Ġ же", + "Ġж е", + "า à¸Ķ", + "าภĶ", + "Ġ ض", + "ĠØ ¶", + "é Ń", + "Ġн аз", + "Ġна з", + "Ġ ÛĮا", + "ĠÛĮ ا", + "e né", + "en é", + "ั ย", + "íĸ Īëĭ¤", + "íĸĪ ëĭ¤", + "Ġ بد", + "Ġب د", + "à¥ģ à¤ķ", + "à¥ģठķ", + "ÑĤ ов", + "ÑĤо в", + "ì° ¨", + "Ùĩ د", + "à¸Ķ ย", + "Ġho ặc", + "Ġ ÐŁÑĢи", + "ĠÐŁ ÑĢи", + "ĠÐŁÑĢ Ð¸", + "ÙĨ ا", + "çİ ĭ", + "Ñĥ ваÑĤи", + "Ñĥв аÑĤи", + "Ñĥва ÑĤи", + "à¸ļ ร", + "Ġà¤ķ रत", + "Ġà¤ķर त", + "Ïĥ ηÏĤ", + "Ïĥη ÏĤ", + "Ø ¤", + "éķ ·", + "åħ ĭ", + "Ġ دار", + "Ġد ار", + "ั à¹Ī", + "Æ¡ i", + "า à¸Ī", + "าภĪ", + "ý mi", + "ým i", + "ấ u", + "Ġد ست", + "Ġدس ت", + "k em", + "ke m", + "Ġ оÑģнов", + "ĠоÑģ нов", + "ëª ¨", + "Ïģ ά", + "æ ħ", + "Ġ اب", + "Ġا ب", + "ĠØ§Ø ¨", + "å£ «", + "Ħ ĸ", + "Î Ķ", + "ÙĬ Ùĥ", + "í İ", + "Ġy üz", + "a dı", + "ad ı", + "า à¸ķ", + "าภķ", + "ä» Ģ", + "ìĿ´ ëĭ¤", + "Ġ zv", + "Ġz v", + "Ġ tÄĽ", + "Ġt ÄĽ", + "Ġ íĸ", + "Ġí ĸ", + "ठ¥", + "Ġ लà¤Ĺ", + "Ġल à¤Ĺ", + "ìĺ Ģ", + "Ġ ан", + "Ġа н", + "ç Ĺ", + "ìĹ Ń", + "н ÑĸÑģÑĤÑĮ", + "нÑĸ ÑģÑĤÑĮ", + "нÑĸÑģÑĤ ÑĮ", + "Å ŀ", + "Ġph át", + "Ġphá t", + "ÙĤ Ø©", + "Ġth ế", + "Ġ ï¾", + "Ġï ¾", + "ì² ľ", + "Ġ ìĦł", + "ĠìĦ ł", + "à¹ĥ à¸Ĭ", + "i êu", + "iê u", + "ÄŁ ini", + "ÄŁi ni", + "ÄŁin i", + "ÙĤ د", + "Ġkter ý", + "Ñģ кий", + "Ñģк ий", + "Ñģки й", + "à¥į ड", + "à¥įठ¡", + "t adır", + "ta dır", + "Ġ Ñģм", + "ĠÑģ м", + "ÙĪ Ùģ", + "ا رÙĬ", + "ار ÙĬ", + "å¾ ·", + "ิ ม", + "Ø® ت", + "å¾ Ī", + "Ġ гоÑĢ", + "Ġг оÑĢ", + "ï¼Į æĪij", + "Ġ ìĺģ", + "Ġìĺ ģ", + "Ġ ëıĻ", + "Ġëı Ļ", + "Ñģ а", + "à¹Ģ à¸Ħ", + "à¹ĢภĦ", + "ë ¯¼", + "ë¯ ¼", + "ึ à¹Ī", + "Ġl iên", + "Ġli ên", + "Ġ Ùĩا", + "ĠÙĩ ا", + "ler ini", + "leri ni", + "lerin i", + "Ġ ÑĨе", + "ĠÑĨ е", + "ا ÙĦÛĮ", + "اÙĦ ÛĮ", + "Ġ मह", + "Ġम ह", + "Ġv ụ", + "Ġvá» ¥", + "Ġxu ất", + "ิ à¸ģ", + "ĠпÑĢо ÑĨ", + "Ġ αν", + "Ġα ν", + "ÑĢ Ð¸Ð¼", + "ÑĢи м", + "Ġc ần", + "Ġ иÑħ", + "Ġи Ñħ", + "н оÑİ", + "но Ñİ", + "Ġt ÃŃnh", + "ĠtÃŃ nh", + "ĠtÃŃn h", + "Ġb á»Ļ", + "Ñĸ м", + "Ġnh áºŃn", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ÙĬ Ùĩ", + "äº ļ", + "Ġоб ла", + "Ġобл а", + "Ġ à¤ĺ", + "Ġठĺ", + "n ých", + "ný ch", + "æĿ ij", + "ÙĦ س", + "Ġне об", + "ا بة", + "اب Ø©", + "v á", + "ο Ïħν", + "οÏħ ν", + "ÑĢ ÐµÑĤ", + "ÑĢе ÑĤ", + "a sında", + "as ında", + "ası nda", + "Ġ yar", + "Ġy ar", + "Ġya r", + "ĠÄij iá»ĥm", + "ĠÄiji á»ĥm", + "н Ñİ", + "ा à¤Ĺ", + "ाठĹ", + "Ġ Ú©Ø´", + "ĠÚ© Ø´", + "Ñĥ з", + "Ġ à¸Ķ", + "ĠภĶ", + "ả m", + "к ами", + "ка ми", + "кам и", + "Ġ ÎĻ", + "ĠÎ Ļ", + "à¹Ģ à¸ķ", + "à¹Ģภķ", + "Ġl Ỽ", + "Ġlá» Ľ", + "ÙĤ ÛĮ", + "k ou", + "ko u", + "ÙĦ ب", + "и ва", + "ив а", + "æ ĵ", + "Ạ¹", + "κ α", + "ë² ķ", + "èĤ ²", + "á»ij n", + "Ġbel ir", + "íĨ ł", + "ÏĦ ή", + "Ñĭ ÑĪ", + "ãĤ ĥ", + "Ġ або", + "Ġа бо", + "Ġаб о", + "s ký", + "sk ý", + "à¥Ī स", + "Ġп ÑĢоÑģÑĤ", + "ĠпÑĢ Ð¾ÑģÑĤ", + "ĠпÑĢо ÑģÑĤ", + "ĠпÑĢоÑģ ÑĤ", + "ekt edir", + "ekte dir", + "a ž", + "à¹Ī à¸Ń", + "Ġ оÑģÑĤ", + "Ġо ÑģÑĤ", + "ĠоÑģ ÑĤ", + "Ġb ảo", + "Ġ 大", + "Ġå¤ §", + "Ñĭ м", + "Ġm ů", + "Æ°á»Ľ ng", + "åı Ĺ", + "ÙĪ Ùĩ", + "Ġ Ñĥп", + "ĠÑĥ п", + "Ùĥ ÙĨ", + "Ġ ÏĦÏīν", + "ĠÏĦ Ïīν", + "ëħ ¸", + "Ġ à¸Ĭ", + "ĠภĬ", + "Ġ ÑĤого", + "ĠÑĤ ого", + "ĠÑĤо го", + "Ġ Ш", + "ĠÐ ¨", + "ìĿ´ íĬ¸", + "à¹Ģ à¸Ń", + "à¹ĢภŃ", + "и нÑĥ", + "ин Ñĥ", + "ĺ ħ", + "uy á»ĥn", + "uyá» ĥn", + "í ĴĪ", + "íĴ Ī", + "ạ nh", + "ạn h", + "Ġ ãĥ½", + "Ġãĥ ½", + "ÑĤ обÑĭ", + "ÑĤо бÑĭ", + "Ġt ạo", + "å· Ŀ", + "ĠÄij á»iji", + "Ġ ëıĦ", + "Ġëı Ħ", + "ä¹ ħ", + "Ġ تÙħ", + "Ġت Ùħ", + "а ÑĢи", + "аÑĢ Ð¸", + "st vÃŃ", + "Ġc ùng", + "íŀ Ī", + "Ġt arih", + "Ġtar ih", + "ì ¤ij", + "ì¤ ij", + "í Ĥ", + "Ġ دÙĪ", + "Ġد ÙĪ", + "ì ¡", + "а лÑĸ", + "ал Ñĸ", + "ภIJ", + "Ġc òn", + "и ÑĤÑĮÑģÑı", + "иÑĤÑĮ ÑģÑı", + "Ġव ह", + "ÅĻ eb", + "ÅĻe b", + "éĽ »", + "Ġ ми", + "Ġм и", + "o vÄĽ", + "ov ÄĽ", + "Ġd ân", + "ÑĨ ÑĸÑı", + "ÑĨÑĸ Ñı", + "ÛĮ ست", + "ÛĮس ت", + "åŃ ¸", + "Ġ ür", + "Ġü r", + "ص ÙĦ", + "ÑĢ Ð¸ÑĤ", + "ÑĢи ÑĤ", + "า ห", + "าภ«", + "ãģ¦ ãģĦãģŁ", + "ãģ¦ãģĦ ãģŁ", + "θ η", + "ç ĸ", + "Ø Ł", + "i ÅŁtir", + "iÅŁ tir", + "iÅŁti r", + "ĠУкÑĢаÑĹ Ð½Ð¸", + "ĠУкÑĢаÑĹн и", + "ë° ĺ", + "à¥ĩ à¤ĸ", + "à¥ĩठĸ", + "Ġv á»ĭ", + "Ġvá» ĭ", + "Î ¥", + "Ġ ãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢ ĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢ ĠãĢĢ", + "ĠãĢĢĠ ãĢĢĠãĢĢ", + "Ġb ằng", + "Ġt á»ķ", + "Ġtá» ķ", + "о ли", + "ол и", + "๠Ĩ", + "e zi", + "ez i", + "Ġ ни", + "Ġн и", + "Ġ ÎĽ", + "ĠÎ Ľ", + "Ġr ất", + "μ ÏĢ", + "ж д", + "ा रत", + "ार त", + "Ġu ž", + "à¥ĩ स", + "à¥ĩठ¸", + "ا ÙĨد", + "اÙĨ د", + "Ġb ý", + "à¥ĭ ल", + "d ÄĽl", + "dÄĽ l", + "ìķ ĺ", + "Ġ جد", + "Ġج د", + "å ³", + "ื à¹ī", + "Ġb ản", + "ạ ch", + "ạc h", + "ĠÅŁ ey", + "Ġ Ùĩر", + "ĠÙĩ ر", + "Ġ jen", + "Ġj en", + "Ġje n", + "Ġв Ñĸн", + "ĠвÑĸ н", + "es inde", + "esi nde", + "esin de", + "Ġ हम", + "Ġह म", + "çł Ķ", + "à¸ļ à¸ļ", + "Ġch ức", + "Ġchứ c", + "ึ à¸ĩ", + "m alar", + "ma lar", + "mal ar", + "ĠdeÄŁ il", + "æĿ ±", + "Ġt ác", + "Ġtá c", + "Ġk iÅŁ", + "Ġki ÅŁ", + "Ġt á»±", + "Ġtá» ±", + "à¥į ध", + "à¥įठ§", + "à¸Ļ à¸Ĺ", + "ÎŁ Î¥", + "ÎŁÎ ¥", + "ÑģÑĮ кого", + "ÑģÑĮк ого", + "ÑģÑĮко го", + "Ġ ध", + "Ġठ§", + "Ġ ìĿĺ", + "ĠìĿ ĺ", + "ÙĨ Ø©", + "ü s", + "è «", + "Ġtaraf ından", + "ħ n", + "Ġk inh", + "Ġki nh", + "Ġkin h", + "Ïĥ ι", + "à¥Ģ à¤ķ", + "íı ¬", + "ا ÙħÙĦ", + "اÙħ ÙĦ", + "ĠV iá»ĩt", + "Ġ ÏĦον", + "ĠÏĦ ον", + "ĠÏĦο ν", + "Ġ تÙĨ", + "Ġت ÙĨ", + "Ġà¤ħ ध", + "à¹Ī าà¸Ļ", + "à¹Īา à¸Ļ", + "r ı", + "à¤Ĥ द", + "é ª", + "Ġch úng", + "Ġchú ng", + "г и", + "ÏĦ αν", + "ÏĦα ν", + "Ġд оп", + "Ġдо п", + "н Ñĸй", + "нÑĸ й", + "он алÑĮ", + "она лÑĮ", + "Î ĵ", + "Ġb üyük", + "Ġbü yük", + "Ġbüy ük", + "á ¼", + "à¥Ģ र", + "ذ Ùĩ", + "Ġ ìķĦìĿ´", + "ĠìķĦ ìĿ´", + "Ġdo anh", + "Ġ ÅĻÃŃ", + "ĠÅĻ ÃŃ", + "ÑĨ Ñı", + "Ġt ư", + "Ġ सर", + "Ġस र", + "Ġm ÃŃst", + "ĠmÃŃ st", + "Ġë° ı", + "Ø´ ÙĨ", + "Ñĸ б", + "Ġ ãĢĢãĢĢ", + "ĠãĢĢ ãĢĢ", + "çĻ ½", + "о Ñģп", + "оÑģ п", + "к Ñĸв", + "кÑĸ в", + "Ġt ế", + "ãģ Ń", + "Ġt Ỽi", + "Ġtá» Ľi", + "Ġ ìļ°", + "Ġìļ °", + "æľ ĥ", + "ا ÛĮد", + "اÛĮ د", + "æ §", + "ìł IJ", + "Ġd urum", + "Ġdu rum", + "Ġdur um", + "à¹Ģ à¸Ĭ", + "à¹ĢภĬ", + "à¥Ģ त", + "ĠÙĩ ÙĪ", + "à¥Ĥ प", + "Ġgö re", + "Ġgör e", + "Ġ ÑĢоб", + "ĠÑĢ Ð¾Ð±", + "Ġth iết", + "Ġthi ết", + "a jÃŃ", + "aj ÃŃ", + "ĠاÛĮ راÙĨ", + "âĢ ı", + "ÑģÑĮ коÑĹ", + "ÑģÑĮк оÑĹ", + "ÑģÑĮко ÑĹ", + "ç ħ", + "Ġ ìĦ¸", + "ĠìĦ ¸", + "á» «", + "Ġ à¸Ĥ", + "ĠภĤ", + "ů m", + "ëŀ Į", + "ι κή", + "ικ ή", + "Ġм ог", + "Ġмо г", + "ÙĨ ÙĬ", + "ãģ ļ", + "ा ब", + "ाठ¬", + "æ ¢", + "ع Ùĩ", + "ÑĶ Ð¼", + "Ġ ά", + "ĠÎ ¬", + "οÏħ ÏĤ", + "ز ار", + "زا ر", + "ê± ´", + "s ká", + "sk á", + "Ġ اÙĬ", + "Ġا ÙĬ", + "Ġi lg", + "Ġil g", + "Ġ sı", + "Ġs ı", + "e leri", + "el eri", + "eler i", + "ele ri", + "Ġ ÎĹ", + "ĠÎ Ĺ", + "u yor", + "uy or", + "uyo r", + "ठ·", + "ि म", + "िठ®", + "е ва", + "ев а", + "ä»Ģ ä¹Ī", + "ุ à¹Ī", + "à¹ī าà¸ĩ", + "à¹īา à¸ĩ", + "Ġh iá»ĩu", + "Ġhi á»ĩu", + "Ġ اع", + "Ġا ع", + "ĠØ§Ø ¹", + "Ġö zel", + "Ġöz el", + "ν η", + "ëĦ ¤", + "Ġto Ãłn", + "Ġm oh", + "Ġmo h", + "ĠÑı кÑĸ", + "ĠÑıк Ñĸ", + "ç Ĭ", + "mak tadır", + "makta dır", + "makt adır", + "ت اب", + "تا ب", + "Ġ ÑģÑĥ", + "ĠÑģ Ñĥ", + "Ġ yük", + "Ġy ük", + "Ġ Χ", + "ĠÎ §", + "з на", + "зн а", + "о Ñħ", + "ư u", + "à¸Ĺ ร", + "ãħ ĭ", + "Ġkar ÅŁÄ±", + "ĠkarÅŁ ı", + "Ùħ ÛĮ", + "Ġ ÑĨÑĸ", + "ĠÑĨ Ñĸ", + "ا دÛĮ", + "اد ÛĮ", + "à¥Ģ ।", + "Ïģ η", + "л ов", + "ло в", + "å¤ «", + "Ġph ân", + "Ġп оп", + "Ġпо п", + "ç· ļ", + "Ñı н", + "ุ à¸ĵ", + "ÑģÑĤ Ñĥп", + "ίν αι", + "ίνα ι", + "ĠÑĢ Ð¾ÐºÑĥ", + "ĠÑĢок Ñĥ", + "l arda", + "lar da", + "è» Ĭ", + "Ïģ Ïī", + "ÙĪ Ø§Ùĩ", + "ÙĪØ§ Ùĩ", + "è ħ", + "à¥į रत", + "à¥įर त", + "å· ±", + "Ġ ÑĢÑĥ", + "ĠÑĢ Ñĥ", + "Ġth á»ĭ", + "Ġthá» ĭ", + "ĠÄij iá»ĩn", + "ĠÄiji á»ĩn", + "ìĸ ij", + "n ého", + "né ho", + "ส ม", + "ê° ģ", + "a cÃŃ", + "ac ÃŃ", + "Ġг ода", + "Ġгод а", + "k az", + "ka z", + "Ġb öl", + "Ġbö l", + "Ġg ian", + "Ġgi an", + "Ġgia n", + "à¸Ľ ร", + "ï¾ ŀ", + "ั à¸ķ", + "Ġg erç", + "Ġger ç", + "Ġ اج", + "Ġا ج", + "ĠØ§Ø ¬", + "Ġ ή", + "ĠÎ ®", + "Ùij Ùİ", + "Ñģ кого", + "Ñģк ого", + "Ñģко го", + "ÑĢ Ð°Ñħ", + "ÑĢа Ñħ", + "Ġ Åł", + "ĠÅ ł", + "Ġ à¤Ľ", + "ĠठĽ", + "о ÑģÑĤÑĸ", + "оÑģ ÑĤÑĸ", + "оÑģÑĤ Ñĸ", + "ë³ ¸", + "ÑģÑĮ кий", + "ÑģÑĮк ий", + "Û± Û¹", + "Û±Û ¹", + "Ñĥ ва", + "Ñĥв а", + "ا ÙĦÙħ", + "اÙĦ Ùħ", + "ĠÙħ ص", + "ëį ĺ", + "b ÃŃ", + "Ġ ÙĪØ¬", + "ĠÙĪ Ø¬", + "ÏĦ ÏĮ", + "e bilir", + "eb ilir", + "Ġt iếp", + "Ġti ếp", + "Ġtiế p", + "é ¤", + "Ġ ä¸Ģ", + "Ġä¸ Ģ", + "ĠÑģ ÑĢед", + "ë Ĥ¨", + "ëĤ ¨", + "ε Ïģι", + "εÏģ ι", + "ا Ø«", + "Ø§Ø «", + "Ñģ ов", + "Ñģо в", + "Ïĩ ε", + "Ġ ë¶Ħ", + "Ġë¶ Ħ", + "Ġta ké", + "Ġtak é", + "Ġd üz", + "Ġdü z", + "Ġ íıī", + "Ġíı ī", + "Ġ اص", + "Ġا ص", + "ĠØ§Ø µ", + "ĠÏĥ ÏĦην", + "ĠÏĥÏĦη ν", + "ë° Ķ", + "Ġh á»Ļi", + "Ġhá»Ļ i", + "ر Ùĩ", + "ب ÛĮ", + "в е", + "Ġا ÙĦØ·", + "ĠاÙĦ Ø·", + "Ġ ÑĢез", + "ĠÑĢ ÐµÐ·", + "ĠÑĢе з", + "ب ار", + "با ر", + "Ġgi ải", + "Ġgiả i", + "ãģ« ãģª", + "ol eÄį", + "ole Äį", + "ठł", + "; :", + "ä½ ı", + "Ú© Ùĩ", + "Ġ Φ", + "ĠÎ ¦", + "Ġ ÑĥÑĩ", + "ĠÑĥ Ñĩ", + "âĹı âĹı", + "ู à¸ģ", + "à¥ĩ व", + "à¥ĩठµ", + "Ïĥ α", + "Ġ اÙĨت", + "Ġا ÙĨت", + "ĠاÙĨ ت", + "Ġв п", + "Ġqu ả", + "e nin", + "en in", + "eni n", + "Ġ êµIJ", + "Ġêµ IJ", + "μ ά", + "Ú© ت", + "ÙĤ Ùĩ", + "Ġ Türkiye", + "ĠTür kiye", + "ĠTürk iye", + "Ġth ức", + "Ġthứ c", + "íĹ ĺ", + "iá»ĩ m", + "Ġत à¤ķ", + "Ġ éĩ", + "Ġé ĩ", + "़ ा", + "ĠØ£ ÙĪ", + "á le", + "ál e", + "ç© ¶", + "ĠÅŁ ekil", + "ĠÅŁek il", + "к ого", + "ко го", + "ког о", + "ÑĪ Ð¸Ñħ", + "ÑĪи Ñħ", + "ا ÛĮØ´", + "اÛĮ Ø´", + "ت ÙĨ", + "н ей", + "не й", + "à¸Ĺ ำ", + "Ġ Ñıв", + "ĠÑı в", + "ر Ùħ", + "Ġm áy", + "Ġmá y", + "ห ม", + "ı yla", + "ıy la", + "Ġc ầu", + "Ġд об", + "Ġдо б", + "Ġ ìŀ¥", + "Ġìŀ ¥", + "o vý", + "ov ý", + "ι κÏĮ", + "ικ ÏĮ", + "Ġ ãħĩ", + "Ġãħ ĩ", + "Ġ ÑĤеÑĢ", + "ĠÑĤ еÑĢ", + "ĠÑĤе ÑĢ", + "Į Ĵ", + "س ÙĬ", + "Ġol uÅŁ", + "Ġb yla", + "Ġby la", + "Ġbyl a", + "ع ÙĦ", + "Ġ ÙĥاÙĨ", + "ĠÙĥ اÙĨ", + "б оÑĢ", + "бо ÑĢ", + "ì² Ń", + "ãĥ ı", + "u bl", + "ub l", + "Ġ اخ", + "Ġا Ø®", + "ĠØ§Ø ®", + "ÙĦ ÙĪØ¯", + "ÙĦÙĪ Ø¯", + "ت ÙĬ", + "l adı", + "la dı", + "lad ı", + "Ġ Ã¶ÄŁ", + "Ġö ÄŁ", + "r uh", + "ru h", + "ç ¿", + "Ġ بعد", + "Ġب عد", + "Ġبع د", + "ÎĻ Îij", + "i dir", + "id ir", + "idi r", + "ãģ« ãģ¯", + "Ġs öy", + "Ġsö y", + "Ġkh ách", + "Ġkhác h", + "Ġkhá ch", + "ÑĨ е", + "Ġ Ø´ÙĪØ¯", + "ĠØ´ ÙĪØ¯", + "ĠØ´ÙĪ Ø¯", + "ç ¸", + "Ġ ëħ¸", + "Ġëħ ¸", + "ú p", + "Ġn eden", + "Ġne den", + "Ġned en", + "Ġh óa", + "Ġà¤ī प", + "Ïĥ ειÏĤ", + "Ïĥει ÏĤ", + "æĪ ¿", + "Ġ ³³", + "ĠÂł Âł", + "Ġ ìķĮ", + "Ġì ķĮ", + "Ġìķ Į", + "à¥Ģ ,", + "´ ij", + "ê u", + "ÑĢ Ð¾Ðº", + "ÑĢо к", + "à¹Ģ à¸Ī", + "à¹ĢภĪ", + "Ġε ίναι", + "Ġ بÙĦ", + "Ġب ÙĦ", + "Ġ Ñģов", + "ĠÑģ ов", + "ĠÑģо в", + "Ġö nem", + "Ġön em", + "Ġöne m", + "Ġ à¸ĭ", + "Ġภĭ", + "ì§Ģ ë§Į", + "å® ĺ", + "ê² ©", + "ìĦ Ŀ", + "Ġ až", + "Ġa ž", + "Ġd uy", + "Ġdu y", + "ãģ¨ ãģĦ", + "Ø Ľ", + "δ ο", + "θ ε", + "Ùĥ اÙĨ", + "ठ¢", + "ा à¤ĵ", + "ाठĵ", + "Ġd á»ĭch", + "Ġdá»ĭ ch", + "á»Ļ ng", + "á»Ļn g", + "ส ำ", + "Ä ı", + "Ġ ÑĹÑħ", + "ĠÑĹ Ñħ", + "α λ", + "e Äį", + "ç² ¾", + "Ġ зв", + "Ġз в", + "èĩª å·±", + "Ġ اÙĦÙĦÙĩ", + "ĠاÙĦ ÙĦÙĩ", + "ĠاÙĦÙĦ Ùĩ", + "Ġ СÑĤ", + "ĠС ÑĤ", + "Ġ سÙĨÚ¯", + "Ġس ÙĨÚ¯", + "ĠسÙĨ Ú¯", + "Ġ дом", + "Ġд ом", + "Ġдо м", + "г оÑĤов", + "го ÑĤов", + "гоÑĤ ов", + "п овÑĸд", + "пов Ñĸд", + "по вÑĸд", + "Ġ Bá»Ļ", + "ĠB á»Ļ", + "à¥įय à¤ķ", + "Ø· Ø©", + "м ов", + "мо в", + "à¸Ĺ าà¸ĩ", + "ึ à¸ģ", + "Ġ Ñĸз", + "ĠÑĸ з", + "à¥ĭ à¤ľ", + "Ġgö ster", + "Ġ باشد", + "Ġبا شد", + "Ġباش د", + "i leri", + "il eri", + "ile ri", + "iler i", + "ĠÑģ еб", + "Ñī о", + "Ġãħĩ ãħĩ", + "ب ت", + "Ñģ е", + "à¥ĩ à¤ľ", + "à¥ĩठľ", + "Ġl ên", + "Ġ تÙĪ", + "Ġت ÙĪ", + "Ñĸ ÑģÑĤÑĮ", + "ÑĸÑģ ÑĤÑĮ", + "ÑĸÑģÑĤ ÑĮ", + "ï¾Ĩ ï¾Ĩ", + "Ġth ưá»Ŀng", + "Ġol duÄŁu", + "Ġoldu ÄŁu", + "ĠolduÄŁ u", + "v ÄĽt", + "vÄĽ t", + "ìĨ į", + "ãģĿ ãģĨ", + "Ġ ìĦ±", + "ĠìĦ ±", + "ë° ľ", + "Ġ à¸ģาร", + "Ġà¸ģ าร", + "Ġ Ø´Ùĩر", + "ĠØ´ Ùĩر", + "ĠØ´Ùĩ ر", + "s led", + "sl ed", + "ả nh", + "ản h", + "æŀ Ĺ", + "l acak", + "la cak", + "lac ak", + "Ġm ình", + "Ú© ÛĮ", + "Ġ à¹ĥà¸Ļ", + "Ġd ùng", + "Ġdù ng", + "Ġм аÑģ", + "Ġма Ñģ", + "ÑĦ ек", + "æ° Ķ", + "é §", + "Ġ اØŃ", + "Ġا ØŃ", + "ĠØ§Ø Ń", + "èµ °", + "ÎĻ Îļ", + "à¥ĩ ।", + "ÑģÑĮ ка", + "ÑģÑĮк а", + "Ġ ÑĩаÑģÑĤ", + "ĠÑĩ аÑģÑĤ", + "ĠÑĩа ÑģÑĤ", + "ĠÑĩаÑģ ÑĤ", + "lar ının", + "ların ın", + "larını n", + "Ġ ê¹Ģ", + "Ġê¹ Ģ", + "ì¸ µ", + "н ими", + "ни ми", + "ним и", + "èª ŀ", + "åĢ ĭ", + "Ġ êµŃ", + "Ġêµ Ń", + "к оÑĢ", + "ко ÑĢ", + "m aya", + "ma ya", + "may a", + "ิ à¹Ĥà¸Ļ", + "ิà¹Ĥ à¸Ļ", + ". ศ", + "Ġh á»ĩ", + "Ġhá» ĩ", + "Ġ تÙĤ", + "Ġت ÙĤ", + "γ κ", + "Ġà¤Ĩप à¤ķ", + "Ñģ ÑĤоÑĢ", + "ÑģÑĤ оÑĢ", + "ĠÄij o", + "Ġch á»§", + "ا ÛĮت", + "اÛĮ ت", + "ĠQu á»ijc", + "г лÑı", + "гл Ñı", + "ãĢĤ ãĢįĊĊ", + "ãĢĤãĢį ĊĊ", + "Ġn Ãło", + "à¸Ń ล", + "æĬ Ĭ", + "ÙĪ Ø±Øª", + "ÙĪØ± ت", + "Ġb ude", + "Ġbu de", + "Ġbud e", + "æĽ ¸", + "e lik", + "el ik", + "eli k", + "Ġ جÙĩ", + "Ġج Ùĩ", + "ĠبÙĪ Ø§Ø¨Ø©", + "èĬ ±", + "د ار", + "دا ر", + "Ġb ýt", + "Ġbý t", + "Ñĩ е", + "ãĤĵ ãģł", + "ĠÙħ Ø·", + "l ere", + "le re", + "ler e", + "ÎĹ Î£", + "íĺ ķ", + "âĸ į", + "ÄŁ u", + "Ġв з", + "ÙĬ ز", + "ĠÐł оÑģ", + "íĭ °", + "Ġد اش", + "ì§ ij", + "a tı", + "at ı", + "m esi", + "me si", + "mes i", + "ãĤī ãĤĮ", + "ů v", + "r át", + "rá t", + "оÑģ об", + "åIJ Ħ", + "uy á»ĩn", + "uyá»ĩ n", + "åģ ļ", + "ü st", + "üs t", + "éĩ İ", + "α Ïĥ", + "Ġm ặt", + "е лов", + "ел ов", + "ело в", + "åį ļ", + "д ж", + "Ġد ارد", + "Ġدار د", + "Ġf ark", + "Ġfa rk", + "Ġfar k", + "à¹ī วย", + "à¹īว ย", + "о ни", + "он и", + "Ġب Ø®", + "à¥ģ त", + "à¥ģठ¤", + "ĠÄij ây", + "α Ïģα", + "αÏģ α", + "Ġ δια", + "Ġδ ια", + "Ġδι α", + "Ġ è¯", + "Ġè ¯", + "к аÑħ", + "ка Ñħ", + "ch áz", + "z enÃŃ", + "ze nÃŃ", + "zen ÃŃ", + "ÑĢ Ð¾Ð¿", + "ÑĢо п", + "à¥Ģ म", + "í Ĩµ", + "íĨ µ", + "d ü", + "à¸ł าà¸ŀ", + "Ġ íĬ", + "Ġí Ĭ", + "ÙĪ Ø§", + "Ġt á»ijt", + "Ġtá»ij t", + "ï¼Ł ãĢįĊĊ", + "ï¼ŁãĢį ĊĊ", + "Ġ æľĪ", + "Ġnh ưng", + "Ġnhư ng", + "Ġne ž", + "à¥ĭ ड", + "ìĹIJ ê²Į", + "à¤Ĥ ड", + "¶ Į", + "Ġ меÑģÑĤ", + "Ġм еÑģÑĤ", + "ा à¤ģ", + "ाठģ", + "ì¦ Ŀ", + "ĠÄij ang", + "ĠÄija ng", + "à¸Ń à¸Ķ", + "í ĽĦ", + "á»į i", + "sk ého", + "ské ho", + "Ġд ок", + "Ġдо к", + "Ġ تص", + "Ġت ص", + "Ġph òng", + "Ġ ê°ķ", + "Ġê° ķ", + "Ġtr Æ°á»Ľc", + "í ijľ", + "Ù Ķ", + "Ġph ÃŃ", + "Ġch á»įn", + "ä¹ IJ", + "ĠÅŁek ilde", + "ĠÅŁekil de", + "Ġ íİ", + "Ġí İ", + "é º", + "ë £¨", + "ë£ ¨", + "à¥Ī ।Ċ", + "à¥Ī। Ċ", + "ÙĪ Ø±ÛĮ", + "ÙĪØ± ÛĮ", + "Ñģ ÑĤÑĢа", + "ÑģÑĤ ÑĢа", + "ÑģÑĤÑĢ Ð°", + "il di", + "ild i", + "Ġα Ïħ", + "в аннÑı", + "ван нÑı", + "ìļ ¸", + ". âĢľĊĊ", + ".âĢľ ĊĊ", + "ĠÑĤак же", + "ëĵ ±", + "е ка", + "ек а", + "æī į", + "Ùħ Ø©", + "Ġph ương", + "é© ¬", + "ãĢĢ ĠãĢĢ", + "ãĢĢĠ ãĢĢ", + "ov ých", + "ový ch", + "ี ยà¸ĩ", + "ีย à¸ĩ", + "ĠT ru", + "ĠTr u", + "е Ñģп", + "еÑģ п", + "st up", + "stu p", + "Ä Į", + "Ġdal Å¡ÃŃ", + "ز ÛĮ", + "Ġ 매", + "Ġë§ ¤", + "Ġ обÑĢаз", + "Ġоб ÑĢаз", + "ĠобÑĢа з", + "Ġaç ık", + "Ġaçı k", + "ê° ķ", + "Ùģ Ø§Ø¯Ùĩ", + "Ú¯ اÙĨ", + "à¹ī à¸Ļ", + "ẩ n", + "å·¥ ä½ľ", + "Ġ तर", + "Ġत र", + "ÙĬ ع", + "Ġ ãĢĬ", + "ĠãĢ Ĭ", + ", âĢľ", + "Ġ nev", + "Ġn ev", + "Ġne v", + "ั à¸į", + "ÄŁ ını", + "ģın ı", + "Ġ jin", + "Ġj in", + "Ġji n", + "ا خت", + "اخ ت", + "س ر", + "Ġt Ãłi", + "Ġkter á", + "Ġا ÙĦÙĦ", + "ĠاÙĦ ÙĦ", + "ठħ", + "iz met", + "izm et", + "à¥ģ म", + "à¥ģठ®", + "า ะ", + "าภ°", + "Ġ ê·", + "Ġê ·", + "l ıģı", + "lı ģı", + "lıģ ı", + "çı ¾", + "li ÄŁi", + "liÄŁ i", + "êµ °", + "a lık", + "al ık", + "alı k", + "Ġد ÙĪØ±", + "ĠدÙĪ Ø±", + "Ġ ìĭ¤", + "Ġìĭ ¤", + "Ġз аÑģ", + "Ġза Ñģ", + "ÙĤ ÙĬ", + "Ġ ứng", + "Ġ ÙĥÙĩ", + "ĠÙĥ Ùĩ", + "ÎŁ Σ", + "ÎŁÎ £", + "è¨ Ń", + "ç Į", + "ãģĦ ãģŁ", + "íĺ Ħ", + "Ġ ÑĤе", + "ĠÑĤ е", + "е ÑĢÑĸ", + "еÑĢ Ñĸ", + "s ız", + "sı z", + "Ġ ý", + "Ġà ½", + "д ов", + "до в", + "Ġ à¤ĩसà¤ķ", + "Ġà¤ĩस à¤ķ", + "г од", + "го д", + "Ġby lo", + "Ġbyl o", + "าà¸Ħ ม", + "е нием", + "ен ием", + "ени ем", + "ение м", + "Ð ¨", + "æľ ¯", + "Ġप हल", + "Ġपह ल", + "Ġ aÅŁ", + "Ġa ÅŁ", + "ि à¤ľ", + "िठľ", + "åĵ ¡", + "в аÑĢ", + "ва ÑĢ", + "à¹ī ำ", + "â ĮĴ", + "ov án", + "ová n", + "Ġgi úp", + "Ð ¥", + "ĠÑģ Ñĥд", + "ĠÑģÑĥ д", + "Ġà¤ķ म", + "ạ m", + "ر س", + "Ġ 人", + "Ġ بÛĮ", + "Ġب ÛĮ", + "Ġà¤īन à¤ķ", + "ë¦ ½", + "áºŃ y", + "Ġv áºŃt", + "л ÑıеÑĤÑģÑı", + "лÑı еÑĤÑģÑı", + "лÑıеÑĤ ÑģÑı", + "Ġs eç", + "Ġse ç", + "Ġ ì½", + "Ġì ½", + "ÑĢ Ñĥж", + "ÑĢÑĥ ж", + "ت ص", + "| :", + "Ġ ëł", + "Ġë ł", + "и ми", + "им и", + "Ġ лÑİб", + "ĠлÑİ Ð±", + "Ġ à¸ľ", + "Ġภľ", + "ï¼Į ä½Ĩ", + "Ġ нав", + "Ġн ав", + "Ġна в", + "âĢ ¬", + "à¹Ī าย", + "à¹Īา ย", + "Ġ رس", + "Ġر س", + "s iniz", + "sin iz", + "ë ¨", + "е ниÑİ", + "ен иÑİ", + "ени Ñİ", + "Ġ ล", + "Ġภ¥", + "ا سÛĮ", + "اس ÛĮ", + "ॠľ", + "ĠÙ¾ ÛĮØ´", + "ĠÙ¾ÛĮ Ø´", + "ί δ", + "Ġ Ù¾ÛĮ", + "ĠÙ¾ ÛĮ", + "еÑĢж ав", + "ठĨ", + "ĠdÃ¼ÅŁ ün", + "å¿ «", + "ÑĢ ÐµÑģ", + "ÑĢе Ñģ", + "åħ «", + "ÑĤ Ñĸ", + "ि à¤Ł", + "िठŁ", + "Ġ ÑĤеÑħ", + "ĠÑĤ еÑħ", + "ĠÑĤе Ñħ", + "ú t", + "ÙĨ Ùĩ", + "Ġ ÙĨØ´", + "ĠÙĨ Ø´", + "çĻ º", + "Ġ ê°¤", + "Ġê° ¤", + "л ед", + "ле д", + "Ġ ëĵ¤", + "Ġëĵ ¤", + "Ġbi lg", + "Ġbil g", + "Ġsp oleÄį", + "Ġspol eÄį", + "Ġspole Äį", + "ĠÄij Æ¡n", + "Ġ à¤īत", + "Ġà¤ī त", + "Ġtr á»ĭ", + "Ġ عÙħ", + "Ġع Ùħ", + "Ġ ।", + "Ġà ¥¤", + "Ġॠ¤", + "Ġú Äį", + "ãģ ¸", + "ว à¸ģ", + "ĠÑģл ÑĥÑĩа", + "ĠÑģлÑĥÑĩ а", + "ĠÑģлÑĥ Ñĩа", + "á» įng", + "á»į ng", + "á»įn g", + "åı Ī", + "и ÑĤÑĥ", + "иÑĤ Ñĥ", + "æľī éĻIJ", + "ë¦ °", + "ëĭ ĺ", + "Ġho ạt", + "ĠìĿ´ ëıĻ", + "з наÑĩ", + "зна Ñĩ", + "зн аÑĩ", + "Ġاست ÙģØ§Ø¯Ùĩ", + "ĠпÑĢо ÑĨеÑģ", + "ĠпÑĢоÑĨ еÑģ", + "an ın", + "anı n", + "г Ñĥ", + "Ġ اÙĦØ«", + "ĠاÙĦ Ø«", + "æĹ¥ æľ¬", + "ι κά", + "ικ ά", + "ĠÑĹ ÑĹ", + "ì§ ģ", + "i nu", + "in u", + "Ġس از", + "ãĤ ¡", + "ï¾ ī", + "Ġ اÙĤ", + "Ġا ÙĤ", + "Ġk ế", + "ů sob", + "à¹ĩ à¸ģ", + "åIJ §", + "æ¼ Ķ", + "Ñī ие", + "Ñīи е", + "ç Ĩ", + "ÑĮ ого", + "à¥ĭ à¤Ł", + "ا Ù¾", + "ا٠¾", + "å ®¤", + "å® ¤", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "Ġtr iá»ĥn", + "Ġtri á»ĥn", + "Ġt áºŃp", + "é£ Ł", + "ë ¹", + "ĠÑĩеÑĢ ÐµÐ·", + "Ġ ÑĨи", + "ĠÑĨ и", + "Ñģ Ñĥ", + "Ġ нем", + "Ġн ем", + "Ġне м", + "Ġ аÑĢ", + "Ġа ÑĢ", + "Ġ ÙĦا", + "ĠÙĦ ا", + "Ġ ì§Ħ", + "Ġì§ Ħ", + "ç Ł³", + "çŁ ³", + "Ġп ÑĢоб", + "ĠпÑĢ Ð¾Ð±", + "ĠпÑĢо б", + "Ġ ìĽIJ", + "ĠìĽ IJ", + "ÛĮ ÙĨÛĮ", + "ÛĮÙĨ ÛĮ", + "Ñİ Ñĩи", + "âĢ į", + "Û± Û³", + "Û±Û ³", + "ã Ĥ¬", + "ãĤ ¬", + "çłĶ ç©¶", + "í Ĥ¤", + "íĤ ¤", + "Ġger çek", + "Ġgerç ek", + "ĠØŃ س", + "íĶ ¼", + "èĤ ¡", + "Ġ ÏĦι", + "ĠÏĦ ι", + "ĠvÅ¡ ech", + "ĠvÅ¡e ch", + "Ġv ì", + "ا ÙĨÙĬ", + "اÙĨ ÙĬ", + "ĠÙĩ ست", + "Ġ ëĤ¨", + "Ġë Ĥ¨", + "ĠëĤ ¨", + "ÅĻ ej", + "ÅĻe j", + "е ÑĢг", + "еÑĢ Ð³", + "Ġs öz", + "Ġsö z", + "ĠاÙĦ Ùħت", + "ĠاÙĦÙħ ت", + "Ġch ế", + "á»ĵ i", + "åı ¤", + "âĸį âĸį", + "á»ĵ ng", + "á»ĵn g", + "ãĥ ¢", + "Ġ ди", + "Ġд и", + "ε λ", + "Ġ она", + "Ġо на", + "Ġон а", + "Ġ най", + "Ġн ай", + "Ġна й", + "Ġ _{", + "Ġ_ {", + "п ол", + "по л", + "al iz", + "ali z", + "Ġt Äĥng", + "Ġ dÃŃ", + "Ġd ÃŃ", + "é p", + "Ġ ÙĦÙħ", + "ĠÙĦ Ùħ", + "Ġm ož", + "Ġmo ž", + "Ġng oÃłi", + "è Ĺ", + "Ġ Ñĩем", + "ĠÑĩ ем", + "ĠÄij á»ķ", + "ĠÄijá» ķ", + "е ÑĤа", + "еÑĤ а", + "åı ²", + "ĠÑģ каз", + "ĠÑģк аз", + "ĠÑģка з", + "ãĤ¿ ãĥ¼", + "а нÑĮ", + "ан ÑĮ", + "Ġg öz", + "Ġgö z", + "ë³ Ħ", + "ãģĭ ãģ£ãģŁ", + "Ġ ëįĶ", + "Ġëį Ķ", + "ĠÙĨ ÙĤ", + "Ġ ÑĥÑĩа", + "ĠÑĥ Ñĩа", + "ĠÑĥÑĩ а", + "Ġsa hip", + "Ġsah ip", + "ĠÑģ пе", + "ĠÑģп е", + "ί οÏħ", + "ίο Ïħ", + "ì ½Ķ", + "ì½ Ķ", + "Ġ ëĪ", + "Ġë Ī", + "m am", + "ma m", + "Ġr oce", + "Ġro ce", + "Ġroc e", + "Ġ ÙĨاÙħ", + "ĠÙĨ اÙħ", + "еÑĢ Ð°ÑĤÑĥ", + "еÑĢа ÑĤÑĥ", + "ı p", + "ãģĦ ãģ¦", + "Ġ íķĻ", + "Ġíķ Ļ", + "Ġ à¤ĩन", + "Ġà¤ĩ न", + "å ©", + "Ġnh iên", + "a tır", + "at ır", + "atı r", + "ÅĻ enÃŃ", + "ÅĻe nÃŃ", + "ÅĻen ÃŃ", + "د Ø©", + "ãĥª ãĥ¼", + "ล à¸ĩ", + "Ġ éĢ", + "Ġé Ģ", + "Ġ à¹Ģà¸Ľ", + "Ġà¹Ģ à¸Ľ", + "Ġà¹ĢภĽ", + "д Ñĸ", + "ÎŃ Ïģ", + "ìĦ ¤", + "г ÑĢа", + "es ine", + "esi ne", + "esin e", + "Ġ ее", + "Ġе е", + "Ġ iki", + "Ġi ki", + "Ġik i", + "Ġت ج", + "lar ına", + "ları na", + "ların a", + "d ür", + "dü r", + "ĠاÙĦ ذ", + "Ùħ ت", + "ĠठIJ", + "ि द", + "िठ¦", + "Ġ ë¹", + "Ġë ¹", + "ÑĦоÑĢм а", + "ÑĦоÑĢ Ð¼Ð°", + "Ġ они", + "Ġо ни", + "Ġон и", + "г оÑĢ", + "го ÑĢ", + "н еÑģ", + "не Ñģ", + "ìĺĢ ëĭ¤", + "ıl dı", + "Ġ çek", + "Ġç ek", + "Ġ дов", + "Ġд ов", + "Ġдо в", + "د ÛĮ", + "Ġ ÄĮesk", + "ĠÄĮ esk", + "ĠÄĮes k", + "ÑĪ Ð°", + "Ġ ات", + "Ġا ت", + "ĠØ§Ø ª", + "å± ĭ", + "æĸ ¼", + "Ġ práv", + "Ġp ráv", + "Ġpr áv", + "Ġprá v", + "é mu", + "ém u", + "å¸ Ī", + "ãħĭ ãħĭ", + "Ġil gili", + "Ġilg ili", + "Ġilgi li", + "ห ว", + "ठĩ", + "ा ष", + "ाठ·", + "ëŀ ij", + "as yon", + "asy on", + "ÑĨ ÑĮ", + "à¹ģ à¸ķ", + "ợ i", + "Ġв ÑĭÑģ", + "ĠвÑĭ Ñģ", + "ÑĸлÑĮ ки", + "ĠкоÑĤоÑĢ Ñĭе", + "н ики", + "ни ки", + "ник и", + "Ġ اد", + "Ġا د", + "ĠØ§Ø ¯", + "Ġ živ", + "Ġž iv", + "Ġži v", + "Ġα ÏĢο", + "ĠαÏĢ Î¿", + "ر ض", + "ا Ø©", + "Ø§Ø ©", + "Ġk dyž", + "Ġkdy ž", + "ữ a", + "Ġ ëĮĢíķľ", + "ĠëĮĢ íķľ", + "Ġt ôi", + "Ġtô i", + "Ñĥ ÑĶ", + "ز ر", + "Ġ å¥", + "Ġå ¥", + "ãĥĭ ãĥĭ", + "ب Ø©", + "ÏĦ οÏĤ", + "ÏĦο ÏĤ", + "ÑĨи он", + "Ġ ÙħÙĬ", + "ĠÙħ ÙĬ", + "Ġ Äĥn", + "ĠÄ ĥn", + "à¥ĩ à¤Ĺ", + "à¥ĩठĹ", + "Ġ ÑĢег", + "ĠÑĢ ÐµÐ³", + "ĠÑĢе г", + "ĠlỼ n", + "ì¤ Ģ", + "ìĭ ¬", + "Ġb iết", + "Ġbi ết", + "a ları", + "al arı", + "ala rı", + "alar ı", + "Ùģ ÙĬ", + "ä¸ĸ çķĮ", + "Ġне обÑħодим", + "Ġнеоб Ñħодим", + "à¸Ļ ว", + "ν ÏĦ", + "Ġ ảnh", + "íĸ Ī", + "Ġ वर", + "Ġव र", + "h led", + "hl ed", + "hle d", + "ิ à¸Ī", + "æŃ »", + "ĠاÙĦ تÙĬ", + "ĠاÙĦت ÙĬ", + "н оÑģ", + "но Ñģ", + "p rav", + "pr av", + "pra v", + "Ñı ÑĤи", + "ÑıÑĤ и", + "Ñī а", + "ÙĪ ÙĨÙĩ", + "ÙĪÙĨ Ùĩ", + "Ġ aÄŁ", + "Ġa ÄŁ", + "à¸ŀ ระ", + "à¸ŀร ะ", + "Ġth á»ijng", + "Ġthá» ijng", + "ÑĦ и", + "Ġг олов", + "Ġгол ов", + "Ġk hoa", + "Ġkh oa", + "Ġkho a", + "Ġ ëłĪ", + "Ġëł Ī", + "ãģ Ĵ", + "Ġget ir", + "Ġge tir", + "Ø´ ت", + "ж еннÑı", + "жен нÑı", + "е нÑĸ", + "ен Ñĸ", + "Ġgi ữ", + "Ġgiá» ¯", + "ler inin", + "leri nin", + "lerin in", + "lerini n", + "à¥Ģ व", + "éģ ¸", + "स र", + "ĠÑĩ елов", + "à¥į à¤ľ", + "à¥įठľ", + "ĠбÑĥ ло", + "Ġ اÙĨد", + "Ġا ÙĨد", + "ĠاÙĨ د", + "ั à¸Ļà¸Ĺ", + "ัà¸Ļ à¸Ĺ", + "è® ©", + "Ġq uyá»ģn", + "Ġquy á»ģn", + "ĠØŃ اÙĦ", + "ì² ĺ", + "Ġ лÑİд", + "ĠлÑİ Ð´", + "Ïģ Ïĩ", + "алÑĮ но", + "ãĢĢ ãĥ½", + "ê¸ ī", + "ãĤ ±", + "ĠÙħ رد", + "ĠÙħر د", + "Ġ ông", + "Ġô ng", + "Ġ اش", + "Ġا Ø´", + "ĠØ§Ø ´", + "大 åѦ", + "ì¦ Ī", + "æĪ ¦", + "e yi", + "ey i", + "Ġ ÐIJн", + "ĠÐIJ н", + "ि प", + "िठª", + "Ġt iêu", + "Ġti êu", + "Ø´ ÛĮ", + "ắ n", + "é ŃĶ", + "éŃ Ķ", + "ãģ¨ ãģĦãģĨ", + "ãģ¨ãģĦ ãģĨ", + "Ġ ìłĢ", + "Ġì łĢ", + "Ġìł Ģ", + "к ÑĤи", + "кÑĤ и", + "Ġ ÙħØŃÙħد", + "ĠÙħØŃ Ùħد", + "Ġ íĨµ", + "Ġí Ĩµ", + "ĠíĨ µ", + "ุ ม", + "åį ¡", + "о ÑĢов", + "оÑĢ Ð¾Ð²", + "оÑĢо в", + "к оÑİ", + "ко Ñİ", + "Ġl á»±c", + "å³ ¶", + "Ġ رÙĪØ²", + "Ġر ÙĪØ²", + "ĠرÙĪ Ø²", + "Ñħ Ñĸд", + "Ġh á»ĵ", + "Ġhá» ĵ", + "Ġ ül", + "Ġü l", + "Ġ Ø´Ùħ", + "ĠØ´ Ùħ", + "ÙĨ س", + "ب ÙĪ", + "Ġth êm", + "ạ c", + "åº ľ", + "e chn", + "ec hn", + "ech n", + "Ġ Îļα", + "ĠÎļ α", + "èij Ĺ", + "çľ ¼", + "á h", + "Ġ ι", + "ĠÎ ¹", + "ê¹Į ì§Ģ", + "m az", + "ma z", + "λο γ", + "Ġjs me", + "Ġ á¼", + "Ġá ¼", + "Ġп ÑĢави", + "ĠпÑĢ Ð°Ð²Ð¸", + "ĠпÑĢав и", + "ĠпÑĢа ви", + "к лад", + "Ġth á»§", + "Ġthá» §", + "s ah", + "sa h", + "ÄŁ it", + "ÄŁi t", + "Ġ ÙģÛĮ", + "ĠÙģ ÛĮ", + "ен но", + "à¥ģ à¤Ľ", + "à¥ģठĽ", + "ãģ »", + "çĻ ¾", + "и ÑĤа", + "иÑĤ а", + "ĠбÑĭ ло", + "ĠбÑĭл о", + "Ġv ys", + "Ġvy s", + "Ġ ì¶ľ", + "Ġì¶ ľ", + "ắ ng", + "ắn g", + "ĠÄij ại", + "ĠÙħ ÙĪØ±Ø¯", + "ĠÙħÙĪ Ø±Ø¯", + "ĠÙħÙĪØ± د", + "е ла", + "ел а", + "Ñĸ ÑĪ", + "л еннÑı", + "лен нÑı", + "æ IJ", + "Ġ нед", + "Ġн ед", + "Ġне д", + "i yat", + "iy at", + "iya t", + "ì ¼", + "Ġol duÄŁunu", + "ĠolduÄŁ unu", + "ĠolduÄŁu nu", + "د اÙĨ", + "دا ÙĨ", + "í Ŀ", + "Ġ سÛĮ", + "Ġس ÛĮ", + "ี à¸ģ", + "ÄĽ st", + "ım ı", + "ä¸ī ä¸ī", + "ãĤ ½", + "ĠÑĤ еп", + "ĠÑĤе п", + "Ġ ÑĢай", + "ĠÑĢ Ð°Ð¹", + "ĠÑĢаР¹", + "ĠÑĢа й", + "ा ध", + "ाठ§", + "Ġ ìĤ¬ëŀĮ", + "ĠìĤ¬ ëŀĮ", + "ĠT rung", + "ĠTr ung", + "ĠTru ng", + "ï¼ı ï¼ı", + "Ġt âm", + "Å¡ enÃŃ", + "Å¡e nÃŃ", + "Å¡en ÃŃ", + "ãĥ į", + "Ġ ÏĦοÏħÏĤ", + "ĠÏĦ οÏħÏĤ", + "ĠÏĦοÏħ ÏĤ", + "Ġ нÑĸ", + "Ġн Ñĸ", + "в ид", + "ви д", + "æ ¿", + "Ġ ظ", + "ĠØ ¸", + "ãĥ ¯", + "ì ¢ħ", + "ì¢ ħ", + "в аÑĤи", + "ва ÑĤи", + "ваÑĤ и", + "Ġqu á", + "ภ¤", + "ĠÄij ưá»Ŀng", + "à¥ģ द", + "à¥ģठ¦", + "r oj", + "ro j", + "Ġ ÑĥÑģ", + "ĠÑĥ Ñģ", + "é¦ Ļ", + "ì½ ĺ", + "Ġ ÙĪØª", + "ĠÙĪ Øª", + "ม าà¸ģ", + "มา à¸ģ", + "åĪ ĩ", + "Ġ án", + "Ġá n", + "Ġм ед", + "ìĹIJ ëĬĶ", + "Ġh lav", + "Ġhl av", + "ر ت", + "à¹ĥ à¸Ī", + "æ´ ²", + "Ġ лÑĸ", + "Ġл Ñĸ", + "æ Īĺ", + "æĪ ĺ", + "ÙĪ ÙĨد", + "ÙĪÙĨ د", + "è¶ ³", + "åĭ Ļ", + "çĶ ³", + "Ġ ì±", + "Ġì ±", + "ĠìĿ´ëıĻ íķ©ëĭĪëĭ¤", + "Ñī еÑģÑĤв", + "Ñīе ÑģÑĤв", + "Ġ ë¶Ī", + "Ġë ¶Ī", + "Ġë¶ Ī", + "ÙĦ ÙĪ", + "ü ven", + "èĪ ĩ", + "Ġgi Ỽi", + "Ġgiá» Ľi", + "Ġ ÙĪÙĤ", + "ĠÙĪ ÙĤ", + "Ġê°¤ ë¡ľê·¸", + "Ġ عاÙħ", + "Ġع اÙħ", + "ĺ IJ", + ": ::::", + ":: :::", + ":::: :", + "::: ::", + "Ġ Ñĥд", + "ĠÑĥ д", + "- ÑĤо", + "-ÑĤ о", + "Ġ ÑĦоÑĢ", + "ĠÑĦ оÑĢ", + "и ни", + "ин и", + "ãģĹ ãģĦ", + "ãģĹãģ Ħ", + "Ġê°¤ë¡ľê·¸ ë¡ľ", + "ãģ ³", + "ãĥ© ãĤ¤", + "e ná", + "en á", + "Ġ nez", + "Ġn ez", + "Ġne z", + "Ġönem li", + "Ġ ниÑħ", + "Ġн иÑħ", + "Ġни Ñħ", + "à¤Ĥ स", + "Ġà¤īस à¤ķ", + "à¥įर द", + "Ġn ói", + "Ġnó i", + "Ùĥ ÙĦ", + "ิ ว", + "κ ο", + "à¥ģ à¤ĸ", + "à¥ģठĸ", + "ö yle", + "öy le", + "ά λ", + "ó ng", + "ón g", + "ĠداÙĨ Ø´", + "Ġз б", + "ì »", + "à¸ľ ล", + "ëĵ¤ ìĿ´", + "Ġe tk", + "Ġet k", + "ر ات", + "را ت", + "Ġ εκ", + "Ġε κ", + "ÑĤ ÑĢа", + "ÑĤÑĢ Ð°", + "à¥į तर", + "à¥įत र", + "à¤Ĥ ब", + "Ġм ÑĸÑģ", + "ĠмÑĸ Ñģ", + "æł ¹", + "ãĥ Ļ", + "Ġt á»ī", + "Ġtá» ī", + "à¹Ģ à¸ĭ", + "à¹Ģภĭ", + "ìĪ ł", + "ï¼Į ä¸į", + "ìĺ ¨", + "Ġm ÄĽst", + "ĠmÄĽ st", + "ģ µ", + "a zı", + "az ı", + "r ada", + "ra da", + "rad a", + "ÏĢ Î±", + "m é", + "ÙĨ اÙħÙĩ", + "ÙĨا ÙħÙĩ", + "ÙĨاÙħ Ùĩ", + "ا ÛĮÙĦ", + "اÛĮ ÙĦ", + "μ η", + "l uk", + "lu k", + "Ùĥ ÙĬ", + "Ġ ï¼ī", + "Ġï¼ ī", + "Ġ деÑĤ", + "Ġд еÑĤ", + "Ġде ÑĤ", + "Ġiç inde", + "Ġiçin de", + "Ġiçi nde", + "Ñı м", + "Ġd ưá»", + "Ġdư á»", + "ĠпÑĢед ÑģÑĤав", + "ü re", + "ür e", + "åķ Ĭ", + "ĠÑĤ ÑĢÑĥ", + "ĠÑĤÑĢ Ñĥ", + "es ini", + "esi ni", + "esin i", + "Ġ але", + "Ġа ле", + "Ġал е", + "ãĥ³ ãĥī", + "ãĥ³ãĥ ī", + "à¥ĥ त", + "ε Ïħ", + "à¥ģ à¤Ĩ", + "à¥ģठĨ", + "Ġh iç", + "Ġhi ç", + "çĶ º", + "Ġ Ðĸ", + "ĠÐ ĸ", + "ç ħ§", + "çħ §", + "k á", + "Ġtr á»įng", + "Ġ تش", + "Ġت Ø´", + "ा श", + "ाठ¶", + "ĠÙħ Ø«", + "e tim", + "et im", + "eti m", + "Ġth ấy", + "Ġब ह", + "ع ت", + "ึ à¹ī", + "Ġs ev", + "Ġse v", + "Ñģ ÑĤа", + "ÑģÑĤ а", + "Ġc ứ", + "Ġt iá»ģn", + "Ġti á»ģn", + "à¥Ģ à¤ľ", + "Ñı г", + "ĠоÑĢг ани", + "ĠоÑĢган и", + "Ġб Ñĭл", + "ĠбÑĭ л", + "t ür", + "tü r", + "Ġب ازÛĮ", + "Ġبا زÛĮ", + "Ġباز ÛĮ", + "Ġ ìŀ¬", + "Ġìŀ ¬", + "व र", + "æľīéĻIJ åħ¬åı¸", + "k up", + "ku p", + "Ġ iyi", + "Ġi yi", + "Ġiy i", + "íķĺ ê²Į", + "ãĢĢ l", + "ãĤ· ãĥ§", + "ا رة", + "ار Ø©", + "ส ร", + "Ġt ÃŃch", + "ĠtÃŃ ch", + "Ġ каÑĢ", + "Ġк аÑĢ", + "Ġка ÑĢ", + "и б", + "ĠвÑĸд повÑĸд", + "ĠвÑĸдпов Ñĸд", + "Ġpo dle", + "Ġpod le", + "à¥įर à¤ķ", + "i yon", + "iy on", + "к оном", + "ко ном", + "кон ом", + "Ġ μÎŃ", + "Ġμ ÎŃ", + "Ġп ÑĢоиз", + "ĠпÑĢо из", + "Ġ âĢı", + "ĠâĢ ı", + "m ektedir", + "mekte dir", + "Ω ÎĿ", + "Ġb áo", + "à¸Ī ำ", + "ëį Ķ", + "ë¸ Į", + "Ġs ợ", + "ÛĮ رÛĮ", + "ÛĮر ÛĮ", + "о нÑĥ", + "он Ñĥ", + "ın daki", + "ında ki", + "ınd aki", + "алÑĮ ного", + "алÑĮно го", + "μ β", + "л из", + "ли з", + "Ġjej ich", + "æĸ ½", + "ä¾ ¿", + "l eÅŁtir", + "le ÅŁtir", + "leÅŁ tir", + "ĠÙĪ Ø£", + "Ġस ब", + "l erde", + "ler de", + "Ġ ÚĨÙĩ", + "ĠÚĨ Ùĩ", + "ÏĦ ÎŃ", + "Ġg ì", + "Ġ Ãļ", + "Ġà ļ", + "ĠÑĢаÑģ п", + "ĠÑĢа Ñģп", + "Ġt üm", + "à¹Ģ à¸ĩ", + "à¹Ģภĩ", + "èIJ ½", + "ìĨ ¡", + "à¹Ħ à¸Ĺย", + "m Ä±ÅŁtır", + "mÄ±ÅŁ tır", + "mÄ±ÅŁtı r", + "Ġ ÙĤرار", + "ĠÙĤر ار", + "Ġ à¸Ħาส", + "Ġà¸Ħ าส", + "Ġk ıs", + "Ġkı s", + "о ваниÑı", + "ов аниÑı", + "ова ниÑı", + "овани Ñı", + "ован иÑı", + "ãĤĤ ãģ®", + "د اÙħ", + "دا Ùħ", + "ìľ ¡", + "ol oj", + "olo j", + "ĠпоÑģл е", + "ĠпоÑģ ле", + "Ġ Так", + "ĠТ ак", + "ĠТа к", + "Ġб олее", + "Ġбол ее", + "ĠÄij á»ķi", + "ĠÄijá»ķ i", + "l ak", + "la k", + "í ħĮ", + "íħ Į", + "Ġa yn", + "Ġay n", + "Ñı Ñģ", + "Ġп ог", + "Ġпо г", + "Ġar asında", + "Ġaras ında", + "Ġara sında", + "Ġarası nda", + "Ī ¬", + "à¥Ĥ ल", + "Ġ ανα", + "Ġα να", + "Ġαν α", + "Ġq uyết", + "Ġquy ết", + "Ġthu á»Ļc", + "Ġd ün", + "Ġdü n", + "Ġp ÅĻes", + "ĠpÅĻ es", + "ĠpÅĻe s", + "ÑĦ Ñĸ", + "Ġ å¸", + "Ġå ¸", + "ا ÙĦÙĬ", + "اÙĦ ÙĬ", + "Ġп овеÑĢ", + "Ġпо веÑĢ", + "Ġпов еÑĢ", + "Ñĩ ина", + "Ñĩи на", + "Ñĩин а", + "s ko", + "sk o", + "çµ IJ", + "Ø ¡", + "Ġ гÑĢа", + "Ġг ÑĢа", + "ĠгÑĢ Ð°", + "о ÑĤи", + "оÑĤ и", + "Ġqu á»ijc", + "ÑĨ Ñĸв", + "ÑĨÑĸ в", + "l endir", + "len dir", + "lendi r", + "в Ñĸд", + "вÑĸ д", + "Ġж иÑĤ", + "ü yor", + "üy or", + "ï¼Į ä»ĸ", + "lar ında", + "ları nda", + "ların da", + "Ġu yg", + "Ġuy g", + "Ġtr ÃŃ", + "Ġ Ø´ÙĨ", + "ĠØ´ ÙĨ", + "ا بÙĦ", + "اب ÙĦ", + "æ· ±", + "Âł p", + "Ñģ каÑı", + "Ñģк аÑı", + "Ñģка Ñı", + "о ÑĤа", + "оÑĤ а", + "ÙĪ Ø·", + "Ġ اط", + "Ġا Ø·", + "ĠØ§Ø ·", + "ä¾ Ĩ", + "Ġз аÑĤ", + "Ġза ÑĤ", + "Ġ име", + "Ġи ме", + "Ġим е", + "à¹Ģà¸Ĺ ศ", + "ëĭ ´", + "n ÄĽnÃŃ", + "nÄĽ nÃŃ", + "nÄĽn ÃŃ", + "Ñĥ лÑı", + "Ñĥл Ñı", + "- п", + "å ĺ", + "Ġв ип", + "Ġви п", + "аÑĢа кÑĤ", + "à¹Ģ à¸ļ", + "à¹Ģภļ", + "ç¦ ı", + "Ïģ Ïİ", + "س Ùĩ", + "à¥Į र", + "Ġdi ÄŁer", + "à¹Ĥ à¸Ķย", + "à¹Ĥà¸Ķ ย", + "ĠÑģп оÑģоб", + "ĠÑģпоÑģ об", + "åį ·", + "è ĸ", + "а нÑĤ", + "ан ÑĤ", + "Ñİ ÑĤÑĮÑģÑı", + "ÑİÑĤÑĮ ÑģÑı", + "ĠÑį ÑĤом", + "ĠÑįÑĤ ом", + "ĠÑįÑĤо м", + "Ġ ï½Ģ", + "Ġï½ Ģ", + "ส าม", + "ì m", + "ĠÑĪ Ðº", + "Ġ à¸Ľà¸£à¸°", + "Ġà¸Ľ ระ", + "Ġà¸Ľà¸£ ะ", + "़ à¥Ģ", + "e kl", + "ek l", + "m uÅŁ", + "mu ÅŁ", + "ĠÑĤак ож", + "ÙĪ Ø³Ø·", + "ÙĪØ³ Ø·", + "Ġ Äįi", + "ĠÄį i", + "ี à¸Ļ", + "ÛĮ ÙĨÙĩ", + "ÛĮÙĨ Ùĩ", + "ÄĽ k", + "å½ ¼", + "le rine", + "ler ine", + "leri ne", + "lerin e", + "ĠÄij ất", + "à¥ģ à¤ı", + "à¥ģठı", + "ол оÑģ", + "оло Ñģ", + "Ġ å°ı", + "Ġå° ı", + "ز ÙĬØ©", + "زÙĬ Ø©", + "Ġв ла", + "à¥Ģ ल", + "Ġ etti", + "Ġe tti", + "Ġet ti", + "Ġett i", + "ĠÑģ оÑģÑĤав", + "ĠÑģо ÑģÑĤав", + "ĠÑģоÑģÑĤ ав", + "ÙĦ اÙĦ", + "ÙĦا ÙĦ", + "Ġ çİ", + "Ġç İ", + "ĠpÅĻÃŃ pad", + "ëŁ °", + "ุ à¸ģ", + "Ġ Ñĩи", + "ĠÑĩ и", + "å ħį", + "åħ į", + "n ÄĽjÅ¡ÃŃ", + "nÄĽ jÅ¡ÃŃ", + "ิ ล", + "åį Ģ", + "s kých", + "sk ých", + "ský ch", + "า ศ", + "าภ¨", + "åIJ Ĺ", + "Ġ íĺĦ", + "Ġíĺ Ħ", + "Ġal ın", + "å§ Ķ", + "à¸ŀ ร", + "až d", + "Ġб ÑĸлÑĮ", + "ĠбÑĸ лÑĮ", + "ĠбÑĸл ÑĮ", + "à¹Ī วà¸Ļ", + "à¹Īว à¸Ļ", + "o og", + "oo g", + "a cı", + "ac ı", + "l ıģ", + "lı ÄŁ", + "Ġk hu", + "Ġkh u", + "Ġh izmet", + "Ġ éĽ", + "Ġé Ľ", + "Ġ Îĺ", + "ĠÎ ĺ", + "Ġde ÄŁer", + "ĠdeÄŁ er", + "åħ Ń", + "Ġ دÙĩ", + "Ġد Ùĩ", + "Ġn ÄĽk", + "ĠnÄĽ k", + "à¸Ħ à¸Ļ", + "е ÑĤÑĮ", + "еÑĤ ÑĮ", + "ب اÙĨ", + "با ÙĨ", + "ÏĦ ική", + "ÏĦικ ή", + "ÏĦι κή", + "ĠÄij á»ĭa", + "ĠÄijá»ĭ a", + "Ġ Công", + "ĠC ông", + "íĮ IJ", + "Ġк огда", + "ĠÚ© ÙĨد", + "ĠÚ©ÙĨ د", + "ãģ§ ãģį", + "ĠÏĢ ÎµÏģι", + "ĠÏĢεÏģ ι", + "ĠÏĢε Ïģι", + "lar dan", + "larda n", + "Ġ зем", + "Ġз ем", + "ت ÙĪØ§ÙĨ", + "تÙĪ Ø§ÙĨ", + "è³ ĩ", + "li kle", + "lik le", + "Ġt ụ", + "Ġtá» ¥", + "Ġd ẫn", + "Ġn ay", + "Ġna y", + "Ġ ÑģÑĤоÑĢ", + "ĠÑģ ÑĤоÑĢ", + "ĠÑģÑĤ оÑĢ", + "ĠÑģÑĤо ÑĢ", + "ĠØ´ Ùħا", + "ĠØ´Ùħ ا", + "Ø« ر", + "Ġd edi", + "Ġde di", + "Ġded i", + "к ое", + "ко е", + "ë ijIJ", + "ëij IJ", + "ÑĨ ев", + "ÑĨе в", + "ج Ùĩ", + "Ġm ůže", + "Ġmů že", + "Ġmůž e", + "à¥ģ प", + "à¥ģठª", + "à¥įर म", + "Ġ taÅŁ", + "Ġt aÅŁ", + "Ġta ÅŁ", + "оÑĢ ÑĤ", + "γ Ïģα", + "çĻ ¼", + "า à¸ļ", + "าภļ", + "iá» ħn", + "iá»ħ n", + "ĠÙħ ست", + "ĠÙħس ت", + "л екÑģ", + "ле кÑģ", + "лек Ñģ", + "Ġ prav", + "Ġp rav", + "Ġpr av", + "Ġpra v", + "Ġд оÑģ", + "Ġдо Ñģ", + "Ġd Ä±ÅŁ", + "Ġ zem", + "Ġz em", + "Ġze m", + "Ġg iao", + "Ġgi ao", + "Ġgia o", + "Ġv last", + "Ġvl ast", + "Ġvlas t", + "ĠÑį ÑĤого", + "ĠÑįÑĤ ого", + "ĠÑįÑĤо го", + "ï½ °", + "ว à¸ĩ", + "ÑĢ Ð¾Ð¹", + "ÑĢо й", + "Ġbir lik", + "e ný", + "en ý", + "Ġ ëĭ¨", + "Ġëĭ ¨", + "ов ани", + "ова ни", + "ован и", + "é£ İ", + "íı ī", + "Ġz ah", + "Ġza h", + "б а", + "åĬ ©", + "éĢ ²", + "ê ¶Į", + "Ġd iye", + "Ġdi ye", + "Ġdiy e", + "à¤Ĥ à¤ķ", + "Ġch uyá»ĥn", + "Ġ ìĹŃ", + "ĠìĹ Ń", + "Ġ ÑĤÑĢи", + "ĠÑĤ ÑĢи", + "ĠÑĤÑĢ Ð¸", + "Ġö nce", + "Ġön ce", + "Ġönc e", + "ï¼Į è¿Ļ", + "o ại", + "л еÑĤ", + "ле ÑĤ", + "ĠÏĥ Ïħν", + "ĠÏĥÏħ ν", + "l ád", + "lá d", + "ç e", + "t ü", + "Ġ Äįást", + "ĠÄį ást", + "ĠÄįá st", + "Ġ εν", + "Ġε ν", + "Ġb iá»ĩt", + "Ġ é«", + "Ġé «", + "à¥ĭ à¤ķ", + "ÙĦ ات", + "ÙĦا ت", + "ب اÙĦ", + "با ÙĦ", + "e cies", + "ec ies", + "eci es", + "Ġ ëĭ¹", + "Ġëĭ ¹", + "à¸Ĭ à¸Ļ", + "ÏĦ αÏĤ", + "ÏĦα ÏĤ", + "à¥į ण", + "à¥įठ£", + "u jÃŃcÃŃ", + "uj ÃŃcÃŃ", + "ujÃŃ cÃŃ", + "Äį et", + "Äįe t", + "Ġп об", + "Ġпо б", + "ÙĪ Ø§Ø±", + "ÙĪØ§ ر", + "i yas", + "iy as", + "iya s", + "Ġd ruh", + "Ġdr uh", + "Ġdru h", + "د د", + "ÏĮ ν", + "ÑĢ ÐµÐ½", + "ÑĢе н", + "า รà¸ĸ", + "าร à¸ĸ", + "ä½ İ", + "ìķ ½", + "ÑĢ Ð¾Ð·", + "ÑĢо з", + "ëĬĶ ëį°", + "ãĤĵ ãģª", + "Äį enÃŃ", + "Äįe nÃŃ", + "Äįen ÃŃ", + "**** ********", + "******** ****", + "****** ******", + "***** *******", + "******* *****", + "Ġ Ρ", + "ĠÎ ¡", + "ĠÑĤ омÑĥ", + "ĠÑĤо мÑĥ", + "ĠÑĤом Ñĥ", + "ร à¸ģ", + "à¥ģ स", + "à¥ģठ¸", + "ä¹ Ŀ", + "å°± æĺ¯", + "£ i", + "éĺ ²", + "Ùĥ ر", + "ĠÑį ÑĤи", + "ĠÑįÑĤ и", + "ĠÚ© Ø´ÙĪØ±", + "ĠÚ©Ø´ ÙĪØ±", + "Ġ ê°IJ", + "Ġê° IJ", + "Ġ ад", + "Ġа д", + "Ġ داد", + "Ġد اد", + "éģ İ", + "Ù «", + "Ġl áºŃp", + "Ġ اÙĦÙĩ", + "Ġا ÙĦÙĩ", + "ĠاÙĦ Ùĩ", + "æľ Ľ", + "Ġ تÙĩ", + "Ġت Ùĩ", + "ì§ Ī", + "ãģ§ ãģĤãĤĭ", + "ãģ§ãģĤ ãĤĭ", + "Ġ меж", + "Ġм еж", + "ĠÑĢ ÐµÐ·ÑĥлÑĮÑĤ", + "ĠÑĢез ÑĥлÑĮÑĤ", + "ç į", + "е мÑĥ", + "ем Ñĥ", + "Ġ تÙĪØ§ÙĨ", + "Ġت ÙĪØ§ÙĨ", + "ĠتÙĪ Ø§ÙĨ", + "Ġ راÙĩ", + "Ġر اÙĩ", + "Ġرا Ùĩ", + "ãĥ¼ ãĥł", + "ãĥ¼ãĥ ł", + "åĦ ¿", + "å± ŀ", + "б Ñĭ", + "á ¿", + "à¸Ħ ล", + "à¥ĭ à¤Ī", + "üt ün", + "à¤Ĺ र", + "ìķĺ ëĭ¤", + "âĪ §", + "Ġ ì°¨", + "Ġì° ¨", + "çµ Ħ", + "μα ÏĦα", + "ุ à¸Ļ", + "Ġ ÑĤом", + "ĠÑĤ ом", + "ĠÑĤо м", + "еÑĢ Ð²", + "Îij Σ", + "ĠiÅŁ lem", + "ع Ùħ", + "ë ĥ", + "ãĥ Ħ", + "ا ÙģØª", + "اÙģ Øª", + "åĬ ŀ", + "Ġ nes", + "Ġn es", + "Ġne s", + "av aÅŁ", + "ava ÅŁ", + "ĠÙĨ ÛĮز", + "ĠÙĨÛĮ ز", + "å¼ º", + "Ġ éĻ", + "Ġé Ļ", + "Ñĸн нÑı", + "æ² ³", + "á ÅĻ", + "æĿ IJ", + "ĠØ£ ÙĬ", + "Ġ ì¹´", + "Ġì¹ ´", + "Ġn enÃŃ", + "Ġne nÃŃ", + "Ġnen ÃŃ", + "Ġ ÙĪÙħ", + "ĠÙĪ Ùħ", + "Ġ Ú©Ùħ", + "ĠÚ© Ùħ", + "i ếu", + "iế u", + "Ġ æ°", + "Ġæ °", + "åĮ »", + "Ġz or", + "Ġzo r", + "ί Ïĥ", + "ि ध", + "िठ§", + "Ġп оказ", + "Ġпо каз", + "Ġпок аз", + "Ġпока з", + "ह र", + "Ġiç er", + "ØŃ Ø©", + "ि à¤ĸ", + "िठĸ", + "а да", + "ад а", + "تر ÛĮÙĨ", + "ترÛĮ ÙĨ", + "Ġ bao", + "Ġb ao", + "Ġba o", + "Ġx ã", + "à¹Ģ à¸Ħร", + "à¹Ģà¸Ħ ร", + "Ġngh Ä©", + "à¹ģ à¸ļà¸ļ", + "à¹ģà¸ļ à¸ļ", + "ĠdoÄŁ ru", + "ĠdoÄŁr u", + "Ñĸ ÑĤи", + "ÑĸÑĤ и", + "Ġ بÙĬÙĨ", + "Ġب ÙĬÙĨ", + "ĠبÙĬ ÙĨ", + "Ġ леÑĤ", + "Ġл еÑĤ", + "ا غ", + "Ø§Ø º", + "ÛĮ Ú©ÛĮ", + "ÛĮÚ© ÛĮ", + "r áv", + "rá v", + "à¥į âĢį", + "âĢĻ nin", + "âĢĻn in", + "Ġ ย", + "Ġภ¢", + "åį Ĭ", + "Ġк оли", + "Ġкол и", + "Ġко ли", + "Ġtr ợ", + "éĿ Ĵ", + "ëŀ Ģ", + "Ġ ë¨", + "Ġë ¨", + "Ġ ÙĪØ±", + "ĠÙĪ Ø±", + "ï¾ Ĭ", + "è§ Ĥ", + "Ġ пи", + "Ġп и", + "н Ñĥв", + "нÑĥ в", + "il mesi", + "ilm esi", + "س تÙĩ", + "ست Ùĩ", + "Ġд еÑĢжав", + "ĠдеÑĢж ав", + "å® ĥ", + "åĪ ¥", + "ëħ Ģ", + "л ÑģÑı", + "à¤Ĥ ध", + "Ġ ÑĤи", + "ĠÑĤ и", + "ĠpÅĻ ip", + "ĠpÅĻi p", + "п и", + "á» ĵn", + "á»ĵ n", + "о ваÑĤÑĮ", + "ов аÑĤÑĮ", + "ова ÑĤÑĮ", + "ìĿ´ ëĿ¼", + "æľ Ŀ", + "Ġ ëĺIJ", + "Ġë ĺIJ", + "Ġëĺ IJ", + "ĠÎŃ Î½Î±", + "ĠÎŃν α", + "ãģ¾ ãģ§", + "ج اÙħ", + "جا Ùħ", + "Ġ ëĬ", + "Ġë Ĭ", + "н Ñĸв", + "нÑĸ в", + "ÏĢ Î¿Ïħ", + "ÏĢο Ïħ", + "Ġ زÙħاÙĨ", + "Ġز ÙħاÙĨ", + "ĠزÙħ اÙĨ", + "æĽ ²", + "Ġ ÙħÙĩ", + "ĠÙħ Ùĩ", + "ëł ¨", + "ä¸ ĥ", + "ãģ¨ ãģĹãģ¦", + "l abilir", + "la bilir", + "lab ilir", + "о же", + "ож е", + "å¤ ľ", + "ĠнÑĥж но", + "å½ ©", + "çĪ ±", + "Ġho Ãłn", + "ün ü", + "Ġ ëĦ¤", + "ĠëĦ ¤", + "Ġ جÙĨ", + "Ġج ÙĨ", + "Ġn ÄĽj", + "ĠnÄĽ j", + "к ими", + "ки ми", + "ким и", + "Ġa ynı", + "Ġayn ı", + "Ġ ÙĥÙĦ", + "ĠÙĥ ÙĦ", + "Ġnh au", + "Ạ³", + "ÙĬ ات", + "ÙĬا ت", + "Ġm ezi", + "Ġme zi", + "Ġmez i", + "Ġ ÑĢек", + "ĠÑĢ ÐµÐº", + "ĠÑĢе к", + "Ġ tür", + "Ġt ür", + "Ġ говоÑĢ", + "Ġг овоÑĢ", + "Ġfaz la", + "åĩ Ĩ", + "ÑĪ Ð¸Ð¹", + "ÑĪи й", + "ÐŁ ÑĢи", + "ÐŁÑĢ Ð¸", + "ÑĢ Ð¾ÑģÑĤ", + "ÑĢоÑģ ÑĤ", + "ÑĢо ÑģÑĤ", + "ĠоÑĢг ан", + "ĠоÑĢ Ð³Ð°Ð½", + "n ým", + "ný m", + "Ġ ÑĢод", + "ĠÑĢ Ð¾Ð´", + "Ġ ÙĪÛĮ", + "ĠÙĪ ÛĮ", + "ic ký", + "ick ý", + "ë¦ ¼", + "ï½ ²", + "æĢ İ", + "ĠÙĩ ذا", + "ĠÑĩ аÑģÑĤи", + "ĠÑĩа ÑģÑĤи", + "ĠÑĩаÑģ ÑĤи", + "ĠÑĩаÑģÑĤ и", + "ÃŃ r", + "á»ĩ nh", + "á»ĩn h", + "Ġ íĹ", + "Ġí Ĺ", + "ê »", + "lu ž", + "ÃŃ l", + "c ÃŃch", + "cÃŃ ch", + "å® Ł", + "ãģł ãģ£ãģŁ", + "ÙĬ رة", + "ÙĬر Ø©", + "Ġv Äĥn", + "æ¸ ¯", + "Ġ ÏĦιÏĤ", + "ĠÏĦι ÏĤ", + "ا رت", + "ار ت", + "Ġv ấn", + "âĶģâĶģ âĶģâĶģ", + "å¯ ¾", + "Ïģ ÎŃ", + "Ġг одÑĥ", + "Ġгод Ñĥ", + "Ġ سب", + "Ġس ب", + "ا رات", + "ار ات", + "ارا ت", + "е лей", + "ел ей", + "еле й", + "Ġз аÑħ", + "Ġза Ñħ", + "Ġ важ", + "Ġв аж", + "Ġва ж", + "Ġt á»īnh", + "Ġtá» īnh", + "Ġtá»ī nh", + "ا بع", + "اب ع", + "Ġ à¤ľà¤¬", + "Ġà¤ľ ब", + "Ġà¤IJ स", + "Ġ дÑĥ", + "Ġд Ñĥ", + "Ġ é«ĺ", + "Ġé «ĺ", + "Ġé« ĺ", + "ê² ł", + "н ее", + "не е", + "ï½ Į", + "Ġм ал", + "Ġма л", + "è¾ ¹", + "ãģł ãģij", + "à¹ī ร", + "ÙĤ Ø·", + "Ġb ên", + "Ġs eb", + "Ġse b", + "ĠØ® ÙĪØ§Ùĩ", + "ĠØ®ÙĪ Ø§Ùĩ", + "s iz", + "si z", + "Ġol ur", + "Ġ ëͰ", + "ĠëĶ °", + "Ġ ì¢ĭ", + "Ġì¢ ĭ", + "Ġs vÄĽt", + "Ġsv ÄĽt", + "ĠsvÄĽ t", + "ic ká", + "ick á", + "á» ¹", + "Ġqu ản", + "Ġquả n", + "Ġ иÑģ", + "Ġи Ñģ", + "Ġz aÄį", + "Ġza Äį", + "ื à¸Ńà¸Ļ", + "ืà¸Ń à¸Ļ", + "ÑĶ Ñİ", + "ि ष", + "िठ·", + "ç Ĭ¶", + "çĬ ¶", + "Ïĥ μ", + "ั ส", + "ó c", + "Ġ беÑĢ", + "Ġб еÑĢ", + "Ġ íĿ", + "Ġí Ŀ", + ";: ;:", + "Ġ پس", + "ĠÙ¾ س", + "Ġ ëijIJ", + "Ġë ijIJ", + "Ġëij IJ", + "н иÑĩ", + "ни Ñĩ", + "Ġо ÑĩенÑĮ", + "ĠоÑĩ енÑĮ", + "ĠìķĦìĿ´ ì½ĺ", + "Ġ θα", + "Ġθ α", + "Ġв ÑģÑĤ", + "ĠвÑģ ÑĤ", + "ا دة", + "اد Ø©", + "Ġdev am", + "ื à¸Ńà¸ĩ", + "ืà¸Ń à¸ĩ", + "ĠлÑİ Ð´Ð¸", + "ĠлÑİд и", + "ìĺ Ī", + "á»± a", + "Ñı Ñħ", + "âĢĮ اÛĮ", + "Ġ سÙĪ", + "Ġس ÙĪ", + "å° ¼", + "Ġth ứ", + "Ġthá» ©", + "m eye", + "me ye", + "mey e", + "Ġ èµ", + "Ġè µ", + "èī ¯", + "ĠdeÄŁ iÅŁ", + "ÑĪ Ñĸ", + "Ġtr ợ", + "ĠâĢİ #", + "çĹ ħ", + "ìĽ Į", + "Ġk de", + "Ġkd e", + "Î §", + "æ ¤", + "ĠÑħ аÑĢакÑĤ", + "æ ĩ", + "Ġb iến", + "Ġbi ến", + "ÙĤ ع", + "åŁ Ł", + "Ġн еп", + "Ġне п", + "Ġd ů", + "Ġп иÑĤ", + "Ġпи ÑĤ", + "ĠÑĤ ÑĢеб", + "ĠÑĤÑĢ ÐµÐ±", + "ا زÛĮ", + "از ÛĮ", + "Ġ طر", + "ĠØ· ر", + "Ġ ÙħÙĦ", + "ĠÙħ ÙĦ", + "Ġt ham", + "Ġth am", + "Ġtha m", + "Ġ ÙĪØ¬ÙĪØ¯", + "ĠÙĪØ¬ ÙĪØ¯", + "Ġs vé", + "Ġsv é", + "é§ ħ", + "ا ÛĮÙĨ", + "اÛĮ ÙĨ", + "Ġt iên", + "Ġti ên", + "s tru", + "st ru", + "str u", + "Ġv áºŃy", + "ü ne", + "ün e", + "Ġ à¹Ģม", + "Ġà¹Ģ ม", + "Ġà¹Ģภ¡", + "Ġr ằng", + "а ÑĤÑĥ", + "аÑĤ Ñĥ", + "äº ij", + "н иÑĤ", + "ни ÑĤ", + "ä¼ Ĭ", + "ÙĪ Øµ", + "Ġ éĿ", + "Ġé Ŀ", + "ĠпÑĢоб лем", + "d eki", + "de ki", + "dek i", + "** ************", + "******** ******", + "****** ********", + "******* *******", + "************ **", + "ò a", + "ĠÄijá»ģ u", + "ãĤĮ ãģŁ", + "ا رس", + "ار س", + "ãģª ãģı", + "ا ÙĤع", + "اÙĤ ع", + "è» į", + "Ùĥ Ùħ", + "Äį as", + "Ġk ỳ", + "Ġká» ³", + "Ø´ Ùħ", + "à¥ĩ ड", + "à¥ĩठ¡", + "éĺ ¿", + "Ġje jÃŃ", + "Ġjej ÃŃ", + "Ġ æĻ", + "Ġæ Ļ", + "Ġ Ä°ÅŁ", + "Ġİ ÅŁ", + "ar dım", + "ard ım", + "Ġसम य", + "Ġ ÐĿо", + "ĠÐĿ о", + "i lerin", + "il erin", + "ile rin", + "iler in", + "ileri n", + "Ġع بد", + "Ġعب د", + "n ÃŃk", + "nÃŃ k", + "ĠØ´ Ú©ÙĨ", + "ĠØ´Ú© ÙĨ", + "ิ à¸Ĺย", + "ิà¸Ĺ ย", + "á» ħ", + "ÑĢ ÐµÐ·", + "ÑĢе з", + "Ġch ứng", + "Ġchứ ng", + "Ġ :.", + "Ġ: .", + "Ġ पत", + "Ġप त", + "Ġž ivot", + "Ġživ ot", + "å¢ ĥ", + "« a", + "Ġt rung", + "Ġtr ung", + "ни кÑĸв", + "ник Ñĸв", + "ĠاÙĦ ÙħÙĨ", + "ĠاÙĦÙħ ÙĨ", + "ĠÑĢ Ð°ÑģÑģ", + "ĠÑĢаÑģ Ñģ", + "Ġ жив", + "Ġж ив", + "Ġз акон", + "Ġза кон", + "Ġзак он", + "Ġзако н", + "Ġ 목", + "Ġëª ©", + "Ġz áv", + "Ġzá v", + "Ġh akk", + "Ġha kk", + "Ġhak k", + "ä» ¤", + "ĠÑı кий", + "ĠÑıк ий", + "Ġ بÙĬ", + "Ġب ÙĬ", + "λ ÎŃ", + "oc uk", + "ocu k", + "Ġ Ñİ", + "ĠÑ İ", + "à¸ģ ว", + "Ġ اÙĨÚ¯", + "Ġا ÙĨÚ¯", + "ĠاÙĨ Ú¯", + "à¥ģ à¤Ĥ", + "à¥ģठĤ", + "Ġ nám", + "Ġn ám", + "Ġná m", + "á»ķ ng", + "Ġж ел", + "Ġже л", + "ĠÄij ặc", + "Äį it", + "Äįi t", + "Ġ ê±´", + "Ġê± ´", + "Ġب ÛĮØ´", + "ĠبÛĮ Ø´", + "кÑĢаÑĹ Ð½", + "Ġ ÙĪÙĩ", + "ĠÙĪ Ùĩ", + "н еннÑı", + "нен нÑı", + "Ġ à¹Ģà¸ŀ", + "Ġà¹Ģ à¸ŀ", + "Ġà¹Ģภŀ", + "о мен", + "ом ен", + "Ġl ần", + "Ġ عÙħÙĦ", + "Ġع ÙħÙĦ", + "ĠعÙħ ÙĦ", + "Ġî ģµ", + "Ä ŀ", + "ÑĸÑģ лÑı", + "ư ng", + "ा फ", + "ाठ«", + "à¸Ĺ à¸ĺ", + "д ен", + "де н", + "ĠÑī об", + "ĠÑīо б", + "Ñĩ ив", + "Ñĩи в", + "ılı r", + "ıl ır", + "ا عات", + "اع ات", + "j ÃŃcÃŃ", + "jÃŃ cÃŃ", + "ë² ¨", + "ÚĨ Ùĩ", + "ا رج", + "ار ج", + "ĠÙ¾ رÙĪ", + "Ġپر ÙĪ", + "Ġо дин", + "Ġод ин", + "Ġоди н", + "л ин", + "ли н", + "б Ñĥ", + "Ġसर à¤ķ", + "åĢ Ļ", + "ë¶Ģ íĦ°", + "à¥Īà¤Ĥ ,", + "å ´", + "à¹Ĥ ล", + "Ġv Å¡ak", + "ĠvÅ¡ ak", + "Ġоп ÑĢед", + "ì ±", + "æ ½", + "Ġdá»± ng", + "p ráv", + "pr áv", + "ิ ส", + "Ġnh iá»ĩm", + "Ġil iÅŁ", + "Ġili ÅŁ", + "Ġе Ñīе", + "Ġje Å¡tÄĽ", + "Ġ ÑĢаÑģÑĤ", + "ĠÑĢ Ð°ÑģÑĤ", + "ĠÑĢаÑģ ÑĤ", + "ĠÑĢа ÑģÑĤ", + "ภ®", + "à¤Ĥ à¤Ł", + "âĢĮ Ú©", + "Ġ بÛĮÙĨ", + "Ġب ÛĮÙĨ", + "ĠبÛĮ ÙĨ", + "o vou", + "ov ou", + "ovo u", + "æĻ ®", + "ί εÏĤ", + "о ÑĢоÑĪ", + "оÑĢ Ð¾ÑĪ", + "оÑĢо ÑĪ", + "Ġol mak", + "Ġolm ak", + "Ġolma k", + "Ġst át", + "di ÄŁi", + "Ġt ình", + "Ġ dÄĽ", + "Ġd ÄĽ", + "ĠÚ¯ رÙģ", + "Ġگر Ùģ", + "Ïĥ ο", + "Ġ ÑĥÑĤ", + "ĠÑĥ ÑĤ", + "íķĻ êµIJ", + "ั à¸IJ", + "า à¸Ń", + "าภŃ", + "ĠÄij ặt", + "Ġмог ÑĥÑĤ", + "ĠмогÑĥ ÑĤ", + "ë° °", + "t ik", + "ti k", + "ª ½", + "li ÄŁ", + "ÏĢ Îµ", + "Ġ èĢ", + "Ġè Ģ", + "k ü", + "ad ece", + "ade ce", + "κ ÏĮ", + "Ġ дÑĸ", + "Ġд Ñĸ", + "ầ m", + "çĦ¡ ãģĹ", + "Û²Û° Û±", + "èµ Ľ", + "оÑģ Ñĥд", + "Ġ ìķĪëĤ´", + "ĠìķĪ ëĤ´", + "Ġ ÐĶж", + "ĠÐĶ Ð¶", + "åº §", + "ic kých", + "ick ých", + "ický ch", + "Ġ ìłģ", + "Ġì łģ", + "Ġìł ģ", + "à¥ĩ ,", + "ov ého", + "ové ho", + "Ġv ẫn", + "Ġbirlik te", + "Ġर à¤ĸ", + "Ġ ÙĨÙĩ", + "ĠÙĨ Ùĩ", + "ÙĤ ر", + "प र", + "e tÃŃ", + "et ÃŃ", + "Ġ ÑĤÑĭ", + "ĠÑĤ Ñĭ", + "Ģ ìĿ´", + "Ġà¤ħ ल", + "Ġм оже", + "Ġмож е", + "Ġмо же", + "ãĤ ´", + "Ġs tran", + "Ġst ran", + "Ġstr an", + "Ġstra n", + "Ø· ر", + "è¿Ļ 个", + "Ġ بع", + "Ġب ع", + "åĨ Ľ", + "ek tir", + "ekt ir", + "Ġh Æ°á»Ľng", + "ÙĨ اÙĨ", + "ÙĨا ÙĨ", + "Ġठij", + "Ġà ¤ij", + "ÏĮ ÏĦη", + "о Ñģк", + "оÑģ к", + "åį ĥ", + "as ına", + "ası na", + "Ġ Ø´Ùĩ", + "ĠØ´ Ùĩ", + "Ġ деÑĢ", + "Ġд еÑĢ", + "Ġде ÑĢ", + "ĠÙħ خت", + "ĠÙħØ® ت", + "Ġ ØŃÙĤ", + "ĠØŃ ÙĤ", + "ãĥ ¾", + "س اÙĨ", + "Ġc ung", + "Ġcu ng", + "ко ÑĢиÑģÑĤ", + "коÑĢ Ð¸ÑģÑĤ", + "ÏĦ ικά", + "ÏĦικ ά", + "ÏĦι κά", + "Ġв она", + "Ġво на", + "ب ا", + "ãģķ ãĤĮãģŁ", + "ãģķãĤĮ ãģŁ", + "n out", + "no ut", + "nou t", + "Ġ ı", + "ĠÄ ±", + "è§ ī", + "ĠÃ¶ÄŁ ren", + "Ġ ì½Ķ", + "Ġì ½Ķ", + "Ġì½ Ķ", + "å¸ ¦", + "Ñģ лов", + "Ñģл ов", + "Ġε ÏĢι", + "ĠεÏĢ Î¹", + "ê° IJ", + "ĠÙħ رب", + "ĠÙħر ب", + "ĠÙģÛĮ ÙĦÙħ", + "Ġк ÑĢов", + "Ġ ëį°", + "Ġë į°", + "Ġëį °", + "ा ण", + "ाठ£", + "Ġel ekt", + "Ġele kt", + "Ġelek t", + "Ġ наÑĢод", + "Ġн аÑĢод", + "Ġна ÑĢод", + "ĠнаÑĢ Ð¾Ð´", + "ÛĮ دÙĩ", + "ÛĮد Ùĩ", + "ç´ Ħ", + "Ġп ÑĢоÑĦ", + "ĠпÑĢ Ð¾ÑĦ", + "ĠпÑĢо ÑĦ", + "Ïģ οÏĤ", + "Ïģο ÏĤ", + "Ġ ãħ", + "ä¸į æĺ¯", + "Ġ à¤ľà¤¨", + "Ġà¤ľ न", + "ั ล", + "Ġص ÙĪØ±Øª", + "ĠصÙĪØ± ت", + "ãĥ ľ", + "Ġà¤Ĺ à¤Ī", + "ÄŁi tim", + "ÄŁit im", + "ÑģÑĮ киÑħ", + "ÑģÑĮк иÑħ", + "Ġ лег", + "Ġл ег", + "Ġت ÙĪÙĦ", + "ĠتÙĪ ÙĦ", + "Ġ ìļ´", + "Ġìļ ´", + "ع ر", + "Ġm Ãłu", + "ĠmÃł u", + "г ов", + "го в", + "æ³ ¢", + "in deki", + "ind eki", + "inde ki", + "ìłģ ìĿ¸", + "ấ m", + "Ġ íĻķ", + "ĠíĻ ķ", + "Ġب اÛĮد", + "Ġبا ÛĮد", + "ĠباÛĮ د", + "à¹Į à¸Ĺ", + "Ġk endi", + "Ġken di", + "Ġkend i", + "ี ว", + "ิ à¸ģาร", + "ิà¸ģ าร", + "ิà¸ģา ร", + "ĠÚ© ردÙĩ", + "Ġکرد Ùĩ", + "Ġکر دÙĩ", + "å· ´", + "ठģ", + "ร าà¸Ĭ", + "à¥į श", + "à¥įठ¶", + "Ġ ÐĶлÑı", + "ĠÐĶ Ð»Ñı", + "å¥ ĩ", + "ĠÑĥ ÑģÑĤанов", + "ĠÑĥÑģÑĤ анов", + "ĠÑĥÑģÑĤан ов", + "й ÑĤе", + "ãĤ ĩ", + "ά Ïģ", + "Ġ Ю", + "ĠÐ ®", + "Ġlu áºŃt", + "ãĢ ī", + "è´ ¨", + "د ا", + "Ġdü zen", + "Ġdüz en", + "ส à¸Ļ", + "ÑĢ Ð¾Ð½", + "ÑĢо н", + "d ıģı", + "dı ģı", + "dıģ ı", + "âĢĻ da", + "âĢĻd a", + "Ġfark lı", + "Ñħ ов", + "Ñħо в", + "l án", + "lá n", + "Ñĩ аÑģ", + "Ñĩа Ñģ", + "Ñĩ ин", + "Ñĩи н", + "Ġ ì°¸", + "Ġì° ¸", + "ì ´Ī", + "ì´ Ī", + "ÑĨ ип", + "ÑĨи п", + "ç ¹", + "éĸ Ģ", + "ж а", + "ÑĢ Ð¾Ð²Ð°Ð½", + "ÑĢов ан", + "ÑĢо ван", + "ÑĢова н", + "à¸ĵ ะ", + "ÙĦÙĬ زÙĬØ©", + "Ïĩ ει", + "Ïĩε ι", + "à¥Ī .", + "к Ñģп", + "кÑģ п", + "ا ÙĪØ±", + "اÙĪ Ø±", + "Ġng uyên", + "Ġnguy ên", + "ãģ« ãĤĪ", + "à¥ĩ म", + "à¥ĩठ®", + "Ïĥ ÏĦε", + "ÏĥÏĦ ε", + "ت ÙĪ", + "Äį ek", + "Äįe k", + "ÑĨ Ñĭ", + "Ġ 물", + "Ġë¬ ¼", + "Ñį ÑĤ", + "Ġka zan", + "Ġkaz an", + "Ùģ Ø³", + "e hir", + "eh ir", + "в ÑĸÑĤ", + "вÑĸ ÑĤ", + "Ġد ÙĪÙĦ", + "ĠدÙĪ ÙĦ", + "Ġ ëĵľ", + "Ġëĵ ľ", + "Ġà¤ļ ल", + "е ÑģÑĤва", + "еÑģÑĤв а", + "еÑģÑĤ ва", + "δ α", + "Ġб Ñĥв", + "ĠбÑĥ в", + "Ġ ÐĿе", + "ĠÐĿ е", + "ØŃ ر", + "огÑĢа ÑĦ", + "Ġroz hod", + "Ġrozh od", + "Ġви коÑĢиÑģÑĤ", + "Ġвико ÑĢиÑģÑĤ", + "Ġy êu", + "λ οÏĤ", + "λο ÏĤ", + "Ú© س", + "Ġ شب", + "ĠØ´ ب", + "ิ ษ", + "æ¯ į", + "Ġд оÑĢ", + "Ġдо ÑĢ", + "Ġngh á»ĩ", + "Ġt rang", + "Ġtr ang", + "Ġtra ng", + "Ġtran g", + "à¥ĩ द", + "à¥ĩठ¦", + "Ġt ìm", + "Ñĩ но", + "Ġ اÙħا", + "Ġا Ùħا", + "ĠاÙħ ا", + "éģ ĭ", + "Ú© ر", + "k é", + "Ġ vÄĽt", + "Ġv ÄĽt", + "ĠvÄĽ t", + "Ġн аÑģÑĤ", + "Ġна ÑģÑĤ", + "ĠнаÑģ ÑĤ", + "Ġ æ±", + "Ġæ ±", + "Ġ åĽ½", + "ĠåĽ ½", + "Ġgi ảm", + "Ġgiả m", + "ا دÙĬ", + "اد ÙĬ", + "ëĤ ľ", + "ë¡ ł", + "Ġ 、", + "Ġï½ ¤", + "Ġд енÑĮ", + "Ġде нÑĮ", + "Ġден ÑĮ", + "ÑĨ ÑĸÑİ", + "ÑĨÑĸ Ñİ", + "Ġh ạn", + "Ġhạ n", + "ẳ ng", + "ẳn g", + "λ ή", + "e yen", + "ey en", + "eye n", + "ä¸ Ķ", + "æŃ ¦", + "ĠÑĦ ак", + "à¹Ī à¸Ńà¸Ļ", + "à¹Īà¸Ń à¸Ļ", + "Ġ οι", + "Ġο ι", + "ز Ùħ", + "ãģĹ ãģ¦ãģĦãĤĭ", + "ãģĹãģ¦ ãģĦãĤĭ", + "ãģĹãģ¦ãģĦ ãĤĭ", + "л ива", + "ли ва", + "лив а", + "âĢķ âĢķ", + "Ġ öl", + "Ġö l", + "Ġ à¤ĵ", + "Ġठĵ", + "Ñģ ÑĤÑĸ", + "ÑģÑĤ Ñĸ", + "à¸ģ รรม", + "à¸ģร รม", + "Ġt ục", + "Ġtụ c", + "Ġgö rün", + "Ġgör ün", + "ãģĹ ãģ¾", + "ãģĹãģ ¾", + "Ġ ì¦", + "Ġì ¦", + "é ¦¬", + "é¦ ¬", + "Ġмож на", + "Ġ Ú©ÙĦ", + "ĠÚ© ÙĦ", + "Ġ ÑĨенÑĤ", + "ĠÑĨ енÑĤ", + "ĠÑĨе нÑĤ", + "ĠÑĨен ÑĤ", + "Ġ ìϏ", + "ĠìĻ ¸", + "Î ĺ", + "ç ĩ", + "Ġg elen", + "Ġge len", + "Ġgel en", + "Ġgele n", + "Ġ اÙĬÙĨ", + "Ġا ÙĬÙĨ", + "ĠاÙĬ ÙĨ", + "ĠØ¢ ب", + "Ġà¤Ĩ य", + "ัà¸ģ ษ", + "Ñģ им", + "Ñģи м", + "Ġб олÑĮÑĪ", + "ĠболÑĮ ÑĪ", + "Ġм н", + "о ди", + "од и", + "Ġİ l", + "Ġ à¤Ĩर", + "Ġà¤Ĩ र", + "е ÑĤе", + "еÑĤ е", + "ÑĨ иÑİ", + "ÑĨи Ñİ", + "áºŃ u", + "Ġt iếng", + "Ġtiế ng", + "Ġtiến g", + "ë ¶ģ", + "ë¶ ģ", + "æ§ ĺ", + "Ġн аÑĪ", + "Ġна ÑĪ", + "ม า", + "âĢĻ Ä±n", + "âĢĻı n", + "ãĥĥ ãĥĹ", + "ÙĪ Ø¬Ùĩ", + "ÙĪØ¬ Ùĩ", + "Ġ ØŃد", + "ĠØŃ د", + "á vá", + "áv á", + "ر ÙĪØ´", + "رÙĪ Ø´", + "Ġ дейÑģÑĤв", + "Ġд ейÑģÑĤв", + "ãģ£ ãģ¦ãģĦãĤĭ", + "ãģ£ãģ¦ ãģĦãĤĭ", + "ãģ£ãģ¦ãģĦ ãĤĭ", + "Ïģ ή", + "Ġ üst", + "Ġü st", + "Ġt iết", + "Ġti ết", + "Ġtiế t", + "ac aÄŁ", + "aca ÄŁ", + "Ġ ÐŁÐ¾", + "ĠÐŁ о", + "é Ĭ", + "ë¨ ¸", + "c hod", + "ch od", + "cho d", + "ĠØ¢Ùħ ÙĪØ²", + "ãģŁ ãĤģ", + "Ġch uyên", + "Ġuy gu", + "Ġuyg u", + "н ÑĸÑģÑĤ", + "нÑĸ ÑģÑĤ", + "ë ´", + "æİ §", + "Ñĥ ÑİÑĤÑĮ", + "ÑĥÑİ ÑĤÑĮ", + "ÑĥÑİÑĤ ÑĮ", + "Äį i", + "ãģ ¹", + "à¥Ĥ न", + "æĹ ©", + "ãĥĩ ãĤ£", + "è Ĵ", + "ĠØ´ خص", + "ĠÑħ оÑĤ", + "ĠÚ©ÙĨ ÛĮد", + "г л", + "à¸Ń à¸Ńà¸ģ", + "à¸Ńà¸Ń à¸ģ", + "éĢ Ļ", + "Ġز ÛĮر", + "ĠزÛĮ ر", + "íķ Ń", + "ĠÃĸ z", + "åij ³", + "ØŃ دة", + "ØŃد Ø©", + "Ġk ažd", + "Ġ ÑĨвеÑĤ", + "ĠÑĨ веÑĤ", + "Ġ ç¾", + "Ġç ¾", + "Ġк ож", + "Ġко ж", + "Ġ ÐŃÑĤо", + "ĠÐŃ ÑĤо", + "ÑıÑĤ елÑĮ", + "ла ÑģÑĮ", + "лаÑģ ÑĮ", + "âĢĮ Ø´ÙĪØ¯", + "âĢĮØ´ ÙĪØ¯", + "μ ι", + "Ġ æ²", + "Ġæ ²", + "Ġs üre", + "Ġsü re", + "Ġsür e", + "ล ะ", + "éħ Ĵ", + "ึà¸ģ ษ", + "λ λά", + "λλ ά", + "ç ij", + "Ġ ìĥĪ", + "Ġìĥ Ī", + "Ġस ह", + "ĠH Ãł", + "리 ê³ł", + "ص ر", + "Ġ æĬķ", + "ĠæĬ ķ", + "éł Ń", + "Ġb á»ĩnh", + "ĠìĥĿ ê°ģ", + "Ġà¤ħ à¤Ń", + "ê³µ ì§Ģ", + "ì Ķ", + "á» Ŀi", + "á»Ŀ i", + "ç ŃĶ", + "çŃ Ķ", + "Ġb Ãłi", + "ĠbÃł i", + "о дÑĸ", + "од Ñĸ", + "า à¸Ĥ", + "าภĤ", + "ни ков", + "ник ов", + "Ġdön em", + "Ġdö nem", + "ว ม", + "ãĥĨ ãĤ£", + "ा रण", + "ार ण", + "о ги", + "ог и", + "Ġk iá»ĥm", + "Ġki á»ĥm", + "о ÑĦ", + "äº Ī", + "åĨ ³", + "ا ÙĦات", + "اÙĦ ات", + "اÙĦا ت", + "Ġn ếu", + "Ġ cest", + "Ġc est", + "Ġce st", + "Ġces t", + "ز Ø´", + "Ùİ ÙĦ", + "Ġت Ø£", + "ĠÄij ạo", + "Ïį ν", + "Ġв нÑĥ", + "Ġ جاÙħ", + "Ġج اÙħ", + "Ġجا Ùħ", + "i vnÃŃ", + "iv nÃŃ", + "Ġìŀ ĪìĬµëĭĪëĭ¤", + "ĠìŀĪ ìĬµëĭĪëĭ¤", + "Ï Ĭ", + "æĦ Ľ", + "ãĥ Ľ", + "м Ñĸн", + "мÑĸ н", + "Ġt ÃŃm", + "ĠtÃŃ m", + "ằ m", + "ê· ł", + "äº ķ", + "Ġx ây", + "Ġ ìĽĶ", + "ĠìĽ Ķ", + "е лен", + "ел ен", + "еле н", + "Ġ à¹Ĥà¸Ķย", + "Ġà¹Ĥ à¸Ķย", + "ا ÙĦÙĩ", + "اÙĦ Ùĩ", + "Ġb ất", + "á»ĵ m", + "âĢĮ Ú¯", + "ÙĪ Ø±Ø©", + "ÙĪØ± Ø©", + "ب ات", + "با ت", + "Ġb án", + "ẫ u", + "اÙĨ ÙĪÙĨ", + "اÙĨÙĪ ÙĨ", + "Ġzá kon", + "á ž", + "ì¶ Ķ", + "à¹ģ à¸ģ", + "ãĤį ãģĨ", + "ÑĢ Ð¾ÑĤ", + "ÑĢо ÑĤ", + "ç ĵ", + "Ġв они", + "Ġво ни", + "Ġx ác", + "Ġ دÛĮگر", + "ĠدÛĮ گر", + "ÏĢ Î¿Î¹", + "ÏĢο ι", + "Ġне Ñģк", + "ĠнеÑģ к", + "ر سÛĮ", + "رس ÛĮ", + "Ġ ëĿ¼", + "Ġë Ŀ¼", + "ت ÙĦ", + "λ ά", + "ĠÑıв лÑıеÑĤÑģÑı", + "ä¾ Ŀ", + "Ġ åħ¬", + "Ġåħ ¬", + "Ĺ i", + "Ġ íĬ¹", + "ĠíĬ ¹", + "Ùĥ ÙĪÙĨ", + "ÙĥÙĪ ÙĨ", + "ắ p", + "جÙħ ÙĪØ¹", + "ÏĨ οÏģ", + "ÏĨο Ïģ", + "е ло", + "ел о", + "Ġg üven", + "Ġgü ven", + "Ġм ай", + "Ġма й", + "ĠÑģ оз", + "ĠÑģо з", + "à¸ģ ระ", + "à¸ģร ะ", + "Ġا سÙĦاÙħ", + "Ġاس ÙĦاÙħ", + "Ġ Ñīе", + "ĠÑī е", + "Ġs á»ijng", + "Ġsá»ij ng", + "à¥į ब", + "à¥įठ¬", + "Ú© ار", + "کا ر", + "Ġthu áºŃt", + "Ġ nÃŃ", + "Ġn ÃŃ", + "第 ä¸Ģ", + "è¦ ĸ", + "à¹Ģà¸ģ ม", + "ا ÙĬØ©", + "اÙĬ Ø©", + "Ġ ÎĪ", + "ĠÎ Ī", + "ãĤ ¶", + "ĠÙħ ÙĪÙĤع", + "ĠÙħÙĪ ÙĤع", + "Ġ åĴ", + "Ġå Ĵ", + "è¡ ĵ", + "Ġ Ðŀд", + "ĠÐŀ д", + "Ġ ä¸ī", + "Ġä¸ ī", + "ler inde", + "leri nde", + "lerin de", + "ĠÑģв оÑĹ", + "ĠÑģво ÑĹ", + "à¥Ģ à¤ı", + "Ġth ương", + "Ïĥ ÏĦο", + "ÏĥÏĦ ο", + "Ġ غÙĬر", + "Ġغ ÙĬر", + "Ġ پر", + "ĠÙ¾ ر", + "ĠÑģеб е", + "Ġв к", + "Ġk hai", + "Ġkh ai", + "ãĤ Ģ", + "ĠÙĨ ظر", + "ĠÙĨظ ر", + "Ġдок Ñĥм", + "à¹ĩ à¸ļ", + "Ġ íķľêµŃ", + "Ġíķľ êµŃ", + "ï½ ī", + "å·¥ ç¨ĭ", + "Ġ ÙĪÙĦ", + "ĠÙĪ ÙĦ", + "ØŃ ÙĬ", + "Ġп ла", + "Ġпл а", + "Ġ İstanbul", + "Ġİ stanbul", + "âĢĻ de", + "âĢĻd e", + "а лÑģÑı", + "ал ÑģÑı", + "ĠØ¢ÙĨ Ùĩا", + "Ġ اÙĩ", + "Ġا Ùĩ", + "Ġ ê´Ģ리", + "Ġê´Ģ 리", + "Ġ anh", + "Ġa nh", + "Ġan h", + "Å¡ ÃŃm", + "Å¡ÃŃ m", + "lar la", + "ï¼ Ŀ", + "n ostÃŃ", + "no stÃŃ", + "nost ÃŃ", + "nos tÃŃ", + "ÑģÑĤ ве", + "ÑģÑĤв е", + "ÛĮ Ùģ", + "Ġ گرد", + "ĠÚ¯ رد", + "Ġگر د", + "ãĤĮ ãĤĭ", + "Ġv á»±", + "Ġvá» ±", + "ÄĽ nÃŃ", + "ÄĽn ÃŃ", + "Ġgö rev", + "Ġgör ev", + "Ġgöre v", + "Ġyıl ında", + "Ġyılı nda", + "Ġyı lında", + "Ġl ợi", + "Ġlá» £i", + "Ġan lam", + "Ġп ÑĢовод", + "ĠпÑĢо вод", + "ĠпÑĢов од", + "ÑĨ Ñİ", + "Ġ åī", + "Ġå ī", + "Ġë§ İ", + "ÑĢ Ð°Ñģ", + "ÑĢа Ñģ", + "Ġ Ž", + "ĠÅ ½", + "Ú© اÙĨ", + "کا ÙĨ", + "Ð Ļ", + "ãģ£ ãģ¨", + "ãģ£ãģ ¨", + "Ú© ÙĦ", + "า ยà¸Ļ", + "าย à¸Ļ", + "ع اÙĦ", + "عا ÙĦ", + "Ġ ký", + "Ġk ý", + "ĠмаÑĤ еÑĢи", + "Ġма ÑĤеÑĢи", + "ê» ĺ", + "ıl ması", + "μ ÎŃν", + "μÎŃ Î½", + "ĠÙĨ ÙħÛĮ", + "ĠÙĨÙħ ÛĮ", + "Ġcu á»Ļc", + "Ġδ εν", + "Ġδε ν", + "å¹ ²", + "_ ___", + "__ __", + "___ _", + "à¥Ģ à¤Ł", + "Ġçık ar", + "Ġçı kar", + "Ġkon uÅŁ", + "Ġkonu ÅŁ", + "иÑĤ елÑĮно", + "иÑĤелÑĮ но", + "lan tı", + "lant ı", + "à¹Ħ ล", + "å¾ ĭ", + "Ġ íͼ", + "ĠíĶ ¼", + "ìĻ ¸", + "Ġs áng", + "éģ Ķ", + "о жд", + "ож д", + "Ġ آخر", + "ĠØ¢ خر", + "il ece", + "ile ce", + "à¥Ī न", + "Ġ jedn", + "Ġj edn", + "Ġje dn", + "Ġjed n", + "ĠÑģпе ÑĨи", + "´ Ŀ", + "Ġ Úĺ", + "Ġ ãĢĤĊ", + "ĠãĢĤ Ċ", + "èģ Į", + "Ġ ÙĨÛĮ", + "ĠÙĨ ÛĮ", + "ÑĤ оÑĢа", + "ÑĤо ÑĢа", + "ÑĤоÑĢ Ð°", + "λ ι", + "Ġ ÙĪØ¨", + "ĠÙĪ Ø¨", + "iÅŁ im", + "iÅŁi m", + "ç» ´", + "ãĢĢ i", + "Ġm ua", + "Ġmu a", + "Ġj iž", + "Ġji ž", + "è¶ Ĭ", + "ãĤĴ è¦ĭ", + "Ġn á»Ļi", + "à¥į à¤Ĺ", + "à¥įठĹ", + "ç¨ ®", + "Ġ ãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢ", + "à¹ĥ หม", + "à¹ĥห ม", + "Ġ ÎĨ", + "ĠÎ Ĩ", + "ÙĨ دÛĮ", + "ÙĨد ÛĮ", + "ĠÑģ Ñĩ", + "Ġl á»ĩ", + "Ġlá» ĩ", + "l ub", + "lu b", + "еÑĢ ÑĤ", + "Ġ اطÙĦ", + "Ġا Ø·ÙĦ", + "Ġاط ÙĦ", + "ĠÑģ еÑĢед", + "ĠÑģеÑĢ ÐµÐ´", + "Ġ éģ", + "Ġé ģ", + "Ġз ал", + "Ġза л", + "ÙĨ ÛĮÙĨ", + "ÙĨÛĮ ÙĨ", + "çŁ¥ éģĵ", + "Ø¢ ÙĨ", + "Ġ кап", + "Ġк ап", + "Ġка п", + "Ġ à¹Ħม", + "Ġà¹Ħ ม", + "ů vod", + "ův od", + "ĠÙ¾ اÛĮ", + "Ġپا ÛĮ", + "ÑĤ ÑĢи", + "ÑĤÑĢ Ð¸", + "Ġi ht", + "Ġih t", + "๠Ĭ", + "Ġв ÑģÑĸ", + "ĠвÑģ Ñĸ", + "Ġt hay", + "Ġth ay", + "Ġtha y", + "å Ĩµ", + "åĨ µ", + "Ġ عÙĨÙĪØ§ÙĨ", + "ĠعÙĨ ÙĪØ§ÙĨ", + "Ġ Î¥", + "ĠÎ ¥", + "ภĿ", + "ε ÏĦαι", + "εÏĦ αι", + "iyor du", + "ï¼Į èĢĮ", + "çļĦ 人", + "Ġ सà¤Ń", + "Ġस à¤Ń", + "à¹ī à¸Ńย", + "à¹īà¸Ń ย", + "ι κο", + "ικ ο", + "ãĤĵ ãģ§", + "ì¡ ±", + "ÙĨج ÙĦÙĬزÙĬØ©", + "Ġž ád", + "ÑĢ Ð°Ð²Ð¸", + "ÑĢа ви", + "ÑĢав и", + "γ γ", + "æµ ĭ", + "о ÑĨÑĸ", + "ãĢĢ ãĢĢĠãĢĢ", + "ãĢĢãĢĢ ĠãĢĢ", + "ãĢĢãĢĢĠ ãĢĢ", + "Ġतर ह", + "Ġ ëĨ", + "Ġë Ĩ", + "à¥Ģ à¤ļ", + "à¹Ī ม", + "Ġg á»ĵm", + "Ġk iá»ĩn", + "Ġki á»ĩn", + "è· Ł", + "Î ¦", + "es inin", + "esi nin", + "esini n", + "esin in", + "é ¥", + "é« Ķ", + "о Ñĩно", + "оÑĩ но", + "र ण", + "æĺ ¥", + "ç¶ ĵ", + "Ġ بار", + "Ġب ار", + "Ġبا ر", + "ê· ¼", + "éĻ ħ", + "Ġ سÙĬ", + "Ġس ÙĬ", + "Ñģ ÑĥÑĤ", + "ÑģÑĥ ÑĤ", + "ì µľ", + "å± ħ", + "ĠÄį esk", + "ĠÄįe sk", + "Îij ÎĿ", + "Ġd iá»ĩn", + "Ġdi á»ĩn", + "Ġ εί", + "Ġε ί", + "à¸ĩ à¸Ĺ", + "ãĤ ©", + "Ġv á»±c", + "Ġvá»± c", + "в ав", + "ва в", + "t ıģı", + "tı ģı", + "tıģ ı", + "Ġ ëªħ", + "Ġëª ħ", + "η ν", + "в иÑĤ", + "ви ÑĤ", + "Ġ Ø£Ùĥ", + "ĠØ£ Ùĥ", + "Ġп ÑĢоп", + "ĠпÑĢ Ð¾Ð¿", + "ĠпÑĢо п", + "r ak", + "ra k", + "ÑĢ Ð°ÑĤи", + "ÑĢа ÑĤи", + "ÑĢаÑĤ и", + "ĠÄij ánh", + "ĠÄijá nh", + "ÑĢ ÐµÐ¿", + "ÑĢе п", + "ê ´ij", + "ê´ ij", + "е ÑĨÑĮ", + "еÑĨ ÑĮ", + "Ġब त", + "Ġ åĮĹ", + "ĠåĮ Ĺ", + "Ġs át", + "l edi", + "le di", + "led i", + "ìłģ ìľ¼ë¡ľ", + "ů j", + "Û° Û°", + "Ġnas ıl", + "Ġ ÙĪØ³", + "ĠÙĪ Ø³", + "Ġ εξ", + "Ġε ξ", + "в Ñĭ", + "ç½ Ĺ", + "ارÛĮ Ø®", + "à¸Ľ ล", + "ί κ", + "Ġ ê¸Ī", + "Ġê¸ Ī", + "åĩ ł", + "å¼ ·", + "è¿ Ķ", + "Ġnh á»ı", + "å¾ Ģ", + "Ġда же", + "Ġç ev", + "к Ñĸ", + "Ġ Ø£Ùħ", + "ĠØ£ Ùħ", + "ี ส", + "ส ามารà¸ĸ", + "สาม ารà¸ĸ", + "Ġ ÐĦ", + "ĠÐ Ħ", + "Ñħод иÑĤ", + "ë ĸ", + "Ġtr uyá»ģn", + "Ġtruy á»ģn", + "Ġ ÑģÑĤан", + "ĠÑģÑĤ ан", + "ĠÑģÑĤа н", + "ëĵ¤ ìĿĢ", + "ا ÙĦت", + "اÙĦ ت", + "़ à¥ĩ", + "Ġ à¤ħब", + "Ġà¤ħ ब", + "æķ ¸", + "Ġд ÑĸÑı", + "ĠдÑĸ Ñı", + "ĠÙħ تر", + "ĠÙħت ر", + "Ġ ë¸", + "Ġë ¸", + "ï¾ į", + "Ġ ê³¼", + "Ġê³ ¼", + "Ġ زÛĮ", + "Ġز ÛĮ", + "ëŁ ¼", + "Ġ ÐŁÐµÑĢ", + "ĠÐŁ еÑĢ", + "Ġs ık", + "Ġsı k", + "н оÑģÑĤÑĮÑİ", + "ноÑģÑĤÑĮ Ñİ", + "ноÑģÑĤ ÑĮÑİ", + "Ġ eden", + "Ġe den", + "Ġed en", + "ا در", + "اد ر", + "ã Ħ", + "Ġ леÑĩ", + "Ġл еÑĩ", + "ĠÙĩ ذÙĩ", + "ض ÙĪØ¹", + "ضÙĪ Ø¹", + "ĠìķĦ ëĭĪ", + "ĠìķĦëĭ Ī", + "ir ket", + "irk et", + "Ġ اگر", + "Ġا گر", + "ĠÑħ оÑĩ", + "Ġб ан", + "Ġба н", + "íĶ Į", + "æĢİ ä¹Ī", + "è Ľ", + "Ġब à¤ļ", + "ĠÚ© تاب", + "çī Į", + "Ġд ва", + "Ġдв а", + "ج ر", + "Ġп ÑĢоÑģÑĤо", + "ĠпÑĢоÑģÑĤ о", + "ĠпÑĢоÑģ ÑĤо", + "Ġà¤Ĩ व", + "Ġm ức", + "į ¼", + "Ġ jÃŃ", + "Ġj ÃŃ", + "íİ ĺ", + "Ġt amam", + "Ġta mam", + "Ġtam am", + "åĪ Ľ", + "ภĴ", + "п еÑĩ", + "пе Ñĩ", + "à¥ĭ स", + "Ġ Ñģем", + "ĠÑģ ем", + "Ġt ương", + "ä¸ ģ", + "ī ´", + "Ġ ÑĢоÑģ", + "ĠÑĢ Ð¾Ñģ", + "Ġ маÑĶ", + "Ġм аÑĶ", + "Ġма ÑĶ", + "æŃ Į", + "Ġ داÙĨÙĦÙĪØ¯", + "ĠداÙĨ ÙĦÙĪØ¯", + "ĠL oÃłi", + "ĠLo Ãłi", + "Ġed ilm", + "Ġedi lm", + "Ġedil m", + "Ġk onu", + "Ġko nu", + "Ġkon u", + "ĠاÙĦ Ùħر", + "ĠاÙĦÙħ ر", + "Ġu laÅŁ", + "Ġul aÅŁ", + "Ġyük sek", + "ο ι", + "Ùİ ÙĨ", + "Ġ bÄĽ", + "Ġb ÄĽ", + "ãĤ·ãĥ§ ãĥ³", + "ï¿£  ̄ ̄ ̄", + " ̄ ̄  ̄ ̄", + " ̄ ̄ ̄ ï¿£", + "Ġg üç", + "Ġgü ç", + "Ġ اÙĪÙĦ", + "Ġا ÙĪÙĦ", + "ĠاÙĪ ÙĦ", + "Ġ ма", + "Ġм а", + "Ġب خش", + "Ġبخ Ø´", + "ा à¤ĸ", + "ाठĸ", + "Ġв иÑģ", + "Ġви Ñģ", + "ž enÃŃ", + "že nÃŃ", + "žen ÃŃ", + "Ġz působ", + "Ġzp ůsob", + "z nam", + "zn am", + "Ġ رÙĪÛĮ", + "Ġر ÙĪÛĮ", + "ĠرÙĪ ÛĮ", + "åĭ Ŀ", + "। Ċ", + "ÙĦ ÙĤ", + "Ġж из", + "ÑĢ Ñĸв", + "ÑĢÑĸ в", + "ĠÑĥ пÑĢав", + "ĠÑĥп ÑĢав", + "Ġph á»ij", + "ic ros", + "icro s", + "Ġ à¹ģà¸ķ", + "Ġà¹ģ à¸ķ", + "Ġ ë°ķ", + "Ġë° ķ", + "ÙĪ Ø§Øª", + "ÙĪØ§ ت", + "ï¼Į ä¸Ģ", + "ан Ñģ", + "ç´ ļ", + "ย à¸Ļ", + "à¹ģ à¸Ĥ", + "Ġgi áo", + "Ġgiá o", + "äºĮ äºĮ", + "Ġ İs", + "Ġİ s", + "ìĬ ¹", + "Ġo lacak", + "Ġol acak", + "Ġola cak", + "Ġ Các", + "ĠC ác", + "Ġ ÑĢÑĥб", + "ĠÑĢ Ñĥб", + "ĠÑĢÑĥ б", + "ẹ p", + "ÄŁ iniz", + "ÄŁini z", + "ÄŁin iz", + "ãģª ãģ©", + "Ġ моÑĢ", + "Ġм оÑĢ", + "Ġмо ÑĢ", + "ĠÑģ дел", + "ÙĦ ÙħاÙĨ", + "ÙĦÙħ اÙĨ", + "n ém", + "né m", + "å° į", + "Ġd ne", + "Ġdn e", + "ì¶ľ ìŀ¥", + "ع ب", + ": ::::::", + ":: :::::", + ":::: :::", + ":::::: :", + "::: ::::", + "::::: ::", + "Î Ĵ", + "e ket", + "ek et", + "Ġ ÑĢеÑĪ", + "ĠÑĢ ÐµÑĪ", + "ĠÑĢе ÑĪ", + "è ά", + "èĪ ¬", + "Ġ íĻĶ", + "ĠíĻ Ķ", + "ص د", + "Ġ маÑĢ", + "Ġм аÑĢ", + "Ġма ÑĢ", + "Ñı ж", + "Ø´ ار", + "ãģ ²", + "Ġ اÙĦÙĬ", + "Ġا ÙĦÙĬ", + "ĠاÙĦ ÙĬ", + "Ù į", + "à¤Ĥ à¤ľ", + "м Ñĭ", + "Ġka rar", + "Ġkar ar", + "Ġkara r", + "ÙĦÛĮ سÛĮ", + "ÙĦÛĮس ÛĮ", + "า à¸ĵ", + "าภĵ", + "ç¾ ¤", + "Ġol ması", + "Ġolm ası", + "Ġolma sı", + "Ġhaz ır", + "γÏģα ÏĨ", + "¯ u", + "в ол", + "во л", + "ĠÑģ ÑĤаÑĢ", + "ĠÑģÑĤ аÑĢ", + "ĠÑģÑĤа ÑĢ", + "o vala", + "ov ala", + "ova la", + "oval a", + "Ġв озмож", + "Ġвоз мож", + "Ġ дав", + "Ġд ав", + "Ġда в", + "é¢ ¨", + "ر ا", + "Ġдоп ом", + "ê² ĥ", + "Ġ ìĺ¬", + "Ġìĺ ¬", + "Ġ åİ", + "Ġå İ", + "Ġ 못", + "Ġëª »", + "u ç", + "í ļ", + "l ük", + "lü k", + "ä¸Ń å¿ĥ", + "Ġ दर", + "Ġद र", + "Ġ âĹĨ", + "ĠâĹ Ĩ", + "Ġt ay", + "Ġta y", + "Ġب سÛĮ", + "Ġبس ÛĮ", + "Ġ ÏĥÏĦα", + "ĠÏĥ ÏĦα", + "ĠÙħ Ø®", + "Ñı Ñī", + "å· ®", + "ภī", + "ëł ¹", + "à¹ĥà¸Ļ à¸ģาร", + "Ġ ÙĩÙĨ", + "ĠÙĩ ÙĨ", + "ãģ ¶", + "л Ñĸд", + "лÑĸ д", + "å į°", + "åį °", + "Ġs ao", + "Ġsa o", + "ÅĻ ad", + "리 ëĬĶ", + "Ñģ лед", + "Ñģл ед", + "åĶ ®", + "Ġ |:", + "Ġ| :", + "æķĻ èĤ²", + "Ġм ол", + "Ġмо л", + "ĠÙĩ ÙĬ", + "ë ģ", + "Ġ кÑĥлÑĮ", + "Ġк ÑĥлÑĮ", + "ĠкÑĥ лÑĮ", + "' nin", + "'n in", + "Ġ خر", + "ĠØ® ر", + "Ġge nel", + "Ġgen el", + "Ġgene l", + "Ġt á»Ń", + "Ġtá» Ń", + "Ġkur ul", + "Ġkuru l", + "ен ÑĤи", + "енÑĤ и", + "à¥ĭ à¤ľà¤¨", + "à¥ĭà¤ľ न", + "è¿Ļ æł·", + "Ġм Ñĸж", + "ĠмÑĸ ж", + "Ġngh iá»ĩm", + "Ġnghiá»ĩ m", + "ĠÏĢ Î¿Î»", + "ĠÏĢο λ", + "æĭ Ľ", + "Ġà¤Ĺ à¤ı", + "ầ y", + "Ġc ảm", + "Ġcả m", + "ç´ °", + "rı ca", + "Ġ عÙĦÛĮ", + "Ġع ÙĦÛĮ", + "ĠعÙĦ ÛĮ", + "ิ à¹ī", + "h ur", + "hu r", + "Ġch ưa", + "Ñĥ ÑĶÑĤÑĮÑģÑı", + "ÑĥÑĶ ÑĤÑĮÑģÑı", + "ãģ© ãģĨ", + "Ñĥ л", + "ิ ร", + "Ġ æľī", + "ä¼ ¼", + "ÑĦ еÑĢ", + "ÑįÑĤ омÑĥ", + "æĹ ħ", + "ĠÙħ ÙĪØ¬", + "ĠÙħÙĪ Ø¬", + "Ġ 본", + "Ġë³ ¸", + "Ġgi á»Ŀ", + "Ġgiá» Ŀ", + "Ġk iến", + "Ġki ến", + "à¹Ī วย", + "à¹Īว ย", + "Ġd üny", + "Ġdü ny", + "Ġdün y", + "Ġ زÙħ", + "Ġز Ùħ", + "о вÑĸ", + "ов Ñĸ", + "ĠÑĨ ÑĮого", + "ิ à¸ļ", + "Ġ ìĨIJ", + "ĠìĨ IJ", + "èIJ ¥", + "Ġ ÑĢÑĸз", + "ĠÑĢ Ñĸз", + "Ġh á»Ĺ", + "Ġhá» Ĺ", + "ÑĢ Ñĸб", + "ÑĢÑĸ б", + "Ġ ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ĠãĢĢĠ ãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ìľ¼ ë©°", + "äºĨ ä¸Ģ", + "ĠÙĤ بÙĦ", + "ĠÙĤب ÙĦ", + "é¾ Ļ", + "Ġ گذ", + "ĠÚ¯ ذ", + "Ġ ÙĤد", + "ĠÙĤ د", + "ãģª ãģĭãģ£ãģŁ", + "Ġ à¹Ģร", + "Ġà¹Ģ ร", + "Ġà¹Ģภ£", + "å¸ Į", + "ĠÑģ Ñħ", + "Ġг ÑĢом", + "ĠгÑĢ Ð¾Ð¼", + "ĠгÑĢо м", + "åĽ ¢", + "Ġ ì§ij", + "Ġì§ ij", + "Ġ лÑĥÑĩ", + "Ġл ÑĥÑĩ", + "åħ µ", + "Ġ ÐŀÑĤ", + "ĠÐŀ ÑĤ", + "Ġmu á»ijn", + "ãģĺ ãĤĥ", + "o vnÃŃ", + "ov nÃŃ", + "ë©´ ìĦľ", + "ë³ Ģ", + "Ġн еб", + "Ġне б", + "Ñģ ии", + "Ñģи и", + "ÙĨ Ùħ", + "ÄŁ in", + "ÄŁi n", + "Ġt oho", + "Ġto ho", + "Ġtoh o", + "en iz", + "eni z", + "ب اش", + "با Ø´", + "ĠÑģ лÑĥж", + "ĠÑģл Ñĥж", + "ĠÑģлÑĥ ж", + "Ġb ợi", + "Ġüzer e", + "Ġüz ere", + "Ġs adece", + "Ġsad ece", + "ĠÏĢ Î±Ïģ", + "ĠÏĢα Ïģ", + "³³³³³³³³ ³³³³³³³³", + "³³³³³³³ ³³³³³³³³³", + "³³³³³ ³³³³³³³³³³³", + "³³³³³³³³³ ³³³³³³³", + "³³³³³³³³³³³ ³³³³³", + "èĮ ĥ", + "ÏĦ ικÏĮ", + "ÏĦικ ÏĮ", + "ÏĦι κÏĮ", + "Ġ äºĮ", + "ãĤĪãģĨ ãģ«", + "è ŀ", + "ãģ® ãģ¯", + "Ġ ÑĥкÑĢаÑĹн", + "ĠÑĥ кÑĢаÑĹн", + "Ġb ắt", + "в ан", + "ва н", + "Ġ ÑģÑĤÑĢа", + "ĠÑģ ÑĤÑĢа", + "ĠÑģÑĤ ÑĢа", + "ĠÑģÑĤÑĢ Ð°", + "è¡ Ģ", + "nu tÃŃ", + "nut ÃŃ", + "o kt", + "ok t", + "รà¸ĩ à¹Ģร", + "Ġ صÙģ", + "Ġص Ùģ", + "åħ ļ", + "ÏĦ ί", + "ï¼ģ ãĢįĊĊ", + "ï¼ģãĢį ĊĊ", + "ĠÑĤем п", + "ĠÑĤе мп", + "é¡ Į", + "Ġs luž", + "Ġslu ž", + "Ñĥ ков", + "Ñĥк ов", + "Ġngh Ä©a", + "ĠnghÄ© a", + "çĶ ²", + "Ġd á»ħ", + "о ви", + "ов и", + "ÏĦ Ïħ", + "ر ÛĮÚ©", + "رÛĮ Ú©", + "ĠA nh", + "ĠAn h", + "ĠвÑģ его", + "ĠвÑģе го", + "âĢĮ Ú©ÙĨ", + "âĢĮÚ© ÙĨ", + "te ÅĻÃŃ", + "Ġm ục", + "Ùĩ ÙĨÚ¯", + "ÙĩÙĨ Ú¯", + "Ġ ÐŁÐ¾Ñģ", + "ĠÐŁ оÑģ", + "ĠÐŁÐ¾ Ñģ", + "Úĺ Ùĩ", + "ĠاÙĦ غ", + "æĿ ¾", + "y sl", + "ys l", + "Ġyap ılan", + "Ġyapı lan", + "Ġyapıl an", + "çĪ ¶", + "Ġm ạnh", + "ر اÙĩ", + "را Ùĩ", + "à¸Ķ à¸ĩ", + "o Äį", + "ë§ IJ", + "åł Ĥ", + "м аÑĤ", + "ма ÑĤ", + "Ġ eÅŁ", + "Ġe ÅŁ", + "ÙĪÙħ ات", + "Ġس اخت", + "åĽł 为", + "Ġп ÑĢий", + "ĠпÑĢ Ð¸Ð¹", + "ĠпÑĢи й", + "ıl mÄ±ÅŁ", + "é¤ ¨", + "ุ à¸ĩ", + "Ġ ëģ", + "Ġë ģ", + "à¸ķ าม", + "à¸ķา ม", + "åIJ ī", + "μ ή", + "Ġ æľ¬", + "Ġzá klad", + "ت ØŃ", + "è¾ ¼", + "Ġв Ñĸй", + "ĠвÑĸ й", + "ĠÙħÙĨ Ø·", + "Ġto án", + "к аÑĢ", + "ка ÑĢ", + "Ġ ÐĹа", + "ĠÐĹ Ð°", + "ĠпÑĢи мен", + "ĠпÑĢим ен", + "ãĤĭ ãģ¨", + "ั à¸Ĺ", + "ÛĮ س", + "ĠاÙĨ جاÙħ", + "ĠاÙĨج اÙħ", + "Ġع ÙĦÙĬ", + "ĠعÙĦ ÙĬ", + "़ ि", + "e ných", + "en ých", + "ený ch", + "ĠL iên", + "ĠLi ên", + "Ġ па", + "Ġп а", + "éļ Ĭ", + "Ġmo hou", + "Ġmoh ou", + "Ġк ÑĸлÑĮ", + "Ġ Το", + "ĠΤ ο", + "ا ÙĦب", + "اÙĦ ب", + "ÎŃ Î½", + "Ġna bÃŃ", + "Ġnab ÃŃ", + "ç i", + "ler den", + "lerde n", + "Ġth anh", + "Ġthan h", + "Ġtha nh", + "Ġb ütün", + "Ġ åŁ", + "Ġå Ł", + "ì¸ ł", + "Ġz at", + "Ġza t", + "ÙĬ ÙĪ", + "Ġμ ια", + "uy ết", + "Ñij н", + "åĪ Ĵ", + "ли во", + "лив о", + "à¹Ī à¸Ńà¸ĩ", + "à¹Īà¸Ń à¸ĩ", + "ä»ĸ 们", + "Ġб аг", + "Ġба г", + "ि à¤Ń", + "िठŃ", + "ĠÑĤ ам", + "ĠÑĤа м", + "Ġп ÑĢеп", + "ĠпÑĢ ÐµÐ¿", + "ĠпÑĢе п", + "ิ à¸Ĭ", + "âĢĻ Ñıз", + "âĢĻÑı з", + "ĠPh ân", + "ж ен", + "же н", + "à¥Ī à¤ķ", + "ĠÑģлÑĥÑĩа е", + "Ġ .:", + "Ġ. :", + "åѦ æł¡", + "İ N", + "ç¾ ©", + "ĠÑģ ÑĤо", + "ĠÑģÑĤ о", + "Ġ हर", + "Ġह र", + "Ïħ ν", + "Ġx em", + "Ġxe m", + "Ġб ÑĥÑĤи", + "ĠбÑĥ ÑĤи", + "Ñģ иÑĤ", + "Ñģи ÑĤ", + "çª ģ", + "à¥į à¤Ľ", + "à¥įठĽ", + "åij ¢", + "ï¼Į ä¹Ł", + "e nÄĽ", + "en ÄĽ", + "Ġ κά", + "Ġκ ά", + "iy orum", + "iyor um", + "ĠÚ¯ ÙģØª", + "âĹıâĹı âĹıâĹı", + "ั ม", + "Ġ Ðļон", + "ĠÐļ он", + "ĠÐļо н", + "н оÑĪ", + "но ÑĪ", + "ниÑĨ ÑĤ", + "ü zel", + "üz el", + "s ÃŃ", + "å¸ «", + "ص ÙĪÙĦ", + "çĥ Ń", + "ĠÄij á»§", + "ĠÄijá» §", + "ãĤ ®", + "æķ ħ", + "ĠÅ¡ kol", + "ĠÅ¡k ol", + "Ñĩ ен", + "Ñĩе н", + "à¹Ģ ย", + "à¹Ģภ¢", + "à¸Ļ à¸Ļ", + "ÙĢ ÙĢÙĢÙĢ", + "ÙĢÙĢ ÙĢÙĢ", + "ÙĢÙĢÙĢ ÙĢ", + "Ġ üç", + "Ġü ç", + "å¿ µ", + "ãĥª ãĤ¢", + "Ġ íĻĺ", + "ĠíĻ ĺ", + "Ġ éĩij", + "Ġéĩ ij", + "çı Ń", + "Ġ Ñģклад", + "ĠÑģ клад", + "ĠÑģк лад", + "Ñı ми", + "Ñıм и", + "ü f", + "Ġh ã", + "ĠÄIJ ại", + " Ĥ", + "åĦ ª", + "Ġbul unan", + "Ġbulun an", + "ĠاÙĦ ÙħØŃ", + "ĠاÙĦÙħ ØŃ", + "æĪ ı", + "Ġ è©", + "Ġè ©", + "Ġн оÑĢм", + "ĠноÑĢ Ð¼", + "Ġchu ẩn", + "Ġз аÑģÑĤ", + "Ġза ÑģÑĤ", + "ĠзаÑģ ÑĤ", + "Ġ vÃŃce", + "ĠvÃŃ ce", + "ĠvÃŃc e", + "Ð ĸ", + "Ġà¤Ĩ ध", + "Ġ Äįas", + "ĠÄį as", + "Ġ боÑĢ", + "Ġб оÑĢ", + "Ġбо ÑĢ", + "Ïģ ια", + "Ïģι α", + "ĠÙħ اÙĩ", + "ĠÙħا Ùĩ", + "Ġ íħ", + "Ġí ħ", + "ÅĻ el", + "ÅĻe l", + "Ñı ви", + "Ñıв и", + "ÏĦ εÏĤ", + "ÏĦε ÏĤ", + "i nÄĽ", + "in ÄĽ", + "Ġп еÑĢе", + "ĠпеÑĢ Ðµ", + "éķ ĩ", + "à¥įठŀ", + "Ġ éĺ", + "Ġé ĺ", + "à¹Ī าว", + "à¹Īา ว", + "ร ร", + "Ġ سÙĩ", + "Ġس Ùĩ", + "в али", + "ва ли", + "вал и", + "çķ Ļ", + "ĠÑĦ Ñĥнк", + "ĠÑĦÑĥн к", + "Ġ íĸī", + "Ġí ĸī", + "Ġíĸ ī", + "Ùģ Ùĩ", + "çĶŁ æ´»", + "èģ ŀ", + "o kud", + "ok ud", + "oku d", + "Ġ ìĤ´", + "ĠìĤ ´", + "ı zı", + "ız ı", + "Ġпо лÑĥ", + "Ġпол Ñĥ", + "ï¼Į ä½ł", + "Ø´ اÙĨ", + "æ± º", + "б ÑĢÑı", + "оÑģÑĥд аÑĢ", + "Ġo yun", + "Ġoy un", + "а нии", + "ан ии", + "ани и", + "Ġp rů", + "Ġpr ů", + "Ġn áv", + "Ġná v", + "Ġм енÑı", + "Ġмен Ñı", + "Ġìŀ ĺ", + "Ġ İn", + "Ġİ n", + "Ġth ÃŃch", + "ĠthÃŃ ch", + "ĠÄij ảm", + "åľ Ĵ", + "Ġв же", + "Ġl oÃłi", + "Ġlo Ãłi", + "Ġ Ðŀн", + "ĠÐŀ н", + "м еÑģÑĤ", + "ме ÑģÑĤ", + "Ġ ξ", + "ĠÎ ¾", + "ãĢ ħ", + "Ġch iế", + "Ġchi ế", + "Ñĩ Ñĸ", + "Ġ íijľ", + "Ġí ijľ", + "ëĭ ¬", + "Ġ ëĭ¬", + "Ġëĭ ¬", + "à¥Ģ ड", + "ÑĢ Ð°Ð»ÑĮ", + "ÑĢа лÑĮ", + "ÑĢал ÑĮ", + "d ik", + "di k", + "Ġ íĨł", + "ĠíĨ ł", + "ëŁ ī", + "Ġ صÙĨ", + "Ġص ÙĨ", + "Ġs tej", + "Ġst ej", + "Ġste j", + "Ġа кÑĤив", + "Ġак ÑĤив", + "ĠакÑĤ ив", + "ĠакÑĤи в", + "Ġ é¦", + "Ġé ¦", + "Ġ à¹Ħà¸Ķ", + "Ġà¹Ħ à¸Ķ", + "æĬĢ æľ¯", + "Ġp rostÅĻed", + "Ġpro stÅĻed", + "Ġprost ÅĻed", + "å® ³", + "ãģ IJ", + "Ġol uÅŁtur", + "ĠoluÅŁ tur", + "e lop", + "el op", + "elo p", + "ãģ¡ ãĤĥ", + "éĥ İ", + "ض ا", + "Ġ خط", + "ĠØ® Ø·", + "ë° ķ", + "е ÑģÑı", + "еÑģ Ñı", + "ĠÙĩ ÛĮ", + "н ад", + "на д", + "Ġng Ãłnh", + "ÑĢ ÑĥÑĪ", + "ÑĢÑĥ ÑĪ", + "ãģĦ ãģĦ", + "Ġü rün", + "Ġür ün", + "à¸Ń à¸ķ", + "à¥ĭ प", + "Ġs ayı", + "Ġsa yı", + "Ġsay ı", + "à¥Ģ स", + "е ниÑħ", + "ен иÑħ", + "ени Ñħ", + "Ġ Ñģим", + "ĠÑģ им", + "ĠÑģи м", + "à¥Ģ द", + "å¤ ī", + "à¹Ī วม", + "à¹Īว ม", + "Ġ à¹Ģà¸Ĥ", + "Ġà¹Ģ à¸Ĥ", + "Ġà¹ĢภĤ", + "å·² ç»ı", + "а ÑĤо", + "аÑĤ о", + "ĠÑĢай он", + "í ĥĿ", + "íĥ Ŀ", + "Ġ ÑĤÑĢа", + "ĠÑĤ ÑĢа", + "ĠÑĤÑĢ Ð°", + "l ayan", + "la yan", + "lay an", + "ế p", + "ा à¤Ł", + "ाठŁ", + "Ø® اب", + "人 æ°ij", + "å® Ŀ", + "è Ĩ", + "èª į", + "n aÄį", + "na Äį", + "Ġî ł", + "ĠÐļ и", + "ĠbaÅŁ ka", + "ĠbaÅŁk a", + "c ů", + "ض ع", + "èĪ ª", + "ี ม", + "Ñĭ ми", + "Ñĭм и", + "ÎĻ Î£", + "Ġشر کت", + "ย ว", + "Ġmus ÃŃ", + "Ġmu sÃŃ", + "Ġн ал", + "Ġна л", + "ี à¸Ĺ", + "Ġ áp", + "Ġá p", + "ร าย", + "æ² ¹", + "l eme", + "le me", + "lem e", + "Ġ मन", + "Ġम न", + "à¹Ħ à¸Ł", + "а ÑĤив", + "аÑĤ ив", + "аÑĤи в", + "¸ ı", + "èŃ °", + "Ïĥ ÏĦα", + "ÏĥÏĦ α", + "íĸ ¥", + "е ÑĤÑĥ", + "еÑĤ Ñĥ", + "ĠÑģв Ñıз", + "ĠÑģвÑı з", + "ед еÑĢа", + "ĠØ® ارج", + "า ษ", + "าภ©", + "âĢĮ Ù¾", + "Ñĸ г", + "é¡ ŀ", + "Ġkh ả", + "ĠÑģ пÑĢав", + "ĠÑģп ÑĢав", + "è¡ Ĺ", + "ãĥķ ãĤ¡", + "ãĥķãĤ ¡", + "Ġм еждÑĥ", + "Ġмеж дÑĥ", + "Ñĥ ли", + "Ñĥл и", + "Ġب زر", + "ÑĨ ен", + "ÑĨе н", + "Ġek onom", + "د ÙĨ", + "ا ÙħÛĮ", + "اÙħ ÛĮ", + "าส à¸ķร", + "ĠnÄĽ kol", + "ĠnÄĽk ol", + "g ün", + "з и", + "ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł", + "ç¦ »", + "Ġtr Æ°á»Łng", + "ı i", + "íİ ¸", + "Ġ ÑĢеб", + "ĠÑĢ ÐµÐ±", + "ĠÑĢе б", + "åº ķ", + "Ġت ارÛĮØ®", + "н има", + "ни ма", + "ним а", + "Ġth ân", + "аÑĤ елÑĮно", + "аÑĤелÑĮ но", + "ĠاÙĦ ذÙĬ", + "ĠاÙĦذ ÙĬ", + "ÙĪ ÙĨÛĮ", + "ÙĪÙĨ ÛĮ", + "Ġ éĥ", + "Ġé ĥ", + "Ġb ình", + "Ġbì nh", + "ικ ήÏĤ", + "ική ÏĤ", + "à¸ŀ ล", + "تÙħ اع", + "ĠPr aha", + "ĠPra ha", + "Ġ ÑģÑĤав", + "ĠÑģÑĤ ав", + "ĠÑģÑĤа в", + "د ÙĬد", + "دÙĬ د", + "Ġgi ữa", + "Ġgiữ a", + "ĠпÑĢо вед", + "ĠпÑĢов ед", + "Âł k", + "ÙĨد Ú¯ÛĮ", + "ÑĨ ий", + "ÑĨи й", + "ç Ĵ", + "ĠاÙĦ Ø£Ùħ", + "ĠاÙĦØ£ Ùħ", + "Ġ è´", + "Ġè ´", + "Ø¥ ÙĨجÙĦÙĬزÙĬØ©", + "ĠìŀĪ ìĹĪëĭ¤", + "ĠìŀĪìĹĪ ëĭ¤", + "ç ·¨", + "ç· ¨", + "ัà¸Ļ à¸ĺ", + "ĠÑĢок Ñĸв", + "Ġc áo", + "Ġcá o", + "Ġkh ó", + "Ġ ÙĨÙĪØ¹", + "ĠÙĨ ÙĪØ¹", + "ĠÙĨÙĪ Ø¹", + "س ÙĦ", + "Ġ ÑĥÑģлов", + "ĠÑĥ Ñģлов", + "ĠÑĥÑģл ов", + "ĠÑĥÑģ лов", + "Ġcứ u", + "ов ого", + "ово го", + "ि à¤Ĺ", + "िठĹ", + "Ķ ëĭ¤", + "æĿ İ", + "Ġbö lg", + "Ġböl g", + "Ġn gu", + "Ġng u", + "Ġh ữu", + "Ġhá» ¯u", + "н ии", + "ни и", + "ìł Ī", + "Ġп ÑĢом", + "ĠпÑĢ Ð¾Ð¼", + "ĠпÑĢо м", + "åı Į", + "Ġd Æ°á»Ľi", + "ĠdưỠĽi", + "Ġdư Ỽi", + "Ð ®", + "ÙĬ Ø´", + "æ¸ ©", + "ëı ħ", + "Ġз мÑĸ", + "Ġзм Ñĸ", + "θη κε", + "ĠbaÄŁ lı", + "Ġüzer inde", + "Ġ تغ", + "Ġت غ", + "Ġп ÑĢогÑĢа", + "ĠпÑĢ Ð¾Ð³ÑĢа", + "ĠпÑĢо гÑĢа", + "ĠпÑĢог ÑĢа", + "i ž", + "Ġ ç¥", + "Ġç ¥", + "Ġy ardım", + "Ġyard ım", + "Ġyar dım", + "ÂĢ ÂĢ", + "ÂĢ Ģ", + "Ġ Ñĥв", + "ĠÑĥ в", + "Ġ rů", + "Ġr ů", + "Ġch iến", + "Ġchi ến", + "Ġchiế n", + "ν οÏĤ", + "νο ÏĤ", + "ãģ¨ ãģª", + "ا ÙĨت", + "اÙĨ ت", + "è° ·", + "ÃŃ sk", + "ÃŃs k", + "is inde", + "isi nde", + "isin de", + "Ġд ог", + "Ġдо г", + "è¿ ½", + "Ġп ÑĢоÑĤив", + "ĠпÑĢо ÑĤив", + "ĠпÑĢоÑĤ ив", + "ĠпÑĢоÑĤи в", + "Ïģ οÏħ", + "Ïģο Ïħ", + "ãģ® ãģĭ", + "Ġb azı", + "Ġba zı", + "Ġbaz ı", + "ı rak", + "ır ak", + "à¥ĩ ष", + "à¥ĩठ·", + "ĠÙħ شار", + "ĠÙħØ´ ار", + "Ġ ìĸij", + "Ġìĸ ij", + "Ġ нез", + "Ġн ез", + "Ġне з", + "Ġ ذÙĦÙĥ", + "Ġذ ÙĦÙĥ", + "èª ¿", + "åĤ Ļ", + "ĠÑĤ ÑĢан", + "ĠÑĤÑĢ Ð°Ð½", + "ĠÑĤÑĢа н", + "ĠÏĢ Î±Ïģα", + "ĠÏĢαÏģ α", + "ĠÏĢα Ïģα", + "ÛĮ Ùħت", + "ÛĮÙħ ت", + "Ġt iến", + "Ġti ến", + "Ġtiế n", + "ĠÙĩ ÙħÙĩ", + "ĠÙĩÙħ Ùĩ", + "e fon", + "ef on", + "» .ĊĊ", + "». ĊĊ", + "».Ċ Ċ", + "Ġ ÙĨد", + "ĠÙĨ د", + "ج ÙĦ", + "Ġد ادÙĩ", + "Ġداد Ùĩ", + "Ġ вед", + "Ġв ед", + "Ġве д", + "Ġ sın", + "Ġs ın", + "Ġsı n", + "ĠÑģ вÑĸÑĤ", + "ĠÑģв ÑĸÑĤ", + "e lerin", + "el erin", + "eler in", + "ele rin", + "eleri n", + "âĪ ¨", + "Ġy ür", + "д ан", + "да н", + "Ġ ÐŀÑģ", + "ĠÐŀ Ñģ", + "Ġh ạng", + "Ġhạn g", + "Ġhạ ng", + "è® ¸", + "Ïĥ ÏĦη", + "ÏĥÏĦ η", + "uy ến", + "Ġн аб", + "Ġна б", + "Ġ оÑħ", + "Ġо Ñħ", + "Ïĥ Ïī", + "Ġby ly", + "Ġbyl y", + "Ñģ киÑħ", + "Ñģк иÑħ", + "Ñģки Ñħ", + "l amak", + "la mak", + "lam ak", + "lama k", + "и ÑĤоÑĢ", + "иÑĤ оÑĢ", + "Ġy atır", + "Ġya tır", + "Ġyat ır", + "ĠпÑĢоиз вод", + "Ġ جÙħع", + "Ġج Ùħع", + "ĠجÙħ ع", + "Å ł", + "æıIJ ä¾Ľ", + "Ġpr vnÃŃ", + "Ġprv nÃŃ", + "Ġα ÏĢ", + "íĻ ©", + "ĠпÑĢа кÑĤи", + "ler inden", + "lerin den", + "lerinde n", + "ĠнеобÑħодим о", + "åº ·", + "Ùİ Ø§", + "Ġ سÙĨ", + "Ġس ÙĨ", + "İ L", + "Ġ ê´ij", + "Ġê ´ij", + "Ġê´ ij", + "Ġ PÅĻ", + "ĠP ÅĻ", + "ç ŀ", + "ĠÑĤемп еÑĢаÑĤÑĥ", + "Ġka bul", + "Ġkab ul", + "Ġbu dou", + "Ġbud ou", + "ÑĨÑĸ оналÑĮ", + "ÑĨÑĸон алÑĮ", + "ï½ ľ", + "Ġç ocuk", + "Ġçocu k", + "ĠÑĤ ÑĸлÑĮки", + "b yt", + "by t", + "ãĥ ¤", + "ĠÑģÑĤ аÑĤ", + "ĠÑģÑĤа ÑĤ", + "Ġ æĿ±", + "ĠæĿ ±", + "le žit", + "اس طة", + "ุ ร", + "i êm", + "iê m", + "ĠкÑĥлÑĮ ÑĤÑĥ", + "Ġ пон", + "Ġп он", + "Ġпо н", + "Ä© nh", + "åĸ ľ", + "н ев", + "не в", + "ÑĶ Ð½", + "ĠÑģо оÑĤ", + "ë Ŀ", + "çĪ ¾", + "Ġtu á»ķi", + "k anı", + "kan ı", + "สำ หร", + "ا عت", + "اع ت", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "д еÑĢж", + "деÑĢ Ð¶", + "Ġоб лаÑģÑĤи", + "Ġобла ÑģÑĤи", + "ĠоблаÑģ ÑĤи", + "ĠоблаÑģÑĤ и", + "Ġобл аÑģÑĤи", + "Ġv ừa", + "Ġvá» «a", + "Ġ ÙħÙħ", + "ĠÙħ Ùħ", + "à¸ģ ำ", + "à¹ģ ม", + "iver sit", + "ivers it", + "à¹ģ ส", + "æ¬ §", + "l anan", + "la nan", + "lan an", + "ÙĬ ÙĨØ©", + "ÙĬÙĨ Ø©", + "س Ø©", + "ĠлÑİд ей", + "ร รม", + "รร ม", + "Ġ ì±Ħ", + "Ġì± Ħ", + "Ġ 天", + "Ġå¤ ©", + "ен нÑĭÑħ", + "à¹ģ ห", + "Ġs práv", + "Ġsp ráv", + "Ġspr áv", + "èŃ ¦", + "ï¼ ľ", + "ั à¸Ĵ", + "il ecek", + "ile cek", + "ilece k", + "Ġ æŁ", + "Ġæ Ł", + "Ġ èĭ±", + "Ġèĭ ±", + "ĠÑħ оÑĢоÑĪ", + "ëł ĩ", + "Û² Û°Û°", + "Û²Û° Û°", + "æĬ ¤", + "Ġl ã", + "ÅĻÃŃ zenÃŃ", + "ÅĻÃŃz enÃŃ", + "ĠتÙĪÙĦ ÛĮد", + "éļ Ľ", + "ãĤĮ ãģ°", + "á Å¡", + "ارÙĬ Ø®", + "æĶ »", + "Ġkho ảng", + "Ġkhoản g", + "éĻ į", + "о ван", + "ов ан", + "ова н", + "Ġg ây", + "âĢĻn ın", + "Ø£ ÙĨ", + "m iÅŁtir", + "mi ÅŁtir", + "miÅŁ tir", + "miÅŁti r", + "Ġs ức", + "Ġsứ c", + "к ÑĥÑģ", + "кÑĥ Ñģ", + "Ġüzer ine", + "ÄŁ ü", + "ا بر", + "اب ر", + "ï¼Į å°±", + "Ì £", + "Ġ ëıĮ", + "Ġëı Į", + "Ġtr á»±c", + "æĶ¶ å½ķ", + "æī ¿", + "ĠN á»Ļi", + "Ġ çϾ", + "ĠçĻ ¾", + "ÑĪ ÑĮ", + "ج Ø©", + "ë² ł", + "ठī", + "à ¸ı", + "ภı", + "Ġü lk", + "Ġül k", + "ĠÙĩست ÙĨد", + "ัà¸ļ à¸ģาร", + "ĠÑı ка", + "ĠÑıк а", + "ã İ", + "Ġ Як", + "ĠЯ к", + "Ġг де", + "t iv", + "ti v", + "ãĢ Ī", + "лÑİ Ñĩа", + "лÑİÑĩ а", + "ा ।Ċ", + "ा। Ċ", + "Ġ ÙħاÙĨ", + "ĠÙħ اÙĨ", + "ĠÙħا ÙĨ", + "Ġd lou", + "Ġdl ou", + "Ġ ãĥķ", + "Ġãĥ ķ", + "ठĽ", + "Ġph ục", + "Ġphụ c", + "a kat", + "ak at", + "aka t", + "Ð ¬", + "as ını", + "ĠæĬķ 稿", + "ÑĢ ÐµÐ²", + "ÑĢе в", + "Ġv yt", + "Ġvy t", + "Ġz mÄĽ", + "Ġzm ÄĽ", + "ÏĦ Ïī", + "è ¬", + "Ġ Ñĥм", + "ĠÑĥ м", + "Ġuz un", + "Ġp roti", + "Ġpro ti", + "Ġpr oti", + "Ġprot i", + "ĠÑģо ÑģÑĤоÑı", + "ĠÑģоÑģÑĤ оÑı", + "ัà¸Ĵ à¸Ļ", + "a tik", + "at ik", + "ati k", + "Ġ à¸ł", + "Ġภł", + "Ġà¤Ĩ द", + "lar ından", + "ların dan", + "larında n", + "æĢ ¥", + "ãĥ¼ ãĤ¯", + "ãĥ¼ãĤ ¯", + "ĠÙĦ ÙĦÙħ", + "ĠÙĦÙĦ Ùħ", + "Ùģ ØªÙĩ", + "ÙģØª Ùĩ", + ". :.", + ".: .", + "üç ük", + "ол ева", + "à¹Į Ċ", + "ĠпеÑĢ ÐµÐ²", + "ĠпеÑĢе в", + "ĠÙĨ سب", + "ĠÙĨس ب", + "е леннÑı", + "ел еннÑı", + "елен нÑı", + "' ın", + "'ı n", + "ν Ïī", + "è¡ £", + "Ġ دÙĬ", + "Ġد ÙĬ", + "åį ĩ", + "Ġbel irt", + "Ġbelir t", + "Ġ /:", + "Ġ/ :", + "èij ī", + "Ġv yh", + "Ġvy h", + "çļĦ ä¸Ģ", + "èĥ Į", + "Ġ ìĹ´", + "ĠìĹ ´", + "о ла", + "ол а", + "Ġ تب", + "Ġت ب", + "á ci", + "ác i", + "ा à¤ī", + "ाठī", + "ภİ", + "çĶ ¢", + "à¥Ī ल", + "Ġ ÙĤØ·", + "ĠÙĤ Ø·", + "ëĦ Ī", + "ắ m", + "ÑĢ Ñıд", + "ÑĢÑı д", + "Ġph ụ", + "ĠÙĪ Ø§ÙĤع", + "ĠÙĪØ§ ÙĤع", + "Ġm erk", + "Ġme rk", + "Ġmer k", + "Ġch á»ijng", + "å¯ Ł", + "ا بط", + "اب Ø·", + "us unda", + "usu nda", + "Ġод на", + "ž el", + "že l", + "ĠÑģ Ñĥм", + "ĠÑģÑĥ м", + "Ġph ù", + "Ġ ζ", + "ĠÎ ¶", + "Ġz av", + "Ġza v", + "e dn", + "ed n", + "Ġp otÅĻeb", + "Ġpot ÅĻeb", + "ĠÚ©ÙĨ ÙĨد", + "ĠÑĢ Ð°Ð·Ð²", + "ĠÑĢаз в", + "ĠÑĢа зв", + "¿ ł", + "ĠاÙĦ ز", + "Ġm ÄĽl", + "ĠmÄĽ l", + "Ġ ÑģÑĤанов", + "ĠÑģÑĤ анов", + "ĠÑģÑĤан ов", + "ĠÑģÑĤа нов", + "Ġ درÛĮ", + "Ġد رÛĮ", + "Ġدر ÛĮ", + "Ġt ượng", + "ã ģµ", + "ãģ µ", + "Ġд ви", + "Ġдв и", + "ÑĮ Ñı", + "è £½", + "è£ ½", + "Ġ تÙĦ", + "Ġت ÙĦ", + "Å¡ Å¥", + "ãģª ãĤī", + "Ġà¤ķ à¤Ī", + "Å¡ i", + "âĢĮ است", + "Ġk ỹ", + "Ġká» ¹", + "ë§ Ŀ", + "Ġà¤Ĩ à¤ľ", + "ãĥ ´", + "Ġb á»ı", + "du ÄŁu", + "duÄŁ u", + "Ġ æ¯", + "Ġæ ¯", + "п еÑĢ", + "пе ÑĢ", + "ا ÙĦÙĬØ©", + "اÙĦ ÙĬØ©", + "اÙĦÙĬ Ø©", + "æīĢ ä»¥", + "åħ °", + "Ġ oran", + "Ġo ran", + "Ġor an", + "Ġora n", + "Ġ íŀ", + "Ġí ŀ", + "Ïĥ ία", + "Ïĥί α", + "Ġph á»§", + "ĠбÑĭ ла", + "ĠбÑĭл а", + "Ñĩ ива", + "Ñĩи ва", + "Ñĩив а", + "Ġ ê°Ħ", + "Ġê° Ħ", + "о лÑĸ", + "ол Ñĸ", + "Ùĥ ت", + "å ħ§", + "åħ §", + "à¥Ĥ à¤Ł", + "Ġ ëĸ", + "Ġë ĸ", + "Ġ ÙĦÙĩ", + "ĠÙĦ Ùĩ", + "ëłĪ ìĿ´", + "Ġh ız", + "å¤ ı", + "ĠæĬķ稿 æĹ¥", + "éļ ¾", + "ĵ °", + "г лÑıд", + "глÑı д", + "гл Ñıд", + "ì n", + "Ġ меÑĢ", + "Ġм еÑĢ", + "Ġ ãĢij", + "ĠãĢ ij", + "Ġ обÑī", + "Ġоб Ñī", + "um hur", + "çł ´", + "л иÑģÑĮ", + "ли ÑģÑĮ", + "sp ÄĽ", + "ر ÙĬÙĤ", + "رÙĬ ÙĤ", + "Ġ تÙģ", + "Ġت Ùģ", + "Ġا ÙĦÙĪ", + "ĠاÙĦ ÙĪ", + "çµ ±", + "а лоÑģÑĮ", + "ал оÑģÑĮ", + "ало ÑģÑĮ", + "Ġm ô", + "Ġv á»ĩ", + "Ġvá» ĩ", + "Ġ δι", + "Ġδ ι", + "Ġ зн", + "Ġз н", + "Ġ بØŃ", + "Ġب ØŃ", + "ت Ùī", + "Ġ ì§ģ", + "Ġì§ ģ", + "Ġvel mi", + "uyá» ħn", + "Ġph ạm", + "ÑģÑĤв ом", + "ÑģÑĤво м", + "ĠÙĪ Ø§ÙĦÙħ", + "ĠÙĪØ§ÙĦ Ùħ", + "ĠÙĪØ§ ÙĦÙħ", + "ĠбÑĭ ли", + "ĠбÑĭл и", + "ا ذ", + "Ø§Ø °", + "ÄĽ ÅĻ", + "â Ħĸ", + "âĦ ĸ", + "Ġп олож", + "Ġпо лож", + "Ġпол ож", + "า à¸ģาร", + "าà¸ģ าร", + "ĠÄį lán", + "Îķ Ρ", + "Ġ ìĤ°", + "ĠìĤ °", + "β α", + "Ġ æĹ¥æľ¬", + "ĠæĹ¥ æľ¬", + "ز د", + "ĠÙĨ ÛĮست", + "ĠÙĨÛĮ ست", + "Ġha yat", + "Ġhay at", + "Ġhaya t", + "ç¢ º", + "à¹Ģ วล", + "à¹Ģว ล", + "ĠCh ÃŃnh", + "ĠChÃŃ nh", + "ï¼Į æĺ¯", + "ĠÙĪ Ø§ØŃ", + "ĠÙĪØ§ ØŃ", + "èı ¯", + "Ġή ÏĦαν", + "Ġx á»Ń", + "ĠÄį erv", + "ĠÄįer v", + "ĠÄįe rv", + "ĠÙħد ÛĮر", + "é Ĩ", + "ĠëĪ Ī", + "ç» Ń", + "Ġt ên", + "ìĸ ¸", + "Ġort aya", + "Ġorta ya", + "Ġ жен", + "Ġж ен", + "Ġже н", + "Ġn Æ¡i", + "ен нÑĭе", + "ÑĦ екÑĤив", + "ÑĦек ÑĤив", + "íĿ ¬", + "Ġkh á»ı", + "ĠÄij a", + "os yal", + "osy al", + "à¸Ľà¸£à¸° à¹Ģà¸Ĺศ", + "Ġo dst", + "Ġod st", + "Ġ à¸ĸ", + "Ġภĸ", + "Ġο ÏĢο", + "æĶ¿ åºľ", + "Ġb Ãłn", + "ĠbÃł n", + "ĠG iá»", + "ĠGi á»", + "Ġold uk", + "Ġol duk", + "Ġoldu k", + "о вание", + "ов ание", + "ова ние", + "овани е", + "ован ие", + "à¸Ń ส", + "Ġ нев", + "Ġн ев", + "Ġне в", + "ÏĦ Ïģο", + "ÏĦÏģ ο", + "Ġ ìĨį", + "ĠìĨ į", + "k ı", + "Ġब ड", + "Ġ ÏħÏĢ", + "ĠÏħ ÏĢ", + "Ġ Vý", + "ĠV ý", + "ï¾ Ħ", + "çŃ ĸ", + "ε ÏĨ", + "Ġ åħ¨", + "Ġåħ ¨", + "ĠÙģ Ø±ÙĪØ´", + "ĠÙ쨱 ÙĪØ´", + "ĠÙ쨱ÙĪ Ø´", + "ÙĤÛĮ ÙĤ", + "ä¼ģ ä¸ļ", + "ε Ïį", + "èĻ Ł", + "Ġa yr", + "Ġay r", + "ض ÙĪ", + "Å¡ el", + "Å¡e l", + "Ġп ÑĸÑģлÑı", + "ĠпÑĸÑģ лÑı", + "Ñĸй Ñģ", + "é¢ Ĩ", + "Ú© تر", + "کت ر", + "л Ñĥб", + "лÑĥ б", + "è« ĸ", + "æ° ¸", + "ез пеÑĩ", + "Ġ кам", + "Ġк ам", + "Ġка м", + "ع داد", + "عد اد", + "ê±° ëŀĺ", + "ู à¸ĩ", + "ĠتÙĩ راÙĨ", + "Ġ ëĦĪ", + "ĠëĦ Ī", + "ÑĢ Ð¸Ð²", + "ÑĢи в", + "Ġ ÑĤоÑĢ", + "ĠÑĤ оÑĢ", + "ĠÑĤо ÑĢ", + "ا Ùī", + "ا٠ī", + "' Ñıз", + "'Ñı з", + "ÙIJ ÙĬ", + "Ġkh ÃŃ", + "Ġ ÑĪÑĤ", + "ĠÑĪ ÑĤ", + "Ġ ξε", + "ĠÎľ ε", + "Ġb iri", + "Ġbi ri", + "Ġbir i", + "è ĩ´", + "èĩ ´", + "Ñĥ вав", + "Ñĥв ав", + "Ñĥва в", + "ãģĪ ãĤĭ", + "Ġд иÑģ", + "Ġди Ñģ", + "а ÑİÑĤ", + "аÑİ ÑĤ", + "ص ب", + "åĿ ĩ", + "о лÑİ", + "ол Ñİ", + "èĭ ¥", + "Ġ اث", + "Ġا Ø«", + "ĠØ§Ø «", + "s ou", + "so u", + "åIJ ĥ", + "ãģ® ãģł", + "ub lik", + "ubl ik", + "л ей", + "ле й", + "Âł m", + "Ġíıī ê·ł", + "ạ y", + "ε ÏĢ", + "t ık", + "tı k", + "Ġv yu", + "Ġvy u", + "ع ÙĪØ¯", + "Ġд оз", + "Ġдо з", + "Ġl á»ĭch", + "è³ ª", + "à¥ģ à¤Ī", + "à¥ģठĪ", + "ั à¸ŀ", + "Ġt ém", + "Ġté m", + "Ġ kaç", + "Ġk aç", + "Ġka ç", + "Ġc ái", + "Ġcá i", + "Ġ μα", + "Ġμ α", + "â̦â̦ ãĢįĊĊ", + "í ά", + "ر ÙĪÙĩ", + "رÙĪ Ùĩ", + "Ġ rych", + "Ġr ych", + "Ġry ch", + "Îij Τ", + "Ġ ÑĢÑĸв", + "ĠÑĢ Ñĸв", + "ë³ ij", + "åģ ¥", + "Ġzd rav", + "Ġ عدد", + "Ġع دد", + "Ġعد د", + "èį ī", + "δ ια", + "δι α", + "Ġv áºŃn", + "Ñĭ ÑĤ", + "Ġкол иÑĩ", + "Ġко лиÑĩ", + "Ġколи Ñĩ", + "ÏĮ ÏĦε", + "Ġb ırak", + "Ġ ØŃÙħ", + "ĠØŃ Ùħ", + "Ġch á»ĭ", + "é» Ħ", + "ĠاÙĦÙħت ØŃدة", + "ื à¸Ńà¸ģ", + "ืà¸Ń à¸ģ", + "Ġз али", + "Ġза ли", + "Ġзал и", + "Ġnh anh", + "âĢĮ تÙĪØ§ÙĨ", + "ëĿ ½", + "Ġت ÙĪØ³Ø·", + "ĠتÙĪ Ø³Ø·", + "ĠتÙĪØ³ Ø·", + "è¦ģ æ±Ĥ", + "а лÑĥ", + "ал Ñĥ", + "ün kü", + "ünk ü", + "ãģª ãĤĵ", + "Ġ Trong", + "ĠT rong", + "ĠTr ong", + "ĠTro ng", + "à¸Ļ ะ", + "åij ¼", + "Ġ ÙĬÙħ", + "ĠÙĬ Ùħ", + "и ки", + "ик и", + "ĠÑĤ ÑĥÑĤ", + "ĠÑĤÑĥ ÑĤ", + "Ġya ÅŁam", + "ĠyaÅŁ am", + "Ġm á»įi", + "é ĽĦ", + "éĽ Ħ", + "ĠØŃ ض", + "Ġав ÑĤом", + "ĠавÑĤ ом", + "Ġसब स", + "Ġy ếu", + "ãĤ¹ ãĤ¿", + "Ïĩ ή", + "Ñĸ Ñİ", + "è ĺ", + "ิ ย", + "Ġm ev", + "Ġme v", + "ick ého", + "ické ho", + "ि ह", + "िठ¹", + "åŃ £", + "θ ή", + "Ġब ढ", + "ĠاÙĦ Ùħس", + "ĠاÙĦÙħ س", + "ÏĦ οÏħ", + "ÏĦο Ïħ", + "ek li", + "ekl i", + "Ġде ÑĢев", + "ĠдеÑĢ ÐµÐ²", + "å¸ Ń", + "æ² Ļ", + "ãģ« ãĤĤ", + "Ġo blast", + "Ġob last", + "Ġobl ast", + "Ġh á»Ļ", + "Ġhá» Ļ", + "Ġ å¹³", + "Ġå¹ ³", + ".:.:.:.: .:.:.:.:", + ".:.:.:. :.:.:.:.:", + "Ġ éĸ", + "Ġé ĸ", + "Ġ جز", + "Ġج ز", + "ĠÙĩÙħ ÚĨ", + "ä¸ ¦", + "ÑĨ еп", + "ÑĨе п", + "ा Ċ", + "ä¸Ń çļĦ", + "'n ın", + "Ġ íķĺëĬĶ", + "Ġíķĺ ëĬĶ", + "ÑĶ ÑĹ", + "Ġ بش", + "Ġب Ø´", + "åį ´", + "ä¹ ł", + "ĠاطÙĦ اعات", + "ĠاطÙĦاع ات", + "Ġ ë²ł", + "Ġë² ł", + "Ġکرد ÙĨ", + "Ġکر دÙĨ", + "ा ड", + "ाठ¡", + "Ġà¤ħ र", + "ĠH á»į", + "ĠHá» į", + "ĠгÑĢом ад", + "Ġ ست", + "ĠØ ³Øª", + "Ġس ت", + "ÏĦι ÏĤ", + "Ġan cak", + "Ġanc ak", + "Ġ ог", + "Ġо г", + "Ġk teÅĻÃŃ", + "Ġ æ¬", + "Ġæ ¬", + "Ġ Ngh", + "ĠN gh", + "ĠNg h", + "Ġt edy", + "Ġte dy", + "Ġted y", + "Ġ ÏĢο", + "ĠÏĢ Î¿", + "Ġqu ân", + "Ġб Ñĥли", + "ĠбÑĥ ли", + "è¯ Ĩ", + "Ġt ừng", + "Ġtá» «ng", + "Ġtừ ng", + "人 çļĦ", + "ี à¸ģาร", + "ีà¸ģ าร", + "Ġκα ÏĦα", + "Ġpo uze", + "Ġpou ze", + "¡ ng", + "ĠØ¢ ر", + "Ġ ÑĤÑĥ", + "ĠÑĤ Ñĥ", + "Ġt á»·", + "Ġtá» ·", + "ĠD anh", + "ĠDan h", + "ĠDa nh", + "о ном", + "он ом", + "Ñģ ий", + "Ñģи й", + "Ġ à¹Ģà¸Ķ", + "Ġà¹Ģ à¸Ķ", + "Ġà¹ĢภĶ", + "£ ¨", + "Å¡ k", + "ãĥĥ ãĥī", + "ar dır", + "ard ır", + "Ġyö net", + "Ġyön et", + "Ñĥ вали", + "Ñĥв али", + "Ñĥва ли", + "åħĪ çĶŁ", + "Ġ ÐIJÑĢ", + "ĠÐIJ ÑĢ", + "Ġprot ože", + "Ġproto že", + "Ġ íģ¬", + "Ġíģ ¬", + "Ġjed not", + "Ġjedn ot", + "Ġjedno t", + "Ġt ý", + "éĩ ĩ", + "Ġ หร", + "Ġห ร", + "Ġ åľ°", + "Ġåľ °", + "çº ¢", + "Ġм олод", + "Ġмол од", + "Ġмо лод", + "iên g", + "iê ng", + "ĠÏĮ ÏĦι", + "Ġد اشتÙĩ", + "Ġداش تÙĩ", + "Ġداشت Ùĩ", + "Ġuy gun", + "Ġuyg un", + "Ġuygu n", + "Ġоп еÑĢа", + "ĠопеÑĢ Ð°", + "åı «", + "Ġ ап", + "Ġа п", + "Ġ кÑĥÑĢ", + "Ġк ÑĥÑĢ", + "ĠкÑĥ ÑĢ", + "ا عة", + "اع Ø©", + "un uz", + "unu z", + "Ġ ìĤ¬ì§Ħ", + "ĠìĤ¬ ì§Ħ", + "Ġv ô", + "ç ok", + "ço k", + "Ġ èģ", + "Ġè ģ", + "ÑĤе ÑĢеÑģ", + "ÑĤеÑĢ ÐµÑģ", + "Ġ استاÙĨ", + "Ġا ستاÙĨ", + "Ġاست اÙĨ", + "Ġاس تاÙĨ", + "а лаÑģÑĮ", + "ала ÑģÑĮ", + "à¥ģ व", + "à¥ģठµ", + "á» ³", + "Ġl ưu", + "Ġ Та", + "ĠТ а", + "Ġl á»±a", + "' ÑĶ", + "Ġ üy", + "Ġü y", + "Ġ ÛĮÚ©ÛĮ", + "ĠÛĮ Ú©ÛĮ", + "ĠÛĮÚ© ÛĮ", + "æ ¾", + "н ем", + "не м", + "Ġ خاÙĨ", + "ĠØ® اÙĨ", + "ĠÑį лек", + "ÙĤ اÙĦ", + "л ок", + "ло к", + "ĠÄij ẹp", + "à¥ī ल", + "Ġm ůž", + "Ġmů ž", + "ëĭ¤ ëĬĶ", + "Ġ íķĺëĤĺ", + "Ġíķĺ ëĤĺ", + "ÙĦ ت", + "çݰ åľ¨", + "м о", + "Ïħ Ïĥ", + "ãģŁ ãģ¡", + "ĠìłĦ ìĦ¸", + "à¥į à¤Łà¤°", + "à¥įà¤Ł र", + "ع ات", + "عا ت", + "د ÙĪ", + "ä¿ º", + "æ¥ ½", + "æ£ ®", + "Ġл иÑģÑĤ", + "Ġли ÑģÑĤ", + "δ ι", + "å¯ Į", + "ĠÄij ưa", + "в еÑģÑĤи", + "ве ÑģÑĤи", + "веÑģÑĤ и", + "д о", + "ан нÑĸ", + "Ġü ret", + "Ġür et", + "Ġg á»įi", + "ĠÑģ воÑİ", + "ĠÑģв оÑİ", + "ĠÑģво Ñİ", + "á» «ng", + "ừ ng", + "Ġt ất", + "äºļ æ´²", + "á ce", + "ác e", + "N Ãį", + "Ġ ÑĢÑĭ", + "ĠÑĢ Ñĭ", + "æ» ¡", + "Ïģ εÏĤ", + "Ïģε ÏĤ", + "åħį è´¹", + "л оÑĤ", + "ло ÑĤ", + "æĻ º", + "Ġα γ", + "Ġà¤ħ म", + "Ġ ç´", + "Ġç ´", + "о до", + "од о", + "Ñħ и", + "Ġngu á»ĵn", + "éĥ¨ åĪĨ", + "в аÑĤ", + "ва ÑĤ", + "ĠÑĤ еб", + "ĠÑĤе б", + "з аÑĨÑĸÑĹ", + "за ÑĨÑĸÑĹ", + "Ġ ÐŁÑĢо", + "ĠÐŁ ÑĢо", + "ĠÐŁÑĢ Ð¾", + "ع ÛĮ", + "Ġ ÙĪÙĬ", + "ĠÙĪ ÙĬ", + "ëŀ ľ", + "Ġne by", + "Ġneb y", + "Ġج دÛĮد", + "Ġجد ÛĮد", + "ÄŁ imiz", + "ÄŁim iz", + "£ ½", + "Ġà¤Ĩ त", + "Ġà¤Ń र", + "æī ĺ", + "å®ī åħ¨", + "Ġëĵ¤ ìĸ´", + "ب رد", + "بر د", + "Ġê²ĥ ìĿ´", + "äº ²", + "æ° ı", + "ал Ñĸз", + "алÑĸ з", + "l ack", + "la ck", + "lac k", + "ĠÙħخت ÙĦÙģ", + "ا ÙĨÙĬØ©", + "اÙĨ ÙĬØ©", + "اÙĨÙĬ Ø©", + "Ġ ì²Ń", + "Ġì² Ń", + "Ġ виÑĤ", + "Ġв иÑĤ", + "Ġви ÑĤ", + "Ġhar eket", + "Ġhare ket", + "Ġharek et", + "é ¨", + "à¸Ļ ำ", + "Ġب رخ", + "Ġبر Ø®", + "å£ ²", + "Ñĩ ай", + "Ñĩа й", + "Ġan lat", + "Ġà¤ħ व", + "ĠاÙģ Ø²", + "Ġh ết", + "ĠÚĨ ÙĨد", + "éĹ ľ", + "пÑĢи ÑĶм", + "g ı", + "Ġk omp", + "Ġkom p", + "Ġko mp", + "Ġl Ỽp", + "ĠlỼ p", + "Ġm á»Ĺi", + "Ġmá» Ĺi", + "à¸Ľà¸£à¸° à¸ģ", + "Ġ haf", + "Ġh af", + "Ġha f", + "Ġ eder", + "Ġe der", + "Ġed er", + "Ġзд оÑĢов", + "à¥Ĥ म", + "ëł ¸", + "Ġo nun", + "Ġon un", + "Ġonu n", + "ĠÙħر دÙħ", + "ĠÙħرد Ùħ", + "ĠÐľ аÑĢ", + "ĠÐľÐ° ÑĢ", + "Ġìĸ´ ëĸ", + "м ан", + "ма н", + "Ġ ÑģилÑĮ", + "ĠÑģ илÑĮ", + "ĠÑģи лÑĮ", + "ĠÑģил ÑĮ", + "ç¶ ²", + "ë¸ Ķ", + "л ÑıеÑĤ", + "лÑı еÑĤ", + "ĠнеÑģк олÑĮко", + "ĠнеÑģколÑĮ ко", + "l andır", + "land ır", + "lan dır", + "landı r", + "Ġв д", + "ĠÙĨ ÙĪ", + "ãģ İ", + "ÑĤ ин", + "ÑĤи н", + "ت Ø´", + "а ний", + "ан ий", + "ани й", + "Ġt ÅĻ", + "Ñģ иÑħ", + "Ñģи Ñħ", + "л ом", + "ло м", + "æŃ ©", + "ãİ ¡", + "Ġ ØŃر", + "ĠØŃ ر", + "æĭ į", + "e nou", + "en ou", + "eno u", + "Ġв ели", + "Ġвел и", + "Ġве ли", + "Ġ δη", + "Ġδ η", + "s ka", + "sk a", + "主 è¦ģ", + "ا Ù쨩", + "اÙģ Ø©", + "ĠболÑĮ ÑĪе", + "ĠболÑĮÑĪ Ðµ", + "ิ ศ", + "çĽ Ĭ", + "ĠÙģ ÙĤØ·", + "ĠÙģÙĤ Ø·", + "å¨ ģ", + "Ġh Æ°á»Łng", + "ĠD oÄŁ", + "ĠDo ÄŁ", + "Ġd Ãłi", + "Ġ гоÑĤов", + "Ġг оÑĤов", + "ĠгоÑĤ ов", + "Ġв ам", + "Ġва м", + "âĢ ī", + "ा à¤ļ", + "ाठļ", + "åħ ¸", + "à¹ĥ หà¸į", + "à¹ĥห à¸į", + "Ġ ç«", + "Ġç «", + "ekt ör", + "Ġв ел", + "Ġве л", + "Ġ ÙĦÙĪ", + "ĠÙĦ ÙĪ", + "Ø´ تÙĩ", + "شت Ùĩ", + "æĺ ¾", + "ả y", + "à¹Ĥ ม", + "Ġt á»ķng", + "Ġtá»ķ ng", + "Ġtá»ķn g", + "ĠповеÑĢ Ñħ", + "ÑĹ Ð²", + "Ġph ép", + "çļ ĩ", + "Ġп оÑĢÑıд", + "Ġпо ÑĢÑıд", + "ĠпоÑĢ Ñıд", + "ĠÑģооÑĤ веÑĤ", + "ठĿ", + "ĠÑģеб Ñı", + "Ġ ëĤł", + "ĠëĤ ł", + "Ġб Ñĥла", + "ĠбÑĥ ла", + "à¹ī าย", + "à¹īา ย", + "Ġ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢ", + "ĠÙħ جÙħÙĪØ¹", + "ï¼Į 以", + "Ġب ÙĪØ¯Ùĩ", + "ĠبÙĪØ¯ Ùĩ", + "ĠبÙĪ Ø¯Ùĩ", + "μ ÏĮ", + "Ġ íݸ", + "Ġíİ ¸", + "eÅŁ it", + "Ñİ Ñīие", + "ÑİÑī ие", + "Ñİ ÑīиÑħ", + "ÑİÑī иÑħ", + "åŁº éĩij", + "Ġت ØŃت", + "ĠتØŃ ت", + "Ġв лаÑģ", + "Ġвла Ñģ", + "ler le", + "ãĤ ²", + "ëĬ ĺ", + "è ĵ", + "m anın", + "man ın", + "manı n", + "ìŀ Ī", + "Ġz ast", + "Ġza st", + "Ġzas t", + "ĠÑĩелов ек", + "à¥ĩ ब", + "à¥ĩठ¬", + "p eÄį", + "pe Äį", + "Ġبر ÙĨاÙħÙĩ", + "Ġs lov", + "Ġsl ov", + "Ġslo v", + "ĠnÄĽ jak", + "ĠnÄĽj ak", + "ê· ľ", + "à¥ĩ ह", + "à¥ĩठ¹", + "èĹ ¤", + "ĠبÛĮ شتر", + "ĠبÛĮØ´ تر", + "il iz", + "ili z", + "Ġ ëĶĶ", + "Ġë ĶĶ", + "ĠëĶ Ķ", + "ا زÙĩ", + "از Ùĩ", + "ت د", + "Ġe tm", + "Ġet m", + "Ġëĭ¤ 른", + "Ġ vů", + "Ġv ů", + "å° Ħ", + "Ġк лаÑģ", + "Ġкл аÑģ", + "Ġкла Ñģ", + "в ÑĢоп", + "æ´ ¾", + "ĠÄij ình", + "Ñĥ ÑİÑĤ", + "ÑĥÑİ ÑĤ", + "Ñĥ еÑĤÑģÑı", + "ÑĥеÑĤ ÑģÑı", + "éľ ²", + "Ġ ÑģкоÑĢ", + "ĠÑģ коÑĢ", + "ĠÑģк оÑĢ", + "Ġв аÑģ", + "Ġва Ñģ", + "íķĺ ìĺĢëĭ¤", + "íķĺìĺĢ ëĭ¤", + "Ġ داشت", + "Ġد اشت", + "Ġداش ت", + "Ġ çĦ", + "Ġç Ħ", + "Ġ 西", + "Ġè ¥¿", + "Ġκα ÏĦά", + "ॠ¦", + "ìĹ Ĩ", + "Ġ خدÙħ", + "ĠØ® دÙħ", + "Ġخد Ùħ", + "ا سÙħ", + "اس Ùħ", + "Îij Ρ", + "ĠA ma", + "ĠAm a", + "å¥ ¥", + "Ġبزر Ú¯", + "Ġ ÐĴÑĸн", + "ĠÐĴ Ñĸн", + "Ġ Åĺ", + "ĠÅ ĺ", + "Ġ à¸Īาà¸ģ", + "Ġà¸Ī าà¸ģ", + "ĠÑħаÑĢакÑĤ еÑĢ", + "ĠÄij á»Ļi", + "ĠÄijá»Ļ i", + "ĠÑĢоз виÑĤ", + "ĠÑĢозви ÑĤ", + "ĠпÑĢоÑĦ еÑģ", + "Ġкон ÑĤÑĢ", + "ĠконÑĤ ÑĢ", + "ÎŁ ÎĽ", + "ÎŁÎ Ľ", + "Ġm inh", + "Ġmin h", + "Ġmi nh", + "ä¼ ij", + "ì ª½", + "Ġch Æ¡i", + "з аÑĨии", + "за ÑĨии", + "ĠдÑĸÑı лÑĮ", + "ë Ĩ", + "Ġn gay", + "Ġng ay", + "Ġnga y", + "à¥Ĥ à¤Ĥ", + "Ġiht iy", + "éĽ ª", + "Ġ ê´Ģ리ìŀIJ", + "Ġê´Ģ리 ìŀIJ", + "Ġc ụ", + "Ġ ì§Ī", + "Ġì§ Ī", + "ÙĬ Ø«", + "ặ p", + "ÙĪ Ø§Ø¹", + "ÙĪØ§ ع", + "ãģĤ ãģ£ãģŁ", + "Ġ çľ", + "Ġç ľ", + "Ġ ìļ°ë¦¬", + "Ġìļ° ë¦¬", + "à¹Ī à¸ĩà¸Ĥ", + "à¹Īà¸ĩ à¸Ĥ", + "Ġ çŃ", + "Ġç Ń", + ") ØĮ", + "Ãł m", + "ÙĦ ÛĮÙĦ", + "ÙĦÛĮ ÙĦ", + "Ġ 걸", + "Ġê± ¸", + "алÑĮ ниÑħ", + "æĹ¶ åĢĻ", + "un dan", + "und an", + "unda n", + "Ġ Gün", + "ĠG ün", + "ĠGü n", + "Ġ topl", + "Ġt opl", + "Ġto pl", + "Ġtop l", + "ĠÑĢек омен", + "ĠاÙĨت خاب", + "Ãł u", + "Äį ka", + "ë° Ģ", + "Ġк ÑĢаÑģ", + "ĠкÑĢа Ñģ", + "л оп", + "ло п", + "å¼ µ", + "ĠاÙĦ Ùħع", + "ĠاÙĦÙħ ع", + "m ÃŃn", + "mÃŃ n", + "Ġv iết", + "Ġvi ết", + "Ġ ê°ĻìĿĢ", + "Ġê°Ļ ìĿĢ", + "ut eÄį", + "ute Äį", + "Ġ nech", + "Ġn ech", + "Ġne ch", + "Ġnec h", + "çµ Ĥ", + "ãģª ãģĮ", + "ay ın", + "ayı n", + "Ġ Äįin", + "ĠÄį in", + "ĠÄįi n", + "ch ázÃŃ", + "cház ÃŃ", + "اÙģ Ø¸", + "ÑĢ Ð¾Ð²Ð°ÑĤÑĮ", + "ÑĢов аÑĤÑĮ", + "ÑĢо ваÑĤÑĮ", + "ÑĢова ÑĤÑĮ", + "à¹Ħ ร", + "Ġ ãĤ¤", + "ĠãĤ ¤", + "Ġзаб олева", + "Ġ å±±", + "Ġå± ±", + "Ġka dın", + "Ġkad ın", + "ÏĦ ηÏĤ", + "ÏĦη ÏĤ", + "а лиÑģÑĮ", + "ал иÑģÑĮ", + "али ÑģÑĮ", + "Ġh ük", + "åĵ ¥", + "Ġп еÑĢи", + "ĠпеÑĢ Ð¸", + "ÅĻ Ã¡d", + "Ġà¤ħ स", + "Ġ ÑģÑĤвоÑĢ", + "ĠÑģÑĤ воÑĢ", + "ĠÙĪ ÛĮÚ©ÛĮ", + "ĠÙĪÛĮ Ú©ÛĮ", + "Ġ ì¡", + "Ġì ¡", + "Ġc á»Ńa", + "Ġcá»Ń a", + "Ġh iá»ĥu", + "游 æĪı", + "ÑĮ омÑĥ", + "Ġg ó", + "Ġt oh", + "Ġto h", + "Ġб ла", + "Ġбл а", + "Ġ åij", + "Ġå ij", + "Ġп ло", + "Ġпл о", + "и ÑĪ", + "ĠÄij ấu", + "s kou", + "sk ou", + "sko u", + "ãĤĪ ãĤĬ", + "ู à¸Ľ", + "Ġr á»ĵi", + "оп ÑĢоÑģ", + "н олог", + "ĠÑĤ ÑĢав", + "ĠÑĤÑĢ Ð°Ð²", + "ĠÑĤÑĢа в", + "ĠWay back", + "Ġ à¹Ĩ", + "ĠÑĥ ÑĩаÑģÑĤ", + "ĠÑĥÑĩ аÑģÑĤ", + "ĠÑĥÑĩа ÑģÑĤ", + "ĠÑĥÑĩаÑģ ÑĤ", + "ĠпÑĢеп аÑĢа", + "Ġd ạng", + "ĠÃľ n", + "à¹Ħล à¸Ļ", + "Ġد اخ", + "Ġs Æ¡", + "Ġk oy", + "Ġko y", + "ëĿ¼ ê³ł", + "ĠÄij úng", + "à¥ĩà¤Ĥ ,", + "Ġgeç ir", + "ĠÑıк Ñīо", + "Ñģ ÑĤÑĢо", + "ÑģÑĤ ÑĢо", + "ÑģÑĤÑĢ Ð¾", + "ен ÑĤов", + "енÑĤ ов", + "Ñĸ ж", + "к ÑĥÑİ", + "кÑĥ Ñİ", + "Ġe ÄŁitim", + "ĠeÄŁit im", + "à¥įर स", + "Ġ Сп", + "ĠС п", + "ا تÛĮ", + "ات ÛĮ", + "ãģij ãĤĭ", + "ÏĦ Ïīν", + "ÏĦÏī ν", + "Ġ км", + "Ġк м", + "âĸįâĸį âĸįâĸį", + "j ist", + "ji st", + "jis t", + "ÑĤ ак", + "ÑĤа к", + "Ġ åIJįåīį", + "ĠåIJį åīį", + "é¡ Ķ", + "л Ñĭ", + "Ġkh ảo", + "Ġkhả o", + "âĢĻ Ñı", + "ĠÙħ ÙĦÛĮ", + "ĠÙħÙĦ ÛĮ", + "l ož", + "lo ž", + "Ġ ìĸ¸", + "Ġìĸ ¸", + "Ġg ần", + "Ġ à¤ľà¤°", + "Ġà¤ľ र", + "ब र", + "Îķ Σ", + "า à¸Ľ", + "าภĽ", + "Ġn ás", + "Ġná s", + "form ace", + "forma ce", + "Ġet mek", + "Ġetm ek", + "Ġetme k", + "в еÑģÑĤ", + "ве ÑģÑĤ", + "ìĸ´ ìļĶ", + "Ġत थ", + "ĠÑģ ек", + "ξ η", + "æ¯ Ľ", + "B ir", + "Bi r", + "Ġ ìŀĦ", + "Ġìŀ Ħ", + "Ġv ardır", + "Ġvar dır", + "Ġvardı r", + "ÙĪ Ø§ÙĦ", + "ÙĪØ§ ÙĦ", + "İ R", + "ov ané", + "ova né", + "ovan é", + "н аÑĢод", + "на ÑĢод", + "наÑĢ Ð¾Ð´", + "à¸Ħ ำ", + "e mek", + "em ek", + "eme k", + "ĠÎķ ÏĢ", + "Ġ ÅĻe", + "ĠÅĻ e", + "ãģ¾ ãģĽ", + "uyá»ĩ t", + "Ġ ìĸ¼", + "Ġìĸ ¼", + "r ů", + "Ġ onu", + "Ġo nu", + "Ġon u", + "à¹Ģà¸ķ à¸Ńร", + "од аÑĢ", + "ода ÑĢ", + "ز Ùĩ", + "Ġk av", + "Ġka v", + "о нÑĭ", + "он Ñĭ", + "Ġв еÑģ", + "Ġве Ñģ", + "ìĤ¬ ì§Ģ", + "Ġг ла", + "à Ŀ", + "ĠÙĤ ÛĮÙħت", + "çķ ¥", + "à¸ĸ าà¸Ļ", + "Äį il", + "Äįi l", + "Ġ ä¸ĩ", + "Ġä¸ ĩ", + "è¾ ĥ", + "åħ ħ", + "Ġ ÑĢед", + "ĠÑĢ ÐµÐ´", + "ĠÑĢе д", + "ม ห", + "am ilia", + "ami lia", + "amil ia", + "à¥ĩ à¤ķर", + "à¥ĩà¤ķ र", + "Ġt á»iji", + "Ġtá»ij i", + "Ùģ ÛĮ", + "ÑĢ ÑĸÑĪ", + "ÑĢÑĸ ÑĪ", + "ìķ ł", + "à¸Ļ ส", + "à¸Ī ร", + "à¥ĩ शन", + "à¥ĩश न", + "ĠÙħÙĪ Ø¶ÙĪØ¹", + "æī ¹", + "Ġob sah", + "Ġobs ah", + "Ġнав Ñĩ", + "Ġdes tek", + "Ġdest ek", + "Ġdeste k", + "Ġ zas", + "Ġz as", + "Ġza s", + "å ĵį", + "åĵ į", + "üm üz", + "ümü z", + "Ġ çŁ", + "Ġç Ł", + "Ġ è¨", + "Ġè ¨", + "Ù ¬", + "ç» Ī", + "Ġz de", + "Ġzd e", + "Ġz áp", + "Ġzá p", + "à¥Ĥ सर", + "à¥Ĥस र", + "ìĿ´ ì§Ģ", + "çļ ®", + "l om", + "lo m", + "ॠ§", + "ÙĦ اÙĤ", + "ÙĦا ÙĤ", + "à¸Ļ à¸ķ", + "íĮ ħ", + "л ада", + "ла да", + "лад а", + "m asına", + "mas ına", + "ması na", + "ãģ® ãģ§", + "ëĵ¤ ìĿĦ", + "Ġн аг", + "Ġна г", + "m asını", + "mas ını", + "ãĤ Ŀ", + "ın ıf", + "ını f", + "åĽ ´", + "Ġböl üm", + "å¥ ĸ", + "æ¨ Ļ", + "ÙĦ اØŃ", + "ÙĦا ØŃ", + "Ġг оÑģÑĥдаÑĢ", + "داÙĨ ÙĦÙĪØ¯", + "Ġп оÑĤÑĢеб", + "ĠпоÑĤ ÑĢеб", + "ĠÑĢ Ð¾ÑĨÑĸ", + "о га", + "ог а", + "ĠÑģлед ÑĥеÑĤ", + "Ġп аÑĢа", + "ĠпаÑĢ Ð°", + "Ġпа ÑĢа", + "é ¼", + "ãģį ãģŁ", + "ί ζ", + "Ġb á»ij", + "ÑĤ Ñĸв", + "ÑĤÑĸ в", + "ï¼Į 她", + "f amilia", + "éł ħ", + "Ġد ÙĦ", + "Ġs kup", + "Ġsk up", + "Ġsku p", + "еÑĩ ение", + "ãģĵãģ¨ ãģĮ", + "à¥Ģ ब", + "ุ ล", + "¨ ë¶Ģ", + "ĠاÙĦع رب", + "Ġ ç¾İ", + "Ġç¾ İ", + "ĠاÙĦ ÙħÙĪ", + "ĠاÙĦÙħ ÙĪ", + "Ġ Ø¥ÙĨ", + "ĠØ¥ ÙĨ", + "Ġná sled", + "Ġnás led", + "Ġt omu", + "Ġto mu", + "Ġtom u", + "Î Ħ", + "Ġз ави", + "Ġза ви", + "Ġзав и", + "Ġn hu", + "Ġnh u", + "ĠpÅĻed stav", + "ìłķ ë³´", + "o kol", + "ok ol", + "oko l", + "Ġк ÑĢи", + "a du", + "ad u", + "Ġ каÑĤ", + "Ġк аÑĤ", + "Ġка ÑĤ", + "Ġ ÑįÑĦ", + "ĠÑį ÑĦ", + "в ал", + "ва л", + "m ayı", + "ma yı", + "may ı", + "ĠÑĩаÑģ ÑĤо", + "ĠÑĩаÑģÑĤ о", + "Ġtr anh", + "Ġtra nh", + "Ġtran h", + "ائ ÙĦ", + "ãĤĪãģĨ ãģª", + "Ġp oh", + "Ġpo h", + "ìĥģ ìľĦ", + "Ġs ắc", + "Ùĥ س", + "Ġ мÑĥ", + "Ġм Ñĥ", + ". ::", + ".: :", + "ë Ī", + "» Ċ", + "Ġ ÙĨÚ¯", + "ĠÙĨ Ú¯", + "ÙIJ ÙĨ", + "н иком", + "ни ком", + "ник ом", + "Ñħ а", + "Ġ μοÏħ", + "Ġμ οÏħ", + "Ġμο Ïħ", + "ĠNg uyá»ħn", + "ĠвÑĭ Ñģок", + "ĠвÑĭÑģ ок", + "Ġ ÐŁÐ¾Ð´", + "ĠÐŁ од", + "ĠÐŁÐ¾ д", + "ĠпÑĢи ÑĢод", + "à¥ĭ ध", + "िà¤ķ ल", + "и ÑĢа", + "иÑĢ Ð°", + "ëĭ¤ ê³ł", + "Ġm ajÃŃ", + "Ġma jÃŃ", + "Ġmaj ÃŃ", + "Ġv ùng", + "Ġtarih inde", + "Ġtarihi nde", + "Ġ ваÑĢ", + "Ġв аÑĢ", + "Ġва ÑĢ", + "н иÑĤÑĮ", + "ни ÑĤÑĮ", + "ниÑĤ ÑĮ", + "ει ÏĤ", + "Ġ åĩº", + "Ġåĩ º", + "dy ž", + "ÏĦ Ïİν", + "ÏĦÏİ Î½", + "ä½ĵ èĤ²", + "Ġ à¹Ģว", + "Ġà¹Ģ ว", + "Ġà¹Ģภ§", + "Ġà¤ħ à¤ļ", + "Ġ اÙĨÚ¯ÙĦÛĮسÛĮ", + "ĠاÙĨÚ¯ ÙĦÛĮسÛĮ", + "à¥įय म", + "Ġgel iÅŁ", + "æ¹ ĸ", + "Ġ اک", + "Ġا Ú©", + "Ġп лан", + "Ġпл ан", + "Ġпла н", + "k yt", + "ky t", + "ا بÛĮ", + "اب ÛĮ", + "κ ι", + "Ġc hung", + "Ġch ung", + "Ġchu ng", + "ान à¤ķ", + "s ı", + "Ġt inh", + "Ġti nh", + "Ġtin h", + "ĠÑģÑĤ ол", + "ĠÑģÑĤо л", + "ÑģÑĤ ÑĢÑĥ", + "ÑģÑĤÑĢ Ñĥ", + "Ġли ÑĪе", + "ĠлиÑĪ Ðµ", + "Ġви ÑĢоб", + "il miÅŁ", + "ilm iÅŁ", + "Ġ зÑĸ", + "Ġз Ñĸ", + "ç» Ĩ", + "åĢ Ĵ", + "ãĤ· ãĥ£", + "åŃ ©", + "Ġ à¹Ĥรà¸ĩà¹Ģร", + "Ġà¹Ĥ รà¸ĩà¹Ģร", + "Ġà¹Ĥรà¸ĩ à¹Ģร", + "íĻ ľ", + "ĠбÑĥд е", + "ĠбÑĥ де", + "Ġyak laÅŁ", + "èĩª åĪĨ", + "Ġ ÙģÙĪ", + "ĠÙģ ÙĪ", + "С Т", + "Ġso run", + "Ġsor un", + "Ġsoru n", + "à¹Ģ à¸ł", + "à¹Ģภł", + "Ġc ô", + "в иÑĩ", + "ви Ñĩ", + "ëĵ¤ ìĿĺ", + "Ġtr iá»ĩu", + "Ġtri á»ĩu", + "Ġr õ", + "Ġ ãģ«", + "ÄŁ im", + "ÄŁi m", + "iyor uz", + "è ľ", + "à¥įर व", + "Ġس Ù¾", + "Ġ ìĦľìļ¸", + "ĠìĦľ ìļ¸", + "δ ε", + "еÑĢ ÑĪ", + "Ġ أس", + "ĠØ£ س", + "äº ŀ", + "è¯ į", + "п ÑĤом", + "ฤ ษ", + "Ġساز ÙħاÙĨ", + "Ġlu ôn", + "Ùĩ ÙĪØ±", + "c ü", + "аÑĤ кÑĥ", + "Ġo labilir", + "Ġol abilir", + "Ġolab ilir", + "Ġola bilir", + "Ġ ìĹ°êµ¬", + "ĠìŰ 구", + "ен ной", + "енно й", + "Ġ æĪij", + "ĠæĪ ij", + "Ġ него", + "Ġн его", + "Ġне го", + "Ġнег о", + "Ġ. **************", + "ิ à¸ĺ", + "Ġ ãĤ·", + "ĠãĤ ·", + "ت Ùģ", + "ÐŁ ÑĢо", + "ÐŁÑĢ Ð¾", + "Ġhakk ında", + "Ġhakkı nda", + "Äį nÄĽ", + "ĠM ỹ", + "é ½", + "ĠÏĥ ÏĦον", + "ĠÏĥÏĦο ν", + "Ġ âm", + "Ġâ m", + "§ ظ", + "ĠÅŁ irket", + "æĥħ åĨµ", + "ĠØ¢ÙħÙĪØ² Ø´", + "λ εÏħ", + "λε Ïħ", + "Ùħ Ùĩ", + "è¦ ı", + "ãģ¨ æĢĿ", + "Ġ ÙĪØ¹", + "ĠÙĪ Ø¹", + "ÏĪ Î·", + "Ïģ οÏį", + "Ïģο Ïį", + "Ġ ÂłĊ", + "ĠÂł Ċ", + "δ η", + "ÑĪ Ð¾Ð²", + "åĪ ¤", + "Ġm ắt", + "æĭ ¿", + "à¸Ļ à¸Ķ", + "éĻ Ħ", + "à¹ī ม", + "ĠÄij ạt", + "Ġg üzel", + "Ġgü zel", + "m Ã¼ÅŁ", + "Ðŀ ÐĴ", + "çĭ ¬", + "리 를", + "Ġп лаÑĤ", + "Ġпл аÑĤ", + "Ġпла ÑĤ", + "Ġngh á»ĭ", + "ĠÑĤак иÑħ", + "ĠÑĤа киÑħ", + "б иÑĢа", + "би ÑĢа", + "Ġн ек", + "Ġне к", + "ÑģÑĮ кÑĸ", + "ÑģÑĮк Ñĸ", + "رÙĬ اض", + "o nu", + "on u", + "à¥ĭ म", + "ĠGi Ỽi", + "ĠGiá» Ľi", + "èŀ į", + "é ²", + "ĠGe nel", + "ĠGen el", + "ĠGene l", + "åĬ ¿", + "Ġ вÑĸ", + "Ġв Ñĸ", + "å§ IJ", + "è© ¦", + "ĠжиÑĤ ÑĤÑı", + "Ġ ìĺ¨", + "Ġìĺ ¨", + "åĩº æĿ¥", + "Ġt á»ij", + "Ġtá» ij", + "Ġl ao", + "Ġla o", + "ί ο", + "ĠÎł α", + "н иÑĤелÑĮ", + "ниÑĤ елÑĮ", + "ниÑĤе лÑĮ", + "éļ İ", + "Ġви кон", + "Ġвик он", + "Ġвико н", + "ĠÙģ Ø¹Ø§ÙĦ", + "ĠÙ쨹 اÙĦ", + "à¹Ģ ศ", + "à¹Ģภ¨", + "ÏĮ γ", + "ĠоÑĢгани з", + "ĠоÑĢган из", + "Ġ емÑĥ", + "Ġе мÑĥ", + "Ġем Ñĥ", + "Ġ ÙĬع", + "ĠÙĬ ع", + "ĠÙħ ب", + "ाल य", + "ĠÎľ ÏĢ", + "é ¸", + "ù a", + "ê¸ ¸", + "Ġ ÄIJiá»ģu", + "ĠÄIJ iá»ģu", + "ε ίο", + "εί ο", + "äº ī", + "ượ t", + "ÑĢа зÑĥ", + "ÑĢаз Ñĥ", + "ĠоÑĤ ÑĢим", + "ĠоÑĤÑĢи м", + "Ġ طب", + "ĠØ· ب", + "Ġ 以", + "æĸ Ĺ", + "ë° ±", + "à¤ĩ स", + "ë§Į ìĽIJ", + "ãĢģ ãģĿãģ®", + "ĠëķĮ 문", + "ĠØ¢ ÛĮ", + "С Ðł", + "ض ÙĦ", + "æ ĵį", + "æĵ į", + "k azy", + "ka zy", + "kaz y", + "ส ว", + "â ng", + "ân g", + "à¤Ĥ à¤Ń", + "н ÑĸÑĩ", + "нÑĸ Ñĩ", + "ั à¸ĩà¸ģ", + "ัà¸ĩ à¸ģ", + "Ġبر رسÛĮ", + "ر دÙĩ", + "رد Ùĩ", + "Ġm ẫu", + "à¹Ī วà¸ĩ", + "à¹Īว à¸ĩ", + "ĠداÙĨØ´ گاÙĩ", + "d ıģ", + "dı ÄŁ", + "ĠT á»ķng", + "ĠTá»ķ ng", + "第 äºĮ", + "c ÃŃm", + "cÃŃ m", + "Ġb öyle", + "Ġbö yle", + "ë ¶Ī", + "ë¶ Ī", + "ĠÙħÙĨ ابع", + "à¥ĥ ष", + "е ÑĤÑĭ", + "еÑĤ Ñĭ", + "åĨ ·", + "åĽ Ń", + "Ġت ÙĪØ¬Ùĩ", + "ĠتÙĪ Ø¬Ùĩ", + "åĪ »", + "æŀ ģ", + "à¤Ł न", + "л ан", + "ла н", + "Ġ íĥĢ", + "Ġíĥ Ģ", + "ä½ IJ", + "Ġ обÑĭ", + "Ġо бÑĭ", + "Ġоб Ñĭ", + "å¸ Ŀ", + "ì» ¤", + "å® Ī", + "èµ· æĿ¥", + "Ġ ãĥ¬", + "Ġãĥ ¬", + "çİ ī", + "à¹Ģ หล", + "à¹Ģห ล", + "и не", + "ин е", + "ห าร", + "หา ร", + "éļ ı", + "Ġг аз", + "ĠاÙĦ عÙħÙĦ", + "ĠاÙĦع ÙħÙĦ", + "ĠاÙĦعÙħ ÙĦ", + "à¥ģ à¤Ŀ", + "à¥ģठĿ", + "Ïģ ιο", + "Ïģι ο", + "Ġv ám", + "Ġvá m", + "Ġع ÙĨد", + "ĠعÙĨ د", + "ÙĨد گاÙĨ", + "ï¼Į éĤ£", + "Ġна Ñħод", + "á no", + "án o", + "ÛĮ اÙĨ", + "ÛĮا ÙĨ", + "ĠØ£ ع", + "Ġ ÑĢади", + "ĠÑĢ Ð°Ð´Ð¸", + "ĠÑĢа ди", + "ĠÑĢад и", + "Ġм ене", + "Ġмен е", + "Ġú da", + "Ïĩ ν", + "ÑĥлÑı ÑĢ", + "à¥Ģ प", + "Ġpou žÃŃ", + "Ġ ä¸", + "ĠÙĤ اÙĨÙĪÙĨ", + "ι κοÏį", + "ικ οÏį", + "ικο Ïį", + "á y", + "Ġç öz", + "ÏĦ Ïģ", + "ÙĨ اÙħ", + "ÙĨا Ùħ", + "ุ à¸ķ", + "åĵ ª", + "ÙĬ ب", + "ä¹ °", + "ÐĶ Ð»Ñı", + "Ġ ëłĪ벨", + "ĠëłĪ 벨", + "ุ à¸ļ", + "н ÑĥÑĤи", + "нÑĥ ÑĤи", + "нÑĥÑĤ и", + "è½ »", + "ĠÎľ α", + "Ġ è¦", + "Ġè ¦", + "аÑĤ ков", + "Ġ ëĪĦ", + "ĠëĪ Ħ", + "Ġt uyá»ĥn", + "Ġtuy á»ĥn", + "Ùİ Ùħ", + "ĠвÑĭ пол", + "ĠвÑĭп ол", + "Ġst udi", + "Ġstud i", + "Ġstu di", + "ĠpÅĻ ek", + "ĠpÅĻe k", + "Ġз ам", + "Ġза м", + "Ġmat eri", + "Ġma teri", + "Ġmate ri", + "Ġmater i", + "åİ ĭ", + "Ġ ал", + "Ġа л", + "Ġ à¸ļร", + "Ġà¸ļ ร", + "Ø· ØŃ", + "ĠÙħر Ú©", + "Ġ ìĭ¬", + "Ġìĭ ¬", + "ĠÙĤ ابÙĦ", + "ĠÙĤاب ÙĦ", + "ĠÐIJ ле", + "ĠÐIJл е", + "ın tı", + "Ġ å»", + "Ġå »", + "İ K", + "ëħĦ ëıĦ", + "Ñĭ ваÑĤÑĮ", + "Ñĭв аÑĤÑĮ", + "Ñĭва ÑĤÑĮ", + "Ġdev let", + "社 ä¼ļ", + "ëĤ ł", + "Ġko lay", + "Ġkol ay", + "Ġkola y", + "ĠÑĢазв иÑĤи", + "ĠÑĢазви ÑĤи", + "а ди", + "ад и", + "ئ ÙĬس", + "a dıģı", + "ad ıģı", + "adı ģı", + "adıģ ı", + "Îij ÎĽ", + "Ġ hoa", + "Ġh oa", + "Ġho a", + "Ġ ศ", + "Ġภ¨", + "ı ÅŁtır", + "Ä±ÅŁ tır", + "ÑĢ Ñİ", + "Ġк аÑĩе", + "Ġка Ñĩе", + "¼ åIJĪ", + "åħ ´", + "Ġ ê·¸ëŁ¬", + "Ġê·¸ 룬", + "Ġм ÑĸÑģÑĤ", + "ĠмÑĸ ÑģÑĤ", + "ĠмÑĸÑģ ÑĤ", + "Ġм не", + "Ġмн е", + "ãĥ¼ ãĤº", + "ãĥ¼ãĤ º", + "ç§ Ģ", + "Ġع ÙĦÙĬÙĩ", + "ĠعÙĦ ÙĬÙĩ", + "ĠعÙĦÙĬ Ùĩ", + "Ġ ìĭľê°Ħ", + "Ġìĭľ ê°Ħ", + "Ġà¤ĺ र", + "Ġ Ñĥг", + "ĠÑĥ г", + "åıij å±ķ", + "ı ÅŁÄ±", + "Ä±ÅŁ ı", + "Ġ ìĪľ", + "ĠìĪ ľ", + "Ġ íĻľ", + "ĠíĻ ľ", + "æ¡ £", + "Ġn okt", + "Ġno kt", + "Ġnok t", + "l ém", + "lé m", + "ен нÑĭй", + "Ġب Ùħ", + "à¥ĩ य", + "à¥ĩठ¯", + "о дав", + "од ав", + "ода в", + "à¹Ĥ ร", + "ï¼Į æľī", + "ا ÙĬات", + "اÙĬ ات", + "اÙĬا ت", + "ا ÛĮÙĩ", + "اÛĮ Ùĩ", + "Ġà¤īप य", + "Ġs mÄĽ", + "Ġsm ÄĽ", + "Ø´ د", + "Ш ÐIJ", + "Ġا ÙħاÙħ", + "ĠاÙħ اÙħ", + "ĠاÙħا Ùħ", + "æ¿ Ģ", + "Ġho ạch", + "об ÑĢаз", + "обÑĢаР·", + "à¥ĭ ह", + "ĠÑĢеб ен", + "иÑĤ елÑı", + "иÑĤе лÑı", + "ãģªãģĮ ãĤī", + "س اÙĦ", + "Ġ à¸Īำ", + "Ġà¸Ī ำ", + "Ġ خاص", + "ĠØ® اص", + "Ġg eri", + "Ġge ri", + "Ġger i", + "ठĺ", + "Ġ ìº", + "Ġì º", + "à¹ģ à¸Ĺ", + "âĢĮ ÛĮ", + "Ú¯ رÛĮ", + "گر ÛĮ", + "ا Ùħبر", + "اÙħ بر", + "ÑĪ Ñĥ", + "Ġp hong", + "Ġph ong", + "Ġphon g", + "и мо", + "им о", + "п а", + "Ġ ìµľê³ł", + "Ġìµľ ê³ł", + "Ġ нам", + "Ġн ам", + "Ġна м", + "o stÃŃ", + "os tÃŃ", + "ost ÃŃ", + "is ini", + "isi ni", + "isin i", + "Ġд Ñĥже", + "ĠдÑĥ же", + "Ñģ ком", + "Ñģк ом", + "Ñģко м", + "ĠпÑĢод Ñĥк", + "ÏĮ ÏĦηÏĦα", + "ÏĮÏĦη ÏĦα", + "a ln", + "al n", + "is ine", + "isi ne", + "isin e", + "è¿ ľ", + "алÑĮ ной", + "алÑĮно й", + "त र", + "t ıģ", + "tı ÄŁ", + "Ġë Ĵ", + "è¿ĺ æĺ¯", + "ĠÙħ Ø«ÙĦ", + "ĠÙħØ« ÙĦ", + "ìľ ¨", + "ï¾ ĺ", + "åĪ ¸", + "ç ¶ļ", + "ç¶ ļ", + "ج اد", + "جا د", + "Ġ кÑĥ", + "Ġк Ñĥ", + "åĢ ij", + "o vu", + "ov u", + "Ġs Ä©", + "Ġ ìłIJ", + "Ġìł IJ", + "ĠÑĥ ÑĢов", + "ि à¤ļ", + "िठļ", + "ov ali", + "ova li", + "oval i", + "Ġ ÙĪÙĨ", + "ĠÙĪ ÙĨ", + "Ġ ìĿĮ", + "ĠìĿ Į", + "Ġк г", + "า à¸ĺ", + "าภĺ", + "ÏĦ Ïģα", + "ÏĦÏģ α", + "ž dy", + "à¹Į à¸ķ", + "Ġ nÄĽm", + "ĠnÄĽ m", + "Ġ Це", + "ĠЦ е", + "n oho", + "no ho", + "Ġëĭ¤ ìĭľ", + "Ġté to", + "Ġb iá»ĥu", + "ĠY ön", + "Ġpr áce", + "Ġprá ce", + "à¥ī र", + "Ġch ÃŃ", + "ов ой", + "ово й", + "Ġm ợ", + "Ġmá» Ł", + "èª ª", + "Ïİ ÏĤ", + "в олÑı", + "во лÑı", + "вол Ñı", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "å¯ ¦", + "é» ŀ", + "Ġà¤ı व", + "Ïħ να", + "Ïħν α", + "å² ¡", + "kh ông", + "ĠpÅĻÃŃpad ÄĽ", + "å Ĺ", + "Ġبد ÙĪÙĨ", + "Ïĥ κε", + "Ïĥκ ε", + "Ġdik kat", + "ĠAn cak", + "ĠAnc ak", + "Ġt iá»ĩn", + "Ġti á»ĩn", + "éĿ Ļ", + "Ġ ìĿ¼ë°ĺ", + "ĠìĿ¼ ë°ĺ", + "ĠÄį len", + "ìķ ħ", + "ा à¤ĩन", + "ाà¤ĩ न", + "ãģ£ ãģ¦ãģĦãģŁ", + "ãģ£ãģ¦ ãģĦãģŁ", + "ãģ£ãģ¦ãģĦ ãģŁ", + "ĠìĿ´ ìļ©", + "ÙĪ ÙħÛĮ", + "ÙĪÙħ ÛĮ", + "i ná", + "in á", + "ặ ng", + "ặn g", + "Ïİ Ïģα", + "ÙĨ ÙĬØ©", + "ÙĨÙĬ Ø©", + "в аж", + "ва ж", + "è İ·", + "èİ ·", + "å© ļ", + "ĠÅŁ u", + "Ġ ãģĬ", + "Ġد رب", + "Ġدر ب", + "Ġd iá»ħn", + "ÅĻ eba", + "ÅĻe ba", + "ÅĻeb a", + "as ının", + "asını n", + "ç½ij ç«Ļ", + "н ÑĮого", + "нÑĮ ого", + "нÑĮо го", + "ĠاÙĦØ£ ÙĪÙĦ", + "ικ ÎŃÏĤ", + "Ġz ÃŃsk", + "о ло", + "ол о", + "ĠÑį ÑĤоÑĤ", + "ĠÑįÑĤ оÑĤ", + "ĠÑįÑĤо ÑĤ", + "Ġp okud", + "Ġpo kud", + "Ġpok ud", + "è² »", + "е ÑĢÑĸв", + "еÑĢ Ñĸв", + "еÑĢÑĸ в", + "ãĥķ ãĤ£", + "ãĥķãĤ £", + "иÑĤÑĥ а", + "Ġv yd", + "Ġvy d", + "о лож", + "ол ож", + "оло ж", + "л ÑıÑĤÑĮ", + "лÑı ÑĤÑĮ", + "ÙĤ Ùħ", + "æ´ ĭ", + "æ§ ĭ", + "Ġغ ÛĮر", + "Ġ stÅĻed", + "Ġst ÅĻed", + "ĠstÅĻ ed", + "ظ ر", + "Ġhiç bir", + "θ εί", + "θε ί", + "z nik", + "zn ik", + "д Ñĭ", + "l uv", + "lu v", + "ĠÙħ ؤ", + "ĠÚ¯ رÙĪÙĩ", + "Ġگر ÙĪÙĩ", + "Ġ ï¼īĊ", + "Ġï¼ī Ċ", + "t eri", + "ter i", + "te ri", + "ĠÏħ ÏĢο", + "ĠÏħÏĢ Î¿", + "v oj", + "vo j", + "Ġبع ض", + "Ġb ilin", + "Ġbi lin", + "Ġbil in", + "Ġ رÙĪØ´", + "Ġر ÙĪØ´", + "ĠرÙĪ Ø´", + "Ġоб Ñıз", + "Ġ ï»", + "Ġï »", + "س ÙĨ", + "Ġ ÏĢα", + "ĠÏĢ Î±", + "í į¼", + "Ġt ÃŃn", + "ĠtÃŃ n", + "Ġ ´", + "Ġ ´", + "ìĤ¬ ìĿ´íĬ¸", + "ìĤ¬ìĿ´ íĬ¸", + "Ġ podob", + "Ġpo dob", + "Ġpod ob", + "Ñī ее", + "Ñīе е", + "Ġ åįĹ", + "Ġåį Ĺ", + "Ġb ych", + "Ġby ch", + "о зи", + "оз и", + "ĠV Äĥn", + "ØŃ Ùĩ", + "åѦ éĻ¢", + "ĠÅĻ ekl", + "ĠÅĻe kl", + "ĠÅĻek l", + "립 ëĭĪëĭ¤", + "Ġп ÑĢоÑģ", + "ĠпÑĢ Ð¾Ñģ", + "ĠпÑĢо Ñģ", + "κ ά", + "ĠbaÅŁ ladı", + "á»§ y", + "Ñİ Ð´Ð¶", + "ाà¤ı à¤Ĺ", + "à¤Ĥ à¤ļ", + "Ġ ê´Ģ볨", + "Ġê´Ģ 볨", + "Ġв опÑĢоÑģ", + "ĠÑģÑĤ аÑĤÑĮ", + "ĠÑģÑĤаÑĤ ÑĮ", + "ĠÑģÑĤа ÑĤÑĮ", + "Ġy atırım", + "Ġyatır ım", + "н Ñĥла", + "нÑĥ ла", + "нÑĥл а", + "ر اÙģ", + "را Ùģ", + "Ġç eÅŁit", + "Ġà¤ī द", + "å¤ ®", + "Ġпо Ñıв", + "åĽ½ å®¶", + "ĠÑģооÑĤвеÑĤ ÑģÑĤв", + "ìķ ¡", + "ĠØ® ÙĪØ§Ùĩد", + "ĠØ®ÙĪØ§Ùĩ د", + "ĠØ®ÙĪ Ø§Ùĩد", + "Å¡ Å¡ÃŃ", + "Âł п", + "ĠNh Ãł", + "' '''", + "'' ''", + "''' '", + "ï½ ¨", + "à ħ", + "Ġ ïº", + "Ġï º", + "ĠØ¢Ùħ رÛĮÚ©", + "lar ımız", + "larım ız", + "ج ا", + "Ùģ ÙĤ", + "Ġ á»", + "Ġá »", + "Ġ ìķł", + "Ġìķ ł", + "Ġز باÙĨ", + "ĠÑĤ воÑĢ", + "ĠÑĤв оÑĢ", + "н иÑĩеÑģ", + "ни ÑĩеÑģ", + "ниÑĩ еÑģ", + "Ġк ни", + "Ø® داÙħ", + "à¸Ł ร", + "Ġ ì¹ĺ", + "Ġì¹ ĺ", + "ว าม", + "ĠÙħ ÙĩÙħ", + "ĠÙħÙĩ Ùħ", + "Ġs tol", + "Ġst ol", + "Ġsto l", + "Ġed ilen", + "Ġedi len", + "Ġedil en", + "Ġ pek", + "Ġp ek", + "Ġpe k", + "اÙĨ ات", + "اÙĨا ت", + "алÑĮ нÑĸ", + "Ġнеоб ÑħÑĸд", + "à¹Ħ ว", + "Ġश र", + "Ġ íĮIJ", + "ĠíĮ IJ", + "Ò ij", + "Ġ ним", + "Ġн им", + "Ġни м", + "Ġ à¸ĺ", + "Ġภĺ", + "æĺ ł", + "äº Ĵ", + "ĠbaÅŁ ar", + "ž i", + "Ġм ног", + "Ġмн ог", + "l endi", + "len di", + "á vajÃŃ", + "áv ajÃŃ", + "n ict", + "ni ct", + "nic t", + "Ġд Ñĥм", + "ĠдÑĥ м", + "éĻ ©", + "Ïĥ Ïĥ", + "i ky", + "ik y", + "алÑĮ нÑĭй", + "Ġ ÙħÙĨت", + "ĠÙħ ÙĨت", + "ĠÙħÙĨ ت", + "å® ®", + "- за", + "-з а", + "еÑĢ Ðº", + "å¡ Ķ", + "Ġμε ÏĦα", + "oÄŁ un", + "oÄŁu n", + "ÎĹ Îľ", + "à¥Īà¤Ĥ ।Ċ", + "à¥Īà¤Ĥ। Ċ", + "Äį ky", + "å¹³ åı°", + "à¥ĭ श", + "Ġ ona", + "Ġo na", + "Ġon a", + "Ġ bec", + "Ġb ec", + "Ġbe c", + "ì ¢", + "Ġc ây", + "Ġcâ y", + "k ün", + "kü n", + "Ġ à¤Ī", + "ĠठĪ", + "Ġr á»Ļng", + "еÑĢ Ð±", + "å¹ ¸", + "ï¾ IJ", + "ĠпÑĸд пÑĢиÑĶм", + "çĶ £", + "Ġ ÏĦε", + "ĠÏĦ ε", + "ĠÙĨÙĤ Ø´", + "о виÑħ", + "ов иÑħ", + "ови Ñħ", + "ĠÙģ Ùī", + "Ðļ ак", + "Ùİ Ø±", + "Ġ Щ", + "ĠÐ ©", + "алÑĮ нÑĭÑħ", + "Ġk üçük", + "èŃ ·", + "æĭ ħ", + "i caret", + "ic aret", + "ica ret", + "icare t", + "Ġ رÙģØª", + "Ġر ÙģØª", + "ĠرÙģ Øª", + "Ġод ного", + "Ġодно го", + "ÑĪ Ð¸Ð¼", + "ÑĪи м", + "Ġ бÑĸ", + "Ġб Ñĸ", + "Ġuygu lam", + "Ġ æĭ", + "Ġæ ĭ", + "ä½ Ľ", + "u cu", + "uc u", + "d ÃŃ", + "Å ĺ", + "ئ Ø©", + "ê± ¸", + "Ù Į", + "Ġ ÎłÏģο", + "ĠÎł Ïģο", + "Ġye rine", + "Ġyer ine", + "Ġyeri ne", + "ĠÑĸн ÑĦоÑĢма", + "Ġ å¤ĸ", + "Ġå¤ ĸ", + "ä» ķ", + "н ав", + "на в", + "a rası", + "ar ası", + "ara sı", + "aras ı", + "à¸Ńà¸Ļ à¹Ħลà¸Ļ", + "ا شت", + "اش ت", + "ز ÙĬ", + "æ© ĭ", + "Ġ ãĤ«", + "ĠãĤ «", + "èĥ½ åĬĽ", + "å¥ Ĺ", + "Ġpro h", + "Ġpr oh", + "Ġп ÑĢава", + "ĠпÑĢ Ð°Ð²Ð°", + "ĠпÑĢав а", + "ĠпÑĢа ва", + "Ỽ p", + "Ġ à¸Ĥà¸Ńà¸ĩ", + "Ġà¸Ĥ à¸Ńà¸ĩ", + "Ġ ë´", + "Ġë ´", + "Ġl úc", + "Ġ éķ", + "Ġé ķ", + "ب ÙĪØ¯", + "بÙĪ Ø¯", + "r upa", + "ru pa", + "rup a", + "ا زÙħ", + "از Ùħ", + "Ġ кан", + "Ġк ан", + "Ġка н", + "ılı m", + "ıl ım", + "Ġ Ùĩد", + "ĠÙĩ د", + "ãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢ ĠãĢĢ", + "ãĢĢĠ ãĢĢĠãĢĢ", + "Ñĭ ваеÑĤ", + "Ñĭв аеÑĤ", + "Ñĭва еÑĤ", + "Ø® اÙĨÙĩ", + "خاÙĨ Ùĩ", + "Ñĥ кÑĤ", + "Ñĥк ÑĤ", + "ĠçϾ 度", + "ĠnÄĽ co", + "е мон", + "ем он", + "емо н", + "Ġà¤ħ प", + "Ġ ÎĮ", + "ĠÎ Į", + "ün ün", + "ünü n", + "æĸĩ åĮĸ", + "ä¹ İ", + "ä¸Ĭ çļĦ", + "ÙĦ ÙĬÙħ", + "ÙĦÙĬ Ùħ", + "ĠtÄĽ ch", + "ا سب", + "اس ب", + "âĢĻ ÑĶ", + "Ġ Ú¯ÛĮ", + "ĠÚ¯ ÛĮ", + "Ġ ê·¼", + "Ġê· ¼", + "Ġtr ẻ", + "μÎŃ Î½Î¿", + "μÎŃν ο", + "ãģĵãģ¨ ãĤĴ", + "ìĿ´ ëĤĺ", + "åĸ Ħ", + "Ġtr ả", + "åĪĨ æŀIJ", + "Ġ dÄĽl", + "Ġd ÄĽl", + "ĠdÄĽ l", + "Ñĥ Ñģка", + "ÑĥÑģ ка", + "ÑĥÑģк а", + "Ġм ного", + "Ġмн ого", + "Ġмног о", + "à¥Ī र", + "μα ÏĦοÏĤ", + "μαÏĦο ÏĤ", + "Ġm ÃŃsto", + "ĠmÃŃ sto", + "ĠmÃŃst o", + "Ġ ê°ģ", + "Ġê° ģ", + "Ġп ÑĢог", + "ĠпÑĢ Ð¾Ð³", + "ĠпÑĢо г", + "b aÅŁ", + "ba ÅŁ", + "а йÑĤе", + "ай ÑĤе", + "айÑĤ е", + "Ġc á»ķ", + "å¿ ľ", + "ï¼ģ Ċ", + "ç ı", + "Ġbir çok", + "Ġ íĺķ", + "Ġíĺ ķ", + "çµ Į", + "ĠEv rop", + "ĠÑģ оÑĨÑĸ", + "ĠÑģо ÑĨÑĸ", + "ä»ĸ çļĦ", + "Ġ μÏĢο", + "Ġμ ÏĢο", + "ĠμÏĢ Î¿", + "å¥ Ī", + "Ġ Ú¯ÙĦ", + "ĠÚ¯ ÙĦ", + "ÙĪ ÙĦØ©", + "ÙĪÙĦ Ø©", + "æµ İ", + "Ġ Ú©ÙĪ", + "ĠÚ© ÙĪ", + "± ä¹IJ", + "ãģĹ ãģı", + "ãģĹãģ ı", + "çº ³", + "ÑģÑĤв енно", + "ÑģÑĤвен но", + "éĽ ¢", + "ा .", + "Ġgerçek leÅŁtir", + "ĠgerçekleÅŁ tir", + "Ġ kır", + "Ġk ır", + "Ġkı r", + "ì ³", + "Ġг оÑģп", + "å¹ ķ", + "ìĦ ¼", + "» .Ċ", + "». Ċ", + "к ÑĥÑĢ", + "кÑĥ ÑĢ", + "Ġ رÛĮ", + "Ġر ÛĮ", + "æĽ ¾", + "ÙĪ Ø±ÙĬ", + "ÙĪØ± ÙĬ", + "лекÑģ анд", + "ص Ùģ", + "Ġc ảnh", + "Ġcả nh", + "å± Ĥ", + "ãĤ Ĩ", + "Ġ تس", + "Ġت س", + "ì° ½", + "기 를", + "Ġ à¹Ģà¸Ħ", + "Ġà¹Ģ à¸Ħ", + "Ġà¹ĢภĦ", + "çŁ Ń", + "Ġ ÑģÑĤÑĢо", + "ĠÑģ ÑĤÑĢо", + "ĠÑģÑĤ ÑĢо", + "ĠÑģÑĤÑĢ Ð¾", + "ĠÏĥ ÏĦιÏĤ", + "ĠÏĥÏĦι ÏĤ", + "à¥įय व", + "Ġع ÙĦÙħ", + "ĠعÙĦ Ùħ", + "ĠÑģ иÑĤÑĥа", + "ĠÑī одо", + "ĠÑīо до", + "åIJ Ľ", + "Ùħ س", + "ĠоÑĤ кÑĢÑĭ", + "ĠоÑĤк ÑĢÑĭ", + "Ġsp oj", + "Ġspo j", + "ĠÄij Äĥng", + "Ġs avaÅŁ", + "Ġsav aÅŁ", + "ี ร", + "sk ém", + "ské m", + "Ġ è¡Į", + "Ġè¡ Į", + "é ¹", + "Ġ ÙĬÙħÙĥÙĨ", + "ĠÙĬÙħ ÙĥÙĨ", + "о вано", + "ов ано", + "ова но", + "ован о", + "Ġп ÑĢавилÑĮ", + "ĠпÑĢав илÑĮ", + "ĠпÑĢави лÑĮ", + "ĠпÑĢавил ÑĮ", + "Ġchiế c", + "èĪ ¹", + "éĵ ¶", + "ĠоÑĤ д", + "Ġ ìĿĢ", + "ĠìĿ Ģ", + "íħ Ķ", + "Ġ Nej", + "ĠN ej", + "ĠNe j", + "о не", + "он е", + "Ġk ız", + "Ġkı z", + "олог иÑĩеÑģ", + "Ġ кÑĢаÑĹ", + "ĠкÑĢа ÑĹ", + "à¸ļ à¸Ńล", + "æ¥ ¼", + "Ġت ÙħاÙħ", + "ĠتÙħ اÙħ", + "Ġب ÛĮÙħ", + "ĠبÛĮ Ùħ", + "ĠÑģ Ñĥб", + "ĠÑģÑĥ б", + "v ý", + "Ñģ кие", + "Ñģк ие", + "Ñģки е", + "ëĮĢ ë¡ľ", + "ëĮ Ģë¡ľ", + "???? ????", + "abilir siniz", + "ан Ñģов", + "анÑģ ов", + "代 表", + "Ġ매 매", + "олог ÑĸÑĩ", + "μ αν", + "μα ν", + "ак Ñģим", + "акÑģ им", + "ãĤ¤ ãĥ«", + "Ġt ải", + "Ġtả i", + "Ùħ ÙĪ", + "å® Ĺ", + "n em", + "ne m", + "Ġkho ản", + "Ġ паÑĤ", + "Ġп аÑĤ", + "Ġпа ÑĤ", + "ан ÑĤа", + "анÑĤ а", + "Ġпом оÑī", + "Ġ vod", + "Ġv od", + "Ġvo d", + "Ġkay nak", + "Ġkayn ak", + "Ïĥ ÏĨ", + "à¥Ĥ त", + "du ÄŁ", + "а ÑĤиÑģÑı", + "аÑĤи ÑģÑı", + "Ġ ç¥ŀ", + "Ġç¥ ŀ", + "ĠÑģ лова", + "ĠÑģл ова", + "ĠÑģлов а", + "ĠÑģло ва", + "ÑĢÑĥ кÑĤÑĥ", + "ÑĢÑĥк ÑĤÑĥ", + "ÑĢÑĥкÑĤ Ñĥ", + "ĠmÄĽ sÃŃ", + "Ùı Ùħ", + "зна Ñĩа", + "знаÑĩ а", + "Ġ èī", + "Ġè ī", + "åѦ çĶŁ", + "æ´ ¥", + "Ùİ ÙĬ", + "è§ Ī", + "Ġ å®ī", + "Ġå® ī", + "Ġgör Ã¼ÅŁ", + "ál nÄĽ", + "áln ÄĽ", + "ĠëͰ ëĿ¼", + "ĠÙħ ÙĪØ¬ÙĪØ¯", + "ĠÙħÙĪØ¬ ÙĪØ¯", + "ĠÄij ứ", + "ĠÄijá» ©", + "ĠçalÄ±ÅŁ malar", + "ĠçalÄ±ÅŁma lar", + "ĠÑı киÑħ", + "ĠÑıк иÑħ", + "Ġاج تÙħاع", + "μ εν", + "με ν", + "èİ ī", + "ç§ ¯", + "ì¶ ķ", + "à¥į शन", + "à¥įश न", + "Ġx ét", + "Ġв ÑĤоÑĢ", + "ĠвÑĤ оÑĢ", + "çİ ©", + "Âł ÐĿ", + "ÑĪ Ð¸Ðµ", + "ÑĪи е", + "о ÑĢи", + "оÑĢ Ð¸", + "Ø£ س", + "Ġthu á»ijc", + "ëĭĪ ê¹Į", + "ë ķĮ", + "ÑĢ Ñĥп", + "ÑĢÑĥ п", + "Ñģ ÑıÑĤ", + "ÑģÑı ÑĤ", + "з Ñĭ", + "ĠÑģ меÑĢ", + "ĠÑģм еÑĢ", + "Ġv yb", + "Ġvy b", + "ĠìĿ´ ìĥģ", + "à¤ļ न", + "Ġgel di", + "Ġgeld i", + "Û± Û°", + "Û±Û °", + "ικ Ïİν", + "ĠÄIJ ức", + "Ġд оÑģÑĤаÑĤ", + "ĠдоÑģÑĤ аÑĤ", + "Ġö nc", + "Ġön c", + "è¦ ª", + "Ġ adı", + "Ġa dı", + "Ġad ı", + "un ca", + "unc a", + "ĠاÙĦ تر", + "ĠاÙĦت ر", + "çķ ¶", + "ĠФ едеÑĢа", + "ĠФед еÑĢа", + "лÑı ÑİÑĤÑģÑı", + "лÑıÑİÑĤ ÑģÑı", + "ĠÙĥ اÙĨت", + "ĠÙĥاÙĨ ت", + "æİ ¢", + "Ġ Ñĥб", + "ĠÑĥ б", + "Ġ κο", + "Ġκ ο", + "ाà¤ĩ à¤Ł", + "з н", + "Ġm ôi", + "Ġmô i", + "Ġ ãĤµ", + "ĠãĤ µ", + "Ġна вÑĸ", + "Ġнав Ñĸ", + "ç» ¼åIJĪ", + "Ġмин ÑĥÑĤ", + "Ġми нÑĥÑĤ", + "ĠминÑĥ ÑĤ", + "d ık", + "dı k", + "ÑĢ Ñĥд", + "ÑĢÑĥ д", + "åľ ĸ", + "ê° ¤", + "ĠÄijo Ãłn", + "è ¤", + "à¥į वर", + "à¥įव र", + "ĠÃľn iversit", + "а но", + "ан о", + "éĽ ¨", + "ĠvÅ¡ech ny", + "Ġëĭ¤ ìĿĮ", + "ĠC umhur", + "ĠCum hur", + "Ġм Ñĥз", + "ĠмÑĥ з", + "a ÅŁtır", + "aÅŁ tır", + "Ġ ê±°ëŀĺ", + "Ġê±° ëŀĺ", + "Ġ é¡", + "Ġé ¡", + "žit ÃŃ", + "ži tÃŃ", + "Ġ à¸Ł", + "ĠภŁ", + "Ġthu ế", + "Ġм Ñĥж", + "ĠмÑĥ ж", + "ĠÎij ν", + "Ġد ÙĪÙħ", + "ĠدÙĪ Ùħ", + "ĠÑģ ин", + "ĠÑģи н", + "Ġ ÏīÏĤ", + "ĠÏī ÏĤ", + "m eler", + "me ler", + "mel er", + "Ġ poÄį", + "Ġp oÄį", + "Ġpo Äį", + "Ġколи Ñĩе", + "ĠколиÑĩ е", + "ĠK Äį", + "è³ ½", + "ĠоÑģ Ñĸб", + "åı ¥", + "ĠB öl", + "à¸ĺ รรม", + "Ġc ạnh", + "å° ĩ", + "Ġ ноÑģ", + "Ġн оÑģ", + "Ġно Ñģ", + "èĦ ¸", + "Ġgel ir", + "о ÑĢон", + "оÑĢ Ð¾Ð½", + "оÑĢо н", + "à¥įर à¤Ń", + "ç» ĩ", + "ุ à¹ī", + "ाम ल", + "Ġc âu", + "Ġcâ u", + "Ñij ÑĤ", + "Ġ :|", + "Ġ: |", + "ãĤĮ ãģ¦", + "Ġpos led", + "Ġpo sled", + "ãĤ¹ ãĥĨ", + "ÑĸлÑĮ ÑĪ", + "ен ÑĤÑĭ", + "енÑĤ Ñĭ", + "Ø® دÙħ", + "Ġباش گاÙĩ", + "Ġth ư", + "á vánÃŃ", + "áv ánÃŃ", + "ává nÃŃ", + "ëĬ IJ", + "ĠØ£ ØŃ", + "ر اد", + "را د", + "ĠبسÛĮ ار", + "åΰ äºĨ", + "\" ;\"", + "\"; \"", + "å° İ", + "Ġ ör", + "Ġö r", + "à¸Ĭ าà¸ķ", + "g enus", + "gen us", + "Ġya kın", + "Ġyak ın", + "Ġ ÃŃt", + "ĠÃŃ t", + "reg num", + "regn um", + "Ġf iyat", + "Ġfi yat", + "н ÑĸÑħ", + "нÑĸ Ñħ", + "åľ° æĸ¹", + "Ġbil gi", + "Ġbilg i", + "к ам", + "ка м", + "Ġs pol", + "Ġsp ol", + "Ġspo l", + "ائ ÙĬ", + "Ġ ÙĬÙĨ", + "ĠÙĬ ÙĨ", + "า หาร", + "าห าร", + "Ġب Ú¯", + "é ĺħ", + "éĺ ħ", + "ĠاÙĦ شر", + "ĠاÙĦØ´ ر", + " ģ", + "ĠÑĸн ÑĪиÑħ", + "ĠÑĸнÑĪ Ð¸Ñħ", + "Ġtr ạng", + "çģ £", + "Ġc á»±c", + "к ан", + "ка н", + "èĭ ı", + "à Ķ", + "Ġl á»Ŀi", + "Ġlá» Ŀi", + "Ñı Ñĩ", + "Ġ ÙĪØŃ", + "ĠÙĪ ØŃ", + "ìĪ ľ", + "Å ¸", + "Ġв оÑģп", + "Ġво Ñģп", + "ĠвоÑģ п", + "ì¡ Į", + "Äį nÃŃch", + "ÄįnÃŃ ch", + "Ø® رÙī", + "خر Ùī", + "ائ ÙĬØ©", + "ائÙĬ Ø©", + "Ġsu ất", + "æĩ ī", + "ا ØŃÛĮ", + "اØŃ ÛĮ", + "Ġn áz", + "Ġná z", + "è¿Ļ ç§į", + "Ġзаб езпеÑĩ", + "Ġ ЧеÑĢ", + "ĠЧ еÑĢ", + "Ġзд ÑĸйÑģ", + "åı ¦", + "æĭ ¬", + "à¥ģ ष", + "à¥ģठ·", + "μ ÏĨ", + "ëĥ IJ", + "Ðķ Ñģли", + "é ¬", + "Ġ íĥľ", + "Ġíĥ ľ", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "Ġм л", + "å´ İ", + "Ùģ Ø¹", + "Ġ ÙĤدر", + "ĠÙĤ در", + "ĠÙĤد ر", + "Ġv á»ijn", + "å¦ ¹", + "Ġ ÐĿаÑģ", + "ĠÐĿ аÑģ", + "ĠÐĿа Ñģ", + "à¥į फ", + "à¥įठ«", + "ãĤ¸ ãĥ£", + "Ġm ı", + "ен Ñģ", + "б Ñĥд", + "бÑĥ д", + "ĠØŃ تÙī", + "Ġ ì²´", + "Ġì² ´", + "ĠÑĸ ÑģÑĤоÑĢ", + "ĠÑĸÑģ ÑĤоÑĢ", + "Ġgi ấy", + "γ οÏģ", + "γο Ïģ", + "ëIJĺ ìĸ´", + "Ġ íĤ", + "Ġí Ĥ", + "ĠÐŀд на", + "ĠÙĨ ÙħÙĪØ¯", + "ĠÙĨÙħ ÙĪØ¯", + "Ġвип ад", + "ĠìŀIJ ìĭł", + "Ġj ste", + "Ġjs te", + "Ġ ëĵ±ë¡Ŀ", + "Ġëĵ± ë¡Ŀ", + "ek ten", + "ekt en", + "ekte n", + "ĠÑĢ ÐµÑĩ", + "ĠÑĢе Ñĩ", + "r odnÃŃ", + "rod nÃŃ", + "س تر", + "ست ر", + "ı t", + "ä¹ħ ä¹ħ", + "ĠØ® ÙĦاÙĦ", + "ĠØ®ÙĦ اÙĦ", + "Ġ ç¦", + "Ġç ¦", + "u luk", + "ul uk", + "ulu k", + "l enen", + "le nen", + "len en", + "lene n", + "i lip", + "il ip", + "ili p", + "è´ ¢", + "Ġà¤ħ à¤ķ", + "ĠY ıl", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "Ġ à¤Ŀ", + "ĠठĿ", + "ĠB ình", + "Ġol muÅŁ", + "Ġolm uÅŁ", + "اÙĦ Ø¥ÙĨجÙĦÙĬزÙĬØ©", + "اÙĦØ¥ ÙĨجÙĦÙĬزÙĬØ©", + "м енно", + "мен но", + "aln ız", + "Ġ شرÙĥØ©", + "Ġشر ÙĥØ©", + "Ġس ÙĨØ©", + "ĠسÙĨ Ø©", + "è´ Ł", + "ä½ľ åĵģ", + "Ġ ìķ½", + "Ġìķ ½", + "ĠдÑĢÑĥг иÑħ", + "ĠbaÄŁ lantı", + "о дÑĥ", + "од Ñĥ", + "çļĦ æĺ¯", + "ั à¸Ļà¸Ķ", + "ัà¸Ļ à¸Ķ", + "ĠкоÑĤоÑĢ ÑĭÑħ", + "ĠاÙĦ ÙĪÙĦ", + "ĠاÙĦÙĪ ÙĦ", + "ê¸Ģ ìĥģìľĦ", + "ĠÏĢ ÎµÏģ", + "ĠÏĢε Ïģ", + "리 ìķĦ", + "i bar", + "ib ar", + "iba r", + "Ġ èĥ", + "Ġè ĥ", + "ãģŁ ãģĦ", + "á j", + "ĠìľĦ íķ´", + "? âĢľĊĊ", + "?âĢľ ĊĊ", + "Ġ íİĺ", + "Ġíİ ĺ", + "Ġ ней", + "Ġн ей", + "Ġне й", + "ĠÐĹ Ð°Ðº", + "ĠÐĹа к", + "Ġ ÐĴÑĸд", + "ĠÐĴ Ñĸд", + "е лÑĸ", + "ел Ñĸ", + "è¯ ¾", + "åī ¯", + "m adan", + "ma dan", + "mad an", + "mada n", + "æľ «", + "ĠÏĢ ÏģÏĮ", + "Ġп ÑģиÑħ", + "Ġ ÑĤÑĸ", + "ĠÑĤ Ñĸ", + "Ùĥ ات", + "Ġvys ok", + "ê´Ģ 리", + "ül tür", + "ült ür", + "Ġ à¹Ģà¸Ń", + "Ġà¹Ģ à¸Ń", + "Ġà¹ĢภŃ", + "Ġ íķ©", + "Ġíķ ©", + "çĿ £", + "Ġ ÑĢиÑģ", + "ĠÑĢ Ð¸Ñģ", + "е ÑĢÑĮ", + "еÑĢ ÑĮ", + "ĠÚ© ÙĦÛĮ", + "ĠÚ©ÙĦ ÛĮ", + "Ġ ãĥŀ", + "Ġãĥ ŀ", + "Ġph ÃŃa", + "ĠphÃŃ a", + "å «", + "ا Ú¯", + "Ġ é¢", + "Ġé ¢", + "ĠÙĨ Ù쨱", + "ĠÙĨÙģ Ø±", + "Ġ جاÙĨ", + "Ġج اÙĨ", + "Ġجا ÙĨ", + "Ġ yas", + "Ġy as", + "Ġya s", + "ж ениÑı", + "же ниÑı", + "жен иÑı", + "ĠлÑĥÑĩ ÑĪе", + "Ġ çº", + "Ġç º", + "Ġ мон", + "Ġм он", + "Ġмо н", + "Ġت Ø®", + "Ġ Ø´ÛĮ", + "ĠØ´ ÛĮ", + "Ġн екоÑĤоÑĢ", + "Ġнек оÑĤоÑĢ", + "алÑĮ нÑĭе", + "Ġob chod", + "Ġíķ¨ ê»ĺ", + "Ġr iêng", + "ãģķ ãĤĮãĤĭ", + "ãģķãĤĮ ãĤĭ", + "о кÑĥ", + "ок Ñĥ", + "ĠС ШÐIJ", + "ë§ ģ", + "Ġ Nếu", + "ĠN ếu", + "ĠA ÄŁ", + "Ġд веÑĢ", + "Ġдв еÑĢ", + "Ġдве ÑĢ", + "à¥ĭ ष", + "Ġkh iến", + "Ġkhi ến", + "н его", + "не го", + "ì± ħ", + "ั à¸ķร", + "ัà¸ķ ร", + "m alı", + "ma lı", + "mal ı", + "Ġ ÙĬا", + "ĠÙĬ ا", + "ç§ij æĬĢ", + "ื à¸Ļ", + "ห มาย", + "หม าย", + "Ġ خص", + "ĠØ® ص", + "åĨ ľ", + "ÃŃ me", + "ÃŃm e", + "ĠÑįÑĤ ой", + "ĠÑįÑĤо й", + "Ġ ìĹħ", + "ĠìĹ ħ", + "Ġ ä¹", + "ä¼ ¯", + "' ´", + "Ùħ ÙĬÙĦ", + "ÙħÙĬ ÙĦ", + "à¸Ń à¸ĩà¸Ħ", + "à¸Ńà¸ĩ à¸Ħ", + "k ová", + "ko vá", + "kov á", + "è¿Ļ ä¹Ī", + "ãĢĤ æĪij", + "ìĹIJ ìĦľëĬĶ", + "ìĹIJìĦľ ëĬĶ", + "Ġ ìļ©", + "Ġìļ ©", + "ë¹Ħ ìĬ¤", + "Ġ ì¦Ŀ", + "Ġì¦ Ŀ", + "IT TE", + "ITT E", + "Ġ모 ëĵł", + "ĠspoleÄį nosti", + "ĠspoleÄįnost i", + "Ġв ик", + "Ġви к", + "Ġt ÅĻÃŃ", + "ĠtÅĻ ÃŃ", + "é ³", + "Ġ Ø®ÛĮ", + "ĠØ® ÛĮ", + "Ġp ož", + "Ġpo ž", + "Ġиме еÑĤ", + "Ġd ÄĽt", + "ĠdÄĽ t", + "ĠÙħد ÙĦ", + "Ġ мо", + "Ġм о", + "åį ı", + "e nÃŃm", + "en ÃŃm", + "enÃŃ m", + "é ī", + "ا ظ", + "Ø§Ø ¸", + "Ġ teÅŁ", + "Ġt eÅŁ", + "Ġte ÅŁ", + "Ġ veÅĻej", + "Ġve ÅĻej", + "L IC", + "LI C", + "ì§Ģ ëĬĶ", + "Ñĭ ваÑİÑĤ", + "Ñĭв аÑİÑĤ", + "Ñĭва ÑİÑĤ", + "ĠоÑĢг анÑĸ", + "ĠоÑĢган Ñĸ", + "nÃŃ mi", + "nÃŃm i", + "θ ÎŃ", + "ãĤ¯ ãĥ©", + "ãĥ¼ ãĥ³", + "ãĥ¼ãĥ ³", + "ли ÑģÑı", + "i mdi", + "im di", + "imd i", + "æ Ĩ", + "ïº İ", + "Ġìļ´ ìĺģ", + "κ αν", + "κα ν", + "Ġ ë³µ", + "Ġë³ µ", + "Ġ ÐĨн", + "ĠÐĨ н", + "p lication", + "pl ication", + "t ah", + "ta h", + "Ġ ÐIJв", + "ĠÐIJ в", + "Ġc á»Ļng", + "алÑĮ ноÑĹ", + "алÑĮно ÑĹ", + "Ġد ÙĪØ±Ùĩ", + "ĠدÙĪ Ø±Ùĩ", + "ĠدÙĪØ± Ùĩ", + "à¥įर य", + "Ġ Ø®ÙĪ", + "ĠØ® ÙĪ", + "Ġв ÑĢа", + "Ø¥ ÙĨ", + "èĤ ī", + "Ġo yn", + "Ġoy n", + "ĠT ư", + "ĠÙĩ ÙħاÙĨ", + "ĠÙĩÙħ اÙĨ", + "ĠбÑĸлÑĮ ÑĪе", + "ĠбÑĸлÑĮÑĪ Ðµ", + "æĮ ¯", + "ا ÙħØ©", + "اÙħ Ø©", + "å º«", + "åº «", + "Ġ ÑĢеж", + "ĠÑĢ ÐµÐ¶", + "ĠÑĢе ж", + "Ġدار ÙĨد", + "ÑĢ Ð¸Ð¹", + "ÑĢи й", + "Ġ æĮ", + "Ġæ Į", + "Ġson uç", + "Ġsonu ç", + "Ġt ả", + "ั à¸ĩà¸Ħ", + "ัà¸ĩ à¸Ħ", + "ë° Ľ", + "Ġ мом", + "Ġм ом", + "Ġмо м", + "ви Ñĩай", + "виÑĩ ай", + ". à¸Ħ", + "Ġ à¤Ĩà¤Ī", + "Ġà¤Ĩ à¤Ī", + "åģ ĩ", + "Ġpos kyt", + "Ġpo skyt", + "ĠÑģ Ñĥп", + "ĠÑģÑĥ п", + "ıyor du", + "а ле", + "ал е", + "и ÑĨ", + "Ġ θÎŃ", + "Ġθ ÎŃ", + "ãĤĩ ãģĨ", + "ĠÑģв ой", + "ĠÑģво й", + "ม à¸Ļ", + "Ġn ữa", + "Ġnữ a", + "v oÅĻ", + "vo ÅĻ", + "ا سÙĬ", + "اس ÙĬ", + "éĴ ±", + "ãģĹ ãģ¦ãģĦãģŁ", + "ãģĹãģ¦ ãģĦãģŁ", + "ãģĹãģ¦ãģĦ ãģŁ", + "ĠÄij ầy", + "ا ÙĬر", + "اÙĬ ر", + "Ġar aÅŁtır", + "Ġara ÅŁtır", + "ì £", + "ãģ¨ ãģ¯", + "ĠÑģ поÑĢ", + "ĠÑģп оÑĢ", + "Ġê° Ģìŀ¥", + "Ġê°Ģ ìŀ¥", + "è¼ ī", + "âĸ ¡", + "Ġ ìĻĦ", + "ĠìĻ Ħ", + "оÑĢ Ð°Ñı", + "оÑĢа Ñı", + "Ïģ εί", + "Ïģε ί", + "ĠÑį ÑĤа", + "ĠÑįÑĤ а", + "ë©´ ìłģ", + "ìĿ´ ìĬ¤", + "ä½ ³", + "æĻ ļ", + "Ġk val", + "Ġkv al", + "Ġn á»ķi", + "ÑĤ ами", + "ÑĤа ми", + "Ġпол ÑĸÑĤи", + "ĠполÑĸ ÑĤи", + "Ġ İng", + "Ġİ ng", + "Ġİn g", + "нÑĸ ÑģÑĤÑİ", + "нÑĸÑģÑĤ Ñİ", + "Ġ à¹Ģà¸ģ", + "Ġà¹Ģ à¸ģ", + "Ġà¹Ģภģ", + "Ġ 민", + "Ġë ¯¼", + "è Ķ", + "Ïģ ία", + "Ïģί α", + "æİ Ī", + "Ġ çĤ", + "Ġç Ĥ", + "ĠÙĨÙħ اÛĮ", + "Ġ ìŀ¡", + "Ġìŀ ¡", + "æŀ ¶", + "اب ÙĤ", + "Ñģ он", + "Ñģо н", + "ен ного", + "енно го", + "ĠÙħ ÛĮÙĦÛĮ", + "ĠÙħÛĮ ÙĦÛĮ", + "ĠÙħÛĮÙĦ ÛĮ", + "Ġk urum", + "Ġkur um", + "Ġku rum", + "Ġkuru m", + "à¹Į ส", + "Ġ ì´Ŀ", + "Ġì ´Ŀ", + "Ġì´ Ŀ", + "ĠnÄĽk olik", + "ĠnÄĽkol ik", + "Ġ ÙĢ", + "ĠÙ Ģ", + "ĠзаÑģÑĤ оÑģ", + "à¸Ķ à¸Ļ", + "ÙĨ داÙĨ", + "ÙĨد اÙĨ", + "ÙĨدا ÙĨ", + "ĠJ ap", + "ĠJa p", + "éĥ ¡", + "à¥į à¤Ń", + "à¥įठŃ", + "Ġ à¹Ģà¸Ĭ", + "Ġà¹Ģ à¸Ĭ", + "Ġà¹ĢภĬ", + "Ġ âĢ«", + "ĠâĢ «", + "é£ ŀ", + "o vatel", + "ov atel", + "ova tel", + "ovat el", + "ĠÑĩа ÑģÑĤÑĮ", + "ĠÑĩаÑģ ÑĤÑĮ", + "ĠÑĩаÑģÑĤ ÑĮ", + "Ġb á»ķ", + "ãĤ¯ ãĥª", + "ิ à¹Į", + "Ġвид е", + "Ġви де", + "v ail", + "va il", + "Ì ī", + "ÄŁ inde", + "ÄŁi nde", + "ÄŁin de", + "ãģ¨ ãĤĤ", + "âĢĮÚ© ÙĨد", + "âĢĮÚ©ÙĨ د", + "Ġ ëħĦ", + "Ġëħ Ħ", + "Ġ اÙĤتص", + "ĠاÙĤ تص", + "ï½ Ĺ", + "Ïģ ιÏĥ", + "Ïģι Ïĥ", + "з д", + "èĻ ½", + "Ġth oại", + "Ġtho ại", + "Ġ ÙĪØ²", + "ĠÙĪ Ø²", + "Ġ mÃŃt", + "Ġm ÃŃt", + "ĠmÃŃ t", + "ĠÑħ олод", + "ĠÑħол од", + "Ġ кÑĥп", + "Ġк Ñĥп", + "ĠкÑĥ п", + "а ниÑħ", + "ан иÑħ", + "ани Ñħ", + "Ġnh ìn", + "ãģĭ ãģª", + "Ġ Ðļом", + "ĠÐļ ом", + "ĠÐļо м", + "ÏĦ εÏģ", + "ÏĦε Ïģ", + "ï¼Į åıª", + "Ġol up", + "Ġhá» ıi", + "ë ij", + "ĠnÄĽk ter", + "i sÃŃ", + "is ÃŃ", + "ĠвикоÑĢиÑģÑĤ ов", + "ìŀ ¡", + "Ġà¤ķ ल", + "Ġìľł ìłĢ", + "ĠпÑĢ Ð¸Ð±", + "ĠпÑĢи б", + "èĭ ¦", + "Ġ мов", + "Ġм ов", + "Ġмо в", + "Ġ หà¸Ļ", + "Ġห à¸Ļ", + "ëIJĺ ëĬĶ", + "о ко", + "ок о", + "Ġоб еÑģп", + "Ġk ez", + "Ġke z", + "л ÑıÑħ", + "лÑı Ñħ", + "ĠпÑĢо иÑģ", + "Ġпо вин", + "Ġпов ин", + "ĠÐļ оÑĢ", + "ĠÐļо ÑĢ", + "ì¼ Ģ", + "Ġ Ñģи", + "ĠÑģ и", + "Ġ ä¹ĭ", + "Ġä¹ ĭ", + "ĠâĢĶ Ċ", + "ÑģÑĥÑĤ ÑģÑĤв", + "ç °", + "Ġ à¤ł", + "Ġठł", + "н аÑĤ", + "на ÑĤ", + "Ġs uy", + "Ġsu y", + "Ġ ÑģÑĭ", + "ĠÑģ Ñĭ", + "ĠÙĨ شاÙĨ", + "ĠÙĨØ´ اÙĨ", + "Ġна пÑĢав", + "Ġнап ÑĢав", + "ĠÑĨ ÑĮомÑĥ", + "æĺ¯ ä¸Ģ", + "Ġm üm", + "Ġmü m", + "ÑĶ Ð¼Ð¾", + "ÑĶм о", + "ĠاسÙĦاÙħ ÛĮ", + "Ġza manda", + "Ġzam anda", + "Ġzaman da", + "ÙĪ ÙħاÙĨ", + "ÙĪÙħ اÙĨ", + "ا ÙĦØŃ", + "اÙĦ ØŃ", + "Å¡t ÄĽnÃŃ", + "Å¡tÄĽ nÃŃ", + "Ġ Ðļак", + "ĠÐļ ак", + "ĠÐļа к", + "¤ íĶĦ", + "¤í ĶĦ", + "ĠÙ¾ رد", + "Ġپر د", + "C ác", + "ε ια", + "ει α", + "Ġ جÙĪ", + "Ġج ÙĪ", + "ĠÄijo ạn", + "Ġà¤ĩ त", + "Ġз ан", + "Ġза н", + "ĠÙħÙĨØ· ÙĤÙĩ", + "ĠÙħ عÙĦ", + "ĠÙħع ÙĦ", + "Ġdo kon", + "Ġdok on", + "åIJ ¸", + "ic kou", + "ick ou", + "å° ģ", + "Ġк иÑģ", + "Ġки Ñģ", + "ัà¸ĩ หว", + "i species", + "is pecies", + "isp ecies", + "Ġнап ÑĢÑı", + "æº ĸ", + "Ġà¤ľ ल", + "à¹Ģ à¸ī", + "à¹Ģภī", + "L AR", + "LA R", + "ĠÑĥÑģлов иÑı", + "ĠWiki species", + "ĠWik ispecies", + "ระ à¸Ķ", + "Ġ mey", + "Ġm ey", + "Ġme y", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "à¹ĩ à¸Ī", + "å¾ Ĵ", + "t ach", + "ta ch", + "u muz", + "um uz", + "umu z", + "κ η", + "à Ĭ", + "Ġ ün", + "Ġü n", + "ĠB ITTE", + "ĠBIT TE", + "ĠÙħ ربع", + "ĠÙħر بع", + "ĠÙħرب ع", + "ãĤ· ãĥ¥", + "िस à¤ķ", + "Ø· ÙĪØ±", + "Ġв оÑģ", + "Ġво Ñģ", + "ï¾ Ł", + "Ġy ayın", + "Ġyay ın", + "ãģĭ ãĤĬ", + "л иÑı", + "ли Ñı", + "Ġп ÑĢин", + "ĠпÑĢ Ð¸Ð½", + "ĠпÑĢи н", + "ij ng", + "ĠÙĨ Ø®", + "Ġl ze", + "Ġlz e", + "à¥įष ण", + "Ġ бо", + "Ġб о", + "Ġ ê¸Ģ", + "Ġê¸ Ģ", + "Ġgel iÅŁtir", + "ĠgeliÅŁ tir", + "à¸Ľà¸£à¸° à¸Ĭ", + "å½ ¡", + "Ġ ãĤª", + "ĠãĤ ª", + "ãģĪ ãģ¦", + "н ÑĥÑĤÑĮ", + "нÑĥ ÑĤÑĮ", + "нÑĥÑĤ ÑĮ", + "Ġ ç½", + "Ġç ½", + "Ġ маг", + "Ġм аг", + "Ġма г", + "ãģ« ãģ¤", + "н оÑģÑĤей", + "ноÑģÑĤ ей", + "Ġ ÙĦÙĬ", + "ĠÙĦ ÙĬ", + "æĢ ª", + "ÑıÑĤ ÑģÑı", + "ภij", + "िय म", + "Ġ ãĢİ", + "ĠãĢ İ", + "ÑĢ ÑĮ", + "Ġm ạng", + "t ım", + "tı m", + "ĠпеÑĢи од", + "о гÑĥ", + "ог Ñĥ", + "ĠкоÑĤоÑĢ Ð°Ñı", + "ĠкоÑĤ оÑĢаÑı", + "리 ê°Ģ", + "Ġãħ ¡", + "Ġج اÛĮ", + "Ġجا ÛĮ", + "ĠпоÑĤ ÑĢÑĸб", + "Å¡ en", + "Å¡e n", + "à¸Ń ะ", + "ب ع", + "ØŁ Ċ", + "Ġ ë°©ë²ķ", + "Ġë°© ë²ķ", + "Ġ гоÑĢод", + "Ġг оÑĢод", + "ĠгоÑĢ Ð¾Ð´", + "Ġ Ðĺн", + "ĠÐĺ н", + "Ġ оказ", + "Ġо каз", + "Ġок аз", + "ر ÙĪØ²", + "رÙĪ Ø²", + "Ġili ÅŁk", + "ĠiliÅŁ k", + "å® £", + "f orman", + "form an", + "for man", + "forma n", + "a daÅŁ", + "ad aÅŁ", + "ada ÅŁ", + "ÙĬ ÙĦØ©", + "ÙĬÙĦ Ø©", + "ĠÐļ аÑĢ", + "ĠÐļа ÑĢ", + "Ġm ất", + "æħ ĭ", + "м п", + "à¹Ĥ à¸Ļ", + "ĠØŃÙĤ ÙĪÙĤ", + "Ġд нÑı", + "ĠëĴ ¤", + "ा à¤ķर", + "ाà¤ķ र", + "ì²ĺ ëŁ¼", + "âĢĮ Ø¢", + "h angi", + "han gi", + "hang i", + "è¡Į æĶ¿", + "al iyet", + "ali yet", + "Ġ ì²ľ", + "Ġì² ľ", + "ĠY ap", + "ĠYa p", + "à¹Ĥ รà¸ĩ", + "à¹Ĥร à¸ĩ", + "ì§Ģ ëħ¸", + "Ùİ Ùij", + "Îij ÎĻ", + "á na", + "án a", + "an dır", + "and ır", + "ระ à¸ļà¸ļ", + "ระà¸ļ à¸ļ", + "oÄŁ lu", + "า à¸Īะ", + "าà¸Ī ะ", + "ẩ y", + "ا ÙĪÙĦ", + "اÙĪ ÙĦ", + "ĠмаÑĤ еÑĢÑĸ", + "ÎŁ ÎĿ", + "ÎŁÎ Ŀ", + "Ġin formace", + "Ġinform ace", + "ت ع", + "à¸ļ à¸Ļ", + "ĠÄĮesk é", + "ĠÄĮes ké", + "Ġte mel", + "Ġtem el", + ":::::::::::::::: ::::::::::::::::", + "Ġ chia", + "Ġch ia", + "Ġchi a", + "- Ñģ", + "н еÑĢг", + "не ÑĢг", + "неÑĢ Ð³", + "Ġì° ¾", + "ÑĢ Ð¸Ð´", + "ÑĢи д", + "л оÑģÑĮ", + "ло ÑģÑĮ", + "ز ÙĦ", + "ê°Ģ ëĬĶ", + "a né", + "an é", + "Ġнав ÑĸÑĤÑĮ", + "ĠнавÑĸ ÑĤÑĮ", + "ä¸ĵ ä¸ļ", + "Ġ 경기", + "Ġê²½ 기", + "Ġp ÅĻev", + "ĠpÅĻ ev", + "ĠpÅĻe v", + "е ÑĤи", + "еÑĤ и", + "Ġ íĶĮ", + "ĠíĶ Į", + "н ÑıÑĤ", + "нÑı ÑĤ", + "à¥ģ श", + "à¥ģठ¶", + "лÑİ Ð´", + "в иÑī", + "ви Ñī", + "å° ¾", + "çļĦ äºĭ", + "Ġ ëIJľ", + "Ġë IJľ", + "ĠëIJ ľ", + "ر ÙĪÙģ", + "رÙĪ Ùģ", + "Ġ 女", + "Ġå¥ ³", + "κ ή", + "Ġ Tuy", + "ĠT uy", + "ĠTu y", + "Ġê²ĥ ìĿĦ", + "Ġb unu", + "Ġbu nu", + "Ġbun u", + "ĠÑĢаз лиÑĩ", + "ĠD ün", + "ãĤŃ ãĥ£", + "ÑĢ ÑĥÑģ", + "ÑĢÑĥ Ñģ", + "Ġ мм", + "Ġм м", + "l oven", + "lo ven", + "love n", + "lov en", + "Ġot ev", + "n oloj", + "ES İ", + "ü p", + "Ġ èĤ", + "Ġè Ĥ", + "ικ ÏĮÏĤ", + "ικÏĮ ÏĤ", + "ض اء", + "ضا Ø¡", + "Ġ пеÑĩ", + "Ġп еÑĩ", + "ÅĻÃŃ klad", + "ãģĵ ãĤį", + "Å¡ tÃŃ", + "Å¡t ÃŃ", + "Ġبر Ú¯", + "ãģĮ ãģĤãĤĭ", + "Ñĸ ÑģÑĤ", + "ÑĸÑģ ÑĤ", + "à¥ī à¤ķ", + "ÏĢ Î·", + "ĠاÙĦÙħ ست", + "ĠاÙĦÙħس ت", + "Ġз ай", + "Ġза й", + "Ġch ương", + "о ÑĤÑĥ", + "оÑĤ Ñĥ", + "Ġ Сам", + "ĠС ам", + "Å¡ et", + "Å¡e t", + "ĠìŀĪ ìĹĪ", + "ĠÙģ Ø§Ø±", + "Ñĸ он", + "ãĥĹ ãĥŃ", + "Ġnh iá»ĩt", + "in izi", + "ini zi", + "iniz i", + "Ġc ož", + "Ġco ž", + "Ġà¤Ĩ न", + "Ġsyst ém", + "ر ÙĪØ¹", + "رÙĪ Ø¹", + "a yet", + "ay et", + "aye t", + "ĠÙ쨱 ÙĩÙĨÚ¯", + "Ġ è¶", + "Ġè ¶", + "èģ ·", + "è§Ĥ çľĭ", + "н ок", + "но к", + "à¸IJ าà¸Ļ", + "êµIJ ìľ¡", + "k la", + "kl a", + "ãĤģ ãģ¦", + "Îķ ÎĻ", + "åĿ Ĺ", + "Ġsk uteÄį", + "à¥Ĥ à¤ľ", + "ãģij ãģ¦", + "N GC", + "NG C", + "Ġ åĢ", + "Ġå Ģ", + "ĠÑĢоз п", + "nÃŃ ků", + "nÃŃk ů", + "ãĥ³ ãĤ¹", + "ĠÐĴ еÑĢ", + "Ġyüz de", + "Ġ미 êµŃ", + "ĠÙħ Ùī", + "д еÑĢ", + "де ÑĢ", + "а ва", + "ав а", + "Ġmerk ez", + "į ng", + "Ġ ìĤ¼", + "ĠìĤ ¼", + "ĠÑĢоб оÑĤи", + "ĠÑĢобоÑĤ и", + "Ġ нÑĮого", + "Ġн ÑĮого", + "Ġ економ", + "Ġе коном", + "Ġек оном", + "ĠÑĩелов ека", + "ĠÑĩеловек а", + "Ġ à¸ŀระ", + "Ġà¸ŀ ระ", + "Ġà¸ŀร ะ", + "ãĥ Ĵ", + "ãģ£ ãģ¦ãģĦ", + "ãģ£ãģ¦ ãģĦ", + "ä¼ Ĺ", + "ĠпÑĢод ÑĥкÑĤ", + "ĠпÑĢодÑĥк ÑĤ", + "Ġy anı", + "Ġyan ı", + "à¥Ģव न", + "Ġc áºŃp", + "ĠAv rupa", + "ा à¤Ń", + "ाठŃ", + "ĠìłĦ ìļ©", + "æķ £", + "ĠìľĦ íķľ", + "Ñħод иÑĤÑĮ", + "ÑħодиÑĤ ÑĮ", + "Ġsın ır", + "ü cret", + "üc ret", + "s uz", + "su z", + "æ¨ Ĥ", + "Ġ ì°½", + "Ġì° ½", + "Ïģ ίοÏħ", + "Ïģί οÏħ", + "åĪ ļ", + "Ø® ÙĦ", + "ëłĩ ê²Į", + "ج د", + "Ġμ αÏĤ", + "Ġμα ÏĤ", + "áºŃ m", + "k ara", + "ka ra", + "kar a", + "ãĤ« ãĥ¼", + "Ġkter ou", + "ìĽ ¨", + "ÑĦи ÑĨи", + "oÄŁ raf", + "Ġна пÑĢи", + "Ġнап ÑĢи", + "ãģij ãģ©", + "Ġ éļ", + "Ġé ļ", + "ت باÙĦ", + "تب اÙĦ", + "ëŁ ½", + "ìĶ ¨", + "íĮĮ ìĿ¼", + "Ïĩ α", + "Ġuz ak", + "Ġd òng", + "Ġг олоÑģ", + "Ġгол оÑģ", + "Ïĥ ÏĦή", + "ÏĥÏĦ ή", + "ι λ", + "Ø· Ùģ", + "Ġê·¸ ëħĢ", + "ãĤ¿ ãĤ¤", + "ا ÙĨÚ¯", + "اÙĨ Ú¯", + "i nou", + "in ou", + "ino u", + "л он", + "ло н", + "à¹ĩ ม", + "Ġब द", + "Ġkon usunda", + "Ġkonusu nda", + "Ġkonus unda", + "Ġn âng", + "ãģ¾ãģĽ ãĤĵ", + "Ñĥ ÑİÑĤÑĮÑģÑı", + "ÑĥÑİ ÑĤÑĮÑģÑı", + "ÑĥÑİÑĤÑĮ ÑģÑı", + "åŁ ¹", + "ен ко", + "ìł ij", + "Ġ ÑĤов", + "ĠÑĤ ов", + "ĠÑĤо в", + "Ġt ÅĻeba", + "ĠtÅĻ eba", + "ز اÙĨ", + "زا ÙĨ", + "is yon", + "isy on", + "Ġ ген", + "Ġг ен", + "Ġге н", + "Ġ Pokud", + "ĠP okud", + "ĠPo kud", + "ĠPok ud", + "âĢĮ اÙĨد", + "âĢĮاÙĨ د", + "Ġг ÑĢÑĥд", + "ĠгÑĢÑĥ д", + "ĠгÑĢ Ñĥд", + "Ġ خرÛĮد", + "Ġخر ÛĮد", + "λ λα", + "λλ α", + "Ġp ÅĻÃŃm", + "ĠpÅĻ ÃŃm", + "ĠpÅĻÃŃ m", + "Ġ æ³ķ", + "Ġæ³ ķ", + "Ġز ÙĨدگÛĮ", + "ĠزÙĨد Ú¯ÛĮ", + "ạ p", + "Ġ íĬ¸", + "ĠíĬ ¸", + "ĠÄij á»Ļc", + "ĠÄijá»Ļ c", + "Ġê·¸ ë¦¬ê³ł", + "Ġ그리 ê³ł", + "н из", + "ни з", + "Ġ ÙĬÙĤ", + "ĠÙĬ ÙĤ", + "l aÅŁtır", + "la ÅŁtır", + "laÅŁ tır", + "ĠпÑĢав о", + "ĠпÑĢа во", + "Ñĥ Ñģк", + "ÑĥÑģ к", + "å° ½", + "Ġप ड", + "éĵ ģ", + "Ġ ì·¨", + "Ġì ·¨", + "ĠاÙĦ بÙĬ", + "ĠاÙĦب ÙĬ", + " ¸", + "ิม à¸ŀ", + "Ġs vÄĽ", + "Ġsv ÄĽ", + "Ġб ал", + "Ġба л", + "Ġm ôn", + "Ġmô n", + "ĠD ữ", + "ĠØ´ دÙĨ", + "Ġشد ÙĨ", + "Ġ ÙģÙĦ", + "ĠÙģ ÙĦ", + "Ġv znik", + "Ġvz nik", + "Ġch ứ", + "ĠÑģÑĤ ÑĢÑĥкÑĤÑĥ", + "ç¸ £", + "ĠH oa", + "ĠHo a", + "í ĮĢ", + "íĮ Ģ", + "Ġ ÑĢÑĸÑĪ", + "ĠÑĢ ÑĸÑĪ", + "Ġвоз дÑĥ", + "олÑĮ ÑĪ", + "οÏħ με", + "ู à¸Ļ", + "Ġп ÑĢид", + "ĠпÑĢ Ð¸Ð´", + "ĠпÑĢи д", + "il mek", + "ilm ek", + "ĠاÙĦ ÙĤر", + "ĠاÙĦÙĤ ر", + "Į ĵ", + "Ġ uç", + "Ġu ç", + "å¨ ĺ", + "ec ektir", + "ecek tir", + "Ġ íħĮ", + "Ġí ħĮ", + "Ġíħ Į", + "Ġ εÏħ", + "Ġε Ïħ", + "Ġh òa", + "Ïģ Ïħ", + "ึà¸ģษ า", + "ĠÑĤеÑħ нолог", + "ú i", + "Ġbilg iler", + "Ġbilgi ler", + "Ġ ÙĤاÙĦ", + "ĠÙĤ اÙĦ", + "e dl", + "ed l", + "z nám", + "zn ám", + "á ly", + "ál y", + "åºĶ 该", + "алÑĮ ний", + "аÑĤ елÑı", + "аÑĤе лÑı", + "à¸Ļ วà¸Ļ", + "à¸Ļว à¸Ļ", + "Ġ ÐŁÐ¾Ð»", + "ĠÐŁ ол", + "ĠÐŁÐ¾ л", + "à¸ŀ à¸Ļ", + "ç¤ ¼", + "Ġt asar", + "Ġta sar", + "Ġtas ar", + "ĠÑĤ ой", + "ĠÑĤо й", + "Ġм еÑģÑı", + "Ġ иÑģк", + "Ġи Ñģк", + "ĠиÑģ к", + "Ġप द", + "γ ή", + "ا ختÙĩ", + "اخ تÙĩ", + "اخت Ùĩ", + "è¿Ļ éĩĮ", + "Ġch á»īnh", + "Ġchá»ī nh", + "ĠÙĤ سÙħ", + "Ùİ Ùĩ", + "er li", + "åĽ½ éĻħ", + "il iyor", + "ili yor", + "ĠØ´Ùĩر ستاÙĨ", + "Ġve lk", + "Ġvel k", + "åĽ º", + "Ġб ÑĸлÑĮÑĪ", + "ĠбÑĸлÑĮ ÑĪ", + "ãĥ¼ ãĥĹ", + "ãĥ¼ãĥ Ĺ", + "æŁ IJ", + "ì§ ľ", + "ĠÄĮ R", + "Ġд ек", + "Ġде к", + "ر بÛĮ", + "رب ÛĮ", + "о виÑĩ", + "ов иÑĩ", + "ови Ñĩ", + "Ġkap sam", + "Ġkaps am", + "ĠÙĦ Ø£", + "Ġ анÑĤи", + "Ġан ÑĤи", + "Ġ ücret", + "Ġü cret", + "ê² ¬", + "о ÑĢож", + "оÑĢ Ð¾Ð¶", + "оÑĢо ж", + "ÛĮ ÙħÛĮ", + "ÛĮÙħ ÛĮ", + "è© ķ", + "Ġ ë§ŀ", + "Ġë§ ŀ", + "Ġ ÑĢÑıд", + "ĠÑĢ Ñıд", + "ĠÑĢÑı д", + "ĠÙĩÙħ راÙĩ", + "â r", + "ا بت", + "اب ت", + "ĠиÑģполÑĮзов аÑĤÑĮ", + "ĠиÑģполÑĮз оваÑĤÑĮ", + "к Ñģ", + "âī ¡", + "Ġo lay", + "Ġol ay", + "Ġola y", + "èį ¯", + "Ġo prav", + "Ġop rav", + "Ġopr av", + "Ġدرب ارÙĩ", + "Ġ ä¸ŃåĽ½", + "Ġä¸Ń åĽ½", + "и лÑģÑı", + "ил ÑģÑı", + "åį «", + "ĠاÙĦ است", + "ĠاÙĦاس ت", + "ÙĪÛĮ ÛĮ", + "ÑĢ ÐµÑĪ", + "ÑĢе ÑĪ", + "Ġ ÙĨس", + "ĠÙĨ س", + "ãĢĤ åľ¨", + "Ġ ÙĦØŃ", + "ĠÙĦ ØŃ", + "Ġko run", + "Ġkor un", + "ĠÙģ Ø±Ø¯", + "ĠÙ쨱 د", + "Ġо боÑĢ", + "Ġоб оÑĢ", + "Ġобо ÑĢ", + "е ÑĪÑĮ", + "еÑĪ ÑĮ", + "Ġpod mÃŃn", + "Ġ ë¬¸ìłľ", + "Ġ문 ìłľ", + "ĠdeÄŁer lendir", + "ä¸į åIJĮ", + "æ¶ ²", + "ा हर", + "ाह र", + "íļ į", + "à¥į à¤ł", + "à¥įठł", + "и ÑĤиÑģÑı", + "иÑĤи ÑģÑı", + "ا ÙĦع", + "اÙĦ ع", + "Ġd vÄĽ", + "Ġdv ÄĽ", + "ĠпеÑĢ ÐµÐº", + "ĠпеÑĢе к", + "Ġ åħĥ", + "Ġåħ ĥ", + "Ġ aras", + "Ġa ras", + "Ġar as", + "Ġara s", + "Ġalt ında", + "Ġaltın da", + "Ġaltı nda", + "Ġв за", + "Ġвз а", + "æĴ ĥ", + "Ġmil yon", + "Ġ åѦ", + "ĠåŃ ¦", + "Ġв аÑĢи", + "ĠваÑĢ Ð¸", + "Ġва ÑĢи", + "ĠاÙĦع اÙĦÙħ", + "' Ñı", + "ÙĪ ÛĮس", + "ÙĪÛĮ س", + "Ġмож ÑĥÑĤÑĮ", + "ãģij ãģŁ", + "ìĿ´ ìĹĪëĭ¤", + "ìĿ´ìĹĪ ëĭ¤", + "ο Ïįν", + "οÏį ν", + "Ġ éŁ", + "Ġé Ł", + "Ġpost up", + "Ġpo stup", + "ü yük", + "üy ük", + "åĪ Ĭ", + "Ġ ÙĤب", + "ĠÙĤ ب", + "Ġاص ÙĦÛĮ", + "ĠاصÙĦ ÛĮ", + "ÙĪ Ùī", + "Ġrep ublik", + "Ġ ÐĻ", + "ĠÐ Ļ", + "ģ m", + "Ġб ел", + "ा -", + "Ñģ кое", + "Ñģк ое", + "Ñģко е", + "Ġcu á»iji", + "è² ·", + "ี ยว", + "ีย ว", + "éĩį è¦ģ", + "ู ม", + "ĠÑĢозвиÑĤ кÑĥ", + "Ġ ë°±", + "Ġë° ±", + "åĥ ¹", + "Ġ åīį", + "Ġåī į", + "à¹Ħ à¸ĭ", + "ãĢĮ â̦â̦", + "à¥Į त", + "Ú© رد", + "کر د", + "Ġza ÅĻÃŃzenÃŃ", + "ส าร", + "Ġle tech", + "Ġlet ech", + "l emek", + "le mek", + "lem ek", + "leme k", + "人 ãģ®", + "Ġd ưỡng", + "ĠdưỠ¡ng", + "ت ÙĤ", + "Ġ åĵ", + "Ġå ĵ", + "åħ »", + "Ġ ëıħ", + "Ġëı ħ", + "Ġ 루", + "Ġë £¨", + "Ġë£ ¨", + "ذ ÙĦÙĥ", + "Ġ ìĿ¼ë³¸", + "ĠìĿ¼ 본", + "ĠAy rıca", + "ĠÙ¾ Úĺ", + "is inin", + "isi nin", + "isin in", + "isini n", + "Ġìĭ ¶", + "Ú¯ ÛĮرÛĮ", + "Ú¯ÛĮ رÛĮ", + "Ú¯ÛĮر ÛĮ", + "خص ص", + "³ ç´°", + "ĠмаÑĤеÑĢи ал", + "k ové", + "ko vé", + "kov é", + "ë§ ī", + "ãģķ ãģĽ", + "ĠÑĤак ой", + "ĠÑĤа кой", + "Ġtr áºŃn", + "Ġ лиÑĨ", + "Ġл иÑĨ", + "Ġли ÑĨ", + "Ġ åĽĽ", + "ĠåĽ Ľ", + "Ñĩ Ñĥ", + "Ġ æ°´", + "Ġæ° ´", + "Ġdo lay", + "Ġdol ay", + "å½ ¹", + "ÑĢ Ð¸Ð²Ð°", + "ÑĢи ва", + "ÑĢив а", + "Ġг ÑĢÑĥпп", + "ĠгÑĢÑĥ пп", + "ĠгÑĢÑĥп п", + "Ġmüm kün", + "л ена", + "лен а", + "ле на", + "ëĿ¼ ëĬĶ", + "åĪ© ç͍", + "Ġr ahat", + "Ġra hat", + "ï¼ıï¼ı ï¼ıï¼ı", + "æģ ©", + "Ġ íķŃ", + "Ġíķ Ń", + "Ġ íĴ", + "Ġí Ĵ", + "Ġ ìĬ¹", + "ĠìĬ ¹", + "Ġch ân", + "Ġ ãĤ¨", + "ĠãĤ ¨", + "Ġжиз ни", + "çĸ ij", + "ãĢĤ ä»ĸ", + "리 ìĬ¤", + "Ñĩ иÑħ", + "Ñĩи Ñħ", + "Ġ é¦ĸ", + "Ġé¦ ĸ", + "ÄĽ r", + "Ġй омÑĥ", + "Ġth áºŃt", + "Ġìķ ŀ", + "c ih", + "ci h", + "س ÙĦاÙħ", + "سÙĦ اÙħ", + "Ġs iyas", + "Ġsi yas", + "Ġ íĸĪ", + "Ġíĸ Ī", + "Ġк оÑĪ", + "Ġко ÑĪ", + "Ïĥ αν", + "Ïĥα ν", + "ÙĬ اÙĨ", + "ÙĬا ÙĨ", + "Ġd ö", + "ाह त", + "о ÑĢод", + "оÑĢ Ð¾Ð´", + "оÑĢо д", + "о ваÑı", + "ов аÑı", + "ова Ñı", + "ÑĨи оналÑĮ", + "ÑĨион алÑĮ", + "ائ Ùĩ", + "Ġà¤ĸ र", + "ĠÄij á»Ŀi", + "ĠÄijá» Ŀi", + "ä¸į ä¼ļ", + "Ùĥ ز", + "ี à¸Ħวาม", + "ีà¸Ħ วาม", + "l ıyor", + "lı yor", + "à¥ĭ द", + "Ġ ì¶©", + "Ġì¶ ©", + "Ġc á»ij", + "à¹Ĥ à¸ķ", + "Ġε ÏĢί", + "ĠεÏĢ Î¯", + "ĠпÑĢ Ñıм", + "æ³ °", + "ا ÙĦØ©", + "اÙĦ Ø©", + "j ÃŃm", + "jÃŃ m", + "Ġ би", + "Ġб и", + "Å¡ em", + "Å¡e m", + "ĠH á»Ļi", + "à¸Ħ รà¸ĩ", + "à¸Ħร à¸ĩ", + "Ġh uyá»ĩn", + "Ġhuy á»ĩn", + "ç¯ Ģ", + "l iÅ¡", + "li Å¡", + "ĠجÙĩ ت", + "ç§ ĭ", + "ĠÑĨ ел", + "ĠÑĨе л", + "Ġ лÑĸÑĤ", + "Ġл ÑĸÑĤ", + "ĠлÑĸ ÑĤ", + "Ġ æ·", + "Ġæ ·", + "ж Ñĥ", + "ãģĪ ãģŁ", + "ë´ ī", + "Ġ 머", + "Ġë¨ ¸", + "åł´ åIJĪ", + "éĿ ©", + "ãĥª ãĥ³", + "ег да", + "Ġbe nim", + "Ġben im", + "Ġbeni m", + "çĽ Ł", + "ãģ® ä¸Ń", + "åĿ IJ", + "ĠÃľniversit esi", + "Ġko ÅŁ", + "Ġп ож", + "Ġпо ж", + "iá»ĩ p", + "ĠpÅĻ ij", + "ĠpÅĻi j", + "ëŀ ¨", + "ĠاÙĦ أس", + "ĠاÙĦØ£ س", + "ár nÃŃ", + "iế m", + "Ġ èĬ", + "Ġè Ĭ", + "Ġ δε", + "Ġδ ε", + "å¨ ±ä¹IJ", + "Ġ ưu", + "Ġ çĦ¡", + "ĠçĦ ¡", + "Ġг ÑĢи", + "ĠгÑĢ Ð¸", + "Ġпо ÑįÑĤомÑĥ", + "ĠÄij óng", + "ĠÄijó ng", + "ĠÄijón g", + "ج اÙĨ", + "جا ÙĨ", + "Ġngh iên", + "Ġnghi ên", + "Ġا ÙĦاÙĨ", + "ĠاÙĦ اÙĨ", + "ÑĪ ÐµÐ¹", + "ÑĪе й", + "à¹ģ รà¸ģ", + "ĠÚĨ Ùĩار", + "ĠÚĨÙĩ ار", + "Ñİ Ñīий", + "ÑİÑī ий", + "ÏĮ Ïģ", + "Ġ رÙħ", + "Ġر Ùħ", + "ì² ł", + "Ġدست گاÙĩ", + "Ġ دÛĮد", + "Ġد ÛĮد", + "ĠدÛĮ د", + "ãĥĥãĤ¯ ãĤ¹", + "ा मन", + "ाम न", + "ĠTh Ãłnh", + "Ġth ẩm", + "Ġc Ãłng", + "ĠcÃł ng", + "Ġdön Ã¼ÅŁ", + "ĠпÑĢи гоÑĤов", + "ĠпÑĢиг оÑĤов", + "Ġk iÅŁi", + "Ġki ÅŁi", + "ĠkiÅŁ i", + "ØŃ ت", + "Ġ ë²ķ", + "Ġë² ķ", + "é£ Ľ", + "Ġit ibar", + "Ġг лав", + "Ġгла в", + "Ġor tam", + "Ġort am", + "Ġorta m", + "Ġm add", + "Ġma dd", + "Ġmad d", + "Ġ оÑģÑĤав", + "Ġо ÑģÑĤав", + "ĠоÑģÑĤ ав", + "ĠÙģÙĪ ØªØ¨Ø§ÙĦ", + "ĠÙģÙĪØª باÙĦ", + "Ġan laÅŁ", + "l eyen", + "le yen", + "ley en", + "ç ´Ģ", + "ç´ Ģ", + "Ġ é£", + "Ġé £", + "/ lo", + "/l o", + "Ùħ ÙĪÙĦ", + "ÙħÙĪ ÙĦ", + "Ġд ÑĥÑħ", + "ĠдÑĥ Ñħ", + "Ġ ÙĦب", + "ĠÙĦ ب", + "л ег", + "ле г", + "Ġgö nder", + "Ġgön der", + "ÙĬ Ø·", + "Ġ สำ", + "Ġส ำ", + "Ġv ás", + "Ġvá s", + "ĠÐŁ еÑĤ", + "а лоÑģÑı", + "ало ÑģÑı", + "ì ¿ł", + "ì¿ ł", + "éĻ ½", + "åĸ ®", + "èĪ ŀ", + "н Ñĥл", + "нÑĥ л", + "ÄŁ ine", + "ÄŁi ne", + "ÄŁin e", + "Ġ ghi", + "Ġg hi", + "Ġgh i", + "Ġ çµ", + "Ġç µ", + "ÙĬ ÙĨÙĬ", + "ÙĬÙĨ ÙĬ", + "Å ½", + "Ġhük üm", + "ĠD Ä±ÅŁ", + "ĠÎŃ Ïĩει", + "ĠÎŃÏĩ ει", + "Ġ Ñģка", + "ĠÑģ ка", + "ĠÑģк а", + "Ġ ÑĤим", + "ĠÑĤ им", + "ĠÑĤи м", + "Ġп оÑģÑĤав", + "Ġпо ÑģÑĤав", + "ĠпоÑģÑĤ ав", + "à¸Ļ าà¸Ķ", + "à¸Ļา à¸Ķ", + "d ül", + "dü l", + "Ġd va", + "Ġdv a", + "Ġ à¸Ħà¸Ļ", + "Ġà¸Ħ à¸Ļ", + "Ġchá»ĭ u", + "Ġ èı", + "Ġè ı", + "à¹ģส à¸Ķà¸ĩ", + "æ° £", + "Ġ íά", + "Ġí ά", + "Ġ Ñĩин", + "ĠÑĩ ин", + "ĠÑĩи н", + "ãģ« ãģĬ", + "ен ноÑģÑĤи", + "енно ÑģÑĤи", + "ÐIJ ÐĿ", + "Ġh emen", + "Ġhe men", + "Ġhem en", + "Ġ ait", + "Ġa it", + "Ġai t", + "Ġ à¤Ĭ", + "ĠठĬ", + "æī §", + "ĠA BD", + "ĠAB D", + "Ġκα θ", + "æ´ Ľ", + "ãĤ¢ ãĥ«", + "à¹ī าà¸Ĺ", + "à¹īา à¸Ĺ", + "ÅĻ ez", + "ÅĻe z", + "d ÄĽji", + "dÄĽ ji", + "Ġt á»ĭch", + "еннÑı м", + "Ġв ÑģÑĤанов", + "ĠвÑģÑĤ анов", + "ĠاÙĦ بر", + "ĠاÙĦب ر", + "ÙĪÙħ تر", + "k ách", + "ká ch", + "åº Ĭ", + "л Ñĥж", + "лÑĥ ж", + "Ġ تد", + "Ġت د", + "ä¸ ½", + "ر Ø®", + "à¤Ĥ à¤ĸ", + "èĩªå·± çļĦ", + "å®ĺ ç½ij", + "- Ñı", + "à¹ĩ à¸Ķ", + "èĦ ļ", + "Ġ çķ", + "Ġç ķ", + "Ġiçer isinde", + "Ġb iá»ĥn", + "Ġbi á»ĥn", + "Ġ à¸ģล", + "Ġà¸ģ ล", + "Ġy aÄŁ", + "Ġya ÄŁ", + "Ġ æ´", + "Ġæ ´", + "Ġ бÑĢа", + "Ġб ÑĢа", + "ع ار", + "عا ر", + "æĪ °", + "à¥Ģ Ċ", + "Ġlé Äį", + "a ların", + "alar ın", + "aları n", + "Ġ Îĸ", + "ĠÎ ĸ", + "а ÑĢÑı", + "аÑĢ Ñı", + "ãģĿ ãĤĵãģª", + "ÅĪ uje", + "ãĢĢ Ġ", + "ĠsaÄŁ lık", + "Ġдо ÑģлÑĸд", + "ĠдоÑģ лÑĸд", + "ÃŃ Å¡", + "à¥įर श", + "à¥ī न", + "Ġgi ả", + "بÙĪ Ø§Ø³Ø·Ø©", + "å® ģ", + "Ġs oud", + "Ġso ud", + "Ġsou d", + "Ġк ÑĤо", + "e sel", + "es el", + "ese l", + "Ġп ам", + "Ġпа м", + "Ġ ÂłĠ", + "ĠÂł Ġ", + "ĠÄį lov", + "æ· ·", + "ห à¸į", + "ĠOs man", + "æ ¦Ĥ", + "æ¦ Ĥ", + "Ġ åĭ", + "Ġå ĭ", + "ï¼Į åħ¶", + "Ġ à¸Ħร", + "Ġà¸Ħ ร", + "Ġmá» ģm", + "Ġ ÑģоÑĢ", + "ĠÑģ оÑĢ", + "ĠÑģо ÑĢ", + "çĨ ±", + "Ġthu ê", + "ر ج", + "à¹Ĥล à¸ģ", + "Ġ íķĺê³ł", + "Ġíķĺ ê³ł", + "ÙĬ دة", + "ÙĬد Ø©", + "ĠaÅŁ aģı", + "Ġk á»ĥ", + "Ġká» ĥ", + "à¸ķ ำ", + "λ ει", + "λε ι", + "çļĦ è¯Ŀ", + "æ± ł", + "ĠÑģ ÑĤен", + "ĠÑģÑĤ ен", + "Ġin cel", + "Ġinc el", + "Ġince l", + "åº Ń", + "ÑĤ оÑĩ", + "ÑĤо Ñĩ", + "Ġprob lém", + "Ġprobl ém", + "ÏĦ Ïĥ", + "à¹ī à¸Ńà¸Ļ", + "à¹īà¸Ń à¸Ļ", + "ë³´ ëĭ¤", + "Ġà¤Ĩ à¤Ĺ", + "ν αÏĤ", + "να ÏĤ", + "ãģĦ ãĤĭ", + "Ġd ục", + "Ġdụ c", + "Ġtoho to", + "Ġtoh oto", + "ëIJĺ ìĹĪëĭ¤", + "ëIJĺìĹĪ ëĭ¤", + "T J", + "Ġви знаÑĩ", + "ĠB unun", + "ĠBu nun", + "ĠBun un", + "ĠBunu n", + "à¤Ĥ बर", + "à¤Ĥब र", + "ĠÙĩÙħÚĨ ÙĨÛĮÙĨ", + "Ġб Ñİдж", + "Ñĥ ÑĢг", + "ÑĥÑĢ Ð³", + "äº ®", + "Ġμε γ", + "Ġtop lum", + "Ġtopl um", + "ãģ£ ãģ", + "о ÑĤо", + "оÑĤ о", + ": |", + "éĿŀ 常", + "ิ à¸Ĺà¸ĺ", + "ิà¸Ĺ à¸ĺ", + "éģ ķ", + "âĢĮÙ¾ دÛĮ", + "Ġз ÑĢоб", + "à¹Į à¸Ķ", + "Ġдолж ен", + "Ġдол жен", + "ĠmÄĽ sta", + "ĠmÄĽst a", + "ÛĮ Ø´Ùĩ", + "ÛĮØ´ Ùĩ", + "v atel", + "va tel", + "vat el", + "Ġprov oz", + "Ġ inan", + "Ġin an", + "Ġi nan", + "à¤Ĥ प", + "Ġpar ç", + "ÑĢ Ð°ÑģÑĤ", + "ÑĢа ÑģÑĤ", + "ÑĢаÑģ ÑĤ", + "üm ü", + "Ġgi á»ijng", + "Ġgiá» ijng", + "æ¬ ¢", + "Ø« ÙĬر", + "ĠB akan", + "ĠBa kan", + "ĠBak an", + "Ġ â΍", + "ĠâĪ ¨", + "Ġ باÙĨ", + "Ġب اÙĨ", + "Ġبا ÙĨ", + "Û± Û¸", + "Û±Û ¸", + "ãĤĤ ãģĨ", + "land ı", + "lan dı", + "Ġyen iden", + "Ġyeni den", + "ÑĨ енÑĤ", + "ÑĨе нÑĤ", + "ÑĨен ÑĤ", + "Ġде ÑıÑĤелÑĮ", + "Ð ©", + "Ġ rov", + "Ġr ov", + "Ġro v", + "å®Į åħ¨", + "ĠK ỳ", + "s lu", + "sl u", + "Ġl ấy", + "é¤ IJ", + "ĠÑĩ олов", + "ä¼ Ŀ", + "ĠbaÅŁ v", + "å° Ī", + "ê³ ¡", + "ãĢģ ãģĿãĤĮ", + "Ġ PÅĻÃŃ", + "ĠP ÅĻÃŃ", + "ĠPÅĻ ÃŃ", + "д ем", + "де м", + "ĠпÑĢо ек", + "ร à¸ĸ", + "建 设", + "Ġмож лив", + "æ® º", + "ãģ¡ãĤĥ ãĤĵ", + "æķ ij", + "ĠÄį ty", + "ĠÄįt y", + "é¦ Ĩ", + "о ÑĢÑĥ", + "оÑĢ Ñĥ", + "Ġ æĦ", + "Ġæ Ħ", + "Ġk ÃŃch", + "λ οÏħ", + "λο Ïħ", + "ãģĦ ãģ¤", + "Ġc Äĥn", + "ĠcÄĥ n", + "Ạµ", + "Ġel de", + "éº »", + "ÄŁ e", + "Ġdo bÄĽ", + "Ġdob ÄĽ", + "ा यर", + "ाय र", + "Ġ ãĥı", + "Ġãĥ ı", + "н ен", + "не н", + "Ġmůže te", + "Ġmůž ete", + "Ġна ÑģÑĤÑĥп", + "ĠнаÑģÑĤ Ñĥп", + "ìĭľ ê°Ħ", + "ĠÑģим пÑĤом", + "Ġ ÏĥÏį", + "ĠÏĥ Ïį", + "Ġ سÙĦ", + "Ġس ÙĦ", + "ε κ", + "ร à¸ĵ", + "á te", + "át e", + "ek ler", + "ekl er", + "ĠвÑĢем ени", + "ĠвÑĢемен и", + "âĢĮ ÙĩاÛĮÛĮ", + "âĢĮÙĩاÛĮ ÛĮ", + "ãģĬ ãĤĬ", + "ж и", + "Ñĭ ваеÑĤÑģÑı", + "Ñĭв аеÑĤÑģÑı", + "Ñĭва еÑĤÑģÑı", + "ÑĭваеÑĤ ÑģÑı", + "Ùħ اÙĨÛĮ", + "ÙħاÙĨ ÛĮ", + "Ùħا ÙĨÛĮ", + "à¸ķ ล", + "Ġ صد", + "Ġص د", + "Ġ вол", + "Ġв ол", + "Ġво л", + "ìĬ Ī", + "ĠÙĥ Ùħا", + "ĠÙĥÙħ ا", + "Ġnh ằm", + "èģ ¯", + "ov acÃŃ", + "ova cÃŃ", + "Ġë§Į ëĵ¤", + "ÙĪ Ù¾", + "Ġ ë¸Į", + "Ġë¸ Į", + "ب ÙĬØ©", + "بÙĬ Ø©", + "u yla", + "uy la", + "л ено", + "лен о", + "ле но", + "èĮ ¶", + "ÑĢ ÐµÐ¹", + "ÑĢе й", + "Ġk li", + "Ġkl i", + "Ġüzer inden", + "Ġüzerinde n", + "н еÑĤ", + "не ÑĤ", + "r aÄį", + "ra Äį", + "ĠпÑĢа ÑĨÑİ", + "Ġed iyor", + "Ġedi yor", + "ãģı ãģł", + "Ġ Äįast", + "ĠÄį ast", + "ĠÄįas t", + "i yi", + "iy i", + "éĬ Ģ", + "Ġd ù", + "Ùİ Ø¨", + "ÙĪ ÙĬØ©", + "ÙĪÙĬ Ø©", + "å ª", + "Ġs ınıf", + "Ġsın ıf", + "Ġس اعت", + "Ġ ราย", + "Ġร าย", + "Ġза Ñıв", + "Ġg ặp", + "à¸Ń ว", + "ĠØ« Ùħ", + "ĠZ á", + "ĠвÑĸд к", + "i zik", + "iz ik", + "izi k", + "Ġm ón", + "Ġmó n", + "Ġпов ÑĭÑĪ", + "Ġ à¸ļาà¸Ĺ", + "Ġà¸ļ าà¸Ĺ", + "ĠÑģ ил", + "ĠÑģи л", + "æĥħ åł±", + "Âł t", + "ĠÐľ оÑģк", + "Ġê²ĥ ìĿ´ëĭ¤", + "Ġê²ĥìĿ´ ëĭ¤", + "Ġ çIJ", + "Ġç IJ", + "ĠÙħدÛĮر ÛĮت", + "ов оÑĹ", + "ово ÑĹ", + "Τ ο", + "çº ª", + "нÑĸ ÑĪе", + "нÑĸÑĪ Ðµ", + "Ġ ÐĽÑİ", + "ĠÐĽ Ñİ", + "η Ïĥη", + "ĠÙĨسب ت", + "ĠÙĨس بت", + "m uz", + "mu z", + "ร ว", + "ãĢģ ãģĤ", + "Ġбол ез", + "Ġtr ách", + "ãĥ ¦", + "à¹Ģà¸Ĥ า", + "Ġê·¸ ëĬĶ", + "ب رÛĮ", + "بر ÛĮ", + "æł ª", + "ëĿ¼ ìĿ´", + "Ġ íĮ¨", + "Ġí Į¨", + "ĠíĮ ¨", + "íĬ ¹", + "ľ ´", + "ि ड", + "िठ¡", + "ÑĢо ме", + "ÑĢом е", + "è® ²", + "Ġ ÑĤон", + "ĠÑĤ он", + "ĠÑĤо н", + "Ñģ Ñĸ", + "Ġ ç®", + "Ġç ®", + "åıĸ ãĤĬ", + "ì° °", + "Ġ ÙĪÙĦÛĮ", + "ĠÙĪ ÙĦÛĮ", + "ĠÙĪÙĦ ÛĮ", + "Ġس Ø·ØŃ", + "èı ľ", + "н ами", + "на ми", + "нам и", + "T ürk", + "åİ Ĥ", + "Ġf inan", + "Ġfin an", + "Ġfi nan", + "ãģ« ãģªãĤĭ", + "ãģ«ãģª ãĤĭ", + "Ġ oby", + "Ġo by", + "Ġob y", + "T rong", + "Tr ong", + "Tro ng", + "Ġv yp", + "Ġvy p", + "à¥ģ ड", + "à¥ģठ¡", + "ìŀIJ ê°Ģ", + "Ġ æīĢ", + "Ġæī Ģ", + "ÐĹ Ð°", + "um lu", + "uml u", + "ëĵ Ŀ", + "Ġм енÑĸ", + "Ġмен Ñĸ", + "ол ниÑĤелÑĮ", + "олн иÑĤелÑĮ", + "Ġú Äįin", + "ĠúÄį in", + "Ġb unun", + "Ġbu nun", + "Ġbun un", + "Ġbunu n", + "ĠÐłÐ¾Ñģ Ñģии", + "в ÑģÑı", + "Ġн Ñĸж", + "ĠнÑĸ ж", + "ิà¸Ķ à¸ķ", + "غ Ø©", + "Ä ļ", + "Ġ سÙħ", + "Ġس Ùħ", + "Ġ Ðĺз", + "ĠÐĺ з", + "à¥ĩ प", + "à¥ĩठª", + "大 çļĦ", + "ì¹ ľ", + "Ġ иÑģÑĤ", + "Ġи ÑģÑĤ", + "ĠиÑģ ÑĤ", + "Ġкон ÑģÑĤÑĢÑĥк", + "Û± Û²", + "Û±Û ²", + "â l", + "Ġ ÑĪиÑĢ", + "ĠÑĪ Ð¸ÑĢ", + "ĠÑĪи ÑĢ", + "ï¼ ł", + "Ġar tık", + "Ġart ık", + "æŁ ĵ", + "ä¹ ¡", + "ÃŃ te", + "ÃŃt e", + "ĠNh áºŃt", + "ĠÎĶ Î·", + "Ġöl ç", + "êµ ´", + "о Ñıн", + "оÑı н", + "ëĵ± ë¡Ŀ", + "Ġng ân", + "Ġ бÑĥдÑĮ", + "ĠбÑĥд ÑĮ", + "ÎŁ Ρ", + "ÎŁÎ ¡", + "ì ´", + "Ùħ ÙĪØ¯", + "ÙħÙĪ Ø¯", + "ν ον", + "νο ν", + "Îķ ÎĿ", + "çij ŀ", + "ĠÅĻ ek", + "ĠÅĻe k", + "- âĢIJ", + "ĠM erk", + "ĠMe rk", + "ĠMer k", + "Ġоп ÑĢедел", + "ĠопÑĢед ел", + "Ïģ ιν", + "Ïģι ν", + "л аб", + "ла б", + "ëĦ¤ ìļĶ", + "Ġб лиз", + "Ġбл из", + "Ġбли з", + "Ġph á»iji", + "Ġphá»ij i", + "Ġдолж нÑĭ", + "ĠÑį кÑģп", + "ĠÑįк Ñģп", + "à¸ļ à¸Ĺ", + "à¸Ľà¸£à¸° ส", + "ĠÙ¾Úĺ ÙĪÙĩ", + "Ġ íķľëĭ¤", + "Ġíķľ ëĭ¤", + "ÏĦ οÏį", + "ÏĦο Ïį", + "Ùĩ ÙĨ", + "Ġд од", + "Ġдо д", + "Ġk ayı", + "Ġka yı", + "Ġkay ı", + "Ł ģ", + "Ñģ иÑı", + "Ñģи Ñı", + "à¤Ĥ तर", + "à¤Ĥत र", + "Ġpod nik", + "e vi", + "ev i", + "ÛĮ ÛĮر", + "Т ак", + "Та к", + "к оп", + "ко п", + "н аÑħ", + "на Ñħ", + "ا سÙĩ", + "اس Ùĩ", + "à¸ĵ à¸ij", + "Ġk há", + "Ġkh á", + "Ġy arat", + "Ġya rat", + "Ġyar at", + "ĠاÛĮÙĨ Ú©Ùĩ", + "Ø· بÙĬ", + "طب ÙĬ", + "Ġs ır", + "Ġsı r", + "ĠØ¢ÙħرÛĮÚ© ا", + "Ġ बल", + "Ġब ल", + "k aç", + "ka ç", + "Ġ åı¯", + "Ġåı ¯", + "Ġ åħ¶", + "Ġåħ ¶", + ". ***", + ".* **", + "л ÑĸннÑı", + "лÑĸн нÑı", + "ä¹ ±", + "o q", + "æ ¦", + "ãĤ ¼", + "Ġf ır", + "Ġk ê", + "Ġìłľ ê³µ", + "Ġ Ïĥη", + "ĠÏĥ η", + "а нÑĭ", + "ан Ñĭ", + "н ова", + "но ва", + "нов а", + "à¸Ĭ าย", + "ĠØ· ÙĪÙĦ", + "à¥Ī य", + "Ġ ì¹ľ", + "Ġì¹ ľ", + "ìĤ ´", + "Ġп Ñĸв", + "Ġlu áºŃn", + "Ġà¤ī म", + "åº ĥ", + "à¹ĩ à¸Ńà¸ķ", + "Ġس اÛĮت", + "л Ñıн", + "лÑı н", + "ĠíķĦ ìļĶ", + "Ġgör ül", + "ĠÑĤеÑĢ Ð¸ÑĤоÑĢ", + "ĠÙĨ ØŃ", + "е ма", + "ем а", + "Ġmn oh", + "Ġ ãģ¯", + "غ ÙĬر", + "ĠÑģдел аÑĤÑĮ", + "ç ģµ", + "çģ µ", + "Ġ ÐłÐ°Ð·", + "ĠÐł аз", + "ĠÐłÐ° з", + "Ġг еÑĢ", + "Ġге ÑĢ", + "γ μα", + "íķĺ ë©´", + "ĠdeÄŁ iÅŁtir", + "ĠdeÄŁiÅŁ tir", + "ãĥ³ ãĥĨ", + "ãĥ³ãĥ Ĩ", + "å¸Ĥ åľº", + "个 人", + "ìĥ Ī", + "ì¹ ¨", + "èī º", + "ÙĤ ت", + "ĠÚ¯ رÙģØªÙĩ", + "ĠگرÙģ ØªÙĩ", + "Ġگر ÙģØªÙĩ", + "ĠگرÙģØª Ùĩ", + "Ġ çİĭ", + "Ġçİ ĭ", + "ĠاÙĦ ذÙĩ", + "ĠاÙĦذ Ùĩ", + "λ Ïħ", + "à¤ľ र", + "Ġв ним", + "ë¦ Ń", + "ิ à¸Ĺ", + "Ġ شاÙĩ", + "ĠØ´ اÙĩ", + "æĬķ èµĦ", + "æĿIJ æĸĻ", + "ĠÙĨ Ùģ", + "èª ¬", + "æĬ Ĺ", + "Ġ аб", + "Ġа б", + "iy eti", + "iye ti", + "iyet i", + "ç¾ ħ", + "ÑĢ Ñĸз", + "ÑĢÑĸ з", + "Ġ สม", + "Ġส ม", + "i cÃŃ", + "ic ÃŃ", + "к ÑĥваннÑı", + "кÑĥ ваннÑı", + "Ġ ìķ¼", + "Ġìķ ¼", + "Ġ è½", + "Ġè ½", + "âĢ «", + "Ġ διά", + "Ġδ ιά", + "Ġδι ά", + "Ġд еп", + "Ġде п", + "ãĥ¼ ãĤ¿", + "ãĥ¼ãĤ ¿", + "Ġob jev", + "Ġobj ev", + "mé na", + "Ġbe lg", + "Ġbel g", + "Ġ æ¥", + "Ġæ ¥", + "Ġn á»ģn", + "Ġг ол", + "Ġpost av", + "Ġpo stav", + "Ġت Ú©", + "Ð «", + "ĠпÑĸд ÑĤ", + "ĠоÑĤ ноÑĪ", + "Ġп ÑĢив", + "ĠпÑĢ Ð¸Ð²", + "ĠпÑĢи в", + "Ġ åŁº", + "ĠåŁ º", + "Ġн али", + "Ġна ли", + "Ġнал и", + "ů ž", + "Ġ yat", + "Ġy at", + "Ġya t", + "ÅŁ a", + "ÏĦ ήÏĤ", + "ÏĦή ÏĤ", + "ÑĨ ем", + "ÑĨе м", + "次 æķ°", + "Ġb Ãł", + "ÙĪ Ùĥ", + "Ġ íĶĦë¡ľ", + "ĠíĶĦ ë¡ľ", + "ĠPh áp", + "Ġ êµ°", + "Ġêµ °", + "è³ ŀ", + "Ġoch ran", + "Ġgere kir", + "Ġgerek ir", + "Ġ íļ", + "Ġí ļ", + "à¸ļ ล", + "á me", + "ám e", + "Ġ بÛĮر", + "Ġب ÛĮر", + "ĠبÛĮ ر", + "à¸Ĥ าย", + "ов аний", + "ова ний", + "овани й", + "ован ий", + "Ġmož né", + "âĶģâĶģâĶģâĶģ âĶģâĶģâĶģâĶģ", + "á lu", + "ál u", + "н ÑĤ", + "¦ æĥħ", + "à¹ģ รม", + "ĠÑĦ Ñĸн", + "Ġİ ç", + "à¹Ī à¸Ńย", + "à¹Īà¸Ń ย", + "ê² ¨", + "Ġh edef", + "Ġhe def", + "Ġhed ef", + "ĠاÙĦ ÙħØ´", + "ĠاÙĦÙħ Ø´", + "à¹ī าม", + "à¹īา ม", + "å¯ Ħ", + "Ġ ëĭµ", + "Ġëĭ µ", + "Ġ ô", + "Ġà ´", + "ла ÑģÑı", + "лаÑģ Ñı", + "İ T", + "à¸Ķ ำ", + "Ġher hangi", + "Ġger eken", + "Ġgere ken", + "Ġgerek en", + "е ÑĢеж", + "еÑĢ ÐµÐ¶", + "еÑĢе ж", + "ÙĪ Ø©", + "ĠpÅĻ est", + "ĠpÅĻes t", + "ĠpÅĻe st", + "ç§ij åѦ", + "оÑģÑĤ аÑĤ", + "ün den", + "ünd en", + "ünde n", + "åĮħ æĭ¬", + "Ġد Ùĩد", + "ĠدÙĩ د", + "ÑĪ Ð¸ÑģÑĮ", + "ÑĪи ÑģÑĮ", + "н еÑĢ", + "не ÑĢ", + "Ñĸ дом", + "Ñĸд ом", + "Ġb iç", + "Ġbi ç", + "ìĭ Ń", + "Ġhod not", + "Ġze mÄĽ", + "Ġzem ÄĽ", + "ĠاÛĮ جاد", + "Ġy ine", + "Ġyi ne", + "ि ण", + "िठ£", + "ĠاÙĦ بÙĦ", + "ĠاÙĦب ÙĦ", + "ĠN ÄĽ", + "Ġpol ož", + "Ġpo lož", + "Ġpolo ž", + "éĺħ 读", + "å¸ ģ", + "å¼ Ł", + "ξ ε", + "Ġ Má»Ļt", + "ĠM á»Ļt", + "ç £", + "Û±Û³ Û¹", + "ĠØ¢ ز", + "ãģ ŀ", + "Ġм еÑħ", + "ย ม", + "Ġ æ¨", + "Ġæ ¨", + "Ġo tur", + "Ġot ur", + "Ġd ầu", + "Ġ ëĭ¤ìļ´", + "Ġëĭ¤ ìļ´", + "çĮ «", + "Ġ Có", + "ĠC ó", + "Ġli dÃŃ", + "Ġlid ÃŃ", + "Ġark adaÅŁ", + "Ġα λλά", + "é¡ »", + "ĠÙĩ ÙħÛĮÙĨ", + "ĠÙĩÙħ ÛĮÙĨ", + "è» ¢", + "Ġ âĹĭ", + "ĠâĹ ĭ", + "ëıĦ ë¡Ŀ", + " ĥ", + "âĢĮØ´ دÙĩ", + "âĢĮشد Ùĩ", + "ĠØŃ ÙĬØ«", + "ĠØŃÙĬ Ø«", + "Ġnh óm", + "Ïĥ Ïĩ", + "ĠÑĤÑĢан Ñģп", + "ĠÑĤÑĢанÑģ п", + "Ġtan ım", + "Ġtanı m", + "ç´ į", + "Ġba his", + "Ġbah is", + "ä¸ ¾", + "Ġин ÑĦоÑĢма", + "ĠинÑĦоÑĢм а", + "ĠÑģ лож", + "ĠÑģл ож", + "ĠÑģло ж", + "Ġk raj", + "Ġkr aj", + "Ġkra j", + "Ġ ØŃÙĦ", + "ĠØŃ ÙĦ", + "Ġ ãĥĸ", + "Ġãĥ ĸ", + "ĠÙĨ ÙĤÙĦ", + "ĠÙĨÙĤ ÙĦ", + "Ġ ÐłÐ¾Ð·", + "ĠÐł оз", + "ĠÎij Ïħ", + "lar dı", + "ĠÙ¾ اس", + "Ġپا س", + "Ġ ìĭĿ", + "Ġìĭ Ŀ", + "ĠìłĦìļ© ë©´ìłģ", + "ĠاÙĦ سÙĬ", + "ĠاÙĦس ÙĬ", + "با شد", + "باش د", + "ศ าสà¸ķร", + "Ġk öy", + "Ġkö y", + "Ġ rok", + "Ġr ok", + "Ġro k", + "Ġ 죽", + "Ġì £½", + "Ġì£ ½", + "ĠÑģ ог", + "ĠÑģо г", + "Ġch ú", + "éĺ ª", + "ĠÄįást i", + "ĠÄįá sti", + "Ġз веÑĢ", + "Ġзв еÑĢ", + "Ġ низ", + "Ġн из", + "Ġни з", + "ĠÃ¶ÄŁ ret", + "Ġ ãĥİ", + "Ġãĥ İ", + "п е", + "çĴ °", + "Ġ èª", + "Ġè ª", + "ÙĪ ÙĦÙĩ", + "ÙĪÙĦ Ùĩ", + "İ M", + "/ REC", + "/R EC", + "å¡ ŀ", + "ĠÐĴ и", + "/l oose", + "/lo ose", + "Ġп оÑħ", + "Ġпо Ñħ", + "Ġgen iÅŁ", + "Ġth iá»ĩn", + "Ġthi á»ĩn", + "ti ÄŁi", + "Ñĩ ие", + "Ñĩи е", + "о нд", + "он д", + "Ġп ÑĢиÑģ", + "ĠпÑĢ Ð¸Ñģ", + "ĠпÑĢи Ñģ", + "áz ky", + "ĠDev let", + "ç¦ ģ", + "Ġ аг", + "Ġа г", + "i lere", + "il ere", + "ile re", + "iler e", + "ин кÑĥ", + "Ġvar dı", + "ãĢĢ ãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢ ãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢ ĠãĢĢ", + "Ġë ĨĴ", + "ĠëĨ Ĵ", + "à¤Ĥ पन", + "à¤Ĥप न", + "Ġözel lik", + "éļ ľ", + "ìĸ´ ìĦľ", + "ر ÙĬÙĥ", + "رÙĬ Ùĥ", + "ÙĪ Ø¨ÛĮ", + "ÙĪØ¨ ÛĮ", + "ãĥ³ ãĥĢ", + "ãĥ³ãĥ Ģ", + "í Į¨", + "íĮ ¨", + "Ġसम à¤Ŀ", + "ï¾Ĩï¾Ĩ ï¾Ĩï¾Ĩ", + "Ġ ÙģÙĨ", + "ĠÙģ ÙĨ", + "ॠĿ", + "Ġuv eden", + "ÑĪ Ð¸Ð¼Ð¸", + "ÑĪи ми", + "ÑĪим и", + "Ġ à¹Ģล", + "Ġà¹Ģ ล", + "Ġà¹Ģภ¥", + "Ġ 문ìĿĺ", + "Ġ문 ìĿĺ", + "ĠØŃ رÙģ", + "ĠØŃر Ùģ", + "Ġ عب", + "Ġع ب", + "ãĥ¬ ãĥĵ", + "Ġ æŃ£", + "ĠæŃ £", + "ĠëĺIJ ëĬĶ", + "ĠÚ©ÙĨ ÙĨدÙĩ", + "ĠÚ©ÙĨÙĨد Ùĩ", + "Ġα ÏħÏĦÏĮ", + "ĠαÏħ ÏĦÏĮ", + "Ġ 길", + "Ġê¸ ¸", + "Ġif ade", + "Ġi fade", + "Ġifad e", + "Ġyap mak", + "ãĥķ ãĤ©", + "ãĥķãĤ ©", + "Ġm ẹ", + "Ġst rán", + "Ġstr án", + "Ġs vou", + "Ġsv ou", + "Ġsvo u", + "Ġv ždy", + "Ġtek rar", + "ิ à¸į", + "Ġ ìĵ°", + "Ġì ĵ°", + "Ġìĵ °", + "o ÄŁu", + "oÄŁ u", + "Ġ Ú©ÛĮÙĦ", + "ĠÚ© ÛĮÙĦ", + "ĠÚ©ÛĮ ÙĦ", + "и вÑģÑı", + "ив ÑģÑı", + "Ġë§IJ íĸĪëĭ¤", + "ä¸ Ŀ", + "à¤ı स", + "ĠÑģÑĤ ÑĢаÑħ", + "ĠÑģÑĤÑĢ Ð°Ñħ", + "ĠÑģÑĤÑĢа Ñħ", + "Ġsou Äįas", + "Ġê·¸ 룰", + "Ġ mÃ¼ÅŁ", + "Ġm Ã¼ÅŁ", + "Ġmü ÅŁ", + "λ οÏį", + "λο Ïį", + "γ Ïī", + "Ġt Æ°á»Łng", + "Ġ å·¥", + "Ġå· ¥", + "Ġ اسÙħ", + "Ġا سÙħ", + "Ġاس Ùħ", + "ÑĢ Ñĸм", + "ÑĢÑĸ м", + "à¹Ģ à¸Ľà¸¥", + "à¹Ģà¸Ľ ล", + "Ġ³³ Ġ³³", + "Ùĩ اÛĮÛĮ", + "ÙĩاÛĮ ÛĮ", + "å¯ º", + "Ġس رÛĮ", + "Ġسر ÛĮ", + "Ġк ваÑĢ", + "Ġкв аÑĢ", + "ĠØ´Ùħ ارÙĩ", + "ĠØ´Ùħا رÙĩ", + "Ġ صØŃ", + "Ġص ØŃ", + "о ÑģÑĤав", + "оÑģÑĤ ав", + "ॠ¨", + "Ġ à¸Ħวาม", + "Ġà¸Ħ วาม", + "í ĥģ", + "íĥ ģ", + "éĢ Ĥ", + "ب ØŃ", + "ĠdeÄŁiÅŁ ik", + "éĮ ²", + "е ди", + "ед и", + "Ġ okol", + "Ġo kol", + "Ġok ol", + "ĠÑģ оп", + "ĠÑģо п", + "Ġol mayan", + "Ġolm ayan", + "Ġolma yan", + "çŃ ij", + "Û± Û´", + "Û±Û ´", + "Ġ inclu", + "Ġinc lu", + "Ġincl u", + "Ġ ê²ĮìŀĦ", + "Ġê²Į ìŀĦ", + "ÛĮ ستÙħ", + "ÛĮست Ùħ", + "ÛĮس تÙħ", + "Ġ ç©", + "Ġç ©", + "ĠاÙĦÙĪÙĦ اÙĬات", + "il mektedir", + "ilm ektedir", + "à Į", + "Ùİ Ø¹", + "ĠaÄŁ ır", + "è¡ Ľ", + "Ġe ski", + "Ġes ki", + "Ġesk i", + "ê° Ŀ", + "본 ëĭ¤", + "人 åijĺ", + "Úĺ ÛĮ", + "Ġ ç¨", + "Ġç ¨", + "Ġм еÑģÑĤо", + "ĠмеÑģÑĤ о", + "v ů", + "à¥įर ह", + "ĠØ· رØŃ", + "Ġطر ØŃ", + "Ġا بÙĨ", + "Ġاب ÙĨ", + "Ġh iss", + "Ġhis s", + "Ġhi ss", + "о ÑĢÑıд", + "оÑĢ Ñıд", + "Ġد Ùģ", + "ÑĢ Ð¸ÑģÑĤ", + "ÑĢи ÑģÑĤ", + "ÑĢиÑģ ÑĤ", + "à¸Ĭ ม", + "д еÑĤ", + "де ÑĤ", + "à¹Ģ หม", + "à¹Ģห ม", + "ë§Ī ìĤ¬ì§Ģ", + ": .:.:", + ":. :.:", + ":.: .:", + "éħ ¸", + "Ġα ÏģÏĩ", + "ĠαÏģ Ïĩ", + "Ġn ữ", + "ĠпоÑģ ад", + "l um", + "lu m", + "ì º", + "ãģ§ãģį ãĤĭ", + "ìĸ µ", + "ĠاÙĦ Ùħد", + "ĠاÙĦÙħ د", + "н Ñĸм", + "нÑĸ м", + "ر اÙĤ", + "را ÙĤ", + "Ġ ãĥĪ", + "Ġãĥ Ī", + "Ġod povÄĽ", + "Ġodp ovÄĽ", + "Ġbir bir", + "Ġh ãy", + "Ġhã y", + "о вий", + "ов ий", + "ови й", + "æ® ĭ", + "éĥ½ æĺ¯", + "è¿ ª", + "Ġa raç", + "Ġar aç", + "Ġara ç", + "ен ÑĤÑĸв", + "енÑĤ Ñĸв", + "æĬ ±", + "d ál", + "ĠÄIJ ông", + "Ġhe sap", + "Ġhes ap", + "Ġا ÙĨساÙĨ", + "ĠاÙĨ ساÙĨ", + "ĠÙĬ ÙĪÙħ", + "ĠÙĬÙĪ Ùħ", + "ĠÙĨ ÙĪØ±", + "ĠÙĨÙĪ Ø±", + "åī ĩ", + "çĹ Ľ", + "Ġ ÙĨÙĬ", + "ĠÙĨ ÙĬ", + "алÑĮ на", + "تب اط", + "ल ब", + "Ġkom un", + "Ġko mun", + "Ġs nad", + "Ġsn ad", + "Ġsna d", + "åĽ £", + "ر ÙĬد", + "رÙĬ د", + "elop ment", + "Ġ иÑİ", + "Ġи Ñİ", + "à¥Ģ .", + "Ġkıs a", + "Ġkı sa", + "ĠdeÄŁil dir", + "ĠdeÄŁildi r", + "à¹ī าร", + "à¹īา ร", + "Ġsv ého", + "Ġsvé ho", + "Ġobl asti", + "Ġoblast i", + "ÑĪ Ð»Ð¸", + "à¹Ģà¸Ĺ à¸ŀ", + "ÑĢ ÐµÑĤÑĮ", + "ÑĢе ÑĤÑĮ", + "ÑĢеÑĤ ÑĮ", + "о во", + "ов о", + "Ġ íĤ¤", + "Ġí Ĥ¤", + "ĠíĤ ¤", + "át ky", + "ĠاÙĦ Ù쨱", + "ĠاÙĦÙģ Ø±", + "èĺ Ń", + "ÏĦ ον", + "ÏĦο ν", + "ĠÑģÑĤ оиÑĤ", + "ĠÑģÑĤо иÑĤ", + "Ùħ ØŃ", + "Ġ à¹Ħ", + "Ġà ¹Ħ", + "ĠÑĤе бе", + "ĠÑĤеб е", + "íģ ´", + "Ġm ÄĽla", + "ĠmÄĽ la", + "ĠmÄĽl a", + "æİ§ åζ", + "ĠCh á»§", + "ìĬ ¨", + "ÐIJ Т", + "ا جع", + "اج ع", + "ìĻ ķ", + "ç© ¿", + "ол ее", + "ห ลาย", + "หล าย", + "Ġd vou", + "Ġdv ou", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ุ à¸Ĥ", + "Ġb oz", + "Ġbo z", + "ิ à¸Ļà¸Ħ", + "ิà¸Ļ à¸Ħ", + "å¤ Ł", + "Ġfa aliyet", + "ĠÄį ÃŃs", + "ãģ» ãģ©", + "Ġ :/", + "Ġ: /", + "к ÑĸÑģÑĤÑĮ", + "кÑĸ ÑģÑĤÑĮ", + "Ġ ì¤Ģ", + "Ġì¤ Ģ", + "Ïģ αÏĤ", + "Ïģα ÏĤ", + "Ġод но", + "æ ¢ħ", + "æ¢ ħ", + "Ñĥб ли", + "н оз", + "но з", + "à¹Į ม", + "Ġvý rob", + "Ġvýro b", + "Ġ κÏħ", + "Ġκ Ïħ", + "ÅĻ ev", + "ÅĻe v", + "Âł B", + "ů že", + "ůž e", + "ä¼ļ 社", + "ι β", + "ÑĢ Ð¾Ð²Ð°Ð½Ð¸Ñı", + "ÑĢов аниÑı", + "ÑĢо ваниÑı", + "ÑĢован иÑı", + "ÑĢова ниÑı", + "Ġc ev", + "Ġce v", + "ìĽ Ģ", + "ál nÃŃch", + "áln ÃŃch", + "álnÃŃ ch", + "Ġ ÑĢав", + "ĠÑĢ Ð°Ð²", + "ĠÑĢаР²", + "ĠÑĢа в", + "ç´ §", + "åĢ Ł", + "Ġ ÑŁ", + "ĠÑ Ł", + "ÙĪ ÙĨÙĬ", + "ÙĪÙĨ ÙĬ", + "о зÑı", + "оз Ñı", + "Ġз ов", + "Ġk olem", + "Ġko lem", + "Ġkol em", + "Ġkole m", + "민 êµŃ", + "ç¿ Ĵ", + "Ġzam ÄĽst", + "Ġ ìłij", + "Ġìł ij", + "Ġ زÙĨ", + "Ġز ÙĨ", + "ĠØ£ Ùģ", + "Ġ 먹", + "Ġë¨ ¹", + "Ġtom to", + "Ġ 첨ë¶Ģ", + "Ġì² ¨ë¶Ģ", + "s age", + "sa ge", + "ä¸į è¿ĩ", + "е год", + "ег од", + "его д", + "ÑĢ Ð¾Ð¶", + "ÑĢо ж", + "ĠпÑĢоÑĨ ед", + "à¹Į à¸Ļ", + "san ız", + "âĢŀ Ø·", + "æ´» åĬ¨", + "о Ñĩки", + "оÑĩ ки", + "ë³´ 기", + "åŁº æľ¬", + "- Ñħ", + "ло ÑģÑı", + "ĠÙĩÛĮ ÚĨ", + "ìĹ Ķ", + "Ñĩ ного", + "Ñĩно го", + "Ġ à¤Ĺर", + "Ġà¤Ĺ र", + "Ġà¤ħ à¤Ĺ", + "ãħĭãħĭ ãħĭãħĭ", + "Ġ ãĤ¸", + "ĠãĤ ¸", + "ا سة", + "اس Ø©", + "åĬ ĩ", + "à¹ī à¸ĩ", + "Ġ 커", + "Ġì» ¤", + "n ými", + "ný mi", + "ným i", + "ãĥ¬ ãĤ¹", + "åĭ Ĵ", + "Ġобла ÑģÑĤÑĸ", + "ĠоблаÑģ ÑĤÑĸ", + "ĠоблаÑģÑĤ Ñĸ", + "ĠдÑĸÑıлÑĮ ноÑģÑĤÑĸ", + "ãĥ¬ ãĤ¤", + "Ïĩ αν", + "Ïĩα ν", + "à¹Ī าส", + "à¹Īา ส", + "ĠФ ÑĢан", + "Ùĩ ÙĦ", + "l ardır", + "lar dır", + "lardı r", + "ØŃ ات", + "ů st", + "Ġв одÑĭ", + "Ġво дÑĭ", + "Ġвод Ñĭ", + "ĠدÙĪ ÙĦت", + "ĠدÙĪÙĦ ت", + "ĠÑģпе ÑĨÑĸ", + "Ġth ất", + "à¸Ń าหาร", + "éł ĺ", + "Ġter cih", + "ĠÏĢÏģο Ïĥ", + "Ġ ÅĻÃŃzenÃŃ", + "ĠÅĻÃŃ zenÃŃ", + "è§ī å¾Ĺ", + "Ġd nes", + "Ġdn es", + "Ġdne s", + "е Ñĩно", + "еÑĩ но", + "ãĥ ĺ", + "Ġدار اÛĮ", + "ĠÅŁ art", + "ĠÅŁar t", + "ë² ¤", + "Ġ ë¶ģ", + "Ġë ¶ģ", + "Ġë¶ ģ", + "е Ñı", + "н ÑıÑĤÑĮ", + "нÑı ÑĤÑĮ", + "нÑıÑĤ ÑĮ", + "Ġk vÄĽt", + "Ġkv ÄĽt", + "Ġتغ ÛĮÛĮر", + "é¾ į", + "Ġر ÙĨÚ¯", + "ï¼Į åı¯", + "Ġp iyas", + "Ġpi yas", + "Ġuyg ulan", + "Ġuygu lan", + "Ùİ Ø©", + "ب ÙĬر", + "بÙĬ ر", + "и ваÑĤÑĮ", + "ив аÑĤÑĮ", + "ива ÑĤÑĮ", + "Ġ íĹĪ", + "ĠíĹ Ī", + "ä¸ ¶", + "è¿Ļ äºĽ", + "Ġ گر", + "ĠÚ¯ ر", + "ç½ ª", + "ä¸Ģ æł·", + "Ġ ãĥª", + "Ġãĥ ª", + "Ġв ой", + "Ġво й", + "Ġs osyal", + "Ġsos yal", + "ุ à¸Ĺà¸ĺ", + "ุà¸Ĺ à¸ĺ", + "หม à¸Ķ", + "ç» Ŀ", + "ĠاÙĦ جÙħ", + "ĠاÙĦج Ùħ", + "ĠØ« بت", + "Ġج ÙĨÚ¯", + "ĠجÙĨ Ú¯", + "л ении", + "лен ии", + "ле нии", + "в аÑı", + "ва Ñı", + "Ġв оÑĤ", + "Ġво ÑĤ", + "ä¼ ¤", + "Ġ หล", + "Ġห ล", + "ĠÙħÙĤ اÙĦÙĩ", + "мÑĸ нÑĸ", + "мÑĸн Ñĸ", + "ìĺ ¬", + "Ñĩ ий", + "Ñĩи й", + "ĠÙħ Ú©", + "à¹Ĥ à¸Ľà¸£", + "à¹Ĥà¸Ľ ร", + "k rv", + "kr v", + "Ġ ÃŃch", + "ĠÃŃ ch", + "Ïī Ïĥη", + "ек ÑĤоÑĢ", + "екÑĤ оÑĢ", + "Я к", + "Ġp ÃŃs", + "ĠÃĸ zel", + "ĠÃĸz el", + "Ġt Æ°á»Ľng", + "Ġ ÐĶо", + "ĠÐĶ Ð¾", + "δ ιο", + "δι ο", + "ู à¸Ķ", + "Ġt ük", + "رÛĮ ÙĤ", + ". ÐĴ", + "Ġ åIJĪ", + "ĠåIJ Ī", + "ä¿ Ĥ", + "Ġob dob", + "Ġist edi", + "ÑĪ Ð»Ð°", + "æľī ä¸Ģ", + "Ġвк лÑİÑĩа", + "ĠвклÑİÑĩ а", + "ĠتØŃ ÙĤÛĮÙĤ", + "Ġ ÙĪÙĥ", + "ĠÙĪ Ùĥ", + "Ġ èĪ", + "Ġè Ī", + "Æ Ĵ", + "μ εÏģ", + "με Ïģ", + "Ġ åģ", + "Ġå ģ", + "Ġ ìĹĨëĬĶ", + "ĠìĹĨ ëĬĶ", + "Âł d", + "ĠB ắc", + "à¸ģล าà¸ĩ", + "ĠÑĩ Ñĥв", + "Ġc ấu", + "ĠH á»ĵ", + "ĠHá» ĵ", + "ĠÙģ Ø§ÛĮÙĦ", + "ÏĦη γοÏģ", + "ç± į", + "Ġ بت", + "Ġب ت", + "ĠобÑĢаз ом", + "æ± ī", + "èĦ ij", + "Ġgi ản", + "Ġgiả n", + "ε Ïģγ", + "εÏģ γ", + "ĠÐľ Ñĸ", + "èϽ çĦ¶", + "Ġ Khi", + "ĠK hi", + "ĠKh i", + "Ñĩ ини", + "Ñĩи ни", + "Ñĩин и", + "Ġà¤ħ à¤Ĺर", + "Ġà¤ħà¤Ĺ र", + "íķĺ ë©°", + "ë² Ķ", + "ãģ ģ", + "в иÑħ", + "ви Ñħ", + "ĠвÑģ егда", + "Ġ ç¶", + "Ġç ¶", + "ÑģÑĤв енной", + "ÑģÑĤвен ной", + "ÑģÑĤвенно й", + "Ġyük sel", + "æ¸ ¬", + "Ġsı ras", + "Ġsır as", + "Ġsıra s", + "ĠÏĢ ÏģÏİ", + "èĢ ³", + "ا ÛĮر", + "اÛĮ ر", + "د ÙĪØ¯", + "دÙĪ Ø¯", + "ĠAl man", + "ĠAlma n", + "Ġver di", + "Ġverd i", + "ĠاÙĦ Ùħج", + "ĠاÙĦÙħ ج", + "ĠاÙĦ تع", + "ĠاÙĦت ع", + "ص Ø©", + "Ġsı ra", + "Ġsır a", + "Äį in", + "Äįi n", + "Ġп еÑĢÑĪ", + "ĠпеÑĢ ÑĪ", + "æĬ ĺ", + "ç© į", + "ĠÑĤ об", + "ĠÑĤо б", + "Ġ ï¾ī", + "Ġï¾ ī", + "ภ¬", + "æĿ Ģ", + "iy di", + "ี à¸ŀ", + "çĵ ¦", + "ĠавÑĤом об", + "ä¸Ń æĸĩ", + "à¥Ĥ द", + "ĠbÄĽ hem", + "Ġ PÅĻed", + "ĠP ÅĻed", + "ĠPÅĻ ed", + "ãģĵ ãģĨ", + "ั à¸Ī", + "Ġ ï½Į", + "Ġï½ Į", + "Ġ ÙĩاÙĬ", + "ĠÙĩ اÙĬ", + "ĠÙĩا ÙĬ", + "Ġs ạch", + "æĸ¹ éĿ¢", + "çķ °", + "ÑĥÑĢ Ð½", + "Ġvý sled", + "Ġth ần", + "ï¼Į æīĢ以", + "Ñĥ ка", + "Ñĥк а", + "íķĺ ëĭ¤", + "Ġ बर", + "Ġब र", + "Ġж Ñĸн", + "Äį nÃŃho", + "ÄįnÃŃ ho", + "Ġ ãģĮ", + "ab ı", + "v ánÃŃ", + "vá nÃŃ", + "æ´ Ĺ", + "Ġи ÑģÑĤоÑĢ", + "ĠиÑģ ÑĤоÑĢ", + "ĠиÑģÑĤ оÑĢ", + "ìĿ´ íĦ°", + "Ġе лек", + "а лаÑģÑı", + "ала ÑģÑı", + "Ġ znám", + "Ġz nám", + "Ġzn ám", + "ĠØ· رÙģ", + "Ġطر Ùģ", + "Ġs ektör", + "ê¹ Ģ", + "ÙĪ ÙĤع", + "ÙĪÙĤ ع", + "ĠÙħ Ùĥ", + "ÑĢе жд", + "ÑĢеж д", + "Ġk nih", + "Ġkn ih", + "Ġت عداد", + "Ġتع داد", + "Ġتعد اد", + "åį ł", + "ÑģÑĮ ке", + "ÑģÑĮк е", + "Ġ ç͵", + "京 éĥ½", + "Ġر اÛĮ", + "Ġرا ÛĮ", + "g ın", + "gı n", + "ĠÙĨ ظاÙħ", + "ĠÙĨظ اÙħ", + "ĠÎł ολ", + "ĠÎłÎ¿ λ", + "ä¸Ģ èά", + "Ġst ále", + "Ġstál e", + "ĠиÑģ Ñģлед", + "Ġz práv", + "Ġzp ráv", + "Ġ ÑĩиÑģÑĤ", + "ĠÑĩ иÑģÑĤ", + "ĠÑĩиÑģ ÑĤ", + "ĠÑĩи ÑģÑĤ", + "ãĥ¼ ãĥŀ", + "ãĥ¼ãĥ ŀ", + "Ðŀ Ñģ", + "ÑģÑĮ комÑĥ", + "ÑģÑĮк омÑĥ", + "ÑģÑĮко мÑĥ", + "ĠpÅĻi prav", + "ĠpÅĻip rav", + "ëĮĢ íĸī", + "Ġh alk", + "Ġha lk", + "Ġhal k", + "çĪ Ĩ", + "ãĢģ ãģĬ", + "ï¼Ł âĢĿĊĊ", + "ï¼ŁâĢĿ ĊĊ", + "éĢ ı", + "ç« ŀ", + "ни ÑĨÑĮ", + "ниÑĨ ÑĮ", + "çĽ ĺ", + "à¹Ģ à¸Ńà¸ĩ", + "à¹Ģà¸Ń à¸ĩ", + "ì Łģ", + "à¥ĩव ल", + "ä¹ĭ åIJİ", + "ãĥ« ãĥĪ", + "Ġ stru", + "Ġs tru", + "Ġst ru", + "Ġstr u", + "Ġ _", + "Ġï¼ ¿", + "Îķ ÎĽ", + "h le", + "hl e", + "ĠÙĨ ÙĪØ´", + "ĠÙĨÙĪ Ø´", + "ìĿ µ", + "ĠÙħ Ùģ", + "æĪĸ èĢħ", + "Ġö ld", + "Ġöl d", + "éĢ Ķ", + "ãĥ³ ãĥĹ", + "ãĥ³ãĥ Ĺ", + "íĺ ¼", + "Ġu ÄŁ", + "ĠÄij á", + "Ġvlast nÃŃ", + "ĠÙħج ÙĦس", + "åį Ķ", + "ÏĦ ικήÏĤ", + "ÏĦικ ήÏĤ", + "ÏĦική ÏĤ", + "Ġpo vin", + "Ġpov in", + "ů l", + "ĠاÙĦ ØŃÙĬ", + "ĠاÙĦØŃ ÙĬ", + "Ġsm lou", + "ãĥĥ ãĥģ", + "Ġ ÙĥÙĨ", + "ĠÙĥ ÙĨ", + "Ġch ấp", + "èIJ ¬", + "ج ب", + "? âĢľ", + "д ав", + "да в", + "ร วม", + "รว ม", + "Ùİ Ø¯", + "ĠاÙĦد ÙĪÙĦ", + "ĠëĦ¤ ìĿ´íĬ¸", + "Ġà¤Ĩ स", + "ظ ÙĬÙģ", + "ãĥ¼ ãĥ©", + "ãĥ¼ãĥ ©", + "ãģł ãĤįãģĨ", + "ĠÙĪØ§ØŃ د", + "ĠÙĪØ§ ØŃد", + "ر ÙĪØ³", + "رÙĪ Ø³", + "Ġzákon a", + "ĠпеÑĢ ÐµÐ±", + "ĠпеÑĢе б", + "à¥Ģ -", + "à¹Ī à¹Ħà¸Ķ", + "为 äºĨ", + "ÎĻ ÎĿ", + "ĠìĽĶ ìĦ¸", + "ส à¸Ńà¸ĩ", + "Ġ æīĭ", + "Ġæī ĭ", + "Ġ ÐĴÑģе", + "ĠÐĴ Ñģе", + "ĠÐĴÑģ е", + "à¹Ĥ ย", + "Ġkal dır", + "Ġkaldı r", + "ÏĦ ÎŃÏĤ", + "ÏĦÎŃ ÏĤ", + "Ġ ï¿£", + "Ġ íĸĪëĭ¤", + "Ġíĸ Īëĭ¤", + "ĠíĸĪ ëĭ¤", + "ãĤģ ãģŁ", + "Ġ Äįer", + "ĠÄį er", + "ĠÄįe r", + "c ela", + "ce la", + "cel a", + "üs ü", + "ê³ ³", + "ìĹIJ ëıĦ", + "ز Ø©", + "ãģª ãĤĭ", + "ÙĪ ÛĮÙĨ", + "ÙĪÛĮ ÙĨ", + "çī Ľ", + "Ġ voj", + "Ġv oj", + "Ġvo j", + "Ġ ëĬIJ", + "ĠëĬ IJ", + "Ġ ÙĥÙħ", + "ĠÙĥ Ùħ", + "æ³ ī", + "з Ñı", + "è£ Ŀ", + "ĠØ¢ ÙĦ", + "Ġ ανά", + "Ġα νά", + "Ġαν ά", + "Âł ÐĴ", + "Ġyap ıl", + "Ġyapı l", + "æı Ľ", + "ĠÑģ ÑĥÑīеÑģÑĤв", + "ĠÑģÑĥ ÑīеÑģÑĤв", + "ĠÑģÑĥÑīе ÑģÑĤв", + "Ġn á»iji", + "ÙĪ Ø¦", + "ĠëĦ¤ìĿ´íĬ¸ ìĺ¨", + "Ġpolit ik", + "Å¡ ka", + "Å¡k a", + "ebilir siniz", + "ld kf", + "Ñĥб лÑĸ", + "Ġe oq", + "Ġeo q", + "ĠÙħØŃ صÙĪÙĦ", + "krv ldkf", + "Ġeoq krvldkf", + "Ïĥε Ïīν", + "بÙĦ غ", + "Įĵ ê¸Ģ", + "ĠÑģ ÑĢок", + "ĠU y", + "ĠN ÄĽk", + "ĠNÄĽ k", + "Ġ див", + "Ġд ив", + "Ġди в", + "ãĤµ ãĤ¤", + "Ġ ìĤ¬ìĿ´", + "ĠìĤ¬ ìĿ´", + "Ġ éĹ", + "Ġé Ĺ", + "Ġб аÑĤÑĮ", + "Ġба ÑĤÑĮ", + "Ġп еÑĢÑĸ", + "ĠпеÑĢ Ñĸ", + " ĸ", + "交 éĢļ", + "ен з", + "ÙĪ Ø³Øª", + "ÙĪØ³ ت", + "ีย à¸ļ", + "Ġ à¸Īะ", + "Ġà¸Ī ะ", + "ë¡ Ģ", + "üf us", + "Ùij ÙIJ", + "ç¸ ½", + "ัà¸Ķ ส", + "ê² Ģ", + "ĠÑĤ иÑħ", + "ĠÑĤи Ñħ", + "ĠØ¢ زÙħ", + "Ġآز Ùħ", + "Ġ اض", + "Ġا ض", + "ĠØ§Ø ¶", + "ì ¡´", + "ì¡ ´", + "ÙĴ ت", + "æĪ ¸", + "ĠìŀĪ ìĿĦ", + "Ġ çĶ·", + "Ñī Ñĸ", + "о ма", + "ом а", + "ĠاÙ쨲 اÛĮØ´", + "Ġ Thông", + "ĠTh ông", + "ĠاجتÙħاع ÛĮ", + "е лÑİ", + "ел Ñİ", + "ĠÑħоÑĢоÑĪ Ð¾", + "à¸ł าษ", + "Ġ rám", + "Ġr ám", + "Ġrá m", + "å¾ ¡", + "ãĥ¼ ãĥĦ", + "ãĥ¼ãĥ Ħ", + "ĠL Ỽp", + "Ġ Ø´ÙĬ", + "ĠØ´ ÙĬ", + "Ġh iá»ĥm", + "Ġhi á»ĥm", + "θ ν", + "ο ÏħÏĥ", + "οÏħ Ïĥ", + "å¾ ©", + "Ġú zem", + "à¹ģ à¸ľ", + "å ·¨", + "å· ¨", + "à¸Ī à¸Ļ", + "Ú¯ راÙĨ", + "گر اÙĨ", + "Ġت ÛĮÙħ", + "ĠتÛĮ Ùħ", + "Ġ ilet", + "Ġi let", + "Ġil et", + "Ġile t", + "า à¸Ĥà¸Ńà¸ĩ", + "าà¸Ĥ à¸Ńà¸ĩ", + "Ġ تÙĪØ±", + "Ġت ÙĪØ±", + "ĠتÙĪ Ø±", + "Ġдо говоÑĢ", + "Ġдог овоÑĢ", + "Ġдогов оÑĢ", + "Ġt ento", + "Ġten to", + "Ġtent o", + "в Ñĥ", + "Ġз ада", + "Ġза да", + "Ġзад а", + "Ġstole tÃŃ", + "Ġstol etÃŃ", + "Âł Ġ", + "âĢĮ اÙĦ", + "Ë ĺ", + "ÅŁ iv", + "ÅŁi v", + "н ÑıÑĤи", + "нÑı ÑĤи", + "нÑıÑĤ и", + "ãĤī ãĤĮãģŁ", + "ãĤīãĤĮ ãģŁ", + "ĠS b", + "ĠاÙĦÙħ ص", + "ĠУкÑĢаÑĹ Ð½Ñĸ", + "ĠУкÑĢаÑĹн Ñĸ", + "ĠØ´ Ú©", + "iế ng", + "iến g", + "ÑĮ ÑĤе", + "è° ¢", + "ĠÙħ تÙĨ", + "ĠÙħت ÙĨ", + "Ġ ÑĢад", + "ĠÑĢ Ð°Ð´", + "ĠÑĢаР´", + "ĠÑĢа д", + "ĠÙħÙĪ Ø§Ø¯", + "ì± Ħ", + "é¡ ¶", + "Ġbo ÅŁ", + "ت ÙĪØ±", + "تÙĪ Ø±", + "ĠÄij áng", + "ĠÄijá ng", + "Ġkit ap", + "Ġki tap", + "Ġkita p", + "Ġho din", + "Ġhod in", + "Ġtarih i", + "ãĤĦ ãĤĭ", + "Ñģ ÑĤеÑĢ", + "ÑģÑĤ еÑĢ", + "ÑģÑĤе ÑĢ", + "Ġ Ñħод", + "ĠÑħ од", + "в ание", + "ва ние", + "ван ие", + "ĠоÑģ вÑĸ", + "ĠÑģиÑģÑĤем Ñĭ", + "़ न", + "Ïĩ ο", + "Ġ åı°", + "Ġåı °", + "o ÅĻ", + "ç»ı æµİ", + "Ġ ä½ľ", + "Ġthu áºŃn", + "Ľ Ī", + "Ġy alnız", + "a let", + "al et", + "ale t", + "ì¦Ŀ ê¸Ī", + "Ġза Ñī", + "Ġе кÑģп", + "Ġек Ñģп", + "âĦĸ âĦĸ", + "Ġ ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ĠãĢĢĠ ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠÚ¯ ÙĪØ´", + "ĠÚ¯ÙĪ Ø´", + "ãģ« åħ¥", + "Ġu dÄĽl", + "Ġud ÄĽl", + "Ġ áº", + "Ġá º", + "à¤Ĩ à¤Ī", + "âĢĮ دÙĩ", + "âĢĮد Ùĩ", + "æĤ ª", + "Ġtr ò", + "æļ Ĺ", + "λλ ην", + "λλη ν", + "ĠпÑĢи зна", + "ĠпÑĢиз на", + "Ġس ÛĮستÙħ", + "ĠسÛĮ ستÙħ", + "Ġà¤ħ त", + "è o", + "è¿ İ", + "Ġз Ñĥб", + "ĠзаÑģ об", + "Ġس Ùģ", + "ĠÙħاÙĨ ÙĨد", + "Ø® Ø´", + "v ajÃŃ", + "va jÃŃ", + "nit ÅĻ", + "æ¯ Ĵ", + "æ¤ į", + "Ġgir iÅŁ", + "ĠÄij áp", + "ĠÄijá p", + "@ n", + "ов аÑĢи", + "оваÑĢ Ð¸", + "ова ÑĢи", + "ĠØ® دا", + "Ġخد ا", + "Ġv ÄĽtÅ¡", + "ĠvÄĽt Å¡", + "ĠΣ Ïħ", + "Ùģ Ø©", + "аннÑı м", + "ĠÑĩ лен", + "æĶ¯ æĮģ", + "å¨ ľ", + "lar arası", + "lara rası", + "Ρ Îij", + "Ġz iy", + "Ġzi y", + "Ġ êµIJìľ¡", + "ĠêµIJ ìľ¡", + "Ġh á»ĵi", + "Ġhá»ĵ i", + "าà¸Ħ าร", + "าà¸Ħา ร", + "im leri", + "imler i", + "è³ ¼", + "ĠجÙĩ اÙĨ", + "ĠÑĢоз мÑĸ", + "Ñħ Ñĸв", + "γ ε", + "æ¨ ª", + "ÎĻ ÎijΣ", + "ÎĻÎij Σ", + "ç¶ Ń", + "Ġbi raz", + "Ġbir az", + "ĠÑĤак ого", + "ĠÑĤа кого", + "íĥ Ħ", + "ĠбÑĥд ÑĥÑĤ", + "ĠбÑĥ дÑĥÑĤ", + "ĠбÑĥдÑĥ ÑĤ", + "ĠÑĪ Ð²Ð¸Ð´", + "Ġ неÑģ", + "Ġн еÑģ", + "Ġне Ñģ", + "ĠÙħ عÙĦÙĪÙħات", + "ĠÙħعÙĦ ÙĪÙħات", + "à¥ĩ यर", + "à¥ĩय र", + "Ġдв ÑĥÑħ", + "å¿ħ è¦ģ", + "å§ Ĩ", + "Ġpo hled", + "Ġpoh led", + "ìĬ¤ íĦ°", + "Ġ åįģ", + "Ġåį ģ", + "ĠØ£ ب", + "веÑĢ Ð´Ð¶", + "веÑĢд ж", + "Ġà¤ľ म", + "ल त", + "åľ° åĮº", + "Ġ |[", + "Ġ| [", + "Ġв меÑģÑĤ", + "ĠÚ© اÙħ", + "Ġ ãĥIJ", + "Ġãĥ IJ", + "ãĥ¼ ãĥĸ", + "ãĥ¼ãĥ ĸ", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "Ġ ìĥģíĴĪ", + "Ġìĥģ íĴĪ", + "à¹Ģล ย", + "Äį né", + "ĠÑģÑĢед ÑģÑĤва", + "ĠÑģÑĢедÑģÑĤв а", + "Ġ ÑĤаб", + "ĠÑĤ аб", + "ĠÑĤа б", + "Ġ Ùħار", + "ĠÙħ ار", + "ĠÙħا ر", + "Ġ hled", + "Ġh led", + "Ġhl ed", + "д аÑĤ", + "да ÑĤ", + "ÙĪ ÛĮد", + "ÙĪÛĮ د", + "Ġ ãĥ©", + "Ġãĥ ©", + "ĠØ® د", + "è¤ ĩ", + "ç§ ĺ", + "Ġ برد", + "Ġب رد", + "Ġبر د", + "ĠÏĥ αÏĤ", + "Ïİ ÏĥειÏĤ", + "æĿ ¯", + "λ Ïį", + "å® ¿", + "Ġ ëĤľ", + "ĠëĤ ľ", + "ï» Ł", + "Ġözel likle", + "Ġözellik le", + "Ġкон Ñģ", + "ĠÙħ غ", + "ع ÙĬ", + "à¹Į à¸ģ", + "Ġ ÙĬت", + "ĠÙĬ ت", + "ĠÙħ شاÙĩ", + "ĠÙħØ´ اÙĩ", + "ĠTh anh", + "ĠThan h", + "ा à¤ľà¤¨", + "à¤¾à¤ľ न", + "¥ ¤", + "Ġv lá", + "Ġvl á", + "ĠÙģ Ø¶", + "Τ ÎĻÎļ", + "Ġна Ñĥков", + "ĠнаÑĥк ов", + "е лем", + "ел ем", + "еле м", + "Ġd Ãłng", + "ĠгоÑģп одаÑĢ", + "Âł S", + "и ÑĩеÑģкиÑħ", + "иÑĩеÑģ киÑħ", + "иÑĩеÑģки Ñħ", + "ĠتÙĨ Ùĩا", + "à¤ľ न", + "Ġп ан", + "Ġпа н", + "åĨ ł", + "Ġ ëĤĺëĬĶ", + "ĠëĤĺ ëĬĶ", + "t ÃŃ", + "ä¸Ģ èµ·", + "Ġlã nh", + "Âł v", + "ov ým", + "ový m", + "ز ب", + "ĠجÙħع ÛĮت", + "Ġ æµ·", + "Ġæµ ·", + "ĠоÑģ ÑĥÑīеÑģÑĤв", + "à £i", + "ã i", + "ائ ر", + "Ġ ë³ij", + "Ġë³ ij", + "á»ĭ nh", + "Ġs á»Ńa", + "Ġsá»Ń a", + "à¥ĩà¤Ĥ ।", + "ÄĽ jÅ¡ÃŃ", + "ÄĽj Å¡ÃŃ", + "Ġд ÑĸÑĤ", + "ĠдÑĸ ÑĤ", + "Ġ æĥ", + "Ġæ ĥ", + "mÄ±ÅŁ tı", + "ر ØŃ", + "Ġì§Ģ ê¸Ī", + "å¦ »", + "âĹ ĭ", + "Ġ ì§ĢìĹŃ", + "Ġì§Ģ ìĹŃ", + "ÙĴ ÙĨ", + "Ġur Äįit", + "ĠurÄį it", + "ÙĴ Ùħ", + "z ÃŃ", + "è ķ", + "Ġ Ø´ÙĪØ±", + "ĠØ´ ÙĪØ±", + "ĠØ´ÙĪ Ø±", + "Ġ Không", + "ĠKh ông", + "ÛĮ زÛĮ", + "ÛĮز ÛĮ", + "Ġз г", + "Ġв не", + "Ġpr ávÄĽ", + "Ġprá vÄĽ", + "Ġpráv ÄĽ", + "è« ĭ", + "ا ÙĬت", + "اÙĬ ت", + "ั à¸ģร", + "ัà¸ģ ร", + "Ġolduk ça", + "ãĤģ ãĤĭ", + "ĠT ây", + "ëĿ¼ ìĿ¸", + "èĻ ķ", + "Ġs ư", + "Ġ ник", + "Ġн ик", + "Ġни к", + "Ù ł", + "اش ÛĮÙĨ", + "اشÛĮ ÙĨ", + "e lerde", + "el erde", + "eler de", + "ìĭľ ìķĦ", + "Ġ Ñĥмов", + "ĠÑĥ мов", + "ĠÑĥм ов", + "ĠçalÄ±ÅŁ an", + "Ġ ë¸Ķ", + "Ġë¸ Ķ", + "ĠÑĤак им", + "ĠÑĤа ким", + "ÑĢ Ð¸Ð½", + "ÑĢи н", + "Ġ Ø®ÙĦ", + "ĠØ® ÙĦ", + "a yd", + "ay d", + "Ġ ãĥ¡", + "Ġãĥ ¡", + "ей ÑĩаÑģ", + "Ġdo prav", + "Ġdop rav", + "ãģĵ ãģ¨ãģ¯", + "ãģĵãģ¨ ãģ¯", + "Ġ ì¶Ķì²ľ", + "Ġì¶Ķ ì²ľ", + "å» ¶", + "Ġ kı", + "Ġk ı", + "åı ¶", + "ÑĢ Ð¸Ð³", + "ÑĢи г", + "íħ ľ", + "çͳ åįļ", + "Ġ веÑĤ", + "Ġв еÑĤ", + "Ġве ÑĤ", + "ĠпомоÑī ÑĮÑİ", + "ĠاÙģ Ø±Ø§Ø¯", + "ĠاÙ쨱 اد", + "ÏĢ ÎµÎ¹", + "ÏĢε ι", + "à¹Ģ สร", + "à¹Ģส ร", + "Ġgi ám", + "Ġgiá m", + "é İ", + "h las", + "hl as", + "man ız", + "manı z", + "ан гл", + "анг л", + "Ġmu ž", + "Âł K", + "ÑĢед иÑĤ", + "ÑĢеди ÑĤ", + "设 å¤ĩ", + "ι Ïĥμ", + "ιÏĥ μ", + "Ġc ải", + "Ġcả i", + "Ġ éĢļ", + "ĠéĢ ļ", + "Ġ Ùĥار", + "ĠÙĥ ار", + "Ġпод об", + "ĠмеÑĤ ал", + "ĠÑģам е", + "л ÑĥÑĩ", + "лÑĥ Ñĩ", + "åĤ ³", + "ĠÙĪÙĩ ÙĪ", + "Ġ éĩį", + "Ġéĩ į", + "в ий", + "ви й", + "æ³ ģ", + "Ġ æĿİ", + "ĠæĿ İ", + "ĠiliÅŁ kin", + "ĠiliÅŁk in", + "Ġεί Ïĩε", + "çĬ ¯", + "ÅĻej mÄĽ", + "èŃ ĺ", + "ç¨ ±", + "μ μα", + "μμ α", + "Ġ ÙĦÛĮ", + "ĠÙĦ ÛĮ", + "Ùĩ اÙĬ", + "Ùĩا ÙĬ", + "Ġ опиÑģ", + "Ġо пиÑģ", + "Ġоп иÑģ", + "Ú¯ رد", + "گر د", + "Ġг ÑĢ", + "ĠAnimal ia", + "ĠAnim alia", + "ÐŁ о", + "Ġb óng", + "ĠдеÑĤ ей", + "Ġl âu", + "Ġ æķĻ", + "Ġæķ Ļ", + "Ġпо ÑıÑģ", + "ĠاÙĦ Ø¢", + "ั à¸Ļà¸ķ", + "ัà¸Ļ à¸ķ", + "Ġд ев", + "Ġде в", + "Ġ ÑĨей", + "ĠÑĨ ей", + "ĠÑĨе й", + "ÑĮ в", + "æĥ ł", + "m aları", + "ma ları", + "mal arı", + "malar ı", + "im ler", + "à¥Ī ।ĊĊ", + "à¥Ī। ĊĊ", + "à¥Ī।Ċ Ċ", + "Ġ ном", + "Ġн ом", + "Ġно м", + "z v", + "Ġ à¸ģร", + "Ġà¸ģ ร", + "Ġpay laÅŁ", + "Âł s", + "ि सम", + "िस म", + "ÑģÑĤв еннÑĭÑħ", + "ÑģÑĤвен нÑĭÑħ", + "st oup", + "sto up", + "о нÑĸ", + "он Ñĸ", + "s tÃŃ", + "st ÃŃ", + "ĠØŃ Ú©", + "ĠÚ¯ رÙģØª", + "ĠگرÙģ Øª", + "Ġگر ÙģØª", + "าà¸Ħ า", + "д Ñı", + "ÙĦ اث", + "ÙĦا Ø«", + "Ġzdrav ot", + "ä¸Ĭ ãģĴ", + "ãģ ¼", + "e lere", + "el ere", + "eler e", + "ele re", + "ظ Ùħ", + "ĠÑģ веÑĤ", + "ĠÑģв еÑĤ", + "о ÑĢг", + "оÑĢ Ð³", + "ç« ¥", + "ĠпеÑĢ ÐµÐ¿", + "ĠпеÑĢе п", + "Ġम द", + "а за", + "аз а", + "å¦Ĥ ä½ķ", + "ÑģÑĮ кÑĸй", + "ÑģÑĮк Ñĸй", + "ÑģÑĮкÑĸ й", + "Ġb Æ°á»Ľc", + "Ġger ekli", + "Ġgerek li", + "大 å®¶", + "Ġtr ái", + "éģ ©", + "ä¸Ń 央", + "Ġph ản", + "Ġع رض", + "ĠÙĥ تاب", + "æĭ ©", + "ÑĪ ÐµÐ³Ð¾", + "ÑĪе го", + "å¸ ®", + "ĠÙĨÛĮ از", + "è¿ ·", + "ุ à¸Ľ", + "ิ à¸Ľ", + "Ġد Ø®", + "ÏĦ ικÎŃÏĤ", + "ÏĦικ ÎŃÏĤ", + "ĠU z", + "Ġت ÙĪÙħاÙĨ", + "ĠتÙĪ ÙħاÙĨ", + "ĠتÙĪÙħ اÙĨ", + "ĠÙĪ Ø§ÙĦØ£", + "ĠÙĪØ§ÙĦ Ø£", + "ÅĻ es", + "ÅĻe s", + "Ñij м", + "Ġ å¸Ĥ", + "Ġå¸ Ĥ", + "ĠÑĤ оже", + "ĠÑĤо же", + "Ġy apan", + "Ġya pan", + "Ġyap an", + "å½¼ 女", + "ĠÙħ در", + "ĠÙħد ر", + "¶ ģ", + "Ġ æĹ¶", + "ĠæĹ ¶", + "à¹Ģ à¸ĺ", + "à¹Ģภĺ", + "Ġ ÙħاÙĦ", + "ĠÙħ اÙĦ", + "ĠÙħا ÙĦ", + "ĠB üyük", + "ĠBü yük", + "Ġ ÙĦت", + "ĠÙĦ ت", + "å° ļ", + "d eme", + "de me", + "dem e", + "ü b", + "ĠÑħ Ñĥд", + "Ġlé ka", + "çĽ Ľ", + "缴 æİ¥", + "ниÑĨÑĤ ва", + "ĠпÑĢи Ñĩин", + "ĠпÑĢиÑĩ ин", + "е ÑĢап", + "еÑĢ Ð°Ð¿", + "еÑĢа п", + "ĠÑģозд а", + "ĠÑģоз да", + "æ ¢°", + "æ¢ °", + "Ġm üz", + "Ġmü z", + "ç³» åĪĹ", + "o uz", + "ou z", + "Ġà¤ĵ र", + "ÑĢ ÑĥÑĩ", + "ÑĢÑĥ Ñĩ", + "Ġ á½", + "Ġá ½", + "μÎŃ Î½Î±", + "μÎŃν α", + "ĠпÑĢед меÑĤ", + "Ġ å²", + "Ġå ²", + "ãĥ³ ãĥģ", + "ãĥ³ãĥ ģ", + "μÎŃ Î½Î·", + "μÎŃν η", + "л Ñĥг", + "лÑĥ г", + "Âł n", + "ĠT arih", + "ĠTar ih", + "Ġ ãĢĪ", + "ĠãĢ Ī", + "Ġb ana", + "Ġban a", + "Ġba na", + "Ġ cÃŃ", + "Ġc ÃŃ", + "Ġvý kon", + "åĽł æŃ¤", + "Ġt ÅĻi", + "ĠtÅĻ i", + "า à¸ĭ", + "าภĭ", + "v ailable", + "vail able", + "Ġ istem", + "Ġis tem", + "Ġi stem", + "Ġist em", + "ãĥ¥ ãĥ¼", + "Ðķ ÐĿ", + "Ġ гаÑĢ", + "Ġг аÑĢ", + "οÏħ λ", + "ॠĽ", + "ĠÙĪ Ø¶Ø¹", + "ส ะ", + "è· Ŀ", + "ĠØŃ Ùģ", + "ิà¸Ĺย าล", + "ิà¸Ĺยา ล", + "她 çļĦ", + "н ÑĸÑĪ", + "нÑĸ ÑĪ", + "ж ение", + "же ние", + "жен ие", + "기 ìĹIJ", + "Ġ éĺ¿", + "Ġéĺ ¿", + "ĠÙħ ارس", + "ĠÙħا رس", + "ĠÙħار س", + "ĠçeÅŁit li", + "Ġ ÅŁehir", + "ĠÅŁ ehir", + "ĠÅŁeh ir", + "á tor", + "át or", + "à¹ī à¸Ĺ", + "ìĿ´ ëĬĶ", + "Ġ è²", + "Ġè ²", + "é¡ į", + "ç ĻĤ", + "çĻ Ĥ", + "Ġ ниÑĩ", + "Ġн иÑĩ", + "Ġни Ñĩ", + "Ġ ê°Ģì§Ģ", + "Ġê°Ģ ì§Ģ", + "ä¼ ¦", + "r án", + "rá n", + "o stat", + "os tat", + "ost at", + "osta t", + "Ġ ÙĦÙĥ", + "ĠÙĦ Ùĥ", + "è º", + "ĠNg Ãłnh", + "Ġस द", + "æľ Ĺ", + "çĦ¶ åIJİ", + "ãĤ¸ ãĤ§", + "л еÑĢ", + "ле ÑĢ", + "ĠÐŀ на", + "ĠÐŀн а", + "س ÙĪÙĨ", + "سÙĪ ÙĨ", + "Ïģ ον", + "Ïģο ν", + "ĠدرÛĮ اÙģØª", + "ĠدرÛĮا ÙģØª", + "à¸Ń à¸Ńà¸Ļà¹Ħลà¸Ļ", + "Ġ dál", + "Ġd ál", + "Ġdá l", + "ĠмÑĸÑģ ÑĨе", + "Ġд ней", + "Ġ اÙĦات", + "Ġا ÙĦات", + "ĠاÙĦ ات", + "Ġरह त", + "ï¼Į 对", + "è³ĩ æĸĻ", + "ä»» ä½ķ", + "é Ħ", + "t aj", + "ta j", + "β ά", + "Ġна до", + "Ġнад о", + "ĠÑģÑĤ Ñĥд", + "ĠÅŁ eh", + "ัà¸į à¸į", + "à¥ĭ ब", + "ãĥ© ãĥ¼", + "Û± Ûµ", + "Û±Û µ", + "e pt", + "ep t", + "Ġbil dir", + "Ġbild ir", + "ส à¸ĸาà¸Ļ", + "สà¸ĸ าà¸Ļ", + "е ÑĤÑĮÑģÑı", + "еÑĤÑĮ ÑģÑı", + "sk ým", + "ský m", + "Ġобла ÑģÑĤÑĮ", + "ĠоблаÑģ ÑĤÑĮ", + "ĠоблаÑģÑĤ ÑĮ", + "Ġìŀ ł", + "ĠG ör", + "ĠGö r", + "Ġd ayan", + "Ġday an", + "Ġda yan", + "ĠÛĮ اد", + "ĠÛĮا د", + "çĶŁ 产", + "íĺ ij", + "å¾ ģ", + "Ġ اجر", + "Ġا جر", + "Ġاج ر", + "Ġп ÑĢе", + "ĠпÑĢ Ðµ", + "ä¸īä¸ī ä¸īä¸ī", + "åŁİ å¸Ĥ", + "Ġ пÑĢимеÑĢ", + "ĠпÑĢ Ð¸Ð¼ÐµÑĢ", + "ĠпÑĢи меÑĢ", + "ĠпÑĢим еÑĢ", + "Äį ást", + "èģ ĺ", + "ĠÙħرب ÙĪØ·", + "æŀ ļ", + "åĪ Ģ", + "æŁ¥ çľĭ", + "Ġ모 ëijIJ", + "ìŀIJ ë£Į", + "- 、", + "Ġê°Ļ ìĿ´", + "Ġ ì¡´", + "Ġì ¡´", + "Ġì¡ ´", + "е гоÑĢ", + "ег оÑĢ", + "его ÑĢ", + "e dik", + "ed ik", + "edi k", + "и мÑĥ", + "им Ñĥ", + "ĠAr th", + "ĠArt h", + "åºĶ ç͍", + "m iÅŁti", + "miÅŁ ti", + "Ġkhá»ı e", + "Ġ Ñĸд", + "ĠÑĸ д", + "λ λη", + "λλ η", + "â h", + "м аг", + "ма г", + "éļ Ĩ", + "ĠвнÑĥ ÑĤÑĢ", + "ĠвнÑĥÑĤ ÑĢ", + "Ġ بط", + "Ġب Ø·", + "( æĹ¥", + "İ Y", + "л ик", + "ли к", + "ĠB ản", + "Ġت ÙĪØ³", + "ĠتÙĪ Ø³", + "़ त", + "a mak", + "am ak", + "ama k", + "åķı é¡Į", + "ĠÑģам оÑģÑĤ", + "ĠÑģамо ÑģÑĤ", + "ï¼¼ Ċ", + "Ġ ç¦ı", + "Ġç¦ ı", + "Ù ¡", + "Ġ ÑĦоÑĢми", + "ĠÑĦоÑĢм и", + "ĠÑĦоÑĢ Ð¼Ð¸", + "Ġ ÑĢозÑĥм", + "ĠÑĢоз Ñĥм", + "ĠÙħ طاÙĦ", + "ĠÙħØ· اÙĦ", + "ä¹Ł æĺ¯", + "ç¾İ åĽ½", + "ëĵľ 립ëĭĪëĭ¤", + "Ġl Ä©nh", + "ĠпоÑĤ омÑĥ", + "ĠпоÑĤом Ñĥ", + "Ñı бÑĢÑı", + "Ñıб ÑĢÑı", + "æ¼ «", + "Ġng oại", + "à¸Ń ำ", + "ÙĬ ÙĨا", + "ÙĬÙĨ ا", + "Ġm lad", + "Ġml ad", + "Ïĥ ÏĦά", + "ÏĥÏĦ ά", + "ا تر", + "ات ر", + "주 ìĿĺ", + "ен нÑĸ", + "о за", + "оз а", + "ÙĤ ات", + "ĠÐĴ аÑģ", + "è® Ń", + "é IJ", + "Ñĥ ÑİÑĩи", + "ÑĥÑİ Ñĩи", + "Ġ کر", + "ĠÚ© ر", + "Ġ .|", + "Ġ. |", + "Ġgen ç", + "è© ²", + "ä» ģ", + "о дÑĭ", + "од Ñĭ", + "ĠØ£ ÙĪÙĦ", + "ĠØ£ÙĪ ÙĦ", + "Ġ ìĤ¬íļĮ", + "ĠìĤ¬ íļĮ", + "Ġ à¹Ģส", + "Ġà¹Ģ ส", + "Ġà¹Ģภª", + "ĠëķĮ문 ìĹIJ", + "âĢĮ ب", + "Ġли ÑĪÑĮ", + "ĠлиÑĪ ÑĮ", + "Ġи менно", + "Ġим енно", + "m adı", + "ma dı", + "mad ı", + "Ġ éĤ", + "Ġé Ĥ", + "ĠÙĪ Ø§Ø±Ø¯", + "ĠÙĪØ§ رد", + "Ġtak ım", + "Ġ à¹Ģห", + "Ġà¹Ģ ห", + "Ġà¹Ģภ«", + "Ġ à¸Ńย", + "Ġà¸Ń ย", + "Ġkon usu", + "Ġkonu su", + "Ġkonus u", + "Ø® ÙĪ", + "ĠÑģ ид", + "ĠÑģи д", + "èµ ¤", + "о ÑıÑĤелÑĮ", + "оÑıÑĤ елÑĮ", + "ëĭ µ", + "ε Ïī", + "Ñĸ Ñħ", + "Ġय द", + "ĠÚ© ÛĮÙģ", + "ĠÚ©ÛĮ Ùģ", + "μ οÏĤ", + "μο ÏĤ", + "Ġal dı", + "Ġald ı", + "Ġ íĻį", + "ĠíĻ į", + "к Ñĥп", + "кÑĥ п", + "ĠÙĨÙħ اÛĮØ´", + "ĠÙĨÙħاÛĮ Ø´", + "ãģ ¥", + "Ġ íķ©ëĭĪëĭ¤", + "Ġíķ ©ëĭĪëĭ¤", + "Ġíķ© ëĭĪëĭ¤", + "Ġë Įĵê¸Ģ", + "б оÑĢа", + "бо ÑĢа", + "боÑĢ Ð°", + "éī Ħ", + "Ġ à¹Ģà¸Ī", + "Ġà¹Ģ à¸Ī", + "Ġà¹ĢภĪ", + "à¹ī à¸ģ", + "§ Ø·", + "ر بÙĩ", + "رب Ùĩ", + "Ġ Ñĥз", + "ĠÑĥ з", + "Ġм аÑİÑĤÑĮ", + "Ġма ÑİÑĤÑĮ", + "Ġby li", + "Ġbyl i", + "ี à¸ķ", + "Ġ ì§ĢìĽIJ", + "Ġì§Ģ ìĽIJ", + "èĩª çĦ¶", + "ù y", + "Ġç aÄŁ", + "Ġça ÄŁ", + "е дин", + "ед ин", + "еди н", + "ë ī´", + "åį ±", + "Ġпоз волÑı", + "Ġпозвол Ñı", + "ØŃ اد", + "ĠÑĩ его", + "ีย ร", + "Ġyön tem", + "Ġ ders", + "Ġd ers", + "Ġde rs", + "Ġder s", + "Ġ ÑģÑĤоÑı", + "ĠÑģÑĤ оÑı", + "ĠÑģÑĤо Ñı", + "Ġк ÑĢÑĥп", + "Ġ ð", + "Ġдом аÑĪ", + "Ġдома ÑĪ", + "е нд", + "ен д", + "ç» §", + "ĠÄij ô", + "Ġch tÄĽ", + "计 åĪĴ", + "ÎŃ Î±", + "Ġdob ÅĻe", + "ส à¸Ńà¸ļ", + "е ление", + "ел ение", + "еле ние", + "елен ие", + "ĠÄij ông", + "ĠÄijô ng", + "ãģ¾ ãĤĬ", + "Ġboy unca", + "à¥ģ à¤Ĺ", + "à¥ģठĹ", + "ĠÑĦ из", + "ãĤ³ ãĥ³", + "Ġde ney", + "Ġden ey", + "ÑĩеÑģ киÑħ", + "Ñĩе ÑģкиÑħ", + "ÑĩеÑģки Ñħ", + "λ ον", + "λο ν", + "以 åıĬ", + "ا ÙĪØª", + "اÙĪ Øª", + "Âł ³³³³", + "³³ ³³³", + "³³³³ Âł", + "³³³ ³³", + "Ġ ì¤Ħ", + "Ġì¤ Ħ", + "ि फ", + "िठ«", + "ĠÑĤ ол", + "ĠÑĤо л", + "ĠëĤ´ ê°Ģ", + "âĸ ı", + "Ġp há", + "Ġph á", + "ĠÑģп Ñĸв", + "Ġ جÙħÙĬع", + "ĠجÙħ ÙĬع", + "Ġb ezpeÄį", + "Ġbez peÄį", + "Ġ æĹł", + "ĠæĹ ł", + "Ġv Å¡e", + "ĠvÅ¡ e", + "ÑģÑĤ вÑĥ", + "ÑģÑĤв Ñĥ", + "d ust", + "du st", + "o Å¡", + "Ġت ارÙĬØ®", + "ا ØŃØ©", + "اØŃ Ø©", + "ĠÙħشار ÙĥØ©", + "Ġ ακ", + "Ġα κ", + "ั à¸Ļà¸Ļ", + "ัà¸Ļ à¸Ļ", + "éģ Ĭ", + "Ġ ÑģоÑĤ", + "ĠÑģ оÑĤ", + "ĠÑģо ÑĤ", + "Ġ каз", + "Ġк аз", + "Ġка з", + "ĠÑĤ еÑĩение", + "ĠÑĤеÑĩ ение", + "ê¸ ´", + "acak tır", + "ê±° ëĤĺ", + "ี ยม", + "ีย ม", + "ĠÑģ ÑĥÑħ", + "ĠÑģÑĥ Ñħ", + "ĠëĦĪ ë¬´", + "ãģı ãĤĭ", + "ĠкоÑĤоÑĢ Ð¾Ð¹", + "ا ÙĤØ©", + "اÙĤ Ø©", + "y ıl", + "yı l", + "ãĤ» ãĥĥãĥĪ", + "ĠÑį лем", + "æģ IJ", + "ÙĨ اء", + "ÙĨا Ø¡", + "åħ ©", + "Ġte Äı", + "ä¸ ¥", + "Ġì§Ī 문", + "Ġ 为", + "Ġä¸ º", + "ìĭľ íĹĺ", + "Ġп ÑĢок", + "ĠпÑĢ Ð¾Ðº", + "ĠпÑĢо к", + "u jeme", + "uj eme", + "uje me", + "ü cü", + "üc ü", + "ĠاÙĦÙħ غ", + "ĠØŃ ساب", + "ĠØŃس اب", + "ãģĹ ãģ¦ãģĦ", + "ãģĹãģ¦ ãģĦ", + "к ова", + "ко ва", + "ков а", + "ĠÄij Ãło", + "Ġп ÑĢиз", + "ĠпÑĢ Ð¸Ð·", + "ĠпÑĢи з", + "ĠÙĪ ÙħÙĨ", + "ĠÙĪÙħ ÙĨ", + "Ġ оÑĢ", + "Ġо ÑĢ", + "à¸ģ à¸ķ", + "а ÑĦ", + "Ġ à¸ŀร", + "Ġà¸ŀ ร", + "ÑĨи ей", + "æ ª", + "Ġ působ", + "Ġp ůsob", + "Ġpů sob", + "åŃ© åŃIJ", + "Ġb ánh", + "Ġbán h", + "ĠÑĦоÑĢм Ñĥ", + "ĠÑĦоÑĢ Ð¼Ñĥ", + "Ġ á»ķ", + "Ġá» ķ", + "Ġмен ее", + "Ġмене е", + "à¹ī าห", + "à¹īา ห", + "ни ÑĨа", + "ниÑĨ а", + "ี Ċ", + "Ġв олоÑģ", + "Ġвол оÑģ", + "Ġار ائÙĩ", + "第 ä¸ī", + "ëIJĺ ìĹĪ", + "Ġkıs m", + "Ġkı sm", + "ãĥ¼ ãĥĬ", + "ãĥ¼ãĥ Ĭ", + "ler imiz", + "ÙĨ ÙĬÙĨ", + "ÙĨÙĬ ÙĨ", + "Ġ Ngưá»Ŀi", + "ĠNg ưá»Ŀi", + "ĠоÑĤ дел", + "ĠоÑĤд ел", + "çļĦ æĹ¶åĢĻ", + "о нов", + "он ов", + "Äį an", + "i zm", + "iz m", + "ĠÑģоб ой", + "à¹ĩ à¸ķ", + "Ġ ÑģлÑĸд", + "ĠÑģ лÑĸд", + "ĠÑģл Ñĸд", + "Ġ à¤ľà¤¹", + "Ġà¤ľ ह", + "ï¼Į æĪij们", + "ï¼ĮæĪij 们", + "ãĢĤ ãģĿãģ®", + "ÏĢ ÏīÏĤ", + "çĨ Ł", + "ภ¯", + "ëĦ IJ", + "æľ ĭ", + "Ġë¹Ħ ë°Ģ", + "ëį ķ", + "Ġm Ãłn", + "ĠmÃł n", + "ìĿ´ ê³ł", + "ëŀľ ëĵľ", + "éĤ Ħ", + "Ä±ÅŁ ık", + "Ä±ÅŁÄ± k", + "Ġ 个", + "Ġä¸ ª", + "Ġn ád", + "Ġná d", + "б ÑĢа", + "æĮĩ å®ļ", + "lar ıyla", + "ları yla", + "ĠÐŀ ни", + "ĠÐŀн и", + "Ġ hra", + "Ġh ra", + "Ġhr a", + "ĠÑĢе ÑĨеп", + "ĠÐłÐ¾Ñģ Ñģий", + "å½± åĵį", + "Ġ Když", + "ĠK dyž", + "ĠÃ¶ÄŁ renc", + "ĠÃ¶ÄŁren c", + "åī µ", + "Ġ jist", + "Ġj ist", + "Ġji st", + "èĪ Ī", + "è§ ¦", + "åıij çݰ", + "ม าย", + "มา ย", + "er ken", + "erk en", + "Ġзд еÑģÑĮ", + "ĠÙħس ئ", + "@n ate", + "ĠëĤ´ ìļ©", + "Ġnab ÃŃd", + "ĠnabÃŃ d", + "Û Ģ", + "Ġмо менÑĤ", + "Ġмом енÑĤ", + "ãģł ãģĮ", + "ί δα", + "ίδ α", + "T ak", + "Ta k", + "Ġ ë³´ê³ł", + "Ġë³´ ê³ł", + ": ::::::::", + ":: :::::::", + ":::: :::::", + ":::::: :::", + ":::::::: :", + "::: ::::::", + "::::: ::::", + "::::::: ::", + "ÄŁ men", + "Ġпо меÑī", + "Ġпом еÑī", + "ãģ«ãģ¤ ãģĦãģ¦", + "ĠÙģ ÙĪÙĤ", + "ĠÙģÙĪ ÙĤ", + "Ġع ضÙĪ", + "ĠÙħ ÛĮاÙĨ", + "ĠÙħÛĮ اÙĨ", + "Ġm üc", + "Ġmü c", + "ĠпÑĢо Ñıв", + "ÑĩеÑģ ки", + "Ñĩе Ñģки", + "ãģł ãģĭãĤī", + "éĤ ¦", + "Ġ ë¶ĦìĦĿ", + "Ġë¶Ħ ìĦĿ", + "éŁ ©", + "į ¨", + "ĠD aha", + "ĠDa ha", + "ĠDah a", + "Ġ κÏĮ", + "Ġκ ÏĮ", + "Ġна Ñĩина", + "ĠнаÑĩ ина", + "ĠÐŁ оÑĤ", + "ĠÐŁÐ¾ ÑĤ", + "Ïĥκε Ïħ", + "Ïĥκ εÏħ", + "Ġ ÑĢан", + "ĠÑĢ Ð°Ð½", + "ĠÑĢаР½", + "ĠÑĢа н", + "ÙĪ ÙĬس", + "ÙĪÙĬ س", + ": :::::::::", + ":: ::::::::", + ":::: ::::::", + ":::::: ::::", + ":::::::: ::", + "::: :::::::", + "::::: :::::", + "::::::: :::", + "::::::::: :", + "Û±Û¹ Û¹", + "Ġard ından", + "à¹Ĥ à¸Ķ", + "ا راÙĨ", + "ار اÙĨ", + "ارا ÙĨ", + "د اد", + "دا د", + "Ġqu ý", + "ĠØ£Ùĥ ثر", + "âĹ Ĩ", + "ĠØ£ خرÙī", + "Ġأخ رÙī", + "Ġë§Ī ìĿĮ", + "ë¦ ´", + "Ġ عÙĦÙĪÙħ", + "ĠعÙĦ ÙĪÙħ", + "Ġe ÄŁ", + "воÑĢ Ñİ", + "во ÑĢÑİ", + "Ġ ãĥĹ", + "Ġãĥ Ĺ", + "Ñĥ ÑĩаÑģ", + "ÑĥÑĩ аÑģ", + "ÑĥÑĩа Ñģ", + "Ġب Ø£", + "ÏĨ ο", + "ни ками", + "ник ами", + "ника ми", + "никам и", + "à¹ĥ à¸ķ", + "Äįet nÄĽ", + "à¸ļ าà¸ĩ", + "çī Ļ", + "ãĥª ãĤ«", + "í Ĵ", + "åĩº çīĪ", + "γ ι", + "ãĢĤ ãģĿãĤĮ", + "Ġy ani", + "Ġya ni", + "Ġyan i", + "l ech", + "le ch", + "lec h", + "ĠLu áºŃt", + "çļĦ ãģª", + "Ġneden iyle", + "Ġnedeni yle", + "d ej", + "de j", + "ĠÑģов еÑĢÑĪ", + "Ġph á»ķ", + "ıs ından", + "ısında n", + "Ġch ắc", + "d eÅŁ", + "de ÅŁ", + "Ġком ан", + "Ġко ман", + "æĽ ¿", + "Ġp lán", + "Ġpl án", + "Ġplá n", + "Ġd ữ", + "ĠêµŃ ê°Ģ", + "Ġta kip", + "Ġtak ip", + "Ġth á»§y", + "Ġthá»§ y", + "Ñģ лÑĸд", + "Ñģл Ñĸд", + "âī §", + "ĠI IC", + "ĠII C", + "θ Ïħ", + "á vat", + "áv at", + "Ġ Ñģок", + "ĠÑģ ок", + "ĠÑģо к", + "Ġб агаÑĤо", + "Ġбаг аÑĤо", + "ĠбагаÑĤ о", + ";:;: ;:;:", + "Ïģ ιοÏĤ", + "Ïģι οÏĤ", + "Ïģιο ÏĤ", + "il miÅŁtir", + "ilm iÅŁtir", + "ilmiÅŁ tir", + "Ġ znam", + "Ġz nam", + "Ġzn am", + "Ġ Τα", + "ĠΤ α", + "a maz", + "am az", + "ama z", + "à¹ģ à¸ŀ", + "ãĥģ ãĥ£", + "Ġkullan ı", + "æĶ¾ éĢģ", + "д н", + "ĠÙĪ Ø§Ø¨", + "ĠÙĪØ§ ب", + "Ġtr ắng", + "Ñģ Ñıг", + "ÑģÑı г", + "Ġار تباط", + "Ġв Ñħод", + "å·ŀ å¸Ĥ", + "Ġ सत", + "Ġस त", + "Ñĩ аеÑĤÑģÑı", + "Ñĩа еÑĤÑģÑı", + "ÑĩаеÑĤ ÑģÑı", + "íĮĮ íĬ¸", + "Ġ Những", + "ĠNh ững", + "ä¸į åı¯", + "å± Ĭ", + "Ġ ãĤŃ", + "ĠãĤ Ń", + "ار ÙĩاÛĮ", + "ارÙĩ اÛĮ", + "Ġar ÅŁiv", + "Ġ اÙĦÙī", + "Ġا ÙĦÙī", + "ĠاÙĦ Ùī", + "ाय à¤ķ", + "ãģĹ ãĤĩãģĨ", + "ãģĹãĤĩ ãģĨ", + "Ġ ulus", + "Ġu lus", + "Ġul us", + "al axy", + "ala xy", + "기 ê°Ģ", + "ãİ¡ (", + "μά ÏĦÏīν", + "è n", + "ù i", + "Ġна ÑģÑĤоÑı", + "ĠнаÑģÑĤ оÑı", + "ĠС в", + "ĠоÑģ оби", + "ĠоÑģоб и", + "к ово", + "ко во", + "ков о", + "ĠÑĢеб енка", + "ĠÑĢебен ка", + "ĠÑĤ Ñıж", + "ĠÑĤÑı ж", + "Ġxu á»ijng", + "Ġ ê¶Į", + "Ġê ¶Į", + "о год", + "ог од", + "ого д", + "Ġ ấy", + "è² ł", + "ว à¸Ļ", + "Ġ stanov", + "Ġsta nov", + "Ġstan ov", + "Ġk rál", + "Ġkr ál", + "Ġà¤ĩ सल", + "Ġà¤ĩस ल", + "e be", + "eb e", + "å® ¾", + "ĠдоÑģÑĤаÑĤ оÑĩно", + "II IK", + "III K", + "ÏĢ Î¬", + "Ġbir kaç", + "ĠاÙĦ ÙħÙĤ", + "ĠاÙĦÙħ ÙĤ", + "ãĥ ¶", + "ĠBaÅŁ kanı", + "ĠBaÅŁkan ı", + "Ġ첨ë¶Ģ íĮĮìĿ¼", + "Ġya rar", + "Ġyar ar", + "äº ¡", + "Ġ ÏĢÏĮ", + "ĠÏĢ ÏĮ", + "Âł Ñģ", + "δ ή", + "e lerini", + "eler ini", + "eleri ni", + "elerin i", + "Ġs uç", + "Ġsu ç", + "Ġд ома", + "Ġдо ма", + "Ġдом а", + "Ġна ÑĢÑĥÑĪ", + "ĠнаÑĢ ÑĥÑĪ", + "Ġ ί", + "ĠÎ ¯", + "Ġê·¸ ìĿĺ", + "ç͵ å½±", + "ا بÙĩ", + "اب Ùĩ", + "к омÑĥ", + "ко мÑĥ", + "ком Ñĥ", + "Ġत ब", + "à¥Ī à¤ł", + "Ġ모 ì§ij", + "Ġ æ±Ł", + "Ġæ± Ł", + "Ġê²ĥ ìĿĢ", + "ον ÏĦαι", + "ĠاÙĦ رÙĬاض", + "è¨ ±", + "Ġhal inde", + "Ġاش ارÙĩ", + "Ġ кÑĢÑĭ", + "Ġк ÑĢÑĭ", + "л ений", + "лен ий", + "ле ний", + "lu ÄŁ", + "Ġdo bu", + "Ġdob u", + "s ik", + "si k", + "à¥ģ à¤Ł", + "à¥ģठŁ", + "Ġ кÑĸн", + "Ġк Ñĸн", + "ãģ¨ ãģį", + "à¥Ĥ स", + "æħ ¢", + "ĠdÄ±ÅŁ ında", + "ĠdÄ±ÅŁÄ± nda", + "ç· ı", + "Ġ bÃŃ", + "Ġb ÃŃ", + "ĠCL IIIK", + "ĠIIC III", + "Ġh erk", + "Ġhe rk", + "Ġher k", + "ãĤı ãģĽ", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "Âł ³³³³³", + "³³ ³³³³", + "³³³³ ³³", + "³³³ ³³³", + "³³³³³ Âł", + "اÙĦ د", + "Ġdav ran", + "Äį er", + "Äįe r", + "Ġ ØŁ", + "ĠØ Ł", + "ãģĺãĤĥ ãģªãģĦ", + "Ġd air", + "Ġda ir", + "Ġdai r", + "Ġî ¥¤", + "ั à¸ĩส", + "ัà¸ĩ ส", + "Ġ ëĭ´", + "Ġëĭ ´", + "å¾ ŀ", + "ĠÑįÑĤ иÑħ", + "ĠÑįÑĤи Ñħ", + "è¯ º", + "á» ·", + "е ÑĢиÑģÑĤи", + "еÑĢи ÑģÑĤи", + "ов ÑĭÑħ", + "Ġ ãĥĩ", + "Ġãĥ ĩ", + "ض ÙĬ", + "Ġà¤ī à¤ł", + "Ġnap ÅĻÃŃklad", + "è ´Ŀ", + "è´ Ŀ", + "Ġ Å¡k", + "ĠÅ¡ k", + "ĠبÙĪØ¯ ÙĨد", + "ĠبÙĪØ¯ÙĨ د", + "vů li", + "éģ ĩ", + "Ġз най", + "Ġзна й", + "Ġзн ай", + "ĠT ham", + "ĠTh am", + "r ani", + "ra ni", + "ran i", + "ا ØŃت", + "اØŃ ت", + "Ø´ Ùĩ", + "мÑĸнÑĸ ÑģÑĤÑĢа", + "๠ĭ", + "ĠÎij να", + "ĠÎijν α", + "à¥ĭ à¤ļ", + "ç»Ħ ç»ĩ", + "ÑģÑĤ иÑĤ", + "ÑģÑĤи ÑĤ", + "im li", + "åIJį çĦ¡ãģĹãģķãĤĵ", + "åIJįçĦ¡ãģĹ ãģķãĤĵ", + "Ùij Ø©", + "θ μ", + "о лоÑĤ", + "ол оÑĤ", + "оло ÑĤ", + "ย à¸ĩ", + "ãĤī ãĤĮãĤĭ", + "ãĤīãĤĮ ãĤĭ", + "Ġ лиÑĩ", + "Ġл иÑĩ", + "Ġли Ñĩ", + "ов Ñĭе", + "éĢ ĥ", + "Ġ 广", + "Ġå¹ ¿", + "ìĬ ¬", + "Ùħ ÛĮÙĨ", + "ÙħÛĮ ÙĨ", + "ĠìłĦ ì²´", + "ĠÎŃ Ïĩ", + "Ġ ì±ħ", + "Ġì± ħ", + "Ġ hlas", + "Ġh las", + "Ġhl as", + "е кÑĤив", + "ек ÑĤив", + "екÑĤ ив", + "екÑĤи в", + "ĠÏĢ Î»Î·", + "lu ÄŁu", + "luÄŁ u", + "好 çļĦ", + "ĠÚĨ ÙĪÙĨ", + "ĠB eled", + "ĠBe led", + "ĠBel ed", + "Ġen gel", + "Ġeng el", + "нÑı Ñı", + "ĠyaÅŁ an", + "Ñĩ ниÑħ", + "ار ÙĬØ©", + "ارÙĬ Ø©", + "म त", + "ãĥĭãĥĭ ãĥĭãĥĭ", + "åĭ ¢", + "Ġ åĨħ", + "ĠåĨ ħ", + "Ġíı¬ íķ¨", + "Ġоб Ñģ", + "Ġth ấp", + "Ġd ây", + "ãĥĸ ãĥ©", + "а ÑĤÑĭ", + "аÑĤ Ñĭ", + "ĠÑģво ей", + "ĠÑģвое й", + "ãĤī ãģªãģĦ", + "åıij çĶŁ", + "e rece", + "er ece", + "ere ce", + "Ġod bor", + "Ġв неÑģ", + "Ġвне Ñģ", + "ĠÄIJ ảng", + "ĠëıĮ ìķĦ", + "ÄĽ li", + "ÄĽl i", + "ı sında", + "ıs ında", + "ısı nda", + "Ġबद ल", + "v nÃŃ", + "vn ÃŃ", + "ãģ® ãģ«", + "Ġпо ÑĤом", + "ĠпоÑĤ ом", + "im de", + "imd e", + "a lama", + "al ama", + "ala ma", + "alam a", + "âĢ ª", + "Ġstej nÄĽ", + "е ÑĢе", + "еÑĢ Ðµ", + "éĴ ¢", + "æľº æŀĦ", + "Ġ è³", + "Ġè ³", + "åĶ ±", + "Ġ ëħ¸ì¶ľ", + "Ġëħ¸ ì¶ľ", + "Ġли бо", + "âĢ Ĭ", + "Ġc ez", + "Ġce z", + "ro mÄĽ", + "rom ÄĽ", + "ί Ïīν", + "ÏĨ ή", + "Ġ íĻ©", + "ĠíĻ ©", + "Ġdlou h", + "éª ¨", + "åħ¬ éĩĮ", + "ä¼ ¸", + "Ġ ãĥij", + "Ġãĥ ij", + "ä» Ļ", + "Ġol madı", + "Ġolm adı", + "Ġolma dı", + "е лиÑĩ", + "ел иÑĩ", + "ели Ñĩ", + "ожд ениÑı", + "Ġsöy ledi", + "Ġsöyl edi", + "á tek", + "át ek", + "áte k", + "ìĥ µ", + "ย วà¸ģ", + "ยว à¸ģ", + "Ġ 鼻", + "ĠéĽ »", + "Ġп ев", + "ĠдÑĢÑĥг ие", + "át ku", + "Ġع ÙĪ", + "ov ána", + "ová na", + "ován a", + "ض ر", + "Ġëģ Ŀ", + "ĠíĨµ íķ´", + "Î ĸ", + "Ġv ur", + "Ġvu r", + "åĨ ²", + "Ġп ÑĢек", + "ĠпÑĢ ÐµÐº", + "ĠпÑĢе к", + "Ġप à¤ķ", + "Ġ à¹Ģà¸Ĺ", + "Ġà¹Ģ à¸Ĺ", + "Ġà¹ĢภĹ", + "ãģ¨ ãģĭ", + "ع ÙĨ", + "å® ĩ", + "ÏĦ ζ", + "Ġn ằm", + "ĠÑģ воб", + "ĠÑģв об", + "ĠÑģво б", + "Ġδ Ïį", + "çĸ Ĺ", + "- й", + "é¦Ļ 港", + "ت ا", + "Ïĥι μο", + "íķ Ħ", + "Ġ 详æĥħ", + "Ġè¯ ¦æĥħ", + "ä¸ ¡", + "Ùİ Ø§ÙĦ", + "ÙİØ§ ÙĦ", + "ĠTr ưá»Ŀng", + "e ného", + "en ého", + "ené ho", + "ĠÑĢекомен дÑĥ", + "ÛĮ رÙĩ", + "ÛĮر Ùĩ", + "า à¸ĸ", + "าภĸ", + "ĠÚ© اÙħÙĦ", + "ĠکاÙħ ÙĦ", + "ب Ø·", + "ز ÛĮÙĨÙĩ", + "زÛĮ ÙĨÙĩ", + "Ġдолж на", + "Ġë§İ ìĿĢ", + "âĹıâĹıâĹıâĹı âĹıâĹıâĹıâĹı", + "lep Å¡ÃŃ", + "ал ог", + "ало г", + "ãĤª ãĥ³", + "Ġ ë³Ħ", + "Ġë³ Ħ", + "ı rı", + "ır ı", + "ĠجاÙħ عÙĩ", + "ĠجاÙħع Ùĩ", + "æĽ ľ", + "o jÃŃ", + "oj ÃŃ", + "ĠÑĪ Ð»ÑıÑħ", + "Ġhız lı", + "Ġ خصÙĪØµ", + "Ġخص ÙĪØµ", + "ÐIJ ÑĢ", + "å ľĺ", + "åľ ĺ", + "Ġжив оÑĤ", + "é ±", + "Ġng ữ", + "Ġv òng", + "èİ «", + "Ġза Ñħод", + "ĠзаÑħ од", + "ìĻ Ħ", + "ĠÑģлед ÑĥÑİÑī", + "éĹ »", + "Ñij ÑĢ", + "Ġch vÃŃ", + "èĥ ľ", + "ãģª ãģĹ", + "Ġtek noloj", + "Ġtekn oloj", + "ej ména", + "Ġ ìłĪ", + "Ġìł Ī", + "ì³ IJ", + "æĻ® éĢļ", + "Ġvý ro", + "Ġay rı", + "Ġayr ı", + "Ġп ÑĢев", + "ĠпÑĢ ÐµÐ²", + "ĠпÑĢе в", + "Ġgó p", + "à¹Ĥ à¸ģ", + "à¸Ĺำ à¹ĥห", + "åı İ", + "åĺ ī", + "Ġte lev", + "Ġtele v", + "Ġtel ev", + "ãģ¨ ãģĵãĤį", + "ëı Į", + "ph yl", + "phy l", + "ร าะ", + "Ġ çĪ", + "Ġç Ī", + "ÑģÑĤ иÑĤÑĥ", + "ÑģÑĤи ÑĤÑĥ", + "ÑģÑĤиÑĤ Ñĥ", + "ï¼Į è¿ĺ", + "ĠÎij γ", + "Äį ku", + "æı ´", + "ाय त", + "æı ı", + "ãĤĤ ãģĹ", + "ĠпеÑĢ ÐµÑģ", + "ĠпеÑĢе Ñģ", + "Ġìĺģ íĻĶ", + "id la", + "idl a", + "åİ ħ", + "ï¼ı :", + "ت رÛĮ", + "تر ÛĮ", + "à¸Ľ à¸ı", + "ĠнаÑģ еленнÑı", + "Ġam aç", + "Ġama ç", + "Ġk do", + "Ġkd o", + "Ġиз веÑģÑĤ", + "ÑĪ Ð¸ÑĢ", + "ÑĪи ÑĢ", + "ì£ ł", + "Å¡ it", + "Å¡i t", + "Ġt á»ijc", + "Ġtá»ij c", + "ìŀIJ ìĿĺ", + "Ñĩ аÑĤ", + "Ñĩа ÑĤ", + "åı ĥ", + "éĽ ¶", + "å° º", + "Ġ indir", + "Ġin dir", + "Ġind ir", + "Ġна ÑĨÑĸоналÑĮ", + "Ġx anh", + "Ġxa nh", + "ÛĮ دÛĮ", + "ÛĮد ÛĮ", + "Ġин ÑĤеÑĢеÑģ", + "ĠинÑĤеÑĢ ÐµÑģ", + "ĠØ¢ سÛĮ", + "Ġآس ÛĮ", + "éĤ£ 个", + "Ġb ilm", + "Ġbi lm", + "Ġbil m", + "а не", + "ан е", + "ĠtÄĽch to", + "Ñĩ ик", + "Ñĩи к", + "Ġдо Ñħод", + "èĤ¡ 份", + "åħ³ ç³»", + "ãģ«ãģª ãģ£ãģŁ", + "ĠпÑĢед пÑĢи", + "Ġgeç en", + "Ġب ÙĤ", + "Ġvý znam", + "Ġ à¹Ģà¸Ħร", + "Ġà¹Ģ à¸Ħร", + "Ġà¹Ģà¸Ħ ร", + "ĠÑħ ÑĤо", + "Ø´ ÙĬ", + "åıĤ åĬł", + "ÑģÑĤв енного", + "ÑģÑĤвен ного", + "ÑģÑĤвенно го", + "ÑĤ ÑĢон", + "ÑĤÑĢ Ð¾Ð½", + "ÑĤÑĢо н", + "ÂĢÂĢ ÂĢÂĢ", + "æ¢ Ŀ", + "б ав", + "ба в", + "Û± Û¶", + "Û±Û ¶", + "é¡ º", + "Ġj az", + "Ġja z", + "ĠاÙĦ ÙħÙĦ", + "ĠاÙĦÙħ ÙĦ", + "Ġا ثر", + "Ġاث ر", + "ĠпÑĢи вод", + "ĠпÑĢив од", + "а нÑĥ", + "ан Ñĥ", + "à¥ģ à¤Ń", + "à¥ģठŃ", + "æĹ §", + "ÑĮ е", + "ส ล", + "л ÑıÑİÑĤ", + "лÑı ÑİÑĤ", + "ว à¸Ķ", + "ư Ỽi", + "ưỠĽi", + "Æ°á»Ľ i", + "ÙĬ ÙħØ©", + "ÙĬÙħ Ø©", + "ãĤ¯ ãĥŃ", + "л ий", + "ли й", + "γ Ïģά", + "Ġper forman", + "Ġperform an", + "Ġperf orman", + "Ġperfor man", + "è¯ ī", + "ä½ł çļĦ", + "ìħ Ķ", + "н ениÑı", + "не ниÑı", + "нен иÑı", + "á»Ń i", + "ÙĪ Ø²ÛĮ", + "ÙĪØ² ÛĮ", + "éŁ ¿", + "à¥Ī द", + "Ġëª ¸", + "Ġe ser", + "Ġes er", + "Ġese r", + "ĠÙģØ¹Ø§ÙĦ ÛĮت", + "нÑĸ веÑĢ", + "нÑĸв еÑĢ", + "κ Ïģα", + "è¨ ¼", + "Ġn emoc", + "Ġnem oc", + "Ġyardım cı", + "Ġ çī¹", + "Ġçī ¹", + "Ġ коп", + "Ġк оп", + "Ġко п", + "ĠÐľ ож", + "़ à¤ķ", + "Ġ ëľ", + "Ġë ľ", + "ĠÑĢе ак", + "Ġp ozor", + "Ġpoz or", + "Âł ÐIJ", + "Ġ ÙĬÙĥ", + "ĠÙĬ Ùĥ", + "ĠÑģ ад", + "Ġ åħ«", + "Ġåħ «", + "Ġп олÑĮз", + "ĠполÑĮ з", + "Ġra ÄŁmen", + "ter nÃŃ", + "tern ÃŃ", + "s iyon", + "si yon", + "Ñģ ÑıÑĩ", + "ÑģÑı Ñĩ", + "ov aný", + "ova ný", + "ovan ý", + "ĠëĮĢíķľ ë¯¼êµŃ", + "ĠвÑĸд б", + "ĠÐIJ нд", + "ĠÐIJн д", + "st va", + "éĮ Ħ", + "Ġ ëij", + "Ġë ij", + "ิ à¸Ħ", + "j ÃŃt", + "jÃŃ t", + "Ġkullan ıcı", + "Ġkullanı cı", + "Ġ æŁ¥çľĭ", + "ĠæŁ¥ çľĭ", + "Ùģ ÙĦ", + "Ġ ЯкÑīо", + "ĠЯк Ñīо", + "çľĭ åΰ", + "ÑĢ ÐµÑħ", + "ÑĢе Ñħ", + "ĠاÙĦع ربÙĬØ©", + "ĠاÙĦعرب ÙĬØ©", + "ĠاÙĦعربÙĬ Ø©", + "ë¡ľê·¸ ëŀ¨", + "Ġब à¤ľ", + "Ġп ÑĢип", + "ĠпÑĢ Ð¸Ð¿", + "ĠпÑĢи п", + "Ġs chop", + "Ġsc hop", + "Ġsch op", + "Ġscho p", + "Ġب اÙĦا", + "Ġبا ÙĦا", + "ĠباÙĦ ا", + "å® ħ", + "Ġا ÙĦÙħÙĩ", + "ĠاÙĦ ÙħÙĩ", + "ĠاÙĦÙħ Ùĩ", + "α να", + "αν α", + "à¥ĭ व", + "åģ ´", + "å¼Ģ åıij", + "Ùħ اÙĦ", + "Ùħا ÙĦ", + "Ġ धर", + "Ġध र", + "Ġda hil", + "Ġdah il", + "Ġdahi l", + "ãĢģ ãģĵãģ®", + "ัà¸Ī à¸Ī", + "Ñģп ÑĸлÑĮ", + "Ġà¤ķ प", + "Ġв еÑĩ", + "Ġве Ñĩ", + "Ġвид а", + "Ġви да", + "ĠÙħ عÙĨ", + "ĠÙħع ÙĨ", + "ĠоÑĤ ли", + "i á»ħ", + "iá» ħ", + "л иÑĪ", + "ли ÑĪ", + "Ġ ÐŁÐ¾Ñģле", + "ĠÐŁÐ¾Ñģ ле", + "ãģĵ ãģĵ", + "Ġk ültür", + "Ġ جر", + "Ġج ر", + "Ġ æ¼", + "Ġæ ¼", + "èĩ º", + "Ġmev cut", + "Ù¾ ÛĮ", + "ĠاÙĦ سÙĦاÙħ", + "ĠاÙĦس ÙĦاÙħ", + "иÑĤ елей", + "иÑĤе лей", + "Ġ ÑĢоÑģÑĤ", + "ĠÑĢ Ð¾ÑģÑĤ", + "ĠÑĢоÑģ ÑĤ", + "Ġed il", + "Ġedi l", + "Ġ å·²", + "Ġå· ²", + "ç²¾ åĵģ", + "ä» ħ", + "âĢĻ ye", + "âĢĻy e", + "à¥Īà¤Ĥ .", + "Ġ åĨĨ", + "ĠåĨ Ĩ", + "ëĪ Ħ", + "Ġ ìĻķ", + "ĠìĻ ķ", + "æĺ Ń", + "ĠÎļ ο", + "m eden", + "med en", + "me den", + "Ġo lab", + "Ġol ab", + "Ġola b", + "ĠÚ© ÙĪØ¯", + "ĠÚ©ÙĪ Ø¯", + "à¸Ħ าส", + "ен наÑı", + "æĬ ¼", + "yl ül", + "Ġsev iy", + "Ġd ÄĽti", + "ĠdÄĽ ti", + "ĠdÄĽt i", + "â̬ Ċ", + "Ġع ز", + "Ġu á»ijng", + "Ġس رÙħ", + "Ġسر Ùħ", + "е не", + "ен е", + "Ġмал енÑĮ", + "Ġ вÑĸдом", + "Ġв Ñĸдом", + "ĠвÑĸд ом", + "ĠвÑĸ дом", + "ั à¸ļà¸Ĺ", + "ัà¸ļ à¸Ĺ", + "ĠTh ái", + "Ġà¤Ĩव श", + "rove ÅĪ", + "çĽ £", + "ĠÑı зÑĭ", + "ĠO y", + "å£ ģ", + "в аÑĤÑĮ", + "ва ÑĤÑĮ", + "ваÑĤ ÑĮ", + "л адÑĥ", + "ла дÑĥ", + "лад Ñĥ", + "ا صÙĦ", + "اص ÙĦ", + "ot ÅĻeb", + "د ÙĬØ«", + "دÙĬ Ø«", + "íı °", + "νο μ", + "г оÑĢод", + "го ÑĢод", + "гоÑĢ Ð¾Ð´", + "Ġm uh", + "Ġmu h", + "âĢĻ l", + "ÑģÑĤ воÑĢ", + "ÑģÑĤв оÑĢ", + "ÑģÑĤво ÑĢ", + "åħ Ħ", + "Ðķ Ðł", + "Ø· ÙĦ", + "éľ ĩ", + "Ùİ Øª", + "Ġb lÃŃ", + "Ġbl ÃŃ", + "Ġed ildi", + "Ġedil di", + "éĿ ł", + "äºĮ åįģ", + "æĹ Ĺ", + "Ġç iz", + "ĠÄij ảo", + "Ġo pat", + "Ġop at", + "o ÄŁan", + "oÄŁ an", + "ë² Į", + "Ġ éł", + "Ġé ł", + "Ġseb ep", + "Ġsebe p", + "Ñĥ ÑĤи", + "ÑĥÑĤ и", + "åĪ º", + "Ø· ب", + "ev Å¡ÃŃm", + "c hop", + "ch op", + "cho p", + "çĶ ļ", + "Ġngh á»ģ", + "Ġп аÑĢÑĤ", + "ĠпаÑĢ ÑĤ", + "ุ à¸Ħ", + "Ú© ÛĮÙĦ", + "Ú©ÛĮ ÙĦ", + "d um", + "du m", + "Ġor tak", + "Ġort ak", + "Ġorta k", + "ãģŁ ãģĹ", + "Ġoby vatel", + "Ġv ých", + "Ġvý ch", + "Ġv eren", + "Ġver en", + "Ġve ren", + "Ġvere n", + "Ġв еÑģÑĮ", + "ĠвеÑģ ÑĮ", + "Ġве ÑģÑĮ", + "ĠÐĶ Ð°", + "Ġ íķĺì§Ģë§Į", + "Ġíķĺ ì§Ģë§Į", + "Ġíķĺì§Ģ ë§Į", + "å¦Ĥ æŃ¤", + "Ġमह त", + "ัà¸ĩà¸ģ ฤษ", + "ãĢĤ è¿Ļ", + "Ġ гал", + "Ġг ал", + "Ġsa nat", + "Ġsan at", + "Ġsana t", + "éł Ĩ", + "ĠÑģам о", + "å Ľ°", + "åĽ °", + "ี à¸Ń", + "ĠBaÅŁ kan", + "ÏĦ οÏħÏĤ", + "ÏĦοÏħ ÏĤ", + "Ġyap tıģı", + "Ġyaptı ģı", + "Ġyaptıģ ı", + "ÅĻ it", + "ÅĻi t", + "ĠÑģ ÑĸлÑĮ", + "ान त", + "Ġ ÙĨت", + "ĠÙĨ ت", + "Ġkh Äĥn", + "à¸Ĭ à¸Ļะ", + "à¸Ĭà¸Ļ ะ", + "м ини", + "ми ни", + "мин и", + "ãĥ¬ ãĥ¼", + "ë Ĥ¬", + "ëĤ ¬", + "éħĴ åºĹ", + "ĠاÙĦÙĬ ÙĪÙħ", + "ä¹ Ĺ", + "à¸Ħรà¸ĩ à¸ģาร", + "Ùģ Ø§ÙĤ", + "Ġ à¤ıस", + "Ġà¤ı स", + "Ġ æ¡", + "Ġæ ¡", + "Ú¯ ذ", + "Ġà¤ĩ ल", + "е лениÑı", + "ел ениÑı", + "еле ниÑı", + "елен иÑı", + "à¸ģ รà¸ĵ", + "à¸ģร à¸ĵ", + "举 西", + "ÎŁ Îľ", + "ÎŁÎ ľ", + "Ġm áºŃt", + "Ġs nÃŃ", + "Ġsn ÃŃ", + " IJ", + "à¹Ģร า", + "íķ´ ìķ¼", + "Ġ ìĦľë¹ĦìĬ¤", + "ĠìĦľ ë¹ĦìĬ¤", + "Ġداخ ÙĦ", + "Ġth ắng", + "íĥ Ī", + "а вÑģÑı", + "ав ÑģÑı", + "Ġ Ñĸм", + "ĠÑĸ м", + "ا Ùħت", + "اÙħ ت", + "Ġ ÙĪÙĤت", + "ĠÙĪ ÙĤت", + "ĠÙĪÙĤ ت", + "à¥Ĥ à¤ģ", + "Ġ èIJ", + "Ġè IJ", + "Ġ سÙĦاÙħ", + "Ġس ÙĦاÙħ", + "ĠسÙĦ اÙħ", + "Ġvz dÄĽl", + "å¸Į æľĽ", + "åŃĺ æ¡£", + "Ġ à¸Ĺำ", + "Ġà¸Ĺ ำ", + "ĠвÑĸй ÑģÑĮ", + "а ÑĢан", + "аÑĢ Ð°Ð½", + "аÑĢа н", + "ĠÑĢ Ñĸк", + "Ġп иÑģÑĮ", + "Ġпи ÑģÑĮ", + "ĠпиÑģ ÑĮ", + "Ġá¼ IJ", + "기 ëıĦ", + "ĠпоÑģÑĤ оÑıн", + "Ġ åĮĹ京", + "ĠåĮĹ äº¬", + "ĠNÄĽ m", + "Ø´ ÙĨاÙħÙĩ", + "Ø´ÙĨ اÙħÙĩ", + "Ġdal Å¡ÃŃch", + "ĠdalÅ¡ÃŃ ch", + "Ġب اع", + "Ġبا ع", + "Ġpo hy", + "Ġpoh y", + "ا ÙĦÙģ", + "اÙĦ Ùģ", + "à¸ŀ วà¸ģ", + "é ĭ", + "Ġ cih", + "Ġc ih", + "Ġci h", + "Ù ¢", + "ä¸ ´", + "ãĤ¯ ãĥĪ", + "п нÑı", + "Ġ дал", + "Ġд ал", + "Ġда л", + "ÙĴ ر", + "ãĢĢ ãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢãĢĢĠãĢĢ ĠãĢĢ", + "ãĢĢãĢĢĠ ãĢĢĠãĢĢ", + "æĬ¥ åijĬ", + "ÙĪ Ø¯ÛĮ", + "ÙĪØ¯ ÛĮ", + "á» £i", + "ợ i", + "ÑĨ ÑĸÑĶÑİ", + "ÑĨÑĸ ÑĶÑİ", + "Ġ ãĥĢ", + "Ġãĥ Ģ", + "ĠÑģÑĤ еп", + "r až", + "ra ž", + "ĠS aÄŁ", + "ĠSa ÄŁ", + "Ġt uyến", + "Ġtuy ến", + "Ġal mak", + "Ġalma k", + "Ġalm ak", + "Ġзаболева ниÑı", + "Ġ ÏĥÏĩ", + "ĠÏĥ Ïĩ", + "Ġ íĭ", + "Ġí ĭ", + "Ġв им", + "Ġви м", + "ç¡ ¬", + "Ġ äºĶ", + "Ġi kinci", + "Ġik inci", + "ุ à¸į", + "ส าว", + "ĠìĦ¸ ê³Ħ", + "ĠÙħ ØŃÙĦ", + "ĠÙħØŃ ÙĦ", + "ระ หว", + "Ġelek tron", + "Ġelekt ron", + "Ġelektr on", + "Ġh ại", + "Ġhạ i", + "æĹ ¢", + "Ġ íĸ¥", + "Ġíĸ ¥", + "Ġji né", + "Ġjin é", + "Ġng he", + "Ġngh e", + "æij ©", + "ĠÑģо бÑĸ", + "ĠÑģоб Ñĸ", + "Æ ¯", + "ÑĤ ÑĥÑĢ", + "ÑĤÑĥ ÑĢ", + "æ±½ 车", + "Ø´ اÙĩ", + "Ġd Ãłnh", + "ä¸ ¹", + "ä»Ĭ æĹ¥", + "ãĥIJ ãĥ¼", + "в аниÑı", + "ва ниÑı", + "ван иÑı", + "Ġ ساÙħ", + "Ġس اÙħ", + "çݯ å¢ĥ", + "ĠاÙĦ ÙħÙĨت", + "ĠاÙĦÙħ ÙĨت", + "ĠاÙĦÙħÙĨ ت", + "ĠÑģеÑĢ Ð´", + "éģ ł", + "ε ÏĦ", + "Ġав ÑĤ", + "าà¸ĩ ว", + "Ġvz tah", + "ru ž", + "алÑĮ наÑı", + "алÑĮна Ñı", + "Ġطر اØŃÛĮ", + "à¹Ĥรà¸ĩ à¹ģรม", + "ĠÄį asto", + "ĠÄįas to", + "ĠÄįast o", + "Ġ ê¼", + "Ġê ¼", + "Ïĥ ÏĦÏĮ", + "ÏĥÏĦ ÏĮ", + "Ġbu rada", + "Ġbur ada", + "Ġİ z", + "Ġ ê·¸ëŀĺ", + "Ġê·¸ ëŀĺ", + "å² Ľ", + "ĠØ´ ÙĪÙĨد", + "ĠØ´ÙĪ ÙĨد", + "Å¡ ek", + "Å¡e k", + "Ġ ìĿ´ìķ¼", + "ĠìĿ´ ìķ¼", + "ãĤĮ ãģªãģĦ", + "ê· ¹", + "la mÄ±ÅŁ", + "lam Ä±ÅŁ", + "ä» į", + "cház et", + "cháze t", + "Ġ ÑģÑĥÑĤ", + "ĠÑģ ÑĥÑĤ", + "ĠÑģÑĥ ÑĤ", + "æĹł æ³ķ", + "æµ ¦", + "ÄĽ la", + "ÄĽl a", + "à¹ĥà¸Ļ à¸Ĭ", + "Ġc ân", + "Ġcâ n", + "ÎŁ Îĵ", + "ÎŁÎ ĵ", + "Ġz vý", + "Ġzv ý", + "ĠÙ¾ ار", + "Ġپا ر", + "Ġк лÑĸ", + "Ġкл Ñĸ", + "Ġn ové", + "Ġno vé", + "Ġnov é", + "çĶ ĺ", + "ë¹ ł", + "m á", + "Ġ Ñģол", + "ĠÑģ ол", + "ĠÑģо л", + "à¤ķ रण", + "à¤ķर ण", + "н оÑĩ", + "но Ñĩ", + "Ġ fik", + "Ġf ik", + "Ġfi k", + "Ġà¤ľ à¤Ĺ", + "à¹ĩ à¸Ļà¸ķ", + "à¹ĩà¸Ļ à¸ķ", + "ĠÙħ تØŃ", + "ĠÙħت ØŃ", + "Ġph iên", + "Ġphi ên", + "Ġol sun", + "Ġк аб", + "Ġка б", + "Ġh út", + "èĦ ±", + "Ġ åĸ", + "Ġå ĸ", + "ĠH ải", + "Ġ tÄĽÅ¾", + "Ġt ÄĽÅ¾", + "ĠtÄĽ ž", + "Ġth ái", + "Ġ تاب", + "Ġت اب", + "Ġتا ب", + "- ÐŁ", + "Ø« ار", + "çĨ Ĭ", + "Ġ ними", + "Ġн ими", + "Ġни ми", + "Ġним и", + "Ġzp rac", + "Ġत ह", + "Ġм акÑģим", + "Ġмак Ñģим", + "m eyi", + "me yi", + "mey i", + "ĠÑģ оÑĨи", + "ĠÑģо ÑĨи", + "æ² Ĵ", + "ĠìķĬ ëĬĶ", + "_ _", + "åķ ¦", + "ĠاÙĨ ÙĪØ§Ø¹", + "æļ ´", + "ä¸Ĭ æµ·", + "åħ· æľī", + "à¥ģ ब", + "à¥ģठ¬", + "ìķ Ļ", + "Ġíģ °", + "Ġíŀ ĺ", + "Ġtr ánh", + "ि यन", + "िय न", + "ãģ¾ ãģ¾", + "п оÑĩ", + "по Ñĩ", + "m ÄĽr", + "mÄĽ r", + "å³ °", + "ĠÙħ صر", + "ĠÙħص ر", + "ĠÑįÑĦ ÑĦекÑĤив", + "ĠÑįÑĦÑĦек ÑĤив", + "Ġ çı", + "Ġç ı", + "ler iyle", + "leri yle", + "âĪ ļ", + "Ġ ì¶ķ", + "Ġì¶ ķ", + "Ġ ê²Įìĭľ", + "Ġê²Į ìĭľ", + "ìĿ ij", + "Ġ poÅĻád", + "Ġpo ÅĻád", + "Ġشب Ú©Ùĩ", + "اÙĩ Ø´", + "ĠخدÙħ ات", + "Ġna Å¡e", + "ĠnaÅ¡ e", + "ν οÏį", + "νο Ïį", + "Ġyön elik", + "Ġk ork", + "Ġko rk", + "Ġkor k", + "ا ÙĩÙħ", + "اÙĩ Ùħ", + "è° Ī", + "Ġ μη", + "Ġμ η", + "Ġd olar", + "Ġdo lar", + "Ġdol ar", + "çµ ¦", + "ĠÎķ Ïħ", + "Ġobdob ÃŃ", + "Ġ μÏĮ", + "Ġμ ÏĮ", + "à¹Ģ à¸Ńà¸ģ", + "à¹Ģà¸Ń à¸ģ", + "Ġپاس Ø®", + "è¡ ¥", + "ا عد", + "اع د", + "ãĤī ãģĦ", + "ÎŃ Î»", + "и ÑĤÑĭ", + "иÑĤ Ñĭ", + "Ġ ëħ¼", + "Ġëħ ¼", + "Ġ^{ [", + "ί γ", + "æł ij", + "l ında", + "lı nda", + "ĠìŬ 룬", + "£ £", + "ÅĻ il", + "ÅĻi l", + "Ġав ÑĤоÑĢ", + "ĠавÑĤ оÑĢ", + "ÏĦ ικÏĮÏĤ", + "ÏĦικ ÏĮÏĤ", + "ÏĦικÏĮ ÏĤ", + "u dur", + "ud ur", + "udu r", + "Ġc ư", + "Ġk ıy", + "Ġkı y", + "Ñģ ем", + "Ñģе м", + "ĠØ£ بÙĪ", + "Ġأب ÙĪ", + "ÏĦ ικÏİν", + "ÏĦικ Ïİν", + "Û± Û·", + "Û±Û ·", + "è² ¸", + "Ġп ÑĢож", + "ĠпÑĢ Ð¾Ð¶", + "ĠпÑĢо ж", + "ün cü", + "Ġ нÑĸÑĩ", + "Ġн ÑĸÑĩ", + "ĠнÑĸ Ñĩ", + "Ġ मत", + "Ġम त", + "ãģķ ãĤĮãģ¦ãģĦãĤĭ", + "ãģķãĤĮ ãģ¦ãģĦãĤĭ", + "ãģķãĤĮãģ¦ ãģĦãĤĭ", + "ا صر", + "اص ر", + "Ġع ÙĤ", + "ĠкаÑĩе ÑģÑĤве", + "ĠÐĵ еÑĢ", + "ĠÐĵе ÑĢ", + "åº Ĩ", + "Ù ¹", + "a larda", + "al arda", + "alar da", + "ĠÙ¾ رس", + "Ġپر س", + "и ÑĩеÑģкой", + "иÑĩеÑģ кой", + "Ġp him", + "Ġph im", + "Ġphi m", + "ί νη", + "ίν η", + "ä¸ĩ åĨĨ", + "i lerini", + "iler ini", + "ileri ni", + "ilerin i", + "ãĢģ 大", + "Ġo lsa", + "Ġol sa", + "æł¹ æį®", + "âĢĮ س", + "ĠTh á»§", + "r oje", + "ro je", + "roj e", + "нÑĮ оÑĹ", + "нÑĮо ÑĹ", + "Ġs lou", + "Ġsl ou", + "Ġslo u", + "ี ฬ", + "ıy orum", + "ıyor um", + "ÄĽ j", + "Ġ خبر", + "ĠØ® بر", + "è® Ĭ", + "Ġ 缸", + "ĠçĽ ¸", + "e lerinin", + "eler inin", + "eleri nin", + "elerin in", + "elerini n", + "íķĻ ëħĦëıĦ", + "íķĻëħĦ ëıĦ", + "ÑĩеÑģ кие", + "Ñĩе Ñģкие", + "ÑĩеÑģки е", + "ĠÅŁ ekl", + "ĠÅŁek l", + "Ġز ÙħاÙĨÛĮ", + "ĠزÙħاÙĨ ÛĮ", + "ĠزÙħ اÙĨÛĮ", + "Ġ xin", + "Ġx in", + "Ġxi n", + "ัà¸ģ à¸ĩาà¸Ļ", + "ĠE kim", + "ĠEk im", + "æĦ ¿", + "Ġод ной", + "Ġодно й", + "ν ή", + "æľĢ æĸ°", + "ĩ ¼", + "Ġн иж", + "Ġни ж", + "Ġ ë³¼", + "Ġë³ ¼", + "è· ij", + "Ġна пиÑģ", + "Ġнап иÑģ", + "èģ ĸ", + "Ġ âĢĮ", + "ĠâĢ Į", + "æłĩ åĩĨ", + "Ġv rát", + "Ġvr át", + "ĠV ì", + "Ġ ÙģØ±Ø§ÙĨ", + "ĠÙģ Ø±Ø§ÙĨ", + "ĠÙ쨱 اÙĨ", + "æĿ¥ çļĦ", + "å§ ¿", + "Ñħ Ñĥ", + "ĠبÛĮر ÙĪÙĨ", + "Ġд ÑĥÑĪ", + "ĠдÑĥ ÑĪ", + "в аÑİÑĤ", + "ва ÑİÑĤ", + "Ġs ebe", + "Ġse be", + "Ġseb e", + "é» ĺ", + "Ġkay ıt", + "Ġkayı t", + "Ïģ θ", + "ãģ¨ ãģ®", + "ĠпÑĢоÑĨ еÑģÑģ", + "ĠпÑĢоÑĨеÑģ Ñģ", + "æĮģ ãģ¡", + "Ñĸ на", + "Ñĸн а", + "Ġ ÑĤоÑĤ", + "ĠÑĤ оÑĤ", + "ĠÑĤо ÑĤ", + "ĠÑĤак ие", + "ĠÑĤа кие", + "The o", + "Th eo", + "ĠÙĨ ÛĮر", + "ĠÙĨÛĮ ر", + "ÑĨ Ñĥ", + "Ġay ak", + "à¸Ļ à¸Ń", + "Ġsit esinde", + "Ġsites inde", + "Ġsitesi nde", + "ĠÚ©ÙĨ ÛĮÙħ", + "ĠÑģ оÑħ", + "ĠÑģо Ñħ", + "Ġम à¤ľ", + "Ġol uyor", + "ç½ij åĿĢ", + "ĠÙ¾ زش", + "ĠE ylül", + "d Ã¼ÄŁ", + "dü ÄŁ", + "Ġبر Ø®ÛĮ", + "Ġبرخ ÛĮ", + "ĠÙħع رÙģ", + "Ġ obec", + "Ġo bec", + "Ġob ec", + "Ġobe c", + "ĠçalÄ±ÅŁ ma", + "Ġçal Ä±ÅŁma", + "ìĦ¼ íĦ°", + "ĠÑģво ÑĶ", + "оÑģÑĤ ей", + ": ::::::::::", + ":: :::::::::", + ":::: :::::::", + ":::::: :::::", + ":::::::: :::", + "::: ::::::::", + "::::: ::::::", + "::::::: ::::", + "::::::::: ::", + ":::::::::: :", + "Ġ алÑĮ", + "Ġа лÑĮ", + "Ġал ÑĮ", + "ç« Ł", + "Ġباش ÙĨد", + "اÙĦ Ø«", + "Ġнай б", + "Ġп ока", + "Ġпо ка", + "Ġпок а", + "Î ŀ", + "ĠÙĪ Ø¥", + "Ġ Ø®ÙĪØ§ÙĨ", + "ĠØ® ÙĪØ§ÙĨ", + "ĠØ®ÙĪ Ø§ÙĨ", + "à¥ģप य", + "Ġ à¹ĥห", + "ĠбÑĭ ÑģÑĤÑĢо", + "Ġth á»Ń", + "Ġthá» Ń", + "ëģ ¼", + "Ġ å¤ļ", + "Ġå¤ ļ", + "两 个", + "ม à¸ķ", + "ز ارش", + "زار Ø´", + "زا رش", + "Ġ ëŁ", + "Ġë Ł", + "य ह", + "Ñī ина", + "Ñīи на", + "Ñīин а", + "ầ ng", + "ần g", + "ï½Ĺ ï½Ĺ", + "à¹Ģà¸ŀ ลà¸ĩ", + "à¹Ģà¸ŀล à¸ĩ", + "tv rt", + "ĠÑĸн ÑĪÑĸ", + "ĠÑĸнÑĪ Ñĸ", + "λ εί", + "λε ί", + "Ġv iá»ĩn", + "Ġvi á»ĩn", + "ij ¸", + "Ġ çϽ", + "ĠçĻ ½", + "Ùİ ÙĪ", + "Ġch ứa", + "Ġchứ a", + "st vo", + "ĠdoÄŁ r", + "Ġ iler", + "Ġi ler", + "Ġil er", + "Ġile r", + "à¥ĭ ,", + "à¹ĥà¸Ļ à¸Ľ", + "Ġر ÙĪØ³Øª", + "ĠرÙĪ Ø³Øª", + "ÙĪ ÙĦÙĪ", + "ÙĪÙĦ ÙĪ", + "Å¡ lo", + "ал иÑģÑĤ", + "али ÑģÑĤ", + "åħ± åĴĮ", + "à¸ŀ ย", + "Ġ ìĻĢ", + "ĠìĻ Ģ", + "ÙĦ ÙĬÙĦ", + "ÙĦÙĬ ÙĦ", + "ĠÑı кого", + "ĠÑıк ого", + "е ÑģÑĤÑĮ", + "еÑģ ÑĤÑĮ", + "еÑģÑĤ ÑĮ", + "ĠÑĦ ин", + "ĠØ£ ÙĨÙĩ", + "ĠØ£ÙĨ Ùĩ", + "ĠMü dür", + "ĠÎĶ Î¹Î±", + "ĠÎĶι α", + "ĠÑĤ ел", + "ĠÑĤе л", + "ि ,", + "Ñĥ ки", + "Ñĥк и", + "ĠÐł Ф", + "ĠMay ıs", + "à¹Ī à¸Ńม", + "à¹Īà¸Ń ม", + "ar ken", + "ark en", + "æĢ ķ", + "ب ÛĮÙĨ", + "بÛĮ ÙĨ", + "ÑĤ аÑħ", + "ÑĤа Ñħ", + "e bo", + "eb o", + "ë³´ ì¦Ŀê¸Ī", + "ĠÙ¾ ÙĦ", + "Ġг Ñĥб", + "Ġв клÑİÑĩ", + "Ġвк лÑİÑĩ", + "æĶ¿ æ²»", + "Ġε ÏĢιÏĥ", + "ĠεÏĢ Î¹Ïĥ", + "ĠεÏĢι Ïĥ", + "ĠÙģØ§Ø± سÛĮ", + "ĠÙģØ§Ø±Ø³ ÛĮ", + "èŃ ī", + "ÏĨ η", + "( éĩij", + "ศ ร", + "åī §", + "âĢĻ ya", + "âĢĻy a", + "å¹´ 度", + "ĠÙĨ رÙħ", + "Ùĥ ÙĪÙħ", + "ÙĥÙĪ Ùħ", + "è¢ ĭ", + "Ġneden le", + "à¹īà¸Ńà¸ĩ à¸ģาร", + "à¹īà¸Ńà¸ĩà¸ģ าร", + "ãĢĮ ãģĤ", + "Ġп оÑģÑĤÑĥп", + "Ġпо ÑģÑĤÑĥп", + "ĠпоÑģÑĤ Ñĥп", + "ìľĦ ìĽIJ", + "åį ĺ", + "èİ ±", + "Ġum ož", + "p ok", + "po k", + "Ñĥ ÑģÑĤи", + "ÑĥÑģ ÑĤи", + "ÑĥÑģÑĤ и", + "Ġ éħ", + "Ġé ħ", + "ĠÑĦ Ñĸз", + "å» £", + "ิ หาร", + "Ġж ÑĥÑĢн", + "ĠдÑĸÑĤ ей", + "Ñĥ ÑİÑīие", + "ÑĥÑİ Ñīие", + "ÑĥÑİÑī ие", + "ä»Ĭ 天", + "ìĿ´ ëĿ¼ê³ł", + "ìĿ´ëĿ¼ ê³ł", + "ç² ī", + "èĴ Ļ", + "ĠDün ya", + "ĠDüny a", + "егод нÑı", + "Ġm imo", + "Ġmi mo", + "Ġmim o", + "Ġ вин", + "Ġв ин", + "Ġви н", + "ãģĿ ãģĵ", + "æ¯ ķ", + "ĠØ£ Ø®", + "Ġ åIJĮ", + "ĠåIJ Į", + "س اÙĨÛĮ", + "ساÙĨ ÛĮ", + "Ġ kah", + "Ġk ah", + "Ġka h", + "ि यर", + "िय र", + "ÏĢ Î¿ÏĤ", + "ÏĢο ÏĤ", + "j ez", + "je z", + "ÙĬ ج", + "ĠsaÄŁ lay", + "ا جÙĩ", + "اج Ùĩ", + "Ġ çł", + "Ġç ł", + "ï ľ", + "Ġج ست", + "Ġt ức", + "ư Æ¡i", + "ươ i", + "Ø´ Ùģ", + "ส à¸ķ", + "Ġ ÑĢеÑģ", + "ĠÑĢ ÐµÑģ", + "ĠÑĢе Ñģ", + "Ġ å£", + "Ġå £", + "Ġbi zim", + "Ġbiz im", + "Ġbizi m", + "Ġ ê·Ģ", + "Ġê· Ģ", + "ि ब", + "िठ¬", + "ë¡ľ ìļ´", + "ĠÑģ ÑĤал", + "ĠÑģÑĤ ал", + "ĠÑģÑĤа л", + "Ġ ÑĢÑĥÑģ", + "ĠÑĢ ÑĥÑģ", + "ĠÑĢÑĥ Ñģ", + "ĠO cak", + "ĠOc ak", + "åľ £", + "Ġ úÄįast", + "Ġú Äįast", + "ĠúÄį ast", + "ive rz", + "iver z", + "ëĤĺ ëĬĶ", + "о ÑĢоÑĤ", + "оÑĢ Ð¾ÑĤ", + "оÑĢо ÑĤ", + "Ñĩ инÑĭ", + "Ñĩи нÑĭ", + "Ñĩин Ñĭ", + "Ġihtiy aç", + "ÐĿ Ðŀ", + "ĠÐĿ ов", + "ĠÐĿо в", + "ีย à¸Ķ", + "ĠпоÑĤÑĢÑĸб но", + "Ú¯ ز", + "ĠÑģказ ал", + "ĠG ia", + "ĠGi a", + "m esini", + "mes ini", + "mesi ni", + "Ġbulun ur", + "æ¸ ¡", + "г оÑĤ", + "го ÑĤ", + "Ġh uku", + "Ġhu ku", + "ëĦ ·", + "ã Ĩ", + "Ġ اÙĥ", + "Ġا Ùĥ", + "Ġد ÙĦÛĮÙĦ", + "ĠدÙĦ ÛĮÙĦ", + "Ġ اساس", + "Ġا ساس", + "Ġاس اس", + "ìŰ 구", + "ĠÎĺ ε", + "Ġس ÙĪØ±", + "ĠسÙĪ Ø±", + "Ġ ì¢Ģ", + "Ġì¢ Ģ", + "ĠاÙĦ در", + "ĠاÙĦد ر", + "ĠÑģÑĤÑĢо иÑĤелÑĮ", + "Ġ Ñĥк", + "ĠÑĥ к", + "ĠìĻ ľ", + "е лик", + "ел ик", + "ели к", + "O VID", + "OV ID", + "Ġt emiz", + "Ġtem iz", + "äº ¦", + "Ġth iếu", + "Ġthi ếu", + "Ġп ÑĥÑĤ", + "ĠпÑĥ ÑĤ", + "Ñİ Ñīей", + "ÑİÑī ей", + "Ġur Äį", + "Ġ ÄIJây", + "ĠÄIJ ây", + "æ¥ µ", + "μ οÏħ", + "μο Ïħ", + "Ġ à¹Ģà¸Ļ", + "Ġà¹Ģ à¸Ļ", + "Ġà¹ĢภĻ", + "е веÑĢ", + "ев еÑĢ", + "Âł ÐĶ", + "ì ´Ŀ", + "ì´ Ŀ", + "è¶ £", + "Ġà¤ħ लà¤Ĺ", + "Ġà¤ħल à¤Ĺ", + "ưá»Ŀ n", + "Ġ ãĥŃ", + "Ġãĥ Ń", + "Ġ ê³³", + "Ġê³ ³", + "é² ģ", + "Ġرس ÛĮد", + "身 ä½ĵ", + "ั à¸ĵà¸ij", + "y nÃŃ", + "yn ÃŃ", + "ج ات", + "جا ت", + "ì§Ģ 를", + "न ल", + "ì ķĮ", + "ìķ Į", + "Ñĸ п", + "Ġv Ãłng", + "ĠvÃł ng", + "Ġпл оÑī", + "Ġпло Ñī", + "оз мож", + "åī ²", + "Ġth ảo", + "л ади", + "ла ди", + "лад и", + "Ġ åĿ", + "Ġå Ŀ", + "ĠÐľ и", + "Ġдел аÑĤÑĮ", + "Ġдела ÑĤÑĮ", + "é ij", + "Ġh uy", + "Ġhu y", + "ا ÛĮØ·", + "اÛĮ Ø·", + "Ġпов ÑĤоÑĢ", + "ü len", + "ül en", + "üle n", + "Ġ ÙĪÙģ", + "ĠÙĪ Ùģ", + "ĠÙĬ تÙħ", + "ĠÙĬت Ùħ", + "ĠÑĢеж им", + "Ġ ìºIJ", + "Ġìº IJ", + "ĠÃĩ ünkü", + "ع دد", + "عد د", + "ни веÑĢ", + "нив еÑĢ", + "ĠÐĿ ик", + "å¸ ĸ", + "Ïį ÏĢ", + "an lar", + "س تÛĮ", + "ست ÛĮ", + "Ġbulun maktadır", + "à¹ģ à¸ļ", + "v ek", + "ve k", + "Ġгла за", + "Ġглаз а", + "å¹ ħ", + "Ġúda j", + "Ġг ÑĢо", + "ĠгÑĢ Ð¾", + "Ġкон кÑĥÑĢ", + "Ġd ůležit", + "Ġdů ležit", + "Ġ Ø·ÙĪØ±", + "ĠØ· ÙĪØ±", + "à¸ĺ าà¸Ļ", + "ĠÙĦ ÙĥÙĨ", + "ĠÙĦÙĥ ÙĨ", + "ر ÙĤ", + "Ðļ ÐIJ", + "Ġ éĿĴ", + "ĠéĿ Ĵ", + "Ġ ìĤ¬ëŀij", + "ĠìĤ¬ ëŀij", + "ĠÑħ воÑĢ", + "ĠÑħв оÑĢ", + "s unuz", + "sun uz", + "ĠÙħØ´ خص", + "éĻ ¸", + "Ġ ढ", + "Ġठ¢", + "Ġv az", + "Ġva z", + "交 æĺĵ", + "ĠÑĤеÑĢ ÑĢиÑĤ", + "ÑĩеÑģ кой", + "Ñĩе Ñģкой", + "ี à¹Ĥ", + "rop oda", + "ıl dıģı", + "ıldı ģı", + "Ġ ëī´", + "Ġë ī´", + "íķĻ ê¸°", + "ë³´ íĹĺ", + "Ġз аÑĤем", + "ĠзаÑĤ ем", + "Âł в", + "ãĥ¼ ãĥĨ", + "ãĥ¼ãĥ Ĩ", + "Ġ ÐŀÑģнов", + "ĠÐŀÑģ нов", + "ãĨ į", + "Ġد ع", + "ÐŁ оÑģ", + "ÐŁÐ¾ Ñģ", + "æ² ī", + "Ġ лож", + "Ġл ож", + "ç͵ åŃIJ", + "Ġ رد", + "Ġر د", + "ĠÑģ ÑĢазÑĥ", + "e jte", + "ej te", + "Ġà¤ij फ", + "Ġt Ãłu", + "ÃŃ k", + "lan ması", + "lanma sı", + "к аÑĤ", + "ка ÑĤ", + "าà¸ģ าศ", + "ãĤ¢ ãĤ¤", + "ÏĦ ιο", + "ÏĦι ο", + "Ġ å§", + "Ġå §", + "प त", + "E Y", + "Ġj mé", + "Ġjm é", + "Ġod kazy", + "Ġê°ľ ìĿ¸", + "éģ ¿", + "bÄĽ h", + "Ðł Ðŀ", + "çĥ Ī", + "Ġza rar", + "Ġzar ar", + "Ú¯ ÙĪÙĨÙĩ", + "Ú¯ÙĪ ÙĨÙĩ", + "Ġtr ì", + "Ġm ại", + "ен нÑĭм", + "ĠÑį коном", + "ĠÑįк оном", + "éĽ £", + "Ġ íĦ", + "Ġí Ħ", + "æİ ī", + "Ġs oru", + "Ġso ru", + "Ġsor u", + "ĠФедеÑĢа ÑĨии", + "ĠÑģиÑģÑĤем и", + "æĸĻ çĦ¡æĸĻ", + "Ġà¤ķ à¤Ń", + "ĠÙĩ ÙĨد", + "ĠÙĩÙĨ د", + "ุà¸ĩ à¹Ģà¸Ĺà¸ŀ", + "ĠOsman lı", + "ĠпÑĢод олж", + "Ġ ÙĪÙĦا", + "ĠÙĪ ÙĦا", + "ĠÙĪÙĦ ا", + "ĠÄįlán ku", + "Ġa dım", + "Ġad ım", + "Ġadı m", + "ĠÏĢ Î±Ïģά", + "ĠÏĢαÏģ ά", + "ĠÏĢα Ïģά", + "Ġzá ÅĻÃŃ", + "Ġ à¸Īำà¸ģ", + "Ġà¸Īำ à¸ģ", + "Ġп ен", + "m enin", + "me nin", + "men in", + "meni n", + "Ġìĺ¤ ëĬĺ", + "em iz", + "emi z", + "οÏį ÏĤ", + "- स", + "íķĺ ìĭľ", + "ĠÑħ ви", + "ĠÑħв и", + "ãĤ° ãĥ©", + "Ġп оÑĪ", + "Ġпо ÑĪ", + "ĠÐŀдна ко", + "ĠÐŀднак о", + "Ñĸд но", + "íĺ ľ", + "Ñī ими", + "Ñīи ми", + "Ñīим и", + "èĥ ¸", + "Ġİ lk", + "Ġİl k", + "m ey", + "me y", + "Ġз да", + "Ġзд а", + "κ λη", + "а лом", + "ал ом", + "ало м", + "à¹Ģศ ษ", + "ا ÙĨا", + "اÙĨ ا", + "Ġ ÎŁÎ¹", + "ĠÎŁ ι", + "Ġ åıĮ", + "Ġåı Į", + "ี à¸Ĥ", + "Ġ بس", + "Ġب س", + "è§Ħ å®ļ", + "i say", + "is ay", + "isa y", + "uk arı", + "uka rı", + "æµģ éĩı", + "v ÃŃm", + "vÃŃ m", + "λ Ïİ", + "ä¹ Ļ", + "Ġल ड", + "ĠÙĨد ارد", + "ĠÙĨدار د", + "е ÑĢом", + "еÑĢ Ð¾Ð¼", + "еÑĢо м", + "Ġsır asında", + "Ġsıras ında", + "Ġsıra sında", + "Ġr Äĥng", + "Æ¡ m", + "Ġl ạnh", + "Ġlạ nh", + "ठĥ", + "à¥ģ ण", + "à¥ģठ£", + "uz ey", + "uze y", + "Ġ Ñĥва", + "ĠÑĥ ва", + "ĠÑĥв а", + "vÄĽ d", + "Ñĭ Ñģ", + "Ġ κι", + "Ġκ ι", + "Ñ ķ", + "ÛĮ ا", + "à¸ĩ à¸Ħ", + "ph ylum", + "phy lum", + "phyl um", + "Ġber aber", + "ี à¸Ķ", + "æµ ®", + "ा सन", + "ास न", + "o vice", + "ov ice", + "ovic e", + "ovi ce", + "è¦ §", + "Ġस फ", + "å°ij 女", + "ан ÑĤи", + "анÑĤ и", + "é¨ ĵ", + "Ġso át", + "é¬ ¼", + "lan mÄ±ÅŁ", + "Ġb ếp", + "ÙIJ ÙĦ", + "Ġsay ısı", + "Ġsayı sı", + "ĠÙĤ دÙħ", + "ĠÙĤد Ùħ", + "à¥Ī म", + "ह म", + "ĠÑĢ Ñĥки", + "ĠÑĢÑĥ ки", + "ĠÑĢÑĥк и", + "ĠصÙģ ØŃÙĩ", + "Å¡ ky", + "Å¡k y", + "é» Ĵ", + "èģ ļ", + "ãģĭ ãģ«", + "Ġs âu", + "ед аг", + "ĠÑģÑĤоÑĢ Ð¾Ð½Ñĭ", + "ĠÑģÑĤоÑĢон Ñĭ", + "Ġ ruk", + "Ġr uk", + "Ġru k", + "âĢĮ âĢĮ", + "ĠØ¢ ÙĪØ±", + "Ġع دÙħ", + "Ġعد Ùħ", + "õ i", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "Ġبا زار", + "Ġباز ار", + "Ġe deb", + "Ġed eb", + "Ġv ÄįetnÄĽ", + "оп аÑģ", + "Ġн ег", + "Ġне г", + "m ayan", + "ma yan", + "may an", + "maya n", + "к оÑģÑĤÑĮ", + "ко ÑģÑĤÑĮ", + "Ġsv ůj", + "ÄŁ ında", + "ģı nda", + "ģın da", + "ذ ÛĮر", + "M á»Ļt", + "Ð Ħ", + "Ġyap tı", + "ि थ", + "िठ¥", + "ĠÙħ Ùĩر", + "ĠÙħÙĩ ر", + "Ġд оÑģÑĤи", + "Ġдо ÑģÑĤи", + "ĠдоÑģÑĤ и", + "ĠдоÑģ ÑĤи", + "Ġ صÙĪØ±", + "Ġص ÙĪØ±", + "m esine", + "mes ine", + "mesi ne", + "ĠD ân", + "ä¸Ģ ä¸ĭ", + "çį İ", + "ĠÐľ иÑħ", + "ĠÐľÐ¸ Ñħ", + "Ġо Ñĩи", + "ĠоÑĩ и", + "ãĤ¦ ãĤ§", + "Ġ ÑĸÑģ", + "ĠÑĸ Ñģ", + "Ġgi ác", + "Ġgiá c", + "åľ¨çº¿ è§Ĥçľĭ", + "Ġاد اÙħÙĩ", + "ÑĨ ов", + "ÑĨо в", + "Ġ комÑĥ", + "Ġк омÑĥ", + "Ġком Ñĥ", + "Ġко мÑĥ", + "Ġİng iliz", + "Ġг ÑĢаж", + "ĠгÑĢа ж", + "ĠгÑĢ Ð°Ð¶", + "ãģ¦ ãĤĤ", + "Ġch ữ", + "олÑĮ кÑĥ", + "m ÄĽt", + "mÄĽ t", + "Ñıг ом", + "Ñĩ аÑģÑĤ", + "Ñĩа ÑģÑĤ", + "ÑĩаÑģ ÑĤ", + "ìĸ ¼", + "Ġkh óa", + "Ġkhó a", + "ĠÐIJ д", + "ĠØ¢ ÙĤ", + "Ġkurul uÅŁ", + "ά ζ", + "Ġж ов", + "Ġв ÑģÑĤÑĢе", + "ĠвÑģÑĤ ÑĢе", + "ĠÙĪ ÙĦÙĥ", + "ĠÙĪÙĦ Ùĥ", + "Ġt uyá»ĩt", + "y ı", + "Ġ ÐĴо", + "ĠÐĴ о", + "Ġv á»įng", + "Ġvá» įng", + "ع ÙĬØ©", + "عÙĬ Ø©", + "Ġop ÄĽt", + "ا ÙĬد", + "اÙĬ د", + "à¥Ī .Ċ", + "à¥Ī. Ċ", + "ĠÑģ ами", + "ĠÑģам и", + "åª Ĵ", + "Ġsv ých", + "ĠëĤĺ íĥĢ", + "ìĨ IJ", + "Ġ ÙĦع", + "ĠÙĦ ع", + "Ġet kin", + "Ġetk in", + "Ġetki n", + "ĠN á", + "Ġsou tÄĽ", + "Ġsout ÄĽ", + "층 ìĿĺ", + "Ġ çŃī", + "ĠçŃ ī", + "Ġر سÙħ", + "Ġرس Ùħ", + "Ġ خاÙĨÙĩ", + "ĠØ® اÙĨÙĩ", + "ĠخاÙĨ Ùĩ", + "Ġ å®¶", + "Ġå® ¶", + "iá» ģm", + "iá»ģ m", + "ëħ IJ", + "ê° Ī", + "ì° ©", + "ž il", + "ži l", + "ÑģÑĤиÑĤ ÑĥÑĤ", + "ÑģÑĤиÑĤÑĥ ÑĤ", + "or uÄį", + "oru Äį", + "ĠØ¥ ذا", + "Ġإذ ا", + "à¹Ħ à¸Ĥ", + "ี à¸Ĭ", + "ÑĢ Ð°Ð±", + "ÑĢаР±", + "ÑĢа б", + "íķĻ ìĥĿ", + "Ġ ìī", + "Ġì ī", + "r nek", + "rn ek", + "rne k", + "Ġاست خداÙħ", + "ãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ãĢĢĠ ãĢĢĠãĢĢĠãĢĢ", + "Ġв Ñģем", + "ĠвÑģ ем", + "ĠвÑģе м", + "Ġìłķ ëıĦ", + "Ġvy j", + "éĢ ±", + "алÑĮ ное", + "алÑĮно е", + "Ġch uyá»ĩn", + "ì§Ģ ìĽIJ", + "i lerine", + "ile rine", + "iler ine", + "ileri ne", + "ilerin e", + "ĠìķĦ 무", + "Ġок оло", + "ाव न", + "à¸Ļ า", + "о пÑĢи", + "оп ÑĢи", + "d rž", + "dr ž", + "ĠÑģÑĥ ÑģпÑĸлÑĮ", + "Ġب Ùĥ", + "u ky", + "uk y", + "Ġ ÏĩÏī", + "ĠÏĩ Ïī", + "Ġtu ần", + "nict vÃŃ", + "Ġ ÙĩدÙģ", + "ĠÙĩد Ùģ", + "Ġch iá»ģu", + "ÎĹ ÎĿ", + "å°ı å§IJ", + "íķĺ ìĺĢ", + "Ġk las", + "Ġkl as", + "Ġkla s", + "á»Ļ n", + "ĠìĿ´ íĽĦ", + "ÙĨ اÙħج", + "ÙĨا Ùħج", + "ÙĨاÙħ ج", + "Äį ast", + "Äįas t", + "ĠاÙĦ خاص", + "ĠاÙĦØ® اص", + "l Ä±ÅŁ", + "lı ÅŁ", + "Ġع Ùħر", + "ĠعÙħ ر", + "ãĢį Ċ", + "иб олее", + "ãĤĬ ãģ®", + "ãħ ł", + "ä¹Ł ä¸į", + "к ÑĢеÑĤ", + "Ġ ìĶ", + "Ġì Ķ", + "ÏĦ ια", + "ÏĦι α", + "ĠÑĥпÑĢав лÑĸннÑı", + "æ² ¢", + "Ġk esin", + "Ġke sin", + "Ġkes in", + "ì¡Į ëĭ¤", + "머 ëĭĪ", + "羣 çļĦ", + "Ġbak ım", + "æĿ± 京", + "¾ ¸", + "ÙħÙĦ ÙĥØ©", + "оÑĤ ÑĢеб", + "d ın", + "dı n", + "Ġ PÅĻi", + "ĠP ÅĻi", + "ĠPÅĻ i", + "Ġm ÄĽli", + "ĠmÄĽ li", + "ĠmÄĽl i", + "Ġδη μο", + "å ¯¸", + "å¯ ¸", + "ĠÙĪ ÙĥاÙĨ", + "ĠÙĪÙĥ اÙĨ", + "Ġप ढ", + "ĠвеÑĢ Ñħ", + "Ġе Ñij", + "C ách", + "Các h", + "ä½ľ 为", + "ĠÐļ ол", + "ĠÐļо л", + "Ġ ве", + "Ġв е", + "Ġ деÑĢж", + "Ġд еÑĢж", + "ĠдеÑĢ Ð¶", + "em oc", + "emo c", + "ãģ¸ ãģ®", + "Ġ аÑĢÑħ", + "ĠаÑĢ Ñħ", + "Ġk iếm", + "Ġ æĺİ", + "Ġæĺ İ", + "ĠлÑİд ини", + "ĠлÑİди ни", + "ë ·", + "ĠÙĪ Ø§ÙĦت", + "ĠÙĪØ§ÙĦ ت", + "ĠÙĪØ§ ÙĦت", + "Ġ è°", + "Ġè °", + "çģ ¯", + "íĻ ķ", + "Ġ구 매", + "Ġ ç§ij", + "Ġç§ ij", + "it nÃŃ", + "и ÑĩеÑģкие", + "иÑĩеÑģ кие", + "иÑĩеÑģки е", + "ĠÙĨ Ù쨳", + "ĠÙĨÙģ Ø³", + "Ġت ÙĦÙģ", + "ĠتÙĦ Ùģ", + "ا ÙģÛĮ", + "اÙģ ÛĮ", + "ĠØŃ سÙĨ", + "ĠØŃس ÙĨ", + "âĸ¡ âĸ¡", + "ý vá", + "ýv á", + "ÄŁ ın", + "ģı n", + "ıyor uz", + "ĠCh ÃŃ", + "ĠÙ¾ÚĺÙĪÙĩ Ø´", + "Ġ ÏĦÎŃ", + "ĠÏĦ ÎŃ", + "ĠÏĥ Ïĩε", + "ĠÏĥÏĩ ε", + "о леÑĤ", + "ол еÑĤ", + "α ιδ", + "αι δ", + "Ġh ạt", + "Ġhạ t", + "à¸ł าà¸Ħ", + "åĨ °", + "Ġrych le", + "it eli", + "ite li", + "itel i", + "Âł z", + "ย à¸ģ", + "æ¨ ¹", + "Ġج ÙĪØ§ÙĨ", + "ĠجÙĪ Ø§ÙĨ", + "æĺ Į", + "Ġü retim", + "Ġür etim", + "Ġüret im", + "ระ à¸ļ", + "à¸Ľà¸£à¸° ม", + "ά Ïĥ", + "å² ©", + "ĠÑĥ ÑģÑĤÑĢой", + "ĠÑĥÑģÑĤ ÑĢой", + "Ġver ilen", + "Ġveri len", + "ich ni", + "ĠpÅĻÃŃ mo", + "ĠpÅĻÃŃm o", + "ĠاÙĦذÙĩ اب", + "ì½ ľ", + "æľ ±", + "Ġس Ø®", + "Ñĸ ла", + "Ñĸл а", + "Ñĥ ма", + "Ñĥм а", + "ห า", + "ÛĮ دا", + "ÛĮد ا", + "å² ¸", + "ä¸Ģ å®ļ", + "Ġ ä¼ļ", + "Ġ ÐŁÑĸд", + "ĠÐŁ Ñĸд", + "Ġ ÑĩиÑĤ", + "ĠÑĩ иÑĤ", + "ĠÑĩи ÑĤ", + "и Ñİ", + "Ġ ÐĹап", + "ĠÐĹ Ð°Ð¿", + "ĠÐĹа п", + "ÑĤ иÑı", + "ÑĤи Ñı", + "Ġ ê°ľë°ľ", + "Ġê°ľ ë°ľ", + "ĠÑĤе оÑĢ", + "Ñı ÑģÑĮ", + "ÑıÑģ ÑĮ", + "ĠpÅĻÃŃ prav", + "( åľŁ", + "Ùħ ÙĬ", + "ĠpÅĻed evÅ¡ÃŃm", + "ĠTem muz", + "Ġпод деÑĢж", + "Ġнед оÑģÑĤаÑĤ", + "ĠìĿ´ ìľł", + "Ġkhá»ı i", + "ĠاÙĦ تØŃ", + "ĠاÙĦت ØŃ", + "ĠÙħÙħ Ú©ÙĨ", + "Ġv hod", + "Ġvh od", + "ев ой", + "ево й", + "о вал", + "ов ал", + "ова л", + "Ġн алеж", + "Ġна леж", + "Ġнал еж", + "ï¼¼ :", + "ย ะ", + "ĠÙħ اشÛĮÙĨ", + "Ġg á»Ńi", + "al ım", + "alı m", + "Ġìµľ ìłĢ", + "Ùij Ùĩ", + "á»Ļ p", + "à¥Ģ ।Ċ", + "à¥Ģ। Ċ", + "Ġ пиÑģ", + "Ġп иÑģ", + "Ġпи Ñģ", + "Ġ вÑģÑı", + "Ġв ÑģÑı", + "ĠвÑģ Ñı", + "Ñĩ ем", + "Ñĩе м", + "o zenÃŃ", + "oz enÃŃ", + "oze nÃŃ", + "Ġ äºļæ´²", + "Ġäºļ æ´²", + "е ÑĢалÑĮ", + "еÑĢ Ð°Ð»ÑĮ", + "еÑĢа лÑĮ", + "기 ëĬĶ", + "Ġп ÑĢез", + "ĠпÑĢ ÐµÐ·", + "ĠпÑĢе з", + "ĠعÙħ ÙĪÙħÛĮ", + "и ÑĩниÑħ", + "иÑĩ ниÑħ", + "Ġ æ²³", + "Ġæ² ³", + "od nÃŃ", + "åıª æĺ¯", + "Ġpo dp", + "Ġpod p", + "à¹īà¸Ńà¸ĩ à¸ŀ", + "ाय द", + "ाà¤ĩ ल", + "ล à¸Ķ", + "ĠÑĢÑĸÑĪ ÐµÐ½Ð½Ñı", + "Ġ ÑĤÑĥÑĢ", + "ĠÑĤ ÑĥÑĢ", + "ĠÑĤÑĥ ÑĢ", + "ÑģÑĮ кÑĥ", + "ÑģÑĮк Ñĥ", + "Ġsal dır", + "ĠÐĽ ÑĮв", + "ãĢģ Ċ", + "ĠÙ¾ÛĮ ÙĪÙĨد", + "åѦ ä¹ł", + "λ Ïī", + "o vit", + "ov it", + "ovi t", + "ü le", + "ül e", + "女 æĢ§", + " Ł", + "e mez", + "em ez", + "eme z", + "Ġh ale", + "Ġha le", + "Ġhal e", + "âī ¦", + "ĠÎķ κ", + "ÏĦηγοÏģ ία", + "k ý", + "ìĦ± ìĿĦ", + "Ġt ým", + "Ġtý m", + "à¥ĩ -", + "Ġz ejména", + "æĻ ¶", + "Ġn gon", + "Ġng on", + "ãĢı ĊĊ", + "软 ä»¶", + "éĤ£ ä¹Ī", + "ĠкваÑĢ ÑĤи", + "ĠÙħÙĨ ظ", + "on ec", + "one c", + "Ġг ли", + "à¥ģर à¤ķ", + "ĠS okol", + "ĠSo kol", + "ĠSok ol", + "Ġ ä¿Ŀ", + "д ив", + "ди в", + "ál nÃŃm", + "áln ÃŃm", + "álnÃŃ m", + "ac aģı", + "aca ģı", + "acaÄŁ ı", + "a ÅŁa", + "aÅŁ a", + "ĠÙħ اÙĦÛĮ", + "ĠÙħا ÙĦÛĮ", + "ĠÙħاÙĦ ÛĮ", + "ĠÃĸ n", + "иÑĤ ели", + "иÑĤе ли", + "ĠØ® رد", + "Ġخر د", + "Ġkullan ıl", + "Ġkullanı l", + "Ġ ÙħÛĮÙĦ", + "ĠÙħ ÛĮÙĦ", + "ĠÙħÛĮ ÙĦ", + "Ġ íļ¨", + "Ġíļ ¨", + "ã n", + "Ġ rost", + "Ġr ost", + "Ġro st", + "Ġros t", + "Ġëĸ ł", + "u bat", + "ub at", + "uba t", + "Ġ åıĤ", + "Ġåı Ĥ", + "Ġبر اÙĬ", + "Ġм енÑĮ", + "Ġмен ÑĮ", + "ั à¸Ħร", + "ัà¸Ħ ร", + "Ġпом ог", + "ĠØŃض ÙĪØ±", + "Ġthá»ĭ t", + "ä¹ ³", + "Ġ ìĭłì²Ń", + "Ġìĭł ì²Ń", + "Ġíĺ Ħìŀ¬", + "ĠíĺĦ ìŀ¬", + "Ġ ë¹ł", + "Ġë¹ ł", + "вÑĢоп ей", + "Ġne jen", + "Ġnej en", + "Ñĸ ка", + "Ñĸк а", + "Ġ ìļ¸", + "Ġìļ ¸", + "ĠÙħ بار", + "ĠÙħب ار", + "Ġ Äįek", + "ĠÄį ek", + "ĠÄįe k", + "Ġk alk", + "Ġka lk", + "Ġkal k", + "Ġ amac", + "Ġa mac", + "Ġam ac", + "Ġama c", + "اد ت", + "ĠÙħ اسÙĩ", + "ĠÙħا سÙĩ", + "Ġarasında ki", + "Ġaras ındaki", + "Ġб еÑģ", + "ĠоÑĤд елÑĮ", + "ĠоÑĤдел ÑĮ", + "á½ ¶", + "ĠΤ ζ", + "v yk", + "vy k", + "ج ÙĨ", + "» ê²Į", + "ĠниÑĩ его", + "ĠØ´ اÙħÙĦ", + "ĠÑĥÑģловиÑı Ñħ", + "la ması", + "lam ası", + "lama sı", + "è½ ī", + "ç¾ ½", + "Ġж ид", + "ĠоÑĤ ноÑģ", + "ĠздÑĸйÑģ нÑİ", + "Ġ VỼi", + "ĠV Ỽi", + "ÙĪ ÙĦÛĮ", + "ÙĪÙĦ ÛĮ", + "Ġt isÃŃ", + "Ġti sÃŃ", + "ĠÏĩ ÏģÏĮ", + "Ġprac ovnÃŃ", + "Ġpracov nÃŃ", + "ĠÙĬ ÙĥÙĪÙĨ", + "ĠÙĬÙĥ ÙĪÙĨ", + "Ġb eÅŁ", + "Ġbe ÅŁ", + "ج ز", + "ั à¸ļร", + "ัà¸ļ ร", + "ĠYön et", + "Ġشر اÛĮØ·", + "ĠتÙĪØ³ عÙĩ", + "çĹ ĩ", + "à¸ĩ à¹Ģà¸Ľ", + "ä¸Ģ 次", + "ĠÐłÐ¾ÑģÑģий Ñģкой", + "æľĢ é«ĺ", + "Ġsp olu", + "Ġspo lu", + "Ġspol u", + "д аеÑĤÑģÑı", + "да еÑĤÑģÑı", + "даеÑĤ ÑģÑı", + "Ñĸ ÑĤÑĥ", + "ÑĸÑĤ Ñĥ", + "Ġоб ÑĢаÑĤ", + "ĠобÑĢа ÑĤ", + "e nek", + "en ek", + "ene k", + "Ġ mek", + "Ġm ek", + "Ġme k", + "å¦ Ī", + "Ġдоп олниÑĤелÑĮ", + "Ġ ç²", + "Ġç ²", + "ĠÙĦ ÙĦت", + "ĠÙĦÙĦ ت", + "ĠHaz iran", + "æ¸ Ī", + "à¹Į à¸Ĥà¸Ńà¸ĩ", + "ĠÑĦ он", + "Ġê²ĥ ìľ¼ë¡ľ", + "Ġnh é", + "Ġbu gün", + "Ġbug ün", + "ov ém", + "ové m", + "Ġза веÑĢ", + "Ġзав еÑĢ", + "Ġд виг", + "Ġдв иг", + "Ġдви г", + "ä¼ Ļ", + "Ġnu ôi", + "меÑĢ Ð¸Ðº", + "ме ÑĢик", + "ĠÙĨÙħ ÙĪÙĨÙĩ", + "èį ·", + "Ñĥ вала", + "Ñĥв ала", + "Ñĥва ла", + "ç¿ »", + "Ġs ân", + "ог оÑİ", + "ого Ñİ", + "ا سÙĬØ©", + "اس ÙĬØ©", + "اسÙĬ Ø©", + "Ñĥн кÑĤ", + "Ñĥнк ÑĤ", + "á nÃŃm", + "án ÃŃm", + "ánÃŃ m", + "ен ное", + "енно е", + "Ġph út", + "Ġ मर", + "Ġम र", + "ĠاÙĦ ÙĪØ·", + "ĠاÙĦÙĪ Ø·", + "Ġлег ко", + "Ġ ãĢĭ", + "ĠãĢ ĭ", + "ë¡ľ ëĵľ", + "ĠKas ım", + "ÙĬ ÙĦÙĬ", + "ÙĬÙĦ ÙĬ", + "ĠbaÄŁlantı lar", + "ĠÑĤ ÑĢÑĥд", + "ĠÑĤÑĢ Ñĥд", + "ĠÑĤÑĢÑĥ д", + "Ø· Ùĩ", + "Ġk vůli", + "ÑģÑĤ оÑı", + "Ġsat Ä±ÅŁ", + "Ġh áºŃu", + "ĠبÙĩ ترÛĮÙĨ", + "ĠبÙĩتر ÛĮÙĨ", + "ĠÑģ елÑĮ", + "ĠÑģел ÑĮ", + "ั à¸Ļว", + "ัà¸Ļ ว", + "o su", + "os u", + "य न", + "åĽ ³", + "ι δ", + "ÛĮ تÛĮ", + "ÛĮت ÛĮ", + "ĠQu áºŃn", + "Ġ ей", + "Ġе й", + "à¹Ģว ลา", + "à¹Ģวล า", + "ìĬ¤ íĥĢ", + "ìĤ¬ 를", + "Ġا ÙĩÙĦ", + "ĠاÙĩ ÙĦ", + "η γ", + "Ġk á»·", + "Ġká» ·", + "Ġ наÑĤ", + "Ġн аÑĤ", + "Ġна ÑĤ", + "âĢ ¡", + "Ñĸ ÑĩниÑħ", + "ÑĸÑĩ ниÑħ", + "ĠÑĢазвиÑĤи Ñı", + "ĠÑĢазви ÑĤиÑı", + "e cial", + "ec ial", + "eci al", + "ĠÑħ озÑı", + "в аеÑĤ", + "ва еÑĤ", + "ĠÄIJ á»Ļ", + "ĠÄIJá» Ļ", + "Ġ éĵ", + "Ġé ĵ", + "Ġok am", + "ĠвÑģ ÑĸÑħ", + "ĠвÑģÑĸ Ñħ", + "ĠPr aze", + "ĠPra ze", + "ë¥ ł", + "ι κα", + "ικ α", + "æ¬ ²", + "Ġgerçek leÅŁ", + "ç¥ ĸ", + "Ġод ним", + "Âł M", + "Ġre nk", + "Ġr enk", + "Ġren k", + "Ġल à¤ķ", + "ãĥķ ãĤ§", + "ãĥķãĤ §", + "ĠÙĨ زد", + "å¹ »", + "Ġúzem ÃŃ", + "æı ¡", + "а лиÑģÑı", + "али ÑģÑı", + "Ġ ÃĶ", + "Ġà Ķ", + "Ġy orum", + "Ġyo rum", + "ĠÏĢ ÏģÏī", + "ãĥ³ ãĥĩ", + "ãĥ³ãĥ ĩ", + "éĸĭ å§ĭ", + "ãĥ¼ ãĥª", + "ãĥ¼ãĥ ª", + "Ġìĸ¼ êµ´", + "Û± Û±", + "Û±Û ±", + "lü ÄŁÃ¼", + "lÃ¼ÄŁ ü", + "ÙĨ Ø´", + "à¹Ī ำ", + "èĽ ĭ", + "ĠØ£ د", + "ĠW illi", + "ĠWill i", + "ĠWil li", + "ĠWi lli", + "èª ²", + "Ġsür dür", + "ĠEx ternÃŃ", + "Ġp ůvod", + "Ġpů vod", + "ĠØ® اÙĨÙĪ", + "ĠخاÙĨ ÙĪ", + "ĠкоÑĤоÑĢ Ð¾Ðµ", + "Ġm ohl", + "Ġmo hl", + "Ġmoh l", + "Ġs tÄĽ", + "Ġst ÄĽ", + "åĩ ı", + "ìĤ ¼", + "aban cı", + "à¹ģ à¸Ļ", + "สำ à¸Ħ", + "æĤ £", + "ab ilece", + "abil ece", + "abile ce", + "éĺ³ åŁİ", + "Îij Îļ", + "Ġch ữa", + "Ġchữ a", + "ĠìķĦ ëĭ", + "طبÙĬ ÙĤ", + "طب ÙĬÙĤ", + "ÎĻ ÎŁÎ¥", + "ÎĻÎŁ Î¥", + "ÑĢ Ð¾Ð²Ð°Ð½Ð¸Ðµ", + "ÑĢов ание", + "ÑĢо вание", + "ÑĢован ие", + "ÑĢова ние", + "åĩ ½", + "Ġ ì¼", + "Ġì ¼", + "ÑĢ Ð¾ÑĦ", + "ÑĢо ÑĦ", + "à¹ĩ à¸Ļส", + "à¹ĩà¸Ļ ส", + "Ġ ãĤ¦", + "ĠãĤ ¦", + "ï¼ļ ãĢĮ", + "á»ĭ a", + "Ġ hPa", + "Ġh Pa", + "m anı", + "man ı", + "ál nÃŃho", + "álnÃŃ ho", + "ÙĪ ØªÛĮ", + "ÙĪØª ÛĮ", + "ĠлеÑĩ ениÑı", + "j te", + "jt e", + "- д", + "åħ¨ åĽ½", + "ĠбÑĥд Ñĸв", + "Ġz atÃŃm", + "Ġzat ÃŃm", + "Ġ öyle", + "Ġö yle", + "ìĿ´ ê°Ģ", + "s tal", + "st al", + "sta l", + "i vatel", + "iv atel", + "ivate l", + "iva tel", + "Ġ æľª", + "Ġpož ad", + "ĠÑģ ни", + "Ġpos lednÃŃ", + "Ġposled nÃŃ", + "ĠÑģÑĤ анд", + "ĠÑģÑĤан д", + "ĠÑģÑĤа нд", + "à¥Ģ à¤ıम", + "à¥Ģà¤ı म", + "Ġ عکس", + "Ġع کس", + "ÑĢ Ð¸Ñı", + "ÑĢи Ñı", + "ã y", + "á»ĭ p", + "Ġo kul", + "Ġok ul", + "Ġoku l", + "à¸ĩ หมà¸Ķ", + "Ġвоз ник", + "m ÃŃ", + "ç§ Ł", + "ĠÄij á»ijc", + "Ġp odÃŃ", + "Ġpo dÃŃ", + "Ġpod ÃŃ", + "ĠÅĻÃŃ j", + "ĠÑĤак Ñĸ", + "ĠÑĤа кÑĸ", + "à¸ļ าà¸Ĺ", + "Ġ 보기", + "Ġë³´ 기", + "ล า", + "еÑģ ÑĤо", + "еÑģÑĤ о", + "Ġ ç͍", + "и нÑĭ", + "ин Ñĭ", + "ĠÑĢ ÑĥÑħ", + "ĠÑĢÑĥ Ñħ", + "ĠÑĢаÑģп олож", + "Ñī еннÑı", + "Ġc á»Ń", + "à¹ī à¸ļร", + "à¥įयव स", + "ï¾ ļ", + "Ġд алÑĮ", + "Ġда лÑĮ", + "Ġдал ÑĮ", + "Ġض د", + "ÙĦ ÙĬØ©", + "ÙĦÙĬ Ø©", + "ĠкоÑĤоÑĢ Ð¾Ð³Ð¾", + "Ġd ve", + "Ġdv e", + "Ġnh ạc", + "ÑĦ Ñĸка", + "ÑĦÑĸ ка", + "ÑĦÑĸк а", + "à¥Ī à¤Ł", + "èĩª çͱ", + "Ġпо ÑĢÑĥÑĪ", + "ĠпоÑĢ ÑĥÑĪ", + "æľĭ åıĭ", + "Ġd ört", + "Ġdö rt", + "ĠÑĢаÑģп ÑĢоÑģÑĤ", + "ãģ§ ãģ¯ãģªãģĦ", + "ãģ§ãģ¯ ãģªãģĦ", + "ĠпеÑĢ ÐµÐ³", + "ĠпеÑĢе г", + "Ġ ánh", + "Ġá nh", + "Ġán h", + "ĠV ÃŃ", + "ظ Ù¹", + "à¥į रण", + "à¥įर ण", + "Ġb ilim", + "Ġbi lim", + "Ġbil im", + "Ġlid é", + "Ġd ÃŃky", + "ĠdÃŃ ky", + "ĠÄIJ á»ĵng", + "Ġ εÏģγ", + "Ġε Ïģγ", + "Ġzn ovu", + "Ïĥ ια", + "Ïĥι α", + "Ñ ŀ", + "स à¤Ń", + "e kk", + "ek k", + "Ġμε ÏĦά", + "ÑģÑĤ иÑĩ", + "ÑģÑĤи Ñĩ", + "ÛĮ ÙĨÚ¯", + "ÛĮÙĨ Ú¯", + "ĠÑıв лÑıÑİÑĤÑģÑı", + "Ġ 建", + "Ġå» º", + "Ïĥ Ïĥα", + "ÏĥÏĥ α", + "ав лива", + "à¸ģ รม", + "à¸ģร ม", + "ç¬ Ķ", + "Ġ ге", + "Ġг е", + "Ġ رÙĩ", + "Ġر Ùĩ", + "Ġм ел", + "Ġна пÑĢимеÑĢ", + "ĠнапÑĢи меÑĢ", + "Ġм ик", + "Ġми к", + "ĠاÙĦس ÙĥاÙĨ", + "æ¤ ľ", + "ĠÐļ ÑĢа", + "Ġv Ãłi", + "ĠvÃł i", + "ائ Ùħ", + "ĠÏĩ Ïģή", + "leÅŁ me", + "Ġ jas", + "Ġj as", + "Ġja s", + "ê²Į ìŀĦ", + "Ġm aç", + "Ġma ç", + "Ġì§Ħ íĸī", + "à¥ĩद न", + "Ġvů bec", + "ĠÙĦ ÙĨ", + "è« ĩ", + "âī¡ âī¡", + "л ением", + "ление м", + "лен ием", + "ле нием", + "ع ÙĨÛĮ", + "عÙĨ ÛĮ", + "ãĥŀ ãĥ³", + "İ Z", + "ĠÃĸ ÄŁ", + "ĠìŬ ìŀIJ", + "y Å¡", + "Ġ ÑģÑĤа", + "ĠÑģ ÑĤа", + "ĠÑģÑĤ а", + "Ġ สำหร", + "Ġสำ หร", + "Ġन व", + "ãĢĤ ä½Ĩ", + "олÑĮ но", + "Ġyan ında", + "Ġyanı nda", + "è² ´", + "Ġjednot liv", + "Ġ åİŁ", + "Ġåİ Ł", + "éłħ 缮", + "Ġमद द", + "리 ìĹIJ", + "ĠÙħ اÙĬ", + "ĠÙħا ÙĬ", + "ĠÑĩ еÑĢв", + "ĠÑĩеÑĢ Ð²", + "Ġd áv", + "Ġdá v", + "ÙĦ ÛĮÙĩ", + "ÙĦÛĮ Ùĩ", + "? #", + "Äį nÃŃm", + "ÄįnÃŃ m", + "ÑĢ ÐµÐ³", + "ÑĢе г", + "ĠпÑĢимен Ñı", + "ĠпÑĢим енÑı", + "ãĤĬ ãģ¨", + "ê° Ļ", + "Ġtop lam", + "Ġtopl am", + "i leÅŁ", + "il eÅŁ", + "ile ÅŁ", + "Ġk ategor", + "ÑĤ ал", + "ÑĤа л", + "ãģ«ãĤĪ ãĤĭ", + "Ġdom ác", + "Ġ ê·ľ", + "Ġê· ľ", + "ĠÙĩ زار", + "ĠpÅĻÃŃ stup", + "ĠpÅĻÃŃst up", + "ı lıyor", + "ılı yor", + "ıl ıyor", + "ж ди", + "жд и", + "ĠD ương", + "ĠPh áºŃt", + "Ġç ünkü", + "구 ê¸ĢìĥģìľĦ", + "ov aných", + "ova ných", + "ovan ých", + "ovaný ch", + "Ġع Ø´", + "Ġà¤ķर à¤ķ", + "ž ÃŃt", + "žÃŃ t", + "Ġ vÄĽtÅ¡ÃŃ", + "ĠvÄĽt Å¡ÃŃ", + "ĠvÄĽtÅ¡ ÃŃ", + "ĠاÙħ کاÙĨ", + "Ġn ông", + "Ġz ám", + "Ġzá m", + "à¥Į न", + "е каÑĢ", + "ек аÑĢ", + "ека ÑĢ", + "Âł Т", + "k ami", + "ka mi", + "ĠÑĢеÑģ ÑĥÑĢ", + "п оÑģ", + "по Ñģ", + "Ùİ ÙĤ", + "ί λ", + "Ġ سازÛĮ", + "Ġس ازÛĮ", + "Ġساز ÛĮ", + "Ġçık an", + "Ġçı kan", + "ĠdÃŃ tÄĽ", + "Ġتص ÙĪ", + "ç¯ ĩ", + "н д", + "Ġrám ci", + "h ong", + "ho ng", + "hon g", + "Ġ ÑģÑĸм", + "ĠÑģ Ñĸм", + "s ak", + "sa k", + "к еÑĤ", + "ке ÑĤ", + "д Ñĸл", + "дÑĸ л", + "ç¹ Ķ", + "Ġth Æ°á»Łng", + "Ġне ÑĹ", + "з Ñĸ", + "ÅĻ ÃŃd", + "ÅĻÃŃ d", + "ित न", + "à¤ı à¤ķ", + "Ġs ữa", + "ĠÙħ رØŃ", + "ĠÙħر ØŃ", + "é ŀ", + "Ġc ưá»Ŀng", + ": .:", + ":. :", + "ÑĤ ен", + "ÑĤе н", + "èī ¦", + "Ġkh ợi", + "Ġ 기ì¤Ģ", + "Ġ기 ì¤Ģ", + "lan ır", + "彩 票", + "ض ÛĮ", + "Ġuz av", + "Ġb oh", + "Ġbo h", + "è m", + "Ġ æ£", + "Ġæ £", + "n ici", + "ni ci", + "nic i", + "( çģ«", + "åħ³ äºİ", + "Ñĸ ÑĩнÑĸ", + "ÑĸÑĩ нÑĸ", + "à¸ģ ารà¸ĵ", + "à¸ģาร à¸ĵ", + "Ġì² «", + "ÑĢ ÑĥеÑĤ", + "ÑĢÑĥ еÑĤ", + "ĠarÅŁiv lendi", + "ÑĤ им", + "ÑĤи м", + "า à¸ł", + "าภł", + "Ġبر ابر", + "Ġ à¹Ģà¸ĭ", + "Ġà¹Ģ à¸ĭ", + "Ġà¹Ģภĭ", + "ĠÄij êm", + "è· ³", + "Ġyön etim", + "Ġyönet im", + "Ġ éķ·", + "Ġéķ ·", + "ãĥĨ ãĥ¬ãĥĵ", + "м аÑĤи", + "ма ÑĤи", + "маÑĤ и", + "è´£ ä»»", + "ick ým", + "ický m", + "è ¸", + "à¹Ģห à¸ķ", + "ëł Į", + "Ġ رÙĬ", + "Ġر ÙĬ", + "ĠвÑĭ дел", + "åĩº çݰ", + "Ġп еÑģ", + "Ġì¢ĭ ìĿĢ", + "Ġà¤ī सन", + "Ġà¤īस न", + "ĠAr alık", + "ĠAra lık", + "ĠÑĩа ÑģÑĥ", + "ĠÑĩаÑģ Ñĥ", + "l ava", + "la va", + "lav a", + "Ġ ï½ŀ", + "Ġï½ ŀ", + "æģ ĭ", + "د ÛĮد", + "دÛĮ د", + "âĢĻ den", + "âĢĻd en", + "âĢĻde n", + "Ġ åĪĿ", + "ĠåĪ Ŀ", + "ÙĪ Ø¯Ø©", + "ÙĪØ¯ Ø©", + "Ñĩ или", + "Ñĩи ли", + "Ñĩил и", + "ĠÑħаÑĢакÑĤ еÑĢиÑģÑĤи", + "ا ستاÙĨ", + "اس تاÙĨ", + "است اÙĨ", + "द र", + "ĠبÙĪØ¯ ÙĨ", + "ĠبÙĪ Ø¯ÙĨ", + "Ġп алÑĮ", + "Ġпа лÑĮ", + "Ġпал ÑĮ", + "ĠÑĤ ÑĢади", + "ĠÑĤÑĢ Ð°Ð´Ð¸", + "ĠÑĤÑĢа ди", + "Ġд еÑı", + "Ġде Ñı", + "Ġ خش", + "ĠØ® Ø´", + "Ġpok raÄį", + "Ġ구 ê¸Ģ", + "к овÑĸ", + "ко вÑĸ", + "ков Ñĸ", + "Ġ tık", + "Ġt ık", + "Ġh ấp", + "Ġza lož", + "Ġzal ož", + "१ à¥", + "Ġëĭµ ë³Ģ", + "м еÑĪ", + "ме ÑĪ", + "íļ ¨", + "Ġspol up", + "Ġspolu p", + "Ë Ĩ", + "è¾ ¦", + "Ġg á»Ĺ", + "Ġ å®ļ", + "Ġå® ļ", + "ĵ n", + "as ından", + "asında n", + "- ı", + "ĠбеÑĢ ÐµÐ·", + "大 åѸ", + "Ġз нов", + "Ġзн ов", + "ĠHo Ãłng", + "Ġد ÙĪÙĨ", + "ĠدÙĪ ÙĨ", + "Ġan lay", + "ĠÙĪ Ø²Ø§Ø±", + "ĠÙĪØ² ار", + "ĠعÙĦ ÙħÛĮ", + "ĠعÙĦÙħ ÛĮ", + "è£ ľ", + "Ġdü nya", + "Ġdün ya", + "Ġdüny a", + "Ġза лиÑĪ", + "Ġзал иÑĪ", + "Ġзали ÑĪ", + "д аеÑĤ", + "да еÑĤ", + "ν ε", + "и ÑĩеÑģкого", + "иÑĩеÑģ кого", + "ìĬ¤ íħľ", + "ĠÐij еÑĢ", + "Ġ дж", + "Ġд ж", + "Ġ опаÑģ", + "Ġоп аÑģ", + "ÏĨ α", + "Ġzv lá", + "Ġt ô", + "б еÑĢ", + "бе ÑĢ", + "ĠÎľ αÏģ", + "Ġξα Ïģ", + "ti ÄŁini", + "tiÄŁi ni", + "ãĥ¬ ãĥ³", + "ĠK ho", + "ĠKh o", + "ĠÑĸн ÑĪ", + "Ġ ï¿¥", + "ì° ¬", + "ï½ ¡", + "Ġ ноÑĩ", + "Ġн оÑĩ", + "Ġно Ñĩ", + "è¨ Ĭ", + "ÄĽ ti", + "ÄĽt i", + "å¿ Ļ", + "Ġکرد ÙĨد", + "ĠکردÙĨ د", + "ĠÄij ẩy", + "ĠÑģказ ав", + "ëĥ ¥", + "å± ¬", + "Ġश हर", + "ĠÚ©Ùħ Ú©", + "Âł ÐŁ", + "ın ca", + "нÑĸвеÑĢ ÑģиÑĤ", + "Ġ Ú¯ÙĪÙĨÙĩ", + "ĠÚ¯ ÙĪÙĨÙĩ", + "ĠÚ¯ÙĪ ÙĨÙĩ", + "ĠTop lam", + "ĠiÅŁ aret", + "ä½ł 们", + "Ġd erece", + "Ġde rece", + "Ġder ece", + "Ġdere ce", + "Ġderec e", + "ĠìĤ¬ ìĭ¤", + "Ġ ìŀIJ기", + "ĠìŀIJ 기", + "å®ŀ çݰ", + "çĶŁ çī©", + "ãģ® ä¸Ģ", + "Ġ ÑĢом", + "ĠÑĢ Ð¾Ð¼", + "ÙĪ Ø²Ùĩ", + "ÙĪØ² Ùĩ", + "Ġ ãģ¨", + "íĻ į", + "ÙĬ ÙĤ", + "Ġ åIJįçĦ¡ãģĹãģķãĤĵ", + "ĠåIJį çĦ¡ãģĹãģķãĤĵ", + "ĠåIJįçĦ¡ãģĹ ãģķãĤĵ", + "ĠÙ¾ ÛĮر", + "ĠÙ¾ÛĮ ر", + "Ġпол ез", + "ì¶ ©", + "ĠкоÑĢ Ð¿", + "IJ ëĭ¤", + "á» «a", + "ừ a", + "Îķ Τ", + "Ġжел ез", + "ãģ£ãģ ±", + "Ġx uyên", + "Ġ ë¥", + "Ġë ¥", + "à¥ĩ ।Ċ", + "à¥ĩ। Ċ", + "ĠÑģÑĤ али", + "ĠÑģÑĤал и", + "ĠÑģÑĤа ли", + "Ġpomoc ÃŃ", + "Ġdurum da", + "Ġп ÑĢоÑĪ", + "ĠпÑĢ Ð¾ÑĪ", + "ĠпÑĢо ÑĪ", + "l enÃŃ", + "le nÃŃ", + "len ÃŃ", + "β ολ", + "βο λ", + "Ġ æĸĩ竳", + "Ġæĸĩ 竳", + "tÄĽ z", + "d ÃŃl", + "dÃŃ l", + "Ġdruh é", + "ĠÑĤ огда", + "Ġh rá", + "Ġhr á", + "о ÑĤÑĮ", + "оÑĤ ÑĮ", + "า à¸ģร", + "าà¸ģ ร", + "Ġتص Ùħ", + "ĠÙħد ت", + "ка дем", + "Ġpat ÅĻÃŃ", + "ä¹ĭ åīį", + "س بة", + "سب Ø©", + "Ġпо кÑĢÑĭ", + "Ġпок ÑĢÑĭ", + "Ġn áp", + "Ġná p", + "Ġ_ {}", + "Ġ_{ }", + "ëĵ± íķĻêµIJ", + "ĠØ¥ ÙĦÙĬ", + "ĠØ¥ÙĦ ÙĬ", + "Ġöz g", + "çļ Ĩ", + "Ġhay van", + "ĠN isan", + "ĠNi san", + "غ از", + "Ġت ت", + "ĠдÑĥ Ñħов", + "ĠдÑĥÑħ ов", + "ĠÐŁÐ¾ ÑįÑĤомÑĥ", + "ÑĮ огод", + "ÑĮого д", + "Ġk uÅŁ", + "Ġku ÅŁ", + "Ġà¤ĩ सम", + "Ġà¤ĩस म", + "ج ÛĮ", + "Ġ ãĤ¿", + "ĠãĤ ¿", + "Ġв кÑĥÑģ", + "Ġвк ÑĥÑģ", + "ĠвкÑĥ Ñģ", + "ç Ģ", + "ĠвÑĭ ÑĪе", + "âĢĻ dan", + "âĢĻd an", + "âĢĻda n", + "ĠاØŃ Ùħد", + "Ġtal ep", + "Ġta lep", + "Ġtale p", + "Ġ ÏĪ", + "ĠÏ Ī", + "Ġdol ayı", + "Ġdolay ı", + "ĠÚ¯ زارش", + "б ол", + "бо л", + "ĠاÛĮÙĨ تر", + "ÑĢ Ð¾Ñĩ", + "ÑĢо Ñĩ", + ") âĢı", + "Ġ ëIJł", + "ĠëIJ ł", + "Ġk oup", + "Ġko up", + "Ġkou p", + "( æľĪ", + "é± ¼", + "Ġ огÑĢа", + "Ġо гÑĢа", + "Ġог ÑĢа", + "ĠÑĢаз м", + "ĠÑĢа зм", + "Ġت ست", + "Ġتس ت", + "ĠpÅĻÃŃ slu", + "í ĽĪ", + "ĠëĮĢ íķ´", + "à¹ģ à¸Ľ", + "ан нÑĭе", + "аннÑĭ е", + "ĠìĿ¸ íĦ°", + "Ġkullan ılan", + "Ġkullanı lan", + "Ġkullanıl an", + "Ġz tr", + "æĬĢ è¡ĵ", + "ि à¤Ľ", + "िठĽ", + "ĠاÙĦÙħ ؤ", + "ov aly", + "ova ly", + "oval y", + "us tos", + "ust os", + "usto s", + "Ġö rg", + "Ġör g", + "Ġ 太", + "Ġå¤ ª", + "ε ιο", + "ει ο", + "Ġ uÄį", + "Ġu Äį", + "ĠØ´ Ú©ÙĦ", + "ĠØ´Ú© ÙĦ", + "建 çŃij", + "Ġch ạy", + "ĠÏĩ Ïģη", + "н ÑĥÑĤ", + "нÑĥ ÑĤ", + "Ġباع Ø«", + "ĠNÄĽk ter", + "ÑĥÑĤ ÑĤÑı", + "ãģ§ãģĻ ãģĭ", + "Ġsay ılı", + "Ġsayı lı", + "им оÑģÑĤÑĮ", + "имо ÑģÑĤÑĮ", + "ĠпиÑĤ аннÑı", + "Ġk ÃŃnh", + "Ġh ran", + "Ġhr an", + "Ġhra n", + "ok rat", + "Ġed ilir", + "Ġedil ir", + "Ġà¤ķह त", + "Ġp aci", + "Ġpa ci", + "Ġpac i", + "ाल न", + "Ġи де", + "Ġид е", + "ĠZ em", + "ĠZe m", + "Ġsluž by", + "ÑģÑĤв еннÑĭй", + "ÑģÑĤвен нÑĭй", + "ĠØ¢ ÙĨاÙĨ", + "ĠØ¢ÙĨ اÙĨ", + "ĠÑĤ оваÑĢи", + "ĠÑĤоваÑĢ Ð¸", + "ĠÑĤов аÑĢи", + "ĠتØŃ ÙħÙĬÙĦ", + "ĠY ük", + "Ġк аÑĤегоÑĢ", + "ĠкаÑĤ егоÑĢ", + "íĭ Ģ", + "Ġк оÑģ", + "Ġко Ñģ", + "Ġ обов", + "Ġо бов", + "Ġоб ов", + "Ġобо в", + "ĠprostÅĻed ÃŃ", + "ĠÑģ оÑģ", + "ĠÑģо Ñģ", + "ĠÐIJ лекÑģанд", + "ĠÐIJлекÑģ анд", + "Ġ à¹Ģà¸Ĥà¸ķ", + "Ġà¹Ģà¸Ĥ à¸ķ", + "å¿ħ é¡»", + "ั à¸Ĭ", + "ĠÙĦ د", + "ãĢģ ä¸Ģ", + "ĠÎľ ÎŃ", + "Ñĥ ваÑĤиÑģÑı", + "Ñĥв аÑĤиÑģÑı", + "ÑĥваÑĤи ÑģÑı", + "Ñĥва ÑĤиÑģÑı", + "æķ ı", + "ãĥ¼ ãĥIJ", + "ãĥ¼ãĥ IJ", + "اÙĦ ÙĦÙĩ", + "Ġب Ùĩا", + "ĠبÙĩ ا", + "åĸ ¶", + "è´ µ", + "æĸ¹ åIJij", + "Ġ ì¸", + "Ġì ¸", + "Ġ ÙĨاÙħÙĩ", + "ĠÙĨ اÙħÙĩ", + "ĠÙĨاÙħ Ùĩ", + "ÑĮ ко", + "Ġv ody", + "Ġvo dy", + "Ġvod y", + "v ÃŃc", + "vÃŃ c", + "à¹ģ à¸Ī", + "Ġع ÙĦÛĮÙĩ", + "ĠعÙĦ ÛĮÙĩ", + "ĠعÙĦÛĮ Ùĩ", + "à¹ģ รà¸ĩ", + "ί να", + "ίν α", + "ãģ ¬", + "Ġ Ðŀп", + "ĠÐŀ п", + "Ġsay f", + "ï¼Į çͱ", + "ä¼ ´", + "ĠÑĥд об", + "ãģ¾ ãģł", + "Ġне пÑĢи", + "Ġнеп ÑĢи", + " İ", + "à¤¾à¤ľ प", + "pl nÄĽ", + "Ġ ìĹĦ", + "ĠìĹ Ħ", + "Ġrů zn", + "Ġrůz n", + "Ġx ếp", + "ãĥĸ ãĥ«", + "ĠзаÑħ иÑģÑĤ", + "ĠÙħص رÙģ", + "ĠÙħصر Ùģ", + "ĠvÅ¡ech no", + "ãģ® ãģĬ", + "ĠTh á»ĭ", + "Ġm ùa", + "¿ IJ", + "ĠпÑĢин ÑĨип", + "ĠاÙĨ ÙĤÙĦ", + "г аÑĢ", + "га ÑĢ", + "Ġmož nost", + "ÙĤ ÙĬÙĤ", + "ÙĤÙĬ ÙĤ", + "Ġotev ÅĻ", + "Ġ fak", + "Ġf ak", + "Ġfa k", + "Ġng uy", + "Ġngu y", + "б ов", + "бо в", + "l acaÄŁ", + "lac aÄŁ", + "ا طر", + "اط ر", + "ãģ« ãĤĪãĤĬ", + "ãģ«ãĤĪ ãĤĬ", + "æĺ¯ åľ¨", + "Ġt ầng", + "ìĿ¸ ìĿ´", + "a ÅĻ", + "ç ¢°", + "ç¢ °", + "ÏĮ με", + "Ġ ê°Ī", + "Ġê° Ī", + "ĠØ£ ØŃد", + "ĠØ£ØŃ د", + "غ راÙģ", + "غر اÙģ", + "ĠÙĬ ØŃ", + "ï½ §", + "ĠاÙĦØŃÙĬ اة", + "Ġ lep", + "Ġl ep", + "Ġle p", + "Ġ ฮ", + "Ġภ®", + "t ae", + "ta e", + "Ġl ương", + "è½ ®", + "Ġз мÑĸн", + "ĠзмÑĸ н", + "Ġзм Ñĸн", + "ĠÐļи ÑĹв", + "ĠмÑĸ ÑģÑı", + "ĠмÑĸÑģ Ñı", + "к ав", + "ка в", + "à¸ķ ะ", + "Ġm noho", + "Ġmn oho", + "Ġmnoh o", + "ĠNgh á»ĭ", + "èĻ İ", + "Ġ ãĥŁ", + "Ġãĥ Ł", + "Ġp ráci", + "Ġpr áci", + "Ġprá ci", + "Ġg á»ijc", + "ĠY eni", + "ĠYe ni", + "ĠYen i", + "ا ضÙĬ", + "اض ÙĬ", + "Ġ èij", + "Ġè ij", + "Ġк ла", + "Ġкл а", + "ı ng", + "ÏĦ εί", + "ÏĦε ί", + "Ġb eni", + "Ġbe ni", + "Ġben i", + "Ġ عد", + "Ġع د", + "Ġ aktu", + "Ġak tu", + "Ġakt u", + "ĠÙĪ ÙĤد", + "ĠÙĪÙĤ د", + "Ġпод гоÑĤов", + "Ġgi ai", + "Ġgia i", + "( æ°´", + "Ġs aç", + "Ġsa ç", + "ĠÙħÙĨ اسب", + "ĠÙħÙĨاس ب", + "âĸ ĭ", + "ÙIJ Ùĩ", + "é į", + "à¸Ń à¸Ĺ", + "ĠسÛĮ اسÛĮ", + "o lit", + "ol it", + "oli t", + "ĠاÙĦ جز", + "ĠاÙĦج ز", + "Ø· ÙĦب", + "Ø·ÙĦ ب", + "Ġ sey", + "Ġs ey", + "Ġse y", + "e rence", + "er ence", + "ere nce", + "eren ce", + "ì´ Į", + "ĠвнÑĥÑĤÑĢ ÐµÐ½", + "ĠвнÑĥÑĤ ÑĢен", + "Ġ à¸Ļาย", + "Ġà¸Ļ าย", + "ĠìķĬ ìķĺëĭ¤", + "ĠìķĬìķĺ ëĭ¤", + "o lik", + "ol ik", + "oli k", + "æľĢ åIJİ", + "ä» ª", + "Ġ ÑĢÑĸд", + "ĠÑĢ Ñĸд", + "è¼ ĥ", + "Ġ باب", + "Ġب اب", + "Ġبا ب", + "Ñĥ ди", + "Ñĥд и", + "Ġ ÑģÑĤÑĥп", + "ĠÑģÑĤ Ñĥп", + "ĠÄij ứng", + "ĠÄijứ ng", + "ĠÅŁ öyle", + "Ġ íķĻìĥĿ", + "ĠíķĻ ìĥĿ", + "Ġв лаÑģÑĤи", + "Ġвла ÑģÑĤи", + "ĠвлаÑģ ÑĤи", + "Ġh ãng", + "Ġhã ng", + "à¹ī าว", + "à¹īา ว", + "ĠÚ© اÙĩØ´", + "Ġ ëĵ¯", + "Ġëĵ ¯", + "ĠجÙħ ÙĦÙĩ", + "Ġد کتر", + "ad olu", + "ado lu", + "adol u", + "Ġت بد", + "Ġتب د", + "ظ اÙħ", + "Ġz naÄį", + "Ġzn aÄį", + "Ġد ÙĨÛĮ", + "ĠدÙĨ ÛĮ", + "Ġs ạn", + "å¼ ±", + "ÏĢ Î¹", + "Ġ çIJĨ", + "ĠçIJ Ĩ", + "Ġ Ù쨵ÙĦ", + "ĠÙģ ØµÙĦ", + "и нг", + "ин г", + "Ðļ Ðŀ", + "ĠС ов", + "ĠСо в", + "Ġziy aret", + "Ġ دÙħ", + "Ġد Ùħ", + "ç« ¹", + "Ġsah ibi", + "is ayar", + "isa yar", + "isay ar", + "ÄŁ a", + "ĠпеÑĢÑĸ од", + "Ġs na", + "Ġsn a", + "( æľ¨", + "Ġ нее", + "Ġн ее", + "Ġне е", + "ĠÑĦак ÑĤоÑĢ", + "ĠÑĦакÑĤ оÑĢ", + "м еж", + "ме ж", + "åº Ħ", + "r áž", + "rá ž", + "ок ÑĢем", + "Ġž al", + "ิ à¹Ģศษ", + "è± ª", + "ou cÃŃ", + "ĠU lus", + "ĠUl us", + "Ġtak že", + "ا ÙĪÙĨ", + "اÙĪ ÙĨ", + "н иÑĤи", + "ни ÑĤи", + "ниÑĤ и", + "нÑĮ о", + "ëį ¸", + "Ġ Ùĥرة", + "ĠÙĥ رة", + "ĠÙĥر Ø©", + "åľ ³", + "ĠArth ropoda", + "ĠÑĤ одÑĸ", + "ĠÑĤо дÑĸ", + "Ġدر صد", + "ุ รà¸ģ", + "ุร à¸ģ", + "ĠÑģв ого", + "ĠÑģво го", + "说 éģĵ", + "Ġc ánh", + "Ġcá nh", + "Ġcán h", + "æĵ Ĭ", + "Ġ ä¸ĭè½½", + "Ġä¸ĭ è½½", + "èī ¾", + "Ġnik dy", + "Ø® Ø·", + "ĠÑģ ейÑĩаÑģ", + "ÙĪ ÙĬÙĦ", + "ÙĪÙĬ ÙĦ", + "a met", + "am et", + "ame t", + "문 ìĿĺ", + "ĠE ÄŁitim", + "大 ä¼ļ", + "Ġb ÅĻez", + "за ÑĨÑĸÑı", + "Ġty to", + "н ай", + "на й", + "غ Ùħ", + "Ġ é©", + "Ġé ©", + "计 ç®Ĺ", + "Türk iye", + "Ġmn ož", + "åIJĪ ä½ľ", + "æľį åĭĻ", + "Ġkažd ý", + "ĠÑİ ÑĢид", + "Ġ βα", + "Ġβ α", + "à¥Ĥ à¤ļ", + "åIJĮ ãģĺ", + "Ġ çĭ", + "Ġç ĭ", + "ί ÏĦ", + "ÙĪÛĮ ÙĨت", + "ÙĪÛĮÙĨ ت", + "ا ÙĨس", + "اÙĨ س", + "æľĢ 大", + "Ġ Từ", + "ĠT ừ", + "éŃĶ æ³ķ", + "Ġб ли", + "Ġбл и", + "ĠÑĤак ое", + "ĠÑĤа кое", + "ãģ ľ", + "ãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢĠ ãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ìĿ´ ë©°", + "ĠÙĤسÙħ ت", + "Ġ оÑĨÑĸ", + "Ġо ÑĨÑĸ", + "н икÑĥ", + "ни кÑĥ", + "ник Ñĥ", + "Ġ Bạn", + "ĠB ạn", + "ĠоÑĢг анÑĸз", + "ĠоÑĢган Ñĸз", + "ĠоÑĢганÑĸ з", + "ü ph", + "üp h", + "Ġ izin", + "Ġi zin", + "Ġiz in", + "Ġ ï¾Ĭ", + "Ġï¾ Ĭ", + "εί ÏĤ", + "à¸ĩ à¹ģà¸ķ", + "ãģ¡ ãĤī", + "ва жа", + "важ а", + "Ġ 欧", + "Ġæ¬ §", + "ι Ïİ", + "ÏĢ ÎŃ", + "Ġк ÑĢеп", + "ĠÑĨ иÑħ", + "ĠÑĨи Ñħ", + "æĦŁ ãģĺ", + "çķ «", + "Ùĥ ÙĪ", + "е мо", + "ем о", + "ž en", + "že n", + "å¹³ æĸ¹", + "ĠÙħجÙħÙĪØ¹ Ùĩ", + "ĠÑģво и", + "Ġ ãĦ", + "à¸Ľà¸£à¸°à¸ģ à¸Ńà¸ļ", + "ĠпÑĢ Ð¾ÑĤи", + "ĠпÑĢо ÑĤи", + "ĠпÑĢоÑĤ и", + "ÙĪ ÛĮÙĩ", + "ÙĪÛĮ Ùĩ", + "认 为", + "ÏĨ ÎŃ", + "и ÑĩеÑģкий", + "иÑĩеÑģ кий", + "иÑĩеÑģки й", + "æ¥ ļ", + "Ġп ап", + "Ġпа п", + "δ Ïģο", + "Ġkullan ım", + "Ġkullanı m", + "Ġz bo", + "Ġzb o", + "Ġú spÄĽ", + "Ġ Ùħز", + "ĠÙħ ز", + "ĠF ak", + "ĠFa k", + "елÑĮ зÑı", + "æ´» åĭķ", + "ĠÐŁ ÑĢав", + "ĠÐŁÑĢ Ð°Ð²", + "ĠÐŁÑĢа в", + "¦ y", + "åĥ ķ", + "æij ĺ", + "Ġر ئ", + "Ġ ÏĨοÏģ", + "ĠÏĨ οÏģ", + "м иÑĤ", + "ми ÑĤ", + "Ġt icaret", + "Ġti caret", + "Ġtic aret", + "æ³ķ å¾ĭ", + "å¹´ 代", + "ìĪ Ļ", + "å ¿ł", + "å¿ ł", + "à¹ĩ à¸Ļà¸Ĺ", + "à¹ĩà¸Ļ à¸Ĺ", + "Ġ Ñĥж", + "ĠÑĥ ж", + "ĠÙħتØŃ دÙĩ", + "Ġtr á»Ŀi", + "Ġ رØŃ", + "Ġر ØŃ", + "ĠÚ©ÙĪ ÚĨ", + "ĠопÑĢед елен", + "ĠопÑĢедел ен", + "ĠزÙħ ÛĮÙĨÙĩ", + "ĠزÙħÛĮÙĨ Ùĩ", + "Ġn óng", + "Ġnó ng", + "Ġng á»§", + "Nh ững", + "Ġк иÑĪ", + "Ġки ÑĪ", + "Ġ jde", + "Ġj de", + "Ġjd e", + "Ġ ä¸Ĭæµ·", + "Ġä¸Ĭ æµ·", + "åĭ ĩ", + "Ġt anı", + "Ġtan ı", + "à¹Į à¹ģละ", + "à¹Įà¹ģ ละ", + "ĠÑĢа ÑģÑĤвоÑĢ", + "ĠÑĢаÑģÑĤ воÑĢ", + "ĠÑģÑĢед ÑģÑĤв", + "Ġc án", + "Ġcá n", + "Ġsyst ému", + "Ġsystém u", + "ÛĮ Ø·", + "ĠÑģиÑģÑĤем а", + "Ġ ëŀ", + "Ġë ŀ", + "Ġ ÑĩеÑĤ", + "ĠÑĩ еÑĤ", + "éĥ¨ éŨ", + "å¸ °", + "Ġm illet", + "Ġmill et", + "Ġmil let", + "ĠÎķ λλά", + "à¥ĩà¤ĸ न", + "Ġrepublik y", + "ÑĢ Ð°Ð¼Ð¸", + "ÑĢа ми", + "ÑĢам и", + "Ġसम स", + "Ġaç ısından", + "اد ÙĦ", + "Ġб еÑģп", + "ĠбеÑģ п", + "ãĥ» âĶģ", + "åľ Ń", + "o cu", + "oc u", + "k ánÃŃ", + "ká nÃŃ", + "ÙĪ Ø±Ø´", + "ÙĪØ± Ø´", + "ëŀ µ", + "Ġ çģ", + "Ġç ģ", + "è° ģ", + "Ġs ám", + "Ġν εÏĨ", + "Ġνε ÏĨ", + "b ilir", + "bil ir", + "ĠmÃŃst ÄĽ", + "Ġ žen", + "Ġž en", + "Ġže n", + "Ġil ç", + "Ġ ë§ģ", + "Ġë§ ģ", + "ãĢij Ċ", + "ĠÙħÙĪ Ø§Ø±Ø¯", + "ĠاÙĦ Ø´ÙĬ", + "ĠاÙĦØ´ ÙĬ", + "Ġ기 ë¡Ŀ", + "Ġt ady", + "Ġta dy", + "Ġtad y", + "à¸Ń าà¸Ī", + "ĠÑģ ÑĦ", + "ĠspoleÄį nost", + "Ġtém atu", + "Ùħ اÙħ", + "Ùħا Ùħ", + "Ùħ ع", + "Ġ леж", + "Ġл еж", + "ĠÚĨ Ø´Ùħ", + "ĠiÅŁ let", + "ĠÙĨس Ø®", + "ä¼ °", + "ãģį ãģª", + "ãĢ ĥ", + "å² Ĺ", + "Ġ åŃIJ", + "Ġå ŃIJ", + "ĠåŃ IJ", + "Ġb ảng", + "Ġbản g", + "çĮ ®", + "Ġc ứng", + "Ġcứ ng", + "Ġк ÑĢай", + "ĠкÑĢа й", + "Ġ èĭ±è¯Ń", + "Ġèĭ± è¯Ń", + "Ðł ÐIJ", + "ز ÙĨ", + "èĥ ŀ", + "Ġsür eç", + "Ġsüre ç", + "ãĥķ ãĥĪ", + "ĠкÑĸлÑĮ ка", + "ne ÄŁin", + "neÄŁi n", + "ov ány", + "ová ny", + "ován y", + "л Ñĸн", + "лÑĸ н", + "Ġvý raz", + "ĠÑģÑĩ иÑĤа", + "ĠÑģÑĩиÑĤ а", + "ĠпÑĢав ило", + "ĠпÑĢави ло", + "ĠпÑĢавил о", + "ĠиÑģполÑĮз Ñĥ", + "Ġk éo", + "Ġké o", + "ĠyaklaÅŁ ık", + "ĠÙĪØ§Ø¨ ستÙĩ", + "ов аÑĤелÑĮ", + "Ġ ì²ł", + "Ġì² ł", + "ĠاÙĦ عاÙħ", + "ĠاÙĦع اÙħ", + "åĿ ı", + "Ġ à¸ī", + "Ġภī", + "ĠS Æ¡n", + "λ ιο", + "λι ο", + "ì¶Ķ ì²ľ", + "Ġsluž eb", + "ĠдеÑıÑĤелÑĮ ноÑģÑĤи", + "з м", + "Ġп ози", + "Ġпо зи", + "Ġпоз и", + ".; .;", + "ĠпÑĢоиÑģ ÑħодиÑĤ", + "าย à¹ĥà¸Ļ", + "çļĦ ãģ«", + "Ġà¤ĩस स", + "о меÑĤ", + "ом еÑĤ", + "Ġ αÏģ", + "Ġα Ïģ", + "ा à¤Ĺर", + "ाà¤Ĺ र", + "i cÃŃch", + "ic ÃŃch", + "icÃŃ ch", + "Ġpolož ky", + "ê³ ¨", + "æĥ Ĭ", + "Ġö ner", + "Ġön er", + "Ġöne r", + "Ġx ảy", + "ĠÙĨظ رÛĮ", + "ĠÙĨظر ÛĮ", + "Ġngh á»ī", + "Ġ à¸ľà¸¥", + "Ġà¸ľ ล", + "ĠÑĢ Ð¾Ð»ÑĮ", + "ĠÑĢ ÐµÐ¼Ð¾Ð½", + "ĠÑĢе мон", + "ص ÙĪØ±", + "V ý", + "ĠS á»ij", + "ĠÑģ ÑĥÑĩаÑģ", + "ĠÑģÑĥ ÑĩаÑģ", + "ห ย", + "ĠاÙĤ داÙħ", + "Ġer kek", + "Ġerk ek", + "Ġ èį", + "Ġè į", + "ĠÄij ôi", + "ĠÄijô i", + "Ġкон кÑĢеÑĤ", + "æ¬ Ĭ", + "Ġ 缮", + "ĠçĽ ®", + "ÙĪ Ú©", + "lı kla", + "lık la", + "Ġp azar", + "Ġpa zar", + "Ġpaz ar", + "ά νÏī", + "άν Ïī", + "Ñĥ ÑģÑĤа", + "ÑĥÑģ ÑĤа", + "ÑĥÑģÑĤ а", + "ãģª ãģŁ", + "Ġ ÙĩÙĨÚ¯", + "ĠÙĩ ÙĨÚ¯", + "ĠÙĩÙĨ Ú¯", + "Ю ÐĽ", + "Ġв елик", + "Ġвели к", + "Ġвел ик", + "Ġве лик", + "Ġnh Ỽ", + "Ġ ìĭľíĹĺ", + "Ġìĭľ íĹĺ", + ") ìĿĺ", + "Ùĥ Ùĩ", + "Ġ à¹ģล", + "Ġà¹ģ ล", + "Û² Ûµ", + "Ġار ساÙĦ", + "Ġ окÑĢем", + "Ġок ÑĢем", + "ά ÏĤ", + "ĠвÑĭ Ñħод", + "vÄĽt Å¡ÃŃ", + "ĠØ· رÛĮÙĤ", + "Ġк оÑĢоÑĤ", + "ĠкоÑĢ Ð¾ÑĤ", + "Ġко ÑĢоÑĤ", + "н ÑĶ", + "ãĤĬ ãģ«", + "Ġ ä¹Ł", + "Ġä¹ Ł", + "ØŃ ص", + "ع ÙħاÙĦ", + "عÙħ اÙĦ", + "oloj ik", + "oloji k", + "Ġر ابط", + "Ġرا بط", + "çª Ĺ", + "Ġg iz", + "Ġgi z", + "Ġch ết", + "Ġchế t", + "æ¨ £", + "ส à¸ĩ", + "ÙĪ ØªØ±", + "ÙĪØª ر", + "ĠÑı кÑĥ", + "ĠÑıк Ñĥ", + "çı¾ åľ¨", + "ĠоÑĤ ÑģÑĥÑĤÑģÑĤв", + "Ġ ê´ijê³ł", + "Ġê´ij ê³ł", + "Ñĸ ки", + "Ñĸк и", + "åĢ ¤", + "è® ¢", + "Ġ dle", + "Ġd le", + "Ġdl e", + "Ġ åł", + "Ġå ł", + "æ¨ ©", + "è® ¯", + "åĶ IJ", + "Ġ âĸ²", + "Ġâĸ ²", + "Ġli stop", + "Ġlist op", + "Ġlis top", + "Ġdat ové", + "Ġdato vé", + "ÏĦ ÏĮÏĤ", + "ÏĦÏĮ ÏĤ", + "Ġ оз", + "Ġо з", + "δ ÏĮ", + "èĴ Ĥ", + "Û³ Û°", + "ãĥª ãĥ¼ãĤº", + "ãĥªãĥ¼ ãĤº", + "ĠÙħر کز", + "ĠÙħرک ز", + "ĠпÑĸдÑĤ ÑĢим", + "ĠÑģ ез", + "é¡ ĺ", + "Ġol acaktır", + "Ġolacak tır", + "æº Ģ", + "ĠÏĢεÏģι ο", + "ĠÏĢεÏģ ιο", + "ĠÏĢε Ïģιο", + "ÑĦ а", + "ÏĦ ηÏĥη", + "ÏĦη Ïĥη", + "ç» ĥ", + "Ðŀ д", + "δ Ïħ", + "âĦ ĥ", + "Ġl ắp", + "ĠëĦ ĺ", + "Ø· اÙĨ", + "ĠÙ¾ ÙĨج", + "ĠÙ¾ÙĨ ج", + "ت اÙĨ", + "تا ÙĨ", + "i lerinin", + "iler inin", + "ileri nin", + "ilerin in", + "ilerini n", + "à Ī", + "ĠØ® ÙĪØ´", + "ĠØ®ÙĪ Ø´", + "Ġ ìĬ¬", + "ĠìĬ ¬", + "ĠاÙĦر ئÙĬس", + "ẵ n", + "Ġ شار", + "ĠØ´ ار", + "e ru", + "er u", + "ж ив", + "жи в", + "à¸Ļ าย", + "à¸Ļา ย", + "Ġs ẻ", + "Ġà¤ī à¤ļ", + "ãģ« ãģĭ", + "ç¡ Ģ", + "Ġyür üt", + "ĠС еÑĢг", + "ĠСеÑĢ Ð³", + "Ġ каÑģ", + "Ġк аÑģ", + "Ġка Ñģ", + "ĠÐij ог", + "Ġìĸ´ëĸ »ê²Į", + "Ġ çŁ³", + "Ġç Ł³", + "ĠçŁ ³", + "Ġöl dür", + "Ġöld ür", + "л Ñĸв", + "лÑĸ в", + "Ġho Ãłng", + "ĠhoÃłn g", + "Ġb á»Ļt", + "Ġbá»Ļ t", + "çŀ ¬", + "Ġ 침", + "Ġì¹ ¨", + "N ếu", + "Ġne vy", + "Ġnev y", + "Ġ ìľ¤", + "Ġìľ ¤", + "Ġsou Äįást", + "ıs ıyla", + "ısı yla", + "Ġtük et", + "b ou", + "bo u", + "Ġд во", + "Ġдв о", + "س Ø·", + "å½ĵ çĦ¶", + "ãĥ ¨", + "Ġ زادÙĩ", + "Ġز ادÙĩ", + "Ġزاد Ùĩ", + "Ġ éĥ¨", + "Ġéĥ ¨", + "Ġر ÙĪØŃ", + "ĠرÙĪ ØŃ", + "Ġ ï¼į", + "Ġï¼ į", + "ĠмÑĸÑģ ÑĨев", + "ĠмÑĸÑģÑĨе в", + "θ εν", + "θε ν", + "ภĨ", + "л енÑĸ", + "лен Ñĸ", + "ле нÑĸ", + "çį ²", + "ĠH OH", + "ĠHO H", + "s ın", + "sı n", + "ิ à¸ķร", + "ิà¸ķ ร", + "è² ¡", + "ĠpÅĻ id", + "ĠpÅĻi d", + "à¹Ģ หà¸Ļ", + "à¹Ģห à¸Ļ", + "l ý", + "è¨Ģ èijī", + "ठĵ", + "âĸįâĸįâĸįâĸį âĸįâĸįâĸįâĸį", + "ب اب", + "با ب", + "ãĥ¼ ãĥķ", + "ãĥ¼ãĥ ķ", + "м оÑĢ", + "мо ÑĢ", + "è¿ĩ ç¨ĭ", + "Ġ ãĥĽ", + "Ġãĥ Ľ", + "ĠK inh", + "ĠKi nh", + "ĠKin h", + "íķľ êµŃ", + "Ġìĸ´ëĸ ¤", + "Ġв лиÑı", + "Ġf ayd", + "Ġfa yd", + "Ġص ÙĨع", + "ĠصÙĨ ع", + "Ġal ır", + "Ġet tiÄŁi", + "Ġetti ÄŁi", + "ά κ", + "im izin", + "imi zin", + "imiz in", + "imizi n", + "ัà¸ļ à¸ľ", + "Ġзем елÑĮ", + "ÙĬÙĦ اد", + "ÙĬÙĦا د", + "æ¶ ¨", + "çı ł", + "ĠØ£ غ", + "Ġz ku", + "Ġzk u", + "âĢŀ A", + "า à¸ķร", + "าà¸ķ ร", + "a yi", + "ay i", + "ãĥ© ãĤ¹", + "и ло", + "ил о", + "ĠÄij á»į", + "ĠÄijá» į", + ". Îķ", + "ë ľ", + "ĠμÏĢο Ïģεί", + "å¸ ¶", + "Ġar tır", + "Ġart ır", + "า à¸į", + "าภį", + "å¿ ĺ", + "ta lya", + "tal ya", + "Ġpoz dÄĽji", + "ĠpozdÄĽ ji", + "Ġnep ÅĻ", + "Ġ æ¹", + "Ġæ ¹", + "اÙĩ ÛĮ", + "Ġsat ın", + "Ġ ë²Į", + "Ġë² Į", + "ج ÙĪ", + "ä¸Ģ 缴", + "ìķĦ ìļĶ", + "Âł P", + "Ġ ØĽ", + "ĠØ Ľ", + "Ġп ал", + "Ġпа л", + "表 æĥħ", + "Ġc anlı", + "Ġcan lı", + "æĪIJ 为", + "ÙĪ ÙĨا", + "ÙĪÙĨ ا", + "Ġ â̝", + "ĠâĢ ¯", + "à¸ģำ ล", + "åį ĸ", + "Ġ αÏĥ", + "Ġα Ïĥ", + "и нок", + "ин ок", + "а мп", + "ам п", + "ล à¸Ńà¸ĩ", + "ÙĤ ÙĤ", + "ĠпÑĢо Ñħод", + "ĠпÑĢоÑħ од", + "ãĤĦãĤĭ 夫", + "Ïĩ η", + "è² ¨", + "ĠÙģ ÙĬÙĩ", + "ĠÙģÙĬ Ùĩ", + "ÙĬ رÙĬ", + "ÙĬر ÙĬ", + "Ġвне ÑĪ", + "Ġk arak", + "Ġka rak", + "Ġkar ak", + "Ġkara k", + "Ø« ÙĦ", + "Ùĩ ÙĪØ±ÛĮ", + "ÙĩÙĪØ± ÛĮ", + "اÙĪØ± Ù¾", + "ĠÄij á»ı", + "ĠÄijá» ı", + "ji Å¡tÄĽnÃŃ", + "jiÅ¡tÄĽ nÃŃ", + "ت بر", + "تب ر", + "Ġê·¸ ê²ĥ", + "Ġg ül", + "Ġgü l", + "Ġпо кÑĥп", + "Ġпок Ñĥп", + "l ilik", + "li lik", + "lili k", + "lil ik", + "Ġz da", + "Ġzd a", + "åīį ãģ«", + "ĠÙħÙĩ ÙĨد", + "Ġ ÎijÎĿ", + "ĠÎij ÎĿ", + "ĠÚ©ÛĮÙĦ ÙĪÙħتر", + "Ġp ÅĻeh", + "ĠpÅĻ eh", + "ĠpÅĻe h", + "а леж", + "ал еж", + "але ж", + "Ġka yn", + "Ġkay n", + "è® ¿", + "Ġì¤ij êµŃ", + "ĠÑĪиÑĢ Ð¾Ðº", + "ĠÑĪи ÑĢок", + "ĠÙħشار کت", + "âĢ Ĥ", + "Ġ íŤ", + "ĠíĹ ¤", + "Ġìłľ íĴĪ", + "ĠØ´ ÛĮر", + "ĠØ´ÛĮ ر", + "es inden", + "esinde n", + "esin den", + "ÑĢ ÑĸÑĩ", + "ÑĢÑĸ Ñĩ", + "èı ²", + "Ñģ коÑĢ", + "Ñģк оÑĢ", + "Ñģко ÑĢ", + "e tik", + "et ik", + "eti k", + "า à¸ľ", + "าภľ", + "ĠØ· بÛĮ", + "Ġطب ÛĮ", + "κ ÎŃ", + "ĠìŀĪ ìĸ´", + "Ġ dek", + "Ġd ek", + "Ġde k", + "ÑĢ Ñĸй", + "ÑĢÑĸ й", + "å ĨĴ", + "åĨ Ĵ", + "nÃŃ ci", + "® ¤", + "ĠÙħر تب", + "Ġy azı", + "Ġya zı", + "Ġyaz ı", + "üs lü", + "ìľ¼ ëĤĺ", + "e lerine", + "eler ine", + "ele rine", + "eleri ne", + "elerin e", + "Ġy oÄŁun", + "Ġб ак", + "Ġба к", + "ÎĻ ÎŁ", + "ά λÏħ", + "άλ Ïħ", + "ç´ Ļ", + "ĠÑĢÑĥ ками", + "ĠÑĢÑĥк ами", + "Ġçöz üm", + "ìłķ ìĿĦ", + "Ġgüç lü", + "λ ÏĮ", + "Ġb elli", + "Ġbe lli", + "Ġbel li", + "Ġbell i", + "ÃŃ Å¡e", + "ÃŃÅ¡ e", + "ĠÏĮ ÏĢÏīÏĤ", + "Ġna Å¡", + "Ġp ár", + "Ġpá r", + "ÑĪ ÑĤ", + "Ġ ìĨ¡", + "ĠìĨ ¡", + "à¥Ĥ रत", + "à¥Ĥर त", + "ĠÏĢολ Ïį", + "ĠÏĢο λÏį", + "ç° ¡", + "èĤ ¯", + "æ¹ ¾", + "Ġ äºĭ", + "Ġब स", + "Ġ무 ë£Į", + "д ина", + "дин а", + "ди на", + "èª °", + "л еж", + "ле ж", + "Ġú ÅĻad", + "ĠоÑģвÑĸ ÑĤи", + "ĠоÑģвÑĸÑĤ и", + "ĠвÑĸд Ñĩ", + "ĠпÑĢи знаÑĩ", + "ĠпÑĢизна Ñĩ", + "ĠпÑĢиз наÑĩ", + "çͳ 请", + "' ya", + "'y a", + "ä¿ Ĭ", + "Ġ ÙĬÙĪÙĨ", + "ĠÙĬ ÙĪÙĨ", + "ĠÙĬÙĪ ÙĨ", + "Ġس ع", + "Ġ ÐĶаÑĤа", + "ĠÐĶ Ð°ÑĤа", + "ĠÐĶа ÑĤа", + "è¨Ģ ãģĨ", + "ĠØŃ تÛĮ", + "ĠJi ÅĻÃŃ", + "ĠÐ¥ аÑĢ", + "éĻ Ī", + "à¹Ī าà¸Īะ", + "à¹Īา à¸Īะ", + "Ġsay esinde", + "ĠÑĤÑĢеб а", + "ê°Ģ ì§Ģ", + "Ġy emek", + "Ġye mek", + "Ġyem ek", + "Ġyeme k", + "è¦ ļ", + "ặ n", + "ãĢĢ ãĢĢãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ĠãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢĠãĢĢ", + "Ġ 举", + "Ġä¸ ľ", + "Ġ ÙĪØ§", + "ĠÙĪ Ø§", + "ĠÙħ ÙĪØ³", + "ĠÙħÙĪ Ø³", + "Ġком анд", + "Ġкоман д", + "Ġseç im", + "Ñĩ еннÑı", + "Ñĩен нÑı", + "Ġtot iž", + "Ġr á»Ńa", + "ı a", + "Ø¢ Ùħ", + "ÑĨ Ñĸон", + "ÑĨÑĸ он", + ": :::::::::::", + ":: ::::::::::", + ":::: ::::::::", + ":::::: ::::::", + ":::::::: ::::", + "::: :::::::::", + "::::: :::::::", + "::::::: :::::", + "::::::::: :::", + ":::::::::: ::", + "::::::::::: :", + "ÐĿ ÐIJ", + "ı za", + "ız a", + "h end", + "he nd", + "hen d", + "Ġफ र", + "ัà¸Ķ à¸ģาร", + "Ġ Cách", + "ĠC ách", + "ĠCác h", + "ĠпоÑĤ Ñĸм", + "Ġá¼ Ģ", + "ا ÙĦا", + "اÙĦ ا", + "á» ¡", + "ر ÛĮÙħ", + "رÛĮ Ùħ", + "å® «", + "Ġز ÙħÛĮÙĨ", + "ĠزÙħ ÛĮÙĨ", + "ÑĢ ÐµÑģÑĤ", + "ÑĢе ÑģÑĤ", + "ÑĢеÑģ ÑĤ", + "б аÑĩ", + "ба Ñĩ", + "Ùĩر ست", + "н ог", + "но г", + "ï¼Į 大", + "ĠëĺIJ íķľ", + "Ġz ůst", + "Ġzů st", + "ĠÐĴ она", + "ĠÐĴо на", + "å¤ĩ 份", + "Ġ اÙģØª", + "Ġا ÙģØª", + "ĠاÙģ Øª", + "o je", + "oj e", + "Ñģк ÑĸлÑĮки", + "Ġnh ẹ", + "Ġк еÑĢÑĸв", + "ĠкеÑĢ Ñĸв", + "á¿ ¦", + "æĸ¹ æ¡Ī", + "з аÑĨиÑı", + "за ÑĨиÑı", + "ĠвÑĸдповÑĸд но", + "ĠвÑĸдпов Ñĸдно", + "ãĤ¤ ãĤ¹", + "г ал", + "га л", + "ĠобÑĭ Ñĩно", + "ĠобÑĭÑĩ но", + "اÙĪØ±Ù¾ ÙĪÛĮÙĨت", + "å® ľ", + "l osti", + "lo sti", + "los ti", + "lost i", + "è¿Ľ åħ¥", + "uyor du", + "벤 íĬ¸", + "æīĭ ãĤĴ", + "ÐŁ од", + "ÐŁÐ¾ д", + "ĠÙħØŃ دÙĪØ¯", + "Ġ Ø¢Ùħد", + "ĠØ¢ Ùħد", + "ĠØ¢Ùħ د", + "ar akter", + "arak ter", + "çļĦ 大", + "Ġsı cak", + "l ant", + "la nt", + "lan t", + "Ġd ấu", + "ĠÙĨ Ú©", + "èĢħ ãģ®", + "Ġkend ini", + "Ġkendi ni", + "Ġп аÑĨи", + "Ġпа ÑĨи", + "Ġ 기íĥĢ", + "Ġ기 íĥĢ", + "ĠвмеÑģÑĤ е", + "в аеÑĤÑģÑı", + "ва еÑĤÑģÑı", + "ваеÑĤ ÑģÑı", + "Ġ ë§ī", + "Ġë§ ī", + "ĠchvÃŃ li", + "Ø® ÛĮ", + "ÙĦ ع", + "n ÃŃky", + "nÃŃ ky", + "nÃŃk y", + "、 :", + "ëIJľ ëĭ¤", + "ì§ ķ", + "Ġк вÑĸÑĤ", + "Ġкв ÑĸÑĤ", + "¨ ìĸ´", + "l iž", + "li ž", + "Ġë¹Ħë°Ģ ê¸Ģ", + "Ġkh á»iji", + "Ġ ë°©ìĨ¡", + "Ġë°© ìĨ¡", + "e chan", + "ec han", + "ech an", + "echa n", + "Ġзакон одав", + "Ġа кÑĤ", + "Ġак ÑĤ", + "문 ìłľ", + "ĠN ó", + "Ġ çĤ¹", + "Ġç Ĥ¹", + "ĠçĤ ¹", + "hled em", + "hle dem", + "ĠÑģво ÑĹÑħ", + "ĠÑģвоÑĹ Ñħ", + "Ġر ÙĤÙħ", + "ĠرÙĤ Ùħ", + "æĽ ¼", + "ि वर", + "िव र", + "åİ ļ", + "ĠÐļ од", + "ĠÐļо д", + "à¤Ń à¤Ĺ", + "ìŀIJ ëĬĶ", + "à¸Ļ ม", + "Ñĥ Ñģа", + "ÑĥÑģ а", + "Ġg ünü", + "Ġgün ü", + "ĠÄij ÃŃch", + "Ġtr ữ", + "å ·»", + "å· »", + "éĵ¶ è¡Į", + "ØŃ ÙĨ", + "è® ¨", + "γ Ïĩ", + "á½ ¸", + "a larında", + "alar ında", + "aları nda", + "aların da", + "Ġk af", + "Ġka f", + "ÙĪ Ø§Ø¬", + "ÙĪØ§ ج", + "ĠиÑģ клÑİÑĩ", + "ĠиÑģк лÑİÑĩ", + "Ġnh iá»ħ", + "á»į t", + "ĠìĽ ¹", + "Ġ éĿ¢", + "ĠéĿ ¢", + "ãģ® ãģĮ", + "Ġм ало", + "Ġмал о", + "Ġма ло", + "Ñĸ лÑĸ", + "Ñĸл Ñĸ", + "Ġ biên", + "Ġb iên", + "Ġbi ên", + "n ému", + "né mu", + "ném u", + "пÑĢи меÑĢ", + "пÑĢ Ð¸Ð¼ÐµÑĢ", + "âĸł âĸł", + "Ġk amp", + "Ġka mp", + "Ġkam p", + "Ġ веÑī", + "Ġв еÑī", + "Ġве Ñī", + "Äį em", + "Äįe m", + "à¥ģ ध", + "à¥ģठ§", + "æŁ »", + "ت ÙĪÙĨ", + "تÙĪ ÙĨ", + "åıª æľī", + "ãģ¯ ãģĦ", + "Ġ รวม", + "Ġร วม", + "ãĤ ŀ", + "ãģĻ ãĤĭãģ¨", + "ãģĻãĤĭ ãģ¨", + "å¾Ī å¤ļ", + "à¹Ī à¸ķ", + "ĠsvÄĽt a", + "ĠsvÄĽ ta", + "Ġ ê°Ģ격", + "Ġê°Ģ 격", + "Ú¯ Ùĩ", + "an daÅŁ", + "and aÅŁ", + "anda ÅŁ", + "ãĥª ãĤ¹", + "Ïī μα", + "ĠØ® ÙĪØ¨", + "ĠØ®ÙĪ Ø¨", + "ç´ ħ", + "Ñĩ иÑģ", + "Ñĩи Ñģ", + "ì¢ Į", + "ĠØŃض رت", + "Ġви ÑĢÑĸÑĪ", + "Ù¾ ر", + "Ġtý d", + "Ġkon tro", + "Ġkont ro", + "д ейÑģÑĤв", + "ãģŁãĤģ ãģ«", + "ì ī", + "мини ÑģÑĤÑĢа", + "мин иÑģÑĤÑĢа", + "âĢ ¯", + "åī ij", + "ни ÑĨÑĸ", + "ниÑĨ Ñĸ", + "å¦ ĩ", + "Ġ лиÑĪ", + "Ġл иÑĪ", + "Ġли ÑĪ", + "ãģ£ ãģ¦ãĤĭ", + "ãģ£ãģ¦ ãĤĭ", + "на ÑĢÑĥж", + "наÑĢ Ñĥж", + "Ñī иÑħ", + "Ñīи Ñħ", + "ÏĦ οκ", + "ÏĦο κ", + "ov áno", + "ová no", + "ován o", + "تر ÙĦ", + "ÑĢ ÐµÐº", + "ÑĢе к", + "غ ات", + "Ġ omez", + "Ġo mez", + "Ġom ez", + "ì ĵ°", + "ĠÃľ l", + "ï½ Ĵ", + "lı ģını", + "lıģ ını", + "lıģın ı", + "Ġv ượt", + "Ġb ÄĽÅ¾", + "ĠbÄĽ ž", + "Ãľ R", + "Ġ ãĥ¾", + "Ġãĥ ¾", + "ĠdoÄŁ al", + "Ġh atır", + "Ġha tır", + "Ġhat ır", + "Ġsv ým", + "ì§Ģ ëıĦ", + "à¹Ģà¸ł à¸Ĺ", + "Ġv ay", + "Ġva y", + "Ġ æĻĤ", + "Ġæ ĻĤ", + "ĠæĻ Ĥ", + "à¥įव प", + "Ġp lo", + "Ġpl o", + "é¢Ħ è§Ī", + "Ġçık tı", + "Ġ دÙĨ", + "Ġد ÙĨ", + "n ánÃŃ", + "ná nÃŃ", + "ê· Ģ", + "íĺ Ģ", + "à¸ŀ à¸ļ", + "m uÅŁtur", + "muÅŁ tur", + "å®ĺ æĸ¹", + "ĠíĶĦ ë¡ľê·¸ëŀ¨", + "éĢŁ 度", + "ler dir", + "lerdi r", + "ÑĩеÑģ кого", + "Ñĩе Ñģкого", + "Ġİn san", + "âĶ ĥ", + "Ġà¤ĩत न", + "С Ð¡Ðł", + "Ġا Ùħر", + "ĠاÙħ ر", + "Ġkö tü", + "Ùģ Ø´", + "Ġb oj", + "Ġbo j", + "ĠÑĨÑĸ ÑĶÑĹ", + "Ġsöy lem", + "Ġsöyl em", + "ни ÑĨÑĭ", + "ниÑĨ Ñĭ", + "ãĢĤ 她", + "âĢĿ .Ċ", + "âĢĿ. Ċ", + "Ġm ilion", + "Ġmil ion", + "Ġmi lion", + "Ġmili on", + "Ġson unda", + "Ġsonu nda", + "з Ñĥ", + "à¥į मà¤ķ", + "à¥įम à¤ķ", + "人 åı£", + "n ÄĽÅ¾", + "nÄĽ ž", + "ĠÑģ моÑĤ", + "ĠÑģм оÑĤ", + "Ġкомп лекÑģ", + "Ġкомплек Ñģ", + "Ġзави Ñģим", + "Ġиме ÑİÑĤ", + "Ġl ạc", + "Ġlạ c", + "Ġ hangi", + "Ġh angi", + "Ġhang i", + "Ġhan gi", + "ëĶ ©", + "åĬ ³", + "ĠvÄĽ ci", + "ĠvÄĽc i", + "е ÑĢов", + "еÑĢ Ð¾Ð²", + "еÑĢо в", + "κ Ïģι", + "Ġdur umu", + "Ġdurum u", + "Ġ بÙĪØ§Ø³Ø·Ø©", + "ĠبÙĪ Ø§Ø³Ø·Ø©", + "ĠØ£ بÙĬ", + "Ġأب ÙĬ", + "ĠAÄŁ ustos", + "ε Ïĩ", + "Ġд иÑĤи", + "Ġди ÑĤи", + "ĠдиÑĤ и", + "ÑĦ ика", + "ÑĦи ка", + "ÑĦик а", + "Ġ NÄĥm", + "ĠN Äĥm", + "Ġ 기ìĪł", + "Ġ기 ìĪł", + "Ġhlav nÃŃ", + "ä¿ ĥ", + "Ġलà¤Ĺ त", + "ĠO br", + "ĠOb r", + ". ย", + "ко вод", + "ков од", + "ково д", + "o pis", + "op is", + "opi s", + "Ġ ãĥī", + "Ġãĥ ī", + "Ġبش ÙĥÙĦ", + "н ием", + "ни ем", + "ние м", + "Ġtém ÄĽÅĻ", + "ĠاÙĦ ØŃر", + "ĠاÙĦØŃ ر", + "ĠÙĦ ازÙħ", + "ĠÙĦا زÙħ", + "Ġm ái", + "Ġmá i", + "i liÄŁi", + "ili ÄŁi", + "ë³ ¼", + "Ġy ık", + "Ġyı k", + "ç½ ²", + "ÑĢ Ð°Ð²Ð°", + "ÑĢа ва", + "ÑĢав а", + "Ñī ин", + "Ñīи н", + "ãģ« å¯¾", + "ç²¾ ç¥ŀ", + "à¹ī ส", + "Ġtem sil", + "à Ĩ", + "ìķ Ķ", + "ĠпÑĢавилÑĮ но", + "ÑĢ Ð¾Ñİ", + "ÑĢо Ñİ", + "Û±Û³ Û¸", + "è© ŀ", + "اء Ø©", + "ÙĪ Ø§Ø±Ùĩ", + "ÙĪØ§ رÙĩ", + "ÙĪØ§Ø± Ùĩ", + "ï¼ ħ", + "ĠÐľ ик", + "ĠÐľÐ¸ к", + "æģ ¶", + "æı Ĵ", + "ा पन", + "ाप न", + "ĠÚ©ÛĮÙģ ÛĮت", + "ĠT Ãłi", + "Ġt iá»ĥu", + "ov alo", + "ova lo", + "oval o", + "çĿ ¡", + "Ñĩ ил", + "Ñĩи л", + "Ġ лиÑĤ", + "Ġл иÑĤ", + "Ġли ÑĤ", + "λεÏħ ÏĦα", + "Ġ окон", + "Ġо кон", + "Ġок он", + ": :|", + ":: |", + "в ала", + "ва ла", + "вал а", + "ĠÙħرک زÛĮ", + "ĠÙħرکز ÛĮ", + "Ġ alÄ±ÅŁ", + "Ġa lÄ±ÅŁ", + "Ġal Ä±ÅŁ", + "Ġдолж но", + "Ġдол жно", + "æĻĤ 代", + "Ġ sert", + "Ġs ert", + "Ġse rt", + "Ġser t", + "е ÑĤом", + "еÑĤ ом", + "ัà¸Ļ ย", + "åģ ·", + "Ġ vÃŃc", + "Ġv ÃŃc", + "ĠvÃŃ c", + "ĠÑħ оÑĤÑı", + "ĠÑħоÑĤ Ñı", + "a larını", + "alar ını", + "aların ı", + "len mesi", + "lenme si", + "ãĥ³ ãĥIJ", + "ãĥ³ãĥ IJ", + "Ġëª ĩ", + "Ġá» ¦y", + "ĠاÙĦ کتر", + "vy ššÃŃ", + "è² ¬", + "주 ìĭľ", + "á ÅĻe", + "áÅĻ e", + "Ġy ere", + "Ġye re", + "Ġyer e", + "ãĤ¢ ãĥ³", + "ĠاÙĦس عÙĪØ¯", + "ĠØ¢ Ø´", + "Ġch óng", + "Ġchó ng", + "Ġ è»", + "Ġè »", + "г аÑĶ", + "га ÑĶ", + "Ġ ãģĤ", + "ç¨ ³", + "δ εÏĤ", + "δε ÏĤ", + "缮 çļĦ", + "Ġce vap", + "Ġcev ap", + "Ñģ ÑĤе", + "ÑģÑĤ е", + "é¡ ¿", + "म न", + "é¡ ¾", + "Ġк ÑĢедиÑĤ", + "ĠÙħس تÙĤ", + "ĠÙħست ÙĤ", + "Ġ миÑĤ", + "Ġм иÑĤ", + "Ġми ÑĤ", + "Ġt á»ĵn", + "Ġtá» ĵn", + "Ġ جÙĦ", + "Ġج ÙĦ", + "Ä© a", + "ĠاÙĦع ÙĦÙħ", + "ĠاÙĦعÙĦ Ùħ", + "á ků", + "ák ů", + "Ġ íķĻêµIJ", + "ĠíķĻ êµIJ", + "à¸Ĺ à¸Ńà¸ĩ", + "ห à¸Ļà¸Ķ", + "หà¸Ļ à¸Ķ", + "ĠлÑĸÑĤ еÑĢаÑĤÑĥ", + "ëIJ ł", + "ά ÏģÏĩ", + "άÏģ Ïĩ", + "ĠÙĤد رت", + "ĠÙĤدر ت", + "à¸Ļ าà¸ĩ", + "à¸Ļา à¸ĩ", + "Ġa rac", + "Ġar ac", + "Ġara c", + "Ġj ÃŃd", + "ĠjÃŃ d", + "Ġtür lü", + "íĶ ½", + "er siz", + "ers iz", + "е ним", + "ен им", + "ени м", + "Ġyüz yıl", + "Ġ ãģĦ", + "ĠÎļ Ïħ", + "Ġ æļ", + "Ġæ ļ", + "Ġp ůj", + "Ġpů j", + "Ġt á»Ļi", + "Ġth iên", + "Ġthi ên", + "İ S", + "Ġth úc", + "Ġthú c", + "æĹ ģ", + "ìŀIJ ìĿ¸", + "Ġöl üm", + "ر ÛĮÙģ", + "رÛĮ Ùģ", + "ÑĢ ÐµÐ¶", + "ÑĢе ж", + "ص اÙĦ", + "ر Ù쨩", + "رÙģ Ø©", + "i ếp", + "iế p", + "Ñı ÑĤиÑı", + "ÑıÑĤ иÑı", + "ÑıÑĤи Ñı", + "Ġpou žit", + "á tu", + "át u", + "为 ä»Ģä¹Ī", + "ì ģ", + "Ġ krát", + "Ġk rát", + "Ġkr át", + "ĠپرÙĪ ÚĺÙĩ", + "Ġrozhod nutÃŃ", + "ĠÑĥ нивеÑĢ", + "Ñĸй но", + "Ġ åij¨", + "Ġåij ¨", + "Ġk iá»ĥu", + "缮 åīį", + "ä¿ Ħ", + "ÏĦ οι", + "ÏĦο ι", + "ÑĦеÑĢ ÐµÐ½", + "uÅŁ tur", + "Ġ nÃŃm", + "Ġn ÃŃm", + "ĠnÃŃ m", + "âĢĮ Ø®", + "Ġ á»§y", + "Ġ ÑģÑĤаÑĤи", + "ĠÑģÑĤ аÑĤи", + "ĠÑģÑĤаÑĤ и", + "ĠÑģÑĤа ÑĤи", + "ÑĩеÑģ кий", + "Ñĩе Ñģкий", + "ÑĩеÑģки й", + "Ġj estli", + "Ġjest li", + "ĠÙ¾ ÙĨ", + "Ġob ce", + "ĠجÙĩ اÙĨÛĮ", + "ĠجÙĩاÙĨ ÛĮ", + "едаг ог", + "ãģ§ ãģ®", + "Ġbu á»Ļc", + "ì¹´ ì§Ģëħ¸", + "à¹ĩ à¸Ħ", + "ĠÄį tvrt", + "Ġ ника", + "Ġн ика", + "Ġни ка", + "Ġник а", + "Ġвп лив", + "Ġд иÑĢ", + "Ġди ÑĢ", + "ĠÑģоб ÑģÑĤвен", + "Ġë§İ ìĿ´", + "æ¾ ³", + "ÑĢ Ñĥб", + "ÑĢÑĥ б", + "æ£ ĭ", + "声 éŁ³", + "ä¹ ĥ", + "تÛĮ جÙĩ", + "å¹ ¼", + "o nya", + "on ya", + "ony a", + "ĠPlan tae", + "ĠPlant ae", + "Ч ÑĤо", + "æIJ Ń", + "ä½ľ ç͍", + "ìħ ¨", + "Ġк ÑĢÑĥг", + "Ġ ÙĪÙģÙĬ", + "ĠÙĪ ÙģÙĬ", + "ĠÙĪÙģ ÙĬ", + "Ġ ï¼ŀ", + "Ġï¼ ŀ", + "ÑĪ ÐºÐ¸", + "Âł Ðľ", + "ا Ø´ÛĮ", + "اش ÛĮ", + "ĠÅŀ ubat", + "ĠÅŀu bat", + "Ġع شر", + "Ġعش ر", + "l if", + "li f", + "Ġpou žitÃŃ", + "Ġpoužit ÃŃ", + "íĨ ¡", + "Ġб лок", + "Ġбл ок", + "èĢ ¶", + "ู ร", + "Ġv üc", + "Ø´ ÙĪØ¯", + "Ø´ÙĪ Ø¯", + "и ма", + "им а", + "ни ÑĨип", + "ниÑĨ ип", + "ìĿ´ ëĵľ", + "Ġ âĢIJ", + "ĠâĢ IJ", + "Ġ назнаÑĩ", + "Ġна знаÑĩ", + "Ġназ наÑĩ", + "Ġназна Ñĩ", + "Ġstr any", + "Ġstran y", + "Ġstra ny", + "æ® ¿", + "ĠاÙĦ رÙĪ", + "ĠاÙĦر ÙĪ", + "çº ¸", + "åĪ ij", + "ï¼Į ä»İ", + "Ġ ë©´", + "Ġë© ´", + "ĠпÑĢовед еннÑı", + "Ġh ava", + "Ġha va", + "Ġhav a", + "ĠìĹĨ ìĹĪëĭ¤", + "ĠìĹĨìĹĪ ëĭ¤", + "å¢ŀ åĬł", + "Ú ¾", + "ç¼ º", + "Ġع بار", + "Ġعب ار", + "Ġt ắc", + "Ġin ÅŁa", + "er se", + "ers e", + "ر ÙĬب", + "رÙĬ ب", + "Ġá»ķ n", + "Ø£ Ø©", + "ĠÏĢολ ι", + "ĠÏĢο λι", + "Ġm ắc", + "Ñģ ол", + "Ñģо л", + "æ´ ŀ", + "- го", + "-г о", + "ç¨ĭ 度", + "ĠвикоÑĢиÑģÑĤ аннÑı", + "âĢŀ ظ", + "e lerinde", + "eler inde", + "eleri nde", + "elerin de", + "ĠNh ưng", + "ĠNhư ng", + "st ÅĻed", + "Ġhasta lık", + "Ġhast alık", + "à¹ī à¹Ģà¸Ľ", + "Ġd efa", + "Ġde fa", + "Ġdef a", + "Ġ زÙĬ", + "Ġز ÙĬ", + "اط ÙĤ", + "Ġп ÑĢой", + "ĠпÑĢ Ð¾Ð¹", + "ĠпÑĢо й", + "Ġок ÑĢÑĥг", + "ν ια", + "νι α", + "l adu", + "la du", + "lad u", + "k oli", + "ko li", + "kol i", + "Ġ oÄŁ", + "Ġo ÄŁ", + "Ġви Ñģок", + "ĠвиÑģ ок", + "Ð ĩ", + "çĽ ĸ", + "ãĤı ãģij", + "ãĥ¼ ãĥģ", + "ãĥ¼ãĥ ģ", + "æ¡ ¥", + "ĠÅ¡kol y", + "ĠÅ¡k oly", + "i tom", + "it om", + "ito m", + "Ġت ØŃص", + "ĠتØŃ ص", + "a lara", + "al ara", + "ala ra", + "alar a", + "Ġк ал", + "Ġка л", + "ĠпÑĢи Ñħод", + "Ġ é¦ĸ页", + "Ġé¦ĸ 页", + " į", + "ĠÛĮ عÙĨÛĮ", + "Ġt ùy", + "Ģ ë¡ľ", + "볤 ê³ł", + "á ze", + "áz e", + "Ġ ек", + "Ġе к", + "èħ ¹", + "ĠF akat", + "ĠFa kat", + "ĠFak at", + "п о", + "ĠÄij á»įc", + "ĠÄijá»į c", + "å Īĺ", + "åĪ ĺ", + "áz al", + "ÑĤ он", + "ÑĤо н", + "Ú¯ ÙĪ", + "ä¸ Ī", + "ìĹ ¼", + "ĠÙĦÙĦ Ø£", + "ĠE ÄŁer", + "åħ±åĴĮ åĽ½", + "ذ ر", + "Ġd aÄŁ", + "Ġda ÄŁ", + "è¡Į ä¸ļ", + "ê±°ëŀĺ ê°Ģ", + "è´Ł è´£", + "C ông", + "ĠÑĦ илÑĮ", + "ĠÑĦил ÑĮ", + "Ġ аÑģ", + "Ġа Ñģ", + "Ġch ẳng", + "ним аÑĤÑĮ", + "нима ÑĤÑĮ", + "Ġif ad", + "Ġi fad", + "Ġ ìħ", + "Ġì ħ", + "çĪ µ", + "ĠÅĻe Å¡enÃŃ", + "åĽ½ 产", + "Ġкак ой", + "Ġка кой", + "Ġम ध", + "ĠY ar", + "ĠYa r", + "ob raz", + "obra z", + "Ġon emoc", + "Ġ âĤ", + "Ġâ Ĥ", + "åİŁ åĽł", + "ĠÙĥ رد", + "ĠÙĥر د", + "Ġآز اد", + "Ġad lı", + "ĠH izmet", + "ãĥ¼ ãĥij", + "ãĥ¼ãĥ ij", + "ÙĨ سÙĬØ©", + "ÙĨس ÙĬØ©", + "Ġв нÑĥÑĤ", + "ĠвнÑĥ ÑĤ", + "Ġd ále", + "Ġdál e", + "Ġdá le", + "Îķ Î¥", + "Ġ ÑĥÑħ", + "ĠÑĥ Ñħ", + "Ġ ÑĢев", + "ĠÑĢ ÐµÐ²", + "ĠÑĢе в", + "Ġ меÑĪ", + "Ġм еÑĪ", + "ĠkoÅŁ ul", + "ĠاÛĮ راÙĨÛĮ", + "ĠاÛĮراÙĨ ÛĮ", + "éĺ µ", + "Ġ ëıĻìķĪ", + "ĠëıĻ ìķĪ", + "à¹Ģ à¸Ł", + "à¹ĢภŁ", + "ëłĪ 벨", + "è¨Ń è¨Ī", + "p rak", + "pr ak", + "pra k", + "p oÄį", + "po Äį", + "اع دة", + "اعد Ø©", + "Ġas ker", + "Ġask er", + "ĠÙĪÛĮ ÚĺÙĩ", + "ĠÙĪÛĮÚĺ Ùĩ", + "ĠТ еÑĢ", + "ĠТе ÑĢ", + "mak ta", + "makt a", + "ĠÄįty ÅĻ", + "Âł С", + "âĢĮÚ©ÙĨ ÙĨد", + "ï¼Į 並", + "ĠÑĢоÑģ Ñĸй", + "Ġu nut", + "Ġun ut", + "è¿Ļ ä¸Ģ", + "o pak", + "op ak", + "opa k", + "èĢ IJ", + "Ġз амеÑĤ", + "Ġза меÑĤ", + "Ġзам еÑĤ", + "à¹Į ล", + "ب ÙĨ", + "Ġ 몰", + "Ġëª °", + "Ġins anlar", + "Ġinsan lar", + "åı¯ æĺ¯", + "æ¢ ¦", + "к од", + "ко д", + "èĽ Ľ", + "kl adnÃŃ", + "klad nÃŃ", + "ÑĢов од", + "ÑĢо вод", + "ĠмÑĸ ÑģÑĤа", + "ĠмÑĸÑģ ÑĤа", + "ĠмÑĸÑģÑĤ а", + "åĩº äºĨ", + "Ġп аÑģ", + "Ġпа Ñģ", + "о бов", + "об ов", + "Ú¯ اÙĩÛĮ", + "گاÙĩ ÛĮ", + "в ин", + "ви н", + "à¥įर ध", + "Ġком пон", + "Ġкомп он", + "Ġ аÑĤ", + "Ġа ÑĤ", + "Ġa det", + "Ġad et", + "Ġade t", + "Ġ ãĥģ", + "Ġãĥ ģ", + "Ġذ ات", + "ĠØŃ ÙĪ", + "Ġtro chu", + "à¹ģ หà¸Ļ", + "à¹ģห à¸Ļ", + "Ġзав жди", + "ĠPart isi", + "ĠParti si", + "ĠS avaÅŁ", + "ĠSav aÅŁ", + "Ġs ÃŃd", + "ĠsÃŃ d", + "Ġ Ñģон", + "ĠÑģ он", + "ĠÑģо н", + "ر ÙĬÙģ", + "رÙĬ Ùģ", + "Ġz cela", + "åĺ ´", + "ĠÑĦ ÑĥÑĤ", + "il erek", + "ile rek", + "iler ek", + "ilere k", + "m alıdır", + "malı dır", + "Ġd á»±a", + "Ġdá»± a", + "à¸Ĺำ à¸ĩาà¸Ļ", + "ĠÙĪÙĦ ÙĥÙĨ", + "ĠÙĪÙĦÙĥ ÙĨ", + "ãģª ãĤĵãģł", + "ãģªãĤĵ ãģł", + "ĠÚ© ÙħÛĮ", + "ĠÚ©Ùħ ÛĮ", + "Ġléka ÅĻ", + "Ïģ Ïį", + "ج Ùħع", + "جÙħ ع", + "ın ızı", + "ını zı", + "ınız ı", + "ĠAn adolu", + "ãģ«ãĤĪ ãģ£ãģ¦", + "Ġê·¸ëŁ¬ ëĤĺ", + "Ġ íĮĶ", + "ĠíĮ Ķ", + "Ñĸ ÑĤÑĮ", + "ÑĸÑĤ ÑĮ", + "Ġ ¦", + "Ġ ¦", + "ä¸į è¦ģ", + "à¸ĸ ม", + "Ġ ÙĬد", + "ĠÙĬ د", + "ĠpÅĻ ep", + "ĠpÅĻe p", + "Ġ è¦ģ", + "Ġè¦ ģ", + "ĠпÑĢо екÑĤ", + "ĠпÑĢоек ÑĤ", + "ĠÑĢе ги", + "ĠÑĢег и", + "Ġd ạy", + "к ового", + "ков ого", + "ково го", + "Ġ ıs", + "Ġı s", + "ĠK ı", + "ĠÙģÙĬ Ùĩا", + "ĠÙģÙĬÙĩ ا", + "ÛĮ ات", + "ÛĮا ت", + "ĠÑģÑĤ ала", + "ĠÑģÑĤал а", + "ĠÑģÑĤа ла", + "æĬ ľ", + "Ñĥ ÑĢа", + "ÑĥÑĢ Ð°", + "ĠÙ¾ اÛĮاÙĨ", + "ĠپاÛĮ اÙĨ", + "Ġپا ÛĮاÙĨ", + "Ġitibar en", + "а нÑĸÑĹ", + "ан ÑĸÑĹ", + "анÑĸ ÑĹ", + "Ġо ÑĦоÑĢм", + "л еÑĩ", + "ле Ñĩ", + "ε ξ", + "æĶ¿ çŃĸ", + "Ġ ç½ij", + "Ġç½ ij", + "å Ĥ¬", + "åĤ ¬", + "ĠìĿ´ 룰", + "Ġkar deÅŁ", + "Ñİ Ñīего", + "ÑİÑī его", + "л ки", + "ĠاÛĮ اÙĦات", + "ت Ùĩا", + "تÙĩ ا", + "Ġпод Ñħод", + "ĠØŃ ÙĪÙĦ", + "ĠØŃÙĪ ÙĦ", + "ĠÑģов ÑĢем", + "íĿ ¥", + "Ġ 詳細", + "Ġè© ³ç´°", + "ı yı", + "ıy ı", + "ĠتÙĤ ÙĪ", + "æ¯Ķ è¾ĥ", + "Ġαν ÏĦι", + "Ġ ΣΤ", + "ĠΣ Τ", + "ji šť", + "yn ı", + "Ġpo cházet", + "- Ðļ", + "Ġзав д", + "Ùİ Ø³", + "ç»ĵ æŀĦ", + "Ùħ ار", + "Ùħا ر", + "ν οι", + "νο ι", + "ĠÎł εÏģι", + "ĠγεÏģ ι", + "èĩ £", + "Ġna cházÃŃ", + "Ġnach ázÃŃ", + "ÏĦ Ïİ", + "à¥įय त", + "u yu", + "uy u", + "æķ Ĺ", + "e bi", + "eb i", + "Ġë°Ķ ë¡ľ", + "ĠгÑĢ Ð½", + "ĠاÙĦ اس", + "Ġorg án", + "Ġ edin", + "Ġe din", + "Ġed in", + "Ġedi n", + "åŁ ĥ", + "à¹ģ à¸Ħ", + "ĠØŃ دÙĪØ¯", + "ĠØŃد ÙĪØ¯", + "ĠдÑĢÑĥг ой", + "ĠдÑĢÑĥго й", + "оÑģ ков", + "оÑģк ов", + "ĠS ợ", + "ĠpÅĻ ib", + "ĠpÅĻi b", + "ä¿Ŀ æĬ¤", + "Ùħ بر", + "Ġ ãĥĨ", + "Ġãĥ Ĩ", + "Ġd oz", + "Ġdo z", + "op tera", + "opt era", + "ิล à¸Ľ", + "د ارÛĮ", + "دار ÛĮ", + "دا رÛĮ", + "æĦŁ è§ī", + "代 çIJĨ", + "ÙĨ دا", + "ÙĨد ا", + "ا ÙĬا", + "اÙĬ ا", + "ص ÙĨ", + "Ġce lé", + "Ġcel é", + "Ġ è©ķ", + "Ġè© ķ", + "à¸ĩ à¸Ļ", + "Ġ leh", + "Ġl eh", + "Ġle h", + "èİ· å¾Ĺ", + "ãĢĢ ï¾ī", + "ĠìĦł ìĪĺ", + "르 ëĬĶ", + "à¤Ĩ र", + "å§Ķ åijĺ", + "æĹł çłģ", + "Ġ è·", + "Ġè ·", + "Ġza jÃŃm", + "Ġzaj ÃŃm", + "ec ké", + "eck é", + "æ µľ", + "æµ ľ", + "ĠÑĥ нÑĸвеÑĢÑģиÑĤ", + "ĠбÑİдж еÑĤ", + "à¥ĩ .", + "Ġv stup", + "Ġ оÑī", + "Ġо Ñī", + "Ġ åľĭ", + "Ġåľ ĭ", + "ä¸ģ 缮", + "Ġв едÑĮ", + "Ġвед ÑĮ", + "Ġë§IJ ìĿĦ", + "Ġtek nik", + "Ġtekn ik", + "ãĢĢ ï½Į", + "ãĢĢï½ Į", + "ĠпÑĸд виÑī", + "ĠÑģвÑıз и", + "ĠÑģвÑı зи", + "Ġتر جÙħ", + " ī", + "ĠÄij âu", + "Ñĸ Ñĩного", + "ÑĸÑĩ ного", + "å°ij å¹´", + "e cta", + "ect a", + "ec ta", + "ि लत", + "िल त", + "ι οÏĤ", + "ιο ÏĤ", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "t eg", + "te g", + "á» īnh", + "á»ī nh", + "¯ ¿", + "Ġne bu", + "Ġneb u", + "ÙĬ ÙĬÙĨ", + "о ÑıÑĤ", + "оÑı ÑĤ", + "é¤ Ĭ", + "ĠاÙĤتص ادÛĮ", + "ĠاÙĤتصاد ÛĮ", + "âĢĻ nun", + "âĢĻn un", + "ĠÐĴ Ñĸк", + "Ġng Äĥn", + "ëĮĢ íķĻêµIJ", + "ëĮĢíķĻ êµIJ", + "é ı", + "़ र", + "ا باÙĨ", + "اب اÙĨ", + "Ùİ Ùĥ", + "Ġet kil", + "Ġetk il", + "Ġetki l", + "Ġch ắn", + "Ġë°ľ ìĥĿ", + "Ġtam amen", + "Ġtamam en", + "ĠÙħØŃ ÛĮØ·", + "ü lü", + "ül ü", + "åģ¥ åº·", + "ĠÑĢаÑģÑĤ ениÑı", + "ÏĢο ί", + "Ġ è¶ħ", + "Ġè¶ ħ", + "á Äį", + "ĠìϏ ë¶Ģ", + "ĠØ® ÛĮÙĦÛĮ", + "ĠØ®ÛĮ ÙĦÛĮ", + "Ġد ÙĪØ³Øª", + "ĠدÙĪ Ø³Øª", + "à¹Ģà¸Ĥ à¸ķ", + "Ġk alan", + "Ġka lan", + "Ġkal an", + "ë¨ ¼", + "a vÄĽ", + "av ÄĽ", + "문 íĻĶ", + "Ġди аг", + "ĠÙĨ ÙĪÙĬس", + "ĠÙĨÙĪ ÙĬس", + "íķ ij", + "à¸ŀ าะ", + "ëĭ¤ ê°Ģ", + "Ġn iá»ĩm", + "Ġس ÙĪÙħ", + "ĠسÙĪ Ùħ", + "- м", + "à¸Ķำ à¹Ģà¸Ļ", + "à¹ĩ ว", + "ãĢĤ ãģĵãģ®", + "ç¯ ī", + "Width Space", + "Zero WidthSpace", + "ائ ÙħØ©", + "ائÙħ Ø©", + "à¹Ħà¸ĭ à¸ķ", + "ä¸ĭè½½ 次æķ°", + "ä¼¼ ä¹İ", + "ĠÑĤ в", + "Ġzá kaz", + "Ġج دا", + "Ġجد ا", + "Ġg ider", + "Ġgi der", + "Ġgid er", + "ãĥ¼ ãĥĵ", + "ãĥ¼ãĥ ĵ", + "n ů", + "Ġë§ģ íģ¬", + "ĠdÃ¼ÅŁ ük", + "Ñĥ нок", + "Ñĥн ок", + "Ġt óc", + "ĠÑĤ ÑĢÑĥб", + "ĠÑĤÑĢ Ñĥб", + "ĠÑĤÑĢÑĥ б", + "о кÑģ", + "ок Ñģ", + "Ġtr ải", + "Ġtrả i", + "Ġm iá»ħn", + "Ġth Æ°á»Ľc", + "Ġnh áºŃt", + "Âł D", + "m asının", + "mas ının", + "masını n", + "è¼ ª", + "ĠÎĿ ο", + "er ç", + "Ġdok once", + "Ġdokon ce", + "ĠG üven", + "ĠGü ven", + "ov aná", + "ova ná", + "ovan á", + "е зд", + "ез д", + "Ñĸ нÑĮ", + "Ñĸн ÑĮ", + "èģ ²", + "اÙĦ Ø£", + "ï¼Į ä½Ĩæĺ¯", + "ï¼Įä½Ĩ æĺ¯", + "Ġпол ноÑģÑĤÑĮÑİ", + "Port ály", + "ĠØŃ اÙ쨏", + "à¥Ĥ à¤ķ", + "ÑĢ Ñĥн", + "ÑĢÑĥ н", + "人 çī©", + "Ġa çı", + "Ġaç ı", + "Ġp oru", + "Ġpo ru", + "Ġpor u", + "er iod", + "eri od", + "ĠAmer ika", + "ĠAmerik a", + "çĩ Ł", + "Ġ رÙĪØ¯", + "Ġر ÙĪØ¯", + "ĠرÙĪ Ø¯", + "ĠкÑĢов и", + "ÙĪ ÙĤت", + "ÙĪÙĤ ت", + "éĺ ¶", + "ãĥ»âĶģ ãĥ»âĶģ", + "ر ÙĬÙħ", + "رÙĬ Ùħ", + "åİĨ åı²", + "ä¸ ¸", + "Ġзн овÑĥ", + "Ġзнов Ñĥ", + "ĠÑģво его", + "ĠÑģвое го", + "бÑĥд ÑĮ", + "ĠØŃ جÙħ", + "ĠØŃج Ùħ", + "ĠδÏį ο", + "ìķĪ ëĤ´", + "Ġ ãģ§", + "à¹Ī ะ", + "Ùij Ùı", + "çµIJ æŀľ", + "âĢĻ i", + "à¹Į ,", + "åŃĺ äºİ", + "Ġरà¤ĸ न", + "ĠسرÙħ اÛĮÙĩ", + "Ġг лÑĥб", + "ĠглÑĥ б", + "ĠÑĢаз Ñĸ", + "ĠÑĢа зÑĸ", + "Ñĩ нÑĸ", + "ï¼Į åıĪ", + "c ısı", + "cı sı", + "æľī åħ³", + "ãĤ» ãĥ³", + "èIJ ¨", + "ĠGi áo", + "ĠGiá o", + "ĠاÙĦØ« اÙĨÙĬ", + "ĠÑĢаз ом", + "Ġ ÑĤÑĢо", + "ĠÑĤ ÑĢо", + "ĠÑĤÑĢ Ð¾", + "Ġaçık lam", + "åĨ³ å®ļ", + "à¸Ń à¸Ľ", + "åĶ ¯", + "ĠÅŁ ark", + "ĠÅŁar k", + "Ġsist emi", + "Ġsistem i", + "Ġto prak", + "Ġtop rak", + "èĢĥ ãģĪ", + "Ġпоп ÑĥлÑıÑĢ", + "Ġ ëĨį", + "ĠëĨ į", + "ا ÙĬÙĨ", + "اÙĬ ÙĨ", + "स म", + "Ġ ÂĢ", + "Ġ Ģ", + "Ġed erek", + "Ġeder ek", + "Ġg ec", + "Ġge c", + "ìĤ¬ ìĹħ", + "ĠÑĢ Ð¾ÐºÐ¸", + "ĠÑĢок и", + "ĠбеÑĢ ÐµÐ¼", + "ĠخاÙĨÙĪ Ø§Ø¯Ùĩ", + "Ġ èµ·", + "Ġèµ ·", + "Ġ ЧÑĤо", + "ĠЧ ÑĤо", + "Ġo bÄĽ", + "Ġob ÄĽ", + "и нÑĸ", + "ин Ñĸ", + "ìĿ´ ìĹĪ", + "ĠIn di", + "ĠInd i", + "Ġд иÑĤ", + "Ġди ÑĤ", + "ãĥ¶ æľĪ", + "Ġнем ного", + "Ġzáklad ÄĽ", + "à¹Ĥ à¸Ħ", + "ĠÑģам ого", + "ĠÑģамо го", + "Ġب ØŃØ«", + "ĠبØŃ Ø«", + "Ġ æ¶", + "Ġæ ¶", + "ов ж", + "Ġоб ÑĢаÑī", + "ĠобÑĢа Ñī", + "à Ĵ", + "ว รร", + "วร ร", + "à¤Ĥ श", + "ĠоÑĩ еÑĢед", + "ĠÙģ Ø±Ø²", + "ĠÙ쨱 ز", + "ëĮĢ íķľ", + "Ġs izin", + "Ġsi zin", + "Ġsiz in", + "Ġsizi n", + "ر ÙģØª", + "رÙģ Øª", + "Ñİ Ñīим", + "ÑİÑī им", + "æ» ij", + "a vir", + "av ir", + "avi r", + "ĠÙĪ ØµÙĦ", + "ĠÙĪØµ ÙĦ", + "Ġqu ay", + "Ġqua y", + "Ġг ип", + "ÑĢ ÐµÐ½Ð¸Ñı", + "ÑĢе ниÑı", + "ÑĢен иÑı", + "à¥į वत", + "à¥įव त", + "ιν Ïīν", + "à¤ľ ह", + "Ġh Æ¡i", + "Ġpo važ", + "Ġpov až", + "Ġع رب", + "м енÑĤа", + "мен ÑĤа", + "менÑĤ а", + "Ġо ÑģÑĤан", + "ĠоÑģÑĤ ан", + "ä¹ĭ éĹ´", + "a cÃŃch", + "ac ÃŃch", + "acÃŃ ch", + "ĠÑģказ ала", + "ĠÑģказал а", + "ìĿ´ ëĿ¼ëĬĶ", + "ìĿ´ëĿ¼ ëĬĶ", + "ĠØ´ اخ", + "Ġëĭ¹ ìĭł", + "ar lar", + "arl ar", + "Ġмл н", + "åĨ ¬", + ". :.:.:", + ".: .:.:", + ".:.: .:", + ".:. :.:", + ".:.:. :", + "Ġ θε", + "Ġθ ε", + "Ġher kes", + "Ġherk es", + "л Ñıд", + "лÑı д", + "ا Ùħا", + "اÙħ ا", + "Ġë ŃIJ", + "Ïĥιμο ÏĢοι", + "Ġ obraz", + "Ġob raz", + "Ġobr az", + "Ġobra z", + "غ اÙĦ", + "B Æ°á»Ľc", + "å° Ĭ", + "ìŀIJ 를", + "æĢ Ĵ", + "οÏħ Ïģγ", + "å¼ķ ãģį", + "Ġkon uda", + "Ġkonu da", + "ĠاÙĦت ج", + "Ġ krit", + "Ġk rit", + "Ġkr it", + "å¿ į", + "ĠìłĦìĦ¸ ê°Ģ", + "г овоÑĢ", + "го воÑĢ", + "гов оÑĢ", + "Ġist iyor", + "о ки", + "ок и", + "ĠобеÑģп еÑĩ", + "ĠобеÑģпе Ñĩ", + "Ġay rıca", + "Ġayrı ca", + "à¹Ģ à¸ľ", + "à¹Ģภľ", + "а ÑĢод", + "аÑĢ Ð¾Ð´", + "İ Åŀ", + "ĠجÙħ ÙĩÙĪØ±ÛĮ", + "ĠجÙħÙĩÙĪØ± ÛĮ", + "ĠÑģво иÑħ", + "ĠÑģвои Ñħ", + "Ġprov ád", + "Ġ ÑĢам", + "ĠÑĢ Ð°Ð¼", + "ĠÑĢаР¼", + "ĠÑĢа м", + "ĠÙĤ ض", + "л иÑĤелÑĮ", + "лиÑĤ елÑĮ", + "ãĤ± ãĥĥãĥĪ", + "оÑģ оÑĦ", + "Ġर हन", + "Ġरह न", + "k ový", + "ko vý", + "kov ý", + "ì° ¸", + "γ κα", + "γκ α", + "λ οι", + "λο ι", + "μ ÏĢο", + "μÏĢ Î¿", + "ĠÄij au", + "ĠÄija u", + "н иÑİ", + "ни Ñİ", + "Ġman žel", + "Ġ íĺ¼", + "Ġíĺ ¼", + "ĠÑĤ иÑģ", + "ĠÑĤи Ñģ", + "ãĥĨ ãĥ«", + "ab ilecek", + "abil ecek", + "abile cek", + "abilece k", + "н ин", + "ни н", + "à¸ģรรม à¸ģาร", + "éł IJ", + "Ġph ê", + "j edn", + "je dn", + "jed n", + "交 æµģ", + "Ġвним ание", + "об ÑĢеÑĤ", + "Ġжиз нÑĮ", + "ÑĢи ÑģÑĤи", + "ÑĢиÑģÑĤ и", + "ÑĢиÑģ ÑĤи", + "à¥Ī à¤ļ", + "Ġyüz den", + "Ġyüzde n", + "Ġg iy", + "Ġgi y", + "éļ Ķ", + "ä» ²", + "Ġ èĻ", + "Ġè Ļ", + "ĠP arti", + "ĠPart i", + "ĠPar ti", + "Ġ éĸ¢", + "Ġéĸ ¢", + "ัà¸ļ ส", + "Ġnej lepÅ¡ÃŃ", + "Ùİ Ùī", + "ĠìĿ´ ìłľ", + "Ġc ắt", + "ÑĢоз Ñĥм", + "Ġnej sou", + "l ÃŃd", + "lÃŃ d", + "θ ο", + "à¹ĩ à¸ĩ", + "ĠÑģп ÑĢоÑģ", + "ma mÄ±ÅŁ", + "mam Ä±ÅŁ", + "Ġ 쪽", + "Ġì ª½", + "ا ÙģÙĤ", + "اÙģ ÙĤ", + "ÑĨÑĸй ниÑħ", + "Ġ é¦Ļ", + "Ġé¦ Ļ", + "ĠÙħÛĮÙĦÛĮ ÙĪÙĨ", + "å¤ ¢", + "ĠÙģ Ùĩرست", + "r ý", + "Ġпо вÑĸдом", + "Ġпов Ñĸдом", + "ec eÄŁi", + "ece ÄŁi", + "ĠзабезпеÑĩ еннÑı", + " Ķ", + "ãģĹ ãģªãģĦ", + "åŁº ç¡Ģ", + "ĠÚĨ ÙĨÛĮÙĨ", + "ĠÑĢоз ÑĢоб", + "ä¸Ģ äºĽ", + "ãĥ³ ãģ®", + "ĠпÑĢа ÑĨÑĸв", + "ĠпÑĢаÑĨÑĸ в", + "å¾Ĺ åΰ", + "Ġt ấn", + "åŃĺæ¡£ å¤ĩ份", + "Ġ íĻĪ", + "ĠíĻ Ī", + "Ġ à¸Ķาว", + "Ġà¸Ķ าว", + "ìĭ ±", + "л ина", + "ли на", + "лин а", + "ĠвоÑģп ал", + "ÄŁ inden", + "ÄŁin den", + "ÄŁinde n", + "аÑĤ елей", + "аÑĤе лей", + "r ž", + "ĠÑĦ Ñĥн", + "ĠÐIJ л", + "ĠпоÑĩ ÑĤи", + "о вÑĸд", + "ов Ñĸд", + "овÑĸ д", + "ا عب", + "اع ب", + "าะ ห", + "Ġвоз ÑĢаÑģÑĤ", + "ิà¸ĩ ห", + "ĠÙģ ÙĦس", + "ĠÙģÙĦ س", + "ĠÅ¡ est", + "à¸Ĭ าว", + "Ġ 골", + "Ġê³ ¨", + "Ġ oÄį", + "Ġo Äį", + "ãĤ¸ ãĥ§", + "к оÑģÑĤи", + "ко ÑģÑĤи", + "éĽĨ åĽ¢", + "æ± ĩ", + "ĠpÅĻÃŃ liÅ¡", + "Ġ ìĿij", + "ĠìĿ ij", + "ди ви", + "див и", + "ĠдокÑĥм енÑĤа", + "ĠдокÑĥменÑĤ а", + "ĠCh âu", + "Ġm áu", + "Ġmá u", + "Ġkh ô", + "à ķ", + "Ñī ий", + "Ñīи й", + "Ġs ẵn", + "Ġкон ÑĦ", + "Ġз ÑĥÑģÑĤ", + "åĽŀ çŃĶ", + "Ġ коÑĢиÑģÑĤ", + "ĠкоÑĢ Ð¸ÑģÑĤ", + "Ġко ÑĢиÑģÑĤ", + "ĠÏĢεÏģ ί", + "ĠÏĢε Ïģί", + "ä¸ °", + "Ġm ạch", + "ан к", + "ä¸ĭ æĿ¥", + "èµĦ æĸĻ", + "ย à¸Ńà¸Ķ", + "ĠÏĢ Î¹Î¿", + "à¹ī à¸ĩาà¸Ļ", + "à¹īà¸ĩ าà¸Ļ", + "Ġum ÃŃst", + "æ½ ®", + "çªģ çĦ¶", + "Ġk ultur", + "Ġkul tur", + "ĠاÙĦ صÙģ", + "ĠاÙĦص Ùģ", + "a larının", + "alar ının", + "aların ın", + "alarını n", + "ĠÎĶη μο", + "Ġвикон аннÑı", + "Ġвико наннÑı", + "ï½ ¿", + "Ġбез опаÑģ", + "ĠÑģ аÑħ", + "Ġn oh", + "Ġno h", + "à¹ĥ à¸ļ", + "éĥ½ å¸Ĥ", + "ÅŁ am", + "ÅŁa m", + "б ÑĥÑĤ", + "бÑĥ ÑĤ", + "Ġ모 ìĬµ", + "Ġв аг", + "Ġва г", + "çIJĨ è§£", + "Ġekonom ik", + "Ġkh ắc", + "Ġs vat", + "Ġsv at", + "лиÑĪ ÐºÐ¾Ð¼", + "ัà¸ĩ à¸Īาà¸ģ", + "iz yon", + "èĥ½ å¤Ł", + "ί νει", + "ίν ει", + " Ĭ", + "ì¦ Į", + "Ġ ÙĩاÛĮÛĮ", + "ĠÙĩ اÛĮÛĮ", + "ĠÙĩاÛĮ ÛĮ", + "ĠkiÅŁ iler", + "ĠkiÅŁi ler", + "Ġк леÑĤ", + "Ġкл еÑĤ", + "Ġкле ÑĤ", + "íĺ ģ", + "à¥ĥ द", + "i Å¡", + "ëĶĶ ìĺ¤", + "ÙĬ راÙĨ", + "ÙĬر اÙĨ", + "ÙĬرا ÙĨ", + "ĠÐĿ Ñĥ", + "à¸Ń à¸Ļà¸Ĺ", + "à¸Ńà¸Ļ à¸Ĺ", + "ĠÑģ оÑĩ", + "ĠÑģо Ñĩ", + "Ġist eyen", + "ĠS ez", + "ĠSe z", + "Ġ ãĤ»", + "ĠãĤ »", + "ĠA ç", + "âĢĮ ÙĨ", + "ĠÑĤ оп", + "ĠÑĤо п", + "ĠÑĤеÑĢÑĢиÑĤ оÑĢ", + "a cılık", + "acı lık", + "Ġод нÑĥ", + "Ġv eri", + "Ġver i", + "Ġve ri", + "ĠÚ© د", + "ĠÚ¯ ÙģØªÙĩ", + "ĠÚ¯ÙģØª Ùĩ", + "Ġcin sel", + "Ġcins el", + "олог ии", + "ĠpÅĻed mÄĽt", + "à¤Ĥ à¤ĺ", + "Ġ 空", + "Ġç© º", + "γ α", + "' ye", + "'y e", + "ت رة", + "تر Ø©", + "Ġd ÅĻÃŃ", + "ĠH Ãłn", + "ĠHÃł n", + "Ġر شتÙĩ", + "Ġv idea", + "Ġvi dea", + "Ġvid ea", + "Ġvide a", + "Ġ ног", + "Ġн ог", + "Ġно г", + "æ ·»", + "æ· »", + "è¿ĺ æľī", + "ÙĨ در", + "ÙĨد ر", + "Ġy erde", + "Ġyer de", + "Ġk ent", + "Ġke nt", + "Ġken t", + "à¸ļ าล", + "Ġд еÑģÑı", + "Ġде ÑģÑı", + "ä¸ļ åĬ¡", + "Ġоб ÑĬек", + "ĠобÑĬ ек", + "ĠвнÑĥÑĤÑĢ ÑĸÑĪ", + "ĠвнÑĥÑĤ ÑĢÑĸÑĪ", + "k ola", + "ko la", + "kol a", + "eb nÃŃ", + "ี ล", + "Ġ ,.", + "Ġ, .", + "ĠмÑĸж наÑĢод", + "ãģªãĤĵ ãģ¦", + "ĠS öz", + "Ġ chod", + "Ġc hod", + "Ġch od", + "Ġcho d", + "Ġtr úc", + "Ġtrú c", + "ìļĶ ìĿ¼", + "Ġph áºŃn", + "Ñģ ка", + "Ñģк а", + "ĠÑħ лоп", + "Ñģ ким", + "Ñģк им", + "Ñģки м", + "Ġka pit", + "Ġkap it", + "ëĵ¤ ìĹIJê²Į", + "Ġb Ãło", + "ĠbÃł o", + "lı ģın", + "lıģı n", + "lıģ ın", + "İ ÅŁ", + "Äį nÃŃk", + "ÄįnÃŃ k", + "Ġ NgoÃłi", + "ĠNg oÃłi", + "Ġب ÛĮاÙĨ", + "ĠبÛĮ اÙĨ", + "Ġpro Äį", + "Ġpr oÄį", + "ĠпÑĢоÑĤ Ñıгом", + "åĢ ī", + "е Ñİ", + "Ġ νο", + "Ġν ο", + "ëĿ¼ ëıĦ", + "ì ·¨", + "Ġви Ñıв", + "Ġпо над", + "Ġпон ад", + "Ġжов ÑĤ", + "Ġ æ¯Ķ", + "Ġæ¯ Ķ", + "Ġd oby", + "Ġdo by", + "Ġdob y", + "л ам", + "ла м", + "Ñij л", + "Ġ ÑĢаÑħ", + "ĠÑĢ Ð°Ñħ", + "ĠÑĢа Ñħ", + "Ġвоз ника", + "Ġвозник а", + "ниÑĨÑĤ во", + "å± ¤", + "ĠоÑĤ лиÑĩ", + "ĠоÑĤли Ñĩ", + "çĤ İ", + "é£ ¯", + "Ġživ ota", + "Ġživot a", + "at ör", + "Ġce lý", + "Ġcel ý", + "Ġ aday", + "Ġa day", + "Ġad ay", + "Ġada y", + "ر ÙĬÙĥÙĬ", + "رÙĬ ÙĥÙĬ", + "رÙĬÙĥ ÙĬ", + "Ġب ص", + "m eyen", + "me yen", + "meye n", + "mey en", + "ìļ° ìĬ¤", + "ب ÙĪÙĦ", + "بÙĪ ÙĦ", + "Ġ озна", + "Ġо зна", + "Ġоз на", + "é º¼", + "éº ¼", + "æĵ ļ", + "Ġz kou", + "Ġzk ou", + "ëĤĺ ìļĶ", + "Ġk ry", + "Ġkr y", + "Ġnem oh", + "Ġvyu žÃŃ", + "Ġ æľ¨", + "Ġад мÑĸнÑĸÑģÑĤÑĢа", + "ا Ùĩا", + "اÙĩ ا", + "à¹ĥ à¸ģล", + "____ ____", + "Ġ гоÑĤ", + "Ġг оÑĤ", + "ĠدÛĮ گرÛĮ", + "ĠدÛĮگر ÛĮ", + "Ġл екаÑĢ", + "è§ Ģ", + "Ġ íĺij", + "Ġíĺ ij", + "ĠB öyle", + "ist rov", + "istr ov", + "istro v", + "女 åŃIJ", + "Ġпоп еÑĢед", + "ĠÙĨÙĪÙĬس ÙĨدÙĩ", + "ÙĴ ÙĦ", + "ĠÐŁ ав", + "Ġö rnek", + "Ġör nek", + "Ġп ÑĢик", + "ĠпÑĢ Ð¸Ðº", + "ĠпÑĢи к", + "Ġ ÑĪи", + "ĠÑĪ Ð¸", + "üslü man", + "ĠÙħÙĤ ابÙĦ", + "åįģ äºĮ", + "Ġb ekl", + "Ġbe kl", + "Ġbek l", + "Ġver ir", + "Ġve rir", + "Ġveri r", + "ÙĪ Ø°", + "ض Ø©", + "ÑĢо ÑĤив", + "ÑĢоÑĤ ив", + "æĮ ij", + ". .:", + ".. :", + "Ġخارج ÙĬØ©", + "a dık", + "ad ık", + "adı k", + "ĠÐŁ оÑĩ", + "ĠÐŁÐ¾ Ñĩ", + "ĠÑħÑĥд ож", + "客 æĪ·", + "μ ον", + "μο ν", + "ek tiv", + "ekt iv", + "Ġt vá", + "Ġtv á", + "Û² Û²", + "Ġl á»įc", + "Ġо но", + "Ġон о", + "ÑĨ иÑĤ", + "ÑĨи ÑĤ", + "ĠÐĴ Ñģ", + "Ġ å¢", + "Ġå ¢", + "æµ ª", + "а ÑĢÑĸ", + "аÑĢ Ñĸ", + "Ġsür ekli", + "Ġ stra", + "Ġs tra", + "Ġst ra", + "Ġstr a", + "Ġb ize", + "Ġbi ze", + "Ġbiz e", + "Ġtes pit", + "Ġch âu", + "ĠاÙĦ ض", + "à¹īà¸Ń à¸ĩà¸ģ", + "à¹īà¸Ńà¸ĩ à¸ģ", + "Ġ èĢħ", + "ĠèĢ ħ", + "ĠH á»", + "Ġкажд Ñĭй", + "а Ñİ", + "à¸Ļ à¸Ħร", + "à¸Ļà¸Ħ ร", + "à¸Ĺ ะ", + "ĠÙħر اجع", + "ĠÙħراج ع", + "Ġha line", + "Ġhal ine", + "δ οÏĤ", + "δο ÏĤ", + "e ÄŁi", + "ĠÙħÛĮ زاÙĨ", + "Ġ ÙĩÙĦ", + "ĠÙĩ ÙĦ", + "Ġb olest", + "Ġbo lest", + "Ġbol est", + "Ġ åľŁ", + "Ġåľ Ł", + "Ġu zman", + "Ġuz man", + "ÑĢ Ð¾Ð³", + "ÑĢо г", + "確 èªį", + "ĠÑĢÑĸз ниÑħ", + "Ġза кÑĢÑĭ", + "Ġзак ÑĢÑĭ", + "лÑĥ ги", + "лÑĥг и", + "ĠÑģо веÑĤ", + "ĠÑģов еÑĤ", + "id di", + "idd i", + "åIJĪ ãĤıãģĽ", + "Ġ åIJī", + "ĠåIJ ī", + "Ġk iá»ĩm", + "ë² ½", + "ĠÙħع ÙħÙĪÙĦ", + "ĠопÑĢед елÑı", + "ĠопÑĢедел Ñı", + "Ġmik tar", + "Ġ ìŀIJëıĻ", + "ĠìŀIJ ëıĻ", + "Ġil aç", + "л оÑĩ", + "ло Ñĩ", + "Ġy ılı", + "Ġyıl ı", + "Ġyı lı", + "Ġ ÄIJá»ĥ", + "ĠÄIJ á»ĥ", + "ĠÄIJá» ĥ", + "Ġab ych", + "Ġaby ch", + "Ġrek lam", + "Ġrekl am", + "Ġv ypad", + "Ġvy pad", + "Ġvyp ad", + "Ġна ÑĥÑĩ", + "à¹Ģà¸Ħร าะห", + "Ġ ä»ĸ", + "p ovÄĽ", + "po vÄĽ", + "ï¼Į 让", + "ç¥ Ŀ", + "ا ÙĪÙĨد", + "اÙĪ ÙĨد", + "اÙĪÙĨ د", + "Ġ: |:", + "Ġ:| :", + "Ġre ž", + "Ġvyb av", + "ìľ ¤", + "æŃ ´", + "огÑĢаÑĦ иÑı", + "ez peÄį", + "ezpe Äį", + "± n", + "о вÑĥ", + "ов Ñĥ", + "Ġд Ñĥма", + "ĠдÑĥ ма", + "ĠдÑĥм а", + "Ġjedn odu", + "Ġjedno du", + "о Ñīи", + "оÑī и", + "ĠÙħ شتر", + "ĠÙħØ´ تر", + "è¦ ³", + "Ġyok tur", + "Ġyoktu r", + "Ġob Äįan", + "ĠTr ần", + "ım sız", + "α ιν", + "αι ν", + " Į", + "ر ÛĮاÙĨ", + "رÛĮ اÙĨ", + "ĠJe ho", + "ĠJeh o", + "ĠاÙĦ Ø¢ÙĨ", + "ĠاÙĦØ¢ ÙĨ", + "ÑģÑĮ ким", + "ÑģÑĮк им", + "Ġk dyby", + "Ġkdy by", + "ĠbaÅŁ ına", + "Ġprez ident", + "Ġ Viá»ĩc", + "ĠV iá»ĩc", + "åħ ¼", + "à¥Į à¤ľ", + "Ġ매매 ê°Ģ", + "模 å¼ı", + "nÃŃ mu", + "nÃŃm u", + "Ġ åĤ", + "Ġå Ĥ", + "Ġ deniz", + "Ġd eniz", + "Ġden iz", + "ĺ èĽĽ", + "Ġ èĢĮ", + "ĠèĢ Į", + "ÙĪ ØŃ", + "Ñĭ п", + "Ġâĸ ¼", + "n ul", + "nu l", + "ĠS ev", + "ĠSe v", + "Ġ ruh", + "Ġr uh", + "Ġru h", + "Ġh ạ", + "Ġ Ñıн", + "ĠÑı н", + "Ġ기 본", + "Ġv elik", + "Ġve lik", + "Ġvel ik", + "ĠT ân", + "и лиÑģÑĮ", + "ил иÑģÑĮ", + "или ÑģÑĮ", + "ĠÑħ ÑĢа", + "åĤ ·", + "Ġà¤Ĩ à¤ı", + "Ġn ynÃŃ", + "Ġny nÃŃ", + "» ØĮ", + "ĠØ´ ع", + "æĿ Ĥ", + "Ġм ÑĭÑĪ", + "ĠмÑĭ ÑĪ", + "ãģĻ ãģIJ", + "Ġ ê³µì§Ģ", + "Ġê³µ ì§Ģ", + "Ġt á»Ļc", + "ãĥ¼ ãĥĩ", + "ãĥ¼ãĥ ĩ", + "ĠÑģ ело", + "ĠÑģел о", + "Ġا عÙĦاÙħ", + "Ġاع ÙĦاÙħ", + "ĠÅŁ imdi", + "ĠÅŁi mdi", + "ĠاÙĦÙħ ÙĬÙĦاد", + "ĠاÙĨÙĤÙĦ اب", + "Ġشخص ÙĬØ©", + "ĠK ür", + "ĠKü r", + "Ġ вÑĸÑĤ", + "Ġв ÑĸÑĤ", + "ĠвÑĸ ÑĤ", + "ĠاÙĨد ازÙĩ", + "Ġм оÑī", + "Ġмо Ñī", + "t ernet", + "ter net", + "tern et", + "ĠαÏħ ÏĦή", + "ĠÑĢоз ÑĤа", + "Ġв ив", + "Ġви в", + "l ej", + "le j", + "Ġ 表", + "Ġè¡ ¨", + "ÏĥÏĥ ÏĮÏĦε", + "ĠÙĬ ست", + "ĠÙĬس ت", + "Ġм аÑĪ", + "Ġма ÑĪ", + "åĿ ļ", + "Ġком наÑĤ", + "า หล", + "าห ล", + "Ġ çϼ", + "ĠçĻ ¼", + "ĠاÙĪÙĦ ÛĮÙĨ", + "è¿IJ åĬ¨", + "Ġп ÑĥнкÑĤ", + "ĠпÑĥнк ÑĤ", + "ĠоÑģоб енно", + "Ġм ам", + "Ġма м", + "ç» ©", + " ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄", + "алÑĮ нÑĭм", + "ĠЦ енÑĤ", + "ĠЦе нÑĤ", + "- Ðľ", + "ç· Ĵ", + "Ġह à¤ľ", + "о ÑĤÑĭ", + "оÑĤ Ñĭ", + "ãĤ¤ ãĥī", + "د ارة", + "دار Ø©", + "دا رة", + "ãģ¨ ãģĹãģŁ", + "ั à¸ŀย", + "ัà¸ŀ ย", + "Ġot áz", + "Ġдопом огоÑİ", + "à¹ģละ à¸ģาร", + "ĠÑĤÑĢанÑģп оÑĢÑĤ", + "ĠÑĤÑĢанÑģпоÑĢ ÑĤ", + "ĠÙĤر Ø¢ÙĨ", + "Ġ 第ä¸Ģ", + "Ġ第 ä¸Ģ", + "Ġм ил", + "Ġми л", + "Ġng ôi", + "Ġl inh", + "Ġli nh", + "Ġlin h", + "ĠNh ân", + "ÑĮогод нÑĸ", + "æĢ Ģ", + "à¹ī าส", + "à¹īา ส", + ".:: .::", + "Ġbi rey", + "Ġbir ey", + "æĢĿ ãģĦ", + "à¹ĥ à¸Ķ", + "веÑĢ Ð´", + "ве ÑĢд", + "Ġlistop adu", + "Ġ à¹ģม", + "Ġà¹ģ ม", + "г е", + "Ġк ÑĥÑħ", + "ĠкÑĥ Ñħ", + "Ġ íĻľëıĻ", + "ĠíĻľ ëıĻ", + "Ġ èİ", + "Ġè İ", + "ĠÐIJ лÑĮ", + "ĠÐIJл ÑĮ", + "íļĮ ìĿĺ", + "ĠÏĢ Ïģα", + "Ġv ui", + "Ġvu i", + "ว ร", + "à¤Ĥ व", + "Ġg ece", + "Ġge ce", + "Ġgec e", + "ç« ¶", + "Ġk uv", + "Ġku v", + "м еÑī", + "ме Ñī", + "ĠÑĤеп еÑĢÑĮ", + "ĠÑĤепеÑĢ ÑĮ", + "à¸Ń à¹Ģม", + "åζ 度", + "ĠÑĤ ÑĢеÑĤ", + "ĠÑĤÑĢ ÐµÑĤ", + "ĠÙĨ تÛĮجÙĩ", + "ä»ĺ ãģį", + "Ġ ï¾ŀ", + "Ġï¾ ŀ", + "Ġ Ñĩого", + "ĠÑĩ ого", + "âĢIJ -", + "ĠÅĻÃŃ ká", + "à¸ĩ à¹ĥà¸Ļ", + "ĠnÄĽkol ika", + "ĠnÄĽkolik a", + "Ġb una", + "Ġbu na", + "Ġbun a", + "ï¼Į åŃĺäºİ", + "ล ำ", + "ãĢģ ãģ¨", + "Ġn á»Ļp", + "ĠاÙĦ جÙĨ", + "ĠاÙĦج ÙĨ", + "ĠÎł αν", + "Ġγα ν", + "Ðŀ Ðł", + "Ġدخ تر", + "Ġúda je", + "Ġúdaj e", + "Ġ å¼ł", + "Ġå¼ ł", + "r etim", + "re tim", + "ret im", + "s ınız", + "sın ız", + "ĠÙĩÙĨ اÙĥ", + "ĠÙĩÙĨا Ùĥ", + "ÐĽ Ь", + "æķ ¬", + "Îij Îľ", + "页éĿ¢ åŃĺæ¡£å¤ĩ份", + "ìĤ¬ ê°Ģ", + "Ġt rest", + "Ġtr est", + "Ġtre st", + "Ġtres t", + "v iÄį", + "vi Äį", + "ĠÙ¾ ÛĮدا", + "ĠÙ¾ÛĮ دا", + "ζ ε", + "ĠÐŁ ов", + "ĠÐŁÐ¾ в", + "ÙĦÙħ ات", + "o rex", + "or ex", + "ore x", + "è¬ Ľ", + "ĠвÑĸдк ÑĢиÑĤ", + "м аÑħ", + "ма Ñħ", + "ĠÑĩиÑģ ле", + "ت بار", + "تب ار", + "ĠÎŃ Îº", + "ìķĦ íĮĮíĬ¸", + "r avel", + "ra vel", + "rav el", + "α Ïĥία", + "αÏĥ ία", + "a Äį", + "Ġ à¤ıन", + "Ġà¤ı न", + "ละ à¹Ģà¸Ń", + "Ġз алеж", + "Ġза леж", + "Ġзал еж", + "Ġ æģ", + "Ġæ ģ", + "Ġмож еÑĤе", + "ĠможеÑĤ е", + "Ġможе ÑĤе", + "Ġпо вед", + "Ġпов ед", + "ĠبسÛĮ ارÛĮ", + "ĠبسÛĮار ÛĮ", + "Ġ poÄįet", + "Ġpo Äįet", + "ĠpoÄį et", + "ر بع", + "رب ع", + "e lez", + "el ez", + "ele z", + "ا ÙĪØ±ÛĮ", + "اÙĪ Ø±ÛĮ", + "اÙĪØ± ÛĮ", + "Ġba ÅŁk", + "ĠbaÅŁ k", + "å° Ĥ", + "Ġhal de", + "æĭ Ł", + "S au", + "Sa u", + "о ÑĨи", + "ี à¸Ħ", + "Ġв лади", + "Ġвла ди", + "Ġвлад и", + "ÙIJ Ùħ", + "k ud", + "ku d", + "à¥Ĥ ब", + "å§Ķ åĵ¡", + "า รà¸ĵ", + "าร à¸ĵ", + "o rů", + "or ů", + "Ġ ÙħÙĪÙĦ", + "ĠÙħ ÙĪÙĦ", + "ĠÙħÙĪ ÙĦ", + "Ġ byt", + "Ġb yt", + "Ġby t", + "ĠpÅĻÃŃslu Å¡", + "èĭ± è¯Ń", + "éĢ IJ", + "Ġvel ké", + "Ġvelk é", + "Ġà¤Ĩ श", + "Ġph iếu", + "Ġphi ếu", + "à¹ĥ ส", + "Ġاس Ù¾", + "Ġzbo žÃŃ", + "ãģĵ ãĤĵãģª", + "ãģĵãĤĵ ãģª", + "ĠÙĪÙĩ ÙĬ", + "ĠÑĥÑĩа ÑģÑĤÑĮ", + "ĠÑĥÑĩаÑģÑĤ ÑĮ", + "ĠÑĥÑĩаÑģ ÑĤÑĮ", + "à¸Īำ à¸Ļวà¸Ļ", + "Ġتر Ú©", + "åįģ åĪĨ", + "ÎŁ Îł", + "ÎŁÎ ł", + "κ ολ", + "κο λ", + "Ġf akat", + "Ġfa kat", + "Ġfak at", + "Ġch á»Ĺ", + "éĢļ çŁ¥", + "Ġв одÑĥ", + "Ġво дÑĥ", + "Ġвод Ñĥ", + "ĠÎļα ÏĦηγοÏģία", + "aca ģını", + "acaÄŁ ını", + "л ого", + "ло го", + "ĠmÃ¼ÅŁ ter", + "Ġj ednou", + "Ġjed nou", + "Ġjedn ou", + "Ġjedno u", + "Ġб аÑĢ", + "Ġба ÑĢ", + "i dae", + "id ae", + "ida e", + "d ım", + "dı m", + "è¾ ²", + "åIJ ¹", + "ëIJ ©ëĭĪëĭ¤", + "ĠÅŁekl inde", + "e ným", + "en ým", + "ený m", + "ëĵ ¯", + "i tÄĽ", + "it ÄĽ", + "Ġк олÑĮ", + "Ġкол ÑĮ", + "Ġко лÑĮ", + "ëĮĢ íķĻ", + "ĠÃĸ r", + "Ġ ê½", + "Ġê ½", + "ĠUB ND", + "Ġh ik", + "Ġhi k", + "ãĤī ãģĹãģĦ", + "ãĤīãģĹ ãģĦ", + "åĩº åĵģ", + "C ó", + "Ġ Îŀ", + "ĠÎ ŀ", + "Ġ åħ¥", + "Ġåħ ¥", + "ĠNg uyên", + "ĠÙ¾ ÙĪØ´", + "лÑı ÑĶ", + "ĠØ¢ غاز", + "Ġnhiá»ħ m", + "d ivid", + "div id", + "di vid", + "ç ĺ", + "ا ÙģØªÙĩ", + "اÙģ ØªÙĩ", + "اÙģØª Ùĩ", + "а меÑĤ", + "ам еÑĤ", + "нÑĥ лÑģÑı", + "нÑĥл ÑģÑı", + "ä¼ģ æ¥Ń", + "ÑĢоб ÑĸÑĤ", + "dü ÄŁÃ¼", + "dÃ¼ÄŁ ü", + "Ġ کاÙĨ", + "ĠÚ© اÙĨ", + "à¸Ń à¸ĩà¸Ĺ", + "à¸Ńà¸ĩ à¸Ĺ", + "й н", + "Ġpoh yb", + "Ġpohy b", + "Ġb iá»ĩn", + "Ġbi á»ĩn", + "Ġ ï¼Ľ", + "Ġï¼ Ľ", + "Ùħ ÙĨد", + "ÙħÙĨ د", + "Ġà¤Ĩ à¤ķ", + "ĠÄįlov ÄĽk", + "ĠÄįlovÄĽ k", + "ãĤĴè¦ĭ ãĤĭ", + "ë· °", + "ĠÑĥв елиÑĩ", + "ĠÑĥвели Ñĩ", + "Ġ ê´", + "Ġê ´", + "Ġyan lÄ±ÅŁ", + "éº ¦", + "Ġå¤ĸ éĥ¨", + "ÏĦ οÏħÏģγ", + "ÏĦοÏħ Ïģγ", + "Ġп ÑĢоÑĩ", + "ĠпÑĢ Ð¾Ñĩ", + "ĠпÑĢо Ñĩ", + "ĠÑĢÑĥ ковод", + "çĽ ¤", + "èľ ĺèĽĽ", + "å®ī è£ħ", + "ĠУ кÑĢа", + "Ġtart Ä±ÅŁ", + "ÑĤ аж", + "ÑĤа ж", + "ĠoluÅŁ an", + "ĠRus ya", + "Ġк лÑĥб", + "Ġкл Ñĥб", + "ĠклÑĥ б", + "ĠÎł Ρ", + "alı dır", + "k ın", + "kı n", + "ĠзмÑĸ ни", + "ĠзмÑĸн и", + "leÅŁ ik", + "еÑĢ Ð¿", + "об Ñīе", + "обÑī е", + "Ġqu áºŃn", + "Ġप श", + "ãĤĴ åıĹ", + "à¹Ģล à¸Ĥ", + "ا ضر", + "اض ر", + "Ġuž ivatel", + "λ ία", + "λί α", + "ĠÐĴ они", + "ĠÐĴо ни", + "ุà¸Ķ à¸Ĺ", + "ĠV Ãł", + "ãĥ³ ãĤ¿", + ") ëĬĶ", + "æ¸ Ľ", + "Ġ μÏĢ", + "Ġμ ÏĢ", + "å· §", + "ĠÑĪ ÐºÐ¾Ð»", + "ĠÑĪк ол", + "Ġì²ĺ ìĿĮ", + "ัà¸ģ à¸Ķ", + "æ® Ĭ", + "Ġnh á»Ŀ", + "ĠοÏĢο ία", + "à¹ģ à¸Ļว", + "à¹ģà¸Ļ ว", + "меÑĢик ан", + "nÃŃ ka", + "nÃŃk a", + "Ġíĺ¸ íħĶ", + "سب ب", + "à¸ĩ ม", + "ìŀĪ ëĬĶ", + "غ Ø·", + "Ùı ÙĦ", + "¹ æŀľ", + "Ñĩ Ñĸв", + "ÑĩÑĸ в", + "ÑĪ Ð°Ñı", + "ÑĪа Ñı", + "ĠØ¥ ÙĦا", + "ĠØ¥ÙĦ ا", + "خص ÙĪØµ", + "ll ll", + "ĠÑį ÑĤим", + "ĠÑįÑĤ им", + "ĠÑįÑĤи м", + "Ġz vÃŃ", + "Ġzv ÃŃ", + "Ġqu án", + "Ġquá n", + "à¸Ļ à¸ģ", + "Ġп олов", + "Ġпо лов", + "Ġпол ов", + "Ġ æ·±", + "Ġæ· ±", + "Ġm iá»ģn", + "Ġmi á»ģn", + "人 éĸĵ", + "Ġз им", + "Ġmey dana", + "е ÑĦ", + "Ġb á»ģn", + "Ġbá»ģ n", + "ز ÙĬد", + "زÙĬ د", + "ĠÐł еÑģп", + "ĠÐłÐµ Ñģп", + "ÎĻ Î£Î¤", + "ÎĻΣ Τ", + "Ġ æĶ¶", + "ĠæĶ ¶", + "r aya", + "ra ya", + "ray a", + "ĠتÙĪ Ø§ÙĨد", + "ĠتÙĪØ§ÙĨ د", + "Ġ ister", + "Ġis ter", + "Ġi ster", + "Ġist er", + "Ġ ë°Ģ", + "Ġë° Ģ", + "ĠмеÑħ ани", + "Ġ à¸ķำ", + "Ġà¸ķ ำ", + "Ġд ека", + "Ġде ка", + "Ġдек а", + "à¤Ĥ à¤Ĺल", + "à¤Ĥà¤Ĺ ल", + "ãĥ¼ ãĤ«ãĥ¼", + "Ġnep ÅĻÃŃ", + "ĠnepÅĻ ÃŃ", + "ĠÑģ ÑĩиÑĤ", + "ĠÑģÑĩ иÑĤ", + "Ġο μά", + "Ġç ift", + "ب ÛĮÙĨÛĮ", + "بÛĮ ÙĨÛĮ", + "بÛĮÙĨ ÛĮ", + "m eleri", + "me leri", + "mel eri", + "meler i", + "Ġвоз дейÑģÑĤв", + "d ou", + "do u", + "ìĥģ ìĿĦ", + "ĠÐĴ олод", + "ĠÐĴо лод", + "ĠÐĴол од", + "ε β", + "ÐĿ Ðĺ", + "Ñı к", + "Ïį ÏĦε", + "з ано", + "за но", + "len ir", + "c elik", + "ce lik", + "cel ik", + "ĠÑģоÑģÑĤав лÑıеÑĤ", + "ι αÏĤ", + "ια ÏĤ", + "ĠÐĵ оÑĢ", + "ä¹ĭ ä¸Ģ", + "Ïĥμ ÏĮÏĤ", + "ÏĥμÏĮ ÏĤ", + "ãģ« éĸ¢", + "Ġв Ñĩ", + "Ġп оÑģк", + "Ġпо Ñģк", + "ĠпоÑģ к", + "è¼ ¯", + "à¥Ģ श", + "ĠØ¢ ثار", + "à¸Ħวาม ร", + "Ġ един", + "Ġе дин", + "Ġеди н", + "íħ IJ", + "å¹³ æĪIJ", + "ĠkiÅŁ inin", + "ĠkiÅŁi nin", + "ãĤ² ãĥ¼ãĥł", + "à¥įत व", + "Ġkapsam ında", + "Ġak tar", + "Ġakt ar", + "Ġtr ừ", + "Ġر شد", + "Ġна каз", + "Ġнак аз", + "ر ÙĬÙĦ", + "رÙĬ ÙĦ", + "à¸Ń à¸Ħ", + "Ġگذ شتÙĩ", + "Ġ æ°ij", + "Ġæ° ij", + "ĠÑĤеб Ñı", + "s por", + "sp or", + "spo r", + "Ñİ ÑīаÑı", + "ÑİÑī аÑı", + "окÑĢем а", + "в ад", + "ва д", + "ĠCh úng", + "ĠزÛĮ ادÛĮ", + "ĠزÛĮاد ÛĮ", + "е ного", + "ен ого", + "ено го", + "ĠÚ© سÛĮ", + "à ŀ", + "Ġad ına", + "Ġadı na", + "Ñĥ да", + "Ñĥд а", + "Ñĸ ÑĶ", + "аÑĤ ели", + "аÑĤе ли", + "Ġnáv Å¡tÄĽ", + "ç͍ äºİ", + "ĠپرÙĪ ÙĨدÙĩ", + "ĠÙĨ بÙĪØ¯", + "ĠÙĨب ÙĪØ¯", + "س ات", + "ìĹ ĺ", + "ãģ£ ãģ¦ãĤĤ", + "ãģ£ãģ¦ ãĤĤ", + "Ġ çī©", + "Ġçī ©", + "Ðĺ з", + "åĪ ·", + "Ġ íľ´", + "Ġí ľ´", + "ĠоÑģоб лив", + "ãģĹ ãģ¾ãģ£ãģŁ", + "ãģĹãģ¾ ãģ£ãģŁ", + "a ydı", + "ay dı", + "ayd ı", + "åĩº çļĦ", + "ĠìķĦëĭĪ ëĿ¼", + "ıs ını", + "à¸Ĺาà¸ĩ à¸ģาร", + "Ġzv uky", + "Ġ 管", + "Ġç® ¡", + "âĸĭ âĸĭ", + "ĠÑĤ елеÑĦ", + "ĠÑĤел еÑĦ", + "Ġн елÑĮзÑı", + "ãĥ« ãģ®", + "Ïĥ ÏĢ", + "Ġ ç³", + "Ġç ³", + "åł ¡", + "ÑĨ Ñĥз", + "ÑĨÑĥ з", + "رÙĬ ÙĤØ©", + "رÙĬÙĤ Ø©", + "à¤¿à¤Ľ ल", + "è² ©", + "ĠУ кÑĢаÑĹн", + "ĠУкÑĢаÑĹ Ð½", + "ĠÙħسئ ÙĪÙĦ", + "Ġо ÑĩÑĸ", + "ĠоÑĩ Ñĸ", + "æľĢ å¾Į", + "Ġзна Ñİ", + "Ġзн аÑİ", + "à¹ī à¸Ļà¸Ĺ", + "à¹īà¸Ļ à¸Ĺ", + "ĠÑĤ еÑĢап", + "ĠÑĤеÑĢ Ð°Ð¿", + "ĠÑĤе ÑĢап", + "ĠÑģп ок", + "ĠØ®ÙĪØ¯ رÙĪ", + "éĺ »", + "Ġdüz ey", + "ä¸Ģ åĢĭ", + "ا ÙģÙĩ", + "اÙģ Ùĩ", + "à¤Ĥ य", + "èµĦ 产", + "ç»§ ç»Ń", + "ĠÑģ лаб", + "ĠÑģл аб", + "æĦı æĢĿ", + "ĠíĻĺ ìĤ°", + "ĠÑı ÑĢ", + "Ġd ůvod", + "Ġdů vod", + "çĿ Ľ", + "تÛĮ ب", + "ĠÙĪ ÛĮر", + "ĠÙĪÛĮ ر", + "ĠÙĩ زÛĮÙĨÙĩ", + "Ġben zer", + "Ġbenz er", + "ĠÙħ ادÙĩ", + "ĠÙħا دÙĩ", + "ĠÙħاد Ùĩ", + "à¥Į à¤ķ", + "Ġ à¹Ģà¸ķ", + "Ġà¹Ģ à¸ķ", + "Ġà¹Ģภķ", + "ãĤĪ ãģı", + "ид енÑĤ", + "èĭ± èªŀ", + "е ÑĢÑĭ", + "еÑĢ Ñĭ", + "Ġê¸Ī ìķ¡", + "Ġ ãĥ¼", + "Ġãĥ ¼", + "Ġ ëį¤íĶĦ", + "Ġëį ¤íĶĦ", + "ÑĢ Ð°ÑĤÑĮ", + "ÑĢа ÑĤÑĮ", + "ÑĢаÑĤ ÑĮ", + "Ġ åįķ", + "Ġåį ķ", + "à¹Ģà¸ī à¸ŀาะ", + "Ġ æĶ¿", + "ĠæĶ ¿", + "Ġà¤Ĩ म", + "Ġз ни", + "Ġзн и", + "Ġ ëĿ¼ìĿ´", + "ĠëĿ¼ ìĿ´", + "æİ Į", + "çIJĨ çͱ", + "Ġ اغ", + "Ġا غ", + "ĠØ§Ø º", + "ĠÑģ иг", + "ĠÑģи г", + "Ġе ÑĦекÑĤив", + "ĠÐŁ ÑĢед", + "ĠÐŁÑĢ ÐµÐ´", + "ãĥ´ ãĤ£", + "Ġви ко", + "Ġвик о", + "Ġt vrd", + "Ġtv rd", + "ëĤ´ 기", + "ãĥĭ ãĤ¢", + "ĠÙħشاÙĩ دÙĩ", + "Ġस à¤ļ", + "l Ã¼ÄŁ", + "lü ÄŁ", + "è¯ģ åΏ", + "Ġs iêu", + "Ġsi êu", + "Ġ оÑĤв", + "ĠоÑĤ в", + "Ġvyt voÅĻ", + "ĠØŃ ÙħÙĦ", + "ĠØŃÙħ ÙĦ", + "ĠÑĦ ÑĢан", + "à¹ī à¸Ķ", + "åĮ» éĻ¢", + "Ġв лад", + "Ġвла д", + "غ ÙĦ", + "建 ç«ĭ", + "os loven", + "osl oven", + "и лаÑģÑĮ", + "ила ÑģÑĮ", + "عÙĦ ÙĪÙħات", + "عÙĦÙĪÙħ ات", + "Ġ ترÛĮÙĨ", + "Ġتر ÛĮÙĨ", + "ÎŃ Ïģει", + "ÎŃÏģ ει", + "Ġb áºŃt", + "ĠÙħØ´ Ú©", + "Ġر ئÙĬس", + "Ġرئ ÙĬس", + "Ġìłľ ìŀij", + "γ η", + "Ġн Ñĸк", + "ĠнÑĸ к", + "Ġ구 ìĦ±", + "ĠÄij en", + "Ġà¤ļ र", + "Ġgeç miÅŁ", + "äºĨ è§£", + "Ġл еÑģ", + "Ġqu anh", + "Ġqua nh", + "Ġquan h", + "ãĢĮ æĪij", + "ĠNÄĽkter á", + "ëŀ į", + "Ãħ Ÿ", + "à¤Ĥ दर", + "à¤Ĥद र", + "ìķĦ ìĿ´", + "å°ij ãģĹ", + "ĠØ´Ùĩر ÛĮ", + "ĠØ´Ùĩ رÛĮ", + "κ ÏĦη", + "ĠâĹ Ħ", + "Ġ Ùĥس", + "ĠÙĥ س", + "è· Į", + "à ı", + "å·¥ åħ·", + "åĬ ĥ", + "p om", + "po m", + "ĠнавÑĩ аннÑı", + "Ġ رج", + "Ġر ج", + "ÑĢ ÑĥеÑĤÑģÑı", + "ÑĢÑĥ еÑĤÑģÑı", + "ÑĢÑĥеÑĤ ÑģÑı", + "Ġν ÎŃ", + "ÛĮÙĨ Ú©", + "à¹Ĥ à¸ĭ", + "åĭ ¤", + "ãģĹãģ¾ ãģĨ", + "ĠÑģ оглаÑģ", + "ĠÑģог лаÑģ", + "éĩij èŀį", + "ç »¿", + "ç» ¿", + "ĠС ан", + "æķ µ", + "Ġпо вÑĸÑĤ", + "Ġпов ÑĸÑĤ", + "Ġпом оÑīи", + "ĠпомоÑī и", + "ãĥ¡ ãĥªãĤ«", + "ãĤ· ãĤ¢", + "ĠÏĢ ÏģοÏĤ", + "ĠÏĢÏģο ÏĤ", + "èĪª 空", + "ĠваÑĢи анÑĤ", + "ĠваÑĢиан ÑĤ", + "Ġyalnız ca", + "ç³» çµ±", + "ĠÙģ ÙĪØ±", + "ĠÙģÙĪ Ø±", + "оÑĩ ной", + "оÑĩно й", + "à¹Ģว à¸Ńร", + "ĠкÑĥлÑĮ ÑĤÑĥÑĢ", + "ĠкÑĥлÑĮÑĤÑĥ ÑĢ", + "Ïĩ ι", + "ÄįÃŃ ta", + " ĵ", + "人 ãģĮ", + "κ οÏį", + "κο Ïį", + "ĠÑĢе ÑĶ", + "Ġв ÑģÑİ", + "ĠвÑģ Ñİ", + "éº Ĺ", + "Ġز ÙĨاÙĨ", + "ĠزÙĨ اÙĨ", + "çĭ Ĥ", + "Ġ หม", + "Ġห ม", + "Ġx úc", + "åħ Ĵ", + "ÄŁ inin", + "ÄŁi nin", + "ÄŁini n", + "ÄŁin in", + "åĸľ 欢", + "ĠÑģÑĤ ад", + "ĠÑģÑĤа д", + "iy esi", + "iye si", + "ìļ ±", + "è Ŀ", + "Ġ kus", + "Ġk us", + "Ġku s", + "ÏĦ ολ", + "ÏĦο λ", + "г Ñĸв", + "Ñĸ ли", + "Ñĸл и", + "ãģĦ ãĤĦ", + "é© Ĺ", + "ont rol", + "ا ÙĦÙĥ", + "اÙĦ Ùĥ", + "к овиÑħ", + "ко виÑħ", + "ков иÑħ", + "ĠÑģÑĤ ало", + "ĠÑģÑĤал о", + "ĠÑģÑĤа ло", + "ĠÎł αÏģα", + "Ġγα Ïģα", + "ĠγαÏģ α", + "Ġ chy", + "Ġc hy", + "Ġch y", + "Ġcih az", + "ĩ ´", + "ìŀ¥ ìĿ´", + "a ceae", + "ace ae", + "acea e", + "Ø´ Ùĩر", + "Ø´Ùĩ ر", + "ил аннÑı", + "çļĦ å°ı", + "Ġth ụ", + "Ġthá» ¥", + "ÙĪ ÙĨت", + "ÙĪÙĨ ت", + "л оÑĢ", + "ло ÑĢ", + "ãĤĴ æĮģ", + "ĠÎĶ Î¹", + "Ġ 羣", + "Ġçľ Ł", + "ÐĽ Ðŀ", + "é½ IJ", + "çİ Ħ", + "ا ÙĪÙĩ", + "اÙĪ Ùĩ", + "Ġи нÑĤ", + "Ġин ÑĤ", + "à¥Ģ à¤Łà¤°", + "à¥Ģà¤Ł र", + "Ġ обÑīе", + "Ġоб Ñīе", + "ĠобÑī е", + "Ġдеп ÑĥÑĤ", + "μÎŃν εÏĤ", + "ĠÙĥ ÙĬÙģ", + "ع ÙħÙĦ", + "عÙħ ÙĦ", + "ï¼Į å¦Ĥæŀľ", + "ï¼Įå¦Ĥ æŀľ", + "Ġин ÑĦек", + "i tele", + "it ele", + "ite le", + "itel e", + "Ġ ãĢĢãĢĢĠãĢĢ", + "ĠãĢĢ ãĢĢĠãĢĢ", + "ĠãĢĢãĢĢ ĠãĢĢ", + "ãĤ¤ ãĥ³ãĥĪ", + "ãĤ¤ãĥ³ ãĥĪ", + "л ÑĸÑĤ", + "лÑĸ ÑĤ", + "Ġ ÑģÑİ", + "ĠÑģ Ñİ", + "Ġz ase", + "Ġza se", + "Ġzas e", + "d ech", + "de ch", + "dec h", + "е ко", + "ек о", + "è® ĵ", + "åı ¬", + "з ем", + "Îł Îij", + "Ġvz du", + "า à¸Īาà¸ģ", + "าà¸Ī าà¸ģ", + "ko liv", + "kol iv", + "koli v", + "zk um", + "èģ Ĭ", + "Ġì±Ħ ìļ©", + "๠į", + "Ġ asp", + "Ġa sp", + "Ġas p", + "Û² Û´", + "ìĿ¸ ëį°", + "ĠkarÅŁÄ± laÅŁ", + "ï¼Į åı¯ä»¥", + "ï¼Įåı¯ 以", + "Ġà¤ĩन à¤ķ", + "Ġ ìĬ¤íĥĢ", + "ĠìĬ¤ íĥĢ", + "éĥ¨ å±ĭ", + "åζ ä½ľ", + "ãĥ¼ ãĤ·ãĥ§ãĥ³", + "ον ÏĦαÏĤ", + "γ ο", + "Ġìŀij ìĦ±", + "èij £", + "oz ÅĻejmÄĽ", + "ĠÑĢезÑĥлÑĮÑĤаÑĤ е", + "ĠÑĢезÑĥлÑĮÑĤ аÑĤе", + "ĠIns ecta", + "Ġs kon", + "Ġsk on", + "o tu", + "ot u", + "Ġp ÄĽt", + "ĠpÄĽ t", + "Ñģ ÑĮого", + "ÑģÑĮ ого", + "Ġİs lam", + "Ġl á»ħ", + "Ġlá» ħ", + "ä¸Ń åľĭ", + "ĠÐľÑĸ нÑĸÑģÑĤ", + "åIJĪ åIJĮ", + "asy onu", + "asyon u", + "ож еÑĤ", + "оже ÑĤ", + "èĩª åĬ¨", + "ÑģÑĮ коÑİ", + "ÑģÑĮк оÑİ", + "ÑģÑĮко Ñİ", + "ĠkiÅŁ isel", + "ĠkiÅŁi sel", + "ÏĦ ικοÏį", + "ÏĦικ οÏį", + "ÏĦι κοÏį", + "ÏĦικο Ïį", + "Ġ ÑĥÑĩаÑģ", + "ĠÑĥ ÑĩаÑģ", + "ĠÑĥÑĩ аÑģ", + "ĠÑĥÑĩа Ñģ", + "ıl mÄ±ÅŁtır", + "ılmÄ±ÅŁ tır", + "ĠÑı ке", + "ĠÑıк е", + "Ñī инÑĭ", + "Ñīи нÑĭ", + "Ñīин Ñĭ", + "м аÑĢ", + "ма ÑĢ", + "Ġso udu", + "Ġsou du", + "Ġsoud u", + "Âł Я", + "Ġд ÑĢÑĥ", + "ĠдÑĢ Ñĥ", + "ãģ¡ ãĤĩ", + "à¥ĭ à¥ľ", + "ï¾ ij", + "Ġ ÏĦÏĮ", + "ĠÏĦ ÏĮ", + "Ġ ضر", + "Ġض ر", + "l áš", + "lá Å¡", + "Ġд Ñĸв", + "ĠдÑĸ в", + "Ġج دÙĬد", + "Ġجد ÙĬد", + "Ġнеб олÑĮÑĪ", + "ĠнеболÑĮ ÑĪ", + "éģ Ń", + "ç» į", + "ĠKur ulu", + "ĠKurul u", + "ÑģÑĤÑĢ ÑĥменÑĤ", + "ÑģÑĤÑĢÑĥ менÑĤ", + "è¿Ļ æĺ¯", + "ìĻ Ķëĭ¤", + "ìĻĶ ëĭ¤", + "м елÑĮ", + "ме лÑĮ", + "Ġ ä¼Ĭ", + "á»§ ng", + "ĠзавиÑģим оÑģÑĤи", + "ëį ¤íĶĦ", + "çĩ ĥ", + "è¿ĩ åİ»", + "ĠзаÑģÑĤоÑģ ÑĥваннÑı", + "Ġداخ ÙĦÛĮ", + "ĠداخÙĦ ÛĮ", + "Ñī Ñij", + "ĠÂłĠÂł ĠÂłĠÂłĠÂłĠÂł", + "ĠÂłĠÂłĠÂłĠÂł ĠÂłĠÂł", + "ïº ®", + "ĠاÙĦÙħ ÙħÙĦÙĥØ©", + "s ında", + "sı nda", + "sın da", + "è³ Ģ", + "å± ı", + "Ġ ê¿", + "Ġê ¿", + "Ġdo ktor", + "Ġdok tor", + "ĠÙĤ اب", + "ĠS ist", + "ĠSi st", + "ĠмеÑģÑĤ е", + "ĠÑģоÑħ ÑĢа", + "ا شتÙĩ", + "اش تÙĩ", + "اشت Ùĩ", + "Ġ æľŁ", + "ĠпоÑģк олÑĮкÑĥ", + "Ġp ev", + "Ġpe v", + "ا گر", + "اگ ر", + "Ùħ ز", + "Ġض ÙħÙĨ", + "ॠ©", + "g esi", + "ge si", + "ges i", + "a ÄŁa", + "aÄŁ a", + "è§£ åĨ³", + "ëħ¸ ì¶ľ", + "Ġl uyá»ĩn", + "Ġкон ÑĤак", + "ĠконÑĤ ак", + "ภº", + "Ġ NgÃły", + "ĠNg Ãły", + "Ġvý stav", + "Ġth uyết", + "اÛĮ ع", + "Ġ: /:", + "Ġ:/ :", + "Ġph ạt", + "ĠÎij ÏĢÏĮ", + "ĠÎijÏĢ ÏĮ", + "Ġ muz", + "Ġm uz", + "Ġmu z", + "Ġ ìĥī", + "Ġìĥ ī", + "ĠÃĩ in", + "Ġکار برد", + "Ġکاربر د", + "ائ د", + "ب اد", + "با د", + "à¥į तम", + "à¥įत म", + "Ġ ëijĺ", + "Ġëij ĺ", + "Ġм оз", + "Ġмо з", + "Å¡ ÃŃch", + "Å¡ÃŃ ch", + "Ġ มห", + "Ġม ห", + "ĠØ¢ س", + "ĠÑģ лиÑĪком", + "èĥ ¡", + "è£ ģ", + "æĪ »", + "ĠìĦ¤ ëªħ", + "Ġo tom", + "Ġot om", + "Ġoto m", + "Ġलà¤Ĺ à¤Ńà¤Ĺ", + "à¸ĩ à¸ģ", + "ا بد", + "اب د", + "à¸Ļ าม", + "à¸Ļา ม", + "èĤ ©", + "Ġشد ÙĨد", + "ĠشدÙĨ د", + "ãģĿãģ® ä»ĸ", + "ad lo", + "ÄĽ n", + "ĠÙĦ Ùĩا", + "ĠÙĦÙĩ ا", + "Ġмин им", + "Ġми ним", + "Ġd ÅĻev", + "ĠTh iên", + "ĠThi ên", + "ëŀ Ļ", + "en gin", + "eng in", + "à¥Ģ मत", + "à¥Ģम त", + "ĠÑĥп оÑĤÑĢеб", + "âĢĮ تر", + "Ġç¥ŀ 马", + "ov ánÃŃm", + "ová nÃŃm", + "ovánÃŃ m", + "ován ÃŃm", + "Ġд ело", + "Ġдел о", + "Ġде ло", + "Ġ ç¼ĸ", + "Ġç¼ ĸ", + "ĠاÙĦ ظ", + "Ġ вий", + "Ġв ий", + "Ġви й", + "а ÑĤом", + "аÑĤ ом", + "аÑĤо м", + "åħ¬ åijĬ", + "ĠÄij em", + "ãĤ· ãĥªãĥ¼ãĤº", + "ä¸ĭ çļĦ", + "l ası", + "la sı", + "las ı", + "ĠвÑĭ боÑĢ", + "ĠвÑĭб оÑĢ", + "ÑĤ оÑĤ", + "ÑĤо ÑĤ", + "ëıĦ ë³Ħ", + "ĠÑĥ ÑģÑĤан", + "ĠÑĥÑģÑĤ ан", + "Ġ íŀĪ", + "Ġíŀ Ī", + "лÑĥ аÑĤа", + "Ġth ác", + "а нием", + "ан ием", + "ани ем", + "ание м", + "ов аÑĤÑĮÑģÑı", + "ова ÑĤÑĮÑģÑı", + "оваÑĤÑĮ ÑģÑı", + "ÑĤ ÑĶ", + "ÐŃ ÑĤо", + "ï¼Į è¦ģ", + "ĠV z", + "ĠØŃ ÙĪØ²Ùĩ", + "ĠØŃÙĪ Ø²Ùĩ", + "- к", + "V Ỽi", + "ent ů", + "Ġbulun duÄŁu", + "Ġbulundu ÄŁu", + "ر ÙĪØ·", + "رÙĪ Ø·", + "ĠÑĹ Ð¹", + "Ġçev r", + "Ġ ÅĻed", + "ĠÅĻ ed", + "ĠÅĻe d", + "Ġس اختÙĩ", + "Ġساخت Ùĩ", + "åĬŀ æ³ķ", + "Ġ ÙĤÙĦ", + "ĠÙĤ ÙĦ", + "i ÅŁi", + "iÅŁ i", + "ï¼Ŀ ï¼Ŀ", + "س اس", + "Ġúdaj ů", + "å ¬", + "æį Ł", + "á ct", + "ác t", + "ĠÎij ÏĢ", + "çĪ ·", + "Ġ ÅĻád", + "ĠÅĻ Ã¡d", + "Ġl á»Ĺi", + "Ġlá» Ĺi", + "Ġlá»Ĺ i", + "on tent", + "ont ent", + "onte nt", + "ĠÙħ ذ", + "ol oji", + "olo ji", + "oloj i", + "Ġپرد اخت", + "à¹ī าà¸ŀ", + "à¹īา à¸ŀ", + "ĠдейÑģÑĤв иÑı", + "Ġmnož stvÃŃ", + "ìķĪ ë§Ī", + "åģ ¶", + "Ġ ÃĶng", + "ĠÃĶ ng", + "Ġdak ika", + "hen dis", + "hend is", + "Ġb ác", + "å¯ ¶", + "à¹ĩà¸ģ หà¸į", + "noc enÃŃ", + "ĠErd oÄŁan", + ": ::::::::::::", + ":: :::::::::::", + ":::: :::::::::", + ":::::: :::::::", + ":::::::: :::::", + "::: ::::::::::", + "::::: ::::::::", + "::::::: ::::::", + "::::::::: ::::", + ":::::::::: :::", + "::::::::::: ::", + ":::::::::::: :", + "аÑĤ ем", + "аÑĤе м", + "d ız", + "dı z", + "ĠØ£ÙĬ ضا", + "ĠØ£ÙĬض ا", + "ĠÑįÑĦ ÑĦек", + "ãĤĮ ãģ¦ãģĦãĤĭ", + "ãĤĮãģ¦ ãģĦãĤĭ", + "ĠbaÅŁv uru", + "ĠbaÅŁvur u", + "ά νει", + "άν ει", + "ĠÏĦε λεÏħÏĦα", + "Ġê²Ģ ìĥī", + "ĠÚ©ÙĨ ترÙĦ", + "Ġ शà¤ķ", + "Ġश à¤ķ", + "å¼ ¹", + "Ġol muÅŁtur", + "Ġolm uÅŁtur", + "ĠolmuÅŁ tur", + "Ġв ÑģÑĤÑĥп", + "ĠвÑģÑĤ Ñĥп", + "Ñĩ ила", + "Ñĩи ла", + "Ñĩил а", + "ย า", + "ĠØ£ØŃ Ùħد", + "os lav", + "osl av", + "ĠÑĩа Ñģов", + "ĠÑĩаÑģ ов", + "Ġzá kladnÃŃ", + "Ġzáklad nÃŃ", + "Ġस व", + "д он", + "до н", + "ĠÅĻÃŃj na", + "κ οÏħ", + "κο Ïħ", + "éĢģ æĸĻçĦ¡æĸĻ", + "éĢģæĸĻ çĦ¡æĸĻ", + "Ïĥ ίαÏĤ", + "Ïĥία ÏĤ", + "Ïĥί αÏĤ", + "ãĤ´ ãĥª", + "Ġв иб", + "Ġви б", + "å½ Ĵ", + "Ġназ ад", + "ĠçĻ¾åº¦ æĶ¶å½ķ", + "á» Ĩ", + "Ġkal dı", + "ì¼ ľ", + "Ġ íıŃ", + "Ġíı Ń", + "ĠÑĩи ном", + "ĠÑĩин ом", + "è ¹", + "Ñı л", + "ĠÑĢаз дел", + "ĠÑĢазд ел", + "d G", + "ĠT ento", + "ĠTen to", + "ĠTent o", + "Ñı ÑĤÑĮÑģÑı", + "ÑıÑĤÑĮ ÑģÑı", + "éĿ¢ çļĦ", + "ĠÎķ ÏĢι", + "ĠÎķÏĢ Î¹", + "ê° ij", + "Ġk èm", + "ни ÑĨÑı", + "ниÑĨ Ñı", + "çĸ «", + "éĽ Ļ", + "ĠÙħر Ùĥز", + "Ġна Ñĥк", + "å¢ Ĺ", + "ĠÑĤе пеÑĢ", + "ĠÑĤеп еÑĢ", + "ा à¤ł", + "ाठł", + "à¹ĩà¸ļ à¹Ħà¸ĭà¸ķ", + "μβ ÏģίοÏħ", + "ĠÑĦÑĸн анÑģов", + "ĠÑĦÑĸнанÑģ ов", + "Ñĸ ÑĶÑİ", + "ÑĸÑĶ Ñİ", + "Ïģ ίζ", + "Ïģί ζ", + "ì¤ Ħ", + "ĠباÙĨ Ú©", + "t ul", + "tu l", + "li ÄŁini", + "liÄŁi ni", + "liÄŁ ini", + "liÄŁin i", + "ĠпозволÑı еÑĤ", + "Ġпозвол ÑıеÑĤ", + "Ïĥ ί", + "Ġ ìĽĥ", + "ĠìĽ ĥ", + "à¹Į à¸Ħ", + "Ġpol ov", + "Ġpo lov", + "Ġpolo v", + "ìŀ¥ ìĿĦ", + "is té", + "ist é", + "ĠС Ð¡Ð¡Ðł", + "á hl", + "áh l", + "è ¥", + "Ġкомп лек", + "à¸Ĥ à¸Ļาà¸Ķ", + "ั ศ", + "ν αν", + "να ν", + "Ġç¥ŀ马 æĶ¶å½ķ", + "ìĭľ ìĺ¤", + "Ġé¦ĸ页 第", + "ĠçĻ¾åº¦ æµģéĩı", + "åij¨ æĶ¶å½ķ", + "Ġh atta", + "Ġhat ta", + "ÐĴ Ñĸд", + "ĠвÑĭ ÑģÑĤÑĥп", + "Ú© ارÛĮ", + "کار ÛĮ", + "کا رÛĮ", + "K hi", + "Kh i", + "Ġì°¾ ìķĦ", + "Ġn ặng", + "éĨ «", + "ĠV Å¡", + "ĠпеÑĢ ÐµÐ½", + "ĠпеÑĢе н", + "л ава", + "ла ва", + "лав а", + "ÙĬ ÙħÙĬ", + "ÙĬÙħ ÙĬ", + "Ġvat andaÅŁ", + "Ġ ιÏĥÏĦο", + "Ġι ÏĥÏĦο", + "Ġ à¸ĵ", + "Ġภĵ", + "स ल", + "г ен", + "ге н", + "Ġ بÙĪØ±", + "Ġب ÙĪØ±", + "ĠبÙĪ Ø±", + "âĢĮدÙĩ د", + "âĢĮد Ùĩد", + "l ıklı", + "lık lı", + "Ġ strate", + "Ġst rate", + "Ġstr ate", + "Ġstrat e", + "Ġstra te", + "ب ÙĪØ±", + "بÙĪ Ø±", + "ãĢģ ãĤ¢", + "Ġson uc", + "Ġsonu c", + "Ġна иболее", + "- в", + "Ġвод ой", + "oj enÃŃ", + "oje nÃŃ", + "Ġغ رب", + "Ġغر ب", + "Ġb eri", + "Ġbe ri", + "Ġber i", + "a dÄĽ", + "ad ÄĽ", + "Ġd ovol", + "Ġdo vol", + "Ġdov ol", + "âĢĮÚ©ÙĨ ÙĨدگاÙĨ", + "âĢĮÚ©ÙĨÙĨد گاÙĨ", + "ãģķ ãĤī", + "ãĥ³ ãĤº", + "ãĤ« ãĥ«", + "om etr", + "ome tr", + "omet r", + "åĩ Ģ", + "ĠÙģ ÙĪÙĦ", + "ĠÙģÙĪ ÙĦ", + "ĠÙħ ÙĪØ³ÛĮ", + "ĠÙħÙĪ Ø³ÛĮ", + "ĠÙħÙĪØ³ ÛĮ", + "ĠاÙĦÙħغ رب", + "e cko", + "ec ko", + "eck o", + "ÙĢÙĢÙĢÙĢ ÙĢÙĢÙĢÙĢ", + "ê°Ģ 격", + "ÑĢ ÑĥÑĤ", + "ÑĢÑĥ ÑĤ", + "Ġ ë¶Ģë¶Ħ", + "Ġë¶Ģ ë¶Ħ", + "ĠpÅĻed pis", + "Ġoprav du", + "еÑĤ иÑĩ", + "еÑĤи Ñĩ", + "à¹Ĥ à¸Ħรà¸ĩà¸ģาร", + "æ ħ§", + "æħ §", + "æĭ ľ", + "س Ùĥ", + "ìŀ¡ ëĭ´", + "à¸Ľà¸£à¸°à¸¡ าà¸ĵ", + "è´¨ éĩı", + "Ġголов Ñĥ", + "Ġгол овÑĥ", + "л ениÑİ", + "лен иÑİ", + "ле ниÑİ", + "Ġन à¤ı", + "Ġprojekt u", + "ا Ù쨱", + "اÙģ Ø±", + "at ivnÃŃ", + "ati vnÃŃ", + "ativ nÃŃ", + "ÎŃ Î½ÏĦ", + "ÎŃν ÏĦ", + "ãĥī ãĥ©", + "Ġted av", + "ê ¼", + "à¸Ľà¸£à¸°à¸ģ าศ", + "Ġt uto", + "Ġtu to", + "Ġtut o", + "Ġch iếu", + "Ġchi ếu", + "Ġchiế u", + "Ġv yz", + "Ġvy z", + "ÑĢ Ð¾ÑĪ", + "ÑĢо ÑĪ", + "åıĸ å¾Ĺ", + "Ġм иÑģÑĤ", + "Ġми ÑģÑĤ", + "ĠмиÑģ ÑĤ", + "ĠÑģлÑĥÑĩа ÑıÑħ", + "Ġغ ذ", + "ĠÑĥ клад", + "ĠÑĥк лад", + "ĠÑĥÑģÑĤанов лен", + "Ġtes lim", + "Ġ ãĢį", + "ĠãĢ į", + "Ġ è£", + "Ġè £", + "æ¯ «", + "éĬĢ è¡Į", + "e cts", + "ect s", + "ec ts", + "k emiz", + "kem iz", + "ν ηÏĤ", + "νη ÏĤ", + "è¾ º", + "Ġп ÑĢем", + "ĠпÑĢ ÐµÐ¼", + "ĠпÑĢе м", + "Ġson ucu", + "Ġsonuc u", + "Ġsonu cu", + "P okud", + "Po kud", + "Pok ud", + "ĠÐŀÑģ об", + "è¾ Ľ", + "è¼ ¸", + "ë³´ ê³ł", + "à¸ļ à¸Ħ", + "ãĢĤ ãĢį", + "ा ।ĊĊ", + "ा। ĊĊ", + "ा।Ċ Ċ", + "ĠÑģамоÑģÑĤ оÑıÑĤелÑĮ", + "ÙĦ ÛĮت", + "ÙĦÛĮ ت", + "λ εκ", + "λε κ", + "ĠÑĢай она", + "ĠÑĢайон а", + "ÑĮ и", + "à¹Ī าà¸Ĺ", + "à¹Īา à¸Ĺ", + "Ġ à¸Ľà¸£à¸°à¹Ģà¸Ĺศ", + "Ġà¸Ľà¸£à¸° à¹Ģà¸Ĺศ", + "ม à¸Ń", + "ا Ùĩر", + "اÙĩ ر", + "Ġви боÑĢ", + "Ġвиб оÑĢ", + "ÑİÑĩи ÑģÑĮ", + "Ġp ovol", + "Ġpo vol", + "Ġpov ol", + "a base", + "ab ase", + "aba se", + "â̳ N", + "Ú© ÙĪ", + "ĠУкÑĢаÑĹ Ð½Ð°", + "ĠУкÑĢа ÑĹна", + "ĠУкÑĢаÑĹн а", + "sta nov", + "stan ov", + "ĠÑĥÑĩ аÑģÑĤи", + "ĠÑĥÑĩа ÑģÑĤи", + "ĠÑĥÑĩаÑģÑĤ и", + "ĠÑĥÑĩаÑģ ÑĤи", + "Ġh lad", + "Ġhl ad", + "ĠÑĢаÑģÑģ каз", + "ãģ¿ ãģŁãģĦ", + "á½ °", + "Ġ åĽŀ", + "ĠåĽ ŀ", + "Ġ ương", + "α Ïģά", + "αÏģ ά", + "Ø® ب", + "æį ķ", + "ÃŃ ÅĻ", + "Ġ سÛĮÙĨ", + "Ġس ÛĮÙĨ", + "ĠسÛĮ ÙĨ", + "Âł in", + "ĠM ÄĽst", + "æķĻ åѦ", + "ĠоÑģоб иÑģÑĤ", + "ĠоÑģоби ÑģÑĤ", + "u ji", + "uj i", + "çĶ» åĥı", + "ĠداÙĨ Ø´ÙĨاÙħÙĩ", + "ĠداÙĨØ´ ÙĨاÙħÙĩ", + "ìĿ´ ìķ¼", + "Ġзап иÑĤ", + "ĠÑģво ими", + "ĠÑģвои ми", + "ĠÑģвоим и", + "Û²Û° Û²", + "ï¼Į å°Ĩ", + "ãĥ¼ ãģ®", + "Ġth ÃŃ", + "ĠÙħت ÙĪØ³Ø·", + "à¥ĩ Ċ", + "å¤ļ å°ij", + "ï¼Į çĦ¶åIJİ", + "íĹ Ī", + "Ġ à¤Ńà¤Ĺ", + "Ġà¤Ń à¤Ĺ", + "Ġ åı·", + "Ġåı ·", + "Ġt eor", + "Ġte or", + "å Ĥ¨", + "åĤ ¨", + "Ġ ÑĢÑĸÑĩ", + "ĠÑĢ ÑĸÑĩ", + "ĠÑģÑĤаÑĤ ÑĤÑĸ", + "Ġرابط Ùĩ", + "Ġ ï¼ľ", + "Ġï¼ ľ", + "ب اØŃ", + "با ØŃ", + "ิà¸Ļ à¸Ĺาà¸ĩ", + "ิà¸Ļà¸Ĺ าà¸ĩ", + "à¥ĩà¤Ĥ Ċ", + "ائ ÙĤ", + "ĠاÙĦج دÙĬد", + "l iÄį", + "li Äį", + "ا ØŃÙĦ", + "اØŃ ÙĦ", + "mé nÄĽ", + "Ġb ầu", + "ĠÐĴ ал", + "Ġб лагод", + "Ġбла год", + "Ġблаг од", + "еÑĤ елÑĮ", + "еÑĤе лÑĮ", + "å¹³ åĿĩ", + "м ин", + "ми н", + "Ġsü rec", + "Ġsür ec", + "Ġsüre c", + "Ġза вод", + "Ġзав од", + "èį IJ", + "ÑĤ ий", + "ÑĤи й", + "л об", + "ло б", + "Ġ вок", + "Ġв ок", + "Ġво к", + "l adıģı", + "la dıģı", + "lad ıģı", + "ladı ģı", + "ladıģ ı", + "اÙĬ ÙĬ", + "ê²ł ìĬµëĭĪëĭ¤", + "Ġamac ıyla", + "Ġamacı yla", + "ï¼Į åĽłä¸º", + "ï¼ĮåĽł 为", + "ãģ§ ãģĤãģ£ãģŁ", + "ãģ§ãģĤ ãģ£ãģŁ", + "ĠØ´ رÙĪØ¹", + "Ġشر ÙĪØ¹", + "æŁ Ķ", + "' nun", + "'n un", + "о кол", + "ок ол", + "око л", + "Ġc iddi", + "Ġcid di", + "Ġb ụ", + "Ġyap ılacak", + "Ġyapı lacak", + "Ġyapıl acak", + "ĠÑĩÑĥв ÑģÑĤв", + "ìĤ¬ ìĿĺ", + "à¸Ń à¸Ļà¸Ķ", + "à¸Ńà¸Ļ à¸Ķ", + "ΊΤ", + "Ġëĭ¤ ìĸij", + "ëĭ¤ ë©´", + "im izi", + "imi zi", + "imiz i", + "ä¹ Ĥ", + "ãģ² ãģ¨", + "Ġ éĿŀ", + "ĠéĿ ŀ", + "âĢĮپدÛĮ ا", + "ä¹ ĺ", + "ãĥĬ ãĥ«", + "ĠпÑĸдпÑĢиÑĶм ÑģÑĤва", + "ĠпÑĸдпÑĢиÑĶмÑģÑĤв а", + "๠ij", + "è¿ Ŀ", + "ĠÙħ ÙĨÙĩ", + "ĠÙħÙĨ Ùĩ", + "ÑĢ Ð¸Ðº", + "ÑĢи к", + "а ÑĢÑĸв", + "аÑĢ Ñĸв", + "аÑĢÑĸ в", + "Ġ кого", + "Ġк ого", + "Ġко го", + "ĠÙĤ ص", + "Ġ æĿ¥", + "ĠæĿ ¥", + "ĠPh òng", + "Ġ ово", + "Ġо во", + "Ġов о", + "ĠпеÑĢ ÐµÐ²Ð°", + "ĠпеÑĢе ва", + "ĠпеÑĢев а", + "é£ ²", + "à¤Ĥ à¤Łà¤°", + "à¤Ĥà¤Ł र", + "ÙĬ را", + "ÙĬر ا", + "il diÄŁi", + "ildi ÄŁi", + "e tin", + "et in", + "eti n", + "Ïĩε ία", + "Ïĩεί α", + "Ġzah rani", + "ÙĪ Ø¬Ø¯", + "ÙĪØ¬ د", + "Ġ ç¯", + "Ġç ¯", + "าร ย", + "Ġза ко", + "Ġзак о", + "ĠتÙĤ س", + "ãĤ¹ ãĤ¿ãĥ¼", + "ãĤ¹ãĤ¿ ãĥ¼", + "æĿ °", + "Ġ ãĤ°", + "ĠãĤ °", + "Ġ é»Ħ", + "Ġé» Ħ", + "Ġ Ðļогда", + "ĠÐļ огда", + "ॠ«", + "Ġ 次", + "Ġæ¬ ¡", + "ĠвÑĭ ÑĢаж", + "Ġch Äĥm", + "лÑı ÑĶÑĤÑĮÑģÑı", + "лÑıÑĶ ÑĤÑĮÑģÑı", + "د ÙĩÙħ", + "دÙĩ Ùħ", + "Ġv rch", + "Ġvr ch", + "çº Į", + "п оÑĢ", + "по ÑĢ", + "Ġm aÄŁ", + "Ġma ÄŁ", + "å¾Ĵ æŃ©", + "po dob", + "pod ob", + "ะ à¹ģ", + "éģ¸ æīĭ", + "å¸ ¯", + "Ġse bou", + "Ġseb ou", + "in ize", + "ini ze", + "iniz e", + "ĠÐľ ак", + "ĠÐľÐ° к", + "Ġ æĻ®", + "ĠæĻ ®", + "ĠÏħÏĢ Î¬ÏģÏĩ", + "ĠÄIJ Ãł", + "ĠBr no", + "Ġ Å¡ÃŃ", + "ĠÅ¡ ÃŃ", + "اÙĦ ص", + "Ġngh iêm", + "Ġnghi êm", + "Ġon ları", + "Ġonlar ı", + "Ġu žÃŃ", + "Ġuž ÃŃ", + "èĩªåĪĨ ãģ®", + "ĠнаÑħод иÑĤÑģÑı", + "Ġj si", + "Ġjs i", + "Ġस मर", + "Ġसम र", + "ĠÏĨ Ïī", + "Û±Û¹ Û¸", + "Ġà¤ľà¤Ĺ ह", + "éŃ ļ", + "ìĿ¸ ê°Ģ", + "ÄIJ iá»ģu", + "ĠØ£ عÙĦاÙħ", + "Ġأع ÙĦاÙħ", + "à¥ĩà¤Ĥ ।Ċ", + "à¥ĩà¤Ĥ। Ċ", + "å½¢ æĪIJ", + "Ġ ikt", + "Ġi kt", + "Ġik t", + "Ġzd roj", + "ĠAmer ik", + "Ρ Îĵ", + "à¸ĩ ส", + "ĠíĴ Ģ", + "Ñģол ÑİÑĤ", + "ÙĪ ÙĬت", + "ÙĪÙĬ ت", + "Ġgörün tü", + "ан нÑĭÑħ", + "аннÑĭ Ñħ", + "ĠØ£ ÙĤ", + "Ġ миÑĢ", + "Ġм иÑĢ", + "Ġми ÑĢ", + "å« Į", + "Ġm á»iji", + "Ġd erin", + "Ġde rin", + "Ġder in", + "é ĴĪ", + "éĴ Ī", + "Ġма ÑĪи", + "ĠмаÑĪ Ð¸", + "ì¸ ¡", + "ĠجÙĨ ÙĪØ¨", + "ĠÑģ ло", + "ĠÑģл о", + "ãĢĤ ä¸Ģ", + "ени ÑıÑħ", + "ениÑı Ñħ", + "ĠÑĩолов Ñĸк", + "Ġy ana", + "Ġya na", + "Ġyan a", + "Ġо кÑĤ", + "Ġок ÑĤ", + "Ġ неÑĢ", + "Ġн еÑĢ", + "Ġне ÑĢ", + "æĪ ¶", + "н ÑĮомÑĥ", + "нÑĮ омÑĥ", + "нÑĮо мÑĥ", + "ĠÑĸ мен", + "ĠÑĸм ен", + "ãĤı ãģŁãģĹ", + "ĠÎĵ ια", + "ĠÎĵι α", + "ãĢģ ç§ģ", + "Ġ kou", + "Ġk ou", + "Ġko u", + "ĠÑĨ еÑĢк", + "ĠÑĨеÑĢ Ðº", + "lay arak", + "ãĢ ĩ", + "ا ÙĦس", + "اÙĦ س", + "Âł T", + "Ġд ÑĢÑĥж", + "ĠдÑĢÑĥ ж", + "ĠдÑĢ Ñĥж", + "Ġд воÑĢ", + "Ġдв оÑĢ", + "Ġдво ÑĢ", + "λ ί", + "ĠëĨ Ģ", + "Ġte plot", + "Ġtep lot", + "Ùģ Ø§Øª", + "б Ñĸ", + "Ġgüven lik", + "Ġgüvenli k", + "n ÄĽn", + "nÄĽ n", + "è© ©", + "Ġinsan ların", + "Ġinsanlar ın", + "ĠìĦ¤ ì¹ĺ", + "èĵ Ŀ", + "a vatel", + "av atel", + "ava tel", + "j ev", + "je v", + "ĠÚĨ را", + "Ġgerek iyor", + "ãĥĥ ãĤ°", + "ĠÃĩ ok", + "Ġ ÙĪØ¬Ùĩ", + "ĠÙĪ Ø¬Ùĩ", + "ĠÙĪØ¬ Ùĩ", + "Ġ Ñĥли", + "ĠÑĥ ли", + "ĠÑĥл и", + " ij", + "åij Ģ", + "ĠоÑĢгани заÑĨии", + "ĠоÑĢганиз аÑĨии", + "ĠоÑĢганиза ÑĨии", + "ĠÑĸÑģ нÑĥ", + "Ġneb ude", + "Ġnebu de", + "Ġë° ¤", + "ä¸Ĭ ãģĮ", + "Ġध न", + "ĠرÙĪ Ø§Ø¨Ø·", + "γγ ελ", + "Ġдо ÑģÑıг", + "ĠдоÑģ Ñıг", + "ĠاÙĦÙĤ دÙħ", + "ĠاÙĦÙĤد Ùħ", + "Ġзна Ñħод", + "ĠÄįÃŃs lo", + "ÅŁ k", + "ĠاÙĦد ÙĬÙĨ", + "Ġgün lük", + "ÙĥÙĬ ÙĬÙģ", + "ÎŃ Ïģα", + "ÎŃÏģ α", + "à¸ķ รว", + "à¸ķร ว", + "Ġнали Ñĩи", + "ا ÙħÛĮÙĨ", + "اÙħ ÛĮÙĨ", + "اÙħÛĮ ÙĨ", + "Ġμ ικ", + "Ġdönem de", + "à¹Ī à¸Ĺ", + "æĥ ij", + "à¥ĭà¤Ĥ ,", + "Ñĩ Ñı", + "ãģ¾ ãĤĭ", + "ĠاÙĦ تÙĨ", + "ĠاÙĦت ÙĨ", + "ÑĢ Ð°Ð³", + "ÑĢаР³", + "ÑĢа г", + "ëĵ¤ ê³¼", + "Ń Ķ", + "ĠÙħÙĨ Ùĩا", + "ĠÙħÙĨÙĩ ا", + "ĠTh ế", + "éIJ µ", + "Ġ ï¾Ħ", + "Ġï¾ Ħ", + "ĠاÙĦØ¥ سÙĦاÙħ", + "ãĤ¦ ãĤ¹", + "ÙĬ دÙĬ", + "ÙĬد ÙĬ", + "Ġ å¾Ĺ", + "Ġå¾ Ĺ", + "Ġза ÑĢаз", + "ãĤ¸ ãĥ¥", + "Ġت عد", + "Ġتع د", + "i ÃŃ", + "Ġç ocu", + "oz ici", + "Ġ ë²Ķ", + "Ġë² Ķ", + "ĠØ¢Ùħ دÙĩ", + "ĠØ¢Ùħد Ùĩ", + "ÑĦ ик", + "ÑĦи к", + "Ġпо ÑģÑĤанов", + "ĠпоÑģÑĤ анов", + "Ġkrál ov", + "¨ ¨", + "Ġì¤ij ìļĶ", + "ĠG Wei", + "ĠGW ei", + "Ġvý voj", + "Ġboy ut", + "Ġ nek", + "Ġn ek", + "Ġne k", + "ا ÙĩاÛĮ", + "اÙĩ اÛĮ", + "اÙĩا ÛĮ", + "Ġst ranÄĽ", + "Ġstran ÄĽ", + "Ġstra nÄĽ", + "и ем", + "ие м", + "Ġпо ÑĢаж", + "ĠпоÑĢ Ð°Ð¶", + "à¥įर दर", + "à¥įरद र", + "é¡Ķ ãĤĴ", + "ĠY üz", + "Ġо знаÑĩа", + "Ġозна Ñĩа", + "à¹ģล à¸Ļà¸Ķ", + "Ġب ÙĩرÙĩ", + "ĠبÙĩ رÙĩ", + "ен ÑĤÑĥ", + "енÑĤ Ñĥ", + "ĠÐĿ ад", + "ĠÐĿа д", + "ĠÐŁ олÑĮ", + "ĠÐŁÐ¾ лÑĮ", + "ĠÐŁÐ¾Ð» ÑĮ", + "ãĥĹ ãĥª", + "á¿ ¶", + "âĢĮپدÛĮ اÛĮ", + "âĢĮپدÛĮا ÛĮ", + "ĠÙ¾ اÙĪØ±Ù¾ÙĪÛĮÙĨت", + "ิà¸ģ า", + "Ġε νÏİ", + "Ġεν Ïİ", + "Ġس اÛĮر", + "éģ º", + "ãĢģ ä»Ĭ", + "ĠL ê", + "äºĭ æĥħ", + "ĠY er", + "ĠYe r", + "èħ °", + "ĠاÙĦر سÙħ", + "ĠاÙĦÙħ ÙĪÙĤع", + "ĠاÙĦÙħÙĪ ÙĤع", + "Ġh Ãłm", + "Ġд ÑĢев", + "ĠдÑĢ ÐµÐ²", + "á tel", + "át el", + "áte l", + "ĠвÑģ Ñij", + "ìĺ ¥", + "ĠM ec", + "ĠMe c", + "ãĤ Ľ", + "Ġص اد", + "ĠÚ¯ ردد", + "Ġگرد د", + "Ġگر دد", + "Ġkr ás", + "èĮĥ åĽ´", + "a larına", + "alar ına", + "aları na", + "aların a", + "èĻ ļ", + "ĠØ¢ ÙĪØ±Ø¯", + "ĠØ¢ÙĪØ± د", + "ç¼ ĵ", + "ิ à¸ŀ", + "Ġ ãĥĭ", + "Ġãĥ ĭ", + "Ġ æĢ§", + "ĠæĢ §", + "ĠÙħÙĨ ذ", + "ç· ´", + "Ġ ê¶ģ", + "Ġê ¶ģ", + "в аем", + "ва ем", + "Ġζ Ïī", + "Ġn avr", + "Ġna vr", + "Ġnav r", + "Ïĥ ÏĦαÏĥη", + "ÏĥÏĦα Ïĥη", + "Ġر Ø£", + "Ġd opl", + "Ġdo pl", + "Ġdop l", + "_ __", + "__ _", + "çĶļ èĩ³", + "Äį el", + "Äįe l", + "æĦı åij³", + "ç¥ Ń", + "à ĺ", + "ÑģÑĤв еннÑĭе", + "ÑģÑĤвен нÑĭе", + "è£ ¡", + "Ġ ãĢī", + "ĠãĢ ī", + "ĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ĠãĢĢĠ ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "Ġ вал", + "Ġв ал", + "Ġва л", + "Ġ ẩm", + "Ġd iyor", + "Ġdi yor", + "Ġdiy or", + "à¸Ńà¸ĩ à¸Īาà¸ģ", + "ĠPh ó", + "ĠÐĵ е", + "ĠвеÑĢ ÐµÑģ", + "Ġве ÑĢеÑģ", + "Ġk onz", + "Ġko nz", + "Ġkon z", + "ر ز", + "ĠÑģоб оÑİ", + "Ġεκ εί", + "ìĺģ ìĸ´", + "i ag", + "ia g", + "ĠÑģ енÑĤ", + "Ġn ấu", + "Ġja ké", + "Ġjak é", + "Ġro zh", + "Ġroz h", + "Ġб ог", + "Ġбо г", + "ÙĨ اد", + "ÙĨا د", + "ĠاÙħ ÙĪØ±", + "à¹Į à¸ģาร", + "à¹Įà¸ģ าร", + "ĠY aÅŁ", + "ĠYa ÅŁ", + "é Ī", + "åķ ª", + "Ġon ay", + "Ġona y", + "ìĹ ĩ", + "o mu", + "om u", + "ÑĨ Ñĸйного", + "ÑĨÑĸй ного", + "ÑĨÑĸйно го", + "ĠÑģ ал", + "ĠΣ Ïħν", + "ĠΣÏħ ν", + "Ġsav un", + "å¦ Ļ", + "à¸Īะ ม", + "ãĤ¹ ãĤ¯", + "Ġd osy", + "Ġdo sy", + "Ġdos y", + "ľ ĺ", + "ë¨ ¹", + "Ġmin ul", + "Ġmi nul", + "ãĢĭ Ċ", + "åģ ı", + "ĠÐļ аÑĤ", + "ĠÐļа ÑĤ", + "Ġed ilmesi", + "Ġedilm esi", + "Ġedil mesi", + "ÑĨÑĸ ÑĶн", + "ìĦ± ìĿ´", + "åĸ Ķ", + "Ġв ÑĸÑĢ", + "ĠвÑĸ ÑĢ", + "è¯ ij", + "ाà¤ĩ ड", + "ĠÙĪÙĤ تÛĮ", + "ĠÙĪÙĤت ÛĮ", + "ÄIJ á»ĥ", + "Ġ vyššÃŃ", + "Ġvy ššÃŃ", + "Äį ila", + "Äįi la", + "Äįil a", + "а дÑĥ", + "ад Ñĥ", + "çī¹ åĪ¥", + "ĠìĿ¸ 기", + "u jÃŃcÃŃch", + "ujÃŃ cÃŃch", + "ujÃŃcÃŃ ch", + "ĠPo dle", + "ĠPod le", + "Ġy avaÅŁ", + "Ļ æ±Ł", + "Ġka yb", + "Ġkay b", + "åĬ ª", + "ç´ ¹", + "Ġоб ÑĢабоÑĤ", + "ĠобÑĢа боÑĤ", + "Ġм аÑı", + "Ġма Ñı", + "Ġ åıĬ", + "Ġåı Ĭ", + "æİ¥ åıĹ", + "ÙĨ تÛĮ", + "ÙĨت ÛĮ", + "Ġ ÏĩÏİ", + "ĠÏĩ Ïİ", + "ÑĤ ÑĢо", + "ÑĤÑĢ Ð¾", + "Ġu yar", + "Ġuy ar", + "ĠعÙħÙĦ کرد", + "Ġо ÑĨен", + "ĠмеÑģÑĤ а", + "à¸ķ ลาà¸Ķ", + "à¸ķล าà¸Ķ", + "Ùħ ÙĤ", + "ild ren", + "Ġзави ÑģиÑĤ", + "Âł ĠÂł", + "ÂłĠ Âł", + "Ġm ožná", + "Ġmož ná", + "æĺŃ åĴĮ", + "ır ken", + "к ин", + "ки н", + "åĿ Ĥ", + "ÏĦ Ïĥι", + "ÏĦÏĥ ι", + "ĠÑĩ Ñĥд", + "Ðļ он", + "is lav", + "isl av", + "ĠÐļ ÑĢаÑģ", + "ĠÐļÑĢа Ñģ", + "N ej", + "Ne j", + "Âł b", + "r of", + "ro f", + "Ġ ileri", + "Ġi leri", + "Ġil eri", + "Ġile ri", + "Ġiler i", + "ĠÐŀ ÑĢ", + "ĠCh á»ī", + "Ġn üfus", + "ĠÑĸ нÑĤ", + "ĠÑĸн ÑĤ", + "! âĢľ", + "Ġन र", + "主 ä¹ī", + "ĠتÙĨ ظ", + "ův odu", + "ůvod u", + "ĠгоÑĢ Ð¾Ð´Ð°", + "ĠгоÑĢод а", + "Ġk ural", + "Ġkur al", + "Ġku ral", + "Ġj edin", + "Ġje din", + "Ġjed in", + "ÑĢ Ð°ÑĤег", + "ÑĢаÑĤ ег", + "åĢ º", + "Ġzpůsob em", + "ìĿ¸ ìĿĺ", + "Ġ ÙĨب", + "ĠÙĨ ب", + "ĠN ga", + "ĠNg a", + "ĠÐĿ ай", + "ĠÐĿа й", + "ĠاÙģ Ø²Ø§Ø±", + "ĠاÙ쨲 ار", + "нÑĥ вÑģÑı", + "нÑĥв ÑģÑı", + "Ġдв оÑħ", + "Ġдво Ñħ", + "Ġro zp", + "Ġroz p", + "ε ίοÏħ", + "εί οÏħ", + "είο Ïħ", + "Ġο ικο", + "Ġοι κο", + "ĠG eç", + "ĠGe ç", + " Ĺ", + "Ġch iếm", + "Ġchiế m", + "ĠÑĢаÑģпÑĢоÑģÑĤ ÑĢан", + "Ġh ương", + "èĩª åĭķ", + "ĠÙħÙĪ ÙģÙĤ", + "æĮ ¥", + "ï¼ģ âĢĿĊĊ", + "ï¼ģâĢĿ ĊĊ", + "Ïģο ÏĨοÏģ", + "èı Į", + "ãĥ´ ãĤ¡", + "欧 ç¾İ", + "ĠÑĤеп ло", + "ãģĤ ãģĤ", + "ãĤ¦ ãĥ³", + "ĠÅŁ eyi", + "ĠÅŁey i", + "Ġs üt", + "Ġsü t", + "ãģ¹ ãģ¦", + "ãĥ³ ãĥij", + "ãĥ³ãĥ ij", + "μÎŃν Ïīν", + "Ġgenel likle", + "Ġدر ÙħاÙĨ", + "Ù ª", + "Ġak ıl", + "ĠÐľ Ñĭ", + "Ġet miÅŁ", + "Ġetm iÅŁ", + "Å¡ la", + "Ġвозмож ноÑģÑĤÑĮ", + "Ġвозможно ÑģÑĤÑĮ", + "Ġgün cel", + "Ġná ro", + "å½¢ å¼ı", + "Ġα ÏĢοÏĦε", + "ĠαÏĢο ÏĦε", + "ĠмÑĸÑģ ÑĨÑı", + "Ġ رض", + "Ġر ض", + "ä¸į çŁ¥éģĵ", + "ä¸įçŁ¥ éģĵ", + "r ava", + "ra va", + "rav a", + "ĠÎļ ά", + "ิà¸Ļ à¸Ĺร", + "ิà¸Ļà¸Ĺ ร", + "Ġли ÑģÑĤÑĮ", + "ĠлиÑģÑĤ ÑĮ", + "èĨ ľ", + "ãģ«ãģª ãĤĬ", + "Ġ æĿ¾", + "ĠæĿ ¾", + "å® ı", + "Ġм иÑģ", + "Ġми Ñģ", + "át nÃŃ", + "Ġyıl lık", + "ĠMerk ezi", + "ĠMerkez i", + "Ġiç eri", + "Ġiçer i", + "ÅĻ ÃŃž", + "ÅĻÃŃ Å¾", + "Ġp ÅĻe", + "ĠpÅĻ e", + "Ïĩ Ïģι", + "Ġ åįĥ", + "Ġåį ĥ", + "Ġs rp", + "Ġsr p", + "à¹Ĥ à¸Ĺร", + "à¹Ĥà¸Ĺ ร", + "ĠK rál", + "ĠKr ál", + ". Σ", + "á val", + "áv al", + "l éd", + "lé d", + "Ġ λα", + "Ġλ α", + "ี ยวà¸ģ", + "ีย วà¸ģ", + "ียว à¸ģ", + "ãģı ãģª", + "ĠvÅ¡ ichni", + "ĠпÑĢед оÑģÑĤав", + "ì ¿", + "Ġ 구ê¸ĢìĥģìľĦ", + "Ġ구 ê¸ĢìĥģìľĦ", + "Ġ구ê¸Ģ ìĥģìľĦ", + "Ġà¤īप लब", + "в оз", + "во з", + "ĠëħĦ ëıĦë³Ħ", + "、 _", + "à¸ļ รร", + "à¸ļร ร", + "ĠÑģв ÑĸÑĤÑĥ", + "ĠÑģвÑĸÑĤ Ñĥ", + "ĠÑĢÑĥб лей", + "len me", + "lÃŃ Äį", + "ÏĦ ει", + "ÏĦε ι", + "Ġ åı¤", + "Ġåı ¤", + "ĠObr ázky", + "Ġìĺģ íĸ¥", + "ĠгÑĢаж дан", + "í Ĥ¹", + "íĤ ¹", + "Ġsahip tir", + "Ġп оÑĩаÑĤкÑĥ", + "ĠпоÑĩ аÑĤкÑĥ", + "ĠØ£ÙĬ ض", + "ĠÑĤоÑĢ Ð³Ð¾Ð²", + "Ġgel ecek", + "Ġgele cek", + "Ġ 문íĻĶ", + "Ġ문 íĻĶ", + "ik leri", + "ikler i", + "ĠнеобÑħÑĸд но", + "Ġ äºij", + "o vol", + "ov ol", + "ovo l", + "Ġद ल", + "ĠìķĬ ê³ł", + "Ġм г", + "Ġz jist", + "an lı", + "ั à¸ĩà¸Ļ", + "ัà¸ĩ à¸Ļ", + "ÑĢа Ñħов", + "ÑĢаÑħ ов", + "ι νη", + "ιν η", + "Ġп лоÑĤ", + "Ġпл оÑĤ", + "Ġпло ÑĤ", + "Ġn itel", + "Ġni tel", + "Ġnit el", + "ìĬ¤ íģ¬", + "ĠSon ra", + "ĠÑģ боÑĢ", + "ĠÑģб оÑĢ", + "Ġ ÏĥοÏħ", + "ĠÏĥ οÏħ", + "Ġol mam", + "Ġolm am", + "Ġolma m", + "Ġan aliz", + "Ġanal iz", + "à¹Į ว", + "Ġm ỹ", + "Ġmá» ¹", + "ce ae", + "cea e", + "Ġ ден", + "Ġд ен", + "Ġде н", + "веÑĢ Ð¶Ð´", + "веÑĢж д", + "Ạ¢", + "ãģĵ ãģ¨ãĤĤ", + "ãģĵãģ¨ ãĤĤ", + "ìĤ¬ íķŃ", + "è¨Ģ ãģ£ãģŁ", + "Ġ ì¹´ì§Ģëħ¸", + "Ġì¹´ ì§Ģëħ¸", + "ÑĢ Ð¸ÑĤи", + "ÑĢи ÑĤи", + "ÑĢиÑĤ и", + "Ġch ce", + "Ġçev ir", + "ÛĮ ÛĮÙĨ", + "ä¼ļ è®®", + "ัม à¸ŀ", + "Ġ åĦ", + "Ġå Ħ", + "ĠÙ¾ در", + "å¼ı ä¼ļ社", + "Ġ ÑĨен", + "ĠÑĨ ен", + "ĠÑĨе н", + "ิ à¸ĸ", + "Ġji nak", + "Ġjin ak", + "Ġб лÑİ", + "Ġбл Ñİ", + "и ÑĨин", + "иÑĨ ин", + "ÙĴ Ùĩ", + "Ú© ÙĪØ±", + "Ú©ÙĪ Ø±", + "Ġ ìķħ", + "Ġìķ ħ", + "e ksiyon", + "ek siyon", + "eks iyon", + "ĠÑģ веÑĢ", + "ĠÑģв еÑĢ", + "ĠобÑĢаз ованиÑı", + "Ġ ãĥĻ", + "Ġãĥ Ļ", + "æľī 人", + "Ġbilg ileri", + "Ġbilgi leri", + "Ġbilgiler i", + "Ġh ầu", + "еÑĢ Ñĸг", + "еÑĢÑĸ г", + "Ġva Å¡e", + "Ġn edir", + "Ġne dir", + "Ġned ir", + "ä¸į å¾Ĺ", + "ĠbaÅŁar ılı", + "ĠbaÅŁarı lı", + "Ġkay bet", + "Ġkayb et", + "å© ·", + "ĠÐĿ ав", + "ĠÐĿа в", + "Ġê´Ģ íķľ", + "Ñģ ÑĤÑİ", + "ÑģÑĤ Ñİ", + "å®ŀ éĻħ", + "k lady", + "kl ady", + "klad y", + "kla dy", + "д аÑĤÑĮ", + "да ÑĤÑĮ", + "даÑĤ ÑĮ", + "r aç", + "ra ç", + "Ġkuv vet", + "à¸ģาร à¸Ĺ", + "å ļ", + "Ġ ÑĢеп", + "ĠÑĢ ÐµÐ¿", + "ĠÑĢе п", + "Ġ à¸Ŀ", + "ĠภĿ", + "ĠDi ÄŁer", + "íĶĦ íĬ¸", + "Ġnej vÄĽtÅ¡ÃŃ", + "Ġìłģ ìļ©", + "Ġonemoc nÄĽnÃŃ", + "а ка", + "ак а", + "Ðł аз", + "ĠÙģ Ø¥ÙĨ", + "ãĤµ ãĤ¤ãĤº", + "ãĤµãĤ¤ ãĤº", + "Ġv lád", + "Ġvl ád", + "Ġvlá d", + "Ġr ady", + "Ġrad y", + "Ġra dy", + "ãĢģ ãģĵãĤĮ", + "ÑģÑĤв ие", + "lı ÄŁa", + "lıģ a", + "å ŃĶ", + "åŃ Ķ", + "Ġ áo", + "Ġá o", + "à¸Ń าà¸ģาศ", + "Ġ à¤ıम", + "Ġà¤ı म", + "δ αÏĤ", + "δα ÏĤ", + "Ġа пÑĢ", + "Ġап ÑĢ", + "æİ Ľ", + "Ġ ç«ĭ", + "Ġç« ĭ", + "âĸı âĸı", + "ĠС м", + "Ġne má", + "Ġnem á", + "Ġ è¢", + "Ġè ¢", + "νο μα", + "νομ α", + "ĠÙģ Ø±ÙĪØ¯", + "ĠÙ쨱 ÙĪØ¯", + "ĠÙ쨱ÙĪ Ø¯", + "Ġül ke", + "Ġülk e", + "Ġ æĺŁ", + "Ġæĺ Ł", + "ั à¸Ļà¸ģ", + "ัà¸Ļ à¸ģ", + "ãģķãĤĵ ãģ®", + "eÅŁ il", + "ÄŁ iz", + "ÄŁi z", + "ĠÐij оÑĢ", + "Ġt ầm", + "ει ÏĦοÏħÏģγ", + "Ġ γÏģα", + "Ġγ Ïģα", + "à¥įष à¤ķ", + "Ġv ẻ", + "Ġkend isine", + "Ġkendisi ne", + "ĠìķĮ ê³ł", + "Ġêµ Ńìłľ", + "ĠêµŃ ìłľ", + "ĠnÄĽk do", + "Ġ ÛĮÙĩ", + "ĠÛĮ Ùĩ", + "Ġکار بر", + "ãĥĻ ãĥ«", + "ï» ´", + "Ġt uyên", + "Ġtuy ên", + "Ġç at", + "Ġça t", + "âĢIJ âĢIJ", + " ı", + "Ġ ìĤ¬ìĹħ", + "ĠìĤ¬ ìĹħ", + "é ĨĴ", + "éĨ Ĵ", + "æıIJ é«ĺ", + "æ· ¡", + "Ġ ÄŁ", + "ĠÄ Ł", + "èĸ ¦", + "ãĢĭ ï¼Ī", + "æ¡ ĥ", + "ìĹ Ħ", + "Ġ æŀĹ", + "Ġæŀ Ĺ", + "Ä Ĥ", + "ĠÄĮ ech", + "α ιο", + "αι ο", + "ĠØ· رÙĬÙĤ", + "Ġطر ÙĬÙĤ", + "Ġзав еÑĢÑĪ", + "ĠзавеÑĢ ÑĪ", + "تÙĪ Ø¨Ø±", + "ĠØŃ ج", + "ĠÎŃÏĩ οÏħν", + "¿ ÃĤ", + "Ġd ÄĽtÃŃ", + "ĠdÄĽ tÃŃ", + "ĠdÄĽt ÃŃ", + "Ġiç ine", + "Ġiçin e", + "Ġiçi ne", + "ĠCh úa", + "ан нÑĭй", + "аннÑĭ й", + "ĠÙĪÛĮ Úĺ", + "Ġna stav", + "Ġnast av", + "ıs ına", + "ısı na", + "ĠÑĹ Ð¼", + "п он", + "по н", + "е нÑı", + "ен Ñı", + "ĠÙĪ Ø¸", + "Ú¯ ÙĦ", + "หล วà¸ĩ", + "Ġza stav", + "Ġzast av", + "а кон", + "ак он", + "³³³³³³³³³³³³³³³³ ³³³³³³³³³³³³³³³³", + "ĠK ır", + "ĠKı r", + "çµ ¶", + "ĠоÑĢганÑĸ заÑĨÑĸÑĹ", + "ĠоÑĢганÑĸз аÑĨÑĸÑĹ", + "ĠоÑĢганÑĸза ÑĨÑĸÑĹ", + "ãģŁ ãĤĬ", + "ذ ÙĬ", + "Ġर à¤ķ", + "amp iyon", + "Ġ æ¸ħ", + "Ġæ¸ ħ", + "çľ¼ çĿĽ", + "Ġìķ ĬìĿĢ", + "ĠìķĬ ìĿĢ", + "é¹ ¿", + "Ġ å¿ĥ", + "Ġå¿ ĥ", + "ĠпÑĢек ÑĢаÑģ", + "ĠÑģ егоднÑı", + "Ġ सल", + "Ġस ल", + "ĠÏħ ÏĢÏĮ", + "ĠÏħÏĢ ÏĮ", + "ĠÐķ го", + "ĠÐĽ и", + "ãĤ¨ ãĥ«", + "Ġл ÑİÑĤ", + "ĠлÑİ ÑĤ", + "é¥ °", + "Ġvz dál", + "¯ ÃĤ", + "Ġна Ñıв", + "Ġتش Ú©ÛĮÙĦ", + "Ġس ÙĪÛĮ", + "ĠسÙĪ ÛĮ", + "Ġt ái", + "Ġtá i", + "Ġk apı", + "Ġkap ı", + "ĠsvÄĽt ÄĽ", + "ĠsvÄĽ tÄĽ", + "δ ÏĮν", + "δÏĮ ν", + "æ¼ ¢", + "ì į¨", + "ĠbaÅŁv ur", + "ÑĢ Ð¸Ð½Ð°", + "ÑĢи на", + "ÑĢин а", + "Ġk elim", + "Ġke lim", + "Ġkel im", + "аÑĤ ок", + "аÑĤо к", + "Ġκά θε", + "ĠYük sek", + "à¹ĩà¸Ļ à¸ľ", + "éł Ĥ", + "åIJĮ æĻĤ", + "ÅŁ tır", + "ÅŁt ır", + "ว à¸ĩศ", + "วà¸ĩ ศ", + "o ty", + "ot y", + "Ġ ارد", + "Ġا رد", + "Ġار د", + "ĠìŀIJìĭł ìĿĺ", + "ĠÑıн ва", + "üyor du", + "æĿ ¨", + "ĠâĢĵ Ċ", + "ï¼Į å®ĥ", + "е йн", + "ей н", + "ĠпеÑĢ ÐµÑĤ", + "ĠпеÑĢе ÑĤ", + "ĠdeÄŁiÅŁik lik", + "ĠогÑĢа ниÑĩ", + "ìĦľ ìļ¸", + "Ġgel iyor", + "ĠÙ¾ ذÛĮر", + "åĵ ²", + "ey in", + "eyi n", + "Ġëı Ī", + "Ġun iverz", + "Ġh ned", + "Ġhn ed", + "Ġt áºŃn", + "vo ÅĻÃŃ", + "voÅĻ ÃŃ", + "Ġn iên", + "Ġni ên", + "dÄĽ podob", + "ìĤ¬ íļĮ", + "ãģĮ ãģĤãĤĬ", + "ĠÑģ ÑĸÑĩ", + "' '\"", + "'' \"", + "Ġtop lantı", + "ĠÑģ ÑĩеÑĤ", + "ĠÑģÑĩ еÑĤ", + "åĩĨ å¤ĩ", + "ан ÑĸÑı", + "анÑĸ Ñı", + "Ġ zel", + "Ġz el", + "Ġze l", + "v ala", + "val a", + "va la", + "Ġа пп", + "Ġап п", + "ĠاÙĦÙħ ÙĦÙĥ", + "ĠاÙĦÙħÙĦ Ùĥ", + "Ġho ÅŁ", + "ĠÐĵ ен", + "ĠÐĵе н", + "ÑĤ аб", + "ÑĤа б", + "ĠÄĮesk o", + "ĠÄĮes ko", + "Ġмай же", + "ĠmÄĽ sto", + "ĠmÄĽst o", + "yo nel", + "yon el", + "ê±° 리", + "Ġìĺ¨ ëĿ¼ìĿ¸", + "ç´ ¯", + "Ġde rec", + "Ġder ec", + "Ġdere c", + "Ġок ÑĢÑĥж", + "Ġy abancı", + "Ġ íĦ°", + "ĠíĦ °", + "Ġ èµĦ", + "Ġèµ Ħ", + "ÎĻÎļ ÎĹ", + "Ġп Ñĭ", + "Ġv ÄĽn", + "ĠvÄĽ n", + "и нки", + "ин ки", + "ụ p", + "æľº 械", + "ĠìķĮ 볤", + "ëħ ķ", + "Ġ λÏĮγ", + "Ġλ ÏĮγ", + "e yn", + "ey n", + "Ġ ëIJĺìĹĪëĭ¤", + "ĠëIJĺ ìĹĪëĭ¤", + "ĠëIJĺìĹĪ ëĭ¤", + "æ± ¡", + "Ġve dle", + "Ġved le", + "ĠÙĥ تب", + "ë§ ¨", + "ĠÙħÙĤ اÙĪ", + "å¹´ ãģ«", + "ाà¤ĩ à¤ķ", + "ĠÑģÑĤ оÑģ", + "ĠÑģÑĤо Ñģ", + "ĠÏĥ ÏĦοÏħÏĤ", + "м еÑĤÑĮ", + "ме ÑĤÑĮ", + "меÑĤ ÑĮ", + "Ġes as", + "Ġesa s", + "ëIJĺ ê³ł", + "ĠkvÄĽt na", + "Ġ éľ", + "Ġé ľ", + "d ük", + "dü k", + "åŁ ·", + "è ªĮ", + "èª Į", + "Ġm luv", + "Ġml uv", + "ĠпÑĢи нÑı", + "ĠпÑĢин Ñı", + "Ġpo té", + "Ġpot é", + "ĠÚ© ÙĨÙħ", + "ĠÚ©ÙĨ Ùħ", + "ĠпÑĢед лож", + "ĠÐľÐ¾Ñģк ва", + "ï¼Į å¦Ĥ", + "Ġsv ém", + "Ġsvé m", + "Ġا ÙħÙĨ", + "ĠاÙħ ÙĨ", + "ส าย", + "ĠÑĥм енÑĮ", + "Ġ ãģĵãģ®", + "åī Ĥ", + "ĠÑģ еÑĢÑĮ", + "ĠÑģеÑĢ ÑĮ", + "Ġm á»ĩ", + "Ġmá» ĩ", + "Ġ ä¹Ŀ", + "Ġä¹ Ŀ", + "Ġза кÑĸн", + "Ġзак Ñĸн", + "Ġв елиÑĩ", + "Ġвели Ñĩ", + "Ġвел иÑĩ", + "Ġве лиÑĩ", + "Ġкон ÑĤÑĢа", + "ĠконÑĤ ÑĢа", + "ĠконÑĤÑĢ Ð°", + "ĠS osyal", + "Ġy ukarı", + "Ġد ÙĪØ¨", + "ĠدÙĪ Ø¨", + "ä¾ §", + "Ġза мен", + "Ġзам ен", + "ï» ®", + "Ġso bÄĽ", + "Ġsob ÄĽ", + "ĠТак же", + "Ð İ", + "ε δ", + "Ùħ ارÛĮ", + "Ùħا رÛĮ", + "Ùħار ÛĮ", + "ξ ι", + "ì¹ Ń", + "Ġп лаÑģÑĤи", + "Ġпл аÑģÑĤи", + "Ġпла ÑģÑĤи", + "Ïĥ οÏħν", + "Ïĥο Ïħν", + "ÏĥοÏħ ν", + "èľĺèĽĽ è¯į", + "ÙĪ ÛĮزÛĮ", + "ÙĪÛĮ زÛĮ", + "Ġnap ÅĻ", + "ĠÑĤип а", + "ĠÑĤи па", + "à¥Ĥ à¤Ľ", + "ĠÅŁ ah", + "л ÑıÑĤи", + "лÑı ÑĤи", + "ب ÛĮر", + "بÛĮ ر", + "ระ ยะ", + "ĠболÑĮ ÑĪин", + "ĠболÑĮÑĪ Ð¸Ð½", + "ÏĦη ÏĦα", + "Ġíıī ê°Ģ", + "Ġpro jev", + "Ġproj ev", + "Ġproje v", + "ò i", + "Ġк нÑı", + "ÏĨ εÏģ", + "е ÑĢÑĥ", + "еÑĢ Ñĥ", + "Ñį н", + "ĠعÙħ ÙĦÛĮ", + "ĠعÙħÙĦ ÛĮ", + "à¤ł न", + "ãĥ³ ãĤ¯", + "ĠìķĦ ëŀĺ", + "Î Ī", + "Ġب است", + "Ġبا ست", + "Ġ تÙĥ", + "Ġت Ùĥ", + "a ÄįnÃŃ", + "aÄį nÃŃ", + "ĠлÑĸ кÑĥваннÑı", + "ĠлÑĸк ÑĥваннÑı", + "à¸Ħ à¹Ĥà¸Ļ", + "Ġ èĥ½", + "Ġè ĥ½", + "Ġèĥ ½", + "θ λη", + "len miÅŁ", + "Ġl á»Ļ", + "Ġlá» Ļ", + "Ġsi lah", + "Ġsil ah", + "ĠA ustr", + "ĠAust r", + "ĠAus tr", + "ĠAu str", + "ØŃ ÙĤ", + ".*** .***", + "ì ©", + "Ġg Ãł", + "Ġباز بÛĮÙĨÛĮ", + "ĠÄij Ãłn", + "ÃŃ ky", + "ÃŃk y", + "ĠÎķ ν", + "ض Ùħ", + "å§ ĵ", + "Ġ ÙĨÙĪÛĮس", + "ĠÙĨ ÙĪÛĮس", + "ĠÙĨÙĪ ÛĮس", + "Ġskup iny", + "Ġس ÛĮد", + "ĠسÛĮ د", + "Ġal dıģı", + "Ġald ıģı", + "Ġaldı ģı", + "m eli", + "me li", + "mel i", + "в иж", + "ви ж", + "ì¹ĺ ëĬĶ", + "ов аÑħ", + "ова Ñħ", + "Ġ æ©", + "Ġæ ©", + "Ø´ÙĨ اسÛĮ", + "Ø´ÙĨاس ÛĮ", + "Ġn imi", + "Ġni mi", + "Ġnim i", + "ĠÐĵ ÑĢи", + "íĹ Į", + "Ġк в", + "éŁ ĵ", + "Ġ íĽĦ기", + "ĠíĽĦ 기", + "Ġ stÅĻÃŃ", + "Ġst ÅĻÃŃ", + "ĠstÅĻ ÃŃ", + "ĠкÑĸлÑĮ кÑĸÑģÑĤÑĮ", + "ĠBakan lıģı", + "ĠменÑĮ ÑĪе", + "ا ÙĪÛĮ", + "اÙĪ ÛĮ", + "Ġار ÙĪÙ¾", + "Ġ èī²", + "Ġèī ²", + "ĠÚ©ÙĪÚĨ Ú©", + "ĠA ynı", + "Ġ äºĨ", + "Ġس Ù쨱", + "ĠسÙģ Ø±", + "ĠÑĤе аÑĤ", + "Ġ vÄĽd", + "ĠvÄĽ d", + "а ÑĢов", + "аÑĢ Ð¾Ð²", + "Ġоб меж", + "ĠìķĬ ìķĺ", + "追 åĬł", + "éł Ī", + "dÄĽ lenÃŃ", + "dÄĽl enÃŃ", + "dÄĽlen ÃŃ", + "Ġk ims", + "Ġki ms", + "Ġkim s", + "Ġ èı²", + "Ġèı ²", + "Ġг ÑĢÑĥн", + "ĠгÑĢÑĥ н", + "ĠгÑĢ Ñĥн", + "ĠØ¢ ÙĦÙħاÙĨ", + "ĠØ¢ÙĦ ÙħاÙĨ", + "Ġав г", + "ĠÑī оÑģÑĮ", + "ĠÑīо ÑģÑĮ", + "Ġ å¾·", + "Ġå¾ ·", + "ĠÐĿа ÑĨÑĸоналÑĮ", + "æĪIJ ç«ĭ", + "ูà¸Ļ ย", + "ãĥ¼ ãĥ«ãĥī", + "ãĥ¼ãĥ« ãĥī", + "éĽ ²", + "ĠT á»ķ", + "cı lık", + "ĠAlma nya", + "ĠAlman ya", + "Ġov Å¡em", + " ĭ", + "ĠÏĩÏģη ÏĥιμοÏĢοι", + "Ġörg üt", + "िस स", + "èĹ Ŀ", + "ĠGi ải", + "Ġsv ob", + "Ġsvo b", + "Ġrůzn ých", + "Ġrůz ných", + "Ġsmlou vy", + "ÑĢ ÐµÑģÑģ", + "ÑĢеÑģ Ñģ", + "ี à¹Ģà¸Ķ", + "ĠاÙħ رÙĪØ²", + "ĠاÙħر ÙĪØ²", + "ãĤ ħ", + "åĿ ¦", + "à¹ī à¸Ħ", + "Ġ каж", + "Ġк аж", + "Ġка ж", + "å¼ Ĺ", + "Ñĩ ноÑĹ", + "Ñĩно ÑĹ", + "åľ Ī", + "ĠØ¢ ÙĩÙĨÚ¯", + "ëª °", + "Ġ æº", + "Ġæ º", + "Ġ èĦ", + "Ġè Ħ", + "ä¸Ģ æŃ¥", + "оÑĩ ка", + "Ġpro stor", + "Ġpros tor", + "Ġprost or", + "Ġng ắn", + "Ġ ç·", + "Ġç ·", + "н аÑĢ", + "на ÑĢ", + "Ġà¤ľ व", + "ĠнаÑĩ алÑĮ", + "Ġне дел", + "Ġнед ел", + "ĠÑģиÑģÑĤем Ñĥ", + "ج ÙĬ", + "اد ات", + "ادا ت", + "Ġ æ¢", + "Ġæ ¢", + "ĠجاÙħ عة", + "ĠجاÙħع Ø©", + "Ġ ä»İ", + "Ġà¤ħ फ", + "èĸ Ħ", + "Ġب اÙĤ", + "Ġبا ÙĤ", + "ب ÙĬع", + "بÙĬ ع", + "ãģķ ãĤĮãģ¦", + "ãģķãĤĮ ãģ¦", + "ĠÃĩ alÄ±ÅŁ", + "Ø®ÙĪ Ø§Ø³Øª", + "ãĥĥ ãĤ·ãĥ¥", + "ĠØŃ سÛĮÙĨ", + "ĠØŃس ÛĮÙĨ", + "Ġоб наÑĢÑĥж", + "в Ñĸдом", + "вÑĸ дом", + "вÑĸд ом", + "Ġh ôm", + "л анд", + "ла нд", + "лан д", + "Ġव à¤ľà¤¹", + "س ÙĬÙĨ", + "سÙĬ ÙĨ", + "æł ı", + "Ġna vÃŃc", + "Ġnav ÃŃc", + "ãĤµ ãĤ¤ãĥĪ", + "ãĤµãĤ¤ ãĥĪ", + "ĠÑı комÑĥ", + "ĠÑıк омÑĥ", + "Ġí Ľ", + "ĠY ani", + "ĠYan i", + "ĠYa ni", + "ãĤĵ ãģ§ãģĻ", + "ãĤĵãģ§ ãģĻ", + "Ġг ÑĢÑĥп", + "ĠгÑĢÑĥ п", + "ĠгÑĢ Ñĥп", + "Äį ný", + "ÑĨ ик", + "ÑĨи к", + "ÙĪ ÙĬر", + "ÙĪÙĬ ر", + "Ġ Xã", + "ĠX ã", + "Ġf yz", + "Ġfy z", + "Ġ ï½ī", + "Ġï½ ī", + "âĢĮ ترÛĮÙĨ", + "âĢĮتر ÛĮÙĨ", + "à¤Ł à¤ķ", + "ÑĦоÑĢм и", + "ÑĦоÑĢ Ð¼Ð¸", + "ĠO yun", + "ĠOy un", + "åł´ æīĢ", + "ØŃ Ø«", + "ĠìķĮ ìķĦ", + "ÑĢав илÑĮ", + "ÑĢави лÑĮ", + "ï¼Į âĢĿ", + "b oru", + "bo ru", + "bor u", + "ĠK ullan", + "ĠKul lan", + "ĠKay nak", + "Ġê° ĸ", + "ç´ Ķ", + "ï¼Į æ¯ı", + "ÎĹ Î¡", + "Ġp ůl", + "Ġpů l", + "Ġг оÑģÑĤ", + "ر ÙĪÙħ", + "رÙĪ Ùħ", + "ï¼Į åį³", + "Û² Û³", + "ĠÙĨØ® ست", + "ĠÚ© سب", + "Ġ à¹Ģà¸ļ", + "Ġà¹Ģ à¸ļ", + "Ġà¹Ģภļ", + "Ġy azar", + "Ġya zar", + "Ġyaz ar", + "j ekt", + "je kt", + "à¹Ĥล ย", + "Ġдоб ÑĢе", + "Ġپزش Ú©ÛĮ", + "ĠتÙĩ ÛĮÙĩ", + "ç¾İ åľĭ", + "но ÑģÑıÑĤ", + "ноÑģ ÑıÑĤ", + "ноÑģÑı ÑĤ", + "ëłĪ ìĬ¤", + "åĹ ¯", + "Ġr Ãłng", + "ĠÎķ ξ", + "а ÑĤаÑĢ", + "аÑĤ аÑĢ", + "аÑĤа ÑĢ", + "k ova", + "ko va", + "kov a", + "ĠÅŁey ler", + "Ø® اص", + "ĠìķĪ ìłĦ", + "Ñī ей", + "Ñīе й", + "Ġë° Ŀ", + "âĢĮتÙĪØ§ÙĨ د", + "ãģĪ ãģ°", + "Ġv ữ", + "Ġvá» ¯", + "ĠÑģ ама", + "ĠÑģам а", + "ĠобоÑĢ Ñĥд", + "Ġобо ÑĢÑĥд", + "âĢĮ باشد", + "à¹Į à¸Ń", + "Ġdet ay", + "æĤ ²", + " Ī", + "ãĤ¦ ãĤ£", + "ĠпÑĢав ила", + "ĠпÑĢави ла", + "ĠпÑĢавил а", + "kr ét", + "à¹Į ร", + "åĮ ¹", + "Ġ åħį", + "Ġå ħį", + "Ġåħ į", + "ĠÑģилÑĮ но", + "ĠиÑģ ÑĤоÑĩ", + "ĠиÑģÑĤ оÑĩ", + "ĠsaÄŁ lar", + "Ġ æŃ¦", + "ĠæŃ ¦", + "íĸ ĪìĬµëĭĪëĭ¤", + "íĸĪ ìĬµëĭĪëĭ¤", + "Kh ông", + "à¹Īาà¸ĩ à¹Ĩ", + "Û° Û°Û°", + "Û°Û° Û°", + "Ġ رÙĤ", + "Ġر ÙĤ", + "âĢĻ ÑıÑĤ", + "âĢĻÑı ÑĤ", + "åĽ ²", + "à¹ģ à¸Ķà¸ĩ", + "Ġžád né", + "c ouz", + "co uz", + "cou z", + "à ĭ", + "ĠпÑĸд гоÑĤов", + "Ġ ëĮĢíķĻ", + "ĠëĮĢ íķĻ", + "Ġdüny anın", + "èĢģ å¸Ī", + "èģĮ ä¸ļ", + "Ġy eri", + "Ġye ri", + "Ġyer i", + "à¥ĭ à¤ķर", + "à¥ĭà¤ķ र", + "ĠبÙĩ تر", + "ëĭĪ ìķĦ", + "ìĿĮ ìĿĦ", + "Ġ æĮĩ", + "ĠæĮ ĩ", + "ãĢį ï¼Ī", + "ĠÑģооÑĤвеÑĤÑģÑĤв ии", + "æĬ ĵ", + "à¹Ĥ à¸Ĺ", + "Ġtr á»ĵng", + "ĠпÑĢа ÑĨÑĸ", + "Ġ ëĨĵ", + "ĠëĨ ĵ", + "à¤ĩ न", + "Ġìłķ ë§IJ", + "ãĢ ķ", + "Ġc áºŃn", + "åĸ Ŀ", + "Ġê³Ħ ìĨį", + "Ġ ä¸İ", + "Ġä¸ İ", + "å¥ ı", + "Ġع اÙĦÙħ", + "Ġvys vÄĽt", + "Ġдо ÑĢог", + "ĠдоÑĢ Ð¾Ð³", + "Ġн еÑĢв", + "ĠнеÑĢ Ð²", + "Ġб еÑĤ", + "Ġп ÑĢиÑĤ", + "ĠпÑĢ Ð¸ÑĤ", + "ĠпÑĢи ÑĤ", + "ов Ñĭй", + "å· ¡", + "Ùģ Ø§Ø¹", + "Ðļ Ðĺ", + "à¸ķ รวà¸Ī", + "à¸ķรว à¸Ī", + "ĠÐľ ай", + "ĠÐľÐ° й", + "ëıĦ ë¡ľ", + "Ġz lat", + "ĠsaÄŁ lam", + "Ïģ αν", + "Ïģα ν", + "à¸Ĭ ร", + "å¹´ ãģ®", + "à¸Ħ รà¸Ńà¸ĩ", + "à¸Ħร à¸Ńà¸ĩ", + " ħ", + "Ġho á", + "Ġдов олÑĮно", + "Ġol maz", + "Ġolm az", + "Ġolma z", + "ĠpodmÃŃn ky", + "ĠÑħозÑı й", + "æĻ ´", + "ÑĢ Ð¾Ð²Ð°", + "ÑĢов а", + "ÑĢо ва", + "Ġl ược", + "ान न", + "Ġкап иÑĤ", + "ĠÚĺ Ø§ÙĨ", + "æľī äºĽ", + "ĠповеÑĢÑħ ноÑģÑĤи", + "ĠÑĨ Ñĸн", + "ĠÑĨÑĸ н", + "ü yle", + "üy le", + "Ġj azy", + "Ġja zy", + "Ġjaz y", + "ĠPh ú", + "Ġ सन", + "Ġस न", + "åĩº åĶ®", + "Âł д", + "Ġ ãĤ¯", + "ĠãĤ ¯", + "çͱ äºİ", + "à¥į पत", + "à¥įप त", + "ĠاÙĦØ® اÙħ", + "Ġاص ÙĦاØŃ", + "ĠاصÙĦ اØŃ", + "Ġ تÛĮ", + "Ġت ÛĮ", + "Ġt ato", + "Ġta to", + "Ġtat o", + "å¹ ¹", + "æ³ ½", + "à¸Ńà¸ģ à¸Īาà¸ģ", + "Ñĥ лÑİ", + "Ñĥл Ñİ", + "Ġв Ñģп", + "ĠвÑģ п", + "m ekte", + "me kte", + "mek te", + "à¥Ģ फ", + "ĠÚĺ ÙĪØ¦", + "Ġl á»ĩnh", + "Ġlá»ĩ nh", + "âĢĮ کرد", + "âĢĮÚ© رد", + "íı¬ ì¸ł", + "an ki", + "ank i", + "Ġëĵ±ë¡Ŀ ëĮĢíĸī", + "Ġ ãĤĿ", + "ĠãĤ Ŀ", + "Ġار زش", + "Ġارز Ø´", + "Ġth ú", + "Ġ ấn", + "è¡Į 为", + "ĠÑģ нова", + "ê ¾¸", + "Ġsou hlas", + "Ġв озв", + "Ġвоз в", + "Ġво зв", + "ÏģÎŃ ÏĢει", + "ĠнÑĸ Ñĩого", + "ĠнÑĸÑĩ ого", + "н ож", + "но ж", + "ÑĤ ик", + "ÑĤи к", + "ãģ© ãģĵ", + "ĠоÑģнов е", + "ãĤ ¥", + "à¸Ľà¸£à¸° à¸Īำ", + "Ġ à¸Ĺà¸Ńà¸ĩ", + "Ġà¸Ĺ à¸Ńà¸ĩ", + "Ġek sik", + "Ġeks ik", + "ĠÙĦ Ø¥", + "ãģĭ ãģ®", + "Ġ ãģª", + "- प", + "Ïģ ει", + "Ïģε ι", + "ĠìłĦ 문", + "า à¸ģล", + "าà¸ģ ล", + "β ε", + "íĬ¹ ë³Ħ", + "íķĺ ë©´ìĦľ", + "íķĺë©´ ìĦľ", + "à¸Ħà¹Ĥà¸Ļ à¹Ĥลย", + "Ġ 好", + "Ġå¥ ½", + "Ġy ayım", + "Ġyay ım", + "ë§Į ëĤ¨", + "ĠкиÑģ лоÑĤ", + "ĠкиÑģл оÑĤ", + "ĠÑį неÑĢг", + "çĸ ¾", + "Ġد Ø´", + "Ġsor uml", + "Ġsoru ml", + "Ġза клад", + "Ġзак лад", + "à¸Ĭ à¸Ńà¸ļ", + "ĠÙ쨱ÙĩÙĨÚ¯ ÛĮ", + "Ġà¤ı ल", + "Ġë¹Ħ êµIJ", + "l erce", + "ler ce", + "Ġ Ø·ÙĦب", + "ĠØ· ÙĦب", + "ĠØ·ÙĦ ب", + "ãģ« ãģĹãģ¦", + "ĠÑı коÑĹ", + "ĠÑıк оÑĹ", + "ĠاÙĦب تÙĩ", + "ĠÐľ аÑĤ", + "ĠÐľÐ° ÑĤ", + "åį ĵ", + "Ġ åħ¬åı¸", + "Ġåħ¬ åı¸", + "Ġsöy ley", + "Ġsöyl ey", + "ĠìĥĪ ë¡ľìļ´", + "ĠÑĦ аÑĢ", + "Ġalt ına", + "Ġaltın a", + "Ġaltı na", + "Ġsta vu", + "Ġstav u", + "âĢĻ Ä±", + "al izace", + "aliz ace", + "Ġви ÑģÑĤÑĥп", + "æķĻ å¸Ī", + "à¥Ģ à¤ıस", + "à¥Ģà¤ı स", + "o dÄĽ", + "od ÄĽ", + "ĠÑĨ Ñĸл", + "ĠÑĨÑĸ л", + "ĠëĮĢ ìĥģ", + "ĠкоÑĤоÑĢ Ð¾Ð¼", + "ĠкоÑĤ оÑĢом", + "Ġظ رÙģ", + "éİ ®", + "اÙģ ÙĬØ©", + "اÙģÙĬ Ø©", + "Ġ ìĹĨìĿ´", + "ĠìĹĨ ìĿ´", + "ĠμÏĮ νο", + "ĠC Æ¡", + "å¯ »", + "ÏĦ ιÏĥ", + "ÏĦι Ïĥ", + "Ġ ãĤĦ", + "ĠãĤ Ħ", + "Ġjed noho", + "Ġjedn oho", + "Ġjedno ho", + "ا ا", + "Ø§Ø §", + "et ler", + "Ġव स", + "ĠÑĢазлиÑĩ нÑĭÑħ", + "Ġج غراÙģ", + "Ġth ừa", + "Ġthá» «a", + "ĠгÑĢомад Ñıн", + "ॠ°", + "ĠاÙĦØ£ Ø®", + "Ġнаг ÑĢÑĥз", + "ç¸ ¾", + "à¥Ĥ ह", + "ĠпÑĢÑıм о", + "â Ĭ", + "ĠاÙĦØ£ÙĪÙĦ Ùī", + "æĸ° èģŀ", + "Ġìĥģ íĻ©", + "it esi", + "ite si", + "ites i", + "ëį° ìĿ´íĬ¸", + "æŃ ·", + "ï¼ĮèĢĮ ä¸Ķ", + "ãģ¯ ãģļ", + "产 çĶŁ", + "æ°Ĺ ãģĮ", + "y slu", + "ys lu", + "ysl u", + "ìĸ´ ëĤĺ", + "ا Ú©Ùħ", + "اک Ùħ", + "âĢ ĥ", + ") ìĿĢ", + "Ġجست ارÙĩاÛĮ", + "ÙĪ Ø«", + "ãħ İ", + "Ġkav ram", + "v ál", + "vá l", + "æľ Ń", + "æĤ ł", + "ìħ Ģ", + "h rad", + "hr ad", + "hra d", + "Ġت ÙĥÙĪÙĨ", + "ĠتÙĥ ÙĪÙĨ", + "ĠH òa", + "å¹´ çļĦ", + "Ġç arp", + "Ġça rp", + "Ġy olu", + "Ġyo lu", + "Ġyol u", + "Ġdub na", + "ĠÐĴ елик", + "ĠÐĴели к", + "Ġt ôn", + "Ġtô n", + "æ ķĮ", + "æķ Į", + "Ġc oi", + "Ġco i", + "Ġnak onec", + "ĠÑį ÑĤÑĥ", + "ĠÑįÑĤ Ñĥ", + "íĨµ ëł¹", + "ÑĪ ÐµÐ»", + "ÑĪе л", + "Ġneb yl", + "Ġneby l", + "in ç", + "ب اÙĦØ¥ÙĨجÙĦÙĬزÙĬØ©", + "باÙĦ Ø¥ÙĨجÙĦÙĬزÙĬØ©", + "ï¼ ¡", + "о нÑĮ", + "он ÑĮ", + "Ġне маÑĶ", + "Ġнем аÑĶ", + "Ġê³ł ê°Ŀ", + "ĠÙĤ طع", + "ĠÙĤØ· ع", + "ĠÑĤеÑĢиÑĤоÑĢ ÑĸÑĹ", + "人 ãģ¯", + "ĠΣ α", + "éĤ£ äºĽ", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ios per", + "í Ĥ¨", + "íĤ ¨", + "r aki", + "ra ki", + "rak i", + "اÛĮ ج", + "Âł C", + "Ġан алÑĸз", + "ãĤı ãĤĬ", + "ĠìķĦëĭ Į", + "ĠاÙĦعÙħÙĦ ÙĬØ©", + "ĠاÙĦعÙħ ÙĦÙĬØ©", + "l ament", + "la ment", + "lam ent", + "é» ¨", + "u jÃŃcÃŃm", + "ujÃŃ cÃŃm", + "ujÃŃcÃŃ m", + "Ġr ẻ", + "ä¸į åΰ", + "Ġrez erv", + "ĠاÙĦذ ÙĬÙĨ", + "ĠاÙĦذÙĬ ÙĨ", + "æĭ ¥", + "Ðĺ н", + "Ġतह त", + "r esi", + "re si", + "res i", + "Ġ ãĥ¢", + "Ġãĥ ¢", + "л ев", + "ле в", + "ãĢĢ r", + "Ġ ä»Ĭ", + "Ġö dem", + "Ġpot rav", + "ĠêµIJ ìĪĺ", + "ÑĢ ÐµÐ´Ð¸", + "ÑĢед и", + "ÑĢе ди", + "ĠÎļ ÎijÎĻ", + "Ġ наÑĩала", + "ĠнаÑĩ ала", + "Ġиз б", + "ĠbÅĻez na", + "Ġle dna", + "Ġled na", + "ÑĢ ÑĥÑİÑĤ", + "ÑĢÑĥ ÑİÑĤ", + "Ġ моÑĤ", + "Ġм оÑĤ", + "Ġмо ÑĤ", + "åıĹ åΰ", + "ĠÑĢÑĥ кÑĥ", + "ĠÑĢÑĥк Ñĥ", + "Ỽ m", + "ad ele", + "ade le", + "adel e", + "ĠÑĢоз глÑı", + "åħ IJ", + "Ġر ÙĪØ§ÙĨ", + "ĠرÙĪ Ø§ÙĨ", + "а ков", + "ак ов", + "Ñĥ ÑĢÑĭ", + "ÑĥÑĢ Ñĭ", + "Ġaz al", + "ĠÑĥ кÑĢа", + "ĠÑĥк ÑĢа", + "пи он", + "ĠÄįlov ÄĽ", + "äºĮäºĮ äºĮäºĮ", + "ا بÙĬ", + "اب ÙĬ", + "Ġas lında", + "ë¹ Ī", + "Ġв ÑĢаÑĩ", + "ĠвÑĢа Ñĩ", + "ë£ ¹", + "Ġген еÑĢа", + "à¸ģาร ส", + "ĠÑģов Ñģем", + "ÙĪ ÙĦا", + "ÙĪÙĦ ا", + "Ġश ब", + "ाà¤ĸ ण", + "ست اÙĨÛĮ", + "ستاÙĨ ÛĮ", + "æĬ ½", + "Ġrů z", + "ĠíĮIJ 매", + "à¸ģาร à¸ķ", + "ائ ÛĮ", + "a sal", + "as al", + "asa l", + "ĠÑĢабоÑĤ Ñĥ", + "ĠÑĢаб оÑĤÑĥ", + "ĠÑĢабо ÑĤÑĥ", + "à¥ĭल न", + "Ġ 马", + "Ġé© ¬", + "Ġl ai", + "Ġla i", + "ó i", + "v ap", + "va p", + "ëħĦ ìĹIJëĬĶ", + "ëħĦìĹIJ ëĬĶ", + "ĠпеÑĢед баÑĩ", + "Ġп леÑĩ", + "Ġпл еÑĩ", + "id det", + "idd et", + "ĠÑĩ оÑĢ", + "i yan", + "iy an", + "iya n", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ĠãĢĢ", + "ĠØŃر ÙģÙĩ", + "ĠØŃرÙģ Ùĩ", + "大 éĺª", + "Ñĩ ого", + "Ġ ки", + "Ġк и", + "ا ÙĪÙĬ", + "اÙĪ ÙĬ", + "ĠbaÅŁ lan", + "Ġmerk ezi", + "Ġmerkez i", + "© ©", + "Ġر است", + "Ġرا ست", + "Ġ ëĬĶ", + "ĠëĬ Ķ", + "ĠÑģ ÑĢав", + "ĠвнÑĥ ÑĤÑĢи", + "ĠвнÑĥÑĤÑĢ Ð¸", + "ĠвнÑĥÑĤ ÑĢи", + "ãĢĢ ãĥİ", + "åĿ Ľ", + "Ġв ÑĤ", + ": :/", + ":: /", + "Ġsöz leÅŁ", + "Ġver diÄŁi", + "Ġverdi ÄŁi", + "ิ ยม", + "ิย ม", + "ĠÐŁ ÑĢоÑĤ", + "ĠÐŁÑĢ Ð¾ÑĤ", + "ĠÐŁÑĢо ÑĤ", + "Ùĥ ار", + "Ġب ÙĨدÛĮ", + "ĠبÙĨ دÛĮ", + "ĠبÙĨد ÛĮ", + "Ùı ÙĪ", + "缴 æĴŃ", + "ĠÙħ ÙĦÙĬ", + "ĠÙħÙĦ ÙĬ", + "Ġnut né", + "ะà¹ģ à¸Ļà¸Ļ", + "ĠM ã", + "Ġ ì´", + "Ġì ´", + "à¹Ī าม", + "à¹Īา ม", + "м оÑģ", + "мо Ñģ", + "Ġпо Ñıви", + "ĠпоÑıв и", + "Ġn ghi", + "Ġng hi", + "Ġngh i", + "Ġ ëIJĺëĬĶ", + "ĠëIJĺ ëĬĶ", + "Ñģ клад", + "Ñģк лад", + "à¤Ĺ ल", + "ĠC á»Ļng", + "çŁ¥ è¯Ĩ", + "Ġ taj", + "Ġt aj", + "Ġta j", + "Ġع بر", + "Ġعب ر", + "éĻĦ è¿ij", + "ü ÄŁ", + "Ġê³µ ê³ł", + "è£ ķ", + "âĢĮ Ø´ÙĨ", + "âĢĮØ´ ÙĨ", + "Ġgerç ekten", + "Ġgerçek ten", + "n un", + "nu n", + "Ùħ Ø´", + "ê°Ģ ëĬ¥", + "ãĥ© ãĥ³ãĥī", + "ãĥ©ãĥ³ ãĥī", + "ay acak", + "aya cak", + "åįģ ä¸Ģ", + "ĠB ảo", + "Ġyet erli", + "Ġyeter li", + "ž iv", + "ži v", + "ĠÙĬÙĨ اÙĬر", + "Ġb ýval", + "Ġbý val", + "ìĽĶ ê¹Įì§Ģ", + "Ġn ợ", + "Ġ ê´Ģê³Ħ", + "Ġê´Ģ ê³Ħ", + "Ġ íĿ¬", + "ĠíĿ ¬", + "а ÑİÑĤÑĮ", + "аÑİÑĤ ÑĮ", + "аÑİ ÑĤÑĮ", + "Ġgö tür", + "Ġваж но", + "Ġва жно", + "æµ ©", + "ĠìĿ¼ ë¶Ģ", + "ÑĨÑĸй ний", + "ëł¥ ìĿĦ", + "Ġл еÑĩение", + "ĠлеÑĩ ение", + "éĸ¢ ä¿Ĥ", + "ĠT üm", + "ìĻ Ķ", + "éģ Ĺ", + "ĠD ön", + "Ġ ÑģпÑĸлÑĮ", + "ĠÑģп ÑĸлÑĮ", + "ĠÑģпÑĸл ÑĮ", + "ãĥģ ãĤ§", + "н ÑıеÑĤÑģÑı", + "нÑı еÑĤÑģÑı", + "нÑıеÑĤ ÑģÑı", + "il tere", + "ilter e", + "ilt ere", + "Ġ íĮĢ", + "Ġí ĮĢ", + "ĠíĮ Ģ", + "è¨Ń å®ļ", + "Ġro din", + "Ġrod in", + "Ġrodi n", + "ĠاÙĤتص اد", + "алÑĮ не", + "à¥į à¤ķर", + "à¥įà¤ķ र", + "Ġvý bÄĽ", + "Ġteh lik", + "âĶ IJ", + "Ġ çͰ", + "Ïģί ÏĤ", + "iy el", + "iye l", + "Ġth iá»ĩu", + "Ġthi á»ĩu", + "ÏĪ Î·ÏĤ", + "ÏĪη ÏĤ", + "Ġд ве", + "Ġдв е", + "ĠEl ekt", + "ĠEle kt", + "à¸ģ à¸İ", + "о ÑĢÑĥж", + "оÑĢ Ñĥж", + "оÑĢÑĥ ж", + "a ÅŁÄ±", + "aÅŁ ı", + "è© ³ç´°", + "Ġات Ù쨧ÙĤ", + "Ġg ắn", + "æ²Ĵ æľī", + "ĠÙħطاÙĦ عÙĩ", + "ÏĦ ιν", + "ÏĦι ν", + "Ġok res", + "Ñ ľ", + "ê° Ķëĭ¤", + "Ðł оз", + "å¾ĭ 宾", + "ï¼ī ï¼Ī", + "Ġìļ´ìĺģ ìŀIJ", + "ãĤ« ãĥĨ", + "l aÄį", + "la Äį", + "à¥ĩब स", + "Ġo Äįi", + "ĠoÄį i", + "- б", + "e lerden", + "eler den", + "elerde n", + "k ových", + "kov ých", + "kový ch", + "Ġİz mir", + "สม าà¸Ĭ", + "lad atel", + "Ġ æ»", + "Ġæ »", + "éĶĢ åĶ®", + "ĠдоÑģлÑĸд женнÑı", + "ĠлÑĸ каÑĢ", + "ĠлÑĸка ÑĢ", + "ĠлÑĸк аÑĢ", + "Ġодна ко", + "ĠV ác", + "Ġ è«", + "Ġè «", + "é̲ è¡Į", + "以 å¤ĸ", + "é³ ¥", + "Ġ ÙĨج", + "ĠÙĨ ج", + "ĠbaÅŁ kan", + "ĠbaÅŁka n", + "ĠbaÅŁk an", + "Ġopat ÅĻenÃŃ", + "ا رش", + "ار Ø´", + "ض اÙ쨩", + "ضا Ù쨩", + "ãĤ¹ ãĥ¬", + "ή ν", + "ÄĽ tÃŃ", + "ÄĽt ÃŃ", + "ว ย", + "Ġرس ÙĪÙĦ", + "ÅĻ ich", + "ÅĻi ch", + "ĠpÅĻ ih", + "ĠpÅĻi h", + "ÑĮ ми", + "çĦ¶ èĢĮ", + "Ġth ẳng", + "l amaz", + "la maz", + "lam az", + "lama z", + "ÙĢ ÙĢÙĢ", + "ÙĢÙĢ ÙĢ", + "Ġì°¸ ìŬ", + "ĠÙĨÙĪ Ø´ØªÙĩ", + "ĠÙĨÙĪØ´ تÙĩ", + "ĠÑģÑĤ ек", + "ãģ® ãģ¿", + "ĠÙĪ Ø§ÙĦع", + "ĠÙĪØ§ÙĦ ع", + "ĠÙĪØ§ ÙĦع", + "æķ ¢", + "à¥Ģà¤Ĥ ,", + "ÐŀÑģ нов", + "им оÑģÑĤи", + "имо ÑģÑĤи", + "ĠÄĮesk á", + "ĠÄĮes ká", + "Ñĸ Ñĩний", + "ÑĸÑĩ ний", + "าม ารà¸ĸ", + "ekk ür", + "Âł h", + "ι κη", + "ικ η", + "Ġتع ÛĮÛĮÙĨ", + "к оÑģÑĤÑĸ", + "ко ÑģÑĤÑĸ", + "ĠMust afa", + "Ġì¦ ī", + "ãģ§ ãģĤãĤĬ", + "ãģ§ãģĤ ãĤĬ", + "å·¥ ä¸ļ", + "ov ÃŃd", + "ovÃŃ d", + "ÐĿ о", + "Ġس پس", + "Ġسپ س", + "Ú¯ÛĮ رد", + "Ú¯ÛĮر د", + "Ġп едагог", + "Ġ کارÛĮ", + "ĠÚ© ارÛĮ", + "Ġکار ÛĮ", + "ĠÑĪ ÑĤÑĥ", + "ĠÑĪÑĤ Ñĥ", + "æĮ Ĥ", + "Ø¢ Ùħد", + "Ø¢Ùħ د", + "羣 æĺ¯", + "Ġ ابت", + "Ġا بت", + "Ġاب ت", + "Ġرئ ÛĮس", + "Ġد ÛĮÙĨ", + "ĠدÛĮ ÙĨ", + "ÏĪ Îµ", + "Ġse zon", + "Ġsez on", + "Ġ çĨ", + "Ġç Ĩ", + "स न", + "ãĥ» ãĤ¢", + "Ġ åħŃ", + "Ġåħ Ń", + "Ġ è±", + "Ġè ±", + "Ġìłľ 목", + "ĠÙħ عد", + "ĠÙħع د", + "ĠÙģ ÙĤد", + "ĠÙģÙĤ د", + "éĤ Ĭ", + "Ω Σ", + "Ġ å¡", + "Ġå ¡", + "Ġob vyk", + "ĠìĿ´ ëłĩê²Į", + "ĠбоÑĢ Ð¾ÑĤÑĮ", + "Û² Û±", + "Ġ á»ijng", + "Ġá» ijng", + "è¯ Ĺ", + "Ġ ÄIJá»iji", + "ĠÄIJ á»iji", + "ĠбеÑĢез нÑı", + "Ġs oÄŁ", + "Ġso ÄŁ", + "Ġ ï¾į", + "Ġï¾ į", + "ãĤĴ ãģ¤", + "ãģĹ ãĤĥ", + "еÑĢ ÐµÑĩ", + "еÑĢе Ñĩ", + "ãĢĢ ãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ãĢĢãĢĢĠ ãĢĢĠãĢĢĠãĢĢ", + "æĪ ª", + "ĠاÙĦسعÙĪØ¯ ÙĬØ©", + "ĠëĤ¨ ìŀIJ", + "ĠAng iosper", + "???????? ????????", + "Ġpr ům", + "Ġprů m", + "ĠплоÑī ад", + "Ġ ÏĦÏģα", + "ĠÏĦ Ïģα", + "д аÑİÑĤ", + "да ÑİÑĤ", + "Ġsı nav", + "Ġsın av", + "Ġm ặc", + "æ°´ å¹³", + "Ġви глÑı", + "Ġвиг лÑı", + "Ġn ást", + "Ġná st", + "Ġnás t", + "ĠобÑĭ Ñĩ", + "ĠìĿ´ìķ¼ ê¸°", + "ë¹ Ľ", + "ĠB aÄŁ", + "ĠBa ÄŁ", + "ĠاÙĦØ« اÙĦØ«", + "Ġser vis", + "Ġserv is", + "Ġservi s", + "Ġ 룬", + "ĠëŁ ¬", + "ом ина", + "ί θ", + "Ġ Ấ", + "ĠẠ¤", + "ê²½ 기", + "Ġì¡ ¸", + "ี à¸ļ", + "Ġà¤ĺ à¤Łà¤¨", + "Ġ à¸Ļาà¸ĩ", + "Ġà¸Ļ าà¸ĩ", + ". Îł", + "ìķ ķ", + "r ün", + "Ġon ların", + "Ġonları n", + "Ġonlar ın", + "Ġзб ÑĸлÑĮÑĪ", + "à¹ģ à¸Ł", + "ĠìŬ 기", + "Ġ ëĮĢíijľ", + "ĠëĮĢ íijľ", + "ĠÑģи лÑĥ", + "ĠÑģил Ñĥ", + "à¹Ĥ à¸Ľ", + "Ġت ÙĤد", + "ĠتÙĤ د", + "ĠÐŁ ом", + "ĠÐŁÐ¾ м", + "ĠмаÑģ ла", + "Ġ ìĺģìĥģ", + "Ġìĺģ ìĥģ", + "н ение", + "не ние", + "нен ие", + "λα μβ", + "ĠB yl", + "ĠBy l", + "æĬ µ", + "æİ ª", + "Ġκαθ ÏİÏĤ", + "m ızı", + "æĸ° çļĦ", + "éĩį è¤ĩ", + "ั à¸Ľ", + "çŃ Ĩ", + "ĠÑĤ ка", + "ĠзнаÑĩ еннÑı", + "Ġзна ÑĩеннÑı", + "л аÑĤи", + "ла ÑĤи", + "лаÑĤ и", + "Ġv liv", + "Ġvl iv", + "ÐIJ н", + "ĠÚĨ اپ", + "ĠпиÑĤ анÑĮ", + ": ï½ī", + "æķĻ æİĪ", + "Ġì¹ľ 구", + "Ġtr ao", + "Ġtra o", + "à¥įयà¤ķ त", + "ุà¸Ħ à¸Ħล", + "ĠرÙĪ Ø´ÙĨ", + "ĠرÙĪØ´ ÙĨ", + "ĠعÙĦÙĬ Ùĩا", + "ĠعÙĦÙĬÙĩ ا", + "ãĢģ ãģĦ", + "ëħĦ ìĹIJ", + "éĢ Ĩ", + "Ġмаг аз", + "ï¾ŀ ï¾ŀ", + "Ġs ice", + "Ġsi ce", + "Ġsic e", + "âĢĻ te", + "âĢĻt e", + "ĠاÙĦÙĦ غة", + "á u", + "èĩª 身", + "Ġng Å©", + "ĠÑģк ладÑĥ", + "ĠÑģклад Ñĥ", + "Ġz ru", + "Ġtr uy", + "Ġ ilan", + "Ġi lan", + "Ġil an", + "ĠÙ¾ اÛĮÙĩ", + "ĠپاÛĮ Ùĩ", + "Ġپا ÛĮÙĩ", + ": :::::::::::::", + ":: ::::::::::::", + ":::: ::::::::::", + ":::::: ::::::::", + ":::::::: ::::::", + "::: :::::::::::", + "::::: :::::::::", + "::::::: :::::::", + "::::::::: :::::", + ":::::::::: ::::", + "::::::::::: :::", + ":::::::::::: ::", + "::::::::::::: :", + "f ak", + "fa k", + "ÑĤ еÑħ", + "ÑĤе Ñħ", + "Ġt aky", + "Ġta ky", + "Ġtak y", + "Ġìĸ¸ ìĸ´", + "ed enÃŃ", + "eden ÃŃ", + "ede nÃŃ", + "Ġà¤ļ लत", + "Ġà¤ļल त", + "Ġë°° ìļ°", + "Ġjmé no", + "ĠÙĦ Ø£ÙĨ", + "ĠÙĦØ£ ÙĨ", + "α νά", + "αν ά", + "к ÑĥлÑĮ", + "кÑĥ лÑĮ", + "кÑĥл ÑĮ", + "ĠØŃÙģ Ø¸", + "ĠآزÙħ ÙĪÙĨ", + "иÑĤелÑĮ нÑĭе", + "ĠÐŀ лекÑģанд", + "èį £", + "Ġà¤ľà¤¬ à¤ķ", + "Ġr odi", + "Ġro di", + "Ġrod i", + "Ġبرخ ÙĪØ±Ø¯", + "Ġhaf ta", + "Ġhaft a", + "λ ικά", + "λι κά", + "λικ ά", + "à¸ķ à¸Ļ", + "ĠбеÑĢ ÐµÐ³", + "αν δ", + "- С", + "Ġprav idel", + "ĠбÑĸ лÑı", + "ĠбÑĸл Ñı", + "íĴ į", + "ĠпÑĢед ÑĥÑģ", + "ĠмÑĥ ниÑĨип", + "åĮĸ åѦ", + "ĠتÙħ اس", + "Ġà¤ī ल", + "Ðĵ Ðŀ", + "غ ر", + "r adan", + "ra dan", + "rad an", + "rada n", + "ĠëĤĺ ìĺ¤", + "è¨ Ĥ", + "à¹Ģà¸ĺ à¸Ń", + "âĢĮ سÛĮ", + "âĢĮس ÛĮ", + "ĠобÑıз аÑĤелÑĮно", + "ĠобÑıзаÑĤелÑĮ но", + "о ÑĤе", + "оÑĤ е", + "à¹Į à¸Ĭ", + "ç͍ çļĦ", + "Ġalt ın", + "Ġaltı n", + "ĠÑģоÑĤ ÑĢÑĥд", + "Ñĸ нки", + "Ñĸн ки", + "озмож но", + "Î IJ", + "ë¹ Į", + " ķ", + "ĠÑĤ оÑĩно", + "ĠÑĤо Ñĩно", + "ĠÑĤоÑĩ но", + "Ġj men", + "Ġjm en", + "اÙĦ ÛĮا", + "اÙĦÛĮ ا", + "èĪ į", + "ch odu", + "cho du", + "chod u", + "ê³ ¤", + "ick ém", + "ické m", + "ĠÙħ ÙĪØ±", + "ĠÙħÙĪ Ø±", + "ãĥª ãĥ³ãĤ¯", + "ãĥªãĥ³ ãĤ¯", + "Ġa ÅŁam", + "ĠaÅŁ am", + "Ġ иÑĤ", + "Ġи ÑĤ", + "Ġन य", + "Ġ μο", + "Ġμ ο", + "éķ ľ", + "ĠبÙĨ ابر", + "ĠبÙĨا بر", + "Ġت خصص", + "Ġส à¸ŀ", + "ĠпÑĢоÑĦеÑģ Ñģи", + "Ġp uan", + "Ġpu an", + "ĠÙ쨱 ÙħاÙĨ", + "ĠÙ쨱Ùħ اÙĨ", + "ëĮĢ íļĮ", + "Ġп ÑıÑĤ", + "ĠÙħ ÙĪØ¨", + "ĠÙħÙĪ Ø¨", + "ĠvÄĽ ku", + "Ġ ëĥ", + "Ġë ĥ", + "ec ký", + "eck ý", + "ĠìĪĺ ëıĦ", + "Ġth ao", + "Ġtha o", + "Ġk apat", + "Ġka pat", + "Ġkap at", + "ĠзаÑħ воÑĢÑİ", + "Ġ åħī", + "Ġåħ ī", + "ر اÙĨÛĮ", + "راÙĨ ÛĮ", + "را ÙĨÛĮ", + "éĢł æĪIJ", + "ĠÑģв Ñĸй", + "ĠдоÑģ иÑĤÑĮ", + "Ġmil yar", + "Ġener ji", + "Ġenerj i", + "Ġк ип", + "Ġки п", + "Ġì¢ĭ ìķĦ", + "Ġب Ø¥", + "ê²Į ìĭľ", + "ĠL ưu", + "ĠÙħÙĨظ ÙĪØ±", + "Ïī μά", + "ζ ί", + "ım da", + "Ġ ìĿ´ë¥¼", + "ĠìĿ´ 를", + "๠Ĵ", + "Ġв важ", + "Ġвв аж", + "Ġga zet", + "Ġgaze t", + "Ġgaz et", + "à¥įत न", + "à¹īำ หà¸Ļ", + "åľŁ åľ°", + "Ġसद स", + "ت بة", + "تب Ø©", + "Ġpo ÄįÃŃta", + "Ġìĭľ ìĬ¤íħľ", + "ร à¸Ħ", + "Ġed ecek", + "ĠتØŃ ÙĦÛĮÙĦ", + "æĮī çħ§", + "åĿ ª", + "Ġê·¸ ê°Ģ", + "ت ÙĩÙħ", + "تÙĩ Ùħ", + "Ġб аж", + "Ġба ж", + "ا Ù쨹", + "اÙģ Ø¹", + "éĢļ 常", + "ĠТ и", + "γ νÏī", + "ì¹ Ļ", + "Ġznam ená", + "ï¼¼ ï¼¼", + "α ÏĢÏĮ", + "åĨĻ çľŁ", + "Ġ ï¼¼Ċ", + "Ġï¼¼ Ċ", + "åĬł å·¥", + "èĤ¡ä»½ æľīéĻIJåħ¬åı¸", + "Ñı ÑĤий", + "ÑıÑĤ ий", + "ÑıÑĤи й", + "Ġh âl", + "Ġç ab", + "Ġça b", + "ĠØŃ اضر", + "P ÅĻ", + "ĠاÙĦ تÙĤ", + "ĠاÙĦت ÙĤ", + "ξ ηÏĤ", + "ξη ÏĤ", + "б е", + "Ġkh ám", + "Ġkhá m", + "Ġ âĮĴ", + "Ġâ ĮĴ", + "Ġ éķ¿", + "Ġéķ ¿", + "Ġ â̦Ċ", + "Ġâ̦ Ċ", + "द म", + "ĠSt udi", + "ĠStud i", + "Ġk odu", + "Ġko du", + "Ġkod u", + "Ġkom unik", + "Ġkomun ik", + "Ġkat kı", + "n ete", + "ne te", + "net e", + "Ġr apor", + "Ġrap or", + "Ġra por", + "éĨ ´", + "ãĤī ãģĽ", + "ĠнеÑģк олÑĮ", + "Ġhá»į p", + "ï¿£  ̄ ̄", + " ̄ ̄ ï¿£", + "º ¼", + "è£ Ĥ", + "ед ÑĮ", + "Ġا ÙĦاØŃ", + "ĠاÙĦ اØŃ", + "l adık", + "la dık", + "lad ık", + "ladı k", + "Ġfot oÄŁraf", + "æĹ¥ ãģ®", + "ĠØŃ اÙĦت", + "ĠØŃاÙĦ ت", + "ĠØ« ÙĦاث", + "а ÑĤов", + "аÑĤ ов", + "аÑĤо в", + "ey se", + "Ġê°IJ ìĤ¬", + "á že", + "áž e", + "Ġн ада", + "Ġна да", + "Ġнад а", + "Ġà¤ķ हन", + "Ġà¤ķह न", + "Ġ ãĥĿ", + "Ġãĥ Ŀ", + "ãģ« ãģĤãĤĭ", + "ãģ«ãģª ãģ£ãģ¦", + "ÙĪ Ø¯Ùĩ", + "ÙĪØ¯ Ùĩ", + "Ġpo Å¡k", + "太 éĺ³åŁİ", + "ç»ı éªĮ", + "æĴŃ æĶ¾", + "Ġma jet", + "Ġmaj et", + "Ñħ о", + "ĠÑĤ еÑģÑĤ", + "ĠÑĤе ÑģÑĤ", + "ï¼ı Ċ", + "Ïĥε ÏĦε", + "ĠТ омÑĥ", + "ĠТо мÑĥ", + "ĠТом Ñĥ", + "Ùİ ØŃ", + "ĠìŀĪ ìľ¼ë©°", + "Ġза знаÑĩ", + "éļ IJ", + "Ġд ÑĸÑĹ", + "ĠдÑĸ ÑĹ", + "к ÑĤив", + "кÑĤ ив", + "кÑĤи в", + "ÙĪ ÙģÙĬ", + "ÙĪÙģ ÙĬ", + "Ġt á»Ŀ", + "Ġtá» Ŀ", + "à¸¹à¸Ľ à¹ģà¸ļà¸ļ", + "ĠÑĢ ÐµÐ´Ð°Ðº", + "ĠÑĢед ак", + "Ġa teÅŁ", + "Ġat eÅŁ", + "Ġate ÅŁ", + "Ġkh iá»ĥn", + "Ġkhi á»ĥn", + "ü ny", + "ün y", + "ี ยà¸ģ", + "ีย à¸ģ", + "ĠÑĩа Ñīе", + "Ġt uy", + "Ġtu y", + "γ Ïīν", + "γÏī ν", + "ร à¸Ńà¸ļ", + "Ġtr ùng", + "à¹ģà¸Ĺ à¸Ļ", + "Ġα κÏĮ", + "Ġακ ÏĮ", + "ĠÐĴеÑĢ Ñħов", + "à¹ĥ à¸Ļส", + "à¹ĥà¸Ļ ส", + "ãĢģ ä½ķ", + "åĩ ¦", + "Ġ ç»ı", + "Ġç» ı", + "æ¨ ĵ", + "اÙĨÚ¯ ÙĦÛĮسÛĮ", + "Ġ lepÅ¡ÃŃ", + "Ġlep Å¡ÃŃ", + "Ġ å¼Ģå§ĭ", + "Ġå¼Ģ å§ĭ", + "éĻ º", + "ĠÑĩ еÑĤÑĭ", + "ĠÑĩеÑĤ Ñĭ", + "ĠС еÑĢ", + "оÑİ Ð·", + "Ġx ung", + "Ġxu ng", + "åĵģ çīĮ", + "Ġìĥģ íĥľ", + "ĠÙĨ صب", + "ĠÙĨص ب", + "ĠÑĩ омÑĥ", + "Ġتر Ú©ÛĮ", + "Ġترک ÛĮ", + "- ли", + "o vÃŃ", + "ov ÃŃ", + "Ġا ÙĨج", + "ĠاÙĨ ج", + "çµ ¡", + "Ġت ÙĪØµ", + "ĠتÙĪ Øµ", + "Ġ ì¿ł", + "Ġì ¿ł", + "Ġvar sa", + "Ġva rsa", + "Ġvars a", + "ĠÑĢаз ÑĢабоÑĤ", + "à¸Ĥ à¸Ńà¸ĩà¸Ħ", + "à¸Ĥà¸Ńà¸ĩ à¸Ħ", + "éŃ Ĥ", + "Ġà¤Ĭ पर", + "æĿ¥ 说", + "ĠÑĨенÑĤ ÑĢалÑĮ", + "ĠÑĨенÑĤÑĢ Ð°Ð»ÑĮ", + "ĠÑĨенÑĤÑĢа лÑĮ", + "ĠTak ım", + "Ġon lar", + "Ġسر عت", + "好 åĥı", + "Ġbu á»ķi", + "ĠÐij ел", + "Âł c", + "Ø£ ت", + "à¸Ĥ à¸ĵะ", + "ãģ« åĩº", + "Ġ+ **************", + "ÏĦη κε", + "ا جر", + "اج ر", + "Ġ â̲", + "ĠâĢ ²", + "ãĥ¼ ãĥ¬", + "ãĥ¼ãĥ ¬", + "é¥ Ń", + "Ġج ÙĦس", + "ĠجÙĦ س", + "Ġب ستÙĩ", + "Ġبس تÙĩ", + "ว าà¸ĩ", + "Ġ βά", + "Ġβ ά", + "Ġа меÑĢикан", + "ĠPr emi", + "ĠPre mi", + "ĠPrem i", + "m ae", + "ma e", + "ĠÑģ ÑĢеди", + "ĠÑģÑĢед и", + "Ạł", + "Ġв ÑĢед", + "ãĢĤ èĢĮ", + "åĴ ²", + "Ġê³µ ê°ľ", + "èĤ ¥", + "з виÑĩай", + "Ġpro cent", + "Ġproc ent", + "и лоÑģÑĮ", + "ил оÑģÑĮ", + "ило ÑģÑĮ", + "श न", + "é łģ", + "éł ģ", + "е кÑĤи", + "ек ÑĤи", + "екÑĤ и", + "د اشت", + "دا شت", + "íķĻ íļĮ", + "ãĢĢ ãĢĢãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢ ãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢĠãĢĢ ĠãĢĢ", + "ĠÙħد ÙĬÙĨØ©", + "िल न", + "Ġ èĹ", + "Ġè Ĺ", + "м иÑĢ", + "ми ÑĢ", + "Ġн оÑĢ", + "Ġно ÑĢ", + "Ġ íķĺì§Ģ", + "Ġíķĺ ì§Ģ", + "в еÑī", + "ве Ñī", + "nÄĽ m", + "е ÑĢами", + "еÑĢ Ð°Ð¼Ð¸", + "еÑĢа ми", + "Ġpra cov", + "Ġprac ov", + "ĠبÙĬ اÙĨات", + "ĠÏĥ Ïįν", + "ĠÏĥÏį ν", + "Ġج ذ", + "ãģĦ ãģ§", + "ĠB ÃŃ", + "è± Ĩ", + "Ġh mot", + "Ġhm ot", + "il eceÄŁi", + "ilece ÄŁi", + "Ġت اث", + "Ġتا Ø«", + "è´ ´", + "Ġ ê¸ī", + "Ġê¸ ī", + "Ġm ysl", + "Ġmy sl", + "Ġmys l", + "ĠìĿ´ íķ´", + "Ġ기 ëĬ¥", + "ĠТ ам", + "ĠТа м", + "ĠнаÑģ елениÑı", + "ĠM ez", + "ĠMe z", + "Ġ모 르", + "íĻĶ ë¥¼", + "ĠÙĨسخ Ùĩ", + "ĠتÙĦ ÙĪÛĮزÛĮ", + "ĠÄįerv na", + "ưỠ¡ng", + "ص ØŃ", + "ĠÑĤ ÑĢен", + "ĠÑĤÑĢ ÐµÐ½", + "Õ ¡", + "Ġce lou", + "Ġcel ou", + "Å© i", + "ìĹĨ ìĿ´", + "nÃŃ ku", + "nÃŃk u", + "Ġprogram u", + "à¥į पन", + "à¥įप न", + "Ġп ÑĢеж", + "ĠпÑĢ ÐµÐ¶", + "ĠпÑĢе ж", + "ا رب", + "ار ب", + "æľŁ éĸĵ", + "Ġ μά", + "Ġμ ά", + "ëįĶ ëĭĪ", + "ụ n", + "ĠпеÑĢ ÐµÑģÑĤ", + "ĠпеÑĢе ÑģÑĤ", + "ĠпеÑĢеÑģ ÑĤ", + "对 äºİ", + "è¿IJ è¡Į", + "ĠÑĤ ан", + "ĠÑĤа н", + "Ġ ìĤ¬ìĿ´íĬ¸", + "ĠìĤ¬ ìĿ´íĬ¸", + "ĠìĤ¬ìĿ´ íĬ¸", + "ĠQu ảng", + "ĠQuản g", + "Ġst ojÃŃ", + "Ġsto jÃŃ", + "ãĥŃ ãĥ¼", + "Ú¯ ار", + "Ġе неÑĢг", + "Ġkter ým", + "Ġkterý m", + "ĠпÑĢи мÑĸ", + "ĠпÑĢим Ñĸ", + "ĠкаÑĢÑĤ и", + "ĠкаÑĢ ÑĤи", + "Ġz engin", + "Ġzen gin", + "ï¼Į åĨį", + "Ġت رب", + "Ġتر ب", + "ĠÑĨенÑĤ ÑĢ", + "ĠÑĨен ÑĤÑĢ", + "ĠsaÄŁ lamak", + "ĠsaÄŁlam ak", + "ëĭ Ŀ", + "ãģ® åŃIJ", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "Ġs Æ¡n", + "ĠsÆ¡ n", + "z ı", + "ÑĤ аки", + "ÑĤа ки", + "ÑĤак и", + "ÄĽ stÃŃ", + "ÄĽst ÃŃ", + "Ġ à¥", + "Ġà ¥", + "é ®", + "åŁ¹ è®Ń", + "Ġ ì͍", + "ĠìĶ ¨", + "Ġbel ki", + "ĠìĿ´ 벤íĬ¸", + "ëĶĶ ìĸ´", + "Ġs Ãłn", + "ни кам", + "ник ам", + "ника м", + "a lim", + "al im", + "ali m", + "対 å¿ľ", + "ĠS á»±", + "éģĵ è·¯", + "é«ĺ æ¸ħ", + "Ġd õi", + "ĠÙĦ ÙĢ", + "Ġ èĤ¡", + "ĠèĤ ¡", + "ν ι", + "âĢŀ J", + "' nde", + "'n de", + "Îij Îĵ", + "ãģ¨ ãģªãĤĭ", + "ãģ¨ãģª ãĤĭ", + "çĪ ¸", + "ع ÙĦÛĮ", + "عÙĦ ÛĮ", + "Ïģι ÏĥÏĦ", + "ÏģιÏĥ ÏĦ", + "Ġe ÄŁit", + "ĠeÄŁ it", + "Ġзов нÑĸÑĪ", + "Ġп ÑĢим", + "ĠпÑĢ Ð¸Ð¼", + "ĠпÑĢи м", + "س Ùħبر", + "سÙħ بر", + "ĠmÄĽst ÄĽ", + "ĠÏĢεÏģι ÏĥÏĥÏĮÏĦε", + "ÐIJ Ðł", + "æĦŁ åΰ", + "Ġ문 ìĦľ", + "ãģĭ ãĤĭ", + "ÙĤÙĬ ÙĤØ©", + "ÙĤÙĬÙĤ Ø©", + "Ġв ÑĤÑĢа", + "ĠвÑĤ ÑĢа", + "Ġ à¸Ńำ", + "Ġà¸Ń ำ", + "Ñģ кÑĥÑİ", + "Ñģк ÑĥÑİ", + "د ÙĩاÛĮ", + "دÙĩ اÛĮ", + "Ġİ st", + "Ġİs t", + "ĠÐĹ Ð°Ð²", + "ĠÐĹа в", + "Ġ éĥ½", + "Ġé ĥ½", + "Ġéĥ ½", + "ÑĪ ÐµÐ¼", + "ÑĪе м", + "Ġе ÑīÑij", + "ĠÐľÐ¸Ñħ ай", + "ĠÑĥпÑĢав лениÑı", + "л еннÑĭе", + "лен нÑĭе", + "ĠzaÄį al", + "æ¡ Į", + "Ġп Ñĸз", + "л ÑıÑĤÑĮÑģÑı", + "лÑı ÑĤÑĮÑģÑı", + "лÑıÑĤÑĮ ÑģÑı", + "Ġ ìŀIJë£Į", + "ĠìŀIJ ë£Į", + "ãĢĢ ãĢĢĠ", + "ãĢĢãĢĢ Ġ", + "ĠK ral", + "ĠKr al", + "ĠKra l", + "èĪ ī", + "Ġà¤Ń व", + "Ġ Ø®Ùħ", + "ĠØ® Ùħ", + "Ġа кадем", + "Ġ isten", + "Ġis ten", + "Ġi sten", + "Ġist en", + "ĠиÑģ кÑĥÑģ", + "ĠиÑģк ÑĥÑģ", + "ĠعÙĨد Ùħا", + "Ġا ÙĦاÙħ", + "ĠاÙĦ اÙħ", + "is mus", + "ism us", + "ismu s", + "Ġayr ıntı", + "Ġ Що", + "ĠЩ о", + "ĠÙĩ ÙĪØ´", + "ĠÙĩÙĪ Ø´", + "د ÙĪØ§Ø¬", + "دÙĪ Ø§Ø¬", + "л аж", + "ла ж", + "ĠÚ©ÙĨ ار", + "Âł R", + "æĢ§ çļĦ", + "Ñģ Ñĸм", + "ÑģÑĸ м", + "ĠM üz", + "ĠMü z", + "ÑĢ Ð¾Ð²Ð¸Ñĩ", + "ÑĢов иÑĩ", + "ÑĢо виÑĩ", + "Ġ Ω", + "ĠÎ ©", + "Ġìĸ´ ëĶĶ", + "س ÙħØ©", + "سÙħ Ø©", + "Ġ ÑĢÑı", + "ĠÑĢ Ñı", + "Ġt ươi", + "Ġtư Æ¡i", + "ĠÑĢаÑģ Ñħод", + "åı° çģ£", + "ĠاÙĦ ÙĪÙĤت", + "ĠاÙĦÙĪ ÙĤت", + "بر اÛĮ", + "ĠзÑĢоб иÑĤи", + "Ġб ÑĥÑĢ", + "ĠбÑĥ ÑĢ", + "ĠÄįin nosti", + "ĠÄįinnost i", + "Ġص اØŃ", + "ĠصÙĨ عت", + "ĠصÙĨع ت", + "Ġ Ø·ÙĦ", + "ĠØ· ÙĦ", + "ξ Ïį", + "ĠtisÃŃ c", + "ĠFr ansa", + "ĠFran sa", + "ì¦ ĺ", + "è» ½", + "Ñ ĺ", + "ÏĮÏĦη ÏĦαÏĤ", + "ÏĮÏĦηÏĦα ÏĤ", + "ĠM illet", + "ĠMill et", + "ĠMil let", + "ãĢĢ ãĥ¾", + "ĠпÑĢ Ð¸ÐµÐ¼", + "ĠпÑĢи ем", + "ĠترجÙħ Ùĩ", + "Ġس ÙĪØ¯", + "ĠسÙĪ Ø¯", + "ĠsouÄįást ÃŃ", + "ÐĶ Ð¾", + "Ġtr ụ", + "è¶³ çIJĥ", + "à¸Ľ à¸ģ", + "Ġu stanov", + "ÎŁ ÎĻ", + "ÎŁÎ Ļ", + "Ðŀ н", + "Ġн еж", + "Ġне ж", + "к ог", + "ко г", + "ä¸Ģ çĤ¹", + "Ġد ÙĪØ±Ø§ÙĨ", + "ĠدÙĪ Ø±Ø§ÙĨ", + "ĠدÙĪØ± اÙĨ", + "å½± éŁ¿", + "el idir", + "eli dir", + "âĢŀ N", + "es iyle", + "esi yle", + "ÑĢем енно", + "ÑĢе менно", + "Ġilet iÅŁim", + "ม à¹Ģà¸ķ", + "以 åīį", + "ãĥĭ ãĥ¼", + "鼻 話", + "à¹Ĥ à¸ŀ", + "ov ky", + "Ġза мÑĸ", + "Ġзам Ñĸ", + "Ġव à¤ķ", + " Ļ", + "ĠвÑĸй ни", + "Ġol madıģı", + "Ġolm adıģı", + "Ġolmadı ģı", + "Ġolma dıģı", + "æ¢ ģ", + "ĠТ еп", + "ĠТе п", + "nÄĽ te", + "nÄĽt e", + "èħ ķ", + "ìĤ¬ ëĬĶ", + "m amak", + "ma mak", + "mam ak", + "Ġc iz", + "Ġci z", + "æ£ Ĵ", + "Ġ ï¼ı:", + "Ġï¼ı :", + "éģĭ åĭķ", + "ĠÙĩ ÙĨا", + "ĠÙĩÙĨ ا", + "Ġ ê°ij", + "Ġê° ij", + "ĠÙĩÙĨÚ¯ اÙħ", + "ĠuÄŁ ra", + "å½ ¦", + "Ġob jekt", + "Ġobj ekt", + "ãģ¨ ãģĻãĤĭ", + "åĽ½ åĨħ", + "ĠдеÑĢжав и", + "ĠдеÑĢж ави", + "Ġ èĮ", + "Ġè Į", + "Ġulus lararası", + "Ù £", + "Ġmut lak", + "Ġз обов", + "Ġ γεν", + "Ġγ εν", + "Ġγε ν", + "à¹Ħà¸Ł à¸Ł", + "Ġözg ür", + "íĦ ¸", + "Ġвипад кÑĥ", + "Ġà¤ķ ब", + "ĠاÙĦ خط", + "ĠاÙĦØ® Ø·", + "θη καν", + "ï¼Į æĬĬ", + "ÑıÑĤ ÑĤÑı", + "Ġolmadı ģını", + "Ġolma dıģını", + "Âłk W", + "ĠnÄĽkter ých", + "ãĥĩ ãĥ«", + "æ¤į çī©", + "μι λοÏĤ", + "ÐIJÑĢ ÑħÑĸв", + "ĠТ о", + "èĸ ¬", + "ÑģÑĤв иÑı", + "Ġ Ø®ÙĪØ§Ø³Øª", + "ĠØ®ÙĪ Ø§Ø³Øª", + "олог ÑĸÑĹ", + "ÙĪ Ø§Ùĩد", + "ÙĪØ§Ùĩ د", + "ÙĪØ§ Ùĩد", + "Ġ нак", + "Ġн ак", + "Ġна к", + "ĠкоÑĤоÑĢ ÑĥÑİ", + "Ġद à¤ķ", + "âĢŀ M", + "λ ια", + "λι α", + "æŃ ²", + "第 åĽĽ", + "à¤¾à¤ľ स", + "Ġ( «", + "Ġth ẻ", + "、 Ċ", + "ç£ ģ", + "Ġ ÙĦÙĤ", + "ĠÙĦ ÙĤ", + "Ġ ìķĶ", + "Ġìķ Ķ", + "Ġн ового", + "Ġнов ого", + "ĠìķĦ 주", + "Ġ ëIJĺìĸ´", + "ĠëIJĺ ìĸ´", + "Ġo lun", + "Ġol un", + "à ¾", + "Ġkar iy", + "Ġkari y", + "ĠØŃ سب", + "ĠØŃس ب", + "ĠìĿĺ 미", + ". Ðľ", + "Ġoz naÄį", + "ÙĦ سÙĦ", + "ÙĦس ÙĦ", + "ĠÐĴ ид", + "ĠÐĴи д", + "ë¡ľ ëĤĺ", + "à¥įà¤Ł म", + "í ľ´", + "Ġbilg isayar", + "ìĿ¸ ì§Ģ", + "Ġв ов", + "Ġво в", + "nict vÃŃm", + "nictvÃŃ m", + "า à¸Ńย", + "าà¸Ń ย", + "Ġشخص ÛĮ", + "п Ñĸон", + "æľ¬ å½ĵ", + "Ġب ÙĢ", + "ĠмаÑģ ло", + "ĠPh át", + "Ġ ба", + "Ġб а", + "алÑĮ номÑĥ", + "алÑĮно мÑĥ", + "алÑĮном Ñĥ", + "社 åĮº", + "Ġ Ò", + ": ::|", + ":: :|", + "::: |", + "ê ´", + "Ġ ä¸ĥ", + "Ġä¸ ĥ", + "ĠÙĪ Ø§ÙĦد", + "ĠÙĪØ§ÙĦ د", + "ни ке", + "ник е", + "à¸Ń ลล", + "à¸Ńล ล", + "Ġyer leÅŁ", + "Ġkom bin", + "Ġkomb in", + "u Å¡", + "Ġо ÑĤÑĢи", + "ĠоÑĤ ÑĢи", + "ä¹ Į", + "iÅŁ ti", + "Ġs óng", + "Ġsó ng", + "λ ηÏĤ", + "λη ÏĤ", + "Ġк ÑĥÑĢÑģ", + "ĠкÑĥÑĢ Ñģ", + "à¹Ī าà¸Ħ", + "à¹Īา à¸Ħ", + "Ġ ÙĬس", + "ĠÙĬ س", + "Ġ داÙħ", + "Ġد اÙħ", + "çĴ° å¢ĥ", + "Ñĩ енко", + "Ñĩен ко", + "ãĢį ãģ®", + "ĠmÃŃ sta", + "ĠmÃŃst a", + "ĠÑĦ оÑĤ", + "ĠpÅĻÃŃ zn", + "ĠÑĢ Ð°Ð·Ð°", + "ĠÑĢаз а", + "ĠÑĢа за", + "ç´ «", + "lá da", + "lád a", + "ĠÑģпеÑĨи алиÑģÑĤ", + "ĠبÛĮ ÙħارÛĮ", + "ĠبÛĮÙħ ارÛĮ", + "ĠبÛĮÙħار ÛĮ", + "Ġëĵ £", + "çĭ Ĺ", + "ÙĪ ÙĪ", + "ан ÑĸÑĤ", + "анÑĸ ÑĤ", + "ĠدÙĨ باÙĦ", + "ĠÙħجÙħÙĪØ¹ Ø©", + "ÃŃ na", + "ÃŃn a", + "ĠH alk", + "ĠHa lk", + "ĠHal k", + "á jem", + "áj em", + "enÃŃ ze", + "Ġim z", + "« ng", + "Ġ ÎķÎł", + "ĠÎķ Îł", + "ĠÙħ Ùĩد", + "ĠÙħÙĩ د", + "ìľĦìĽIJ íļĮ", + "Ġìľł íĺķ", + "ाप स", + "Ġje ž", + "ан Ñĸз", + "анÑĸ з", + "иÑĤ ай", + "иÑĤа й", + "á¿ ĸ", + "ir ler", + "irl er", + "기 ê°Ħ", + "Ġ воÑĢ", + "Ġв оÑĢ", + "Ġво ÑĢ", + "Ġ Ïİ", + "ĠÏ İ", + "Ġpo zn", + "Ġpoz n", + "Ġ ساÙĨ", + "Ġس اÙĨ", + "å ¯¿", + "å¯ ¿", + "æĸ¯ çī¹", + "Ġtu rist", + "Ġtur ist", + "ĠìŀIJ ìľł", + "à¥Ģ à¤ĸ", + "μ με", + "μμ ε", + "an sı", + "ans ı", + "ìĨĮ ëħĦ", + "Ġted avi", + "Ġtedav i", + "Ñĩ еÑģÑĤва", + "Ñĩе ÑģÑĤва", + "å£ ĵ", + "о ве", + "ов е", + "ï¼Į çľĭ", + "ĠпоÑģл Ñĥг", + "ĠпоÑģ лÑĥг", + "ĠÑĤÑĢ Ð°Ð½Ñģ", + "ĠÑĤÑĢан Ñģ", + "Ġz áz", + "Ġzá z", + "æĪ ´", + "Ġм она", + "Ġмон а", + "Ġмо на", + "ิ à¹Ģà¸Ħราะห", + "ĠÙĨ ÛĮÙħ", + "ĠÙĨÛĮ Ùħ", + "ĠìĤ¬ëŀĮ ìĿ´", + "a hat", + "ah at", + "aha t", + "Ïħ κ", + "ĠоÑĤ каз", + "ĠоÑĤк аз", + "ĠÐĴолод ими", + "ĠС к", + "िà¤ķ त", + "å¦ ĸ", + "Ġëĭ¤ìļ´ ë¡ľëĵľ", + "ìĺģ ìĥģ", + "Ġन à¤Ī", + "c ete", + "ce te", + "ĠгÑĢи б", + "ĠгÑĢ Ð¸Ð±", + "ece ÄŁini", + "eceÄŁi ni", + "Ġç oÄŁu", + "ĠçoÄŁ u", + "ĠмаÑĤеÑĢи ала", + "ĠмаÑĤеÑĢиал а", + "ứ t", + "Ġz aten", + "Ġza ten", + "Ġzat en", + "ĠF RA", + "ĠFR A", + "ĠBir liÄŁi", + "Ġs itesi", + "Ġsit esi", + "Ġsite si", + "Ġsites i", + "Ġ åĶ", + "Ġå Ķ", + "ĠÐĴ ол", + "ĠÐĴо л", + "Âł PS", + "ÂłP S", + "ा लत", + "ाल त", + "Ġ баÑĩ", + "Ġб аÑĩ", + "Ġба Ñĩ", + "алÑĸ заÑĨÑĸÑĹ", + "алÑĸз аÑĨÑĸÑĹ", + "ĠS lov", + "ĠSl ov", + "ĠSlo v", + "ç³ ĸ", + "ĠговоÑĢ Ð¸ÑĤ", + "Ġв вед", + "Ġвв ед", + "ุà¸ķ à¸ļà¸Ńล", + "ãģĨ ãģ¡", + "Ġyap tık", + "Ġyaptı k", + "Ġìłķ ì¹ĺ", + "ê°ľ 를", + "à¥Ī सल", + "à¥Īस ल", + "ج ÙĬÙĦ", + "جÙĬ ÙĦ", + "ĠзаÑģÑĤоÑģ ов", + "è¿ «", + "ĠKur ul", + "ĠNas ıl", + "ĠнапÑĢÑı м", + "Ġ ä½į", + "à¹Į à¸ļ", + "Ġ éģĵ", + "Ġéģ ĵ", + "Ġни же", + "Ġниж е", + "Ġк оÑģÑĤ", + "Ġко ÑģÑĤ", + "ĠкоÑģ ÑĤ", + "ظ Ùĩر", + "ظÙĩ ر", + "Т а", + "ì§ Ŀ", + "Ġön ünde", + "ж Ñĸ", + "Ġاجر اÛĮ", + "Ġاجرا ÛĮ", + "ĠоÑĢган Ñĸв", + "ĠоÑĢганÑĸ в", + "v ise", + "vis e", + "vi se", + "Ġ ìĿĦ", + "ĠìĿ Ħ", + "à¸ķ รà¸ĩ", + "à¸ķร à¸ĩ", + "Ú©ÙĨ ÙĪÙĨ", + "Ġdlou ho", + "Ġdlouh o", + "Ðŀ ÐĿ", + "Ġ ìľ¡", + "Ġìľ ¡", + "缮 æłĩ", + "ë¯ Ģë¡ľ", + "ï¼ıï¼ıï¼ıï¼ı ï¼ıï¼ıï¼ıï¼ı", + "ĠпоÑĩ емÑĥ", + "æķħ äºĭ", + "ÑĤ еÑģÑĮ", + "ÑĤе ÑģÑĮ", + "ĠÙĤ ÙĦب", + "ĠÙĤÙĦ ب", + "Ġت جÙĩ", + "Ġتج Ùĩ", + "i lendir", + "il endir", + "ilen dir", + "Ġи гÑĢа", + "Ġиг ÑĢа", + "ĠÐĶ Ð¾Ð½", + "ĠÐĶо н", + "ĠpÅĻÃŃ jem", + "è¦ Ĩ", + "С п", + "- ни", + "on se", + "ons e", + "и ной", + "ин ой", + "о Ñĩного", + "оÑĩ ного", + "оÑĩно го", + "ا ساÙĨ", + "اس اÙĨ", + "ĠполÑĥÑĩ иÑĤÑĮ", + "ĠполÑĥ ÑĩиÑĤÑĮ", + "ÑĤ ап", + "ÑĤа п", + "ĠL ý", + "ĠÃĤ u", + "Ġh üc", + "e bek", + "eb ek", + "ebe k", + "ĠY ayın", + "æĹ ĭ", + "ัà¸Ļ à¸Ĺร", + "ัà¸Ļà¸Ĺ ร", + "Ġвикон ав", + "Ġвико нав", + "Ġs ông", + "à¥ģ à¤ľ", + "à¥ģठľ", + "ĠÐĹ Ð°Ð³", + "ĠÐĹа г", + "¤ ëĭ¤", + "Ġc Å©", + "ĠÚ¯ رÙħ", + "Ġگر Ùħ", + "ä¼ ı", + "ãģ« ãģĻãĤĭ", + "- Ф", + "Ġ ÙĤÙħ", + "ĠÙĤ Ùħ", + "Ġo lacaÄŁ", + "Ġol acaÄŁ", + "æĿ¥ äºĨ", + "æĭĽ èģĺ", + "ĠÐĿаÑģ еленнÑı", + "Ġ ìĺģìĸ´", + "Ġìĺģ ìĸ´", + "Ġ æŃ¤", + "ĠæŃ ¤", + "Ġب دÙĨ", + "Ġبد ÙĨ", + "Û² Û¸", + "оÑĢ Ð°ÑĤив", + "оÑĢа ÑĤив", + "ï¼ ³", + "Ġneby lo", + "Ġnebyl o", + "ĠÑĥ ÑĩиÑĤ", + "ĠÑĥÑĩ иÑĤ", + "æĿ ľ", + "Ġд анÑĸ", + "Ġда нÑĸ", + "Ġдан Ñĸ", + "Ġsp otÅĻeb", + "Ġspot ÅĻeb", + "ãĥ¼ ãĥĨãĤ£", + "ãĥ¼ãĥĨ ãĤ£", + "ен нÑĥÑİ", + "ê¹Į ìļĶ", + "v em", + "ve m", + "P ÅĻÃŃ", + "PÅĻ ÃŃ", + "Ġy andan", + "Ġyan dan", + "é¼ ĵ", + "Ġدست ÙĪØ±", + "Ġدس تÙĪØ±", + "Ġhaf if", + "h ů", + "Ġv áž", + "Ġvá ž", + "ĠìķĦ ì§ģ", + "Ùı ر", + "Ġ ла", + "Ġл а", + "ëł ī", + "า à¸Ľà¸£à¸°", + "à¸²à¸Ľ ระ", + "lık lar", + "lıkla r", + "ĠÑģÑĤанд аÑĢÑĤ", + "à¸Ń à¹ĥห", + "å¥ ´", + "ĠоÑĤ п", + "âĪ ł", + "ãĥ¼ ãĥĢ", + "ãĥ¼ãĥ Ģ", + "ch áze", + "cház e", + "Ġê·¸ ëłĩê²Į", + "Ġê·¸ëłĩ ê²Į", + "os tel", + "ost el", + "oste l", + "Ġгал Ñĥз", + "â k", + "еÑĨ ÑĤ", + "ëŀij ìĬ¤", + "ĠÄį ist", + "ĠÄįi st", + "ÑĢ Ð°Ð½Ð°", + "ÑĢа на", + "ÑĢан а", + "Ġv ững", + "Ġvữ ng", + "Ġs eni", + "Ġse ni", + "Ġsen i", + "Ġg óc", + "Ġgó c", + "ÏĨ ÏĮ", + "á nu", + "án u", + "Ġ öt", + "Ġö t", + "Ġs óc", + "Ġsó c", + "ãģĦ ãģ®", + "ĠÑģк лада", + "ĠÑģклад а", + "ÐIJÑĢÑħÑĸв овано", + "ĠìĿ´ ë²Ī", + "ãĤ¹ ãģ®", + "il ebilir", + "ile bilir", + "ï½Ģ ãĥ½", + "ีย à¸į", + "Ġκα á½¶", + "Ġë ¯¿", + "æĽ´ å¤ļ", + "ıs ının", + "ısını n", + "ĠGi ám", + "ĠGiá m", + "æŃ£ å¼ı", + "Ïĥ μÏĮ", + "Ïĥμ ÏĮ", + "Ġarch it", + "Ġarc hit", + "Ġ ï½²", + "Ġï½ ²", + "Ñĩ аÑİÑĤÑģÑı", + "Ñĩа ÑİÑĤÑģÑı", + "ÑĩаÑİÑĤ ÑģÑı", + "ë²Ħ ì§Ģ", + "ãĤ¤ ãĥ¤", + "é«ĺ æł¡", + "è¨ ³", + "ĠÙħ ÛĮÚ©", + "ĠÙħÛĮ Ú©", + "Ġ æĥħ", + "Ġæĥ ħ", + "Ġ pha", + "Ġp ha", + "Ġph a", + "太 éĥİ", + "à¸ŀระ ราà¸Ĭ", + "ÙĤ ÙĬØ©", + "ÙĤÙĬ Ø©", + "ĠÑĥ лÑĥÑĩ", + "ĠÑĥл ÑĥÑĩ", + "ÑģÑĤв ÑĥеÑĤ", + "ÑģÑĤвÑĥ еÑĤ", + "Ġk eÅŁ", + "Ġke ÅŁ", + "é«ĺ çŃī", + "Ġs Ỽm", + "Ïģ κε", + "Ïģκ ε", + "μ οÏģ", + "μο Ïģ", + "Ġzá stup", + "o zÃŃ", + "oz ÃŃ", + "Ġm ili", + "Ġmil i", + "Ġmi li", + "Ġмог ли", + "Ġз ÑĢозÑĥм", + "Ġباش ÛĮد", + "Ġak ci", + "Ġд ÑĢа", + "ĠдÑĢ Ð°", + "Ġα Ïģι", + "ĠαÏģ ι", + "ãģĭ ãĤīãģ®", + "ãģĭãĤī ãģ®", + "å¯ Ĵ", + "ĠZ aman", + "ĠZa man", + "ĠZam an", + "ĠÑĸ де", + "ĠÑĸд е", + "Ġ ãĢĢĠ", + "ĠãĢĢ Ġ", + "Ġk lu", + "Ġkl u", + "ak lı", + "à¥ĩ à¤ļ", + "à¥ĩठļ", + "ĠÑģвоб од", + "س اÙħ", + "Ġ ов", + "Ġо в", + "Ġu byt", + "Ġub yt", + "éĩĩ ç͍", + "Ġdavran Ä±ÅŁ", + "ĠnabÃŃ zÃŃ", + "ĠÐij Ñĥд", + "Ġ Ïī", + "ĠÏ ī", + "ĠاÙĦ رØŃ", + "ĠاÙĦر ØŃ", + "ั à¸ķà¸Ļ", + "ัà¸ķ à¸Ļ", + "и ме", + "им е", + "Ġت ÙĦÙĥ", + "ĠتÙĦ Ùĥ", + "ت Ùħع", + "تÙħ ع", + "Ġад миниÑģÑĤÑĢа", + "Ġzor unda", + "Ġzorun da", + "ĠÙĨ سبة", + "ĠÙĨسب Ø©", + "ĠÙĨس بة", + "ĠصÙĨع تÛĮ", + "ĠصÙĨعت ÛĮ", + "ĠÑĦÑĥн да", + "éı ¡", + "Ġpo tom", + "Ġpot om", + "Ġп ÑĢеÑģÑĤ", + "ĠпÑĢ ÐµÑģÑĤ", + "ĠпÑĢе ÑģÑĤ", + "ĠпÑĢеÑģ ÑĤ", + "Ġsı rada", + "Ġsır ada", + "Ġsıra da", + "Ġ ayar", + "Ġa yar", + "Ġay ar", + "ا ÙĤÙĦ", + "اÙĤ ÙĦ", + "æº ª", + "ĠØ¢ÙĤ اÛĮ", + "ĠпеÑĢе Ñħод", + "ĠпÑĢакÑĤи ÑĩеÑģки", + "é» ĥ", + "ĠÑĥ Ñħод", + "ĠÑĥÑħ од", + "ĠÙħ تÙģ", + "ĠÙħت Ùģ", + "Ġsiyas i", + "Ġпо ÑĤен", + "ĠпоÑĤ ен", + "Ùİ Ùģ", + "ĠÐĽ Ñĥ", + "ĠконÑĤÑĢ Ð¾Ð»ÑĮ", + "ĠÑģказ аÑĤÑĮ", + "à¥Ģ à¤ķरण", + "à¥Ģà¤ķ रण", + "åħ¨ çIJĥ", + "Û² Û¶", + "Ġt oto", + "Ġto to", + "Ġtot o", + "Ġ ÙĪØ¯", + "ĠÙĪ Ø¯", + "ãĤ¿ãĤ¤ ãĥĹ", + "åľ į", + "å¼ķ ç͍", + "ï¼ £", + "èĬ ¸", + "ä»ĭ ç»į", + "ĠÑĤеÑĢÑĢиÑĤоÑĢ Ð¸Ð¸", + "æĹ¥ ãģ«", + "m ÃŃt", + "mÃŃ t", + "am ız", + "amı z", + "ìĿ´ ìĸ´", + "Ġyar Ä±ÅŁ", + "Ġyarı ÅŁ", + "Ġg üc", + "Ġgü c", + "Ġ Ïĩα", + "ĠÏĩ α", + "ัà¸Ļย ายà¸Ļ", + "ãĤĴ è¡Į", + "Ġm illi", + "Ġmill i", + "Ġmil li", + "Ġmi lli", + "Ġ çı¾", + "Ġçı ¾", + "K dyž", + "m azon", + "ma zon", + "maz on", + "ë³´ ëĤ´ê¸°", + "ĠÑĤÑĢÑĥ дов", + "ĠÑĤÑĢÑĥд ов", + "é£ ¾", + "Ġви ник", + "Ġвин ик", + "ĠÙĪØ² ارت", + "ĠÙĪØ²Ø§Ø± ت", + "éĩĮ çļĦ", + "м аз", + "ма з", + "ĠR US", + "ĠRU S", + "е кÑĤÑĥ", + "ек ÑĤÑĥ", + "екÑĤ Ñĥ", + "Ġع اش", + "Ġk once", + "Ġko nce", + "Ġkon ce", + "ãĤĪãģĨ ãģ§ãģĻ", + "Ġмал ÑĭÑĪ", + "m eni", + "me ni", + "men i", + "е Ñģа", + "еÑģ а", + "ا ضÛĮ", + "اض ÛĮ", + "Ġb rat", + "Ġbr at", + "Ġbra t", + "ĠвÑĸд ноÑģ", + "θ εÏģ", + "θε Ïģ", + "ĠЧ ем", + "æij ĩ", + "ĠÙħ ادر", + "ĠÙħا در", + "ĠÙħاد ر", + "ç͍ åĵģ", + "ĠÙħØŃ اÙ쨏", + "Ġm yÅ¡", + "Ġmy Å¡", + "ج ع", + "Ġis im", + "Ġi sim", + "Ġisi m", + "æ³ Ĭ", + "ıl maz", + "ĠÎĽ α", + "å¯ ©", + "Ġay ır", + "е ними", + "ен ими", + "ени ми", + "еним и", + "à¥ĩह तर", + "åľ Ĩ", + "ãģ¾ ãģ£ãģŁ", + "çĶ¢ åĵģ", + "ĠÑĸнÑĦоÑĢма ÑĨÑĸÑĹ", + "Ġt á»§", + "Ġtá» §", + "สม à¸ļ", + "Ġst ÅĻ", + "Ġë°ľ íijľ", + "а ÑĢÑĮ", + "аÑĢ ÑĮ", + "ĠC ao", + "ĠCa o", + "Ρ ÎĻ", + "à¸ģาร à¸Ī", + "Ġпод Ñĥм", + "ä»ķ äºĭ", + "ĠÐļ ÑĢоме", + "Ġ ìĹĶ", + "ĠìĹ Ķ", + "Ġ Ñĥда", + "ĠÑĥ да", + "ĠÑĥд а", + "ĠавÑĤом аÑĤи", + "Ġ à¸Ħà¸ĵะ", + "Ġà¸Ħ à¸ĵะ", + "ĠK iÅŁ", + "ĠKi ÅŁ", + "ĠÑģоÑģÑĤоÑı ние", + "l isi", + "li si", + "lis i", + "Ġëĸ ¨ìĸ´", + "oot ball", + "Ġ íį¼", + "Ġí į¼", + "Ġ лим", + "Ġл им", + "Ġли м", + "Ġç erç", + "ÙĪÙĦ ÙĬÙĪ", + "ÙĪÙĦÙĬ ÙĪ", + "Ġs lož", + "Ġsl ož", + "Ġslo ž", + "Ġ 먼", + "Ġë¨ ¼", + "ร à¸Ńà¸ĩ", + "ÑĪ ÐµÐµ", + "ÑĪе е", + "â̦â̦â̦â̦â̦â̦â̦â̦ â̦â̦â̦â̦â̦â̦â̦â̦", + "ãģĵ ãģ¡ãĤī", + "о ÑĢÑĭ", + "оÑĢ Ñĭ", + "çĥ Ł", + "Âł F", + "а ного", + "ан ого", + "ано го", + "Ø« ÛĮر", + "çı į", + "å¸Ĥ åł´", + "vÄĽ dom", + "vÄĽd om", + "ì² ¨ë¶Ģ", + "ĠìĤ¬ ê±´", + "ï¾ Į", + "à¹ĥ à¸Ļว", + "à¹ĥà¸Ļ ว", + "Ġzvlá Å¡t", + "ÏĦ εÏħ", + "ÏĦε Ïħ", + "Ġкак ие", + "Ġка кие", + "ÏĨοÏģ ά", + "ÏĨο Ïģά", + "åĦ Ħ", + "Ġzp ÄĽt", + "íķľ íħĮ", + "Ġz vol", + "Ġzv ol", + "Ġ çĹ", + "Ġç Ĺ", + "ÑĢа нениÑı", + "ÑĢан ениÑı", + "ĠسÛĮ است", + "ĠÐļ оли", + "ĠÐļол и", + "ĠÐļо ли", + "ĠоÑĢганиз ма", + "ĠоÑĢганизм а", + "ĠÑıнва ÑĢÑı", + "Ġد ادÙĨ", + "Ġداد ÙĨ", + "п ÑĢа", + "пÑĢ Ð°", + "ï¼Į ä»ĸ们", + "ï¼Įä»ĸ 们", + "æijĺ è¦ģ", + "Ġqu ần", + "ÙĬ ÙĪÙĨ", + "ÙĬÙĪ ÙĨ", + "Ġви Ñħов", + "Âł à¹Ģà¸Ķ", + "Ġ елем", + "Ġе лем", + "eb ilecek", + "Ġд оÑĩ", + "Ġдо Ñĩ", + "Ġб лаг", + "Ġбл аг", + "Ġбла г", + "ĠÑı й", + "ad nÃŃ", + "Ġzá roveÅĪ", + "en stvÃŃ", + "âĢĮ اÙĨ", + "ãģķãĤĵ ãģ¯", + "/ |", + "ĠاÙĦع اÙħØ©", + "ĠاÙĦعاÙħ Ø©", + "éł ¼", + "Ġخدا ÙĪÙĨد", + "Ġخد اÙĪÙĨد", + "н ам", + "на м", + "ĠÑģ лиз", + "ĠÑģл из", + "æ¶ ī", + "ร ษ", + "e ÅŁtir", + "eÅŁ tir", + "ĠÙĨ دار", + "ĠÙĨد ار", + "ร าà¸Ħ", + "è¨Ģ ãĤı", + "Ġ èŃ", + "Ġè Ń", + "Ġк ÑĢиÑĤ", + "ĠкÑĢи ÑĤ", + "ĠвоздÑĥ Ñħа", + "ĠвоздÑĥÑħ а", + "Ġà¤Ĺ त", + "Ġprá vo", + "Ġpráv o", + "à¥ĭष ण", + "Ġs ắp", + "íı Ń", + "Ġص رÙģ", + "ĠراÛĮ گاÙĨ", + "ĠоÑĤ к", + "ëĨ ĵ", + "ĠÑģек ÑĢеÑĤ", + "İ n", + "on avir", + "ona vir", + "ĠV ys", + "ĠVy s", + "ĠbaÅŁ lat", + "ĠMu ham", + "ĠлиÑģÑĤ оп", + "ĠT icaret", + "ĠTi caret", + "ĠTic aret", + "Ġad landır", + "ĠÐĶ Ð¼Ð¸ÑĤ", + "Ïĥμ οÏį", + "Ïĥμο Ïį", + "ä¾ µ", + "ìĭľ ëĬĶ", + "à¹ģà¸Ľ ลà¸ĩ", + "ın ıza", + "ını za", + "ınız a", + "- г", + "и ÑĩноÑĹ", + "иÑĩ ноÑĹ", + "иÑĩно ÑĹ", + "Ñĥ ÑĢи", + "ÑĥÑĢ Ð¸", + "U Z", + "ìĽ ł", + "Ġتبد ÛĮÙĦ", + "æ º«", + "æº «", + "ĠÑĢам каÑħ", + "Ġn ét", + "Ġné t", + "æ² ¿", + "Ġroz Å¡ÃŃ", + "Ġस प", + "ĠÑĤак е", + "ĠÑĤа ке", + "ÑĢ Ð°Ñĩ", + "ÑĢа Ñĩ", + "ĠاÙĦ ÙĤد", + "ĠاÙĦÙĤ د", + "íķĻ ê³¼", + "Ñĥв аннÑıм", + "ÑĥваннÑı м", + "Ġm ám", + "Ġmá m", + "ë¡ ¯", + "á½ IJ", + "Ġet kili", + "Ġetk ili", + "Ġetkil i", + "Ġetki li", + "Ġار تÙģ", + "Ġtechn olog", + "Ġtechno log", + "Ġ ì½ĺ", + "Ġì½ ĺ", + "Ġت ÙĥÙĬÙĬÙģ", + "ĠpÅĻ ece", + "ĠpÅĻe ce", + "å®¶ åºŃ", + "Ġ ãģı", + "âĶ ´", + "íģ ¼", + "ĠÎľ ά", + "à¹Ģ à¸ķร", + "à¹Ģà¸ķ ร", + "ĠÑģÑĤанов иÑĤÑģÑı", + "ç«ĭ ãģ¡", + "Ġ éĸĭ", + "Ġéĸ ĭ", + "Ġİ yi", + "ĠnÄĽkter é", + "ĠÑĢоб оÑĤ", + "ĠÄIJ ưá»Ŀng", + "ĠاÙĦ اج", + "Ġsp eci", + "Ġspec i", + "Ġspe ci", + "çī¹ åĪ«", + "åŃ Ŀ", + "âĢĮ گذ", + "âĢĮÚ¯ ذ", + "a lıģı", + "al ıģı", + "alı ģı", + "Ġм иÑĢа", + "Ġми ÑĢа", + "ĠмиÑĢ Ð°", + "í İĺìĿ´ì§Ģ", + "íİĺ ìĿ´ì§Ģ", + "Ø® Ùģ", + "ãĤª ãĥª", + "Ġس ÛĮÙħ", + "ĠسÛĮ Ùħ", + "Ġìĸ´ ëĬIJ", + "алÑĮ нÑĥ", + "Ñĩ ний", + "ümüz de", + "æĻº èĥ½", + "ý n", + "ĠتÙĤÙĪ ÛĮت", + "Ġп ÑĢиг", + "ĠпÑĢ Ð¸Ð³", + "ĠпÑĢи г", + "ĠгÑĢÑĥпп Ñĭ", + "am ı", + "γ οÏį", + "γο Ïį", + "оÑĢ ÑĤÑĥ", + "оÑĢÑĤ Ñĥ", + "ĠG iang", + "ĠGi ang", + "ĠGian g", + "ĠGia ng", + "ÅĻ en", + "ÅĻe n", + "Ġokol ÃŃ", + "产 ä¸ļ", + "Ġ зм", + "Ġз м", + "Ġ é¾", + "Ġé ¾", + "ÙĬ ار", + "ÙĬا ر", + "ĠاÙĦØ´ÙĬ Ø®", + "иÑĤелÑĮ нÑĭй", + "Ġ اÙĩÙħ", + "Ġا ÙĩÙħ", + "ĠاÙĩ Ùħ", + "ĠباÙĦ رÙĬاض", + "ĠÙ¾ÛĮ اÙħ", + "Ġk redi", + "Ġkr edi", + "Ġkre di", + "Ġkred i", + "ĠA rap", + "ĠAr ap", + "ĠAra p", + "Ġ ÑĢаб", + "ĠÑĢ Ð°Ð±", + "ĠÑĢаР±", + "ĠÑĢа б", + "ĠнекоÑĤоÑĢ ÑĭÑħ", + "ĠØŃاÙ쨏 Ùĩ", + "иÑĤелÑĮ ного", + "иÑĤелÑĮно го", + "Ġgerek mektedir", + "ĠD eniz", + "ĠDen iz", + "ĠتÙĦ اش", + "st agram", + "sta gram", + "stag ram", + "áv ky", + "åĬł åħ¥", + "oz or", + "ozo r", + "Ġdurum unda", + "Ġdurumu nda", + "Ġíıī ëĭ¹", + "Ġ ë´ī", + "Ġë´ ī", + "Ġp enÄĽ", + "Ġpe nÄĽ", + "Ġpen ÄĽ", + "Ú¯ اÙĨÛĮ", + "گاÙĨ ÛĮ", + "ĠK up", + "ĠKu p", + "Ġ ÑĨеÑĢ", + "ĠÑĨ еÑĢ", + "ĠÑĨе ÑĢ", + "ul ması", + "âij ł", + "ĠÑģÑĸÑĩ нÑı", + "ım ıza", + "ımız a", + "ımı za", + "å®ļ çļĦ", + "Âł ÑĤ", + "åĬŀ åħ¬", + "ìľ¼ ëĭĪ", + "ĠاÙĦ Ø¥ÙĨ", + "ĠاÙĦØ¥ ÙĨ", + "Ġ çĥ", + "Ġç ĥ", + "ãĢį ï¼Į", + "ÑĹ Ð½Ð°", + "ĠпÑĢигоÑĤов лениÑı", + "Ð ħ", + "ĠÑģ олн", + "ĠÑģол н", + "Ġë¶Ģ ìĤ°", + "æħ ¶", + "ãĤ ¾", + "v oje", + "vo je", + "voj e", + "ÛĮ دÙĨ", + "ÛĮد ÙĨ", + "ìĥĿ ëĭĺ", + "ç¹ ģ", + "á du", + "ád u", + ": ::::::::::::::", + ":: :::::::::::::", + ":::: :::::::::::", + ":::::: :::::::::", + ":::::::: :::::::", + "::: ::::::::::::", + "::::: ::::::::::", + "::::::: ::::::::", + "::::::::: ::::::", + ":::::::::: :::::", + "::::::::::: ::::", + ":::::::::::: :::", + "::::::::::::: ::", + ":::::::::::::: :", + "س ÙĨÚ¯", + "سÙĨ Ú¯", + "éĶ ĭ", + "Ġ звиÑĩай", + "Ġз виÑĩай", + "å§Ķåijĺ ä¼ļ", + "ĠμÎŃ Ïĥα", + "ĠÑĢ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñı", + "æĪIJ 人", + "Ġ dÃŃl", + "Ġd ÃŃl", + "ĠdÃŃ l", + "ĠÐĶ Ð¾Ð±", + "ĠÐĶо б", + "Ġ à¹ĥà¸Ĭ", + "ÏĢ Î¯", + "g amber", + "gam ber", + "ĠÙĪÛĮÚĺ Ú¯ÛĮ", + "Ġ èĬ±", + "ĠèĬ ±", + "Ġb Ãły", + "ĠbÃł y", + "ĠжовÑĤ нÑı", + "åħ¬ å¼Ģ", + "ĠÑĤ оÑĩки", + "ĠÑĤо Ñĩки", + "ĠÑĤоÑĩ ки", + "ãģĤ ãģ®", + "а лÑĸв", + "ал Ñĸв", + "алÑĸ в", + "Ġch arakter", + "Ġchar akter", + "ĠÎĴ α", + "Ġzku Å¡en", + "Ġà¤Ńà¤Ĺ व", + "Ñĩ ика", + "Ñĩи ка", + "Ñĩик а", + "à¥Ģà¤Ĥ ।", + "è£ ı", + "åijĬ è¯ī", + "iy atı", + "iya tı", + "iyat ı", + "ĠÑĨ елÑĮ", + "ĠÑĨе лÑĮ", + "ĠÑĨел ÑĮ", + "Ġ ìĬĪ", + "ĠìĬ Ī", + "а ÑĢд", + "аÑĢ Ð´", + "ĠÃľl ke", + "Ġpro since", + "Ġpros ince", + "ĠÙĨ گاÙĩ", + "ĠÙĨÚ¯ اÙĩ", + "ãĢĮ ãģĬ", + "ÎŁ Τ", + "ÎŁÎ ¤", + "ìĦľ ëĬĶ", + "ÙĪ Ú¯Ø±", + "ض اÙĨ", + "ضا ÙĨ", + "Ġdů sled", + "çIJ ´", + "à¸ķำ à¹ģหà¸Ļ", + "к ÑĤÑĸв", + "кÑĤ Ñĸв", + "lád á", + "á¿ Ĩ", + "ĠD oÄŁu", + "ĠDo ÄŁu", + "ĠDoÄŁ u", + "ãģij ãĤĮãģ°", + "缮 ãĤĴ", + "Ġ 缴", + "ĠçĽ ´", + "æ Ľ°", + "æĽ °", + "ĠвÑĤоÑĢ Ð¾Ð¹", + "Ġг лÑĥ", + "ĠìĿ ½", + "기 ì¤Ģ", + "Ġma dde", + "Ġmad de", + "Ġmadd e", + "Ġjed né", + "Ġjedn é", + "Ġо ÑĦÑĸ", + "ìĭĿ ìĿĦ", + "Ġch út", + "Ġchú t", + "åĩº ãģĹãģŁ", + "åĩºãģĹ ãģŁ", + "и ÑĩеÑģкаÑı", + "иÑĩеÑģ каÑı", + "Ġ лок", + "Ġл ок", + "Ġal tı", + "Ġalt ı", + "ëĵľ ëĬĶ", + "ey gamber", + "ĠÑģв ое", + "ĠÑģво е", + "ĠtaÅŁ ım", + "ĠÑĤо Ñīо", + "Ġgeç ti", + "Ġpr emi", + "Ġpre mi", + "Ġprem i", + "ĠMeh met", + "ï¼Į åĽłæŃ¤", + "ï¼ĮåĽł æŃ¤", + "ί κη", + "ίκ η", + "Ġönce ki", + "Ġönc eki", + "Ġ à¤ķन", + "Ġà¤ķ न", + "ĠÑĤемп еÑĢаÑĤÑĥÑĢа", + "ĠÑĤемпеÑĢаÑĤÑĥ ÑĢа", + "éĺ ´", + "Ġìĸ¼ ë§Ī", + "Ø´ ب", + "á ky", + "ák y", + "ãĢĢ V", + "воÑĢ ÐµÐ½Ð½Ñı", + "l asyon", + "las yon", + "Ġд оказ", + "Ġдо каз", + "Ġдок аз", + "Ġëľ »", + "Ġоб лиÑĩ", + "Ġобл иÑĩ", + "ÎĻ ÎijÎļ", + "ÎĻÎij Îļ", + "Ġ ÑĢазд", + "ĠÑĢаз д", + "ĠÑĢа зд", + "ï¼Į 为", + "å® ½", + "Ġk orum", + "Ġko rum", + "Ġkor um", + "åķĬ åķĬ", + "ĠÅĻe kla", + "ĠÅĻekl a", + "ĠÅĻek la", + "ãĥĹ ãĥ¬", + "Ġв аÑĢÑĤ", + "ĠваÑĢ ÑĤ", + "ĠпÑĢоблем Ñĭ", + "Ġ ä½ł", + "Ġth Æ¡m", + "Ġta kové", + "Ġtak ové", + "Ġtako vé", + "л енÑĭ", + "лен Ñĭ", + "ле нÑĭ", + "Ġ åζ", + "ĠåĪ ¶", + "Ġji ných", + "Ġjin ých", + "Ġjiný ch", + "ĠÙĨ ص", + "ĠгÑĢÑĥд нÑı", + "Ġ ãģĹ", + "иÑĤелÑĮ ной", + "иÑĤелÑĮно й", + "ĠاØŃ تÙħ", + "Ñİ ÑĢ", + "ÏĨ Ïħ", + "Ġ Ø´ÙħاÙĦÛĮ", + "ĠØ´Ùħ اÙĦÛĮ", + "ĠØ´Ùħا ÙĦÛĮ", + "ĠØ´ÙħاÙĦ ÛĮ", + "Ġ ì»´", + "Ġì» ´", + "acaÄŁ ız", + "acaģı z", + "ì§Ģ ë§ī", + "ĠÑĦин анÑģов", + "Ġ ê·¹", + "Ġê· ¹", + "ĠÚĨ ÛĮزÛĮ", + "ĠÚĨÛĮز ÛĮ", + "à¥Ģ à¤Ľ", + "ص ات", + "ान म", + "Ġв озможно", + "Ġвозмож но", + "è¨ İ", + "çĦ ¦", + "ĠاÙĦبÙĦ د", + "Ġ çͳåįļ", + "ç¥ ¥", + "Ġë°Ķ ëĿ¼", + "Ú¯ ÛĮر", + "Ú¯ÛĮ ر", + "Ûµ Û°", + "μι οÏħÏģγ", + "ĠpÅĻed sed", + "ç»ı èIJ¥", + "å§ ij", + "e mey", + "em ey", + "eme y", + "ĠÙĨ ÙĪÙģ", + "ĠÙĨÙĪ Ùģ", + "å¾ ½", + "Ġprá va", + "Ġpráv a", + "Ġво обÑīе", + "Ġ íĭ°", + "Ġíĭ °", + "Ġب Ø£ÙĨ", + "Ġبأ ÙĨ", + "ĠFr anti", + "ĠFran ti", + "ĠP aÅŁa", + "ĠPa ÅŁa", + "ĠÙ¾ ست", + "Ġپس ت", + "k ân", + "ĠÑģиг н", + "Ġd ần", + "æ IJľ", + "æIJ ľ", + "Ġr oky", + "Ġro ky", + "Ġrok y", + "Ùĥ ÙĪØ±", + "ÙĥÙĪ Ø±", + "ĠÎĶ Î®", + "али заÑĨии", + "ализ аÑĨии", + "ализа ÑĨии", + "ä¼ł å¥ĩ", + "ı da", + "lÃŃ b", + "ĠÑĢÑĸв нÑı", + "Ġн оÑı", + "Ġно Ñı", + "bÄĽ hu", + "bÄĽh u", + "ิà¸ĩห าà¸Ħม", + "ï¼Į åį´", + "Ġ ÑĩеÑģ", + "ĠÑĩ еÑģ", + "lan mÄ±ÅŁtır", + "lanmÄ±ÅŁ tır", + "Ġ Æ°á»Ľc", + "áv acÃŃ", + "ีฬ า", + "δ ÎŃ", + "âĢĮØ´ ÙĪÙĨد", + "Ġ ÑĢобÑĸÑĤ", + "ĠÑĢоб ÑĸÑĤ", + "Ġ å·´", + "Ġå· ´", + "ĠM ev", + "ĠMe v", + "ĠÙħرØŃ ÙĦÙĩ", + "Ġвз ÑĢоÑģ", + "ç½ ļ", + "Ġب اÙĦÙħ", + "Ġبا ÙĦÙħ", + "ĠباÙĦ Ùħ", + "Ġиз гоÑĤов", + "ĠS por", + "ĠSp or", + "ĠSpo r", + "åĦ Ģ", + "ĠاÙĦ Ø£ÙĨ", + "ĠاÙĦØ£ ÙĨ", + "à¹Īา à¸ĩà¸ģ", + "à¹Īาà¸ĩ à¸ģ", + "л аÑģÑĤи", + "ла ÑģÑĤи", + "лаÑģ ÑĤи", + "ÎŁ Îļ", + "ÎŁÎ ļ", + "Ġ Ú©ÛĮ", + "ĠÚ© ÛĮ", + "åij½ 令", + "ØŃ دث", + "ØŃد Ø«", + "ÙĬ ÙĥÙĬ", + "ÙĬÙĥ ÙĬ", + "ĠпеÑĢв Ñĭй", + "ãĤ¹ ãĤ³", + "ĠÅ¡ pat", + "ĠÅ¡p at", + "Ġnik do", + "ั à¸ĩม", + "ัà¸ĩ ม", + "èµ «", + "æĺ ¨", + "Ġв Ñĥли", + "ĠвÑĥл и", + "ĠÐļ а", + "à¹Ī ละ", + "Ġsa mot", + "Ġsam ot", + "Ġsamo t", + "ĠобеÑģп е", + "ĠÙħعرÙģ ÛĮ", + "ĠÙħØŃصÙĪÙĦ ات", + "в анов", + "ва нов", + "ван ов", + "вано в", + "ĠÙħستÙĤ ÛĮÙħ", + "å¢ Ļ", + "Âł Ðļ", + "Ġд оÑĤ", + "Ġдо ÑĤ", + "z im", + "zi m", + "ÙIJ ر", + "Ġ Ø´ÙĪ", + "ĠØ´ ÙĪ", + "åľ¨ åľ°", + "Ġ çݰ", + "Ġçİ °", + "Ġ åĮĸ", + "ĠåĮ ĸ", + "ز ÙĪ", + "Ġyay gın", + "Ġо ÑĢиг", + "ĠоÑĢ Ð¸Ð³", + "Ùı ÙĨ", + "Ġev rop", + "Ġ ï½ľ", + "Ġï½ ľ", + "Ġëħ¸ì¶ľ ëĵ±ë¡Ŀ", + "åĩ Ŀ", + "л еннÑĭÑħ", + "лен нÑĭÑħ", + "Ġje nom", + "Ġjen om", + "Ġ ЧÑĤобÑĭ", + "ĠЧ ÑĤобÑĭ", + "ĠЧÑĤо бÑĭ", + "ĠìĹĨ ëĭ¤", + "ĠìŬ ìĦ±", + "Ġres mi", + "im álnÃŃ", + "缮 ãģ®", + "s ian", + "si an", + "-ни бÑĥдÑĮ", + "ο κ", + "çĭ¬ ç«ĭ", + "ÅŁ ehir", + "åIJ IJ", + "åζ éĢł", + "Ġ ÎĶεν", + "ĠÎĶ ÎµÎ½", + "ĠÎĶε ν", + "ãĥĭ ãĥ¥", + "иÑĤелÑĮ нÑĭÑħ", + "Ġ ÙĥاÙħ", + "ĠÙĥ اÙħ", + "Ïģ κ", + "Ġr au", + "Ġra u", + "ĠÑģм еÑĢÑĤи", + "ĠÑģмеÑĢ ÑĤи", + "ĠÏĮ ÏĦαν", + "Ġ Tại", + "ĠT ại", + "Ġ رب", + "Ġر ب", + "ε νο", + "εν ο", + "ر دد", + "رد د", + "Ġ à¸ģระ", + "Ġà¸ģ ระ", + "Ġà¸ģร ะ", + "Ïĥ μο", + "Ïĥμ ο", + "Ġ æ¼Ķ", + "Ġæ¼ Ķ", + "ิà¸Ī à¸ģรรม", + "ĠÑĢаз ви", + "ĠÑĢазв и", + "ãĤ¹ ãĥļ", + "Ñĸ ÑĩноÑĹ", + "ÑĸÑĩ ноÑĹ", + "lá Å¡enÃŃ", + "láš enÃŃ", + "اب عة", + "ابع Ø©", + "ov ými", + "ový mi", + "ovým i", + "а нг", + "ан г", + "Ġкап ÑĸÑĤ", + "ãĢģ âĢĭ", + "íĸĪ ëįĺ", + "ĠÑĥ ÑģÑĸ", + "ĠÑĥÑģ Ñĸ", + "ย าว", + "ยา ว", + "Ø£ Ùħ", + "ãĥ© ãĥĥãĤ¯", + "Ġë ķ", + "ĠسÙĨ ÙĪØ§Øª", + "ĠÑģÑĤаÑĤ ÑĮи", + "ĠÑģÑĤаÑĤÑĮ и", + "ÑĹ Ñħ", + "Ïģο Ïĩή", + "ĠØ£Ùĥ تÙĪØ¨Ø±", + "lan ma", + "Ġmal zem", + "ç £¨", + "ç£ ¨", + "Ġб окÑĥ", + "Ġбо кÑĥ", + "Ġбок Ñĥ", + "åŃĹ å¹ķ", + "ĠоÑĢганÑĸ за", + "ĠоÑĢганÑĸз а", + "ãĥ© ãĤ¤ãĥ³", + "ãĥ©ãĤ¤ ãĥ³", + "ĠÙħع دÙĨ", + "ĠÙħعد ÙĨ", + "çĶ· åŃIJ", + "Ġ æĤ", + "Ġæ Ĥ", + "Ạ¾", + "Ġmez iná", + "Ġmezi ná", + "и ваÑİÑĤ", + "ив аÑİÑĤ", + "ива ÑİÑĤ", + "ĠطبÛĮ عÛĮ", + "èĻ ij", + "à¤Ł र", + "Ġпод Ñģ", + "ĠÅŁ aÅŁ", + "à¸Ļ à¹Ĩ", + "ĠÅ¡ p", + "v ÄĽÅĻ", + "vÄĽ ÅĻ", + "з ÑĮ", + "ëĿ¼ ë§Ī", + "ุ à¸ĺ", + "â̦ Ø·", + "리 ì§Ģ", + "âĦĸâĦĸ âĦĸâĦĸ", + "Ġb ức", + "ĠSp oj", + "ĠSpo j", + "ĠиÑģполÑĮзов ани", + "ĠиÑģполÑĮз овани", + "å·¦ åı³", + "en ler", + "ĠоÑī ÑĥÑī", + "Ġоб лÑĸ", + "Ġобл Ñĸ", + "ظ ËĨ", + "ÙĦ ÛĮس", + "ÙĦÛĮ س", + "æıIJ åįĩ", + "ĠговоÑĢ Ð¸ÑĤÑĮ", + "ĠговоÑĢиÑĤ ÑĮ", + "Ġk ür", + "Ġkü r", + "Ġλ ειÏĦοÏħÏģγ", + "ла га", + "лаг а", + "ĠÑģÑĥ дÑĥ", + "ĠÑģÑĥд Ñĥ", + "Ġ 측", + "Ġì¸ ¡", + "θε Ïĥη", + "Ġ нен", + "Ġн ен", + "Ġне н", + "Ġbiç imde", + "Ġbiçim de", + "ÑĨÑĸй ноÑĹ", + "ÑĨÑĸйно ÑĹ", + "à¹Ģà¸Ħ ย", + "ĠDal Å¡ÃŃ", + "Ġи меÑĤÑĮ", + "Ġим еÑĤÑĮ", + "Ġиме ÑĤÑĮ", + "èĭ Ĺ", + "ĠÙħع رÙĪÙģ", + "Ġt ạp", + "Ġm eÅŁ", + "Ġme ÅŁ", + "Âł N", + "оÑĢ Ð¾Ð½Ð¸", + "оÑĢон и", + "оÑĢо ни", + "ع Ùģ", + "à¹Ĥ รà¸ĩà¹Ģร", + "à¹Ĥรà¸ĩ à¹Ģร", + "âĶ ¬", + "Ġ à¹Ģà¸ŀราะ", + "Ġà¹Ģà¸ŀ ราะ", + "Ġèı² å¾ĭ宾", + "ÑģÑĤв енное", + "ÑģÑĤвен ное", + "ÑģÑĤвенно е", + "Ġاز دÙĪØ§Ø¬", + "ĠÑĦ ев", + "éł »", + "Ġ สล", + "Ġส ล", + "à¸ķ à¸Ńà¸Ļ", + "Ġ 기ê°Ħ", + "Ġ기 ê°Ħ", + "ä½ ©", + "ÏĦ ην", + "ÏĦη ν", + "ëĤ¬ ëĭ¤", + "ĠQ uy", + "ĠQu y", + "Ġë¶ Ļ", + "ĠС Ñĥд", + "и ж", + "Ġ à¹Ģà¸ģม", + "Ġà¹Ģà¸ģ ม", + "ĠÑģв ÑıÑĤ", + "ĠÑģвÑı ÑĤ", + "et ooth", + "eto oth", + "ε Ïģο", + "εÏģ ο", + "ÙĦ ÙħØ©", + "ÙĦÙħ Ø©", + "Ø´ ÙĪØ±", + "Ø´ÙĪ Ø±", + "Ġd omu", + "Ġdo mu", + "Ġdom u", + "èį Ĵ", + "m î", + "ëıĦ 를", + "ĠÑĢекомендÑĥ еÑĤÑģÑı", + "Ġsonra sında", + "Ġsonrası nda", + "Ġд нÑĸв", + "Ġç al", + "Ġça l", + "ãĤ«ãĥĨ ãĤ´ãĥª", + "Ġ еж", + "Ġе ж", + "Ġìķ ī", + "èī² çļĦ", + "âĢĻ nde", + "âĢĻn de", + "Ġ ÏĢÏīÏĤ", + "ĠÏĢ ÏīÏĤ", + "ĠÑĩеÑĤ веÑĢ", + "k ili", + "ki li", + "kil i", + "æĢ§ èĥ½", + "اد ÙĬØ©", + "ادÙĬ Ø©", + "çº ¯", + "ĠاÙĦ تش", + "ĠاÙĦت Ø´", + "ĠÑĤ ела", + "ĠÑĤе ла", + "ĠÑĤел а", + "Ġоб ÑĬем", + "ĠобÑĬ ем", + "å²Ĺ ä½į", + "Ġkon krét", + "Ġa rada", + "Ġar ada", + "Ġara da", + "ìĭľ ìĹIJ", + "Ġor anı", + "Ġoran ı", + "ر Ùĥ", + "ÐĽ ÐIJ", + "Ġ ménÄĽ", + "Ġmé nÄĽ", + "ج ÙĪÛĮ", + "جÙĪ ÛĮ", + "Ġv ợ", + "Ġvá» £", + "ĠAngiosper mae", + "èĥ İ", + "Ġh ôn", + "äºĭ æ¥Ń", + "ĠоÑĤ веÑĢ", + "ĠоÑĤв еÑĢ", + "Ġs rd", + "Ġsr d", + "Å¡ li", + "ส à¸ģ", + "æ¼ ı", + "ĠØ´ رØŃ", + "Ġشر ØŃ", + "ÑĨ Ñıми", + "ÑĨÑı ми", + "Ġs lav", + "Ġsl av", + "Ġsla v", + "Ġc eny", + "Ġce ny", + "Ġcen y", + "à¸Ń à¹Ģร", + "Ġ ÙĪÙĦد", + "ĠÙĪÙĦ د", + "Ġк оÑĢа", + "ĠкоÑĢ Ð°", + "Ġко ÑĢа", + "Ġб ÑĢон", + ": .:.:.:.:", + ":.:.: .:.:", + ":.: .:.:.:", + "Ġne mus", + "Ġnem us", + "è¿Ļ æł·çļĦ", + "è¿Ļæł· çļĦ", + "Ġبر ÙĨاÙħج", + "Ġú plnÄĽ", + "ีà¸Ļ าà¸Ħม", + "Ġë°Ľ ìķĦ", + "με Ïģα", + "μεÏģ α", + "ç¼ ©", + "Ġn ắm", + "ĠобÑĬ ÑıÑģ", + "ĠконÑĤÑĢ Ð¾Ð»Ñİ", + "á vajÃŃcÃŃ", + "ávajÃŃ cÃŃ", + "Ġk um", + "Ġku m", + "çĶ· 人", + "Ġv nitÅĻ", + "Ġب دÙĩ", + "Ġبد Ùĩ", + "Ġأب رÙĬÙĦ", + "人æ°ij åħ±åĴĮåĽ½", + "Ġyap ılır", + "Ġyapıl ır", + "Ġna Å¡ÃŃ", + "ĠnaÅ¡ ÃŃ", + "ãĥ¼ ãĥŃ", + "ãĥ¼ãĥ Ń", + "Ġt ạm", + "Ġhen üz", + "Ġz emi", + "Ġze mi", + "Ġzem i", + "Ġkh áng", + "Ġkhá ng", + "åħ¬ åħ±", + "Ġ èĢģ", + "ĠèĢ ģ", + "ĠعÙĪ Ø§ÙħÙĦ", + "Âł V", + "à¹ī à¹ģà¸ģ", + "άν ÏĦα", + "ĠÑĤÑĢав нÑı", + "Ġη μÎŃ", + "è´ ¸", + "ส à¸Ķ", + "Ġس Ùħت", + "ĠسÙħ ت", + "ĠØ® اک", + "ĠÑĤак ий", + "ĠÑĤа кий", + "Ġet tik", + "Ġett ik", + "Ġetti k", + "ĠÏĮ λ", + "Ġп оли", + "Ġпо ли", + "Ġпол и", + "Ġ нож", + "Ġн ож", + "Ġно ж", + "غ اÙĨ", + "ÙĨ دÙĬ", + "ÙĨد ÙĬ", + "ĠÄįty ÅĻi", + "ĠÄįtyÅĻ i", + "ĠPh ương", + "ĠÙĪØ± زش", + "ĠÙĪØ±Ø² Ø´", + "ãģĦ ãģĭ", + "r vé", + "rv é", + "Ġतर फ", + "Ġन à¤Ĺर", + "m asında", + "ma sında", + "mas ında", + "ması nda", + "е виÑĩ", + "ев иÑĩ", + "еви Ñĩ", + "ve ÅĻej", + "ä¿Ŀ æĮģ", + "æĬĢ èĥ½", + "æİ¨ èįIJ", + "l âm", + "Ġ Ïį", + "ĠÏ į", + "å¢ŀ éķ¿", + "Ġاص ÙģÙĩ", + "ĠÐĹак онÑĥ", + "ĠÐŁ ÑĢез", + "ĠÐŁÑĢ ÐµÐ·", + "Ġpod por", + "Ġpodp or", + "기 íĥĢ", + "Ġ íıIJ", + "Ġíı IJ", + "Ġ ëĭĪ", + "Ġëĭ Ī", + "lar ınız", + "ların ız", + "larını z", + "ãĥĸ ãĥŃ", + "ĠÑĦÑĢан ÑĨÑĥз", + "ãĥĬ ãĥ¼", + "Ġb eled", + "Ġbe led", + "Ġbel ed", + "Ġbele d", + "ัà¸Ļว าà¸Ħม", + "ĠÙģ Ø±ÙĪ", + "ĠÙ쨱 ÙĪ", + "ÑĦ ÑĢов", + "ĠìĿ´ 룬", + "ượ u", + "Ġê³µ ìĭĿ", + "Ġbird en", + "Ġbir den", + "Ġз елен", + "Ġзел ен", + "çĴ ĥ", + "Ġh á»ĵng", + "Ġhá»ĵ ng", + "ĠÅ¡ kola", + "ĠÅ¡kol a", + "ĠÅ¡k ola", + "ĠÑģам ом", + "ĠÑģамо м", + "an lık", + "anlı k", + "空 éĹ´", + "åįĹ çľģ", + "л еÑĢг", + "ле ÑĢг", + "леÑĢ Ð³", + "Ñĸз неÑģ", + "Âł A", + "ãĢį ãĤĴ", + "Ġkend ine", + "Ġkendi ne", + "Ġ اÙĪÙĨ", + "Ġا ÙĪÙĨ", + "ĠاÙĪ ÙĨ", + "ãĢ Ķ", + "ĠΣ Ïį", + "à¹Ģ à¸Ħล", + "à¹Ģà¸Ħ ล", + "å¥ ¶", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "Ġú Äįet", + "ĠúÄį et", + "Ñĥ ла", + "Ñĥл а", + "éĢļ ä¿¡", + "Ġì¦ IJ", + ". čĊĊ", + ".čĊ Ċ", + "ĠÐľ ед", + "ا عÙĬ", + "اع ÙĬ", + "Ġjeho ž", + "ĠGü ney", + "ĠGün ey", + "ĠÎij ÏĢο", + "ĠÎijÏĢ Î¿", + "Ġп олÑĸ", + "Ġпо лÑĸ", + "Ġпол Ñĸ", + "ü me", + "üm e", + "ho dob", + "hod ob", + "ĠÎĿ α", + "ĠØ¢ ÙĦات", + "ĠØ¢ÙĦ ات", + "ĠpÅĻ iz", + "ĠpÅĻi z", + "Ġt avs", + "Ġta vs", + "Ġtav s", + "Ġتب ÙĦÛĮ", + "ãĥ³ ãĥĶ", + "ãĥ³ãĥ Ķ", + "Ø® رج", + "خر ج", + "Ġак кÑĥ", + "Ġú prav", + "ĠاØŃ ساس", + "ì¹´ ëĿ¼", + "ı mızı", + "ım ızı", + "ımız ı", + "ımı zı", + "Ġд окÑĥменÑĤ", + "Ġдок ÑĥменÑĤ", + "ĠдокÑĥм енÑĤ", + "Ġ اصÙĦ", + "Ġا صÙĦ", + "Ġاص ÙĦ", + "ظ Ùĩ", + "ĠìĿ¸ ê°Ħ", + "Ġج رÛĮاÙĨ", + "Ġجر ÛĮاÙĨ", + "Î¥ ÎĿ", + "ÑĩеÑģ каÑı", + "Ñĩе ÑģкаÑı", + "ÙĬ ÙĨÙĬØ©", + "ÙĬÙĨ ÙĬØ©", + "ÙĬÙĨÙĬ Ø©", + "åĴ ¨", + "æĹħ 游", + "Ġ à¸Īำà¸Ļวà¸Ļ", + "Ġà¸Īำ à¸Ļวà¸Ļ", + "Ġ анг", + "Ġа нг", + "Ġан г", + "Ïħ Ïĩ", + "èĻ «", + "ĠÙħ ÙĤر", + "ĠÙħÙĤ ر", + "ĠÙħÙĪØ³ÛĮ ÙĤÛĮ", + "ut ut", + "ĠÐĽ е", + "ĠÐŁ ÑĸÑģлÑı", + "ãĤŃ ãĥ¼", + "ุล าà¸Ħม", + "åĩ ¡", + "ÏĢ Î¿Ïį", + "ÏĢο Ïį", + "ĠÃĸ dül", + "Ïĥ κ", + "Ġ ÑĨÑİ", + "ĠÑĨ Ñİ", + "Ñĭ ваÑı", + "Ñĭв аÑı", + "Ñĭва Ñı", + "ï½ŀ ï½ŀ", + "ĠØ´ ÙħاÙĦ", + "ĠØ´Ùħ اÙĦ", + "ĠØ´Ùħا ÙĦ", + "è¿ ħ", + "ĠبÙĦ Ú©Ùĩ", + "çİ Ľ", + "Ġì§Ģ ëĤĺ", + "ĠÙģ کر", + "ĠÑģÑĤеп ени", + "Ġна Ñĥки", + "ĠнаÑĥк и", + "çī© çIJĨ", + "ÄĽ le", + "ÄĽl e", + "Ġо ÑģкÑĸлÑĮки", + "ĠкÑĥлÑĮÑĤÑĥ ÑĢи", + "ĠкÑĥлÑĮÑĤÑĥÑĢ Ð¸", + "èĢĥ è¯ķ", + "Ġmateri ál", + "ĠÑģÑĤ воÑĢеннÑı", + "ĠÑģÑĤвоÑĢ ÐµÐ½Ð½Ñı", + "Ġà¤ħ द", + "æıIJ åĩº", + "Ġè©ķ 価", + "ÙĴ د", + "Ġë§Įëĵ¤ ìĸ´", + "duÄŁu nu", + "duÄŁ unu", + "ÙĬ ÙĨÙĩ", + "ÙĬÙĨ Ùĩ", + "åĵ ¦", + "оÑĩ нÑĭÑħ", + "ĠÙħ ض", + "is mu", + "ism u", + "Ġ Ñĩай", + "ĠÑĩ ай", + "ĠÑĩа й", + "ÙĪ Ø±ÙĪØ¨", + "ÙĪØ± ÙĪØ¨", + "Ġ англ", + "Ġан гл", + "Ġанг л", + "oÄŁun luk", + "ĠпÑĢед пол", + "ĠÎŃ ÏīÏĤ", + "ส à¸ĸ", + "ĠÎķλλά δα", + "ĠBi lg", + "ĠBil g", + "Ġ بات", + "Ġب ات", + "Ġبا ت", + "ĠÐĽÑĮв Ñĸв", + "Ġyap ılması", + "Ġyapıl ması", + "æ£Ģ æŁ¥", + "æķ° åѦ", + "Ġ :.:", + "Ġ: .:", + "Ġ:. :", + "Ġ çİ©", + "Ġçİ ©", + "Îļ α", + "à¹Ģà¸Ĺ à¸Ħà¹Ĥà¸Ļà¹Ĥลย", + "Ġساخت ÙħاÙĨ", + "ĠìĨĮ 리", + "é¼ »", + "Ġs mr", + "Ġsm r", + "Ġëĭ¤ìĸij íķľ", + "Ġjed nánÃŃ", + "Ġjedn ánÃŃ", + "Ġjedná nÃŃ", + "Ġserv isi", + "Ġservi si", + "Ġservis i", + "Ġey lem", + "Ġм али", + "Ġмал и", + "Ġма ли", + "Ġvý hod", + "éϤ äºĨ", + "ĠпоÑĢÑıд кÑĥ", + "Ġn ový", + "Ġno vý", + "Ġnov ý", + "å¤ ķ", + "ĠнекоÑĤоÑĢ Ñĭе", + "Ġ^ {}", + "Ġ^{ }", + "γÏī γ", + "Ñĥ ÑĪки", + "ÑĥÑĪ ÐºÐ¸", + "Ġp sik", + "Ġps ik", + "Ġpsi k", + "ĠíĶĦ 리", + "Ø´ اء", + "Ġ ван", + "Ġв ан", + "Ġва н", + "Ġس ÙĥاÙĨ", + "ç¢ ¼", + "ĠÎľ η", + "ĠÑĥÑĢов енÑĮ", + "ãĤµ ãĥ¼", + "ĠاÙĦب ØŃر", + "Ġd nÃŃ", + "Ġdn ÃŃ", + "à¸ģาร ศ", + "e diÄŁi", + "edi ÄŁi", + "Ġbelir li", + "Ùĭ ØĮ", + "ĠzamÄĽst nan", + "ĠzamÄĽstn an", + "æŁ ±", + "ا ÙģÙĬ", + "اÙģ ÙĬ", + "Ġh ải", + "æĢĿ æĥ³", + "Ġn eler", + "Ġne ler", + "Ġnel er", + "Ġرس ÙħÛĮ", + "ĠرسÙħ ÛĮ", + "Ñģ еÑĢ", + "Ñģе ÑĢ", + "ãģĵãģ¨ ãģ§", + "ĠZá kladnÃŃ", + "л ова", + "ло ва", + "лов а", + "к ÑĤÑĥ", + "кÑĤ Ñĥ", + "ÙĪØ³ Ùģ", + "Ñĸб лÑĸ", + "Ì Ĥ", + "ÑĢ Ð´", + "éĻ ³", + "æį ·", + "ĠyaÅŁ ayan", + "à¥ģ à¤ļ", + "à¥ģठļ", + "ÑĸÑĤ ÑĤÑı", + "Ġb á»ģ", + "ëĤĺ ëĿ¼", + "Ġм ÑıÑģ", + "Ġ{ [%", + "Ġ{[ %", + "θ α", + "Ġдоз волÑı", + "Ġдозвол Ñı", + "Ġ åIJĦ", + "ĠåIJ Ħ", + "ĠÐŁ еÑĢв", + "ĠÐŁÐµÑĢ Ð²", + "ĠSaÄŁ lık", + "ÑģÑĤоÑĢ Ð¸Ñı", + "Ġbun lar", + "Ġs á»ķ", + "़ à¥į", + "Ġ åĪ©", + "ĠåĪ ©", + "ĠÑģ поÑģ", + "ĠÑģп оÑģ", + "Ġyap tır", + "Ġyaptı r", + "Ġt ưá»Ŀng", + "ÙĪ ÙĨØ©", + "ÙĪÙĨ Ø©", + "Ġ еп", + "Ġе п", + "ãģ§ãģį ãģªãģĦ", + "Ùģ ØªÙħ", + "ÙģØª Ùħ", + "ĠÐĵ ол", + "íķĺ ì§Ģë§Į", + "íķĺì§Ģ ë§Į", + "Ġì§Ħ ì§ľ", + "Ġob jedn", + "Ġobj edn", + "Ġизмен ениÑı", + "女 人", + "Ġпл ани", + "Ġпла ни", + "Ġплан и", + "ĠFak ült", + "Ġt zv", + "Ġtz v", + "ĠобÑıз аÑĤелÑĮ", + "Ġблиз ÑĮко", + "r ası", + "ra sı", + "ras ı", + "ĠεÏĢί ÏĥηÏĤ", + "ĠÑĦак ÑĤи", + "ĠÑĦакÑĤ и", + "ĠÄIJ ặc", + "ĠAlt ın", + "л иÑĤ", + "ли ÑĤ", + "Ġл ÑĸÑģ", + "ĠлÑĸ Ñģ", + "çī §", + "Ġп ÑĥÑģÑĤ", + "ĠпÑĥ ÑģÑĤ", + "Ġком ÑĸÑģ", + "ä¿Ŀ éļľ", + "åħ· ä½ĵ", + "- ÑĤ", + "Ġtr hu", + "Ġtrh u", + "Ġâī Ī", + "Ġдека бÑĢÑı", + "ĠÑĦоÑĢм Ñĭ", + "ĠÑĦоÑĢ Ð¼Ñĭ", + "Ng oÃłi", + "Ġdo hod", + "رÙĬ ÙĥÙĬØ©", + "رÙĬÙĥ ÙĬØ©", + "رÙĬÙĥÙĬ Ø©", + "ĠØ¢ÙħÙĪØ² Ø´ÛĮ", + "ĠØ¢ÙħÙĪØ²Ø´ ÛĮ", + "ĠzajÃŃm av", + "Ġkat ılım", + "Ġkatıl ım", + "ä¸ ĺ", + "Ġko num", + "Ġkon um", + "Ġkonu m", + "Ġм оÑĩ", + "Ġмо Ñĩ", + "ãĥ³ ãĥķ", + "ãĥ³ãĥ ķ", + "диви дÑĥ", + "Ġ äºļ", + "Ġ æĴ", + "Ġæ Ĵ", + "γÏģά ÏĨ", + "ãĥIJ ãĤ¹", + "Ġп Ñĥнк", + "ĠBir leÅŁik", + "Ġqu en", + "Ġque n", + "Ġq uen", + "Ġв каз", + "Ġвк аз", + "à¥ĩ शà¤ķ", + "à¥ĩश à¤ķ", + "ĠY unan", + "ĠYu nan", + "ĠYun an", + "ãģł ãģ¨", + "Û±Û¹ Û·", + "á ty", + "át y", + "Ġ ÙĪØµ", + "ĠÙĪ Øµ", + "Ġнег аÑĤив", + "ãģ¤ ãģ®", + "Ġ åĬ¨", + "ĠåĬ ¨", + "ãĥį ãĥĥãĥĪ", + "Ġд Ñĸй", + "ĠдÑĸ й", + "ĠbaÅŁ ında", + "Ġtr ưng", + "Ġm akin", + "Ġma kin", + "Ġmak in", + "Ġ æĦĽ", + "ĠæĦ Ľ", + "м еÑĩ", + "ме Ñĩ", + "Ġ è¿ij", + "Ġè¿ ij", + "ÙĤ در", + "ÙĤد ر", + "Ġاست اÙĨد", + "ĠاستاÙĨ د", + "Ġinform acÃŃ", + "ार à¤ķ", + "è¬ Ŀ", + "ÑĢаб аÑĤ", + "Ġ çŃĶ", + "Ġç ŃĶ", + "ĠçŃ Ķ", + "Ġ èĩ³", + "Ġèĩ ³", + "Ġп олÑĮ", + "Ġпо лÑĮ", + "Ġпол ÑĮ", + "ĠÙĩÙĨ ر", + "ëĮĢ ë¹Ħ", + "Ġخارج ÛĮ", + "r act", + "ra ct", + "rac t", + "ãĢĤ ãģĵãĤĮ", + "ĠØ´ÙĪØ± اÛĮ", + "л енно", + "лен но", + "Ġh isset", + "Ġhis set", + "Ġhiss et", + "Ġc Ãłi", + "ĠcÃł i", + "ĠÑĦ оÑĤо", + "ĠÑĦоÑĤ о", + "æģ Ĵ", + "Ġмед иÑĨин", + "Ġмеди ÑĨин", + "ÑģÑĤ вÑĸ", + "ÑģÑĤв Ñĸ", + "ĠاÙĦ عÙĦ", + "ĠاÙĦع ÙĦ", + "ĠпиÑģÑĮ мен", + "ãĢĤ ãģ¾ãģŁ", + "Ġvlast nÄĽ", + "Ġп ода", + "Ġпо да", + "Ġпод а", + "Ïģ οι", + "Ïģο ι", + "Ġ ìĦĿ", + "ĠìĦ Ŀ", + "ĠìĿ¼ ìĿ´", + "Ġ ìĽĮ", + "ĠìĽ Į", + "ок Ñģи", + "окÑģ и", + "Ġos oby", + "Ġosob y", + "ÐŁÐ¾Ñģ ле", + "ĠÑĸÑģÑĤоÑĢ ÑĸÑĹ", + "ع ÙĦÙī", + "عÙĦ Ùī", + "н ка", + "ت Ùħبر", + "تÙħ بر", + "à¥ĩ हर", + "à¥ĩह र", + "ĠJ ana", + "ĠJan a", + "ĠJa na", + "ÙĦ ÙĬات", + "ÙĦÙĬ ات", + "ĠмаÑĢ ÑĤа", + "ĠÐļи ÑĶ", + "ĠÑĢоб оÑĤÑĥ", + "ĠÑĢобоÑĤ Ñĥ", + "Ġnh ấn", + "и Ñģлов", + "иÑģ лов", + "ëŁ Ń", + "Ġo dv", + "Ġod v", + "ĠT á»īnh", + "âĢľ ê·¸", + "ãģ» ãģĨ", + "é² ľ", + "м еÑĨÑĮ", + "ме ÑĨÑĮ", + "า ศาสà¸ķร", + "าศ าสà¸ķร", + "à¥ģ à¤ĵ", + "à¥ģठĵ", + "ิ à¸Ļà¸Ĺ", + "ิà¸Ļ à¸Ĺ", + "m ada", + "ma da", + "mad a", + "ز اÙħ", + "زا Ùħ", + "ĠÙĥ بÙĬر", + "å®ŀ æĸ½", + "ze ÅĪ", + "Ġl ái", + "Ġlá i", + "Ïĥ μα", + "Ïĥμ α", + "ا سات", + "اس ات", + "ÑĦ ÑĤ", + "è° ±", + "çĮ ľ", + "Ġpro bÃŃ", + "Ġprob ÃŃ", + "æľĢ è¿ij", + "ÑĢ Ð°Ð´", + "ÑĢаР´", + "ÑĢа д", + "ãĤ½ ãĥ³", + "Ġ клад", + "Ġк лад", + "Ġкл ад", + "Ġкла д", + "à¥ľ à¤ķ", + "é v", + "ล าย", + "ลา ย", + "èİ İ", + "ĠμÎŃ ÏĩÏģι", + "Ġ кÑĥÑģ", + "Ġк ÑĥÑģ", + "ĠкÑĥ Ñģ", + "Ġ íĻĺê²½", + "ĠíĻĺ ê²½", + "Ñĩ оÑĹ", + "åıĺ åĮĸ", + "Ġب تÙĪØ§ÙĨ", + "Ġبت ÙĪØ§ÙĨ", + "Ġt ắt", + "Ġgöster en", + "а лÑİ", + "ал Ñİ", + "Ġкоман ди", + "Ġкоманд и", + "Ġ 컨", + "Ġì» ¨", + "Ñĥ нд", + "Ñĥн д", + "Ġج ÙĦÙĪ", + "ĠجÙĦ ÙĪ", + "åŃIJ çļĦ", + "ĠÑģ б", + "ĠÐł аÑģ", + "ĠÐłÐ° Ñģ", + "P CP", + "PC P", + "ĠCumhur baÅŁ", + "од аÑĤелÑĮ", + "ÃŃ sto", + "ÃŃs to", + "ÃŃst o", + "Ġo znám", + "Ġoz nám", + "ãĥ¼ ãĥĭ", + "ãĥ¼ãĥ ĭ", + "Ġok uy", + "Ġoku y", + "o phy", + "op hy", + "oph y", + "า à¸Ļà¸Ħร", + "าà¸Ļ à¸Ħร", + "ĠÎķ θν", + "ay ım", + "ayı m", + "Ùİ Ø£", + "æİ ¡", + "Ġfunk ce", + "Ġfunkc e", + "æļ ĸ", + "Ø· ار", + "ĠÐĿ аг", + "ĠÐĿа г", + "Ġ ä¸ĩåĨĨ", + "Ġä¸ĩ åĨĨ", + "Ġ íĴį", + "ĠíĴ į", + "Ġ ä½ı", + "Ġ ï¼İ", + "Ġï¼ İ", + "Ñĭ ваÑİÑĤÑģÑı", + "Ñĭв аÑİÑĤÑģÑı", + "Ñĭва ÑİÑĤÑģÑı", + "ÑĭваÑİÑĤ ÑģÑı", + "ĠP la", + "ĠPl a", + "ا ÙĬÙĦ", + "اÙĬ ÙĦ", + "Ġ무 ìĹĩ", + "Ġкон еÑĩно", + "к м", + "à¤Ĥ पर", + "à¤Ĥप र", + "Ġ ìłķë¶Ģ", + "Ġìłķ ë¶Ģ", + "ĠëĤ´ 볤", + "ãĤ° ãĥ«", + "çģ °", + "Ġc yk", + "Ġcy k", + "Ġжел Ñĥд", + "ĠëĨĴ ìĿĢ", + "çĶŁ åij½", + "æµ ´", + "Ġart Ä±ÅŁ", + "Ġ Ðĩ", + "ĠÐ ĩ", + "ï¼ ²", + "e kim", + "ek im", + "eki m", + "ĠÑĦ едеÑĢа", + "ĠвеÑĢеÑģ нÑı", + "н иÑĤе", + "ни ÑĤе", + "ниÑĤ е", + "ĠÄ°ÅŁ te", + "ĠÙĪØ¶Ø¹ ÛĮت", + "ãģķ ãģ¾", + "ĠtÅĻ etÃŃ", + "ĠtÅĻet ÃŃ", + "u luÄŁ", + "ulu ÄŁ", + "ĠCumhur iyet", + "ä¼ Ł", + "Ġ ë§Ŀ", + "Ġë§ Ŀ", + "Ġver mek", + "Ġverm ek", + "Ġn alez", + "Ġna lez", + "Ġnal ez", + "Ġnale z", + "çĵ ¶", + "Ġd iÅŁ", + "Ġdi ÅŁ", + "ĠH á»ĵng", + "ĠHá»ĵ ng", + "غ ÙĬرة", + "غÙĬر Ø©", + "å© Ĩ", + "н ив", + "ни в", + "Ġr út", + "' nda", + "'n da", + "Ġh roz", + "Ġhr oz", + "à¥ī प", + "Ġза коном", + "Ġзак оном", + "Ġзакон ом", + "Ġзако ном", + "Ġjed nu", + "Ġjedn u", + "ĠKa dın", + "ĠKad ın", + "in dir", + "ind ir", + "indi r", + "س ازÛĮ", + "åĮº åŁŁ", + "ĠkonuÅŁ tu", + "Ġز ÙĨد", + "ĠزÙĨ د", + "ा ĊĊ", + "ाĊ Ċ", + "ĠÐIJ з", + "à¸ĩ à¸Ĥà¸Ńà¸ĩ", + "à¸ĩà¸Ĥ à¸Ńà¸ĩ", + "ĠÑģвой ÑģÑĤва", + "Ġìŀij íĴĪ", + "пе ки", + "Ġ å°±", + "Ġå° ±", + "ев ого", + "ево го", + "ĠtaÅŁ ıy", + "ĠÙħÙĨ Ø·ÙĤØ©", + "ĠÙħÙĨØ· ÙĤØ©", + "ĠÃĩ ocuk", + "Û² Û·", + "ĠÏĥÏħ μÏĢ", + "é£Ł åĵģ", + "h á", + "ï¼ ¯", + "ÙĦ ÙħÙĩ", + "ÙĦÙħ Ùĩ", + "ãģ¨ãģª ãģ£ãģŁ", + "о ÑĢÑĸ", + "оÑĢ Ñĸ", + "° }", + "ĠtaÅŁ ın", + "çŁ ¿", + "ĠÑĩаÑģÑĤ ини", + "ĠÑĩаÑģÑĤи ни", + "ĠدÙĬ سÙħبر", + "Ġ èī¯", + "Ġèī ¯", + "st ÅĻÃŃ", + "Ġ ÑĨик", + "ĠÑĨ ик", + "ĠÑĨи к", + "âĢķâĢķ âĢķâĢķ", + "Ġİng iltere", + "ĠÑģÑĤ ÑĢаÑĤег", + "ĠÑģÑĤÑĢ Ð°ÑĤег", + "ÃĦ Ÿ", + "и Ñĩного", + "иÑĩ ного", + "иÑĩно го", + "ÃŃ rk", + "ÃŃr k", + "ĠÎij Ïģ", + "! âĢľĊĊ", + "!âĢľ ĊĊ", + "Ġ 깨", + "Ġê¹ ¨", + "à¥ģà¤Ĩ त", + "ĠدÙĨÛĮ ا", + "ĠدÙĨ ÛĮا", + "l ÃŃn", + "lÃŃ n", + "Ġà¤ķ ड", + "ĠÙħ بت", + "ĠÙħب ت", + "ем ÑĭÑħ", + "о би", + "об и", + "ย à¸Ļà¸ķ", + "ยà¸Ļ à¸ķ", + "à¤Ĥध न", + "ÚĨ ÛĮ", + "Ġ çŁ¥", + "Ġç Ł¥", + "ĠçŁ ¥", + "ĠXu ân", + "a daki", + "ad aki", + "ada ki", + "Ġ orta", + "Ġor ta", + "Ġort a", + "æł¹ æľ¬", + "åħ± åIJĮ", + "н ений", + "не ний", + "нен ий", + "ب ÙĬرة", + "بÙĬ رة", + "بÙĬر Ø©", + "çŃ ĭ", + "ïº Ķ", + "âĢĮ ÙĩاÙĬ", + "âĢĮÙĩا ÙĬ", + "Ġö deme", + "Ġödem e", + "ĠØ¢ÙĨ ÚĨÙĩ", + "Ġза Ñıви", + "ĠзаÑıв и", + "ĠÙĨÙĤ Ø´Ùĩ", + "ĠÙĨÙĤØ´ Ùĩ", + "Ġ ç³»", + "Ġç ³»", + "Ġç³ »", + "à¥ĭ ।", + "Ġì§Ģ ìłķ", + "Ġin sp", + "Ġins p", + "Ġ ÑĤен", + "ĠÑĤ ен", + "ĠÑĤе н", + "Ġت Ø·", + "Ġqu ảng", + "Ġquả ng", + "Ġquản g", + "åī £", + "ãģı ãģ®", + "ĠÑĨ им", + "ĠÑĨи м", + "k ovi", + "ko vi", + "kov i", + "i yah", + "iy ah", + "iya h", + "Ġ ëIJľëĭ¤", + "ĠëIJľ ëĭ¤", + "ص Ùĩ", + "ĠÄij u", + "Ġsu á»ijt", + "ı ma", + "ım a", + "ì§Ģ ê³ł", + "Ì ĥ", + "à¸ļ าย", + "ĠCert if", + "ĠCer tif", + "ĠÑĥÑģ ÑĸÑħ", + "ĠÑĥÑģÑĸ Ñħ", + "à¸ķะ ว", + "εί ÏĦε", + "Ġ č", + "Ġмож ливÑĸÑģÑĤÑĮ", + "Ġможлив ÑĸÑģÑĤÑĮ", + "Ġ -âĢIJ", + "Ġ- âĢIJ", + "Ġ íĺ¹", + "Ġíĺ ¹", + "ìĤ¬ ì§Ħ", + "Ġд аниÑħ", + "Ġда ниÑħ", + "Ġдан иÑħ", + "Ġzah áj", + "주 ëĬĶ", + "Ġг ид", + "n iž", + "ni ž", + "Ġ^{ °}", + "Ġk ro", + "Ġkr o", + "Äį en", + "Äįe n", + "ÏĨ ι", + "ımız da", + "Ġ æ¹ĸ", + "Ġæ¹ ĸ", + "Ġпов ÑĢежд", + "Ġì¡´ ìŀ¬", + "à¸Ļ าà¸Ļ", + "à¸Ļา à¸Ļ", + "μÎŃ Î½Î¿ÏĤ", + "μÎŃν οÏĤ", + "μÎŃνο ÏĤ", + "æ½ ľ", + "ï¼Į 使", + "Ġd osp", + "Ġdo sp", + "Ġdos p", + "Ġl iá»ģn", + "Ġli á»ģn", + "ัà¸ļ à¸Ħวาม", + "ัà¸ļà¸Ħ วาม", + "ĠÑĢабоÑĤ е", + "ĠÑĢаб оÑĤе", + "ĠÑĢабо ÑĤе", + "Ġмай бÑĥÑĤ", + "à¹Ģà¸ģ ษ", + "B aÅŁ", + "Ba ÅŁ", + "Ġ æĿ±äº¬", + "ĠæĿ± 京", + "наÑĩ ала", + "δ ει", + "δε ι", + "à¥Ī प", + "Ñĸ мÑĸ", + "Ñĸм Ñĸ", + "Ġf izik", + "Ġfi zik", + "Ġfiz ik", + "ว ล", + "ä¼ į", + "Ġ à¸Ĭà¸Ļะ", + "Ġà¸Ĭ à¸Ļะ", + "' ÑıÑĤ", + "'Ñı ÑĤ", + "н ил", + "ни л", + "и нов", + "ин ов", + "ĠÄijo án", + "รว à¸Ī", + "f et", + "fe t", + "à¹Į à¹Ĥ", + "Ġ маÑĤи", + "Ġм аÑĤи", + "ĠмаÑĤ и", + "Ġма ÑĤи", + "é¨ İ", + "Ðļ Т", + "à¹Ģส à¸Ļà¸Ń", + "à¹Ģสà¸Ļ à¸Ń", + "Ġм ав", + "Ġма в", + "lı ģına", + "lıģı na", + "lıģ ına", + "lıģın a", + "Ġпо Ñĩина", + "ĠпоÑĩ ина", + "ู à¸ķร", + "ูà¸ķ ร", + "ÑĨ еÑĢ", + "ÑĨе ÑĢ", + "uj ete", + "uje te", + "ujet e", + "Ġtah min", + "Ġвим ог", + "า à¸Ł", + "าภŁ", + "е дж", + "ед ж", + "ÏĦ εÏį", + "ÏĦε Ïį", + "ad la", + "ĠÄij ương", + "Ġد استاÙĨ", + "Ġbas ın", + "Ġba sın", + "ĠÑħ в", + "Ġ reak", + "Ġre ak", + "ĠоÑĤ меÑĤ", + "æ³ ¥", + "Ġm áte", + "Ġmá te", + "Ġmát e", + "Ġzo run", + "Ġzor un", + "ã썿ĢĿ ãģĨ", + "Ġدر جة", + "ĠвÑĸд ÑģÑĥÑĤ", + "Ġع اÙħÙĦ", + "ĠعاÙħ ÙĦ", + "èĶ µ", + "Ġson raki", + "Ġsonra ki", + "Ġmoh li", + "Ġmohl i", + "и ваеÑĤ", + "ив аеÑĤ", + "ива еÑĤ", + "ĠпÑĸд ÑģÑĤав", + "Ġost rov", + "Ġostr ov", + "ान व", + "âĢŀ P", + "Ġви знаÑĩа", + "ĠвизнаÑĩ а", + "Ġprav dÄĽpodob", + "Ġz az", + "Ġza z", + "ìĿ´ 를", + "Ġдж еÑĢ", + "ĠÐł ад", + "ĠÐłÐ° д", + "ĠÑģеÑĢÑĮ ез", + "Ġ дем", + "Ġд ем", + "Ġде м", + "ÏĢ Î®", + "ĠÐĦ вÑĢоп", + "ĠÐĦв ÑĢоп", + "ĠÄįesk é", + "ĠÄįe ské", + "ï¾ ı", + "Ġ ØŃÙĬ", + "ĠØŃ ÙĬ", + "ì¼ ĢìĿ´", + "ì¼Ģ ìĿ´", + "ĠØ® ÙĪÙĨ", + "ĠØ®ÙĪ ÙĨ", + "Âł L", + "ãģĦ ãģ«", + "из неÑģ", + "ĠÙħ ÙĤاÙħ", + "ĠÙħÙĤ اÙħ", + "ĠاÙĦ ØŃÙĦ", + "ĠاÙĦØŃ ÙĦ", + "ëĨ į", + "ĠØ¢ ÛĮا", + "ĠØ¢ÛĮ ا", + "ç¿ ¼", + "ï¼ ½", + "æ¸ IJ", + "ли вÑĸ", + "лив Ñĸ", + "ãģĦ ãģ¦ãģĦãĤĭ", + "ãģĦãģ¦ ãģĦãĤĭ", + "Ġ ÎijÎł", + "ĠÎij Îł", + "ĠиÑģполÑĮз ÑĥеÑĤÑģÑı", + "ĠиÑģполÑĮзÑĥ еÑĤÑģÑı", + "Ġm át", + "Ġmá t", + "Ġμε γά", + "Ġμεγ ά", + "ëħ ¼", + "æµ· éģĵ", + "ĠÙħØ´Ú© ÙĦات", + "ĠÙħØ´Ú©ÙĦ ات", + "Ñĩ на", + "'; ';", + "Ġ μία", + "Ġμ ία", + "Ïģ Ïİν", + "ÏģÏİ Î½", + "Ġby ste", + "ĠÑįлек ÑĤÑĢи", + "ĠÑįлекÑĤÑĢ Ð¸", + "ĠY ardım", + "ĠYard ım", + "ĠYar dım", + "Ġh át", + "Ġhá t", + "ĠÐĶ ÐµÑĢжав", + ". С", + "Ġo rada", + "Ġor ada", + "Ġora da", + "Ġal anı", + "Ġalan ı", + "åľ° åŁŁ", + "ĠدÙĩ ÙĨد", + "мен ÑĪ", + "ĠоÑĢг анов", + "ĠоÑĢган ов", + "Ġع ص", + "ู à¸ĩส", + "ูà¸ĩ ส", + "ĠØ´ عر", + "Ġشع ر", + "Ġìĸ »", + "Ġά λλ", + "Ġάλ λ", + "Ġg ói", + "Ġgó i", + "ĠÙĨ اØŃ", + "å¼ ĺ", + "à¥įथ ल", + "i lim", + "il im", + "ili m", + "ëIJĺ ì§Ģ", + "Ġкон ÑĨе", + "ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł", + "Ġì¤Ģ ë¹Ħ", + "Ġostat nÃŃ", + "Ġvlá dy", + "Ġvlád y", + "ĠÑģо биÑĢа", + "ĠÑģоб иÑĢа", + "ĠìĹŃ ìĤ¬", + "à¹ģ à¸ģรม", + "à¹ģà¸ģ รม", + ". ï¼ı", + "Ùı ÙĪÙĨ", + "ÙıÙĪ ÙĨ", + "Ù¾ س", + "ĠW ikip", + "ĠWi kip", + "ĠWiki p", + "ĠWik ip", + "Ġ æ¾", + "Ġæ ¾", + "Ġж аÑĢ", + "容 æĺĵ", + "ĠprostÅĻed nictvÃŃm", + "Ġž eny", + "Ġže ny", + "Ġžen y", + "Ġèı²å¾ĭ宾 çͳåįļ", + "а ÑİÑĤÑģÑı", + "аÑİÑĤ ÑģÑı", + "Ġm iêu", + "Ġmi êu", + "Ġp enÃŃze", + "δ ιά", + "δι ά", + "ol dur", + "old ur", + "ĠпÑĢимеÑĢ Ð½Ð¾", + "ĠìŀĪ ê³ł", + "à¸ĩ à¸Ńย", + "к овий", + "ко вий", + "ков ий", + ". ÎŁ", + "à¹ĥ à¸Ħร", + "çĭ ł", + "ĠÐŁ Ñĸв", + "æĶ¹ éĿ©", + "ĠÐĿаÑģ еление", + "Å¡et ÅĻ", + "ÙĴ ب", + "Ġ âĶĢ", + "ĠâĶ Ģ", + "غ ÙĬÙĦ", + "ĠдÑĸÑıлÑĮ нÑĸÑģÑĤÑĮ", + "ĠÙĦ ÙĬس", + "ĠÙĦÙĬ س", + "Ġìĭľ ìŀ¥", + "ãĥŁ ãĥ¥", + "ĠÚ© ÙĪØª", + "ĠÚ©ÙĪ Øª", + "ĠÎĵ ι", + "ิ à¹Ģว", + "e ktor", + "ek tor", + "ekt or", + "ĠбÑĥд Ñĥ", + "ĠбÑĥ дÑĥ", + "но важ", + "нов аж", + "нова ж", + "Ñī аеÑĤÑģÑı", + "Ñīа еÑĤÑģÑı", + "Ġng ôn", + "ĠvÄĽ c", + "å¾ IJ", + "à¸Ńà¹Ģม ร", + "ัà¸į à¸Ĭ", + "ĠиÑģполÑĮз ÑĥÑİÑĤ", + "ĠиÑģполÑĮзÑĥ ÑİÑĤ", + "r ubu", + "ru bu", + "rub u", + "Ġnh á»±a", + "ãģĮ ãģĬ", + "ĠÐĵ аÑĢ", + "о ÑĢе", + "оÑĢ Ðµ", + "Ġз олоÑĤ", + "æ Ł³", + "æŁ ³", + "Ġ ÙĬØ´", + "ĠÙĬ Ø´", + "Ġповин нÑĸ", + "اÙĤ تص", + "ÙĦ ØŃ", + "ĠокÑĤ ÑıбÑĢÑı", + "ĠnÄĽk dy", + "Ġо бÑĢа", + "Ġоб ÑĢа", + "ست Ú¯ÛĮ", + "符 åIJĪ", + "Ġth iá»ĥu", + "æĺ¯ ä»Ģä¹Ī", + "Ġro zs", + "Ġroz s", + "ì½ľ 걸", + "Ġк аÑĦ", + "Ġка ÑĦ", + "åIJĮ æŃ¥", + "ì¼ ĵ", + "ÏĢ ÏĦÏħ", + "à¸ł ายà¹ĥà¸Ļ", + "ι ÏĥÏĦή", + "ιÏĥ ÏĦή", + "ĠدÙĪÙĦ ار", + "ĠÙħا ÙĬÙĪ", + "ĠÙħاÙĬ ÙĪ", + "Ġ peÄį", + "Ġp eÄį", + "Ġpe Äį", + "ัà¸ļ ม", + "ÎĻ ÎĶ", + "ı ydı", + "ıy dı", + "ัà¸ģ à¸Ĺ", + "à¸Ľà¸£à¸° à¸ĸม", + "κ αι", + "κα ι", + "Ġpro dej", + "Ġprod ej", + "ĠиÑİ Ð»Ñı", + "Ġv Å©", + "é© ±", + "Ġh vÄĽ", + "Ġhv ÄĽ", + "æĥ³ è¦ģ", + "ç¯ Ħ", + "ç ak", + "ça k", + "Ġм Ñıг", + "ım ın", + "ımı n", + "Ġdisp ozici", + "Ġu kaz", + "Ġuk az", + "r acak", + "ra cak", + "rac ak", + "Ġболез ни", + "ว à¹Ĥม", + "Ġз ел", + "ĠÐĴ ики", + "ĠÐĴи ки", + "ĠÐĴик и", + "ĠÐł од", + "ูà¸ģ à¸Ħ", + "í ij¸", + "Ġth ải", + "ĠbaÄŁ ımsız", + "ĠÑĢоÑģ Ñģий", + "ĠÐļ ам", + "ĠÐļа м", + "ĠиÑģполÑĮзов аниÑı", + "ĠиÑģполÑĮз ованиÑı", + "ĠиÑģполÑĮзовани Ñı", + "ĠØŃ ذ", + "Âł ³³³³³³³³", + "³³ ³³³³³³³", + "³³³³ ³³³³³", + "³³³ ³³³³³³", + "³³³³³³³³ Âł", + "³³³³³³³ ³³", + "³³³³³ ³³³³", + "³³³³³³ ³³³", + "ĠاÙĨت ÙĤاÙĦ", + "Ġаб ÑģолÑİÑĤ", + "Ġ Ä±ÅŁÄ±k", + "ĠÄ±ÅŁÄ± k", + "ÏĦο γÏģαÏĨ", + "ĠболÑĮÑĪ Ð¾Ð¹", + "Ġعب ارت", + "Ġعبار ت", + "ÃŃ Å¾", + "Ġدر ست", + "Ġدرس ت", + "ĠÑģл ово", + "ĠÑģлов о", + "ĠÑģло во", + "à¥Ī Ċ", + "ب ÙĪØ¨", + "بÙĪ Ø¨", + "ĠÐĴ оÑĤ", + "ĠÐĴо ÑĤ", + "ว à¹Ħà¸Ľ", + "Ġbil inen", + "Ġbilin en", + "Ġ ÙĤÙĬ", + "ĠÙĤ ÙĬ", + "Ġbun ların", + "Ġbunlar ın", + "Ġbunları n", + "Ùij ت", + "Ġbas it", + "Ġba sit", + "ë¦ ¿", + "ائ رة", + "ائر Ø©", + "Ġp ů", + "Ġed ilmiÅŁ", + "Ġedilm iÅŁ", + "Ġedil miÅŁ", + "Ġ ä½IJ", + "ĠYön etim", + "ĠYönet im", + "Ùħ ÛĮر", + "ÙħÛĮ ر", + "Ġsp ou", + "Ġspo u", + "æ·± åľ³", + "Ġвза ÑĶм", + "ÎĻ ÎĽ", + "Ð ĥ", + "ĠдеÑĢжав ноÑĹ", + "Ġ mrt", + "Ġm rt", + "Ġmr t", + "ĠDe mir", + "ĠDem ir", + "é» İ", + "ĠÑĢег ÑĥлÑıÑĢ", + "Ġник огда", + "å¼ ¾", + "à¥ī ड", + "Ġг лаз", + "Ġгла з", + "ĠÙħÛĮ Ú©ÙĨ", + "ĠÙħÛĮÚ© ÙĨ", + "éĻIJ å®ļ", + "Ġнав к", + "Ġпод ÑĤ", + "ĠتصÙĪ ÛĮر", + "ĠاÙĦØŃ دÙĬØ«", + "Ġdo Å¡lo", + "нÑİ Ñİ", + "ĠÑģ Ñħод", + "ĠÑģÑħ од", + "Ø· ÙĤØ©", + "ĠÑģенÑĤ ÑıбÑĢÑı", + "çī¹ æ®Ĭ", + "à¸ģาร à¹ģà¸Ĥ", + "á zd", + "áz d", + "ÑĶ ÑĤе", + "ĠΣ ε", + "ĠÙĦ ÙĥÙĦ", + "ĠÙĦÙĥ ÙĦ", + "åIJį åŃĹ", + "اÙĨ ÛĮا", + "اÙĨÛĮ ا", + "Ġc ins", + "Ġcin s", + "Ġci ns", + "기 ìĹħ", + "Ġ éŁ³", + "Ġé Ł³", + "ĠéŁ ³", + "éł ĥ", + "ย าย", + "ยา ย", + "ìļ ķ", + "ĠvÃŃ tÄĽz", + "à¥įर ब", + "Ġشر ÙĤÛĮ", + "ĠشرÙĤ ÛĮ", + "ĠbezpeÄį nost", + "Ġçerç ev", + "Ġ ë§Ľ", + "Ġë§ Ľ", + "c ky", + "ck y", + "ĵ ¨", + "ĠÑĥм оваÑħ", + "ĠÑĥмов аÑħ", + "л иÑħ", + "ли Ñħ", + "m eniz", + "men iz", + "meni z", + "Ġب Ú¯ÛĮر", + "Ġبگ ÛĮر", + "ÙĨ Ùī", + "Ġ à¸ģารà¹ģà¸Ĥ", + "Ġà¸ģาร à¹ģà¸Ĥ", + "ι Ïĥε", + "ιÏĥ ε", + "â̳ E", + "Ġdönem inde", + "리 ì¹´", + "Ġ åΰ", + "ĠåĪ °", + "Ġhu kuk", + "Ġhuku k", + "а ÑĤоÑĢа", + "аÑĤ оÑĢа", + "аÑĤоÑĢ Ð°", + "аÑĤо ÑĢа", + "ĠاÙĦ عÙĨ", + "ĠاÙĦع ÙĨ", + "ïº ĺ", + "ün üz", + "ünü z", + "Ñģ оÑĤ", + "Ñģо ÑĤ", + "ุ ษ", + "Ġd ương", + "ov ny", + "Ġ ÑĦоÑĢма", + "ĠÑĦоÑĢм а", + "ĠÑĦоÑĢ Ð¼Ð°", + "ãģĹ ãģ®", + "ãģĹãģ ®", + "ز ÙĬز", + "زÙĬ ز", + "ĠاÙĦÙĨ اس", + "Ġ Ñĩим", + "ĠÑĩ им", + "ĠÑĩи м", + "大 人", + "Ú¯ ÙĬ", + "ĠÐĵ оÑģп", + "é¢Ĩ 导", + "Ġn inh", + "Ġni nh", + "Ġnin h", + "Ġร าà¸Ħา", + "Ġราà¸Ħ า", + "ÙĤ اء", + "ìī ¬", + "ĠìĿ´ ìłĦ", + "ĠÃ¶ÄŁret men", + "ĠÑĨвеÑĤ а", + "ен ноÑģÑĤÑĮ", + "енно ÑģÑĤÑĮ", + "大 ãģį", + "ĠмиÑģÑĤ еÑĨÑĤ", + "ر ÙĪØª", + "رÙĪ Øª", + "p oÅĪ", + "po ÅĪ", + "ĠÅŀ irket", + "ĠкÑĢаÑģ ив", + "ĠÑĢеÑģ ÑĥÑĢÑģ", + "ĠÑĢеÑģÑĥÑĢ Ñģ", + "ä¹ ¾", + "Ġ ÙģÙĩ", + "ĠÙģ Ùĩ", + "ĠY Ãĸ", + "èĬ ³", + "μ ÏīÏĤ", + "ÄĽ ji", + "ÄĽj i", + "Ġв лаж", + "Ġвла ж", + "ĠÑĥв ели", + "ا ذا", + "اذ ا", + "ãĢĤ å¦Ĥæŀľ", + "ĠпÑĢи ÑģÑĥÑĤÑģÑĤв", + "ĠẤ n", + "æĢ ĸ", + "ĠÐľ еÑĤ", + "Ġje dna", + "Ġjed na", + "Ġjedn a", + "Ġc ục", + "Ġcụ c", + "ĠاÙĨت شار", + "Ġз окÑĢема", + "и ÑĩеÑģки", + "иÑĩеÑģ ки", + "ĠкÑĢаÑĹ Ð½Ð¸", + "ĠкÑĢаÑĹн и", + "и ÑĢÑĥ", + "иÑĢ Ñĥ", + "ĠÑĸн ÑĤеÑĢ", + "ĠÑĸнÑĤ еÑĢ", + "Ġан алог", + "Ñ Ľ", + "ี à¸ĭ", + "н Ñĥли", + "нÑĥ ли", + "нÑĥл и", + "ĠN inh", + "ĠNi nh", + "ĠNin h", + "еÑĢ Ð°ÑĤоÑĢ", + "еÑĢа ÑĤоÑĢ", + "Ġr uce", + "Ġru ce", + "ĠÑĪ ÐºÑĸ", + "ĠÑĪк Ñĸ", + "تر ÙĨت", + "Ġson rası", + "Ġsonra sı", + "Ġ æį", + "Ġæ į", + "ÑĨен ÑĤÑĢа", + "ÑĨенÑĤ ÑĢа", + "Ġà¸Ńำ à¹Ģà¸ł", + "Ø· ÙĬ", + "ï¼Į å½ĵ", + "ĠÑĤ ÑĢеÑħ", + "ĠÑĤÑĢ ÐµÑħ", + "Âł H", + "æ´ ª", + "ãĥ³ ãĥĦ", + "ãĥ³ãĥ Ħ", + "ĠвÑĸдповÑĸд алÑĮ", + "âĢĻ daki", + "âĢĻd aki", + "âĢĻda ki", + "á ÅĻi", + "áÅĻ i", + "ĠpÅĻ em", + "ĠpÅĻe m", + "t uk", + "tu k", + "ĠÙ쨱 ÙħÙĪØ¯", + "ĠÙ쨱Ùħ ÙĪØ¯", + "Ġ ìĿ¸ì¦Ŀ", + "ĠìĿ¸ ì¦Ŀ", + "สำ à¸Ļ", + "ìĥģ ìĿĺ", + "ÅĻ ÃŃm", + "ÅĻÃŃ m", + "æ¾ ¤", + "Ġ ÑĢей", + "ĠÑĢ ÐµÐ¹", + "ĠÑĢе й", + "ĠлÑİб ой", + "u jte", + "uj te", + "ë³µ ì§Ģ", + "Ġ درس", + "Ġد رس", + "Ġدر س", + "ĠÐĴ лади", + "ĠÑģво им", + "ĠÑģвои м", + "ĠìĿ¸íĦ° ëĦ·", + "è± Ĭ", + "Ġн алог", + "Ġнал ог", + "ãĤĪ ãģ³", + "ĠØ® اطر", + "Ġ ìŀħëĭĪëĭ¤", + "Ġìŀħ ëĭĪëĭ¤", + "ãĢĤ ãģĹãģĭãģĹ", + "л аг", + "ла г", + "å° ĸ", + "ëĭ ¥", + "ìĬ¤ ëĬĶ", + "ìĭł ì²Ń", + "ãĥĩ ãĥ¼ãĤ¿", + "ĠÑĥÑĢов нÑı", + "Ġ무 ìĬ¨", + "ĠاÙĦØ£ رض", + "à¹ī à¸ķ", + "Ỽ t", + "ĠÙĨÛĮ رÙĪ", + "ĠÙĨÛĮر ÙĪ", + "å¢ ¨", + "ãĤ¶ ãĥ¼", + "r uba", + "ru ba", + "rub a", + "ĠÙĨØ´ دÙĩ", + "и лÑı", + "ил Ñı", + "a cÃŃm", + "ac ÃŃm", + "acÃŃ m", + "ãĥ© ãĤ¯", + "X H", + "Ġس رد", + "Ġسر د", + "Ġद स", + "t ember", + "tem ber", + "ĠDoÄŁ um", + "ĠDoÄŁu m", + "ĠпÑĢ Ð¾ÑĢ", + "ĠпÑĢо ÑĢ", + "θ οÏĤ", + "θο ÏĤ", + "ĠiÅŁ e", + "à¸Ń à¸Ł", + "л аÑĪ", + "ла ÑĪ", + "اص ÙĦÙĩ", + "اصÙĦ Ùĩ", + "l ivÄĽ", + "li vÄĽ", + "liv ÄĽ", + "ë¶Ģ ë¶Ħ", + "н ак", + "на к", + "åįģ ä¸ī", + "ส าห", + "à¸Ľà¸£à¸°à¹Ģà¸Ĺศ à¹Ħà¸Ĺย", + "ãĤŃ ãĥ³ãĤ°", + "ĠмеÑĤ оÑİ", + "Ġkullan arak", + "âij ¡", + "ÛĮز ات", + "ĠÙħÙĪØ¨ اÛĮÙĦ", + "ĠзнаÑĩ иÑĤ", + "Ġзна ÑĩиÑĤ", + "Ġorgan izace", + "Ġorganiz ace", + "ÑĢ Ð¸Ð¸", + "ÑĢи и", + "ov na", + "Ġ ê²½ìłľ", + "Ġê²½ ìłľ", + "ãĢģ å½¼", + "Ġम स", + "Ġ à¹Ĥà¸Ľà¸£", + "Ġà¹Ĥ à¸Ľà¸£", + "L ARI", + "LA RI", + "LAR I", + "æĩ Ĥ", + "Ġ ва", + "Ġв а", + "ĠÙĥ ÙĨت", + "ĠÙĥÙĨ ت", + "ĠÑĢабоÑĤ а", + "ĠÑĢаб оÑĤа", + "ĠÑĢабо ÑĤа", + "Âł ĠÂłĠÂł", + "ÂłĠ ÂłĠÂł", + "ÂłĠÂł ĠÂł", + "好 äºĨ", + "ĠzamÄĽst n", + "ж енÑĮ", + "же нÑĮ", + "жен ÑĮ", + "Ġu kon", + "Ġuk on", + "nÄĽ né", + "nÄĽn é", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ĠاÙĦخاص Ø©", + "ĠÄį asu", + "ĠÄįas u", + "å°ı 说", + "ĠØŃر کت", + "æij Ħ", + "Ïĩ Ïī", + "ĠÑģв еж", + "æĸ° éĹ»", + "Ġ ìĭ±", + "Ġìĭ ±", + "Ġe ÄŁer", + "ĠeÄŁ er", + "Ġsitu ace", + "Ġ ç·¨", + "Ġç ·¨", + "Ġç· ¨", + "f ik", + "fi k", + "ë§ Īëĭ¤", + "ë§Ī ëĭ¤", + "Îķ Îļ", + "Ġê°ľ ìµľ", + "Ġc Ãł", + "ا دث", + "اد Ø«", + "Ġsay ıda", + "Ġsayı da", + "ĠØ£ Ù쨶ÙĦ", + "ĠØ£Ùģ Ø¶ÙĦ", + "æ³ķ éĻ¢", + "Ġ .,", + "Ġ. ,", + "ĠTh ương", + "Ïģ ÏĮÏĤ", + "ÏģÏĮ ÏĤ", + "ãģĹ ãĤĪãģĨ", + "Ç İ", + "æ ij¸", + "æij ¸", + "Ġ éϳ", + "ĠéĻ ³", + "¥ IJ", + "ฤ à¸Ķ", + "Ġgi ảng", + "Ġgiả ng", + "Ġgiản g", + "ĠлÑİ Ð±Ð¾Ð²", + "ĠлÑİб ов", + "Ġek ran", + "о пиÑģ", + "оп иÑģ", + "еж дÑĥ", + "Ġназ ва", + "æĭ ĵ", + "ı f", + "à¹Ī à¸ģ", + "и ÑĩнÑĸ", + "иÑĩ нÑĸ", + "Ġ ê³Ħíļį", + "Ġê³Ħ íļį", + "à¸ł าà¸Ħม", + "à¸łà¸²à¸Ħ ม", + "Ġ اپ", + "Ġا Ù¾", + "리 ìĿĺ", + "ãģ§ãģĻ ãģĮ", + "Ġkon ci", + "Ġکار خاÙĨÙĩ", + "Ġ ä½ķ", + "ĠÑĤ ва", + "ĠÑĤв а", + "ĠÐŁ оÑģÑĤ", + "ĠÐŁÐ¾ ÑģÑĤ", + "ĠÐŁÐ¾Ñģ ÑĤ", + "ĠапÑĢ ÐµÐ»Ñı", + "ĠاÙĦع راÙĤ", + "ä¸Ń åįİ", + "à¹ĩ à¸Ńà¸ģ", + "à¥įत à¤ķ", + "Ġz ájem", + "Ġzá jem", + "Ġدر جÙĩ", + "Ġब à¥ľ", + "ĠÑģÑĤ ÑĢан", + "ĠÑģÑĤÑĢ Ð°Ð½", + "ĠÑģÑĤÑĢа н", + "èѦ å¯Ł", + "Ġyer leÅŁtir", + "ĠyerleÅŁ tir", + "ĠV Å©", + "ç¾İ åħĥ", + "Ġì¡° ê¸Ī", + "Ġ รà¸Ńà¸ĩ", + "Ġร à¸Ńà¸ĩ", + "Ġak adem", + "Ġaka dem", + "à¸Ħ à¸ĵะ", + "Ġpoz it", + "Ġkon eÄį", + "Ġkone Äį", + "è°ĥ æŁ¥", + "Ġ ãģĭ", + "ĠÄįerv ence", + "ĠOd kazy", + "ĠëıĦ ìĭľ", + "ั สà¸Ķ", + "ัส à¸Ķ", + "Ġg ái", + "ĠÐł об", + "Ġб оÑı", + "Ġбо Ñı", + "æī ©", + "å¼Ģ å±ķ", + "a nik", + "an ik", + "ani k", + "Ġvy ž", + "ĠbaÅŁ lay", + "Ġbak Ä±ÅŁ", + "ek ce", + "ÑģÑĤ ика", + "ÑģÑĤи ка", + "еÑĢа ÑĤÑĥÑĢа", + "еÑĢаÑĤÑĥ ÑĢа", + "Ġë¶Ħ ë¥ĺ", + "ĠPo Äįet", + "od áÅĻ", + "ëĭĺ ìĿĺ", + "Ġk lid", + "Ġkl id", + "Ġkli d", + "Û² Û¹", + "ĠÚĨ ÛĮز", + "m ür", + "Ġs ứ", + "ÙĬا ÙĨØ©", + "ÙĬاÙĨ Ø©", + "åĬ ±", + "Ġ oku", + "Ġo ku", + "Ġok u", + "Ġв оди", + "Ġво ди", + "Ġвод и", + "ĠزÛĮر ا", + "ĠزÛĮ را", + "大 åĪ©", + "ĠÙĦ ÛĮÙĨÚ©", + "ĠÙĬ جب", + "ĠÙĬج ب", + "Ùħ ÛĮÙĦ", + "ÙħÛĮ ÙĦ", + "ĠÏĥ ÏĦÏģα", + "æĻ ĵ", + "ิ สà¸ķ", + "ิส à¸ķ", + "ĠÅŁ iddet", + "ĠÑĢекомен да", + "Ġpožad av", + "Ġп ÑĸÑģ", + "åħ¬ å¼ı", + "Ġ Ú¯ÛĮرÛĮ", + "ĠÚ¯ ÛĮرÛĮ", + "ĠÚ¯ÛĮ رÛĮ", + "ĠÚ¯ÛĮر ÛĮ", + "к ÑĤа", + "кÑĤ а", + "ĠÙħÙĨ اطÙĤ", + "Ġfirm y", + "Ġfir my", + "Ġ à¹Ħà¸Ľ", + "Ġà¹Ħ à¸Ľ", + "Ġ ÎŃÏģγ", + "ĠÎŃ Ïģγ", + "å¿« éĢŁ", + "ãģĮ ãģªãģĦ", + "н еÑģÑĤи", + "не ÑģÑĤи", + "неÑģ ÑĤи", + "Ġ ç²¾", + "Ġç² ¾", + "ÑĢ Ð°Ð´Ð¸", + "ÑĢа ди", + "ÑĢад и", + "ãĤĴ ãģĭ", + "ïº ª", + "ky nÄĽ", + "Ġह त", + "t ak", + "ta k", + "ĠÙĬÙĪÙĨ ÙĬÙĪ", + "ö ÄŁ", + "Ġ ÑĢÑĥк", + "ĠÑĢ Ñĥк", + "ĠÑĢÑĥ к", + "åľĭ éļĽ", + "Ñİ ÑģÑĮ", + "Ġдав но", + "Ġp opis", + "Ġpop is", + "Ġpo pis", + "ĠB İL", + "ĠÙĨ ÙĤد", + "ĠÙĨÙĤ د", + "ĠÑģп ож", + "ÑĨион нÑĭÑħ", + "ĠÑĪ Ð¿", + "Ñĥ ÑİÑīиÑħ", + "ÑĥÑİ ÑīиÑħ", + "ÑĥÑİÑī иÑħ", + "ĠвоздÑĥ Ñħ", + "ÑĤ ие", + "ÑĤи е", + "ĠU ž", + "ÏĮ δ", + "à¸ģร าà¸Ħม", + "Ġalan ında", + "Ġalanı nda", + "Ġs ắt", + "ãĥIJ ãĤ¤", + "Ng Ãły", + "Ġ ë¹Į", + "Ġë¹ Į", + "ï¼ī ãģ¯", + "Ġ ä¿¡", + "Ðķ С", + "ĠT ato", + "ĠTa to", + "ĠTat o", + "Ġún ora", + "e rap", + "er ap", + "era p", + "Ä ł", + "ĠT áºŃp", + "Ġкомп ании", + "ãĥ© ãĤ¤ãĥĪ", + "ãĥ©ãĤ¤ ãĥĪ", + "éľĢ æ±Ĥ", + "Ġت ÙĪÙĤ", + "ĠتÙĪ ÙĤ", + "âĢĻ âĢĻ", + "ëŀį ëĭĪëĭ¤", + "ĠквÑĸÑĤ нÑı", + "Ġoyun cu", + "ÂĢÂĢÂĢÂĢ ÂĢÂĢÂĢÂĢ", + "åĨ Ĭ", + "Ġyap mÄ±ÅŁ", + "ัà¸ĩ à¹Ħม", + "Ġзап аÑħ", + "á la", + "ál a", + "ĠÑĤеÑħ ниÑĩеÑģ", + "Ġ ØŃص", + "ĠØŃ ص", + "ร à¸Ķ", + "å¼ Ħ", + "ĠÚ¯ÛĮ اÙĩ", + "اÙĩ رة", + "اÙĩر Ø©", + "Ġà¤ı ड", + "ним аеÑĤ", + "нима еÑĤ", + "ا دÙĨ", + "اد ÙĨ", + "Îľ Îij", + "Ġ 社", + "Ġç¤ ¾", + "аÑĢ Ñĩ", + "ت ز", + "æ¶ ¦", + "in izin", + "ini zin", + "iniz in", + "inizi n", + "Ġbey az", + "Ġ بÙĪÙĦ", + "Ġب ÙĪÙĦ", + "ĠبÙĪ ÙĦ", + "åĿ ¡", + "ãģ® ãĤĪãģĨãģ«", + "Ġyap tıģ", + "Ġyaptı ÄŁ", + "Ġd aģı", + "Ġda ģı", + "ĠdaÄŁ ı", + "ĠbaÅŁ arı", + "ĠbaÅŁar ı", + "Ġ ÏĢά", + "ĠÏĢ Î¬", + "ĠпÑĢод аж", + "B á»Ļ", + "Ġत त", + "Ġpod stat", + "Ġpods tat", + "Ġ æµģ", + "Ġæµ ģ", + "Ġzdrav ÃŃ", + "Ġ ç¡", + "Ġç ¡", + "Ġ opak", + "Ġo pak", + "Ġop ak", + "Ġhá»į a", + "æĭ Ķ", + "Ñĥ жд", + "Ñĥж д", + "Ġtr ứng", + "ÙĪØ± ÙĬØ©", + "ÙĪØ±ÙĬ Ø©", + "Ñĭ л", + "um suz", + "ums uz", + "Ġ سبب", + "Ġسب ب", + "许 å¤ļ", + "å®ŀ éªĮ", + "Ġб оли", + "Ġбол и", + "Ġбо ли", + "Ġd uyá»ĩt", + "áºŃ c", + "ĠÐij ез", + "ĠبÙĦ ÙĨد", + "м м", + "ÑĢ ÐµÐ»", + "ÑĢе л", + "N İ", + "Ġ ãĥ¯", + "Ġãĥ ¯", + "éĭ ¼", + "ĠÑģв Ñı", + "Ġ åIJİ", + "ĠåIJ İ", + "Ġmu ht", + "Ġmuh t", + "ĠпÑĢоблем и", + "ĠÑĤÑıж ел", + "ĠС ем", + "ฤษ à¸łà¸²à¸Ħม", + "à¹Ī าà¸ķ", + "à¹Īา à¸ķ", + "ör ü", + "üy orum", + "üyor um", + "ĠاÙĦØ£ ØŃ", + "ĠÑģÑĤÑĢ Ð°ÑĪ", + "ĠÑģÑĤÑĢа ÑĪ", + "h oo", + "ho o", + "ध र", + "Ġt lak", + "Ġtl ak", + "Ġsrp na", + "ifik ace", + "Ġ reh", + "Ġre h", + "Ġr eh", + "Ġм инÑĥ", + "Ġмин Ñĥ", + "Ġми нÑĥ", + "ãĢĢ j", + "ĠгÑĢÑĥ пи", + "ĠгÑĢÑĥп и", + "Ġ άλ", + "Ġά λ", + "Ġolur sa", + "λογ ία", + "ĠÐĴ ик", + "ĠÐĴи к", + "Ġmüc adel", + "Ġz ávÄĽ", + "Ġzá vÄĽ", + "Ġzáv ÄĽ", + "ĠÑĦев ÑĢа", + "Äį ná", + "à¹Į à¹Ģà¸ĭ", + "ĠÙĦ ÙĦØŃ", + "ĠÙĦÙĦ ØŃ", + "ÑĢ Ð¸Ð¿", + "ÑĢи п", + "Ġб Ñĥк", + "ĠбÑĥ к", + "ãģĪ ãģªãģĦ", + "Ġpo rad", + "Ġpor ad", + "Ġsa mostat", + "Ġsam ostat", + "Ġsamo stat", + "Ġt esis", + "Ġte sis", + "Ġtes is", + "اب ÙĤÙĩ", + "ابÙĤ Ùĩ", + "Ġجد ÙĬدة", + "ĠجدÙĬد Ø©", + "éĢ Ĵ", + "âĶģ âĶ", + "س ÛĮÙĨ", + "سÛĮ ÙĨ", + "Ġgerek tiÄŁini", + "ียà¸Ļ à¸ļ", + "è¨Ģ ãģ£ãģ¦", + "ĠÑĸн ÑĤеÑĢеÑģ", + "ĠÑĸнÑĤеÑĢ ÐµÑģ", + "ĠÑı ким", + "ĠÑıк им", + "Ġ æĢ»", + "ĠæĢ »", + "k ovou", + "ko vou", + "kov ou", + "Ġd emek", + "Ġde mek", + "Ġdem ek", + "اÙĨ ÙĬا", + "اÙĨÙĬ ا", + "Ġdom ů", + "Å¡ nÃŃ", + "ate ÅĻ", + "åĢ «", + "δο Ïĥη", + "Ġ 기ìĹħ", + "Ġ기 ìĹħ", + "åĶ ĩ", + "ì¹ ł", + "Ñĸ дÑĥ", + "Ñĸд Ñĥ", + "린 ìĿ´", + "æľĢ åĪĿ", + "è ¸ı", + "è¸ ı", + "æĥ³ åΰ", + "à¥į बर", + "à¥įब र", + "Ġ ìŀĶ", + "Ġìŀ Ķ", + "ĠÑĢаз нÑĭÑħ", + "k rom", + "kr om", + "ι αν", + "ια ν", + "Ġд ÑĢÑĥз", + "ĠдÑĢÑĥ з", + "ĠдÑĢ Ñĥз", + "ä »¿", + "ä» ¿", + "Ġê·¸ ëłĩ", + "Ġд алÑĸ", + "Ġда лÑĸ", + "Ġдал Ñĸ", + "æķĪ æŀľ", + "Ġह व", + "è¼ Ŀ", + "Ġì°¸ ê³ł", + "Ġ ìĨĶ", + "ĠìĨ Ķ", + "Ġz nal", + "Ġzn al", + "ĠпеÑĢ Ñģ", + "ÙIJ Ùij", + "ĠÑĤ еж", + "ĠÑĤе ж", + "åĭ Ł", + "ι θ", + "Äį ů", + "Ġe kip", + "Ġek ip", + "Ġk hung", + "Ġkh ung", + "Ġkhu ng", + "éĹ ĺ", + "ĠتصÙħ ÛĮÙħ", + "о иÑĤ", + "ĠÑħ ол", + "æĬ ŀ", + "a mam", + "am am", + "ama m", + "Ġâĸ ³", + "ãģ ĩ", + "Ġع ÙĨÙĩ", + "ĠعÙĨ Ùĩ", + "Ġì°¸ ê°Ģ", + "ĠÎļ ÏĮ", + "åı¤ å±ĭ", + "к овоÑĹ", + "ков оÑĹ", + "ково ÑĹ", + "ศ à¸Ī", + "олог иÑı", + "ĠÙħØ« بت", + "ĠÐļÑĢа ÑĹна", + "ĠмеÑģÑı ÑĨев", + "Ġalın an", + "ĠÏĢÏģα γμα", + "Ġ ìŀ¡ëĭ´", + "Ġìŀ¡ ëĭ´", + "Ġп лод", + "Ġпл од", + "Ġпло д", + "ĠÑĤка ни", + "ÑģÑĭ лки", + "ÑģÑĭл ки", + "سط س", + "ra nÄĽ", + "ran ÄĽ", + "к аж", + "ка ж", + "е маÑĤи", + "ем аÑĤи", + "ема ÑĤи", + "Ġز ÛĮست", + "ĠزÛĮ ست", + "æ¿ Ł", + "Ġpop lat", + "Ġpo plat", + "γ ÎŃν", + "íĨł íĨł", + "Ġt ây", + "Ġìµľ ê·¼", + "ãĥ© ãĥ³ãĤ¹", + "ãĥ©ãĥ³ ãĤ¹", + "Ġgün eÅŁ", + "Ġ ÙģÙĤ", + "ĠÙģ ÙĤ", + "ĠsaÄŁ layan", + "ĠsaÄŁlay an", + "ĠØŃ زب", + "à¥ģल न", + "ĠB ilim", + "ĠBi lim", + "ĠBil im", + "ĠB atı", + "ĠBa tı", + "ĠBat ı", + "æł· çļĦ", + "δ ικ", + "δι κ", + "α ÏģίοÏħ", + "αÏģ ίοÏħ", + "Ġ ìĽĢ", + "ĠìĽ Ģ", + "Ġl á»Ńa", + "ÙĨ ÙĪØ¹", + "çİ ²", + "а ном", + "ан ом", + "ано м", + "Ġst átnÃŃ", + "Ġstát nÃŃ", + "Ġ äºİ", + "Ġm ùi", + "ĠÄij á»Ļt", + "ĠÄijá»Ļ t", + "æ² ĥ", + "åħ¬ åľĴ", + "ĠÑģ ÑĮогоднÑĸ", + "но Ñģи", + "ноÑģ и", + "Z a", + "Ġд ли", + "ĠÏĥÏħν ÎŃ", + "ĠV á»ĭ", + "m av", + "ma v", + "ĠM üslüman", + "/ ï¼ı", + "ĠзаÑī иÑĤ", + "é ĸī", + "éĸ ī", + "Ġ çģ«", + "Ġçģ «", + "Ġ å·Ŀ", + "Ġå· Ŀ", + "Ġ аж", + "Ġа ж", + "è¿ĩ æĿ¥", + "à¸Ĺ าà¸Ļ", + "ĠAr aÅŁtır", + "ĠAra ÅŁtır", + "Õ¡ Õ", + "Ġpo mÄĽr", + "Ġpom ÄĽr", + "Ġd ům", + "Ġdů m", + "å¦ ®", + "Ġhlav nÄĽ", + "Ġfin ans", + "Ġfinan s", + "Ġ γνÏī", + "Ġγ νÏī", + "ÏĥÏĦη μα", + "ï¼Į ç͍", + "ìĭŃ ìĭľìĺ¤", + "ĠÙħ ثاÙĦ", + "ĠÙħØ« اÙĦ", + "- Ðij", + "ÑĨÑĸй нÑĸ", + "Ġد ستÙĩ", + "Ġدست Ùĩ", + "Ġدس تÙĩ", + "à¥ī स", + "ÑĢ Ñĸп", + "ÑĢÑĸ п", + "ĠpÅĻi pom", + "ĠpÅĻip om", + "Ġ ÙĪÙĦÙĬ", + "ĠÙĪ ÙĦÙĬ", + "ĠÙĪÙĦ ÙĬ", + "ĠÙĪ Ø²ÙĨ", + "ĠÙĪØ² ÙĨ", + "Ġelekt rik", + "Ġelektr ik", + "ĠQu ân", + "i vé", + "iv é", + "Ġl ẽ", + "ç®Ģ åįķ", + "Ġon lara", + "Ġonlar a", + "оÑģ лав", + "ìĭľ íĤ¤", + "ëª ¬", + "ĠÙħÙĤ دار", + "ĠÙħÙĤد ار", + "ĠOr ta", + "ĠOrt a", + "ĠS eç", + "ĠSe ç", + "ĠÙĨÙĪÙģ Ùħبر", + "ุà¸Ļ ายà¸Ļ", + "ĠÑĥм ови", + "ĠÑĥмов и", + "Ġपर म", + "Ġ strom", + "Ġst rom", + "Ġstr om", + "Ġstro m", + "ĠкÑĢа Ñīе", + "ç§ ¦", + "缸 æīĭ", + "鼻 è¦ĸ", + "Ġuygu lama", + "Ġuygulam a", + "Ġ ÑĢиз", + "ĠÑĢ Ð¸Ð·", + "æĪ ²", + "य र", + "ĠH lav", + "Ġ ìĭ¸", + "Ġìĭ ¸", + "Ġли пнÑı", + "ÅĪ ujÃŃ", + "ÑĢ Ð¸Ð·", + "ÑĢи з", + "é«ĺ éĢŁ", + "缸 å½ĵ", + "k enin", + "ke nin", + "ken in", + "Ġо ÑģÑĤанов", + "ĠоÑģÑĤ анов", + "ĠоÑģÑĤан ов", + "Ġbit k", + "Ġbi tk", + "ova ného", + "ovan ého", + "ované ho", + "ĠÐľ аÑĢи", + "ĠÐľÐ°ÑĢ Ð¸", + "ĠÐľÐ° ÑĢи", + "èµ ¶", + "ì½ ©", + "Ġölç ü", + "ĠС еÑĢед", + "ĠСеÑĢ ÐµÐ´", + "ĠTh á»Ŀi", + "Ïī να", + "Ïīν α", + "ÙĪ Ø¨Ø©", + "ÙĪØ¨ Ø©", + "Ġch ụp", + "âĢĮ د", + "Ġch áy", + "ĠÐĴ ели", + "Ġоб ÑģÑĤ", + "ĠобÑģ ÑĤ", + "Ġìĭľ ì¦Į", + "د ÙħØ©", + "دÙħ Ø©", + "п од", + "по д", + "l ue", + "lu e", + "ĠдÑĸ лÑıн", + "ĠÙ¾ ÙĪØ³Øª", + "ĠاÙĦ ÙĨس", + "ĠاÙĦÙĨ س", + "èĤ Į", + "ìĪĺ 를", + "Ġú rov", + "ĠÙħØ´ Ú©ÙĦ", + "ĠÙħØ´Ú© ÙĦ", + "éĩįè¤ĩ éĩįè¤ĩ", + "н ез", + "не з", + "Ġdop oruÄį", + "Ġtas arım", + "Ġtasar ım", + "íģ¬ ê¸°", + "ìĿ´ ìħĺ", + "Ġde set", + "Ġdes et", + "Ġdese t", + "ĠÙħرتب Ø·", + "ัà¸Ĵ à¸Ļา", + "ัà¸Ĵà¸Ļ า", + "' ı", + "Ñĩ ки", + "ĠìŀĪ ëįĺ", + "ÑĪ ÐºÐ°", + "n ám", + "ná m", + "ÑģÑĤ ÑĢов", + "ÑģÑĤÑĢ Ð¾Ð²", + "ÑģÑĤÑĢо в", + "à¥į सर", + "à¥įस र", + "нÑĥ лаÑģÑĮ", + "нÑĥла ÑģÑĮ", + "ãģ¡ãĤĩ ãģ£ãģ¨", + "Ġ å¦", + "Ġå ¦", + "γ ÏĮ", + "Ġ é»ij", + "Ġé» ij", + "X em", + "Ġt á»ĩ", + "Ġtá» ĩ", + "ĠëĮĢ íĨµëł¹", + "기 ê´Ģ", + "æīį èĥ½", + "è¯Ń è¨Ģ", + "ed eyse", + "ĠТ Ñĭ", + "ĠÑģо един", + "ĠìĹĨ ìĬµëĭĪëĭ¤", + "Ñı ÑİÑĤ", + "à¹ģ หล", + "à¹ģห ล", + "Ġì§Ģ ë°©", + "Ġosob nÃŃ", + "ÛĮ ÙĦÛĮ", + "ÛĮÙĦ ÛĮ", + "Ġавг ÑĥÑģÑĤа", + "Ñī ик", + "Ñīи к", + "Ġvý Å¡e", + "g th", + "gt h", + "ĠÏĢ Î±Î½", + "ĠÏĢα ν", + "ج ار", + "جا ر", + "Ġвид ов", + "Ġви дов", + "ìĿ´ ìĬĪ", + "ĠÐij аÑĢ", + "ĠÏĮ ÏĢοÏħ", + "æ¤ ħ", + "Ġع اÙĦÛĮ", + "ĠQ uyết", + "ĠQuy ết", + "Ãľ M", + "ãĥĿ ãĤ¤ãĥ³ãĥĪ", + "Ġ ê¹Į", + "Ġê¹ Į", + "Ġкан ди", + "k ového", + "kov ého", + "kové ho", + "ĠMerk ez", + "Ġy iy", + "Ġyi y", + "ĠpÅĻÃŃ spÄĽ", + "ĠÑĤемпеÑĢаÑĤÑĥ ÑĢÑĭ", + "ĠÙ¾ ÙĬ", + "ฤ ศà¸Ī", + "è°ĥ ç͍", + "ĠÑģÑĤоÑĢ Ð¾Ð½Ñĥ", + "ĠÑģÑĤоÑĢон Ñĥ", + "à¹ī à¸Ĭ", + "好 ãģį", + ". Åŀ", + "Ġп ÑĢоз", + "ĠпÑĢ Ð¾Ð·", + "ĠпÑĢо з", + "ÙĨت اج", + "鼻 åŃIJ", + ".: .:.", + ".:.: .", + ".:. :.", + "è¨ ĵ", + "и ÑĩеÑģкое", + "иÑĩеÑģ кое", + "Ġн оги", + "Ġно ги", + "Ġног и", + "Ġ λÎŃ", + "Ġλ ÎŃ", + "Ġsık ıntı", + "Ġê°Ģ 족", + "ĠتÙĨ ظÙĬÙģ", + "ĠتÙĨظ ÙĬÙģ", + "Ġö dül", + "ĠaÅŁaģı daki", + "Ġž elez", + "Ġže lez", + "ĠاÙĦع دÙĬد", + "غ ÙĨ", + "Ġокон Ñĩ", + "ÑĢем Ñı", + "ÑĢе мÑı", + "L İ", + "Ġne jd", + "Ġnej d", + "Ġ ÏĢλα", + "ĠÏĢ Î»Î±", + "Ñģ ко", + "Ñģк о", + "Ġ ìĪĻ", + "ĠìĪ Ļ", + "ĠÙ¾ ÙĪÙĦ", + "θεν ήÏĤ", + "Ġ주 ìļĶ", + "Ġ æĬ¥", + "ĠæĬ ¥", + "ĠÙħ Ùħا", + "ĠÙħÙħ ا", + "Ðł Ð¡Ðł", + "ĠÑĢа дÑĸ", + "ĠÑĢад Ñĸ", + "ä¸Ģ ç§į", + "é¾ Ħ", + "Ġsö yl", + "Ġsöy l", + "Ïģκε ια", + "Ïģκ εια", + "Ġзем лÑĸ", + "Ġve Äįer", + "g eç", + "ge ç", + "س تÙħ", + "ست Ùħ", + "Ġse fer", + "ĠÑģ вÑĸд", + "ĠÑģв Ñĸд", + "ï»Ł ï»", + "а лов", + "ал ов", + "ало в", + "ìĬ¤ 를", + "âī ¥", + "ĠتÙĦ ÙģÙĨ", + "ĠتÙĦÙģ ÙĨ", + "åİ» äºĨ", + "़ à¥ĭà¤Ĥ", + "़à¥ĭ à¤Ĥ", + "ĠÑĦоÑĢм е", + "ĠÑĦоÑĢ Ð¼Ðµ", + "d üm", + "dü m", + "åħ ģ", + "ÑĢ Ð°Ð¿", + "ÑĢаР¿", + "ÑĢа п", + "ĠV ương", + "à¸Ńะ à¹Ħร", + "ัà¸ģษ à¸ĵ", + "Ġ åį³", + "Ġåį ³", + "ĠاÙĦ رÙħ", + "ĠاÙĦر Ùħ", + "ĠзаÑħиÑģÑĤ Ñĥ", + "° E", + "o dÃŃ", + "od ÃŃ", + "Ġव न", + "ĠÄij èn", + "Ġ åıĹ", + "Ġåı Ĺ", + "èIJ½ ãģ¡", + "Ġ zim", + "Ġz im", + "Ġzi m", + "리 ì¦Ī", + "èĪ Ĵ", + "Ġзб ÑĸÑĢ", + "Ġ ä»·æł¼", + "ĠлÑİ Ð´Ð¸Ð½Ð°", + "ĠлÑİд ина", + "ĠлÑİди на", + "ĠÐŁÐ¾Ñģ иланнÑı", + "и Ñī", + "ĠÎ ¨", + "ิà¸ģ ายà¸Ļ", + "ิà¸ģา ยà¸Ļ", + "Ġbu dete", + "Ġbud ete", + "Ġbude te", + "Ġз ÑĢоÑģÑĤ", + "Ġ vyk", + "Ġv yk", + "Ġvy k", + "ĠÐĹ ÐµÐ¼", + "ĠиÑİ Ð½Ñı", + "ĠmÄĽ lo", + "ĠmÄĽl o", + "ÙĦ اÙģ", + "ÙĦا Ùģ", + "Ġ ÙĪØ´", + "ĠÙĪ Ø´", + "ĠÑģп ÑĢави", + "ĠÑģпÑĢав и", + "ãģĻ ãģİ", + "ĠгÑĢа дÑĥ", + "ĠгÑĢ Ð°Ð´Ñĥ", + "R oz", + "Ro z", + "ι νή", + "ιν ή", + "Ġch á»ĵng", + "ä¸Ģ åį·", + "Ġ Xem", + "ĠX em", + "ĠÑģимв ол", + "ĠÑģим вол", + "Ġod mÃŃt", + "ĠÑĢÑıд ом", + "ĠÑĢÑı дом", + "ĠÑĩеÑĢв нÑı", + "à¸ģระ à¸Ĺ", + "人 人", + "æ°Ĺ æĮģãģ¡", + "un daki", + "und aki", + "unda ki", + "åľĭ å®¶", + "εÏģ μαν", + "Ġ лÑĮ", + "Ġл ÑĮ", + "ĠN üfus", + "Ġм еÑĢе", + "ĠмеÑĢ Ðµ", + "بر اÙĬر", + "н аннÑı", + "Ġ наÑĢ", + "Ġн аÑĢ", + "Ġна ÑĢ", + "Ġt ấm", + "æĸ½ å·¥", + "é¡ ¯", + "Ġh è", + "æĺİ çϽ", + "Ġдо гов", + "Ġдог ов", + "ĠÙģ Ø±Ùħ", + "ĠÙ쨱 Ùħ", + "èĢ Ĺ", + "ìĬ¤ ìĿĺ", + "ìĦ¸ ëĮĢ", + "è¯ ļ", + "Ġнеб олÑĮ", + "Ġ à¸Ľà¸£à¸°à¸ģ", + "Ġà¸Ľà¸£à¸° à¸ģ", + "Ġì¹ ¼", + "Ġov liv", + "Ġ NGC", + "ĠN GC", + "ĠNG C", + "ãĢĤ ä¸į", + "ا ÙĦÙī", + "اÙĦ Ùī", + "æī £", + ". ÐIJ", + "ÑĢа ÑģÑĤа", + "ÑĢаÑģ ÑĤа", + "ÑĢаÑģÑĤ а", + "ĠÃĩ ev", + "ãģ£ ãģ¡", + "ãģ£ãģ ¡", + "ï¼Į éĥ½", + "Ġrov nÄĽÅ¾", + "ĠÏĩÏģÏĮ νια", + "Ġì¡° ìĦł", + "ĠØ¢ باد", + "Ġآب اد", + "ĠÐľ аÑģ", + "ĠÐľÐ° Ñģ", + "çϼ å±ķ", + "ä» Ķ", + "Ġkend isini", + "Ġkendisi ni", + "à¹Īà¸Ńà¸ĩ à¹Ģà¸Ĺ", + "ĠV ÄĽ", + "Ġr ượu", + "Ġm áme", + "Ġmá me", + "Ġmám e", + "ĠоÑĩеÑĢед ÑĮ", + "Ġسب تÙħبر", + "Ġб ок", + "Ġбо к", + "ì§Ģ ìĹŃ", + "Ġتا Ø«ÛĮر", + "Ġتاث ÛĮر", + "Ġl isans", + "Ġli sans", + "Ġlis ans", + "Ġger ektir", + "Ġgerek tir", + "Ġs izi", + "Ġsi zi", + "Ġsiz i", + "Ñĸ но", + "Ñĸн о", + "ĠM Ã¼ÅŁ", + "ĠMü ÅŁ", + "ãģı ãĤīãģĦ", + "ãģıãĤī ãģĦ", + "Ġза клÑİÑĩ", + "Ġзак лÑİÑĩ", + "ãģĵãģ¨ ãģ«", + "è¨Ģ ãģĦ", + "ãĢģ å°ı", + "Ġet mektedir", + "Ġetm ektedir", + "åł± åijĬ", + "Ġkar Ä±ÅŁ", + "Ġоб лад", + "Ġобла д", + "Ġобл ад", + "å¥ ij", + "ra cat", + "rac at", + "ĠارتÙģ Ø§Ø¹", + "μ αι", + "μα ι", + "íĶ Ī", + "ĠÙĪ ÙĦÙħ", + "ĠÙĪÙĦ Ùħ", + "ëĬĶ ì§Ģ", + "lom ou", + "Ġли ÑĨа", + "ĠлиÑĨ а", + "ĠìĿĮ ìķħ", + "Ġhod nÄĽ", + "èĭ± æĸĩ", + " Ħ", + "à¹ī าà¸Ĥà¸Ńà¸ĩ", + "à¹īา à¸Ĥà¸Ńà¸ĩ", + "Ġê³Ħ ìķ½", + "åIJĦ ç§į", + "ĠÙħر Ú¯", + "éĶ ģ", + "Ġन द", + "ãĥĭ ãĥ¡", + "Ġ ем", + "Ġе м", + "Ġe leÅŁtir", + "Ġel eÅŁtir", + "Ġele ÅŁtir", + "Ġ íĬ¹ë³Ħ", + "ĠíĬ¹ ë³Ħ", + "ĠÎ¥ ÏĢο", + "Å¡ ker", + "Å¡k er", + "L ERİ", + "LER İ", + "æ² Ī", + "l ikleri", + "lik leri", + "likle ri", + "likler i", + "ĠÙħÙĩÙĨد سÛĮ", + "ĠbaÄŁ ır", + "dı ģını", + "dıģ ını", + "ĠاÙĦ تد", + "ĠاÙĦت د", + "à¸¸à¸Ľ à¸ģรà¸ĵ", + "ĠÑģлед ÑĥÑİÑīие", + "ĠÑģледÑĥÑİÑī ие", + "Ġì§ģ ìłij", + "å° ¤", + "ĠоÑģнов Ñĸ", + "Ġt ÄĽla", + "ĠtÄĽ la", + "ĠtÄĽl a", + "Ġп ак", + "Ġпа к", + "iz ace", + "iza ce", + "Ġná rod", + "Ġnáro d", + "a ný", + "an ý", + "ĠÑį п", + "Ġüç üncü", + "Î¥ Ρ", + "éĨ´ éĨ´", + "à¹Ģà¸ģ à¸Ńร", + "âĢĮاÙĨ بار", + "ç¶ Ļ", + "Îij Îł", + "ı lıģı", + "ılı ģı", + "ıl ıģı", + "ılıģ ı", + "ĠÃľ rün", + "Ġдоз вол", + "Ġ íĥĪ", + "Ġíĥ Ī", + "Ġà¤ĵ वर", + "è« ¸", + "èĺ ĩ", + "ĠпÑĢоÑģÑĤ ÑĢан", + "éĿĴ å¹´", + "ãģ® æĸ¹", + "ĠÚĨ Ú¯ÙĪÙĨÙĩ", + "ÙĦ Ø·", + "âĢľ æĪij", + "Ġëĭ¤ìļ´ ë°Ľ", + "ा .Ċ", + "ा. Ċ", + "Ġmüc adele", + "Ġmücadel e", + "Ġc ÃŃt", + "ĠcÃŃ t", + "à¹Īวม à¸ģ", + "ÄŁ ına", + "ģı na", + "ģın a", + "ê°ľ ë°ľ", + "ĠÏĢ Î±Î¹Î´", + "ĠÏĢα ιδ", + "ĠÏĢαι δ", + "ض اÛĮ", + "ضا ÛĮ", + "Ġbor ç", + "íĬ ľ", + "ĠخدÙħ ت", + "Ġخد Ùħت", + "Ġu dál", + "Ġud ál", + "Ġ виг", + "Ġв иг", + "Ġви г", + "Ġ ë°°ìĨ¡", + "Ġë°° ìĨ¡", + "å¹ ¾", + "Ùİ Ø¬", + "Ġ ìĹĺ", + "ĠìĹ ĺ", + "çĢ ¬", + "ï Ģ", + "ĠÎij θή", + "пÑĢи клад", + "ĠпÑĢи Ñĩина", + "ĠпÑĢиÑĩин а", + "ĠпÑĢиÑĩ ина", + "ĠÙģ Ø´Ø§Ø±", + "æ »¿", + "æ» ¿", + "Ġd ostat", + "Ġdo stat", + "Ġdos tat", + "Ġdost at", + "Ġ졸 ìĹħ", + "Ġا رز", + "Ġار ز", + "ÙĪÙĦ ÙĪØ¬", + "ÙĪÙĦÙĪ Ø¬", + "س ÙĪ", + "æĺł çĶ»", + "Ġth ôi", + "Ġ ³³³", + "ĠÂł ³³", + "Ġ³³ Âł", + "à¹ģ à¸Ļะ", + "à¹ģà¸Ļ ะ", + "è¨Ń åĤĻ", + "Ġмног ие", + "ÑĤ оÑĦ", + "ÑĤо ÑĦ", + "i Å¡tÄĽ", + "iÅ¡ tÄĽ", + "à¤Ĺ ढ", + "Ġин дивидÑĥ", + "Ġ ìĥĿíĻľ", + "ĠìĥĿ íĻľ", + "Ġзов ÑģÑĸм", + "íĥ ķ", + "çľ ł", + "ĠêµŃ ëĤ´", + "e ptal", + "ep tal", + "ept al", + "r aci", + "ra ci", + "rac i", + "è¡ ¡", + "ãĦ ·", + "ĠSt ÅĻed", + "اÙĦ ÙĬا", + "اÙĦÙĬ ا", + "Σ Τ", + "Ľ °", + "ãĥī ãĥ«", + "á zÃŃ", + "áz ÃŃ", + "Ġа Ñģп", + "ĠаÑģ п", + "ĠdÄ±ÅŁ arı", + "ĠвиÑĢоб ниÑĨÑĤва", + "e za", + "ez a", + "ï¼Į ä¸įè¿ĩ", + "ï¼Įä¸į è¿ĩ", + "çĥ ¦", + "ãĥ³ ãĤ°ãĥ«", + "ãĥ³ãĤ° ãĥ«", + "Ġroz voj", + "ĠÙħÙĨت شر", + "ĠÑĥÑĤ еп", + "Ġد ÙĬÙĨ", + "ĠدÙĬ ÙĨ", + "ĠзаÑģоб Ñĸв", + "Ng ưá»Ŀi", + "ãĤ· ãĥ¼", + "ĠFran sız", + "ÎĻ Î¤", + "ائ Ùģ", + "ι Ïĩ", + "ี à¹Ģม", + "à¥į मन", + "à¥įम न", + "à¥įम à¤ļ", + "Ġس عر", + "Ġسع ر", + "ï¾ Ŀ", + "ë°© ë²ķ", + "ĠС о", + "Ġà¤ĸ बर", + "ìĨĮ ê°ľ", + "Ġsl ova", + "Ġslo va", + "Ġslov a", + "Q PCP", + "QP CP", + "ĠK ız", + "ĠKı z", + "Ø· Ù쨧ÙĦ", + "Ø·Ùģ Ø§ÙĦ", + "Ġк оÑĢм", + "ĠкоÑĢ Ð¼", + "ĠìĹħ ëį°ìĿ´íĬ¸", + "es poÅĪ", + "esp oÅĪ", + "à¸Ķ าว", + "à¸Ķา ว", + "о ÑĢом", + "оÑĢ Ð¾Ð¼", + "оÑĢо м", + "ĠгÑĢа ÑĦ", + "ĠгÑĢ Ð°ÑĦ", + "Ġп ÑĸÑĪ", + "Ġ ë¿IJ", + "Ġë ¿IJ", + "ý v", + "С ам", + "Ġk rev", + "Ġkr ev", + "Ġkre v", + "ĠB unu", + "ĠBu nu", + "ĠBun u", + "Ġz obraz", + "Ġسخ ÙĨ", + "Ġ æĶ¯", + "ĠæĶ ¯", + "лÑİ Ð±", + "Ùİ Ø§ÙĨ", + "ÙİØ§ ÙĨ", + "маÑĤ ÑĢива", + "λ εÏį", + "λε Ïį", + "Ġпо Ñħод", + "ĠпоÑħ од", + "Ġг ÑĢе", + "ĠгÑĢ Ðµ", + "çľĭ çĿĢ", + "à¸Īำ à¸ģ", + "ัà¸ĩà¸Ħ ม", + "Ġseç enek", + "İ stanbul", + "ĠвÑĸд мов", + "m iyor", + "mi yor", + "Ġm ụn", + "ìĿ´ ìĹIJ", + "ĠNh ư", + "Âł tom", + "Âłt om", + "lık ları", + "lıkla rı", + "lıklar ı", + "Âł Äij", + "ãĥ» ãĥŀ", + "Ġ ÙģØª", + "ĠÙģ Øª", + "ĠFakült esi", + "ìłĦ íŀĪ", + "éª ij", + "Ġìŀij ìĿĢ", + "ç¼ ĺ", + "ìº IJ", + "Ġmü zik", + "Ġmüz ik", + "а лÑĭ", + "ал Ñĭ", + "Ġp ozem", + "Ġpo zem", + "Ġpoz em", + "çĥ §", + "Ġ 常", + "Ġå¸ ¸", + "Å¡ il", + "Å¡i l", + "à¤Ĩ प", + "à¸ģำ หà¸Ļà¸Ķ", + "Ġگرد Ø´", + "λ ιά", + "λι ά", + "Ġö den", + "åıª è¦ģ", + "ĠÄIJ o", + "Ġstrat ej", + "Ġstra tej", + "Ġstrate j", + "ĠÙĩ تÙĦ", + "ÙĤ Ùģ", + "Ġkullan ılır", + "Ġkullanıl ır", + "ĠÑģп оÑģÑĤ", + "ĠÑģпоÑģ ÑĤ", + "ĠnÄĽ ho", + "ĠÐŁ еÑĢед", + "ĠÐŁÐµÑĢ ÐµÐ´", + "Ġиз меÑĢ", + "] ]>", + "]] >", + "ĠнÑĸк оли", + "Ġha yal", + "Ġhay al", + "Ġhaya l", + "Ġдод аÑĤков", + "Ġन à¤ķ", + "Ġins anın", + "Ġinsan ın", + "ุม à¸łà¸²à¸ŀ", + "ograf ie", + "в об", + "во б", + "ĠاÙĨ ساÙĨÛĮ", + "ĠاÙĨساÙĨ ÛĮ", + "Ġm ük", + "Ġmü k", + "ĠÑĥ меÑĢ", + "ĠÑĥм еÑĢ", + "оÑĩ нÑĭе", + "ëıĦ ìĿĺ", + "Ġ ara", + "Ġa ra", + "Ġar a", + "Ġë¹ ¨", + "Ġκ Ïį", + "л ой", + "ло й", + "Ñģи он", + "Ġroz dÃŃl", + "ay ıf", + "ayı f", + "ĠÙĪØ§ØŃ دة", + "ĠÙĪØ§ØŃد Ø©", + "ĠÙĪØ§ ØŃدة", + "о ÑĢалÑĮ", + "оÑĢ Ð°Ð»ÑĮ", + "оÑĢа лÑĮ", + "Ġpo chop", + "Ġpoc hop", + "éļ ¨", + "à¹īà¸Ń à¸ĩà¸Ļ", + "à¹īà¸Ńà¸ĩ à¸Ļ", + "Ġ ÙĪØ§ÙĨ", + "ĠÙĪ Ø§ÙĨ", + "ĠÙĪØ§ ÙĨ", + "Îľ ε", + "Ġ μον", + "Ġμ ον", + "Ġμο ν", + "Ñĥ ÑĪка", + "ÑĥÑĪ ÐºÐ°", + "or dum", + "ord um", + "æ¸ħ æ¥ļ", + "ĠDe ÄŁ", + "ÏĢ Ïģο", + "ĠÙĪØ§ÙĦ تÙĬ", + "ĠÙĪØ§ÙĦت ÙĬ", + "Ġp okus", + "Ġpo kus", + "Ġpok us", + "íĽĦ 기", + "é¥ ®", + "æĹħ è¡Į", + "Ġжен Ñīин", + "ĠdoÄŁru dan", + "Ġ Ñıб", + "ĠÑı б", + "Ġza ÄįÃŃ", + "ĠzaÄį ÃŃ", + "Ġë³´ ìŬ", + "- CP", + "-C P", + "åIJ ¨", + "à¥ĭ à¤ĸ", + "ÑĢ Ð¾Ð³ÑĢа", + "ÑĢо гÑĢа", + "ÑĢог ÑĢа", + "ler di", + "ìĬ ´", + "Ùı ÙĪØ§", + "ÙıÙĪ Ø§", + "Ġustanov enÃŃ", + "Ġд оÑģÑĤав", + "Ġдо ÑģÑĤав", + "ĠдоÑģÑĤ ав", + "Ġfır sat", + "ĠاÙĦÙħÙĩ ÙĨØ©", + "ĠвеÑī еÑģÑĤва", + "ĠвеÑīеÑģÑĤв а", + "Ġн еÑģп", + "Ġне Ñģп", + "ĠнеÑģ п", + "ĠاÙĦکتر ÙĪÙĨ", + "t aÅŁ", + "ta ÅŁ", + "æĪ Ĵ", + "Ġy urt", + "Ġyu rt", + "Ġgir di", + "ĠÐļ Ñĥб", + "Ġ 를", + "Ġë¥ ¼", + "ุ à¹Į", + "ãģĿãģĨ ãģª", + "à¹ī Ċ", + "ĠвÑĭ бÑĢа", + "ĠвÑĭб ÑĢа", + "k ovÄĽ", + "ko vÄĽ", + "kov ÄĽ", + "ĠS iz", + "ĠSi z", + "Ġ گاÙĩ", + "ĠÚ¯ اÙĩ", + "ĠЧ аÑģ", + "Ġзг Ñĸдно", + ". ÐŁ", + "å§ Ĭ", + "ĠÐļ ÑĥÑĢ", + "ĠìĿĺ íķ´", + "Ġet raf", + "Ġк аÑĪ", + "Ġка ÑĪ", + "ĠØ· ÛĮ", + "ξ ει", + "ξε ι", + "ç² Ĵ", + "ĠØ¢ ذ", + "Ġböl ge", + "Ġbölg e", + "Ġम à¤ľà¤¬", + "Ġà¤®à¤ľ ब", + "ÙIJ Ùĥ", + "Ġvál ky", + "ãģł ãĤĪ", + "Ġmes aj", + "Ġmesa j", + "ĠpÅĻ ist", + "ĠpÅĻi st", + "Ġtyp u", + "Ġty pu", + "ĠкиÑĪ ÐµÑĩ", + "ãĤī ãģ®", + "Ġkend isi", + "Ġkendi si", + "ĠвÑĸдб Ñĥва", + "ĠвÑĸдбÑĥ ва", + "ä¾ ¯", + "Ġди за", + "ãĢĢ Ċ", + "ĠпÑĢоÑĨеÑģ Ñĥ", + "ĠÑįлек ÑĤÑĢ", + "_P US", + "Ġмног иÑħ", + "Ġk ém", + "Ġké m", + "æŀ ª", + "çݰ 代", + "Ġ éħį", + "Ġé ħį", + "Ġéħ į", + "ë¡ Ń", + "ÑĤи ÑģÑı", + "Ġl ục", + "ĠÙĪ Ø§ÙĦØŃ", + "ĠÙĪØ§ÙĦ ØŃ", + "ĠÙĪØ§ ÙĦØŃ", + "p tal", + "pt al", + "pta l", + "ẵ ng", + "ẵn g", + "ÏĢ Î»", + "Ġd olu", + "Ġdo lu", + "Ġdol u", + "Ġt òa", + "Ġин огда", + "ĠпоÑĢÑıд ок", + "Як Ñīо", + "âĶ ĺ", + "Ġغ ربÛĮ", + "Ġغرب ÛĮ", + "Ġغر بÛĮ", + "ç§» åĬ¨", + "ยà¸Ļ à¸ķร", + "ยà¸Ļà¸ķ ร", + "H DATA", + "HD ATA", + "_PUSH DATA", + "_PUS HDATA", + "ĠØ« ابت", + "åĮħ åIJ«", + "ĠÏĢ ÏģÎŃÏĢει", + "़ à¥ĭ", + "åIJį åīį", + "ÑĤ еÑĢи", + "ÑĤе ÑĢи", + "ÑĤеÑĢ Ð¸", + "ï½ ¯", + "Ġ åħĪ", + "Ġåħ Ī", + "н ед", + "не д", + "Ïģ οÏįν", + "Ïģο Ïįν", + "ÏģοÏį ν", + "в ей", + "ве й", + "èĤ ĸ", + "ĠÅĻed itel", + "Ġth ép", + "Ġthé p", + "ĠÙĩ ÙģØªÙĩ", + "ĠÙĩÙģØª Ùĩ", + "ĠдÑĢÑĥг а", + "ĠдÑĢÑĥ га", + "ER İ", + "Ġ Ả", + "ĠẠ¢", + "ĠпеÑĢ ÐµÑĢ", + "ĠпеÑĢе ÑĢ", + "Ġж еÑģÑĤ", + "Ġже ÑģÑĤ", + "ĠÄij ẳng", + "ç¦ ®", + "алÑĮ ном", + "алÑĮно м", + "िष य", + "ид енÑĤа", + "иденÑĤ а", + "Ġآخر ÛĮÙĨ", + "Ġ æĵ", + "Ġæ ĵ", + "Ġ มหาว", + "Ġมห าว", + "ĠлÑİ ÑĤого", + "ĠлÑİÑĤ ого", + "Ġб ÑĸзнеÑģ", + "gı ç", + "Ġng á»ĵi", + "оÑĩ нÑĭй", + "Ġo Äįek", + "ĠoÄį ek", + "ĠÙħ رة", + "ĠÙħر Ø©", + "Ġt var", + "Ġtv ar", + "Ġsam ozÅĻejmÄĽ", + "ĠBeled iye", + "Ġв ода", + "Ġво да", + "Ġвод а", + "Ġ Ú¯ÛĮرد", + "ĠÚ¯ÛĮ رد", + "ĠÚ¯ÛĮر د", + "Ġг одÑĭ", + "Ġгод Ñĭ", + "ãģ« è¡Į", + "æĺ¯ æĪij", + "ÑĪ Ð¸Ð»Ð¸", + "ÑĪи ли", + "Ġ åĽ½äº§", + "ĠåĽ½ 产", + "á»§ i", + "ĠбÑĥд ÑĥÑĤÑĮ", + "ĠбÑĥдÑĥÑĤ ÑĮ", + "ĠбÑĥдÑĥ ÑĤÑĮ", + "ĠÑĢай онÑĥ", + "ĠÑĢайон Ñĥ", + "Ġì ĵ", + "ĠÙĪ Ø§Ø³", + "ĠÙĪØ§ س", + "ĠاÛĮ شاÙĨ", + "ενο δο", + "Ġнез алеж", + "ĠÙ¾ شت", + "Ġپش ت", + "Ġgir iÅŁim", + "ĠgiriÅŁ im", + "Ġд еле", + "Ġдел е", + "Ġде ле", + "ĠاصÙģÙĩ اÙĨ", + "à¸Ķ วà¸ģ", + "ĠاÙĦ ÙĤÙĬ", + "ĠاÙĦÙĤ ÙĬ", + "à¹Į à¸Ī", + "ëª »", + "Ġd ru", + "Ġdr u", + "è¿ ¹", + "ад женнÑı", + "адж еннÑı", + "Ùģ ÙĨ", + "Ïĩ οÏĤ", + "Ïĩο ÏĤ", + "à¹Ĥ à¸Ī", + "e yle", + "ey le", + "å¡ ij", + "Ġu prav", + "Ġup rav", + "Ġз даÑĤ", + "Ġзд аÑĤ", + "Ġзда ÑĤ", + "Ġvid ÄĽt", + "Ġ à¸Ľà¸£", + "Ġà¸Ľ ร", + "Ġ ÑĦеÑĢ", + "ĠÑĦ еÑĢ", + "ÐĨ н", + "Ġ ìµľìĭł", + "Ġìµľ ìĭł", + "l oha", + "lo ha", + "loh a", + "ĠиÑģп ÑĭÑĤ", + "Ġ avan", + "Ġa van", + "Ġav an", + "Ġava n", + "γ οÏħ", + "γο Ïħ", + "ĠGi ấy", + "ãĤ»ãĥ³ ãĤ¿ãĥ¼", + "éģ į", + "е ÑĢаÑħ", + "еÑĢ Ð°Ñħ", + "еÑĢа Ñħ", + "Ġê°Ģ ì§Ģê³ł", + "Ġê°Ģì§Ģ ê³ł", + "Ġ ид", + "Ġи д", + "Ġmnoh em", + "æ£Ģ æµĭ", + "Ġet me", + "Ġetm e", + "Ġ تÙħر", + "Ġت Ùħر", + "ĠتÙħ ر", + "ĠbaÅŁ layan", + "ĠbaÅŁlay an", + "ãģı ãĤĮ", + "à¹ĩà¸Ļ à¸ģาร", + "ĠÑħаÑĢакÑĤеÑĢ Ð¸Ð·", + "Ġanlam ına", + "Ùı Ùĩ", + "ĠÑģеÑĢ Ð¿Ð½Ñı", + "çķª çµĦ", + "Ġ msgid", + "Ġmsg id", + "Ġms gid", + "Ġzv ÃŃÅĻ", + "ĠzvÃŃ ÅĻ", + "ĠíļĮ ìĽIJ", + "Ġya par", + "Ġyap ar", + "ä¼ĺ åĬ¿", + "ен нÑĭми", + "еннÑĭм и", + "ĠØ£ Ø«", + "ì² Ļ", + "Ġji ného", + "Ġjin ého", + "Ġjiné ho", + "Ġد ÙģØ§Ø¹", + "ĠدÙģ Ø§Ø¹", + "ĠØŃÚ© ÙĪÙħ", + "Ġr izik", + "Ġri zik", + "ά λι", + "άλ ι", + "à¸ĩ à¸Ĥ", + "èµ ¢", + "Ġ ÎķÎĽ", + "ĠÎķ ÎĽ", + "Ġok um", + "Ġoku m", + "æĶ¶ åħ¥", + "ĠÚĨ ÛĮÙĨ", + "æľī çļĦ", + "ÑĨ ами", + "ÑĨа ми", + "d ÄĽnÃŃ", + "dÄĽ nÃŃ", + "ĠкоÑĢ Ð°Ð±", + "Ġко ÑĢаб", + "ĠкоÑĢа б", + "Ġa landa", + "Ġal anda", + "Ġalan da", + "ส à¸Ļาม", + "สà¸Ļ าม", + "ï¼ī ãģ®", + "ı sız", + "ıs ız", + "ısı z", + "ÙĬ ÙĬر", + "Ùĥ ÙĬØ©", + "ÙĥÙĬ Ø©", + "Ġnebo Å¥", + "Ġbit ir", + "Ġbi tir", + "Ġ ãĥľ", + "Ġãĥ ľ", + "Ùij ا", + "ï¼ Ĩ", + "ĠاÙĦت ارÙĬØ®", + "มห าà¸Ļà¸Ħร", + "at ürk", + "ãĤ¹ãĥĨ ãĥł", + "θή κη", + "Ġ καν", + "Ġκ αν", + "Ġκα ν", + "ĠS ür", + "ĠSü r", + "Ġd Ä±ÅŁÄ±", + "ĠdÄ±ÅŁ ı", + "Ġk ancel", + "Ġkan cel", + "ĠÙ¾ خش", + "h Pa", + "ĠÄį t", + "ĠпÑĢ Ð¾Ñħ", + "ĠпÑĢо Ñħ", + "à¹ī à¸Ī", + "Ġê±° ìķ¼", + "ĠдеÑĢжав ного", + "èĤ¡ 举", + "ìĿ´ íģ¬", + "Ùĥ تÙĪØ±", + "Ùĥت ÙĪØ±", + "ĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "è¨ º", + "Ġب Ùħا", + "ĠبÙħ ا", + "ĠноÑĢм аÑĤив", + "ç iler", + "çi ler", + "à¸ĩ ศ", + "éĽĨ ä¸Ń", + "ÑĢ Ð¸Ñģ", + "ÑĢи Ñģ", + "Ñĩ аÑĶ", + "Ñĩа ÑĶ", + "li ÄŁin", + "liÄŁi n", + "liÄŁ in", + "ãĥ¼ ãĤ¿ãĥ¼", + "ãĥ¼ãĤ¿ ãĥ¼", + "а ÑĢаÑĤ", + "аÑĢ Ð°ÑĤ", + "аÑĢа ÑĤ", + "åĬĽ éĩı", + "ĠÑģÑħ ем", + "åħ¥ åı£", + "离 å¼Ģ", + "ÏģοÏĨοÏģ ίεÏĤ", + "ĠÐĹ Ð°ÑĤем", + "ĠkarÅŁ ısında", + "ĠkarÅŁÄ± sında", + "ĠاÙĨت ظ", + "ï½ Ĭ", + "Ġ eÅŁit", + "ĠeÅŁ it", + "Ġyaz ılı", + "Ġyazı lı", + "Ðļ ом", + "ا زÙĬ", + "از ÙĬ", + "Ġki mse", + "Ġkim se", + "Ġkims e", + "ÑĢа Ñīи", + "ÑĢаÑī и", + "ัà¸ģ ส", + "Ġkan un", + "Ġka nun", + "Ġ ëIJĺìĹĪ", + "ĠëIJĺ ìĹĪ", + "Ġι ÏĥÏĩ", + "Ġм еди", + "Ġмед и", + "æ° §", + "ï¼Į åħ¶ä¸Ń", + "ï¼Įåħ¶ ä¸Ń", + "Ġyok tu", + "Ġ ãĤ½", + "ĠãĤ ½", + "ĠпÑĢи обÑĢеÑĤ", + "ÙĪ ÛĮØ´", + "ÙĪÛĮ Ø´", + "ãħł ãħł", + "Ġکرد Ùħ", + "Ġکر دÙħ", + "Ġdu var", + "Ġ ç¸", + "Ġç ¸", + "ıs ır", + "ısı r", + "Ġïº į", + "ĠÐłÐ¾Ñģ ÑģиÑı", + "à¹ī à¹ĥà¸Ļ", + "Ġ iÅŁi", + "Ġi ÅŁi", + "ĠiÅŁ i", + "d ol", + "do l", + "ĠÙħØŃ ÙħÙĪØ¯", + "ĠÑģам ÑĭÑħ", + "ĠبÙĨابر اÛĮÙĨ", + "ãĤĮ ãģ©", + "ุà¸ķ สาห", + ". »", + "ู à¸Ĭ", + "ĠT ep", + "ĠTe p", + "ãģı ãĤĵ", + "Ġ å¸ĥ", + "Ġå¸ ĥ", + "Ġत ल", + "Ġs erm", + "Ġse rm", + "Ġser m", + "λ ÏĮγ", + "λÏĮ γ", + "ĠÅŀ imdi", + "Ġà¤ľà¤¨ त", + "- ÐĴ", + "è¨ ª", + "ĠвÑĸд пов", + "ิ à¸Ļà¸Ķ", + "ิà¸Ļ à¸Ķ", + "ι ÏĥμÏĮÏĤ", + "ιÏĥμ ÏĮÏĤ", + "Ω Τ", + "âĨĴ âĨĴ", + "ικο ί", + "ĠÑģп ÑĢава", + "ĠÑģпÑĢав а", + "æľº åħ³", + "Ġ ÃĿ", + "Ġà Ŀ", + "Ġм ова", + "Ġмо ва", + "Ġмов а", + "Ġмог ла", + "Ġд лиÑĤелÑĮ", + "ãģĹ ãģ¦ãĤĤ", + "ãģĹãģ¦ ãĤĤ", + "Ġβ Ïģί", + "Ġж од", + "éĹ ª", + "ĠмÑĸ ÑģÑĮкоÑĹ", + "η Ïģε", + "çł Ĥ", + "Ġkter ých", + "Ġkterý ch", + "ĠÐĵ олов", + "ĠÐĵол ов", + "Ġh á»Ļp", + "Ġhá»Ļ p", + "Ġpa nÃŃ", + "Ġpan ÃŃ", + "تÙħ اد", + " ľ", + "åįģ åħŃ", + "κ οÏĤ", + "κο ÏĤ", + "ев ÑĭÑħ", + "æĭ Ĵ", + "ĠÑģÑĤ оÑĢон", + "ĠÑģÑĤоÑĢ Ð¾Ð½", + "ĠÑģÑĤо ÑĢон", + "Ġph óng", + "ĠÑĥлÑĥÑĩ ÑĪ", + "m rt", + "mr t", + "m par", + "mp ar", + "ĠS lav", + "ĠSl av", + "Ġ kov", + "Ġk ov", + "Ġko v", + "ìĿ¸ ìĿĢ", + "Ġ åºĶ", + "Ġåº Ķ", + "ั à¸ļà¸Ħ", + "ัà¸ļ à¸Ħ", + "Ġk ì", + "Ġa Å¥", + "ÅĻ ÃŃt", + "ÅĻÃŃ t", + "ì° Į", + "Ùħ ÙĨت", + "ÙħÙĨ ت", + "ıyor lar", + "æŃ£ 常", + "н ÑıÑĤÑĤÑı", + "нÑıÑĤ ÑĤÑı", + "r acÃŃ", + "ra cÃŃ", + "rac ÃŃ", + "ĠпиÑĤ аниÑı", + "à¸Īะ à¹Ģà¸Ľ", + "ĠاÙĦÙĩ ÙĨد", + "ĠD ost", + "ĠDo st", + "ĠDos t", + "ĠÐĴаÑģ илÑĮ", + "Ġ íĥĦ", + "Ġíĥ Ħ", + "Ġn ạn", + "à¹Īà¸Ń à¹Ħà¸Ľ", + "رÙĪ Ø¶", + "± ظ", + "Ġbych om", + "à¸Ļ วย", + "à¸Ļว ย", + "ãģł ãģ£ãģ¦", + "ĠÐĺ Ñģп", + "ĠÐĺÑģ п", + "à¸Ħร à¸ļ", + "Ġ สà¸ĸาà¸Ļ", + "Ġส à¸ĸาà¸Ļ", + "ĠëĤ ®", + "j iÅ¡tÄĽ", + "ji Å¡tÄĽ", + "ĠÙģ ÙĪØª", + "ĠÙģÙĪ Øª", + "ĠCh ương", + "ĠìĿ´ 루", + "ĠpÅĻÃŃ tom", + "t ual", + "tu al", + "b ette", + "be tte", + "bet te", + "bett e", + "Ġsa bah", + "Ġsab ah", + "μ ί", + "Ġm á»ĩnh", + "Ġmá»ĩ nh", + "ãģ® ãģłãĤįãģĨ", + "ãģ®ãģł ãĤįãģĨ", + "Ġzam ÄĽÅĻ", + "åįģ äºĶ", + "ĠìķĬ ìĿĦ", + "اÙĨ ÙĪ", + "е нÑĥ", + "ен Ñĥ", + "ĠÑĥ год", + "ĠÑĥг од", + "ĠV ưá»Ŀn", + "Ġëĵ± ìĿĦ", + "Ġbelirt ilen", + "æŁ Ħ", + "Ġtek lif", + "¬ Ĥ", + "Ġпод аÑĤков", + "ĠاÙĦ ÙĨÙĩ", + "ĠاÙĦÙĨ Ùĩ", + "ï¼ ´", + "ìĽ ĥ", + "Ġ हल", + "Ġह ल", + "Ġ имÑĥ", + "Ġи мÑĥ", + "Ġим Ñĥ", + "ĠкоÑĤоÑĢ Ñĭм", + "ï¼Į 以åıĬ", + "ï¼Į以 åıĬ", + "ĠÑĤаб ли", + "ा :", + "Ġب رج", + "Ġبر ج", + "ĠÎŃ Î½Î±Î½", + "ĠÎŃνα ν", + "ĠÎŃν αν", + "ĠÙĬ ÙĪÙĦÙĬÙĪ", + "ý Å¡", + "Ġ ÙĬج", + "ĠÙĬ ج", + "ĠÑĤÑĢо Ñħи", + "æŀ Ŀ", + "Ġd Ãły", + "ĠBur ada", + "ĠBu rada", + "ĠÏĥÏħ μβ", + "ĠÎij ÏģÏĩ", + "ĠÎijÏģ Ïĩ", + "Ġsoci álnÃŃ", + "Ġ Ú¯ÙĪ", + "ĠÚ¯ ÙĪ", + "Ġyan ıt", + "Ġyanı t", + "ãģ¯ ãģªãģĦ", + "ãģ® ä¸Ĭ", + "Ġn úi", + "ĠرÙģØª ار", + "ĠÙħ رات", + "ĠÙħر ات", + "ز ÙħاÙĨ", + "زÙħ اÙĨ", + "าà¸Ī ารย", + "ĠÑĩиÑģ лÑĸ", + "Ġس ÙĨت", + "ĠسÙĨ ت", + "ĠÃĸzel likle", + "ì ĩ¼", + "ìĩ ¼", + "ĠÄį ÃŃm", + "AD DE", + "ADD E", + "ãģ® ãĤĪãģĨãģª", + "ÙĪÙĦÙĪ ÚĺÛĮ", + "ĠíĻľ ìļ©", + "ãĢģ ãģ©ãģĨ", + "ĠÎł ÏģÏī", + "çĻ» åł´", + "Ġнад аннÑı", + "Ġм еÑĢеж", + "ĠмеÑĢ ÐµÐ¶", + "ĠмеÑĢе ж", + "Ġ ìĿµ", + "ĠìĿ µ", + "jÃŃ cÃŃch", + "jÃŃcÃŃ ch", + "it ou", + "ito u", + "ÙĤ ÙĪÙĦ", + "Ùħ ج", + "Ġب ÙĨد", + "ĠبÙĨ د", + "Ġön üne", + "Ġ ï½°", + "Ġï½ °", + "з в", + "Ġе ÑģÑĤе", + "Ðł Ðĺ", + "ÑĢ Ð¾Ð»", + "ÑĢо л", + "a yla", + "ay la", + "Ġк лÑĥ", + "Ġкл Ñĥ", + "æİ¨ èĸ¦", + "ĠÑĢоз ÑĢаÑħ", + "Ġ ìĥģëĭ´", + "Ġìĥģ ëĭ´", + "ĠÙĨ سÙħØ©", + "ĠÙĨس ÙħØ©", + "Ġви Ñħод", + "à¥Ģ à¤Ĩà¤Ī", + "ĠпÑĢи ÑģÑĤÑĥп", + "ÙĴ ع", + "ĠteÅŁ ekkür", + "дÑı ки", + "Ġfi kir", + "Ġfik ir", + "ัศ à¸Ļ", + "ĠآزÙħ اÛĮØ´", + "Ġb izi", + "Ġbi zi", + "Ġbiz i", + "ÏĨ αÏģ", + "ÏĨα Ïģ", + "æľª æĿ¥", + "æIJ º", + "Ġδ Ïħνα", + "ĠδÏħ να", + "Ġ رÙĪÙħ", + "Ġر ÙĪÙħ", + "ĠرÙĪ Ùħ", + "Ġb undan", + "Ġbund an", + "Ġbun dan", + "ĠÙĤ اÙĦب", + "ĠÙĤاÙĦ ب", + "Ġ haft", + "Ġh aft", + "Ġha ft", + "Ġhaf t", + "å¿ ½", + "ĠÐľ оÑĢ", + "Ġzá pas", + "Ġzáp as", + "Ġ ë¹Ľ", + "Ġë¹ Ľ", + "å» ·", + "äºĪ ç´Ħ", + "Ġkh uyến", + "Ġ ÎijÎĵ", + "ĠÎij Îĵ", + "Ġìŀij ìĹħ", + "ड र", + "Ġjednodu ch", + "à¥ī म", + "ĠdeÄŁ ildi", + "ĠdeÄŁil di", + "Ġk olo", + "Ġko lo", + "Ġkol o", + "Ġد ÙĤÛĮ", + "л ами", + "ла ми", + "лам и", + "ĠH á»įc", + "ĠHá»į c", + "Ġप स", + "ĠÎł ÏģÏĮ", + "ĠâĹ ij", + "Ġ наÑģлÑĸд", + "Ġна ÑģлÑĸд", + "ĠнаÑģ лÑĸд", + "Ġ диви", + "Ġди ви", + "Ġдив и", + "ĠpÅĻes nÄĽ", + "ĠТак им", + "ĠТа ким", + "Ġru kou", + "Ġruk ou", + "ä¸Ģ åĪĩ", + "ĠÑģ пÑĢи", + "ĠÑģп ÑĢи", + "en ské", + "ens ké", + "æĹ ¦", + "ĠÙĤ ÙĨ", + "Ġú stav", + "िश त", + "à¹Į )", + "ĠT rang", + "ĠTr ang", + "ĠTra ng", + "ĠTran g", + "Ġmoh la", + "Ġmohl a", + "ĠÎķ λλην", + "Ġп оки", + "Ġпо ки", + "Ġпок и", + "ĠØ¢ Ùħار", + "ĠØ¢Ùħ ار", + "åIJ ¾", + "ĠÑĢ ÐµÑģп", + "ĠÑĢе Ñģп", + "ĠÑĢеÑģ п", + "Ġta kdir", + "Ġtak dir", + "Ġrahat sız", + "éŁ³ ä¹IJ", + "Ġ âĶĥ", + "ĠâĶ ĥ", + "i lis", + "il is", + "ili s", + "ĠÙĪ Ø§ÙĦØ¥", + "ĠÙĪØ§ÙĦ Ø¥", + "å® Ļ", + "Ñĥ мов", + "Ñĥм ов", + "ĠÐĽ иÑĤ", + "ĠÐĽÐ¸ ÑĤ", + ": :::|", + ":: ::|", + ":::: |", + "::: :|", + "åħ ½", + "ĠÙĨزد ÛĮÚ©", + "е лÑĸв", + "ел Ñĸв", + "елÑĸ в", + "θ οÏįν", + "θο Ïįν", + "ìĹIJìĦľ ëıĦ", + "èµĦ æł¼", + "çIJĨ 论", + "ĠKe mal", + "ĠKem al", + "Ġк еÑĢ", + "ษ ายà¸Ļ", + "Ġ åįİ", + "Ġåį İ", + ") ìĹIJ", + "Ġ ëĬĺ", + "ĠëĬ ĺ", + "ãĥĿ ãĥ¼ãĥĪ", + "ĠÐĹ Ð´", + "اص ÙĬÙĦ", + "Ġk atı", + "Ġka tı", + "Ġkat ı", + "ãĤĤãģĹ ãĤĮãģªãģĦ", + "Ġкажд ого", + "Ġ дÑĢ", + "Ġд ÑĢ", + "Ġfut bol", + "ÙĦ ÙĬÙģ", + "ÙĦÙĬ Ùģ", + "Ġì§Ģ ëĤľ", + "ĠÙ¾ÛĮØ´ ÙĨÙĩ", + "ü lük", + "ül ük", + "ülü k", + "Ġ à¸ķำà¸ļล", + "Ġà¸ķำ à¸ļล", + "Ġb áºŃc", + "Ġ åĽł", + "ĠåĽ ł", + "ik ler", + "Ïģ ιά", + "Ïģι ά", + "Ġв важа", + "Ġвваж а", + "Ġvy pl", + "Ġvyp l", + "Ġв низ", + "í Ģ", + "çľ ¾", + "ĠÑģ ила", + "ĠÑģи ла", + "ĠÑģил а", + "ĠналиÑĩи и", + "Ġع راÙĤ", + "ĠاÙĦÙħ Ùĥ", + "å°± ä¼ļ", + "Ġм Ñĸг", + "ĠмÑĸ г", + "ĠÎĮ μιλοÏĤ", + "Ñī его", + "Ñīе го", + "Ġíĸī ìłķ", + "Âł mph", + "Âłm ph", + "Ġma lé", + "Ġmal é", + "ĠÛĮ اÙģØªÙĩ", + "ĠÛĮا ÙģØªÙĩ", + "ĠÛĮاÙģØª Ùĩ", + "Ġmn oha", + "Ġmnoh a", + "γ ά", + "Ġпо ÑģÑĤÑĢо", + "ĠпоÑģ ÑĤÑĢо", + "ĠпоÑģÑĤ ÑĢо", + "ĠاÙĦÙħ ÙĪØ³", + "ĠاÙĦÙħÙĪ Ø³", + "Ġol ma", + "Ġolm a", + "ëī´ ìĬ¤", + "Ġt utar", + "Ġtu tar", + "Ġtut ar", + "ãĥ¼ãĥĵ ãĤ¹", + "à¥įथ न", + "-ли бо", + "æ¥Ń åĭĻ", + "ĠоÑģоб ливо", + "ĠоÑģоблив о", + "è® Ģ", + "ÙģÙĩ ÙĪÙħ", + "Ġk ẻ", + "Ġ Å¡tÄĽ", + "ĠÅ¡ tÄĽ", + "ĠÅ¡t ÄĽ", + "Ġc ầm", + "ĠÄįlán ky", + "ĠÄIJ iá»ĩn", + "( =", + "OV Ãģ", + "ul du", + "uld u", + "a ft", + "af t", + "Ġl ãi", + "Ġlã i", + "Ġd oldur", + "Ġdol dur", + "³³ ³³³³³³³³³", + "³³³³ ³³³³³³³", + "³³³ ³³³³³³³³", + "³³³³³³³³ ³³³", + "³³³³³³³ ³³³³", + "³³³³³ ³³³³³³", + "³³³³³³ ³³³³³", + "³³³³³³³³³ ³³", + "β ι", + "ãģ£ãģ¦ ãģįãģŁ", + "ì¶ľìŀ¥ ìķĪë§Ī", + "å¯ Ŀ", + "Ġë¶Ģ íĥģ", + "ĠاÙĦ اخ", + "Ġγ Ïħνα", + "à¤ı म", + "à¥Į ल", + "ع ادة", + "عا دة", + "عاد Ø©", + "Ġ κοÏħ", + "Ġκ οÏħ", + "Ġκο Ïħ", + "ĠÙħØ· رØŃ", + "ĠÑĩелов еÑĩ", + "Ġn umar", + "Ġnum ar", + "Ġnu mar", + "Ġnuma r", + "Ġ дина", + "Ġд ина", + "Ġди на", + "ÏĦ ÏģÎŃ", + "ÏĦÏģ ÎŃ", + "λ ικ", + "λι κ", + "Ġдол го", + "Ġnh iêu", + "ĠвоÑģ ÑģÑĤанов", + "ap ı", + "Ġ kanı", + "Ġk anı", + "Ġkan ı", + "ĠK ế", + "ãĤī ãģļ", + "Ġhar ek", + "Ġha rek", + "Ġhare k", + "ãģłãģij ãģ§", + "æ» ħ", + "Ġo hled", + "Ġoh led", + "е ÑĢим", + "еÑĢ Ð¸Ð¼", + "еÑĢи м", + "ĠØŃ ÙĬÙĨ", + "ĠØŃÙĬ ÙĨ", + "ĠÙĤ Ùĩر", + "Ġब à¥Ŀ", + "اپ ÛĮÙħ", + "è¶ħ è¿ĩ", + "Ġ æħ", + "Ġæ ħ", + "Ġت Ù쨳", + "ĠتÙģ Ø³", + "as ıyla", + "ası yla", + "б иÑĤ", + "би ÑĤ", + "ĠØŃ اج", + "ĠÑĤÑĢеб ованиÑı", + "Ġ æİ¨", + "Ġæİ ¨", + "Ġ ç±³", + "Ġç± ³", + "ãĤ³ ãĥ¼ãĥī", + "ĠÑĥ Ñģи", + "ĠÑĥÑģ и", + "Ġاخ ÙĦاÙĤ", + "Ġdo stup", + "Ġdost up", + "Ġع ÙĦاÙĤ", + "ĠعÙĦ اÙĤ", + "िव स", + "Ġ оди", + "Ġо ди", + "Ġод и", + "t ej", + "te j", + "Ġthá» ıa", + "ัà¸ģษ à¸ĵะ", + "ัà¸ģษà¸ĵ ะ", + "ĠÑĢаÑģ к", + "ĠÑĢа Ñģк", + "ĠÐĿ аÑĢод", + "ĠÐĿа ÑĢод", + "Ġза кÑĥп", + "Ġзак Ñĥп", + "o že", + "ož e", + "Ġاج را", + "Ġاجر ا", + "ê´ij ê³ł", + "аÑĢÑĤ ам", + "Ġп еÑĢеж", + "ĠпеÑĢ ÐµÐ¶", + "ĠпеÑĢе ж", + "èij£ äºĭ", + "ĠÑı коÑģÑĤÑĸ", + "ĠÑıк оÑģÑĤÑĸ", + "Ġв Ñĥл", + "м он", + "мо н", + "Ġch lap", + "Ġ ÑįÑĤомÑĥ", + "ĠÑįÑĤ омÑĥ", + "ĠÑįÑĤо мÑĥ", + "ĠÑįÑĤом Ñĥ", + "а ÑĤÑĸ", + "аÑĤ Ñĸ", + "Ġ íĴĪ", + "Ġí ĴĪ", + "ĠíĴ Ī", + "è¡Ĺ éģĵ", + "س د", + "ÙĪ Ø±Ùĩ", + "ÙĪØ± Ùĩ", + "ĠزÛĮ اد", + "åľ¨çº¿ è§Ĩé¢ij", + "ا ÙĪÙĬØ©", + "اÙĪ ÙĬØ©", + "اÙĪÙĬ Ø©", + "ï¼Į å°±æĺ¯", + "ï¼Įå°± æĺ¯", + "e lerinden", + "eler inden", + "elerin den", + "elerinde n", + "ÑĢ Ð°Ð¶Ð´", + "ÑĢа жд", + "ÑĢаж д", + "Ġп озд", + "Ġпо зд", + "Ġпоз д", + "Ġзна ÑĤÑĮ", + "Ġзн аÑĤÑĮ", + "ัà¸ļ สà¸Ļ", + "ัà¸ļส à¸Ļ", + "à¥ĩà¤ĸ त", + "Ġ æĽ°", + "Ġæ Ľ°", + "ĠæĽ °", + "ê³¼ ìłķ", + "é® ®", + "ĠV iá»ĩn", + "ĠVi á»ĩn", + "Ġd voj", + "Ġdv oj", + "ίν εÏĦαι", + "Ġosob nÃŃch", + "ĠosobnÃŃ ch", + "Ġ âĢª", + "ĠâĢ ª", + "éĻ µ", + "ĠØ®ÙĪØ¯ Ø´", + "ĠاÙĨ ر", + "ĠпÑĢоÑĦеÑģÑģи оналÑĮ", + "k ám", + "ká m", + "ĠÙħ ÙĥاÙĨ", + "ĠÙħÙĥ اÙĨ", + "ĠاÙĦØ£ د", + "Ġ ê³µë¶Ģ", + "Ġê³µ ë¶Ģ", + "ĠÄij ức", + "ĠÄijứ c", + "ĠCumhur iyeti", + "ĠCumhuriyet i", + "åĩº ãģĹ", + "д ами", + "да ми", + "дам и", + "ĠìĪĺ ìĥģ", + "ĠÙģ Ø¨Ø±Ø§ÙĬر", + "Ġsü resi", + "Ġsür esi", + "Ġsüre si", + "Ġب ج", + "Ġ æĶ¾", + "ĠæĶ ¾", + "ØŃ ÛĮ", + "çłĶç©¶ æīĢ", + "åĩºçīĪ ç¤¾", + "ĠÙħÙĪ ØªÙĪØ±", + "&& &&", + "ĠпеÑĢ ÐµÐ¹", + "ĠпеÑĢе й", + "Ġ ìĦłê±°", + "ĠìĦł ê±°", + "ĠúspÄĽ Å¡", + "ار Ú©", + "Ġet tir", + "Ġett ir", + "Ġetti r", + "Ġ ì¶ľìŀ¥", + "Ġì¶ľ ìŀ¥", + "ĠKa nun", + "ĠKan un", + "ĠÑĥменÑĮ ÑĪ", + "ĠзаÑĤ веÑĢдж", + "ĠاÙĦد ÙĪÙĦÙĬ", + "ĠاÙĦدÙĪÙĦ ÙĬ", + "Ġ ãĥĵ", + "Ġãĥ ĵ", + "ĠB azı", + "ĠBa zı", + "ĠBaz ı", + "åŃIJ ãģ®", + "åĩ ¯", + "Ġse beb", + "Ġseb eb", + "Ġsebe b", + "Ġ åħ±", + "Ġåħ ±", + "Ġd nů", + "Ġdn ů", + "ä½į äºİ", + "ĠZ d", + "æī ±", + "Ġتج ربÙĩ", + "ÃĶ NG", + "Ġìĺ¬ ëĿ¼", + "Ïī ÏĦεÏģ", + "ĠÑģ вид", + "ĠÑģв ид", + "ĠÑģви д", + "æ¯Ķ èµĽ", + "ãģ« åIJij", + "ìľĦ 를", + "ãģĹ ãģ¾ãģĹãģŁ", + "ãģĹãģ¾ ãģĹãģŁ", + "Ġd á»ĭ", + "ĠÐł ÑĥÑģ", + "Ġv á»ı", + "Ġvá» ı", + "à¤Ĥड ल", + "Ġп иÑī", + "Ġпи Ñī", + "Ġsmr ti", + "Ġsmrt i", + "à¸Īาà¸ģ à¸ģาร", + "ĠÑģаÑħ аÑĢ", + "Ġtho át", + "ج ÙħØ©", + "جÙħ Ø©", + "Ġпоз вол", + "ĠاÙĦØ« اÙĨÙĬØ©", + "ĠاÙĦثاÙĨÙĬ Ø©", + "ز ادÙĩ", + "زا دÙĩ", + "ãĢģ ä¸Ń", + "ή μεÏģα", + "æ¦ ľ", + "l acaģı", + "lac aģı", + "lacaÄŁ ı", + "Ġна ÑĪиÑħ", + "ĠнаÑĪ Ð¸Ñħ", + "ìĶ Ģ", + "ĠÐĺ ÑģÑĤоÑĢиÑı", + "ün deki", + "ünd eki", + "ünde ki", + "ĠпеÑĢ ÐµÐ»", + "ĠпеÑĢе л", + "Ġ목 ìĨĮ", + "ĠÑģÑĤаÑĤ ÑĥÑģ", + "о вали", + "ов али", + "ова ли", + "овал и", + "ÅĻ az", + "ĠдÑĢÑĥг ого", + "ĠдÑĢÑĥго го", + "ÙĥÙĪÙħ Ø©", + "ÙĥÙĪ ÙħØ©", + "Ñĩ иÑģÑĤ", + "Ñĩи ÑģÑĤ", + "ÑĩиÑģ ÑĤ", + "μ μ", + "åıį åºĶ", + "ic ari", + "ica ri", + "ĠÙ¾ اک", + "Ġپا Ú©", + "алÑĮ ним", + "ĠB una", + "ĠBu na", + "ĠBun a", + "и ÑĤив", + "иÑĤ ив", + "иÑĤи в", + "ÑĦ ÑĢа", + "ãĥ¼ ãĥĸãĥ«", + "ãĥ¼ãĥĸ ãĥ«", + "ĠÑĤоб ÑĤо", + "룬 ìĬ¤", + "ĠاÙĦ اع", + "åħ¬ éĸĭ", + "å¥ ī", + "ÙĪÙĦ د", + "åIJį çĦ¡ãģĹ", + "æ°ij 主", + "à¥ģ à¤ľà¤°", + "à¥ģà¤ľ र", + "ìĤ¬ 무", + "Ġön celik", + "Ġönce lik", + "Ġönc elik", + "Ġ å¨", + "Ġå ¨", + "Ñı б", + "çľ ī", + "à¥įव य", + "ĠH ình", + "çļĦ åľ°æĸ¹", + "çļĦåľ° æĸ¹", + "ĠاÙĦ تس", + "ĠاÙĦت س", + "ä¸Ī 夫", + "Ġп ÑĥблÑĸ", + "ĠnÄĽjak é", + "ÄIJ á»iji", + "ĠÑģоÑģÑĤоÑı ниÑı", + "à¥Ģ )", + "ĠÄij áºŃu", + "j ed", + "je d", + "ê ¶ģ", + "Ġs enin", + "Ġse nin", + "Ġsen in", + "Ġseni n", + "ĠH óa", + "âĻ ł", + "лÑı ÑİÑĤÑĮ", + "лÑıÑİÑĤ ÑĮ", + "éĹ ²", + "ìĿ¸ íĬ¸", + "ت بÙĩ", + "تب Ùĩ", + "Ġरà¤ĸ त", + "ĠÑģлов ами", + "ĠÑģлова ми", + "ĠÑģло вами", + "Ġطب ÙĤ", + "Ġuy du", + "ุà¸ĩà¹Ģà¸Ĺà¸ŀ มหาà¸Ļà¸Ħร", + "ĠSan at", + "ĠSa nat", + "à¹ī าà¸Ĭ", + "à¹īา à¸Ĭ", + "Ġкни ж", + "Ìģ c", + "ا Ùħج", + "اÙħ ج", + "δ Ïİ", + "Å ®", + "Ġb inh", + "Ġbi nh", + "Ġbin h", + "è¾ Ĩ", + "n eÄŁi", + "ne ÄŁi", + "Ø· ÙĨ", + "å¸ ķ", + "Ġ ìĩ¼", + "Ġì ĩ¼", + "оÑģ ÑĢед", + "ĠοÏĢο ίο", + "k ır", + "kı r", + "à¥Ī श", + "Ġ à¸ĩาà¸Ļ", + "Ġà¸ĩ าà¸Ļ", + "Ġd ruž", + "Ġdru ž", + "em atik", + "ema tik", + "emat ik", + "a dıģ", + "ad ıģ", + "adı ÄŁ", + "è¾ ŀ", + "ĠpoužÃŃ vá", + "Ġkur tar", + "ĠsaÄŁ lan", + "ãĢı ï¼Ī", + "Ġmůže me", + "Ġmůž eme", + "Ġ باد", + "Ġب اد", + "Ġبا د", + "æľŁ éĹ´", + "ا تÙģ", + "ات Ùģ", + "Ġyaz ılım", + "Ġyazılı m", + "ĠìŰ ê²°", + "ÙĬ Ù쨩", + "ÙĬÙģ Ø©", + "Ġ emin", + "Ġe min", + "Ġem in", + "ĠнеÑģколÑĮ киÑħ", + "Û´ Û°", + "å¯ §", + "ί ζει", + "ίζ ει", + "Ġd él", + "Ġdé l", + "ver iÅŁ", + "価 æł¼", + "Ġاست اد", + "Ġал ког", + ".H CM", + "ί οÏĤ", + "ίο ÏĤ", + "α κ", + "Ø· ع", + "ãģ£ ãģį", + "ãģ£ãģ į", + "Ñı еÑĤÑģÑı", + "ÑıеÑĤ ÑģÑı", + "л ика", + "ли ка", + "лик а", + "Ġ ÑĨÑı", + "ĠÑĨ Ñı", + "Ġë§Ī ì§Ģë§ī", + "ĠаÑĢ Ð¼Ð¸", + "Ġγ λÏİ", + "E NÃį", + "EN Ãį", + "ë ®¤", + "ŃIJ ï¸ı", + "Ġ æ¯ı", + "Ġæ¯ ı", + "Ġ æĸ¼", + "Ġæĸ ¼", + "Ġκα λÏį", + "ĠТ ом", + "ĠТо м", + "ul ur", + "ulu r", + "Ġak ce", + "ĠÙħÙĪ Ø¬Ø¨", + "ĠÙħÙĪØ¬ ب", + "e siz", + "es iz", + "esi z", + "н Ñıв", + "нÑı в", + "алÑĮ нÑĥÑİ", + "алÑĮнÑĥ Ñİ", + "ал ÑĸÑģÑĤ", + "алÑĸ ÑģÑĤ", + "Ġв аÑĢÑĸ", + "ĠваÑĢ Ñĸ", + "Ġва ÑĢÑĸ", + "ĠÙħؤ س", + "ĠÙħ اÛĮÙĦ", + "ĠÙħا ÛĮÙĦ", + "ĠμεÏĦα ξÏį", + "åĩº ãģĻ", + "Ġv á»Ŀi", + "Ġvá» Ŀi", + "ëŁ ´", + "ï¼ ĭ", + "æ¯ İ", + "Ġt abi", + "Ġtab i", + "Ġta bi", + "âĤ ĥ", + "æ£ĭ çīĮ", + "Ġ ÃIJ", + "Ġà IJ", + "ĠпÑĢоÑĦеÑģ Ñĸй", + "Ñĥв аннÑĸ", + "Îľ Îł", + "Ġж ил", + "Úĺ ÙĨ", + "л ÑĥÑĪ", + "лÑĥ ÑĪ", + "á½ ´", + "о веÑĢ", + "ов еÑĢ", + "ове ÑĢ", + "è¾¼ ãģ¿", + "ĠÐľ акÑģим", + "ĠÐľÐ°Ðº Ñģим", + "Ġвз глÑıд", + "Ġн аÑĤÑĥ", + "Ġна ÑĤÑĥ", + "ĠнаÑĤ Ñĥ", + "म à¤ķ", + "ĠÑħ ими", + "ĠÑĢозÑĤа ÑĪ", + "ÙĪ Ø±Ø§ÙĨ", + "ÙĪØ± اÙĨ", + "ÙĪØ±Ø§ ÙĨ", + "ĠØ´Ùĩر ÙĩاÛĮ", + "æ© Łèĥ½", + "æ©Ł èĥ½", + "Ø® ذ", + "ĠÑģво ÑĶÑĹ", + "ĠÑģвоÑĶ ÑĹ", + "н ÑıеÑĤ", + "нÑı еÑĤ", + "Ġgh ế", + "ĠpÅĻed ch", + "ÑĶ ÑĪ", + "огÑĢаÑĦ ÑĸÑı", + "Ġ à¸Ĺำà¹ĥห", + "Ġà¸Ĺำ à¹ĥห", + "åĿ Ĭ", + "Ïģ Ïīν", + "ÏģÏī ν", + "า ระ", + "าร ะ", + "ĠK ết", + "ĠKế t", + "Ġch ặt", + "Ġ éĻĪ", + "ĠéĻ Ī", + "ĠdÄĽ lat", + "ĠdÄĽl at", + "ĠбÑĥд ÑĥÑī", + "ĠбÑĥдÑĥ Ñī", + "ĠAç ık", + "æłª å¼ıä¼ļ社", + "ĠÐŁ аÑĢ", + "ĠK hu", + "ĠKh u", + "ãĢģ æĸ°", + "Ġб ой", + "Ġбо й", + "ë§Ī íĬ¸", + "ĠÑģоп ÑĢов", + "س اب", + "н иÑģÑĤ", + "ни ÑģÑĤ", + "å¼ ĥ", + "Ġ Ø´ÙĨاس", + "ĠØ´ÙĨ اس", + "ен ном", + "енно м", + "Ġ 项", + "Ġé¡ ¹", + "èīº æľ¯", + "о зем", + "оз ем", + "ĠÑĢеÑĪ ÐµÐ½Ð¸Ñı", + "l ady", + "la dy", + "lad y", + "ĠвÑģ ей", + "ĠвÑģе й", + "æĶ» åĩ»", + "Ġê²° ìłķ", + "ãĢĢ ï¾ŀ", + "Ġê°IJ ëıħ", + "- ÐIJ", + "Ġm ÃŃr", + "ĠmÃŃ r", + "à¥ģप à¤ı", + "нÑĸ ÑĨип", + "б ом", + "бо м", + "Ġ Å¡t", + "ĠÅ¡ t", + "éľ į", + "ĠÑĢеÑĪ ÐµÐ½Ð¸Ðµ", + "Ġдиаг ноÑģÑĤи", + "i par", + "ip ar", + "ipa r", + "ا ÛĮز", + "اÛĮ ز", + "ã ng", + "ãn g", + "ั วร", + "ัว ร", + "ĠÑĨ аÑĢ", + "Ġs ly", + "Ġsl y", + "ν Ïİ", + "ĠK uzey", + "رÛĮ ب", + "Ġc enu", + "Ġce nu", + "Ġcen u", + "Ġcert if", + "Ġcer tif", + "ĠÑĤ ÑĢеÑĤÑĮ", + "ĠÑĤÑĢ ÐµÑĤÑĮ", + "ĠÑĤÑĢеÑĤ ÑĮ", + "ิà¸Ķ à¸Ĥ", + "Ġпа ÑĨÑĸÑĶн", + "ÅĻ iv", + "ÅĻi v", + "èĦ Ĥ", + "¢ °", + "ĠPh ần", + "ĠмеÑĤод и", + "ĠмеÑĤ оди", + "Ạ¤", + "ìĨ Ķ", + "åIJĮ åѦ", + "Ġ åĢĭ", + "ĠåĢ ĭ", + "моÑĤ ÑĢÑı", + "моÑĤÑĢ Ñı", + "Ġuv ád", + "Û±Û¹ Û¶", + "éģ¸ æĬŀ", + "! »", + "ë ĺIJ", + "ĠÛĮ ÙĪØªÛĮ", + "ĠاÙĦØŃ رب", + "ĠاÙĦØŃر ب", + "олог ÑĸÑı", + "n ila", + "ni la", + "nil a", + "ĠÄij ảng", + "á zi", + "áz i", + "ÑĢ Ð¾Ñī", + "ÑĢо Ñī", + "Ġort adan", + "Ġorta dan", + "Ġاخ بار", + "Ġà¤ħ à¤ľ", + "Ġ매 ìļ°", + "Ġп ой", + "Ġпо й", + "Ġ جÙĬ", + "Ġج ÙĬ", + "к ÑĥваÑĤи", + "кÑĥ ваÑĤи", + "Ġá» ŀ", + "Ġب شر", + "Ġبش ر", + "Ġ ÙĥÙĬÙĦ", + "ĠÙĥ ÙĬÙĦ", + "Ñī еÑģÑĤво", + "Ñīе ÑģÑĤво", + "ÑīеÑģÑĤв о", + "ĠìŬ íĸī", + "ا ÙħÙĬ", + "اÙħ ÙĬ", + "в ÑĸлÑĮ", + "вÑĸ лÑĮ", + "ĠPr vnÃŃ", + "Ġ ÙĪØ³ÛĮ", + "ĠÙĪ Ø³ÛĮ", + "ĠÙĪØ³ ÛĮ", + "ĠÄIJ á»", + "æĪ¿ éĹ´", + "åľ¨çº¿ éĺħ读", + "æķ ·", + "Ġt rai", + "Ġtr ai", + "Ġtra i", + "ä¿ Ĺ", + "ĠÑģамоÑģÑĤоÑıÑĤелÑĮ но", + "ĠÑĤÑĢеб ÑĥеÑĤÑģÑı", + "ĠÑĤÑĢебÑĥеÑĤ ÑģÑı", + "δ Ïģα", + "ĠÑĢеÑĩ ов", + "Ġв Ñĸк", + "ĠвÑĸ к", + "Ġ ÑĢÑĥÑĩ", + "ĠÑĢ ÑĥÑĩ", + "ĠÑĢÑĥ Ñĩ", + "å¥ §", + "ĠolduÄŁ una", + "ĠolduÄŁu na", + "ев Ñĭе", + "Ġ à¸Ħล", + "Ġà¸Ħ ล", + "ا ÙĦÙĤ", + "اÙĦ ÙĤ", + "ĠÑĸм енÑĸ", + "ĠÑĸмен Ñĸ", + "æĶ» æĴĥ", + "ĠÑĥнивеÑĢ ÑģиÑĤ", + "Ġth Äĥm", + "ĠлиÑģÑĤоп ада", + "२ ०", + "Ø® ÙĬ", + "Îķ Îł", + "Ġart tır", + "Ġس خت", + "Ġسخ ت", + "ï¼Ī æĺŃåĴĮ", + "ĠÎŁ Ïħ", + "и ваниÑı", + "ив аниÑı", + "ива ниÑı", + "Ġstav eb", + "âħ ¥", + "γÏī γή", + "γÏīγ ή", + "Ù ©", + "ĠиÑģÑģлед ованиÑı", + "åĢĭ 人", + "Ġëĭ¤ìļ´ë°Ľ 기", + "ĠÏĦ ελ", + "ĠÏĦε λ", + "° N", + "ĠباÙĦ ÙĨ", + "à¹Į à¸ŀ", + "Ġnem ůže", + "Ġголов а", + "Ġгол ова", + "à¹Į à¹ģ", + "æ¢ ¯", + " ĺ", + "δ ηÏĤ", + "δη ÏĤ", + "ìĿ¸ ì¦Ŀ", + "l ayın", + "lay ın", + "á½ ·", + "ĠÙĨت اÛĮج", + "ĠÑģоб лÑİд", + "Ġдви жениÑı", + "Ġдвиж ениÑı", + "ì Į", + "Ġ povÄĽ", + "Ġp ovÄĽ", + "Ġpo vÄĽ", + "Ġpov ÄĽ", + "Ġ ìłĦìĹIJ", + "ĠìłĦ ìĹIJ", + "å¦Ĥ ä¸ĭ", + "ĠاÙĦÙħ در", + "ĠاÙĦÙħد ر", + "ï¼Į æĪĸ", + "ا را", + "ار ا", + "æ°ij æĹı", + "Ġب رÙĤ", + "Ġبر ÙĤ", + "Ġзап аÑģ", + "à¸Ļ à¹ĥà¸Ī", + "é f", + "Ġ à¸Łà¸£", + "Ġà¸Ł ร", + "Ġë³´ ëĤ´", + "Ġ 欧ç¾İ", + "Ġ欧 ç¾İ", + "- ÑĤаки", + "-ÑĤ аки", + "é© ļ", + "ÑĢ ÑĸÑı", + "ÑĢÑĸ Ñı", + "æŁ ı", + "ĠповÑĸÑĤ ÑĢÑı", + "çµĦ ç¹Ķ", + "d aÅŁ", + "da ÅŁ", + "Ġहम ल", + "ĠÑĢеÑĶ ÑģÑĤÑĢа", + "ά β", + "ĠÎł ο", + "Ġê·¸ 림", + "Ñĩ аÑİÑĤ", + "Ñĩа ÑİÑĤ", + "à¸ĩ à¸ķ", + "íĥ ĢìĿ´", + "íĥĢ ìĿ´", + "æī ¬", + "Ġpo jist", + "Ġpoj ist", + "Ġ çłĶ", + "Ġçł Ķ", + "Ġ åıĸ", + "Ġåı ĸ", + "Ġüzer indeki", + "Ġüzerinde ki", + "j Å¡ÃŃch", + "jÅ¡ÃŃ ch", + "à¥Ģद व", + "æª ¢", + "ĠмаÑĤеÑĢи алов", + "ĠмаÑĤеÑĢиал ов", + "и ваннÑı", + "ив аннÑı", + "Ġ å°Ĩ", + "Ġå° Ĩ", + "л л", + "Ġнаб лÑİд", + "ĠнаблÑİ Ð´", + "ĠG öz", + "ĠGö z", + "Ġв зÑı", + "Ġвз Ñı", + "ç͵ è§Ĩ", + "Ġв ак", + "Ġва к", + "ç¿ Ķ", + "Ġвза им", + "Ġg itti", + "Ġgi tti", + "Ġgit ti", + "it eleri", + "ite leri", + "itel eri", + "itele ri", + "ä»· å̼", + "ĠاÙĦ تص", + "ĠاÙĦت ص", + "िन à¤ķ", + "éĢļ ãĤĬ", + "ĠÑģ ÑĦеÑĢ", + "ĠÑģÑĦ еÑĢ", + "çĻº 売", + "âĿ ¤", + "ĠÚ¯ÙĪØ´ ÛĮ", + "ĠÚ¯ÙĪ Ø´ÛĮ", + "аг аÑĤо", + "ĠÏĥÏħ γκ", + "ав иÑģ", + "ави Ñģ", + "æĤ£ èĢħ", + "ĠØ® اÙħ", + "ÎĻÎļ ÎĹΣ", + "ÎĻÎļÎĹ Î£", + "ınız da", + "pan ÄĽl", + "pa nÄĽl", + "ĠÄIJ á»ĭa", + "à¹ģละ ส", + "Ġ ãĤĤ", + "ĠãĤ Ĥ", + "Ġsonuc unda", + "Ġsonucu nda", + "ìĿ į", + "e less", + "el ess", + "ele ss", + "ĠN ha", + "ĠNh a", + "Ġzak áz", + "Ġв оÑģÑĤ", + "Ġво ÑģÑĤ", + "ĠвоÑģ ÑĤ", + "ĠvzdÄĽl ávánÃŃ", + "- ม", + "Ġmet rů", + "ĠپاÛĮ ÛĮÙĨ", + "Ġپا ÛĮÛĮÙĨ", + "ĠÑĢаÑģÑĤ ение", + "Ġmu á»iji", + "èµĦ éĩij", + "ĠÅŁ üph", + "ÙĬ ÙĦÙħ", + "ÙĬÙĦ Ùħ", + "ĠdÃ¼ÅŁÃ¼n c", + "Ġк Ñĸм", + "ĠÏĩÏī ÏģίÏĤ", + "áz ev", + "áze v", + "ĠDe ÄŁer", + "ĠDeÄŁ er", + "å·¥ æ¥Ń", + "Ġر Ùħز", + "ĠرÙħ ز", + "Ġal espoÅĪ", + "ĠпÑĢе ÑģÑĤÑĥп", + "ĠпÑĢеÑģÑĤ Ñĥп", + "ĠعÙĦ اÙĪÙĩ", + "Ġme rak", + "Ġmer ak", + "à¹Į :", + "çݰ åľº", + "ÑĨ веÑĤ", + "Ġप à¥ľ", + "Ġëĭ¤ìĿĮ ê³¼", + "u dic", + "ud ic", + "udi c", + "ĠL ep", + "ĠLe p", + "Ġод нÑĸ", + "Ġa larak", + "Ġal arak", + "å®ī æİĴ", + "Ġ à¸Ĥà¸Ļาà¸Ķ", + "Ġà¸Ĥ à¸Ļาà¸Ķ", + "re zent", + "rez ent", + "is inden", + "isin den", + "isinde n", + "ر ÙĪÛĮ", + "رÙĪ ÛĮ", + "Ġp lu", + "Ġpl u", + "ç«ĭ ãģ¦", + "Ñĭ ваниÑı", + "Ñĭв аниÑı", + "Ñĭва ниÑı", + "Ġr ast", + "Ġra st", + "Ġras t", + "Ġdüzen lem", + "je zd", + "jez d", + "Ġве ÑīеÑģÑĤв", + "ĠвеÑī еÑģÑĤв", + "ĠдиÑĢ ÐµÐºÑĤоÑĢ", + "ÑĦ ÑĦ", + "t ainment", + "tain ment", + "ĠاÙĦ ÙĪØ²", + "ĠاÙĦÙĪ Ø²", + "l anda", + "land a", + "la nda", + "lan da", + "ĠÙĨÚ¯ Ùĩد", + "ĠпÑĢоÑĤив оп", + "ãģ£ ãģı", + "ãģ£ãģ ı", + "ãģ¨ãģª ãĤĬ", + "Ġë°ľ 견", + "i ctor", + "ic tor", + "ict or", + "ãĤ¸ ãĤª", + "ÎŁ Φ", + "ÎŁÎ ¦", + "ĠÑģклад Ñĸ", + "Ġob sahuje", + "Ġobsah uje", + "ĠUkr a", + "ĠUk ra", + "æķ ¦", + "ĠÏĩ αÏģα", + "ĠÏĩα Ïģα", + "ĠÑĢег Ñĥли", + "俺 ãģ¯", + "ัà¸ķ ว", + "éĦ ī", + "Ġب اÛĮ", + "Ġبا ÛĮ", + "éĬ ·", + "ĠN ẵng", + "л од", + "ло д", + "ا رÙģ", + "ار Ùģ", + "æ´ ģ", + "ĠëıĻ ìĿ¼", + "ÑĤив ного", + "âĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģ âĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģ", + "Ġ- :-", + "Ġ-: -", + "ì» ¬", + "ĠÑĪ Ð°Ð³", + "ìłĦ ìŀIJ", + "çļĦ äºĭæĥħ", + "çļĦäºĭ æĥħ", + "ĠÑĢег Ñĸ", + "िय ल", + "ĠÐĿ аз", + "ĠÐĿа з", + "ĠÐĻ Ð¾Ð³Ð¾", + "ĠÐł ом", + "ĠÃĸr neÄŁin", + "Ġп ÑĢеÑģ", + "ĠпÑĢ ÐµÑģ", + "ĠпÑĢе Ñģ", + "u luÄŁu", + "ulu ÄŁu", + "uluÄŁ u", + "Ġза дов", + "Ġзад ов", + "ÅĻ eh", + "ÅĻe h", + "æ¯ķ ä¸ļ", + "Ġth áºŃp", + "ëĤ ¸", + "Ġdlou hodob", + "Ġdlouho dob", + "дÑĸ лÑĥ", + "дÑĸл Ñĥ", + "a lat", + "al at", + "ala t", + "ä» °", + "о ком", + "ок ом", + "око м", + "ĠÑĦ ÑĸлÑĮ", + "ĠÑĦÑĸл ÑĮ", + "ĠNg ân", + "Ġ ترÙĥ", + "Ġت رÙĥ", + "Ġتر Ùĥ", + "ĠÑĤ Ñī", + "ر ÙĪØ¯", + "رÙĪ Ø¯", + "ç uk", + "çu k", + "ra nÃŃ", + "ran ÃŃ", + "Ġdo laÅŁ", + "Ġdol aÅŁ", + "ĠQ uang", + "ĠQu ang", + "ĠpÅĻed pok", + "Ġnám ÄĽstÃŃ", + "ой Ñĩив", + "çĭ Ģ", + "Ġб изнеÑģ", + "ãģŁ ãģı", + "ĠìĿ¸ ì²ľ", + "о ÑĢо", + "оÑĢ Ð¾", + "ĠKü rt", + "ĠKür t", + "ê·¸ 룬", + "ÑĨ аÑĤÑĮ", + "ÑĨа ÑĤÑĮ", + "ĠB ên", + "Ġ acı", + "Ġa cı", + "Ġac ı", + "Ú© Ø´", + "ï¼Ī å¹³æĪIJ", + "Ġ èģĶ", + "Ġèģ Ķ", + ") ãĢģ", + "d iler", + "di ler", + "Ñĩ иÑĤÑĮ", + "ÑĩиÑĤ ÑĮ", + "Ñĩи ÑĤÑĮ", + "Ư á»", + "éĻ ¶", + "il eceÄŁini", + "ilece ÄŁini", + "ileceÄŁi ni", + "Ġv Å¡em", + "ĠvÅ¡ em", + "ĠvÅ¡e m", + "å¼Ģ å¥ĸ", + "è§Ħ 模", + "ul muÅŁ", + "Ġ åĪĺ", + "Ġå Īĺ", + "ĠåĪ ĺ", + "е о", + "еР¾", + "ĠпеÑĢев ÑĸÑĢ", + "åĪĨ åĪ«", + "Ġjed ná", + "Ġjedn á", + "li ÄŁe", + "liÄŁ e", + "ĠرÙħ ضاÙĨ", + "ık lı", + "ıkl ı", + "Ùĩ ÙĢ", + "éĩį çĤ¹", + "Ñĩ иваеÑĤÑģÑı", + "Ñĩи ваеÑĤÑģÑı", + "Ñĩив аеÑĤÑģÑı", + "Ñĩива еÑĤÑģÑı", + "ë¡ľ ìĦľ", + "ÏĦ εÏģο", + "ÏĦε Ïģο", + "ÏĦεÏģ ο", + "åľ° ä¸ĭ", + "д наннÑı", + "дн аннÑı", + "Ġng ược", + "ॠª", + "ĠÎij λ", + "Ġa lacak", + "Ġal acak", + "Ġ à¹Ģà¸ĩ", + "Ġà¹Ģ à¸ĩ", + "Ġà¹Ģภĩ", + "اÛĮ ÙĨد", + "اÛĮÙĨ د", + "Ġh Ãłi", + "ÑĢо из", + "ĠЧ и", + "Ġ ÑıÑģ", + "ĠÑı Ñģ", + "خر ÛĮد", + "Ġhu deb", + "Ġhud eb", + "åľ §", + "Ġ ìĦ¼", + "ĠìĦ ¼", + "å͝ ä¸Ģ", + "Ġ вÑĸлÑĮ", + "Ġв ÑĸлÑĮ", + "ĠвÑĸ лÑĮ", + "ĠباÙĦ اتر", + "ĠباÙĦا تر", + "à¸Ńà¸ģ าส", + "Ġ Tôi", + "ĠT ôi", + "ม à¸Ĥ", + "o mor", + "om or", + "omo r", + "ĠO lomou", + "Ġx ong", + "Ġxo ng", + "Ġdomác ÃŃ", + "Ġ اختÛĮ", + "Ġاخ تÛĮ", + "Ġاخت ÛĮ", + "ĠÑĤеÑħ нÑĸÑĩ", + "ĠÑĤеÑħнÑĸ Ñĩ", + "ĠiÅŁ te", + "à¥Į द", + "Ġнад еж", + "Ø®ÛĮ ص", + "åĬª åĬĽ", + "ĠتجÙĩ ÛĮزات", + "Ġv ole", + "Ġvo le", + "Ġvol e", + "k inci", + "kin ci", + "Ġhes ab", + "ĠÑģ еÑģÑĤ", + "Ú© ا", + "ÑĤеÑĢ Ð½", + "ร รà¸Ħ", + "รร à¸Ħ", + "åıĤ èĢĥ", + "ĠÐļ аб", + "ĠÐļа б", + "Ġİ mpar", + "Ġnáv rh", + "Ġnávr h", + "åĴ¨ 询", + "à¸ĸ าม", + "Ġye rel", + "Ġyer el", + "Ġyere l", + "ĠÃĸ l", + "çĮ Ľ", + "ĠاÙĦÙĪØ· ÙĨÙĬ", + "Ġ ìĿ´ìĸ´", + "ĠìĿ´ ìĸ´", + "ิà¸Ĺย าศาสà¸ķร", + "ิà¸Ĺยา ศาสà¸ķร", + "ĠA ÅŁ", + "Ġзем лÑİ", + "ĠдомаÑĪ Ð½Ð¸Ñħ", + "ĠÑĥ веÑĢ", + "ĠÑĥв еÑĢ", + "A LI", + "AL I", + "г ан", + "га н", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "Ġdo stan", + "Ġdos tan", + "Ġdost an", + "ez pe", + "ãģĭ ãģĦ", + "ر ÙģØªÙĩ", + "رÙģ ØªÙĩ", + "رÙģØª Ùĩ", + "Ġм ÑĥÑģ", + "ĠмÑĥ Ñģ", + "à¹Į à¸Ł", + "è¦ º", + "али за", + "ализ а", + "ĠÑĥÑĩ ÑĢежд", + "ĠÚ© اÙĦ", + "Ġetk isi", + "Ġetki si", + "ä½Ĩ æĺ¯", + "Ġsou vis", + "ĠSav aÅŁÄ±", + "ĠSavaÅŁ ı", + "Ġب سبب", + "ÎŁ ι", + "ÎŁÎ ¹", + "è ļ", + "Ġ æ®", + "Ġæ ®", + "Ġìĺģ êµŃ", + "ا سÛĮÙĪÙĨ", + "اسÛĮ ÙĪÙĨ", + "ĠاÙĦات ØŃاد", + "Ġ глÑı", + "Ġг лÑı", + "à¹ĩà¸ģ à¸ĭ", + "Ġج ÙĪÙĨ", + "ĠجÙĪ ÙĨ", + "ĠاÙĦرسÙħ ÙĬ", + "Âł G", + "ĠÑĤо бÑĸ", + "ĠÑĤоб Ñĸ", + " ĩ", + "Ġ ëĮĢíĸī", + "ĠëĮĢ íĸī", + "çĬ¶ æħĭ", + "Ġê·¸ ëĥ¥", + "Ġи мп", + "Ġим п", + "ĠتÙĨظ ÛĮÙħ", + "ÙĦ اÛĮÙĨ", + "ÙĦا ÛĮÙĨ", + "ÑģÑĤв еннÑĭм", + "ÑģÑĤвен нÑĭм", + "о пол", + "оп ол", + "ر ÙĪØ¬", + "رÙĪ Ø¬", + "Ġ à¸ĩ", + "Ġภĩ", + "Ġ çĤº", + "ĠçĤ º", + "ĠUlus lararası", + "à¥Į à¤Ĥ", + "ãĢģ ãģĿãģĨ", + "Ġس ادÙĩ", + "ÎŃ Î±ÏĤ", + "ÎŃα ÏĤ", + "Ġà¤Ĩ ल", + "- ÑĦ", + "ĠÎłÎ¿Î» ι", + "ĠÎłÎ¿ λι", + "Ġно ÑıбÑĢÑı", + "ĠноÑı бÑĢÑı", + "ÙĪ ÙĦÙĬ", + "ÙĪÙĦ ÙĬ", + "æĽľ æĹ¥", + "æĮģ ç»Ń", + "Ġê¼ Ń", + "ece ÄŁiz", + "eceÄŁi z", + "ĠÛĮ اÙģØª", + "ĠÛĮا ÙģØª", + "Ġ åı¸", + "Ġåı ¸", + "ाà¤Ĺ त", + "Ġ æķħ", + "Ġæķ ħ", + "Ġал леÑĢг", + "Ġt uz", + "Ġtu z", + "еÑĢ ÑĤи", + "еÑĢÑĤ и", + "Ġth ầu", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ĠãĢĢ", + "- à¤ħ", + "Ġим мÑĥ", + "ÑĢ Ð°Ð¹", + "ÑĢаР¹", + "ÑĢа й", + "主 義", + "ĠbaÅŁ lar", + "Ġä¸Ĭ 涨", + "ع ا", + "ĠÎĻ Ïī", + "ียà¸ĩ à¹ĥหม", + "ĠاÙĦÙħد ÙĬÙĨØ©", + "Ñģ ÑĮко", + "ÑģÑĮ ко", + "ÑģÑĮк о", + "ĠتارÛĮØ® ÛĮ", + "at ÃŃm", + "âĢļ Ø·", + "Ø¢ خر", + "ĠëĦ £", + "ĠÙĨÙħ اÛĮد", + "ĠÙĨÙħاÛĮ د", + "ãģķãĤĵ ãģĮ", + "Ġb ò", + "Ġ à¸ķาม", + "Ġà¸ķ าม", + "ë³´ ìķĺëĭ¤", + "а ÑĤÑĸв", + "аÑĤ Ñĸв", + "аÑĤÑĸ в", + "ĠÑĦ ил", + "Ġkısm ı", + "iá»ĩ ng", + "iá»ĩn g", + "Ġay dın", + "éģķ ãģĦ", + "е ви", + "ев и", + "Ġ å¾®", + "Ġå¾ ®", + "( íģ¬ê¸°", + "Ġ Ú¯ÛĮر", + "ĠÚ¯ ÛĮر", + "ĠÚ¯ÛĮ ر", + "ìķĦ ìĦľ", + "Ġδη μιοÏħÏģγ", + "ãģ«ãģĬ ãģĦãģ¦", + "ĠÃľ Nİ", + "и ÑĤом", + "иÑĤ ом", + "ع ÙĦاÙħ", + "عÙĦ اÙħ", + "åIJİ çļĦ", + "Ġp lá", + "Ġpl á", + "à¸Ľà¸£à¸° à¹Ĥย", + "ç¢ İ", + "Ġ éĺ²", + "Ġéĺ ²", + "ëĬ Ķëĭ¤", + "ëĬĶ ëĭ¤", + "Ġ æĹ¥æľŁ", + "ĠæĹ¥ æľŁ", + "Ġgeç erli", + "л аÑĤÑĭ", + "ла ÑĤÑĭ", + "лаÑĤ Ñĭ", + "Ġmutlak a", + "ÙĪ Øº", + "à¹Ģ ฮ", + "à¹Ģภ®", + "Ġï» £", + "e deki", + "ed eki", + "ede ki", + "à¹Į à¹Ģà¸Ļ", + "Ġнайб ÑĸлÑĮÑĪ", + "ĠнайбÑĸлÑĮ ÑĪ", + "ï¼ Ĭ", + "Ġ à¹Ĥรà¸ĩ", + "Ġà¹Ĥ รà¸ĩ", + "Ġfot bal", + "Ġ éĢģ", + "ĠéĢ ģ", + "âĢĮاÙĦ ÙħÙĦ", + "Ïīμά ÏĦιο", + "Ġú kol", + "åįļ 士", + "d ub", + "du b", + "ı lıģ", + "ılı ÄŁ", + "ıl ıģ", + "ëĵľ 를", + "çĭ IJ", + "α λλ", + "αλ λ", + "æŃ» 亡", + "ĠпÑĢед поÑĩ", + "çµ µ", + "Ġм ÑĥзÑĭ", + "ĠмÑĥ зÑĭ", + "ĠмÑĥз Ñĭ", + "еÑĢÑĤ в", + "ĠÙĥ ÙĨد", + "ĠÙĥÙĨ د", + "Ġu lož", + "Ġul ož", + "ÎŁÎ¥ ÎĽ", + "g ili", + "gi li", + "gil i", + "üs tü", + "üst ü", + "н ки", + "ĠÙĤ ÙĪØ§ÙĨ", + "ι ακ", + "ια κ", + "ĠÅŁ er", + "ĠкиÑģ л", + "Ġки Ñģл", + "Ùģ Ø¶ÙĦ", + "ĠÐIJ ÑĦ", + "γ εν", + "γε ν", + "Ġdo stal", + "Ġdos tal", + "Ġdost al", + "ĠsaÄŁ lıklı", + "ĠsaÄŁlık lı", + "å®¶ æĹı", + "ÄIJ T", + "е ÑĢин", + "еÑĢ Ð¸Ð½", + "еÑĢи н", + "ĠìĿ´ë٬ íķľ", + "Ġdüny ada", + "Ġdünya da", + "Ġnh ắc", + "Âł ÂłĊ", + "³³ Ċ", + "ν ηÏĥη", + "νη Ïĥη", + "γÏģα μμα", + "Ġtak son", + "ĠTürk çe", + "ĠÙģØ±Ø§ÙĨ سÙĩ", + "天 åłĤ", + "æº ¶", + "Ġ oto", + "Ġo to", + "Ġot o", + "èµ µ", + "ch yb", + "chy b", + "Ġ å¾Ĵ", + "Ġå¾ Ĵ", + "ÏĦ Ïį", + "áh nout", + "à¥į पर", + "à¥įप र", + "Ġv las", + "Ġvl as", + "Ġíļ¨ ê³¼", + "Ġt hang", + "Ġth ang", + "Ġthan g", + "Ġtha ng", + "Ġol masına", + "Ġolm asına", + "Ġolması na", + "ĠпоÑĢÑĥÑĪ ÐµÐ½Ð½Ñı", + "Ġqu ỹ", + "ĠíĿ IJ", + "ĠìĪ ¨", + "Ġ ë²Ī째", + "Ġë²Ī 째", + "ẹ n", + "Ġз год", + "Ġзг од", + "Ġ تز", + "Ġت ز", + "Ġاخ تص", + "Ġاخت ص", + "ĠзÑĥÑģÑĤ ÑĢÑĸ", + "Ġt ặng", + "á¿¶ ν", + "Ġ ì½ľ", + "Ġì½ ľ", + "ов аниÑħ", + "ова ниÑħ", + "овани Ñħ", + "ован иÑħ", + "âĢĮ شد", + "âĢĮØ´ د", + "Ġa raya", + "Ġar aya", + "Ġara ya", + "Ġaray a", + "r ové", + "ro vé", + "rov é", + "Ġاخ تÙĦ", + "Ġاخت ÙĦ", + "ли вий", + "лив ий", + "Ġات ØŃاد", + "Ġak ÅŁam", + "ĠÚ©ÙĦ اس", + "ãĤ¢ ãĥĥãĥĹ", + "Ġz ih", + "Ġzi h", + "å ĩĮ", + "åĩ Į", + "å±± å¸Ĥ", + "Ġçev res", + "Ġçevr es", + "Ġçevre s", + "Ġог ÑĢом", + "ĠØ¢ دÙħ", + "ĠtÄĽ lo", + "ĠtÄĽl o", + "ï¼Į æľ¬", + "ĠÚĺØ§ÙĨ ÙĪÛĮÙĩ", + "Ġkr aje", + "Ġkra je", + "Ġkraj e", + "μ ία", + "μί α", + "èħ ¿", + "âĢŀ To", + "決 å®ļ", + "ì ĩ", + "Ġ éĴ", + "Ġé Ĵ", + "ĠΣ ÏĦα", + "ĠجÙħ ÙĩÙĪØ±", + "ĠGen ç", + "r ám", + "rá m", + "ĠÐł ез", + "ĠÐłÐµ з", + "Ġvyt vá", + "ĠпÑĢоизвод ÑģÑĤва", + "ĠÙħ ذÙĩ", + "ĠÙħذ Ùĩ", + "Ġihtiy ac", + "ãĤ¯ ãĤ»", + "Ġn êu", + "å¾ ³", + "Ġ ëĵĿ", + "Ġëĵ Ŀ", + "н аÑĩе", + "на Ñĩе", + "наÑĩ е", + "ĠÏĥÏħ μμε", + "ÏĨ Ïīν", + "в авÑģÑı", + "ва вÑģÑı", + "вав ÑģÑı", + "Ġви ÑĤами", + "ĠвиÑĤ ами", + "Ìģ t", + "Ġfinan ÄįnÃŃ", + "åıĬ åħ¶", + "âĢ ħ", + "çĭ ¼", + "ัà¸ļ à¸ķ", + "ãģĽ ãĤĭ", + "ÎĻÎļ ÎŁ", + "λ λι", + "λλ ι", + "ÑĤ оÑİ", + "ÑĤо Ñİ", + "ا عÙĬØ©", + "اع ÙĬØ©", + "اعÙĬ Ø©", + "vÃŃ ce", + "vÃŃc e", + "о нÑĸв", + "он Ñĸв", + "онÑĸ в", + "ì£ Ħ", + "å» ł", + "ĠØ´ÙĬ Ø¡", + "ĠТ ем", + "ĠТе м", + "Ġاب زار", + "ĠTH PT", + "γ γÏģαÏĨ", + "ĠëĮĢ íķ´ìĦľ", + "ĠëĮĢíķ´ ìĦľ", + "ĠPh ạm", + "ÑĨион ной", + "| /", + "Ġ ãĤ¸ãĥ£", + "ĠãĤ¸ ãĥ£", + "ÑĮ ÑİÑĤ", + "ÑĮÑİ ÑĤ", + "Ñĥ зÑĭ", + "Ñĥз Ñĭ", + "ĠÙħ اد", + "ĠÙħا د", + "ĠmÄĽ ly", + "ĠmÄĽl y", + "Ġ çα", + "ĠçĪ ±", + "Ġr ád", + "Ġrá d", + "à¸Ħว à¸ļà¸Ħ", + "à¥Ī ?", + "Ġl idi", + "Ġli di", + "Ġlid i", + "m amız", + "mam ız", + "Ġ à¹ģà¸ģ", + "Ġà¹ģ à¸ģ", + "ãĤ¯ ãĤ·ãĥ§ãĥ³", + "à¸Ńำ à¸Ļวย", + "es át", + "Ġv iêm", + "Ġvi êm", + "è¡Į åĬ¨", + "มาà¸ģ à¸ģว", + "ĠØ®ÙĪ Ø§Ø¨", + "Ġser best", + "ÅĻÃŃ z", + "ĠíĺĦ ëĮĢ", + "ãĢĮ ãģĿãģĨ", + "çĤ ¸", + "om ik", + "omi k", + "Ġİ ran", + "Ġer iÅŁ", + "ĠÑģ ела", + "ĠÑģел а", + "Ġار زÛĮ", + "Ġارز ÛĮ", + "ãĥĪ ãĥª", + "ĠB ÄĽ", + "е кÑĥ", + "ек Ñĥ", + "Ч ÑĤобÑĭ", + "ЧÑĤо бÑĭ", + "Ġanlam da", + "Îij Îĺ", + "ĠLINE AR", + "ĠLIN EAR", + "æľī çĤ¹", + "ÑĤ аÑĢ", + "ÑĤа ÑĢ", + "it ler", + "itle r", + "Ġn ÃŃž", + "ĠnÃŃ Å¾", + "ĠС ÑģÑĭлки", + "å ¶", + "Ġв пол", + "Ġвп ол", + "ĠدÙĤÛĮ ÙĤÙĩ", + "ĠدÙĤÛĮÙĤ Ùĩ", + "Ġ ä½ĵ", + "ر Ùī", + "ëĶ °", + "Ġà¤ķ व", + "Ġж иÑĢ", + "æij Ĩ", + "Ġì¤ij ìĭ¬", + "Ġк Ñĥб", + "ĠкÑĥ б", + "Ġz lep", + "ĠÑĢÑĭ б", + "é³ ´", + "à¹ģà¸ľ à¸Ļ", + "Ġ íĢ", + "Ġí Ģ", + "ĠÐĿ еÑĤ", + "ĠÐĿе ÑĤ", + "ž itÄĽ", + "žit ÄĽ", + "ži tÄĽ", + "Ġb Äĥng", + "ĠH ava", + "ĠHa va", + "ĠHav a", + "Ġ모 ëį¸", + "ĠH ãy", + "ĠìĿ´ ê²ĥ", + "Ġìĥģ ìĦ¸", + "me miÅŁ", + "mem iÅŁ", + "ĠθÎŃ Ïĥη", + "ण न", + "ĠskuteÄį nÄĽ", + "ĠTarih i", + "Ġtext u", + "Ġtex tu", + "ï¼Į éĢĻ", + "ĠاÛĮÙĨتر ÙĨتÛĮ", + "ĠÙ¾ اد", + "Ġپا د", + "ิà¸Ļ à¸ģาร", + "ĠNg á»įc", + "ĠÑĢоб иÑĤи", + "íĸĪ ê³ł", + "Ġम ण", + "ÐĽ Ðĺ", + "Ġпо ÑĤеÑĢ", + "ĠпоÑĤ еÑĢ", + "Ñģ ом", + "Ñģо м", + "ĠاÙĪ ÙĦÛĮÙĩ", + "ĠاÙĪÙĦ ÛĮÙĩ", + "éĽ ij", + "ĠGi á", + "Ġk anal", + "Ġkan al", + "Ġka nal", + "Ġavant aj", + "Ġavan taj", + "Ġr yb", + "Ġry b", + "Ø® تÙĩ", + "خت Ùĩ", + "ĠÙĪ Ø±ÙĪØ¯", + "ĠÙĪØ± ÙĪØ¯", + "ÐĴ ÑĤ", + "Ïī Ïĥε", + "기 ë¡ľ", + "ĠÐĽ Ñĸ", + "Ġt ảng", + "Ġtả ng", + "Ġص ÙĦÙī", + "ĠÑĥ лÑĭ", + "ĠÑĥл Ñĭ", + "Ġcu á»ijn", + "ĠÐIJ нг", + "ĠÐIJн г", + "Ġد اÙĪ", + "ĠÑĪлÑıÑħ ом", + "ĠÄįlovÄĽk a", + "ĠÄįlovÄĽ ka", + "d ete", + "de te", + "det e", + "ÑĬ ем", + "à¹Į à¹ĥà¸Ļ", + "à¤ķ न", + "åĪ ¤æĸŃ", + "åΤ æĸŃ", + "ĸ ìĹIJ", + "ÏĦ ÏīÏĥη", + "ÏĦÏī Ïĥη", + "ĠÙģÙĨ اÙĪØ±ÛĮ", + "ĠyaÅŁ ında", + "ĠÏĥÏĩ ÎŃ", + "Ġ yı", + "Ġy ı", + "Ġp ÅĻen", + "ĠpÅĻ en", + "ĠpÅĻe n", + "ĠÑĦоÑĢм ÑĥваннÑı", + "ĠÑĦоÑĢмÑĥ ваннÑı", + "ü mÃ¼ÅŁ", + "üm Ã¼ÅŁ", + "ümü ÅŁ", + "Ġ δο", + "Ġδ ο", + "ımız ın", + "ımızı n", + "Ġ é¢Ħ", + "Ġé¢ Ħ", + "оÑģÑĤ ÑĮÑİ", + "оÑģÑĤÑĮ Ñİ", + "ĠоÑĤкÑĢÑĭ ÑĤ", + "Ġأغ سطس", + "ĠA sp", + "ĠAs p", + "ĠÑĥ зн", + "ĠÑĥз н", + "ĠÙĪ Ø§Ø³Øª", + "ĠÙĪØ§ ست", + "ĠÙĪØ§Ø³ ت", + "e lerle", + "eler le", + "èķ ī", + "Ġت Ú©ÙĨ", + "Ġتک ÙĨ", + "Ñĥ мÑĥ", + "Ñĥм Ñĥ", + "à¹Į à¸ĭ", + "ाद न", + "ĠâĢĭ âĢĭâĢĭ", + "ĠâĢĭâĢĭ âĢĭ", + "Ġa lıyor", + "Ġal ıyor", + "Ġî ¡", + "Ùħ دة", + "Ùħد Ø©", + "Ġ Ïĥει", + "ĠÏĥ ει", + "ĠÏĥε ι", + "Ġ è¿Ļ", + "Ġè¿ Ļ", + "ĠÅŀ ehir", + "ен ÑĤами", + "енÑĤ ами", + "енÑĤа ми", + "ãĤ¿ ãĥ«", + "ห าย", + "หา ย", + "ай ÑĤ", + "Ġh arc", + "Ġhar c", + "Ġha rc", + "ãĢĤ ãģĬ", + "Ġتأ Ø«ÛĮر", + "า à¸Ĭà¸Ļ", + "าà¸Ĭ à¸Ļ", + "Ġth áºŃm", + "Ġ æ¿", + "Ġæ ¿", + "Ġm Å©i", + "Ġprv nÃŃm", + "ĠprvnÃŃ m", + "Ġбаг аÑĤÑĮ", + "ĠбагаÑĤ ÑĮ", + "ãģķãĤī ãģ«", + "b iên", + "bi ên", + "åºĶ å½ĵ", + "ìĿ´ ë²Ħ", + "Ġpou žÃŃt", + "ĠpoužÃŃ t", + "Ġokam ž", + "e sin", + "es in", + "esi n", + "v ÄĽl", + "vÄĽ l", + "Ġ ضÙĪ", + "Ġض ÙĪ", + "è» Ł", + "- з", + "à¥Ī त", + "è¨Ī ç®Ĺ", + "r abilir", + "ra bilir", + "rab ilir", + "ĠÐłÐ¾Ñģ ÑĸÑĹ", + "Ġpla tÃŃ", + "Ġplat ÃŃ", + "Ġdosp ÄĽl", + "Ġر ضا", + "Ġرض ا", + "Ġn ového", + "Ġnov ého", + "Ġnové ho", + "Ġна ÑĨионалÑĮ", + "ĠÐIJ б", + "ãģĮ ãģĤãģ£ãģŁ", + "Ġ ë¹Ī", + "Ġë¹ Ī", + "âĢĮ Ùħ", + "å±ŀ äºİ", + "Ġt ane", + "Ġta ne", + "Ġtan e", + "ÙĬ اÙĩ", + "ÙĬا Ùĩ", + "Ġ βο", + "Ġβ ο", + "Ġ ëĬ¥", + "ĠëĬ ¥", + "ãĥĩãĤ£ ãĥ¼ãĤ¹", + "Ġ ذÙĥر", + "Ġذ Ùĥر", + "Ġobvyk le", + "Ġbir inci", + "ĠاÙĦ زر", + "ĠاÙĦز ر", + "ìĿ´ ë¹Ħ", + "ĠØ¥ د", + "ĠE kon", + "ĠEk on", + "ÐŁ ол", + "ÐŁÐ¾ л", + "ĠвеÑĢ Ð¾ÑıÑĤ", + "Ġyarar lan", + "Ġа ÑĢом", + "ĠаÑĢ Ð¾Ð¼", + "Ġ éĦ", + "Ġé Ħ", + "Ġ iddi", + "Ġid di", + "i Äįka", + "iÄį ka", + "struk ce", + "mÃ¼ÅŁ tür", + "Ïħ ÏĦÏĮ", + "ë¡ ±", + "Ġal maktadır", + "Ġalmak tadır", + "ени Ñıми", + "ениÑı ми", + "ียà¸Ļ ร", + "à¹ĩ à¸Ļว", + "à¹ĩà¸Ļ ว", + "и кÑĥ", + "ик Ñĥ", + "е нка", + "ен ка", + "âĢĻ yi", + "âĢĻy i", + "Ġpo hod", + "Ġpoh od", + "Ġ زر", + "Ġز ر", + "Ġx ấu", + "Ġ à¸łà¸²à¸©", + "Ġà¸ł าษ", + "Âł Ðŀ", + "Ġ δικ", + "Ġδ ικ", + "Ġδι κ", + "Ġназ ива", + "åıª èĥ½", + "大 éĩı", + "ĠÄij ế", + "Ġ 第äºĮ", + "Ġ第 äºĮ", + "ĠkiÅŁ ilerin", + "ĠkiÅŁi lerin", + "ĠkiÅŁiler in", + "Ġdob ré", + "Ġdobr é", + "é© ¾", + "Ġdůležit é", + "ë¡ ¤", + "μÎŃ Î½Î¿Ïħ", + "μÎŃν οÏħ", + "μÎŃνο Ïħ", + "Ġtr ú", + "Ġbiç im", + "Ġ ÐĿÐIJ", + "ĠÐĿ ÐIJ", + "Ġ å¾Į", + "Ġå¾ Į", + "Ġdu yg", + "Ġduy g", + "åŀ Ĥ", + "ÐĨ ÐĨ", + "Ġet meye", + "Ġetm eye", + "Ġetme ye", + "ĠÙĦب اس", + "Ġд вÑĸ", + "Ġдв Ñĸ", + "Ġ 긴", + "Ġê¸ ´", + "ÑĨ Ñĸйно", + "ÑĨÑĸй но", + "κ ÏĦή", + "ï½ Ŀ", + "ĠÑĦевÑĢа лÑı", + "å¯ «", + "Ġ 겨", + "Ġê² ¨", + "Ġyıl larda", + "Ġyıllar da", + "Ġз Ñĥп", + "Ġobchod nÃŃ", + "Ġاض اÙģÙĩ", + "в еÑĢж", + "веÑĢ Ð¶", + "Ġ æłĩ", + "Ġæł ĩ", + "ج اج", + "جا ج", + "Ġر ÙĪØ³ÛĮ", + "ĠرÙĪ Ø³ÛĮ", + "Ġstand art", + "Ġstan dart", + "é ru", + "ér u", + ") ìĿĦ", + "д екÑģ", + "де кÑģ", + "Ġ âĪļ", + "ĠâĪ ļ", + "Ġİngiliz ce", + "èĬ Ŀ", + "身 ä¸Ĭ", + "ØŁ ØŁ", + "Ġm ẽ", + "Îij ÎĶ", + "енÑģ ив", + "âĢĻ ta", + "âĢĻt a", + "à¹ī าà¸ģ", + "à¹īา à¸ģ", + "ÎŁÎĽ ÎŁÎĵ", + "ä»ĺ ãģij", + "Ġs Ãłng", + "ĠsÃłn g", + "Ġह à¤Ł", + "ÑĭÑĪ Ð»ÐµÐ½", + "ĠØ® طر", + "Ġخط ر", + "Ġнай ÑĤи", + "缸 ä¿¡", + "Ïī δ", + "ठĶ", + "Ġdo pad", + "Ġdop ad", + "à¹Ħà¸Ł ล", + "æ ģµ", + "æģ µ", + "í Ĥ¬", + "íĤ ¬", + "Ä±ÅŁ ma", + "ãģı ãĤĮãģŁ", + "ãģıãĤĮ ãģŁ", + "Ġnap rost", + "ĠÑģоÑģÑĤав е", + "Ġ ÙĪØ³Ø·", + "ĠÙĪ Ø³Ø·", + "ĠÙĪØ³ Ø·", + "๠ķ", + "éĸĭ çĻº", + "ĠдеÑĢ ÐµÐ²Ð°", + "ĠдеÑĢев а", + "- ÐĶ", + "à¸ĩ à¸Ĭ", + "ิà¸ķ ย", + "ĠاÙĦÙĤ اÙĨÙĪÙĨ", + "ãĤ¹ ãĤ«", + "l ÃŃž", + "lÃŃ Å¾", + "Ġан ализ", + "Ġproblém y", + "æĸĩ åѦ", + "çĹħ éĻ¢", + "Ñģ ед", + "Ñģе д", + "ï¼Į å°ı", + "Ġعش ÙĤ", + "ãģ° ãģĭãĤĬ", + "Ġع ÙĤد", + "ĠعÙĤ د", + "ØŃ ÙĬØ©", + "ØŃÙĬ Ø©", + "Ġë°Ķ ëŀįëĭĪëĭ¤", + "inc lu", + "incl u", + "Ġ ëĵľë¦½ëĭĪëĭ¤", + "Ġëĵľ 립ëĭĪëĭ¤", + "åį« çĶŁ", + "Ġвид Ñĥ", + "Ġви дÑĥ", + "ุ à¸ļาล", + "ุà¸ļ าล", + "ÑĢ ÑĥкÑĤ", + "ÑĢÑĥ кÑĤ", + "ÑĢÑĥк ÑĤ", + "ĠоÑģ вÑĸÑĤ", + "ĠоÑģвÑĸ ÑĤ", + "Ġvel ký", + "Ġvelk ý", + "Ġch tÄĽl", + "ĠchtÄĽ l", + "æīĵ å¼Ģ", + "Ġзакон одаÑĤелÑĮ", + "ан Ñģи", + "анÑģ и", + "ì¶ ĺ", + "ĠÙħر اج", + "åģľ æŃ¢", + "Ġво но", + "ìłķ ìĿ´", + "Ġroz sah", + "Ġrozs ah", + "Ġ æĻ´", + "ĠæĻ ´", + "Ġza jist", + "Ġzaj ist", + "Âł м", + "tı ģını", + "tıģ ını", + "Ġhizmet i", + ". Îij", + "ĠÙħعÙħÙĪÙĦ ا", + "Ġ ži", + "Ġž i", + "Ġg á»įn", + "èĮ Ĥ", + "Ġh uz", + "Ġhu z", + "ζ ει", + "ζε ι", + "à¥ī à¤Ł", + "Ġиз дел", + "ìŀ ĸ", + "ĠëͰ 른", + "Ġk ia", + "Ġki a", + "Ġz nÄĽnÃŃ", + "Ġzn ÄĽnÃŃ", + "ĠоÑĢгани за", + "ĠоÑĢганиз а", + "از ات", + "Ġrež im", + "Ġв енÑĤи", + "b ách", + "Ġод номÑĥ", + "Ġодно мÑĥ", + "Ġодном Ñĥ", + "Ġkit ab", + "Ġki tab", + "Ġkita b", + "Ġfran couz", + "Ġfranc ouz", + "ĠØ£ ÙĦ", + "Ġس رÙĪ", + "Ġسر ÙĪ", + "Ùij ÙĦ", + "Ġ ман", + "Ġм ан", + "Ġма н", + "ë° į", + "Ġк Ñĥда", + "ĠкÑĥ да", + "Ùı س", + "ãĢĤ æŃ¤", + "ا شة", + "اش Ø©", + "à¸Ĥà¸Ńà¸ĩ à¸ľ", + "主 ä»»", + "ив ÑĪи", + "Ġà¸ģ รà¸ģ", + "Ġà¸ģร à¸ģ", + "ек Ñģи", + "екÑģ и", + "иÑĤ еÑĤ", + "иÑĤе ÑĤ", + "ĠØ£ ÙĦÙģ", + "ĠØ£ÙĦ Ùģ", + "а ними", + "ан ими", + "ани ми", + "ãĥļ ãĥ¼ãĤ¸", + "ĠпÑĢав ил", + "ĠпÑĢави л", + "åªĴ ä½ĵ", + "Ñİ Ñīее", + "ÑİÑī ее", + "ä¸Ģ 人", + "β ο", + "ìĭ ¸", + "о зна", + "оз на", + "å¤ī æĽ´", + "ĠÙħØ´ Ùĩد", + "æ³ķ 人", + "ĠBa kanı", + "ĠBak anı", + "ĠBakan ı", + "ĠÑħоÑĩ а", + "Ġα ξ", + "Ġver ilm", + "Ġveri lm", + "Ġk onus", + "Ġkon us", + "Ġkonu s", + "με νη", + "μεν η", + "Ġ 馬", + "Ġé ¦¬", + "Ġé¦ ¬", + "Ġìĭ¤ ìłľ", + "Ġjed no", + "Ġjedn o", + "Ġб аб", + "Ġба б", + "åĥ į", + "æĺ¯ ä¸Ģ个", + "æĺ¯ä¸Ģ 个", + "- е", + "ĠpÅĻek vap", + "à¸Ń à¸ŀ", + "ĠY ol", + "ĠYo l", + "ĠÑĥÑģÑĤан авлива", + "ê² ¼", + "Ġ ä»¶", + "اÙĦ Ø´", + "Ġоб ÑĥÑĩ", + "åĺ Ľ", + "ĠÑħоÑĩ Ñĥ", + "ĠÐķ в", + "ÑĦ оÑĢÑĤ", + "ÑĦоÑĢ ÑĤ", + "Ġर न", + "âĢŀ V", + "èľ ľ", + "Ġd oma", + "Ġdo ma", + "Ġdom a", + "æĶ¯ æı´", + "Ġ اخت", + "Ġا خت", + "Ġاخ ت", + "å¾ ª", + "à¥Ĥ à¤ļन", + "à¥Ĥà¤ļ न", + "ा हन", + "ाह न", + "Ġ å¤ı", + "Ġå¤ ı", + "ĠاÙĦØ£ Ùħر", + "ĠاÙĦØ£Ùħ ر", + "ĠбеÑĢем енноÑģÑĤи", + "ĠTh á»±c", + "é£İ éĻ©", + "Ġül kemiz", + "Ġülk emiz", + "çķª åı·", + "ÑģÑĤ ÑĢе", + "ÑģÑĤÑĢ Ðµ", + "ÑĪ Ð»Ð¾", + "ĠصاØŃ ب", + "ι νε", + "ιν ε", + "ĠK ıs", + "ĠKı s", + "ĠPr ahy", + "ĠPra hy", + "æ¹ ¿", + "Ġv ým", + "Ġvý m", + "çĽ Ĵ", + "ÎŁ ÎĶ", + "ÎŁÎ Ķ", + "ãģł ãģª", + "ĠpÅĻÃŃ ležit", + "Ġìĸ¸ ìłľ", + "ĠÑĪвид ко", + "Ġsitu aci", + "åħĥ ç´ł", + "İT ESİ", + "ĠV ak", + "ĠVa k", + "Ġner edeyse", + "i iii", + "ii ii", + "iii i", + "ÑĢа зд", + "ÑĢаз д", + "Ġп олиÑĤ", + "Ġпо лиÑĤ", + "Ġпол иÑĤ", + "Ġполи ÑĤ", + "Ġп огод", + "Ġпо год", + "Ġпог од", + "ĠпÑĢоÑĨеÑģ Ñģе", + "ĠпÑĢоÑĨеÑģÑģ е", + "Ġмен ÑĪе", + "äºĮ 人", + "ĠÙħÙĪ Ø§Ø·", + "Ġp ÅĻik", + "ĠpÅĻ ik", + "ĠpÅĻi k", + "è· ¡", + "Ġs erg", + "Ġse rg", + "Ġser g", + "ĠÑĢаÑģ ÑģÑĤоÑı", + "и Ñĩно", + "иÑĩ но", + "ĠÎĶ ÎĹÎľ", + "¨ Ø·", + "ص بØŃ", + "صب ØŃ", + "สะ à¸Ķวà¸ģ", + "د رÛĮ", + "در ÛĮ", + "k ům", + "ků m", + "ç§ģ ãģ¯", + "Ġt vor", + "Ġtv or", + "à¥įव व", + "Ġp ÅĻiv", + "ĠpÅĻ iv", + "ĠpÅĻi v", + "Ġ íı´", + "Ġíı ´", + "Ġst átu", + "Ġstát u", + "Ġed ilmiÅŁtir", + "Ġedilm iÅŁtir", + "Ġedil miÅŁtir", + "ĠedilmiÅŁ tir", + "ØŃ Ùħ", + "Ġб ÑĥÑħ", + "ĠбÑĥ Ñħ", + "สำ à¹Ģร", + "ĠتÙĪ Ø¶ÛĮ", + "ãģĿãĤĮ ãģ¯", + "Ġà¤ħव ध", + "é ŀĭ", + "éŀ ĭ", + "âĤ¬ Ċ", + "Ġ éº", + "Ġé º", + "ĠÄĮ es", + "Ġpop rvé", + "ï¼Į åĽł", + "Ġal mÄ±ÅŁ", + "Ġalm Ä±ÅŁ", + "l al", + "la l", + "ĠØ® ÙĪØ¨ÛĮ", + "ĠØ®ÙĪ Ø¨ÛĮ", + "ĠØ®ÙĪØ¨ ÛĮ", + "Ġκ οÏģ", + "Ġκο Ïģ", + "ìļ´ ëıĻ", + "m ayın", + "may ın", + "mayı n", + "Ġak tif", + "Ġakt if", + "ĠاÙĨج ÙħÙĨ", + "ĠÑģ ÑĤак", + "ĠÑģÑĤ ак", + "ĠÑģÑĤа к", + "ĠÑģÑĤ аÑĢа", + "ĠÑģÑĤаÑĢ Ð°", + "ĠÑģÑĤа ÑĢа", + "ÙĦ Ù쨩", + "ÙĦÙģ Ø©", + "Ġparç ası", + "ĠкоÑĢп ÑĥÑģ", + "ãĢģ é«ĺ", + "! ..", + "!. .", + "ĠÎł ÎijÎĿ", + "ĠÙĩÙĨ ÙĪØ²", + "ion álnÃŃ", + "Ġprá vnÃŃ", + "Ġpráv nÃŃ", + " Ŀ", + "Ġت ÛĮر", + "ĠتÛĮ ر", + "Ġ åŁİ", + "ĠåŁ İ", + "Ġзг ад", + "Ġsaldır ı", + "æŁ¥çľĭ æijĺè¦ģ", + "é« ª", + "Ùģ ØµÙĦ", + "ãģĻ ãģ¹ãģ¦", + "е во", + "ев о", + "ê´Ģ리 ìŀIJ", + "Ġìĺ Ĩ", + "udic ots", + "ÙĪØ± ÙĨ", + "Ġcel kem", + "ãĤ¤ ãĤº", + "ìĬ¤ ê°Ģ", + "販 売", + "ĠíĮĮìĿ¼ 첨ë¶Ģ", + "ë ¢°", + "Ġe nergie", + "Ġenerg ie", + "Ġener gie", + "es idir", + "esi dir", + "Ġm iá»ĩng", + "éĻ ·", + "Ġг аÑĢа", + "ĠгаÑĢ Ð°", + "Ġb iliyor", + "Ġbil iyor", + "çį² å¾Ĺ", + "еÑĤ еÑĢб", + "à¹Īา à¹Ģà¸Ľ", + "Ġμα ζί", + "Ġzprac ovánÃŃ", + "Ñģ м", + "Ġh ala", + "Ġha la", + "Ġhal a", + "Ġز ÙĪØ¬", + "ĠвÑĸд нов", + "à¹Ģหม าะ", + "ĠÐłÐµÑģп Ñĥбли", + "åĩºåĵģ èĢħ", + "Ñī ини", + "Ñīи ни", + "Ñīин и", + "ัà¸Ļ à¹Ģà¸Ľ", + "Ġtý den", + "Ġtýd en", + "Ġب ÙĬت", + "ĠبÙĬ ت", + "Ñģ комÑĥ", + "Ñģк омÑĥ", + "Ñģком Ñĥ", + "Ñģко мÑĥ", + "ĠÙĩÙĪ Ø§Ù¾ÛĮÙħ", + "оÑģ нов", + "é¸ Ł", + "Ġsou krom", + "Ġfa iz", + "Ġdem ok", + "Ġdemo k", + "Ġkter ém", + "Ġkteré m", + "Ġëħ ¹", + "л аÑĩ", + "ла Ñĩ", + "ĠоÑĤвеÑĤ ÑģÑĤвен", + "Ġ ï¼¼:", + "Ġï¼¼ :", + "Ġ λο", + "Ġλ ο", + "ÄĮ esk", + "ê°Ģ ìļĶ", + "Ġ ãĥĬ", + "Ġãĥ Ĭ", + "Ġnhu áºŃn", + "ĠÑģ или", + "ĠÑģи ли", + "ĠÑģил и", + "ĠÐľ он", + "Ġç ap", + "Ġça p", + "ĠRow Box", + "Ġм аÑģÑĤ", + "ĠмаÑģ ÑĤ", + "Ġма ÑģÑĤ", + "ĠÐľ а", + "ĠдÑĢÑĥг о", + "ĠдÑĢÑĥ го", + "ĠØ£ Ø´", + "ë°© ìĨ¡", + "ĠпÑĸд пиÑģ", + "èĩ ¨", + "åī ©", + "Ġh iá»ĥn", + "Ġhi á»ĥn", + "ĠÙĤر ارد", + "ĠÙĤرار د", + "ist rat", + "istr at", + "istra t", + "ÐŁ Ñĸд", + "ÏĦε Ïģα", + "ÏĦεÏģ α", + "Ġpoz dÄĽ", + "ĠbaÅŁ ta", + "夫 人", + "л ини", + "ли ни", + "лин и", + "Ġка ÑĩеÑģÑĤва", + "ĠкаÑĩе ÑģÑĤва", + "Ġkur tul", + "Ġ ì¢Į", + "Ġì¢ Į", + "ãģ«ãģĬ ãģijãĤĭ", + "åľ° åįĢ", + "ĠÑĩа Ñģом", + "ĠÑĩаÑģ ом", + "ìµľ ê³ł", + "Ġn gang", + "Ġng ang", + "Ġnga ng", + "ا Ùĩد", + "اÙĩ د", + "ĠШ ев", + "ĠpÅĻ itom", + "ĠpÅĻi tom", + "Ġch ấm", + "ĠÐľ еÑģÑĤо", + "ĠÑģовеÑĢÑĪ ÐµÐ½Ð½Ð¾", + "ÃŃ cÃŃ", + "ÃŃc ÃŃ", + "Ń å·ŀ", + "åĪĽ æĸ°", + "äºĶ æľĪ", + "Ġا عÙħاÙĦ", + "Ġاع ÙħاÙĦ", + "Ġвозмож ноÑģÑĤи", + "Ġвозможно ÑģÑĤи", + "ĠпÑĢод овж", + "n ÄĽt", + "nÄĽ t", + "ĠÐĿа пÑĢимеÑĢ", + "ĠاÙĦ دÙħ", + "ĠاÙĦد Ùħ", + "Ġ à¹ģà¸ļà¸ļ", + "Ġà¹ģ à¸ļà¸ļ", + "çĶŁ çļĦ", + "ĠÑħ аÑĢÑĩ", + "ĠSon uç", + "Ġrůzn é", + "Ġrůz né", + "Ġ اذ", + "Ġا ذ", + "ĠØ§Ø °", + "à¸ķ à¸Ńà¸ļ", + "P ÅĻed", + "PÅĻ ed", + "ĠдеÑĢев Ñıн", + "ë´ IJ", + "ĠëĬIJ ëĤ", + "جÙħ ÙĬع", + "ĠBöyle ce", + "èµ ı", + "Ġب سÙĬ", + "Ġبس ÙĬ", + "ĠÃĩ aÄŁ", + "Ġت اÛĮ", + "Ġتا ÛĮ", + "Ġnej vyššÃŃ", + "èĸ ©", + "Ïĩε δÏĮν", + "Ġëĵ± ìĿĺ", + "e yh", + "ey h", + "æĸĻ çIJĨ", + "ا تÙĩ", + "ات Ùĩ", + "æī «", + "Ġ å©", + "Ġå ©", + "ĠпÑĢи вед", + "ĠпÑĢив ед", + "æī ¶", + "Ġ 견", + "Ġê² ¬", + "Ġا ÙħÛĮر", + "ĠاÙħ ÛĮر", + "ाय ल", + "æ¡ ij", + "à¸Ļ à¹Ģà¸ķ", + "ила кÑĤи", + "å®¶ ä¼Ļ", + "Ġbulun uyor", + "y sa", + "ys a", + " Ĩ", + "ĠB İR", + "íĨ ¤", + "à¤Ĥà¤Ĺ à¤łà¤¨", + "ÎĶ ÎµÎ½", + "à¥Į à¤ķर", + "à¥Įà¤ķ र", + "éĸĵ ãģ«", + "Ġм об", + "Ġмо б", + "ĠMo rav", + "ĠMor av", + "è§Ħ åĪĴ", + "ĠÑģвÑĸÑĤ Ñĸ", + "ul ts", + "ult s", + "Ġze mÃŃ", + "Ġzem ÃŃ", + "Âł ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł", + "ÂłĠÂłĠÂł ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł", + "ĠÐŁ оп", + "ĠÐŁÐ¾ п", + "ãģĤ ãģĴ", + "Ġpom oci", + "Ġpomoc i", + "ĠзмÑĸ ÑģÑĤ", + "Ġзм ÑĸÑģÑĤ", + "主 人", + "ĠS ı", + "ãĥĽ ãĥĨãĥ«", + "ĠÑĥва гÑĥ", + "å» ³", + "à¹Ģม à¸ķร", + "est li", + "Ġlo ạt", + "ãĤ¢ ãĥ¼", + "ĠÎĶ Îµ", + "Ġbun ları", + "Ġbunlar ı", + "Ġ çĤ¹åĩ»", + "ĠçĤ¹ åĩ»", + "Ġ BÃłi", + "ĠB Ãłi", + "ĠBÃł i", + "Ġ ä¸ĸ", + "Ġä¸ ĸ", + "Ġê³ł ê°ľë¥¼", + "ĠÐŃ ÑĤоÑĤ", + "ĠÐŃÑĤо ÑĤ", + "Ġmem nun", + "Ġ ।Ċ", + "Ġ। Ċ", + "ĠиÑģÑĤоÑĢ Ð¸Ð¸", + "Ġ ì°©", + "Ġì° ©", + "१ ९", + "१ॠ¯", + "ĠÐŀд нак", + "ĠÐŀдна к", + "Ġv ede", + "Ġve de", + "Ġved e", + "ÏĨ ÎŃÏģει", + "ÏĨÎŃ Ïģει", + "â b", + "çĬ¶ åĨµ", + "åįı è®®", + "Ġ ê°Ŀ", + "Ġê° Ŀ", + "е вид", + "ев ид", + "еви д", + "j mu", + "jm u", + "Ġколи ÑĩеÑģÑĤва", + "ĠколиÑĩ еÑģÑĤва", + "ĠколиÑĩе ÑģÑĤва", + "à Ľ", + "i Äįe", + "iÄį e", + "Ġfirm alar", + "Ġfir malar", + "Ġfirma lar", + "èĢ Ģ", + "к Ñĸн", + "кÑĸ н", + "ĠêµŃ 민", + "Ġ목 ë¡Ŀ", + "ĠÎļ αÏģ", + "ĠÎļα Ïģ", + "Ġhis sed", + "Ġhiss ed", + "ï¼ «", + "Ġ Tên", + "ĠT ên", + "ĠÑĤÑĭ ÑģÑıÑĩ", + "ØŃÙĬ ØŃ", + "Ġвпол не", + "ĠS ınıf", + "ĠSın ıf", + "Ġμ ην", + "Ġμη ν", + "Ġ íij¸", + "Ġí ij¸", + "ĠاÙĦ طبÙĬ", + "ĠاÙĦØ· بÙĬ", + "ĠاÙĦطب ÙĬ", + "ĠزÛĮ ب", + "Ġп Ñĥ", + "Ġp raž", + "Ġpr až", + "Ġpra ž", + "ìĹĨ ëĬĶ", + "θ ÏģÏī", + "Ġi çi", + "Ġiç i", + "Ġб Ñĸл", + "ĠбÑĸ л", + "Ðł Ñij", + "Ġì¶ķ 구", + "Ġl ạ", + "Ġ ãĥķãĤ¡", + "Ġãĥķ ãĤ¡", + "Ġ èĸ", + "Ġè ĸ", + "μα ÏĦο", + "éĩij å±ŀ", + "á li", + "ál i", + "ĠÙģ Ø£", + "ĠKar lov", + "ĠKarl ov", + "ĠZ áp", + "ĠZá p", + "ãĥª ãĥ³ãĤ°", + "ãĥªãĥ³ ãĤ°", + "ab ilmek", + "abil mek", + "ĠС и", + "Ġc ÃŃrk", + "ĠcÃŃ rk", + "Ġk á»ĭp", + "Ġà¤ij नल", + "ĠÙĪ ØŃدة", + "ĠÙĪØŃ Ø¯Ø©", + "ãĥĭ ãĥĥãĤ¯", + "Ġn Æ°á»Ľng", + "Ġа кÑĤÑĥ", + "Ġак ÑĤÑĥ", + "ĠакÑĤ Ñĥ", + "å¸Ŀ åĽ½", + "Ġn ázev", + "Ġnáz ev", + "ĠÑĢемон ÑĤ", + "ĠÑĢ Ð¸Ð½ÐºÑĥ", + "ĠÏĢ Î¬Î½Ïī", + "ĠÏĢά νÏī", + "ÏĦ ικο", + "ÏĦικ ο", + "ÏĦι κο", + "ĠìĤ¼ ìĦ±", + "ĠÑģимпÑĤом Ñĭ", + "ĠÑĢа нÑĸÑĪе", + "ĠJ á", + "ĠÑģÑĩиÑĤа еÑĤÑģÑı", + "ĠÑģÑĩиÑĤ аеÑĤÑģÑı", + "Ġп оÑĢÑĸв", + "Ġпо ÑĢÑĸв", + "ĠпоÑĢ Ñĸв", + "ĠÐľ ал", + "ĠÐľÐ° л", + "éĿ¢ 积", + "ĠÙĦ غ", + "Ġج Ø´ÙĨ", + "Ġнед ели", + "Ġнедел и", + "Ġì¦Ŀ ê°Ģ", + "ãĨį ëıĻ", + "Ġl ượt", + "ĠÄIJ á»ĭnh", + "Ġ à¸Ńà¸Ńà¸Ļà¹Ħลà¸Ļ", + "Ġà¸Ń à¸Ńà¸Ļà¹Ħลà¸Ļ", + "Ġyap arak", + "Ġyapar ak", + "ĠÄij ai", + "ĠÄija i", + "Ġо ÑĦиÑĨи", + "Ġε μÏĢ", + "ξ ειÏĤ", + "ξει ÏĤ", + "Ġкон ÑĦеÑĢен", + "Ġ arası", + "Ġa rası", + "Ġar ası", + "Ġaras ı", + "Ġara sı", + "à¸ķ า", + "Ġ ë´IJ", + "Ġë´ IJ", + "о вана", + "ов ана", + "ова на", + "ован а", + "ì§Ģ ê°Ģ", + "ĠV ám", + "ि à¤ľà¤¨", + "à¤¿à¤ľ न", + "Ġ ç¼ĸè¾ij", + "Ġç¼ĸ è¾ij", + "ζ ÏĮ", + "ĠÏĦ ÏģÏĮ", + "Ġücret siz", + "ĠکاÙħ ÙĦا", + "ĠکاÙħÙĦ ا", + ": ::/", + ":: :/", + "::: /", + "à¹Į ĊĊ", + "à¹ĮĊ Ċ", + "Ġéĸ¢ éĢ£", + "Ġ kara", + "Ġk ara", + "Ġka ra", + "Ġkar a", + "Ġбез пеки", + "ĠzmÄĽ ny", + "ĠzmÄĽn y", + "Ġê¿ Ī", + "v rd", + "vr d", + "li ÄŁine", + "liÄŁi ne", + "liÄŁ ine", + "liÄŁin e", + "ĠاÙĨتخاب ات", + "ĠдоÑģ вÑĸд", + "Ġkter ého", + "Ġkteré ho", + "ен ÑĤом", + "енÑĤ ом", + "ê³µ ë¶Ģ", + "ìł Ŀ", + "Ġë§Į 족", + "Ġ æij", + "Ġæ ij", + "åĩº åı£", + "建 è®®", + "о ÑĤÑı", + "оÑĤ Ñı", + "Ġ Òij", + "ĠÒ ij", + "íĶĦ ë¡ľ", + "Ġg ió", + "Ġgi ó", + "ãĤ· ãĤ§", + "Ġλ εÏĢ", + "íķĺ 볤", + "Ġyok sa", + "Ġist ih", + "ï¼ ¶", + "ĠاÙĦ عÙħ", + "ĠاÙĦع Ùħ", + "Ġکار گرد", + "à¹Ģà¸ŀ ราะ", + "Ġn ových", + "Ġnov ých", + "Ġnový ch", + "ĠÑģ на", + "Ġs ana", + "Ġsa na", + "Ġsan a", + "व त", + "Ä±ÅŁ man", + "Ä±ÅŁma n", + "åı¦ å¤ĸ", + "ì¶ľìŀ¥ ìĥµ", + "å© ¦", + "ĠкоÑĪ ÑĤÑĸв", + "ĠÙĪØ§ÙĦ ÙĨ", + "Ġب اÙĦØ¥", + "ĠباÙĦ Ø¥", + "Ġ æĬĢ", + "ĠæĬ Ģ", + "Ġмн оже", + "à¥Ĥ ड", + "ĠC ục", + "Ġe vet", + "Ġev et", + "Ġeve t", + "èģĶ åIJĪ", + "Ġ³³Ġ³³ Ġ³³Ġ³³", + "çļĦ å¿ĥ", + "Ġd áng", + "Ġdá ng", + "Ġdán g", + "اÛĮ سÙĩ", + "Ġ erken", + "Ġer ken", + "Ġerk en", + "æ³ ¡", + "ائ ب", + "Ġyap ıldı", + "Ġyapıl dı", + "ĠQu ản", + "æĹ¶ 代", + "ìĽ ¨ìĸ´", + "ìĽ¨ ìĸ´", + "Ġг ÑĸÑĢ", + "ok oj", + "oko j", + "Ùĥ رة", + "Ùĥر Ø©", + "Ñİ Ðº", + "Ġvý j", + "Ġhod iny", + "Ġhodin y", + "Ġелек ÑĤÑĢон", + "m ıyor", + "ĠìŀĪ ëĭ¤ëĬĶ", + "ĠìŀĪëĭ¤ ëĬĶ", + "à¹ī à¹ī", + "иÑĤелÑĮ ное", + "иÑĤелÑĮно е", + "Ġyıl lar", + "Äı te", + "ĠÄįin nost", + "ุà¸ĵ à¸łà¸²à¸ŀ", + "í ĵ¨", + "н г", + "ู รà¸ĵ", + "ูร à¸ĵ", + "ĠпоÑĢÑıд ке", + "Ġëĭ¹ ìĭľ", + "ĠÐľ оÑģков", + "ĠÐľÐ¾Ñģк ов", + "Ġk red", + "Ġkr ed", + "Ġkre d", + "u rum", + "ur um", + "uru m", + "Ġ ÑĤÑı", + "ĠÑĤ Ñı", + "Ú© ÙĨاÙĨ", + "Ú©ÙĨ اÙĨ", + "д ии", + "ди и", + "ÑĢи мÑĸн", + "ÑĢим Ñĸн", + "ĠоÑĢгани зм", + "ĠоÑĢганиз м", + "Ġ éĽĨ", + "ĠéĽ Ĩ", + "ι ÏĥÏĦο", + "ιÏĥ ÏĦο", + "ä¿¡ ç͍", + "åįģ åĽĽ", + "à¹Ī à¹ĥà¸Ĭ", + "ĠÑĥ вид", + "ĠÑĥв ид", + "ัà¸ĩ à¸ģล", + "ัà¸ĩà¸ģ ล", + "åı¦ ä¸Ģ", + "ãĥ« ãĥķ", + "ัà¸ļ à¸Ľà¸£", + "ĠÃľ st", + "説 æĺİ", + "в ай", + "ва й", + "а Ñĩе", + "аÑĩ е", + "æ¬ £", + "Ġkat ıl", + "Ġkatı l", + "ĠC em", + "ĠCe m", + "ĠاÙĦ جÙĩ", + "ĠاÙĦج Ùĩ", + "Ġг ÑĢÑĥз", + "ĠгÑĢÑĥ з", + "ĠгÑĢ Ñĥз", + "Ġза ÑģÑĤав", + "ĠзаÑģÑĤ ав", + "cı lar", + "ĠÑħоÑĤ ел", + "Ġs nÃŃm", + "Ġsn ÃŃm", + "ĠsnÃŃ m", + "ï¼Į 被", + "Ġ виÑī", + "Ġв иÑī", + "Ġви Ñī", + "Ġdem okrat", + "Ġdemok rat", + "à¥ĩ à¤Łà¤°", + "à¥ĩà¤Ł र", + "åij¨ å¹´", + "Ġod pad", + "Ġodp ad", + "Ġda ÅĪ", + "Ġ 代", + "à¹ĩ à¸Ļà¸Ń", + "à¹ĩà¸Ļ à¸Ń", + "ĠÑģк олÑĮко", + "Ġα ÏĨ", + "ĠpÅĻes vÄĽd", + "Ġ åĵģ", + "Ġåĵ ģ", + "ĠинÑĦоÑĢм аÑĨии", + "ĠинÑĦоÑĢма ÑĨии", + "çĽ Ĺ", + "ãģ¾ ãģ¨", + "ĠÑģам ов", + "ĠÑģамо в", + "Ġpo cit", + "Ġpoc it", + "Ġíݸ ì§ij", + "ĠÑģм еÑģÑĮ", + "Ġpo jiÅ¡tÄĽnÃŃ", + "ãģ® ãĤĤ", + "à¹Ī าà¸ģาร", + "à¹Īา à¸ģาร", + "à¹Īาà¸ģ าร", + "ĠÛĮ ÙĪÙĨ", + "Ġ기 ìĸµ", + "ick ými", + "ický mi", + "ickým i", + "a lace", + "al ace", + "ala ce", + "鼻 å½±", + "Ñİ Ð²Ð°Ð½Ð½Ñı", + "缸 åIJĮ", + "Ġ ãĢĥ", + "ĠãĢ ĥ", + "ĠдокÑĥм енÑĤÑĸв", + "ĠдокÑĥменÑĤ Ñĸв", + "ï¼ ¹", + "åΰ åºķ", + "ó z", + "ĠAh met", + "ĠÙħس اØŃت", + "Ġhl avou", + "Ġhlav ou", + "ül ebilir", + "üle bilir", + "ãĢĤ ä½ł", + "à¹ĩà¸ģ à¸Ĭาย", + "¤ ¤", + "Ġ æĦı", + "ĠæĦ ı", + "Ġch áºŃm", + ". д", + "Ġ cca", + "Ġc ca", + "Ġcc a", + "Ġol umsuz", + " ŀ", + "çĬ ¬", + "ĠпоÑģÑĤоÑıн но", + "Ġ.************** Ċ", + "Ġا ستر", + "Ġاست ر", + "Ġاس تر", + "ĠдалÑĮ ней", + "ů r", + "ä¿Ŀ èŃ·", + "боÑĢ Ð°ÑĤоÑĢ", + "боÑĢа ÑĤоÑĢ", + "à ·", + "Ïĥ ÏĦαν", + "ÏĥÏĦ αν", + "ÏĥÏĦα ν", + "ĠÙģ ÙĬÙĦÙħ", + "ĠÙģÙĬ ÙĦÙħ", + "ç ek", + "çe k", + "ìŀIJ 기", + "Ġ æ¥Ń", + "Ġæ¥ Ń", + "н Ñĸп", + "нÑĸ п", + "èī ĩ", + "Ġm oci", + "Ġmo ci", + "Ġmoc i", + "ìľ µ", + "리 ê·¸", + "ĠÐļ о", + "éĤ£ éĩĮ", + "ĠС ÑĤаÑĢ", + "ĠСÑĤ аÑĢ", + "ĠСÑĤа ÑĢ", + "ĠتÙĪØ§ÙĨ ÛĮد", + "Ġng uyá»ĩn", + "Ġnguy á»ĩn", + "Ġ สามารà¸ĸ", + "Ġส ามารà¸ĸ", + "Ñĸ Ñĩна", + "ÑĸÑĩ на", + "Ġ 被", + "Ġè¢ «", + "ุà¸ķสาห à¸ģรรม", + "Ġع صر", + "Ġعص ر", + "ĠÃľNİ VERS", + "Ġteh dy", + "ĠÙĪØµÙĦ ات", + "ĠÙĪØµ ÙĦات", + "ä¿Ŀ è¯ģ", + "ĠE udicots", + "ĠÎł ÎŃ", + "建 è¨Ń", + "ĠìłĦ êµŃ", + "Ġ ØŃÛĮ", + "ĠØŃ ÛĮ", + "ãĤ¤ ãĥĦ", + "ĠØŃ اصÙĦ", + "ĠجÙĨ ÙĪØ¨ÛĮ", + "ĠجÙĨÙĪØ¨ ÛĮ", + "ãĢģ æĹ¥æľ¬", + "à Ļ", + "Ġ à¸Ĺาà¸ĩ", + "Ġà¸Ĺ าà¸ĩ", + "ĠÙĨØŃ ÙĪ", + "اÙĩ ÙĬÙħ", + "å¾Į ãģ«", + "à¸Īะ à¹Ħà¸Ķ", + "åĩł 个", + "à¥ģ à¤ģ", + "à¥ģठģ", + "ëĮĢ ìĿĺ", + "Ġl Ãłn", + "ĠlÃł n", + "ìĽĶ ë¶ĢíĦ°", + "Æ ł", + "Ġ еди", + "Ġе ди", + "Ġs pis", + "Ġsp is", + "Ġspi s", + "æľī ä»Ģä¹Ī", + "Ġneb yla", + "Ġneby la", + "Ġnebyl a", + "Ġíķ´ ìϏ", + "ë¡ľ ë¶ĢíĦ°", + "аÑĢ Ñħ", + "l ili", + "li li", + "lil i", + "Ġíķĺ 루", + "ma ması", + "mam ası", + "Ñĩ аеÑĤ", + "Ñĩа еÑĤ", + "ĠØŃ اÙĦØ©", + "ĠØŃاÙĦ Ø©", + "ĠBöl üm", + "缸 éĹľ", + "ĠдÑĢÑĥг ими", + "ĠдÑĢÑĥгим и", + "çĽ£ çĿ£", + "à¥Ī à¤ľ", + "Ġعبد اÙĦÙĦÙĩ", + "ĠعبداÙĦ ÙĦÙĩ", + "Ġ è¿ŀ", + "Ġè¿ ŀ", + "ĠÐľ ин", + "ĠÐľÐ¸ н", + "Ġê¸ °ëĭ¤", + "Ġ기 ëĭ¤", + "Ġê³µ 격", + "è¡Į åĭķ", + "ा मà¤ķ", + "ाम à¤ķ", + "æ±Ĥ è´Ń", + "模 åŀĭ", + "Ñģ оÑĢ", + "Ñģо ÑĢ", + "r ane", + "ra ne", + "ran e", + "à¹ĩà¸Ī à¸ŀระ", + "ĠÙħس ÛĮر", + "è£ħ ç½®", + "ìķ ¤", + "nÄĽ jÅ¡ÃŃch", + "nÄĽjÅ¡ÃŃ ch", + "αλ ÏįÏĦε", + "ĠH akk", + "ĠHa kk", + "ĠHak k", + "访 éĹ®", + "ĠÑĤ еÑĩ", + "ĠÑĤе Ñĩ", + "ĠL á»ĭch", + "Ġدش ÙħÙĨ", + "Î Į", + "Ġ ÏĢε", + "ĠÏĢ Îµ", + "Ġза мов", + "Ġзам ов", + "Ġb irim", + "Ġbi rim", + "Ġbir im", + "Ġbiri m", + "ãĤ· ãĤ¹ãĥĨãĥł", + "ĠÏĢÏģο ÏĬ", + "Ĭ ìĿĢ", + "в иг", + "ви г", + "Ġëıħ ìĿ¼", + "ĠÑĢев олÑİ", + "Ġ é¦Ļ港", + "Ġé¦Ļ 港", + "Ġ lez", + "Ġl ez", + "Ġle z", + "ĠبÛĮ Ùħار", + "ĠبÛĮÙħ ار", + "Ġduy gu", + "Ġduyg u", + "Ġë Ľ°", + "Ġa macı", + "Ġam acı", + "Ġama cı", + "Ġamac ı", + "à¥įय प", + "ĠìŀIJ ìĦ¸", + "اÙĪ ÛĮر", + "اÙĪÛĮ ر", + "Ġs pole", + "Ġsp ole", + "Ġspo le", + "Ġspol e", + "Ãĸ L", + "Ġ جع", + "Ġج ع", + "ÙĦ ÛĮÙħ", + "ÙĦÛĮ Ùħ", + "ãģªãģ© ãģ®", + "à¸Ľà¸£à¸°à¸ª à¸ļ", + "ĠnaÅ¡ ich", + "ĠпÑĢедÑģÑĤав лÑıеÑĤ", + "Ġзд об", + "Ġo bou", + "Ġob ou", + "Ø® ÙĪØ§ÙĨ", + "Ø®ÙĪ Ø§ÙĨ", + "ãĥ¬ ãĥĥãĥĪ", + "о дейÑģÑĤв", + "од ейÑģÑĤв", + "Ú© رÛĮ", + "کر ÛĮ", + "Ġات اÙĤ", + "ĠÑįкÑģп лÑĥаÑĤа", + "ï½ ¢", + "ĠÙĦÙĦ Ø¥", + "ĠاÙĦÙĨ ظاÙħ", + "ĠíĶĦ ëŀijìĬ¤", + "ıs ıt", + "ısı t", + "åŃ Ļ", + "Ġžád ný", + "ÙĤ Ùī", + "ัà¸ģ à¹Ģร", + "Ġë²ł ìĬ¤íĬ¸", + "Ġ ãĥ«", + "Ġãĥ «", + "åı Ķ", + "n ické", + "nic ké", + "nick é", + "Ġε ιÏĥ", + "Ġει Ïĥ", + "ãĥ« ãĥī", + "Ġدار Ùħ", + "Ġг ем", + "Ġге м", + "Ġ åѸ", + "ĠåŃ ¸", + "ान सà¤Ń", + "ानस à¤Ń", + "али зи", + "ализ и", + "ов анÑĸ", + "ова нÑĸ", + "ован Ñĸ", + "Ġо бо", + "Ġоб о", + "ìłĦ ìĹIJ", + "ĠS inh", + "ĠSi nh", + "ĠSin h", + "Ġ ÙĨع", + "ĠÙĨ ع", + "Ġоб лаÑģ", + "Ġобла Ñģ", + "Ġобл аÑģ", + "Ïħ ÏĢ", + "èĥ ¶", + "Ġaz alt", + "Ġazal t", + "åħ¨ éĿ¢", + "ĠK romÄĽ", + "ĠKro mÄĽ", + "ĠC z", + "æĬ¥ åIJį", + "Ġnásled ujÃŃcÃŃ", + "Ġна пÑĢиклад", + "ĠнапÑĢи клад", + "ãģª ãģijãĤĮãģ°", + "à¸Ń าย", + "çľĭ çľĭ", + "Ġà¸ģร à¸ģà¸İ", + "Ġà¸ģรà¸ģ à¸İ", + "ed nou", + "edn ou", + "ا زÙĦ", + "از ÙĦ", + "ãĢģ æľ¬", + "е Ñģи", + "еÑģ и", + "Ġta rz", + "Ġtar z", + "ãĢĢ ï¾Ĭ", + "Ġroz um", + "ãĤ« ãĥ¼ãĥī", + "ãĤ«ãĥ¼ ãĥī", + "Ġà¤ĩ à¤ķ", + "Ġpros tÄĽ", + "Ġprost ÄĽ", + "ĠÎĵ κ", + "ç© ´", + "ĠH ük", + "la vÃŃ", + "lav ÃŃ", + "ê ¿", + "é¸ ¡", + "Ġвозник аеÑĤ", + "Ġвозника еÑĤ", + "ÑŁ ÑŁÑŁ", + "ÑŁÑŁ ÑŁ", + "Ġпо нима", + "Ġпон има", + "ÐŁ Ðŀ", + "ãģĶãģĸ ãģĦãģ¾ãģĻ", + "ãģ ħ", + "Ġtr val", + "Ġдал еко", + "ĠÙĨ ÙĬز", + "ĠÙĨÙĬ ز", + "ĠвÑĭ Ñıв", + "ิà¸Ĺย า", + "ิà¸Ĺ ยา", + "Ġl á»Ĺ", + "Ġlá» Ĺ", + "à¹Ģ สà¸Ļ", + "à¹Ģส à¸Ļ", + "ĠÑģÑĤ енÑĭ", + "ĠÑģÑĤен Ñĭ", + "à¥įड ल", + "Ġjednotliv ých", + "ĠпÑĢиб лиз", + "i kat", + "ik at", + "ika t", + "Ġп одав", + "Ġпо дав", + "Ġпод ав", + "Ġпода в", + "ر ÛĮز", + "رÛĮ ز", + "ĠØ¢ÙĨ جا", + "社 æľĥ", + "Ġà¤ľà¤¨ वर", + "Ġa ile", + "Ġai le", + "Ġail e", + "ี à¸Ľ", + "Ġ èħ", + "Ġè ħ", + "ãģ§ ãģĹãĤĩãģĨ", + "С Ðŀ", + "ãĢģ ãĢĬ", + "ìĿ¼ 본", + "ov anou", + "ova nou", + "ovan ou", + "ν ÏĮ", + "å± ¥", + "ع ÙĦÙĤ", + "عÙĦ ÙĤ", + "Ġìī ½", + "Ġгли б", + "Ġê²ĥ ìŀħëĭĪëĭ¤", + "ĠнеобÑħодим оÑģÑĤи", + "ĠнеобÑħодимо ÑģÑĤи", + "Ġتخصص ÛĮ", + "ا سر", + "اس ر", + "ï¼Į 说", + "ĠÐĿ Ñĸ", + "Ġvy rob", + "ÑĪ ÑĥÑİ", + "ÑĪÑĥ Ñİ", + "æĪ¿ å±ĭ", + "Âł ÐĹ", + "à¹Ģ à¸ŀล", + "à¹Ģà¸ŀ ล", + "åĨħ éĥ¨", + "ĠدÙĦ ار", + "Ġп ÑĤи", + "Å¡ ti", + "Å¡t i", + "ĠaraÅŁtır ma", + "Ġзна ком", + "Ġε λλην", + "Ġ ấm", + "ÑĢ Ð°Ðº", + "ÑĢаРº", + "ÑĢа к", + "ãĤŃ ãĥ¥", + "Ġth áºŃn", + "èŃ ľ", + "ëªħ ìĿĺ", + "Ġy eter", + "Ġyet er", + "Ġye ter", + "Ġна Ñģлед", + "ĠнаÑģ лед", + "ĠÐļ ан", + "ĠÐļа н", + "ĠвÑĭ биÑĢа", + "ĠвÑĭб иÑĢа", + "ĠΣ Ïĩ", + "ĠÑĤеÑĢ Ð¼Ñĸн", + "Ġ æ´»", + "Ġæ´ »", + "ĠاÙĦ تÙģ", + "ĠاÙĦت Ùģ", + "ĠJ apon", + "ĠJa pon", + "ĠJap on", + "éĤ ª", + "ë¶Ħ ìĦĿ", + "Ġли ÑĨо", + "ĠлиÑĨ о", + "Ġm ê", + "à¸Ħ วร", + "à¸Ħว ร", + "Ġà¤ħ à¤Ĺल", + "Ġà¤ħà¤Ĺ ल", + "ĠÙĩ ج", + "룬 ìļ´", + "Ġвой нÑĭ", + "اÙĪØ± زÛĮ", + "ĠÑģп ÑĢÑı", + "çĦ ¼", + "è¢ ĸ", + "Ġiç eren", + "Ġiçer en", + "Ġëħ¸ ëŀĺ", + "ĠЧеÑĢ ÐµÐ·", + "ÙĪØ¬ ÙĪØ¯", + "Ñı ÑĤие", + "ÑıÑĤ ие", + "ÑıÑĤи е", + "à¸Ńลล าร", + "è ·¨", + "è· ¨", + "ĠM illi", + "ĠMill i", + "ĠMil li", + "ĠMi lli", + "ä»¶ äºĭ", + "Ġ æľĿ", + "βολ ή", + "βο λή", + "Ġ ков", + "Ġк ов", + "Ġко в", + "ĠØ´Ùĩ ÛĮد", + "ä¸ĭ åİ»", + "Ġìłķ ìĭł", + "оÑĩ кÑĥ", + "ï¼Į 便", + "γ κε", + "γκ ε", + "ĠÙħ باش", + "ĠÙħب اش", + "Ġay ında", + "Ġ ä»»", + "ÑģÑĤоÑĢ ÑĸÑı", + "ä¸Ń åѦ", + "ç¸ ®", + "ĠÑĦ Ñĸл", + "ãĢģ ãĤĦ", + "Ġ æĺ¥", + "Ġæĺ ¥", + "Ġter ör", + "Ġповин ен", + "Ġmilion ů", + "ĠÙģ Ø§Ø±Ø³", + "ĠÙģØ§Ø± س", + "Ġв вод", + "Ġвв од", + "Ø· اÙĦ", + "Ġê¶ģ ê¸Ī", + "Ġuk áz", + "çĶ ľ", + "æļ Ĥ", + "ص ت", + "Ðļ огда", + "Ġम ल", + "ά να", + "άν α", + "Ġдок ÑĤоÑĢ", + "Ġком мÑĥ", + "ĠпÑĸд Ñģ", + "Ġà¸ģรà¸ģà¸İ าà¸Ħม", + "Âł г", + "Ġö ne", + "Ġön e", + "ĠÄIJ á»ģ", + "ĠÄIJá» ģ", + "äºĭ åĭĻ", + "Ġs rov", + "Ġsr ov", + "Ġ άν", + "Ġά ν", + "ëıĦ ê°Ģ", + "acaÄŁ ım", + "acaģı m", + "к ол", + "ко л", + "Ġb á»ĵi", + "Ġپرد از", + "Ġ ä¸ļ", + "Ġä¸ ļ", + "ëĭ¤ ìļ´", + "Ġп ÑĢедел", + "ĠпÑĢед ел", + "ĠпÑĢе дел", + "ĠÑĦедеÑĢа лÑĮ", + "ĠاÙĦ Ø£Ùĥ", + "ĠاÙĦØ£ Ùĥ", + "ãĢĢ ãĢĢãĢĢãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢĠãĢĢ ĠãĢĢ", + "Ġtr ấn", + "Ġд лин", + "Ġдли н", + "ĠÑĸ мп", + "ĠÑĸм п", + "ĠsmÄĽ rem", + "° ëĭ¤", + "Ġr ừng", + "ici álnÃŃ", + "è¡ Ĩ", + "μ ιο", + "μι ο", + "Ġاد ارÙĩ", + "ĠÑĤ ÑĢÑĮ", + "ĠÑĤÑĢ ÑĮ", + "Ġİ li", + "Ġİl i", + "มà¸Ļ à¸ķร", + "à¥įव à¤ļ", + "е ÑĢо", + "еÑĢ Ð¾", + "ĠK UR", + "sk ými", + "ský mi", + "ským i", + "δ ί", + "u tin", + "ut in", + "uti n", + "Ġver iler", + "Ġveri ler", + "สà¸ĸาà¸Ļ à¸Ĺ", + "ĠзаÑħод Ñĸв", + "ĠÙ쨱ÙĪØ¯ گاÙĩ", + "Ġ çͱ", + "ู à¹ģล", + "éĥ ij", + "ĠJ ako", + "ĠJa ko", + "ĠJak o", + "ĠÑĢазвиÑĤи е", + "ĠÑĢазви ÑĤие", + "à¤ī न", + "ÙĬ دا", + "ÙĬد ا", + "Ġà¸ŀ à¸¤à¸©à¸łà¸²à¸Ħม", + "물 ìĿĦ", + "ë łĢ", + "ëł Ģ", + "- ÐĽ", + "ãĢĤ ãģĤ", + "Ġпод в", + "ï¼ī ï¼ļ", + "论 åĿĽ", + "ائ ع", + "ãĤĴ ãģĻãĤĭ", + "ĠØ£ ص", + "Ñĩ ики", + "Ñĩи ки", + "Ñĩик и", + "ĠÑģÑĤ ил", + "ley ici", + "Ñģ илÑĮ", + "Ñģи лÑĮ", + "Ġbulun du", + "ĠÑģеÑĢед ови", + "à¤Ĥ र", + "ĠاÛĮÙĨ جا", + "åľŃ åľŃ", + "ĠmyÅ¡ len", + "ĠÑĢозвиÑĤ ок", + "Ġiy ileÅŁ", + "Ġiyi leÅŁ", + "Ġв Ñĸз", + "ĠвÑĸ з", + "ëĤĺ 무", + "æĦı è§ģ", + "ι ÏĥÏĦη", + "ιÏĥ ÏĦη", + "ãĥĥ ãĥĦ", + "äºĭ æķħ", + "m adıģı", + "ma dıģı", + "mad ıģı", + "madı ģı", + "Ġà¤ħ पर", + "Ġà¤ħप र", + "ĠÚĨ رخ", + "Ġп лав", + "Ġпл ав", + "Ġпла в", + "以 æĿ¥", + "Ġë© Ģ", + "T uy", + "Tu y", + "ãĥ¼ ãĥį", + "ãĥ¼ãĥ į", + "Ġиз ÑĥÑĩ", + "ĠstÅĻed nÃŃ", + "课 ç¨ĭ", + "Ġê·¸ëħĢ ëĬĶ", + "ĠдоговоÑĢ Ñĥ", + "Ġдогов оÑĢÑĥ", + "ĠÄij á»ĭch", + "ĠÄijá»ĭ ch", + "Ġkar arı", + "Ġkarar ı", + "Ġkara rı", + "åIJ ´", + "Ùĥ اÙħ", + "ĠпоÑĤ ол", + "в ок", + "во к", + "ĠD üz", + "Τ α", + "å µ", + "âĢĻ na", + "âĢĻn a", + "а дж", + "ад ж", + "ĠdÅĻÃŃ ve", + "æ¢ ¨", + "ĠAv ust", + "åĬĽ ãĤĴ", + "à¹Ģ à¸ģล", + "à¹Ģà¸ģ ล", + "Ġпоб ед", + "Ġп ÑĢиÑĩ", + "ĠпÑĢ Ð¸Ñĩ", + "ĠпÑĢи Ñĩ", + "ĠÐij Ñĸ", + "åŃ ¤", + "ĠÐł ег", + "ĠÐłÐµ г", + "Ġyet iÅŁ", + "Ġн еÑİ", + "Ġне Ñİ", + "Ġb ÃŃl", + "ĠbÃŃ l", + "ìĹĨ ìĿĮ", + "Ġİ talya", + "ÐĴ Ñģе", + "å¾Į ãģ®", + "Ġje jÃŃm", + "Ġjej ÃŃm", + "ĠjejÃŃ m", + "ĠвиглÑı дÑĸ", + "о гÑĢад", + "ог ÑĢад", + "огÑĢа д", + "Ġbo hat", + "Ġboh at", + "Ġ åħĭ", + "Ġåħ ĭ", + "ĠдиÑĤи ни", + "ĠдиÑĤ ини", + "лÑı ÑĤоÑĢ", + "ма га", + "маг а", + "ëĭĪ ìĬ¤", + "ĠÐł ади", + "ĠÐłÐ°Ð´ и", + "ĠÐłÐ° ди", + "ÏĢ Î¿ÏħÏģγ", + "ÏĢοÏħ Ïģγ", + "& ZeroWidthSpace", + "Ġ struk", + "Ġst ruk", + "Ġstr uk", + "Ġstru k", + "æIJ ŀ", + "Ġ ãģĿãģ®ä»ĸ", + "ìĿ¸ ìĿĦ", + "ĠпÑĢо веÑģÑĤи", + "ĠпÑĢов еÑģÑĤи", + "漫 çĶ»", + "Ġçİ© å®¶", + "ĠÙĪ Ø±Ø²", + "ĠÙĪØ± ز", + "ĠÑģвоÑĹ Ð¼", + "ĠL RV", + "ĠLR V", + "ิà¸ķ à¸ł", + "स त", + "ĠíĿ Ķ", + "âĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹı âĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹı", + "Ġt voÅĻÃŃ", + "ĠtvoÅĻ ÃŃ", + "Ġ ÐŁÐŀ", + "ĠÐŁ Ðŀ", + "é«ĺ 度", + ".h wp", + ".hw p", + "à¸ķำ à¸ļล", + "Ġد س", + "ìĪĺ ê°Ģ", + "ìĶ ©", + "ï¼ī ãĢĤĊ", + "ï¼īãĢĤ Ċ", + "æĭ ³", + "Ġl ô", + "ĠK ültür", + "اط عة", + "Ġku chy", + "Ġst roj", + "Ġstr oj", + "Ġstro j", + "μ ενο", + "με νο", + "μεν ο", + "ĠконÑģÑĤÑĢÑĥк ÑĨии", + "å°ı åѦ", + "Ġ åįļ", + "Ġåį ļ", + "Ġ èĢĥ", + "ĠèĢ ĥ", + "Ġas ıl", + "æĪij åĢij", + "خر اج", + "ĠO nun", + "ĠOn un", + "Ġ ç¾İåĽ½", + "Ġç¾İ åĽ½", + "à¥Ĥ बर", + "à¥Ĥब र", + "Ġmu ži", + "Ġmuž i", + "å§ «", + "Ġв б", + "Ġдо ме", + "Ġдом е", + "Ġ ам", + "Ġа м", + "Ġk uru", + "Ġkur u", + "Ġku ru", + "æ± Ĺ", + "l ediÄŁi", + "le diÄŁi", + "ledi ÄŁi", + "Ġv ẽ", + "å¾ ĵ", + "ĠгÑĥб еÑĢ", + "ĠÑģÑĤанов иÑĤÑĮ", + "ĠzemÄĽ dÄĽl", + "ÙĦ ÙĦ", + "Ġr amen", + "Ġra men", + "Ġram en", + "Ġprů bÄĽhu", + "Ġb lok", + "Ġbl ok", + "Ġblo k", + "ý val", + "ýv al", + "v ou", + "vo u", + "ν ά", + "ëĶĶ ìĭľ", + "ÑĨион нÑĭе", + "Ġê²Įìĭľ íĮIJ", + "ãĥ³ ãĥĩãĤ£", + "ãĥ³ãĥĩ ãĤ£", + "ä¸Ģ 级", + "и Ñĩа", + "иÑĩ а", + "ĠسرÛĮ اÙĦ", + "i lin", + "il in", + "ili n", + "ा यन", + "ाय न", + "ÙĨ ÙĪÛĮس", + "ĠÐĶ Ð¸", + "Ġاد بÛĮ", + "ĠÑĥ дов", + "ĠÑĥд ов", + "ĠÐĹ Ð°Ð¼", + "ĠÐĹа м", + "à¥ģà¤Ń व", + "Ñģ ок", + "Ñģо к", + "ĠÑĢай оне", + "ĠÑĢайон е", + "Ġ EK", + "ĠE K", + "æĤ ī", + "Ġsor umlu", + "Ġsoruml u", + "Ġzv yÅ¡", + "à¹Ģà¸ĭ à¸Ńร", + "in áÅĻ", + "iná ÅĻ", + "Ġu drž", + "Ġud rž", + "но вид", + "нов ид", + "ĠspoleÄį nÄĽ", + "Ġspole ÄįnÄĽ", + "æĪIJ äºĨ", + "ï¼ ¤", + "ัà¸ŀ à¸Ĺ", + "а ÑĪа", + "аÑĪ Ð°", + "ĠÙĨ ادÙĬ", + "à¹ĥ à¸Ļà¸Ĺ", + "à¹ĥà¸Ļ à¸Ĺ", + "å¡ ļ", + "Ġس Ú©", + "ãĥģ ãĥ¥", + "ĠмаÑĢ ÑĪ", + "а леннÑı", + "ал еннÑı", + "ĠØŃÙħ اÛĮت", + "ãĥ³ ãĤ¸", + "รษ à¸IJ", + "Ġк ÑĢем", + "ĠK ažd", + "ê ½", + "Ġpar lament", + "Ġparl ament", + "ĠÅŁ un", + "ĠÅŁu n", + "Ġk ys", + "Ġky s", + "ÏĦ ÏĤ", + "ê°ľ ìĿĺ", + "Ġve lice", + "Ġvel ice", + "Ġce stu", + "Ġces tu", + "Ġcest u", + "ظ Ø©", + "è¯ Ĭ", + "Ġ út", + "Ġú t", + "ĠØ® ÙĪØ±", + "ĠØ®ÙĪ Ø±", + "ĠТ е", + "Ġобла ÑģÑĤ", + "ĠоблаÑģ ÑĤ", + "Ġобл аÑģÑĤ", + "à¹Ī à¸Ńà¸ķ", + "à¹Īà¸Ń à¸ķ", + "ĠAc adem", + "ĠAcad em", + "ãĢĤ æľ¬", + "Ġ 風", + "Ġé¢ ¨", + "Ñģ ен", + "Ñģе н", + "ãĥ¢ ãĥĩãĥ«", + "Ġзавд аннÑı", + "ãģ¾ ãĤĮ", + "моÑĤ ÑĢеÑĤÑĮ", + "моÑĤÑĢ ÐµÑĤÑĮ", + "Ġkh á»ķ", + "à¹Ī ร", + "د رس", + "در س", + "ĠÄĮesk osloven", + "Ġ 计", + "Ġè® ¡", + "ĠÑĤак ом", + "ĠÑĤа ком", + "ĠÙĦ اعب", + "ĠÙĦا عب", + "ĠMuham med", + "ĠÙħ ÙĦÙģ", + "ĠÙħÙĦ Ùģ", + "ĠÙĪØ³ ÙĦÙħ", + "ãĤ·ãĥ£ ãĥ«", + "Ġо кÑĢа", + "Ġок ÑĢа", + "à¥ģ मत", + "à¥ģम त", + "ĠëĪĦ 구", + "Ġned eni", + "Ġneden i", + "ĠëĤł ì§ľ", + "/ km", + "/k m", + "Ġд емон", + "Ġде мон", + "Ġдем он", + "ĠصÙĨ اÛĮع", + "m asından", + "mas ından", + "masında n", + "åīį ãģ®", + "æĪIJ 绩", + "ल à¤Ĺ", + "Ġ åĮħ", + "ĠåĮ ħ", + "à¸Ńà¸ģà¸Īาà¸ģ à¸Ļ", + "ا دا", + "اد ا", + "Ġay lık", + "ĠÙħ ÙĤد", + "ĠÙħÙĤ د", + "Ġönemli dir", + "ĠìĪľ ê°Ħ", + "Ġd inh", + "Ġdi nh", + "Ġdin h", + "Ġná kup", + "ist ické", + "istic ké", + "åº Ł", + "ìĬ¤ íĨł", + "Ġd ny", + "Ġdn y", + "ĠìŀĪ ëıĦë¡Ŀ", + "ìĽIJ ìĿĺ", + "ãĥķ ãĥ¬", + "p oz", + "po z", + "Ġ ев", + "Ġе в", + "ĠdÃ¼ÅŁ ür", + "à¥įर à¤ļ", + "Ġê²° íĺ¼", + "Ġ ÑĨенÑĤÑĢа", + "ĠÑĨенÑĤ ÑĢа", + "ĠÑĨен ÑĤÑĢа", + "ĠÑĨенÑĤÑĢ Ð°", + "åŁ ĭ", + "ï¿£ ï½Ģ", + "æŃ¦ åύ", + "à¹Īาà¸Ļ มา", + "Ġर व", + "Ùij د", + "μÎŃ Î½Î¿Î¹", + "μÎŃν οι", + "μÎŃνο ι", + "Ġë§IJ ìĶĢ", + "Ġpo ÅĻad", + "Ġب غ", + "ĠÏĮ λα", + "ĠÏĮλ α", + "à¹ī à¹Ħà¸Ĥ", + "à¹Ģà¸ģ าะ", + "Ġb ạc", + "Ġd á", + "d ÄĽla", + "dÄĽ la", + "dÄĽl a", + "Ġt eb", + "Ġte b", + "Ġk èo", + "ãĤı ãĤĮ", + "Ġist iyorum", + "Ġistiyor um", + "λ ήÏĤ", + "λή ÏĤ", + "ÐIJ в", + "Ġa sla", + "Ġas la", + "Ġperform ans", + "Ġperfor mans", + "Ġperforman s", + "ĠVác lav", + "Ïģ ίαÏĤ", + "Ïģί αÏĤ", + "Ïģία ÏĤ", + "Ġ tÄĽl", + "Ġt ÄĽl", + "ĠtÄĽ l", + "æĮ Ļ", + "о ба", + "об а", + "ãģij ãĤĮãģ©", + "ĠëĶ ¸", + "ÙĪ Ø§Ø¡", + "ÙĪØ§ Ø¡", + "ĠÚ©ÙĪØ¯ کاÙĨ", + "ĠÚ©ÙĪØ¯Ú© اÙĨ", + "Ġп лиÑĤ", + "Ġпл иÑĤ", + "Ġ bilir", + "Ġb ilir", + "Ġbil ir", + "Ñĥ же", + "Ñĥж е", + "ÏĦÎŃ Î»Îµ", + "Ġà¤Ĩ à¤ķर", + "Ġà¤Ĩà¤ķ र", + "ĠÑĤÑĢ Ñĥда", + "ĠÑĤÑĢÑĥ да", + "ĠÑĤÑĢÑĥд а", + "Ġدر ÛĮا", + "ĠدرÛĮ ا", + "Ì §", + "Ġng á»įt", + "ÙĨس ا", + "а ÑģÑĤи", + "аÑģ ÑĤи", + "аÑģÑĤ и", + "ï½ £", + "Âł на", + "ем Ñĭе", + "Ġس عÙĪØ¯", + "Ġسع ÙĪØ¯", + "Ġ alım", + "Ġal ım", + "è´ «", + "åΰ çļĦ", + "Ġkesin likle", + "Ġzá sad", + "Ġ ìĬ¤íĬ¸", + "ĠìĬ¤ íĬ¸", + "Ġd ahi", + "Ġda hi", + "Ġdah i", + "t é", + "åįģ åħ«", + "Ġz ayıf", + "ذ ار", + "ذا ر", + "Ġا ÙĬراÙĨ", + "ĠاÙĬ راÙĨ", + "Ġhod nocenÃŃ", + "D ST", + "DS T", + "Ġìĸ ĺ", + "æĺ ĩ", + "éĻ £", + "Ġк ле", + "Ġкл е", + "Ġu plat", + "Ġup lat", + "ĠاÙĦتع ÙĦÙĬÙħ", + "ÏĢοί ηÏĥη", + "ек ÑĤоÑĢа", + "екÑĤ оÑĢа", + "екÑĤоÑĢ Ð°", + "Ġë§IJ ìĿ´", + "ĠÙģ Ø±ÙĬÙĤ", + "ĠÙ쨱 ÙĬÙĤ", + "帮 åĬ©", + "çĶŁ ãģį", + "åĨħ ãģ®", + "èģĶ çĽŁ", + "г ÑĢад", + "гÑĢа д", + "Ġch uyến", + "ãĤĤ ãĤĬ", + "ĠÑĩаÑģÑĤ ина", + "ĠÑĩаÑģÑĤи на", + "ãģª ãģıãģª", + "ãģªãģı ãģª", + "ÑĶ Ð²", + "ĠÑĦ аÑħ", + "k uk", + "ku k", + "çĶ· æĢ§", + "ĠÙħÛĮÙĦ ادÛĮ", + "Ġb eden", + "Ġbe den", + "Ġbed en", + "ê°Ģ 를", + "म र", + "Ġìĸ´ 머ëĭĪ", + "èģĶ ç½ij", + "Âł mi", + "Âłm i", + "Ġzah rn", + "æ² ĸ", + "Ġkhu ẩn", + "Ġo práv", + "Ġop ráv", + "Ġopr áv", + "ाह à¤ķ", + "ĠÚ©ÙĪØª اÙĩ", + "Ġо бол", + "Ġоб ол", + "Ġобо л", + "Ġph úc", + "r ánÃŃ", + "rá nÃŃ", + "rán ÃŃ", + "à¥įर थ", + "æİª æĸ½", + "Ġв олод", + "Ġво лод", + "Ġвол од", + "Ġsp ÃŃÅ¡e", + "Ġm Æ¡", + "ÑĬ ек", + "ng ör", + "à¤ī त", + "k siyon", + "ks iyon", + "ksi yon", + "а ÑĤе", + "аÑĤ е", + "Ġجز Ø¡", + "áv ka", + "ÐĴ С", + "laÅŁ ma", + "Ġ ç¿", + "Ġç ¿", + "à¸Ń าà¸Ĭ", + "ни ÑĨÑĥ", + "ниÑĨ Ñĥ", + "Ġ หาà¸ģ", + "Ġห าà¸ģ", + "ãģĭ ãģĹ", + "íı ´", + "Ġг аÑĢан", + "ĠгаÑĢ Ð°Ð½", + "ĠгаÑĢа н", + "Ġ Ïĥαν", + "ĠÏĥ αν", + "Ġдобав иÑĤÑĮ", + "ĠÑĢаз ÑĢеÑĪ", + "á ¾", + "æĺ¯ 个", + "μ ÎŃÏĤ", + "μÎŃ ÏĤ", + "Ġİmpar ator", + "æ¨Ļ æºĸ", + "Ñģ ÑĤÑĭ", + "ÑģÑĤ Ñĭ", + "Ġg ücü", + "Ġgü cü", + "Ġgüc ü", + "Ġ íĥĢìĿ´", + "Ġíĥ ĢìĿ´", + "ĠíĥĢ ìĿ´", + "Ġ åħ¶ä»ĸ", + "Ġåħ¶ ä»ĸ", + "Ġt ông", + "Ġtô ng", + "Ġtôn g", + "Ġv edenÃŃ", + "Ġved enÃŃ", + "Ġvede nÃŃ", + "ëĵľ ë¡ľ", + "Ġm esel", + "Ġme sel", + "Ġmes el", + "Ġ Äįe", + "ĠÄį e", + "j de", + "jd e", + "Ïģ εια", + "Ïģε ια", + "Ïģει α", + "ãĤĪ ãģŃ", + "Ðł ÐĿ", + "è·Ŀ 离", + "ĠÙĤ ائÙħØ©", + "า à¸ļาล", + "าà¸ļ าล", + "ĠÑģай ÑĤÑĸ", + "Ġर स", + "ĠÙĤر ÙĨ", + "Ġná vr", + "Ġnáv r", + "Ú© Ùħ", + "çļĦ æīĭ", + "Ġsor unu", + "Ġsorun u", + "Ġsoru nu", + "/N ÄIJ", + "nut ÃŃm", + "nutÃŃ m", + "ĠØ® ÙĪØ±Ø¯", + "ĠØ®ÙĪ Ø±Ø¯", + "ĠØ®ÙĪØ± د", + "Ġng á»Ŀ", + "Ġ: .|", + "Ġ:. |", + "Ġbudou c", + "i Äįky", + "iÄį ky", + "Ġد رد", + "Ġدر د", + "ÑĢо ниÑĩеÑģ", + "ÑĢон иÑĩеÑģ", + "ç¾ Ĭ", + "ĠìķĦ ë²Ħì§Ģ", + "ĠKan unu", + "ĠKanun u", + "ĠпÑĢивод иÑĤ", + "άλÏħ ÏĪηÏĤ", + "ĠVlad im", + "Ġal ıp", + "Ġе ÑĤап", + "Ġà¤Ĺ लत", + "ĠراÙĩ ÙĨÙħ", + "Ġpoz isyon", + "Ġgö ç", + "èµ ŀ", + "Ġм ой", + "Ġмо й", + "ĠÎł ά", + "Ġ ìĪł", + "ĠìĪ ł", + "ĠØ¢ÛĮ ÙĨدÙĩ", + "a ná", + "an á", + "举 çľģ", + "ĠÙħت عدد", + "Ġ åįĬ", + "Ġåį Ĭ", + "ãĢĢ ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ãĢĢãĢĢĠ ãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "Ġth á»Ŀ", + "Ġthá» Ŀ", + "Ġвд ÑĢÑĥг", + "п аÑĤ", + "па ÑĤ", + "ĠпÑĢовед ениÑı", + "ÙĨ ز", + "ĠاÙĦب ØŃØ«", + "æģ ¢", + "Ġbak tı", + "Ġ è·¯", + "Ġè· ¯", + "Ġзаболева ний", + "ĠÐķ вÑĢоп", + "ĠÐķв ÑĢоп", + "Ġtarih li", + "ê¹ ¨", + "ĠÚ© ÙĪÙĩ", + "ĠÚ©ÙĪ Ùĩ", + "Ġìĸ´ 볤", + "Ġtit ul", + "Ġti tul", + "Ġvyd ánÃŃ", + "éĺ¶ æ®µ", + "à¸Īะ à¸ķ", + "Ġм оÑı", + "Ġмо Ñı", + "ĠкоÑĢ Ð¾Ð»", + "Ġко ÑĢол", + "Ġб анк", + "Ġбан к", + "วรร à¸ĵ", + "วร รà¸ĵ", + "ĠÙĥس ارة", + "ĠK hoa", + "ĠKh oa", + "ĠKho a", + "ĠÑĥнÑĸвеÑĢÑģиÑĤ еÑĤ", + "ãģ«éĸ¢ ãģĻãĤĭ", + "r uary", + "ru ary", + "Ġ à¸Ĥาย", + "Ġà¸Ĥ าย", + "Ġsv az", + "ĠØ´ رÙĤ", + "Ġشر ÙĤ", + "Ġд ÑĭÑħ", + "Ġиз бав", + "Ġизб ав", + "ĠÑı кÑĸй", + "ĠÑıк Ñĸй", + "ĠÑıкÑĸ й", + "ĠÎľ ον", + "Ġg ön", + "Ġgö n", + "ĠUkr aj", + "ĠUk raj", + "ĠUkra j", + "ัà¸Ļ à¸Ńà¸Ńà¸ģ", + "ัà¸Ļà¸Ń à¸Ńà¸ģ", + "Ġม à¸ģราà¸Ħม", + "и ÑĤов", + "иÑĤ ов", + "Ġanal ý", + "Ġana lý", + "ĠоÑĤ меÑĩ", + "Ġبر اÙī", + "âĪ ı", + "ัà¸ģ à¸ģ", + "æĭ¥ æľī", + "ĠÑĸнÑĪ Ð¾Ð³Ð¾", + "Ġкомп анÑĸÑĹ", + "Ġk ÅĻes", + "ĠÑĢаб оÑĩ", + "ĠÑĢабо Ñĩ", + "a dÃŃ", + "ad ÃŃ", + "ìł ł", + "à¹Ħ หà¸Ļ", + "à¥ģब ह", + "âĢĻ deki", + "âĢĻd eki", + "âĢĻde ki", + "çħ ¤", + "ĠпаÑĢ Ñĥ", + "Ġпа ÑĢÑĥ", + "ìĦ Ń", + "Ġнеп оÑģÑĢед", + "Ġİ b", + "Ġà¸ŀ ฤศà¸Ī", + "íĭ ´", + "Ġ ëłĪìĿ´", + "ĠëłĪ ìĿ´", + "ĠTh á»ķ", + "Ñı еÑĤ", + "ائ ج", + "» çĴĥ", + "ÐĴ Ðŀ", + "åĸ Ĭ", + "Ġ 第ä¸ī", + "Ġ第 ä¸ī", + "Ġвок ÑĢÑĥг", + "Ñĩ енÑĮ", + "Ñĩе нÑĮ", + "Ñĩен ÑĮ", + "Ġolan ak", + "Ġola nak", + "t ura", + "tu ra", + "tur a", + "Ġ ÙħÙĬÙĦ", + "ĠÙħ ÙĬÙĦ", + "ĠÙħÙĬ ÙĦ", + "ey di", + "ĠÙħد ÙĬر", + "Ġnel ze", + "ัว à¸Ńย", + "ìħ ľ", + "Ġhlav u", + "Ġkor uy", + "ÑĨ ин", + "ÑĨи н", + "ĠдиÑģ ÑĨип", + "ĠÙħ اÙĨد", + "ĠÙħا ÙĨد", + "ĠÙħاÙĨ د", + "Ġпод ÑĢоб", + "Т Ðŀ", + "ÙĤر ار", + "à¹ģà¸Ļะ à¸Ļำ", + "문 ìĿĦ", + "æĮ¯ ãĤĬ", + "P ÅĻi", + "PÅĻ i", + "Ġy ên", + "श à¤ķ", + "Âł je", + "ĠÐļон ÑģÑĤиÑĤÑĥ", + "à¥ģ ह", + "à¥ģठ¹", + "ĠÙ¾ ا", + "ìĨĮ 를", + "Ġд ела", + "Ġдел а", + "Ġде ла", + "к ид", + "ки д", + "à¹Ĥ à¸Ĭ", + "커 ìĬ¤", + "dÄĽ len", + "dÄĽl en", + "à¤Ķ र", + "äºİ æĺ¯", + "ĠÙĩÙħ ÛĮØ´Ùĩ", + "ĠbaÅŁ lam", + "Ġ ìĽ¨", + "ĠìĽ ¨", + "Ġden eyim", + "Ġdeney im", + "Ġü ye", + "Ġüy e", + "Ġ νÏĮ", + "Ġν ÏĮ", + "Ġà¤ĸ ड", + "n ÄĽl", + "nÄĽ l", + "ĠÑģÑĦ еÑĢÑĸ", + "ĠÑģÑĦеÑĢ Ñĸ", + "à¸Ńà¸Ķ à¸ł", + "ä¸Ģ å¹´", + "Ġvur gu", + "Äŀ İ", + "âĢĻ Ċ", + "ĠÑĸн ÑĪими", + "ĠÑĸнÑĪ Ð¸Ð¼Ð¸", + "Ġз менÑĪ", + "Ġठĭ", + "Ġв ека", + "Ġве ка", + "ĠØŃÚ©ÙĪÙħ ت", + "ĠتÙħ اÙħÛĮ", + "ĠتÙħاÙħ ÛĮ", + "Ġs mrt", + "Ġsm rt", + "Ġsmr t", + "Ġh á»§y", + "Ġyap ılmÄ±ÅŁ", + "Ġyapıl mÄ±ÅŁ", + "à¹ī à¸ľ", + "ĠY en", + "ĠYe n", + "Ġ Ñĥл", + "ĠÑĥ л", + "ĠS vÄĽt", + "ĠSv ÄĽt", + "ั à¸Ħ", + "ĠmÄĽsÃŃ ců", + "д енÑĤи", + "ден ÑĤи", + "Ġ ï¾ĺ", + "Ġï¾ ĺ", + "Ġпол иÑĤи", + "Ġполи ÑĤи", + "ĠполиÑĤ и", + "s kyt", + "sk yt", + "sky t", + "ä¹Ł æľī", + "Ġê°Ļ ìĬµëĭĪëĭ¤", + "Ġê·¸ëŀĺ ìĦľ", + "ÏĦε Ïģη", + "ÏĦεÏģ η", + "Ñĩ еÑĢ", + "Ñĩе ÑĢ", + "ĠÃľNİVERS İTESİ", + "ส à¸ł", + "Ġ สร", + "Ġส ร", + "ान द", + "ĠaÅŁ ırı", + "λ ίοÏħ", + "λί οÏħ", + "Ġ ÙĦÙģ", + "ĠÙĦ Ùģ", + "ÃŃ nu", + "ÃŃn u", + "à¸Ń าร", + "ÑĤ ÑĥÑĢа", + "ÑĤÑĥ ÑĢа", + "ÑĤÑĥÑĢ Ð°", + "ĠÄįesk ých", + "ĠÄįe ských", + "ĠÄįeský ch", + "Ġph ức", + "以 为", + "ÏģÏī ÏĢα", + "ĠاÙĨر ÚĺÛĮ", + "» )", + "a lardan", + "alar dan", + "alarda n", + "ĠÑģÑĤ воÑĢÑİ", + "ĠÑģÑĤвоÑĢ Ñİ", + "Ġt ráv", + "Ġtr áv", + "ॠ¬", + "ãģĬ ãĤĪãģ³", + "ïľ ĭ", + "ad il", + "adi l", + "ĠΤ ι", + "Ġ ëIJ©ëĭĪëĭ¤", + "ĠëIJ ©ëĭĪëĭ¤", + "Ġε μÏĨ", + "Ġ구 ì¡°", + "ìĹŃ ìĭľ", + "ĠاÙĦ جاÙħ", + "ĠاÙĦج اÙħ", + "主 é¢ĺ", + "ãĤ¹ ãĥĿ", + "Ġ ìĹŃìĭľ", + "ĠìĹŃ ìĭľ", + "ĠÚ©Ùħ تر", + "ĠSp oleÄį", + "ол оÑĪ", + "оло ÑĪ", + "ĠSur iye", + "Ч еÑĢ", + "æĪĺ æĸĹ", + "Ġz ávis", + "Ġzá vis", + "Ġzáv is", + "æĽ¸ 館", + "Ġmus el", + "Ġmu sel", + "Ġmuse l", + "Ġ çĿ", + "Ġç Ŀ", + "Ùħ Ùħ", + "ĠاÙĦØ® ارج", + "Ġ ÐĵÐŀ", + "ĠÐĵ Ðŀ", + "ĠваÑĢ ÑĤо", + "ĠваÑĢÑĤ о", + "Ïģα β", + "Ġपह à¤ļ", + "ub lice", + "ublic e", + "ubl ice", + "ÑĨион ного", + "è Į¨", + "èĮ ¨", + "ĠدÙģ ØªØ±", + "Ġ Ù쨳", + "ĠÙģ Ø³", + "Ġन à¤ľà¤°", + "t arı", + "ta rı", + "tar ı", + "Ġоб ÑĢоб", + "ĠÐł а", + "ĠاÙĦ صÙĨ", + "ĠاÙĦص ÙĨ", + "Ø´ Ø©", + "ĠìĹĨ ìĹĪ", + "ož ná", + "æľĢ çµĤ", + "Ù ¥", + "r ech", + "re ch", + "rec h", + "ĠاÙĦØ£ سر", + "ĠاÙĦأس ر", + "Ġм ови", + "Ġмо ви", + "Ġмов и", + "Ġì¡° êµIJ", + "Ñĸ меÑĩ", + "Ñĸм еÑĩ", + "ãĥ¯ ãĥ¼", + "б ÑĥÑĢг", + "бÑĥ ÑĢг", + "Ġس ÙĦس", + "ĠسÙĦ س", + "åѦ ä¼ļ", + "Ġ ë¦", + "Ġë ¦", + "åħĭ æĸ¯", + "æĸĩ çĮ®", + "Ġx ương", + "Ġyo lc", + "Ġyol c", + "Ġ ìĤ¬ë¬´", + "ĠìĤ¬ 무", + "ãĤı ãģļ", + "ĠÑĢаÑģÑĤ ений", + "ĠÙģ Ø¶Ø§ÛĮ", + "ĠÙ쨶 اÛĮ", + "Ġna opak", + "Ġnao pak", + "ĠпÑĢи вÑĭ", + "ĠпÑĢив Ñĭ", + "Ġد ÛĮدÙĩ", + "ĠدÛĮ دÙĩ", + "ĠدÛĮد Ùĩ", + "à¸ģาร à¹ĥà¸Ĭ", + "Ġ åŀ", + "Ġå ŀ", + "çij Ł", + "以 åIJİ", + "ĠpÅĻib liž", + "ĠdÃ¼ÅŁ man", + "Ġt emin", + "Ġte min", + "Ġtem in", + "ĠÑĥÑģл Ñĥг", + "ĠÑĥÑģ лÑĥг", + "Ġद ब", + "ĠìĥĪ ê¸Ģ", + "ĠÑĥÑģÑĤÑĢой ÑģÑĤва", + "ĠТ ÑĥÑĤ", + "ÏĦ ίοÏħ", + "ÏĦί οÏħ", + "Ġİs lâm", + "Ù ¤", + "åıĤ ä¸İ", + "Ġк ÑĥÑģÑĤ", + "ĠкÑĥ ÑģÑĤ", + "ĠкÑĥÑģ ÑĤ", + "éĻIJ åζ", + "ت ÙĬÙĨ", + "تÙĬ ÙĨ", + "ĠоÑģÑĤ аннÑĸ", + "ĠоÑģÑĤан нÑĸ", + "ic ations", + "ication s", + "ا Ú©ÛĮ", + "اک ÛĮ", + "но ÑģÑı", + "ноÑģ Ñı", + "ÄŁ an", + "ÄŁa n", + "ãģı ãĤĮãĤĭ", + "ãģıãĤĮ ãĤĭ", + "Ġyap ıyor", + "Ġyapı yor", + "Ġê°ķ ëĤ¨", + "Ùħ ÙĬÙħ", + "ÙħÙĬ Ùħ", + "æ ŃIJ", + "æŃ IJ", + "Ġر ع", + "Ġb oÄŁ", + "Ġbo ÄŁ", + "ĠиÑģ Ñħод", + "èª ł", + "æł· åŃIJ", + "Ġbu deme", + "Ġbud eme", + "Ġbude me", + "ĠÑģ еÑĤ", + "ι ÏĥμοÏį", + "ιÏĥμ οÏį", + "Ġ å¾ĴæŃ©", + "Ġå¾Ĵ æŃ©", + "u álnÃŃ", + "ĠاÙĦع ÙĤ", + "Ġسب Ú©", + "ĠاÙĦØ£ خرÙī", + "ĠاÙĦأخ رÙī", + "E FA", + "EF A", + "åĽº å®ļ", + "Ġ ãĤ¬", + "ĠãĤ ¬", + "ĠìŀIJ ìŰ", + "ยว à¸Ĥ", + "ب س", + "un ma", + "Ġза ним", + "Ġзан им", + "à¹ĥà¸Ļ ร", + "èĢĥ èĻij", + "æ·· åIJĪ", + "å° ĭ", + "Ġçık Ä±ÅŁ", + "Ġm aliyet", + "Ġmal iyet", + "éľ Ĭ", + "ãģŁãĤģ ãģ®", + "ĠÙ¾ Ø´", + "Ġз лоÑĩ", + "Ġvý Å¡i", + "Ġsch vál", + "ĠÙĨÙħ ÙĪØ¯Ùĩ", + "ĠÙĨÙħÙĪØ¯ Ùĩ", + "Î Ĩ", + "Ġz ách", + "Ġzá ch", + "Ġ Ïĥκ", + "ĠÏĥ κ", + "ãĤ¹ ãĥŀ", + "ĠÙħس ائÙĦ", + "ĠاÙĦاج تÙħاع", + "åľ° çĤ¹", + "ا ÛĮاÙĨ", + "اÛĮ اÙĨ", + "ĠÐŀ к", + "ê¸ Ķ", + "e lease", + "el ease", + "ele ase", + "Ġطب ÙĤÙĩ", + "ĠطبÙĤ Ùĩ", + "éij ij", + "Ġì½Ķ ë¡ľëĤĺ", + "é¼ ł", + "大 åħ¨", + "ĠпÑĢи веÑģÑĤи", + "ĠпÑĢив еÑģÑĤи", + "Ġاب تد", + "Ġابت د", + "리 ë¡ľ", + "ĠÑģÑĤÑĢ Ð°Ð½Ñĭ", + "ĠÑģÑĤÑĢа нÑĭ", + "ĠÑģÑĤÑĢан Ñĭ", + "ĠzatÃŃm co", + "Ġh uyết", + "Ġhuy ết", + "سÛĮ ÙĪÙĨ", + "Ġsor du", + "âĢĮ رس", + "ĠÑĦ ÑĢон", + "Ġed ip", + "Ġedi p", + "ÙĨ Ú¯ÛĮ", + "ÙĨÚ¯ ÛĮ", + "Ġк иÑĢ", + "Ġки ÑĢ", + "Ġ íķ´ìķ¼", + "Ġíķ´ ìķ¼", + "ì» ´", + "ÑĨик лоп", + "ĠпÑĢимен ениÑı", + "Ġоб л", + "éļ ª", + "Ġk romÄĽ", + "Ġkro mÄĽ", + "æł¸ å¿ĥ", + "ra him", + "rah im", + "о ÑĢд", + "оÑĢ Ð´", + "Ġl Ãłnh", + "ĠlÃł nh", + "ĠlÃłn h", + "Ġо ÑģÑĤÑĢов", + "ĠоÑģÑĤ ÑĢов", + "; |", + "b uz", + "bu z", + "Ġ ÏĦÏģο", + "ĠÏĦ Ïģο", + "ĠÐĴ аÑĢ", + "æī İ", + "ı lÄ±ÅŁ", + "ılı ÅŁ", + "ıl Ä±ÅŁ", + "éĿ¢ ç©į", + "身 份", + "é¢Ĩ åŁŁ", + "ĠاÙĦÙĤر ÙĨ", + "Ġ пÑĢиклад", + "ĠпÑĢи клад", + "ĠпÑĢик лад", + "ãĥģ ãĥ¼ãĥł", + "Ġสà¸ŀ à¸Ľ", + "Ġо ÑĩиÑģÑĤ", + "ĠоÑĩ иÑģÑĤ", + "ĠоÑĩи ÑģÑĤ", + "Ġмил ли", + "а ÑĨÑĸÑĹ", + "ี à¹Ģà¸Ń", + "Ġt anın", + "Ġtan ın", + "Ġtanı n", + "çζ 亲", + "Ġmsg str", + "Ġmsgs tr", + "ĠØ´ ÛĮÙħÛĮ", + "ĠØ´ÛĮ ÙħÛĮ", + "ĠÙ쨱 اÙĩÙħ", + "Ġ ë§¥", + "Ġë§ ¥", + "ãĢĤ å½ĵ", + "Ġкон ÑĨенÑĤÑĢа", + "êµIJ íļĮ", + "ãĤī ãĤĮãģ¦", + "ãĤīãĤĮ ãģ¦", + "Ġya sak", + "Ġyas ak", + "ĠÐij ол", + "Ġ æ¾³", + "Ġæ¾ ³", + "çĩ ķ", + "Ġ جا", + "Ġج ا", + "ëij ĺ", + "Ġدر Ø®ÙĪØ§Ø³Øª", + "ĠmÃŃst nÃŃ", + "ÂĤ ÃĮ", + "Ġbas kı", + "Ġu çak", + "Ġuç ak", + "ä» ĵ", + "Ġìľł ì§Ģ", + "Ġп оба", + "Ġпо ба", + "Ġпоб а", + "Ġz eptal", + "Ġze ptal", + "ç»Ļ æĪij", + "ĠAt atürk", + "ĠÙħÙĨ اس", + "Ñ Ĵ", + "Ġar acı", + "Ġarac ı", + "Ġara cı", + "лÑİ ÑĶ", + "Ġnit elik", + "Ġnitel ik", + "ĠM ezi", + "ĠMe zi", + "ĠMez i", + "ĠÎŃ Î½Î±ÏĤ", + "ĠÎŃνα ÏĤ", + "ĠÎŃν αÏĤ", + "Ïİν ÏĦαÏĤ", + "v až", + "va ž", + "Ġk uzey", + "Ġ ÏİÏģα", + "ĠÏİ Ïģα", + "ĠÑĢоз пов", + "ĠÑĢозп ов", + "à¹Ī าà¸ģ", + "à¹Īา à¸ģ", + "ãĢģ ä¸ī", + "ĠÑģÑĤ аÑĢи", + "ĠÑģÑĤаÑĢ Ð¸", + "ĠÑģÑĤа ÑĢи", + "Ġhak kı", + "Ġhakk ı", + "ĠØ¢Ùħ ادÙĩ", + "íĮ Ķ", + "о мÑĸ", + "ом Ñĸ", + "Ġ âĢł", + "ĠâĢ ł", + "ãģĭ ãĤı", + "ãĢĮ ä½ł", + "æ³ķ åĽ½", + "ÙIJ ÙĬÙĨ", + "ÙIJÙĬ ÙĨ", + "æī ķ", + "н или", + "ни ли", + "нил и", + "ĠÑĥÑģÑĤанов ки", + "Ġl ông", + "Ġlô ng", + "त म", + "ÙĪ ÙĨÙĬØ©", + "ÙĪÙĨ ÙĬØ©", + "ÙĪÙĨÙĬ Ø©", + "ÙĬ تÙĬ", + "ÙĬت ÙĬ", + "Ġê²Įìĭľ 물", + "Ġve Å¡ker", + "ÎŃ Ïģγ", + "ÎŃÏģ γ", + "ĠÑĥ Ñģе", + "ĠÑĥÑģ е", + "Ġk ıl", + "Ġkı l", + "Ġil gi", + "Ġilg i", + "μ Ïīν", + "Ġз вÑĸлÑĮ", + "Ġзв ÑĸлÑĮ", + "Ġön lem", + "à¸ģà¸İ หมาย", + "ĠH iá»ĩp", + "Ġг оÑĢм", + "ĠгоÑĢ Ð¼", + "лÑı ÑİÑĤÑĮÑģÑı", + "лÑıÑİÑĤÑĮ ÑģÑı", + "la maya", + "lam aya", + "lama ya", + "ĠÑģпоÑģоб ом", + "ãģ¸ ãģ¨", + "ç¦ģ æŃ¢", + "ĠÑĢаÑħ Ñĥнок", + "ĠоÑĤвеÑĢ ÑģÑĤи", + ".: .:.:.", + ".:.: .:.", + ".:.:.: .", + ".:.:. :.", + "Ġmü da", + "о наÑħ", + "он аÑħ", + "она Ñħ", + "Ì£ c", + "Ġyap acak", + "Ġн азвание", + "Ġназ вание", + "Ġназва ние", + "对 æĸ¹", + "ëĮĢ íijľ", + "çĪ Ń", + "в ана", + "ва на", + "ван а", + "ह न", + "ĠпÑĢоблем а", + "Ġжен ÑīинÑĭ", + "ĠженÑīин Ñĭ", + "èŀ º", + "Ġhosp odáÅĻ", + "ĠСÑĤ еп", + "ĠodpovÄĽ d", + "ĠS á»Ń", + "e view", + "ev iew", + "evi ew", + "åĩł ä¹İ", + "çŁ ¢", + "æĿ¥ ãģŁ", + "Ġп олоÑģ", + "Ġпол оÑģ", + "ĠÑģ ел", + "å± Ĩ", + "ĠпеÑĢв ой", + "ĠпÑĢоÑĨеÑģ Ñģа", + "ĠпÑĢоÑĨеÑģÑģ а", + "ãĢĢ ãĤĿ", + "ت اÙħبر", + "تا Ùħبر", + "и лаÑģÑı", + "ила ÑģÑı", + "ï¼Į æĹł", + "ĠвлаÑģ ноÑģÑĤÑĸ", + "íķĺ ìŀIJ", + "аÑĤ ки", + "ĠB Ãł", + "ĠK arel", + "ĠKar el", + "ĠKa rel", + "ĠKare l", + "è· µ", + "ر ÛĮÙĩ", + "رÛĮ Ùĩ", + "ĠëĤĺ 를", + "ĠобеÑģпеÑĩ ива", + "ĠобеÑģпе Ñĩива", + "à¥įर पत", + "ãģĹ ãĤĩ", + "åį Ĵ", + "Ġ 奥", + "Ġå¥ ¥", + "ĠпÑĢ Ð¾ÑĤе", + "ĠпÑĢо ÑĤе", + "ĠпÑĢоÑĤ е", + "Ġ æĭĽ", + "Ġæĭ Ľ", + "ĠСÑĤ ÑĢана", + "ĠÑĢабоÑĤ аÑĤÑĮ", + "ĠÑĢабоÑĤа ÑĤÑĮ", + "Ġتش Ø®ÛĮص", + "ек ÑģÑĥ", + "екÑģ Ñĥ", + "Ġ 리그", + "Ġ리 ê·¸", + "Ġص اÙĦØŃ", + "ĠbaÅŁ lamÄ±ÅŁ", + "ĠbaÅŁlam Ä±ÅŁ", + "ĠÙ¾ÛĮ اÙħبر", + "ĠÙ¾ÛĮاÙħ بر", + "ز ا", + "Ġм аÑģÑģ", + "ĠмаÑģ Ñģ", + "ĠÎł αÏģ", + "Ġγα Ïģ", + "ëĿ¼ íͼ", + "Ġy arı", + "Ġya rı", + "Ġyar ı", + "ĠÑĤип Ñĥ", + "Ðŀ п", + "ãģij ãģªãģĦ", + "e mem", + "em em", + "eme m", + "ĠnÄĽ mu", + "ĠnÄĽm u", + "ĠÙĨ شر", + "ĠÙĨØ´ ر", + "ĠÎijθή να", + "Ùģ Ø±Ø§ÙĨ", + "Ù쨱 اÙĨ", + "Ġ ç¶²", + "Ġç¶ ²", + "ĠпÑĢом иÑģлов", + "ĠBu gün", + "ĠBug ün", + "ìŀ Ķ", + "ĠжÑĸн ок", + "Ġ à¸Ľà¸£à¸°à¹Ģà¸łà¸Ĺ", + "Ġà¸Ľà¸£à¸° à¹Ģà¸łà¸Ĺ", + "ĠвикоÑĢиÑģÑĤов ÑĥваÑĤи", + "ĠТ им", + "ĠТи м", + ") 를", + "еж аÑĤÑĮ", + "Ġs ona", + "Ġso na", + "Ġson a", + "Ø´ÙĨ بÙĩ", + "Ġnich ž", + "åī Ľ", + "ĠÙģ ØªØŃ", + "ĠÙģØª ØŃ", + "ĠÙħÙĤ دÙħ", + "ĠÙħÙĤد Ùħ", + "ĠGüven lik", + "e um", + "eu m", + "ç»ı è¿ĩ", + "è·Ŀ éĽ¢", + "Âł не", + "Ġا صÙĪÙĦ", + "Ġاص ÙĪÙĦ", + "ĠzaÄį átku", + "ิà¹Ģว à¸ĵ", + "Ġà¤ķ à¤Ł", + "Ġk riz", + "Ġkr iz", + "Ġp án", + "Ġpá n", + "ĠбоÑĢ ÑĮ", + "Ġбо ÑĢÑĮ", + "ظ ÙħØ©", + "ظÙħ Ø©", + "Ġê²½ ë¶ģ", + "ĠاÙĦÙĬ ÙħÙĨ", + "ĠاÙĦعرب ÙĬ", + "Ġh lub", + "Ġhl ub", + "Ġch á»Ŀ", + "è¥ ²", + "ëĵľ 리", + "ãĥĸ ãĥª", + "ĠÑģÑĤол ÑĸÑĤÑĤÑı", + "ر بÙĬØ©", + "رب ÙĬØ©", + "Ġ æ°¸", + "Ġæ° ¸", + "Ġê±° ìĿĺ", + "Ġβ αÏĥ", + "Ġβα Ïĥ", + "Ġa rz", + "Ġar z", + "ãĥ¢ ãĥ³", + "ĠÑĢÑĸв енÑĮ", + "ä¸į çŁ¥", + "导 èĩ´", + "ا ÙĬØ´", + "اÙĬ Ø´", + "ĠпÑĢев ÑĭÑĪ", + "Ġп н", + "ĠÎĴ ÏģοÏĩή", + "Ġ 身", + "Ġè º«", + "ĠÄIJ ầu", + "ĠÏĮ μÏīÏĤ", + "j ÃŃž", + "jÃŃ Å¾", + "Ġλ ίγ", + "ĠÑĪк оли", + "ĠÑĪкол и", + "ãģ£ãģ± ãģĦ", + "z dy", + "zd y", + "Ġê³ §", + "t eÅŁ", + "te ÅŁ", + "ÑĢ ÐµÑī", + "ÑĢе Ñī", + "κ ει", + "κε ι", + "sah uje", + "Ġà¤īस स", + "ĠTan rı", + "ä¸į 好", + "éĥ Ń", + "ĠвÑĭ глÑıд", + "Ġç oÄŁ", + "Ġин ÑģÑĤÑĢÑĥменÑĤ", + "r ej", + "re j", + "èĪ Į", + "ãģĭ ãĤīãģªãģĦ", + "ãģĭãĤī ãģªãģĦ", + "ĠнепÑĢи ÑıÑĤ", + "Ġк ÑĢоме", + "ζ η", + "Ġл ог", + "ा वर", + "ाव र", + "ëħķ íķĺìĦ¸ìļĶ", + "ाह रण", + "ाहर ण", + "Ġgüven ilir", + "T ại", + "ĠØ´Ùĩر د", + "ĠØ´Ùĩ رد", + "ĠΤ ε", + "о ÑĢаз", + "оÑĢ Ð°Ð·", + "оÑĢа з", + "Ġl Ãłng", + "ĠlÃł ng", + "ĠlÃłn g", + "ï¼ ©", + "æĬķ æ³¨", + "Ġsiyas et", + "ÐĽ Ñİ", + "Ġt ÅĻet", + "ĠtÅĻ et", + "ĠÏĢÏģÏİ ÏĦη", + "ĠÑĥлÑĭ б", + "ĠL âm", + "ÑĥлÑĮÑĤ а", + "ÑĥлÑĮ ÑĤа", + "åŁº åľ°", + "Ġskup ina", + "æ°¸ ä¹ħ", + "лÑĥ гов", + "лÑĥг ов", + "Ġ ÑĨÑĸй", + "ĠÑĨ Ñĸй", + "ĠÑĨÑĸ й", + "ĠP oh", + "ĠPo h", + "i д", + "ĠTr uy", + "ĠTru y", + "çļĦ ä¸Ģ个", + "çļĦä¸Ģ 个", + "ë²Ħ ìłĦ", + "Ġx ứ", + "à¸ĩ à¹ģรà¸ģ", + "à¸Ħ à¸Ńม", + "Ġelektron ik", + "ĠaÄŁ aç", + "Ġà¤ľ य", + "ĠповеÑĢÑħ ноÑģÑĤÑĮ", + "ĠاÙĩÙħ ÛĮت", + "ли виÑħ", + "лив иÑħ", + "ĠolduÄŁ undan", + "ï¼ī :", + "ÑĨи ÑıÑħ", + "ÑĨиÑı Ñħ", + "製 ä½ľ", + "à¸Ĺ รà¸ĩ", + "à¸Ĺร à¸ĩ", + "ey im", + "eyi m", + "Ġná klad", + "c ilik", + "ci lik", + "cil ik", + "ĠÐĵ лав", + "ĠUy gu", + "ĠÑĢег ÑĥлÑİ", + "à¤Ĥ à¤ľà¤¨", + "à¤Ĥà¤ľ न", + "Ġkayn aģı", + "à¹ī าà¸Ń", + "à¹īา à¸Ń", + "Ġgör mek", + "ĠíĮ ¬", + "Ġ å®Į", + "Ġå® Į", + "Ø« ÙħاÙĨ", + "ĠÑĤак аÑı", + "ĠÑĤа каÑı", + "ĠÑĤака Ñı", + "Ġне из", + "Ġzpráv y", + "ĠاÙĦØ´ خص", + "Ġìĺ¤ íĽĦ", + "ĠاÙĦ طب", + "ĠاÙĦØ· ب", + "atır ım", + "ر ÙĬر", + "رÙĬ ر", + "ĠÙħع ÙħارÛĮ", + "Ãľ RK", + "ÃľR K", + "ĠÒ IJ", + "ĠìĦ ¬", + "æīĭ ãģ«", + "Ġë³Ģ íĻĶ", + "u lace", + "ul ace", + "ula ce", + "Ġs ợ", + "ÑĢ Ð¸Ñĩ", + "ÑĢи Ñĩ", + "มห าว", + "Ġk â", + "ĠÑģп ÑĢоб", + "Ùĩ رÙĩ", + "Ùĩر Ùĩ", + "ाध न", + "ĠÏĢ Î±Î¹", + "ĠÏĢα ι", + "ب عد", + "بع د", + "ĠاÙĦ تÙĪ", + "ĠاÙĦت ÙĪ", + "ç»ı çIJĨ", + "p ůsob", + "æ¬ ł", + "ĠзаÑħвоÑĢÑİ Ð²Ð°Ð½Ð½Ñı", + "Ø® Ø©", + "ÚĨ ار", + "Ġboz uk", + "] âĢı", + "ĠSoc orro", + "Ġ hrad", + "Ġh rad", + "Ġhr ad", + "Ġhra d", + "над леж", + "ĠÑĥÑĩаÑģÑĤ ие", + "ĠÑĥÑĩаÑģ ÑĤие", + "ĠÑĥÑĩаÑģÑĤи е", + "å¤ī ãĤı", + "Ġy ans", + "Ġya ns", + "Ġyan s", + "ĠØ¥ ÙĦ", + "Ø® بر", + "خب ر", + "ÑĨиклоп ед", + "ι Ïİν", + "ιÏİ Î½", + "Ïĥ ÏĦÏģο", + "ÏĥÏĦ Ïģο", + "Ġb anka", + "Ġbank a", + "Ġban ka", + "ĠsoÄŁ uk", + "Ġün lü", + "é¢ ľ", + "Ġر Ù쨹", + "ĠرÙģ Ø¹", + "çIJ ³", + "ĠÑģоÑģÑĤоÑı нии", + "ν ονÏĦαÏĤ", + "νον ÏĦαÏĤ", + "Ġа кÑĤи", + "Ġак ÑĤи", + "ĠакÑĤ и", + "ĠÏĢολ Ïħ", + "ĠÏĢο λÏħ", + "Ġм оÑĹ", + "Ġмо ÑĹ", + "Ġ æł¼", + "Ġæł ¼", + "ç² Ĺ", + "ĠÑģлÑĥÑĩ ай", + "ĠÑģлÑĥ Ñĩай", + "ĠÑģлÑĥÑĩа й", + "ìĿ¼ ìĹIJ", + "ĠÑĤÑĢеб ÑĥеÑĤ", + "Ġ åıĤèĢĥ", + "ĠåıĤ èĢĥ", + "an gl", + "ang l", + "am ik", + "ami k", + "Ġ İÅŀ", + "Ġİ Åŀ", + "æ¹ ¯", + "ĠÄij áo", + "ĠÄijá o", + "ละ à¸Ħร", + "Ñģ о", + "Âł ob", + "Ġk lim", + "Ġkl im", + "Ġkli m", + "èĥ Ĩ", + "ìĥĿ íĻľ", + "ãĥij ãĥ³", + "- ब", + "Ġк ад", + "Ġка д", + "à¹Ī สามารà¸ĸ", + "ĠÙħس ÙĦÙħاÙĨ", + "ç¿ °", + "ĠB ütün", + "ĠK raj", + "ĠKr aj", + "ĠKra j", + "ĠпеÑĢ Ñģп", + "ĠпеÑĢÑģ п", + "Ġener j", + "ãģķ ãģĽãĤĭ", + "ãģķãģĽ ãĤĭ", + "è¾¾ åΰ", + "ा à¤Ĭ", + "ाठĬ", + "ĠگرÙģ ØªÙĨ", + "ĠگرÙģØª ÙĨ", + "ÑĪ ÐºÑĥ", + "ĠÐŁ ло", + "ÃŃ ny", + "ÃŃn y", + "ĠH ra", + "ĠÚĨ ÙĨاÙĨ", + "Ġ à¹Ħà¸Ĺย", + "Ġà¹Ħ à¸Ĺย", + "vise jÃŃcÃŃ", + "Û³ Û³", + "ĠÐľÑĸнÑĸÑģÑĤ еÑĢ", + "à¹Ĥ à¸Ń", + "ĠدÙĩ ÛĮد", + "æ¯Ķ ä¾ĭ", + "Ïĥι εÏį", + "Ç IJ", + "ãĢģ ãģª", + "Ġत स", + "Ġİ t", + "ĠìłĦ ìŁģ", + "à¹Ģ à¸Īร", + "à¹Ģà¸Ī ร", + "Ġelek tr", + "Ġelekt r", + "Ġd ư", + "â ĶĶ", + "âĶ Ķ", + "Ġ ìĥ¤", + "Ġìĥ ¤", + "ä» ®", + "à¸ģาร à¹Ģล", + "Ġм ÑĥлÑĮ", + "ĠмÑĥ лÑĮ", + "Ġ 度", + "Ġåº ¦", + "ĠH uyá»ĩn", + "в ен", + "ве н", + "Ġl Æ°á»Ľi", + "Ġprovoz u", + "Ñĥ ÑĢÑĥ", + "ÑĥÑĢ Ñĥ", + "ÑĢ ÑĸÑĹ", + "ÑĢÑĸ ÑĹ", + "Ġçocu ÄŁ", + "ัà¸IJ à¸ļาล", + "ÙĦ ÙĬÙĩ", + "ÙĦÙĬ Ùĩ", + "Ġ[â̦] ...Ċ", + "åİŁ å§ĭ", + "Ġs klad", + "Ġsk lad", + "Ġskl ad", + "Ġسپ تاÙħبر", + "ĠTom áš", + "Ġس ÙĪØ§ÙĦ", + "ĠسÙĪ Ø§ÙĦ", + "çģ Ń", + "ãĤĵ ãģ©", + "на знаÑĩ", + "ĠÄij Ä©a", + "ĠudÄĽl at", + "Ġà¤Ĩ दम", + "Ġà¤Ĩद म", + "ï¼ ¬", + "ι νÏĮ", + "ιν ÏĮ", + "iÅŁ leri", + "ÄIJ ây", + "Ġرس اÙĨÙĩ", + "ع اÙħ", + "عا Ùħ", + "ãĥ¼ãĥij ãĥ¼", + "Ġdo prov", + "Ġdop rov", + "ĠмÑĸÑģ ÑĤо", + "ĠмÑĸÑģÑĤ о", + "ï¼ ¥", + "ел Ñĸг", + "елÑĸ г", + "ائ ز", + "ä¸į äºĨ", + "ĠÐIJлекÑģанд ÑĢ", + "ĠвÑĢем ен", + "Ġdve ÅĻe", + "Ġch ảy", + "Ġ otel", + "Ġo tel", + "Ġot el", + "èĤ¯ å®ļ", + "ĠÑĥÑĤ веÑĢжд", + "ĠÐļом п", + "ĠÐļо мп", + "Ġ ëĤĺëĿ¼", + "ĠëĤĺ ëĿ¼", + "ĠвÑĸдбÑĥва ÑĶÑĤÑĮÑģÑı", + "ãĢģ ãĢİ", + "ĠkarÅŁÄ± lık", + "Ġl ẫn", + "çħ Ļ", + "ع کس", + "å¼ ¥", + "Ġte cr", + "Ġtec r", + "Ġne od", + "Ġneo d", + "æĪIJ çĤº", + "åħ¥ ãĤĬ", + "ĠÐŁ ÑĢод", + "ĠÐŁÑĢ Ð¾Ð´", + "ĠÐŁÑĢо д", + "ĠÏĢ Ïģά", + "ื à¸Ńà¸Ķ", + "ืà¸Ń à¸Ķ", + "ÑģÑĤ аÑĤи", + "ÑģÑĤа ÑĤи", + "е ноÑĹ", + "ен оÑĹ", + "ено ÑĹ", + "Ñĩи Ñģл", + "ÑĩиÑģ л", + "羣 æŃ£", + "Ġ ราà¸Ħ", + "Ġร าà¸Ħ", + "Ñĥ ÑĢе", + "ÑĥÑĢ Ðµ", + "ĠØ´ اÙĩد", + "ĠشاÙĩ د", + "ا عر", + "اع ر", + "Ġê²½ íĹĺ", + "à¸Ļ à¸Ħ", + "ãĥį ãĥ«", + "ÏĢοÏħ λοÏĤ", + "Ġम à¤Ī", + "ìĬ¤ ì½Ķ", + "itel né", + "å¼Ģ æĶ¾", + "ç į¨", + "çį ¨", + "ĠpÅĻ ech", + "ĠpÅĻe ch", + "ú Äįast", + "å¢ ĵ", + "Ġ å½±", + "Ġå½ ±", + "ÙĨ ساÙĨ", + "ÙĨس اÙĨ", + "ÙĨسا ÙĨ", + "Ġд вад", + "Ġдв ад", + "Ġдва д", + "Ġи деÑĤ", + "Ġиде ÑĤ", + "Ġид еÑĤ", + "Ġпод клÑİÑĩ", + "Ġподк лÑİÑĩ", + "íĬ¹ë³Ħ ìĭľ", + "B Ãłi", + "Å¡ ku", + "Å¡k u", + "i lerden", + "iler den", + "åıĺ å¾Ĺ", + "ëıĻ ìķĪ", + "Ġpostup nÄĽ", + "ĠиÑĤ ог", + "Ġd ůvodu", + "Ġdůvod u", + "siz lik", + "ÙĦ اÙĨ", + "ÙĦا ÙĨ", + "éĤ£ ç§į", + "ĠÑĩа Ñģа", + "ĠÑĩаÑģ а", + "ä¸į æĸŃ", + "ĠØ®ÛĮ اباÙĨ", + "ĠاÙĦد اخ", + "ĠÑģÑĤоÑĢ Ñĸн", + "Ġì¶ľ ìŰ", + "æ² Ł", + "Ġh ry", + "Ġhr y", + "ĠG Ãľ", + "ĠìĿ¸ 구", + "l ied", + "li ed", + "lie d", + "Ġع اÙĦÙĬØ©", + "ĠпÑĢед ваÑĢ", + "ан ной", + "åı¥ è¯Ŀ", + "éł ĵ", + "ë°Ķ ìĿ¼", + "ï¼ı /", + "ĠÙħخت صات", + "ëŀ «", + "ĠçalÄ±ÅŁ maları", + "ĠçalÄ±ÅŁmalar ı", + "ĠçalÄ±ÅŁma ları", + "Ġrepublik a", + "Ġ ì³", + "Ġì ³", + "ा )", + "Ġê±´ ê°ķ", + "Ġê³µ ëıĻ", + "èħ ¦", + "ĠìĦľ ë¡ľ", + "ĠпÑĢовод иÑĤÑĮ", + "ĠдейÑģÑĤв иÑĤелÑĮно", + "v eç", + "ve ç", + "Ø« اÙĦ", + "Ġgöster ir", + "ır lar", + "ĠÑģам Ñĭм", + "á lo", + "ál o", + "é¢ij 次", + "à¥Ī à¤Ĺ", + "ا دÙħ", + "اد Ùħ", + "çĮ ª", + "ĠS ản", + "Ġ çı", + "Ġç ı", + "Ġl ety", + "Ġle ty", + "Ġlet y", + "Ġrep ublice", + "Ġrepublic e", + "æĿ¥ èĩª", + "Ġv ết", + "Ġbi rik", + "Ġbir ik", + "Ġbiri k", + "Ġm ekt", + "Ġme kt", + "Ġmek t", + "ĠاÙĦ ÙĪÙģ", + "ĠاÙĦÙĪ Ùģ", + "Ġj ich", + "Ġji ch", + "ä¸Ģ 覧", + "éľ² åĩº", + "ĠH iá»ĩn", + "ĠHi á»ĩn", + "Ġd iá»ĩt", + "ĠÑħ ÑĢиÑģÑĤи", + "åĪļ æīį", + "k ate", + "ka te", + "kat e", + "Ġb azen", + "Ġba zen", + "Ġbaz en", + "ĠurÄįit ÄĽ", + "ĠurÄį itÄĽ", + "Ġumož ÅĪuje", + "é¡ĺ ãģĦ", + "/Q ÄIJ", + "Ġmen Å¡ÃŃ", + "ÏĥκεÏħ ή", + "ĠÑĨеÑĢк ов", + "ĠÑĨеÑĢ ÐºÐ¾Ð²", + "Ġ è´Ń", + "Ġè´ Ń", + "ок ÑĢаÑĤи", + "ĠÑĢоз к", + "α νοÏħ", + "αν οÏħ", + "Ġyön etic", + "Ġyönet ic", + "Ġol madan", + "Ġolm adan", + "Ġolma dan", + "åĨľ ä¸ļ", + "Ġë°Ķ ëŀĮ", + "çĵ ľ", + "ÑĪ Ð°ÐµÑĤÑģÑı", + "ÑĪа еÑĤÑģÑı", + "ĠÐļ оÑģÑĤ", + "ĠÐļо ÑģÑĤ", + "ĠÙħ عت", + "ĠÙħع ت", + "Ġ à¸ŀล", + "Ġà¸ŀ ล", + "ĠÙħتÙģ Ø§ÙĪØª", + "ãĤī ãģı", + "èĪ Ĺ", + "Ġتع رÛĮÙģ", + "éīĦ éģĵ", + "Ġpé Äįe", + "ì» µ", + "Ġпод ÑĢаз", + "Ġбан кÑĥ", + "Ġбанк Ñĥ", + "İS İ", + "æ¡ IJ", + "à¹Ĥ รà¸Ħ", + "à¹Ĥร à¸Ħ", + "ĠØŃذ Ùģ", + "Ġ ë£", + "Ġë £", + "л иж", + "ли ж", + "Ġ ìĤ°ìĹħ", + "ĠìĤ° ìĹħ", + "ĠпÑĢи ÑĩинÑĭ", + "ĠпÑĢиÑĩин Ñĭ", + "ĠпÑĢиÑĩ инÑĭ", + "Ġна зна", + "Ġназ на", + "ãĥª ãĤ¹ãĥĪ", + "ãĥªãĤ¹ ãĥĪ", + "ìłķ ë¶Ģ", + "Ïĥ ÏĨα", + "ÏĥÏĨ α", + "å¦ ĥ", + "Ġголов и", + "Ġгол ови", + "ëIJĺìĹĪ ìĬµëĭĪëĭ¤", + "Ġεν ÏĮÏĤ", + "ãĤ¤ ãĥ³ãĤ¿", + "ãĤ¤ãĥ³ ãĤ¿", + "Ġs lun", + "Ġsl un", + "Ġslu n", + "ëł ´", + "ĠÑģÑĥÑīеÑģÑĤв ÑĥеÑĤ", + "ĠÑģÑĥÑīе ÑģÑĤвÑĥеÑĤ", + "з аб", + "за б", + "æĽ´ åĬł", + "Ġблагод аÑĢÑı", + "ĠëĮĢ êµ¬", + "è¾ ħ", + "ห าà¸ģ", + "หา à¸ģ", + "Ġ æİ¥", + "Ġæİ ¥", + "ëĮĢ ë¥¼", + "人 ç±»", + "j eme", + "je me", + "jem e", + "åĪĨ å¸ĥ", + "ìŀ¥ ìĿĢ", + "Ġдопом оги", + "ìĻĦ ë£Į", + "o sy", + "os y", + "èĭ± éĽĦ", + "Ġ ÙĦس", + "ĠÙĦ س", + "म ह", + "Ġ à¸ģำ", + "Ġà¸ģ ำ", + "Ġداش تÙĨ", + "Ġداشت ÙĨ", + "Ń ìłľ", + "İ ng", + "İn g", + "ĠTh ưá»Ŀng", + "íĻ Ģ", + "Ñį ÑĦ", + "íķ´ ìļĶ", + "ĠÐľ Ñĸж", + "ĠÐľÑĸ ж", + "еÑĢÑĸ га", + "еÑĢÑĸг а", + "Ġε á¼", + "à¹ģ สà¸ĩ", + "à¹ģส à¸ĩ", + "ãĥĢ ãĤ¤", + "Ġc esty", + "Ġce sty", + "Ġces ty", + "Ġcest y", + "Ġpr ázd", + "Ġprá zd", + "第 ä¸Ģ次", + "第ä¸Ģ 次", + "ĠÙĩÙħ سر", + "Ġz ev", + "Ġze v", + "Âł E", + "ĠBeled iyesi", + "ĠBelediye si", + "ĠпÑĢоп ози", + "Ġanlay Ä±ÅŁ", + "Âł Ùħ", + "ĠÑĢаÑģÑģ ÑĩиÑĤ", + "ĠاÙĦØ£Ùħ رÙĬÙĥÙĬØ©", + "ĠاÙĦØ£ÙħرÙĬÙĥÙĬ Ø©", + "Ġž ena", + "Ġže na", + "Ġžen a", + "d eniz", + "den iz", + "Ġn oci", + "Ġno ci", + "Ġnoc i", + "Ġst ál", + "ุ ย", + "주 ìĨĮ", + "Ġз еÑĢ", + "Ġ ìĨĮê°ľ", + "ĠìĨĮ ê°ľ", + "Ġkh ẳng", + "at ıcı", + "atı cı", + "ÄĽ ž", + "ĠÑĩ ÑĥÑĤÑĮ", + "Ġc áºŃu", + "ĠاطÙĦ اع", + "æµ ħ", + "Ġst rav", + "Ġstr av", + "Ġstra v", + "ĠSan ayi", + "Ġ طبÙĬ", + "ĠØ· بÙĬ", + "Ġطب ÙĬ", + "Ġhız la", + "Ïİ Î½Î±", + "Ïİν α", + "à¤¿à¤ľ ल", + "ÙħØŃ Ùħد", + "à¸ļ à¸ģ", + "Ġvzdál en", + "ĠÑĤак ими", + "ĠÑĤа кими", + "ĠÑĤаким и", + "ãĢĤ ãģĿãģĹãģ¦", + "Ġka lp", + "Ġkal p", + "Ġкож ного", + "Ðł µ", + "ÙĦع اب", + "ĠÙħ ÙĪÙĨ", + "ĠÙħÙĪ ÙĨ", + "ĠìĿ¼ ìĿĦ", + "Ġ ë°ĶìĿ´", + "Ġë°Ķ ìĿ´", + "Ġme kan", + "Ġmek an", + "ĠجاÙħ ع", + "Ġجا Ùħع", + "ĠÙĨ ÙģØª", + "ĠÙĨÙģ Øª", + "ĠاÙĦ سÙħ", + "ĠاÙĦس Ùħ", + "л ÑĭÑħ", + "лÑĭ Ñħ", + "èĥĮ æĻ¯", + "Ġê²ĥ ëıĦ", + "ĠìĤ´ ìķĦ", + "y dı", + "yd ı", + "Ġна веÑĢ", + "Ġнав еÑĢ", + "åŃIJ ãģ¯", + "l uluk", + "lu luk", + "Ġhá»Ĺ n", + "Ġ Ø´Ùģ", + "ĠØ´ Ùģ", + "Ġع ÙĦت", + "ĠعÙĦ ت", + "à¸Ħร าม", + "ĠÎļ ÏįÏĢ", + "Ġà¹Ģม ษายà¸Ļ", + "ÙĨد ÙĤ", + "ĠÑĥ ÑģÑĤÑĢа", + "ĠÑĥÑģÑĤ ÑĢа", + "ĠÑĥÑģ ÑĤÑĢа", + "ĠÎĵ εν", + "ĠÐĨ ван", + "ĠP hong", + "ĠPh ong", + "ĠPhon g", + "å®¶ çļĦ", + "ĠÐIJ лекÑģ", + "ĠÐIJле кÑģ", + "ĠÐIJл екÑģ", + "Ġзб еÑĢÑĸг", + "ĠÅŁark ı", + "ĠÅŁar kı", + "ĠظرÙģ ÛĮت", + "ĠÙħ عÙĨÛĮ", + "ĠÙħع ÙĨÛĮ", + "ĠÙħعÙĨ ÛĮ", + "Ġ лов", + "Ġл ов", + "ĠìĤ ¶", + "èħ IJ", + "Ġ å¯Į", + "Ġå¯ Į", + "E RG", + "ER G", + "ĠÑģÑĤо имоÑģÑĤÑĮ", + "ÅĻ et", + "ÅĻe t", + "à¥ī य", + "à¹Ī าร", + "à¹Īา ร", + "ĠارÙĪÙ¾ ا", + "Ġб ÑĢоÑģ", + "ĠоÑĤ ноÑģÑıÑĤ", + "ĠоÑĤноÑģ ÑıÑĤ", + "ĠÎŁ κ", + "ÑĨÑĮ кий", + "ÏĬ κ", + "ãģĤãĤĬ ãģ¾ãģĽãĤĵ", + "ĠÑĥ ник", + "ĠÄij iá»ĥn", + "ĠÄiji á»ĥn", + "Ġvý zkum", + "Ġh ứ", + "Ġhá» ©", + "Ġ ÙĪØ§Øª", + "ĠÙĪ Ø§Øª", + "ĠÙĪØ§ ت", + "Ġ å¹³æĸ¹", + "Ġå¹³ æĸ¹", + "Ïħ μ", + "ãĤĴ 使", + "εί ÏĦαι", + "两 人", + "Ġ åĮ»", + "ĠåĮ »", + "ÑĢаÑĤ иÑĤÑĮ", + "ÑĢаÑĤи ÑĤÑĮ", + "ĠاÙĦ اÙĨت", + "ĠاÙĦاÙĨ ت", + "ãģ® äºº", + "ر Ø´", + "ĠТ ÑĥÑĢ", + "r nÄĽ", + "rn ÄĽ", + "天 天", + "ม าร", + "มา ร", + "Ġort alama", + "Ġorta lama", + "ĠпеÑĢе пиÑģ", + "ĠпеÑĢеп иÑģ", + "ĠìĥĿ ìĤ°", + "å¿ Ĩ", + "í ĩ´", + "ï¼Į 该", + "éĮ ¢", + "ÏĢα ίδ", + "ĠмеÑĢ Ð¾Ð¿ÑĢи", + "Ġг ÑĢав", + "ĠгÑĢа в", + "ĠгÑĢ Ð°Ð²", + "ÃĶ ng", + "Ġ æ¤", + "Ġæ ¤", + "ĠاÙĦد ÙĪÙĦØ©", + "ĠاÙĦدÙĪÙĦ Ø©", + "Ġ оÑģÑĮ", + "Ġо ÑģÑĮ", + "ĠоÑģ ÑĮ", + "å¥ Ķ", + "Ġgüven li", + "íķĺ ìĭł", + "Ġ éĬ", + "Ġé Ĭ", + "éŁ³ æ¨Ĥ", + "Ġmed ya", + "Ġب ÙĨا", + "ĠبÙĨ ا", + "а ма", + "ам а", + "Ġ ãĤŃãĥ£", + "ĠãĤŃ ãĥ£", + "èĹ ¥", + "l arım", + "lar ım", + "ları m", + "ĠT iếng", + "iyor lar", + "ï¼ ¢", + "æĶ Ŀ", + "Ñĸй ÑģÑĮкоÑĹ", + "Ġyet iÅŁtir", + "ĠyetiÅŁ tir", + "ĠÙ¾ سر", + "Ġپس ر", + "ãĤī ãģĹ", + " ļ", + "ìĥ ¤", + "à¸Ķ าห", + "à¸Ķา ห", + "ĠتØŃص ÛĮÙĦ", + "Ġб енз", + "éģ £", + "Ġнаб лÑİ", + "ä½ĵ ç³»", + "ãĥ¯ ãĤ¤ãĥĪ", + "Âł ÂłĠ", + "³³ Ġ", + "书 è®°", + "ĠMü hendis", + "p lor", + "pl or", + "l az", + "la z", + "лÑı ли", + "Ġpom áh", + "Ġб лиж", + "Ġбл иж", + "Ġбли ж", + "ĠÑĩиÑģ ла", + "Ġubyt ovánÃŃ", + "ÑĢаÑĤ но", + "Ġtr Äĥm", + "Ġاب راÙĩ", + "át ka", + "Ġiç indeki", + "Ġiçin deki", + "Ġiçinde ki", + "ั à¸ļà¸Ļ", + "ัà¸ļ à¸Ļ", + "ĠاÙħ ÛĮد", + "n ave", + "na ve", + "nav e", + "e cut", + "ec ut", + "å°± åľ¨", + "Ġt radi", + "Ġtr adi", + "Ġtrad i", + "Ġtra di", + "Ø· ÙĦÙĤ", + "Ø·ÙĦ ÙĤ", + "ãĤ¦ ãĤ©", + "Ġkhu ôn", + "ìĬ¤ ë¡ľ", + "ÏĦ ÎŃÏģα", + "ÏĦÎŃ Ïģα", + "ĠÏĥ κο", + "ĠÏĥκ ο", + "ë§ Ľ", + "ĠÙģ ÙĨÛĮ", + "ĠÙģÙĨ ÛĮ", + "à¹Į à¹Ģà¸ŀ", + "ĠاÙĦع ظ", + "Ġth ôn", + "기 ìĿĺ", + "Ġภ¿", + "Ñĥ ÑİÑĤÑģÑı", + "ÑĥÑİÑĤ ÑģÑı", + "ĠÙħ کاÙĨ", + "ĠÙħÚ© اÙĨ", + "Ġ âĹİ", + "ĠâĹ İ", + "Ġ çľģ", + "Ġçľ ģ", + "Ġ åį¡", + "Ġåį ¡", + "ĠпеÑĢ ÑĪий", + "ĠпеÑĢÑĪ Ð¸Ð¹", + "ĠíĽĦ ë³´", + "Ġآر اÙħ", + "ãģĮ ãģĦ", + "ย าà¸Ļ", + "ยา à¸Ļ", + "μ ει", + "με ι", + "ĠM áy", + "Ġz ů", + "Ġpodp oru", + "Ġpodpor u", + "ì» ¨", + "Ñģ ÑĤÑĢи", + "ÑģÑĤ ÑĢи", + "ÑģÑĤÑĢ Ð¸", + "ÏĢ ÏĦÏīÏĥη", + "Ф ÐĽ", + "åĵª éĩĮ", + "ĠпеÑĢв ÑĥÑİ", + "Ġyer inde", + "Ġyeri nde", + "ĠزÛĮ با", + "ĠزÛĮب ا", + "Ġodst ran", + "à¥Ģ à¤Ĺ", + "ĠÑĢÑĸз нÑĸ", + "Ïģ ηÏĥη", + "Ïģη Ïĥη", + "âĢĮاÙĦÙħÙĦ ÙĦÛĮ", + "ع اد", + "عا د", + "à¥įप ष", + "ÑŁ N", + "ï½ Ľ", + "ãĥ¼ ãĥľ", + "ãĥ¼ãĥ ľ", + "è´Ń ä¹°", + "ĠìĿ¸ê¸° ê¸Ģ", + "ĠÙħÛĮ Ø´ÙĪØ¯", + "ĠбезопаÑģ ноÑģÑĤи", + "ĠνεÏĨ οκ", + "ãģ« ãģ¨", + "ĠÑĨеÑĢк ви", + "ت Ùĥ", + "ĠH Ãłng", + "ĠHÃł ng", + "ĠHÃłn g", + "ĠÙĦ ÙĦس", + "ĠÙĦÙĦ س", + "ĠνεÏĨοκ άλÏħÏĪηÏĤ", + "r aman", + "ra man", + "ram an", + "rama n", + "Ġvy vol", + "n iÄį", + "ni Äį", + "ر اÙĨÙĩ", + "راÙĨ Ùĩ", + "را ÙĨÙĩ", + "Ġp eÅŁ", + "Ġpe ÅŁ", + "ãĥ« ãĤ¯", + "å´ ĩ", + "Ġim kân", + "åĮ» çĸĹ", + "Ġप à¥Ŀ", + "άν νηÏĤ", + "Ġ جÛĮ", + "Ġج ÛĮ", + "Ġp roje", + "Ġpro je", + "Ġpr oje", + "Ġproj e", + "Ġül kenin", + "Ġülk enin", + "Ġülke nin", + "ĠK ew", + "ĠKe w", + "ĠاÙĦÙħ Ùģ", + "Ø£ Ùĥ", + "çĻº 表", + "Ġ δÏħ", + "Ġδ Ïħ", + "Ġ åĽ½å®¶", + "ĠåĽ½ å®¶", + "ĠKiÅŁ isel", + "ãĥ³ ãĤ¬", + "Ġzpráv a", + "V iá»ĩc", + "e rif", + "er if", + "eri f", + "Ġstrán ky", + "éļ ł", + "è¼ ķ", + "к оз", + "ко з", + "Ġस à¤ľ", + "Ùĩد اÙģ", + "l oub", + "lo ub", + "lou b", + "à¸łà¸²à¸ŀ ยà¸Ļà¸ķร", + "Ġíķł ìĿ¸", + "ĠÄIJ Ãło", + "ĠÄIJÃł o", + "ĠÙĨاØŃ ÛĮÙĩ", + "(= )", + "ĠÅŀ ampiyon", + "Ġp iÅŁ", + "Ġpi ÅŁ", + "Ġ ذÙĩ", + "Ġذ Ùĩ", + "ॠ¯", + "ĠÑģÑĢед ÑģÑĤво", + "ĠÑģÑĢедÑģÑĤв о", + "Ġ à¹Ģวลา", + "Ġà¹Ģว ลา", + "ĠÑĩ Ñĥж", + "Ġver ileri", + "Ġveri leri", + "Ġveriler i", + "ĠÚ© ارت", + "Ġکار ت", + "а ви", + "ав и", + "Ġà¤ķर व", + "Ġres tau", + "Ġrest au", + "Ġresta u", + "ê°ľ ìĽĶ", + "Ġм иÑĢов", + "Ġми ÑĢов", + "ĠмиÑĢ Ð¾Ð²", + "ì° ®", + "ĠnÄĽjak ý", + "Ġses siz", + "Ġsess iz", + "اء ات", + "ĠÐĹ Ð°Ñħ", + "ĠÐĹа Ñħ", + "Ñı ÑīиÑħ", + "ÑıÑī иÑħ", + "п ÑĢ", + "Ġпод алÑĮ", + "Ġпода лÑĮ", + "ĠопÑĢедел иÑĤÑĮ", + "ॠŃ", + "Ġ رÙģ", + "Ġر Ùģ", + "幸 ç¦ı", + "à »", + "Ġ vÄĽdom", + "ĠvÄĽ dom", + "ĠvÄĽd om", + "ĠÑģвид еÑĤелÑĮ", + "ĠÎĵ οÏħ", + "ılıģı yla", + "ılıģ ıyla", + "çĻ» éĮ²", + "Ġä¸ĭ è·Į", + "Ġп лÑİ", + "Ġпл Ñİ", + "н од", + "но д", + "ĠØ£ جÙĦ", + "Ġأج ÙĦ", + "Ġà¤ķ थ", + "éĥ½ ä¸į", + "Ġs ene", + "Ġse ne", + "Ġsen e", + "Ġp ÄĽ", + "è¨Ī åĬĥ", + "Ġа Ñĥд", + "Ġод ном", + "Ġодно м", + "Ġ ä¸ĩåħĥ", + "Ġä¸ĩ åħĥ", + "ĠÙĪ Ùħا", + "ĠÙĪÙħ ا", + "ĠÐĶ ÑĢÑĥг", + "èµ· ãģĵ", + "в аÑİÑĤÑģÑı", + "ва ÑİÑĤÑģÑı", + "ваÑİÑĤ ÑģÑı", + "л аÑĤÑĥ", + "ла ÑĤÑĥ", + "лаÑĤ Ñĥ", + "Ġ تÙĪÙĨ", + "Ġت ÙĪÙĨ", + "ĠتÙĪ ÙĨ", + "Ñī аÑı", + "Ñīа Ñı", + "ή λ", + "ĠÐŁ ÑĢа", + "ĠÐŁÑĢ Ð°", + "Ġاست رات", + "Ġاستر ات", + "ิà¸Ļ à¹Ģà¸Ķ", + "à¥įà¤Ĺ त", + "Âł з", + "Ġп олоÑĤ", + "Ġпо лоÑĤ", + "Ġпол оÑĤ", + "æ® ĸ", + "æ¡ Ĩ", + "ĠS istem", + "ĠSi stem", + "ĠSist em", + "Ġr uku", + "Ġru ku", + "Ġruk u", + "ãĥĥ ãĤ«ãĥ¼", + "ĠобÑıз ан", + "Ġkö ÅŁ", + "Ġad ını", + "Ø´Ùħ اÙĦÛĮ", + "na ÄįenÃŃ", + "naÄį enÃŃ", + "Ġ .ï¼ı", + "Ġ. ï¼ı", + "Ġ å®ĺ", + "Ġå® ĺ", + "Ġtoplum sal", + "èª ¤", + "ĠبÙĩ بÙĪØ¯", + "ÑģÑĤв еннаÑı", + "ÑģÑĤвен наÑı", + "ĠØ¢ Ù¾", + "ĠجÙĦ سÙĩ", + "ĠجÙĦس Ùĩ", + "ãĢĢ ï½", + "åĵ Ń", + "æīĢ å±ŀ", + "æĴ ®", + "ì¢ Ģ", + "Ġ ει", + "Ġε ι", + "ì¹ĺ 를", + "Ġ ê³¼ìłķ", + "Ġê³¼ ìłķ", + "u uml", + "uum l", + "uu ml", + "δ ά", + "Ġ زد", + "Ġز د", + "ìĽIJ ìĿĦ", + "ĠvÄĽ cÃŃ", + "ĠvÄĽc ÃŃ", + "د Ø«", + "Ġs anki", + "Ġsan ki", + "Ġsank i", + "åĥı æĺ¯", + "л аÑĢа", + "ла ÑĢа", + "ìĤ¬ ìĿ´", + "ãĤı ãĤĮãģŁ", + "ãĤıãĤĮ ãģŁ", + "ĠÄij ón", + "ĠÄijó n", + "åIJ¯ åĬ¨", + "Ġgi Ãłnh", + "ĠgiÃł nh", + "Ġkır mızı", + "Ø® Ùħ", + "æIJ į", + "åĪĩ ãĤĬ", + "ãĤµ ãĥ¼ãĥĵãĤ¹", + "Ùĩ ار", + "Ùĩا ر", + "ذ Ùĥر", + "о ÑĢоз", + "оÑĢ Ð¾Ð·", + "оÑĢо з", + "à¥Īà¤Ĥ ।ĊĊ", + "à¥Īà¤Ĥ। ĊĊ", + "à¥Īà¤Ĥ।Ċ Ċ", + "ĠíĻĪ íİĺìĿ´ì§Ģ", + "ĠÙĥ بÙĬرة", + "ĠÙĥبÙĬر Ø©", + "н ина", + "ни на", + "нин а", + "íķĺ ìļ°", + "å¼ķç͍ é¢ij次", + "ॠ®", + "ĠбаÑĤÑĮ кÑĸв", + "à¸Ł à¸Ńร", + "ี .", + "ìłĿ íĬ¸", + "éĺħ读 次æķ°", + "Ġit ir", + "Ġi tir", + "ÑĪ Ð¸Ð½", + "ÑĪи н", + "ĠV áºŃy", + "çĤ ®", + "ла год", + "лаг од", + "Ø´ÙĨ اس", + "á» IJ", + "ĠÑı год", + "Ġì¤ij ìķĻ", + "ر ÙĬØ·", + "رÙĬ Ø·", + "ĠìĪĺ íĸī", + "Ġ ä¸Ģèά", + "Ġä¸Ģ èά", + "ĠÑħви лин", + "ĠÐľÐ¾Ð¶ но", + "ĠнаÑĩ але", + "Ġод нов", + "Ġодно в", + "ĠÃľ ç", + "ÑĨион нÑĭй", + "Ġ ìļķ", + "Ġìļ ķ", + "æ¼ Ĥ", + "å² ³", + "ت دÙī", + "تد Ùī", + "κ ηÏĤ", + "κη ÏĤ", + "âĢĻ nda", + "âĢĻn da", + "ï¼IJ ï¼IJ", + "èª ī", + "é§ħ å¾ĴæŃ©", + "ĠÙģØ±Ø² ÙĨد", + "åħ¬ è·¯", + "α ÏĥίαÏĤ", + "αÏĥ ίαÏĤ", + "αÏĥία ÏĤ", + "าà¸ĵ าà¸Ī", + "ëij ¥", + "Ġ ÏĢοι", + "ĠÏĢ Î¿Î¹", + "ĠÏĢο ι", + "Ġب داÙĨ", + "Ġبد اÙĨ", + "к ап", + "ка п", + "ĠìŀĪ ëĬĶëį°", + "ĠìŀĪëĬĶ ëį°", + "ï¼Į æŃ¤", + "à¸Ľà¸£à¸°à¹Ĥย à¸Ĭà¸Ļ", + "ĠÚ©Ø´ÙĪØ± ÙĩاÛĮ", + "ุ ส", + "ãģ¹ ãģį", + "ĠÑģам Ñĭй", + "Ġп лÑı", + "Ġпл Ñı", + "Ġб ед", + "人 æīį", + "ส หร", + "ู à¸ķ", + "Ġkullan ımı", + "Ġkullanım ı", + "íķĻ ëħĦ", + "æ²» çĸĹ", + "ãĢĤ ä¸įè¿ĩ", + "ãĢĤä¸į è¿ĩ", + "æ£ ļ", + "ëĤ¨ ëıĦ", + "ĠØ¢ تش", + "Ïĩ ÎŃÏĤ", + "Ġfunk ci", + "Ġfunkc i", + "н ообÑĢаз", + "но обÑĢаз", + "à¥ĭ फ", + "Ġk aps", + "Ġka ps", + "Ġkap s", + "าษ à¸İ", + "( ع", + "ï¼Į åĬł", + "à¹Ĭ à¸ģ", + "ĠÙĩ Ø´", + "Ġدر ÙĪÙĨ", + "Ġ меÑĩ", + "Ġм еÑĩ", + "ĠпÑĢеж де", + "à¹Ī ย", + "Ġار شد", + "า à¹Ģล", + "æ¯Ķ è¼ĥ", + "Ġذ کر", + "Ġ æĿ¡", + "ĠæĿ ¡", + "Ð Ĭ", + "Ñĥ кÑĢаÑĹн", + "ÙĬÙĨ ات", + "ÙĬÙĨا ت", + "ì¢ ĭ", + "д иÑı", + "ди Ñı", + "ÏĦ Ïģι", + "ÏĦÏģ ι", + "ĠÐļ аз", + "ĠÐļа з", + "ÙĤ ÙĦاÙĦ", + "ÙĤÙĦ اÙĦ", + "_ ,,", + "_, ,", + "ĠÚĨ ت", + "ĠìĿ¼ ìłķ", + "ĠÐŁ ÑĢоÑĦ", + "ĠÐŁÑĢ Ð¾ÑĦ", + "ĠÐŁÑĢо ÑĦ", + "æ³ Ľ", + "Ġdruh ý", + "Ñĩ Ñĥк", + "ÑĩÑĥ к", + "l edik", + "le dik", + "led ik", + "ledi k", + "Ġhey ec", + "Ñĭ вал", + "Ñĭв ал", + "Ñĭва л", + "ĠD üny", + "ĠDün y", + "Ġ çĻº", + "ĠçĻ º", + "ĠpÅĻ Ã¡tel", + "β άλ", + "βά λ", + "Ġ غر", + "Ġغ ر", + "ëĭ¨ ì²´", + "ìĽ¨ ëĶĶìĭľ", + "ÑĢаÑī ениÑı", + "н ÑĨиклопед", + "Ġpodnik atel", + "Ġìĭł ìŀħ", + "ĠÙ쨱 Ø¢", + "и лиÑģÑı", + "или ÑģÑı", + "Ġol umlu", + "à¥įष मत", + "ĠÙħت خصص", + "й ом", + "ؤ اÙĦ", + "ĠÐĿ аÑĤ", + "ĠÐĿа ÑĤ", + "ìĺ¤ ëĬĶ", + "ĠMüdür lÃ¼ÄŁÃ¼", + "ĠH Ãłnh", + "ĠHÃł nh", + "ĠHÃłn h", + "Ġس ابÙĤ", + "ï¼ī çļĦ", + "ĠQu ý", + "lád ánÃŃ", + "ládá nÃŃ", + "Ġ ìļ´ëıĻ", + "Ġìļ´ ëıĻ", + "ĠÐĺ Ñħ", + "è« ¾", + "lıģ ının", + "lıģını n", + "lıģın ın", + "l il", + "li l", + "u Äį", + "ĠÑĩем пÑĸон", + "ÑĤ ож", + "ÑĤо ж", + "Ġ ä½Ľ", + "ни ÑĨе", + "ниÑĨ е", + "ĠпеÑĢв ого", + "Ġ Ñģом", + "ĠÑģ ом", + "ĠÑģо м", + "Ïĩ Ïİ", + "ÅĻ ik", + "ÅĻi k", + "иÑĤелÑĮ ÑģÑĤва", + "Ġİ ki", + "Ġask eri", + "Ġasker i", + "c isi", + "ci si", + "cis i", + "Ġjed nÃŃm", + "Ġjedn ÃŃm", + "Ġsta nice", + "Ġstan ice", + "èĤ¡ 票", + "à¸ľ ม", + "T ừ", + "Å¡ ak", + "ÏĦ ία", + "ÏĦί α", + "м ами", + "ма ми", + "ãģĮ åĩº", + "μο ί", + "м аÑĶ", + "ма ÑĶ", + "ëł¥ ìĿ´", + "ãĤĦ ãģ£ãģ¦", + "Ġ å¼µ", + "Ġå¼ µ", + "ØĮ Ċ", + "Ġ »Ċ", + "Ġ» Ċ", + "ا جات", + "اج ات", + "á½ ³", + "æĻĤ ãģ®", + "Ġп окол", + "Ġпо кол", + "Ġпок ол", + "ÑĸÑĤ еÑĤ", + "Ġíķ´ ê²°", + "Ġde dim", + "Ġded im", + "Ġdedi m", + "ĠÑĤ веÑĢд", + "Ġжен Ñīина", + "ĠженÑīин а", + "ед ини", + "еди ни", + "един и", + "ĠÙ¾ ÛĮÚ©", + "ĠÙ¾ÛĮ Ú©", + "iver site", + "ivers ite", + "iversit e", + "ĠآسÛĮ اب", + "ĠÑħаÑĢакÑĤеÑĢиÑģÑĤи ки", + "ĠØ£ÙĨ Ùĩا", + "ĠØ£ÙĨÙĩ ا", + "ĠÑĥкÑĢаÑĹн ÑģÑĮкоÑĹ", + "ĠاختÙĦ اÙģ", + "Ġاخت ÙĦاÙģ", + "Ġt ez", + "Ġte z", + "Ïģ εÏħ", + "Ïģε Ïħ", + "Ġkon umu", + "Ġkonu mu", + "Ġkonum u", + "ĠÑĤеÑħ нÑĸ", + "м Ñĸв", + "мÑĸ в", + "èĬ ¯", + "ĠÏĥ ελ", + "ĠÏĥε λ", + "Ä ¢", + "μ ιÏĥ", + "μι Ïĥ", + "ี à¹īĊ", + "ีà¹ī Ċ", + "Ġm ne", + "Ġmn e", + "ĠоÑĤв еÑĩ", + "ĠÎ ī", + "Ġ éĩİ", + "Ġéĩ İ", + "Ġg ấp", + "ĠпÑĢодÑĥк ÑĤÑĭ", + "ĠпÑĢодÑĥкÑĤ Ñĭ", + "ĠС ÑĢед", + "Ñĸл лÑı", + "à¸ļ à¸Ńà¸ģ", + "ĠtÅĻÃŃ dy", + "Ġth á»ķ", + "Ġthá» ķ", + "ãĥĩãĤ£ ãĤ¢", + "ÏĢοι η", + "ν ει", + "νε ι", + "æĪij们 çļĦ", + "Ġprofes yonel", + "ĠRa kou", + "ĠRak ou", + "Ġвид но", + "Ġz by", + "Ġzb y", + "ĠØŃ اÙĦÛĮ", + "ĠØŃاÙĦ ÛĮ", + "Ġ é£Ł", + "Ġé£ Ł", + "ĠL Ãłm", + "ĠÚ¯ ست", + "ĠТ ип", + "ĠТи п", + "θ ι", + "á vis", + "áv is", + "ÙIJ ب", + "åı¯èĥ½ æĢ§", + "ĠÑģем ей", + "ãĤī ãĤĮãģ¦ãģĦãĤĭ", + "ãĤīãĤĮ ãģ¦ãģĦãĤĭ", + "ãĤīãĤĮãģ¦ ãģĦãĤĭ", + "ìĥģ íĴĪ", + "Ġ οÏħ", + "Ġο Ïħ", + "Ġà¤ħà¤Ĺ स", + "о лом", + "ол ом", + "оло м", + "γ ον", + "γο ν", + "ĠÑģв ÑıÑī", + "ĠÑģвÑı Ñī", + "æĵ ¦", + "Ïĥ ÏĦηκε", + "ÏĥÏĦη κε", + "èĢħ çļĦ", + "- à¤ķ", + "ÑĤ ии", + "ÑĤи и", + "ĠвизнаÑĩ еннÑı", + "åıij åĩº", + "д аÑħ", + "да Ñħ", + "ĠмоÑĢ Ñı", + "Ġмо ÑĢÑı", + "æī¾ åΰ", + "ÙĦ ÙĪØ¨", + "ÙĦÙĪ Ø¨", + "èĬ Ļ", + "ĠÑĦак ÑĤ", + "æ¯į 亲", + "id lo", + "idl o", + "ĠSt ad", + "ĠSta d", + "Ñį й", + "ìĽIJ ìĿ´", + "à¤ı न", + "æķ´ 个", + "Ġf ık", + "ĠÙħ ات", + "ĠÙħا ت", + "ÏĢ Î¿Î½", + "ÏĢο ν", + "Ġê²½ 기ëıĦ", + "Ġ경기 ëıĦ", + "Ġα δ", + "Ġvz pom", + "Ġn á»ĵi", + "ĠÙĨÙĤ اط", + "ожд ение", + "Ġз алÑĸз", + "Ġзал Ñĸз", + "Ġr á»§i", + "è¾ °", + ".:.:.:.:.:.:.:.: .:.:.:.:.:.:.:.:", + "ĠM Ãľ", + "Ġk ari", + "Ġka ri", + "Ġkar i", + "ĠÑģ обÑĭ", + "ĠÑģо бÑĭ", + "ĠÑģоб Ñĭ", + "ìĸ´ ì§Ħ", + "ر ÙĬس", + "رÙĬ س", + "u bu", + "ub u", + "ĠØ® ÙĦÙģ", + "ĠØ®ÙĦ Ùģ", + "ظٹ Ø·", + "æĿ ī", + "Ġ æĻ®éĢļ", + "ĠæĻ® éĢļ", + "ĠÙħÙĪØ§Ø· ÙĨØ©", + "ĠÑģÑĤ анÑĥ", + "ĠÑģÑĤан Ñĥ", + "ĠÑģÑĤа нÑĥ", + "Ġê·¸ëħĢ ìĿĺ", + "ĠÙĦ Ùĥرة", + "ĠÙĦÙĥ رة", + "Ġo sm", + "Ġos m", + "ĠÑĥ ÑĢож", + "е га", + "ег а", + "Ġf else", + "Ġfe lse", + "Ġfel se", + "æĢĿ èĢĥ", + "ãĢĮ ãģĪ", + "Ġн овиÑħ", + "Ġнов иÑħ", + "Ġно виÑħ", + "๠IJ", + "ü ml", + "üm l", + "Ġíͼ íķ´", + "ìĿ¼ ë°ĺ", + "Ġtür ü", + "ĠмÑĸ ÑģÑĤÑĸ", + "ĠмÑĸÑģ ÑĤÑĸ", + "ĠмÑĸÑģÑĤ Ñĸ", + "Ġkažd é", + "ĠÙħس جد", + "ấ c", + "ĠÙģ Ú©ÛĮ", + "Ġ yasal", + "Ġy asal", + "Ġya sal", + "Ġyas al", + "å°± ç®Ĺ", + "ĠоблиÑĩ ÑĩÑı", + "ĠÙĦ دÙĬ", + "ĠÙĦد ÙĬ", + "ا بات", + "اب ات", + "ĠÑģп аÑģ", + "êµ° ìļĶ", + "Ġп ад", + "Ġпа д", + "Ġб ÑĢаÑĤ", + "ĠбÑĢа ÑĤ", + "éĩį 大", + "Ġdüzen lenen", + "G ün", + "Ġaplik ace", + "à¸Ń ห", + "Ġ çħ", + "Ġç ħ", + "ĠÑģоÑģÑĤ оиÑĤ", + "è¯Ħ ä»·", + "ĠD uy", + "ĠDu y", + "Ø· اÙĤ", + "ĠпÑĢид еÑĤÑģÑı", + "Ġt olik", + "Ġto lik", + "Ġtol ik", + "Ġob rov", + "Ġobr ov", + "ĠpÅĻip oj", + "Ġ Ä±ÅŁÄ±", + "Ġı ÅŁÄ±", + "Ú¯ ÙĪÛĮ", + "Ú¯ÙĪ ÛĮ", + "æľŁ å¾ħ", + "ип лом", + "Ġ ince", + "Ġin ce", + "Ġi nce", + "Ġinc e", + "ĠС об", + "ĠСо б", + "ен ÑĮÑİ", + "енÑĮ Ñİ", + "è§Ĵ èī²", + "Ġ à¸ķร", + "Ġà¸ķ ร", + "Ġb ại", + "Ġê°ĢëĬ¥ íķľ", + "ĠblÃŃ zk", + "Ġt ách", + "Ġtá ch", + "Ġtác h", + "Ġвид Ñĭ", + "Ġви дÑĭ", + "и Ñĩна", + "иÑĩ на", + "Ġvyž ad", + "ĠìĨIJ ìĿĦ", + "ĠÐĿ ÑĸмеÑĩ", + "ĠÐĿÑĸ меÑĩ", + "åŁº äºİ", + "ĠÐļ ÑĢи", + "Ġعز ÛĮز", + "t iler", + "til er", + "ti ler", + "tile r", + "е вÑĸ", + "ев Ñĸ", + "Ġmož nosti", + "Ġmožnost i", + "ب از", + "با ز", + "ĠìĤ¬ ë§Ŀ", + "Ġz ÅĻejmÄĽ", + "íĹ ¤", + "Ġürün leri", + "ĠÎł λη", + "а ки", + "ак и", + "ãĤĴ éĸĭ", + "a nou", + "an ou", + "ano u", + "åĽ½ ãģ®", + "ĠyaÅŁ anan", + "ĠyaÅŁan an", + "ĠÑģ евеÑĢ", + "Ġ æ©Ł", + "Ġæ© Ł", + "มาà¸ģ มาย", + "Ġíijľ íĺĦ", + "ร ส", + "Ġض ربÙĩ", + "Ġضر بÙĩ", + "ĠE vet", + "ĠEv et", + "ĠEve t", + "æĨ ¶", + "Ġد ÙĤÛĮÙĤ", + "ĠدÙĤÛĮ ÙĤ", + "Ġвозник нов", + "ìľł 머", + "Ġíijľ ìĭľ", + "ÛĮ Ø´ÙĨ", + "ÛĮØ´ ÙĨ", + "ãĥĹ ãĥ©", + "ÑĤ Ñİ", + "ÙĪ Ø³ÛĮ", + "ÙĪØ³ ÛĮ", + ") ìĿ´", + "è¯ģ æĺİ", + "ãģ§ãģį ãģ¾ãģĻ", + "ìĪĺ ìĿĺ", + "çĸ Ĩ", + "ĠÙħ ÙģÙĩÙĪÙħ", + "оÑĩ аÑĤкÑĥ", + "ाल à¤ķ", + "æ¡ Ĥ", + "ĠоÑħ оÑĢони", + "ĠارزÛĮ ابÛĮ", + "Ġìµľ ëĮĢ", + "Ġtho ải", + "ĠЦенÑĤ ÑĢалÑĮ", + "Ġ çķĻ", + "Ġçķ Ļ", + "à¸Ľà¸£à¸° à¹Ģà¸łà¸Ĺ", + "æµ· å¤ĸ", + "ĠÅŀ u", + "íĻľ ëıĻ", + "ĠdvÄĽ ma", + "istrov stvÃŃ", + "Ġarac ılıģıyla", + "Ġtr á»Ļn", + "» :", + "íĭ ±", + "ĠÙĦÛĮ Ú¯", + ". Ðļ", + "ĠÙħÙĤ اÛĮسÙĩ", + "Ġв мÑĸ", + "ر ÙĪØ¨", + "رÙĪ Ø¨", + "ĠاÙĦ Ø´Ùħ", + "ĠاÙĦØ´ Ùħ", + "Ġden nÄĽ", + "Ġdenn ÄĽ", + "Ñĥ Ñĩа", + "ÑĥÑĩ а", + "åħ ¹", + "Ñī им", + "Ñīи м", + "ĠíĬ¹ íŀĪ", + "ĠاستاÙĨد ارد", + "à¥Ģ ध", + "ãĤ¸ ãĤ¢", + "à¹ĩ à¹ĩ", + "иÑģ Ñģ", + "Ġkazan ç", + "ĠzÃŃsk al", + "åĽŀ æĿ¥", + "Ġп ÑıÑĤÑĮ", + "ĠпÑıÑĤ ÑĮ", + "ĠÄij ãi", + "ĠÄijã i", + "Ġ ÙĪØ±Ø¯", + "ĠÙĪ Ø±Ø¯", + "ĠÙĪØ± د", + "Ġ ìķķ", + "Ġìķ ķ", + "ุ à¸Ĺร", + "ุà¸Ĺ ร", + "åĬ¨ çī©", + "Ġp ublik", + "Ġpub lik", + "Ġpubli k", + "æĪIJ æľ¬", + "æĪIJ åijĺ", + "ãĤ¤ ãĤ¯", + "شر ÙĥØ©", + "á¿Ĩ ÏĤ", + "Ġy ola", + "Ġyo la", + "Ġyol a", + "üyor uz", + "Ġк ÑĥÑĢи", + "ĠкÑĥÑĢ Ð¸", + "ĠкÑĥ ÑĢи", + "ĠпоÑħ ож", + "Ġìłľ ê°Ģ", + "िय त", + "ائ ÙĦØ©", + "ائÙĦ Ø©", + "Ġ ãģ¾", + "़ à¥ĩà¤Ĥ", + "़à¥ĩ à¤Ĥ", + "ÑģÑĮ кими", + "ÑģÑĮк ими", + "ÑģÑĮким и", + "âĢľ ä½ł", + "imiz de", + "ìµľ ìĭł", + "Ạ¬", + "è Ł", + "à¸Ħ รà¸Ńà¸ļ", + "à¸Ħร à¸Ńà¸ļ", + "ãĢĢ ãĢĢãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢ ãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ت غ", + "ĠVÅ¡ ech", + "à¸±à¸Ľ à¸Ķาห", + "Ġa td", + "Ġat d", + "в оÑİ", + "во Ñİ", + "Ġyap ım", + "Ġyapı m", + "olog ické", + "ologic ké", + "Ġп лен", + "Ġпл ен", + "Ġlaz ım", + "r ung", + "ru ng", + "run g", + "ìĦľ ê´Ģ", + "Ġji ný", + "Ġjin ý", + "Ġtr òn", + "Ġtrò n", + "ĠполÑĸÑĤи ки", + "ا ÙĥÙħ", + "اÙĥ Ùħ", + "دÛĮ گر", + "à¥Īà¤Ĥ .Ċ", + "à¥Īà¤Ĥ. Ċ", + "Ġ اÙĩد", + "Ġا Ùĩد", + "ĠاÙĩ د", + "Ġ ãĥį", + "Ġãĥ į", + "ĠпÑĢодÑĥк ÑĤов", + "ĠпÑĢодÑĥкÑĤ ов", + "æĤ Ł", + "ĠpÅĻÃŃpad ech", + "ĠzaÄį ala", + "ĠzaÄįal a", + "åħ¥ ãĤĮ", + "ĠÑĢÑĸв нÑĸ", + "æĦŁ æĥħ", + "ĠΧ α", + "ì £½", + "ì£ ½", + "ิà¸Ī ารà¸ĵ", + "Âł б", + "Ñĸ ÑĹв", + "ÑĸÑĹ Ð²", + "ب Ø´", + "çļĦ éĹ®é¢ĺ", + "Ġza stup", + "Ġzast up", + "볤 ìļĶ", + "ãģ§ãģĻ ãģŃ", + "âĢĮ داÙĨ", + "âĢĮد اÙĨ", + "ï¼Į æĤ¨", + "Ġu vÄĽdom", + "ãģ¦ ãĤĭ", + "ìĤ¬ ëŀĮ", + "l un", + "lu n", + "éĽĨ åIJĪ", + "ë§ ¹", + "Ġž id", + "Ġži d", + "ठĬ", + "Ġt rp", + "Ġtr p", + "л ениÑħ", + "лен иÑħ", + "ле ниÑħ", + "_ __", + "__ _", + "Ðľ Ðŀ", + "å¼ ĭ", + "λÎŃ Î¿Î½", + "ĠÄij òi", + "Ġк ÑĢок", + "lay ıcı", + "ì¶ľìŀ¥ ë§ĪìĤ¬ì§Ģ", + "åij Ī", + "éľ ŀ", + "Ġпо глÑıд", + "Ġпог лÑıд", + "ت رÙĥ", + "تر Ùĥ", + "ĠتÙģ Ø§ÙĪØª", + "Ġ å®®", + "Ġå® ®", + "ĠدÙĪØ± بÛĮÙĨ", + "æĶ¾ åľ¨", + "ĠÑģлÑĥÑĩа ев", + "ĠÑģлÑĥÑĩае в", + "ĠÏħÏĢ Î·Ïģε", + "ë§ ŀ", + "ãģĻ ãģĻ", + "ê²ł ëĭ¤", + "ราย à¸ģาร", + "ĠÏĢ Ïģιν", + "ĠÑģ меÑĪ", + "ĠÑģм еÑĪ", + "å§ ī", + "Ġvýsled ky", + "Ġpot vr", + "åıij è¡Į", + "Ġt úi", + "Ġtú i", + "ĠìĤ¬ ëĿ¼", + "ç«Ļ åľ¨", + "Ġja ký", + "Ġjak ý", + "Ġ à¸ļาà¸ĩ", + "Ġà¸ļ าà¸ĩ", + "Ġdik kate", + "Ġdikkat e", + "Ġدر Ø¢Ùħد", + "æİĴ åIJį", + "r álnÃŃ", + "rál nÃŃ", + "ê³¼ ìĿĺ", + "ä½ µ", + "о лаг", + "ол аг", + "ола г", + "is iyle", + "isi yle", + "Ġ æ½", + "Ġæ ½", + "Ġ तम", + "Ġत म", + "Ġd ij", + "Ġdi j", + "Ġnh ánh", + "ĠR ek", + "ĠRe k", + "设 æĸ½", + "ĠpodmÃŃn ek", + "å¹¶ ä¸į", + "к ÑĥÑĤ", + "кÑĥ ÑĤ", + "Ġê³ł 볤", + "çļĦ å£°éŁ³", + "æĪĺ äºī", + "д аÑı", + "да Ñı", + "Ġê´Ģ ìĭ¬", + "ĠÑĦÑĸн анÑģ", + "ĠK öy", + "ĠKö y", + "Ġж ал", + "ĠÑģлÑĥж би", + "м ена", + "мен а", + "ме на", + "ت ÙĬار", + "تÙĬ ار", + "ĠÑĩем пион", + "ÏĢ Î¹Ïĥ", + "ÏĢι Ïĥ", + "landır ma", + "mak tan", + "makta n", + "makt an", + "Ġ 丶", + "Ġä¸ ¶", + "à¹Ī à¸Ńส", + "à¹Īà¸Ń ส", + "ĠmÃ¼ÅŁ teri", + "ĠmÃ¼ÅŁter i", + "Ġص ÙĨد", + "ĠصÙĨ د", + "Ġet mesi", + "Ġetm esi", + "Ġetme si", + "Ġп оÑĢÑĤ", + "ĠпоÑĢ ÑĤ", + "ν ονÏĦαι", + "νον ÏĦαι", + "Ġ ãħĭãħĭ", + "ĠK AR", + "ĠKA R", + "Ġ uch", + "Ġu ch", + "Ġuc h", + "ĠØ® ÙĦÙĤ", + "ĠØ®ÙĦ ÙĤ", + "าษà¸İ ร", + "æŃ ¡", + "Ġи мени", + "Ġим ени", + "Ġиме ни", + "ãģł ãģijãģ©", + "ãģłãģij ãģ©", + "Ġìĭ¤ ìĭľ", + "ÏĥÏī ÏĢ", + "Ġ ì£", + "Ġì £", + "t ÄĽÅ¾", + "tÄĽ ž", + "Ġözel likleri", + "Ġözellik leri", + "Ġözellikle ri", + "Ġب Ù¾", + "Ġиз обÑĢаж", + "ÙĬÙħ ÙĥÙĨ", + "Ġ ãĥĶ", + "Ġãĥ Ķ", + "ĠÐĶ Ð¸Ð²", + "ĠÐĶи в", + "ĠØ¥ ÙĬ", + "Ùĥ ÙĬÙĦ", + "ÙĥÙĬ ÙĦ", + "ĠÅŁ ik", + "ĠÅŁi k", + "Ġà¤Ĩ à¤ĸ", + "lar ınızı", + "ların ızı", + "larını zı", + "larınız ı", + "ĠвÑĸд ÑĢÑĸз", + "ĠÑĢоб оÑĤа", + "ĠÑĢобоÑĤ а", + "Ġta rif", + "Ġtar if", + "Ġ اÙĪØª", + "Ġا ÙĪØª", + "ĠاÙĪ Øª", + "ın ma", + "é£Ł ãģ¹", + "Ġuzav ÅĻ", + "ë£ ¸", + "çĽij çĿ£", + "Ġ: ï¼¼", + "θ Ïħν", + "θÏħ ν", + "à¸Ķ ร", + "a larından", + "alar ından", + "aların dan", + "alarında n", + "èĩª æĭį", + "Ġro ÄįnÃŃ", + "ाà¤ĩ व", + "Ġ ÙĥÙĪØ±", + "ĠÙĥ ÙĪØ±", + "ĠÏĦ αιν", + "ĠÏĦα ιν", + "ĠÑĸн див", + "r ve", + "rv e", + "ĠνεÏĨ ÏİÏĥειÏĤ", + "Ġb á»ijn", + "Ġbá»ij n", + "Ġ å¿«", + "Ġå¿ «", + "ĠÑģ олÑĮ", + "ĠÑģо лÑĮ", + "ĠÑģол ÑĮ", + "li ÄŁinde", + "liÄŁi nde", + "liÄŁ inde", + "liÄŁin de", + "िन à¤Ł", + "a htar", + "ah tar", + "Ġneb ezpeÄį", + "æĹ¢ çĦ¶", + "ĠëĮĢ ìłĦ", + "ĠÙĨÚ¯Ùĩد ارÛĮ", + "ĠzÃŃsk at", + "Ġнали Ñĩие", + "ĠналиÑĩи е", + "Ġ aks", + "Ġa ks", + "Ġak s", + "ï¼ī ãĢĤĊĊ", + "ï¼īãĢĤ ĊĊ", + "ï¼īãĢĤĊ Ċ", + "Ġrod iny", + "Ġrodin y", + "Ġrodi ny", + "Ġза ÑħÑĸд", + "ĠзаÑħ Ñĸд", + "å¾® ç¬ij", + "ÂłÐĶ Ð°", + "r adu", + "ra du", + "rad u", + "ī nh", + "p les", + "pl es", + "ple s", + "ĠK ons", + "ĠKon s", + "ĠKo ns", + "ิ à¹Ĥล", + "ิà¹Ĥ ล", + "ĠاÙĦ ÙĪØµ", + "ĠاÙĦÙĪ Øµ", + "åIJ¬ åΰ", + "ĠÑģпоÑĢ ÑĤив", + "ĠÑģ айÑĤе", + "ĠÑģай ÑĤе", + "Ġ اظ", + "Ġا ظ", + "ĠØ§Ø ¸", + "lar ındaki", + "ların daki", + "larında ki", + "Ġtá»ķ n", + "ÐĿ ÐĨ", + "Ġned ost", + "ĠÑĤоÑĢ Ð³Ñĸв", + "Ġ اÛĮت", + "Ġا ÛĮت", + "ĠاÛĮ ت", + "Ġاختص اص", + "ĠÃľ y", + "ĠS adece", + "ĠSad ece", + "ĠÙħØ® رÙĪØ·", + "Ä ģn", + "Äģ n", + "ç esi", + "çe si", + "Ġ çĬ", + "Ġç Ĭ", + "ãĤĤ ãģ£ãģ¨", + "Ġ éŁĵ", + "ĠéŁ ĵ", + "èµ ĸ", + "ĠполÑĥÑĩ ениÑı", + "Ġë ĺ", + "âĢĻ ÑĹ", + "b ÃŃr", + "bÃŃ r", + "Ġб ÑĸблÑĸ", + "ĠD á»±", + "же неÑĢ", + "жен еÑĢ", + "ç½ij åĪĬ", + "Ġल à¥ľà¤ķ", + "ĠÑĥÑĩ нÑĸв", + "èĪ °", + "ĠÃĸÄŁ ren", + "Ġ ola", + "Ġo la", + "Ġol a", + "Ġ। âĢĿĊĊ", + "ระ à¹Ģà¸ļ", + "á½ ²", + "Ġ رز", + "Ġر ز", + "е и", + "еР¸", + "Ñı Ñĩи", + "ÑıÑĩ и", + "ØŃ ب", + "æĴ ¤", + "ãģ¾ãģŁ ãģ¯", + "б ина", + "би на", + "бин а", + "ĠÎł εÏģ", + "ĠоÑĤноÑģ иÑĤÑģÑı", + "åīį çļĦ", + "Ġ šť", + "ĠÅ¡ Å¥", + "Ġyıl da", + "Ġyı lda", + ": ::::|", + ":: :::|", + ":::: :|", + "::: ::|", + "::::: |", + "us til", + "ust il", + "اÙĦ Ø¥", + "ĠsouÄįas né", + "ĠÙĨÛĮ رÙĪÛĮ", + "ĠÙĨÛĮر ÙĪÛĮ", + "ĠÙĨÛĮرÙĪ ÛĮ", + "ÑĩеÑģ кое", + "Ñĩе Ñģкое", + "ظ Ùģ", + "ĠÙ¾ÛĮØ´ ÛĮÙĨÙĩ", + "Ġع Ù쨴", + "Ġrost lin", + "ç½ijåĪĬ ä¸ĭ载次æķ°", + "ĠпÑĢигоÑĤов иÑĤÑĮ", + "ãĥ Į", + "ĠÙĪ Ùħع", + "ĠÙĪÙħ ع", + "Ġb ecer", + "Ġbe cer", + "Ġbec er", + "Ġ ãĤ±", + "ĠãĤ ±", + "Ïĩ ήÏĤ", + "Ïĩή ÏĤ", + "о ÑģÑĤÑĥп", + "оÑģÑĤ Ñĥп", + "Ġë°ľ 매", + "Ñĸй ного", + "Ñĸйно го", + "Ġh rd", + "Ġhr d", + "ĠпÑĢепаÑĢа ÑĤÑĭ", + "ĠÙģ Ø±Ø¶", + "ĠÙ쨱 ض", + "ĠTy to", + "Ġ кÑĢаÑĹн", + "ĠкÑĢаÑĹ Ð½", + "Ġز اد", + "Ġikt idar", + "ì§ ĵ", + "Ùij ر", + "ÑĢÑı дÑĥ", + "ÑĢÑıд Ñĥ", + "к Ñĸй", + "кÑĸ й", + "âĶ £", + "Ġко жи", + "Ġкож и", + "Ġت ازÙĩ", + "Ġتا زÙĩ", + "o bec", + "ob ec", + "obe c", + "in ae", + "ina e", + "Ġvyj ád", + "Ġ رÙģØªÙĩ", + "Ġر ÙģØªÙĩ", + "ĠرÙģØª Ùĩ", + "ĠرÙģ ØªÙĩ", + "Щ о", + "ĠBy lo", + "ĠByl o", + "оÑĤ в", + "ĠденÑĮ ги", + "é§ Ĩ", + "Ġма ÑĪин", + "ĠмаÑĪ Ð¸Ð½", + "ĠмаÑĪи н", + "ĠØ£ ج", + "ì´Ī ëĵ±íķĻêµIJ", + "dı ģında", + "dıģı nda", + "dıģ ında", + "б аÑģ", + "ба Ñģ", + "Ġ æł¹", + "Ġæł ¹", + "ÎijÎĿ Τ", + "ÙĴ ØŃ", + "Ġjejich ž", + "ìĹIJìĦľ ìĿĺ", + "Ġад же", + "Ġì ı", + "Ïĥ οÏħ", + "Ïĥο Ïħ", + "et leri", + "etler i", + "Ġبعد ÛĮ", + "Ġبع دÛĮ", + "ĠìŀIJëıĻ ì°¨", + "ิà¸į à¸į", + "Ġt isk", + "Ġti sk", + "ãĥ¼ ãĤ¹ãĥĪ", + "ãĥ¼ãĤ¹ ãĥĪ", + "Ġमत लब", + "ê³Ħ íļį", + "ãĤ¦ ãĥĪ", + "Ġ à¹Ģมà¸ķร", + "Ġà¹Ģม à¸ķร", + "Ġop siyon", + "Ġops iyon", + "ĠÑĢав но", + "ĠبÛĮ ÙħÙĩ", + "ĠبÛĮÙħ Ùĩ", + "Ġ먼 ìłĢ", + "иÑĤелÑĮ нÑĭм", + "ĠнÑĸ би", + "Ġде ÑģÑıÑĤ", + "ĠдеÑģÑı ÑĤ", + "ĠÑģиÑĤÑĥа ÑĨии", + "еÑĢ ÑĪе", + "еÑĢÑĪ Ðµ", + "Ä ¾", + "ุ à¸ķร", + "ุà¸ķ ร", + "Ġyönet imi", + "Ġyönetim i", + "éIJ ĺ", + "ĠÙħÛĮ تÙĪØ§ÙĨ", + "Ġز ÙĨدÙĩ", + "ĠزÙĨ دÙĩ", + "ĠزÙĨد Ùĩ", + "ãĥŃ ãĥ³", + "ĠK BS", + "ĠKB S", + "ìĦľ ë¹ĦìĬ¤", + "ï» ł", + "eck ého", + "ecké ho", + "ĠÙĤابÙĦ ÛĮت", + "ĠÙĤاب ÙĦÛĮت", + "ãĢĤ ä»Ĭ", + "ÃŃ nÄĽ", + "ÃŃn ÄĽ", + "ĠÑģм ог", + "ĠÑģл ÑĭÑĪ", + "ÙĴ Ùģ", + "po ÅĻád", + "елÑĮ но", + "Ġεί Ïĩαν", + "-ÐŁ еÑĤеÑĢб", + "ĠCh iến", + "ĠChi ến", + "é ry", + "ér y", + "ĠÑĸн ÑģÑĤиÑĤÑĥÑĤ", + "ç»Ĩ èĥŀ", + "Ñĭ ÑŁN", + "Ġv ua", + "Ġvu a", + "Ġà¤ħ श", + "ÑĢоÑģ ÑĤо", + "ÑĢоÑģÑĤ о", + "Ġvů Äįi", + "ë ¿IJ", + "Ġl iá»ĩt", + "Ġíķ µ", + "Ġ اÙ쨱", + "Ġا Ù쨱", + "ĠاÙģ Ø±", + "ĠTek nik", + "Ġr oli", + "Ġro li", + "Ġrol i", + "Ġпоп ÑĭÑĤ", + "аÑĤ кÑĸв", + "Ġün iversit", + "аÑĤ оÑĢÑĭ", + "аÑĤоÑĢ Ñĭ", + "аÑĤо ÑĢÑĭ", + "ÑİÑīиÑħ ÑģÑı", + "Ġت ض", + "лÑİ ÑĩаеÑĤÑģÑı", + "лÑİÑĩ аеÑĤÑģÑı", + "лÑİÑĩа еÑĤÑģÑı", + "Ġíĸī ë³µ", + "Ġayrıntı lı", + "ĠкиÑĢ Ð¿", + "æĭ ¼", + "ëģ Ķ", + "л аÑĤа", + "ла ÑĤа", + "лаÑĤ а", + "Ġkho án", + "Ġhâl â", + "Ïĥ Ïħ", + "ог лаÑģ", + "æİ¥ çĿĢ", + "éĿ© åij½", + "Ġp ÅĻeb", + "ĠpÅĻ eb", + "ĠpÅĻe b", + "à¹Ģà¸ī ล", + "ĠاÙĦÙħÙĦ ÙĦÛĮ", + "åł Ĩ", + "íı IJ", + "à¸ķล à¸Ńà¸Ķ", + "° С", + "ìĤ¬ ëŀij", + "Ġг иб", + "ë²Ī 째", + "æĶ¹ åıĺ", + "表 çݰ", + "и ÑĩеÑģким", + "иÑĩеÑģ ким", + "иÑĩеÑģки м", + "สม à¹Ģà¸Ķ", + "å±ħ æ°ij", + " Ľ", + "ĠìķĦìĿ´ ëĶĶ", + "ĠмеждÑĥ наÑĢод", + "Ġy em", + "Ġye m", + "Ġm ül", + "Ġmü l", + "Ġا ÛĮست", + "ĠاÛĮ ست", + "Ġ ãĥ´", + "Ġãĥ ´", + "ัà¸Ļ à¹Ħà¸Ķ", + "à¥Ģ ण", + "åħ¶ å®ŀ", + "Ġgel enek", + "Ġgele nek", + "Ġgelen ek", + "ë¶ģ ëıĦ", + "à¹ī าà¸ķ", + "à¹īา à¸ķ", + "Ġ ìī¬", + "Ġìī ¬", + "Ġ ÏĢÎŃ", + "ĠÏĢ ÎŃ", + "ĠÙĥ اÙħÙĦ", + "ĠÙĥاÙħ ÙĦ", + "Ġتع ÙħÛĮر", + "è¨ ´", + "ë¹ Ļ", + "iy im", + "iyi m", + "å° ¿", + "éĤ£ æł·", + "êµŃ ìĿĺ", + "ãģĹãģ¦ ãģĬãĤĬ", + "Ġ niž", + "Ġn iž", + "Ġni ž", + "Ġκ ον", + "Ġκο ν", + "à¹Ī าà¸Ń", + "à¹Īา à¸Ń", + "Ġ γε", + "Ġγ ε", + "ĠС евеÑĢ", + "edi álnÃŃ", + "ãģŁãģ¡ ãģ®", + "m ayacak", + "may acak", + "maya cak", + "Ñ Ļ", + "ĠÑĥ гл", + "ĠÑĥг л", + "Ġk apas", + "Ġka pas", + "Ġkap as", + "Ñĥв алиÑģÑı", + "Ñĥва лиÑģÑı", + "Ñĥвали ÑģÑı", + "ĠмеÑģÑı ÑĨа", + "á» ¯u", + "ữ u", + "ิ ลล", + "ิล ล", + "ãĤĪãĤĬ ãĤĤ", + "à¥ĩ ण", + "à¥ĩठ£", + "Ġ 客", + "Ġå® ¢", + "ĠdeÄŁ erli", + "ĠdeÄŁer li", + "ÙĪ Ø§Ø²", + "ÙĪØ§ ز", + "ี à¸Ńย", + "ีà¸Ń ย", + "Ġ åıĪ", + "Ġåı Ī", + "Ġ à¸Ķร", + "Ġà¸Ķ ร", + "ĠÙĨ اب", + "ĠتÙĦÙĪÛĮزÛĮ ÙĪÙĨ", + "Ġol anlar", + "Ġolan lar", + "ä¼ĺ ç§Ģ", + "Ùĥ اÙĦ", + "ĠдеÑģÑı ÑĤи", + "ĠдеÑģÑıÑĤ и", + "m án", + "má n", + "ĠÑĢ Ð°Ð½ÑĮ", + "ĠÑĢа нÑĮ", + "ĠÑĢан ÑĮ", + "Ġìłľ ì¶ľ", + "è³ ¢", + "а бо", + "аб о", + "Ġtechn ik", + "Ġtech nik", + "ĠK iá»ĥm", + "ĠKi á»ĥm", + "t eki", + "te ki", + "tek i", + "á ¹", + "Ġm nÄĽ", + "Ġmn ÄĽ", + "Ġê³µ ê°Ħ", + "ĠM ek", + "ĠMe k", + "Ġاع تÙħاد", + "à¹Į à¹Ħà¸Ķ", + "ε ÏģÏĮ", + "εÏģ ÏĮ", + "ĠÑĥд аÑĢ", + "ĠÑĥда ÑĢ", + "оÑĩ ÑĮ", + "æ¦Ĥ 念", + "ÑĢ Ð°Ð»", + "ÑĢаР»", + "ÑĢа л", + "алÑĮ нÑĭми", + "алÑĮнÑĭм и", + "à¥ģर स", + "r áci", + "rá ci", + "Ġ ÙĤÙĪÙĦ", + "ĠÙĤ ÙĪÙĦ", + "Ġद व", + "ĠпÑĢав да", + "Ġ å¿ħ", + "Ġå¿ ħ", + "Ġdos ud", + "нÑĥ ÑĤÑĮÑģÑı", + "нÑĥÑĤÑĮ ÑģÑı", + "N Äĥm", + "à¸ĺ à¸Ļ", + "Ġdok un", + "Ġ åľ¨çº¿", + "Ġåľ¨ 线", + "ู à¹Ħ", + "ụ y", + "Ġн овÑĭÑħ", + "Ġнов ÑĭÑħ", + "Ġmez un", + "ĠC ần", + "à¸ģาร à¸ŀ", + "ĠìĺĪ ìłķ", + "Ïĥ ή", + "à¹Īà¸Ļ à¹Ģà¸ģม", + "ĠÙĪ Ø§ÙĦس", + "ĠÙĪØ§ÙĦ س", + "ĠÙĪØ§ ÙĦس", + "ãĥ³ ãĥĨãĤ£", + "ãĥ³ãĥĨ ãĤ£", + "çľĭ è§ģ", + "Ġس اÙĦÙħ", + "ĠساÙĦ Ùħ", + "ĠбагаÑĤÑĮ оÑħ", + "ĠÄij Ãłi", + "Ġد ستÛĮ", + "Ġدست ÛĮ", + "Ġدس تÛĮ", + "à¸ŀ à¸Ń", + "еп ÑĤи", + "ĠìłĦ íĻĶ", + "æĻĤ ãģ«", + "ĠSe znam", + "ĠSez nam", + "мÑĸ нÑĥ", + "мÑĸн Ñĥ", + "; ?#", + "à¥Ģ सर", + "à¥Ģस र", + "ĠÚĨ ÛĮست", + "νο ια", + "νοι α", + "ั à¸Ļà¸Ń", + "ัà¸Ļ à¸Ń", + "Ġ à¸Ħำ", + "Ġà¸Ħ ำ", + "Ġë³´ íĺ¸", + "Ġid dia", + "Ġiddi a", + "Ġβ ιβ", + "é«ĺ ä¸Ń", + "Ù ¨", + "ÐĴ аж", + "ĠиÑģп олн", + "ÑĪ ÑĤов", + "ÑĪÑĤ ов", + "ĠT aÅŁ", + "ĠTa ÅŁ", + "ìĽ ħ", + "åĬ ¹", + "Ġ åıĥ", + "Ġåı ĥ", + "Ġprost oru", + "Ġprostor u", + "ĠÑģп ад", + "е ÑĢина", + "еÑĢ Ð¸Ð½Ð°", + "еÑĢи на", + "еÑĢин а", + "ĠpÅĻek lad", + "ĠpÅĻe klad", + "Å¡ ov", + "ĠÙģ ÙĩÙħ", + "ĠÙģÙĩ Ùħ", + "æĬ ij", + "Ġابت دا", + "Ġابتد ا", + "ãĤĴ ãģĬ", + "l ikler", + "lik ler", + "likle r", + "ĠÙħ اÙĥ", + "ĠÙħا Ùĥ", + "Ġko nut", + "Ġkon ut", + "Ġkonu t", + "ĠداÙĨØ´ جÙĪÛĮ", + "Ġоп ÑĤим", + "Ġб Ñĥма", + "ĠбÑĥ ма", + "ĠлÑİд Ñıм", + "Ġл Ñĸка", + "ĠлÑĸ ка", + "ĠлÑĸк а", + "ĠÑĢоз повÑĸд", + "ĠÑĢозп овÑĸд", + "ĠÑĢозпов Ñĸд", + "nes enÃŃ", + "Ġ à¸łà¸²à¸ŀ", + "Ġà¸ł าà¸ŀ", + "и Ñĩний", + "иÑĩ ний", + "ا Ø·ÙĦ", + "اط ÙĦ", + "Ñİ Ñīими", + "ÑİÑī ими", + "ÑİÑīим и", + "ãģı ãģ¨", + "éŃ ¯", + "ĠجÙĨ سÛĮ", + "Ðĺ Т", + "र ल", + "ĠÚ©ÙĪØ¯ Ú©", + "о лиÑĤ", + "ол иÑĤ", + "оли ÑĤ", + "ĠÑģÑĤÑĢÑĥкÑĤÑĥ ÑĢ", + "ve kili", + "vek ili", + "Ġब य", + "Ġgel miÅŁ", + "िर फ", + "Ġнай кÑĢа", + "ĠÐĶж он", + "Ġ ãĥĹãĥŃ", + "ĠãĥĹ ãĥŃ", + "ĠyaÅŁ lı", + "Ġkar Ä±ÅŁtır", + "ĠkarÄ±ÅŁ tır", + "ĠvÄĽtÅ¡ inou", + "Ġvaz geç", + "à¹ī าà¸Ħ", + "à¹īา à¸Ħ", + "lendir me", + "Ġ ç¨ĭ", + "Ġç¨ ĭ", + "说 è¯Ŀ", + "ĠíķĦìļĶ íķľ", + "aÅĻ ilo", + "Ġle žÃŃ", + "ĠAmer ikan", + "ĠAmerika n", + "ĠAmerik an", + "ãĤĦ ãģĻ", + "va jÃŃcÃŃ", + "vajÃŃ cÃŃ", + "ÐĿ Я", + "ĠìĹĦ ë§Ī", + "Ġ åĥ", + "Ġå ĥ", + "r ál", + "rá l", + "Ġç ay", + "Ġça y", + "tu ÄŁ", + "ุà¸į าà¸ķ", + "ĠÑģ лив", + "ĠÑģл ив", + "ν οÏħ", + "νο Ïħ", + "ĠO v", + "ĠC HP", + "ĠCH P", + "ĠZe mÄĽ", + "ĠZem ÄĽ", + "ĠÄįesk ý", + "ĠÄįe ský", + "ĠTh ánh", + "иÑĤелÑĮ ноÑģÑĤÑĮ", + "иÑĤелÑĮно ÑģÑĤÑĮ", + "æĦı ä¹ī", + "à¥įरम ण", + "Ġди амеÑĤ", + "Ġk lin", + "Ġkl in", + "Ġkli n", + "Ġ کرÛĮ", + "ĠÚ© رÛĮ", + "Ġکر ÛĮ", + "ãģ§ãģ¯ ãģªãģı", + "飯 åºĹ", + "Ġk ênh", + "Ġkê nh", + "ĠÑĢанÑĮ ÑĪе", + "ãĤĴ ãģĹãģŁ", + "ĠпÑĢи боÑĢ", + "ĠпÑĢиб оÑĢ", + "Ġà¤ĸ तर", + "Ġ yu", + "Ġy u", + "é§ IJ", + "ĠÑĢ Ð°Ð±Ð¾", + "ĠÑĢа бо", + "ĠÑĢаб о", + "ĠС ÐłÐ¡Ðł", + "èĬ ¬", + "ž ila", + "ži la", + "žil a", + "еÑĢ ÑĤа", + "еÑĢÑĤ а", + "и ÑģÑĤÑĢа", + "иÑģ ÑĤÑĢа", + "иÑģÑĤ ÑĢа", + "Ġкни ги", + "ĠFranc ie", + "ĠFran cie", + "ĠÚĺ Ø§Ù¾", + "ĠÎļ οÏħ", + "ĠÎļο Ïħ", + "ัว à¹Ģà¸Ńà¸ĩ", + "Ġl ắng", + "Ġ нами", + "Ġн ами", + "Ġна ми", + "Ġнам и", + "Ġпод ой", + "д ÑĢом", + "дÑĢ Ð¾Ð¼", + "o bus", + "ob us", + "ÐĴ Ñĸн", + "Ġst alo", + "Ġsta lo", + "Ġstal o", + "Ġà¤ı à¤ľ", + "ĠL inh", + "ĠLin h", + "ĠLi nh", + "ebilir iz", + "Ġзав ÑĤÑĢа", + "μ εÏģο", + "με Ïģο", + "μεÏģ ο", + "Ġ ÎŃν", + "ĠÎŃ Î½", + "ÑıÑĤ но", + "Ġд оÑĢож", + "Ġдо ÑĢож", + "ĠдоÑĢ Ð¾Ð¶", + "åıĤ çħ§", + "Ïĥ ιο", + "Ïĥι ο", + "à¹ī à¹Ģà¸ģ", + "a ných", + "an ých", + "aný ch", + "ç· ł", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "åĬĽ çļĦ", + "ĠS ır", + "ĠSı r", + "Ġ ì§ĢëıĦ", + "Ġì§Ģ ëıĦ", + "ç· Ĭ", + "ĠpoÄį tu", + "ï¼Į ä¸İ", + "ä¸ĸ ç´Ģ", + "ем ого", + "емо го", + "Ġhus us", + "Ġhu sus", + "Ġölçü de", + "Ġtr ục", + "Ġtrụ c", + "à¸Ľà¸¥ à¸Ńà¸Ķà¸ł", + "Âłp ÅĻÃŃ", + "ĠBöl gesi", + "м ом", + "мо м", + "ãģ« ãģ¦", + "Ġ쪽 ì§Ģ", + "ÄĽt Å¡", + "ĠìĦ± ê³µ", + "र त", + "ur du", + "urd u", + "ĠìĽĢ ì§ģ", + "ÑŁ ÐŃ", + "nÃŃ kem", + "nÃŃk em", + "ĠskuteÄį nosti", + "Ġ даÑĤ", + "Ġд аÑĤ", + "Ġда ÑĤ", + "n eum", + "ne um", + "ĠÑĤаб леÑĤ", + "j vu", + "Ġs edm", + "Ġse dm", + "Ġsed m", + "س ÙĬØ©", + "سÙĬ Ø©", + "ĠкоÑĢ Ð¾Ð±", + "Ġко ÑĢоб", + "em mel", + "emm el", + "emme l", + "ãģ¤ ãģij", + "é¦Ļ èķī", + "Ġشخص ÛĮت", + "ĠشخصÛĮ ت", + "ä¸Ĭ äºĨ", + "ÙĪ Ø±Ø§", + "ÙĪØ± ا", + "ĠаÑĤ моÑģ", + "Ġ лей", + "Ġл ей", + "Ġz prav", + "Ġzp rav", + "Ġëķ ħ", + "ู à¸Ĺ", + "Ġ اسر", + "Ġا سر", + "Ġاس ر", + "ĠAy dın", + "ĠعÙħ ÙĦÙĬØ©", + "ĠعÙħÙĦ ÙĬØ©", + "Ġд ÑĸÑĶ", + "ĠдÑĸ ÑĶ", + "Ġd ök", + "Ġdö k", + "Ġफ ल", + "ĠìĤ¬ëŀĮ ëĵ¤ìĿ´", + "ĠнаÑĤÑĥ ÑĢалÑĮ", + "æŁ ľ", + "温 度", + "Ġk les", + "Ġkl es", + "Ġkle s", + "Ġин веÑģÑĤи", + "s üz", + "æĴ °", + "Ġ ãĤ¢ãĥ«", + "ĠãĤ¢ ãĥ«", + "Ġ èĴ", + "Ġè Ĵ", + "ад ки", + "Ġk lÃŃÄį", + "Ïĩ εί", + "Ïĩε ί", + "ĠTh iết", + "ĠThi ết", + "ĠسرÛĮ ع", + "ĠÏĢεÏģιο Ïĩή", + "ÙĪ ÙĤÙģ", + "ÙĪÙĤ Ùģ", + "Ïģ ÏīÏĥη", + "ÏģÏī Ïĥη", + "ĠسÙĦ اÙħت", + "ĠسÙĦاÙħ ت", + "ëĵ¤ ëıĦ", + "ĠveÅĻej né", + "Ġvi tam", + "Ġvit am", + "Ġvita m", + "ĠبازÛĮ گر", + "ĠÑĢеÑĨеп ÑĤ", + "ĠìľĦ íķ´ìĦľ", + "ĠìľĦíķ´ ìĦľ", + "ĠØ£Ùĥ بر", + "Ġk üt", + "Ġkü t", + "민 주", + "Ġté ž", + "Ġ å¼ķ", + "Ġå¼ ķ", + "ÑĩаÑģ но", + "çļĦ åľ°", + "Ġarchit ekt", + "Ġбак ÑĤеÑĢ", + "Ġ ãģį", + "Ġ одеÑĢж", + "Ġо деÑĢж", + "Ġод еÑĢж", + "Ġتج ارÛĮ", + "éĿ Ī", + "Ġre cep", + "Ġrec ep", + "Ġrece p", + "é© ¶", + "Ġد ÙĩÙĩ", + "ĠدÙĩ Ùĩ", + "è² Į", + "çµIJ å©ļ", + "ılı ç", + "ãģĭãĤī ãģ¯", + "å¿ĥ éĩĮ", + "æĬķ è³ĩ", + "è² Ŀ", + "ĠкÑĥлÑĮÑĤÑĥ ÑĢÑĭ", + "ĠкÑĥлÑĮÑĤÑĥÑĢ Ñĭ", + "Ġ å°ij", + "Ġå° ij", + "à¹ģ à¸ŀร", + "à¹ģà¸ŀ ร", + "γ κÏĮ", + "γκ ÏĮ", + "ar ım", + "arı m", + "Ġاس اسÛĮ", + "Ġاساس ÛĮ", + "Ġposled nÃŃch", + "ĠposlednÃŃ ch", + "ĠÙħ ÙħÙĨ", + "ĠÙħÙħ ÙĨ", + "Ġпоз иÑĤив", + "Ġпози ÑĤив", + "ìł ¤", + "Ñĥ вавÑģÑı", + "Ñĥв авÑģÑı", + "Ñĥва вÑģÑı", + "Ñĥвав ÑģÑı", + "Ġجز ئ", + "ìĿ´ ìŀIJ", + "Ġин ÑģÑĤÑĢÑĥк", + "Ġη λεκ", + "Ġde mir", + "Ġdem ir", + "Ġdemi r", + "ä¸Ńæĸĩ åŃĹå¹ķ", + "Ġعاش ÙĤ", + "Ġب اÙĦÙĤ", + "Ġبا ÙĦÙĤ", + "ĠباÙĦ ÙĤ", + "Ġ maz", + "Ġm az", + "Ġma z", + "ά νι", + "άν ι", + "Ġ dÃ¼ÄŁ", + "Ġd Ã¼ÄŁ", + "Ġdü ÄŁ", + "Ġ κÏģα", + "Ġκ Ïģα", + "ĠбÑĥд ÑĤо", + "ç¦ı åĪ©", + "ĠпÑĢед назнаÑĩ", + "Ùħ ÙĦØ©", + "ÙħÙĦ Ø©", + "ĠбÑĥд инкÑĥ", + "Å¥ an", + "íķ Ģ", + "ç´¹ ä»ĭ", + "Ú© ز", + "ĠкаÑĦ ед", + "ãģ« è¦ĭ", + "าà¸ķร à¸IJาà¸Ļ", + "ë¡ľ ëĬĶ", + "i vÄĽ", + "iv ÄĽ", + "èĥ½ æºIJ", + "ï¼Į åħ¨", + "ĠÑĥ див", + "ĠÑĥд ив", + "Ġë§Į ëĤĺ", + "ÐĴ ÐIJ", + "ĠG ür", + "ĠGü r", + "ĠдÑĢÑĥг им", + "Ïĥ Ïį", + "Ġ oÄŁlu", + "ĠoÄŁ lu", + "Ġê°Ģ ê¹Į", + "ĠзнаÑĩ иÑĤелÑĮно", + "ĠзнаÑĩиÑĤ елÑĮно", + "о зÑĸ", + "оз Ñĸ", + "Ġm á»±c", + "ĠB eÅŁ", + "ĠBe ÅŁ", + "Ġ jezd", + "Ġje zd", + "á vÄĽ", + "áv ÄĽ", + "ÏĦη Ïĥε", + "ãģ¦ãģĦ ãģªãģĦ", + "ĠСв ÑıÑĤ", + "Ġम श", + "ĠΤ οÏħ", + "ĠΤο Ïħ", + "声 ãĤĴ", + "ĠÑģам ое", + "ĠÑģамо е", + "Ġ åĮº", + "ĠåĮ º", + "ĠìĤ¬ëŀĮ ìĿĢ", + "ĠÙħ ÙĦت", + "ĠÙħÙĦ ت", + "Ġj oker", + "Ġjo ker", + "Ġjoke r", + "Ġne ob", + "Ġneo b", + "ĠÑĤ ака", + "ĠÑĤак а", + "ĠÑĤа ка", + "ĠÙĩ ÙģØª", + "Ġδε δο", + "ĠзаÑħ оп", + "ĠاÙĦÙħ خت", + "ез да", + "езд а", + "Ġíķľ ë²Ī", + "Ġع اÙħØ©", + "ĠعاÙħ Ø©", + "Ġdo state", + "Ġdost ate", + "Ġdostat e", + "Ġp lav", + "Ġpl av", + "Ġpla v", + "楽 ãģĹ", + ".;.; .;.;", + "в аÑĶ", + "ва ÑĶ", + "Ġbụ i", + "ĠÄij ỡ", + "ĠÄijá» ¡", + "Ġmys lÃŃ", + "Ġmysl ÃŃ", + "ĠÙĨ ار", + "Ġn út", + "Ġм ала", + "Ġмал а", + "Ġма ла", + "Τ Ρ", + "ĠاÙĦرÙħ زÙĬØ©", + "la dım", + "lad ım", + "ladı m", + "ä¸Ģ ç·Ĵ", + "ĠiÅŁ ç", + "l ivé", + "li vé", + "liv é", + "르 ê²Į", + "ан наÑı", + "ظËĨ Ø·", + "Ġd ừng", + "ÙĦÙĥ تر", + "çŃĶ æ¡Ī", + "ĠÙħÙĪÙĤع ÛĮت", + "ĠÑĸн озем", + "ĠиÑģ Ñĩ", + "Ġнеп ÑĢавилÑĮ", + "b akan", + "ba kan", + "bak an", + "Ġ çīĪ", + "Ġçī Ī", + "ен нÑİ", + "à¸ĩ à¹Ģศ", + "à¸Ħวาม à¸Ħ", + "% .Ċ", + "%. Ċ", + "à¹Ī à¹Ģà¸Ľ", + "ĠØ¢ بÛĮ", + "Ġآب ÛĮ", + "Ġst áty", + "Ġstát y", + "Ġتر تÛĮب", + "Äįem ž", + "Ġ é¹", + "Ġé ¹", + "Ġ Ù쨧ÙĦ", + "ĠÙģ Ø§ÙĦ", + "Ġbelir len", + "ĠâĨ ĺ", + "èĩ³ å°ij", + "ĠBun lar", + "Ġ ä¸ĵ", + "Ġä¸ ĵ", + "ĠÙħØŃ اس", + "ĠìĦľ ë²Ħ", + "Ġc anh", + "Ġcan h", + "Ġca nh", + "ĠпÑĢоÑĤ Ñıж", + "ĠнÑĸ меÑĨÑĮ", + "à¥Īà¤ł à¤ķ", + "ëĭ ī", + "Ġна неÑģ", + "Ġвоз ÑĢаÑģÑĤа", + "ĠвозÑĢаÑģÑĤ а", + "Ġ[â̦ ]Ċ", + "Ġ[â̦] Ċ", + ". à¸ŀ", + "ิ ศาสà¸ķร", + "ิศ าสà¸ķร", + "çģ ½", + "ê°Ļ ìĿĢ", + "ล à¸ĩà¸Ĺ", + "ลà¸ĩ à¸Ĺ", + "ãĤ± ãĥ¼ãĤ¹", + "Ġ ãĤ¢ãĤ¤", + "ĠãĤ¢ ãĤ¤", + "Ñģ Ñİ", + "ĠÙĦ ر", + "ãģĭ ãģ£ãģ¦", + "Ġ기 ë°ĺ", + "Ġ !:", + "Ġ! :", + "ĠÑģ ÑĬ", + "Ġ Ø´ÙĨاسÛĮ", + "ĠØ´ÙĨ اسÛĮ", + "ĠØ´ÙĨاس ÛĮ", + "ĠìķĦ 침", + "Ġعب اس", + "Ġ à¸ķà¸Ńà¸Ļ", + "Ġà¸ķ à¸Ńà¸Ļ", + "ĠмеÑĤал ли", + "ÑĪ Ð¸Ð»Ð°", + "ÑĪи ла", + "Ġpod rob", + "Ġpodr ob", + "ÑĸÑģ но", + "Ġ 赤", + "Ġèµ ¤", + "c iler", + "ci ler", + "cil er", + "o zem", + "oz em", + "oze m", + "ĠоÑģнов нÑĭÑħ", + "Âł à¤ķ", + "à¸ĸ à¸Ļà¸Ļ", + "ан ÑĤаж", + "анÑĤ аж", + "анÑĤа ж", + "ĠD ÃŃky", + "Ġگذ ارÛĮ", + "æľº ä¼ļ", + "οÏħ λίοÏħ", + "οÏħλ ίοÏħ", + "оÑĩ ек", + "Ġнап иÑĤ", + "ĠبÛĮØ´ ترÛĮ", + "ĠبÛĮشتر ÛĮ", + "ä¾ į", + "ĠاÙĦ ÙħÙħ", + "ĠاÙĦÙħ Ùħ", + "ÙĪØ² ÙĬع", + "Ġgöz lem", + "è°ĥ æķ´", + "Âłm iles", + "Âłmi les", + "Ġk oc", + "Ġko c", + "ัà¸į ห", + "æ³ ³", + "ĠÎij γγ", + "ĠÎijγ γ", + "ĠÙĨÙħ از", + "ุ à¸Ĺ", + "ãĥı ãĤ¤", + "Ġth ù", + "к ÑĥлÑı", + "кÑĥ лÑı", + "кÑĥл Ñı", + "ĠпÑĥÑĤ ем", + "èĩº çģ£", + "Ġver gi", + "Ġverg i", + "åł´åIJĪ ãģ¯", + "ĠÑĤÑĢÑĮ оÑħ", + "Ġë³´ ë©´", + "âĸ ²", + "Ïħ γ", + "ĠдоÑĤ ÑĢим", + "æľ µ", + "Ġum ÄĽnÃŃ", + "èī¯ ãģĦ", + "Âł à¸Ļาà¸ĩ", + "Ðİ ÑĭÑŁN", + "ä¸ī 个", + "ียร à¸ķ", + "ï¼Į åIJĮæĹ¶", + "ĠÑĢозÑĢаÑħ Ñĥн", + "ĠD ers", + "ĠDe rs", + "ĠDer s", + "ãģª ãģ®", + "Ġê·¸ 를", + "d ikleri", + "dik leri", + "Ġhay ata", + "Ġhaya ta", + "Ġhayat a", + "è§Ħ èĮĥ", + "ç»ĵ åIJĪ", + "Ġs cé", + "Ġsc é", + "Ġc Æ¡m", + "ĠcÆ¡ m", + "åѸ éĻ¢", + "ĠÐĦ в", + "ĠÄįlán ek", + "ĠдоÑģÑĤ иг", + "ĠдоÑģÑĤи г", + "ा à¤ĩस", + "ाà¤ĩ स", + "εÏħ Ïĥη", + "éģ© ç͍", + "Ïĥ ον", + "Ïĥο ν", + "ıl maktadır", + "ëªħ ìĿĦ", + "ı b", + "Ġstar Å¡ÃŃ", + "Ġch ÃŃn", + "ĠchÃŃ n", + "ä¸Ģ 个人", + "ä¸Ģ个 人", + "ĠFranti Å¡ek", + "n ÄĽji", + "nÄĽ ji", + "ï» ¨", + "ĠÙĦÙĦ د", + "Ġp okoj", + "Ġpok oj", + "Ġj ih", + "Ġji h", + "ãĢį ãĢĤ", + "Ġعبد اÙĦ", + "ãĤĵãģ§ ãģĦãĤĭ", + "Ġмод елÑĮ", + "ĠteÅŁ kil", + "ĠÄĮ er", + "à¹Ģà¸Ķ à¸Ńร", + "' na", + "'n a", + "λο γή", + "λογ ή", + "Ġ kola", + "Ġk ola", + "Ġko la", + "Ġkol a", + "ãĥĢ ãĥ¼", + "иÑĤ елем", + "иÑĤе лем", + "ĠÏĥÏħ νο", + "ĠÏĥÏħν ο", + "ĠK urum", + "ĠKur um", + "ĠKu rum", + "Ġsnad no", + "ĠاÙĦÙĤر Ø¢ÙĨ", + "ĠV á»ģ", + "é«ĺ ãģĦ", + "Ġyıl dız", + "Ġbir isi", + "Ġbiri si", + "Ġkh úc", + "ÙĪ ÛĮÙĦ", + "ÙĪÛĮ ÙĦ", + "æľĢ ä½³", + "Ġส าà¸Ĥ", + "ĠÐŁ ок", + "ĠÐŁÐ¾ к", + "âī ł", + "à¹Ĥà¸Ľà¸£ à¹ģà¸ģรม", + "à¥įय यन", + "èij ¡", + "Ġn ovÄĽ", + "Ġno vÄĽ", + "Ġnov ÄĽ", + "ay ıp", + "ayı p", + "ĠSing ap", + "ĠSin gap", + "è° ĵ", + "ãĤ¶ ãĤ¤ãĥ³", + "Ġн овÑĭе", + "Ġнов Ñĭе", + "Ġh ảo", + "Ġ èŤ", + "ĠèĹ ¤", + "ãĥ³ ãĥĸ", + "ãĥ³ãĥ ĸ", + "Âł ĊĊ", + "ÂłĊ Ċ", + "θ εια", + "θε ια", + "Ġпоп ада", + "ĠëĶĶ ìŀIJìĿ¸", + "Ġداشت ÙĨد", + "ĠداشتÙĨ د", + "ĠØ´ÙĨ اختÙĩ", + "Ïĥ μαÏĦα", + "Ïĥμα ÏĦα", + "å¹³æĸ¹ åħ¬éĩĮ", + "Ġg öl", + "Ġgö l", + "ек оÑĤоÑĢ", + "еко ÑĤоÑĢ", + "Ġm álo", + "Ġmá lo", + "Ġاج ازÙĩ", + "Ú© اراÙĨ", + "کار اÙĨ", + "کا راÙĨ", + "ĠпÑĸдпÑĢиÑĶм ÑģÑĤв", + "ä¸ī å¹´", + "ĠسÙģ ÛĮد", + "ĠμÎŃ ÏģοÏĤ", + "ÐĻ ÐĻ", + "Ġh ư", + "س ÙĪØ¨", + "سÙĪ Ø¨", + "ĠÙĦ ذا", + "Ġnem ovit", + "Ġd ÃŃv", + "ĠdÃŃ v", + "İ s", + "¶ ¶", + "Ġph ưá»Ŀng", + "ĠÙĨØŃ ÙĪÙĩ", + "ĠÙĨØŃÙĪ Ùĩ", + "Ð ĭ", + "Ġz byt", + "Ġzb yt", + "Ġzby t", + "ed ii", + "edi i", + "n ech", + "ne ch", + "ĠадмÑĸнÑĸÑģÑĤÑĢа ÑĤив", + "Ġne vÄĽ", + "Ġnev ÄĽ", + "Ġ ож", + "Ġо ж", + "ĠÄIJ ó", + "à¸Ľà¸£à¸° ว", + "Ġvhod né", + "Ġum ÄĽl", + "ĠÑĢазлиÑĩ нÑĭе", + "ĠpÅĻi roz", + "Ġبخ Ø´ÛĮ", + "Ġبخش ÛĮ", + "ãģ® å¤§", + "ĠاÙĦ ÙĥÙĩ", + "ĠاÙĦÙĥ Ùĩ", + "ec ká", + "eck á", + "Ġzorun lu", + "ĠÐľÐ¸Ðº ола", + "Ġ amel", + "Ġa mel", + "Ġam el", + "к овÑĭе", + "ков Ñĭе", + ": :::/", + ":: ::/", + ":::: /", + "::: :/", + "ä¸įåIJĮ çļĦ", + "ĠÙĪÙĥ اÙĨت", + "ĠÙĪÙĥاÙĨ ت", + "à¸Ń à¸Ń", + "lá sil", + "ĠпÑĢедпол аг", + "ï½ ±", + "Ġ νε", + "Ġν ε", + "Ġн овÑĭй", + "Ġнов Ñĭй", + "Ġìĺģíĸ¥ ìĿĦ", + "Ġê°Ģ ì§Ħ", + "åĥ ħ", + "Y D", + "Ġب اغ", + "Ġبا غ", + "ĠØ´Ú© ست", + "Ġgü ney", + "Ġgün ey", + "и ÑģÑĮ", + "иÑģ ÑĮ", + "ãģĭ ãģªãģĦ", + "ãģĭãģª ãģĦ", + "ĠT òa", + "Ġگرد ÛĮد", + "Ġگر دÛĮد", + "ØŃ ÙĦ", + "lu vÃŃ", + "luv ÃŃ", + "v éd", + "vé d", + "Ġìĺ ·", + "Ġε ÏĢα", + "ĠεÏĢ Î±", + "ĠÑĤи ÑģÑıÑĩ", + "ĠÑĤиÑģ ÑıÑĩ", + "Ġê½ ĥ", + "ĠP US", + "ĠPU S", + "ĠдÑĥм кÑĥ", + "Ġ âĢĿĊ", + "ĠâĢĿ Ċ", + "ĠìĬ¤ íı¬ì¸ł", + "Ùĩ Ùĩ", + "Ġg ắng", + "Ġgắn g", + "ิ à¸łà¸²à¸ŀ", + "éĩĮ éĿ¢", + "br ıs", + "Ġz áb", + "Ġzá b", + "κ αÏĤ", + "κα ÏĤ", + "ĠåıĮ 线", + "ล ล", + "ĠÄIJ Ãłi", + "ĠÄIJÃł i", + "åѸ æł¡", + "ĠÑĢаÑģп ÑĢед", + "ĠÑģÑĤан еÑĤ", + "ĠÑģÑĤа неÑĤ", + "Ġл ак", + "Ġла к", + "Ġпод к", + "Ġg ören", + "Ġgö ren", + "Ġgör en", + "Ġgöre n", + "르 ê³ł", + "ĠÑĦ ÑĢÑĥкÑĤ", + "íĵ¨ íĦ°", + "ãģĻ ãĤĮãģ°", + "ãĤĴ ä½ľ", + "à¸Ńà¸Ńà¸ģ à¹ģà¸ļà¸ļ", + "Ġku lak", + "Ġkul ak", + "ĠíĶĮ ëłĪìĿ´", + "ĠØŃ دÙĬØ«", + "ĠØŃد ÙĬØ«", + "ãģĨ ãĤĵ", + "Ġм Ñĸк", + "ĠмÑĸ к", + "à¤ĩस à¤ķ", + "ĠÑĥ ÑĤоÑĩ", + "ĠÑĥÑĤ оÑĩ", + "ĠÙĥ Ø«ÙĬر", + "ĠY ine", + "ĠYi ne", + "ĠYin e", + "ัว หà¸Ļ", + "н ÑĸÑĹ", + "нÑĸ ÑĹ", + "åį ¢", + "Ñĥ Ñģлов", + "ÑĥÑģ лов", + "ìĽĮ íģ¬", + "Ġà¤ħ à¤ĸ", + "ĠÑĨ Ñĸка", + "ĠÑĨÑĸ ка", + "ìĦł ìĿĦ", + "ĠØ£ ر", + "гал ÑĤеÑĢ", + "angl icky", + "ĠÑģ оÑģÑĥд", + "ĠÑģоÑģ Ñĥд", + "ĠÑĥ Ñıв", + "ĠпÑĢодÑĥк ÑĨÑĸÑĹ", + "Ġc hua", + "Ġch ua", + "Ġchu a", + "Ġd án", + "Ġdá n", + "ाम à¤Ĺ", + "ئ ت", + "ĠФ ед", + "Ġh rom", + "Ġhr om", + "íķ´ ë³´", + "ĠØ¢ÙĨ ÙĦاÛĮÙĨ", + "- пÑĢав", + "-п ÑĢав", + "Ġì¤ijìļĶ íķľ", + "Ġв кÑĥ", + "Ġвк Ñĥ", + "Ġ 大éĺª", + "Ġ大 éĺª", + "Ġt erk", + "Ġte rk", + "Ġter k", + "Ġпод Ñĸб", + "ĠвÑĸд вÑĸд", + "à¥Į à¤Ł", + "è³ £", + "Ġب تÙĨ", + "Ġبت ÙĨ", + "Ġبع ضÛĮ", + "Ġبعض ÛĮ", + "ãģª ãģĬ", + "ä»ĸ åĢij", + "Ġtavs iye", + "ĠM ısır", + "ĠØ¥ ذ", + "Ġ æIJ", + "Ġæ IJ", + "íķĺ ëĤĺ", + "ĠÙĪ Ø®", + "ãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠ ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "Ġta kový", + "Ġtak ový", + "Ġtako vý", + "Ġबन न", + "Ġз ÑĢениÑı", + "ĠÙĪ ÙģÙĤ", + "ĠÙĪÙģ ÙĤ", + "ë¹Ħ ìķĦ", + "Ġпом ожеÑĤ", + "åĮĹ å¸Ĥ", + "dık ları", + "Ġ éĵģ", + "Ġéĵ ģ", + "Ġakt uálnÃŃ", + "Ġaktu álnÃŃ", + "Ġв в", + "ãĤĤ ãģªãģĦ", + "íĨµ ìĭł", + "ÏĦα Ïĥη", + "Ġìĥģ ëĮĢ", + "Ġ æł¡", + "Ġæł ¡", + "ãĢĤ éĤ£", + "ĠرÙĪØ³ÛĮ Ùĩ", + "Ġtelev izyon", + "å¹´ é¾Ħ", + "ĠÐijоÑĢ Ð¸Ñģ", + "리 ìĸ´", + "Ġz veÅĻej", + "ж но", + "ĠÐŀ ÑģÑĤ", + "ĠÐŀÑģ ÑĤ", + "ĠмÑĥж Ñĩин", + "Ġy eÅŁil", + "ĠСов еÑĤ", + "ĠСо веÑĤ", + "ĠB ÃĸL", + "ĠТак ож", + "Ġob nov", + "ĠпÑĢи надлеж", + "ĠвиÑģ нов", + "Ø· Ùħ", + "ĠìĹĨ ìĸ´", + "ĠM ùa", + "ä½ı å®ħ", + "åĮ» åѦ", + "Ġна ÑĢез", + "ĠнаÑĢ ÐµÐ·", + "ãĥĭ ï¾Ĩ", + "ĠM ặt", + "Ġvu ông", + "ä¸Ģ åĮº", + "ĠẢ nh", + "ÑĢ Ð¸ÑĦ", + "ÑĢи ÑĦ", + "ä¿Ŀ éĻ©", + "ĠÏĩÏģή Ïĥη", + "åIJĮ æĦı", + "Ġ æīĵ", + "Ġæī ĵ", + "e tÄĽ", + "et ÄĽ", + "ĠÙĪ Ø°ÙĦÙĥ", + "ĠÑĤ иж", + "ĠÑĤи ж", + "ĠÎŁ ικο", + "ĠÎŁÎ¹ κο", + "ĠмÑĸÑģ ÑĨÑĸ", + "ĠÑĢебен ок", + "ĠÅŀ ah", + "عÙĦ ÙĪÙħ", + "l adıģ", + "la dıģ", + "lad ıģ", + "ladı ÄŁ", + "Ġg iden", + "Ġgi den", + "Ġgid en", + "лив оÑģÑĤÑĸ", + "ливо ÑģÑĤÑĸ", + "ÙĴ س", + "ĠT HB", + "ĠTH B", + "Ġmes lek", + "Âł ÐĿе", + "ÂłÐĿ е", + "μÏĨ Ïīνα", + "Ġ ÙĪØ§Ø¬", + "ĠÙĪ Ø§Ø¬", + "ĠÙĪØ§ ج", + "на ÑģлÑĸд", + "æĺŁ æľŁ", + "ÐĶ Ð¶", + "ĠÑĢабоÑĤ аеÑĤ", + "ĠÑĢабоÑĤа еÑĤ", + "Ġs ánh", + "ìļ° ë¦¬", + "Ġا بÙĪ", + "Ġاب ÙĪ", + "çļĦ æĥħ", + "ĠìϏ êµŃ", + "Ġk abil", + "Ġka bil", + "Ġkab il", + "еÑĢв Ñĭе", + "Ġgi Ãłu", + "ĠgiÃł u", + "Ġt á»ı", + "Ġtá» ı", + "Âł Ðij", + "å®Į æķ´", + "Ġmuž ů", + "ĠpomÄĽr nÄĽ", + "ĠÙħ خصÙĪØµ", + "ĠÐĶ ÐµÐ¼", + "ãĤı ãĤĮãĤĭ", + "ãĤıãĤĮ ãĤĭ", + "ĠпÑĢи бÑĭ", + "ĠпÑĢиб Ñĭ", + "ĠکاÙħ Ù¾ÛĮ", + "ï¼ Ń", + "Ġt rh", + "Ġtr h", + "ĠÐij олÑĮÑĪ", + "´ :", + "и ваеÑĤÑģÑı", + "ив аеÑĤÑģÑı", + "ива еÑĤÑģÑı", + "иваеÑĤ ÑģÑı", + "Ġ ìĤ¬íķŃ", + "ĠìĤ¬ íķŃ", + "è¿Ľ ä¸ĢæŃ¥", + "ÑĨ ей", + "ÑĨе й", + "ãģ¾ ãģļ", + "аÑĤ елем", + "аÑĤе лем", + "éĮ ¯", + "Ġžal ob", + "ÑĨ ез", + "ÑĨе з", + "и нÑĥв", + "ин Ñĥв", + "инÑĥ в", + "Ġver ze", + "Ġve rze", + "Ġverz e", + "åĽŀ åΰ", + "Ġd ược", + "ائ ÙĬÙĦ", + "ائÙĬ ÙĦ", + "sto upil", + "stoup il", + "论 æĸĩ", + "ĠÐŁ аÑĢи", + "ĠÐŁÐ°ÑĢ Ð¸", + "Ġдек оÑĢаÑĤив", + "اخ تÛĮ", + "اخت ÛĮ", + "ĠÑģÑĤ ÑĢем", + "ĠÑģÑĤÑĢ ÐµÐ¼", + "ãĥ»âĶģãĥ»âĶģ ãĥ»âĶģãĥ»âĶģ", + "ĠÑģам ой", + "ĠÑģамо й", + "Ñĩ ÑĤо", + "ìĥģ ëĭ´", + "âī ¤", + "ÑĤ ого", + "ÑĤо го", + "ëIJ ¨", + "ı lacak", + "ıl acak", + "ä¸Ń ãģ«", + "ĠÏħÏĢάÏģÏĩ οÏħν", + "ĠвÑĸд бÑĥ", + "ĠвÑĸдб Ñĥ", + "çİ »çĴĥ", + "Ġвп еÑĢед", + "ĠPl zeÅĪ", + "Ú¯ اب", + "à¹Ģศ รษà¸IJ", + "ï¼Į æľĢ", + "Ùħ ÙĨÛĮ", + "ÙħÙĨ ÛĮ", + "çħ§ çīĩ", + "缮 å½ķ", + "ÑĢиÑĤ ÑĤÑı", + "âĢĮ اش", + "Ġ ëĮĢíļĮ", + "ĠëĮĢ íļĮ", + "ĠÅĻ adu", + "- ÑĤеÑħ", + "-ÑĤ еÑħ", + "Ġ ÙĬÙĪ", + "ĠÙĬ ÙĪ", + "Ġ à¹ģà¸ŀ", + "Ġà¹ģ à¸ŀ", + "ا ÙĥÙĨ", + "اÙĥ ÙĨ", + "Ġ기 ìŀIJ", + "Ġг Ñĸд", + "Ġìļ° ë¦¬ëĬĶ", + "Ġìļ°ë¦¬ ëĬĶ", + "Ø´ ÙħارÛĮ", + "Ø´Ùħ ارÛĮ", + "Ġt icari", + "Ġtic ari", + "âij ¢", + "ĠاÙĦ بد", + "ĠاÙĦب د", + "ĠÑĢаÑģ Ñĩ", + "Ġ اÙĦÛĮ", + "Ġا ÙĦÛĮ", + "ĠاÙĦ ÛĮ", + "Ġsü rede", + "Ġsür ede", + "Ġsüre de", + "Ġاع تر", + "Ġпо нÑıÑĤÑĮ", + "Ġпон ÑıÑĤÑĮ", + "γ κο", + "γκ ο", + "ï¼Į æ¯Ķ", + "ĠS eb", + "ĠSe b", + "Ġìĭł ê·ľ", + "æĶ¶ çĽĬ", + "ĠÙ¾ÛĮØ´ÙĨÙĩ اد", + "Îľ ÎijΤ", + "ÎľÎij Τ", + "ë°Ķ ìĿ´", + "ä¾Ľ åºĶ", + "б ин", + "би н", + "人 æ°Ĺ", + "ãģı ãĤī", + "Ġsk vÄĽl", + "Ġëĵ± ìŀ¥", + "æĭħ å½ĵ", + "Ġim kan", + "æ ύ", + "æĻ ¨", + "ï¼Į çİ°åľ¨", + "Ġsrd ce", + "ìĤ° ìĹħ", + "Ġмод ели", + "æľ¬å½ĵ ãģ«", + "а нка", + "ан ка", + "анк а", + "Ġyür üy", + "ĠоÑĩ евид", + "ĠØŃ سÙĬÙĨ", + "ĠØŃس ÙĬÙĨ", + "Ñī аÑİÑĤ", + "Ñīа ÑİÑĤ", + "lé dl", + "léd l", + "ÑĨ о", + "ĠcÃŃ sa", + "ãģĭ ãģij", + "èĹ į", + "ĠØ®ÙĪØ§Ùĩ ÙĨد", + "Ġmu že", + "Ġmuž e", + "Ġна коп", + "Ġнак оп", + "di ÄŁini", + "diÄŁi ni", + "er seniz", + "ers eniz", + "ersen iz", + "ĠпÑĢаÑĨÑĸв никÑĸв", + "д лÑı", + "Ġα ÏĥÏĦ", + "ĠαÏĥ ÏĦ", + "æ¶Ī è´¹", + "Ġ è¨Ģ", + "Ġè¨ Ģ", + "Ġb át", + "ĠØ´ ÙĥÙĦ", + "ĠÑģп иÑĢ", + "ÏĢο ÏĦε", + "Ġس اÙĦÙĩ", + "ĠساÙĦ Ùĩ", + "e kil", + "ek il", + "eki l", + "à¹ģ à¸Ĭม", + "ĠÏĥ ÏĦι", + "ĠÙħ Ø·ÙĦب", + "ĠÙħØ· ÙĦب", + "Ġìłķ ì±ħ", + "ê´Ģ ê³Ħ", + "å¹¹ ç·ļ", + "Ġ 京", + "éĢļ éģİ", + "ĠدÛĮ گراÙĨ", + "ĠدÛĮگر اÙĨ", + "ĠØ£ Ùħا", + "ĠØ£Ùħ ا", + "æĺ¯ ä¸į", + "ĠëĮĢ ëĭµ", + "ĠE rk", + "ĠEr k", + "p erty", + "per ty", + "pert y", + "ĠнаÑĩина еÑĤ", + "Ġê·¸ 리", + "ë£ ¡", + "ĠìĽ¹ ìĤ¬ìĿ´íĬ¸", + "ार न", + "æĦı è¯Ĩ", + "ĠС ÐŁ", + "Ġب اÙĬد", + "Ġبا ÙĬد", + "Ġbakım ından", + "/ TT", + "/T T", + "ĠÙģ Ø§ØµÙĦÙĩ", + "ĠÙħØ« ÙĦا", + "ĠÙħØ«ÙĦ ا", + "Ġк вад", + "Ġкв ад", + "ĠØ´ اÛĮد", + "ĠuÄį itel", + "çĪ ½", + "Ġعرض Ùĩ", + "Ġ 交", + "ĠÑĩ еÑģÑĤÑĮ", + "ĠÑĩеÑģ ÑĤÑĮ", + "à¥Ī ?Ċ", + "à¥Ī? Ċ", + "ĠخاÙĨ Ùħ", + "et iyle", + "eti yle", + "Ġε γκα", + "ĠÑģÑĥ Ñīе", + "ĠìĿ¼ ìĸ´", + "ĠÐĽ ени", + "ĠÐĽÐµ ни", + "Ġ 声", + "Ġå£ °", + "á lie", + "ál ie", + "áli e", + "ãĥ¡ ãĥ¼ãĤ¸", + "à¥Ģ तर", + "à¥Ģत र", + "г алÑĸ", + "га лÑĸ", + "гал Ñĸ", + "ĠмÑĸ нÑĸм", + "ĠE ÅŁ", + "ĠпÑĢоиз оÑĪ", + "ÐĿ аÑģ", + "ÐĿа Ñģ", + "Ġب ÙĨÛĮ", + "ĠبÙĨ ÛĮ", + "让 æĪij", + "ĠпоÑģÑĤ еп", + "ĠìļĶ êµ¬", + "ılı p", + "ıl ıp", + "Ġج ÙĪØ±", + "ĠجÙĪ Ø±", + "ĠëĮĢ ë¶Ģë¶Ħ", + "à¹ĩ à¸ķาม", + "à¹ĩà¸ķ าม", + "ĠÑĦ аÑģ", + "Ġìłķ ê·ľ", + "ла менÑĤ", + "лам енÑĤ", + "ÄŁ en", + "ÄŁe n", + "à¥ĩà¤Ĥ ĊĊ", + "à¥ĩà¤ĤĊ Ċ", + "ĠÐĺ ванов", + "ĠØŃ Ú©Ùħ", + "ĠØŃÚ© Ùħ", + "Ġ ï¾ļ", + "Ġï¾ ļ", + "ï¼ »", + "Ġne vid", + "Ġnev id", + "Ġла боÑĢаÑĤоÑĢ", + "à¸ŀย าà¸ļาล", + "Ġed iyorum", + "Ġediyor um", + "Ġhl avy", + "Ġhlav y", + "ĠEvrop ské", + "Ġph ái", + "Ġphá i", + "ãĥĵ ãĥ¼", + "ê´ij ìĹŃìĭľ", + "äº ľ", + "ØŃد اث", + "ĠпÑĢоÑĦ илакÑĤи", + "ro stÅĻed", + "rost ÅĻed", + "Ġм алÑĮ", + "Ġмал ÑĮ", + "Ġма лÑĮ", + "Ġmü dür", + "ا ساس", + "اس اس", + "ĠгалÑĥз Ñĸ", + "ี à¸Ł", + "Ġغذ اÛĮÛĮ", + "åŃIJ ä¾Ľ", + "Ġbah sed", + "ĠKrál ové", + "åį »", + "Ġ %,", + "Ġ% ,", + "ç½Ĺ æĸ¯", + "ë ļ", + "Ġ çij", + "Ġç ij", + "Ġξε ÏĦα", + "ĠÐŃ ÑĤи", + "ĠíĨµ íķ©", + "Ġاک تبر", + "ĠmÄĽsÃŃ ce", + "ìĪĺ ë¡ľ", + "ÑĦ Ñĸк", + "ÑĦÑĸ к", + "ĠÐĴ оз", + "ĠÐĴо з", + "ÑĩеÑģ ким", + "Ñĩе Ñģким", + "ÑĩеÑģки м", + "ìļ´ ëĵľ", + "Ġná klady", + "Ġnáklad y", + "ĠпоÑĤ ÑĢап", + "ĠÑĢÑĥ каÑħ", + "ĠÑĢÑĥк аÑħ", + "ι λο", + "ιλ ο", + "ĠG ül", + "ĠGü l", + "ë© ĺ", + "à¹ī ย", + "m akt", + "ma kt", + "mak t", + "ãĥ³ ãĥIJãĥ¼", + "ãĥ³ãĥIJ ãĥ¼", + "Ġн ÑĸÑı", + "ĠнÑĸ Ñı", + "ĠоÑĤ ÑĤен", + "m esinin", + "mes inin", + "mesi nin", + "mesini n", + "ĠвÑģп ом", + "Ġ ìĿ´ëĬĶ", + "ĠìĿ´ ëĬĶ", + "dy by", + "ãĤ¿ ãĥ³", + "âĹ İ", + "à¹īา หà¸Ļ", + "à¹īาห à¸Ļ", + "اد Ú¯ÛĮ", + "Ïĩ ία", + "Ġsna žÃŃ", + "Ġà¤ļ à¤ķ", + "μή μα", + "Ġ Ùĥر", + "ĠÙĥ ر", + "Ġκ οι", + "Ġκο ι", + "éĢ ¸", + "Ġne ust", + "Ġneu st", + "ĠÙĨظ اÙħÛĮ", + "ĠÙĨظاÙħ ÛĮ", + "åįļ çī©", + "Ġ ë²½", + "Ġë² ½", + "á½ ±", + "Ġì¶ľ ìĭľ", + "Ġar má", + "Ġarm á", + "ĠÙĩÙħ کارÛĮ", + "çļĦ æĥħåĨµ", + "çļĦæĥħ åĨµ", + "ÙĤ اÙħ", + "ÙĤ ب", + "Ġ éĤ£", + "ĠéĤ £", + "Ġë§ ¡", + "Ġo lası", + "Ġol ası", + "Ġola sı", + "β ÎŃÏģ", + "ä½ķ ãģĭ", + "ĠÑĥÑĩ еб", + "Ġв Ñĥз", + "Ġبر گز", + "Ġبرگ ز", + "' yi", + "'y i", + "Ġп ÑĢазд", + "ĠпÑĢа зд", + "ĠÐŀ ÑĢг", + "ĠÐŀÑĢ Ð³", + "Ġ å¹¶", + "Ġå¹ ¶", + "ĠÑģ ви", + "ĠÑģв и", + "ĠÙħÛĮ داÙĨ", + "ĠnaÅ¡e ho", + "ĠBA Åŀ", + "å» Ĭ", + "Ì Ī", + "ãģĵ ãģĿ", + "à¹ĩà¸Ļ à¸ŀ", + "οÏģ ειο", + "Ġбаг аÑĤ", + "γ ει", + "γε ι", + "μ είο", + "με ίο", + "à¹Īà¸ĩ à¸Ĭาà¸ķ", + "ĠHizmet leri", + "ĠAfr ika", + "ĠAf rika", + "Ġted bir", + ", 、", + "ä¸ī 级", + "ÐİÑĭÑŁN ÐİÑĭÑŁN", + "ĠÐļ ÑĢÑĸм", + "Ġa ray", + "Ġar ay", + "Ġara y", + "Ġböyle ce", + "к оÑĤ", + "ко ÑĤ", + "éĻ °", + "åĽ½ éļĽ", + "t ÄĽl", + "tÄĽ l", + "Ġp olis", + "Ġpol is", + "Ġpo lis", + "Ġu vol", + "Ġuv ol", + "ĠìĪĺ ê°ķ", + "ç͵ èĦij", + "Ġs ami", + "Ġsa mi", + "Ġsam i", + "Ġشاخ Ùĩ", + "Ġв ÑģÑĮого", + "ĠвÑģ ÑĮого", + "ĠØŃد اÙĤÙĦ", + "Ġ iken", + "Ġi ken", + "Ġik en", + "ãĤ¯ãĥ© ãĥĸ", + "Ġzá vod", + "Ġzáv od", + "ब ल", + "ë°° ìĨ¡", + "éĩĩ è´Ń", + "ëł ¬", + "Ġ ।ĊĊ", + "Ġ। ĊĊ", + "Ġ।Ċ Ċ", + "Ġê°ģ ê°ģ", + "Ġм ак", + "Ġма к", + "Ïģα Ïĥη", + "ĠiÅŁlem i", + "ãģĹ ãģ¦ãģĦãģ¾ãģĻ", + "ãģĹãģ¦ ãģĦãģ¾ãģĻ", + "ãģĹãģ¦ãģĦ ãģ¾ãģĻ", + "ĠP ek", + "ĠPe k", + "Ñİ Ð½", + "Ġvel kou", + "Ġvelk ou", + "åĬŀ çIJĨ", + "å®ĥ 们", + "Ġ èIJ¬", + "ĠèIJ ¬", + "ĠнаÑĢод Ñĥ", + "ĠнаÑĢ Ð¾Ð´Ñĥ", + "Ġch ó", + "ĠH iç", + "ĠHi ç", + "Û³ Ûµ", + "Ġ รà¸Ńà¸ļ", + "Ġร à¸Ńà¸ļ", + "Û³ Û¶", + "à¸Ĥ ว", + "ä½į æĸ¼", + "ĠС ÑĤа", + "ĠСÑĤ а", + "ั à¸Ļม", + "ัà¸Ļ ม", + "ाप à¤ķ", + "ĠÑĥ ÑĢок", + "ãĤ¢ ãĥ¡ãĥªãĤ«", + "Ġз мож", + "Ġзм ож", + "sk ému", + "ské mu", + "ském u", + "Ġ è»Ĭ", + "Ġè» Ĭ", + "ĠاختÛĮ ار", + "ĠP Åĺ", + "л Ñıв", + "лÑı в", + "Ġ маз", + "Ġм аз", + "Ġма з", + "Ġözel liÄŁi", + "åij¼ ãģ°", + "Ġbir inin", + "Ġbiri nin", + "Ġод не", + "Ì Ĩ", + "ä»ĸ ãģ®", + "建 ç¯ī", + "поÑģ еÑĢед", + "ห ลà¸Ķ", + "หล à¸Ķ", + "å¤ļ ãģĦ", + "ÏĦή ÏĥειÏĤ", + "Ġر ÙĪÙĨد", + "ĠرÙĪ ÙĨد", + "èģ ½", + "ì¤ij ìĹIJ", + "ìĬ¤ íĭ°", + "Ġз вÑĸÑĤ", + "Ġзв ÑĸÑĤ", + "ĠаÑĢ ÑĤи", + "Ġc ưá»Ŀi", + "Ġcư á»Ŀi", + "ın dır", + "ınd ır", + "Ġг олод", + "Ġгол од", + "ا زد", + "از د", + "à¹Īาว ว", + "ãĥ¡ ãĥ©", + "عÙĨ ÙĪØ§ÙĨ", + "% )Ċ", + "%) Ċ", + "ĠÑħолод илÑĮ", + "人 们", + "C İ", + "ÐĹ Ð°Ð¿", + "ÐĹа п", + "ĠpÅĻ isp", + "ĠpÅĻi sp", + "Ġdurum larda", + "ÑĢ Ñĸд", + "ÑĢÑĸ д", + "Âł У", + "Ġε ÏĨαÏģ", + "Ġs prav", + "Ġsp rav", + "Ġspr av", + "ĠоÑĤÑĢим аннÑı", + "ï¼Į 没æľī", + "о вала", + "ов ала", + "ова ла", + "овал а", + "Ġng ại", + "ãĢĤ 大", + "Ġ даеÑĤ", + "Ġд аеÑĤ", + "Ġда еÑĤ", + "ĠpÃŃs em", + "ÑĨ ÑıÑĤÑĮ", + "ÑĨÑı ÑĤÑĮ", + "ov nÄĽ", + "ë¦ ī", + "Ġê² ģ", + "Ñģ ÑĤин", + "ÑģÑĤ ин", + "ÑģÑĤи н", + "ĠS ayı", + "ĠSa yı", + "ĠSay ı", + "ãĢĭ çļĦ", + "Ġyol uyla", + "Ġyolu yla", + "елеÑĦ он", + "Ġr áno", + "Ġrá no", + "Ġíĸī ëıĻ", + "ĠاÙĦخاÙħ سة", + "Ġповин на", + "ÅĻ ila", + "ÅĻi la", + "ÅĻil a", + "Ġà¤ļ रण", + "Ġà¤ļर ण", + "Ġبرگ زار", + "Ġبرگز ار", + "ìļ´ ëį°", + "à¹Ģà¸Ľ à¸Ńร", + "Ġdal eko", + "led nÃŃ", + "åIJį 稱", + "лив ÑĸÑģÑĤÑĮ", + "ливÑĸ ÑģÑĤÑĮ", + "Ġ몸 ìĿĦ", + "о ÑĢÑĸв", + "оÑĢ Ñĸв", + "оÑĢÑĸ в", + "Ц е", + "بد Ø£", + "ë°ĺ 기", + "k rát", + "kr át", + "ä¸į è¶³", + "Ġolduk ları", + "len iyor", + "Ġìĭľ íĸī", + "ĠпÑĢи нимаÑĤÑĮ", + "à¸Ĥà¸Ńà¸ĩ ร", + "ÏĪ ÎµÎ¹", + "ÏĪε ι", + "Ġ ẩn", + "ت س", + "ĠÑĤ ай", + "ĠÑĤа й", + "Ġнев озможно", + "åıĬ ãģ³", + "r oti", + "ro ti", + "rot i", + "ï½ Ń", + "д ом", + "до м", + "ой но", + "å£ Ĭ", + "说 çļĦ", + "Ġsk oro", + "ni ÄįnÃŃ", + "niÄį nÃŃ", + "ĠProf es", + "ĠÑħ ÑĢониÑĩеÑģ", + "Ġ주 문", + "ĠZ n", + "ĠÑģ лой", + "ĠÑģл ой", + "ĠÑģло й", + "Îł Ïģο", + "æĮĩ æķ°", + "ĠпеÑĢ ÐµÑĪ", + "ĠпеÑĢе ÑĪ", + "à¥ģà¤ķ स", + "Ġê°Ģ ìłķ", + "Ġ íķĺë©´", + "Ġíķĺ ë©´", + "Û±Û¹ Û´", + "к Ñĥл", + "кÑĥ л", + "ÙĬ ÙĦا", + "ÙĬÙĦ ا", + "ĠدÙĪØ¨ ارÙĩ", + "| l", + "ĠÐľ Ñĥ", + "н ила", + "ни ла", + "нил а", + "ãģ¦ ãģĦãģ¾ãģĻ", + "ãģ¦ãģĦ ãģ¾ãģĻ", + "m acı", + "ma cı", + "mac ı", + "ãģŁ ãģ¡ãģ¯", + "ãģŁãģ¡ ãģ¯", + "ĠاÙĦÙĥ تاب", + "ç§» åĭķ", + "λ μ", + "_ ï¼ı", + "Ġê°Ģ ìŀħ", + "èħ ¾", + "ĠпÑĢез иденÑĤ", + "Ġë¶Ħ ìķ¼", + "a hy", + "ah y", + "Å¡et ÅĻenÃŃ", + "Å¡etÅĻ enÃŃ", + "éĵ º", + "ĠpÅĻÃŃ ro", + "Ðķ Т", + "ĠìļĶ ì²Ń", + "Ġmoh lo", + "Ġmohl o", + "å¿ĥ çIJĨ", + "Ġvysok é", + "& uuml", + "ÏĦ ικα", + "ÏĦικ α", + "ÏĦι κα", + "ìĹħ ì²´", + "ãģ§ ãģĤ", + "ราย à¸ĩาà¸Ļ", + "ĠpÅĻÃŃspÄĽ v", + "Ġet miÅŁtir", + "Ġetm iÅŁtir", + "ĠetmiÅŁ tir", + "她 们", + "ÏĢ Î»Î±", + "ÏĢλ α", + "ứ a", + "Ġ 说", + "Ġè¯ ´", + "ĠÑģо Ñģед", + "ĠÑģоÑģ ед", + "åĩ ī", + "ĠÐł е", + "åİŁ æĿ¥", + "ĠÐIJÑĢ Ñħ", + "ب ÙĬÙĨ", + "بÙĬ ÙĨ", + "åľ° 说", + "Ġ ört", + "Ġö rt", + "Ġör t", + "ĠΣ εÏĢ", + "ĠΣε ÏĢ", + "ÂŃ ÙĩاÛĮ", + "ĠاÙĦ اÙĤتص", + "å°½ 管", + "ÑĤ Ñĭй", + "ÑĤÑĭ й", + "t ains", + "ta ins", + "tain s", + "ÙĢ ÙĦ", + "ç§ijæĬĢ æľīéĻIJåħ¬åı¸", + "æı ®", + "ัà¸ķ à¸ĸ", + "á»Ĺ ng", + "ล าà¸Ķ", + "ลา à¸Ķ", + "æļ ®", + "ĠÙĨÙģ Ø³Ùĩ", + "ĠÙĨÙ쨳 Ùĩ", + "Ġ çľĭ", + "Ġçľ ĭ", + "Ġ ãģ¿", + "Ġt arım", + "Ġtar ım", + "Û±Û¹ Ûµ", + "ĠÎ Ĭ", + "Ġkom plex", + "Ġkomple x", + "Ġkomp lex", + "ĠNh Ä©", + "è´¹ ç͍", + "Ġکاربر اÙĨ", + "ÅĪ ovánÃŃ", + "Ġ ků", + "Ġk ů", + "д ап", + "да п", + "Îķ Χ", + "ê·¸ ëŀĺ", + "Ġdön dü", + "人 åĵ¡", + "ĠT iá»ĥu", + "ĠÙĪÛĮر اÛĮØ´", + "Ġö ngör", + "ĠÙĪ ØºÙĬر", + "ĠÑģ кÑĢÑĭ", + "ĠÑģк ÑĢÑĭ", + "âĢIJ '", + "Ġ немÑĥ", + "Ġн емÑĥ", + "Ġне мÑĥ", + "Ġнем Ñĥ", + "ĠH á»ĩ", + "ĠHá» ĩ", + "Ġdüzen li", + "ĠsoutÄĽ že", + "ãĢģ ãĥŀ", + "ÏĦο μα", + "ÄĽ lÃŃ", + "ÄĽl ÃŃ", + "ĠØ£ ÙĦÙħاÙĨ", + "ĠØ£ÙĦ ÙħاÙĨ", + "çł ²", + "Ġtr Ãł", + "Ġ ä¸ĸçķĮ", + "Ġä¸ĸ çķĮ", + "ay ız", + "ayı z", + "ım lı", + "ĠاÙĦØ£ Ùģ", + "íķĺ ëĬĶëį°", + "íķĺëĬĶ ëį°", + "в ано", + "ва но", + "ван о", + "ĠpÅĻi Äįemž", + "Ùĥ ÙĬب", + "ÙĥÙĬ ب", + "ĠмаÑĤ емаÑĤи", + "м ени", + "мен и", + "ме ни", + "ĠпÑĢо екÑĤÑĥ", + "ĠпÑĢоек ÑĤÑĥ", + "ĠпÑĢоекÑĤ Ñĥ", + "ี à¹Ĥà¸Ń", + "ีà¹Ĥ à¸Ń", + "о Ñĥ", + "ĠاÙĦ شرÙĥØ©", + "ĠاÙĦشر ÙĥØ©", + "æ³ £", + "ÙĪÙĤ ÙĬت", + "ÑĪ Ð¸Ð²", + "ÑĪи в", + "Ġperson el", + "Ġpersone l", + "Ġperso nel", + "Ø´ تر", + "شت ر", + "à¸Ķ า", + "Ġë ª½", + "Ġëª ½", + "åĿIJ åľ¨", + "о ке", + "ок е", + "Ġë§Ī ë²ķ", + "ĠØ£ ÙĨا", + "ĠØ£ÙĨ ا", + "ëł µ", + "ĠÙħب اÙĨÛĮ", + "èĭ ¹æŀľ", + "Ġ ศร", + "Ġศ ร", + "ĠÐĽ ÑĥÑĩ", + "ĠÐĽÑĥ Ñĩ", + "ÎŁ ΥΣ", + "ÎŁÎ¥ Σ", + "ĠÄį á", + "ãģĽ ãģ¦", + "Ġk Ä±ÅŁ", + "Ġkı ÅŁ", + "ÑĪ ÐµÐ²", + "ÑĪе в", + "æĮĩ 导", + "à¹ģละ ม", + "Ġvol eb", + "Ġvole b", + "ĠÑģи лÑĭ", + "ĠÑģил Ñĭ", + "Ġdruh ou", + "Ġdru hou", + "Ġ ì°¬", + "Ġì° ¬", + "ĠìŀĪ ìĿĮ", + "Î¥ Σ", + "ä¸į å®ī", + "Ġ ìĹĨìĿĮ", + "ĠìĹĨ ìĿĮ", + "Ġde term", + "Ġdet erm", + "Ġdeter m", + "ĠاÙĦÙħ عÙĦÙĪÙħات", + "íĺ ¹", + "âĻ ¡", + "à¥įब न", + "Ġخش Ú©", + "ĠN ová", + "ĠNo vá", + "ĠNov á", + "ĠÑĦÑĥнда менÑĤ", + "ĠпÑĢогÑĢам и", + "ĠпÑĢогÑĢа ми", + "ĠпÑĢог ÑĢами", + "ĠعÙĦ ÙĬÙĥ", + "ĠعÙĦÙĬ Ùĥ", + "। ĊĊ", + "।Ċ Ċ", + "Ġver iyor", + "Ġveri yor", + "Ġ ÑĶв", + "ĠÑĶ Ð²", + "ĠìŀĪ ëĭ¤ê³ł", + "ĠìŀĪëĭ¤ ê³ł", + "ĠاÙĦØ£Ùħ رÙĬÙĥÙĬ", + "ĠاÙĦØ£Ùħر ÙĬÙĥÙĬ", + "Ġå¤ĸéĥ¨ ãĥªãĥ³ãĤ¯", + "Ġ ä¿®", + "Ġп ÑĥÑĤи", + "ĠпÑĥÑĤ и", + "ĠпÑĥ ÑĤи", + "Ġο Ïģγ", + "ĠоÑģнов ном", + "Ġ наÑĢÑĥж", + "Ġна ÑĢÑĥж", + "ĠнаÑĢ Ñĥж", + "Ġми ÑĢе", + "ĠмиÑĢ Ðµ", + "o vÄĽt", + "ov ÄĽt", + "ovÄĽ t", + "Ġíĥ IJ", + "Ġsok ak", + "Ġspolup ráci", + "ÐĶ Ðļ", + "Ġ åĺ", + "Ġå ĺ", + "âĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸį âĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸį", + "Ġ ³³³³", + "ĠÂł ³³³", + "Ġ³³ ³³", + "Ġ³³³ Âł", + "Ġhay ır", + "Ġ ìĻĶ", + "ĠìĻ Ķ", + "æĤ¨ çļĦ", + "æĮ º", + "Ġ 민주", + "Ġ민 주", + "Ġhot elu", + "Ġhotel u", + "ี à¸ľ", + "ìŀIJ ëıĻ", + "ä¼¼ çļĦ", + "ÎŃν ÏĦÏģο", + "ÎŃνÏĦ Ïģο", + "Ø´ ÙĪ", + "Ġ é¤", + "Ġé ¤", + "Ġ λι", + "Ġλ ι", + "Ġol maktadır", + "Ġolmak tadır", + "ĠоÑģ веÑī", + "Ġв ина", + "Ġви на", + "Ġвин а", + "Ġخاص Ø©", + "r ana", + "ra na", + "ran a", + "γÏģα ÏĨή", + "γÏģαÏĨ ή", + "ÑĨ еÑģ", + "ÑĨе Ñģ", + "ĠdoÄŁru lt", + "ĠdoÄŁr ult", + "ĠÙĤرار داد", + "ĠÙĤرارد اد", + "ĠÐļ ал", + "ĠÐļа л", + "ê²½ ìłľ", + "Ïĩ ÏĮ", + "Ñĥ ÑİÑīий", + "ÑĥÑİ Ñīий", + "ÑĥÑİÑī ий", + "ëĭ ĺìĿ´", + "ëĭĺ ìĿ´", + "ë Į", + "л аз", + "ла з", + "Ġng ừng", + "i sku", + "is ku", + "isk u", + "ìĦł ê±°", + "ĠÑįлек ÑĤÑĢон", + "ĠÑįлекÑĤÑĢ Ð¾Ð½", + "ĠV oj", + "ĠVo j", + "н Ñıми", + "нÑı ми", + "ĠÙĪ Ø£ÙĨ", + "ĠÙĪØ£ ÙĨ", + "äº Ń", + "绣 计", + "ĠÅŁ iÅŁ", + "ĠÅŁi ÅŁ", + "ãĢį çļĦ", + "æŃ ¯", + "Ġкол лек", + "Ġд виж", + "Ġдв иж", + "Ġдви ж", + "Ġn á»Ńa", + "Äįas ÃŃ", + "Ġs onu", + "Ġso nu", + "Ġson u", + "ĠмеÑħ анÑĸз", + "ž ený", + "že ný", + "žen ý", + "Ġза ÑģÑĤÑĥп", + "ĠзаÑģÑĤ Ñĥп", + "ê´Ģ 볨", + "ĠÑĤоваÑĢ Ñĸв", + "ĠÑĤов аÑĢÑĸв", + "Ġ ì¼ĢìĿ´", + "Ġì¼ ĢìĿ´", + "à¥ģà¤Ĺ त", + "Ġzá sob", + "мов ÑĸÑĢ", + "u fac", + "uf ac", + "ů ležit", + "Ġви гоÑĤов", + "Ġвиг оÑĤов", + "ĠاÙĦÙĨ ÙĪ", + "Ġع اÙħا", + "ĠعاÙħ ا", + "æģ ¨", + "ĠìĿ´ë¯¸ ì§Ģ", + "Ġt voÅĻ", + "Ġtv oÅĻ", + "Ġvyu žitÃŃ", + "Ġgel iÅŁim", + "ĠgeliÅŁ im", + "ì³ ¤ëĭ¤", + "หà¸Ļ à¸Ńà¸ĩ", + "ĠìĿ¸ ìłķ", + "à¥į दर", + "à¥įद र", + "ĠпеÑĢед а", + "ĠпеÑĢе да", + "ĠздÑĸйÑģ неннÑı", + "ÙĨ ع", + "è¡£ æľį", + "Ġl oa", + "Ġlo a", + "íĻ Ī", + "èĭ± åĽ½", + "ĠD ruh", + "ĠDr uh", + "Ø® اÙĨ", + "д ам", + "да м", + "аÑĤелÑĮ нÑĭÑħ", + "θ ÏģÏİ", + "ĠØ£ Ùħر", + "ĠØ£Ùħ ر", + "ĠÅĻ ada", + "Ġbul uÅŁ", + "ĠÑĤÑĢанÑģп оÑĢ", + "ĠÑĤÑĢанÑģ поÑĢ", + "ĠÙĤ تÙĦ", + "ĠTa rif", + "ĠTar if", + "R us", + "Ru s", + "ĠзаÑģ Ñĸд", + "Ġİ h", + "l eyin", + "ley in", + "Ġvy rá", + "ĠD ÄĽ", + "иб ли", + "a vou", + "av ou", + "avo u", + "ĠÐĵеÑĢ Ð¼", + "н емÑĥ", + "не мÑĥ", + "нем Ñĥ", + "Ġкон ÑĨеп", + "ĠконÑĨе п", + "ĠÙĤ ادر", + "Ġsou bor", + "Ġl á»iji", + "Ġ çµIJ", + "Ġçµ IJ", + "л еннÑĭй", + "лен нÑĭй", + "κ Ïħ", + "Ġдопом аг", + "à¸ŀวà¸ģ à¹Ģà¸Ĥ", + "Ġqu ang", + "Ġq uang", + "Ġqua ng", + "Ġquan g", + "ĠØ· ÙĦا", + "ĠØ·ÙĦ ا", + "Ġ éĩĮ", + "Ġé ĩĮ", + "Ġéĩ Į", + "ĠÙĨÙħÙĪØ¯ ار", + "ĠÅŁ ar", + "ĠÑģп Ñĸл", + "ÂŃ n", + "ì§Ģ ìļĶ", + "åīį å¾Ģ", + "åħ³ éĶ®", + "å®ŀ åľ¨", + "éŁ³ 楽", + "ĠÙħسئ ÙĦÙĩ", + "Ġy eme", + "Ġye me", + "Ġyem e", + "ĠÑĪ Ð°Ñħ", + "기 ìĪł", + "Ġ สำà¸Ļ", + "Ġสำ à¸Ļ", + "ĠÙĪØ±Ø²Ø´ ÛĮ", + "ĠÙĪØ±Ø² Ø´ÛĮ", + "ãģĹ ãģŁãĤī", + "ãģĹãģŁ ãĤī", + "ί ÏĥÏī", + "ίÏĥ Ïī", + "о кон", + "ок он", + "око н", + "ãģŁ ãĤī", + "ĠØ¥ ÙĦÙĬÙĩ", + "ĠØ¥ÙĦÙĬ Ùĩ", + "ĠØ¥ÙĦ ÙĬÙĩ", + "Ġآذ رب", + "Ġr á»Ŀi", + "Ġod ak", + "Ġм огÑĥ", + "Ġмог Ñĥ", + "Ġмо гÑĥ", + "ĠÚ¯ ÙĨ", + "è² ¼", + "ed la", + "edl a", + "Ġоп ÑĭÑĤ", + "la maktadır", + "lamak tadır", + "å°¼ äºļ", + "éĥ½ ä¼ļ", + "ĠÎĺε ÏĥÏĥα", + "Ġв ог", + "Ġво г", + "ç»Ī äºİ", + "ĠÑĥÑĢов не", + "Ġv lak", + "Ġvl ak", + "ĠØ¢ ÙĦØ©", + "ĠØ¢ÙĦ Ø©", + "Ġε ιδ", + "Ġει δ", + "â ĩ", + "д ÑĥÑĤ", + "дÑĥ ÑĤ", + "Ñĸ нг", + "Ñĸн г", + "ĠØ£Ùħ رÙĬÙĥÙĬ", + "ĠØ£Ùħر ÙĬÙĥÙĬ", + "از ÙĨد", + "Ġب اÙĦØ£", + "ĠباÙĦ Ø£", + "Ġत न", + "Ġkay det", + "룬 리", + "Ġ drž", + "Ġd rž", + "Ġdr ž", + "Ġп енÑģ", + "Ġпен Ñģ", + "ĠpÅĻÃŃ Äį", + "ĠТ олÑĮко", + "Ġб аÑĤаÑĢ", + "Ġба ÑĤаÑĢ", + "éĵģ è·¯", + "ĠÙ¾ÛĮ ÚĨ", + "ĠÎĵ εÏī", + "ĠαÏħ ÏĦά", + "Äŀ I", + "ĠакÑĤив но", + "ÎĹ ÎľÎij", + "ÎĹÎľ Îij", + "Ġvar lık", + "Ġ åıª", + "Ġåı ª", + "ĠзаÑī иÑĤÑĭ", + "ĠзаÑīиÑĤ Ñĭ", + "л им", + "ли м", + "ĠÙħشاÙĩ دة", + "и ком", + "ик ом", + "Ġì¡° ìĤ¬", + "о ген", + "ог ен", + "Ġm ấy", + "g ii", + "gi i", + "èĽ ĩ", + "ĠØ® ÙĪÛĮØ´", + "ĠØ®ÙĪ ÛĮØ´", + "Ġn ová", + "Ġno vá", + "Ġnov á", + "к овой", + "ков ой", + "ково й", + "Ġkan ıt", + "Ġkanı t", + "éĿ¢ è®®", + "ĠرÙĪØ³Øª ا", + "ìĸ´ ê°Ģ", + "ĠоÑĤноÑĪ ÐµÐ½Ð¸Ñı", + "Ġhodnot y", + "ÙĪ Ø±Ø§Øª", + "ÙĪØ± ات", + "ÙĪØ±Ø§ ت", + "ĠpÅĻ ÃŃst", + "ĠpÅĻÃŃ st", + "Ġth á»į", + "Ġthá» į", + "Ġçık art", + "Ġçıkar t", + "Ġçı kart", + "о обÑĢаз", + "Ġnem ÄĽl", + "Âł ro", + "ĠدÙĪÙĦ تÛĮ", + "ĠدÙĪÙĦت ÛĮ", + "ี ,", + "ä¸Ģ 度", + "ia omi", + "iao mi", + "åĹ İ", + "Ùı ع", + "ĠваÑĢи ан", + "Ġpod aÅĻilo", + "ĠëĤĺ ê°Ģ", + "èIJ¥ ä¸ļ", + "ĠабÑģолÑİÑĤ но", + "Ġë¸Į ëĿ¼", + "ĠгоÑĢ Ð¸Ð·", + "a ģın", + "aÄŁ ın", + "aģı n", + "Ġyer ini", + "Ġyeri ni", + "à¹īา à¸Ļà¸Ķ", + "à¹īาà¸Ļ à¸Ķ", + "æIJ ¬", + "Ġb alık", + "Ġbal ık", + "Ġba lık", + "ĠÅŁ ans", + "认 è¯Ĩ", + "Ġistedi ÄŁiniz", + "Ġjist ÄĽ", + "Ġ ìĪĺê°Ģ", + "ĠìĪĺ ê°Ģ", + "ï¼Į ä¸Ĭ", + "à¤ľ ब", + "Ġви Ñıви", + "ĠвиÑıв и", + "ë§ ¥", + "ãģĹ ãģ¦ãĤĭ", + "ãģĹãģ¦ ãĤĭ", + "ÙĬÙĥ ا", + "ĠH üs", + "c ının", + "Ġश त", + "ĠÑĢаÑģп олаг", + "ĠÑģпÑĢав ж", + "ืà¸Ń à¸ĸ", + "ĠвеÑĢ ÑĤик", + "Ġvy stav", + "ĠÑĢе алÑĸзаÑĨÑĸÑĹ", + "в ами", + "ва ми", + "ãĤ¹ ãĥĨãĤ£", + "ãĤ¹ãĥĨ ãĤ£", + "ëħ ģ", + "ĠÑĢе ÑĩÑĸ", + "ĠÑĢеÑĩ Ñĸ", + "Ùģ Ø§ÙĦ", + "िà¤ķ à¤Ł", + "ĠвозÑĢаÑģÑĤ е", + "к аÑģ", + "ка Ñģ", + "ĠÐĺ Ñģ", + "Ġл Ñĸк", + "ĠлÑĸ к", + "ĠÏĥη μαν", + "м енÑĤÑĥ", + "мен ÑĤÑĥ", + "менÑĤ Ñĥ", + "н ÑıÑİÑĤ", + "нÑı ÑİÑĤ", + "æŁ ´", + "Ġθ εÏī", + "Ġθε Ïī", + "çĬ¯ 罪", + "ĠÙĤ طر", + "ĠÙĤØ· ر", + "ÐĶ ÐIJ", + "- |", + "Ġ ÑģÑĤÑĸ", + "ĠÑģ ÑĤÑĸ", + "ĠÑģÑĤ Ñĸ", + "Ġu yum", + "Ġuy um", + "Ġpot ÅĻeba", + "ĠpotÅĻeb a", + "ĠعÙħÙĦ ÛĮات", + "ĠعÙħÙĦÛĮ ات", + "å¥ ª", + "ا خر", + "اخ ر", + "ĠÚ© ساÙĨÛĮ", + "ت Ùħر", + "تÙħ ر", + "ÑĮ еÑĢ", + "ÑĮе ÑĢ", + "ĠN ez", + "ĠNe z", + "íļĮ ìĤ¬", + "ĠBank ası", + "е гÑĢа", + "ег ÑĢа", + "à¸Ĥà¸ĵะ à¸Ĺ", + "åIJĪ æł¼", + "ĠìŬ룬 ë¶Ħ", + "y asal", + "ya sal", + "yas al", + "Ġ è¡ĮæĶ¿", + "Ġè¡Į æĶ¿", + "åĬ ī", + "dık tan", + "ãĤ¢ãĥ« ãĥIJ", + "ĠاÛĮÙĨ ÚĨ", + "Ġdij ital", + "å° ĺ", + "ĠÑĢаз меÑī", + "ĠÑĢазм еÑī", + "ĠкÑĸлÑĮ коÑģÑĤÑĸ", + "ĠEv ropy", + "ĠEvrop y", + "ĠÑĢоз ви", + "ÑİÑī ÑĥÑİ", + "Ġ ong", + "Ġo ng", + "Ġon g", + "Ġhe psi", + "Ġhep si", + "v ailability", + "vail ability", + "Ġتص ÙħÙĬÙħ", + "ĠتصÙħ ÙĬÙħ", + "Ñĥ йÑĤе", + "Ñĥй ÑĤе", + "ह ल", + "ĠÅ¡ iro", + "Ġp ás", + "Ġpá s", + ";; ;;;;", + ";;;; ;;", + ";;; ;;;", + "éħį åIJĪ", + "ĠاÙĦعاÙĦÙħ ÙĬØ©", + "ÐĴ о", + "h af", + "ha f", + "l áv", + "lá v", + "Ġb ì", + "Ġm ůj", + "Ġmů j", + "ê»ĺ ìĦľ", + "ÂłB f", + "ĠÑģпÑĢоÑģ ил", + "âĢĮÚ©ÙĨ ÙĨدÙĩ", + "âĢĮÚ©ÙĨÙĨد Ùĩ", + "ÙĨد ÙĬØ©", + "ÙĨدÙĬ Ø©", + "çī¹ èī²", + "Ġìķ ¨", + "ุษ ย", + "ĠФ оÑĢ", + "пиÑģ ок", + "пи Ñģок", + "u žel", + "ım lar", + "çĬ¶ æ³ģ", + "Ġãĥ¬ ãĥĩãĤ£ãĥ¼ãĤ¹", + "Ñħ ови", + "Ñħов и", + "Ñħо ви", + "ÂłK Äį", + "Ñĩ им", + "Ñĩи м", + "Ġت ÙĪÙħ", + "ĠتÙĪ Ùħ", + "à¹Ģà¸ģษ à¸ķร", + "Ġìĭ± ê¸Ģ", + "Ùħ ارات", + "Ùħا رات", + "Ùħار ات", + "ê nh", + "ên h", + "ĠÅĻ id", + "æĬ ¬", + "Ñģ иÑİ", + "Ñģи Ñİ", + "æħ İ", + "Ġçev re", + "Ġçevr e", + "ãĥĪ ãĥ«", + "Ġyıl dır", + "Ġzá znam", + "Ġzáz nam", + "æľº åľº", + "Ġпо ÑĶ", + "ĠвÑĭ ÑĢаÑīи", + "Ġ Ù쨹", + "ĠÙģ Ø¹", + "ë »", + "Ġدار ÛĮÙħ", + "ï¼Į æĽ´", + "Ġзем ли", + "اب ÙĤات", + "ابÙĤ ات", + "Ġm á»Ŀi", + "Ġmá» Ŀi", + "k ých", + "ký ch", + "ÙĦ اة", + "ÙĦا Ø©", + "å¸ ½", + "بر اÙĩÙĬÙħ", + "Ġпо баÑĩ", + "Ġпоб аÑĩ", + "Ġпоба Ñĩ", + "ाà¤ĩ म", + "à¹Īาà¸ĩ à¸Ľà¸£à¸°à¹Ģà¸Ĺศ", + "ĠìĦ¸ ìĥģ", + "Ġпомог аеÑĤ", + "ĠÏĦÏĮ Ïĥο", + "æĸ ·", + "ĠÙ쨱 اÙĪ", + "à¹Ħà¸Ľ ย", + "erg isi", + "Ġ éĻIJ", + "ĠéĻ IJ", + ". xz", + ".x z", + "ĠÑģл ÑĥÑħ", + "ĠÑģлÑĥ Ñħ", + "е коном", + "ек оном", + "еко ном", + "ĠNh ất", + "± Ø·", + "ĠëĪĪ ìĿĦ", + "Ġ íļĮìĤ¬", + "ĠíļĮ ìĤ¬", + "Ñ ĵ", + "Ġ åIJįçĦ¡ãģĹ", + "ĠåIJį çĦ¡ãģĹ", + "Ġομά δα", + "ĩ Į", + "li ÄŁinin", + "liÄŁi nin", + "liÄŁ inin", + "liÄŁini n", + "liÄŁin in", + "ع اÙĨ", + "عا ÙĨ", + "Ġز ÙĨÛĮ", + "ĠزÙĨ ÛĮ", + "T ôi", + "Ġet ki", + "Ġetk i", + "ĠìŰ ëĿ½", + "Ġкон ÑĨа", + "è° ĭ", + "Ġзем лÑı", + "íĻĺ ê²½", + "ĠÙħÚ© اÙĨÛĮ", + "ĠÙħکاÙĨ ÛĮ", + "çĸ ²", + "Ġ ç¢", + "Ġç ¢", + "Ġkur ulan", + "Ġkurul an", + "Ġkuru lan", + "ؤ ÙĪÙĦ", + "د Ùī", + "ĠاÙĦÙħÙĨ Ø·ÙĤØ©", + "Ġn ắng", + "ÐŁ Ðļ", + "ол ай", + "ола й", + "Y K", + "åij Ĩ", + "λ αν", + "λα ν", + "西 çľģ", + "ĠÎĴ αÏĥ", + "ĠÎĴα Ïĥ", + "ĠíĻķ ìĭ¤", + "Z D", + "п Ñĸд", + "Ġ наÑĩе", + "Ġн аÑĩе", + "Ġна Ñĩе", + "ĠнаÑĩ е", + "Ġ ÏĦά", + "ĠÏĦ ά", + "å½ »", + "âĢŀ D", + "Ġ èĩº", + "Ġèĩ º", + "Ġна ÑĪей", + "ĠнаÑĪ ÐµÐ¹", + "ĠtÃŃm to", + "Ġت سÙħ", + "Ġتس Ùħ", + "Ïģθ Ïģο", + "令 人", + "ĠP azar", + "ĠPa zar", + "ĠPaz ar", + "ãĤĵ ãģ¨", + "ç«ĭ åĪ»", + "Âģ @", + "Ġb ắc", + "ìĬ¤ íħĮ", + "Ġkadın lar", + "fig ur", + "ãģ¤ ãģ¶", + "Ġæµ Ļæ±Ł", + "Ġдек ÑĸлÑĮ", + "è¡ Ŀ", + "ยà¸Ļ à¹ģà¸Ľà¸¥à¸ĩ", + "o let", + "ol et", + "ole t", + "Ġned ok", + "n amen", + "name n", + "na men", + "nam en", + "åħĦ å¼Ł", + "ืà¸Ń à¸Ĥ", + "èĤ ĥ", + "Ġb üny", + "Ġbü ny", + "ĠÑĢад Ñıн", + "ãĢģ äºĮ", + "ан нÑİ", + "Ġ æīĭæľº", + "Ġæīĭ æľº", + "ĠоÑģ лож", + "Ġо глÑı", + "Ġог лÑı", + "Ġسب ز", + "Ġaktiv it", + "Ġà¤ı प", + "ç« ľ", + "Ġd iren", + "Ġdi ren", + "Ġdir en", + "Ġdire n", + "i в", + "ĠY atırım", + "ÑĨÑĸй на", + "Ġдо мов", + "Ġдом ов", + "ẳ n", + "ĠC oÄŁraf", + "Ùģ ÙĪ", + "æ°Ĺ ãģ«åħ¥", + "ç§ģ ãģ®", + "ï½ į", + "à¥Į ड", + "ĠÐĵÑĢи гоÑĢ", + "ĠP eygamber", + "ĠPey gamber", + "Ġα γα", + "Ġαγ α", + "Ġef ekt", + "ĠìŀĪ ìĸ´ìĦľ", + "ĠìŀĪìĸ´ ìĦľ", + "ĠплаÑĤ еж", + "ĠT rab", + "ĠTr ab", + "ĠTra b", + "o very", + "ov ery", + "ove ry", + "over y", + "â̦â̦ ãĢĤ", + "Ġyap maya", + "Ġнайб ÑĸлÑĮ", + "ĠÙħÙĨ زÙĦ", + "ÙĪ ÙĬÙĥ", + "ÙĪÙĬ Ùĥ", + "ıl dıģında", + "ıldı ģında", + "ıldıģı nda", + "ĠpÅĻÃŃpad nÄĽ", + "ĠμÏĢο ÏģοÏį", + "Ġëĵľ ëĿ¼ë§Ī", + "Ġë°© 문", + "ĠС им", + "ĠСи м", + "Ú© ات", + "کا ت", + "е ком", + "ек ом", + "еко м", + "ر ÙĬع", + "رÙĬ ع", + "Ùĩد Ùģ", + "æĹı èĩªæ²»", + "Ġzm ÄĽn", + "ĠzmÄĽ n", + "Ġв клад", + "Ġвк лад", + "Ġ بÙĦغ", + "ĠبÙĦ غ", + "Ġ ç§ĭ", + "Ġç§ ĭ", + "N gh", + "Ng h", + "Ġend iÅŁ", + "ĠCumhurbaÅŁ kanı", + "ĠK af", + "ĠKa f", + "Ġ à¹ģหล", + "Ġà¹ģ หล", + "Ġmut lu", + "ĠÑģ иÑĢ", + "ĠÑģи ÑĢ", + "Ġг Ñĥм", + "æ¿ ĥ", + "çĤ ī", + "ĠB áo", + "à¥Ĥ ष", + "Ġìłķ íĻķ", + "ान स", + "ï» ¤", + "наÑģлÑĸд ок", + "po Äįet", + "poÄį et", + "ë§ĮìĽIJ ìŀħëĭĪëĭ¤", + "ĠìĦľìļ¸ íĬ¹ë³Ħìĭľ", + "Îķ ÎĻΣ", + "ÎķÎĻ Î£", + "ุม à¸Ĭà¸Ļ", + "Ġм ÑĸлÑĮ", + "ĠмÑĸ лÑĮ", + "æ ħĮ", + "æħ Į", + "Ïĥκε ÏĦαι", + "Ïĥκ εÏĦαι", + "Ġ ãĢľ", + "ĠãĢ ľ", + "Ġkal iteli", + "ĠÑģмеÑĢ ÑĤÑĮ", + "è¼ Ķ", + "Ġ биÑĤ", + "Ġб иÑĤ", + "Ġби ÑĤ", + "ĠΣ ÏĦο", + "à¸ĩà¹Ģศ ส", + "åİŁ æľ¬", + "Ġk nÃŃ", + "Ġkn ÃŃ", + "äºĴ èģĶç½ij", + "ĠÑĩеловеÑĩ еÑģ", + "çŃ Ĵ", + "à¸Īำ หà¸Ļ", + "åĩº åİ»", + "ãĤ¢ ãĥĭãĥ¡", + "å±ķ 示", + "r ych", + "ry ch", + "à¤ħ ब", + "o ÅĪ", + "jÃŃ cÃŃm", + "jÃŃcÃŃ m", + "ا ØŃØ«", + "اØŃ Ø«", + "ĠÙĪØ§ÙĤع ÛĮ", + "ĠФедеÑĢа лÑĮ", + "ĠФед еÑĢалÑĮ", + "Ñģ ам", + "Ñģа м", + "Ġ ìĺ¥", + "Ġìĺ ¥", + "åľ° çIJĥ", + "Ġs uyu", + "Ġsu yu", + "Ġsuy u", + "s eniz", + "sen iz", + "à¥ī फ", + "Ġê°Ļ ëĭ¤", + "ĠпÑĢизна ÑĩеннÑı", + "ĠпÑĢизнаÑĩ еннÑı", + "ĠS ın", + "ĠSı n", + "ĠاÙħÙĨ ÛĮت", + "Ġl átky", + "ĠÐij и", + "Ġsür eci", + "Ġsüre ci", + "Ġsürec i", + "·· ··", + "Ġê²½ ì°°", + "Ġк алÑĮ", + "Ġка лÑĮ", + "Ġкал ÑĮ", + "Ġник ÑĤо", + "Ùij Ùħ", + "ĠدÙĬ گر", + "Ġalın ması", + "л еннÑĸ", + "лен нÑĸ", + "ิว à¹Ģà¸ķà¸Ńร", + "à¸Ľà¸ģ à¸Ħรà¸Ńà¸ĩ", + "Ġзаконодав ÑģÑĤва", + "ãĢĢ ãĤ¤", + "Ġëħ¸ íķĺìļ°", + "ĠD Ã¼ÅŁ", + "Ġг ÑĥÑģÑĤ", + "ĠÐĴ аÑĪ", + "ĠاÙħ تÛĮ", + "Ġpar amet", + "Ġparam et", + "Ġpara met", + "ĠÎłÎ±Î½ εÏĢ", + "à¹Į à¸ģร", + "à¹Įà¸ģ ร", + "ζ α", + "ĠëįĶ ìļ±", + "ÙĪ ÙĦات", + "ÙĪÙĦ ات", + "ÙĪÙĦا ت", + "в аÑĤиÑģÑı", + "ва ÑĤиÑģÑı", + "ваÑĤи ÑģÑı", + "Ġk ök", + "Ġkö k", + "ÙĨ ب", + "ĠвÑĭÑģок ой", + "ãĥ¼ ãĥ¼", + "ãĥ¼ãĥ ¼", + "éĶ ¦" + ] + } +} \ No newline at end of file diff --git a/comfy/text_encoders/llama_tokenizer/tokenizer_config.json b/comfy/text_encoders/llama_tokenizer/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..0b336f5a5199c43e7305481f4e9e26e292b2f0fc --- /dev/null +++ b/comfy/text_encoders/llama_tokenizer/tokenizer_config.json @@ -0,0 +1,2095 @@ +{ + "add_bos_token": true, + "add_eos_token": false, + "add_prefix_space": null, + "added_tokens_decoder": { + "128000": { + "content": "<|begin_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128001": { + "content": "<|end_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128002": { + "content": "<|reserved_special_token_0|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128003": { + "content": "<|reserved_special_token_1|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128004": { + "content": "<|reserved_special_token_2|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128005": { + "content": "<|reserved_special_token_3|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128006": { + "content": "<|start_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128007": { + "content": "<|end_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128008": { + "content": "<|reserved_special_token_4|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128009": { + "content": "<|eot_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128010": { + "content": "<|reserved_special_token_5|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128011": { + "content": "<|reserved_special_token_6|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128012": { + "content": "<|reserved_special_token_7|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128013": { + "content": "<|reserved_special_token_8|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128014": { + "content": "<|reserved_special_token_9|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128015": { + "content": "<|reserved_special_token_10|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128016": { + "content": "<|reserved_special_token_11|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128017": { + "content": "<|reserved_special_token_12|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128018": { + "content": "<|reserved_special_token_13|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128019": { + "content": "<|reserved_special_token_14|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128020": { + "content": "<|reserved_special_token_15|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128021": { + "content": "<|reserved_special_token_16|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128022": { + "content": "<|reserved_special_token_17|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128023": { + "content": "<|reserved_special_token_18|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128024": { + "content": "<|reserved_special_token_19|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128025": { + "content": "<|reserved_special_token_20|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128026": { + "content": "<|reserved_special_token_21|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128027": { + "content": "<|reserved_special_token_22|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128028": { + "content": "<|reserved_special_token_23|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128029": { + "content": "<|reserved_special_token_24|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128030": { + "content": "<|reserved_special_token_25|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128031": { + "content": "<|reserved_special_token_26|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128032": { + "content": "<|reserved_special_token_27|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128033": { + "content": "<|reserved_special_token_28|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128034": { + "content": "<|reserved_special_token_29|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128035": { + "content": "<|reserved_special_token_30|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128036": { + "content": "<|reserved_special_token_31|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128037": { + "content": "<|reserved_special_token_32|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128038": { + "content": "<|reserved_special_token_33|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128039": { + "content": "<|reserved_special_token_34|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128040": { + "content": "<|reserved_special_token_35|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128041": { + "content": "<|reserved_special_token_36|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128042": { + "content": "<|reserved_special_token_37|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128043": { + "content": "<|reserved_special_token_38|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128044": { + "content": "<|reserved_special_token_39|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128045": { + "content": "<|reserved_special_token_40|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128046": { + "content": "<|reserved_special_token_41|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128047": { + "content": "<|reserved_special_token_42|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128048": { + "content": "<|reserved_special_token_43|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128049": { + "content": "<|reserved_special_token_44|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128050": { + "content": "<|reserved_special_token_45|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128051": { + "content": "<|reserved_special_token_46|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128052": { + "content": "<|reserved_special_token_47|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128053": { + "content": "<|reserved_special_token_48|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128054": { + "content": "<|reserved_special_token_49|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128055": { + "content": "<|reserved_special_token_50|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128056": { + "content": "<|reserved_special_token_51|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128057": { + "content": "<|reserved_special_token_52|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128058": { + "content": "<|reserved_special_token_53|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128059": { + "content": "<|reserved_special_token_54|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128060": { + "content": "<|reserved_special_token_55|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128061": { + "content": "<|reserved_special_token_56|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128062": { + "content": "<|reserved_special_token_57|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128063": { + "content": "<|reserved_special_token_58|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128064": { + "content": "<|reserved_special_token_59|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128065": { + "content": "<|reserved_special_token_60|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128066": { + "content": "<|reserved_special_token_61|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128067": { + "content": "<|reserved_special_token_62|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128068": { + "content": "<|reserved_special_token_63|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128069": { + "content": "<|reserved_special_token_64|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128070": { + "content": "<|reserved_special_token_65|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128071": { + "content": "<|reserved_special_token_66|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128072": { + "content": "<|reserved_special_token_67|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128073": { + "content": "<|reserved_special_token_68|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128074": { + "content": "<|reserved_special_token_69|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128075": { + "content": "<|reserved_special_token_70|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128076": { + "content": "<|reserved_special_token_71|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128077": { + "content": "<|reserved_special_token_72|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128078": { + "content": "<|reserved_special_token_73|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128079": { + "content": "<|reserved_special_token_74|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128080": { + "content": "<|reserved_special_token_75|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128081": { + "content": "<|reserved_special_token_76|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128082": { + "content": "<|reserved_special_token_77|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128083": { + "content": "<|reserved_special_token_78|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128084": { + "content": "<|reserved_special_token_79|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128085": { + "content": "<|reserved_special_token_80|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128086": { + "content": "<|reserved_special_token_81|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128087": { + "content": "<|reserved_special_token_82|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128088": { + "content": "<|reserved_special_token_83|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128089": { + "content": "<|reserved_special_token_84|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128090": { + "content": "<|reserved_special_token_85|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128091": { + "content": "<|reserved_special_token_86|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128092": { + "content": "<|reserved_special_token_87|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128093": { + "content": "<|reserved_special_token_88|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128094": { + "content": "<|reserved_special_token_89|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128095": { + "content": "<|reserved_special_token_90|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128096": { + "content": "<|reserved_special_token_91|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128097": { + "content": "<|reserved_special_token_92|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128098": { + "content": "<|reserved_special_token_93|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128099": { + "content": "<|reserved_special_token_94|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128100": { + "content": "<|reserved_special_token_95|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128101": { + "content": "<|reserved_special_token_96|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128102": { + "content": "<|reserved_special_token_97|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128103": { + "content": "<|reserved_special_token_98|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128104": { + "content": "<|reserved_special_token_99|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128105": { + "content": "<|reserved_special_token_100|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128106": { + "content": "<|reserved_special_token_101|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128107": { + "content": "<|reserved_special_token_102|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128108": { + "content": "<|reserved_special_token_103|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128109": { + "content": "<|reserved_special_token_104|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128110": { + "content": "<|reserved_special_token_105|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128111": { + "content": "<|reserved_special_token_106|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128112": { + "content": "<|reserved_special_token_107|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128113": { + "content": "<|reserved_special_token_108|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128114": { + "content": "<|reserved_special_token_109|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128115": { + "content": "<|reserved_special_token_110|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128116": { + "content": "<|reserved_special_token_111|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128117": { + "content": "<|reserved_special_token_112|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128118": { + "content": "<|reserved_special_token_113|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128119": { + "content": "<|reserved_special_token_114|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128120": { + "content": "<|reserved_special_token_115|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128121": { + "content": "<|reserved_special_token_116|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128122": { + "content": "<|reserved_special_token_117|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128123": { + "content": "<|reserved_special_token_118|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128124": { + "content": "<|reserved_special_token_119|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128125": { + "content": "<|reserved_special_token_120|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128126": { + "content": "<|reserved_special_token_121|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128127": { + "content": "<|reserved_special_token_122|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128128": { + "content": "<|reserved_special_token_123|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128129": { + "content": "<|reserved_special_token_124|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128130": { + "content": "<|reserved_special_token_125|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128131": { + "content": "<|reserved_special_token_126|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128132": { + "content": "<|reserved_special_token_127|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128133": { + "content": "<|reserved_special_token_128|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128134": { + "content": "<|reserved_special_token_129|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128135": { + "content": "<|reserved_special_token_130|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128136": { + "content": "<|reserved_special_token_131|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128137": { + "content": "<|reserved_special_token_132|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128138": { + "content": "<|reserved_special_token_133|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128139": { + "content": "<|reserved_special_token_134|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128140": { + "content": "<|reserved_special_token_135|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128141": { + "content": "<|reserved_special_token_136|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128142": { + "content": "<|reserved_special_token_137|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128143": { + "content": "<|reserved_special_token_138|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128144": { + "content": "<|reserved_special_token_139|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128145": { + "content": "<|reserved_special_token_140|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128146": { + "content": "<|reserved_special_token_141|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128147": { + "content": "<|reserved_special_token_142|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128148": { + "content": "<|reserved_special_token_143|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128149": { + "content": "<|reserved_special_token_144|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128150": { + "content": "<|reserved_special_token_145|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128151": { + "content": "<|reserved_special_token_146|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128152": { + "content": "<|reserved_special_token_147|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128153": { + "content": "<|reserved_special_token_148|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128154": { + "content": "<|reserved_special_token_149|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128155": { + "content": "<|reserved_special_token_150|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128156": { + "content": "<|reserved_special_token_151|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128157": { + "content": "<|reserved_special_token_152|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128158": { + "content": "<|reserved_special_token_153|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128159": { + "content": "<|reserved_special_token_154|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128160": { + "content": "<|reserved_special_token_155|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128161": { + "content": "<|reserved_special_token_156|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128162": { + "content": "<|reserved_special_token_157|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128163": { + "content": "<|reserved_special_token_158|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128164": { + "content": "<|reserved_special_token_159|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128165": { + "content": "<|reserved_special_token_160|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128166": { + "content": "<|reserved_special_token_161|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128167": { + "content": "<|reserved_special_token_162|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128168": { + "content": "<|reserved_special_token_163|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128169": { + "content": "<|reserved_special_token_164|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128170": { + "content": "<|reserved_special_token_165|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128171": { + "content": "<|reserved_special_token_166|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128172": { + "content": "<|reserved_special_token_167|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128173": { + "content": "<|reserved_special_token_168|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128174": { + "content": "<|reserved_special_token_169|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128175": { + "content": "<|reserved_special_token_170|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128176": { + "content": "<|reserved_special_token_171|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128177": { + "content": "<|reserved_special_token_172|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128178": { + "content": "<|reserved_special_token_173|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128179": { + "content": "<|reserved_special_token_174|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128180": { + "content": "<|reserved_special_token_175|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128181": { + "content": "<|reserved_special_token_176|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128182": { + "content": "<|reserved_special_token_177|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128183": { + "content": "<|reserved_special_token_178|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128184": { + "content": "<|reserved_special_token_179|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128185": { + "content": "<|reserved_special_token_180|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128186": { + "content": "<|reserved_special_token_181|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128187": { + "content": "<|reserved_special_token_182|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128188": { + "content": "<|reserved_special_token_183|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128189": { + "content": "<|reserved_special_token_184|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128190": { + "content": "<|reserved_special_token_185|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128191": { + "content": "<|reserved_special_token_186|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128192": { + "content": "<|reserved_special_token_187|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128193": { + "content": "<|reserved_special_token_188|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128194": { + "content": "<|reserved_special_token_189|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128195": { + "content": "<|reserved_special_token_190|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128196": { + "content": "<|reserved_special_token_191|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128197": { + "content": "<|reserved_special_token_192|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128198": { + "content": "<|reserved_special_token_193|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128199": { + "content": "<|reserved_special_token_194|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128200": { + "content": "<|reserved_special_token_195|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128201": { + "content": "<|reserved_special_token_196|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128202": { + "content": "<|reserved_special_token_197|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128203": { + "content": "<|reserved_special_token_198|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128204": { + "content": "<|reserved_special_token_199|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128205": { + "content": "<|reserved_special_token_200|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128206": { + "content": "<|reserved_special_token_201|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128207": { + "content": "<|reserved_special_token_202|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128208": { + "content": "<|reserved_special_token_203|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128209": { + "content": "<|reserved_special_token_204|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128210": { + "content": "<|reserved_special_token_205|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128211": { + "content": "<|reserved_special_token_206|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128212": { + "content": "<|reserved_special_token_207|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128213": { + "content": "<|reserved_special_token_208|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128214": { + "content": "<|reserved_special_token_209|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128215": { + "content": "<|reserved_special_token_210|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128216": { + "content": "<|reserved_special_token_211|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128217": { + "content": "<|reserved_special_token_212|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128218": { + "content": "<|reserved_special_token_213|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128219": { + "content": "<|reserved_special_token_214|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128220": { + "content": "<|reserved_special_token_215|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128221": { + "content": "<|reserved_special_token_216|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128222": { + "content": "<|reserved_special_token_217|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128223": { + "content": "<|reserved_special_token_218|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128224": { + "content": "<|reserved_special_token_219|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128225": { + "content": "<|reserved_special_token_220|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128226": { + "content": "<|reserved_special_token_221|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128227": { + "content": "<|reserved_special_token_222|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128228": { + "content": "<|reserved_special_token_223|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128229": { + "content": "<|reserved_special_token_224|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128230": { + "content": "<|reserved_special_token_225|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128231": { + "content": "<|reserved_special_token_226|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128232": { + "content": "<|reserved_special_token_227|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128233": { + "content": "<|reserved_special_token_228|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128234": { + "content": "<|reserved_special_token_229|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128235": { + "content": "<|reserved_special_token_230|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128236": { + "content": "<|reserved_special_token_231|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128237": { + "content": "<|reserved_special_token_232|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128238": { + "content": "<|reserved_special_token_233|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128239": { + "content": "<|reserved_special_token_234|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128240": { + "content": "<|reserved_special_token_235|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128241": { + "content": "<|reserved_special_token_236|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128242": { + "content": "<|reserved_special_token_237|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128243": { + "content": "<|reserved_special_token_238|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128244": { + "content": "<|reserved_special_token_239|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128245": { + "content": "<|reserved_special_token_240|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128246": { + "content": "<|reserved_special_token_241|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128247": { + "content": "<|reserved_special_token_242|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128248": { + "content": "<|reserved_special_token_243|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128249": { + "content": "<|reserved_special_token_244|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128250": { + "content": "<|reserved_special_token_245|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128251": { + "content": "<|reserved_special_token_246|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128252": { + "content": "<|reserved_special_token_247|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128253": { + "content": "<|reserved_special_token_248|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128254": { + "content": "<|reserved_special_token_249|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128255": { + "content": "<|reserved_special_token_250|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128256": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128257": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128258": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "bos_token": "<|begin_of_text|>", + "chat_template": "{% set loop_messages = messages %}{% for message in loop_messages %}{% set content = '<|start_header_id|>' + message['role'] + '<|end_header_id|>\n\n'+ message['content'] | trim + '<|eot_id|>' %}{% if loop.index0 == 0 %}{% set content = bos_token + content %}{% endif %}{{ content }}{% endfor %}{{ '<|start_header_id|>assistant<|end_header_id|>\n\n' }}", + "clean_up_tokenization_spaces": true, + "eos_token": "<|end_of_text|>", + "legacy": true, + "model_input_names": [ + "input_ids", + "attention_mask" + ], + "model_max_length": 1000000000000000019884624838656, + "pad_token": "", + "padding_side": "right", + "processor_class": "LlavaProcessor", + "tokenizer_class": "LlamaTokenizer", + "unk_token": "", + "use_default_system_prompt": false +} diff --git a/comfy/text_encoders/long_clipl.json b/comfy/text_encoders/long_clipl.json new file mode 100644 index 0000000000000000000000000000000000000000..5e2056ff37ec907462bac7a557e12bb728a15990 --- /dev/null +++ b/comfy/text_encoders/long_clipl.json @@ -0,0 +1,25 @@ +{ + "_name_or_path": "openai/clip-vit-large-patch14", + "architectures": [ + "CLIPTextModel" + ], + "attention_dropout": 0.0, + "bos_token_id": 0, + "dropout": 0.0, + "eos_token_id": 49407, + "hidden_act": "quick_gelu", + "hidden_size": 768, + "initializer_factor": 1.0, + "initializer_range": 0.02, + "intermediate_size": 3072, + "layer_norm_eps": 1e-05, + "max_position_embeddings": 248, + "model_type": "clip_text_model", + "num_attention_heads": 12, + "num_hidden_layers": 12, + "pad_token_id": 1, + "projection_dim": 768, + "torch_dtype": "float32", + "transformers_version": "4.24.0", + "vocab_size": 49408 +} diff --git a/comfy/text_encoders/long_clipl.py b/comfy/text_encoders/long_clipl.py new file mode 100644 index 0000000000000000000000000000000000000000..b81912cb3d38ca9dafccd11a74ef96b97dfa5839 --- /dev/null +++ b/comfy/text_encoders/long_clipl.py @@ -0,0 +1,30 @@ +from comfy import sd1_clip +import os + +class LongClipTokenizer_(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(max_length=248, embedding_directory=embedding_directory, tokenizer_data=tokenizer_data) + +class LongClipModel_(sd1_clip.SDClipModel): + def __init__(self, *args, **kwargs): + textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "long_clipl.json") + super().__init__(*args, textmodel_json_config=textmodel_json_config, **kwargs) + +class LongClipTokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, tokenizer=LongClipTokenizer_) + +class LongClipModel(sd1_clip.SD1ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}, **kwargs): + super().__init__(device=device, dtype=dtype, model_options=model_options, clip_model=LongClipModel_, **kwargs) + +def model_options_long_clip(sd, tokenizer_data, model_options): + w = sd.get("clip_l.text_model.embeddings.position_embedding.weight", None) + if w is None: + w = sd.get("text_model.embeddings.position_embedding.weight", None) + if w is not None and w.shape[0] == 248: + tokenizer_data = tokenizer_data.copy() + model_options = model_options.copy() + tokenizer_data["clip_l_tokenizer_class"] = LongClipTokenizer_ + model_options["clip_l_class"] = LongClipModel_ + return tokenizer_data, model_options diff --git a/comfy/text_encoders/lt.py b/comfy/text_encoders/lt.py new file mode 100644 index 0000000000000000000000000000000000000000..5c2ce583ff15ce44788ef152a75b88a8ac800fee --- /dev/null +++ b/comfy/text_encoders/lt.py @@ -0,0 +1,18 @@ +from comfy import sd1_clip +import os +from transformers import T5TokenizerFast +import comfy.text_encoders.genmo + +class T5XXLTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_tokenizer") + super().__init__(tokenizer_path, embedding_directory=embedding_directory, pad_with_end=False, embedding_size=4096, embedding_key='t5xxl', tokenizer_class=T5TokenizerFast, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=128) #pad to 128? + + +class LTXVT5Tokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="t5xxl", tokenizer=T5XXLTokenizer) + + +def ltxv_te(*args, **kwargs): + return comfy.text_encoders.genmo.mochi_te(*args, **kwargs) diff --git a/comfy/text_encoders/mt5_config_xl.json b/comfy/text_encoders/mt5_config_xl.json new file mode 100644 index 0000000000000000000000000000000000000000..092fefd6e32dac566e443fc03eae53f6a8b57400 --- /dev/null +++ b/comfy/text_encoders/mt5_config_xl.json @@ -0,0 +1,22 @@ +{ + "d_ff": 5120, + "d_kv": 64, + "d_model": 2048, + "decoder_start_token_id": 0, + "dropout_rate": 0.1, + "eos_token_id": 1, + "dense_act_fn": "gelu_pytorch_tanh", + "initializer_factor": 1.0, + "is_encoder_decoder": true, + "is_gated_act": true, + "layer_norm_epsilon": 1e-06, + "model_type": "mt5", + "num_decoder_layers": 24, + "num_heads": 32, + "num_layers": 24, + "output_past": true, + "pad_token_id": 0, + "relative_attention_num_buckets": 32, + "tie_word_embeddings": false, + "vocab_size": 250112 +} diff --git a/comfy/text_encoders/pixart_t5.py b/comfy/text_encoders/pixart_t5.py new file mode 100644 index 0000000000000000000000000000000000000000..d56d57f1bdb37a1f9190fdfacee72bd55802254a --- /dev/null +++ b/comfy/text_encoders/pixart_t5.py @@ -0,0 +1,42 @@ +import os + +from comfy import sd1_clip +import comfy.text_encoders.t5 +import comfy.text_encoders.sd3_clip +from comfy.sd1_clip import gen_empty_tokens + +from transformers import T5TokenizerFast + +class T5XXLModel(comfy.text_encoders.sd3_clip.T5XXLModel): + def __init__(self, **kwargs): + super().__init__(**kwargs) + + def gen_empty_tokens(self, special_tokens, *args, **kwargs): + # PixArt expects the negative to be all pad tokens + special_tokens = special_tokens.copy() + special_tokens.pop("end") + return gen_empty_tokens(special_tokens, *args, **kwargs) + +class PixArtT5XXL(sd1_clip.SD1ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + super().__init__(device=device, dtype=dtype, name="t5xxl", clip_model=T5XXLModel, model_options=model_options) + +class T5XXLTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_tokenizer") + super().__init__(tokenizer_path, embedding_directory=embedding_directory, pad_with_end=False, embedding_size=4096, embedding_key='t5xxl', tokenizer_class=T5TokenizerFast, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=1) # no padding + +class PixArtTokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="t5xxl", tokenizer=T5XXLTokenizer) + +def pixart_te(dtype_t5=None, t5xxl_scaled_fp8=None): + class PixArtTEModel_(PixArtT5XXL): + def __init__(self, device="cpu", dtype=None, model_options={}): + if t5xxl_scaled_fp8 is not None and "t5xxl_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["t5xxl_scaled_fp8"] = t5xxl_scaled_fp8 + if dtype is None: + dtype = dtype_t5 + super().__init__(device=device, dtype=dtype, model_options=model_options) + return PixArtTEModel_ diff --git a/comfy/text_encoders/sa_t5.py b/comfy/text_encoders/sa_t5.py new file mode 100644 index 0000000000000000000000000000000000000000..7778ce47ad98ed7baabda3ce29dca76e25c6880f --- /dev/null +++ b/comfy/text_encoders/sa_t5.py @@ -0,0 +1,22 @@ +from comfy import sd1_clip +from transformers import T5TokenizerFast +import comfy.text_encoders.t5 +import os + +class T5BaseModel(sd1_clip.SDClipModel): + def __init__(self, device="cpu", layer="last", layer_idx=None, dtype=None, model_options={}): + textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_config_base.json") + super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, model_options=model_options, special_tokens={"end": 1, "pad": 0}, model_class=comfy.text_encoders.t5.T5, enable_attention_masks=True, zero_out_masked=True) + +class T5BaseTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_tokenizer") + super().__init__(tokenizer_path, pad_with_end=False, embedding_size=768, embedding_key='t5base', tokenizer_class=T5TokenizerFast, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=128) + +class SAT5Tokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="t5base", tokenizer=T5BaseTokenizer) + +class SAT5Model(sd1_clip.SD1ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}, **kwargs): + super().__init__(device=device, dtype=dtype, model_options=model_options, name="t5base", clip_model=T5BaseModel, **kwargs) diff --git a/comfy/text_encoders/sd2_clip.py b/comfy/text_encoders/sd2_clip.py new file mode 100644 index 0000000000000000000000000000000000000000..31fc89869e6e134b6de260d30443654a6cc4ac83 --- /dev/null +++ b/comfy/text_encoders/sd2_clip.py @@ -0,0 +1,23 @@ +from comfy import sd1_clip +import os + +class SD2ClipHModel(sd1_clip.SDClipModel): + def __init__(self, arch="ViT-H-14", device="cpu", max_length=77, freeze=True, layer="penultimate", layer_idx=None, dtype=None, model_options={}): + if layer == "penultimate": + layer="hidden" + layer_idx=-2 + + textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "sd2_clip_config.json") + super().__init__(device=device, freeze=freeze, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, special_tokens={"start": 49406, "end": 49407, "pad": 0}, return_projected_pooled=True, model_options=model_options) + +class SD2ClipHTokenizer(sd1_clip.SDTokenizer): + def __init__(self, tokenizer_path=None, embedding_directory=None, tokenizer_data={}): + super().__init__(tokenizer_path, pad_with_end=False, embedding_directory=embedding_directory, embedding_size=1024) + +class SD2Tokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="h", tokenizer=SD2ClipHTokenizer) + +class SD2ClipModel(sd1_clip.SD1ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}, **kwargs): + super().__init__(device=device, dtype=dtype, model_options=model_options, clip_name="h", clip_model=SD2ClipHModel, **kwargs) diff --git a/comfy/text_encoders/sd2_clip_config.json b/comfy/text_encoders/sd2_clip_config.json new file mode 100644 index 0000000000000000000000000000000000000000..00893cfdc9b00f8eb7cf5aaa9c343e7fcd298d82 --- /dev/null +++ b/comfy/text_encoders/sd2_clip_config.json @@ -0,0 +1,23 @@ +{ + "architectures": [ + "CLIPTextModel" + ], + "attention_dropout": 0.0, + "bos_token_id": 0, + "dropout": 0.0, + "eos_token_id": 49407, + "hidden_act": "gelu", + "hidden_size": 1024, + "initializer_factor": 1.0, + "initializer_range": 0.02, + "intermediate_size": 4096, + "layer_norm_eps": 1e-05, + "max_position_embeddings": 77, + "model_type": "clip_text_model", + "num_attention_heads": 16, + "num_hidden_layers": 24, + "pad_token_id": 1, + "projection_dim": 1024, + "torch_dtype": "float32", + "vocab_size": 49408 +} diff --git a/comfy/text_encoders/sd3_clip.py b/comfy/text_encoders/sd3_clip.py new file mode 100644 index 0000000000000000000000000000000000000000..00d7e31ad32d495169e6bf3a7d511714326ca04a --- /dev/null +++ b/comfy/text_encoders/sd3_clip.py @@ -0,0 +1,167 @@ +from comfy import sd1_clip +from comfy import sdxl_clip +from transformers import T5TokenizerFast +import comfy.text_encoders.t5 +import torch +import os +import comfy.model_management +import logging + +class T5XXLModel(sd1_clip.SDClipModel): + def __init__(self, device="cpu", layer="last", layer_idx=None, dtype=None, attention_mask=False, model_options={}): + textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_config_xxl.json") + t5xxl_scaled_fp8 = model_options.get("t5xxl_scaled_fp8", None) + if t5xxl_scaled_fp8 is not None: + model_options = model_options.copy() + model_options["scaled_fp8"] = t5xxl_scaled_fp8 + + super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, special_tokens={"end": 1, "pad": 0}, model_class=comfy.text_encoders.t5.T5, enable_attention_masks=attention_mask, return_attention_masks=attention_mask, model_options=model_options) + + +def t5_xxl_detect(state_dict, prefix=""): + out = {} + t5_key = "{}encoder.final_layer_norm.weight".format(prefix) + if t5_key in state_dict: + out["dtype_t5"] = state_dict[t5_key].dtype + + scaled_fp8_key = "{}scaled_fp8".format(prefix) + if scaled_fp8_key in state_dict: + out["t5xxl_scaled_fp8"] = state_dict[scaled_fp8_key].dtype + + return out + +class T5XXLTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_tokenizer") + super().__init__(tokenizer_path, embedding_directory=embedding_directory, pad_with_end=False, embedding_size=4096, embedding_key='t5xxl', tokenizer_class=T5TokenizerFast, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=77) + + +class SD3Tokenizer: + def __init__(self, embedding_directory=None, tokenizer_data={}): + clip_l_tokenizer_class = tokenizer_data.get("clip_l_tokenizer_class", sd1_clip.SDTokenizer) + self.clip_l = clip_l_tokenizer_class(embedding_directory=embedding_directory) + self.clip_g = sdxl_clip.SDXLClipGTokenizer(embedding_directory=embedding_directory) + self.t5xxl = T5XXLTokenizer(embedding_directory=embedding_directory) + + def tokenize_with_weights(self, text:str, return_word_ids=False): + out = {} + out["g"] = self.clip_g.tokenize_with_weights(text, return_word_ids) + out["l"] = self.clip_l.tokenize_with_weights(text, return_word_ids) + out["t5xxl"] = self.t5xxl.tokenize_with_weights(text, return_word_ids) + return out + + def untokenize(self, token_weight_pair): + return self.clip_g.untokenize(token_weight_pair) + + def state_dict(self): + return {} + +class SD3ClipModel(torch.nn.Module): + def __init__(self, clip_l=True, clip_g=True, t5=True, dtype_t5=None, t5_attention_mask=False, device="cpu", dtype=None, model_options={}): + super().__init__() + self.dtypes = set() + if clip_l: + clip_l_class = model_options.get("clip_l_class", sd1_clip.SDClipModel) + self.clip_l = clip_l_class(layer="hidden", layer_idx=-2, device=device, dtype=dtype, layer_norm_hidden_state=False, return_projected_pooled=False, model_options=model_options) + self.dtypes.add(dtype) + else: + self.clip_l = None + + if clip_g: + self.clip_g = sdxl_clip.SDXLClipG(device=device, dtype=dtype, model_options=model_options) + self.dtypes.add(dtype) + else: + self.clip_g = None + + if t5: + dtype_t5 = comfy.model_management.pick_weight_dtype(dtype_t5, dtype, device) + self.t5_attention_mask = t5_attention_mask + self.t5xxl = T5XXLModel(device=device, dtype=dtype_t5, model_options=model_options, attention_mask=self.t5_attention_mask) + self.dtypes.add(dtype_t5) + else: + self.t5xxl = None + + logging.debug("Created SD3 text encoder with: clip_l {}, clip_g {}, t5xxl {}:{}".format(clip_l, clip_g, t5, dtype_t5)) + + def set_clip_options(self, options): + if self.clip_l is not None: + self.clip_l.set_clip_options(options) + if self.clip_g is not None: + self.clip_g.set_clip_options(options) + if self.t5xxl is not None: + self.t5xxl.set_clip_options(options) + + def reset_clip_options(self): + if self.clip_l is not None: + self.clip_l.reset_clip_options() + if self.clip_g is not None: + self.clip_g.reset_clip_options() + if self.t5xxl is not None: + self.t5xxl.reset_clip_options() + + def encode_token_weights(self, token_weight_pairs): + token_weight_pairs_l = token_weight_pairs["l"] + token_weight_pairs_g = token_weight_pairs["g"] + token_weight_pairs_t5 = token_weight_pairs["t5xxl"] + lg_out = None + pooled = None + out = None + extra = {} + + if len(token_weight_pairs_g) > 0 or len(token_weight_pairs_l) > 0: + if self.clip_l is not None: + lg_out, l_pooled = self.clip_l.encode_token_weights(token_weight_pairs_l) + else: + l_pooled = torch.zeros((1, 768), device=comfy.model_management.intermediate_device()) + + if self.clip_g is not None: + g_out, g_pooled = self.clip_g.encode_token_weights(token_weight_pairs_g) + if lg_out is not None: + cut_to = min(lg_out.shape[1], g_out.shape[1]) + lg_out = torch.cat([lg_out[:,:cut_to], g_out[:,:cut_to]], dim=-1) + else: + lg_out = torch.nn.functional.pad(g_out, (768, 0)) + else: + g_out = None + g_pooled = torch.zeros((1, 1280), device=comfy.model_management.intermediate_device()) + + if lg_out is not None: + lg_out = torch.nn.functional.pad(lg_out, (0, 4096 - lg_out.shape[-1])) + out = lg_out + pooled = torch.cat((l_pooled, g_pooled), dim=-1) + + if self.t5xxl is not None: + t5_output = self.t5xxl.encode_token_weights(token_weight_pairs_t5) + t5_out, t5_pooled = t5_output[:2] + if self.t5_attention_mask: + extra["attention_mask"] = t5_output[2]["attention_mask"] + + if lg_out is not None: + out = torch.cat([lg_out, t5_out], dim=-2) + else: + out = t5_out + + if out is None: + out = torch.zeros((1, 77, 4096), device=comfy.model_management.intermediate_device()) + + if pooled is None: + pooled = torch.zeros((1, 768 + 1280), device=comfy.model_management.intermediate_device()) + + return out, pooled, extra + + def load_sd(self, sd): + if "text_model.encoder.layers.30.mlp.fc1.weight" in sd: + return self.clip_g.load_sd(sd) + elif "text_model.encoder.layers.1.mlp.fc1.weight" in sd: + return self.clip_l.load_sd(sd) + else: + return self.t5xxl.load_sd(sd) + +def sd3_clip(clip_l=True, clip_g=True, t5=True, dtype_t5=None, t5xxl_scaled_fp8=None, t5_attention_mask=False): + class SD3ClipModel_(SD3ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + if t5xxl_scaled_fp8 is not None and "t5xxl_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["t5xxl_scaled_fp8"] = t5xxl_scaled_fp8 + super().__init__(clip_l=clip_l, clip_g=clip_g, t5=t5, dtype_t5=dtype_t5, t5_attention_mask=t5_attention_mask, device=device, dtype=dtype, model_options=model_options) + return SD3ClipModel_ diff --git a/comfy/text_encoders/spiece_tokenizer.py b/comfy/text_encoders/spiece_tokenizer.py new file mode 100644 index 0000000000000000000000000000000000000000..cbaa99ba5b58a24a97f0257e837a30c4c7ee25cc --- /dev/null +++ b/comfy/text_encoders/spiece_tokenizer.py @@ -0,0 +1,31 @@ +import torch + +class SPieceTokenizer: + add_eos = True + + @staticmethod + def from_pretrained(path): + return SPieceTokenizer(path) + + def __init__(self, tokenizer_path): + import sentencepiece + if torch.is_tensor(tokenizer_path): + tokenizer_path = tokenizer_path.numpy().tobytes() + + if isinstance(tokenizer_path, bytes): + self.tokenizer = sentencepiece.SentencePieceProcessor(model_proto=tokenizer_path, add_eos=self.add_eos) + else: + self.tokenizer = sentencepiece.SentencePieceProcessor(model_file=tokenizer_path, add_eos=self.add_eos) + + def get_vocab(self): + out = {} + for i in range(self.tokenizer.get_piece_size()): + out[self.tokenizer.id_to_piece(i)] = i + return out + + def __call__(self, string): + out = self.tokenizer.encode(string) + return {"input_ids": out} + + def serialize_model(self): + return torch.ByteTensor(list(self.tokenizer.serialized_model_proto())) diff --git a/comfy/text_encoders/t5.py b/comfy/text_encoders/t5.py new file mode 100644 index 0000000000000000000000000000000000000000..7405528e2f37f7d0946d0331327efb6759e1624e --- /dev/null +++ b/comfy/text_encoders/t5.py @@ -0,0 +1,246 @@ +import torch +import math +from comfy.ldm.modules.attention import optimized_attention_for_device +import comfy.ops + +class T5LayerNorm(torch.nn.Module): + def __init__(self, hidden_size, eps=1e-6, dtype=None, device=None, operations=None): + super().__init__() + self.weight = torch.nn.Parameter(torch.empty(hidden_size, dtype=dtype, device=device)) + self.variance_epsilon = eps + + def forward(self, x): + variance = x.pow(2).mean(-1, keepdim=True) + x = x * torch.rsqrt(variance + self.variance_epsilon) + return comfy.ops.cast_to_input(self.weight, x) * x + +activations = { + "gelu_pytorch_tanh": lambda a: torch.nn.functional.gelu(a, approximate="tanh"), + "relu": torch.nn.functional.relu, +} + +class T5DenseActDense(torch.nn.Module): + def __init__(self, model_dim, ff_dim, ff_activation, dtype, device, operations): + super().__init__() + self.wi = operations.Linear(model_dim, ff_dim, bias=False, dtype=dtype, device=device) + self.wo = operations.Linear(ff_dim, model_dim, bias=False, dtype=dtype, device=device) + # self.dropout = nn.Dropout(config.dropout_rate) + self.act = activations[ff_activation] + + def forward(self, x): + x = self.act(self.wi(x)) + # x = self.dropout(x) + x = self.wo(x) + return x + +class T5DenseGatedActDense(torch.nn.Module): + def __init__(self, model_dim, ff_dim, ff_activation, dtype, device, operations): + super().__init__() + self.wi_0 = operations.Linear(model_dim, ff_dim, bias=False, dtype=dtype, device=device) + self.wi_1 = operations.Linear(model_dim, ff_dim, bias=False, dtype=dtype, device=device) + self.wo = operations.Linear(ff_dim, model_dim, bias=False, dtype=dtype, device=device) + # self.dropout = nn.Dropout(config.dropout_rate) + self.act = activations[ff_activation] + + def forward(self, x): + hidden_gelu = self.act(self.wi_0(x)) + hidden_linear = self.wi_1(x) + x = hidden_gelu * hidden_linear + # x = self.dropout(x) + x = self.wo(x) + return x + +class T5LayerFF(torch.nn.Module): + def __init__(self, model_dim, ff_dim, ff_activation, gated_act, dtype, device, operations): + super().__init__() + if gated_act: + self.DenseReluDense = T5DenseGatedActDense(model_dim, ff_dim, ff_activation, dtype, device, operations) + else: + self.DenseReluDense = T5DenseActDense(model_dim, ff_dim, ff_activation, dtype, device, operations) + + self.layer_norm = T5LayerNorm(model_dim, dtype=dtype, device=device, operations=operations) + # self.dropout = nn.Dropout(config.dropout_rate) + + def forward(self, x): + forwarded_states = self.layer_norm(x) + forwarded_states = self.DenseReluDense(forwarded_states) + # x = x + self.dropout(forwarded_states) + x += forwarded_states + return x + +class T5Attention(torch.nn.Module): + def __init__(self, model_dim, inner_dim, num_heads, relative_attention_bias, dtype, device, operations): + super().__init__() + + # Mesh TensorFlow initialization to avoid scaling before softmax + self.q = operations.Linear(model_dim, inner_dim, bias=False, dtype=dtype, device=device) + self.k = operations.Linear(model_dim, inner_dim, bias=False, dtype=dtype, device=device) + self.v = operations.Linear(model_dim, inner_dim, bias=False, dtype=dtype, device=device) + self.o = operations.Linear(inner_dim, model_dim, bias=False, dtype=dtype, device=device) + self.num_heads = num_heads + + self.relative_attention_bias = None + if relative_attention_bias: + self.relative_attention_num_buckets = 32 + self.relative_attention_max_distance = 128 + self.relative_attention_bias = operations.Embedding(self.relative_attention_num_buckets, self.num_heads, device=device, dtype=dtype) + + @staticmethod + def _relative_position_bucket(relative_position, bidirectional=True, num_buckets=32, max_distance=128): + """ + Adapted from Mesh Tensorflow: + https://github.com/tensorflow/mesh/blob/0cb87fe07da627bf0b7e60475d59f95ed6b5be3d/mesh_tensorflow/transformer/transformer_layers.py#L593 + + Translate relative position to a bucket number for relative attention. The relative position is defined as + memory_position - query_position, i.e. the distance in tokens from the attending position to the attended-to + position. If bidirectional=False, then positive relative positions are invalid. We use smaller buckets for + small absolute relative_position and larger buckets for larger absolute relative_positions. All relative + positions >=max_distance map to the same bucket. All relative positions <=-max_distance map to the same bucket. + This should allow for more graceful generalization to longer sequences than the model has been trained on + + Args: + relative_position: an int32 Tensor + bidirectional: a boolean - whether the attention is bidirectional + num_buckets: an integer + max_distance: an integer + + Returns: + a Tensor with the same shape as relative_position, containing int32 values in the range [0, num_buckets) + """ + relative_buckets = 0 + if bidirectional: + num_buckets //= 2 + relative_buckets += (relative_position > 0).to(torch.long) * num_buckets + relative_position = torch.abs(relative_position) + else: + relative_position = -torch.min(relative_position, torch.zeros_like(relative_position)) + # now relative_position is in the range [0, inf) + + # half of the buckets are for exact increments in positions + max_exact = num_buckets // 2 + is_small = relative_position < max_exact + + # The other half of the buckets are for logarithmically bigger bins in positions up to max_distance + relative_position_if_large = max_exact + ( + torch.log(relative_position.float() / max_exact) + / math.log(max_distance / max_exact) + * (num_buckets - max_exact) + ).to(torch.long) + relative_position_if_large = torch.min( + relative_position_if_large, torch.full_like(relative_position_if_large, num_buckets - 1) + ) + + relative_buckets += torch.where(is_small, relative_position, relative_position_if_large) + return relative_buckets + + def compute_bias(self, query_length, key_length, device, dtype): + """Compute binned relative position bias""" + context_position = torch.arange(query_length, dtype=torch.long, device=device)[:, None] + memory_position = torch.arange(key_length, dtype=torch.long, device=device)[None, :] + relative_position = memory_position - context_position # shape (query_length, key_length) + relative_position_bucket = self._relative_position_bucket( + relative_position, # shape (query_length, key_length) + bidirectional=True, + num_buckets=self.relative_attention_num_buckets, + max_distance=self.relative_attention_max_distance, + ) + values = self.relative_attention_bias(relative_position_bucket, out_dtype=dtype) # shape (query_length, key_length, num_heads) + values = values.permute([2, 0, 1]).unsqueeze(0) # shape (1, num_heads, query_length, key_length) + return values + + def forward(self, x, mask=None, past_bias=None, optimized_attention=None): + q = self.q(x) + k = self.k(x) + v = self.v(x) + if self.relative_attention_bias is not None: + past_bias = self.compute_bias(x.shape[1], x.shape[1], x.device, x.dtype) + + if past_bias is not None: + if mask is not None: + mask = mask + past_bias + else: + mask = past_bias + + out = optimized_attention(q, k * ((k.shape[-1] / self.num_heads) ** 0.5), v, self.num_heads, mask) + return self.o(out), past_bias + +class T5LayerSelfAttention(torch.nn.Module): + def __init__(self, model_dim, inner_dim, ff_dim, num_heads, relative_attention_bias, dtype, device, operations): + super().__init__() + self.SelfAttention = T5Attention(model_dim, inner_dim, num_heads, relative_attention_bias, dtype, device, operations) + self.layer_norm = T5LayerNorm(model_dim, dtype=dtype, device=device, operations=operations) + # self.dropout = nn.Dropout(config.dropout_rate) + + def forward(self, x, mask=None, past_bias=None, optimized_attention=None): + output, past_bias = self.SelfAttention(self.layer_norm(x), mask=mask, past_bias=past_bias, optimized_attention=optimized_attention) + # x = x + self.dropout(attention_output) + x += output + return x, past_bias + +class T5Block(torch.nn.Module): + def __init__(self, model_dim, inner_dim, ff_dim, ff_activation, gated_act, num_heads, relative_attention_bias, dtype, device, operations): + super().__init__() + self.layer = torch.nn.ModuleList() + self.layer.append(T5LayerSelfAttention(model_dim, inner_dim, ff_dim, num_heads, relative_attention_bias, dtype, device, operations)) + self.layer.append(T5LayerFF(model_dim, ff_dim, ff_activation, gated_act, dtype, device, operations)) + + def forward(self, x, mask=None, past_bias=None, optimized_attention=None): + x, past_bias = self.layer[0](x, mask, past_bias, optimized_attention) + x = self.layer[-1](x) + return x, past_bias + +class T5Stack(torch.nn.Module): + def __init__(self, num_layers, model_dim, inner_dim, ff_dim, ff_activation, gated_act, num_heads, relative_attention, dtype, device, operations): + super().__init__() + + self.block = torch.nn.ModuleList( + [T5Block(model_dim, inner_dim, ff_dim, ff_activation, gated_act, num_heads, relative_attention_bias=((not relative_attention) or (i == 0)), dtype=dtype, device=device, operations=operations) for i in range(num_layers)] + ) + self.final_layer_norm = T5LayerNorm(model_dim, dtype=dtype, device=device, operations=operations) + # self.dropout = nn.Dropout(config.dropout_rate) + + def forward(self, x, attention_mask=None, intermediate_output=None, final_layer_norm_intermediate=True, dtype=None): + mask = None + if attention_mask is not None: + mask = 1.0 - attention_mask.to(x.dtype).reshape((attention_mask.shape[0], 1, -1, attention_mask.shape[-1])).expand(attention_mask.shape[0], 1, attention_mask.shape[-1], attention_mask.shape[-1]) + mask = mask.masked_fill(mask.to(torch.bool), float("-inf")) + + intermediate = None + optimized_attention = optimized_attention_for_device(x.device, mask=attention_mask is not None, small_input=True) + past_bias = None + + if intermediate_output is not None: + if intermediate_output < 0: + intermediate_output = len(self.block) + intermediate_output + + for i, l in enumerate(self.block): + x, past_bias = l(x, mask, past_bias, optimized_attention) + if i == intermediate_output: + intermediate = x.clone() + x = self.final_layer_norm(x) + if intermediate is not None and final_layer_norm_intermediate: + intermediate = self.final_layer_norm(intermediate) + return x, intermediate + +class T5(torch.nn.Module): + def __init__(self, config_dict, dtype, device, operations): + super().__init__() + self.num_layers = config_dict["num_layers"] + model_dim = config_dict["d_model"] + inner_dim = config_dict["d_kv"] * config_dict["num_heads"] + + self.encoder = T5Stack(self.num_layers, model_dim, inner_dim, config_dict["d_ff"], config_dict["dense_act_fn"], config_dict["is_gated_act"], config_dict["num_heads"], config_dict["model_type"] != "umt5", dtype, device, operations) + self.dtype = dtype + self.shared = operations.Embedding(config_dict["vocab_size"], model_dim, device=device, dtype=dtype) + + def get_input_embeddings(self): + return self.shared + + def set_input_embeddings(self, embeddings): + self.shared = embeddings + + def forward(self, input_ids, *args, **kwargs): + x = self.shared(input_ids, out_dtype=kwargs.get("dtype", torch.float32)) + if self.dtype not in [torch.float32, torch.float16, torch.bfloat16]: + x = torch.nan_to_num(x) #Fix for fp8 T5 base + return self.encoder(x, *args, **kwargs) diff --git a/comfy/text_encoders/t5_config_base.json b/comfy/text_encoders/t5_config_base.json new file mode 100644 index 0000000000000000000000000000000000000000..71f68327c27280ce150d0c8e92fd61eca0b52a63 --- /dev/null +++ b/comfy/text_encoders/t5_config_base.json @@ -0,0 +1,22 @@ +{ + "d_ff": 3072, + "d_kv": 64, + "d_model": 768, + "decoder_start_token_id": 0, + "dropout_rate": 0.1, + "eos_token_id": 1, + "dense_act_fn": "relu", + "initializer_factor": 1.0, + "is_encoder_decoder": true, + "is_gated_act": false, + "layer_norm_epsilon": 1e-06, + "model_type": "t5", + "num_decoder_layers": 12, + "num_heads": 12, + "num_layers": 12, + "output_past": true, + "pad_token_id": 0, + "relative_attention_num_buckets": 32, + "tie_word_embeddings": false, + "vocab_size": 32128 +} diff --git a/comfy/text_encoders/t5_config_xxl.json b/comfy/text_encoders/t5_config_xxl.json new file mode 100644 index 0000000000000000000000000000000000000000..28283b51a11bed6a874499f82d411c16cc646eb1 --- /dev/null +++ b/comfy/text_encoders/t5_config_xxl.json @@ -0,0 +1,22 @@ +{ + "d_ff": 10240, + "d_kv": 64, + "d_model": 4096, + "decoder_start_token_id": 0, + "dropout_rate": 0.1, + "eos_token_id": 1, + "dense_act_fn": "gelu_pytorch_tanh", + "initializer_factor": 1.0, + "is_encoder_decoder": true, + "is_gated_act": true, + "layer_norm_epsilon": 1e-06, + "model_type": "t5", + "num_decoder_layers": 24, + "num_heads": 64, + "num_layers": 24, + "output_past": true, + "pad_token_id": 0, + "relative_attention_num_buckets": 32, + "tie_word_embeddings": false, + "vocab_size": 32128 +} diff --git a/comfy/text_encoders/t5_old_config_xxl.json b/comfy/text_encoders/t5_old_config_xxl.json new file mode 100644 index 0000000000000000000000000000000000000000..c9fdd7782197ca0523ee82133e9b417fa947a5c5 --- /dev/null +++ b/comfy/text_encoders/t5_old_config_xxl.json @@ -0,0 +1,22 @@ +{ + "d_ff": 65536, + "d_kv": 128, + "d_model": 1024, + "decoder_start_token_id": 0, + "dropout_rate": 0.1, + "eos_token_id": 1, + "dense_act_fn": "relu", + "initializer_factor": 1.0, + "is_encoder_decoder": true, + "is_gated_act": false, + "layer_norm_epsilon": 1e-06, + "model_type": "t5", + "num_decoder_layers": 24, + "num_heads": 128, + "num_layers": 24, + "output_past": true, + "pad_token_id": 0, + "relative_attention_num_buckets": 32, + "tie_word_embeddings": false, + "vocab_size": 32128 +} diff --git a/comfy/text_encoders/t5_pile_config_xl.json b/comfy/text_encoders/t5_pile_config_xl.json new file mode 100644 index 0000000000000000000000000000000000000000..ee4e03f97a5b3a9927fc676816f210a364ee234b --- /dev/null +++ b/comfy/text_encoders/t5_pile_config_xl.json @@ -0,0 +1,22 @@ +{ + "d_ff": 5120, + "d_kv": 64, + "d_model": 2048, + "decoder_start_token_id": 0, + "dropout_rate": 0.1, + "eos_token_id": 2, + "dense_act_fn": "gelu_pytorch_tanh", + "initializer_factor": 1.0, + "is_encoder_decoder": true, + "is_gated_act": true, + "layer_norm_epsilon": 1e-06, + "model_type": "umt5", + "num_decoder_layers": 24, + "num_heads": 32, + "num_layers": 24, + "output_past": true, + "pad_token_id": 1, + "relative_attention_num_buckets": 32, + "tie_word_embeddings": false, + "vocab_size": 32128 +} diff --git a/comfy/text_encoders/t5_pile_tokenizer/tokenizer.model b/comfy/text_encoders/t5_pile_tokenizer/tokenizer.model new file mode 100644 index 0000000000000000000000000000000000000000..6c00c742ce03c627d6cd5b795984876fa49fa899 --- /dev/null +++ b/comfy/text_encoders/t5_pile_tokenizer/tokenizer.model @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e556afd44213b6bd1be2b850ebbbd98f5481437a8021afaf58ee7fb1818d347 +size 499723 diff --git a/comfy/text_encoders/t5_tokenizer/special_tokens_map.json b/comfy/text_encoders/t5_tokenizer/special_tokens_map.json new file mode 100644 index 0000000000000000000000000000000000000000..17ade346a1042cbe0c1436f5bedcbd85c099d582 --- /dev/null +++ b/comfy/text_encoders/t5_tokenizer/special_tokens_map.json @@ -0,0 +1,125 @@ +{ + "additional_special_tokens": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "eos_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "unk_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + } +} diff --git a/comfy/text_encoders/t5_tokenizer/tokenizer.json b/comfy/text_encoders/t5_tokenizer/tokenizer.json new file mode 100644 index 0000000000000000000000000000000000000000..b11c92d7184d265f0dc857ec5d676aa81aa16262 --- /dev/null +++ b/comfy/text_encoders/t5_tokenizer/tokenizer.json @@ -0,0 +1,129428 @@ +{ + "version": "1.0", + "truncation": null, + "padding": null, + "added_tokens": [ + { + "id": 0, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 1, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 2, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32000, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32001, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32002, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32003, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32004, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32005, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32006, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32007, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32008, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32009, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32010, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32011, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32012, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32013, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32014, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32015, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32016, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32017, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32018, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32019, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32020, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32021, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32022, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32023, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32024, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32025, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32026, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32027, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32028, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32029, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32030, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32031, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32032, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32033, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32034, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32035, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32036, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32037, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32038, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32039, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32040, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32041, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32042, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32043, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32044, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32045, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32046, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32047, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32048, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32049, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32050, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32051, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32052, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32053, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32054, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32055, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32056, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32057, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32058, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32059, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32060, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32061, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32062, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32063, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32064, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32065, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32066, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32067, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32068, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32069, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32070, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32071, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32072, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32073, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32074, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32075, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32076, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32077, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32078, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32079, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32080, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32081, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32082, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32083, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32084, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32085, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32086, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32087, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32088, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32089, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32090, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32091, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32092, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32093, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32094, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32095, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32096, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32097, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32098, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32099, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + } + ], + "normalizer": { + "type": "Sequence", + "normalizers": [ + { + "type": "Precompiled", + "precompiled_charsmap": "ALQCAACEAAAAAACAAQAAgMz8AgC4BQAAhyIAgMzkAgC4PQAAeyIAgMzsAgC4BQAAiyIAgMw8AADNvAAAmwkAgJ4JAIChCQCAgx0AAIAZAACBGQAAPR0AgDUdAIBNHQCARR0AgIAxAACBMQAApAkAgIkxAAA9WAMAPEgDAEAKAIA+aAMAAYUAAIQBAQADjQAAAokAAAWVAAAEkQAAB50AAAaZAAAJqQAACKEAAAutAAAKpQAADbkAAAy9AAAPvQAADrkAABHFAAAQwQAAE80AABLJAAAV1QAAFNEAABfdAAAW2QAAGeUAABjhAAAb7QAAGukAAB31AAAc8QAAH/0AAB75AABhOAkAZR0AgGNADgBi8AgAZSgPAGSADgBn2A8AZvAPAGlwDABoMAwAa/AMAGrYDABtSA0AbBwNAG8QEgBubA0ARgoAgHAMEwBzqBMAcuwTAHUoEAB0TBAAd9ARAHYUEAB50BYAePQQAF0dAIB69BYAdR0AgG0dAIB/fQEAhgwAgEGAAgDeCwCAQxgAAELAAABFSAAARGAAAEeQBgBGhAEASSgGAEhsAQBLOAcASvAHAE1wBwBMRAcAT/AEAE7MBACnCQCAUCwFAFOgCgBSEAUAVQAKAFRQCgBX0AgAVhALAFlICABYuAgAhBEAAFo8CACA9QAAgZ0AANgLAIAtHQCAg2kCAIJFAgCBNQIAgDUCAIdtAwCGVQMAgTkAAIRlAgAXDACAigEEAInVAwCI7QMAjwkAAKgLAIApDACAjAkAAC8MAICJMQMAkQkAAMzYAABVHQCAfR0AgL0aAIBMCgCAgGUDAIENAwCGPQAAgx0DAMwQAgDNhAEAgikAAMx0AwCjgQYAxRoAgICxAgCBsQIAzRoAgIEpAAClwQAA1RoAgMzoAwDNYAIAUgoAgKjxAABYCgCAXgoAgGQKAIDdGgCAgWkAAMzcBACCEQEA5RoAgGoKAIDtGgCA/RoAgAUbAID1GgCAswkAgMygBADN3AQAzAgBALYJAIClHQCAhhEBAOEAKwDgfCcA44hIAuIMOAKdHQCAh5EBALUdAICtHQCAgNkBAIE1AADMxAIA6kRkApUdAIANGwCA72hkAoERBwCC8QEA8NCLAolVAACB5QEAFRsAgIfhAQCAbQAAgQ0AAIN5AAB2CgCAgXkAAICVAQDMOAEAzRQBAIzBAQB8CgCAvAkAgKMVAQDDlBcAwpwUAMWEFwDEUBcAx+wXAMaAEgCNHQCAiAoAgMvQFgDK4BYAzRQWADUMAIDPvCAAzpwZANHMJADQ2CUA0+gkALFRAQA7DACAp90HAL0dAIDWvCQA2cgnANjUIgDb+CcALRsAgIftBwCCCgCAzPgEAB0bAIAlHQCAh8kGALAJAICR3QcAuQkAgCUbAIBwCgCANRsAgIUdAICMDACAjPkGAAsMAICA1QYAgcEGAMzEAgDNBAUAglEAAIN1BwCArQYAgbkGAIY1BwCHKQcAhEEAAI4KAICn7QAAPRsAgIjpBwCJzQcAlAoAgI/BBwCM3QcAmgoAgOoLAICnXQYAsJ0AAKAKAICmCgCAo0EGAEUbAIBVGwCAfQwAgE0bAIBdGwCArXEGAGUbAIC/CQCAzPgDAM0sAwDCCQCAo+UAAMUJAICMTQAAsgoAgKfxAAC4CgCAsT0GAIedAACGlQAAqB0HAISJAAC+CgCAgqkAAIHVAACtAQcAygoAgJE9AACCmQEAyAkAgM0MBQDMCAUAgT0AAIeFAQCIvQEAdRsAgMUdAICuCwCAjJEBAEEMAIBHDACAzR0AgID1AQCBhQEAgoEBAIOdAQCEiQEAxAoAgIapAQCHXQAAiG0AAIlNAABtGwCAzBACAIxdAACCDQAA0AoAgI9JAACw6QAAfRsAgPALAICjKQEAgCUBAIFVAQCFGwCApzUBAMykAQDNEAIA1goAgI0bAICBNQAA3AoAgK4JAQDoCgCAzOgBAM0oAgCVGwCAo/EAAIQFAACdGwCA4goAgK0bAICotQAApRsAgIFdAAC1GwCAzPwBAM3AAQC9GwCAxRsAgIGFAwARDACAgeUDAO4KAICH6QMAywkAgIylAwDNGwCA+goAgKoJAIDVGwCAgZkDAIHdAwCMvQMAzSQBAMwgAQDMEAIAzTACAIH5AACHUQAAgFUAAIFZAAD0CgCAg0kAAIxBAADlGwCA3RsAgM4JAICBfQAAgHEAAMwgAwDNsAMAo30DANEJAICjEQMA7R0AgIEtAQCx/QAApzEDAK1BAwDlHQCAo20DAP0dAID1HQCA7RsAgKdtAwCANQAAgR0AALFtAwCILQAAmAwAgKeVAACBcQAAgFkAAINxAACj9QAAgVEAAK2BAAD1GwCAsQkDAIldAACEPQAAzDgBAISdAQCBGQAAgAkAAIRlAAD9GwCAzNAHAMzwBwAFHACAkYkAAMxMBgDNBAYAzHAGAM10BgDMQAcAmy0PAMyoBwDNrAcAhg0AAIdVDwCEQQ8ACQsAgIIBDACDVQ8AgDUBAIHZAQCkDACAj+kAAIztAACSDACA3R0AgIv1AACIbQ8AiQ0AAA8LAIC0CwCAgiUAAE0MAICBQQAAUwwAgBUeAIANHgCAJR4AgB0eAIAtHgCABR4AgIApAACBKQAA/AsAgA0cAICEeQAAFRwAgIFNAQCAoQEAGAsAgKP9DwDMOAIAzUgDAB0cAICBWQAAzXwCAMykDQAkCwCAWQwAgKjJDwCHOQAA1wkAgImhDwADCwCAkREAAJ4MAIDaCQCAmQsAgF8MAICAuQ8AgbkPANUdAICDjQ8A9gsAgCUcAICEBQAALRwAgB4LAIA1HACAKgsAgIGdDwCHIQAAh7UPAMyoAgDN6AIAzLQMAM3cDACmzQAAp8UAAE0cAICPgQ8AjIkPAKPlAAAwCwCAPRwAgDwLAICxyQAAhwUAAFUcAIBFHACAhz0AAF0cAIBxDACANgsAgKMFDwCB+QAAzKgDAGUcAIBICwCAjEkAAKPxAABtHACAdwwAgEILAICnlQAAfRwAgHUcAIDMrAMAzcgAAN0JAICHaQAA4AkAgIG9AACCeQAA4wkAgIe5AQBOCwCAkaUAAIEdAACdHACAVAsAgIgFAAClHACAm5EAAFoLAIDmCQCAjJEBANILAIDGCwCAwAsAgMwLAICDRQAAgrkBAIG5AQCApQEAPR4AgIZxAABgCwCAhEkAAIsVAACKPQAAiTkAAIhFAACP+QAAZgsAgLoLAICMBQAAp1EBAKZJAQBlDACAsHkAAKNZAQCMqQAAgKkAAIGpAACBlQAAgJUAAK1xAQBrDACAogsAgISNAABNHgCARR4AgKMhAABdHgCAVR4AgGUeAICBbQAAgG0AALEFAQCkOQAANR4AgIUcAIBsCwCAqAUAAJUcAICNHACArQkAAMywAQCBvQMAgL0DAIPNAwCtHACAtRwAgL0cAIDMvAEAzYQBAInpAwDMHAEAgdkCAIDFAgDNOAEAzDwBAMxoAgDNRAIAg00AAMUcAICH2QAAhy0AAIBFAACBEQAAggUAAHILAIDVHACAzRwAgN0cAIDMOAIAiBUAAIjhAACAbQAAgTkAAMyEAgDNUAEAo0UDAIQ5AQDlHACA7RwAgMzcAwDNSAIAbR4AgOkJAIB4CwCAhR4AgKoMAICBbQAA9RwAgH4LAICj0QAAfR4AgHUeAIDMiAQAgXUAAIB1AACBCwCAo7UAAMwABADNVAIA/RwAgIcLAICETQEAjQsAgAUdAIANHQCAzNAOAMwsAQDMAAUAzVwFAOwJAIDvCQCAzJgOAIHBAADMzA8AzDwOAMwIAQDNnA4AzNQPAM14DwDMPA4AzTgOAIHlAQCA5QEAg+UBAILlAQDUCQCAhOUBAIfhAQBBHQCAiaUBAIjZAQCByQcAOR0AgFEdAIBJHQCAzDQBAPUJAICA3QAAgekAAEMKAICD/QAAgM0AAIH5AACBEQcAaR0AgGEdAICJ0QAAzCgBAHkdAIBxHQCA4QsAgMw0AQDbCwCAgF0AAIFlAACjAQEAg2EAAIFxAACASQAAMR0AgBoMAICrCwCAiVUAACwMAIAyDACAWR0AgIEdAIDBGgCATwoAgIIdAACDeQcAgBkHAIEZBwCGIQAAhykAAISRBwDyCQCAimkAALHZBgCIaQAAifUHAEkKAICP3QcAjNkHAIkMAID4CQCAKR0AgPsJAICRoQcAgEEHAIFBBwCHBQAAyRoAgIKRBwDRGgCA2RoAgKOVBgCGhQcAp+0AAMyQAgDN4AUAsekAAKPBAABVCgCAWwoAgGEKAIBnCgCA/gkAgKVlBwDhGgCAzLgDAKhVBwDpGgCAbQoAgPEaAIABGwCACRsAgPkaAIABCgCAo60AAAQKAICMJQYABwoAgIxNAACpHQCAgm0AAIE9BgCCAQYAgWUAAKEdAICHZQAAuR0AgIcRBgCHrQEAsR0AgMxQAgDNxAIAgeEBAIDJAQCD4QEAkYkAAID9AQCB1QEAmR0AgIydAQCJNQAAcwoAgIB1AACBXQAAhi0AAIc1AACEfQAAERsAgIKFAQCDfQAAgJ0BAIGRAQAZGwCAj+kAAIzhAAB5CgCAfwoAgAoKAICIDQAAifkAAKc5AQCRHQCAiwoAgDgMAICjJQEAPgwAgLBZAACJHQCAggUAAMEdAICtFQEAjwwAgDEbAICGBQAAhQoAgCEbAIApGwCAp2kAAIANAQCBAQEAhzEAAKNJAACxGQEAzBACADkbAIAODACAkQoAgK1RAADM1AEAzfgBAKhBAABBGwCAzTgBAMw8AQCB7QMAlwoAgJ0KAICMDQAA7QsAgKMKAICBxQMAzGgCAKkKAICCxQMASRsAgITJAwCHKQAAhjEAAFkbAICCbQAAgAwAgFEbAICHYQAAYRsAgGkbAIAVHQCAzKgDAM2sAgCB+QAAiC0AAA0KAIAQCgCAEwoAgIw1AAC1CgCAuwoAgLHVAADBCgCAeRsAgMkdAICxCwCAzDABAEQMAIBKDACA0R0AgMwEAQDHCgCAcRsAgKelAADTCgCAo40AAMwUAgCAuQAAgbkAAKeFAAAIDACAgmUAAIEbAICMNQAA8wsAgMzsHADN/AMAiRsAgK6tAADZCgCAkRsAgMzABgDN0AYAsL0BAMyQBwDfCgCAgckBAMwYHQDNIAIAhBEAAOsKAIDNuAYAzKwGAKEbAIDlCgCAgSkAALEbAICpGwCAo+0BAMxAHQDNEAIAuRsAgMEbAICBCQAAyRsAgMxAHQDN0AIAqNkBABQMAIDMkAcAzBwBAMxgBgDNZAYA8QoAgBwKAIDRGwCAkSkBAP0KAICBzR8A2RsAgPcKAIDpGwCA4RsAgMzEBgDNwAYAgTEAAIDZAAAfCgCAIgoAgIK5AQCDRQEAgLkBAIG5AQCGXQEA8R0AgIRdAQDpHQCAzcAAAMzwAACIARwAiXkBAAEeAICPVQEAjGEBAPkdAICB3R4AgRUfAJkbAICBXR8AjIEfAIdBHwDMGAMAzWgDAIBNHwCBpR8AJQoAgIOpHwCMFR8AjNEeACgKAICHtR8AgJUfAIGZHwCBEQAAg70fAICFHwCBiR8A8RsAgIQ9AACbDACAiZkfAPkbAICIBQAABgsAgAEcAICADQAAgf0AAAkcAICj2R8Ao3keAKOFAAAMCwCArTUfAKdhHgCnqR8AoQwAgIQNAACnDACAozUfACsKAICtiR8AhHEAAKchHwCxPR4AsYUfAJUMAIDhHQCAEgsAgLcLAIDMtBwAzbAcAFAMAICxQR8AVgwAgJwLAIAZHgCAER4AgCkeAIAhHgCAgLkeAIG5HgCCIQEAgzUBAIRhAQAxHgCAhokBAIe9AQCIkQEAiekBANkdAICL/QEAjOUBAIINAAAJHgCAj90BAIO5AQCRrQEAgb0BAIC9AQCAoQEAgaEBAPkLAID/CwCAhD0AABEcAICJlQEAm4EBAIHNHgCAzR4AzPwCAM3wAgCB5QAAGRwAgIHtAACjpQAAzJABAM1cAgCHHQAAGwsAgKj5AAAhHACAJwsAgFwMAIBiDACAKRwAgIQFAAAxHACAo9UAACELAIA5HACAgVEAAMz0AQDN0AEALQsAgIc9AABRHACAMwsAgEEcAIA/CwCAhwUAAFkcAIBJHACAh/EDAIHZAwCBmQMAgZEAAGEcAIB0DACAjPkDAMwkAQCHuQMAgfkDADkLAIDMZAIAgskDAIyZAwBpHACAh9EDAI+RAwCB3QYAkfUDAMwABADN7AMAh2UAABkdAIBLCwCAcRwAgHoMAIBFCwCAzBgBAIg5AACBHACAeRwAgMxcAwCMJQAALgoAgMwsAQCx/QAAozkDADEKAIA0CgCAoRwAgKdZAwDMdAMAiAkAAKNRAwCpHACAXQsAgINtDQCnnQAApq0AAKOdAACxDQMAzCgBANULAICntQAAprUAAMkLAIDMMAEAgdUHAMMLAIDMKAEAzwsAgEEeAIBjCwCArYkAAGkLAICAzQEAgd0BAMxEAQDNnB4AhPUBAL0LAIDMWAEAzUwBAIDtAQCB/QEAg7UAAGgMAICM3QEAbgwAgMwIHgCM8QYAzDgBAM08AQBRHgCAiREAAIEFBgBJHgCAYR4AgFkeAIBpHgCAgz0AAIAhAACBOQAAgDkAAIEhAAA5HgCAiRwAgMwoAQCB2QYAbwsAgIH9BgDMJAEAmRwAgJEcAICxHACAgCEBAIE1AQCjBQAAuRwAgMEcAIDJHACAzIwFAM1AAgC3HAMAdQsAgIfNBwDZHACA0RwAgB0dAIDNiAAAzJAAAIzdBQCjhQAAFgoAgMzgAgDhHACAiNUHAIFNAACATQAAUQsAgOkcAIBXCwCAkTkHADcKAICIxQcApQsAgIrJBwDxHACAmz0AAIflBwBxHgCAgYUHAICFBwA6CgCAgvkHAILVBgCDRQAAgMkGAIHdBgCG4QYAewsAgIRRAACJHgCAipUGAIuZBgCIeQAAiZ0GAK0MAICPWQcAjG0HAPkcAIDMgAMAzSQCALARBwA9CgCAgR4AgCEdAIB5HgCAhAsAgICNAACBnQAAzOwDAM3oBAABHQCAigsAgKNJBwCQCwCACR0AgKO9BwARHQCAGwAAgOcHAIALAACApKUHAOsEAICKBQCAAwAAgKhhBwDZDQCAZQAAgMgDAIAbCQCArWkHAIAtAQCBPQEAgl0BAINRAQCEYQEAuAQAgKwEAICHYQEAiK0BAIm1AQCKvQEAjykVALwFAIAdDACAzHgCAM3YBQCB3QEAgXEAAOQLAICC/QEAhBkAACMMAICH7QEAIAwAgMw0BADNMAQA5wsAgJ9pFQAmDACAjMkBAM34BADM8AIAsUkBACEHAICB1QAAoxUBAKCZFQBzCACARgcAgIT1AADMKAQAzSwEAMMIAICveQEAqH0BADENAICqaQEAUgkAgLQlAQC1KQEAowkBAAIMAIDqBgCA7gYAgLIFAQCzPQEAvPUAAL39AAC+2QAAOAgAgLgBAQC5AQEAugEBADwHAIBDBwCAhgwAALOdAwCyiQMAswgAgIC9AwBpBwCAbAcAgBIJAIDkBgCA5wYAgDUIAICJhQMAzOQHAL+hAwAFDACA1wwAgIxlAADN5AwAzCQMAIlBAACIVQAAi0UAAIpFAACFtQMAhLUDAIeVAwCGgQMAAQ0AgAQNAIAHDQCAmCwAABMAAICmyAAAzYwGAMyoBgCFaQAAFwAAgDEAAIBpAACAzPADAAcAAIA1AACA0QwAgLGVAAAlDQCAs5UAALKVAAA1DQCAOA0AgEANAIA7DQCALg0AgHUAAICmBgCAJQAAgJgJAIAdIQCAv1UDAEMNAIAZIQCAFSEAgGEgAIC4bAAAlGUNAJIAAgCcrQEAnaUBAJqJAQCbiQEAmJkBAJmJAQDMIAYAzQQGAMxABgDNXAYAzDwHAM04BwDMvAcAhXUAAIABDwCBDQ8AaSAAgLqZAQCFBQAAcSAAgFkgAIC+hQEAgSkPAIAlDwBlIACAgiEPAIUpAAC0pQEAhREAAG0gAICziQ8AsoUPALHJAQCwAQwAt4EPALbtAQC17QEAtO0BAIFlAQCAZQEAg2EBALi1DwDMPAsAhHkBAIDhDwCB3Q8AdSAAgF0gAIDMyAQAzbgEAIWtAACFFQAAISEAgDkhAIDM6BkAzbQZAKRdAQBGDQCAok0CAKPxDwCgVQEAod0PAH8IAIBuCQCAOwkAgO0eAIBsCQCA9R4AgHcJAIDxHgCAsQgAgJMNAACtHgCA+R4AgITVDACF6Q4AlGkAAIfdDgC1HgCAmbQCAL0eAIDFHgCAsR4AgD0hAIC5HgCAn3QBAMEeAICRGA0AgI0OAIGBDgCGhQ4AlYwDAISJDgCXRAIAghEAAKm4AACA0QAAge0AAMkeAIBJDQCA5R4AgIVZDwCDiQAAoTQNAIFFDgCASQ4A6R4AgKU0AQCFYQ8AzPAUAB0fAIC5xAUAzMgDAM3cAwCA3QAAgcEAACUfAIC/kAUAhREAALHsBwCA9QAAgcEAAKEgAIC1jAYALR8AgLdABgCA3Q4AgekOAMwoAgDNtAIAgM0OAIH5DgCFKQAAg4UBAIB1AQCBsQEAgPEBAIHVAQCpIACANR8AgIUFAACxIACAgJkBAIG9AQCCfQAAk9UBAJThAQCFDQAAmSAAgCEfAICACQAAgRkAACkfAICTrQEAlC0AAKUgAICFDQAAMR8AgIUFAACtIACAOR8AgIUpAACCGQAAhTUAAIDxAACB4QAAtSAAgJ0gAIBBIQCAhQUAAGEhAICDdQEAgO0BAIEpAQDM8AEAzbABAEwNAIBdIQCAWSEAgKMNAIBdHwCAZR8AgIA9AACBDQAAbR8AgHUfAICALQAAgR0AAIIVAABhHwCAzSwBAGkfAIBxHwCAeR8AgIjFAwClIQCAzJACAM28AgCE7QMATw0AgIb5AwCdHwCAgIEDAIH9AwCAPQAAgTUAAIFJAACAQQAAzdwBAIJBAAClHwCAoR8AgKkfAIDNMAEAlJ0DAI0hAIDN8AEAzAwBAIG5AwCAxQMAg6EDAJOlAwCArQAAgdUAAICdAACBqQAAiSEAgFINAICBwQAAgMkAAIC1AACBgQAAhSEAgINpBADMcAMAzbQDAIEhAIDNPAEApg0AgJMBBADNjAIAzPQCAIANAACBNQAAlNkGANEfAIDVHwCA2R8AgMwIAQDNHAEAgREAAIApAACpIQCAghkAAICRAQCBkQEAzWgFAMyUAgDMEAkAzSgWAMxYDgDNeA4AzBQNAM3YCgDMKAwAzYwNAMzgFwDM4AoAzDgLAM30CACFEQAAVQ0AgIBRBwCBUQcA4SAAgM2QDgCFBQAA6SAAgMzYDgDN7AEA8SAAgM0ADgCFGQAAzfAPAM08DgDNVA4AzGgBAM1sAQDZIACAYQgAgJSZBwDMwDsAgGEBAIHZAACFKQAAzWQOAMx4AQDNfAEAga0HAICtBwCFZQAAgp0HAIBRAQCBUQEAlOEHAM3AAACEeQEAk8UHAIZhAQDlIACAiCEBAIUNAADtIACAzRgBAMzYAADNtAAAgN0HAIHNBwCZHwCAhQkAAM0fAID1IACA/R8AgN0gAIAFIACADSAAgBUgAIAJIACAASAAgK0hAIARIACAGSAAgMy4AgDNHAMAgGUAAIF1AACCfQAAHSAAgIUJAACFQQAAASEAgKkNAICAmQYAgSEHAIUZAACDfQAACSEAgIVZAAD9IACA+SAAgIDNAACB2QAAjR4AgIURAACE6QAAlR4AgIblAABBIACAgDUAAIENAACdHgCAhR0AAEkgAIClHgCAhQUAAFEgAICAVQAAgW0AAIJ9AACTRQAAlA0AAIUNAAA5IACAkR4AgIAJAACBEQAAmR4AgIUdAABFIACAoR4AgIUFAABNIACAgOkBAIHxAQCCBQAAqR4AgIUJAACFCQAAVSAAgD0gAICAbQEAgXkBAIIZAACDpQEADSEAgIV1AACFBQAAESEAgAUhAIAhIACAzMgCAM3cAgCsDQCAzR4AgIA5AACBOQAA1R4AgN0eAIDRHgCA2R4AgIAdAACBDQAA4R4AgCUgAICAxQAAgdUAAM3AAADMJAIAgNUAAIHFAACFOQAAg8kAACUhAICvDQCAgNUAAIEJAACFBQAALSEAgP0eAICBIACAgAkAAIERAAAFHwCAk5kAAJS5AAANHwCAhWUAAIU9AACJIACAk10AABUfAICFEQAAzXAFAMx0BQCUATwAkSAAgHkgAIDNKAEAhSAAgI0gAICFGQAAlSAAgH0gAIA1IQCAKSEAgCkgAICFJQAAhTkAAMz4AgDNxAMAzTwBALINAICBlQMAgI0DAM3EAQCCpQMAhVEAAIVJAADMKAEAzSwBAM04AQDMPAEAgGk+AIFpPgBJIQCARSEAgM04PADMVDwAgdE8AJOdPgDMSAEAzcgCAM00AQBNIQCAlLk+AFgNAICAoT4AgaE+AIKhPgCIjTwAVSEAgIWtAACALQAAgSEAAIXVPwCVHwCAgO0AAIHxAACGpQAARR8AgISpAADNJAEAzSgBAE0fAICI+T4AhfE/AFUfAIBJHwCAhcU/AM0wAQDNEAEAzfQGAIDdAQCB6QEAzbwGAM1wBgDM4AYAzVwBAMxoBgDNkAYAzWQGAM14BgDMrAcAzagHAMzoBwDNyAcAgk0/AIP9AgCANQIAgekCAFEfAIBZHwCAgAU9AIV9AQBRIQCALSAAgM0UAQApDgCAge0BAIDhAQDNPAEAgs0BAM0sAQCCdQEAgW0BAIBZAQCAZQEAgcUAAIUfAIDNJAEAzTgBAILxAACB+QAAgFkBAIApAACBcQAAzBgBAM18AQDNLAEAjR8AgIEdAACAHQAAiR8AgJEfAIBxIQCAzSQBAMzkPQDNXA8AzegAAMwMAQCA1QEAgckBAIKZAACD5T8ACR8AgBEfAIAZHwCAMSEAgCMOAIB1IQCAPR8AgDEgAIBBHwCALA4AgIBNPwCBQT8AfR8AgGkhAICBHwCAZSEAgIAlPwCBKT8Ak5E/AIN9AAAmDgCAlEEAAMzYAgDNrAIAbSEAgJNVAACACQAAgR0AALUNAIB9IQCAlEEAAK0fAICAnQAAgaEAAIAdAACBEQAAhKUAALUfAICGpQAAvR8AgIjxAACC0QAAgdkAAIDNAACAJQAAgSkAAIIFAADFHwCAsR8AgLkfAIDBHwCAk7EAAJQRAADJHwCAgB0AAIEVAACAJQAAgS0AAII9AAB5IQCAgO0AAIHRAACCFQAAg4EAAIHQPQA1IACAzCACAM3cAQCFeAIAkSEAgC8OAICZIQCAiRgDAN0fAICALQAAgTUAAIAJAACBbQAA5R8AgMEgAICRsQAAkKkAAJPdOwCSAQQAlaUAAJSVOwDtHwCAlqEAAIUJAACTQQAAySAAgPUfAICFBQAA0SAAgJT1AAC5IACAgLkAAIHdAACC5QAA4R8AgOkfAICF6QAAgAkAAIE1AACFBQAAxSAAgPEfAICFHQAAzSAAgPkfAICFBQAA1SAAgLHBBQCwxQMAvSAAgLLFAwC12QUAtM0DAJ0hAICFOQAAuf0DAKEhAICVIQCAuw0AgM0NAIAXDgCAAR8AgAUOAIDTDQCAzIgCAAsOAIDN4D4AzZABAMwkAQBwDQCAjg0AgEEOAIB9DgCAgLEAAM3UPgDN5D4Agw4AgMy8PgDNuD4AgNEDAIHtAwCC/QMAhmkAAD4OAICFnQMAzTwBADgOAIDM6AIAzTw/AIjlAADNGAEAiQ4AgIhBAAA7DgCAdw4AgM0sAQCVDgCAgNUAAJsOAICG4QAAhukAAEcOAIDNJAEAoQ4AgM0QAQCI0QAAiCkAAMz4AgBNDgCAzfgCAMwkAQCnDgCAhS0DAMygPgDNbD4AgNUDAIHNAwCCAQMAg/kDAMxkAwDNzAIARA4AgM0kAQDMDAIAzQgCAIERAADMnAMAzLA+AM20PgDMxD4AzcA+AMyAPgDNuD4ArQ4AgMyEAgDMmD8AzVA+AMwgPgDNoD4AzQw/AM0wPwDNeD8AzQQ/AIhZAAC/DgCAzfgBAMzEAQBKDgCAxQ4AgMsOAIDMFAIAzAgBAM3IAQCIBQAA0Q4AgNcOAIDMKAIAuQ4AgIgNAACG0QAAgB0BAITNAACI9QAAzDwCAIQ1AQDMRAIAhikBAIAOAICIZQEAhg4AgKdEBQBiDgCAi+0AAIjtAACBDQAAiCUAAIZlAADMcAIAzXQCAMwwAgDN2AUAXA4AgIwOAICAOQAAXw4AgMzgBQB6DgCAzCgBAM0UAQCGJQAAiFUAAAgOAICGhDAAxA0AgIDVBwCG/QcAmA4AgMwkAgCIPQAAng4AgGsOAICIPQAApA4AgMxIAgDNeAIAUA4AgKoOAICXwAUAlnAFAJUYBQCAaQAAk1gFAIE5AACIZQAAkPg8AIZZAACeqAUAhEUAAGgOAIDM1AIAmrQFAIBdAACYrAUAp+wEAIgRAADM2AIAzdwCAKO8BACwDgCAzGACAMIOAIBuDgCAyA4AgK0IBADODgCAq/QEAMwsAgCIBQAA1A4AgLfoAwC2HAQAtSgEAMwAAgCzKAQAi3kAAIh9AACwdAQAhkEAAL6kAwCEdQAAiB0AANoOAIC6TAMAzNwDALj8AwCDqAIAiA0AALwOAICIFQAAh5QCAMw4AgBlDgCAzAQCAIvcAgCPDQAAcQ4AgI8ZAADMIAIAdA4AgI3wAgCIdQAAmCADAJksAwCPDgCAlA0AgMxMAgCWcAMAzCQCAIg9AACSDgCAzCwCAIgFAACzDgCAzCQCAIgNAAC2DgCAh/UAAKjUAwCpxAMA3Q4AgNlgAgDSDwCA1Q8AgNsPAICUNQAAkzEAANloAgDYDwCA2UwCAJQFAADeDwCAlSEAAJQpAABQEACAdBYAgEMXAIDSFgCA2WACADcXAIC12AMAtPADAJQ1AADZWAIAWhcAgJQFAADZVAIAlA0AADEXAIDgdAEAisgAALwVAACIyAAA4IACAIcXAICBoAAApOwCAKTIAgCoXAAAvA0AAJkXAIDghAIAvAUAAJ0XAICk+AIA4PQCALDMAwCV0AAAXRcAgLPgAwCmyAIAp2ACAJLYAABkFwCAvsEAAGsXAICXwQAAchcAgHkXAICAFwCAzXg/AMy8PwC+gA0AixcAgLx4DAC9gA0AuvQMALtUDAC49AwAkhcAgLYXAIC3uAwAuhcAgLWMDACyoAMAs6AMAKEXAICxQAMArnACAK9kAwC4BQMArUgDAKgXAICvFwCAqEQDAKnYAwDaFwCAp9gDAKRoAgCliAMAtjUDALc9AwCSyAIAtT0DAJldAQCYTQEAm2UBAJppAQCdZQEAnGUBAJ+FAQCemQEAh5wCAL6tAACWpQAAl70AAMw0BQDNjDcAzLg4AM2sOACflQEAth0AAJ2ZAQCc9QEAs7EBAK54AgDhFwCAvhcAgJk9AADFFwCAmxkAAJoJAADMFwCA0xcAgOBIAgCeCQAArFwCAK30AgD6FwCA9hcAgP4XAIDoFwCAh2ADAO8XAICvVAIAvhEAAJcFAAACGACA4KwCAAYYAICG+AMAh+wDAOC0AgAOGACAr0gCAK6QAgDgPAIAvg0AAAoYAICXGQAA4NgCAIaEAwCWEQAAvwAMAJ1tAACcYQAAEhgAgLFMAgCzUAIAlQ0AABYYAICGnAMA4MgCALMEAgCCBQAAIhgAgLNQAgCVDQAAJhgAgBoYAIAeGACA4LQCAIaMAwCH3AMAvg0AAJVpAACWeQAAKhgAgLToAgC1UAIAlwUAADIYAIDg1AIAtPQCAL4ZAADgoAIALhgAgODUAgCZjAMAt9QCAIoFAAA2GACAOhgAgIoVAAC3NAIAjx0AAD4YAIBCGACAswUAAEYYAICzBQAAWxgAgJwJAACdCQAATRgAgFQYAICMBQAAYhgAgG0YAIB0GACAexgAgJ9JAACCGACAiRgAgGYYAICQGACAlxgAgNkYAIDPGACA6hgAgOAYAICeGACAg8kBAIH5AQCsGACAsxgAgLoYAIDBGACAyBgAgKUYAICAtAIApYgDAOEIAgCuHQAA8RgAgLwJAACN9QEA9RgAgOEAAgCSlQEA45QQAJNFAACXiQEAhRQAAId4AQCGAAQARjoAgEo6AIBOOgCAUjoAgFY6AICdeQAA74xoAJyhAQBaOgCAXjoAgKKZAABiOgCAZjoAgGo6AIBuOgCAp4kAAHI6AIB2OgCAqUkBAHo6AICsqQAAfjoAgII6AICGOgCAsyUBAIo6AICOOgCAkjoAgLchAQC2OQEAtTEBAJY6AICaOgCAufkAALkRAQC4GQEAnjoAgKI6AICmOgCAqjoAgICwAQCEiAIArjoAgIPIAQCEVAMAhFwEALI6AICEXAUAgN0DAIEtAACCMQAAvjwCALo6AIC+OgCAh4gDAIacBACzLQMAwjoAgMY6AIC+AAQAvhwFALbRAwC12QMAyjoAgLv5AwC68QMAmljTAYTgBwC/xQMAvtkDAL3dAwC83QMAvgAYAKUFAwCmDQMAzjoAgIQcGADSOgCA1joAgKPxAwCsAQMArQEDAK4FAwCvGQMArKQbAq3cGgKqLQMAqyUDAL5MGQC+SBoA2joAgL6AGwC04BoCtdQdArYwHgLvCAIA3joAgOGgAQC6OBoC4/gCALoAAAC9ZBwCvvQcAr8AEAKRBNMBkOT2AeBEAQCSCD4C4joAgOY6AIDqOgCA7joAgL6sHADyOgCA9joAgPo6AID+OgCAAjsAgAY7AIAKOwCAgbBtAICAAQCDHFIAgth3AIUgmgCEkL4AhwjPAIaM5gCJbDcBiOAsAYsYfgGK2BMBjeClAYzwWgGP/OsBjliPAbDVFwCxAWgAso1rALOdawC0SWsAtZVvAA47AIDgcAEAEjsAgBY7AIAaOwCAHjsAgIAZAACBGQAAggUAACI7AIAqOwCAoaUCAKJJBwCjQQcApEEGAKXVGwCm3RsAp8EaAKgBHACp4R8AqkkfAKsBEACs9RMAra0TAK4BFACv+RcAqDEGAKkxBgCqTQYAq0UGAKxNBgCtmQYAro0GAK+FBgCGgAMAhxgDAC47AIAyOwCANjsAgDo7AIA+OwCAQjsAgLhtBwC5dQcAun0HALt1BwC8bQcAvc0HAL75BwC/+QcAsKkGALGFBgCyeQcAs3kHALRpBwC1aQcAtl0HALdVBwC2OgCAs8EGAEY7AIAmOwCAth0GAEo7AIBOOwCAtcEGALppBgC7RQYAUjsAgFY7AIC+qQcAv6kHALypBwC9qQcAo4UGAFo7AIBeOwCAYjsAgGY7AICmWQYApYUGAGo7AICrAQYAqi0GAG47AIByOwCAr+0HAK7tBwCt7QcArO0HAKjBBgCpLQEAqiUBAKs9AQCsJQEArS0BAK4lAQCvlQEAdjsAgHo7AIB+OwCAgjsAgIY7AICCvQAAgb0AAIC9AAC4nQEAua0BALqlAQC7bQAAvHUAAL19AAC+dQAAv20AALD1AQCx/QEAssEBALPBAQC0tQEAtb0BALa1AQC3rQEAijsAgI47AICSOwCAs6EBAJY7AIC1oQEAtqEBAJo7AICGgAEAh8QBALo9AQC7NQEAvBkBAL0ZAQC+fQEAv3UBAKPtAQCeOwCAojsAgKY7AICqOwCApu0BAKXtAQCuOwCAq3kBAKpxAQCyOwCAtjsAgK85AQCuMQEArVUBAKxVAQC6OwCAvjsAgMI7AIDGOwCAyjsAgOGsAQDOOwCA42AGANI7AIDWOwCA2jsAgO9UBgDeOwCA4jsAgL60GgDmOwCA6jsAgO47AICGaBwAh4wDAPI7AID2OwCA+jsAgP47AICAOQAAgTkAAIIFAAACPACACjwAgA48AIASPACAFjwAgKgdAwCpQQMAqkEDAKtBAwCsQQMArUkDAK5xAwCvcQMAhCAdABo8AIAePACAIjwAgCY8AIAqPACALjwAgDI8AIC46QAAufUAALr9AAC78QAAvJEAAL2RAAC+iQAAv4kAALDhAACx4QAAsuEAALPhAAC04QAAte0AALbZAAC32QAA4wwHAOEgBwDhMAEA4wgHADY8AIA6PACAPjwAgEI8AIBGPACASjwAgE48AIBSPACA75gHAFY8AIBaPACA74gHALOJAgBePACAYjwAgL6AGgBmPACAtokCALWJAgBqPACAu2UBALplAQBuPACAcjwAgL9pAQC+ZQEAvXUBALx1AQC3PQYAtj0GALU9BgC0IQYAszUGALI1BgCxAQYAsAkGAL9ZBgC+UQYAvVkGALxNBgC7bQYAunkGALlxBgC4eQYAgJ0AAIGtAACCpQAAejwAgH48AICCPACAhjwAgIo8AICvcQYArmkGAK1tBgCsbQYAq4EGAKqZBgCpkQYAqJkGAAY8AIB2PACAjjwAgKPFHQCSPACApcUdAKbFHQCWPACAhgADAIdkAwCqKR4AqykeAKw5HgCtOR4ArikeAK8lHgCzOR4AmjwAgJ48AICiPACApjwAgLb9HgC1/R4AqjwAgLvZHgC60R4ArjwAgLI8AIC/aR8AvmEfAL1pHwC8wR4AqPEeAKnxHgCq8R4Aq/EeAKw1HgCtPR4ArjUeAK8tHgC2PACAujwAgL48AIDCPACAxjwAgMo8AIDOPACA0jwAgLjlHwC57R8AuuUfALv5HwC86R8AvZEfAL6RHwC/jR8AsFUeALFdHgCyVR4As/0fALTlHwC17R8AtuUfALfdHwCjeR8A1jwAgNo8AIDePACA4jwAgKa9HwClvR8A5jwAgKuZHwCqkR8AhogAAIdMAQCvKR4AriEeAK0pHgCsgR8AgEkAAIFJAACCWQAAs5keAOo8AIC1iR4AtlEBAO48AIDyPACA9jwAgLotAQC7JQEAvD0BAL0lAQC+JQEAvxUBAKhNHgCpVR4Aql0eAKtVHgCsTR4ArZ0BAK6JAQCvgQEAhKwBAPo8AID+PACAAj0AgAY9AIAKPQCADj0AgBI9AIC4ZQEAuW0BALplAQC7fQEAvGUBAL1tAQC+ZQEAv9kAALClAQCxrQEAsqUBALO9AQC0rQEAtZ0BALaVAQC3XQEAo9UdABY9AIAaPQCAHj0AgCI9AICmHQIApcUdACY9AICraQIAqmECACo9AIAuPQCAr1kCAK5pAgCtaQIArHECADI9AIA2PQCAOj0AgD49AIBCPQCARj0AgEo9AIBOPQCAgDkAAIE5AACCBQAAUj0AgFo9AIBePQCAh0ADAIZcBACETAQAYj0AgGY9AICEBAUA4yABAGo9AIDhqAEAbj0AgO+UGgByPQCAdj0AgHo9AIB+PQCAgj0AgIY9AICKPQCAs6EDAI49AICSPQCAlj0AgJo9AIC2fQMAtX0DAJ49AIC7WQMAulEDAKI9AICmPQCAv/0AAL79AAC9/QAAvEEDAKhRAgCpWQIAqmkCAKtpAgCstQIArb0CAK61AgCvrQIAhKgHAKo9AICuPQCAsj0AgIKpAAC2PQCAgKkAAIGpAAC4aQEAuWkBALoJAQC7CQEAvBkBAL0ZAQC+CQEAvwkBALDVAgCx3QIAstUCALNpAQC0eQEAtXkBALZpAQC3YQEA4bgBAOHUHwDjOB8A4wwbALo9AIC+PQCAwj0AgMo9AIDOPQCA0j0AgNY9AIDaPQCAvjwJAN49AIDvhBsA74QbAKOhAgDiPQCAhugEAIe8BQDmPQCApn0CAKV9AgDqPQCAq1kCAKpRAgDuPQCA8j0AgK/9AQCu/QEArf0BAKxBAgCzhQYAxj0AgPY9AID6PQCA/j0AgLaJBgC1jQYAAj4AgLuRBgC6iQYABj4AgAo+AIC/9QYAvokGAL2BBgC8iQYADj4AgBI+AIAWPgCAGj4AgB4+AIAiPgCAJj4AgO+EHQAqPgCA4QAEAC4+AIDj/AQAgBEAAIEdAACCBQAAMj4AgKjxBgCp8QYAqg0GAKsFBgCsBQYArQkGAK49BgCvNQYANj4AgDo+AICGiAAAhxADAD4+AIBCPgCARj4AgEo+AIC4EQYAuRkGALohBgC7IQYAvPUHAL39BwC+9QcAv+kHALBNBgCxVQYAsl0GALNVBgC0TQYAtTEGALYxBgC3MQYAo4UHAE4+AIBSPgCAVj4AgFo+AICmiQcApY0HAF4+AICrkQcAqokHAGI+AIBmPgCAr/UHAK6JBwCtgQcArIkHAGo+AICz4QYAbj4AgHI+AIC25QYAdj4AgHo+AIC18QYAur0GALuNBgB+PgCAgj4AgL59AQC/ZQEAvJUGAL11AQCoHQYAqSUGAKotBgCrJQYArD0GAK0hBgCuXQYAr00GAIY+AICKPgCAjj4AgJI+AICWPgCAgrkDAIGxAwCAuQMAuO0BALmFAQC6jQEAu4UBALydAQC9hQEAvo0BAL+FAQCwPQYAsQ0GALIFBgCz5QEAtP0BALXlAQC25QEAt9UBAKOlBQCaPgCAnj4AgKI+AICqPgCApqEFAKW1BQCuPgCAq8kFAKr5BQCGCAwAhxwDAK8hAgCuOQIArTECAKzRBQCyPgCAs/ECALY+AIC6PgCAtlUDAL4+AIDCPgCAteECALpxAwC7eQMAxj4AgMo+AIC+MQMAvz0DALxRAwC9UQMAqCUCAKk1AgCqPQIAqzUCAKwtAgCtkQMArpEDAK+RAwDOPgCA0j4AgNY+AIDaPgCArAAAAN4+AIDiPgCA5j4AgLiZAwC5rQMAuqUDALttAwC8dQMAvX0DAL51AwC/bQMAsPEDALH5AwCywQMAs8EDALSxAwC1vQMAtrUDALepAwDqPgCA7j4AgPI+AID2PgCA+j4AgP4+AIACPwCA76gaAL5oDADhlAEABj8AgOMcBgCADQAAgXEAAIJxAAAKPwCAo/UDAA4/AIASPwCAhEwCABo/AICmUQIApeUDAB4/AICrfQIAqnUCAIbIDACHLA0ArzkCAK41AgCtVQIArFUCAOFQBgAiPwCA4xQHAITADAAmPwCAKj8AgC4/AIAyPwCANj8AgDo/AIA+PwCAQj8AgEY/AIBKPwCA73gbAL74DwBOPwCAUj8AgFY/AICzjQEAWj8AgLWZAQC2jQEAXj8AgFY9AIBiPwCAuoUBALtNAQC8VQEAvV0BAL5VAQC/SQEAo0EOABY/AIBmPwCAaj8AgG4/AICmQQ4ApVUOAHI/AICrgQ4AqkkOAHY/AIB6PwCAr4UOAK6ZDgCtkQ4ArJkOAIBtAACBCQAAgh0AAH4/AIDvGAkAgj8AgIY/AICKPwCA4zwNAI4/AIDhWAwAkj8AgIbQAACHvAMAlj8AgJo/AICokQ4AqZkOAKrJDgCrxQ4ArN0OAK3BDgCuwQ4Ar/UOAIToAACePwCAoj8AgKY/AICqPwCArj8AgLI/AIC2PwCAuMEPALnBDwC6wQ8Au8EPALzBDwC9wQ8AvsEPAL/1DwCwjQ4AsUUOALJNDgCzRQ4AtF0OALVBDgC2QQ4At0EOAKhRDgCpWQ4Aqo0OAKudDgCshQ4ArY0OAK6FDgCvvQ4Auj8AgL4/AIDCPwCAxj8AgMo/AIDOPwCA0j8AgNY/AIC4kQ4AuZkOALqtDgC7RQEAvF0BAL1FAQC+RQEAv3UBALDFDgCxzQ4AssUOALPdDgC0xQ4AtbUOALa9DgC3tQ4AswUOANo/AIDePwCA4j8AgOY/AIC2DQ4AtQ0OAOo/AIC7CQ4AugEOAO4/AIDyPwCAv3EOAL4BDgC9CQ4AvBEOAIJtAACjQQ4AgFUAAIFlAACmSQ4A+j8AgP4/AIClSQ4AqkUOAKtNDgCGSAAAh3gAAK5FDgCvNQ4ArFUOAK1NDgCoXQIAqWECAKplAgCrdQIArG0CAK2xAgCusQIAr7ECAITsBAACQACABkAAgApAAIAOQACAEkAAgBZAAIAaQACAuHEDALlxAwC6cQMAu3EDALzVAwC93QMAvtUDAL/NAwCw0QIAsdECALLRAgCz0QIAtFEDALVRAwC2UQMAt1EDAB5AAICz6QIAIkAAgL6ABAC2NQIAJkAAgCpAAIC14QIAuhECALsRAgAuQACAMkAAgL6RAwC/kQMAvAECAL0BAgA2QACAOkAAgKOlAgA+QACApa0CAEJAAIBGQACApnkCAEpAAIBOQACAq10CAKpdAgCtTQIArE0CAK/dAwCu3QMAqNUCAKndAgCqLQEAqyUBAKw9AQCtJQEAri0BAK8lAQBSQACAVkAAgFpAAIBeQACAYkAAgGpAAIBuQACAckAAgLiFAQC5iQEAup0BALuVAQC8sQEAvbEBAL55AAC/eQAAsF0BALHlAQCy4QEAs/kBALTpAQC13QEAttUBALe9AQDh8A4AdkAAgOMUDgB6QACAgb0AAIC9AAB+QACAgq0AAIYABACH7AUAgkAAgIZAAICKQACAjkAAgO9gDgCSQACAlkAAgJpAAICFXH0AnkAAgKJAAIDjZAEApkAAgOG0AQCqQACA76AOAK5AAICmPgCAhPgFALJAAIC2QACAukAAgLMlBgBmQACAvkAAgMJAAIDGQACAtiUGALU1BgDKQACAu6EGALoZBgDOQACA0kAAgL+ZBgC+rQYAva0GALy1BgCCbQAA7zAEAIBVAACBZQAAvlwDANZAAICG+AAAh2wDANpAAIDeQACA4kAAgOZAAIDqQACA40QEAO5AAIDhjAcAo6UGAPJAAID2QACA+kAAgP5AAICmpQYApbUGAAJBAICrIQYAqpkGAAZBAIAKQQCArxkGAK4tBgCtLQYArDUGAA5BAICz+QcAEkEAgBZBAIC2SQcAGkEAgB5BAIC1UQcAulEHALtRBwAiQQCAJkEAgL41BwC/OQcAvEUHAL09BwCoNQYAqT0GAKo1BgCriQYArJ0GAK2NBgCusQYAr7EGACpBAIAuQQCAMkEAgDZBAICADQAAgbEAAIKxAAA6QQCAuKEGALmtBgC6vQYAu7UGALytBgC9XQEAvlUBAL9NAQCw0QYAsdEGALLVBgCzrQYAtLUGALW5BgC2qQYAt6UGAKO9BgA+QQCAQkEAgISEAgC+kAEApg0GAKUVBgBKQQCAqxUGAKoVBgCGCAAAh3wBAK99BgCucQYArXkGAKwBBgBOQQCAs60BAFJBAIBWQQCAtqkBAFpBAIBeQQCAta0BALptAQC7dQEAYkEAgGZBAIC+XQEAvzUBALxlAQC9VQEAqGECAKlhAgCqYQIAq2ECAKxhAgCtbQIArp0CAK+VAgBqQQCAbkEAgHJBAIB2QQCAekEAgH5BAICCQQCAhkEAgLiVAgC5nQIAuqECALuhAgC8cQMAvXEDAL5xAwC/cQMAsO0CALH1AgCy9QIAs8UCALTdAgC1tQIAtrECALexAgCKQQCAjkEAgJJBAICj5QIAlkEAgKXlAgCm4QIAmkEAgJ5BAICiQQCAqiUCAKs9AgCsLQIArR0CAK4VAgCvfQIApkEAgKpBAICuQQCAhEB8AIAVAACBHQAAggUAALJBAIC+7HwAukEAgIZIfQCHCAMAvkEAgMJBAIDGQQCAykEAgKidAgCpxQIAqsECAKvBAgCsxQIArc0CAK7xAgCv8QIAzkEAgNJBAIDWQQCA2kEAgMkAAADeQQCA4kEAgOZBAIC4wQEAucEBALrBAQC73QEAvM0BAL31AQC+/QEAv50BALBBAQCxQQEAskEBALNBAQC0QQEAtUEBALZBAQC3QQEA4TgGAOpBAIDjaAYA7kEAgPJBAID2QQCA+kEAgISUfQC+rHwA/kEAgAJCAIAGQgCAvrh/AApCAIDvEAEADkIAgBJCAIAWQgCAGkIAgB5CAIDhkAEAIkIAgONEAAAqQgCAgS0AAIAtAADvgAAAgjkAAC5CAIAyQgCA9j8AgDZCAIDhsH8AtkEAgOPUfAA6QgCAJkIAgD5CAICGuAAAh9QCAEJCAIBGQgCASkIAgE5CAIBSQgCAVkIAgO8gfABaQgCAs4l9AF5CAIBiQgCAZkIAgGpCAIC2jX0AtY19AG5CAIC7RX4AukV+AHJCAIB2QgCAv0V+AL5FfgC9VX4AvFV+AKNJfQB6QgCAfkIAgIJCAICGQgCApk19AKVNfQCKQgCAq4V+AKqFfgCOQgCAkkIAgK+FfgCuhX4ArZV+AKyVfgCCbQAAszF+AIBVAACBZQAAtvF/AITcAwCWQgCAtSF+ALrNfwC70X8AhgAEAIfUAAC+dX8Av3l/ALzBfwC9wX8AqOV/AKn1fwCq/X8Aq/V/AKztfwCtNX4Arj1+AK81fgCaQgCAnkIAgKJCAICmQgCAqkIAgK5CAICyQgCAtkIAgLjZfgC54X4AuuF+ALvhfgC85X4Avel+AL6ZfgC/mX4AsE1+ALFRfgCyUX4As1F+ALT1fgC1+X4Atul+ALfpfgCjdX8AukIAgL5CAIDCQgCAxkIAgKa1fgClZX8AykIAgKuVfgCqiX4AzkIAgNJCAICvPX4ArjF+AK2FfgCshX4A1kIAgLMxfgDaQgCA3kIAgLbFAQDiQgCA5kIAgLXRAQC6yQEAu8kBAOpCAIDuQgCAvs0BAL+xAQC8yQEAvckBAKjdfQCp9X0Aqv19AKvxfQCsHQIArQECAK45AgCvOQIA8kIAgPZCAID6QgCA/kIAgIIFAAACQwCAgBEAAIERAAC4EQIAuRkCALohAgC7IQIAvNUCAL3dAgC+1QIAv80CALBJAgCxSQIAslkCALNZAgC0TQIAtTECALYxAgC3MQIAvgADAKNxfQCEiAIAvoAEAKaFAgAKQwCADkMAgKWRAgCqiQIAq4kCAIYoBACHDAMAro0CAK/xAgCsiQIArYkCABJDAICEyAMAhcwFALPlAwAWQwCAteUDALbtAwAaQwCAHkMAgCJDAIC6bQMAu2UDALx9AwC9ZQMAvmUDAL9VAwAmQwCAKkMAgL8ABACjJQIALkMAgKUlAgCmLQIAMkMAgDZDAIA6QwCAqq0CAKulAgCsvQIAraUCAK6lAgCvlQIAPkMAgEJDAIBGQwCASkMAgE5DAIDjzAMAUkMAgOGsAQBWQwCA7xwDAFpDAIBeQwCAYkMAgGZDAIBqQwCAbkMAgOFwfwBGQQCA4wR+AHJDAIB6QwCA4ZQBAH5DAIDjWAEAgNkAAIHZAACCJQAA7+R+AIJDAICGQwCA7+B+AIpDAICzAQEAjkMAgIboBwCHLAQAkkMAgLY1AQC1BQEAlkMAgLvxAAC64QAAmkMAgJ5DAIC/sQAAvtEAAL3ZAAC84QAABkMAgHZDAICiQwCApkMAgKEBBACgEQQAoxkAAKLFBACotQYAqb0GAKrpBgCr/QYArO0GAK3VBgCu3QYArz0HALBFBwCxVQcAslUHALNtBwC0dQcAtRUHALYdBwC3FQcAuC0HALk1BwC6MQcAuw0HALwZBwC9GQcAvgkHAL8JBwCjQQYAqkMAgK5DAICyQwCAtkMAgKZ1BgClRQYAukMAgKuxBwCqoQcAj8ltAL5DAICv8QcArpEHAK2ZBwCsoQcAld11AJTBdACXzXAAli1zAJFdaACQVWgAk9l0AJJNaQCd5XgAnB17AJ9tBwCeuXgAmR1/AJhVcACboXwAmvl8AIJhbACDhWkAwkMAgMZDAICGEXUAhxF1AISVaQCFjWgAij10AIvFcgDKQwCAzkMAgI7dfgCPMX0AjD1xAI2dcQCSGX0Ak716ANJDAIDvkAkAltUGAJdRBQCUXXkAlQl5AJpxBQCbvQUA1kMAgNpDAIDeQwCA4agFAJx5AQDjuAgAoYUBAOJDAICjqQ0AogEMAKUBCACkOQ0Ap6kJAKa9CQCppRUAqAEUAKsBFACq/RUArbkRAKyxEQCvARwArqEQALH9HACw5R0As+kZALIBGAC1ASQAtH0ZAIQUAAC+FAAAgI0AAIGVAACCbQAA6kMAgIZQDwCHZAAA7kMAgPJDAIC61QcAu90HALjBBwC5wQcAvjEEAL8xBAC88QcAvfEHALKtBwCztQcAsK0HALGlBwC2nQcAt/UHALSlBwC1lQcAqmkHAKtpBwCoaQcAqWkHAK5pBwCvaQcArGkHAK1pBwD2QwCA+kMAgP5DAIACRACABkQAgApEAIAORACAEkQAgKgRBQCpHQUAqjkFAKs5BQCsLQUArVEFAK5JBQCvQQUAFkQAgBpEAIAeRACAIkQAgCZEAIAqRACALkQAgDJEAIC4XQIAuWkCALrBAwC7wQMAvPkDAL35AwC+kQMAv7UDALAJBQCxCQUAsuECALPhAgC0dQIAtX0CALZ1AgC3bQIAs7EEAIQAAgC+BA0ANkQAgDpEAIC20QQAtaUEAD5EAIC7zQQAus0EAEJEAIBGRACAv7kDAL6xAwC9NQMAvDUDAEpEAICj9QQATkQAgFJEAICmlQQAWkQAgF5EAICl4QQAqokEAKuJBACHqA0AhswMAK71AwCv/QMArHEDAK1xAwDhUAYA4TQHAONAAADjWAcAgNEAAIHdAACC1QAAYkQAgGZEAIBqRACAbkQAgHJEAIB2RACAekQAgO+cAADvyAcAfkQAgIJEAICzNQIAhkQAgLW1AQCKRACAjkQAgLa1AQC+7AwAkkQAgLuRAQC6mQEAvVEBALyJAQC/UQEAvlkBAKjtDQCp/Q0AqvUNAKttDgCsdQ4ArX0OAK51DgCvbQ4AVkQAgJZEAICaRACAnkQAgKJEAICmRACAqkQAgK5EAIC49Q4Auf0OALr1DgC7QQ8AvEEPAL1JDwC+cQ8Av3EPALAVDgCxHQ4AshUOALPNDgC01Q4Atd0OALbVDgC3zQ4Ao30NALJEAIC2RACAukQAgL5EAICm/Q4Apf0OAMJEAICr2Q4AqtEOAISoAgDGRACArxkOAK4RDgCtGQ4ArMEOAIBNAACBVQAAglUAALNRDwDKRACAtXEPALZxDwDORACAhuAAAIcEAwC6XQ8Auy0PALw1DwC9OQ8Avi0PAL8lDwCoVQ4AqV0OAKqVDgCrrQ4ArLUOAK29DgCutQ4Ar60OANJEAIDWRACA2kQAgN5EAIDiRACA5kQAgOpEAIDuRACAuGkBALlpAQC6eQEAu3kBALxpAQC9aQEAvt0BAL/VAQCw1Q4AsaUOALKtDgCzoQ4AtKUOALWtDgC2nQ4At1kBAKMdDgDyRACA9kQAgOZDAID6RACApj0OAKU9DgD+RACAq2EOAKoRDgACRQCABkUAgK9pDgCuYQ4ArXUOAKx5DgAKRQCADkUAgBJFAIAWRQCAGkUAgB5FAIAiRQCAJkUAgIANAACBFQAAgh0AACpFAIAuRQCAMkUAgIR4AQC+FAAA4xQPADpFAIDh4A0AhAADAIawBACHFAMAPkUAgEJFAIBGRQCASkUAgE5FAIBSRQCA78APAFZFAIBaRQCAXkUAgGJFAIBmRQCAakUAgLNtAwBuRQCAtX0DALZ1AwByRQCAdkUAgHpFAIC6UQMAu1EDALz1AwC9/QMAvukDAL/hAwB+RQCAgkUAgIZFAICKRQCAjkUAgJJFAICWRQCAmkUAgKhxAgCpeQIAqokDAKuJAwCsmQMArZkDAK6JAwCviQMAsPkDALH5AwCyTQMAs0UDALRBAwC1SQMAtnEDALdxAwC4IQMAuSEDALohAwC7IQMAvCEDAL0hAwC+IQMAvyEDAICdAQCBEQAAghEAAIQEBQDvFAAAnkUAgKJFAIC+EAUA48gAAKpFAIDh0AEArkUAgLJFAIC2RQCAukUAgL5FAICqeQIAq3kCAIboBACHYAUArsECAK/JAgCs3QIArdUCAMJFAICjRQIAxkUAgMpFAICmXQIAzkUAgNJFAIClVQIA1kUAgNpFAIDeRQCA4kUAgOZFAIDqRQCA7kUAgO+EDgC+rAQA4dAOAPJFAIDjFAEA9kUAgPpFAID+RQCAAkYAgLPdAQAGRgCACkYAgA5GAIASRgCAtv0BALX9AQAaRgCAu90BALrdAQCE4AQAHkYAgL+hAQC+vQEAvb0BALy9AQCoBQYAqR0GAKoVBgCrLQYArDUGAK09BgCuNQYArykGAKZFAICC9QcAgeUHAIDlBwAWRgCAIkYAgIYcAACHsAMAuCUGALnFBgC6zQYAu8UGALzdBgC9xQYAvs0GAL/FBgCwWQYAsVkGALIpBgCzKQYAtDkGALUlBgC2JQYAtx0GAKOdBgAmRgCAKkYAgC5GAIAyRgCApr0GAKW9BgA2RgCAq50GAKqdBgA6RgCAPkYAgK/hBgCu/QYArf0GAKz9BgBCRgCAs/UHAEZGAIBKRgCAtu0HAE5GAIBSRgCAteUHALqNBwC7kQcAVkYAgFpGAIC+dQcAv30HALyBBwC9fQcAqCUGAKkpBgCqOQYAqzkGAKwpBgCtKQYArnkGAK91BgBeRgCAYkYAgGZGAIBqRgCAbkYAgHJGAIB2RgCAekYAgLjVBgC53QYAuuEGALv9BgC85QYAve0GAL7lBgC/mQYAsA0GALERBgCyEQYAs+0GALT1BgC1/QYAtvUGALftBgCjsQYAgi0AAIEVAACAsQAANkUAgKapBgCloQYAfkYAgKvVBgCqyQYAgkYAgL5oAQCvOQYArjEGAK05BgCsxQYAikYAgLPxAQCGaAAAh3wBALZdAQCORgCAkkYAgLVVAQC6SQEAu0kBAJZGAICaRgCAvj0BAL8hAQC8OQEAvTUBAJ5GAICiRgCAhAQDAL6AHACmRgCA4RwGAKpGAIDjAAYAvwguAK5GAICyRgCA78gHALZGAIC6RgCAvkYAgMJGAIDGRgCAykYAgKN9AgDORgCApdkCANJGAIDWRgCAptECANpGAIDeRgCAq8UCAKrFAgCtuQIArLUCAK+tAgCusQIAqW0FAKhZBQCrDQIAqrkCAK0dAgCsHQIArwUCAK4NAgC+aB0A4kYAgOZGAIDqRgCAgB0AAIEJAACCmQEA7kYAgLnhAwC4KQIAu+EDALrpAwC94QMAvPkDAL/hAwC+6QMAsU0CALBNAgCzIQIAsi0CALUlAgC0OQIAtxECALYlAgCowQIAqdECAKrRAgCr5QIArP0CAK0VAQCuHQEArw0BAPJGAID6RgCA/kYAgAJHAIAGRwCACkcAgA5HAIASRwCAuAUBALkJAQC6HQEAuxUBALwxAQC9MQEAvv0BAL/1AQCweQEAsUEBALJBAQCzXQEAtEUBALVNAQC2RQEAtz0BAIagHQCHxB0AFkcAgO/YAAAaRwCAHkcAgCJHAIDvxAYAhGwcAOH0BgAmRwCA47AGACpHAIDhlAEALkcAgONEBgCzGQIAMkcAgDZHAIA6RwCAhewsALbVAQC1NQIAPkcAgLvFAQC6/QEAQkcAgEZHAIC/yQEAvsEBAL3JAQC81QEAo9kdAPZGAIBKRwCATkcAgFJHAICmFR4ApfUdAFZHAICrBR4Aqj0eAFpHAIBeRwCArwkeAK4BHgCtCR4ArBUeAIBpAACBaQAAggUAAGJHAIBmRwCAakcAgIcQAwCGfAMAbkcAgHJHAIB2RwCAekcAgH5HAICCRwCAhkcAgIpHAICopR8Aqa0fAKqlHwCrvR8ArKUfAK2tHwCupR8ArxUfAI5HAICSRwCAlkcAgJpHAICeRwCAokcAgKZHAICqRwCAuA0fALkZHwC6IR8AuyEfALzZAAC92QAAvskAAL/BAACwcR8AsXEfALJxHwCzRR8AtEEfALVNHwC2PR8AtzUfALMtHgCuRwCAskcAgLZHAIC6RwCAti0eALUtHgC+RwCAu7UeALq1HgDCRwCAxkcAgL+JHgC+hR4AvZEeALylHgCCKQAAo2keAIAdAACBFQAApmkeAMpHAIDORwCApWkeAKrxHgCr8R4A0kcAgITgAQCuwR4Ar80eAKzhHgCt1R4AqNUBAKnlAQCq7QEAq+UBAKz9AQCt5QEAru0BAK/lAQC+oAEAhkYAgNZHAIDaRwCAhhAAAId0AQDeRwCA4kcAgLh9AQC5wQAAusEAALvBAAC8wQAAvckAAL7xAAC/8QAAsJ0BALFFAQCyTQEAs0UBALRdAQC1RQEAtk0BALdFAQDmRwCA6kcAgO5HAIDyRwCA9kcAgO80AgDv7B4A+kcAgOHwHQDj4AIA4zAeAOGEAQD+RwCAAkgAgAZIAIAKSACAsyUCAJQAAAAOSACAEkgAgBZIAIC2JQIAtTUCABpIAIC7wQIAuhkCAB5IAIAiSACAv8ECAL7ZAgC90QIAvNkCACZIAIAqSACALkgAgKPpAgAySACApfkCAKbpAgA2SACAOkgAgD5IAICq1QIAqw0CAKwVAgCtHQIArhUCAK8NAgCAYQAAgWEAAIIFAABCSACASkgAgIQABAC+FAQATkgAgIbABACHUAMAUkgAgFZIAIBaSACAXkgAgGJIAIBmSACAqK0CAKm9AgCqtQIAqw0BAKwVAQCtHQEArhUBAK8NAQCE7AQAakgAgG5IAIBySACAdkgAgHpIAIB+SACAgkgAgLgdAQC5LQEAuiUBALvNAQC81QEAvd0BAL7JAQC/wQEAsH0BALFVAQCyXQEAs1UBALRNAQC1PQEAtjUBALctAQDhGB4AhkgAgOM4HgCKSACAjkgAgJJIAICWSACAmkgAgJ5IAICiSACAvmAEAKZIAICBdQAAgHUAAO/gHwCCbQAAqkgAgK5IAICG6AQAh3wFALJIAIDhkAEAukgAgOOgAAC+SACAwkgAgMZIAIDvtAAAykgAgM5IAIDSSACA1kgAgLUFBgBGSACAtkgAgLYFBgDaSACA3kgAgLOlBQDiSACAvRkGALwRBgC/YQYAvhEGAOZIAIDqSACAuwkGALohBgCj/QUA7kgAgPJIAID2SACA+kgAgKZdBgClXQYA/kgAgKtRBgCqeQYAAkkAgAZJAICvOQYArkkGAK1BBgCsSQYAqFEGAKlZBgCqYQYAq2EGAKxhBgCtYQYArmEGAK9hBgAKSQCADkkAgBJJAIAWSQCAgA0AAIGxAQCCsQEAGkkAgLhNBwC5VQcAul0HALtVBwC8TQcAvXUHAL59BwC/cQcAsMUHALHNBwCyxQcAs90HALTFBwC1zQcAtsUHALd5BwCz6QcAHkkAgCJJAICEwAEAvtgBALbhBwC16QcAJkkAgLsJBgC6AQYAhogAAIesAQC/CQYAvgEGAL0JBgC8EQYAKkkAgKOtBwAuSQCAMkkAgKalBwA2SQCAOkkAgKWtBwCqRQYAq00GAD5JAIBCSQCArkUGAK9NBgCsVQYArU0GAKhZBgCpZQYAqm0GAKtlBgCsYQYArWEGAK5hBgCvYQYAhKwBAEZJAIBKSQCATkkAgFJJAIBWSQCAWkkAgF5JAIC4kQEAuZkBALqhAQC7oQEAvHEBAL1xAQC+cQEAv3EBALDxAQCx8QEAsvUBALPdAQC0xQEAtbEBALaxAQC3sQEAs+UFAGJJAIBmSQCAakkAgG5JAIC24QUAtekFAHJJAIC7NQIAujUCAHZJAIB6SQCAv3UCAL4BAgC9CQIAvCECAH5JAICjoQUAgkkAgIZJAICmpQUAikkAgI5JAIClrQUAqnECAKtxAgCSSQCAvigDAK5FAgCvMQIArGUCAK1NAgCA1QAAgd0AAILhAACaSQCA4yABAJ5JAIDhqAEAokkAgO80AgCmSQCAhggMAIdoAwCsAAAAqkkAgK5JAICySQCAs40DALZJAIC6SQCAhIAMAL5JAIC2vQMAtYEDAMJJAIC7TQMAuk0DAMZJAIDKSQCAv00DAL5NAwC9TQMAvE0DAKhBAgCpTQIAqkUCAKtZAgCsSQIArX0CAK51AgCvuQIAvmgNAM5JAIDSSQCA1kkAgIRsDADaSQCA3kkAgOJJAIC4TQEAuVUBALpVAQC7ZQEAvH0BAL0VAQC+EQEAvxEBALDJAgCxyQIAstkCALPZAgC0yQIAtckCALZ9AQC3dQEA4XgHAOOYAADjuAYA4VwGAOZJAIDqSQCA7kkAgPJJAID2SQCA+kkAgP5JAIACSgCA7AAAAO9cAADv6AYACkoAgIFpAACAYQAAo4UCAIJhAACliQIADkoAgBJKAICmtQIAhkAMAIfEDACrRQIAqkUCAK1FAgCsRQIAr0UCAK5FAgCojQ4AqZEOAKqVDgCrqQ4ArKUOAK2tDgCupQ4Ar9kOAAZKAIAWSgCAGkoAgB5KAIAiSgCAJkoAgCpKAIAuSgCAuHUPALl9DwC6dQ8Au90PALzFDwC9zQ8AvsUPAL/9DwCwqQ4AsbUOALK1DgCzhQ4AtJ0OALVRDwC2UQ8At1EPALMdDgAySgCANkoAgDpKAIA+SgCAti0OALUtDgBCSgCAu3EOALptDgBGSgCASkoAgL+VDwC+WQ4AvVEOALxhDgBOSgCAo1kOAFJKAIBWSgCApmkOAFpKAIBeSgCApWkOAKopDgCrNQ4AYkoAgGZKAICuHQ4Ar9EPAKwlDgCtFQ4AqL0OAKnRDgCq0Q4AqykBAKw5AQCtOQEArikBAK8pAQCADQAAgRUAAIIdAABqSgCAbkoAgHJKAIC+dAIAdkoAgLjtAQC5hQEAuoEBALuBAQC8hQEAvY0BAL6xAQC/sQEAsFkBALFZAQCy7QEAs+UBALT9AQC15QEAtuUBALfVAQB6SgCAtqkBALWhAQB+SgCAs0kOAIJKAICGOAAAh9wBAL8xAQC+KQEAvSEBALwpAQC7jQEAuo0BAJZJAICGSgCAoxkOAIpKAICOSgCAkkoAgJZKAICm+QEApfEBAJpKAICr3QEAqt0BAJ5KAICiSgCAr2EBAK55AQCtcQEArHkBAKZKAIDv3A8AqkoAgK5KAICySgCAtkoAgLpKAIC+SgCAwkoAgMZKAIDKSgCAzkoAgNJKAIDj6A4A1koAgOGMDgCAEQAAgREAAIIRAACEQAIA2koAgN5KAIDiSgCAvhADAIbABACHRAMA6koAgO5KAIDySgCA9koAgPpKAID+SgCA7yQCAAJLAIAGSwCACksAgA5LAIASSwCAFksAgBpLAICE7AQAHksAgCJLAIAmSwCA4+wCACpLAIDhOAEALksAgLNVAwAySwCANksAgDpLAIA+SwCAth0DALUdAwBCSwCAuwkDALo5AwBGSwCASksAgL/9AAC+/QAAvfkAALwRAwCogQIAqYkCAKqdAgCrsQIArNUCAK3dAgCu1QIAr80CAIDNAQCBCQAAghkAAE5LAIBSSwCAWksAgL5wBQBeSwCAuFkBALlZAQC6aQEAu2kBALx5AQC9eQEAvmkBAL9lAQCwvQIAsY0CALKFAgCzbQEAtHkBALV5AQC2aQEAt2kBAIYgBACHCAUAYksAgGZLAIBqSwCAbksAgHJLAIDvXAAAhOwEAOFcDgB2SwCA44wOAHpLAIB+SwCAgksAgIZLAICjVQIAiksAgI5LAICSSwCAlksAgKYdAgClHQIAmksAgKsJAgCqOQIAnksAgKJLAICv/QEArv0BAK35AQCsEQIAqGkGAKlpBgCqeQYAq3kGAKxpBgCtaQYArp0GAK+VBgBWSwCApksAgKpLAICuSwCAsksAgLZLAIC6SwCAvksAgLj1BgC5+QYAuo0GALuFBgC8nQYAvYUGAL6FBgC/tQYAsO0GALH1BgCy/QYAs/UGALTtBgC10QYAttEGALfRBgCz8QYAghUAAIG1AACAtQAAwksAgLbpBgC14QYAvtQDALsxBgC6KQYAxksAgMpLAIC/FQYAvikGAL0hBgC8KQYAzksAgKO1BgCGyAAAh8gAAKatBgDSSwCA1ksAgKWlBgCqbQYAq3UGANpLAIDeSwCArm0GAK9RBgCsbQYArWUGAKg1BgCpOQYAqoEGAKuBBgCsgQYArYEGAK6BBgCvtQYA4ksAgOZLAIDqSwCA7ksAgPJLAID2SwCA+ksAgP5LAIC4nQYAua0GALqlBgC7aQEAvHkBAL15AQC+aQEAv2kBALDRBgCx0QYAstEGALPRBgC0tQYAtb0GALa1BgC3rQYAswkGAAJMAIAGTACACkwAgA5MAIC2AQYAtQkGABJMAIC7FQYAuhUGABZMAIAaTACAv3kGAL5xBgC9BQYAvAUGAB5MAICjTQYAIkwAgOZKAICmRQYAJkwAgCpMAIClTQYAqlEGAKtRBgAuTACAMkwAgK41BgCvPQYArEEGAK1BBgCB6QMAgN0DAISIAwCC4QMAhrA8AIeIAgC+VAMAOkwAgD5MAIBCTACARkwAgEpMAIBOTACAUkwAgFZMAIBaTACA4/AGAF5MAIDhMAYAhAA8AGJMAIBmTACAakwAgG5MAIByTACAhTQ9AHZMAIB6TACA77AHAH5MAICCTACAhkwAgIpMAICOTACAkkwAgL7EPACWTACAgp0BAIGdAQCAnQEAqA0CAKllAgCqfQIAq3UCAKxZAgCtWQIArpkDAK+ZAwCw6QMAsekDALL5AwCz+QMAtOkDALXpAwC2XQMAt1UDALhtAwC5dQMAunUDALtFAwC8XQMAvTUDAL4xAwC/KQMAmkwAgJ5MAICiTACAqkwAgOFgAwDv9AMA40QCAK5MAICyTACA4zwDAO/0NwDh/AEAtkwAgLpMAIC+TACAwkwAgIZkPwCHaD0AhTQhALOZAwDGTACAtb0DALa1AwDKTACAzkwAgNJMAIC6QQIAu0ECALxBAgC9QQIAvkECAL9BAgDWTACA2kwAgN5MAIDiTACA5kwAgOpMAIDuTACA7/gBAIRoPADhPAYA8kwAgOMcBgD2TACA+kwAgP5MAIACTQCAoxUDAAZNAIAKTQCADk0AgBJNAICmOQMApTEDABpNAICrzQIAqs0CAL5kPgAeTQCAr80CAK7NAgCtzQIArM0CAKgdPgCpJT4Aqi0+AKslPgCsPT4ArSU+AK4tPgCvJT4ApkwAgIL1PwCB5T8AgOU/ABZNAIAiTQCAhgAEAIecAwC4LT4AuTE+ALoxPgC7MT4AvNE+AL3RPgC+0T4Av80+ALBdPgCxIT4Asjk+ALM5PgC0KT4AtSk+ALYZPgC3FT4As6U+ACZNAIAqTQCALk0AgDJNAIC2pT4AtbU+ADZNAIC75T4Aupk+ADpNAIA+TQCAv+0+AL7tPgC97T4AvO0+AEJNAICj4T4ARk0AgEpNAICm4T4ATk0AgFJNAICl8T4Aqt0+AKuhPgBWTQCAWk0AgK6pPgCvqT4ArKk+AK2pPgCPBSUAsyU+AF5NAIBiTQCAtik+AGZNAIBqTQCAtSk+ALp9PgC7RT4Abk0AgHJNAIC+tT4Av70+ALxdPgC9vT4An304AJ5lOQCd8TgAnFE0AJtZNQCaUTUAmfEwAJgNMQCXZTEAlsEwAJVZLQCUTS0Ak+EsAJLZKQCRWSkAkPEoALSlGQC13RgAdk0AgIQIAACwkRUAsQEVALIBGACzvRkAgA0AAIGtAwCCpQMAek0AgKNhAACiHT0AoZk9AKBxPACkxQUApUEEAKYBCACn4QkANkwAgKH1AQCi6QEAo90FAKwBEACtxREArtkRAK85EACoZQgAqQEMAKrZDQCrCQ0AijEuAIuhMwB+TQCAgk0AgI65MwCPETYAjB0yAI1NMgCCJSYAg6krAL5kAwCEYAQAhqEvAIcVLgCEGSoAhZEqAJphPgCb7T4AhsgEAIfcAwCKTQCA4Vw+AJyJAwDjAD4Akmk2AJN5NwCOTQCA7xg+AJZNOwCXuT8AlME7AJVdOgCpnT0AqIk9AKu5PQCqrT0Arak9AKyhPQCvyT0ArqE9AL7oBACSTQCAlk0AgJpNAICeTQCAok0AgKZNAICqTQCAuVk9ALhRPQC7eT0AumU9AL1pPQC8YT0Avx09AL5hPQCxgT0AsLk9ALNpPQCyiT0AtXk9ALRxPQC3aT0AtnE9AKMhPACuTQCAsk0AgLZNAIC6TQCApi08AKUtPAC+TQCAq0E8AKp5PADCTQCAxk0AgK+5PACusTwArbk8AKxZPADKTQCAzk0AgLN9AwDSTQCAtdkDANZNAIDaTQCAttEDAN5NAIDiTQCAu8UDALrFAwC9uQMAvLUDAL+tAwC+sQMA5k0AgOpNAIDuTQCA71wDAIAVAACBHQAAgjEAAO+MPgCE7AQA4fw+APJNAIDjHD4A+k0AgOGUAQD+TQCA4yAAAKP1AwACTgCAh+gEAIZsBAAGTgCAplkDAKVRAwAKTgCAq00DAKpNAwAOTgCAEk4AgK8lAwCuOQMArTEDAKw9AwCGTQCA9k0AgBZOAIAaTgCAHk4AgCJOAIAmTgCAKk4AgKhxBgCpTQYAqo0GAKuFBgCsnQYArYUGAK6NBgCvhQYAsP0GALFBBwCyQQcAs0EHALRBBwC1SQcAtnEHALdxBwC4IQcAuSEHALolBwC7OQcAvCkHAL0VBwC+HQcAv/0HALMlBgAuTgCAMk4AgDZOAIA6TgCAtiUGALU1BgA+TgCAu6UHALoZBgBCTgCARk4AgL+tBwC+pQcAvbUHALy1BwBKTgCAo2EGAE5OAIBSTgCApmEGAFZOAIBaTgCApXEGAKpdBgCr4QcAXk4AgGJOAICu4QcAr+kHAKzxBwCt8QcAqLEGAKm9BgCqzQYAq90GAKzNBgCt/QYArvUGAK8VAQCA+QEAgc0BAILFAQC+ZAIAhpAAAIcAAQBqTgCAbk4AgLjRAQC52QEAuuEBALvhAQC8kQEAvZ0BAL6VAQC/iQEAsG0BALF1AQCyfQEAs3UBALRtAQC18QEAtvEBALfxAQCzRQYAZk4AgHJOAIB2TgCAek4AgLZ9BgC1RQYAfk4AgLuxAQC6qQEAgk4AgIZOAIC/NQEAvqkBAL2hAQC8qQEAik4AgKMBBgCOTgCAkk4AgKY5BgCWTgCAmk4AgKUBBgCq7QEAq/UBAJ5OAICiTgCAru0BAK9xAQCs7QEAreUBAOEoAQCmTgCA41ACAKpOAICuTgCAsk4AgLZOAIC6TgCAvk4AgMJOAIDGTgCAyk4AgIFxAACAGQAA75wCAIJ5AADOTgCA0k4AgITIAgCzxQMA2k4AgLXFAwC2xQMAvhADAIbADACHRAwAuqkDALulAwC8vQMAvaEDAL6hAwC/lQMArhEGAK8ZBgCsAQYArQEGAKqlBgCrEQYAqEU5AKlxOQDeTgCA4k4AgOZOAIDqTgCA7k4AgPJOAID2TgCA+k4AgL7tBwC/TQcAvNEHAL3lBwC63QcAu8EHALg1BgC51QcAtjkGALcNBgC0JQYAtTkGALIxBgCzPQYAsFEGALFRBgCoOQIAqTkCAKqBAgCrgQIArIECAK2JAgCusQIAr7ECAIRsDQD+TgCAvmANAAJPAIAGTwCACk8AgA5PAIASTwCAuE0BALlVAQC6XQEAu1UBALxNAQC9dQEAvn0BAL91AQCwoQIAsa0CALKlAgCzuQIAtKkCALWdAgC2lQIAt3kBAOFUBgDh1AcA4zgGAOOwBwAWTwCAGk8AgB5PAIAiTwCAhOQMACZPAIAqTwCALk8AgDJPAIA2TwCA72wAAO/kBwCjSQIAOk8AgD5PAIBCTwCASk8AgKZJAgClSQIATk8AgKspAgCqJQIAhkgMAIfcDACvGQIAri0CAK0tAgCsMQIAqFEOAKmlDgCqrQ4Aq6UOAKy9DgCtpQ4Arq0OAK+lDgCA5Q8Age0PAILlDwBGTwCAUk8AgFZPAIBaTwCAXk8AgLjVDwC53Q8AutUPALvpDwC8+Q8AvfkPAL7pDwC/6Q8AsN0OALFBDwCyRQ8As10PALRFDwC1TQ8AtkUPALftDwCzJQ4AYk8AgGZPAIBqTwCAbk8AgLYlDgC1NQ4Ack8AgLuFDwC6GQ4Adk8AgHpPAIC/iQ8AvoEPAL2JDwC8kQ8Afk8AgKNhDgCCTwCAhk8AgKZhDgCKTwCAjk8AgKVxDgCqXQ4Aq8EPAJJPAICWTwCArsUPAK/NDwCs1Q8Arc0PAKjRDgCp2Q4AqjkBAKs5AQCsKQEArSkBAK6dAQCvlQEAmk8AgJ5PAICiTwCApk8AgIANAACBtQAAgr0AAKpPAIC4lQEAuZ0BALqhAQC7oQEAvHEAAL1xAAC+cQAAv3EAALDtAQCx9QEAsvUBALPFAQC03QEAtbUBALaxAQC3sQEArk8AgLJPAICzuQEAvsACALWpAQC2TwCAuk8AgLahAQCGgAEAh8QBALs5AQC6IQEAvRkBALwpAQC/eQEAvhEBAKPxAQC+TwCA1k4AgMJPAIDGTwCApukBAKXhAQDKTwCAq3EBAKppAQDOTwCA0k8AgK8xAQCuWQEArVEBAKxhAQDWTwCA2k8AgN5PAIDiTwCA4agBAOZPAIDjQAIA6k8AgL8oFQDuTwCA73QCAPJPAID2TwCA+k8AgP5PAIACUACABlAAgON0DwCEiAMA4TQOAApQAIAOUACAElAAgBZQAICADQAAgRUAAIIRAAAaUACAHlAAgO+kDwAiUACAKlAAgKgZAwCpQQMAqkUDAKtdAwCsTQMArX0DAK51AwCvnQAAhaQVAL58AwCGCAQAhxwDAC5QAIAyUACANlAAgDpQAIC49QAAuf0AALr1AAC7jQAAvIEAAL2BAAC+gQAAv4EAALDlAACx7QAAsuUAALP5AAC07QAAtdEAALbVAAC3zQAAPlAAgEJQAIBGUACAs8ECAEpQAIC1yQIAtvECAE5QAIBSUACAVlAAgLotAQC7JQEAvD0BAL0hAQC+JQEAvxkBAKapAgCESAIAWlAAgKWRAgBeUACAo5kCAGJQAIBmUACArn0BAK9BAQCsZQEArXkBAKp1AQCrfQEAalAAgG5QAIByUACAdlAAgHpQAIB+UACA7+QAAIJQAICGUACAilAAgOMQDgCOUACA4VgOAJJQAICALQAAgREAAIIVAAC+sAUAs3UBAJpQAICHFAUAhmwEAJ5QAIC21QAAtWUBAKJQAIC7/QAAuvUAAKZQAICqUACAv6EAAL69AAC93QAAvN0AAKh9BgCptQYAqr0GAKu1BgCsrQYArRUHAK4dBwCvFQcAllAAgK5QAICyUACAtlAAgLpQAIC+UACAwlAAgMZQAIC4OQcAuTkHALrJBwC7yQcAvNkHAL3ZBwC+zQcAv8UHALBxBwCxeQcAskkHALNJBwC0OQcAtSUHALYhBwC3IQcAozUGAMpQAIDOUACA0lAAgNZQAICmlQcApSUGANpQAICrvQcAqrUHAN5QAIDiUACAr+EHAK79BwCtnQcArJ0HAOZQAIDqUACA7lAAgPJQAID2UACAgj0AAIE9AACAPQAA+lAAgP5QAIACUQCAhKADAL6kAwAGUQCAhvgAAIfgAACoxQYAqdUGAKrVBgCr5QYArP0GAK0xAQCuMQEArzEBAApRAIAOUQCAElEAgBZRAIAaUQCAHlEAgCJRAIAmUQCAuN0BALntAQC65QEAu40BALyVAQC9nQEAvpUBAL+NAQCwUQEAsVEBALJRAQCzUQEAtPUBALX9AQC29QEAt+0BALNdBgAqUQCALlEAgDJRAIA2UQCAtrEBALV1BgA6UQCAu5UBALqVAQA+UQCAQlEAgL85AQC+MQEAvYUBALyFAQClLQYARlEAgEpRAICm6QEATlEAgFJRAICjBQYAVlEAgK3dAQCs3QEAr2EBAK5pAQBaUQCAJlAAgKvNAQCqzQEAXlEAgGJRAICExAMAvwD0AGZRAICCPQAAgT0AAIA9AABqUQCAblEAgHJRAIC+YAMAelEAgH5RAICCUQCAhlEAgIbgHACHAAMA7wwHAIpRAICOUQCAklEAgJZRAICaUQCAnlEAgKJRAICmUQCAqlEAgOHABgCuUQCA4ywHALJRAIC2UQCAulEAgL5RAIDCUQCAxlEAgMpRAIDOUQCA0lEAgKiBAwCpgQMAqoEDAKuBAwCsgQMArYEDAK6BAwCvgQMAsEUDALFNAwCyRQMAs10DALRNAwC1fQMAtnUDALcZAwC4KQMAuTUDALo9AwC7MQMAvAEDAL31AAC+/QAAv+0AALMpAgDWUQCA2lEAgN5RAIDiUQCAtiECALUpAgCEUB0Au6kCALqhAgDqUQCA7lEAgL+ZAgC+qQIAvakCALyxAgCBTQAAgE0AAO+cAwCCXQAAhvAcAId4HQC+EB0A8lEAgPZRAID6UQCA/lEAgAJSAIDhkAEABlIAgONgAwAKUgCADlIAgBJSAIAWUgCAGlIAgB5SAIAiUgCAJlIAgO+UAQCE7BwA4XAGACpSAIDjUAEALlIAgDJSAIA2UgCAOlIAgKPpAgA+UgCAQlIAgEZSAIBKUgCApuECAKXpAgBOUgCAq2kCAKphAgBSUgCAvqgcAK9ZAgCuaQIArWkCAKxxAgCoMR4AqTEeAKoxHgCrMR4ArF0eAK1FHgCuTR4Ar0UeAOZRAICCzR8AgfUfAID9HwBWUgCAWlIAgIYcAACH+AMAuMUeALnNHgC6xR4Au90eALzFHgC9zR4AvsUeAL9ZHwCwPR4AsQUeALINHgCzBR4AtB0eALUBHgC2BR4At/0eALO5HgBeUgCAYlIAgGZSAIBqUgCAtsUeALXVHgBuUgCAu8EeALr5HgByUgCAdlIAgL/FHgC+2R4AvdEeALzZHgB6UgCAo/0eAH5SAICCUgCApoEeAIZSAICKUgCApZEeAKq9HgCrhR4AjlIAgJJSAICunR4Ar4EeAKydHgCtlR4AqCkeAKkpHgCqVR4Aq20eAKx1HgCtfR4ArnUeAK9pHgCWUgCAmlIAgJ5SAICiUgCAplIAgKpSAICuUgCAslIAgLjpHgC59R4Auv0eALv1HgC87R4AvZEeAL6RHgC/kR4AsB0eALHlHgCy7R4As+UeALT9HgC15R4Atu0eALflHgCz3R4AtlIAgLpSAIC+UgCAwlIAgLb9HgC1/R4AhFgBALshHgC62R4AvigAAMpSAIC/IR4AvjkeAL0xHgC8OR4AgU0AAIBNAACjlR4Agl0AAKW1HgDGUgCAzlIAgKa1HgB2UQCA0lIAgKtpHgCqkR4ArXkeAKxxHgCvaR4ArnEeAIYABACHRAMAs4ECANZSAIC1gQIA2lIAgN5SAIC2gQIAiAAAAOJSAIC74QIAuu0CAL3lAgC8+QIAv9ECAL7lAgDmUgCA6lIAgIREAwC+jAMA4UgCAO5SAIDjAAIA7/wfAPJSAIDhPB4A79wCAONgHwD2UgCA+lIAgP5SAIACUwCAqQUCAKixAgCrBQIAqgUCAK0NAgCsBQIArzUCAK41AgCEbAUABlMAgApTAIAOUwCAElMAgBZTAIAaUwCAHlMAgLnpAwC44QMAu/kDALrhAwC96QMAvOEDAL9dAwC+4QMAsSkCALAlAgCzPQIAsiECALUZAgC0LQIAt9kDALYRAgAiUwCAJlMAgCpTAICjhQMALlMAgKWFAwCmhQMAMlMAgDpTAIA+UwCAqukDAKvlAwCs/QMAreEDAK7hAwCv1QMAgEkAAIFVAACCVQAAo6kCAL6YBAClQQEApkEBAEJTAICG4AUAh+AFAKotAQCrOQEArBEBAK0FAQCuDQEArwUBAEZTAIBKUwCATlMAgO/cAABSUwCAVlMAgFpTAIDviB4AhCwHAOHsHgBeUwCA4xweAGJTAIDhlAEAZlMAgOMwAACzJQIAhWDmAGpTAIBuUwCAclMAgLbNAQC1zQEAdlMAgLu1AQC6oQEAelMAgH5TAIC/iQEAvoEBAL2JAQC8nQEANlMAgIJTAICGUwCAilMAgI5TAICSUwCAllMAgJpTAICoAQcAqQEHAKp1BwCrrQcArLUHAK29BwCuqQcAr6kHALDZBwCx7QcAsvkHALP1BwC0mQcAtZkHALaJBwC3gQcAuIkHALmJBwC6bQAAu2UAALx9AAC9ZQAAvm0AAL9lAACBCQAAgJkAAJ5TAICCHQAAolMAgKZTAICqUwCArlMAgKgNBQCpfQUAqk0FAKuhBgCspQYAra0GAK6dBgCv/QYAsIUGALGRBgCyqQYAs70GALSlBgC1rQYAtqUGALd5BgC4SQYAuUkGALpZBgC7WQYAvEkGAL1JBgC++QcAv/kHALNdBgCyUwCAhigCAIcsAQC2UwCAtp0GALWdBgC6UwCAu4kGALq9BgC+UwCAwlMAgL/9BgC+/QYAvYEGALyNBgDGUwCAoxkGAMpTAIDOUwCAptkGANJTAIDWUwCApdkGAKr5BgCrzQYA2lMAgN5TAICuuQYAr7kGAKzJBgCtxQYAqBkBAKkZAQCqjQAAq50AAKyNAACtvQAArrUAAK/dAADiUwCA5lMAgOpTAIDuUwCA8lMAgPZTAID6UwCA/lMAgLhpAAC5aQAAunkAALt5AAC8aQAAvWkAAL7dAwC/1QMAsKkAALGpAACyvQAAs7UAALSZAAC1mQAAtlkAALdZAAC+LAIAAlQAgAZUAIAKVACADlQAgBJUAIAaVACAHlQAgIAtAACBNQAAgj0AACJUAICGkAwAh+gCACZUAIAqVACAs0UDAC5UAIAyVACANlQAgDpUAIC2fQMAtUUDAD5UAIC7LQMAui0DAEJUAIBGVACAvx0DAL4dAwC9IQMAvCkDAKvNAwCqzQMASlQAgE5UAICv/QMArv0DAK3BAwCsyQMAo6UDAFJUAIBWVACAWlQAgF5UAICmnQMApaUDAGJUAIBmVACAalQAgG5UAIByVACAdlQAgII9AACBPQAAgD0AAHpUAIB+VACAglQAgIRgAwCG0AwAhzADAIpUAICOVACAvkQCAJJUAICWVACAmlQAgOEAAACeVACA46gGAKJUAICE7AwAplQAgO/QAwCqVACArlQAgLJUAIC2VACAulQAgLNtAQC+VACAwlQAgMZUAIDKVACAthEBALVlAQDOVACAuz0BALo1AQDSVACA1lQAgL/9AQC+/QEAvRUBALwVAQDaVACA4fwGAN5UAIDjPAcA4lQAgOZUAIDqVACA7lQAgPJUAIC+bAwA+lQAgP5UAIACVQCABlUAgApVAIDvFAYAgV0AAIBdAACj5QEAgm0AAKXtAQAOVQCAElUAgKaZAQCHqAwAhuQMAKu1AQCqvQEArZ0BAKydAQCvdQEArnUBAKgZDgCpGQ4AqiUOAKs1DgCsLQ4ArVEOAK5RDgCvUQ4AhlQAgPZUAIAWVQCAGlUAgB5VAIAiVQCAJlUAgCpVAIC47Q4AufUOALr1DgC7jQ4AvJUOAL2dDgC+lQ4Av40OALAxDgCxOQ4AsgEOALMBDgC0+Q4AtfkOALbdDgC31Q4AqHkOAKl5DgCqjQ8Aq4UPAKydDwCtgQ8AroUPAK+5DwAuVQCAMlUAgDZVAIA6VQCAPlUAgEJVAIBGVQCASlUAgLiRDwC5mQ8AuqEPALuhDwC8UQ8AvV0PAL5JDwC/SQ8AsM0PALHVDwCy3Q8As9UPALTNDwC1sQ8AtrEPALexDwCzBQ4ATlUAgFJVAIBWVQCAWlUAgLYBDgC1FQ4AXlUAgLsRDgC6CQ4AYlUAgISgAQC/dQ4AvgkOAL0BDgC8CQ4AgmkAAKNBDgCAWQAAgVEAAKZFDgC+WAEAZlUAgKVRDgCqTQ4Aq1UOAIbIAACHrAEArk0OAK8xDgCsTQ4ArUUOAGpVAIBuVQCAclUAgHZVAIB6VQCAflUAgBZUAICCVQCAqAkOAKkJDgCqGQ4AqxkOAKwJDgCtYQ4ArmEOAK+VAQCw7QEAsfUBALL9AQCz9QEAtO0BALV1AQC2fQEAt3UBALhNAQC5VQEAul0BALtVAQC8TQEAvfEAAL7xAAC/8QAAhlUAgIpVAICOVQCAklUAgJZVAIDj6A4AmlUAgOE0DgC+AAQA79wPAJ5VAICiVQCAplUAgKpVAICuVQCAslUAgLPxDQC2VQCAulUAgL5VAIDCVQCAtoENALXhDQDGVQCAu1ECALpJAgDKVQCAzlUAgL/RAgC+SQIAvUECALxJAgCjMQ0A0lUAgISIAwDaVQCA3lUAgKZBDQClIQ0A4lUAgKuRAgCqiQIA5lUAgOpVAICvEQIArokCAK2BAgCsiQIAgKkAAIGpAACCTQAA7lUAgOFkEgDjTAIA4wgLAOGsAQDyVQCA7zwCAO8YFgD2VQCAhlAGAIdIAwD6VQCA/lUAgKiBAgCpgQIAqoECAKuBAgCsgQIArYECAK6FAgCvHQEAAlYAgAZWAIAKVgCADlYAgBJWAIAWVgCAGlYAgIS4BQC4dQEAuX0BALp1AQC7CQEAvBkBAL0ZAQC+CQEAvwEBALBlAQCxbQEAsmUBALN9AQC0aQEAtV0BALZVAQC3TQEAHlYAgCJWAIAmVgCAKlYAgC5WAIAyVgCA7zQAAO/ADgDhXA4A4UwPAOOUAADjnA4ANlYAgIJlAACBfQAAgH0AADpWAIA+VgCAvsQHALNFAgBCVgCAtUUCALZNAgBKVgCAhkAGAIeQBAC67QEAu+UBALz9AQC95QEAvuEBAL/VAQCflQgAngUIAJ3dDQCcPQwAmzEMAJr1DQCZ7RAAmD0QAJfVEQCWsRUAlQUUAJTlFQCTtRkAkjEYAJE5GACQDRwAj2EcANZVAICz1QYATlYAgLX9BgBGVgCAUlYAgLaRBgBWVgCAWlYAgLuVBgC6lQYAvVUHALxVBwC/VQcAvlUHAF5WAIBiVgCAqo0GAKuFBgCsnQYArYUGAK6BBgCvtQYAhKgAAGZWAIBqVgCAoyUFAG5WAIClJQUApi0FAHJWAIB2VgCAelYAgH5WAICCVgCAhlYAgIpWAICOVgCAklYAgJZWAICaVgCAnlYAgKJWAICjqQUAotEEAKHZBACgZQUAgiEdAIM1HQCmVgCAqlYAgIaVGACH3RQAhBkZAIUZGQCKDRUAi7EUAK5WAICyVgCAjsURAI/VDACMzRAAjR0RAJJhDQCTdQ0AvkwAALpWAICWxQkAl80EAJSNDACVXQkAmkEFAJtBBQCGyP8Ah0wAAIFZAACAeQAAnCEEAIJRAAChxQEAvlYAgKMB/ACi2QEApRX9AKS1/QCnufkApgH4AKkJ+AColfkAqwX1AKqt9QCtsfEArAHwAK8d8ACurfEAseHtALAB7ACzAegAsv3sALVd6QC09ekAwlYAgMZWAIDKVgCAzlYAgNJWAIDWVgCA2lYAgN5WAIDiVgCA5lYAgKiNBACplQQAqpUEAKulBACsvQQArdkEAK75BACv8QQAhGz8AOpWAIDuVgCA8lYAgPZWAID6VgCA/lYAgAJXAIC4eQUAucUFALrNBQC7xQUAvN0FAL3FBQC+zQUAv+0FALCZBACxmQQAskkFALNJBQC0WQUAtVkFALZJBQC3SQUAox0EAL7M/AAGVwCAClcAgA5XAICmWQQApTUEABJXAICrXQQAql0EABZXAIAaVwCAr50FAK6dBQCtnQUArJ0FAB5XAICznQIAIlcAgCpXAIC2UQIALlcAgDJXAIC1uQIAukkCALtVAgCGSP0Ah8D8AL41AgC/PQIAvEUCAL09AgCo3QQAqUkDAKpRAwCrbQMArHUDAK2VAwCunQMAr7kDAICNAQCB5QEAguEBADZXAIA6VwCAPlcAgEJXAIBGVwCAuJUDALmdAwC6lQMAu60DALy1AwC9vQMAvrUDAL9VAgCwyQMAsdUDALLVAwCzrQMAtLUDALW9AwC2tQMAt60DAEpXAIBOVwCAo9EDAFJXAICl9QMAVlcAgFpXAICmHQMAXlcAgGJXAICrGQMAqgUDAK1xAwCsCQMAr3EDAK55AwDhKAcAZlcAgOPkBgBqVwCA4SgGAG5XAIDjaAEAclcAgHZXAIB6VwCA71gAAH5XAICCVwCAhlcAgO/IBgCKVwCAqE39AKmB/QCq0f0Aq9H9AKzx/QCt8f0ArvH9AK/x/QAmVwCAghEAAIEZAACA0f8AjlcAgJJXAICEdAMAvnQDALh1/gC5ff4AunX+ALvF/gC83f4AvcX+AL7F/gC/9f4AsJH9ALGR/QCykf0As5H9ALRV/gC1Xf4AtlX+ALdN/gCzWf0AllcAgIasAACHRAMAmlcAgLZx/QC1ef0AnlcAgLtV/QC6Vf0AolcAgKZXAIC/mf4AvpH+AL1F/QC8Rf0AqlcAgKMd/QCuVwCAslcAgKY1/QC2VwCAulcAgKU9/QCqEf0AqxH9AL5XAIDCVwCArtX+AK/d/gCsAf0ArQH9AKjN/wCp0f8AqtH/AKsh/gCsIf4ArSH+AK4h/gCvIf4AxlcAgMpXAIDOVwCA0lcAgNZXAIDaVwCA3lcAgOJXAIC4jf4AuZH+ALqV/gC7rf4AvLX+AL25/gC+qf4Av6n+ALDh/gCx4f4AsuX+ALP5/gC06f4AtdX+ALbd/gC3uf4As1n/AOZXAIC2VgCA6lcAgO5XAIC2of4Atan+APJXAIC7Jf4AuiX+APZXAID6VwCAvxH+AL4t/gC9Lf4AvDH+AIIZAACjHf8AgGUAAIEZAACm5f4A/lcAgAJYAICl7f4AqmH+AKth/gCEZAEAviAAAK5p/gCvVf4ArHX+AK1p/gAKWACA4zT+AA5YAIDhfP0AhrAEAIcIAwASWACAFlgAgBpYAIAeWACAhCQDAIQkBAAiWACA70j+ACZYAIAqWACAs+kCAC5YAIC+RAQAvkAFADJYAIC2nQIAtZkCADZYAIC7iQIAur0CADpYAIA+WACAv1kDAL5RAwC9WQMAvJECAKkdAgCoFQIAqyUCAKolAgCtWQIArFUCAK9NAgCuUQIAvmQGAEJYAIBGWACASlgAgE5YAIBSWACAVlgAgFpYAIC5+QMAuPEDALtNAwC68QMAvUEDALxZAwC/cQMAvkEDALEJAgCwPQIAs8kDALIBAgC12QMAtNEDALfJAwC20QMA4ZABAF5YAIDj8AAAYlgAgGZYAICCPQAAgT0AAIA9AABqWACAblgAgHJYAIB6WACAflgAgIJYAIDvLAAAhlgAgKPpAwCKWACAhugEAIdgBQCOWACApp0DAKWZAwCSWACAq4kDAKq9AwCWWACAmlgAgK9ZAgCuUQIArVkCAKyRAwCeWACAolgAgKZYAICqWACArlgAgLJYAIC2WACA71gBAISgBADhVP8AulgAgOOEAQC+WACAwlgAgMZYAIDKWACAs9kBAM5YAICFzBkA0lgAgNZYAIC28QEAtfkBANpYAIC7pQEAutkBAN5YAIDiWACAv50BAL6dAQC9pQEAvK0BAKgBBgCpDQYAqhEGAKsRBgCsMQYArTEGAK4pBgCvJQYAdlgAgILJBwCBwQcAgPEHAOZYAIDqWACAhhwAAIf8AwC47QYAufUGALr9BgC79QYAvO0GAL1RBwC+VQcAv00HALBdBgCxIQYAsjkGALMxBgC0GQYAtRkGALbdBgC31QYAo5kGAO5YAIDyWACA9lgAgPpYAICmsQYApbkGAP5YAICr5QYAqpkGAAJZAIAGWQCAr90GAK7dBgCt5QYArO0GAApZAICz8QcADlkAgBJZAIC2gQcAFlkAgBpZAIC1mQcAuo0HALtlBwAeWQCAIlkAgL59BwC/ZQcAvH0HAL11BwCoLQYAqTUGAKo9BgCrMQYArFUGAK1FBgCuRQYAr3UGACZZAIAqWQCALlkAgDJZAIA2WQCAOlkAgD5ZAIBCWQCAuOkGALn1BgC6/QYAu/UGALztBgC9kQYAvpUGAL+NBgCwDQYAseUGALLtBgCz5QYAtP0GALXlBgC27QYAt+UGAKO1BgBGWQCASlkAgE5ZAIBSWQCApsUGAKXdBgAGWACAqyEGAKrJBgBWWQCAWlkAgK8hBgCuOQYArTEGAKw5BgCASQAAgUkAAIJZAACzRQEAXlkAgLVFAQC2RQEAYlkAgIZAAACHZAAAuikBALslAQC8PQEAvSEBAL4hAQC/FQEAZlkAgGpZAICEBAMAvgAMAOMoBgDv4AIA4RAGAG5ZAIDvkAYA4zwCAHJZAIDh1AEAdlkAgHpZAIB+WQCAglkAgIZZAICKWQCAo8ECAI5ZAIClwQIAklkAgJZZAICmwQIAmlkAgJ5ZAICroQIAqq0CAK2lAgCsuQIAr5ECAK6lAgCpBQIAqLECAKsFAgCqBQIArQ0CAKwFAgCvNQIArjUCAISoDACiWQCAplkAgKpZAICuWQCAslkAgLZZAIC6WQCAuekDALjhAwC7+QMAuuEDAL3pAwC84QMAv10DAL7hAwCxKQIAsCUCALM9AgCyIQIAtRkCALQtAgC32QMAthECAKitAgCp1QIAqtUCAKsNAQCsFQEArQkBAK4xAQCvLQEAvlkAgMJZAIDKWQCAzlkAgNJZAIDWWQCA2lkAgN5ZAIC4IQEAuSEBALrtAQC75QEAvP0BAL3lAQC+7QEAv+UBALBVAQCxXQEAslUBALMtAQC0NQEAtTkBALYtAQC3JQEAgD0BAIGlAACCrQAA79QHAOJZAIDmWQCA6lkAgO8oBwC+LAwA4fQGAO5ZAIDjkAcA8lkAgOGUAQD2WQCA4wwGALMdAgD6WQCAh0QNAIZMDQD+WQCAtskBALXdAQACWgCAu9kBALrRAQAGWgCACloAgL+9AQC+sQEAvbkBALzBAQDGWQCADloAgBJaAIAWWgCAGloAgB5aAIAiWgCAJloAgKgJDwCpCQ8AqhkPAKsZDwCsCQ8ArQkPAK6pDwCvqQ8AsNkPALHtDwCy+Q8As/UPALSVDwC1hQ8AtoUPALe1DwC4jQ8AuWEAALphAAC7YQAAvGEAAL1hAAC+YQAAv2EAAKNdDQCCLQAAgRUAAIAdAAAqWgCApokOAKWdDgAuWgCAq5kOAKqRDgAyWgCANloAgK/9DgCu8Q4ArfkOAKyBDgA6WgCAs/UPAIboAwCHvAMAtu0PAD5aAIBCWgCAteUPALp5DwC7TQ8ARloAgEpaAIC+NQ8AvyUPALxJDwC9RQ8AozEOAE5aAIBSWgCAVloAgFpaAICmKQ4ApSEOAF5aAICriQ4Aqr0OAGJaAIBmWgCAr+EOAK7xDgCtgQ4ArI0OAGpaAIBuWgCAcloAgHZaAIB6WgCAfloAgIJaAICGWgCAiloAgI5aAICSWgCAlloAgIANAACB1QAAgt0AAJpaAICoQQEAqVEBAKpRAQCrZQEArH0BAK2RAACukQAAr5EAAJ5aAICiWgCAhGQBAL5kAQCGkAEAh4QAAKpaAICuWgCAuJEAALmRAAC6kQAAu5EAALyxAAC9sQAAvrEAAL+xAACw8QAAsfkAALLBAACzwQAAtLEAALWxAAC2sQAAt7EAALPZAgCyWgCAvnADAL5EBAC2WgCAthEDALX1AgC6WgCAuz0DALo1AwC+WgCAwloAgL91AwC+dQMAvRUDALwVAwDGWgCAo50CAMpaAIDOWgCAplUDANJaAIDWWgCApbECAKpxAwCreQMA2loAgN5aAICuMQMArzEDAKxRAwCtUQMAqDkDAKk5AwCqjQAAq50AAKyNAACtvQAArrUAAK/dAADiWgCA5loAgOpaAIDuWgCA8loAgPZaAID6WgCA/loAgLhpAAC5aQAAunkAALt5AAC8aQAAvWkAAL7ZAQC/2QEAsKkAALGpAACyvQAAs7UAALSZAAC1mQAAtlkAALdZAAACWwCABlsAgApbAIAOWwCA70QAABJbAICGmAUAh+QCAOOYAACEqAIA4fgBABpbAICAOQAAgTkAAIItAAAeWwCAs0UBACJbAIAmWwCAKlsAgC5bAIC2fQEAtUUBADJbAIC7LQEAui0BADZbAIA6WwCAvx0BAL4dAQC9IQEAvCkBAD5bAIDhUA4AQlsAgOM8DwBGWwCASlsAgE5bAIBSWwCAVlsAgFpbAIDjAAAAXlsAgGJbAIBmWwCAhPQFAO/kDgCuqQEAr6kBAKydAQCtlQEAqpkBAKuZAQBqWwCAblsAgKbJAQByWwCAdlsAgKXxAQCC/QcAo/EBAID9BwCB9QcAFlsAgHpbAIB+WwCAglsAgIZbAICKWwCAhrgDAIeQAwCoDQcAqRkHAKptBwCrZQcArH0HAK1lBwCuZQcAr1UHALAtBwCxxQcAssEHALPdBwC0xQcAtc0HALbFBwC3/QcAuMUHALnJBwC62QcAu9kHALypBwC9qQcAvp0HAL+VBwCzxQcAjlsAgJJbAICWWwCAmlsAgLbFBwC11QcAnlsAgLshBwC6yQcAolsAgKZbAIC/KQcAviEHAL0pBwC8NQcAqlsAgKOBBwCuWwCAslsAgKaBBwC2WwCAulsAgKWRBwCqjQcAq2UHAL5bAIDCWwCArmUHAK9tBwCscQcArW0HAKgVAQCpgQEAqoEBAKuBAQCsgQEArYkBAK6xAQCvsQEAxlsAgMpbAIDOWwCA0lsAgNZbAIDaWwCA3lsAgOJbAIC4ZQAAuW0AALplAAC7fQAAvGUAAL1tAAC+ZQAAv90AALChAQCxrQEAsqUBALO5AQC0qQEAtZ0BALaVAQC3XQAA5lsAgIIdAACBHQAAgB0AAOpbAIDuWwCA8lsAgL5YAQCErAIA9lsAgIcIAQCGjAEA+lsAgKZaAID+WwCAAlwAgLNJAQAGXACAClwAgA5cAIASXACAtkkBALVJAQAWXACAuykBALolAQAaXACAHlwAgL8ZAQC+LQEAvS0BALwxAQC+2AMAIlwAgO/4BgAmXACAKlwAgC5cAIDv4AIAMlwAgOGUAQA2XACA43QCADpcAIDhmAUAPlwAgOMMBwBCXACARlwAgEpcAICjwQIAhIwDAKXBAgBOXACAUlwAgKbBAgBWXACAWlwAgKuhAgCqrQIAraUCAKy5AgCvkQIArqUCAKgxAwCpPQMAqjUDAKtJAwCsWQMArVkDAK5JAwCvQQMAgMUAAIEJAACCGQAAXlwAgGJcAIBqXACAh2wDAIYcHAC47QAAufEAALr1AAC7jQAAvJUAAL2BAAC+gQAAv70AALAJAwCxCQMAsu0AALPhAAC04QAAteEAALblAAC32QAAblwAgHJcAIB2XACAs7ECAHpcAIC13QIAttUCAH5cAICCXACAhlwAgLrBAgC7wQIAvDUBAL05AQC+KQEAvykBAKaNAgCKXACAjlwAgKWFAgCSXACAo+kCAJZcAICaXACArnEBAK9xAQCsbQEArWEBAKqZAgCrmQIAnlwAgKJcAICmXACA4YQGAKpcAIDjJAYArlwAgOGUAQCyXACA4ywAAL7oHQC2XACAulwAgO/IAACE/B0AvvAcAL5cAIDvSAcAwlwAgMZcAIDKXACAzlwAgIEdAACAHQAA0lwAgIIFAACGQBwAh8QcANpcAIDeXACA4lwAgOZcAIDqXACA7lwAgKi1HgCpBR8Aqg0fAKsFHwCsAR8ArQkfAK45HwCvOR8A1lwAgPJcAID2XACA+lwAgP5cAIACXQCABl0AgApdAIC4yR8AudUfALrRHwC76R8AvPkfAL3tHwC+mR8Av5kfALAlHwCxLR8AsjkfALM1HwC0LR8AtQ0fALYFHwC3/R8As4UfAA5dAIASXQCAFl0AgBpdAIC2iR8AtYkfAB5dAIC76R8AuuEfACJdAIAmXQCAv8kfAL7pHwC94R8AvO0fACpdAICjwR8ALl0AgDJdAICmzR8ANl0AgDpdAIClzR8AqqUfAKutHwA+XQCAQl0AgK6tHwCvjR8ArKkfAK2lHwCo6R4AqekeAKr5HgCr+R4ArOkeAK3pHgCuPQEArzUBAID5AQCBzQEAgsUBAIRgAgBGXQCASl0AgIdoAQCGnAAAuNEBALnZAQC64QEAu+EBALyRAQC9nQEAvpUBAL+JAQCwTQEAsVUBALJdAQCzVQEAtE0BALXxAQC28QEAt/EBALNxHgBOXQCAUl0AgFZdAIBaXQCAtmkeALVhHgBeXQCAu5EBALqJAQBiXQCAZl0AgL81AQC+iQEAvYEBALyJAQBqXQCAZlwAgKM5HgBuXQCApSkeAHJdAIB2XQCApiEeAHpdAIB+XQCAq9kBAKrBAQCtyQEArMEBAK99AQCuwQEAgl0AgIZdAICKXQCAjl0AgJJdAICWXQCAml0AgJ5dAICiXQCApl0AgKpdAICuXQCAsl0AgLpdAIC+XQCAvnADAOHkHgCESAIA4+gfAIQABACAeQAAgXkAAIJpAADCXQCAhsAEAIdEAwDGXQCAyl0AgM5dAIDSXQCA7yAfANZdAIDaXQCA3l0AgOJdAIDvSAIA5l0AgOpdAIDuXQCA8l0AgL7oBAD2XQCA+l0AgP5dAIACXgCA4ZABAAZeAIDj6AIAs0kDAApeAIAOXgCAEl4AgBZeAIC2SQMAtUkDABpeAIC7LQMAuiUDAB5eAIAiXgCAvxUDAL4VAwC9IQMAvCkDAKg1AgCpgQIAqoECAKuBAgCsgQIArYkCAK6xAgCvsQIAgP0BAIHNAQCCxQEAKl4AgIaQBACHBAUALl4AgIRwBAC4SQEAuUkBALpZAQC7WQEAvEkBAL1JAQC+eQEAv3kBALChAgCxqQIAsr0CALO1AgC0kQIAtZECALZ5AQC3eQEAMl4AgDZeAIA6XgCAPl4AgEJeAIBGXgCASl4AgO/QHgC+6AQA4VweAE5eAIDjkAAAUl4AgFZeAIBaXgCAXl4AgKNJAgBiXgCAZl4AgGpeAIBuXgCApkkCAKVJAgByXgCAqy0CAKolAgB2XgCAel4AgK8VAgCuFQIArSECAKwpAgCoNQYAqT0GAKpVBgCrZQYArH0GAK1lBgCubQYAr2EGACZeAIB+XgCAgl4AgIZeAICADQAAgbEAAIKxAACKXgCAuOkGALnpBgC6+QYAu/UGALyVBgC9nQYAvpUGAL+NBgCw4QYAseEGALLhBgCz/QYAtOUGALXtBgC25QYAt9kGALPdBgCOXgCAkl4AgJZeAICaXgCAtuUGALX1BgCeXgCAuyUGALolBgCGmAAAh6wAAL8pBgC+IQYAvSkGALw1BgCiXgCAo5kGAKZeAICqXgCApqEGAK5eAICyXgCApbEGAKphBgCrYQYAtl4AgLpeAICuZQYAr20GAKxxBgCtbQYAqC0GAKk9BgCqiQYAq4kGAKyZBgCtmQYArokGAK+JBgC+XgCAwl4AgMZeAIDKXgCAzl4AgNJeAIDWXgCA2l4AgLiNBgC5lQYAupUGALulBgC8vQYAvXEBAL5xAQC/cQEAsPkGALHNBgCy2QYAs9kGALTJBgC1yQYAtr0GALe1BgCzAQYA3l4AgOJeAIDmXgCA6l4AgLYZBgC1EQYA7l4AgLsJBgC6PQYA8l4AgPZeAIC/DQYAvg0GAL0NBgC8DQYA+l4AgKNFBgC2XQCA/l4AgKZdBgACXwCAhFgAAKVVBgCqeQYAq00GAL5oAQAGXwCArkkGAK9JBgCsSQYArUkGAIDBAwCByQMAgt0DAKPNAgAKXwCApdkCAKbNAgAOXwCAhoANAIeUAwCqxQIAqw0DAKwVAwCtHQMArhUDAK8NAwDhnBcA4xgGAOMUAwDhNAYA7xgCABJfAIAWXwCAGl8AgOPQAgAeXwCA4VACACJfAIAmXwCA7ywGAO/kJQAqXwCArE0CAK1RAgCuUQIAr2UCAKgBAgCpCQIAqlkCAKtVAgCE7A0ALl8AgDJfAIA2XwCAvvgNADpfAIA+XwCAQl8AgLxRAwC9WQMAvmEDAL9hAwC47QMAuVEDALpRAwC7UQMAtM0DALXVAwC23QMAt9UDALAdAgCx1QMAst0DALPVAwDjyAAARl8AgOG4AQBKXwCAhFQPAE5fAIBSXwCAVl8AgKHpAgCgFQYAo6UDAKINAwDvIAAAWl8AgF5fAIBiXwCAZl8AgGpfAICFNCYAs40DAG5fAIC1mQMAto0DAHJfAICGwA8Ah5QNALqFAwC7TQIAvFUCAL1dAgC+VQIAv00CAHpfAIB+XwCAgl8AgIZfAICKXwCAjl8AgI/d6wDvxAYAvuAPAOGMBgCSXwCA44AGAID1AACB5QAAguUAAJZfAICZbR8AmMUfAJvJGwCaeRoAnXUaAJzFGwCf+QcAnhkGAJFpFgCQsesAk20XAJLNFwCV0RMAlGkSAJdREgCWzRMAg1XkAIJB5AB2XwCAml8AgIeNHQCGkRgAhTkYAISVGQCLERwAigUcAJ5fAICiXwCAj4UVAI6ZEACNORAAjJUdAJNRFACSRRQApl8AgKpfAICXYQkAlnUIAJWdCQCU+RUAm0EMAJqtDQCuXwCAsl8AgLZfAIC6XwCAvl8AgJzxDAChbQ0Awl8AgKMBBACihQAApZkEAKSRBACnGTgApsUFAKkJOACoKTgAq4k8AKoBPACtATAArB08AK8pMACunTAAseE0ALABNACzASgAsv00ALXZKAC00SgAxl8AgMpfAIDOXwCA0l8AgNZfAIDaXwCAgB0AAIEJAACC2QEA3l8AgKgRDwCpGQ8Aql0PAKtVDwCsTQ8ArXEPAK51DwCvbQ8A4l8AgOpfAICGiAAAhxABAO5fAIDyXwCA9l8AgPpfAIC4TQ4AuVEOALpRDgC7UQ4AvGUOAL1tDgC+ZQ4Avx0OALAdDwCxwQ8AssEPALPBDwC0xQ8Atc0PALbFDwC3eQ4As9UPAP5fAIACYACABmAAgApgAIC28Q8AtcUPAA5gAIC7BQ8AutkPABJgAIAWYACAvwkPAL4BDwC9FQ8AvBUPABpgAICjkQ8AHmAAgCJgAICmtQ8AJmAAgCpgAIClgQ8Aqp0PAKtBDwAuYACAMmAAgK5FDwCvTQ8ArFEPAK1RDwCogQ0AqYENAKqBDQCrgQ0ArIENAK2BDQCusQ0Ar6ENADZgAIA6YACAPmAAgEJgAIBGYACAgrkAAIG9AACAvQAAuDUCALk9AgC6zQIAu5UCALyNAgC9tQIAvr0CAL+1AgCwbQIAsU0CALJFAgCzJQIAtD0CALUdAgC2FQIAtw0CAEpgAIBOYACAswENAFJgAIC1AQ0AWmAAgISUAwC2CQ0AviwEAF5gAIC7gQIAuqECAL35AgC8mQIAv9ECAL7xAgBiYACAZmAAgGpgAICjRQ0AbmAAgKVFDQCmTQ0AcmAAgIbgBACHpAQAquUCAKvFAgCs3QIArb0CAK61AgCvlQIAqCUCAKk1AgCqPQIAqzUCAKwtAgCtkQIArpECAK+RAgB2YACAemAAgH5gAICCYACAzAAAAIZgAICKYACAjmAAgLiZAgC5rQIAuqUCALttAQC8dQEAvX0BAL51AQC/bQEAsPECALH5AgCywQIAs8ECALSxAgC1vQIAtrUCALepAgCSYACA44QOAJZgAIDh9A4AmmAAgJ5gAICiYACApmAAgIQgBQCqYACArmAAgLJgAIC2YACA7+wOALpgAIC+YACAs/UCAMJgAICG6AQAh4wEAL5cBAC2UQIAteUCAMpgAIC7fQIAunUCAM5gAIDSYACAvzkCAL41AgC9VQIAvFUCAKM1BQBWYACAxmAAgNZgAIDaYACAppEFAKUlBQDeYACAq70FAKq1BQDiYACA5mAAgK/5BQCu9QUArZUFAKyVBQCA+QcAgfkHAIKNBwCzjQYA6mAAgLWdBgC2iQYA7mAAgPJgAID2YACAuk0HALtFBwC8XQcAvUEHAL5BBwC/QQcA+mAAgP5gAIDmXwCAAmEAgAZhAIAKYQCADmEAgBJhAICoNQYAqQEGAKppBgCraQYArHkGAK1lBgCuZQYAr50HALDlBwCx7QcAsuUHALP5BwC06QcAtekHALZZBwC3VQcAuHEHALlxBwC6cQcAu3EHALxVBwC9XQcAvlUHAL9NBwCjwQcAFmEAgBphAIAeYQCAImEAgKbFBwCl0QcAJmEAgKsJBgCqAQYAKmEAgC5hAICvDQYArg0GAK0NBgCsEQYAgGkAAIFpAACCBQAAMmEAgL6YAQCEmAEANmEAgDphAICGADwAh8QBAD5hAIBCYQCARmEAgEphAIBOYQCAUmEAgKhdBgCpbQYAqmUGAKuBAQCsgQEArYkBAK6xAQCvsQEAVmEAgFphAIBeYQCAYmEAgGZhAIBqYQCAbmEAgHJhAIC4VQEAuV0BALpVAQC7yQAAvNkAAL3ZAAC+yQAAv8EAALCxAQCxuQEAsokBALOJAQC0cQEAtXEBALZ1AQC3bQEAs+0FAHZhAIB6YQCAfmEAgIJhAIC2CQIAtQkCAIZhAIC7fQIAunUCAIphAICOYQCAv7UCAL61AgC9XQIAvF0CAL5gAgCjqQUAkmEAgJZhAICmTQIAmmEAgJ5hAIClTQIAqjECAKs5AgCiYQCAhOADAK7xAgCv8QIArBkCAK0ZAgC+iDwAqmEAgKotAwCrJQMArD0DAK0lAwCuLQMAryUDAID1AACB/QAAgsEAAKPBAwCuYQCApcEDAKbBAwCyYQCAhmA8AIdUAwC2YQCAumEAgL5hAIDjqAIAwmEAgOGkAQDGYQCA71wCAMphAIDOYQCA0mEAgNZhAIDaYQCA3mEAgOJhAIDjjAcA5mEAgOE8BADqYQCA7mEAgPJhAID2YQCAhCACAPphAID+YQCAAmIAgAZiAIDvbAcACmIAgA5iAICzLQIAhEQ9ABJiAIAaYgCAHmIAgLYtAgC1LQIAImIAgLvJAgC6wQIAJmIAgCpiAIC/yQIAvsECAL3JAgC80QIA4XgHAOPAAADjOAYA4VwGAICpAACBqQAAgtEAAC5iAIAyYgCANmIAgL6kPAA6YgCAPmIAgO8cAADvkAYAQmIAgIZgPACHBD0ARmIAgLNxAQBKYgCAtRkBALYJAQBOYgCAUmIAgFZiAIC6AQEAuwEBALwBAQC9AQEAvgEBAL8BAQCohT4AqbU+AKq1PgCrxT4ArN0+AK3FPgCuwT4Ar/0+AFpiAIBeYgCAYmIAgGZiAIBqYgCAbmIAgHJiAIB2YgCAuFE/ALlRPwC6UT8Au1E/ALx1PwC9fT8AvnU/AL9tPwCwiT4AsYk+ALKZPgCzmT4AtIk+ALWJPgC2eT8At3U/AKZhAICjOT4AemIAgBZiAICmQT4AfmIAgIJiAIClUT4Aqkk+AKtJPgCGYgCAimIAgK5JPgCvST4ArEk+AK1JPgCASQAAgVEAAIJRAACzkT8AjmIAgLW5PwC2RT8AkmIAgIZAAACHBAMAukU/ALtdPwC8TT8AvT0/AL4pPwC/IT8AqE0+AKlVPgCqVT4Aq2U+AKx9PgCtiT4Arrk+AK+5PgCWYgCAmmIAgJ5iAICiYgCApmIAgKpiAICuYgCAsmIAgLhhAQC5YQEAumEBALthAQC8YQEAvWEBAL5hAQC/YQEAsM0+ALHVPgCy1T4As6U+ALShPgC1qT4Atpk+ALeZPgCj3T4AtmIAgLpiAIC+YgCAwmIAgKYJPgCl9T4AxmIAgKsRPgCqCT4AymIAgM5iAICvbT4ArmU+AK1xPgCsAT4A0mIAgNZiAIDaYgCA3mIAgOJiAIDmYgCA6mIAgO5iAICAOQAAgTkAAIIFAADyYgCAvrgBAIS4AQD6YgCA/mIAgKitAgCp1QIAqtUCAKstAwCsNQMArT0DAK41AwCvLQMAAmMAgAZjAIAKYwCADmMAgBJjAIAWYwCAGmMAgB5jAIC46QMAuekDALqJAwC7iQMAvJkDAL2ZAwC+iQMAv4kDALBVAwCxXQMAslUDALPpAwC0+QMAtfkDALbpAwC34QMAs10CACJjAICGKAQAh8wDACZjAIC2vQMAtb0DACpjAIC7mQMAupEDAC5jAIAyYwCAvz0DAL49AwC9PQMAvIEDAIUAFACjGQIANmMAgDpjAICm+QMAPmMAgEJjAICl+QMAqtUDAKvdAwBGYwCASmMAgK55AwCveQMArMUDAK15AwDjVD4A4dw/AOHQPgDjPD4ATmMAgO8cAABSYwCAVmMAgFpjAIDjwAAAXmMAgOHUAQDvYD4AYmMAgGpjAIDvRD8AgGEAAIFtAACCfQAAhAAFAIbwBACHnAUAvhAFAG5jAIByYwCAdmMAgHpjAIB+YwCAgmMAgIZjAICKYwCAjmMAgLiJPQC5iT0Aupk9ALuRPQC8uT0Avbk9AL7RPQC/0T0AsAU+ALENPgCyBT4Asx0+ALQFPgC1DT4AtgU+ALe5PQConT4Aqa0+AKqlPgCrvT4ArKU+AK2tPgCupT4Ar30+AISsBAC+rAQAkmMAgJZjAICaYwCAnmMAgKJjAICmYwCAqPkFAKn5BQCqKQYAqykGAKw5BgCtOQYArikGAK8pBgBmYwCAqmMAgK5jAICyYwCAtmMAgLpjAIC+YwCAwmMAgLiNBgC5kQYAupEGALulBgC8vQYAvUUHAL5BBwC/QQcAsFkGALFZBgCy7QYAs/0GALTtBgC13QYAttUGALe1BgCzoQYAxmMAgMpjAIDOYwCA0mMAgLa5BgC1sQYA2mMAgLudBgC6nQYA1mMAgPZiAIC/GQYAvikGAL0pBgC8OQYAglEAAKPlBgCAQQAAgUEAAKb9BgDeYwCA4mMAgKX1BgCq2QYAq9kGAIZIAACHbAAArm0GAK9dBgCsfQYArW0GAKg5BgCpWQYAqmkGAKtpBgCseQYArXkGAK5pBgCvaQYA5mMAgOpjAIDuYwCA8mMAgPZjAID6YwCA/mMAgAJkAIC4ZQEAuW0BALplAQC7fQEAvGUBAL1tAQC+ZQEAv9kBALAZBgCxGQYAsoEGALOBBgC0gQYAtYEGALaBBgC3gQYAs+EGAAZkAIAKZACADmQAgBJkAIC2+QYAtfEGABZkAIC73QYAut0GABpkAIAeZACAv0UGAL5FBgC9VQYAvFUGACJkAICjpQYAJmQAgCpkAICmvQYALmQAgDJkAICltQYAqpkGAKuZBgA2ZACAOmQAgK4BBgCvAQYArBEGAK0RBgConQIAqdECAKrRAgCrLQMArDUDAK09AwCuNQMAry0DAD5kAIBCZACAvmQCAEpkAIBOZACAUmQAgFZkAIBaZACAuOkDALnpAwC6iQMAu4UDALydAwC9gQMAvoEDAL+1AwCwVQMAsV0DALJVAwCz6QMAtPkDALX5AwC26QMAt+EDAIBtAwCBpQAAgq0AALNVAgBeZACAtbEDALaxAwBiZACAhOACAGZkAIC6nQMAu5UDALyNAwC9MQMAvjEDAL8xAwCjGQIAamQAgIVwaQBuZACAcmQAgKb9AwCl/QMAdmQAgKvZAwCq0QMAhkgMAIe8AwCvfQMArn0DAK19AwCswQMAemQAgH5kAICCZACAhmQAgO+wBgDvxAMAimQAgI5kAIDjfAYA45QDAOG4BwDh3AEAkmQAgJZkAICaZACAnmQAgKJkAICmZACAhEQCAL5YDQCADQAAgTUAAII9AACqZACArmQAgLJkAICGyAwAh1wNALpkAIC+ZACAwmQAgMZkAIDKZACAzmQAgNJkAIDWZACA2mQAgN5kAIDiZACA74AGAISsDQDh7AYA5mQAgONcBgDqZACA7mQAgPJkAID2ZACAs/UBAPpkAID+ZACAAmUAgAZlAIC2RQEAteUBAAplAIC7LQEAuiEBAA5lAIASZQCAv/UAAL71AAC9JQEAvC0BAKgtDgCpNQ4Aqj0OAKs1DgCsLQ4ArYUOAK6FDgCvuQ4AtmQAgBZlAIAaZQCAHmUAgIAZAACBGQAAggUAACJlAIC4WQ8AuVkPALp5DwC7eQ8AvGkPAL1pDwC+GQ8AvxkPALClDgCxqQ4AsrkOALOxDgC0cQ8AtXEPALZxDwC3cQ8Apb0OAL6IAwAqZQCAph0OACZlAIAuZQCAo60OADJlAICtfQ4ArHUOAK+tDwCurQ8ARmQAgDZlAICrdQ4AqnkOALO5DwA6ZQCAhmgAAIcMAwA+ZQCAtlEPALVZDwBCZQCAu3UPALp1DwBGZQCASmUAgL9FDwC+RQ8AvVEPALxlDwCocQ4AqXEOAKpxDgCrcQ4ArJEOAK2RDgCukQ4Ar5EOAE5lAIBSZQCAVmUAgFplAIBeZQCAYmUAgGZlAIBqZQCAuIUOALmNDgC6hQ4Au50OALyNDgC9vQ4AvrUOAL95AQCw8Q4AsfEOALLxDgCzxQ4AtMEOALXBDgC2wQ4At8EOAKP5DgBuZQCAcmUAgHZlAIB6ZQCAphEOAKUZDgB+ZQCAqzUOAKo1DgCCZQCAhmUAgK8FDgCuBQ4ArREOAKwlDgCADQAAgRUAAIIdAACKZQCAjmUAgJJlAICElAEAvpQBAIZABwCH5AAAmmUAgJ5lAICiZQCApmUAgKplAICuZQCAqIkCAKmRAgCqlQIAq7kCAKzVAgCtxQIArsUCAK/1AgCyZQCAtmUAgLplAIC+ZQCAvnwDAMJlAIDGZQCAymUAgLh9AwC5wQMAusEDALvBAwC8wQMAvckDAL7xAwC/8QMAsI0CALFFAwCyTQMAs0UDALRdAwC1RQMAtk0DALdFAwCzHQIAzmUAgNJlAIDWZQCA2mUAgLZFAgC1XQIA3mUAgLuBAwC6SQIA4mUAgOZlAIC/gQMAvpkDAL2RAwC8mQMA6mUAgKNZAgDuZQCA8mUAgKYBAgD2ZQCA+mUAgKUZAgCqDQIAq8UDAP5lAIACZgCArt0DAK/FAwCs3QMArdUDAIDZAQCB7QEAguUBAO+4DgAKZgCA4cQBAISYAgDj1AAADmYAgL7sBAASZgCA7wgAABZmAIDhxA8AGmYAgONkDgCGAAUAh2gFAB5mAICzvQIAImYAgLWtAgC2pQIAJmYAgCpmAIAuZgCAukEBALtBAQC8RQEAvU0BAL5FAQC/+QEAMmYAgDZmAIA6ZgCAPmYAgEJmAIBGZgCASmYAgO/gAQCEbAQA4dQOAE5mAIDjHA4AUmYAgFZmAIBaZgCAXmYAgKMxAgBiZgCAhCQHAGZmAIBqZgCApikCAKUhAgBuZgCAq80BAKrNAQByZgCAemYAgK91AQCuyQEArcEBAKzJAQCo6QUAqekFAKr5BQCr+QUArOkFAK3pBQCuOQYArzkGAAZmAICCzQcAgfUHAID9BwB2ZgCAfmYAgIYYAwCHkAMAuNEGALnZBgC64QYAu+EGALyRBgC9nQYAvpUGAL+JBgCwSQYAsUkGALJdBgCzVQYAtE0GALXxBgC28QYAt/EGALDhBwCx4QcAsgkHALMJBwC0GQcAtRkHALYJBwC3CQcAuDkHALkNBwC6GQcAuxkHALwJBwC9CQcAvn0HAL9xBwCCZgCAlmUAgIZmAICKZgCAjmYAgJJmAICWZgCAmmYAgKjxBwCpxQcAqsEHAKvdBwCsyQcArb0HAK6pBwCvoQcAsykGAJ5mAICiZgCApmYAgKpmAIC2XQYAtSEGAK5mAIC7RQYAukUGALJmAIC2ZgCAv70GAL69BgC9vQYAvL0GALpmAICjbQYAvmYAgMJmAICmGQYAxmYAgMpmAIClZQYAqgEGAKsBBgDOZgCA0mYAgK75BgCv+QYArPkGAK35BgCobQYAqbEBAKpJAQCrRQEArF0BAK1FAQCuTQEAr0UBANZmAICCHQAAgR0AAIAdAADaZgCA3mYAgOJmAIC+VAEAuIEAALmNAAC6hQAAu5kAALyJAAC9vQAAvrUAAL99AACwPQEAseEAALLhAACz4QAAtOEAALXpAAC20QAAt9EAALsFAwC62QIAhiwCAIcsAwC/DQMAvgUDAL0VAwC8FQMAs+ECAOpmAIDuZgCAhCwDAPJmAIC25QIAtfUCAPZmAICqnQIAq0EDAPpmAID+ZgCArkEDAK9JAwCsUQMArVEDAAJnAICjpQIABmcAgApnAICmoQIADmcAgBJnAIClsQIAqakAAKihAACrtQAAqr0AAK3dAACs3QAAr/EAAK79AAC+LBwAFmcAgBpnAIAeZwCAImcAgCZnAIAqZwCALmcAgLl9AAC4fQAAu80BALrNAQC93QEAvN0BAL/NAQC+zQEAsZUAALCJAACzTQAAspUAALVdAAC0XQAAt00AALZNAAAyZwCANmcAgDpnAIA+ZwCAQmcAgEZnAIBKZwCATmcAgIA5AACBOQAAggUAAFJnAIBaZwCAXmcAgIf4AgCGfB0A4bgEAL7IHADjQAYAYmcAgGZnAIBqZwCAbmcAgHJnAIB2ZwCAemcAgH5nAICCZwCAhmcAgIpnAIDvsAcAjmcAgJJnAICWZwCAmmcAgO/IAACeZwCAomcAgKZnAIDvQAYAqmcAgOH8BgCuZwCA4xwGALJnAIDhlAEAtmcAgONkBgCAEQAAgRkAAIIpAACz/QEAumcAgLWdAQC2lQEAvmcAgMJnAICEbB0AuoUBALuZAQC8iQEAvVEBAL5RAQC/UQEAozEeAFZnAIDGZwCAymcAgM5nAICmWR4ApVEeANJnAICrVR4AqkkeAIYIAwCHbAMAr50eAK6dHgCtnR4ArEUeANZnAICzCR8A2mcAgN5nAIC2CR8A4mcAgOZnAIC1CR8AugUfALsNHwDqZwCA7mcAgL4FHwC/CR8AvBUfAL0NHwCw5R8Ase0fALLlHwCz/R8AtOUfALXpHwC2GR8AtxkfALgpHwC5NR8Auj0fALs1HwC8ER8AvR0fAL4JHwC/BR8A8mcAgPZnAIDmZgCA+mcAgP5nAIACaACABmgAgApoAICo0R8AqdEfAKqlHwCrvR8ArKUfAK2tHwCupR8Ar50fAKNNHgAOaACAEmgAgBZoAIAaaACApk0eAKVNHgAeaACAq0keAKpBHgAiaACAJmgAgK9NHgCuQR4ArUkeAKxRHgCADQAAgRUAAIIdAAAqaACALmgAgDJoAICEtAEAvrQBAL/oAQA6aACAhkgHAIc0AACEvAYAPmgAgEJoAIC+tAYAqI0BAKmVAQCqlQEAq80BAKzZAQCt2QEArs0BAK/FAQBGaACASmgAgE5oAIBSaACAVmgAgFpoAIBeaACAYmgAgLgdAQC5wQAAusEAALvBAAC8wQAAvckAAL7xAAC/8QAAsIkBALGJAQCyKQEAsykBALQ9AQC1JQEAti0BALclAQC7bQIAum0CAGZoAIBqaACAv8ECAL7ZAgC93QIAvN0CALM9AgBuaACAcmgAgHZoAICE/AYAtnkCALVxAgB6aACAqikCAKspAgB+aACAgmgAgK6dAgCvhQIArJkCAK2ZAgCGaACAo3kCAIpoAICOaACApj0CAJJoAICWaACApTUCAIJtJwCDjSoAhqgFAIdsAwCGmS4Ah80vAIQRLgCFmS4AiiESAIspEgCaaACAnmgAgI6RFgCPHRYAjBESAI0RFgCScRoAk+UaAKJoAIDvlHYAlvEeAJflHgCUSRoAlRkeAJopAgCb4QIAqmgAgK5oAICyaACA4SASAJzxAgDjIBYAnyEfAJ7BHwCdmRsAnC0bAJuhGwCavRcAmTkXAJixFwCXiRMAlqkTAJWpEwCUdS4AkzkvAJIxLwCRsS8AkDUrAI+tJgDjeB8A0gAAAOFcHwCCmQEAtmgAgIDxAQCB8QEAvqgHALpoAIC+aACAwmgAgIS8BgDvLB8AxmgAgMpoAIDhpB4A48wAAON8HgDhvAEAzmgAgNJoAIDWaACAhJwGANpoAIC+bAYA3mgAgOJoAIDmaACA7xAAAO8EHgDqaACA7mgAgPJoAID2aACA+mgAgP5oAIACaQCABmkAgAppAICAPQAAgQkAAILJBwAOaQCAo/kDAKLxAwChMQMAoM0fALBJcQCxAXwAsgl8ALMhfQC0AXgAtRV4ADZoAICmaACAEmkAgL4oDgCGDAAAh4wDABZpAIAaaQCAHmkAgCJpAIAmaQCAoV0AAKJVAACjfQAApAEMAKUVDACm9QwApwEIAKghCACpxQgAqgF0AKsJdACsAXQArR11AK55cACveXAAqOUFAKnxBQCq8QUAqy0FAKw1BQCtPQUArjUFAK8tBQAqaQCALmkAgDJpAIA2aQCAOmkAgD5pAIBCaQCARmkAgLj9BgC5jQYAuoUGALutBgC8uQYAvbkGAL6tBgC/pQYAsFUFALFdBQCyVQUAs+UGALT9BgC10QYAttEGALfRBgCzeQQASmkAgE5pAIBSaQCAVmkAgLa9BAC1vQQAWmkAgLuZBAC6kQQAXmkAgGJpAIC/FQcAvjkHAL0xBwC8gQQAZmkAgKM9BABqaQCAbmkAgKb5BAByaQCAdmkAgKX5BACq1QQAq90EAHppAIB+aQCArn0HAK9RBwCsxQQArXUHAKhpBwCpaQcAqnkHAKvZBgCs9QYArf0GAK71BgCv5QYAgMkAAIHJAACCBQAAgmkAgIZwDwCHNAAAimkAgI5pAIC4fQYAuQUGALoNBgC7BQYAvB0GAL0FBgC+DQYAvwUGALCdBgCxdQYAsn0GALN1BgC0UQYAtV0GALZVBgC3TQYAs/EEAJJpAICWaQCAmmkAgJ5pAIC2fQUAtX0FAKJpAIC7sQUAulkFAKZpAICqaQCAv5kFAL6VBQC9oQUAvKkFAK5pAICjtQQAsmkAgLZpAICmOQUAumkAgL5pAIClOQUAqh0FAKv1BQDCaQCAxmkAgK7RBQCv3QUArO0FAK3lBQCpuQIAqLECAKvJAgCqsQIArTUCAKw1AgCvNQIArjUCAMppAIDOaQCA0mkAgNZpAIDaaQCA3mkAgOJpAIDmaQCAuekDALjZAwC7iQMAuuEDAL2dAwC8nQMAv4EDAL6JAwCxVQIAsFUCALNVAgCyVQIAtfkDALTxAwC36QMAtvEDALM9AwDqaQCA7mkAgPJpAID6aQCAtrEDALW5AwD+aQCAu5UDALqVAwCGiAwAh6ANAL85AgC+MQIAvYUDALyFAwACagCAo3kDAAZqAIAKagCApvUDAA5qAIASagCApf0DAKrRAwCr0QMAFmoAgBpqAICudQIAr30CAKzBAwCtwQMAgIUAAIGNAACChQAA79AGAOOwBwDj9AQA4QgHAOHsBADvOAYA7yAEAL6kDAAeagCAImoAgOGEAQAmagCA49wGACpqAIAuagCAhMANALPJAQAyagCAtdkBALbJAQA2agCAOmoAgD5qAIC6xQEAu60BALy5AQC9uQEAvq0BAL+lAQCwLQ4AsUUOALJBDgCzQQ4AtEUOALVNDgC2cQ4At3EOALiBDgC5gQ4AuoEOALuBDgC8gQ4AvYEOAL6BDgC/gQ4A9mkAgEJqAIBGagCASmoAgIZpAIBOagCAUmoAgFZqAICo2Q0AqdkNAKptDgCrZQ4ArH0OAK1lDgCuZQ4Ar1UOAKOFDgCCLQAAgRUAAIAdAABaagCApoUOAKWVDgBeagCAq+EOAKqJDgBiagCAZmoAgK/pDgCu4Q4ArfUOAKz1DgBqagCAs4UPAIZoAACHHAMAtoUPAG5qAIByagCAtZEPALqNDwC7SQ8AdmoAgHpqAIC+MQ8AvzEPALxJDwC9RQ8AqBEOAKkZDgCqSQ4Aq0UOAKxdDgCtQQ4ArkEOAK91DgB+agCAgmoAgIZqAICKagCAjmoAgJJqAICWagCAmmoAgLihDgC5oQ4Aug0BALsFAQC8HQEAvQEBAL4BAQC/AQEAsA0OALHJDgCy2Q4As9UOALSxDgC1sQ4AtqkOALehDgCjwQ4AnmoAgKJqAICmagCAqmoAgKbBDgCl1Q4ArmoAgKsNDgCqyQ4AsmoAgLZqAICvdQ4ArnUOAK0BDgCsDQ4AumoAgL5qAIDCagCAxmoAgIANAACBNQAAgj0AAMpqAIDOagCA0moAgISEAQC+hAEAhjAHAIf4AADaagCA3moAgKjBAgCp0QIAqtECAKvlAgCs/QIArTUDAK49AwCvNQMA4moAgOZqAIDqagCA7moAgPJqAID2agCA+moAgP5qAIC40QMAudkDALrhAwC74QMAvJEDAL2RAwC+kQMAv5EDALBNAwCxVQMAsl0DALNVAwC0TQMAtfEDALbxAwC38QMAu7EDALqpAwACawCAvoQDAL8VAwC+qQMAvaEDALypAwCzeQIABmsAgAprAIAOawCAEmsAgLaVAwC1VQIAFmsAgKrtAwCr9QMAGmsAgB5rAICu7QMAr1EDAKztAwCt5QMAImsAgKM9AgAmawCAKmsAgKbRAwAuawCAMmsAgKURAgA2awCAgiEAAIEVAACAFQAA7wQAAISUAgA6awCAPmsAgOPYAABCawCA4fgBAEprAIBOawCAUmsAgFZrAIBaawCAhmAFAIcIBQBeawCAs20BAGJrAIC1fQEAtnUBAGZrAIBqawCAbmsAgLpRAQC7UQEAvPkBAL3RAQC+0QEAv9EBAHJrAICjpQEAdmsAgHprAICmvQEAfmsAgIJrAICltQEAqpkBAKuZAQCGawCAimsAgK4ZAQCvGQEArDEBAK0ZAQCOawCA4fQOAJJrAIDjFA4A9AAAAOF8DACWawCA41AKAJprAICeawCAviAEAO8wDQCiawCApmsAgIQ0BADvrA4AsDkGALE5BgCygQYAs6kGALS5BgC1uQYAtqkGALehBgC46QYAuekGALrJBgC7xQYAvN0GAL3BBgC+wQYAvz0HAEZrAICCHQAAgR0AAIAdAACqawCArmsAgLJrAIDWagCAqJkFAKmZBQCqSQYAq0kGAKxZBgCtWQYArkkGAK9JBgCorQcAqbUHAKq9BwCrtQcArK0HAK3dBwCuyQcAr8EHALZrAIC6awCAhogDAIcQAwC+awCAwmsAgMZrAIDKawCAuG0HALkFBwC6AQcAuxUHALwxBwC9MQcAvikHAL8pBwCwgQcAsYEHALJpBwCzZQcAtH0HALVhBwC2YQcAt1UHALM1BgDOawCA0msAgNZrAIDaawCAtl0GALUlBgDeawCAu0UGALpFBgDiawCA5msAgL+lBgC+uQYAvbEGALy9BgDqawCAo3EGAO5rAIDyawCAphkGAPZrAID6awCApWEGAKoBBgCrAQYA/msAgAJsAICu/QYAr+EGAKz5BgCt9QYAqCUBAKk1AQCqPQEAqzUBAKwtAQCtkQAArpEAAK+RAAAGbACACmwAgA5sAIASbACAFmwAgIK9AwCBvQMAgL0DALiZAAC5rQAAuqUAALttAAC8dQAAvX0AAL51AAC/bQAAsPEAALH5AACywQAAs8EAALSxAAC1vQAAtrUAALepAAAabACAHmwAgCJsAICEgAIAvhwCACpsAICG+HwAh8wCAISsAwAubACAMmwAgDZsAIA6bACAPmwAgEJsAIBGbACAs/UCAEpsAIBObACAkgAAAFJsAIC2UQMAteUCAFZsAIC7fQMAunUDAFpsAIBebACAvzkDAL41AwC9VQMAvFUDAKM1AgBibACAZmwAgGpsAIBubACAppEDAKUlAgBybACAq70DAKq1AwB2bACAemwAgK/5AwCu9QMArZUDAKyVAwC+wAMAfmwAgIJsAICGbACAgA0AAIE1AACCPQAAimwAgI5sAICSbACAhsh8AIcAAwCabACAnmwAgKJsAICmbACAqmwAgK5sAICybACAtmwAgLpsAIC+bACAwmwAgO/0AwCE7HwA4ZQBAMZsAIDjMAMAymwAgM5sAIDSbACA1mwAgLNpAQDabACA3mwAgOJsAIDmbACAtmEBALVpAQDqbACAuykBALohAQDubACA8mwAgL8dAQC+HQEAvSUBALwtAQD2bACA+mwAgP5sAICjpQEAAm0AgKWlAQCmrQEAvlR8AIaAfACH7HwAqu0BAKvlAQCs4QEArekBAK7RAQCv0QEACm0AgOGcBgCEBH8A4yQGAOPUBgAObQCA4TAEABJtAIDvlAcAgnUAAIFhAACAaQAAFm0AgBptAIAebQCA7+wGALiNfgC5lX4AupV+ALulfgC8vX4AvdF+AL7RfgC/0X4AsGV+ALFtfgCyeX4As3F+ALRZfgC1WX4Atr1+ALe1fgCoVX4AqWF+AKphfgCrYX4ArGF+AK1hfgCuYX4Ar2F+ACJtAICWbACAJmwAgCZtAIAGbQCAKm0AgC5tAIAybQCAqHF+AKlxfgCqcX4Aq3F+AKyRfwCtkX8ArpF/AK+RfwA2bQCAOm0AgD5tAIBCbQCARm0AgEptAIBObQCAUm0AgLiFfwC5jX8AuoV/ALudfwC8jX8Avb1/AL61fwC/XX8AsPF/ALHxfwCy8X8As8V/ALTBfwC1wX8AtsF/ALfBfwCz+X8AVm0AgFptAIBebQCAYm0AgLYRfgC1GX4AZm0AgLs1fgC6NX4Aam0AgG5tAIC/BX4AvgV+AL0RfgC8JX4AghUAAKO9fwCAYQAAgWEAAKZVfgBybQCAvpABAKVdfgCqcX4Aq3F+AHZtAIB6bQCArkF+AK9BfgCsYX4ArVV+AKhBfgCpUX4AqlV+AKt9fgCsZX4ArW1+AK75AQCv8QEAhgAAAIc0AQB+bQCAgm0AgIZtAICKbQCAjm0AgJJtAIC4dQEAuX0BALp1AQC7yQAAvNkAAL3ZAAC+yQAAv8EAALCVAQCxnQEAspUBALNNAQC0VQEAtV0BALZVAQC3TQEAs919AJZtAICabQCAnm0AgKJtAIC27X0Ate19AKZtAIC7WQIAulECAKptAICubQCAv5kCAL6RAgC9mQIAvEECALJtAICjmX0Atm0AgLptAICmqX0Avm0AgMJtAIClqX0AqhUCAKsdAgDGbQCAym0AgK7VAgCv3QIArAUCAK3dAgDObQCA0m0AgNZtAIDabQCAgB0AAIEJAACCOQAA3m0AgOJtAIC+AAQA6m0AgO5tAIDybQCA9m0AgPptAID+bQCAhIwDAAJuAICHCAMAhuwEAAZuAIDviAIACm4AgA5uAICEbAQA4zQCABJuAIDhVAEAFm4AgBpuAIAebgCAIm4AgKhtAgCprQIAqqUCAKu9AgCspQIAra0CAK6lAgCvGQEAvqwEACZuAIAqbgCALm4AgDJuAIA2bgCAOm4AgD5uAIC4DQEAuREBALoRAQC7JQEAvD0BAL3VAQC+3QEAv9UBALBpAQCxaQEAsnkBALNxAQC0WQEAtVkBALY5AQC3NQEAsy0CAEJuAIBGbgCASm4AgE5uAIC2LQIAtS0CAFJuAIC7rQEAuq0BAFpuAIBebgCAv50BAL6dAQC9pQEAvK0BAIBNAACBVQAAglUAAO9sAABibgCA7+x/AO+8fgBmbgCA4RB/AOPUfwDj2H4A4ex/AGpuAIDhTH4Abm4AgOMkfgDmbQCAVm4AgKsFBgCqBQYArQ0GAKwFBgCvNQYArjUGAIYAAwCHKAMAo4UFAHJuAIClhQUAdm4AgHpuAICmhQUAs/EGAH5uAICCbgCAhm4AgIpuAIC26QYAteEGAI5uAIC7vQYAur0GAJJuAICWbgCAv4kGAL6BBgC9iQYAvJUGAKgpBgCpKQYAqjkGAKs5BgCsKQYArSkGAK5dBgCvTQYAmm4AgJ5uAICibgCApm4AgKpuAICubgCAsm4AgLZuAIC46QcAuekHALr5BwC7+QcAvOkHAL3pBwC+XQcAv1UHALA5BgCxOQYAsgEGALMdBgC0BQYAtQ0GALYFBgC32QcAo7EHAIItAACBFQAAgB0AALpuAICmqQcApaEHAL5uAICr/QcAqv0HAMJuAICEpAIAr8kHAK7BBwCtyQcArNUHAL7MAQCzlQYAxm4AgMpuAIC2qQYAzm4AgNJuAIC1rQYAulkBALshAQCGyAAAhwwBAL4hAQC/KQEAvDEBAL0xAQCoKQYAqSkGAKpZBgCrUQYArGEGAK1tBgCutQEAr6kBAITgAQDWbgCA2m4AgN5uAIDibgCA5m4AgOpuAIDubgCAuGEBALlhAQC6YQEAu2EBALxhAQC9YQEAvmEBAL9hAQCw2QEAsaEBALKhAQCzoQEAtKEBALWpAQC2kQEAt5EBAKPRBQDybgCA9m4AgPpuAID+bgCApu0FAKXpBQACbwCAq2UCAKodAgAGbwCACm8AgK9tAgCuZQIArXUCAKx1AgAObwCAEm8AgBZvAIAabwCAHm8AgCJvAIAmbwCAKm8AgIA9AACBCQAAghkAAC5vAIAybwCAOm8AgL48AwA+bwCAhgAMAIcUAwBCbwCAs9UDAEZvAIC1PQMAtjUDAEpvAIBObwCAv4wKALoRAwC7EQMAvLUAAL29AAC+tQAAv60AAFJvAIDjdAEAVm8AgOG8AQBabwCAXm8AgGJvAIBmbwCAam8AgG5vAIBybwCAdm8AgHpvAIDvdAIAfm8AgIJvAICoTQIAqVECAKpRAgCrqQIArLkCAK25AgCuqQIAr6kCAIRsDQCGbwCAim8AgI5vAICSbwCAlm8AgJpvAIC+dA0AuG0BALkFAQC6DQEAuwUBALwdAQC9BQEAvg0BAL8FAQCw2QIAsdkCALJtAQCzZQEAtH0BALVlAQC2ZQEAt1UBAOG4AQDhUAcA47QAAON8BwCAqQAAgQkAAII5AACebwCAom8AgKpvAICubwCAsm8AgO4AAAC2bwCA7wAAAO9kBgCGYAwAh+QMAKORAgC6bwCApXkCAL5vAIDCbwCApnECAMZvAIDKbwCAq1UCAKpVAgCt+QEArPEBAK/pAQCu8QEApm8AgDZvAIDObwCA0m8AgNZvAIDabwCA3m8AgOJvAICoVQ4AqVkOAKqhDgCrvQ4ArK0OAK2VDgCu+Q4Ar/UOALCRDgCxkQ4AspEOALORDgC0sQ4AtbEOALaxDgC3sQ4AuJEOALmdDgC6lQ4Au0kPALxZDwC9WQ8AvkkPAL9JDwCzCQ4A5m8AgOpvAIDubwCA8m8AgLY1DgC1BQ4A9m8AgLt1DgC6dQ4A+m8AgP5vAIC/VQ4AvlUOAL1lDgC8ZQ4AAnAAgKNNDgAGcACACnAAgKZxDgAOcACAEnAAgKVBDgCqMQ4AqzEOAISkAwC+pAMArhEOAK8RDgCsIQ4ArSEOAKilDgCprQ4AqqUOAKu5DgCs3Q4ArcEOAK7BDgCv/Q4AgO0BAIHxAQCC8QEAFnAAgIaQAQCHtAEAGnAAgB5wAIC4yQEAuckBALrZAQC70QEAvPkBAL35AQC+mQEAv5UBALCFDgCxbQEAsmUBALN9AQC0ZQEAtW0BALZlAQC3+QEAsy0OACJwAIAmcACAKnAAgC5wAIC2QQ4AtVUOADJwAIC7qQEAukEOADZwAIA6cACAv6kBAL6hAQC9qQEAvLEBAD5wAICjaQ4AQnAAgEZwAICmBQ4ASnAAgE5wAIClEQ4AqgUOAKvtAQBScACAVnAAgK7lAQCv7QEArPUBAK3tAQCoOQMAqTkDAKqNAwCrhQMArJ0DAK2FAwCuhQMAr7UDAFpwAIBecACAYnAAgGZwAIBqcACAbnAAgHJwAIB2cACAuGEAALlhAAC6YQAAu2EAALxhAAC9YQAAvmEAAL9hAACwzQMAsaUDALKhAwCzoQMAtKUDALWtAwC2kQMAt5EDAIANAACBEQAAghEAAHpwAIDv9AIAfnAAgIJwAIC+HAMA4xQCAISIAgDhgAEAinAAgI5wAICScACAh8gDAIY8BAC7AQMAumkDAJZwAICacACAvwkDAL4BAwC9FQMAvBUDALNlAwCecACAonAAgKZwAICqcACAtmUDALV1AwCucACAsnAAgLZwAIC6cACAo4kCAL5wAIClmQIApokCAMJwAICELAIAxnAAgKqFAgCr7QIArPkCAK35AgCu7QIAr+UCAMpwAIDOcACAvkQFAIRMBQDScACA1nAAgNpwAIDecACA4nAAgOZwAIDqcACA7nAAgIAZAACBGQAAggUAAPJwAIDhGA8A4VwOAOO4DgDjdAEA+nAAgP5wAIACcQCABnEAgIYABACHZAUACnEAgA5xAIAScQCAFnEAgO98DgDvqAEAs3UBABpxAIAecQCAInEAgCZxAIC2MQEAtRUBACpxAIC7HQEAuhUBAC5xAIAycQCAv+EAAL79AAC9/QAAvP0AAPZwAIA2cQCAOnEAgD5xAICGcACAQnEAgEZxAIBKcQCAqI0GAKmVBgCqnQYAq+UGAKz9BgCt0QYArtEGAK/RBgCwsQYAsbkGALJJBwCzSQcAtFkHALVFBwC2RQcAt3kHALghBwC5IQcAujkHALs5BwC8KQcAvSkHAL4ZBwC/GQcAozUGAE5xAIBScQCAVnEAgFpxAICmcQYApVUGAF5xAICrXQYAqlUGAGJxAIC+oAMAr6EHAK69BwCtvQcArL0HAIBRAACBWQAAgmEAALNVBwCF9AAAtX0HALZ1BwBmcQCAhgAcAIfkAQC6LQcAuyUHALw9BwC9JQcAviUHAL8VBwCokQYAqZEGAKqRBgCrkQYArLkGAK25BgCuqQYAr6kGAGpxAIBucQCAcnEAgHZxAICiIQEAozUBAKA5BQChEQQAuEkBALlJAQC6XQEAu1UBALxNAQC90QEAvtEBAL/RAQCwpQYAsa0GALKlBgCzvQYAtK0GALWdBgC2lQYAt3kBAKMZBgCPnXkAenEAgH5xAICCcQCApjkGAKUxBgCGcQCAq2kGAKphBgCKcQCAjnEAgK9ZBgCuaQYArWkGAKxxBgCeiQgAn8EFAJzJCQCdyQkAmqENAJu9DACYsQ0AmbkNAJahcQCXRXEAlEV1AJWxcQCSoXUAk7V1AJDleQCRzXkAil1yAItFcgCScQCAvoAcAI51DgCPZQ4AjLlyAI11DgCCOXoAgzl6AJZxAICacQCAhnF2AIeZdgCECXoAhW12AJptBwCbVQIAnnEAgKJxAICmcQCA4ZAAAJxZAgDjCBoAkgkPAJNlCgCqcQCA7zgWAJZ1BgCXdQYAlH0KAJU1CwCpjRYAqIUWAKsBEACqMRYArXESAKy1EgCvuS4ArgEsAKF9AgCucQCAo6EeAKKpHgClsRoApPUfAKflGwCmsRoAhMwDAIRMHACycQCAtnEAgLpxAIC+cQCAwnEAgMZxAICxASgAsNkuALONKgCy6SoAtfUmALQBJACEcB0AynEAgID9AQCBFQAAgh0AAL6AHADOcQCA0nEAgIe4AgCGPB0A2nEAgN5xAIDicQCA5nEAgOpxAIDucQCA8nEAgPZxAID6cQCA/nEAgAJyAIAGcgCA44ADAApyAIDhoAEADnIAgO+UAwAScgCAFnIAgBpyAIAecgCAInIAgCZyAIAqcgCALnIAgOE8BgAycgCA49AGADZyAIDhMAcAOnIAgOOsBgCAOQAAgRUAAIIdAADvHAYAPnIAgEJyAIC+uB8A7+gBALPpAgBKcgCAh8QcAIbsHABOcgCAtlkCALVRAgBScgCAu00CALpNAgBWcgCAWnIAgL+5AQC+2QEAvdEBALz1AQCjKR0A1nEAgEZyAIBecgCAYnIAgKaZHQClkR0AZnIAgKuNHQCqjR0AanIAgG5yAICveR4ArhkeAK0RHgCsNR4AcnIAgLNtHwB2cgCAenIAgLZlHwB+cgCAgnIAgLVtHwC6IR8AuyEfAIZyAICKcgCAviUfAL8pHwC8MR8AvTEfAKihHwCpoR8AqqEfAKuhHwCsoR8AraEfAK6hHwCvoR8AjnIAgJJyAICWcgCAmnIAgJ5yAICicgCApnIAgKpyAIC4rR8AubUfALq9HwC7tR8AvK0fAL1VHwC+UR8Av00fALChHwCxoR8AsqEfALOhHwC0pR8AtakfALadHwC3lR8AoykeAIIZAACBGQAAgLEBAK5yAICmIR4ApSkeALJyAICrZR4AqmUeAIaIAACH/AEAr20eAK5hHgCtdR4ArHUeALZyAICzmR4AunIAgL5yAIC2XQEAwnIAgMZyAIC1sR4AukkBALtJAQDKcgCAznIAgL49AQC/IQEAvDkBAL01AQCoRR4AqVUeAKpVHgCrZR4ArH0eAK2ZAQCuiQEAr4EBAISsAADScgCA1nIAgNpyAIDecgCA4nIAgOZyAIDqcgCAuK0BALllAQC6bQEAu2UBALx9AQC9ZQEAvm0BAL9lAQCwyQEAsckBALKpAQCzpQEAtL0BALWhAQC2oQEAt5UBALhpHAC5oRwAusEcALvBHAC8wRwAvcEcAL7BHAC/wRwAsIkfALGJHwCyIRwAswUcALQdHAC1fRwAtnUcALdtHACoYR8AqWEfAKphHwCrYR8ArNkfAK3ZHwCuyR8Ar8EfAO5yAIDycgCA9nIAgPpyAID+cgCAAnMAgAZzAIAKcwCADnMAgBJzAIC+AAQAo1EdABZzAICleR0AppUCABpzAIAecwCAInMAgKqBAgCrgQIArPECAK39AgCu9QIAr+kCACpzAIDh9AEALnMAgON8AQCATQAAgXUAAIJ9AAAycwCAhsAEAIekBAA2cwCAOnMAgD5zAIBCcwCARnMAgO+MAgCoSQIAqUkCAKpdAgCrVQIArHkCAK15AgCuvQIAr7UCAISgBQBKcwCATnMAgFJzAIC+vAQAVnMAgFpzAIBecwCAuC0BALk1AQC6PQEAuzUBALwtAQC91QEAvt0BAL/NAQCwzQIAsdUCALLdAgCz1QIAtM0CALUVAQC2HQEAtxUBAOGEHgDjbB8A41wfAOFYHgBicwCAZnMAgGpzAIBucwCAcnMAgHZzAIB6cwCAfnMAgOkAAADv9B4A70weAIJzAICzlQIAhnMAgIpzAICOcwCAknMAgLa5AgC1sQIAmnMAgLtRAgC6SQIAhsgEAIesBAC/kQEAvkkCAL1BAgC8SQIAJnMAgKNRBQCecwCAlnMAgKZ9BQCicwCApnMAgKV1BQCqjQUAq5UFAKpzAICucwCAro0FAK9VBgCsjQUArYUFAICJBwCBiQcAgpkHALORBgCycwCAtbkGALapBgC2cwCAunMAgL5zAIC6TQcAu0UHALxdBwC9QQcAvkEHAL9BBwCoQQYAqU0GAKpVBgCrZQYArH0GAK1lBgCubQYAr2UGAMJzAIDGcwCAynMAgM5zAIDScwCA1nMAgNpzAIDecwCAuFkHALlZBwC6aQcAu2kHALx5BwC9eQcAvmUHAL8ZBwCwxQcAsc0HALLFBwCz2QcAtMkHALXJBwC2aQcAt2kHAKPdBwDicwCA5nMAgOpzAIDucwCApuUHAKX1BwDycwCAqwkGAKoBBgD2cwCA+nMAgK8NBgCuDQYArQ0GAKwRBgCAbQAAgQkAAIIZAAD+cwCAAnQAgISYAQC+kAEABnQAgIbAAACH5AEACnQAgA50AIASdACAFnQAgBp0AIAedACAqF0GAKmNAQCqnQEAq5UBAKy5AQCtuQEArskBAK/BAQCEoAAAInQAgCZ0AIAqdACALnQAgDJ0AIA2dACAOnQAgLh5AQC5eQEAus0AALvFAAC83QAAvcUAAL7FAAC/9QAAsIEBALGBAQCySQEAs0kBALRZAQC1WQEAtkkBALdJAQCzFQIAPnQAgEJ0AIBGdACASnQAgLY5AgC1MQIATnQAgLtFAgC6RQIAUnQAgFZ0AIC/nQIAvp0CAL2dAgC8nQIAhXw+AKNRAgBadACAXnQAgKZ9AgBidACAZnQAgKV1AgCqAQIAqwECAGp0AIBudACArtkCAK/ZAgCs2QIArdkCAIDpAACB6QAAggUAAHJ0AIC+AAwAenQAgIeoAwCGvAwAfnQAgIJ0AICGdACAinQAgI50AICSdACAlnQAgJp0AICedACAonQAgKZ0AICqdACA42ABAK50AIDhoAEAsnQAgO+IAgC2dACAunQAgL50AIDCdACAxnQAgMp0AIDOdACAqGkCAKlpAgCqeQIAq3kCAKxpAgCtaQIArr0CAK+1AgC+rAwA0nQAgNZ0AIDadACAgB0AAIEJAACCqQAA3nQAgLhRAQC5WQEAumEBALthAQC8GQEAvRkBAL4NAQC/BQEAsM0CALHVAgCy3QIAs9UCALTNAgC1cQEAtnEBALdxAQDjxAAA4XwHAOF4BgDjvAYA4nQAgIQYDQCGuAwAhzwNAL4sDwDqdACA7nQAgPJ0AIDvEAAA9nQAgPp0AIDvdAYA/nQAgAJ1AIAGdQCAs70CAAp1AIC1rQIAtqUCAA51AIASdQCAFnUAgLpFAgC7XQIAvEUCAL1NAgC+RQIAv/kBAHZ0AIClfQ0ApnUNAOZ0AIAadQCAHnUAgCJ1AICjbQ0ArJUNAK2dDQCulQ0ArykOACZ1AIAqdQCAqpUNAKuNDQCz5Q4ALnUAgDJ1AIA2dQCAOnUAgLblDgC19Q4APnUAgLuhDgC62Q4AQnUAgEZ1AIC/pQ4AvrkOAL2xDgC8uQ4AqBUOAKklDgCqLQ4AqyUOAKw9DgCtJQ4Ari0OAK8lDgCADQAAgRUAAIIdAABKdQCATnUAgFJ1AICEMAMAVnUAgLgpDgC5KQ4AujkOALs5DgC8KQ4AvSkOAL79DwC/9Q8AsF0OALElDgCyLQ4AsyUOALQ9DgC1IQ4AtiUOALcZDgCjpQ8AWnUAgIYoAQCHTAEAXnUAgKalDwCltQ8AYnUAgKvhDwCqmQ8AZnUAgGp1AICv5Q8ArvkPAK3xDwCs+Q8AbnUAgLPpDgBydQCAdnUAgLaRDgB6dQCAfnUAgLXlDgC6sQ4Au7kOAIJ1AICGdQCAvmEBAL9hAQC8mQ4AvZkOAKglDgCpLQ4AqiUOAKs5DgCsKQ4ArVUOAK5dDgCvVQ4AinUAgI51AICSdQCAlnUAgJp1AICedQCAonUAgKZ1AIC49QEAuYEBALqBAQC7gQEAvIEBAL2JAQC+sQEAv7EBALAxDgCxOQ4AsgkOALMJDgC04QEAteEBALbhAQC3zQEAo60NAKp1AICudQCAsnUAgLZ1AICm1Q0ApaENALp1AICr/Q0AqvUNAL51AIDCdQCAryUCAK4lAgCt3Q0ArN0NAIBdAACBbQAAgmUAALNRAwC+nAMAtXkDALYZAwDKdQCAhOACAM51AIC6PQMAuzUDALwZAwC9GQMAvtkDAL/ZAwCohQMAqZUDAKqVAwCrpQMArL0DAK3VAwCu0QMAr9EDAIYABACHNAMAv6AzANJ1AIDWdQCA2nUAgN51AIDidQCAuHEDALlxAwC6cQMAu3EDALzVAAC93QAAvtUAAL/NAACwtQMAsb0DALKBAwCzgQMAtFEDALVRAwC2UQMAt1EDAO+oAwDmdQCA6nUAgO51AICEHAIA8nUAgPZ1AID6dQCAviwFAP51AIACdgCABnYAgONAAwAKdgCA4SgAAA52AICjXQIAEnYAgBZ2AIAadgCAHnYAgKYVAgCldQIAInYAgKs5AgCqMQIAJnYAgCp2AICv1QIArtUCAK0VAgCsFQIA4ygBAOEADwDhCA4A4wgOAID9AACBCQAAgjkAAC52AIAydgCAOnYAgD52AIBCdgCA7+gOAEZ2AIBKdgCA72QOALNtAQBOdgCAhugEAIcMBQBSdgCAtm0BALVtAQBWdgCAu+0AALrtAABadgCAXnYAgL/VAAC+6QAAveEAALzpAACoXQYAqWEGAKqlBgCrvQYArKUGAK2tBgCupQYArxkHADZ2AIBidgCAZnYAgGp2AIBudgCAcnYAgHZ2AIB6dgCAuHUHALl5BwC6DQcAuwUHALwdBwC9BQcAvgUHAL81BwCwaQcAsWkHALJ9BwCzdQcAtG0HALVRBwC2UQcAt1EHAKMtBgB+dgCAgnYAgIZ2AICKdgCApi0GAKUtBgCOdgCAq60HAKqtBwCSdgCAlnYAgK+VBwCuqQcAraEHAKypBwCADQAAgRUAAIIdAACadgCAnnYAgKJ2AICEVAMAvlwAAKZ2AICqdgCAhugAAIdMAwCudgCAsnYAgLZ2AIC6dgCAvnYAgOMEBADCdgCA4bQFAMZ2AIDKdgCAznYAgNJ2AIDWdgCA2nYAgN52AIDidgCA5nYAgO/sBADqdgCA7nYAgLPtBgDydgCA9nYAgPp2AID+dgCAtpEGALXhBgACdwCAu40GALqNBgAGdwCACncAgL9BAQC+WQEAvVEBALxZAQCoJQYAqS0GAKolBgCrOQYArCkGAK1RBgCuSQYAr0EGAIDNAACBCQAAghkAAA53AIASdwCAhCwBAL40AAAadwCAuP0BALlBAQC6QQEAu0EBALxBAQC9SQEAvnEBAL9xAQCwCQYAsQkGALLNAQCzxQEAtN0BALXFAQC2zQEAt8UBAIagPACHRAMAHncAgKOhBQAidwCApa0FAKbdBQAmdwCAKncAgL4oPACqwQUAq8EFAKwVAgCtHQIArhUCAK8NAgC2QQMALncAgDJ3AIC1sQIANncAgLOhAgA6dwCAPncAgL5FAwC/TQMAvHUDAL1NAwC6ZQMAu20DAEJ3AIBGdwCASncAgE53AIDGdQCAUncAgFZ3AIBadwCAXncAgGJ3AICoRQIAqVUCAKpdAgCrVQIArE0CAK21AwCusQMAr60DALDVAwCx3QMAstUDALPtAwC09QMAtf0DALb1AwC37QMAuNkDALnZAwC6rQMAu6UDALy9AwC9pQMAvqUDAL+VAwCj9QMAZncAgGp3AIBudwCAcncAgKYVAgCl5QMAdncAgKs5AgCqMQIAencAgH53AICvGQIArhECAK0ZAgCsIQIAgGkAAIFpAACCBQAAgncAgIp3AICOdwCAkncAgO8cAACEbAIA4ZQBAJZ3AIDjyAAAmncAgJ53AICGWDwAh1A9AKJ3AICmdwCAqncAgISEPQCudwCAsncAgLZ3AIDvuAEAvmw8AOF0BgC6dwCA42QBAL53AIDCdwCAxncAgMp3AICz0QEAzncAgNJ3AIDWdwCA2ncAgLaRAQC1+QEA3ncAgLu9AQC6vQEA4ncAgOZ3AIC/dQEAvnUBAL2FAQC8hQEAqL09AKkNPgCqGT4AqxE+AKwxPgCtUT4ArlE+AK9NPgCGdwCAgh0AAIEdAACAHQAA6ncAgO53AIDydwCA9ncAgLjVPgC53T4AutU+ALtJPwC8WT8AvVk/AL5JPwC/QT8AsDk+ALE5PgCyET4AsxE+ALTxPgC18T4AtvU+ALftPgCjkT4A+ncAgIYoAACHwAMA/ncAgKbRPgCluT4AAngAgKv9PgCq/T4ABngAgAp4AICvNT4ArjU+AK3FPgCsxT4ADngAgLOdPwASeACAFngAgLalPwAaeACAHngAgLWtPwC6aT8Au3U/ACJ4AIAmeACAvlk/AL9FPwC8bT8AvWU/ACp4AIAueACAMngAgDZ4AIDjYDwAOngAgOEAPQA+eACA7/w9AEJ4AIBGeACASngAgE54AIBSeACAVngAgFp4AICjGT4AghkAAIEZAACAcQAAXngAgKYhPgClKT4AYngAgKvxPgCq7T4AhCQBAL4kAQCvwT4Art0+AK3hPgCs6T4AqNE+AKnRPgCq0T4Aq+U+AKzhPgCt4T4Arhk+AK8ZPgCGAAAAh4QAAGp4AIBueACAcngAgHZ4AIB6eACAfngAgLh9PgC5AT4AugE+ALsBPgC8AT4AvQk+AL4xPgC/MT4AsGk+ALF1PgCyfT4As3U+ALRZPgC1RT4Atk0+ALdFPgCohQIAqZUCAKqVAgCrpQIArL0CAK3VAgCu0QIAr9ECAIJ4AICGeACAingAgL8k5gGOeACAkngAgJZ4AICaeACAuFUDALlZAwC6bQMAu2UDALx9AwC9ZQMAvm0DAL9lAwCwtQIAsb0CALKBAgCzgQIAtHEDALVxAwC2cQMAt3EDALMdAgCeeACAongAgKZ4AICEiAMAtlUCALU1AgAWdwCAu3kCALpxAgCqeACArngAgL+1AwC+tQMAvVUCALxVAgCyeACAo1kCALZ4AIC6eACAphECAL54AIDCeACApXECAKo1AgCrPQIAxngAgMp4AICu8QMAr/EDAKwRAgCtEQIAqKkCAKmpAgCquQIAq7kCAKypAgCtqQIArjkBAK85AQCAzQEAgQkAAIIZAADOeACA0ngAgL64BQDaeACA3ngAgLjpAQC56QEAuokBALuFAQC8nQEAvYEBAL6BAQC/tQEAsEkBALFVAQCyXQEAs1UBALRNAQC18QEAtvEBALfxAQDvFAAA4ngAgIaoBQCH3AUA5ngAgIRYBADqeACA78Q+AO54AIDhxD4A8ngAgOMwPgDjyAAA9ngAgOEoAQD6eACAtn0CAP54AIACeQCAtXUCAAZ5AICzZQIACnkAgA55AIC+3QEAv2EBALzdAQC91QEAutkBALvFAQASeQCAFnkAgKOxBQDWeACAGnkAgB55AIAieQCApqkFAKWhBQAmeQCAqxEGAKoNBgAqeQCALnkAgK+1BgCuCQYArQEGAKwJBgAyeQCANnkAgDp5AIA+eQCAgBkAAIEZAACCBQAAQnkAgL5sAwBGeQCAhsgAAIccAwBKeQCATnkAgFJ5AIBWeQCAqLkHAKm5BwCqDQcAqx0HAKwJBwCtNQcArjEHAK8pBwCEqAMAWnkAgF55AIBieQCAZnkAgGp5AIBueQCAcnkAgLjJAAC5yQAAutkAALvRAAC8+QAAvfkAAL6ZAAC/mQAAsF0HALEhBwCyIQcAsz0HALQpBwC1KQcAtgEHALcBBwCzhQYAdnkAgHp5AIB+eQCAgnkAgLa1BgC1gQYAhnkAgLvlBgC6mQYAinkAgI55AIC/7QYAvu0GAL3pBgC89QYAknkAgJZ5AICaeQCAnnkAgKJ5AICmeQCAqnkAgO+QBACueQCA4dwGALJ5AIDj7AUAgCkAAIEVAACCEQAAvnwBAKMFBgC6eQCAhigAAIdMAQC+eQCApjUGAKUBBgDCeQCAq2UGAKoZBgDGeQCAynkAgK9tBgCubQYArWkGAKx1BgDOeQCAs70BANJ5AIDWeQCAtnkBANp5AIDeeQCAtXkBALpVAQC7XQEA4nkAgOZ5AIC++QAAv/kAALxFAQC9+QAAqHECAKlxAgCqcQIAq3ECAKy1AgCtvQIArrUCAK+tAgCE7AwA6nkAgO55AIDyeQCA9nkAgPp5AID+eQCAAnoAgLhpAwC5aQMAugkDALsJAwC8GQMAvRkDAL4JAwC/CQMAsNUCALHdAgCy1QIAs2kDALR5AwC1eQMAtmkDALdhAwAGegCACnoAgA56AICj9QIAEnoAgKUxAgCmMQIAFnoAgBp6AIAeegCAqh0CAKsVAgCsDQIArbEDAK6xAwCvsQMAgGEAAIFhAACCBQAAInoAgIbwDACHYAMAvhAMACp6AIBmeACALnoAgDJ6AIA2egCAOnoAgD56AIBCegCARnoAgKiFAgCplQIAqpUCAKulAgCsvQIArdUCAK7RAgCv0QIASnoAgE56AIBSegCAVnoAgFp6AIBeegCAYnoAgGZ6AIC4dQEAuX0BALp1AQC7zQEAvNUBAL3dAQC+yQEAv8EBALC1AgCxvQIAsoECALOBAgC0VQEAtV0BALZVAQC3TQEA4RAGAIRIDADjDAYAanoAgISYDABuegCAcnoAgHZ6AIB6egCAfnoAgIJ6AICGegCAgXUAAIB1AADvIAEAgnUAAIp6AICOegCAknoAgL7ADACFtA4A4RACAO9cAADjABYA4ZABAJp6AIDjWAEA7zwHAJ56AICiegCAhgAIAIe4DACznQ0AJnoAgKZ6AICqegCArnoAgLbVDQC1tQ0AsnoAgLv5DQC68Q0AtnoAgLp6AIC/GQ4AvhEOAL3VDQC81Q0AvnoAgKPZDQDCegCAxnoAgKaRDQDKegCAznoAgKXxDQCqtQ0Aq70NANJ6AIDWegCArlUOAK9dDgCskQ0ArZENAKhdDgCpYQ4AqmEOAKthDgCsYQ4ArWEOAK5hDgCvYQ4A2noAgN56AIDiegCA5noAgOp6AIDuegCA8noAgPZ6AIC4TQ8AuVEPALpRDwC7UQ8AvHEPAL1xDwC+cQ8Av3EPALDBDwCxwQ8AssEPALPBDwC0wQ8AtcEPALbBDwC3wQ8As+kPAPp6AIC+gAEA/noAgJZ6AIC24Q8AtekPAAJ7AIC7BQ4AugUOAAp7AIAGewCAvwUOAL4FDgC9FQ4AvBUOAIFNAACAQQAA72gNAIJRAACG8AcAh9QBAA57AIASewCAFnsAgIRwAQAaewCAHnsAgOHgDgAiewCA40gNACZ7AICjaQ8AKnsAgC57AIAyewCANnsAgKZhDwClaQ8AOnsAgKuFDgCqhQ4APnsAgEJ7AICvhQ4AroUOAK2VDgCslQ4ARnsAgLMxDgBKewCATnsAgLbBAQBSewCAVnsAgLXRAQC6zQEAu6UBAFp7AIBeewCAvqUBAL+tAQC8sQEAvbEBAI/dJgCj8Q0AYnsAgGZ7AICmAQIAansAgG57AIClEQIAqg0CAKtlAgByewCAviAEAK5lAgCvbQIArHECAK1xAgCfoQwAnnkKAJ1pCgCc0QgAm7E2AJp1NgCZ0TQAmOEyAJdtMgCWZTIAlTU/AJRhPgCTcT4AkjU7AJFxOgCQeToAgJUAAIGdAACCoQAAensAgO9EAgDhdA8AfnsAgOMcDwDj1AEAgnsAgOHgAQDvXAEAo7UCAKJBAACh3Q4AoLkOALWpAwCGewCAhMAEALahAwCG8AUAh+QEALOFAwCKewCAvXEDALxpAwC/QQMAvnEDAI57AIC2eQCAu3EDALp5AwCC3ScAgwE7AL6EBwC+wAYAhhE/AIcZPwCEETsAhV06AIp9PgCLJTMAknsAgJZ7AICOuTUAjxU3AIw1MwCNgTMAkqE3AJPZCQC+xBkAmnsAgJaxDQCXUQ8AlHkLAJVhCwCaBQ8Am5EBAJ57AICiewCApnsAgN0AAACcfQMAqnsAgOFIDwCuewCA4xwOALJ7AIC2ewCAunsAgL57AIDCewCAsUEXALChFwCzqesBsgHoAbUB7AG0EesB74wOAMZ7AICpxR8AqAEcAKsBEACqkR8ArdkTAKzREwCv2RcArgUTAKHxAgDKewCAo8kHAKLBAgClARgApGUHAKehGwCm+RsAqCkFAKldBQCqVQUAq20FAKx5BQCteQUArm0FAK9hBQB2ewCAznsAgNJ7AIDWewCAgA0AAIGxAACCsQAA2nsAgLiJBQC5iQUAup0FALuVBQC8uQUAvbkFAL5RBgC/UQYAsOUFALHtBQCy5QUAs/0FALTtBQC13QUAttUFALe9BQCj3QUA3nsAgOJ7AICEDAAA5nsAgKb5BQCl8QUA6nsAgKspBQCqIQUAhpgAAIegAACvGQUArikFAK0pBQCsMQUA7nsAgLNhBgDyewCA9nsAgLYhBgD6ewCA/nsAgLUBBgC6rQcAu40HAAJ8AIAGfACAvo0HAL9xBwC8lQcAvY0HAL65BQC/uQUAvLkFAL25BQC6uQUAu7kFALi5BQC5uQUAtkkFALdJBQC0fQUAtXUFALJ5BQCzeQUAsBUFALF9BQCuXQUAr20FAKxFBQCtXQUAqqUKAKtdBQCovQoAqa0KAAp8AIAOfACAEnwAgBZ8AIAafACAHnwAgCJ8AIAmfACAqA0HAKkdBwCqLQcAq0kHAKxNBwCtZQcArrEGAK+xBgAqfACALnwAgDJ8AIA2fACAOnwAgD58AIBCfACARnwAgLhVBgC5XQYAulUGALtxBgC8NQYAvfEBAL7xAQC/8QEAsK0GALGNBgCyhQYAs50GALSNBgC1cQYAtnUGALdtBgCjpQQAgi0AAIEVAACAHQAASnwAgKblBAClxQQATnwAgKtJBQCqaQUAUnwAgFp8AICvtQUArkkFAK1JBQCsUQUAhmAcAIcIAwBefACAs4UCAGJ8AIC1gQIAtoECAGZ8AIBqfACAbnwAgLoJAwC7CQMAvBkDAL0ZAwC+CQMAvwkDAKxVAgCtXQIArmECAK9hAgCoDQIAqVUCAKpRAgCrUQIAhKwDAHJ8AIB2fACAenwAgIT8HQB+fACAgnwAgIZ8AIC8cQMAvXEDAL5xAwC/cQMAuHEDALlxAwC6cQMAu3EDALSRAwC1kQMAtpEDALeRAwCwkQMAsZEDALKRAwCzkQMAinwAgI58AICSfACAlnwAgJp8AIDhpAEAnnwAgOOAAQC+aBwAonwAgKZ8AIDv2AYAqnwAgK58AICyfACAtnwAgKOJAwCCLQAAgRUAAIAdAAC6fACApo0DAKWNAwC+fACAqwUCAKoFAgDCfACAynwAgK8FAgCuBQIArRUCAKwVAgCGIBwAh8QdAM58AIDSfACA1nwAgNp8AIDefACA72wGAOJ8AIDhbAcA5nwAgON0BwDqfACA7nwAgPJ8AID2fACAs5EBAPp8AID+fACAAn0AgAZ9AIC2sQEAtbkBAAp9AIC7VQEAukkBAA59AIASfQCAv/UAAL71AAC9RQEAvEUBAKNRHgDGfACAFn0AgBp9AIAefQCApnEeAKV5HgAifQCAq5UeAKqJHgAmfQCAKn0AgK81HwCuNR8ArYUeAKyFHgCAbQAAgRUAAIIdAADv/BkALn0AgDJ9AIA2fQCAOn0AgIbAAACHrAMAPn0AgEJ9AIBGfQCA4SwcAEp9AIDjzBwAqK0eAKnNHgCq2R4Aq9EeAKzxHgCt8R4Arj0eAK81HgCE7AAATn0AgFJ9AIBWfQCAWn0AgF59AIBifQCAZn0AgLjRHwC53R8Auu0fALvlHwC84R8AveEfAL7hHwC/4R8AsE0eALFRHgCyUR4As1EeALTxHwC18R8AtvEfALfxHwCobR4AqY0eAKqFHgCrnR4ArIUeAK2NHgCuuR4Ar7UeAGp9AIBufQCAcn0AgHZ9AIB6fQCAfn0AgIJ9AICGfQCAuJ0eALmtHgC6pR4Au0UBALxdAQC9RQEAvkUBAL91AQCw0R4AsdEeALLRHgCz0R4AtLUeALW9HgC2tR4At60eALMNHgCKfQCAjn0AgJJ9AICWfQCAtg0eALUNHgCafQCAuxUeALoVHgCefQCAon0AgL95HgC+cR4AvQUeALwFHgCCbQAAo0keAIBVAACBZQAApkkeAL6cAQCqfQCApUkeAKpRHgCrUR4Ah3wAAIZMAACuNR4Arz0eAKxBHgCtQR4AqF0CAKltAgCqZQIAq30CAKxpAgCtsQIArrECAK+xAgCE7AQArn0AgLJ9AIC2fQCAun0AgL59AIDCfQCAxn0AgLhxAwC5cQMAunEDALtxAwC81QMAvd0DAL7VAwC/zQMAsNECALHRAgCy0QIAs9ECALRRAwC1UQMAtlEDALdRAwCz7QIAyn0AgM59AIC+gAQA0n0AgLYxAgC14QIA1n0AgLsVAgC6FQIA2n0AgN59AIC/lQMAvpUDAL0FAgC8BQIA4n0AgKOpAgDmfQCA6n0AgKZ1AgDufQCA8n0AgKWlAgCqUQIAq1ECAPZ9AID6fQCArtEDAK/RAwCsQQIArUECAKjZAgCpIQEAqiEBAKshAQCsIQEArSEBAK4hAQCvIQEA/n0AgAJ+AIAGfgCAviAEAAp+AIAOfgCAEn4AgBp+AIC4jQEAuZEBALqRAQC7pQEAvL0BAL11AAC+fQAAv3UAALDlAQCx7QEAsvkBALPxAQC02QEAtdkBALa5AQC3tQEA4RgeAB5+AIDjKB8AIn4AgIGlAACApQAAJn4AgIKlAACGAAQAh/QFACp+AIAufgCAMn4AgDZ+AIDvYB4AOn4AgD5+AIBCfgCAhfD0AUZ+AIBKfgCA42QBAE5+AIDhpAEAUn4AgO/IAABWfgCAWn4AgFZ8AICE/AUAXn4AgGJ+AICzKQYAFn4AgGZ+AIBqfgCAbn4AgLYhBgC1KQYAcn4AgLupBgC6oQYAdn4AgHp+AIC/nQYAvp0GAL2lBgC8rQYA4bQHAH5+AIDjeAQAgn4AgIB9AACBEQAAghUAAIZ+AICGwAAAh1gDAIp+AICOfgCAkn4AgJZ+AIDvDAQAmn4AgKOpBgCefgCAon4AgKZ+AICqfgCApqEGAKWpBgCufgCAqykGAKohBgCyfgCAtn4AgK8dBgCuHQYArSUGAKwtBgC6fgCAs0kHAL5+AIDCfgCAtn0HAMZ+AIDKfgCAtXUHALpdBwC7JQcAzn4AgNJ+AIC+IQcAvy0HALw9BwC9MQcAqD0GAKmBBgCqhQYAq5UGAKy5BgCtuQYArqkGAK+pBgDWfgCA2n4AgN5+AIDifgCA5n4AgIK5AACBsQAAgLkAALitBgC5vQYAurUGALtFAQC8XQEAvUUBAL5FAQC/dQEAsN0GALGlBgCyrQYAs6EGALShBgC1rQYAtpkGALeVBgCjDQYA6n4AgO5+AIDyfgCAhJgCAKY5BgClMQYAvpwBAKthBgCqGQYAhggAAId8AQCvaQYArmUGAK11BgCseQYA+n4AgLO1AQD+fgCAAn8AgLZVAQAGfwCACn8AgLWhAQC6cQEAu3kBAA5/AIASfwCAvjEBAL89AQC8UQEAvVEBAKhpAgCpaQIAqnkCAKt5AgCsbQIArZECAK6RAgCvkQIAFn8AgBp/AIAefwCAIn8AgCZ/AIAqfwCALn8AgDJ/AIC4mQIAua0CALqlAgC7bQMAvHUDAL19AwC+dQMAv20DALDxAgCx+QIAssECALPBAgC0sQIAtb0CALa1AgC3qQIANn8AgDp/AIA+fwCAo/0CAEJ/AICl6QIAph0CAEZ/AIBKfwCATn8AgKo5AgCrMQIArBkCAK0ZAgCueQIAr3UCAFJ/AIBWfwCAWn8AgIQADACAGQAAgQkAAII5AABefwCAYn8AgGp/AIBufwCAvuAMAHJ/AIB2fwCAhlgNAIcMAwCowQIAqc0CAKrFAgCr2QIArMkCAK39AgCu9QIArz0BAHp/AIB+fwCAgn8AgIZ/AICKfwCAjn8AgJJ/AIC+MAwAuMUBALnNAQC62QEAu9EBALzxAQC98QEAvpkBAL+ZAQCwRQEAsU0BALJFAQCzXQEAtEUBALVNAQC2RQEAt/0BAOE4BgCWfwCA42wGAJp/AICefwCAon8AgKZ/AICqfwCAhKgNAK5/AICyfwCAtn8AgL6wDwC6fwCA72wGAL5/AIDCfwCApn0AgMZ/AIDKfwCA41AAAM5/AIDhoAEA0n8AgO+EAADafwCAhyANAIZMDwCAPQAAgSEAAIIlAADefwCAs80NAGZ/AIDWfwCA4n8AgOZ/AIC2/Q0AtcENAOp/AIC7CQ4AugEOAO5/AIDyfwCAvwkOAL4BDgC9CQ4AvBEOAPZ/AIDjmAwA+n8AgOH8DwD+fwCAAoAAgAaAAIAKgACADoAAgBKAAIAWgACAGoAAgB6AAIDvYAwAIoAAgCaAAICjTQ0AKoAAgC6AAIAygACANoAAgKZ9DQClQQ0AOoAAgKuJDgCqgQ4APoAAgEKAAICviQ4AroEOAK2JDgCskQ4Agm0AALM1DgCAVQAAgWUAALb1DwCE3AMARoAAgLX9DwC60Q8Au9EPAIYABACH3AAAvn0PAL9lDwC8wQ8AvXkPAKjlDwCp7Q8AqvkPAKv5DwCsMQ4ArTEOAK4xDgCvMQ4ASoAAgE6AAIBSgACAVoAAgFqAAIBegACAYoAAgGaAAIC43Q4AueEOALrhDgC74Q4AvOUOAL3pDgC+mQ4Av5UOALBRDgCxUQ4AslEOALPpDgC0/Q4AteUOALbtDgC35Q4Ao3EPAGqAAIBugACAcoAAgHaAAICmsQ4ApbkOAHqAAICrlQ4AqpUOAH6AAICCgACAryEOAK45DgCtPQ4ArIUOAIaAAICzyQEAioAAgI6AAIC2+QEAkoAAgJaAAIC1wQEAuqkBALu1AQCagACAnoAAgL6tAQC/lQEAvK0BAL2lAQCo5Q0AqfkNAKoFAgCrHQIArA0CAK09AgCuNQIAr10CAKKAAICmgACAqoAAgK6AAICAGQAAgRkAAIIFAACygACAuC0CALk1AgC6MQIAuzECALzVAgC93QIAvtUCAL/NAgCwKQIAsTUCALI9AgCzNQIAtC0CALUVAgC2HQIAtxUCALqAAICEnAIAvoAAgKOBAgDCgACApYkCAKaxAgDGgACAhiAEAIfUAwCq4QIAq/0CAKzlAgCt7QIAruUCAK/dAgC29QMAvkQDAIWM/QG1/QMAyoAAgLP9AwDOgACA0oAAgL59AwC/TQMAvGUDAL19AwC6dQMAu30DANaAAIDagACA3oAAgOKAAICEBAIAoyUCAOaAAIClJQIApi0CAOqAAIDugACA8oAAgKqtAgCrpQIArL0CAK2lAgCupQIAr5UCAPaAAID6gACA/oAAgAKBAIAGgQCA48ADAAqBAIDhrAEADoEAgO9YAwASgQCAFoEAgIANAACB5QAAgu0AABqBAIDhYA8A40ABAOM4DgDheA4AHoEAgCKBAIC+lAUAKoEAgIYABACHZAUALoEAgDKBAIA2gQCA7/wOAO98DgA6gQCAs1EBAD6BAID2fgCAQoEAgEaBAIC2DQEAtQkBAEqBAIC74QAAuhkBAE6BAIBSgQCAv9EAAL7pAAC96QAAvPkAALaAAIAmgQCAVoEAgFqBAIBegQCAYoEAgGaBAIBqgQCAqKEGAKmtBgCquQYAq7EGAKzhBgCt7QYAruUGAK/FBgCwvQYAsUUHALJNBwCzXQcAtE0HALV1BwC2fQcAtx0HALglBwC5LQcAuiUHALs9BwC8KQcAvRUHAL4RBwC/EQcAoxEGAG6BAIBygQCAdoEAgHqBAICmTQYApUkGAH6BAICroQcAqlkGAIKBAICGgQCAr5EHAK6pBwCtqQcArLkHAIANAACBFQAAgh0AAIqBAICOgQCAkoEAgISUAwC+lAMAloEAgJqBAICGyAAAh4wAAJ6BAICigQCApoEAgKqBAIConQYAqa0GAKqlBgCrvQYArK0GAK3RBgCu1QYAr80GAK6BAICygQCAtoEAgLqBAIC+gQCAwoEAgMaBAIDKgQCAuF0BALnBAQC6wQEAu8EBALzBAQC9yQEAvvEBAL/xAQCwvQYAsY0GALKFBgCzZQEAtH0BALVlAQC2bQEAt2UBALMtBgDOgQCA0oEAgNaBAIDagQCAtlEGALUlBgDegQCAu0kGALp5BgDigQCA5oEAgL+hAQC+uQEAvbEBALxRBgDqgQCAo2kGAO6BAIDygQCAphUGAPaBAID6gQCApWEGAKo9BgCrDQYA/oEAgAKCAICu/QEAr+UBAKwVBgCt9QEAutUHALvdBwC4wQcAucEHAL4xBAC/MQQAvPEHAL3xBwCyrQcAs7UHALCtBwCxpQcAtp0HALf1BwC0pQcAtZUHAKppBwCraQcAqGkHAKlpBwCuaQcAr2kHAKxpBwCtaQcAgLkDAIGNAwCChQMAhKgDAIZQ/AGHCAMAvjQDAAqCAICoZQIAqXUCAKp9AgCrdQIArG0CAK21AwCuvQMAr7UDAA6CAIASggCAFoIAgBqCAIAeggCAIoIAgCaCAIAqggCAuFEDALlZAwC6YQMAu2EDALwRAwC9HQMAvhUDAL8JAwCwzQMAsdUDALLdAwCz1QMAtM0DALVxAwC2cQMAt3EDAC6CAIAyggCAs/0DADaCAIC17QMAOoIAgD6CAIC2PQIAQoIAgEaCAIC7GQIAugECAL0JAgC8AQIAv70CAL4BAgBKggCAToIAgITE/QG+wPwBUoIAgFaCAIBaggCA79wDAF6CAIDhlAEAYoIAgOMQAwBmggCAgu0AAIHtAACA7QAA4TgGAOE8BwDjQAEA45QGAGqCAIBuggCAcoIAgHqCAICGgPwBh+j9AX6CAICCggCAhoIAgIqCAIDvnAEA79wGAKM1AwCOggCAkoIAgJaCAICaggCApvUCAKUlAwCeggCAq9ECAKrJAgCiggCApoIAgK91AgCuyQIArcECAKzJAgB2ggCAqoIAgK6CAICyggCA76T9AbaCAIC6ggCAvoIAgON4/QHCggCA4UD8AcaCAIDKggCAzoIAgNKCAIDWggCAs+X+AYItAACBFQAAgB0AANqCAIC25f4BtfX+Ad6CAIC7Yf8Butn+AeKCAICE5AMAv2n/Ab5h/wG9df8BvHn/Aaj9/gGpJf4Bqi3+Aasl/gGsPf4BrSX+Aa4t/gGvJf4BviwAAOaCAICGiAAAh+wAAOqCAIDuggCA8oIAgPaCAIC4gf8BuYH/AbqZ/wG7mf8BvIn/Ab21/wG+sf8Bv63/AbBd/gGx5f8Bsu3/AbPh/wG05f8Bte3/AbbZ/wG32f8Bo6X/AfqCAID+ggCAAoMAgAaDAICmpf8BpbX/AQqDAICrIf4Bqpn/AQ6DAIASgwCAryn+Aa4h/gGtNf4BrDn+ARaDAICz6f4BGoMAgB6DAIC2lf4BIoMAgCaDAIC16f4BurH+Abu5/gEqgwCALoMAgL51AQC/fQEAvJH+Ab2R/gGoHf4BqS3+Aaol/gGrPf4BrCX+Aa1R/gGuUf4Br1H+ATKDAIA2gwCAOoMAgD6DAIBCgwCARoMAgEqDAIBOgwCAuNkBALnZAQC67QEAu+EBALzhAQC94QEAvuEBAL/hAQCwMf4BsTn+AbIB/gGzAf4BtPUBALX9AQC29QEAt+kBAKOt/QFSgwCAvkwDAFqDAIBegwCAptH9AaWt/QFigwCAq/39Aar1/QFmgwCAaoMAgK85AgCuMQIArdX9AazV/QGA+QMAgfkDAIJNAACFdCAAboMAgITYAwCE1AQAcoMAgIZABACHVAMAdoMAgHqDAIB+gwCAgoMAgIaDAIC+8AUAqDECAKkxAgCqMQIAqzECAKyVAwCtnQMArpUDAK+NAwCKgwCAjoMAgJKDAICWgwCAhHwHAJqDAICegwCAooMAgLipAwC5qQMAumkDALtpAwC8eQMAvXkDAL5pAwC/aQMAsP0DALHNAwCyxQMAs60DALS5AwC1uQMAtq0DALelAwCmgwCAqoMAgK6DAICygwCAtoMAgLqDAIDv6AMAvoMAgOGQAQDCgwCA42wDAMqDAICAJQAAgSkAAIIdAADOgwCAs/kDANKDAICGaAcAh1wFANaDAIC2XQIAtV0CANqDAIC7SQIAunkCAN6DAIDigwCAvz0CAL49AgC9OQIAvFECAOaDAIDhPP4BvkAGAOPwAQDqgwCA7oMAgPKDAID2gwCA+oMAgP6DAIAChACABoIAgAaEAIAKhACADoQAgO/kAQAShACAFoQAgKNxAwAahACApdUCAB6EAIAihACAptUCACaEAIAqhACAq8ECAKrxAgCtsQIArNkCAK+1AgCutQIA4dz8AcaDAIDjUAQA74gEAID1BwCBCQAAgj0AAC6EAICEJAEAMoQAgDaEAIA6hACAPoQAgOFMBADv5BwA43QEALNdBgBChACAhgAMAIfgAwBGhACAtgUGALV1BgBKhACAuxEGALoJBgBOhACAUoQAgL/VBgC+1QYAvQEGALwJBgCojQYAqZUGAKqVBgCrpQYArL0GAK3FBgCuxQYAr/UGAFaEAIBahACAXoQAgGKEAIBmhACAaoQAgG6EAIByhACAuHUGALl9BgC6dQYAu80HALzVBwC93QcAvtUHAL/NBwCwjQYAsZUGALKdBgCzlQYAtFEGALVRBgC2UQYAt1EGAKMdBwCPFewBdoQAgHqEAIB+hACApkUHAKU1BwCChACAq1EHAKpJBwCGhACAioQAgK+VBwCulQcArUEHAKxJBwCeRfkBn6X5AZyR/QGdTfkBmlX9AZtd/QGYBfEBmZX+AZal8gGXYfEBlG31AZU19QGS4ekBk4X2AZBV7AGRXekBsbEdALClHQCziRkAskEcALUBJAC09RkAjoQAgJKEAICWhACAgqkDAIGhAwCAaQAAohUFAKMFAgCgFQYAob0FAKHFAQCahACAo80NAKLlAQClAQgApN0NAKfRCQCm2QkAqQEUAKilCACrxRQAqs0VAK3REQCsARAArwEcAK51EQCCEe8BgynvAZ6EAICihACAhuH1AYcR9gGEOeoBhY3qAYp59gGL4fEBvqQMAKqEAICO+f0BjzH+AYw98gGNYfIBkkn+AZOd/gGHCAwAhmwMAJax+gGX+QUAlFn6AZVZ+gGaYQYAm8EGAK6EAICyhACAtoQAgLqEAICcyQEAvoQAgKitBQCpuQUAqs0FAKvdBQCszQUArf0FAK71BQCvHQUAwoQAgMaEAIDKhACAzoQAgNKEAIDWhACA2oQAgN6EAIC4dQUAuX0FALoJBQC7CQUAvB0FAL0BBQC+AQUAvz0FALBxBQCxcQUAsnEFALNxBQC0UQUAtVEFALZRBQC3TQUAs0UEAOKEAIDmhACA6oQAgO6EAIC2fQQAtUUEAPKEAIC7tQQAurUEAPaEAID6hACAv5UEAL6VBAC9pQQAvKUEAP6EAICjAQQAAoUAgAaFAICmOQQACoUAgA6FAIClAQQAqvEEAKvxBAAShQCAhOwNAK7RBACv0QQArOEEAK3hBADh0AYAhAwMAOMoBwC+AAwAGoUAgO9EAwCGuAwAhywNAB6FAIDjlAEAIoUAgOH8AQBWgwCAJoUAgO/IBgAqhQCALoUAgDKFAICzjQMANoUAgLWNAwA6hQCAPoUAgLa1AwBChQCARoUAgLtBAwC6SQMAvUEDALxZAwC/QQMAvkkDAKNFDACmhACAFoUAgEqFAIBOhQCApn0MAKVFDABShQCAq4kMAKqBDABWhQCAWoUAgK+JDACugQwArYkMAKyRDACAFQ8AgR0PAIIhDwCzIQ4AXoUAgLUhDgC2JQ4AYoUAgGaFAIBqhQCAusEOALvBDgC8wQ4AvcEOAL7BDgC/wQ4AqK0OAKntDgCq5Q4Aq/0OAKzlDgCt6Q4ArjkOAK85DgBuhQCAcoUAgHaFAIB6hQCAgB0AAIEJAACCvQEAfoUAgLjNDwC51Q8AutUPALvlDwC8/Q8AvZUPAL6RDwC/kQ8AsEkOALFJDgCyWQ4As1kOALRJDgC1SQ4Atv0PALf1DwCjbQ8AgoUAgL6EAQCKhQCAjoUAgKZpDwClbQ8AkoUAgKuNDwCqjQ8AhogAAIdsAQCvjQ8Aro0PAK2NDwCsjQ8AloUAgLPtDgCahQCAnoUAgLaRDgCihQCApoUAgLXhDgC6tQ4Au70OAKqFAICuhQCAvn0BAL9lAQC8mQ4AvZkOAKgRDgCpJQ4AqiEOAKs5DgCsLQ4ArVUOAK5dDgCvUQ4AhKgAALKFAIC2hQCAuoUAgL6FAIDChQCAxoUAgMqFAIC47QEAuZUBALqVAQC7rQEAvLUBAL11AQC+fQEAv3UBALA1DgCxPQ4AsgkOALMJDgC0/QEAteUBALblAQC31QEAo6kNAM6FAIDShQCA1oUAgNqFAICm1Q0ApaUNAN6FAICr+Q0AqvENAOKFAIDmhQCAryECAK45AgCt3Q0ArN0NAIANAACBFQAAgh0AAOqFAIDuhQCA8oUAgIeQAwCGfAQAvuwEAPqFAID+hQCAAoYAgAaGAIAKhgCADoYAgBKGAICyLQ4AszUOALAtDgCxJQ4Ati0OALedDwC0LQ4AtSUOALq9DwC7jQ8AuKUPALm9DwC+LQ8AvxUPALyVDwC9JQ8AFoYAgBqGAIAehgCAIoYAgCaGAIAqhgCALoYAgDKGAICqpQ4Aq7UOAKjFDgCp3Q4Arp0OAK9VDgCspQ4ArZUOAKgNAgCpFQIAqhUCAKtNAgCsWQIArVkCAK5NAgCvRQIAhKgFADaGAIA6hgCAPoYAgIS4BABChgCARoYAgEqGAIC4/QIAuUEBALpBAQC7QQEAvEEBAL1JAQC+cQEAv3EBALAJAgCxCQIAss0CALPFAgC03QIAtcUCALbNAgC3xQIA4dQPAOMQDgDj9A4A4QwOAE6GAIBShgCAVoYAgFqGAIBehgCAYoYAgL4kBABqhgCA7AAAAO9EAADvzA4AboYAgIJlAACz2QIAgFUAAIFtAAC2nQIAcoYAgHaGAIC1lQIAuokCALuJAgCGqAQAh+AEAL5dAgC/RQIAvF0CAL1VAgCjHQUA9oUAgGaGAIB6hgCAfoYAgKZZBQClUQUAgoYAgKtNBQCqTQUAhoYAgIqGAICvgQUArpkFAK2RBQCsmQUAjoYAgLMpBgCShgCAloYAgLYpBgCahgCAnoYAgLUpBgC6pQYAu60GAKKGAICmhgCAvqUGAL+tBgC8tQYAva0GAKjlBgCp7QYAquUGAKv9BgCs5QYAre0GAK7lBgCvXQYAqoYAgK6GAICyhgCAtoYAgLqGAIC+hgCAwoYAgMaGAIC46QcAuekHALr9BwC79QcAvO0HAL1FBwC+TQcAv0UHALAlBgCxLQYAsiUGALM9BgC0JQYAtS0GALYlBgC32QcAo20HAIItAACBFQAAgB0AAMqGAICmbQcApW0HAM6GAICr6QcAquEHANKGAIC+oAEAr+kHAK7hBwCt6QcArPEHANaGAICzkQYAhugAAIcsAQC2QQEA2oYAgN6GAIC1UQEAuk0BALslAQDihgCA5oYAgL4lAQC/LQEAvDEBAL0xAQCwrQEAscUBALLBAQCzwQEAtMUBALXNAQC28QEAt/EBALgBAQC5AQEAugEBALsBAQC8AQEAvQEBAL4BAQC/AQEA6oYAgO6GAIDyhgCA9oYAgIaFAID6hgCA/oYAgAKHAICoTQYAqVkGAKo9BgCrNQYArP0BAK3lAQCu5QEAr9UBAKPVBQAGhwCACocAgA6HAIAShwCApgUCAKUVAgAWhwCAq2ECAKoJAgAahwCAHocAgK9pAgCuYQIArXUCAKx1AgAihwCAJocAgCqHAIAuhwCAMocAgOFkBQA2hwCA4+wFAIARAACBEQAAghEAAO/0BgA6hwCAPocAgEKHAIC+MAMAhMQCAEqHAICz4QMAhMAcALVRAwBOhwCAUocAgLZZAwBWhwCAWocAgLtxAwC6eQMAvbUAALxpAwC/tQAAvrUAAF6HAIDhlAEAYocAgONcAgCGcBwAh0QDAGaHAIBqhwCAbocAgHKHAIB2hwCAeocAgH6HAICChwCAhocAgO94AgCoVQIAqV0CAKphAgCrYQIArNECAK3RAgCu0QIAr9ECAIqHAICOhwCAkocAgJaHAICahwCAnocAgKKHAICmhwCAuGkBALlpAQC6CQEAuwkBALwZAQC9GQEAvgkBAL8FAQCwtQIAsb0CALK1AgCzaQEAtHkBALV5AQC2aQEAt2EBAOHEBwDjpAYA47gGAOF8BgCADQAAgTUAAII9AACqhwCArocAgLKHAIC+4B0AuocAgL6HAIDvYAAA7+gGAMKHAICjqQIAxocAgMqHAIDOhwCA0ocAgKYRAgClGQIA1ocAgKs5AgCqMQIAhkgcAIfMHACv/QEArv0BAK39AQCsIQIAqIUeAKmRHgCqkR4Aq60eAKy1HgCt1R4ArtEeAK/FHgC2hwCA2ocAgN6HAIDihwCA5ocAgOqHAIDuhwCA8ocAgLhhHwC5YR8AumEfALthHwC8YR8AvWEfAL5hHwC/YR8AsL0eALGFHgCyjR4As4UeALSdHgC1hR4Ato0eALeFHgCzGR4A9ocAgPqHAID+hwCAAogAgLZVHgC1PR4ABogAgLtBHgC6eR4ACogAgA6IAIC/QR4AvlkeAL1RHgC8WR4AEogAgKNdHgAWiACAGogAgKYRHgAeiACAIogAgKV5HgCqPR4AqwUeAISkAwC+qAMArh0eAK8FHgCsHR4ArRUeAKitHgCptR4AqrUeAKvJHgCs2R4ArdkeAK7JHgCvwR4AgO0BAIHxAQCC8QEAJogAgIaQAACHdAEAKogAgC6IAIC4yQEAuckBALrZAQC70QEAvPkBAL35AQC+mQEAv5UBALBFAQCxTQEAskUBALNdAQC0RQEAtU0BALZFAQC3+QEAsz0eADKIAIA2iACAOogAgD6IAIC2WR4AtVEeAEKIAIC7iQEAuoEBAEaIAIBKiACAv4kBAL6BAQC9iQEAvJEBAE6IAIBSiACAo3UeAFaIAIClGR4AWogAgF6IAICmER4ARocAgGKIAICrwQEAqskBAK3BAQCs2QEAr8EBAK7JAQBmiACAaogAgG6IAIByiACAdogAgIQYAgB6iACAfogAgIKIAICGiACAiogAgI6IAICSiACAmogAgJ6IAIC+cAMAgGkAAIFpAACCeQAAhAAEAIbwBACHdAMAoogAgO8MHwCmiACA4aweAKqIAIDj8B4ArogAgLKIAIC2iACAuogAgL6IAIDCiACAxogAgMqIAIDvVAIAzogAgNKIAIDWiACA46QCANqIAIDhgAEA3ogAgOKIAIDmiACA6ogAgO6IAICzRQMA8ogAgPaIAID6iACA/ogAgLZFAwC1VQMAAokAgLshAwC6SQMAvqAEAAqJAIC/KQMAviEDAL01AwC8OQMAqDkCAKk5AgCqjQIAq4UCAKydAgCthQIAroUCAK+1AgCA7QEAgfUBAIL1AQAOiQCAhpAEAIcEBQASiQCAFokAgLhFAQC5TQEAukUBALtdAQC8SQEAvUkBAL55AQC/eQEAsM0CALGlAgCyrQIAs6ECALSlAgC1rQIAtp0CALd9AQAaiQCAHokAgCKJAIAmiQCAKokAgC6JAIAyiQCA74gBAITsBADhVB4ANokAgONUAQA6iQCAPokAgEKJAIBGiQCAo0UCAEqJAIBOiQCAUokAgFaJAICmRQIApVUCAFqJAICrIQIAqkkCAF6JAIBiiQCArykCAK4hAgCtNQIArDkCAKg1BgCpPQYAqlEGAKttBgCseQYArWUGAK5tBgCvZQYABokAgGaJAIBqiQCAbokAgIAZAACBGQAAggUAAHKJAIC45QYAuekGALr5BgC7+QYAvOkGAL3pBgC+nQYAv5UGALAdBgCx5QYAsu0GALPlBgC0/QYAteEGALbhBgC34QYAs9kGAL7QAwB2iQCAeokAgH6JAIC25QYAtfEGAIKJAIC7IQYAutkGAIaYAACHeAMAvyUGAL45BgC9MQYAvDkGAIaJAICjnQYAiokAgI6JAICmoQYAkokAgJaJAICltQYAqp0GAKtlBgCaiQCAnokAgK59BgCvYQYArH0GAK11BgCo7QcAqSkGAKoxBgCrMQYArJEGAK2RBgCukQYAr5EGAKKJAICmiQCAqokAgK6JAICyiQCAtokAgLqJAIC+iQCAuIUGALmNBgC6hQYAu50GALyNBgC9vQYAvrUGAL95AQCw8QYAsfEGALLxBgCzxQYAtMEGALXBBgC2wQYAt8EGALO5BgDCiQCAxokAgMqJAIDOiQCAthEGALUZBgDSiQCAuzUGALo1BgDWiQCA2okAgL8FBgC+BQYAvREGALwlBgClQQYA3okAgOKJAICmSQYAgRUAAIB5AACj4QYAghUAAK1JBgCsfQYAr10GAK5dBgCENAEAlogAgKttBgCqbQYAvswDAOqJAICzlQIA7okAgLXZAgDyiQCA9okAgLbRAgCGgAwAhzgDALvFAgC6xQIAvRUDALwVAwC/FQMAvhUDAPqJAID+iQCA71gGAIRAAwACigCABooAgAqKAIAOigCAEooAgBaKAIAaigCAHooAgOE4BgAiigCA4yQGAL5wDACsSQIArUkCAK5dAgCvVQIAqB0CAKkFAgCqBQIAq10CAISoDAAmigCAKooAgC6KAIC+vA0AMooAgDaKAIA6igCAvE0DAL1VAwC+VQMAv2UDALjpAwC56QMAul0DALtVAwC0yQMAtckDALbZAwC32QMAsBkCALEZAgCy2QMAs9kDAD6KAIDj5AAAQooAgOG8AQBGigCAgj0AAIE9AACAPQAASooAgE6KAIBSigCAWooAgF6KAIDvzAMAYooAgGaKAICj3QMAaooAgIboDACHYA0AbooAgKaZAwClkQMAcooAgKuNAwCqjQMAdooAgHqKAICvXQIArl0CAK1dAgCsXQIAfooAgIKKAICGigCAiooAgI6KAICSigCAlooAgO/gAQCEvAwA4YwGAJqKAIDjHAYAnooAgKKKAICmigCAqooAgLPVAQCuigCAsooAgLaKAIC6igCAtpEBALWZAQC+igCAu70BALq9AQDCigCAyooAgL+dAQC+nQEAvZ0BALydAQCoBQ4AqQkOAKodDgCrFQ4ArFEOAK1RDgCuSQ4Ar0kOAFaKAICCzQ8AgfUPAID9DwDGigCAzooAgIYcAACHsAMAuOkOALnpDgC6/Q4Au/UOALztDgC9VQ8AvlEPAL9NDwCwOQ4AsTkOALIJDgCzCQ4AtBkOALUZDgC2DQ4At9kOAKOVDgDSigCA1ooAgNqKAIDeigCAptEOAKXZDgDiigCAq/0OAKr9DgDmigCA6ooAgK/dDgCu3Q4Ard0OAKzdDgDuigCAs/0PAPKKAID2igCAtoEPAPqKAID+igCAtZkPALqNDwC7ZQ8AAosAgAaLAIC+fQ8Av2UPALx9DwC9dQ8AqC0OAKk1DgCqMQ4AqzEOAKxVDgCtRQ4ArkUOAK91DgAKiwCADosAgBKLAIAWiwCAGosAgB6LAIAiiwCAJosAgLjpDgC59Q4Auv0OALv1DgC87Q4AvZEOAL6RDgC/kQ4AsA0OALHlDgCy7Q4As+UOALT9DgC15Q4Atu0OALflDgCjuQ4Agi0AAIEVAACAHQAAKosAgKbFDgCl3Q4ALosAgKshDgCqyQ4AMosAgL4sAQCvIQ4ArjkOAK0xDgCsOQ4AOosAgLZVAQC1RQEANosAgLNVAQA+iwCAhngAAIdcAAC/OQEAvjEBAL0lAQC8JQEAuzEBALpZAQDmiQCAQosAgEaLAIBKiwCAhAQDAKOJAgBOiwCApZkCAKaJAgBSiwCAvyg5AFaLAICqhQIAq+0CAKz5AgCt+QIAru0CAK/lAgDjWAIA78AOAOGIAQBaiwCAXosAgGKLAIBmiwCAaosAgG6LAIByiwCAdosAgHqLAIDvKAIA4ygOAH6LAIDhRA4AqbUCAKhpDQCrAQIAqgkCAK0BAgCsGQIArzECAK4BAgC+AAQAgosAgIaLAICKiwCAjosAgJKLAICWiwCAmosAgLnlAwC45QMAu+UDALrlAwC95QMAvOUDAL/lAwC+5QMAsSECALBJAgCzJQIAsiUCALUpAgC0IQIAtxUCALYVAgCowQIAqdECAKr1AgCrDQEArBUBAK0FAQCuBQEArzkBAJ6LAICiiwCAqosAgK6LAICyiwCAtosAgLqLAIC+iwCAuC0BALk9AQC67QEAu+UBALz9AQC95QEAvu0BAL/lAQCwLQEAsTUBALI9AQCzNQEAtC0BALUVAQC2HQEAtxUBAIA9AQCBpQAAgq0AAO/YAACGsAUAh9gFAMKLAIDv1A8AhGwEAOH0DgDGiwCA4xwPAMqLAIDhlAEAzosAgOMMDgCzPQIA0osAgNaLAIDaiwCA3osAgLbFAQC13QEA4osAgLuxAQC6qQEA5osAgOqLAIC/kQEAvqkBAL2hAQC8qQEAposAgO6LAICqRQYAq10GAKxFBgCtTQYArkUGAK99BgDyiwCA9osAgPqLAICj0QUA/osAgKUxBgCmKQYAAowAgAaMAICCHQAAgR0AAIAdAAAKjACADowAgBKMAIC+lAMAFowAgBqMAICGSAMAh8wDAB6MAIAijACAJowAgCqMAICoqQcAqakHAKq5BwCruQcArKkHAK2pBwCuAQcArzUHAC6MAIAyjACANowAgDqMAIA+jACAQowAgEaMAIBKjACAuC0HALnBAAC66QAAu+kAALz5AAC95QAAvuUAAL+dAACwUQcAsV0HALItBwCzJQcAtD0HALUlBwC2JQcAtxUHALMxBgBOjACAUowAgFaMAIBajACAtikGALUhBgBejACAu5kGALqVBgBijACAZowAgL/hBgC++QYAvfEGALz5BgBqjACAo3UGAG6MAIByjACApm0GAHaMAIB6jACApWUGAKrRBgCr3QYAfowAgIKMAICuvQYAr6UGAKy9BgCttQYAqOUBAKn1AQCq/QEAq/UBAKztAQCtNQEArj0BAK81AQCA+QAAgc0AAILFAACEYAEAvngBAIqMAICHrAAAhpABALjRAAC52QAAuuEAALvhAAC8kQAAvZ0AAL6VAAC/iQAAsE0BALFVAQCyXQEAs1UBALRNAQC18QAAtvEAALfxAACzdQIAjowAgJKMAICWjACAmowAgLa1AgC1ZQIAnowAgLuRAgC6iQIAoowAgKaMAIC/NQMAvokCAL2BAgC8iQIAqowAgKMxAgCujACAhMADAKbxAgCyjACAtowAgKUhAgCqzQIAq9UCALqMAIC+jACArs0CAK9xAwCszQIArcUCAKuNAACqjQAAqY0AAKg5AwCvvQAArr0AAK2FAACsjQAAqgAAAKsAAADCjACAxowAgMqMAIDOjACA0owAgNaMAIC7fQAAun0AALl9AAC4fQAAv90BAL7dAQC93QEAvN0BALO5AACysQAAsaEAALCtAAC3XQAAtl0AALWVAAC0lQAA2owAgN6MAIDijACA5owAgIE1AACADQAA6owAgII1AAC+rD0A7owAgPKMAICFaD0A+owAgP6MAICGODwAh8ACALNJAQACjQCA0AAAAAaNAIAKjQCAtkkBALVJAQAOjQCAuykBALolAQASjQCAFo0AgL8dAQC+HQEAvSEBALwpAQDjNDYA4QwGAOGwAgDjPAYAGo0AgB6NAIAijQCAJo0AgIQsPwC+oD8AKo0AgC6NAIDvfDcAMo0AgDaNAIDvGAEAOo0AgD6NAICGaD4Ah8w/AEKNAIBGjQCASo0AgO+UAABOjQCA4ZQBAFKNAIDjUAAAVo0AgILpPwCB6T8AgPE/AKMJPgCPASQA9owAgFqNAIBejQCApgk+AKUJPgBijQCAq2k+AKplPgBmjQCAao0AgK9dPgCuXT4ArWE+AKxpPgCeYTgAn3U4AJzBNACdtTkAmqU1AJt1NACYeTAAmXExAJYhLQCXhTEAlG0sAJVlLACSeSgAk6UtAJBRJACReSgAsQ0UALAFFACzARgAslUUALV5GAC0tRgAbo0AgHKNAIB2jQCAeo0AgH6NAICCjQCAotE8AKMlAQCgdTkAob08AKHJAACGjQCAowEEAKLlAAClHQQApPUEAKf5CACmAQgAqQEMAKhtCACrzQwAqs0MAK3REACsARAAr9URAK7ZEACCBSUAgy0lAIqNAICOjQCAhsEsAIcRLQCEHSkAhRUpAIopLQCLZSwAko0AgJaNAICOHTAAj8E0AIzZMACNHTEAkmE1AJPNNQCajQCAno0AgJZhOQCXmTgAlKE4AJV9OQCaYT0AmwU9AKKNAICmjQCAqo0AgK6NAICc6QAAso0AgLaNAIC6jQCAvo0AgMKNAICGjACAxo0AgMqNAIDOjQCAqJE+AKmRPgCq7T4Aq+E+AKzhPgCt6T4ArtE+AK/RPgCwUT4AsVE+ALJRPgCzUT4AtHk+ALV5PgC2bT4At2U+ALghPgC5IT4Aujk+ALs5PgC8KT4AvRU+AL4RPgC/DT4AgJkDAIGZAwCCBQAA0o0AgL5UAwDhsD0A2o0AgONAPgCEOAIA3o0AgOKNAIDv9D8A5o0AgOqNAICGmAQAhxwDALMFPQCECAQA7o0AgPKNAID2jQCAtgk9ALUJPQD6jQCAu/U9ALr1PQD+jQCAAo4AgL/dPQC+3T0AveU9ALzlPQAGjgCACo4AgKPNPQC+xAQApcE9AA6OAIASjgCApsE9ABaOAIAajgCAqz09AKo9PQCtLT0ArC09AK8VPQCuFT0AtmkCAB6OAIAijgCAtWkCACaOAICzSQIAKo4AgC6OAIC+qQMAv6kDALzBAwC9wQMAuvkDALv5AwAyjgCANo4AgKgtAwCpnQMAqpUDAKutAwCstQMArb0DAK61AwCv2QMAgA0AAIEVAACCHQAAOo4AgD6OAIBCjgCAh7QFAIacBAC4MQIAuTECALo1AgC7zQIAvNUCAL3dAgC+1QIAv8kCALBpAgCxaQIAskECALNBAgC0OQIAtTkCALYRAgC3EQIASo4AgOM0PgBOjgCA4aw+AFKOAIDvfAMAVo4AgFqOAIBejgCA45QDAGKOAIDhfD4AZo4AgO/oPgBqjgCAbo4AgHKOAIB2jgCAo1UDAHqOAICldQMAfo4AgIKOAICmdQMAho4AgIqOAICr5QIAquUCAK3dAgCs3QIAr7UCAK61AgCoGQYAqSEGAKohBgCrPQYArCUGAK1dBgCuVQYAr00GAEaOAICOjgCAko4AgJaOAICajgCAno4AgKKOAICmjgCAuOUGALmBBgC6gQYAu50GALyJBgC9iQYAvqEGAL+hBgCwPQYAsQ0GALIFBgCz7QYAtPUGALXhBgC24QYAt90GALOpBgCCLQAAgRUAAIAdAACqjgCAtt0GALWtBgCujgCAu8kGALr5BgCyjgCAhOADAL8lBgC+MQYAvTkGALzRBgC+iAMAo+0GANaNAIC2jgCAppkGALqOAIC+jgCApekGAKq9BgCrjQYAhkgAAIdsAACudQYAr2EGAKyVBgCtfQYAqIEGAKmNBgCqmQYAq5UGAKyNBgCttQYArrEGAK+tBgDCjgCAxo4AgMqOAIDOjgCA0o4AgNaOAIDajgCA3o4AgLilBgC5YQEAumEBALthAQC8YQEAvWEBAL5hAQC/YQEAsNkGALHZBgCyqQYAs6kGALS9BgC1oQYAtqEGALedBgCzEQYA4o4AgOaOAIDqjgCA7o4AgLY1BgC1BQYA8o4AgLsdBgC6HQYA9o4AgPqOAIC/ZQYAvnkGAL19BgC8fQYA/o4AgKNVBgACjwCABo8AgKZxBgAKjwCADo8AgKVBBgCqWQYAq1kGABKPAIAWjwCArj0GAK8hBgCsOQYArTkGAKjVAgCp3QIAqikDAKspAwCsOQMArTkDAK4pAwCvKQMAGo8AgB6PAIAijwCAKo8AgC6PAIAyjwCAvrgDADaPAIC47QMAuYUDALqBAwC7gQMAvIUDAL2NAwC+sQMAv7EDALBZAwCxWQMAsu0DALPlAwC0/QMAteUDALblAwC31QMAgKEAAIGhAACCoQAAvoAMADqPAICEmAIAPo8AgEKPAICGAAwAh/QDAEaPAIBKjwCATo8AgFKPAIBWjwCAhLADALPhAwBajwCAXo8AgGKPAIBmjwCAtvkDALXxAwBqjwCAu90DALrdAwBujwCAco8AgL9hAwC+eQMAvXEDALx5AwB2jwCAeo8AgH6PAICjLQIAgo8AgKU9AgCmNQIAho8AgIqPAICOjwCAqhECAKsRAgCstQIArb0CAK61AgCvrQIA48QDAOMQBwDhuAEA4WwHAIBxAACBcQAAggUAAJKPAICGwAwAh1QNAJqPAICejwCA77ADAO8ABwCijwCApo8AgKqPAICujwCAso8AgLaPAIC6jwCAvo8AgMKPAIDvpAEAhKANAOGABgDGjwCA4xABAMqPAIDOjwCA0o8AgNaPAICz9QEA2o8AgN6PAIDijwCA5o8AgLZNAQC1SQEA6o8AgLtRAQC6SQEA7o8AgPKPAIC/OQEAvjEBAL1BAQC8SQEAqC0OAKk1DgCqPQ4AqzEOAKyBDgCtjQ4AroUOAK+1DgCWjwCA9o8AgPqPAID+jwCAgBkAAIEZAACCBQAAApAAgLidDgC5rQ4AuqUOALtNDwC8VQ8AvV0PAL5JDwC/QQ8AsM0OALHVDgCy3Q4As9UOALS1DgC1vQ4AtrUOALetDgCjtQ4AvogDAAaQAIAKkACADpAAgKYNDgClCQ4AEpAAgKsRDgCqCQ4AhggAAIdsAwCveQ4ArnEOAK0BDgCsCQ4AFpAAgBqQAIAekACAs7UPACKQAIC1VQ8Atl0PACaPAIAmkACAKpAAgLp5DwC7eQ8AvGkPAL1dDwC+SQ8Av0kPAKhpDgCpaQ4AqnEOAKtxDgCskQ4ArZEOAK6RDgCvkQ4ALpAAgDKQAIA2kACAOpAAgD6QAIBCkACARpAAgEqQAIC4hQ4AuY0OALqFDgC7nQ4AvI0OAL29DgC+tQ4Av3kBALDxDgCx8Q4AsvEOALPFDgC0wQ4AtcEOALbBDgC3wQ4Ao/kOAE6QAIBSkACAVpAAgFqQAICmEQ4ApRkOAF6QAICrNQ4AqjUOAGKQAIBmkACArwUOAK4FDgCtEQ4ArCUOAIANAACBFQAAgh0AAGqQAIBukACAcpAAgISUAQC+lAEAhkAHAIf0AAB6kACAfpAAgIKQAICGkACAipAAgI6QAICojQIAqZUCAKqVAgCrzQIArNUCAK3dAgCuyQIAr/0CAJKQAICWkACAmpAAgJ6QAIC/ABQAopAAgKaQAICqkACAuH0DALnBAwC6wQMAu8EDALzBAwC9yQMAvvEDAL/xAwCwhQIAsUUDALJNAwCzRQMAtF0DALVFAwC2TQMAt0UDALMdAgCukACAspAAgLaQAIC6kACAtl0CALVdAgC+kACAu4EDALpBAgDCkACAxpAAgL+BAwC+mQMAvZEDALyZAwDKkACAo1kCAM6QAIDSkACAphkCANaQAIDakACApRkCAKoFAgCrxQMA3pAAgOKQAICu3QMAr8UDAKzdAwCt1QMA6pAAgOPMAACEBAIA4bwBAIDJAQCB/QEAgvUBAL4QBQDukACAvigEAPKQAID2kACA+pAAgO8QAAD+kACAApEAgIbgBACH9AIABpEAgAqRAIDj/A8ADpEAgOHgDwASkQCA7xQPABaRAIAakQCAHpEAgCKRAIAmkQCAKpEAgC6RAIAykQCANpEAgDqRAIA+kQCAQpEAgEaRAIBKkQCA7+ABAIUEEgDh3A4ATpEAgOMcDgCAKQAAgR0AAIIFAABSkQCAszECAFqRAICEzAUAXpEAgGKRAIC2KQIAtSECAGaRAIC7zQEAus0BAGqRAIBukQCAv3UBAL7JAQC9wQEAvMkBAKjpBQCp6QUAqvkFAKv5BQCs6QUArekFAK45BgCvOQYA5pAAgFaRAICGiAAAhwADAHKRAIB2kQCAepEAgH6RAIC40QYAudkGALrhBgC74QYAvJEGAL2dBgC+lQYAv4kGALBJBgCxSQYAsl0GALNVBgC0TQYAtfEGALbxBgC38QYAo3EFAIKRAICGkQCAipEAgI6RAICmaQUApWEFAJKRAICrjQYAqo0GAJaRAICakQCArzUGAK6JBgCtgQYArIkGAJ6RAICikQCAs+EHAKaRAIC14QcAqpEAgK6RAIC25QcAdpAAgLKRAIC7vQcAuqEHAL2VBwC8qQcAv5UHAL6VBwCoAQYAqSUGAKohBgCrIQYArCEGAK0tBgCuJQYAr1UGALaRAICCHQAAgR0AAIAdAAC6kQCAvpEAgMKRAIC+MAEAuDkGALk5BgC6yQYAu8kGALzZBgC92QYAvskGAL/JBgCwLQYAsTEGALI1BgCzCQYAtBkGALUZBgC2CQYAtwkGAKOpBgCEjAIAhigfAIdEAQDKkQCApq0GAKWpBgDOkQCAq/UGAKrpBgDSkQCA1pEAgK/dBgCu3QYArd0GAKzhBgDakQCAsxUGAN6RAIDikQCAtj0GAOaRAIDqkQCAtTUGALrZAQC72QEA7pEAgPKRAIC+fQEAv2UBALx9AQC9dQEAqMUFAKnJBQCq2QUAq9EFAKz5BQCt+QUArikCAK8pAgD2kQCA+pEAgP6RAIACkgCAjAAAAAaSAIAKkgCADpIAgLjtAgC5hQIAuo0CALuBAgC8hQIAvY0CAL69AgC/fQMAsFkCALFZAgCy7QIAs+UCALT9AgC15QIAtuUCALfVAgCjUQUAEpIAgBaSAIAakgCAHpIAgKZ5BQClcQUAIpIAgKudAgCqnQIAJpIAgCqSAICvIQIArjkCAK0xAgCsOQIAghEAAC6SAICAZQAAgQkAADKSAIC+mAMAOpIAgD6SAICEJAMAQpIAgIdoAwCGjBwARpIAgEqSAIBOkgCAUpIAgFaSAIBakgCAs6ECAITAHAC10QIAXpIAgGKSAIC21QIAZpIAgGqSAIC7wQIAuvUCAL0RAQC82QIAvxEBAL4ZAQBukgCAcpIAgHaSAIB6kgCAfpIAgIKSAICGkgCA77gGAIqSAIDhnAQAjpIAgON0BgCSkgCAlpIAgJqSAICekgCAgPkAAIH5AACCBQAAopIAgL5YHACEWB8A71wAAO9ABgDhkAEA4fwGAOM8AADjdAYAqpIAgK6SAICGmBwAh/QcAKNpAgC+DB8AspIAgLaSAIC6kgCAph0CAKUZAgC+kgCAqwkCAKo9AgDCkgCAxpIAgK/ZAQCu0QEArdkBAKwRAgCokR0AqZkdAKqhHQCroR0ArNEdAK3dHQCu1R0Ar8kdADaSAICmkgCAypIAgM6SAIDSkgCA1pIAgNqSAIDekgCAuHkeALl5HgC6zR4Au8UeALzdHgC9xR4AvsUeAL/1HgCwuR0AsY0dALKFHQCzTR4AtFUeALVdHgC2VR4At0keALjNHwC51R8Aut0fALvVHwC88R8Avf0fAL7pHwC/6R8AsKUfALGxHwCysR8As40fALSVHwC19R8Atv0fALf1HwCoGR4AqRkeAKotHgCrPR4ArCUeAK0tHgCuJR4Ar90fAOKSAIDmkgCA6pIAgO6SAIDykgCAxpEAgPaSAID6kgCAs+UfAP6SAIACkwCABpMAgAqTAIC27R8Ate0fAA6TAIC7NR4AuiEeABKTAIAWkwCAv3EeAL4RHgC9GR4AvCUeAIJpAACjoR8AgFkAAIFRAACmqR8AGpMAgB6TAIClqR8AqmUeAKtxHgCGAAQAh+wBAK5VHgCvNR4ArGEeAK1dHgCoMR4AqTEeAKpBHgCrQR4ArEEeAK1JHgCucR4Ar3EeACKTAIAmkwCAKpMAgC6TAIAykwCANpMAgDqTAIA+kwCAuCkBALkpAQC6OQEAuzUBALwtAQC90QAAvtEAAL/RAACwyQEAsckBALLZAQCz2QEAtMkBALXJAQC2GQEAtxkBALPJHQBCkwCARpMAgEqTAIBOkwCAtskdALXJHQBSkwCAuw0CALoNAgBWkwCAWpMAgL8NAgC+DQIAvQ0CALwNAgBekwCAo40dAGKTAIBmkwCApo0dAGqTAIBukwCApY0dAKpJAgCrSQIAcpMAgHaTAICuSQIAr0kCAKxJAgCtSQIAgA0AAIERAACCEQAAepMAgO/MAgB+kwCAgpMAgISQAgDjLAIAvigDAOHYAQCKkwCAhhAEAIfUAwCOkwCAkpMAgLNhAwCWkwCAmpMAgJ6TAICikwCAtnkDALVxAwCmkwCAu10DALpdAwCqkwCArpMAgL/hAAC++QAAvfEAALz5AACjoQIAspMAgLaTAIC6kwCAvpMAgKa5AgClsQIAwpMAgKudAgCqnQIAxpMAgMqTAICvIQEArjkBAK0xAQCsOQEAzpMAgNKTAIDvZB8A1pMAgNqTAIDekwCA4pMAgOaTAICADQAAgREAAIIVAADqkwCA4eAcAO6TAIDjiB8A8pMAgISAAgC+jAUAh0gFAIYsBAD6kwCA/pMAgO+kHgDv9B4A4QAeAOFQHwDjLB4A47AeAAKUAIAGlACACpQAgA6UAIASlACAFpQAgISEBACzcQEAGpQAgLUdAQC2FQEAHpQAgCKUAIAmlACAugEBALsBAQC89QAAvf0AAL71AAC/7QAAqK0GAKm9BgCqtQYAq8kGAKzZBgCt2QYArskGAK/BBgAqlACALpQAgDKUAIA2lACAOpQAgD6UAIBClACARpQAgLhtBwC5BQcAug0HALsBBwC8AQcAvQEHAL4BBwC/AQcAsIkGALGJBgCybQcAs2UHALR9BwC1ZQcAtmUHALdVBwCGkwCAozkGAEqUAID2kwCApl0GAE6UAIBSlACApVUGAKpJBgCrSQYAVpQAgFqUAICuvQcAr6UHAKy9BwCttQcAgG0AAIEJAACCGQAAXpQAgGKUAIC+nAMAZpQAgGqUAICGQAAAh2AAAG6UAIBylACAdpQAgHqUAIB+lACAgpQAgKiRBgCpkQYAqrkGAKu5BgCsqQYArakGAK7ZBgCv2QYAhpQAgIqUAICOlACAkpQAgJaUAICalACAnpQAgKKUAIC4cQEAuXEBALpxAQC7cQEAvNkBAL3BAQC+wQEAv/UBALCxBgCxuQYAsokGALOJBgC0UQEAtVEBALZRAQC3UQEAszEGAKaUAICqlACArpQAgLKUAIC2KQYAtSEGALaUAIC7fQYAunUGALqUAIC+lACAv5UBAL6VAQC9XQYAvF0GAMKUAICjdQYAxpQAgMqUAICmbQYAzpQAgNKUAIClZQYAqjEGAKs5BgCErAEAvqABAK7RAQCv0QEArBkGAK0ZBgCo3QIAqe0CAKrlAgCr/QIArOUCAK3tAgCu5QIArz0DANqUAIDelACA4pQAgL5kDADmlACA6pQAgO6UAIDylACAuMkDALnJAwC62QMAu9EDALz5AwC9+QMAvpkDAL+VAwCwRQMAsU0DALJFAwCzXQMAtEUDALVNAwC2RQMAt/kDAIFVAwCASQMAs2UCAIJVAwC1ZQIA9pQAgPqUAIC2ZQIAhgAMAIfkAwC7gQMAuokDAL2BAwC8mQMAv4EDAL6JAwCjLQIA/pQAgAKVAIAGlQCACpUAgKYtAgClLQIADpUAgKvJAwCqwQMAEpUAgBaVAICvyQMArsEDAK3JAwCs0QMA49gGAOGsBwDhnAYA45wGABqVAICEWA0AHpUAgCKVAIAmlQCAKpUAgC6VAIAylQCA7xwBADaVAIA6lQCA70AGAIB5AACBFQAAghEAAIQADAA+lQCA46wAAEKVAIDhpAEASpUAgO9wAACGyAwAh6QNAE6VAIBSlQCAVpUAgFqVAIC6yQUAu8kFALilBQC5zQUAvvkFAL/5BQC8zQUAvcUFALKlBQCzrQUAsBEGALERBgC2rQUAt50FALS1BQC1rQUAqmEGAKthBgConQYAqZUGAK5hBgCvYQYArHEGAK1xBgBelQCAYpUAgGaVAIBqlQCAbpUAgHKVAIC+sAwAdpUAgKghDgCpIQ4AqiEOAKs9DgCsJQ4ArS0OAK4lDgCviQ4ARpUAgHqVAIB+lQCAgpUAgIaVAICKlQCAjpUAgJKVAIC4UQ8AuV0PALpVDwC7bQ8AvHUPAL19DwC+dQ8Av2kPALD5DgCxoQ4AsqEOALOhDgC0oQ4AtakOALaRDgC3kQ4As6kOAJaVAIDWlACAmpUAgJ6VAIC2rQ4Ata0OAKKVAIC7ZQ4Auj0OAKaVAICqlQCAv20OAL5lDgC9dQ4AvHUOAIIZAACj7Q4AgGUAAIEZAACm6Q4ArpUAgLKVAICl6Q4AqnkOAKshDgC2lQCAupUAgK4hDgCvKQ4ArDEOAK0xDgCoYQ4AqXUOAKp9DgCrdQ4ArG0OAK31DgCu/Q4Ar/UOAIaAAQCHpAEAvpUAgMKVAIDGlQCAypUAgM6VAIDSlQCAuHUBALl9AQC6dQEAu8kBALzdAQC9xQEAvsUBAL/1AQCwjQ4AsZUOALKdDgCzkQ4AtFUBALVdAQC2VQEAt00BALP1DgDWlQCA2pUAgN6VAIDilQCAtnUOALXlDgDmlQCAu1EOALpJDgDqlQCA7pUAgL+ZAQC+kQEAvUUOALxJDgDylQCAo7EOAPaVAID6lQCApjEOAP6VAIAClgCApaEOAKoNDgCrFQ4ABpYAgAqWAICu1QEAr90BAKwNDgCtAQ4AqO0CAKktAwCqJQMAqz0DAKwlAwCtLQMAriUDAK+ZAwAOlgCAEpYAgBaWAIAalgCAHpYAgCKWAIC+dAIAKpYAgLiNAwC5kQMAupEDALulAwC8vQMAvXUAAL59AAC/dQAAsOkDALHpAwCy+QMAs/EDALTZAwC12QMAtrkDALe1AwCArQAAgbUAAIK9AACzoQMALpYAgLWhAwC2oQMAMpYAgITgAgA2lgCAuiEDALshAwC8IQMAvSkDAL4RAwC/EQMAo+0DAIXABACFtG8AOpYAgD6WAICm7QMApe0DAEKWAICrbQMAqm0DAIZIBQCHbAMAr10DAK5dAwCtZQMArG0DAEaWAIDjAA4A71hsAOG0DwBKlgCATpYAgFKWAIBWlgCAoakDAKD9DwCjwQMAog0DAOHgAwDv4A8A4+QDAFqWAIBelgCAYpYAgIQEBAC+BAQAZpYAgO+UAwBqlgCAbpYAgHKWAIDj1AMAdpYAgOFUAAB6lgCAfpYAgIKWAICGlgCAgA0AAIEVAACCHQAAipYAgI6WAICSlgCAj5EbAO+cDgCE4AcA4dQOAJqWAIDj8A4AnpYAgKKWAICGGAcAh5AEAJnlFwCY5RcAm+kLAJo5CwCd/QoAnPELAJ9VDwCeXQ8AkSkfAJDNGwCTJR8Aks0fAJXREwCUKRMAlxkXAJZ1EwCM4RAAjSUQAI4tEACP+QwAJpYAgJaWAICKORQAi5UUAITpGACFBRgAhuUYAIfxFACmlgCAqpYAgIIxHACDFRwAnKkEAK6WAICylgCAtpYAgLqWAIC+lgCAmtEEAJt9BACUTQ0AleUIAJblCACXtQgAwpYAgMaWAICSWQwAk1kMAKGRAADKlgCAowF8AKKZAACluXwApJF8AKeZeACm4X0AqYF5AKiheACriXQAqgF0AK0BcACsWXQAr4VwAK6dcACx4WwAsAFsALMBaACyHWwAtfVoALT1aADOlgCA0pYAgNaWAIDalgCA3pYAgOKWAIDmlgCA6pYAgO6WAIDylgCAqD0HAKmVBwCqlQcAq6kHAKzdBwCtxQcArsUHAK8dBgD2lgCAgh0AAIEdAACAHQAA+pYAgP6WAIAClwCAvmABALgZBgC5GQYAuikGALslBgC8IQYAvSEGAL4hBgC/IQYAsHEGALFxBgCycQYAs3EGALRNBgC1NQYAtj0GALctBgCzHQcACpcAgIYoAACHqAAADpcAgLZFBwC1VQcAEpcAgLu1BgC6tQYAFpcAgBqXAIC/8QYAvokGAL2lBgC8pQYAHpcAgKNZBwAilwCAJpcAgKYBBwAqlwCALpcAgKURBwCq8QYAq/EGADKXAIA2lwCArs0GAK+1BgCs4QYAreEGAKipBQCptQUAqr0FAKs9AgCsJQIArVECAK5RAgCvUQIAOpcAgD6XAIBClwCARpcAgIQ8AwBKlwCATpcAgFKXAIC4pQIAua0CALqlAgC7vQIAvKUCAL2tAgC+pQIAv30DALAxAgCxMQIAshkCALMZAgC09QIAta0CALalAgC3nQIAVpcAgFqXAIBelwCAszkFAGKXAIC1oQIAtt0CAGaXAIBqlwCAbpcAgLr5AgC7+QIAvMECAL3BAgC+PQIAv2UCAHKXAICmgQIApf0CAHqXAICjZQUAvlh8AIbYfACHnHwArzkCAK5hAgCtnQIArJ0CAKulAgCqpQIAfpcAgIKXAICohQIAqZUCAKqVAgCrpQIArL0CAK3VAgCu0QIAr9ECAIGFAQCAhQEAhpcAgILtAQCKlwCAjpcAgJKXAICWlwCAuHUBALl9AQC6dQEAu80BALzVAQC93QEAvskBAL/BAQCwtQIAsb0CALKBAgCzgQIAtFEBALVRAQC2UQEAt1EBAJqXAICelwCAopcAgKaXAIDhMAYA4WQHAOMoBgDjxAYAhCB9AKqXAIDvbAAA7xgGAK6XAICylwCAtpcAgLqXAICzXQIAvkh8AL6XAIDClwCAxpcAgLYVAgC1dQIAypcAgLs5AgC6MQIAzpcAgNKXAIC/1QEAvtUBAL0VAgC8FQIAo519AHaXAIDWlwCA2pcAgN6XAICm1X0ApbV9AOKXAICr+X0AqvF9AOaXAIDqlwCArxV+AK4VfgCt1X0ArNV9AIBNAACBVQAAglUAALOxfgDulwCAtWV/ALZtfwDylwCAhkADAIcEAwC66X8Au+l/ALz5fwC9+X8Avt1/AL/NfwD2lwCA+pcAgAaXAID+lwCAApgAgAaYAIAKmACADpgAgKhtfgCpXX4AqlV+AKuFfwCsgX8ArYF/AK6BfwCvgX8AsEF/ALFBfwCyQX8As0F/ALR1fwC1ZX8Atm1/ALdlfwC4XX8AuS1/ALolfwC7PX8AvC1/AL0dfwC+FX8Av/UAAKP9fwASmACAFpgAgBqYAIAemACApiF+AKUpfgAimACAq6V+AKqlfgAmmACAKpgAgK+BfgCukX4ArbV+AKy1fgAumACAMpgAgDaYAIA6mACAPpgAgEKYAIBGmACASpgAgIA9AACBCQAAghkAAE6YAIBSmACAhLgBAL6wAQBWmACAqK0BAKnVAQCq1QEAqw0BAKwVAQCtGQEArgkBAK8JAQCGAAQAhwQBAFqYAIBemACAYpgAgGaYAIBqmACAbpgAgLjtAAC5hQAAuo0AALuFAAC8nQAAvYUAAL6NAAC/hQAAsHkBALF5AQCy7QAAs+UAALT9AAC15QAAtuUAALfVAACzXQIAcpgAgHaYAIB6mACAfpgAgLaZAgC1nQIAgpgAgLu9AgC6vQIAhpgAgIqYAIC/IQMAvjkDAL0xAwC8OQMAvigDAKMZAgCOmACAkpgAgKbdAgCWmACAmpgAgKXZAgCq+QIAq/kCAJ6YAICimACArn0DAK9lAwCsfQMArXUDAL7IBACmmACAqpgAgL7EBQCumACAspgAgLaYAIC6mACAgD0AAIEJAACCGQAAvpgAgMKYAICEOAMAypgAgM6YAIDveAIA0pgAgIZIBACHVAMA1pgAgNqYAIDemACA4pgAgOaYAIDqmACA7pgAgPKYAIDjVAIA9pgAgOFAAQD6mACA/pgAgOMkfwACmQCA4Zx8AAaZAIAKmQCADpkAgBKZAICEbAUAFpkAgBqZAIAemQCAIpkAgO8YfwAmmQCAKpkAgLPxAgAumQCAMpkAgDqZAIA+mQCAtukCALXhAgBCmQCAu3EBALppAQCHoAUAhswEAL85AQC+WQEAvVEBALxhAQDhQH8ARpkAgOM4fgCEwAQAgtkAAO8UAACApQAAgdkAAEqZAIDjwAAATpkAgOHUAQBSmQCAVpkAgO+EfgBamQCAqs0BAKvVAQBemQCAYpkAgK79AQCvnQEArMUBAK31AQBmmQCAo1UCAGqZAIBumQCApk0CAHKZAIB2mQCApUUCAMaYAIA2mQCAepkAgH6ZAICCmQCAhpkAgIqZAICOmQCAqJkGAKmZBgCq7QYAq/0GAKzlBgCt7QYAruUGAK/dBgCwpQYAsa0GALKlBgCzuQYAtK0GALVVBwC2UQcAt00HALh1BwC5fQcAunUHALtJBwC8WQcAvVkHAL5JBwC/RQcAs0UGAJKZAICWmQCAmpkAgJ6ZAIC2TQYAtU0GAKKZAIC7SQYAukEGAIYIAACHjAAAv7EHAL5JBgC9TQYAvFEGAIJdAACjAQYAgEUAAIFdAACmCQYAqpkAgK6ZAIClCQYAqgUGAKsNBgCymQCAtpkAgK4NBgCv9QcArBUGAK0JBgCoTQYAqVUGAKpVBgCriQYArLEGAK29BgCuqQYAr6kGAKaZAIC6mQCAvpkAgMKZAIDGmQCAypkAgM6ZAIDSmQCAuEkBALlJAQC6WQEAu1kBALxJAQC9SQEAvt0BAL/VAQCw3QYAsa0GALKlBgCzjQYAtJkGALWZBgC2jQYAt4UGALPdBgDWmQCA2pkAgN6ZAIDimQCAtj0GALU5BgDmmQCAu2kGALoZBgDqmQCA7pkAgL9dBgC+XQYAvVkGALxxBgDymQCAo5kGAPaZAID6mQCApnkGAP6ZAIACmgCApX0GAKpdBgCrLQYABpoAgAqaAICuGQYArxkGAKw1BgCtHQYAqNUCAKndAgCq4QIAq+ECAKw1AwCtPQMArjUDAK8tAwCAzQMAgQkAAIIZAAAOmgCAEpoAgIQYAgC+dAMAGpoAgLjpAwC56QMAuokDALuFAwC8nQMAvYEDAL6BAwC/tQMAsFUDALFdAwCyVQMAs+kDALT5AwC1+QMAtukDALfhAwCGIAwAhxADAB6aAIAimgCAJpoAgCqaAIAumgCA71wCADKaAIDhFAAANpoAgOOIAgC++AwAOpoAgD6aAIBCmgCAu/kDALrxAwC+gA0ARpoAgL9dAwC+XQMAvV0DALzhAwCzCQIASpoAgE6aAIBSmgCAVpoAgLbdAwC13QMAWpoAgKipBgCpqQYAqrkGAKu5BgCsqQYArakGAK4dBQCvFQUAXpoAgGKaAIBmmgCAapoAgG6aAIBymgCAdpoAgHqaAIC4GQUAuS0FALolBQC7yQUAvNkFAL3FBQC+zQUAv8UFALBtBQCxdQUAsnUFALNFBQC0XQUAtT0FALY1BQC3KQUA4fQGAOFUBwDjFAYA47wGAIEJAACAqQAAfpoAgII5AACE7A0AgpoAgIeIDACGDAwAipoAgI6aAIDvzAcA78QHAKMpAwCSmgCAlpoAgJqaAICemgCApv0CAKX9AgCimgCAq9kCAKrRAgCmmgCAqpoAgK99AgCufQIArX0CAKzBAgCoPQ4AqY0OAKqFDgCrnQ4ArIUOAK2NDgCuuQ4Ar7UOAIaaAICumgCAspoAgLaaAIC6mgCAvpoAgMKaAIDGmgCAuL0OALllDwC6bQ8Au2UPALx9DwC9ZQ8Avm0PAL9lDwCw1Q4Asd0OALLVDgCzoQ4AtJUOALWdDgC2lQ4At40OALMNDgDKmgCAzpoAgNKaAIDWmgCAtg0OALUNDgDamgCAuxkOALoRDgDemgCAFpoAgL9ZDgC+UQ4AvXUOALwBDgDimgCAo0kOAOaaAIDqmgCApkkOAO6aAIDymgCApUkOAKpVDgCrXQ4AhKQDAPaaAICuFQ4Arx0OAKxFDgCtMQ4AqLEOAKmxDgCqzQ4Aq8UOAKzdDgCtxQ4ArsUOAK/1DgCA7QEAgfEBAILxAQD6mgCAhpABAIe0AQD+mgCAApsAgLjFAQC5zQEAusUBALvdAQC8zQEAvf0BAL6ZAQC/lQEAsI0OALFBAQCyQQEAs0EBALRBAQC1QQEAtkEBALdBAQCzRQ4ABpsAgAqbAIAOmwCAEpsAgLZFDgC1VQ4AFpsAgLuFAQC6SQ4AGpsAgB6bAIC/hQEAvoUBAL2VAQC8lQEAIpsAgKMBDgAmmwCAKpsAgKYBDgAumwCAMpsAgKURDgCqDQ4Aq8EBADabAIA6mwCArsEBAK/BAQCs0QEArdEBAKgtAwCpPQMAqjUDAKuJAwCsmQMArZkDAK6JAwCvgQMAPpsAgEKbAIBGmwCASpsAgE6bAIBSmwCAVpsAgFqbAIC4rQMAuWUAALptAAC7ZQAAvH0AAL1lAAC+bQAAv2UAALDJAwCxyQMAsqkDALOlAwC0vQMAtaEDALahAwC3lQMAgL0AAIEJAACCGQAAXpsAgGKbAIC+2AMAapsAgG6bAICErAIAcpsAgIfoAwCGDAQAdpsAgHqbAIB+mwCAgpsAgLP9AwCGmwCAipsAgI6bAICSmwCAtlkDALVRAwCWmwCAu00DALpNAwCamwCAnpsAgL8lAwC+OQMAvTEDALw9AwCimwCAppsAgKqbAICumwCA71gPALKbAIC2mwCAupsAgOOQDgC+mwCA4bAPAMKbAIDGmwCAypsAgM6bAIDSmwCAgHUAAIF9AACCdQAAhBgFAO88AwDamwCAvhQFAN6bAIDj0AMA4psAgOFAAADmmwCAhtAEAIdYBQDqmwCA7psAgPKbAID2mwCA+psAgP6bAIACnACABpwAgAqcAIDvrA8AhOwEAOEQDgAOnACA41QBABKcAIAWnACAGpwAgB6cAICj/QIAIpwAgCacAIAqnACALpwAgKZZAgClUQIAMpwAgKtNAgCqTQIANpwAgDqcAICvJQIArjkCAK0xAgCsPQIAqJkGAKmZBgCqrQYAq70GAKylBgCtrQYArqUGAK/ZBgDWmwCAghEAAIEZAACAwQcAPpwAgEKcAIC+cAMARpwAgLhJBwC5SQcAul0HALtVBwC8TQcAvXEHAL51BwC/bQcAsKkGALGpBgCyuQYAs7EGALSZBgC1mQYAtnkHALd5BwC1NQYASpwAgE6cAIC2NQYAhjAAAIdcAwCzPQYAUpwAgL19BgC8dQYAv0UGAL5FBgBmmwCAVpwAgLt1BgC6dQYAo2UGAFqcAIBenACAYpwAgGacAICmbQYApW0GAGqcAICrLQYAqi0GAG6cAIBynACArx0GAK4dBgCtJQYArC0GAKhVBgCpWQYAqm0GAKthBgCsaQYArWkGAK6ZBgCvmQYAdpwAgHqcAIB+nACAgpwAgIacAICKnACAjpwAgJKcAIC4+QYAufkGALqNBgC7hQYAvJ0GAL2FBgC+hQYAv7UGALDpBgCx6QYAsvkGALP5BgC06QYAtd0GALbJBgC3yQYAs+UGAJacAICanACAnpwAgKKcAIC26QYAteEGAKacAIC7LQYAui0GAKqcAICunACAvxkGAL4tBgC9LQYAvC0GAIIVAACjoQYAgGEAAIFhAACmrQYAspwAgL6QAQClpQYAqmkGAKtpBgCEpAEAupwAgK5pBgCvXQYArGkGAK1pBgCohQIAqY0CAKqVAgCruQIArNUCAK3dAgCu1QIAr80CAIaAHACHZAMAvpwAgL5gAwDCnACAxpwAgMqcAIDOnACAuHUDALl9AwC6dQMAu8kDALzZAwC92QMAvskDAL/BAwCwvQIAsY0CALKFAgCzTQMAtFUDALVdAwC2VQMAt00DALMdAgDSnACAhAgDANacAIDanACAtl0CALVdAgDenACAu0kCALp5AgDinACA5pwAgL+ZAwC+kQMAvZkDALxRAgCwAAAAo1kCAOqcAIDunACAphkCAPKcAID2nACApRkCAKo9AgCrDQIA+pwAgP6cAICu1QMAr90DAKwVAgCt3QMAAp0AgAadAIAKnQCA76wGAA6dAIASnQCAFp0AgBqdAIC+6BwAHp0AgCKdAIAqnQCALp0AgOGABwAynQCA42AGAIBdAACBYQAAgmEAALN9AQA2nQCAtW0BALZlAQA6nQCAhiAdAIdYHQC6+QEAu/EBALzZAQC92QEAvrEBAL+xAQDvoAAAPp0AgEKdAIBGnQCASp0AgE6dAIBSnQCA71wBAIRsHADhzAYAVp0AgOMcBgDjSAAAWp0AgOEwAQBenQCAo/EBAGKdAICFABQAZp0AgGqdAICm6QEApeEBAG6dAICrfQEAqnUBAHKdAIB2nQCArz0BAK49AQCtVQEArFUBAKjtHQCpLR4AqjkeAKs5HgCsKR4ArSkeAK6dHgCvkR4AJp0AgHqdAIB+nQCAgp0AgIadAICC+QAAgfEAAID9AAC4qR4AuakeALpJHwC7SR8AvFkfAL1FHwC+TR8Av0UfALDxHgCx+R4AssEeALPBHgC0uR4AtbkeALatHgC3pR4AsBEfALERHwCyER8AsyUfALQlHwC1KR8Atl0fALdRHwC4cR8AuXkfALpBHwC7QR8AvJUAAL2dAAC+lQAAv40AAIqdAIC2nACAjp0AgJKdAICWnQCAmp0AgIb4AwCH0AAAqM0fAKnVHwCq0R8Aq70fAKytHwCtcR8ArnEfAK9xHwCzOR4Anp0AgKKdAICmnQCAqp0AgLaRHgC1RR4Arp0AgLu1HgC6tR4Asp0AgLadAIC/jR4AvoEeAL2RHgC8pR4Aup0AgKN9HgC+nQCAwp0AgKbVHgDGnQCAyp0AgKUBHgCq8R4Aq/EeAM6dAIDSnQCArsUeAK/JHgCs4R4ArdUeAKhVAQCpgQAAqoEAAKuBAACsgQAArYkAAK6xAACvsQAA1p0AgNqdAIDenQCA4p0AgOadAIDqnQCA7p0AgPKdAIC4ZQAAuW0AALplAAC7fQAAvGUAAL1tAAC+ZQAAv90DALChAACxrQAAsqUAALO5AAC0qQAAtZ0AALaVAAC3XQAA9p0AgIIdAACBHQAAgB0AAPqdAID+nQCAAp4AgL4UAgAKngCAhKgCAA6eAIASngCAFp4AgBqeAIAengCAjwAAALNJAwAingCAhugEAIesAgAmngCAtkkDALVJAwAqngCAuykDALolAwAungCAMp4AgL8ZAwC+LQMAvS0DALwxAwA2ngCAo40DADqeAIA+ngCApo0DAEKeAIBGngCApY0DAKrhAwCr7QMASp4AgE6eAICu6QMAr90DAKz1AwCt6QMAvoQDAFKeAIBWngCAWp4AgF6eAIBingCAZp4AgGqeAICAPQAAgQkAAIIZAABungCAcp4AgHqeAICENAMAfp4AgLMtAQCCngCAh8wCAIZMBQCGngCAti0BALUtAQCKngCAu0kBALp5AQCOngCAkp4AgL+9AQC+vQEAvbkBALxRAQDheB8Alp4AgOPQHwCangCAnp4AgOGUAQCingCA42gDAKaeAICqngCArp4AgO+IAwCyngCAtp4AgO+sHwC6ngCAvp4AgMKeAIDGngCAyp4AgM6eAIDSngCA1p4AgO9EHgDangCA4dweAN6eAIDjHB4A4p4AgOqeAIDungCA8p4AgIFpAACAZQAAo+UBAIJ9AACl5QEA9p4AgIQUBACm5QEAvigEAPqeAICrgQEAqrEBAK1xAQCsmQEAr3UBAK51AQCoIQYAqS0GAKolBgCrPQYArCUGAK0tBgCuXQYAr00GAHaeAIDmngCAhggDAIeMAwD+ngCAAp8AgAafAIAKnwCAuOkGALnpBgC6jQYAu4UGALydBgC9hQYAvo0GAL+FBgCwPQYAsQ0GALIFBgCz7QYAtPkGALX5BgC27QYAt+UGALDNBwCx1QcAstEHALPtBwC09QcAtf0HALbpBwC36QcAuN0HALklBwC6LQcAuyUHALw9BwC9JQcAvi0HAL8lBwAOnwCAEp8AgAaeAIAWnwCAGp8AgB6fAIAinwCAJp8AgKgVBgCpGQYAqu0HAKv9BwCs7QcArd0HAK7VBwCvuQcAswUGACqfAIAunwCAMp8AgDafAIC2PQYAtQUGADqfAIC7cQYAumkGAD6fAIBCnwCAv1kGAL5RBgC9WQYAvGUGAEafAICjQQYASp8AgE6fAICmeQYAUp8AgIS0AQClQQYAqi0GAKs1BgC+gAEAWp8AgK4VBgCvHQYArCEGAK0dBgCoNQYAqT0GAKo1BgCrWQYArHUGAK2lAQCurQEAr6UBAIDpAACB6QAAgv0AAL8kAQCGMA8Ah+QAAF6fAIBinwCAuMUAALnNAAC6xQAAu90AALzNAAC9/QAAvvUAAL+dAACw3QEAsSUBALItAQCzIQEAtCEBALUhAQC2IQEAtyEBALvBAgC6OQIAZp8AgGqfAIC/xQIAvsUCAL3VAgC82QIAs50FAG6fAIBynwCAdp8AgIwAAAC2BQIAtd0FAHqfAICqfQIAq4UCAH6fAICCnwCAroECAK+BAgCsnQIArZECAIafAICj2QUAip8AgI6fAICmQQIAkp8AgJafAIClmQUAgpFqAIORagCanwCAnp8AgIa5FgCH6RcAhBEWAIWZFgCKoRIAi6ESAKKfAICmnwCAjpEeAI9ZHgCMmRMAjREeAJJxGgCT5RoAqp8AgO/oJACW8QYAlwUGAJTlGgCVGQYAmikCAJvFAgCunwCAsp8AgLafAIDhKBsAnN0CAOMgDwCfIQcAnsEHAJ01GwCcLRsAm6EbAJr5HwCZOR8AmLEfAJcBEgCWIRMAlSkTAJRRFgCTGRcAkjEXAJGxFwCQKWsAj1FrAOOsBwCEBA0A4RwHAIANAACBNQAAgj0AALqfAIC+nwCAwp8AgL4gDQDKnwCAzp8AgO9MBwCGWAwAh2ANANKfAIDWnwCA2p8AgN6fAICEXA8A4p8AgO8IAADvhAYA4ZABAOGwBgDj4AAA42QGAOafAIDqnwCA7p8AgPKfAID2nwCA+p8AgL4ADwCEQA4A/p8AgAKgAIAGoACACqAAgA6gAIASoACAFqAAgBqgAICj1QMAotUDAKExAwCgLQcAVp8AgMafAIAeoACAIqAAgCagAICCmQAAgZEAAICZAACoTQ0AqZ0NAKqVDQCrJQ4ArD0OAK0RDgCuEQ4ArxEOALB9DgCxDQ4AsgUOALMtDgC0OQ4AtTkOALYtDgC3JQ4AuOkOALnpDgC6wQ4Au8EOALy5DgC9nQ4AvpUOAL+NDgCzPQ0AKqAAgC6gAIAyoACANqAAgLaxDgC1lQ4AOqAAgLvpDgC6mQ4AhogAAIfkAAC/3Q4Avt0OAL3ZDgC88Q4APqAAgKN5DQC+hAEAhIAGAKb1DgBCoACARqAAgKXRDgCq3Q4Aq60OAEqgAIBOoACArpkOAK+ZDgCstQ4ArZ0OALIFNQCzGTQAsG0wALENNQBSoACAVqAAgLQBKAC1PSkAWqAAgF6gAIBioACAZqAAgGqgAIBuoACAcqAAgHagAICiRQEAo9UBAHqgAIChTQEAps0FAKcBOACkAQQApX0FAKoBPACrRT0AqEk5AKnlOQCudTEAr30xAKxdPQCtATAAqO0OAKn1DgCqCQ4AqwkOAKwZDgCtGQ4Arg0OAK8tDgB+oACAgqAAgIagAICKoACAjqAAgJKgAICWoACAmqAAgLgdDgC5JQ4Aui0OALslDgC8PQ4Avd0BAL7VAQC/zQEAsFUOALFdDgCyVQ4Asy0OALQ1DgC1JQ4Ati0OALclDgCzgQ0AnqAAgKKgAICqoACArqAAgLaZDQC1kQ0AvlQEALuZDQC6kQ0AhogEAIe8AwC/4Q0AvvENAL35DQC8gQ0AgkkAAKPFDQCA9QMAgUkAAKbdDQCyoACAtqAAgKXVDQCq1Q0Aq90NALqgAIC+oACArrUNAK+lDQCsxQ0Arb0NAKgdAgCpRQIAql0CAKtVAgCseQIArXkCAK6JAwCviQMAwqAAgMagAIDKoACAzqAAgIT8BQDSoACA1qAAgNqgAIC4iQMAuWUDALptAwC7ZQMAvH0DAL1lAwC+bQMAv2UDALDBAwCxwQMAssEDALPBAwC0wQMAtcEDALbBAwC3wQMA3qAAgOKgAIDmoACA6qAAgO6gAIDhpAEA8qAAgOPADgC+aAQA9qAAgPqgAIDvHAEA/qAAgAKhAIAGoQCACqEAgLOVAwAOoQCAEqEAgBqhAIAeoQCAtrkDALWxAwAioQCAu0UCALpFAgCGqAQAh6QFAL9FAgC+RQIAvVUCALxVAgDh4A4A4SwMAOMIDgDj1A4AgK0AAIHRAACC0QAAJqEAgCqhAIAuoQCAMqEAgDahAIA6oQCAPqEAgO+IDgDvLA4AoxUDAEKhAICFxCsARqEAgEqhAICmOQMApTEDAE6hAICrxQIAqsUCAFKhAIBWoQCAr8UCAK7FAgCt1QIArNUCAKgNBgCpFQYAql0GAKtVBgCseQYArXkGAK65BgCvuQYAFqEAgFqhAIBeoQCAYqEAgGahAIBqoQCAbqEAgHKhAIC4TQcAuVUHALpRBwC7aQcAvHkHAL1lBwC+bQcAv2UHALDJBgCxyQYAst0GALPVBgC0zQYAtXUHALZ9BwC3dQcAs9UGAHahAIB6oQCAfqEAgIKhAIC2+QYAtfEGAIahAIC7DQYAug0GAIYIAACHLAAAv7EHAL4JBgC9AQYAvAkGAIJRAACjkQYAgEEAAIFBAACmvQYAiqEAgI6hAICltQYAqkkGAKtJBgCSoQCAlqEAgK5NBgCv9QcArE0GAK1FBgCwsQYAsbEGALLNBgCzwQYAtMEGALXJBgC28QYAt/EGALgFAQC5DQEAugUBALsdAQC8BQEAvQ0BAL4FAQC/uQEAmqEAgJ6hAICioQCApqEAgKqhAICuoQCApqAAgLKhAICoLQYAqTUGAKo1BgCr8QYArNEGAK3RBgCu0QYAr9EGALPdBgC2oQCAuqEAgL6hAIDCoQCAtjEGALU5BgDGoQCAuxUGALoVBgDKoQCAzqEAgL9tBgC+ZQYAvXUGALx5BgDSoQCAo5kGANahAIDaoQCApnUGAN6hAIDioQCApX0GAKpRBgCrUQYA5qEAgOqhAICuIQYArykGAKw9BgCtMQYAqNUCAKndAgCq4QIAq+ECAKxRAwCtUQMArlEDAK9RAwDuoQCA8qEAgL7sAwD6oQCA/qEAgAKiAIAGogCACqIAgLjpAwC56QMAuokDALuFAwC8nQMAvYEDAL6BAwC/tQMAsDEDALExAwCyNQMAs+kDALT5AwC1+QMAtukDALfhAwCAbQMAgaUAAIKtAACzZQIADqIAgLXVAwC23QMAEqIAgITgAgAWogCAuvkDALv5AwC87QMAvTEDAL4xAwC/MQMAh+wDAIZkPACyAAAAGqIAgB6iAIDjCAQAIqIAgOHsBgAmogCA7wAGACqiAIAuogCAMqIAgDaiAIA6ogCAPqIAgEKiAIBGogCASqIAgE6iAIDjoAMAUqIAgOGoAQBWogCA7/ADAIIdAACBHQAAgB0AAFqiAIBeogCAYqIAgGqiAIC+TD0AbqIAgKOhAwC+QDwApRECAHKiAIB2ogCAphkCAIRsAgB6ogCAqz0CAKo9AgCt9QIArCkCAK/1AgCu9QIAhkA8AIe0PQB+ogCAgqIAgIaiAICKogCAjqIAgO9EBgCSogCA4dQGAJaiAIDjDAcAmqIAgJ6iAICiogCApqIAgLP1AQCqogCArqIAgLKiAIC2ogCAtkUBALXlAQC6ogCAuzEBALopAQC+ogCAwqIAgL8dAQC+HQEAvRkBALwlAQCoLT4AqTU+AKo9PgCrNT4ArC0+AK2FPgCuhT4Ar7k+AGaiAIDGogCAyqIAgM6iAICAGQAAgRkAAIIFAADSogCAuLk+ALm5PgC6ST8Au0k/ALxZPwC9WT8Avk0/AL9BPwCwrT4AsbU+ALKxPgCzjT4AtJk+ALWZPgC2iT4At4k+AKO1PgCEjAIA1qIAgNqiAIDeogCApgU+AKWlPgDiogCAq3E+AKppPgCGCAAAh2gDAK9dPgCuXT4ArVk+AKxlPgDmogCAs5E/AOqiAIDuogCAtlk/APKiAID2ogCAtbk/ALp1PwC7fT8A+qIAgP6iAIC+QT8Av0E/ALxZPwC9VT8AsJU+ALGdPgCyqT4As6U+ALShPgC1oT4AtqE+ALehPgC45T4Aue0+ALrlPgC7/T4AvO0+AL3dPgC+1T4AvxkBAAKjAIAGowCACqMAgA6jAIASowCA9qEAgBajAIAaowCAqF0+AKkhPgCqPT4AqzU+AKwVPgCt/T4ArvU+AK/tPgCj1T4AHqMAgCKjAIAmowCAKqMAgKYdPgCl/T4ALqMAgKs5PgCqMT4AMqMAgDajAICvBT4ArgU+AK0RPgCsHT4AgREAAIANAAA6owCAghkAAD6jAIBCowCAhJQBAL4QAACGQAcAhwABAEqjAIBOowCAUqMAgFajAIBaowCAXqMAgKiNAgCplQIAqpUCAKvNAgCs2QIArdkCAK7NAgCvxQIAYqMAgGajAIBqowCAbqMAgIwAAAByowCAdqMAgHqjAIC4HQMAucEDALrBAwC7wQMAvMEDAL3JAwC+8QMAv/EDALCJAgCxiQIAsikDALMpAwC0OQMAtTkDALYpAwC3JQMAsx0CAH6jAICCowCAhqMAgIqjAIC2WQIAtVECAI6jAIC7TQIAuk0CAJKjAICWowCAv/0DAL79AwC9/QMAvP0DAJqjAICeowCAoqMAgKajAIDhDD4AqqMAgOOoPwCuowCAgT0AAIAxAADvUD8Agh0AALKjAIC++AQAhhgFAIdMAwCEDAIA48wAALqjAIDhvAEAvqMAgMKjAIDGowCAyqMAgM6jAICELAUA0qMAgNajAIDaowCA7xAAAN6jAIDiowCAo90DAOajAIDqowCA7qMAgPKjAICmmQMApZEDAPajAICrjQMAqo0DAPqjAID+owCArz0CAK49AgCtPQIArD0CAAKkAIAGpACACqQAgA6kAIASpACAFqQAgBqkAIDvKD4AHqQAgOE8PgAipACA4zgBAIApAACBFQAAghEAACqkAICzMQIAvsgEAITABAAupACAMqQAgLYpAgC1IQIANqQAgLvNAQC6zQEAOqQAgD6kAIC/dQEAvskBAL3BAQC8yQEAqOkFAKnpBQCq+QUAq/kFAKzpBQCt6QUArjkGAK85BgC2owCAJqQAgIaIAACHQAMAQqQAgEakAIBKpACATqQAgLjRBgC52QYAuuEGALvhBgC8kQYAvZEGAL6RBgC/kQYAsEkGALFJBgCyXQYAs1UGALRNBgC18QYAtvEGALfxBgCjcQUAUqQAgFakAIBapACAXqQAgKZpBQClYQUAYqQAgKuNBgCqjQYAZqQAgGqkAICvNQYArokGAK2BBgCsiQYAbqQAgLPRBwBypACAdqQAgLbxBwB6pACAfqQAgLXBBwC60QcAu90HAIKkAICGpACAvrkHAL+5BwC8xQcAvbkHALhpBgC5aQYAuokGALuJBgC8mQYAvZkGAL6JBgC/iQYAsBEGALEdBgCyFQYAs2kGALR5BgC1eQYAtmkGALdhBgCoSQYAqVUGAKpdBgCrVQYArE0GAK11BgCucQYAr3EGAEajAICCHQAAgR0AAIAdAACKpACAjqQAgJKkAIC+cAEAo5UGAJqkAICGKAAAh0gBAJ6kAICmtQYApYUGAKKkAICrmQYAqpUGAKakAICqpACAr/0GAK79BgCt/QYArIEGAK6kAICzFQYAsqQAgLakAIC2PQYAuqQAgL6kAIC1NQYAutkBALvZAQDCpACAxqQAgL59AQC/ZQEAvH0BAL11AQCovQUAqckFAKrZBQCr0QUArPkFAK35BQCuKQIArykCAMqkAIDOpACA0qQAgNakAICMAAAA2qQAgN6kAIDipACAuO0CALmFAgC6gQIAu4ECALyFAgC9jQIAvrECAL+xAgCwWQIAsVkCALLtAgCz5QIAtP0CALXlAgC25QIAt9UCAKNRBQDmpACA6qQAgO6kAIDypACApnkFAKVxBQD2pACAq50CAKqdAgD6pACA/qQAgK8hAgCuOQIArTECAKw5AgCBbQAAgG0AAAKlAICCBQAAvlwMAAqlAIAOpQCA79AGAITsAwDhHAUAEqUAgOP8BwAWpQCAGqUAgIbYDACHvAwAqIUCAKmVAgCqlQIAq6UCAKy9AgCt1QIArtECAK/RAgAepQCAIqUAgCalAIAqpQCALqUAgDKlAIA2pQCAOqUAgLh1AQC5fQEAunUBALvJAQC82QEAvdkBAL7JAQC/wQEAsLUCALG9AgCygQIAs4ECALRRAQC1UQEAtlEBALdRAQA+pQCAhAQNAEKlAIBGpQCAvhwMAEqlAIDvHAAA76AGAOGQAQDhRAcA43AGAOOYBgBOpQCAUqUAgFalAIBapQCAs10CAF6lAIBipQCAZqUAgGqlAIC2FQIAtXUCAG6lAIC7OQIAujECAHKlAIB6pQCAv9UBAL7VAQC9FQIAvBUCAKOdDQAGpQCAdqUAgH6lAICCpQCAptUNAKW1DQCGpQCAq/kNAKrxDQCGCAMAh2ADAK8VDgCuFQ4ArdUNAKzVDQCAkQ8AgZkPAIKhDwCzpQ4AiqUAgLWhDgC2eQ8AjqUAgJKlAICWpQCAukUPALtdDwC8RQ8AvU0PAL5FDwC//Q8AqFUOAKldDgCqYQ4Aq30OAKxlDgCttQ8Arr0PAK+1DwCapQCAnqUAgKKlAICmpQCAqqUAgK6lAICypQCAtqUAgLhVDwC5dQ8Aun0PALt1DwC8bQ8AvREPAL4RDwC/EQ8AsM0PALHVDwCy3Q8As9UPALTNDwC1dQ8AtnEPALdxDwCj6Q8AuqUAgL6lAIDCpQCAxqUAgKY1DgCl7Q8AyqUAgKsRDgCqCQ4AzqUAgNKlAICvsQ4ArgkOAK0BDgCsCQ4A1qUAgIIdAACBHQAAgB0AANqlAIDepQCA4qUAgL6UAQCErAEA5qUAgIfgAQCGzAAA6qUAgO6lAIDypQCAlqQAgKhtDgCpiQEAqpkBAKuRAQCswQEArckBAK75AQCv+QEAhKAAAPalAID6pQCA/qUAgAKmAIAGpgCACqYAgA6mAIC4xQAAuc0AALrFAAC73QAAvM0AAL39AAC+9QAAv50AALBBAQCxQQEAskEBALNBAQC0QQEAtUEBALZBAQC3QQEAsxECABKmAIAWpgCAGqYAgB6mAIC2SQIAtUkCACKmAIC7hQIAuoUCACamAIAqpgCAv4UCAL6FAgC9lQIAvJUCAIU8GgCjVQIALqYAgDKmAICmDQIANqYAgDqmAIClDQIAqsECAKvBAgA+pgCAQqYAgK7BAgCvwQIArNECAK3RAgCCGQAARqYAgIAZAACBGQAASqYAgE6mAIBSpgCAWqYAgL4ABABepgCAYqYAgGamAIBqpgCAbqYAgHKmAIB2pgCA7+gOAHqmAICG6AQAh1ADAH6mAICCpgCA74ACAIamAIDhlAEAiqYAgONYAQCOpgCA4wAOAJKmAIDhaA0AlqYAgKhxAgCpcQIAqnECAKupAgCsuQIArbkCAK6pAgCvqQIAhKwFAJqmAICepgCAoqYAgKamAICqpgCArqYAgLKmAIC4bQEAuQ0BALoFAQC7GQEAvAkBAL09AQC+NQEAv9kBALDZAgCx2QIAsm0BALNlAQC0fQEAtWUBALZlAQC3VQEA4WAPAOP0AADjHA4A4bwBALamAICCOQAAgTEAAIA9AAC6pgCAvigEAL6mAIDCpgCAvjwHAO8QAADv0A4AyqYAgIbgBACHyAQAzqYAgLO1AgDSpgCAtX0CALZ1AgDWpgCA2qYAgN6mAIC6UQIAu1ECALz1AQC9/QEAvvUBAL/tAQBWpgCAxqYAgKqxBQCrsQUArBUGAK0dBgCuFQYArw0GAOKmAIDmpgCA6qYAgKNVBQDupgCApZ0FAKaVBQDypgCAs+kGAPamAID6pgCA/qYAgAKnAIC24QYAtekGAAanAIC7sQYAuqEGAAqnAIAOpwCAv50GAL6RBgC9pQYAvKkGAKgdBgCpIQYAqiEGAKshBgCsIQYArSEGAK4hBgCvIQYAEqcAgBanAIAapwCAHqcAgCKnAIAmpwCAKqcAgC6nAIC45QcAue0HALrlBwC7/QcAvOUHAL3tBwC+5QcAv00HALAlBgCxNQYAsj0GALMxBgC0FQYAtRkGALYNBgC3AQYAo6kHAIIVAACBtQEAgLUBADKnAICmoQcApakHADanAICr8QcAquEHAISgAgA6pwCAr90HAK7RBwCt5QcArOkHAD6nAICzlQYAhugAAIcYAQC2tQYAQqcAgEanAIC1vQYAukkBALtVAQBKpwCATqcAgL45AQC/OQEAvEUBAL05AQCoPQYAqU0GAKpZBgCrUQYArHEGAK1xBgCuuQEAr7kBAISsAQBSpwCAVqcAgFqnAIBepwCAYqcAgGanAIBqpwCAuKkBALmpAQC6aQEAu2kBALx5AQC9eQEAvmkBAL9pAQCwyQEAsdUBALLVAQCzqQEAtLkBALW5AQC2qQEAt6EBAKPRBQBupwCAcqcAgHanAIB6pwCApvEFAKX5BQB+pwCAqxECAKoNAgCCpwCAhqcAgK99AgCufQIArX0CAKwBAgCKpwCAjqcAgJKnAICWpwCAgTEAAIANAACapwCAgjkAAJ6nAICipwCAviQDAKqnAICupwCAsqcAgIbYHACHTAMAtqcAgLqnAIC+pwCAhMAcAOMgAQDCpwCA4cgBAManAIDvMAIAyqcAgM6nAIDSpwCA1qcAgNqnAIDepwCA4qcAgLOVAwDmpwCA6qcAgO6nAIDypwCAtrkDALWxAwD2pwCAu1EDALpJAwD6pwCA/qcAgL/1AAC+SQMAvUEDALxJAwCoLQIAqUUCAKpdAgCrVQIArHkCAK15AgCuvQIAr7UCAL5oHQACqACABqgAgAqoAICAHQAAgQkAAIKpAAAOqACAuFEBALlZAQC6YQEAu2EBALwRAQC9EQEAvhEBAL8RAQCwzQIAsdUCALLdAgCz1QIAtM0CALVxAQC2cQEAt3EBAOFYBgDhVAcA47AAAOO8BgASqACAGqgAgIYYHACHVB0AHqgAgCKoAIAmqACAKqgAgL74HAAuqACA7/AGAO/gBgCjlQIAMqgAgDaoAIA6qACAPqgAgKa5AgClsQIAQqgAgKtRAgCqSQIARqgAgEqoAICv9QEArkkCAK1BAgCsSQIAqG0eAKl1HgCqfR4Aq40eAKyVHgCtnR4Aro0eAK+BHgAWqACATqgAgFKoAIBWqACAWqgAgF6oAIBiqACAZqgAgLiJHgC5iR4AupkeALuRHgC8uR4AvbkeAL59HwC/dR8AsMUeALHNHgCyxR4As90eALTFHgC1zR4AtsUeALe5HgCz9R4AaqgAgG6oAIByqACAdqgAgLYdHgC1HR4AeqgAgLsJHgC6AR4AfqgAgIKoAIC/CR4AvgEeAL0JHgC8ER4Agm0AAKOxHgCAVQAAgWUAAKZZHgCEmAMAv9ABAKVZHgCqRR4Aq00eAIYABACHmAEArkUeAK9NHgCsVR4ArU0eAIqoAICOqACAhCQAAJKoAICWqACAmqgAgKanAICGqACAqLUeAKmFHgCqjR4Aq4UeAKydHgCtgR4Arv0eAK/1HgCwjR4AsZUeALKVHgCzpR4AtL0eALVxAQC2cQEAt3EBALhRAQC5UQEAulEBALtRAQC89QEAvf0BAL71AQC/7QEAsyUeAL4IBwCeqACAoqgAgKaoAIC2IR4AtTUeAKqoAIC7cR4AumkeAK6oAICyqACAv5UBAL5ZHgC9UR4AvGEeALaoAICjYR4AuqgAgL6oAICmZR4AwqgAgMaoAIClcR4Aqi0eAKs1HgDKqACAzqgAgK4dHgCv0QEArCUeAK0VHgDhVBoA0qgAgONcCgDWqACA2qgAgN6oAIDiqACA5qgAgOqoAIC+qAUA7qgAgPKoAICPMSoA+qgAgO/E+wD+qACAk2EuAJIdLwCR2SoAkEkqAJfZEgCWdRIAlQ0TAJTBLgCbHRsAmkEWAJlJFgCYDRcAn3EeAJ4RGwCdcRoAnHkaAKOhAgCinQMAoZUfAKCJHgDjiAEA4wgeAOFoAADh/B4A79wBAO98HwC1if4AtAH8ALMB+gCylfoAsQH4ALAR9gCv4fYArgH0AK0l8gCs7fIAqwHwAKrpDwCp1Q4AqN0OAKcBDACmyQoApe0KAKQBCACj4QYAovEGAKHlAwACqQCAggErAIMBKwAGqQCACqkAgIYxLwCHiS8AhIkrAIVFLgCKdRIAiwUTAIYIBQCHbAUAjhEXAI8RFwCMsRMAjV0WAJI9GgCTQRsAhMgFAIQABwCWUR8Al1EfAJRRGwCVORoAmn0eAJt9AgAOqQCAEqkAgIFZAQCAVQEAnFkDAIJRAQC+yAcAFqkAgBqpAIAeqQCAIqkAgCapAIAqqQCA79QeAC6pAIDhJB4AMqkAgONoAQA2qQCAOqkAgD6pAIBCqQCAu2kCALpZAgBGqQCASqkAgL8dAgC+HQIAvRkCALxxAgCz7QIATqkAgFKpAIBWqQCAWqkAgLZ9AgC17QIAXqkAgKMNBQD2qACAYqkAgGqpAIBmqQCApp0FAKUNBQBuqQCAq4kFAKq5BQCGCAMAh3wDAK/9BQCu/QUArfkFAKyRBQCAsQcAgbkHAIJBAACzsQYAcqkAgLVZBwC2MQcAdqkAgHqpAIB+qQCAuuEHALvhBwC84QcAveEHAL7hBwC/3QcAqLUGAKm5BgCqdQYAq4UHAKydBwCt/QcArvUHAK8ZBwCCqQCAhqkAgIqpAICOqQCAkqkAgJapAICaqQCAnqkAgLh1BwC5fQcAunUHALsFBwC8HQcAvTEHAL4xBwC/MQcAsGkHALFpBwCyeQcAs3kHALRpBwC1VQcAtlEHALdNBwCj/QcAoqkAgKapAICqqQCArqkAgKZ9BgClFQYAsqkAgKutBgCqrQYAtqkAgLqpAICvkQYArq0GAK2tBgCsrQYAvqkAgMKpAIDGqQCAyqkAgIAdAACBCQAAgjkAAM6pAIDSqQCA2qkAgIbIAACHpAEA3qkAgOKpAIDmqQCA6qkAgKiNAQCpmQEAqtkBAKvRAQCs8QEArfEBAK45AQCvOQEAhKAAAO6pAIDyqQCA9qkAgPqpAID+qQCAAqoAgAaqAIC4zQAAudUAALrVAAC75QAAvP0AAL2VAAC+nQAAv5UAALBJAQCxSQEAslkBALNZAQC0SQEAtUkBALb9AAC39QAAugUEALsJBAC44QcAueEHAL4JBAC/CQQAvAkEAL0JBACyjQcAs+UHALC1BwCxhQcAtuUHALftBwC08QcAtfEHAKpNBwCrVQcAqEkHAKlJBwCu3QcAr8UHAKxNBwCt1QcACqoAgA6qAIASqgCAFqoAgBqqAIAeqgCAIqoAgCaqAICz0QIAKqoAgC6qAIC+AAwAMqoAgLbxAgC1+QIANqoAgLsNAgC6DQIAOqoAgD6qAIC/DQIAvg0CAL0NAgC8DQIAghUAAKOVAgCAYQAAgWEAAKa1AgBCqgCASqoAgKW9AgCqSQIAq0kCAIbIDACHrAwArkkCAK9JAgCsSQIArUkCAKhlAgCpdQIAqn0CAKt1AgCsbQIArbECAK6xAgCvsQIAhKANAE6qAIBSqgCAVqoAgFqqAIBeqgCAYqoAgGaqAIC4MQEAuTEBALoxAQC7MQEAvNUBAL3dAQC+yQEAv8EBALDRAgCx0QIAstECALPRAgC0EQEAtREBALYRAQC3EQEA4bAGAGqqAIDj0AYAhEAPAG6qAIDhpAEAcqoAgOPABgB2qgCAeqoAgH6qAIDv1AYA7AAAAIKqAIDvZAcAhqoAgIqqAICOqgCAkqoAgLO5AgCWqgCAtakCALZ9AgCaqgCAnqoAgKKqAIC6WQIAu1kCALxJAgC9SQIAvpkBAL+ZAQCjdQ0ARqoAgKaqAICqqgCArqoAgKaxDQClZQ0AsqoAgKuVDQCqlQ0AvqQDALaqAICvVQ4ArlUOAK2FDQCshQ0AgE0AAIFVAACCVQAAs2UPALqqAIC1ZQ8Atm0PAL6qAICGQAMAhxQDALrtDwC7/Q8AvOkPAL3VDwC+3Q8Av9UPAKhZDgCpoQ8AqqEPAKuhDwCsoQ8AraEPAK6hDwCvoQ8AwqoAgMaqAIDKqgCAzqoAgNKqAIDWqgCA2qoAgN6qAIC4AQ8AuQEPALoBDwC7HQ8AvA0PAL01DwC+PQ8Av9UAALBlDwCxdQ8AsnEPALNNDwC0VQ8AtV0PALZNDwC3QQ8AoykOAOKqAIDmqgCA6qoAgO6qAICmIQ4ApSkOAPKqAICrsQ4AqqEOAPaqAID6qgCAr5kOAK6RDgCtmQ4ArKUOAP6qAIACqwCABqsAgAqrAIDvJA0ADqsAgBKrAIAWqwCA49AOABqrAIDhGA4AHqsAgIAVAACBGQAAggUAACKrAICo0QEAqdkBAKopAQCrKQEArDkBAK05AQCuKQEArykBAL5oAQAqqwCAhsgBAIesAAAuqwCAMqsAgDarAIA6qwCAuO0AALmFAAC6jQAAu4UAALydAAC9gQAAvoEAAL+BAACwWQEAsVkBALLtAACz5QAAtP0AALXlAAC25QAAt9UAALOhAgA+qwCAQqsAgEarAIBKqwCAtrkCALWxAgBOqwCAu50CALqdAgBSqwCAVqsAgL8hAwC+OQMAvTEDALw5AwCF+PUAo+UCAFqrAIBeqwCApv0CAGKrAIBmqwCApfUCAKrZAgCr2QIAaqsAgG6rAICufQMAr2UDAKx9AwCtdQMAuOkAALnpAAC6aQAAu2kAALx5AAC9ZQAAvm0AAL9lAACwsQAAsbkAALKBAACzgQAAtPkAALX5AAC27QAAt+UAAKhlAwCpdQMAqn0DAKt1AwCsbQMArdEAAK7RAACv0QAAcqsAgHarAIB6qwCA1qkAgH6rAICCqwCAhqsAgIqrAICA/QEAgQkAAIIZAACOqwCAkqsAgL5EAgCaqwCAnqsAgISsAgCiqwCAh/gCAIasBQCmqwCAqqsAgK6rAICyqwCAs/UCALarAIC6qwCAvqsAgMKrAIC2UQEAteUCAMarAIC7fQEAunUBAMqrAIDOqwCAvz0BAL49AQC9VQEAvFUBAOFwDwDSqwCA47gOAITABQDvyAAA1qsAgNqrAIDeqwCA4zwOAOKrAIDh0AEA5qsAgIR0BwDqqwCA72gBAO6rAIDyqwCApXkCAKbNAQD2qwCAgCEAAIEhAACC3QcAo2kCAKzJAQCtyQEArqEBAK+hAQD6qwCA/qsAgKrpAQCr4QEAlqsAgAKsAIC+QAIABqwAgIYwAwCHMAMACqwAgA6sAICoOQcAqTkHAKoNBwCrHQcArAUHAK0NBwCuBQcAr3kHALAJBwCxCQcAshkHALMRBwC0OQcAtTkHALbdBwC3yQcAuPkHALn5BwC6zQcAu8EHALzFBwC9yQcAvrkHAL+xBwCzpQcAEqwAgBasAIAarACAHqwAgLatBwC1rQcAIqwAgLvtBwC67QcAJqwAgCqsAIC/3QcAvt0HAL3lBwC87QcALqwAgKPhBwAyrACANqwAgKbpBwA6rACAPqwAgKXpBwCqqQcAq6kHAEKsAIBGrACArpkHAK+ZBwCsqQcAraEHAEqsAIBOrACAUqwAgFasAIBarACAXqwAgGKsAIBmrACAgREAAIANAABqrACAghkAAG6sAIByrACAvuQBAHasAICG4AAAhxgBAHqsAIB+rACAgqwAgIasAICKrACA77AEAI6sAIDh1AYAkqwAgONcBACWrACAmqwAgJ6sAICirACAqJkBAKmZAQCqDQEAqwUBAKwdAQCtBQEArgUBAK81AQCEiAEApqwAgKqsAICurACAsqwAgLasAIC6rACAvqwAgLjBAAC5wQAAusEAALvBAAC8wQAAvcEAAL7BAAC/wQAAsE0BALElAQCyIQEAsyEBALQlAQC1LQEAthEBALcRAQDCrACAxqwAgLONAgDKrACAtZ0CAM6sAIDSrACAto0CANasAIDarACAu+kCALqBAgC9/QIAvP0CAL/hAgC+6QIA3qwAgKbVAgClxQIAvggDAKPVAgCCLQAAgRkAAIB5AACvuQIArrECAK2lAgCspQIAq7ECAKrZAgDirACA6qwAgO80AgDurACAhxgDAIYs/ADyrACA9qwAgPqsAID+rACAAq0AgAatAIAKrQCADq0AgOMAAQASrQCA4eABABatAIC6tQMAu70DABqtAIAerQCAvnkDAL95AwC8pQMAvXkDACarAICztQMAIq0AgCatAIC2kQMAKq0AgC6tAIC1pQMAqEkCAKlJAgCqWQIAq1kCAKxJAgCtdQIArnECAK9tAgC+aP0AvqT/ADKtAIA2rQCAOq0AgD6tAIBCrQCARq0AgLj5AgC5+QIAukkBALtJAQC8XQEAvUEBAL5BAQC/fQEAsBUCALEdAgCyFQIAs8kCALTZAgC12QIAtskCALfJAgDjIAYA4bAGAOGAAQDjEAYAgA0AAIE1AACCPQAASq0AgE6tAIBSrQCAWq0AgF6tAIDvcAAAYq0AgGatAIDvTAEAhIz9AGqtAICjmQIAbq0AgKWJAgByrQCAdq0AgKa9AgCGwPwAh+T8AKuRAgCqmQIArVUCAKyJAgCvVQIArlUCAKh9/gCpgf4Aqpn+AKuZ/gCsif4ArYn+AK65/gCvuf4AVq0AgHqtAIB+rQCAgq0AgIatAICKrQCAjq0AgJKtAIC4tf4Aub3+ALph/wC7Yf8AvGH/AL1h/wC+Yf8Av2H/ALDJ/gCxyf4Ast3+ALPR/gC0uf4Atbn+ALaR/gC3kf4AsxH+AJatAICarQCAnq0AgKKtAIC2Cf4AtQH+AKatAIC7Df4Aug3+AKqtAICurQCAv33+AL59/gC9Bf4AvAn+ALKtAICjVf4Atq0AgLqtAICmTf4Avq0AgMKtAIClRf4Aqkn+AKtJ/gCEKAMAxq0AgK45/gCvOf4ArE3+AK1B/gCAzQEAgdEBAILRAQCzuf4Ayq0AgLXR/gC21f4Azq0AgIZgAQCHYAEAug0BALsFAQC8HQEAvQUBAL4NAQC/BQEA0q0AgNatAIDarQCA3q0AgOKtAIDhwP0A5q0AgOOM/ADqrQCA7q0AgPKtAIDvtPwA9q0AgPqtAID+rQCAAq4AgKgp/gCpKf4Aqj3+AKs1/gCsVf4ArVn+AK5N/gCvRf4ABq4AgAquAIAOrgCAEq4AgBauAIAargCAHq4AgCKuAIC4SQEAuUkBALpZAQC7UQEAvHkBAL15AQC+GQEAvxUBALDFAQCxzQEAssUBALPdAQC0xQEAtc0BALbFAQC3eQEAJq4AgCquAIAurgCAo7n9ADKuAICl0f0AptX9AITQAwBBrgCAvuACAKoNAgCrBQIArB0CAK0FAgCuDQIArwUCAIFJAACAQQAAowkDAIJdAAClGQMARa4AgEmuAICmEQMAhsAEAIfkAwCrDQMAqg0DAK0BAwCsHQMArwEDAK4JAwCw4QMAseEDALLhAwCz/QMAtOUDALXtAwC25QMAtz0DALgFAwC5DQMAugUDALsdAwC8BQMAvQ0DAL4FAwC/vQAATa4AgFGuAIBVrgCAWa4AgOasAIBdrgCAYa4AgGWuAICo8QMAqfkDAKqpAwCrqQMArLkDAK25AwCuqQMAr6UDALNBAgBprgCAba4AgHGuAIB1rgCAtlkCALVRAgB5rgCAu0UCALpFAgB9rgCAga4AgL9JAgC+QQIAvUkCALxVAgCFrgCAia4AgI2uAICRrgCA74wDAJWuAICZrgCAna4AgONsAwChrgCA4VAAAKWuAICprgCAvngFALGuAICEcAIAgOUAAIHpAACC+QAAta4AgIawBACHVAUAua4AgO9A/gC9rgCA4Vz+AMGuAIDjVAEAxa4AgMmuAIDNrgCA0a4AgLOZAQDVrgCA2a4AgN2uAIDhrgCAth0BALUdAQDlrgCAuz0BALo9AQDprgCA7a4AgL/hAAC++QAAvfEAALz5AACoIQYAqVEGAKpRBgCrzQYArNUGAK3dBgCu1QYAr8kGAK2uAIDxrgCA9a4AgPmuAID9rgCAAa8AgAWvAIAJrwCAuG0HALkFBwC6DQcAuwUHALwdBwC9AQcAvgEHAL8BBwCwuQYAsbkGALJtBwCzZQcAtH0HALVlBwC2ZQcAt1UHAKPZBgANrwCAEa8AgBWvAIAZrwCApl0GAKVdBgCEnAIAq30GAKp9BgC+JAMAHa8AgK+hBwCuuQcArbEHAKy5BwCASQAAgUkAAIJZAACzVQcAIa8AgLV9BwC2aQcAJa8AgIZAAACHVAMAulUHALspBwC8OQcAvTkHAL4pBwC/IQcAo5kGACmvAIAtrwCAMa8AgDWvAICmpQYApbEGADmvAICr5QYAqpkGAD2vAIBBrwCAr+0GAK7lBgCt9QYArPUGAOE4BQBFrwCA4yQEAEmvAIBNrwCAUa8AgFWvAIBZrwCAXa8AgGGvAIBlrwCAaa8AgG2vAIBxrwCA7/QEAHWvAICo+QYAqQkGAKoRBgCrLQYArDkGAK0lBgCuLQYAryUGAHmvAIB9rwCAga8AgIWvAICAGQAAgRkAAIIFAACJrwCAuOUBALntAQC65QEAu/0BALzlAQC97QEAvuUBAL9ZAQCwXQYAsSEGALIhBgCzIQYAtCEGALUpBgC2EQYAtxEGAKjRAgCp2QIAqg0DAKsFAwCsHQMArQUDAK4FAwCvNQMAvmQCAJGvAICVrwCAma8AgJ2vAIChrwCApa8AgKmvAIC4JQMAuS0DALolAwC7PQMAvCUDAL0pAwC++QMAv/kDALBNAwCxIQMAsiUDALM9AwC0JQMAtS0DALYlAwC3HQMAs4UDAITIAgCtrwCAhAgDALGvAIC2hQMAtZUDALWvAIC75QMAuokDAIYIDACHnAMAv+kDAL7hAwC96QMAvPEDAIXsCgA2rgCAo80DALmvAICl3QMAva8AgMGvAICmzQMAxa8AgMmvAICrrQMAqsEDAK2hAwCsuQMAr6EDAK6pAwDNrwCA0a8AgNWvAIDZrwCA78gDAN2vAIDhrwCA5a8AgOO0AwDprwCA4dABAO2vAICADQAAgXUAAIJ9AADxrwCA9a8AgPmvAICzZQEAvgQCALVlAQABsACABbAAgLZlAQCGQA0Ah1gNALv1AQC6/QEAvaUBALy5AQC/mQEAvqUBAAmwAIANsACAEbAAgIQADAAVsACAGbAAgB2wAIDvzAEAIbAAgOEsBgAlsACA4yABAOwAAAApsACALbAAgDGwAIA1sACAo+kBADmwAIA9sACApukBAEGwAIBFsACApekBAKpxAQCreQEASbAAgE2wAICuKQEArxUBAKw1AQCtKQEAqCUOAKktDgCqJQ4Aqz0OAKwlDgCtLQ4AriUOAK+VDgD9rwCAUbAAgFWwAIBZsACAXbAAgIKdAACBnQAAgJ0AALhFDwC5TQ8AukUPALtZDwC8SQ8AvUkPAL59DwC/cQ8AsPEOALH5DgCypQ4As7kOALSpDgC1lQ4Atp0OALd9DwCo1Q8Aqd0PAKoJDwCrCQ8ArBkPAK0FDwCuDQ8ArwUPAGGwAIBlsACAabAAgL6gAwBtsACAcbAAgId4AwCGEAAAuBUPALkdDwC6IQ8AuyEPALz1AAC9/QAAvvUAAL/tAACwQQ8AsU0PALJdDwCzVQ8AtE0PALU1DwC2MQ8AtzEPAHWwAIDvsAwAebAAgH2wAICBsACAhbAAgImwAICNsACAkbAAgJWwAICZsACAnbAAgKGwAIDjqA0ApbAAgOGMDQCzwQ4AqbAAgK2wAICxsACAtbAAgLbFDgC10Q4AubAAgLvJDgC6xQ4AvbAAgMGwAIC/sQ4AvskOAL3BDgC8yQ4AowEOAMWwAIDJsACAzbAAgNGwAICmBQ4ApREOANWwAICrCQ4AqgUOANmwAICErAIAr3EOAK4JDgCtAQ4ArAkOAIBRAACBWQAAgmEAALPFAAC+zAEAtcUAALbNAADhsACAhkAHAIcUAQC6yQAAu8kAALzZAAC92QAAvskAAL/FAACrDQMAqg0DAKkJAwCouQIArw0DAK4NAwCtDQMArA0DAL5gAwDlsACA6bAAgO2wAIDxsACA9bAAgPmwAIC+MAUAuykDALoZAwC5GQMAuAEDAL/dAwC+3QMAvd0DALwxAwCzTQMAsk0DALFNAwCwTQMAtzkDALYxAwC1QQMAtE0DAP2wAICmkQMApZkDAAGxAICjmQMABbEAgAmxAIANsQCAr5kDAK6VAwCthQMArIUDAKuVAwCqlQMAja8AgBGxAIAVsQCAGbEAgB2xAIAhsQCAJbEAgCmxAIAtsQCAMbEAgDWxAIA5sQCAPbEAgEGxAICAHQAAgQkAAIL9AQBFsQCAvwgHAEmxAIBRsQCA7yQAAFWxAICElAIAWbEAgF2xAICH4AIAhgQFAL4AGABhsQCAZbEAgOGQAQBpsQCA44AAAG2xAIBxsQCAdbEAgLNlAQB5sQCAtWUBALZtAQB9sQCAgbEAgIWxAIC65QEAu/kBALzpAQC96QEAvsUBAL+9AQCJsQCAjbEAgJGxAIC+xBkAlbEAgJmxAICdsQCA78gBAKGxAIDh3A4ApbEAgOMwDgCpsQCArbEAgLGxAICEMAQAgHkAAIEVAACCFQAAo+UBALWxAICl5QEApu0BALmxAICGQAYAh5AHAKplAQCreQEArGkBAK1pAQCuRQEArz0BAKjdBQCpIQYAqiEGAKshBgCsIQYArSEGAK4hBgCvnQYATbEAgL2xAIDBsQCAhDABAMWxAIDJsQCAzbEAgNGxAIC4jQYAuZUGALqdBgC7lQYAvI0GAL21BgC+vQYAv7UGALDtBgCx8QYAsvEGALPxBgC0zQYAtbUGALa9BgC3tQYAqIkHAKmVBwCqkQcAq5EHAKy9BwCtpQcArqEHAK/dBwDVsQCA2bEAgN2xAIDhsQCA5bEAgOmxAIDtsQCA8bEAgLhJBwC5VQcAul0HALtVBwC8cQcAvX0HAL5pBwC/aQcAsKUHALGtBwCyuQcAs7EHALSRBwC1kQcAtnkHALd5BwD1sQCA+bEAgP2xAIABsgCA78gFAOHACQAFsgCA48AZAOMkBAAJsgCA4dAGAO/cKACinQMAoxUBAKAZBQChjQUAs1kGAA2yAIARsgCAFbIAgBmyAIC2ZQYAtXUGAB2yAIC7KQYAuiEGACGyAIAlsgCAvxUGAL4VBgC9JQYAvC0GAKOZBgCPmfwAKbIAgDGyAIA1sgCApqUGAKW1BgA5sgCAq+kGAKrhBgCGKB8Ah5wAAK/VBgCu1QYAreUGAKztBgCebQkAn30HAJwNCwCd7QkAmvENAJs5DQCY5fAAmQ0PAJbh8QCX6fEAlMX1AJUN8wCSHfcAk/H1AJD9+QCR7fkAgh3/AIMB+gA9sgCAQbIAgIYV9gCHOfYAhAn6AIXx9ACKwfAAiyXyAEWyAIBJsgCAjuEMAI8VDgCMNfIAjQHzAJKtDgCTgQgATbIAgFGyAICW6QQAl3UGAJR5CgCV8QoAmtEGAJvJAABVsgCAWbIAgIEdAwCAHQMAnFkCAIL1AwCrARAAqpUWAKmNFgCojRYAr5UuAK4BLACt/RIArJkSAKOlHgCipR4AoY0CAN2wAICnGRoAppUaAKUBGACknR8AXbIAgGGyAIBlsgCAabIAgG2yAIBxsgCAdbIAgHmyAICz5SoAsuUqALGtLwCw5S4AfbIAgIGyAIC1ASQAtBEqAKgpAwCpNQMAqj0DAKs1AwCsLQMArbUDAK69AwCvtQMAhbIAgImyAICNsgCAkbIAgIAdAACBCQAAgrkAAJWyAIC4TQIAuV0CALptAgC7CQIAvBkCAL0ZAgC+CQIAvwECALDNAwCx1QMAst0DALPVAwC0zQMAtXUCALZ9AgC3dQIAmbIAgITIHQChsgCAvgwfAKWyAICpsgCA70gGAO9YBwDhWAYA4ZgGAOOUAQDjAAYAhhAcAId8HQC+9B4ArbIAgLGyAIC2ZQMAtfUDALWyAICz5QMAubIAgL2yAIDBsgCAv+ECAL5ZAwC9UQMAvFkDALtBAwC6WQMAxbIAgMmyAIAtsgCAnbIAgM2yAIDRsgCA1bIAgNmyAIDdsgCA4bIAgKitHQCptR0AqrUdAKslHgCsPR4ArR0eAK4VHgCvdR4AsA0eALEtHgCyJR4As40eALSVHgC1nR4AtpUeALeNHgC4tR4Aub0eALq1HgC7nR4AvIUeAL1VHwC+XR8Av1UfALMdHQDlsgCA6bIAgO2yAIDxsgCAtr0eALWVHgD1sgCAu8keALrpHgD5sgCA/bIAgL95HgC+cR4AvXkeALzRHgCCKQAAo1kdAIAdAACBFQAApvkeAAGzAIAFswCApdEeAKqtHgCrjR4ACbMAgITgAwCuNR4Arz0eAKyVHgCtPR4AqIkeAKmVHgCqnR4Aq7EeAKzRHgCt2R4Ars0eAK/FHgANswCAEbMAgIaIAACHbAEAFbMAgBmzAIAdswCAIbMAgLhdAQC5wQEAusEBALvBAQC8wQEAvckBAL7xAQC/8QEAsL0eALGdHgCylR4As2UBALR9AQC1ZQEAtm0BALdlAQCqLR0AqzUdACWzAIApswCAri0dAK+VHACsLR0ArSUdAISMAQCjkR0ALbMAgDGzAICmER0ANbMAgDmzAIClgR0As1UeAD2zAIBBswCARbMAgEmzAIC2GR4AtRkeAE2zAIC7GR4AujkeAFGzAIBVswCAv+EBAL75AQC98QEAvAEeAFmzAIBdswCAYbMAgKOZHQBlswCApdUdAKbVHQBpswCAbbMAgHGzAICq9R0Aq9UdAKzNHQCtPQIArjUCAK8tAgCAZQAAgRUAAIIdAACEAAQAdbMAgHmzAICHcAMAhvwEAIGzAICFswCAibMAgI2zAICRswCAlbMAgJmzAICdswCAvsgEAKGzAIClswCAqbMAgK2zAICxswCAtbMAgO/cHwC5swCA4ZQBAL2zAIDjHAEAwbMAgMWzAIDJswCAzbMAgLt1AwC6aQMAvkgGANGzAIC/HQMAvh0DAL0dAwC8ZQMAs9UDANWzAIDZswCA3bMAgOGzAIC2fQMAtcUDAIRwBQCoJQIAqTUCAKo9AgCrNQIArC0CAK2dAgCulQIAr7UCAIIVAADlswCAgNkBAIEJAADEAAAA6bMAgPGzAID1swCAuKkCALmpAgC6SQEAu0kBALxZAQC9RQEAvkUBAL99AQCwzQIAsdECALLRAgCzqQIAtLkCALW5AgC2qQIAt6ECAOEoHgDhNBwA43QBAOMYHgD5swCA/bMAgIa4BACHVAUAhDgHAAG0AIAFtACACbQAgL6sBwANtACA78weAO/IGgCj9QIAEbQAgBW0AIAZtACAHbQAgKZdAgCl5QIAIbQAgKtVAgCqSQIAJbQAgCm0AICvPQIArj0CAK09AgCsRQIAqGEGAKlhBgCqYQYAq2EGAKxhBgCtYQYArmEGAK9hBgDtswCALbQAgDG0AIA1tACAObQAgD20AIBBtACARbQAgLjxBgC58QYAuvEGALvxBgC8nQYAvbEGAL6xBgC/sQYAsOUGALHtBgCy5QYAs/0GALTlBgC17QYAttkGALfVBgCz6QYASbQAgE20AIBRtACAVbQAgLbhBgC16QYAWbQAgLspBgC6IQYAXbQAgGG0AIC/KQYAviEGAL0pBgC8MQYAgl0AAKOtBgCARQAAgV0AAKalBgBltACAabQAgKWtBgCqZQYAq20GAIYADACHQAMArmUGAK9tBgCsdQYArW0GAG20AIDvfAUAcbQAgHW0AIB5tACAfbQAgIG0AICFtACAibQAgI20AICRtACAlbQAgJm0AIDjaAUAnbQAgOF4BQCz0QYAobQAgKW0AICptACArbQAgLb9BgC1/QYAsbQAgLupBgC6oQYAtbQAgLm0AIC/mQYAvqkGAL2pBgC8sQYAqLkGAKm5BgCqGQYAqxkGAKw1BgCtPQYArjUGAK8pBgC9tACAgh0AAIEdAACAHQAAwbQAgMW0AIDJtACA0bQAgLjpAQC56QEAuvkBALv5AQC86QEAvekBAL5dAQC/VQEAsCUGALEtBgCyJQYAsz0GALQtBgC1HQYAthUGALfZAQCGgAwAh+QCANW0AICjnQUA2bQAgKWxBQCmsQUA3bQAgOG0AIDltACAqu0FAKvlBQCs/QUAreUFAK7lBQCv1QUAtk0DAOm0AICExAMAtUUDAO20AICzjQIA8bQAgPW0AIC+SQMAv0kDALxJAwC9SQMAumkDALtpAwD5tACA/bQAgAG1AICmiQMApYEDAAW1AICjSQIACbUAgA21AIARtQCAr40DAK6NAwCtjQMArI0DAKutAwCqrQMAfbMAgBW1AIAZtQCAHbUAgIW0PQAhtQCAJbUAgCm1AIAttQCAMbUAgIA9AACBCQAAgh0AADW1AIC+sAMAObUAgIc4AwCG3AwAQbUAgEW1AIBJtQCATbUAgFG1AIDvXAYAVbUAgFm1AIC+6AwA45QGAF21AIDh3AEAYbUAgGW1AIBptQCAbbUAgLNRAQBxtQCAdbUAgHm1AIB9tQCAtnEBALV5AQCBtQCAuz0BALo9AQCFtQCAibUAgL/9AQC+9QEAvQUBALwFAQCNtQCAkbUAgJW1AICEQAwAmbUAgJ21AIChtQCA76wHAKW1AIDhJAYAqbUAgONABwCGkAwAh/wMALG1AIC1tQCAgFkAAIFlAACCYQAAo90BALm1AICl9QEApv0BAL21AIDBtQCAxbUAgKqxAQCrsQEArIkBAK2JAQCueQEAr3EBAM20AIA9tQCAybUAgM21AICttQCA0bUAgNW1AIDZtQCAqJ0NAKktDgCqOQ4AqzEOAKwRDgCtEQ4Arn0OAK9tDgCwGQ4AsRkOALIxDgCzMQ4AtNEOALXZDgC2zQ4At8UOALj9DgC52Q4AuqkOALupDgC8vQ4AvaUOAL6tDgC/pQ4AqIEPAKmBDwCqgQ8Aq4EPAKyBDwCtjQ8AroUPAK+1DwDdtQCA4bUAgOW1AIDptQCA7bUAgPG1AID1tQCA+bUAgLidDwC5rQ8AuqUPALtNDwC8VQ8AvV0PAL5JDwC/SQ8AsNEPALHRDwCy0Q8As9EPALS1DwC1vQ8AtrUPALetDwCzCQ4A/bUAgAG2AIAFtgCACbYAgLYNDgC1CQ4ADbYAgLsVDgC6FQ4AEbYAgBW2AIC/eQ4AvnEOAL0FDgC8BQ4AghUAAKNNDgCAYQAAgWEAAKZJDgAZtgCAvhABAKVNDgCqUQ4Aq1EOAIQkAQAhtgCArjUOAK89DgCsQQ4ArUEOAKg5DgCpOQ4AqlkOAKtRDgCscQ4ArXEOAK6RAQCvkQEAhgAAAIeEAAAltgCAKbYAgC22AIAxtgCANbYAgDm2AIC4dQEAuX0BALp1AQC7yQAAvNkAAL3ZAAC+yQAAv8EAALD1AQCx/QEAsvUBALNNAQC0VQEAtV0BALZVAQC3TQEAuk0PALtVDwC4TQ8AuUUPAL59DwC/tQ8AvEUPAL11DwCyAQ8AswEPALAxDwCxMQ8AtgEPALcNDwC0EQ8AtREPAKqZDgCrRQ8AqOUOAKmZDgCuQQ8Ar0EPAKxRDwCtUQ8APbYAgEG2AIBFtgCASbYAgE22AIBRtgCAVbYAgFm2AICzUQ0AXbYAgGG2AIBltgCAabYAgLZxDQC1eQ0AbbYAgLu5AgC6sQIAcbYAgHW2AIC/GQIAvhECAL0ZAgC8oQIAebYAgKMVDQB9tgCAgbYAgKY1DQCFtgCAibYAgKU9DQCq9QIAq/0CAIToAwCRtgCArlUCAK9dAgCs5QIArV0CAKhtAgCprQIAqqUCAKu9AgCspQIAra0CAK6lAgCvfQEAgO0BAIHxAQCC8QEAvqAFAJW2AICZtgCAh2gFAIYcBQC4yQEAuckBALrZAQC70QEAvPkBAL35AQC+mQEAv5UBALAFAQCxDQEAsgUBALMdAQC0BQEAtQ0BALYFAQC3+QEA4WQPAOGcDwDjFA4A49QPAJ22AIDhPA4AobYAgOPkAAC+rAQApbYAgKm2AIDvDAAArbYAgLG2AIDvYA4A77QPALW2AIC5tgCAhEQEALNhAgC9tgCAtWECALZhAgDBtgCAxbYAgMm2AIC6jQEAu4UBALydAQC9hQEAvo0BAL+FAQCjrQUAjbYAgM22AIDRtgCA1bYAgKatBQClrQUA2bYAgKtJBgCqQQYA3bYAgOG2AICvSQYArkEGAK1JBgCsUQYA5bYAgOm2AIDttgCA8bYAgIAdAACBCQAAgjkAAPW2AID5tgCA/bYAgIbIAACHIAMAAbcAgAW3AIAJtwCADbcAgKhtBgCptQcAqr0HAKsdBwCsCQcArTEHAK4xBwCvLQcAhKgDABG3AIAVtwCAGbcAgB23AIAhtwCAJbcAgCm3AIC4zQAAudUAALrVAAC75QAAvP0AAL2VAAC+nQAAv5UAALBVBwCxJQcAsi0HALM9BwC0LQcAtRUHALYdBwC39QAALbcAgOG8BgAxtwCA4/QFADW3AIA5twCAPbcAgEG3AIBFtwCASbcAgE23AIBRtwCAVbcAgFm3AIBdtwCA7+gEALN1BgCCLQAAgRUAAIAdAABhtwCAtvEGALXBBgBltwCAu6EGALrRBgBptwCAvmwBAL+RBgC+qQYAvakGALy5BgCjtQYAcbcAgIYoAACHTAEAdbcAgKYxBgClAQYAebcAgKthBgCqEQYAfbcAgIG3AICvUQYArmkGAK1pBgCseQYAhbcAgLO9AQCJtwCAjbcAgLZ5AQCRtwCAlbcAgLV5AQC6VQEAu10BAJm3AICdtwCAvvkAAL/lAAC8RQEAvf0AAKhxAgCpcQIAqnECAKtxAgCstQIArb0CAK61AgCvrQIAhOw8AKG3AICltwCAqbcAgK23AICxtwCAtbcAgLm3AIC4XQMAuWUDALptAwC7ZQMAvH0DAL1lAwC+bQMAv2UDALDVAgCx3QIAstUCALNtAwC0eQMAtWUDALZtAwC3ZQMAHbYAgL23AIDBtwCAo/UCAMW3AIClMQIApjECAMm3AIDNtwCA0bcAgKodAgCrFQIArA0CAK21AwCusQMAr60DAIBlAACBCQAAghkAANW3AIDZtwCA4bcAgL4QPADltwCAhsA8AIcgAwDptwCA7bcAgPG3AID1twCA+bcAgP23AICohQIAqZUCAKqVAgCrpQIArL0CAK3VAgCu0QIAr9ECAAG4AIAFuACACbgAgA24AIARuACAFbgAgBm4AIAduACAuHUBALl9AQC6dQEAu8kBALzZAQC9xQEAvsUBAL/9AQCwtQIAsb0CALKBAgCzgQIAtFUBALVdAQC2VQEAt00BAOGkBgAhuACA41AGAL6APACEHDwAvoA/ACW4AIApuACALbgAgDG4AIA1uACAObgAgD24AIBBuACA7+AGAEW4AICBfQAAgHEAAEm4AICCBQAAUbgAgFW4AIDvTAAAWbgAgOGQAQBduACA41gBAGG4AIBluACAabgAgIZYPwCH/DwAs509AN23AIBNuACAbbgAgHG4AIC21T0AtbU9AHW4AIC7+T0AuvE9AHm4AIB9uACAvxk+AL4RPgC91T0AvNU9AIG4AICj2T0AhbgAgIm4AICmkT0AjbgAgJG4AICl8T0AqrU9AKu9PQCVuACAmbgAgK5VPgCvXT4ArJE9AK2RPQCoVT4AqVk+AKphPgCrYT4ArGE+AK1hPgCuYT4Ar2E+AISoAwCduACAobgAgKW4AICpuACArbgAgLG4AIC1uACAuEU/ALldPwC6VT8Au20/ALx1PwC9fT8AvnU/AL9tPwCwwT8AscE/ALLBPwCzwT8AtME/ALXBPwC2wT8At8E/AIC5AQCBuQEAggUAALm4AIDhgD4AwbgAgOMoPQDFuACAhoAAAIcEAQDvCD0AybgAgM24AIDRuACA1bgAgNm4AICzqT8AvbgAgN24AIDhuACA5bgAgLahPwC1qT8A6bgAgLtFPgC6RT4A7bgAgPG4AIC/RT4AvkU+AL1VPgC8VT4Ao2k/APW4AID5uACA/bgAgAG5AICmYT8ApWk/AAW5AICrhT4AqoU+AAm5AIANuQCAr4U+AK6FPgCtlT4ArJU+ABG5AICzGT4AFbkAgBm5AIC2IT4AHbkAgCG5AIC1MT4AuvEBALv5AQAluQCAKbkAgL6xAQC/vQEAvNEBAL3RAQCo0T0AqdE9AKrVPQCr6T0ArP09AK3lPQCu7T0ArxECAID5AwCBzQMAgsUDAIQkAwC+AAQAMbkAgIesAwCGvAQAuBkCALktAgC6JQIAu+kCALz5AgC9+QIAvukCAL/pAgCwcQIAsXkCALJBAgCzQQIAtDECALU9AgC2NQIAtykCAKVtPQA1uQCAObkAgKZ9PQA9uQCAbbcAgKNFPQBBuQCArY0CAKyNAgCv4QIAru0CAKwAAABFuQCAq6UCAKqtAgDh+AEASbkAgOP0AgCEwAQATbkAgFG5AIBVuQCAWbkAgF25AIBhuQCAZbkAgGm5AIBtuQCAcbkAgO8wAgB1uQCAqBUCAKkZAgCqJQIAqz0CAKwlAgCtLQIAriUCAK9VAgB5uQCAfbkAgIG5AICFuQCAibkAgI25AICEsAQAkbkAgLjRAgC52QIAuuECALvhAgC8kQIAvZ0CAL6VAgC/iQIAsC0CALE1AgCyNQIAswUCALQdAgC18QIAtvECALfxAgDheD8A4zQBAOMIPgDhbD4AgQkAAICpAACVuQCAgj0AAJm5AIChuQCApbkAgL4gBACpuQCA79g+AO/MPgCtuQCAsbkAgLPpAgCG6AQAh8AEALbpAgC1uQCAubkAgLXpAgC6rQIAu7UCAL25AIDBuQCAvp0CAL9xAgC8pQIAvZUCAC25AICduQCAxbkAgMm5AIDNuQCA0bkAgNW5AIDZuQCAqBUGAKmhBgCqoQYAq70GAKytBgCtgQYArv0GAK/tBgCwlQYAsZ0GALKVBgCzrQYAtLUGALW9BgC2tQYAt60GALiVBgC5mQYAukkHALtJBwC8WQcAvVkHAL5JBwC/SQcArN0FAK3tBQCu5QUArwkFAN25AIDhuQCAqtUFAKvNBQDluQCApZEFAKaRBQDpuQCA7bkAgPG5AID1uQCAo5EFALNJBgD5uQCA/bkAgAG6AIAFugCAtmEGALVFBgAJugCAuzkGALoxBgC+ZAAADboAgL8ZBgC+EQYAvRkGALwhBgCjiQcAgtkBAIHZAQCAwQEAEboAgKahBwClhQcAFboAgKv5BwCq8QcAhggBAId8AQCv2QcArtEHAK3ZBwCs4QcAGboAgLP1BgAdugCAIboAgLaFBgAlugCAKboAgLWdBgC6jQYAu20BAC26AIAxugCAvmUBAL9tAQC8dQEAvW0BAKglBgCpLQYAqjkGAKsxBgCsUQYArUEGAK5BBgCvdQYANboAgDm6AIA9ugCAQboAgEW6AIBJugCATboAgFG6AIC4VQEAuWUBALplAQC7fQEAvGUBAL1tAQC+HQEAvxUBALANBgCx7QEAsuUBALP9AQC05QEAte0BALblAQC3bQEAo7EFAFW6AIBZugCAvkgDAL5YDACmwQUApdkFAF26AICrKQIAqskFAGG6AIBlugCArykCAK4hAgCtKQIArDECAGm6AIBtugCAcboAgHW6AICAGQAAgRkAAIIFAAB5ugCAhKwDAIG6AICHGAMAhswMAIW6AICJugCAjboAgJG6AICokQMAqZkDAKrJAwCrxQMArN0DAK3BAwCuwQMAr/UDAJW6AICZugCAnboAgKG6AIClugCAqboAgK26AICxugCAuH0DALnBAAC6wQAAu9EAALz5AAC9+QAAvpkAAL+ZAACwjQMAsUUDALJNAwCzRQMAtF0DALVFAwC2TQMAt0UDALNBAgC1ugCAuboAgL8EDwC9ugCAtkECALVVAgDBugCAu4ECALpJAgDFugCAyboAgL+BAgC+mQIAvZECALyZAgDNugCA0boAgNW6AIDZugCA76QDAN26AIDhugCA5boAgOMQAwDpugCA4VgAAIQgDQCAKQAAgSkAAIIdAADxugCA4VAGAOGgBwDjoAYA41AHAIWUDAD1ugCA70gbAPm6AIDhJAIA/boAgONwGgABuwCABbsAgAm7AIDvqAEA7+gGAIagDwCHDA0Ao4kCAA27AIClnQIAEbsAgBW7AICmiQIAGbsAgB27AICrSQIAqoECAK1ZAgCsUQIAr0kCAK5RAgCoZQ4AqXUOAKp9DgCrdQ4ArG0OAK21DgCuvQ4Ar7UOAO26AIAhuwCAJbsAgCm7AIAtuwCAOLsAgDy7AIBAuwCAuF0PALltDwC6ZQ8Auw0PALwVDwC9HQ8AvhUPAL8JDwCwzQ4AsdUOALLdDgCz1Q4AtM0OALVxDwC2cQ8At20PALP1DgBEuwCASLsAgEy7AIBQuwCAtjUOALXlDgBUuwCAuxEOALoJDgBYuwCAXLsAgL+1DwC+CQ4AvQEOALwJDgCCFQAAo7EOAIBhAACBYQAApnEOAGC7AIC+EAEApaEOAKpNDgCrVQ4AaLsAgIQgAQCuTQ4Ar/EPAKxNDgCtRQ4An0UIAJ4NCQCdDQkAnJkLAJt1NQCaETUAmZk3AJgNMQCXJTEAliUxAJWBPQCUDT0Ak4k/AJIVOACRPTkAkD05AI9lJQDvrA0AhgAEAIegAQBsuwCAcLsAgHS7AIDv6AEAeLsAgOE0AgB8uwCA4zQBAIC7AIDjCAwAhLsAgOEIDQChoQEAiLsAgKMJBQCibQMApc0EAKQRBQCnHRkAph0ZAKmhHQCoORkAq+kcAKqpHQCtkREArAEQAK8BFACuUREAsfkVALDlFQCz6WkAsgFoALUBbAC0eWkAjLsAgJC7AICUuwCAmLsAgJy7AICguwCAowkDAKIZDQCh/Q0AoP0NAIIlJgCDBToApLsAgKi7AICGqTwAhzU+AIQdOgCFPTsAiok+AIslMgCsuwCAsLsAgI6xNACPMTYAjD0yAI0tMgCSJTYAk9EIAIREAwC+wAQAlhULAJdVDgCUXQoAlVUKAJplDgCbiQ4AtLsAgLi7AIC8uwCAwLsAgJyBAADEuwCAuLUCALm9AgC6tQIAuwkCALwZAgC9GQIAvgkCAL8BAgCwdQ0AsX0NALJJDQCzSQ0AtJUCALWdAgC2lQIAt40CAKi9DQCpUQ0AqlUNAKtpDQCsfQ0ArWUNAK5tDQCvEQ0AZLsAgILtAQCBHQAAgB0AAMi7AIDMuwCAfboAgL5wBQCznQwAhIwFANC7AIDYuwCA3LsAgLalDAC1tQwA4LsAgLv5DAC68QwAhigFAIcgBQC/GQMAvhEDAL3dDAC83QwA5LsAgKPZDADouwCA7LsAgKbhDADwuwCA9LsAgKXxDACqtQwAq70MAPi7AID8uwCArlUDAK9dAwCsmQwArZkMAAC8AIAEvACACLwAgAy8AIAQvACAFLwAgBi8AIDvvAEAHLwAgOF8DgAgvACA41ABACS8AIAovACALLwAgDC8AICzlQIANLwAgDi8AIA8vACAQLwAgLa9AgC1uQIASLwAgLs5AgC6YQIAhsgEAIesBAC/GQIAvhECAL0ZAgC8IQIAo1UFAILVBwCBxQcAgMUHAEy8AICmfQUApXkFAFC8AICr+QUAqqEFAFS8AIBYvACAr9kFAK7RBQCt2QUArOEFAFy8AICzWQcAYLwAgGS8AIC2HQcAaLwAgGy8AIC1FQcAugkHALsJBwBwvACAdLwAgL75BwC/+QcAvPkHAL35BwDUuwCARLwAgHi8AIB8vACAgLwAgIS8AICIvACAjLwAgKitBwCptQcAqrUHAKvtBwCs+QcArfkHAK7tBwCv5QcAsKkHALGpBwCySQcAs0kHALRZBwC1WQcAtkkHALdJBwC4eQcAuUUHALpBBwC7XQcAvEUHAL1NBwC+RQcAvzkHAKMdBgCQvACAlLwAgJi8AICcvACAplkGAKVRBgCgvACAq00GAKpNBgCkvACAqLwAgK+9BgCuvQYArb0GAKy9BgCAbQAAgQkAAIIZAACsvACAsLwAgISYAQC+kAEAtLwAgIYAHACHxAEAuLwAgLy8AIDAvACAxLwAgMi8AIDMvACAqF0GAKmVAQCqlQEAq6UBAKy9AQCt1QEArtEBAK/RAQDQvACA1LwAgNi8AIDcvACA4LwAgOS8AIDovACA7LwAgLhZAQC5WQEAus0AALvFAAC83QAAvcUAAL7FAAC/9QAAsLUBALG9AQCygQEAs4EBALR5AQC1eQEAtmkBALdpAQCzHQIA8LwAgPS8AIC+gBwA+LwAgLZVAgC1NQIA/LwAgLt5AgC6cQIAAL0AgAS9AIC/vQIAvr0CAL1VAgC8VQIACL0AgKNZAgAMvQCAEL0AgKYRAgAUvQCAGL0AgKVxAgCqNQIAqz0CABy9AIAgvQCArvkCAK/5AgCsEQIArRECACi9AIAsvQCAvgQdAL4AHgAwvQCANL0AgDi9AIA8vQCAgPkAAIHNAACCxQAAhCADAIawHACHlAMAQL0AgES9AIBIvQCATL0AgFC9AIBUvQCA42wCAFi9AIDhoAEAXL0AgO8UAgBgvQCAZL0AgGi9AIBsvQCAcL0AgHS9AIB4vQCA4fAGAOE0BgDjTAAA4xgGAHy9AICAvQCAhL0AgIi9AICAPQAAgQkAAIIZAACMvQCAkL0AgIS8HQDvmAAA7zgHALMxAgDRAAAAh9gdAIZsHACYvQCAtikCALUhAgCcvQCAu80CALrNAgCgvQCApL0AgL/NAgC+zQIAvc0CALzNAgCyXQYAs2UGALANBgCxVQYAtn0GALedBQC0fQYAtXUGALqNBQC7zQUAuKUFALmFBQC+xQUAv8kFALzVBQC9zQUAqL0AgKy9AICwvQCAtL0AgLi9AIC8vQCAwL0AgMS9AICqtQYAq70GAKgBBwCpvQYAroEGAK+NBgCsmQYArZUGAKNxHQDIvQCAzL0AgNC9AIDUvQCApmkdAKVhHQDYvQCAq40dAKqNHQDcvQCA4L0AgK+NHQCujR0ArY0dAKyNHQDkvQCAs9UeAOi9AIDsvQCAts0eAPC9AID0vQCAtcUeALqhHgC7oR4A+L0AgPy9AIC+pR4Av6keALyxHgC9sR4AJL0AgJS9AIAAvgCAhAQDAID5AACB+QAAghEAAAS+AICoIR4AqSEeAKo5HgCrOR4ArCkeAK0pHgCuAR4ArwEeALABHgCxAR4AsgEeALMBHgC0BR4AtQkeALY9HgC3NR4AuA0eALkVHgC6HR4AuxUeALwNHgC95R8Avu0fAL/lHwCjkR8ACL4AgIYoAQCHSAEADL4AgKaJHwClgR8AEL4AgKvlHwCq5R8AFL4AgBi+AICv7R8AruEfAK31HwCs9R8AHL4AgLMtHgAgvgCAJL4AgLaVHgAovgCALL4AgLWdHgC6sR4Au7EeADC+AIA0vgCAvnUBAL99AQC8oR4AvaEeAKjRHgCp2R4AquEeAKvhHgCsUR4ArVEeAK5RHgCvUR4AOL4AgDy+AIBAvgCARL4AgEi+AIBMvgCAUL4AgFS+AIC43QEAue0BALrlAQC7jQEAvJkBAL2ZAQC+jQEAv4UBALAxHgCxMR4AsjEeALMxHgC09QEAtf0BALb1AQC37QEAo2kdAFi+AIBcvgCAYL4AgGS+AICm0R0ApdkdAGi+AICr9R0AqvUdAGy+AIBwvgCArzkCAK4xAgCt5R0ArOUdAIFpAACAWQAAvgAEAIJhAAB4vgCAfL4AgIC+AICEvgCAhOwDAIi+AICHiAMAhuwEAIy+AICQvgCAlL4AgJi+AICohQMAqZUDAKqVAwCrpQMArL0DAK3VAwCu0QMAr9EDAJy+AICgvgCApL4AgKi+AICsvgCAsL4AgLS+AIC4vgCAuHEDALlxAwC6cQMAu3EDALzVAAC93QAAvtUAAL/NAACwtQMAsb0DALKBAwCzgQMAtFEDALVRAwC2UQMAt1EDAOFUHgDhrB8A45QBAOMoHgDjYAMAvL4AgOEIAADAvgCA75ADAMS+AIDIvgCAzL4AgNC+AIDUvgCA70wfAO9MHwCzXQIA2L4AgNy+AIDgvgCA6L4AgLYVAgC1dQIA7L4AgLs5AgC6MQIAhCQFAL7gBAC/1QIAvtUCAL0VAgC8FQIAuJEdALmZHQC6oR0Au6EdALzRHQC93R0AvtUdAL/JHQCwCR4AsQkeALIZHgCzGR4AtAkeALUJHgC2vR0At7UdAKipHgCpqR4AqrkeAKu5HgCsqR4ArakeAK55HgCveR4AgKUAAIGtAACCpQAA8L4AgIbQBACH+AQA9L4AgPi+AIB0vgCA5L4AgPy+AIAAvwCABL8AgAi/AIAMvwCAEL8AgKhxBgCpcQYAqnEGAKtxBgCsVQYArUUGAK5NBgCvRQYAsD0GALHlBgCy7QYAs+UGALT9BgC15QYAtu0GALflBgC43QYAuXEHALp1BwC7SQcAvFkHAL1ZBwC+SQcAv0kHALPZBgAUvwCAGL8AgBy/AIAgvwCAtuUGALX9BgAkvwCAuwEGALrZBgAovwCALL8AgL8BBgC+GQYAvREGALwZBgAwvwCAo9kFADS/AIA4vwCAppEFADy/AIBAvwCApfEFAKq1BQCrvQUARL8AgEi/AICuUQUAr1EFAKyRBQCtkQUAo1kHAIIZAACBGQAAgOEBAEy/AICmZQcApX0HAFC/AICrgQcAqlkHAISgAgC+rAEAr4EHAK6ZBwCtkQcArJkHAFS/AICzqQYAhugAAIcsAQC2WQEAWL8AgFy/AIC1oQYAunUBALt9AQBgvwCAZL8AgL75AQC/+QEAvGUBAL35AQCo0QYAqdkGAKplBgCrdQYArG0GAK2dAQCulQEAr40BAITsAQBovwCAbL8AgHC/AIB0vwCAeL8AgHy/AICAvwCAuGkBALlpAQC6CQEAuwUBALwdAQC9AQEAvgEBAL81AQCw9QEAsf0BALL1AQCzaQEAtHkBALV5AQC2aQEAt2EBAIS/AICIvwCAjL8AgKPhBQCQvwCApekFAKYRAgCUvwCAmL8AgJy/AICqPQIAqzUCAKwtAgCtsQIArrECAK+xAgCgvwCApL8AgL4EAwCEAAwAqL8AgKy/AICwvwCAtL8AgIANAACBFQAAgh0AALi/AIC8vwCAwL8AgIdEAwCG3AwAs+kDAMi/AIDMvwCA0L8AgNS/AIC2PQMAtT0DANi/AIC7GQMAuhEDANy/AIDgvwCAv7kAAL6xAAC9uQAAvAEDAOS/AIDhlAEA6L8AgON8AQDsvwCA8L8AgPS/AID4vwCA/L8AgADAAIAEwACACMAAgAzAAIAQwACAFMAAgO9MAgCoVQIAqV0CAKphAgCrYQIArLUCAK29AgCutQIAr60CAL5oDQAYwACAHMAAgCDAAIAkwACAgq0AAIGtAACArQAAuGEBALlhAQC6CQEAuwkBALwBAQC9AQEAvgEBAL8BAQCw1QIAsd0CALLVAgCzbQEAtHUBALV9AQC2aQEAt2EBAOFoBgDh8AcA47AAAOP0BgAowACALMAAgDDAAIA4wACAPMAAgEDAAIBEwACASMAAgL78DABMwACA72wAAO8oBgCjqQIAUMAAgIZoDACHBA0AVMAAgKZ9AgClfQIAWMAAgKtZAgCqUQIAXMAAgGDAAICv+QEArvEBAK35AQCsQQIAqIUOAKmNDgCqhQ4Aq50OAKyNDgCtvQ4ArrUOAK/dDgA0wACAZMAAgGjAAIBswACAcMAAgHTAAIB4wACAfMAAgLitDgC5tQ4Aur0OALu1DgC8dQ8AvX0PAL51DwC/bQ8AsKkOALG1DgCyvQ4As7UOALStDgC1lQ4Atp0OALeVDgCzDQ4AgMAAgITAAICIwACAjMAAgLY9DgC1BQ4AkMAAgLtxDgC6bQ4AlMAAgJjAAIC/UQ4AvmkOAL1hDgC8aQ4AghkAAKNJDgCAZQAAgRkAAKZ5DgCcwACAoMAAgKVBDgCqKQ4AqzUOAIS8AwCkwACAri0OAK8VDgCsLQ4ArSUOAKidDgCppQ4Aqq0OAKulDgCsvQ4AraEOAK7dDgCvzQ4AhiABAIdkAQCowACArMAAgLDAAIC0wACAuMAAgLzAAIC4eQEAuXkBALrNAQC7xQEAvN0BAL3FAQC+xQEAv/UBALC9DgCxjQ4AsoUOALNJAQC0WQEAtVkBALZJAQC3SQEAtS0OAMDAAIDEwACAtjkOAMjAAIDMwACAsz0OANDAAIC9hQEAvEkOAL+FAQC+hQEA1MAAgMS/AIC7UQ4AumEOAKNlDgDYwACA3MAAgODAAIDkwACApmEOAKV1DgDowACAqwkOAKo5DgDswACA8MAAgK/dAQCu3QEArd0BAKwRDgD0wACA+MAAgO/QDwD8wACAAMEAgATBAIAIwQCADMEAgBDBAIC+aAMAGMEAgBzBAIDhVA4AIMEAgONkDgAkwQCAgFkAAIFZAACCaQAAhIwDAIbwBACHFAMAKMEAgCzBAIAwwQCANMEAgDjBAIA8wQCAQMEAgETBAIBIwQCATMEAgFDBAIBUwQCAWMEAgFzBAIBgwQCAZMEAgGjBAIBswQCAqIkDAKmJAwCqmQMAq5kDAKyJAwCtiQMArj0DAK81AwCwUQMAsVEDALJVAwCzfQMAtBUDALUdAwC2FQMAtw0DALg9AwC5DQMAugUDALvtAAC89QAAvfkAAL7pAAC/6QAAcMEAgHTBAIB4wQCAsz0CAHzBAIC1LQIAtiUCAIDBAIC+aAUAiMEAgLq5AgC7uQIAvK0CAL2FAgC+/QIAv/UCAIBJAACBVQAAglUAAIQABQDvjAMAvhgEAId0BQCG/AQA4zwDAIzBAIDhUAAAkMEAgJTBAICYwQCAnMEAgKDBAICkwQCAqMEAgKzBAICwwQCAtMEAgLjBAIC8wQCA79QOAL4oBgDhdA4AwMEAgONUAQDEwQCAyMEAgMzBAIDQwQCAo/ECANTBAIDYwQCA3MEAgODBAICm6QIApeECAOTBAICrdQIAqnUCAOjBAIDswQCArzkCAK4xAgCtSQIArGECAKgpBgCpKQYAqj0GAKsxBgCsSQYArUkGAK55BgCveQYAhMEAgIIVAACBxQcAgMUHAPDBAICEaAMA9MEAgPjBAIC4yQYAuckGALrZBgC72QYAvMkGAL3JBgC+WQcAv1kHALAJBgCxCQYAshkGALMZBgC0CQYAtQkGALb5BgC3+QYAs7UGAPzBAICGrAAAh0ADAADCAIC2yQYAtcEGAATCAIC7zQYAus0GAAjCAIAMwgCAv80GAL7NBgC9zQYAvM0GABDCAICj8QYAFMIAgBjCAICmjQYAHMIAgCDCAIClhQYAqokGAKuJBgAkwgCAKMIAgK6JBgCviQYArIkGAK2JBgCoJQYAqWEGAKplBgCrfQYArGUGAK1tBgCuZQYAr50GACzCAIAwwgCANMIAgDjCAIA8wgCAQMIAgETCAIBIwgCAuPUGALn9BgC69QYAu4kGALyZBgC9mQYAvokGAL+BBgCw5QYAse0GALLlBgCz/QYAtOUGALXtBgC20QYAt80GAEzCAIC2/QYAtf0GAFDCAICz/QYAVMIAgFjCAIBcwgCAvzkGAL4xBgC9OQYAvCEGALs5BgC6MQYAFMEAgGDCAICjrQYAgnkAAIFVAACAVQAAhFwBAKatBgClrQYAaMIAgKtpBgCqYQYAhkh/AIfkAACvaQYArmEGAK1pBgCscQYAbMIAgO/cBwBwwgCAdMIAgHjCAIB8wgCAgMIAgITCAICIwgCAhKADAIzCAIC/JHkAkMIAgONoBwCUwgCA4XQGALPRAgCYwgCAvgQDAISAfQCcwgCAtvkCALXxAgCgwgCAu7UCALqpAgCkwgCAqMIAgL9RAwC+mQIAvZECALylAgCpBQIAqLkCAKsVAgCqHQIArT0CAKw9AgCvUQIArl0CAL5ofQCswgCAsMIAgLTCAIC4wgCAvMIAgMDCAIDEwgCAufEDALjpAwC78QMAuvkDAL1RAwC86QMAv00DAL5RAwCxNQIAsCkCALMBAgCyNQIAtdEDALQZAgC30QMAttkDAIIpAACjlQMAgB0AAIEVAACmvQMAyMIAgMzCAICltQMAqu0DAKvxAwDQwgCA2MIAgK7dAwCvFQIArOEDAK3VAwCGYH0Ah3h9ALNBAQCEAH8AtUEBANzCAIDgwgCAtkkBAOTCAIDowgCAu0EBALpNAQC9SQEAvEUBAL8pAQC+OQEA7MIAgO/cBgDwwgCA9MIAgPjCAID8wgCAAMMAgO8wBgCELH4A4eAGAATDAIDjiAEACMMAgON0AAAMwwCA4SwBAKPJAQAQwwCAFMMAgIVweQAYwwCApsEBAKXJAQAcwwCAq8kBAKrFAQAgwwCAJMMAgK+hAQCusQEArcEBAKzNAQCo3X0AqQV+AKoBfgCrAX4ArAF+AK0BfgCuAX4ArwF+ANTCAIAowwCALMMAgDDDAIA0wwCAgp0AAIGdAACAnQAAuC1+ALnhfgC64X4Au+F+ALzhfgC94X4AvuF+AL/hfgCwQX4AsU1+ALJZfgCzVX4AtDV+ALUlfgC2JX4AtxV+AKitfwCp0X8AqtF/AKvtfwCs9X8ArRV/AK4RfwCvEX8AOMMAgDzDAIBAwwCARMMAgIbwAwCHuAAASMMAgEzDAIC4EX8AuRl/ALohfwC7IX8AvPUAAL39AAC+9QAAv+0AALBxfwCxcX8AsnF/ALNFfwC0QX8AtU1/ALY9fwC3NX8As1l+AFDDAIBUwwCAWMMAgFzDAIC2lX4AtX1+AGDDAIC7tX4AurV+AGTDAIBowwCAv4l+AL6FfgC9kX4AvKV+AGzDAICjHX4AcMMAgHTDAICm0X4AeMMAgHzDAIClOX4AqvF+AKvxfgCAwwCAhMMAgK7BfgCvzX4ArOF+AK3VfgCwrQAAscUAALLBAACzwQAAtMUAALXNAAC28QAAt/EAALhhAAC5YQAAumEAALt9AAC8ZQAAvW0AAL5lAAC/vQMAiMMAgIzDAICQwwCAZMIAgJTDAICYwwCAnMMAgKDDAICoWQEAqVkBAKrtAACr5QAArP0AAK3lAACu5QAAr9UAAKTDAICCHQAAgR0AAIAdAACowwCArMMAgLDDAIC+VAIAhoAEAIfsAgC4wwCAvMMAgMDDAIDEwwCAyMMAgL54AwDjdH4AzMMAgOG4fQDQwwCA1MMAgNjDAIDcwwCA4MMAgOTDAIDowwCA7MMAgPDDAIDvwH4A9MMAgPjDAID8wwCAs4UDAADEAIAExACACMQAgAzEAIC2hQMAtZUDABDEAIC74QMAuokDAL4kBgAUxACAv+kDAL7hAwC99QMAvPUDAIIpAACjwQMAgB0AAIEVAACmwQMAGMQAgBzEAICl0QMAqs0DAKulAwAgxACAheAFAK6lAwCvrQMArLEDAK2xAwDh+AMAKMQAgONcHwAsxACA7/QDADDEAICGPAcAh6wCAON8fgA0xACA4YABADjEAIA8xACAQMQAgO/kEwBExACAs3EBAEjEAIBMxACAUMQAgFTEAIC2EQEAtWEBAFjEAIC7OQEAujEBAFzEAIBgxACAvxkBAL4RAQC9GQEAvCEBAGTEAIBoxACAbMQAgHDEAIB0xACAeMQAgHzEAIDvxH8AgMQAgOH8fgCExACA4/B/AIANAACBdQAAgn0AAIjEAICMxACAkMQAgKP5AQC+AAgApekBAJjEAICcxACAppkBAISoBQCgxACAq7EBAKq5AQCtkQEArKkBAK+RAQCumQEAqCkGAKkpBgCqOQYAqzkGAKwpBgCtUQYArlUGAK9NBgAkxACAhCABAKTEAICUxACAo+EBAKKZBAChGQQAoPEFALg5BgC5OQYAus0GALvFBgC83QYAvcUGAL7FBgC/8QYAsDUGALE9BgCyNQYAsw0GALQVBgC1HQYAthUGALcJBgCPoWwAs5EHAIYoAQCHfAMAtqEHAKjEAICsxACAtbEHALrlBwC77QcAsMQAgLTEAIC+7QcAv90HALz1BwC97QcAn/l4AJ7leACdcXkAnCF8AJvxfACaYX0AmZlxAJjZcACX4XAAlnl0AJVtdACUbXQAk61pAJJxaACReWgAkB1uAIIhbQCD5W8AuMQAgLzEAICGTWgAh5V1AISZaQCFmWkAiqV1AIu5dQDAxACAxMQAgI5xcACPgXwAjDlxAI05cQCSYX0Ak6l9AMjEAIDMxACAlml5AJeZBACU4XgAlX15AJpBBQCbyQUA0MQAgNTEAIDYxACA3MQAgJypAADgxACAo4ENAKKpAQChqQEA5MQAgKexCQCmAQgApU0NAKSZDQCrkRUAqoUVAKkBFACocQkArx0QAK7pEQCtvREArAEQALMBGACy8RwAscEdALDJHQC0wwCA6MQAgLXhGAC0/RkA7MQAgPDEAID0xACA+MQAgIAdAACBCQAAgv0DAPzEAICjFQUAAMUAgIaIDACHPAMACMUAgKYlBQClNQUADMUAgKtpBQCqYQUAEMUAgBTFAICvWQUArmkFAK1pBQCscQUAGMUAgBzFAICEBAwAIMUAgCTFAIDhbAYAKMUAgOPsewAsxQCAMMUAgDTFAIDvqAYAOMUAgDzFAIBAxQCARMUAgKmNBQCogQUAq60FAKqZBQCtoQUArLkFAK+lBQCuqQUAhGgNAEjFAIBMxQCAUMUAgFTFAIBYxQCAXMUAgL70DAC5SQUAuEEFALtZBQC6QQUAvUkFALxBBQC/cQUAvn0FALGpBQCwoQUAs7kFALKhBQC1mQUAtKkFALd5BQC2kQUAqNUEAKndBACq7QQAqyUDAKyFAwCtjQMArrEDAK+xAwBgxQCAZMUAgGjFAIBsxQCAgBkAAIEZAACCBQAAcMUAgLgxAgC5MQIAujUCALvBAgC8hQIAvbUCAL69AgC/tQIAsGkCALFpAgCyQQIAs0ECALQ5AgC1OQIAthECALcRAgCGoAwAh0wNAHjFAIB8xQCA76QGAIDFAICExQCA78wHAOOUAQDhpAYA4TgBAONcBgCIxQCAjMUAgJDFAICUxQCAmMUAgJzFAICzLQQAoMUAgLVFAwCkxQCAqMUAgLZFAwCsxQCAsMUAgLvlAgC65QIAvd0CALzdAgC/tQIAvrUCAATFAIB0xQCAtMUAgLjFAIC8xQCAwMUAgMTFAIDIxQCAqDEOAKk5DgCqAQ4AqwEOAKxxDgCtcQ4ArnUOAK9tDgCwGQ4AsSUOALItDgCzJQ4AtCEOALUhDgC2IQ4AtyEOALjFDgC5zQ4AusUOALvdDgC8xQ4Avc0OAL5ZDwC/WQ8As6kOAMzFAIDQxQCA1MUAgNjFAIC20Q4AtdkOANzFAIC7wQ4Auv0OAODFAIC+LAAAv8UOAL7FDgC90Q4AvNkOAIJpAACj7Q4AgFkAAIFRAACmlQ4A5MUAgOjFAIClnQ4AqrkOAKuFDgCGyAAAh6wAAK6BDgCvgQ4ArJ0OAK2VDgDsxQCAs5EOAPDFAID0xQCAtqUOAPjFAID8xQCAta0OALrhDgC74Q4AAMYAgATGAIC+6Q4Av9UOALz1DgC96Q4Ao6UKAAjGAIAMxgCAEMYAgBTGAICmzQ0Apc0NABjGAICrbQwAqm0MABzGAIAgxgCArz0MAK49DACtVQwArFUMAKgJDgCpCQ4Aqh0OAKsVDgCsIQ4ArSEOAK4hDgCvIQ4AJMYAgCjGAIAsxgCAMMYAgDTGAIA4xgCAPMYAgEDGAIC4zQEAudUBALrdAQC71QEAvM0BAL1RAQC+UQEAv1EBALAhDgCxIQ4AsiUOALM5DgC0KQ4AtRUOALYdDgC39QEARMYAgEjGAIBMxgCAo5kNAFDGAIClpQ0Apq0NAL7cAgCE7AMAWMYAgKrpDQCr6Q0ArP0NAK3hDQCu4Q0Ar90NAIBFAACBTQAAglkAAKNFAwBcxgCApUEDAKZBAwBgxgCAhsAEAIcAAwCqLQMAqyUDAKw9AwCtJQMAriUDAK8VAwCoWQIAqYUDAKqBAwCrgQMArIUDAK2NAwCusQMAr7EDAGTGAIBoxgCAbMYAgHDGAIB0xgCAeMYAgHzGAICAxgCAuGUDALltAwC6ZQMAu30DALxlAwC9bQMAvmUDAL/dAACwpQMAsa0DALKlAwCzvQMAtK0DALWdAwC2lQMAt10DALMJAgCExgCAiMYAgIzGAICQxgCAtg0CALUNAgCUxgCAu2kCALphAgCYxgCAnMYAgL9ZAgC+aQIAvWkCALxxAgCgxgCApMYAgKjGAICsxgCA4aABALDGAIDjaAMAtMYAgIEVAACAFQAA74wDAIIVAAC4xgCAvMYAgMDGAIC+cAUA4RgOAOGUDwDjOA8A49QPAISUAgDIxgCAzMYAgNDGAIDUxgCA2MYAgNzGAIDgxgCA5MYAgOjGAIDv7AEA7/gPAIZgBACHBAUAs5UBAITMBQC1dQEA7MYAgPDGAIC2dQEA9MYAgPjGAIC7UQEAulkBAL31AAC8SQEAv/UAAL71AACoJQYAqVUGAKpVBgCrrQYArLUGAK29BgCutQYAr60GAMTGAID8xgCAAMcAgATHAIAIxwCADMcAgBDHAIAUxwCAuGkHALlpBwC6CQcAuwkHALwZBwC9GQcAvg0HAL8BBwCw1QYAsd0GALLVBgCzaQcAtHkHALV5BwC2aQcAt2EHAKPdBgAYxwCAHMcAgCDHAIAkxwCApj0GAKU9BgAoxwCAqxkGAKoRBgAsxwCAMMcAgK+9BwCuvQcArb0HAKwBBgCAXQAAgW0AAIJlAACzUQcAvtgDALVxBwC2cQcANMcAgIbgAACHFAMAul0HALs5BwC8KQcAvRUHAL4dBwC/2QAAqJUGAKmdBgCqlQYAq60GAKy1BgCtvQYArrUGAK+tBgA4xwCAPMcAgEDHAIBExwCASMcAgEzHAIBQxwCAVMcAgLhxAQC5cQEAunEBALtxAQC81QEAvd0BAL7VAQC/zQEAsNUGALGxBgCysQYAs40GALSVBgC1UQEAtlEBALdRAQBYxwCAoxkGAFzHAIBgxwCApjkGAFTGAIBkxwCApTkGAKoVBgCrcQYAaMcAgGzHAICuVQYAr5EBAKxhBgCtXQYAcMcAgHTHAIB4xwCAfMcAgIDHAICExwCAiMcAgIzHAICQxwCAlMcAgJjHAICcxwCAgBkAAIEZAACCBQAAoMcAgISAAgC+gAMAhwwDAIasHADhaAYAqMcAgOOYBwCsxwCAsMcAgLTHAIDvrAcAuMcAgLzHAIDAxwCAxMcAgMjHAIDMxwCA0McAgNTHAICzZQMA2McAgLVlAwC2bQMA3McAgODHAIDkxwCAuukDALvlAwC8/QMAve0DAL7RAwC/0QMA6McAgOzHAIDwxwCA9McAgPjHAID8xwCAAMgAgATIAICogQMAqYEDAKqBAwCrgQMArIEDAK2BAwCugQMAr4EDALBBAwCxTQMAskUDALNVAwC0eQMAtXkDALYZAwC3GQMAuCkDALkpAwC6OQMAuzkDALwpAwC9KQMAvhkDAL8ZAwCBGQAAgBEAAKMhAgCCLQAApSECAAjIAIAMyACApikCABDIAIAYyACAq6ECAKqtAgCtqQIArLkCAK+VAgCulQIAhEwCAL5IHQCHZB0AhuwcAONAAwAcyACA4aABACDIAIDvnAMAJMgAgCjIAIAsyACAMMgAgDTIAIA4yACAPMgAgEDIAIBEyACASMgAgEzIAIBQyACAVMgAgFjIAIDvtAEAhKgdAOF8BgBcyACA43AGAGDIAIBkyACAaMgAgGzIAICz4QEAcMgAgHTIAIB4yACAfMgAgLblAQC19QEAgMgAgLuhAQC62QEAvuQcAIjIAIC/rQEAvqUBAL2xAQC8uQEAqBUeAKkZHgCqKR4AqykeAKw9HgCtJR4Ari0eAK8lHgAUyACAgvkfAIH5HwCA4R8AhMgAgIzIAICGHAAAh7ADALjBHgC5wR4AusEeALvBHgC8wR4AvcEeAL7BHgC/wR4AsF0eALElHgCyLR4AsyUeALQhHgC1KR4AthkeALcZHgCjoR4AkMgAgJTIAICYyACAnMgAgKalHgCltR4AoMgAgKvhHgCqmR4ApMgAgKjIAICv7R4AruUeAK3xHgCs+R4ArMgAgLOZHwCwyACAtMgAgLa9HwC4yACAvMgAgLW1HwC6mR8Au5kfAMDIAIDEyACAvnkfAL95HwC8eR8AvXkfAKglHgCpUR4AqlUeAKtpHgCseR4ArXkeAK5pHgCvaR4AyMgAgMzIAIDQyACA1MgAgNjIAIDcyACA4MgAgOTIAIC42R4Aue0eALr5HgC7+R4AvOkeAL3pHgC+nR4Av5UeALAZHgCxGR4AsukeALPpHgC0+R4AtfkeALbpHgC36R4Ao90eAIIpAACBFQAAgB0AAOjIAICm+R4ApfEeAOzIAICr3R4Aqt0eAKTHAIDwyACArz0eAK49HgCtPR4ArD0eAITIAgCzQQEAvgwBAPjIAIC2QQEA/MgAgADJAIC1UQEAuk0BALslAQCGSAAAh1ABAL4lAQC/LQEAvDEBAL0xAQAEyQCACMkAgIQEAwC+gAQADMkAgO+oHwAQyQCAFMkAgL8oMQDjdB8AGMkAgOE4HgAcyQCAIMkAgCTJAIAoyQCALMkAgDDJAICjzQIANMkAgKXdAgA4yQCAPMkAgKbNAgBAyQCARMkAgKupAgCqwQIArb0CAKy9AgCvoQIArqkCAKm1AgCoaR0AqwECAKoJAgCtAQIArBkCAK8xAgCuAQIAhGwFAEjJAIBMyQCAUMkAgFTJAICCnQEAgZ0BAICdAQC55QMAuOUDALvlAwC65QMAveUDALzlAwC/5QMAvuUDALEhAgCwSQIAsyUCALIlAgC1KQIAtCECALcVAgC2FQIAqM0CAKnRAgCq0QIAqw0BAKwVAQCtBQEArgEBAK8BAQBYyQCAXMkAgGDJAIBoyQCAvvgEAGzJAIBwyQCAdMkAgLgVAQC5HQEAuikBALspAQC89QEAvf0BAL71AQC/7QEAsEkBALFVAQCyXQEAs1UBALRNAQC1NQEAtj0BALcxAQCGoAUAh8gFAHjJAIDvvAAAfMkAgIDJAICEyQCA74weAIQsBwDh8B4AiMkAgOMcHgCMyQCA4ZQBAJDJAIDjbAAAsxkCAJTJAICYyQCAnMkAgIQACAC2xQEAtd0BAKDJAIC70QEAus0BAKTJAICoyQCAv7EBAL7JAQC9wQEAvMkBAKPZBQBkyQCArMkAgLDJAIC0yQCApgUGAKUdBgC4yQCAqxEGAKoNBgC8yQCAwMkAgK9xBgCuCQYArQEGAKwJBgDEyQCAgh0AAIEdAACAHQAAyMkAgMzJAIDQyQCA1MkAgIZAAwCHxAMA2MkAgNzJAIDgyQCA5MkAgOjJAIDsyQCAqK0HAKmxBwCqsQcAq7EHAKwZBwCtBQcArg0HAK8FBwDwyQCA9MkAgPjJAID8yQCAAMoAgATKAIAIygCADMoAgLgtBwC5zQAAusUAALvdAAC8zQAAvf0AAL71AAC/nQAAsEkHALFVBwCyUQcAsykHALQ5BwC1OQcAtiUHALcVBwCzOQYAEMoAgBTKAIAYygCAHMoAgLaFBgC1kQYAIMoAgLuRBgC6jQYAJMoAgCjKAIC//QYAvv0GAL39BgC8hQYALMoAgKN9BgAwygCANMoAgKbBBgA4ygCAPMoAgKXVBgCqyQYAq9UGAEDKAIC+bAEArrkGAK+5BgCswQYArbkGAKjpAQCp6QEAqvkBAKv5AQCs6QEArekBAK45AQCvOQEAgPUAAIH9AACCwQAARMoAgIYQAACHdAEASMoAgPTIAIC4zQAAudUAALrVAAC75QAAvP0AAL2VAAC+kQAAv5EAALBJAQCxSQEAslkBALNZAQC0SQEAtUkBALb9AAC39QAA7/QGAEzKAIBQygCAVMoAgO8wAgBYygCAXMoAgGDKAIDj4AcAZMoAgOGAAQBoygCA4ygGAGzKAIDhyAUAcMoAgLMxAgB0ygCAeMoAgJYAAAB8ygCAtikCALUhAgCAygCAu80CALrNAgCEygCAiMoAgL/NAgC+zQIAvc0CALzNAgCMygCAkMoAgJTKAICj/QIAmMoAgKXtAgCm5QIAnMoAgKDKAICkygCAqgECAKsBAgCsAQIArQECAK4BAgCvAQIAgA0AAIEVAACCHQAAqMoAgKzKAICwygCAvlQMALjKAICGwAwAhyQDALzKAIDAygCAxMoAgMjKAIDMygCA0MoAgKi5AgCpAQEAqgEBAKsBAQCsBQEArQ0BAK4FAQCvOQEAhKgNANTKAIDYygCA3MoAgODKAIDkygCA6MoAgOzKAIC4LQEAucUBALrNAQC7xQEAvMEBAL3JAQC++QEAv/kBALBNAQCxUQEAslUBALMpAQC0OQEAtSUBALYlAQC3FQEA4RgGAPDKAIDjOAcA9MoAgPjKAIC+WAwA/MoAgADLAICEbA8ABMsAgL5gDwAIywCADMsAgBDLAIDvcAYAFMsAgIAVAACBGQAAgi0AAITMDwDjYAYAGMsAgOGgAQAcywCA73QAACDLAICGyAwAh/wMACjLAIAsywCAMMsAgDTLAICjCQ4AtMoAgCTLAIA4ywCAPMsAgKYNDgClDQ4AQMsAgKsVDgCqCQ4ARMsAgEjLAICvYQ4Arn0OAK19DgCsAQ4ATMsAgLOpDgBQywCAVMsAgLapDgBYywCAXMsAgLWpDgC6SQ8Au0kPAGDLAIBkywCAvkkPAL9JDwC8SQ8AvUkPAKhdDgCpbQ4AqmUOAKt9DgCsZQ4ArW0OAK5lDgCvuQ8AaMsAgGzLAIBwywCAdMsAgHjLAIB8ywCAgMsAgITLAIC4UQ8AuV0PALpVDwC7aQ8AvH0PAL1lDwC+bQ8Av2EPALDJDwCxyQ8AstkPALPZDwC0yQ8AtckPALZ9DwC3cQ8AiMsAgLURDwC2EQ8AjMsAgIARAACBGQAAgikAALMVDwC8HQ8AvWEPAL5hDwC/fQ8AkMsAgJTLAIC6FQ8AuwkPAKOtDwCYywCAhugAAIfIAQCcywCApq0PAKWtDwCgywCAq00OAKpNDgCkywCAqMsAgK9NDgCuTQ4ArU0OAKxNDgCocQ4AqXEOAKpxDgCrcQ4ArJ0BAK2FAQCuhQEAr7UBAL7sAACsywCAsMsAgLTLAIC4ywCAvMsAgMDLAIDEywCAuGEBALlhAQC6YQEAu2EBALxhAQC9YQEAvmEBAL9hAQCwzQEAsaUBALKhAQCzoQEAtKUBALWtAQC2kQEAt5EBALP5DQDIywCAzMsAgNDLAIDUywCAtgUCALUVAgDYywCAu2ECALoJAgDcywCA4MsAgL9pAgC+YQIAvXUCALx1AgDkywCAo70NAOjLAIDsywCApkECAPDLAID0ywCApVECAKpNAgCrJQIA+MsAgPzLAICuJQIAry0CAKwxAgCtMQIAge0AAIDtAADv0AEAgh0AAADMAIAIzACAhjgEAIdQAwAMzACAEMwAgBTMAIAYzACA4eABABzMAIDjZA8AIMwAgCTMAIAozACALMwAgLORAwAwzACAtbkDALZ9AwA0zACAOMwAgDzMAIC6WQMAu1kDALxJAwC9SQMAvv0AAL/1AACoRQIAqVUCAKpVAgCrZQIArH0CAK2xAgCusQIAr7ECAL5oBQBAzACARMwAgEjMAIBMzACAUMwAgFTMAIBYzACAuF0BALltAQC6ZQEAuw0BALwZAQC9GQEAvg0BAL8FAQCw0QIAsdECALLRAgCz0QIAtHUBALV9AQC2dQEAt20BAOF4DwDjNA4A47gOAOF8DgBczACAYMwAgGTMAIBozACAbMwAgHDMAIB4zACAfMwAgIDMAIDv5A4A79QOAITMAICjnQIAgmEAAIFpAACAUQAAhJwFAKZxAgCltQIAiMwAgKtVAgCqVQIAhkgEAIfMBACv+QEArvEBAK1FAgCsRQIAqJUGAKmlBgCqrQYAq6UGAKy9BgCtoQYArqUGAK/dBgB0zACAjMwAgJDMAICUzACAmMwAgJzMAICgzACApMwAgLhtBwC5dQcAun0HALt1BwC8bQcAvcUHAL7NBwC/xQcAsKUGALGtBgCyuQYAs7EGALSRBgC1kQYAtl0HALdVBwCzJQYAqMwAgKzMAICwzACAtMwAgLYhBgC1NQYAuMwAgLtpBgC6YQYAvMwAgMDMAIC/VQYAvlUGAL1lBgC8bQYAxMwAgKNhBgDIzACAzMwAgKZlBgDQzACA1MwAgKVxBgCqJQYAqy0GANjMAIDczACArhEGAK8RBgCsKQYArSEGAKipBgCpqQYAqrkGAKuxBgCszQYArTEBAK4xAQCvMQEAgMkBAIHJAQCCBQAA4MwAgL54AgCEeAIA5MwAgOjMAIC43QEAue0BALrlAQC7jQEAvJkBAL2ZAQC+jQEAv4UBALBRAQCxUQEAslEBALNRAQC09QEAtf0BALb1AQC37QEAszEGAOzMAICGKAAAh9wBAPDMAIC2sQEAtUUGAPTMAIC7lQEAupUBAPjMAID8zACAvzkBAL4xAQC9hQEAvIUBAATMAICjdQYAAM0AgATNAICm9QEACM0AgAzNAIClAQYAqtEBAKvRAQAQzQCAFM0AgK51AQCvfQEArMEBAK3BAQAYzQCAHM0AgCDNAIAkzQCAKM0AgCzNAIAwzQCANM0AgDjNAIA8zQCAQM0AgETNAIBIzQCATM0AgFDNAIC+cAMAhQA8AOHEBgCERAIA44wHAIBhAACBYQAAgmEAAO9oAwCFRDwA4RACAFjNAIDj2CsAhlA9AIf0AwBczQCA76QHAGDNAIDvQAIAZM0AgGjNAIBszQCAcM0AgHTNAIB4zQCAhDw8AHzNAICAzQCAhM0AgIjNAIDj7AIAjM0AgOEsAQCzUQMAkM0AgJTNAICYzQCAnM0AgLZ5AwC1cQMAoM0AgLs5AwC6MQMApM0AgKjNAIC/9QAAvvUAAL0VAwC8FQMAqD0CAKmBAgCqmQIAq5ECAKy5AgCtuQIArtECAK/RAgCEqD8Avqg/AKzNAICwzQCAtM0AgLjNAIC8zQCAwM0AgLhRAQC5UQEAulEBALtRAQC8cQEAvXEBAL5xAQC/cQEAsLUCALG9AgCygQIAs4ECALRxAQC1cQEAtnEBALdxAQCAtQAAgb0AAIK1AADIzQCAhrA/AIfgPADMzQCA71QAAL4sPgDhVAYA0M0AgOOIAADUzQCA2M0AgNzNAIDgzQCAo1ECAOTNAIC/2CYA6M0AgOzNAICmeQIApXECAPDNAICrOQIAqjECAPTNAID4zQCAr/UBAK71AQCtFQIArBUCAJAtJACRBSgAkg0oAJPZKACUhS0AlTUsAJbFLACXtTEAmAEwAJkVMACalTUAmyk0AJxtNACdmTUAnj04AJ81OABUzQCAttU+ALXFPgDEzQCAs9E+APzNAIAAzgCABM4AgL/ZPgC+1T4AvcU+ALzFPgC71T4Auuk+AAjOAICPXSQAqeUJAKgVCACrBQwAqg0MAK0BEACsAQwAr0EQAK69EACh4QAADM4AgKMBBACi4QAApZ0EAKSVBACnuQgApgEIAKD1OQChBT0Aouk8AKP1PQAQzgCAFM4AgBjOAIAczgCAscEUALABFACzARgAsn0UALXVGAC01RgAIM4AgCTOAICCISUAgyklACjOAIAszgCAhsUpAIeBLACEGSkAhRkpAIoBLQCL+S0AMM4AgDjOAICOATEAj4k0AIyRMACNHTEAkkU1AJMZNQCG6AcAh+wBAJZZOQCXYTgAlPU0AJVZOQCaoTwAm0U9ADzOAIBAzgCAgX0AAIB9AACcQTwAglUAAKjpPwCp/T8Aqgk/AKsFPwCsHT8ArQU/AK4NPwCvBT8ARM4AgEjOAIBMzgCAUM4AgFTOAIBYzgCAXM4AgGDOAIC4DT8AuRU/ALoVPwC7JT8AvD0/AL39PgC+9T4Av+0+ALB9PwCxQT8AskE/ALNBPwC0QT8AtU0/ALY9PwC3NT8Ao4E8AGTOAIBozgCAbM4AgHDOAICmhTwApZU8AHTOAICrhTwAqrk8AHjOAIB8zgCAr4k8AK6FPACtlTwArJU8AITIAwCz7T0AgM4AgITOAIC26T0AiM4AgIzOAIC16T0Auq09ALu1PQCQzgCAlM4AgL6dPQC/IQIAvKU9AL2VPQCoDT0AqR09AKohPQCrPT0ArCU9AK0tPQCuJT0Ar1k9AIANAACBFQAAgh0AAJjOAICczgCAoM4AgKjOAIC+uAMAuLkCALlhAgC6GQIAuxkCALwJAgC9CQIAviECAL8hAgCwLT0AsTU9ALI1PQCzBT0AtB09ALWhAgC2oQIAt6ECAKOpPACszgCAhigFAIfsAgCwzgCApq08AKWtPAC0zgCAq/E8AKrpPAC4zgCAvM4AgK9lAwCu2TwArdE8AKzhPADAzgCAsykCAMTOAIDIzgCAtvkCAMzOAIDQzgCAtfkCALrVAgC73QIA1M4AgNjOAIC+eQEAv3kBALzFAgC9eQEA3M4AgODOAICj5QIA5M4AgKU1AgDozgCA7M4AgKY1AgDwzgCA9M4AgKsRAgCqGQIArbUBAKwJAgCvtQEArrUBAOPwPgDhrD8A4UA+AON8PwD4zgCA/M4AgADPAIAEzwCAgA0AAIERAACCEQAACM8AgO+oPgAMzwCAEM8AgO8gPgCoLQUAqW0FAKplBQCrrQUArLUFAK29BQCutQUAr60FAKTOAICE6AMAvuADABTPAICGEAMAh5gDABjPAIAczwCAuGkGALlpBgC6AQYAuwEGALwFBgC9DQYAvjEGAL8xBgCw1QUAsd0FALLVBQCzaQYAtHkGALV5BgC2aQYAt2EGAKg5BgCpgQcAqpkHAKuRBwCsuQcArbkHAK7ZBwCv1QcAIM8AgCTPAIA0zgCAKM8AgCzPAIAwzwCANM8AgDjPAIC4VQcAuV0HALppBwC7aQcAvAEHAL0BBwC+AQcAvwEHALCtBwCxsQcAsrEHALOFBwC0nQcAtXUHALZ9BwC3cQcAsxEGADzPAIBAzwCARM8AgEjPAIC2OQYAtTEGAEzPAIC7dQYAumkGAFDPAIBUzwCAv7EGAL5ZBgC9UQYAvGUGAFjPAICjVQYAXM8AgGDPAICmfQYAZM8AgGjPAICldQYAqi0GAKsxBgBszwCAcM8AgK4dBgCv9QYArCEGAK0VBgCouQEAqbkBAKopAQCrKQEArD0BAK0lAQCuLQEAryUBAHTPAICCHQAAgR0AAIAdAAB4zwCAfM8AgIDPAIC+cAEAuIEAALmNAAC6hQAAu5kAALyJAAC9vQAAvrUAAL99AACwXQEAseEAALLhAACz4QAAtOEAALXpAAC20QAAt9EAAITIAgCzpQIAhzgDAIYoAgC2oQIAiM8AgIzPAIC1sQIAup0CALshAwC+bAMAkM8AgL4hAwC/KQMAvDEDAL0xAwCj4QIAlM8AgJjPAICczwCAoM8AgKblAgCl9QIApM8AgKtlAwCq2QIAqM8AgKzPAICvbQMArmUDAK11AwCsdQMAqZkAAKiRAACrzQAAqqEAAK3dAACs3QAAr8UAAK7NAAC+LA0AsM8AgLTPAIC4zwCAvM8AgMDPAIDEzwCAyM8AgLnBAQC4eQAAu8EBALrJAQC9wQEAvNkBAL/FAQC+xQEAsY0AALCNAACzQQAAskkAALVBAAC0WQAAt0EAALZJAADMzwCA0M8AgNTPAIDYzwCA3M8AgO9QBwDgzwCA5M8AgL74DwDjdAcA6M8AgOF8BACAGQAAgQkAAIJ5AADszwCA8M8AgLNpAQD4zwCAhMQCALYdAQD8zwCAANAAgLUVAQC6CQEAuwkBAIboDQCH6A0Avt0BAL/FAQC83QEAvdUBAATQAIAI0ACADNAAgBDQAIDv1AAAFNAAgBjQAIDvTAEA47ADAOG0BgDhgAEA45gBABzQAIAg0ACAJNAAgCjQAIAs0ACAMNAAgKPlAQCEwA0ApZkBADTQAIA40ACAppEBADzQAIBA0ACAq4UBAKqFAQCtWQEArFEBAK9JAQCuUQEA9M8AgETQAIBI0ACATNAAgFDQAIBU0ACAWNAAgFzQAICoaQ8AqXEPAKpxDwCrrQ8ArLUPAK29DwCutQ8Ar6kPALDZDwCx9Q8Asv0PALP1DwC07Q8AtZUPALadDwC3iQ8AuLkPALmFDwC6jQ8Au2kAALx5AAC9eQAAvmkAAL9pAACBnQAAgJ0AAGDQAICCBQAAZNAAgGjQAIBs0ACAcNAAgIaAAwCH9AMAdNAAgHjQAIB80ACAgNAAgITQAICEzwCAs5kPAIjQAICM0ACAkNAAgJTQAIC2XQ8AtV0PAJjQAIC7UQ8Aun0PAJzQAICg0ACAvzEPAL5JDwC9QQ8AvEkPAKNZDgCk0ACAqNAAgKzQAICw0ACApp0OAKWdDgC00ACAq5EOAKq9DgC40ACAvNAAgK/xDgCuiQ4ArYEOAKyJDgDA0ACAxNAAgMjQAIDM0ACAgBkAAIEZAACCBQAA0NAAgISgAQDU0ACAh+gBAIYABADY0ACA3NAAgODQAIDk0ACAqBUBAKkdAQCqFQEAqyUBAKw9AQCtJQEAri0BAK8lAQDo0ACA7NAAgPDQAID00ACA+NAAgPzQAIAA0QCABNEAgLjJAAC5yQAAutkAALvRAAC8+QAAvfkAAL6ZAAC/mQAAsCUBALEtAQCyJQEAsz0BALQtAQC1HQEAthUBALf5AAAI0QCADNEAgBDRAICzkQIAFNEAgLW5AgC2qQIAGNEAgBzRAIAg0QCAuu0CALvlAgC8/QIAveUCAL7lAgC/1QIApvECACTRAIAo0QCApeECACzRAICjyQIAMNEAgDTRAICuvQIAr40CAKylAgCtvQIAqrUCAKu9AgA40QCAPNEAgID5AACB+QAAggUAAEDRAIC+yAMAhBgDAEjRAIBM0QCAUNEAgFTRAIBY0QCAXNEAgGDRAIBk0QCAhhgEAIecAwBo0QCAbNEAgHDRAIB00QCAeNEAgHzRAIDvsAIAgNEAgOGUAQCE0QCA42wCAIjRAICM0QCAkNEAgJTRAICY0QCA79APAJzRAICg0QCApNEAgKjRAIDhrAEArNEAgONsAACAMQAAgT0AAIIdAADv9A4A42wOALDRAIDhLA8AvnAFALM5AgCEDAUAhugEAIdgBQDcAAAAtvECALX5AgC40QCAu9UCALrVAgC80QCAwNEAgL91AQC+dQEAvcUCALzFAgDE0QCA4fQOAMjRAIDjUA4AzNEAgNDRAIDU0QCA2NEAgNzRAIDg0QCA5NEAgOjRAIDs0QCA8NEAgPTRAIDv5A8ApmUCAPjRAID80QCApW0CAADSAICjrQIABNIAgAjSAICu4QEAr+EBAKxRAgCtUQIAqkECAKtBAgAM0gCAENIAgKiZBgCpmQYAqqkGAKupBgCsuQYArbkGAK6pBgCvqQYAFNIAgIIdAACBHQAAgB0AABjSAIAc0gCAINIAgL50AwC4rQYAubUGALq9BgC7tQYAvK0GAL1RBwC+UQcAv1EHALChBgCxoQYAsqEGALOhBgC0oQYAtaEGALalBgC3mQYARNEAgLMlBgCExAMAtNEAgLY9BgAk0gCAKNIAgLU1BgC6YQYAu2EGAIYIAACHiAAAvmEGAL9hBgC8cQYAvXEGAKNhBgAs0gCAMNIAgDTSAIA40gCApnkGAKVxBgA80gCAqyUGAKolBgBA0gCARNIAgK8lBgCuJQYArTUGAKw1BgCoXQYAqW0GAKplBgCrjQYArJkGAK2FBgCujQYAr4UGAEjSAIBM0gCAUNIAgFTSAIBY0gCAXNIAgGDSAIBk0gCAuIUGALmNBgC6mQYAu5UGALyNBgC9rQYAvqUGAL99AQCw/QYAscUGALLNBgCzxQYAtN0GALXFBgC2zQYAt8UGALPtBgBo0gCAbNIAgHDSAIB00gCAtgUGALURBgB40gCAuwEGALo5BgB80gCAgNIAgL8BBgC+GQYAvREGALwZBgCE0gCAo6kGAIjSAICM0gCApkEGAJDSAICElAEApVUGAKp9BgCrRQYAvqABAJjSAICuXQYAr0UGAKxdBgCtVQYAqJkCAKnBAgCqwQIAq8ECAKzBAgCtyQIArvECAK/xAgCB7QMAgO0DAJzSAICC+QMAhpAcAId0AwCg0gCApNIAgLjFAwC5zQMAusUDALvdAwC8zQMAvf0DAL71AwC/nQMAsEEDALFBAwCyQQMAs0EDALRBAwC1QQMAtkEDALdBAwCzSQIAqNIAgKzSAICw0gCAtNIAgLZJAgC1SQIAuNIAgLuFAwC6hQMAvNIAgMDSAIC/hQMAvoUDAL2VAwC8lQMAxNIAgKMNAgDI0gCAzNIAgKYNAgDQ0gCA1NIAgKUNAgCqwQMAq8EDANjSAIDc0gCArsEDAK/BAwCs0QMArdEDAOOYAQDhpAcA4VgGAONYBgDhoAEA4NIAgOPQAADk0gCA6NIAgOzSAIDvOAAA8NIAgO/0AQD00gCA+NIAgO/4BgCAeQAAgRUAAIIdAACEAB0A/NIAgADTAIC+EB0ACNMAgIbAHACHrB0ADNMAgBDTAIAU0wCAGNMAgBzTAIAg0wCAu8UFALqhBQC5qQUAuJEFAL/NBQC+zQUAvckFALzVBQCzHQYAsh0GALEdBgCwHQYAt6EFALa9BQC1vQUAtL0FAKu9BgCqvQYAqb0GAKi9BgCvfQYArn0GAK19BgCsfQYAJNMAgCjTAIAs0wCAMNMAgDTTAIA40wCAPNMAgEDTAICo7R0AqS0eAKoxHgCrMR4ArJUeAK2dHgCulR4Ar40eAATTAIBE0wCASNMAgEzTAIBQ0wCAVNMAgFjTAIBc0wCAuKkeALmpHgC6XR8Au1EfALxxHwC9cR8AvnUfAL9pHwCw/R4Asc0eALLFHgCzrR4AtLkeALW5HgC2rR4At6UeALO5HgBg0wCAZNMAgGjTAICU0gCAth0eALUdHgBs0wCAuwkeALo5HgBw0wCAhOADAL99HgC+fR4AvXkeALwRHgCCaQAAo/0eAIBFAACBUQAAplkeAL6cAwB00wCApVkeAKp9HgCrTR4AhkgAAIdsAACuOR4ArzkeAKxVHgCtPR4AqF0eAKltHgCqZR4Aq30eAKxlHgCtbR4ArmUeAK/9HgB40wCAfNMAgIDTAICE0wCAiNMAgIzTAICQ0wCAlNMAgLhpAQC5aQEAunkBALt5AQC8aQEAvWkBAL7dAQC/1QEAsIUeALGNHgCyhR4As50eALSFHgC1jR4AtoUeALdZAQCz7R4AmNMAgJzTAICg0wCApNMAgLbtHgC17R4AqNMAgLtJHgC6QR4ArNMAgLDTAIC/SR4AvkEeAL1JHgC8UR4AtNMAgKOpHgC40wCAvNMAgKapHgDA0wCAxNMAgKWpHgCqBR4Aqw0eAMjTAIDM0wCArgUeAK8NHgCsFR4ArQ0eAKghAwCpIQMAqiEDAKshAwCsIQMArSEDAK4hAwCvIQMA0NMAgNTTAIDY0wCAvmACANzTAIDg0wCA6NMAgOzTAIC4iQMAuYkDALqdAwC7lQMAvLkDAL25AwC+eQAAv3kAALDlAwCx7QMAsuUDALP9AwC07QMAtd0DALbVAwC3vQMAgKkAAIG1AACCvQAAs6UDAPDTAIC1pQMAtq0DAPTTAICE4AIA+NMAgLotAwC7JQMAvD0DAL0lAwC+JQMAvxUDAKPpAwD80wCAhmgEAIeAAwAA1ACApuEDAKXpAwAE1ACAq2kDAKphAwAI1ACADNQAgK9ZAwCuaQMArWkDAKxxAwAQ1ACAFNQAgBjUAIAc1ACAINQAgOE8HwAk1ACA40AeACjUAIAs1ACAMNQAgO+MHgA01ACAONQAgDzUAIBA1ACARNQAgIIlAACBEQAAgB0AAEjUAIDj5AMATNQAgOGsAQBQ1ACA77ADAIRkAgC+YAUAhtAEAIdEBQBY1ACAXNQAgGDUAIBk1ACAaNQAgGzUAIBw1ACAdNQAgHjUAIDvsAEAhKQFAOHcHgB81ACA4xABAIDUAICE1ACAiNQAgIzUAICzUQEAkNQAgJTUAICY1ACAnNQAgLYRAQC1fQEAoNQAgLsNAQC6DQEApNQAgKjUAIC//QAAvv0AAL39AAC8/QAAqDkGAKk5BgCqmQYAq5EGAKy1BgCt0QYArskGAK/BBgBU1ACArNQAgLDUAIC01ACAgA0AAIGxAACCsQAAuNQAgLhhBwC5YQcAumEHALt9BwC8ZQcAvW0HAL5lBwC/HQcAsIkGALGJBgCyaQcAs2kHALR5BwC1eQcAtmkHALdlBwCjEQYAvNQAgMDUAIC+gAMAxNQAgKZRBgClPQYAyNQAgKtNBgCqTQYAhggAAId8AwCvvQcArr0HAK29BwCsvQcAzNQAgNDUAICzSQcA1NQAgLVZBwDY1ACA3NQAgLZRBwDg1ACA5NMAgLtBBwC6dQcAvUUHALxFBwC/RQcAvkUHAKh5BgCpeQYAqokGAKuJBgCsmQYArZkGAK6JBgCviQYA5NQAgOjUAIDs1ACA8NQAgPTUAID41ACA/NQAgADVAIC4jQYAuZUGALqVBgC7pQYAvL0GAL1xAQC+cQEAv3EBALD5BgCxzQYAstkGALPZBgC0yQYAtckGALa9BgC3tQYAowEGAATVAIAI1QCADNUAgBDVAICmGQYApREGABTVAICrCQYAqj0GABjVAIAc1QCArw0GAK4NBgCtDQYArA0GACDVAIAk1QCAKNUAgCzVAICAGQAAgRkAAIIFAAAw1QCAhKwBAL6sAQCH6AAAhkwPADjVAIA81QCAQNUAgETVAIConQIAqcUCAKrNAgCrwQIArMUCAK3NAgCu+QIArz0DAEjVAIBM1QCAUNUAgFTVAIC+PAwAWNUAgFzVAIBg1QCAuMkDALnJAwC62QMAu9EDALz5AwC9+QMAvpkDAL+ZAwCwRQMAsU0DALJFAwCzXQMAtEUDALVNAwC2RQMAt/kDALNFAgBk1QCAaNUAgGzVAIBw1QCAtk0CALVNAgB01QCAu4kDALqBAwB41QCAfNUAgL+JAwC+gQMAvYkDALyRAwCA1QCAowECAITVAICI1QCApgkCAIzVAICQ1QCApQkCAKrFAwCrzQMAlNUAgJjVAICuxQMAr80DAKzVAwCtzQMAgO0BAIEVAACCEQAAhAACAJzVAIDhpAEAoNUAgOPsAACo1QCArNUAgLDVAIDvMAAAtNUAgLjVAIC81QCAwNUAgIbgDACH9AIAxNUAgMjVAIDM1QCA0NUAgO/MBgDU1QCA4bAHANjVAIDjEAYA3NUAgODVAIDk1QCA6NUAgOzVAIDw1QCA9NUAgPjVAID81QCAANYAgATWAIAI1gCA7+gBAIUYDwDhzAYADNYAgOMcBgCAKQAAgR0AAIIFAAAQ1gCAszkCAITMDQCGaA8Ah/wMAOHQ0gO28QEAtfkBABjWAIC72QEAutEBAL7kDAAc1gCAv30BAL59AQC9fQEAvMEBAKjxDQCp8Q0AqvENAKvxDQCsMQ4ArTEOAK4xDgCvMQ4ApNUAgBTWAIAg1gCAJNYAgCjWAIAs1gCAMNYAgDTWAIC46Q4AuekOALqJDgC7hQ4AvJ0OAL2BDgC+gQ4Av7UOALBVDgCxXQ4AslUOALPpDgC0+Q4AtfkOALbpDgC34Q4Ao3kNADjWAIA81gCAQNYAgETWAICmsQ4ApbkOAEjWAICrmQ4AqpEOAEzWAIBQ1gCArz0OAK49DgCtPQ4ArIEOAFTWAICz7Q8AWNYAgFzWAIC26Q8AYNYAgGTWAIC16Q8Auq0PALu1DwA01QCAaNYAgL6VDwC/mQ8AvK0PAL2hDwCoIQ4AqSEOAKohDgCrPQ4ArCUOAK0tDgCuJQ4Ar1UOAGzWAIBw1gCAdNYAgHjWAICAHQAAgQkAAIK9AAB81gCAuDkOALk5DgC6yQ4Au8kOALzZDgC92Q4AvskOAL/JDgCwLQ4AsTUOALI9DgCzMQ4AtBUOALUZDgC2CQ4AtwkOAKOpDgCA1gCAhIACAL6AAQCFAAQApq0OAKWtDgCI1gCAq/EOAKrpDgCGKAcAhxgAAK/dDgCu0Q4AreUOAKzpDgCM1gCAs+0BAJDWAICU1gCAtuUBAJjWAICc1gCAte0BALplAQC7bQEAoNYAgKTWAIC+bQEAv10BALx1AQC9bQEAqN0NAKnpDQCqIQIAqyECAKwhAgCtIQIAriECAK8hAgCo1gCArNYAgLDWAIC01gCAohECAKMRAgCgqQ4AodUCALiJAgC5iQIAup0CALuVAgC8vQIAvXUDAL59AwC/dQMAsOUCALHtAgCy5QIAs/0CALTtAgC13QIAttUCALe9AgCjqQIAj8UaALjWAIC81gCAwNYAgKahAgClqQIAxNYAgKspAgCqIQIAyNYAgMzWAICvGQIArikCAK0pAgCsMQIAniUOAJ/lDgCc6QoAnRUKAJpFFgCbRQoAmFkWAJlRFgCWcRIAl4ETAJRVEgCV7RIAktEeAJPZHgCQtRoAkVUeAISpHwCFJR8AhiUfAIexEwDQ1gCA1NYAgIJZGwCDURsAjEUSAI2lFwCOpRcAj7kXAIA5+wHY1gCAijkTAIutEwCUmQsAlaEPAJZpDwCX3Q8A3NYAgO+cDwCSyQsAk30LAJxFAwDjeA4A4NYAgOGYDADk1gCAhHgCAJqRAwCbXQMA4QQAAL6IBQDj3OoD6NYAgOzWAIDw1gCA7+wAAO+MDgDhcA4A4fwOAOMwAADjeA4AgSEAAIA5AADvtO0DgikAALMJAgD41gCAhmgEAIcsBQD81gCAtg0CALUNAgAA1wCAu8UBALrFAQAE1wCACNcAgL99AQC+fQEAvdUBALzVAQCE1gCA9NYAgAzXAIAQ1wCAFNcAgBjXAIAc1wCAINcAgKi9BQCp5QUAquEFAKvhBQCs5QUAre0FAK7RBQCv0QUAsGEGALFhBgCyYQYAs2EGALTZBgC12QYAtskGALfBBgC4yQYAuckGALp5BwC7eQcAvEUHAL0lBwC+EQcAvw0HAKNJBQAk1wCAKNcAgCzXAIAw1wCApk0FAKVNBQA01wCAq4UGAKqFBgA41wCAPNcAgK89BgCuPQYArZUGAKyVBgBA1wCARNcAgEjXAIBM1wCAUNcAgFTXAIBY1wCAXNcAgIA5AACBOQAAggUAAGDXAIC+uAMAhLgDAGjXAIBs1wCAqMUGAKnVBgCq1QYAq+UGAKz9BgCtHQEArhUBAK8NAQBk1wCAcNcAgIaIAQCHHAEAdNcAgHjXAIB81wCAgNcAgLjpAQC56QEAuokBALuJAQC8mQEAvZkBAL6JAQC/iQEAsHUBALF9AQCydQEAs+kBALT5AQC1+QEAtukBALfhAQCzXQYAhNcAgIjXAICM1wCAhLwBALadAQC1dQYAkNcAgLu5AQC6sQEAlNcAgJjXAIC/PQEAvj0BAL09AQC8oQEAnNcAgKMZBgCg1wCApNcAgKbZAQCo1wCArNcAgKUxBgCq9QEAq/0BALDXAIC01wCArnkBAK95AQCs5QEArXkBAKj5AgCp+QIAqi0DAKs9AwCsJQMArS0DAK4lAwCvmQMAuNcAgLzXAIDA1wCAxNcAgIANAACBsQAAgrEAAMjXAIC4lQMAuZ0DALqhAwC7oQMAvHEAAL1xAAC+cQAAv3EAALDpAwCx6QMAsvUDALPFAwC03QMAtbUDALaxAwC3sQMAvswDAMzXAIDQ1wCA2NcAgNzXAIDg1wCA5NcAgO/kAgDo1wCA4ZQBAOzXAIDjLAEA8NcAgPTXAICHGAMAhhz8A7tNAwC6TQMA+NcAgPzXAIC/EQMAvnkDAL1xAwC8QQMAs8UDAITo/AMA2ACABNgAgAjYAIC2zQMAtc0DAAzYAICkAfwDpSX/A6bZ/wOnAfgDENgAgKEVAwCiHQMAoz0CAKwR9wOtAfADri3zA68B8wOoEfsDqZn7A6oB9AOrHfcDtAHoA7Vl6wO+xPwDhMT8A7AB7AOxVe8Dsk3vA7Nx7gMU2ACAGNgAgBzYAIAg2ACAJNgAgCjYAIAs2ACAMNgAgOFQBgDhNAQA42wBAOPoBgA02ACAONgAgDzYAIBA2ACAgDUAAIE9AACCNQAASNgAgEzYAIBQ2ACA77ABAO/ABgCj5QIAVNgAgIbo/AOHfP0DWNgAgKbtAgCl7QIAXNgAgKttAgCqbQIAYNgAgGTYAICvMQIArlkCAK1RAgCsYQIAqI3+A6mV/gOqnf4Dq5X+A6yx/gOtvf4Drqn+A6+p/gNE2ACAaNgAgGzYAIBw2ACAdNgAgHjYAIB82ACAgNgAgLgl/wO5Lf8DuiX/A7s9/wO8Jf8DvS3/A74l/wO/zf8DsKn+A7Gp/gOygf4Ds4H+A7SB/gO1if4Dtmn/A7cd/wOE2ACA4SD8A4jYAIDjePwDjNgAgJDYAICU2ACAmNgAgJzYAICg2ACApNgAgKjYAICAHQAAgXEAAIJxAADvDP0Ds1X+A6zYAICw2ACAvkAAALTYAIC2ff4DtXn+A7jYAIC7Lf4Dui3+A4boAACHrAAAvw3+A74F/gO9Ff4DvBX+A6OV/wO82ACAwNgAgMTYAIDI2ACApr3/A6W5/wPM2ACAq+3/A6rt/wPQ2ACA1NgAgK/N/wOuxf8DrdX/A6zV/wPY2ACAs/H+A9zYAIDg2ACAto3+A+TYAIDo2ACAtY3+A7pFAQC7TQEA7NgAgPDYAIC+RQEAv00BALxVAQC9TQEAqC3+A6k1/gOqPf4Dq0n+A6xB/gOtSf4DrnH+A69x/gP02ACA+NgAgPzYAIAA2QCABNkAgAjZAIAM2QCAENkAgLhJAQC5VQEAul0BALtVAQC8TQEAvXUBAL59AQC/dQEAsMUBALHNAQCyxQEAs90BALTFAQC1zQEAtsUBALd9AQCjtf0DFNkAgBjZAICExAMAHNkAgKbJ/QOlyf0DINkAgKsJAgCqAQIAKNkAgL7sAgCvCQIArgECAK0JAgCsEQIAgEkAAIFVAACCVQAAo0UDACzZAIClRQMApkUDADDZAICGwAQAhxQDAKopAwCrJQMArD0DAK0hAwCuIQMArxUDADTZAIA42QCAPNkAgEDZAIBE2QCASNkAgEzZAIBQ2QCAqH0CAKmhAwCqoQMAq6EDAKyhAwCtqQMArpEDAK+RAwCwgQMAsY0DALKFAwCzmQMAtIkDALW9AwC2tQMAt30DALhFAwC5TQMAukUDALtdAwC8RQMAvU0DAL5FAwC/+QAA1NcAgLMNAgBU2QCAWNkAgLYNAgBc2QCAYNkAgLUNAgC6YQIAu20CAGTZAIBo2QCAvmkCAL9dAgC8dQIAvWkCAGzZAIBw2QCAdNkAgHjZAIB82QCA4aQBAIDZAIDjQAMAhNkAgIjZAICM2QCA77gDAIAVAACBHQAAggUAAJDZAICEgAIAvsgFAIcYBQCGLAQAmNkAgJzZAICg2QCA76gBAKTZAIDhdP4DqNkAgOPw/gOs2QCAsNkAgLTZAIC42QCAvNkAgMDZAIDE2QCAs5EBAMjZAIC1UQEAtlEBAMzZAIDQ2QCA1NkAgLp9AQC7dQEAvG0BAL39AAC+9QAAv+kAAKgpBgCpVQYAqlUGAKuNBgCslQYArZ0GAK6VBgCvjQYAlNkAgNjZAIDc2QCA4NkAgOTZAIDo2QCA7NkAgPDZAIC4bQcAuQUHALoNBwC7BQcAvB0HAL0FBwC+AQcAvz0HALD1BgCx/QYAsvUGALNlBwC0fQcAtWEHALZhBwC3VQcA4xAFAPTZAIDh8AQA+NkAgIAdAACBCQAAgjkAAPzZAIAA2gCAhOgDAL7gAwAE2gCA78wFAAjaAICHOAAAhhgAAKOdBgAM2gCAENoAgBTaAIAY2gCApl0GAKVdBgAc2gCAq3kGAKpxBgAg2gCAJNoAgK/lBwCu+QcArfEHAKxhBgCokQYAqZEGAKqRBgCrrQYArLkGAK2lBgCurQYAr6UGACjaAIAs2gCAMNoAgDTaAIA42gCAPNoAgEDaAIBE2gCAuGUBALltAQC6ZQEAu30BALxlAQC9bQEAvmUBAL/ZAQCw3QYAsaUGALKtBgCzpQYAtKEGALWpBgC2mQYAt5kGALMZBgBI2gCATNoAgFDaAIBU2gCAtiUGALUxBgBY2gCAu2EGALoZBgBc2gCAYNoAgL9tBgC+ZQYAvXEGALx5BgBk2gCAo10GAGjaAIBs2gCApmEGAHDaAICEmAEApXUGAKpdBgCrJQYAvqQBAHjaAICuIQYArykGAKw9BgCtNQYAqcUCAKixAgCrxQIAqsUCAK3NAgCsxQIAr/UCAK71AgB82gCAgNoAgITaAICI2gCAjNoAgJDaAICU2gCAmNoAgLnJAwC4wQMAu9kDALrBAwC9+QMAvMkDAL+ZAwC+8QMAsUUDALBFAwCzRQMAskUDALVFAwC0RQMAt0UDALZFAwCASQMAgUkDAIJdAwCzRQIAvtwMALVFAgC2RQIAnNoAgIYADACH5AMAuokDALuJAwC8mQMAvZkDAL6JAwC/iQMAowkCAKDaAICk2gCAqNoAgKzaAICmCQIApQkCALDaAICrxQMAqsUDALTaAIC42gCAr8UDAK7FAwCt1QMArNUDALzaAIDA2gCAxNoAgCTZAIDvAAAAyNoAgMzaAIDQ2gCA4+gAANTaAIDhjAEA2NoAgNzaAIDg2gCA6NoAgOzaAICAbQAAgXUAAIJ9AACEQAIAhvAMAId4DQDw2gCA9NoAgPjaAID82gCAANsAgATbAIAI2wCADNsAgBDbAIAU2wCAGNsAgBzbAIAg2wCAJNsAgCjbAIAs2wCAMNsAgO/MAQCE7AwA4TAGADTbAIDjGAEAONsAgDzbAIBA2wCARNsAgLPlAQBI2wCAhIQPAEzbAIBQ2wCAtuUBALX1AQBY2wCAu30BALrZAQC+oAwAXNsAgL8hAQC+OQEAvTEBALw5AQCo7Q0AqSUOAKotDgCrJQ4ArD0OAK0lDgCuLQ4AryUOAOTaAICC9Q8AgeUPAIDpDwBU2wCAYNsAgIaYAACHDAMAuK0OALlFDwC6TQ8Au0UPALxFDwC9TQ8AvkUPAL95DwCwXQ4AsfkOALKtDgCzpQ4AtL0OALWlDgC2pQ4At5UOAGTbAIDv7AwAaNsAgGzbAIBw2wCAdNsAgHjbAIB82wCAvugAAIDbAICE2wCAiNsAgIzbAIDj6A0AkNsAgOEEDACj5Q4AlNsAgJjbAICc2wCAoNsAgKblDgCl9Q4ApNsAgKt9DgCq2Q4AqNsAgKzbAICvIQ4ArjkOAK0xDgCsOQ4AqDkOAKk5DgCqUQ4Aq1EOAKxxDgCtcQ4ArnEOAK9xDgCw2wCAtNsAgLjbAIC82wCAgBkAAIEZAACCBQAAwNsAgLjRDgC50Q4AutEOALvlDgC84Q4AveEOAL7hDgC/4Q4AsBEOALERDgCyEQ4AsxEOALTxDgC18Q4AtvEOALfxDgCz2Q4AyNsAgIYoAACHuAAAzNsAgLbxDgC1+Q4A0NsAgLvVDgC61Q4A1NsAgNjbAIC/NQ4AvjUOAL3FDgC8xQ4A3NsAgKOdDgDg2wCA5NsAgKa1DgDo2wCA7NsAgKW9DgCqkQ4Aq5EOAPDbAID02wCArnEOAK9xDgCsgQ4ArYEOAKjdDQCp6Q0Aqj0CAKuNAgCsmQIArZkCAK6JAgCviQIAvqwEAPjbAID82wCAhCADAADcAIAE3ACACNwAgAzcAIC4iQIAuYkCALqZAgC7kQIAvLkCAL25AgC+eQMAv3kDALD5AgCx+QIAss0CALPFAgC03QIAtcUCALbBAgC3uQIAs7UCABDcAIAU3ACAGNwAgBzcAIC2GQIAtRECACDcAIC7PQIAuj0CACTcAIAo3ACAvwECAL4ZAgC9EQIAvBkCACzcAICj8QIAMNwAgDjcAICmXQIAPNwAgEDcAIClVQIAqnkCAKt5AgCGSAUAh6wEAK5dAgCvRQIArF0CAK1VAgCohQIAqZUCAKqVAgCrpQIArL0CAK3VAgCu0QIAr9ECAETcAIBI3ACATNwAgFDcAICB8QEAgJkBAHTaAICC9QEAuHkBALl5AQC6zQEAu8UBALzdAQC9xQEAvsUBAL/1AQCwtQIAsb0CALKBAgCzgQIAtFUBALVdAQC2SQEAt0kBAFTcAIBY3ACAXNwAgO/UAQCEEAUAYNwAgGTcAIDvjA4AvuwFAOHsDgBo3ACA4xwOAGzcAIDhlAEAcNwAgONkDgCzXQIAdNwAgHjcAIB83ACAgNwAgLYVAgC1dQIAhNwAgLs5AgC6MQIAiNwAgIzcAIC/2QEAvtEBAL0VAgC8FQIAo50FADTcAICQ3ACAlNwAgJjcAICm1QUApbUFAJzcAICr+QUAqvEFAKDcAICk3ACArxkGAK4RBgCt1QUArNUFAIBRAACBWQAAgmEAALOVBgCo3ACAtXEHALZxBwCs3ACAhkADAIdUAwC67QcAu+UHALzlBwC97QcAvtEHAL/NBwCw3ACAtNwAgLjcAIC83ACAwNwAgMTcAIDvQAQAyNwAgOEwBwDM3ACA45QEANDcAIDU3ACA2NwAgNzcAIDg3ACAoxkGAOTcAIDo3ACA7NwAgPDcAICm/QcApf0HAPTcAICraQcAqmEHAPjcAID83ACAr0EHAK5dBwCtYQcArGkHAKjNBwCp0QcAqtEHAKstBgCsNQYArT0GAK41BgCvnQYAAN0AgATdAIAI3QCADN0AgIAZAACBGQAAggUAABDdAIC4iQYAuYkGALqZBgC7kQYAvLkGAL25BgC+UQEAv1EBALDlBgCx7QYAsv0GALP1BgC02QYAtcUGALbBBgC3uQYAqNEBAKnZAQCqCQEAqwkBAKwZAQCtGQEArgkBAK8JAQCEYAEAvnwBAIeoAACGjAEAGN0AgBzdAIAg3QCAJN0AgLgJAQC5CQEAuhkBALsRAQC8OQEAvTkBAL75AAC/+QAAsH0BALFBAQCyRQEAs10BALRFAQC1TQEAtkUBALc5AQAo3QCALN0AgDDdAICzjQIANN0AgLWdAgC2lQIAON0AgDzdAIBA3QCAurUCALuJAgC8nQIAvYUCAL6NAgC/hQIAps0CAETdAIBI3QCApcUCAEzdAICj1QIAUN0AgFTdAICu1QIAr90CAKzFAgCt3QIAqu0CAKvRAgCE9AMAWN0AgKgxAwCpMQMAqjEDAKsxAwCskQAArZEAAK6RAACvjQAAXN0AgGDdAIBk3QCAaN0AgGzdAIBw3QCAdN0AgHjdAIC4vQAAuWUAALptAAC7ZQAAvH0AAL1lAAC+bQAAv2UAALD9AACxxQAAss0AALOpAAC0uQAAtaUAALahAAC3oQAAgL0BAIEJAACCGQAAfN0AgIDdAIC+WAIAhxQdAIacHQCEbB0AxNsAgIjdAICM3QCAvrwcAJDdAICU3QCAmN0AgLP5AgCc3QCAoN0AgKTdAICo3QCAtlEBALVZAQC+3B8Au0EBALp5AQCs3QCAsN0AgL8hAQC+PQEAvT0BALxZAQDhcAcAtN0AgOMIBgC43QCA78wAALzdAIDA3QCAxN0AgOMQAADI3QCA4dABAMzdAICGkBwAh/QcAO/gBgDQ3QCAo3kCANTdAIDY3QCA3N0AgODdAICm0QEApdkBAOTdAICrwQEAqvkBAOjdAIDs3QCAr6EBAK69AQCtvQEArNkBAITdAICCFQAAgeUfAIDlHwDw3QCA9N0AgPjdAID83QCAqAkfAKkJHwCqHR8AqxUfAKwNHwCtcR8ArnEfAK9xHwCwER8AsS0fALIlHwCzyR8AtN0fALXBHwC2wR8At8EfALjFHwC5yR8AutUfALupHwC8uR8AvbkfAL6pHwC/oR8As7UfAADeAIAE3gCACN4AgAzeAIC20R8AtaUfABDeAIC7yR8AuvUfABTeAIAY3gCAvyUfAL45HwC9PR8AvNEfABzeAIAg3gCAJN4AgCjeAIAs3gCA4WAfADDeAIDjtBwANN4AgDjeAIA83gCA7wAdAEDeAIBE3gCASN4AgEzeAICjNR4AUN4AgFTeAIBY3gCAXN4AgKZRHgClJR4AYN4AgKtJHgCqdR4AhKgCAGTeAICvpR4ArrkeAK29HgCsUR4AgE0AAIFVAACCVQAAs8kBAGjeAIC12QEAtskBAGzeAICGoAAAhwQBALrFAQC7rQEAvLUBAL29AQC+tQEAv60BAKiZAQCpmQEAqg0BAKsFAQCsHQEArQUBAK4FAQCvNQEAcN4AgHTeAIB43gCAfN4AgIDeAICE3gCAiN4AgIzeAIC4JQEAuS0BALo5AQC7OQEAvCkBAL0pAQC+3QAAv9UAALBNAQCxJQEAsi0BALMlAQC0PQEAtSUBALYhAQC3HQEAkN4AgJTeAICY3gCAo4kCAJzeAIClmQIApokCAKDeAICk3gCAqN4AgKqFAgCr7QIArPUCAK39AgCu9QIAr+0CAKzeAICw3gCAtN4AgIRAAgC43gCAvN4AgMDeAIDE3gCAgA0AAIEVAACCHQAAyN4AgMzeAIDQ3gCAh7QDAIbcBAC+zAMA2N4AgNzeAIDg3gCA7+gCAOTeAIDo3gCA7N4AgOP8AgDw3gCA4dABAPTeAID43gCA/N4AgADfAIAE3wCAs2EDAAjfAIAM3wCAEN8AgBTfAIC2eQMAtXEDABjfAIC7XQMAul0DABzfAIAg3wCAv+EAAL79AAC9/QAAvP0AALC5AgCxuQIAsgkBALMJAQC0GQEAtQUBALYFAQC3PQEAuAUBALllAQC6bQEAu2UBALxhAQC9YQEAvmEBAL9hAQCFXAcAJN8AgCjfAIAs3wCAFN0AgDDfAIA03wCAON8AgKgxAgCpOQIAqskCAKvJAgCs2QIArdkCAK7JAgCvyQIAhMwFAOGAHgA83wCA47weAOE4HgBA3wCA46AAAL4QBABI3wCATN8AgO8MHgBQ3wCAVN8AgFjfAIBc3wCA73QeAKNhAgCCUQAAgUEAAICRAABg3wCApnkCAKVxAgBk3wCAq10CAKpdAgCGyAQAhzwFAK/hAQCu/QEArf0BAKz9AQCohQYAqY0GAKqFBgCrmQYArIkGAK2JBgCuvQYAr7EGAETfAIBo3wCAbN8AgHDfAIB03wCAeN8AgHzfAICA3wCAuJ0GALmtBgC6pQYAuwkHALwZBwC9GQcAvg0HAL8FBwCw0QYAsdEGALLRBgCz0QYAtLUGALW9BgC2tQYAt60GALMNBgCE3wCAiN8AgIzfAICQ3wCAtgkGALUBBgCU3wCAuxUGALoVBgCY3wCAnN8AgL95BgC+cQYAvQUGALwFBgCg3wCA4aAEAKTfAIDjXAUAgA0AAIE1AACCPQAAqN8AgKzfAICw3wCAhGADAL5sAAC/8AEAhZAAALTfAIDvmAUAo40HAIQIAACGAAwAh4wAALjfAICmiQcApYEHALzfAICrlQcAqpUHAMDfAIDE3wCAr/kHAK7xBwCthQcArIUHAMjfAICz6QYAzN8AgNDfAIC26QYA1N8AgNjfAIC16QYAukUBALtNAQDc3wCA4N8AgL5FAQC/TQEAvFUBAL1NAQCoIQYAqSEGAKolBgCrPQYArCUGAK0tBgCuSQYAr0EGAOTfAIDo3wCA7N8AgPDfAID03wCA+N8AgPzfAIAA4ACAuEkBALlJAQC6WQEAu1EBALx5AQC9eQEAvhkBAL8VAQCwxQEAsc0BALLFAQCz3QEAtMUBALXNAQC2xQEAt3kBAATgAIAI4ACADOAAgKOhBQAQ4ACApaEFAKahBQAU4ACAjyHqAxjgAICqDQIAqwUCAKwdAgCtBQIArg0CAK8FAgCX7RIAlmUSAJVFEQCUnRYAk3EWAJJVFQCReesDkFnqA59hBgCeNQUAnUUaAJxpGgCbVRkAmkUeAJlZHgCYRR0A4WAAABzgAIDjTD4AIOAAgKOxAgCi1QEAobUHAKCJBgCxATgAsAk+ALOVOgCyjToAtbUmALQBJADvaDoAvjAMAKnJNgCowTYAqwEwAKrhNwCtzTMArPUyAK/5PgCuATwAoRkCACjgAICjbQ4Aom0OAKX1CgCkAQgAp4ULAKaZCgCGAA0Ah0QNAIIJ6wODCesDhDHqA4UVFACGORcAh80XAISgDQAs4ACAiiUQAIsNEwCMnRMAjQ0cAI4ZHwCPDR8A1N4AgO8AAwCSbRgAk0kbAJR9GwCVBQQAllkHAJdJBwAw4ACANOAAgJpFBgCbLQAAnFEDAONgAAA44ACA4WwAAIClAQCBAQEAggUBAL4ADAA84ACAQOAAgETgAIDviAEASOAAgOFUBgBM4ACA41QBAFDgAIBU4ACAWOAAgFzgAICz6QIAYOAAgGTgAIBo4ACAbOAAgLadAgC1mQIAcOAAgLuJAgC6vQIAdOAAgHjgAIC/WQIAvlECAL1ZAgC8kQIAoykNAHzgAICA4ACAhOAAgIjgAICmXQ0ApVkNAIzgAICrSQ0Aqn0NAJDgAICY4ACAr5kNAK6RDQCtmQ0ArFENAIBRAACBWQAAgmEAALMtDwCc4ACAtS0PALbJDwCg4ACAhkADAIcIAwC6yQ8Au8UPALzBDwC9wQ8AvsEPAL/BDwAk4ACAlOAAgKTgAICo4ACArOAAgLDgAIC04ACAuOAAgKhFDgCpgQ8AqskPAKvJDwCsyQ8ArSUPAK4tDwCvJQ8AsGEPALFtDwCyeQ8As3kPALRpDwC1aQ8Ath0PALcVDwC4LQ8AuTUPALo1DwC7BQ8AvB0PAL3xAAC+8QAAv/EAAKNhDgC84ACAhMQBAMDgAIDE4ACApoUOAKVhDgDI4ACAq4kOAKqFDgDM4ACA0OAAgK+NDgCujQ4ArY0OAKyNDgDU4ACA2OAAgNzgAIDg4ACA5OAAgOjgAIDs4ACA8OAAgPTgAICCHQAAgR0AAIAdAAD44ACA/OAAgADhAIC+tAEAqK0BAKnVAQCq1QEAqwUBAKwdAQCtBQEArg0BAK8FAQCGgAEAhxgBAAjhAIAM4QCAEOEAgBThAIAY4QCAHOEAgLiFAAC5jQAAuoUAALudAAC8hQAAvY0AAL6FAAC/vQAAsH0BALHhAACy5QAAs/0AALTtAAC13QAAttUAALe9AACzXQIAIOEAgCThAIAo4QCALOEAgLaFAgC1lQIAMOEAgLslAwC6uQIANOEAgDjhAIC/GQMAvikDAL0pAwC8MQMAvswEAKMZAgA84QCAQOEAgKbBAgBE4QCASOEAgKXRAgCq/QIAq2EDAEzhAIBQ4QCArm0DAK9dAwCsdQMArW0DAKgpAwCpKQMAqjkDAKs5AwCsKQMArSkDAK6dAACvlQAAVOEAgFjhAIBc4QCAYOEAgGThAICCqQEAga0BAICtAQC4mQAAua0AALqlAAC7bQAAvHUAAL19AAC+dQAAv20AALDtAACx9QAAsvUAALPFAAC03QAAtb0AALa1AAC3qQAA4XgBAOEcDgDjEAAA4zwOAGjhAIBs4QCAvhQEAHDhAICErAIAeOEAgId4BQCGDAUAfOEAgIDhAIDvvAAA70gOALPxAgCE4QCAiOEAgIzhAICQ4QCAtukCALXhAgCU4QCAu3EBALppAQCY4QCAhKAEAL85AQC+WQEAvVEBALxhAQCc4QCAhIwEAKDhAICEADgApOEAgKjhAICs4QCAsOEAgKqJDgCriQ4AqLkOAKmxDgCu/Q4Ar+EOAKz5DgCt9Q4Asq0OALNlDgCwkQ4AsaUOALZ9DgC3ZQ4AtH0OALV1DgC6XQ4Au+UNALhdDgC5VQ4AvuENAL/pDQC8/Q0AvfUNAKOxBQB04QCAtOEAgLjhAIC84QCApqkFAKWhBQDA4QCAqzEGAKopBgDE4QCAyOEAgK95BgCuGQYArREGAKwhBgDM4QCA0OEAgNThAIDY4QCAgB0AAIEJAACCOQAA3OEAgODhAIDk4QCAhsgAAIcMAwDo4QCA7OEAgPDhAID04QCAqKUHAKm1BwCqvQcAq8kHAKzZBwCt2QcArskHAK/BBwC+oAAA+OEAgPzhAIAA4gCABOIAgAjiAIAM4gCAEOIAgLjNAAC51QAAutUAALvlAAC8/QAAvZUAAL6dAAC/lQAAsIkHALFlBwCyYQcAs30HALRlBwC1bQcAtmUHALf1AACzNQYAFOIAgBjiAIAc4gCAIOIAgLZZBgC1UQYAJOIAgLuhBgC6TQYAKOIAgCziAIC/qQYAvqEGAL2pBgC8tQYAMOIAgDTiAIDv8AUAOOIAgDziAIBA4gCAROIAgEjiAICAPQAAgQkAAIIdAABM4gCA4cgGAFDiAIDjSAQAVOIAgKO1BgBY4gCAhigAAIdAAQBc4gCAptkGAKXRBgBg4gCAqyEGAKrNBgBk4gCAaOIAgK8pBgCuIQYArSkGAKw1BgBs4gCAs70BAHDiAIB04gCAtnkBAHjiAIB84gCAtXkBALpVAQC7XQEAgOIAgITiAIC++QAAv/kAALxFAQC9+QAAqHECAKlxAgCqcQIAq3ECAKy1AgCtvQIArrUCAK+tAgC+rDwAiOIAgIziAICQ4gCAlOIAgJjiAICc4gCAoOIAgLhpAwC5aQMAugkDALsJAwC8HQMAvQUDAL4NAwC/BQMAsNUCALHdAgCy1QIAs2kDALR5AwC1eQMAtmkDALdhAwCk4gCAqOIAgKziAICj9QIAsOIAgKUxAgCmMQIAtOIAgLjiAIC84gCAqh0CAKsVAgCsDQIArbEDAK6xAwCvsQMA7xgCAIIVAACBbQAAgG0AAMDiAIDI4gCAhvg8AIcYAwDM4gCA0OIAgNTiAIDY4gCA42wHAAThAIDhaAEA3OIAgKiFAgCplQIAqpUCAKulAgCsvQIArdUCAK7RAgCv0QIA4OIAgOTiAIDo4gCA7OIAgPDiAID04gCA+OIAgPziAIC4dQEAuX0BALp1AQC7zQEAvNUBAL3dAQC+yQEAv8EBALC1AgCxvQIAsoECALOBAgC0VQEAtV0BALZVAQC3TQEA4bQGAADjAIDj9AYABOMAgIQYPQAI4wCADOMAgBDjAIAU4wCAGOMAgBzjAIAg4wCAJOMAgCjjAIDvWAYALOMAgIF9AACAcQAAMOMAgIIFAAA44wCAPOMAgO+AAQC+VDwA4ZABAEDjAIDjfAYAROMAgEjjAIBM4wCAhtg8AIf0PACjnT0AxOIAgDTjAIBQ4wCAVOMAgKbVPQCltT0AWOMAgKv5PQCq8T0AXOMAgGDjAICvGT4ArhE+AK3VPQCs1T0AZOMAgLOhPgBo4wCAbOMAgLatPgBw4wCAdOMAgLWxPgC6ST8Au0k/AHjjAIB84wCAvkk/AL9JPwC8ST8AvUk/AKhVPgCpZT4Aqm0+AKtlPgCsfT4ArWk+AK65PwCvuT8AgOMAgITjAICI4wCAjOMAgJDjAICU4wCAmOMAgJzjAIC4VT8AuV0/ALpVPwC7bT8AvHU/AL19PwC+dT8Av20/ALDJPwCxyT8Astk/ALPZPwC0yT8Atck/ALZ9PwC3cT8AghUAAKPhPwCAsQEAgbEBAKbtPwCg4wCAvtABAKXxPwCqCT4Aqwk+AITkAQCk4wCArgk+AK8JPgCsCT4ArQk+ALPdPACo4wCAhugAAIfMAQCs4wCAtpU8ALX1PACw4wCAu7k8ALqxPAC04wCAuOMAgL9ZPwC+UT8AvZU8ALyVPACoUT4AqVE+AKptPgCrYT4ArGE+AK1hPgCulQEAr40BAISgAQC84wCAwOMAgMTjAIDI4wCAzOMAgNDjAIDU4wCAuKkBALmpAQC6aQEAu2kBALx5AQC9eQEAvmkBAL9pAQCw/QEAsc0BALLFAQCzrQEAtLkBALW5AQC2rQEAt6UBALPlPQDY4wCA3OMAgODjAIDk4wCAtuE9ALXpPQDo4wCAuwkCALo5AgDs4wCA8OMAgL99AgC+fQIAvXkCALwRAgD04wCAo6E9APjjAID84wCApqU9AADkAIAE5ACApa09AKp9AgCrTQIACOQAgAzkAICuOQIArzkCAKxVAgCtPQIAgOkAAIHpAACCHQAAvsADAO/kAgAQ5ACAh1QDAIY8BADjEAEAGOQAgOH4AQAc5ACAIOQAgCTkAIAo5ACALOQAgDDkAIA05ACAOOQAgLORAwA85ACAtbkDALZ9AwBA5ACAROQAgEjkAIC6WQMAu1kDALxJAwC9SQMAvv0AAL/1AACoRQIAqVUCAKpVAgCrZQIArH0CAK2xAgCusQIAr7ECAIRsBQBM5ACAUOQAgFTkAIBY5ACAXOQAgL5wBQBg5ACAuF0BALltAQC6ZQEAuw0BALwZAQC9GQEAvg0BAL8FAQCw0QIAsdECALLRAgCz0QIAtHUBALV9AQC2dQEAt20BAOFAPwDjvAAA4wg+AOFsPgBk5ACAaOQAgGzkAIBw5ACAdOQAgHjkAIB85ACAgOQAgL5sBwDvVAAA75w+AIjkAICjnQIAgmkAAIFhAACAaQAAjOQAgKZxAgCltQIAkOQAgKtVAgCqVQIAhsgEAIfsBACv+QEArvEBAK1FAgCsRQIAqKUGAKmpBgCquQYAq7kGAKypBgCtqQYArtkGAK/ZBgCE5ACAlOQAgJjkAICc5ACAoOQAgKTkAICo5ACArOQAgLhxBwC5cQcAunUHALvdBwC8xQcAvc0HAL7FBwC//QcAsKkGALG1BgCytQYAs40GALSVBgC1UQcAtlEHALdRBwCzMQYAsOQAgLTkAIC45ACAvOQAgLYpBgC1IQYAwOQAgLtxBgC6bQYAxOQAgMjkAIC/lQcAvlEGAL1ZBgC8YQYAzOQAgKN1BgDQ5ACA1OQAgKZtBgDY5ACA3OQAgKVlBgCqKQYAqzUGAODkAIDk5ACArhUGAK/RBwCsJQYArR0GAIANAACBFQAAgh0AAOjkAIDs5ACA8OQAgITcAQD05ACAhoAAAIcgAQD45ACA/OQAgADlAIAE5QCACOUAgAzlAIAQ5QCA43QEABTlAIDhyAUAGOUAgBzlAIAg5QCAJOUAgCjlAIAs5QCAMOUAgDTlAIA45QCA77QEADzlAIBA5QCAqD0GAKlVBgCqVQYAq6kBAKy5AQCtuQEArqkBAK+pAQCErAEAROUAgEjlAIBM5QCAUOUAgFTlAIBY5QCAXOUAgLhtAQC5BQEAugEBALsBAQC8BQEAvQ0BAL4xAQC/MQEAsNkBALHZAQCybQEAs2UBALR9AQC1ZQEAtmUBALdVAQCBvQMAgL0DALPVBQCCGQAAtTkCAGDlAIC+VAMAtjECAGjlAIBs5QCAuxUCALoVAgC9uQIAvLECAL+pAgC+sQIAcOUAgKZpAgClYQIAhAAMAKONBQB05QCAhvgMAId8AwCv8QIArukCAK3hAgCs6QIAq00CAKpNAgB45QCAfOUAgIDlAICE5QCAiOUAgIzlAIDjIAEAkOUAgOGgAQCU5QCA70ACAJjlAICc5QCAoOUAgKTlAICo5QCArOUAgLDlAICz8QMAtOUAgBTkAIC45QCAvOUAgLbpAwC14QMAwOUAgLu1AwC6tQMAxOUAgMjlAIC/lQMAvpUDAL2lAwC8pQMAqCkCAKkpAgCqOQIAqzkCAKwpAgCtKQIArlkCAK9VAgCAzQEAgQkAAIIZAADM5QCA0OUAgL58DQCHtA0AhhwMALgxAgC5PQIAujUCALvpAgC8+QIAvfkCAL7pAgC/6QIAsDECALExAgCyMQIAszECALQRAgC1EQIAthECALcRAgDY5QCA3OUAgODlAIDk5QCA6OUAgOzlAIDw5QCA79QGAPTlAIDhVAYA+OUAgOOkAACsDBUA/OUAgADmAIAE5gCAo/ECAAjmAIAM5gCAEOYAgBTmAICm6QIApeECABjmAICrtQIAqrUCABzmAIAg5gCAr5UCAK6VAgCtpQIArKUCAKghDgCpIQ4AqkkOAKtZDgCsaQ4ArWkOAK6ZDgCvmQ4A1OUAgCTmAIAo5gCALOYAgDDmAIA05gCAOOYAgDzmAIC49Q4Auf0OALr1DgC7iQ4AvJ0OAL2FDgC+hQ4Av7UOALDpDgCx6Q4Asv0OALPxDgC01Q4Atd0OALbVDgC3zQ4As8EOAIIVAACBtQAAgLUAAEDmAIC26Q4AteEOAL4QAAC7LQ4Aui0OAIRkAwBE5gCAvxkOAL4RDgC9JQ4AvCkOAEjmAICjhQ4AhogAAIdsAwCmrQ4ATOYAgFDmAIClpQ4AqmkOAKtpDgBU5gCAWOYAgK5VDgCvXQ4ArG0OAK1hDgCziQ4AXOYAgGDmAIBk5gCAaOYAgLaBDgC1iQ4AbOYAgLuVDgC6jQ4AcOYAgHTmAIC/+Q4AvvEOAL2FDgC8hQ4AeOYAgHzmAICA5gCAhOYAgOMMDQCI5gCA4RgNAIzmAIDvrAwAkOYAgJTmAICY5gCAnOYAgKDmAICk5gCAqOYAgKgBDgCpAQ4AqgEOAKsBDgCsAQ4ArQEOAK4BDgCvPQ4AgN0AAIEJAACCGQAArOYAgLDmAICEPAEAvnQAALjmAIC4HQ4AuS0OALolDgC76QEAvPkBAL35AQC+6QEAv+kBALBJDgCxUQ4AslEOALNRDgC0NQ4AtT0OALY1DgC3LQ4Ao4kNALzmAICGrAQAhzwDAMDmAICmgQ0ApYkNAMTmAICrlQ0Aqo0NAMjmAIDM5gCAr/kNAK7xDQCthQ0ArIUNANDmAICznQIAhEgDAL5ABAC2VQMA1OYAgNjmAIC1sQIAunEDALt5AwDc5gCA4OYAgL4xAwC/MQMAvFEDAL1RAwCwkQMAsZkDALKhAwCzoQMAtNEDALXRAwC20QMAt9EDALj1AwC5+QMAus0DALvFAwC83QMAvcUDAL7NAwC/xQMA5OYAgOjmAIDs5gCA8OYAgIV8GQD05gCA+OYAgGTlAICoIQIAqTECAKoxAgCrBQIArB0CAK3xAwCu8QMAr/EDAPzmAIAA5wCABOcAgAjnAIDvUAAADOcAgBDnAIAU5wCA44QAABjnAIDh+AEAHOcAgIAVAACBGQAAggUAACDnAICjmQMAKOcAgIZoBACHYAUALOcAgKZRAgCltQMAMOcAgKt9AgCqdQIANOcAgDjnAICvNQIArjUCAK1VAgCsVQIAPOcAgEDnAIBE5wCASOcAgEznAIBQ5wCAVOcAgO/4AQC+bAQA4YAOAFjnAIDjFAEAXOcAgGDnAIBk5wCAaOcAgGznAIBw5wCAdOcAgLPdAQB45wCAtf0BALb1AQB85wCAgOcAgITnAIC6sQEAu4UBALydAQC9NQEAvj0BAL81AQCpBQYAqLkFAKsVBgCqHQYArT0GAKw9BgCvTQYArl0GACTnAICCHQAAgR0AAIAdAACI5wCAjOcAgJDnAICU5wCAuUEHALidBgC7QQcAukkHAL1FBwC8WQcAv0UHAL5FBwCxCQYAsD0GALOpBgCyAQYAtbkGALSxBgC3rQYAtrEGAKORBgCEjAIAhigAAIfAAwCY5wCAprkGAKWxBgCc5wCAq8kGAKr9BgCg5wCApOcAgK95BgCucQYArXkGAKzRBgCo5wCAs5kHAKznAICw5wCAtlEHALTnAIC45wCAtbEHALptBwC7dQcAvOcAgMDnAIC+WQcAv0UHALxtBwC9ZQcAxOcAgMjnAIDM5wCA0OcAgNTnAIDY5wCA3OcAgO+oBQDg5wCA4TQFAOTnAIDjdAUA6OcAgOznAIDw5wCA9OcAgKMdBgCCLQAAgRUAAIAdAAD45wCAptUGAKU1BgD85wCAq/EGAKrpBgAA6ACAhCgBAK/BBgCu3QYAreEGAKzpBgCoxQYAqdUGAKrVBgCr5QYArP0GAK0VBgCuHQYArxUGAL7sAQAI6ACAhggAAIcgAAAM6ACAEOgAgBToAIAY6ACAuH0GALkFBgC6DQYAuwUGALwBBgC9CQYAvjkGAL85BgCwbQYAsXUGALJ9BgCzdQYAtFkGALVFBgC2TQYAt0UGAKiRAgCpmQIAqqECAKuhAgCs0QIArd0CAK7VAgCvyQIAHOgAgCDoAIAk6ACAvyweACjoAIAs6ACAMOgAgDToAIC4VQMAuV0DALppAwC7ZQMAvGEDAL1hAwC+YQMAv2EDALC5AgCxjQIAsoUCALNtAwC0dQMAtX0DALZ1AwC3bQMAOOgAgDzoAICzIQIAQOgAgLVRAgCEiAMAROgAgLZVAgC05gCAvigcALtBAgC6dQIAvbEDALxZAgC/sQMAvrkDAKNpAgBI6ACATOgAgFDoAIBU6ACAph0CAKUZAgBY6ACAqwkCAKo9AgBc6ACAYOgAgK/5AwCu8QMArfkDAKwRAgCopQIAqbUCAKq9AgCrtQIArK0CAK01AQCuPQEArzUBAL4sHABk6ACAaOgAgGzoAIBw6ACAeOgAgIdoHQCGHB0AuIUBALmNAQC6hQEAu50BALyNAQC9vQEAvrUBAL95AACwUQEAsVEBALJRAQCzUQEAtPEBALXxAQC29QEAt+UBAO/YAACCtQAAgaUAAIClAAB86ACAgOgAgIToAIDvxAYAiOgAgOH0BgCM6ACA4zgBAOPMAACQ6ACA4SgBAJToAICY6ACAtuUBALV1AgCEQBwAs2UCAJzoAICg6ACApOgAgL9lAQC+ZQEAvdUBALzVAQC7xQEAusUBAKjoAICs6ACAo7UdAHToAICw6ACAtOgAgLjoAICmNR4ApaUdALzoAICrFR4AqhUeAMDoAIDE6ACAr7UeAK61HgCtBR4ArAUeAMjoAIDM6ACA0OgAgNToAICADQAAgTUAAII9AADY6ACA3OgAgODoAIC1BQAAcRoAgOG0AgCs2AIAtQUAAHUaAICotR8AqRUfAKodHwCrFR8ArDEfAK09HwCuLR8AryEfAOG0AgCs2AIAtQUAAHkaAIDhtAIArNgCALUFAAB9GgCAuNEAALnZAAC64QAAu+EAALyRAAC9kQAAvpEAAL+RAACwIR8AsTEfALIxHwCzMR8AtAkfALUJHwC28QAAt/EAAOG0AgCs3AIA71QdALUdAACBGgCA4bwCAKzQAgC1KQAAoyUBAKKRAwChFR0AoA0dAOGAHgCFGgCA47wdAOHEAgCz1R4AtQkAAKzYAgCJGgCA4bwCALb9HgC1+R4ArOACALu1HgC6pR4AtQUAAI0aAIC/jR4Avo0eAL2lHgC8pR4AoxUeAOG8AgCs0AIAtREAAI9pJQCmPR4ApTkeAJEaAICrdR4AqmUeAOG0AgCseAEAr00eAK5NHgCtZR4ArGUeAJvdFACa5RUAmQEXAJjhEACfcR8AnnkZAJ35GQCcARsAk+UtAJIRLwCRbSkAkG0pAJf5EQCW8REAlYUsAJSZLQC1JQAA4ZQCAILxJgCDjSoAhJUqAIXhLACGHS4Ah3kuAKy0AgCVGgCAilUvAIspEgCMORIAjRkTAI7xFACPHRYAtQUAAJkaAICSVRcAk5EYAJRxGgCV+RoAlvkcAJd9HgCC4AMAkwsAgJpVHgCb2QAAnHUCAIMMAICzDACAuIkKAKwBBACthQYAroEGAMwQAgDMfAMAtgwAgJ0aAIDCDACAxQwAgMgMAIAACwCAgaUyArwMAIAE6ACAmpUGAJtVIwK8kQYAvbEAAL6RBgC/rQYAuOkGALmVBgC6kQYAoRoAgLTBBgC1zQYAts0GALfdBgCw/QYAseUGALKdAACz5QYAhVTHA6UaAICH/AAAuAEKAK0aAIDpDACAsRoAgIyRcwCNpAEAzPACAL4NAIDBDQCAiRQAALgZCgCLDAAAGg4AgFMOAIC5DACAvwwAgBkKAICRwAEAywwAgLhtCgDODACA1AwAgNoMAIDdDACA4AwAgLUaAIAoDQCA5gwAgLkaAIDhpB4AKw0AgONUHgCvIXMAzCgCAO8MAIDsDACA8gwAgPUMAID4DACAzIACAJS4AwD7DACAkhQCAO9gHgCQAAIA/gwAgAoNAIC48QoADQ0AgJ8LAIAQDQCAiSkLABMNAICpGgCAvDABAL/EAQC+7AEAFg0AgMzsAgC4xQoAukQBAK0JAIAZDQCAygYAgN8GAIDyBgCAHA0AgPoGAIAfDQCACgcAgC0HAIAYBwCA9gcAgC8HAICpDQCAOgcAgK8NAIBKBwCAtXkAAGcHAIC3cSoCcgcAgLFhAAB0BwCAsw0pAo0HAIC96QAAoAcAgPoHAICtBwCAuRkrAsMHAIC7WRQCHwgAgFoJAIA8CACALw4AgFsIAIA5AACAgQgAgHEAAIDHCACAKwAAgCAJAIA9AACAXAkAgEMAAIBeCQCARQgAgGoIAIBJAACAAAgAgFMAAIB5CQCAWQAAgCINAIBfAACAuw0iAtANAIDMFDYCHwAAgL9lAAC+EQAAvW0AAOUHAICAaQEAgXUBAIJxAQCD3SEChGkHAIWBBwCGgQcAh3EBAIihAQCJrQEAirUHAIuNBwCMlQcAjaUBAE8AAICPpQEAkOEBAJHtBwCSsSECk/0HAJSNBwCVUQYAlvEBAJfZAQCY0QEAmXUGAJp9BgCb1QEAnGkGAJ2ZFAKeUQYAn1EGAKB1FAKhuQYAokkBAKOFLQKkIQEApS0BAKZ1FAKntQYAqKERAqlRFAKqlQYAsSEAgMy8NQLNPDUCbQAAgKoDAICsAwCArwMAgL0hAIDEIQCA2yEAgOIhAIDJAACADwAAgLihBgC6BgCAtwYAgMwAAIDOIQCAtQMAgN0FAIAYBgCAugUCALvVAgC46QUAuf0FAL7JAgC/5RcCvA0CAL0BAgCy4QUAs+EFALCNBQCxnQUAtuUFALfpBQC09QUAte0FAKo9BQCrwQUAqD0FAKk1BQCuzQUAr/UFAKzNBQCtxQUAoj0FAKMFBQCg1QIAoTkFAKYdBQCnBQUApB0FAKUVBQC/BgCAm8EFAD4GAIBVBgCAnt0FAJ8xBACcUQIAndUFAHIGAICJBgCApAMAgDAiAIDbAACAoAMAgI8HAIDuBwCA8gcAgJAJAIACCACABggAgJYLAICUCQCArwoAgG8HAICLBwCAlwcAgKIHAICqBwCAqgkAgPsOAIASDwCAHw8AgMwEMwLNsDACzCAzAs3gMALMEDACzGgwAsxYMALNjDACzGgxAs0UMQLM1DECzRQ2AsxwIALN0CcCzDA2AswkMQLMDDwCzWg/AswYPwLNND8CzBg9As3AMgLMRDwCzBg5Asw4MgLNqDICzIgyAs34MwLMfDMCzUAzAswoMwLNCDMCzMghAs0kJgLMrCYCzEA4AsyYJQLNyDoCzBwkAs0QJALMhDsCzag7AsysJQLNvDoCzKw4Asz4JwLM4DgCzXQ4AicPAID2BgCAYQ0AgIgNAIDNICoCzBwrAqoGAIAsIgCAzKQgAs2gJwLMOCYCygQAgMw4OgLNPDsCzBA5As1gPgLMoAMAvj0NAL3tLALWBACAu1UjAgQJAIC5PSICzwYAgNkHAIClBACAoA0AgLIEAIBvBQCA9AYAgL4EAIB1BQCAr70MAK6ZLgKtpQwAwgUAgKvFIgIDBgCAxAQAgCMGAIDQBACAyAUAgCkGAIBdBgCAowEYAqAEAIAaBwCAHQcAgJ9dDACeUQwAnUUMACcHAICbWSECrwcAgLEHAIC0BwCAuAcAgCoHAIDOBwCA0AcAgJMtJgLTBwCAbAgAgG8IAICPBQwAjnEMAI1lDAB5CACAi0UgAmAJAICJNS8CYwkAgGcJAIB8CACAcAkAgHMJAIC9AwCAACIAgIFdDACAYQwAgAABAIEYAACCAAQABCIAgIQQBwCFFAYAhuQIAIc8AgCILAUAiaQFAIoAeAAIIgCAjCQAAAwiAIAUIgCAECIAgLgRAACRxHsAkkh6AJNMeQAcIgCAzOgCAJbwCQC4OQAAkMAJACQiAICS8AkAzPgCAJS0CQC4DQAAKCIAgMwcAgC4BQAANCIAgMzkAgC4HQAAOCIAgDwiAIBDIgCAWiIAgKiMCACp5HsAYSIAgKvUBgDM5AIAuA0AAGsiAIDMlAIAbyIAgLGAewC4CQAAuBUAAMz8AgC15AgAcyIAgMzYAgB3IgCAuAUAALqcBQC7XAUAvAB8AL30fwC++H0Av/xyAIAJOgKBDToCggE6AoMFOgKEGToChR06AoYROgKHFToCiCk6AoktOgKKIToCiyU6Aow5OgKNPToCjjE6Ao81OgLM8AIAkekPAIMiAIDMzAIAuBkAAH8iAIDM3AIAl+UPALg1AAC4DQAAjyIAgMz8AgC4BQAAkyIAgMwwAgCXIgCAzNACAJsiAICfIgCAzIgCAKQtDwClVQ8Apl0PAMyUAgCoqToCqa06ArjVAACjIgCAuDUAAKciAIDMUAMAr7U6AswsAwCrIgCAzBgDALMFDwC0HQ8AzyIAgLYJDwC3CQ8Avmh9ALhtAAC4RQAAzDgDALwpDwDTIgCAviUPAMxYAwCH5Q4AzOg6Ari9AQC4yQEAzPA1As2kMwLMgCICzXwlAs2UNgLMBCkCzew7AsxkOgK45QEAuMEBAInVDgCI1Q4Al7EOALgNAACvIgCAsyIAgLciAIC4GQAAuyIAgNciAICfaTsC2yIAgL8iAIC4PQAAzMQCAMz4AgDDIgCAxyIAgLjZAADLIgCA3yIAgLjRAADjIgCAuPEAAMzMMwLnIgCAuMkAAMzoMwLrIgCAuNUAAKllAAC4yQAAzNgCAKq5BgC3TQ0Atk0NALU1DgC0NQ4AuFUAABUjAICxGQ8AsCkOAL/1AwC+UQ0AvVkNALw1DAC7XQ0Aul0NALldDQC4XQ0AgL0KAIHFCgCCFQQAg8kKAMx8BQCF3QoAhtUKAIfNCgDMVAUAifEKAIq5CACLDQgAjBEIAI0VCACOtScCj+UKAJBpCACRbQgAknEIAJNtJALMEAUAlR0IAJaFCgDMEAUAzDQFAJk9CACaiQoAmw0IAJwRCACdFQgAzEgFAMwQAgCgZQoAoW0KAKJlCgC4BQcApLEEAMzoAgCmsQQAuA0HAKiBBADM/AIAqpkIAKtdCgCsuQgArakEALglBwCvNQgAsNEIALHxBADMwAIAs40IALQpKAK1IQoAtiEKALchCgC4IQsAuSUIALhBBwC7KQsAvA0dAr3dDwC+MQsAvzELAIDdCgAZIwCAnKF9ANADAIDpAwCAhRkJAIaZCQCHlQkAiOEJAIklJQICBACAGwQAgC4EAIBBBACAVAQAgGcEAICQrQoAkUkFAJJtBQCTYQUAlGEFAJVtBQCWZQUAlxEFAJg1BQCZPQUAmjUFAJsNBQCcFQUAnR0FAJ4VBQCfCQUAoKkJAKH9BQCi9QUAowEFAKQFBQClDQUApgUFAKc9BQCoBQUAqQ0FAKoFBQCrGQUArIkJAK2pBQCutQkAr/0JALABCQCxfQUAsnUFALMBBQC0aQkAtQEFALYFBQC3PQUAuAUFALnhJQK6AQUAuwEFALzRJQK9PQkAvnkJAL9dCQCDMAUAoXgHAJ+xfgB6BACApHgHAKVIBwCNBACA8wQAgIt8BADdAACAEwEAgIhIBAAcAQCAIAEAgCQBAIAoAQCALAEAgDABAICyAAcAs/wHADQBAIDhAACAtuQHALfwBwDmAACA6wAAgLrgBwC7nAcAvIgHAL2oBwDwAACAs8F+AKPMBAD1AACA+gAAgIMABAD/AACAhXQEAKUgBAAEAQCAiEwEAAkBAIAOAQCAFwEAgK8tBwCNxAcArSEHAKwpBwDNAwCA8AQAgI8FAICwZQcA4gUAgB0GAIBDBgCAWgYAgHcGAICOBgCA0wMAgOwDAIAFBACAHgQAgDEEAIC8fAQAgt0rAoPlKwKA/QoAgfkrAoaZCQCHmQkAhOEKAIXhCgCKiQkAi4kJAIiJCQCJiQkAjoUJAEQEAICM4QgAjY0JAJK5KwKTQScCkJkrApHFCwCWyQsAl3UnApTFDQCV0SQCmskLAJvZKgKYyQsAmXkHAFcEAIBqBACAnP0LAH0EAICQBACA9gQAgKABAICkAQCAqAEAgONkAgCsAQCAsAEAgLQBAIDvvAcAqBEJALgBAIC8AQCAwAEAgMQBAIDIAQCAzAEAgNABAIDUAQCA2AEAgNwBAIDgAQCA5AEAgOgBAIDsAQCA8AEAgPQBAID4AQCA/AEAgAACAICCnH4ABAIAgKD1VAKh2VQCoulUAqP1dQCk7XUApZ12AKaVdgCnvXYAqIV2AKkpfQCqOX0AqwV9AKwdfQCtBX0Arg19AK8FfQCwfX0AsUl+ALJRfgCzUX4AtHV+ALV9fgC2aX4At2l+ALhZfgC5WX4Auil+ALspfgC8IX4AvSF+AL4ZfgC/GX4AkgcAgDkJAIDXBwCATSIAgLQNAAC1NQAAtj0AAKIGAICsBgCArwYAgAMjAIAJIwCAvSV4ALy1WALGMQCALjoAgJkqAIC9KgCAySoAgNkqAIDhKgCA7SoAgPUqAID9KgCACSsAgF0rAIB1KwCAhSsAgJUrAIClKwCAtSsAgNUrAICAeX8AgYF/AIKBfwCDnX8AhI1/AIWxfwCGsX8Ah7F/AIjhfwCJ4X8AiuF/AIv9fwCM5X8Aje1/AI7lfwCP3X8AkKV/AJGtfwCSpX8Ak71/AJSlfwCVrX8Alm1+AJctfgCYFX4AmRl+AJrpfgCb6X4AnPl+AJ35fgCe6X4An+V+AKAdfgChJX4AoiV+AKM9fgCkJX4ApS1+AKYlfgCnXX4AqGV+AKltfgCqZX4Aq31+AKxlfgCtbX4ArmV+AK9dfgCwJX4AsS1+ALIlfgCzPX4AtCV+ALUpfgC2WXcAt9V1ALj9eQC56XUAuvl1ALvZeQC86XUAvdV1AL7RdQC/2XUAgDF2AIE9dgCCSXYAg0V2AIRBdgCFTXYAhvl0AId9dgCIoQIAiU12AIpZdgCLuXoAjEl2AI2degCOsQIAjx16AJCRVgKRKXYAkoF2AJPNdgCU2XYAlel2AJbJdgCX0VkCmKF2AJllWgKa8XYAm01aApzRdgCdYXoAnoFWAp/VdgCgBQIAoY1aAqI1VwKjCXYApCF2AKUtdgCmiVoCp5laAqi5WgKpdXYAql13ANkrAIDdKwCAESwAgDksAIBJLACAUSwAgFUsAIBhLACAfSwAgIEsAICZLACAnSwAgKUsAIC1LACAUS0AgGUtAIClLQCAuS0AgMEtAIDFLQCA1S0AgJl1CgD4LQCAJC4AgDAuAIBQLgCAXC4AgGAuAIBkLgCAgux6AINkewB8LgCAgC4AgIZ0ewCHvHsArC4AgLguAIDALgCAyC4AgNguAIDnLgCA7y4AgBsvAIAfLwCAJy8AgJJwfAArLwCAMy8AgJFMfAA7LwCASy8AgGcvAIDfLwCA8y8AgKvMfACo5HwAqdx8APcvAIB3MACAezAAgI8wAICiwHwAkzAAgJswAICjMACAzEBJAs0ASQLM/EoCzWhLAqswAIC3MACA7TAAgP0wAIARMQCAjjEAgJoxAICqMQCAsqx8ALNAfAC2MQCAwjEAgMoxAIDOMQCAtGx8ALUEfACAlQcAgZ0HAIKVBwCDqQcAhLkHAIW5BwCG2QcAh9kHAIjpBwCJ6QcAivkHAIv5BwCM6QcAjekHAI7RBwCP0QcAkLEHAJGxBwCSSQEAk0kBAJRZAQCVWQEAlkkBAJdJAQCYeQEAmXkBAJpJAQCbSQEAnFkBAJ1ZAQCeSQEAn0kBAKC5AQChuQEAoskBAKPJAQCk2QEApdkBAKbJAQCnyQEAqPkBAKn5AQCqyQEAq8kBAKzZAQCt2QEArskBAK/JAQCwuQEAsbkBALJJAQCzSQEAtFkBALVZAQC2SQEAt0kBALh5AQC5eQEAukkBALtJAQC8WQEAvVkBAL5JAQC/SQEA0jEAgNYxAIDaMQCAkjIAgNoyAIDmMgCA6jIAgO4yAIDyMgCA+jIAgP4yAIASMwCALjMAgDYzAIB2MwCAejMAgIIzAICGMwCAjjMAgJIzAIC2MwCAujMAgNYzAIDaMwCA3jMAgOIzAID2MwCAGjQAgB40AIAiNACARjQAgIY0AICKNACAqjQAgLo0AIDCNACA4jQAgAY1AIBKNQCAUjUAgGY1AIByNQCAejUAgII1AICGNQCAijUAgKI1AICmNQCAwjUAgMo1AIDSNQCA1jUAgOI1AIDqNQCA7jUAgPI1AID6NQCA/jUAgJ42AICyNgCAnoUMAOY2AIDqNgCA8jYAgIC5AwCBuQMAgskDAIPJAwCE2QMAhdkDAIbJAwCHyQMAiPkDAIn5AwCKyQMAi8kDAIzZAwCN2QMAjs0DAI/FAwCQvQMAkQEMAJJJDgCTSQ4AlFkOAJVZDgCWSQ4Al0kOAJh5DgCZeQ4AmkkOAJtJDgCcWQ4AnVkOAJ5JDgCfSQ4AoLkOAKG5DgCiyQ4Ao8kOAKTZDgCl2Q4ApskOAKfJDgCo+Q4AqfkOAKrJDgCryQ4ArNkOAK3ZDgCuyQ4Ar8kOALC5DgCxuQ4AskkOALNJDgC0WQ4AtVkOALZJDgC3SQ4AuHkOALl5DgC6SQ4Au0kOALxZDgC9WQ4AvkkOAL9JDgC8eQQAvXkEAL6JBAC/nQQAuHUEALl9BAC6aQQAu2kEALRxBAC1cQQAtnEEALdxBACwcQQAsXEEALJxBACzcQQArGkEAK1pBACucQQAr3EEAKhBBACpQQQAqkEEAKtBBACknQUApWEEAKZhBACnYQQAoJ0FAKGFBQCijQUAo4UFAJxdBQCdZQUAnm0FAJ9lBQCYXQUAmUUFAJpNBQCbRQUAlB0FAJVlBQCWbQUAl2UFAJAdBQCRBQUAkg0FAJMFBQCMMQcAjTEHAI4xBwCPMQcAiDEHAIkxBwCKMQcAizEHAIQxBwCFMQcAhjEHAIcxBwCAMQcAgTEHAIIxBwCDMQcAJjcAgC43AIA2NwCAcjcAgHY3AIB+NwCAgjcAgIY3AICyNwCAtjcAgL43AIDSNwCA1jcAgPI3AID6NwCA/jcAgCI4AIBCOACAUjgAgFY4AIBeOACAijgAgI44AICeOACAwjgAgM44AIDeOACA9jgAgP44AIACOQCABjkAgAo5AIAWOQCAGjkAgCI5AIA+OQCAQjkAgEY5AIBeOQCAYjkAgGo5AIB+OQCAgjkAgIY5AICOOQCAkjkAgJY5AICaOQCAnjkAgK45AIDGOQCAyjkAgNY5AIDaOQCA3jkAgOI5AIDqOQCA7jkAgPI5AID+OQCABjoAgA46AIASOgCAGjoAgIC5AQCBuQEAgskBAIPJAQCE2QEAhdkBAIbJAQCHyQEAiPkBAIn5AQCKyQEAi8kBAIzZAQCN2QEAjskBAI/JAQCQuQEAkbkBAJIRAACTEQAAlDEAAJUxAAAeOgCAIjoAgCo6AIAyOgCAPSMAgGUsAIBpLACAJSQAgIJgAgCZ4QAAgIAAAIGYAACC5AYAg4gEAITUGwCFlBoAhhgfALMjAICIxB4AiQAQAIqoEwCLrBEAjAAoAI20KwCOuCoAj7wpAOOwAgC+dAIAnlUAAOMUAgCCbAIAtyMAgJkNAAC+RAIAnjUAAIJoAgCZBQAAuyMAgO/MAgC+oAAAgoQAAO/YAgDj7AEA4/QBAL8jAIDjCAMAwyMAgOM4AwDHIwCA44gDAMsjAIDv4AMAzyMAgO+IAwDvPAEA78QDANMjAIDv1AMA4+wDAB43AIDXIwCA4+wDAOPsAwDj5AMA2yMAgOO4AwDvXAMA70wDAN8jAIDvSAMA7/QDAOMjAIDnIwCA7zQDAON8AwDjlAQA6yMAgO8jAIDzIwCA47QEAPcjAID7IwCA/yMAgO9sBAADJACAByQAgO9YBADvUAQACyQAgBYkAIAaJACAvQAAgOP4BADCAACAMSQAgB4kAIBtKQCA45wEAAglAIBrJQCAriUAgO9QBADaJQCABCYAgO88BAApJgCAgAlLAoYcdwC+RAIAgnQCAL5QAgA+JgCAmREBAJkNAQCPrAIAggQCAI1oAQCewQIAi3wBAJ49AQCeKQEAvggCAJfQAgCZXQEAldACAJ5VAQCT0AIAmXUBAJHQAgC+SAIAn7gCAEYmAICdtAIAnk0BAJuwAgCZXQEAmbQCAL6EAgCeqQEApowCAGImAICkgAIAmakBAGomAIChSAIAgqwCAK/kAgCCtAIAglwCAJnlAQC+CAIAgnwCAIIABACopAIAnvkBAL5wAgC1HAQAnoUBAL6oBQCyhAIAtrECAL6sBQC4KQkAuYkCALqZAgCCjAUAu+gEAIKcBQByJgCAuPAEAJ5ZBgCZbQYAnmEGAJl5BgC+fAIAnmEGAIJcAgC+QAIAmVkGAJ5dBgCCYAIAmaUGAL58AgCevQYAghwCAL4UAgCZzQYAvkwCAIJMAgCa3QYAnt0GAJ/FBgDjDAIAgrwCAJn5BgC+ZAIA7/QCAJrxBgCe6QYAn+kGAJ7ZBgCf1QYA4wQCAJklBgCaIQYAgngCAJk9BgDjBAIAgkQCAJolBgC+cAIA75wCAJ4FBgCfFQYA7+gCAJp1BgCZBQYAggQCAL5wAgDjcAIAnnUGAJ8NBgCeAQYAvnwCAOM0AgCZDQYAvmACAIJsAgDv8AIAmTUGAIKQAwDv2AIAniEGAIQmAICbxQcAmeUHAL58AgCe7QcAn8UHAOPsAwCdUAIAnNEHAIJsAgDv1AIAmc0HAIJ8AgC+cAIAmd0HAJ7dBwC+AAIA42gCAJ6tBwCZuQcA42gCAIJ8AgDjDAIAvkgCAJmpBwCCWAIA78QCAJ6ZBwC+bAIA77gCAIKUAgCejQcA77gCALsAAACZeQcAuQwAAJ5xBwC/AAAAglQCAL0EAAC+aAIAs9QDAJmxBgCxcAMAggQCALc4AACeoQYAtTQAAL5wAgCrWAMAnqEGAO9cAgCZqQYArxADAIJQAgCtFAMAmYUHAJlpBgC+WAIAnmEGAL58AgCCaAIApqACAOOQAgCZaQYA43wBAOOYAQDjrAEA49ABAOPoAQC+dAIAno0FAOMwAgDvzAIAgmgCAJnRBQDvlAIA71QBAO9wAQDvJAEA7ygBAL58AgCevQUA4wwCAIJ4AgCZrQIAvnQCAJ6lAgDjNAIAgmACAJkZAAC+YAIA7/wCAJ4NAACClAIA79QCAJAmAIDj/AIAmQkAAL5gAgCYJgCAnh0AAOMAAgCwJSoAglgCAJkNAADv9AIAvmQCAK4mAIDvwAIAnhkAAIIYAgCCOAIA43ACAJkRAACaNQAAmSkBAL50AgDsJgCAnyUAAJ4JAACZ6QEAvrQDAL7gAwCazQEA79gCAJ4RAQCC2AMA/SYAgIHEAgDjsAMAHycAgOP8AwC+/AIAhMQCAIIoAgCGEAIAKicAgIg8AgCeIQAAnw0AAHonAIDvKAMAj3QCAO8sAwCCiAIAmXUAAJoVAACSxAMAldADAJktAACa0QAAjicAgL7IAgCYaAMAm3wDAILEAwCeQQAAnykAALAnAICChAIA45ACAL4IAwC+JwCABigAgJ8ZAACe7QAA49ACAJlxAACaFQAAvhQCAO8wAgCZIQAA71gCABQoAICv7AMAggQCALFMHACwABwAniUAALJMHACeXQAAn2EAAOO8AgCZIQAA+QAAAHEpAIDvlAIAdSkAgL08HACCgB0Av8EfAHkpAIDjtB0AvnQCAJ71HwDj8B0AmQUAAH0pAIC+fAIAngkAAIJgAgCZDQAAiSkAgL5gAgDvzAIAnh0AAOklAIDv3AIA42gCAPkYAIDjPB0AIRoAgP0YAIABGQCAJRoAgCkaAIAtGgCAMRoAgDUaAIA5GgCA76QCAD0aAIDvJB0AQRoAgLHFAAAFGQCAs8UAALLdAAC1yQAAtMEAALcdAAC2wQAAuWUAALhlAAC7zQAAus0AAL3dAAC83QAAv8UAAL7JAAAJGQCADRkAgE0ZAIBhGQCAERkAgBUZAIDvFHgD7wBIA+HYTQPhOKgC41x5A+O0UAOtGQCAsRkAgLUZAIC5GQCAgMkBAIHVAQCC3QEAg20CAITdAQCFcQIAhgEEAIcdBQCIJQUAiTUFAIo9BQCLbQUAjHUFAI1lBQCObQUAj80BAJC1AQCRvQEAkrUBAJNNAwCUVQMAlV0DAJZVAwCXTQMAmHUDAJl9AwCadQMAm00DAJxVAwCdWQMAnkkDAJ9JAwCguQMAobkDAKLBAwCj3QMApMUDAKXNAwCmxQMAp/0DAKjJAwCpyQMAqtEDAKvRAwCsMQMArTEDAK4xAwCvMQMAsFEDALFRAwCyUQMAs1EDALRxAwC1cQMAtnEDALdxAwC4UQMAuVEDALpRAwC7UQMAvDEDAL0xAwC+MQMAvzEDAL0ZAIDBGQCAxRkAgMkZAIDNGQCA0RkAgNUZAIDZGQCA3RkAgOEZAIDwIAIA5RkAgOkZAIDtGQCA8RkAgPUZAICc9TYAnf02APkZAICRkAIA/RkAgKkZAIBFGQCASRkAgEUaAIC6adgASRoAgE0aAIC4sTYAubE2AFEaAIBVGgCAWRoAgF0aAIBRGQCAYRoAgGUaAIBVGQCAWRkAgF0ZAIBlGQCAaRkAgG0ZAIBxGQCAdRkAgHkZAIB9GQCAgRkAgIUZAICJGQCAjRkAgJEZAICVGQCAglgCAJkZAIBpGgCA8FgCAG0aAICdGQCAoRkAgKUZAIABGgCABRoAgJF0AwDhtDsCCRoAgOPYIgINGgCAERoAgBUaAIAZGgCAHRoAgKUqAIBVLQCAqSoAgMEqAICtKgCAljMAgO/IPwK1KgCA4ZTzAuGY0gLjlPcC4xDGAuGUtgLhkJ0C44SiAuMIhwIZGQCAHRkAgO+4swLvOIsCnSoAgOAtAIDvIJcC7+DgAoLkAgBpLQCACAIAgLrF2QAOAgCAFAIAgBoCAIAgAgCAJgIAgCwCAIAyAgCAOAIAgD4CAIBEAgCASgIAgFACAIDhgHgC8OQGAOMUagKCgAgA4aAPAuEIEwLjhA4C4xgeAlYCAIA0AwCA7zQ7Au8wHwI6AwCAQAMAgO8MEgJGAwCAJRkAgCkZAIBMAwCAUgMAgC0ZAIAxGQCAWAMAgF4DAIB2AwCAggMAgIgDAICOAwCAlAMAgJoDAIB8AwCAZAMAgDUZAIA5GQCAbQMAgFwCAIA9GQCAQRkAgHQCAIBoAgCAvAIAgHoCAICYAgCAYgIAgJICAIBuAgCApAIAgNQCAICAUQYAgV0GAIJVBgCDaQYAhHkGAIV5BgCGaQYAh2kGAIhZBgCJoQcAiqUHAIu9BwCMpQcAja0HAI6lBwDyAgCA7AIAgOACAICSCRQAkxUUAJTxBwCV8QcAlvEHAJfxBwCY0QcAmdEHAJo5FACb0QcAnIEHAJ2BBwCefQcAnx0UAJktAQCYLQEAmz0BAJo9AQCdLQEAnC0BACEZAICeVQEAkd0GAJDRBgCTJQEAkiUBAJUtAQCULQEAlx0BAJYdAQCJ8QYAiOkGAIvxBgCK+QYAjbEGAIzpBgCPqQYAjrkGAIHxBgCA7QYAg/EGAIL5BgCF0QYAhOkGAIfRBgCG2QYAua0DALitAwC7vQMAur0DAL2tAwC8rQMAv90DAL7dAwCxrQMAsK0DALO9AwCyvQMAta0DALStAwC3nQMAtp0DAKm5AQCosQEAq3UBAKqxAQCtFQEArBUBAK/dAwCu3QMAobkBAKCpAQCjiQEAorEBAKWZAQCkkQEAp4kBAKaRAQAuAwCAwgIAgM4CAIDmAgCA2gIAgAQDAICwAgCA+AIAgCIDAIAKAwCAngIAgIACAIC2AgCAyAIAgP4CAICGAgCAKAMAgKoCAIAQAwCAjAIAgBYDAIAcAwCACS0AgOsuAIDKNACAhAcAgAYFAIAVBQCAJAUAgDMFAIBCBQCASwUAgPAsOABUBQCAXQUAgGYFAICSBQCA40huA5sFAIDhTG4DpAUAgO/0AQOnBQCAqgUAgK0FAIBGOgCApkwAgNZVAIA2aACAZnEAgJZ6AID2jACAVp8AgIaoAIDtugCAJMQAgFTNAICE1gCAtN8AgDG7AIA6rgCABqUAgPkqAICJKwCAoSoAgOUqAIBBMQCAATEAgE40AIDVLACABjMAgIo3AIBiNACAHSwAgJI0AICeMwCAEjgAgFkrAICFLACA+jEAgCY5AIAdKwCArSsAgJ4xAIC8LgCAySwAgFksAIA4LgCALC4AgJGgBgDuMwCAGSsAgJ43AIB1LACAzS0AgLAFAIDh1D8D4VgaA+PcLwPjUA4D4RTyA+FA0wPjQOoD40DDA7MFAIC2BQCA73jrA+9c8gO5BQCA5QUAgO9E3gPvmCUD4bSLA+E8lwPjfKID45iLA+EwQQDhUKwD4xx/AOOIRgDoBQCA6wUAgO84ewDv4EEA7gUAgPEFAIDvzIoD7yCHA4DBGACB3RgAgikLAIMpCwCE6Q4AhekOAIYZDwCH8RgAiCUPAIntGgCK5RsAiyEdAIw5HQCN5RsAjmkQAI/VGgCQhRsAkU0PAJJFDwCTXQ8AlEUPAJVNDwCWRQ8Al30PAJhFDwCZTQ8AmkUPAJtpGwCcQQ8AnUEPAJ5BDwCfQQ8AoMEPAKHBDwCiwQ8Ao8EPAKS5CwCluQsApqkLAKfNDwCo9Q8Aqf0PAKr1DwCrzQ8ArNkPAK3ZDwCuyQ8Ar8kPALC5DwCxuQ8AsmkPALNpDwC0YQ8AtWEPALY5DwC3OQ8AuBEPALkRDwC66QEAu+kBALz5AQC9+QEAvukBAL/pAQD0BQCA9wUAgPoFAID9BQCAAAYAgCAGAIDhBACAgAUAgNMFAIAOBgCANAYAgEsGAIBoBgCAfwYAgJYGAIDdAwCA9gMAgA8EAIASBwCAQQgAgD4IAIA/BwCAOSQAgHIkAICjJACAyCQAgLkmAIDEJgCAyCYAgMwmAIDQJgCALygAgG4oAICWKACAmigAgL8oAIDHKACA4ygAgPUoAID5KACA/SgAgLrp0wAVKQCAMCkAgEspAIA9JACASiQAgFckAIBkJACAdiQAgIMkAICVJACApyQAgLckAIDMJACA1iQAgOQkAIDuJACA+yQAgAwlAIAWJQCAbyUAgHYlAIAkJQCAgBkDAIEZAwCCKQMAgykDAIQ5AwCFOQMAhikDAIcpAwCIGQMAiRkDAIppAwCLaQMAjHkDAI15AwCOaQMAj2kDAJAZAwCRGQMAkgEEAJMtAwCUNQMAlVUGAJZdBgCXVQYAmG0GAJl1BgCafQYAm3UGAJxtBgCdNQYAnj0GAJ81BgCgzQYAodUGAKLdBgCj1QYApPkDAKX5AwCm6QMAp+kDAKjZAwCp+QYAqikGAKspBgCsOQYArTkGAK7FAwCvPQMAsEUDALFNAwCyRQMAs10DALRFAwC1TQMAtkUDALd9AwC4SQMAuUkDALpZAwC7fQYAvGUGAL1tBgC+ZQYAgCUAgKkVDwCoAQ8Aq00PAKpNDwCtRQ8ArEUPAK+hDQCuqQ0AoXULAKBhCwCj7QsAoqkLAKXlCwCk5QsApzkPAKZZCAC5oQ0AuJkNALuhDQC6qQ0AvaENALy5DQAxJQCAvqkNALGhDQCw2Q0As6ENALKpDQC1oQ0AtLkNALehDQC2qQ0AOCUAgEglAIBbJQCAsiUAgLwlAICRJQCAoSUAgNAlAICB7Q0AgO0NAIP9DQCC/Q0Ahe0NAITtDQCH2Q0AhiEYAJlNDQCYTQ0Am1ENAJpdDQCdeQ0AnHUNAJ9pDQCecQ0AkYkNAJCBDQCTmQ0AkoENAJWJDQCUgQ0Al30NAJaBDQDgJACAICUAgI0lAIDMJQCA3iUAgAgmAIAtJgCAQiYAgPAlAID6JQCADCYAgBkmAIAxJgCATiYAgFgmAIB2JgCASiYAgGYmAIBuJgCAgCYAgIwmAICUJgCAoyYAgN4mAICcJgCAsiYAgKcmAIC9JgCA1CYAgOImAIABJwCAEScAgBsnAIBPJwCAkicAgOcnAIBPKQCAXSkAgGEpAIBlKQCA8CYAgC4nAIA+JwCASCcAgCMnAIBTJwCAYycAgH4nAIBwJwCAlicAgMInAIDJJwCApicAgNMnAIDdJwCAtCcAgBgoAIAKKACA6ycAgCUoAIDyJwCA/CcAgDMoAIBAKACASigAgFQoAIBeKACAcigAgH8oAICGKACAnigAgKUoAICyKACAyygAgNUoAIDnKACAASkAgA4pAIAZKQCAIykAgDQpAIA7KQCAUykAgMMDAIDmBACAhQUAgNgFAIATBgCAOQYAgFAGAIBtBgCAhAYAgJsGAIDjAwCA/AMAgBUEAIAoBACAOwQAgE4EAIBhBACAdAQAgIcEAICaBACAAAUAgA8FAIAeBQCALQUAgDwFAIBjCACAJAgAgMEGAID8BwCAHQkAgOMoEwAzCQCAKggAgC0IAIAxCACAJAcAgNwuAIDKMACA2S0AgLswAIBFMQCAJwkAgO/sEwAGCQCA3A0AgM8IAICDCACAMQcAgEwHAID8BgCACggAgJQIAIAqCQCACQkAgOANAIDsDQCA2wgAgJkIAIAVBwCAhggAgFUHAID/BgCApgcAgJEkAIDwDQCA4ggAgCcIAICcCACAWAgAgBUJAID0DQCA5QgAgBQIAICfCACA6AgAgBcIAIDJCACAoggAgOwIAIAbCACAzAgAgKYIAID3CACA/QgAgIgHAICKCACAWQcAgAMHAIA9CQCAQQkAgEkJAIA2CQCAGAkAgPgNAID0CACALQkAgAwJAIDkDQCA0ggAgI4IAIBdBwCAMAkAgA8JAIDoDQCA1QgAgJEIAIBgBwCArQgAgGMHAIDjSBIA4xQSAOP4EwDjuBMA4+wSAOOgEgDjbBIA43gSAO/ADQDv2A0A73QSAO9QEgDvqBIA79wSAO8oEwDvIBMA6QcAgMwGAIAOCACAEQgAgNgGAIDUBgCAIQgAgAcHAIBnCACADAcAgHYIAIA0BwCANwcAgKoIAIC2CACAuQgAgOPYEADjoBAA46AQAON0EQDjNBAA4wgQAOPkEADj9BAA77wQAO/gEADvzBAA7zgQAO8QEADvcBAA73AQAO9MEADjhBMA4+gTAOMwEADjEBAA42ATAONAEwDjpBMA47QTAO/IEwDvtBMA75gTAO98EwDvXBMA70wTAO8UEwDv6BAAgO08AIH1PACC/TwAg/U8AITtPACFFT0Ahh09AIcVPQCILT0AiTU9AIo9PQCLNT0AjC09AI0VPQCOHT0AjxU9AJBtPQCRdT0Akn09AJN1PQCUbT0AlRU9AJYdPQCXFT0AmC09AJk1PQCaPT0AmzU9AJwtPQCdFT0Anh09AJ8VPQCg7T0AofU9AKL9PQCj9T0ApO09AKUVPQCmHT0ApxU9AKgtPQCpNT0Aqj09AKs1PQCsLT0ArRU9AK4dPQCvFT0AsG09ALF1PQCyfT0As3U9ALRtPQC1FT0AthE9ALcRPQC4MT0AuTE9ALoxPQC7MT0AvBE9AL0RPQC+ET0AvxE9AIDxPACB/TwAgvU8AIMNPwCEFT8AhR0/AIYVPwCHDT8AiDU/AIk9PwCKNT8Aiw0/AIwVPwCNHT8AjhU/AI8NPwCQdT8AkX0/AJJ1PwCTDT8AlBU/AJUZPwCWCT8Alwk/AJg5PwCZOT8Amgk/AJsJPwCcGT8AnRk/AJ4JPwCfCT8AoPk/AKH5PwCiCT8Aowk/AKQZPwClGT8Apgk/AKcJPwCoOT8AqTk/AKoJPwCrCT8ArBk/AK0ZPwCuCT8Arwk/ALB5PwCxeT8Asgk/ALMJPwC0GT8AtRk/ALYJPwC3CT8AuDk/ALk5PwC6CT8Auwk/ALwZPwC9GT8Avgk/AL8JPwCA+TwAgfk8AIJJPQCDST0AhFk9AIVZPQCGST0Ah0k9AIh5PQCJeT0Aikk9AItJPQCMWT0AjVk9AI5JPQCPST0AkDk9AJE5PQCSAQQAk00GAJRVBgCVXQYAllUGAJdNBgCYdQYAmX0GAJp1BgCbTQYAnFUGAJ1dBgCeVQYAn00GAKC1BgChvQYAorUGAKPNBgCk1QYApd0GAKbVBgCnzQYAqPUGAKn9BgCq9QYAq80GAKzVBgCt3QYArtUGAK/NBgCwtQYAsb0GALK1BgCzTQYAtFUGALVdBgC2VQYAt00GALh1BgC5fQYAunUGALtNBgC8VQYAvV0GAL5VBgC/TQYArH0/AK2lPwCurT8Ar6U/AKh9PwCpZT8Aqm0/AKtlPwCkHT8ApUU/AKZNPwCnRT8AoB0/AKEFPwCiDT8AowU/ALydPwC9pT8Avq0/AL+lPwC4nT8AuYU/ALqNPwC7hT8AtN0/ALWlPwC2rT8At6U/ALDdPwCxxT8Ass0/ALPFPwCMZToAjW06AI5lOgCPfToAiEU6AIlNOgCKRToAi306AIRlOgCFbToAhmU6AId9OgCABToAgQ06AIIFOgCDfToAnF04AJ3lPwCe7T8An+U/AJhdOACZRTgAmk04AJtFOACUuTgAlWU4AJZtOACXZTgAkAU6AJENOgCSBToAkwE5AMAIAIDYCACA3ggAgPAIAIB2BwCAIgkAgHkHAICBBwCAVAkAgJ0HAIDLBwCAvQcAgMQGAIDcBACAewUAgM4FAIAJBgCALwYAgEYGAIBjBgCAegYAgJEGAIDXAwCA8AMAgAkEAIAiBACANQQAgEgEAIBbBACAbgQAgIEEAICUBACA+gQAgAkFAIAYBQCAJwUAgDYFAIBFBQCATgUAgFcFAIBgBQCAaQUAgJUFAICeBQCAXQgAgFYOAIBZDgCAOjoAgKwKAIAVCwCANjoAgD46AICcGQAAnRkAAJ45AACfOQAA4wwAgEI6AIB6NwCA8TAAgKI3AIBaMgCAxSoAgLksAICaMDUA7C0AgB0tAIDoLQCA1y8AgJ+ENQDSMwCAnUQpAGI1AICaNgCA1jYAgAo3AIAeOACAdjEAgAIyAICuMgCARjMAgGI2AIBGOACAcjkAgOkqAICNLACAijEAgNIyAICWNgCAwjkAgJQuAIB6MgCAhjYAgBo3AIALMACAvjUAgLSAGgC1hBkAtojmALeM5ACwABwAsZQeALIAGACznBsAvADsAL2k7wC+qO4Av6TtALgA4AC5tOMAurjiALu84QCkwAAApQAMAKbIDgCnAAgA4jYAgAcvAIAFMQCArXwDAKwAEACt5BMArugSAK9gEQCo8AoAqRwJAKr4FgCr/BQAGjIAgB4zAIAqOACAKSsAgMErAIAtLACAczAAgIIxAIDOMgCA8jMAgI42AICmNgCAyjcAgO44AICiOQCAvjkAgC40AIBuNACAvAgAgCY1AIBGNgCAejgAgE43AIChLQCAIy8AgN40AICeNQCAAjMAgDY0AICaNwCA5jgAgJ0tAIBwLgCAejEAgC4yAIBiMgCAFjUAgD41AICmOACAKSwAgJwAAACqNQCAzSsAgMkrAICaNACAKjUAgF42AICuOACAajcAgA8wAIBaNwCA0SoAgEQuAIB7LwCAMjMAgLIzAIBNLACAPjQAgDkrAIBfLwCAsSoAgO4xAICLMACAEjUAgIDpAwCB6QMAgjkvAIP9AwCE5QMAhe0DAIblAwCHfS4AiEEuAIkhAgCKeS8AiyUCAIw9AgCNJQIAjiECAI8dAgCQZQIAkW0CAJJlAgCTfQIAlGUCAJVtAgCWZQIAlx0CAJglAgCZLQIAmiUCAJs9AgCcJQIAnS0CAJ4lAgCfHQIAoOUCAKHtAgCi5QIAo/0CAKTlAgCl7QIApuUCAKdNAgCodQIAqX0CAKqpAQCrqQEArLkBAK25AQCuqQEAr6kBALDZAQCx2QEAsukBALPpAQC0eSIAtf0BALb1AQC37QEAuNUBALndAQC61QEAu60BALy1AQC9uQEAvqkBAL+pAQChLACAjS0AgP4zAIBmNgCAPjcAgLoxAIDmMQCAHzAAgB42AIA/MACArjMAgAUrAICBKwCAxSsAgFYxAID+NACA9jUAgEo3AIBaOACANSwAgOksAIAXLwCApzAAgH4yAIBCNACAljgAgHo5AIDOOQCA5jkAgOkwAICmMQCA7jcAgOMuAIC/LwCA2y8AgGswAIBuMgCAujIAgGozAICONACAMjUAgJY1AIDeNwCAbjYAgAY4AIB+OACA6SsAgBUsAID9LACAqjIAgPY2AIADLwCAcy8AgDcwAICyMQCA2jQAgCYzAIAVKwCAWS0AgKguAIB/LwCAQjMAgF4zAIBuNQCAgFEBAIEBKgCCXQEAg1UBAIRNAQCFdQEAhn0BAId1AQCITQEAiVUBAIqdKwCLWQEAjEkBAI1JAQCOuQEAj7kBAJDJAQCRyQEAktkBAJPZAQCUyQEAlckBAJb5AQCX+QEAmMkBAJnJAQCa2QEAm9kBAJzJAQCdyQEAnrkBAJ+5AQCgSQEAoZUBAKJFAQCjXQEApEUBAKVNAQCmRQEAp30BAKhFAQCpTQEAqnkPAKtBAQCsQQEArUEBAK5BAQCvQQEAsMEDALHBAwCywQMAs8EDALTBAwC1wQMAtsEDALfBAwC4wQMAucEDALrBAwC7wQMAvMEDAL3BAwC+wQMAv8kMAI41AIBiOACA4jgAgPI4AIAuOQCALSsAgII0AIBOOACAyjgAgJcvAIDxKgCAUSsAgEguAIBoLgCAlzAAgMYyAIDOMwCAejYAgBo4AIDZMACAojgAgA0sAIAlMQCAMTEAgBIyAIBKMgCATjMAgKozAIAqNACADjUAgDo5AIDrLwCAsjgAgEErAICMLgCAMjIAgOI3AIBPLwCAny8AgDkxAIC6OACA8SsAgNksAIB4LgCAwjAAgBUxAIBiMQCA9jEAgEozAIC+MwCAWjUAgPo2AIAGNwCA1jgAgF0sAIBOMgCA3SwAgMoyAIBuMwCAijYAgL44AICqOQCA0jkAgC0xAICxOSMAsBEDALMVAwCyFQMAtTUDALQ1AwC3NQMAtjUDALkVAwC4FQMAuxUDALoVAwC9dQMAvHUDAL91AwC+dQMAoZkNAKCRDQCjqQ0AopENAKW5DQCksQ0Ap6kNAKaxDQCpmQ0AqJENAKtpAwCqkQ0ArXkDAKxxAwCvaQMArnEDAJEZDQCQEQ0Aky0NAJIRDQCVPQ0AlD0NAJctDQCWLQ0AmR0NAJgdDQCbbQ0Amm0NAJ15DQCcgQ4An2kNAJ5xDQCBmQ0AgAkjAIOpDQCCkQ0AhbkNAISxDQCHqQ0AhrENAImZDQCIkQ0Ai2kNAIqRDQCNeQ0AjHENAI9pDQCOcQ0AKjIAgMY1AIDGNACA6jQAgBozAICiMgCAZjcAgA0rAIAuNgCA9SsAgOUrAIDzLgCAEzAAgPY0AIA0LgCABjIAgOUwAIDqNwCAqjgAgA8vAIBhKwCANS0AgIktAIDVMACA0SsAgCIzAIDmMwCASjQAgGY0AIBqNACAfjQAgPo4AIDuNACAkjYAgFY3AIAKOACANjgAgE45AIBSOQCAVjkAgLo5AIAuOACAxjgAgDErAIBVKwCAaSsAgCUsAIAxLACAcSwAgCUtAIBBLQCASS0AgIUtAICRLQCAdC4AgIsvAICzLwCAuy8AgJH4EADTLwCAfzAAgK8wAIDdMACAWjEAgIApAQCBKQEAgjkBAIM5AQCEKQEAhSkBAIZZAQCHWQEAiNkoAIltAQCKKSUAi2EBAIxhAQCNYQEAHjIAgDoyAICQGQEAajIAgJIVAQC+MgCA3jIAgJU1AQCWPQEAlzUBAJgNAQCZFQEAmh0BAJsVAQCcDQEAnfUBAJ7dKABSMwCAoAUBADI0AICiAQEAVjQAgFI0AIClGQEApgkBAFo0AIBeNACAdjQAgKo9AQCrNQEArC0BAK0VAQCuHQEArxUBALBtAQCxdQEAsn0BALN1AQC0bQEAtRUBALYdAQC3FQEAuC0BALk1AQC6PQEAuzUBALzZLgC9KQEAvhkBAL8ZAQC6eR4Au3keALjNAgC5eR4AvpUeAL+dHgC8QQIAvZ0eALJ9HgCzRR4AsH0eALF1HgC2XR4At0UeALRdHgC1VR4AqgUeAKsNHgCodR4AqQ0eAHo0AICeNACArBUeAK0NHgCiSR4Ao0keAKBJHgChSR4ApkkeAKf5AgCkSR4ApUkeAJqNHgCblR4AmI0eAJmFHgCeiR4An4keAJyNHgCdhR4AkgUDAJP1AACQCQMAkY05AJaxHgCXFQYAlO0AAJUBHACKvQMAi0EDAIiFAwCJnQMAjkEDAI9JAwCMyTkAjVEDAIIVAgCDHQIAgAUCAIEdAgCGzQMAh7EDAIQFAgCFxQMAs/kFALLxBQCx+QUAsOEFALeZKgC2EQMAtRkDALThBQC7NQMAujUDALklAwC4JQMAvxUDAL4VAwC9JQMAvCUDAKP9BQCi/QUAof0FAKD9BQCnnQUApp0FAKWdBQCknQUAq7kFAKqxBQCpJScAqL0FAK+ZBQCukQUArZkFAKyhBQCTAQUAkvkFAJF1OQCQ9QUAlwEFAJYZBQCVEQUAlBkFAJt5CQCaOQUAmTEFAJg5BQCfHQUAnh0FAJ0dBQCcHQUAg4kFAIKBBQCBiQUAgPEFAIeFBQCGhQUAhZUFAISBJgCLhQUAioUFAIm1BQCItQUAj4UFAI6FBQCNlQUAjJUFAM40AIA6NQCAQjUAgFY1AIB+NQCAzjUAgAI2AIBqNgCAEjcAgCo3AIBeNwCAYjcAgKY3AICqNwCAAjgAgNo4AIAeOQCANjkAgIMvAICQ6gCA5jUAgLkqAIC9KwCAfSsAgCUrAIBlKwCAkSsAgCEsAIA9LACAES0AgCEtAIA9LQCAmS0AgOQtAIDwLQCADC4AgBwuAIALLwCAEy8AgEMvAIBjLwCAky8AgKsvAICbLwCAry8AgO8vAIBHMACAUzAAgFswAICDMACACTEAgB0xAIBeMgCAVjIAgIYyAIAWNACA4jIAgBYzAIBiMwCAfjMAgKIzAIDGMwCAyjMAgOozAICAjQEAgZUBAIKdAQCDlQEAhI0BAIW1AQCGvQEAh7UBAIiNAQCJwR0AipkBAIvBHQCMhQEAjY0BAI6FAQCP/QEAkIUBAJEZHQCSkRQAk4UBAJSdAQCViTIAlk0ZAJc9GwCYsQEAmbEBAJotHACbtQEAnD0cAJ2pAQCemQEAn5kBAKDlHQChbQEAomUBAKN9AQCkZQEApW0BAKbxHQCnYQEAqKEDAKmhAwCqoQMAq6EDAKyhAwCttQEArq0DAK+lAwCwYRkAsdkDALLZAQCz7QMAtPUDALX9AwC29QMAt+0DALjFAQC50QMAumEdALvVAwC82QEAvT0XAL7FAwC/0QEA+jMAgA40AIAKNACAOjQAgLY0AIDmNACAHjUAgE41AIAyNgCAWjYAgM42AIAWNwCAIjcAgEI3AIBGNwCAUjcAgG43AIDmNwCAFjgAgEo4AIBqOACAtjgAgA45AIAqOQCAijkAgCfqAIAi6gCAVOoAgOEpAIAJKgCADSoAgNbqAIAD6wCAe+sAgBY6AIAmOgCARwgAgFIIAIBVCACASggAgE4IAIBXCQCA8Q4AgOIOAIDnDgCA9g4AgOwOAICyNACASw8AgMoPAICBDwCALw8AgFoPAIBnDwCAbw8AgJ0PAIDCDwCAuA8AgL0PAICqDwCAsQ8AgP4OAIADDwCACA8AgIBBAQCBMQMAgk0BAINFAQCEXQEAhUUBAIZNAQCHIQMAiF0fAIl9AQCKaQMAi3EBAIx1AwCNVQEAjlk6AI9ZAQCQKQEAkSkBAJI5AQCTOQEAlCkBAJUpAQCW2QEAl9kBAJjpAQCZ6QEAFQ8AgCIPAIAqDwCAMg8AgDwPAIBBDwCARg8AgFAPAIBVDwCAXQ8AgGoPAIByDwCAdw8AgHwPAICEDwCAiQ8AgJMPAICYDwCAoA8AgKUPAIDFDwCANw8AgBoPAIBiDwCAjg8AgA0PAIDdFgCA5hYAgOkWAIDvFgCA4xYAgOwWAIDgFgCAExcAgBYXAID1FgCA8hYAgPgWAICAmQcAgZkHAPsWAICDrQcAhLUHAAQXAICGsQcAh7EHAIiRBwCJkQcAipEHAIuRBwCM8QcAjfEHAI7xBwCP8QcAkJEHAJGVBwCSnQcAk5kHAJSFBwCVgQcAloEHAJeFBwCYuQcAmb0HAJq1BwCbsQcAnK0HAJ2pBwCemQcAn50HAKBhBwChZQcAom0HAKNpBwCkdQcApXEHAKZxBwCndQcAqEkHAKlNBwCqRQcAq0EHAKxdBwCtWQcArkkHAK9NBwCwMQcAsTUHALI9BwCzOQcAtCUHALUhBwC2IQcAtyUHALgZBwC5HQcAuhUHALsRBwC8DQcAvQkHAL7xAAC/9QAAgAkBAIENAQCCHQEAgxkBAITZAACF3QAAhtUAAIfRAACI8QAAifUAAIr9AACL+QAAjOkAAI3tAACO5QAAj+EAAJCdAACRmQAAkq0AAJOpAACUtQAAlbEAAJaxAACXtQAAmIkAAJmNAACahQAAm4EAAJydAACdmQAAnokAAJ+NAACgdQAAoXEAAKJ9AACjeQAApGlQAqVtUAKmYQAAp2UAAKhZAACpXQAAqlUAAKtRAACsTQAArUkAAK49AwCvOQMAsClQArEtUAIBFwCABxcAgP4WAIANFwCAChcAgBkXAIDZXFICHxcAgCUXAIAiFwCAKBcAgCsXAIA0FwCALhcAgKOhAACipQAAoZEAAKCVAACntQAAprEAAKW9AACkuQAAq40AAKqJAACpgQAAqIUAAK+FAACugQAArYkAAKyNAACz/QAAsvkAALHxAACw9QAAt5kAALadAAC1nQAAtJkAALutAAC6qQAAuaUAALilAAC/ZQEAvmEBAL1tAQC8aQEAHBcAgFcXAIBAFwCAPRcAgEgXAIBOFwCAOhcAgNksUQJLFwCAVBcAgHkWAIDhDwCAMRAAgA4QAIAiEACAHRAAgJNBAAAnEACALBAAgBMQAICXWQAAllUAAJVZAACUXQAAm3EAAJppAACZZQAAmGUAAJ9lAACeYQAAnTFTApxtAAC4gQQAuYEEALqBBAC7gQQAvIEEAFEXAIC+jQQA5g8AgLDdBQCxTQQAskUEALNdBAC0RQQAtU0EALZFBADrDwCAqKEFAKntQQCqrQUAq6UFAKy9BQCtpQUArq0FAK+lBQCgqQUAoZFBAKKpQACjoQUApKEFAKWhBQCmoQUAp6EFAP8PAIAYEACAWBAAgF0QAIBpEACAnVUFAH8QAICfWQUAjhAAgJMQAICeEACAkwUFAJQdBQCVBQUAlg0FAJcFBQC4EACAyxAAgO8QAIAhEQCAJhEAgC4RAIA9EQCATBEAgIBxBQCBcQUAgnEFAINxBQCEUQUAhVEFAIZdBQBREQCAWREAgHwRAICjEQCArxEAgM8RAIDUEQCA2REAgBMSAIAmEgCAMhIAgEoSAIDEEgCAGhMAgDMTAIA4EwCASxMAgFwTAIBuEwCAcxMAgJoTAICiEwCAtxMAgN4TAIDjEwCAPRQAgEIUAIBHFACAUxQAgF8UAIBkFACAbBQAgHgUAICSFACAlxQAgJ8UAICkFACAqRQAgK4UAICzFACAuBQAgMsUAIDQFACA7BQAgAYVAIAgFQCALBUAgEQVAIBJFQCAVhUAgHcVAICaFQCAtBUAgMAVAIDFFQCAzRUAgO4VAIAIFgCAFxYAgDQWAIA5FgCAQRYAgEYWAIBZFgCAXhYAgICtAQCBtQEAgr0BAIO1AQCErQEAhdUBAIbdAQCH1QEAiO0BAIn1AQCK/QEAi/UBAIztAQCN1QEAjt0BAI/VAQCQrQEAkbUBAJK9AQCTtQEAlK0BAJVVAwCWXQMAl1UDAJhtAwCZdQMAmn0DAJt1AwCcbQMAnVUDAJ5dAwCfVQMAoK0DAKG1AwCivQMAo7UDAKStAwCl1QMAphkOAKfZAwCobQ8AqSEOAKrhAwCr4QMArCkOAK3lAwCuGQ4ArxkOALCVAwCxnQMAsgEOALORAwC0HQ4AtQUOALa5AwC3uQMAuDkOALmNAwC6NQ4AuxEOALyBAQC9gQEAvnkBAL95AQCEFgCAkBYAgJwWAICrFgCAyBYAgM0WAIDuEQCA/xEAgHwWAICBAACAiwAAgJUAAICfAACAqQAAgLMAAID1DwCA+g8AgAQQAIB1EACAehAAgIQQAIDlEACA6hAAgBcRAIAzEQCAOBEAgEIRAIBRFQCADRYAgBIWAIAqFgCAoRYAgKYWAIC+FgCA8A8AgAkQAICJEACAHBEAgNcSAIA/FQCALxYAgGMWAIDDFgCARxEAgGQSAICfEgCAshIAgBEUAIAdFACAKRQAgI0TAICSEwCA0RMAgNYTAID9EwCAAhQAgGkSAIBuEgCAtxIAgLwSAIDCEQCAxxEAgJYRAICbEQCApD0DAKVFAwCmTQMAp0UDAKA9AwChJQMAoi0DAKMlAwCsfQMArUUDAK5NAwCvRQMAqH0DAKllAwCqbQMAq2UDALQ9AwC1xQMAts0DALfFAwCwPQMAsSUDALItAwCzJQMAvP0DAL3FAwC+zQMAv8UDALj9AwC55QMAuu0DALvlAwCEBQwAhQ0MAIYFDACHHQwAgI0MAIGpDACCGQwAg1ENAIxhDACNYQwAjmEMAI9hDACIKQwAiRUMAIodDACLFQwAlD0MAJXFAwCWzQMAl8UDAJABDACRAQwAkgEMAJMBDACc/QMAncUDAJ7NAwCfxQMAmP0DAJnlAwCa7QMAm+UDAIBpBACBaQQAgnEEAINxBACEnQQAhYUEAIaNBACHhQQAiL0EAImNBACKhQQAi50EAIyFBACNqQYAjvkEAI/5BACQiQQAkYkEAJKRBACTkQQAlLEEAJWxBACW+QYAl60EAJiVBACZwQYAmmkGAJtpBgCceQYAnXkGAJ7RBgCf/QsAoA0GAKEdCwCiGQYAo0ULAKQFBgClTQsApjUGAKe1BACoEQYAqREGAKoRBgCrNQQArC0EAK0BBACuXQQArx0GALDNBgCxbQYAsnUGALMNBgC0FQYAtR0GALYVBgC3DQYAuDUGALk9BgC6NQYAuw0GALwVBgC9HQYAvhUGAL8NBgCA9QcAgf0HAIL1BwCD9QAAhO0AAIURAwCGEQMAhxEDAIgxAwCJMQMAijEDAIsxAwCMhQcAjRUDAI4dAwCPFQMAkG0DAJGNBwCShQcAk50HAJSFBwCVjQcAloUHAJe9BwCYhQcAmY0HAJqFBwCbnQcAnIUHAJ2NBwCehQcAn4UAAKB9AAChgQMAooEDAKOBAwCkgQMApYEDAKaBAwCngQMAqBUHAKmFAwCqjQMAq4UDAKydAwCtoQMArqEDAK+hAwCwdQcAsXUHALJxBwCzhQUAtM0FALX1BQC2/QUAt8kDALj5AwC5+QMAuqEFALuhBQC8wQMAvcUDAN4RAIDjEQCAhJz7ACYTAIArEwCAYRMAgGYTAIB2EgCAghIAgJUSAICaEgCARRIAgNwSAIBXEwCASxAAgKMQAIC9EACAxBAAgJB1AACRfQAAknEAAJNxAACUAfwAlVX+AJZd/gCXVf4AmG3+AJlp/gCaef4Am3n+AJxp/gCdaf4Anln+AJ9Z/gCgpf4Aoa3+AKKl/gCjof4ApKH+AKWl/gCmrf4Ap6X+AKiZ/gCpmf4Aqun+AKvt/gCs9f4ArfH+AK7x/gCv8f4AsI3+ALGV/gCymf4As5n+ALSJ/gC1if4Atrn+ALe9/gC4hf4AuY3+ALqF/gC7nf4AvIX+AL2B/gC+gf4Av4H+AKbZCACnBQcApMEIAKWZBQCi0QgAo9EIAKCJBQChtQgArgEHAK8BBwCsMQcArTEHAKo9BwCrJQcAqD0HAKk1BwC2fQcAtwUHALR9BwC1dQcAsskFALNlBwCwcQcAsXEHAL4BBwC/AQcAvDEHAL0xBwC6IQcAuyEHALg9BwC5MQcAhjkHAIc5BwCELQcAhTkHAIINBwCDNQcAgBEHAIEFBwCOSQcAj0kHAIxNBwCN1QUAisEFAIvBBQCI1QUAiXEHAJbVBQCX2QgAlE0FAJXdBQCSUQUAk9kFAJD5BQCRoQUAnnEIAJ99CACcYQgAnWEIAJpxCACbeQUAmMUIAJl1BQD0EACA+xAAgAIRAICBEQCAuxEAgLQRAIArEgCAGBIAgB8SAIBWEgCATxIAgF0SAIDJEgCAHxMAgIcSAIB7EgCApBIAgKsSAIA9EwCAUBMAgHgTAIB/EwCAhhMAgKcTAIC8EwCAwxMAgOgTAID2EwCA7xMAgEwUAIB9FACAhBQAgAsVAIAZFQCAEhUAgPEUAIAlFQCAMRUAgHwVAICDFQCAkxUAgFsVAIBpFQCAnxUAgKYVAIBiFQCASxYAgFIWAIDzFQCA+hUAgNkVAIDgFQCAIxYAgBwWAICwFgCAbhAAgLEQAICqEACA3hAAgNcQAIAQEQCACREAgI8RAIBeEQCAgIEBAIGBAQCCgQEAg4EBAISdAQCFhQEAhokBAIeJAQCItQEAib0BAIq1AQCLjQEAjJUBAI2dAQCOlQEAj40BAIgRAIA3EgCAkv0BAJP1AQCU7QEAlZUBAJadAQCXlQEAmKkBAJmpAQCauQEAm7kBAJypAQCdrQEAnqUBAJ+dAQCgZQEAoW0BAKJlAQCjfQEApGUBAKVtAQCmZQEAp90AAKjlAACppQMAqq0DAKulAwCsvQMAraUDAK6tAwCvpQMAsN0DALHlAwCy7QMAs+UDALSpAQC1VQEAtvUDALftAwC41QMAud0DALrVAwC7rQMAvM0DAL3BAwC+vQMAv7UDANASAICOEgCARBMAgP8UAIA4FQCAlRYAgIkWAIC3FgCAuRUAgIsUAIABFgCAyhMAgMQUAIDSFQCArRUAgPgUAIC9FACAZREAgKgRAIBwFQCA0BAAgFgUAIBiEACAPhIAgOcVAIATEwCAcRQAgEIQAIA5EACAihUAgOESAID2EQCArhMAgGsWAIDqEgCA8RIAgGwRAIAEEgCApgMAgA0jAIARIwCAoAYAgMcAAIC1BgCAqyMAgK8jAIC5IQCAtSEAgOMHAIB7CQCAfwkAgEEjAICnIwCANSMAgDkjAIAdIwCAISMAgCUjAIApIwCALSMAgDEjAIDbBwCA3wcAgNEAAICATQEAgVEBAIJRAQCDTQEAhE0DAIUhAwCGRQEAh30BANcAAICiAwCAqAMAgN0HAIDTAACA1QAAgL0GAIB5AACABxQAgH0AAICHAACAkQAAgAwUAICbAACAGBQAgKUAAIAkFACArwAAgDAUAIC5AACANRQAgM8PAIBVEACAmBAAgJsQAIArEQCAVhEAgKARAIDMEQCA6BEAgOsRAIDzEQCADRIAgBASAIBzEgCAwRIAgDATAIBrEwCAlxMAgJ8TAICwpQEAsa0BALKlAQCzvQEAtKUBALWtAQC2pQEAt10BALhlAQC5bQEAumUBALt9AQC8ZQEA2xMAgDoUAIBpFACAgAW5AIHhBgCC4QYAg+EGAIThBgCoBgCAswYAgIfpBgCI2QYAifmxAIr1sQCL8bEAjO2xAI31BgCO+QYAj/0GAJDZBgCR2QYAkvWxAJwUAICUiZIClfEGAJb1BgCX9QYAmNkGAJnVsgCa3bIAm6kGAJy5BgCduQYAnqkGAJ+BBgCgoQcAoaEHAKIhsgCjpQcApIUAAKWNAACmQbMA1RQAgKiNBwCplQcAqp0HAKuVBwBOFQCAyhUAgDYQAIA+FgCAsP0HALGFBwCyjQcAaBYAgLSZBwCBFgCAtpUHALeNBwC4tQcAub0HALq1BwC7jQcAvJUHAL2dBwC+lQcAv40HAIB1BgCBlaACgpmgAoOZoAKEhaAChb2gAoaxoAKHhaACiLmgAomRoAKKnaACi5mgAoyFoAKNjQEAjoEBAI9FBgCQOQYAkT0GAJIxBgCTMQYAlC0GAJXVBgCW2QYAl90GAJjhBgCZ4QYAmu0GAJvpBgCc9QYAnf0GAJ7xBgCf9QYAoAkGAKEJBgCiBQYAowEGAKQdBgClBQYApgkGAKcNBgCoMQYAqTEGAKo9BgCrNQYArCkGAK0pBgCuJQYArx0GALBhBgCxYQYAsm0GALNpBgC0dQYAtX0GALZxBgC3dQYAuEkGALlJBgC6RQYAu0EGALxdBgC9RQYAvkkGAL9NBgCAsQUAgbEFAIK9BQCDuQUAhKUFAIWtBQCGoQUAh6UFAIiZBQCJmQUAipUFAIuRBQCMjQUAjcEFAI7NBQCPyQUAkLUFAJG9BQCSsQUAk7UFAJSpBQCVqQUAlqUFAJehBQCYnQUAmSkCAJolAgCbIQIAnD0CAJ3pAgCe5QIAn+ECAKAdAgChNQIAojkCAKM9AgCkIQIApSECAKYtAgCnKQIAqBUCAKkZAgCqFQIAqxECAKwNAgCteQIArnUCAK8V8ACwafAAsRECALIdAgCzGQIAtAUCALUhAAC2LQAAtyUAALgZAAC54QEAuu0BALvlAQC8+QEA2BQAgN0UAIC/9YYCp2kNAOIUAIDnFACAzwAAgNkAAICzAwCA4QcAgH0JAID7IgCAzNSFAszghQL/IgCAgSkAgDUkAIBuJACAjSQAgLyZBQC9mQUAvqkFAL+ZvAC4mQUAuZkFALqJBQC7iQUAtKEFALXVsQC23bEAt6kFALCxsgCxzQUAssUFALO9BQCfJACAxCQAgMMoAIDfKACA8SgAgIgmAICFKQCAaSkAgCkkAIAtJACA2WSgAoEJAIDZUKAChAkAgI0JAICKCQCAhwkAgOwhAIDvIgCA9CEAgJhlBQCZEbIA/CEAgNkwoAKUOZEClU0FAJZFBQCXXQUAkGkFAJFpBQCSWQUAk1kFAID9vACB1ZwCgmW8AIPFvACEkbwAhZ28AIalvACHjbwAiK2TAonlvACKKZACi7W8AIwRkAKNlbwAji2wAI/FnAKQ6bwAkcHIAJJBkAKT8Z0ClNW8AJXlvACW4bwAl02QAphlkAKZfZACmrm8AJupCgCcbQ8Anb0KAPMiAICfXQ8AoK0PAKElCgCibQoAo2UKAKQNCgClpQ8ApgXUAKepDwComQ8AqZkPAKopDwCrKQ8ArDkPAK05DwCuKQ8ArykPALBZDwCxndEAspXRALOF1gC0sdEAtbHRALbZ1AC32dQAuOnUALnp1AC6+dQAu/nUALzp1AC96dQAvrnUAL+51ACASdUAgUnVAIJZ1QCDWdUAhEnVAIV90ACGddAAh23QAIhV0ACJXdAAinXVAIut1QCMtdUAjb3VAI611QCPQdAAkMHQAJHB0ACSwdAAk8HQAJTB0ACVwdAAlsHQAJfB0ACYwdAAmc3QAJrF0ACb3dAAnOHVAJ3pDgCe2Q4An9kOAKDV2wChwdkAotnZAKPB2QCkxdkApc3ZAKbF2QCnGdkAqGHZAKlh2QCqydkAq8nZAKzZ2QCt2dkArs3ZAK/B2QCwCdkAsRXZALId2QCzrdoAtB3ZALWx2gC2wdwAt93dALjl3QC59d0Auv3dALut3QC8td0AvaXdAL6t3QDwIQCAgvHaAIPx2gD3IgCA5OgAgIYR2ACHEdgAhOHaAIXh2gCKKdgAiynYAK9AEwClKNoAjinYAI8p2ACMKdgAjSnYAJJh2ACTYdgA6egAgO7oAICWZdgAl23YAJR12ACVbdgAml3YAJst2ADz6ACA8FwCALEw3wCR8AIAnCnYALLQAwCiOQ0Ao1GeAqAlDQChOQ0AplUNAIS8AgCkJQ0ApV0NAKptDQCrAQQAqGENAKlRAwCuuQAAp3UAAKxhDQCtxQIA+OgAgIfMAwDwVAIAzFC6AJHYBACb9NsAkRgCAJk02wCddAQAvh0AAJ9gBQCejAUAjOwCAI2sBAD96ACAvfWKAqghvwCpLb8Aqi2/AKs9vwCsKb8ArVW/AK5RvwCvTb8AoBkIAKGlvQCiIb8AozGzAKQ9vwClJb8Apg2zAKclvwC46bMAuc3LALppswC7uQkAvH0IAL2tCQC+QQwAv50JALA5vwCxhb0Asgm/ALPtywC0Gb8AtQW/ALbtswC3Bb8AiDG9AIkxvQCKrQgAiyW9AIwJCQCNvQgAjiW+AI+JDAAC6QCAgQ0JAIKlDACDUQkAhIEIAIWBCACGmQgAh60MAJhhvQCZYb0Amm0JAJsVnQKcxQ8AnQ28AJ7BDwCfcQkAkBW+AJERnwKSNZ8Ckw2fApQJvgCVCb4AlnG9AJdxvQCCuAQAl6UHALnEAwDwWAIAkUwCAJLIAgCErAQAsD0AAAzpAIAH6QCAvQUAABHpAIDwTAIAuhEAAJEkAgCN5AQAkqwCAJasAgC4uAMAudADAJb4AgCvDQAAFukAgPB4AgCRXAIAlrACAK8FAAAb6QCAIOkAgCnpAIAy6QCAP+kAgIX4AwBM6QCAh4ADAIbAAgBZ6QCAZukAgHPpAICW6QCAuzkAAHzpAICf6QCAiekAgL8dAAC+HQAAvR0AALwhAACVwB0AlMQfAJfIGgCWABgAkSAAAJDUAQCT2B4AkgAcAJ3gEgCcABAAn+gRAJ7sEwCZ8BkAmPQbAJv4FwCaABQAnnEBAJ9xAQCABQAArOkAgM0KAICwDACAXg0AgGQNAIBqDQCAdg0AgHkNAIB8DQCAfw0AgIINAICRDQCAlw0AgJoNAICdDQCAICIAgMcNAIDWDQCA/A0AgP8NAIAODgCAEQ4AgB0OAIAYIgCAMg4AgDUOAIDXFgCAEBcAgNoWAIC4ACwAuYwvALqILgC6AwCAhpwXAMx4vACEmC0AhVwXALcDAIDKAwCAiAAoAIksFADtBACAjAUAgN8FAIAaBgCAQAYAgFcGAIB0BgCAiwYAgDgBAIA8AQCAQAEAgEQBAIBIAQCATAEAgKR9AQBQAQCAonUBAKNlAQCggQEAoYEBALxxugC9kbYAvnG6AL+ltgC48bgAuXW6ALqZzgC7dboAtGG6ALVtugC2eboAt3W6ALAZugCxEboAsgm6ALMFugCsUboArXG2AK5RugCvbboAqNG4AKldugCqRbYAq1G6AKRxlgKlYZYCpnGWAqe9ugCgzZsCofG6AKLJugCjxboAnHmaAp0tugCeDc4An4WWApgJugCZtZYCmjm6AJuJtgCUMboA+CEAgJZpugCXrZYCkHm6AJE1ugCSMboAkwG6AIxJzgCN5bYAjhmaAo+hugCIoboAiUG2AIqhugCLdbYAhAG4AIWFugCGac4Ah4W6AICxugCBvboAgqm6AIOlugCAgbkAgQ27AIIVtwCDAbsAhAG7AIUhtwCGAbsAhz27AIgJuwCJAbsAihm7AIsVuwCMcbsAjX27AI5puwCPZbsAkKG5AJEluwCSyc8AkyW7AJQhuwCVwbcAliG7AJf1twCY6c8AmUW3AJq5mwKbAbsAnLm7AJ31uwCe8bsAn8G7AKARuwChCZQCokm7AKONlwKkCbsApbWXAqY5uwCnibcAqFmbAqkNuwCqLc8Aq6WXAqwNmgKtMbsArgm7AK8FuwCw0ZcCscGXArLRlwKzHbsAtFG5ALXduwC2xbcAt9G7ALjxuwC50bcAuvG7ALvNuwC82bsAvdG7AL7JuwC/xbsAgJmkAIEliAKCqaQAgxmoAFsNAICFvaQAhp3QAIcViAKInYUCiaGkAIqZpACLlaQAjCGIAo0xiAKOIYgCj+2kAJDBpgCRTaQAklWoAJNBpACUQaQAlWGoAJZBpACXfaQAmEmkAJlBpACaWaQAm1WkAJwxpACdPaQAnimkAJ8lpACgYaYAoeWkAKIJ0ACj5aQApOGkAKUBqACm4aQApzWoAKgp0ACphagAqnmEAqvBpACseaQArTWkAK4xpACvAaQAsFGkALFJiwKyCaQAs82IArRJpAC19YgCtnmkALfJqAC4GYQCuU2kALpt0AC75YgCvE2FAr1xpAC+SaQAv0WkAIARiQKBAYkCghGJAoPdpQCEkacAhR2lAFQBAICHEaUAiDGlAIkRqQCKMaUAWAEAgFwBAICNEaUAjgmlAI8FpQCQAaUAkQ2lAJIZpQCTFaUAlLGnAGABAICW2dEAlzWlAJgRpQCZ8akAmhGlAJvFqQCc+dEAZAEAgJ6phQKfEaUAoEmlAKEFpQCiAaUAozGlAKQBpQClGYoCplmlAKediQKoOaUAqYWJAqoJpQCruakArEmFAq0dpQCuPdEAr7WJArB9hAKxQaUAsnmlALN1pQC0wYkCtdGJArbBiQK3DaUAuGGnALntpQBoAQCAu+GlALzhpQC9wakAvuGlAGwBAIC3baYAttWGArUpqgC0hdIAs7mqALJtpgCxjaoAsG2mAL8higK+5aYAvaWJAnABAIC7jaYAdAEAgLm5pgC49aYAeAEAgKZ1pgClbaYAfAEAgIABAICiTaYAhAEAgIgBAICvCaYAruXSAIwBAICsjaQAqymmAKolpgCpMaYAkAEAgJc5pgCWNaYAlQ2mAJQxhwKTmYoCkhHSAJExpgCQZYYCn62mAJ65qgCUAQCAnC2kAJthpgCarYoCmb2KApitigKHfaYAhk2mAIVJpgCEBaYAg72mAIIFhgKB+aoAgFXSAI/1qgCORaYAjcmKAox1pgCL8YoCijWmAIl1iQKIbaYAgCmnAIEhpwCCOacAgzWnAIRRpwCYAQCAhkmnAJwBAIDMSIkCzYiJAoqp0wCLRacAjEGnAI2hqwCOQacAj5WrAJDJ0wBFIwCAkpmHApMhpwCUmacAldWnAJbRpwCX4acAmPGnAJnpiAKaqacAm22LApzppwCdVYsCntmnAJ9pqwCgeYcCoS2nAKIN0wCjhYsCpC2GAqURpwCmKacApyWnAKixiwKpoYsCqrGLAqt9pwCsMaUArb2nAK6lqwCvsacAsNGnALHxqwCy0acAs+2nALT5pwC18acAtumnALflpwC4oacAua2nALq5pwC7tacAvBGlAL2VpwC+edMAv5WnAICRoACBiY8CgsmgAIMNjAKEiaAAhTWMAoa5oACHCawAiNmAAomNoACKrdQAiyWMAoyNgQKNsaAAjomgAI+FoACQUYwCkUGMApJRjAKTnaAAlNGiAJVdoACWRawAl1GgAJhxoACZUawAmnGgAJtNoACcWaAAnVGgAJ5JoACfRaAAoMGgAKHNoACi2aAAo9WgAKRxogCl9aAAphnUAKf1oACo0aAAqTGsAKrRoACrBawArDnUAK2VrACuaYACr9GgALAJoACxRaAAskGgALNxoAC0QaAAtVmPArYZoAC33YwCuHmgALnFjAK6SaAAu/msALwJgAK9XaAAvn3UAL/1jAKAvYACgYGhAIK5oQCDtaEAhAGNAoURjQKGAY0Ch82hAIihowCJLaEAijWtAIshoQCMIaEAjQGtAI4hoQCPHaEAkGmhAJFhoQCSeaEAk3WhAJQRoQCVHaEAlgmhAJcFoQCYgaMAmQWhAJrp1QCbBaEAnAGhAJ3hrQCeAaEAn9WtAKAJ1QChpa0AolmBAqPhoQCkWaEApRWhAKYRoQCnIaEAqDGhAKkpjgKqaaEAq62NAqwpoQCtlY0CrhmhAK+prQCwOYECsW2hALJN1QCzxY0CtG2AArVRoQC2aaEAt2WhALjxjQK54Y0CuvGNArs9oQC8caMAvf2hAL7lrQC/8aEAs2miALKF1gCxaaIAsO2gALe5rgC2baIAtY2uALRtogC7TaIAuvWCArkJrgC4pdYAv42iAL69ogC9uaIAvPWiAKNNogCiWa4AoUGiAKDNoACncaIApk2iAKVtrgCkTaIAq1miAKpVogCpTaIAqEWiAK8pogCuJaIArTGiAKw9ogCTla4AkiWiAJGpjgKQFaIAl5mOApYR1gCVMaIAlGWCApsZogCaFaIAmS2iAJgRgwKfYaIAnq2OAp29jgKcrY4Cg2muAIK9ogCBXa4AgL2iAIe9ogCGBYIChfmuAIRV1gCLXaIAim2iAIlpogCIJaIAj/GOAo41ogCNdY0CjG2iAIARowCBMa8AghGjAIMtowCEOaMAhTGjAIYpowCHJaMAiGGjAIltowCKeaMAi3WjAIzRoQCNVaMAjrnXAI9VowCQMaMAkdGvAJIxowCT5a8AlNnXAJV1rwCWiYMClzGjAJipowCZ5aMAmuGjAJvRowCc4aMAnfmMAp65owCffY8CoBmjAKGljwKiKaMAo5mvAKRpgwKlPaMAph3XAKeVjwKoHYICqSGjAKoZowCrFaMArKGPAq2xjwKuoY8Cr22jALBBoQCxzaMAstWvALPBowC0waMAteGvALbBowC3/aMAuMmjALnBowC62aMAu9WjALyxowC9vaMAvqmjAL+lowBnDQCA0QYAgG0NAIDIBwCAcw0AgA8HAICFDQCAlAcAgIsNAICaBwCAuA0AgH0HAIDKDQCAxQcAgAIOAIBPBwCAFA4AgFIHAIAgDgCAkB0AAOEGAIAPJACA4iUAgCguAICtLACAyS0AgKpVAACrKQAAMjcAgAErAIDGMACAsjIAgAEsAIBTLwCAmSsAgJ8wAIDtKwCAGjUAgI43AICtLQCA5SwAgGYyAIADMACALzAAgA44AIAjMACA+y8AgHI0AICAIa4AgaWsAIJJ2ACDpawAhKGsAIVBoACGoawAh3WgAIhp2ACJxaAAiv0AAIsxxgCM7QAAjdEAAI7VAACPyQAAgCmhAIFNFACCIQEAg+G4AoQ5qgCFOaoAhhG9AodRFACIEQEAidW4AorNrQCLLbsCjGEUAI3ZjQKObRQAj2UUAJB5AQCRubgCkkm9ApNFuwKUDRQAlTUUAJYZAQCXqbgCmF2qAJkBFACaIQEAmwUUAJx5vQKdhbgCnnm7Ap+JuAKggb0CoXm4AqKZCQCjlRQApFmuAKWJFACmmQEAp70UAKipAQCpvbsCqrkBAKuJFACsmRQArZkUAK6JFACviRQAsNkBALEJrgCy6QEAs9W7ArTNuwK17RQAtpW8ArfhFAC4oRQAuaEUALrBoQC7pRQAvNkBAL0ZuAK+0aoAv9GqAL9FFwC+RRcAvTUXALxBvwK7KRcAugm4ArkBuAK4PQIAt+2tALY9AgC1HRcAtB0XALMdFwCyHRcAsR0XALAtAgCvWbgCrk0CAK1pFwCsTQIAq00XAKqdrQCpQRcAqE0KAK40AIDRLACApX0XAKR9FwCjoa4Aom2CAqF9ggKgbYICnzmuAJ41rgCdDa4AnDGPApuZggKaEdoAmTGuAJhljgKXtaIAlgWuAJWJggKUNa4Ak7GCApJ1rgCRNYECkC2uAI99rgCOTa4AjUmuAIwFrgCLva4AigWOAon5ogCIVdoAh0miAIadrgCFfaIAhJ2uAIOZrgCCddoAgZmuAIAdrADMqIQCzUyGAswguQLNTLkCzECOAkYyAIDMmIUCzTyEAswQgwLNUIMCzKCDAs2MgwLMMIACzSSAAswYgALNhIACmjMAgAUsAIAxLQCAiSMAgE0jAIBXIwCAayMAgJMjAIB1IwCAnSMAgGEjAIB/IwCAzPC5As2EuQLMULgCzay7AoDNAACB1QAAgt0AAIPVAACEzQAAhfUAAIb9AACH9QAAiM0AAFcvAIDBLACA1SoAgM0qAIDdKgCAuekAgCErAICQZQAAkW0AAKiIKgA1KwCAPSsAgEUrAIBJKwCATSsAgKIAMACjzDMAoOg9AKHsPACm8DYAp/QoAKQANACl/DUAgFERAIHpiAKCXREAg1URAIQpBACF6b0Chhm4AocVvgKIfREAiUURAIppBACL2b0CjA2vAI1REQCOcQQAj1URAJBJuAKRtb0Ckkm+ApO5vQKUUbgClam9ApZJDACXRREAmKmrAJl5EQCaaQQAm00RAJx5BACdbb4CnmkEAJ9ZEQCgqREAoakRAKK5EQCjuREApIkEAKVZqwCmuQQAp4W+Aqi9vgKpnREAquW5AquREQCs8REArfERAK6RpACv9REAsOkEALEpvQKy4a8As+GvALTZuAK1mREAtukEALctvQK4BagAueW+Arq5EQC7AYgCvKURAL2tEQC+wQQAvwG9AoABuQKBDb8CglUQAINtEACEUQUAheG8AoYlrgCHeRAAiGkFAIlNEACKIbkCi928AowxvwKNwbwCjjm5Ao/BvAKQUQ0AkV0QAJKBqgCTURAAlFEFAJV1EACWUQUAl0W/AphxBQCZQRAAmkEQAJtBEACcQRAAnUEQAJ5hBQCfsaoAoKEFAKGdvwKilb8Co7UQAKTduAKlqRAAptkQAKfZEACoiaUAqe0QAKqBBQCrQbwCrJmuAK2ZrgCusbkCr/EQALDxBQCxNbwCsi2pALPNvwK0gRAAtTmJAraNEAC3hRAAuNkFALkZvAK66bkCu+W/ArytEAC9lRAAvrkFAL8JvAK5La0AuC2tALtFEwC6BboCveG/ArwlBgC/GbwCvvmqALEdEwCwabsCs20TALJtEwC1eRMAtB2mALfVvwK2FQYAqXUTAKh1EwCrhakAqlUGAK1JvAKsdQYAr2ETAK5BvAKhQRMAoGUGAKNxvAKiZQYApVUTAKRlBgCnVRMAplUTAJl1vwKYhbwCm3W/ApqNugKdiRMAnIUOAJ+FEwCeVakAkVW/ApDlBgCTzRMAkpGtAJXZEwCU/QYAl0m/Apa1ugKJmRMAiJETAIs1vwKK9QYAjdm8AozVugKPuRMAjoETAIGtEwCA7boCgxm/AoLdBgCF8bwChBGqAIcVigKGrRMAgD2sAIFhEgCCQQcAg2USAIQZuwKF5b4Chhm9AofpvgKIIbsCidm+AopFEgCLXRIAjSkAgM3pAICOzaoAj8mLApCdiwKRpYsCkrGqAJOxqgCU2akAldmpAJb5qQCX+akAmJWqAJmRiwKatYsCm42LApyJqgCdiaoAnvGpAJ/xqQCgIakAoSGpAKJ9qgCjeYsCpE2LAqV1iwKmYaoAp2GqAKgpqQCpKakAqgmpAKsJqQCsRaoArUGLAq5liwKvXYsCsDmqALE5qgCyQakAs0GpALRxqQC1cakAti2qALcpiwK4PYsCuQWLAroRqgC7EaoAvHmpAL15qQC+WakAv1mpAIKJIwBtKwCAcSsAgI0rAIC+6QCAh5kjAJEpAIB5KwCAyOkAgIu5JACpKwCAifkkAI6VIwCPiSMAsSsAgI2JJACSvSMAESsAgLkrAICR4SMAo+sAgJfFIwCU8SMA4SsAgJkpAICbkSMA+SsAgJndIwD9KwCAnwktAAksAICdjdUAogkjAJ0pAIBBLACAofUjAEUsAICnGSMApCUkAG0sAICq7SQAeSwAgKgdIwCpeSQArhUjAK8JIwCsCSQArQkkALI9IwCJLACAsDEjALFhIwC2VSMAt0UjALRxIwC1XSMAulkjALsRIwCRLACAuV0jAL6JLQCVLACAvI0tANzpAICAuSUAgX0iAIKBIgCDmSIAhK0lAIXZJQCGuSIAh5EiAIiVIgCJ8SUAljIAgIuxJQCMgSUAjYElAI6dIgCPgSIAkLkiAJHpIgCStSIAk9EiAJT5IgCV1SIAlt0iAJfNIgCY+SIAmdUiAJrRIgCbmSIAqSwAgLEsAIDh6QCAvSwAgGUAAACh/SIAogEiAKMZIgDFLACApVklAKY5IgCnESIAqBUiAKlxJQDNLACAqzElAKwBJQCtASUArh0iAK8BIgCwOSIAsWkiALI1IgCzUSIAtHkiALVVIgC2XSIAt00iALh5IgC5VSIAulEiALsZIgD1LACA4SwAgO0sAIDxLACAgI0vAIGlLwCCrS8Ag70vAISlLwCFrS8AhqUvAIfdLwCI5S8Aie0vAIrlLwD5LACAAS0AgAUtAIANLQCAFS0AgJCRLwCRkS8AkpEvAJORLwCUsS8AlbEvAJa1LwCXRTMAmE0zAJlVMwCaPTMAmxkzAJyZMwCdiTMAnlUwAJ9JMACgwTAAockwAKLZMACj1TAApM0wAKX9MACm5TAApzUwAKi1MQCpuTEAqu0xAKuxmgCs0ZYArbE6AK61OgAZLQCAsEGUALHNlgCy1ZoAs8GWALTBlgC14ZoAtsGWALf9lgC4yZYAucGWALrZlgC71ZYAvLGWAL29lgC+qZYAv6WWAMUAAAChfSAAooEgACktAICkrScALS0AgDktAICnkSAAXS0AgKnxJwCqZScAq7EnAKyBJwCtgScArp0gAK+BIACwuSAAsekgALK1IABhLQCAtPkgALXVIAC23SAAt80gAEUtAIC51SAATS0AgLuZIACpLQCAcS0AgHUtAIB5LQCAgDknAIH9IACCASAAgxkgAG0tAICFWScAhjkgAIcRIACIFSAAiXEnAIrlJwCLMScAjAEnAI0BJwCOHSAAjwEgAJA5IACRaSAAkjUgAJNRIACUeSAAlVUgAJZdIACXTSAAmHkgAJlVIACaUSAAmxkgAJyFLgCdBdYAnoEuAJ+BLgCArT8AgbU/AIK9PwCDtT8AhK0/AIW5yACG1T8Ah80/AIj1PwCJ/T8AipnIAIvxPwCMATsAjQE7AI6NyACPOQQAkEkEAJFJBACSWQQAk1UEAJRNBACV3TwAlnkEAJd1BACYWQQAmSEEAJohBACbNdQAnCEEAJ3Z5gCeJQQAnx0EAKDpBACh9QQAos0/AKP1BACkFQQApfnUAKYhyACnIcgAqNHUAKktBACqOQQAq03CAKwtBACtdcgArh0EAK95BACwKQQAsTEEALI9BACzOQQAtC0EALX9BQC2qQUAt6kFALiZBQC5mQUAunkFALtFBQC8AQUAvQEFAL4BBQC/AQUAgC0HAIE1BwCCPQcAgzUHAIQtBwCFqQcAhqUHAIdl1QCILQYAiTEGAIoxBgCLDQYAjPnJAI15BgCOWQYAj1UGAJBpyQCRNQYAkj0GAJM1BgCULQYAlcUGAJZdAwCXVQMAmG0DAJl1AwCafQMAm3UDAJxtAwCdET0AnlkDAJ9ZAwCgqQMAoakDAKK5AwCjuQMApKkDAKWpAwCm2QMAp9kDAKjpAwCp6QMAqvkDAKv9AwCs5QMAre0DAK7lAwCvbcMAsKEDALGhAwCyoQMAs6EDALShAwC1zeYAtq0DALelAwC4yeYAuZkDALppAwC7aQMAvHkDAL15AwC+aQMAv2kDAIAAAACBLQCAfS0AgJUtAIDm6QCAsS0AgLUtAIC9LQCA0S0AgPQtAIDr6QCA8OkAgAAuAIAELgCACC4AgPwtAIAQLgCAoSkAgKUpAIAYLgCAIC4AgPXpAIA8LgCAQC4AgEwuAID66QCAVC4AgFguAIA3LwCAqSkAgGwuAICILgCAhC4AgATqAICQLgCACeoAgJwuAICYLgCAoC4AgLAuAIC0LgCArSkAgMQuAIDMLgCA0C4AgNQuAICxKQCADuoAgLUpAID3LgCA+y4AgP8uAIDV6wCAGOoAgNo1AIAvLwCAuSkAgDvqAIAN6wCAPy8AgEcvAIC9KQCAWy8AgGsvAICqIfQAq7U/AKilPwCpzecArkXwAK+hPwCsSfAArTH0AKJl4gCjvT8AoLk/AKG5PwCmlT8Ap50/AKSlPwClnT8Augk8AG8vAIC4CTwAuQk8AHcvAICHLwCAxSkAgMEpAICy3T8AswU9ALBN7wCx1T8Atn3wALe55AC0HT0AtWk8AB3qAICPLwCAoy8AgKcvAIC3LwCAyy8AgMMvAIDHLwCAgrX7AM8vAICA/T8AgfU/AOMvAIDnLwCA/y8AgAcwAICavT8Am/3NAJi9PwCZtT8Anlk/AJ9ZPwCcWT8AnVk/AJKBPwCTaekAkHnkAJGxPwCWgT8Al4H0AJQh5wCVmT8AFzAAgCswAIAs6gCAJzAAgBswAIAzMACAOzAAgE8wAIAx6gCAVzAAgEoAAABLMACAQzAAgMkpAIBfMACAZzAAgG8wAIBjMACAzSkAgIcwAIA26gCAszAAgPUwAIDRMACA2SkAgNUpAIDRKQCAnSsAgKErAID5MACA4TAAgK41AIA9KgCADTEAgCExAIAZMQCAT+oAgN0pAIA1MQCAKTEAgFIxAIBZ6gCAXjEAgD0xAIBmMQCAajEAgG4xAIByMQCAfjEAgF7qAICGMQCA5SkAgJIxAIBj6gCAljEAgOkpAICiMQCArjEAgL4xAIBo6gCA/+kAgG3qAIDeMQCAcuoAgLgJAQC5CQEAuhkBALsZAQC8CQEAvQkBAL45AQC/OQEAsM3FALE1zACymQ4As5kOALSJDgC1iQ4AtjkBALc5AQCo6dkAqckOAKrZDgCrqcUArMUOAK3NDgCuxQ4Ar/kOAKA1DgChPQ4AojUOAKOxxQCk8Q4ApfEOAKbxDgCn8Q4AmGkPAJlpDwCaeQ8Am3kPAJxpDwCdaQ8Ant0OAJ/NDgCQ+eoAkXEPAJJ9DwCTdQ8AlG0PAJVpDwCWWQ8Al1kPAIh5DwCJeQ8AigkPAIsJDwCMGQ8AjRkPAI4NzACPDQ8AgHkPAIF5DwCCSQ8Ag0kPAIRZDwCFWQ8AhkkPAIdJDwCKUQIAi1ECAIj5xgCJQQIAjnECAI/txgCMQQIAjUECAIIVAgCDHQIAgAUCAIEdAgCGdQIAh30CAIQFAgCFfQIAmsUCAJvNAgCYkc8AmYXaAJ7FAgCfzQIAnNUCAJ3NAgCSDQIAkxUCAJANAgCRBQIAlg0CAJf1AgCUDQIAlQUCAKo9AgCrRQIAqD0CAKk1AgCuXQIAr0UCAKxdAgCtVQIAol3GAKMBAgCgNQIAoQ0CAKYBAgCnxdgApBECAKURAgC6OQIAuzkCALg5AgC5OQIAvtkBAL/ZAQC82QEAvdkBALI9AgCzBQIAsD0CALE1AgC2GQIAtxkCALQdAgC16cIA6jEAgPIxAIDiMQCA/jEAgA4yAIAWMgCAIjIAgCYyAIB36gCACjIAgD4yAIBCMgCA7SkAgFIyAIB86gCANjIAgHIyAICB6gCAhuoAgHYyAICKMgCAgjIAgPEpAICOMgCAnjIAgJoyAICmMgCAw+kAgLYyAICL6gCAwjIAgJXqAIDWMgCA9jIAgJrqAIAKMwCADjMAgJ/qAICk6gCAKjMAgDozAID1KQCAPjMAgPkpAIBWMwCAWjMAgGYzAIByMwCA/SkAgIozAICp6gCApjMAgK7qAIAT6gCAwjMAgLPqAIC4AAAAuOoAgL3qAIABKgCABSoAgMfqAIDC6gCAzOoAgIAB3gCB8QcAgvEHAIPxBwCEFQIAhR0CAIYVAgCHEQIAiCXeAIld3gCKOQIAizkCAIwpAgCNKQIAjhkCAI99ygCQTd4AkWECAJJhAgCT7cEAlH0CAJVlAgCWIcAAl2kCAJhZAgCZMcIAmlUCAJstAgCcNQIAnT0CAJ4xAgCfMQIAoNECAKHRAgCi0QIAo9ECAKTxAgCl8QIApvECAKfxAgCo0QIAqdECAKrRAgCr0QIArDECAK0xAgCuMQIArzECALBRAgCxUQIAslECALNRAgC0cQIAtXECALZxAgC3cQIAuFECALlRAgC6+dwAu1UCALxNAgC9NQIAvj0CAL81AgC+7QYAv/UGALztBgC95QYAuskGALvJBgC4xcsAuckGALbtBgC39QYAtO0GALXlBgCyjQYAs/UGALDR3QCxhQYArvEGAK/xBgCs5QYAreEGAKr1BgCr/QYAqMUGAKn9BgCm9QYAp/0GAKTlBgCl/QYAovUGAKP9BgCg+QYAoZ3dAJ75BgCf+QYAnPkGAJ35BgCa+QYAm/kGAJj5BgCZ+QYAlvkGAJf5BgCUcd0AlfkGAJL9BgCT5QYAkP0GAJH1BgCO/QYAj4UGAIz9BgCN9QYAiuEGAIsB3QCI8QYAifEGAIbBBgCHwQYAhPEGAIXxBgCCkccAg+EGAIDpBgCBxcAAgAAAANHqAIACNACABjQAgBI0AIARKgCAFSoAgNvqAIAmNACAGSoAgODqAIDl6gCA6uoAgJY0AIAdKgCAojQAgKY0AIDv6gCA9OoAgL40AIAhKgCA+eoAgNI0AIDWNACAJSoAgP7qAIDyNACAKSoAgAI1AID6NACACjUAgAjrAIAiNQCALSoAgC41AIA2NQCARjUAgDEqAIAS6wCAF+sAgDUqAIAc6wCAXjUAgCHrAIBqNQCAdjUAgCbrAIAr6wCAkjUAgDDrAICaNQCAQOoAgDkqAICyNQCAtjUAgEEqAIC6NQCAFC4AgDXrAIA66wCAReoAgErqAIDeNQCA9jcAgIDNAQCB1QEAgt0BAIPVAQCEzQEAhfUBAIb9AQCH9QEAiM0BAInVAQCK3QEAi/UJAIzJAQCNyQEAjgEcAI89HwCQRR8AkU0fAJJFHwCTXR8AlEUfAJVNHwCWRR8Al30fAJhBxwCZQR8AmkEfAJtBHwCcQR8AnUEfAJ5BHwCfYd8AoL0fAKHFHwCizR8Ao8UfAKTdHwClxR8Aps0fAKfFHwCo/R8AqcUfAKrNHwCrxR8ArN0fAK3FHwCuzR8Ar8UfALC9HwCxRR8Ask0fALNFHwC0/ckAtVkfALZJHwC3SR8AuHkfALl5HwC6SR8Au8XdALxVHwC9XR8AvlUfAL9NHwAKNgCABjYAgA42AIAZLACAEjYAgBY2AIAaNgCAIjYAgD/rAIAmNgCAOjYAgD42AIAqNgCAQjYAgFY2AIA2NgCASjYAgE42AIBSNgCAROsAgE7rAIBJ6wCASSoAgHI2AIB2NgCAfjYAgGLrAICCNgCAU+sAgE0qAIBRKgCAWOsAgF3rAIBVKgCAojYAgKo2AICuNgCAujYAgLY2AIDCNgCAvjYAgMY2AIDKNgCA0jYAgFkqAIDaNgCA3jYAgF0qAIDuNgCAZ+sAgP42AIACNwCAYSoAgA43AICVKQCAbOsAgHHrAIBlKgCAaSoAgDo3AIB26wCAkjcAgJY3AICuNwCAgLUBAIG9AQCCtQEAg80BAITt9ACF0QEAhtEBAIfRAQCI8QEAifEBAIrxAQCL8QEAjNEBAI3RAQCO0QEAj9EBAJB9wwCRBcMAkl35AJO9AQCUpQEAla0BAJalAQCXXQMAmGUDAJltAwCaZQMAm30DAJxlAwCdbQMAnmUDAJ85wwCgoQMAoaEDAKKhAwCjoQMApKEDAKWhAwCmoQMAp6EDAKjhAwCp4QMAquEDAKvhAwCs4QMAreEDAK7hAwCv4QMAsKEDALGhAwCyoQMAs6EDALShAwC1oQMAtqEDALehAwC4YQMAuWEDALphAwC7YQMAvGEDAL1hAwC+pcMAv6HDALo3AICA6wCA0ukAgMY3AIDCNwCAzjcAgNfpAIDaNwCAhesAgIrrAIAmOACAMjgAgDo4AICP6wCAPjgAgGY4AIByOACAdjgAgG44AICCOACAhjgAgJTrAICSOACAbSoAgJo4AICZ6wCAcSoAgNI4AICkLgCA6jgAgJ7rAICo6wCAdSoAgHkqAIASOQCAresAgH0qAICy6wCAMjkAgLfrAIBKOQCAgSoAgFo5AIBmOQCAbjkAgHY5AICFKgCAvOsAgKY5AICyOQCAiSoAgI0qAIC2OQCAwesAgJEqAIDG6wCAy+sAgNDrAICVKgCA9jkAgPo5AIACOgCACjoAgNrrAICQ1QEAkd0BAJLVAQCT7QEAlPUBAJXB+wCW8QEAl/n7AJjNAQCZ1QEAmt0BAJvVAQCcyfsAnckBAEUqAICPAAAAgNkBAIHZAQCC6QEAg+kBAIT5AQCF+QEAhukBAIfpAQCI2QEAidkBAIoJwQCLrQEAjLUBAI29AQCOtQEAj60BAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAACnAAAAqAAAAKkAAACqAAAAqwAAAKwAAACtAAAArgAAAK8AAACwAAAAsQAAALIAAACzAAAAtAAAALUAAAC2AAAAtwAAALgAAAC5AAAAugAAALsAAAC8AAAAvQAAAL4AAAC/AAAAACAAIMyBACDMgwAgzIQAIMyFACDMhgAgzIcAIMyIACDMiMyAACDMiMyBACDMiM2CACDMigAgzIsAIMyTACDMk8yAACDMk8yBACDMk82CACDMlAAgzJTMgAAgzJTMgQAgzJTNggAgzKcAIMyoACDMswAgzYIAIM2FACDZiwAg2YwAINmM2ZEAINmNACDZjdmRACDZjgAg2Y7ZkQAg2Y8AINmP2ZEAINmQACDZkNmRACDZkQAg2ZHZsAAg2ZIAIOOCmQAg44KaACEAISEAIT8AIgAjACQAJQAmACcAKAAoMSkAKDEwKQAoMTEpACgxMikAKDEzKQAoMTQpACgxNSkAKDE2KQAoMTcpACgxOCkAKDE5KQAoMikAKDIwKQAoMykAKDQpACg1KQAoNikAKDcpACg4KQAoOSkAKEEpAChCKQAoQykAKEQpAChFKQAoRikAKEcpAChIKQAoSSkAKEopAChLKQAoTCkAKE0pAChOKQAoTykAKFApAChRKQAoUikAKFMpAChUKQAoVSkAKFYpAChXKQAoWCkAKFkpAChaKQAoYSkAKGIpAChjKQAoZCkAKGUpAChmKQAoZykAKGgpAChpKQAoaikAKGspAChsKQAobSkAKG4pAChvKQAocCkAKHEpAChyKQAocykAKHQpACh1KQAodikAKHcpACh4KQAoeSkAKHopACjhhIApACjhhIIpACjhhIMpACjhhIUpACjhhIYpACjhhIcpACjhhIkpACjhhIspACjhhIwpACjhhI4pACjhhI8pACjhhJApACjhhJEpACjhhJIpACjkuIApACjkuIMpACjkuIkpACjkuZ0pACjkuowpACjkupQpACjku6MpACjkvIEpACjkvJEpACjlhaspACjlha0pACjlirQpACjljYEpACjljZQpACjlkI0pACjlkbwpACjlm5spACjlnJ8pACjlraYpACjml6UpACjmnIgpACjmnIkpACjmnKgpACjmoKopACjmsLQpACjngaspACjnibkpACjnm6MpACjnpL4pACjnpZ0pACjnpa0pACjoh6opACjoh7MpACjosqEpACjos4cpACjph5EpACjqsIApACjrgpgpACjri6QpACjrnbwpACjrp4gpACjrsJQpACjsgqwpACjslYQpACjsmKTsoIQpACjsmKTtm4QpACjsnpApACjso7wpACjssKgpACjsubQpACjtg4ApACjtjIwpACjtlZgpACkAKgArACwALQAuAC4uAC4uLgAvADAAMCwAMC4AMOKBhDMAMOeCuQAxADEsADEuADEwADEwLgAxMOaXpQAxMOaciAAxMOeCuQAxMQAxMS4AMTHml6UAMTHmnIgAMTHngrkAMTIAMTIuADEy5pelADEy5pyIADEy54K5ADEzADEzLgAxM+aXpQAxM+eCuQAxNAAxNC4AMTTml6UAMTTngrkAMTUAMTUuADE15pelADE154K5ADE2ADE2LgAxNuaXpQAxNueCuQAxNwAxNy4AMTfml6UAMTfngrkAMTgAMTguADE45pelADE454K5ADE5ADE5LgAxOeaXpQAxOeeCuQAx4oGEADHigYQxMAAx4oGEMgAx4oGEMwAx4oGENAAx4oGENQAx4oGENgAx4oGENwAx4oGEOAAx4oGEOQAx5pelADHmnIgAMeeCuQAyADIsADIuADIwADIwLgAyMOaXpQAyMOeCuQAyMQAyMeaXpQAyMeeCuQAyMgAyMuaXpQAyMueCuQAyMwAyM+aXpQAyM+eCuQAyNAAyNOaXpQAyNOeCuQAyNQAyNeaXpQAyNgAyNuaXpQAyNwAyN+aXpQAyOAAyOOaXpQAyOQAyOeaXpQAy4oGEMwAy4oGENQAy5pelADLmnIgAMueCuQAzADMsADMuADMwADMw5pelADMxADMx5pelADMyADMzADM0ADM1ADM2ADM3ADM4ADM5ADPigYQ0ADPigYQ1ADPigYQ4ADPml6UAM+aciAAz54K5ADQANCwANC4ANDAANDEANDIANDMANDQANDUANDYANDcANDgANDkANOKBhDUANOaXpQA05pyIADTngrkANQA1LAA1LgA1MAA14oGENgA14oGEOAA15pelADXmnIgANeeCuQA2ADYsADYuADbml6UANuaciAA254K5ADcANywANy4AN+KBhDgAN+aXpQA35pyIADfngrkAOAA4LAA4LgA45pelADjmnIgAOOeCuQA5ADksADkuADnml6UAOeaciAA554K5ADoAOjo9ADsAPAA9AD09AD09PQA+AD8APyEAPz8AQABBAEFVAEHiiJVtAEIAQnEAQwBDRABDby4AQ+KIlWtnAEQAREoARFoARHoARMW9AETFvgBFAEYARkFYAEcAR0IAR0h6AEdQYQBHeQBIAEhQAEhWAEhnAEh6AEkASUkASUlJAElKAElVAElWAElYAEoASwBLQgBLSwBLTQBMAExKAExURABMagBMwrcATQBNQgBNQwBNRABNSHoATVBhAE1WAE1XAE3OqQBOAE5KAE5qAE5vAE8AUABQSABQUE0AUFBWAFBSAFBURQBQYQBRAFIAUnMAUwBTRABTTQBTUwBTdgBUAFRFTABUSHoAVE0AVQBWAFZJAFZJSQBWSUlJAFbiiJVtAFcAV0MAV1oAV2IAWABYSQBYSUkAWQBaAFsAXABdAF4AXwBgAGEAYS5tLgBhL2MAYS9zAGHKvgBiAGJhcgBjAGMvbwBjL3UAY2FsAGNjAGNkAGNtAGNtMgBjbTMAZABkQgBkYQBkbABkbQBkbTIAZG0zAGR6AGTFvgBlAGVWAGVyZwBmAGZmAGZmaQBmZmwAZmkAZmwAZm0AZwBnYWwAaABoUGEAaGEAaQBpaQBpaWkAaWoAaW4AaXYAaXgAagBrAGtBAGtIegBrUGEAa1YAa1cAa2NhbABrZwBrbABrbQBrbTIAa20zAGt0AGvOqQBsAGxqAGxtAGxuAGxvZwBseABswrcAbQBtMgBtMwBtQQBtVgBtVwBtYgBtZwBtaWwAbWwAbW0AbW0yAG1tMwBtb2wAbXMAbeKIlXMAbeKIlXMyAG4AbkEAbkYAblYAblcAbmoAbm0AbnMAbwBvVgBwAHAubS4AcEEAcEYAcFYAcFcAcGMAcHMAcQByAHJhZAByYWTiiJVzAHJhZOKIlXMyAHMAc3IAc3QAdAB1AHYAdmkAdmlpAHZpaWkAdwB4AHhpAHhpaQB5AHoAewB8AH0AwqIAwqMAwqUAwqYAwqwAwrBDAMKwRgDCtwDDgADDgQDDggDDgwDDhADDhQDDhgDDhwDDiADDiQDDigDDiwDDjADDjQDDjgDDjwDDkQDDkgDDkwDDlADDlQDDlgDDmQDDmgDDmwDDnADDnQDDoADDoQDDogDDowDDpADDpQDDpwDDqADDqQDDqgDDqwDDrADDrQDDrgDDrwDDsADDsQDDsgDDswDDtADDtQDDtgDDuQDDugDDuwDDvADDvQDDvwDEgADEgQDEggDEgwDEhADEhQDEhgDEhwDEiADEiQDEigDEiwDEjADEjQDEjgDEjwDEkgDEkwDElADElQDElgDElwDEmADEmQDEmgDEmwDEnADEnQDEngDEnwDEoADEoQDEogDEowDEpADEpQDEpgDEpwDEqADEqQDEqgDEqwDErADErQDErgDErwDEsADEsQDEtADEtQDEtgDEtwDEuQDEugDEuwDEvADEvQDEvgDFgwDFhADFhQDFhgDFhwDFiADFiwDFjADFjQDFjgDFjwDFkADFkQDFkwDFlADFlQDFlgDFlwDFmADFmQDFmgDFmwDFnADFnQDFngDFnwDFoADFoQDFogDFowDFpADFpQDFqADFqQDFqgDFqwDFrADFrQDFrgDFrwDFsADFsQDFsgDFswDFtADFtQDFtgDFtwDFuADFuQDFugDFuwDFvADFvQDFvgDGjgDGkADGoADGoQDGqwDGrwDGsADHjQDHjgDHjwDHkADHkQDHkgDHkwDHlADHlQDHlgDHlwDHmADHmQDHmgDHmwDHnADHngDHnwDHoADHoQDHogDHowDHpgDHpwDHqADHqQDHqgDHqwDHrADHrQDHrgDHrwDHsADHtADHtQDHuADHuQDHugDHuwDHvADHvQDHvgDHvwDIgADIgQDIggDIgwDIhADIhQDIhgDIhwDIiADIiQDIigDIiwDIjADIjQDIjgDIjwDIkADIkQDIkgDIkwDIlADIlQDIlgDIlwDImADImQDImgDImwDIngDInwDIogDIpgDIpwDIqADIqQDIqgDIqwDIrADIrQDIrgDIrwDIsADIsQDIsgDIswDItwDJkADJkQDJkgDJlADJlQDJmQDJmwDJnADJnwDJoQDJowDJpQDJpgDJqADJqQDJqgDJqwDJrQDJrwDJsADJsQDJsgDJswDJtADJtQDJuADJuQDJuwDKgQDKggDKgwDKiQDKigDKiwDKjADKkADKkQDKkgDKlQDKnQDKnwDKuQDKvG4AzIAAzIEAzIjMgQDMkwDOhgDOiADOiQDOigDOjADOjgDOjwDOkADOkQDOkgDOkwDOlADOlQDOlgDOlwDOmADOmQDOmgDOmwDOnADOnQDOngDOnwDOoADOoQDOowDOpADOpQDOpgDOpwDOqADOqQDOqgDOqwDOrADOrQDOrgDOrwDOsADOsQDOsgDOswDOtADOtQDOtgDOtwDOuADOuQDOugDOuwDOvADOvEEAzrxGAM68VgDOvFcAzrxnAM68bADOvG0AzrxzAM69AM6+AM6/AM+AAM+BAM+CAM+DAM+EAM+FAM+GAM+HAM+IAM+JAM+KAM+LAM+MAM+NAM+OAM+cAM+dANCAANCBANCDANCHANCMANCNANCOANCZANC5ANC9ANGKANGMANGQANGRANGTANGXANGcANGdANGeANG2ANG3ANOBANOCANOQANORANOSANOTANOWANOXANOaANObANOcANOdANOeANOfANOiANOjANOkANOlANOmANOnANOqANOrANOsANOtANOuANOvANOwANOxANOyANOzANO0ANO1ANO4ANO5ANWl1oIA1bTVpQDVtNWrANW01a0A1bTVtgDVvtW2ANeQANeQ1rcA15DWuADXkNa8ANeQ15wA15EA15HWvADXkda/ANeSANeS1rwA15MA15PWvADXlADXlNa8ANeV1rkA15XWvADXlta8ANeY1rwA15nWtADXmda8ANea1rwA15sA15vWvADXm9a/ANecANec1rwA150A157WvADXoNa8ANeh1rwA16IA16PWvADXpNa8ANek1r8A16bWvADXp9a8ANeoANeo1rwA16nWvADXqda814EA16nWvNeCANep14EA16nXggDXqgDXqta8ANey1rcA2KEA2KIA2KMA2KQA2KUA2KYA2KbYpwDYptisANim2K0A2KbYrgDYptixANim2LIA2KbZhQDYptmGANim2YcA2KbZiADYptmJANim2YoA2KbbhgDYptuHANim24gA2KbbkADYptuVANinANin2YPYqNixANin2YTZhNmHANin2YsA2KfZtADYqADYqNisANio2K0A2KjYrdmKANio2K4A2KjYrtmKANio2LEA2KjYsgDYqNmFANio2YYA2KjZhwDYqNmJANio2YoA2KkA2KoA2KrYrADYqtis2YUA2KrYrNmJANiq2KzZigDYqtitANiq2K3YrADYqtit2YUA2KrYrgDYqtiu2YUA2KrYrtmJANiq2K7ZigDYqtixANiq2LIA2KrZhQDYqtmF2KwA2KrZhditANiq2YXYrgDYqtmF2YkA2KrZhdmKANiq2YYA2KrZhwDYqtmJANiq2YoA2KsA2KvYrADYq9ixANir2LIA2KvZhQDYq9mGANir2YcA2KvZiQDYq9mKANisANis2K0A2KzYrdmJANis2K3ZigDYrNmEINis2YTYp9mE2YcA2KzZhQDYrNmF2K0A2KzZhdmJANis2YXZigDYrNmJANis2YoA2K0A2K3YrADYrdis2YoA2K3ZhQDYrdmF2YkA2K3ZhdmKANit2YkA2K3ZigDYrgDYrtisANiu2K0A2K7ZhQDYrtmJANiu2YoA2K8A2LAA2LDZsADYsQDYsdiz2YjZhADYsdmwANix24zYp9mEANiyANizANiz2KwA2LPYrNitANiz2KzZiQDYs9itANiz2K3YrADYs9iuANiz2K7ZiQDYs9iu2YoA2LPYsQDYs9mFANiz2YXYrADYs9mF2K0A2LPZhdmFANiz2YcA2LPZiQDYs9mKANi0ANi02KwA2LTYrNmKANi02K0A2LTYrdmFANi02K3ZigDYtNiuANi02LEA2LTZhQDYtNmF2K4A2LTZhdmFANi02YcA2LTZiQDYtNmKANi1ANi12K0A2LXYrditANi12K3ZigDYtdiuANi12LEA2LXZhNi52YUA2LXZhNmJANi12YTZiSDYp9mE2YTZhyDYudmE2YrZhyDZiNiz2YTZhQDYtdmE25IA2LXZhQDYtdmF2YUA2LXZiQDYtdmKANi2ANi22KwA2LbYrQDYttit2YkA2LbYrdmKANi22K4A2LbYrtmFANi22LEA2LbZhQDYttmJANi22YoA2LcA2LfYrQDYt9mFANi32YXYrQDYt9mF2YUA2LfZhdmKANi32YkA2LfZigDYuADYuNmFANi5ANi52KwA2LnYrNmFANi52YTZitmHANi52YUA2LnZhdmFANi52YXZiQDYudmF2YoA2LnZiQDYudmKANi6ANi62KwA2LrZhQDYutmF2YUA2LrZhdmJANi62YXZigDYutmJANi62YoA2YDZiwDZgNmOANmA2Y7ZkQDZgNmPANmA2Y/ZkQDZgNmQANmA2ZDZkQDZgNmRANmA2ZIA2YEA2YHYrADZgditANmB2K4A2YHYrtmFANmB2YUA2YHZhdmKANmB2YkA2YHZigDZggDZgtitANmC2YTbkgDZgtmFANmC2YXYrQDZgtmF2YUA2YLZhdmKANmC2YkA2YLZigDZgwDZg9inANmD2KwA2YPYrQDZg9iuANmD2YQA2YPZhQDZg9mF2YUA2YPZhdmKANmD2YkA2YPZigDZhADZhNiiANmE2KMA2YTYpQDZhNinANmE2KwA2YTYrNisANmE2KzZhQDZhNis2YoA2YTYrQDZhNit2YUA2YTYrdmJANmE2K3ZigDZhNiuANmE2K7ZhQDZhNmFANmE2YXYrQDZhNmF2YoA2YTZhwDZhNmJANmE2YoA2YUA2YXYpwDZhdisANmF2KzYrQDZhdis2K4A2YXYrNmFANmF2KzZigDZhditANmF2K3YrADZhdit2YUA2YXYrdmF2K8A2YXYrdmKANmF2K4A2YXYrtisANmF2K7ZhQDZhdiu2YoA2YXZhQDZhdmF2YoA2YXZiQDZhdmKANmGANmG2KwA2YbYrNitANmG2KzZhQDZhtis2YkA2YbYrNmKANmG2K0A2YbYrdmFANmG2K3ZiQDZhtit2YoA2YbYrgDZhtixANmG2LIA2YbZhQDZhtmF2YkA2YbZhdmKANmG2YYA2YbZhwDZhtmJANmG2YoA2YcA2YfYrADZh9mFANmH2YXYrADZh9mF2YUA2YfZiQDZh9mKANmH2bAA2YgA2YjYs9mE2YUA2YjZtADZiQDZidmwANmKANmK2KwA2YrYrNmKANmK2K0A2YrYrdmKANmK2K4A2YrYsQDZitiyANmK2YUA2YrZhdmFANmK2YXZigDZitmGANmK2YcA2YrZiQDZitmKANmK2bQA2a4A2a8A2bEA2bkA2boA2bsA2b4A2b8A2oAA2oMA2oQA2oYA2ocA2ogA2owA2o0A2o4A2pEA2pgA2qEA2qQA2qYA2qkA2q0A2q8A2rEA2rMA2roA2rsA2r4A24AA24EA24IA24UA24YA24cA24fZtADbiADbiQDbiwDbjADbkADbkgDbkwDgpJXgpLwA4KSW4KS8AOCkl+CkvADgpJzgpLwA4KSh4KS8AOCkouCkvADgpKkA4KSr4KS8AOCkr+CkvADgpLEA4KS0AOCmoeCmvADgpqLgprwA4Kav4Ka8AOCniwDgp4wA4KiW4Ki8AOCol+CovADgqJzgqLwA4Kir4Ki8AOCosuCovADgqLjgqLwA4Kyh4Ky8AOCsouCsvADgrYgA4K2LAOCtjADgrpQA4K+KAOCviwDgr4wA4LGIAOCzgADgs4cA4LOIAOCzigDgs4sA4LWKAOC1iwDgtYwA4LeaAOC3nADgt50A4LeeAOC5jeC4sgDguqvgupkA4Lqr4LqhAOC7jeC6sgDgvIsA4L2A4L61AOC9guC+twDgvYzgvrcA4L2R4L63AOC9luC+twDgvZvgvrcA4L2x4L2yAOC9seC9tADgvbHgvoAA4L6Q4L61AOC+kuC+twDgvpzgvrcA4L6h4L63AOC+puC+twDgvqvgvrcA4L6y4L2x4L6AAOC+suC+gADgvrPgvbHgvoAA4L6z4L6AAOGApgDhg5wA4YSAAOGEgQDhhIIA4YSDAOGEhADhhIUA4YSGAOGEhwDhhIgA4YSJAOGEigDhhIsA4YSMAOGEjQDhhI4A4YSPAOGEkADhhJEA4YSSAOGElADhhJUA4YSaAOGEnADhhJ0A4YSeAOGEoADhhKEA4YSiAOGEowDhhKcA4YSpAOGEqwDhhKwA4YStAOGErgDhhK8A4YSyAOGEtgDhhYAA4YWHAOGFjADhhZcA4YWYAOGFmQDhhaAA4YWhAOGFogDhhaMA4YWkAOGFpQDhhaYA4YWnAOGFqADhhakA4YWqAOGFqwDhhawA4YWtAOGFrgDhha8A4YWwAOGFsQDhhbIA4YWzAOGFtADhhbUA4YaEAOGGhQDhhogA4YaRAOGGkgDhhpQA4YaeAOGGoQDhhqoA4YasAOGGrQDhhrAA4YaxAOGGsgDhhrMA4Ya0AOGGtQDhh4cA4YeIAOGHjADhh44A4YeTAOGHlwDhh5kA4YedAOGHnwDhh7EA4YeyAOGshgDhrIgA4ayKAOGsjADhrI4A4aySAOGsuwDhrL0A4a2AAOGtgQDhrYMA4bSCAOG0lgDhtJcA4bScAOG0nQDhtKUA4bW7AOG2hQDhuIAA4biBAOG4ggDhuIMA4biEAOG4hQDhuIYA4biHAOG4iADhuIkA4biKAOG4iwDhuIwA4biNAOG4jgDhuI8A4biQAOG4kQDhuJIA4biTAOG4lADhuJUA4biWAOG4lwDhuJgA4biZAOG4mgDhuJsA4bicAOG4nQDhuJ4A4bifAOG4oADhuKEA4biiAOG4owDhuKQA4bilAOG4pgDhuKcA4bioAOG4qQDhuKoA4birAOG4rADhuK0A4biuAOG4rwDhuLAA4bixAOG4sgDhuLMA4bi0AOG4tQDhuLYA4bi3AOG4uADhuLkA4bi6AOG4uwDhuLwA4bi9AOG4vgDhuL8A4bmAAOG5gQDhuYIA4bmDAOG5hADhuYUA4bmGAOG5hwDhuYgA4bmJAOG5igDhuYsA4bmMAOG5jQDhuY4A4bmPAOG5kADhuZEA4bmSAOG5kwDhuZQA4bmVAOG5lgDhuZcA4bmYAOG5mQDhuZoA4bmbAOG5nADhuZ0A4bmeAOG5nwDhuaAA4bmhAOG5ogDhuaMA4bmkAOG5pQDhuaYA4bmnAOG5qADhuakA4bmqAOG5qwDhuawA4bmtAOG5rgDhua8A4bmwAOG5sQDhubIA4bmzAOG5tADhubUA4bm2AOG5twDhubgA4bm5AOG5ugDhubsA4bm8AOG5vQDhub4A4bm/AOG6gADhuoEA4bqCAOG6gwDhuoQA4bqFAOG6hgDhuocA4bqIAOG6iQDhuooA4bqLAOG6jADhuo0A4bqOAOG6jwDhupAA4bqRAOG6kgDhupMA4bqUAOG6lQDhupYA4bqXAOG6mADhupkA4bqgAOG6oQDhuqIA4bqjAOG6pADhuqUA4bqmAOG6pwDhuqgA4bqpAOG6qgDhuqsA4bqsAOG6rQDhuq4A4bqvAOG6sADhurEA4bqyAOG6swDhurQA4bq1AOG6tgDhurcA4bq4AOG6uQDhuroA4bq7AOG6vADhur0A4bq+AOG6vwDhu4AA4buBAOG7ggDhu4MA4buEAOG7hQDhu4YA4buHAOG7iADhu4kA4buKAOG7iwDhu4wA4buNAOG7jgDhu48A4buQAOG7kQDhu5IA4buTAOG7lADhu5UA4buWAOG7lwDhu5gA4buZAOG7mgDhu5sA4bucAOG7nQDhu54A4bufAOG7oADhu6EA4buiAOG7owDhu6QA4bulAOG7pgDhu6cA4buoAOG7qQDhu6oA4burAOG7rADhu60A4buuAOG7rwDhu7AA4buxAOG7sgDhu7MA4bu0AOG7tQDhu7YA4bu3AOG7uADhu7kA4byAAOG8gQDhvIIA4byDAOG8hADhvIUA4byGAOG8hwDhvIgA4byJAOG8igDhvIsA4byMAOG8jQDhvI4A4byPAOG8kADhvJEA4bySAOG8kwDhvJQA4byVAOG8mADhvJkA4byaAOG8mwDhvJwA4bydAOG8oADhvKEA4byiAOG8owDhvKQA4bylAOG8pgDhvKcA4byoAOG8qQDhvKoA4byrAOG8rADhvK0A4byuAOG8rwDhvLAA4byxAOG8sgDhvLMA4by0AOG8tQDhvLYA4by3AOG8uADhvLkA4by6AOG8uwDhvLwA4by9AOG8vgDhvL8A4b2AAOG9gQDhvYIA4b2DAOG9hADhvYUA4b2IAOG9iQDhvYoA4b2LAOG9jADhvY0A4b2QAOG9kQDhvZIA4b2TAOG9lADhvZUA4b2WAOG9lwDhvZkA4b2bAOG9nQDhvZ8A4b2gAOG9oQDhvaIA4b2jAOG9pADhvaUA4b2mAOG9pwDhvagA4b2pAOG9qgDhvasA4b2sAOG9rQDhva4A4b2vAOG9sADhvbIA4b20AOG9tgDhvbgA4b26AOG9vADhvoAA4b6BAOG+ggDhvoMA4b6EAOG+hQDhvoYA4b6HAOG+iADhvokA4b6KAOG+iwDhvowA4b6NAOG+jgDhvo8A4b6QAOG+kQDhvpIA4b6TAOG+lADhvpUA4b6WAOG+lwDhvpgA4b6ZAOG+mgDhvpsA4b6cAOG+nQDhvp4A4b6fAOG+oADhvqEA4b6iAOG+owDhvqQA4b6lAOG+pgDhvqcA4b6oAOG+qQDhvqoA4b6rAOG+rADhvq0A4b6uAOG+rwDhvrAA4b6xAOG+sgDhvrMA4b60AOG+tgDhvrcA4b64AOG+uQDhvroA4b68AOG/ggDhv4MA4b+EAOG/hgDhv4cA4b+IAOG/igDhv4wA4b+QAOG/kQDhv5IA4b+WAOG/lwDhv5gA4b+ZAOG/mgDhv6AA4b+hAOG/ogDhv6QA4b+lAOG/pgDhv6cA4b+oAOG/qQDhv6oA4b+sAOG/sgDhv7MA4b+0AOG/tgDhv7cA4b+4AOG/ugDhv7wA4oCQAOKAkwDigJQA4oCy4oCyAOKAsuKAsuKAsgDigLLigLLigLLigLIA4oC14oC1AOKAteKAteKAtQDigqkA4oaQAOKGkQDihpIA4oaTAOKGmgDihpsA4oauAOKHjQDih44A4oePAOKIggDiiIQA4oiHAOKIiQDiiIwA4oiRAOKIkgDiiKQA4oimAOKIq+KIqwDiiKviiKviiKsA4oir4oir4oir4oirAOKIruKIrgDiiK7iiK7iiK4A4omBAOKJhADiiYcA4omJAOKJoADiiaIA4omtAOKJrgDiia8A4omwAOKJsQDiibQA4om1AOKJuADiibkA4oqAAOKKgQDiioQA4oqFAOKKiADiiokA4oqsAOKKrQDiiq4A4oqvAOKLoADii6EA4ouiAOKLowDii6oA4ourAOKLrADii60A4pSCAOKWoADil4sA4qaFAOKmhgDiq53MuADitaEA44CBAOOAggDjgIgA44CJAOOAigDjgIsA44CMAOOAjQDjgI4A44CPAOOAkADjgJEA44CSAOOAlADjgJRT44CVAOOAlOS4ieOAlQDjgJTkuozjgJUA44CU5Yud44CVAOOAlOWuieOAlQDjgJTmiZPjgJUA44CU5pWX44CVAOOAlOacrOOAlQDjgJTngrnjgJUA44CU55uX44CVAOOAlQDjgJYA44CXAOOBjADjgY4A44GQAOOBkgDjgZQA44GWAOOBmADjgZoA44GcAOOBngDjgaAA44GiAOOBpQDjgacA44GpAOOBsADjgbEA44GzAOOBtADjgbYA44G3AOOBuQDjgboA44G744GLAOOBvADjgb0A44KI44KKAOOClADjgpkA44KaAOOCngDjgqEA44KiAOOCouODkeODvOODiADjgqLjg6vjg5XjgqEA44Ki44Oz44Oa44KiAOOCouODvOODqwDjgqMA44KkAOOCpOODi+ODs+OCsADjgqTjg7Pjg4EA44KlAOOCpgDjgqbjgqnjg7MA44KnAOOCqADjgqjjgrnjgq/jg7zjg4kA44Ko44O844Kr44O8AOOCqQDjgqoA44Kq44Oz44K5AOOCquODvOODoADjgqsA44Kr44Kk44OqAOOCq+ODqeODg+ODiADjgqvjg63jg6rjg7wA44KsAOOCrOODreODswDjgqzjg7Pjg54A44KtAOOCreODpeODquODvADjgq3jg60A44Kt44Ot44Kw44Op44OgAOOCreODreODoeODvOODiOODqwDjgq3jg63jg6/jg4Pjg4gA44KuAOOCruOCrADjgq7jg4vjg7wA44Ku44Or44OA44O8AOOCrwDjgq/jg6vjgrzjgqTjg60A44Kv44Ot44O844ONAOOCsADjgrDjg6njg6AA44Kw44Op44Og44OI44OzAOOCsQDjgrHjg7zjgrkA44KyAOOCswDjgrPjgrMA44Kz44OIAOOCs+ODq+ODigDjgrPjg7zjg50A44K0AOOCtQDjgrXjgqTjgq/jg6sA44K144Oz44OB44O844OgAOOCtgDjgrcA44K344Oq44Oz44KwAOOCuADjgrkA44K6AOOCuwDjgrvjg7Pjg4EA44K744Oz44OIAOOCvADjgr0A44K+AOOCvwDjg4AA44OA44O844K5AOODgQDjg4IA44ODAOODhADjg4UA44OGAOODhwDjg4fjgrcA44OIAOODiOODswDjg4kA44OJ44OrAOODigDjg4rjg44A44OLAOODjADjg40A44OOAOODjuODg+ODiADjg48A44OP44Kk44OEAOODkADjg5Djg7zjg6zjg6sA44ORAOODkeODvOOCu+ODs+ODiADjg5Hjg7zjg4QA44OSAOODkwDjg5Pjg6sA44OUAOODlOOCouOCueODiOODqwDjg5Tjgq/jg6sA44OU44KzAOODlQDjg5XjgqHjg6njg4Pjg4kA44OV44Kj44O844OIAOODleODqeODswDjg5YA44OW44OD44K344Kn44OrAOODlwDjg5gA44OY44Kv44K/44O844OrAOODmOODq+ODhADjg5kA44OZ44O844K/AOODmgDjg5rjgr0A44Oa44OL44OSAOODmuODs+OCuQDjg5rjg7zjgrgA44ObAOODm+ODswDjg5vjg7zjg6sA44Ob44O844OzAOODnADjg5zjg6vjg4gA44OdAOODneOCpOODs+ODiADjg53jg7Pjg4kA44OeAOODnuOCpOOCr+ODrQDjg57jgqTjg6sA44Oe44OD44OPAOODnuODq+OCrwDjg57jg7Pjgrfjg6fjg7MA44OfAOODn+OCr+ODreODswDjg5/jg6oA44Of44Oq44OQ44O844OrAOODoADjg6EA44Oh44KsAOODoeOCrOODiOODswDjg6Hjg7zjg4jjg6sA44OiAOODowDjg6QA44Ok44O844OJAOODpOODvOODqwDjg6UA44OmAOODpuOCouODswDjg6cA44OoAOODqQDjg6oA44Oq44OD44OI44OrAOODquODqQDjg6sA44Or44OU44O8AOODq+ODvOODluODqwDjg6wA44Os44OgAOODrOODs+ODiOOCsuODswDjg60A44OvAOODr+ODg+ODiADjg7AA44OxAOODsgDjg7MA44O0AOODtwDjg7gA44O5AOODugDjg7sA44O8AOODvgDjkp4A45K5AOOSuwDjk58A45SVAOObrgDjm7wA456BAOOgrwDjoaIA46G8AOOjhwDjo6MA46ScAOOkugDjqK4A46msAOOrpADjrIgA46yZAOOtiQDjrp0A47CYAOOxjgDjtLMA47aWAOO6rADjurgA47ybAOO/vADkgIgA5ICYAOSAuQDkgYYA5IKWAOSDowDkhK8A5IiCAOSIpwDkiqAA5IyBAOSMtADkjZkA5I+VAOSPmQDkkIsA5JGrAOSUqwDklZ0A5JWhAOSVqwDkl5cA5Je5AOSYtQDkmr4A5JuHAOSmlQDkp6YA5KmuAOSptgDkqrIA5KyzAOSvjgDks44A5LOtAOSzuADktZYA5LiAAOS4gQDkuIMA5LiJAOS4igDkuIsA5LiNAOS4mQDkuKYA5LioAOS4rQDkuLIA5Li2AOS4uADkuLkA5Li9AOS4vwDkuYEA5LmZAOS5nQDkuoIA5LqFAOS6hgDkuowA5LqUAOS6oADkuqQA5LquAOS6ugDku4AA5LuMAOS7pADkvIEA5LyRAOS9oADkvoAA5L6GAOS+iwDkvq4A5L67AOS+vwDlgIIA5YCrAOWBugDlgpkA5YOPAOWDmgDlg6cA5YSqAOWEvwDlhYAA5YWFAOWFjQDlhZQA5YWkAOWFpQDlhacA5YWoAOWFqQDlhasA5YWtAOWFtwDlhoAA5YaCAOWGjQDlhpIA5YaVAOWGlgDlhpcA5YaZAOWGpADlhqsA5YasAOWGtQDlhrcA5YeJAOWHjADlh5wA5YeeAOWHoADlh7UA5YiAAOWIgwDliIcA5YiXAOWInQDliKkA5Yi6AOWIuwDliYYA5YmNAOWJsgDlibcA5YqJAOWKmwDliqMA5YqzAOWKtADli4cA5YuJAOWLkgDli54A5YukAOWLtQDli7kA5Yu6AOWMhQDljIYA5YyVAOWMlwDljJoA5Yy4AOWMuwDljL8A5Y2BAOWNhADljYUA5Y2JAOWNkQDljZQA5Y2aAOWNnADljakA5Y2wAOWNswDljbUA5Y29AOWNvwDljoIA5Y62AOWPgwDlj4gA5Y+KAOWPjADlj58A5Y+jAOWPpQDlj6sA5Y+vAOWPsQDlj7MA5ZCGAOWQiADlkI0A5ZCPAOWQnQDlkLgA5ZC5AOWRggDlkYgA5ZGoAOWSngDlkqIA5ZK9AOWTtgDllJAA5ZWPAOWVkwDllZUA5ZWjAOWWhADllocA5ZaZAOWWnQDllqsA5ZazAOWWtgDll4AA5ZeCAOWXogDlmIYA5ZmRAOWZqADlmbQA5ZuXAOWbmwDlm7kA5ZyWAOWclwDlnJ8A5ZywAOWeiwDln44A5Z+0AOWgjQDloLEA5aCyAOWhgADloZoA5aGeAOWiqADloqwA5aKzAOWjmADlo58A5aOrAOWjrgDlo7AA5aOyAOWjtwDlpIIA5aSGAOWkigDlpJUA5aSaAOWknADlpKIA5aSnAOWkp+atowDlpKkA5aWEAOWliADlpZEA5aWUAOWlogDlpbMA5aeYAOWnrADlqJsA5ainAOWpogDlqaYA5aq1AOWsiADlrKgA5ay+AOWtkADlrZcA5a2mAOWugADlroUA5a6XAOWvgwDlr5gA5a+nAOWvrgDlr7MA5a+4AOWvvwDlsIYA5bCPAOWwogDlsLgA5bC/AOWxoADlsaIA5bGkAOWxpQDlsa4A5bGxAOWyjQDls4AA5bSZAOW1gwDltZAA5bWrAOW1rgDltbwA5bayAOW2ugDlt5sA5behAOW3ogDlt6UA5bemAOW3sQDlt70A5be+AOW4qADluL0A5bmpAOW5sgDlubPmiJAA5bm0AOW5ugDlubwA5bm/AOW6pgDlurAA5bqzAOW6tgDlu4kA5buKAOW7kgDlu5MA5buZAOW7rADlu7QA5bu+AOW8hADlvIsA5byTAOW8ogDlvZAA5b2TAOW9oQDlvaIA5b2pAOW9qwDlvbMA5b6LAOW+jADlvpcA5b6aAOW+qQDlvq0A5b+DAOW/jQDlv5cA5b+1AOW/uQDmgJIA5oCcAOaBtQDmgoEA5oKUAOaDhwDmg5gA5oOhAOaEiADmhYQA5oWIAOaFjADmhY4A5oWgAOaFqADmhboA5oaOAOaGkADmhqQA5oavAOaGsgDmh54A5oeyAOaHtgDmiIAA5oiIAOaIkADmiJsA5oiuAOaItADmiLYA5omLAOaJkwDmiZ0A5oqVAOaKsQDmi4kA5ouPAOaLkwDmi5QA5ou8AOaLvgDmjIcA5oy9AOaNkADmjZUA5o2oAOaNuwDmjoMA5o6gAOaOqQDmj4QA5o+FAOaPpADmkJwA5pCiAOaRkgDmkakA5pG3AOaRvgDmkpoA5pKdAOaThADmlK8A5pS0AOaVjwDmlZYA5pWsAOaVuADmlocA5paXAOaWmQDmlqQA5pawAOaWuQDml4UA5pegAOaXogDml6MA5pelAOaYjuayuwDmmJMA5pigAOaYreWSjADmmYkA5pm0AOaaiADmmpEA5pqcAOaatADmm4YA5puwAOabtADmm7gA5pyAAOaciADmnIkA5pyXAOacmwDmnKEA5pyoAOadjgDmnZMA5p2WAOadngDmnbsA5p6FAOaelwDmn7MA5p+6AOaglwDmoJ8A5qCqAOagquW8j+S8muekvgDmoZIA5qKBAOaihQDmoo4A5qKoAOaklADmpYIA5qajAOanqgDmqIIA5qiTAOaqqADmq5MA5qubAOashADmrKAA5qyhAOatlADmraIA5q2jAOatsgDmrbcA5q25AOaunwDmrq4A5q6zAOauugDmrrsA5q+LAOavjQDmr5QA5q+bAOawjwDmsJQA5rC0AOaxjgDmsacA5rKIAOayvwDms4wA5rONAOazpQDms6gA5rSWAOa0mwDmtJ4A5rS0AOa0vgDmtYEA5rWpAOa1qgDmtbcA5rW4AOa2hQDmt4sA5reaAOa3qgDmt7kA5riaAOa4rwDmua4A5rqAAOa6nADmuroA5ruHAOa7iwDmu5EA5rubAOa8jwDmvJQA5ryiAOa8owDmva4A5r+GAOa/qwDmv74A54CbAOeAngDngLkA54GKAOeBqwDngbAA54G3AOeBvQDngpkA54KtAOeDiADng5kA54ShAOeFhQDnhYkA54WuAOeGnADnh44A54eQAOeIkADniJsA54ioAOeIqgDniKsA54i1AOeItgDniLsA54i/AOeJhwDniZAA54mZAOeJmwDniaIA54m5AOeKgADnipUA54qsAOeKrwDni4AA54u8AOeMqgDnjbUA5426AOeOhADnjocA546JAOeOiwDnjqUA546yAOePngDnkIYA55CJAOeQogDnkYcA55GcAOeRqQDnkbEA55KFAOeSiQDnkpgA55OKAOeTnADnk6YA55SGAOeUmADnlJ8A55SkAOeUqADnlLAA55SyAOeUswDnlLcA55S7AOeUvgDnlZkA55WlAOeVsADnlosA55aSAOeXogDnmJAA55idAOeYnwDnmYIA55mpAOeZtgDnmb0A55quAOeavwDnm4oA55ubAOebowDnm6cA55uuAOebtADnnIEA55yeAOecnwDnnYAA552KAOeeiwDnnqcA55+bAOefogDnn7MA56GOAOehqwDnoowA56KRAOejigDno4wA56O7AOekqgDnpLoA56S8AOekvgDnpYgA56WJAOelkADnpZYA56WdAOelngDnpaUA56W/AOemgQDnpo0A56aOAOemjwDnpq4A56a4AOemvgDnp4oA56eYAOenqwDnqJwA56mAAOepigDnqY8A56m0AOepugDnqoEA56qxAOeriwDnq64A56u5AOesoADnro8A56+AAOevhgDnr4kA57C+AOexoADnsbMA57G7AOeykgDnsr4A57OSAOezlgDns6MA57OnAOezqADns7gA57SAAOe0kADntKIA57SvAOe1ggDntZsA57WjAOe2oADntr4A57eHAOe3tADnuIIA57iJAOe4twDnuYEA57mFAOe8tgDnvL4A572RAOe9sgDnvbkA5726AOe+hQDnvooA576VAOe+mgDnvr0A57+6AOiAgQDogIUA6ICMAOiAkgDogLMA6IGGAOiBoADoga8A6IGwAOiBvgDogb8A6IKJAOiCiwDogq0A6IKyAOiEgwDohL4A6IeYAOiHowDoh6gA6IeqAOiHrQDoh7MA6Ie8AOiIgQDoiIQA6IiMAOiImADoiJsA6IifAOiJrgDoia8A6ImyAOiJuADoibkA6IqLAOiKkQDoip0A6IqxAOiKswDoir0A6IulAOiLpgDojJ0A6IyjAOiMtgDojZIA6I2TAOiNowDojq0A6I69AOiPiQDoj4oA6I+MAOiPnADoj6cA6I+vAOiPsQDokL0A6JGJAOiRlwDok64A6JOxAOiTswDok7wA6JSWAOiVpADol40A6Je6AOiYhgDomJIA6JitAOiYvwDomY0A6JmQAOiZnADomacA6JmpAOiZqwDomogA6JqpAOibogDonI4A6JyoAOidqwDonbkA6J6GAOieugDon6EA6KCBAOignwDooYAA6KGMAOihoADooaMA6KOCAOijjwDoo5cA6KOeAOijoQDoo7gA6KO6AOikkADopYEA6KWkAOilvgDopoYA6KaLAOimlgDop5IA6KejAOiogADoqqAA6KqqAOiqvwDoq4sA6KuSAOirlgDoq60A6Ku4AOirvgDorIEA6Ky5AOitmADoroAA6K6KAOiwtwDosYYA6LGIAOixlQDosbgA6LKdAOiyoQDosqkA6LKrAOizgQDos4IA6LOHAOiziADos5MA6LSIAOi0mwDotaQA6LWwAOi1twDotrMA6La8AOi3iwDot68A6LewAOi6qwDou4oA6LuUAOi8pgDovKoA6Ly4AOi8uwDovaIA6L6bAOi+ngDovrAA6L61AOi+tgDpgKMA6YC4AOmBigDpgakA6YGyAOmBvADpgo8A6YKRAOmClADpg44A6YOeAOmDsQDpg70A6YSRAOmEmwDphYkA6YWqAOmGmQDphrQA6YeGAOmHjADph48A6YeRAOmItADpiLgA6Ym2AOmJvADpi5cA6YuYAOmMhADpjYoA6Y+5AOmQlQDplbcA6ZaAAOmWiwDplq0A6Za3AOmYnADpmK4A6ZmLAOmZjQDpmbUA6Zm4AOmZvADpmoYA6ZqjAOmatgDpmrcA6Zq4AOmauQDpm4MA6ZuiAOmbowDpm6gA6Zu2AOmbtwDpnKMA6ZyyAOmdiADpnZEA6Z2WAOmdngDpnaIA6Z2pAOmfiwDpn5sA6Z+gAOmfrQDpn7MA6Z+/AOmggQDpoIUA6aCLAOmgmADpoKkA6aC7AOmhngDpoqgA6aObAOmjnwDpo6IA6aOvAOmjvADppKgA6aSpAOmmlgDpppkA6aanAOmmrADpp4IA6aexAOmnvgDpqaoA6aqoAOmrmADpq58A6aySAOmspQDprK8A6ayyAOmsvADprZoA6a2vAOmxgADpsZcA6bOlAOmzvQDptacA6ba0AOm3ugDpuJ4A6bm1AOm5vwDpupcA6bqfAOm6pQDpursA6buDAOm7jQDpu44A6buRAOm7uQDpu70A6bu+AOm8hQDpvI4A6byPAOm8kwDpvJYA6bygAOm8uwDpvYMA6b2KAOm9kgDpvo0A6b6OAOm+nADpvp8A6b6gAOqcpwDqna8A6qy3AOqtkgDqsIAA6rCBAOqwggDqsIMA6rCEAOqwhQDqsIYA6rCHAOqwiADqsIkA6rCKAOqwiwDqsIwA6rCNAOqwjgDqsI8A6rCQAOqwkQDqsJIA6rCTAOqwlADqsJUA6rCWAOqwlwDqsJgA6rCZAOqwmgDqsJsA6rCcAOqwnQDqsJ4A6rCfAOqwoADqsKEA6rCiAOqwowDqsKQA6rClAOqwpgDqsKcA6rCoAOqwqQDqsKoA6rCrAOqwrADqsK0A6rCuAOqwrwDqsLAA6rCxAOqwsgDqsLMA6rC0AOqwtQDqsLYA6rC3AOqwuADqsLkA6rC6AOqwuwDqsLwA6rC9AOqwvgDqsL8A6rGAAOqxgQDqsYIA6rGDAOqxhADqsYUA6rGGAOqxhwDqsYgA6rGJAOqxigDqsYsA6rGMAOqxjQDqsY4A6rGPAOqxkADqsZEA6rGSAOqxkwDqsZQA6rGVAOqxlgDqsZcA6rGYAOqxmQDqsZoA6rGbAOqxnADqsZ0A6rGeAOqxnwDqsaAA6rGhAOqxogDqsaMA6rGkAOqxpQDqsaYA6rGnAOqxqADqsakA6rGqAOqxqwDqsawA6rGtAOqxrgDqsa8A6rGwAOqxsQDqsbIA6rGzAOqxtADqsbUA6rG2AOqxtwDqsbgA6rG5AOqxugDqsbsA6rG8AOqxvQDqsb4A6rG/AOqygADqsoEA6rKCAOqygwDqsoQA6rKFAOqyhgDqsocA6rKIAOqyiQDqsooA6rKLAOqyjADqso0A6rKOAOqyjwDqspAA6rKRAOqykgDqspMA6rKUAOqylQDqspYA6rKXAOqymADqspkA6rKaAOqymwDqspwA6rKdAOqyngDqsp8A6rKgAOqyoQDqsqIA6rKjAOqypADqsqUA6rKmAOqypwDqsqgA6rKpAOqyqgDqsqsA6rKsAOqyrQDqsq4A6rKvAOqysADqsrEA6rKyAOqyswDqsrQA6rK1AOqytgDqsrcA6rK4AOqyuQDqsroA6rK7AOqyvADqsr0A6rK+AOqyvwDqs4AA6rOBAOqzggDqs4MA6rOEAOqzhQDqs4YA6rOHAOqziADqs4kA6rOKAOqziwDqs4wA6rONAOqzjgDqs48A6rOQAOqzkQDqs5IA6rOTAOqzlADqs5UA6rOWAOqzlwDqs5gA6rOZAOqzmgDqs5sA6rOcAOqznQDqs54A6rOfAOqzoADqs6EA6rOiAOqzowDqs6QA6rOlAOqzpgDqs6cA6rOoAOqzqQDqs6oA6rOrAOqzrADqs60A6rOuAOqzrwDqs7AA6rOxAOqzsgDqs7MA6rO0AOqztQDqs7YA6rO3AOqzuADqs7kA6rO6AOqzuwDqs7wA6rO9AOqzvgDqs78A6rSAAOq0gQDqtIIA6rSDAOq0hADqtIUA6rSGAOq0hwDqtIgA6rSJAOq0igDqtIsA6rSMAOq0jQDqtI4A6rSPAOq0kADqtJEA6rSSAOq0kwDqtJQA6rSVAOq0lgDqtJcA6rSYAOq0mQDqtJoA6rSbAOq0nADqtJ0A6rSeAOq0nwDqtKAA6rShAOq0ogDqtKMA6rSkAOq0pQDqtKYA6rSnAOq0qADqtKkA6rSqAOq0qwDqtKwA6rStAOq0rgDqtK8A6rSwAOq0sQDqtLIA6rSzAOq0tADqtLUA6rS2AOq0twDqtLgA6rS5AOq0ugDqtLsA6rS8AOq0vQDqtL4A6rS/AOq1gADqtYEA6rWCAOq1gwDqtYQA6rWFAOq1hgDqtYcA6rWIAOq1iQDqtYoA6rWLAOq1jADqtY0A6rWOAOq1jwDqtZAA6rWRAOq1kgDqtZMA6rWUAOq1lQDqtZYA6rWXAOq1mADqtZkA6rWaAOq1mwDqtZwA6rWdAOq1ngDqtZ8A6rWgAOq1oQDqtaIA6rWjAOq1pADqtaUA6rWmAOq1pwDqtagA6rWpAOq1qgDqtasA6rWsAOq1rQDqta4A6rWvAOq1sADqtbEA6rWyAOq1swDqtbQA6rW1AOq1tgDqtbcA6rW4AOq1uQDqtboA6rW7AOq1vADqtb0A6rW+AOq1vwDqtoAA6raBAOq2ggDqtoMA6raEAOq2hQDqtoYA6raHAOq2iADqtokA6raKAOq2iwDqtowA6raNAOq2jgDqto8A6raQAOq2kQDqtpIA6raTAOq2lADqtpUA6raWAOq2lwDqtpgA6raZAOq2mgDqtpsA6racAOq2nQDqtp4A6rafAOq2oADqtqEA6raiAOq2owDqtqQA6ralAOq2pgDqtqcA6raoAOq2qQDqtqoA6rarAOq2rADqtq0A6rauAOq2rwDqtrAA6raxAOq2sgDqtrMA6ra0AOq2tQDqtrYA6ra3AOq2uADqtrkA6ra6AOq2uwDqtrwA6ra9AOq2vgDqtr8A6reAAOq3gQDqt4IA6reDAOq3hADqt4UA6reGAOq3hwDqt4gA6reJAOq3igDqt4sA6reMAOq3jQDqt44A6rePAOq3kADqt5EA6reSAOq3kwDqt5QA6reVAOq3lgDqt5cA6reYAOq3mQDqt5oA6rebAOq3nADqt50A6reeAOq3nwDqt6AA6rehAOq3ogDqt6MA6rekAOq3pQDqt6YA6renAOq3qADqt6kA6reqAOq3qwDqt6wA6retAOq3rgDqt68A6rewAOq3sQDqt7IA6rezAOq3tADqt7UA6re2AOq3twDqt7gA6re5AOq3ugDqt7sA6re8AOq3vQDqt74A6re/AOq4gADquIEA6riCAOq4gwDquIQA6riFAOq4hgDquIcA6riIAOq4iQDquIoA6riLAOq4jADquI0A6riOAOq4jwDquJAA6riRAOq4kgDquJMA6riUAOq4lQDquJYA6riXAOq4mADquJkA6riaAOq4mwDquJwA6ridAOq4ngDquJ8A6rigAOq4oQDquKIA6rijAOq4pADquKUA6rimAOq4pwDquKgA6ripAOq4qgDquKsA6risAOq4rQDquK4A6rivAOq4sADquLEA6riyAOq4swDquLQA6ri1AOq4tgDquLcA6ri4AOq4uQDquLoA6ri7AOq4vADquL0A6ri+AOq4vwDquYAA6rmBAOq5ggDquYMA6rmEAOq5hQDquYYA6rmHAOq5iADquYkA6rmKAOq5iwDquYwA6rmNAOq5jgDquY8A6rmQAOq5kQDquZIA6rmTAOq5lADquZUA6rmWAOq5lwDquZgA6rmZAOq5mgDquZsA6rmcAOq5nQDquZ4A6rmfAOq5oADquaEA6rmiAOq5owDquaQA6rmlAOq5pgDquacA6rmoAOq5qQDquaoA6rmrAOq5rADqua0A6rmuAOq5rwDqubAA6rmxAOq5sgDqubMA6rm0AOq5tQDqubYA6rm3AOq5uADqubkA6rm6AOq5uwDqubwA6rm9AOq5vgDqub8A6rqAAOq6gQDquoIA6rqDAOq6hADquoUA6rqGAOq6hwDquogA6rqJAOq6igDquosA6rqMAOq6jQDquo4A6rqPAOq6kADqupEA6rqSAOq6kwDqupQA6rqVAOq6lgDqupcA6rqYAOq6mQDqupoA6rqbAOq6nADqup0A6rqeAOq6nwDquqAA6rqhAOq6ogDquqMA6rqkAOq6pQDquqYA6rqnAOq6qADquqkA6rqqAOq6qwDquqwA6rqtAOq6rgDquq8A6rqwAOq6sQDqurIA6rqzAOq6tADqurUA6rq2AOq6twDqurgA6rq5AOq6ugDqursA6rq8AOq6vQDqur4A6rq/AOq7gADqu4EA6ruCAOq7gwDqu4QA6ruFAOq7hgDqu4cA6ruIAOq7iQDqu4oA6ruLAOq7jADqu40A6ruOAOq7jwDqu5AA6ruRAOq7kgDqu5MA6ruUAOq7lQDqu5YA6ruXAOq7mADqu5kA6ruaAOq7mwDqu5wA6rudAOq7ngDqu58A6rugAOq7oQDqu6IA6rujAOq7pADqu6UA6rumAOq7pwDqu6gA6rupAOq7qgDqu6sA6rusAOq7rQDqu64A6ruvAOq7sADqu7EA6ruyAOq7swDqu7QA6ru1AOq7tgDqu7cA6ru4AOq7uQDqu7oA6ru7AOq7vADqu70A6ru+AOq7vwDqvIAA6ryBAOq8ggDqvIMA6ryEAOq8hQDqvIYA6ryHAOq8iADqvIkA6ryKAOq8iwDqvIwA6ryNAOq8jgDqvI8A6ryQAOq8kQDqvJIA6ryTAOq8lADqvJUA6ryWAOq8lwDqvJgA6ryZAOq8mgDqvJsA6rycAOq8nQDqvJ4A6ryfAOq8oADqvKEA6ryiAOq8owDqvKQA6rylAOq8pgDqvKcA6ryoAOq8qQDqvKoA6ryrAOq8rADqvK0A6ryuAOq8rwDqvLAA6ryxAOq8sgDqvLMA6ry0AOq8tQDqvLYA6ry3AOq8uADqvLkA6ry6AOq8uwDqvLwA6ry9AOq8vgDqvL8A6r2AAOq9gQDqvYIA6r2DAOq9hADqvYUA6r2GAOq9hwDqvYgA6r2JAOq9igDqvYsA6r2MAOq9jQDqvY4A6r2PAOq9kADqvZEA6r2SAOq9kwDqvZQA6r2VAOq9lgDqvZcA6r2YAOq9mQDqvZoA6r2bAOq9nADqvZ0A6r2eAOq9nwDqvaAA6r2hAOq9ogDqvaMA6r2kAOq9pQDqvaYA6r2nAOq9qADqvakA6r2qAOq9qwDqvawA6r2tAOq9rgDqva8A6r2wAOq9sQDqvbIA6r2zAOq9tADqvbUA6r22AOq9twDqvbgA6r25AOq9ugDqvbsA6r28AOq9vQDqvb4A6r2/AOq+gADqvoEA6r6CAOq+gwDqvoQA6r6FAOq+hgDqvocA6r6IAOq+iQDqvooA6r6LAOq+jADqvo0A6r6OAOq+jwDqvpAA6r6RAOq+kgDqvpMA6r6UAOq+lQDqvpYA6r6XAOq+mADqvpkA6r6aAOq+mwDqvpwA6r6dAOq+ngDqvp8A6r6gAOq+oQDqvqIA6r6jAOq+pADqvqUA6r6mAOq+pwDqvqgA6r6pAOq+qgDqvqsA6r6sAOq+rQDqvq4A6r6vAOq+sADqvrEA6r6yAOq+swDqvrQA6r61AOq+tgDqvrcA6r64AOq+uQDqvroA6r67AOq+vADqvr0A6r6+AOq+vwDqv4AA6r+BAOq/ggDqv4MA6r+EAOq/hQDqv4YA6r+HAOq/iADqv4kA6r+KAOq/iwDqv4wA6r+NAOq/jgDqv48A6r+QAOq/kQDqv5IA6r+TAOq/lADqv5UA6r+WAOq/lwDqv5gA6r+ZAOq/mgDqv5sA6r+cAOq/nQDqv54A6r+fAOq/oADqv6EA6r+iAOq/owDqv6QA6r+lAOq/pgDqv6cA6r+oAOq/qQDqv6oA6r+rAOq/rADqv60A6r+uAOq/rwDqv7AA6r+xAOq/sgDqv7MA6r+0AOq/tQDqv7YA6r+3AOq/uADqv7kA6r+6AOq/uwDqv7wA6r+9AOq/vgDqv78A64CAAOuAgQDrgIIA64CDAOuAhADrgIUA64CGAOuAhwDrgIgA64CJAOuAigDrgIsA64CMAOuAjQDrgI4A64CPAOuAkADrgJEA64CSAOuAkwDrgJQA64CVAOuAlgDrgJcA64CYAOuAmQDrgJoA64CbAOuAnADrgJ0A64CeAOuAnwDrgKAA64ChAOuAogDrgKMA64CkAOuApQDrgKYA64CnAOuAqADrgKkA64CqAOuAqwDrgKwA64CtAOuArgDrgK8A64CwAOuAsQDrgLIA64CzAOuAtADrgLUA64C2AOuAtwDrgLgA64C5AOuAugDrgLsA64C8AOuAvQDrgL4A64C/AOuBgADrgYEA64GCAOuBgwDrgYQA64GFAOuBhgDrgYcA64GIAOuBiQDrgYoA64GLAOuBjADrgY0A64GOAOuBjwDrgZAA64GRAOuBkgDrgZMA64GUAOuBlQDrgZYA64GXAOuBmADrgZkA64GaAOuBmwDrgZwA64GdAOuBngDrgZ8A64GgAOuBoQDrgaIA64GjAOuBpADrgaUA64GmAOuBpwDrgagA64GpAOuBqgDrgasA64GsAOuBrQDrga4A64GvAOuBsADrgbEA64GyAOuBswDrgbQA64G1AOuBtgDrgbcA64G4AOuBuQDrgboA64G7AOuBvADrgb0A64G+AOuBvwDrgoAA64KBAOuCggDrgoMA64KEAOuChQDrgoYA64KHAOuCiADrgokA64KKAOuCiwDrgowA64KNAOuCjgDrgo8A64KQAOuCkQDrgpIA64KTAOuClADrgpUA64KWAOuClwDrgpgA64KZAOuCmgDrgpsA64KcAOuCnQDrgp4A64KfAOuCoADrgqEA64KiAOuCowDrgqQA64KlAOuCpgDrgqcA64KoAOuCqQDrgqoA64KrAOuCrADrgq0A64KuAOuCrwDrgrAA64KxAOuCsgDrgrMA64K0AOuCtQDrgrYA64K3AOuCuADrgrkA64K6AOuCuwDrgrwA64K9AOuCvgDrgr8A64OAAOuDgQDrg4IA64ODAOuDhADrg4UA64OGAOuDhwDrg4gA64OJAOuDigDrg4sA64OMAOuDjQDrg44A64OPAOuDkADrg5EA64OSAOuDkwDrg5QA64OVAOuDlgDrg5cA64OYAOuDmQDrg5oA64ObAOuDnADrg50A64OeAOuDnwDrg6AA64OhAOuDogDrg6MA64OkAOuDpQDrg6YA64OnAOuDqADrg6kA64OqAOuDqwDrg6wA64OtAOuDrgDrg68A64OwAOuDsQDrg7IA64OzAOuDtADrg7UA64O2AOuDtwDrg7gA64O5AOuDugDrg7sA64O8AOuDvQDrg74A64O/AOuEgADrhIEA64SCAOuEgwDrhIQA64SFAOuEhgDrhIcA64SIAOuEiQDrhIoA64SLAOuEjADrhI0A64SOAOuEjwDrhJAA64SRAOuEkgDrhJMA64SUAOuElQDrhJYA64SXAOuEmADrhJkA64SaAOuEmwDrhJwA64SdAOuEngDrhJ8A64SgAOuEoQDrhKIA64SjAOuEpADrhKUA64SmAOuEpwDrhKgA64SpAOuEqgDrhKsA64SsAOuErQDrhK4A64SvAOuEsADrhLEA64SyAOuEswDrhLQA64S1AOuEtgDrhLcA64S4AOuEuQDrhLoA64S7AOuEvADrhL0A64S+AOuEvwDrhYAA64WBAOuFggDrhYMA64WEAOuFhQDrhYYA64WHAOuFiADrhYkA64WKAOuFiwDrhYwA64WNAOuFjgDrhY8A64WQAOuFkQDrhZIA64WTAOuFlADrhZUA64WWAOuFlwDrhZgA64WZAOuFmgDrhZsA64WcAOuFnQDrhZ4A64WfAOuFoADrhaEA64WiAOuFowDrhaQA64WlAOuFpgDrhacA64WoAOuFqQDrhaoA64WrAOuFrADrha0A64WuAOuFrwDrhbAA64WxAOuFsgDrhbMA64W0AOuFtQDrhbYA64W3AOuFuADrhbkA64W6AOuFuwDrhbwA64W9AOuFvgDrhb8A64aAAOuGgQDrhoIA64aDAOuGhADrhoUA64aGAOuGhwDrhogA64aJAOuGigDrhosA64aMAOuGjQDrho4A64aPAOuGkADrhpEA64aSAOuGkwDrhpQA64aVAOuGlgDrhpcA64aYAOuGmQDrhpoA64abAOuGnADrhp0A64aeAOuGnwDrhqAA64ahAOuGogDrhqMA64akAOuGpQDrhqYA64anAOuGqADrhqkA64aqAOuGqwDrhqwA64atAOuGrgDrhq8A64awAOuGsQDrhrIA64azAOuGtADrhrUA64a2AOuGtwDrhrgA64a5AOuGugDrhrsA64a8AOuGvQDrhr4A64a/AOuHgADrh4EA64eCAOuHgwDrh4QA64eFAOuHhgDrh4cA64eIAOuHiQDrh4oA64eLAOuHjADrh40A64eOAOuHjwDrh5AA64eRAOuHkgDrh5MA64eUAOuHlQDrh5YA64eXAOuHmADrh5kA64eaAOuHmwDrh5wA64edAOuHngDrh58A64egAOuHoQDrh6IA64ejAOuHpADrh6UA64emAOuHpwDrh6gA64epAOuHqgDrh6sA64esAOuHrQDrh64A64evAOuHsADrh7EA64eyAOuHswDrh7QA64e1AOuHtgDrh7cA64e4AOuHuQDrh7oA64e7AOuHvADrh70A64e+AOuHvwDriIAA64iBAOuIggDriIMA64iEAOuIhQDriIYA64iHAOuIiADriIkA64iKAOuIiwDriIwA64iNAOuIjgDriI8A64iQAOuIkQDriJIA64iTAOuIlADriJUA64iWAOuIlwDriJgA64iZAOuImgDriJsA64icAOuInQDriJ4A64ifAOuIoADriKEA64iiAOuIowDriKQA64ilAOuIpgDriKcA64ioAOuIqQDriKoA64irAOuIrADriK0A64iuAOuIrwDriLAA64ixAOuIsgDriLMA64i0AOuItQDriLYA64i3AOuIuADriLkA64i6AOuIuwDriLwA64i9AOuIvgDriL8A64mAAOuJgQDriYIA64mDAOuJhADriYUA64mGAOuJhwDriYgA64mJAOuJigDriYsA64mMAOuJjQDriY4A64mPAOuJkADriZEA64mSAOuJkwDriZQA64mVAOuJlgDriZcA64mYAOuJmQDriZoA64mbAOuJnADriZ0A64meAOuJnwDriaAA64mhAOuJogDriaMA64mkAOuJpQDriaYA64mnAOuJqADriakA64mqAOuJqwDriawA64mtAOuJrgDria8A64mwAOuJsQDribIA64mzAOuJtADribUA64m2AOuJtwDribgA64m5AOuJugDribsA64m8AOuJvQDrib4A64m/AOuKgADrioEA64qCAOuKgwDrioQA64qFAOuKhgDriocA64qIAOuKiQDriooA64qLAOuKjADrio0A64qOAOuKjwDripAA64qRAOuKkgDripMA64qUAOuKlQDripYA64qXAOuKmADripkA64qaAOuKmwDripwA64qdAOuKngDrip8A64qgAOuKoQDriqIA64qjAOuKpADriqUA64qmAOuKpwDriqgA64qpAOuKqgDriqsA64qsAOuKrQDriq4A64qvAOuKsADrirEA64qyAOuKswDrirQA64q1AOuKtgDrircA64q4AOuKuQDriroA64q7AOuKvADrir0A64q+AOuKvwDri4AA64uBAOuLggDri4MA64uEAOuLhQDri4YA64uHAOuLiADri4kA64uKAOuLiwDri4wA64uNAOuLjgDri48A64uQAOuLkQDri5IA64uTAOuLlADri5UA64uWAOuLlwDri5gA64uZAOuLmgDri5sA64ucAOuLnQDri54A64ufAOuLoADri6EA64uiAOuLowDri6QA64ulAOuLpgDri6cA64uoAOuLqQDri6oA64urAOuLrADri60A64uuAOuLrwDri7AA64uxAOuLsgDri7MA64u0AOuLtQDri7YA64u3AOuLuADri7kA64u6AOuLuwDri7wA64u9AOuLvgDri78A64yAAOuMgQDrjIIA64yDAOuMhADrjIUA64yGAOuMhwDrjIgA64yJAOuMigDrjIsA64yMAOuMjQDrjI4A64yPAOuMkADrjJEA64ySAOuMkwDrjJQA64yVAOuMlgDrjJcA64yYAOuMmQDrjJoA64ybAOuMnADrjJ0A64yeAOuMnwDrjKAA64yhAOuMogDrjKMA64ykAOuMpQDrjKYA64ynAOuMqADrjKkA64yqAOuMqwDrjKwA64ytAOuMrgDrjK8A64ywAOuMsQDrjLIA64yzAOuMtADrjLUA64y2AOuMtwDrjLgA64y5AOuMugDrjLsA64y8AOuMvQDrjL4A64y/AOuNgADrjYEA642CAOuNgwDrjYQA642FAOuNhgDrjYcA642IAOuNiQDrjYoA642LAOuNjADrjY0A642OAOuNjwDrjZAA642RAOuNkgDrjZMA642UAOuNlQDrjZYA642XAOuNmADrjZkA642aAOuNmwDrjZwA642dAOuNngDrjZ8A642gAOuNoQDrjaIA642jAOuNpADrjaUA642mAOuNpwDrjagA642pAOuNqgDrjasA642sAOuNrQDrja4A642vAOuNsADrjbEA642yAOuNswDrjbQA6421AOuNtgDrjbcA6424AOuNuQDrjboA6427AOuNvADrjb0A642+AOuNvwDrjoAA646BAOuOggDrjoMA646EAOuOhQDrjoYA646HAOuOiADrjokA646KAOuOiwDrjowA646NAOuOjgDrjo8A646QAOuOkQDrjpIA646TAOuOlADrjpUA646WAOuOlwDrjpgA646ZAOuOmgDrjpsA646cAOuOnQDrjp4A646fAOuOoADrjqEA646iAOuOowDrjqQA646lAOuOpgDrjqcA646oAOuOqQDrjqoA646rAOuOrADrjq0A646uAOuOrwDrjrAA646xAOuOsgDrjrMA6460AOuOtQDrjrYA6463AOuOuADrjrkA6466AOuOuwDrjrwA6469AOuOvgDrjr8A64+AAOuPgQDrj4IA64+DAOuPhADrj4UA64+GAOuPhwDrj4gA64+JAOuPigDrj4sA64+MAOuPjQDrj44A64+PAOuPkADrj5EA64+SAOuPkwDrj5QA64+VAOuPlgDrj5cA64+YAOuPmQDrj5oA64+bAOuPnADrj50A64+eAOuPnwDrj6AA64+hAOuPogDrj6MA64+kAOuPpQDrj6YA64+nAOuPqADrj6kA64+qAOuPqwDrj6wA64+tAOuPrgDrj68A64+wAOuPsQDrj7IA64+zAOuPtADrj7UA64+2AOuPtwDrj7gA64+5AOuPugDrj7sA64+8AOuPvQDrj74A64+/AOuQgADrkIEA65CCAOuQgwDrkIQA65CFAOuQhgDrkIcA65CIAOuQiQDrkIoA65CLAOuQjADrkI0A65COAOuQjwDrkJAA65CRAOuQkgDrkJMA65CUAOuQlQDrkJYA65CXAOuQmADrkJkA65CaAOuQmwDrkJwA65CdAOuQngDrkJ8A65CgAOuQoQDrkKIA65CjAOuQpADrkKUA65CmAOuQpwDrkKgA65CpAOuQqgDrkKsA65CsAOuQrQDrkK4A65CvAOuQsADrkLEA65CyAOuQswDrkLQA65C1AOuQtgDrkLcA65C4AOuQuQDrkLoA65C7AOuQvADrkL0A65C+AOuQvwDrkYAA65GBAOuRggDrkYMA65GEAOuRhQDrkYYA65GHAOuRiADrkYkA65GKAOuRiwDrkYwA65GNAOuRjgDrkY8A65GQAOuRkQDrkZIA65GTAOuRlADrkZUA65GWAOuRlwDrkZgA65GZAOuRmgDrkZsA65GcAOuRnQDrkZ4A65GfAOuRoADrkaEA65GiAOuRowDrkaQA65GlAOuRpgDrkacA65GoAOuRqQDrkaoA65GrAOuRrADrka0A65GuAOuRrwDrkbAA65GxAOuRsgDrkbMA65G0AOuRtQDrkbYA65G3AOuRuADrkbkA65G6AOuRuwDrkbwA65G9AOuRvgDrkb8A65KAAOuSgQDrkoIA65KDAOuShADrkoUA65KGAOuShwDrkogA65KJAOuSigDrkosA65KMAOuSjQDrko4A65KPAOuSkADrkpEA65KSAOuSkwDrkpQA65KVAOuSlgDrkpcA65KYAOuSmQDrkpoA65KbAOuSnADrkp0A65KeAOuSnwDrkqAA65KhAOuSogDrkqMA65KkAOuSpQDrkqYA65KnAOuSqADrkqkA65KqAOuSqwDrkqwA65KtAOuSrgDrkq8A65KwAOuSsQDrkrIA65KzAOuStADrkrUA65K2AOuStwDrkrgA65K5AOuSugDrkrsA65K8AOuSvQDrkr4A65K/AOuTgADrk4EA65OCAOuTgwDrk4QA65OFAOuThgDrk4cA65OIAOuTiQDrk4oA65OLAOuTjADrk40A65OOAOuTjwDrk5AA65ORAOuTkgDrk5MA65OUAOuTlQDrk5YA65OXAOuTmADrk5kA65OaAOuTmwDrk5wA65OdAOuTngDrk58A65OgAOuToQDrk6IA65OjAOuTpADrk6UA65OmAOuTpwDrk6gA65OpAOuTqgDrk6sA65OsAOuTrQDrk64A65OvAOuTsADrk7EA65OyAOuTswDrk7QA65O1AOuTtgDrk7cA65O4AOuTuQDrk7oA65O7AOuTvADrk70A65O+AOuTvwDrlIAA65SBAOuUggDrlIMA65SEAOuUhQDrlIYA65SHAOuUiADrlIkA65SKAOuUiwDrlIwA65SNAOuUjgDrlI8A65SQAOuUkQDrlJIA65STAOuUlADrlJUA65SWAOuUlwDrlJgA65SZAOuUmgDrlJsA65ScAOuUnQDrlJ4A65SfAOuUoADrlKEA65SiAOuUowDrlKQA65SlAOuUpgDrlKcA65SoAOuUqQDrlKoA65SrAOuUrADrlK0A65SuAOuUrwDrlLAA65SxAOuUsgDrlLMA65S0AOuUtQDrlLYA65S3AOuUuADrlLkA65S6AOuUuwDrlLwA65S9AOuUvgDrlL8A65WAAOuVgQDrlYIA65WDAOuVhADrlYUA65WGAOuVhwDrlYgA65WJAOuVigDrlYsA65WMAOuVjQDrlY4A65WPAOuVkADrlZEA65WSAOuVkwDrlZQA65WVAOuVlgDrlZcA65WYAOuVmQDrlZoA65WbAOuVnADrlZ0A65WeAOuVnwDrlaAA65WhAOuVogDrlaMA65WkAOuVpQDrlaYA65WnAOuVqADrlakA65WqAOuVqwDrlawA65WtAOuVrgDrla8A65WwAOuVsQDrlbIA65WzAOuVtADrlbUA65W2AOuVtwDrlbgA65W5AOuVugDrlbsA65W8AOuVvQDrlb4A65W/AOuWgADrloEA65aCAOuWgwDrloQA65aFAOuWhgDrlocA65aIAOuWiQDrlooA65aLAOuWjADrlo0A65aOAOuWjwDrlpAA65aRAOuWkgDrlpMA65aUAOuWlQDrlpYA65aXAOuWmADrlpkA65aaAOuWmwDrlpwA65adAOuWngDrlp8A65agAOuWoQDrlqIA65ajAOuWpADrlqUA65amAOuWpwDrlqgA65apAOuWqgDrlqsA65asAOuWrQDrlq4A65avAOuWsADrlrEA65ayAOuWswDrlrQA65a1AOuWtgDrlrcA65a4AOuWuQDrlroA65a7AOuWvADrlr0A65a+AOuWvwDrl4AA65eBAOuXggDrl4MA65eEAOuXhQDrl4YA65eHAOuXiADrl4kA65eKAOuXiwDrl4wA65eNAOuXjgDrl48A65eQAOuXkQDrl5IA65eTAOuXlADrl5UA65eWAOuXlwDrl5gA65eZAOuXmgDrl5sA65ecAOuXnQDrl54A65efAOuXoADrl6EA65eiAOuXowDrl6QA65elAOuXpgDrl6cA65eoAOuXqQDrl6oA65erAOuXrADrl60A65euAOuXrwDrl7AA65exAOuXsgDrl7MA65e0AOuXtQDrl7YA65e3AOuXuADrl7kA65e6AOuXuwDrl7wA65e9AOuXvgDrl78A65iAAOuYgQDrmIIA65iDAOuYhADrmIUA65iGAOuYhwDrmIgA65iJAOuYigDrmIsA65iMAOuYjQDrmI4A65iPAOuYkADrmJEA65iSAOuYkwDrmJQA65iVAOuYlgDrmJcA65iYAOuYmQDrmJoA65ibAOuYnADrmJ0A65ieAOuYnwDrmKAA65ihAOuYogDrmKMA65ikAOuYpQDrmKYA65inAOuYqADrmKkA65iqAOuYqwDrmKwA65itAOuYrgDrmK8A65iwAOuYsQDrmLIA65izAOuYtADrmLUA65i2AOuYtwDrmLgA65i5AOuYugDrmLsA65i8AOuYvQDrmL4A65i/AOuZgADrmYEA65mCAOuZgwDrmYQA65mFAOuZhgDrmYcA65mIAOuZiQDrmYoA65mLAOuZjADrmY0A65mOAOuZjwDrmZAA65mRAOuZkgDrmZMA65mUAOuZlQDrmZYA65mXAOuZmADrmZkA65maAOuZmwDrmZwA65mdAOuZngDrmZ8A65mgAOuZoQDrmaIA65mjAOuZpADrmaUA65mmAOuZpwDrmagA65mpAOuZqgDrmasA65msAOuZrQDrma4A65mvAOuZsADrmbEA65myAOuZswDrmbQA65m1AOuZtgDrmbcA65m4AOuZuQDrmboA65m7AOuZvADrmb0A65m+AOuZvwDrmoAA65qBAOuaggDrmoMA65qEAOuahQDrmoYA65qHAOuaiADrmokA65qKAOuaiwDrmowA65qNAOuajgDrmo8A65qQAOuakQDrmpIA65qTAOualADrmpUA65qWAOualwDrmpgA65qZAOuamgDrmpsA65qcAOuanQDrmp4A65qfAOuaoADrmqEA65qiAOuaowDrmqQA65qlAOuapgDrmqcA65qoAOuaqQDrmqoA65qrAOuarADrmq0A65quAOuarwDrmrAA65qxAOuasgDrmrMA65q0AOuatQDrmrYA65q3AOuauADrmrkA65q6AOuauwDrmrwA65q9AOuavgDrmr8A65uAAOubgQDrm4IA65uDAOubhADrm4UA65uGAOubhwDrm4gA65uJAOubigDrm4sA65uMAOubjQDrm44A65uPAOubkADrm5EA65uSAOubkwDrm5QA65uVAOublgDrm5cA65uYAOubmQDrm5oA65ubAOubnADrm50A65ueAOubnwDrm6AA65uhAOubogDrm6MA65ukAOubpQDrm6YA65unAOubqADrm6kA65uqAOubqwDrm6wA65utAOubrgDrm68A65uwAOubsQDrm7IA65uzAOubtADrm7UA65u2AOubtwDrm7gA65u5AOubugDrm7sA65u8AOubvQDrm74A65u/AOucgADrnIEA65yCAOucgwDrnIQA65yFAOuchgDrnIcA65yIAOuciQDrnIoA65yLAOucjADrnI0A65yOAOucjwDrnJAA65yRAOuckgDrnJMA65yUAOuclQDrnJYA65yXAOucmADrnJkA65yaAOucmwDrnJwA65ydAOucngDrnJ8A65ygAOucoQDrnKIA65yjAOucpADrnKUA65ymAOucpwDrnKgA65ypAOucqgDrnKsA65ysAOucrQDrnK4A65yvAOucsADrnLEA65yyAOucswDrnLQA65y1AOuctgDrnLcA65y4AOucuQDrnLoA65y7AOucvADrnL0A65y+AOucvwDrnYAA652BAOudggDrnYMA652EAOudhQDrnYYA652HAOudiADrnYkA652KAOudiwDrnYwA652NAOudjgDrnY8A652QAOudkQDrnZIA652TAOudlADrnZUA652WAOudlwDrnZgA652ZAOudmgDrnZsA652cAOudnQDrnZ4A652fAOudoADrnaEA652iAOudowDrnaQA652lAOudpgDrnacA652oAOudqQDrnaoA652rAOudrADrna0A652uAOudrwDrnbAA652xAOudsgDrnbMA6520AOudtQDrnbYA6523AOuduADrnbkA6526AOuduwDrnbwA6529AOudvgDrnb8A656AAOuegQDrnoIA656DAOuehADrnoUA656GAOuehwDrnogA656JAOueigDrnosA656MAOuejQDrno4A656PAOuekADrnpEA656SAOuekwDrnpQA656VAOuelgDrnpcA656YAOuemQDrnpoA656bAOuenADrnp0A656eAOuenwDrnqAA656hAOueogDrnqMA656kAOuepQDrnqYA656nAOueqADrnqkA656qAOueqwDrnqwA656tAOuergDrnq8A656wAOuesQDrnrIA656zAOuetADrnrUA6562AOuetwDrnrgA6565AOueugDrnrsA6568AOuevQDrnr4A656/AOufgADrn4EA65+CAOufgwDrn4QA65+FAOufhgDrn4cA65+IAOufiQDrn4oA65+LAOufjADrn40A65+OAOufjwDrn5AA65+RAOufkgDrn5MA65+UAOuflQDrn5YA65+XAOufmADrn5kA65+aAOufmwDrn5wA65+dAOufngDrn58A65+gAOufoQDrn6IA65+jAOufpADrn6UA65+mAOufpwDrn6gA65+pAOufqgDrn6sA65+sAOufrQDrn64A65+vAOufsADrn7EA65+yAOufswDrn7QA65+1AOuftgDrn7cA65+4AOufuQDrn7oA65+7AOufvADrn70A65++AOufvwDroIAA66CBAOugggDroIMA66CEAOughQDroIYA66CHAOugiADroIkA66CKAOugiwDroIwA66CNAOugjgDroI8A66CQAOugkQDroJIA66CTAOuglADroJUA66CWAOuglwDroJgA66CZAOugmgDroJsA66CcAOugnQDroJ4A66CfAOugoADroKEA66CiAOugowDroKQA66ClAOugpgDroKcA66CoAOugqQDroKoA66CrAOugrADroK0A66CuAOugrwDroLAA66CxAOugsgDroLMA66C0AOugtQDroLYA66C3AOuguADroLkA66C6AOuguwDroLwA66C9AOugvgDroL8A66GAAOuhgQDroYIA66GDAOuhhADroYUA66GGAOuhhwDroYgA66GJAOuhigDroYsA66GMAOuhjQDroY4A66GPAOuhkADroZEA66GSAOuhkwDroZQA66GVAOuhlgDroZcA66GYAOuhmQDroZoA66GbAOuhnADroZ0A66GeAOuhnwDroaAA66GhAOuhogDroaMA66GkAOuhpQDroaYA66GnAOuhqADroakA66GqAOuhqwDroawA66GtAOuhrgDroa8A66GwAOuhsQDrobIA66GzAOuhtADrobUA66G2AOuhtwDrobgA66G5AOuhugDrobsA66G8AOuhvQDrob4A66G/AOuigADrooEA66KCAOuigwDrooQA66KFAOuihgDroocA66KIAOuiiQDroooA66KLAOuijADroo0A66KOAOuijwDropAA66KRAOuikgDropMA66KUAOuilQDropYA66KXAOuimADropkA66KaAOuimwDropwA66KdAOuingDrop8A66KgAOuioQDroqIA66KjAOuipADroqUA66KmAOuipwDroqgA66KpAOuiqgDroqsA66KsAOuirQDroq4A66KvAOuisADrorEA66KyAOuiswDrorQA66K1AOuitgDrorcA66K4AOuiuQDroroA66K7AOuivADror0A66K+AOuivwDro4AA66OBAOujggDro4MA66OEAOujhQDro4YA66OHAOujiADro4kA66OKAOujiwDro4wA66ONAOujjgDro48A66OQAOujkQDro5IA66OTAOujlADro5UA66OWAOujlwDro5gA66OZAOujmgDro5sA66OcAOujnQDro54A66OfAOujoADro6EA66OiAOujowDro6QA66OlAOujpgDro6cA66OoAOujqQDro6oA66OrAOujrADro60A66OuAOujrwDro7AA66OxAOujsgDro7MA66O0AOujtQDro7YA66O3AOujuADro7kA66O6AOujuwDro7wA66O9AOujvgDro78A66SAAOukgQDrpIIA66SDAOukhADrpIUA66SGAOukhwDrpIgA66SJAOukigDrpIsA66SMAOukjQDrpI4A66SPAOukkADrpJEA66SSAOukkwDrpJQA66SVAOuklgDrpJcA66SYAOukmQDrpJoA66SbAOuknADrpJ0A66SeAOuknwDrpKAA66ShAOukogDrpKMA66SkAOukpQDrpKYA66SnAOukqADrpKkA66SqAOukqwDrpKwA66StAOukrgDrpK8A66SwAOuksQDrpLIA66SzAOuktADrpLUA66S2AOuktwDrpLgA66S5AOukugDrpLsA66S8AOukvQDrpL4A66S/AOulgADrpYEA66WCAOulgwDrpYQA66WFAOulhgDrpYcA66WIAOuliQDrpYoA66WLAOuljADrpY0A66WOAOuljwDrpZAA66WRAOulkgDrpZMA66WUAOullQDrpZYA66WXAOulmADrpZkA66WaAOulmwDrpZwA66WdAOulngDrpZ8A66WgAOuloQDrpaIA66WjAOulpADrpaUA66WmAOulpwDrpagA66WpAOulqgDrpasA66WsAOulrQDrpa4A66WvAOulsADrpbEA66WyAOulswDrpbQA66W1AOultgDrpbcA66W4AOuluQDrpboA66W7AOulvADrpb0A66W+AOulvwDrpoAA66aBAOumggDrpoMA66aEAOumhQDrpoYA66aHAOumiADrpokA66aKAOumiwDrpowA66aNAOumjgDrpo8A66aQAOumkQDrppIA66aTAOumlADrppUA66aWAOumlwDrppgA66aZAOummgDrppsA66acAOumnQDrpp4A66afAOumoADrpqEA66aiAOumowDrpqQA66alAOumpgDrpqcA66aoAOumqQDrpqoA66arAOumrADrpq0A66auAOumrwDrprAA66axAOumsgDrprMA66a0AOumtQDrprYA66a3AOumuADrprkA66a6AOumuwDrprwA66a9AOumvgDrpr8A66eAAOungQDrp4IA66eDAOunhADrp4UA66eGAOunhwDrp4gA66eJAOunigDrp4sA66eMAOunjQDrp44A66ePAOunkADrp5EA66eSAOunkwDrp5QA66eVAOunlgDrp5cA66eYAOunmQDrp5oA66ebAOunnADrp50A66eeAOunnwDrp6AA66ehAOunogDrp6MA66ekAOunpQDrp6YA66enAOunqADrp6kA66eqAOunqwDrp6wA66etAOunrgDrp68A66ewAOunsQDrp7IA66ezAOuntADrp7UA66e2AOuntwDrp7gA66e5AOunugDrp7sA66e8AOunvQDrp74A66e/AOuogADrqIEA66iCAOuogwDrqIQA66iFAOuohgDrqIcA66iIAOuoiQDrqIoA66iLAOuojADrqI0A66iOAOuojwDrqJAA66iRAOuokgDrqJMA66iUAOuolQDrqJYA66iXAOuomADrqJkA66iaAOuomwDrqJwA66idAOuongDrqJ8A66igAOuooQDrqKIA66ijAOuopADrqKUA66imAOuopwDrqKgA66ipAOuoqgDrqKsA66isAOuorQDrqK4A66ivAOuosADrqLEA66iyAOuoswDrqLQA66i1AOuotgDrqLcA66i4AOuouQDrqLoA66i7AOuovADrqL0A66i+AOuovwDrqYAA66mBAOupggDrqYMA66mEAOuphQDrqYYA66mHAOupiADrqYkA66mKAOupiwDrqYwA66mNAOupjgDrqY8A66mQAOupkQDrqZIA66mTAOuplADrqZUA66mWAOuplwDrqZgA66mZAOupmgDrqZsA66mcAOupnQDrqZ4A66mfAOupoADrqaEA66miAOupowDrqaQA66mlAOuppgDrqacA66moAOupqQDrqaoA66mrAOuprADrqa0A66muAOuprwDrqbAA66mxAOupsgDrqbMA66m0AOuptQDrqbYA66m3AOupuADrqbkA66m6AOupuwDrqbwA66m9AOupvgDrqb8A66qAAOuqgQDrqoIA66qDAOuqhADrqoUA66qGAOuqhwDrqogA66qJAOuqigDrqosA66qMAOuqjQDrqo4A66qPAOuqkADrqpEA66qSAOuqkwDrqpQA66qVAOuqlgDrqpcA66qYAOuqmQDrqpoA66qbAOuqnADrqp0A66qeAOuqnwDrqqAA66qhAOuqogDrqqMA66qkAOuqpQDrqqYA66qnAOuqqADrqqkA66qqAOuqqwDrqqwA66qtAOuqrgDrqq8A66qwAOuqsQDrqrIA66qzAOuqtADrqrUA66q2AOuqtwDrqrgA66q5AOuqugDrqrsA66q8AOuqvQDrqr4A66q/AOurgADrq4EA66uCAOurgwDrq4QA66uFAOurhgDrq4cA66uIAOuriQDrq4oA66uLAOurjADrq40A66uOAOurjwDrq5AA66uRAOurkgDrq5MA66uUAOurlQDrq5YA66uXAOurmADrq5kA66uaAOurmwDrq5wA66udAOurngDrq58A66ugAOuroQDrq6IA66ujAOurpADrq6UA66umAOurpwDrq6gA66upAOurqgDrq6sA66usAOurrQDrq64A66uvAOursADrq7EA66uyAOurswDrq7QA66u1AOurtgDrq7cA66u4AOuruQDrq7oA66u7AOurvADrq70A66u+AOurvwDrrIAA66yBAOusggDrrIMA66yEAOushQDrrIYA66yHAOusiADrrIkA66yKAOusiwDrrIwA66yNAOusjgDrrI8A66yQAOuskQDrrJIA66yTAOuslADrrJUA66yWAOuslwDrrJgA66yZAOusmgDrrJsA66ycAOusnQDrrJ4A66yfAOusoADrrKEA66yiAOusowDrrKQA66ylAOuspgDrrKcA66yoAOusqQDrrKoA66yrAOusrADrrK0A66yuAOusrwDrrLAA66yxAOussgDrrLMA66y0AOustQDrrLYA66y3AOusuADrrLkA66y6AOusuwDrrLwA66y9AOusvgDrrL8A662AAOutgQDrrYIA662DAOuthADrrYUA662GAOuthwDrrYgA662JAOutigDrrYsA662MAOutjQDrrY4A662PAOutkADrrZEA662SAOutkwDrrZQA662VAOutlgDrrZcA662YAOutmQDrrZoA662bAOutnADrrZ0A662eAOutnwDrraAA662hAOutogDrraMA662kAOutpQDrraYA662nAOutqADrrakA662qAOutqwDrrawA662tAOutrgDrra8A662wAOutsQDrrbIA662zAOuttADrrbUA6622AOuttwDrrbgA6625AOutugDrrbsA6628AOutvQDrrb4A662/AOuugADrroEA666CAOuugwDrroQA666FAOuuhgDrrocA666IAOuuiQDrrooA666LAOuujADrro0A666OAOuujwDrrpAA666RAOuukgDrrpMA666UAOuulQDrrpYA666XAOuumADrrpkA666aAOuumwDrrpwA666dAOuungDrrp8A666gAOuuoQDrrqIA666jAOuupADrrqUA666mAOuupwDrrqgA666pAOuuqgDrrqsA666sAOuurQDrrq4A666vAOuusADrrrEA666yAOuuswDrrrQA6661AOuutgDrrrcA6664AOuuuQDrrroA6667AOuuvADrrr0A666+AOuuvwDrr4AA66+BAOuvggDrr4MA66+EAOuvhQDrr4YA66+HAOuviADrr4kA66+KAOuviwDrr4wA66+NAOuvjgDrr48A66+QAOuvkQDrr5IA66+TAOuvlADrr5UA66+WAOuvlwDrr5gA66+ZAOuvmgDrr5sA66+cAOuvnQDrr54A66+fAOuvoADrr6EA66+iAOuvowDrr6QA66+lAOuvpgDrr6cA66+oAOuvqQDrr6oA66+rAOuvrADrr60A66+uAOuvrwDrr7AA66+xAOuvsgDrr7MA66+0AOuvtQDrr7YA66+3AOuvuADrr7kA66+6AOuvuwDrr7wA66+9AOuvvgDrr78A67CAAOuwgQDrsIIA67CDAOuwhADrsIUA67CGAOuwhwDrsIgA67CJAOuwigDrsIsA67CMAOuwjQDrsI4A67CPAOuwkADrsJEA67CSAOuwkwDrsJQA67CVAOuwlgDrsJcA67CYAOuwmQDrsJoA67CbAOuwnADrsJ0A67CeAOuwnwDrsKAA67ChAOuwogDrsKMA67CkAOuwpQDrsKYA67CnAOuwqADrsKkA67CqAOuwqwDrsKwA67CtAOuwrgDrsK8A67CwAOuwsQDrsLIA67CzAOuwtADrsLUA67C2AOuwtwDrsLgA67C5AOuwugDrsLsA67C8AOuwvQDrsL4A67C/AOuxgADrsYEA67GCAOuxgwDrsYQA67GFAOuxhgDrsYcA67GIAOuxiQDrsYoA67GLAOuxjADrsY0A67GOAOuxjwDrsZAA67GRAOuxkgDrsZMA67GUAOuxlQDrsZYA67GXAOuxmADrsZkA67GaAOuxmwDrsZwA67GdAOuxngDrsZ8A67GgAOuxoQDrsaIA67GjAOuxpADrsaUA67GmAOuxpwDrsagA67GpAOuxqgDrsasA67GsAOuxrQDrsa4A67GvAOuxsADrsbEA67GyAOuxswDrsbQA67G1AOuxtgDrsbcA67G4AOuxuQDrsboA67G7AOuxvADrsb0A67G+AOuxvwDrsoAA67KBAOuyggDrsoMA67KEAOuyhQDrsoYA67KHAOuyiADrsokA67KKAOuyiwDrsowA67KNAOuyjgDrso8A67KQAOuykQDrspIA67KTAOuylADrspUA67KWAOuylwDrspgA67KZAOuymgDrspsA67KcAOuynQDrsp4A67KfAOuyoADrsqEA67KiAOuyowDrsqQA67KlAOuypgDrsqcA67KoAOuyqQDrsqoA67KrAOuyrADrsq0A67KuAOuyrwDrsrAA67KxAOuysgDrsrMA67K0AOuytQDrsrYA67K3AOuyuADrsrkA67K6AOuyuwDrsrwA67K9AOuyvgDrsr8A67OAAOuzgQDrs4IA67ODAOuzhADrs4UA67OGAOuzhwDrs4gA67OJAOuzigDrs4sA67OMAOuzjQDrs44A67OPAOuzkADrs5EA67OSAOuzkwDrs5QA67OVAOuzlgDrs5cA67OYAOuzmQDrs5oA67ObAOuznADrs50A67OeAOuznwDrs6AA67OhAOuzogDrs6MA67OkAOuzpQDrs6YA67OnAOuzqADrs6kA67OqAOuzqwDrs6wA67OtAOuzrgDrs68A67OwAOuzsQDrs7IA67OzAOuztADrs7UA67O2AOuztwDrs7gA67O5AOuzugDrs7sA67O8AOuzvQDrs74A67O/AOu0gADrtIEA67SCAOu0gwDrtIQA67SFAOu0hgDrtIcA67SIAOu0iQDrtIoA67SLAOu0jADrtI0A67SOAOu0jwDrtJAA67SRAOu0kgDrtJMA67SUAOu0lQDrtJYA67SXAOu0mADrtJkA67SaAOu0mwDrtJwA67SdAOu0ngDrtJ8A67SgAOu0oQDrtKIA67SjAOu0pADrtKUA67SmAOu0pwDrtKgA67SpAOu0qgDrtKsA67SsAOu0rQDrtK4A67SvAOu0sADrtLEA67SyAOu0swDrtLQA67S1AOu0tgDrtLcA67S4AOu0uQDrtLoA67S7AOu0vADrtL0A67S+AOu0vwDrtYAA67WBAOu1ggDrtYMA67WEAOu1hQDrtYYA67WHAOu1iADrtYkA67WKAOu1iwDrtYwA67WNAOu1jgDrtY8A67WQAOu1kQDrtZIA67WTAOu1lADrtZUA67WWAOu1lwDrtZgA67WZAOu1mgDrtZsA67WcAOu1nQDrtZ4A67WfAOu1oADrtaEA67WiAOu1owDrtaQA67WlAOu1pgDrtacA67WoAOu1qQDrtaoA67WrAOu1rADrta0A67WuAOu1rwDrtbAA67WxAOu1sgDrtbMA67W0AOu1tQDrtbYA67W3AOu1uADrtbkA67W6AOu1uwDrtbwA67W9AOu1vgDrtb8A67aAAOu2gQDrtoIA67aDAOu2hADrtoUA67aGAOu2hwDrtogA67aJAOu2igDrtosA67aMAOu2jQDrto4A67aPAOu2kADrtpEA67aSAOu2kwDrtpQA67aVAOu2lgDrtpcA67aYAOu2mQDrtpoA67abAOu2nADrtp0A67aeAOu2nwDrtqAA67ahAOu2ogDrtqMA67akAOu2pQDrtqYA67anAOu2qADrtqkA67aqAOu2qwDrtqwA67atAOu2rgDrtq8A67awAOu2sQDrtrIA67azAOu2tADrtrUA67a2AOu2twDrtrgA67a5AOu2ugDrtrsA67a8AOu2vQDrtr4A67a/AOu3gADrt4EA67eCAOu3gwDrt4QA67eFAOu3hgDrt4cA67eIAOu3iQDrt4oA67eLAOu3jADrt40A67eOAOu3jwDrt5AA67eRAOu3kgDrt5MA67eUAOu3lQDrt5YA67eXAOu3mADrt5kA67eaAOu3mwDrt5wA67edAOu3ngDrt58A67egAOu3oQDrt6IA67ejAOu3pADrt6UA67emAOu3pwDrt6gA67epAOu3qgDrt6sA67esAOu3rQDrt64A67evAOu3sADrt7EA67eyAOu3swDrt7QA67e1AOu3tgDrt7cA67e4AOu3uQDrt7oA67e7AOu3vADrt70A67e+AOu3vwDruIAA67iBAOu4ggDruIMA67iEAOu4hQDruIYA67iHAOu4iADruIkA67iKAOu4iwDruIwA67iNAOu4jgDruI8A67iQAOu4kQDruJIA67iTAOu4lADruJUA67iWAOu4lwDruJgA67iZAOu4mgDruJsA67icAOu4nQDruJ4A67ifAOu4oADruKEA67iiAOu4owDruKQA67ilAOu4pgDruKcA67ioAOu4qQDruKoA67irAOu4rADruK0A67iuAOu4rwDruLAA67ixAOu4sgDruLMA67i0AOu4tQDruLYA67i3AOu4uADruLkA67i6AOu4uwDruLwA67i9AOu4vgDruL8A67mAAOu5gQDruYIA67mDAOu5hADruYUA67mGAOu5hwDruYgA67mJAOu5igDruYsA67mMAOu5jQDruY4A67mPAOu5kADruZEA67mSAOu5kwDruZQA67mVAOu5lgDruZcA67mYAOu5mQDruZoA67mbAOu5nADruZ0A67meAOu5nwDruaAA67mhAOu5ogDruaMA67mkAOu5pQDruaYA67mnAOu5qADruakA67mqAOu5qwDruawA67mtAOu5rgDrua8A67mwAOu5sQDrubIA67mzAOu5tADrubUA67m2AOu5twDrubgA67m5AOu5ugDrubsA67m8AOu5vQDrub4A67m/AOu6gADruoEA67qCAOu6gwDruoQA67qFAOu6hgDruocA67qIAOu6iQDruooA67qLAOu6jADruo0A67qOAOu6jwDrupAA67qRAOu6kgDrupMA67qUAOu6lQDrupYA67qXAOu6mADrupkA67qaAOu6mwDrupwA67qdAOu6ngDrup8A67qgAOu6oQDruqIA67qjAOu6pADruqUA67qmAOu6pwDruqgA67qpAOu6qgDruqsA67qsAOu6rQDruq4A67qvAOu6sADrurEA67qyAOu6swDrurQA67q1AOu6tgDrurcA67q4AOu6uQDruroA67q7AOu6vADrur0A67q+AOu6vwDru4AA67uBAOu7ggDru4MA67uEAOu7hQDru4YA67uHAOu7iADru4kA67uKAOu7iwDru4wA67uNAOu7jgDru48A67uQAOu7kQDru5IA67uTAOu7lADru5UA67uWAOu7lwDru5gA67uZAOu7mgDru5sA67ucAOu7nQDru54A67ufAOu7oADru6EA67uiAOu7owDru6QA67ulAOu7pgDru6cA67uoAOu7qQDru6oA67urAOu7rADru60A67uuAOu7rwDru7AA67uxAOu7sgDru7MA67u0AOu7tQDru7YA67u3AOu7uADru7kA67u6AOu7uwDru7wA67u9AOu7vgDru78A67yAAOu8gQDrvIIA67yDAOu8hADrvIUA67yGAOu8hwDrvIgA67yJAOu8igDrvIsA67yMAOu8jQDrvI4A67yPAOu8kADrvJEA67ySAOu8kwDrvJQA67yVAOu8lgDrvJcA67yYAOu8mQDrvJoA67ybAOu8nADrvJ0A67yeAOu8nwDrvKAA67yhAOu8ogDrvKMA67ykAOu8pQDrvKYA67ynAOu8qADrvKkA67yqAOu8qwDrvKwA67ytAOu8rgDrvK8A67ywAOu8sQDrvLIA67yzAOu8tADrvLUA67y2AOu8twDrvLgA67y5AOu8ugDrvLsA67y8AOu8vQDrvL4A67y/AOu9gADrvYEA672CAOu9gwDrvYQA672FAOu9hgDrvYcA672IAOu9iQDrvYoA672LAOu9jADrvY0A672OAOu9jwDrvZAA672RAOu9kgDrvZMA672UAOu9lQDrvZYA672XAOu9mADrvZkA672aAOu9mwDrvZwA672dAOu9ngDrvZ8A672gAOu9oQDrvaIA672jAOu9pADrvaUA672mAOu9pwDrvagA672pAOu9qgDrvasA672sAOu9rQDrva4A672vAOu9sADrvbEA672yAOu9swDrvbQA6721AOu9tgDrvbcA6724AOu9uQDrvboA6727AOu9vADrvb0A672+AOu9vwDrvoAA676BAOu+ggDrvoMA676EAOu+hQDrvoYA676HAOu+iADrvokA676KAOu+iwDrvowA676NAOu+jgDrvo8A676QAOu+kQDrvpIA676TAOu+lADrvpUA676WAOu+lwDrvpgA676ZAOu+mgDrvpsA676cAOu+nQDrvp4A676fAOu+oADrvqEA676iAOu+owDrvqQA676lAOu+pgDrvqcA676oAOu+qQDrvqoA676rAOu+rADrvq0A676uAOu+rwDrvrAA676xAOu+sgDrvrMA6760AOu+tQDrvrYA6763AOu+uADrvrkA6766AOu+uwDrvrwA6769AOu+vgDrvr8A67+AAOu/gQDrv4IA67+DAOu/hADrv4UA67+GAOu/hwDrv4gA67+JAOu/igDrv4sA67+MAOu/jQDrv44A67+PAOu/kADrv5EA67+SAOu/kwDrv5QA67+VAOu/lgDrv5cA67+YAOu/mQDrv5oA67+bAOu/nADrv50A67+eAOu/nwDrv6AA67+hAOu/ogDrv6MA67+kAOu/pQDrv6YA67+nAOu/qADrv6kA67+qAOu/qwDrv6wA67+tAOu/rgDrv68A67+wAOu/sQDrv7IA67+zAOu/tADrv7UA67+2AOu/twDrv7gA67+5AOu/ugDrv7sA67+8AOu/vQDrv74A67+/AOyAgADsgIEA7ICCAOyAgwDsgIQA7ICFAOyAhgDsgIcA7ICIAOyAiQDsgIoA7ICLAOyAjADsgI0A7ICOAOyAjwDsgJAA7ICRAOyAkgDsgJMA7ICUAOyAlQDsgJYA7ICXAOyAmADsgJkA7ICaAOyAmwDsgJwA7ICdAOyAngDsgJ8A7ICgAOyAoQDsgKIA7ICjAOyApADsgKUA7ICmAOyApwDsgKgA7ICpAOyAqgDsgKsA7ICsAOyArQDsgK4A7ICvAOyAsADsgLEA7ICyAOyAswDsgLQA7IC1AOyAtgDsgLcA7IC4AOyAuQDsgLoA7IC7AOyAvADsgL0A7IC+AOyAvwDsgYAA7IGBAOyBggDsgYMA7IGEAOyBhQDsgYYA7IGHAOyBiADsgYkA7IGKAOyBiwDsgYwA7IGNAOyBjgDsgY8A7IGQAOyBkQDsgZIA7IGTAOyBlADsgZUA7IGWAOyBlwDsgZgA7IGZAOyBmgDsgZsA7IGcAOyBnQDsgZ4A7IGfAOyBoADsgaEA7IGiAOyBowDsgaQA7IGlAOyBpgDsgacA7IGoAOyBqQDsgaoA7IGrAOyBrADsga0A7IGuAOyBrwDsgbAA7IGxAOyBsgDsgbMA7IG0AOyBtQDsgbYA7IG3AOyBuADsgbkA7IG6AOyBuwDsgbwA7IG9AOyBvgDsgb8A7IKAAOyCgQDsgoIA7IKDAOyChADsgoUA7IKGAOyChwDsgogA7IKJAOyCigDsgosA7IKMAOyCjQDsgo4A7IKPAOyCkADsgpEA7IKSAOyCkwDsgpQA7IKVAOyClgDsgpcA7IKYAOyCmQDsgpoA7IKbAOyCnADsgp0A7IKeAOyCnwDsgqAA7IKhAOyCogDsgqMA7IKkAOyCpQDsgqYA7IKnAOyCqADsgqkA7IKqAOyCqwDsgqwA7IKtAOyCrgDsgq8A7IKwAOyCsQDsgrIA7IKzAOyCtADsgrUA7IK2AOyCtwDsgrgA7IK5AOyCugDsgrsA7IK8AOyCvQDsgr4A7IK/AOyDgADsg4EA7IOCAOyDgwDsg4QA7IOFAOyDhgDsg4cA7IOIAOyDiQDsg4oA7IOLAOyDjADsg40A7IOOAOyDjwDsg5AA7IORAOyDkgDsg5MA7IOUAOyDlQDsg5YA7IOXAOyDmADsg5kA7IOaAOyDmwDsg5wA7IOdAOyDngDsg58A7IOgAOyDoQDsg6IA7IOjAOyDpADsg6UA7IOmAOyDpwDsg6gA7IOpAOyDqgDsg6sA7IOsAOyDrQDsg64A7IOvAOyDsADsg7EA7IOyAOyDswDsg7QA7IO1AOyDtgDsg7cA7IO4AOyDuQDsg7oA7IO7AOyDvADsg70A7IO+AOyDvwDshIAA7ISBAOyEggDshIMA7ISEAOyEhQDshIYA7ISHAOyEiADshIkA7ISKAOyEiwDshIwA7ISNAOyEjgDshI8A7ISQAOyEkQDshJIA7ISTAOyElADshJUA7ISWAOyElwDshJgA7ISZAOyEmgDshJsA7IScAOyEnQDshJ4A7ISfAOyEoADshKEA7ISiAOyEowDshKQA7ISlAOyEpgDshKcA7ISoAOyEqQDshKoA7ISrAOyErADshK0A7ISuAOyErwDshLAA7ISxAOyEsgDshLMA7IS0AOyEtQDshLYA7IS3AOyEuADshLkA7IS6AOyEuwDshLwA7IS9AOyEvgDshL8A7IWAAOyFgQDshYIA7IWDAOyFhADshYUA7IWGAOyFhwDshYgA7IWJAOyFigDshYsA7IWMAOyFjQDshY4A7IWPAOyFkADshZEA7IWSAOyFkwDshZQA7IWVAOyFlgDshZcA7IWYAOyFmQDshZoA7IWbAOyFnADshZ0A7IWeAOyFnwDshaAA7IWhAOyFogDshaMA7IWkAOyFpQDshaYA7IWnAOyFqADshakA7IWqAOyFqwDshawA7IWtAOyFrgDsha8A7IWwAOyFsQDshbIA7IWzAOyFtADshbUA7IW2AOyFtwDshbgA7IW5AOyFugDshbsA7IW8AOyFvQDshb4A7IW/AOyGgADshoEA7IaCAOyGgwDshoQA7IaFAOyGhgDshocA7IaIAOyGiQDshooA7IaLAOyGjADsho0A7IaOAOyGjwDshpAA7IaRAOyGkgDshpMA7IaUAOyGlQDshpYA7IaXAOyGmADshpkA7IaaAOyGmwDshpwA7IadAOyGngDshp8A7IagAOyGoQDshqIA7IajAOyGpADshqUA7IamAOyGpwDshqgA7IapAOyGqgDshqsA7IasAOyGrQDshq4A7IavAOyGsADshrEA7IayAOyGswDshrQA7Ia1AOyGtgDshrcA7Ia4AOyGuQDshroA7Ia7AOyGvADshr0A7Ia+AOyGvwDsh4AA7IeBAOyHggDsh4MA7IeEAOyHhQDsh4YA7IeHAOyHiADsh4kA7IeKAOyHiwDsh4wA7IeNAOyHjgDsh48A7IeQAOyHkQDsh5IA7IeTAOyHlADsh5UA7IeWAOyHlwDsh5gA7IeZAOyHmgDsh5sA7IecAOyHnQDsh54A7IefAOyHoADsh6EA7IeiAOyHowDsh6QA7IelAOyHpgDsh6cA7IeoAOyHqQDsh6oA7IerAOyHrADsh60A7IeuAOyHrwDsh7AA7IexAOyHsgDsh7MA7Ie0AOyHtQDsh7YA7Ie3AOyHuADsh7kA7Ie6AOyHuwDsh7wA7Ie9AOyHvgDsh78A7IiAAOyIgQDsiIIA7IiDAOyIhADsiIUA7IiGAOyIhwDsiIgA7IiJAOyIigDsiIsA7IiMAOyIjQDsiI4A7IiPAOyIkADsiJEA7IiSAOyIkwDsiJQA7IiVAOyIlgDsiJcA7IiYAOyImQDsiJoA7IibAOyInADsiJ0A7IieAOyInwDsiKAA7IihAOyIogDsiKMA7IikAOyIpQDsiKYA7IinAOyIqADsiKkA7IiqAOyIqwDsiKwA7IitAOyIrgDsiK8A7IiwAOyIsQDsiLIA7IizAOyItADsiLUA7Ii2AOyItwDsiLgA7Ii5AOyIugDsiLsA7Ii8AOyIvQDsiL4A7Ii/AOyJgADsiYEA7ImCAOyJgwDsiYQA7ImFAOyJhgDsiYcA7ImIAOyJiQDsiYoA7ImLAOyJjADsiY0A7ImOAOyJjwDsiZAA7ImRAOyJkgDsiZMA7ImUAOyJlQDsiZYA7ImXAOyJmADsiZkA7ImaAOyJmwDsiZwA7ImdAOyJngDsiZ8A7ImgAOyJoQDsiaIA7ImjAOyJpADsiaUA7ImmAOyJpwDsiagA7ImpAOyJqgDsiasA7ImsAOyJrQDsia4A7ImvAOyJsADsibEA7ImyAOyJswDsibQA7Im1AOyJtgDsibcA7Im4AOyJuQDsiboA7Im7AOyJvADsib0A7Im+AOyJvwDsioAA7IqBAOyKggDsioMA7IqEAOyKhQDsioYA7IqHAOyKiADsiokA7IqKAOyKiwDsiowA7IqNAOyKjgDsio8A7IqQAOyKkQDsipIA7IqTAOyKlADsipUA7IqWAOyKlwDsipgA7IqZAOyKmgDsipsA7IqcAOyKnQDsip4A7IqfAOyKoADsiqEA7IqiAOyKowDsiqQA7IqlAOyKpgDsiqcA7IqoAOyKqQDsiqoA7IqrAOyKrADsiq0A7IquAOyKrwDsirAA7IqxAOyKsgDsirMA7Iq0AOyKtQDsirYA7Iq3AOyKuADsirkA7Iq6AOyKuwDsirwA7Iq9AOyKvgDsir8A7IuAAOyLgQDsi4IA7IuDAOyLhADsi4UA7IuGAOyLhwDsi4gA7IuJAOyLigDsi4sA7IuMAOyLjQDsi44A7IuPAOyLkADsi5EA7IuSAOyLkwDsi5QA7IuVAOyLlgDsi5cA7IuYAOyLmQDsi5oA7IubAOyLnADsi50A7IueAOyLnwDsi6AA7IuhAOyLogDsi6MA7IukAOyLpQDsi6YA7IunAOyLqADsi6kA7IuqAOyLqwDsi6wA7IutAOyLrgDsi68A7IuwAOyLsQDsi7IA7IuzAOyLtADsi7UA7Iu2AOyLtwDsi7gA7Iu5AOyLugDsi7sA7Iu8AOyLvQDsi74A7Iu/AOyMgADsjIEA7IyCAOyMgwDsjIQA7IyFAOyMhgDsjIcA7IyIAOyMiQDsjIoA7IyLAOyMjADsjI0A7IyOAOyMjwDsjJAA7IyRAOyMkgDsjJMA7IyUAOyMlQDsjJYA7IyXAOyMmADsjJkA7IyaAOyMmwDsjJwA7IydAOyMngDsjJ8A7IygAOyMoQDsjKIA7IyjAOyMpADsjKUA7IymAOyMpwDsjKgA7IypAOyMqgDsjKsA7IysAOyMrQDsjK4A7IyvAOyMsADsjLEA7IyyAOyMswDsjLQA7Iy1AOyMtgDsjLcA7Iy4AOyMuQDsjLoA7Iy7AOyMvADsjL0A7Iy+AOyMvwDsjYAA7I2BAOyNggDsjYMA7I2EAOyNhQDsjYYA7I2HAOyNiADsjYkA7I2KAOyNiwDsjYwA7I2NAOyNjgDsjY8A7I2QAOyNkQDsjZIA7I2TAOyNlADsjZUA7I2WAOyNlwDsjZgA7I2ZAOyNmgDsjZsA7I2cAOyNnQDsjZ4A7I2fAOyNoADsjaEA7I2iAOyNowDsjaQA7I2lAOyNpgDsjacA7I2oAOyNqQDsjaoA7I2rAOyNrADsja0A7I2uAOyNrwDsjbAA7I2xAOyNsgDsjbMA7I20AOyNtQDsjbYA7I23AOyNuADsjbkA7I26AOyNuwDsjbwA7I29AOyNvgDsjb8A7I6AAOyOgQDsjoIA7I6DAOyOhADsjoUA7I6GAOyOhwDsjogA7I6JAOyOigDsjosA7I6MAOyOjQDsjo4A7I6PAOyOkADsjpEA7I6SAOyOkwDsjpQA7I6VAOyOlgDsjpcA7I6YAOyOmQDsjpoA7I6bAOyOnADsjp0A7I6eAOyOnwDsjqAA7I6hAOyOogDsjqMA7I6kAOyOpQDsjqYA7I6nAOyOqADsjqkA7I6qAOyOqwDsjqwA7I6tAOyOrgDsjq8A7I6wAOyOsQDsjrIA7I6zAOyOtADsjrUA7I62AOyOtwDsjrgA7I65AOyOugDsjrsA7I68AOyOvQDsjr4A7I6/AOyPgADsj4EA7I+CAOyPgwDsj4QA7I+FAOyPhgDsj4cA7I+IAOyPiQDsj4oA7I+LAOyPjADsj40A7I+OAOyPjwDsj5AA7I+RAOyPkgDsj5MA7I+UAOyPlQDsj5YA7I+XAOyPmADsj5kA7I+aAOyPmwDsj5wA7I+dAOyPngDsj58A7I+gAOyPoQDsj6IA7I+jAOyPpADsj6UA7I+mAOyPpwDsj6gA7I+pAOyPqgDsj6sA7I+sAOyPrQDsj64A7I+vAOyPsADsj7EA7I+yAOyPswDsj7QA7I+1AOyPtgDsj7cA7I+4AOyPuQDsj7oA7I+7AOyPvADsj70A7I++AOyPvwDskIAA7JCBAOyQggDskIMA7JCEAOyQhQDskIYA7JCHAOyQiADskIkA7JCKAOyQiwDskIwA7JCNAOyQjgDskI8A7JCQAOyQkQDskJIA7JCTAOyQlADskJUA7JCWAOyQlwDskJgA7JCZAOyQmgDskJsA7JCcAOyQnQDskJ4A7JCfAOyQoADskKEA7JCiAOyQowDskKQA7JClAOyQpgDskKcA7JCoAOyQqQDskKoA7JCrAOyQrADskK0A7JCuAOyQrwDskLAA7JCxAOyQsgDskLMA7JC0AOyQtQDskLYA7JC3AOyQuADskLkA7JC6AOyQuwDskLwA7JC9AOyQvgDskL8A7JGAAOyRgQDskYIA7JGDAOyRhADskYUA7JGGAOyRhwDskYgA7JGJAOyRigDskYsA7JGMAOyRjQDskY4A7JGPAOyRkADskZEA7JGSAOyRkwDskZQA7JGVAOyRlgDskZcA7JGYAOyRmQDskZoA7JGbAOyRnADskZ0A7JGeAOyRnwDskaAA7JGhAOyRogDskaMA7JGkAOyRpQDskaYA7JGnAOyRqADskakA7JGqAOyRqwDskawA7JGtAOyRrgDska8A7JGwAOyRsQDskbIA7JGzAOyRtADskbUA7JG2AOyRtwDskbgA7JG5AOyRugDskbsA7JG8AOyRvQDskb4A7JG/AOySgADskoEA7JKCAOySgwDskoQA7JKFAOyShgDskocA7JKIAOySiQDskooA7JKLAOySjADsko0A7JKOAOySjwDskpAA7JKRAOySkgDskpMA7JKUAOySlQDskpYA7JKXAOySmADskpkA7JKaAOySmwDskpwA7JKdAOySngDskp8A7JKgAOySoQDskqIA7JKjAOySpADskqUA7JKmAOySpwDskqgA7JKpAOySqgDskqsA7JKsAOySrQDskq4A7JKvAOySsADskrEA7JKyAOySswDskrQA7JK1AOyStgDskrcA7JK4AOySuQDskroA7JK7AOySvADskr0A7JK+AOySvwDsk4AA7JOBAOyTggDsk4MA7JOEAOyThQDsk4YA7JOHAOyTiADsk4kA7JOKAOyTiwDsk4wA7JONAOyTjgDsk48A7JOQAOyTkQDsk5IA7JOTAOyTlADsk5UA7JOWAOyTlwDsk5gA7JOZAOyTmgDsk5sA7JOcAOyTnQDsk54A7JOfAOyToADsk6EA7JOiAOyTowDsk6QA7JOlAOyTpgDsk6cA7JOoAOyTqQDsk6oA7JOrAOyTrADsk60A7JOuAOyTrwDsk7AA7JOxAOyTsgDsk7MA7JO0AOyTtQDsk7YA7JO3AOyTuADsk7kA7JO6AOyTuwDsk7wA7JO9AOyTvgDsk78A7JSAAOyUgQDslIIA7JSDAOyUhADslIUA7JSGAOyUhwDslIgA7JSJAOyUigDslIsA7JSMAOyUjQDslI4A7JSPAOyUkADslJEA7JSSAOyUkwDslJQA7JSVAOyUlgDslJcA7JSYAOyUmQDslJoA7JSbAOyUnADslJ0A7JSeAOyUnwDslKAA7JShAOyUogDslKMA7JSkAOyUpQDslKYA7JSnAOyUqADslKkA7JSqAOyUqwDslKwA7JStAOyUrgDslK8A7JSwAOyUsQDslLIA7JSzAOyUtADslLUA7JS2AOyUtwDslLgA7JS5AOyUugDslLsA7JS8AOyUvQDslL4A7JS/AOyVgADslYEA7JWCAOyVgwDslYQA7JWFAOyVhgDslYcA7JWIAOyViQDslYoA7JWLAOyVjADslY0A7JWOAOyVjwDslZAA7JWRAOyVkgDslZMA7JWUAOyVlQDslZYA7JWXAOyVmADslZkA7JWaAOyVmwDslZwA7JWdAOyVngDslZ8A7JWgAOyVoQDslaIA7JWjAOyVpADslaUA7JWmAOyVpwDslagA7JWpAOyVqgDslasA7JWsAOyVrQDsla4A7JWvAOyVsADslbEA7JWyAOyVswDslbQA7JW1AOyVtgDslbcA7JW4AOyVuQDslboA7JW7AOyVvADslb0A7JW+AOyVvwDsloAA7JaBAOyWggDsloMA7JaEAOyWhQDsloYA7JaHAOyWiADslokA7JaKAOyWiwDslowA7JaNAOyWjgDslo8A7JaQAOyWkQDslpIA7JaTAOyWlADslpUA7JaWAOyWlwDslpgA7JaZAOyWmgDslpsA7JacAOyWnQDslp4A7JafAOyWoADslqEA7JaiAOyWowDslqQA7JalAOyWpgDslqcA7JaoAOyWqQDslqoA7JarAOyWrADslq0A7JauAOyWrwDslrAA7JaxAOyWsgDslrMA7Ja0AOyWtQDslrYA7Ja3AOyWuADslrkA7Ja6AOyWuwDslrwA7Ja9AOyWvgDslr8A7JeAAOyXgQDsl4IA7JeDAOyXhADsl4UA7JeGAOyXhwDsl4gA7JeJAOyXigDsl4sA7JeMAOyXjQDsl44A7JePAOyXkADsl5EA7JeSAOyXkwDsl5QA7JeVAOyXlgDsl5cA7JeYAOyXmQDsl5oA7JebAOyXnADsl50A7JeeAOyXnwDsl6AA7JehAOyXogDsl6MA7JekAOyXpQDsl6YA7JenAOyXqADsl6kA7JeqAOyXqwDsl6wA7JetAOyXrgDsl68A7JewAOyXsQDsl7IA7JezAOyXtADsl7UA7Je2AOyXtwDsl7gA7Je5AOyXugDsl7sA7Je8AOyXvQDsl74A7Je/AOyYgADsmIEA7JiCAOyYgwDsmIQA7JiFAOyYhgDsmIcA7JiIAOyYiQDsmIoA7JiLAOyYjADsmI0A7JiOAOyYjwDsmJAA7JiRAOyYkgDsmJMA7JiUAOyYlQDsmJYA7JiXAOyYmADsmJkA7JiaAOyYmwDsmJwA7JidAOyYngDsmJ8A7JigAOyYoQDsmKIA7JijAOyYpADsmKUA7JimAOyYpwDsmKgA7JipAOyYqgDsmKsA7JisAOyYrQDsmK4A7JivAOyYsADsmLEA7JiyAOyYswDsmLQA7Ji1AOyYtgDsmLcA7Ji4AOyYuQDsmLoA7Ji7AOyYvADsmL0A7Ji+AOyYvwDsmYAA7JmBAOyZggDsmYMA7JmEAOyZhQDsmYYA7JmHAOyZiADsmYkA7JmKAOyZiwDsmYwA7JmNAOyZjgDsmY8A7JmQAOyZkQDsmZIA7JmTAOyZlADsmZUA7JmWAOyZlwDsmZgA7JmZAOyZmgDsmZsA7JmcAOyZnQDsmZ4A7JmfAOyZoADsmaEA7JmiAOyZowDsmaQA7JmlAOyZpgDsmacA7JmoAOyZqQDsmaoA7JmrAOyZrADsma0A7JmuAOyZrwDsmbAA7JmxAOyZsgDsmbMA7Jm0AOyZtQDsmbYA7Jm3AOyZuADsmbkA7Jm6AOyZuwDsmbwA7Jm9AOyZvgDsmb8A7JqAAOyagQDsmoIA7JqDAOyahADsmoUA7JqGAOyahwDsmogA7JqJAOyaigDsmosA7JqMAOyajQDsmo4A7JqPAOyakADsmpEA7JqSAOyakwDsmpQA7JqVAOyalgDsmpcA7JqYAOyamQDsmpoA7JqbAOyanADsmp0A7JqeAOyanwDsmqAA7JqhAOyaogDsmqMA7JqkAOyapQDsmqYA7JqnAOyaqADsmqkA7JqqAOyaqwDsmqwA7JqtAOyargDsmq8A7JqwAOyasQDsmrIA7JqzAOyatADsmrUA7Jq2AOyatwDsmrgA7Jq5AOyaugDsmrsA7Jq8AOyavQDsmr4A7Jq/AOybgADsm4EA7JuCAOybgwDsm4QA7JuFAOybhgDsm4cA7JuIAOybiQDsm4oA7JuLAOybjADsm40A7JuOAOybjwDsm5AA7JuRAOybkgDsm5MA7JuUAOyblQDsm5YA7JuXAOybmADsm5kA7JuaAOybmwDsm5wA7JudAOybngDsm58A7JugAOyboQDsm6IA7JujAOybpADsm6UA7JumAOybpwDsm6gA7JupAOybqgDsm6sA7JusAOybrQDsm64A7JuvAOybsADsm7EA7JuyAOybswDsm7QA7Ju1AOybtgDsm7cA7Ju4AOybuQDsm7oA7Ju7AOybvADsm70A7Ju+AOybvwDsnIAA7JyBAOycggDsnIMA7JyEAOychQDsnIYA7JyHAOyciADsnIkA7JyKAOyciwDsnIwA7JyNAOycjgDsnI8A7JyQAOyckQDsnJIA7JyTAOyclADsnJUA7JyWAOyclwDsnJgA7JyZAOycmgDsnJsA7JycAOycnQDsnJ4A7JyfAOycoADsnKEA7JyiAOycowDsnKQA7JylAOycpgDsnKcA7JyoAOycqQDsnKoA7JyrAOycrADsnK0A7JyuAOycrwDsnLAA7JyxAOycsgDsnLMA7Jy0AOyctQDsnLYA7Jy3AOycuADsnLkA7Jy6AOycuwDsnLwA7Jy9AOycvgDsnL8A7J2AAOydgQDsnYIA7J2DAOydhADsnYUA7J2GAOydhwDsnYgA7J2JAOydigDsnYsA7J2MAOydjQDsnY4A7J2PAOydkADsnZEA7J2SAOydkwDsnZQA7J2VAOydlgDsnZcA7J2YAOydmQDsnZoA7J2bAOydnADsnZ0A7J2eAOydnwDsnaAA7J2hAOydogDsnaMA7J2kAOydpQDsnaYA7J2nAOydqADsnakA7J2qAOydqwDsnawA7J2tAOydrgDsna8A7J2wAOydsQDsnbIA7J2zAOydtADsnbUA7J22AOydtwDsnbgA7J25AOydugDsnbsA7J28AOydvQDsnb4A7J2/AOyegADsnoEA7J6CAOyegwDsnoQA7J6FAOyehgDsnocA7J6IAOyeiQDsnooA7J6LAOyejADsno0A7J6OAOyejwDsnpAA7J6RAOyekgDsnpMA7J6UAOyelQDsnpYA7J6XAOyemADsnpkA7J6aAOyemwDsnpwA7J6dAOyengDsnp8A7J6gAOyeoQDsnqIA7J6jAOyepADsnqUA7J6mAOyepwDsnqgA7J6pAOyeqgDsnqsA7J6sAOyerQDsnq4A7J6vAOyesADsnrEA7J6yAOyeswDsnrQA7J61AOyetgDsnrcA7J64AOyeuQDsnroA7J67AOyevADsnr0A7J6+AOyevwDsn4AA7J+BAOyfggDsn4MA7J+EAOyfhQDsn4YA7J+HAOyfiADsn4kA7J+KAOyfiwDsn4wA7J+NAOyfjgDsn48A7J+QAOyfkQDsn5IA7J+TAOyflADsn5UA7J+WAOyflwDsn5gA7J+ZAOyfmgDsn5sA7J+cAOyfnQDsn54A7J+fAOyfoADsn6EA7J+iAOyfowDsn6QA7J+lAOyfpgDsn6cA7J+oAOyfqQDsn6oA7J+rAOyfrADsn60A7J+uAOyfrwDsn7AA7J+xAOyfsgDsn7MA7J+0AOyftQDsn7YA7J+3AOyfuADsn7kA7J+6AOyfuwDsn7wA7J+9AOyfvgDsn78A7KCAAOyggQDsoIIA7KCDAOyghADsoIUA7KCGAOyghwDsoIgA7KCJAOygigDsoIsA7KCMAOygjQDsoI4A7KCPAOygkADsoJEA7KCSAOygkwDsoJQA7KCVAOyglgDsoJcA7KCYAOygmQDsoJoA7KCbAOygnADsoJ0A7KCeAOygnwDsoKAA7KChAOygogDsoKMA7KCkAOygpQDsoKYA7KCnAOygqADsoKkA7KCqAOygqwDsoKwA7KCtAOygrgDsoK8A7KCwAOygsQDsoLIA7KCzAOygtADsoLUA7KC2AOygtwDsoLgA7KC5AOygugDsoLsA7KC8AOygvQDsoL4A7KC/AOyhgADsoYEA7KGCAOyhgwDsoYQA7KGFAOyhhgDsoYcA7KGIAOyhiQDsoYoA7KGLAOyhjADsoY0A7KGOAOyhjwDsoZAA7KGRAOyhkgDsoZMA7KGUAOyhlQDsoZYA7KGXAOyhmADsoZkA7KGaAOyhmwDsoZwA7KGdAOyhngDsoZ8A7KGgAOyhoQDsoaIA7KGjAOyhpADsoaUA7KGmAOyhpwDsoagA7KGpAOyhqgDsoasA7KGsAOyhrQDsoa4A7KGvAOyhsADsobEA7KGyAOyhswDsobQA7KG1AOyhtgDsobcA7KG4AOyhuQDsoboA7KG7AOyhvADsob0A7KG+AOyhvwDsooAA7KKBAOyiggDsooMA7KKEAOyihQDsooYA7KKHAOyiiADsookA7KKKAOyiiwDsoowA7KKNAOyijgDsoo8A7KKQAOyikQDsopIA7KKTAOyilADsopUA7KKWAOyilwDsopgA7KKZAOyimgDsopsA7KKcAOyinQDsop4A7KKfAOyioADsoqEA7KKiAOyiowDsoqQA7KKlAOyipgDsoqcA7KKoAOyiqQDsoqoA7KKrAOyirADsoq0A7KKuAOyirwDsorAA7KKxAOyisgDsorMA7KK0AOyitQDsorYA7KK3AOyiuADsorkA7KK6AOyiuwDsorwA7KK9AOyivgDsor8A7KOAAOyjgQDso4IA7KODAOyjhADso4UA7KOGAOyjhwDso4gA7KOJAOyjigDso4sA7KOMAOyjjQDso44A7KOPAOyjkADso5EA7KOSAOyjkwDso5QA7KOVAOyjlgDso5cA7KOYAOyjmQDso5oA7KObAOyjnADso50A7KOeAOyjnwDso6AA7KOhAOyjogDso6MA7KOkAOyjpQDso6YA7KOnAOyjqADso6kA7KOqAOyjqwDso6wA7KOtAOyjrgDso68A7KOwAOyjsQDso7IA7KOzAOyjtADso7UA7KO2AOyjtwDso7gA7KO5AOyjugDso7sA7KO8AOyjvOydmADso70A7KO+AOyjvwDspIAA7KSBAOykggDspIMA7KSEAOykhQDspIYA7KSHAOykiADspIkA7KSKAOykiwDspIwA7KSNAOykjgDspI8A7KSQAOykkQDspJIA7KSTAOyklADspJUA7KSWAOyklwDspJgA7KSZAOykmgDspJsA7KScAOyknQDspJ4A7KSfAOykoADspKEA7KSiAOykowDspKQA7KSlAOykpgDspKcA7KSoAOykqQDspKoA7KSrAOykrADspK0A7KSuAOykrwDspLAA7KSxAOyksgDspLMA7KS0AOyktQDspLYA7KS3AOykuADspLkA7KS6AOykuwDspLwA7KS9AOykvgDspL8A7KWAAOylgQDspYIA7KWDAOylhADspYUA7KWGAOylhwDspYgA7KWJAOyligDspYsA7KWMAOyljQDspY4A7KWPAOylkADspZEA7KWSAOylkwDspZQA7KWVAOyllgDspZcA7KWYAOylmQDspZoA7KWbAOylnADspZ0A7KWeAOylnwDspaAA7KWhAOylogDspaMA7KWkAOylpQDspaYA7KWnAOylqADspakA7KWqAOylqwDspawA7KWtAOylrgDspa8A7KWwAOylsQDspbIA7KWzAOyltADspbUA7KW2AOyltwDspbgA7KW5AOylugDspbsA7KW8AOylvQDspb4A7KW/AOymgADspoEA7KaCAOymgwDspoQA7KaFAOymhgDspocA7KaIAOymiQDspooA7KaLAOymjADspo0A7KaOAOymjwDsppAA7KaRAOymkgDsppMA7KaUAOymlQDsppYA7KaXAOymmADsppkA7KaaAOymmwDsppwA7KadAOymngDspp8A7KagAOymoQDspqIA7KajAOympADspqUA7KamAOympwDspqgA7KapAOymqgDspqsA7KasAOymrQDspq4A7KavAOymsADsprEA7KayAOymswDsprQA7Ka1AOymtgDsprcA7Ka4AOymuQDsproA7Ka7AOymvADspr0A7Ka+AOymvwDsp4AA7KeBAOynggDsp4MA7KeEAOynhQDsp4YA7KeHAOyniADsp4kA7KeKAOyniwDsp4wA7KeNAOynjgDsp48A7KeQAOynkQDsp5IA7KeTAOynlADsp5UA7KeWAOynlwDsp5gA7KeZAOynmgDsp5sA7KecAOynnQDsp54A7KefAOynoADsp6EA7KeiAOynowDsp6QA7KelAOynpgDsp6cA7KeoAOynqQDsp6oA7KerAOynrADsp60A7KeuAOynrwDsp7AA7KexAOynsgDsp7MA7Ke0AOyntQDsp7YA7Ke3AOynuADsp7kA7Ke6AOynuwDsp7wA7Ke9AOynvgDsp78A7KiAAOyogQDsqIIA7KiDAOyohADsqIUA7KiGAOyohwDsqIgA7KiJAOyoigDsqIsA7KiMAOyojQDsqI4A7KiPAOyokADsqJEA7KiSAOyokwDsqJQA7KiVAOyolgDsqJcA7KiYAOyomQDsqJoA7KibAOyonADsqJ0A7KieAOyonwDsqKAA7KihAOyoogDsqKMA7KikAOyopQDsqKYA7KinAOyoqADsqKkA7KiqAOyoqwDsqKwA7KitAOyorgDsqK8A7KiwAOyosQDsqLIA7KizAOyotADsqLUA7Ki2AOyotwDsqLgA7Ki5AOyougDsqLsA7Ki8AOyovQDsqL4A7Ki/AOypgADsqYEA7KmCAOypgwDsqYQA7KmFAOyphgDsqYcA7KmIAOypiQDsqYoA7KmLAOypjADsqY0A7KmOAOypjwDsqZAA7KmRAOypkgDsqZMA7KmUAOyplQDsqZYA7KmXAOypmADsqZkA7KmaAOypmwDsqZwA7KmdAOypngDsqZ8A7KmgAOypoQDsqaIA7KmjAOyppADsqaUA7KmmAOyppwDsqagA7KmpAOypqgDsqasA7KmsAOyprQDsqa4A7KmvAOypsADsqbEA7KmyAOypswDsqbQA7Km1AOyptgDsqbcA7Km4AOypuQDsqboA7Km7AOypvADsqb0A7Km+AOypvwDsqoAA7KqBAOyqggDsqoMA7KqEAOyqhQDsqoYA7KqHAOyqiADsqokA7KqKAOyqiwDsqowA7KqNAOyqjgDsqo8A7KqQAOyqkQDsqpIA7KqTAOyqlADsqpUA7KqWAOyqlwDsqpgA7KqZAOyqmgDsqpsA7KqcAOyqnQDsqp4A7KqfAOyqoADsqqEA7KqiAOyqowDsqqQA7KqlAOyqpgDsqqcA7KqoAOyqqQDsqqoA7KqrAOyqrADsqq0A7KquAOyqrwDsqrAA7KqxAOyqsgDsqrMA7Kq0AOyqtQDsqrYA7Kq3AOyquADsqrkA7Kq6AOyquwDsqrwA7Kq9AOyqvgDsqr8A7KuAAOyrgQDsq4IA7KuDAOyrhADsq4UA7KuGAOyrhwDsq4gA7KuJAOyrigDsq4sA7KuMAOyrjQDsq44A7KuPAOyrkADsq5EA7KuSAOyrkwDsq5QA7KuVAOyrlgDsq5cA7KuYAOyrmQDsq5oA7KubAOyrnADsq50A7KueAOyrnwDsq6AA7KuhAOyrogDsq6MA7KukAOyrpQDsq6YA7KunAOyrqADsq6kA7KuqAOyrqwDsq6wA7KutAOyrrgDsq68A7KuwAOyrsQDsq7IA7KuzAOyrtADsq7UA7Ku2AOyrtwDsq7gA7Ku5AOyrugDsq7sA7Ku8AOyrvQDsq74A7Ku/AOysgADsrIEA7KyCAOysgwDsrIQA7KyFAOyshgDsrIcA7KyIAOysiQDsrIoA7KyLAOysjADsrI0A7KyOAOysjwDsrJAA7KyRAOyskgDsrJMA7KyUAOyslQDsrJYA7KyXAOysmADsrJkA7KyaAOysmwDsrJwA7KydAOysngDsrJ8A7KygAOysoQDsrKIA7KyjAOyspADsrKUA7KymAOyspwDsrKgA7KypAOysqgDsrKsA7KysAOysrQDsrK4A7KyvAOyssADsrLEA7KyyAOysswDsrLQA7Ky1AOystgDsrLcA7Ky4AOysuQDsrLoA7Ky7AOysvADsrL0A7Ky+AOysvwDsrYAA7K2BAOytggDsrYMA7K2EAOythQDsrYYA7K2HAOytiADsrYkA7K2KAOytiwDsrYwA7K2NAOytjgDsrY8A7K2QAOytkQDsrZIA7K2TAOytlADsrZUA7K2WAOytlwDsrZgA7K2ZAOytmgDsrZsA7K2cAOytnQDsrZ4A7K2fAOytoADsraEA7K2iAOytowDsraQA7K2lAOytpgDsracA7K2oAOytqQDsraoA7K2rAOytrADsra0A7K2uAOytrwDsrbAA7K2xAOytsgDsrbMA7K20AOyttQDsrbYA7K23AOytuADsrbkA7K26AOytuwDsrbwA7K29AOytvgDsrb8A7K6AAOyugQDsroIA7K6DAOyuhADsroUA7K6GAOyuhwDsrogA7K6JAOyuigDsrosA7K6MAOyujQDsro4A7K6PAOyukADsrpEA7K6SAOyukwDsrpQA7K6VAOyulgDsrpcA7K6YAOyumQDsrpoA7K6bAOyunADsrp0A7K6eAOyunwDsrqAA7K6hAOyuogDsrqMA7K6kAOyupQDsrqYA7K6nAOyuqADsrqkA7K6qAOyuqwDsrqwA7K6tAOyurgDsrq8A7K6wAOyusQDsrrIA7K6zAOyutADsrrUA7K62AOyutwDsrrgA7K65AOyuugDsrrsA7K68AOyuvQDsrr4A7K6/AOyvgADsr4EA7K+CAOyvgwDsr4QA7K+FAOyvhgDsr4cA7K+IAOyviQDsr4oA7K+LAOyvjADsr40A7K+OAOyvjwDsr5AA7K+RAOyvkgDsr5MA7K+UAOyvlQDsr5YA7K+XAOyvmADsr5kA7K+aAOyvmwDsr5wA7K+dAOyvngDsr58A7K+gAOyvoQDsr6IA7K+jAOyvpADsr6UA7K+mAOyvpwDsr6gA7K+pAOyvqgDsr6sA7K+sAOyvrQDsr64A7K+vAOyvsADsr7EA7K+yAOyvswDsr7QA7K+1AOyvtgDsr7cA7K+4AOyvuQDsr7oA7K+7AOyvvADsr70A7K++AOyvvwDssIAA7LCBAOywggDssIMA7LCEAOywhQDssIYA7LCHAOywiADssIkA7LCKAOywiwDssIwA7LCNAOywjgDssI8A7LCQAOywkQDssJIA7LCTAOywlADssJUA7LCWAOywlwDssJgA7LCZAOywmgDssJsA7LCcAOywnQDssJ4A7LCfAOywoADssKEA7LCiAOywowDssKQA7LClAOywpgDssKcA7LCoAOywqQDssKoA7LCrAOywrADssK0A7LCuAOywrwDssLAA7LCxAOywsgDssLMA7LC0AOywtQDssLYA7LC3AOywuADssLjqs6AA7LC5AOywugDssLsA7LC8AOywvQDssL4A7LC/AOyxgADssYEA7LGCAOyxgwDssYQA7LGFAOyxhgDssYcA7LGIAOyxiQDssYoA7LGLAOyxjADssY0A7LGOAOyxjwDssZAA7LGRAOyxkgDssZMA7LGUAOyxlQDssZYA7LGXAOyxmADssZkA7LGaAOyxmwDssZwA7LGdAOyxngDssZ8A7LGgAOyxoQDssaIA7LGjAOyxpADssaUA7LGmAOyxpwDssagA7LGpAOyxqgDssasA7LGsAOyxrQDssa4A7LGvAOyxsADssbEA7LGyAOyxswDssbQA7LG1AOyxtgDssbcA7LG4AOyxuQDssboA7LG7AOyxvADssb0A7LG+AOyxvwDssoAA7LKBAOyyggDssoMA7LKEAOyyhQDssoYA7LKHAOyyiADssokA7LKKAOyyiwDssowA7LKNAOyyjgDsso8A7LKQAOyykQDsspIA7LKTAOyylADsspUA7LKWAOyylwDsspgA7LKZAOyymgDsspsA7LKcAOyynQDssp4A7LKfAOyyoADssqEA7LKiAOyyowDssqQA7LKlAOyypgDssqcA7LKoAOyyqQDssqoA7LKrAOyyrADssq0A7LKuAOyyrwDssrAA7LKxAOyysgDssrMA7LK0AOyytQDssrYA7LK3AOyyuADssrkA7LK6AOyyuwDssrwA7LK9AOyyvgDssr8A7LOAAOyzgQDss4IA7LODAOyzhADss4UA7LOGAOyzhwDss4gA7LOJAOyzigDss4sA7LOMAOyzjQDss44A7LOPAOyzkADss5EA7LOSAOyzkwDss5QA7LOVAOyzlgDss5cA7LOYAOyzmQDss5oA7LObAOyznADss50A7LOeAOyznwDss6AA7LOhAOyzogDss6MA7LOkAOyzpQDss6YA7LOnAOyzqADss6kA7LOqAOyzqwDss6wA7LOtAOyzrgDss68A7LOwAOyzsQDss7IA7LOzAOyztADss7UA7LO2AOyztwDss7gA7LO5AOyzugDss7sA7LO8AOyzvQDss74A7LO/AOy0gADstIEA7LSCAOy0gwDstIQA7LSFAOy0hgDstIcA7LSIAOy0iQDstIoA7LSLAOy0jADstI0A7LSOAOy0jwDstJAA7LSRAOy0kgDstJMA7LSUAOy0lQDstJYA7LSXAOy0mADstJkA7LSaAOy0mwDstJwA7LSdAOy0ngDstJ8A7LSgAOy0oQDstKIA7LSjAOy0pADstKUA7LSmAOy0pwDstKgA7LSpAOy0qgDstKsA7LSsAOy0rQDstK4A7LSvAOy0sADstLEA7LSyAOy0swDstLQA7LS1AOy0tgDstLcA7LS4AOy0uQDstLoA7LS7AOy0vADstL0A7LS+AOy0vwDstYAA7LWBAOy1ggDstYMA7LWEAOy1hQDstYYA7LWHAOy1iADstYkA7LWKAOy1iwDstYwA7LWNAOy1jgDstY8A7LWQAOy1kQDstZIA7LWTAOy1lADstZUA7LWWAOy1lwDstZgA7LWZAOy1mgDstZsA7LWcAOy1nQDstZ4A7LWfAOy1oADstaEA7LWiAOy1owDstaQA7LWlAOy1pgDstacA7LWoAOy1qQDstaoA7LWrAOy1rADsta0A7LWuAOy1rwDstbAA7LWxAOy1sgDstbMA7LW0AOy1tQDstbYA7LW3AOy1uADstbkA7LW6AOy1uwDstbwA7LW9AOy1vgDstb8A7LaAAOy2gQDstoIA7LaDAOy2hADstoUA7LaGAOy2hwDstogA7LaJAOy2igDstosA7LaMAOy2jQDsto4A7LaPAOy2kADstpEA7LaSAOy2kwDstpQA7LaVAOy2lgDstpcA7LaYAOy2mQDstpoA7LabAOy2nADstp0A7LaeAOy2nwDstqAA7LahAOy2ogDstqMA7LakAOy2pQDstqYA7LanAOy2qADstqkA7LaqAOy2qwDstqwA7LatAOy2rgDstq8A7LawAOy2sQDstrIA7LazAOy2tADstrUA7La2AOy2twDstrgA7La5AOy2ugDstrsA7La8AOy2vQDstr4A7La/AOy3gADst4EA7LeCAOy3gwDst4QA7LeFAOy3hgDst4cA7LeIAOy3iQDst4oA7LeLAOy3jADst40A7LeOAOy3jwDst5AA7LeRAOy3kgDst5MA7LeUAOy3lQDst5YA7LeXAOy3mADst5kA7LeaAOy3mwDst5wA7LedAOy3ngDst58A7LegAOy3oQDst6IA7LejAOy3pADst6UA7LemAOy3pwDst6gA7LepAOy3qgDst6sA7LesAOy3rQDst64A7LevAOy3sADst7EA7LeyAOy3swDst7QA7Le1AOy3tgDst7cA7Le4AOy3uQDst7oA7Le7AOy3vADst70A7Le+AOy3vwDsuIAA7LiBAOy4ggDsuIMA7LiEAOy4hQDsuIYA7LiHAOy4iADsuIkA7LiKAOy4iwDsuIwA7LiNAOy4jgDsuI8A7LiQAOy4kQDsuJIA7LiTAOy4lADsuJUA7LiWAOy4lwDsuJgA7LiZAOy4mgDsuJsA7LicAOy4nQDsuJ4A7LifAOy4oADsuKEA7LiiAOy4owDsuKQA7LilAOy4pgDsuKcA7LioAOy4qQDsuKoA7LirAOy4rADsuK0A7LiuAOy4rwDsuLAA7LixAOy4sgDsuLMA7Li0AOy4tQDsuLYA7Li3AOy4uADsuLkA7Li6AOy4uwDsuLwA7Li9AOy4vgDsuL8A7LmAAOy5gQDsuYIA7LmDAOy5hADsuYUA7LmGAOy5hwDsuYgA7LmJAOy5igDsuYsA7LmMAOy5jQDsuY4A7LmPAOy5kADsuZEA7LmSAOy5kwDsuZQA7LmVAOy5lgDsuZcA7LmYAOy5mQDsuZoA7LmbAOy5nADsuZ0A7LmeAOy5nwDsuaAA7LmhAOy5ogDsuaMA7LmkAOy5pQDsuaYA7LmnAOy5qADsuakA7LmqAOy5qwDsuawA7LmtAOy5rgDsua8A7LmwAOy5sQDsubIA7LmzAOy5tADsubUA7Lm2AOy5twDsubgA7Lm5AOy5ugDsubsA7Lm8AOy5vQDsub4A7Lm/AOy6gADsuoEA7LqCAOy6gwDsuoQA7LqFAOy6hgDsuocA7LqIAOy6iQDsuooA7LqLAOy6jADsuo0A7LqOAOy6jwDsupAA7LqRAOy6kgDsupMA7LqUAOy6lQDsupYA7LqXAOy6mADsupkA7LqaAOy6mwDsupwA7LqdAOy6ngDsup8A7LqgAOy6oQDsuqIA7LqjAOy6pADsuqUA7LqmAOy6pwDsuqgA7LqpAOy6qgDsuqsA7LqsAOy6rQDsuq4A7LqvAOy6sADsurEA7LqyAOy6swDsurQA7Lq1AOy6tgDsurcA7Lq4AOy6uQDsuroA7Lq7AOy6vADsur0A7Lq+AOy6vwDsu4AA7LuBAOy7ggDsu4MA7LuEAOy7hQDsu4YA7LuHAOy7iADsu4kA7LuKAOy7iwDsu4wA7LuNAOy7jgDsu48A7LuQAOy7kQDsu5IA7LuTAOy7lADsu5UA7LuWAOy7lwDsu5gA7LuZAOy7mgDsu5sA7LucAOy7nQDsu54A7LufAOy7oADsu6EA7LuiAOy7owDsu6QA7LulAOy7pgDsu6cA7LuoAOy7qQDsu6oA7LurAOy7rADsu60A7LuuAOy7rwDsu7AA7LuxAOy7sgDsu7MA7Lu0AOy7tQDsu7YA7Lu3AOy7uADsu7kA7Lu6AOy7uwDsu7wA7Lu9AOy7vgDsu78A7LyAAOy8gQDsvIIA7LyDAOy8hADsvIUA7LyGAOy8hwDsvIgA7LyJAOy8igDsvIsA7LyMAOy8jQDsvI4A7LyPAOy8kADsvJEA7LySAOy8kwDsvJQA7LyVAOy8lgDsvJcA7LyYAOy8mQDsvJoA7LybAOy8nADsvJ0A7LyeAOy8nwDsvKAA7LyhAOy8ogDsvKMA7LykAOy8pQDsvKYA7LynAOy8qADsvKkA7LyqAOy8qwDsvKwA7LytAOy8rgDsvK8A7LywAOy8sQDsvLIA7LyzAOy8tADsvLUA7Ly2AOy8twDsvLgA7Ly5AOy8ugDsvLsA7Ly8AOy8vQDsvL4A7Ly/AOy9gADsvYEA7L2CAOy9gwDsvYQA7L2FAOy9hgDsvYcA7L2IAOy9iQDsvYoA7L2LAOy9jADsvY0A7L2OAOy9jwDsvZAA7L2RAOy9kgDsvZMA7L2UAOy9lQDsvZYA7L2XAOy9mADsvZkA7L2aAOy9mwDsvZwA7L2dAOy9ngDsvZ8A7L2gAOy9oQDsvaIA7L2jAOy9pADsvaUA7L2mAOy9pwDsvagA7L2pAOy9qgDsvasA7L2sAOy9rQDsva4A7L2vAOy9sADsvbEA7L2yAOy9swDsvbQA7L21AOy9tgDsvbcA7L24AOy9uQDsvboA7L27AOy9vADsvb0A7L2+AOy9vwDsvoAA7L6BAOy+ggDsvoMA7L6EAOy+hQDsvoYA7L6HAOy+iADsvokA7L6KAOy+iwDsvowA7L6NAOy+jgDsvo8A7L6QAOy+kQDsvpIA7L6TAOy+lADsvpUA7L6WAOy+lwDsvpgA7L6ZAOy+mgDsvpsA7L6cAOy+nQDsvp4A7L6fAOy+oADsvqEA7L6iAOy+owDsvqQA7L6lAOy+pgDsvqcA7L6oAOy+qQDsvqoA7L6rAOy+rADsvq0A7L6uAOy+rwDsvrAA7L6xAOy+sgDsvrMA7L60AOy+tQDsvrYA7L63AOy+uADsvrkA7L66AOy+uwDsvrwA7L69AOy+vgDsvr8A7L+AAOy/gQDsv4IA7L+DAOy/hADsv4UA7L+GAOy/hwDsv4gA7L+JAOy/igDsv4sA7L+MAOy/jQDsv44A7L+PAOy/kADsv5EA7L+SAOy/kwDsv5QA7L+VAOy/lgDsv5cA7L+YAOy/mQDsv5oA7L+bAOy/nADsv50A7L+eAOy/nwDsv6AA7L+hAOy/ogDsv6MA7L+kAOy/pQDsv6YA7L+nAOy/qADsv6kA7L+qAOy/qwDsv6wA7L+tAOy/rgDsv68A7L+wAOy/sQDsv7IA7L+zAOy/tADsv7UA7L+2AOy/twDsv7gA7L+5AOy/ugDsv7sA7L+8AOy/vQDsv74A7L+/AO2AgADtgIEA7YCCAO2AgwDtgIQA7YCFAO2AhgDtgIcA7YCIAO2AiQDtgIoA7YCLAO2AjADtgI0A7YCOAO2AjwDtgJAA7YCRAO2AkgDtgJMA7YCUAO2AlQDtgJYA7YCXAO2AmADtgJkA7YCaAO2AmwDtgJwA7YCdAO2AngDtgJ8A7YCgAO2AoQDtgKIA7YCjAO2ApADtgKUA7YCmAO2ApwDtgKgA7YCpAO2AqgDtgKsA7YCsAO2ArQDtgK4A7YCvAO2AsADtgLEA7YCyAO2AswDtgLQA7YC1AO2AtgDtgLcA7YC4AO2AuQDtgLoA7YC7AO2AvADtgL0A7YC+AO2AvwDtgYAA7YGBAO2BggDtgYMA7YGEAO2BhQDtgYYA7YGHAO2BiADtgYkA7YGKAO2BiwDtgYwA7YGNAO2BjgDtgY8A7YGQAO2BkQDtgZIA7YGTAO2BlADtgZUA7YGWAO2BlwDtgZgA7YGZAO2BmgDtgZsA7YGcAO2BnQDtgZ4A7YGfAO2BoADtgaEA7YGiAO2BowDtgaQA7YGlAO2BpgDtgacA7YGoAO2BqQDtgaoA7YGrAO2BrADtga0A7YGuAO2BrwDtgbAA7YGxAO2BsgDtgbMA7YG0AO2BtQDtgbYA7YG3AO2BuADtgbkA7YG6AO2BuwDtgbwA7YG9AO2BvgDtgb8A7YKAAO2CgQDtgoIA7YKDAO2ChADtgoUA7YKGAO2ChwDtgogA7YKJAO2CigDtgosA7YKMAO2CjQDtgo4A7YKPAO2CkADtgpEA7YKSAO2CkwDtgpQA7YKVAO2ClgDtgpcA7YKYAO2CmQDtgpoA7YKbAO2CnADtgp0A7YKeAO2CnwDtgqAA7YKhAO2CogDtgqMA7YKkAO2CpQDtgqYA7YKnAO2CqADtgqkA7YKqAO2CqwDtgqwA7YKtAO2CrgDtgq8A7YKwAO2CsQDtgrIA7YKzAO2CtADtgrUA7YK2AO2CtwDtgrgA7YK5AO2CugDtgrsA7YK8AO2CvQDtgr4A7YK/AO2DgADtg4EA7YOCAO2DgwDtg4QA7YOFAO2DhgDtg4cA7YOIAO2DiQDtg4oA7YOLAO2DjADtg40A7YOOAO2DjwDtg5AA7YORAO2DkgDtg5MA7YOUAO2DlQDtg5YA7YOXAO2DmADtg5kA7YOaAO2DmwDtg5wA7YOdAO2DngDtg58A7YOgAO2DoQDtg6IA7YOjAO2DpADtg6UA7YOmAO2DpwDtg6gA7YOpAO2DqgDtg6sA7YOsAO2DrQDtg64A7YOvAO2DsADtg7EA7YOyAO2DswDtg7QA7YO1AO2DtgDtg7cA7YO4AO2DuQDtg7oA7YO7AO2DvADtg70A7YO+AO2DvwDthIAA7YSBAO2EggDthIMA7YSEAO2EhQDthIYA7YSHAO2EiADthIkA7YSKAO2EiwDthIwA7YSNAO2EjgDthI8A7YSQAO2EkQDthJIA7YSTAO2ElADthJUA7YSWAO2ElwDthJgA7YSZAO2EmgDthJsA7YScAO2EnQDthJ4A7YSfAO2EoADthKEA7YSiAO2EowDthKQA7YSlAO2EpgDthKcA7YSoAO2EqQDthKoA7YSrAO2ErADthK0A7YSuAO2ErwDthLAA7YSxAO2EsgDthLMA7YS0AO2EtQDthLYA7YS3AO2EuADthLkA7YS6AO2EuwDthLwA7YS9AO2EvgDthL8A7YWAAO2FgQDthYIA7YWDAO2FhADthYUA7YWGAO2FhwDthYgA7YWJAO2FigDthYsA7YWMAO2FjQDthY4A7YWPAO2FkADthZEA7YWSAO2FkwDthZQA7YWVAO2FlgDthZcA7YWYAO2FmQDthZoA7YWbAO2FnADthZ0A7YWeAO2FnwDthaAA7YWhAO2FogDthaMA7YWkAO2FpQDthaYA7YWnAO2FqADthakA7YWqAO2FqwDthawA7YWtAO2FrgDtha8A7YWwAO2FsQDthbIA7YWzAO2FtADthbUA7YW2AO2FtwDthbgA7YW5AO2FugDthbsA7YW8AO2FvQDthb4A7YW/AO2GgADthoEA7YaCAO2GgwDthoQA7YaFAO2GhgDthocA7YaIAO2GiQDthooA7YaLAO2GjADtho0A7YaOAO2GjwDthpAA7YaRAO2GkgDthpMA7YaUAO2GlQDthpYA7YaXAO2GmADthpkA7YaaAO2GmwDthpwA7YadAO2GngDthp8A7YagAO2GoQDthqIA7YajAO2GpADthqUA7YamAO2GpwDthqgA7YapAO2GqgDthqsA7YasAO2GrQDthq4A7YavAO2GsADthrEA7YayAO2GswDthrQA7Ya1AO2GtgDthrcA7Ya4AO2GuQDthroA7Ya7AO2GvADthr0A7Ya+AO2GvwDth4AA7YeBAO2HggDth4MA7YeEAO2HhQDth4YA7YeHAO2HiADth4kA7YeKAO2HiwDth4wA7YeNAO2HjgDth48A7YeQAO2HkQDth5IA7YeTAO2HlADth5UA7YeWAO2HlwDth5gA7YeZAO2HmgDth5sA7YecAO2HnQDth54A7YefAO2HoADth6EA7YeiAO2HowDth6QA7YelAO2HpgDth6cA7YeoAO2HqQDth6oA7YerAO2HrADth60A7YeuAO2HrwDth7AA7YexAO2HsgDth7MA7Ye0AO2HtQDth7YA7Ye3AO2HuADth7kA7Ye6AO2HuwDth7wA7Ye9AO2HvgDth78A7YiAAO2IgQDtiIIA7YiDAO2IhADtiIUA7YiGAO2IhwDtiIgA7YiJAO2IigDtiIsA7YiMAO2IjQDtiI4A7YiPAO2IkADtiJEA7YiSAO2IkwDtiJQA7YiVAO2IlgDtiJcA7YiYAO2ImQDtiJoA7YibAO2InADtiJ0A7YieAO2InwDtiKAA7YihAO2IogDtiKMA7YikAO2IpQDtiKYA7YinAO2IqADtiKkA7YiqAO2IqwDtiKwA7YitAO2IrgDtiK8A7YiwAO2IsQDtiLIA7YizAO2ItADtiLUA7Yi2AO2ItwDtiLgA7Yi5AO2IugDtiLsA7Yi8AO2IvQDtiL4A7Yi/AO2JgADtiYEA7YmCAO2JgwDtiYQA7YmFAO2JhgDtiYcA7YmIAO2JiQDtiYoA7YmLAO2JjADtiY0A7YmOAO2JjwDtiZAA7YmRAO2JkgDtiZMA7YmUAO2JlQDtiZYA7YmXAO2JmADtiZkA7YmaAO2JmwDtiZwA7YmdAO2JngDtiZ8A7YmgAO2JoQDtiaIA7YmjAO2JpADtiaUA7YmmAO2JpwDtiagA7YmpAO2JqgDtiasA7YmsAO2JrQDtia4A7YmvAO2JsADtibEA7YmyAO2JswDtibQA7Ym1AO2JtgDtibcA7Ym4AO2JuQDtiboA7Ym7AO2JvADtib0A7Ym+AO2JvwDtioAA7YqBAO2KggDtioMA7YqEAO2KhQDtioYA7YqHAO2KiADtiokA7YqKAO2KiwDtiowA7YqNAO2KjgDtio8A7YqQAO2KkQDtipIA7YqTAO2KlADtipUA7YqWAO2KlwDtipgA7YqZAO2KmgDtipsA7YqcAO2KnQDtip4A7YqfAO2KoADtiqEA7YqiAO2KowDtiqQA7YqlAO2KpgDtiqcA7YqoAO2KqQDtiqoA7YqrAO2KrADtiq0A7YquAO2KrwDtirAA7YqxAO2KsgDtirMA7Yq0AO2KtQDtirYA7Yq3AO2KuADtirkA7Yq6AO2KuwDtirwA7Yq9AO2KvgDtir8A7YuAAO2LgQDti4IA7YuDAO2LhADti4UA7YuGAO2LhwDti4gA7YuJAO2LigDti4sA7YuMAO2LjQDti44A7YuPAO2LkADti5EA7YuSAO2LkwDti5QA7YuVAO2LlgDti5cA7YuYAO2LmQDti5oA7YubAO2LnADti50A7YueAO2LnwDti6AA7YuhAO2LogDti6MA7YukAO2LpQDti6YA7YunAO2LqADti6kA7YuqAO2LqwDti6wA7YutAO2LrgDti68A7YuwAO2LsQDti7IA7YuzAO2LtADti7UA7Yu2AO2LtwDti7gA7Yu5AO2LugDti7sA7Yu8AO2LvQDti74A7Yu/AO2MgADtjIEA7YyCAO2MgwDtjIQA7YyFAO2MhgDtjIcA7YyIAO2MiQDtjIoA7YyLAO2MjADtjI0A7YyOAO2MjwDtjJAA7YyRAO2MkgDtjJMA7YyUAO2MlQDtjJYA7YyXAO2MmADtjJkA7YyaAO2MmwDtjJwA7YydAO2MngDtjJ8A7YygAO2MoQDtjKIA7YyjAO2MpADtjKUA7YymAO2MpwDtjKgA7YypAO2MqgDtjKsA7YysAO2MrQDtjK4A7YyvAO2MsADtjLEA7YyyAO2MswDtjLQA7Yy1AO2MtgDtjLcA7Yy4AO2MuQDtjLoA7Yy7AO2MvADtjL0A7Yy+AO2MvwDtjYAA7Y2BAO2NggDtjYMA7Y2EAO2NhQDtjYYA7Y2HAO2NiADtjYkA7Y2KAO2NiwDtjYwA7Y2NAO2NjgDtjY8A7Y2QAO2NkQDtjZIA7Y2TAO2NlADtjZUA7Y2WAO2NlwDtjZgA7Y2ZAO2NmgDtjZsA7Y2cAO2NnQDtjZ4A7Y2fAO2NoADtjaEA7Y2iAO2NowDtjaQA7Y2lAO2NpgDtjacA7Y2oAO2NqQDtjaoA7Y2rAO2NrADtja0A7Y2uAO2NrwDtjbAA7Y2xAO2NsgDtjbMA7Y20AO2NtQDtjbYA7Y23AO2NuADtjbkA7Y26AO2NuwDtjbwA7Y29AO2NvgDtjb8A7Y6AAO2OgQDtjoIA7Y6DAO2OhADtjoUA7Y6GAO2OhwDtjogA7Y6JAO2OigDtjosA7Y6MAO2OjQDtjo4A7Y6PAO2OkADtjpEA7Y6SAO2OkwDtjpQA7Y6VAO2OlgDtjpcA7Y6YAO2OmQDtjpoA7Y6bAO2OnADtjp0A7Y6eAO2OnwDtjqAA7Y6hAO2OogDtjqMA7Y6kAO2OpQDtjqYA7Y6nAO2OqADtjqkA7Y6qAO2OqwDtjqwA7Y6tAO2OrgDtjq8A7Y6wAO2OsQDtjrIA7Y6zAO2OtADtjrUA7Y62AO2OtwDtjrgA7Y65AO2OugDtjrsA7Y68AO2OvQDtjr4A7Y6/AO2PgADtj4EA7Y+CAO2PgwDtj4QA7Y+FAO2PhgDtj4cA7Y+IAO2PiQDtj4oA7Y+LAO2PjADtj40A7Y+OAO2PjwDtj5AA7Y+RAO2PkgDtj5MA7Y+UAO2PlQDtj5YA7Y+XAO2PmADtj5kA7Y+aAO2PmwDtj5wA7Y+dAO2PngDtj58A7Y+gAO2PoQDtj6IA7Y+jAO2PpADtj6UA7Y+mAO2PpwDtj6gA7Y+pAO2PqgDtj6sA7Y+sAO2PrQDtj64A7Y+vAO2PsADtj7EA7Y+yAO2PswDtj7QA7Y+1AO2PtgDtj7cA7Y+4AO2PuQDtj7oA7Y+7AO2PvADtj70A7Y++AO2PvwDtkIAA7ZCBAO2QggDtkIMA7ZCEAO2QhQDtkIYA7ZCHAO2QiADtkIkA7ZCKAO2QiwDtkIwA7ZCNAO2QjgDtkI8A7ZCQAO2QkQDtkJIA7ZCTAO2QlADtkJUA7ZCWAO2QlwDtkJgA7ZCZAO2QmgDtkJsA7ZCcAO2QnQDtkJ4A7ZCfAO2QoADtkKEA7ZCiAO2QowDtkKQA7ZClAO2QpgDtkKcA7ZCoAO2QqQDtkKoA7ZCrAO2QrADtkK0A7ZCuAO2QrwDtkLAA7ZCxAO2QsgDtkLMA7ZC0AO2QtQDtkLYA7ZC3AO2QuADtkLkA7ZC6AO2QuwDtkLwA7ZC9AO2QvgDtkL8A7ZGAAO2RgQDtkYIA7ZGDAO2RhADtkYUA7ZGGAO2RhwDtkYgA7ZGJAO2RigDtkYsA7ZGMAO2RjQDtkY4A7ZGPAO2RkADtkZEA7ZGSAO2RkwDtkZQA7ZGVAO2RlgDtkZcA7ZGYAO2RmQDtkZoA7ZGbAO2RnADtkZ0A7ZGeAO2RnwDtkaAA7ZGhAO2RogDtkaMA7ZGkAO2RpQDtkaYA7ZGnAO2RqADtkakA7ZGqAO2RqwDtkawA7ZGtAO2RrgDtka8A7ZGwAO2RsQDtkbIA7ZGzAO2RtADtkbUA7ZG2AO2RtwDtkbgA7ZG5AO2RugDtkbsA7ZG8AO2RvQDtkb4A7ZG/AO2SgADtkoEA7ZKCAO2SgwDtkoQA7ZKFAO2ShgDtkocA7ZKIAO2SiQDtkooA7ZKLAO2SjADtko0A7ZKOAO2SjwDtkpAA7ZKRAO2SkgDtkpMA7ZKUAO2SlQDtkpYA7ZKXAO2SmADtkpkA7ZKaAO2SmwDtkpwA7ZKdAO2SngDtkp8A7ZKgAO2SoQDtkqIA7ZKjAO2SpADtkqUA7ZKmAO2SpwDtkqgA7ZKpAO2SqgDtkqsA7ZKsAO2SrQDtkq4A7ZKvAO2SsADtkrEA7ZKyAO2SswDtkrQA7ZK1AO2StgDtkrcA7ZK4AO2SuQDtkroA7ZK7AO2SvADtkr0A7ZK+AO2SvwDtk4AA7ZOBAO2TggDtk4MA7ZOEAO2ThQDtk4YA7ZOHAO2TiADtk4kA7ZOKAO2TiwDtk4wA7ZONAO2TjgDtk48A7ZOQAO2TkQDtk5IA7ZOTAO2TlADtk5UA7ZOWAO2TlwDtk5gA7ZOZAO2TmgDtk5sA7ZOcAO2TnQDtk54A7ZOfAO2ToADtk6EA7ZOiAO2TowDtk6QA7ZOlAO2TpgDtk6cA7ZOoAO2TqQDtk6oA7ZOrAO2TrADtk60A7ZOuAO2TrwDtk7AA7ZOxAO2TsgDtk7MA7ZO0AO2TtQDtk7YA7ZO3AO2TuADtk7kA7ZO6AO2TuwDtk7wA7ZO9AO2TvgDtk78A7ZSAAO2UgQDtlIIA7ZSDAO2UhADtlIUA7ZSGAO2UhwDtlIgA7ZSJAO2UigDtlIsA7ZSMAO2UjQDtlI4A7ZSPAO2UkADtlJEA7ZSSAO2UkwDtlJQA7ZSVAO2UlgDtlJcA7ZSYAO2UmQDtlJoA7ZSbAO2UnADtlJ0A7ZSeAO2UnwDtlKAA7ZShAO2UogDtlKMA7ZSkAO2UpQDtlKYA7ZSnAO2UqADtlKkA7ZSqAO2UqwDtlKwA7ZStAO2UrgDtlK8A7ZSwAO2UsQDtlLIA7ZSzAO2UtADtlLUA7ZS2AO2UtwDtlLgA7ZS5AO2UugDtlLsA7ZS8AO2UvQDtlL4A7ZS/AO2VgADtlYEA7ZWCAO2VgwDtlYQA7ZWFAO2VhgDtlYcA7ZWIAO2ViQDtlYoA7ZWLAO2VjADtlY0A7ZWOAO2VjwDtlZAA7ZWRAO2VkgDtlZMA7ZWUAO2VlQDtlZYA7ZWXAO2VmADtlZkA7ZWaAO2VmwDtlZwA7ZWdAO2VngDtlZ8A7ZWgAO2VoQDtlaIA7ZWjAO2VpADtlaUA7ZWmAO2VpwDtlagA7ZWpAO2VqgDtlasA7ZWsAO2VrQDtla4A7ZWvAO2VsADtlbEA7ZWyAO2VswDtlbQA7ZW1AO2VtgDtlbcA7ZW4AO2VuQDtlboA7ZW7AO2VvADtlb0A7ZW+AO2VvwDtloAA7ZaBAO2WggDtloMA7ZaEAO2WhQDtloYA7ZaHAO2WiADtlokA7ZaKAO2WiwDtlowA7ZaNAO2WjgDtlo8A7ZaQAO2WkQDtlpIA7ZaTAO2WlADtlpUA7ZaWAO2WlwDtlpgA7ZaZAO2WmgDtlpsA7ZacAO2WnQDtlp4A7ZafAO2WoADtlqEA7ZaiAO2WowDtlqQA7ZalAO2WpgDtlqcA7ZaoAO2WqQDtlqoA7ZarAO2WrADtlq0A7ZauAO2WrwDtlrAA7ZaxAO2WsgDtlrMA7Za0AO2WtQDtlrYA7Za3AO2WuADtlrkA7Za6AO2WuwDtlrwA7Za9AO2WvgDtlr8A7ZeAAO2XgQDtl4IA7ZeDAO2XhADtl4UA7ZeGAO2XhwDtl4gA7ZeJAO2XigDtl4sA7ZeMAO2XjQDtl44A7ZePAO2XkADtl5EA7ZeSAO2XkwDtl5QA7ZeVAO2XlgDtl5cA7ZeYAO2XmQDtl5oA7ZebAO2XnADtl50A7ZeeAO2XnwDtl6AA7ZehAO2XogDtl6MA7ZekAO2XpQDtl6YA7ZenAO2XqADtl6kA7ZeqAO2XqwDtl6wA7ZetAO2XrgDtl68A7ZewAO2XsQDtl7IA7ZezAO2XtADtl7UA7Ze2AO2XtwDtl7gA7Ze5AO2XugDtl7sA7Ze8AO2XvQDtl74A7Ze/AO2YgADtmIEA7ZiCAO2YgwDtmIQA7ZiFAO2YhgDtmIcA7ZiIAO2YiQDtmIoA7ZiLAO2YjADtmI0A7ZiOAO2YjwDtmJAA7ZiRAO2YkgDtmJMA7ZiUAO2YlQDtmJYA7ZiXAO2YmADtmJkA7ZiaAO2YmwDtmJwA7ZidAO2YngDtmJ8A7ZigAO2YoQDtmKIA7ZijAO2YpADtmKUA7ZimAO2YpwDtmKgA7ZipAO2YqgDtmKsA7ZisAO2YrQDtmK4A7ZivAO2YsADtmLEA7ZiyAO2YswDtmLQA7Zi1AO2YtgDtmLcA7Zi4AO2YuQDtmLoA7Zi7AO2YvADtmL0A7Zi+AO2YvwDtmYAA7ZmBAO2ZggDtmYMA7ZmEAO2ZhQDtmYYA7ZmHAO2ZiADtmYkA7ZmKAO2ZiwDtmYwA7ZmNAO2ZjgDtmY8A7ZmQAO2ZkQDtmZIA7ZmTAO2ZlADtmZUA7ZmWAO2ZlwDtmZgA7ZmZAO2ZmgDtmZsA7ZmcAO2ZnQDtmZ4A7ZmfAO2ZoADtmaEA7ZmiAO2ZowDtmaQA7ZmlAO2ZpgDtmacA7ZmoAO2ZqQDtmaoA7ZmrAO2ZrADtma0A7ZmuAO2ZrwDtmbAA7ZmxAO2ZsgDtmbMA7Zm0AO2ZtQDtmbYA7Zm3AO2ZuADtmbkA7Zm6AO2ZuwDtmbwA7Zm9AO2ZvgDtmb8A7ZqAAO2agQDtmoIA7ZqDAO2ahADtmoUA7ZqGAO2ahwDtmogA7ZqJAO2aigDtmosA7ZqMAO2ajQDtmo4A7ZqPAO2akADtmpEA7ZqSAO2akwDtmpQA7ZqVAO2algDtmpcA7ZqYAO2amQDtmpoA7ZqbAO2anADtmp0A7ZqeAO2anwDtmqAA7ZqhAO2aogDtmqMA7ZqkAO2apQDtmqYA7ZqnAO2aqADtmqkA7ZqqAO2aqwDtmqwA7ZqtAO2argDtmq8A7ZqwAO2asQDtmrIA7ZqzAO2atADtmrUA7Zq2AO2atwDtmrgA7Zq5AO2augDtmrsA7Zq8AO2avQDtmr4A7Zq/AO2bgADtm4EA7ZuCAO2bgwDtm4QA7ZuFAO2bhgDtm4cA7ZuIAO2biQDtm4oA7ZuLAO2bjADtm40A7ZuOAO2bjwDtm5AA7ZuRAO2bkgDtm5MA7ZuUAO2blQDtm5YA7ZuXAO2bmADtm5kA7ZuaAO2bmwDtm5wA7ZudAO2bngDtm58A7ZugAO2boQDtm6IA7ZujAO2bpADtm6UA7ZumAO2bpwDtm6gA7ZupAO2bqgDtm6sA7ZusAO2brQDtm64A7ZuvAO2bsADtm7EA7ZuyAO2bswDtm7QA7Zu1AO2btgDtm7cA7Zu4AO2buQDtm7oA7Zu7AO2bvADtm70A7Zu+AO2bvwDtnIAA7ZyBAO2cggDtnIMA7ZyEAO2chQDtnIYA7ZyHAO2ciADtnIkA7ZyKAO2ciwDtnIwA7ZyNAO2cjgDtnI8A7ZyQAO2ckQDtnJIA7ZyTAO2clADtnJUA7ZyWAO2clwDtnJgA7ZyZAO2cmgDtnJsA7ZycAO2cnQDtnJ4A7ZyfAO2coADtnKEA7ZyiAO2cowDtnKQA7ZylAO2cpgDtnKcA7ZyoAO2cqQDtnKoA7ZyrAO2crADtnK0A7ZyuAO2crwDtnLAA7ZyxAO2csgDtnLMA7Zy0AO2ctQDtnLYA7Zy3AO2cuADtnLkA7Zy6AO2cuwDtnLwA7Zy9AO2cvgDtnL8A7Z2AAO2dgQDtnYIA7Z2DAO2dhADtnYUA7Z2GAO2dhwDtnYgA7Z2JAO2digDtnYsA7Z2MAO2djQDtnY4A7Z2PAO2dkADtnZEA7Z2SAO2dkwDtnZQA7Z2VAO2dlgDtnZcA7Z2YAO2dmQDtnZoA7Z2bAO2dnADtnZ0A7Z2eAO2dnwDtnaAA7Z2hAO2dogDtnaMA7Z2kAO2dpQDtnaYA7Z2nAO2dqADtnakA7Z2qAO2dqwDtnawA7Z2tAO2drgDtna8A7Z2wAO2dsQDtnbIA7Z2zAO2dtADtnbUA7Z22AO2dtwDtnbgA7Z25AO2dugDtnbsA7Z28AO2dvQDtnb4A7Z2/AO2egADtnoEA7Z6CAO2egwDtnoQA7Z6FAO2ehgDtnocA7Z6IAO2eiQDtnooA7Z6LAO2ejADtno0A7Z6OAO2ejwDtnpAA7Z6RAO2ekgDtnpMA7Z6UAO2elQDtnpYA7Z6XAO2emADtnpkA7Z6aAO2emwDtnpwA7Z6dAO2engDtnp8A7Z6gAO2eoQDtnqIA7Z6jAPCRgpoA8JGCnADwkYKrAPCRhK4A8JGErwDwkY2LAPCRjYwA8JGSuwDwkZK8APCRkr4A8JGWugDwkZa7APCdhZfwnYWlAPCdhZjwnYWlAPCdhZjwnYWl8J2FrgDwnYWY8J2FpfCdha8A8J2FmPCdhaXwnYWwAPCdhZjwnYWl8J2FsQDwnYWY8J2FpfCdhbIA8J2GufCdhaUA8J2GufCdhaXwnYWuAPCdhrnwnYWl8J2FrwDwnYa68J2FpQDwnYa68J2FpfCdha4A8J2GuvCdhaXwnYWvAPCghKIA8KCUnADwoJSlAPCglYsA8KCYugDwoKCEAPCgo54A8KCorADwoK2jAPChk6QA8KGaqADwoZuqAPChp4gA8KGsmADwobSLAPCht6QA8KG3pgDwooaDAPCihp8A8KKMsQDwopuUAPCioYQA8KKhigDwoqyMAPCir7EA8KOAigDwo4q4APCjjZ8A8KOOkwDwo46cAPCjj4MA8KOPlQDwo5GtAPCjmqMA8KOipwDwo6qNAPCjq7oA8KOyvADwo7SeAPCju5EA8KO9ngDwo76OAPCkiaMA8KSLrgDwpI6rAPCkmIgA8KSctQDwpKCUAPCksLYA8KSykgDwpL6hAPCkvrgA8KWBhADwpYOyAPClg7MA8KWEmQDwpYSzAPCliYkA8KWQnQDwpZimAPClmpoA8KWbhQDwpaW8APClqqcA8KWuqwDwpbKAAPCls5AA8KW+hgDwpoeaAPCmiKgA8KaJhwDwpouZAPCmjL4A8KaTmgDwppSjAPCmlqgA8KaepwDwpp61APCmrLwA8KawtgDwprOVAPCmtasA8Ka8rADwpr6xAPCng5IA8KePigDwp5mnAPCnoq4A8KelpgDwp7KoAPCnu5MA8Ke8rwDwqJeSAPCol60A8KicrgDwqK+6APCotbcA8KmFhQDwqYefAPCpiJoA8KmQigDwqZKWAPCplrYA8KmssADwqoOOAPCqhIUA8KqIjgDwqoqRAPCqjpIA8KqYgAA=" + }, + { + "type": "Strip", + "strip_left": false, + "strip_right": true + }, + { + "type": "Replace", + "pattern": { + "Regex": " {2,}" + }, + "content": "▁" + } + ] + }, + "pre_tokenizer": { + "type": "Metaspace", + "replacement": "▁", + "add_prefix_space": true, + "prepend_scheme": "first" + }, + "post_processor": { + "type": "TemplateProcessing", + "single": [ + { + "Sequence": { + "id": "A", + "type_id": 0 + } + }, + { + "SpecialToken": { + "id": "", + "type_id": 0 + } + } + ], + "pair": [ + { + "Sequence": { + "id": "A", + "type_id": 0 + } + }, + { + "SpecialToken": { + "id": "", + "type_id": 0 + } + }, + { + "Sequence": { + "id": "B", + "type_id": 0 + } + }, + { + "SpecialToken": { + "id": "", + "type_id": 0 + } + } + ], + "special_tokens": { + "": { + "id": "", + "ids": [ + 1 + ], + "tokens": [ + "" + ] + } + } + }, + "decoder": { + "type": "Metaspace", + "replacement": "▁", + "add_prefix_space": true, + "prepend_scheme": "always" + }, + "model": { + "type": "Unigram", + "unk_id": 2, + "vocab": [ + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "▁", + -2.0122928619384766 + ], + [ + "X", + -2.486478805541992 + ], + [ + ".", + -3.5449328422546387 + ], + [ + ",", + -3.649247407913208 + ], + [ + "s", + -3.9033992290496826 + ], + [ + "▁the", + -3.9598512649536133 + ], + [ + "a", + -4.097104549407959 + ], + [ + ":", + -4.414328098297119 + ], + [ + "▁and", + -4.420670986175537 + ], + [ + "▁to", + -4.4523234367370605 + ], + [ + "▁of", + -4.572070121765137 + ], + [ + "▁fill", + -4.575019836425781 + ], + [ + "e", + -4.674920082092285 + ], + [ + "▁in", + -4.812063694000244 + ], + [ + "t", + -5.063905715942383 + ], + [ + "-", + -5.129043102264404 + ], + [ + "▁is", + -5.283425331115723 + ], + [ + "▁de", + -5.344141960144043 + ], + [ + "▁for", + -5.3930158615112305 + ], + [ + "’", + -5.4228339195251465 + ], + [ + "i", + -5.469857692718506 + ], + [ + "▁that", + -5.576240539550781 + ], + [ + "▁you", + -5.596375465393066 + ], + [ + "d", + -5.6047282218933105 + ], + [ + "▁I", + -5.6640448570251465 + ], + [ + "▁with", + -5.703730583190918 + ], + [ + "n", + -5.737886905670166 + ], + [ + "▁on", + -5.784142971038818 + ], + [ + "'", + -5.828996181488037 + ], + [ + "o", + -5.925558090209961 + ], + [ + "▁are", + -5.931313991546631 + ], + [ + "▁it", + -5.939518928527832 + ], + [ + "en", + -5.9465556144714355 + ], + [ + "▁be", + -5.9556708335876465 + ], + [ + "▁The", + -5.990020751953125 + ], + [ + "▁as", + -6.057407379150391 + ], + [ + "▁your", + -6.132311820983887 + ], + [ + "l", + -6.139498710632324 + ], + [ + "▁(", + -6.184796333312988 + ], + [ + "▁or", + -6.241950035095215 + ], + [ + "▁have", + -6.27459192276001 + ], + [ + "▁at", + -6.327472686767578 + ], + [ + "▁from", + -6.349645137786865 + ], + [ + "▁an", + -6.350090980529785 + ], + [ + "▁was", + -6.350385665893555 + ], + [ + "▁this", + -6.352563381195068 + ], + [ + "er", + -6.3604278564453125 + ], + [ + "▁la", + -6.3624043464660645 + ], + [ + "m", + -6.375206470489502 + ], + [ + "r", + -6.376530170440674 + ], + [ + "ing", + -6.3778581619262695 + ], + [ + "▁can", + -6.387146472930908 + ], + [ + "!", + -6.421379566192627 + ], + [ + "▁will", + -6.423982620239258 + ], + [ + "▁by", + -6.44155216217041 + ], + [ + "?", + -6.585887432098389 + ], + [ + "▁not", + -6.5959086418151855 + ], + [ + "re", + -6.620072364807129 + ], + [ + ")", + -6.63656759262085 + ], + [ + "▁we", + -6.643022060394287 + ], + [ + "y", + -6.654535293579102 + ], + [ + "▁und", + -6.741473197937012 + ], + [ + "▁has", + -6.7602033615112305 + ], + [ + "▁all", + -6.768176555633545 + ], + [ + "▁die", + -6.8641204833984375 + ], + [ + "▁but", + -6.906830310821533 + ], + [ + "▁our", + -6.909878730773926 + ], + [ + "▁their", + -6.91325044631958 + ], + [ + "▁A", + -6.915814399719238 + ], + [ + "▁more", + -6.918668746948242 + ], + [ + "▁un", + -6.924930572509766 + ], + [ + "▁der", + -6.925402641296387 + ], + [ + "c", + -6.925714015960693 + ], + [ + "u", + -6.932939052581787 + ], + [ + "in", + -6.934063911437988 + ], + [ + "▁so", + -6.947050094604492 + ], + [ + "▁they", + -6.989297866821289 + ], + [ + "▁one", + -7.012735843658447 + ], + [ + "▁about", + -7.071486473083496 + ], + [ + "▁my", + -7.072140693664551 + ], + [ + "ul", + -7.076492786407471 + ], + [ + "▁which", + -7.097039222717285 + ], + [ + "à", + -7.099997520446777 + ], + [ + "▁In", + -7.100254535675049 + ], + [ + "/", + -7.100865840911865 + ], + [ + "he", + -7.104752540588379 + ], + [ + "f", + -7.110044002532959 + ], + [ + "▁le", + -7.112937927246094 + ], + [ + "▁out", + -7.128556728363037 + ], + [ + "▁also", + -7.133583068847656 + ], + [ + "▁des", + -7.156766414642334 + ], + [ + "▁It", + -7.162121295928955 + ], + [ + "▁up", + -7.1723432540893555 + ], + [ + "▁\"", + -7.172809600830078 + ], + [ + "▁time", + -7.178046703338623 + ], + [ + "ă", + -7.183253765106201 + ], + [ + "if", + -7.185171127319336 + ], + [ + "▁This", + -7.191652297973633 + ], + [ + "▁We", + -7.223267078399658 + ], + [ + "p", + -7.224130153656006 + ], + [ + "▁do", + -7.228212356567383 + ], + [ + "–", + -7.235409736633301 + ], + [ + "▁“", + -7.238142013549805 + ], + [ + "on", + -7.240827560424805 + ], + [ + "h", + -7.2543206214904785 + ], + [ + "▁si", + -7.276725769042969 + ], + [ + "le", + -7.2994256019592285 + ], + [ + "▁les", + -7.312957286834717 + ], + [ + "▁în", + -7.314571857452393 + ], + [ + "▁his", + -7.324767112731934 + ], + [ + "▁who", + -7.35105562210083 + ], + [ + "▁like", + -7.371364116668701 + ], + [ + "b", + -7.375369071960449 + ], + [ + "▁when", + -7.380199432373047 + ], + [ + ";", + -7.380846977233887 + ], + [ + "▁been", + -7.38668966293335 + ], + [ + "▁other", + -7.388518333435059 + ], + [ + "ly", + -7.394660949707031 + ], + [ + "\"", + -7.407205104827881 + ], + [ + "g", + -7.407997131347656 + ], + [ + "▁cu", + -7.415276527404785 + ], + [ + "▁care", + -7.432408332824707 + ], + [ + "▁what", + -7.433043003082275 + ], + [ + "▁new", + -7.4370903968811035 + ], + [ + "or", + -7.445409774780273 + ], + [ + "▁some", + -7.461953639984131 + ], + [ + "▁get", + -7.479001998901367 + ], + [ + "▁were", + -7.491549491882324 + ], + [ + "▁just", + -7.492495536804199 + ], + [ + "▁there", + -7.493194103240967 + ], + [ + "▁would", + -7.494382381439209 + ], + [ + "S", + -7.4974141120910645 + ], + [ + "▁them", + -7.513596057891846 + ], + [ + "▁any", + -7.520544052124023 + ], + [ + ").", + -7.521052360534668 + ], + [ + "al", + -7.523056983947754 + ], + [ + "▁into", + -7.527902603149414 + ], + [ + "▁me", + -7.528337001800537 + ], + [ + "▁had", + -7.532425403594971 + ], + [ + "▁se", + -7.5451483726501465 + ], + [ + "▁make", + -7.5827131271362305 + ], + [ + "at", + -7.589433670043945 + ], + [ + "▁than", + -7.592360019683838 + ], + [ + "▁du", + -7.595852375030518 + ], + [ + "▁over", + -7.6078782081604 + ], + [ + "▁You", + -7.626111030578613 + ], + [ + "▁how", + -7.635554313659668 + ], + [ + "▁no", + -7.63729190826416 + ], + [ + "▁people", + -7.639947414398193 + ], + [ + "an", + -7.64084005355835 + ], + [ + "”", + -7.644528865814209 + ], + [ + "é", + -7.646921157836914 + ], + [ + "it", + -7.648641109466553 + ], + [ + "▁If", + -7.648687839508057 + ], + [ + "k", + -7.6605634689331055 + ], + [ + "▁pe", + -7.662139415740967 + ], + [ + "is", + -7.66726016998291 + ], + [ + "▁her", + -7.6733808517456055 + ], + [ + "▁work", + -7.680386543273926 + ], + [ + "ve", + -7.687412738800049 + ], + [ + "▁only", + -7.69785737991333 + ], + [ + "▁may", + -7.702393531799316 + ], + [ + "▁its", + -7.702449798583984 + ], + [ + "▁first", + -7.704373836517334 + ], + [ + "▁most", + -7.708309173583984 + ], + [ + "▁well", + -7.708758354187012 + ], + [ + "▁use", + -7.715085983276367 + ], + [ + "▁zu", + -7.718777656555176 + ], + [ + "▁pour", + -7.736708164215088 + ], + [ + "z", + -7.745654106140137 + ], + [ + "il", + -7.745913982391357 + ], + [ + "▁need", + -7.74778938293457 + ], + [ + "▁these", + -7.763317584991455 + ], + [ + "▁din", + -7.769891262054443 + ], + [ + "▁den", + -7.775663375854492 + ], + [ + "▁us", + -7.778133869171143 + ], + [ + "able", + -7.779712200164795 + ], + [ + "▁S", + -7.781893730163574 + ], + [ + "▁mit", + -7.792516231536865 + ], + [ + "▁very", + -7.79970645904541 + ], + [ + "▁am", + -7.814100742340088 + ], + [ + "&", + -7.829529285430908 + ], + [ + "▁au", + -7.83012056350708 + ], + [ + "▁many", + -7.83834171295166 + ], + [ + "▁mai", + -7.84363317489624 + ], + [ + "A", + -7.849830150604248 + ], + [ + "th", + -7.855541229248047 + ], + [ + "▁through", + -7.859585285186768 + ], + [ + "▁pentru", + -7.86391544342041 + ], + [ + "▁two", + -7.873607158660889 + ], + [ + "▁von", + -7.874959945678711 + ], + [ + "▁way", + -7.887117385864258 + ], + [ + "ll", + -7.887749195098877 + ], + [ + "I", + -7.891303539276123 + ], + [ + "▁ce", + -7.9015631675720215 + ], + [ + "▁și", + -7.904444694519043 + ], + [ + "▁help", + -7.907405853271484 + ], + [ + "▁best", + -7.907911777496338 + ], + [ + "),", + -7.908212184906006 + ], + [ + "un", + -7.925017833709717 + ], + [ + "▁years", + -7.925964832305908 + ], + [ + "▁2", + -7.9282684326171875 + ], + [ + "▁C", + -7.936962604522705 + ], + [ + "▁nu", + -7.939520835876465 + ], + [ + "▁good", + -7.943995952606201 + ], + [ + "v", + -7.94746732711792 + ], + [ + "▁1", + -7.94765567779541 + ], + [ + "w", + -7.947978496551514 + ], + [ + "▁das", + -7.960538864135742 + ], + [ + "▁ca", + -7.962430477142334 + ], + [ + "▁where", + -7.964908123016357 + ], + [ + "▁know", + -7.96622896194458 + ], + [ + "▁year", + -7.971063613891602 + ], + [ + "▁He", + -7.974609375 + ], + [ + "▁see", + -7.980011463165283 + ], + [ + "▁für", + -7.984004497528076 + ], + [ + "▁auf", + -7.984249114990234 + ], + [ + "▁3", + -7.984433650970459 + ], + [ + "de", + -7.985401153564453 + ], + [ + "est", + -8.002091407775879 + ], + [ + "▁back", + -8.007022857666016 + ], + [ + "▁such", + -8.008523941040039 + ], + [ + "▁should", + -8.011754989624023 + ], + [ + "x", + -8.015050888061523 + ], + [ + "▁after", + -8.01761245727539 + ], + [ + "▁could", + -8.019674301147461 + ], + [ + "▁ist", + -8.020784378051758 + ], + [ + "▁now", + -8.022845268249512 + ], + [ + "▁much", + -8.023111343383789 + ], + [ + "and", + -8.02390193939209 + ], + [ + "...", + -8.030110359191895 + ], + [ + "▁home", + -8.036273956298828 + ], + [ + "to", + -8.03821086883545 + ], + [ + "▁ein", + -8.04833984375 + ], + [ + "▁even", + -8.048656463623047 + ], + [ + "▁que", + -8.049829483032227 + ], + [ + "▁day", + -8.051553726196289 + ], + [ + "▁take", + -8.054189682006836 + ], + [ + "▁want", + -8.054435729980469 + ], + [ + "▁For", + -8.06217098236084 + ], + [ + "▁said", + -8.063249588012695 + ], + [ + "▁sur", + -8.073471069335938 + ], + [ + "▁une", + -8.077030181884766 + ], + [ + "▁să", + -8.082921028137207 + ], + [ + "▁dans", + -8.084549903869629 + ], + [ + "▁great", + -8.088057518005371 + ], + [ + "▁este", + -8.08947467803955 + ], + [ + "▁because", + -8.094311714172363 + ], + [ + "▁information", + -8.104085922241211 + ], + [ + "ului", + -8.105451583862305 + ], + [ + "▁find", + -8.112174987792969 + ], + [ + "C", + -8.119946479797363 + ], + [ + "▁she", + -8.125317573547363 + ], + [ + "▁im", + -8.126056671142578 + ], + [ + "ation", + -8.130115509033203 + ], + [ + "▁then", + -8.13021469116211 + ], + [ + "▁est", + -8.13099479675293 + ], + [ + "▁par", + -8.138585090637207 + ], + [ + "▁used", + -8.141871452331543 + ], + [ + "▁E", + -8.146790504455566 + ], + [ + "▁made", + -8.149978637695312 + ], + [ + "▁So", + -8.15785026550293 + ], + [ + "am", + -8.16288948059082 + ], + [ + "▁eine", + -8.165464401245117 + ], + [ + "▁şi", + -8.168368339538574 + ], + [ + "▁business", + -8.17335033416748 + ], + [ + "▁right", + -8.173593521118164 + ], + [ + "▁here", + -8.176125526428223 + ], + [ + "▁being", + -8.184967041015625 + ], + [ + "▁B", + -8.185355186462402 + ], + [ + "▁those", + -8.185736656188965 + ], + [ + "▁before", + -8.194721221923828 + ], + [ + "▁And", + -8.199501037597656 + ], + [ + "▁P", + -8.200712203979492 + ], + [ + "ers", + -8.200922012329102 + ], + [ + "▁don", + -8.204029083251953 + ], + [ + "B", + -8.20487117767334 + ], + [ + "▁life", + -8.206265449523926 + ], + [ + "▁go", + -8.209736824035645 + ], + [ + "▁As", + -8.210551261901855 + ], + [ + "▁M", + -8.221170425415039 + ], + [ + "▁each", + -8.22955322265625 + ], + [ + "▁qui", + -8.23323917388916 + ], + [ + "▁place", + -8.236248970031738 + ], + [ + "com", + -8.237479209899902 + ], + [ + "ant", + -8.252915382385254 + ], + [ + "▁sich", + -8.255932807922363 + ], + [ + "▁There", + -8.261948585510254 + ], + [ + "ar", + -8.264991760253906 + ], + [ + "▁Sie", + -8.273868560791016 + ], + [ + "▁own", + -8.277531623840332 + ], + [ + "▁part", + -8.279440879821777 + ], + [ + "ent", + -8.281047821044922 + ], + [ + "▁world", + -8.28173542022705 + ], + [ + "ment", + -8.282004356384277 + ], + [ + "▁while", + -8.294474601745605 + ], + [ + "▁But", + -8.295366287231445 + ], + [ + "▁around", + -8.300799369812012 + ], + [ + "▁L", + -8.301082611083984 + ], + [ + "us", + -8.304039001464844 + ], + [ + "▁plus", + -8.313054084777832 + ], + [ + "▁To", + -8.313691139221191 + ], + [ + "▁5", + -8.31412410736084 + ], + [ + "▁high", + -8.31862735748291 + ], + [ + "▁long", + -8.319378852844238 + ], + [ + "D", + -8.320075035095215 + ], + [ + "▁D", + -8.320279121398926 + ], + [ + "▁really", + -8.322924613952637 + ], + [ + "▁nicht", + -8.332040786743164 + ], + [ + "▁Le", + -8.335328102111816 + ], + [ + "▁service", + -8.3412504196167 + ], + [ + "▁4", + -8.342093467712402 + ], + [ + "▁different", + -8.342538833618164 + ], + [ + "▁Die", + -8.348092079162598 + ], + [ + "▁think", + -8.353771209716797 + ], + [ + "—", + -8.355998039245605 + ], + [ + "▁auch", + -8.357160568237305 + ], + [ + "▁look", + -8.362202644348145 + ], + [ + "▁both", + -8.366817474365234 + ], + [ + "lor", + -8.36687183380127 + ], + [ + "▁down", + -8.367999076843262 + ], + [ + "ten", + -8.368885040283203 + ], + [ + "▁La", + -8.378066062927246 + ], + [ + "▁off", + -8.380044937133789 + ], + [ + "▁vous", + -8.380541801452637 + ], + [ + "▁They", + -8.381462097167969 + ], + [ + "M", + -8.383248329162598 + ], + [ + "▁pas", + -8.384513854980469 + ], + [ + "▁data", + -8.385709762573242 + ], + [ + "▁T", + -8.386754989624023 + ], + [ + "▁love", + -8.388101577758789 + ], + [ + "▁every", + -8.390009880065918 + ], + [ + "▁10", + -8.391179084777832 + ], + [ + "▁last", + -8.392083168029785 + ], + [ + "▁same", + -8.393481254577637 + ], + [ + "▁using", + -8.395487785339355 + ], + [ + "▁free", + -8.408831596374512 + ], + [ + "▁dem", + -8.40894889831543 + ], + [ + "▁still", + -8.409984588623047 + ], + [ + "ate", + -8.410931587219238 + ], + [ + "ist", + -8.415611267089844 + ], + [ + "▁between", + -8.420283317565918 + ], + [ + "P", + -8.420982360839844 + ], + [ + "be", + -8.428167343139648 + ], + [ + "▁available", + -8.429443359375 + ], + [ + "man", + -8.432978630065918 + ], + [ + "▁company", + -8.439678192138672 + ], + [ + "▁G", + -8.441640853881836 + ], + [ + "▁experience", + -8.444950103759766 + ], + [ + "▁going", + -8.449073791503906 + ], + [ + "▁site", + -8.453832626342773 + ], + [ + "j", + -8.455142974853516 + ], + [ + "are", + -8.456900596618652 + ], + [ + "▁set", + -8.470661163330078 + ], + [ + "2", + -8.473684310913086 + ], + [ + "▁system", + -8.474678039550781 + ], + [ + "▁important", + -8.476791381835938 + ], + [ + "▁few", + -8.482437133789062 + ], + [ + "▁fi", + -8.482551574707031 + ], + [ + "ich", + -8.483301162719727 + ], + [ + "▁What", + -8.488649368286133 + ], + [ + "▁services", + -8.502433776855469 + ], + [ + "▁under", + -8.502569198608398 + ], + [ + "▁When", + -8.50308895111084 + ], + [ + "▁online", + -8.50699520111084 + ], + [ + "▁New", + -8.51494312286377 + ], + [ + "▁come", + -8.524871826171875 + ], + [ + "▁provide", + -8.525650024414062 + ], + [ + "F", + -8.526449203491211 + ], + [ + "▁team", + -8.52782154083252 + ], + [ + "▁always", + -8.529409408569336 + ], + [ + "▁De", + -8.530412673950195 + ], + [ + "▁că", + -8.532517433166504 + ], + [ + "▁him", + -8.53586196899414 + ], + [ + "▁F", + -8.538305282592773 + ], + [ + "▁things", + -8.550079345703125 + ], + [ + "▁including", + -8.550943374633789 + ], + [ + "▁support", + -8.552608489990234 + ], + [ + "▁number", + -8.554113388061523 + ], + [ + "T", + -8.557183265686035 + ], + [ + "▁during", + -8.55886459350586 + ], + [ + "▁family", + -8.560463905334473 + ], + [ + "▁little", + -8.561317443847656 + ], + [ + "▁three", + -8.567726135253906 + ], + [ + "▁water", + -8.56810188293457 + ], + [ + "▁man", + -8.569759368896484 + ], + [ + "▁An", + -8.57192611694336 + ], + [ + "based", + -8.572155952453613 + ], + [ + "▁R", + -8.57442855834961 + ], + [ + "▁sau", + -8.574433326721191 + ], + [ + "▁avec", + -8.576035499572754 + ], + [ + "▁better", + -8.576830863952637 + ], + [ + "▁„", + -8.582253456115723 + ], + [ + "▁too", + -8.58635425567627 + ], + [ + "ge", + -8.586719512939453 + ], + [ + "▁must", + -8.589736938476562 + ], + [ + "▁per", + -8.589916229248047 + ], + [ + "ele", + -8.590399742126465 + ], + [ + "▁oder", + -8.59264850616455 + ], + [ + "au", + -8.59555435180664 + ], + [ + "▁aus", + -8.595727920532227 + ], + [ + "▁werden", + -8.598653793334961 + ], + [ + "▁does", + -8.599140167236328 + ], + [ + "▁without", + -8.599270820617676 + ], + [ + "▁ou", + -8.599929809570312 + ], + [ + "▁design", + -8.60101318359375 + ], + [ + "▁va", + -8.605440139770508 + ], + [ + "▁did", + -8.615679740905762 + ], + [ + "▁O", + -8.619062423706055 + ], + [ + "▁U", + -8.623565673828125 + ], + [ + "up", + -8.62901496887207 + ], + [ + "▁end", + -8.63367748260498 + ], + [ + "▁local", + -8.636231422424316 + ], + [ + "▁next", + -8.638967514038086 + ], + [ + "▁sure", + -8.64098072052002 + ], + [ + "▁lot", + -8.64644718170166 + ], + [ + "▁Re", + -8.647016525268555 + ], + [ + "▁top", + -8.647642135620117 + ], + [ + "▁Our", + -8.656886100769043 + ], + [ + "▁small", + -8.656978607177734 + ], + [ + "▁full", + -8.659418106079102 + ], + [ + "▁something", + -8.662886619567871 + ], + [ + "ung", + -8.666722297668457 + ], + [ + "▁vor", + -8.673250198364258 + ], + [ + "E", + -8.673337936401367 + ], + [ + "▁give", + -8.67603588104248 + ], + [ + "▁might", + -8.67660903930664 + ], + [ + "▁another", + -8.679330825805664 + ], + [ + "▁6", + -8.680779457092285 + ], + [ + "▁All", + -8.681318283081055 + ], + [ + "▁process", + -8.681672096252441 + ], + [ + "L", + -8.682575225830078 + ], + [ + "▁found", + -8.68941593170166 + ], + [ + "▁sind", + -8.690044403076172 + ], + [ + "▁since", + -8.69528865814209 + ], + [ + "▁With", + -8.695560455322266 + ], + [ + "K", + -8.696988105773926 + ], + [ + "um", + -8.701016426086426 + ], + [ + "▁within", + -8.701669692993164 + ], + [ + "▁post", + -8.706608772277832 + ], + [ + "▁car", + -8.709365844726562 + ], + [ + "une", + -8.714099884033203 + ], + [ + "▁N", + -8.715041160583496 + ], + [ + "▁J", + -8.715597152709961 + ], + [ + "ic", + -8.71823787689209 + ], + [ + "R", + -8.722309112548828 + ], + [ + "ter", + -8.727437019348145 + ], + [ + "ur", + -8.728265762329102 + ], + [ + "▁She", + -8.73131275177002 + ], + [ + "▁public", + -8.732009887695312 + ], + [ + "▁keep", + -8.735784530639648 + ], + [ + "▁H", + -8.736178398132324 + ], + [ + "▁order", + -8.740762710571289 + ], + [ + "▁start", + -8.742195129394531 + ], + [ + "ez", + -8.74746322631836 + ], + [ + "▁‘", + -8.749832153320312 + ], + [ + "uri", + -8.751104354858398 + ], + [ + "▁20", + -8.752482414245605 + ], + [ + "▁On", + -8.753515243530273 + ], + [ + "▁offer", + -8.763005256652832 + ], + [ + "▁quality", + -8.764988899230957 + ], + [ + "▁working", + -8.769987106323242 + ], + [ + "▁No", + -8.770307540893555 + ], + [ + "▁That", + -8.775156021118164 + ], + [ + "▁game", + -8.7863187789917 + ], + [ + "▁bei", + -8.786642074584961 + ], + [ + "▁today", + -8.788661003112793 + ], + [ + "▁never", + -8.794586181640625 + ], + [ + "▁week", + -8.79587173461914 + ], + [ + "▁St", + -8.797786712646484 + ], + [ + "▁feel", + -8.799317359924316 + ], + [ + "▁put", + -8.801899909973145 + ], + [ + "▁website", + -8.80322265625 + ], + [ + "Y", + -8.804483413696289 + ], + [ + "▁days", + -8.804709434509277 + ], + [ + "▁program", + -8.805448532104492 + ], + [ + "▁looking", + -8.810463905334473 + ], + [ + "▁K", + -8.810808181762695 + ], + [ + "▁students", + -8.811436653137207 + ], + [ + "▁create", + -8.811800956726074 + ], + [ + "▁change", + -8.812616348266602 + ], + [ + "▁book", + -8.812932014465332 + ], + [ + "ity", + -8.813761711120605 + ], + [ + "▁At", + -8.815207481384277 + ], + [ + "▁possible", + -8.815670013427734 + ], + [ + "▁sunt", + -8.81651496887207 + ], + [ + "▁7", + -8.818120002746582 + ], + [ + "▁real", + -8.823369026184082 + ], + [ + "▁al", + -8.824172019958496 + ], + [ + "▁making", + -8.825371742248535 + ], + [ + "▁Be", + -8.825761795043945 + ], + [ + "▁products", + -8.82592487335205 + ], + [ + "▁case", + -8.82653522491455 + ], + [ + "▁school", + -8.8272066116333 + ], + [ + "▁say", + -8.830352783203125 + ], + [ + "area", + -8.832084655761719 + ], + [ + "▁My", + -8.833836555480957 + ], + [ + "▁point", + -8.834731101989746 + ], + [ + "▁als", + -8.83560848236084 + ], + [ + "▁children", + -8.836194038391113 + ], + [ + "▁course", + -8.844061851501465 + ], + [ + "▁show", + -8.847993850708008 + ], + [ + "▁8", + -8.849273681640625 + ], + [ + "▁These", + -8.849345207214355 + ], + [ + "▁18", + -8.851140975952148 + ], + [ + "▁large", + -8.851323127746582 + ], + [ + "co", + -8.854362487792969 + ], + [ + "▁über", + -8.854788780212402 + ], + [ + "▁second", + -8.856559753417969 + ], + [ + "▁market", + -8.859807014465332 + ], + [ + "▁fost", + -8.86048698425293 + ], + [ + "▁easy", + -8.863983154296875 + ], + [ + "▁plan", + -8.864302635192871 + ], + [ + "▁project", + -8.864927291870117 + ], + [ + "G", + -8.865178108215332 + ], + [ + "W", + -8.869574546813965 + ], + [ + "3", + -8.871939659118652 + ], + [ + "▁son", + -8.873332023620605 + ], + [ + "la", + -8.879053115844727 + ], + [ + "▁face", + -8.88137435913086 + ], + [ + "▁needs", + -8.88148021697998 + ], + [ + "ch", + -8.883138656616211 + ], + [ + "▁personal", + -8.88343620300293 + ], + [ + "me", + -8.886031150817871 + ], + [ + "▁sont", + -8.887377738952637 + ], + [ + "▁je", + -8.894930839538574 + ], + [ + "▁non", + -8.895471572875977 + ], + [ + "▁got", + -8.896591186523438 + ], + [ + "▁Do", + -8.897382736206055 + ], + [ + "the", + -8.89765453338623 + ], + [ + "▁health", + -8.89908504486084 + ], + [ + "▁special", + -8.90555477142334 + ], + [ + ".\"", + -8.907710075378418 + ], + [ + "1", + -8.907852172851562 + ], + [ + "den", + -8.908616065979004 + ], + [ + "▁state", + -8.909355163574219 + ], + [ + "▁open", + -8.91019058227539 + ], + [ + "▁money", + -8.91053581237793 + ], + [ + "▁again", + -8.913084983825684 + ], + [ + "▁food", + -8.913167953491211 + ], + [ + "▁page", + -8.914595603942871 + ], + [ + "▁together", + -8.91628360748291 + ], + [ + "age", + -8.919108390808105 + ], + [ + "▁qu", + -8.921928405761719 + ], + [ + "hat", + -8.922386169433594 + ], + [ + "▁ver", + -8.926993370056152 + ], + [ + "▁W", + -8.927785873413086 + ], + [ + "▁away", + -8.928759574890137 + ], + [ + "▁wird", + -8.931641578674316 + ], + [ + "▁until", + -8.934249877929688 + ], + [ + "V", + -8.934935569763184 + ], + [ + "▁pre", + -8.935851097106934 + ], + [ + "▁One", + -8.936429977416992 + ], + [ + "▁product", + -8.936561584472656 + ], + [ + "▁often", + -8.939326286315918 + ], + [ + "▁wir", + -8.944111824035645 + ], + [ + "▁nach", + -8.945127487182617 + ], + [ + "▁include", + -8.946555137634277 + ], + [ + "▁um", + -8.948204040527344 + ], + [ + "▁room", + -8.953709602355957 + ], + [ + "▁group", + -8.953767776489258 + ], + [ + "▁name", + -8.954949378967285 + ], + [ + "ce", + -8.955448150634766 + ], + [ + "H", + -8.956180572509766 + ], + [ + "N", + -8.958139419555664 + ], + [ + "▁person", + -8.958183288574219 + ], + [ + "▁social", + -8.958606719970703 + ], + [ + "▁list", + -8.963666915893555 + ], + [ + "▁How", + -8.964127540588379 + ], + [ + "▁why", + -8.96571159362793 + ], + [ + "▁community", + -8.965995788574219 + ], + [ + "▁contact", + -8.973031044006348 + ], + [ + "­", + -8.9755859375 + ], + [ + "▁co", + -8.979683876037598 + ], + [ + "▁play", + -8.983960151672363 + ], + [ + "▁having", + -8.984169960021973 + ], + [ + "▁power", + -8.986917495727539 + ], + [ + "▁call", + -8.991690635681152 + ], + [ + "▁against", + -8.991816520690918 + ], + [ + "▁become", + -8.997780799865723 + ], + [ + "▁cost", + -9.003793716430664 + ], + [ + "▁V", + -9.004593849182129 + ], + [ + "▁research", + -9.006913185119629 + ], + [ + "▁12", + -9.007307052612305 + ], + [ + "▁wie", + -9.008277893066406 + ], + [ + "der", + -9.008386611938477 + ], + [ + "▁thing", + -9.014028549194336 + ], + [ + "▁along", + -9.017301559448242 + ], + [ + "4", + -9.017330169677734 + ], + [ + "▁access", + -9.020391464233398 + ], + [ + "▁level", + -9.020505905151367 + ], + [ + "▁price", + -9.022817611694336 + ], + [ + "▁einen", + -9.023714065551758 + ], + [ + "▁side", + -9.026359558105469 + ], + [ + "▁Un", + -9.026851654052734 + ], + [ + "▁means", + -9.030416488647461 + ], + [ + "(", + -9.032341957092285 + ], + [ + "▁big", + -9.034374237060547 + ], + [ + "▁God", + -9.036499977111816 + ], + [ + "▁dass", + -9.037314414978027 + ], + [ + "im", + -9.037374496459961 + ], + [ + "▁30", + -9.037432670593262 + ], + [ + "▁event", + -9.041665077209473 + ], + [ + "▁development", + -9.042060852050781 + ], + [ + "▁form", + -9.04226303100586 + ], + [ + "▁read", + -9.042579650878906 + ], + [ + "▁hand", + -9.043194770812988 + ], + [ + "▁control", + -9.04446792602539 + ], + [ + "▁However", + -9.046320915222168 + ], + [ + "▁done", + -9.048060417175293 + ], + [ + "▁job", + -9.051692008972168 + ], + [ + "▁hard", + -9.056619644165039 + ], + [ + "▁war", + -9.057538032531738 + ], + [ + "▁area", + -9.0584135055542 + ], + [ + "▁add", + -9.0586576461792 + ], + [ + "▁votre", + -9.0593900680542 + ], + [ + "▁live", + -9.059494018554688 + ], + [ + "▁range", + -9.060099601745605 + ], + [ + "▁After", + -9.060164451599121 + ], + [ + "▁Les", + -9.060513496398926 + ], + [ + "▁far", + -9.064413070678711 + ], + [ + "ver", + -9.064727783203125 + ], + [ + "▁old", + -9.069576263427734 + ], + [ + "▁perfect", + -9.06976318359375 + ], + [ + "▁15", + -9.070429801940918 + ], + [ + "▁space", + -9.073654174804688 + ], + [ + "▁house", + -9.074068069458008 + ], + [ + "ine", + -9.07408618927002 + ], + [ + "▁enough", + -9.074334144592285 + ], + [ + "0", + -9.075824737548828 + ], + [ + "▁several", + -9.077119827270508 + ], + [ + "The", + -9.081155776977539 + ], + [ + "mm", + -9.085619926452637 + ], + [ + "▁University", + -9.08637523651123 + ], + [ + "▁diese", + -9.087566375732422 + ], + [ + "▁Co", + -9.088335990905762 + ], + [ + "▁comes", + -9.088497161865234 + ], + [ + "▁across", + -9.088857650756836 + ], + [ + "▁already", + -9.090097427368164 + ], + [ + ",”", + -9.090341567993164 + ], + [ + "▁body", + -9.09276294708252 + ], + [ + "▁Das", + -9.094594955444336 + ], + [ + "▁einer", + -9.095956802368164 + ], + [ + "▁left", + -9.09921646118164 + ], + [ + "▁future", + -9.105711936950684 + ], + [ + "▁times", + -9.106670379638672 + ], + [ + "▁dar", + -9.109651565551758 + ], + [ + "▁simple", + -9.110408782958984 + ], + [ + "ry", + -9.112407684326172 + ], + [ + "▁getting", + -9.113155364990234 + ], + [ + "▁try", + -9.115362167358398 + ], + [ + "ți", + -9.116897583007812 + ], + [ + "ness", + -9.120043754577637 + ], + [ + "▁makes", + -9.120377540588379 + ], + [ + "▁past", + -9.120619773864746 + ], + [ + "ca", + -9.12130069732666 + ], + [ + "▁light", + -9.122207641601562 + ], + [ + "▁Der", + -9.122997283935547 + ], + [ + "▁run", + -9.125843048095703 + ], + [ + "▁four", + -9.126943588256836 + ], + [ + "ance", + -9.130500793457031 + ], + [ + "▁ever", + -9.131503105163574 + ], + [ + "▁einem", + -9.131816864013672 + ], + [ + "▁below", + -9.133723258972168 + ], + [ + "O", + -9.134073257446289 + ], + [ + "▁9", + -9.137282371520996 + ], + [ + "▁learn", + -9.14004135131836 + ], + [ + "out", + -9.140358924865723 + ], + [ + "▁video", + -9.143178939819336 + ], + [ + "▁etc", + -9.146929740905762 + ], + [ + "▁«", + -9.148795127868652 + ], + [ + "▁zum", + -9.149712562561035 + ], + [ + "▁kann", + -9.1504487991333 + ], + [ + "▁minutes", + -9.151180267333984 + ], + [ + "▁example", + -9.154194831848145 + ], + [ + "▁nous", + -9.154619216918945 + ], + [ + "▁Se", + -9.157441139221191 + ], + [ + "▁sie", + -9.159955024719238 + ], + [ + "▁industry", + -9.161614418029785 + ], + [ + "▁problem", + -9.162016868591309 + ], + [ + "J", + -9.162480354309082 + ], + [ + "▁country", + -9.163366317749023 + ], + [ + "▁fact", + -9.164189338684082 + ], + [ + "▁type", + -9.164190292358398 + ], + [ + "ner", + -9.164238929748535 + ], + [ + "▁companies", + -9.165864944458008 + ], + [ + "▁line", + -9.169849395751953 + ], + [ + "▁city", + -9.172713279724121 + ], + [ + "▁check", + -9.173710823059082 + ], + [ + "▁doing", + -9.174406051635742 + ], + [ + "elle", + -9.175037384033203 + ], + [ + "▁fun", + -9.176549911499023 + ], + [ + "▁En", + -9.177546501159668 + ], + [ + "▁Your", + -9.178601264953613 + ], + [ + "ling", + -9.181450843811035 + ], + [ + "▁share", + -9.18185806274414 + ], + [ + "ile", + -9.182005882263184 + ], + [ + "▁actually", + -9.187544822692871 + ], + [ + "▁value", + -9.187751770019531 + ], + [ + "zi", + -9.188661575317383 + ], + [ + "▁ab", + -9.1898832321167 + ], + [ + "▁offers", + -9.1905517578125 + ], + [ + "▁less", + -9.190573692321777 + ], + [ + "▁night", + -9.193560600280762 + ], + [ + "▁Dr", + -9.19518756866455 + ], + [ + "▁started", + -9.195454597473145 + ], + [ + "▁least", + -9.198020935058594 + ], + [ + "▁short", + -9.198562622070312 + ], + [ + "▁main", + -9.201143264770508 + ], + [ + "▁single", + -9.202939987182617 + ], + [ + "▁though", + -9.203780174255371 + ], + [ + "▁prin", + -9.203930854797363 + ], + [ + "time", + -9.20531177520752 + ], + [ + "▁hours", + -9.206608772277832 + ], + [ + "▁others", + -9.206849098205566 + ], + [ + "▁called", + -9.20730209350586 + ], + [ + "▁visit", + -9.208869934082031 + ], + [ + "▁bit", + -9.209009170532227 + ], + [ + "ée", + -9.210821151733398 + ], + [ + "▁customers", + -9.211383819580078 + ], + [ + "▁music", + -9.212000846862793 + ], + [ + "▁members", + -9.217191696166992 + ], + [ + "ies", + -9.21743392944336 + ], + [ + "▁pay", + -9.219176292419434 + ], + [ + "nd", + -9.219744682312012 + ], + [ + "▁once", + -9.221125602722168 + ], + [ + "gen", + -9.2217378616333 + ], + [ + "▁können", + -9.222976684570312 + ], + [ + "▁low", + -9.223771095275879 + ], + [ + "▁durch", + -9.227394104003906 + ], + [ + "▁story", + -9.228075981140137 + ], + [ + "▁understand", + -9.22953987121582 + ], + [ + "“", + -9.229856491088867 + ], + [ + "▁Am", + -9.231831550598145 + ], + [ + "▁didn", + -9.234603881835938 + ], + [ + "▁content", + -9.237217903137207 + ], + [ + "son", + -9.24180793762207 + ], + [ + "▁building", + -9.242242813110352 + ], + [ + "▁result", + -9.242605209350586 + ], + [ + "▁aux", + -9.243107795715332 + ], + [ + "▁complete", + -9.244999885559082 + ], + [ + "▁doesn", + -9.24510669708252 + ], + [ + "▁haben", + -9.246070861816406 + ], + [ + "▁questions", + -9.24661636352539 + ], + [ + "line", + -9.247077941894531 + ], + [ + "▁technology", + -9.247429847717285 + ], + [ + "▁Pro", + -9.247976303100586 + ], + [ + "▁current", + -9.248504638671875 + ], + [ + "▁won", + -9.248883247375488 + ], + [ + "▁let", + -9.250710487365723 + ], + [ + "▁features", + -9.251978874206543 + ], + [ + "▁please", + -9.258262634277344 + ], + [ + "5", + -9.258519172668457 + ], + [ + "▁above", + -9.259394645690918 + ], + [ + "ive", + -9.262128829956055 + ], + [ + "▁management", + -9.262394905090332 + ], + [ + "▁lui", + -9.262539863586426 + ], + [ + "her", + -9.263057708740234 + ], + [ + "▁training", + -9.265711784362793 + ], + [ + "▁everything", + -9.2665433883667 + ], + [ + "▁noch", + -9.266846656799316 + ], + [ + "▁came", + -9.267708778381348 + ], + [ + "▁web", + -9.272823333740234 + ], + [ + "▁ensure", + -9.272987365722656 + ], + [ + "▁months", + -9.273130416870117 + ], + [ + "▁art", + -9.27313232421875 + ], + [ + "▁sub", + -9.274359703063965 + ], + [ + "▁million", + -9.274559020996094 + ], + [ + "▁professional", + -9.275035858154297 + ], + [ + "▁results", + -9.278368949890137 + ], + [ + "▁kind", + -9.278395652770996 + ], + [ + "▁season", + -9.279285430908203 + ], + [ + "▁unique", + -9.281067848205566 + ], + [ + "ze", + -9.284360885620117 + ], + [ + "▁enjoy", + -9.28487777709961 + ], + [ + "▁early", + -9.287765502929688 + ], + [ + "▁major", + -9.288202285766602 + ], + [ + "▁yet", + -9.29152774810791 + ], + [ + "▁Ver", + -9.293331146240234 + ], + [ + "one", + -9.296777725219727 + ], + [ + "▁media", + -9.29719352722168 + ], + [ + "▁[", + -9.30095100402832 + ], + [ + "▁property", + -9.302969932556152 + ], + [ + "▁beautiful", + -9.304466247558594 + ], + [ + "▁given", + -9.305286407470703 + ], + [ + "▁due", + -9.306716918945312 + ], + [ + "▁government", + -9.307181358337402 + ], + [ + "▁nur", + -9.30881404876709 + ], + [ + "▁email", + -9.309103012084961 + ], + [ + "▁total", + -9.311080932617188 + ], + [ + "▁natural", + -9.311264038085938 + ], + [ + "▁test", + -9.311450004577637 + ], + [ + "▁provides", + -9.311640739440918 + ], + [ + "▁various", + -9.312631607055664 + ], + [ + "▁American", + -9.315605163574219 + ], + [ + "▁moment", + -9.318109512329102 + ], + [ + "▁air", + -9.318952560424805 + ], + [ + "▁idea", + -9.319236755371094 + ], + [ + "▁known", + -9.319981575012207 + ], + [ + "▁Il", + -9.320504188537598 + ], + [ + "▁friends", + -9.320576667785645 + ], + [ + "▁final", + -9.320919036865234 + ], + [ + "▁buy", + -9.32139778137207 + ], + [ + "▁specific", + -9.322234153747559 + ], + [ + "▁issues", + -9.32454776763916 + ], + [ + "▁took", + -9.325233459472656 + ], + [ + "▁mind", + -9.326258659362793 + ], + [ + "▁study", + -9.32675838470459 + ], + [ + "▁addition", + -9.328418731689453 + ], + [ + "▁size", + -9.332446098327637 + ], + [ + "▁pro", + -9.334047317504883 + ], + [ + "▁film", + -9.33545970916748 + ], + [ + "▁pot", + -9.335636138916016 + ], + [ + "▁thought", + -9.338120460510254 + ], + [ + "▁tell", + -9.33890438079834 + ], + [ + "▁While", + -9.339675903320312 + ], + [ + "▁head", + -9.339983940124512 + ], + [ + "▁clients", + -9.340429306030273 + ], + [ + "▁performance", + -9.346199989318848 + ], + [ + "▁question", + -9.346835136413574 + ], + [ + "▁whether", + -9.347925186157227 + ], + [ + "▁certain", + -9.34826946258545 + ], + [ + "▁model", + -9.348764419555664 + ], + [ + "▁following", + -9.350926399230957 + ], + [ + "▁energy", + -9.354207992553711 + ], + [ + "▁office", + -9.354207992553711 + ], + [ + "▁whole", + -9.356687545776367 + ], + [ + "▁bring", + -9.356956481933594 + ], + [ + "▁required", + -9.35726261138916 + ], + [ + "ţi", + -9.358223915100098 + ], + [ + "▁date", + -9.358695030212402 + ], + [ + "_", + -9.358983039855957 + ], + [ + "que", + -9.359789848327637 + ], + [ + "▁da", + -9.360264778137207 + ], + [ + "▁US", + -9.36120319366455 + ], + [ + "▁taking", + -9.36143684387207 + ], + [ + "go", + -9.362788200378418 + ], + [ + "▁living", + -9.36341667175293 + ], + [ + "▁someone", + -9.363489151000977 + ], + [ + "▁heart", + -9.365120887756348 + ], + [ + "▁key", + -9.365775108337402 + ], + [ + "▁areas", + -9.366238594055176 + ], + [ + "▁says", + -9.367013931274414 + ], + [ + "▁2018", + -9.369132041931152 + ], + [ + "▁month", + -9.37012767791748 + ], + [ + "▁Er", + -9.371354103088379 + ], + [ + "ste", + -9.375077247619629 + ], + [ + "▁11", + -9.375179290771484 + ], + [ + "▁front", + -9.37528133392334 + ], + [ + "▁Now", + -9.37669563293457 + ], + [ + "▁class", + -9.376946449279785 + ], + [ + "▁choose", + -9.377082824707031 + ], + [ + "pe", + -9.37808609008789 + ], + [ + "▁further", + -9.379021644592285 + ], + [ + "▁believe", + -9.37936019897461 + ], + [ + "of", + -9.379590034484863 + ], + [ + "▁among", + -9.380990982055664 + ], + [ + "sch", + -9.381686210632324 + ], + [ + "▁child", + -9.382609367370605 + ], + [ + "▁aber", + -9.38376235961914 + ], + [ + "▁Please", + -9.386269569396973 + ], + [ + "rea", + -9.387248992919922 + ], + [ + "▁later", + -9.387272834777832 + ], + [ + "▁amount", + -9.388760566711426 + ], + [ + "ice", + -9.390128135681152 + ], + [ + "▁National", + -9.390177726745605 + ], + [ + "▁style", + -9.390748977661133 + ], + [ + "▁tout", + -9.391490936279297 + ], + [ + "▁staff", + -9.392939567565918 + ], + [ + "▁white", + -9.397933959960938 + ], + [ + "▁ge", + -9.399179458618164 + ], + [ + "▁five", + -9.400984764099121 + ], + [ + "▁blog", + -9.40109920501709 + ], + [ + "▁designed", + -9.40125846862793 + ], + [ + "▁went", + -9.402216911315918 + ], + [ + "▁Da", + -9.40268611907959 + ], + [ + "▁general", + -9.403801918029785 + ], + [ + "▁rest", + -9.403874397277832 + ], + [ + "▁zur", + -9.40579891204834 + ], + [ + "▁quite", + -9.405948638916016 + ], + [ + "per", + -9.40687084197998 + ], + [ + "▁customer", + -9.408379554748535 + ], + [ + "▁close", + -9.408747673034668 + ], + [ + "▁Some", + -9.41054630279541 + ], + [ + "▁women", + -9.41075611114502 + ], + [ + "▁move", + -9.410761833190918 + ], + [ + "▁software", + -9.411357879638672 + ], + [ + "▁Ein", + -9.413651466369629 + ], + [ + "▁Ab", + -9.413823127746582 + ], + [ + "▁history", + -9.413864135742188 + ], + [ + "▁either", + -9.41564655303955 + ], + [ + "▁seen", + -9.417396545410156 + ], + [ + "▁card", + -9.419726371765137 + ], + [ + "▁City", + -9.421541213989258 + ], + [ + "▁hope", + -9.421769142150879 + ], + [ + "▁16", + -9.422072410583496 + ], + [ + "és", + -9.422825813293457 + ], + [ + "va", + -9.423294067382812 + ], + [ + "▁Al", + -9.423827171325684 + ], + [ + "▁especially", + -9.424827575683594 + ], + [ + "▁view", + -9.426136016845703 + ], + [ + "men", + -9.427363395690918 + ], + [ + "▁account", + -9.427489280700684 + ], + [ + "▁needed", + -9.429777145385742 + ], + [ + "▁United", + -9.429789543151855 + ], + [ + "]", + -9.432387351989746 + ], + [ + "▁yourself", + -9.432788848876953 + ], + [ + "▁100", + -9.433059692382812 + ], + [ + "▁receive", + -9.433417320251465 + ], + [ + "▁ideas", + -9.43369197845459 + ], + [ + "▁writing", + -9.434585571289062 + ], + [ + "▁simply", + -9.434741973876953 + ], + [ + "▁present", + -9.435087203979492 + ], + [ + "▁continue", + -9.436107635498047 + ], + [ + "▁application", + -9.44115161895752 + ], + [ + "▁build", + -9.44187068939209 + ], + [ + "▁turn", + -9.44249439239502 + ], + [ + "ated", + -9.442923545837402 + ], + [ + "▁everyone", + -9.443060874938965 + ], + [ + "cette", + -9.443114280700684 + ], + [ + "▁bien", + -9.444964408874512 + ], + [ + "less", + -9.445222854614258 + ], + [ + "▁Si", + -9.445359230041504 + ], + [ + "▁original", + -9.446867942810059 + ], + [ + "8", + -9.44794750213623 + ], + [ + "▁individual", + -9.448895454406738 + ], + [ + "tre", + -9.449433326721191 + ], + [ + "▁works", + -9.45171070098877 + ], + [ + "▁options", + -9.451821327209473 + ], + [ + "▁May", + -9.454456329345703 + ], + [ + "▁Not", + -9.454940795898438 + ], + [ + "▁report", + -9.455467224121094 + ], + [ + "mer", + -9.457239151000977 + ], + [ + "▁human", + -9.459118843078613 + ], + [ + "▁provided", + -9.459603309631348 + ], + [ + "▁By", + -9.460925102233887 + ], + [ + "▁series", + -9.462006568908691 + ], + [ + "7", + -9.46226692199707 + ], + [ + "▁modern", + -9.463875770568848 + ], + [ + "▁meet", + -9.463921546936035 + ], + [ + "▁50", + -9.464119911193848 + ], + [ + "▁25", + -9.46969985961914 + ], + [ + "▁color", + -9.470091819763184 + ], + [ + "▁download", + -9.470109939575195 + ], + [ + "▁Here", + -9.471144676208496 + ], + [ + "6", + -9.471323013305664 + ], + [ + "▁poate", + -9.471449851989746 + ], + [ + "▁În", + -9.472321510314941 + ], + [ + "▁phone", + -9.473695755004883 + ], + [ + "▁likely", + -9.474374771118164 + ], + [ + "▁table", + -9.476469993591309 + ], + [ + "▁ma", + -9.476551055908203 + ], + [ + "▁Or", + -9.479181289672852 + ], + [ + "Z", + -9.48026180267334 + ], + [ + "▁19", + -9.482215881347656 + ], + [ + "▁insurance", + -9.482544898986816 + ], + [ + "▁anything", + -9.483808517456055 + ], + [ + "▁search", + -9.485033988952637 + ], + [ + "▁Ge", + -9.48520565032959 + ], + [ + "▁issue", + -9.485564231872559 + ], + [ + "▁includes", + -9.485688209533691 + ], + [ + "▁clear", + -9.487342834472656 + ], + [ + "les", + -9.488021850585938 + ], + [ + "▁almost", + -9.488259315490723 + ], + [ + "ilor", + -9.48935317993164 + ], + [ + "▁14", + -9.490717887878418 + ], + [ + "by", + -9.494056701660156 + ], + [ + "▁Du", + -9.49624252319336 + ], + [ + "▁mais", + -9.497303009033203 + ], + [ + "ier", + -9.499163627624512 + ], + [ + "▁law", + -9.49924087524414 + ], + [ + "▁added", + -9.500134468078613 + ], + [ + "▁con", + -9.500962257385254 + ], + [ + ",\"", + -9.501530647277832 + ], + [ + "▁ago", + -9.502127647399902 + ], + [ + "▁His", + -9.504697799682617 + ], + [ + "▁points", + -9.504981994628906 + ], + [ + "▁mult", + -9.505581855773926 + ], + [ + "▁financial", + -9.506216049194336 + ], + [ + "▁problems", + -9.506428718566895 + ], + [ + "▁however", + -9.50648307800293 + ], + [ + "▁events", + -9.50675106048584 + ], + [ + "▁half", + -9.507889747619629 + ], + [ + "ard", + -9.511183738708496 + ], + [ + "▁ask", + -9.51156997680664 + ], + [ + "▁version", + -9.511631965637207 + ], + [ + "end", + -9.512478828430176 + ], + [ + "▁created", + -9.512639999389648 + ], + [ + "▁lead", + -9.512917518615723 + ], + [ + "▁focus", + -9.513853073120117 + ], + [ + "▁increase", + -9.515096664428711 + ], + [ + "ex", + -9.515118598937988 + ], + [ + "▁allow", + -9.515798568725586 + ], + [ + "▁extra", + -9.516464233398438 + ], + [ + "▁24", + -9.516692161560059 + ], + [ + "▁credit", + -9.516772270202637 + ], + [ + "▁production", + -9.516801834106445 + ], + [ + "zu", + -9.517256736755371 + ], + [ + "▁black", + -9.51754093170166 + ], + [ + "▁systems", + -9.518040657043457 + ], + [ + "▁17", + -9.518178939819336 + ], + [ + "▁opportunity", + -9.518531799316406 + ], + [ + "▁bis", + -9.519219398498535 + ], + [ + "▁fast", + -9.519807815551758 + ], + [ + "ring", + -9.521166801452637 + ], + [ + "▁Don", + -9.522114753723145 + ], + [ + "▁via", + -9.52242660522461 + ], + [ + "fer", + -9.5225248336792 + ], + [ + "▁comme", + -9.522799491882324 + ], + [ + "▁popular", + -9.523722648620605 + ], + [ + "▁South", + -9.524491310119629 + ], + [ + "ating", + -9.525003433227539 + ], + [ + "▁State", + -9.525198936462402 + ], + [ + "ator", + -9.525679588317871 + ], + [ + "▁common", + -9.525968551635742 + ], + [ + "con", + -9.526727676391602 + ], + [ + "▁throughout", + -9.527557373046875 + ], + [ + "▁risk", + -9.52774715423584 + ], + [ + "▁young", + -9.528532028198242 + ], + [ + "▁Je", + -9.528688430786133 + ], + [ + "▁image", + -9.52928352355957 + ], + [ + "ha", + -9.529376983642578 + ], + [ + "▁third", + -9.529587745666504 + ], + [ + "▁taken", + -9.530049324035645 + ], + [ + "▁Z", + -9.5314302444458 + ], + [ + "▁dis", + -9.5316162109375 + ], + [ + "▁From", + -9.533575057983398 + ], + [ + "▁details", + -9.534862518310547 + ], + [ + "▁games", + -9.53516674041748 + ], + [ + "▁practice", + -9.536040306091309 + ], + [ + "che", + -9.536151885986328 + ], + [ + "▁security", + -9.537364959716797 + ], + [ + "▁medical", + -9.537653923034668 + ], + [ + "▁learning", + -9.537806510925293 + ], + [ + "▁material", + -9.538509368896484 + ], + [ + "▁international", + -9.540703773498535 + ], + [ + "▁forward", + -9.541245460510254 + ], + [ + "▁paper", + -9.541247367858887 + ], + [ + "▁action", + -9.541348457336426 + ], + [ + "▁file", + -9.542378425598145 + ], + [ + "▁oil", + -9.543096542358398 + ], + [ + "▁self", + -9.54377555847168 + ], + [ + "▁private", + -9.545247077941895 + ], + [ + "▁interest", + -9.545559883117676 + ], + [ + "bar", + -9.546065330505371 + ], + [ + "▁sale", + -9.547115325927734 + ], + [ + "▁stay", + -9.547348976135254 + ], + [ + "ke", + -9.548089981079102 + ], + [ + "▁San", + -9.549053192138672 + ], + [ + "▁matter", + -9.549870491027832 + ], + [ + "▁reason", + -9.550254821777344 + ], + [ + "ted", + -9.55147647857666 + ], + [ + "▁potential", + -9.551742553710938 + ], + [ + "▁brand", + -9.552441596984863 + ], + [ + "▁field", + -9.55315113067627 + ], + [ + "▁treatment", + -9.553420066833496 + ], + [ + "▁period", + -9.553516387939453 + ], + [ + "▁York", + -9.553890228271484 + ], + [ + "▁Park", + -9.554738998413086 + ], + [ + "▁acest", + -9.556009292602539 + ], + [ + "ou", + -9.556926727294922 + ], + [ + "▁Ce", + -9.557014465332031 + ], + [ + "▁ready", + -9.558111190795898 + ], + [ + "▁rather", + -9.55860424041748 + ], + [ + "▁outside", + -9.560086250305176 + ], + [ + "▁standard", + -9.560121536254883 + ], + [ + "▁located", + -9.560770034790039 + ], + [ + "▁marketing", + -9.562313079833984 + ], + [ + "cu", + -9.564041137695312 + ], + [ + "▁Can", + -9.564562797546387 + ], + [ + "▁education", + -9.566105842590332 + ], + [ + "use", + -9.566640853881836 + ], + [ + "▁role", + -9.566828727722168 + ], + [ + "▁men", + -9.571505546569824 + ], + [ + "▁probably", + -9.571550369262695 + ], + [ + "▁store", + -9.57221508026123 + ], + [ + "▁John", + -9.572355270385742 + ], + [ + "▁rate", + -9.573956489562988 + ], + [ + "▁code", + -9.573994636535645 + ], + [ + "▁kids", + -9.574408531188965 + ], + [ + "▁currently", + -9.57552719116211 + ], + [ + "▁near", + -9.576475143432617 + ], + [ + "▁sales", + -9.576716423034668 + ], + [ + "▁usually", + -9.577012062072754 + ], + [ + "▁activities", + -9.577242851257324 + ], + [ + "▁party", + -9.577371597290039 + ], + [ + "▁leur", + -9.577434539794922 + ], + [ + "▁particular", + -9.577627182006836 + ], + [ + "▁mehr", + -9.577707290649414 + ], + [ + "ill", + -9.578757286071777 + ], + [ + "▁percent", + -9.579113006591797 + ], + [ + "▁fait", + -9.579537391662598 + ], + [ + "▁happy", + -9.579904556274414 + ], + [ + "▁inside", + -9.58005428314209 + ], + [ + "▁save", + -9.580510139465332 + ], + [ + "▁skills", + -9.580765724182129 + ], + [ + "▁consider", + -9.581025123596191 + ], + [ + "▁recent", + -9.58161735534668 + ], + [ + "▁strong", + -9.581781387329102 + ], + [ + "▁position", + -9.582076072692871 + ], + [ + "▁knowledge", + -9.582303047180176 + ], + [ + "▁tax", + -9.583868980407715 + ], + [ + "▁users", + -9.584261894226074 + ], + [ + "und", + -9.585564613342285 + ], + [ + "▁coming", + -9.585904121398926 + ], + [ + "▁article", + -9.585923194885254 + ], + [ + "min", + -9.586345672607422 + ], + [ + "▁sein", + -9.586555480957031 + ], + [ + "▁travel", + -9.586871147155762 + ], + [ + "▁changes", + -9.58765983581543 + ], + [ + "▁impact", + -9.588181495666504 + ], + [ + "▁wanted", + -9.588460922241211 + ], + [ + "▁address", + -9.5885591506958 + ], + [ + "▁soon", + -9.58873462677002 + ], + [ + "▁North", + -9.588915824890137 + ], + [ + "ată", + -9.589237213134766 + ], + [ + "▁trying", + -9.58985424041748 + ], + [ + "▁app", + -9.590612411499023 + ], + [ + "▁School", + -9.592510223388672 + ], + [ + "▁Es", + -9.592548370361328 + ], + [ + "we", + -9.59261703491211 + ], + [ + "▁conditions", + -9.59292984008789 + ], + [ + "▁digital", + -9.593293190002441 + ], + [ + "▁similar", + -9.594805717468262 + ], + [ + "▁solution", + -9.59514331817627 + ], + [ + "▁location", + -9.595183372497559 + ], + [ + "▁Of", + -9.595418930053711 + ], + [ + "▁follow", + -9.595842361450195 + ], + [ + "▁red", + -9.597526550292969 + ], + [ + "▁review", + -9.599202156066895 + ], + [ + "▁skin", + -9.599575996398926 + ], + [ + "▁pretty", + -9.600369453430176 + ], + [ + "day", + -9.600558280944824 + ], + [ + "▁dé", + -9.602072715759277 + ], + [ + "▁cause", + -9.602169036865234 + ], + [ + "▁Sa", + -9.602463722229004 + ], + [ + "▁user", + -9.602520942687988 + ], + [ + "▁Man", + -9.603377342224121 + ], + [ + "”.", + -9.604146003723145 + ], + [ + "▁Just", + -9.604366302490234 + ], + [ + "▁faire", + -9.604475021362305 + ], + [ + "▁member", + -9.605619430541992 + ], + [ + "▁iar", + -9.606892585754395 + ], + [ + "▁higher", + -9.607715606689453 + ], + [ + "▁step", + -9.607887268066406 + ], + [ + "▁wide", + -9.608185768127441 + ], + [ + "▁uns", + -9.608920097351074 + ], + [ + "▁World", + -9.609135627746582 + ], + [ + "▁additional", + -9.61176586151123 + ], + [ + "ber", + -9.613197326660156 + ], + [ + "▁easily", + -9.613990783691406 + ], + [ + "▁deal", + -9.615070343017578 + ], + [ + "▁ways", + -9.615514755249023 + ], + [ + "▁mobile", + -9.616837501525879 + ], + [ + "▁national", + -9.616913795471191 + ], + [ + "▁couple", + -9.617389678955078 + ], + [ + "▁ihre", + -9.61939811706543 + ], + [ + "▁choice", + -9.619612693786621 + ], + [ + "for", + -9.619686126708984 + ], + [ + "ous", + -9.62070083618164 + ], + [ + "▁Google", + -9.620855331420898 + ], + [ + "▁environment", + -9.622426986694336 + ], + [ + "urile", + -9.623322486877441 + ], + [ + "▁Center", + -9.626680374145508 + ], + [ + "mp", + -9.628592491149902 + ], + [ + "▁»", + -9.629727363586426 + ], + [ + "qui", + -9.630680084228516 + ], + [ + "▁growth", + -9.631048202514648 + ], + [ + "ler", + -9.633174896240234 + ], + [ + "▁improve", + -9.63360595703125 + ], + [ + "▁items", + -9.6336669921875 + ], + [ + "▁Nu", + -9.63393783569336 + ], + [ + "▁leave", + -9.634074211120605 + ], + [ + "▁true", + -9.634805679321289 + ], + [ + "▁wurde", + -9.63487434387207 + ], + [ + "▁cannot", + -9.635004043579102 + ], + [ + "▁13", + -9.635096549987793 + ], + [ + "▁running", + -9.636015892028809 + ], + [ + "▁anti", + -9.636177062988281 + ], + [ + "▁option", + -9.636306762695312 + ], + [ + "▁reading", + -9.63657283782959 + ], + [ + "▁Car", + -9.636698722839355 + ], + [ + "▁Wir", + -9.638110160827637 + ], + [ + "▁April", + -9.63975715637207 + ], + [ + "▁behind", + -9.640642166137695 + ], + [ + "▁client", + -9.640750885009766 + ], + [ + "▁cover", + -9.641012191772461 + ], + [ + "▁stop", + -9.641090393066406 + ], + [ + "ja", + -9.641277313232422 + ], + [ + "▁built", + -9.641307830810547 + ], + [ + "▁Con", + -9.641313552856445 + ], + [ + "ement", + -9.641366004943848 + ], + [ + "▁projects", + -9.641828536987305 + ], + [ + "▁variety", + -9.641840934753418 + ], + [ + "▁Ihre", + -9.642666816711426 + ], + [ + "ș", + -9.64302921295166 + ], + [ + "▁unter", + -9.64385986328125 + ], + [ + "▁longer", + -9.646577835083008 + ], + [ + "year", + -9.647161483764648 + ], + [ + "▁photo", + -9.648370742797852 + ], + [ + "▁Also", + -9.64933967590332 + ], + [ + "▁received", + -9.651098251342773 + ], + [ + "▁return", + -9.652676582336426 + ], + [ + "00", + -9.653081893920898 + ], + [ + "▁bar", + -9.653343200683594 + ], + [ + "ary", + -9.654427528381348 + ], + [ + "elor", + -9.655137062072754 + ], + [ + "▁Home", + -9.656189918518066 + ], + [ + "our", + -9.656298637390137 + ], + [ + "▁Me", + -9.65771198272705 + ], + [ + "▁held", + -9.659111022949219 + ], + [ + "▁click", + -9.66014289855957 + ], + [ + "▁ex", + -9.660178184509277 + ], + [ + "▁cum", + -9.661561965942383 + ], + [ + "▁takes", + -9.66395378112793 + ], + [ + "▁computer", + -9.665796279907227 + ], + [ + "▁told", + -9.668192863464355 + ], + [ + "+", + -9.670648574829102 + ], + [ + "▁patients", + -9.670809745788574 + ], + [ + "ting", + -9.672165870666504 + ], + [ + "▁direct", + -9.672248840332031 + ], + [ + "▁quickly", + -9.672410011291504 + ], + [ + "tic", + -9.672877311706543 + ], + [ + "▁vom", + -9.673723220825195 + ], + [ + "▁di", + -9.67381477355957 + ], + [ + "▁kitchen", + -9.674022674560547 + ], + [ + "▁network", + -9.675640106201172 + ], + [ + "▁2015", + -9.676688194274902 + ], + [ + "▁effective", + -9.677227020263672 + ], + [ + "▁collection", + -9.677703857421875 + ], + [ + "▁2017", + -9.677751541137695 + ], + [ + "▁words", + -9.678145408630371 + ], + [ + "▁cele", + -9.678857803344727 + ], + [ + "▁student", + -9.678862571716309 + ], + [ + "▁amazing", + -9.678932189941406 + ], + [ + "eur", + -9.680419921875 + ], + [ + ".”", + -9.68227481842041 + ], + [ + "▁ale", + -9.682716369628906 + ], + [ + "”,", + -9.68414306640625 + ], + [ + "▁purchase", + -9.684350967407227 + ], + [ + "▁mean", + -9.68477725982666 + ], + [ + "▁West", + -9.686846733093262 + ], + [ + "▁nice", + -9.6889066696167 + ], + [ + "▁age", + -9.689131736755371 + ], + [ + "▁base", + -9.68923568725586 + ], + [ + "▁summer", + -9.68928337097168 + ], + [ + "▁multi", + -9.689496994018555 + ], + [ + "▁allows", + -9.689573287963867 + ], + [ + "▁latest", + -9.689604759216309 + ], + [ + "▁global", + -9.68992805480957 + ], + [ + "▁chance", + -9.690792083740234 + ], + [ + "▁sense", + -9.690872192382812 + ], + [ + "ieren", + -9.692789077758789 + ], + [ + "▁difficult", + -9.693133354187012 + ], + [ + "ité", + -9.694750785827637 + ], + [ + "ka", + -9.694792747497559 + ], + [ + "du", + -9.69483757019043 + ], + [ + "▁providing", + -9.695744514465332 + ], + [ + "▁Art", + -9.696940422058105 + ], + [ + "▁drive", + -9.698554992675781 + ], + [ + "▁Go", + -9.698877334594727 + ], + [ + "▁très", + -9.699414253234863 + ], + [ + "U", + -9.699579238891602 + ], + [ + "▁Pre", + -9.699846267700195 + ], + [ + "▁shows", + -9.700040817260742 + ], + [ + "▁hair", + -9.701324462890625 + ], + [ + "▁success", + -9.701513290405273 + ], + [ + "▁UK", + -9.703169822692871 + ], + [ + "red", + -9.703241348266602 + ], + [ + "ü", + -9.703370094299316 + ], + [ + "ish", + -9.703631401062012 + ], + [ + "▁weeks", + -9.704839706420898 + ], + [ + "▁solutions", + -9.7055025100708 + ], + [ + "▁Pe", + -9.7057523727417 + ], + [ + "▁equipment", + -9.706141471862793 + ], + [ + "și", + -9.706482887268066 + ], + [ + "▁worked", + -9.707073211669922 + ], + [ + "\".", + -9.708627700805664 + ], + [ + "▁legal", + -9.708720207214355 + ], + [ + "▁bad", + -9.70892333984375 + ], + [ + "▁40", + -9.709561347961426 + ], + [ + "▁Internet", + -9.709798812866211 + ], + [ + "▁included", + -9.709976196289062 + ], + [ + "▁upon", + -9.710977554321289 + ], + [ + "▁excellent", + -9.71106243133545 + ], + [ + "▁goal", + -9.71130084991455 + ], + [ + "▁El", + -9.711408615112305 + ], + [ + "▁Mo", + -9.711703300476074 + ], + [ + "▁policy", + -9.71319580078125 + ], + [ + "▁aussi", + -9.713537216186523 + ], + [ + "▁weight", + -9.713687896728516 + ], + [ + "ici", + -9.715133666992188 + ], + [ + "▁approach", + -9.715584754943848 + ], + [ + "▁six", + -9.71579647064209 + ], + [ + "▁entire", + -9.715911865234375 + ], + [ + "9", + -9.71633529663086 + ], + [ + "▁send", + -9.716832160949707 + ], + [ + "▁1.", + -9.718971252441406 + ], + [ + "▁wenn", + -9.719056129455566 + ], + [ + "▁photos", + -9.71993637084961 + ], + [ + "://", + -9.721014022827148 + ], + [ + "ger", + -9.72281551361084 + ], + [ + "▁favorite", + -9.723104476928711 + ], + [ + "ley", + -9.723477363586426 + ], + [ + "▁else", + -9.72463321685791 + ], + [ + "▁types", + -9.72468376159668 + ], + [ + "▁link", + -9.725333213806152 + ], + [ + "▁recently", + -9.72584056854248 + ], + [ + "▁Mit", + -9.72631549835205 + ], + [ + "▁hot", + -9.726548194885254 + ], + [ + "tra", + -9.726597785949707 + ], + [ + "ş", + -9.727307319641113 + ], + [ + "▁according", + -9.728511810302734 + ], + [ + "▁necessary", + -9.728511810302734 + ], + [ + "▁multiple", + -9.729269027709961 + ], + [ + "▁Im", + -9.729510307312012 + ], + [ + "▁sehr", + -9.729660034179688 + ], + [ + "▁sign", + -9.732263565063477 + ], + [ + "▁anyone", + -9.73283576965332 + ], + [ + "▁land", + -9.733613014221191 + ], + [ + "▁States", + -9.734037399291992 + ], + [ + "▁unsere", + -9.734119415283203 + ], + [ + "ées", + -9.734639167785645 + ], + [ + "We", + -9.735671043395996 + ], + [ + "▁nothing", + -9.735845565795898 + ], + [ + "▁commercial", + -9.736858367919922 + ], + [ + "ful", + -9.737265586853027 + ], + [ + "▁seems", + -9.739325523376465 + ], + [ + "▁International", + -9.740097045898438 + ], + [ + "▁March", + -9.74163818359375 + ], + [ + "▁Thanks", + -9.743307113647461 + ], + [ + "▁County", + -9.74365234375 + ], + [ + "▁books", + -9.744638442993164 + ], + [ + "▁Ca", + -9.7451753616333 + ], + [ + "▁mi", + -9.746304512023926 + ], + [ + "▁meeting", + -9.746662139892578 + ], + [ + "▁tools", + -9.747593879699707 + ], + [ + "▁cut", + -9.747650146484375 + ], + [ + "▁related", + -9.74765682220459 + ], + [ + "▁lives", + -9.748003005981445 + ], + [ + "way", + -9.748501777648926 + ], + [ + "▁develop", + -9.748651504516602 + ], + [ + "▁sound", + -9.748723983764648 + ], + [ + "▁safe", + -9.748950958251953 + ], + [ + "▁Her", + -9.74937629699707 + ], + [ + "▁average", + -9.751277923583984 + ], + [ + "▁clean", + -9.75174331665039 + ], + [ + "▁talk", + -9.752362251281738 + ], + [ + "▁peut", + -9.75241756439209 + ], + [ + "▁dann", + -9.752546310424805 + ], + [ + "▁terms", + -9.753265380859375 + ], + [ + "▁foarte", + -9.753512382507324 + ], + [ + "▁super", + -9.754284858703613 + ], + [ + "▁programs", + -9.754853248596191 + ], + [ + "▁decision", + -9.75540828704834 + ], + [ + "▁costs", + -9.756058692932129 + ], + [ + "▁être", + -9.756291389465332 + ], + [ + "▁2019", + -9.757674217224121 + ], + [ + "led", + -9.759482383728027 + ], + [ + "▁parents", + -9.759617805480957 + ], + [ + "▁Mr", + -9.761702537536621 + ], + [ + "▁lower", + -9.762362480163574 + ], + [ + "▁door", + -9.762978553771973 + ], + [ + "▁été", + -9.763933181762695 + ], + [ + "▁box", + -9.764954566955566 + ], + [ + "▁record", + -9.765517234802246 + ], + [ + "▁win", + -9.765650749206543 + ], + [ + "ster", + -9.766402244567871 + ], + [ + "▁America", + -9.766748428344727 + ], + [ + "▁immer", + -9.768763542175293 + ], + [ + "▁road", + -9.76996898651123 + ], + [ + "▁leading", + -9.772759437561035 + ], + [ + "▁section", + -9.772838592529297 + ], + [ + "▁Facebook", + -9.772990226745605 + ], + [ + "▁Most", + -9.7738676071167 + ], + [ + "iert", + -9.77435302734375 + ], + [ + "▁morning", + -9.774497032165527 + ], + [ + "▁asked", + -9.775190353393555 + ], + [ + "▁involved", + -9.77551555633545 + ], + [ + "▁hier", + -9.777607917785645 + ], + [ + "▁images", + -9.77821159362793 + ], + [ + "▁House", + -9.778263092041016 + ], + [ + "▁highly", + -9.780763626098633 + ], + [ + "▁Bar", + -9.781620979309082 + ], + [ + "▁Service", + -9.782510757446289 + ], + [ + "▁attention", + -9.784318923950195 + ], + [ + "▁normal", + -9.784571647644043 + ], + [ + "▁plans", + -9.785883903503418 + ], + [ + "▁source", + -9.785930633544922 + ], + [ + "▁Aus", + -9.788092613220215 + ], + [ + "▁benefits", + -9.788655281066895 + ], + [ + "▁ses", + -9.789348602294922 + ], + [ + "des", + -9.789867401123047 + ], + [ + "▁internet", + -9.789949417114258 + ], + [ + "▁materials", + -9.790080070495605 + ], + [ + "▁même", + -9.791318893432617 + ], + [ + "▁fine", + -9.791522026062012 + ], + [ + "▁fit", + -9.792226791381836 + ], + [ + "▁21", + -9.792612075805664 + ], + [ + "▁itself", + -9.793739318847656 + ], + [ + "▁wieder", + -9.793972969055176 + ], + [ + "▁Many", + -9.795313835144043 + ], + [ + "▁nature", + -9.795402526855469 + ], + [ + "▁pain", + -9.795467376708984 + ], + [ + "▁device", + -9.796183586120605 + ], + [ + "art", + -9.796989440917969 + ], + [ + "pro", + -9.7971830368042 + ], + [ + "▁France", + -9.797271728515625 + ], + [ + "lich", + -9.797314643859863 + ], + [ + "▁2014", + -9.799542427062988 + ], + [ + "▁inter", + -9.799964904785156 + ], + [ + "▁Li", + -9.800453186035156 + ], + [ + "▁career", + -9.801136016845703 + ], + [ + "▁looks", + -9.80145263671875 + ], + [ + "▁ré", + -9.802245140075684 + ], + [ + "▁ability", + -9.802556991577148 + ], + [ + "▁situation", + -9.803154945373535 + ], + [ + "ville", + -9.803157806396484 + ], + [ + "▁2016", + -9.80319595336914 + ], + [ + "tes", + -9.803462982177734 + ], + [ + "▁remember", + -9.803879737854004 + ], + [ + "▁TV", + -9.803998947143555 + ], + [ + "▁levels", + -9.805853843688965 + ], + [ + "▁subject", + -9.807723999023438 + ], + [ + "ally", + -9.80844497680664 + ], + [ + "▁reduce", + -9.810232162475586 + ], + [ + "▁*", + -9.8108491897583 + ], + [ + "▁Day", + -9.810867309570312 + ], + [ + "▁write", + -9.812152862548828 + ], + [ + "▁pick", + -9.814252853393555 + ], + [ + "ence", + -9.815399169921875 + ], + [ + "▁fresh", + -9.816520690917969 + ], + [ + "▁traditional", + -9.816662788391113 + ], + [ + "chi", + -9.817692756652832 + ], + [ + "▁machine", + -9.818047523498535 + ], + [ + "▁resources", + -9.819125175476074 + ], + [ + "â", + -9.819502830505371 + ], + [ + "▁countries", + -9.820009231567383 + ], + [ + "▁Even", + -9.820342063903809 + ], + [ + "▁green", + -9.821283340454102 + ], + [ + "▁Free", + -9.821910858154297 + ], + [ + "▁daily", + -9.822112083435059 + ], + [ + "▁respect", + -9.823013305664062 + ], + [ + "▁instead", + -9.823714256286621 + ], + [ + "▁Once", + -9.82418155670166 + ], + [ + "▁word", + -9.824407577514648 + ], + [ + "▁construction", + -9.82489013671875 + ], + [ + "▁huge", + -9.825064659118652 + ], + [ + "▁feature", + -9.825220108032227 + ], + [ + "▁themselves", + -9.826369285583496 + ], + [ + "▁loss", + -9.82919692993164 + ], + [ + "%", + -9.830063819885254 + ], + [ + "▁safety", + -9.830256462097168 + ], + [ + "▁economic", + -9.831406593322754 + ], + [ + "▁require", + -9.831945419311523 + ], + [ + "30", + -9.83255386352539 + ], + [ + "▁planning", + -9.833393096923828 + ], + [ + "▁mal", + -9.834482192993164 + ], + [ + "▁directly", + -9.835214614868164 + ], + [ + "ure", + -9.835719108581543 + ], + [ + "▁track", + -9.835734367370605 + ], + [ + "▁tool", + -9.836135864257812 + ], + [ + "▁positive", + -9.836392402648926 + ], + [ + "▁piece", + -9.837076187133789 + ], + [ + "▁parts", + -9.837140083312988 + ], + [ + "ang", + -9.83740520477295 + ], + [ + "▁trip", + -9.837453842163086 + ], + [ + "▁organization", + -9.837935447692871 + ], + [ + "▁sites", + -9.838274002075195 + ], + [ + "▁fire", + -9.83831787109375 + ], + [ + "▁China", + -9.838876724243164 + ], + [ + "▁Pour", + -9.839289665222168 + ], + [ + "▁plant", + -9.84011459350586 + ], + [ + "▁board", + -9.840341567993164 + ], + [ + "▁interesting", + -9.841227531433105 + ], + [ + "gar", + -9.841713905334473 + ], + [ + "▁fie", + -9.841752052307129 + ], + [ + "▁late", + -9.842166900634766 + ], + [ + "▁wall", + -9.842294692993164 + ], + [ + "▁walk", + -9.842741966247559 + ], + [ + "ham", + -9.843868255615234 + ], + [ + "▁Ne", + -9.845427513122559 + ], + [ + "▁First", + -9.845462799072266 + ], + [ + "▁double", + -9.845701217651367 + ], + [ + "▁budget", + -9.847657203674316 + ], + [ + "▁cases", + -9.847670555114746 + ], + [ + "cal", + -9.849738121032715 + ], + [ + "old", + -9.849796295166016 + ], + [ + "▁Bo", + -9.849822998046875 + ], + [ + "▁spend", + -9.850439071655273 + ], + [ + "port", + -9.850828170776367 + ], + [ + "▁worth", + -9.850934028625488 + ], + [ + "ique", + -9.851308822631836 + ], + [ + "nes", + -9.85190486907959 + ], + [ + "cul", + -9.852272033691406 + ], + [ + "era", + -9.85296630859375 + ], + [ + "▁text", + -9.853032112121582 + ], + [ + "▁decided", + -9.854948997497559 + ], + [ + "▁floor", + -9.855036735534668 + ], + [ + "▁requirements", + -9.85529899597168 + ], + [ + "▁cel", + -9.855361938476562 + ], + [ + "▁effect", + -9.855412483215332 + ], + [ + "▁gibt", + -9.856159210205078 + ], + [ + "▁news", + -9.859238624572754 + ], + [ + "▁vos", + -9.859931945800781 + ], + [ + "▁players", + -9.86057186126709 + ], + [ + "▁saw", + -9.862728118896484 + ], + [ + "▁auto", + -9.863056182861328 + ], + [ + "▁town", + -9.863207817077637 + ], + [ + "▁myself", + -9.864106178283691 + ], + [ + "▁lost", + -9.864988327026367 + ], + [ + "▁$", + -9.865124702453613 + ], + [ + "▁June", + -9.86609172821045 + ], + [ + "▁significant", + -9.866196632385254 + ], + [ + "▁giving", + -9.866230010986328 + ], + [ + "▁stand", + -9.866744041442871 + ], + [ + "▁stock", + -9.867657661437988 + ], + [ + "▁hold", + -9.867766380310059 + ], + [ + "▁Are", + -9.869078636169434 + ], + [ + "▁shall", + -9.86923599243164 + ], + [ + "▁ideal", + -9.869279861450195 + ], + [ + "▁London", + -9.87080192565918 + ], + [ + "▁answer", + -9.870853424072266 + ], + [ + "▁Vor", + -9.87157917022705 + ], + [ + "▁gives", + -9.873115539550781 + ], + [ + "ative", + -9.87316608428955 + ], + [ + "▁timp", + -9.873167991638184 + ], + [ + "▁center", + -9.87362289428711 + ], + [ + "▁Group", + -9.874580383300781 + ], + [ + "▁sans", + -9.875143051147461 + ], + [ + "▁Ar", + -9.875466346740723 + ], + [ + "▁Ma", + -9.875568389892578 + ], + [ + "▁reach", + -9.876279830932617 + ], + [ + "ren", + -9.876652717590332 + ], + [ + "▁More", + -9.877446174621582 + ], + [ + "mit", + -9.878068923950195 + ], + [ + "▁guide", + -9.87833309173584 + ], + [ + "▁fully", + -9.878828048706055 + ], + [ + "▁Since", + -9.878952980041504 + ], + [ + "▁Inc", + -9.87923812866211 + ], + [ + "▁culture", + -9.879780769348145 + ], + [ + "eat", + -9.880531311035156 + ], + [ + "▁written", + -9.880722999572754 + ], + [ + "▁Ho", + -9.881338119506836 + ], + [ + "▁India", + -9.881625175476074 + ], + [ + "▁Well", + -9.881708145141602 + ], + [ + "back", + -9.881752967834473 + ], + [ + "▁goes", + -9.882170677185059 + ], + [ + "▁completely", + -9.88217544555664 + ], + [ + "▁tour", + -9.883081436157227 + ], + [ + "▁began", + -9.883196830749512 + ], + [ + "▁picture", + -9.883255958557129 + ], + [ + "▁mare", + -9.88353157043457 + ], + [ + "▁playing", + -9.884223937988281 + ], + [ + "▁trebuie", + -9.884926795959473 + ], + [ + "ils", + -9.884940147399902 + ], + [ + "chen", + -9.885220527648926 + ], + [ + "▁hit", + -9.885416984558105 + ], + [ + "▁complex", + -9.88591480255127 + ], + [ + "▁Thank", + -9.886140823364258 + ], + [ + "▁Let", + -9.886350631713867 + ], + [ + "▁applications", + -9.887116432189941 + ], + [ + "▁friend", + -9.888312339782715 + ], + [ + "▁English", + -9.889549255371094 + ], + [ + "▁charge", + -9.890040397644043 + ], + [ + "▁recommend", + -9.893453598022461 + ], + [ + "▁message", + -9.893672943115234 + ], + [ + "In", + -9.893722534179688 + ], + [ + "▁Mar", + -9.894762992858887 + ], + [ + "pp", + -9.895845413208008 + ], + [ + "▁method", + -9.89692497253418 + ], + [ + "▁successful", + -9.897004127502441 + ], + [ + "tion", + -9.898880958557129 + ], + [ + "▁release", + -9.899920463562012 + ], + [ + "▁creating", + -9.900403022766113 + ], + [ + "▁despre", + -9.90141773223877 + ], + [ + "esc", + -9.902434349060059 + ], + [ + "▁eye", + -9.902752876281738 + ], + [ + "▁apply", + -9.905945777893066 + ], + [ + "net", + -9.906000137329102 + ], + [ + "side", + -9.906539916992188 + ], + [ + "▁ar", + -9.906949996948242 + ], + [ + "▁platform", + -9.90713882446289 + ], + [ + "▁touch", + -9.907329559326172 + ], + [ + "▁towards", + -9.90785026550293 + ], + [ + "▁match", + -9.908224105834961 + ], + [ + "▁Black", + -9.909344673156738 + ], + [ + "▁fall", + -9.90961742401123 + ], + [ + "▁ground", + -9.910234451293945 + ], + [ + "▁High", + -9.910740852355957 + ], + [ + "▁Q", + -9.911155700683594 + ], + [ + "▁schon", + -9.911709785461426 + ], + [ + "▁hotel", + -9.911751747131348 + ], + [ + "▁prices", + -9.912031173706055 + ], + [ + "▁developed", + -9.913411140441895 + ], + [ + "uk", + -9.913476943969727 + ], + [ + "ide", + -9.91367244720459 + ], + [ + "▁September", + -9.91370964050293 + ], + [ + "ized", + -9.914202690124512 + ], + [ + "▁War", + -9.914704322814941 + ], + [ + "!!", + -9.916285514831543 + ], + [ + "▁grow", + -9.916997909545898 + ], + [ + "▁watch", + -9.917067527770996 + ], + [ + "▁storage", + -9.917412757873535 + ], + [ + "eau", + -9.917513847351074 + ], + [ + "can", + -9.918373107910156 + ], + [ + "▁Get", + -9.919524192810059 + ], + [ + "▁See", + -9.91953182220459 + ], + [ + "▁European", + -9.919703483581543 + ], + [ + "▁language", + -9.91982650756836 + ], + [ + "ează", + -9.920175552368164 + ], + [ + "▁court", + -9.920334815979004 + ], + [ + "▁Why", + -9.921106338500977 + ], + [ + "▁hear", + -9.921342849731445 + ], + [ + "▁doar", + -9.921804428100586 + ], + [ + "lan", + -9.92330265045166 + ], + [ + "▁Christmas", + -9.923810958862305 + ], + [ + "▁Web", + -9.923871994018555 + ], + [ + "vo", + -9.92405891418457 + ], + [ + "▁sent", + -9.924983024597168 + ], + [ + "▁businesses", + -9.925868034362793 + ], + [ + "▁Red", + -9.926278114318848 + ], + [ + "tel", + -9.926375389099121 + ], + [ + "▁Ha", + -9.926508903503418 + ], + [ + "▁wonderful", + -9.926653861999512 + ], + [ + "ations", + -9.926738739013672 + ], + [ + "za", + -9.92748737335205 + ], + [ + "▁22", + -9.928659439086914 + ], + [ + "▁thinking", + -9.92941665649414 + ], + [ + "▁became", + -9.929733276367188 + ], + [ + "▁cool", + -9.929835319519043 + ], + [ + "▁speed", + -9.930370330810547 + ], + [ + "mar", + -9.930426597595215 + ], + [ + "▁--", + -9.931743621826172 + ], + [ + "▁groups", + -9.931920051574707 + ], + [ + "▁interested", + -9.93198299407959 + ], + [ + "ak", + -9.93218994140625 + ], + [ + "▁60", + -9.932672500610352 + ], + [ + "▁screen", + -9.93370246887207 + ], + [ + "▁Design", + -9.933789253234863 + ], + [ + "▁limited", + -9.935648918151855 + ], + [ + "▁expected", + -9.935959815979004 + ], + [ + "▁opportunities", + -9.936376571655273 + ], + [ + "▁regular", + -9.936870574951172 + ], + [ + "off", + -9.93702220916748 + ], + [ + "▁Best", + -9.937298774719238 + ], + [ + "Re", + -9.938436508178711 + ], + [ + "▁ihr", + -9.938719749450684 + ], + [ + "▁Great", + -9.938907623291016 + ], + [ + "▁employees", + -9.93924617767334 + ], + [ + "▁custom", + -9.939679145812988 + ], + [ + "▁multe", + -9.940123558044434 + ], + [ + "let", + -9.940876007080078 + ], + [ + "▁benefit", + -9.942487716674805 + ], + [ + "▁term", + -9.942623138427734 + ], + [ + "▁bine", + -9.942869186401367 + ], + [ + "▁deep", + -9.944526672363281 + ], + [ + "▁August", + -9.94526481628418 + ], + [ + "▁President", + -9.945381164550781 + ], + [ + "▁Auf", + -9.945854187011719 + ], + [ + "▁wish", + -9.946924209594727 + ], + [ + "▁sometimes", + -9.947274208068848 + ], + [ + "ari", + -9.947793960571289 + ], + [ + "▁pressure", + -9.948184967041016 + ], + [ + "▁ani", + -9.94859504699707 + ], + [ + "▁trade", + -9.949930191040039 + ], + [ + "▁firm", + -9.950027465820312 + ], + [ + "▁comment", + -9.95003604888916 + ], + [ + "▁November", + -9.950242042541504 + ], + [ + "▁expect", + -9.951102256774902 + ], + [ + "▁2012", + -9.952491760253906 + ], + [ + "▁Ich", + -9.95328140258789 + ], + [ + "▁relationship", + -9.95363998413086 + ], + [ + "▁active", + -9.954682350158691 + ], + [ + "org", + -9.954710960388184 + ], + [ + "▁heat", + -9.956732749938965 + ], + [ + "▁wood", + -9.95678997039795 + ], + [ + "▁notre", + -9.957921028137207 + ], + [ + "▁function", + -9.958330154418945 + ], + [ + "▁2.", + -9.95909309387207 + ], + [ + "▁wedding", + -9.960049629211426 + ], + [ + "▁starting", + -9.961235046386719 + ], + [ + "▁Health", + -9.961249351501465 + ], + [ + "\",", + -9.961713790893555 + ], + [ + "▁death", + -9.962173461914062 + ], + [ + "▁pages", + -9.962764739990234 + ], + [ + "▁vehicle", + -9.96293830871582 + ], + [ + "▁request", + -9.963874816894531 + ], + [ + "▁helps", + -9.963916778564453 + ], + [ + "▁blue", + -9.964017868041992 + ], + [ + "▁analysis", + -9.964414596557617 + ], + [ + "▁posted", + -9.964544296264648 + ], + [ + "▁healthy", + -9.964814186096191 + ], + [ + "▁contract", + -9.964988708496094 + ], + [ + "▁•", + -9.965263366699219 + ], + [ + "▁Each", + -9.965293884277344 + ], + [ + "▁Fa", + -9.966179847717285 + ], + [ + "▁dintre", + -9.966221809387207 + ], + [ + "▁Friday", + -9.967202186584473 + ], + [ + "▁considered", + -9.967992782592773 + ], + [ + "cher", + -9.96826457977295 + ], + [ + "▁quick", + -9.968731880187988 + ], + [ + "▁understanding", + -9.96916389465332 + ], + [ + "▁condition", + -9.969378471374512 + ], + [ + "ization", + -9.971049308776855 + ], + [ + "▁document", + -9.971664428710938 + ], + [ + "▁prevent", + -9.971890449523926 + ], + [ + "▁growing", + -9.9725341796875 + ], + [ + "▁protection", + -9.972620964050293 + ], + [ + "▁cat", + -9.974002838134766 + ], + [ + "▁#", + -9.975058555603027 + ], + [ + "10", + -9.975275039672852 + ], + [ + "▁join", + -9.9759521484375 + ], + [ + "▁serve", + -9.976580619812012 + ], + [ + "▁blood", + -9.977095603942871 + ], + [ + "▁July", + -9.977341651916504 + ], + [ + "▁region", + -9.977787971496582 + ], + [ + "car", + -9.97933578491211 + ], + [ + "▁entre", + -9.979788780212402 + ], + [ + "▁physical", + -9.981287002563477 + ], + [ + "▁cash", + -9.9813232421875 + ], + [ + "aux", + -9.981823921203613 + ], + [ + "ng", + -9.982654571533203 + ], + [ + "▁stage", + -9.98281478881836 + ], + [ + "▁seem", + -9.983034133911133 + ], + [ + "▁definitely", + -9.983795166015625 + ], + [ + "▁investment", + -9.983827590942383 + ], + [ + "▁purpose", + -9.985441207885742 + ], + [ + "▁begin", + -9.985486030578613 + ], + [ + "®", + -9.985495567321777 + ], + [ + "▁break", + -9.985701560974121 + ], + [ + "itate", + -9.987293243408203 + ], + [ + "▁moving", + -9.989288330078125 + ], + [ + "▁met", + -9.990678787231445 + ], + [ + "ize", + -9.990833282470703 + ], + [ + "▁select", + -9.991165161132812 + ], + [ + "▁tous", + -9.991310119628906 + ], + [ + "▁Europe", + -9.991639137268066 + ], + [ + "@", + -9.992724418640137 + ], + [ + "▁individuals", + -9.993392944335938 + ], + [ + "▁Zeit", + -9.993524551391602 + ], + [ + "gu", + -9.995670318603516 + ], + [ + "▁unit", + -9.995753288269043 + ], + [ + "▁noi", + -9.996089935302734 + ], + [ + "▁places", + -9.996171951293945 + ], + [ + "all", + -9.99632453918457 + ], + [ + "▁wait", + -9.996755599975586 + ], + [ + "▁difference", + -9.997234344482422 + ], + [ + "▁round", + -9.998015403747559 + ], + [ + "50", + -9.99953842163086 + ], + [ + "rie", + -9.999545097351074 + ], + [ + "▁Et", + -9.999933242797852 + ], + [ + "20", + -10.000725746154785 + ], + [ + "▁activity", + -10.000792503356934 + ], + [ + "е", + -10.000866889953613 + ], + [ + "▁Windows", + -10.001087188720703 + ], + [ + "▁produce", + -10.001385688781738 + ], + [ + "▁keine", + -10.00212574005127 + ], + [ + "▁Air", + -10.002567291259766 + ], + [ + "▁January", + -10.004890441894531 + ], + [ + "▁deux", + -10.005081176757812 + ], + [ + "▁entry", + -10.005208015441895 + ], + [ + "king", + -10.006500244140625 + ], + [ + "▁goals", + -10.006736755371094 + ], + [ + "▁previous", + -10.0077543258667 + ], + [ + "▁+", + -10.008035659790039 + ], + [ + "▁Business", + -10.008259773254395 + ], + [ + "ont", + -10.008552551269531 + ], + [ + "▁Sunday", + -10.008694648742676 + ], + [ + "▁offering", + -10.010359764099121 + ], + [ + "▁response", + -10.011018753051758 + ], + [ + "▁surface", + -10.011393547058105 + ], + [ + "▁Department", + -10.01212215423584 + ], + [ + "▁exactly", + -10.012190818786621 + ], + [ + "▁Online", + -10.012577056884766 + ], + [ + "dem", + -10.013803482055664 + ], + [ + "ischen", + -10.014006614685059 + ], + [ + "▁hands", + -10.015100479125977 + ], + [ + "▁hour", + -10.016197204589844 + ], + [ + "▁dog", + -10.016946792602539 + ], + [ + "▁damage", + -10.017006874084473 + ], + [ + "▁capital", + -10.018792152404785 + ], + [ + "▁toate", + -10.020488739013672 + ], + [ + "▁wrong", + -10.020674705505371 + ], + [ + "unui", + -10.022201538085938 + ], + [ + "tri", + -10.023979187011719 + ], + [ + "▁sell", + -10.023999214172363 + ], + [ + "▁published", + -10.024175643920898 + ], + [ + "▁families", + -10.024675369262695 + ], + [ + "▁avoid", + -10.025490760803223 + ], + [ + "▁Ko", + -10.025506019592285 + ], + [ + "▁mod", + -10.026697158813477 + ], + [ + "rat", + -10.027653694152832 + ], + [ + "▁Make", + -10.0299654006958 + ], + [ + "▁October", + -10.030153274536133 + ], + [ + "▁former", + -10.031285285949707 + ], + [ + "▁Services", + -10.03281021118164 + ], + [ + "▁felt", + -10.033045768737793 + ], + [ + "▁selection", + -10.033309936523438 + ], + [ + "eaza", + -10.034177780151367 + ], + [ + "gel", + -10.034422874450684 + ], + [ + "▁Good", + -10.035792350769043 + ], + [ + "▁actual", + -10.0364351272583 + ], + [ + "▁gut", + -10.036853790283203 + ], + [ + "▁gas", + -10.03708553314209 + ], + [ + "15", + -10.038182258605957 + ], + [ + "▁structure", + -10.038285255432129 + ], + [ + "▁act", + -10.0386381149292 + ], + [ + "▁Zu", + -10.038654327392578 + ], + [ + "▁creative", + -10.039134979248047 + ], + [ + "▁Vi", + -10.039159774780273 + ], + [ + "▁shop", + -10.04066276550293 + ], + [ + "▁Lo", + -10.040735244750977 + ], + [ + "şi", + -10.042192459106445 + ], + [ + "▁mis", + -10.042224884033203 + ], + [ + "ungen", + -10.042301177978516 + ], + [ + "▁fan", + -10.04240608215332 + ], + [ + "▁|", + -10.043391227722168 + ], + [ + "▁Bei", + -10.044037818908691 + ], + [ + "▁protect", + -10.04454517364502 + ], + [ + "▁Na", + -10.0447998046875 + ], + [ + "q", + -10.045693397521973 + ], + [ + "ok", + -10.04710578918457 + ], + [ + "▁California", + -10.047263145446777 + ], + [ + "▁political", + -10.047301292419434 + ], + [ + "25", + -10.047530174255371 + ], + [ + "▁feeling", + -10.047913551330566 + ], + [ + "▁ces", + -10.048321723937988 + ], + [ + "▁display", + -10.048857688903809 + ], + [ + "▁essential", + -10.04964542388916 + ], + [ + "ând", + -10.049971580505371 + ], + [ + "▁seine", + -10.050551414489746 + ], + [ + "▁soft", + -10.050915718078613 + ], + [ + "ach", + -10.05102252960205 + ], + [ + "▁happen", + -10.051118850708008 + ], + [ + "▁Paul", + -10.053346633911133 + ], + [ + "▁Cu", + -10.054024696350098 + ], + [ + "house", + -10.055376052856445 + ], + [ + "ante", + -10.05582046508789 + ], + [ + "▁easier", + -10.056551933288574 + ], + [ + "▁sort", + -10.0567045211792 + ], + [ + "▁Post", + -10.057138442993164 + ], + [ + "▁accept", + -10.05730152130127 + ], + [ + "field", + -10.057648658752441 + ], + [ + "zen", + -10.057741165161133 + ], + [ + "▁character", + -10.057848930358887 + ], + [ + "▁beginning", + -10.058433532714844 + ], + [ + "▁Jesus", + -10.058760643005371 + ], + [ + "▁weekend", + -10.059663772583008 + ], + [ + "▁certainly", + -10.06114387512207 + ], + [ + "▁THE", + -10.061254501342773 + ], + [ + "▁alle", + -10.06189250946045 + ], + [ + "▁transport", + -10.062220573425293 + ], + [ + "▁Saturday", + -10.063043594360352 + ], + [ + "▁basic", + -10.064136505126953 + ], + [ + "▁loved", + -10.06431770324707 + ], + [ + "ros", + -10.065333366394043 + ], + [ + "▁offered", + -10.065996170043945 + ], + [ + "▁camera", + -10.067024230957031 + ], + [ + "▁Green", + -10.06789779663086 + ], + [ + "ology", + -10.069480895996094 + ], + [ + "ä", + -10.069646835327148 + ], + [ + "▁manage", + -10.070416450500488 + ], + [ + "▁paid", + -10.070881843566895 + ], + [ + "▁advice", + -10.071617126464844 + ], + [ + "▁patient", + -10.072234153747559 + ], + [ + "▁spent", + -10.072272300720215 + ], + [ + "▁mir", + -10.072366714477539 + ], + [ + "▁baby", + -10.072400093078613 + ], + [ + "ö", + -10.073193550109863 + ], + [ + "▁basis", + -10.073338508605957 + ], + [ + "▁cancer", + -10.073765754699707 + ], + [ + "▁Although", + -10.07400894165039 + ], + [ + "▁gift", + -10.074336051940918 + ], + [ + "▁3.", + -10.074871063232422 + ], + [ + "dieser", + -10.075157165527344 + ], + [ + "▁overall", + -10.07520580291748 + ], + [ + "▁Sch", + -10.075265884399414 + ], + [ + "▁Ex", + -10.076258659362793 + ], + [ + "▁December", + -10.07689094543457 + ], + [ + "▁released", + -10.078214645385742 + ], + [ + "▁prior", + -10.07900333404541 + ], + [ + "▁sowie", + -10.081072807312012 + ], + [ + "▁club", + -10.081326484680176 + ], + [ + "▁Street", + -10.081535339355469 + ], + [ + "▁College", + -10.08254623413086 + ], + [ + "▁î", + -10.083059310913086 + ], + [ + "over", + -10.083159446716309 + ], + [ + "▁gave", + -10.08454704284668 + ], + [ + "▁truly", + -10.084784507751465 + ], + [ + "par", + -10.084806442260742 + ], + [ + "▁Canada", + -10.084888458251953 + ], + [ + "▁existing", + -10.085420608520508 + ], + [ + "lie", + -10.086335182189941 + ], + [ + "▁ganz", + -10.086658477783203 + ], + [ + "▁setting", + -10.087109565734863 + ], + [ + "▁supply", + -10.08739185333252 + ], + [ + "▁college", + -10.087540626525879 + ], + [ + "▁communication", + -10.088407516479492 + ], + [ + "▁23", + -10.088834762573242 + ], + [ + "▁pass", + -10.091546058654785 + ], + [ + "▁devices", + -10.091872215270996 + ], + [ + "▁glass", + -10.092083930969238 + ], + [ + "▁experienced", + -10.092395782470703 + ], + [ + "▁grand", + -10.093363761901855 + ], + [ + "▁Po", + -10.093396186828613 + ], + [ + "▁beyond", + -10.094029426574707 + ], + [ + "▁format", + -10.094165802001953 + ], + [ + "▁mon", + -10.09461498260498 + ], + [ + "▁perform", + -10.094635009765625 + ], + [ + "sten", + -10.095130920410156 + ], + [ + "▁1,", + -10.096270561218262 + ], + [ + "▁Per", + -10.096640586853027 + ], + [ + "▁sold", + -10.097247123718262 + ], + [ + "▁rates", + -10.0972900390625 + ], + [ + "▁regarding", + -10.097782135009766 + ], + [ + "▁Paris", + -10.098291397094727 + ], + [ + "▁Dar", + -10.099579811096191 + ], + [ + "▁challenge", + -10.099649429321289 + ], + [ + "▁feet", + -10.100564002990723 + ], + [ + "▁Su", + -10.102017402648926 + ], + [ + "je", + -10.102593421936035 + ], + [ + "▁Bank", + -10.102627754211426 + ], + [ + "ven", + -10.103126525878906 + ], + [ + "jo", + -10.103290557861328 + ], + [ + "▁band", + -10.10348892211914 + ], + [ + "▁delivery", + -10.104915618896484 + ], + [ + "Vous", + -10.104924201965332 + ], + [ + "tele", + -10.10495376586914 + ], + [ + "▁East", + -10.105379104614258 + ], + [ + "▁pictures", + -10.106067657470703 + ], + [ + "▁useful", + -10.106481552124023 + ], + [ + "*", + -10.107648849487305 + ], + [ + "▁increased", + -10.107746124267578 + ], + [ + "▁stories", + -10.108119010925293 + ], + [ + "sion", + -10.108280181884766 + ], + [ + "bra", + -10.108345985412598 + ], + [ + "▁brought", + -10.108466148376465 + ], + [ + "▁effort", + -10.109898567199707 + ], + [ + "▁payment", + -10.11058235168457 + ], + [ + "▁heard", + -10.110925674438477 + ], + [ + "▁played", + -10.111245155334473 + ], + [ + "▁White", + -10.111417770385742 + ], + [ + "▁metal", + -10.111721992492676 + ], + [ + "tal", + -10.111754417419434 + ], + [ + "▁engine", + -10.112006187438965 + ], + [ + "▁Club", + -10.11218547821045 + ], + [ + "ical", + -10.114581108093262 + ], + [ + "▁effects", + -10.115421295166016 + ], + [ + "▁degree", + -10.115763664245605 + ], + [ + "▁bed", + -10.1159086227417 + ], + [ + "ette", + -10.115991592407227 + ], + [ + "▁David", + -10.116386413574219 + ], + [ + "°", + -10.117666244506836 + ], + [ + "▁Au", + -10.117938041687012 + ], + [ + "▁Company", + -10.11845874786377 + ], + [ + "▁player", + -10.11938190460205 + ], + [ + "▁Today", + -10.120569229125977 + ], + [ + "▁maintain", + -10.12093448638916 + ], + [ + "▁minute", + -10.121193885803223 + ], + [ + "mail", + -10.122172355651855 + ], + [ + "▁race", + -10.122366905212402 + ], + [ + "▁comfortable", + -10.123887062072754 + ], + [ + "▁responsible", + -10.124085426330566 + ], + [ + "vor", + -10.124622344970703 + ], + [ + "▁associated", + -10.124695777893066 + ], + [ + "▁weather", + -10.124701499938965 + ], + [ + "▁$1", + -10.125639915466309 + ], + [ + "▁tried", + -10.126176834106445 + ], + [ + "▁Check", + -10.127649307250977 + ], + [ + "▁solid", + -10.127864837646484 + ], + [ + "▁movie", + -10.128364562988281 + ], + [ + "▁coffee", + -10.12874698638916 + ], + [ + "board", + -10.129073143005371 + ], + [ + "▁po", + -10.12946605682373 + ], + [ + "▁warm", + -10.129583358764648 + ], + [ + "▁connect", + -10.131733894348145 + ], + [ + "▁Ad", + -10.133807182312012 + ], + [ + "work", + -10.133859634399414 + ], + [ + "mal", + -10.13397216796875 + ], + [ + "▁Act", + -10.134634971618652 + ], + [ + "▁achieve", + -10.134769439697266 + ], + [ + "▁Nach", + -10.136604309082031 + ], + [ + "www", + -10.136669158935547 + ], + [ + "term", + -10.13672161102295 + ], + [ + "▁claim", + -10.137251853942871 + ], + [ + "▁particularly", + -10.138245582580566 + ], + [ + "▁cas", + -10.138396263122559 + ], + [ + "▁furniture", + -10.138461112976074 + ], + [ + "▁finish", + -10.13896369934082 + ], + [ + "▁temps", + -10.139026641845703 + ], + [ + "▁disease", + -10.139115333557129 + ], + [ + "▁lots", + -10.139196395874023 + ], + [ + "▁ball", + -10.139307975769043 + ], + [ + "▁sun", + -10.14010238647461 + ], + [ + "▁strategy", + -10.140498161315918 + ], + [ + "bre", + -10.140518188476562 + ], + [ + "▁mine", + -10.141541481018066 + ], + [ + "▁Click", + -10.141743659973145 + ], + [ + "ran", + -10.141983032226562 + ], + [ + "▁Will", + -10.142234802246094 + ], + [ + "▁garden", + -10.142974853515625 + ], + [ + "▁stuff", + -10.14359188079834 + ], + [ + "▁limit", + -10.144641876220703 + ], + [ + "▁bottom", + -10.14494800567627 + ], + [ + "▁shown", + -10.144962310791016 + ], + [ + "ship", + -10.145271301269531 + ], + [ + "▁habe", + -10.145858764648438 + ], + [ + "▁Super", + -10.146219253540039 + ], + [ + "▁completed", + -10.146971702575684 + ], + [ + "▁wine", + -10.146979331970215 + ], + [ + "ische", + -10.147262573242188 + ], + [ + "▁largest", + -10.147466659545898 + ], + [ + "▁appropriate", + -10.148261070251465 + ], + [ + "▁immediately", + -10.150248527526855 + ], + [ + "▁Hi", + -10.152358055114746 + ], + [ + "▁trust", + -10.152767181396484 + ], + [ + "ability", + -10.154254913330078 + ], + [ + "▁powerful", + -10.155101776123047 + ], + [ + "▁helping", + -10.155620574951172 + ], + [ + "▁schedule", + -10.155688285827637 + ], + [ + "▁correct", + -10.155707359313965 + ], + [ + "▁transfer", + -10.156496047973633 + ], + [ + "pre", + -10.15665340423584 + ], + [ + "▁journey", + -10.15688419342041 + ], + [ + "pm", + -10.157002449035645 + ], + [ + "don", + -10.158435821533203 + ], + [ + "▁highest", + -10.159249305725098 + ], + [ + "▁finally", + -10.15999698638916 + ], + [ + "form", + -10.160258293151855 + ], + [ + "▁extremely", + -10.160404205322266 + ], + [ + "▁window", + -10.160501480102539 + ], + [ + "▁Over", + -10.162222862243652 + ], + [ + "▁remove", + -10.162469863891602 + ], + [ + "wood", + -10.162479400634766 + ], + [ + "▁2013", + -10.163631439208984 + ], + [ + "▁mother", + -10.164072036743164 + ], + [ + "▁Auto", + -10.16436767578125 + ], + [ + "▁annual", + -10.164615631103516 + ], + [ + "▁Star", + -10.164834976196289 + ], + [ + "▁Di", + -10.166138648986816 + ], + [ + "о", + -10.16711139678955 + ], + [ + "▁gold", + -10.167129516601562 + ], + [ + "tar", + -10.167352676391602 + ], + [ + "ju", + -10.167750358581543 + ], + [ + "▁Use", + -10.169474601745605 + ], + [ + "▁thanks", + -10.16960334777832 + ], + [ + "▁centre", + -10.170127868652344 + ], + [ + "▁Australia", + -10.170358657836914 + ], + [ + "▁estate", + -10.170504570007324 + ], + [ + "▁eyes", + -10.1714448928833 + ], + [ + "▁force", + -10.171592712402344 + ], + [ + "▁income", + -10.17395305633545 + ], + [ + "▁science", + -10.174036026000977 + ], + [ + "ori", + -10.174230575561523 + ], + [ + "▁enter", + -10.174851417541504 + ], + [ + "▁28", + -10.175408363342285 + ], + [ + "ire", + -10.17568302154541 + ], + [ + "▁schools", + -10.175797462463379 + ], + [ + "▁restaurant", + -10.176088333129883 + ], + [ + "▁Council", + -10.177032470703125 + ], + [ + "aus", + -10.177885055541992 + ], + [ + "▁agree", + -10.17905330657959 + ], + [ + "▁campaign", + -10.179192543029785 + ], + [ + "▁Ta", + -10.179428100585938 + ], + [ + "▁letter", + -10.179814338684082 + ], + [ + "▁central", + -10.179931640625 + ], + [ + "▁Because", + -10.180054664611816 + ], + [ + "▁path", + -10.180349349975586 + ], + [ + "▁loc", + -10.180882453918457 + ], + [ + "▁files", + -10.182587623596191 + ], + [ + "▁population", + -10.182705879211426 + ], + [ + "▁explore", + -10.182723999023438 + ], + [ + "▁mid", + -10.182734489440918 + ], + [ + "▁concept", + -10.182748794555664 + ], + [ + "▁church", + -10.183015823364258 + ], + [ + "80", + -10.183026313781738 + ], + [ + "▁einfach", + -10.185834884643555 + ], + [ + "▁reasons", + -10.186690330505371 + ], + [ + "▁determine", + -10.186755180358887 + ], + [ + "▁February", + -10.187095642089844 + ], + [ + "▁evidence", + -10.18797779083252 + ], + [ + "▁sleep", + -10.188036918640137 + ], + [ + "▁Board", + -10.188652992248535 + ], + [ + "▁maybe", + -10.189635276794434 + ], + [ + "▁wasn", + -10.189701080322266 + ], + [ + "▁Monday", + -10.190101623535156 + ], + [ + "▁director", + -10.190481185913086 + ], + [ + "well", + -10.190974235534668 + ], + [ + "During", + -10.191001892089844 + ], + [ + "▁sweet", + -10.191061973571777 + ], + [ + "▁assist", + -10.19124984741211 + ], + [ + "▁police", + -10.191511154174805 + ], + [ + "▁repair", + -10.191729545593262 + ], + [ + "▁techniques", + -10.191733360290527 + ], + [ + "▁served", + -10.191808700561523 + ], + [ + "vi", + -10.192037582397461 + ], + [ + "▁sports", + -10.192331314086914 + ], + [ + "▁opening", + -10.192401885986328 + ], + [ + "▁ones", + -10.192731857299805 + ], + [ + "▁notice", + -10.193460464477539 + ], + [ + "▁PC", + -10.193547248840332 + ], + [ + "▁alte", + -10.194242477416992 + ], + [ + "▁Bi", + -10.194340705871582 + ], + [ + "▁cold", + -10.195606231689453 + ], + [ + "▁billion", + -10.195794105529785 + ], + [ + "▁balance", + -10.196361541748047 + ], + [ + "cer", + -10.196417808532715 + ], + [ + "▁nearly", + -10.196725845336914 + ], + [ + "▁wear", + -10.197259902954102 + ], + [ + "free", + -10.19760799407959 + ], + [ + "▁Have", + -10.197748184204102 + ], + [ + "▁comfort", + -10.199211120605469 + ], + [ + "▁studies", + -10.199225425720215 + ], + [ + "▁traffic", + -10.199540138244629 + ], + [ + "▁item", + -10.200214385986328 + ], + [ + "▁teaching", + -10.200467109680176 + ], + [ + "▁turned", + -10.201326370239258 + ], + [ + "isation", + -10.201354026794434 + ], + [ + "12", + -10.202038764953613 + ], + [ + "▁greater", + -10.202167510986328 + ], + [ + "▁knew", + -10.20233154296875 + ], + [ + "▁Association", + -10.203333854675293 + ], + [ + "▁Office", + -10.203802108764648 + ], + [ + "▁established", + -10.204085350036621 + ], + [ + "45", + -10.204170227050781 + ], + [ + "▁Love", + -10.204318046569824 + ], + [ + "▁changed", + -10.204882621765137 + ], + [ + "▁pan", + -10.205184936523438 + ], + [ + "van", + -10.20565414428711 + ], + [ + "▁Mi", + -10.205663681030273 + ], + [ + "▁tend", + -10.20637321472168 + ], + [ + "▁connection", + -10.206522941589355 + ], + [ + "▁lack", + -10.206954002380371 + ], + [ + "▁bank", + -10.208464622497559 + ], + [ + "cat", + -10.208720207214355 + ], + [ + "▁helped", + -10.209071159362793 + ], + [ + "▁spot", + -10.209417343139648 + ], + [ + "▁spring", + -10.20974063873291 + ], + [ + "▁Wi", + -10.210912704467773 + ], + [ + "▁Mac", + -10.211682319641113 + ], + [ + "▁Christ", + -10.212015151977539 + ], + [ + "▁saying", + -10.212835311889648 + ], + [ + "▁General", + -10.213062286376953 + ], + [ + "▁port", + -10.213099479675293 + ], + [ + "▁Mal", + -10.213156700134277 + ], + [ + "▁System", + -10.213486671447754 + ], + [ + "▁According", + -10.2152738571167 + ], + [ + "▁chiar", + -10.21568489074707 + ], + [ + "log", + -10.21576976776123 + ], + [ + "▁mix", + -10.215974807739258 + ], + [ + "▁Lake", + -10.216042518615723 + ], + [ + "▁intr", + -10.216590881347656 + ], + [ + "▁deliver", + -10.216793060302734 + ], + [ + "mon", + -10.216931343078613 + ], + [ + "▁Ro", + -10.217060089111328 + ], + [ + "▁Management", + -10.217504501342773 + ], + [ + "bri", + -10.218718528747559 + ], + [ + "▁pieces", + -10.218774795532227 + ], + [ + "▁announced", + -10.218926429748535 + ], + [ + "▁Yes", + -10.219268798828125 + ], + [ + "▁dark", + -10.220884323120117 + ], + [ + "val", + -10.221765518188477 + ], + [ + "▁rights", + -10.22309684753418 + ], + [ + "▁Diese", + -10.223100662231445 + ], + [ + "ki", + -10.223350524902344 + ], + [ + "vent", + -10.22375774383545 + ], + [ + "▁born", + -10.22380542755127 + ], + [ + "▁muss", + -10.224031448364258 + ], + [ + "compared", + -10.224660873413086 + ], + [ + "▁demand", + -10.224669456481934 + ], + [ + "▁handle", + -10.225493431091309 + ], + [ + "▁mode", + -10.226058006286621 + ], + [ + "lic", + -10.226137161254883 + ], + [ + "▁ahead", + -10.226436614990234 + ], + [ + "▁sharing", + -10.227599143981934 + ], + [ + "▁micro", + -10.227779388427734 + ], + [ + "▁Par", + -10.228626251220703 + ], + [ + "▁Every", + -10.22950553894043 + ], + [ + "▁bag", + -10.229736328125 + ], + [ + "▁daca", + -10.22974967956543 + ], + [ + "▁Apple", + -10.23022174835205 + ], + [ + "▁Mark", + -10.230239868164062 + ], + [ + "▁larger", + -10.231284141540527 + ], + [ + "eze", + -10.231978416442871 + ], + [ + "▁progress", + -10.232234001159668 + ], + [ + "▁stress", + -10.232929229736328 + ], + [ + "▁cards", + -10.233663558959961 + ], + [ + "▁driving", + -10.233738899230957 + ], + [ + "▁dry", + -10.233970642089844 + ], + [ + "▁relevant", + -10.234556198120117 + ], + [ + "▁Jo", + -10.234825134277344 + ], + [ + "▁tree", + -10.235036849975586 + ], + [ + "▁reported", + -10.235770225524902 + ], + [ + "ities", + -10.23577880859375 + ], + [ + "▁tea", + -10.235806465148926 + ], + [ + "▁although", + -10.236145973205566 + ], + [ + "▁Research", + -10.236261367797852 + ], + [ + "▁pool", + -10.23691463470459 + ], + [ + "▁fin", + -10.237163543701172 + ], + [ + "▁Und", + -10.238130569458008 + ], + [ + "▁decide", + -10.239217758178711 + ], + [ + "▁expert", + -10.239344596862793 + ], + [ + "rate", + -10.239428520202637 + ], + [ + "zeit", + -10.239971160888672 + ], + [ + "▁26", + -10.24040412902832 + ], + [ + "▁Ka", + -10.24056339263916 + ], + [ + "▁fix", + -10.240666389465332 + ], + [ + "igen", + -10.240713119506836 + ], + [ + "▁direction", + -10.241188049316406 + ], + [ + "▁star", + -10.241661071777344 + ], + [ + "▁middle", + -10.241889953613281 + ], + [ + "▁Ja", + -10.241962432861328 + ], + [ + "▁Land", + -10.24207878112793 + ], + [ + "ken", + -10.242605209350586 + ], + [ + "▁button", + -10.242630004882812 + ], + [ + "▁rules", + -10.242656707763672 + ], + [ + "▁également", + -10.242706298828125 + ], + [ + "▁viel", + -10.243158340454102 + ], + [ + "▁welcome", + -10.243682861328125 + ], + [ + "că", + -10.243932723999023 + ], + [ + "▁Top", + -10.245308876037598 + ], + [ + "▁allowed", + -10.245487213134766 + ], + [ + "▁tip", + -10.245584487915039 + ], + [ + "▁cei", + -10.245768547058105 + ], + [ + "▁Nous", + -10.246004104614258 + ], + [ + "té", + -10.246850967407227 + ], + [ + "▁unei", + -10.246903419494629 + ], + [ + "▁efforts", + -10.247260093688965 + ], + [ + "▁note", + -10.247719764709473 + ], + [ + "▁title", + -10.247977256774902 + ], + [ + "ric", + -10.248047828674316 + ], + [ + "berg", + -10.248252868652344 + ], + [ + "▁ainsi", + -10.248576164245605 + ], + [ + "▁led", + -10.248713493347168 + ], + [ + "▁alone", + -10.248786926269531 + ], + [ + "ward", + -10.249215126037598 + ], + [ + "▁vie", + -10.249323844909668 + ], + [ + "▁brain", + -10.249427795410156 + ], + [ + "light", + -10.250100135803223 + ], + [ + "▁Court", + -10.250598907470703 + ], + [ + "set", + -10.250869750976562 + ], + [ + "▁steps", + -10.251251220703125 + ], + [ + "pri", + -10.251391410827637 + ], + [ + "Q", + -10.251654624938965 + ], + [ + "sti", + -10.251938819885254 + ], + [ + "▁voice", + -10.252121925354004 + ], + [ + "▁models", + -10.252705574035645 + ], + [ + "▁parties", + -10.25442886352539 + ], + [ + "▁radio", + -10.255270957946777 + ], + [ + "▁mission", + -10.25545883178711 + ], + [ + "▁methods", + -10.255658149719238 + ], + [ + "▁Te", + -10.256019592285156 + ], + [ + "air", + -10.256489753723145 + ], + [ + "▁essay", + -10.256719589233398 + ], + [ + "my", + -10.256826400756836 + ], + [ + "▁competition", + -10.257049560546875 + ], + [ + "ses", + -10.257447242736816 + ], + [ + "▁serious", + -10.258724212646484 + ], + [ + "▁Ti", + -10.258733749389648 + ], + [ + "▁Hand", + -10.259561538696289 + ], + [ + "not", + -10.25958251953125 + ], + [ + "▁winter", + -10.261277198791504 + ], + [ + "24", + -10.261724472045898 + ], + [ + "▁vision", + -10.26174545288086 + ], + [ + "▁technical", + -10.262110710144043 + ], + [ + "▁cross", + -10.262799263000488 + ], + [ + "▁update", + -10.262947082519531 + ], + [ + "▁Team", + -10.263564109802246 + ], + [ + "▁evening", + -10.264286041259766 + ], + [ + "▁experts", + -10.26435661315918 + ], + [ + "part", + -10.264640808105469 + ], + [ + "▁wo", + -10.265190124511719 + ], + [ + "▁App", + -10.265729904174805 + ], + [ + "▁peu", + -10.266267776489258 + ], + [ + "▁mich", + -10.26630687713623 + ], + [ + "▁reports", + -10.267001152038574 + ], + [ + "▁km", + -10.267594337463379 + ], + [ + "▁print", + -10.2678804397583 + ], + [ + "▁Hotel", + -10.268101692199707 + ], + [ + "▁earlier", + -10.268235206604004 + ], + [ + "▁uses", + -10.26826286315918 + ], + [ + "▁menu", + -10.268416404724121 + ], + [ + "▁miles", + -10.26845645904541 + ], + [ + "▁classes", + -10.268463134765625 + ], + [ + "▁mo", + -10.268525123596191 + ], + [ + "▁loan", + -10.2691011428833 + ], + [ + "▁host", + -10.269192695617676 + ], + [ + "▁author", + -10.269274711608887 + ], + [ + "-1", + -10.269434928894043 + ], + [ + "▁bun", + -10.269940376281738 + ], + [ + "19", + -10.270011901855469 + ], + [ + "uch", + -10.270670890808105 + ], + [ + "ble", + -10.270813941955566 + ], + [ + "▁holiday", + -10.270859718322754 + ], + [ + "los", + -10.271894454956055 + ], + [ + "▁looked", + -10.272663116455078 + ], + [ + "▁Test", + -10.272759437561035 + ], + [ + "▁moved", + -10.273000717163086 + ], + [ + "▁numbers", + -10.273306846618652 + ], + [ + "▁covered", + -10.273405075073242 + ], + [ + "ker", + -10.273696899414062 + ], + [ + "TM", + -10.273768424987793 + ], + [ + "▁album", + -10.274727821350098 + ], + [ + "▁27", + -10.27476692199707 + ], + [ + "▁când", + -10.27523422241211 + ], + [ + "▁shopping", + -10.275248527526855 + ], + [ + "▁Ihr", + -10.27531623840332 + ], + [ + "▁requires", + -10.275786399841309 + ], + [ + "▁USA", + -10.275909423828125 + ], + [ + "000", + -10.275951385498047 + ], + [ + "▁official", + -10.276010513305664 + ], + [ + "▁states", + -10.276346206665039 + ], + [ + "▁tips", + -10.276570320129395 + ], + [ + "ible", + -10.277321815490723 + ], + [ + "▁Lu", + -10.27756404876709 + ], + [ + "ces", + -10.278343200683594 + ], + [ + "▁figure", + -10.27839469909668 + ], + [ + "▁Take", + -10.278576850891113 + ], + [ + "▁după", + -10.278687477111816 + ], + [ + "▁teams", + -10.278980255126953 + ], + [ + "▁song", + -10.279138565063477 + ], + [ + "▁master", + -10.279386520385742 + ], + [ + "ED", + -10.279841423034668 + ], + [ + "▁cleaning", + -10.280523300170898 + ], + [ + "▁drop", + -10.280651092529297 + ], + [ + "▁primary", + -10.2808837890625 + ], + [ + "▁Life", + -10.28108024597168 + ], + [ + "▁carry", + -10.281129837036133 + ], + [ + "▁initial", + -10.281270980834961 + ], + [ + "▁encore", + -10.281617164611816 + ], + [ + "▁Add", + -10.281670570373535 + ], + [ + "▁woman", + -10.282076835632324 + ], + [ + "▁Water", + -10.282219886779785 + ], + [ + "▁advantage", + -10.28277587890625 + ], + [ + "see", + -10.283234596252441 + ], + [ + "ré", + -10.283341407775879 + ], + [ + "▁motor", + -10.283479690551758 + ], + [ + "mel", + -10.2838716506958 + ], + [ + "▁finding", + -10.284419059753418 + ], + [ + "▁plastic", + -10.286365509033203 + ], + [ + "▁IT", + -10.286602973937988 + ], + [ + "▁Church", + -10.286916732788086 + ], + [ + "▁shape", + -10.287345886230469 + ], + [ + "▁gets", + -10.287763595581055 + ], + [ + "▁followed", + -10.288186073303223 + ], + [ + "▁100%", + -10.288315773010254 + ], + [ + "▁Program", + -10.28912353515625 + ], + [ + "▁Another", + -10.28934383392334 + ], + [ + "▁zwei", + -10.289522171020508 + ], + [ + "▁father", + -10.289839744567871 + ], + [ + "▁rich", + -10.290282249450684 + ], + [ + "où", + -10.290810585021973 + ], + [ + "▁lines", + -10.290934562683105 + ], + [ + "▁distance", + -10.291757583618164 + ], + [ + "▁cell", + -10.291876792907715 + ], + [ + "▁parte", + -10.292072296142578 + ], + [ + "bit", + -10.292445182800293 + ], + [ + "▁perhaps", + -10.292749404907227 + ], + [ + "rii", + -10.293590545654297 + ], + [ + "▁session", + -10.294137954711914 + ], + [ + "▁Pentru", + -10.294528007507324 + ], + [ + "ING", + -10.295049667358398 + ], + [ + "ants", + -10.295478820800781 + ], + [ + "▁remain", + -10.295543670654297 + ], + [ + "13", + -10.295588493347168 + ], + [ + "▁finished", + -10.295763969421387 + ], + [ + "bel", + -10.298725128173828 + ], + [ + "▁organizations", + -10.299455642700195 + ], + [ + "▁Any", + -10.299896240234375 + ], + [ + "▁taste", + -10.300277709960938 + ], + [ + "Whether", + -10.300600051879883 + ], + [ + "ram", + -10.300874710083008 + ], + [ + "like", + -10.301307678222656 + ], + [ + "▁artist", + -10.301319122314453 + ], + [ + "aire", + -10.303369522094727 + ], + [ + "▁French", + -10.303386688232422 + ], + [ + "▁donc", + -10.303634643554688 + ], + [ + "ow", + -10.30386734008789 + ], + [ + "▁200", + -10.303993225097656 + ], + [ + "▁paint", + -10.304465293884277 + ], + [ + "▁Open", + -10.304535865783691 + ], + [ + "▁appear", + -10.304722785949707 + ], + [ + "▁Washington", + -10.304765701293945 + ], + [ + "▁target", + -10.30491828918457 + ], + [ + "pir", + -10.305578231811523 + ], + [ + "▁generally", + -10.305987358093262 + ], + [ + "▁British", + -10.306790351867676 + ], + [ + "▁seven", + -10.306937217712402 + ], + [ + "▁bio", + -10.307162284851074 + ], + [ + "▁sector", + -10.307358741760254 + ], + [ + "90", + -10.30777359008789 + ], + [ + "▁fapt", + -10.307881355285645 + ], + [ + "▁prefer", + -10.308316230773926 + ], + [ + "▁partner", + -10.308427810668945 + ], + [ + "ăm", + -10.308547973632812 + ], + [ + "▁diverse", + -10.308610916137695 + ], + [ + "▁onto", + -10.309283256530762 + ], + [ + "▁refer", + -10.309828758239746 + ], + [ + "▁Law", + -10.310302734375 + ], + [ + "▁Ri", + -10.310596466064453 + ], + [ + "▁critical", + -10.310735702514648 + ], + [ + "▁copy", + -10.310897827148438 + ], + [ + "ck", + -10.311517715454102 + ], + [ + "ix", + -10.311732292175293 + ], + [ + "tag", + -10.311793327331543 + ], + [ + "▁Road", + -10.311936378479004 + ], + [ + "▁concern", + -10.312053680419922 + ], + [ + "▁maximum", + -10.312095642089844 + ], + [ + "▁train", + -10.312148094177246 + ], + [ + "▁într", + -10.312189102172852 + ], + [ + "ura", + -10.313023567199707 + ], + [ + "▁Qu", + -10.313481330871582 + ], + [ + "▁links", + -10.313538551330566 + ], + [ + "▁audience", + -10.313969612121582 + ], + [ + "▁foot", + -10.314554214477539 + ], + [ + "▁Blue", + -10.314605712890625 + ], + [ + "ification", + -10.315386772155762 + ], + [ + "▁developing", + -10.315847396850586 + ], + [ + "▁interior", + -10.315876007080078 + ], + [ + "=", + -10.316556930541992 + ], + [ + "▁aceasta", + -10.31698989868164 + ], + [ + "▁dedicated", + -10.317373275756836 + ], + [ + "▁movement", + -10.317383766174316 + ], + [ + "sta", + -10.318868637084961 + ], + [ + "▁challenges", + -10.319018363952637 + ], + [ + "inte", + -10.319074630737305 + ], + [ + "▁Euro", + -10.319075584411621 + ], + [ + "▁classic", + -10.320341110229492 + ], + [ + "▁Um", + -10.320767402648926 + ], + [ + "▁alternative", + -10.321407318115234 + ], + [ + "mann", + -10.321614265441895 + ], + [ + "▁Une", + -10.322278022766113 + ], + [ + "qu", + -10.322415351867676 + ], + [ + "▁heavy", + -10.322434425354004 + ], + [ + "▁install", + -10.322484970092773 + ], + [ + "▁fiind", + -10.322504043579102 + ], + [ + "▁leaders", + -10.323003768920898 + ], + [ + "▁views", + -10.323019981384277 + ], + [ + "▁www", + -10.323084831237793 + ], + [ + "▁standards", + -10.323270797729492 + ], + [ + "ong", + -10.323580741882324 + ], + [ + "40", + -10.323833465576172 + ], + [ + "▁cm", + -10.323848724365234 + ], + [ + "▁park", + -10.324324607849121 + ], + [ + "▁himself", + -10.324419021606445 + ], + [ + "▁People", + -10.324649810791016 + ], + [ + "▁separate", + -10.324843406677246 + ], + [ + "▁secure", + -10.325018882751465 + ], + [ + "sie", + -10.325084686279297 + ], + [ + "▁maintenance", + -10.325199127197266 + ], + [ + "▁encourage", + -10.32766056060791 + ], + [ + "ein", + -10.328139305114746 + ], + [ + "▁reviews", + -10.328202247619629 + ], + [ + "▁Michael", + -10.328210830688477 + ], + [ + "▁background", + -10.328283309936523 + ], + [ + "▁therefore", + -10.328433990478516 + ], + [ + "▁server", + -10.328487396240234 + ], + [ + "▁dream", + -10.328742027282715 + ], + [ + "ping", + -10.329025268554688 + ], + [ + "▁block", + -10.329855918884277 + ], + [ + "▁2009", + -10.330734252929688 + ], + [ + "▁facilities", + -10.330931663513184 + ], + [ + "▁II", + -10.331367492675781 + ], + [ + "▁attend", + -10.33156967163086 + ], + [ + "▁cap", + -10.33224105834961 + ], + [ + "35", + -10.332416534423828 + ], + [ + "▁steel", + -10.332796096801758 + ], + [ + "▁shared", + -10.333391189575195 + ], + [ + "▁doctor", + -10.333939552307129 + ], + [ + "▁River", + -10.33411693572998 + ], + [ + "▁Bay", + -10.334456443786621 + ], + [ + "▁length", + -10.335005760192871 + ], + [ + "▁jobs", + -10.335466384887695 + ], + [ + "▁Plus", + -10.335992813110352 + ], + [ + "▁station", + -10.336140632629395 + ], + [ + "▁elements", + -10.336268424987793 + ], + [ + "▁rock", + -10.336668014526367 + ], + [ + "▁professionals", + -10.336670875549316 + ], + [ + "cle", + -10.336777687072754 + ], + [ + "▁dont", + -10.336873054504395 + ], + [ + "urilor", + -10.337142944335938 + ], + [ + "▁gain", + -10.337271690368652 + ], + [ + "▁programme", + -10.337540626525879 + ], + [ + "▁Cor", + -10.338377952575684 + ], + [ + "▁leader", + -10.338542938232422 + ], + [ + "ării", + -10.33876895904541 + ], + [ + "▁>", + -10.339137077331543 + ], + [ + "▁task", + -10.339471817016602 + ], + [ + "▁seeing", + -10.339943885803223 + ], + [ + "▁statement", + -10.34045696258545 + ], + [ + "vin", + -10.341094017028809 + ], + [ + "▁fish", + -10.341700553894043 + ], + [ + "▁advanced", + -10.342403411865234 + ], + [ + "▁discuss", + -10.342494010925293 + ], + [ + "die", + -10.342904090881348 + ], + [ + "isch", + -10.342944145202637 + ], + [ + "▁plenty", + -10.342947959899902 + ], + [ + "▁Hall", + -10.343120574951172 + ], + [ + "▁Other", + -10.343339920043945 + ], + [ + "▁homes", + -10.344944953918457 + ], + [ + "▁Ni", + -10.345016479492188 + ], + [ + "▁testing", + -10.345102310180664 + ], + [ + "▁Last", + -10.345392227172852 + ], + [ + "▁Note", + -10.345595359802246 + ], + [ + "▁talking", + -10.345934867858887 + ], + [ + "▁exchange", + -10.347042083740234 + ], + [ + "▁exercise", + -10.347189903259277 + ], + [ + "▁cea", + -10.347546577453613 + ], + [ + "▁wife", + -10.34820556640625 + ], + [ + "▁Für", + -10.348480224609375 + ], + [ + "▁Texas", + -10.34981918334961 + ], + [ + "▁fr", + -10.35065746307373 + ], + [ + "▁speak", + -10.350894927978516 + ], + [ + "17", + -10.351007461547852 + ], + [ + "70", + -10.351462364196777 + ], + [ + "▁promote", + -10.351851463317871 + ], + [ + "tul", + -10.351990699768066 + ], + [ + "apos", + -10.35208511352539 + ], + [ + "▁Jahr", + -10.35214900970459 + ], + [ + "▁Trump", + -10.352204322814941 + ], + [ + "▁ohne", + -10.352357864379883 + ], + [ + "▁learned", + -10.353700637817383 + ], + [ + "▁Sp", + -10.353803634643555 + ], + [ + "▁owner", + -10.354275703430176 + ], + [ + "mor", + -10.354422569274902 + ], + [ + "▁fois", + -10.354452133178711 + ], + [ + "▁meaning", + -10.35518741607666 + ], + [ + "▁dacă", + -10.355249404907227 + ], + [ + "nic", + -10.355484008789062 + ], + [ + "а", + -10.355525970458984 + ], + [ + "14", + -10.355767250061035 + ], + [ + "▁driver", + -10.356258392333984 + ], + [ + "▁Amazon", + -10.3567533493042 + ], + [ + "▁flow", + -10.358469009399414 + ], + [ + "▁shot", + -10.358726501464844 + ], + [ + "▁sous", + -10.35914421081543 + ], + [ + "▁Gold", + -10.359339714050293 + ], + [ + "▁straight", + -10.359562873840332 + ], + [ + "▁conference", + -10.359610557556152 + ], + [ + "▁peste", + -10.359662055969238 + ], + [ + "whose", + -10.36030101776123 + ], + [ + "▁installation", + -10.36050796508789 + ], + [ + "▁produced", + -10.360607147216797 + ], + [ + "▁independent", + -10.36192512512207 + ], + [ + "▁Institute", + -10.362021446228027 + ], + [ + "▁James", + -10.362373352050781 + ], + [ + "▁mental", + -10.362601280212402 + ], + [ + "ara", + -10.362798690795898 + ], + [ + "ium", + -10.363021850585938 + ], + [ + "▁husband", + -10.36306095123291 + ], + [ + "▁guests", + -10.363907814025879 + ], + [ + "27", + -10.364319801330566 + ], + [ + "▁Che", + -10.364651679992676 + ], + [ + "▁Indian", + -10.364694595336914 + ], + [ + "zer", + -10.36478042602539 + ], + [ + "▁minimum", + -10.364962577819824 + ], + [ + "500", + -10.365096092224121 + ], + [ + "▁sit", + -10.36561393737793 + ], + [ + "put", + -10.36656379699707 + ], + [ + "▁avea", + -10.36665153503418 + ], + [ + "▁ride", + -10.367088317871094 + ], + [ + "gan", + -10.367152214050293 + ], + [ + "▁Ke", + -10.36747932434082 + ], + [ + "book", + -10.367515563964844 + ], + [ + "ages", + -10.368019104003906 + ], + [ + "▁presented", + -10.368157386779785 + ], + [ + "▁Com", + -10.368927955627441 + ], + [ + "▁Call", + -10.369053840637207 + ], + [ + "▁fee", + -10.369847297668457 + ], + [ + "ări", + -10.369905471801758 + ], + [ + "▁putea", + -10.37072467803955 + ], + [ + "▁Public", + -10.371030807495117 + ], + [ + "▁pa", + -10.371152877807617 + ], + [ + "28", + -10.371233940124512 + ], + [ + "▁Director", + -10.37126350402832 + ], + [ + "▁contains", + -10.3717622756958 + ], + [ + "▁factors", + -10.372554779052734 + ], + [ + "▁famous", + -10.372614860534668 + ], + [ + "▁bathroom", + -10.373040199279785 + ], + [ + "▁core", + -10.37353229522705 + ], + [ + "▁viele", + -10.373610496520996 + ], + [ + "▁acum", + -10.374361991882324 + ], + [ + "▁animal", + -10.374407768249512 + ], + [ + "▁Ihnen", + -10.374425888061523 + ], + [ + "▁Find", + -10.374545097351074 + ], + [ + "▁Fall", + -10.374861717224121 + ], + [ + "ford", + -10.376051902770996 + ], + [ + "▁coverage", + -10.3765287399292 + ], + [ + "▁smart", + -10.376830101013184 + ], + [ + "ries", + -10.376893997192383 + ], + [ + "▁memory", + -10.3772554397583 + ], + [ + "▁dance", + -10.377443313598633 + ], + [ + "11", + -10.37746810913086 + ], + [ + "▁communities", + -10.377655982971191 + ], + [ + "eurs", + -10.378050804138184 + ], + [ + "▁Florida", + -10.378463745117188 + ], + [ + "▁sport", + -10.379366874694824 + ], + [ + "▁bus", + -10.37992000579834 + ], + [ + "▁colors", + -10.379969596862793 + ], + [ + "▁affect", + -10.380044937133789 + ], + [ + "▁score", + -10.380183219909668 + ], + [ + "▁properties", + -10.38050365447998 + ], + [ + "18", + -10.380593299865723 + ], + [ + "▁astfel", + -10.381312370300293 + ], + [ + "▁beach", + -10.382407188415527 + ], + [ + "▁friendly", + -10.382795333862305 + ], + [ + "izing", + -10.38288688659668 + ], + [ + "▁buying", + -10.383146286010742 + ], + [ + "▁forget", + -10.383195877075195 + ], + [ + "este", + -10.383198738098145 + ], + [ + "▁capacity", + -10.38360595703125 + ], + [ + "▁lose", + -10.383692741394043 + ], + [ + "▁listed", + -10.38407039642334 + ], + [ + "ica", + -10.384084701538086 + ], + [ + "han", + -10.384085655212402 + ], + [ + "▁selbst", + -10.384390830993652 + ], + [ + "▁values", + -10.384391784667969 + ], + [ + "▁Power", + -10.384559631347656 + ], + [ + "▁comments", + -10.384831428527832 + ], + [ + "eux", + -10.385346412658691 + ], + [ + "ați", + -10.385419845581055 + ], + [ + "▁context", + -10.385710716247559 + ], + [ + "liche", + -10.385944366455078 + ], + [ + "▁keeping", + -10.38620662689209 + ], + [ + "▁2008", + -10.38647174835205 + ], + [ + "▁su", + -10.386670112609863 + ], + [ + "▁biggest", + -10.386838912963867 + ], + [ + "▁fiecare", + -10.387356758117676 + ], + [ + "ight", + -10.38845157623291 + ], + [ + "▁toute", + -10.389808654785156 + ], + [ + "▁dinner", + -10.389827728271484 + ], + [ + "bau", + -10.390706062316895 + ], + [ + "▁Mai", + -10.390762329101562 + ], + [ + "▁status", + -10.390776634216309 + ], + [ + "rez", + -10.391340255737305 + ], + [ + "▁selected", + -10.391549110412598 + ], + [ + "▁cells", + -10.392601013183594 + ], + [ + "▁eight", + -10.393319129943848 + ], + [ + "▁package", + -10.393320083618164 + ], + [ + "▁scale", + -10.39333724975586 + ], + [ + "din", + -10.39336109161377 + ], + [ + "▁Who", + -10.393381118774414 + ], + [ + "▁century", + -10.393399238586426 + ], + [ + "▁bi", + -10.393516540527344 + ], + [ + "▁Africa", + -10.39384937286377 + ], + [ + "▁http", + -10.394133567810059 + ], + [ + "▁named", + -10.394230842590332 + ], + [ + "▁adding", + -10.394901275634766 + ], + [ + "▁mention", + -10.395039558410645 + ], + [ + "▁casino", + -10.395421981811523 + ], + [ + "▁couldn", + -10.395624160766602 + ], + [ + "▁outdoor", + -10.395912170410156 + ], + [ + "▁sugar", + -10.3960542678833 + ], + [ + "▁prepared", + -10.396124839782715 + ], + [ + "21", + -10.396528244018555 + ], + [ + "▁Ba", + -10.396632194519043 + ], + [ + "vers", + -10.396697998046875 + ], + [ + "ration", + -10.396773338317871 + ], + [ + "▁ja", + -10.397035598754883 + ], + [ + "▁aspect", + -10.397224426269531 + ], + [ + "▁31", + -10.397462844848633 + ], + [ + "▁treat", + -10.397475242614746 + ], + [ + "tru", + -10.397841453552246 + ], + [ + "▁flat", + -10.397890090942383 + ], + [ + "32", + -10.397989273071289 + ], + [ + "▁reality", + -10.398238182067871 + ], + [ + "▁waste", + -10.39876937866211 + ], + [ + "▁King", + -10.399649620056152 + ], + [ + "▁drug", + -10.399870872497559 + ], + [ + "▁operations", + -10.400120735168457 + ], + [ + "▁aim", + -10.40042495727539 + ], + [ + "▁fans", + -10.400444984436035 + ], + [ + "▁vers", + -10.400891304016113 + ], + [ + "▁plants", + -10.400971412658691 + ], + [ + "▁Dis", + -10.401477813720703 + ], + [ + "▁Daten", + -10.401510238647461 + ], + [ + "être", + -10.40267276763916 + ], + [ + "▁placed", + -10.40326976776123 + ], + [ + "▁bon", + -10.403977394104004 + ], + [ + "beim", + -10.4041109085083 + ], + [ + "▁slow", + -10.40501880645752 + ], + [ + "cri", + -10.405512809753418 + ], + [ + "▁Care", + -10.405691146850586 + ], + [ + "mes", + -10.406211853027344 + ], + [ + "26", + -10.406257629394531 + ], + [ + "box", + -10.406330108642578 + ], + [ + "▁helpful", + -10.406362533569336 + ], + [ + "▁documents", + -10.406543731689453 + ], + [ + "▁visitors", + -10.406773567199707 + ], + [ + "ture", + -10.406862258911133 + ], + [ + "▁Menschen", + -10.406891822814941 + ], + [ + "▁Chi", + -10.406975746154785 + ], + [ + "▁recipe", + -10.40764045715332 + ], + [ + "▁kept", + -10.407693862915039 + ], + [ + "▁Grand", + -10.407915115356445 + ], + [ + "▁operating", + -10.408178329467773 + ], + [ + "point", + -10.408329010009766 + ], + [ + "▁bin", + -10.40837287902832 + ], + [ + "▁Tri", + -10.40845775604248 + ], + [ + "Be", + -10.408512115478516 + ], + [ + "▁experiences", + -10.40856647491455 + ], + [ + "▁academic", + -10.408608436584473 + ], + [ + "▁finden", + -10.40870475769043 + ], + [ + "▁sera", + -10.409092903137207 + ], + [ + "act", + -10.410541534423828 + ], + [ + "▁Pa", + -10.410907745361328 + ], + [ + "▁society", + -10.411056518554688 + ], + [ + "▁combination", + -10.411237716674805 + ], + [ + "5%", + -10.41182804107666 + ], + [ + "▁owners", + -10.41188907623291 + ], + [ + "▁poor", + -10.412039756774902 + ], + [ + "▁Robert", + -10.412378311157227 + ], + [ + "▁military", + -10.412964820861816 + ], + [ + "▁economy", + -10.413033485412598 + ], + [ + "▁aware", + -10.413055419921875 + ], + [ + "rot", + -10.413443565368652 + ], + [ + "mie", + -10.413544654846191 + ], + [ + "▁Thursday", + -10.414399147033691 + ], + [ + "▁2011", + -10.41490650177002 + ], + [ + "▁fantastic", + -10.41554069519043 + ], + [ + "▁numerous", + -10.415921211242676 + ], + [ + "▁fair", + -10.4165620803833 + ], + [ + "med", + -10.416753768920898 + ], + [ + "▁welche", + -10.416893005371094 + ], + [ + "▁fruit", + -10.41712760925293 + ], + [ + "ku", + -10.417325019836426 + ], + [ + "▁Social", + -10.417583465576172 + ], + [ + "▁funds", + -10.418157577514648 + ], + [ + "▁atunci", + -10.418214797973633 + ], + [ + "▁Part", + -10.418238639831543 + ], + [ + "▁Big", + -10.418301582336426 + ], + [ + "▁2010", + -10.419414520263672 + ], + [ + "▁detail", + -10.419889450073242 + ], + [ + "▁Peter", + -10.419942855834961 + ], + [ + "ani", + -10.420196533203125 + ], + [ + "▁Wie", + -10.420795440673828 + ], + [ + "▁Tu", + -10.421649932861328 + ], + [ + "ear", + -10.421706199645996 + ], + [ + "▁Wenn", + -10.421941757202148 + ], + [ + "▁manager", + -10.42199993133545 + ], + [ + "▁Dan", + -10.422409057617188 + ], + [ + "▁Pi", + -10.42257308959961 + ], + [ + "▁wants", + -10.422652244567871 + ], + [ + "▁Data", + -10.42322826385498 + ], + [ + "pos", + -10.42387580871582 + ], + [ + "▁older", + -10.423946380615234 + ], + [ + "▁Download", + -10.424071311950684 + ], + [ + "▁Was", + -10.424107551574707 + ], + [ + "▁corner", + -10.424195289611816 + ], + [ + "▁president", + -10.424199104309082 + ], + [ + "mas", + -10.424248695373535 + ], + [ + "▁smaller", + -10.424361228942871 + ], + [ + "▁bright", + -10.424459457397461 + ], + [ + "▁proper", + -10.424582481384277 + ], + [ + "▁Kinder", + -10.424637794494629 + ], + [ + "▁Two", + -10.424668312072754 + ], + [ + "▁award", + -10.42471694946289 + ], + [ + "▁premier", + -10.425211906433105 + ], + [ + "▁seek", + -10.425646781921387 + ], + [ + "▁thank", + -10.425662994384766 + ], + [ + "▁proud", + -10.426509857177734 + ], + [ + "▁workers", + -10.426774024963379 + ], + [ + "▁2000", + -10.426970481872559 + ], + [ + "▁gone", + -10.427482604980469 + ], + [ + "▁medium", + -10.427693367004395 + ], + [ + "▁grade", + -10.42777156829834 + ], + [ + "▁Ru", + -10.427800178527832 + ], + [ + "cro", + -10.427851676940918 + ], + [ + "▁interview", + -10.428311347961426 + ], + [ + "23", + -10.428787231445312 + ], + [ + "▁mari", + -10.429442405700684 + ], + [ + "▁80", + -10.429756164550781 + ], + [ + "▁Ga", + -10.430047035217285 + ], + [ + "▁90", + -10.431839942932129 + ], + [ + "▁anderen", + -10.432605743408203 + ], + [ + "▁cultural", + -10.433018684387207 + ], + [ + "but", + -10.433144569396973 + ], + [ + "rum", + -10.433300018310547 + ], + [ + "get", + -10.43338680267334 + ], + [ + "▁pop", + -10.433582305908203 + ], + [ + "▁Information", + -10.433594703674316 + ], + [ + "▁press", + -10.434972763061523 + ], + [ + "▁Project", + -10.435359001159668 + ], + [ + "▁excited", + -10.435755729675293 + ], + [ + "▁Saint", + -10.436088562011719 + ], + [ + "▁England", + -10.436192512512207 + ], + [ + "▁beauty", + -10.43643856048584 + ], + [ + "▁agreement", + -10.436464309692383 + ], + [ + "▁Like", + -10.437565803527832 + ], + [ + "▁strength", + -10.437664985656738 + ], + [ + "▁waiting", + -10.438165664672852 + ], + [ + "и", + -10.438270568847656 + ], + [ + "Le", + -10.438329696655273 + ], + [ + "▁residents", + -10.43835735321045 + ], + [ + "▁Ben", + -10.438603401184082 + ], + [ + "▁mentioned", + -10.439260482788086 + ], + [ + "▁etwas", + -10.43930721282959 + ], + [ + "▁rooms", + -10.439347267150879 + ], + [ + "▁neue", + -10.439501762390137 + ], + [ + "▁Microsoft", + -10.439726829528809 + ], + [ + "▁passed", + -10.440205574035645 + ], + [ + "▁sea", + -10.440893173217773 + ], + [ + "▁electric", + -10.441244125366211 + ], + [ + "▁forms", + -10.441384315490723 + ], + [ + "▁Central", + -10.441597938537598 + ], + [ + "▁Lord", + -10.442625999450684 + ], + [ + "ute", + -10.442763328552246 + ], + [ + "▁pré", + -10.442790031433105 + ], + [ + "▁square", + -10.44308090209961 + ], + [ + "itatea", + -10.443451881408691 + ], + [ + "▁debt", + -10.443757057189941 + ], + [ + "▁street", + -10.443975448608398 + ], + [ + "▁pi", + -10.444917678833008 + ], + [ + "▁happened", + -10.445326805114746 + ], + [ + "▁Tuesday", + -10.445592880249023 + ], + [ + "recht", + -10.446094512939453 + ], + [ + "▁Eine", + -10.44627857208252 + ], + [ + "▁Set", + -10.446768760681152 + ], + [ + "▁federal", + -10.4468412399292 + ], + [ + "CC", + -10.446905136108398 + ], + [ + "....", + -10.446938514709473 + ], + [ + "lig", + -10.447463035583496 + ], + [ + "▁Christian", + -10.44870662689209 + ], + [ + "▁truth", + -10.449213981628418 + ], + [ + "▁map", + -10.449728012084961 + ], + [ + "▁secret", + -10.449979782104492 + ], + [ + "▁Chinese", + -10.450844764709473 + ], + [ + "hol", + -10.450895309448242 + ], + [ + "▁wrote", + -10.451505661010742 + ], + [ + "▁hospital", + -10.451783180236816 + ], + [ + "▁Island", + -10.451870918273926 + ], + [ + "▁frame", + -10.451946258544922 + ], + [ + "▁sources", + -10.452117919921875 + ], + [ + "pan", + -10.453242301940918 + ], + [ + "▁29", + -10.453530311584473 + ], + [ + "▁changing", + -10.454547882080078 + ], + [ + "▁Where", + -10.454627990722656 + ], + [ + "▁negative", + -10.45471477508545 + ], + [ + "▁processes", + -10.45491886138916 + ], + [ + "▁leadership", + -10.455029487609863 + ], + [ + "▁nos", + -10.455195426940918 + ], + [ + "▁info", + -10.455780029296875 + ], + [ + "▁Gu", + -10.45595645904541 + ], + [ + "▁CO", + -10.45605182647705 + ], + [ + "▁reference", + -10.456884384155273 + ], + [ + "▁corporate", + -10.457097053527832 + ], + [ + "▁characters", + -10.457563400268555 + ], + [ + "▁dining", + -10.4577054977417 + ], + [ + "▁becoming", + -10.459708213806152 + ], + [ + "▁4.", + -10.460311889648438 + ], + [ + "▁Science", + -10.460626602172852 + ], + [ + "▁Education", + -10.461943626403809 + ], + [ + "▁camp", + -10.46207046508789 + ], + [ + "fall", + -10.462146759033203 + ], + [ + "▁Auch", + -10.462471961975098 + ], + [ + "▁topic", + -10.462519645690918 + ], + [ + "▁influence", + -10.463460922241211 + ], + [ + "▁70", + -10.463892936706543 + ], + [ + "▁identify", + -10.464459419250488 + ], + [ + "▁(19", + -10.464646339416504 + ], + [ + "care", + -10.465216636657715 + ], + [ + "ions", + -10.466215133666992 + ], + [ + "ray", + -10.4663724899292 + ], + [ + "▁Both", + -10.466577529907227 + ], + [ + "▁collect", + -10.466997146606445 + ], + [ + "▁practices", + -10.467667579650879 + ], + [ + "▁fight", + -10.468058586120605 + ], + [ + "▁injury", + -10.46873664855957 + ], + [ + "▁nici", + -10.46905517578125 + ], + [ + "▁depuis", + -10.469563484191895 + ], + [ + "▁actions", + -10.469609260559082 + ], + [ + "▁Wednesday", + -10.47089958190918 + ], + [ + "▁bill", + -10.471086502075195 + ], + [ + "▁cheap", + -10.471318244934082 + ], + [ + "lui", + -10.471719741821289 + ], + [ + "▁awesome", + -10.471731185913086 + ], + [ + "tig", + -10.472554206848145 + ], + [ + "▁expensive", + -10.472636222839355 + ], + [ + "ceea", + -10.472834587097168 + ], + [ + "▁exact", + -10.472907066345215 + ], + [ + "22", + -10.473462104797363 + ], + [ + "▁avant", + -10.47352123260498 + ], + [ + "▁fat", + -10.47353744506836 + ], + [ + "▁spending", + -10.474353790283203 + ], + [ + "▁designs", + -10.47608470916748 + ], + [ + "▁damit", + -10.4761323928833 + ], + [ + "▁comp", + -10.47619342803955 + ], + [ + "▁whatever", + -10.476434707641602 + ], + [ + "▁Light", + -10.476442337036133 + ], + [ + "▁quarter", + -10.47680377960205 + ], + [ + "hand", + -10.477301597595215 + ], + [ + "▁connected", + -10.477584838867188 + ], + [ + "▁technologies", + -10.47772216796875 + ], + [ + "ges", + -10.477808952331543 + ], + [ + "▁shower", + -10.478998184204102 + ], + [ + "▁500", + -10.47923469543457 + ], + [ + "▁Time", + -10.479436874389648 + ], + [ + "▁zone", + -10.480525970458984 + ], + [ + "▁vote", + -10.480624198913574 + ], + [ + "▁andere", + -10.480871200561523 + ], + [ + "▁otherwise", + -10.480988502502441 + ], + [ + "tur", + -10.481294631958008 + ], + [ + "▁happens", + -10.481504440307617 + ], + [ + "hin", + -10.481597900390625 + ], + [ + "▁volume", + -10.482161521911621 + ], + [ + "▁thousands", + -10.482391357421875 + ], + [ + "war", + -10.482551574707031 + ], + [ + "▁Play", + -10.482900619506836 + ], + [ + "▁temperature", + -10.48371410369873 + ], + [ + "▁industrial", + -10.483830451965332 + ], + [ + "▁fuel", + -10.483915328979492 + ], + [ + "100", + -10.48409366607666 + ], + [ + "top", + -10.484210014343262 + ], + [ + "kin", + -10.484312057495117 + ], + [ + "▁efficient", + -10.484414100646973 + ], + [ + "teil", + -10.484525680541992 + ], + [ + "alt", + -10.484578132629395 + ], + [ + "▁monde", + -10.48483657836914 + ], + [ + "▁Ra", + -10.484899520874023 + ], + [ + "▁bedroom", + -10.485103607177734 + ], + [ + "▁showing", + -10.485316276550293 + ], + [ + "▁continued", + -10.485490798950195 + ], + [ + "▁Plan", + -10.48552131652832 + ], + [ + "▁assistance", + -10.486014366149902 + ], + [ + "▁discover", + -10.48622989654541 + ], + [ + "▁Year", + -10.486238479614258 + ], + [ + "▁applied", + -10.486433029174805 + ], + [ + "▁audio", + -10.48755931854248 + ], + [ + "▁thus", + -10.487645149230957 + ], + [ + "▁permet", + -10.48806095123291 + ], + [ + "▁fashion", + -10.488532066345215 + ], + [ + "cra", + -10.488645553588867 + ], + [ + "ious", + -10.488700866699219 + ], + [ + "▁focused", + -10.489258766174316 + ], + [ + "16", + -10.48930549621582 + ], + [ + "▁arm", + -10.489364624023438 + ], + [ + "▁Their", + -10.489789962768555 + ], + [ + "▁Foundation", + -10.49022388458252 + ], + [ + "▁majority", + -10.49022388458252 + ], + [ + "▁wind", + -10.490785598754883 + ], + [ + "▁bought", + -10.491056442260742 + ], + [ + "▁factor", + -10.491918563842773 + ], + [ + "▁opened", + -10.49213695526123 + ], + [ + "tern", + -10.492374420166016 + ], + [ + "▁cars", + -10.492597579956055 + ], + [ + "▁exciting", + -10.492691040039062 + ], + [ + "▁affordable", + -10.493510246276855 + ], + [ + "ches", + -10.493563652038574 + ], + [ + "▁panel", + -10.493720054626465 + ], + [ + "▁caused", + -10.493793487548828 + ], + [ + "▁travail", + -10.493998527526855 + ], + [ + "▁roof", + -10.494073867797852 + ], + [ + "▁enable", + -10.494202613830566 + ], + [ + "▁toward", + -10.494491577148438 + ], + [ + "▁Development", + -10.494688987731934 + ], + [ + "▁foreign", + -10.495308876037598 + ], + [ + "avi", + -10.495320320129395 + ], + [ + "long", + -10.495328903198242 + ], + [ + "De", + -10.49578857421875 + ], + [ + "▁Mon", + -10.49588394165039 + ], + [ + "▁Va", + -10.495942115783691 + ], + [ + "AP", + -10.496097564697266 + ], + [ + "▁asta", + -10.49720573425293 + ], + [ + "▁prepare", + -10.497220993041992 + ], + [ + "▁German", + -10.497261047363281 + ], + [ + "▁Centre", + -10.497325897216797 + ], + [ + "ère", + -10.497367858886719 + ], + [ + "▁fear", + -10.497537612915039 + ], + [ + "▁Este", + -10.497878074645996 + ], + [ + "▁Des", + -10.49793529510498 + ], + [ + "▁Kon", + -10.499308586120605 + ], + [ + "á", + -10.499866485595703 + ], + [ + "stand", + -10.500805854797363 + ], + [ + "▁Real", + -10.500842094421387 + ], + [ + "lichen", + -10.50098705291748 + ], + [ + "▁Beach", + -10.501455307006836 + ], + [ + "▁expertise", + -10.50185775756836 + ], + [ + "▁route", + -10.502445220947266 + ], + [ + "▁nation", + -10.502551078796387 + ], + [ + "▁snow", + -10.503022193908691 + ], + [ + "▁articles", + -10.503127098083496 + ], + [ + "▁Wood", + -10.504426956176758 + ], + [ + "▁operation", + -10.50494384765625 + ], + [ + "▁passion", + -10.505215644836426 + ], + [ + "▁cand", + -10.505690574645996 + ], + [ + "haus", + -10.505701065063477 + ], + [ + "OR", + -10.505711555480957 + ], + [ + "▁senior", + -10.506511688232422 + ], + [ + "▁becomes", + -10.506546020507812 + ], + [ + "▁sounds", + -10.506878852844238 + ], + [ + "▁enjoyed", + -10.50704574584961 + ], + [ + "▁gegen", + -10.507533073425293 + ], + [ + "▁courses", + -10.507919311523438 + ], + [ + "▁absolutely", + -10.508257865905762 + ], + [ + "tim", + -10.508264541625977 + ], + [ + "uff", + -10.508516311645508 + ], + [ + "▁moins", + -10.50860595703125 + ], + [ + "▁TO", + -10.509060859680176 + ], + [ + "▁fabric", + -10.509267807006836 + ], + [ + "poli", + -10.509326934814453 + ], + [ + "▁Bre", + -10.509761810302734 + ], + [ + "▁bo", + -10.509916305541992 + ], + [ + "▁Elle", + -10.510469436645508 + ], + [ + "bu", + -10.512336730957031 + ], + [ + "▁participants", + -10.512401580810547 + ], + [ + "stone", + -10.512794494628906 + ], + [ + "ties", + -10.51366138458252 + ], + [ + "▁listen", + -10.513700485229492 + ], + [ + "▁Spiel", + -10.513752937316895 + ], + [ + "pot", + -10.513872146606445 + ], + [ + "▁selling", + -10.514358520507812 + ], + [ + "▁geht", + -10.514680862426758 + ], + [ + "▁mini", + -10.515146255493164 + ], + [ + "▁trans", + -10.515408515930176 + ], + [ + "▁ingredients", + -10.515642166137695 + ], + [ + "auf", + -10.515671730041504 + ], + [ + "▁orice", + -10.51595401763916 + ], + [ + "▁Next", + -10.516300201416016 + ], + [ + "▁cream", + -10.516756057739258 + ], + [ + "▁edge", + -10.516973495483398 + ], + [ + "▁recommended", + -10.517022132873535 + ], + [ + "▁Form", + -10.517277717590332 + ], + [ + "▁processing", + -10.51746940612793 + ], + [ + "vert", + -10.517709732055664 + ], + [ + "▁described", + -10.518362998962402 + ], + [ + "▁installed", + -10.51884937286377 + ], + [ + "▁managed", + -10.518952369689941 + ], + [ + "▁electronic", + -10.518966674804688 + ], + [ + "▁performed", + -10.519064903259277 + ], + [ + "▁raise", + -10.519098281860352 + ], + [ + "▁imagine", + -10.519281387329102 + ], + [ + "down", + -10.51952838897705 + ], + [ + "▁fond", + -10.519978523254395 + ], + [ + "▁Inter", + -10.520434379577637 + ], + [ + "▁Mc", + -10.520550727844238 + ], + [ + "▁Dans", + -10.520679473876953 + ], + [ + "istic", + -10.520966529846191 + ], + [ + "▁miss", + -10.521052360534668 + ], + [ + "sur", + -10.521062850952148 + ], + [ + "▁Col", + -10.521879196166992 + ], + [ + "cut", + -10.522021293640137 + ], + [ + "▁dupa", + -10.522160530090332 + ], + [ + "▁Twitter", + -10.522604942321777 + ], + [ + "▁bowl", + -10.523721694946289 + ], + [ + "▁remains", + -10.5237455368042 + ], + [ + "▁Jan", + -10.524046897888184 + ], + [ + "▁smooth", + -10.524162292480469 + ], + [ + "▁fees", + -10.524415969848633 + ], + [ + "▁aid", + -10.524494171142578 + ], + [ + "▁presence", + -10.524827003479004 + ], + [ + "▁Android", + -10.52499771118164 + ], + [ + "▁decisions", + -10.52539348602295 + ], + [ + "▁names", + -10.5254487991333 + ], + [ + "▁Music", + -10.525546073913574 + ], + [ + "▁innovative", + -10.525578498840332 + ], + [ + "▁Tom", + -10.525997161865234 + ], + [ + "▁spread", + -10.526165962219238 + ], + [ + "▁lovely", + -10.526222229003906 + ], + [ + "▁daughter", + -10.526397705078125 + ], + [ + "US", + -10.527050971984863 + ], + [ + "▁facility", + -10.52710247039795 + ], + [ + "▁peace", + -10.527105331420898 + ], + [ + "▁department", + -10.527277946472168 + ], + [ + "▁weiter", + -10.527591705322266 + ], + [ + "▁Sun", + -10.527756690979004 + ], + [ + "▁fund", + -10.527772903442383 + ], + [ + "▁2018.", + -10.52792739868164 + ], + [ + "▁discussion", + -10.528186798095703 + ], + [ + "75", + -10.528799057006836 + ], + [ + "EC", + -10.529126167297363 + ], + [ + "▁lunch", + -10.529144287109375 + ], + [ + "▁videos", + -10.52927017211914 + ], + [ + "05", + -10.531253814697266 + ], + [ + "ige", + -10.531266212463379 + ], + [ + "▁parking", + -10.531564712524414 + ], + [ + "▁relationships", + -10.531732559204102 + ], + [ + "▁George", + -10.532986640930176 + ], + [ + "▁teachers", + -10.53299617767334 + ], + [ + "room", + -10.533458709716797 + ], + [ + "▁Tra", + -10.533605575561523 + ], + [ + "▁Sam", + -10.533651351928711 + ], + [ + "▁properly", + -10.535590171813965 + ], + [ + "▁Book", + -10.535629272460938 + ], + [ + "▁CA", + -10.536957740783691 + ], + [ + "▁calls", + -10.53756046295166 + ], + [ + "▁stat", + -10.538175582885742 + ], + [ + "ux", + -10.538220405578613 + ], + [ + "▁soit", + -10.538439750671387 + ], + [ + "▁Community", + -10.538684844970703 + ], + [ + "▁Jahren", + -10.538714408874512 + ], + [ + "▁increasing", + -10.539575576782227 + ], + [ + "▁civil", + -10.540184020996094 + ], + [ + "app", + -10.540573120117188 + ], + [ + "▁35", + -10.540589332580566 + ], + [ + "▁rise", + -10.540600776672363 + ], + [ + "▁dabei", + -10.540989875793457 + ], + [ + "▁studio", + -10.541803359985352 + ], + [ + "▁policies", + -10.542054176330566 + ], + [ + "▁agent", + -10.542055130004883 + ], + [ + "▁Before", + -10.542601585388184 + ], + [ + "▁Cal", + -10.543017387390137 + ], + [ + "▁2005", + -10.543404579162598 + ], + [ + "▁sample", + -10.543777465820312 + ], + [ + "▁manner", + -10.545186996459961 + ], + [ + "wing", + -10.54521369934082 + ], + [ + "stra", + -10.545552253723145 + ], + [ + "▁fel", + -10.545793533325195 + ], + [ + "▁Show", + -10.545952796936035 + ], + [ + "▁scene", + -10.54656982421875 + ], + [ + "mic", + -10.546764373779297 + ], + [ + "nom", + -10.546995162963867 + ], + [ + "▁typically", + -10.547088623046875 + ], + [ + "▁pair", + -10.547104835510254 + ], + [ + "▁detailed", + -10.547394752502441 + ], + [ + "▁Work", + -10.547422409057617 + ], + [ + "▁cities", + -10.547451972961426 + ], + [ + "▁Rock", + -10.54749584197998 + ], + [ + "▁Gar", + -10.547906875610352 + ], + [ + "▁serving", + -10.548352241516113 + ], + [ + "▁machen", + -10.548521995544434 + ], + [ + "▁trees", + -10.54888916015625 + ], + [ + "▁accident", + -10.549199104309082 + ], + [ + "▁cloud", + -10.54920482635498 + ], + [ + "▁animals", + -10.549297332763672 + ], + [ + "▁Den", + -10.549897193908691 + ], + [ + "▁Wa", + -10.54990291595459 + ], + [ + "▁suggest", + -10.550220489501953 + ], + [ + "putting", + -10.550407409667969 + ], + [ + "▁suite", + -10.550434112548828 + ], + [ + "▁clearly", + -10.550849914550781 + ], + [ + "▁net", + -10.551287651062012 + ], + [ + "▁funding", + -10.551506996154785 + ], + [ + "▁salt", + -10.551935195922852 + ], + [ + "▁Men", + -10.552119255065918 + ], + [ + "ped", + -10.552419662475586 + ], + [ + "▁Food", + -10.553142547607422 + ], + [ + "▁leaving", + -10.553544998168945 + ], + [ + "▁Government", + -10.554243087768555 + ], + [ + "ick", + -10.554381370544434 + ], + [ + "▁seat", + -10.555121421813965 + ], + [ + "▁Los", + -10.555183410644531 + ], + [ + "▁teacher", + -10.555587768554688 + ], + [ + "▁iPhone", + -10.555693626403809 + ], + [ + "▁300", + -10.556120872497559 + ], + [ + "▁commitment", + -10.556180000305176 + ], + [ + "▁aspects", + -10.556498527526855 + ], + [ + "▁previously", + -10.55711555480957 + ], + [ + "▁cent", + -10.5572509765625 + ], + [ + "▁Vo", + -10.557341575622559 + ], + [ + "▁artists", + -10.557963371276855 + ], + [ + "▁runs", + -10.558130264282227 + ], + [ + ">", + -10.558155059814453 + ], + [ + "▁Gi", + -10.558273315429688 + ], + [ + "▁mar", + -10.5585355758667 + ], + [ + "!!!", + -10.558544158935547 + ], + [ + "▁Media", + -10.558943748474121 + ], + [ + "▁feedback", + -10.559109687805176 + ], + [ + "▁resolution", + -10.559117317199707 + ], + [ + "IN", + -10.55915641784668 + ], + [ + "▁wurden", + -10.55952262878418 + ], + [ + "▁busy", + -10.559832572937012 + ], + [ + "▁adult", + -10.5600004196167 + ], + [ + "29", + -10.560487747192383 + ], + [ + "elles", + -10.561375617980957 + ], + [ + "▁closed", + -10.561762809753418 + ], + [ + "▁trouble", + -10.561767578125 + ], + [ + "▁rent", + -10.561984062194824 + ], + [ + "lot", + -10.56224536895752 + ], + [ + "▁importance", + -10.562314987182617 + ], + [ + "▁units", + -10.56257438659668 + ], + [ + "Pro", + -10.562713623046875 + ], + [ + "▁provider", + -10.563005447387695 + ], + [ + "▁visual", + -10.563288688659668 + ], + [ + "IT", + -10.563385009765625 + ], + [ + "▁diet", + -10.563733100891113 + ], + [ + "▁appearance", + -10.563932418823242 + ], + [ + "pin", + -10.564576148986816 + ], + [ + "▁Din", + -10.564760208129883 + ], + [ + "▁eating", + -10.565516471862793 + ], + [ + "Fi", + -10.565762519836426 + ], + [ + "ball", + -10.565765380859375 + ], + [ + "är", + -10.565861701965332 + ], + [ + "ney", + -10.565878868103027 + ], + [ + "▁records", + -10.566070556640625 + ], + [ + "▁Fi", + -10.566180229187012 + ], + [ + "▁faut", + -10.566329002380371 + ], + [ + "▁CD", + -10.566803932189941 + ], + [ + "ign", + -10.566930770874023 + ], + [ + "▁vă", + -10.566996574401855 + ], + [ + "▁agency", + -10.567153930664062 + ], + [ + "ierung", + -10.567323684692383 + ], + [ + "▁Back", + -10.567361831665039 + ], + [ + "▁windows", + -10.567545890808105 + ], + [ + "▁pull", + -10.567888259887695 + ], + [ + "ash", + -10.567959785461426 + ], + [ + "▁profit", + -10.568593978881836 + ], + [ + "▁brings", + -10.568605422973633 + ], + [ + "▁Committee", + -10.569122314453125 + ], + [ + "▁girl", + -10.569174766540527 + ], + [ + "▁vehicles", + -10.569372177124023 + ], + [ + "▁Hier", + -10.569567680358887 + ], + [ + "ES", + -10.569639205932617 + ], + [ + "până", + -10.569880485534668 + ], + [ + "▁Kunden", + -10.570380210876465 + ], + [ + "pen", + -10.570462226867676 + ], + [ + "▁explain", + -10.570505142211914 + ], + [ + "▁cadru", + -10.570760726928711 + ], + [ + "▁attack", + -10.571100234985352 + ], + [ + "▁markets", + -10.571115493774414 + ], + [ + "▁claims", + -10.571340560913086 + ], + [ + "▁walking", + -10.571385383605957 + ], + [ + "▁pouv", + -10.571528434753418 + ], + [ + "low", + -10.571642875671387 + ], + [ + "▁showed", + -10.572114944458008 + ], + [ + "▁principal", + -10.57211971282959 + ], + [ + "▁lucru", + -10.572144508361816 + ], + [ + "▁precum", + -10.572712898254395 + ], + [ + "TA", + -10.573094367980957 + ], + [ + "▁partners", + -10.573104858398438 + ], + [ + "▁exist", + -10.573136329650879 + ], + [ + "▁internal", + -10.57334041595459 + ], + [ + "hen", + -10.573945045471191 + ], + [ + "▁Master", + -10.573966979980469 + ], + [ + "unless", + -10.574013710021973 + ], + [ + "▁doubt", + -10.574721336364746 + ], + [ + "$", + -10.574785232543945 + ], + [ + "▁Long", + -10.574888229370117 + ], + [ + "▁leaves", + -10.574907302856445 + ], + [ + "allowing", + -10.575063705444336 + ], + [ + "pol", + -10.575272560119629 + ], + [ + "▁Up", + -10.575491905212402 + ], + [ + "▁Contact", + -10.576093673706055 + ], + [ + "▁practical", + -10.57708740234375 + ], + [ + "▁suit", + -10.57758903503418 + ], + [ + "▁Site", + -10.577656745910645 + ], + [ + "▁formation", + -10.57768726348877 + ], + [ + "▁signal", + -10.578215599060059 + ], + [ + "▁approximately", + -10.578414916992188 + ], + [ + "▁ourselves", + -10.578497886657715 + ], + [ + "▁colour", + -10.578519821166992 + ], + [ + "▁species", + -10.578530311584473 + ], + [ + "▁advance", + -10.578753471374512 + ], + [ + "▁PM", + -10.57891845703125 + ], + [ + "ans", + -10.579121589660645 + ], + [ + "▁locations", + -10.579397201538086 + ], + [ + "vous", + -10.579601287841797 + ], + [ + "▁updated", + -10.579636573791504 + ], + [ + "▁faith", + -10.579673767089844 + ], + [ + "mus", + -10.579740524291992 + ], + [ + "▁stores", + -10.579863548278809 + ], + [ + "heim", + -10.580127716064453 + ], + [ + "▁suitable", + -10.580558776855469 + ], + [ + "▁continues", + -10.580703735351562 + ], + [ + "▁fac", + -10.581133842468262 + ], + [ + "ever", + -10.581156730651855 + ], + [ + "▁Bill", + -10.581195831298828 + ], + [ + "▁chose", + -10.58121109008789 + ], + [ + "▁inform", + -10.581228256225586 + ], + [ + "▁environmental", + -10.581427574157715 + ], + [ + "▁responsibility", + -10.58188533782959 + ], + [ + "99", + -10.582542419433594 + ], + [ + "▁competitive", + -10.583723068237305 + ], + [ + "▁strategies", + -10.583903312683105 + ], + [ + "▁toujours", + -10.584270477294922 + ], + [ + "tive", + -10.58430290222168 + ], + [ + "▁automatically", + -10.585600852966309 + ], + [ + "▁dress", + -10.585609436035156 + ], + [ + "▁Minister", + -10.585624694824219 + ], + [ + "har", + -10.586076736450195 + ], + [ + "▁Start", + -10.586249351501465 + ], + [ + "▁=", + -10.586563110351562 + ], + [ + "▁pattern", + -10.58659553527832 + ], + [ + "tier", + -10.58676528930664 + ], + [ + "▁pays", + -10.587034225463867 + ], + [ + "▁profile", + -10.58725357055664 + ], + [ + "▁raised", + -10.587263107299805 + ], + [ + "ange", + -10.587288856506348 + ], + [ + "▁drink", + -10.587762832641602 + ], + [ + "▁element", + -10.588042259216309 + ], + [ + "▁landscape", + -10.58875560760498 + ], + [ + "▁Tag", + -10.589073181152344 + ], + [ + "▁cheese", + -10.589590072631836 + ], + [ + "ific", + -10.590009689331055 + ], + [ + "▁Stadt", + -10.590181350708008 + ], + [ + "39", + -10.591398239135742 + ], + [ + "▁launch", + -10.592113494873047 + ], + [ + "▁wouldn", + -10.592150688171387 + ], + [ + "AS", + -10.592202186584473 + ], + [ + "▁push", + -10.593059539794922 + ], + [ + "▁mill", + -10.593452453613281 + ], + [ + "▁mass", + -10.593647003173828 + ], + [ + "▁category", + -10.593790054321289 + ], + [ + "sondern", + -10.594050407409668 + ], + [ + "col", + -10.594111442565918 + ], + [ + "▁climate", + -10.594313621520996 + ], + [ + "lier", + -10.594437599182129 + ], + [ + "▁slightly", + -10.595514297485352 + ], + [ + "95", + -10.596519470214844 + ], + [ + "ace", + -10.596612930297852 + ], + [ + "▁domain", + -10.597633361816406 + ], + [ + "kan", + -10.598306655883789 + ], + [ + "▁feed", + -10.598485946655273 + ], + [ + "▁Live", + -10.598837852478027 + ], + [ + "▁Mais", + -10.599113464355469 + ], + [ + "▁après", + -10.599365234375 + ], + [ + "▁village", + -10.59941577911377 + ], + [ + "▁hatte", + -10.59968090057373 + ], + [ + "▁joined", + -10.599881172180176 + ], + [ + "▁Museum", + -10.600311279296875 + ], + [ + "head", + -10.600855827331543 + ], + [ + "▁draw", + -10.6009521484375 + ], + [ + "▁concerns", + -10.600966453552246 + ], + [ + "ER", + -10.601505279541016 + ], + [ + "▁technique", + -10.601648330688477 + ], + [ + "▁Bio", + -10.601861000061035 + ], + [ + "▁Sea", + -10.601881980895996 + ], + [ + "▁@", + -10.601927757263184 + ], + [ + "wer", + -10.6021146774292 + ], + [ + "▁battery", + -10.602462768554688 + ], + [ + "▁mostly", + -10.60267448425293 + ], + [ + "▁familiar", + -10.602680206298828 + ], + [ + "▁Sub", + -10.602689743041992 + ], + [ + "▁delicious", + -10.603222846984863 + ], + [ + "doch", + -10.60326099395752 + ], + [ + "60", + -10.603395462036133 + ], + [ + "▁carte", + -10.603611946105957 + ], + [ + "▁avut", + -10.604146957397461 + ], + [ + "▁premium", + -10.60460376739502 + ], + [ + "▁attempt", + -10.604704856872559 + ], + [ + "▁Über", + -10.60473346710205 + ], + [ + "▁combined", + -10.604935646057129 + ], + [ + "lement", + -10.604947090148926 + ], + [ + "▁voi", + -10.605031967163086 + ], + [ + "▁wonder", + -10.605376243591309 + ], + [ + "▁failure", + -10.606106758117676 + ], + [ + "which", + -10.606147766113281 + ], + [ + "esti", + -10.606316566467285 + ], + [ + "31", + -10.606547355651855 + ], + [ + "▁sta", + -10.606734275817871 + ], + [ + "▁transform", + -10.60673999786377 + ], + [ + "▁license", + -10.606743812561035 + ], + [ + "▁depending", + -10.606758117675781 + ], + [ + "▁specifically", + -10.606782913208008 + ], + [ + "▁OF", + -10.60693645477295 + ], + [ + "band", + -10.606959342956543 + ], + [ + "▁Sport", + -10.60731315612793 + ], + [ + "list", + -10.607434272766113 + ], + [ + "▁Tour", + -10.60753059387207 + ], + [ + "▁Israel", + -10.607564926147461 + ], + [ + "▁filled", + -10.607722282409668 + ], + [ + "▁manual", + -10.60776138305664 + ], + [ + "▁watching", + -10.608621597290039 + ], + [ + "▁rule", + -10.608877182006836 + ], + [ + "mat", + -10.60901927947998 + ], + [ + "▁notes", + -10.609585762023926 + ], + [ + "▁Oh", + -10.60960578918457 + ], + [ + "▁bereits", + -10.609634399414062 + ], + [ + "▁foundation", + -10.609916687011719 + ], + [ + "▁vital", + -10.610146522521973 + ], + [ + "▁lassen", + -10.610747337341309 + ], + [ + "▁cât", + -10.611162185668945 + ], + [ + "▁shipping", + -10.611433029174805 + ], + [ + "▁registered", + -10.611513137817383 + ], + [ + "▁jour", + -10.612669944763184 + ], + [ + "▁island", + -10.61276626586914 + ], + [ + "▁sets", + -10.613068580627441 + ], + [ + "▁football", + -10.613683700561523 + ], + [ + "▁EU", + -10.613860130310059 + ], + [ + "▁stone", + -10.614019393920898 + ], + [ + "▁Press", + -10.614699363708496 + ], + [ + "▁adapt", + -10.615066528320312 + ], + [ + "ised", + -10.615425109863281 + ], + [ + "▁thoughts", + -10.615434646606445 + ], + [ + "▁doors", + -10.615851402282715 + ], + [ + "€", + -10.615954399108887 + ], + [ + "▁components", + -10.616040229797363 + ], + [ + "rig", + -10.616332054138184 + ], + [ + "▁generation", + -10.616585731506348 + ], + [ + "▁guess", + -10.616700172424316 + ], + [ + "cker", + -10.61694049835205 + ], + [ + "▁realize", + -10.617207527160645 + ], + [ + "▁Roman", + -10.617310523986816 + ], + [ + "▁contre", + -10.617693901062012 + ], + [ + "▁Out", + -10.617938995361328 + ], + [ + "▁IN", + -10.619051933288574 + ], + [ + "cip", + -10.619085311889648 + ], + [ + "59", + -10.619330406188965 + ], + [ + "▁enhance", + -10.619768142700195 + ], + [ + "▁battle", + -10.61982250213623 + ], + [ + "▁monitor", + -10.619863510131836 + ], + [ + "▁Martin", + -10.62045955657959 + ], + [ + "▁websites", + -10.620461463928223 + ], + [ + "▁DE", + -10.620599746704102 + ], + [ + "▁Festival", + -10.620951652526855 + ], + [ + "ân", + -10.62131118774414 + ], + [ + "▁Place", + -10.621419906616211 + ], + [ + "▁rare", + -10.621554374694824 + ], + [ + "această", + -10.621726989746094 + ], + [ + "▁sollte", + -10.621731758117676 + ], + [ + "▁Read", + -10.621816635131836 + ], + [ + "ware", + -10.622169494628906 + ], + [ + "Those", + -10.622671127319336 + ], + [ + "ende", + -10.623543739318848 + ], + [ + "▁prix", + -10.623835563659668 + ], + [ + "▁roman", + -10.624101638793945 + ], + [ + "▁creation", + -10.624224662780762 + ], + [ + "▁confidence", + -10.624552726745605 + ], + [ + "▁Japan", + -10.624638557434082 + ], + [ + "▁rain", + -10.624942779541016 + ], + [ + "▁guys", + -10.62518310546875 + ], + [ + "▁south", + -10.625236511230469 + ], + [ + "▁trading", + -10.625646591186523 + ], + [ + "▁€", + -10.626100540161133 + ], + [ + "▁Film", + -10.626341819763184 + ], + [ + "▁pana", + -10.627065658569336 + ], + [ + "▁asemenea", + -10.627066612243652 + ], + [ + "36", + -10.627190589904785 + ], + [ + "▁instance", + -10.627884864807129 + ], + [ + "cou", + -10.629385948181152 + ], + [ + "▁nun", + -10.630074501037598 + ], + [ + "▁Pass", + -10.630390167236328 + ], + [ + "Cette", + -10.630579948425293 + ], + [ + "▁Network", + -10.630876541137695 + ], + [ + "▁prime", + -10.631010055541992 + ], + [ + "▁spiritual", + -10.632098197937012 + ], + [ + "▁tough", + -10.633030891418457 + ], + [ + "▁AND", + -10.633086204528809 + ], + [ + "▁Cat", + -10.633601188659668 + ], + [ + "▁boat", + -10.633611679077148 + ], + [ + "▁leads", + -10.634864807128906 + ], + [ + "▁Germany", + -10.63509750366211 + ], + [ + "▁valuable", + -10.635635375976562 + ], + [ + "57", + -10.635892868041992 + ], + [ + "lect", + -10.636148452758789 + ], + [ + "▁distribution", + -10.636445045471191 + ], + [ + "dar", + -10.636518478393555 + ], + [ + "▁Manager", + -10.637701988220215 + ], + [ + "cha", + -10.637725830078125 + ], + [ + "▁obtain", + -10.637741088867188 + ], + [ + "GB", + -10.637908935546875 + ], + [ + "▁unor", + -10.638079643249512 + ], + [ + "schaft", + -10.638603210449219 + ], + [ + "▁zwischen", + -10.638723373413086 + ], + [ + "▁winning", + -10.639172554016113 + ], + [ + "▁suis", + -10.639811515808105 + ], + [ + "58", + -10.640130996704102 + ], + [ + "▁Party", + -10.640372276306152 + ], + [ + "▁ceva", + -10.640416145324707 + ], + [ + "▁comprehensive", + -10.640684127807617 + ], + [ + "▁aceste", + -10.640726089477539 + ], + [ + "▁committed", + -10.640726089477539 + ], + [ + "▁Hu", + -10.641382217407227 + ], + [ + "ţ", + -10.64149284362793 + ], + [ + "▁north", + -10.642021179199219 + ], + [ + "werk", + -10.642542839050293 + ], + [ + "▁interface", + -10.642794609069824 + ], + [ + "▁Valley", + -10.64281177520752 + ], + [ + "▁anywhere", + -10.64281177520752 + ], + [ + "▁Only", + -10.642851829528809 + ], + [ + "TE", + -10.643295288085938 + ], + [ + "hui", + -10.6436767578125 + ], + [ + "bus", + -10.643951416015625 + ], + [ + "vis", + -10.6439790725708 + ], + [ + "▁Society", + -10.645116806030273 + ], + [ + "▁reliable", + -10.64556884765625 + ], + [ + "▁quelques", + -10.64563274383545 + ], + [ + "tech", + -10.646187782287598 + ], + [ + "ual", + -10.646377563476562 + ], + [ + "▁educational", + -10.646418571472168 + ], + [ + "serv", + -10.646490097045898 + ], + [ + "▁opinion", + -10.646628379821777 + ], + [ + "▁appears", + -10.646702766418457 + ], + [ + "▁count", + -10.646795272827148 + ], + [ + "irea", + -10.646981239318848 + ], + [ + "ban", + -10.647504806518555 + ], + [ + "▁45", + -10.647530555725098 + ], + [ + "▁contain", + -10.647661209106445 + ], + [ + "ost", + -10.647663116455078 + ], + [ + "▁anul", + -10.647706031799316 + ], + [ + "rien", + -10.648159980773926 + ], + [ + "gra", + -10.648360252380371 + ], + [ + "▁counter", + -10.648946762084961 + ], + [ + "-3", + -10.650411605834961 + ], + [ + "▁resource", + -10.650463104248047 + ], + [ + "▁Wo", + -10.6505126953125 + ], + [ + "▁posts", + -10.650618553161621 + ], + [ + "▁employee", + -10.651320457458496 + ], + [ + "rol", + -10.651863098144531 + ], + [ + "▁ended", + -10.651969909667969 + ], + [ + "met", + -10.653080940246582 + ], + [ + "▁meine", + -10.653165817260742 + ], + [ + "▁reached", + -10.653368949890137 + ], + [ + "gri", + -10.653716087341309 + ], + [ + "▁Bra", + -10.65374755859375 + ], + [ + "▁conduct", + -10.654294967651367 + ], + [ + "▁housing", + -10.654422760009766 + ], + [ + "▁tickets", + -10.654792785644531 + ], + [ + "▁database", + -10.655674934387207 + ], + [ + "IL", + -10.656150817871094 + ], + [ + "▁perspective", + -10.656359672546387 + ], + [ + "▁Har", + -10.656404495239258 + ], + [ + "▁error", + -10.656549453735352 + ], + [ + "▁meal", + -10.656569480895996 + ], + [ + "▁hearing", + -10.657238006591797 + ], + [ + "▁transition", + -10.657302856445312 + ], + [ + "▁browser", + -10.657609939575195 + ], + [ + "▁supported", + -10.657609939575195 + ], + [ + "▁starts", + -10.658814430236816 + ], + [ + "țe", + -10.658902168273926 + ], + [ + "▁adults", + -10.658905029296875 + ], + [ + "▁România", + -10.65917682647705 + ], + [ + "dra", + -10.659884452819824 + ], + [ + "▁worry", + -10.660222053527832 + ], + [ + "▁avoir", + -10.660497665405273 + ], + [ + "▁regional", + -10.660507202148438 + ], + [ + "▁min", + -10.660722732543945 + ], + [ + "▁Does", + -10.660806655883789 + ], + [ + "▁Keep", + -10.661200523376465 + ], + [ + "rom", + -10.661237716674805 + ], + [ + "sco", + -10.661320686340332 + ], + [ + "tem", + -10.661898612976074 + ], + [ + "▁Old", + -10.661954879760742 + ], + [ + "▁Under", + -10.662552833557129 + ], + [ + "▁Commission", + -10.662557601928711 + ], + [ + "▁Bau", + -10.6632661819458 + ], + [ + "▁News", + -10.663358688354492 + ], + [ + "▁mois", + -10.663444519042969 + ], + [ + "▁respond", + -10.66356372833252 + ], + [ + "▁alles", + -10.663878440856934 + ], + [ + "▁chair", + -10.664475440979004 + ], + [ + "▁ho", + -10.664854049682617 + ], + [ + "right", + -10.664908409118652 + ], + [ + "▁totally", + -10.665532112121582 + ], + [ + "gle", + -10.665534973144531 + ], + [ + "▁32", + -10.665604591369629 + ], + [ + "66", + -10.665664672851562 + ], + [ + "town", + -10.665902137756348 + ], + [ + "Ch", + -10.666261672973633 + ], + [ + "▁gr", + -10.66629695892334 + ], + [ + "▁garage", + -10.666328430175781 + ], + [ + "ții", + -10.666495323181152 + ], + [ + "▁Union", + -10.667136192321777 + ], + [ + "ică", + -10.667343139648438 + ], + [ + "▁2,", + -10.668437004089355 + ], + [ + "▁reflect", + -10.669163703918457 + ], + [ + "▁retail", + -10.669388771057129 + ], + [ + "▁unde", + -10.669605255126953 + ], + [ + "▁accessible", + -10.670262336730957 + ], + [ + "water", + -10.67059326171875 + ], + [ + "▁regard", + -10.670710563659668 + ], + [ + "▁logo", + -10.671489715576172 + ], + [ + "▁inspired", + -10.671518325805664 + ], + [ + "▁Wall", + -10.671859741210938 + ], + [ + "▁Ste", + -10.672093391418457 + ], + [ + "▁asking", + -10.672179222106934 + ], + [ + "▁Journal", + -10.673028945922852 + ], + [ + "▁Teil", + -10.674042701721191 + ], + [ + "▁collaboration", + -10.674185752868652 + ], + [ + "▁acid", + -10.674266815185547 + ], + [ + "▁Fund", + -10.674382209777832 + ], + [ + "▁spirit", + -10.6744384765625 + ], + [ + "despite", + -10.674457550048828 + ], + [ + "▁delivered", + -10.674821853637695 + ], + [ + "▁girls", + -10.675374984741211 + ], + [ + "▁Look", + -10.675896644592285 + ], + [ + "rant", + -10.675949096679688 + ], + [ + "▁District", + -10.676460266113281 + ], + [ + "▁rental", + -10.676709175109863 + ], + [ + "▁spune", + -10.676733016967773 + ], + [ + "els", + -10.677544593811035 + ], + [ + "▁permanent", + -10.677659034729004 + ], + [ + "▁iron", + -10.677709579467773 + ], + [ + "▁Thomas", + -10.677745819091797 + ], + [ + "EL", + -10.678071022033691 + ], + [ + "▁except", + -10.678074836730957 + ], + [ + "▁catch", + -10.678366661071777 + ], + [ + "▁providers", + -10.678375244140625 + ], + [ + "▁2006", + -10.678435325622559 + ], + [ + "▁chat", + -10.679931640625 + ], + [ + "▁emergency", + -10.680281639099121 + ], + [ + "gre", + -10.68030834197998 + ], + [ + "site", + -10.680888175964355 + ], + [ + "▁missing", + -10.68089485168457 + ], + [ + "abil", + -10.680914878845215 + ], + [ + "▁Hill", + -10.68099594116211 + ], + [ + "urs", + -10.681312561035156 + ], + [ + "▁plusieurs", + -10.681716918945312 + ], + [ + "▁birthday", + -10.681726455688477 + ], + [ + "DS", + -10.682019233703613 + ], + [ + "ersten", + -10.682381629943848 + ], + [ + "▁5.", + -10.68252944946289 + ], + [ + "▁library", + -10.68333911895752 + ], + [ + "▁earth", + -10.683515548706055 + ], + [ + "CI", + -10.683645248413086 + ], + [ + "▁lighting", + -10.684442520141602 + ], + [ + "▁fixed", + -10.684879302978516 + ], + [ + "tori", + -10.684891700744629 + ], + [ + "▁replace", + -10.684995651245117 + ], + [ + "▁administration", + -10.685074806213379 + ], + [ + "leurs", + -10.685229301452637 + ], + [ + "▁meat", + -10.686142921447754 + ], + [ + "▁songs", + -10.686662673950195 + ], + [ + "▁confirm", + -10.686866760253906 + ], + [ + "▁rapid", + -10.68698787689209 + ], + [ + "▁Special", + -10.686995506286621 + ], + [ + "▁holding", + -10.687115669250488 + ], + [ + "▁honor", + -10.687271118164062 + ], + [ + "▁Market", + -10.687409400939941 + ], + [ + "La", + -10.687535285949707 + ], + [ + "▁measure", + -10.687760353088379 + ], + [ + "▁guarantee", + -10.68785572052002 + ], + [ + "▁switch", + -10.68813419342041 + ], + [ + "▁extensive", + -10.688294410705566 + ], + [ + "▁Neu", + -10.688674926757812 + ], + [ + "avez", + -10.688901901245117 + ], + [ + "▁protein", + -10.688984870910645 + ], + [ + "▁infrastructure", + -10.689454078674316 + ], + [ + "▁functions", + -10.689494132995605 + ], + [ + "▁cont", + -10.689496040344238 + ], + [ + "row", + -10.689760208129883 + ], + [ + "star", + -10.689773559570312 + ], + [ + "▁Port", + -10.690192222595215 + ], + [ + "Using", + -10.690336227416992 + ], + [ + "▁faster", + -10.690557479858398 + ], + [ + "44", + -10.691168785095215 + ], + [ + "▁measures", + -10.691615104675293 + ], + [ + "▁celor", + -10.69186019897461 + ], + [ + "▁exam", + -10.69189739227295 + ], + [ + "200", + -10.69202995300293 + ], + [ + "î", + -10.692545890808105 + ], + [ + "▁conversation", + -10.692832946777344 + ], + [ + "▁brands", + -10.692959785461426 + ], + [ + "▁Code", + -10.69359016418457 + ], + [ + "▁Website", + -10.693748474121094 + ], + [ + "OS", + -10.693782806396484 + ], + [ + "▁alors", + -10.693822860717773 + ], + [ + "▁organ", + -10.694032669067383 + ], + [ + "▁removed", + -10.694823265075684 + ], + [ + "▁Head", + -10.694905281066895 + ], + [ + "▁Cha", + -10.694908142089844 + ], + [ + "▁visiting", + -10.694928169250488 + ], + [ + "▁wild", + -10.694928169250488 + ], + [ + "▁seit", + -10.694962501525879 + ], + [ + "49", + -10.695109367370605 + ], + [ + "▁organic", + -10.69539737701416 + ], + [ + "aţi", + -10.695775032043457 + ], + [ + "▁kit", + -10.695947647094727 + ], + [ + "68", + -10.695959091186523 + ], + [ + "▁flowers", + -10.696124076843262 + ], + [ + "▁appreciate", + -10.697006225585938 + ], + [ + "▁dead", + -10.697439193725586 + ], + [ + "▁Fire", + -10.697539329528809 + ], + [ + "▁cela", + -10.697591781616211 + ], + [ + "▁Ph", + -10.697633743286133 + ], + [ + "▁arrive", + -10.697921752929688 + ], + [ + "▁purposes", + -10.698213577270508 + ], + [ + "▁qualité", + -10.698226928710938 + ], + [ + "▁restaurants", + -10.698478698730469 + ], + [ + "▁advertising", + -10.698541641235352 + ], + [ + "cur", + -10.69855785369873 + ], + [ + "▁ça", + -10.698973655700684 + ], + [ + "▁introduced", + -10.699088096618652 + ], + [ + "▁returned", + -10.699111938476562 + ], + [ + "▁desire", + -10.699511528015137 + ], + [ + "▁soul", + -10.699983596801758 + ], + [ + "▁Technology", + -10.699994087219238 + ], + [ + ");", + -10.700163841247559 + ], + [ + "▁Royal", + -10.700282096862793 + ], + [ + "tant", + -10.70068645477295 + ], + [ + "▁possibly", + -10.700702667236328 + ], + [ + "▁consumers", + -10.700812339782715 + ], + [ + "▁doua", + -10.70097541809082 + ], + [ + "ified", + -10.70097827911377 + ], + [ + "▁Award", + -10.70114803314209 + ], + [ + "toutes", + -10.70130443572998 + ], + [ + "▁meant", + -10.701325416564941 + ], + [ + "ezi", + -10.701616287231445 + ], + [ + "▁plu", + -10.701766014099121 + ], + [ + "ţii", + -10.7021484375 + ], + [ + "▁talent", + -10.702789306640625 + ], + [ + "▁Security", + -10.703309059143066 + ], + [ + "arii", + -10.703352928161621 + ], + [ + "▁zi", + -10.703455924987793 + ], + [ + "▁Shop", + -10.703667640686035 + ], + [ + "▁breakfast", + -10.704107284545898 + ], + [ + "▁trial", + -10.704485893249512 + ], + [ + "ami", + -10.704936981201172 + ], + [ + "▁register", + -10.705301284790039 + ], + [ + "unserer", + -10.705646514892578 + ], + [ + "▁solar", + -10.705697059631348 + ], + [ + "▁deals", + -10.70591926574707 + ], + [ + "▁Ku", + -10.7059326171875 + ], + [ + "To", + -10.706186294555664 + ], + [ + "bat", + -10.70680046081543 + ], + [ + "MC", + -10.707010269165039 + ], + [ + "▁Global", + -10.707018852233887 + ], + [ + "у", + -10.707405090332031 + ], + [ + "▁nor", + -10.707818984985352 + ], + [ + "▁milk", + -10.707868576049805 + ], + [ + "▁choices", + -10.708206176757812 + ], + [ + "»", + -10.7086763381958 + ], + [ + "▁Sur", + -10.708695411682129 + ], + [ + "more", + -10.708739280700684 + ], + [ + "48", + -10.709024429321289 + ], + [ + "67", + -10.709375381469727 + ], + [ + "▁replacement", + -10.709942817687988 + ], + [ + "34", + -10.710440635681152 + ], + [ + "▁chocolate", + -10.710485458374023 + ], + [ + "▁Family", + -10.71059513092041 + ], + [ + "This", + -10.71122932434082 + ], + [ + "▁novel", + -10.711435317993164 + ], + [ + "▁Chicago", + -10.711563110351562 + ], + [ + "▁participate", + -10.71166706085205 + ], + [ + "▁trei", + -10.712727546691895 + ], + [ + "▁monthly", + -10.713729858398438 + ], + [ + "▁survey", + -10.713977813720703 + ], + [ + "▁End", + -10.714285850524902 + ], + [ + "▁Medical", + -10.71442699432373 + ], + [ + "autres", + -10.714678764343262 + ], + [ + "rich", + -10.714698791503906 + ], + [ + "▁bike", + -10.714703559875488 + ], + [ + "▁eventually", + -10.714717864990234 + ], + [ + "▁HD", + -10.714722633361816 + ], + [ + "bil", + -10.714744567871094 + ], + [ + "cent", + -10.714902877807617 + ], + [ + "▁afin", + -10.715676307678223 + ], + [ + "▁surgery", + -10.716160774230957 + ], + [ + "▁sin", + -10.716455459594727 + ], + [ + "▁manufacturing", + -10.716955184936523 + ], + [ + "▁consumer", + -10.717245101928711 + ], + [ + "system", + -10.717306137084961 + ], + [ + "▁object", + -10.717400550842285 + ], + [ + "▁Ju", + -10.717422485351562 + ], + [ + "ered", + -10.7178373336792 + ], + [ + "rac", + -10.718070030212402 + ], + [ + "▁clinical", + -10.718664169311523 + ], + [ + "▁dollars", + -10.719761848449707 + ], + [ + "▁chain", + -10.71994686126709 + ], + [ + "▁afternoon", + -10.720196723937988 + ], + [ + "▁ligne", + -10.720422744750977 + ], + [ + "▁accounts", + -10.721806526184082 + ], + [ + "ving", + -10.722037315368652 + ], + [ + "▁Australian", + -10.72240924835205 + ], + [ + "38", + -10.722542762756348 + ], + [ + "▁persoane", + -10.72258472442627 + ], + [ + "▁grande", + -10.722668647766113 + ], + [ + "▁Report", + -10.723472595214844 + ], + [ + "▁revenue", + -10.723649024963379 + ], + [ + "▁spre", + -10.723760604858398 + ], + [ + "▁cutting", + -10.7239990234375 + ], + [ + "▁approved", + -10.724133491516113 + ], + [ + "▁glad", + -10.724188804626465 + ], + [ + "chaque", + -10.724395751953125 + ], + [ + "win", + -10.724435806274414 + ], + [ + "▁waren", + -10.724733352661133 + ], + [ + "▁launched", + -10.725071907043457 + ], + [ + "▁layer", + -10.725645065307617 + ], + [ + "▁airport", + -10.725716590881348 + ], + [ + "▁effectively", + -10.72572135925293 + ], + [ + "▁coach", + -10.725946426391602 + ], + [ + "dé", + -10.726130485534668 + ], + [ + "LE", + -10.72627067565918 + ], + [ + "▁müssen", + -10.726386070251465 + ], + [ + "plan", + -10.726641654968262 + ], + [ + "dan", + -10.726705551147461 + ], + [ + "55", + -10.726786613464355 + ], + [ + "bringing", + -10.726895332336426 + ], + [ + "▁$2", + -10.726995468139648 + ], + [ + "nce", + -10.727181434631348 + ], + [ + "▁inspiration", + -10.728177070617676 + ], + [ + "You", + -10.728657722473145 + ], + [ + "▁soll", + -10.729095458984375 + ], + [ + "▁seemed", + -10.729595184326172 + ], + [ + "▁flight", + -10.729687690734863 + ], + [ + "▁prima", + -10.729883193969727 + ], + [ + "▁Welt", + -10.730123519897461 + ], + [ + "▁jetzt", + -10.730315208435059 + ], + [ + "ky", + -10.730428695678711 + ], + [ + "▁Western", + -10.73054027557373 + ], + [ + "▁label", + -10.730600357055664 + ], + [ + "▁möglich", + -10.73081111907959 + ], + [ + "▁input", + -10.730862617492676 + ], + [ + "▁laws", + -10.730995178222656 + ], + [ + "▁personnes", + -10.731708526611328 + ], + [ + "▁paying", + -10.731731414794922 + ], + [ + "▁Uhr", + -10.73173713684082 + ], + [ + "▁Mary", + -10.731745719909668 + ], + [ + "pur", + -10.73190689086914 + ], + [ + "▁covers", + -10.732133865356445 + ], + [ + "▁throw", + -10.732522964477539 + ], + [ + "▁Tor", + -10.733281135559082 + ], + [ + "▁bat", + -10.73355484008789 + ], + [ + "▁Gr", + -10.73373031616211 + ], + [ + "▁farm", + -10.73376178741455 + ], + [ + "▁improved", + -10.733843803405762 + ], + [ + "▁fără", + -10.734286308288574 + ], + [ + "▁theme", + -10.73437213897705 + ], + [ + "pens", + -10.734865188598633 + ], + [ + "▁Cup", + -10.734975814819336 + ], + [ + "▁settings", + -10.735114097595215 + ], + [ + "▁hire", + -10.735234260559082 + ], + [ + "▁massive", + -10.735248565673828 + ], + [ + "▁generate", + -10.735405921936035 + ], + [ + "▁earn", + -10.735837936401367 + ], + [ + "▁tab", + -10.736431121826172 + ], + [ + "For", + -10.736616134643555 + ], + [ + "gang", + -10.736891746520996 + ], + [ + "▁hin", + -10.73709487915039 + ], + [ + "▁roll", + -10.737113952636719 + ], + [ + "▁engagement", + -10.737157821655273 + ], + [ + "▁signed", + -10.737177848815918 + ], + [ + "▁League", + -10.737323760986328 + ], + [ + "▁registration", + -10.737931251525879 + ], + [ + "▁première", + -10.738763809204102 + ], + [ + "isse", + -10.73896598815918 + ], + [ + "▁university", + -10.739027976989746 + ], + [ + "ell", + -10.739157676696777 + ], + [ + "▁nou", + -10.739169120788574 + ], + [ + "rog", + -10.739191055297852 + ], + [ + "▁sitting", + -10.739206314086914 + ], + [ + "▁cazul", + -10.739571571350098 + ], + [ + "▁surrounding", + -10.73983383178711 + ], + [ + "▁Asia", + -10.740357398986816 + ], + [ + "▁bath", + -10.740825653076172 + ], + [ + "hal", + -10.740923881530762 + ], + [ + "▁plate", + -10.741026878356934 + ], + [ + "▁tests", + -10.741151809692383 + ], + [ + "▁presentation", + -10.741156578063965 + ], + [ + "▁chicken", + -10.741501808166504 + ], + [ + "▁Val", + -10.741586685180664 + ], + [ + "ably", + -10.74166488647461 + ], + [ + "▁magazine", + -10.741697311401367 + ], + [ + "▁Maybe", + -10.74187183380127 + ], + [ + "▁sauce", + -10.742673873901367 + ], + [ + "TC", + -10.742887496948242 + ], + [ + "▁exclusive", + -10.74296760559082 + ], + [ + "86", + -10.74306869506836 + ], + [ + "▁teeth", + -10.743474960327148 + ], + [ + "▁regularly", + -10.743524551391602 + ], + [ + "sed", + -10.743824005126953 + ], + [ + "gro", + -10.744174003601074 + ], + [ + "He", + -10.744211196899414 + ], + [ + "▁2017.", + -10.744302749633789 + ], + [ + "▁template", + -10.74489688873291 + ], + [ + "▁gleich", + -10.744938850402832 + ], + [ + "bal", + -10.745061874389648 + ], + [ + "▁African", + -10.74511432647705 + ], + [ + "în", + -10.745231628417969 + ], + [ + "▁rep", + -10.74543571472168 + ], + [ + "▁beat", + -10.74588394165039 + ], + [ + "▁deck", + -10.746064186096191 + ], + [ + "▁intended", + -10.746221542358398 + ], + [ + "▁para", + -10.746513366699219 + ], + [ + "▁IP", + -10.746712684631348 + ], + [ + "▁bra", + -10.746881484985352 + ], + [ + "▁forces", + -10.746966361999512 + ], + [ + "▁routine", + -10.747184753417969 + ], + [ + "▁Jahre", + -10.747758865356445 + ], + [ + "▁Bad", + -10.74797534942627 + ], + [ + "▁drivers", + -10.748074531555176 + ], + [ + "▁updates", + -10.748095512390137 + ], + [ + "▁elegant", + -10.748279571533203 + ], + [ + "▁external", + -10.748444557189941 + ], + [ + "▁engineering", + -10.748819351196289 + ], + [ + "ender", + -10.749544143676758 + ], + [ + "table", + -10.749755859375 + ], + [ + "inter", + -10.749878883361816 + ], + [ + "▁Romania", + -10.749948501586914 + ], + [ + "▁zile", + -10.750468254089355 + ], + [ + "▁luxury", + -10.750570297241211 + ], + [ + "▁calling", + -10.750750541687012 + ], + [ + "▁cooking", + -10.75101375579834 + ], + [ + "▁component", + -10.75114631652832 + ], + [ + "wan", + -10.75121021270752 + ], + [ + "schen", + -10.751212120056152 + ], + [ + "▁birth", + -10.751242637634277 + ], + [ + "asupra", + -10.751349449157715 + ], + [ + "Co", + -10.751471519470215 + ], + [ + "▁opt", + -10.75153923034668 + ], + [ + "▁discovered", + -10.751860618591309 + ], + [ + "▁teach", + -10.752084732055664 + ], + [ + "▁Son", + -10.75234317779541 + ], + [ + "▁guest", + -10.752384185791016 + ], + [ + "▁dogs", + -10.752695083618164 + ], + [ + "▁2003", + -10.752745628356934 + ], + [ + "▁behavior", + -10.752750396728516 + ], + [ + "pé", + -10.7529935836792 + ], + [ + "63", + -10.75316333770752 + ], + [ + "▁Human", + -10.753702163696289 + ], + [ + "▁expression", + -10.754800796508789 + ], + [ + "▁nevoie", + -10.754936218261719 + ], + [ + "▁recherche", + -10.75528621673584 + ], + [ + "ging", + -10.755767822265625 + ], + [ + "related", + -10.755948066711426 + ], + [ + "▁discount", + -10.756040573120117 + ], + [ + "▁Brown", + -10.756054878234863 + ], + [ + "▁Such", + -10.756107330322266 + ], + [ + "▁Ve", + -10.757149696350098 + ], + [ + "▁height", + -10.757265090942383 + ], + [ + "clo", + -10.757414817810059 + ], + [ + "▁incredible", + -10.757912635803223 + ], + [ + "▁bas", + -10.757916450500488 + ], + [ + "▁mă", + -10.75798225402832 + ], + [ + "▁purchased", + -10.758240699768066 + ], + [ + "▁compte", + -10.75831127166748 + ], + [ + "▁instructions", + -10.758537292480469 + ], + [ + "▁Instead", + -10.75866985321045 + ], + [ + "▁output", + -10.758706092834473 + ], + [ + "▁mom", + -10.758886337280273 + ], + [ + "DR", + -10.759828567504883 + ], + [ + "89", + -10.760168075561523 + ], + [ + "▁reduced", + -10.760621070861816 + ], + [ + "98", + -10.7606840133667 + ], + [ + "▁constant", + -10.760879516601562 + ], + [ + "▁therapy", + -10.762417793273926 + ], + [ + "▁capable", + -10.762757301330566 + ], + [ + "mark", + -10.763265609741211 + ], + [ + "▁Sometimes", + -10.76332950592041 + ], + [ + "▁joy", + -10.763419151306152 + ], + [ + "▁perfectly", + -10.763589859008789 + ], + [ + "▁painting", + -10.763704299926758 + ], + [ + "avait", + -10.763765335083008 + ], + [ + "▁Sha", + -10.764384269714355 + ], + [ + "▁dat", + -10.764463424682617 + ], + [ + "▁produits", + -10.764479637145996 + ], + [ + "tric", + -10.76456356048584 + ], + [ + "ierte", + -10.765153884887695 + ], + [ + "▁Smith", + -10.765836715698242 + ], + [ + "▁trebui", + -10.766264915466309 + ], + [ + "▁beaucoup", + -10.766630172729492 + ], + [ + "▁chosen", + -10.767189025878906 + ], + [ + "▁cre", + -10.76732063293457 + ], + [ + "▁complet", + -10.767341613769531 + ], + [ + "▁Ltd", + -10.767599105834961 + ], + [ + "▁recovery", + -10.76781940460205 + ], + [ + "▁district", + -10.768423080444336 + ], + [ + "78", + -10.768640518188477 + ], + [ + "▁Unter", + -10.76872730255127 + ], + [ + "▁schnell", + -10.768729209899902 + ], + [ + "▁apart", + -10.768943786621094 + ], + [ + "▁phase", + -10.76894760131836 + ], + [ + "▁seeking", + -10.769091606140137 + ], + [ + "▁mark", + -10.769148826599121 + ], + [ + "▁pet", + -10.769233703613281 + ], + [ + "▁PDF", + -10.769296646118164 + ], + [ + "▁efficiency", + -10.769577980041504 + ], + [ + "▁buildings", + -10.769611358642578 + ], + [ + "69", + -10.769723892211914 + ], + [ + "▁sens", + -10.769858360290527 + ], + [ + "▁Video", + -10.770115852355957 + ], + [ + "▁destination", + -10.770181655883789 + ], + [ + "▁female", + -10.770319938659668 + ], + [ + "▁supporting", + -10.770674705505371 + ], + [ + "▁signs", + -10.77077865600586 + ], + [ + "▁appeal", + -10.770784378051758 + ], + [ + "76", + -10.77110481262207 + ], + [ + "▁favourite", + -10.771612167358398 + ], + [ + "ock", + -10.771702766418457 + ], + [ + "▁readers", + -10.771757125854492 + ], + [ + "▁Did", + -10.771868705749512 + ], + [ + "rou", + -10.772045135498047 + ], + [ + "PA", + -10.77222728729248 + ], + [ + "▁Jean", + -10.772480964660645 + ], + [ + "▁Em", + -10.772586822509766 + ], + [ + "pass", + -10.77280330657959 + ], + [ + "▁Zi", + -10.773090362548828 + ], + [ + "▁între", + -10.773261070251465 + ], + [ + "▁fly", + -10.773427963256836 + ], + [ + "mos", + -10.773666381835938 + ], + [ + "▁emotional", + -10.773860931396484 + ], + [ + "asse", + -10.774768829345703 + ], + [ + "▁sessions", + -10.775086402893066 + ], + [ + "▁symptoms", + -10.77564811706543 + ], + [ + "▁died", + -10.776217460632324 + ], + [ + "▁seconds", + -10.776628494262695 + ], + [ + "▁procedure", + -10.777206420898438 + ], + [ + "▁express", + -10.777420997619629 + ], + [ + "▁două", + -10.777885437011719 + ], + [ + "▁valid", + -10.778393745422363 + ], + [ + "▁euro", + -10.7788667678833 + ], + [ + "▁interests", + -10.779032707214355 + ], + [ + "Having", + -10.779237747192383 + ], + [ + "▁hundreds", + -10.779669761657715 + ], + [ + "grad", + -10.780023574829102 + ], + [ + "▁neuen", + -10.780084609985352 + ], + [ + "▁cook", + -10.780552864074707 + ], + [ + "▁pur", + -10.780834197998047 + ], + [ + "▁charges", + -10.781024932861328 + ], + [ + "sche", + -10.78118896484375 + ], + [ + "▁smile", + -10.781468391418457 + ], + [ + "▁festival", + -10.781611442565918 + ], + [ + "cho", + -10.781672477722168 + ], + [ + "▁£", + -10.781937599182129 + ], + [ + "cht", + -10.78201675415039 + ], + [ + "▁macht", + -10.782021522521973 + ], + [ + "▁Wasser", + -10.782028198242188 + ], + [ + "▁Cap", + -10.78226375579834 + ], + [ + "▁Learn", + -10.78274154663086 + ], + [ + "▁load", + -10.783162117004395 + ], + [ + "▁aici", + -10.783225059509277 + ], + [ + "▁Ch", + -10.784143447875977 + ], + [ + "▁cycle", + -10.784223556518555 + ], + [ + "▁carried", + -10.784337997436523 + ], + [ + "▁jusqu", + -10.784517288208008 + ], + [ + "stein", + -10.78505802154541 + ], + [ + "ski", + -10.78513240814209 + ], + [ + "cap", + -10.78579330444336 + ], + [ + "▁Bal", + -10.785852432250977 + ], + [ + "▁minor", + -10.786053657531738 + ], + [ + "77", + -10.786175727844238 + ], + [ + "▁considering", + -10.78632640838623 + ], + [ + "innen", + -10.78644847869873 + ], + [ + "▁greatest", + -10.787055015563965 + ], + [ + "▁Training", + -10.787137031555176 + ], + [ + "08", + -10.787307739257812 + ], + [ + "▁significantly", + -10.787607192993164 + ], + [ + "gé", + -10.787728309631348 + ], + [ + "▁dumpster", + -10.788351058959961 + ], + [ + "▁allem", + -10.788930892944336 + ], + [ + "▁bonus", + -10.7889404296875 + ], + [ + "▁guy", + -10.789036750793457 + ], + [ + "fel", + -10.78904914855957 + ], + [ + "▁lifestyle", + -10.789241790771484 + ], + [ + "▁Bro", + -10.78961181640625 + ], + [ + "▁implement", + -10.789687156677246 + ], + [ + "lock", + -10.790046691894531 + ], + [ + "▁Earth", + -10.790142059326172 + ], + [ + "kar", + -10.790733337402344 + ], + [ + "▁invest", + -10.790833473205566 + ], + [ + "▁river", + -10.790933609008789 + ], + [ + "▁accurate", + -10.791494369506836 + ], + [ + "▁mu", + -10.791579246520996 + ], + [ + "▁celebrate", + -10.792119979858398 + ], + [ + "▁ran", + -10.79256820678711 + ], + [ + "▁bigger", + -10.792988777160645 + ], + [ + "▁Mer", + -10.793476104736328 + ], + [ + "▁millions", + -10.793486595153809 + ], + [ + "▁partie", + -10.793563842773438 + ], + [ + "▁dazu", + -10.793951988220215 + ], + [ + "▁Full", + -10.794130325317383 + ], + [ + "gie", + -10.794207572937012 + ], + [ + "bot", + -10.794373512268066 + ], + [ + "roll", + -10.79472827911377 + ], + [ + "▁Women", + -10.795303344726562 + ], + [ + "▁compare", + -10.796135902404785 + ], + [ + "▁van", + -10.796503067016602 + ], + [ + "▁apps", + -10.796521186828613 + ], + [ + "PC", + -10.797050476074219 + ], + [ + "▁drei", + -10.79736042022705 + ], + [ + "▁maison", + -10.797588348388672 + ], + [ + "▁knows", + -10.797712326049805 + ], + [ + "rid", + -10.797972679138184 + ], + [ + "62", + -10.798396110534668 + ], + [ + "class", + -10.798508644104004 + ], + [ + "▁chez", + -10.798669815063477 + ], + [ + "char", + -10.798828125 + ], + [ + "88", + -10.798989295959473 + ], + [ + "▁cast", + -10.79948902130127 + ], + [ + "▁examples", + -10.79973030090332 + ], + [ + "▁Therefore", + -10.799823760986328 + ], + [ + "▁topics", + -10.799941062927246 + ], + [ + "with", + -10.80013656616211 + ], + [ + "▁Anti", + -10.800555229187012 + ], + [ + "how", + -10.800620079040527 + ], + [ + "▁whom", + -10.80094051361084 + ], + [ + "▁Deutschland", + -10.801124572753906 + ], + [ + "tine", + -10.80113697052002 + ], + [ + "▁CEO", + -10.801224708557129 + ], + [ + "▁truck", + -10.801350593566895 + ], + [ + "▁Which", + -10.8015718460083 + ], + [ + "erie", + -10.802017211914062 + ], + [ + "fect", + -10.802069664001465 + ], + [ + "bou", + -10.8026762008667 + ], + [ + "▁(1", + -10.802818298339844 + ], + [ + "sum", + -10.802980422973633 + ], + [ + "▁bonne", + -10.803068161010742 + ], + [ + "▁remaining", + -10.80321216583252 + ], + [ + "▁equal", + -10.803543090820312 + ], + [ + "▁engage", + -10.803561210632324 + ], + [ + "▁RE", + -10.803849220275879 + ], + [ + "style", + -10.804182052612305 + ], + [ + "▁urma", + -10.804337501525879 + ], + [ + "▁Grund", + -10.80496883392334 + ], + [ + "ür", + -10.8051176071167 + ], + [ + "▁font", + -10.805353164672852 + ], + [ + "▁assets", + -10.805916786193848 + ], + [ + "AL", + -10.806102752685547 + ], + [ + "▁rear", + -10.80635929107666 + ], + [ + "▁contemporary", + -10.80646800994873 + ], + [ + "▁occur", + -10.8067045211792 + ], + [ + "rated", + -10.806941986083984 + ], + [ + "▁tight", + -10.807088851928711 + ], + [ + "▁machines", + -10.807921409606934 + ], + [ + "▁0.", + -10.808456420898438 + ], + [ + "▁Aber", + -10.808470726013184 + ], + [ + "sol", + -10.808517456054688 + ], + [ + "rü", + -10.80858039855957 + ], + [ + "▁2007", + -10.809479713439941 + ], + [ + "gg", + -10.809488296508789 + ], + [ + "▁unul", + -10.809691429138184 + ], + [ + "▁était", + -10.809908866882324 + ], + [ + "▁capture", + -10.809980392456055 + ], + [ + "▁command", + -10.810037612915039 + ], + [ + "▁wire", + -10.810425758361816 + ], + [ + "▁shift", + -10.810762405395508 + ], + [ + "▁bread", + -10.81084156036377 + ], + [ + "▁causes", + -10.810937881469727 + ], + [ + "PI", + -10.810938835144043 + ], + [ + "SC", + -10.811086654663086 + ], + [ + "▁lights", + -10.811190605163574 + ], + [ + "▁lived", + -10.811293601989746 + ], + [ + "mul", + -10.811446189880371 + ], + [ + "▁Cur", + -10.811917304992676 + ], + [ + "▁Richard", + -10.811973571777344 + ], + [ + "37", + -10.812638282775879 + ], + [ + "▁cup", + -10.812737464904785 + ], + [ + "▁fields", + -10.812983512878418 + ], + [ + "▁crusher", + -10.813389778137207 + ], + [ + "65", + -10.813774108886719 + ], + [ + "avons", + -10.813822746276855 + ], + [ + "▁gear", + -10.813835144042969 + ], + [ + "▁standing", + -10.813844680786133 + ], + [ + "▁thick", + -10.81445026397705 + ], + [ + "aff", + -10.815132141113281 + ], + [ + "ments", + -10.815434455871582 + ], + [ + "▁conflict", + -10.815728187561035 + ], + [ + "ität", + -10.815825462341309 + ], + [ + "▁worse", + -10.816295623779297 + ], + [ + "SE", + -10.816332817077637 + ], + [ + "imi", + -10.816459655761719 + ], + [ + "▁dating", + -10.817033767700195 + ], + [ + "Do", + -10.817073822021484 + ], + [ + "▁flexible", + -10.817093849182129 + ], + [ + "ologie", + -10.817131996154785 + ], + [ + "SU", + -10.817200660705566 + ], + [ + "▁contribute", + -10.817306518554688 + ], + [ + "▁denn", + -10.817428588867188 + ], + [ + "▁appointment", + -10.81746768951416 + ], + [ + "▁ticket", + -10.817523002624512 + ], + [ + "bed", + -10.817892074584961 + ], + [ + "▁2019.", + -10.817936897277832 + ], + [ + "▁tasks", + -10.81871223449707 + ], + [ + "▁carbon", + -10.818734169006348 + ], + [ + "▁situations", + -10.819400787353516 + ], + [ + "MA", + -10.819402694702148 + ], + [ + "▁portion", + -10.819498062133789 + ], + [ + "▁urban", + -10.819585800170898 + ], + [ + "▁Canadian", + -10.819805145263672 + ], + [ + "▁Bur", + -10.819937705993652 + ], + [ + "▁pack", + -10.81995964050293 + ], + [ + "▁effet", + -10.819992065429688 + ], + [ + "▁Ball", + -10.82008171081543 + ], + [ + "▁timpul", + -10.82014274597168 + ], + [ + "▁owned", + -10.820211410522461 + ], + [ + "▁surprise", + -10.820413589477539 + ], + [ + "▁Mu", + -10.820582389831543 + ], + [ + "▁decades", + -10.821001052856445 + ], + [ + "▁affected", + -10.821728706359863 + ], + [ + "▁proven", + -10.821732521057129 + ], + [ + "▁Fe", + -10.821990966796875 + ], + [ + "zy", + -10.822042465209961 + ], + [ + "42", + -10.822175979614258 + ], + [ + "▁trend", + -10.8223876953125 + ], + [ + "▁autres", + -10.82262897491455 + ], + [ + "No", + -10.823028564453125 + ], + [ + "▁nine", + -10.823565483093262 + ], + [ + "ON", + -10.82376480102539 + ], + [ + "NE", + -10.823953628540039 + ], + [ + "oli", + -10.824359893798828 + ], + [ + "▁Daniel", + -10.824434280395508 + ], + [ + "▁spa", + -10.824939727783203 + ], + [ + "▁messages", + -10.825084686279297 + ], + [ + "PS", + -10.825183868408203 + ], + [ + "47", + -10.825703620910645 + ], + [ + "▁doch", + -10.826032638549805 + ], + [ + "▁improvement", + -10.826187133789062 + ], + [ + "▁mountain", + -10.826350212097168 + ], + [ + "▁Room", + -10.826451301574707 + ], + [ + "▁edition", + -10.826546669006348 + ], + [ + "▁musical", + -10.826712608337402 + ], + [ + "CP", + -10.827024459838867 + ], + [ + "▁Mill", + -10.827027320861816 + ], + [ + "▁steht", + -10.827740669250488 + ], + [ + "▁determined", + -10.828083038330078 + ], + [ + "you", + -10.828392028808594 + ], + [ + "weg", + -10.828554153442383 + ], + [ + "▁Digital", + -10.828624725341797 + ], + [ + "▁filter", + -10.828903198242188 + ], + [ + "▁youth", + -10.829047203063965 + ], + [ + "▁assessment", + -10.829301834106445 + ], + [ + "▁butter", + -10.829370498657227 + ], + [ + "▁Watch", + -10.829427719116211 + ], + [ + "▁zusammen", + -10.829471588134766 + ], + [ + "▁View", + -10.829606056213379 + ], + [ + "09", + -10.829649925231934 + ], + [ + "▁sole", + -10.829816818237305 + ], + [ + ".00", + -10.830018997192383 + ], + [ + "33", + -10.83015251159668 + ], + [ + "▁export", + -10.830229759216309 + ], + [ + "ery", + -10.830373764038086 + ], + [ + "▁zurück", + -10.830426216125488 + ], + [ + "▁walls", + -10.83048152923584 + ], + [ + "▁recognize", + -10.8306884765625 + ], + [ + "law", + -10.830801963806152 + ], + [ + "▁parent", + -10.830863952636719 + ], + [ + "ST", + -10.831357955932617 + ], + [ + "▁description", + -10.831669807434082 + ], + [ + "MS", + -10.831887245178223 + ], + [ + "SM", + -10.83189582824707 + ], + [ + "▁Finally", + -10.831940650939941 + ], + [ + "▁hardware", + -10.831965446472168 + ], + [ + "ident", + -10.832464218139648 + ], + [ + "▁brown", + -10.832566261291504 + ], + [ + "▁kinds", + -10.832950592041016 + ], + [ + "▁Arts", + -10.83297061920166 + ], + [ + "▁concert", + -10.83341121673584 + ], + [ + "▁sec", + -10.83342456817627 + ], + [ + "▁represent", + -10.833512306213379 + ], + [ + "▁institutions", + -10.833597183227539 + ], + [ + "▁fur", + -10.833998680114746 + ], + [ + "▁Support", + -10.83403205871582 + ], + [ + "87", + -10.834076881408691 + ], + [ + "▁ease", + -10.834178924560547 + ], + [ + "▁feels", + -10.834218978881836 + ], + [ + "▁sheet", + -10.834342002868652 + ], + [ + "▁Though", + -10.83437442779541 + ], + [ + "▁propose", + -10.834381103515625 + ], + [ + "▁personnel", + -10.834409713745117 + ], + [ + "bie", + -10.834794044494629 + ], + [ + "▁contest", + -10.834836959838867 + ], + [ + "▁successfully", + -10.835152626037598 + ], + [ + "▁direkt", + -10.835397720336914 + ], + [ + "bietet", + -10.835597038269043 + ], + [ + "▁submit", + -10.835888862609863 + ], + [ + "▁sicher", + -10.835919380187988 + ], + [ + "▁Personal", + -10.83607006072998 + ], + [ + "94", + -10.836341857910156 + ], + [ + "61", + -10.836400985717773 + ], + [ + "▁Very", + -10.836540222167969 + ], + [ + "bol", + -10.836603164672852 + ], + [ + "▁ha", + -10.837089538574219 + ], + [ + "▁channel", + -10.8372220993042 + ], + [ + "mut", + -10.837289810180664 + ], + [ + "▁mouth", + -10.837342262268066 + ], + [ + "▁vast", + -10.837395668029785 + ], + [ + "▁Ob", + -10.837569236755371 + ], + [ + "lit", + -10.83763313293457 + ], + [ + "▁poly", + -10.837878227233887 + ], + [ + "▁trained", + -10.838102340698242 + ], + [ + "▁specialist", + -10.838122367858887 + ], + [ + "UL", + -10.83822250366211 + ], + [ + "▁seiner", + -10.838336944580078 + ], + [ + "SS", + -10.838627815246582 + ], + [ + "▁vacation", + -10.838672637939453 + ], + [ + "▁resume", + -10.839157104492188 + ], + [ + "▁constantly", + -10.839717864990234 + ], + [ + "▁treated", + -10.83986759185791 + ], + [ + "▁150", + -10.840936660766602 + ], + [ + "▁native", + -10.841246604919434 + ], + [ + "▁Russian", + -10.841329574584961 + ], + [ + "▁patterns", + -10.841371536254883 + ], + [ + "▁knowing", + -10.841670989990234 + ], + [ + "▁Pan", + -10.841682434082031 + ], + [ + "peri", + -10.841848373413086 + ], + [ + "aci", + -10.841864585876465 + ], + [ + "▁answers", + -10.842114448547363 + ], + [ + "▁heute", + -10.842985153198242 + ], + [ + "93", + -10.843056678771973 + ], + [ + "▁Winter", + -10.844083786010742 + ], + [ + "▁yes", + -10.844173431396484 + ], + [ + "SP", + -10.844185829162598 + ], + [ + "].", + -10.844388008117676 + ], + [ + "▁kein", + -10.844862937927246 + ], + [ + "▁introduce", + -10.8450927734375 + ], + [ + "-4", + -10.84555435180664 + ], + [ + "▁shoot", + -10.845762252807617 + ], + [ + "AR", + -10.84576416015625 + ], + [ + "▁receiving", + -10.845864295959473 + ], + [ + "▁intre", + -10.84702205657959 + ], + [ + "▁appeared", + -10.84708023071289 + ], + [ + "▁brother", + -10.847321510314941 + ], + [ + "▁extend", + -10.847765922546387 + ], + [ + "▁fara", + -10.848737716674805 + ], + [ + "▁kommt", + -10.848876953125 + ], + [ + "ali", + -10.848913192749023 + ], + [ + "▁numai", + -10.849047660827637 + ], + [ + "▁scientific", + -10.84913158416748 + ], + [ + "▁virtual", + -10.849145889282227 + ], + [ + "▁Ac", + -10.849513053894043 + ], + [ + "▁procedures", + -10.849631309509277 + ], + [ + "▁silver", + -10.849821090698242 + ], + [ + "▁leather", + -10.849979400634766 + ], + [ + "DA", + -10.85014820098877 + ], + [ + "▁executive", + -10.850263595581055 + ], + [ + "▁officials", + -10.850496292114258 + ], + [ + "▁agencies", + -10.850503921508789 + ], + [ + "▁Software", + -10.850540161132812 + ], + [ + "▁cor", + -10.850690841674805 + ], + [ + "Con", + -10.850741386413574 + ], + [ + "▁log", + -10.851066589355469 + ], + [ + "ț", + -10.851147651672363 + ], + [ + "02", + -10.851195335388184 + ], + [ + "▁7.", + -10.85245132446289 + ], + [ + "▁accepted", + -10.852483749389648 + ], + [ + "▁Berlin", + -10.852538108825684 + ], + [ + "ID", + -10.852582931518555 + ], + [ + "cot", + -10.852788925170898 + ], + [ + "▁employment", + -10.852799415588379 + ], + [ + "run", + -10.853020668029785 + ], + [ + "▁identified", + -10.853178977966309 + ], + [ + "96", + -10.853887557983398 + ], + [ + "▁déjà", + -10.853944778442383 + ], + [ + "▁cuisine", + -10.853952407836914 + ], + [ + "turi", + -10.854070663452148 + ], + [ + "▁Japanese", + -10.854316711425781 + ], + [ + "▁golf", + -10.854514122009277 + ], + [ + "▁Ki", + -10.854787826538086 + ], + [ + "▁carefully", + -10.854863166809082 + ], + [ + "▁remote", + -10.854973793029785 + ], + [ + "▁2018,", + -10.855148315429688 + ], + [ + "▁sus", + -10.855154991149902 + ], + [ + "tique", + -10.855293273925781 + ], + [ + "▁residential", + -10.855695724487305 + ], + [ + "97", + -10.855809211730957 + ], + [ + "▁Spring", + -10.855908393859863 + ], + [ + "▁Marketing", + -10.856186866760254 + ], + [ + "▁Control", + -10.85630989074707 + ], + [ + "var", + -10.856344223022461 + ], + [ + "▁historical", + -10.8563814163208 + ], + [ + "▁freedom", + -10.856423377990723 + ], + [ + "sure", + -10.856426239013672 + ], + [ + "▁broken", + -10.856796264648438 + ], + [ + "▁criminal", + -10.856949806213379 + ], + [ + "▁innovation", + -10.857075691223145 + ], + [ + "▁Italian", + -10.857192039489746 + ], + [ + "sper", + -10.857282638549805 + ], + [ + "▁cake", + -10.857653617858887 + ], + [ + "▁candidates", + -10.857894897460938 + ], + [ + "▁sizes", + -10.858267784118652 + ], + [ + "pel", + -10.858366966247559 + ], + [ + "▁frequently", + -10.85889720916748 + ], + [ + "▁planet", + -10.859138488769531 + ], + [ + "▁writer", + -10.859519958496094 + ], + [ + "1,", + -10.859569549560547 + ], + [ + "uvent", + -10.85959529876709 + ], + [ + "▁awareness", + -10.859807968139648 + ], + [ + "name", + -10.859954833984375 + ], + [ + "▁Children", + -10.859980583190918 + ], + [ + "▁relatively", + -10.860311508178711 + ], + [ + "▁pu", + -10.860321998596191 + ], + [ + "▁quiet", + -10.86038875579834 + ], + [ + "▁planned", + -10.860716819763184 + ], + [ + "▁election", + -10.861419677734375 + ], + [ + "▁6.", + -10.861761093139648 + ], + [ + "▁broad", + -10.861772537231445 + ], + [ + "▁skill", + -10.861835479736328 + ], + [ + "▁reasonable", + -10.862037658691406 + ], + [ + "▁Fort", + -10.862283706665039 + ], + [ + "▁aceea", + -10.862407684326172 + ], + [ + "▁arrived", + -10.86263370513916 + ], + [ + "▁payments", + -10.862680435180664 + ], + [ + "ack", + -10.862700462341309 + ], + [ + "▁Ort", + -10.863354682922363 + ], + [ + "▁investors", + -10.863364219665527 + ], + [ + "▁operate", + -10.86351203918457 + ], + [ + "ME", + -10.863556861877441 + ], + [ + "dic", + -10.863683700561523 + ], + [ + "▁foods", + -10.863731384277344 + ], + [ + "▁stick", + -10.863831520080566 + ], + [ + "▁agents", + -10.86412525177002 + ], + [ + "▁crowd", + -10.864175796508789 + ], + [ + "▁Students", + -10.864480972290039 + ], + [ + "▁concerned", + -10.864609718322754 + ], + [ + "test", + -10.864740371704102 + ], + [ + "▁designer", + -10.865334510803223 + ], + [ + "▁Conference", + -10.865593910217285 + ], + [ + "▁saving", + -10.866105079650879 + ], + [ + "▁recorded", + -10.866422653198242 + ], + [ + "▁proposed", + -10.866564750671387 + ], + [ + "▁ship", + -10.86657428741455 + ], + [ + "▁cred", + -10.867274284362793 + ], + [ + "▁Ci", + -10.867440223693848 + ], + [ + "RE", + -10.867619514465332 + ], + [ + "▁tradition", + -10.867753982543945 + ], + [ + "▁worldwide", + -10.867779731750488 + ], + [ + "64", + -10.867944717407227 + ], + [ + "▁television", + -10.867989540100098 + ], + [ + "▁projet", + -10.868102073669434 + ], + [ + "ency", + -10.868487358093262 + ], + [ + "▁struggle", + -10.868514060974121 + ], + [ + "▁twice", + -10.868955612182617 + ], + [ + "▁Off", + -10.869234085083008 + ], + [ + "▁begins", + -10.869577407836914 + ], + [ + "key", + -10.869794845581055 + ], + [ + "▁Table", + -10.869963645935059 + ], + [ + "▁demande", + -10.870177268981934 + ], + [ + "▁liquid", + -10.870441436767578 + ], + [ + "meter", + -10.870684623718262 + ], + [ + "▁2001", + -10.871190071105957 + ], + [ + "▁willing", + -10.871660232543945 + ], + [ + "▁medicine", + -10.871707916259766 + ], + [ + "▁expand", + -10.871747970581055 + ], + [ + "▁2004", + -10.871804237365723 + ], + [ + "▁2002", + -10.872016906738281 + ], + [ + "▁accord", + -10.872292518615723 + ], + [ + "▁Chris", + -10.872446060180664 + ], + [ + "▁prove", + -10.872543334960938 + ], + [ + "ston", + -10.872740745544434 + ], + [ + "mettre", + -10.872800827026367 + ], + [ + "▁moments", + -10.873537063598633 + ], + [ + "tik", + -10.87368392944336 + ], + [ + "such", + -10.874055862426758 + ], + [ + "2.", + -10.874431610107422 + ], + [ + "▁UN", + -10.874561309814453 + ], + [ + "▁jump", + -10.874737739562988 + ], + [ + "▁dish", + -10.87539291381836 + ], + [ + "▁Key", + -10.875663757324219 + ], + [ + "▁challenging", + -10.875975608825684 + ], + [ + "▁domestic", + -10.876410484313965 + ], + [ + "▁impressive", + -10.876752853393555 + ], + [ + "iger", + -10.877022743225098 + ], + [ + "▁Ram", + -10.877157211303711 + ], + [ + "▁doit", + -10.877263069152832 + ], + [ + "▁concrete", + -10.87734317779541 + ], + [ + "▁Unternehmen", + -10.877397537231445 + ], + [ + "▁LED", + -10.877429008483887 + ], + [ + "▁trouver", + -10.877533912658691 + ], + [ + "▁fundamental", + -10.877875328063965 + ], + [ + "▁implementation", + -10.878121376037598 + ], + [ + "85", + -10.878247261047363 + ], + [ + "▁hosting", + -10.87856388092041 + ], + [ + "▁Game", + -10.878691673278809 + ], + [ + "▁taught", + -10.878981590270996 + ], + [ + "tung", + -10.879016876220703 + ], + [ + "ront", + -10.87940502166748 + ], + [ + "▁shoes", + -10.879639625549316 + ], + [ + "79", + -10.8797607421875 + ], + [ + "▁stunning", + -10.879778861999512 + ], + [ + "▁Congress", + -10.880142211914062 + ], + [ + "▁Ent", + -10.880278587341309 + ], + [ + "▁Wer", + -10.880607604980469 + ], + [ + "▁alt", + -10.880608558654785 + ], + [ + "ör", + -10.880699157714844 + ], + [ + "▁calm", + -10.8808012008667 + ], + [ + "46", + -10.881132125854492 + ], + [ + "▁Daca", + -10.881404876708984 + ], + [ + "71", + -10.881938934326172 + ], + [ + "▁Dec", + -10.882392883300781 + ], + [ + "▁Fo", + -10.882437705993652 + ], + [ + "▁defense", + -10.88313102722168 + ], + [ + "▁expectations", + -10.883166313171387 + ], + [ + "▁Alle", + -10.88318920135498 + ], + [ + "▁brief", + -10.883691787719727 + ], + [ + "▁Hospital", + -10.883975982666016 + ], + [ + "▁sides", + -10.884121894836426 + ], + [ + "▁yellow", + -10.884140014648438 + ], + [ + "lei", + -10.88451862335205 + ], + [ + "▁speaking", + -10.884589195251465 + ], + [ + "▁crucial", + -10.885198593139648 + ], + [ + "▁Town", + -10.8854341506958 + ], + [ + "▁married", + -10.885574340820312 + ], + [ + "▁acesta", + -10.885583877563477 + ], + [ + "▁noted", + -10.885611534118652 + ], + [ + "▁Word", + -10.885659217834473 + ], + [ + "▁conducted", + -10.885963439941406 + ], + [ + "▁decor", + -10.886249542236328 + ], + [ + "kon", + -10.886565208435059 + ], + [ + "▁supplies", + -10.8866605758667 + ], + [ + "▁adventure", + -10.886691093444824 + ], + [ + "▁exhibition", + -10.887163162231445 + ], + [ + "heit", + -10.887300491333008 + ], + [ + "▁36", + -10.88744831085205 + ], + [ + "eria", + -10.887505531311035 + ], + [ + "ines", + -10.887551307678223 + ], + [ + "ological", + -10.887582778930664 + ], + [ + "quel", + -10.88806438446045 + ], + [ + "▁Van", + -10.88825511932373 + ], + [ + "-19", + -10.88853645324707 + ], + [ + "2,", + -10.888566970825195 + ], + [ + "▁Band", + -10.888989448547363 + ], + [ + "▁soil", + -10.889184951782227 + ], + [ + "▁Tim", + -10.889599800109863 + ], + [ + "▁NOT", + -10.88968563079834 + ], + [ + "▁pilot", + -10.889753341674805 + ], + [ + "▁Sh", + -10.889774322509766 + ], + [ + "Ho", + -10.890361785888672 + ], + [ + "CA", + -10.890509605407715 + ], + [ + "▁Eu", + -10.890745162963867 + ], + [ + "▁committee", + -10.890829086303711 + ], + [ + "▁Store", + -10.891075134277344 + ], + [ + "▁joint", + -10.89111614227295 + ], + [ + "▁Op", + -10.891315460205078 + ], + [ + "▁Jack", + -10.891985893249512 + ], + [ + "quality", + -10.89216423034668 + ], + [ + "▁Has", + -10.892489433288574 + ], + [ + "▁wenig", + -10.892507553100586 + ], + [ + "hood", + -10.892545700073242 + ], + [ + "▁Class", + -10.892582893371582 + ], + [ + "rus", + -10.892773628234863 + ], + [ + "▁grown", + -10.89294719696045 + ], + [ + "▁About", + -10.893518447875977 + ], + [ + "▁sum", + -10.893942832946777 + ], + [ + "▁Fair", + -10.893946647644043 + ], + [ + "SA", + -10.894149780273438 + ], + [ + "92", + -10.894185066223145 + ], + [ + "▁fourth", + -10.894354820251465 + ], + [ + "▁featured", + -10.894384384155273 + ], + [ + "▁Pen", + -10.89444637298584 + ], + [ + "▁natürlich", + -10.894885063171387 + ], + [ + "ched", + -10.894901275634766 + ], + [ + "▁ban", + -10.895112991333008 + ], + [ + "anne", + -10.89522647857666 + ], + [ + "▁theory", + -10.895413398742676 + ], + [ + "bin", + -10.895438194274902 + ], + [ + "iers", + -10.895819664001465 + ], + [ + "▁strategic", + -10.895903587341309 + ], + [ + "▁jours", + -10.895956039428711 + ], + [ + "▁communicate", + -10.896124839782715 + ], + [ + "▁pin", + -10.896320343017578 + ], + [ + "▁Bon", + -10.89721393585205 + ], + [ + "kom", + -10.897290229797363 + ], + [ + "-5", + -10.898177146911621 + ], + [ + "▁degrees", + -10.898643493652344 + ], + [ + "▁entertainment", + -10.899014472961426 + ], + [ + "ară", + -10.899248123168945 + ], + [ + "ales", + -10.899425506591797 + ], + [ + "▁pendant", + -10.89954662322998 + ], + [ + "▁Series", + -10.899575233459473 + ], + [ + "▁holds", + -10.899592399597168 + ], + [ + "▁Mini", + -10.899828910827637 + ], + [ + "▁Obama", + -10.899898529052734 + ], + [ + "▁conform", + -10.900163650512695 + ], + [ + "-10", + -10.900216102600098 + ], + [ + "▁preparation", + -10.9009370803833 + ], + [ + "▁autre", + -10.90105152130127 + ], + [ + "▁mortgage", + -10.901155471801758 + ], + [ + "▁Kan", + -10.901508331298828 + ], + [ + "▁typical", + -10.901538848876953 + ], + [ + "01", + -10.901711463928223 + ], + [ + "▁Review", + -10.901862144470215 + ], + [ + "▁laptop", + -10.902127265930176 + ], + [ + "CR", + -10.902610778808594 + ], + [ + "▁thread", + -10.90265941619873 + ], + [ + "BS", + -10.902661323547363 + ], + [ + "▁upper", + -10.902700424194336 + ], + [ + "▁searching", + -10.902932167053223 + ], + [ + "▁pen", + -10.903214454650879 + ], + [ + "▁Middle", + -10.90333080291748 + ], + [ + "73", + -10.903359413146973 + ], + [ + "▁leg", + -10.903650283813477 + ], + [ + "onic", + -10.904272079467773 + ], + [ + "IS", + -10.904356956481934 + ], + [ + "▁Kar", + -10.904623985290527 + ], + [ + "anz", + -10.9046630859375 + ], + [ + "▁circuit", + -10.904901504516602 + ], + [ + "▁Casino", + -10.905384063720703 + ], + [ + "07", + -10.90584659576416 + ], + [ + "▁petit", + -10.905906677246094 + ], + [ + "TV", + -10.905978202819824 + ], + [ + "level", + -10.906311988830566 + ], + [ + "▁Point", + -10.906312942504883 + ], + [ + "rau", + -10.906474113464355 + ], + [ + "▁cabinet", + -10.906991958618164 + ], + [ + "▁failed", + -10.907042503356934 + ], + [ + "▁stated", + -10.907126426696777 + ], + [ + "LA", + -10.907461166381836 + ], + [ + "▁privacy", + -10.907596588134766 + ], + [ + "vol", + -10.907901763916016 + ], + [ + "ativ", + -10.908151626586914 + ], + [ + "▁matters", + -10.908210754394531 + ], + [ + "▁Mor", + -10.908555030822754 + ], + [ + "▁Ur", + -10.90860652923584 + ], + [ + "view", + -10.908968925476074 + ], + [ + "▁consultation", + -10.90921688079834 + ], + [ + "TS", + -10.909296989440918 + ], + [ + "▁apartment", + -10.909412384033203 + ], + [ + "▁integrated", + -10.909425735473633 + ], + [ + "74", + -10.909669876098633 + ], + [ + "▁Through", + -10.909710884094238 + ], + [ + "▁kick", + -10.909798622131348 + ], + [ + "▁perioada", + -10.90993881225586 + ], + [ + "▁entirely", + -10.909953117370605 + ], + [ + "▁impossible", + -10.91015911102295 + ], + [ + "▁consideration", + -10.910268783569336 + ], + [ + "▁Alt", + -10.91054916381836 + ], + [ + "▁Come", + -10.911089897155762 + ], + [ + "▁outstanding", + -10.911276817321777 + ], + [ + "83", + -10.911727905273438 + ], + [ + "▁prezent", + -10.911859512329102 + ], + [ + "▁Local", + -10.911993980407715 + ], + [ + "▁Camp", + -10.912056922912598 + ], + [ + "▁bear", + -10.912067413330078 + ], + [ + "enden", + -10.912262916564941 + ], + [ + "life", + -10.91236686706543 + ], + [ + "▁Haus", + -10.912516593933105 + ], + [ + "▁William", + -10.912644386291504 + ], + [ + "“,", + -10.912665367126465 + ], + [ + "▁Instagram", + -10.91285514831543 + ], + [ + "▁solve", + -10.913195610046387 + ], + [ + "▁Ze", + -10.913431167602539 + ], + [ + "▁everyday", + -10.91357135772705 + ], + [ + "bla", + -10.913615226745605 + ], + [ + "eng", + -10.913662910461426 + ], + [ + "ough", + -10.914246559143066 + ], + [ + "84", + -10.914483070373535 + ], + [ + "?\"", + -10.914599418640137 + ], + [ + "rely", + -10.91476821899414 + ], + [ + "TH", + -10.914841651916504 + ], + [ + "lang", + -10.91511058807373 + ], + [ + "82", + -10.915817260742188 + ], + [ + "▁removal", + -10.91589641571045 + ], + [ + "ală", + -10.915956497192383 + ], + [ + "▁circumstances", + -10.916097640991211 + ], + [ + "ente", + -10.91622257232666 + ], + [ + "▁lieu", + -10.91645336151123 + ], + [ + "▁2016.", + -10.91710376739502 + ], + [ + "▁ales", + -10.917342185974121 + ], + [ + "▁pure", + -10.917482376098633 + ], + [ + "▁choosing", + -10.917590141296387 + ], + [ + "▁Russia", + -10.917698860168457 + ], + [ + "amp", + -10.917703628540039 + ], + [ + "▁Santa", + -10.91788387298584 + ], + [ + "▁happening", + -10.918203353881836 + ], + [ + "▁crew", + -10.91822338104248 + ], + [ + "▁lei", + -10.91855239868164 + ], + [ + "IP", + -10.91858196258545 + ], + [ + "RO", + -10.919425964355469 + ], + [ + "▁resort", + -10.919514656066895 + ], + [ + "ened", + -10.919689178466797 + ], + [ + "MB", + -10.920031547546387 + ], + [ + "▁styles", + -10.920052528381348 + ], + [ + "▁dernier", + -10.920533180236816 + ], + [ + "uck", + -10.920699119567871 + ], + [ + "▁Guide", + -10.920710563659668 + ], + [ + "fic", + -10.92096996307373 + ], + [ + "▁fitness", + -10.921977996826172 + ], + [ + "▁healthcare", + -10.92223072052002 + ], + [ + "mol", + -10.92237663269043 + ], + [ + "▁vis", + -10.922721862792969 + ], + [ + "▁atmosphere", + -10.922972679138184 + ], + [ + "▁motion", + -10.922989845275879 + ], + [ + "▁closer", + -10.923114776611328 + ], + [ + "▁SA", + -10.92335319519043 + ], + [ + "▁default", + -10.923371315002441 + ], + [ + "▁architecture", + -10.923471450805664 + ], + [ + "iile", + -10.923528671264648 + ], + [ + "zel", + -10.923675537109375 + ], + [ + "cla", + -10.92387866973877 + ], + [ + "OP", + -10.924382209777832 + ], + [ + "▁west", + -10.924965858459473 + ], + [ + "▁Energy", + -10.925613403320312 + ], + [ + "▁positions", + -10.925777435302734 + ], + [ + "▁contrast", + -10.925885200500488 + ], + [ + "▁serves", + -10.92605972290039 + ], + [ + "cup", + -10.926340103149414 + ], + [ + "▁rose", + -10.926485061645508 + ], + [ + "pers", + -10.92664623260498 + ], + [ + "▁noise", + -10.926846504211426 + ], + [ + "mont", + -10.92690658569336 + ], + [ + "#", + -10.927061080932617 + ], + [ + "lies", + -10.927326202392578 + ], + [ + "pat", + -10.927718162536621 + ], + [ + "IC", + -10.927956581115723 + ], + [ + "arc", + -10.927989959716797 + ], + [ + "▁winner", + -10.928524017333984 + ], + [ + "tent", + -10.928732872009277 + ], + [ + "▁Preis", + -10.929106712341309 + ], + [ + "▁vin", + -10.929254531860352 + ], + [ + "blo", + -10.92929458618164 + ], + [ + "ție", + -10.929520606994629 + ], + [ + "▁OR", + -10.930315017700195 + ], + [ + "▁Buch", + -10.930798530578613 + ], + [ + "▁nearby", + -10.931190490722656 + ], + [ + "▁meetings", + -10.931290626525879 + ], + [ + "▁48", + -10.931465148925781 + ], + [ + "▁quand", + -10.93152904510498 + ], + [ + "▁usual", + -10.931936264038086 + ], + [ + "▁weitere", + -10.932539939880371 + ], + [ + "▁caught", + -10.932571411132812 + ], + [ + "▁issued", + -10.932626724243164 + ], + [ + "ști", + -10.932896614074707 + ], + [ + "upcoming", + -10.933232307434082 + ], + [ + "▁agreed", + -10.933233261108398 + ], + [ + "place", + -10.933353424072266 + ], + [ + "▁Brand", + -10.93344497680664 + ], + [ + "▁relation", + -10.933969497680664 + ], + [ + "▁atât", + -10.934090614318848 + ], + [ + "▁Tre", + -10.934176445007324 + ], + [ + "▁lors", + -10.934438705444336 + ], + [ + "▁adopt", + -10.934452056884766 + ], + [ + "▁celui", + -10.93458366394043 + ], + [ + "cken", + -10.93505859375 + ], + [ + "▁partnership", + -10.935284614562988 + ], + [ + "?”", + -10.935376167297363 + ], + [ + "▁ba", + -10.935746192932129 + ], + [ + "▁ID", + -10.935832023620605 + ], + [ + "▁consistent", + -10.935835838317871 + ], + [ + "▁Ya", + -10.935941696166992 + ], + [ + "▁Academy", + -10.936182022094727 + ], + [ + "cial", + -10.936230659484863 + ], + [ + "1%", + -10.936366081237793 + ], + [ + "▁mise", + -10.936684608459473 + ], + [ + "▁gute", + -10.936728477478027 + ], + [ + "gli", + -10.936939239501953 + ], + [ + "▁Bu", + -10.937679290771484 + ], + [ + "▁reduction", + -10.937917709350586 + ], + [ + "acy", + -10.938126564025879 + ], + [ + "aga", + -10.938161849975586 + ], + [ + "▁Sc", + -10.938273429870605 + ], + [ + "▁Informationen", + -10.938308715820312 + ], + [ + "▁kommen", + -10.938352584838867 + ], + [ + "press", + -10.93837833404541 + ], + [ + "▁bridge", + -10.938379287719727 + ], + [ + "▁qualified", + -10.938671112060547 + ], + [ + "position", + -10.938821792602539 + ], + [ + "▁combat", + -10.938933372497559 + ], + [ + "!\"", + -10.938993453979492 + ], + [ + "eva", + -10.939217567443848 + ], + [ + "oase", + -10.939380645751953 + ], + [ + "▁inner", + -10.939410209655762 + ], + [ + "▁loans", + -10.939720153808594 + ], + [ + "made", + -10.939786911010742 + ], + [ + "▁Mexico", + -10.93993091583252 + ], + [ + "▁formal", + -10.940092086791992 + ], + [ + "▁fell", + -10.94021987915039 + ], + [ + "91", + -10.940524101257324 + ], + [ + "▁campus", + -10.9407320022583 + ], + [ + "ienne", + -10.940869331359863 + ], + [ + "▁framework", + -10.94105339050293 + ], + [ + "ncing", + -10.941157341003418 + ], + [ + "▁Para", + -10.941222190856934 + ], + [ + "▁password", + -10.941298484802246 + ], + [ + "▁sei", + -10.941422462463379 + ], + [ + "▁Cross", + -10.941532135009766 + ], + [ + "▁Ten", + -10.941873550415039 + ], + [ + "bank", + -10.941887855529785 + ], + [ + "▁gun", + -10.942000389099121 + ], + [ + "ient", + -10.942021369934082 + ], + [ + "▁usage", + -10.942176818847656 + ], + [ + "▁(2", + -10.942278861999512 + ], + [ + "Gra", + -10.942320823669434 + ], + [ + "▁prea", + -10.94253158569336 + ], + [ + "▁Als", + -10.942619323730469 + ], + [ + "▁finance", + -10.942638397216797 + ], + [ + "tate", + -10.942665100097656 + ], + [ + "ition", + -10.942703247070312 + ], + [ + "▁regulations", + -10.942741394042969 + ], + [ + "▁Professional", + -10.943001747131348 + ], + [ + "▁pl", + -10.94336986541748 + ], + [ + "▁SEO", + -10.943472862243652 + ], + [ + "▁trecut", + -10.943487167358398 + ], + [ + "▁aller", + -10.943509101867676 + ], + [ + "▁violence", + -10.943986892700195 + ], + [ + "▁membership", + -10.944117546081543 + ], + [ + "▁picked", + -10.944162368774414 + ], + [ + "▁collected", + -10.9443359375 + ], + [ + "▁extended", + -10.944449424743652 + ], + [ + "▁religious", + -10.944661140441895 + ], + [ + "▁salle", + -10.944767951965332 + ], + [ + "RA", + -10.944781303405762 + ], + [ + "▁blend", + -10.945232391357422 + ], + [ + "▁Min", + -10.94532299041748 + ], + [ + "kal", + -10.945887565612793 + ], + [ + "▁featuring", + -10.945902824401855 + ], + [ + "▁researchers", + -10.946263313293457 + ], + [ + "▁Search", + -10.946558952331543 + ], + [ + "CE", + -10.946675300598145 + ], + [ + "▁recognized", + -10.94682502746582 + ], + [ + "▁semi", + -10.94692611694336 + ], + [ + "▁exposure", + -10.94718074798584 + ], + [ + "grew", + -10.947466850280762 + ], + [ + "▁candidate", + -10.948250770568848 + ], + [ + "▁shares", + -10.948908805847168 + ], + [ + "▁edit", + -10.949745178222656 + ], + [ + "CS", + -10.949905395507812 + ], + [ + "▁Cl", + -10.950240135192871 + ], + [ + "▁Enjoy", + -10.951438903808594 + ], + [ + "▁hurt", + -10.951482772827148 + ], + [ + "▁bottle", + -10.951593399047852 + ], + [ + "▁Buy", + -10.95159912109375 + ], + [ + "▁superior", + -10.952286720275879 + ], + [ + "▁missed", + -10.952424049377441 + ], + [ + "▁workshop", + -10.952433586120605 + ], + [ + "action", + -10.952437400817871 + ], + [ + "ple", + -10.952699661254883 + ], + [ + "▁Schul", + -10.952814102172852 + ], + [ + "▁houses", + -10.953080177307129 + ], + [ + "▁2017,", + -10.953569412231445 + ], + [ + "▁killed", + -10.953750610351562 + ], + [ + "▁calendar", + -10.954306602478027 + ], + [ + "▁Mike", + -10.954597473144531 + ], + [ + "FA", + -10.954627990722656 + ], + [ + "nut", + -10.95487117767334 + ], + [ + "▁establish", + -10.955140113830566 + ], + [ + "▁alcohol", + -10.95514965057373 + ], + [ + "▁closely", + -10.955170631408691 + ], + [ + "▁MA", + -10.955381393432617 + ], + [ + "pul", + -10.955389022827148 + ], + [ + "▁defined", + -10.955666542053223 + ], + [ + "aires", + -10.955692291259766 + ], + [ + "▁Shi", + -10.955703735351562 + ], + [ + "▁plays", + -10.956303596496582 + ], + [ + "▁sister", + -10.95690631866455 + ], + [ + "▁cable", + -10.957179069519043 + ], + [ + "▁desk", + -10.957215309143066 + ], + [ + "▁apoi", + -10.957738876342773 + ], + [ + "▁identity", + -10.95785140991211 + ], + [ + "▁stars", + -10.957931518554688 + ], + [ + "▁fata", + -10.958008766174316 + ], + [ + "▁obvious", + -10.958330154418945 + ], + [ + "▁dental", + -10.95843505859375 + ], + [ + "AM", + -10.958802223205566 + ], + [ + "▁sharp", + -10.95881175994873 + ], + [ + "duc", + -10.959053993225098 + ], + [ + "▁manufacturer", + -10.95914077758789 + ], + [ + "!)", + -10.959270477294922 + ], + [ + "▁objects", + -10.959720611572266 + ], + [ + "▁Ag", + -10.959989547729492 + ], + [ + "referred", + -10.960195541381836 + ], + [ + "▁Ak", + -10.960308074951172 + ], + [ + "burg", + -10.960360527038574 + ], + [ + "▁nouveau", + -10.960854530334473 + ], + [ + "▁Pal", + -10.960994720458984 + ], + [ + "▁Arbeits", + -10.961280822753906 + ], + [ + "▁personally", + -10.961288452148438 + ], + [ + "▁Dé", + -10.961292266845703 + ], + [ + "▁import", + -10.961688041687012 + ], + [ + "▁justice", + -10.961913108825684 + ], + [ + "▁photography", + -10.962705612182617 + ], + [ + "▁portfolio", + -10.962841987609863 + ], + [ + "56", + -10.96314525604248 + ], + [ + "▁nouvelle", + -10.963293075561523 + ], + [ + "▁oven", + -10.964197158813477 + ], + [ + "▁400", + -10.964272499084473 + ], + [ + "▁mixed", + -10.964395523071289 + ], + [ + "▁relax", + -10.964427947998047 + ], + [ + "▁imp", + -10.964703559875488 + ], + [ + "▁».", + -10.964734077453613 + ], + [ + "▁mail", + -10.964777946472168 + ], + [ + "rage", + -10.964861869812012 + ], + [ + "nos", + -10.964974403381348 + ], + [ + "▁drugs", + -10.965195655822754 + ], + [ + "▁jede", + -10.965211868286133 + ], + [ + "▁einige", + -10.965232849121094 + ], + [ + "▁8.", + -10.965325355529785 + ], + [ + "ters", + -10.965412139892578 + ], + [ + "▁electrical", + -10.965432167053223 + ], + [ + "▁puis", + -10.965836524963379 + ], + [ + "▁films", + -10.965903282165527 + ], + [ + "41", + -10.966036796569824 + ], + [ + "▁moral", + -10.966398239135742 + ], + [ + "lage", + -10.966402053833008 + ], + [ + "▁spaces", + -10.966415405273438 + ], + [ + "▁Ed", + -10.966462135314941 + ], + [ + "▁classroom", + -10.966588020324707 + ], + [ + "▁große", + -10.966588973999023 + ], + [ + "▁baza", + -10.966887474060059 + ], + [ + "face", + -10.967308044433594 + ], + [ + "▁informed", + -10.967333793640137 + ], + [ + "▁improving", + -10.967477798461914 + ], + [ + "▁guidance", + -10.967880249023438 + ], + [ + "▁gallery", + -10.96800708770752 + ], + [ + "cular", + -10.968046188354492 + ], + [ + "53", + -10.968094825744629 + ], + [ + "Despite", + -10.968238830566406 + ], + [ + "▁forme", + -10.968304634094238 + ], + [ + "▁système", + -10.968415260314941 + ], + [ + "▁Win", + -10.968494415283203 + ], + [ + "▁Small", + -10.968537330627441 + ], + [ + "▁Mobile", + -10.968564987182617 + ], + [ + "▁tape", + -10.968606948852539 + ], + [ + "▁erhalten", + -10.968914985656738 + ], + [ + "▁movies", + -10.968928337097168 + ], + [ + "▁Unfortunately", + -10.968963623046875 + ], + [ + "▁Looking", + -10.96945858001709 + ], + [ + "▁guard", + -10.969584465026855 + ], + [ + "▁pr", + -10.969820976257324 + ], + [ + "▁confident", + -10.96988582611084 + ], + [ + "BA", + -10.970229148864746 + ], + [ + "bas", + -10.970272064208984 + ], + [ + "hum", + -10.97050666809082 + ], + [ + "ular", + -10.9705171585083 + ], + [ + "▁Still", + -10.970593452453613 + ], + [ + "▁flavor", + -10.970656394958496 + ], + [ + "▁boost", + -10.970773696899414 + ], + [ + "▁division", + -10.970842361450195 + ], + [ + "ising", + -10.971006393432617 + ], + [ + "▁monitoring", + -10.971044540405273 + ], + [ + "▁Sen", + -10.97105884552002 + ], + [ + "▁https", + -10.971527099609375 + ], + [ + "mainly", + -10.971735000610352 + ], + [ + "play", + -10.972251892089844 + ], + [ + "▁dynamic", + -10.972357749938965 + ], + [ + "▁coup", + -10.972370147705078 + ], + [ + "▁carpet", + -10.972561836242676 + ], + [ + "iner", + -10.972846984863281 + ], + [ + "ral", + -10.97325611114502 + ], + [ + "iser", + -10.973320007324219 + ], + [ + "RC", + -10.9739990234375 + ], + [ + "▁definition", + -10.97475814819336 + ], + [ + "▁Za", + -10.974767684936523 + ], + [ + "friendly", + -10.974883079528809 + ], + [ + "43", + -10.975123405456543 + ], + [ + "link", + -10.975180625915527 + ], + [ + "▁Multi", + -10.97519302368164 + ], + [ + "▁einmal", + -10.975272178649902 + ], + [ + "▁stopped", + -10.975394248962402 + ], + [ + "vel", + -10.975456237792969 + ], + [ + "▁ongoing", + -10.975565910339355 + ], + [ + "▁ancient", + -10.976259231567383 + ], + [ + "take", + -10.976301193237305 + ], + [ + "cia", + -10.976432800292969 + ], + [ + "▁USB", + -10.976545333862305 + ], + [ + "▁attorney", + -10.976866722106934 + ], + [ + "▁slot", + -10.976866722106934 + ], + [ + "▁Line", + -10.97693157196045 + ], + [ + "rice", + -10.977087020874023 + ], + [ + "ify", + -10.977520942687988 + ], + [ + "ó", + -10.978260040283203 + ], + [ + "▁flash", + -10.978483200073242 + ], + [ + "▁extension", + -10.978555679321289 + ], + [ + "▁Ende", + -10.979022979736328 + ], + [ + "▁powder", + -10.979114532470703 + ], + [ + "ească", + -10.979143142700195 + ], + [ + "03", + -10.979327201843262 + ], + [ + "▁normally", + -10.979416847229004 + ], + [ + "▁pun", + -10.980108261108398 + ], + [ + "viewed", + -10.980138778686523 + ], + [ + "ssen", + -10.980896949768066 + ], + [ + "ache", + -10.981121063232422 + ], + [ + "ește", + -10.98122787475586 + ], + [ + "▁PA", + -10.981266021728516 + ], + [ + "FI", + -10.981945991516113 + ], + [ + "▁Frank", + -10.98198127746582 + ], + [ + "▁apa", + -10.98242473602295 + ], + [ + "▁coast", + -10.982614517211914 + ], + [ + "▁boy", + -10.982665061950684 + ], + [ + "lim", + -10.982902526855469 + ], + [ + "▁putin", + -10.983194351196289 + ], + [ + "▁script", + -10.983332633972168 + ], + [ + "▁noticed", + -10.9837007522583 + ], + [ + "▁dealing", + -10.983922004699707 + ], + [ + "▁Trans", + -10.984100341796875 + ], + [ + "▁border", + -10.984447479248047 + ], + [ + "▁reputation", + -10.984657287597656 + ], + [ + "-2", + -10.984662055969238 + ], + [ + "HS", + -10.984707832336426 + ], + [ + "▁supports", + -10.984724998474121 + ], + [ + "▁horse", + -10.985146522521973 + ], + [ + "nik", + -10.98520565032959 + ], + [ + "▁clothes", + -10.985234260559082 + ], + [ + "▁Card", + -10.985612869262695 + ], + [ + "▁relief", + -10.98595905303955 + ], + [ + "▁Visit", + -10.986259460449219 + ], + [ + "▁luni", + -10.986593246459961 + ], + [ + "81", + -10.986693382263184 + ], + [ + "qua", + -10.986945152282715 + ], + [ + "▁Comp", + -10.98697280883789 + ], + [ + "▁investigation", + -10.987137794494629 + ], + [ + "▁depth", + -10.987598419189453 + ], + [ + "▁earned", + -10.987709045410156 + ], + [ + "▁Ren", + -10.988090515136719 + ], + [ + "▁Dumnezeu", + -10.988107681274414 + ], + [ + "▁Joe", + -10.988210678100586 + ], + [ + "▁goods", + -10.988288879394531 + ], + [ + "▁Vol", + -10.988686561584473 + ], + [ + "▁certified", + -10.989118576049805 + ], + [ + "▁favor", + -10.989326477050781 + ], + [ + "▁Scott", + -10.989599227905273 + ], + [ + "▁protest", + -10.989802360534668 + ], + [ + "▁pace", + -10.989803314208984 + ], + [ + "▁Angeles", + -10.990368843078613 + ], + [ + "inch", + -10.99050521850586 + ], + [ + "▁charged", + -10.99052619934082 + ], + [ + "code", + -10.990968704223633 + ], + [ + "▁convenient", + -10.99138355255127 + ], + [ + "▁Nord", + -10.991556167602539 + ], + [ + "▁yesterday", + -10.991691589355469 + ], + [ + "Dacă", + -10.99169635772705 + ], + [ + "▁Travel", + -10.991786003112793 + ], + [ + "▁kid", + -10.991941452026367 + ], + [ + "ction", + -10.991986274719238 + ], + [ + "▁groupe", + -10.992770195007324 + ], + [ + "pu", + -10.993056297302246 + ], + [ + "bzw", + -10.993196487426758 + ], + [ + "▁mixture", + -10.993513107299805 + ], + [ + "▁Farm", + -10.993715286254883 + ], + [ + "▁acces", + -10.993939399719238 + ], + [ + "matic", + -10.993950843811035 + ], + [ + "▁comparison", + -10.994006156921387 + ], + [ + "reich", + -10.994095802307129 + ], + [ + "pet", + -10.994502067565918 + ], + [ + "▁lit", + -10.994685173034668 + ], + [ + "▁organized", + -10.99476432800293 + ], + [ + "just", + -10.995564460754395 + ], + [ + "▁fellow", + -10.996004104614258 + ], + [ + "Ver", + -10.996209144592285 + ], + [ + "▁trends", + -10.99622631072998 + ], + [ + "▁evaluation", + -10.99626636505127 + ], + [ + "feld", + -10.99639892578125 + ], + [ + "▁Pu", + -10.99671459197998 + ], + [ + "▁equipped", + -10.99727725982666 + ], + [ + "▁catre", + -10.997278213500977 + ], + [ + "eck", + -10.997369766235352 + ], + [ + "▁facing", + -10.997998237609863 + ], + [ + "▁instrument", + -10.998361587524414 + ], + [ + "▁pleased", + -10.998507499694824 + ], + [ + "▁tap", + -10.998818397521973 + ], + [ + "dom", + -10.998826026916504 + ], + [ + "▁pump", + -10.999384880065918 + ], + [ + "▁functional", + -10.999429702758789 + ], + [ + "▁authority", + -10.999455451965332 + ], + [ + "▁experiment", + -10.999478340148926 + ], + [ + "LO", + -10.999529838562012 + ], + [ + "▁scheduled", + -10.999552726745605 + ], + [ + "halt", + -10.999604225158691 + ], + [ + "▁ceiling", + -10.999761581420898 + ], + [ + "▁Step", + -11.000310897827148 + ], + [ + "▁orders", + -11.00032901763916 + ], + [ + "▁speech", + -11.001046180725098 + ], + [ + "▁stands", + -11.001119613647461 + ], + [ + "▁disc", + -11.001920700073242 + ], + [ + "▁rec", + -11.001935958862305 + ], + [ + "▁Text", + -11.00243854522705 + ], + [ + "▁banks", + -11.00294017791748 + ], + [ + "▁oameni", + -11.003045082092285 + ], + [ + "▁communications", + -11.003194808959961 + ], + [ + "trag", + -11.003307342529297 + ], + [ + "▁trail", + -11.003803253173828 + ], + [ + "AN", + -11.00426197052002 + ], + [ + "▁Federal", + -11.004467964172363 + ], + [ + "▁quote", + -11.00455093383789 + ], + [ + "▁spus", + -11.004620552062988 + ], + [ + "▁managing", + -11.004990577697754 + ], + [ + "▁booking", + -11.00505256652832 + ], + [ + "▁Blog", + -11.005669593811035 + ], + [ + "▁tank", + -11.005681991577148 + ], + [ + "pon", + -11.005804061889648 + ], + [ + "GE", + -11.00582218170166 + ], + [ + "▁fiscal", + -11.005871772766113 + ], + [ + "▁satisfaction", + -11.006044387817383 + ], + [ + "cre", + -11.00614070892334 + ], + [ + "▁protected", + -11.006494522094727 + ], + [ + "▁enfants", + -11.006782531738281 + ], + [ + "▁dort", + -11.007554054260254 + ], + [ + "▁Mel", + -11.008041381835938 + ], + [ + "▁turns", + -11.00804615020752 + ], + [ + "▁savings", + -11.008106231689453 + ], + [ + "▁voir", + -11.008358001708984 + ], + [ + "▁Boston", + -11.008394241333008 + ], + [ + "▁debate", + -11.008469581604004 + ], + [ + "▁SO", + -11.008857727050781 + ], + [ + "▁tables", + -11.009193420410156 + ], + [ + "▁honest", + -11.009210586547852 + ], + [ + "mate", + -11.009283065795898 + ], + [ + "▁chart", + -11.0094633102417 + ], + [ + "decât", + -11.009682655334473 + ], + [ + "▁Radio", + -11.009685516357422 + ], + [ + "54", + -11.00986385345459 + ], + [ + "▁vol", + -11.010008811950684 + ], + [ + "last", + -11.010148048400879 + ], + [ + "▁tall", + -11.010408401489258 + ], + [ + "▁Should", + -11.010489463806152 + ], + [ + "▁sink", + -11.010525703430176 + ], + [ + "▁Right", + -11.010527610778809 + ], + [ + "▁male", + -11.010720252990723 + ], + [ + "▁Modern", + -11.010753631591797 + ], + [ + "▁indeed", + -11.010886192321777 + ], + [ + "▁Garden", + -11.011139869689941 + ], + [ + "▁Mod", + -11.011307716369629 + ], + [ + "▁turning", + -11.0115327835083 + ], + [ + "▁inches", + -11.011557579040527 + ], + [ + "▁Police", + -11.01183795928955 + ], + [ + "▁Pay", + -11.012016296386719 + ], + [ + "UE", + -11.0126371383667 + ], + [ + "mé", + -11.012652397155762 + ], + [ + "EE", + -11.013046264648438 + ], + [ + "▁cookies", + -11.013116836547852 + ], + [ + "rip", + -11.013351440429688 + ], + [ + "▁Motor", + -11.01352310180664 + ], + [ + "▁lung", + -11.01379680633545 + ], + [ + "▁Ap", + -11.013995170593262 + ], + [ + "▁sustainable", + -11.014066696166992 + ], + [ + "▁instant", + -11.014240264892578 + ], + [ + "▁Rose", + -11.014464378356934 + ], + [ + "▁Carolina", + -11.014906883239746 + ], + [ + "▁Help", + -11.014969825744629 + ], + [ + "IE", + -11.01535701751709 + ], + [ + "▁Jersey", + -11.015522956848145 + ], + [ + "▁Spanish", + -11.015586853027344 + ], + [ + "▁wheel", + -11.015660285949707 + ], + [ + "▁fishing", + -11.0158109664917 + ], + [ + "gram", + -11.015937805175781 + ], + [ + "▁ST", + -11.016227722167969 + ], + [ + "▁Nov", + -11.01632022857666 + ], + [ + "▁reporting", + -11.016362190246582 + ], + [ + "ked", + -11.016467094421387 + ], + [ + "▁Leben", + -11.016557693481445 + ], + [ + "▁organisation", + -11.016843795776367 + ], + [ + "▁tiny", + -11.017144203186035 + ], + [ + "▁Alex", + -11.017236709594727 + ], + [ + "▁obtained", + -11.017255783081055 + ], + [ + "▁Acest", + -11.017367362976074 + ], + [ + "▁dangerous", + -11.01749038696289 + ], + [ + "utter", + -11.017624855041504 + ], + [ + "▁rev", + -11.01801586151123 + ], + [ + "Un", + -11.018242835998535 + ], + [ + "▁revealed", + -11.018356323242188 + ], + [ + "▁decade", + -11.018709182739258 + ], + [ + "▁possibility", + -11.01945686340332 + ], + [ + "service", + -11.019577980041504 + ], + [ + "è", + -11.01966667175293 + ], + [ + "▁Chief", + -11.019674301147461 + ], + [ + "▁Durch", + -11.019795417785645 + ], + [ + "▁cadre", + -11.019843101501465 + ], + [ + "▁wearing", + -11.019845008850098 + ], + [ + "sized", + -11.01988410949707 + ], + [ + "LY", + -11.01989459991455 + ], + [ + "▁unser", + -11.019963264465332 + ], + [ + "▁2016,", + -11.019988059997559 + ], + [ + "▁fail", + -11.020028114318848 + ], + [ + "iques", + -11.020115852355957 + ], + [ + "▁Angel", + -11.020315170288086 + ], + [ + "▁transportation", + -11.020364761352539 + ], + [ + "▁dates", + -11.020395278930664 + ], + [ + "▁danger", + -11.020731925964355 + ], + [ + "▁forum", + -11.020828247070312 + ], + [ + "zug", + -11.020885467529297 + ], + [ + "▁filed", + -11.021199226379395 + ], + [ + "loc", + -11.021201133728027 + ], + [ + "éri", + -11.021234512329102 + ], + [ + "tribu", + -11.021393775939941 + ], + [ + "▁entered", + -11.021639823913574 + ], + [ + "▁porte", + -11.021928787231445 + ], + [ + "▁arts", + -11.021979331970215 + ], + [ + "▁reform", + -11.022001266479492 + ], + [ + "▁Main", + -11.022101402282715 + ], + [ + "▁dir", + -11.022111892700195 + ], + [ + "▁approval", + -11.022465705871582 + ], + [ + "▁juice", + -11.022750854492188 + ], + [ + "vier", + -11.022771835327148 + ], + [ + "▁nivel", + -11.02318000793457 + ], + [ + "▁returns", + -11.023423194885254 + ], + [ + "▁formed", + -11.023723602294922 + ], + [ + "▁combine", + -11.02436351776123 + ], + [ + "▁cours", + -11.024392127990723 + ], + [ + "▁Standard", + -11.024463653564453 + ], + [ + "▁certification", + -11.024677276611328 + ], + [ + "escu", + -11.024996757507324 + ], + [ + "▁achieved", + -11.025278091430664 + ], + [ + "▁Model", + -11.025280952453613 + ], + [ + "rul", + -11.025404930114746 + ], + [ + "▁Tage", + -11.025530815124512 + ], + [ + "▁injuries", + -11.02560806274414 + ], + [ + "▁Sal", + -11.025671005249023 + ], + [ + "▁expenses", + -11.025887489318848 + ], + [ + "▁cet", + -11.026009559631348 + ], + [ + "▁taxes", + -11.026028633117676 + ], + [ + "diesen", + -11.02626895904541 + ], + [ + "▁fairly", + -11.026638984680176 + ], + [ + "▁Access", + -11.026866912841797 + ], + [ + "wind", + -11.027122497558594 + ], + [ + "IM", + -11.027252197265625 + ], + [ + "ense", + -11.027548789978027 + ], + [ + "▁hang", + -11.027957916259766 + ], + [ + "▁citizens", + -11.028020858764648 + ], + [ + "3%", + -11.028101921081543 + ], + [ + "lum", + -11.028268814086914 + ], + [ + "▁discussed", + -11.028326034545898 + ], + [ + "AC", + -11.02841854095459 + ], + [ + "‘", + -11.0286865234375 + ], + [ + "▁Sol", + -11.028698921203613 + ], + [ + "06", + -11.028816223144531 + ], + [ + "stellen", + -11.029170989990234 + ], + [ + "▁participation", + -11.02917194366455 + ], + [ + "▁Box", + -11.029200553894043 + ], + [ + "▁bieten", + -11.029687881469727 + ], + [ + "▁Louis", + -11.029730796813965 + ], + [ + "▁lessons", + -11.029789924621582 + ], + [ + "▁visible", + -11.029966354370117 + ], + [ + "▁Cam", + -11.030128479003906 + ], + [ + "▁Ban", + -11.03053092956543 + ], + [ + "▁Far", + -11.03060245513916 + ], + [ + "▁travers", + -11.030759811401367 + ], + [ + "▁telling", + -11.030808448791504 + ], + [ + "▁magic", + -11.030855178833008 + ], + [ + "▁Night", + -11.031316757202148 + ], + [ + "▁judge", + -11.031400680541992 + ], + [ + "▁Pat", + -11.031482696533203 + ], + [ + "▁Southern", + -11.031901359558105 + ], + [ + "OL", + -11.031929969787598 + ], + [ + "fully", + -11.032191276550293 + ], + [ + "▁acestea", + -11.03223705291748 + ], + [ + "▁Order", + -11.032383918762207 + ], + [ + "▁facut", + -11.032523155212402 + ], + [ + "▁Matt", + -11.032600402832031 + ], + [ + "registr", + -11.03278923034668 + ], + [ + "▁Yet", + -11.032811164855957 + ], + [ + "ß", + -11.033596992492676 + ], + [ + "▁făcut", + -11.033618927001953 + ], + [ + "▁versions", + -11.033780097961426 + ], + [ + "▁Force", + -11.03396224975586 + ], + [ + "rick", + -11.034153938293457 + ], + [ + "▁rund", + -11.034563064575195 + ], + [ + "ike", + -11.034658432006836 + ], + [ + "▁Young", + -11.034675598144531 + ], + [ + "▁ski", + -11.034927368164062 + ], + [ + "CU", + -11.035385131835938 + ], + [ + "▁Second", + -11.035510063171387 + ], + [ + "▁graduate", + -11.03554916381836 + ], + [ + "▁Bible", + -11.036049842834473 + ], + [ + "▁vary", + -11.036060333251953 + ], + [ + "▁celebration", + -11.036151885986328 + ], + [ + "▁risks", + -11.036210060119629 + ], + [ + "erii", + -11.036327362060547 + ], + [ + "rance", + -11.036577224731445 + ], + [ + "▁MP", + -11.036787986755371 + ], + [ + "▁tale", + -11.036788940429688 + ], + [ + "▁Ford", + -11.037044525146484 + ], + [ + "▁attached", + -11.037278175354004 + ], + [ + "▁Sy", + -11.037312507629395 + ], + [ + "▁Ly", + -11.03765869140625 + ], + [ + "stellung", + -11.037687301635742 + ], + [ + "▁trop", + -11.0377197265625 + ], + [ + "▁années", + -11.037736892700195 + ], + [ + "▁linked", + -11.03792667388916 + ], + [ + "pit", + -11.038352012634277 + ], + [ + "So", + -11.03835391998291 + ], + [ + "ţe", + -11.038473129272461 + ], + [ + "▁origin", + -11.038509368896484 + ], + [ + "▁boys", + -11.039263725280762 + ], + [ + "holder", + -11.039352416992188 + ], + [ + "read", + -11.039461135864258 + ], + [ + "▁relative", + -11.03950023651123 + ], + [ + "▁industries", + -11.03958511352539 + ], + [ + "making", + -11.039688110351562 + ], + [ + "▁tun", + -11.039917945861816 + ], + [ + "▁forced", + -11.041061401367188 + ], + [ + "▁Welcome", + -11.041086196899414 + ], + [ + "▁explained", + -11.041138648986816 + ], + [ + "MP", + -11.041389465332031 + ], + [ + "▁Three", + -11.041613578796387 + ], + [ + "aza", + -11.041768074035645 + ], + [ + "▁1999", + -11.041924476623535 + ], + [ + "▁erst", + -11.042237281799316 + ], + [ + "RS", + -11.042623519897461 + ], + [ + "▁attractive", + -11.04279899597168 + ], + [ + "▁visited", + -11.042805671691895 + ], + [ + "▁nom", + -11.042874336242676 + ], + [ + "▁drum", + -11.042933464050293 + ], + [ + "cast", + -11.043068885803223 + ], + [ + "ogen", + -11.043105125427246 + ], + [ + "▁tech", + -11.04360294342041 + ], + [ + "▁Comment", + -11.043664932250977 + ], + [ + "▁Little", + -11.04405689239502 + ], + [ + "▁suggested", + -11.044086456298828 + ], + [ + "▁gar", + -11.044205665588379 + ], + [ + "▁crack", + -11.04458999633789 + ], + [ + "▁shooting", + -11.044676780700684 + ], + [ + "▁Try", + -11.044759750366211 + ], + [ + "▁Remember", + -11.045008659362793 + ], + [ + "▁folks", + -11.045217514038086 + ], + [ + "▁MS", + -11.045512199401855 + ], + [ + "▁Dia", + -11.04584789276123 + ], + [ + "3)", + -11.046561241149902 + ], + [ + "arbeit", + -11.04697036743164 + ], + [ + "▁pepper", + -11.047065734863281 + ], + [ + "zz", + -11.047107696533203 + ], + [ + "▁extreme", + -11.047235488891602 + ], + [ + "▁extrem", + -11.047367095947266 + ], + [ + "▁severe", + -11.047768592834473 + ], + [ + "▁networks", + -11.047882080078125 + ], + [ + "păr", + -11.047910690307617 + ], + [ + "sent", + -11.047933578491211 + ], + [ + "▁structures", + -11.048048973083496 + ], + [ + "▁Join", + -11.048078536987305 + ], + [ + "▁privind", + -11.048255920410156 + ], + [ + "▁marriage", + -11.04865837097168 + ], + [ + "▁liegt", + -11.048918724060059 + ], + [ + "eben", + -11.048995971679688 + ], + [ + "▁produse", + -11.049076080322266 + ], + [ + "▁tested", + -11.049090385437012 + ], + [ + "▁Queen", + -11.049134254455566 + ], + [ + "▁Tax", + -11.049687385559082 + ], + [ + "rian", + -11.049710273742676 + ], + [ + "▁Problem", + -11.050151824951172 + ], + [ + "izat", + -11.05023193359375 + ], + [ + "udi", + -11.050324440002441 + ], + [ + "▁LA", + -11.050718307495117 + ], + [ + "▁afford", + -11.051108360290527 + ], + [ + "▁percentage", + -11.05121898651123 + ], + [ + "▁cute", + -11.051547050476074 + ], + [ + "▁gorgeous", + -11.051891326904297 + ], + [ + "▁indoor", + -11.05190372467041 + ], + [ + "▁configuration", + -11.052103042602539 + ], + [ + "▁immediate", + -11.052303314208984 + ], + [ + "▁exemple", + -11.052450180053711 + ], + [ + "▁Being", + -11.052550315856934 + ], + [ + "▁introduction", + -11.052591323852539 + ], + [ + "ella", + -11.053206443786621 + ], + [ + "bare", + -11.053521156311035 + ], + [ + "▁besser", + -11.053539276123047 + ], + [ + "▁Put", + -11.053740501403809 + ], + [ + "gon", + -11.054248809814453 + ], + [ + "▁Italy", + -11.054259300231934 + ], + [ + "▁Thus", + -11.05435562133789 + ], + [ + "tari", + -11.054437637329102 + ], + [ + "0.000", + -11.054460525512695 + ], + [ + "▁Price", + -11.054651260375977 + ], + [ + "▁Trust", + -11.054824829101562 + ], + [ + "▁contra", + -11.054863929748535 + ], + [ + "▁layout", + -11.05504035949707 + ], + [ + "▁Ireland", + -11.055187225341797 + ], + [ + "ctor", + -11.055344581604004 + ], + [ + "atoare", + -11.055540084838867 + ], + [ + "pra", + -11.055729866027832 + ], + [ + "rent", + -11.055892944335938 + ], + [ + "▁Seite", + -11.05605411529541 + ], + [ + "▁ori", + -11.056280136108398 + ], + [ + "spiel", + -11.056541442871094 + ], + [ + "▁Times", + -11.056883811950684 + ], + [ + "primarily", + -11.056974411010742 + ], + [ + "nov", + -11.05703067779541 + ], + [ + "▁desired", + -11.057061195373535 + ], + [ + "▁Would", + -11.057072639465332 + ], + [ + "PL", + -11.057225227355957 + ], + [ + "▁originally", + -11.057367324829102 + ], + [ + "▁Ana", + -11.057463645935059 + ], + [ + "EN", + -11.05754566192627 + ], + [ + "▁occasion", + -11.05755615234375 + ], + [ + "▁grant", + -11.057572364807129 + ], + [ + "igkeit", + -11.057975769042969 + ], + [ + "▁scheme", + -11.058146476745605 + ], + [ + "▁2015.", + -11.058621406555176 + ], + [ + "izare", + -11.058778762817383 + ], + [ + "gate", + -11.058792114257812 + ], + [ + "▁poker", + -11.058899879455566 + ], + [ + "pping", + -11.058998107910156 + ], + [ + "▁Wild", + -11.059511184692383 + ], + [ + "▁YouTube", + -11.059995651245117 + ], + [ + "▁assume", + -11.060284614562988 + ], + [ + "с", + -11.060614585876465 + ], + [ + "▁rapport", + -11.060623168945312 + ], + [ + "▁labor", + -11.060996055603027 + ], + [ + "teur", + -11.061041831970215 + ], + [ + "▁genre", + -11.06116008758545 + ], + [ + "▁plat", + -11.061745643615723 + ], + [ + "▁listening", + -11.061750411987305 + ], + [ + "sky", + -11.061777114868164 + ], + [ + "▁neighborhood", + -11.061782836914062 + ], + [ + "▁3-", + -11.062150001525879 + ], + [ + "▁Library", + -11.062162399291992 + ], + [ + "agit", + -11.062249183654785 + ], + [ + "▁platforms", + -11.062849998474121 + ], + [ + "bei", + -11.062882423400879 + ], + [ + "AB", + -11.062897682189941 + ], + [ + "▁manufacturers", + -11.06295394897461 + ], + [ + "▁printing", + -11.063141822814941 + ], + [ + "▁crisis", + -11.063326835632324 + ], + [ + "▁Smart", + -11.06335163116455 + ], + [ + "▁drawing", + -11.063406944274902 + ], + [ + "MO", + -11.06348991394043 + ], + [ + "▁durable", + -11.063569068908691 + ], + [ + "chant", + -11.0636625289917 + ], + [ + "▁chemical", + -11.063764572143555 + ], + [ + "▁savoir", + -11.063776016235352 + ], + [ + "▁Max", + -11.063802719116211 + ], + [ + "gestellt", + -11.06380844116211 + ], + [ + "▁rural", + -11.063854217529297 + ], + [ + "52", + -11.064105033874512 + ], + [ + "▁invited", + -11.064169883728027 + ], + [ + "▁fil", + -11.0642728805542 + ], + [ + "▁Rob", + -11.064284324645996 + ], + [ + "▁Bell", + -11.064387321472168 + ], + [ + "▁neck", + -11.064831733703613 + ], + [ + "pac", + -11.064879417419434 + ], + [ + "wal", + -11.06491470336914 + ], + [ + "▁là", + -11.064922332763672 + ], + [ + "▁Virginia", + -11.065081596374512 + ], + [ + "▁applicable", + -11.06509017944336 + ], + [ + "▁abuse", + -11.065153121948242 + ], + [ + "aide", + -11.065321922302246 + ], + [ + "▁increases", + -11.065396308898926 + ], + [ + "▁moi", + -11.065568923950195 + ], + [ + "▁Non", + -11.065577507019043 + ], + [ + "▁Produkt", + -11.065627098083496 + ], + [ + "FC", + -11.065644264221191 + ], + [ + "▁shops", + -11.065677642822266 + ], + [ + "▁prendre", + -11.065923690795898 + ], + [ + "atul", + -11.065990447998047 + ], + [ + "▁sal", + -11.066137313842773 + ], + [ + "▁société", + -11.06627082824707 + ], + [ + "▁Hot", + -11.066329002380371 + ], + [ + "rim", + -11.066587448120117 + ], + [ + "gue", + -11.06661605834961 + ], + [ + "▁enterprise", + -11.066624641418457 + ], + [ + "▁33", + -11.067329406738281 + ], + [ + "mittel", + -11.067395210266113 + ], + [ + "ged", + -11.067439079284668 + ], + [ + "▁formula", + -11.06777286529541 + ], + [ + "▁spin", + -11.067784309387207 + ], + [ + "als", + -11.067826271057129 + ], + [ + "2%", + -11.06785774230957 + ], + [ + "bon", + -11.068192481994629 + ], + [ + "▁Executive", + -11.068323135375977 + ], + [ + "▁wirklich", + -11.068427085876465 + ], + [ + "îl", + -11.068608283996582 + ], + [ + "1.", + -11.068917274475098 + ], + [ + "▁Arm", + -11.069157600402832 + ], + [ + "▁rid", + -11.069358825683594 + ], + [ + "aries", + -11.069727897644043 + ], + [ + "▁incident", + -11.06982421875 + ], + [ + "▁copii", + -11.070008277893066 + ], + [ + "▁Charles", + -11.070141792297363 + ], + [ + "▁meals", + -11.070147514343262 + ], + [ + "▁wireless", + -11.070237159729004 + ], + [ + "Ex", + -11.070364952087402 + ], + [ + "▁Financial", + -11.070540428161621 + ], + [ + "▁AM", + -11.070615768432617 + ], + [ + "▁fest", + -11.070645332336426 + ], + [ + "▁Ol", + -11.071410179138184 + ], + [ + "oir", + -11.071447372436523 + ], + [ + "300", + -11.071893692016602 + ], + [ + "▁punct", + -11.072138786315918 + ], + [ + "▁Mad", + -11.07283878326416 + ], + [ + "▁Ali", + -11.072907447814941 + ], + [ + "lag", + -11.073214530944824 + ], + [ + "▁ocean", + -11.073314666748047 + ], + [ + "▁mirror", + -11.073326110839844 + ], + [ + "▁Additionally", + -11.073869705200195 + ], + [ + "alia", + -11.073884963989258 + ], + [ + "▁county", + -11.073899269104004 + ], + [ + "▁hip", + -11.074305534362793 + ], + [ + "dale", + -11.074395179748535 + ], + [ + "▁Stra", + -11.074429512023926 + ], + [ + "▁drag", + -11.074575424194336 + ], + [ + "▁Sand", + -11.074851036071777 + ], + [ + "▁historic", + -11.074980735778809 + ], + [ + "ière", + -11.075427055358887 + ], + [ + "▁examine", + -11.075624465942383 + ], + [ + "soci", + -11.075634002685547 + ], + [ + "ime", + -11.076088905334473 + ], + [ + "▁Insurance", + -11.07621955871582 + ], + [ + "▁crime", + -11.076736450195312 + ], + [ + "▁pare", + -11.076945304870605 + ], + [ + "▁craft", + -11.077105522155762 + ], + [ + "▁Building", + -11.077279090881348 + ], + [ + "mission", + -11.077534675598145 + ], + [ + "▁Americans", + -11.077573776245117 + ], + [ + "▁mg", + -11.077799797058105 + ], + [ + "▁passage", + -11.077938079833984 + ], + [ + "▁deposit", + -11.078346252441406 + ], + [ + "▁widely", + -11.078444480895996 + ], + [ + "nch", + -11.078453063964844 + ], + [ + "▁Coast", + -11.078756332397461 + ], + [ + "▁recipes", + -11.078784942626953 + ], + [ + "▁Ziel", + -11.07951545715332 + ], + [ + "▁duty", + -11.079646110534668 + ], + [ + "▁gerne", + -11.079704284667969 + ], + [ + "most", + -11.080034255981445 + ], + [ + "▁argument", + -11.080158233642578 + ], + [ + "▁root", + -11.08021354675293 + ], + [ + "▁consult", + -11.08024787902832 + ], + [ + "▁muscle", + -11.080255508422852 + ], + [ + "▁spoke", + -11.08038330078125 + ], + [ + "▁Cum", + -11.080950736999512 + ], + [ + "▁orange", + -11.081033706665039 + ], + [ + "▁reader", + -11.081123352050781 + ], + [ + "schw", + -11.081151008605957 + ], + [ + "▁commission", + -11.081332206726074 + ], + [ + "histoire", + -11.081811904907227 + ], + [ + "▁represents", + -11.082064628601074 + ], + [ + "▁meilleur", + -11.082343101501465 + ], + [ + "▁10.", + -11.082358360290527 + ], + [ + "HA", + -11.082427024841309 + ], + [ + "▁Systems", + -11.082573890686035 + ], + [ + "▁blind", + -11.082603454589844 + ], + [ + "▁HP", + -11.083221435546875 + ], + [ + "▁doi", + -11.083307266235352 + ], + [ + "▁signature", + -11.083404541015625 + ], + [ + "▁invite", + -11.083505630493164 + ], + [ + "▁Samsung", + -11.083802223205566 + ], + [ + "▁liber", + -11.083942413330078 + ], + [ + "▁letters", + -11.0840482711792 + ], + [ + "▁primul", + -11.084186553955078 + ], + [ + "▁losing", + -11.084328651428223 + ], + [ + "resulting", + -11.084467887878418 + ], + [ + "▁Computer", + -11.08474063873291 + ], + [ + "▁poll", + -11.0847749710083 + ], + [ + "rile", + -11.085102081298828 + ], + [ + "TI", + -11.085142135620117 + ], + [ + "▁cur", + -11.08566951751709 + ], + [ + "▁fonction", + -11.085833549499512 + ], + [ + "gat", + -11.086359977722168 + ], + [ + "AA", + -11.086480140686035 + ], + [ + "tiv", + -11.086692810058594 + ], + [ + "▁Str", + -11.087076187133789 + ], + [ + "ești", + -11.087677955627441 + ], + [ + "▁officer", + -11.0877046585083 + ], + [ + "reducing", + -11.08772087097168 + ], + [ + "▁gifts", + -11.08780288696289 + ], + [ + "▁performing", + -11.08788776397705 + ], + [ + "▁»,", + -11.088349342346191 + ], + [ + "▁guitar", + -11.08838939666748 + ], + [ + "▁segment", + -11.088580131530762 + ], + [ + "▁Tar", + -11.08861255645752 + ], + [ + "▁ultimately", + -11.088805198669434 + ], + [ + "▁cam", + -11.088960647583008 + ], + [ + "▁Arbeit", + -11.089076042175293 + ], + [ + "▁accessories", + -11.089418411254883 + ], + [ + "bad", + -11.089820861816406 + ], + [ + "home", + -11.0899019241333 + ], + [ + "▁clip", + -11.08995532989502 + ], + [ + "range", + -11.090432167053223 + ], + [ + "CM", + -11.090867042541504 + ], + [ + "▁printed", + -11.090883255004883 + ], + [ + "▁Pet", + -11.091177940368652 + ], + [ + "▁attract", + -11.091333389282227 + ], + [ + "date", + -11.091501235961914 + ], + [ + "▁Senior", + -11.091503143310547 + ], + [ + "▁genau", + -11.092177391052246 + ], + [ + "num", + -11.092435836791992 + ], + [ + "▁attended", + -11.092674255371094 + ], + [ + "▁Turn", + -11.092824935913086 + ], + [ + "▁History", + -11.092830657958984 + ], + [ + "some", + -11.092852592468262 + ], + [ + "▁describe", + -11.09308910369873 + ], + [ + "▁Lee", + -11.093143463134766 + ], + [ + "▁Fre", + -11.093314170837402 + ], + [ + "▁league", + -11.093345642089844 + ], + [ + "new", + -11.093505859375 + ], + [ + "tors", + -11.093535423278809 + ], + [ + "▁storm", + -11.094005584716797 + ], + [ + "▁Beispiel", + -11.094197273254395 + ], + [ + "▁index", + -11.094344139099121 + ], + [ + "▁awarded", + -11.094613075256348 + ], + [ + "state", + -11.094625473022461 + ], + [ + "▁1990", + -11.094874382019043 + ], + [ + "▁ends", + -11.094902992248535 + ], + [ + "kor", + -11.095070838928223 + ], + [ + "far", + -11.095418930053711 + ], + [ + "▁Page", + -11.095541000366211 + ], + [ + "▁promotion", + -11.095610618591309 + ], + [ + "▁weekly", + -11.095726013183594 + ], + [ + "400", + -11.095966339111328 + ], + [ + "iuni", + -11.096365928649902 + ], + [ + "▁Summer", + -11.096376419067383 + ], + [ + "▁thin", + -11.096627235412598 + ], + [ + "▁dafür", + -11.09669303894043 + ], + [ + "51", + -11.096769332885742 + ], + [ + "PR", + -11.096978187561035 + ], + [ + "▁Hy", + -11.097001075744629 + ], + [ + "gas", + -11.097013473510742 + ], + [ + "▁atat", + -11.097166061401367 + ], + [ + "▁mining", + -11.097347259521484 + ], + [ + "▁principles", + -11.09741497039795 + ], + [ + "gent", + -11.097545623779297 + ], + [ + "ika", + -11.097685813903809 + ], + [ + "▁religion", + -11.097787857055664 + ], + [ + "▁ordered", + -11.098284721374512 + ], + [ + "▁developers", + -11.098298072814941 + ], + [ + "▁pleasure", + -11.098456382751465 + ], + [ + "vit", + -11.098505020141602 + ], + [ + "mers", + -11.0988130569458 + ], + [ + "▁Section", + -11.098873138427734 + ], + [ + "▁por", + -11.098960876464844 + ], + [ + "▁Name", + -11.099200248718262 + ], + [ + "▁pink", + -11.099260330200195 + ], + [ + "dig", + -11.09934139251709 + ], + [ + "▁eligible", + -11.099397659301758 + ], + [ + "▁Happy", + -11.09941577911377 + ], + [ + "▁fo", + -11.099480628967285 + ], + [ + "▁availability", + -11.099541664123535 + ], + [ + "GO", + -11.099583625793457 + ], + [ + "▁Europa", + -11.099637985229492 + ], + [ + "▁Unit", + -11.099656105041504 + ], + [ + "▁1000", + -11.099837303161621 + ], + [ + "▁Berg", + -11.099846839904785 + ], + [ + "fini", + -11.099853515625 + ], + [ + "▁$3", + -11.100565910339355 + ], + [ + "iza", + -11.100749969482422 + ], + [ + "▁promo", + -11.100830078125 + ], + [ + "▁Low", + -11.101234436035156 + ], + [ + "abord", + -11.101326942443848 + ], + [ + "äh", + -11.101485252380371 + ], + [ + "▁Professor", + -11.101570129394531 + ], + [ + "▁array", + -11.101579666137695 + ], + [ + "▁hate", + -11.101594924926758 + ], + [ + "▁recording", + -11.101601600646973 + ], + [ + "RI", + -11.101649284362793 + ], + [ + "▁proof", + -11.101710319519043 + ], + [ + "lay", + -11.10185718536377 + ], + [ + "DE", + -11.102007865905762 + ], + [ + "▁surprised", + -11.102066040039062 + ], + [ + "▁boxes", + -11.102193832397461 + ], + [ + "▁noastre", + -11.102386474609375 + ], + [ + "zie", + -11.102387428283691 + ], + [ + "▁însă", + -11.10254192352295 + ], + [ + "▁ajuta", + -11.102783203125 + ], + [ + "▁weil", + -11.1028413772583 + ], + [ + "▁whenever", + -11.103026390075684 + ], + [ + "shi", + -11.103194236755371 + ], + [ + "satz", + -11.103605270385742 + ], + [ + "▁remind", + -11.10401725769043 + ], + [ + "▁consist", + -11.10412311553955 + ], + [ + "▁motiv", + -11.104240417480469 + ], + [ + "▁PS", + -11.1043062210083 + ], + [ + "▁trois", + -11.104543685913086 + ], + [ + "pad", + -11.10477352142334 + ], + [ + "▁besten", + -11.104904174804688 + ], + [ + "▁Stone", + -11.105140686035156 + ], + [ + "itz", + -11.105157852172852 + ], + [ + "fit", + -11.105164527893066 + ], + [ + "▁Mountain", + -11.105178833007812 + ], + [ + "OC", + -11.10519027709961 + ], + [ + "▁depends", + -11.105228424072266 + ], + [ + "▁Cover", + -11.105387687683105 + ], + [ + "▁bags", + -11.106058120727539 + ], + [ + "▁Bel", + -11.106199264526367 + ], + [ + "▁Engineering", + -11.106304168701172 + ], + [ + "▁flower", + -11.106647491455078 + ], + [ + "▁gratuit", + -11.106670379638672 + ], + [ + "▁smartphone", + -11.106780052185059 + ], + [ + "stan", + -11.107197761535645 + ], + [ + "spect", + -11.10726261138916 + ], + [ + "SL", + -11.107282638549805 + ], + [ + "sho", + -11.10738754272461 + ], + [ + "▁Ser", + -11.10791301727295 + ], + [ + "▁Perhaps", + -11.108247756958008 + ], + [ + "▁codes", + -11.108342170715332 + ], + [ + "▁Wind", + -11.10849666595459 + ], + [ + "aient", + -11.108757019042969 + ], + [ + "▁Prin", + -11.108802795410156 + ], + [ + "▁(1)", + -11.109090805053711 + ], + [ + "▁figures", + -11.109450340270996 + ], + [ + "▁ausge", + -11.10972785949707 + ], + [ + "▁episode", + -11.110050201416016 + ], + [ + "▁Spa", + -11.110370635986328 + ], + [ + "▁Silver", + -11.110386848449707 + ], + [ + "▁Sky", + -11.110396385192871 + ], + [ + "▁capabilities", + -11.1107177734375 + ], + [ + "▁Uni", + -11.11073112487793 + ], + [ + "▁încă", + -11.110876083374023 + ], + [ + "TO", + -11.111289978027344 + ], + [ + "▁Hal", + -11.111358642578125 + ], + [ + "ghi", + -11.111414909362793 + ], + [ + "▁sofa", + -11.111438751220703 + ], + [ + "hard", + -11.11150074005127 + ], + [ + "▁FOR", + -11.111587524414062 + ], + [ + "▁Ber", + -11.111820220947266 + ], + [ + "▁firms", + -11.11187744140625 + ], + [ + "▁memories", + -11.111883163452148 + ], + [ + "▁lift", + -11.11214542388916 + ], + [ + "▁sending", + -11.11214542388916 + ], + [ + "▁narrow", + -11.112646102905273 + ], + [ + "▁Steve", + -11.112784385681152 + ], + [ + "▁integration", + -11.112905502319336 + ], + [ + "known", + -11.113122940063477 + ], + [ + "▁nostru", + -11.113237380981445 + ], + [ + "iţi", + -11.113422393798828 + ], + [ + "▁Georgia", + -11.113759994506836 + ], + [ + "▁slowly", + -11.114026069641113 + ], + [ + "iere", + -11.114028930664062 + ], + [ + "aka", + -11.114255905151367 + ], + [ + "PE", + -11.114320755004883 + ], + [ + "▁venue", + -11.11468505859375 + ], + [ + "jar", + -11.11474609375 + ], + [ + "buch", + -11.114755630493164 + ], + [ + "rad", + -11.114858627319336 + ], + [ + "▁resistance", + -11.114899635314941 + ], + [ + "▁stehen", + -11.114914894104004 + ], + [ + "chin", + -11.11504077911377 + ], + [ + "▁weak", + -11.11535358428955 + ], + [ + "▁DVD", + -11.115598678588867 + ], + [ + "▁bodies", + -11.115856170654297 + ], + [ + "▁split", + -11.115884780883789 + ], + [ + "What", + -11.116231918334961 + ], + [ + "setzen", + -11.116467475891113 + ], + [ + "▁loves", + -11.116561889648438 + ], + [ + "▁kleine", + -11.117077827453613 + ], + [ + "▁increasingly", + -11.11746883392334 + ], + [ + "▁alert", + -11.117583274841309 + ], + [ + "▁AC", + -11.117647171020508 + ], + [ + "▁partir", + -11.117974281311035 + ], + [ + "▁ratio", + -11.11807918548584 + ], + [ + "▁keeps", + -11.118539810180664 + ], + [ + "▁Area", + -11.118544578552246 + ], + [ + "▁données", + -11.119071960449219 + ], + [ + "▁flag", + -11.119254112243652 + ], + [ + "▁NO", + -11.119277000427246 + ], + [ + "▁hotels", + -11.119336128234863 + ], + [ + "▁debut", + -11.119365692138672 + ], + [ + "▁suffer", + -11.119368553161621 + ], + [ + "▁hidden", + -11.119810104370117 + ], + [ + "▁clothing", + -11.120074272155762 + ], + [ + "▁household", + -11.120235443115234 + ], + [ + "medi", + -11.120268821716309 + ], + [ + "▁reste", + -11.120274543762207 + ], + [ + "bro", + -11.120381355285645 + ], + [ + "▁Bus", + -11.120405197143555 + ], + [ + "▁Ken", + -11.120572090148926 + ], + [ + "IR", + -11.120758056640625 + ], + [ + "▁suffering", + -11.121212005615234 + ], + [ + "▁publication", + -11.121246337890625 + ], + [ + "▁Mat", + -11.121360778808594 + ], + [ + "▁impression", + -11.121509552001953 + ], + [ + "▁founded", + -11.121562957763672 + ], + [ + "▁stable", + -11.121566772460938 + ], + [ + "▁promise", + -11.121719360351562 + ], + [ + "▁Cloud", + -11.121770858764648 + ], + [ + "▁prison", + -11.122099876403809 + ], + [ + "cor", + -11.122355461120605 + ], + [ + "▁Sports", + -11.122716903686523 + ], + [ + "▁erste", + -11.122745513916016 + ], + [ + "shire", + -11.122757911682129 + ], + [ + "▁recommendations", + -11.122916221618652 + ], + [ + "▁permit", + -11.123100280761719 + ], + [ + "▁tomorrow", + -11.123126983642578 + ], + [ + "▁lucky", + -11.123422622680664 + ], + [ + "▁realized", + -11.123449325561523 + ], + [ + "▁famille", + -11.123473167419434 + ], + [ + "▁Zealand", + -11.123542785644531 + ], + [ + "▁wooden", + -11.123601913452148 + ], + [ + "▁east", + -11.124269485473633 + ], + [ + "▁Bereich", + -11.12458324432373 + ], + [ + "während", + -11.124653816223145 + ], + [ + "rite", + -11.124836921691895 + ], + [ + "▁fla", + -11.124902725219727 + ], + [ + "platz", + -11.124991416931152 + ], + [ + "▁zero", + -11.125292778015137 + ], + [ + "▁priority", + -11.12535572052002 + ], + [ + "▁Airport", + -11.125506401062012 + ], + [ + "▁Kauf", + -11.125590324401855 + ], + [ + "▁ultimate", + -11.12601375579834 + ], + [ + "▁chest", + -11.126175880432129 + ], + [ + "▁tone", + -11.126376152038574 + ], + [ + "▁Kal", + -11.126431465148926 + ], + [ + "▁supposed", + -11.12669849395752 + ], + [ + "▁vedere", + -11.126846313476562 + ], + [ + "▁50%", + -11.126872062683105 + ], + [ + "▁Ger", + -11.127785682678223 + ], + [ + "pack", + -11.127849578857422 + ], + [ + "▁priv", + -11.128241539001465 + ], + [ + "▁Kit", + -11.128263473510742 + ], + [ + "▁tent", + -11.128457069396973 + ], + [ + "▁guidelines", + -11.128461837768555 + ], + [ + "▁Republic", + -11.128824234008789 + ], + [ + "including", + -11.129239082336426 + ], + [ + "▁chief", + -11.129615783691406 + ], + [ + "▁Living", + -11.129766464233398 + ], + [ + "keit", + -11.1298189163208 + ], + [ + "▁convert", + -11.129831314086914 + ], + [ + "tail", + -11.129928588867188 + ], + [ + "orient", + -11.129960060119629 + ], + [ + "eigenen", + -11.130245208740234 + ], + [ + "▁soup", + -11.130587577819824 + ], + [ + "▁zona", + -11.130661010742188 + ], + [ + "▁composition", + -11.130690574645996 + ], + [ + "▁Bob", + -11.130831718444824 + ], + [ + "▁exception", + -11.131170272827148 + ], + [ + "▁cr", + -11.131287574768066 + ], + [ + "▁str", + -11.131482124328613 + ], + [ + "▁Fl", + -11.13178825378418 + ], + [ + "AT", + -11.131909370422363 + ], + [ + "kel", + -11.132002830505371 + ], + [ + "▁pricing", + -11.132189750671387 + ], + [ + "▁Mass", + -11.132258415222168 + ], + [ + "vir", + -11.132333755493164 + ], + [ + "leg", + -11.132448196411133 + ], + [ + "▁rating", + -11.132455825805664 + ], + [ + "▁Sale", + -11.132628440856934 + ], + [ + "▁somewhere", + -11.132866859436035 + ], + [ + "▁submitted", + -11.133084297180176 + ], + [ + "▁Pop", + -11.133296012878418 + ], + [ + "▁papers", + -11.13330364227295 + ], + [ + "▁authorities", + -11.133326530456543 + ], + [ + "▁Person", + -11.133381843566895 + ], + [ + "▁kill", + -11.133512496948242 + ], + [ + "▁suggestions", + -11.133548736572266 + ], + [ + "-6", + -11.133644104003906 + ], + [ + "▁dust", + -11.133750915527344 + ], + [ + "taire", + -11.133805274963379 + ], + [ + "▁recognition", + -11.133870124816895 + ], + [ + "3.", + -11.134047508239746 + ], + [ + "▁Mont", + -11.134230613708496 + ], + [ + "▁produit", + -11.13430118560791 + ], + [ + "▁transmission", + -11.134340286254883 + ], + [ + "▁Th", + -11.13475513458252 + ], + [ + "▁passing", + -11.134928703308105 + ], + [ + "▁Partner", + -11.135161399841309 + ], + [ + "▁dire", + -11.135205268859863 + ], + [ + "▁DC", + -11.135432243347168 + ], + [ + "▁sky", + -11.135659217834473 + ], + [ + "▁Kitchen", + -11.135890007019043 + ], + [ + "▁fluid", + -11.135929107666016 + ], + [ + "▁scored", + -11.136005401611328 + ], + [ + "▁chapter", + -11.136100769042969 + ], + [ + "If", + -11.136231422424316 + ], + [ + "letzten", + -11.136275291442871 + ], + [ + "▁officers", + -11.13641357421875 + ], + [ + "▁avem", + -11.136631965637207 + ], + [ + "ister", + -11.136666297912598 + ], + [ + "▁involves", + -11.136688232421875 + ], + [ + "ico", + -11.136898040771484 + ], + [ + "bur", + -11.137056350708008 + ], + [ + "▁mieux", + -11.137064933776855 + ], + [ + "▁Photo", + -11.1371431350708 + ], + [ + "▁Cro", + -11.137228012084961 + ], + [ + "▁professor", + -11.137245178222656 + ], + [ + "▁besonders", + -11.137313842773438 + ], + [ + "д", + -11.137367248535156 + ], + [ + "▁alongside", + -11.137382507324219 + ], + [ + "▁stored", + -11.13770580291748 + ], + [ + "▁activ", + -11.137849807739258 + ], + [ + "▁setup", + -11.138169288635254 + ], + [ + "▁extract", + -11.138627052307129 + ], + [ + "▁accent", + -11.138633728027344 + ], + [ + "▁replaced", + -11.138638496398926 + ], + [ + "tec", + -11.138800621032715 + ], + [ + "▁Natur", + -11.138848304748535 + ], + [ + "▁Pacific", + -11.138887405395508 + ], + [ + "▁NY", + -11.139485359191895 + ], + [ + "▁Capital", + -11.139583587646484 + ], + [ + "▁forest", + -11.13969898223877 + ], + [ + "incredibly", + -11.14006233215332 + ], + [ + "▁choix", + -11.14021110534668 + ], + [ + "▁seriously", + -11.140281677246094 + ], + [ + "▁konnte", + -11.14030933380127 + ], + [ + "▁2014.", + -11.140443801879883 + ], + [ + "ensuring", + -11.140534400939941 + ], + [ + "▁handling", + -11.140661239624023 + ], + [ + "▁9.", + -11.140715599060059 + ], + [ + "▁relations", + -11.140876770019531 + ], + [ + "▁Kom", + -11.141045570373535 + ], + [ + "▁Hol", + -11.141282081604004 + ], + [ + "▁none", + -11.141515731811523 + ], + [ + "rob", + -11.141718864440918 + ], + [ + "▁Forum", + -11.141759872436523 + ], + [ + "hour", + -11.141776084899902 + ], + [ + "ème", + -11.141809463500977 + ], + [ + "▁Space", + -11.141986846923828 + ], + [ + "▁Ham", + -11.142992973327637 + ], + [ + "rap", + -11.143169403076172 + ], + [ + "▁Michigan", + -11.14317512512207 + ], + [ + "km", + -11.143202781677246 + ], + [ + "▁utilize", + -11.143548965454102 + ], + [ + "lov", + -11.143775939941406 + ], + [ + "▁luck", + -11.144388198852539 + ], + [ + "lä", + -11.144824981689453 + ], + [ + "▁healing", + -11.145010948181152 + ], + [ + "▁neu", + -11.145182609558105 + ], + [ + "aging", + -11.145251274108887 + ], + [ + "▁compliance", + -11.145583152770996 + ], + [ + "▁vertical", + -11.145675659179688 + ], + [ + "▁FREE", + -11.145729064941406 + ], + [ + "▁differences", + -11.146014213562012 + ], + [ + "▁Server", + -11.146252632141113 + ], + [ + "▁estimated", + -11.146378517150879 + ], + [ + "schutz", + -11.146692276000977 + ], + [ + "▁notamment", + -11.146736145019531 + ], + [ + "▁120", + -11.146919250488281 + ], + [ + "72", + -11.147282600402832 + ], + [ + "▁heating", + -11.147347450256348 + ], + [ + "late", + -11.14756965637207 + ], + [ + "▁younger", + -11.14783000946045 + ], + [ + "▁Intel", + -11.148171424865723 + ], + [ + "▁salad", + -11.148362159729004 + ], + [ + "▁commonly", + -11.148563385009766 + ], + [ + "▁treatments", + -11.148682594299316 + ], + [ + "▁speaker", + -11.148770332336426 + ], + [ + "▁producing", + -11.149120330810547 + ], + [ + "▁eggs", + -11.149367332458496 + ], + [ + "▁Spirit", + -11.149892807006836 + ], + [ + "▁beide", + -11.149918556213379 + ], + [ + "▁transaction", + -11.150283813476562 + ], + [ + "▁Machine", + -11.150464057922363 + ], + [ + "▁Games", + -11.150527000427246 + ], + [ + "▁niveau", + -11.150687217712402 + ], + [ + "▁Need", + -11.15082836151123 + ], + [ + "radi", + -11.150959968566895 + ], + [ + "mir", + -11.15096664428711 + ], + [ + "causing", + -11.151000022888184 + ], + [ + "▁début", + -11.151042938232422 + ], + [ + "▁rencontre", + -11.151063919067383 + ], + [ + "▁threat", + -11.151153564453125 + ], + [ + "▁enjoying", + -11.151320457458496 + ], + [ + "Com", + -11.151386260986328 + ], + [ + "▁Johnson", + -11.151555061340332 + ], + [ + "▁tournament", + -11.15156364440918 + ], + [ + "▁Micro", + -11.151582717895508 + ], + [ + "▁Drive", + -11.151667594909668 + ], + [ + "▁Cre", + -11.151866912841797 + ], + [ + "▁Lebens", + -11.151930809020996 + ], + [ + "▁categories", + -11.152358055114746 + ], + [ + "5,000", + -11.15261173248291 + ], + [ + "▁confirmed", + -11.152617454528809 + ], + [ + "pli", + -11.152763366699219 + ], + [ + "▁Francisco", + -11.153139114379883 + ], + [ + "▁raw", + -11.153157234191895 + ], + [ + "▁managers", + -11.153223991394043 + ], + [ + "ţie", + -11.153365135192871 + ], + [ + "UR", + -11.153368949890137 + ], + [ + "▁aproape", + -11.154065132141113 + ], + [ + "via", + -11.154606819152832 + ], + [ + "▁engaged", + -11.154646873474121 + ], + [ + "▁parti", + -11.154741287231445 + ], + [ + "▁posting", + -11.15517807006836 + ], + [ + "CO", + -11.155484199523926 + ], + [ + "▁bois", + -11.155815124511719 + ], + [ + "▁inch", + -11.15590763092041 + ], + [ + "vie", + -11.156068801879883 + ], + [ + "▁aside", + -11.156314849853516 + ], + [ + "▁exceptional", + -11.15658950805664 + ], + [ + "▁vintage", + -11.156668663024902 + ], + [ + "▁Him", + -11.156795501708984 + ], + [ + "▁expansion", + -11.156806945800781 + ], + [ + "▁Weg", + -11.157122611999512 + ], + [ + "▁authors", + -11.157535552978516 + ], + [ + "▁deine", + -11.15764045715332 + ], + [ + "▁Prime", + -11.158016204833984 + ], + [ + "▁scan", + -11.158055305480957 + ], + [ + "▁reg", + -11.158112525939941 + ], + [ + "ția", + -11.158141136169434 + ], + [ + "riv", + -11.158258438110352 + ], + [ + "selon", + -11.158440589904785 + ], + [ + "▁Studio", + -11.158571243286133 + ], + [ + "▁dich", + -11.158658027648926 + ], + [ + "▁vi", + -11.158745765686035 + ], + [ + "▁sequence", + -11.159016609191895 + ], + [ + "▁Four", + -11.159046173095703 + ], + [ + "RT", + -11.159050941467285 + ], + [ + "▁ihn", + -11.159072875976562 + ], + [ + "▁employ", + -11.159223556518555 + ], + [ + "umb", + -11.159659385681152 + ], + [ + "ită", + -11.159818649291992 + ], + [ + "▁Station", + -11.159950256347656 + ], + [ + "▁upload", + -11.159972190856934 + ], + [ + "▁upgrade", + -11.160445213317871 + ], + [ + "▁exterior", + -11.160528182983398 + ], + [ + "▁writers", + -11.160531997680664 + ], + [ + "▁plot", + -11.160543441772461 + ], + [ + "▁Gen", + -11.16068172454834 + ], + [ + "TER", + -11.160821914672852 + ], + [ + "-12", + -11.160930633544922 + ], + [ + "http", + -11.162168502807617 + ], + [ + "▁smell", + -11.1621732711792 + ], + [ + "post", + -11.162522315979004 + ], + [ + "von", + -11.162790298461914 + ], + [ + "mili", + -11.16280746459961 + ], + [ + "8%", + -11.162972450256348 + ], + [ + "▁Andrew", + -11.163065910339355 + ], + [ + "▁spun", + -11.16321086883545 + ], + [ + "▁grass", + -11.163444519042969 + ], + [ + "unter", + -11.163474082946777 + ], + [ + "▁burn", + -11.16356086730957 + ], + [ + "▁Gegen", + -11.163601875305176 + ], + [ + "fest", + -11.163721084594727 + ], + [ + "▁Northern", + -11.163738250732422 + ], + [ + "▁consumption", + -11.163775444030762 + ], + [ + "▁bird", + -11.164069175720215 + ], + [ + "▁Miss", + -11.164369583129883 + ], + [ + "anti", + -11.16447925567627 + ], + [ + "▁viata", + -11.164583206176758 + ], + [ + "bereich", + -11.164602279663086 + ], + [ + "▁Change", + -11.164871215820312 + ], + [ + "▁pouvoir", + -11.165255546569824 + ], + [ + "▁demonstrate", + -11.165435791015625 + ], + [ + "▁requirement", + -11.165483474731445 + ], + [ + "BI", + -11.16577434539795 + ], + [ + "ied", + -11.166099548339844 + ], + [ + "▁spray", + -11.166358947753906 + ], + [ + "▁calitate", + -11.166379928588867 + ], + [ + "▁souvent", + -11.1665620803833 + ], + [ + "▁samples", + -11.166682243347168 + ], + [ + "▁compete", + -11.166930198669434 + ], + [ + "ank", + -11.166946411132812 + ], + [ + "année", + -11.167037963867188 + ], + [ + "wick", + -11.167183876037598 + ], + [ + "iff", + -11.167254447937012 + ], + [ + "noi", + -11.167255401611328 + ], + [ + "ography", + -11.167450904846191 + ], + [ + "▁SE", + -11.167508125305176 + ], + [ + "▁250", + -11.16779899597168 + ], + [ + "▁wealth", + -11.167884826660156 + ], + [ + "4%", + -11.168235778808594 + ], + [ + "▁swimming", + -11.168269157409668 + ], + [ + "enne", + -11.168338775634766 + ], + [ + "Qu", + -11.168400764465332 + ], + [ + "▁connections", + -11.168476104736328 + ], + [ + "onne", + -11.16852855682373 + ], + [ + "▁Way", + -11.168676376342773 + ], + [ + "voll", + -11.168793678283691 + ], + [ + "▁extent", + -11.169041633605957 + ], + [ + "▁objective", + -11.169572830200195 + ], + [ + "▁clinic", + -11.169581413269043 + ], + [ + "NA", + -11.169848442077637 + ], + [ + "▁Hope", + -11.170098304748535 + ], + [ + "▁coat", + -11.170331954956055 + ], + [ + "▁depend", + -11.170393943786621 + ], + [ + "▁tine", + -11.170463562011719 + ], + [ + "acc", + -11.170486450195312 + ], + [ + "▁editor", + -11.170598983764648 + ], + [ + "▁Jim", + -11.170690536499023 + ], + [ + "600", + -11.171262741088867 + ], + [ + "▁module", + -11.171302795410156 + ], + [ + "▁deja", + -11.171821594238281 + ], + [ + "atur", + -11.171841621398926 + ], + [ + "▁maintaining", + -11.171918869018555 + ], + [ + "▁hoch", + -11.172059059143066 + ], + [ + "▁covering", + -11.17239761352539 + ], + [ + "vielen", + -11.172450065612793 + ], + [ + "hem", + -11.172531127929688 + ], + [ + "▁illegal", + -11.172656059265137 + ], + [ + "▁certificate", + -11.17329216003418 + ], + [ + "▁collective", + -11.173357963562012 + ], + [ + "▁blow", + -11.17343807220459 + ], + [ + "▁programming", + -11.17343807220459 + ], + [ + "HE", + -11.173727989196777 + ], + [ + "▁Division", + -11.173842430114746 + ], + [ + "▁ceux", + -11.174081802368164 + ], + [ + "▁saved", + -11.174202919006348 + ], + [ + "▁worst", + -11.17426586151123 + ], + [ + "▁arms", + -11.17430305480957 + ], + [ + "▁Officer", + -11.17463493347168 + ], + [ + "▁association", + -11.174838066101074 + ], + [ + "ington", + -11.1749906539917 + ], + [ + "▁belle", + -11.175024032592773 + ], + [ + "tting", + -11.17537784576416 + ], + [ + "▁attacks", + -11.175446510314941 + ], + [ + "▁vei", + -11.17546558380127 + ], + [ + "▁gerade", + -11.175470352172852 + ], + [ + "▁strain", + -11.175748825073242 + ], + [ + "▁offices", + -11.1759672164917 + ], + [ + "EM", + -11.17627239227295 + ], + [ + "EST", + -11.176509857177734 + ], + [ + "-8", + -11.176758766174316 + ], + [ + "▁faculty", + -11.176998138427734 + ], + [ + "▁Plant", + -11.177046775817871 + ], + [ + "pla", + -11.177295684814453 + ], + [ + "card", + -11.177618980407715 + ], + [ + "▁loose", + -11.177982330322266 + ], + [ + "▁PR", + -11.178044319152832 + ], + [ + "profit", + -11.178071022033691 + ], + [ + "▁channels", + -11.178119659423828 + ], + [ + "ATE", + -11.178257942199707 + ], + [ + "atic", + -11.178304672241211 + ], + [ + "wegen", + -11.178404808044434 + ], + [ + "word", + -11.178621292114258 + ], + [ + "▁sehen", + -11.178659439086914 + ], + [ + "▁nombre", + -11.178744316101074 + ], + [ + "▁DO", + -11.178763389587402 + ], + [ + "▁hoping", + -11.178949356079102 + ], + [ + "▁wollen", + -11.179091453552246 + ], + [ + "▁decat", + -11.179244995117188 + ], + [ + "IF", + -11.179386138916016 + ], + [ + "▁permission", + -11.179396629333496 + ], + [ + "▁Williams", + -11.179936408996582 + ], + [ + "▁beer", + -11.179962158203125 + ], + [ + "▁dernière", + -11.180052757263184 + ], + [ + "▁purchasing", + -11.18025016784668 + ], + [ + "▁pride", + -11.180416107177734 + ], + [ + "solv", + -11.180598258972168 + ], + [ + "ego", + -11.180691719055176 + ], + [ + "▁Oil", + -11.18079662322998 + ], + [ + "▁dishes", + -11.18102741241455 + ], + [ + "▁Baby", + -11.181109428405762 + ], + [ + "▁Roll", + -11.181137084960938 + ], + [ + "vez", + -11.18134593963623 + ], + [ + "▁drept", + -11.181367874145508 + ], + [ + "lly", + -11.18148136138916 + ], + [ + "▁potrivit", + -11.181495666503906 + ], + [ + "person", + -11.181961059570312 + ], + [ + "▁interactive", + -11.182269096374512 + ], + [ + "▁brilliant", + -11.182304382324219 + ], + [ + "▁000", + -11.182357788085938 + ], + [ + "▁giant", + -11.182657241821289 + ], + [ + "▁plain", + -11.182945251464844 + ], + [ + "▁lock", + -11.183197975158691 + ], + [ + "▁inspection", + -11.183762550354004 + ], + [ + "▁symbol", + -11.18392276763916 + ], + [ + "▁Gal", + -11.183953285217285 + ], + [ + "▁concepts", + -11.1840181350708 + ], + [ + "▁venture", + -11.18411922454834 + ], + [ + "▁Tr", + -11.184402465820312 + ], + [ + "▁Color", + -11.184469223022461 + ], + [ + "▁behalf", + -11.184635162353516 + ], + [ + "ink", + -11.184715270996094 + ], + [ + "atii", + -11.1848726272583 + ], + [ + "wie", + -11.184907913208008 + ], + [ + "▁stream", + -11.18514347076416 + ], + [ + "▁buyers", + -11.185192108154297 + ], + [ + "legen", + -11.185526847839355 + ], + [ + "iness", + -11.18578815460205 + ], + [ + "▁absolute", + -11.185945510864258 + ], + [ + "▁council", + -11.186067581176758 + ], + [ + "▁displayed", + -11.186172485351562 + ], + [ + "▁Bun", + -11.186405181884766 + ], + [ + "▁darauf", + -11.186585426330566 + ], + [ + "▁rod", + -11.186829566955566 + ], + [ + "▁repeat", + -11.186898231506348 + ], + [ + "quelle", + -11.187023162841797 + ], + [ + "lation", + -11.187433242797852 + ], + [ + "gul", + -11.18774700164795 + ], + [ + "▁compensation", + -11.188064575195312 + ], + [ + "▁string", + -11.1881685256958 + ], + [ + "▁joining", + -11.188251495361328 + ], + [ + "▁Pra", + -11.188429832458496 + ], + [ + "hab", + -11.188936233520508 + ], + [ + "▁plane", + -11.189024925231934 + ], + [ + "▁conversion", + -11.189078330993652 + ], + [ + "▁lesson", + -11.189361572265625 + ], + [ + "bound", + -11.1893949508667 + ], + [ + "▁seats", + -11.18946361541748 + ], + [ + "voc", + -11.189902305603027 + ], + [ + "▁Disney", + -11.190120697021484 + ], + [ + "esse", + -11.190277099609375 + ], + [ + "▁awards", + -11.190279006958008 + ], + [ + "▁initiative", + -11.190483093261719 + ], + [ + "UM", + -11.19050407409668 + ], + [ + "▁intelligence", + -11.190763473510742 + ], + [ + "▁laser", + -11.191128730773926 + ], + [ + "än", + -11.191228866577148 + ], + [ + "▁generated", + -11.191231727600098 + ], + [ + "▁allen", + -11.19186782836914 + ], + [ + "▁Aug", + -11.19261360168457 + ], + [ + "lini", + -11.192968368530273 + ], + [ + "▁Update", + -11.193015098571777 + ], + [ + "▁grab", + -11.193095207214355 + ], + [ + "▁Bridge", + -11.193219184875488 + ], + [ + "rock", + -11.193289756774902 + ], + [ + "hold", + -11.193461418151855 + ], + [ + "seinen", + -11.193643569946289 + ], + [ + "▁false", + -11.193758010864258 + ], + [ + "type", + -11.193792343139648 + ], + [ + "▁outcome", + -11.193906784057617 + ], + [ + "▁crazy", + -11.194161415100098 + ], + [ + "▁Platz", + -11.194281578063965 + ], + [ + "▁believed", + -11.194426536560059 + ], + [ + "▁adjust", + -11.194503784179688 + ], + [ + "▁entrance", + -11.194644927978516 + ], + [ + "▁Colorado", + -11.194751739501953 + ], + [ + "▁concentration", + -11.194865226745605 + ], + [ + "aid", + -11.194958686828613 + ], + [ + "▁regardless", + -11.195035934448242 + ], + [ + "▁mici", + -11.195063591003418 + ], + [ + "▁potentially", + -11.195109367370605 + ], + [ + "▁Custom", + -11.195867538452148 + ], + [ + "rag", + -11.196009635925293 + ], + [ + "▁employer", + -11.19604206085205 + ], + [ + "tagged", + -11.196158409118652 + ], + [ + "▁34", + -11.196271896362305 + ], + [ + "fro", + -11.196895599365234 + ], + [ + "▁Pas", + -11.197010040283203 + ], + [ + "▁AS", + -11.197013854980469 + ], + [ + "PP", + -11.197031021118164 + ], + [ + "stru", + -11.19741439819336 + ], + [ + "grâce", + -11.198037147521973 + ], + [ + "▁anyway", + -11.198240280151367 + ], + [ + "▁streets", + -11.1986083984375 + ], + [ + "▁Region", + -11.199190139770508 + ], + [ + "▁newly", + -11.199280738830566 + ], + [ + "▁assistant", + -11.199461936950684 + ], + [ + "▁requests", + -11.199618339538574 + ], + [ + "▁Ohio", + -11.199705123901367 + ], + [ + "▁continuing", + -11.200072288513184 + ], + [ + "▁îm", + -11.200136184692383 + ], + [ + "7%", + -11.20031452178955 + ], + [ + "▁basically", + -11.200325965881348 + ], + [ + "gabe", + -11.200334548950195 + ], + [ + "▁ultra", + -11.200355529785156 + ], + [ + "pic", + -11.200571060180664 + ], + [ + "▁jeder", + -11.200939178466797 + ], + [ + "▁Cook", + -11.201225280761719 + ], + [ + "▁tie", + -11.201227188110352 + ], + [ + "▁yard", + -11.20151424407959 + ], + [ + "▁wash", + -11.20152759552002 + ], + [ + "▁3,", + -11.20194149017334 + ], + [ + "▁exista", + -11.202128410339355 + ], + [ + "▁egg", + -11.202342987060547 + ], + [ + "▁marché", + -11.202616691589355 + ], + [ + "kommen", + -11.202630996704102 + ], + [ + "▁Select", + -11.202999114990234 + ], + [ + "geben", + -11.203126907348633 + ], + [ + "▁Joseph", + -11.203531265258789 + ], + [ + "▁Ces", + -11.203642845153809 + ], + [ + "▁hundred", + -11.203676223754883 + ], + [ + "even", + -11.203792572021484 + ], + [ + "gal", + -11.204232215881348 + ], + [ + "800", + -11.20443058013916 + ], + [ + "▁Jones", + -11.204599380493164 + ], + [ + "ova", + -11.204681396484375 + ], + [ + "▁careful", + -11.204727172851562 + ], + [ + "▁alarm", + -11.205070495605469 + ], + [ + "NI", + -11.205113410949707 + ], + [ + "▁residence", + -11.205327987670898 + ], + [ + "▁wäre", + -11.20590877532959 + ], + [ + "▁Dor", + -11.205986976623535 + ], + [ + "▁amounts", + -11.206369400024414 + ], + [ + "▁mistake", + -11.206687927246094 + ], + [ + "ates", + -11.206796646118164 + ], + [ + "▁bune", + -11.206951141357422 + ], + [ + "▁vegetables", + -11.207124710083008 + ], + [ + "▁Ann", + -11.207204818725586 + ], + [ + "logical", + -11.20776081085205 + ], + [ + "stadt", + -11.207806587219238 + ], + [ + "▁chances", + -11.207921981811523 + ], + [ + "%)", + -11.208030700683594 + ], + [ + "▁minimal", + -11.20810604095459 + ], + [ + "▁naturally", + -11.20817756652832 + ], + [ + "▁Geld", + -11.20822525024414 + ], + [ + "▁Yu", + -11.208361625671387 + ], + [ + "▁wrap", + -11.20840072631836 + ], + [ + "rest", + -11.208674430847168 + ], + [ + "▁legs", + -11.208758354187012 + ], + [ + "PM", + -11.208806991577148 + ], + [ + "▁Heart", + -11.208888053894043 + ], + [ + "▁suspect", + -11.209020614624023 + ], + [ + "Go", + -11.209098815917969 + ], + [ + "▁Fil", + -11.209175109863281 + ], + [ + "▁YOU", + -11.209175109863281 + ], + [ + "▁victory", + -11.209245681762695 + ], + [ + "pun", + -11.20960807800293 + ], + [ + "▁Zo", + -11.209632873535156 + ], + [ + "CT", + -11.209640502929688 + ], + [ + "▁trim", + -11.20969009399414 + ], + [ + "▁stuck", + -11.209836959838867 + ], + [ + "ators", + -11.209877014160156 + ], + [ + "▁Ideas", + -11.210016250610352 + ], + [ + "▁voyage", + -11.210166931152344 + ], + [ + "▁Restaurant", + -11.210205078125 + ], + [ + "▁pat", + -11.210234642028809 + ], + [ + "▁bond", + -11.210521697998047 + ], + [ + "▁Del", + -11.210552215576172 + ], + [ + "▁fighting", + -11.210705757141113 + ], + [ + "▁concerning", + -11.210867881774902 + ], + [ + "▁etwa", + -11.211141586303711 + ], + [ + "▁Thema", + -11.211237907409668 + ], + [ + "▁preferred", + -11.211423873901367 + ], + [ + "▁pitch", + -11.211465835571289 + ], + [ + "▁Singapore", + -11.211971282958984 + ], + [ + "▁tub", + -11.212018013000488 + ], + [ + "FT", + -11.212053298950195 + ], + [ + "▁Product", + -11.21212100982666 + ], + [ + "▁applying", + -11.212285995483398 + ], + [ + "▁Fr", + -11.212340354919434 + ], + [ + "ţa", + -11.212599754333496 + ], + [ + "▁iPad", + -11.212861061096191 + ], + [ + "PD", + -11.2129545211792 + ], + [ + "▁comun", + -11.212995529174805 + ], + [ + "▁pie", + -11.213286399841309 + ], + [ + "rank", + -11.21364688873291 + ], + [ + "tron", + -11.213677406311035 + ], + [ + "▁pest", + -11.213906288146973 + ], + [ + "▁herself", + -11.213936805725098 + ], + [ + "▁intense", + -11.213964462280273 + ], + [ + "foot", + -11.21413803100586 + ], + [ + "▁1998", + -11.2141695022583 + ], + [ + "▁anxiety", + -11.214616775512695 + ], + [ + "▁portable", + -11.214674949645996 + ], + [ + "▁harm", + -11.214735984802246 + ], + [ + "▁admit", + -11.214885711669922 + ], + [ + "sted", + -11.214900016784668 + ], + [ + "▁regions", + -11.215450286865234 + ], + [ + "cie", + -11.215556144714355 + ], + [ + "▁robust", + -11.21577262878418 + ], + [ + "▁stem", + -11.215982437133789 + ], + [ + "▁roles", + -11.216024398803711 + ], + [ + "▁Latin", + -11.216224670410156 + ], + [ + "▁Ré", + -11.216378211975098 + ], + [ + "▁ref", + -11.216381072998047 + ], + [ + "isme", + -11.216426849365234 + ], + [ + "▁contribution", + -11.216776847839355 + ], + [ + "▁forever", + -11.217447280883789 + ], + [ + "▁frei", + -11.21754264831543 + ], + [ + "▁mont", + -11.217818260192871 + ], + [ + "that", + -11.217999458312988 + ], + [ + "▁sensitive", + -11.218116760253906 + ], + [ + "▁wider", + -11.218175888061523 + ], + [ + "AF", + -11.218234062194824 + ], + [ + "▁liability", + -11.218748092651367 + ], + [ + "ţiei", + -11.219043731689453 + ], + [ + "▁Cho", + -11.219260215759277 + ], + [ + "aria", + -11.21960735321045 + ], + [ + "rang", + -11.21977710723877 + ], + [ + "▁Account", + -11.21986198425293 + ], + [ + "▁III", + -11.219941139221191 + ], + [ + "▁tooth", + -11.220222473144531 + ], + [ + "▁factory", + -11.220240592956543 + ], + [ + "▁dropped", + -11.220495223999023 + ], + [ + "horn", + -11.220780372619629 + ], + [ + "RP", + -11.221110343933105 + ], + [ + "▁container", + -11.22118091583252 + ], + [ + "fran", + -11.221474647521973 + ], + [ + "▁lawyer", + -11.221842765808105 + ], + [ + "▁Image", + -11.221907615661621 + ], + [ + "HO", + -11.22195816040039 + ], + [ + "▁incorporate", + -11.221992492675781 + ], + [ + "▁lume", + -11.22226333618164 + ], + [ + "GA", + -11.222331047058105 + ], + [ + "itati", + -11.222370147705078 + ], + [ + "autre", + -11.222665786743164 + ], + [ + "ierten", + -11.222688674926758 + ], + [ + "[", + -11.222746849060059 + ], + [ + "▁packages", + -11.222758293151855 + ], + [ + "▁Simon", + -11.22290325164795 + ], + [ + "▁somewhat", + -11.223734855651855 + ], + [ + "mbo", + -11.223737716674805 + ], + [ + "lite", + -11.223844528198242 + ], + [ + "▁eliminate", + -11.22395133972168 + ], + [ + "▁decrease", + -11.224117279052734 + ], + [ + "▁geben", + -11.224214553833008 + ], + [ + "▁approaches", + -11.224482536315918 + ], + [ + "▁tissue", + -11.224940299987793 + ], + [ + "▁personne", + -11.225192070007324 + ], + [ + "ional", + -11.225587844848633 + ], + [ + "unable", + -11.2256498336792 + ], + [ + "▁Case", + -11.225736618041992 + ], + [ + "hill", + -11.225744247436523 + ], + [ + "och", + -11.225862503051758 + ], + [ + "▁minister", + -11.225920677185059 + ], + [ + "▁Rad", + -11.226285934448242 + ], + [ + "▁yoga", + -11.226390838623047 + ], + [ + "▁encounter", + -11.22661018371582 + ], + [ + "text", + -11.22670841217041 + ], + [ + "▁OS", + -11.226719856262207 + ], + [ + "▁opera", + -11.22673225402832 + ], + [ + "▁loving", + -11.226977348327637 + ], + [ + "▁birds", + -11.227363586425781 + ], + [ + "▁prim", + -11.227389335632324 + ], + [ + "easca", + -11.227432250976562 + ], + [ + "park", + -11.227453231811523 + ], + [ + "fü", + -11.227797508239746 + ], + [ + "▁champion", + -11.227824211120605 + ], + [ + "▁warning", + -11.228245735168457 + ], + [ + "DC", + -11.228271484375 + ], + [ + "▁yield", + -11.228310585021973 + ], + [ + "raum", + -11.228334426879883 + ], + [ + "▁Student", + -11.228434562683105 + ], + [ + "▁Rev", + -11.22848892211914 + ], + [ + "▁Fu", + -11.228501319885254 + ], + [ + "▁intra", + -11.22854232788086 + ], + [ + "▁proces", + -11.228585243225098 + ], + [ + "▁margin", + -11.228621482849121 + ], + [ + "lands", + -11.228816986083984 + ], + [ + "04", + -11.228952407836914 + ], + [ + "▁Steel", + -11.229897499084473 + ], + [ + "▁besoin", + -11.230081558227539 + ], + [ + "şti", + -11.230561256408691 + ], + [ + "▁39", + -11.230635643005371 + ], + [ + "▁outcomes", + -11.230677604675293 + ], + [ + "wert", + -11.230719566345215 + ], + [ + "3,", + -11.23080062866211 + ], + [ + "▁hole", + -11.230888366699219 + ], + [ + "▁Create", + -11.23096752166748 + ], + [ + "▁hall", + -11.231266975402832 + ], + [ + "nach", + -11.231595039367676 + ], + [ + "▁indicate", + -11.232311248779297 + ], + [ + "cum", + -11.232604026794434 + ], + [ + "▁Mann", + -11.232690811157227 + ], + [ + "▁reaction", + -11.232828140258789 + ], + [ + "▁empty", + -11.23289680480957 + ], + [ + "▁Sign", + -11.232941627502441 + ], + [ + "▁pm", + -11.23300838470459 + ], + [ + "erung", + -11.23322582244873 + ], + [ + "▁würde", + -11.233592987060547 + ], + [ + "▁declarat", + -11.233602523803711 + ], + [ + "6%", + -11.23371410369873 + ], + [ + "▁Client", + -11.23377513885498 + ], + [ + "vil", + -11.234295845031738 + ], + [ + "▁electricity", + -11.234469413757324 + ], + [ + "▁75", + -11.234505653381348 + ], + [ + "▁buna", + -11.234505653381348 + ], + [ + "eşte", + -11.23473834991455 + ], + [ + "▁prop", + -11.234792709350586 + ], + [ + "▁journal", + -11.234883308410645 + ], + [ + "▁meu", + -11.23495101928711 + ], + [ + "▁chef", + -11.235034942626953 + ], + [ + "▁Ever", + -11.235102653503418 + ], + [ + "▁feelings", + -11.235466003417969 + ], + [ + "PT", + -11.23551082611084 + ], + [ + "▁proposal", + -11.235651969909668 + ], + [ + "▁Its", + -11.235709190368652 + ], + [ + "▁2013.", + -11.235795974731445 + ], + [ + "▁Bundes", + -11.23595142364502 + ], + [ + "▁droit", + -11.236333847045898 + ], + [ + "▁10%", + -11.236671447753906 + ], + [ + "gard", + -11.236772537231445 + ], + [ + "information", + -11.236814498901367 + ], + [ + "FE", + -11.237309455871582 + ], + [ + "▁Dun", + -11.237340927124023 + ], + [ + "▁Stock", + -11.237472534179688 + ], + [ + "ație", + -11.2374849319458 + ], + [ + "▁mag", + -11.237603187561035 + ], + [ + "▁br", + -11.237665176391602 + ], + [ + "▁sight", + -11.237772941589355 + ], + [ + "phone", + -11.237796783447266 + ], + [ + "▁Cy", + -11.237811088562012 + ], + [ + "▁opposite", + -11.238035202026367 + ], + [ + "ically", + -11.238235473632812 + ], + [ + "großen", + -11.238388061523438 + ], + [ + "▁Without", + -11.23845100402832 + ], + [ + "espace", + -11.238515853881836 + ], + [ + "▁chairs", + -11.238595008850098 + ], + [ + "▁matches", + -11.238685607910156 + ], + [ + "ateur", + -11.238697052001953 + ], + [ + "▁Cost", + -11.238699913024902 + ], + [ + "▁WordPress", + -11.238880157470703 + ], + [ + "▁Opera", + -11.239195823669434 + ], + [ + "walked", + -11.239234924316406 + ], + [ + "▁transactions", + -11.239521026611328 + ], + [ + "▁nuclear", + -11.239579200744629 + ], + [ + "ways", + -11.239594459533691 + ], + [ + "▁Oct", + -11.239738464355469 + ], + [ + "▁bomb", + -11.239835739135742 + ], + [ + "▁tracking", + -11.239879608154297 + ], + [ + "▁photograph", + -11.240066528320312 + ], + [ + "bio", + -11.240309715270996 + ], + [ + "▁branch", + -11.240363121032715 + ], + [ + "▁$5", + -11.240684509277344 + ], + [ + "▁diagram", + -11.240986824035645 + ], + [ + "▁Hard", + -11.241218566894531 + ], + [ + "bach", + -11.241232872009277 + ], + [ + "▁42", + -11.241249084472656 + ], + [ + "logy", + -11.241472244262695 + ], + [ + "▁tile", + -11.241593360900879 + ], + [ + "▁API", + -11.241833686828613 + ], + [ + "seront", + -11.24204158782959 + ], + [ + "ENT", + -11.242156982421875 + ], + [ + "▁accommodation", + -11.242409706115723 + ], + [ + "▁fiber", + -11.242438316345215 + ], + [ + "▁Give", + -11.242792129516602 + ], + [ + "▁Gas", + -11.242916107177734 + ], + [ + "▁Spain", + -11.243086814880371 + ], + [ + "▁listing", + -11.24312686920166 + ], + [ + "▁blocks", + -11.24349308013916 + ], + [ + "▁constitu", + -11.243762969970703 + ], + [ + "▁convenience", + -11.243797302246094 + ], + [ + "▁prize", + -11.243823051452637 + ], + [ + "▁aircraft", + -11.24404239654541 + ], + [ + "containing", + -11.244124412536621 + ], + [ + "▁vice", + -11.244247436523438 + ], + [ + "▁organisations", + -11.244304656982422 + ], + [ + "▁complicated", + -11.244588851928711 + ], + [ + "rons", + -11.244647979736328 + ], + [ + "▁bars", + -11.244670867919922 + ], + [ + "était", + -11.244705200195312 + ], + [ + "▁checking", + -11.245287895202637 + ], + [ + "vant", + -11.245542526245117 + ], + [ + "▁couch", + -11.245657920837402 + ], + [ + "▁brush", + -11.245870590209961 + ], + [ + "▁printer", + -11.245922088623047 + ], + [ + "▁Rat", + -11.246051788330078 + ], + [ + "▁announce", + -11.246057510375977 + ], + [ + "▁salari", + -11.246200561523438 + ], + [ + "▁Sk", + -11.246356964111328 + ], + [ + "pal", + -11.246383666992188 + ], + [ + "▁yards", + -11.24658203125 + ], + [ + "▁flexibility", + -11.246652603149414 + ], + [ + "▁jamais", + -11.24670696258545 + ], + [ + "UC", + -11.246740341186523 + ], + [ + "▁4,", + -11.246793746948242 + ], + [ + "▁Made", + -11.247078895568848 + ], + [ + "▁solche", + -11.247113227844238 + ], + [ + "▁tri", + -11.247237205505371 + ], + [ + "▁outfit", + -11.247243881225586 + ], + [ + "м", + -11.247267723083496 + ], + [ + "▁encouraged", + -11.247477531433105 + ], + [ + "trac", + -11.247552871704102 + ], + [ + "▁genetic", + -11.24755859375 + ], + [ + "▁beneficial", + -11.247747421264648 + ], + [ + "mă", + -11.247849464416504 + ], + [ + "involving", + -11.247879028320312 + ], + [ + "▁knee", + -11.247879028320312 + ], + [ + "▁respective", + -11.248316764831543 + ], + [ + "▁controlled", + -11.248350143432617 + ], + [ + "▁Rück", + -11.24837589263916 + ], + [ + "LC", + -11.248592376708984 + ], + [ + "▁highlight", + -11.248634338378906 + ], + [ + "chem", + -11.248797416687012 + ], + [ + "▁Bis", + -11.24956226348877 + ], + [ + "▁graphics", + -11.249592781066895 + ], + [ + "▁posibil", + -11.249672889709473 + ], + [ + "orul", + -11.249682426452637 + ], + [ + "imagin", + -11.249836921691895 + ], + [ + "▁draft", + -11.250006675720215 + ], + [ + "shaped", + -11.250219345092773 + ], + [ + "▁suggests", + -11.250221252441406 + ], + [ + "uvre", + -11.250509262084961 + ], + [ + "page", + -11.250545501708984 + ], + [ + "▁sentiment", + -11.250685691833496 + ], + [ + "▁loop", + -11.251015663146973 + ], + [ + "▁Quality", + -11.251839637756348 + ], + [ + "▁volunteers", + -11.251869201660156 + ], + [ + "▁representation", + -11.251923561096191 + ], + [ + "▁examination", + -11.252134323120117 + ], + [ + "▁(2)", + -11.252225875854492 + ], + [ + "assi", + -11.252435684204102 + ], + [ + "▁till", + -11.252486228942871 + ], + [ + "▁Catholic", + -11.252618789672852 + ], + [ + "▁2020", + -11.252726554870605 + ], + [ + "▁random", + -11.252764701843262 + ], + [ + "tage", + -11.253146171569824 + ], + [ + "▁baking", + -11.253690719604492 + ], + [ + "▁Musik", + -11.253852844238281 + ], + [ + "▁SC", + -11.253867149353027 + ], + [ + "▁möchte", + -11.254390716552734 + ], + [ + "▁gene", + -11.254411697387695 + ], + [ + "▁kam", + -11.254928588867188 + ], + [ + "▁inspire", + -11.254974365234375 + ], + [ + "unk", + -11.255097389221191 + ], + [ + "▁Final", + -11.255477905273438 + ], + [ + "▁jeden", + -11.255497932434082 + ], + [ + "▁LLC", + -11.255962371826172 + ], + [ + "▁sistem", + -11.25613784790039 + ], + [ + "▁stages", + -11.256441116333008 + ], + [ + "▁texture", + -11.256613731384277 + ], + [ + "rib", + -11.256739616394043 + ], + [ + "lung", + -11.256782531738281 + ], + [ + "▁breath", + -11.256814002990723 + ], + [ + "▁hosted", + -11.256844520568848 + ], + [ + "▁Kingdom", + -11.257079124450684 + ], + [ + "▁politics", + -11.257121086120605 + ], + [ + "▁mood", + -11.257122993469238 + ], + [ + "cam", + -11.257285118103027 + ], + [ + "▁liked", + -11.257287979125977 + ], + [ + "▁Credit", + -11.257304191589355 + ], + [ + "tisch", + -11.257527351379395 + ], + [ + "▁everywhere", + -11.257692337036133 + ], + [ + "▁poti", + -11.257915496826172 + ], + [ + "▁fruits", + -11.258264541625977 + ], + [ + "oire", + -11.258322715759277 + ], + [ + "▁mesure", + -11.258586883544922 + ], + [ + "▁Studies", + -11.258838653564453 + ], + [ + "▁provision", + -11.25888729095459 + ], + [ + "▁Maria", + -11.258927345275879 + ], + [ + "▁necessarily", + -11.259103775024414 + ], + [ + "▁Net", + -11.259212493896484 + ], + [ + "▁scar", + -11.259307861328125 + ], + [ + "▁tracks", + -11.259424209594727 + ], + [ + "▁ads", + -11.259856224060059 + ], + [ + "termin", + -11.259861946105957 + ], + [ + "▁Yo", + -11.26022720336914 + ], + [ + "atory", + -11.260252952575684 + ], + [ + "itoare", + -11.26025676727295 + ], + [ + "▁colours", + -11.260563850402832 + ], + [ + "▁correctly", + -11.260817527770996 + ], + [ + "▁Trade", + -11.26090145111084 + ], + [ + "▁Week", + -11.261052131652832 + ], + [ + "▁Premier", + -11.261499404907227 + ], + [ + "▁designers", + -11.261600494384766 + ], + [ + "▁BE", + -11.261879920959473 + ], + [ + "▁desktop", + -11.261929512023926 + ], + [ + "▁lifetime", + -11.262046813964844 + ], + [ + "▁Kind", + -11.26213264465332 + ], + [ + "▁divers", + -11.262246131896973 + ], + [ + "rain", + -11.262260437011719 + ], + [ + "▁Von", + -11.262263298034668 + ], + [ + "▁bal", + -11.262568473815918 + ], + [ + "▁shots", + -11.262624740600586 + ], + [ + "▁accommodate", + -11.262767791748047 + ], + [ + "▁Paper", + -11.263001441955566 + ], + [ + "▁interaction", + -11.263191223144531 + ], + [ + "▁acquisition", + -11.263233184814453 + ], + [ + "▁neuro", + -11.26378345489502 + ], + [ + "▁institution", + -11.26391887664795 + ], + [ + "▁automatic", + -11.26403522491455 + ], + [ + "▁assess", + -11.264177322387695 + ], + [ + "▁manifest", + -11.264199256896973 + ], + [ + "▁audit", + -11.264202117919922 + ], + [ + "▁câte", + -11.264406204223633 + ], + [ + "▁insight", + -11.264533996582031 + ], + [ + "▁lange", + -11.264781951904297 + ], + [ + "▁retirement", + -11.264795303344727 + ], + [ + "sons", + -11.264864921569824 + ], + [ + "▁Asian", + -11.26492691040039 + ], + [ + "▁rail", + -11.264978408813477 + ], + [ + "▁Awards", + -11.264982223510742 + ], + [ + "Avec", + -11.265035629272461 + ], + [ + "SO", + -11.26511287689209 + ], + [ + "para", + -11.265304565429688 + ], + [ + "▁tant", + -11.265562057495117 + ], + [ + "▁strike", + -11.265693664550781 + ], + [ + "▁transformation", + -11.265742301940918 + ], + [ + "▁leicht", + -11.26586627960205 + ], + [ + "л", + -11.265996932983398 + ], + [ + "fat", + -11.26629638671875 + ], + [ + "▁Qui", + -11.266626358032227 + ], + [ + "▁chip", + -11.26663589477539 + ], + [ + "titude", + -11.266640663146973 + ], + [ + "▁Projekt", + -11.266998291015625 + ], + [ + "▁statt", + -11.267010688781738 + ], + [ + "▁findet", + -11.267184257507324 + ], + [ + "▁telephone", + -11.267251968383789 + ], + [ + "▁staying", + -11.267267227172852 + ], + [ + "▁Mess", + -11.267353057861328 + ], + [ + "▁patio", + -11.267382621765137 + ], + [ + "▁afla", + -11.267890930175781 + ], + [ + "▁administrative", + -11.267910957336426 + ], + [ + "▁gemeinsam", + -11.268129348754883 + ], + [ + "▁suppliers", + -11.268136024475098 + ], + [ + "ark", + -11.268181800842285 + ], + [ + "▁rice", + -11.268397331237793 + ], + [ + "▁stretch", + -11.268439292907715 + ], + [ + "▁compact", + -11.268651008605957 + ], + [ + "fire", + -11.268756866455078 + ], + [ + "в", + -11.268963813781738 + ], + [ + "vision", + -11.269035339355469 + ], + [ + "▁Mag", + -11.269368171691895 + ], + [ + "▁dreams", + -11.269472122192383 + ], + [ + "▁funny", + -11.26968765258789 + ], + [ + "▁lässt", + -11.270216941833496 + ], + [ + "cade", + -11.270448684692383 + ], + [ + "▁drama", + -11.270484924316406 + ], + [ + "▁schimb", + -11.270767211914062 + ], + [ + "PO", + -11.270785331726074 + ], + [ + "▁Sim", + -11.270806312561035 + ], + [ + "▁motivation", + -11.271045684814453 + ], + [ + "▁presents", + -11.27138614654541 + ], + [ + "▁1997", + -11.271828651428223 + ], + [ + "agi", + -11.271883010864258 + ], + [ + "▁optimal", + -11.27198314666748 + ], + [ + "▁folder", + -11.271995544433594 + ], + [ + "stro", + -11.272034645080566 + ], + [ + "▁Han", + -11.272072792053223 + ], + [ + "▁Ei", + -11.27220344543457 + ], + [ + "▁pus", + -11.272356986999512 + ], + [ + "▁Learning", + -11.272531509399414 + ], + [ + "oop", + -11.272603034973145 + ], + [ + "▁Type", + -11.272658348083496 + ], + [ + "space", + -11.272665023803711 + ], + [ + "▁define", + -11.273098945617676 + ], + [ + "▁plug", + -11.273098945617676 + ], + [ + "yard", + -11.273188591003418 + ], + [ + "▁utility", + -11.273297309875488 + ], + [ + "über", + -11.273561477661133 + ], + [ + "▁commun", + -11.273627281188965 + ], + [ + "▁directed", + -11.273842811584473 + ], + [ + "▁consent", + -11.273893356323242 + ], + [ + "▁DNA", + -11.274068832397461 + ], + [ + "▁statements", + -11.274130821228027 + ], + [ + "real", + -11.274298667907715 + ], + [ + "active", + -11.274430274963379 + ], + [ + "school", + -11.274965286254883 + ], + [ + "▁mic", + -11.275360107421875 + ], + [ + "▁acestui", + -11.275467872619629 + ], + [ + "scale", + -11.27550220489502 + ], + [ + "▁Mid", + -11.275628089904785 + ], + [ + "▁Chair", + -11.275874137878418 + ], + [ + "к", + -11.275936126708984 + ], + [ + "▁Bas", + -11.27630615234375 + ], + [ + "▁38", + -11.276379585266113 + ], + [ + "erin", + -11.276461601257324 + ], + [ + "▁Everyone", + -11.27686882019043 + ], + [ + "COM", + -11.276907920837402 + ], + [ + "▁chronic", + -11.277079582214355 + ], + [ + "▁doctors", + -11.277222633361816 + ], + [ + "▁sh", + -11.277276039123535 + ], + [ + "sport", + -11.27740478515625 + ], + [ + "▁volunteer", + -11.277512550354004 + ], + [ + "▁drinking", + -11.277839660644531 + ], + [ + "▁Mas", + -11.277868270874023 + ], + [ + "▁pursue", + -11.2780122756958 + ], + [ + "▁exposed", + -11.278536796569824 + ], + [ + "exe", + -11.278660774230957 + ], + [ + "hung", + -11.278841972351074 + ], + [ + "▁Tier", + -11.278921127319336 + ], + [ + "▁plac", + -11.279121398925781 + ], + [ + "▁proiect", + -11.279136657714844 + ], + [ + "▁literally", + -11.279288291931152 + ], + [ + "▁acolo", + -11.279412269592285 + ], + [ + "▁User", + -11.279485702514648 + ], + [ + "UT", + -11.279598236083984 + ], + [ + "▁hyper", + -11.279623985290527 + ], + [ + "▁seed", + -11.279794692993164 + ], + [ + "▁literature", + -11.2802734375 + ], + [ + "▁Holy", + -11.280373573303223 + ], + [ + "▁jeu", + -11.280396461486816 + ], + [ + "▁licensed", + -11.280896186828613 + ], + [ + "station", + -11.280900955200195 + ], + [ + "▁criteria", + -11.281292915344238 + ], + [ + "▁sufficient", + -11.281292915344238 + ], + [ + "▁gestion", + -11.281512260437012 + ], + [ + "▁pic", + -11.281549453735352 + ], + [ + "▁64", + -11.28170108795166 + ], + [ + "▁facts", + -11.281905174255371 + ], + [ + "▁Bild", + -11.282098770141602 + ], + [ + "obi", + -11.28212833404541 + ], + [ + "▁nie", + -11.282362937927246 + ], + [ + "▁Jewish", + -11.282756805419922 + ], + [ + "bor", + -11.28281307220459 + ], + [ + "▁1980", + -11.28286361694336 + ], + [ + "▁Fach", + -11.282917976379395 + ], + [ + "craft", + -11.283047676086426 + ], + [ + "▁Pakistan", + -11.283408164978027 + ], + [ + "▁Mos", + -11.283621788024902 + ], + [ + "▁toilet", + -11.283844947814941 + ], + [ + "partea", + -11.28391170501709 + ], + [ + "case", + -11.284221649169922 + ], + [ + "▁clock", + -11.28430461883545 + ], + [ + "▁parc", + -11.284602165222168 + ], + [ + "▁legislation", + -11.284692764282227 + ], + [ + "▁icon", + -11.284933090209961 + ], + [ + "etz", + -11.285178184509277 + ], + [ + "ept", + -11.285270690917969 + ], + [ + "▁Corporation", + -11.28585433959961 + ], + [ + "▁requested", + -11.285983085632324 + ], + [ + "▁column", + -11.286088943481445 + ], + [ + "rier", + -11.286120414733887 + ], + [ + "uß", + -11.2861967086792 + ], + [ + "▁wohl", + -11.286418914794922 + ], + [ + "tell", + -11.286569595336914 + ], + [ + "gno", + -11.286608695983887 + ], + [ + "▁diseases", + -11.286726951599121 + ], + [ + "Sch", + -11.286762237548828 + ], + [ + "▁colon", + -11.287075996398926 + ], + [ + "▁Based", + -11.28709602355957 + ], + [ + "▁flu", + -11.28725528717041 + ], + [ + "▁vocal", + -11.287408828735352 + ], + [ + "▁virus", + -11.287693977355957 + ], + [ + "▁traveling", + -11.287750244140625 + ], + [ + "bul", + -11.287837982177734 + ], + [ + "т", + -11.28794002532959 + ], + [ + "city", + -11.287961959838867 + ], + [ + "AU", + -11.287991523742676 + ], + [ + "wide", + -11.288037300109863 + ], + [ + "▁solo", + -11.288061141967773 + ], + [ + "▁functionality", + -11.288214683532715 + ], + [ + "▁reveal", + -11.28831672668457 + ], + [ + "sign", + -11.288952827453613 + ], + [ + "▁closing", + -11.288971900939941 + ], + [ + "▁peak", + -11.289087295532227 + ], + [ + "▁practic", + -11.289398193359375 + ], + [ + "than", + -11.289473533630371 + ], + [ + "▁driven", + -11.289484977722168 + ], + [ + "êtes", + -11.289548873901367 + ], + [ + "high", + -11.290016174316406 + ], + [ + "power", + -11.290226936340332 + ], + [ + "▁Lin", + -11.29028606414795 + ], + [ + "▁dose", + -11.29034423828125 + ], + [ + "▁pocket", + -11.290650367736816 + ], + [ + "▁Classic", + -11.29067611694336 + ], + [ + "▁packaging", + -11.290792465209961 + ], + [ + "▁distinct", + -11.290800094604492 + ], + [ + "▁côté", + -11.291094779968262 + ], + [ + "▁breast", + -11.29127025604248 + ], + [ + "▁folosit", + -11.29133129119873 + ], + [ + "▁drinks", + -11.291353225708008 + ], + [ + "▁Dog", + -11.291529655456543 + ], + [ + "ailleurs", + -11.291658401489258 + ], + [ + "▁caz", + -11.291804313659668 + ], + [ + "▁escape", + -11.29188346862793 + ], + [ + "▁warranty", + -11.291902542114258 + ], + [ + "▁pulled", + -11.291996955871582 + ], + [ + "data", + -11.292088508605957 + ], + [ + "▁facilitate", + -11.292213439941406 + ], + [ + "É", + -11.292335510253906 + ], + [ + "▁SP", + -11.292403221130371 + ], + [ + "lant", + -11.292557716369629 + ], + [ + "AD", + -11.29256534576416 + ], + [ + "▁Print", + -11.292802810668945 + ], + [ + "mond", + -11.292863845825195 + ], + [ + "▁strange", + -11.292875289916992 + ], + [ + "▁Hor", + -11.293227195739746 + ], + [ + "▁Collection", + -11.293328285217285 + ], + [ + "arm", + -11.29346752166748 + ], + [ + "cas", + -11.293691635131836 + ], + [ + "arrow", + -11.29379940032959 + ], + [ + "▁carrying", + -11.293927192687988 + ], + [ + "▁wave", + -11.294661521911621 + ], + [ + "setzt", + -11.294907569885254 + ], + [ + "▁construct", + -11.29514217376709 + ], + [ + "▁acts", + -11.295269966125488 + ], + [ + "▁Action", + -11.295342445373535 + ], + [ + "▁Kim", + -11.295354843139648 + ], + [ + "oxid", + -11.295459747314453 + ], + [ + "fish", + -11.295519828796387 + ], + [ + "▁damaged", + -11.295660018920898 + ], + [ + "▁Greek", + -11.295747756958008 + ], + [ + "▁belt", + -11.295772552490234 + ], + [ + "▁Prior", + -11.295778274536133 + ], + [ + "▁marks", + -11.295936584472656 + ], + [ + "▁lumea", + -11.296183586120605 + ], + [ + "▁twenty", + -11.296196937561035 + ], + [ + "▁locul", + -11.296360969543457 + ], + [ + "▁Army", + -11.296524047851562 + ], + [ + "apt", + -11.296602249145508 + ], + [ + "▁limits", + -11.296733856201172 + ], + [ + "▁cruise", + -11.296966552734375 + ], + [ + "▁List", + -11.296998023986816 + ], + [ + "utilisation", + -11.29753589630127 + ], + [ + "▁personality", + -11.297622680664062 + ], + [ + "▁sections", + -11.297759056091309 + ], + [ + "▁drawn", + -11.29797649383545 + ], + [ + "▁mold", + -11.298277854919434 + ], + [ + "▁Think", + -11.298333168029785 + ], + [ + "▁holidays", + -11.298355102539062 + ], + [ + "▁critic", + -11.298545837402344 + ], + [ + "grade", + -11.298660278320312 + ], + [ + "▁sick", + -11.299074172973633 + ], + [ + "▁characteristics", + -11.299237251281738 + ], + [ + "▁echipa", + -11.299272537231445 + ], + [ + "▁Fast", + -11.29929256439209 + ], + [ + "▁Br", + -11.299600601196289 + ], + [ + "▁Reise", + -11.299734115600586 + ], + [ + "teen", + -11.299749374389648 + ], + [ + "uci", + -11.299949645996094 + ], + [ + "!”", + -11.300180435180664 + ], + [ + "ppe", + -11.300532341003418 + ], + [ + "▁talked", + -11.301164627075195 + ], + [ + "▁gap", + -11.301473617553711 + ], + [ + "homme", + -11.301778793334961 + ], + [ + "▁interact", + -11.301934242248535 + ], + [ + "▁dollar", + -11.302276611328125 + ], + [ + "▁bone", + -11.302309036254883 + ], + [ + "▁Einsatz", + -11.302343368530273 + ], + [ + "▁sad", + -11.302434921264648 + ], + [ + "any", + -11.302445411682129 + ], + [ + "tation", + -11.302666664123535 + ], + [ + "▁Haupt", + -11.302748680114746 + ], + [ + "iva", + -11.302781105041504 + ], + [ + "▁Schu", + -11.302916526794434 + ], + [ + "▁evaluate", + -11.3036470413208 + ], + [ + "▁variant", + -11.303807258605957 + ], + [ + "▁IS", + -11.303879737854004 + ], + [ + "▁PRO", + -11.303947448730469 + ], + [ + "▁vine", + -11.303959846496582 + ], + [ + "rut", + -11.304062843322754 + ], + [ + "▁existence", + -11.30443286895752 + ], + [ + "-7", + -11.304525375366211 + ], + [ + "ancy", + -11.304702758789062 + ], + [ + "▁Want", + -11.305023193359375 + ], + [ + "alism", + -11.305127143859863 + ], + [ + "ranging", + -11.30550765991211 + ], + [ + "preis", + -11.305551528930664 + ], + [ + "All", + -11.305620193481445 + ], + [ + "▁reception", + -11.30565071105957 + ], + [ + "mai", + -11.305730819702148 + ], + [ + "▁lease", + -11.30577278137207 + ], + [ + "▁finest", + -11.30578899383545 + ], + [ + "▁evident", + -11.305874824523926 + ], + [ + "▁Easy", + -11.306075096130371 + ], + [ + "▁gilt", + -11.306085586547852 + ], + [ + "▁trips", + -11.306344985961914 + ], + [ + "▁skilled", + -11.306368827819824 + ], + [ + "consists", + -11.306456565856934 + ], + [ + "front", + -11.306635856628418 + ], + [ + "rati", + -11.306652069091797 + ], + [ + "▁Following", + -11.30678653717041 + ], + [ + "▁Medicine", + -11.307161331176758 + ], + [ + "▁pune", + -11.30729866027832 + ], + [ + "▁errors", + -11.307354927062988 + ], + [ + "arian", + -11.307613372802734 + ], + [ + "lib", + -11.30811882019043 + ], + [ + "SR", + -11.308351516723633 + ], + [ + "ML", + -11.308568000793457 + ], + [ + "▁Safety", + -11.308823585510254 + ], + [ + "▁clar", + -11.309355735778809 + ], + [ + "New", + -11.309764862060547 + ], + [ + "▁37", + -11.309773445129395 + ], + [ + "▁Administration", + -11.309823036193848 + ], + [ + "▁2.0", + -11.310120582580566 + ], + [ + "▁obviously", + -11.310196876525879 + ], + [ + "▁Mitarbeiter", + -11.310254096984863 + ], + [ + "▁improvements", + -11.31043529510498 + ], + [ + "▁Cut", + -11.310630798339844 + ], + [ + "▁Natural", + -11.310672760009766 + ], + [ + "▁arrival", + -11.311182975769043 + ], + [ + "▁pizza", + -11.311339378356934 + ], + [ + "eşti", + -11.311570167541504 + ], + [ + "cept", + -11.311654090881348 + ], + [ + "▁livre", + -11.311686515808105 + ], + [ + "▁nombreux", + -11.312195777893066 + ], + [ + "▁authentic", + -11.312231063842773 + ], + [ + "▁gemacht", + -11.312472343444824 + ], + [ + "▁broadcast", + -11.312478065490723 + ], + [ + "▁stronger", + -11.312545776367188 + ], + [ + "UP", + -11.31257152557373 + ], + [ + "▁centers", + -11.312614440917969 + ], + [ + "▁petite", + -11.312617301940918 + ], + [ + "▁spots", + -11.312626838684082 + ], + [ + "▁crystal", + -11.312756538391113 + ], + [ + "▁salon", + -11.313044548034668 + ], + [ + "▁gained", + -11.313098907470703 + ], + [ + "▁Mus", + -11.313215255737305 + ], + [ + "▁lens", + -11.313223838806152 + ], + [ + "▁ihm", + -11.313231468200684 + ], + [ + "minute", + -11.313573837280273 + ], + [ + "▁greatly", + -11.313587188720703 + ], + [ + "LP", + -11.31361198425293 + ], + [ + "rait", + -11.314027786254883 + ], + [ + "▁bid", + -11.314154624938965 + ], + [ + "▁cit", + -11.314203262329102 + ], + [ + "entreprise", + -11.31435775756836 + ], + [ + "▁55", + -11.314533233642578 + ], + [ + "▁respectively", + -11.314536094665527 + ], + [ + "▁lo", + -11.314638137817383 + ], + [ + "▁cons", + -11.314743995666504 + ], + [ + "▁Energie", + -11.315169334411621 + ], + [ + "▁OK", + -11.31521224975586 + ], + [ + "▁grill", + -11.315338134765625 + ], + [ + "▁heading", + -11.31549072265625 + ], + [ + "▁sollten", + -11.315491676330566 + ], + [ + "▁Fragen", + -11.315528869628906 + ], + [ + "▁Poli", + -11.315556526184082 + ], + [ + "▁studying", + -11.315723419189453 + ], + [ + "▁développement", + -11.315882682800293 + ], + [ + "▁foam", + -11.316035270690918 + ], + [ + "▁1996", + -11.316511154174805 + ], + [ + "▁disaster", + -11.31662654876709 + ], + [ + "▁cafe", + -11.317262649536133 + ], + [ + "▁moves", + -11.317267417907715 + ], + [ + "focuses", + -11.317712783813477 + ], + [ + "▁Avenue", + -11.317834854125977 + ], + [ + "▁humans", + -11.31784439086914 + ], + [ + "▁(3", + -11.318021774291992 + ], + [ + "▁région", + -11.318347930908203 + ], + [ + "▁DJ", + -11.318608283996582 + ], + [ + "shop", + -11.318819046020508 + ], + [ + "▁acting", + -11.318843841552734 + ], + [ + "▁Justice", + -11.318967819213867 + ], + [ + "▁trouve", + -11.319010734558105 + ], + [ + "▁Estate", + -11.319040298461914 + ], + [ + "▁strict", + -11.319231986999512 + ], + [ + "▁talks", + -11.319283485412598 + ], + [ + "▁mat", + -11.319290161132812 + ], + [ + "▁completion", + -11.319327354431152 + ], + [ + "delivering", + -11.31943416595459 + ], + [ + "CD", + -11.31973934173584 + ], + [ + "0%", + -11.319960594177246 + ], + [ + "▁creativity", + -11.320253372192383 + ], + [ + "BR", + -11.320272445678711 + ], + [ + "▁occurred", + -11.320357322692871 + ], + [ + "Car", + -11.320590019226074 + ], + [ + "▁rising", + -11.320761680603027 + ], + [ + "gger", + -11.32086181640625 + ], + [ + "▁Gene", + -11.320901870727539 + ], + [ + "▁workplace", + -11.320914268493652 + ], + [ + "phy", + -11.321065902709961 + ], + [ + "▁Bla", + -11.32107162475586 + ], + [ + "▁trailer", + -11.32120418548584 + ], + [ + "▁Forest", + -11.321205139160156 + ], + [ + "▁profession", + -11.321246147155762 + ], + [ + "▁Father", + -11.32137680053711 + ], + [ + "flu", + -11.321487426757812 + ], + [ + "tone", + -11.321489334106445 + ], + [ + "▁sexual", + -11.321736335754395 + ], + [ + "▁Map", + -11.321805953979492 + ], + [ + "OT", + -11.3218412399292 + ], + [ + "▁Us", + -11.321878433227539 + ], + [ + "tôt", + -11.321892738342285 + ], + [ + "▁Wert", + -11.321901321411133 + ], + [ + "preparing", + -11.322121620178223 + ], + [ + "isé", + -11.322243690490723 + ], + [ + "▁lake", + -11.322461128234863 + ], + [ + "eed", + -11.32270336151123 + ], + [ + "jun", + -11.322888374328613 + ], + [ + "▁implemented", + -11.323014259338379 + ], + [ + "vid", + -11.323116302490234 + ], + [ + "igne", + -11.323201179504395 + ], + [ + "▁follows", + -11.323214530944824 + ], + [ + "▁Eric", + -11.323430061340332 + ], + [ + "body", + -11.323530197143555 + ], + [ + "▁contained", + -11.323585510253906 + ], + [ + "▁massage", + -11.323715209960938 + ], + [ + "AV", + -11.323725700378418 + ], + [ + "▁insa", + -11.323850631713867 + ], + [ + "▁observed", + -11.323892593383789 + ], + [ + "▁marque", + -11.324137687683105 + ], + [ + "lines", + -11.324451446533203 + ], + [ + "▁Frage", + -11.324482917785645 + ], + [ + "largely", + -11.324647903442383 + ], + [ + "gegeben", + -11.32473087310791 + ], + [ + "▁colleagues", + -11.324762344360352 + ], + [ + "pha", + -11.32494068145752 + ], + [ + "▁representative", + -11.325217247009277 + ], + [ + "▁shut", + -11.325650215148926 + ], + [ + "▁secondary", + -11.325779914855957 + ], + [ + "▁exhibit", + -11.325927734375 + ], + [ + "1)", + -11.325932502746582 + ], + [ + "mid", + -11.326109886169434 + ], + [ + "▁Due", + -11.326229095458984 + ], + [ + "▁initiatives", + -11.326457023620605 + ], + [ + "▁occurs", + -11.326458930969238 + ], + [ + "lent", + -11.326478958129883 + ], + [ + "▁façon", + -11.326778411865234 + ], + [ + "▁iOS", + -11.326803207397461 + ], + [ + "▁exploring", + -11.327000617980957 + ], + [ + "▁stations", + -11.327103614807129 + ], + [ + "nton", + -11.327234268188477 + ], + [ + "▁Country", + -11.32729721069336 + ], + [ + "▁shouldn", + -11.327406883239746 + ], + [ + "▁casual", + -11.327611923217773 + ], + [ + "-18", + -11.32769775390625 + ], + [ + "▁maintained", + -11.32772445678711 + ], + [ + "▁cart", + -11.327790260314941 + ], + [ + "▁propre", + -11.327836036682129 + ], + [ + "▁asset", + -11.327948570251465 + ], + [ + "firm", + -11.32803726196289 + ], + [ + "gla", + -11.328231811523438 + ], + [ + "viv", + -11.3282470703125 + ], + [ + "▁scientists", + -11.328873634338379 + ], + [ + "▁Nor", + -11.328936576843262 + ], + [ + "ites", + -11.329320907592773 + ], + [ + "▁engaging", + -11.329933166503906 + ], + [ + "My", + -11.330178260803223 + ], + [ + "▁workshops", + -11.330282211303711 + ], + [ + "ffer", + -11.3303804397583 + ], + [ + "activité", + -11.33047103881836 + ], + [ + "▁tension", + -11.330567359924316 + ], + [ + "▁dual", + -11.330668449401855 + ], + [ + "uer", + -11.33084774017334 + ], + [ + "900", + -11.330941200256348 + ], + [ + "SF", + -11.33108139038086 + ], + [ + "▁kannst", + -11.331146240234375 + ], + [ + "▁bur", + -11.33115291595459 + ], + [ + "▁visitor", + -11.331156730651855 + ], + [ + "▁granted", + -11.331178665161133 + ], + [ + "▁union", + -11.331355094909668 + ], + [ + "▁tablet", + -11.331461906433105 + ], + [ + "▁Choose", + -11.33146858215332 + ], + [ + "ibil", + -11.331551551818848 + ], + [ + "▁settlement", + -11.331830978393555 + ], + [ + "genommen", + -11.331892967224121 + ], + [ + "▁marked", + -11.332956314086914 + ], + [ + "▁diagnostic", + -11.333370208740234 + ], + [ + "▁prayer", + -11.333529472351074 + ], + [ + "▁Toronto", + -11.334035873413086 + ], + [ + "trans", + -11.334146499633789 + ], + [ + "▁respectiv", + -11.334160804748535 + ], + [ + "▁2012.", + -11.334207534790039 + ], + [ + "icul", + -11.334394454956055 + ], + [ + "▁satisfied", + -11.334527969360352 + ], + [ + "▁Fla", + -11.334596633911133 + ], + [ + "▁estimate", + -11.334638595581055 + ], + [ + "▁Agency", + -11.33466911315918 + ], + [ + "OD", + -11.334708213806152 + ], + [ + "▁McC", + -11.334746360778809 + ], + [ + "bert", + -11.334748268127441 + ], + [ + "▁seal", + -11.334771156311035 + ], + [ + "aine", + -11.334839820861816 + ], + [ + "▁cauza", + -11.334848403930664 + ], + [ + "▁wallpaper", + -11.335081100463867 + ], + [ + "▁alb", + -11.33536434173584 + ], + [ + "▁Sound", + -11.335681915283203 + ], + [ + "worth", + -11.33572769165039 + ], + [ + "chten", + -11.335858345031738 + ], + [ + "programm", + -11.335896492004395 + ], + [ + "▁pounds", + -11.336215019226074 + ], + [ + "▁coaching", + -11.336278915405273 + ], + [ + "▁Furthermore", + -11.336454391479492 + ], + [ + "▁Korea", + -11.336471557617188 + ], + [ + "▁flour", + -11.336530685424805 + ], + [ + "▁sommes", + -11.33657169342041 + ], + [ + "▁Repair", + -11.33661937713623 + ], + [ + "”)", + -11.336642265319824 + ], + [ + "itch", + -11.336675643920898 + ], + [ + "blu", + -11.336786270141602 + ], + [ + "zar", + -11.336882591247559 + ], + [ + "▁diferite", + -11.33745002746582 + ], + [ + "▁Golf", + -11.337685585021973 + ], + [ + "arch", + -11.33772087097168 + ], + [ + "▁panels", + -11.337799072265625 + ], + [ + "jan", + -11.337956428527832 + ], + [ + "“.", + -11.338240623474121 + ], + [ + "izarea", + -11.338324546813965 + ], + [ + "▁golden", + -11.33854866027832 + ], + [ + "▁flying", + -11.338550567626953 + ], + [ + "▁museum", + -11.338700294494629 + ], + [ + "▁equivalent", + -11.338759422302246 + ], + [ + "▁Lang", + -11.339032173156738 + ], + [ + "schi", + -11.339539527893066 + ], + [ + "MI", + -11.339595794677734 + ], + [ + "▁faci", + -11.339838027954102 + ], + [ + "▁Rahmen", + -11.339988708496094 + ], + [ + "▁attending", + -11.340130805969238 + ], + [ + "′′", + -11.340483665466309 + ], + [ + "▁Tro", + -11.341070175170898 + ], + [ + "▁gaming", + -11.341447830200195 + ], + [ + "▁aujourd", + -11.341479301452637 + ], + [ + "▁Wochen", + -11.341526985168457 + ], + [ + "▁entering", + -11.341535568237305 + ], + [ + "its", + -11.34155559539795 + ], + [ + "▁Private", + -11.341866493225098 + ], + [ + "▁Ocean", + -11.34188175201416 + ], + [ + "▁01", + -11.342098236083984 + ], + [ + "▁coloring", + -11.342188835144043 + ], + [ + "ător", + -11.34253215789795 + ], + [ + "▁flooring", + -11.342548370361328 + ], + [ + "▁downtown", + -11.34276294708252 + ], + [ + "rab", + -11.342998504638672 + ], + [ + "HI", + -11.343221664428711 + ], + [ + "▁illness", + -11.343234062194824 + ], + [ + "▁whil", + -11.343307495117188 + ], + [ + "▁diamond", + -11.34333324432373 + ], + [ + "Mail", + -11.343419075012207 + ], + [ + "▁Dream", + -11.34344482421875 + ], + [ + "▁Golden", + -11.344099044799805 + ], + [ + "▁rein", + -11.344220161437988 + ], + [ + "▁hi", + -11.344283103942871 + ], + [ + "▁expressed", + -11.344489097595215 + ], + [ + "▁luat", + -11.344511985778809 + ], + [ + "▁Share", + -11.34453010559082 + ], + [ + "▁Programm", + -11.344706535339355 + ], + [ + "▁Sales", + -11.344707489013672 + ], + [ + "▁prof", + -11.344890594482422 + ], + [ + "▁MO", + -11.34505844116211 + ], + [ + "▁Short", + -11.345088958740234 + ], + [ + "▁charm", + -11.345290184020996 + ], + [ + "▁Cer", + -11.345373153686523 + ], + [ + "▁Run", + -11.34553337097168 + ], + [ + "▁tutorial", + -11.345589637756348 + ], + [ + "oul", + -11.34561824798584 + ], + [ + "▁Fest", + -11.345794677734375 + ], + [ + "▁uniform", + -11.345929145812988 + ], + [ + "aß", + -11.346014976501465 + ], + [ + "▁pipe", + -11.346076965332031 + ], + [ + "▁Square", + -11.346283912658691 + ], + [ + "▁Kosten", + -11.346365928649902 + ], + [ + "▁checked", + -11.346590042114258 + ], + [ + "▁65", + -11.346626281738281 + ], + [ + "▁Adam", + -11.346686363220215 + ], + [ + "cel", + -11.346700668334961 + ], + [ + "ello", + -11.346965789794922 + ], + [ + "▁Res", + -11.347023963928223 + ], + [ + "▁drain", + -11.34708309173584 + ], + [ + "ză", + -11.347129821777344 + ], + [ + "▁Tech", + -11.34739875793457 + ], + [ + "▁strive", + -11.34749698638916 + ], + [ + "cycl", + -11.347506523132324 + ], + [ + "▁stark", + -11.347541809082031 + ], + [ + "load", + -11.34754753112793 + ], + [ + "▁Stat", + -11.347589492797852 + ], + [ + "▁Rec", + -11.347622871398926 + ], + [ + "ians", + -11.347716331481934 + ], + [ + "▁Tin", + -11.347738265991211 + ], + [ + "▁Agreement", + -11.347840309143066 + ], + [ + "▁pret", + -11.348027229309082 + ], + [ + "-9", + -11.348326683044434 + ], + [ + "▁sentence", + -11.348380088806152 + ], + [ + "▁Direct", + -11.348426818847656 + ], + [ + "▁Rep", + -11.348465919494629 + ], + [ + "▁Prozent", + -11.348799705505371 + ], + [ + "▁invitation", + -11.34882640838623 + ], + [ + "▁refund", + -11.349113464355469 + ], + [ + "▁Kids", + -11.349287986755371 + ], + [ + "stock", + -11.349383354187012 + ], + [ + "TP", + -11.349400520324707 + ], + [ + "▁tau", + -11.34941291809082 + ], + [ + "from", + -11.349421501159668 + ], + [ + "▁Ash", + -11.349451065063477 + ], + [ + "store", + -11.349535942077637 + ], + [ + "▁Common", + -11.34958553314209 + ], + [ + "▁Qualität", + -11.34968376159668 + ], + [ + "▁strongly", + -11.349727630615234 + ], + [ + "▁importante", + -11.34979248046875 + ], + [ + "ome", + -11.349912643432617 + ], + [ + "▁surtout", + -11.349946022033691 + ], + [ + "enables", + -11.35020637512207 + ], + [ + "▁decent", + -11.350221633911133 + ], + [ + "▁neutral", + -11.350237846374512 + ], + [ + "▁produs", + -11.350356101989746 + ], + [ + "bury", + -11.350451469421387 + ], + [ + "▁Level", + -11.350618362426758 + ], + [ + "▁interes", + -11.350699424743652 + ], + [ + "mov", + -11.350797653198242 + ], + [ + "▁backup", + -11.350939750671387 + ], + [ + "même", + -11.351094245910645 + ], + [ + "doc", + -11.351119041442871 + ], + [ + "▁#1", + -11.35130786895752 + ], + [ + "▁specified", + -11.351495742797852 + ], + [ + "▁founder", + -11.351655960083008 + ], + [ + "And", + -11.352090835571289 + ], + [ + "isten", + -11.352149963378906 + ], + [ + "▁lecture", + -11.352729797363281 + ], + [ + "▁wake", + -11.352895736694336 + ], + [ + "▁vraiment", + -11.352980613708496 + ], + [ + "▁swing", + -11.353188514709473 + ], + [ + "▁addresses", + -11.353275299072266 + ], + [ + "▁Verfügung", + -11.353504180908203 + ], + [ + "▁deadline", + -11.353761672973633 + ], + [ + "н", + -11.353791236877441 + ], + [ + "▁Content", + -11.353970527648926 + ], + [ + "▁Gre", + -11.354111671447754 + ], + [ + "▁Experience", + -11.354378700256348 + ], + [ + "tura", + -11.354458808898926 + ], + [ + "▁exit", + -11.354642868041992 + ], + [ + "▁Britain", + -11.354652404785156 + ], + [ + "▁Sunt", + -11.354684829711914 + ], + [ + "▁documentation", + -11.354690551757812 + ], + [ + "▁showcase", + -11.3547945022583 + ], + [ + "▁photographs", + -11.354822158813477 + ], + [ + "qué", + -11.35483169555664 + ], + [ + "zin", + -11.354909896850586 + ], + [ + "pres", + -11.354933738708496 + ], + [ + "▁decline", + -11.354955673217773 + ], + [ + "▁Large", + -11.355030059814453 + ], + [ + "▁bills", + -11.355141639709473 + ], + [ + "▁entitled", + -11.355222702026367 + ], + [ + "▁passionate", + -11.355393409729004 + ], + [ + "▁workout", + -11.355413436889648 + ], + [ + "▁Again", + -11.35560417175293 + ], + [ + "▁Haut", + -11.35582160949707 + ], + [ + "▁guaranteed", + -11.35599136352539 + ], + [ + "▁vue", + -11.35600471496582 + ], + [ + "▁farmers", + -11.356224060058594 + ], + [ + "▁admission", + -11.356500625610352 + ], + [ + "▁manière", + -11.357080459594727 + ], + [ + "▁reverse", + -11.357121467590332 + ], + [ + "▁FL", + -11.357142448425293 + ], + [ + "▁terminal", + -11.357206344604492 + ], + [ + "GI", + -11.35731029510498 + ], + [ + "▁speakers", + -11.35739803314209 + ], + [ + "▁responses", + -11.357398986816406 + ], + [ + "▁Doch", + -11.357457160949707 + ], + [ + "▁2013,", + -11.357717514038086 + ], + [ + "▁phones", + -11.357789993286133 + ], + [ + "ential", + -11.357851028442383 + ], + [ + "▁operator", + -11.357916831970215 + ], + [ + "▁steam", + -11.358036994934082 + ], + [ + "burn", + -11.358091354370117 + ], + [ + "▁seul", + -11.35815715789795 + ], + [ + "▁unusual", + -11.358322143554688 + ], + [ + "▁educate", + -11.358403205871582 + ], + [ + "▁Que", + -11.358680725097656 + ], + [ + "▁believes", + -11.359137535095215 + ], + [ + "▁succeed", + -11.359344482421875 + ], + [ + "▁delay", + -11.359533309936523 + ], + [ + "▁deeper", + -11.359633445739746 + ], + [ + "▁reaching", + -11.359890937805176 + ], + [ + "▁objectives", + -11.360086441040039 + ], + [ + "▁temporary", + -11.36028003692627 + ], + [ + "▁artistic", + -11.360421180725098 + ], + [ + "▁sou", + -11.360471725463867 + ], + [ + "▁transparent", + -11.36062240600586 + ], + [ + "There", + -11.360798835754395 + ], + [ + "ception", + -11.360836029052734 + ], + [ + "▁excess", + -11.360939979553223 + ], + [ + "▁gathering", + -11.361008644104004 + ], + [ + "▁Save", + -11.361095428466797 + ], + [ + "ază", + -11.361166000366211 + ], + [ + "▁français", + -11.361197471618652 + ], + [ + "▁laid", + -11.361210823059082 + ], + [ + "▁modul", + -11.361394882202148 + ], + [ + "avoir", + -11.361465454101562 + ], + [ + "under", + -11.362113952636719 + ], + [ + "dding", + -11.362226486206055 + ], + [ + "▁falls", + -11.362232208251953 + ], + [ + "▁Möglichkeit", + -11.362369537353516 + ], + [ + "▁ceremony", + -11.362370491027832 + ], + [ + "rai", + -11.36237621307373 + ], + [ + "▁Bor", + -11.362709045410156 + ], + [ + "▁Below", + -11.362750053405762 + ], + [ + "4)", + -11.362759590148926 + ], + [ + "▁Field", + -11.362833023071289 + ], + [ + "wear", + -11.362935066223145 + ], + [ + "motion", + -11.362948417663574 + ], + [ + "print", + -11.363311767578125 + ], + [ + "game", + -11.363360404968262 + ], + [ + "▁Irish", + -11.363458633422852 + ], + [ + "▁Las", + -11.363458633422852 + ], + [ + "Among", + -11.363570213317871 + ], + [ + "atori", + -11.363580703735352 + ], + [ + "▁ajuns", + -11.363837242126465 + ], + [ + "▁alive", + -11.363860130310059 + ], + [ + "▁retour", + -11.363900184631348 + ], + [ + "▁smoke", + -11.3640775680542 + ], + [ + "▁math", + -11.364285469055176 + ], + [ + "▁Ye", + -11.364337921142578 + ], + [ + "▁Denn", + -11.36436653137207 + ], + [ + "▁1995", + -11.364412307739258 + ], + [ + "▁bani", + -11.364644050598145 + ], + [ + "raz", + -11.364998817443848 + ], + [ + "world", + -11.365026473999023 + ], + [ + "▁engines", + -11.365140914916992 + ], + [ + "nehmen", + -11.365192413330078 + ], + [ + "stor", + -11.365328788757324 + ], + [ + "▁interpret", + -11.365403175354004 + ], + [ + "▁Ven", + -11.365489959716797 + ], + [ + "▁cotton", + -11.365622520446777 + ], + [ + "▁represented", + -11.366004943847656 + ], + [ + "▁fabulous", + -11.366166114807129 + ], + [ + "▁gender", + -11.366301536560059 + ], + [ + "Mar", + -11.366668701171875 + ], + [ + "vic", + -11.366991996765137 + ], + [ + "▁newsletter", + -11.367432594299316 + ], + [ + "sburg", + -11.367574691772461 + ], + [ + "pond", + -11.36838436126709 + ], + [ + "▁Carl", + -11.368454933166504 + ], + [ + "▁bunch", + -11.368714332580566 + ], + [ + "▁tower", + -11.368847846984863 + ], + [ + "▁trigger", + -11.368976593017578 + ], + [ + "▁explanation", + -11.369091033935547 + ], + [ + "Man", + -11.369114875793457 + ], + [ + "iunea", + -11.369168281555176 + ], + [ + "▁announcement", + -11.369492530822754 + ], + [ + "▁seeds", + -11.36952018737793 + ], + [ + "▁shell", + -11.369865417480469 + ], + [ + "▁Working", + -11.36989688873291 + ], + [ + "viz", + -11.370267868041992 + ], + [ + "▁Simply", + -11.370329856872559 + ], + [ + "sub", + -11.37037181854248 + ], + [ + "▁Village", + -11.37060832977295 + ], + [ + "▁falling", + -11.370742797851562 + ], + [ + "▁fits", + -11.37084674835205 + ], + [ + "▁wichtig", + -11.37088394165039 + ], + [ + "▁Down", + -11.37108039855957 + ], + [ + "bble", + -11.371573448181152 + ], + [ + "▁Orange", + -11.37165641784668 + ], + [ + "promoting", + -11.371932029724121 + ], + [ + "▁rapidly", + -11.37217903137207 + ], + [ + "▁translation", + -11.372330665588379 + ], + [ + "nig", + -11.3723726272583 + ], + [ + "fusion", + -11.37240982055664 + ], + [ + "kosten", + -11.372611045837402 + ], + [ + "2)", + -11.372783660888672 + ], + [ + "▁Express", + -11.372958183288574 + ], + [ + "▁Sw", + -11.373003959655762 + ], + [ + "▁frequency", + -11.373086929321289 + ], + [ + "▁diversity", + -11.373348236083984 + ], + [ + "MT", + -11.373452186584473 + ], + [ + "▁bekannt", + -11.373530387878418 + ], + [ + "lion", + -11.373871803283691 + ], + [ + "▁cop", + -11.37393856048584 + ], + [ + "▁Customer", + -11.374072074890137 + ], + [ + "▁demands", + -11.374427795410156 + ], + [ + "▁corn", + -11.374516487121582 + ], + [ + "▁Hamburg", + -11.374551773071289 + ], + [ + "SD", + -11.374628067016602 + ], + [ + "▁Rome", + -11.374677658081055 + ], + [ + "▁Pur", + -11.374750137329102 + ], + [ + "▁stamp", + -11.374885559082031 + ], + [ + "▁grateful", + -11.374967575073242 + ], + [ + "RM", + -11.37511157989502 + ], + [ + "▁Pl", + -11.37511920928955 + ], + [ + "▁Tele", + -11.375154495239258 + ], + [ + "▁plugin", + -11.375492095947266 + ], + [ + "▁maxim", + -11.375675201416016 + ], + [ + "▁Hoch", + -11.37574577331543 + ], + [ + "igung", + -11.375823020935059 + ], + [ + "▁Entwicklung", + -11.375858306884766 + ], + [ + "▁File", + -11.375931739807129 + ], + [ + "▁Eastern", + -11.376070022583008 + ], + [ + "▁scrap", + -11.376331329345703 + ], + [ + "▁acquired", + -11.376338958740234 + ], + [ + "sau", + -11.376364707946777 + ], + [ + "▁Klein", + -11.376452445983887 + ], + [ + "▁milioane", + -11.376492500305176 + ], + [ + "▁Stand", + -11.376693725585938 + ], + [ + "▁childhood", + -11.37671184539795 + ], + [ + "▁artificial", + -11.376752853393555 + ], + [ + "▁substantial", + -11.376851081848145 + ], + [ + "druck", + -11.377315521240234 + ], + [ + "▁Kra", + -11.377562522888184 + ], + [ + "▁performances", + -11.377645492553711 + ], + [ + "▁row", + -11.377824783325195 + ], + [ + "NT", + -11.377899169921875 + ], + [ + "mod", + -11.377904891967773 + ], + [ + "remained", + -11.378399848937988 + ], + [ + "▁nimic", + -11.378462791442871 + ], + [ + "▁Limited", + -11.378555297851562 + ], + [ + "▁cookie", + -11.378718376159668 + ], + [ + "▁retain", + -11.378816604614258 + ], + [ + "▁600", + -11.379144668579102 + ], + [ + "▁eigene", + -11.379158020019531 + ], + [ + "▁tune", + -11.379209518432617 + ], + [ + "NS", + -11.379256248474121 + ], + [ + "▁dad", + -11.379284858703613 + ], + [ + "Moreover", + -11.379415512084961 + ], + [ + "ès", + -11.379434585571289 + ], + [ + "▁worship", + -11.379439353942871 + ], + [ + "▁Material", + -11.3794584274292 + ], + [ + "▁verb", + -11.379528045654297 + ], + [ + "ziehen", + -11.37957763671875 + ], + [ + "lton", + -11.379645347595215 + ], + [ + "▁boot", + -11.379982948303223 + ], + [ + "plo", + -11.380118370056152 + ], + [ + "CF", + -11.380212783813477 + ], + [ + "GM", + -11.380215644836426 + ], + [ + "▁Mix", + -11.38046932220459 + ], + [ + "▁Front", + -11.380474090576172 + ], + [ + "▁repairs", + -11.380655288696289 + ], + [ + "▁proportion", + -11.381068229675293 + ], + [ + "▁habit", + -11.381132125854492 + ], + [ + "▁hide", + -11.38156509399414 + ], + [ + "focusing", + -11.381707191467285 + ], + [ + "▁Annual", + -11.381717681884766 + ], + [ + "▁twin", + -11.3817777633667 + ], + [ + "▁acord", + -11.381780624389648 + ], + [ + "ehr", + -11.381814956665039 + ], + [ + "month", + -11.382303237915039 + ], + [ + "venir", + -11.382535934448242 + ], + [ + "Or", + -11.38254165649414 + ], + [ + "awa", + -11.382600784301758 + ], + [ + "lass", + -11.382735252380371 + ], + [ + "ffe", + -11.383048057556152 + ], + [ + "iți", + -11.383074760437012 + ], + [ + "NO", + -11.3831148147583 + ], + [ + "▁scope", + -11.383295059204102 + ], + [ + "▁lowest", + -11.383527755737305 + ], + [ + "▁afraid", + -11.383572578430176 + ], + [ + "▁subjects", + -11.383578300476074 + ], + [ + "▁templates", + -11.383586883544922 + ], + [ + "▁jos", + -11.383604049682617 + ], + [ + "DM", + -11.383687973022461 + ], + [ + "ensemble", + -11.383792877197266 + ], + [ + "▁Ski", + -11.383941650390625 + ], + [ + "DP", + -11.384099960327148 + ], + [ + "▁grip", + -11.384171485900879 + ], + [ + "2-", + -11.38436222076416 + ], + [ + "▁sécurité", + -11.384743690490723 + ], + [ + "▁mono", + -11.384749412536621 + ], + [ + "▁controls", + -11.384854316711426 + ], + [ + "SV", + -11.384879112243652 + ], + [ + "install", + -11.384970664978027 + ], + [ + "berry", + -11.385042190551758 + ], + [ + "nial", + -11.385120391845703 + ], + [ + "shed", + -11.385462760925293 + ], + [ + "▁celle", + -11.385830879211426 + ], + [ + "FR", + -11.385936737060547 + ], + [ + "äng", + -11.385950088500977 + ], + [ + "▁gaz", + -11.385984420776367 + ], + [ + "êt", + -11.386184692382812 + ], + [ + "▁viewing", + -11.386412620544434 + ], + [ + "▁asigura", + -11.386524200439453 + ], + [ + "bling", + -11.3865327835083 + ], + [ + "master", + -11.386919975280762 + ], + [ + "▁Fin", + -11.387160301208496 + ], + [ + "VC", + -11.387365341186523 + ], + [ + "▁patent", + -11.387715339660645 + ], + [ + "▁Clean", + -11.38773250579834 + ], + [ + "▁1970", + -11.387789726257324 + ], + [ + "▁Char", + -11.387971878051758 + ], + [ + "thi", + -11.388010025024414 + ], + [ + "bli", + -11.388141632080078 + ], + [ + "▁haut", + -11.388307571411133 + ], + [ + "tica", + -11.38836669921875 + ], + [ + "▁venit", + -11.388578414916992 + ], + [ + "▁compatible", + -11.388678550720215 + ], + [ + "▁hanging", + -11.388690948486328 + ], + [ + "UN", + -11.388842582702637 + ], + [ + "▁forth", + -11.388911247253418 + ], + [ + "▁painted", + -11.388912200927734 + ], + [ + "lip", + -11.389031410217285 + ], + [ + "▁deeply", + -11.389089584350586 + ], + [ + "▁participating", + -11.389242172241211 + ], + [ + "▁Iran", + -11.38968276977539 + ], + [ + "▁conventional", + -11.389769554138184 + ], + [ + "ARE", + -11.38985824584961 + ], + [ + "▁accuracy", + -11.389896392822266 + ], + [ + "▁Familie", + -11.389955520629883 + ], + [ + "▁Dir", + -11.39001178741455 + ], + [ + "▁gehen", + -11.390127182006836 + ], + [ + "▁moderne", + -11.39022159576416 + ], + [ + "▁Iraq", + -11.39050579071045 + ], + [ + "▁vente", + -11.390582084655762 + ], + [ + "▁Donald", + -11.390998840332031 + ], + [ + "▁passer", + -11.391051292419434 + ], + [ + "▁mehrere", + -11.391267776489258 + ], + [ + "▁Everything", + -11.391291618347168 + ], + [ + "▁studied", + -11.391307830810547 + ], + [ + "▁acquire", + -11.391312599182129 + ], + [ + "für", + -11.391477584838867 + ], + [ + "▁gal", + -11.391502380371094 + ], + [ + "▁headed", + -11.391809463500977 + ], + [ + "▁screening", + -11.391865730285645 + ], + [ + "▁findings", + -11.392303466796875 + ], + [ + "▁nutrition", + -11.392305374145508 + ], + [ + "▁Secretary", + -11.392308235168457 + ], + [ + "duct", + -11.392431259155273 + ], + [ + "born", + -11.392436027526855 + ], + [ + "«", + -11.39261531829834 + ], + [ + "▁statistics", + -11.392616271972656 + ], + [ + "▁Sydney", + -11.392800331115723 + ], + [ + "▁Prof", + -11.392829895019531 + ], + [ + "▁dialogue", + -11.39327621459961 + ], + [ + "▁gather", + -11.393425941467285 + ], + [ + "valu", + -11.393746376037598 + ], + [ + "▁currency", + -11.394073486328125 + ], + [ + "▁Kat", + -11.394092559814453 + ], + [ + "gotten", + -11.394189834594727 + ], + [ + "main", + -11.39432144165039 + ], + [ + "▁coin", + -11.394340515136719 + ], + [ + "▁Nick", + -11.394380569458008 + ], + [ + "vă", + -11.394658088684082 + ], + [ + "▁Victoria", + -11.394832611083984 + ], + [ + "▁conclusion", + -11.3949613571167 + ], + [ + "▁lemon", + -11.394998550415039 + ], + [ + "▁Article", + -11.39516830444336 + ], + [ + "▁necesar", + -11.39516830444336 + ], + [ + "mag", + -11.395180702209473 + ], + [ + "▁riding", + -11.39537239074707 + ], + [ + "▁Eli", + -11.395599365234375 + ], + [ + "▁cord", + -11.395635604858398 + ], + [ + "wä", + -11.39572811126709 + ], + [ + "ußerdem", + -11.395737648010254 + ], + [ + "▁Bed", + -11.395759582519531 + ], + [ + "▁layers", + -11.395833015441895 + ], + [ + "▁harder", + -11.395975112915039 + ], + [ + "▁processor", + -11.396040916442871 + ], + [ + "▁Ils", + -11.39613151550293 + ], + [ + "▁Edition", + -11.39615535736084 + ], + [ + "▁Link", + -11.396393775939941 + ], + [ + "éré", + -11.396461486816406 + ], + [ + "▁nume", + -11.396576881408691 + ], + [ + "▁Boy", + -11.39659595489502 + ], + [ + "▁equally", + -11.396646499633789 + ], + [ + "▁Regel", + -11.397119522094727 + ], + [ + "▁hopes", + -11.397185325622559 + ], + [ + "odor", + -11.397311210632324 + ], + [ + "▁initially", + -11.397430419921875 + ], + [ + "▁$4", + -11.3974609375 + ], + [ + "▁exemplu", + -11.397537231445312 + ], + [ + "▁vari", + -11.397565841674805 + ], + [ + "schl", + -11.397698402404785 + ], + [ + "▁southern", + -11.39809799194336 + ], + [ + "▁mein", + -11.39818000793457 + ], + [ + "▁1994", + -11.398300170898438 + ], + [ + "▁importantly", + -11.398401260375977 + ], + [ + "▁succes", + -11.398526191711426 + ], + [ + "▁developer", + -11.398598670959473 + ], + [ + "▁lips", + -11.39889144897461 + ], + [ + "▁attitude", + -11.39900016784668 + ], + [ + "▁Age", + -11.399541854858398 + ], + [ + "▁corps", + -11.399713516235352 + ], + [ + "▁clicking", + -11.39976978302002 + ], + [ + "▁putem", + -11.399832725524902 + ], + [ + "▁journée", + -11.40003776550293 + ], + [ + "boy", + -11.4002103805542 + ], + [ + "▁injured", + -11.40028190612793 + ], + [ + "▁watched", + -11.400433540344238 + ], + [ + "▁flights", + -11.40079116821289 + ], + [ + "turn", + -11.400980949401855 + ], + [ + "▁stainless", + -11.401562690734863 + ], + [ + "▁besondere", + -11.40156364440918 + ], + [ + "▁Tur", + -11.401596069335938 + ], + [ + "▁hiring", + -11.401650428771973 + ], + [ + "▁roads", + -11.401727676391602 + ], + [ + "ificat", + -11.401785850524902 + ], + [ + "▁Flor", + -11.402045249938965 + ], + [ + "▁puternic", + -11.402215003967285 + ], + [ + "▁unexpected", + -11.40223503112793 + ], + [ + "▁Est", + -11.40238094329834 + ], + [ + "▁adopted", + -11.40253734588623 + ], + [ + "▁Fox", + -11.402647972106934 + ], + [ + "▁contributions", + -11.402870178222656 + ], + [ + "sec", + -11.402968406677246 + ], + [ + "IO", + -11.403059959411621 + ], + [ + "▁santé", + -11.403432846069336 + ], + [ + "▁Tree", + -11.403763771057129 + ], + [ + "▁scurt", + -11.40381908416748 + ], + [ + "▁Products", + -11.403848648071289 + ], + [ + "▁forecast", + -11.403998374938965 + ], + [ + "▁actor", + -11.404143333435059 + ], + [ + "▁Gallery", + -11.404149055480957 + ], + [ + "▁continuous", + -11.404163360595703 + ], + [ + "▁Hat", + -11.404291152954102 + ], + [ + "▁slip", + -11.404501914978027 + ], + [ + "9%", + -11.404960632324219 + ], + [ + "▁depression", + -11.405043601989746 + ], + [ + "UI", + -11.405229568481445 + ], + [ + "abile", + -11.405648231506348 + ], + [ + "▁merit", + -11.405671119689941 + ], + [ + "▁Fer", + -11.405805587768555 + ], + [ + "▁robot", + -11.405888557434082 + ], + [ + "▁gel", + -11.40589427947998 + ], + [ + "▁gentle", + -11.406017303466797 + ], + [ + "▁wanting", + -11.406071662902832 + ], + [ + "▁understood", + -11.406157493591309 + ], + [ + "▁terrain", + -11.406161308288574 + ], + [ + "▁associate", + -11.406176567077637 + ], + [ + "▁discussions", + -11.40632152557373 + ], + [ + "▁Job", + -11.406365394592285 + ], + [ + "spec", + -11.406440734863281 + ], + [ + "Dabei", + -11.406475067138672 + ], + [ + "etic", + -11.406517028808594 + ], + [ + "gol", + -11.40654468536377 + ], + [ + "▁20%", + -11.406584739685059 + ], + [ + "▁grup", + -11.406606674194336 + ], + [ + "▁Doctor", + -11.406813621520996 + ], + [ + "verse", + -11.407246589660645 + ], + [ + "▁victim", + -11.407258033752441 + ], + [ + "ță", + -11.407302856445312 + ], + [ + "▁scores", + -11.407544136047363 + ], + [ + "▁Policy", + -11.407634735107422 + ], + [ + "▁Anna", + -11.407736778259277 + ], + [ + "IV", + -11.407804489135742 + ], + [ + "▁mineral", + -11.408202171325684 + ], + [ + "live", + -11.40821647644043 + ], + [ + "▁grey", + -11.408368110656738 + ], + [ + "struct", + -11.40852165222168 + ], + [ + "▁emails", + -11.408738136291504 + ], + [ + "▁anymore", + -11.409114837646484 + ], + [ + "▁productivity", + -11.409387588500977 + ], + [ + "▁Dark", + -11.409463882446289 + ], + [ + "▁neither", + -11.409481048583984 + ], + [ + "▁quotes", + -11.409611701965332 + ], + [ + "LS", + -11.410368919372559 + ], + [ + "▁Arizona", + -11.41040325164795 + ], + [ + "night", + -11.410497665405273 + ], + [ + "élé", + -11.411019325256348 + ], + [ + "▁assigned", + -11.411153793334961 + ], + [ + "▁satellite", + -11.411328315734863 + ], + [ + "▁stability", + -11.411665916442871 + ], + [ + "▁networking", + -11.41172981262207 + ], + [ + "▁Transport", + -11.411847114562988 + ], + [ + "▁persons", + -11.411856651306152 + ], + [ + "fund", + -11.412043571472168 + ], + [ + "▁pratique", + -11.41213321685791 + ], + [ + "▁inca", + -11.412134170532227 + ], + [ + "iller", + -11.412349700927734 + ], + [ + "▁packed", + -11.41239070892334 + ], + [ + "▁Vegas", + -11.412484169006348 + ], + [ + "▁offre", + -11.412493705749512 + ], + [ + "▁Bin", + -11.412518501281738 + ], + [ + "stop", + -11.412609100341797 + ], + [ + "mini", + -11.412860870361328 + ], + [ + "▁jam", + -11.412877082824707 + ], + [ + "cord", + -11.41289234161377 + ], + [ + "▁Beautiful", + -11.412996292114258 + ], + [ + "▁trash", + -11.413012504577637 + ], + [ + "▁wise", + -11.413092613220215 + ], + [ + "▁accounting", + -11.413178443908691 + ], + [ + "▁différents", + -11.413182258605957 + ], + [ + "▁stil", + -11.413214683532715 + ], + [ + "suit", + -11.413951873779297 + ], + [ + "▁vier", + -11.414209365844727 + ], + [ + "▁permis", + -11.414224624633789 + ], + [ + "flow", + -11.414238929748535 + ], + [ + "▁col", + -11.414749145507812 + ], + [ + "ected", + -11.414960861206055 + ], + [ + "▁singer", + -11.414999008178711 + ], + [ + "▁GmbH", + -11.415038108825684 + ], + [ + "tics", + -11.415094375610352 + ], + [ + "▁ser", + -11.415159225463867 + ], + [ + "On", + -11.415315628051758 + ], + [ + "▁insights", + -11.415605545043945 + ], + [ + "BB", + -11.415946960449219 + ], + [ + "▁differ", + -11.415959358215332 + ], + [ + "▁Glass", + -11.416131973266602 + ], + [ + "▁Six", + -11.416482925415039 + ], + [ + "▁subscription", + -11.416584968566895 + ], + [ + "BC", + -11.416606903076172 + ], + [ + "▁returning", + -11.416664123535156 + ], + [ + "kleinen", + -11.416693687438965 + ], + [ + "▁advantages", + -11.416747093200684 + ], + [ + "omme", + -11.416852951049805 + ], + [ + "lus", + -11.417071342468262 + ], + [ + "now", + -11.417141914367676 + ], + [ + "▁Pack", + -11.417253494262695 + ], + [ + "▁leak", + -11.417333602905273 + ], + [ + "▁muscles", + -11.41748332977295 + ], + [ + "▁davon", + -11.417492866516113 + ], + [ + "mph", + -11.417858123779297 + ], + [ + "▁temple", + -11.417868614196777 + ], + [ + "▁Après", + -11.417901039123535 + ], + [ + "▁Illinois", + -11.41801643371582 + ], + [ + "▁variable", + -11.418065071105957 + ], + [ + "▁judgment", + -11.418389320373535 + ], + [ + "gran", + -11.41861629486084 + ], + [ + "▁pose", + -11.418621063232422 + ], + [ + "das", + -11.418647766113281 + ], + [ + "ures", + -11.418673515319824 + ], + [ + "▁Championship", + -11.418689727783203 + ], + [ + "ebenfalls", + -11.41872501373291 + ], + [ + "▁hydro", + -11.418753623962402 + ], + [ + "▁angle", + -11.419268608093262 + ], + [ + "▁5-", + -11.41940975189209 + ], + [ + "▁gest", + -11.419547080993652 + ], + [ + "▁Frau", + -11.420233726501465 + ], + [ + "▁knock", + -11.420275688171387 + ], + [ + "FS", + -11.420442581176758 + ], + [ + "spi", + -11.420577049255371 + ], + [ + "▁Regional", + -11.420717239379883 + ], + [ + "lets", + -11.421098709106445 + ], + [ + "▁Date", + -11.42115592956543 + ], + [ + "▁Finance", + -11.421211242675781 + ], + [ + "▁Dann", + -11.421320915222168 + ], + [ + "Star", + -11.421380043029785 + ], + [ + "▁Creek", + -11.421393394470215 + ], + [ + "▁fu", + -11.421648979187012 + ], + [ + "wohn", + -11.422141075134277 + ], + [ + "▁anniversary", + -11.422219276428223 + ], + [ + "▁investments", + -11.422292709350586 + ], + [ + "▁universal", + -11.422601699829102 + ], + [ + "▁pit", + -11.422745704650879 + ], + [ + "ște", + -11.422784805297852 + ], + [ + "▁lab", + -11.422822952270508 + ], + [ + "dienst", + -11.422884941101074 + ], + [ + "▁pal", + -11.422889709472656 + ], + [ + "▁graphic", + -11.42289924621582 + ], + [ + "▁bearing", + -11.422900199890137 + ], + [ + "▁stylish", + -11.423087120056152 + ], + [ + "▁mé", + -11.42319393157959 + ], + [ + "▁există", + -11.42326545715332 + ], + [ + "▁découvrir", + -11.423477172851562 + ], + [ + "comp", + -11.423606872558594 + ], + [ + "ridge", + -11.423667907714844 + ], + [ + "▁heads", + -11.423765182495117 + ], + [ + "▁consequences", + -11.423835754394531 + ], + [ + "self", + -11.423842430114746 + ], + [ + "fried", + -11.423870086669922 + ], + [ + "▁inventory", + -11.424199104309082 + ], + [ + "▁strip", + -11.42422866821289 + ], + [ + "▁Civil", + -11.42424488067627 + ], + [ + "bell", + -11.424307823181152 + ], + [ + "▁neben", + -11.424444198608398 + ], + [ + "▁Perfect", + -11.424470901489258 + ], + [ + "▁Notre", + -11.424478530883789 + ], + [ + "▁fraud", + -11.424630165100098 + ], + [ + "▁employers", + -11.424656867980957 + ], + [ + "▁Jackson", + -11.42470645904541 + ], + [ + "▁probleme", + -11.424915313720703 + ], + [ + "▁richtig", + -11.424957275390625 + ], + [ + "▁Method", + -11.425009727478027 + ], + [ + "▁tired", + -11.425010681152344 + ], + [ + "dies", + -11.425031661987305 + ], + [ + "▁Number", + -11.425315856933594 + ], + [ + "rland", + -11.425652503967285 + ], + [ + "▁latter", + -11.426031112670898 + ], + [ + "rendre", + -11.426064491271973 + ], + [ + "▁cameras", + -11.426095962524414 + ], + [ + "▁euch", + -11.426630020141602 + ], + [ + "▁Description", + -11.427038192749023 + ], + [ + "Spec", + -11.427061080932617 + ], + [ + "▁mile", + -11.427437782287598 + ], + [ + "▁Challenge", + -11.427474021911621 + ], + [ + "▁Solutions", + -11.427504539489746 + ], + [ + "▁trusted", + -11.427509307861328 + ], + [ + "▁einge", + -11.427515029907227 + ], + [ + "rück", + -11.427528381347656 + ], + [ + "▁Ober", + -11.427635192871094 + ], + [ + "kes", + -11.42764949798584 + ], + [ + "▁Log", + -11.427684783935547 + ], + [ + "▁dessert", + -11.427776336669922 + ], + [ + "▁murder", + -11.428033828735352 + ], + [ + "▁1/2", + -11.428311347961426 + ], + [ + "▁Provide", + -11.42872142791748 + ], + [ + "nivelul", + -11.428800582885742 + ], + [ + "nici", + -11.428818702697754 + ], + [ + "▁observe", + -11.42889404296875 + ], + [ + "▁prescription", + -11.429162979125977 + ], + [ + "▁Sau", + -11.429170608520508 + ], + [ + "▁genuine", + -11.42919635772705 + ], + [ + "▁operated", + -11.429231643676758 + ], + [ + "▁generous", + -11.429267883300781 + ], + [ + "▁weapons", + -11.429458618164062 + ], + [ + "▁belief", + -11.4295015335083 + ], + [ + "▁consum", + -11.429584503173828 + ], + [ + "▁unknown", + -11.430116653442383 + ], + [ + "deoarece", + -11.430135726928711 + ], + [ + "Art", + -11.430147171020508 + ], + [ + "▁kurz", + -11.430183410644531 + ], + [ + "▁Gut", + -11.430258750915527 + ], + [ + "▁medication", + -11.430522918701172 + ], + [ + "▁Mau", + -11.43058967590332 + ], + [ + "▁divorce", + -11.430678367614746 + ], + [ + "▁claimed", + -11.430811882019043 + ], + [ + "halten", + -11.430848121643066 + ], + [ + "▁Cons", + -11.43089485168457 + ], + [ + "▁operational", + -11.430975914001465 + ], + [ + "▁Hong", + -11.431081771850586 + ], + [ + "VI", + -11.431143760681152 + ], + [ + "▁Blick", + -11.431485176086426 + ], + [ + "▁lamp", + -11.431706428527832 + ], + [ + "pati", + -11.431853294372559 + ], + [ + "▁4-", + -11.43192195892334 + ], + [ + "▁interven", + -11.431964874267578 + ], + [ + "ques", + -11.43201732635498 + ], + [ + "▁Talk", + -11.432096481323242 + ], + [ + "▁zeigt", + -11.432318687438965 + ], + [ + "▁targeted", + -11.432390213012695 + ], + [ + "round", + -11.432640075683594 + ], + [ + "enfant", + -11.432748794555664 + ], + [ + "▁Reg", + -11.432836532592773 + ], + [ + "▁instruments", + -11.432872772216797 + ], + [ + "▁calcul", + -11.433363914489746 + ], + [ + "▁Henry", + -11.4335298538208 + ], + [ + "▁Cla", + -11.433616638183594 + ], + [ + "▁rack", + -11.433661460876465 + ], + [ + "sehen", + -11.43375301361084 + ], + [ + "▁ending", + -11.433754920959473 + ], + [ + "▁resolve", + -11.434130668640137 + ], + [ + "▁advise", + -11.434178352355957 + ], + [ + "▁sociale", + -11.434386253356934 + ], + [ + "▁cabin", + -11.434536933898926 + ], + [ + "▁involve", + -11.43480396270752 + ], + [ + "gă", + -11.434889793395996 + ], + [ + "▁automat", + -11.435132026672363 + ], + [ + "▁consultant", + -11.435258865356445 + ], + [ + "Bu", + -11.435370445251465 + ], + [ + "▁safely", + -11.435466766357422 + ], + [ + "état", + -11.435478210449219 + ], + [ + "▁pros", + -11.435657501220703 + ], + [ + "▁lies", + -11.435659408569336 + ], + [ + "▁Brian", + -11.435914993286133 + ], + [ + "▁talented", + -11.435954093933105 + ], + [ + "pus", + -11.43599796295166 + ], + [ + "▁hub", + -11.436060905456543 + ], + [ + "▁Ji", + -11.436066627502441 + ], + [ + "▁sought", + -11.436102867126465 + ], + [ + "▁energie", + -11.436210632324219 + ], + [ + "▁möchten", + -11.43634033203125 + ], + [ + "▁11.", + -11.436558723449707 + ], + [ + "▁Kong", + -11.436662673950195 + ], + [ + "▁grave", + -11.43666934967041 + ], + [ + "▁lists", + -11.436800956726074 + ], + [ + "tati", + -11.436809539794922 + ], + [ + "verschiedenen", + -11.43692398071289 + ], + [ + "dam", + -11.437061309814453 + ], + [ + "▁charity", + -11.437249183654785 + ], + [ + "▁breaking", + -11.43735122680664 + ], + [ + "kins", + -11.43747329711914 + ], + [ + "▁könnte", + -11.437517166137695 + ], + [ + "▁appointed", + -11.437532424926758 + ], + [ + "roc", + -11.4376859664917 + ], + [ + "▁Senate", + -11.437979698181152 + ], + [ + "wit", + -11.438002586364746 + ], + [ + "▁emerging", + -11.438162803649902 + ], + [ + "▁année", + -11.438288688659668 + ], + [ + "▁Cool", + -11.438365936279297 + ], + [ + "▁sensor", + -11.43842887878418 + ], + [ + "How", + -11.438488960266113 + ], + [ + "▁Ryan", + -11.438626289367676 + ], + [ + "▁computers", + -11.43871784210205 + ], + [ + "▁fault", + -11.4388427734375 + ], + [ + "▁présent", + -11.438843727111816 + ], + [ + "ulation", + -11.439149856567383 + ], + [ + "▁stir", + -11.439348220825195 + ], + [ + "lauf", + -11.439703941345215 + ], + [ + "▁AI", + -11.440389633178711 + ], + [ + "▁Bri", + -11.440438270568848 + ], + [ + "▁bain", + -11.441011428833008 + ], + [ + "▁5,", + -11.441287994384766 + ], + [ + "schein", + -11.44157886505127 + ], + [ + "▁weiß", + -11.441596031188965 + ], + [ + "▁possibilities", + -11.44235610961914 + ], + [ + "gur", + -11.442413330078125 + ], + [ + "▁hinter", + -11.442647933959961 + ], + [ + "Innen", + -11.442755699157715 + ], + [ + "▁vorba", + -11.442992210388184 + ], + [ + "fahren", + -11.443008422851562 + ], + [ + "▁Cell", + -11.443072319030762 + ], + [ + "univers", + -11.443137168884277 + ], + [ + "▁Follow", + -11.443424224853516 + ], + [ + "▁emotions", + -11.44360637664795 + ], + [ + "▁Ministry", + -11.443694114685059 + ], + [ + "▁curriculum", + -11.443694114685059 + ], + [ + "Je", + -11.443764686584473 + ], + [ + "▁gab", + -11.444080352783203 + ], + [ + "▁sigur", + -11.444270133972168 + ], + [ + "rise", + -11.444416999816895 + ], + [ + "Pri", + -11.44466495513916 + ], + [ + "▁stabil", + -11.444781303405762 + ], + [ + "▁superb", + -11.445100784301758 + ], + [ + "▁Oak", + -11.44510269165039 + ], + [ + "▁rubber", + -11.445286750793457 + ], + [ + "▁tag", + -11.445306777954102 + ], + [ + "PG", + -11.445361137390137 + ], + [ + "▁Heat", + -11.445477485656738 + ], + [ + "▁thousand", + -11.445504188537598 + ], + [ + "▁meets", + -11.445521354675293 + ], + [ + "▁faced", + -11.445578575134277 + ], + [ + "▁reserve", + -11.445640563964844 + ], + [ + "cateva", + -11.445767402648926 + ], + [ + "▁gym", + -11.445771217346191 + ], + [ + "▁vitamin", + -11.445960998535156 + ], + [ + "▁Rest", + -11.446457862854004 + ], + [ + "▁Single", + -11.446535110473633 + ], + [ + "▁Stephen", + -11.446623802185059 + ], + [ + "▁trick", + -11.446824073791504 + ], + [ + "DU", + -11.44694709777832 + ], + [ + "▁telefon", + -11.44711685180664 + ], + [ + "▁gând", + -11.447120666503906 + ], + [ + "▁primit", + -11.447345733642578 + ], + [ + "▁Connect", + -11.447351455688477 + ], + [ + "▁führt", + -11.447440147399902 + ], + [ + "▁Info", + -11.447500228881836 + ], + [ + "▁recall", + -11.447848320007324 + ], + [ + "▁restore", + -11.447885513305664 + ], + [ + "lege", + -11.44792652130127 + ], + [ + "▁franchise", + -11.448189735412598 + ], + [ + "▁seulement", + -11.44856071472168 + ], + [ + "reci", + -11.448598861694336 + ], + [ + "▁2019,", + -11.44864273071289 + ], + [ + "▁Ring", + -11.448663711547852 + ], + [ + "▁assembly", + -11.448678970336914 + ], + [ + "intérieur", + -11.448775291442871 + ], + [ + "▁shade", + -11.44887924194336 + ], + [ + "▁meaningful", + -11.448881149291992 + ], + [ + "bag", + -11.448989868164062 + ], + [ + "ONE", + -11.449249267578125 + ], + [ + "▁globe", + -11.449287414550781 + ], + [ + "▁WA", + -11.449406623840332 + ], + [ + "▁intervention", + -11.449495315551758 + ], + [ + "öl", + -11.449531555175781 + ], + [ + "▁Marine", + -11.45029067993164 + ], + [ + "▁Angebot", + -11.450512886047363 + ], + [ + "▁align", + -11.450618743896484 + ], + [ + "▁temperatures", + -11.450634956359863 + ], + [ + "ifier", + -11.45091724395752 + ], + [ + "▁Nigeria", + -11.451189041137695 + ], + [ + "▁survive", + -11.451216697692871 + ], + [ + "ounce", + -11.451275825500488 + ], + [ + "▁placement", + -11.451416969299316 + ], + [ + "▁deci", + -11.451528549194336 + ], + [ + "▁Taylor", + -11.451759338378906 + ], + [ + "step", + -11.45190715789795 + ], + [ + "▁Geschichte", + -11.452054023742676 + ], + [ + "▁Bet", + -11.452169418334961 + ], + [ + "▁Nature", + -11.45224380493164 + ], + [ + "▁FC", + -11.452256202697754 + ], + [ + "▁ownership", + -11.452286720275879 + ], + [ + "▁behaviour", + -11.452474594116211 + ], + [ + "▁deutlich", + -11.452532768249512 + ], + [ + "▁wondering", + -11.452798843383789 + ], + [ + "▁cleaner", + -11.453295707702637 + ], + [ + "uring", + -11.4534912109375 + ], + [ + "rä", + -11.453496932983398 + ], + [ + "▁ga", + -11.454296112060547 + ], + [ + "ador", + -11.454482078552246 + ], + [ + "▁artwork", + -11.454564094543457 + ], + [ + "ologic", + -11.45457649230957 + ], + [ + "▁eigentlich", + -11.454848289489746 + ], + [ + "▁hell", + -11.45522403717041 + ], + [ + "source", + -11.455251693725586 + ], + [ + "▁gem", + -11.455265045166016 + ], + [ + "▁boss", + -11.455307006835938 + ], + [ + "▁arise", + -11.455460548400879 + ], + [ + "about", + -11.455711364746094 + ], + [ + "▁SI", + -11.455951690673828 + ], + [ + "▁ME", + -11.45610237121582 + ], + [ + "akt", + -11.456191062927246 + ], + [ + "▁Style", + -11.456259727478027 + ], + [ + "▁Körper", + -11.456493377685547 + ], + [ + "gui", + -11.456799507141113 + ], + [ + "▁navigate", + -11.456819534301758 + ], + [ + "▁Meanwhile", + -11.456977844238281 + ], + [ + "▁așa", + -11.457111358642578 + ], + [ + "▁bulk", + -11.457298278808594 + ], + [ + "▁directions", + -11.457310676574707 + ], + [ + "▁brick", + -11.457747459411621 + ], + [ + "▁Poly", + -11.457752227783203 + ], + [ + "▁politique", + -11.457772254943848 + ], + [ + "▁patch", + -11.457777976989746 + ], + [ + "ра", + -11.457816123962402 + ], + [ + "commerce", + -11.457844734191895 + ], + [ + "▁înainte", + -11.457884788513184 + ], + [ + "▁intelligent", + -11.45823860168457 + ], + [ + "▁infection", + -11.458426475524902 + ], + [ + "▁Tru", + -11.458494186401367 + ], + [ + "▁raising", + -11.458504676818848 + ], + [ + "tragen", + -11.458539009094238 + ], + [ + "▁portrait", + -11.45858383178711 + ], + [ + "▁meisten", + -11.458783149719238 + ], + [ + "▁organize", + -11.45893669128418 + ], + [ + "metric", + -11.458962440490723 + ], + [ + "▁Season", + -11.459036827087402 + ], + [ + "▁enforcement", + -11.459259033203125 + ], + [ + "origine", + -11.459836959838867 + ], + [ + "▁Ros", + -11.460065841674805 + ], + [ + "▁Mount", + -11.460083961486816 + ], + [ + "have", + -11.460237503051758 + ], + [ + "▁romantic", + -11.460258483886719 + ], + [ + "▁comic", + -11.460810661315918 + ], + [ + "▁greu", + -11.461116790771484 + ], + [ + "ET", + -11.46133041381836 + ], + [ + "▁hook", + -11.461407661437988 + ], + [ + "▁mort", + -11.461411476135254 + ], + [ + "▁indicated", + -11.461583137512207 + ], + [ + "▁7,", + -11.461982727050781 + ], + [ + "▁Neben", + -11.46204662322998 + ], + [ + "yer", + -11.46214485168457 + ], + [ + "▁momentul", + -11.46214771270752 + ], + [ + "note", + -11.462313652038574 + ], + [ + "▁baz", + -11.46231460571289 + ], + [ + "▁abroad", + -11.462320327758789 + ], + [ + "nite", + -11.462464332580566 + ], + [ + "▁bass", + -11.462701797485352 + ], + [ + "▁norm", + -11.462714195251465 + ], + [ + "▁É", + -11.462788581848145 + ], + [ + "4.", + -11.462881088256836 + ], + [ + "▁province", + -11.463004112243652 + ], + [ + "▁merge", + -11.463419914245605 + ], + [ + "arbeiten", + -11.463438987731934 + ], + [ + "-20", + -11.463574409484863 + ], + [ + "▁Nicht", + -11.463674545288086 + ], + [ + "spo", + -11.463783264160156 + ], + [ + "size", + -11.463815689086914 + ], + [ + "▁assure", + -11.463849067687988 + ], + [ + "charge", + -11.463987350463867 + ], + [ + "▁olive", + -11.464017868041992 + ], + [ + "▁Pot", + -11.46408462524414 + ], + [ + "▁Figure", + -11.4642333984375 + ], + [ + "clair", + -11.464336395263672 + ], + [ + "▁discipline", + -11.464600563049316 + ], + [ + "elli", + -11.464639663696289 + ], + [ + "▁tackle", + -11.465169906616211 + ], + [ + "▁buyer", + -11.465237617492676 + ], + [ + "▁loud", + -11.465479850769043 + ], + [ + "▁180", + -11.465534210205078 + ], + [ + "▁căt", + -11.465587615966797 + ], + [ + "▁Palm", + -11.465738296508789 + ], + [ + "away", + -11.46593189239502 + ], + [ + "▁Mother", + -11.46607494354248 + ], + [ + "onia", + -11.466240882873535 + ], + [ + "▁Protection", + -11.466416358947754 + ], + [ + "auto", + -11.466547966003418 + ], + [ + "▁Version", + -11.466583251953125 + ], + [ + "▁Nice", + -11.466714859008789 + ], + [ + "▁12.", + -11.46682071685791 + ], + [ + "▁0,", + -11.466835021972656 + ], + [ + "ATION", + -11.466911315917969 + ], + [ + "▁Produkte", + -11.466955184936523 + ], + [ + "▁tube", + -11.467084884643555 + ], + [ + "▁Houston", + -11.467106819152832 + ], + [ + "chu", + -11.467500686645508 + ], + [ + "pas", + -11.467717170715332 + ], + [ + "▁Ele", + -11.467801094055176 + ], + [ + "▁mountains", + -11.467835426330566 + ], + [ + "PH", + -11.467937469482422 + ], + [ + "▁languages", + -11.468672752380371 + ], + [ + "▁servicii", + -11.468722343444824 + ], + [ + "▁Stay", + -11.468999862670898 + ], + [ + "fil", + -11.469138145446777 + ], + [ + "▁propos", + -11.469801902770996 + ], + [ + "▁coll", + -11.469825744628906 + ], + [ + "▁mor", + -11.470197677612305 + ], + [ + "▁arrange", + -11.470410346984863 + ], + [ + "▁sorry", + -11.470475196838379 + ], + [ + "▁instruction", + -11.470723152160645 + ], + [ + "▁holes", + -11.47077465057373 + ], + [ + "letting", + -11.471046447753906 + ], + [ + "▁wa", + -11.471074104309082 + ], + [ + "▁Feb", + -11.471227645874023 + ], + [ + "omb", + -11.471232414245605 + ], + [ + "▁prise", + -11.471290588378906 + ], + [ + "VO", + -11.471305847167969 + ], + [ + "week", + -11.471349716186523 + ], + [ + "▁Event", + -11.471427917480469 + ], + [ + "▁AT", + -11.471485137939453 + ], + [ + "ket", + -11.471492767333984 + ], + [ + "haft", + -11.471579551696777 + ], + [ + "▁hits", + -11.47159194946289 + ], + [ + "foli", + -11.471681594848633 + ], + [ + "this", + -11.471948623657227 + ], + [ + "GP", + -11.471970558166504 + ], + [ + "▁Pin", + -11.472332954406738 + ], + [ + "▁Stein", + -11.472503662109375 + ], + [ + "thing", + -11.472512245178223 + ], + [ + "▁emphasis", + -11.472556114196777 + ], + [ + "▁Mur", + -11.472631454467773 + ], + [ + "▁Bag", + -11.472647666931152 + ], + [ + "cons", + -11.47273063659668 + ], + [ + "tons", + -11.472835540771484 + ], + [ + "lash", + -11.472987174987793 + ], + [ + "▁Grant", + -11.473104476928711 + ], + [ + "▁pris", + -11.473175048828125 + ], + [ + "▁bună", + -11.47323989868164 + ], + [ + "▁buc", + -11.473699569702148 + ], + [ + "▁passe", + -11.473746299743652 + ], + [ + "▁jewelry", + -11.474213600158691 + ], + [ + "iens", + -11.474342346191406 + ], + [ + "▁forma", + -11.47453784942627 + ], + [ + "▁Med", + -11.474651336669922 + ], + [ + "laufen", + -11.474778175354004 + ], + [ + "▁hunt", + -11.474977493286133 + ], + [ + "stayed", + -11.475086212158203 + ], + [ + "party", + -11.475152015686035 + ], + [ + "▁fra", + -11.47529411315918 + ], + [ + "▁scenes", + -11.475305557250977 + ], + [ + "▁absorb", + -11.47535228729248 + ], + [ + "▁abilities", + -11.475377082824707 + ], + [ + "lug", + -11.475507736206055 + ], + [ + "▁Sarah", + -11.475693702697754 + ], + [ + "mpf", + -11.47570514678955 + ], + [ + "▁fle", + -11.4757080078125 + ], + [ + "accès", + -11.475872993469238 + ], + [ + "▁solicit", + -11.475926399230957 + ], + [ + "pie", + -11.476278305053711 + ], + [ + "▁Zum", + -11.476296424865723 + ], + [ + "▁universe", + -11.476390838623047 + ], + [ + "▁exists", + -11.476449012756348 + ], + [ + "oane", + -11.476597785949707 + ], + [ + "IVE", + -11.47668743133545 + ], + [ + "▁2011.", + -11.476906776428223 + ], + [ + "▁specialists", + -11.477072715759277 + ], + [ + "▁mess", + -11.477309226989746 + ], + [ + "fach", + -11.477402687072754 + ], + [ + "▁Recht", + -11.477404594421387 + ], + [ + "▁hack", + -11.47755241394043 + ], + [ + "▁jacket", + -11.477564811706543 + ], + [ + "HC", + -11.47769832611084 + ], + [ + "▁substance", + -11.477728843688965 + ], + [ + "▁signing", + -11.477775573730469 + ], + [ + "▁allerdings", + -11.478032112121582 + ], + [ + "▁publish", + -11.478139877319336 + ], + [ + "▁Lab", + -11.478157043457031 + ], + [ + "▁agenda", + -11.478249549865723 + ], + [ + "lane", + -11.478299140930176 + ], + [ + "stream", + -11.478620529174805 + ], + [ + "schau", + -11.47879409790039 + ], + [ + "▁realizat", + -11.478971481323242 + ], + [ + "▁supplier", + -11.479019165039062 + ], + [ + "▁moderate", + -11.47902774810791 + ], + [ + "▁tours", + -11.479212760925293 + ], + [ + "▁narrative", + -11.479220390319824 + ], + [ + "ația", + -11.479279518127441 + ], + [ + "▁maps", + -11.479423522949219 + ], + [ + "treten", + -11.479447364807129 + ], + [ + "▁mars", + -11.479706764221191 + ], + [ + "▁moon", + -11.479745864868164 + ], + [ + "rose", + -11.479751586914062 + ], + [ + "▁exp", + -11.479766845703125 + ], + [ + "zahl", + -11.480154037475586 + ], + [ + "psych", + -11.480195999145508 + ], + [ + "▁gehört", + -11.48024845123291 + ], + [ + "▁bound", + -11.4803466796875 + ], + [ + "▁submission", + -11.480451583862305 + ], + [ + "▁clubs", + -11.480722427368164 + ], + [ + "Am", + -11.480755805969238 + ], + [ + "tenir", + -11.480782508850098 + ], + [ + "▁boast", + -11.480851173400879 + ], + [ + "▁boards", + -11.4810791015625 + ], + [ + "▁Geschäfts", + -11.481216430664062 + ], + [ + "zing", + -11.48126220703125 + ], + [ + "wort", + -11.48137092590332 + ], + [ + "lid", + -11.481417655944824 + ], + [ + "▁contractor", + -11.481528282165527 + ], + [ + "▁donner", + -11.481672286987305 + ], + [ + "▁coupon", + -11.481974601745605 + ], + [ + "adresse", + -11.482004165649414 + ], + [ + "colo", + -11.48210334777832 + ], + [ + "▁perception", + -11.482124328613281 + ], + [ + "NC", + -11.48222541809082 + ], + [ + "▁abge", + -11.482245445251465 + ], + [ + "▁cheaper", + -11.482268333435059 + ], + [ + "▁grace", + -11.482312202453613 + ], + [ + "▁resident", + -11.482718467712402 + ], + [ + "kla", + -11.4828462600708 + ], + [ + "▁bug", + -11.4828462600708 + ], + [ + "▁Available", + -11.482893943786621 + ], + [ + "▁BA", + -11.483323097229004 + ], + [ + "▁Met", + -11.483601570129395 + ], + [ + "▁climb", + -11.48365592956543 + ], + [ + "▁expanded", + -11.484349250793457 + ], + [ + "ying", + -11.484426498413086 + ], + [ + "▁matching", + -11.484469413757324 + ], + [ + "▁suffered", + -11.484733581542969 + ], + [ + "▁employed", + -11.484755516052246 + ], + [ + "pper", + -11.484843254089355 + ], + [ + "▁experiencing", + -11.484884262084961 + ], + [ + "ddy", + -11.484953880310059 + ], + [ + "▁philosophy", + -11.484955787658691 + ], + [ + "▁utilisé", + -11.485008239746094 + ], + [ + "▁Jane", + -11.485079765319824 + ], + [ + "LI", + -11.485087394714355 + ], + [ + "▁elected", + -11.485185623168945 + ], + [ + "▁MI", + -11.485264778137207 + ], + [ + "▁ISO", + -11.485340118408203 + ], + [ + "winning", + -11.48537540435791 + ], + [ + "▁vot", + -11.485424041748047 + ], + [ + "▁generic", + -11.485519409179688 + ], + [ + "▁Bol", + -11.485650062561035 + ], + [ + "▁copies", + -11.48568058013916 + ], + [ + "▁mechanical", + -11.48568058013916 + ], + [ + "günstig", + -11.485682487487793 + ], + [ + "roy", + -11.485770225524902 + ], + [ + "Astfel", + -11.485808372497559 + ], + [ + "media", + -11.485868453979492 + ], + [ + "▁shoulder", + -11.4859037399292 + ], + [ + "▁directory", + -11.486000061035156 + ], + [ + "▁banking", + -11.486016273498535 + ], + [ + "▁mistakes", + -11.486040115356445 + ], + [ + "▁Fran", + -11.486425399780273 + ], + [ + "▁Jon", + -11.486544609069824 + ], + [ + "▁spare", + -11.486579895019531 + ], + [ + "metri", + -11.486668586730957 + ], + [ + "▁mask", + -11.486879348754883 + ], + [ + "▁consistently", + -11.48695182800293 + ], + [ + "▁Columbia", + -11.487278938293457 + ], + [ + "roid", + -11.48774242401123 + ], + [ + "essen", + -11.487935066223145 + ], + [ + "▁(“", + -11.48798656463623 + ], + [ + "▁série", + -11.488212585449219 + ], + [ + "▁Phil", + -11.488249778747559 + ], + [ + "▁usor", + -11.488249778747559 + ], + [ + "▁stood", + -11.488279342651367 + ], + [ + "▁racing", + -11.488335609436035 + ], + [ + "▁Comme", + -11.488555908203125 + ], + [ + "▁exceed", + -11.488565444946289 + ], + [ + "на", + -11.488618850708008 + ], + [ + "▁activate", + -11.48873233795166 + ], + [ + "▁circle", + -11.488836288452148 + ], + [ + "▁bold", + -11.488956451416016 + ], + [ + "▁handy", + -11.48909854888916 + ], + [ + "merely", + -11.489114761352539 + ], + [ + "▁Edward", + -11.489147186279297 + ], + [ + "▁contracts", + -11.489530563354492 + ], + [ + "ê", + -11.489595413208008 + ], + [ + "▁campaigns", + -11.489673614501953 + ], + [ + "▁ought", + -11.489733695983887 + ], + [ + "▁nursing", + -11.489781379699707 + ], + [ + "▁Jr", + -11.489917755126953 + ], + [ + "▁rarely", + -11.490032196044922 + ], + [ + "▁Mir", + -11.490050315856934 + ], + [ + "▁diagnosis", + -11.490379333496094 + ], + [ + "▁Theatre", + -11.490394592285156 + ], + [ + "▁producer", + -11.490407943725586 + ], + [ + "Currently", + -11.490492820739746 + ], + [ + "▁fitting", + -11.490580558776855 + ], + [ + "▁ajunge", + -11.490618705749512 + ], + [ + "minte", + -11.490754127502441 + ], + [ + "▁termen", + -11.490838050842285 + ], + [ + "▁Linux", + -11.491013526916504 + ], + [ + "▁1-", + -11.491068840026855 + ], + [ + "▁hätte", + -11.491202354431152 + ], + [ + "▁Resort", + -11.49129867553711 + ], + [ + "image", + -11.491527557373047 + ], + [ + "▁Rod", + -11.49189281463623 + ], + [ + "▁Fly", + -11.491924285888672 + ], + [ + "try", + -11.492317199707031 + ], + [ + "▁expense", + -11.49245834350586 + ], + [ + "▁Interior", + -11.492799758911133 + ], + [ + "▁fence", + -11.492920875549316 + ], + [ + "▁Kontakt", + -11.493063926696777 + ], + [ + "▁ALL", + -11.493142127990723 + ], + [ + "VA", + -11.493229866027832 + ], + [ + "▁Exchange", + -11.493316650390625 + ], + [ + "ranked", + -11.493558883666992 + ], + [ + "▁Performance", + -11.493621826171875 + ], + [ + "prim", + -11.493635177612305 + ], + [ + "▁basket", + -11.493694305419922 + ], + [ + "▁Vice", + -11.493703842163086 + ], + [ + "phan", + -11.4937105178833 + ], + [ + "▁broke", + -11.494003295898438 + ], + [ + "voir", + -11.49431324005127 + ], + [ + "arg", + -11.494512557983398 + ], + [ + "ART", + -11.494529724121094 + ], + [ + "▁floors", + -11.494856834411621 + ], + [ + "pression", + -11.495025634765625 + ], + [ + "▁possession", + -11.49507999420166 + ], + [ + "▁domaine", + -11.49510669708252 + ], + [ + "▁valeur", + -11.495132446289062 + ], + [ + "▁suddenly", + -11.495282173156738 + ], + [ + "▁mild", + -11.495304107666016 + ], + [ + "▁aflat", + -11.495431900024414 + ], + [ + "▁Tea", + -11.495731353759766 + ], + [ + "tritt", + -11.495767593383789 + ], + [ + "▁Mittel", + -11.495773315429688 + ], + [ + "▁regulatory", + -11.49580192565918 + ], + [ + "▁spectacular", + -11.495905876159668 + ], + [ + "fahrt", + -11.495949745178223 + ], + [ + "GS", + -11.496026039123535 + ], + [ + "MM", + -11.4961576461792 + ], + [ + "▁environments", + -11.496203422546387 + ], + [ + "▁Raum", + -11.496381759643555 + ], + [ + "▁lay", + -11.496664047241211 + ], + [ + "▁cré", + -11.496713638305664 + ], + [ + "▁Selbst", + -11.496726989746094 + ], + [ + "▁opposition", + -11.496821403503418 + ], + [ + "two", + -11.49729061126709 + ], + [ + "▁Clark", + -11.497822761535645 + ], + [ + "▁Netz", + -11.497845649719238 + ], + [ + "bald", + -11.497983932495117 + ], + [ + "▁Innovation", + -11.4982271194458 + ], + [ + "▁overcome", + -11.49825382232666 + ], + [ + "quot", + -11.499013900756836 + ], + [ + "▁Sin", + -11.499106407165527 + ], + [ + "▁Sto", + -11.499320983886719 + ], + [ + "▁grain", + -11.499560356140137 + ], + [ + "▁collections", + -11.499724388122559 + ], + [ + "▁applies", + -11.49986743927002 + ], + [ + "mach", + -11.499934196472168 + ], + [ + "▁wheels", + -11.499958992004395 + ], + [ + "▁universities", + -11.500049591064453 + ], + [ + "▁Ray", + -11.500182151794434 + ], + [ + "lina", + -11.500238418579102 + ], + [ + "▁arrangements", + -11.500393867492676 + ], + [ + "▁western", + -11.500728607177734 + ], + [ + "rous", + -11.500768661499023 + ], + [ + "aise", + -11.500784873962402 + ], + [ + "▁highlights", + -11.50112533569336 + ], + [ + "▁intend", + -11.501265525817871 + ], + [ + "aimed", + -11.501358032226562 + ], + [ + "▁Scotland", + -11.501360893249512 + ], + [ + "▁acestei", + -11.501466751098633 + ], + [ + "graf", + -11.50150203704834 + ], + [ + "duction", + -11.501517295837402 + ], + [ + "path", + -11.50156021118164 + ], + [ + "▁evil", + -11.501633644104004 + ], + [ + "▁scris", + -11.501791000366211 + ], + [ + "▁disposition", + -11.501927375793457 + ], + [ + "▁designing", + -11.5020751953125 + ], + [ + "zwar", + -11.502172470092773 + ], + [ + "▁Retrieve", + -11.50217342376709 + ], + [ + "▁aggressive", + -11.502374649047852 + ], + [ + "▁Glen", + -11.502411842346191 + ], + [ + "▁daher", + -11.502473831176758 + ], + [ + "▁Quick", + -11.502494812011719 + ], + [ + "▁recover", + -11.502632141113281 + ], + [ + "▁prominent", + -11.50288200378418 + ], + [ + "▁visits", + -11.503198623657227 + ], + [ + "▁Mis", + -11.503376960754395 + ], + [ + "▁edited", + -11.503456115722656 + ], + [ + "▁distributed", + -11.503564834594727 + ], + [ + "▁dés", + -11.503580093383789 + ], + [ + "▁alter", + -11.5035982131958 + ], + [ + "▁cooked", + -11.503697395324707 + ], + [ + "embl", + -11.503706932067871 + ], + [ + "Univers", + -11.503715515136719 + ], + [ + "▁Minuten", + -11.504156112670898 + ], + [ + "▁compris", + -11.504179954528809 + ], + [ + "rais", + -11.504182815551758 + ], + [ + "essentially", + -11.504199028015137 + ], + [ + "▁rel", + -11.504340171813965 + ], + [ + "▁appel", + -11.504570007324219 + ], + [ + "▁trace", + -11.504788398742676 + ], + [ + "relating", + -11.504830360412598 + ], + [ + "dès", + -11.504937171936035 + ], + [ + "aste", + -11.504961013793945 + ], + [ + "▁raison", + -11.504963874816895 + ], + [ + "▁frequent", + -11.505281448364258 + ], + [ + "▁beds", + -11.505316734313965 + ], + [ + "▁Miami", + -11.505511283874512 + ], + [ + "▁vibrant", + -11.50564193725586 + ], + [ + "▁Kam", + -11.505721092224121 + ], + [ + "▁klar", + -11.505861282348633 + ], + [ + "▁Tan", + -11.50598430633545 + ], + [ + "▁vidéo", + -11.506032943725586 + ], + [ + "▁Kur", + -11.506115913391113 + ], + [ + "▁themes", + -11.506134033203125 + ], + [ + "▁struggling", + -11.506440162658691 + ], + [ + "▁Magazine", + -11.506444931030273 + ], + [ + "maker", + -11.506476402282715 + ], + [ + "veni", + -11.506564140319824 + ], + [ + "▁Groß", + -11.506732940673828 + ], + [ + "▁streaming", + -11.506772994995117 + ], + [ + "▁analyze", + -11.506876945495605 + ], + [ + "▁titles", + -11.506982803344727 + ], + [ + "pier", + -11.507316589355469 + ], + [ + "▁participant", + -11.507347106933594 + ], + [ + "aims", + -11.507607460021973 + ], + [ + "▁convention", + -11.507638931274414 + ], + [ + "▁flood", + -11.507780075073242 + ], + [ + "▁nights", + -11.507842063903809 + ], + [ + "▁titre", + -11.50792407989502 + ], + [ + "▁voul", + -11.508010864257812 + ], + [ + "weit", + -11.50816822052002 + ], + [ + "where", + -11.508213996887207 + ], + [ + "▁Seiten", + -11.508286476135254 + ], + [ + "▁relaxing", + -11.508628845214844 + ], + [ + "▁piano", + -11.50883674621582 + ], + [ + "▁Pick", + -11.508842468261719 + ], + [ + "▁Sony", + -11.508955001831055 + ], + [ + "▁enhanced", + -11.509017944335938 + ], + [ + "▁visa", + -11.50915241241455 + ], + [ + "CH", + -11.50930118560791 + ], + [ + "▁instantly", + -11.50930404663086 + ], + [ + "▁Fan", + -11.509721755981445 + ], + [ + "▁diabetes", + -11.509988784790039 + ], + [ + "▁popul", + -11.50999641418457 + ], + [ + "Ang", + -11.510232925415039 + ], + [ + "▁Ask", + -11.510295867919922 + ], + [ + "cate", + -11.510650634765625 + ], + [ + "▁simplu", + -11.510666847229004 + ], + [ + "nahme", + -11.510685920715332 + ], + [ + "▁dentist", + -11.510842323303223 + ], + [ + "ubi", + -11.510920524597168 + ], + [ + "article", + -11.511030197143555 + ], + [ + "▁graph", + -11.511094093322754 + ], + [ + "▁rival", + -11.51121711730957 + ], + [ + "jahr", + -11.5113525390625 + ], + [ + "▁bloc", + -11.511370658874512 + ], + [ + "fern", + -11.511427879333496 + ], + [ + "▁dispar", + -11.511516571044922 + ], + [ + "▁servers", + -11.511582374572754 + ], + [ + "▁patru", + -11.511610984802246 + ], + [ + "▁Within", + -11.511634826660156 + ], + [ + "▁situated", + -11.511896133422852 + ], + [ + "▁HR", + -11.511981964111328 + ], + [ + "▁leaf", + -11.511981964111328 + ], + [ + "▁curs", + -11.512049674987793 + ], + [ + "antes", + -11.512325286865234 + ], + [ + "lux", + -11.512406349182129 + ], + [ + "▁1993", + -11.512463569641113 + ], + [ + "stance", + -11.512650489807129 + ], + [ + "▁northern", + -11.512683868408203 + ], + [ + "lves", + -11.512718200683594 + ], + [ + "▁contractors", + -11.512882232666016 + ], + [ + "▁dimensions", + -11.512920379638672 + ], + [ + "▁rolling", + -11.513068199157715 + ], + [ + "▁automobile", + -11.513211250305176 + ], + [ + "▁cru", + -11.51342487335205 + ], + [ + "▁displays", + -11.513570785522461 + ], + [ + "web", + -11.513812065124512 + ], + [ + "had", + -11.513850212097168 + ], + [ + "▁Never", + -11.513893127441406 + ], + [ + "▁2-", + -11.513932228088379 + ], + [ + "vine", + -11.51393985748291 + ], + [ + "▁Wahl", + -11.513975143432617 + ], + [ + "▁Markt", + -11.514166831970215 + ], + [ + "▁Double", + -11.514227867126465 + ], + [ + "▁acknowledge", + -11.514229774475098 + ], + [ + "stal", + -11.514288902282715 + ], + [ + "▁equity", + -11.514620780944824 + ], + [ + "▁ministry", + -11.514823913574219 + ], + [ + "▁Lor", + -11.514875411987305 + ], + [ + "▁sud", + -11.514968872070312 + ], + [ + "idée", + -11.515044212341309 + ], + [ + "▁measured", + -11.515448570251465 + ], + [ + "▁editing", + -11.515609741210938 + ], + [ + "▁singur", + -11.515620231628418 + ], + [ + "▁coal", + -11.515623092651367 + ], + [ + "▁dramatic", + -11.516212463378906 + ], + [ + "AG", + -11.516251564025879 + ], + [ + "asca", + -11.516280174255371 + ], + [ + "▁crash", + -11.516321182250977 + ], + [ + "ischer", + -11.516597747802734 + ], + [ + "▁Pla", + -11.516871452331543 + ], + [ + "▁psycho", + -11.517054557800293 + ], + [ + "piece", + -11.517118453979492 + ], + [ + "▁finger", + -11.517121315002441 + ], + [ + "▁Hollywood", + -11.517123222351074 + ], + [ + "▁Cr", + -11.517345428466797 + ], + [ + "▁locally", + -11.517622947692871 + ], + [ + "▁mouse", + -11.517792701721191 + ], + [ + "▁Base", + -11.517867088317871 + ], + [ + "uite", + -11.518095016479492 + ], + [ + "▁detect", + -11.518099784851074 + ], + [ + "cea", + -11.518150329589844 + ], + [ + "▁bull", + -11.518194198608398 + ], + [ + "▁curve", + -11.518208503723145 + ], + [ + "été", + -11.518218994140625 + ], + [ + "ddle", + -11.51839542388916 + ], + [ + "▁span", + -11.518523216247559 + ], + [ + "WS", + -11.518878936767578 + ], + [ + "CL", + -11.519017219543457 + ], + [ + "▁officially", + -11.519042015075684 + ], + [ + "▁corect", + -11.519168853759766 + ], + [ + "▁Artikel", + -11.5193510055542 + ], + [ + "▁customized", + -11.520099639892578 + ], + [ + "▁intellectual", + -11.52018928527832 + ], + [ + "▁heures", + -11.520334243774414 + ], + [ + "schule", + -11.520444869995117 + ], + [ + "▁investing", + -11.520585060119629 + ], + [ + "▁parallel", + -11.521227836608887 + ], + [ + "▁loi", + -11.521263122558594 + ], + [ + "ările", + -11.521566390991211 + ], + [ + "р", + -11.521679878234863 + ], + [ + "▁bench", + -11.521724700927734 + ], + [ + "▁principle", + -11.521756172180176 + ], + [ + "▁Galaxy", + -11.521829605102539 + ], + [ + "ța", + -11.522237777709961 + ], + [ + "▁(4", + -11.522418975830078 + ], + [ + "▁bedrooms", + -11.522578239440918 + ], + [ + "née", + -11.52273941040039 + ], + [ + "▁surely", + -11.52275276184082 + ], + [ + "very", + -11.522927284240723 + ], + [ + "stelle", + -11.523200988769531 + ], + [ + "activ", + -11.523216247558594 + ], + [ + "cite", + -11.523551940917969 + ], + [ + "▁Original", + -11.523553848266602 + ], + [ + "▁palm", + -11.523665428161621 + ], + [ + "▁losses", + -11.523934364318848 + ], + [ + "▁newspaper", + -11.524153709411621 + ], + [ + "ciu", + -11.52436351776123 + ], + [ + "▁Hold", + -11.524392127990723 + ], + [ + "BO", + -11.524422645568848 + ], + [ + "▁CON", + -11.524598121643066 + ], + [ + "▁modified", + -11.524624824523926 + ], + [ + "▁stake", + -11.524735450744629 + ], + [ + "▁Ton", + -11.524798393249512 + ], + [ + "▁luna", + -11.524968147277832 + ], + [ + "▁Mind", + -11.525094985961914 + ], + [ + "lap", + -11.525150299072266 + ], + [ + "▁opinions", + -11.525247573852539 + ], + [ + "▁Jordan", + -11.525351524353027 + ], + [ + "div", + -11.52537727355957 + ], + [ + "indi", + -11.525418281555176 + ], + [ + "▁Story", + -11.525476455688477 + ], + [ + "▁affiliate", + -11.52585506439209 + ], + [ + "▁matière", + -11.525918960571289 + ], + [ + "▁fifth", + -11.526399612426758 + ], + [ + "▁sheets", + -11.52645492553711 + ], + [ + "▁puțin", + -11.526909828186035 + ], + [ + "ush", + -11.526947021484375 + ], + [ + "geführt", + -11.526993751525879 + ], + [ + "▁Falls", + -11.527168273925781 + ], + [ + "legi", + -11.527295112609863 + ], + [ + "▁auction", + -11.527326583862305 + ], + [ + "▁cooperation", + -11.52735424041748 + ], + [ + "▁Fee", + -11.527474403381348 + ], + [ + "▁Daily", + -11.52774715423584 + ], + [ + "pies", + -11.527853965759277 + ], + [ + "▁basketball", + -11.527976036071777 + ], + [ + "removing", + -11.528056144714355 + ], + [ + "Besides", + -11.528294563293457 + ], + [ + "▁Body", + -11.528355598449707 + ], + [ + "▁AD", + -11.528369903564453 + ], + [ + "RU", + -11.528435707092285 + ], + [ + "ţia", + -11.52894401550293 + ], + [ + "▁Extra", + -11.528986930847168 + ], + [ + "▁Practice", + -11.52900218963623 + ], + [ + "▁Jeff", + -11.529017448425293 + ], + [ + "▁început", + -11.529253005981445 + ], + [ + "ching", + -11.529269218444824 + ], + [ + "▁Gift", + -11.529281616210938 + ], + [ + "kk", + -11.529295921325684 + ], + [ + "\")", + -11.529349327087402 + ], + [ + "▁Austin", + -11.529651641845703 + ], + [ + "thro", + -11.529766082763672 + ], + [ + "▁camping", + -11.529810905456543 + ], + [ + "▁theatre", + -11.529850959777832 + ], + [ + "école", + -11.529916763305664 + ], + [ + "vient", + -11.530159950256348 + ], + [ + "▁faces", + -11.530226707458496 + ], + [ + "▁constructed", + -11.530437469482422 + ], + [ + "▁overnight", + -11.530472755432129 + ], + [ + "▁locale", + -11.530574798583984 + ], + [ + "▁roots", + -11.530611038208008 + ], + [ + "▁bu", + -11.530662536621094 + ], + [ + "4,", + -11.530683517456055 + ], + [ + "▁Enterprise", + -11.530865669250488 + ], + [ + "screen", + -11.530935287475586 + ], + [ + "▁Chef", + -11.53096866607666 + ], + [ + "▁Along", + -11.531298637390137 + ], + [ + "▁MD", + -11.531431198120117 + ], + [ + "▁Supreme", + -11.531597137451172 + ], + [ + "En", + -11.531655311584473 + ], + [ + "▁verwendet", + -11.532015800476074 + ], + [ + "▁processed", + -11.532425880432129 + ], + [ + "▁vendors", + -11.532549858093262 + ], + [ + "▁FA", + -11.532651901245117 + ], + [ + "▁44", + -11.532716751098633 + ], + [ + "▁beautifully", + -11.532933235168457 + ], + [ + "▁eficient", + -11.533092498779297 + ], + [ + "▁Wil", + -11.533117294311523 + ], + [ + "▁Member", + -11.533121109008789 + ], + [ + "▁damages", + -11.5332670211792 + ], + [ + "▁mutual", + -11.533288955688477 + ], + [ + "SN", + -11.533506393432617 + ], + [ + "▁Dave", + -11.533665657043457 + ], + [ + "??", + -11.533998489379883 + ], + [ + "stat", + -11.534090995788574 + ], + [ + "▁tourist", + -11.534374237060547 + ], + [ + "fie", + -11.534425735473633 + ], + [ + "şte", + -11.534754753112793 + ], + [ + "▁donne", + -11.534764289855957 + ], + [ + "▁shadow", + -11.53493881225586 + ], + [ + "▁dough", + -11.534993171691895 + ], + [ + "▁Gro", + -11.535002708435059 + ], + [ + "▁Mah", + -11.535066604614258 + ], + [ + "RF", + -11.535126686096191 + ], + [ + "▁mechanism", + -11.535163879394531 + ], + [ + "▁2011,", + -11.535179138183594 + ], + [ + "▁Alter", + -11.53530502319336 + ], + [ + "▁opposed", + -11.53538990020752 + ], + [ + "▁Fri", + -11.535501480102539 + ], + [ + "▁remarkable", + -11.535572052001953 + ], + [ + "oral", + -11.535635948181152 + ], + [ + "▁verschiedene", + -11.535653114318848 + ], + [ + "▁difficulty", + -11.535691261291504 + ], + [ + "▁Application", + -11.535840034484863 + ], + [ + "▁Hay", + -11.535888671875 + ], + [ + "▁continua", + -11.535935401916504 + ], + [ + "EP", + -11.53609848022461 + ], + [ + "▁Pr", + -11.53617000579834 + ], + [ + "▁Lady", + -11.53631591796875 + ], + [ + "▁interval", + -11.536457061767578 + ], + [ + "▁Mil", + -11.536504745483398 + ], + [ + "▁2010.", + -11.537042617797852 + ], + [ + "VE", + -11.537074089050293 + ], + [ + "integr", + -11.537360191345215 + ], + [ + "▁création", + -11.537415504455566 + ], + [ + "weed", + -11.537456512451172 + ], + [ + "EG", + -11.53760051727295 + ], + [ + "▁6,", + -11.537784576416016 + ], + [ + "▁god", + -11.537866592407227 + ], + [ + "▁accomplish", + -11.537947654724121 + ], + [ + "▁thoroughly", + -11.538019180297852 + ], + [ + "2019", + -11.538228988647461 + ], + [ + "izer", + -11.538246154785156 + ], + [ + "▁Wal", + -11.538300514221191 + ], + [ + "ifying", + -11.538701057434082 + ], + [ + "▁Wohn", + -11.539227485656738 + ], + [ + "▁Holz", + -11.539474487304688 + ], + [ + "▁Advanced", + -11.539528846740723 + ], + [ + "▁honey", + -11.539626121520996 + ], + [ + "proof", + -11.539634704589844 + ], + [ + "▁saison", + -11.540029525756836 + ], + [ + "ându", + -11.540035247802734 + ], + [ + "▁Kevin", + -11.540116310119629 + ], + [ + "▁shelter", + -11.540199279785156 + ], + [ + "▁discut", + -11.540257453918457 + ], + [ + "▁hike", + -11.540257453918457 + ], + [ + "ités", + -11.540461540222168 + ], + [ + "▁boutique", + -11.540672302246094 + ], + [ + "▁Email", + -11.54067611694336 + ], + [ + "▁cosmetic", + -11.540830612182617 + ], + [ + "dian", + -11.540916442871094 + ], + [ + "▁hohe", + -11.540940284729004 + ], + [ + "▁absence", + -11.541071891784668 + ], + [ + "axi", + -11.541136741638184 + ], + [ + "nah", + -11.541178703308105 + ], + [ + "▁Frauen", + -11.541236877441406 + ], + [ + "▁actively", + -11.541278839111328 + ], + [ + "bind", + -11.541468620300293 + ], + [ + "▁everybody", + -11.541740417480469 + ], + [ + "▁controller", + -11.541802406311035 + ], + [ + "▁1.5", + -11.5418062210083 + ], + [ + "erau", + -11.541842460632324 + ], + [ + "gehen", + -11.541988372802734 + ], + [ + "▁scenario", + -11.542038917541504 + ], + [ + "▁odd", + -11.542083740234375 + ], + [ + "▁Ultra", + -11.542089462280273 + ], + [ + "▁finishing", + -11.542366981506348 + ], + [ + "▁cuts", + -11.542383193969727 + ], + [ + "▁financing", + -11.542515754699707 + ], + [ + "▁Chance", + -11.542579650878906 + ], + [ + "surrounded", + -11.542818069458008 + ], + [ + "▁joc", + -11.542903900146484 + ], + [ + "▁shelf", + -11.543004035949707 + ], + [ + "tief", + -11.54308032989502 + ], + [ + "▁Sir", + -11.543146133422852 + ], + [ + "▁Agent", + -11.543197631835938 + ], + [ + "▁scratch", + -11.543560981750488 + ], + [ + "2,000", + -11.54360294342041 + ], + [ + "nutri", + -11.54365348815918 + ], + [ + "nier", + -11.544063568115234 + ], + [ + "▁Dur", + -11.544175148010254 + ], + [ + "▁grid", + -11.544268608093262 + ], + [ + "road", + -11.544413566589355 + ], + [ + "▁pets", + -11.544429779052734 + ], + [ + "stud", + -11.54448127746582 + ], + [ + "OM", + -11.544569969177246 + ], + [ + "Die", + -11.544877052307129 + ], + [ + "▁800", + -11.54496955871582 + ], + [ + "▁arrangement", + -11.545088768005371 + ], + [ + "▁Sri", + -11.545185089111328 + ], + [ + "▁Patrick", + -11.545187950134277 + ], + [ + "ava", + -11.545212745666504 + ], + [ + "▁pension", + -11.54523754119873 + ], + [ + "dung", + -11.545353889465332 + ], + [ + "▁Chapter", + -11.545475006103516 + ], + [ + "▁Property", + -11.545475006103516 + ], + [ + "▁structural", + -11.545571327209473 + ], + [ + "▁overview", + -11.545731544494629 + ], + [ + "2015", + -11.545917510986328 + ], + [ + "▁lawn", + -11.545924186706543 + ], + [ + "▁Vin", + -11.546219825744629 + ], + [ + "lik", + -11.546402931213379 + ], + [ + "dus", + -11.546418190002441 + ], + [ + "Several", + -11.54654598236084 + ], + [ + "▁Bou", + -11.546670913696289 + ], + [ + "▁copper", + -11.546703338623047 + ], + [ + "▁duration", + -11.546867370605469 + ], + [ + "inate", + -11.546982765197754 + ], + [ + "▁podcast", + -11.547204971313477 + ], + [ + "▁Self", + -11.547208786010742 + ], + [ + "▁Construction", + -11.547491073608398 + ], + [ + "achat", + -11.54768180847168 + ], + [ + "???", + -11.547683715820312 + ], + [ + "▁Electric", + -11.547974586486816 + ], + [ + "▁Mrs", + -11.54799747467041 + ], + [ + "▁CT", + -11.548019409179688 + ], + [ + "▁proceed", + -11.548324584960938 + ], + [ + "▁Course", + -11.548333168029785 + ], + [ + "▁Frei", + -11.548699378967285 + ], + [ + "▁heavily", + -11.548868179321289 + ], + [ + "rique", + -11.548872947692871 + ], + [ + "version", + -11.549016952514648 + ], + [ + "▁representatives", + -11.549118041992188 + ], + [ + "▁tourism", + -11.549182891845703 + ], + [ + "▁shirt", + -11.5494966506958 + ], + [ + "▁rough", + -11.549507141113281 + ], + [ + "▁weniger", + -11.549735069274902 + ], + [ + "▁keyboard", + -11.550058364868164 + ], + [ + "▁heritage", + -11.550149917602539 + ], + [ + "kat", + -11.550535202026367 + ], + [ + "assez", + -11.550567626953125 + ], + [ + "▁cabinets", + -11.550591468811035 + ], + [ + "▁Komm", + -11.550762176513672 + ], + [ + "▁impressed", + -11.55078411102295 + ], + [ + "▁Oregon", + -11.550788879394531 + ], + [ + "▁Davis", + -11.55081558227539 + ], + [ + "specialized", + -11.55097770690918 + ], + [ + "▁gross", + -11.550999641418457 + ], + [ + "Located", + -11.551044464111328 + ], + [ + "ttle", + -11.551044464111328 + ], + [ + "▁2010,", + -11.551224708557129 + ], + [ + "chan", + -11.551253318786621 + ], + [ + "mine", + -11.551305770874023 + ], + [ + "▁aduce", + -11.551637649536133 + ], + [ + "▁subsequent", + -11.551729202270508 + ], + [ + "▁demo", + -11.551851272583008 + ], + [ + "aba", + -11.552209854125977 + ], + [ + "▁shock", + -11.552389144897461 + ], + [ + "▁theater", + -11.552854537963867 + ], + [ + "▁engineers", + -11.55294418334961 + ], + [ + "▁feu", + -11.553037643432617 + ], + [ + "▁Rot", + -11.553058624267578 + ], + [ + "▁addressed", + -11.553155899047852 + ], + [ + "▁Letter", + -11.553431510925293 + ], + [ + "gré", + -11.553448677062988 + ], + [ + "▁quantity", + -11.553449630737305 + ], + [ + "▁Seit", + -11.553640365600586 + ], + [ + "▁bacteria", + -11.553681373596191 + ], + [ + "kg", + -11.55408000946045 + ], + [ + "▁conservation", + -11.554191589355469 + ], + [ + "▁entreprises", + -11.55420207977295 + ], + [ + "▁pleasant", + -11.554207801818848 + ], + [ + "armed", + -11.554228782653809 + ], + [ + "dorf", + -11.554286003112793 + ], + [ + "fact", + -11.554320335388184 + ], + [ + "▁Much", + -11.554388046264648 + ], + [ + "▁laugh", + -11.55482006072998 + ], + [ + "▁blade", + -11.554835319519043 + ], + [ + "amine", + -11.554838180541992 + ], + [ + "▁insert", + -11.55493450164795 + ], + [ + "▁toys", + -11.555326461791992 + ], + [ + "▁в", + -11.555726051330566 + ], + [ + "cell", + -11.555747985839844 + ], + [ + "▁strengthen", + -11.555864334106445 + ], + [ + "GR", + -11.555882453918457 + ], + [ + "▁autor", + -11.556114196777344 + ], + [ + "▁LI", + -11.556147575378418 + ], + [ + "▁oamenii", + -11.556184768676758 + ], + [ + "▁Modell", + -11.556222915649414 + ], + [ + "▁sophisticated", + -11.556225776672363 + ], + [ + "▁Write", + -11.556283950805664 + ], + [ + "eți", + -11.556295394897461 + ], + [ + "say", + -11.556641578674316 + ], + [ + "▁nutzen", + -11.556783676147461 + ], + [ + "▁amenities", + -11.556979179382324 + ], + [ + "chel", + -11.557068824768066 + ], + [ + "Unlike", + -11.55720043182373 + ], + [ + "▁Bilder", + -11.557208061218262 + ], + [ + "fertig", + -11.55722713470459 + ], + [ + "PER", + -11.557244300842285 + ], + [ + "▁apparently", + -11.557282447814941 + ], + [ + "▁pointed", + -11.557332992553711 + ], + [ + "lop", + -11.557435989379883 + ], + [ + "▁commande", + -11.557848930358887 + ], + [ + "▁NEW", + -11.557923316955566 + ], + [ + "▁primi", + -11.55798625946045 + ], + [ + "▁aluminum", + -11.558046340942383 + ], + [ + "ificare", + -11.558063507080078 + ], + [ + "open", + -11.55815315246582 + ], + [ + "▁establishment", + -11.558305740356445 + ], + [ + "▁blanc", + -11.558349609375 + ], + [ + "▁1960", + -11.558454513549805 + ], + [ + "▁parameters", + -11.55856990814209 + ], + [ + "schluss", + -11.558685302734375 + ], + [ + "▁jet", + -11.55879020690918 + ], + [ + "gam", + -11.55902099609375 + ], + [ + "▁oral", + -11.559290885925293 + ], + [ + "▁tons", + -11.559348106384277 + ], + [ + "▁AL", + -11.55935001373291 + ], + [ + "▁intention", + -11.55947494506836 + ], + [ + "ives", + -11.55974292755127 + ], + [ + "▁BMW", + -11.559837341308594 + ], + [ + "gun", + -11.559967041015625 + ], + [ + "leben", + -11.560046195983887 + ], + [ + "▁Fresh", + -11.56010913848877 + ], + [ + "▁tuturor", + -11.560193061828613 + ], + [ + "▁marine", + -11.560208320617676 + ], + [ + "mile", + -11.560260772705078 + ], + [ + "▁alta", + -11.560271263122559 + ], + [ + "nnen", + -11.56050968170166 + ], + [ + "▁courts", + -11.560530662536621 + ], + [ + "▁Hello", + -11.560791015625 + ], + [ + "BL", + -11.560895919799805 + ], + [ + "▁reply", + -11.560962677001953 + ], + [ + "environnement", + -11.560975074768066 + ], + [ + "American", + -11.560995101928711 + ], + [ + "▁Tell", + -11.561040878295898 + ], + [ + "▁chic", + -11.56148624420166 + ], + [ + "bir", + -11.561542510986328 + ], + [ + "▁singing", + -11.561788558959961 + ], + [ + "▁earnings", + -11.561819076538086 + ], + [ + "▁ensemble", + -11.562082290649414 + ], + [ + "▁($", + -11.562169075012207 + ], + [ + "▁Tout", + -11.562192916870117 + ], + [ + "▁Abs", + -11.562264442443848 + ], + [ + "▁describes", + -11.562322616577148 + ], + [ + "▁navigation", + -11.5625 + ], + [ + "▁destul", + -11.562532424926758 + ], + [ + "legate", + -11.562586784362793 + ], + [ + "tral", + -11.562599182128906 + ], + [ + "aţie", + -11.562753677368164 + ], + [ + "▁supplied", + -11.562775611877441 + ], + [ + "▁paar", + -11.562911987304688 + ], + [ + "ionat", + -11.563241958618164 + ], + [ + "9.", + -11.563263893127441 + ], + [ + "▁41", + -11.563348770141602 + ], + [ + "▁Track", + -11.563451766967773 + ], + [ + "▁happiness", + -11.563636779785156 + ], + [ + "▁Personen", + -11.563680648803711 + ], + [ + "▁sac", + -11.56373119354248 + ], + [ + "▁shapes", + -11.563774108886719 + ], + [ + "eld", + -11.56393051147461 + ], + [ + "bett", + -11.563963890075684 + ], + [ + "tile", + -11.56400203704834 + ], + [ + "▁divided", + -11.564035415649414 + ], + [ + "▁13.", + -11.56403923034668 + ], + [ + "market", + -11.564109802246094 + ], + [ + "crafted", + -11.564115524291992 + ], + [ + "▁periods", + -11.564120292663574 + ], + [ + "uş", + -11.564568519592285 + ], + [ + "▁trainer", + -11.56460952758789 + ], + [ + "▁Licht", + -11.564871788024902 + ], + [ + "▁advisor", + -11.564948081970215 + ], + [ + "▁Herr", + -11.564980506896973 + ], + [ + "▁Halloween", + -11.565147399902344 + ], + [ + "alter", + -11.565154075622559 + ], + [ + "▁radical", + -11.565155029296875 + ], + [ + "▁nose", + -11.56527042388916 + ], + [ + "▁Sat", + -11.565323829650879 + ], + [ + "▁Mom", + -11.565372467041016 + ], + [ + "moni", + -11.565377235412598 + ], + [ + "▁semn", + -11.565397262573242 + ], + [ + "vé", + -11.565672874450684 + ], + [ + "identifie", + -11.56570053100586 + ], + [ + "▁hatten", + -11.565957069396973 + ], + [ + "completing", + -11.565959930419922 + ], + [ + "▁gust", + -11.565963745117188 + ], + [ + "▁creat", + -11.56601333618164 + ], + [ + "ché", + -11.566075325012207 + ], + [ + "pay", + -11.566216468811035 + ], + [ + "▁Money", + -11.566229820251465 + ], + [ + "IG", + -11.566243171691895 + ], + [ + "▁Cash", + -11.566327095031738 + ], + [ + "altă", + -11.566420555114746 + ], + [ + "▁bekommen", + -11.566620826721191 + ], + [ + "▁43", + -11.56662654876709 + ], + [ + "▁supplement", + -11.566637992858887 + ], + [ + "▁Early", + -11.566754341125488 + ], + [ + "▁mattress", + -11.56692123413086 + ], + [ + "▁worn", + -11.567182540893555 + ], + [ + "rov", + -11.567197799682617 + ], + [ + "▁pray", + -11.56733226776123 + ], + [ + "▁beans", + -11.567673683166504 + ], + [ + "▁passé", + -11.567782402038574 + ], + [ + "▁facilit", + -11.56782054901123 + ], + [ + "▁meters", + -11.56784439086914 + ], + [ + "cke", + -11.568163871765137 + ], + [ + "▁Villa", + -11.568199157714844 + ], + [ + "▁Diego", + -11.568217277526855 + ], + [ + "▁chips", + -11.568244934082031 + ], + [ + "▁mes", + -11.568349838256836 + ], + [ + "▁Seattle", + -11.568421363830566 + ], + [ + "BU", + -11.568621635437012 + ], + [ + "▁nevoi", + -11.568714141845703 + ], + [ + "▁lets", + -11.568737030029297 + ], + [ + "▁hopefully", + -11.56894302368164 + ], + [ + "▁AG", + -11.568954467773438 + ], + [ + "liable", + -11.568999290466309 + ], + [ + "pound", + -11.569067001342773 + ], + [ + "près", + -11.569085121154785 + ], + [ + "arul", + -11.56920337677002 + ], + [ + "isiert", + -11.569281578063965 + ], + [ + "▁Expert", + -11.569297790527344 + ], + [ + "▁particulier", + -11.569367408752441 + ], + [ + "stoff", + -11.569952964782715 + ], + [ + "▁interpretation", + -11.56999397277832 + ], + [ + "După", + -11.57007884979248 + ], + [ + "sait", + -11.57011604309082 + ], + [ + "▁nouvelles", + -11.570173263549805 + ], + [ + "▁Ok", + -11.570175170898438 + ], + [ + "tap", + -11.570301055908203 + ], + [ + "▁targets", + -11.570327758789062 + ], + [ + "rung", + -11.57052230834961 + ], + [ + "▁stare", + -11.570576667785645 + ], + [ + "▁efficiently", + -11.570908546447754 + ], + [ + "EV", + -11.571003913879395 + ], + [ + "évit", + -11.571310997009277 + ], + [ + "▁Moldova", + -11.571542739868164 + ], + [ + "▁Face", + -11.571663856506348 + ], + [ + "▁flo", + -11.57168960571289 + ], + [ + "▁acestora", + -11.5717134475708 + ], + [ + "▁Victor", + -11.57183837890625 + ], + [ + "▁breed", + -11.57198429107666 + ], + [ + "morph", + -11.572230339050293 + ], + [ + "sley", + -11.572274208068848 + ], + [ + "mot", + -11.57234001159668 + ], + [ + "▁URL", + -11.572395324707031 + ], + [ + "ellen", + -11.572502136230469 + ], + [ + "▁resist", + -11.572781562805176 + ], + [ + "zon", + -11.57282829284668 + ], + [ + "ndel", + -11.572967529296875 + ], + [ + "will", + -11.572989463806152 + ], + [ + "▁alege", + -11.573076248168945 + ], + [ + "▁Easter", + -11.573114395141602 + ], + [ + "▁Bat", + -11.573190689086914 + ], + [ + "▁Höhe", + -11.573223114013672 + ], + [ + "▁fascinating", + -11.573387145996094 + ], + [ + "▁Know", + -11.5735445022583 + ], + [ + "illon", + -11.573602676391602 + ], + [ + "flex", + -11.57363224029541 + ], + [ + "who", + -11.573701858520508 + ], + [ + "▁Always", + -11.573729515075684 + ], + [ + "▁Bush", + -11.573777198791504 + ], + [ + "ICE", + -11.574009895324707 + ], + [ + "verein", + -11.57448673248291 + ], + [ + "▁später", + -11.57448959350586 + ], + [ + "▁cherch", + -11.574575424194336 + ], + [ + "makers", + -11.574753761291504 + ], + [ + "versus", + -11.574790954589844 + ], + [ + "▁Clear", + -11.574846267700195 + ], + [ + "▁Pennsylvania", + -11.574912071228027 + ], + [ + "Dieser", + -11.575041770935059 + ], + [ + "▁picking", + -11.575072288513184 + ], + [ + "▁restoration", + -11.57513427734375 + ], + [ + "▁interviews", + -11.575201988220215 + ], + [ + "pressed", + -11.575210571289062 + ], + [ + "nnerhalb", + -11.575674057006836 + ], + [ + "▁connecting", + -11.575834274291992 + ], + [ + "jou", + -11.575943946838379 + ], + [ + "▁react", + -11.576189041137695 + ], + [ + "▁Merci", + -11.576223373413086 + ], + [ + "▁Phone", + -11.576356887817383 + ], + [ + "▁1)", + -11.57652473449707 + ], + [ + "▁victims", + -11.576618194580078 + ], + [ + "▁Spo", + -11.576685905456543 + ], + [ + "atului", + -11.576735496520996 + ], + [ + "▁Harry", + -11.576837539672852 + ], + [ + "▁Sala", + -11.576875686645508 + ], + [ + "Pol", + -11.577075958251953 + ], + [ + "▁Clo", + -11.577167510986328 + ], + [ + "▁Erfolg", + -11.577211380004883 + ], + [ + "autour", + -11.577308654785156 + ], + [ + "▁Template", + -11.577314376831055 + ], + [ + "▁invention", + -11.57754898071289 + ], + [ + "▁schwer", + -11.57761287689209 + ], + [ + "vac", + -11.577625274658203 + ], + [ + "▁Trail", + -11.577627182006836 + ], + [ + "▁Vietnam", + -11.577638626098633 + ], + [ + "▁Size", + -11.577689170837402 + ], + [ + "▁Bern", + -11.577783584594727 + ], + [ + "▁emp", + -11.577845573425293 + ], + [ + "▁shake", + -11.57787799835205 + ], + [ + "▁Ave", + -11.57794189453125 + ], + [ + "▁productive", + -11.578009605407715 + ], + [ + "▁apple", + -11.578015327453613 + ], + [ + "▁portal", + -11.578052520751953 + ], + [ + "▁ceramic", + -11.578082084655762 + ], + [ + "▁pad", + -11.578110694885254 + ], + [ + "▁Syn", + -11.578316688537598 + ], + [ + "Ab", + -11.57845401763916 + ], + [ + "▁syn", + -11.578761100769043 + ], + [ + "find", + -11.578888893127441 + ], + [ + "▁settle", + -11.578909873962402 + ], + [ + "▁général", + -11.578965187072754 + ], + [ + "▁okay", + -11.579032897949219 + ], + [ + "▁receipt", + -11.57906436920166 + ], + [ + "orii", + -11.579117774963379 + ], + [ + "▁Mission", + -11.579122543334961 + ], + [ + "entrée", + -11.579304695129395 + ], + [ + "▁besteht", + -11.579394340515137 + ], + [ + "▁wisdom", + -11.57950210571289 + ], + [ + "▁heraus", + -11.579645156860352 + ], + [ + "▁balanced", + -11.579753875732422 + ], + [ + "▁habits", + -11.579773902893066 + ], + [ + "tang", + -11.579888343811035 + ], + [ + "ură", + -11.580151557922363 + ], + [ + "▁winners", + -11.580182075500488 + ], + [ + "ç", + -11.580215454101562 + ], + [ + "▁folosi", + -11.580242156982422 + ], + [ + "aliment", + -11.5802583694458 + ], + [ + "▁fiction", + -11.580373764038086 + ], + [ + "▁Spe", + -11.580534934997559 + ], + [ + "▁elsewhere", + -11.580663681030273 + ], + [ + "▁dependent", + -11.580808639526367 + ], + [ + "▁Anne", + -11.581167221069336 + ], + [ + "▁excellence", + -11.581695556640625 + ], + [ + "▁Feel", + -11.581753730773926 + ], + [ + "lieb", + -11.581811904907227 + ], + [ + "▁sectors", + -11.581865310668945 + ], + [ + "▁expir", + -11.581886291503906 + ], + [ + "▁surfaces", + -11.58191204071045 + ], + [ + "▁minim", + -11.581937789916992 + ], + [ + "▁tumor", + -11.58204460144043 + ], + [ + "▁paragraph", + -11.582289695739746 + ], + [ + "▁disk", + -11.58232307434082 + ], + [ + "▁tonight", + -11.582379341125488 + ], + [ + "▁precious", + -11.582794189453125 + ], + [ + "▁console", + -11.58288288116455 + ], + [ + "Th", + -11.582939147949219 + ], + [ + "neu", + -11.583020210266113 + ], + [ + "effective", + -11.5839262008667 + ], + [ + "▁Republican", + -11.583944320678711 + ], + [ + "format", + -11.584297180175781 + ], + [ + "▁preserve", + -11.58436107635498 + ], + [ + "▁wiring", + -11.584599494934082 + ], + [ + "▁exercises", + -11.584757804870605 + ], + [ + "▁pregnancy", + -11.584774017333984 + ], + [ + "tries", + -11.58481502532959 + ], + [ + "▁jeunes", + -11.584883689880371 + ], + [ + "▁publishing", + -11.584932327270508 + ], + [ + "▁nehmen", + -11.584935188293457 + ], + [ + "▁capability", + -11.5849609375 + ], + [ + "▁prompt", + -11.584965705871582 + ], + [ + "▁Further", + -11.58497428894043 + ], + [ + "▁semaine", + -11.585173606872559 + ], + [ + "abo", + -11.585216522216797 + ], + [ + "▁evolution", + -11.585319519042969 + ], + [ + "▁Sud", + -11.585403442382812 + ], + [ + "▁frais", + -11.585525512695312 + ], + [ + "LT", + -11.585619926452637 + ], + [ + "▁stack", + -11.58581829071045 + ], + [ + "▁Inside", + -11.585854530334473 + ], + [ + "▁programmes", + -11.585997581481934 + ], + [ + "▁passes", + -11.586196899414062 + ], + [ + "mü", + -11.586474418640137 + ], + [ + "▁progressive", + -11.586518287658691 + ], + [ + "▁calculator", + -11.58658218383789 + ], + [ + "▁Core", + -11.586655616760254 + ], + [ + "BT", + -11.586956977844238 + ], + [ + "core", + -11.586996078491211 + ], + [ + "▁Moon", + -11.587004661560059 + ], + [ + "▁tender", + -11.587040901184082 + ], + [ + "durch", + -11.58721923828125 + ], + [ + "▁commune", + -11.587453842163086 + ], + [ + "▁Prince", + -11.587594032287598 + ], + [ + "▁demonstrated", + -11.587693214416504 + ], + [ + "▁conversations", + -11.587890625 + ], + [ + "▁fri", + -11.587984085083008 + ], + [ + "igh", + -11.587992668151855 + ], + [ + "being", + -11.588334083557129 + ], + [ + "pause", + -11.58853530883789 + ], + [ + "▁Bear", + -11.58871841430664 + ], + [ + "ayant", + -11.588875770568848 + ], + [ + "▁Industry", + -11.588967323303223 + ], + [ + "▁sponsor", + -11.589012145996094 + ], + [ + "▁numele", + -11.589098930358887 + ], + [ + "▁VA", + -11.589167594909668 + ], + [ + "▁Sommer", + -11.589366912841797 + ], + [ + "TB", + -11.589380264282227 + ], + [ + "▁optional", + -11.589505195617676 + ], + [ + "▁Landes", + -11.589812278747559 + ], + [ + "coli", + -11.589963912963867 + ], + [ + "empt", + -11.59018325805664 + ], + [ + "▁Iron", + -11.590620040893555 + ], + [ + "▁1992", + -11.59090518951416 + ], + [ + "▁attempts", + -11.59090518951416 + ], + [ + "halb", + -11.590960502624512 + ], + [ + "▁photographer", + -11.59097671508789 + ], + [ + "▁witness", + -11.59097957611084 + ], + [ + "bru", + -11.591073989868164 + ], + [ + "▁Ras", + -11.59107780456543 + ], + [ + "▁burden", + -11.591142654418945 + ], + [ + "▁kaufen", + -11.591256141662598 + ], + [ + "▁vu", + -11.591362953186035 + ], + [ + "▁Wedding", + -11.591601371765137 + ], + [ + "▁Kla", + -11.591604232788086 + ], + [ + "occasion", + -11.591915130615234 + ], + [ + "▁keys", + -11.592131614685059 + ], + [ + "▁oferi", + -11.592279434204102 + ], + [ + "▁puzzle", + -11.592302322387695 + ], + [ + "eaux", + -11.59254264831543 + ], + [ + "▁Eco", + -11.592805862426758 + ], + [ + "▁52", + -11.592817306518555 + ], + [ + "▁Elizabeth", + -11.59284496307373 + ], + [ + "▁dispose", + -11.593144416809082 + ], + [ + "▁cluster", + -11.59326171875 + ], + [ + "iki", + -11.593283653259277 + ], + [ + "▁Guys", + -11.593595504760742 + ], + [ + "▁Economic", + -11.593632698059082 + ], + [ + "▁apar", + -11.593677520751953 + ], + [ + "▁ziua", + -11.593688011169434 + ], + [ + "▁integral", + -11.593740463256836 + ], + [ + "▁tac", + -11.59376335144043 + ], + [ + "▁restrictions", + -11.593778610229492 + ], + [ + "▁nerve", + -11.593794822692871 + ], + [ + "▁Stop", + -11.59386157989502 + ], + [ + "burger", + -11.593897819519043 + ], + [ + "explo", + -11.593944549560547 + ], + [ + "lö", + -11.593958854675293 + ], + [ + "NP", + -11.594077110290527 + ], + [ + "▁Brook", + -11.59418773651123 + ], + [ + "▁Close", + -11.594278335571289 + ], + [ + "▁representing", + -11.59446907043457 + ], + [ + "▁certaine", + -11.594767570495605 + ], + [ + "▁discovery", + -11.594836235046387 + ], + [ + "▁rece", + -11.594964981079102 + ], + [ + "FF", + -11.594970703125 + ], + [ + "▁salary", + -11.595069885253906 + ], + [ + "▁Wolf", + -11.595137596130371 + ], + [ + "▁deserve", + -11.595166206359863 + ], + [ + "ţele", + -11.595417976379395 + ], + [ + "gathered", + -11.595934867858887 + ], + [ + "▁comply", + -11.59599494934082 + ], + [ + "lagen", + -11.596034049987793 + ], + [ + "ătoare", + -11.596192359924316 + ], + [ + "▁relate", + -11.596410751342773 + ], + [ + "▁Roger", + -11.59656810760498 + ], + [ + "▁blame", + -11.596575736999512 + ], + [ + "▁Jen", + -11.596914291381836 + ], + [ + "▁army", + -11.596936225891113 + ], + [ + "▁$10", + -11.597129821777344 + ], + [ + "▁Cabinet", + -11.597185134887695 + ], + [ + "Gu", + -11.597367286682129 + ], + [ + "▁wildlife", + -11.597452163696289 + ], + [ + "▁Memorial", + -11.597643852233887 + ], + [ + "▁Holiday", + -11.597742080688477 + ], + [ + "▁curat", + -11.598291397094727 + ], + [ + "iilor", + -11.598299026489258 + ], + [ + "▁fleet", + -11.598408699035645 + ], + [ + "▁reviewed", + -11.59843635559082 + ], + [ + "cet", + -11.598450660705566 + ], + [ + "▁virtually", + -11.598487854003906 + ], + [ + "▁Crusher", + -11.59852409362793 + ], + [ + "▁slide", + -11.59858226776123 + ], + [ + "▁générale", + -11.598604202270508 + ], + [ + "▁sensation", + -11.598630905151367 + ], + [ + "▁garlic", + -11.598638534545898 + ], + [ + "5)", + -11.598657608032227 + ], + [ + "▁batteries", + -11.598756790161133 + ], + [ + "SH", + -11.59876823425293 + ], + [ + "▁seller", + -11.59882926940918 + ], + [ + "design", + -11.598871231079102 + ], + [ + "5.", + -11.598944664001465 + ], + [ + "▁Overall", + -11.598969459533691 + ], + [ + "▁investigate", + -11.599058151245117 + ], + [ + "max", + -11.599064826965332 + ], + [ + "▁attach", + -11.599166870117188 + ], + [ + "▁Future", + -11.599209785461426 + ], + [ + "OUR", + -11.599284172058105 + ], + [ + "▁LE", + -11.59968090057373 + ], + [ + "▁bite", + -11.599811553955078 + ], + [ + "tige", + -11.599874496459961 + ], + [ + "▁twist", + -11.59987735748291 + ], + [ + "hole", + -11.600180625915527 + ], + [ + "▁Tony", + -11.600510597229004 + ], + [ + "LU", + -11.600598335266113 + ], + [ + "▁Organization", + -11.600617408752441 + ], + [ + "▁invit", + -11.600632667541504 + ], + [ + "▁Ant", + -11.600739479064941 + ], + [ + "NR", + -11.600788116455078 + ], + [ + "sorgt", + -11.600854873657227 + ], + [ + "▁Lan", + -11.600860595703125 + ], + [ + "▁Manchester", + -11.60091495513916 + ], + [ + "schrift", + -11.601066589355469 + ], + [ + "▁kg", + -11.601150512695312 + ], + [ + "▁aroma", + -11.60132884979248 + ], + [ + "▁Source", + -11.601388931274414 + ], + [ + "▁permite", + -11.601445198059082 + ], + [ + "▁Consider", + -11.601457595825195 + ], + [ + "▁Artist", + -11.601627349853516 + ], + [ + "▁transmit", + -11.601783752441406 + ], + [ + "oasa", + -11.601834297180176 + ], + [ + "▁Zen", + -11.60198974609375 + ], + [ + "ANT", + -11.602235794067383 + ], + [ + "▁consulting", + -11.602404594421387 + ], + [ + "▁commence", + -11.6025390625 + ], + [ + "▁quilt", + -11.60261058807373 + ], + [ + "owned", + -11.602642059326172 + ], + [ + "▁bro", + -11.602689743041992 + ], + [ + "▁integrate", + -11.602715492248535 + ], + [ + "▁Ontario", + -11.602775573730469 + ], + [ + "TF", + -11.602832794189453 + ], + [ + "▁Study", + -11.602887153625488 + ], + [ + "▁ensuite", + -11.603155136108398 + ], + [ + "itatii", + -11.603180885314941 + ], + [ + "Mon", + -11.603235244750977 + ], + [ + "-11", + -11.603299140930176 + ], + [ + "what", + -11.603384017944336 + ], + [ + "▁Things", + -11.60361385345459 + ], + [ + "▁Eye", + -11.603819847106934 + ], + [ + "▁présente", + -11.603828430175781 + ], + [ + "tention", + -11.603915214538574 + ], + [ + "|", + -11.603957176208496 + ], + [ + "stall", + -11.603963851928711 + ], + [ + "▁beef", + -11.603992462158203 + ], + [ + "figur", + -11.604005813598633 + ], + [ + "▁cancel", + -11.604146003723145 + ], + [ + "▁domeniul", + -11.604252815246582 + ], + [ + "▁360", + -11.604290008544922 + ], + [ + "▁sleeping", + -11.6045560836792 + ], + [ + "▁traitement", + -11.604580879211426 + ], + [ + "ühl", + -11.604769706726074 + ], + [ + "▁Environmental", + -11.604835510253906 + ], + [ + "cier", + -11.604894638061523 + ], + [ + "▁NC", + -11.604907035827637 + ], + [ + "pub", + -11.604925155639648 + ], + [ + "▁addiction", + -11.605071067810059 + ], + [ + "▁nest", + -11.605128288269043 + ], + [ + "▁ON", + -11.605395317077637 + ], + [ + "▁discrimin", + -11.605396270751953 + ], + [ + "▁proved", + -11.605517387390137 + ], + [ + "▁occasions", + -11.605864524841309 + ], + [ + "OH", + -11.606184959411621 + ], + [ + "▁lawyers", + -11.606203079223633 + ], + [ + "own", + -11.606290817260742 + ], + [ + "▁Meeting", + -11.606596946716309 + ], + [ + "▁Industrial", + -11.606704711914062 + ], + [ + "owed", + -11.606736183166504 + ], + [ + "▁Cel", + -11.606793403625488 + ], + [ + "legt", + -11.60706615447998 + ], + [ + "ily", + -11.607085227966309 + ], + [ + "▁wins", + -11.607155799865723 + ], + [ + "▁strap", + -11.607367515563965 + ], + [ + "digit", + -11.607441902160645 + ], + [ + "▁hinaus", + -11.607504844665527 + ], + [ + "mple", + -11.607712745666504 + ], + [ + "▁(5", + -11.607797622680664 + ], + [ + "▁pdf", + -11.607894897460938 + ], + [ + "▁eco", + -11.607915878295898 + ], + [ + "▁junior", + -11.608172416687012 + ], + [ + "DB", + -11.608556747436523 + ], + [ + "gelegt", + -11.608636856079102 + ], + [ + "ION", + -11.608678817749023 + ], + [ + "▁competitors", + -11.60880184173584 + ], + [ + "▁Arab", + -11.60898208618164 + ], + [ + "▁Secret", + -11.609148979187012 + ], + [ + "▁Kunst", + -11.609283447265625 + ], + [ + "▁worried", + -11.609297752380371 + ], + [ + "meiner", + -11.609378814697266 + ], + [ + "▁Magic", + -11.609450340270996 + ], + [ + "▁groß", + -11.609537124633789 + ], + [ + "▁travaux", + -11.609748840332031 + ], + [ + "▁sollen", + -11.609772682189941 + ], + [ + "▁Sciences", + -11.609850883483887 + ], + [ + "▁athletes", + -11.610055923461914 + ], + [ + "▁discounts", + -11.610079765319824 + ], + [ + "kit", + -11.610211372375488 + ], + [ + "lind", + -11.610305786132812 + ], + [ + "▁enjoyable", + -11.610421180725098 + ], + [ + "ground", + -11.610489845275879 + ], + [ + "▁Tat", + -11.610529899597168 + ], + [ + "▁passengers", + -11.610576629638672 + ], + [ + "▁Dami", + -11.610677719116211 + ], + [ + "▁Major", + -11.61070728302002 + ], + [ + "watch", + -11.610796928405762 + ], + [ + "working", + -11.610908508300781 + ], + [ + "arrêt", + -11.610923767089844 + ], + [ + "▁subtle", + -11.611069679260254 + ], + [ + "▁epi", + -11.611197471618652 + ], + [ + "▁Jahres", + -11.61128044128418 + ], + [ + "▁cooling", + -11.61141586303711 + ], + [ + "▁makeup", + -11.611427307128906 + ], + [ + "jet", + -11.611495018005371 + ], + [ + "▁Given", + -11.611519813537598 + ], + [ + "plex", + -11.61158275604248 + ], + [ + "▁exploit", + -11.611590385437012 + ], + [ + "rine", + -11.611604690551758 + ], + [ + "▁delivers", + -11.612122535705566 + ], + [ + "▁summary", + -11.612236022949219 + ], + [ + "▁beaches", + -11.612459182739258 + ], + [ + "lift", + -11.612550735473633 + ], + [ + "▁Suite", + -11.612554550170898 + ], + [ + "▁Assistant", + -11.612688064575195 + ], + [ + "▁taxi", + -11.61273193359375 + ], + [ + "▁peaceful", + -11.612805366516113 + ], + [ + "▁Mode", + -11.612980842590332 + ], + [ + "▁Fun", + -11.613059043884277 + ], + [ + "▁diameter", + -11.613142967224121 + ], + [ + "▁phrase", + -11.613150596618652 + ], + [ + "ACT", + -11.613265037536621 + ], + [ + "▁différentes", + -11.613322257995605 + ], + [ + "▁14.", + -11.613417625427246 + ], + [ + "▁CE", + -11.61352825164795 + ], + [ + "▁2)", + -11.613739013671875 + ], + [ + "▁Nat", + -11.613785743713379 + ], + [ + "▁delete", + -11.61388111114502 + ], + [ + "other", + -11.613930702209473 + ], + [ + "hang", + -11.613985061645508 + ], + [ + "▁sujet", + -11.614117622375488 + ], + [ + "▁precise", + -11.614212989807129 + ], + [ + "▁Total", + -11.614290237426758 + ], + [ + "▁chambre", + -11.614483833312988 + ], + [ + "sati", + -11.614666938781738 + ], + [ + "▁Metal", + -11.614995956420898 + ], + [ + "rust", + -11.615038871765137 + ], + [ + "▁Brazil", + -11.615508079528809 + ], + [ + "▁hybrid", + -11.615636825561523 + ], + [ + "ops", + -11.615691184997559 + ], + [ + "▁electro", + -11.615789413452148 + ], + [ + "utz", + -11.61608600616455 + ], + [ + "▁quoi", + -11.616246223449707 + ], + [ + "▁adoption", + -11.616331100463867 + ], + [ + "3.5", + -11.616518020629883 + ], + [ + "50,000", + -11.616599082946777 + ], + [ + "veti", + -11.616630554199219 + ], + [ + "hir", + -11.616957664489746 + ], + [ + "▁adequate", + -11.617067337036133 + ], + [ + "ologist", + -11.617109298706055 + ], + [ + "torii", + -11.617295265197754 + ], + [ + "wasser", + -11.617355346679688 + ], + [ + "▁Authority", + -11.617362976074219 + ], + [ + "▁donation", + -11.617364883422852 + ], + [ + "700", + -11.617375373840332 + ], + [ + "▁somehow", + -11.617375373840332 + ], + [ + "▁kostenlos", + -11.617425918579102 + ], + [ + "▁generations", + -11.617537498474121 + ], + [ + "▁Turkey", + -11.617711067199707 + ], + [ + "rata", + -11.617819786071777 + ], + [ + "▁animation", + -11.618206024169922 + ], + [ + "▁CH", + -11.618281364440918 + ], + [ + "ending", + -11.618317604064941 + ], + [ + "welt", + -11.618376731872559 + ], + [ + "bac", + -11.618380546569824 + ], + [ + "MG", + -11.618460655212402 + ], + [ + "▁parks", + -11.618468284606934 + ], + [ + "▁placing", + -11.618870735168457 + ], + [ + "sort", + -11.61915111541748 + ], + [ + "▁Bitcoin", + -11.619163513183594 + ], + [ + "▁disorder", + -11.619282722473145 + ], + [ + "MAN", + -11.619302749633789 + ], + [ + "aught", + -11.619412422180176 + ], + [ + "▁guides", + -11.61956787109375 + ], + [ + "▁circul", + -11.619651794433594 + ], + [ + "▁Steven", + -11.619954109191895 + ], + [ + "rrière", + -11.619976997375488 + ], + [ + "▁Arch", + -11.61999225616455 + ], + [ + "▁plates", + -11.620091438293457 + ], + [ + "MR", + -11.620118141174316 + ], + [ + "▁cow", + -11.620142936706543 + ], + [ + "▁integrity", + -11.620210647583008 + ], + [ + "▁(18", + -11.620217323303223 + ], + [ + "▁totul", + -11.62024211883545 + ], + [ + "jack", + -11.620373725891113 + ], + [ + "▁privire", + -11.620588302612305 + ], + [ + "▁terme", + -11.620752334594727 + ], + [ + "▁execution", + -11.620781898498535 + ], + [ + "▁organism", + -11.620838165283203 + ], + [ + "▁führen", + -11.620853424072266 + ], + [ + "▁patron", + -11.620940208435059 + ], + [ + "▁appreciated", + -11.62096881866455 + ], + [ + "liant", + -11.62100601196289 + ], + [ + "▁Solar", + -11.621055603027344 + ], + [ + "▁vinyl", + -11.621134757995605 + ], + [ + "▁treasure", + -11.621137619018555 + ], + [ + "▁retro", + -11.621167182922363 + ], + [ + "▁bout", + -11.621174812316895 + ], + [ + "lab", + -11.621183395385742 + ], + [ + "▁dimension", + -11.621394157409668 + ], + [ + "called", + -11.62146282196045 + ], + [ + "▁intern", + -11.621479034423828 + ], + [ + "issement", + -11.62173843383789 + ], + [ + "▁Erst", + -11.621837615966797 + ], + [ + "▁stellen", + -11.621920585632324 + ], + [ + "▁familia", + -11.622069358825684 + ], + [ + "▁notion", + -11.622176170349121 + ], + [ + "▁Could", + -11.622322082519531 + ], + [ + "Getting", + -11.622323036193848 + ], + [ + "▁drives", + -11.622397422790527 + ], + [ + "▁Israeli", + -11.622520446777344 + ], + [ + "▁nations", + -11.622546195983887 + ], + [ + "▁duties", + -11.622700691223145 + ], + [ + "▁personalized", + -11.622788429260254 + ], + [ + "▁weren", + -11.62282657623291 + ], + [ + "▁chemicals", + -11.622847557067871 + ], + [ + "▁killing", + -11.622913360595703 + ], + [ + "▁masa", + -11.622994422912598 + ], + [ + "▁parce", + -11.623026847839355 + ], + [ + "▁lady", + -11.623178482055664 + ], + [ + "ides", + -11.623221397399902 + ], + [ + "▁execut", + -11.62340259552002 + ], + [ + "▁floral", + -11.62341594696045 + ], + [ + "▁Child", + -11.623428344726562 + ], + [ + "▁medal", + -11.623503684997559 + ], + [ + "▁casa", + -11.623603820800781 + ], + [ + "▁enabled", + -11.623650550842285 + ], + [ + "12.", + -11.624239921569824 + ], + [ + "nger", + -11.624266624450684 + ], + [ + "▁vent", + -11.624297142028809 + ], + [ + "▁urmă", + -11.624727249145508 + ], + [ + "▁Herz", + -11.624835968017578 + ], + [ + "▁Jay", + -11.624916076660156 + ], + [ + ".....", + -11.624942779541016 + ], + [ + "▁Kris", + -11.62499713897705 + ], + [ + "kenn", + -11.625001907348633 + ], + [ + "ress", + -11.625027656555176 + ], + [ + "weight", + -11.62519359588623 + ], + [ + "▁indicates", + -11.625198364257812 + ], + [ + "▁mentor", + -11.625328063964844 + ], + [ + "using", + -11.625386238098145 + ], + [ + "▁femmes", + -11.625460624694824 + ], + [ + "▁Jung", + -11.625528335571289 + ], + [ + "▁Send", + -11.625574111938477 + ], + [ + "▁seasons", + -11.625906944274902 + ], + [ + "▁aesthetic", + -11.625964164733887 + ], + [ + "▁Block", + -11.626086235046387 + ], + [ + "▁babies", + -11.626150131225586 + ], + [ + "zig", + -11.626242637634277 + ], + [ + "edge", + -11.626428604125977 + ], + [ + "▁alike", + -11.626458168029785 + ], + [ + "▁immune", + -11.626609802246094 + ], + [ + "▁magical", + -11.626710891723633 + ], + [ + "▁Snow", + -11.626748085021973 + ], + [ + "▁spacious", + -11.627058982849121 + ], + [ + "▁Melbourne", + -11.62706184387207 + ], + [ + "order", + -11.627081871032715 + ], + [ + "▁timing", + -11.627176284790039 + ], + [ + "▁inainte", + -11.627220153808594 + ], + [ + "▁width", + -11.627327919006348 + ], + [ + "bild", + -11.627386093139648 + ], + [ + "Tra", + -11.627429008483887 + ], + [ + "▁appliances", + -11.627449989318848 + ], + [ + "▁dirt", + -11.627498626708984 + ], + [ + "▁Rent", + -11.627689361572266 + ], + [ + "responsibilities", + -11.627747535705566 + ], + [ + "▁blogs", + -11.62778377532959 + ], + [ + "nächsten", + -11.627799034118652 + ], + [ + "▁argue", + -11.627928733825684 + ], + [ + "▁Resume", + -11.627985954284668 + ], + [ + "▁Michel", + -11.628044128417969 + ], + [ + "▁terrible", + -11.628092765808105 + ], + [ + "graph", + -11.628151893615723 + ], + [ + "bird", + -11.628202438354492 + ], + [ + "▁Simple", + -11.628457069396973 + ], + [ + "nning", + -11.628658294677734 + ], + [ + "▁coconut", + -11.628683090209961 + ], + [ + "▁comprise", + -11.628787994384766 + ], + [ + "heure", + -11.628918647766113 + ], + [ + "▁nichts", + -11.628921508789062 + ], + [ + "▁manufacture", + -11.628966331481934 + ], + [ + "▁Sar", + -11.629011154174805 + ], + [ + "green", + -11.629014015197754 + ], + [ + "lining", + -11.62910270690918 + ], + [ + "▁tremendous", + -11.629128456115723 + ], + [ + "▁Wine", + -11.629164695739746 + ], + [ + "gir", + -11.629290580749512 + ], + [ + "▁Nothing", + -11.629562377929688 + ], + [ + "▁Miller", + -11.62957763671875 + ], + [ + "▁Schwe", + -11.629712104797363 + ], + [ + "zone", + -11.629942893981934 + ], + [ + "▁cunoscut", + -11.629964828491211 + ], + [ + "rupt", + -11.630166053771973 + ], + [ + "kle", + -11.630187034606934 + ], + [ + "▁Bucuresti", + -11.630510330200195 + ], + [ + "▁Abend", + -11.630574226379395 + ], + [ + "▁aura", + -11.630583763122559 + ], + [ + "▁Dance", + -11.63073444366455 + ], + [ + "▁Wilson", + -11.63086986541748 + ], + [ + "icide", + -11.630901336669922 + ], + [ + "bai", + -11.630910873413086 + ], + [ + "oriented", + -11.63103199005127 + ], + [ + "▁celebrated", + -11.631421089172363 + ], + [ + "schlag", + -11.631531715393066 + ], + [ + "▁10-", + -11.631600379943848 + ], + [ + "Unsere", + -11.63167667388916 + ], + [ + "énergie", + -11.632009506225586 + ], + [ + "▁qualify", + -11.63205623626709 + ], + [ + "▁contenu", + -11.632177352905273 + ], + [ + "▁Lauf", + -11.63220500946045 + ], + [ + "▁einzelne", + -11.632360458374023 + ], + [ + "▁Youth", + -11.632415771484375 + ], + [ + "explains", + -11.632601737976074 + ], + [ + "grat", + -11.632782936096191 + ], + [ + "▁72", + -11.632804870605469 + ], + [ + "labor", + -11.632885932922363 + ], + [ + "2018", + -11.632940292358398 + ], + [ + "▁Dank", + -11.633149147033691 + ], + [ + "▁Hey", + -11.633523941040039 + ], + [ + "▁refuse", + -11.633536338806152 + ], + [ + "▁graduated", + -11.633599281311035 + ], + [ + "▁României", + -11.633627891540527 + ], + [ + "punkt", + -11.633807182312012 + ], + [ + "▁regulation", + -11.633834838867188 + ], + [ + "Bru", + -11.633842468261719 + ], + [ + "▁Side", + -11.633891105651855 + ], + [ + "▁sol", + -11.633970260620117 + ], + [ + "▁extraordinary", + -11.634182929992676 + ], + [ + "▁ging", + -11.634247779846191 + ], + [ + "▁Creative", + -11.634299278259277 + ], + [ + "▁expanding", + -11.634349822998047 + ], + [ + "▁problème", + -11.63444995880127 + ], + [ + "▁Reserve", + -11.63459300994873 + ], + [ + "auteur", + -11.634642601013184 + ], + [ + "sphere", + -11.634657859802246 + ], + [ + "season", + -11.634716987609863 + ], + [ + "frei", + -11.634756088256836 + ], + [ + "▁8,", + -11.634765625 + ], + [ + "▁filing", + -11.634810447692871 + ], + [ + "▁Complete", + -11.635017395019531 + ], + [ + "▁revolution", + -11.635035514831543 + ], + [ + "▁unele", + -11.63520622253418 + ], + [ + "/8", + -11.635272979736328 + ], + [ + "istes", + -11.635310173034668 + ], + [ + "backed", + -11.635400772094727 + ], + [ + "shirt", + -11.635554313659668 + ], + [ + "▁Details", + -11.635673522949219 + ], + [ + "rod", + -11.635695457458496 + ], + [ + "▁pod", + -11.63582992553711 + ], + [ + "▁operators", + -11.635921478271484 + ], + [ + "was", + -11.635930061340332 + ], + [ + "hou", + -11.63594913482666 + ], + [ + "▁Coach", + -11.636075019836426 + ], + [ + "irii", + -11.636138916015625 + ], + [ + "▁ordinary", + -11.636186599731445 + ], + [ + "Institut", + -11.63620662689209 + ], + [ + "▁Flash", + -11.63633918762207 + ], + [ + "0-", + -11.636537551879883 + ], + [ + "▁flavour", + -11.6367769241333 + ], + [ + "specific", + -11.636906623840332 + ], + [ + "▁landing", + -11.636930465698242 + ], + [ + "▁geo", + -11.636935234069824 + ], + [ + "▁legend", + -11.636983871459961 + ], + [ + "vari", + -11.63703441619873 + ], + [ + "rop", + -11.637084007263184 + ], + [ + "▁Excel", + -11.6370849609375 + ], + [ + "▁Flu", + -11.637203216552734 + ], + [ + "▁intent", + -11.637582778930664 + ], + [ + "▁Deep", + -11.637594223022461 + ], + [ + "▁Kor", + -11.63763427734375 + ], + [ + "▁Philadelphia", + -11.637914657592773 + ], + [ + "▁rând", + -11.63800048828125 + ], + [ + "▁USD", + -11.638033866882324 + ], + [ + "laden", + -11.63803482055664 + ], + [ + "▁Hin", + -11.638047218322754 + ], + [ + "hap", + -11.638197898864746 + ], + [ + "▁thorough", + -11.638227462768555 + ], + [ + "▁oferit", + -11.63826847076416 + ], + [ + "kind", + -11.63831615447998 + ], + [ + "▁Cancer", + -11.638428688049316 + ], + [ + "apo", + -11.638596534729004 + ], + [ + "▁valve", + -11.638650894165039 + ], + [ + "▁encouraging", + -11.63884449005127 + ], + [ + "▁sûr", + -11.638904571533203 + ], + [ + "shing", + -11.638981819152832 + ], + [ + "▁49", + -11.639132499694824 + ], + [ + "gov", + -11.639142990112305 + ], + [ + "▁Five", + -11.63933277130127 + ], + [ + "▁stroke", + -11.639344215393066 + ], + [ + "▁apă", + -11.639398574829102 + ], + [ + "▁gambling", + -11.639543533325195 + ], + [ + "▁nord", + -11.63963508605957 + ], + [ + "onal", + -11.639691352844238 + ], + [ + "▁captured", + -11.63979721069336 + ], + [ + "▁lucruri", + -11.640068054199219 + ], + [ + "serait", + -11.640192985534668 + ], + [ + "▁Members", + -11.640265464782715 + ], + [ + "ital", + -11.640275955200195 + ], + [ + "▁mounted", + -11.640475273132324 + ], + [ + "▁opens", + -11.640792846679688 + ], + [ + "▁Marie", + -11.640861511230469 + ], + [ + "Tech", + -11.640902519226074 + ], + [ + "▁wishes", + -11.641016006469727 + ], + [ + "▁regards", + -11.641073226928711 + ], + [ + "going", + -11.641156196594238 + ], + [ + "Opti", + -11.641250610351562 + ], + [ + "▁femei", + -11.641331672668457 + ], + [ + "▁Fish", + -11.64142894744873 + ], + [ + "▁mount", + -11.641800880432129 + ], + [ + "▁Hunt", + -11.641887664794922 + ], + [ + "▁probabil", + -11.64205265045166 + ], + [ + "▁assured", + -11.642191886901855 + ], + [ + "pho", + -11.642230033874512 + ], + [ + "▁manufactured", + -11.642313003540039 + ], + [ + "▁realistic", + -11.642437934875488 + ], + [ + "ații", + -11.642580032348633 + ], + [ + "▁Planning", + -11.642598152160645 + ], + [ + "▁român", + -11.642645835876465 + ], + [ + "ggy", + -11.642669677734375 + ], + [ + "▁produces", + -11.642696380615234 + ], + [ + "▁reminder", + -11.64284896850586 + ], + [ + "TION", + -11.642868041992188 + ], + [ + "▁brake", + -11.642909049987793 + ], + [ + "▁pla", + -11.643172264099121 + ], + [ + "▁Premium", + -11.643270492553711 + ], + [ + "▁carb", + -11.643310546875 + ], + [ + "▁shine", + -11.643390655517578 + ], + [ + "▁carrier", + -11.643492698669434 + ], + [ + "▁poverty", + -11.64350414276123 + ], + [ + "▁effectiveness", + -11.6436128616333 + ], + [ + "administr", + -11.643655776977539 + ], + [ + "▁Chamber", + -11.643658638000488 + ], + [ + "▁suntem", + -11.64376163482666 + ], + [ + "▁noastră", + -11.643855094909668 + ], + [ + "▁sofort", + -11.643877983093262 + ], + [ + "▁moisture", + -11.644058227539062 + ], + [ + "limb", + -11.6441011428833 + ], + [ + "entre", + -11.644328117370605 + ], + [ + "▁SD", + -11.644330978393555 + ], + [ + "▁BC", + -11.644539833068848 + ], + [ + "▁selecting", + -11.6445951461792 + ], + [ + "achieving", + -11.644673347473145 + ], + [ + "info", + -11.644735336303711 + ], + [ + "▁membres", + -11.644983291625977 + ], + [ + "▁shoe", + -11.645014762878418 + ], + [ + "▁locate", + -11.645065307617188 + ], + [ + "▁assignment", + -11.645085334777832 + ], + [ + "lern", + -11.645283699035645 + ], + [ + "▁defeat", + -11.645406723022461 + ], + [ + "▁endless", + -11.645458221435547 + ], + [ + "▁Stunden", + -11.645523071289062 + ], + [ + "то", + -11.645561218261719 + ], + [ + "▁mur", + -11.645586013793945 + ], + [ + "▁wissen", + -11.645844459533691 + ], + [ + "aime", + -11.645915031433105 + ], + [ + "1-2", + -11.646056175231934 + ], + [ + "▁femme", + -11.646212577819824 + ], + [ + "robe", + -11.646468162536621 + ], + [ + "▁embrace", + -11.64647102355957 + ], + [ + "▁baseball", + -11.646614074707031 + ], + [ + "▁hunting", + -11.64663314819336 + ], + [ + "betrieb", + -11.646790504455566 + ], + [ + "▁gardens", + -11.647045135498047 + ], + [ + "▁risc", + -11.647096633911133 + ], + [ + "▁Cri", + -11.647263526916504 + ], + [ + "best", + -11.647506713867188 + ], + [ + "▁Audio", + -11.647621154785156 + ], + [ + "▁intens", + -11.647659301757812 + ], + [ + "▁Round", + -11.647744178771973 + ], + [ + "▁fireplace", + -11.6478271484375 + ], + [ + "▁dozen", + -11.647912979125977 + ], + [ + "▁hospitals", + -11.64802360534668 + ], + [ + "▁profits", + -11.648076057434082 + ], + [ + "▁Mail", + -11.64811897277832 + ], + [ + "obtenir", + -11.648191452026367 + ], + [ + "▁Ross", + -11.648241996765137 + ], + [ + "bun", + -11.648573875427246 + ], + [ + "polar", + -11.648688316345215 + ], + [ + "▁reflection", + -11.648873329162598 + ], + [ + "▁fut", + -11.648992538452148 + ], + [ + "phon", + -11.649017333984375 + ], + [ + "deck", + -11.649094581604004 + ], + [ + "renowned", + -11.649188041687012 + ], + [ + "▁cate", + -11.649308204650879 + ], + [ + "▁decorative", + -11.6494722366333 + ], + [ + "ieri", + -11.64957332611084 + ], + [ + "▁Tap", + -11.64958381652832 + ], + [ + "▁Dallas", + -11.649600982666016 + ], + [ + "rik", + -11.649665832519531 + ], + [ + "▁pied", + -11.649727821350098 + ], + [ + "rés", + -11.649821281433105 + ], + [ + "ppy", + -11.650137901306152 + ], + [ + "▁bitte", + -11.650188446044922 + ], + [ + "▁cave", + -11.650257110595703 + ], + [ + "▁rescue", + -11.650559425354004 + ], + [ + "▁Hilfe", + -11.650714874267578 + ], + [ + "▁Jason", + -11.650786399841309 + ], + [ + "▁Nations", + -11.650838851928711 + ], + [ + "▁profil", + -11.650938987731934 + ], + [ + "▁Atlantic", + -11.651105880737305 + ], + [ + "▁rub", + -11.651126861572266 + ], + [ + "▁collaborative", + -11.65113353729248 + ], + [ + "étude", + -11.651150703430176 + ], + [ + "▁Workshop", + -11.651389122009277 + ], + [ + "nez", + -11.651628494262695 + ], + [ + "▁chacun", + -11.651714324951172 + ], + [ + "▁Too", + -11.65211296081543 + ], + [ + "App", + -11.652313232421875 + ], + [ + "▁conseil", + -11.652399063110352 + ], + [ + "▁signals", + -11.652474403381348 + ], + [ + "▁Dead", + -11.652497291564941 + ], + [ + "▁Austria", + -11.652522087097168 + ], + [ + "▁slots", + -11.652579307556152 + ], + [ + "▁Dies", + -11.652623176574707 + ], + [ + "raj", + -11.652629852294922 + ], + [ + "stick", + -11.652833938598633 + ], + [ + "▁jaw", + -11.653030395507812 + ], + [ + "▁lounge", + -11.653059005737305 + ], + [ + "curi", + -11.653359413146973 + ], + [ + "nem", + -11.653456687927246 + ], + [ + "▁Cluj", + -11.653512954711914 + ], + [ + "▁rapide", + -11.653584480285645 + ], + [ + "▁companion", + -11.653716087341309 + ], + [ + "▁WE", + -11.653879165649414 + ], + [ + "▁bord", + -11.65389347076416 + ], + [ + "ody", + -11.654045104980469 + ], + [ + "gru", + -11.654057502746582 + ], + [ + "▁46", + -11.654410362243652 + ], + [ + "kra", + -11.654717445373535 + ], + [ + "eller", + -11.65477180480957 + ], + [ + "naire", + -11.65511703491211 + ], + [ + "hose", + -11.655253410339355 + ], + [ + "▁Atlanta", + -11.655254364013672 + ], + [ + "▁violent", + -11.65530776977539 + ], + [ + "▁imagination", + -11.655352592468262 + ], + [ + "▁reward", + -11.655389785766602 + ], + [ + "▁Korean", + -11.655441284179688 + ], + [ + "▁branches", + -11.655501365661621 + ], + [ + "▁GPS", + -11.655625343322754 + ], + [ + "glo", + -11.655633926391602 + ], + [ + "▁condo", + -11.655705451965332 + ], + [ + "▁Investment", + -11.655765533447266 + ], + [ + "▁involvement", + -11.655813217163086 + ], + [ + "▁trap", + -11.655829429626465 + ], + [ + "▁schön", + -11.655872344970703 + ], + [ + "▁ofera", + -11.655933380126953 + ], + [ + "▁unterschiedlich", + -11.65596866607666 + ], + [ + "Net", + -11.655987739562988 + ], + [ + "▁predict", + -11.656113624572754 + ], + [ + "identifying", + -11.656309127807617 + ], + [ + "▁noir", + -11.6566162109375 + ], + [ + "kos", + -11.656816482543945 + ], + [ + "poz", + -11.656816482543945 + ], + [ + "▁11,", + -11.65698528289795 + ], + [ + "▁fitted", + -11.657384872436523 + ], + [ + "MU", + -11.657469749450684 + ], + [ + "TT", + -11.657645225524902 + ], + [ + "▁vrea", + -11.657846450805664 + ], + [ + "▁wound", + -11.657864570617676 + ], + [ + "lac", + -11.657971382141113 + ], + [ + "▁purchases", + -11.658409118652344 + ], + [ + "▁Cape", + -11.65843677520752 + ], + [ + "▁Foto", + -11.658537864685059 + ], + [ + "▁acres", + -11.65865707397461 + ], + [ + "▁nec", + -11.658677101135254 + ], + [ + "▁burning", + -11.659050941467285 + ], + [ + "conf", + -11.659457206726074 + ], + [ + "▁browse", + -11.659486770629883 + ], + [ + "ural", + -11.659762382507324 + ], + [ + "▁Ah", + -11.659841537475586 + ], + [ + "▁stellt", + -11.65992259979248 + ], + [ + "▁ratings", + -11.660012245178223 + ], + [ + "▁Bowl", + -11.660027503967285 + ], + [ + "▁grav", + -11.660289764404297 + ], + [ + "titi", + -11.66048526763916 + ], + [ + "▁prêt", + -11.66075325012207 + ], + [ + "▁fallen", + -11.660818099975586 + ], + [ + "▁nombreuses", + -11.660940170288086 + ], + [ + "train", + -11.660953521728516 + ], + [ + "ène", + -11.661009788513184 + ], + [ + "Aceasta", + -11.661091804504395 + ], + [ + "▁drill", + -11.661421775817871 + ], + [ + "▁Exam", + -11.661477088928223 + ], + [ + "▁Furniture", + -11.661651611328125 + ], + [ + "eanu", + -11.661919593811035 + ], + [ + "étant", + -11.66230297088623 + ], + [ + "sville", + -11.662391662597656 + ], + [ + "▁swim", + -11.662796020507812 + ], + [ + "▁routes", + -11.662826538085938 + ], + [ + "INE", + -11.662860870361328 + ], + [ + "▁Por", + -11.662976264953613 + ], + [ + "ither", + -11.663168907165527 + ], + [ + "▁optim", + -11.663180351257324 + ], + [ + "▁lua", + -11.66331958770752 + ], + [ + "▁myth", + -11.663491249084473 + ], + [ + "▁Bett", + -11.6635103225708 + ], + [ + "chim", + -11.66355037689209 + ], + [ + "▁cyber", + -11.663553237915039 + ], + [ + "▁engineer", + -11.663825035095215 + ], + [ + "▁exploration", + -11.663918495178223 + ], + [ + "arranged", + -11.663973808288574 + ], + [ + "▁aged", + -11.663993835449219 + ], + [ + "▁beau", + -11.664024353027344 + ], + [ + "OUT", + -11.66402530670166 + ], + [ + "▁Minnesota", + -11.664031982421875 + ], + [ + "tress", + -11.664407730102539 + ], + [ + "▁Commercial", + -11.664509773254395 + ], + [ + "▁inspiring", + -11.66462516784668 + ], + [ + "▁Mare", + -11.664725303649902 + ], + [ + "apa", + -11.665140151977539 + ], + [ + "▁ignore", + -11.6651611328125 + ], + [ + "▁gros", + -11.665186882019043 + ], + [ + "▁measurement", + -11.66531753540039 + ], + [ + "ager", + -11.665395736694336 + ], + [ + "intele", + -11.665966987609863 + ], + [ + "▁suspension", + -11.666180610656738 + ], + [ + "▁cultures", + -11.666211128234863 + ], + [ + "▁Wow", + -11.666231155395508 + ], + [ + "▁pushing", + -11.666363716125488 + ], + [ + "▁bands", + -11.666438102722168 + ], + [ + "nage", + -11.666450500488281 + ], + [ + "▁Math", + -11.666515350341797 + ], + [ + "comb", + -11.66658878326416 + ], + [ + "▁créer", + -11.66658878326416 + ], + [ + "▁Lewis", + -11.666685104370117 + ], + [ + "▁VI", + -11.66678524017334 + ], + [ + "emploi", + -11.666791915893555 + ], + [ + "▁elections", + -11.666890144348145 + ], + [ + "▁logic", + -11.666982650756836 + ], + [ + "▁unlike", + -11.667122840881348 + ], + [ + "▁Matthew", + -11.66743278503418 + ], + [ + "▁pă", + -11.667486190795898 + ], + [ + "oxy", + -11.667620658874512 + ], + [ + "équipe", + -11.667717933654785 + ], + [ + "▁worden", + -11.668088912963867 + ], + [ + "dev", + -11.668258666992188 + ], + [ + "▁Massachusetts", + -11.668691635131836 + ], + [ + "▁Return", + -11.668695449829102 + ], + [ + "▁Friends", + -11.66891098022461 + ], + [ + "▁movements", + -11.66894245147705 + ], + [ + "chie", + -11.668964385986328 + ], + [ + "rak", + -11.669017791748047 + ], + [ + "▁Fit", + -11.66904354095459 + ], + [ + "▁copil", + -11.669113159179688 + ], + [ + "iunii", + -11.669188499450684 + ], + [ + "▁intensive", + -11.669234275817871 + ], + [ + "▁rug", + -11.669452667236328 + ], + [ + "lichkeit", + -11.669686317443848 + ], + [ + "kov", + -11.669724464416504 + ], + [ + "▁pense", + -11.66978645324707 + ], + [ + "pop", + -11.66978931427002 + ], + [ + "▁closet", + -11.669865608215332 + ], + [ + "▁prevention", + -11.669920921325684 + ], + [ + "▁Deb", + -11.670256614685059 + ], + [ + "▁devant", + -11.670430183410645 + ], + [ + "▁construit", + -11.670440673828125 + ], + [ + "▁breaks", + -11.67082405090332 + ], + [ + "otic", + -11.670886993408203 + ], + [ + "▁dig", + -11.67088794708252 + ], + [ + "▁près", + -11.670930862426758 + ], + [ + "chte", + -11.671029090881348 + ], + [ + "▁Chat", + -11.671029090881348 + ], + [ + "wel", + -11.671219825744629 + ], + [ + "▁edges", + -11.671272277832031 + ], + [ + "▁keen", + -11.671419143676758 + ], + [ + "▁infant", + -11.671716690063477 + ], + [ + "▁Hills", + -11.6719388961792 + ], + [ + "▁grounds", + -11.671969413757324 + ], + [ + "▁hab", + -11.672039031982422 + ], + [ + "▁Mun", + -11.67215347290039 + ], + [ + "▁references", + -11.672215461730957 + ], + [ + "▁hearts", + -11.672446250915527 + ], + [ + "exprim", + -11.672487258911133 + ], + [ + "▁tratament", + -11.672553062438965 + ], + [ + "LD", + -11.67258358001709 + ], + [ + "ssel", + -11.67275333404541 + ], + [ + "cover", + -11.672782897949219 + ], + [ + "bridge", + -11.672837257385254 + ], + [ + "▁Wein", + -11.672924995422363 + ], + [ + "▁voiture", + -11.673035621643066 + ], + [ + "▁Gemeinde", + -11.67313289642334 + ], + [ + "AI", + -11.673169136047363 + ], + [ + "▁renovation", + -11.673264503479004 + ], + [ + "bid", + -11.673285484313965 + ], + [ + "▁Reading", + -11.673481941223145 + ], + [ + "▁Gor", + -11.673490524291992 + ], + [ + "fur", + -11.673527717590332 + ], + [ + "▁Yoga", + -11.673544883728027 + ], + [ + "▁exclusively", + -11.673630714416504 + ], + [ + "▁emissions", + -11.67385482788086 + ], + [ + "ète", + -11.673905372619629 + ], + [ + "▁glasses", + -11.674055099487305 + ], + [ + "▁organizat", + -11.674135208129883 + ], + [ + "▁washing", + -11.67415714263916 + ], + [ + "▁Audi", + -11.674173355102539 + ], + [ + "▁Labor", + -11.674331665039062 + ], + [ + "▁legacy", + -11.674381256103516 + ], + [ + "▁abstract", + -11.674519538879395 + ], + [ + "▁knowledgeable", + -11.674601554870605 + ], + [ + "▁Glo", + -11.674795150756836 + ], + [ + "▁pregnant", + -11.67481803894043 + ], + [ + "liter", + -11.674851417541504 + ], + [ + "▁paintings", + -11.67522144317627 + ], + [ + "▁tête", + -11.675244331359863 + ], + [ + "voy", + -11.675626754760742 + ], + [ + "▁Jacob", + -11.675667762756348 + ], + [ + "▁dressing", + -11.675679206848145 + ], + [ + "▁provisions", + -11.675768852233887 + ], + [ + "bahn", + -11.675870895385742 + ], + [ + "▁depict", + -11.675875663757324 + ], + [ + "AW", + -11.676068305969238 + ], + [ + "▁bleibt", + -11.676163673400879 + ], + [ + "AND", + -11.676292419433594 + ], + [ + "▁fünf", + -11.676386833190918 + ], + [ + "▁hosts", + -11.676426887512207 + ], + [ + "vas", + -11.676708221435547 + ], + [ + "DO", + -11.67674732208252 + ], + [ + "▁max", + -11.676753997802734 + ], + [ + "▁contributed", + -11.676774978637695 + ], + [ + "roz", + -11.676796913146973 + ], + [ + "▁deschis", + -11.676800727844238 + ], + [ + "itaire", + -11.676809310913086 + ], + [ + "tube", + -11.676959991455078 + ], + [ + "▁Beck", + -11.676959991455078 + ], + [ + "▁curious", + -11.677130699157715 + ], + [ + "▁waves", + -11.677178382873535 + ], + [ + "▁regret", + -11.677248001098633 + ], + [ + "FO", + -11.677326202392578 + ], + [ + "droit", + -11.67734146118164 + ], + [ + "rö", + -11.677565574645996 + ], + [ + "▁Panel", + -11.677624702453613 + ], + [ + "▁pile", + -11.677660942077637 + ], + [ + "▁installing", + -11.677674293518066 + ], + [ + "▁Intr", + -11.677797317504883 + ], + [ + "nung", + -11.677823066711426 + ], + [ + "▁Outdoor", + -11.677855491638184 + ], + [ + "▁generator", + -11.67786693572998 + ], + [ + "▁zahlreiche", + -11.677868843078613 + ], + [ + "▁Third", + -11.67813491821289 + ], + [ + "frac", + -11.678180694580078 + ], + [ + "ovi", + -11.678236961364746 + ], + [ + "▁Casa", + -11.678374290466309 + ], + [ + "▁stomach", + -11.678393363952637 + ], + [ + "▁Lincoln", + -11.67844009399414 + ], + [ + "▁Electronic", + -11.678584098815918 + ], + [ + "coding", + -11.67895221710205 + ], + [ + "2017", + -11.67900276184082 + ], + [ + "▁friendship", + -11.679238319396973 + ], + [ + "ried", + -11.679250717163086 + ], + [ + "но", + -11.679265022277832 + ], + [ + "▁tail", + -11.679267883300781 + ], + [ + "▁petits", + -11.679308891296387 + ], + [ + "▁réseau", + -11.679696083068848 + ], + [ + "▁churches", + -11.679999351501465 + ], + [ + "▁marketplace", + -11.680062294006348 + ], + [ + "▁Pool", + -11.680318832397461 + ], + [ + "▁popularity", + -11.680455207824707 + ], + [ + "▁sprijin", + -11.680496215820312 + ], + [ + "▁Od", + -11.680527687072754 + ], + [ + "▁Transfer", + -11.680562973022461 + ], + [ + "▁fake", + -11.680791854858398 + ], + [ + "▁9,", + -11.681007385253906 + ], + [ + "▁weit", + -11.681264877319336 + ], + [ + "▁relaxed", + -11.681415557861328 + ], + [ + "pig", + -11.68161678314209 + ], + [ + "▁Lauren", + -11.68166732788086 + ], + [ + "gesetzt", + -11.681669235229492 + ], + [ + "▁Clar", + -11.681694984436035 + ], + [ + "▁unlikely", + -11.681731224060059 + ], + [ + "color", + -11.681832313537598 + ], + [ + "▁spouse", + -11.681843757629395 + ], + [ + "▁facile", + -11.681859970092773 + ], + [ + "▁Speed", + -11.681872367858887 + ], + [ + "KE", + -11.682230949401855 + ], + [ + "▁PO", + -11.68231201171875 + ], + [ + "▁Channel", + -11.682321548461914 + ], + [ + "argent", + -11.682356834411621 + ], + [ + "▁Making", + -11.682430267333984 + ], + [ + "▁Coll", + -11.682585716247559 + ], + [ + "cci", + -11.682721138000488 + ], + [ + "corresponding", + -11.68300724029541 + ], + [ + "▁heaven", + -11.683160781860352 + ], + [ + "ţă", + -11.68319320678711 + ], + [ + "▁darüber", + -11.683236122131348 + ], + [ + "acted", + -11.683420181274414 + ], + [ + "only", + -11.683460235595703 + ], + [ + "▁slight", + -11.683465003967285 + ], + [ + "lian", + -11.68348503112793 + ], + [ + "flă", + -11.683510780334473 + ], + [ + "▁vulnerable", + -11.683530807495117 + ], + [ + "▁creator", + -11.68356704711914 + ], + [ + "▁protecting", + -11.68360424041748 + ], + [ + "writing", + -11.68360710144043 + ], + [ + "▁Ter", + -11.68387222290039 + ], + [ + "▁barb", + -11.683987617492676 + ], + [ + "▁dată", + -11.683995246887207 + ], + [ + "▁Screen", + -11.684052467346191 + ], + [ + "▁BBC", + -11.684082984924316 + ], + [ + "Col", + -11.684206008911133 + ], + [ + "fung", + -11.684453964233398 + ], + [ + "▁dreptul", + -11.684494972229004 + ], + [ + "derived", + -11.684538841247559 + ], + [ + "▁designated", + -11.684553146362305 + ], + [ + "▁interactions", + -11.684617042541504 + ], + [ + "SG", + -11.684621810913086 + ], + [ + "▁häufig", + -11.684625625610352 + ], + [ + "▁Mega", + -11.684638023376465 + ], + [ + "▁jazz", + -11.684660911560059 + ], + [ + "lbs", + -11.684797286987305 + ], + [ + "▁Manual", + -11.68484115600586 + ], + [ + "pushed", + -11.685017585754395 + ], + [ + "▁analytics", + -11.685234069824219 + ], + [ + "▁lawsuit", + -11.68533706665039 + ], + [ + "▁gray", + -11.685364723205566 + ], + [ + "shirts", + -11.685401916503906 + ], + [ + "▁hill", + -11.685508728027344 + ], + [ + "▁1991", + -11.68550968170166 + ], + [ + "▁obligations", + -11.685568809509277 + ], + [ + "▁Dubai", + -11.68580436706543 + ], + [ + "()", + -11.685808181762695 + ], + [ + "▁acceptable", + -11.685810089111328 + ], + [ + "therapist", + -11.685877799987793 + ], + [ + "inger", + -11.6860990524292 + ], + [ + "▁territory", + -11.686208724975586 + ], + [ + "▁sang", + -11.6862211227417 + ], + [ + "ät", + -11.686224937438965 + ], + [ + "▁Zukunft", + -11.686238288879395 + ], + [ + "TU", + -11.68657398223877 + ], + [ + "▁horizontal", + -11.68665599822998 + ], + [ + "▁entrepreneurs", + -11.686710357666016 + ], + [ + "▁Eltern", + -11.687017440795898 + ], + [ + "▁presentations", + -11.687129974365234 + ], + [ + "▁confirmation", + -11.687173843383789 + ], + [ + "▁technological", + -11.687432289123535 + ], + [ + "▁1989", + -11.687530517578125 + ], + [ + "EF", + -11.687640190124512 + ], + [ + "ponent", + -11.687663078308105 + ], + [ + "NET", + -11.687699317932129 + ], + [ + "750", + -11.687772750854492 + ], + [ + "▁desert", + -11.687891960144043 + ], + [ + "▁contribu", + -11.687932968139648 + ], + [ + "▁Gun", + -11.687944412231445 + ], + [ + "▁Juli", + -11.688091278076172 + ], + [ + "ERS", + -11.688261985778809 + ], + [ + "▁inceput", + -11.688261985778809 + ], + [ + "▁answered", + -11.688369750976562 + ], + [ + "▁basement", + -11.688410758972168 + ], + [ + "film", + -11.688434600830078 + ], + [ + "▁taille", + -11.688593864440918 + ], + [ + "▁survival", + -11.688655853271484 + ], + [ + "ihnen", + -11.68869400024414 + ], + [ + "▁Bird", + -11.688840866088867 + ], + [ + "speed", + -11.689336776733398 + ], + [ + "▁journalist", + -11.68941879272461 + ], + [ + "▁Indonesia", + -11.689626693725586 + ], + [ + "▁15.", + -11.689973831176758 + ], + [ + "▁19.", + -11.690025329589844 + ], + [ + "étaient", + -11.690114974975586 + ], + [ + "▁tennis", + -11.69024658203125 + ], + [ + "▁aproximativ", + -11.69039249420166 + ], + [ + "▁Hans", + -11.690650939941406 + ], + [ + "▁Remove", + -11.69067096710205 + ], + [ + "▁cats", + -11.691022872924805 + ], + [ + "▁calories", + -11.691052436828613 + ], + [ + "▁limitations", + -11.69119644165039 + ], + [ + "▁subscribe", + -11.691198348999023 + ], + [ + "▁Dem", + -11.691339492797852 + ], + [ + "lust", + -11.691370010375977 + ], + [ + "▁adresa", + -11.691394805908203 + ], + [ + "▁sais", + -11.69140911102295 + ], + [ + "...\"", + -11.691473960876465 + ], + [ + "▁Luft", + -11.691485404968262 + ], + [ + "DL", + -11.691597938537598 + ], + [ + "▁estimates", + -11.691600799560547 + ], + [ + "▁protocol", + -11.691603660583496 + ], + [ + "▁Namen", + -11.691776275634766 + ], + [ + "▁grands", + -11.691901206970215 + ], + [ + "▁voter", + -11.691970825195312 + ], + [ + "▁vacuum", + -11.692075729370117 + ], + [ + "▁versch", + -11.692103385925293 + ], + [ + "▁Democratic", + -11.692107200622559 + ], + [ + "▁Books", + -11.692170143127441 + ], + [ + "▁frames", + -11.692727088928223 + ], + [ + "▁Bee", + -11.692864418029785 + ], + [ + "▁helfen", + -11.692934036254883 + ], + [ + "▁dive", + -11.692963600158691 + ], + [ + "▁physician", + -11.693037033081055 + ], + [ + "▁powered", + -11.693131446838379 + ], + [ + "▁zones", + -11.693337440490723 + ], + [ + "▁regime", + -11.69345474243164 + ], + [ + "check", + -11.693578720092773 + ], + [ + "11.", + -11.693793296813965 + ], + [ + "▁plaisir", + -11.693793296813965 + ], + [ + "▁physically", + -11.693811416625977 + ], + [ + "▁Pul", + -11.694245338439941 + ], + [ + "▁jardin", + -11.694294929504395 + ], + [ + "▁Nur", + -11.694417953491211 + ], + [ + "WC", + -11.694425582885742 + ], + [ + "▁Lock", + -11.694506645202637 + ], + [ + "▁économique", + -11.694530487060547 + ], + [ + "user", + -11.694536209106445 + ], + [ + "▁commit", + -11.694731712341309 + ], + [ + "▁oldest", + -11.694764137268066 + ], + [ + "▁fulfill", + -11.694780349731445 + ], + [ + "▁nervous", + -11.69482135772705 + ], + [ + "▁SH", + -11.695014953613281 + ], + [ + "SK", + -11.695150375366211 + ], + [ + "▁plein", + -11.695291519165039 + ], + [ + "show", + -11.695354461669922 + ], + [ + "▁disability", + -11.695356369018555 + ], + [ + "papier", + -11.69544506072998 + ], + [ + "▁Corp", + -11.695611000061035 + ], + [ + "ători", + -11.695676803588867 + ], + [ + "nţă", + -11.695813179016113 + ], + [ + "▁overseas", + -11.696009635925293 + ], + [ + "▁struck", + -11.69603157043457 + ], + [ + "astic", + -11.69607162475586 + ], + [ + "▁advised", + -11.696088790893555 + ], + [ + "BE", + -11.696161270141602 + ], + [ + "▁UV", + -11.696218490600586 + ], + [ + "patient", + -11.69626235961914 + ], + [ + "▁texte", + -11.696344375610352 + ], + [ + "▁timely", + -11.696444511413574 + ], + [ + "used", + -11.696471214294434 + ], + [ + "▁occasionally", + -11.696524620056152 + ], + [ + "▁entries", + -11.696550369262695 + ], + [ + "underlying", + -11.6967191696167 + ], + [ + "01.", + -11.696748733520508 + ], + [ + "▁automated", + -11.696791648864746 + ], + [ + "yes", + -11.696828842163086 + ], + [ + "▁Staff", + -11.697057723999023 + ], + [ + "▁Einzel", + -11.697546005249023 + ], + [ + "quit", + -11.697687149047852 + ], + [ + "▁Cela", + -11.697951316833496 + ], + [ + "▁snap", + -11.698298454284668 + ], + [ + "▁followers", + -11.698330879211426 + ], + [ + "CN", + -11.698709487915039 + ], + [ + "▁Cooper", + -11.698892593383789 + ], + [ + "ô", + -11.698921203613281 + ], + [ + "▁memorable", + -11.698965072631836 + ], + [ + "▁jur", + -11.698996543884277 + ], + [ + "▁ajutorul", + -11.69905948638916 + ], + [ + "▁Enter", + -11.6991548538208 + ], + [ + "Often", + -11.699294090270996 + ], + [ + "▁dintr", + -11.699341773986816 + ], + [ + "-30", + -11.699419975280762 + ], + [ + "ESS", + -11.699454307556152 + ], + [ + "▁weird", + -11.699462890625 + ], + [ + "▁Animal", + -11.699706077575684 + ], + [ + "▁complement", + -11.699719429016113 + ], + [ + "▁Bot", + -11.699756622314453 + ], + [ + "▁darf", + -11.699764251708984 + ], + [ + "yed", + -11.699808120727539 + ], + [ + "▁Mul", + -11.699872016906738 + ], + [ + "lick", + -11.700080871582031 + ], + [ + "▁Cambridge", + -11.700216293334961 + ], + [ + "adore", + -11.700407981872559 + ], + [ + "▁Dutch", + -11.700420379638672 + ], + [ + "▁Castle", + -11.700431823730469 + ], + [ + "igi", + -11.700563430786133 + ], + [ + "▁enemy", + -11.70071029663086 + ], + [ + "accompanied", + -11.700725555419922 + ], + [ + "▁teren", + -11.701102256774902 + ], + [ + "▁ET", + -11.701498985290527 + ], + [ + "ffle", + -11.701557159423828 + ], + [ + "-15", + -11.701651573181152 + ], + [ + "▁Geo", + -11.701680183410645 + ], + [ + "▁attractions", + -11.701730728149414 + ], + [ + "iker", + -11.70185661315918 + ], + [ + "▁bă", + -11.701990127563477 + ], + [ + "▁heal", + -11.701995849609375 + ], + [ + "weisen", + -11.702144622802734 + ], + [ + "▁spectrum", + -11.702186584472656 + ], + [ + "meld", + -11.702394485473633 + ], + [ + "▁eveniment", + -11.70247745513916 + ], + [ + "arra", + -11.702478408813477 + ], + [ + "rete", + -11.70250129699707 + ], + [ + "▁Had", + -11.70250415802002 + ], + [ + "looking", + -11.702692031860352 + ], + [ + "isierung", + -11.702805519104004 + ], + [ + "▁moyen", + -11.703129768371582 + ], + [ + "▁gesamte", + -11.703202247619629 + ], + [ + "▁destroy", + -11.703407287597656 + ], + [ + "125", + -11.703518867492676 + ], + [ + "▁suivant", + -11.703913688659668 + ], + [ + "▁declared", + -11.703925132751465 + ], + [ + "▁Urban", + -11.704131126403809 + ], + [ + "▁16.", + -11.704168319702148 + ], + [ + "▁Beg", + -11.704168319702148 + ], + [ + "▁canal", + -11.704225540161133 + ], + [ + "▁Pres", + -11.70431137084961 + ], + [ + "▁geeignet", + -11.704339981079102 + ], + [ + "▁strat", + -11.704365730285645 + ], + [ + "UB", + -11.704395294189453 + ], + [ + "▁Alexander", + -11.704424858093262 + ], + [ + "cycle", + -11.704666137695312 + ], + [ + "▁Var", + -11.704802513122559 + ], + [ + "▁domin", + -11.704805374145508 + ], + [ + "▁lasting", + -11.704939842224121 + ], + [ + "terio", + -11.705262184143066 + ], + [ + "▁Battle", + -11.705339431762695 + ], + [ + "▁publications", + -11.705647468566895 + ], + [ + "▁implica", + -11.705886840820312 + ], + [ + "▁NA", + -11.705963134765625 + ], + [ + "▁stocks", + -11.706036567687988 + ], + [ + "Plat", + -11.70611572265625 + ], + [ + "▁excitement", + -11.706149101257324 + ], + [ + "▁Muslim", + -11.706524848937988 + ], + [ + "▁Mari", + -11.706530570983887 + ], + [ + "▁Ul", + -11.706647872924805 + ], + [ + "nächst", + -11.706757545471191 + ], + [ + "▁trait", + -11.706833839416504 + ], + [ + "▁(3)", + -11.706852912902832 + ], + [ + "▁Attorney", + -11.706894874572754 + ], + [ + "▁Malaysia", + -11.70689582824707 + ], + [ + "▁slab", + -11.706960678100586 + ], + [ + "▁dam", + -11.707113265991211 + ], + [ + "▁Bir", + -11.707226753234863 + ], + [ + "▁sing", + -11.70738410949707 + ], + [ + "▁Culture", + -11.7073974609375 + ], + [ + "UD", + -11.707417488098145 + ], + [ + "▁Mes", + -11.707443237304688 + ], + [ + "ități", + -11.707615852355957 + ], + [ + "▁possess", + -11.708173751831055 + ], + [ + "enabling", + -11.70820426940918 + ], + [ + "▁settled", + -11.708335876464844 + ], + [ + "▁sagen", + -11.708492279052734 + ], + [ + "▁erfolgt", + -11.708564758300781 + ], + [ + "dog", + -11.708600997924805 + ], + [ + "ndu", + -11.708732604980469 + ], + [ + "ității", + -11.708745002746582 + ], + [ + "▁Islam", + -11.708930015563965 + ], + [ + "▁catalog", + -11.708931922912598 + ], + [ + "▁simt", + -11.709102630615234 + ], + [ + "tische", + -11.709150314331055 + ], + [ + "▁Mach", + -11.709334373474121 + ], + [ + "▁EP", + -11.709359169006348 + ], + [ + "▁Certified", + -11.709386825561523 + ], + [ + "▁Resources", + -11.70945930480957 + ], + [ + "▁Past", + -11.709607124328613 + ], + [ + "▁Termin", + -11.709755897521973 + ], + [ + "▁lightweight", + -11.709755897521973 + ], + [ + "▁championship", + -11.70994758605957 + ], + [ + "gebiet", + -11.710122108459473 + ], + [ + "▁jurisdiction", + -11.710135459899902 + ], + [ + "▁euros", + -11.710169792175293 + ], + [ + "▁Familien", + -11.710554122924805 + ], + [ + "▁GT", + -11.710677146911621 + ], + [ + "▁dvs", + -11.71081256866455 + ], + [ + "▁nouveaux", + -11.710838317871094 + ], + [ + "▁chill", + -11.710916519165039 + ], + [ + "▁ridicat", + -11.710920333862305 + ], + [ + "his", + -11.711079597473145 + ], + [ + "▁Indi", + -11.711159706115723 + ], + [ + "▁arrested", + -11.71116828918457 + ], + [ + "ităţii", + -11.711170196533203 + ], + [ + "onul", + -11.711274147033691 + ], + [ + "appar", + -11.711296081542969 + ], + [ + "▁Bachelor", + -11.711297988891602 + ], + [ + "▁erfolgreich", + -11.711426734924316 + ], + [ + "▁versatile", + -11.71163558959961 + ], + [ + "▁nécessaire", + -11.711761474609375 + ], + [ + "▁facial", + -11.712160110473633 + ], + [ + "▁Bull", + -11.712226867675781 + ], + [ + "Comm", + -11.712237358093262 + ], + [ + "atte", + -11.712307929992676 + ], + [ + "hom", + -11.7123384475708 + ], + [ + "start", + -11.712576866149902 + ], + [ + "▁roughly", + -11.712936401367188 + ], + [ + "▁bay", + -11.712984085083008 + ], + [ + "▁american", + -11.712986946105957 + ], + [ + "▁Wisconsin", + -11.713135719299316 + ], + [ + "▁Clinton", + -11.713142395019531 + ], + [ + "appareil", + -11.713153839111328 + ], + [ + "▁liberal", + -11.713455200195312 + ], + [ + "▁dau", + -11.713519096374512 + ], + [ + "ech", + -11.713521957397461 + ], + [ + "2014", + -11.713624000549316 + ], + [ + "▁lip", + -11.713645935058594 + ], + [ + "▁maintenant", + -11.713762283325195 + ], + [ + "▁Sil", + -11.713805198669434 + ], + [ + "rben", + -11.713891983032227 + ], + [ + "▁contents", + -11.713980674743652 + ], + [ + "▁magnetic", + -11.714111328125 + ], + [ + "▁terre", + -11.714151382446289 + ], + [ + "▁Rights", + -11.714475631713867 + ], + [ + "lose", + -11.714570045471191 + ], + [ + "▁crown", + -11.71468448638916 + ], + [ + "▁oils", + -11.7147216796875 + ], + [ + "▁entertaining", + -11.714841842651367 + ], + [ + "▁Option", + -11.714848518371582 + ], + [ + "▁Previous", + -11.714916229248047 + ], + [ + "▁vrai", + -11.714930534362793 + ], + [ + "▁Auswahl", + -11.715056419372559 + ], + [ + "▁horses", + -11.715106010437012 + ], + [ + "▁Author", + -11.71533489227295 + ], + [ + "▁Writing", + -11.715461730957031 + ], + [ + "▁travelling", + -11.715522766113281 + ], + [ + "▁350", + -11.715567588806152 + ], + [ + "daten", + -11.71560287475586 + ], + [ + "zan", + -11.715765953063965 + ], + [ + "▁sweat", + -11.715924263000488 + ], + [ + "▁Junior", + -11.715970993041992 + ], + [ + "markt", + -11.71609878540039 + ], + [ + "after", + -11.716105461120605 + ], + [ + "▁admitted", + -11.716262817382812 + ], + [ + "▁1950", + -11.716347694396973 + ], + [ + "▁Sche", + -11.71648120880127 + ], + [ + "▁dorit", + -11.716818809509277 + ], + [ + "▁transferred", + -11.716958045959473 + ], + [ + "utilise", + -11.717194557189941 + ], + [ + "sitz", + -11.717301368713379 + ], + [ + "gio", + -11.717320442199707 + ], + [ + "▁bisher", + -11.717473983764648 + ], + [ + "RD", + -11.717491149902344 + ], + [ + "▁Wales", + -11.717747688293457 + ], + [ + "▁smoking", + -11.717904090881348 + ], + [ + "dire", + -11.717939376831055 + ], + [ + "▁seating", + -11.717979431152344 + ], + [ + "▁constat", + -11.718056678771973 + ], + [ + "▁Hub", + -11.718324661254883 + ], + [ + "▁sieht", + -11.718345642089844 + ], + [ + "▁prospect", + -11.718378067016602 + ], + [ + "▁RO", + -11.718413352966309 + ], + [ + "▁Wars", + -11.718423843383789 + ], + [ + "eek", + -11.718496322631836 + ], + [ + "▁Bring", + -11.718646049499512 + ], + [ + "▁bleiben", + -11.718696594238281 + ], + [ + "arri", + -11.718826293945312 + ], + [ + "inal", + -11.718904495239258 + ], + [ + "▁Maryland", + -11.718932151794434 + ], + [ + "▁Process", + -11.719145774841309 + ], + [ + "They", + -11.719154357910156 + ], + [ + "▁Oxford", + -11.719176292419434 + ], + [ + "▁neat", + -11.719330787658691 + ], + [ + "▁cinema", + -11.719597816467285 + ], + [ + "▁Ist", + -11.719620704650879 + ], + [ + "▁vegan", + -11.719682693481445 + ], + [ + "wall", + -11.719708442687988 + ], + [ + "▁motive", + -11.72010612487793 + ], + [ + "▁mature", + -11.720544815063477 + ], + [ + "▁Dragon", + -11.720653533935547 + ], + [ + "▁google", + -11.720677375793457 + ], + [ + "blick", + -11.72110652923584 + ], + [ + "▁Cod", + -11.721220970153809 + ], + [ + "▁suffi", + -11.721319198608398 + ], + [ + "▁terrorist", + -11.721478462219238 + ], + [ + "Posted", + -11.721484184265137 + ], + [ + "▁Schi", + -11.72157096862793 + ], + [ + "▁Marc", + -11.721597671508789 + ], + [ + "▁operates", + -11.721661567687988 + ], + [ + "gress", + -11.721805572509766 + ], + [ + "has", + -11.721899032592773 + ], + [ + "sole", + -11.722108840942383 + ], + [ + "▁Buck", + -11.722122192382812 + ], + [ + "impl", + -11.722160339355469 + ], + [ + "▁Ron", + -11.722172737121582 + ], + [ + "▁handled", + -11.722346305847168 + ], + [ + "▁Apr", + -11.722347259521484 + ], + [ + "▁Storage", + -11.722467422485352 + ], + [ + "▁temp", + -11.722512245178223 + ], + [ + "▁differently", + -11.722614288330078 + ], + [ + "▁wherever", + -11.722670555114746 + ], + [ + "matched", + -11.722695350646973 + ], + [ + "rios", + -11.72276496887207 + ], + [ + "▁surprising", + -11.722846031188965 + ], + [ + "teilen", + -11.722867965698242 + ], + [ + "▁difficulties", + -11.72294807434082 + ], + [ + "tab", + -11.723064422607422 + ], + [ + "▁Leader", + -11.723128318786621 + ], + [ + "implementing", + -11.723372459411621 + ], + [ + "▁workforce", + -11.723384857177734 + ], + [ + "▁bereit", + -11.723503112792969 + ], + [ + "vig", + -11.72352123260498 + ], + [ + "▁LOVE", + -11.723580360412598 + ], + [ + "▁instances", + -11.723954200744629 + ], + [ + "▁frumos", + -11.723960876464844 + ], + [ + "▁Java", + -11.723974227905273 + ], + [ + "▁arrest", + -11.723977088928223 + ], + [ + "▁apparent", + -11.724152565002441 + ], + [ + "▁hence", + -11.724200248718262 + ], + [ + "▁entwickelt", + -11.72437572479248 + ], + [ + "▁Fra", + -11.724471092224121 + ], + [ + "▁prend", + -11.724486351013184 + ], + [ + "ließ", + -11.724522590637207 + ], + [ + "▁drawer", + -11.724671363830566 + ], + [ + "ARD", + -11.724926948547363 + ], + [ + "▁caring", + -11.72499942779541 + ], + [ + "▁wollte", + -11.725024223327637 + ], + [ + "▁vielleicht", + -11.72511100769043 + ], + [ + "▁iconic", + -11.725324630737305 + ], + [ + "äch", + -11.72552490234375 + ], + [ + "abel", + -11.725639343261719 + ], + [ + "▁génér", + -11.72570514678955 + ], + [ + "ault", + -11.725727081298828 + ], + [ + "▁alternatives", + -11.725909233093262 + ], + [ + "think", + -11.726025581359863 + ], + [ + "ро", + -11.726055145263672 + ], + [ + "whereas", + -11.726058006286621 + ], + [ + "erei", + -11.726366996765137 + ], + [ + "▁Eagle", + -11.726766586303711 + ], + [ + "situé", + -11.72704792022705 + ], + [ + "▁laboratory", + -11.727157592773438 + ], + [ + "▁Nutzung", + -11.727256774902344 + ], + [ + "▁Bathroom", + -11.72728157043457 + ], + [ + "▁loaded", + -11.727293968200684 + ], + [ + "niste", + -11.727408409118652 + ], + [ + "som", + -11.727429389953613 + ], + [ + "▁aucun", + -11.727666854858398 + ], + [ + "gebracht", + -11.727676391601562 + ], + [ + "▁tomb", + -11.727771759033203 + ], + [ + "▁Ty", + -11.727785110473633 + ], + [ + "▁afaceri", + -11.727971076965332 + ], + [ + "tex", + -11.72803783416748 + ], + [ + "ality", + -11.728147506713867 + ], + [ + "▁identification", + -11.728150367736816 + ], + [ + "▁cultiv", + -11.728255271911621 + ], + [ + "Not", + -11.728326797485352 + ], + [ + "▁acestor", + -11.72846508026123 + ], + [ + "▁PhD", + -11.728466033935547 + ], + [ + "nell", + -11.728470802307129 + ], + [ + "▁dial", + -11.728594779968262 + ], + [ + "chro", + -11.728673934936523 + ], + [ + "▁specifications", + -11.728682518005371 + ], + [ + "anii", + -11.72877025604248 + ], + [ + "▁cloth", + -11.728836059570312 + ], + [ + "▁highway", + -11.728914260864258 + ], + [ + "▁Vitamin", + -11.729118347167969 + ], + [ + "▁indication", + -11.729349136352539 + ], + [ + "80%", + -11.72959041595459 + ], + [ + "▁Lion", + -11.729681015014648 + ], + [ + "▁10,", + -11.729693412780762 + ], + [ + "▁Werk", + -11.72974967956543 + ], + [ + "▁combin", + -11.729803085327148 + ], + [ + "▁releases", + -11.7298583984375 + ], + [ + "LL", + -11.730006217956543 + ], + [ + "ktor", + -11.730186462402344 + ], + [ + "ufgrund", + -11.73018741607666 + ], + [ + "calc", + -11.73034381866455 + ], + [ + "▁accomplished", + -11.730606079101562 + ], + [ + "▁los", + -11.730619430541992 + ], + [ + "▁distant", + -11.730688095092773 + ], + [ + "▁secteur", + -11.73068904876709 + ], + [ + "logue", + -11.730781555175781 + ], + [ + "▁betting", + -11.730792999267578 + ], + [ + "elf", + -11.731180191040039 + ], + [ + "puteti", + -11.73123550415039 + ], + [ + "▁Moment", + -11.731236457824707 + ], + [ + "▁scoring", + -11.731548309326172 + ], + [ + "▁freuen", + -11.731572151184082 + ], + [ + "▁fastest", + -11.731873512268066 + ], + [ + "▁directors", + -11.732080459594727 + ], + [ + "▁fame", + -11.732234954833984 + ], + [ + "▁complaint", + -11.732239723205566 + ], + [ + "▁Ep", + -11.732314109802246 + ], + [ + "▁delicate", + -11.732329368591309 + ], + [ + "annonce", + -11.73240852355957 + ], + [ + "ext", + -11.732454299926758 + ], + [ + "▁quit", + -11.732473373413086 + ], + [ + "▁Cop", + -11.73253345489502 + ], + [ + "prop", + -11.732565879821777 + ], + [ + "365", + -11.732742309570312 + ], + [ + "▁Say", + -11.732879638671875 + ], + [ + "▁internationale", + -11.733064651489258 + ], + [ + "cott", + -11.733213424682617 + ], + [ + "▁Whatever", + -11.733261108398438 + ], + [ + "▁admir", + -11.733261108398438 + ], + [ + "▁bucur", + -11.733549118041992 + ], + [ + "▁entity", + -11.733779907226562 + ], + [ + "▁dancing", + -11.733837127685547 + ], + [ + "▁printre", + -11.733892440795898 + ], + [ + "▁meditation", + -11.734396934509277 + ], + [ + "▁avis", + -11.734416961669922 + ], + [ + "▁1988", + -11.73447036743164 + ], + [ + "10.", + -11.734506607055664 + ], + [ + "▁worker", + -11.734638214111328 + ], + [ + "▁$100", + -11.734784126281738 + ], + [ + "▁contrôle", + -11.7349853515625 + ], + [ + "▁insist", + -11.734997749328613 + ], + [ + "ements", + -11.73505973815918 + ], + [ + "izate", + -11.735163688659668 + ], + [ + "▁tied", + -11.735332489013672 + ], + [ + "▁correspond", + -11.735396385192871 + ], + [ + "▁apartments", + -11.735547065734863 + ], + [ + "▁2009.", + -11.735599517822266 + ], + [ + "▁tiles", + -11.735624313354492 + ], + [ + "▁boots", + -11.735639572143555 + ], + [ + "▁laundry", + -11.735673904418945 + ], + [ + "▁Coffee", + -11.735674858093262 + ], + [ + "▁CV", + -11.735727310180664 + ], + [ + "▁composed", + -11.736035346984863 + ], + [ + "atom", + -11.73622989654541 + ], + [ + "▁shore", + -11.736270904541016 + ], + [ + "▁marijuana", + -11.736312866210938 + ], + [ + "plic", + -11.73648452758789 + ], + [ + "▁Zahl", + -11.736649513244629 + ], + [ + "depth", + -11.73682689666748 + ], + [ + "▁Egypt", + -11.736854553222656 + ], + [ + "▁NFL", + -11.736906051635742 + ], + [ + "▁12,", + -11.736922264099121 + ], + [ + "▁pollution", + -11.736964225769043 + ], + [ + "▁Vergleich", + -11.73704719543457 + ], + [ + "û", + -11.737109184265137 + ], + [ + "▁nurse", + -11.737153053283691 + ], + [ + "▁Susan", + -11.737173080444336 + ], + [ + "▁verify", + -11.737393379211426 + ], + [ + "▁kon", + -11.737504959106445 + ], + [ + "▁ulei", + -11.7376127243042 + ], + [ + "▁Sept", + -11.737699508666992 + ], + [ + "▁Location", + -11.737908363342285 + ], + [ + "▁frozen", + -11.737991333007812 + ], + [ + "good", + -11.73802661895752 + ], + [ + "▁cine", + -11.738066673278809 + ], + [ + "forming", + -11.738181114196777 + ], + [ + "▁Near", + -11.738391876220703 + ], + [ + "▁Tab", + -11.738545417785645 + ], + [ + "▁Alexandr", + -11.738600730895996 + ], + [ + "ст", + -11.73863697052002 + ], + [ + "CK", + -11.738656044006348 + ], + [ + "▁loads", + -11.738948822021484 + ], + [ + "▁disorders", + -11.738957405090332 + ], + [ + "hip", + -11.739596366882324 + ], + [ + "▁blessing", + -11.73987102508545 + ], + [ + "▁vechi", + -11.73997688293457 + ], + [ + "▁Bookmark", + -11.740296363830566 + ], + [ + "SON", + -11.74036979675293 + ], + [ + "books", + -11.740428924560547 + ], + [ + "▁tropical", + -11.740438461303711 + ], + [ + "▁Garten", + -11.740447044372559 + ], + [ + "ôt", + -11.740760803222656 + ], + [ + "tures", + -11.740827560424805 + ], + [ + "▁obligation", + -11.741010665893555 + ], + [ + "▁admin", + -11.741011619567871 + ], + [ + "▁sélection", + -11.741106986999512 + ], + [ + "disp", + -11.741172790527344 + ], + [ + "▁Anyone", + -11.741225242614746 + ], + [ + "keeper", + -11.74138355255127 + ], + [ + "▁konnten", + -11.741521835327148 + ], + [ + "▁existe", + -11.741615295410156 + ], + [ + "▁Rund", + -11.741798400878906 + ], + [ + "▁retailers", + -11.74184799194336 + ], + [ + "folg", + -11.741948127746582 + ], + [ + "▁urmare", + -11.742019653320312 + ], + [ + "▁Liebe", + -11.742321014404297 + ], + [ + "▁actors", + -11.742422103881836 + ], + [ + "▁Druck", + -11.742618560791016 + ], + [ + "lien", + -11.742752075195312 + ], + [ + "sian", + -11.742847442626953 + ], + [ + "▁partid", + -11.74304485321045 + ], + [ + "▁loin", + -11.743114471435547 + ], + [ + "AZ", + -11.743119239807129 + ], + [ + "oasă", + -11.743501663208008 + ], + [ + "▁inclusiv", + -11.743656158447266 + ], + [ + "TD", + -11.743680953979492 + ], + [ + "▁anului", + -11.743766784667969 + ], + [ + "poc", + -11.743844985961914 + ], + [ + "▁musique", + -11.743972778320312 + ], + [ + "▁Hart", + -11.743997573852539 + ], + [ + "Sh", + -11.744283676147461 + ], + [ + "html", + -11.744290351867676 + ], + [ + "▁serial", + -11.744318008422852 + ], + [ + "țele", + -11.744369506835938 + ], + [ + "inning", + -11.744544982910156 + ], + [ + "▁Bureau", + -11.744555473327637 + ], + [ + "▁rush", + -11.744626998901367 + ], + [ + "▁deosebit", + -11.744637489318848 + ], + [ + "▁Wort", + -11.744648933410645 + ], + [ + "▁Thailand", + -11.744688987731934 + ], + [ + "▁Language", + -11.745193481445312 + ], + [ + "▁Governor", + -11.745213508605957 + ], + [ + "▁Later", + -11.74525260925293 + ], + [ + "rilor", + -11.745282173156738 + ], + [ + "▁activités", + -11.745372772216797 + ], + [ + "schaffen", + -11.745598793029785 + ], + [ + "▁harvest", + -11.74567985534668 + ], + [ + "▁municipal", + -11.745783805847168 + ], + [ + "einander", + -11.74600601196289 + ], + [ + "▁fingers", + -11.746383666992188 + ], + [ + "▁sculpture", + -11.74638843536377 + ], + [ + "▁Bien", + -11.746390342712402 + ], + [ + "▁departments", + -11.746562957763672 + ], + [ + "▁période", + -11.746746063232422 + ], + [ + "▁jeune", + -11.746960639953613 + ], + [ + "▁governments", + -11.74710750579834 + ], + [ + "uter", + -11.747179985046387 + ], + [ + "Aceste", + -11.747220039367676 + ], + [ + "▁Deal", + -11.747243881225586 + ], + [ + "▁Equipment", + -11.74726390838623 + ], + [ + "nous", + -11.747300148010254 + ], + [ + "▁gate", + -11.747315406799316 + ], + [ + "▁meta", + -11.747447967529297 + ], + [ + "▁stiu", + -11.747474670410156 + ], + [ + "fold", + -11.747486114501953 + ], + [ + "▁seule", + -11.747523307800293 + ], + [ + "▁varied", + -11.747541427612305 + ], + [ + "hit", + -11.747635841369629 + ], + [ + "▁DIY", + -11.74768352508545 + ], + [ + "▁lemn", + -11.747685432434082 + ], + [ + "OB", + -11.747865676879883 + ], + [ + "▁colorful", + -11.748095512390137 + ], + [ + "▁câ", + -11.74826431274414 + ], + [ + "▁semester", + -11.74830150604248 + ], + [ + "▁dealer", + -11.748575210571289 + ], + [ + "nett", + -11.748788833618164 + ], + [ + "▁shortly", + -11.748932838439941 + ], + [ + "▁Driver", + -11.748983383178711 + ], + [ + "culture", + -11.749052047729492 + ], + [ + "▁permitted", + -11.749072074890137 + ], + [ + "▁sorts", + -11.749432563781738 + ], + [ + "▁crop", + -11.74999713897705 + ], + [ + "▁valoare", + -11.75046157836914 + ], + [ + "▁analog", + -11.750576972961426 + ], + [ + "▁excuse", + -11.750588417053223 + ], + [ + "▁modèle", + -11.750657081604004 + ], + [ + "When", + -11.75068473815918 + ], + [ + "▁march", + -11.750744819641113 + ], + [ + "haz", + -11.750978469848633 + ], + [ + "▁minimize", + -11.750992774963379 + ], + [ + "traction", + -11.751028060913086 + ], + [ + "▁caracter", + -11.752382278442383 + ], + [ + "▁modules", + -11.7523832321167 + ], + [ + "clu", + -11.75244426727295 + ], + [ + "ţional", + -11.752482414245605 + ], + [ + "▁breach", + -11.752562522888184 + ], + [ + "▁priced", + -11.752614974975586 + ], + [ + "▁attorneys", + -11.752644538879395 + ], + [ + "▁implant", + -11.752645492553711 + ], + [ + "▁ANY", + -11.752655029296875 + ], + [ + "dition", + -11.752707481384277 + ], + [ + "▁trials", + -11.752838134765625 + ], + [ + "▁Nas", + -11.75293254852295 + ], + [ + "Pre", + -11.752970695495605 + ], + [ + "lorsque", + -11.752979278564453 + ], + [ + "plin", + -11.753050804138184 + ], + [ + "Er", + -11.753056526184082 + ], + [ + "▁Dom", + -11.753067970275879 + ], + [ + "▁tire", + -11.753190040588379 + ], + [ + "sili", + -11.753233909606934 + ], + [ + "▁coins", + -11.753350257873535 + ], + [ + "▁rend", + -11.753470420837402 + ], + [ + "▁reliability", + -11.753503799438477 + ], + [ + "▁Analysis", + -11.753508567810059 + ], + [ + "▁trails", + -11.753692626953125 + ], + [ + "trägt", + -11.753762245178223 + ], + [ + "▁Kansas", + -11.753908157348633 + ], + [ + "▁responsive", + -11.75390911102295 + ], + [ + "▁disappear", + -11.753988265991211 + ], + [ + "▁stakeholders", + -11.754022598266602 + ], + [ + "▁aplica", + -11.754164695739746 + ], + [ + "▁imi", + -11.754180908203125 + ], + [ + "▁Laura", + -11.754369735717773 + ], + [ + "▁Terms", + -11.75440788269043 + ], + [ + "450", + -11.754460334777832 + ], + [ + "▁voltage", + -11.754483222961426 + ], + [ + "▁Gel", + -11.754544258117676 + ], + [ + "▁qualities", + -11.754549026489258 + ], + [ + "▁qualifi", + -11.754603385925293 + ], + [ + "▁Mé", + -11.754735946655273 + ], + [ + "bereit", + -11.754829406738281 + ], + [ + "gleich", + -11.754875183105469 + ], + [ + "▁voting", + -11.754961013793945 + ], + [ + "▁trademark", + -11.755128860473633 + ], + [ + "▁2.5", + -11.75515079498291 + ], + [ + "ND", + -11.755438804626465 + ], + [ + "▁Kelly", + -11.755470275878906 + ], + [ + "▁weiteren", + -11.755559921264648 + ], + [ + "▁filters", + -11.75562572479248 + ], + [ + "▁coût", + -11.75562858581543 + ], + [ + "jur", + -11.755765914916992 + ], + [ + "acre", + -11.755804061889648 + ], + [ + "▁retired", + -11.756022453308105 + ], + [ + "▁Engine", + -11.756205558776855 + ], + [ + "▁président", + -11.756264686584473 + ], + [ + "ajul", + -11.756307601928711 + ], + [ + "▁GA", + -11.756425857543945 + ], + [ + "rät", + -11.75666332244873 + ], + [ + "▁instructor", + -11.756669998168945 + ], + [ + "▁Allen", + -11.75668716430664 + ], + [ + "▁Delhi", + -11.756771087646484 + ], + [ + "▁cure", + -11.756844520568848 + ], + [ + "seite", + -11.756898880004883 + ], + [ + "coming", + -11.756914138793945 + ], + [ + "▁mixing", + -11.756963729858398 + ], + [ + "▁Kno", + -11.757041931152344 + ], + [ + "▁Sure", + -11.757079124450684 + ], + [ + "▁hired", + -11.757102012634277 + ], + [ + "▁participated", + -11.757196426391602 + ], + [ + "Count", + -11.757320404052734 + ], + [ + "treffen", + -11.757355690002441 + ], + [ + "▁54", + -11.75735855102539 + ], + [ + "▁rings", + -11.75735855102539 + ], + [ + "▁Thor", + -11.757359504699707 + ], + [ + "éro", + -11.75744915008545 + ], + [ + "▁buttons", + -11.757488250732422 + ], + [ + "▁47", + -11.757539749145508 + ], + [ + "▁Tel", + -11.757694244384766 + ], + [ + "▁suport", + -11.757776260375977 + ], + [ + "▁rhythm", + -11.75782585144043 + ], + [ + "▁Theater", + -11.758113861083984 + ], + [ + "▁informatii", + -11.758121490478516 + ], + [ + "hält", + -11.758201599121094 + ], + [ + "▁ouvert", + -11.758238792419434 + ], + [ + "fewer", + -11.75828742980957 + ], + [ + "▁alumni", + -11.758466720581055 + ], + [ + "▁valley", + -11.758508682250977 + ], + [ + "tial", + -11.75860595703125 + ], + [ + "***", + -11.758782386779785 + ], + [ + "kri", + -11.75905704498291 + ], + [ + "▁accidents", + -11.759113311767578 + ], + [ + "▁barrel", + -11.759170532226562 + ], + [ + "mobil", + -11.759310722351074 + ], + [ + "etti", + -11.759437561035156 + ], + [ + "▁immigration", + -11.759515762329102 + ], + [ + "▁poveste", + -11.759528160095215 + ], + [ + "hren", + -11.759669303894043 + ], + [ + "hydr", + -11.759719848632812 + ], + [ + "▁tweet", + -11.759744644165039 + ], + [ + "▁zip", + -11.759872436523438 + ], + [ + "▁Bonus", + -11.760189056396484 + ], + [ + "ordnung", + -11.760287284851074 + ], + [ + "liber", + -11.76046085357666 + ], + [ + "▁Navy", + -11.760591506958008 + ], + [ + "▁agreements", + -11.760612487792969 + ], + [ + "▁detection", + -11.7607421875 + ], + [ + "DF", + -11.760762214660645 + ], + [ + "hur", + -11.760774612426758 + ], + [ + "0.00", + -11.760798454284668 + ], + [ + "▁07", + -11.760866165161133 + ], + [ + "etta", + -11.760884284973145 + ], + [ + "▁13,", + -11.760887145996094 + ], + [ + "rolled", + -11.760970115661621 + ], + [ + "▁injection", + -11.761002540588379 + ], + [ + "mig", + -11.761017799377441 + ], + [ + "wach", + -11.761107444763184 + ], + [ + "▁choisir", + -11.761515617370605 + ], + [ + "▁professionnels", + -11.76159954071045 + ], + [ + "▁Tower", + -11.76169490814209 + ], + [ + "▁neighbor", + -11.76170539855957 + ], + [ + "deutschen", + -11.76187801361084 + ], + [ + "▁luxurious", + -11.76201057434082 + ], + [ + "▁walks", + -11.762033462524414 + ], + [ + "reti", + -11.762046813964844 + ], + [ + "▁Pad", + -11.762085914611816 + ], + [ + "wise", + -11.762297630310059 + ], + [ + "▁exhaust", + -11.762307167053223 + ], + [ + "▁demonstration", + -11.762582778930664 + ], + [ + "▁agricultural", + -11.762667655944824 + ], + [ + "Upon", + -11.762885093688965 + ], + [ + "▁Blu", + -11.76292610168457 + ], + [ + "atorul", + -11.762967109680176 + ], + [ + "amour", + -11.762984275817871 + ], + [ + "issant", + -11.763004302978516 + ], + [ + "▁delighted", + -11.763031959533691 + ], + [ + "rita", + -11.763113021850586 + ], + [ + "requiring", + -11.763195037841797 + ], + [ + "ivity", + -11.763216972351074 + ], + [ + "▁Unser", + -11.763306617736816 + ], + [ + "FP", + -11.763379096984863 + ], + [ + "fait", + -11.763533592224121 + ], + [ + "dite", + -11.763562202453613 + ], + [ + "kul", + -11.763716697692871 + ], + [ + "arth", + -11.76376724243164 + ], + [ + "▁Ker", + -11.763815879821777 + ], + [ + "torilor", + -11.763816833496094 + ], + [ + "stage", + -11.763866424560547 + ], + [ + "▁HTML", + -11.76398754119873 + ], + [ + "▁Wheel", + -11.764005661010742 + ], + [ + "▁quelque", + -11.76414680480957 + ], + [ + "▁Ou", + -11.764196395874023 + ], + [ + "▁considerable", + -11.764277458190918 + ], + [ + "▁Sco", + -11.76458740234375 + ], + [ + "▁donations", + -11.76481819152832 + ], + [ + "dessen", + -11.765002250671387 + ], + [ + "▁pourquoi", + -11.765039443969727 + ], + [ + "▁Bow", + -11.765189170837402 + ], + [ + "▁Dupa", + -11.76522445678711 + ], + [ + "ska", + -11.765707015991211 + ], + [ + "hot", + -11.765732765197754 + ], + [ + "▁drove", + -11.765849113464355 + ], + [ + "▁oppos", + -11.766018867492676 + ], + [ + "▁hiking", + -11.766035079956055 + ], + [ + "▁Boot", + -11.766081809997559 + ], + [ + "One", + -11.766087532043457 + ], + [ + "▁guvern", + -11.766094207763672 + ], + [ + "▁15,", + -11.766400337219238 + ], + [ + "scheid", + -11.766437530517578 + ], + [ + "▁Miet", + -11.766458511352539 + ], + [ + "▁Technical", + -11.766767501831055 + ], + [ + "▁Dal", + -11.7669038772583 + ], + [ + "▁Metro", + -11.766966819763184 + ], + [ + "▁Baker", + -11.767215728759766 + ], + [ + "▁trece", + -11.767252922058105 + ], + [ + "tained", + -11.767302513122559 + ], + [ + "block", + -11.76738452911377 + ], + [ + "▁wander", + -11.767401695251465 + ], + [ + "▁penalty", + -11.76742172241211 + ], + [ + "▁shipped", + -11.767509460449219 + ], + [ + "▁30%", + -11.767518043518066 + ], + [ + "group", + -11.767541885375977 + ], + [ + "▁brothers", + -11.767701148986816 + ], + [ + "▁comanda", + -11.767777442932129 + ], + [ + "▁retreat", + -11.767789840698242 + ], + [ + "▁Movie", + -11.767802238464355 + ], + [ + "PU", + -11.76787281036377 + ], + [ + "▁Jun", + -11.767885208129883 + ], + [ + "▁$6", + -11.767969131469727 + ], + [ + "▁Fal", + -11.768054962158203 + ], + [ + "▁Palestinian", + -11.768075942993164 + ], + [ + "▁soccer", + -11.768217086791992 + ], + [ + "▁Autor", + -11.768254280090332 + ], + [ + "▁chamber", + -11.768266677856445 + ], + [ + "nement", + -11.768463134765625 + ], + [ + "▁offense", + -11.768610954284668 + ], + [ + "▁gig", + -11.768631935119629 + ], + [ + "▁abandon", + -11.768691062927246 + ], + [ + "▁Kraft", + -11.768783569335938 + ], + [ + "▁Medicare", + -11.768784523010254 + ], + [ + "▁soap", + -11.768835067749023 + ], + [ + "▁Fur", + -11.768990516662598 + ], + [ + "▁conditioning", + -11.769103050231934 + ], + [ + "rained", + -11.769132614135742 + ], + [ + "▁puts", + -11.769134521484375 + ], + [ + "▁cod", + -11.76930046081543 + ], + [ + "lassen", + -11.76941967010498 + ], + [ + "FL", + -11.769600868225098 + ], + [ + "▁komplett", + -11.769664764404297 + ], + [ + "▁entscheiden", + -11.769665718078613 + ], + [ + "▁Hour", + -11.769691467285156 + ], + [ + "?!", + -11.770040512084961 + ], + [ + "Stream", + -11.770145416259766 + ], + [ + "▁Grad", + -11.770209312438965 + ], + [ + "▁gently", + -11.770231246948242 + ], + [ + "▁poetry", + -11.770429611206055 + ], + [ + "▁secured", + -11.770438194274902 + ], + [ + "oph", + -11.770466804504395 + ], + [ + "hop", + -11.770561218261719 + ], + [ + "handel", + -11.770634651184082 + ], + [ + "▁besoins", + -11.770658493041992 + ], + [ + "got", + -11.770824432373047 + ], + [ + "▁Chrome", + -11.77088737487793 + ], + [ + "ILL", + -11.770930290222168 + ], + [ + "▁Schritt", + -11.771014213562012 + ], + [ + "▁spell", + -11.771063804626465 + ], + [ + "▁grinding", + -11.771334648132324 + ], + [ + "▁ramp", + -11.77144718170166 + ], + [ + "▁mama", + -11.7716064453125 + ], + [ + "▁bottles", + -11.77180290222168 + ], + [ + "▁canvas", + -11.771906852722168 + ], + [ + "▁ecosystem", + -11.77194595336914 + ], + [ + "aţii", + -11.771967887878418 + ], + [ + "cellular", + -11.772085189819336 + ], + [ + "▁Spin", + -11.772164344787598 + ], + [ + "▁Discover", + -11.772217750549316 + ], + [ + "-17", + -11.772322654724121 + ], + [ + "▁feeding", + -11.77246379852295 + ], + [ + "▁stops", + -11.7725191116333 + ], + [ + "▁haute", + -11.772552490234375 + ], + [ + "▁Entscheidung", + -11.7725830078125 + ], + [ + "▁semble", + -11.772590637207031 + ], + [ + "▁acele", + -11.772857666015625 + ], + [ + "▁Walk", + -11.773154258728027 + ], + [ + "▁joke", + -11.773180961608887 + ], + [ + "▁Fed", + -11.773294448852539 + ], + [ + "climat", + -11.773306846618652 + ], + [ + "▁Lot", + -11.773460388183594 + ], + [ + "runner", + -11.773551940917969 + ], + [ + "▁flip", + -11.773786544799805 + ], + [ + "▁werde", + -11.773818016052246 + ], + [ + "▁Deck", + -11.77417278289795 + ], + [ + "bala", + -11.774296760559082 + ], + [ + "▁sacrifice", + -11.774375915527344 + ], + [ + "cid", + -11.774388313293457 + ], + [ + "him", + -11.774569511413574 + ], + [ + "zahlen", + -11.774587631225586 + ], + [ + "▁heater", + -11.774596214294434 + ], + [ + "formed", + -11.774619102478027 + ], + [ + "plus", + -11.774711608886719 + ], + [ + "▁util", + -11.774742126464844 + ], + [ + "rama", + -11.775019645690918 + ], + [ + "(4)", + -11.7750244140625 + ], + [ + "▁knife", + -11.775111198425293 + ], + [ + "▁traditions", + -11.77520751953125 + ], + [ + "▁dip", + -11.775357246398926 + ], + [ + "kill", + -11.775405883789062 + ], + [ + "▁Rich", + -11.775418281555176 + ], + [ + "▁DI", + -11.775555610656738 + ], + [ + "▁containers", + -11.775677680969238 + ], + [ + "▁locuri", + -11.775728225708008 + ], + [ + "▁continent", + -11.775797843933105 + ], + [ + "teilung", + -11.776005744934082 + ], + [ + "▁vreme", + -11.776028633117676 + ], + [ + "organisation", + -11.776126861572266 + ], + [ + "serie", + -11.776135444641113 + ], + [ + "▁Diamond", + -11.776204109191895 + ], + [ + "magazin", + -11.77627944946289 + ], + [ + "▁poster", + -11.776455879211426 + ], + [ + "▁passenger", + -11.7765474319458 + ], + [ + "▁soldiers", + -11.776552200317383 + ], + [ + "▁urgent", + -11.776616096496582 + ], + [ + "▁Lip", + -11.77680778503418 + ], + [ + "▁aşa", + -11.776972770690918 + ], + [ + "▁BO", + -11.777024269104004 + ], + [ + "▁somebody", + -11.777076721191406 + ], + [ + "▁silence", + -11.777132034301758 + ], + [ + "cop", + -11.777359962463379 + ], + [ + "▁Burn", + -11.77749252319336 + ], + [ + "▁stopping", + -11.777544021606445 + ], + [ + "▁essence", + -11.777568817138672 + ], + [ + "▁hitting", + -11.777762413024902 + ], + [ + "▁producers", + -11.777801513671875 + ], + [ + "▁fibre", + -11.777894020080566 + ], + [ + "▁seasonal", + -11.777960777282715 + ], + [ + "▁tara", + -11.778096199035645 + ], + [ + "▁Jose", + -11.778099060058594 + ], + [ + "▁Better", + -11.77825927734375 + ], + [ + "▁steep", + -11.778295516967773 + ], + [ + "Alors", + -11.778353691101074 + ], + [ + "▁collecting", + -11.778507232666016 + ], + [ + "vre", + -11.778635025024414 + ], + [ + "▁disabled", + -11.77863883972168 + ], + [ + "▁voters", + -11.778679847717285 + ], + [ + "consuming", + -11.779092788696289 + ], + [ + "deemed", + -11.779115676879883 + ], + [ + "éra", + -11.779227256774902 + ], + [ + "opération", + -11.779273986816406 + ], + [ + "▁roller", + -11.779305458068848 + ], + [ + "Rather", + -11.779321670532227 + ], + [ + "▁leider", + -11.779370307922363 + ], + [ + "▁IV", + -11.779434204101562 + ], + [ + "▁erreichen", + -11.779473304748535 + ], + [ + "▁charging", + -11.779657363891602 + ], + [ + "tions", + -11.77973747253418 + ], + [ + "tiques", + -11.779861450195312 + ], + [ + "▁formats", + -11.779876708984375 + ], + [ + "▁painful", + -11.78000545501709 + ], + [ + "▁eager", + -11.780061721801758 + ], + [ + "generation", + -11.780137062072754 + ], + [ + "anna", + -11.780235290527344 + ], + [ + "▁races", + -11.780323028564453 + ], + [ + "force", + -11.780357360839844 + ], + [ + "▁ferm", + -11.780522346496582 + ], + [ + "▁breathing", + -11.780618667602539 + ], + [ + "▁offen", + -11.780648231506348 + ], + [ + "▁minds", + -11.780805587768555 + ], + [ + "▁musste", + -11.780832290649414 + ], + [ + "▁Vision", + -11.780888557434082 + ], + [ + "▁Installation", + -11.780988693237305 + ], + [ + "▁hesitate", + -11.781002044677734 + ], + [ + "▁somit", + -11.781023979187012 + ], + [ + "hôtel", + -11.781044006347656 + ], + [ + "cab", + -11.781235694885254 + ], + [ + "-16", + -11.781312942504883 + ], + [ + "▁Visual", + -11.781418800354004 + ], + [ + "intérêt", + -11.781524658203125 + ], + [ + "▁apel", + -11.781831741333008 + ], + [ + "therapy", + -11.782089233398438 + ], + [ + "volt", + -11.78225040435791 + ], + [ + "▁Rou", + -11.782439231872559 + ], + [ + "▁efficace", + -11.782464027404785 + ], + [ + "▁architectural", + -11.782605171203613 + ], + [ + "▁privilege", + -11.782670974731445 + ], + [ + "▁treating", + -11.782711029052734 + ], + [ + "▁Tam", + -11.782722473144531 + ], + [ + "tsch", + -11.782744407653809 + ], + [ + "building", + -11.782750129699707 + ], + [ + "▁associations", + -11.782929420471191 + ], + [ + "▁Consumer", + -11.783424377441406 + ], + [ + "▁Lim", + -11.783496856689453 + ], + [ + "newest", + -11.7835054397583 + ], + [ + "▁față", + -11.783675193786621 + ], + [ + "▁ships", + -11.783732414245605 + ], + [ + "lev", + -11.78373908996582 + ], + [ + "raft", + -11.783817291259766 + ], + [ + "▁variations", + -11.783845901489258 + ], + [ + "▁noua", + -11.78386402130127 + ], + [ + "▁Cab", + -11.784063339233398 + ], + [ + "1.2", + -11.78409481048584 + ], + [ + "▁ocazi", + -11.784347534179688 + ], + [ + "▁recommendation", + -11.784449577331543 + ], + [ + "titled", + -11.78445053100586 + ], + [ + "▁invoice", + -11.78459644317627 + ], + [ + "▁noastra", + -11.784647941589355 + ], + [ + "kur", + -11.784700393676758 + ], + [ + "issent", + -11.784758567810059 + ], + [ + "base", + -11.784778594970703 + ], + [ + "hä", + -11.7848482131958 + ], + [ + "888", + -11.784914016723633 + ], + [ + "▁declar", + -11.784941673278809 + ], + [ + "▁Football", + -11.7850341796875 + ], + [ + "▁Indeed", + -11.785293579101562 + ], + [ + "▁weapon", + -11.785333633422852 + ], + [ + "▁destroyed", + -11.785457611083984 + ], + [ + "▁enormous", + -11.785594940185547 + ], + [ + "▁blanket", + -11.7857084274292 + ], + [ + "▁aktiv", + -11.785759925842285 + ], + [ + "raw", + -11.785791397094727 + ], + [ + "▁computing", + -11.785823822021484 + ], + [ + "6)", + -11.785955429077148 + ], + [ + "▁Dam", + -11.786152839660645 + ], + [ + "▁confort", + -11.786174774169922 + ], + [ + "▁Gla", + -11.786198616027832 + ], + [ + "hardly", + -11.786242485046387 + ], + [ + "▁annually", + -11.786269187927246 + ], + [ + "▁destinations", + -11.786401748657227 + ], + [ + "▁guilty", + -11.786404609680176 + ], + [ + "▁scholarship", + -11.786439895629883 + ], + [ + "▁harmful", + -11.786453247070312 + ], + [ + "▁2-3", + -11.786616325378418 + ], + [ + "▁Race", + -11.786638259887695 + ], + [ + "▁hypo", + -11.78671646118164 + ], + [ + "▁shorter", + -11.786733627319336 + ], + [ + "quest", + -11.78675651550293 + ], + [ + "uze", + -11.786812782287598 + ], + [ + "izi", + -11.787005424499512 + ], + [ + "OO", + -11.787095069885254 + ], + [ + "▁Schutz", + -11.787097930908203 + ], + [ + "▁Teilnehmer", + -11.787185668945312 + ], + [ + "▁profiles", + -11.787199020385742 + ], + [ + "▁sustainability", + -11.78747272491455 + ], + [ + "▁emb", + -11.787489891052246 + ], + [ + "▁Augen", + -11.787516593933105 + ], + [ + "▁outdoors", + -11.787542343139648 + ], + [ + "▁Individual", + -11.787548065185547 + ], + [ + "▁pou", + -11.78757095336914 + ], + [ + "▁Together", + -11.787575721740723 + ], + [ + "HT", + -11.787674903869629 + ], + [ + "suited", + -11.787755012512207 + ], + [ + "▁tro", + -11.787782669067383 + ], + [ + "▁Strom", + -11.787805557250977 + ], + [ + "▁achievement", + -11.78799819946289 + ], + [ + "▁Range", + -11.78815746307373 + ], + [ + "tory", + -11.78817081451416 + ], + [ + "▁distribute", + -11.788250923156738 + ], + [ + "▁letzte", + -11.788276672363281 + ], + [ + "incorporated", + -11.788287162780762 + ], + [ + "▁Kir", + -11.788325309753418 + ], + [ + "ruf", + -11.78839111328125 + ], + [ + "▁disappointed", + -11.788543701171875 + ], + [ + "▁referral", + -11.788602828979492 + ], + [ + "flam", + -11.788687705993652 + ], + [ + "▁excessive", + -11.7886962890625 + ], + [ + "▁rapidement", + -11.788743019104004 + ], + [ + "▁Rio", + -11.78875732421875 + ], + [ + "aţia", + -11.788951873779297 + ], + [ + "▁meuble", + -11.78912353515625 + ], + [ + "▁2008.", + -11.789135932922363 + ], + [ + "▁Gall", + -11.78915023803711 + ], + [ + "▁française", + -11.789369583129883 + ], + [ + "▁ladies", + -11.789695739746094 + ], + [ + "ailed", + -11.789746284484863 + ], + [ + "El", + -11.789834976196289 + ], + [ + "▁wines", + -11.789868354797363 + ], + [ + "▁beispielsweise", + -11.789876937866211 + ], + [ + "▁gamme", + -11.790193557739258 + ], + [ + "▁guided", + -11.79028034210205 + ], + [ + "▁plin", + -11.790339469909668 + ], + [ + "Î", + -11.790390968322754 + ], + [ + "▁True", + -11.790498733520508 + ], + [ + "▁Temple", + -11.790507316589355 + ], + [ + "▁Pic", + -11.790520668029785 + ], + [ + "permalink", + -11.790547370910645 + ], + [ + "▁vedea", + -11.790656089782715 + ], + [ + "▁rank", + -11.790922164916992 + ], + [ + "▁Grill", + -11.791025161743164 + ], + [ + "clin", + -11.791070938110352 + ], + [ + "▁Hab", + -11.791089057922363 + ], + [ + "▁odds", + -11.791125297546387 + ], + [ + "▁anytime", + -11.791146278381348 + ], + [ + "▁Thanksgiving", + -11.791265487670898 + ], + [ + "guard", + -11.791300773620605 + ], + [ + "▁essays", + -11.791389465332031 + ], + [ + "▁PE", + -11.79139518737793 + ], + [ + "▁Rechts", + -11.791494369506836 + ], + [ + "mals", + -11.791751861572266 + ], + [ + "achi", + -11.791762351989746 + ], + [ + "▁Anthony", + -11.791765213012695 + ], + [ + "▁réponse", + -11.792036056518555 + ], + [ + "standing", + -11.79227352142334 + ], + [ + "▁Mol", + -11.792427062988281 + ], + [ + "▁Canon", + -11.792474746704102 + ], + [ + "▁silk", + -11.792515754699707 + ], + [ + "▁pourrait", + -11.79278564453125 + ], + [ + "▁raport", + -11.79280948638916 + ], + [ + "▁Woche", + -11.792889595031738 + ], + [ + "fallen", + -11.79293155670166 + ], + [ + "sting", + -11.79310131072998 + ], + [ + "▁circulation", + -11.793102264404297 + ], + [ + "▁skirt", + -11.7931547164917 + ], + [ + "▁Title", + -11.793187141418457 + ], + [ + "▁17.", + -11.79331111907959 + ], + [ + "▁Touch", + -11.793486595153809 + ], + [ + "▁utilizat", + -11.79352855682373 + ], + [ + "▁Organisation", + -11.793569564819336 + ], + [ + "▁mereu", + -11.793848991394043 + ], + [ + "▁oxygen", + -11.793953895568848 + ], + [ + "lique", + -11.793985366821289 + ], + [ + "▁consume", + -11.794100761413574 + ], + [ + "▁Barb", + -11.794102668762207 + ], + [ + "1.1", + -11.794105529785156 + ], + [ + "▁nicely", + -11.79419231414795 + ], + [ + "▁psychological", + -11.794227600097656 + ], + [ + "▁refrigerator", + -11.794478416442871 + ], + [ + "▁fantasy", + -11.79481029510498 + ], + [ + "▁dispute", + -11.79494571685791 + ], + [ + "▁IBM", + -11.794954299926758 + ], + [ + "▁Nation", + -11.794971466064453 + ], + [ + "▁mobil", + -11.795063972473145 + ], + [ + "▁density", + -11.795201301574707 + ], + [ + "ske", + -11.795230865478516 + ], + [ + "▁intimate", + -11.795313835144043 + ], + [ + "▁tailored", + -11.795319557189941 + ], + [ + "▁outline", + -11.795472145080566 + ], + [ + "TN", + -11.79554557800293 + ], + [ + "mur", + -11.795634269714355 + ], + [ + "GC", + -11.795662879943848 + ], + [ + "they", + -11.795992851257324 + ], + [ + "pag", + -11.796161651611328 + ], + [ + "▁Kultur", + -11.796246528625488 + ], + [ + "grün", + -11.796281814575195 + ], + [ + "voted", + -11.796529769897461 + ], + [ + "▁donné", + -11.796546936035156 + ], + [ + "▁Să", + -11.796629905700684 + ], + [ + "enberg", + -11.796648979187012 + ], + [ + "▁wi", + -11.79686450958252 + ], + [ + "▁Francis", + -11.797057151794434 + ], + [ + "▁Rick", + -11.797157287597656 + ], + [ + "accord", + -11.797403335571289 + ], + [ + "▁Zusammen", + -11.797415733337402 + ], + [ + "▁nonprofit", + -11.797456741333008 + ], + [ + "▁listings", + -11.797615051269531 + ], + [ + "6,", + -11.797908782958984 + ], + [ + "▁maximize", + -11.798253059387207 + ], + [ + "bud", + -11.798345565795898 + ], + [ + "▁promotional", + -11.798486709594727 + ], + [ + "cina", + -11.798646926879883 + ], + [ + "▁potatoes", + -11.79869556427002 + ], + [ + "▁mot", + -11.798871040344238 + ], + [ + "carries", + -11.799384117126465 + ], + [ + "▁stabilit", + -11.799458503723145 + ], + [ + "▁Door", + -11.799574851989746 + ], + [ + "▁downloaded", + -11.799574851989746 + ], + [ + "▁experimental", + -11.799724578857422 + ], + [ + "HD", + -11.7997407913208 + ], + [ + "▁parfois", + -11.79980182647705 + ], + [ + "▁zeigen", + -11.800092697143555 + ], + [ + "▁proposé", + -11.80030632019043 + ], + [ + "▁Verein", + -11.800636291503906 + ], + [ + "▁amestec", + -11.800676345825195 + ], + [ + "▁entreprise", + -11.800718307495117 + ], + [ + "▁PSD", + -11.800841331481934 + ], + [ + "▁bake", + -11.800897598266602 + ], + [ + "▁Rh", + -11.800904273986816 + ], + [ + "▁Mehr", + -11.800922393798828 + ], + [ + "▁purple", + -11.801074028015137 + ], + [ + "▁recipient", + -11.80109691619873 + ], + [ + "rare", + -11.801166534423828 + ], + [ + "egi", + -11.80117130279541 + ], + [ + "ancien", + -11.801176071166992 + ], + [ + "▁risque", + -11.80118465423584 + ], + [ + "▁mystery", + -11.80157470703125 + ], + [ + "mac", + -11.801697731018066 + ], + [ + "ibility", + -11.80182933807373 + ], + [ + "▁Moore", + -11.801881790161133 + ], + [ + "▁flavors", + -11.801911354064941 + ], + [ + "▁trauma", + -11.801966667175293 + ], + [ + "▁automotive", + -11.802112579345703 + ], + [ + "▁Anyway", + -11.802197456359863 + ], + [ + "▁simulation", + -11.802253723144531 + ], + [ + "▁crafts", + -11.802525520324707 + ], + [ + "▁measurements", + -11.80257511138916 + ], + [ + "▁cour", + -11.80257797241211 + ], + [ + "▁tard", + -11.802600860595703 + ], + [ + "nnie", + -11.802881240844727 + ], + [ + "▁Production", + -11.803388595581055 + ], + [ + "▁Cleaning", + -11.803567886352539 + ], + [ + "5,", + -11.803644180297852 + ], + [ + "▁Islamic", + -11.803766250610352 + ], + [ + "▁Gate", + -11.80378532409668 + ], + [ + "bay", + -11.803814888000488 + ], + [ + "HR", + -11.803990364074707 + ], + [ + "▁Offer", + -11.80399227142334 + ], + [ + "▁acceptance", + -11.804107666015625 + ], + [ + "▁Erfahrung", + -11.80412769317627 + ], + [ + "▁environ", + -11.804193496704102 + ], + [ + "▁fancy", + -11.804218292236328 + ], + [ + "▁bullet", + -11.80437183380127 + ], + [ + "organ", + -11.804466247558594 + ], + [ + "▁Peace", + -11.804520606994629 + ], + [ + "▁detalii", + -11.80461597442627 + ], + [ + "▁promised", + -11.804715156555176 + ], + [ + "▁wellness", + -11.804746627807617 + ], + [ + "▁satisfy", + -11.80481243133545 + ], + [ + "▁grants", + -11.805212020874023 + ], + [ + "accueil", + -11.80522346496582 + ], + [ + "▁oben", + -11.805412292480469 + ], + [ + "▁prospects", + -11.80543327331543 + ], + [ + "▁Events", + -11.805513381958008 + ], + [ + "2013", + -11.805569648742676 + ], + [ + "gesehen", + -11.805685997009277 + ], + [ + "▁£1", + -11.805727005004883 + ], + [ + "▁handelt", + -11.805798530578613 + ], + [ + "▁Spieler", + -11.805876731872559 + ], + [ + "▁Virtual", + -11.806145668029785 + ], + [ + "▁bubble", + -11.806239128112793 + ], + [ + "▁Trend", + -11.806254386901855 + ], + [ + "▁sistemul", + -11.806315422058105 + ], + [ + "▁Morgan", + -11.806320190429688 + ], + [ + "▁pole", + -11.806503295898438 + ], + [ + "▁spielen", + -11.806533813476562 + ], + [ + "tür", + -11.806571006774902 + ], + [ + "SCO", + -11.806572914123535 + ], + [ + "▁informative", + -11.806678771972656 + ], + [ + "▁affirm", + -11.806755065917969 + ], + [ + "▁Aqua", + -11.806818008422852 + ], + [ + "▁AR", + -11.806888580322266 + ], + [ + "richten", + -11.807071685791016 + ], + [ + "▁rewards", + -11.807122230529785 + ], + [ + "lub", + -11.807235717773438 + ], + [ + "shot", + -11.807236671447754 + ], + [ + "LM", + -11.807540893554688 + ], + [ + "Up", + -11.807586669921875 + ], + [ + "▁absolut", + -11.807737350463867 + ], + [ + "▁Mart", + -11.807806968688965 + ], + [ + "erweise", + -11.807812690734863 + ], + [ + "BP", + -11.807977676391602 + ], + [ + "▁difficile", + -11.808152198791504 + ], + [ + "▁Document", + -11.808159828186035 + ], + [ + "▁Sweet", + -11.8082914352417 + ], + [ + "▁indicator", + -11.808338165283203 + ], + [ + "▁Boden", + -11.808389663696289 + ], + [ + "mates", + -11.808477401733398 + ], + [ + "▁supporters", + -11.808504104614258 + ], + [ + "▁begun", + -11.808600425720215 + ], + [ + "▁blogging", + -11.808611869812012 + ], + [ + "▁CL", + -11.808663368225098 + ], + [ + "gres", + -11.808692932128906 + ], + [ + "▁preferences", + -11.808738708496094 + ], + [ + "▁screw", + -11.808756828308105 + ], + [ + "▁tutor", + -11.808858871459961 + ], + [ + "▁Additional", + -11.80891227722168 + ], + [ + "▁Bitte", + -11.808976173400879 + ], + [ + "utilizing", + -11.808998107910156 + ], + [ + "▁expérience", + -11.809073448181152 + ], + [ + "▁dur", + -11.809146881103516 + ], + [ + "▁precisely", + -11.809178352355957 + ], + [ + "▁janvier", + -11.809394836425781 + ], + [ + "AGE", + -11.80987548828125 + ], + [ + "moto", + -11.810007095336914 + ], + [ + "▁counsel", + -11.810195922851562 + ], + [ + "▁110", + -11.810226440429688 + ], + [ + "nick", + -11.810245513916016 + ], + [ + "licit", + -11.810540199279785 + ], + [ + "technik", + -11.810659408569336 + ], + [ + "▁collaborate", + -11.810736656188965 + ], + [ + "▁neighbors", + -11.810794830322266 + ], + [ + "tered", + -11.810922622680664 + ], + [ + "▁excel", + -11.811025619506836 + ], + [ + "▁Route", + -11.811059951782227 + ], + [ + "steuer", + -11.81109619140625 + ], + [ + "▁pioneer", + -11.811607360839844 + ], + [ + "nuit", + -11.81169319152832 + ], + [ + "▁skip", + -11.811963081359863 + ], + [ + "▁destruction", + -11.811997413635254 + ], + [ + "▁thesis", + -11.812249183654785 + ], + [ + "▁libre", + -11.812317848205566 + ], + [ + "▁petition", + -11.81234073638916 + ], + [ + "▁steady", + -11.812456130981445 + ], + [ + "▁medications", + -11.812458992004395 + ], + [ + "▁audiences", + -11.812623023986816 + ], + [ + "▁coaches", + -11.812689781188965 + ], + [ + "aller", + -11.812704086303711 + ], + [ + "3,000", + -11.812705993652344 + ], + [ + "▁anger", + -11.812785148620605 + ], + [ + "▁striking", + -11.812844276428223 + ], + [ + "▁shades", + -11.81291675567627 + ], + [ + "▁Sitz", + -11.812994956970215 + ], + [ + "▁gluten", + -11.813162803649902 + ], + [ + "▁egal", + -11.813222885131836 + ], + [ + "ania", + -11.813223838806152 + ], + [ + "▁defend", + -11.813241004943848 + ], + [ + "gut", + -11.81382942199707 + ], + [ + "▁reserves", + -11.813895225524902 + ], + [ + "▁advocate", + -11.814053535461426 + ], + [ + "▁Cit", + -11.814082145690918 + ], + [ + "▁technicians", + -11.814105033874512 + ], + [ + "▁cater", + -11.814138412475586 + ], + [ + "leitung", + -11.814190864562988 + ], + [ + "▁towns", + -11.814335823059082 + ], + [ + "▁Costa", + -11.814364433288574 + ], + [ + "▁confront", + -11.814567565917969 + ], + [ + "mount", + -11.814652442932129 + ], + [ + "▁nationale", + -11.814706802368164 + ], + [ + "▁adverse", + -11.814932823181152 + ], + [ + "▁couleur", + -11.815112113952637 + ], + [ + "▁delight", + -11.815169334411621 + ], + [ + "▁promises", + -11.815224647521973 + ], + [ + "▁silent", + -11.81550121307373 + ], + [ + "richtet", + -11.815556526184082 + ], + [ + "▁Companies", + -11.815614700317383 + ], + [ + "▁Charlotte", + -11.815620422363281 + ], + [ + "▁labels", + -11.815652847290039 + ], + [ + "▁Süd", + -11.815656661987305 + ], + [ + "▁Honor", + -11.81567096710205 + ], + [ + "▁complaints", + -11.815710067749023 + ], + [ + "▁siècle", + -11.815752029418945 + ], + [ + "▁suits", + -11.815792083740234 + ], + [ + "▁Bath", + -11.815827369689941 + ], + [ + "mise", + -11.815926551818848 + ], + [ + "▁acela", + -11.8159818649292 + ], + [ + "▁candidat", + -11.816011428833008 + ], + [ + "Flo", + -11.816207885742188 + ], + [ + "▁conservative", + -11.816215515136719 + ], + [ + "DD", + -11.816314697265625 + ], + [ + "▁changement", + -11.816414833068848 + ], + [ + "▁login", + -11.816492080688477 + ], + [ + "▁Fashion", + -11.816585540771484 + ], + [ + "reichen", + -11.816672325134277 + ], + [ + "through", + -11.816751480102539 + ], + [ + "aki", + -11.817240715026855 + ], + [ + "gna", + -11.817547798156738 + ], + [ + "▁verse", + -11.817551612854004 + ], + [ + "▁threats", + -11.817622184753418 + ], + [ + "▁Song", + -11.817770004272461 + ], + [ + "▁funded", + -11.81792163848877 + ], + [ + "langen", + -11.818023681640625 + ], + [ + "▁distribu", + -11.818195343017578 + ], + [ + "édition", + -11.818316459655762 + ], + [ + "▁royal", + -11.818562507629395 + ], + [ + "▁bevor", + -11.818829536437988 + ], + [ + "▁02", + -11.818854331970215 + ], + [ + "straße", + -11.818938255310059 + ], + [ + "edit", + -11.81904125213623 + ], + [ + "▁energetic", + -11.81922721862793 + ], + [ + "▁Carr", + -11.819757461547852 + ], + [ + "viol", + -11.819937705993652 + ], + [ + "▁niche", + -11.820054054260254 + ], + [ + "avais", + -11.820099830627441 + ], + [ + "▁backyard", + -11.82010269165039 + ], + [ + "▁Saudi", + -11.820158958435059 + ], + [ + "▁Zwei", + -11.820207595825195 + ], + [ + "▁Legal", + -11.82027530670166 + ], + [ + "accessed", + -11.820277214050293 + ], + [ + "▁choisi", + -11.820340156555176 + ], + [ + "▁GDP", + -11.820343971252441 + ], + [ + "oferă", + -11.820352554321289 + ], + [ + "hlen", + -11.820490837097168 + ], + [ + "▁Wor", + -11.820520401000977 + ], + [ + "▁cheer", + -11.820586204528809 + ], + [ + "▁barely", + -11.820625305175781 + ], + [ + "cost", + -11.820646286010742 + ], + [ + "▁Really", + -11.820661544799805 + ], + [ + "kol", + -11.820721626281738 + ], + [ + "▁binding", + -11.821045875549316 + ], + [ + "euer", + -11.821136474609375 + ], + [ + "▁optimization", + -11.821158409118652 + ], + [ + "▁Designer", + -11.8211669921875 + ], + [ + "▁measuring", + -11.82117748260498 + ], + [ + "ncy", + -11.821516036987305 + ], + [ + "weise", + -11.821520805358887 + ], + [ + "DER", + -11.821850776672363 + ], + [ + "▁$7", + -11.821949005126953 + ], + [ + "▁Anfang", + -11.821954727172852 + ], + [ + "material", + -11.821967124938965 + ], + [ + "▁antique", + -11.822281837463379 + ], + [ + "▁Certificate", + -11.822294235229492 + ], + [ + "▁modest", + -11.822370529174805 + ], + [ + "ției", + -11.822427749633789 + ], + [ + "▁praise", + -11.82245922088623 + ], + [ + "▁Springs", + -11.822660446166992 + ], + [ + "▁organiza", + -11.823041915893555 + ], + [ + "jurul", + -11.823047637939453 + ], + [ + "▁plumbing", + -11.82341194152832 + ], + [ + "▁foster", + -11.823490142822266 + ], + [ + "▁Wy", + -11.823491096496582 + ], + [ + "▁Sab", + -11.823503494262695 + ], + [ + "▁overwhelming", + -11.823677062988281 + ], + [ + "▁matin", + -11.823812484741211 + ], + [ + "▁responded", + -11.82408332824707 + ], + [ + "▁confused", + -11.824150085449219 + ], + [ + "▁blessed", + -11.824280738830566 + ], + [ + "▁160", + -11.824295997619629 + ], + [ + "▁ingredient", + -11.824360847473145 + ], + [ + "▁confer", + -11.82448673248291 + ], + [ + "▁Gesundheit", + -11.824530601501465 + ], + [ + "▁bucket", + -11.824555397033691 + ], + [ + "kraft", + -11.824565887451172 + ], + [ + "lange", + -11.824630737304688 + ], + [ + "▁Kopf", + -11.824678421020508 + ], + [ + "▁Prize", + -11.824678421020508 + ], + [ + "▁authorized", + -11.824779510498047 + ], + [ + "▁tick", + -11.824803352355957 + ], + [ + "▁steal", + -11.824910163879395 + ], + [ + "Depending", + -11.824918746948242 + ], + [ + "Depuis", + -11.824952125549316 + ], + [ + "▁functie", + -11.82499885559082 + ], + [ + "▁developments", + -11.825053215026855 + ], + [ + "▁Christians", + -11.825311660766602 + ], + [ + "▁calculated", + -11.8256254196167 + ], + [ + "▁Leave", + -11.825672149658203 + ], + [ + "▁Jam", + -11.82573413848877 + ], + [ + "▁habitat", + -11.825760841369629 + ], + [ + "▁Sorry", + -11.825801849365234 + ], + [ + "▁oficial", + -11.825944900512695 + ], + [ + "▁allein", + -11.826079368591309 + ], + [ + "▁concentrate", + -11.82608413696289 + ], + [ + "dica", + -11.826302528381348 + ], + [ + "▁Convention", + -11.826476097106934 + ], + [ + "illes", + -11.826550483703613 + ], + [ + "▁fum", + -11.82664680480957 + ], + [ + "▁Tal", + -11.826651573181152 + ], + [ + "Europe", + -11.826899528503418 + ], + [ + "▁attachment", + -11.826949119567871 + ], + [ + "▁sensibil", + -11.826995849609375 + ], + [ + "▁clue", + -11.82715892791748 + ], + [ + "▁specialty", + -11.827203750610352 + ], + [ + "▁Cou", + -11.827229499816895 + ], + [ + "▁liste", + -11.827278137207031 + ], + [ + "▁Penn", + -11.827465057373047 + ], + [ + "TRA", + -11.827559471130371 + ], + [ + "▁Themen", + -11.827561378479004 + ], + [ + "▁motivated", + -11.827906608581543 + ], + [ + "▁camere", + -11.828017234802246 + ], + [ + "▁14,", + -11.828393936157227 + ], + [ + "▁attendance", + -11.828557968139648 + ], + [ + "atorii", + -11.828581809997559 + ], + [ + "chemistry", + -11.82873821258545 + ], + [ + "▁roofing", + -11.828959465026855 + ], + [ + "▁Links", + -11.829048156738281 + ], + [ + "▁trou", + -11.829103469848633 + ], + [ + "▁trucks", + -11.829136848449707 + ], + [ + "hilfe", + -11.829557418823242 + ], + [ + "▁(6", + -11.829599380493164 + ], + [ + "vapor", + -11.82964038848877 + ], + [ + "mad", + -11.829668045043945 + ], + [ + "▁Albert", + -11.829877853393555 + ], + [ + "▁FIG", + -11.830073356628418 + ], + [ + "▁Rand", + -11.830187797546387 + ], + [ + "▁Constitution", + -11.830219268798828 + ], + [ + "ambi", + -11.830294609069824 + ], + [ + "▁Syria", + -11.830307006835938 + ], + [ + "▁Fond", + -11.830477714538574 + ], + [ + "▁gouvernement", + -11.830594062805176 + ], + [ + "▁Active", + -11.830705642700195 + ], + [ + "▁prints", + -11.830801963806152 + ], + [ + "▁weigh", + -11.8308687210083 + ], + [ + "▁Craft", + -11.831069946289062 + ], + [ + "▁projets", + -11.831247329711914 + ], + [ + "▁paste", + -11.831377029418945 + ], + [ + "anci", + -11.83139705657959 + ], + [ + "kie", + -11.831411361694336 + ], + [ + "▁gains", + -11.83165168762207 + ], + [ + "▁Record", + -11.831942558288574 + ], + [ + "▁beliefs", + -11.831954956054688 + ], + [ + "countless", + -11.831957817077637 + ], + [ + "▁tomatoes", + -11.831997871398926 + ], + [ + "arie", + -11.832082748413086 + ], + [ + "▁140", + -11.83211612701416 + ], + [ + "▁ethical", + -11.832229614257812 + ], + [ + "objectif", + -11.832279205322266 + ], + [ + "▁acestuia", + -11.832283973693848 + ], + [ + "▁Bluetooth", + -11.832398414611816 + ], + [ + "▁agriculture", + -11.832746505737305 + ], + [ + "uré", + -11.833027839660645 + ], + [ + "▁cale", + -11.833072662353516 + ], + [ + "▁articol", + -11.833073616027832 + ], + [ + "▁gum", + -11.833319664001465 + ], + [ + "▁vendor", + -11.833490371704102 + ], + [ + "ifié", + -11.833527565002441 + ], + [ + "▁peer", + -11.833662033081055 + ], + [ + "pod", + -11.834036827087402 + ], + [ + "▁utilized", + -11.834113121032715 + ], + [ + "▁Mü", + -11.834207534790039 + ], + [ + "owohl", + -11.834208488464355 + ], + [ + "hilst", + -11.834233283996582 + ], + [ + "frame", + -11.834260940551758 + ], + [ + "▁fridge", + -11.834822654724121 + ], + [ + "▁query", + -11.835108757019043 + ], + [ + "▁Survey", + -11.835227012634277 + ], + [ + "▁Hell", + -11.835247993469238 + ], + [ + "▁notification", + -11.83530044555664 + ], + [ + "TR", + -11.83538818359375 + ], + [ + "▁ultima", + -11.835505485534668 + ], + [ + "▁radiation", + -11.835631370544434 + ], + [ + "▁musicians", + -11.835821151733398 + ], + [ + "CAN", + -11.83595085144043 + ], + [ + "▁grocery", + -11.83607292175293 + ], + [ + "▁Sicherheit", + -11.83611011505127 + ], + [ + "▁Highway", + -11.836276054382324 + ], + [ + "▁Break", + -11.836285591125488 + ], + [ + "TED", + -11.836345672607422 + ], + [ + "ön", + -11.836352348327637 + ], + [ + "▁biological", + -11.836352348327637 + ], + [ + "qual", + -11.836397171020508 + ], + [ + "250", + -11.83641242980957 + ], + [ + "▁modify", + -11.836651802062988 + ], + [ + "▁Hit", + -11.836698532104492 + ], + [ + "▁Iar", + -11.836838722229004 + ], + [ + "aged", + -11.836884498596191 + ], + [ + "...)", + -11.83688735961914 + ], + [ + "▁contrat", + -11.836928367614746 + ], + [ + "▁centres", + -11.836956977844238 + ], + [ + "griff", + -11.836987495422363 + ], + [ + "Our", + -11.837233543395996 + ], + [ + "▁determination", + -11.837300300598145 + ], + [ + "▁variables", + -11.83742904663086 + ], + [ + "▁nuts", + -11.837472915649414 + ], + [ + "échange", + -11.837577819824219 + ], + [ + "extérieur", + -11.837631225585938 + ], + [ + "▁suflet", + -11.83764362335205 + ], + [ + "▁Scha", + -11.837752342224121 + ], + [ + "stück", + -11.837774276733398 + ], + [ + "▁Tau", + -11.837821960449219 + ], + [ + "▁participa", + -11.838008880615234 + ], + [ + "▁mad", + -11.838034629821777 + ], + [ + "▁relie", + -11.838051795959473 + ], + [ + "▁Fine", + -11.83808422088623 + ], + [ + "▁grape", + -11.838118553161621 + ], + [ + "▁wage", + -11.838141441345215 + ], + [ + "▁startup", + -11.838193893432617 + ], + [ + "▁blank", + -11.838194847106934 + ], + [ + "▁physique", + -11.838199615478516 + ], + [ + "▁punch", + -11.838233947753906 + ], + [ + "▁contacts", + -11.838321685791016 + ], + [ + "▁dezvolt", + -11.83835220336914 + ], + [ + "cross", + -11.838639259338379 + ], + [ + "▁TR", + -11.838652610778809 + ], + [ + "▁gener", + -11.838754653930664 + ], + [ + "▁indem", + -11.838823318481445 + ], + [ + "▁Stan", + -11.838839530944824 + ], + [ + "▁azi", + -11.838930130004883 + ], + [ + "▁Sel", + -11.838958740234375 + ], + [ + "▁Tot", + -11.83924674987793 + ], + [ + "vra", + -11.839341163635254 + ], + [ + "▁recruit", + -11.839482307434082 + ], + [ + "▁Yeah", + -11.839494705200195 + ], + [ + "/10", + -11.839507102966309 + ], + [ + "▁nail", + -11.83956241607666 + ], + [ + "▁Ky", + -11.839611053466797 + ], + [ + "▁beloved", + -11.839760780334473 + ], + [ + "operative", + -11.839823722839355 + ], + [ + "▁Tickets", + -11.83983325958252 + ], + [ + "▁tear", + -11.840229988098145 + ], + [ + "▁amp", + -11.840352058410645 + ], + [ + "▁04", + -11.840361595153809 + ], + [ + "▁illustrate", + -11.840361595153809 + ], + [ + "▁mac", + -11.840400695800781 + ], + [ + "▁receiver", + -11.840482711791992 + ], + [ + "atrice", + -11.840508460998535 + ], + [ + "▁souhait", + -11.840572357177734 + ], + [ + "▁Gewinn", + -11.840619087219238 + ], + [ + "▁Vit", + -11.840808868408203 + ], + [ + "roch", + -11.841202735900879 + ], + [ + "▁arata", + -11.841262817382812 + ], + [ + "▁Indiana", + -11.841364860534668 + ], + [ + "child", + -11.841516494750977 + ], + [ + "▁invested", + -11.84157657623291 + ], + [ + "▁Excellent", + -11.841625213623047 + ], + [ + "gori", + -11.841769218444824 + ], + [ + "▁thermal", + -11.841813087463379 + ], + [ + "Str", + -11.841973304748535 + ], + [ + "▁liver", + -11.84201717376709 + ], + [ + "miss", + -11.842035293579102 + ], + [ + "▁utiliser", + -11.842120170593262 + ], + [ + "▁prest", + -11.842445373535156 + ], + [ + "2016", + -11.842506408691406 + ], + [ + "isée", + -11.842508316040039 + ], + [ + "▁Index", + -11.842559814453125 + ], + [ + "▁arch", + -11.842639923095703 + ], + [ + "▁Toyota", + -11.842748641967773 + ], + [ + "▁YOUR", + -11.842782020568848 + ], + [ + "▁Mexican", + -11.842891693115234 + ], + [ + "▁gegenüber", + -11.842940330505371 + ], + [ + "▁cannabis", + -11.843033790588379 + ], + [ + "bis", + -11.843077659606934 + ], + [ + "vage", + -11.843083381652832 + ], + [ + "hall", + -11.843091011047363 + ], + [ + "fax", + -11.843137741088867 + ], + [ + "▁spoken", + -11.843232154846191 + ], + [ + "▁Zimmer", + -11.843544960021973 + ], + [ + "kauf", + -11.8436279296875 + ], + [ + "▁couleurs", + -11.843705177307129 + ], + [ + "▁NJ", + -11.844026565551758 + ], + [ + "▁Heritage", + -11.844318389892578 + ], + [ + "▁Pflege", + -11.844321250915527 + ], + [ + "luc", + -11.844361305236816 + ], + [ + "▁56", + -11.844489097595215 + ], + [ + "VP", + -11.844542503356934 + ], + [ + "▁cuvinte", + -11.844594955444336 + ], + [ + "▁Alliance", + -11.844614028930664 + ], + [ + "▁coco", + -11.844615936279297 + ], + [ + "▁leverage", + -11.844762802124023 + ], + [ + "auch", + -11.844844818115234 + ], + [ + "▁Cart", + -11.84506607055664 + ], + [ + "taux", + -11.84532642364502 + ], + [ + "east", + -11.84560775756836 + ], + [ + "▁decorating", + -11.84565258026123 + ], + [ + "tip", + -11.84565544128418 + ], + [ + "▁Communications", + -11.845780372619629 + ], + [ + "ACE", + -11.84580135345459 + ], + [ + "▁Consul", + -11.845993041992188 + ], + [ + "▁Swiss", + -11.846197128295898 + ], + [ + "inci", + -11.846230506896973 + ], + [ + "▁Fact", + -11.846312522888184 + ], + [ + "▁ajung", + -11.846321105957031 + ], + [ + "▁airline", + -11.846325874328613 + ], + [ + "▁kidney", + -11.846379280090332 + ], + [ + "▁Records", + -11.84642505645752 + ], + [ + "▁Olympic", + -11.846747398376465 + ], + [ + "▁dried", + -11.84719467163086 + ], + [ + "oivent", + -11.847333908081055 + ], + [ + "▁Adobe", + -11.847467422485352 + ], + [ + "▁powers", + -11.847748756408691 + ], + [ + "lande", + -11.847834587097168 + ], + [ + "▁relieve", + -11.847858428955078 + ], + [ + "ţine", + -11.847898483276367 + ], + [ + "▁gradually", + -11.847945213317871 + ], + [ + "mud", + -11.84811019897461 + ], + [ + "▁30,", + -11.848116874694824 + ], + [ + "▁plante", + -11.848133087158203 + ], + [ + "▁Hug", + -11.848225593566895 + ], + [ + "▁Focus", + -11.84853458404541 + ], + [ + "▁distinctive", + -11.848594665527344 + ], + [ + "▁Bab", + -11.848662376403809 + ], + [ + "tata", + -11.848679542541504 + ], + [ + "▁Nun", + -11.848797798156738 + ], + [ + "▁Eve", + -11.848811149597168 + ], + [ + "▁déc", + -11.848881721496582 + ], + [ + "▁Beitrag", + -11.84900951385498 + ], + [ + "▁devenit", + -11.849042892456055 + ], + [ + "driven", + -11.849250793457031 + ], + [ + "▁offerings", + -11.84933853149414 + ], + [ + "▁exc", + -11.84941577911377 + ], + [ + "encies", + -11.849576950073242 + ], + [ + "▁Neuro", + -11.849588394165039 + ], + [ + "scher", + -11.849604606628418 + ], + [ + "map", + -11.849703788757324 + ], + [ + "pending", + -11.849783897399902 + ], + [ + "▁courage", + -11.849799156188965 + ], + [ + "axe", + -11.849894523620605 + ], + [ + "▁Gesellschaft", + -11.849900245666504 + ], + [ + "▁ears", + -11.85000991821289 + ], + [ + "▁aider", + -11.850403785705566 + ], + [ + "▁Cast", + -11.85042667388916 + ], + [ + "fast", + -11.850442886352539 + ], + [ + "▁departe", + -11.850502014160156 + ], + [ + "▁oak", + -11.850507736206055 + ], + [ + "▁batch", + -11.850730895996094 + ], + [ + "▁Corporate", + -11.850762367248535 + ], + [ + "▁Ost", + -11.850895881652832 + ], + [ + "-14", + -11.850897789001465 + ], + [ + "▁Pie", + -11.85115909576416 + ], + [ + "▁ranking", + -11.851273536682129 + ], + [ + "clusion", + -11.851316452026367 + ], + [ + "▁costume", + -11.851347923278809 + ], + [ + "▁Knight", + -11.851449966430664 + ], + [ + "▁privat", + -11.851577758789062 + ], + [ + "▁Engineer", + -11.851593971252441 + ], + [ + "▁gens", + -11.8517427444458 + ], + [ + "physics", + -11.85176944732666 + ], + [ + "generating", + -11.851773262023926 + ], + [ + "directement", + -11.851786613464355 + ], + [ + "▁confidential", + -11.851810455322266 + ], + [ + "▁poet", + -11.851937294006348 + ], + [ + "▁monster", + -11.851944923400879 + ], + [ + "▁suppose", + -11.851984977722168 + ], + [ + "său", + -11.851996421813965 + ], + [ + "▁balls", + -11.852103233337402 + ], + [ + "▁substitute", + -11.852137565612793 + ], + [ + "▁simultaneously", + -11.852238655090332 + ], + [ + "▁specify", + -11.852272033691406 + ], + [ + "wald", + -11.852287292480469 + ], + [ + "▁collapse", + -11.852352142333984 + ], + [ + "dessus", + -11.852458953857422 + ], + [ + "▁vitr", + -11.852516174316406 + ], + [ + "▁recruitment", + -11.852607727050781 + ], + [ + "denken", + -11.852632522583008 + ], + [ + "▁candy", + -11.852691650390625 + ], + [ + "▁tourists", + -11.852721214294434 + ], + [ + "dimensional", + -11.852782249450684 + ], + [ + "conce", + -11.852814674377441 + ], + [ + "wechsel", + -11.852822303771973 + ], + [ + "▁passende", + -11.852971076965332 + ], + [ + "industrie", + -11.85299301147461 + ], + [ + "agne", + -11.853127479553223 + ], + [ + "▁warehouse", + -11.853233337402344 + ], + [ + "▁Jugend", + -11.853277206420898 + ], + [ + "▁Weise", + -11.853357315063477 + ], + [ + "▁Zone", + -11.853528022766113 + ], + [ + "▁licence", + -11.853550910949707 + ], + [ + "▁broker", + -11.853630065917969 + ], + [ + "▁Rolle", + -11.85365104675293 + ], + [ + "pton", + -11.853789329528809 + ], + [ + "▁preference", + -11.853846549987793 + ], + [ + "▁homeowners", + -11.853861808776855 + ], + [ + "▁Lum", + -11.85387134552002 + ], + [ + "▁Chairman", + -11.853879928588867 + ], + [ + "▁Pages", + -11.853998184204102 + ], + [ + "▁beam", + -11.854005813598633 + ], + [ + "▁coordinate", + -11.854158401489258 + ], + [ + "▁Tool", + -11.854212760925293 + ], + [ + "▁complexity", + -11.854272842407227 + ], + [ + "▁checks", + -11.854339599609375 + ], + [ + "▁Bedroom", + -11.854405403137207 + ], + [ + "minded", + -11.854538917541504 + ], + [ + "▁copiii", + -11.854694366455078 + ], + [ + "▁celebrating", + -11.85470199584961 + ], + [ + "zimmer", + -11.854759216308594 + ], + [ + "▁Imagine", + -11.854759216308594 + ], + [ + "▁decoration", + -11.854830741882324 + ], + [ + "team", + -11.855354309082031 + ], + [ + "▁împreună", + -11.855369567871094 + ], + [ + "▁publicly", + -11.855391502380371 + ], + [ + "▁centuries", + -11.855514526367188 + ], + [ + "▁Islands", + -11.855644226074219 + ], + [ + "▁ethnic", + -11.855663299560547 + ], + [ + "still", + -11.85576057434082 + ], + [ + "stieg", + -11.855823516845703 + ], + [ + "emia", + -11.855904579162598 + ], + [ + "tags", + -11.856026649475098 + ], + [ + "▁marche", + -11.856062889099121 + ], + [ + "▁migration", + -11.856096267700195 + ], + [ + "▁banner", + -11.85616683959961 + ], + [ + "▁macro", + -11.856378555297852 + ], + [ + "▁Edit", + -11.856379508972168 + ], + [ + "tran", + -11.85656452178955 + ], + [ + "ça", + -11.856597900390625 + ], + [ + "▁recycling", + -11.856670379638672 + ], + [ + "▁1,000", + -11.856673240661621 + ], + [ + "▁Quelle", + -11.856891632080078 + ], + [ + "▁Vel", + -11.85700511932373 + ], + [ + "▁Rit", + -11.857025146484375 + ], + [ + "▁Spaß", + -11.857046127319336 + ], + [ + "▁Corn", + -11.857074737548828 + ], + [ + "tracted", + -11.857177734375 + ], + [ + "cited", + -11.857185363769531 + ], + [ + "▁tablets", + -11.857202529907227 + ], + [ + "▁Display", + -11.857337951660156 + ], + [ + "▁persoana", + -11.857392311096191 + ], + [ + "Term", + -11.857410430908203 + ], + [ + "▁Vancouver", + -11.857537269592285 + ], + [ + "▁Gäste", + -11.857550621032715 + ], + [ + "determining", + -11.857608795166016 + ], + [ + "▁populations", + -11.85778522491455 + ], + [ + "aison", + -11.857873916625977 + ], + [ + "▁surgical", + -11.858072280883789 + ], + [ + "tale", + -11.858160018920898 + ], + [ + "ivi", + -11.858283042907715 + ], + [ + "▁Zur", + -11.858388900756836 + ], + [ + "esprit", + -11.858574867248535 + ], + [ + "▁Edge", + -11.858665466308594 + ], + [ + "dach", + -11.858760833740234 + ], + [ + "phi", + -11.858773231506348 + ], + [ + "▁suc", + -11.858841896057129 + ], + [ + "▁scrie", + -11.858848571777344 + ], + [ + "▁Ausbildung", + -11.858885765075684 + ], + [ + "▁51", + -11.85892391204834 + ], + [ + "ologi", + -11.858938217163086 + ], + [ + "▁correction", + -11.859049797058105 + ], + [ + "▁Wald", + -11.859078407287598 + ], + [ + "▁additionally", + -11.859131813049316 + ], + [ + "▁proche", + -11.859353065490723 + ], + [ + "▁classical", + -11.859477996826172 + ], + [ + "▁bringen", + -11.859490394592285 + ], + [ + "▁(10", + -11.859611511230469 + ], + [ + "▁Mile", + -11.859809875488281 + ], + [ + "lace", + -11.859885215759277 + ], + [ + "▁premi", + -11.85988712310791 + ], + [ + "▁constitute", + -11.860029220581055 + ], + [ + "▁bitter", + -11.860078811645508 + ], + [ + "▁Inform", + -11.860295295715332 + ], + [ + "▁corporations", + -11.860334396362305 + ], + [ + "▁Lisa", + -11.860494613647461 + ], + [ + "▁obligat", + -11.860685348510742 + ], + [ + "Throughout", + -11.860738754272461 + ], + [ + "▁Rs", + -11.860769271850586 + ], + [ + "▁Hair", + -11.860916137695312 + ], + [ + "▁supplements", + -11.86099624633789 + ], + [ + "▁motorcycle", + -11.861054420471191 + ], + [ + "escent", + -11.861132621765137 + ], + [ + "▁investi", + -11.861222267150879 + ], + [ + "▁continuously", + -11.861265182495117 + ], + [ + "▁Essen", + -11.861334800720215 + ], + [ + "▁precision", + -11.8613862991333 + ], + [ + "▁deficit", + -11.861461639404297 + ], + [ + "▁wallet", + -11.861481666564941 + ], + [ + "▁Bürger", + -11.861531257629395 + ], + [ + "chir", + -11.861574172973633 + ], + [ + "9)", + -11.86161994934082 + ], + [ + "▁Programme", + -11.861716270446777 + ], + [ + "▁simplement", + -11.86193561553955 + ], + [ + "MD", + -11.862093925476074 + ], + [ + "▁rouge", + -11.862096786499023 + ], + [ + "usion", + -11.862133979797363 + ], + [ + "▁stove", + -11.862208366394043 + ], + [ + "▁prospective", + -11.862224578857422 + ], + [ + "▁corp", + -11.86234188079834 + ], + [ + "▁impacts", + -11.862401008605957 + ], + [ + "▁bride", + -11.86266803741455 + ], + [ + "0.0", + -11.862788200378418 + ], + [ + "hid", + -11.862833976745605 + ], + [ + "▁warrant", + -11.862930297851562 + ], + [ + "▁Ice", + -11.8631010055542 + ], + [ + "▁sensible", + -11.863151550292969 + ], + [ + "▁vreo", + -11.863166809082031 + ], + [ + "spekt", + -11.863249778747559 + ], + [ + "▁appreciation", + -11.8633394241333 + ], + [ + "▁automation", + -11.863377571105957 + ], + [ + "Luc", + -11.86341381072998 + ], + [ + "teaches", + -11.863471031188965 + ], + [ + "▁fold", + -11.863506317138672 + ], + [ + "deutsche", + -11.863523483276367 + ], + [ + "▁assisted", + -11.86380386352539 + ], + [ + "▁straightforward", + -11.863932609558105 + ], + [ + "▁mechanic", + -11.864068031311035 + ], + [ + "observ", + -11.864169120788574 + ], + [ + "▁Schau", + -11.864195823669434 + ], + [ + "▁Recently", + -11.864301681518555 + ], + [ + "kers", + -11.86435604095459 + ], + [ + "▁Soft", + -11.864455223083496 + ], + [ + "muni", + -11.864537239074707 + ], + [ + "▁lie", + -11.864617347717285 + ], + [ + "▁Fat", + -11.864728927612305 + ], + [ + "cream", + -11.86476993560791 + ], + [ + "▁snack", + -11.864909172058105 + ], + [ + "▁juin", + -11.865068435668945 + ], + [ + "▁competent", + -11.865134239196777 + ], + [ + "▁Drug", + -11.865141868591309 + ], + [ + "▁Row", + -11.865302085876465 + ], + [ + "▁needle", + -11.865852355957031 + ], + [ + "▁convey", + -11.865900039672852 + ], + [ + "▁voie", + -11.86600399017334 + ], + [ + "▁Hon", + -11.866190910339355 + ], + [ + "▁ebook", + -11.866194725036621 + ], + [ + "▁veteran", + -11.866209030151367 + ], + [ + "▁statistical", + -11.866217613220215 + ], + [ + "190", + -11.866312980651855 + ], + [ + "▁munca", + -11.866402626037598 + ], + [ + "▁venues", + -11.866438865661621 + ], + [ + "▁Viel", + -11.866604804992676 + ], + [ + "▁décor", + -11.866799354553223 + ], + [ + "▁répond", + -11.8670015335083 + ], + [ + "▁produsele", + -11.86700439453125 + ], + [ + "ruc", + -11.867009162902832 + ], + [ + "▁drops", + -11.867011070251465 + ], + [ + "▁autant", + -11.867311477661133 + ], + [ + "▁Fahrzeug", + -11.867313385009766 + ], + [ + "▁hills", + -11.86735725402832 + ], + [ + "ference", + -11.867414474487305 + ], + [ + "▁Glück", + -11.86742115020752 + ], + [ + "▁Pac", + -11.867480278015137 + ], + [ + "▁permettr", + -11.867568969726562 + ], + [ + "▁mouvement", + -11.867713928222656 + ], + [ + "établissement", + -11.867859840393066 + ], + [ + "▁Parc", + -11.867874145507812 + ], + [ + "▁solving", + -11.867900848388672 + ], + [ + "▁jail", + -11.867972373962402 + ], + [ + "▁junk", + -11.867980003356934 + ], + [ + "▁jeux", + -11.868091583251953 + ], + [ + "▁rôle", + -11.868107795715332 + ], + [ + "▁cache", + -11.868124961853027 + ], + [ + "▁Answer", + -11.86832046508789 + ], + [ + "wir", + -11.868706703186035 + ], + [ + "option", + -11.868732452392578 + ], + [ + "▁Tiger", + -11.868739128112793 + ], + [ + "▁Ble", + -11.868793487548828 + ], + [ + "Mitglied", + -11.868797302246094 + ], + [ + "▁partial", + -11.868819236755371 + ], + [ + "▁Mercedes", + -11.86888313293457 + ], + [ + "tire", + -11.869001388549805 + ], + [ + "MENT", + -11.869091987609863 + ], + [ + "▁transit", + -11.869230270385742 + ], + [ + "▁cineva", + -11.869285583496094 + ], + [ + "▁Andrea", + -11.869294166564941 + ], + [ + "▁boundaries", + -11.869497299194336 + ], + [ + "script", + -11.870061874389648 + ], + [ + "▁Medi", + -11.870123863220215 + ], + [ + "schreiben", + -11.870203018188477 + ], + [ + "▁lobby", + -11.87035846710205 + ], + [ + "▁defendant", + -11.870406150817871 + ], + [ + "▁sq", + -11.870467185974121 + ], + [ + "▁forgotten", + -11.870569229125977 + ], + [ + "stimmung", + -11.870651245117188 + ], + [ + "hus", + -11.870665550231934 + ], + [ + "RY", + -11.870728492736816 + ], + [ + "▁Anderson", + -11.870748519897461 + ], + [ + "▁Dental", + -11.870828628540039 + ], + [ + "ject", + -11.87110710144043 + ], + [ + "▁Nutzer", + -11.871377944946289 + ], + [ + "▁Portland", + -11.871540069580078 + ], + [ + "scription", + -11.871636390686035 + ], + [ + "▁angel", + -11.871695518493652 + ], + [ + "▁monument", + -11.871748924255371 + ], + [ + "▁număr", + -11.871784210205078 + ], + [ + "▁Lane", + -11.871800422668457 + ], + [ + "▁Bai", + -11.871894836425781 + ], + [ + "But", + -11.871909141540527 + ], + [ + "▁calculate", + -11.872315406799316 + ], + [ + "▁provoca", + -11.87247371673584 + ], + [ + "▁votes", + -11.872493743896484 + ], + [ + "RNA", + -11.872503280639648 + ], + [ + "though", + -11.87259292602539 + ], + [ + "spor", + -11.872631072998047 + ], + [ + "▁connaissance", + -11.872695922851562 + ], + [ + "▁Anwendung", + -11.872932434082031 + ], + [ + "▁Kate", + -11.873123168945312 + ], + [ + "lob", + -11.87315845489502 + ], + [ + "▁Conf", + -11.873180389404297 + ], + [ + "bung", + -11.873212814331055 + ], + [ + "ander", + -11.873282432556152 + ], + [ + "▁functioning", + -11.873297691345215 + ], + [ + "▁sponsored", + -11.873324394226074 + ], + [ + "rav", + -11.873734474182129 + ], + [ + "▁resistant", + -11.873797416687012 + ], + [ + "tră", + -11.873916625976562 + ], + [ + "▁costly", + -11.873923301696777 + ], + [ + "▁Mars", + -11.873991012573242 + ], + [ + "▁tir", + -11.874075889587402 + ], + [ + "▁writes", + -11.874134063720703 + ], + [ + "▁Greg", + -11.874267578125 + ], + [ + "▁Question", + -11.874714851379395 + ], + [ + "▁corporation", + -11.87485408782959 + ], + [ + "▁lire", + -11.874991416931152 + ], + [ + "locked", + -11.875048637390137 + ], + [ + "8,", + -11.875092506408691 + ], + [ + "▁sagt", + -11.875301361083984 + ], + [ + "gaining", + -11.87536907196045 + ], + [ + "▁Pierre", + -11.875688552856445 + ], + [ + "verb", + -11.875725746154785 + ], + [ + "▁Barcelona", + -11.87578296661377 + ], + [ + "werte", + -11.876474380493164 + ], + [ + "▁disponible", + -11.87651538848877 + ], + [ + "▁urge", + -11.876521110534668 + ], + [ + "▁expecting", + -11.876572608947754 + ], + [ + "▁Girl", + -11.87662124633789 + ], + [ + "▁unlimited", + -11.876761436462402 + ], + [ + "watt", + -11.876788139343262 + ], + [ + "▁Möglichkeiten", + -11.876813888549805 + ], + [ + "▁schöne", + -11.876847267150879 + ], + [ + "rium", + -11.877076148986816 + ], + [ + "That", + -11.877272605895996 + ], + [ + "▁socio", + -11.877296447753906 + ], + [ + "▁Democrats", + -11.877351760864258 + ], + [ + "guten", + -11.877422332763672 + ], + [ + "▁Lou", + -11.877425193786621 + ], + [ + "ităţi", + -11.877559661865234 + ], + [ + "▁possibilité", + -11.877717018127441 + ], + [ + "▁adjustable", + -11.877938270568848 + ], + [ + "▁Salt", + -11.877967834472656 + ], + [ + "Thr", + -11.878021240234375 + ], + [ + "▁biseric", + -11.878056526184082 + ], + [ + "ieux", + -11.87808895111084 + ], + [ + "▁procur", + -11.8782377243042 + ], + [ + "▁credits", + -11.878250122070312 + ], + [ + "▁Netflix", + -11.878585815429688 + ], + [ + "doi", + -11.878605842590332 + ], + [ + "▁Jews", + -11.878663063049316 + ], + [ + "▁Ukraine", + -11.87873363494873 + ], + [ + "▁adevărat", + -11.878785133361816 + ], + [ + "▁Apply", + -11.878813743591309 + ], + [ + "▁coupons", + -11.878859519958496 + ], + [ + "▁Detroit", + -11.878881454467773 + ], + [ + "▁rue", + -11.878889083862305 + ], + [ + "anumite", + -11.878926277160645 + ], + [ + "ished", + -11.878973960876465 + ], + [ + "▁withdrawal", + -11.87915325164795 + ], + [ + "▁replacing", + -11.87917709350586 + ], + [ + "catching", + -11.879385948181152 + ], + [ + "▁climbing", + -11.879612922668457 + ], + [ + "▁Basic", + -11.879770278930664 + ], + [ + "▁inclus", + -11.879783630371094 + ], + [ + "scope", + -11.879887580871582 + ], + [ + "▁facem", + -11.879892349243164 + ], + [ + "▁plec", + -11.879904747009277 + ], + [ + "mäßig", + -11.879980087280273 + ], + [ + "▁tasty", + -11.880064010620117 + ], + [ + "▁tunnel", + -11.880074501037598 + ], + [ + "figured", + -11.88032341003418 + ], + [ + "gged", + -11.880390167236328 + ], + [ + "▁conditii", + -11.880599975585938 + ], + [ + "▁homework", + -11.880631446838379 + ], + [ + "volle", + -11.88063907623291 + ], + [ + "▁Gott", + -11.880807876586914 + ], + [ + "▁95", + -11.880969047546387 + ], + [ + "▁elect", + -11.881020545959473 + ], + [ + "▁blast", + -11.881043434143066 + ], + [ + "▁easiest", + -11.881248474121094 + ], + [ + "USE", + -11.881462097167969 + ], + [ + "concentr", + -11.881475448608398 + ], + [ + "orial", + -11.881596565246582 + ], + [ + "▁scroll", + -11.881638526916504 + ], + [ + "stead", + -11.881691932678223 + ], + [ + "▁hormone", + -11.881710052490234 + ], + [ + "▁starter", + -11.88179874420166 + ], + [ + "▁cald", + -11.881878852844238 + ], + [ + "▁wax", + -11.881895065307617 + ], + [ + "▁ridic", + -11.881900787353516 + ], + [ + "ously", + -11.881982803344727 + ], + [ + "maschine", + -11.882101058959961 + ], + [ + "licher", + -11.882399559020996 + ], + [ + "▁16,", + -11.882452964782715 + ], + [ + "▁hassle", + -11.882469177246094 + ], + [ + "semnat", + -11.882535934448242 + ], + [ + "▁pub", + -11.88260555267334 + ], + [ + "240", + -11.882800102233887 + ], + [ + "▁kits", + -11.882871627807617 + ], + [ + "▁Generation", + -11.88293743133545 + ], + [ + "▁merchant", + -11.883052825927734 + ], + [ + "▁Erd", + -11.883068084716797 + ], + [ + "▁café", + -11.883077621459961 + ], + [ + "hoff", + -11.88314151763916 + ], + [ + "▁WITH", + -11.883376121520996 + ], + [ + "▁gesch", + -11.883515357971191 + ], + [ + "▁Editor", + -11.883557319641113 + ], + [ + "▁treats", + -11.883609771728516 + ], + [ + "▁harsh", + -11.883711814880371 + ], + [ + "rome", + -11.883729934692383 + ], + [ + "▁Foreign", + -11.883928298950195 + ], + [ + "▁denied", + -11.883968353271484 + ], + [ + "▁Valentine", + -11.884014129638672 + ], + [ + "▁healthier", + -11.88408088684082 + ], + [ + "▁readily", + -11.884138107299805 + ], + [ + "nac", + -11.884190559387207 + ], + [ + "▁intake", + -11.884191513061523 + ], + [ + "▁puncte", + -11.884230613708496 + ], + [ + "erne", + -11.884431838989258 + ], + [ + "file", + -11.884668350219727 + ], + [ + "▁continually", + -11.884688377380371 + ], + [ + "door", + -11.884699821472168 + ], + [ + "▁imediat", + -11.884822845458984 + ], + [ + "▁accused", + -11.884833335876465 + ], + [ + "chy", + -11.884854316711426 + ], + [ + "▁wrapped", + -11.884861946105957 + ], + [ + "IES", + -11.884878158569336 + ], + [ + "▁terrace", + -11.884883880615234 + ], + [ + "mouth", + -11.884897232055664 + ], + [ + "▁defensive", + -11.884991645812988 + ], + [ + "▁Luci", + -11.88508129119873 + ], + [ + "▁significance", + -11.885107040405273 + ], + [ + "▁2007,", + -11.885213851928711 + ], + [ + "▁inclusion", + -11.885221481323242 + ], + [ + "▁rotation", + -11.885248184204102 + ], + [ + "hos", + -11.885283470153809 + ], + [ + "▁crea", + -11.885357856750488 + ], + [ + "üß", + -11.885903358459473 + ], + [ + "▁Install", + -11.885988235473633 + ], + [ + "▁dump", + -11.885998725891113 + ], + [ + "▁informations", + -11.886114120483398 + ], + [ + "▁Thi", + -11.886117935180664 + ], + [ + "▁85", + -11.886252403259277 + ], + [ + "dox", + -11.886283874511719 + ], + [ + "track", + -11.886436462402344 + ], + [ + "▁couples", + -11.886571884155273 + ], + [ + "▁Assembly", + -11.886594772338867 + ], + [ + "wagen", + -11.88672161102295 + ], + [ + "▁Hil", + -11.886723518371582 + ], + [ + "ières", + -11.886833190917969 + ], + [ + "▁Gabriel", + -11.886903762817383 + ], + [ + "▁patience", + -11.887053489685059 + ], + [ + "▁colored", + -11.887147903442383 + ], + [ + "▁separately", + -11.88715934753418 + ], + [ + "▁deployment", + -11.887166023254395 + ], + [ + "scape", + -11.887306213378906 + ], + [ + "▁Acum", + -11.8875150680542 + ], + [ + "▁länger", + -11.887518882751465 + ], + [ + "▁screens", + -11.887598991394043 + ], + [ + "▁prezenta", + -11.887630462646484 + ], + [ + "▁obicei", + -11.887638092041016 + ], + [ + "▁crisp", + -11.887758255004883 + ], + [ + "▁mechanisms", + -11.887771606445312 + ], + [ + "▁thirty", + -11.887786865234375 + ], + [ + "▁individually", + -11.887989044189453 + ], + [ + "▁internationally", + -11.887991905212402 + ], + [ + "lling", + -11.888050079345703 + ], + [ + "▁bureau", + -11.88843059539795 + ], + [ + "▁erfahren", + -11.88844108581543 + ], + [ + "TY", + -11.888553619384766 + ], + [ + "PF", + -11.888607025146484 + ], + [ + "wid", + -11.888752937316895 + ], + [ + "sell", + -11.888835906982422 + ], + [ + "▁Luke", + -11.888879776000977 + ], + [ + "▁Must", + -11.888916969299316 + ], + [ + "▁identical", + -11.888927459716797 + ], + [ + "▁Netherlands", + -11.888980865478516 + ], + [ + "▁investor", + -11.88905143737793 + ], + [ + "▁squad", + -11.889073371887207 + ], + [ + "▁21,", + -11.889143943786621 + ], + [ + "iko", + -11.889230728149414 + ], + [ + "▁departure", + -11.88937759399414 + ], + [ + "ega", + -11.889384269714355 + ], + [ + "uzi", + -11.889408111572266 + ], + [ + "▁lasa", + -11.889458656311035 + ], + [ + "bian", + -11.889525413513184 + ], + [ + "▁Madrid", + -11.889623641967773 + ], + [ + "▁Iowa", + -11.889806747436523 + ], + [ + "▁Yellow", + -11.890026092529297 + ], + [ + "conom", + -11.89004898071289 + ], + [ + "▁hint", + -11.890098571777344 + ], + [ + "NOW", + -11.890111923217773 + ], + [ + "dress", + -11.890204429626465 + ], + [ + "▁Stück", + -11.890267372131348 + ], + [ + "echt", + -11.890424728393555 + ], + [ + "rial", + -11.89045238494873 + ], + [ + "▁Initiative", + -11.890474319458008 + ], + [ + "▁magnificent", + -11.890474319458008 + ], + [ + "▁pipeline", + -11.890543937683105 + ], + [ + "▁08", + -11.890806198120117 + ], + [ + "▁écrit", + -11.890889167785645 + ], + [ + "KA", + -11.891085624694824 + ], + [ + "arile", + -11.891151428222656 + ], + [ + "▁unfortunately", + -11.891352653503418 + ], + [ + "dose", + -11.891355514526367 + ], + [ + "▁counts", + -11.891427993774414 + ], + [ + "deciding", + -11.891549110412598 + ], + [ + "WA", + -11.89167308807373 + ], + [ + "▁doresc", + -11.891685485839844 + ], + [ + "NY", + -11.892008781433105 + ], + [ + "olin", + -11.892112731933594 + ], + [ + "▁Urlaub", + -11.892133712768555 + ], + [ + "▁alătur", + -11.892317771911621 + ], + [ + "▁Vic", + -11.892515182495117 + ], + [ + "▁fier", + -11.89269733428955 + ], + [ + "EU", + -11.892772674560547 + ], + [ + "▁triple", + -11.892871856689453 + ], + [ + "▁compliment", + -11.89310359954834 + ], + [ + "▁vegetable", + -11.89334487915039 + ], + [ + "member", + -11.893743515014648 + ], + [ + "atiei", + -11.893793106079102 + ], + [ + "▁toxic", + -11.893835067749023 + ], + [ + "▁converted", + -11.893888473510742 + ], + [ + "▁Pink", + -11.893999099731445 + ], + [ + "▁fragment", + -11.894020080566406 + ], + [ + "presenting", + -11.894027709960938 + ], + [ + "▁garantie", + -11.894031524658203 + ], + [ + "▁31,", + -11.894052505493164 + ], + [ + "▁puisqu", + -11.894105911254883 + ], + [ + "aching", + -11.894107818603516 + ], + [ + "▁Shan", + -11.894119262695312 + ], + [ + "▁Affairs", + -11.894368171691895 + ], + [ + "üsse", + -11.894405364990234 + ], + [ + "▁CBD", + -11.894428253173828 + ], + [ + "▁quatre", + -11.894588470458984 + ], + [ + "▁horror", + -11.894651412963867 + ], + [ + "▁culoare", + -11.894661903381348 + ], + [ + "▁welcoming", + -11.894673347473145 + ], + [ + "▁headache", + -11.894808769226074 + ], + [ + "▁septembre", + -11.894820213317871 + ], + [ + "▁Tür", + -11.894862174987793 + ], + [ + "lateral", + -11.89507007598877 + ], + [ + "▁termin", + -11.895228385925293 + ], + [ + "▁Aid", + -11.895291328430176 + ], + [ + "second", + -11.895308494567871 + ], + [ + "▁Philip", + -11.895310401916504 + ], + [ + "berries", + -11.895347595214844 + ], + [ + "▁Slot", + -11.895431518554688 + ], + [ + "ка", + -11.895442962646484 + ], + [ + "▁consecutive", + -11.895590782165527 + ], + [ + "value", + -11.895705223083496 + ], + [ + "▁islands", + -11.8958101272583 + ], + [ + "▁posibilitatea", + -11.895928382873535 + ], + [ + "0.5", + -11.896341323852539 + ], + [ + "▁Dumpster", + -11.896471977233887 + ], + [ + "▁Gran", + -11.89647388458252 + ], + [ + "▁restricted", + -11.8967924118042 + ], + [ + "▁discussing", + -11.896921157836914 + ], + [ + "cock", + -11.896966934204102 + ], + [ + "Serie", + -11.896989822387695 + ], + [ + "▁crushing", + -11.896998405456543 + ], + [ + "RB", + -11.897034645080566 + ], + [ + "▁Gy", + -11.897068977355957 + ], + [ + "normal", + -11.897098541259766 + ], + [ + "DT", + -11.897180557250977 + ], + [ + "▁concurs", + -11.897181510925293 + ], + [ + "▁Beratung", + -11.897231101989746 + ], + [ + "▁handful", + -11.897235870361328 + ], + [ + "▁loading", + -11.897237777709961 + ], + [ + "▁WI", + -11.897269248962402 + ], + [ + "▁Fitness", + -11.897283554077148 + ], + [ + "▁RAM", + -11.897302627563477 + ], + [ + "▁Twi", + -11.89730453491211 + ], + [ + "adurch", + -11.897345542907715 + ], + [ + "▁obiectiv", + -11.897366523742676 + ], + [ + "BM", + -11.897635459899902 + ], + [ + "▁amendment", + -11.8976469039917 + ], + [ + "whi", + -11.897652626037598 + ], + [ + "▁Besonder", + -11.897871017456055 + ], + [ + "ALL", + -11.898003578186035 + ], + [ + "▁earning", + -11.898090362548828 + ], + [ + "▁nutrients", + -11.898580551147461 + ], + [ + "pru", + -11.898633003234863 + ], + [ + "▁offensive", + -11.898696899414062 + ], + [ + "▁shelves", + -11.898711204528809 + ], + [ + "▁încâ", + -11.898726463317871 + ], + [ + "▁execute", + -11.898923873901367 + ], + [ + "▁cauz", + -11.898966789245605 + ], + [ + "exist", + -11.899179458618164 + ], + [ + "▁Meter", + -11.899191856384277 + ], + [ + "there", + -11.899201393127441 + ], + [ + "▁réaliser", + -11.899249076843262 + ], + [ + "blog", + -11.899362564086914 + ], + [ + "▁résultats", + -11.89937973022461 + ], + [ + "baren", + -11.899391174316406 + ], + [ + "▁lang", + -11.899425506591797 + ], + [ + "▁mere", + -11.899870872497559 + ], + [ + "▁toti", + -11.900079727172852 + ], + [ + "DN", + -11.90017032623291 + ], + [ + "Hi", + -11.900310516357422 + ], + [ + "▁merg", + -11.900359153747559 + ], + [ + "▁Camera", + -11.90054988861084 + ], + [ + "▁parfum", + -11.900697708129883 + ], + [ + "CG", + -11.900701522827148 + ], + [ + "posed", + -11.900713920593262 + ], + [ + "▁proposals", + -11.900732040405273 + ], + [ + "▁incorrect", + -11.900811195373535 + ], + [ + "▁Denver", + -11.901168823242188 + ], + [ + "▁noapte", + -11.901397705078125 + ], + [ + "▁VPN", + -11.901436805725098 + ], + [ + "▁Oklahoma", + -11.90159797668457 + ], + [ + "horizon", + -11.901647567749023 + ], + [ + "▁villa", + -11.901668548583984 + ], + [ + "duce", + -11.901812553405762 + ], + [ + "Dienst", + -11.902042388916016 + ], + [ + "▁oversee", + -11.902511596679688 + ], + [ + "astr", + -11.902548789978027 + ], + [ + "brand", + -11.902713775634766 + ], + [ + "▁Safe", + -11.902746200561523 + ], + [ + "▁competing", + -11.902812004089355 + ], + [ + "▁subiect", + -11.902812004089355 + ], + [ + "▁équipe", + -11.903091430664062 + ], + [ + "▁Dress", + -11.903095245361328 + ], + [ + "▁Juni", + -11.903139114379883 + ], + [ + "▁repeated", + -11.90317153930664 + ], + [ + "2012", + -11.903226852416992 + ], + [ + "▁départ", + -11.903234481811523 + ], + [ + "immer", + -11.903335571289062 + ], + [ + "▁mondial", + -11.903374671936035 + ], + [ + "▁datelor", + -11.903703689575195 + ], + [ + "▁surgeon", + -11.903782844543457 + ], + [ + "▁demanding", + -11.903812408447266 + ], + [ + "▁concluded", + -11.903878211975098 + ], + [ + "țiile", + -11.903950691223145 + ], + [ + "marin", + -11.903999328613281 + ], + [ + "▁estim", + -11.904206275939941 + ], + [ + "▁Loan", + -11.904361724853516 + ], + [ + "sculpt", + -11.904373168945312 + ], + [ + "▁99", + -11.904391288757324 + ], + [ + "void", + -11.904400825500488 + ], + [ + "▁Empire", + -11.904499053955078 + ], + [ + "▁Brit", + -11.90450382232666 + ], + [ + "▁véhicule", + -11.904777526855469 + ], + [ + "▁dividend", + -11.905069351196289 + ], + [ + "▁refused", + -11.905077934265137 + ], + [ + "▁speaks", + -11.905156135559082 + ], + [ + "▁Morris", + -11.905282020568848 + ], + [ + "dict", + -11.905349731445312 + ], + [ + "▁funeral", + -11.905556678771973 + ], + [ + "▁Behandlung", + -11.905763626098633 + ], + [ + "▁Revolution", + -11.905905723571777 + ], + [ + "▁Sum", + -11.905935287475586 + ], + [ + "einigen", + -11.906030654907227 + ], + [ + "RES", + -11.906070709228516 + ], + [ + "▁vite", + -11.906071662902832 + ], + [ + "▁Captain", + -11.906190872192383 + ], + [ + "▁assurance", + -11.9061918258667 + ], + [ + "uga", + -11.906500816345215 + ], + [ + "▁conserv", + -11.906583786010742 + ], + [ + "▁therapeutic", + -11.906641006469727 + ], + [ + "▁Sweden", + -11.906753540039062 + ], + [ + "▁Lead", + -11.906888961791992 + ], + [ + "ément", + -11.907071113586426 + ], + [ + "▁53", + -11.90709114074707 + ], + [ + "▁fraction", + -11.9071683883667 + ], + [ + "▁magnet", + -11.907170295715332 + ], + [ + "assurer", + -11.907184600830078 + ], + [ + "▁Steuer", + -11.90733814239502 + ], + [ + "▁flori", + -11.90735149383545 + ], + [ + "▁charming", + -11.907588958740234 + ], + [ + "▁athletic", + -11.907621383666992 + ], + [ + "▁membri", + -11.907706260681152 + ], + [ + "▁Sep", + -11.907726287841797 + ], + [ + "ogue", + -11.907800674438477 + ], + [ + "▁familie", + -11.907800674438477 + ], + [ + "▁SW", + -11.90796947479248 + ], + [ + "▁diagnosed", + -11.908023834228516 + ], + [ + "RR", + -11.908143997192383 + ], + [ + "▁Fern", + -11.908233642578125 + ], + [ + "▁rational", + -11.908281326293945 + ], + [ + "▁talents", + -11.90828800201416 + ], + [ + "ziert", + -11.908317565917969 + ], + [ + "▁chemin", + -11.908459663391113 + ], + [ + "sheet", + -11.908562660217285 + ], + [ + "▁outer", + -11.908565521240234 + ], + [ + "▁Kap", + -11.908591270446777 + ], + [ + "▁HERE", + -11.908656120300293 + ], + [ + "▁uman", + -11.908824920654297 + ], + [ + "▁accompany", + -11.908880233764648 + ], + [ + "▁varieties", + -11.908881187438965 + ], + [ + "▁sensors", + -11.908957481384277 + ], + [ + "▁25%", + -11.90919017791748 + ], + [ + "▁tray", + -11.909354209899902 + ], + [ + "▁critique", + -11.909459114074707 + ], + [ + "▁puţin", + -11.909515380859375 + ], + [ + "▁Schüler", + -11.90953540802002 + ], + [ + "▁repar", + -11.909744262695312 + ], + [ + "▁overlook", + -11.909931182861328 + ], + [ + "▁surf", + -11.910048484802246 + ], + [ + "▁tasting", + -11.910118103027344 + ], + [ + "bog", + -11.91027545928955 + ], + [ + "▁Payment", + -11.910289764404297 + ], + [ + "▁Helen", + -11.91049575805664 + ], + [ + "▁Refer", + -11.910694122314453 + ], + [ + "application", + -11.910698890686035 + ], + [ + "lection", + -11.910856246948242 + ], + [ + "▁avril", + -11.911042213439941 + ], + [ + "▁Grace", + -11.911109924316406 + ], + [ + "▁kau", + -11.911274909973145 + ], + [ + "▁libraries", + -11.911319732666016 + ], + [ + "▁closest", + -11.911347389221191 + ], + [ + "▁coating", + -11.911351203918457 + ], + [ + "▁suicide", + -11.911364555358887 + ], + [ + "▁undergraduate", + -11.911449432373047 + ], + [ + "▁stitch", + -11.91149616241455 + ], + [ + "▁reset", + -11.911593437194824 + ], + [ + "▁Greece", + -11.911626815795898 + ], + [ + "▁Fred", + -11.91197681427002 + ], + [ + "▁18.", + -11.912047386169434 + ], + [ + "▁nuit", + -11.912087440490723 + ], + [ + "▁lying", + -11.912199974060059 + ], + [ + "▁cottage", + -11.91232681274414 + ], + [ + "bone", + -11.912477493286133 + ], + [ + "▁milieu", + -11.912480354309082 + ], + [ + "management", + -11.912623405456543 + ], + [ + "▁Freund", + -11.912724494934082 + ], + [ + "▁specially", + -11.912841796875 + ], + [ + "veut", + -11.912961959838867 + ], + [ + "▁necesare", + -11.912999153137207 + ], + [ + "▁cert", + -11.913081169128418 + ], + [ + "articul", + -11.913151741027832 + ], + [ + "150", + -11.913174629211426 + ], + [ + "rounded", + -11.913180351257324 + ], + [ + "▁longue", + -11.913193702697754 + ], + [ + "▁Quel", + -11.913240432739258 + ], + [ + "Until", + -11.913322448730469 + ], + [ + "▁700", + -11.913398742675781 + ], + [ + "▁installations", + -11.913423538208008 + ], + [ + "▁boats", + -11.913467407226562 + ], + [ + "Fig", + -11.913609504699707 + ], + [ + "▁cocktail", + -11.913613319396973 + ], + [ + "▁rocks", + -11.91366958618164 + ], + [ + "meinen", + -11.91374683380127 + ], + [ + "entrepreneur", + -11.913780212402344 + ], + [ + "schwarz", + -11.913924217224121 + ], + [ + "▁diesel", + -11.91392993927002 + ], + [ + "▁villages", + -11.913969039916992 + ], + [ + "▁cups", + -11.914076805114746 + ], + [ + "▁stairs", + -11.914241790771484 + ], + [ + "▁Match", + -11.914350509643555 + ], + [ + "Taking", + -11.914437294006348 + ], + [ + "prin", + -11.914469718933105 + ], + [ + "▁penal", + -11.91472053527832 + ], + [ + "partner", + -11.914867401123047 + ], + [ + "wave", + -11.91497802734375 + ], + [ + "▁baie", + -11.91515064239502 + ], + [ + "LAN", + -11.915151596069336 + ], + [ + "fix", + -11.915202140808105 + ], + [ + "▁surveillance", + -11.915295600891113 + ], + [ + "▁Register", + -11.915343284606934 + ], + [ + "oara", + -11.915536880493164 + ], + [ + "▁Phoenix", + -11.915602684020996 + ], + [ + "aktuellen", + -11.915613174438477 + ], + [ + "▁livres", + -11.915618896484375 + ], + [ + "▁entities", + -11.916102409362793 + ], + [ + "▁Regard", + -11.916112899780273 + ], + [ + "▁Jazz", + -11.91614055633545 + ], + [ + "▁flame", + -11.91616153717041 + ], + [ + "▁independence", + -11.916215896606445 + ], + [ + "▁Adventure", + -11.916341781616211 + ], + [ + "▁assign", + -11.916399955749512 + ], + [ + "▁Adult", + -11.916579246520996 + ], + [ + "kehr", + -11.916666984558105 + ], + [ + "▁ordering", + -11.916850090026855 + ], + [ + "▁charts", + -11.91687297821045 + ], + [ + "▁Român", + -11.916936874389648 + ], + [ + "bauen", + -11.916982650756836 + ], + [ + "▁Floor", + -11.917065620422363 + ], + [ + "▁Meet", + -11.917101860046387 + ], + [ + "▁compromise", + -11.917158126831055 + ], + [ + "regarded", + -11.917171478271484 + ], + [ + "02.", + -11.917215347290039 + ], + [ + "▁granite", + -11.917299270629883 + ], + [ + "▁Judge", + -11.917314529418945 + ], + [ + "opti", + -11.917373657226562 + ], + [ + "liste", + -11.917379379272461 + ], + [ + "▁capacité", + -11.917427062988281 + ], + [ + "▁criticism", + -11.917450904846191 + ], + [ + "LES", + -11.918198585510254 + ], + [ + "▁Century", + -11.918211936950684 + ], + [ + "▁mobility", + -11.918252944946289 + ], + [ + "▁variation", + -11.918622016906738 + ], + [ + "▁Utah", + -11.91867446899414 + ], + [ + "▁seminar", + -11.918678283691406 + ], + [ + "▁experiments", + -11.918803215026855 + ], + [ + "midst", + -11.918943405151367 + ], + [ + "▁Psycho", + -11.919002532958984 + ], + [ + "▁choses", + -11.919121742248535 + ], + [ + "▁Karl", + -11.919175148010254 + ], + [ + "▁ruling", + -11.919286727905273 + ], + [ + "▁Voice", + -11.919404983520508 + ], + [ + "▁împotriv", + -11.919442176818848 + ], + [ + "▁mesaj", + -11.919500350952148 + ], + [ + "▁vrei", + -11.919594764709473 + ], + [ + "fan", + -11.919601440429688 + ], + [ + "parent", + -11.919648170471191 + ], + [ + "▁oraș", + -11.919770240783691 + ], + [ + "▁printable", + -11.919777870178223 + ], + [ + "▁diver", + -11.919859886169434 + ], + [ + "▁ochi", + -11.919949531555176 + ], + [ + "▁teenager", + -11.920125961303711 + ], + [ + "▁Death", + -11.920150756835938 + ], + [ + "▁manque", + -11.920289993286133 + ], + [ + "ască", + -11.920345306396484 + ], + [ + "▁prob", + -11.9203519821167 + ], + [ + "▁télé", + -11.920354843139648 + ], + [ + "cursul", + -11.920378684997559 + ], + [ + "pion", + -11.92052173614502 + ], + [ + "▁dedication", + -11.920644760131836 + ], + [ + "▁opr", + -11.920687675476074 + ], + [ + "führung", + -11.920761108398438 + ], + [ + "▁cognitive", + -11.920827865600586 + ], + [ + "soft", + -11.920868873596191 + ], + [ + "▁19,", + -11.9209623336792 + ], + [ + "▁24-", + -11.921197891235352 + ], + [ + "▁legitimate", + -11.921220779418945 + ], + [ + "▁comedy", + -11.921277046203613 + ], + [ + "▁violation", + -11.921327590942383 + ], + [ + "▁disposal", + -11.921472549438477 + ], + [ + "▁liegen", + -11.921605110168457 + ], + [ + "ко", + -11.921878814697266 + ], + [ + "▁martie", + -11.921931266784668 + ], + [ + "▁Vas", + -11.92212200164795 + ], + [ + "rash", + -11.922134399414062 + ], + [ + "▁hadn", + -11.922174453735352 + ], + [ + "▁connu", + -11.922204971313477 + ], + [ + "▁regelmäßig", + -11.922216415405273 + ], + [ + "▁Webseite", + -11.922224998474121 + ], + [ + "▁failing", + -11.922273635864258 + ], + [ + "explique", + -11.922449111938477 + ], + [ + "▁Player", + -11.922513961791992 + ], + [ + "vul", + -11.922560691833496 + ], + [ + "camp", + -11.922992706298828 + ], + [ + "▁erreicht", + -11.922996520996094 + ], + [ + "▁tags", + -11.922998428344727 + ], + [ + "▁headline", + -11.923210144042969 + ], + [ + "▁banc", + -11.923253059387207 + ], + [ + "▁Mayor", + -11.923309326171875 + ], + [ + "trop", + -11.923395156860352 + ], + [ + "AK", + -11.9235258102417 + ], + [ + "▁lighter", + -11.923602104187012 + ], + [ + "▁syndrome", + -11.923604965209961 + ], + [ + "▁Adrian", + -11.92365550994873 + ], + [ + "▁EUR", + -11.923759460449219 + ], + [ + "▁Missouri", + -11.923916816711426 + ], + [ + "▁Chan", + -11.924108505249023 + ], + [ + "topped", + -11.924233436584473 + ], + [ + "▁nationwide", + -11.924276351928711 + ], + [ + "▁6-", + -11.924302101135254 + ], + [ + "final", + -11.924408912658691 + ], + [ + "ttes", + -11.924485206604004 + ], + [ + "▁FO", + -11.924537658691406 + ], + [ + "▁legi", + -11.924556732177734 + ], + [ + "▁Hum", + -11.924575805664062 + ], + [ + "vita", + -11.924662590026855 + ], + [ + "▁Regen", + -11.924695014953613 + ], + [ + "▁confusion", + -11.92498779296875 + ], + [ + "▁valori", + -11.925142288208008 + ], + [ + "mill", + -11.92516803741455 + ], + [ + "did", + -11.925237655639648 + ], + [ + "pid", + -11.925253868103027 + ], + [ + "▁implications", + -11.925284385681152 + ], + [ + "▁Value", + -11.92552375793457 + ], + [ + "lângă", + -11.925666809082031 + ], + [ + "▁véritable", + -11.92577075958252 + ], + [ + "▁Stick", + -11.925814628601074 + ], + [ + "zol", + -11.925835609436035 + ], + [ + "▁ebenso", + -11.925863265991211 + ], + [ + "west", + -11.925895690917969 + ], + [ + "▁auszu", + -11.92600154876709 + ], + [ + "▁adorable", + -11.926016807556152 + ], + [ + "▁clarity", + -11.92605209350586 + ], + [ + "▁Wash", + -11.926335334777832 + ], + [ + "▁alien", + -11.926423072814941 + ], + [ + "usement", + -11.926626205444336 + ], + [ + "▁bones", + -11.9266357421875 + ], + [ + "▁Beau", + -11.926726341247559 + ], + [ + "▁Jet", + -11.926727294921875 + ], + [ + "▁visibility", + -11.927034378051758 + ], + [ + "impose", + -11.927063941955566 + ], + [ + "food", + -11.927133560180664 + ], + [ + "▁duce", + -11.927361488342285 + ], + [ + "▁Format", + -11.927386283874512 + ], + [ + "▁durability", + -11.927424430847168 + ], + [ + "▁Prim", + -11.927614212036133 + ], + [ + "▁mele", + -11.927629470825195 + ], + [ + "▁dürfen", + -11.927631378173828 + ], + [ + "▁Angebote", + -11.92765998840332 + ], + [ + "▁discharge", + -11.927745819091797 + ], + [ + "▁Justin", + -11.928055763244629 + ], + [ + "▁shame", + -11.928228378295898 + ], + [ + "▁heated", + -11.928282737731934 + ], + [ + "ères", + -11.92856216430664 + ], + [ + "human", + -11.928810119628906 + ], + [ + "4.5", + -11.928831100463867 + ], + [ + "▁lien", + -11.928955078125 + ], + [ + "▁Alan", + -11.92896556854248 + ], + [ + "▁transmis", + -11.929130554199219 + ], + [ + "▁Bul", + -11.929137229919434 + ], + [ + "plu", + -11.929169654846191 + ], + [ + "acul", + -11.929337501525879 + ], + [ + "merk", + -11.929434776306152 + ], + [ + "▁altfel", + -11.929566383361816 + ], + [ + "deli", + -11.929689407348633 + ], + [ + "▁Cru", + -11.930001258850098 + ], + [ + "▁hommes", + -11.930127143859863 + ], + [ + "aurait", + -11.930137634277344 + ], + [ + "cca", + -11.930187225341797 + ], + [ + "▁Path", + -11.930208206176758 + ], + [ + "astronom", + -11.930241584777832 + ], + [ + "▁détail", + -11.930276870727539 + ], + [ + "▁blocked", + -11.930394172668457 + ], + [ + "iding", + -11.93044376373291 + ], + [ + "schä", + -11.930500030517578 + ], + [ + "▁30-", + -11.930624008178711 + ], + [ + "diction", + -11.930813789367676 + ], + [ + "▁pulling", + -11.930868148803711 + ], + [ + "▁Sample", + -11.930924415588379 + ], + [ + "▁renewable", + -11.930997848510742 + ], + [ + "▁Pinterest", + -11.93106746673584 + ], + [ + "▁Tages", + -11.93106746673584 + ], + [ + "▁shed", + -11.931171417236328 + ], + [ + "▁hart", + -11.931188583374023 + ], + [ + "▁serie", + -11.931200981140137 + ], + [ + "▁documentary", + -11.931208610534668 + ], + [ + "gebaut", + -11.931220054626465 + ], + [ + "▁Hause", + -11.931272506713867 + ], + [ + "share", + -11.931303977966309 + ], + [ + "▁inflation", + -11.93138599395752 + ], + [ + "▁gall", + -11.931504249572754 + ], + [ + "▁adjacent", + -11.931673049926758 + ], + [ + "jer", + -11.93173885345459 + ], + [ + "▁Universal", + -11.931946754455566 + ], + [ + "▁disabilities", + -11.931984901428223 + ], + [ + "▁proposition", + -11.93204116821289 + ], + [ + "Work", + -11.932293891906738 + ], + [ + "▁closure", + -11.932306289672852 + ], + [ + "▁separated", + -11.932496070861816 + ], + [ + "▁soda", + -11.932549476623535 + ], + [ + "▁elite", + -11.93263053894043 + ], + [ + "appro", + -11.93265438079834 + ], + [ + "▁acute", + -11.93266487121582 + ], + [ + "utton", + -11.932938575744629 + ], + [ + "▁facă", + -11.933053016662598 + ], + [ + "▁collector", + -11.933121681213379 + ], + [ + "▁unlock", + -11.933249473571777 + ], + [ + "▁Alpha", + -11.933267593383789 + ], + [ + "▁Used", + -11.933267593383789 + ], + [ + "▁applicants", + -11.933302879333496 + ], + [ + "▁înseamn", + -11.933387756347656 + ], + [ + "▁inclu", + -11.933414459228516 + ], + [ + "▁disclosure", + -11.933544158935547 + ], + [ + "▁Fahr", + -11.933995246887207 + ], + [ + "AST", + -11.934061050415039 + ], + [ + "▁vivre", + -11.934069633483887 + ], + [ + "»,", + -11.934167861938477 + ], + [ + "laud", + -11.93430233001709 + ], + [ + "▁soir", + -11.934365272521973 + ], + [ + "▁barrier", + -11.934405326843262 + ], + [ + "înd", + -11.934470176696777 + ], + [ + "▁ambition", + -11.93451976776123 + ], + [ + "asta", + -11.934550285339355 + ], + [ + "occupied", + -11.934747695922852 + ], + [ + "▁Gau", + -11.934774398803711 + ], + [ + "four", + -11.93481159210205 + ], + [ + "▁nap", + -11.934887886047363 + ], + [ + "iez", + -11.934922218322754 + ], + [ + "endra", + -11.935242652893066 + ], + [ + "gaben", + -11.935464859008789 + ], + [ + "▁Carol", + -11.935481071472168 + ], + [ + "▁Switzerland", + -11.935575485229492 + ], + [ + "▁Bond", + -11.935617446899414 + ], + [ + "▁crossing", + -11.935630798339844 + ], + [ + "▁Palace", + -11.9359769821167 + ], + [ + "NG", + -11.935986518859863 + ], + [ + "▁Budget", + -11.93622875213623 + ], + [ + "▁lid", + -11.936372756958008 + ], + [ + "bab", + -11.936393737792969 + ], + [ + "▁polish", + -11.936416625976562 + ], + [ + "▁herbs", + -11.93673038482666 + ], + [ + "▁dear", + -11.936747550964355 + ], + [ + "▁devrai", + -11.936846733093262 + ], + [ + "walk", + -11.936864852905273 + ], + [ + "▁humanity", + -11.936897277832031 + ], + [ + "▁tires", + -11.936978340148926 + ], + [ + "égal", + -11.936994552612305 + ], + [ + "▁bow", + -11.937032699584961 + ], + [ + "▁debris", + -11.937201499938965 + ], + [ + "▁keywords", + -11.937273025512695 + ], + [ + "irk", + -11.937345504760742 + ], + [ + "▁suspend", + -11.937360763549805 + ], + [ + "▁pourra", + -11.93738079071045 + ], + [ + "migran", + -11.937454223632812 + ], + [ + "thereby", + -11.937570571899414 + ], + [ + "▁Harris", + -11.937943458557129 + ], + [ + "ateurs", + -11.937956809997559 + ], + [ + "▁fal", + -11.938271522521973 + ], + [ + "alleged", + -11.938355445861816 + ], + [ + "noch", + -11.938494682312012 + ], + [ + "▁observation", + -11.938506126403809 + ], + [ + "▁București", + -11.93855094909668 + ], + [ + "▁SQL", + -11.938624382019043 + ], + [ + "▁Phase", + -11.938760757446289 + ], + [ + "▁adventures", + -11.93881607055664 + ], + [ + "▁Kol", + -11.938885688781738 + ], + [ + "▁professionnel", + -11.938916206359863 + ], + [ + "crit", + -11.939026832580566 + ], + [ + "LR", + -11.939313888549805 + ], + [ + "▁preview", + -11.939464569091797 + ], + [ + "▁highlighted", + -11.939942359924316 + ], + [ + "▁Stud", + -11.939949035644531 + ], + [ + "▁labour", + -11.939956665039062 + ], + [ + "MV", + -11.9399995803833 + ], + [ + "click", + -11.940049171447754 + ], + [ + "approche", + -11.94016170501709 + ], + [ + "tian", + -11.940183639526367 + ], + [ + "cité", + -11.940192222595215 + ], + [ + "▁Rain", + -11.94028377532959 + ], + [ + "typ", + -11.94032096862793 + ], + [ + "Usually", + -11.940435409545898 + ], + [ + "▁outlet", + -11.940513610839844 + ], + [ + "logging", + -11.940814018249512 + ], + [ + "▁Temperatur", + -11.940906524658203 + ], + [ + "▁Scottish", + -11.94090747833252 + ], + [ + "iga", + -11.940942764282227 + ], + [ + "▁glory", + -11.941086769104004 + ], + [ + "▁Rom", + -11.941242218017578 + ], + [ + "zeug", + -11.941337585449219 + ], + [ + "establishing", + -11.941339492797852 + ], + [ + "▁imaging", + -11.941926002502441 + ], + [ + "▁Beauty", + -11.942015647888184 + ], + [ + "igan", + -11.942042350769043 + ], + [ + "après", + -11.94224739074707 + ], + [ + "Adresse", + -11.942267417907715 + ], + [ + "cliff", + -11.942349433898926 + ], + [ + "▁unnecessary", + -11.943267822265625 + ], + [ + "▁slim", + -11.943324089050293 + ], + [ + "dir", + -11.943490982055664 + ], + [ + "▁leisure", + -11.943660736083984 + ], + [ + "▁principale", + -11.94368839263916 + ], + [ + "▁Viele", + -11.943770408630371 + ], + [ + "▁2007.", + -11.943802833557129 + ], + [ + "Hopefully", + -11.943829536437988 + ], + [ + "cola", + -11.943851470947266 + ], + [ + "▁Planet", + -11.943927764892578 + ], + [ + "▁orientation", + -11.943933486938477 + ], + [ + "▁angry", + -11.94419002532959 + ], + [ + "MIT", + -11.944234848022461 + ], + [ + "▁Kenya", + -11.944265365600586 + ], + [ + "▁bless", + -11.94435977935791 + ], + [ + "▁Fill", + -11.944524765014648 + ], + [ + "▁compar", + -11.944664001464844 + ], + [ + "▁curtain", + -11.94473934173584 + ], + [ + "ţei", + -11.944754600524902 + ], + [ + "▁Az", + -11.94482421875 + ], + [ + "▁Rang", + -11.944908142089844 + ], + [ + "▁dominant", + -11.944974899291992 + ], + [ + "race", + -11.944985389709473 + ], + [ + "▁Target", + -11.944987297058105 + ], + [ + "▁manually", + -11.944987297058105 + ], + [ + "objet", + -11.945024490356445 + ], + [ + "thrown", + -11.945131301879883 + ], + [ + "NF", + -11.945149421691895 + ], + [ + "durant", + -11.945185661315918 + ], + [ + "rect", + -11.945302963256836 + ], + [ + "▁Größe", + -11.945320129394531 + ], + [ + "VM", + -11.9453763961792 + ], + [ + "▁aprilie", + -11.945476531982422 + ], + [ + "▁Welche", + -11.945639610290527 + ], + [ + "▁verde", + -11.946157455444336 + ], + [ + "▁Portugal", + -11.946266174316406 + ], + [ + "▁algorithm", + -11.94627571105957 + ], + [ + "ăț", + -11.946328163146973 + ], + [ + "▁Grey", + -11.946371078491211 + ], + [ + "▁cleaned", + -11.94644832611084 + ], + [ + "▁modes", + -11.946463584899902 + ], + [ + "▁relaxation", + -11.946599006652832 + ], + [ + "mbr", + -11.946786880493164 + ], + [ + "étique", + -11.946821212768555 + ], + [ + "Her", + -11.946904182434082 + ], + [ + "▁beta", + -11.946952819824219 + ], + [ + "▁nobody", + -11.94699764251709 + ], + [ + "▁aplic", + -11.947060585021973 + ], + [ + "present", + -11.947080612182617 + ], + [ + "emis", + -11.947197914123535 + ], + [ + "éléments", + -11.947257995605469 + ], + [ + "▁lately", + -11.947303771972656 + ], + [ + "fab", + -11.94732666015625 + ], + [ + "▁aluminiu", + -11.947373390197754 + ], + [ + "▁vest", + -11.947524070739746 + ], + [ + "▁statue", + -11.947558403015137 + ], + [ + "▁publice", + -11.947586059570312 + ], + [ + "▁merchandise", + -11.9476900100708 + ], + [ + "▁relat", + -11.947810173034668 + ], + [ + "git", + -11.94796371459961 + ], + [ + "▁interne", + -11.948281288146973 + ], + [ + "▁Tokyo", + -11.948325157165527 + ], + [ + "chal", + -11.948348045349121 + ], + [ + "contacted", + -11.948430061340332 + ], + [ + "▁tras", + -11.948455810546875 + ], + [ + "▁Clinic", + -11.948626518249512 + ], + [ + "▁unbe", + -11.948633193969727 + ], + [ + "▁dumneavoastra", + -11.948798179626465 + ], + [ + "float", + -11.949078559875488 + ], + [ + "isson", + -11.94909381866455 + ], + [ + "▁vessel", + -11.949126243591309 + ], + [ + "attempting", + -11.949161529541016 + ], + [ + "▁doute", + -11.94918441772461 + ], + [ + "▁Leadership", + -11.949322700500488 + ], + [ + "▁sustain", + -11.94947338104248 + ], + [ + "▁textile", + -11.949666023254395 + ], + [ + "auer", + -11.949702262878418 + ], + [ + "▁90%", + -11.949899673461914 + ], + [ + "garten", + -11.949911117553711 + ], + [ + "▁adauga", + -11.949991226196289 + ], + [ + "▁Kil", + -11.950061798095703 + ], + [ + "▁troops", + -11.950420379638672 + ], + [ + "▁pale", + -11.950568199157715 + ], + [ + "host", + -11.950743675231934 + ], + [ + "▁cry", + -11.950757026672363 + ], + [ + "▁Alb", + -11.950793266296387 + ], + [ + "▁Brad", + -11.95089340209961 + ], + [ + "▁bicycle", + -11.951054573059082 + ], + [ + "▁24/7", + -11.951217651367188 + ], + [ + "▁с", + -11.951228141784668 + ], + [ + "▁stimul", + -11.951401710510254 + ], + [ + "gler", + -11.951445579528809 + ], + [ + "▁notwendig", + -11.951496124267578 + ], + [ + "▁cousin", + -11.95158863067627 + ], + [ + "cheie", + -11.951600074768066 + ], + [ + "hay", + -11.951751708984375 + ], + [ + "▁rezolv", + -11.952134132385254 + ], + [ + "▁THIS", + -11.952143669128418 + ], + [ + "ordre", + -11.952157974243164 + ], + [ + "iști", + -11.952173233032227 + ], + [ + "▁conclude", + -11.952310562133789 + ], + [ + "▁Lage", + -11.952327728271484 + ], + [ + "▁Entertainment", + -11.952454566955566 + ], + [ + "▁valued", + -11.952478408813477 + ], + [ + "ktion", + -11.95253849029541 + ], + [ + "▁priorities", + -11.95268440246582 + ], + [ + "▁1986", + -11.952770233154297 + ], + [ + "▁fatal", + -11.952934265136719 + ], + [ + "▁accurately", + -11.952988624572754 + ], + [ + "▁1987", + -11.953022956848145 + ], + [ + "▁folk", + -11.953073501586914 + ], + [ + "7)", + -11.953163146972656 + ], + [ + "führer", + -11.95360279083252 + ], + [ + "▁knot", + -11.953612327575684 + ], + [ + "haltung", + -11.953720092773438 + ], + [ + "▁Charlie", + -11.953733444213867 + ], + [ + "âge", + -11.95376205444336 + ], + [ + "▁threshold", + -11.954041481018066 + ], + [ + "▁assault", + -11.954130172729492 + ], + [ + "▁meist", + -11.954141616821289 + ], + [ + "bine", + -11.954155921936035 + ], + [ + "surprisingly", + -11.954171180725098 + ], + [ + "▁Protect", + -11.954180717468262 + ], + [ + "▁Hack", + -11.954258918762207 + ], + [ + "▁Quant", + -11.954537391662598 + ], + [ + "▁Cet", + -11.954782485961914 + ], + [ + "▁convinced", + -11.95481014251709 + ], + [ + "▁muncă", + -11.955033302307129 + ], + [ + "dging", + -11.955066680908203 + ], + [ + "▁Millionen", + -11.955129623413086 + ], + [ + "zahlung", + -11.955148696899414 + ], + [ + "▁anticipated", + -11.955192565917969 + ], + [ + "▁brass", + -11.9552001953125 + ], + [ + "KO", + -11.955244064331055 + ], + [ + "▁culori", + -11.955286979675293 + ], + [ + "▁Aero", + -11.955326080322266 + ], + [ + "▁intermediu", + -11.955373764038086 + ], + [ + "▁Philippines", + -11.955381393432617 + ], + [ + "▁jury", + -11.955387115478516 + ], + [ + "▁Funktion", + -11.95569896697998 + ], + [ + "▁probe", + -11.955704689025879 + ], + [ + "TL", + -11.955748558044434 + ], + [ + "1.0", + -11.955804824829102 + ], + [ + "ELL", + -11.95581340789795 + ], + [ + "She", + -11.956001281738281 + ], + [ + "▁Blood", + -11.956073760986328 + ], + [ + "▁Dean", + -11.956111907958984 + ], + [ + "▁scène", + -11.9561185836792 + ], + [ + "volu", + -11.95621395111084 + ], + [ + "▁Epi", + -11.95621395111084 + ], + [ + "▁séjour", + -11.95627498626709 + ], + [ + "▁Smartphone", + -11.956306457519531 + ], + [ + "▁fired", + -11.956357955932617 + ], + [ + "beat", + -11.95650577545166 + ], + [ + "▁pockets", + -11.956506729125977 + ], + [ + "▁serviciu", + -11.956624031066895 + ], + [ + "▁affairs", + -11.95678424835205 + ], + [ + "▁Ry", + -11.956842422485352 + ], + [ + "▁Stadium", + -11.956954956054688 + ], + [ + "▁snacks", + -11.957182884216309 + ], + [ + "▁efectu", + -11.957221031188965 + ], + [ + "▁Richtung", + -11.957273483276367 + ], + [ + "▁dresses", + -11.957352638244629 + ], + [ + "▁Medien", + -11.95744800567627 + ], + [ + "writer", + -11.95759105682373 + ], + [ + "changing", + -11.957655906677246 + ], + [ + "▁supportive", + -11.957849502563477 + ], + [ + "▁beneath", + -11.957873344421387 + ], + [ + "paid", + -11.958078384399414 + ], + [ + "▁customize", + -11.958155632019043 + ], + [ + "▁Ferr", + -11.958187103271484 + ], + [ + "reaches", + -11.958338737487793 + ], + [ + "arma", + -11.958401679992676 + ], + [ + "ción", + -11.958598136901855 + ], + [ + "▁elderly", + -11.959243774414062 + ], + [ + "▁modification", + -11.95934009552002 + ], + [ + "▁perfection", + -11.959381103515625 + ], + [ + "▁Allow", + -11.959492683410645 + ], + [ + "▁belonging", + -11.959542274475098 + ], + [ + "▁compound", + -11.959589004516602 + ], + [ + "▁Results", + -11.959681510925293 + ], + [ + "▁astăzi", + -11.959793090820312 + ], + [ + "▁Liber", + -11.959818840026855 + ], + [ + "jor", + -11.959850311279297 + ], + [ + "▁Nin", + -11.959980964660645 + ], + [ + "▁lumina", + -11.959992408752441 + ], + [ + "▁130", + -11.960073471069336 + ], + [ + "▁Platform", + -11.960121154785156 + ], + [ + "▁SMS", + -11.960221290588379 + ], + [ + "▁medic", + -11.96024227142334 + ], + [ + "hör", + -11.960315704345703 + ], + [ + "▁Kas", + -11.96038818359375 + ], + [ + "▁tomato", + -11.960403442382812 + ], + [ + "▁logiciel", + -11.960505485534668 + ], + [ + "php", + -11.960654258728027 + ], + [ + "▁premises", + -11.96071720123291 + ], + [ + "▁Communication", + -11.96072769165039 + ], + [ + "▁reprezintă", + -11.960762023925781 + ], + [ + "▁Partners", + -11.960866928100586 + ], + [ + "▁RV", + -11.961090087890625 + ], + [ + "▁pants", + -11.961197853088379 + ], + [ + "▁envie", + -11.961256980895996 + ], + [ + "▁commerce", + -11.961263656616211 + ], + [ + "▁tears", + -11.961298942565918 + ], + [ + "▁cooler", + -11.961494445800781 + ], + [ + "strand", + -11.961556434631348 + ], + [ + "▁Gil", + -11.961588859558105 + ], + [ + "▁référence", + -11.961641311645508 + ], + [ + "▁electronics", + -11.961681365966797 + ], + [ + "exposition", + -11.961700439453125 + ], + [ + "▁Caribbean", + -11.96171760559082 + ], + [ + "▁compelling", + -11.96171760559082 + ], + [ + "luci", + -11.961723327636719 + ], + [ + "▁Brooklyn", + -11.961892127990723 + ], + [ + "▁Thai", + -11.961950302124023 + ], + [ + "dler", + -11.96198844909668 + ], + [ + "▁supra", + -11.962016105651855 + ], + [ + "centered", + -11.962026596069336 + ], + [ + "▁metro", + -11.962081909179688 + ], + [ + "▁03", + -11.962299346923828 + ], + [ + "▁enrich", + -11.962437629699707 + ], + [ + "▁adevarat", + -11.962594985961914 + ], + [ + "5000", + -11.962961196899414 + ], + [ + "▁bell", + -11.96297550201416 + ], + [ + "▁sine", + -11.962996482849121 + ], + [ + "▁appealing", + -11.963088989257812 + ], + [ + "clam", + -11.963116645812988 + ], + [ + "▁vorhanden", + -11.963165283203125 + ], + [ + "▁pickup", + -11.963268280029297 + ], + [ + "▁Alaska", + -11.963269233703613 + ], + [ + "▁Nacht", + -11.963300704956055 + ], + [ + "borough", + -11.9633207321167 + ], + [ + "▁Blanc", + -11.96340274810791 + ], + [ + "▁apare", + -11.963616371154785 + ], + [ + "▁Works", + -11.963798522949219 + ], + [ + "mettent", + -11.963801383972168 + ], + [ + "atter", + -11.96389389038086 + ], + [ + "terra", + -11.963946342468262 + ], + [ + "▁Bit", + -11.964105606079102 + ], + [ + "RL", + -11.964131355285645 + ], + [ + "▁Wander", + -11.964262962341309 + ], + [ + "▁Hawk", + -11.964595794677734 + ], + [ + "▁Probleme", + -11.964665412902832 + ], + [ + "regel", + -11.964729309082031 + ], + [ + "hne", + -11.964739799499512 + ], + [ + "fass", + -11.96486759185791 + ], + [ + "▁Andy", + -11.965014457702637 + ], + [ + "▁befinde", + -11.965179443359375 + ], + [ + "boo", + -11.965265274047852 + ], + [ + "▁connectivity", + -11.965304374694824 + ], + [ + "▁spielt", + -11.965418815612793 + ], + [ + "zweiten", + -11.96547794342041 + ], + [ + "ţilor", + -11.965526580810547 + ], + [ + "▁confi", + -11.96561336517334 + ], + [ + "▁schlecht", + -11.965773582458496 + ], + [ + "▁Beginn", + -11.96581745147705 + ], + [ + "▁floating", + -11.965903282165527 + ], + [ + "nimmt", + -11.966071128845215 + ], + [ + "▁arbeiten", + -11.96611213684082 + ], + [ + "pillar", + -11.966131210327148 + ], + [ + "sterreich", + -11.966347694396973 + ], + [ + "▁Schule", + -11.966446876525879 + ], + [ + "▁durée", + -11.966521263122559 + ], + [ + "▁honestly", + -11.96653938293457 + ], + [ + "▁acel", + -11.9666166305542 + ], + [ + "▁Prozess", + -11.96662425994873 + ], + [ + "Min", + -11.966629028320312 + ], + [ + "enii", + -11.966632843017578 + ], + [ + "DAY", + -11.966758728027344 + ], + [ + "▁Blo", + -11.966806411743164 + ], + [ + "▁bolt", + -11.966946601867676 + ], + [ + "sicher", + -11.967070579528809 + ], + [ + "▁17,", + -11.967122077941895 + ], + [ + "▁anchor", + -11.967215538024902 + ], + [ + "▁consistency", + -11.967241287231445 + ], + [ + "▁relatives", + -11.967263221740723 + ], + [ + "▁lac", + -11.967385292053223 + ], + [ + "105", + -11.967432975769043 + ], + [ + "▁Craig", + -11.967534065246582 + ], + [ + "▁mandate", + -11.967598915100098 + ], + [ + "▁bedeutet", + -11.967674255371094 + ], + [ + "▁Soviet", + -11.967680931091309 + ], + [ + "▁arguments", + -11.967938423156738 + ], + [ + "▁Gebäude", + -11.967997550964355 + ], + [ + "▁Parliament", + -11.968005180358887 + ], + [ + "▁Kha", + -11.968087196350098 + ], + [ + "nica", + -11.968130111694336 + ], + [ + "▁Amazing", + -11.968162536621094 + ], + [ + "gründe", + -11.968179702758789 + ], + [ + "▁Ott", + -11.968269348144531 + ], + [ + "Exp", + -11.968314170837402 + ], + [ + "▁ianuarie", + -11.96848201751709 + ], + [ + "riot", + -11.968571662902832 + ], + [ + "▁futur", + -11.968626976013184 + ], + [ + "▁Honda", + -11.968647956848145 + ], + [ + "!!!!", + -11.96865177154541 + ], + [ + "▁citit", + -11.968689918518066 + ], + [ + "▁22,", + -11.968708992004395 + ], + [ + "țional", + -11.968711853027344 + ], + [ + "▁lovers", + -11.968732833862305 + ], + [ + "▁Current", + -11.968835830688477 + ], + [ + "▁drone", + -11.96927261352539 + ], + [ + "▁promising", + -11.969335556030273 + ], + [ + "devoted", + -11.969443321228027 + ], + [ + "▁Born", + -11.969520568847656 + ], + [ + "▁viitor", + -11.969589233398438 + ], + [ + "▁ritual", + -11.969614028930664 + ], + [ + "▁Guard", + -11.969681739807129 + ], + [ + "09.", + -11.969828605651855 + ], + [ + "▁Py", + -11.970260620117188 + ], + [ + "▁finds", + -11.970380783081055 + ], + [ + "▁boli", + -11.970394134521484 + ], + [ + "▁Mitglieder", + -11.970697402954102 + ], + [ + "ogni", + -11.97107982635498 + ], + [ + "▁stones", + -11.97118854522705 + ], + [ + "rox", + -11.971210479736328 + ], + [ + "▁dock", + -11.971390724182129 + ], + [ + "▁onion", + -11.97144889831543 + ], + [ + "▁classified", + -11.971538543701172 + ], + [ + "big", + -11.971833229064941 + ], + [ + "RG", + -11.971857070922852 + ], + [ + "influenced", + -11.971955299377441 + ], + [ + "▁sudden", + -11.971988677978516 + ], + [ + "▁ample", + -11.97204303741455 + ], + [ + "án", + -11.972095489501953 + ], + [ + "▁ornament", + -11.972122192382812 + ], + [ + "datele", + -11.972227096557617 + ], + [ + "▁Dad", + -11.97225284576416 + ], + [ + "BER", + -11.972278594970703 + ], + [ + "gerecht", + -11.972380638122559 + ], + [ + "kett", + -11.972536087036133 + ], + [ + "▁Antonio", + -11.972572326660156 + ], + [ + "Nu", + -11.972834587097168 + ], + [ + "dium", + -11.97284984588623 + ], + [ + "CAD", + -11.972850799560547 + ], + [ + "▁bundle", + -11.972916603088379 + ], + [ + "▁Vari", + -11.97301197052002 + ], + [ + "▁thrive", + -11.973020553588867 + ], + [ + "▁Seminar", + -11.973071098327637 + ], + [ + "wire", + -11.973084449768066 + ], + [ + "▁contributing", + -11.973114967346191 + ], + [ + "▁Bour", + -11.97320556640625 + ], + [ + "▁dori", + -11.973206520080566 + ], + [ + "▁packing", + -11.97343921661377 + ], + [ + "▁colleges", + -11.973459243774414 + ], + [ + "▁garbage", + -11.97366714477539 + ], + [ + "▁vector", + -11.973837852478027 + ], + [ + "▁suggestion", + -11.973897933959961 + ], + [ + "borne", + -11.973904609680176 + ], + [ + "▁Listen", + -11.973938941955566 + ], + [ + "▁Prix", + -11.973957061767578 + ], + [ + "viennent", + -11.974162101745605 + ], + [ + "insbesondere", + -11.97426700592041 + ], + [ + "▁fonctionne", + -11.974435806274414 + ], + [ + "▁mainstream", + -11.974485397338867 + ], + [ + "▁merci", + -11.974574089050293 + ], + [ + "oko", + -11.97460651397705 + ], + [ + "▁Commerce", + -11.97493839263916 + ], + [ + "▁droits", + -11.975115776062012 + ], + [ + "▁muzica", + -11.975141525268555 + ], + [ + "▁profesor", + -11.9751558303833 + ], + [ + "▁epic", + -11.97518253326416 + ], + [ + "▁intuitive", + -11.975186347961426 + ], + [ + "▁aggregate", + -11.975223541259766 + ], + [ + "▁vaccine", + -11.97529411315918 + ], + [ + "▁dank", + -11.975459098815918 + ], + [ + "▁situ", + -11.975578308105469 + ], + [ + "▁Cand", + -11.975593566894531 + ], + [ + "▁Ganz", + -11.97562313079834 + ], + [ + "▁Crystal", + -11.97578239440918 + ], + [ + "▁discretion", + -11.975825309753418 + ], + [ + "mug", + -11.975997924804688 + ], + [ + "▁anzu", + -11.976144790649414 + ], + [ + "▁cement", + -11.97616958618164 + ], + [ + "▁priest", + -11.97625732421875 + ], + [ + "▁rejected", + -11.976298332214355 + ], + [ + "▁Summit", + -11.976325988769531 + ], + [ + "▁Sara", + -11.976424217224121 + ], + [ + "▁palette", + -11.976527214050293 + ], + [ + "▁continuare", + -11.976569175720215 + ], + [ + "uge", + -11.976676940917969 + ], + [ + "ryl", + -11.976844787597656 + ], + [ + "▁Solid", + -11.977142333984375 + ], + [ + "▁meilleure", + -11.977177619934082 + ], + [ + "▁Tennessee", + -11.977248191833496 + ], + [ + "rail", + -11.977326393127441 + ], + [ + "▁attributes", + -11.9773530960083 + ], + [ + "▁vessels", + -11.977840423583984 + ], + [ + "cylinder", + -11.977900505065918 + ], + [ + "▁parfait", + -11.977916717529297 + ], + [ + "abb", + -11.97801399230957 + ], + [ + "▁Julie", + -11.97806167602539 + ], + [ + "▁pièces", + -11.978120803833008 + ], + [ + "▁proiecte", + -11.978142738342285 + ], + [ + "médi", + -11.978273391723633 + ], + [ + "▁décembre", + -11.9783935546875 + ], + [ + "Per", + -11.97841739654541 + ], + [ + "1/", + -11.978520393371582 + ], + [ + "regulated", + -11.978601455688477 + ], + [ + "▁Dy", + -11.978633880615234 + ], + [ + "▁23,", + -11.978694915771484 + ], + [ + "beck", + -11.978763580322266 + ], + [ + "tură", + -11.97885513305664 + ], + [ + "▁Chiar", + -11.978931427001953 + ], + [ + "▁isolated", + -11.979012489318848 + ], + [ + "▁kennen", + -11.979259490966797 + ], + [ + "Du", + -11.979260444641113 + ], + [ + "reflected", + -11.979482650756836 + ], + [ + "▁belong", + -11.979571342468262 + ], + [ + "▁welcomed", + -11.97969913482666 + ], + [ + "▁Rate", + -11.979776382446289 + ], + [ + "prestigious", + -11.979859352111816 + ], + [ + "▁1/4", + -11.979930877685547 + ], + [ + "▁distinction", + -11.979966163635254 + ], + [ + "▁boring", + -11.980001449584961 + ], + [ + "▁booked", + -11.980369567871094 + ], + [ + "▁citizen", + -11.980441093444824 + ], + [ + "▁comprises", + -11.980498313903809 + ], + [ + "▁aufge", + -11.98051929473877 + ], + [ + "GL", + -11.980566024780273 + ], + [ + "▁nearest", + -11.980616569519043 + ], + [ + "▁printr", + -11.980692863464355 + ], + [ + "▁département", + -11.981318473815918 + ], + [ + "▁planner", + -11.981510162353516 + ], + [ + "▁Rai", + -11.981817245483398 + ], + [ + "▁Broad", + -11.981934547424316 + ], + [ + "▁pastor", + -11.981947898864746 + ], + [ + "▁reservation", + -11.982243537902832 + ], + [ + "▁decembrie", + -11.982315063476562 + ], + [ + "▁suficient", + -11.982501983642578 + ], + [ + "geld", + -11.982560157775879 + ], + [ + "training", + -11.982620239257812 + ], + [ + "deshalb", + -11.982634544372559 + ], + [ + "▁chaud", + -11.982651710510254 + ], + [ + "Cor", + -11.982662200927734 + ], + [ + "▁Grade", + -11.982769966125488 + ], + [ + "▁faţă", + -11.982809066772461 + ], + [ + "story", + -11.982839584350586 + ], + [ + "gericht", + -11.98286247253418 + ], + [ + "▁Got", + -11.982954025268555 + ], + [ + "particulièrement", + -11.982976913452148 + ], + [ + "▁bump", + -11.983051300048828 + ], + [ + "▁fatigue", + -11.983160018920898 + ], + [ + "Activ", + -11.983250617980957 + ], + [ + "▁numéro", + -11.983302116394043 + ], + [ + "▁stranger", + -11.983312606811523 + ], + [ + "▁Skin", + -11.983327865600586 + ], + [ + "add", + -11.98344898223877 + ], + [ + "Ainsi", + -11.98357105255127 + ], + [ + "▁assists", + -11.983684539794922 + ], + [ + "▁zusätzlich", + -11.983943939208984 + ], + [ + "▁vede", + -11.983979225158691 + ], + [ + "RON", + -11.984108924865723 + ], + [ + "▁seemingly", + -11.984126091003418 + ], + [ + "▁NU", + -11.98417854309082 + ], + [ + "geb", + -11.984273910522461 + ], + [ + "▁Release", + -11.984353065490723 + ], + [ + "▁throwing", + -11.984427452087402 + ], + [ + "▁Alabama", + -11.984447479248047 + ], + [ + "▁Something", + -11.984590530395508 + ], + [ + "▁Cuba", + -11.98464584350586 + ], + [ + "▁Verbindung", + -11.984649658203125 + ], + [ + "▁Cir", + -11.984654426574707 + ], + [ + "your", + -11.984713554382324 + ], + [ + "-13", + -11.984748840332031 + ], + [ + "▁Delta", + -11.984801292419434 + ], + [ + "▁Twin", + -11.98504638671875 + ], + [ + "▁governance", + -11.985156059265137 + ], + [ + "▁groom", + -11.985310554504395 + ], + [ + "▁conception", + -11.98533821105957 + ], + [ + "▁governor", + -11.985383033752441 + ], + [ + "▁Spar", + -11.985416412353516 + ], + [ + "▁coastal", + -11.985652923583984 + ], + [ + "▁Seven", + -11.985856056213379 + ], + [ + "▁inclusive", + -11.986002922058105 + ], + [ + "cili", + -11.986035346984863 + ], + [ + "▁Ridge", + -11.986100196838379 + ], + [ + "teller", + -11.986224174499512 + ], + [ + "▁Kin", + -11.986247062683105 + ], + [ + "leiter", + -11.986279487609863 + ], + [ + "stern", + -11.986364364624023 + ], + [ + "change", + -11.986404418945312 + ], + [ + "▁presidential", + -11.986433982849121 + ], + [ + "▁composer", + -11.986544609069824 + ], + [ + "Stu", + -11.986560821533203 + ], + [ + "▁Frankfurt", + -11.986584663391113 + ], + [ + "prä", + -11.986639976501465 + ], + [ + "▁Ideal", + -11.986644744873047 + ], + [ + "▁linear", + -11.986857414245605 + ], + [ + "▁bloom", + -11.986879348754883 + ], + [ + "▁grades", + -11.986881256103516 + ], + [ + "mettant", + -11.98692512512207 + ], + [ + "▁finishes", + -11.986952781677246 + ], + [ + "holz", + -11.987086296081543 + ], + [ + "▁dirty", + -11.987317085266113 + ], + [ + "▁Roh", + -11.987386703491211 + ], + [ + "▁Praxis", + -11.987408638000488 + ], + [ + "tempo", + -11.987433433532715 + ], + [ + "▁attempted", + -11.987433433532715 + ], + [ + "▁primar", + -11.987434387207031 + ], + [ + "▁pomp", + -11.987528800964355 + ], + [ + "▁tolle", + -11.987614631652832 + ], + [ + "▁adres", + -11.988011360168457 + ], + [ + "▁Between", + -11.988066673278809 + ], + [ + "▁ruin", + -11.988432884216309 + ], + [ + "▁matériel", + -11.988561630249023 + ], + [ + "MER", + -11.988913536071777 + ], + [ + "Nevertheless", + -11.989055633544922 + ], + [ + "▁corruption", + -11.989119529724121 + ], + [ + "spire", + -11.989180564880371 + ], + [ + "▁mou", + -11.989208221435547 + ], + [ + "ROM", + -11.989278793334961 + ], + [ + "▁underground", + -11.98935604095459 + ], + [ + "▁relativ", + -11.989389419555664 + ], + [ + "waited", + -11.989462852478027 + ], + [ + "▁speeds", + -11.989468574523926 + ], + [ + "▁adjusted", + -11.989486694335938 + ], + [ + "▁Flat", + -11.989514350891113 + ], + [ + "UND", + -11.98965835571289 + ], + [ + "▁individuelle", + -11.989744186401367 + ], + [ + "▁anybody", + -11.98978042602539 + ], + [ + "EO", + -11.989790916442871 + ], + [ + "->", + -11.989791870117188 + ], + [ + "▁Spend", + -11.989876747131348 + ], + [ + "aktion", + -11.990011215209961 + ], + [ + "édit", + -11.99006462097168 + ], + [ + "▁quest", + -11.990078926086426 + ], + [ + "rind", + -11.990541458129883 + ], + [ + "▁mediu", + -11.99057388305664 + ], + [ + "▁barriers", + -11.99062442779541 + ], + [ + "▁répondre", + -11.990633010864258 + ], + [ + "▁novembre", + -11.990708351135254 + ], + [ + "▁champ", + -11.990736961364746 + ], + [ + "saw", + -11.990757942199707 + ], + [ + "▁fed", + -11.990804672241211 + ], + [ + "▁favorites", + -11.990939140319824 + ], + [ + "▁shield", + -11.991055488586426 + ], + [ + "▁Wide", + -11.991146087646484 + ], + [ + "▁problema", + -11.991445541381836 + ], + [ + "▁Asta", + -11.991525650024414 + ], + [ + "▁refreshing", + -11.99168872833252 + ], + [ + "hey", + -11.991692543029785 + ], + [ + "obtaining", + -11.991788864135742 + ], + [ + "▁parler", + -11.992072105407715 + ], + [ + "▁Cele", + -11.992134094238281 + ], + [ + "frage", + -11.992136001586914 + ], + [ + "écran", + -11.992324829101562 + ], + [ + "▁cleared", + -11.992448806762695 + ], + [ + "zehn", + -11.992594718933105 + ], + [ + "parmi", + -11.992647171020508 + ], + [ + "änder", + -11.992691993713379 + ], + [ + "▁Defense", + -11.992693901062012 + ], + [ + "tatea", + -11.992696762084961 + ], + [ + "▁reasonably", + -11.992939949035645 + ], + [ + "▁Idee", + -11.992985725402832 + ], + [ + "nehm", + -11.993000030517578 + ], + [ + "technologie", + -11.993020057678223 + ], + [ + "atura", + -11.993048667907715 + ], + [ + "▁slope", + -11.993332862854004 + ], + [ + "Hence", + -11.993351936340332 + ], + [ + "▁40%", + -11.993391990661621 + ], + [ + "▁jewe", + -11.993448257446289 + ], + [ + "▁queries", + -11.993470191955566 + ], + [ + "▁$8", + -11.994096755981445 + ], + [ + "▁Parker", + -11.994107246398926 + ], + [ + "▁publique", + -11.994488716125488 + ], + [ + "quant", + -11.994529724121094 + ], + [ + "issue", + -11.994690895080566 + ], + [ + "▁Cleveland", + -11.994847297668457 + ], + [ + "4,000", + -11.995071411132812 + ], + [ + "IDE", + -11.995145797729492 + ], + [ + "▁Barbara", + -11.995233535766602 + ], + [ + "udge", + -11.995477676391602 + ], + [ + "corn", + -11.99554443359375 + ], + [ + "veți", + -11.995588302612305 + ], + [ + "▁proteins", + -11.995707511901855 + ], + [ + "▁trăi", + -11.995793342590332 + ], + [ + "▁mijloc", + -11.995842933654785 + ], + [ + "logie", + -11.995884895324707 + ], + [ + "▁Walter", + -11.995884895324707 + ], + [ + "heißt", + -11.99593448638916 + ], + [ + "search", + -11.995946884155273 + ], + [ + "▁hochwertige", + -11.996010780334473 + ], + [ + "▁încerc", + -11.996014595031738 + ], + [ + "▁administrator", + -11.99608039855957 + ], + [ + "tension", + -11.996133804321289 + ], + [ + "▁homemade", + -11.996438026428223 + ], + [ + "▁$20", + -11.99651050567627 + ], + [ + "▁leben", + -11.996662139892578 + ], + [ + "netz", + -11.996665954589844 + ], + [ + "▁intensity", + -11.996882438659668 + ], + [ + "▁clever", + -11.996891975402832 + ], + [ + "▁installer", + -11.996999740600586 + ], + [ + "▁Wand", + -11.997087478637695 + ], + [ + "meister", + -11.997130393981934 + ], + [ + "ziel", + -11.99744701385498 + ], + [ + "▁architect", + -11.99748706817627 + ], + [ + "▁crede", + -11.997512817382812 + ], + [ + "▁Sleep", + -11.997675895690918 + ], + [ + "▁demonstr", + -11.997745513916016 + ], + [ + "cake", + -11.997781753540039 + ], + [ + "▁Cheap", + -11.997783660888672 + ], + [ + "pool", + -11.9979829788208 + ], + [ + "▁gadget", + -11.998004913330078 + ], + [ + "▁Anbieter", + -11.998005867004395 + ], + [ + "▁Jonathan", + -11.998170852661133 + ], + [ + "ül", + -11.998492240905762 + ], + [ + "▁Harvard", + -11.998503684997559 + ], + [ + "▁1985", + -11.998773574829102 + ], + [ + "HP", + -11.998839378356934 + ], + [ + "▁afara", + -11.99893569946289 + ], + [ + "▁halten", + -11.999008178710938 + ], + [ + "▁Technik", + -11.999042510986328 + ], + [ + "▁dressed", + -11.999149322509766 + ], + [ + "weis", + -11.999165534973145 + ], + [ + "▁donated", + -11.9993314743042 + ], + [ + "also", + -11.99938678741455 + ], + [ + "▁EN", + -11.999405860900879 + ], + [ + "▁imprim", + -11.99942398071289 + ], + [ + "▁onions", + -11.999458312988281 + ], + [ + "Par", + -11.99950122833252 + ], + [ + "▁donate", + -11.99958324432373 + ], + [ + "▁mice", + -11.999610900878906 + ], + [ + "referring", + -11.999897956848145 + ], + [ + "▁restored", + -12.00003433227539 + ], + [ + "▁amateur", + -12.0000581741333 + ], + [ + "▁Switch", + -12.000075340270996 + ], + [ + "appel", + -12.00013542175293 + ], + [ + "▁idéal", + -12.0001859664917 + ], + [ + "▁wheat", + -12.000199317932129 + ], + [ + "▁lime", + -12.000240325927734 + ], + [ + "REA", + -12.00027084350586 + ], + [ + "riti", + -12.000357627868652 + ], + [ + "ţiile", + -12.00058364868164 + ], + [ + "▁machinery", + -12.00064754486084 + ], + [ + "UNE", + -12.00089168548584 + ], + [ + "▁Cont", + -12.000971794128418 + ], + [ + "▁attendees", + -12.001014709472656 + ], + [ + "▁aparat", + -12.001080513000488 + ], + [ + "freundlich", + -12.00117301940918 + ], + [ + "▁zilnic", + -12.001175880432129 + ], + [ + "▁spark", + -12.001421928405762 + ], + [ + "▁Gast", + -12.001459121704102 + ], + [ + "▁Issue", + -12.00147533416748 + ], + [ + "▁scam", + -12.001566886901855 + ], + [ + "▁bonds", + -12.001618385314941 + ], + [ + "owner", + -12.001641273498535 + ], + [ + "▁empfehlen", + -12.001673698425293 + ], + [ + "elia", + -12.001749992370605 + ], + [ + "cic", + -12.001757621765137 + ], + [ + "▁honored", + -12.001800537109375 + ], + [ + "▁castle", + -12.001846313476562 + ], + [ + "avand", + -12.002058982849121 + ], + [ + "rough", + -12.002108573913574 + ], + [ + "▁Address", + -12.002116203308105 + ], + [ + "angle", + -12.00217342376709 + ], + [ + "leton", + -12.002259254455566 + ], + [ + "▁locked", + -12.002392768859863 + ], + [ + "▁consolid", + -12.00248908996582 + ], + [ + "▁voucher", + -12.003011703491211 + ], + [ + "ației", + -12.003201484680176 + ], + [ + "wachsen", + -12.003211975097656 + ], + [ + "▁magazines", + -12.003287315368652 + ], + [ + "▁Schools", + -12.003318786621094 + ], + [ + "▁voices", + -12.003362655639648 + ], + [ + "▁Dry", + -12.003479957580566 + ], + [ + "▁tricks", + -12.00349235534668 + ], + [ + "schließlich", + -12.003546714782715 + ], + [ + "▁loyalty", + -12.003687858581543 + ], + [ + "risk", + -12.003764152526855 + ], + [ + "▁Vers", + -12.003786087036133 + ], + [ + "chester", + -12.003802299499512 + ], + [ + "▁decorated", + -12.003830909729004 + ], + [ + "▁copiilor", + -12.003969192504883 + ], + [ + "riz", + -12.003994941711426 + ], + [ + "03.", + -12.004013061523438 + ], + [ + "▁Hur", + -12.004016876220703 + ], + [ + "▁archive", + -12.004021644592285 + ], + [ + "▁Continue", + -12.004042625427246 + ], + [ + "▁Nähe", + -12.004043579101562 + ], + [ + "jit", + -12.004090309143066 + ], + [ + "gekommen", + -12.004301071166992 + ], + [ + "▁conjunction", + -12.004349708557129 + ], + [ + "combining", + -12.004404067993164 + ], + [ + "▁Unterstützung", + -12.004517555236816 + ], + [ + "oza", + -12.004593849182129 + ], + [ + "▁sketch", + -12.004720687866211 + ], + [ + "▁arată", + -12.004731178283691 + ], + [ + "▁Mining", + -12.004765510559082 + ], + [ + "uous", + -12.004791259765625 + ], + [ + "▁devis", + -12.004834175109863 + ], + [ + "Almost", + -12.004862785339355 + ], + [ + "Hu", + -12.005037307739258 + ], + [ + "▁Om", + -12.005366325378418 + ], + [ + "MF", + -12.00544548034668 + ], + [ + "liz", + -12.005451202392578 + ], + [ + "▁fails", + -12.005456924438477 + ], + [ + "▁comparable", + -12.005459785461426 + ], + [ + "▁vein", + -12.005547523498535 + ], + [ + "▁Vis", + -12.00561809539795 + ], + [ + "▁viagra", + -12.005654335021973 + ], + [ + "▁farming", + -12.005678176879883 + ], + [ + "▁Late", + -12.005765914916992 + ], + [ + "geschrieben", + -12.006033897399902 + ], + [ + "hrew", + -12.006103515625 + ], + [ + "▁melt", + -12.006120681762695 + ], + [ + "lager", + -12.006168365478516 + ], + [ + "halte", + -12.006240844726562 + ], + [ + "▁Hotels", + -12.006266593933105 + ], + [ + "▁facebook", + -12.0064058303833 + ], + [ + "▁défi", + -12.006550788879395 + ], + [ + "shore", + -12.006802558898926 + ], + [ + "▁membrane", + -12.006866455078125 + ], + [ + "▁sixth", + -12.006903648376465 + ], + [ + "api", + -12.007003784179688 + ], + [ + "▁Owner", + -12.007222175598145 + ], + [ + "▁(\"", + -12.007234573364258 + ], + [ + "▁$50", + -12.007280349731445 + ], + [ + "▁protective", + -12.007420539855957 + ], + [ + "/2", + -12.007548332214355 + ], + [ + "▁Girls", + -12.007562637329102 + ], + [ + "Gri", + -12.00769329071045 + ], + [ + "▁nouă", + -12.007708549499512 + ], + [ + "▁infections", + -12.007813453674316 + ], + [ + "rân", + -12.007868766784668 + ], + [ + "▁Geb", + -12.0078763961792 + ], + [ + "▁Conseil", + -12.007905006408691 + ], + [ + "▁imagini", + -12.007909774780273 + ], + [ + "▁promotions", + -12.00794792175293 + ], + [ + "▁enforce", + -12.00795841217041 + ], + [ + "▁applicant", + -12.007965087890625 + ], + [ + "▁Apart", + -12.008087158203125 + ], + [ + "▁progression", + -12.008151054382324 + ], + [ + "▁careers", + -12.008511543273926 + ], + [ + "▁litigation", + -12.008533477783203 + ], + [ + "▁Menge", + -12.00866413116455 + ], + [ + "▁Contract", + -12.00871753692627 + ], + [ + "▁Kel", + -12.0087308883667 + ], + [ + "▁réserve", + -12.008769035339355 + ], + [ + "▁Cold", + -12.008870124816895 + ], + [ + "▁larg", + -12.009040832519531 + ], + [ + "▁microwave", + -12.009090423583984 + ], + [ + "▁Whit", + -12.009212493896484 + ], + [ + "▁Technologies", + -12.009381294250488 + ], + [ + "OU", + -12.00949478149414 + ], + [ + "itudine", + -12.00959587097168 + ], + [ + "▁handles", + -12.009895324707031 + ], + [ + "▁proceedings", + -12.009982109069824 + ], + [ + "▁prizes", + -12.010043144226074 + ], + [ + "▁unterstützen", + -12.010062217712402 + ], + [ + "▁piele", + -12.010090827941895 + ], + [ + "▁profound", + -12.010153770446777 + ], + [ + "schließen", + -12.0101957321167 + ], + [ + "▁trafic", + -12.01025104522705 + ], + [ + "▁Nar", + -12.010441780090332 + ], + [ + "▁Gesamt", + -12.0106201171875 + ], + [ + "▁bugs", + -12.010720252990723 + ], + [ + "▁Amy", + -12.010764122009277 + ], + [ + "▁eastern", + -12.010775566101074 + ], + [ + "nice", + -12.010784149169922 + ], + [ + "▁Besuch", + -12.010835647583008 + ], + [ + "▁synth", + -12.010892868041992 + ], + [ + "▁clasa", + -12.011194229125977 + ], + [ + "Book", + -12.01134204864502 + ], + [ + "▁ribbon", + -12.011415481567383 + ], + [ + "▁neues", + -12.011431694030762 + ], + [ + "ZE", + -12.011504173278809 + ], + [ + "▁peers", + -12.011613845825195 + ], + [ + "leistung", + -12.011730194091797 + ], + [ + "▁internship", + -12.011808395385742 + ], + [ + "count", + -12.011850357055664 + ], + [ + "nam", + -12.01193618774414 + ], + [ + "▁12-", + -12.012072563171387 + ], + [ + "acked", + -12.012146949768066 + ], + [ + "gonna", + -12.012146949768066 + ], + [ + "▁Dinge", + -12.01215648651123 + ], + [ + "Time", + -12.012299537658691 + ], + [ + "▁twelve", + -12.01242446899414 + ], + [ + "eye", + -12.012432098388672 + ], + [ + "▁avantaj", + -12.01253604888916 + ], + [ + "▁Glas", + -12.012731552124023 + ], + [ + "aucune", + -12.0127534866333 + ], + [ + "▁boil", + -12.012763977050781 + ], + [ + "▁Gray", + -12.012773513793945 + ], + [ + "adapt", + -12.01288890838623 + ], + [ + "occ", + -12.012895584106445 + ], + [ + "▁prieten", + -12.012897491455078 + ], + [ + "▁trai", + -12.01296615600586 + ], + [ + "▁Scal", + -12.013009071350098 + ], + [ + "▁conscious", + -12.013057708740234 + ], + [ + "▁charter", + -12.013093948364258 + ], + [ + "KS", + -12.013242721557617 + ], + [ + "▁Barr", + -12.013404846191406 + ], + [ + "▁summit", + -12.013411521911621 + ], + [ + "▁inflammation", + -12.013439178466797 + ], + [ + "tungs", + -12.013440132141113 + ], + [ + "ovic", + -12.013449668884277 + ], + [ + "▁conduit", + -12.013465881347656 + ], + [ + "▁Alice", + -12.013702392578125 + ], + [ + "▁veterans", + -12.013850212097168 + ], + [ + "Während", + -12.013944625854492 + ], + [ + "▁maximal", + -12.014013290405273 + ], + [ + "▁Hawaii", + -12.014037132263184 + ], + [ + "▁Pine", + -12.01432991027832 + ], + [ + "acelasi", + -12.014391899108887 + ], + [ + "hyp", + -12.014424324035645 + ], + [ + "sensitivity", + -12.01445198059082 + ], + [ + "pour", + -12.014481544494629 + ], + [ + "ре", + -12.014493942260742 + ], + [ + "▁Kentucky", + -12.015129089355469 + ], + [ + "▁badge", + -12.015276908874512 + ], + [ + "affecting", + -12.015310287475586 + ], + [ + "▁chairman", + -12.015311241149902 + ], + [ + "▁München", + -12.015467643737793 + ], + [ + "▁Hersteller", + -12.015469551086426 + ], + [ + "▁urmat", + -12.015615463256836 + ], + [ + "tels", + -12.015654563903809 + ], + [ + "▁FM", + -12.015701293945312 + ], + [ + "▁Basis", + -12.015732765197754 + ], + [ + "▁erklärt", + -12.015809059143066 + ], + [ + "▁changer", + -12.015859603881836 + ], + [ + "tischen", + -12.0159330368042 + ], + [ + "▁brave", + -12.015960693359375 + ], + [ + "▁siguranta", + -12.015986442565918 + ], + [ + "▁partnerships", + -12.015989303588867 + ], + [ + "ților", + -12.015999794006348 + ], + [ + "▁breathe", + -12.016141891479492 + ], + [ + "rink", + -12.016551971435547 + ], + [ + "▁footage", + -12.016654014587402 + ], + [ + "▁transformed", + -12.016658782958984 + ], + [ + "▁prep", + -12.016866683959961 + ], + [ + "▁upset", + -12.016901969909668 + ], + [ + "▁Native", + -12.017059326171875 + ], + [ + "▁Prima", + -12.017154693603516 + ], + [ + "▁jersey", + -12.017163276672363 + ], + [ + "230", + -12.017182350158691 + ], + [ + "▁lucrurile", + -12.017393112182617 + ], + [ + "▁divine", + -12.017502784729004 + ], + [ + "▁Pit", + -12.017593383789062 + ], + [ + "RIS", + -12.01765251159668 + ], + [ + "▁Cultural", + -12.017672538757324 + ], + [ + "▁exotic", + -12.017786979675293 + ], + [ + "▁tastes", + -12.017881393432617 + ], + [ + "▁bargain", + -12.017913818359375 + ], + [ + "▁optimize", + -12.017985343933105 + ], + [ + "▁électrique", + -12.018012046813965 + ], + [ + "deuxième", + -12.018030166625977 + ], + [ + "▁Gary", + -12.018085479736328 + ], + [ + "▁projection", + -12.018122673034668 + ], + [ + "▁sliding", + -12.018195152282715 + ], + [ + "club", + -12.018216133117676 + ], + [ + "association", + -12.01823902130127 + ], + [ + "▁LG", + -12.018259048461914 + ], + [ + "▁capsule", + -12.018291473388672 + ], + [ + "▁politicians", + -12.018397331237793 + ], + [ + "▁thumb", + -12.018423080444336 + ], + [ + "▁globally", + -12.018743515014648 + ], + [ + "positioned", + -12.018796920776367 + ], + [ + "▁Hamilton", + -12.018861770629883 + ], + [ + "arme", + -12.018881797790527 + ], + [ + "▁efectuat", + -12.018881797790527 + ], + [ + "zip", + -12.019111633300781 + ], + [ + "▁welfare", + -12.019201278686523 + ], + [ + "Leistung", + -12.019230842590332 + ], + [ + "▁Bac", + -12.019316673278809 + ], + [ + "▁fizic", + -12.019338607788086 + ], + [ + "OK", + -12.019454002380371 + ], + [ + "▁limba", + -12.019545555114746 + ], + [ + "▁wardrobe", + -12.019549369812012 + ], + [ + "▁offline", + -12.019627571105957 + ], + [ + "▁fortune", + -12.019665718078613 + ], + [ + "▁dialog", + -12.019681930541992 + ], + [ + "▁dramatically", + -12.01997184753418 + ], + [ + "▁NYC", + -12.020045280456543 + ], + [ + "▁Rem", + -12.02017593383789 + ], + [ + "▁bronze", + -12.020455360412598 + ], + [ + "▁pulse", + -12.02053451538086 + ], + [ + "Fortunately", + -12.020562171936035 + ], + [ + "▁glue", + -12.020596504211426 + ], + [ + "▁Expo", + -12.020720481872559 + ], + [ + "▁profitable", + -12.020776748657227 + ], + [ + "▁distributor", + -12.020845413208008 + ], + [ + "abilité", + -12.020869255065918 + ], + [ + "▁lyrics", + -12.020913124084473 + ], + [ + "▁mesh", + -12.02114486694336 + ], + [ + "▁organizational", + -12.021157264709473 + ], + [ + "▁vanilla", + -12.021249771118164 + ], + [ + "▁foc", + -12.021355628967285 + ], + [ + "▁1984", + -12.02147388458252 + ], + [ + "▁créé", + -12.02172565460205 + ], + [ + "▁servi", + -12.022027969360352 + ], + [ + "▁underneath", + -12.022095680236816 + ], + [ + "▁surveys", + -12.022143363952637 + ], + [ + "▁genes", + -12.022238731384277 + ], + [ + "▁limite", + -12.02224349975586 + ], + [ + "oder", + -12.022247314453125 + ], + [ + "▁mandatory", + -12.022269248962402 + ], + [ + "▁hospitality", + -12.022303581237793 + ], + [ + "▁bikes", + -12.022309303283691 + ], + [ + "▁Quote", + -12.022358894348145 + ], + [ + "glu", + -12.02241039276123 + ], + [ + "▁activitatea", + -12.022513389587402 + ], + [ + "preventing", + -12.022584915161133 + ], + [ + "▁Kh", + -12.02259635925293 + ], + [ + "économie", + -12.022616386413574 + ], + [ + "▁visite", + -12.022757530212402 + ], + [ + "▁spectacle", + -12.022778511047363 + ], + [ + "▁tract", + -12.022860527038574 + ], + [ + "▁quant", + -12.022862434387207 + ], + [ + "▁evolu", + -12.022866249084473 + ], + [ + "▁invata", + -12.023070335388184 + ], + [ + "▁homo", + -12.02311897277832 + ], + [ + "▁Users", + -12.02344799041748 + ], + [ + "introducing", + -12.023632049560547 + ], + [ + "hibi", + -12.023661613464355 + ], + [ + "▁Instrument", + -12.023805618286133 + ], + [ + "▁ép", + -12.023839950561523 + ], + [ + "▁Raj", + -12.023869514465332 + ], + [ + "▁executives", + -12.023881912231445 + ], + [ + "atoire", + -12.023885726928711 + ], + [ + "▁erforderlich", + -12.02397346496582 + ], + [ + "male", + -12.024211883544922 + ], + [ + "umble", + -12.024271011352539 + ], + [ + "erson", + -12.024277687072754 + ], + [ + "▁Treatment", + -12.024286270141602 + ], + [ + "▁Representative", + -12.024314880371094 + ], + [ + "▁corners", + -12.024409294128418 + ], + [ + "▁Petit", + -12.024599075317383 + ], + [ + "8)", + -12.02464771270752 + ], + [ + "▁Walker", + -12.024714469909668 + ], + [ + "▁Stir", + -12.02476692199707 + ], + [ + "/19", + -12.024767875671387 + ], + [ + "▁Stelle", + -12.024979591369629 + ], + [ + "ără", + -12.025009155273438 + ], + [ + "osse", + -12.025166511535645 + ], + [ + "2000", + -12.025189399719238 + ], + [ + "▁McG", + -12.025580406188965 + ], + [ + "DV", + -12.025773048400879 + ], + [ + "▁Firm", + -12.025862693786621 + ], + [ + "▁packet", + -12.025904655456543 + ], + [ + "Toate", + -12.02640438079834 + ], + [ + "▁institutional", + -12.026479721069336 + ], + [ + "rug", + -12.026663780212402 + ], + [ + "DG", + -12.026837348937988 + ], + [ + "fine", + -12.026837348937988 + ], + [ + "bringen", + -12.026856422424316 + ], + [ + "▁Horse", + -12.026921272277832 + ], + [ + "▁premiere", + -12.026937484741211 + ], + [ + "▁Că", + -12.027026176452637 + ], + [ + "acheter", + -12.02703857421875 + ], + [ + "▁Afghanistan", + -12.027053833007812 + ], + [ + "▁Prop", + -12.027085304260254 + ], + [ + "ühr", + -12.02715015411377 + ], + [ + "▁braucht", + -12.027398109436035 + ], + [ + "▁sunny", + -12.027424812316895 + ], + [ + "▁Sach", + -12.027461051940918 + ], + [ + "▁volumes", + -12.02753734588623 + ], + [ + "tinut", + -12.02759838104248 + ], + [ + "▁Sho", + -12.027722358703613 + ], + [ + "▁winds", + -12.027735710144043 + ], + [ + "▁Mall", + -12.027873992919922 + ], + [ + "ledge", + -12.027937889099121 + ], + [ + "▁sciences", + -12.027997016906738 + ], + [ + "plication", + -12.028024673461914 + ], + [ + "VR", + -12.028068542480469 + ], + [ + "destin", + -12.028234481811523 + ], + [ + "▁früh", + -12.02833366394043 + ], + [ + "▁tongue", + -12.028359413146973 + ], + [ + "▁Jennifer", + -12.028425216674805 + ], + [ + "▁bracket", + -12.028427124023438 + ], + [ + "▁episodes", + -12.02845287322998 + ], + [ + "breite", + -12.028461456298828 + ], + [ + "▁stoc", + -12.028635025024414 + ], + [ + "ilia", + -12.028728485107422 + ], + [ + "▁Gulf", + -12.02874755859375 + ], + [ + "▁transparency", + -12.028768539428711 + ], + [ + "Industrie", + -12.028853416442871 + ], + [ + "▁viewers", + -12.028916358947754 + ], + [ + "AIN", + -12.029129981994629 + ], + [ + "▁Registration", + -12.029149055480957 + ], + [ + "/4", + -12.029309272766113 + ], + [ + "▁fera", + -12.029337882995605 + ], + [ + "▁06", + -12.029351234436035 + ], + [ + "▁einzu", + -12.029391288757324 + ], + [ + "enburg", + -12.02944278717041 + ], + [ + "▁eff", + -12.029449462890625 + ], + [ + "▁Stage", + -12.029558181762695 + ], + [ + "▁Cour", + -12.029685020446777 + ], + [ + "indu", + -12.029836654663086 + ], + [ + "▁Tools", + -12.029909133911133 + ], + [ + "IST", + -12.029921531677246 + ], + [ + "grund", + -12.030105590820312 + ], + [ + "seitig", + -12.030153274536133 + ], + [ + "pai", + -12.030250549316406 + ], + [ + "▁waist", + -12.030350685119629 + ], + [ + "▁Therapy", + -12.03049373626709 + ], + [ + "▁nomination", + -12.030599594116211 + ], + [ + "▁seama", + -12.030790328979492 + ], + [ + "▁analyse", + -12.030975341796875 + ], + [ + "▁emerge", + -12.031044006347656 + ], + [ + "▁adjustment", + -12.031106948852539 + ], + [ + "▁stroll", + -12.031106948852539 + ], + [ + "▁Beyond", + -12.031174659729004 + ], + [ + "▁legally", + -12.03122615814209 + ], + [ + "▁gauge", + -12.03123664855957 + ], + [ + "▁26,", + -12.031360626220703 + ], + [ + "Tex", + -12.031390190124512 + ], + [ + "economic", + -12.031488418579102 + ], + [ + "stoffe", + -12.031532287597656 + ], + [ + "Wir", + -12.031559944152832 + ], + [ + "ffen", + -12.031601905822754 + ], + [ + "▁acoperi", + -12.031609535217285 + ], + [ + "▁finale", + -12.031792640686035 + ], + [ + "▁theoretical", + -12.031864166259766 + ], + [ + "1.3", + -12.031875610351562 + ], + [ + "anim", + -12.031888008117676 + ], + [ + "▁separation", + -12.031928062438965 + ], + [ + "agence", + -12.031937599182129 + ], + [ + "▁réalisé", + -12.032069206237793 + ], + [ + "sprech", + -12.03215503692627 + ], + [ + "▁embedded", + -12.032208442687988 + ], + [ + "▁defence", + -12.032242774963379 + ], + [ + "éni", + -12.032569885253906 + ], + [ + "▁Norman", + -12.032613754272461 + ], + [ + "▁insgesamt", + -12.032621383666992 + ], + [ + "▁reminde", + -12.032631874084473 + ], + [ + "▁timeline", + -12.032703399658203 + ], + [ + "▁symbols", + -12.032770156860352 + ], + [ + "▁booth", + -12.032783508300781 + ], + [ + "▁Window", + -12.032788276672363 + ], + [ + "▁Titan", + -12.032910346984863 + ], + [ + "înt", + -12.033021926879883 + ], + [ + "▁langa", + -12.033021926879883 + ], + [ + "isant", + -12.03303337097168 + ], + [ + "hart", + -12.033113479614258 + ], + [ + "broader", + -12.033266067504883 + ], + [ + "▁stays", + -12.033288955688477 + ], + [ + "dur", + -12.033488273620605 + ], + [ + "▁Actually", + -12.033514022827148 + ], + [ + "works", + -12.03351879119873 + ], + [ + "▁réussi", + -12.03357219696045 + ], + [ + "▁performant", + -12.033658981323242 + ], + [ + "▁banana", + -12.033788681030273 + ], + [ + "▁baked", + -12.033870697021484 + ], + [ + "▁Parlament", + -12.033931732177734 + ], + [ + "▁Legend", + -12.033967018127441 + ], + [ + "toata", + -12.034172058105469 + ], + [ + "platte", + -12.03419017791748 + ], + [ + "▁Mou", + -12.034192085266113 + ], + [ + "HL", + -12.034235000610352 + ], + [ + "▁(8", + -12.034290313720703 + ], + [ + "▁accepting", + -12.034313201904297 + ], + [ + "▁Senator", + -12.034340858459473 + ], + [ + "▁consciousness", + -12.034396171569824 + ], + [ + "▁conducting", + -12.0344820022583 + ], + [ + "▁panic", + -12.034833908081055 + ], + [ + "▁FDA", + -12.035112380981445 + ], + [ + "▁(7", + -12.035163879394531 + ], + [ + "tool", + -12.035300254821777 + ], + [ + "▁Shipping", + -12.03538703918457 + ], + [ + "▁hop", + -12.035545349121094 + ], + [ + "▁conferences", + -12.03564167022705 + ], + [ + "▁pork", + -12.035661697387695 + ], + [ + "▁spam", + -12.035730361938477 + ], + [ + "▁interesant", + -12.035815238952637 + ], + [ + "▁Tagen", + -12.03581714630127 + ], + [ + "sig", + -12.035886764526367 + ], + [ + "étro", + -12.036044120788574 + ], + [ + "▁legendary", + -12.036449432373047 + ], + [ + "▁Alternative", + -12.036643981933594 + ], + [ + "iana", + -12.036704063415527 + ], + [ + "▁responsable", + -12.036888122558594 + ], + [ + "▁Mihai", + -12.037237167358398 + ], + [ + "▁decreased", + -12.037345886230469 + ], + [ + "▁organised", + -12.037485122680664 + ], + [ + "▁Lamp", + -12.037589073181152 + ], + [ + "litz", + -12.037622451782227 + ], + [ + "ohn", + -12.037622451782227 + ], + [ + "▁moteur", + -12.0376615524292 + ], + [ + "III", + -12.03768539428711 + ], + [ + "▁Montag", + -12.037755012512207 + ], + [ + "▁naturel", + -12.037814140319824 + ], + [ + "▁Hus", + -12.037842750549316 + ], + [ + "▁Schl", + -12.037884712219238 + ], + [ + "ains", + -12.037968635559082 + ], + [ + "▁dying", + -12.0380859375 + ], + [ + "▁HIV", + -12.038115501403809 + ], + [ + "],", + -12.038164138793945 + ], + [ + "alität", + -12.03818416595459 + ], + [ + "▁institute", + -12.038249015808105 + ], + [ + "mix", + -12.038433074951172 + ], + [ + "▁Regulation", + -12.038453102111816 + ], + [ + "▁pagina", + -12.03857707977295 + ], + [ + "▁Awesome", + -12.03860092163086 + ], + [ + "▁Official", + -12.03860092163086 + ], + [ + "▁Minute", + -12.038601875305176 + ], + [ + "▁dairy", + -12.038787841796875 + ], + [ + "▁carti", + -12.038881301879883 + ], + [ + "isk", + -12.039091110229492 + ], + [ + "▁thrilled", + -12.039138793945312 + ], + [ + "▁german", + -12.039172172546387 + ], + [ + "▁frustration", + -12.039228439331055 + ], + [ + "▁forums", + -12.03927230834961 + ], + [ + "command", + -12.039361000061035 + ], + [ + "▁router", + -12.039399147033691 + ], + [ + "▁Lösung", + -12.039423942565918 + ], + [ + "white", + -12.039470672607422 + ], + [ + "▁synthetic", + -12.039487838745117 + ], + [ + "▁retrouver", + -12.039554595947266 + ], + [ + "alle", + -12.039621353149414 + ], + [ + "daran", + -12.039653778076172 + ], + [ + "▁wahr", + -12.039697647094727 + ], + [ + "▁paths", + -12.039875984191895 + ], + [ + "▁unver", + -12.039962768554688 + ], + [ + "▁Environment", + -12.0400972366333 + ], + [ + "▁médecin", + -12.040510177612305 + ], + [ + "crypt", + -12.040572166442871 + ], + [ + "▁pursuit", + -12.040595054626465 + ], + [ + "flat", + -12.040611267089844 + ], + [ + "bron", + -12.040698051452637 + ], + [ + "▁Specialist", + -12.040852546691895 + ], + [ + "▁Vent", + -12.041157722473145 + ], + [ + "Gen", + -12.04132080078125 + ], + [ + "▁attraction", + -12.04132080078125 + ], + [ + "▁piese", + -12.041372299194336 + ], + [ + "CHE", + -12.041665077209473 + ], + [ + "fähig", + -12.04172420501709 + ], + [ + "▁28,", + -12.041773796081543 + ], + [ + "defender", + -12.041810989379883 + ], + [ + "▁stupid", + -12.04181957244873 + ], + [ + "enfin", + -12.04185962677002 + ], + [ + "▁composite", + -12.04207706451416 + ], + [ + "fragen", + -12.042202949523926 + ], + [ + "Part", + -12.042232513427734 + ], + [ + "may", + -12.042238235473633 + ], + [ + "▁Bucureşti", + -12.042248725891113 + ], + [ + "▁février", + -12.042248725891113 + ], + [ + "RED", + -12.042417526245117 + ], + [ + "▁makers", + -12.042462348937988 + ], + [ + "▁guns", + -12.042594909667969 + ], + [ + "▁pasta", + -12.042706489562988 + ], + [ + "STR", + -12.04271125793457 + ], + [ + "▁worthy", + -12.042760848999023 + ], + [ + "Poate", + -12.042783737182617 + ], + [ + "▁101", + -12.04286003112793 + ], + [ + "▁souhaitez", + -12.04299545288086 + ], + [ + "GN", + -12.043449401855469 + ], + [ + "drive", + -12.043499946594238 + ], + [ + "▁aveti", + -12.043582916259766 + ], + [ + "▁eventual", + -12.043591499328613 + ], + [ + "▁américain", + -12.043642044067383 + ], + [ + "▁Mine", + -12.043678283691406 + ], + [ + "▁sunset", + -12.043729782104492 + ], + [ + "▁Choice", + -12.043844223022461 + ], + [ + "▁offset", + -12.043944358825684 + ], + [ + "APP", + -12.04410457611084 + ], + [ + "▁suchen", + -12.044130325317383 + ], + [ + "▁aduc", + -12.044228553771973 + ], + [ + "▁Unternehmens", + -12.044342041015625 + ], + [ + "▁//", + -12.044651985168457 + ], + [ + "▁astept", + -12.044678688049316 + ], + [ + "▁Birthday", + -12.045061111450195 + ], + [ + "▁barn", + -12.045083999633789 + ], + [ + "apport", + -12.045105934143066 + ], + [ + "▁collar", + -12.045212745666504 + ], + [ + "▁gefunden", + -12.045294761657715 + ], + [ + "▁Hai", + -12.045429229736328 + ], + [ + "▁Soul", + -12.045441627502441 + ], + [ + "ismus", + -12.045654296875 + ], + [ + "letzt", + -12.045754432678223 + ], + [ + "▁maker", + -12.045841217041016 + ], + [ + "▁executed", + -12.045857429504395 + ], + [ + "▁Forschung", + -12.045915603637695 + ], + [ + "▁täglich", + -12.045958518981934 + ], + [ + "▁tailor", + -12.045960426330566 + ], + [ + "▁headquarters", + -12.0460844039917 + ], + [ + "▁physicians", + -12.046112060546875 + ], + [ + "▁Scout", + -12.046126365661621 + ], + [ + "folgen", + -12.046175003051758 + ], + [ + "▁cycling", + -12.046184539794922 + ], + [ + "mindestens", + -12.04620361328125 + ], + [ + "▁joli", + -12.046216011047363 + ], + [ + "▁classification", + -12.046225547790527 + ], + [ + "▁Führung", + -12.046258926391602 + ], + [ + "▁peau", + -12.04629135131836 + ], + [ + "INT", + -12.046502113342285 + ], + [ + "▁Garage", + -12.046664237976074 + ], + [ + "teile", + -12.046714782714844 + ], + [ + "util", + -12.046716690063477 + ], + [ + "▁petrec", + -12.046751022338867 + ], + [ + "▁Nevada", + -12.046826362609863 + ], + [ + "▁laisser", + -12.04706859588623 + ], + [ + "▁territoire", + -12.047131538391113 + ], + [ + "▁fichier", + -12.047154426574707 + ], + [ + "▁Formula", + -12.047343254089355 + ], + [ + "scopul", + -12.047379493713379 + ], + [ + "▁Tee", + -12.047486305236816 + ], + [ + "▁Monte", + -12.047529220581055 + ], + [ + "▁pumpkin", + -12.04757022857666 + ], + [ + "▁picnic", + -12.047589302062988 + ], + [ + "▁occupation", + -12.047652244567871 + ], + [ + "▁numérique", + -12.047831535339355 + ], + [ + "linie", + -12.04786491394043 + ], + [ + "▁masina", + -12.048117637634277 + ], + [ + "▁Prä", + -12.048173904418945 + ], + [ + "▁dezvoltare", + -12.048177719116211 + ], + [ + "▁vient", + -12.048291206359863 + ], + [ + "▁ranks", + -12.048295021057129 + ], + [ + "▁Bruce", + -12.048420906066895 + ], + [ + "▁seara", + -12.048433303833008 + ], + [ + "▁hungry", + -12.048563003540039 + ], + [ + "▁resolved", + -12.048650741577148 + ], + [ + "paired", + -12.048735618591309 + ], + [ + "▁Congratulations", + -12.048881530761719 + ], + [ + "▁religi", + -12.048918724060059 + ], + [ + "sätze", + -12.04897689819336 + ], + [ + "▁Eat", + -12.049172401428223 + ], + [ + "▁dense", + -12.049442291259766 + ], + [ + "▁slice", + -12.049447059631348 + ], + [ + "▁mulți", + -12.049463272094727 + ], + [ + "▁vorbe", + -12.049517631530762 + ], + [ + "▁terminate", + -12.049779891967773 + ], + [ + "worm", + -12.049880981445312 + ], + [ + "ignon", + -12.0499267578125 + ], + [ + "▁Howard", + -12.049992561340332 + ], + [ + "▁toddler", + -12.050017356872559 + ], + [ + "▁waters", + -12.050033569335938 + ], + [ + "▁graduates", + -12.0501708984375 + ], + [ + "▁fundraising", + -12.050298690795898 + ], + [ + "06.", + -12.05031967163086 + ], + [ + "▁scent", + -12.050346374511719 + ], + [ + "▁CPU", + -12.050406455993652 + ], + [ + "▁Kid", + -12.05045223236084 + ], + [ + "▁Years", + -12.050460815429688 + ], + [ + "▁Oktober", + -12.05063533782959 + ], + [ + "filled", + -12.050726890563965 + ], + [ + "▁Laser", + -12.05079460144043 + ], + [ + "▁tut", + -12.051032066345215 + ], + [ + "ively", + -12.051101684570312 + ], + [ + "▁WiFi", + -12.051161766052246 + ], + [ + "standen", + -12.051176071166992 + ], + [ + "▁publié", + -12.051243782043457 + ], + [ + "▁explaining", + -12.051279067993164 + ], + [ + "trieb", + -12.051288604736328 + ], + [ + "▁Rapid", + -12.0513334274292 + ], + [ + "▁unterstützt", + -12.051352500915527 + ], + [ + "▁Sonnen", + -12.051401138305664 + ], + [ + "▁lenses", + -12.05141544342041 + ], + [ + "▁pressing", + -12.051477432250977 + ], + [ + "▁respected", + -12.051657676696777 + ], + [ + "adapted", + -12.051706314086914 + ], + [ + "Don", + -12.051726341247559 + ], + [ + "▁mun", + -12.051733016967773 + ], + [ + "MAR", + -12.05180835723877 + ], + [ + "▁seam", + -12.051852226257324 + ], + [ + "chev", + -12.052140235900879 + ], + [ + "▁Sozial", + -12.052424430847168 + ], + [ + "▁Arabia", + -12.052485466003418 + ], + [ + "▁equation", + -12.05257511138916 + ], + [ + "▁elevi", + -12.052780151367188 + ], + [ + "▁piata", + -12.052868843078613 + ], + [ + "JA", + -12.052873611450195 + ], + [ + "▁wholesale", + -12.052887916564941 + ], + [ + "▁faithful", + -12.05296516418457 + ], + [ + "legal", + -12.053092002868652 + ], + [ + "▁Brexit", + -12.053095817565918 + ], + [ + "vention", + -12.053120613098145 + ], + [ + "▁adhere", + -12.053221702575684 + ], + [ + "▁Associate", + -12.053257942199707 + ], + [ + "▁decorations", + -12.053272247314453 + ], + [ + "▁crois", + -12.053359985351562 + ], + [ + "buck", + -12.053370475769043 + ], + [ + "▁smartphones", + -12.053421020507812 + ], + [ + "Regardless", + -12.053427696228027 + ], + [ + "center", + -12.053434371948242 + ], + [ + "eiß", + -12.053481101989746 + ], + [ + "▁emotion", + -12.053584098815918 + ], + [ + "▁Gespräch", + -12.053797721862793 + ], + [ + "▁Avi", + -12.053963661193848 + ], + [ + "▁loft", + -12.054059982299805 + ], + [ + "▁Wissen", + -12.054391860961914 + ], + [ + "▁orchestra", + -12.05439567565918 + ], + [ + "▁gehören", + -12.054421424865723 + ], + [ + "▁Reich", + -12.054532051086426 + ], + [ + "▁abandoned", + -12.054548263549805 + ], + [ + "▁Lanka", + -12.054586410522461 + ], + [ + "pala", + -12.054832458496094 + ], + [ + "▁Stell", + -12.054838180541992 + ], + [ + "logged", + -12.054924964904785 + ], + [ + "terie", + -12.054935455322266 + ], + [ + "▁educa", + -12.054954528808594 + ], + [ + "1).", + -12.055097579956055 + ], + [ + "▁disponibil", + -12.055119514465332 + ], + [ + "IND", + -12.055197715759277 + ], + [ + "▁Pont", + -12.055288314819336 + ], + [ + "▁téléphone", + -12.055398941040039 + ], + [ + "▁rope", + -12.055595397949219 + ], + [ + "ève", + -12.055622100830078 + ], + [ + "▁Trainer", + -12.056062698364258 + ], + [ + "▁présence", + -12.0560941696167 + ], + [ + "▁Oscar", + -12.056121826171875 + ], + [ + "▁VR", + -12.056342124938965 + ], + [ + "▁Besucher", + -12.056357383728027 + ], + [ + "▁disponibles", + -12.056447982788086 + ], + [ + "▁gelten", + -12.056604385375977 + ], + [ + "▁ports", + -12.056645393371582 + ], + [ + "Invest", + -12.056693077087402 + ], + [ + "ésormais", + -12.056795120239258 + ], + [ + "schauen", + -12.056880950927734 + ], + [ + "▁Command", + -12.056958198547363 + ], + [ + "▁alternate", + -12.05709171295166 + ], + [ + "citation", + -12.05713939666748 + ], + [ + "évolution", + -12.05714225769043 + ], + [ + "▁Maine", + -12.057145118713379 + ], + [ + "pflege", + -12.057174682617188 + ], + [ + "2011", + -12.057343482971191 + ], + [ + "▁Ground", + -12.057364463806152 + ], + [ + "▁ghost", + -12.057418823242188 + ], + [ + "lebt", + -12.057530403137207 + ], + [ + "▁scenarios", + -12.057595252990723 + ], + [ + "▁mall", + -12.057634353637695 + ], + [ + "▁Kings", + -12.057653427124023 + ], + [ + "▁15%", + -12.057848930358887 + ], + [ + "▁Paint", + -12.057848930358887 + ], + [ + "FD", + -12.057849884033203 + ], + [ + "ugg", + -12.058011054992676 + ], + [ + "▁Leon", + -12.058023452758789 + ], + [ + "▁grows", + -12.058135032653809 + ], + [ + "▁pharmacy", + -12.058384895324707 + ], + [ + "▁situat", + -12.0584135055542 + ], + [ + "20,000", + -12.05855941772461 + ], + [ + "▁10,000", + -12.058760643005371 + ], + [ + "▁membre", + -12.058771133422852 + ], + [ + "▁facilement", + -12.058806419372559 + ], + [ + "▁Analytics", + -12.058915138244629 + ], + [ + "▁Marvel", + -12.058930397033691 + ], + [ + "▁survived", + -12.059097290039062 + ], + [ + "▁conviction", + -12.059124946594238 + ], + [ + "▁Produktion", + -12.059260368347168 + ], + [ + "▁professionally", + -12.059293746948242 + ], + [ + "▁contributor", + -12.059486389160156 + ], + [ + "▁Kurs", + -12.059503555297852 + ], + [ + "▁humor", + -12.059549331665039 + ], + [ + "▁cinci", + -12.059609413146973 + ], + [ + "▁Different", + -12.059670448303223 + ], + [ + "▁Verarbeitung", + -12.059800148010254 + ], + [ + "▁inexpensive", + -12.059800148010254 + ], + [ + "▁sortie", + -12.05980110168457 + ], + [ + "▁thankful", + -12.059951782226562 + ], + [ + "▁vacances", + -12.059978485107422 + ], + [ + "▁vergangen", + -12.059979438781738 + ], + [ + "▁wings", + -12.05998420715332 + ], + [ + "▁nano", + -12.06003475189209 + ], + [ + "▁touches", + -12.060088157653809 + ], + [ + "▁Notice", + -12.060348510742188 + ], + [ + "▁reprezinta", + -12.060466766357422 + ], + [ + "▁rewarding", + -12.060555458068848 + ], + [ + "▁Kurz", + -12.060580253601074 + ], + [ + "▁mega", + -12.060611724853516 + ], + [ + "▁secrets", + -12.060646057128906 + ], + [ + "▁vorher", + -12.060667037963867 + ], + [ + "▁crescut", + -12.06074333190918 + ], + [ + "▁coordination", + -12.060754776000977 + ], + [ + "▁dissertation", + -12.060863494873047 + ], + [ + "▁header", + -12.060873985290527 + ], + [ + "existent", + -12.061070442199707 + ], + [ + "thal", + -12.061185836791992 + ], + [ + "▁translate", + -12.061214447021484 + ], + [ + "vertrag", + -12.06124210357666 + ], + [ + "GU", + -12.06126594543457 + ], + [ + "▁Arthur", + -12.061315536499023 + ], + [ + "wahl", + -12.061534881591797 + ], + [ + "▁octobre", + -12.061573028564453 + ], + [ + "▁bother", + -12.06157398223877 + ], + [ + "▁pencil", + -12.061580657958984 + ], + [ + "▁Dyna", + -12.061604499816895 + ], + [ + "▁complimentary", + -12.061651229858398 + ], + [ + "écoute", + -12.061676979064941 + ], + [ + "PB", + -12.061722755432129 + ], + [ + "▁independently", + -12.061759948730469 + ], + [ + "▁targeting", + -12.061840057373047 + ], + [ + "fought", + -12.061944961547852 + ], + [ + "mental", + -12.062112808227539 + ], + [ + "▁Veranstaltung", + -12.062300682067871 + ], + [ + "▁tatsächlich", + -12.062314987182617 + ], + [ + "▁Features", + -12.0625 + ], + [ + "▁1920", + -12.062554359436035 + ], + [ + "▁Domain", + -12.062885284423828 + ], + [ + "▁rally", + -12.062901496887207 + ], + [ + "▁iunie", + -12.063036918640137 + ], + [ + "▁fabrics", + -12.063070297241211 + ], + [ + "▁mint", + -12.063331604003906 + ], + [ + "▁antioxidant", + -12.063347816467285 + ], + [ + "hut", + -12.063432693481445 + ], + [ + "EPA", + -12.063496589660645 + ], + [ + "▁rigid", + -12.063498497009277 + ], + [ + "▁evit", + -12.063549995422363 + ], + [ + "▁personnage", + -12.063977241516113 + ], + [ + "▁garanti", + -12.0640287399292 + ], + [ + "▁Hä", + -12.064042091369629 + ], + [ + "▁Days", + -12.064048767089844 + ], + [ + "boarding", + -12.064050674438477 + ], + [ + "jemand", + -12.064166069030762 + ], + [ + "▁Pos", + -12.064262390136719 + ], + [ + "▁wool", + -12.064288139343262 + ], + [ + "▁boom", + -12.064349174499512 + ], + [ + "▁wichtige", + -12.06447982788086 + ], + [ + "▁emerged", + -12.064517974853516 + ], + [ + "▁smoothly", + -12.064802169799805 + ], + [ + "▁Interview", + -12.064942359924316 + ], + [ + "gemäß", + -12.06505012512207 + ], + [ + "▁suivi", + -12.065064430236816 + ], + [ + "▁missions", + -12.065129280090332 + ], + [ + "▁Kreis", + -12.065328598022461 + ], + [ + "century", + -12.065348625183105 + ], + [ + "▁tuned", + -12.065370559692383 + ], + [ + "isieren", + -12.065407752990723 + ], + [ + "▁Branch", + -12.065427780151367 + ], + [ + "▁Russell", + -12.065483093261719 + ], + [ + "▁**", + -12.065519332885742 + ], + [ + "▁Lehr", + -12.065617561340332 + ], + [ + "▁perspectives", + -12.065690040588379 + ], + [ + "▁handed", + -12.06570816040039 + ], + [ + "▁apporte", + -12.065743446350098 + ], + [ + "unta", + -12.065959930419922 + ], + [ + "▁contemplat", + -12.066255569458008 + ], + [ + "riel", + -12.06633472442627 + ], + [ + "▁freely", + -12.066341400146484 + ], + [ + "▁loyal", + -12.066451072692871 + ], + [ + "▁evolved", + -12.066518783569336 + ], + [ + "▁Cafe", + -12.066548347473145 + ], + [ + "▁assignments", + -12.066598892211914 + ], + [ + "▁Cream", + -12.066718101501465 + ], + [ + "▁Build", + -12.066731452941895 + ], + [ + "▁exams", + -12.066746711730957 + ], + [ + "▁graduation", + -12.066765785217285 + ], + [ + "▁Dining", + -12.066773414611816 + ], + [ + "inne", + -12.06684398651123 + ], + [ + "▁propriu", + -12.067055702209473 + ], + [ + "▁accordingly", + -12.067241668701172 + ], + [ + "▁seniors", + -12.067484855651855 + ], + [ + "▁sisters", + -12.067505836486816 + ], + [ + "formerly", + -12.067658424377441 + ], + [ + "▁fleur", + -12.067702293395996 + ], + [ + "▁alten", + -12.067802429199219 + ], + [ + "▁Gefühl", + -12.06797981262207 + ], + [ + "▁freeze", + -12.068222045898438 + ], + [ + "▁structured", + -12.068312644958496 + ], + [ + "▁reserved", + -12.068367004394531 + ], + [ + "stellt", + -12.068638801574707 + ], + [ + "▁foto", + -12.068668365478516 + ], + [ + "linger", + -12.06871223449707 + ], + [ + "▁profiter", + -12.068737030029297 + ], + [ + "▁trup", + -12.068862915039062 + ], + [ + "▁Hunter", + -12.068974494934082 + ], + [ + "▁widespread", + -12.069050788879395 + ], + [ + "entretien", + -12.069242477416992 + ], + [ + "▁Truck", + -12.06958293914795 + ], + [ + "Can", + -12.069656372070312 + ], + [ + "péri", + -12.06976318359375 + ], + [ + "▁>>", + -12.069926261901855 + ], + [ + "▁trains", + -12.070141792297363 + ], + [ + "▁faca", + -12.070149421691895 + ], + [ + "▁Patienten", + -12.070170402526855 + ], + [ + "▁scor", + -12.070361137390137 + ], + [ + "▁perceived", + -12.070384979248047 + ], + [ + "setzung", + -12.070393562316895 + ], + [ + "▁Robin", + -12.070558547973633 + ], + [ + "▁geboren", + -12.07060718536377 + ], + [ + "lons", + -12.070687294006348 + ], + [ + "inţa", + -12.070836067199707 + ], + [ + "glob", + -12.070887565612793 + ], + [ + "subsequently", + -12.07111930847168 + ], + [ + "▁vet", + -12.071170806884766 + ], + [ + "▁Holland", + -12.071328163146973 + ], + [ + "▁Clinical", + -12.071370124816895 + ], + [ + "▁uncertainty", + -12.071381568908691 + ], + [ + "hohen", + -12.071386337280273 + ], + [ + "uza", + -12.071431159973145 + ], + [ + "▁kleiner", + -12.071518898010254 + ], + [ + "▁substances", + -12.07155704498291 + ], + [ + "ados", + -12.071627616882324 + ], + [ + "wheel", + -12.07178020477295 + ], + [ + "▁cone", + -12.071990966796875 + ], + [ + "▁castig", + -12.072218894958496 + ], + [ + "▁Conditions", + -12.072242736816406 + ], + [ + "minus", + -12.072643280029297 + ], + [ + "▁permits", + -12.07265853881836 + ], + [ + "fond", + -12.072784423828125 + ], + [ + "▁reactions", + -12.07278823852539 + ], + [ + "▁Mario", + -12.072819709777832 + ], + [ + "▁materiale", + -12.07291030883789 + ], + [ + "AH", + -12.072924613952637 + ], + [ + "▁juillet", + -12.073172569274902 + ], + [ + "▁juridic", + -12.073182106018066 + ], + [ + "▁dropping", + -12.073200225830078 + ], + [ + "expérience", + -12.073225021362305 + ], + [ + "▁depot", + -12.073345184326172 + ], + [ + "▁plea", + -12.073490142822266 + ], + [ + "dezvoltarea", + -12.073512077331543 + ], + [ + "▁Independent", + -12.07363224029541 + ], + [ + "▁Homes", + -12.073674201965332 + ], + [ + "▁crust", + -12.073808670043945 + ], + [ + "▁pillow", + -12.073899269104004 + ], + [ + "kreis", + -12.073920249938965 + ], + [ + "▁boiler", + -12.073928833007812 + ], + [ + "latin", + -12.073978424072266 + ], + [ + "▁stet", + -12.074131965637207 + ], + [ + "GH", + -12.074143409729004 + ], + [ + "▁absent", + -12.074334144592285 + ], + [ + "▁Directors", + -12.074501037597656 + ], + [ + "zwischen", + -12.07462215423584 + ], + [ + "▁comprendre", + -12.07465648651123 + ], + [ + "▁25,", + -12.074832916259766 + ], + [ + "▁pharmaceutical", + -12.075145721435547 + ], + [ + "▁placeholder", + -12.075174331665039 + ], + [ + "KI", + -12.075176239013672 + ], + [ + "▁români", + -12.07540225982666 + ], + [ + "▁Dollar", + -12.075509071350098 + ], + [ + "▁Operations", + -12.075525283813477 + ], + [ + "▁Dublin", + -12.075550079345703 + ], + [ + "▁drawings", + -12.0756196975708 + ], + [ + "▁respir", + -12.075769424438477 + ], + [ + "▁haul", + -12.0758056640625 + ], + [ + "Obviously", + -12.075864791870117 + ], + [ + "▁Beat", + -12.075864791870117 + ], + [ + "▁jeans", + -12.07590103149414 + ], + [ + "▁Masters", + -12.075927734375 + ], + [ + "▁bits", + -12.076213836669922 + ], + [ + "poți", + -12.076226234436035 + ], + [ + "▁asigur", + -12.076228141784668 + ], + [ + "▁intampla", + -12.076228141784668 + ], + [ + "▁marc", + -12.076282501220703 + ], + [ + "......", + -12.076404571533203 + ], + [ + "▁districts", + -12.076437950134277 + ], + [ + "cru", + -12.076457023620605 + ], + [ + "nav", + -12.076608657836914 + ], + [ + "huile", + -12.076644897460938 + ], + [ + "▁limitation", + -12.076647758483887 + ], + [ + "boat", + -12.076712608337402 + ], + [ + "IRE", + -12.076720237731934 + ], + [ + "Unis", + -12.07675838470459 + ], + [ + "dated", + -12.0769624710083 + ], + [ + "▁consultants", + -12.07699203491211 + ], + [ + "▁Josh", + -12.077007293701172 + ], + [ + "tanz", + -12.077184677124023 + ], + [ + "launching", + -12.0772066116333 + ], + [ + "▁browsing", + -12.077310562133789 + ], + [ + "▁incerc", + -12.077314376831055 + ], + [ + "▁27,", + -12.077375411987305 + ], + [ + "не", + -12.077398300170898 + ], + [ + "wig", + -12.077415466308594 + ], + [ + "▁spar", + -12.077458381652832 + ], + [ + "▁token", + -12.077547073364258 + ], + [ + "▁09", + -12.077548027038574 + ], + [ + "spa", + -12.07766056060791 + ], + [ + "ometer", + -12.07772159576416 + ], + [ + "▁riders", + -12.077869415283203 + ], + [ + "▁Drop", + -12.077898979187012 + ], + [ + "RN", + -12.078103065490723 + ], + [ + "▁pairs", + -12.07815933227539 + ], + [ + "▁psychology", + -12.078420639038086 + ], + [ + "▁Douglas", + -12.078437805175781 + ], + [ + "▁verwenden", + -12.078516960144043 + ], + [ + "▁(9", + -12.07857894897461 + ], + [ + "▁Rental", + -12.078728675842285 + ], + [ + "▁délai", + -12.078847885131836 + ], + [ + "▁sooner", + -12.078882217407227 + ], + [ + "▁bankruptcy", + -12.079109191894531 + ], + [ + "04.", + -12.079110145568848 + ], + [ + "abend", + -12.079194068908691 + ], + [ + "çon", + -12.079237937927246 + ], + [ + "▁Ple", + -12.079243659973145 + ], + [ + "fug", + -12.079337120056152 + ], + [ + "▁Wohnung", + -12.079410552978516 + ], + [ + "▁Preise", + -12.079424858093262 + ], + [ + "▁Kay", + -12.079427719116211 + ], + [ + "▁notify", + -12.079474449157715 + ], + [ + "▁Brain", + -12.079534530639648 + ], + [ + "▁optical", + -12.079580307006836 + ], + [ + "▁modifications", + -12.079727172851562 + ], + [ + "▁repos", + -12.07999324798584 + ], + [ + "▁worksheet", + -12.0800142288208 + ], + [ + "continu", + -12.08005428314209 + ], + [ + "▁assumed", + -12.08059024810791 + ], + [ + "varying", + -12.080626487731934 + ], + [ + "feier", + -12.080643653869629 + ], + [ + "▁Freedom", + -12.080717086791992 + ], + [ + "▁Inhalte", + -12.080740928649902 + ], + [ + "▁observations", + -12.080755233764648 + ], + [ + "▁Gruppe", + -12.080791473388672 + ], + [ + "▁Cyber", + -12.080883979797363 + ], + [ + "hort", + -12.080889701843262 + ], + [ + "▁langue", + -12.080915451049805 + ], + [ + "führen", + -12.08110523223877 + ], + [ + "ganze", + -12.081254005432129 + ], + [ + "▁forte", + -12.081327438354492 + ], + [ + "▁Stefan", + -12.081376075744629 + ], + [ + "▁Jetzt", + -12.081463813781738 + ], + [ + "mehr", + -12.081489562988281 + ], + [ + "trip", + -12.081549644470215 + ], + [ + "▁poem", + -12.081583976745605 + ], + [ + "▁practitioners", + -12.081720352172852 + ], + [ + "▁connector", + -12.08177661895752 + ], + [ + "ECT", + -12.081794738769531 + ], + [ + "▁inseamna", + -12.081820487976074 + ], + [ + "addressing", + -12.081867218017578 + ], + [ + "▁beliebt", + -12.081908226013184 + ], + [ + "▁Mama", + -12.082002639770508 + ], + [ + "▁fade", + -12.08204460144043 + ], + [ + "messen", + -12.08205509185791 + ], + [ + "▁Visa", + -12.082080841064453 + ], + [ + "▁Meta", + -12.082154273986816 + ], + [ + "lene", + -12.082188606262207 + ], + [ + "▁remembered", + -12.082334518432617 + ], + [ + "/3", + -12.082337379455566 + ], + [ + "apte", + -12.082347869873047 + ], + [ + "▁uncomfortable", + -12.082364082336426 + ], + [ + "▁romance", + -12.08253002166748 + ], + [ + "▁réalis", + -12.082601547241211 + ], + [ + "▁Vincent", + -12.082706451416016 + ], + [ + "▁ABC", + -12.08275318145752 + ], + [ + "▁handicap", + -12.082756042480469 + ], + [ + "▁Shin", + -12.082801818847656 + ], + [ + "▁Hunde", + -12.082847595214844 + ], + [ + "▁Ach", + -12.083131790161133 + ], + [ + "▁Questions", + -12.083136558532715 + ], + [ + "▁particles", + -12.083226203918457 + ], + [ + "usch", + -12.083230018615723 + ], + [ + "▁SUV", + -12.083279609680176 + ], + [ + "▁Tous", + -12.083301544189453 + ], + [ + "▁empower", + -12.08336067199707 + ], + [ + "▁Yi", + -12.083446502685547 + ], + [ + "▁LinkedIn", + -12.083453178405762 + ], + [ + "▁Profile", + -12.083507537841797 + ], + [ + "▁surround", + -12.083553314208984 + ], + [ + "▁wh", + -12.083560943603516 + ], + [ + "▁Weiter", + -12.083577156066895 + ], + [ + "▁Weight", + -12.083672523498535 + ], + [ + "▁creatures", + -12.083807945251465 + ], + [ + "Especially", + -12.08381462097168 + ], + [ + "▁repede", + -12.08383560180664 + ], + [ + "▁albums", + -12.083885192871094 + ], + [ + "▁compatibil", + -12.0839204788208 + ], + [ + "▁Interesse", + -12.083929061889648 + ], + [ + "abili", + -12.084062576293945 + ], + [ + "▁roast", + -12.084310531616211 + ], + [ + "▁unii", + -12.084310531616211 + ], + [ + "▁Glad", + -12.084421157836914 + ], + [ + "▁enthusiasm", + -12.084539413452148 + ], + [ + "▁whisk", + -12.084547996520996 + ], + [ + "▁freezer", + -12.084712982177734 + ], + [ + "▁stolen", + -12.084715843200684 + ], + [ + "▁neighbour", + -12.084883689880371 + ], + [ + "▁sake", + -12.084967613220215 + ], + [ + "▁Effect", + -12.0850191116333 + ], + [ + "▁fighter", + -12.085044860839844 + ], + [ + "▁tranquil", + -12.085084915161133 + ], + [ + "▁organizer", + -12.085199356079102 + ], + [ + "pixel", + -12.085306167602539 + ], + [ + "▁Guest", + -12.085338592529297 + ], + [ + "▁Philipp", + -12.085369110107422 + ], + [ + "kunft", + -12.085382461547852 + ], + [ + "▁Meer", + -12.085409164428711 + ], + [ + "▁inviting", + -12.085432052612305 + ], + [ + "gänge", + -12.085450172424316 + ], + [ + "▁Position", + -12.085627555847168 + ], + [ + "giving", + -12.085693359375 + ], + [ + "▁marble", + -12.085807800292969 + ], + [ + "▁neg", + -12.085813522338867 + ], + [ + "▁Haar", + -12.085914611816406 + ], + [ + "Ein", + -12.086039543151855 + ], + [ + "▁buses", + -12.086187362670898 + ], + [ + "▁Lodge", + -12.086188316345215 + ], + [ + "soare", + -12.086319923400879 + ], + [ + "▁Barn", + -12.086409568786621 + ], + [ + "▁captain", + -12.086527824401855 + ], + [ + "▁Fix", + -12.08657169342041 + ], + [ + "ulate", + -12.086629867553711 + ], + [ + "ență", + -12.086709022521973 + ], + [ + "▁finances", + -12.086770057678223 + ], + [ + "▁VIP", + -12.086800575256348 + ], + [ + "▁Adams", + -12.086801528930664 + ], + [ + "▁spécialisé", + -12.086960792541504 + ], + [ + "▁fortunate", + -12.087236404418945 + ], + [ + "ility", + -12.087345123291016 + ], + [ + "▁democracy", + -12.08749771118164 + ], + [ + "shu", + -12.087580680847168 + ], + [ + "▁consiste", + -12.087624549865723 + ], + [ + "▁tort", + -12.087692260742188 + ], + [ + "▁branding", + -12.087793350219727 + ], + [ + "▁porch", + -12.08780288696289 + ], + [ + "UNI", + -12.087867736816406 + ], + [ + "▁placut", + -12.087915420532227 + ], + [ + "▁coupled", + -12.088058471679688 + ], + [ + "▁ministre", + -12.088187217712402 + ], + [ + "▁minerals", + -12.088335037231445 + ], + [ + "▁safer", + -12.088335990905762 + ], + [ + "▁outlets", + -12.088438034057617 + ], + [ + "▁caution", + -12.08864688873291 + ], + [ + "▁lightly", + -12.0886869430542 + ], + [ + "▁utilizator", + -12.088700294494629 + ], + [ + "▁Pala", + -12.088959693908691 + ], + [ + "▁doll", + -12.088961601257324 + ], + [ + "(1)", + -12.089065551757812 + ], + [ + "chol", + -12.089120864868164 + ], + [ + "▁Left", + -12.08919620513916 + ], + [ + "▁roulant", + -12.089277267456055 + ], + [ + "▁propune", + -12.089301109313965 + ], + [ + "▁Cred", + -12.089339256286621 + ], + [ + "▁negotiations", + -12.089362144470215 + ], + [ + "amba", + -12.089393615722656 + ], + [ + "▁grasp", + -12.089420318603516 + ], + [ + "▁Amsterdam", + -12.089451789855957 + ], + [ + "▁Zweck", + -12.08945369720459 + ], + [ + "▁conven", + -12.089563369750977 + ], + [ + "▁organizing", + -12.089574813842773 + ], + [ + "section", + -12.089618682861328 + ], + [ + "▁endeavor", + -12.089634895324707 + ], + [ + "▁basics", + -12.089722633361816 + ], + [ + "jud", + -12.089874267578125 + ], + [ + "▁yarn", + -12.090049743652344 + ], + [ + "▁shout", + -12.09009075164795 + ], + [ + "fällt", + -12.090285301208496 + ], + [ + "▁dragoste", + -12.09054946899414 + ], + [ + "▁Rein", + -12.090594291687012 + ], + [ + "Cal", + -12.090688705444336 + ], + [ + "▁deaths", + -12.090729713439941 + ], + [ + "▁24,", + -12.0907564163208 + ], + [ + "▁măr", + -12.090773582458496 + ], + [ + "server", + -12.090825080871582 + ], + [ + "▁explic", + -12.09085464477539 + ], + [ + "▁sufer", + -12.090903282165527 + ], + [ + "▁lucrări", + -12.091097831726074 + ], + [ + "▁Disease", + -12.091126441955566 + ], + [ + "▁prescribed", + -12.091194152832031 + ], + [ + "prozess", + -12.091285705566406 + ], + [ + "▁dessin", + -12.091343879699707 + ], + [ + "▁refuge", + -12.091473579406738 + ], + [ + "▁cope", + -12.091631889343262 + ], + [ + "pole", + -12.09196949005127 + ], + [ + "▁vacant", + -12.091984748840332 + ], + [ + "▁sezon", + -12.092035293579102 + ], + [ + "▁Carbon", + -12.092227935791016 + ], + [ + "▁goût", + -12.092233657836914 + ], + [ + "Ste", + -12.092320442199707 + ], + [ + "▁surroundings", + -12.092754364013672 + ], + [ + "definite", + -12.09284496307373 + ], + [ + "▁adaptation", + -12.093358993530273 + ], + [ + "cteur", + -12.0933837890625 + ], + [ + "System", + -12.093442916870117 + ], + [ + "▁Burg", + -12.093550682067871 + ], + [ + "▁retention", + -12.093579292297363 + ], + [ + "examen", + -12.093618392944336 + ], + [ + "▁adjustments", + -12.093668937683105 + ], + [ + "nies", + -12.094213485717773 + ], + [ + "▁RSS", + -12.094215393066406 + ], + [ + "▁Umwelt", + -12.094259262084961 + ], + [ + "▁strengths", + -12.094326972961426 + ], + [ + "loom", + -12.094401359558105 + ], + [ + "▁pics", + -12.094404220581055 + ], + [ + "phase", + -12.09443187713623 + ], + [ + "▁Poland", + -12.094472885131836 + ], + [ + "▁practicing", + -12.094558715820312 + ], + [ + "monetary", + -12.094756126403809 + ], + [ + "▁embodiment", + -12.094756126403809 + ], + [ + "▁jocuri", + -12.094846725463867 + ], + [ + "▁impreuna", + -12.094939231872559 + ], + [ + "▁Lyon", + -12.094985961914062 + ], + [ + "keeping", + -12.095157623291016 + ], + [ + "▁Starting", + -12.095202445983887 + ], + [ + "▁începe", + -12.095357894897461 + ], + [ + "▁clay", + -12.095440864562988 + ], + [ + "bildung", + -12.095444679260254 + ], + [ + "Technologie", + -12.095513343811035 + ], + [ + "toxic", + -12.095624923706055 + ], + [ + "▁gasit", + -12.095819473266602 + ], + [ + "rott", + -12.095870018005371 + ], + [ + "brook", + -12.095935821533203 + ], + [ + "▁wann", + -12.096029281616211 + ], + [ + "▁lined", + -12.09610366821289 + ], + [ + "▁Chelsea", + -12.096223831176758 + ], + [ + "▁Orlando", + -12.096224784851074 + ], + [ + "▁Otherwise", + -12.096267700195312 + ], + [ + "▁debit", + -12.096273422241211 + ], + [ + "▁entsprechend", + -12.09648323059082 + ], + [ + "nism", + -12.09654426574707 + ], + [ + "issen", + -12.09664535522461 + ], + [ + "▁rendez", + -12.096646308898926 + ], + [ + "▁processus", + -12.096745491027832 + ], + [ + "mbi", + -12.096890449523926 + ], + [ + "▁Graduate", + -12.096960067749023 + ], + [ + "▁cozy", + -12.097119331359863 + ], + [ + "▁Freunde", + -12.097320556640625 + ], + [ + "▁teme", + -12.097389221191406 + ], + [ + "▁bias", + -12.097548484802246 + ], + [ + "102", + -12.09756851196289 + ], + [ + "terrorism", + -12.09770679473877 + ], + [ + "threatening", + -12.097756385803223 + ], + [ + "ни", + -12.097776412963867 + ], + [ + "▁Sonntag", + -12.098062515258789 + ], + [ + "▁efect", + -12.098116874694824 + ], + [ + "▁prayers", + -12.098134994506836 + ], + [ + "▁backpack", + -12.09841537475586 + ], + [ + "?)", + -12.098489761352539 + ], + [ + "▁searches", + -12.098788261413574 + ], + [ + "ouverture", + -12.09880256652832 + ], + [ + "▁sustained", + -12.098865509033203 + ], + [ + "hawk", + -12.098869323730469 + ], + [ + "messe", + -12.098958969116211 + ], + [ + "▁prototype", + -12.098989486694336 + ], + [ + "▁stră", + -12.09903335571289 + ], + [ + "▁Neo", + -12.099040985107422 + ], + [ + "▁29,", + -12.099109649658203 + ], + [ + "izo", + -12.099306106567383 + ], + [ + "▁Anton", + -12.099333763122559 + ], + [ + "SIS", + -12.099564552307129 + ], + [ + "pendant", + -12.099617958068848 + ], + [ + "▁passive", + -12.099813461303711 + ], + [ + "▁Aaron", + -12.099824905395508 + ], + [ + "▁Karen", + -12.099831581115723 + ], + [ + "▁Bildung", + -12.09994888305664 + ], + [ + "ario", + -12.099949836730957 + ], + [ + "▁regulator", + -12.100006103515625 + ], + [ + "gruppe", + -12.100032806396484 + ], + [ + "stepped", + -12.100053787231445 + ], + [ + "▁interventions", + -12.10014533996582 + ], + [ + "▁rounds", + -12.100149154663086 + ], + [ + "▁Khan", + -12.10020637512207 + ], + [ + "▁railway", + -12.10028076171875 + ], + [ + "▁souvenir", + -12.100296974182129 + ], + [ + "▁Plans", + -12.100336074829102 + ], + [ + "aille", + -12.100372314453125 + ], + [ + "▁billing", + -12.100473403930664 + ], + [ + "▁Spiele", + -12.100541114807129 + ], + [ + "▁supermarket", + -12.100556373596191 + ], + [ + "▁flows", + -12.100625991821289 + ], + [ + "▁PayPal", + -12.100641250610352 + ], + [ + "▁tribe", + -12.10067081451416 + ], + [ + "anni", + -12.100780487060547 + ], + [ + "▁rides", + -12.100934982299805 + ], + [ + "▁Orleans", + -12.101009368896484 + ], + [ + "▁evaluated", + -12.101021766662598 + ], + [ + "founder", + -12.10106372833252 + ], + [ + "▁Feld", + -12.101212501525879 + ], + [ + "▁altele", + -12.10122299194336 + ], + [ + "▁thermo", + -12.101290702819824 + ], + [ + "ugh", + -12.101330757141113 + ], + [ + "▁adus", + -12.101375579833984 + ], + [ + "▁Taiwan", + -12.101396560668945 + ], + [ + "▁clause", + -12.101409912109375 + ], + [ + "oxi", + -12.101465225219727 + ], + [ + "alcool", + -12.101495742797852 + ], + [ + "▁Noi", + -12.101531982421875 + ], + [ + "rub", + -12.101540565490723 + ], + [ + "▁dosar", + -12.101582527160645 + ], + [ + "▁Nelson", + -12.101751327514648 + ], + [ + "fassung", + -12.102316856384277 + ], + [ + "▁Kill", + -12.102489471435547 + ], + [ + "▁Standards", + -12.102490425109863 + ], + [ + "▁upward", + -12.102653503417969 + ], + [ + "▁Coloring", + -12.102664947509766 + ], + [ + "Designed", + -12.102754592895508 + ], + [ + "▁Nou", + -12.10281753540039 + ], + [ + "▁borrow", + -12.102940559387207 + ], + [ + "▁Poll", + -12.10321044921875 + ], + [ + "▁antibiotic", + -12.103277206420898 + ], + [ + "▁fabrication", + -12.103388786315918 + ], + [ + "quo", + -12.103432655334473 + ], + [ + "▁crimes", + -12.103464126586914 + ], + [ + "▁nahe", + -12.103484153747559 + ], + [ + "▁aplicat", + -12.103565216064453 + ], + [ + "OST", + -12.1035737991333 + ], + [ + "▁Beijing", + -12.103599548339844 + ], + [ + "fight", + -12.103612899780273 + ], + [ + "▁lodge", + -12.103612899780273 + ], + [ + "dreh", + -12.103922843933105 + ], + [ + "▁harness", + -12.104036331176758 + ], + [ + "▁noiembrie", + -12.104151725769043 + ], + [ + "ounded", + -12.104161262512207 + ], + [ + "▁Imp", + -12.1041841506958 + ], + [ + "▁nächste", + -12.104275703430176 + ], + [ + "funktion", + -12.104476928710938 + ], + [ + "exploitation", + -12.104569435119629 + ], + [ + "▁Ready", + -12.10457706451416 + ], + [ + "▁Plate", + -12.104598999023438 + ], + [ + "▁octombrie", + -12.104706764221191 + ], + [ + "▁considerat", + -12.104982376098633 + ], + [ + "▁Xbox", + -12.105067253112793 + ], + [ + "mind", + -12.105107307434082 + ], + [ + "▁Lind", + -12.105111122131348 + ], + [ + "runde", + -12.105352401733398 + ], + [ + "mination", + -12.105374336242676 + ], + [ + "▁memori", + -12.105377197265625 + ], + [ + "▁cere", + -12.105389595031738 + ], + [ + "barkeit", + -12.105517387390137 + ], + [ + "▁găsi", + -12.105761528015137 + ], + [ + "2.1", + -12.105863571166992 + ], + [ + "▁Finding", + -12.105891227722168 + ], + [ + "▁static", + -12.106405258178711 + ], + [ + "court", + -12.106439590454102 + ], + [ + "▁Gem", + -12.106489181518555 + ], + [ + "▁pièce", + -12.106494903564453 + ], + [ + "▁reel", + -12.10651969909668 + ], + [ + "▁manuscript", + -12.106560707092285 + ], + [ + "▁complications", + -12.106578826904297 + ], + [ + "▁controlling", + -12.106585502624512 + ], + [ + "▁favour", + -12.106738090515137 + ], + [ + "▁advancement", + -12.106739044189453 + ], + [ + "▁Radi", + -12.106870651245117 + ], + [ + "▁faites", + -12.107076644897461 + ], + [ + "▁ordin", + -12.107131958007812 + ], + [ + "sorted", + -12.107152938842773 + ], + [ + "▁1982", + -12.10715389251709 + ], + [ + "▁brutal", + -12.107154846191406 + ], + [ + "▁Guy", + -12.107226371765137 + ], + [ + "▁accomplishment", + -12.107248306274414 + ], + [ + "▁wer", + -12.107329368591309 + ], + [ + "▁withdraw", + -12.107460975646973 + ], + [ + "abilitate", + -12.1075439453125 + ], + [ + "▁NBA", + -12.107625961303711 + ], + [ + "▁Benefit", + -12.107675552368164 + ], + [ + "▁divide", + -12.107824325561523 + ], + [ + "induced", + -12.107913970947266 + ], + [ + "▁văzut", + -12.108049392700195 + ], + [ + "▁peel", + -12.10807991027832 + ], + [ + "▁joints", + -12.108160972595215 + ], + [ + "▁enthalten", + -12.108301162719727 + ], + [ + "▁spy", + -12.108397483825684 + ], + [ + "▁occasional", + -12.108437538146973 + ], + [ + "warm", + -12.108514785766602 + ], + [ + "ême", + -12.108542442321777 + ], + [ + "▁Betriebs", + -12.108551979064941 + ], + [ + "▁Ioan", + -12.1087064743042 + ], + [ + "▁balloon", + -12.108809471130371 + ], + [ + "▁leap", + -12.108869552612305 + ], + [ + "pelled", + -12.109000205993652 + ], + [ + "▁realise", + -12.109073638916016 + ], + [ + "▁Retail", + -12.109118461608887 + ], + [ + "▁Farben", + -12.109151840209961 + ], + [ + "▁Kennedy", + -12.10916519165039 + ], + [ + "▁Firma", + -12.109196662902832 + ], + [ + "▁tineri", + -12.10934066772461 + ], + [ + "tub", + -12.109354019165039 + ], + [ + "PORT", + -12.109381675720215 + ], + [ + "▁stiff", + -12.109416007995605 + ], + [ + "▁notable", + -12.109476089477539 + ], + [ + "tler", + -12.109498023986816 + ], + [ + "▁utile", + -12.10958480834961 + ], + [ + "▁jouer", + -12.109674453735352 + ], + [ + "▁Primary", + -12.109735488891602 + ], + [ + "▁retailer", + -12.109764099121094 + ], + [ + "▁jederzeit", + -12.109808921813965 + ], + [ + "▁amend", + -12.109817504882812 + ], + [ + "▁sagte", + -12.109845161437988 + ], + [ + "atch", + -12.10995864868164 + ], + [ + "ution", + -12.110008239746094 + ], + [ + "once", + -12.110018730163574 + ], + [ + "ended", + -12.1100435256958 + ], + [ + "▁literary", + -12.11013126373291 + ], + [ + "▁wrist", + -12.110281944274902 + ], + [ + "vii", + -12.11036205291748 + ], + [ + "scriere", + -12.110367774963379 + ], + [ + "▁compassion", + -12.110443115234375 + ], + [ + "▁Milan", + -12.110474586486816 + ], + [ + "▁Dach", + -12.110490798950195 + ], + [ + "▁problèmes", + -12.110630989074707 + ], + [ + "▁Pré", + -12.110687255859375 + ], + [ + "▁Feder", + -12.110759735107422 + ], + [ + "Dr", + -12.110814094543457 + ], + [ + "Spr", + -12.110908508300781 + ], + [ + "▁né", + -12.110969543457031 + ], + [ + "François", + -12.111023902893066 + ], + [ + "▁Shu", + -12.111115455627441 + ], + [ + "▁poison", + -12.111154556274414 + ], + [ + "zier", + -12.111176490783691 + ], + [ + "▁attain", + -12.11124038696289 + ], + [ + "▁switching", + -12.111310958862305 + ], + [ + "▁vibration", + -12.111348152160645 + ], + [ + "▁Tablet", + -12.11136531829834 + ], + [ + "▁Lern", + -12.11148452758789 + ], + [ + "offrir", + -12.111660957336426 + ], + [ + "123", + -12.11168098449707 + ], + [ + "cheapest", + -12.11173152923584 + ], + [ + "▁numărul", + -12.111764907836914 + ], + [ + "break", + -12.11180305480957 + ], + [ + "cyto", + -12.111836433410645 + ], + [ + "▁Mississippi", + -12.111955642700195 + ], + [ + "▁dragon", + -12.11207389831543 + ], + [ + "fir", + -12.112176895141602 + ], + [ + "▁fête", + -12.112180709838867 + ], + [ + "▁Wait", + -12.112350463867188 + ], + [ + "buy", + -12.112359046936035 + ], + [ + "având", + -12.112391471862793 + ], + [ + "▁Scar", + -12.112517356872559 + ], + [ + "▁Hund", + -12.112586975097656 + ], + [ + "bug", + -12.112807273864746 + ], + [ + "▁classique", + -12.112811088562012 + ], + [ + "▁tenant", + -12.112860679626465 + ], + [ + "▁Walt", + -12.11296272277832 + ], + [ + "▁timber", + -12.11296272277832 + ], + [ + "inscription", + -12.11300277709961 + ], + [ + "BD", + -12.113016128540039 + ], + [ + "▁Commissioner", + -12.113018989562988 + ], + [ + "▁casinos", + -12.11306095123291 + ], + [ + "▁prochain", + -12.113168716430664 + ], + [ + "▁rustic", + -12.11349868774414 + ], + [ + "▁Kent", + -12.113607406616211 + ], + [ + "▁Deci", + -12.113761901855469 + ], + [ + "ли", + -12.113855361938477 + ], + [ + "▁crossed", + -12.113861083984375 + ], + [ + "▁delightful", + -12.113869667053223 + ], + [ + "▁metres", + -12.113872528076172 + ], + [ + "▁scandal", + -12.113906860351562 + ], + [ + "▁activitate", + -12.113986015319824 + ], + [ + "▁nimeni", + -12.114009857177734 + ], + [ + "ease", + -12.11402416229248 + ], + [ + "▁revenues", + -12.1140775680542 + ], + [ + "▁partially", + -12.114187240600586 + ], + [ + "AE", + -12.114263534545898 + ], + [ + "nique", + -12.114410400390625 + ], + [ + "▁fixtures", + -12.114426612854004 + ], + [ + "▁pupils", + -12.114694595336914 + ], + [ + "Lib", + -12.11471176147461 + ], + [ + "analyse", + -12.114739418029785 + ], + [ + "▁Oracle", + -12.114767074584961 + ], + [ + "troph", + -12.114859580993652 + ], + [ + "▁detected", + -12.114879608154297 + ], + [ + "▁servant", + -12.11507797241211 + ], + [ + "▁badly", + -12.115121841430664 + ], + [ + "comparing", + -12.115150451660156 + ], + [ + "abs", + -12.115238189697266 + ], + [ + "▁fotografi", + -12.115443229675293 + ], + [ + "▁Million", + -12.115541458129883 + ], + [ + "▁Gordon", + -12.11557388305664 + ], + [ + "▁Smok", + -12.115592002868652 + ], + [ + "▁Essay", + -12.11565113067627 + ], + [ + "eptic", + -12.115665435791016 + ], + [ + "▁Transportation", + -12.115728378295898 + ], + [ + "/2019", + -12.115767478942871 + ], + [ + "▁alignment", + -12.115778923034668 + ], + [ + "▁laut", + -12.11578369140625 + ], + [ + "stände", + -12.115791320800781 + ], + [ + "▁concerts", + -12.115811347961426 + ], + [ + "▁weekends", + -12.11589241027832 + ], + [ + "▁obstacles", + -12.115941047668457 + ], + [ + "wür", + -12.115964889526367 + ], + [ + "▁Fisher", + -12.116219520568848 + ], + [ + "▁supervisor", + -12.116242408752441 + ], + [ + "▁traders", + -12.116262435913086 + ], + [ + "▁scary", + -12.116484642028809 + ], + [ + "▁Grove", + -12.116538047790527 + ], + [ + "▁expose", + -12.116583824157715 + ], + [ + "▁enemies", + -12.116630554199219 + ], + [ + "▁Lux", + -12.11667537689209 + ], + [ + "▁Berufs", + -12.11672306060791 + ], + [ + "▁Sheet", + -12.116780281066895 + ], + [ + "▁Natürlich", + -12.116819381713867 + ], + [ + "▁examined", + -12.116886138916016 + ], + [ + "pursuing", + -12.116920471191406 + ], + [ + "▁pools", + -12.116923332214355 + ], + [ + "▁Thompson", + -12.117005348205566 + ], + [ + "▁SAP", + -12.117010116577148 + ], + [ + "claiming", + -12.117053985595703 + ], + [ + "buried", + -12.117055892944336 + ], + [ + "assurance", + -12.117138862609863 + ], + [ + "▁sandwich", + -12.117195129394531 + ], + [ + "uber", + -12.117310523986816 + ], + [ + "▁laisse", + -12.117321968078613 + ], + [ + "peak", + -12.117348670959473 + ], + [ + "spring", + -12.1173677444458 + ], + [ + "▁august", + -12.117369651794434 + ], + [ + "▁benötigt", + -12.11738109588623 + ], + [ + "▁achievements", + -12.117470741271973 + ], + [ + "coala", + -12.117478370666504 + ], + [ + "▁scr", + -12.117842674255371 + ], + [ + "gesagt", + -12.118122100830078 + ], + [ + "▁envelope", + -12.118141174316406 + ], + [ + "▁mapping", + -12.118169784545898 + ], + [ + "▁Suche", + -12.118298530578613 + ], + [ + "first", + -12.118329048156738 + ], + [ + "▁Quin", + -12.118447303771973 + ], + [ + "räu", + -12.118561744689941 + ], + [ + "▁răs", + -12.118583679199219 + ], + [ + "chemical", + -12.118597984313965 + ], + [ + "dad", + -12.118927955627441 + ], + [ + "formation", + -12.118983268737793 + ], + [ + "▁cushion", + -12.119026184082031 + ], + [ + "▁Maß", + -12.119046211242676 + ], + [ + "07.", + -12.119184494018555 + ], + [ + "▁perioadă", + -12.119257926940918 + ], + [ + "▁Wunsch", + -12.11925983428955 + ], + [ + "▁joi", + -12.119423866271973 + ], + [ + "▁$25", + -12.119482040405273 + ], + [ + "▁uploaded", + -12.11952018737793 + ], + [ + "▁hobby", + -12.119633674621582 + ], + [ + "▁septembrie", + -12.119633674621582 + ], + [ + "▁Dimension", + -12.119634628295898 + ], + [ + "▁domeniu", + -12.119661331176758 + ], + [ + "▁Tourism", + -12.119747161865234 + ], + [ + "▁fais", + -12.119800567626953 + ], + [ + "aches", + -12.119919776916504 + ], + [ + "neck", + -12.119969367980957 + ], + [ + "▁Chip", + -12.119982719421387 + ], + [ + "▁Tisch", + -12.1199951171875 + ], + [ + "▁Pai", + -12.120006561279297 + ], + [ + "▁Butter", + -12.120083808898926 + ], + [ + "▁altor", + -12.120133399963379 + ], + [ + "cultural", + -12.120182991027832 + ], + [ + "▁bases", + -12.12028980255127 + ], + [ + "▁Christopher", + -12.120396614074707 + ], + [ + "Kindle", + -12.120401382446289 + ], + [ + "▁bathrooms", + -12.12049388885498 + ], + [ + "▁civilian", + -12.12052059173584 + ], + [ + "▁Architecture", + -12.12058162689209 + ], + [ + "heiten", + -12.120641708374023 + ], + [ + "otte", + -12.120763778686523 + ], + [ + "ри", + -12.120784759521484 + ], + [ + "wash", + -12.120792388916016 + ], + [ + "▁evenimente", + -12.12086296081543 + ], + [ + "lade", + -12.121132850646973 + ], + [ + "▁ermöglicht", + -12.121140480041504 + ], + [ + "Port", + -12.121149063110352 + ], + [ + "▁Horn", + -12.12119197845459 + ], + [ + "▁Housing", + -12.121232032775879 + ], + [ + "▁Profit", + -12.121304512023926 + ], + [ + "▁stressed", + -12.12136459350586 + ], + [ + "▁70%", + -12.121431350708008 + ], + [ + "laying", + -12.121458053588867 + ], + [ + "▁specialize", + -12.121490478515625 + ], + [ + "▁Published", + -12.121519088745117 + ], + [ + "corp", + -12.121554374694824 + ], + [ + "▁revision", + -12.121611595153809 + ], + [ + "▁sail", + -12.121804237365723 + ], + [ + "courtesy", + -12.121909141540527 + ], + [ + "tax", + -12.1219482421875 + ], + [ + "▁perfekt", + -12.122018814086914 + ], + [ + "▁Risk", + -12.122088432312012 + ], + [ + "▁chaleur", + -12.122129440307617 + ], + [ + "ych", + -12.122132301330566 + ], + [ + "▁spine", + -12.12218189239502 + ], + [ + "▁holders", + -12.122264862060547 + ], + [ + "▁Speaking", + -12.122271537780762 + ], + [ + "▁Bernard", + -12.122400283813477 + ], + [ + "incarc", + -12.122532844543457 + ], + [ + "shalb", + -12.122639656066895 + ], + [ + "Potrivit", + -12.12264633178711 + ], + [ + "arising", + -12.122654914855957 + ], + [ + "▁kingdom", + -12.122665405273438 + ], + [ + "▁potato", + -12.122766494750977 + ], + [ + "▁promoted", + -12.122814178466797 + ], + [ + "▁judges", + -12.1228609085083 + ], + [ + "▁naturelle", + -12.122992515563965 + ], + [ + "▁Kindern", + -12.123022079467773 + ], + [ + "schicht", + -12.123047828674316 + ], + [ + "▁Drag", + -12.123066902160645 + ], + [ + "atta", + -12.123132705688477 + ], + [ + "soient", + -12.123249053955078 + ], + [ + "INS", + -12.12336540222168 + ], + [ + "▁legislative", + -12.123642921447754 + ], + [ + "▁teens", + -12.123785018920898 + ], + [ + "▁Fotos", + -12.123842239379883 + ], + [ + "▁illustrations", + -12.12392520904541 + ], + [ + "möglichkeiten", + -12.12415599822998 + ], + [ + "Votre", + -12.124194145202637 + ], + [ + "▁tarif", + -12.124195098876953 + ], + [ + "cli", + -12.124488830566406 + ], + [ + "▁landlord", + -12.12473201751709 + ], + [ + "cine", + -12.124743461608887 + ], + [ + "▁bot", + -12.124798774719238 + ], + [ + "enhancing", + -12.12491226196289 + ], + [ + "▁März", + -12.12491226196289 + ], + [ + "▁succès", + -12.125106811523438 + ], + [ + "▁disclose", + -12.125120162963867 + ], + [ + "▁Geräte", + -12.125321388244629 + ], + [ + "▁Magn", + -12.125422477722168 + ], + [ + "dessous", + -12.12580680847168 + ], + [ + "▁miracle", + -12.125862121582031 + ], + [ + "▁travailler", + -12.125933647155762 + ], + [ + "▁herb", + -12.125945091247559 + ], + [ + "-01", + -12.126049041748047 + ], + [ + "litre", + -12.126104354858398 + ], + [ + "▁tău", + -12.126120567321777 + ], + [ + "ACC", + -12.126190185546875 + ], + [ + "▁diminu", + -12.126275062561035 + ], + [ + "itzer", + -12.126317024230957 + ], + [ + "▁personenbezogen", + -12.126395225524902 + ], + [ + "▁Pure", + -12.126436233520508 + ], + [ + "▁influences", + -12.12668228149414 + ], + [ + "ană", + -12.126765251159668 + ], + [ + "▁proposer", + -12.126856803894043 + ], + [ + "▁longest", + -12.12692642211914 + ], + [ + "euses", + -12.127080917358398 + ], + [ + "/1", + -12.127487182617188 + ], + [ + "hafte", + -12.127716064453125 + ], + [ + "▁Dich", + -12.127761840820312 + ], + [ + "▁candle", + -12.128026962280273 + ], + [ + "ouche", + -12.128191947937012 + ], + [ + "installation", + -12.128241539001465 + ], + [ + "▁Includes", + -12.128280639648438 + ], + [ + "▁entfernt", + -12.12831974029541 + ], + [ + "traf", + -12.128499031066895 + ], + [ + "▁None", + -12.128508567810059 + ], + [ + "▁produc", + -12.128510475158691 + ], + [ + "held", + -12.128519058227539 + ], + [ + "graphic", + -12.128531455993652 + ], + [ + "▁demographic", + -12.128584861755371 + ], + [ + "ingham", + -12.1287841796875 + ], + [ + "schul", + -12.128812789916992 + ], + [ + "▁sneak", + -12.128843307495117 + ], + [ + "laub", + -12.128889083862305 + ], + [ + "▁thickness", + -12.12911605834961 + ], + [ + "▁killer", + -12.129297256469727 + ], + [ + "▁entsprechende", + -12.129344940185547 + ], + [ + "▁theft", + -12.129396438598633 + ], + [ + "▁Jerusalem", + -12.129457473754883 + ], + [ + "Adapt", + -12.129495620727539 + ], + [ + "▁updating", + -12.129497528076172 + ], + [ + "tete", + -12.12954330444336 + ], + [ + "▁warming", + -12.129701614379883 + ], + [ + "anlage", + -12.129739761352539 + ], + [ + "▁lenders", + -12.129814147949219 + ], + [ + "mobile", + -12.130008697509766 + ], + [ + "▁Package", + -12.130080223083496 + ], + [ + "▁Volume", + -12.130152702331543 + ], + [ + "---", + -12.130167007446289 + ], + [ + "▁Others", + -12.130173683166504 + ], + [ + "content", + -12.130188941955566 + ], + [ + "tement", + -12.130253791809082 + ], + [ + "bildet", + -12.13027572631836 + ], + [ + "▁washer", + -12.13053035736084 + ], + [ + "▁freelance", + -12.130623817443848 + ], + [ + "▁fein", + -12.130753517150879 + ], + [ + "▁catering", + -12.130851745605469 + ], + [ + "▁warmth", + -12.130911827087402 + ], + [ + "▁Month", + -12.131103515625 + ], + [ + "▁Federation", + -12.131134033203125 + ], + [ + "▁editorial", + -12.13121223449707 + ], + [ + "▁Shopping", + -12.131241798400879 + ], + [ + "▁efort", + -12.131296157836914 + ], + [ + "▁damp", + -12.131314277648926 + ], + [ + "▁declined", + -12.131332397460938 + ], + [ + "▁1978", + -12.13135051727295 + ], + [ + "6,000", + -12.131355285644531 + ], + [ + "location", + -12.131551742553711 + ], + [ + "▁blogger", + -12.131572723388672 + ], + [ + "▁goodness", + -12.131826400756836 + ], + [ + "▁Purchase", + -12.132119178771973 + ], + [ + "▁suspended", + -12.132159233093262 + ], + [ + "▁assessed", + -12.132201194763184 + ], + [ + "rada", + -12.132286071777344 + ], + [ + "▁Lac", + -12.132291793823242 + ], + [ + "▁angeboten", + -12.13235092163086 + ], + [ + "▁Wetter", + -12.132370948791504 + ], + [ + "ores", + -12.13243579864502 + ], + [ + "▁fourni", + -12.132476806640625 + ], + [ + "▁retire", + -12.13269329071045 + ], + [ + "▁Baptist", + -12.132741928100586 + ], + [ + "▁Saison", + -12.13277530670166 + ], + [ + "Bar", + -12.132794380187988 + ], + [ + "▁dossier", + -12.132979393005371 + ], + [ + "brow", + -12.133044242858887 + ], + [ + "▁Kaffee", + -12.133071899414062 + ], + [ + "-25", + -12.133463859558105 + ], + [ + "▁festivals", + -12.133599281311035 + ], + [ + "▁sellers", + -12.133716583251953 + ], + [ + "Ü", + -12.13393783569336 + ], + [ + "▁publisher", + -12.133960723876953 + ], + [ + "▁Designs", + -12.133970260620117 + ], + [ + "▁putut", + -12.13400936126709 + ], + [ + "▁Built", + -12.134417533874512 + ], + [ + "▁recreational", + -12.134476661682129 + ], + [ + "▁european", + -12.134514808654785 + ], + [ + "▁binary", + -12.134631156921387 + ], + [ + "▁Nieder", + -12.134764671325684 + ], + [ + "taking", + -12.1348237991333 + ], + [ + "▁Lots", + -12.13494873046875 + ], + [ + "▁recognised", + -12.135031700134277 + ], + [ + "ssant", + -12.135063171386719 + ], + [ + "ITE", + -12.135271072387695 + ], + [ + "oom", + -12.135298728942871 + ], + [ + "▁Kre", + -12.135310173034668 + ], + [ + "▁pipes", + -12.135631561279297 + ], + [ + "▁hinge", + -12.135653495788574 + ], + [ + "▁enterprises", + -12.135664939880371 + ], + [ + "▁texts", + -12.13583755493164 + ], + [ + "Organiz", + -12.136080741882324 + ], + [ + "▁suivre", + -12.136124610900879 + ], + [ + "noc", + -12.136157989501953 + ], + [ + "fair", + -12.136194229125977 + ], + [ + "▁darkness", + -12.136305809020996 + ], + [ + "▁Whi", + -12.13631534576416 + ], + [ + "natural", + -12.136321067810059 + ], + [ + "Bas", + -12.136422157287598 + ], + [ + "▁tribute", + -12.136443138122559 + ], + [ + "▁Naţional", + -12.136573791503906 + ], + [ + "hara", + -12.136622428894043 + ], + [ + "▁catégorie", + -12.136697769165039 + ], + [ + "▁Schedule", + -12.136698722839355 + ], + [ + "▁lernen", + -12.13671875 + ], + [ + "▁Plastic", + -12.136725425720215 + ], + [ + "▁giveaway", + -12.13675594329834 + ], + [ + "▁Ideen", + -12.136906623840332 + ], + [ + "▁circa", + -12.13718032836914 + ], + [ + "▁lice", + -12.137242317199707 + ], + [ + "▁Meinung", + -12.137264251708984 + ], + [ + "▁beside", + -12.137566566467285 + ], + [ + "▁vazut", + -12.137673377990723 + ], + [ + "strom", + -12.137749671936035 + ], + [ + "boro", + -12.137775421142578 + ], + [ + "▁Soon", + -12.137796401977539 + ], + [ + "dozens", + -12.137896537780762 + ], + [ + "▁Arena", + -12.137943267822266 + ], + [ + "▁viața", + -12.137989044189453 + ], + [ + "▁Impact", + -12.138082504272461 + ], + [ + "current", + -12.138106346130371 + ], + [ + "FM", + -12.138117790222168 + ], + [ + "▁coil", + -12.138657569885254 + ], + [ + "gold", + -12.138679504394531 + ], + [ + "▁spate", + -12.138679504394531 + ], + [ + "1.4", + -12.13875675201416 + ], + [ + "solution", + -12.138769149780273 + ], + [ + "▁Wayne", + -12.138835906982422 + ], + [ + "▁queen", + -12.138898849487305 + ], + [ + "illion", + -12.139022827148438 + ], + [ + "greifen", + -12.139127731323242 + ], + [ + "▁Bil", + -12.139174461364746 + ], + [ + "rote", + -12.139185905456543 + ], + [ + "END", + -12.13918685913086 + ], + [ + "äl", + -12.139206886291504 + ], + [ + "▁reçu", + -12.139378547668457 + ], + [ + "flower", + -12.139495849609375 + ], + [ + "▁draws", + -12.139519691467285 + ], + [ + "plant", + -12.139605522155762 + ], + [ + "2010", + -12.139702796936035 + ], + [ + "▁oper", + -12.139762878417969 + ], + [ + "▁conserve", + -12.139777183532715 + ], + [ + "▁sprinkle", + -12.13984203338623 + ], + [ + "mode", + -12.139924049377441 + ], + [ + "▁lifting", + -12.139941215515137 + ], + [ + "▁Institution", + -12.139951705932617 + ], + [ + "Când", + -12.14001750946045 + ], + [ + "Aus", + -12.140048027038574 + ], + [ + "▁fears", + -12.140054702758789 + ], + [ + "▁appointments", + -12.140079498291016 + ], + [ + "oarele", + -12.140162467956543 + ], + [ + "▁duck", + -12.140193939208984 + ], + [ + "▁stadium", + -12.140213012695312 + ], + [ + "▁vezi", + -12.140227317810059 + ], + [ + "▁lap", + -12.140315055847168 + ], + [ + "▁proceeds", + -12.140382766723633 + ], + [ + "geschlossen", + -12.140412330627441 + ], + [ + "▁tren", + -12.140478134155273 + ], + [ + "VS", + -12.140536308288574 + ], + [ + "▁vais", + -12.140800476074219 + ], + [ + "ținut", + -12.140859603881836 + ], + [ + "▁Concert", + -12.140928268432617 + ], + [ + "▁planting", + -12.141008377075195 + ], + [ + "▁honour", + -12.141069412231445 + ], + [ + "▁gras", + -12.141071319580078 + ], + [ + "woo", + -12.141092300415039 + ], + [ + "▁Hero", + -12.141282081604004 + ], + [ + "▁stimulate", + -12.14134407043457 + ], + [ + "▁überhaupt", + -12.141426086425781 + ], + [ + "▁bounce", + -12.14148235321045 + ], + [ + "oodle", + -12.14151382446289 + ], + [ + "▁packs", + -12.141576766967773 + ], + [ + "▁Poker", + -12.14158821105957 + ], + [ + "▁acea", + -12.141684532165527 + ], + [ + "▁parish", + -12.141754150390625 + ], + [ + "-24", + -12.141766548156738 + ], + [ + "▁iTunes", + -12.141874313354492 + ], + [ + "▁lumière", + -12.141948699951172 + ], + [ + "third", + -12.142024993896484 + ], + [ + "▁dynamics", + -12.142038345336914 + ], + [ + "Unless", + -12.142162322998047 + ], + [ + "▁immense", + -12.142416000366211 + ], + [ + "▁Sec", + -12.142781257629395 + ], + [ + "lois", + -12.143009185791016 + ], + [ + "époque", + -12.14302921295166 + ], + [ + "NB", + -12.143139839172363 + ], + [ + "written", + -12.143210411071777 + ], + [ + "▁logement", + -12.143226623535156 + ], + [ + "submitting", + -12.143295288085938 + ], + [ + "▁Quand", + -12.14331340789795 + ], + [ + "▁foi", + -12.143322944641113 + ], + [ + "▁catalogue", + -12.143351554870605 + ], + [ + "nova", + -12.14343547821045 + ], + [ + "▁prezentat", + -12.143527030944824 + ], + [ + "▁tart", + -12.143877983093262 + ], + [ + "те", + -12.143912315368652 + ], + [ + "hack", + -12.143916130065918 + ], + [ + "▁Politic", + -12.144003868103027 + ], + [ + "▁18,", + -12.144048690795898 + ], + [ + "▁ignored", + -12.144145965576172 + ], + [ + "▁spoon", + -12.144245147705078 + ], + [ + "▁Joy", + -12.144280433654785 + ], + [ + "▁reside", + -12.144482612609863 + ], + [ + ".99", + -12.144488334655762 + ], + [ + "lytic", + -12.144625663757324 + ], + [ + "▁bogat", + -12.144643783569336 + ], + [ + "▁nurses", + -12.144845008850098 + ], + [ + "▁funcţi", + -12.145029067993164 + ], + [ + "▁produselor", + -12.145038604736328 + ], + [ + "▁Associates", + -12.145069122314453 + ], + [ + "Est", + -12.14511489868164 + ], + [ + "▁peanut", + -12.145187377929688 + ], + [ + "▁résultat", + -12.145257949829102 + ], + [ + "08.", + -12.145424842834473 + ], + [ + "▁Astro", + -12.145439147949219 + ], + [ + "▁personnelle", + -12.145527839660645 + ], + [ + "320", + -12.145668983459473 + ], + [ + "▁Grab", + -12.145748138427734 + ], + [ + "éco", + -12.145801544189453 + ], + [ + "▁clasic", + -12.145857810974121 + ], + [ + "offre", + -12.14588451385498 + ], + [ + "▁idee", + -12.14589786529541 + ], + [ + "▁cheat", + -12.146259307861328 + ], + [ + "▁Flug", + -12.146286964416504 + ], + [ + "▁1500", + -12.146413803100586 + ], + [ + "▁kurze", + -12.14643383026123 + ], + [ + "With", + -12.146512985229492 + ], + [ + "▁Half", + -12.146575927734375 + ], + [ + "▁disciplines", + -12.146642684936523 + ], + [ + "sorption", + -12.14669132232666 + ], + [ + "▁greutate", + -12.146927833557129 + ], + [ + "mä", + -12.146940231323242 + ], + [ + "▁Literatur", + -12.146956443786621 + ], + [ + "3/", + -12.147016525268555 + ], + [ + "4.0", + -12.147095680236816 + ], + [ + "▁déco", + -12.147119522094727 + ], + [ + "▁Fuß", + -12.147233963012695 + ], + [ + "▁Deutsche", + -12.147289276123047 + ], + [ + "▁abundance", + -12.14746379852295 + ], + [ + "▁Luther", + -12.14750862121582 + ], + [ + "▁nutritional", + -12.147562980651855 + ], + [ + "▁Jude", + -12.147687911987305 + ], + [ + "AY", + -12.14786148071289 + ], + [ + "▁chore", + -12.147916793823242 + ], + [ + "▁Kro", + -12.148006439208984 + ], + [ + "▁alin", + -12.14801025390625 + ], + [ + "lösung", + -12.148030281066895 + ], + [ + "▁geworden", + -12.148238182067871 + ], + [ + "▁sociaux", + -12.148255348205566 + ], + [ + "▁Spark", + -12.1486177444458 + ], + [ + "▁phenomenon", + -12.148624420166016 + ], + [ + "ICA", + -12.148805618286133 + ], + [ + "▁Ran", + -12.148836135864258 + ], + [ + "▁Schwarz", + -12.148959159851074 + ], + [ + "▁1983", + -12.148985862731934 + ], + [ + "ет", + -12.148990631103516 + ], + [ + "möglich", + -12.149084091186523 + ], + [ + "vocation", + -12.149087905883789 + ], + [ + "▁Organic", + -12.14926815032959 + ], + [ + "Oh", + -12.149408340454102 + ], + [ + "▁blockchain", + -12.149422645568848 + ], + [ + "▁Bă", + -12.149515151977539 + ], + [ + "▁Bass", + -12.14953899383545 + ], + [ + "enie", + -12.149687767028809 + ], + [ + "▁rêve", + -12.149807929992676 + ], + [ + "▁Rap", + -12.149986267089844 + ], + [ + "▁democratic", + -12.150044441223145 + ], + [ + "▁Chart", + -12.150167465209961 + ], + [ + "▁Voi", + -12.150189399719238 + ], + [ + "process", + -12.150263786315918 + ], + [ + "▁preach", + -12.150389671325684 + ], + [ + "tient", + -12.150456428527832 + ], + [ + "▁Train", + -12.150468826293945 + ], + [ + "▁Reihe", + -12.150472640991211 + ], + [ + "help", + -12.150514602661133 + ], + [ + "1.6", + -12.150547981262207 + ], + [ + "▁cazuri", + -12.150547981262207 + ], + [ + "▁chap", + -12.150559425354004 + ], + [ + "aktiv", + -12.150632858276367 + ], + [ + "▁2006.", + -12.15079116821289 + ], + [ + "iene", + -12.150849342346191 + ], + [ + "▁BBQ", + -12.150969505310059 + ], + [ + "dauer", + -12.151028633117676 + ], + [ + "2).", + -12.151226997375488 + ], + [ + "▁Monat", + -12.151277542114258 + ], + [ + "Generally", + -12.151285171508789 + ], + [ + "▁bracelet", + -12.151336669921875 + ], + [ + "▁cartoon", + -12.151349067687988 + ], + [ + "▁pui", + -12.151488304138184 + ], + [ + "temp", + -12.151506423950195 + ], + [ + "▁Particip", + -12.151555061340332 + ], + [ + "▁dumneavoastră", + -12.151725769042969 + ], + [ + "▁Gin", + -12.151824951171875 + ], + [ + "iunile", + -12.151829719543457 + ], + [ + "reise", + -12.151849746704102 + ], + [ + "▁einzige", + -12.15189266204834 + ], + [ + "ANCE", + -12.15192985534668 + ], + [ + "▁humble", + -12.151951789855957 + ], + [ + "claim", + -12.152093887329102 + ], + [ + "LV", + -12.152143478393555 + ], + [ + "▁confiance", + -12.152270317077637 + ], + [ + "▁Trading", + -12.152535438537598 + ], + [ + "▁Fabric", + -12.152770042419434 + ], + [ + "▁Duke", + -12.152851104736328 + ], + [ + "spieler", + -12.152937889099121 + ], + [ + "▁reject", + -12.152987480163574 + ], + [ + "▁crise", + -12.153170585632324 + ], + [ + "▁borders", + -12.153196334838867 + ], + [ + "▁Vehicle", + -12.153279304504395 + ], + [ + "zeiten", + -12.153481483459473 + ], + [ + "enrolled", + -12.153514862060547 + ], + [ + "venue", + -12.153555870056152 + ], + [ + "▁forests", + -12.153564453125 + ], + [ + "vascular", + -12.15358829498291 + ], + [ + "▁phrases", + -12.153661727905273 + ], + [ + "▁receptor", + -12.15368366241455 + ], + [ + "schied", + -12.153687477111816 + ], + [ + "▁soirée", + -12.153785705566406 + ], + [ + "▁partener", + -12.153987884521484 + ], + [ + "▁Jobs", + -12.15417194366455 + ], + [ + "▁segments", + -12.154216766357422 + ], + [ + "▁violate", + -12.154438972473145 + ], + [ + "▁viable", + -12.154500007629395 + ], + [ + "▁encountered", + -12.154533386230469 + ], + [ + "▁travelers", + -12.154552459716797 + ], + [ + "▁împ", + -12.154679298400879 + ], + [ + "▁convince", + -12.154693603515625 + ], + [ + "▁mailing", + -12.154693603515625 + ], + [ + "▁Zahn", + -12.154698371887207 + ], + [ + "attend", + -12.15477466583252 + ], + [ + "▁eBay", + -12.154836654663086 + ], + [ + "▁Emergency", + -12.154844284057617 + ], + [ + "wirtschaft", + -12.154882431030273 + ], + [ + "▁scholars", + -12.154947280883789 + ], + [ + "▁considerably", + -12.155118942260742 + ], + [ + "▁combo", + -12.1551513671875 + ], + [ + "hiver", + -12.155198097229004 + ], + [ + "▁mysterious", + -12.15522575378418 + ], + [ + "▁Degree", + -12.155234336853027 + ], + [ + "▁fate", + -12.155242919921875 + ], + [ + "▁transplant", + -12.155281066894531 + ], + [ + "▁samedi", + -12.155400276184082 + ], + [ + "unit", + -12.155519485473633 + ], + [ + "▁moyenne", + -12.155611991882324 + ], + [ + "▁Liverpool", + -12.155614852905273 + ], + [ + "▁Champions", + -12.155728340148926 + ], + [ + "zzle", + -12.155824661254883 + ], + [ + "▁arena", + -12.156228065490723 + ], + [ + "▁Pipe", + -12.15633487701416 + ], + [ + "▁waterproof", + -12.156356811523438 + ], + [ + "▁eternal", + -12.156463623046875 + ], + [ + "Whenever", + -12.156503677368164 + ], + [ + "▁Hop", + -12.156535148620605 + ], + [ + "▁Betrieb", + -12.156816482543945 + ], + [ + "gne", + -12.15692138671875 + ], + [ + "▁spe", + -12.156975746154785 + ], + [ + "▁Corner", + -12.157078742980957 + ], + [ + "▁devenir", + -12.157118797302246 + ], + [ + "ambiance", + -12.157144546508789 + ], + [ + "▁Graham", + -12.157200813293457 + ], + [ + "▁desires", + -12.157289505004883 + ], + [ + "▁Applications", + -12.157291412353516 + ], + [ + "▁genutzt", + -12.157477378845215 + ], + [ + "tek", + -12.157612800598145 + ], + [ + "▁Career", + -12.157641410827637 + ], + [ + "▁staple", + -12.157695770263672 + ], + [ + "▁Dodge", + -12.157817840576172 + ], + [ + "▁strictly", + -12.157889366149902 + ], + [ + "▁Gruppen", + -12.157952308654785 + ], + [ + "▁Finanz", + -12.157981872558594 + ], + [ + "▁sporting", + -12.15809440612793 + ], + [ + "▁Wieder", + -12.158127784729004 + ], + [ + "anny", + -12.158208847045898 + ], + [ + "▁bucura", + -12.158233642578125 + ], + [ + "▁Pest", + -12.15824031829834 + ], + [ + "▁circles", + -12.158246994018555 + ], + [ + "▁richtige", + -12.158309936523438 + ], + [ + "▁cycles", + -12.158379554748535 + ], + [ + "static", + -12.15845012664795 + ], + [ + "lasting", + -12.15847396850586 + ], + [ + "▁calcium", + -12.158549308776855 + ], + [ + "▁digest", + -12.158697128295898 + ], + [ + "Enfin", + -12.158865928649902 + ], + [ + "▁stressful", + -12.158951759338379 + ], + [ + "▁schemes", + -12.158981323242188 + ], + [ + "▁décision", + -12.158987045288086 + ], + [ + "▁comercial", + -12.15907096862793 + ], + [ + "işti", + -12.159098625183105 + ], + [ + "▁Comic", + -12.15910816192627 + ], + [ + "▁extensions", + -12.159140586853027 + ], + [ + "▁Sieg", + -12.159168243408203 + ], + [ + "▁pine", + -12.15919017791748 + ], + [ + "ieß", + -12.159272193908691 + ], + [ + "▁Images", + -12.159427642822266 + ], + [ + "▁Mensch", + -12.159668922424316 + ], + [ + "Pap", + -12.159773826599121 + ], + [ + "▁crops", + -12.15994930267334 + ], + [ + "▁sheep", + -12.159996032714844 + ], + [ + "▁istoric", + -12.160001754760742 + ], + [ + "▁Assessment", + -12.160035133361816 + ], + [ + "▁mounting", + -12.16035270690918 + ], + [ + "wirken", + -12.160469055175781 + ], + [ + "▁augment", + -12.160469055175781 + ], + [ + "▁picioare", + -12.160542488098145 + ], + [ + "organisme", + -12.160590171813965 + ], + [ + "▁Monitor", + -12.16060733795166 + ], + [ + "▁celles", + -12.160642623901367 + ], + [ + "▁Maison", + -12.160709381103516 + ], + [ + "notified", + -12.160783767700195 + ], + [ + "▁chew", + -12.160831451416016 + ], + [ + "▁bleu", + -12.16083812713623 + ], + [ + "dow", + -12.160844802856445 + ], + [ + "▁Grav", + -12.16097354888916 + ], + [ + "▁curtains", + -12.160975456237793 + ], + [ + "▁Campus", + -12.161076545715332 + ], + [ + "▁controversial", + -12.161087036132812 + ], + [ + "▁soutien", + -12.161189079284668 + ], + [ + "▁Dell", + -12.1613187789917 + ], + [ + "▁instrumental", + -12.161431312561035 + ], + [ + "▁Nan", + -12.161514282226562 + ], + [ + "▁prom", + -12.161520957946777 + ], + [ + "▁spatial", + -12.161523818969727 + ], + [ + "Similarly", + -12.161558151245117 + ], + [ + "▁Gala", + -12.161601066589355 + ], + [ + "ultimul", + -12.16162109375 + ], + [ + "▁Vom", + -12.161761283874512 + ], + [ + "▁Foot", + -12.161784172058105 + ], + [ + "bike", + -12.1618013381958 + ], + [ + "▁acids", + -12.161979675292969 + ], + [ + "entend", + -12.162002563476562 + ], + [ + "ivă", + -12.162040710449219 + ], + [ + "▁Weitere", + -12.162124633789062 + ], + [ + "▁vitamins", + -12.162131309509277 + ], + [ + "▁enhancement", + -12.16234016418457 + ], + [ + "▁Cruise", + -12.162367820739746 + ], + [ + "assemble", + -12.162385940551758 + ], + [ + "▁spécifique", + -12.162459373474121 + ], + [ + "affaires", + -12.16261100769043 + ], + [ + "▁indispensable", + -12.1626558303833 + ], + [ + "▁logistics", + -12.16283130645752 + ], + [ + "▁manche", + -12.162919044494629 + ], + [ + "▁dealt", + -12.16297435760498 + ], + [ + "▁favorable", + -12.163036346435547 + ], + [ + "▁unwanted", + -12.163047790527344 + ], + [ + "▁handmade", + -12.163065910339355 + ], + [ + "▁Regi", + -12.163102149963379 + ], + [ + "safe", + -12.163134574890137 + ], + [ + "persoanele", + -12.163202285766602 + ], + [ + "▁destinat", + -12.163252830505371 + ], + [ + "▁Maxi", + -12.163299560546875 + ], + [ + "▁salmon", + -12.163454055786133 + ], + [ + "wag", + -12.163578033447266 + ], + [ + "210", + -12.163769721984863 + ], + [ + "▁warned", + -12.163865089416504 + ], + [ + "läuft", + -12.16386604309082 + ], + [ + "agging", + -12.163931846618652 + ], + [ + "▁responsabil", + -12.16398811340332 + ], + [ + "▁presse", + -12.164271354675293 + ], + [ + "▁amis", + -12.164305686950684 + ], + [ + "▁rolls", + -12.164377212524414 + ], + [ + "control", + -12.164405822753906 + ], + [ + "▁Manufacturer", + -12.164422988891602 + ], + [ + "hnen", + -12.164449691772461 + ], + [ + "▁buget", + -12.164546012878418 + ], + [ + "OW", + -12.16467571258545 + ], + [ + "etro", + -12.164745330810547 + ], + [ + "▁communauté", + -12.164837837219238 + ], + [ + "unci", + -12.164944648742676 + ], + [ + "▁Chine", + -12.164952278137207 + ], + [ + "combines", + -12.16501235961914 + ], + [ + "▁learners", + -12.165046691894531 + ], + [ + "STE", + -12.165055274963379 + ], + [ + "ckel", + -12.16511344909668 + ], + [ + "Service", + -12.165169715881348 + ], + [ + "▁veröffentlicht", + -12.165209770202637 + ], + [ + "besides", + -12.165266036987305 + ], + [ + "getragen", + -12.165349960327148 + ], + [ + "▁opponent", + -12.165521621704102 + ], + [ + "▁volum", + -12.165533065795898 + ], + [ + "▁confusing", + -12.165802001953125 + ], + [ + "invasive", + -12.165813446044922 + ], + [ + "▁conseils", + -12.165881156921387 + ], + [ + "▁vibe", + -12.165928840637207 + ], + [ + "View", + -12.166062355041504 + ], + [ + "oară", + -12.166086196899414 + ], + [ + "Link", + -12.166261672973633 + ], + [ + "▁holy", + -12.166261672973633 + ], + [ + "▁crema", + -12.16629409790039 + ], + [ + "▁Michelle", + -12.166303634643555 + ], + [ + "▁Wien", + -12.166383743286133 + ], + [ + "▁undertake", + -12.166404724121094 + ], + [ + "▁Photograph", + -12.166421890258789 + ], + [ + "humain", + -12.16645336151123 + ], + [ + "▁Hang", + -12.166545867919922 + ], + [ + "designed", + -12.16657829284668 + ], + [ + "▁analyses", + -12.166614532470703 + ], + [ + "▁compose", + -12.166653633117676 + ], + [ + "▁substantially", + -12.166765213012695 + ], + [ + "▁marking", + -12.166772842407227 + ], + [ + "▁campagne", + -12.166826248168945 + ], + [ + "▁$15", + -12.166828155517578 + ], + [ + "pharma", + -12.166972160339355 + ], + [ + "▁playoff", + -12.1669921875 + ], + [ + "▁momentum", + -12.167091369628906 + ], + [ + "Temp", + -12.16714096069336 + ], + [ + "▁vinegar", + -12.167143821716309 + ], + [ + "▁descriptions", + -12.167581558227539 + ], + [ + "christ", + -12.167656898498535 + ], + [ + "wore", + -12.16773509979248 + ], + [ + "ITY", + -12.167768478393555 + ], + [ + "stehen", + -12.167771339416504 + ], + [ + "▁insulation", + -12.1677827835083 + ], + [ + "grav", + -12.167842864990234 + ], + [ + "2.2", + -12.167887687683105 + ], + [ + "▁Explore", + -12.168028831481934 + ], + [ + "▁dye", + -12.168127059936523 + ], + [ + "stair", + -12.168155670166016 + ], + [ + "artisan", + -12.168207168579102 + ], + [ + "▁zoom", + -12.168285369873047 + ], + [ + "▁turkey", + -12.168573379516602 + ], + [ + "▁locksmith", + -12.168577194213867 + ], + [ + "▁sewing", + -12.168610572814941 + ], + [ + "▁modeling", + -12.168627738952637 + ], + [ + "lied", + -12.16870403289795 + ], + [ + "adel", + -12.168773651123047 + ], + [ + "▁Going", + -12.168785095214844 + ], + [ + "WH", + -12.168798446655273 + ], + [ + "▁deserves", + -12.168919563293457 + ], + [ + "▁arriving", + -12.168960571289062 + ], + [ + "OFF", + -12.169039726257324 + ], + [ + "torului", + -12.169109344482422 + ], + [ + "ucked", + -12.16921615600586 + ], + [ + "▁approached", + -12.169351577758789 + ], + [ + "▁élevé", + -12.169354438781738 + ], + [ + "▁quotidien", + -12.169416427612305 + ], + [ + "▁derzeit", + -12.16942024230957 + ], + [ + "nutzt", + -12.169656753540039 + ], + [ + "science", + -12.169729232788086 + ], + [ + "▁Emma", + -12.169841766357422 + ], + [ + "▁builds", + -12.169879913330078 + ], + [ + "▁Logo", + -12.169949531555176 + ], + [ + "▁clouds", + -12.170061111450195 + ], + [ + "inflammatory", + -12.170141220092773 + ], + [ + "țiuni", + -12.170199394226074 + ], + [ + "▁Cisco", + -12.17025089263916 + ], + [ + "▁würden", + -12.170254707336426 + ], + [ + "▁Shaw", + -12.170256614685059 + ], + [ + "▁Ell", + -12.170266151428223 + ], + [ + "avance", + -12.1703519821167 + ], + [ + "anglais", + -12.170365333557129 + ], + [ + "weil", + -12.170368194580078 + ], + [ + "▁singura", + -12.170464515686035 + ], + [ + "ACK", + -12.170489311218262 + ], + [ + "likewise", + -12.170522689819336 + ], + [ + "ographie", + -12.170646667480469 + ], + [ + "liegen", + -12.17088508605957 + ], + [ + "▁Crow", + -12.170964241027832 + ], + [ + "▁unic", + -12.171187400817871 + ], + [ + "▁Ale", + -12.171241760253906 + ], + [ + "▁păstr", + -12.17125129699707 + ], + [ + "▁informal", + -12.171337127685547 + ], + [ + "650", + -12.17136287689209 + ], + [ + "Benz", + -12.171489715576172 + ], + [ + "▁antenna", + -12.171540260314941 + ], + [ + "▁pagini", + -12.171552658081055 + ], + [ + "▁lansat", + -12.171561241149902 + ], + [ + "▁Fans", + -12.171576499938965 + ], + [ + "taine", + -12.171822547912598 + ], + [ + "JO", + -12.171853065490723 + ], + [ + "▁Tips", + -12.172091484069824 + ], + [ + "cir", + -12.172130584716797 + ], + [ + "nou", + -12.172384262084961 + ], + [ + "▁planted", + -12.17241382598877 + ], + [ + "▁steering", + -12.172423362731934 + ], + [ + "▁Waren", + -12.172475814819336 + ], + [ + "▁clearance", + -12.172515869140625 + ], + [ + "▁Moscow", + -12.172516822814941 + ], + [ + "▁Faith", + -12.172534942626953 + ], + [ + "▁Pizza", + -12.172572135925293 + ], + [ + "▁Tank", + -12.17273998260498 + ], + [ + "QUE", + -12.172783851623535 + ], + [ + "▁studii", + -12.172804832458496 + ], + [ + "éné", + -12.172829627990723 + ], + [ + "▁guerre", + -12.1728515625 + ], + [ + "▁celebr", + -12.173083305358887 + ], + [ + "▁Factory", + -12.173111915588379 + ], + [ + "▁Browse", + -12.173198699951172 + ], + [ + "▁Request", + -12.17323112487793 + ], + [ + "▁taxpayer", + -12.173311233520508 + ], + [ + "▁assert", + -12.173562049865723 + ], + [ + "unternehmen", + -12.173588752746582 + ], + [ + "▁Ergebnis", + -12.173687934875488 + ], + [ + "▁Antwort", + -12.173727035522461 + ], + [ + "▁Photography", + -12.173808097839355 + ], + [ + "▁plă", + -12.173866271972656 + ], + [ + "IME", + -12.173982620239258 + ], + [ + "▁prochaine", + -12.174074172973633 + ], + [ + "ajouter", + -12.174103736877441 + ], + [ + "▁buffet", + -12.174227714538574 + ], + [ + "▁pixels", + -12.174239158630371 + ], + [ + "▁pledge", + -12.174250602722168 + ], + [ + "▁Inhalt", + -12.17435359954834 + ], + [ + "▁chase", + -12.174384117126465 + ], + [ + "Flow", + -12.174493789672852 + ], + [ + "▁melodi", + -12.174872398376465 + ], + [ + "▁Abu", + -12.174991607666016 + ], + [ + "▁1979", + -12.175042152404785 + ], + [ + "▁Photos", + -12.175042152404785 + ], + [ + "▁qualifications", + -12.175148963928223 + ], + [ + "▁zis", + -12.175213813781738 + ], + [ + "IAL", + -12.175354957580566 + ], + [ + "▁lender", + -12.175390243530273 + ], + [ + "▁indiferent", + -12.175494194030762 + ], + [ + "▁behaviors", + -12.175506591796875 + ], + [ + "▁flowing", + -12.175531387329102 + ], + [ + "▁zweite", + -12.1756010055542 + ], + [ + "abl", + -12.175765037536621 + ], + [ + "Schw", + -12.176004409790039 + ], + [ + "opi", + -12.176030158996582 + ], + [ + "ggi", + -12.176164627075195 + ], + [ + "▁depart", + -12.176314353942871 + ], + [ + "▁garde", + -12.17640209197998 + ], + [ + "▁tuition", + -12.176490783691406 + ], + [ + "fälle", + -12.17650032043457 + ], + [ + "▁determina", + -12.17652702331543 + ], + [ + "▁spice", + -12.176627159118652 + ], + [ + "▁petites", + -12.176777839660645 + ], + [ + "kot", + -12.176973342895508 + ], + [ + "▁intersection", + -12.177242279052734 + ], + [ + "hak", + -12.177248001098633 + ], + [ + "▁autumn", + -12.177284240722656 + ], + [ + "▁verbunden", + -12.177284240722656 + ], + [ + "▁ferme", + -12.177287101745605 + ], + [ + "PN", + -12.17733097076416 + ], + [ + "▁insurer", + -12.177390098571777 + ], + [ + "arten", + -12.177401542663574 + ], + [ + "▁Turkish", + -12.177715301513672 + ], + [ + "▁shoulders", + -12.177732467651367 + ], + [ + "=>", + -12.177742004394531 + ], + [ + "▁Nike", + -12.177760124206543 + ], + [ + "uire", + -12.177763938903809 + ], + [ + "▁Chile", + -12.177811622619629 + ], + [ + "jon", + -12.177842140197754 + ], + [ + "▁fragrance", + -12.177884101867676 + ], + [ + "▁bean", + -12.177908897399902 + ], + [ + "ips", + -12.178108215332031 + ], + [ + "assuming", + -12.178191184997559 + ], + [ + "liens", + -12.178215026855469 + ], + [ + "tocmai", + -12.178267478942871 + ], + [ + "▁60%", + -12.178301811218262 + ], + [ + "ipped", + -12.178384780883789 + ], + [ + "DIS", + -12.178473472595215 + ], + [ + "▁predicted", + -12.178537368774414 + ], + [ + "▁Picture", + -12.178555488586426 + ], + [ + "Bahn", + -12.178796768188477 + ], + [ + "104", + -12.178854942321777 + ], + [ + "tended", + -12.178958892822266 + ], + [ + "▁approve", + -12.179031372070312 + ], + [ + "▁magasin", + -12.17908000946045 + ], + [ + "▁mindset", + -12.179208755493164 + ], + [ + "rase", + -12.179363250732422 + ], + [ + "grand", + -12.179469108581543 + ], + [ + "▁Principal", + -12.17947769165039 + ], + [ + "▁informații", + -12.17959976196289 + ], + [ + "▁legătur", + -12.179628372192383 + ], + [ + "▁Farb", + -12.179692268371582 + ], + [ + "▁Dieu", + -12.179710388183594 + ], + [ + "▁alliance", + -12.180378913879395 + ], + [ + "weiligen", + -12.180397987365723 + ], + [ + "▁Câ", + -12.18048095703125 + ], + [ + "▁counseling", + -12.180521011352539 + ], + [ + "▁traveled", + -12.180533409118652 + ], + [ + "▁translated", + -12.180558204650879 + ], + [ + "▁carne", + -12.180679321289062 + ], + [ + "aked", + -12.180707931518555 + ], + [ + "▁LCD", + -12.180868148803711 + ], + [ + "▁Folge", + -12.180909156799316 + ], + [ + "▁Erfahrungen", + -12.18093204498291 + ], + [ + "▁1981", + -12.18106460571289 + ], + [ + "▁răspuns", + -12.181075096130371 + ], + [ + "itori", + -12.18117618560791 + ], + [ + "▁elementary", + -12.181200981140137 + ], + [ + "▁vorbei", + -12.18127727508545 + ], + [ + "▁cargo", + -12.181361198425293 + ], + [ + "disciplinary", + -12.18140983581543 + ], + [ + "WR", + -12.181492805480957 + ], + [ + "▁counterpart", + -12.18162727355957 + ], + [ + "family", + -12.181641578674316 + ], + [ + "▁viață", + -12.181644439697266 + ], + [ + "▁Definition", + -12.18167495727539 + ], + [ + "▁Cow", + -12.18171501159668 + ], + [ + "fällig", + -12.182003021240234 + ], + [ + "▁Sicht", + -12.182025909423828 + ], + [ + "▁mum", + -12.182145118713379 + ], + [ + "▁Mediterranean", + -12.182275772094727 + ], + [ + "nev", + -12.182278633117676 + ], + [ + "bü", + -12.182293891906738 + ], + [ + "▁slave", + -12.182293891906738 + ], + [ + "schnitt", + -12.18233871459961 + ], + [ + "▁firme", + -12.182430267333984 + ], + [ + "▁spill", + -12.182454109191895 + ], + [ + "▁wages", + -12.182592391967773 + ], + [ + "▁refine", + -12.182615280151367 + ], + [ + "▁upgraded", + -12.182632446289062 + ], + [ + "▁gospel", + -12.182698249816895 + ], + [ + "▁quartier", + -12.182744979858398 + ], + [ + "▁#2", + -12.182772636413574 + ], + [ + "▁Situation", + -12.18298625946045 + ], + [ + "▁suggesting", + -12.183075904846191 + ], + [ + "▁acne", + -12.183113098144531 + ], + [ + "▁Murray", + -12.183337211608887 + ], + [ + "▁Ian", + -12.183469772338867 + ], + [ + "hören", + -12.183489799499512 + ], + [ + "bia", + -12.183603286743164 + ], + [ + "▁Bewegung", + -12.183684349060059 + ], + [ + "▁abzu", + -12.18379020690918 + ], + [ + "reveals", + -12.183795928955078 + ], + [ + "friend", + -12.184025764465332 + ], + [ + "▁Connecticut", + -12.18407917022705 + ], + [ + "▁Testament", + -12.184151649475098 + ], + [ + "▁Lit", + -12.184199333190918 + ], + [ + "▁Ship", + -12.184209823608398 + ], + [ + "▁minunat", + -12.184344291687012 + ], + [ + "▁Moving", + -12.184346199035645 + ], + [ + "▁Device", + -12.184486389160156 + ], + [ + "▁Bake", + -12.18453598022461 + ], + [ + "▁qualification", + -12.184633255004883 + ], + [ + "▁challenged", + -12.184640884399414 + ], + [ + "▁Hinweis", + -12.184721946716309 + ], + [ + "▁sechs", + -12.184769630432129 + ], + [ + "та", + -12.184903144836426 + ], + [ + "120", + -12.184904098510742 + ], + [ + "licht", + -12.184940338134766 + ], + [ + "▁supervision", + -12.185022354125977 + ], + [ + "▁milestone", + -12.18503189086914 + ], + [ + "zeig", + -12.185050964355469 + ], + [ + "▁emphasize", + -12.185224533081055 + ], + [ + "▁complain", + -12.185232162475586 + ], + [ + "sack", + -12.185341835021973 + ], + [ + "▁rebuild", + -12.185445785522461 + ], + [ + "projekt", + -12.18548583984375 + ], + [ + "▁saint", + -12.185644149780273 + ], + [ + "lette", + -12.185752868652344 + ], + [ + "rade", + -12.18580150604248 + ], + [ + "▁pacient", + -12.185893058776855 + ], + [ + "signed", + -12.186169624328613 + ], + [ + "▁mil", + -12.186261177062988 + ], + [ + "cali", + -12.186266899108887 + ], + [ + "▁brochure", + -12.186487197875977 + ], + [ + "▁Bulgaria", + -12.186488151550293 + ], + [ + "Har", + -12.186623573303223 + ], + [ + "DH", + -12.186697006225586 + ], + [ + "▁jumping", + -12.186712265014648 + ], + [ + "ären", + -12.186732292175293 + ], + [ + "▁tactics", + -12.186911582946777 + ], + [ + "▁soleil", + -12.187030792236328 + ], + [ + "lessness", + -12.18705940246582 + ], + [ + "steigen", + -12.187085151672363 + ], + [ + "▁Brief", + -12.187117576599121 + ], + [ + "▁Oz", + -12.18718433380127 + ], + [ + "credit", + -12.187239646911621 + ], + [ + "glass", + -12.187241554260254 + ], + [ + "▁Baltimore", + -12.187292098999023 + ], + [ + "varies", + -12.187445640563965 + ], + [ + "sourced", + -12.187575340270996 + ], + [ + "▁documented", + -12.187604904174805 + ], + [ + "▁devine", + -12.187664985656738 + ], + [ + "möglichst", + -12.187732696533203 + ], + [ + "▁früher", + -12.187756538391113 + ], + [ + "outefois", + -12.18790054321289 + ], + [ + "▁Engagement", + -12.187934875488281 + ], + [ + "▁anumit", + -12.18806266784668 + ], + [ + "▁1930", + -12.188186645507812 + ], + [ + "▁Aufgaben", + -12.188214302062988 + ], + [ + "▁lineup", + -12.188227653503418 + ], + [ + "▁Cad", + -12.188349723815918 + ], + [ + "améliorer", + -12.188437461853027 + ], + [ + "▁februarie", + -12.188499450683594 + ], + [ + "▁cancellation", + -12.188529968261719 + ], + [ + "▁locks", + -12.188577651977539 + ], + [ + "▁modèles", + -12.188711166381836 + ], + [ + "▁breakdown", + -12.188748359680176 + ], + [ + "Ticket", + -12.188810348510742 + ], + [ + "▁Chen", + -12.188855171203613 + ], + [ + "▁Competition", + -12.188910484313965 + ], + [ + "▁median", + -12.18896770477295 + ], + [ + "rische", + -12.189159393310547 + ], + [ + "▁multipli", + -12.189269065856934 + ], + [ + "▁Belgium", + -12.189305305480957 + ], + [ + "▁Physical", + -12.189308166503906 + ], + [ + "▁parameter", + -12.189432144165039 + ], + [ + "▁carrot", + -12.189435005187988 + ], + [ + "▁mandat", + -12.189617156982422 + ], + [ + "▁towel", + -12.189697265625 + ], + [ + "▁insured", + -12.189825057983398 + ], + [ + "PRI", + -12.189868927001953 + ], + [ + "etter", + -12.189915657043457 + ], + [ + "▁Oder", + -12.190083503723145 + ], + [ + "argued", + -12.190171241760254 + ], + [ + "FB", + -12.190196990966797 + ], + [ + "versicherung", + -12.190197944641113 + ], + [ + "abila", + -12.190251350402832 + ], + [ + "▁Coin", + -12.190324783325195 + ], + [ + "around", + -12.19050121307373 + ], + [ + "▁Lorsqu", + -12.190773963928223 + ], + [ + "valent", + -12.190918922424316 + ], + [ + "▁weltweit", + -12.19092082977295 + ], + [ + "Mod", + -12.191039085388184 + ], + [ + "▁defect", + -12.191044807434082 + ], + [ + "ibly", + -12.191136360168457 + ], + [ + "▁Juan", + -12.191153526306152 + ], + [ + "▁Jur", + -12.191171646118164 + ], + [ + "large", + -12.191307067871094 + ], + [ + "▁indicators", + -12.191461563110352 + ], + [ + "invest", + -12.19168472290039 + ], + [ + "▁rehabilitation", + -12.191705703735352 + ], + [ + "nag", + -12.191823959350586 + ], + [ + "▁Grundlage", + -12.191829681396484 + ], + [ + "▁Strategy", + -12.192131042480469 + ], + [ + "▁supérieur", + -12.192173957824707 + ], + [ + "▁orbit", + -12.192281723022461 + ], + [ + "▁Auftrag", + -12.192360877990723 + ], + [ + "▁Verb", + -12.192441940307617 + ], + [ + "ANA", + -12.19256591796875 + ], + [ + "▁trimis", + -12.192611694335938 + ], + [ + "▁Rub", + -12.192704200744629 + ], + [ + "institu", + -12.192732810974121 + ], + [ + "▁inspect", + -12.1927490234375 + ], + [ + "▁Princess", + -12.192757606506348 + ], + [ + "especially", + -12.192777633666992 + ], + [ + "▁combinations", + -12.192793846130371 + ], + [ + "▁gaze", + -12.192842483520508 + ], + [ + "elemente", + -12.192970275878906 + ], + [ + "deal", + -12.192980766296387 + ], + [ + "polis", + -12.193157196044922 + ], + [ + "shaw", + -12.193168640136719 + ], + [ + "▁Republicans", + -12.193203926086426 + ], + [ + "aded", + -12.193244934082031 + ], + [ + "▁Louisiana", + -12.193364143371582 + ], + [ + "▁Ville", + -12.193368911743164 + ], + [ + "▁afterwards", + -12.193389892578125 + ], + [ + "ONG", + -12.193608283996582 + ], + [ + "▁dryer", + -12.193636894226074 + ], + [ + "▁Manhattan", + -12.19374942779541 + ], + [ + "▁recomanda", + -12.19412612915039 + ], + [ + "▁juca", + -12.194253921508789 + ], + [ + "▁Crown", + -12.194260597229004 + ], + [ + "▁flesh", + -12.194347381591797 + ], + [ + "sichtig", + -12.194358825683594 + ], + [ + "▁rempli", + -12.19437026977539 + ], + [ + "▁deposits", + -12.19438362121582 + ], + [ + "▁Voll", + -12.194599151611328 + ], + [ + "▁analysts", + -12.194672584533691 + ], + [ + "▁Krieg", + -12.19484806060791 + ], + [ + "▁Rosa", + -12.19495964050293 + ], + [ + "▁Supply", + -12.194964408874512 + ], + [ + "GF", + -12.19497013092041 + ], + [ + "idad", + -12.195098876953125 + ], + [ + "▁flush", + -12.195103645324707 + ], + [ + "▁circular", + -12.195355415344238 + ], + [ + "▁național", + -12.195379257202148 + ], + [ + "▁lorsqu", + -12.195441246032715 + ], + [ + "▁analyst", + -12.195459365844727 + ], + [ + "▁Jahrhundert", + -12.195586204528809 + ], + [ + "▁biology", + -12.195713996887207 + ], + [ + "copy", + -12.195733070373535 + ], + [ + "▁bringt", + -12.195765495300293 + ], + [ + "▁Gospel", + -12.195780754089355 + ], + [ + "▁sorgen", + -12.195842742919922 + ], + [ + "zeichnung", + -12.196181297302246 + ], + [ + "chair", + -12.196197509765625 + ], + [ + "EB", + -12.19636344909668 + ], + [ + "▁Beth", + -12.1964111328125 + ], + [ + "115", + -12.196416854858398 + ], + [ + "▁Neue", + -12.196479797363281 + ], + [ + "▁faible", + -12.196599960327148 + ], + [ + "▁methodology", + -12.196603775024414 + ], + [ + "spiele", + -12.196647644042969 + ], + [ + "▁cherry", + -12.196727752685547 + ], + [ + "▁Mak", + -12.196802139282227 + ], + [ + "▁volet", + -12.196982383728027 + ], + [ + "funk", + -12.197196006774902 + ], + [ + "▁aktuelle", + -12.197372436523438 + ], + [ + "▁Yahoo", + -12.197408676147461 + ], + [ + "▁Zusammenarbeit", + -12.197669982910156 + ], + [ + "▁Serve", + -12.197754859924316 + ], + [ + "▁simpler", + -12.197978019714355 + ], + [ + "intégr", + -12.197990417480469 + ], + [ + "ndlich", + -12.198083877563477 + ], + [ + "▁actress", + -12.198320388793945 + ], + [ + "▁reuse", + -12.198332786560059 + ], + [ + "▁reviewing", + -12.198405265808105 + ], + [ + "statt", + -12.198457717895508 + ], + [ + "▁diving", + -12.198469161987305 + ], + [ + "▁Național", + -12.198677062988281 + ], + [ + "voi", + -12.19873332977295 + ], + [ + "Disc", + -12.198812484741211 + ], + [ + "▁Mineral", + -12.19886302947998 + ], + [ + "▁emit", + -12.199007034301758 + ], + [ + "witz", + -12.199078559875488 + ], + [ + "▁forgot", + -12.19909954071045 + ], + [ + "▁dim", + -12.199115753173828 + ], + [ + "upper", + -12.19947624206543 + ], + [ + "sichtlich", + -12.19949722290039 + ], + [ + "▁parcours", + -12.199670791625977 + ], + [ + "8:00", + -12.199697494506836 + ], + [ + "▁keyword", + -12.199701309204102 + ], + [ + "▁upgrades", + -12.199763298034668 + ], + [ + "kunden", + -12.200177192687988 + ], + [ + "▁Seg", + -12.200257301330566 + ], + [ + "▁Circle", + -12.200289726257324 + ], + [ + "▁ginger", + -12.200336456298828 + ], + [ + "mment", + -12.200516700744629 + ], + [ + "▁expenditure", + -12.200655937194824 + ], + [ + "▁parle", + -12.200693130493164 + ], + [ + "▁Counsel", + -12.200722694396973 + ], + [ + "▁Gui", + -12.200722694396973 + ], + [ + "resident", + -12.20103645324707 + ], + [ + "▁benchmark", + -12.20103931427002 + ], + [ + "▁Elektro", + -12.201064109802246 + ], + [ + "▁réalité", + -12.201064109802246 + ], + [ + "▁ridiculous", + -12.201067924499512 + ], + [ + "▁necklace", + -12.20108699798584 + ], + [ + "nian", + -12.201117515563965 + ], + [ + "▁Move", + -12.20113468170166 + ], + [ + "▁elevated", + -12.201204299926758 + ], + [ + "WE", + -12.201281547546387 + ], + [ + "▁Drum", + -12.20132064819336 + ], + [ + "▁Delivery", + -12.201350212097168 + ], + [ + "indicating", + -12.201452255249023 + ], + [ + "▁Benjamin", + -12.201472282409668 + ], + [ + "▁Samuel", + -12.2014741897583 + ], + [ + "bene", + -12.201666831970215 + ], + [ + "▁experienta", + -12.201676368713379 + ], + [ + "▁rocket", + -12.201839447021484 + ], + [ + "▁fossil", + -12.201883316040039 + ], + [ + "▁festive", + -12.20193099975586 + ], + [ + "▁conscience", + -12.201964378356934 + ], + [ + "▁bacon", + -12.202136993408203 + ], + [ + "▁aero", + -12.202159881591797 + ], + [ + "public", + -12.202187538146973 + ], + [ + "▁zic", + -12.202218055725098 + ], + [ + "ombre", + -12.202356338500977 + ], + [ + "▁Drain", + -12.202550888061523 + ], + [ + "7.5", + -12.202672004699707 + ], + [ + "▁Deutschen", + -12.202703475952148 + ], + [ + "reportedly", + -12.202754974365234 + ], + [ + "▁Français", + -12.203105926513672 + ], + [ + "▁enzyme", + -12.203106880187988 + ], + [ + "▁inquiry", + -12.203117370605469 + ], + [ + "▁presque", + -12.203193664550781 + ], + [ + "▁Airlines", + -12.203228950500488 + ], + [ + "▁Salon", + -12.203237533569336 + ], + [ + "▁Volunteer", + -12.203310012817383 + ], + [ + "▁modular", + -12.203349113464355 + ], + [ + "ón", + -12.203364372253418 + ], + [ + "NH", + -12.203449249267578 + ], + [ + "▁souhaite", + -12.203516960144043 + ], + [ + "social", + -12.203659057617188 + ], + [ + "▁Include", + -12.203729629516602 + ], + [ + "▁Decor", + -12.2037992477417 + ], + [ + "dded", + -12.203965187072754 + ], + [ + "▁Außen", + -12.203969955444336 + ], + [ + "rendu", + -12.20412540435791 + ], + [ + "▁MBA", + -12.204150199890137 + ], + [ + "▁columns", + -12.204155921936035 + ], + [ + "▁Wing", + -12.204436302185059 + ], + [ + "▁landmark", + -12.204442977905273 + ], + [ + "schritt", + -12.204594612121582 + ], + [ + "▁désir", + -12.204630851745605 + ], + [ + "(5)", + -12.204680442810059 + ], + [ + "▁réseaux", + -12.204693794250488 + ], + [ + "income", + -12.204710960388184 + ], + [ + "▁revised", + -12.204819679260254 + ], + [ + "HY", + -12.204863548278809 + ], + [ + "▁Explorer", + -12.204873085021973 + ], + [ + "▁Lam", + -12.204877853393555 + ], + [ + "▁almond", + -12.204910278320312 + ], + [ + "▁faux", + -12.204910278320312 + ], + [ + "opt", + -12.204923629760742 + ], + [ + "Out", + -12.204939842224121 + ], + [ + "▁virtue", + -12.205025672912598 + ], + [ + "▁Chocolate", + -12.205151557922363 + ], + [ + "▁spannend", + -12.205305099487305 + ], + [ + "▁spices", + -12.205327033996582 + ], + [ + "▁Climate", + -12.205560684204102 + ], + [ + "▁Residential", + -12.205560684204102 + ], + [ + "gung", + -12.205700874328613 + ], + [ + "▁filtr", + -12.20606803894043 + ], + [ + "circ", + -12.206123352050781 + ], + [ + "sisted", + -12.206172943115234 + ], + [ + "▁dedicat", + -12.206243515014648 + ], + [ + "▁foil", + -12.206387519836426 + ], + [ + "▁uita", + -12.206392288208008 + ], + [ + "▁lié", + -12.206402778625488 + ], + [ + "▁Demo", + -12.206409454345703 + ], + [ + "▁spoil", + -12.2064208984375 + ], + [ + "Cu", + -12.206448554992676 + ], + [ + "naut", + -12.206525802612305 + ], + [ + "▁configured", + -12.206535339355469 + ], + [ + "UK", + -12.206543922424316 + ], + [ + "▁disagree", + -12.20656967163086 + ], + [ + "Medic", + -12.206767082214355 + ], + [ + "cosm", + -12.207074165344238 + ], + [ + "Toute", + -12.207109451293945 + ], + [ + "▁beneficia", + -12.207170486450195 + ], + [ + "fassen", + -12.207327842712402 + ], + [ + "▁bail", + -12.207337379455566 + ], + [ + "igue", + -12.207439422607422 + ], + [ + "▁Mă", + -12.20744800567627 + ], + [ + "▁strips", + -12.20748519897461 + ], + [ + "▁Dritte", + -12.207537651062012 + ], + [ + "▁putere", + -12.207597732543945 + ], + [ + "Play", + -12.20763111114502 + ], + [ + "▁Samstag", + -12.207632064819336 + ], + [ + "▁households", + -12.207791328430176 + ], + [ + "▁persistent", + -12.207914352416992 + ], + [ + "uben", + -12.207942962646484 + ], + [ + "Web", + -12.20809555053711 + ], + [ + "▁scenery", + -12.20820140838623 + ], + [ + "▁défini", + -12.208257675170898 + ], + [ + "news", + -12.208337783813477 + ], + [ + "eira", + -12.208428382873535 + ], + [ + "▁Mumbai", + -12.208438873291016 + ], + [ + "▁Ward", + -12.208558082580566 + ], + [ + "▁ladder", + -12.2086181640625 + ], + [ + "▁plaque", + -12.208623886108398 + ], + [ + "nés", + -12.208639144897461 + ], + [ + "▁condamn", + -12.20864486694336 + ], + [ + "▁attribute", + -12.208687782287598 + ], + [ + "atti", + -12.20873737335205 + ], + [ + "▁Emily", + -12.208953857421875 + ], + [ + "▁pleine", + -12.20896053314209 + ], + [ + "▁automatisch", + -12.209004402160645 + ], + [ + "ifies", + -12.209052085876465 + ], + [ + "onna", + -12.209104537963867 + ], + [ + "▁inject", + -12.209157943725586 + ], + [ + "▁evolve", + -12.209297180175781 + ], + [ + "▁breeze", + -12.209299087524414 + ], + [ + "▁montre", + -12.209415435791016 + ], + [ + "▁memorial", + -12.209425926208496 + ], + [ + "ämlich", + -12.209465026855469 + ], + [ + "NBC", + -12.209589958190918 + ], + [ + "▁1940", + -12.209836959838867 + ], + [ + "▁trouvé", + -12.209892272949219 + ], + [ + "when", + -12.209914207458496 + ], + [ + "▁Büro", + -12.209959983825684 + ], + [ + "▁probability", + -12.209978103637695 + ], + [ + "cute", + -12.21006965637207 + ], + [ + "▁sturdy", + -12.210078239440918 + ], + [ + "AMP", + -12.210165023803711 + ], + [ + "▁Constantin", + -12.210283279418945 + ], + [ + "▁batter", + -12.21037483215332 + ], + [ + "▁bist", + -12.210470199584961 + ], + [ + "▁streams", + -12.210528373718262 + ], + [ + "rushing", + -12.21057415008545 + ], + [ + "▁shaft", + -12.21065902709961 + ], + [ + "▁proprii", + -12.210722923278809 + ], + [ + "émi", + -12.21074390411377 + ], + [ + "online", + -12.210817337036133 + ], + [ + "▁vanity", + -12.210870742797852 + ], + [ + "▁mural", + -12.210878372192383 + ], + [ + "▁distinguish", + -12.210905075073242 + ], + [ + "▁niciun", + -12.211191177368164 + ], + [ + "▁européenne", + -12.211252212524414 + ], + [ + "▁secretary", + -12.211289405822754 + ], + [ + "▁gaps", + -12.211492538452148 + ], + [ + "▁realm", + -12.211499214172363 + ], + [ + "▁elastic", + -12.211504936218262 + ], + [ + "▁Avoid", + -12.211519241333008 + ], + [ + "▁mauvais", + -12.211931228637695 + ], + [ + "▁innovations", + -12.212663650512695 + ], + [ + "▁suprem", + -12.212776184082031 + ], + [ + "▁vederea", + -12.212817192077637 + ], + [ + "wenden", + -12.212892532348633 + ], + [ + "-40", + -12.213075637817383 + ], + [ + "prenant", + -12.213155746459961 + ], + [ + "utilisateur", + -12.213210105895996 + ], + [ + "▁Oliver", + -12.213228225708008 + ], + [ + "111", + -12.21326732635498 + ], + [ + "▁manifestation", + -12.213382720947266 + ], + [ + "▁Rachel", + -12.213458061218262 + ], + [ + "agog", + -12.21348762512207 + ], + [ + "▁seamless", + -12.213534355163574 + ], + [ + "▁Employee", + -12.213576316833496 + ], + [ + "▁dimanche", + -12.213582038879395 + ], + [ + "▁banii", + -12.213631629943848 + ], + [ + "▁Ruth", + -12.213781356811523 + ], + [ + "▁Roy", + -12.21385383605957 + ], + [ + "▁homeless", + -12.2139253616333 + ], + [ + "▁Lower", + -12.213932037353516 + ], + [ + "health", + -12.21393871307373 + ], + [ + "▁atenti", + -12.2140474319458 + ], + [ + "▁touched", + -12.214183807373047 + ], + [ + "May", + -12.214195251464844 + ], + [ + "▁Buc", + -12.214225769042969 + ], + [ + "▁explored", + -12.214393615722656 + ], + [ + "▁declare", + -12.214461326599121 + ], + [ + "▁garment", + -12.214469909667969 + ], + [ + "▁buzz", + -12.214483261108398 + ], + [ + "▁rappel", + -12.214662551879883 + ], + [ + "▁uscat", + -12.214903831481934 + ], + [ + "▁Hyper", + -12.214914321899414 + ], + [ + "Etat", + -12.215007781982422 + ], + [ + "▁Titel", + -12.215035438537598 + ], + [ + "product", + -12.215191841125488 + ], + [ + "woman", + -12.215280532836914 + ], + [ + "▁Gab", + -12.215450286865234 + ], + [ + "▁advances", + -12.215615272521973 + ], + [ + "2/", + -12.215753555297852 + ], + [ + "prone", + -12.215770721435547 + ], + [ + "kö", + -12.215986251831055 + ], + [ + "▁counting", + -12.21599292755127 + ], + [ + "Sollte", + -12.216043472290039 + ], + [ + "▁Konzept", + -12.216063499450684 + ], + [ + "▁backgrounds", + -12.216153144836426 + ], + [ + "jährige", + -12.216154098510742 + ], + [ + "▁Alltag", + -12.216187477111816 + ], + [ + "▁metrics", + -12.21619701385498 + ], + [ + "▁illustrated", + -12.216222763061523 + ], + [ + "▁Charge", + -12.21631908416748 + ], + [ + "▁thoughtful", + -12.216423034667969 + ], + [ + "gesetz", + -12.216527938842773 + ], + [ + "pfen", + -12.216611862182617 + ], + [ + "▁déroul", + -12.216713905334473 + ], + [ + "▁checkout", + -12.216876029968262 + ], + [ + "quette", + -12.216936111450195 + ], + [ + "▁pierdut", + -12.2170991897583 + ], + [ + "▁Seat", + -12.217140197753906 + ], + [ + "▁linen", + -12.217193603515625 + ], + [ + "archiv", + -12.217245101928711 + ], + [ + "arna", + -12.217254638671875 + ], + [ + "importe", + -12.21742057800293 + ], + [ + "▁PHP", + -12.217496871948242 + ], + [ + "▁Parents", + -12.217503547668457 + ], + [ + "▁Birmingham", + -12.217513084411621 + ], + [ + "▁Integr", + -12.217588424682617 + ], + [ + "▁Mason", + -12.217607498168945 + ], + [ + "zieht", + -12.217781066894531 + ], + [ + "▁camps", + -12.217803001403809 + ], + [ + "OG", + -12.21786117553711 + ], + [ + "▁syrup", + -12.217927932739258 + ], + [ + "▁Cookies", + -12.217928886413574 + ], + [ + "▁Comfort", + -12.217955589294434 + ], + [ + "ută", + -12.217976570129395 + ], + [ + "abia", + -12.217979431152344 + ], + [ + "zeci", + -12.218003273010254 + ], + [ + "▁Gardens", + -12.218009948730469 + ], + [ + "▁incidents", + -12.218149185180664 + ], + [ + "▁participat", + -12.218235969543457 + ], + [ + "▁glimpse", + -12.218342781066895 + ], + [ + "5.5", + -12.218437194824219 + ], + [ + "▁dealers", + -12.218469619750977 + ], + [ + "▁Grande", + -12.218565940856934 + ], + [ + "▁raid", + -12.218944549560547 + ], + [ + "owing", + -12.21903133392334 + ], + [ + "▁contrary", + -12.219109535217285 + ], + [ + "Earlier", + -12.219138145446777 + ], + [ + "tien", + -12.21916389465332 + ], + [ + "drop", + -12.219169616699219 + ], + [ + "▁angajat", + -12.219359397888184 + ], + [ + "▁procesul", + -12.219515800476074 + ], + [ + "▁focal", + -12.219564437866211 + ], + [ + "▁impart", + -12.219703674316406 + ], + [ + "▁Abschluss", + -12.219749450683594 + ], + [ + "carui", + -12.219830513000488 + ], + [ + "insul", + -12.220277786254883 + ], + [ + "▁creamy", + -12.220283508300781 + ], + [ + "eille", + -12.22032356262207 + ], + [ + "suppl", + -12.220335960388184 + ], + [ + "▁Heaven", + -12.220471382141113 + ], + [ + "éna", + -12.220667839050293 + ], + [ + "▁swap", + -12.220739364624023 + ], + [ + "▁vreau", + -12.220762252807617 + ], + [ + "▁Bryan", + -12.220809936523438 + ], + [ + "▁Zug", + -12.220815658569336 + ], + [ + "▁glance", + -12.220848083496094 + ], + [ + "▁elimin", + -12.220900535583496 + ], + [ + "▁yeux", + -12.221084594726562 + ], + [ + "wehr", + -12.221238136291504 + ], + [ + "2.5", + -12.221287727355957 + ], + [ + "▁poses", + -12.221364974975586 + ], + [ + "▁parcel", + -12.221585273742676 + ], + [ + "▁Apartment", + -12.221749305725098 + ], + [ + "▁NASA", + -12.221768379211426 + ], + [ + "▁bénéfici", + -12.22187614440918 + ], + [ + "▁Umgebung", + -12.221890449523926 + ], + [ + "asia", + -12.221946716308594 + ], + [ + "abi", + -12.221967697143555 + ], + [ + "coup", + -12.222002983093262 + ], + [ + "synchron", + -12.222017288208008 + ], + [ + "▁Sicherheits", + -12.222029685974121 + ], + [ + "bic", + -12.222076416015625 + ], + [ + "▁distract", + -12.222148895263672 + ], + [ + "▁rentals", + -12.222163200378418 + ], + [ + "constru", + -12.222290992736816 + ], + [ + "curs", + -12.222345352172852 + ], + [ + "genannten", + -12.222386360168457 + ], + [ + "▁Shanghai", + -12.222501754760742 + ], + [ + "▁vague", + -12.222504615783691 + ], + [ + "▁Leather", + -12.22250747680664 + ], + [ + "▁Vintage", + -12.222532272338867 + ], + [ + "pointing", + -12.22259521484375 + ], + [ + "avant", + -12.22268295288086 + ], + [ + "gues", + -12.222949028015137 + ], + [ + "sweise", + -12.22302532196045 + ], + [ + "▁Greater", + -12.223065376281738 + ], + [ + "fig", + -12.22310733795166 + ], + [ + "▁Blut", + -12.223217964172363 + ], + [ + "▁Stellen", + -12.22326946258545 + ], + [ + "▁isolation", + -12.22337818145752 + ], + [ + "▁overhead", + -12.22338581085205 + ], + [ + "▁wondered", + -12.223508834838867 + ], + [ + "essai", + -12.223609924316406 + ], + [ + "aves", + -12.2236328125 + ], + [ + "▁Shore", + -12.223637580871582 + ], + [ + "▁INC", + -12.223709106445312 + ], + [ + "rufen", + -12.223980903625488 + ], + [ + "▁magnifique", + -12.224069595336914 + ], + [ + "▁intéressant", + -12.224072456359863 + ], + [ + "▁tanks", + -12.224075317382812 + ], + [ + "▁Tun", + -12.224367141723633 + ], + [ + "▁approaching", + -12.224390029907227 + ], + [ + "▁relay", + -12.224479675292969 + ], + [ + "▁Küche", + -12.224529266357422 + ], + [ + "describing", + -12.224587440490723 + ], + [ + "▁Certification", + -12.224588394165039 + ], + [ + "▁Breakfast", + -12.224597930908203 + ], + [ + "▁Frame", + -12.224891662597656 + ], + [ + "▁Stoff", + -12.224909782409668 + ], + [ + "▁victime", + -12.224924087524414 + ], + [ + "Observ", + -12.224943161010742 + ], + [ + "▁gutter", + -12.224989891052246 + ], + [ + "standard", + -12.225220680236816 + ], + [ + "▁Sci", + -12.225244522094727 + ], + [ + "▁sept", + -12.225377082824707 + ], + [ + "▁Potter", + -12.225423812866211 + ], + [ + "letter", + -12.22577953338623 + ], + [ + "▁tobacco", + -12.225852012634277 + ], + [ + "▁threatened", + -12.22591781616211 + ], + [ + "MW", + -12.225936889648438 + ], + [ + "▁Cher", + -12.225944519042969 + ], + [ + "0.1", + -12.225957870483398 + ], + [ + "mitted", + -12.22596263885498 + ], + [ + "zustellen", + -12.225967407226562 + ], + [ + "dominated", + -12.226165771484375 + ], + [ + "/16", + -12.22623348236084 + ], + [ + "POS", + -12.226317405700684 + ], + [ + "▁Zin", + -12.226373672485352 + ], + [ + "▁Okay", + -12.226381301879883 + ], + [ + "▁projected", + -12.226405143737793 + ], + [ + "▁selber", + -12.226548194885254 + ], + [ + "▁proiectului", + -12.2266206741333 + ], + [ + "▁Shell", + -12.226683616638184 + ], + [ + "▁cartridge", + -12.226706504821777 + ], + [ + "Message", + -12.2267484664917 + ], + [ + "haben", + -12.226799964904785 + ], + [ + "▁slides", + -12.226829528808594 + ], + [ + "▁gleichzeitig", + -12.226886749267578 + ], + [ + "▁Racing", + -12.227051734924316 + ], + [ + "▁20,", + -12.227070808410645 + ], + [ + "▁separat", + -12.227094650268555 + ], + [ + "▁repeatedly", + -12.227110862731934 + ], + [ + "▁casting", + -12.22728157043457 + ], + [ + "▁sacred", + -12.227283477783203 + ], + [ + "verfahren", + -12.227387428283691 + ], + [ + "▁echilibr", + -12.227514266967773 + ], + [ + "▁rebel", + -12.2277250289917 + ], + [ + "säu", + -12.227794647216797 + ], + [ + "ummy", + -12.227815628051758 + ], + [ + "▁backing", + -12.227889060974121 + ], + [ + "▁sponsors", + -12.227912902832031 + ], + [ + "▁Stress", + -12.22802448272705 + ], + [ + "▁Rules", + -12.228083610534668 + ], + [ + "▁render", + -12.228241920471191 + ], + [ + "▁funktioniert", + -12.228384971618652 + ], + [ + "▁Pearl", + -12.228472709655762 + ], + [ + "▁Scho", + -12.228527069091797 + ], + [ + "schwer", + -12.228595733642578 + ], + [ + "▁descoperit", + -12.228702545166016 + ], + [ + "holen", + -12.228720664978027 + ], + [ + "imposed", + -12.228960990905762 + ], + [ + "▁appearing", + -12.228968620300293 + ], + [ + "▁höher", + -12.229082107543945 + ], + [ + "▁Victorian", + -12.229111671447754 + ], + [ + "▁founding", + -12.229155540466309 + ], + [ + "▁Polish", + -12.229239463806152 + ], + [ + "▁anume", + -12.229248046875 + ], + [ + "Box", + -12.229488372802734 + ], + [ + "▁intrat", + -12.229598999023438 + ], + [ + "▁Inspiration", + -12.229610443115234 + ], + [ + "▁Canyon", + -12.229625701904297 + ], + [ + "▁Franklin", + -12.22974681854248 + ], + [ + "▁susceptible", + -12.22982120513916 + ], + [ + "trap", + -12.229839324951172 + ], + [ + "▁Roma", + -12.23000717163086 + ], + [ + "▁ethics", + -12.230009078979492 + ], + [ + "▁Privat", + -12.230027198791504 + ], + [ + "▁journalists", + -12.230090141296387 + ], + [ + "▁Universität", + -12.230246543884277 + ], + [ + "▁conditioner", + -12.230308532714844 + ], + [ + "folge", + -12.230327606201172 + ], + [ + "kirche", + -12.230416297912598 + ], + [ + "gehalten", + -12.230530738830566 + ], + [ + "midi", + -12.230570793151855 + ], + [ + "▁radar", + -12.230619430541992 + ], + [ + "▁Yard", + -12.230775833129883 + ], + [ + "▁professionnelle", + -12.230863571166992 + ], + [ + "▁Orchestra", + -12.230870246887207 + ], + [ + "▁immigrants", + -12.230870246887207 + ], + [ + "▁refined", + -12.230929374694824 + ], + [ + "▁Bishop", + -12.231036186218262 + ], + [ + "string", + -12.231095314025879 + ], + [ + "▁majoritatea", + -12.231231689453125 + ], + [ + "▁workflow", + -12.23123836517334 + ], + [ + "▁întreg", + -12.231306076049805 + ], + [ + "went", + -12.231563568115234 + ], + [ + "▁trat", + -12.231689453125 + ], + [ + "felul", + -12.23176383972168 + ], + [ + "▁hardwood", + -12.231821060180664 + ], + [ + "▁Task", + -12.231867790222168 + ], + [ + "branded", + -12.231921195983887 + ], + [ + "▁cinq", + -12.231966018676758 + ], + [ + "▁curb", + -12.232041358947754 + ], + [ + "▁Discount", + -12.232043266296387 + ], + [ + "▁Episode", + -12.232131958007812 + ], + [ + "▁Knowledge", + -12.232144355773926 + ], + [ + "▁tricky", + -12.232173919677734 + ], + [ + "▁characteristic", + -12.232233047485352 + ], + [ + "▁plata", + -12.23226261138916 + ], + [ + "▁Labour", + -12.23232650756836 + ], + [ + "▁Tha", + -12.232372283935547 + ], + [ + "▁Liefer", + -12.232430458068848 + ], + [ + "▁Reader", + -12.232471466064453 + ], + [ + "▁Linda", + -12.232521057128906 + ], + [ + "ittlerweile", + -12.232552528381348 + ], + [ + "defining", + -12.232564926147461 + ], + [ + "▁delayed", + -12.232635498046875 + ], + [ + "▁Bewertung", + -12.232674598693848 + ], + [ + "▁Unique", + -12.232791900634766 + ], + [ + "▁Champion", + -12.232866287231445 + ], + [ + "2008", + -12.232897758483887 + ], + [ + "▁conclu", + -12.232934951782227 + ], + [ + "▁câștig", + -12.2329740524292 + ], + [ + "▁scheduling", + -12.2329740524292 + ], + [ + "▁sailing", + -12.233116149902344 + ], + [ + "▁Storm", + -12.23318862915039 + ], + [ + "▁Stil", + -12.23320198059082 + ], + [ + "▁Album", + -12.233211517333984 + ], + [ + "▁ultime", + -12.233343124389648 + ], + [ + "url", + -12.233369827270508 + ], + [ + "▁terrific", + -12.23339557647705 + ], + [ + "▁remedy", + -12.233396530151367 + ], + [ + "▁Around", + -12.233592987060547 + ], + [ + "▁Kni", + -12.233756065368652 + ], + [ + "etty", + -12.23376750946045 + ], + [ + "Managing", + -12.233809471130371 + ], + [ + "▁Bedeutung", + -12.233816146850586 + ], + [ + "▁earthquake", + -12.233817100524902 + ], + [ + "▁Telefon", + -12.233818054199219 + ], + [ + "▁Upper", + -12.233869552612305 + ], + [ + "▁validation", + -12.233892440795898 + ], + [ + "-22", + -12.233997344970703 + ], + [ + "▁queue", + -12.23401165008545 + ], + [ + "tinde", + -12.234025001525879 + ], + [ + "built", + -12.234047889709473 + ], + [ + "▁voix", + -12.234125137329102 + ], + [ + "▁Resource", + -12.234126091003418 + ], + [ + "ţiuni", + -12.234143257141113 + ], + [ + "▁satisfying", + -12.234299659729004 + ], + [ + "▁Kohl", + -12.234441757202148 + ], + [ + "▁Materials", + -12.234618186950684 + ], + [ + "▁esp", + -12.234732627868652 + ], + [ + "enseignement", + -12.234773635864258 + ], + [ + "danach", + -12.234883308410645 + ], + [ + "peux", + -12.234932899475098 + ], + [ + "▁deployed", + -12.235113143920898 + ], + [ + "▁1976", + -12.235126495361328 + ], + [ + "ușor", + -12.235334396362305 + ], + [ + "élection", + -12.235380172729492 + ], + [ + "ettes", + -12.235437393188477 + ], + [ + "▁Madison", + -12.235506057739258 + ], + [ + "108", + -12.235685348510742 + ], + [ + "berger", + -12.235696792602539 + ], + [ + "▁pedal", + -12.235702514648438 + ], + [ + "▁quasi", + -12.235820770263672 + ], + [ + "▁lend", + -12.235843658447266 + ], + [ + "VER", + -12.235940933227539 + ], + [ + "▁chapters", + -12.236002922058105 + ], + [ + "▁idei", + -12.23600959777832 + ], + [ + "Deine", + -12.236034393310547 + ], + [ + "▁endure", + -12.236092567443848 + ], + [ + "▁Studios", + -12.236259460449219 + ], + [ + "structure", + -12.236274719238281 + ], + [ + "▁puiss", + -12.236370086669922 + ], + [ + "▁Morning", + -12.236443519592285 + ], + [ + "guide", + -12.236462593078613 + ], + [ + "▁Wave", + -12.236617088317871 + ], + [ + "▁banque", + -12.236879348754883 + ], + [ + "änd", + -12.236912727355957 + ], + [ + "oubli", + -12.237070083618164 + ], + [ + "▁mixer", + -12.237125396728516 + ], + [ + "▁remedi", + -12.237210273742676 + ], + [ + "▁scop", + -12.237421989440918 + ], + [ + "▁Rosen", + -12.237561225891113 + ], + [ + "▁spital", + -12.23773193359375 + ], + [ + "blau", + -12.237811088562012 + ], + [ + "▁financiar", + -12.237865447998047 + ], + [ + "avour", + -12.237871170043945 + ], + [ + "Def", + -12.238025665283203 + ], + [ + "▁socket", + -12.238076210021973 + ], + [ + "▁occurring", + -12.238360404968262 + ], + [ + "▁munci", + -12.238368034362793 + ], + [ + "▁realiza", + -12.238426208496094 + ], + [ + "▁beating", + -12.2384614944458 + ], + [ + "▁Phillip", + -12.238490104675293 + ], + [ + "▁courant", + -12.238509178161621 + ], + [ + "Auto", + -12.238608360290527 + ], + [ + "▁Lager", + -12.238685607910156 + ], + [ + "▁folos", + -12.238696098327637 + ], + [ + "▁moyens", + -12.238770484924316 + ], + [ + "▁Ec", + -12.238780975341797 + ], + [ + "▁Strip", + -12.238788604736328 + ], + [ + "sparen", + -12.238848686218262 + ], + [ + "▁Nintendo", + -12.238886833190918 + ], + [ + "▁Murphy", + -12.238912582397461 + ], + [ + "▁flux", + -12.239034652709961 + ], + [ + "▁mots", + -12.239034652709961 + ], + [ + "▁rechts", + -12.239045143127441 + ], + [ + "▁cardio", + -12.239142417907715 + ], + [ + "avoiding", + -12.239343643188477 + ], + [ + "érer", + -12.239453315734863 + ], + [ + "hiel", + -12.239461898803711 + ], + [ + "▁rezistent", + -12.239521980285645 + ], + [ + "close", + -12.23954963684082 + ], + [ + "hésitez", + -12.239596366882324 + ], + [ + "Hz", + -12.239631652832031 + ], + [ + "▁elaborate", + -12.239689826965332 + ], + [ + "▁permanently", + -12.239709854125977 + ], + [ + "▁Pittsburgh", + -12.239734649658203 + ], + [ + "▁counties", + -12.239819526672363 + ], + [ + "▁bookmark", + -12.239919662475586 + ], + [ + "▁Label", + -12.239965438842773 + ], + [ + "▁Freude", + -12.239974021911621 + ], + [ + "▁preferat", + -12.239986419677734 + ], + [ + "▁Mein", + -12.239995002746582 + ], + [ + "▁Crew", + -12.240218162536621 + ], + [ + "▁clips", + -12.240253448486328 + ], + [ + "8,000", + -12.240263938903809 + ], + [ + "▁recognise", + -12.240311622619629 + ], + [ + "ință", + -12.240365028381348 + ], + [ + "▁prieteni", + -12.240447044372559 + ], + [ + "Heute", + -12.240522384643555 + ], + [ + "ancienne", + -12.240534782409668 + ], + [ + "▁annoying", + -12.240583419799805 + ], + [ + "▁awful", + -12.240704536437988 + ], + [ + "▁Comments", + -12.240774154663086 + ], + [ + "▁musician", + -12.240830421447754 + ], + [ + "▁Elite", + -12.241023063659668 + ], + [ + "▁patri", + -12.241024017333984 + ], + [ + "▁Coupon", + -12.241037368774414 + ], + [ + "▁Farbe", + -12.241097450256348 + ], + [ + "▁contribui", + -12.241110801696777 + ], + [ + "hari", + -12.241294860839844 + ], + [ + "▁activitati", + -12.24161148071289 + ], + [ + "▁Traum", + -12.2416410446167 + ], + [ + "1.8", + -12.24170207977295 + ], + [ + "▁Healthcare", + -12.24172306060791 + ], + [ + "▁refresh", + -12.241943359375 + ], + [ + "▁Maha", + -12.242060661315918 + ], + [ + "▁dép", + -12.242082595825195 + ], + [ + "▁Studien", + -12.242314338684082 + ], + [ + "▁spectacol", + -12.242378234863281 + ], + [ + "impro", + -12.24254035949707 + ], + [ + "▁commentaire", + -12.242544174194336 + ], + [ + "ported", + -12.242570877075195 + ], + [ + "▁reclam", + -12.242612838745117 + ], + [ + "▁Verkauf", + -12.242634773254395 + ], + [ + "▁newspapers", + -12.242661476135254 + ], + [ + "▁iubit", + -12.242838859558105 + ], + [ + "▁Kenne", + -12.242844581604004 + ], + [ + "▁Consultant", + -12.242958068847656 + ], + [ + "▁stau", + -12.242986679077148 + ], + [ + "TON", + -12.243057250976562 + ], + [ + "▁Fehler", + -12.243070602416992 + ], + [ + "▁lettre", + -12.243167877197266 + ], + [ + "▁investigator", + -12.243172645568848 + ], + [ + "▁quantities", + -12.243184089660645 + ], + [ + "ogram", + -12.243208885192871 + ], + [ + "avaient", + -12.24323844909668 + ], + [ + "▁reducere", + -12.243265151977539 + ], + [ + "Lite", + -12.243402481079102 + ], + [ + "kurs", + -12.243443489074707 + ], + [ + "pré", + -12.24383544921875 + ], + [ + "pap", + -12.243898391723633 + ], + [ + "▁Männer", + -12.243983268737793 + ], + [ + "▁gauche", + -12.244022369384766 + ], + [ + "▁ähnlich", + -12.244027137756348 + ], + [ + "▁sunlight", + -12.244063377380371 + ], + [ + "▁rester", + -12.24422550201416 + ], + [ + "jumped", + -12.244586944580078 + ], + [ + "▁exclusiv", + -12.24463176727295 + ], + [ + "▁electoral", + -12.244640350341797 + ], + [ + "▁Portal", + -12.244650840759277 + ], + [ + "ulent", + -12.244688987731934 + ], + [ + "▁sonst", + -12.24474048614502 + ], + [ + "entraîne", + -12.24483585357666 + ], + [ + "▁repas", + -12.244837760925293 + ], + [ + "▁redus", + -12.244858741760254 + ], + [ + "aku", + -12.244866371154785 + ], + [ + "▁Graphic", + -12.245251655578613 + ], + [ + "▁geringe", + -12.24539566040039 + ], + [ + "plätze", + -12.245474815368652 + ], + [ + "Trebuie", + -12.245479583740234 + ], + [ + "▁rezultate", + -12.245479583740234 + ], + [ + "▁configure", + -12.245683670043945 + ], + [ + "▁PV", + -12.245834350585938 + ], + [ + "▁insect", + -12.246109962463379 + ], + [ + "▁Reviews", + -12.246129035949707 + ], + [ + "releasing", + -12.246186256408691 + ], + [ + "▁appliance", + -12.246246337890625 + ], + [ + "▁oferte", + -12.246482849121094 + ], + [ + "▁WILL", + -12.246484756469727 + ], + [ + "rion", + -12.246499061584473 + ], + [ + "▁Cole", + -12.246582984924316 + ], + [ + "▁1975", + -12.246650695800781 + ], + [ + "Admin", + -12.24677848815918 + ], + [ + "▁parade", + -12.246800422668457 + ], + [ + "▁mélange", + -12.24692153930664 + ], + [ + "▁shortage", + -12.247007369995117 + ], + [ + "▁Measure", + -12.247400283813477 + ], + [ + "anchmal", + -12.24742603302002 + ], + [ + "▁transfers", + -12.247432708740234 + ], + [ + "▁sistemului", + -12.247573852539062 + ], + [ + "▁deschide", + -12.247819900512695 + ], + [ + "▁Künstler", + -12.247821807861328 + ], + [ + "▁Plain", + -12.247848510742188 + ], + [ + "▁messaging", + -12.247855186462402 + ], + [ + "▁metabolism", + -12.247879981994629 + ], + [ + "fill", + -12.248031616210938 + ], + [ + "▁Bomb", + -12.24814224243164 + ], + [ + "usine", + -12.248208045959473 + ], + [ + "▁restart", + -12.248233795166016 + ], + [ + "▁Discussion", + -12.248336791992188 + ], + [ + "smith", + -12.248472213745117 + ], + [ + "▁Bh", + -12.248607635498047 + ], + [ + "▁sap", + -12.248689651489258 + ], + [ + "Moo", + -12.248714447021484 + ], + [ + "▁indirect", + -12.248785972595215 + ], + [ + "▁eingesetzt", + -12.248863220214844 + ], + [ + "▁Hip", + -12.248870849609375 + ], + [ + "▁iulie", + -12.249113082885742 + ], + [ + "▁atac", + -12.249201774597168 + ], + [ + "▁passport", + -12.2492036819458 + ], + [ + "▁Egyptian", + -12.249290466308594 + ], + [ + "▁soluți", + -12.249349594116211 + ], + [ + "▁cakes", + -12.249356269836426 + ], + [ + "▁Fellow", + -12.24949836730957 + ], + [ + "▁collision", + -12.249533653259277 + ], + [ + "▁abundant", + -12.249961853027344 + ], + [ + "▁Wonder", + -12.24997329711914 + ], + [ + "▁theories", + -12.249991416931152 + ], + [ + "landed", + -12.250046730041504 + ], + [ + "▁meantime", + -12.2500638961792 + ], + [ + "schlüsse", + -12.25022029876709 + ], + [ + "▁helicopter", + -12.25039005279541 + ], + [ + "Voici", + -12.250479698181152 + ], + [ + "▁Honey", + -12.25049877166748 + ], + [ + "▁deleted", + -12.250511169433594 + ], + [ + "▁Projekte", + -12.250523567199707 + ], + [ + "▁gasi", + -12.2506742477417 + ], + [ + "applique", + -12.25068473815918 + ], + [ + "TAL", + -12.250699043273926 + ], + [ + "notch", + -12.250699996948242 + ], + [ + "▁Response", + -12.250818252563477 + ], + [ + "▁deveni", + -12.250818252563477 + ], + [ + "▁regulate", + -12.250829696655273 + ], + [ + "▁vegetarian", + -12.25083065032959 + ], + [ + "▁Pastor", + -12.250880241394043 + ], + [ + "▁Strong", + -12.250940322875977 + ], + [ + "▁élèves", + -12.251055717468262 + ], + [ + "▁alimente", + -12.25113582611084 + ], + [ + "graphy", + -12.251181602478027 + ], + [ + "▁spirits", + -12.251266479492188 + ], + [ + "▁Cau", + -12.251282691955566 + ], + [ + "determin", + -12.251304626464844 + ], + [ + "arilor", + -12.251382827758789 + ], + [ + "▁masura", + -12.251470565795898 + ], + [ + "RAN", + -12.251500129699707 + ], + [ + "marked", + -12.251564979553223 + ], + [ + "cuba", + -12.251602172851562 + ], + [ + "omni", + -12.251609802246094 + ], + [ + "▁detox", + -12.251662254333496 + ], + [ + "▁quartz", + -12.251741409301758 + ], + [ + "▁Bug", + -12.25177001953125 + ], + [ + "▁Sugar", + -12.25185775756836 + ], + [ + "▁opponents", + -12.25197982788086 + ], + [ + "▁solved", + -12.25207805633545 + ], + [ + "semn", + -12.252257347106934 + ], + [ + "▁Prepare", + -12.252558708190918 + ], + [ + "ffel", + -12.252586364746094 + ], + [ + "▁Highlight", + -12.252608299255371 + ], + [ + "▁curent", + -12.252618789672852 + ], + [ + "▁praktisch", + -12.252626419067383 + ], + [ + "▁lending", + -12.252676963806152 + ], + [ + "▁minority", + -12.252752304077148 + ], + [ + "Free", + -12.252970695495605 + ], + [ + "business", + -12.252997398376465 + ], + [ + "▁outlook", + -12.253097534179688 + ], + [ + "▁assessments", + -12.253168106079102 + ], + [ + "▁Brother", + -12.253266334533691 + ], + [ + "▁partager", + -12.25326919555664 + ], + [ + "▁Brun", + -12.25329303741455 + ], + [ + "▁pedestrian", + -12.25339412689209 + ], + [ + "anța", + -12.253413200378418 + ], + [ + "▁recycled", + -12.253457069396973 + ], + [ + "▁quicker", + -12.253626823425293 + ], + [ + "▁lamps", + -12.253683090209961 + ], + [ + "▁nationally", + -12.253813743591309 + ], + [ + "▁Supplier", + -12.253823280334473 + ], + [ + "ograph", + -12.253936767578125 + ], + [ + "engage", + -12.253981590270996 + ], + [ + "▁Marg", + -12.254131317138672 + ], + [ + "▁aplicare", + -12.254181861877441 + ], + [ + "▁scared", + -12.254194259643555 + ], + [ + "▁accredited", + -12.254255294799805 + ], + [ + "▁outils", + -12.25436019897461 + ], + [ + "▁bâtiment", + -12.254446029663086 + ], + [ + "▁existed", + -12.254586219787598 + ], + [ + "gegangen", + -12.254619598388672 + ], + [ + "▁elevation", + -12.25463581085205 + ], + [ + "▁Tradition", + -12.254670143127441 + ], + [ + "▁Gericht", + -12.254677772521973 + ], + [ + "hub", + -12.254680633544922 + ], + [ + "strahl", + -12.25473690032959 + ], + [ + "build", + -12.254796981811523 + ], + [ + "▁Customers", + -12.25487232208252 + ], + [ + "klasse", + -12.254890441894531 + ], + [ + "▁pierre", + -12.254895210266113 + ], + [ + "(2)", + -12.255006790161133 + ], + [ + "Life", + -12.255125999450684 + ], + [ + "▁bachelor", + -12.25513744354248 + ], + [ + "▁quad", + -12.255195617675781 + ], + [ + "▁dispozitiv", + -12.25523567199707 + ], + [ + "106", + -12.255266189575195 + ], + [ + "▁suburb", + -12.255495071411133 + ], + [ + "▁1977", + -12.255586624145508 + ], + [ + "▁Alzheimer", + -12.255973815917969 + ], + [ + "▁spicy", + -12.255988121032715 + ], + [ + "▁spreading", + -12.256002426147461 + ], + [ + "nötigen", + -12.256078720092773 + ], + [ + "▁novels", + -12.256104469299316 + ], + [ + "▁responsabilité", + -12.256141662597656 + ], + [ + "▁Bud", + -12.256332397460938 + ], + [ + "▁desirable", + -12.256407737731934 + ], + [ + "TOR", + -12.256444931030273 + ], + [ + "five", + -12.256547927856445 + ], + [ + "▁Firmen", + -12.256860733032227 + ], + [ + "oeuvre", + -12.257075309753418 + ], + [ + "grass", + -12.257233619689941 + ], + [ + "▁practically", + -12.257277488708496 + ], + [ + "▁runners", + -12.257281303405762 + ], + [ + "▁mothers", + -12.257341384887695 + ], + [ + "Shop", + -12.257345199584961 + ], + [ + "▁Chicken", + -12.257408142089844 + ], + [ + "▁License", + -12.257593154907227 + ], + [ + "▁Bach", + -12.25765323638916 + ], + [ + "earliest", + -12.257729530334473 + ], + [ + "▁replica", + -12.25774097442627 + ], + [ + "▁haunt", + -12.257833480834961 + ], + [ + "▁materi", + -12.257854461669922 + ], + [ + "▁Finland", + -12.257893562316895 + ], + [ + "▁europene", + -12.257919311523438 + ], + [ + "abilă", + -12.257944107055664 + ], + [ + "cati", + -12.258007049560547 + ], + [ + "▁cholesterol", + -12.258132934570312 + ], + [ + "...).", + -12.258151054382324 + ], + [ + "cardi", + -12.25838565826416 + ], + [ + "▁(12", + -12.258387565612793 + ], + [ + "analyzed", + -12.258506774902344 + ], + [ + "▁respondents", + -12.258591651916504 + ], + [ + "▁höchste", + -12.258646011352539 + ], + [ + "▁Kern", + -12.258647918701172 + ], + [ + "▁knapp", + -12.258781433105469 + ], + [ + "▁Someone", + -12.258955001831055 + ], + [ + "▁équipé", + -12.258997917175293 + ], + [ + "credited", + -12.259106636047363 + ], + [ + "▁numar", + -12.259163856506348 + ], + [ + "▁Ace", + -12.259185791015625 + ], + [ + "zentrum", + -12.2592191696167 + ], + [ + "nehmer", + -12.259270668029785 + ], + [ + "arrivée", + -12.259282112121582 + ], + [ + "ELE", + -12.259291648864746 + ], + [ + "clean", + -12.259418487548828 + ], + [ + "Boost", + -12.259538650512695 + ], + [ + "call", + -12.259575843811035 + ], + [ + "▁Polizei", + -12.259659767150879 + ], + [ + "▁Januar", + -12.259663581848145 + ], + [ + "▁Tile", + -12.259681701660156 + ], + [ + "▁traduc", + -12.259744644165039 + ], + [ + "▁promptly", + -12.259773254394531 + ], + [ + "limit", + -12.259809494018555 + ], + [ + "▁recharge", + -12.2598237991333 + ], + [ + "▁wipe", + -12.259862899780273 + ], + [ + "▁Norway", + -12.26001262664795 + ], + [ + "▁Municipal", + -12.260077476501465 + ], + [ + "▁medieval", + -12.260117530822754 + ], + [ + "▁Treat", + -12.26021671295166 + ], + [ + "Orient", + -12.260283470153809 + ], + [ + "▁Stewart", + -12.260294914245605 + ], + [ + "▁lol", + -12.26039981842041 + ], + [ + "appartement", + -12.260522842407227 + ], + [ + "▁payer", + -12.260655403137207 + ], + [ + "▁splash", + -12.260723114013672 + ], + [ + "doubtedly", + -12.260726928710938 + ], + [ + "dry", + -12.260846138000488 + ], + [ + "▁Forex", + -12.260939598083496 + ], + [ + "▁Edinburgh", + -12.260943412780762 + ], + [ + "▁Traditional", + -12.261032104492188 + ], + [ + "▁1968", + -12.261134147644043 + ], + [ + "▁glow", + -12.261248588562012 + ], + [ + "Alternatively", + -12.261265754699707 + ], + [ + "▁partly", + -12.261354446411133 + ], + [ + "égi", + -12.261401176452637 + ], + [ + "▁Prices", + -12.261640548706055 + ], + [ + "haupt", + -12.261651992797852 + ], + [ + "▁sentences", + -12.261711120605469 + ], + [ + "ouvre", + -12.261735916137695 + ], + [ + "▁Liter", + -12.261746406555176 + ], + [ + "▁Important", + -12.2620267868042 + ], + [ + "▁Collins", + -12.262077331542969 + ], + [ + "▁reproduce", + -12.262106895446777 + ], + [ + "▁selten", + -12.262124061584473 + ], + [ + "▁Mitte", + -12.262170791625977 + ], + [ + "OA", + -12.262174606323242 + ], + [ + "▁Sister", + -12.262358665466309 + ], + [ + "▁responding", + -12.262385368347168 + ], + [ + "▁ballot", + -12.262455940246582 + ], + [ + "▁Nutrition", + -12.262460708618164 + ], + [ + "occurrence", + -12.26246452331543 + ], + [ + "Atunci", + -12.262604713439941 + ], + [ + "▁hockey", + -12.262680053710938 + ], + [ + "▁undertaking", + -12.262697219848633 + ], + [ + "▁educators", + -12.262885093688965 + ], + [ + "▁Swedish", + -12.262893676757812 + ], + [ + "▁Recovery", + -12.262894630432129 + ], + [ + "▁circum", + -12.262910842895508 + ], + [ + "▁chains", + -12.263084411621094 + ], + [ + "▁genug", + -12.263113021850586 + ], + [ + "▁Pil", + -12.263227462768555 + ], + [ + "▁farms", + -12.263265609741211 + ], + [ + "▁simplicity", + -12.263336181640625 + ], + [ + "-21", + -12.263399124145508 + ], + [ + "▁partition", + -12.263493537902832 + ], + [ + "▁Relations", + -12.26360034942627 + ], + [ + "zentrale", + -12.263794898986816 + ], + [ + "lapse", + -12.263855934143066 + ], + [ + "▁toast", + -12.263862609863281 + ], + [ + "▁citi", + -12.263946533203125 + ], + [ + "▁longtemps", + -12.263984680175781 + ], + [ + "maj", + -12.264448165893555 + ], + [ + "▁Cin", + -12.264483451843262 + ], + [ + "zeichen", + -12.264504432678223 + ], + [ + "▁Zoo", + -12.264567375183105 + ], + [ + "▁frisch", + -12.264570236206055 + ], + [ + "▁permettra", + -12.264595031738281 + ], + [ + "▁Liberty", + -12.264642715454102 + ], + [ + "▁playground", + -12.264873504638672 + ], + [ + "▁Mate", + -12.265031814575195 + ], + [ + "▁evolving", + -12.265066146850586 + ], + [ + "national", + -12.265207290649414 + ], + [ + "▁signifie", + -12.265279769897461 + ], + [ + "▁Related", + -12.265292167663574 + ], + [ + "NES", + -12.265337944030762 + ], + [ + "euil", + -12.265473365783691 + ], + [ + "▁struggles", + -12.265542030334473 + ], + [ + "▁instinct", + -12.265628814697266 + ], + [ + "arbre", + -12.26608943939209 + ], + [ + "▁commands", + -12.266222953796387 + ], + [ + "▁frumoase", + -12.26637077331543 + ], + [ + "▁watches", + -12.266779899597168 + ], + [ + "NM", + -12.266804695129395 + ], + [ + "▁influential", + -12.266807556152344 + ], + [ + "▁gewesen", + -12.266901969909668 + ], + [ + "▁Pictures", + -12.267224311828613 + ], + [ + "▁HVAC", + -12.267242431640625 + ], + [ + "▁skate", + -12.26732063293457 + ], + [ + "▁Robot", + -12.267327308654785 + ], + [ + "▁Boys", + -12.267404556274414 + ], + [ + "▁Mutter", + -12.267425537109375 + ], + [ + "▁marques", + -12.267539024353027 + ], + [ + "utiliser", + -12.267793655395508 + ], + [ + "▁amazed", + -12.267799377441406 + ], + [ + "ächtig", + -12.26783275604248 + ], + [ + "▁Success", + -12.267870903015137 + ], + [ + "gramm", + -12.267956733703613 + ], + [ + "▁1972", + -12.267956733703613 + ], + [ + "▁marina", + -12.268269538879395 + ], + [ + "▁lou", + -12.268321990966797 + ], + [ + "▁précis", + -12.268380165100098 + ], + [ + "ographic", + -12.268482208251953 + ], + [ + "people", + -12.26848316192627 + ], + [ + "fahr", + -12.268547058105469 + ], + [ + "▁Contemporary", + -12.268550872802734 + ], + [ + "▁frustrating", + -12.26858139038086 + ], + [ + "chide", + -12.268704414367676 + ], + [ + "1.5", + -12.268807411193848 + ], + [ + "▁ankle", + -12.268850326538086 + ], + [ + "▁proximity", + -12.268986701965332 + ], + [ + "▁Leute", + -12.269006729125977 + ], + [ + "UA", + -12.269031524658203 + ], + [ + "union", + -12.269131660461426 + ], + [ + "▁recovered", + -12.269133567810059 + ], + [ + "▁sword", + -12.269216537475586 + ], + [ + "▁Mut", + -12.26923942565918 + ], + [ + "▁Rin", + -12.269360542297363 + ], + [ + "▁lectures", + -12.26942253112793 + ], + [ + "▁licensing", + -12.269423484802246 + ], + [ + "MAC", + -12.269498825073242 + ], + [ + "▁commute", + -12.269776344299316 + ], + [ + "Acesta", + -12.269858360290527 + ], + [ + "▁Koch", + -12.270088195800781 + ], + [ + "▁depozit", + -12.270119667053223 + ], + [ + "▁erstmal", + -12.270163536071777 + ], + [ + "arhi", + -12.270271301269531 + ], + [ + "▁Normal", + -12.270462036132812 + ], + [ + "EZ", + -12.270464897155762 + ], + [ + "ărilor", + -12.270986557006836 + ], + [ + "▁favoris", + -12.271041870117188 + ], + [ + "▁$9", + -12.271050453186035 + ], + [ + "▁Lawrence", + -12.271172523498535 + ], + [ + "▁fixing", + -12.271200180053711 + ], + [ + "▁researching", + -12.271288871765137 + ], + [ + "▁Pant", + -12.271467208862305 + ], + [ + "▁candid", + -12.271490097045898 + ], + [ + "▁Arkansas", + -12.27160930633545 + ], + [ + "▁bitcoin", + -12.271612167358398 + ], + [ + "ва", + -12.271645545959473 + ], + [ + "▁Finger", + -12.271692276000977 + ], + [ + "▁SRL", + -12.271718978881836 + ], + [ + "Arg", + -12.271797180175781 + ], + [ + "trade", + -12.271903991699219 + ], + [ + "▁extraction", + -12.271941184997559 + ], + [ + "▁footprint", + -12.2720308303833 + ], + [ + "▁folosite", + -12.272085189819336 + ], + [ + "▁Flex", + -12.272184371948242 + ], + [ + "▁dys", + -12.272294998168945 + ], + [ + "▁Wright", + -12.272343635559082 + ], + [ + "▁multitude", + -12.272378921508789 + ], + [ + "▁Chu", + -12.272494316101074 + ], + [ + "▁Jerry", + -12.27249526977539 + ], + [ + "▁notebook", + -12.272722244262695 + ], + [ + "▁SIM", + -12.272932052612305 + ], + [ + "dietary", + -12.272963523864746 + ], + [ + "▁polished", + -12.272984504699707 + ], + [ + "▁carriers", + -12.272993087768555 + ], + [ + "▁cardiac", + -12.27299976348877 + ], + [ + "▁burned", + -12.273038864135742 + ], + [ + "▁sealed", + -12.273062705993652 + ], + [ + "▁pumps", + -12.273224830627441 + ], + [ + "▁consumed", + -12.273233413696289 + ], + [ + "▁Teaching", + -12.273446083068848 + ], + [ + "▁daughters", + -12.27348518371582 + ], + [ + "serviciile", + -12.273600578308105 + ], + [ + "▁Teams", + -12.273690223693848 + ], + [ + "▁avoided", + -12.273903846740723 + ], + [ + "▁compagnie", + -12.274019241333008 + ], + [ + "▁mașin", + -12.274024963378906 + ], + [ + "▁Sean", + -12.27418041229248 + ], + [ + "▁arunc", + -12.274208068847656 + ], + [ + "kräfte", + -12.274238586425781 + ], + [ + "vani", + -12.274255752563477 + ], + [ + "Metall", + -12.27437973022461 + ], + [ + "2009", + -12.274449348449707 + ], + [ + "moi", + -12.274688720703125 + ], + [ + "▁THAT", + -12.274700164794922 + ], + [ + "▁Ny", + -12.274809837341309 + ], + [ + "▁countertops", + -12.274860382080078 + ], + [ + "Pod", + -12.274938583374023 + ], + [ + "amente", + -12.274943351745605 + ], + [ + "▁offshore", + -12.275001525878906 + ], + [ + "luti", + -12.275087356567383 + ], + [ + "parked", + -12.275160789489746 + ], + [ + "ajout", + -12.275247573852539 + ], + [ + "Shirt", + -12.275328636169434 + ], + [ + "▁3/4", + -12.275389671325684 + ], + [ + "▁gratuite", + -12.27543830871582 + ], + [ + "mètres", + -12.27557373046875 + ], + [ + "▁Wish", + -12.2755765914917 + ], + [ + "▁holistic", + -12.27558422088623 + ], + [ + "gren", + -12.275607109069824 + ], + [ + "compiled", + -12.275660514831543 + ], + [ + "▁innocent", + -12.275779724121094 + ], + [ + "▁sorte", + -12.275787353515625 + ], + [ + "▁insulin", + -12.275792121887207 + ], + [ + "▁Academic", + -12.275996208190918 + ], + [ + "▁acrylic", + -12.27600383758545 + ], + [ + "▁hinzu", + -12.27616024017334 + ], + [ + "▁compression", + -12.27619457244873 + ], + [ + "▁viral", + -12.276220321655273 + ], + [ + "▁stereo", + -12.2764892578125 + ], + [ + "▁Concept", + -12.276542663574219 + ], + [ + "▁Margaret", + -12.276659965515137 + ], + [ + "▁consolidation", + -12.276875495910645 + ], + [ + "Figure", + -12.277058601379395 + ], + [ + "zzo", + -12.277061462402344 + ], + [ + "▁Egg", + -12.277098655700684 + ], + [ + "weiterhin", + -12.277213096618652 + ], + [ + "▁Vista", + -12.277252197265625 + ], + [ + "▁necessity", + -12.277316093444824 + ], + [ + "▁kayak", + -12.277490615844727 + ], + [ + "▁consensus", + -12.277535438537598 + ], + [ + "▁Katz", + -12.277602195739746 + ], + [ + "▁Warren", + -12.277640342712402 + ], + [ + "▁custody", + -12.277755737304688 + ], + [ + "++", + -12.277759552001953 + ], + [ + "▁paiement", + -12.277782440185547 + ], + [ + "▁foul", + -12.277878761291504 + ], + [ + "Chaque", + -12.277934074401855 + ], + [ + "▁Syrian", + -12.277998924255371 + ], + [ + "▁photographers", + -12.278056144714355 + ], + [ + "▁dismiss", + -12.278270721435547 + ], + [ + "▁Gaz", + -12.278526306152344 + ], + [ + "▁développer", + -12.278529167175293 + ], + [ + "▁Dakota", + -12.27863883972168 + ], + [ + "▁cardiovascular", + -12.278642654418945 + ], + [ + "▁tattoo", + -12.278858184814453 + ], + [ + "▁Lighting", + -12.278918266296387 + ], + [ + "▁nowhere", + -12.278940200805664 + ], + [ + "vada", + -12.27895450592041 + ], + [ + "▁Favor", + -12.279084205627441 + ], + [ + "ruled", + -12.2791748046875 + ], + [ + "▁Dating", + -12.2793550491333 + ], + [ + "gain", + -12.279963493347168 + ], + [ + "rism", + -12.28016471862793 + ], + [ + "coloured", + -12.280169486999512 + ], + [ + "▁refugees", + -12.280184745788574 + ], + [ + "▁Schm", + -12.2803955078125 + ], + [ + "▁happily", + -12.280402183532715 + ], + [ + "▁specification", + -12.280607223510742 + ], + [ + "WM", + -12.280736923217773 + ], + [ + "▁intro", + -12.280823707580566 + ], + [ + "rack", + -12.28097915649414 + ], + [ + "characterized", + -12.28107738494873 + ], + [ + "▁externe", + -12.281136512756348 + ], + [ + "▁arrives", + -12.28114128112793 + ], + [ + "WO", + -12.281181335449219 + ], + [ + "bericht", + -12.281233787536621 + ], + [ + "▁delays", + -12.281242370605469 + ], + [ + "▁Flight", + -12.281256675720215 + ], + [ + "1-3", + -12.281524658203125 + ], + [ + "▁Singh", + -12.281548500061035 + ], + [ + "▁shifting", + -12.281651496887207 + ], + [ + "▁dashboard", + -12.281729698181152 + ], + [ + "▁lieux", + -12.281781196594238 + ], + [ + "▁validate", + -12.281901359558105 + ], + [ + "▁uniquement", + -12.281963348388672 + ], + [ + "clip", + -12.28199291229248 + ], + [ + "cov", + -12.282132148742676 + ], + [ + "▁tendance", + -12.282215118408203 + ], + [ + "èle", + -12.282258033752441 + ], + [ + "▁incepe", + -12.282261848449707 + ], + [ + "▁chunk", + -12.282585144042969 + ], + [ + "▁Nr", + -12.28266716003418 + ], + [ + "▁Montana", + -12.282674789428711 + ], + [ + "▁sticks", + -12.28277587890625 + ], + [ + "▁caps", + -12.28309154510498 + ], + [ + "▁Jimmy", + -12.283167839050293 + ], + [ + "▁Levi", + -12.283285140991211 + ], + [ + "▁cables", + -12.28345012664795 + ], + [ + "▁SB", + -12.283550262451172 + ], + [ + "▁thème", + -12.2836275100708 + ], + [ + "ADA", + -12.283672332763672 + ], + [ + "▁garant", + -12.283686637878418 + ], + [ + "▁Joint", + -12.283820152282715 + ], + [ + "▁partage", + -12.28398323059082 + ], + [ + "schreib", + -12.284119606018066 + ], + [ + "ether", + -12.28420352935791 + ], + [ + "▁Klima", + -12.284303665161133 + ], + [ + "▁medicines", + -12.284317016601562 + ], + [ + "▁pH", + -12.284320831298828 + ], + [ + "Architect", + -12.284378051757812 + ], + [ + "știi", + -12.284396171569824 + ], + [ + "▁retrouve", + -12.284700393676758 + ], + [ + "▁posture", + -12.284753799438477 + ], + [ + "Feature", + -12.284773826599121 + ], + [ + "▁drying", + -12.284884452819824 + ], + [ + "trifft", + -12.28488826751709 + ], + [ + "ibi", + -12.285079002380371 + ], + [ + "▁rezerv", + -12.285116195678711 + ], + [ + "▁Vă", + -12.28518009185791 + ], + [ + "▁Speaker", + -12.285282135009766 + ], + [ + "▁illustration", + -12.285319328308105 + ], + [ + "oooo", + -12.285419464111328 + ], + [ + "▁initiated", + -12.285518646240234 + ], + [ + "PK", + -12.285545349121094 + ], + [ + "▁algorithms", + -12.285630226135254 + ], + [ + "▁zice", + -12.285757064819336 + ], + [ + "WI", + -12.28581428527832 + ], + [ + "urgence", + -12.285823822021484 + ], + [ + "▁bloggers", + -12.285887718200684 + ], + [ + "▁realitate", + -12.285894393920898 + ], + [ + "eks", + -12.28598690032959 + ], + [ + "▁cushions", + -12.286149024963379 + ], + [ + "▁Kri", + -12.286224365234375 + ], + [ + "▁réalisation", + -12.286396026611328 + ], + [ + "▁Photoshop", + -12.286407470703125 + ], + [ + "cret", + -12.286462783813477 + ], + [ + "faire", + -12.286613464355469 + ], + [ + "▁Cei", + -12.286782264709473 + ], + [ + "ICO", + -12.286789894104004 + ], + [ + "Contin", + -12.28681755065918 + ], + [ + "▁Builder", + -12.286916732788086 + ], + [ + "look", + -12.28698444366455 + ], + [ + "▁tenants", + -12.287023544311523 + ], + [ + "▁gloves", + -12.287113189697266 + ], + [ + "Day", + -12.287169456481934 + ], + [ + "firmly", + -12.28725814819336 + ], + [ + "CIA", + -12.287352561950684 + ], + [ + "▁TVA", + -12.28741455078125 + ], + [ + "▁notifications", + -12.287446975708008 + ], + [ + "▁Higher", + -12.287459373474121 + ], + [ + "▁Weihnachts", + -12.287491798400879 + ], + [ + "▁blur", + -12.287755012512207 + ], + [ + "ов", + -12.288087844848633 + ], + [ + "feder", + -12.288159370422363 + ], + [ + "▁explosion", + -12.288171768188477 + ], + [ + "▁Fenster", + -12.288189888000488 + ], + [ + "▁junge", + -12.288225173950195 + ], + [ + "▁Highland", + -12.288230895996094 + ], + [ + "▁Lü", + -12.288290023803711 + ], + [ + "▁Alba", + -12.28832721710205 + ], + [ + "▁Dort", + -12.288338661193848 + ], + [ + "▁recruiting", + -12.28835391998291 + ], + [ + "▁Multiple", + -12.288549423217773 + ], + [ + "▁animated", + -12.288604736328125 + ], + [ + "▁Virgin", + -12.288637161254883 + ], + [ + "1000", + -12.288676261901855 + ], + [ + "▁resin", + -12.288700103759766 + ], + [ + "▁matrix", + -12.288826942443848 + ], + [ + "irri", + -12.289011001586914 + ], + [ + "▁chiffre", + -12.28904914855957 + ], + [ + "▁Corps", + -12.289252281188965 + ], + [ + "▁advocacy", + -12.28927230834961 + ], + [ + "▁pozitiv", + -12.289274215698242 + ], + [ + "▁pouss", + -12.289451599121094 + ], + [ + "événement", + -12.28950309753418 + ], + [ + "▁pielii", + -12.289717674255371 + ], + [ + "onnais", + -12.289750099182129 + ], + [ + "▁Statement", + -12.289754867553711 + ], + [ + "crimin", + -12.289868354797363 + ], + [ + "hidrat", + -12.289942741394043 + ], + [ + "▁Jugendliche", + -12.290057182312012 + ], + [ + "TRI", + -12.290223121643066 + ], + [ + "erra", + -12.290240287780762 + ], + [ + "chat", + -12.290321350097656 + ], + [ + "▁traits", + -12.290359497070312 + ], + [ + "▁incentives", + -12.29038143157959 + ], + [ + "▁accelerate", + -12.290568351745605 + ], + [ + "woven", + -12.290633201599121 + ], + [ + "UST", + -12.290688514709473 + ], + [ + "▁premiers", + -12.290717124938965 + ], + [ + "▁Ferien", + -12.290755271911621 + ], + [ + "▁mariage", + -12.290796279907227 + ], + [ + "▁financially", + -12.290801048278809 + ], + [ + "gesellschaft", + -12.290863037109375 + ], + [ + "▁situaţi", + -12.290865898132324 + ], + [ + "▁quoted", + -12.291373252868652 + ], + [ + "▁periodic", + -12.291421890258789 + ], + [ + "▁chaos", + -12.291543960571289 + ], + [ + "▁remodel", + -12.29159927368164 + ], + [ + "▁Contractor", + -12.291641235351562 + ], + [ + "▁recuper", + -12.291729927062988 + ], + [ + "▁driveway", + -12.291755676269531 + ], + [ + "▁entertain", + -12.291765213012695 + ], + [ + "▁condus", + -12.291769027709961 + ], + [ + "▁chefs", + -12.29184341430664 + ], + [ + "pak", + -12.291866302490234 + ], + [ + "▁possède", + -12.291948318481445 + ], + [ + "▁outreach", + -12.291984558105469 + ], + [ + "▁navig", + -12.292036056518555 + ], + [ + "▁renewal", + -12.292071342468262 + ], + [ + "▁Rice", + -12.292309761047363 + ], + [ + "▁Czech", + -12.292398452758789 + ], + [ + "▁entstehen", + -12.292445182800293 + ], + [ + "▁droite", + -12.292448997497559 + ], + [ + "▁Investor", + -12.292497634887695 + ], + [ + "▁Soci", + -12.29250431060791 + ], + [ + "▁scalp", + -12.292622566223145 + ], + [ + "▁politiques", + -12.292815208435059 + ], + [ + "▁plaintiff", + -12.292841911315918 + ], + [ + "extending", + -12.29287052154541 + ], + [ + "▁paperwork", + -12.29300594329834 + ], + [ + "vizi", + -12.293142318725586 + ], + [ + "assisting", + -12.29317569732666 + ], + [ + "local", + -12.293272972106934 + ], + [ + "▁Wear", + -12.293323516845703 + ], + [ + "▁descend", + -12.293340682983398 + ], + [ + "▁Wikipedia", + -12.293513298034668 + ], + [ + "▁Consiliului", + -12.293516159057617 + ], + [ + "▁Nokia", + -12.293540000915527 + ], + [ + "▁facult", + -12.293560028076172 + ], + [ + "▁altogether", + -12.293851852416992 + ], + [ + "▁rankings", + -12.29391860961914 + ], + [ + "▁downloading", + -12.293953895568848 + ], + [ + "QU", + -12.294007301330566 + ], + [ + "▁Olive", + -12.294041633605957 + ], + [ + "▁backdrop", + -12.294110298156738 + ], + [ + "▁recomandat", + -12.294116020202637 + ], + [ + "▁Faculty", + -12.294184684753418 + ], + [ + "ANS", + -12.294220924377441 + ], + [ + "▁fracture", + -12.294225692749023 + ], + [ + "job", + -12.29448127746582 + ], + [ + "▁anticipate", + -12.294525146484375 + ], + [ + "▁drift", + -12.294543266296387 + ], + [ + "▁Marco", + -12.294632911682129 + ], + [ + "▁witnessed", + -12.294700622558594 + ], + [ + "▁comprend", + -12.294974327087402 + ], + [ + "▁bulb", + -12.29504680633545 + ], + [ + "▁shallow", + -12.295059204101562 + ], + [ + "stärke", + -12.295063972473145 + ], + [ + "▁Jessica", + -12.295080184936523 + ], + [ + "▁démarche", + -12.29508113861084 + ], + [ + "▁traditionally", + -12.29508113861084 + ], + [ + "Deputy", + -12.295093536376953 + ], + [ + "▁rivers", + -12.295260429382324 + ], + [ + "▁livraison", + -12.29531192779541 + ], + [ + "▁lacking", + -12.295421600341797 + ], + [ + "▁remodeling", + -12.295426368713379 + ], + [ + "▁acesteia", + -12.295514106750488 + ], + [ + "▁grosse", + -12.295669555664062 + ], + [ + "▁propus", + -12.295833587646484 + ], + [ + "lessly", + -12.29587459564209 + ], + [ + "▁Kredit", + -12.295931816101074 + ], + [ + "reputable", + -12.295981407165527 + ], + [ + "▁Sell", + -12.2960205078125 + ], + [ + "▁Crime", + -12.296111106872559 + ], + [ + "Ent", + -12.296310424804688 + ], + [ + "finity", + -12.296422004699707 + ], + [ + "▁Complex", + -12.296500205993652 + ], + [ + "easing", + -12.296638488769531 + ], + [ + "dynamic", + -12.296670913696289 + ], + [ + "▁eaten", + -12.296727180480957 + ], + [ + "gezogen", + -12.296734809875488 + ], + [ + "▁2004,", + -12.296774864196777 + ], + [ + "▁Muslims", + -12.296822547912598 + ], + [ + "▁Sprache", + -12.296883583068848 + ], + [ + "▁Truth", + -12.296927452087402 + ], + [ + "▁guarantees", + -12.296928405761719 + ], + [ + "/5", + -12.29712963104248 + ], + [ + "”).", + -12.297135353088379 + ], + [ + "▁Medium", + -12.2972993850708 + ], + [ + "▁décidé", + -12.297445297241211 + ], + [ + "▁balcony", + -12.29747200012207 + ], + [ + "leuchte", + -12.297502517700195 + ], + [ + "hik", + -12.297849655151367 + ], + [ + "▁Agriculture", + -12.298221588134766 + ], + [ + "▁securities", + -12.298221588134766 + ], + [ + "Probably", + -12.298224449157715 + ], + [ + "▁macar", + -12.29824161529541 + ], + [ + "▁Signal", + -12.298399925231934 + ], + [ + "lake", + -12.298677444458008 + ], + [ + "▁compétences", + -12.298726081848145 + ], + [ + "▁proprietary", + -12.298812866210938 + ], + [ + "allons", + -12.298850059509277 + ], + [ + "▁belongs", + -12.298916816711426 + ], + [ + "▁missile", + -12.298958778381348 + ], + [ + "țiune", + -12.298999786376953 + ], + [ + "▁Integration", + -12.299116134643555 + ], + [ + "▁testimony", + -12.299120903015137 + ], + [ + "▁wesentlich", + -12.299142837524414 + ], + [ + "▁donors", + -12.299152374267578 + ], + [ + "▁pivot", + -12.299202919006348 + ], + [ + "▁Uber", + -12.299219131469727 + ], + [ + "▁databases", + -12.299281120300293 + ], + [ + "▁studi", + -12.299317359924316 + ], + [ + "totdeauna", + -12.299351692199707 + ], + [ + "▁briefly", + -12.299449920654297 + ], + [ + "▁livr", + -12.29952335357666 + ], + [ + "▁CRM", + -12.299581527709961 + ], + [ + "gone", + -12.299697875976562 + ], + [ + "10)", + -12.299761772155762 + ], + [ + "▁zilele", + -12.299920082092285 + ], + [ + "Basically", + -12.300008773803711 + ], + [ + "▁medie", + -12.300041198730469 + ], + [ + "spotted", + -12.30006217956543 + ], + [ + "▁troubles", + -12.30009937286377 + ], + [ + "▁acknowledged", + -12.300176620483398 + ], + [ + "350", + -12.300185203552246 + ], + [ + "LB", + -12.300273895263672 + ], + [ + "Phy", + -12.30038833618164 + ], + [ + "natal", + -12.300397872924805 + ], + [ + "illé", + -12.300445556640625 + ], + [ + "bilder", + -12.300625801086426 + ], + [ + "▁apples", + -12.300636291503906 + ], + [ + "graphical", + -12.300889015197754 + ], + [ + "organiser", + -12.301024436950684 + ], + [ + "▁ochii", + -12.301040649414062 + ], + [ + "glas", + -12.301178932189941 + ], + [ + "CAP", + -12.301180839538574 + ], + [ + "▁Doors", + -12.301331520080566 + ], + [ + "▁Eis", + -12.30156135559082 + ], + [ + "tipuri", + -12.301590919494629 + ], + [ + "▁Worth", + -12.301684379577637 + ], + [ + "izează", + -12.301719665527344 + ], + [ + "nunț", + -12.30180549621582 + ], + [ + "▁Trip", + -12.30186653137207 + ], + [ + "ISS", + -12.301976203918457 + ], + [ + "efficient", + -12.30201530456543 + ], + [ + "Luckily", + -12.302099227905273 + ], + [ + "▁vase", + -12.302133560180664 + ], + [ + "▁gay", + -12.302343368530273 + ], + [ + "▁certificates", + -12.302434921264648 + ], + [ + "riad", + -12.302549362182617 + ], + [ + "stab", + -12.302570343017578 + ], + [ + "affiche", + -12.302604675292969 + ], + [ + "▁iPod", + -12.302645683288574 + ], + [ + "▁aștept", + -12.302726745605469 + ], + [ + "▁$500", + -12.302751541137695 + ], + [ + "▁Catherine", + -12.302952766418457 + ], + [ + "▁Circuit", + -12.302957534790039 + ], + [ + "▁ranch", + -12.303045272827148 + ], + [ + "▁consequence", + -12.303118705749512 + ], + [ + "listened", + -12.303131103515625 + ], + [ + "▁Options", + -12.303187370300293 + ], + [ + "feed", + -12.30318832397461 + ], + [ + "▁adviser", + -12.303248405456543 + ], + [ + "▁présenter", + -12.30333423614502 + ], + [ + "substant", + -12.30337905883789 + ], + [ + "▁Flag", + -12.303604125976562 + ], + [ + "▁Keith", + -12.30366325378418 + ], + [ + "▁inima", + -12.303709983825684 + ], + [ + "▁substrate", + -12.30373764038086 + ], + [ + "▁charger", + -12.303803443908691 + ], + [ + "▁reporter", + -12.303844451904297 + ], + [ + "ütz", + -12.304068565368652 + ], + [ + "▁unten", + -12.30417537689209 + ], + [ + "▁sympa", + -12.304542541503906 + ], + [ + "▁defeated", + -12.304600715637207 + ], + [ + "ändig", + -12.304644584655762 + ], + [ + "individu", + -12.304747581481934 + ], + [ + "▁Straßen", + -12.304774284362793 + ], + [ + "▁Nepal", + -12.304791450500488 + ], + [ + "million", + -12.304803848266602 + ], + [ + "▁Cake", + -12.30499267578125 + ], + [ + "▁investigations", + -12.30526065826416 + ], + [ + "▁inspector", + -12.3054780960083 + ], + [ + "▁Campbell", + -12.305486679077148 + ], + [ + "▁consommation", + -12.305489540100098 + ], + [ + "▁Ministerul", + -12.305628776550293 + ], + [ + "Advisory", + -12.305749893188477 + ], + [ + "▁Leistungs", + -12.305939674377441 + ], + [ + "▁Pull", + -12.306157112121582 + ], + [ + "▁lover", + -12.306194305419922 + ], + [ + "▁trunk", + -12.306380271911621 + ], + [ + "▁folosesc", + -12.30639934539795 + ], + [ + "pom", + -12.306558609008789 + ], + [ + "wunder", + -12.306794166564941 + ], + [ + "▁happier", + -12.306801795959473 + ], + [ + "▁embark", + -12.30689525604248 + ], + [ + "▁mediul", + -12.3069486618042 + ], + [ + "riff", + -12.306973457336426 + ], + [ + "▁copilul", + -12.307039260864258 + ], + [ + "ommage", + -12.307126998901367 + ], + [ + "rechnung", + -12.307218551635742 + ], + [ + "NU", + -12.307220458984375 + ], + [ + "▁fellowship", + -12.307395935058594 + ], + [ + "▁Mental", + -12.307403564453125 + ], + [ + "▁fever", + -12.3074312210083 + ], + [ + "▁silly", + -12.307547569274902 + ], + [ + "Object", + -12.30756664276123 + ], + [ + "NV", + -12.307591438293457 + ], + [ + "от", + -12.30774974822998 + ], + [ + "▁Strand", + -12.307762145996094 + ], + [ + "▁Exist", + -12.30777359008789 + ], + [ + "warum", + -12.307832717895508 + ], + [ + "CY", + -12.307848930358887 + ], + [ + "kä", + -12.307856559753418 + ], + [ + "!!!!!", + -12.307869911193848 + ], + [ + "▁moarte", + -12.30793571472168 + ], + [ + "▁waterfall", + -12.308024406433105 + ], + [ + "left", + -12.30815601348877 + ], + [ + "▁Nursing", + -12.308225631713867 + ], + [ + "▁invalid", + -12.30826187133789 + ], + [ + "struktur", + -12.308385848999023 + ], + [ + "Allerdings", + -12.30838680267334 + ], + [ + "étranger", + -12.30838680267334 + ], + [ + "▁prost", + -12.308517456054688 + ], + [ + "▁Parent", + -12.308562278747559 + ], + [ + "▁întreag", + -12.308611869812012 + ], + [ + "▁compensate", + -12.308871269226074 + ], + [ + "▁sometime", + -12.308955192565918 + ], + [ + "graduate", + -12.308968544006348 + ], + [ + "▁Carter", + -12.30898380279541 + ], + [ + "▁crap", + -12.308998107910156 + ], + [ + "▁mathematics", + -12.309067726135254 + ], + [ + "resemble", + -12.309069633483887 + ], + [ + "Dame", + -12.309152603149414 + ], + [ + "▁Swa", + -12.309198379516602 + ], + [ + "▁celebrity", + -12.309239387512207 + ], + [ + "▁verified", + -12.309338569641113 + ], + [ + "▁Behind", + -12.309349060058594 + ], + [ + "carbon", + -12.309432983398438 + ], + [ + "▁gateway", + -12.309490203857422 + ], + [ + "▁ambitious", + -12.30952262878418 + ], + [ + "▁Wellness", + -12.30966567993164 + ], + [ + "30,000", + -12.30968189239502 + ], + [ + "defined", + -12.309929847717285 + ], + [ + "specializes", + -12.310121536254883 + ], + [ + "▁Chase", + -12.310199737548828 + ], + [ + "HF", + -12.310233116149902 + ], + [ + "ABLE", + -12.310348510742188 + ], + [ + "▁Ehr", + -12.310467720031738 + ], + [ + "▁régime", + -12.310480117797852 + ], + [ + "▁awake", + -12.310487747192383 + ], + [ + "▁seafood", + -12.310487747192383 + ], + [ + "leading", + -12.310554504394531 + ], + [ + "▁Rule", + -12.310602188110352 + ], + [ + "verkehr", + -12.310726165771484 + ], + [ + "erem", + -12.310737609863281 + ], + [ + "▁1973", + -12.310795783996582 + ], + [ + "personal", + -12.311171531677246 + ], + [ + "ența", + -12.311330795288086 + ], + [ + "apprend", + -12.311396598815918 + ], + [ + "faisant", + -12.311420440673828 + ], + [ + "▁Sounds", + -12.31151008605957 + ], + [ + "▁Launch", + -12.31151294708252 + ], + [ + "half", + -12.311636924743652 + ], + [ + "▁verre", + -12.311859130859375 + ], + [ + "▁Regular", + -12.31207275390625 + ], + [ + "▁Nancy", + -12.312142372131348 + ], + [ + "quelles", + -12.312161445617676 + ], + [ + "▁erhält", + -12.312169075012207 + ], + [ + "▁socks", + -12.3121919631958 + ], + [ + "lamp", + -12.312387466430664 + ], + [ + "▁durchgeführt", + -12.312472343444824 + ], + [ + "▁advertise", + -12.31260871887207 + ], + [ + "powered", + -12.312653541564941 + ], + [ + "▁concur", + -12.312699317932129 + ], + [ + "▁ressources", + -12.31293773651123 + ], + [ + "▁allocation", + -12.312986373901367 + ], + [ + "chon", + -12.313041687011719 + ], + [ + "▁Larry", + -12.313177108764648 + ], + [ + "lässig", + -12.313254356384277 + ], + [ + "OLD", + -12.313493728637695 + ], + [ + "itty", + -12.313599586486816 + ], + [ + "▁immuno", + -12.313645362854004 + ], + [ + "▁(+", + -12.313651084899902 + ], + [ + "▁Essential", + -12.313674926757812 + ], + [ + "▁semaines", + -12.313719749450684 + ], + [ + "Ru", + -12.31375503540039 + ], + [ + "▁Gear", + -12.313764572143555 + ], + [ + "völlig", + -12.313850402832031 + ], + [ + "liga", + -12.31391716003418 + ], + [ + "▁Neg", + -12.314082145690918 + ], + [ + "▁gratitude", + -12.31408977508545 + ], + [ + "aventure", + -12.314108848571777 + ], + [ + "▁frustrated", + -12.314115524291992 + ], + [ + "▁retrait", + -12.31422233581543 + ], + [ + "▁statut", + -12.314231872558594 + ], + [ + "550", + -12.31434440612793 + ], + [ + "ла", + -12.314428329467773 + ], + [ + "risto", + -12.314448356628418 + ], + [ + "WAY", + -12.314607620239258 + ], + [ + "▁pigment", + -12.314652442932129 + ], + [ + "Selon", + -12.314715385437012 + ], + [ + "stil", + -12.3148775100708 + ], + [ + "▁Marin", + -12.315055847167969 + ], + [ + "ashi", + -12.315085411071777 + ], + [ + "▁contine", + -12.31519889831543 + ], + [ + "▁Economics", + -12.315200805664062 + ], + [ + "both", + -12.3152437210083 + ], + [ + "▁Dou", + -12.31527328491211 + ], + [ + "Fel", + -12.315373420715332 + ], + [ + "UNT", + -12.315434455871582 + ], + [ + "▁grandmother", + -12.31548023223877 + ], + [ + "▁domicile", + -12.315678596496582 + ], + [ + "▁buffer", + -12.31574535369873 + ], + [ + "▁fuse", + -12.315815925598145 + ], + [ + "▁dosage", + -12.315821647644043 + ], + [ + "▁Nici", + -12.315839767456055 + ], + [ + "▁worries", + -12.315908432006836 + ], + [ + "▁Rail", + -12.3159818649292 + ], + [ + "uneori", + -12.315990447998047 + ], + [ + "▁Sierra", + -12.316030502319336 + ], + [ + "▁porni", + -12.316032409667969 + ], + [ + "▁NOTE", + -12.316056251525879 + ], + [ + "▁tendency", + -12.316065788269043 + ], + [ + "Set", + -12.316256523132324 + ], + [ + "▁Hof", + -12.31629753112793 + ], + [ + "▁Ruhe", + -12.316300392150879 + ], + [ + "harm", + -12.316360473632812 + ], + [ + "▁Developer", + -12.316367149353027 + ], + [ + "suing", + -12.316400527954102 + ], + [ + "persönlichen", + -12.31658935546875 + ], + [ + "▁agréable", + -12.316596031188965 + ], + [ + "commissioned", + -12.316696166992188 + ], + [ + "▁1974", + -12.31672191619873 + ], + [ + "▁1969", + -12.316758155822754 + ], + [ + "▁regl", + -12.316996574401855 + ], + [ + "▁terror", + -12.317042350769043 + ], + [ + "▁température", + -12.317051887512207 + ], + [ + "▁Archiv", + -12.31706714630127 + ], + [ + "▁Military", + -12.317140579223633 + ], + [ + "▁König", + -12.317290306091309 + ], + [ + "▁forex", + -12.31737232208252 + ], + [ + "wiki", + -12.31745719909668 + ], + [ + "thetic", + -12.317506790161133 + ], + [ + "alaturi", + -12.317974090576172 + ], + [ + "▁montant", + -12.3179931640625 + ], + [ + "▁maladie", + -12.318044662475586 + ], + [ + "gust", + -12.318151473999023 + ], + [ + "▁demander", + -12.318164825439453 + ], + [ + "avocat", + -12.318191528320312 + ], + [ + "▁sci", + -12.318192481994629 + ], + [ + "▁Wireless", + -12.318214416503906 + ], + [ + "▁Dein", + -12.318220138549805 + ], + [ + "▁trio", + -12.3183012008667 + ], + [ + "▁Same", + -12.318395614624023 + ], + [ + "Datei", + -12.318464279174805 + ], + [ + "▁alerg", + -12.318578720092773 + ], + [ + "crowded", + -12.318657875061035 + ], + [ + "▁Punkt", + -12.318853378295898 + ], + [ + "▁sanctions", + -12.318864822387695 + ], + [ + "stating", + -12.318922996520996 + ], + [ + "▁discusse", + -12.318949699401855 + ], + [ + "▁Eigen", + -12.319068908691406 + ], + [ + "▁sănătate", + -12.31911563873291 + ], + [ + "▁correspondence", + -12.319211959838867 + ], + [ + "cred", + -12.319331169128418 + ], + [ + "VG", + -12.319347381591797 + ], + [ + "▁différence", + -12.319347381591797 + ], + [ + "▁Montreal", + -12.319391250610352 + ], + [ + "▁masini", + -12.319398880004883 + ], + [ + "iata", + -12.319487571716309 + ], + [ + "▁sampling", + -12.319574356079102 + ], + [ + "▁Gib", + -12.319831848144531 + ], + [ + "▁sheer", + -12.319944381713867 + ], + [ + "330", + -12.319947242736816 + ], + [ + "CHI", + -12.319990158081055 + ], + [ + "▁damn", + -12.320030212402344 + ], + [ + "▁Advisor", + -12.320201873779297 + ], + [ + "Typically", + -12.320302963256836 + ], + [ + "ssé", + -12.320352554321289 + ], + [ + "quart", + -12.320361137390137 + ], + [ + "chete", + -12.320385932922363 + ], + [ + "▁Puerto", + -12.32049560546875 + ], + [ + "2-1", + -12.32050609588623 + ], + [ + "NN", + -12.320674896240234 + ], + [ + "▁styling", + -12.320707321166992 + ], + [ + "rud", + -12.320777893066406 + ], + [ + "од", + -12.320856094360352 + ], + [ + "▁Hydro", + -12.320941925048828 + ], + [ + "▁Cable", + -12.320961952209473 + ], + [ + "video", + -12.320974349975586 + ], + [ + "▁Wirkung", + -12.321194648742676 + ], + [ + "▁noble", + -12.321270942687988 + ], + [ + "▁Sonder", + -12.32129192352295 + ], + [ + "mati", + -12.321317672729492 + ], + [ + "850", + -12.321395874023438 + ], + [ + "▁Richmond", + -12.32143497467041 + ], + [ + "▁niciodată", + -12.321442604064941 + ], + [ + "AO", + -12.321527481079102 + ], + [ + "▁altered", + -12.321648597717285 + ], + [ + "▁(15", + -12.32168960571289 + ], + [ + "▁Motiv", + -12.322052001953125 + ], + [ + "AKE", + -12.322089195251465 + ], + [ + "▁bestimmte", + -12.322172164916992 + ], + [ + "6.5", + -12.322176933288574 + ], + [ + "hectare", + -12.322333335876465 + ], + [ + "atorită", + -12.322335243225098 + ], + [ + "▁phases", + -12.322447776794434 + ], + [ + "▁Nova", + -12.322566032409668 + ], + [ + "ordinateur", + -12.322579383850098 + ], + [ + "▁corrupt", + -12.322813034057617 + ], + [ + "error", + -12.322895050048828 + ], + [ + "▁attacked", + -12.323005676269531 + ], + [ + "▁Kirche", + -12.323019981384277 + ], + [ + "heir", + -12.323040962219238 + ], + [ + "Das", + -12.323254585266113 + ], + [ + "▁anxious", + -12.323258399963379 + ], + [ + "▁Doc", + -12.323386192321777 + ], + [ + "▁Roth", + -12.323415756225586 + ], + [ + "▁Cine", + -12.32388687133789 + ], + [ + "▁auditor", + -12.324418067932129 + ], + [ + "▁beverage", + -12.324586868286133 + ], + [ + "▁précédent", + -12.324637413024902 + ], + [ + "▁deploy", + -12.324837684631348 + ], + [ + "▁accessibility", + -12.324843406677246 + ], + [ + "▁cage", + -12.324885368347168 + ], + [ + "▁Contra", + -12.324934005737305 + ], + [ + "Best", + -12.324952125549316 + ], + [ + "iji", + -12.324972152709961 + ], + [ + "▁père", + -12.325060844421387 + ], + [ + "▁scenic", + -12.32511043548584 + ], + [ + "synthesis", + -12.325165748596191 + ], + [ + "ßen", + -12.32534408569336 + ], + [ + "▁Videos", + -12.325482368469238 + ], + [ + "▁refus", + -12.325484275817871 + ], + [ + "stimmen", + -12.3255615234375 + ], + [ + "▁sleek", + -12.325577735900879 + ], + [ + "artige", + -12.32563591003418 + ], + [ + "mari", + -12.32568359375 + ], + [ + "▁excelent", + -12.325740814208984 + ], + [ + "▁negativ", + -12.325806617736816 + ], + [ + "▁blocking", + -12.32590103149414 + ], + [ + "spricht", + -12.326001167297363 + ], + [ + "▁discomfort", + -12.32602310180664 + ], + [ + "▁stratégie", + -12.32602310180664 + ], + [ + "▁Datenschutz", + -12.326078414916992 + ], + [ + "curg", + -12.326128005981445 + ], + [ + "▁lapte", + -12.326432228088379 + ], + [ + "▁acasă", + -12.326491355895996 + ], + [ + "▁ausschließlich", + -12.32653522491455 + ], + [ + "▁unbedingt", + -12.326802253723145 + ], + [ + "▁Linie", + -12.32689380645752 + ], + [ + "▁subscribers", + -12.327019691467285 + ], + [ + "109", + -12.32702350616455 + ], + [ + "▁Waste", + -12.32712173461914 + ], + [ + "▁Planung", + -12.327231407165527 + ], + [ + "▁visually", + -12.32734489440918 + ], + [ + "utilizarea", + -12.327370643615723 + ], + [ + "uba", + -12.327381134033203 + ], + [ + "▁fifteen", + -12.327411651611328 + ], + [ + "▁légère", + -12.327411651611328 + ], + [ + "ința", + -12.327446937561035 + ], + [ + "▁tolerance", + -12.327460289001465 + ], + [ + "▁piscine", + -12.327536582946777 + ], + [ + "▁nails", + -12.327569007873535 + ], + [ + "▁accus", + -12.327693939208984 + ], + [ + "▁coeur", + -12.327773094177246 + ], + [ + "freie", + -12.327849388122559 + ], + [ + "enţă", + -12.32812213897705 + ], + [ + "▁glucose", + -12.328336715698242 + ], + [ + "▁Jar", + -12.32838249206543 + ], + [ + "▁commencer", + -12.328387260437012 + ], + [ + "▁eliminating", + -12.328414916992188 + ], + [ + "▁mutation", + -12.32844352722168 + ], + [ + "▁afirma", + -12.328444480895996 + ], + [ + "▁Consulting", + -12.328454971313477 + ], + [ + "adia", + -12.328543663024902 + ], + [ + "zog", + -12.328604698181152 + ], + [ + "▁pielea", + -12.328658103942871 + ], + [ + "rton", + -12.328706741333008 + ], + [ + "exercice", + -12.3287935256958 + ], + [ + "namely", + -12.328847885131836 + ], + [ + "▁ajutor", + -12.3289155960083 + ], + [ + "▁markers", + -12.328917503356934 + ], + [ + "▁gardening", + -12.328932762145996 + ], + [ + "Karte", + -12.329038619995117 + ], + [ + "▁Pump", + -12.329142570495605 + ], + [ + "▁Dual", + -12.329169273376465 + ], + [ + "▁pratiques", + -12.329349517822266 + ], + [ + "▁behavioral", + -12.329358100891113 + ], + [ + "▁construire", + -12.329511642456055 + ], + [ + "▁Leonard", + -12.329596519470215 + ], + [ + "ediglich", + -12.329630851745605 + ], + [ + "ubbed", + -12.3297758102417 + ], + [ + "NK", + -12.329792022705078 + ], + [ + "shell", + -12.329912185668945 + ], + [ + "▁persönliche", + -12.329996109008789 + ], + [ + "ecuring", + -12.329998970031738 + ], + [ + "beaten", + -12.33000373840332 + ], + [ + "ALE", + -12.330053329467773 + ], + [ + "▁puppy", + -12.33023452758789 + ], + [ + "▁capac", + -12.33027458190918 + ], + [ + "▁seventh", + -12.330394744873047 + ], + [ + "▁nursery", + -12.330400466918945 + ], + [ + "▁Rum", + -12.330419540405273 + ], + [ + "▁exquisite", + -12.330423355102539 + ], + [ + "▁Legi", + -12.330483436584473 + ], + [ + "▁persist", + -12.330497741699219 + ], + [ + "bacterial", + -12.330548286437988 + ], + [ + "▁cereal", + -12.330572128295898 + ], + [ + "▁principe", + -12.330693244934082 + ], + [ + "chip", + -12.330766677856445 + ], + [ + "rush", + -12.330832481384277 + ], + [ + "▁funnel", + -12.330904006958008 + ], + [ + "▁calitatea", + -12.331024169921875 + ], + [ + "ibă", + -12.33104419708252 + ], + [ + "▁reign", + -12.331086158752441 + ], + [ + "▁congregation", + -12.331120491027832 + ], + [ + "▁obtine", + -12.331270217895508 + ], + [ + "▁découverte", + -12.331286430358887 + ], + [ + "▁gama", + -12.331315040588379 + ], + [ + "▁judec", + -12.33132553100586 + ], + [ + "Plan", + -12.331351280212402 + ], + [ + "▁gesture", + -12.331539154052734 + ], + [ + "öffentlichen", + -12.331644058227539 + ], + [ + "▁imported", + -12.331693649291992 + ], + [ + "▁rotate", + -12.331747055053711 + ], + [ + "blown", + -12.331756591796875 + ], + [ + "▁Protein", + -12.331827163696289 + ], + [ + "parfaitement", + -12.331832885742188 + ], + [ + "ondo", + -12.331868171691895 + ], + [ + "ologists", + -12.331890106201172 + ], + [ + "▁neighborhoods", + -12.331989288330078 + ], + [ + "▁Pope", + -12.33202075958252 + ], + [ + "▁museums", + -12.332194328308105 + ], + [ + "▁porter", + -12.332330703735352 + ], + [ + "▁kiss", + -12.332335472106934 + ], + [ + "pdf", + -12.332354545593262 + ], + [ + "sided", + -12.332359313964844 + ], + [ + "▁gern", + -12.332395553588867 + ], + [ + "bedingungen", + -12.332496643066406 + ], + [ + "▁Ride", + -12.332582473754883 + ], + [ + "Apoi", + -12.332584381103516 + ], + [ + "▁bestehen", + -12.332603454589844 + ], + [ + "5\"", + -12.33285903930664 + ], + [ + "bob", + -12.332862854003906 + ], + [ + "ficient", + -12.33303165435791 + ], + [ + "premise", + -12.333086967468262 + ], + [ + "▁Clip", + -12.333112716674805 + ], + [ + "▁concours", + -12.333213806152344 + ], + [ + "olar", + -12.333281517028809 + ], + [ + "▁Centr", + -12.333356857299805 + ], + [ + "outlined", + -12.333429336547852 + ], + [ + "▁observa", + -12.333511352539062 + ], + [ + "▁negotiate", + -12.333537101745605 + ], + [ + "▁Partnership", + -12.33358383178711 + ], + [ + "clock", + -12.333662033081055 + ], + [ + "roasted", + -12.333755493164062 + ], + [ + "Pourquoi", + -12.33391284942627 + ], + [ + "▁Marshall", + -12.334005355834961 + ], + [ + "▁Gerade", + -12.334052085876465 + ], + [ + "▁pachet", + -12.334160804748535 + ], + [ + "▁preliminary", + -12.334162712097168 + ], + [ + "▁tragic", + -12.334200859069824 + ], + [ + "author", + -12.334268569946289 + ], + [ + "▁Gov", + -12.334309577941895 + ], + [ + "▁comunic", + -12.334403991699219 + ], + [ + "▁coordinator", + -12.334410667419434 + ], + [ + "YA", + -12.33445930480957 + ], + [ + "▁Steam", + -12.33476734161377 + ], + [ + "▁Nag", + -12.334796905517578 + ], + [ + "▁Kara", + -12.334851264953613 + ], + [ + "▁Gang", + -12.334858894348145 + ], + [ + "aurez", + -12.334868431091309 + ], + [ + "▁horrible", + -12.334869384765625 + ], + [ + "▁Luxury", + -12.335076332092285 + ], + [ + "▁encouragement", + -12.335169792175293 + ], + [ + "▁conceptual", + -12.335250854492188 + ], + [ + "▁constituent", + -12.335431098937988 + ], + [ + "nvelop", + -12.335494041442871 + ], + [ + "ucc", + -12.335500717163086 + ], + [ + "▁conçu", + -12.335542678833008 + ], + [ + "pfel", + -12.33559513092041 + ], + [ + "special", + -12.335700988769531 + ], + [ + "▁Growth", + -12.335834503173828 + ], + [ + "cada", + -12.335916519165039 + ], + [ + "▁oamenilor", + -12.335976600646973 + ], + [ + "▁vendredi", + -12.336021423339844 + ], + [ + "▁coupe", + -12.336055755615234 + ], + [ + "▁Danke", + -12.336134910583496 + ], + [ + "reflects", + -12.336181640625 + ], + [ + "▁girlfriend", + -12.336273193359375 + ], + [ + "▁diffuse", + -12.336325645446777 + ], + [ + "HER", + -12.336328506469727 + ], + [ + "storing", + -12.336464881896973 + ], + [ + "ailing", + -12.336591720581055 + ], + [ + "▁Desi", + -12.336601257324219 + ], + [ + "stitution", + -12.336832046508789 + ], + [ + "▁adun", + -12.336844444274902 + ], + [ + "▁Partie", + -12.336869239807129 + ], + [ + "▁tissues", + -12.336958885192871 + ], + [ + "▁discovering", + -12.337154388427734 + ], + [ + "Jacques", + -12.337178230285645 + ], + [ + "lungs", + -12.33724594116211 + ], + [ + "▁Handy", + -12.337261199951172 + ], + [ + "centric", + -12.337285995483398 + ], + [ + "slav", + -12.337442398071289 + ], + [ + "▁sights", + -12.337560653686523 + ], + [ + "▁Category", + -12.337644577026367 + ], + [ + "▁Einrichtung", + -12.337957382202148 + ], + [ + "▁Robinson", + -12.33804702758789 + ], + [ + "▁Terra", + -12.338150978088379 + ], + [ + "▁creep", + -12.338167190551758 + ], + [ + "▁Lob", + -12.338184356689453 + ], + [ + "001", + -12.33820629119873 + ], + [ + "kop", + -12.338208198547363 + ], + [ + "Emb", + -12.338292121887207 + ], + [ + "▁forgive", + -12.338391304016113 + ], + [ + "▁icons", + -12.33847427368164 + ], + [ + "electric", + -12.3385009765625 + ], + [ + "▁faucet", + -12.338516235351562 + ], + [ + "▁invisible", + -12.3386812210083 + ], + [ + "sprach", + -12.338801383972168 + ], + [ + "▁beachten", + -12.33881664276123 + ], + [ + "rahm", + -12.338833808898926 + ], + [ + "▁Teacher", + -12.338919639587402 + ], + [ + "Fab", + -12.339070320129395 + ], + [ + "▁joue", + -12.339101791381836 + ], + [ + "▁Popular", + -12.339120864868164 + ], + [ + "▁Februar", + -12.339171409606934 + ], + [ + "sound", + -12.339251518249512 + ], + [ + "▁(0", + -12.339317321777344 + ], + [ + "▁Compare", + -12.33938980102539 + ], + [ + "▁pads", + -12.339455604553223 + ], + [ + "270", + -12.339498519897461 + ], + [ + "ousse", + -12.339548110961914 + ], + [ + "▁UAE", + -12.339786529541016 + ], + [ + "izări", + -12.339787483215332 + ], + [ + "▁bonuses", + -12.33993911743164 + ], + [ + "▁switches", + -12.3400239944458 + ], + [ + "▁Brothers", + -12.340166091918945 + ], + [ + "▁environmentally", + -12.340171813964844 + ], + [ + "vista", + -12.340264320373535 + ], + [ + "▁intentions", + -12.3402738571167 + ], + [ + "▁Terri", + -12.340301513671875 + ], + [ + "▁diabet", + -12.34030532836914 + ], + [ + "▁prese", + -12.340333938598633 + ], + [ + "▁parcurs", + -12.340389251708984 + ], + [ + "Warum", + -12.340449333190918 + ], + [ + "▁credentials", + -12.340455055236816 + ], + [ + "▁PLA", + -12.34046459197998 + ], + [ + "▁instruct", + -12.340470314025879 + ], + [ + "▁benefic", + -12.340633392333984 + ], + [ + "write", + -12.340675354003906 + ], + [ + "▁poids", + -12.340773582458496 + ], + [ + "▁Anspruch", + -12.340923309326172 + ], + [ + "▁avocado", + -12.340923309326172 + ], + [ + "▁inevitable", + -12.340923309326172 + ], + [ + "▁poorly", + -12.340950965881348 + ], + [ + "karte", + -12.340994834899902 + ], + [ + "▁Publishing", + -12.340999603271484 + ], + [ + "odată", + -12.341140747070312 + ], + [ + "▁scientifique", + -12.341157913208008 + ], + [ + "▁lăsa", + -12.341262817382812 + ], + [ + "▁secol", + -12.34131908416748 + ], + [ + "▁nevertheless", + -12.341392517089844 + ], + [ + "SAT", + -12.341597557067871 + ], + [ + "280", + -12.341651916503906 + ], + [ + "▁prevederi", + -12.341670989990234 + ], + [ + "▁chrome", + -12.342002868652344 + ], + [ + "institut", + -12.342267036437988 + ], + [ + "richtigen", + -12.34228515625 + ], + [ + "▁grief", + -12.342338562011719 + ], + [ + "▁penalties", + -12.342373847961426 + ], + [ + "▁Bayern", + -12.34238052368164 + ], + [ + "▁caramel", + -12.342473983764648 + ], + [ + "Now", + -12.342495918273926 + ], + [ + "Stiftung", + -12.342576026916504 + ], + [ + "country", + -12.342737197875977 + ], + [ + "dication", + -12.34278678894043 + ], + [ + "▁Chor", + -12.342801094055176 + ], + [ + "▁rămâne", + -12.342936515808105 + ], + [ + "▁TOP", + -12.34300708770752 + ], + [ + "▁complète", + -12.34301471710205 + ], + [ + "▁Marian", + -12.34302806854248 + ], + [ + "▁Avant", + -12.343121528625488 + ], + [ + "▁Shower", + -12.343156814575195 + ], + [ + "treu", + -12.34316349029541 + ], + [ + "▁chop", + -12.34321403503418 + ], + [ + "▁comfortably", + -12.343220710754395 + ], + [ + "▁autism", + -12.34323787689209 + ], + [ + "▁Sind", + -12.34328556060791 + ], + [ + "▁(20", + -12.343340873718262 + ], + [ + "▁Cinema", + -12.343414306640625 + ], + [ + "compania", + -12.343606948852539 + ], + [ + "▁Lex", + -12.343622207641602 + ], + [ + "▁Sofa", + -12.343716621398926 + ], + [ + "dru", + -12.343753814697266 + ], + [ + "▁verification", + -12.343770027160645 + ], + [ + "▁Immer", + -12.343825340270996 + ], + [ + "lomb", + -12.343829154968262 + ], + [ + "meric", + -12.34385871887207 + ], + [ + "▁slower", + -12.34398365020752 + ], + [ + "▁propag", + -12.344090461730957 + ], + [ + "Inter", + -12.344097137451172 + ], + [ + "selling", + -12.34418773651123 + ], + [ + "▁Bright", + -12.344269752502441 + ], + [ + "condition", + -12.344280242919922 + ], + [ + "PDF", + -12.344291687011719 + ], + [ + "oyez", + -12.344391822814941 + ], + [ + "▁Fried", + -12.344420433044434 + ], + [ + "▁Nazi", + -12.34443187713623 + ], + [ + "▁Buffalo", + -12.344447135925293 + ], + [ + "▁Sue", + -12.344449043273926 + ], + [ + "▁Rhein", + -12.34468936920166 + ], + [ + "▁Klaus", + -12.344889640808105 + ], + [ + "▁indiqu", + -12.344963073730469 + ], + [ + "echte", + -12.344996452331543 + ], + [ + "▁frecvent", + -12.345165252685547 + ], + [ + "▁conveniently", + -12.345187187194824 + ], + [ + "▁Moi", + -12.345197677612305 + ], + [ + "▁greenhouse", + -12.345220565795898 + ], + [ + "▁rédui", + -12.34524154663086 + ], + [ + "▁lengthy", + -12.34542179107666 + ], + [ + "verband", + -12.345534324645996 + ], + [ + "inţă", + -12.345622062683105 + ], + [ + "▁rigorous", + -12.345625877380371 + ], + [ + "▁Finish", + -12.34580135345459 + ], + [ + "▁FBI", + -12.346052169799805 + ], + [ + "cultura", + -12.346083641052246 + ], + [ + "▁compartment", + -12.346110343933105 + ], + [ + "▁pretend", + -12.346117973327637 + ], + [ + "▁assembled", + -12.346212387084961 + ], + [ + "▁Nie", + -12.34639835357666 + ], + [ + "fession", + -12.34640884399414 + ], + [ + "▁£2", + -12.34642219543457 + ], + [ + "algré", + -12.3468017578125 + ], + [ + "▁anterior", + -12.346817970275879 + ], + [ + "▁Wissenschaft", + -12.34683609008789 + ], + [ + "▁Harbor", + -12.346923828125 + ], + [ + "lix", + -12.346985816955566 + ], + [ + "=\"", + -12.347049713134766 + ], + [ + "▁breathtaking", + -12.34705638885498 + ], + [ + "▁Stern", + -12.34708309173584 + ], + [ + "▁Internetseite", + -12.347132682800293 + ], + [ + "▁locker", + -12.347216606140137 + ], + [ + "▁feather", + -12.34726619720459 + ], + [ + "Serv", + -12.347297668457031 + ], + [ + "▁snake", + -12.347332000732422 + ], + [ + "▁Border", + -12.347396850585938 + ], + [ + "▁undergo", + -12.347518920898438 + ], + [ + "▁petrol", + -12.347558975219727 + ], + [ + "▁dealership", + -12.3475923538208 + ], + [ + "▁commander", + -12.347596168518066 + ], + [ + "▁Monate", + -12.347599983215332 + ], + [ + "▁Guardian", + -12.347665786743164 + ], + [ + "▁Todd", + -12.347774505615234 + ], + [ + "Ann", + -12.347825050354004 + ], + [ + "ibilité", + -12.347918510437012 + ], + [ + "▁Quarter", + -12.347987174987793 + ], + [ + "▁portray", + -12.348097801208496 + ], + [ + "▁Tai", + -12.34813404083252 + ], + [ + "▁strikes", + -12.348224639892578 + ], + [ + "illage", + -12.348381042480469 + ], + [ + "▁IRS", + -12.348417282104492 + ], + [ + "▁lupta", + -12.348455429077148 + ], + [ + "▁Sper", + -12.348493576049805 + ], + [ + "PRO", + -12.348530769348145 + ], + [ + "▁Export", + -12.348549842834473 + ], + [ + "▁crypto", + -12.348587989807129 + ], + [ + "▁barbecue", + -12.348692893981934 + ], + [ + "▁portions", + -12.348787307739258 + ], + [ + "▁explicit", + -12.348793983459473 + ], + [ + "▁angenehm", + -12.348834037780762 + ], + [ + "▁marathon", + -12.348946571350098 + ], + [ + "▁apartament", + -12.348982810974121 + ], + [ + "▁Eva", + -12.349079132080078 + ], + [ + "plate", + -12.349181175231934 + ], + [ + "viel", + -12.34925365447998 + ], + [ + "FIN", + -12.34926986694336 + ], + [ + "dependent", + -12.34935188293457 + ], + [ + "▁cercet", + -12.34942626953125 + ], + [ + "▁midnight", + -12.349499702453613 + ], + [ + "copie", + -12.349563598632812 + ], + [ + "▁companii", + -12.349621772766113 + ], + [ + "▁tenu", + -12.349660873413086 + ], + [ + "1/2", + -12.349662780761719 + ], + [ + "2.4", + -12.349693298339844 + ], + [ + "abri", + -12.349699974060059 + ], + [ + "▁warn", + -12.34980297088623 + ], + [ + "▁luggage", + -12.349875450134277 + ], + [ + "numarul", + -12.349968910217285 + ], + [ + "▁contour", + -12.350014686584473 + ], + [ + "▁Ghost", + -12.350016593933105 + ], + [ + "Angaben", + -12.35012435913086 + ], + [ + "▁unemployment", + -12.350296020507812 + ], + [ + "▁rău", + -12.350380897521973 + ], + [ + "▁dispatch", + -12.350445747375488 + ], + [ + "investissement", + -12.350547790527344 + ], + [ + "▁passt", + -12.35057258605957 + ], + [ + "▁Germania", + -12.350578308105469 + ], + [ + "▁webpage", + -12.350651741027832 + ], + [ + "▁reservations", + -12.350688934326172 + ], + [ + "▁Kai", + -12.350743293762207 + ], + [ + "▁Cav", + -12.350890159606934 + ], + [ + "▁Patient", + -12.351109504699707 + ], + [ + "ер", + -12.351213455200195 + ], + [ + "▁Belle", + -12.351236343383789 + ], + [ + "▁Nashville", + -12.351296424865723 + ], + [ + "▁Talent", + -12.351332664489746 + ], + [ + "ouvrage", + -12.351364135742188 + ], + [ + "▁bekommt", + -12.351365089416504 + ], + [ + "USA", + -12.351430892944336 + ], + [ + "CES", + -12.351432800292969 + ], + [ + "▁Peru", + -12.351499557495117 + ], + [ + "▁erkennen", + -12.35153579711914 + ], + [ + "prinde", + -12.351569175720215 + ], + [ + "▁constitution", + -12.351922035217285 + ], + [ + "itatile", + -12.351998329162598 + ], + [ + "bah", + -12.352147102355957 + ], + [ + "▁avail", + -12.352148056030273 + ], + [ + "▁disponibile", + -12.352149963378906 + ], + [ + "hér", + -12.352258682250977 + ], + [ + "ол", + -12.352411270141602 + ], + [ + "▁startups", + -12.352435111999512 + ], + [ + "▁carton", + -12.352485656738281 + ], + [ + "▁Newsletter", + -12.35251235961914 + ], + [ + "éti", + -12.352560997009277 + ], + [ + "▁investigating", + -12.352779388427734 + ], + [ + "itul", + -12.352925300598145 + ], + [ + "touch", + -12.352962493896484 + ], + [ + "Sport", + -12.353137016296387 + ], + [ + "AME", + -12.353203773498535 + ], + [ + "MIN", + -12.353222846984863 + ], + [ + "metry", + -12.353371620178223 + ], + [ + "icy", + -12.353492736816406 + ], + [ + "▁Luna", + -12.35351848602295 + ], + [ + "▁asthma", + -12.353614807128906 + ], + [ + "▁conduc", + -12.35365104675293 + ], + [ + "▁Ari", + -12.35369873046875 + ], + [ + "trust", + -12.353832244873047 + ], + [ + "▁defines", + -12.353894233703613 + ], + [ + "▁Blend", + -12.353927612304688 + ], + [ + "azo", + -12.353989601135254 + ], + [ + "▁sweep", + -12.354169845581055 + ], + [ + "lope", + -12.354331016540527 + ], + [ + "ţinut", + -12.35439682006836 + ], + [ + "WD", + -12.354503631591797 + ], + [ + "▁appetite", + -12.354619979858398 + ], + [ + "▁Seed", + -12.354753494262695 + ], + [ + "Friend", + -12.354854583740234 + ], + [ + "▁repet", + -12.354876518249512 + ], + [ + "▁throat", + -12.354936599731445 + ], + [ + "philosoph", + -12.355141639709473 + ], + [ + "▁connaître", + -12.355156898498535 + ], + [ + "▁Counter", + -12.355299949645996 + ], + [ + "▁Anforderungen", + -12.35533332824707 + ], + [ + "▁Polit", + -12.355363845825195 + ], + [ + "▁Weather", + -12.3554048538208 + ], + [ + "bow", + -12.355423927307129 + ], + [ + "▁recreation", + -12.355484008789062 + ], + [ + "▁culinary", + -12.355571746826172 + ], + [ + "▁plage", + -12.355609893798828 + ], + [ + "▁Cruz", + -12.355659484863281 + ], + [ + "▁equip", + -12.355668067932129 + ], + [ + "▁Recent", + -12.355697631835938 + ], + [ + "LED", + -12.355767250061035 + ], + [ + "▁steak", + -12.355772972106934 + ], + [ + "▁belly", + -12.355880737304688 + ], + [ + "photo", + -12.356130599975586 + ], + [ + "▁lakes", + -12.35623836517334 + ], + [ + "▁intact", + -12.356287956237793 + ], + [ + "▁spiral", + -12.356386184692383 + ], + [ + "▁Billy", + -12.356468200683594 + ], + [ + "▁Understanding", + -12.356534957885742 + ], + [ + "▁Lay", + -12.356558799743652 + ], + [ + "▁roster", + -12.356632232666016 + ], + [ + "▁admire", + -12.356647491455078 + ], + [ + "▁android", + -12.356732368469238 + ], + [ + "▁technician", + -12.356734275817871 + ], + [ + "gène", + -12.356818199157715 + ], + [ + "motiv", + -12.356954574584961 + ], + [ + "▁Boat", + -12.356988906860352 + ], + [ + "▁genießen", + -12.357000350952148 + ], + [ + "▁Geschmack", + -12.357001304626465 + ], + [ + "▁heroes", + -12.3570556640625 + ], + [ + "▁1800", + -12.357137680053711 + ], + [ + "numeroase", + -12.35776138305664 + ], + [ + "▁anschließend", + -12.357802391052246 + ], + [ + "▁Spur", + -12.357813835144043 + ], + [ + "▁clarify", + -12.35784912109375 + ], + [ + "▁warmer", + -12.357889175415039 + ], + [ + "▁Ranch", + -12.357955932617188 + ], + [ + "▁simti", + -12.358024597167969 + ], + [ + "Thank", + -12.35838508605957 + ], + [ + "▁freight", + -12.358434677124023 + ], + [ + "▁administrators", + -12.358453750610352 + ], + [ + "Reg", + -12.358588218688965 + ], + [ + "Această", + -12.358670234680176 + ], + [ + "▁legume", + -12.358741760253906 + ], + [ + "▁utilizare", + -12.358786582946777 + ], + [ + "CON", + -12.358904838562012 + ], + [ + "urgi", + -12.358917236328125 + ], + [ + "▁Gesicht", + -12.358920097351074 + ], + [ + "▁counselor", + -12.358954429626465 + ], + [ + "▁mondiale", + -12.359009742736816 + ], + [ + "helm", + -12.359137535095215 + ], + [ + "▁Promo", + -12.359156608581543 + ], + [ + "▁Schweiz", + -12.35917854309082 + ], + [ + "Ich", + -12.35929012298584 + ], + [ + "▁intalni", + -12.359295845031738 + ], + [ + "▁Bloom", + -12.359318733215332 + ], + [ + "▁Score", + -12.359362602233887 + ], + [ + "▁Fruit", + -12.35944652557373 + ], + [ + "▁constraints", + -12.359447479248047 + ], + [ + "▁farmer", + -12.359745979309082 + ], + [ + "▁précise", + -12.359807014465332 + ], + [ + "evaluating", + -12.359868049621582 + ], + [ + "▁Period", + -12.359891891479492 + ], + [ + "byte", + -12.359893798828125 + ], + [ + "wah", + -12.360025405883789 + ], + [ + "Mac", + -12.360123634338379 + ], + [ + "iron", + -12.360197067260742 + ], + [ + "′", + -12.360337257385254 + ], + [ + "▁tehnic", + -12.360539436340332 + ], + [ + "▁legat", + -12.36054515838623 + ], + [ + "▁Pilot", + -12.360574722290039 + ], + [ + "▁Carpet", + -12.36064624786377 + ], + [ + "TEN", + -12.360812187194824 + ], + [ + "▁shareholders", + -12.36082649230957 + ], + [ + "vină", + -12.360880851745605 + ], + [ + "▁parole", + -12.360939979553223 + ], + [ + "ătă", + -12.360984802246094 + ], + [ + "bbing", + -12.361000061035156 + ], + [ + "▁switched", + -12.361002922058105 + ], + [ + "▁Petro", + -12.361010551452637 + ], + [ + "▁Vertrags", + -12.36111831665039 + ], + [ + "cham", + -12.361178398132324 + ], + [ + "wang", + -12.361284255981445 + ], + [ + "▁Bean", + -12.36139965057373 + ], + [ + "minister", + -12.361442565917969 + ], + [ + "▁Wu", + -12.361522674560547 + ], + [ + "▁Olympics", + -12.361539840698242 + ], + [ + "tipul", + -12.361542701721191 + ], + [ + "▁Citi", + -12.36166763305664 + ], + [ + "▁Fold", + -12.361873626708984 + ], + [ + "▁Partei", + -12.361940383911133 + ], + [ + "▁centrale", + -12.361984252929688 + ], + [ + "île", + -12.362032890319824 + ], + [ + "pflicht", + -12.362175941467285 + ], + [ + "heli", + -12.362398147583008 + ], + [ + "▁erwartet", + -12.362414360046387 + ], + [ + "▁oferta", + -12.362458229064941 + ], + [ + "▁NHS", + -12.36246395111084 + ], + [ + "annon", + -12.362570762634277 + ], + [ + "▁Rud", + -12.362701416015625 + ], + [ + "▁Stuttgart", + -12.362737655639648 + ], + [ + "▁rămas", + -12.362746238708496 + ], + [ + "▁eliminated", + -12.36275577545166 + ], + [ + "▁hiding", + -12.362797737121582 + ], + [ + "▁cadeau", + -12.362832069396973 + ], + [ + "▁mock", + -12.363115310668945 + ], + [ + "▁elder", + -12.363333702087402 + ], + [ + "▁Liz", + -12.363364219665527 + ], + [ + "aji", + -12.363544464111328 + ], + [ + "▁endlich", + -12.363653182983398 + ], + [ + "sufficient", + -12.363668441772461 + ], + [ + "▁zusätzliche", + -12.363712310791016 + ], + [ + "scient", + -12.363757133483887 + ], + [ + "▁Adjust", + -12.363883972167969 + ], + [ + "▁incentive", + -12.363945007324219 + ], + [ + "▁Papa", + -12.364012718200684 + ], + [ + "▁Pharma", + -12.364041328430176 + ], + [ + "▁conflicts", + -12.364107131958008 + ], + [ + "zählen", + -12.364113807678223 + ], + [ + "▁chien", + -12.364118576049805 + ], + [ + "KB", + -12.36413288116455 + ], + [ + "ultimi", + -12.364188194274902 + ], + [ + "▁Jul", + -12.36421012878418 + ], + [ + "▁Male", + -12.36422061920166 + ], + [ + "▁viewer", + -12.36427116394043 + ], + [ + "▁Sector", + -12.364328384399414 + ], + [ + "▁REAL", + -12.364344596862793 + ], + [ + "▁arbitr", + -12.36436939239502 + ], + [ + "resistant", + -12.364399909973145 + ], + [ + "▁Bristol", + -12.364423751831055 + ], + [ + "▁shy", + -12.364540100097656 + ], + [ + "SW", + -12.364593505859375 + ], + [ + "▁Kirk", + -12.36460018157959 + ], + [ + "centrul", + -12.364653587341309 + ], + [ + "▁Venezuela", + -12.364657402038574 + ], + [ + "▁communicating", + -12.364657402038574 + ], + [ + "▁Chemical", + -12.364663124084473 + ], + [ + "▁surprises", + -12.364843368530273 + ], + [ + "▁Jamie", + -12.364933967590332 + ], + [ + "▁Heavy", + -12.364965438842773 + ], + [ + "▁turnover", + -12.36498737335205 + ], + [ + "▁étudiants", + -12.365114212036133 + ], + [ + "welcher", + -12.365124702453613 + ], + [ + "▁preturi", + -12.365200996398926 + ], + [ + "▁Mono", + -12.365283966064453 + ], + [ + "▁paddle", + -12.365309715270996 + ], + [ + "▁accountability", + -12.365364074707031 + ], + [ + "OUS", + -12.365592956542969 + ], + [ + "▁marketers", + -12.365762710571289 + ], + [ + "fection", + -12.365900993347168 + ], + [ + "▁Outside", + -12.365921020507812 + ], + [ + "▁Jefferson", + -12.366114616394043 + ], + [ + "oaie", + -12.36617660522461 + ], + [ + "tenue", + -12.366275787353516 + ], + [ + "HU", + -12.366329193115234 + ], + [ + "Très", + -12.36639404296875 + ], + [ + "valoarea", + -12.36642837524414 + ], + [ + "103", + -12.366482734680176 + ], + [ + "▁Privacy", + -12.366580963134766 + ], + [ + "▁Leistungen", + -12.366598129272461 + ], + [ + "(3)", + -12.36662483215332 + ], + [ + "▁études", + -12.366734504699707 + ], + [ + "sko", + -12.366750717163086 + ], + [ + "drum", + -12.366822242736816 + ], + [ + "▁lamb", + -12.366842269897461 + ], + [ + "▁nicio", + -12.367094993591309 + ], + [ + "▁NATO", + -12.367104530334473 + ], + [ + "▁Freitag", + -12.367178916931152 + ], + [ + "▁precedent", + -12.367178916931152 + ], + [ + "▁partenaires", + -12.367202758789062 + ], + [ + "▁companiei", + -12.367234230041504 + ], + [ + "▁Plaza", + -12.367249488830566 + ], + [ + "▁disruption", + -12.367274284362793 + ], + [ + "▁violations", + -12.367338180541992 + ], + [ + "▁Reference", + -12.367446899414062 + ], + [ + "▁habitants", + -12.36770248413086 + ], + [ + "▁compost", + -12.36776351928711 + ], + [ + "▁citoyen", + -12.367785453796387 + ], + [ + "▁Historical", + -12.367857933044434 + ], + [ + "vollen", + -12.36793327331543 + ], + [ + "▁Eck", + -12.36815357208252 + ], + [ + "▁lumii", + -12.368180274963379 + ], + [ + "▁reusit", + -12.368278503417969 + ], + [ + "genic", + -12.368307113647461 + ], + [ + "Why", + -12.368436813354492 + ], + [ + "ASE", + -12.368474006652832 + ], + [ + "▁athlete", + -12.36854076385498 + ], + [ + "▁Spitze", + -12.368559837341309 + ], + [ + "▁schimbat", + -12.368566513061523 + ], + [ + "▁anonymous", + -12.368850708007812 + ], + [ + "jedes", + -12.368856430053711 + ], + [ + "exclu", + -12.368874549865723 + ], + [ + "factor", + -12.369199752807617 + ], + [ + "▁Dezember", + -12.369231224060059 + ], + [ + "▁scientist", + -12.369373321533203 + ], + [ + "▁likelihood", + -12.36947250366211 + ], + [ + "▁Rhode", + -12.369488716125488 + ], + [ + "▁Balance", + -12.369521141052246 + ], + [ + "istoria", + -12.36959457397461 + ], + [ + "▁Neil", + -12.369780540466309 + ], + [ + "▁bush", + -12.369919776916504 + ], + [ + "▁Ergebnisse", + -12.369935989379883 + ], + [ + "▁Sinn", + -12.369956016540527 + ], + [ + "▁spezielle", + -12.370128631591797 + ], + [ + "▁jucat", + -12.37015438079834 + ], + [ + "▁spite", + -12.370179176330566 + ], + [ + "▁Ultimate", + -12.370365142822266 + ], + [ + "▁fructe", + -12.370401382446289 + ], + [ + "▁asleep", + -12.370441436767578 + ], + [ + "▁Goal", + -12.370539665222168 + ], + [ + "▁PAR", + -12.370631217956543 + ], + [ + "▁rows", + -12.370705604553223 + ], + [ + "▁Fol", + -12.3709135055542 + ], + [ + "▁durata", + -12.370945930480957 + ], + [ + "▁traditionnel", + -12.37100887298584 + ], + [ + "▁tema", + -12.37122917175293 + ], + [ + "▁crédit", + -12.371232986450195 + ], + [ + "smallest", + -12.371358871459961 + ], + [ + "▁amino", + -12.371358871459961 + ], + [ + "▁elephant", + -12.371405601501465 + ], + [ + "▁tubes", + -12.371685028076172 + ], + [ + "▁Verwendung", + -12.371719360351562 + ], + [ + "▁Excellence", + -12.371889114379883 + ], + [ + "▁utilities", + -12.371962547302246 + ], + [ + "frau", + -12.372111320495605 + ], + [ + "▁poze", + -12.3721342086792 + ], + [ + "août", + -12.372307777404785 + ], + [ + "ango", + -12.372514724731445 + ], + [ + "give", + -12.372532844543457 + ], + [ + "▁appelé", + -12.372576713562012 + ], + [ + "▁yeast", + -12.372671127319336 + ], + [ + "▁enrollment", + -12.372676849365234 + ], + [ + "organiz", + -12.3727445602417 + ], + [ + "▁asociat", + -12.372753143310547 + ], + [ + "▁cattle", + -12.372772216796875 + ], + [ + "▁Solution", + -12.372798919677734 + ], + [ + "evoke", + -12.372807502746582 + ], + [ + "▁Hampshire", + -12.372857093811035 + ], + [ + "▁yeah", + -12.372878074645996 + ], + [ + "▁Argentina", + -12.372928619384766 + ], + [ + "▁abnormal", + -12.373022079467773 + ], + [ + "▁Heights", + -12.373082160949707 + ], + [ + "▁Mitchell", + -12.373099327087402 + ], + [ + "▁Quad", + -12.373350143432617 + ], + [ + "▁textures", + -12.373382568359375 + ], + [ + "▁coalition", + -12.373384475708008 + ], + [ + "▁dataset", + -12.37338924407959 + ], + [ + "World", + -12.373438835144043 + ], + [ + "ständ", + -12.373456001281738 + ], + [ + "▁groove", + -12.373476028442383 + ], + [ + "▁emotionally", + -12.373562812805176 + ], + [ + "▁preciz", + -12.373636245727539 + ], + [ + "kte", + -12.373741149902344 + ], + [ + "berechtigt", + -12.373828887939453 + ], + [ + "▁1971", + -12.373888969421387 + ], + [ + "grandes", + -12.373907089233398 + ], + [ + "▁Broadway", + -12.37391185760498 + ], + [ + "▁comunicat", + -12.373994827270508 + ], + [ + "nui", + -12.37402629852295 + ], + [ + "GER", + -12.374079704284668 + ], + [ + "pick", + -12.374125480651855 + ], + [ + "inscrit", + -12.37414264678955 + ], + [ + "▁Gross", + -12.374258995056152 + ], + [ + "▁McDonald", + -12.374310493469238 + ], + [ + "▁Zero", + -12.374330520629883 + ], + [ + "▁Halb", + -12.374341011047363 + ], + [ + "▁caractère", + -12.374553680419922 + ], + [ + "▁doctrine", + -12.374553680419922 + ], + [ + "▁Sinne", + -12.37458610534668 + ], + [ + "MLS", + -12.374594688415527 + ], + [ + "▁réel", + -12.374759674072266 + ], + [ + "▁Ful", + -12.37476921081543 + ], + [ + "limiting", + -12.37483024597168 + ], + [ + "▁Gan", + -12.374870300292969 + ], + [ + "▁exclude", + -12.37490463256836 + ], + [ + "imba", + -12.374974250793457 + ], + [ + "rolul", + -12.374991416931152 + ], + [ + "▁veggies", + -12.375059127807617 + ], + [ + "▁fasci", + -12.375092506408691 + ], + [ + "▁oval", + -12.375173568725586 + ], + [ + "▁contacter", + -12.375221252441406 + ], + [ + "▁linking", + -12.375279426574707 + ], + [ + "▁knit", + -12.375308990478516 + ], + [ + "▁enroll", + -12.375504493713379 + ], + [ + "▁dédié", + -12.375533103942871 + ], + [ + "▁renting", + -12.375541687011719 + ], + [ + "▁genera", + -12.37567138671875 + ], + [ + "citing", + -12.375691413879395 + ], + [ + "▁bend", + -12.375700950622559 + ], + [ + "guin", + -12.375752449035645 + ], + [ + "▁caregiver", + -12.375768661499023 + ], + [ + "▁könnt", + -12.375791549682617 + ], + [ + "▁Scripture", + -12.375795364379883 + ], + [ + "▁Mic", + -12.375899314880371 + ], + [ + "▁Denmark", + -12.37590217590332 + ], + [ + "▁qualifying", + -12.375917434692383 + ], + [ + "▁costumes", + -12.375958442687988 + ], + [ + "▁dwelling", + -12.37601375579834 + ], + [ + "▁recrut", + -12.376099586486816 + ], + [ + "▁bedding", + -12.37618637084961 + ], + [ + "gesprochen", + -12.376253128051758 + ], + [ + "▁editors", + -12.376386642456055 + ], + [ + "/12", + -12.37657642364502 + ], + [ + "▁cumparat", + -12.376583099365234 + ], + [ + "fiction", + -12.376730918884277 + ], + [ + "▁spinal", + -12.376740455627441 + ], + [ + "▁pathway", + -12.376799583435059 + ], + [ + "▁vârst", + -12.37683391571045 + ], + [ + "mba", + -12.376874923706055 + ], + [ + "▁enthusiastic", + -12.37692642211914 + ], + [ + "▁Watt", + -12.37697982788086 + ], + [ + "symptom", + -12.376992225646973 + ], + [ + "▁pup", + -12.37712287902832 + ], + [ + "▁glorious", + -12.377225875854492 + ], + [ + "▁fața", + -12.377228736877441 + ], + [ + "▁prohibited", + -12.377256393432617 + ], + [ + "vergleich", + -12.377286911010742 + ], + [ + "▁suspected", + -12.377334594726562 + ], + [ + "▁Railway", + -12.377381324768066 + ], + [ + "▁Aujourd", + -12.377469062805176 + ], + [ + "▁Patients", + -12.377476692199707 + ], + [ + "▁séance", + -12.377501487731934 + ], + [ + "▁contraire", + -12.377503395080566 + ], + [ + "▁cuvânt", + -12.37771224975586 + ], + [ + "▁trotzdem", + -12.37773609161377 + ], + [ + "émission", + -12.377795219421387 + ], + [ + "▁bore", + -12.37782096862793 + ], + [ + "▁safeguard", + -12.377851486206055 + ], + [ + "▁galleries", + -12.37820053100586 + ], + [ + "cron", + -12.378268241882324 + ], + [ + "▁Rica", + -12.378335952758789 + ], + [ + "fläche", + -12.37839126586914 + ], + [ + "▁Slow", + -12.37842082977295 + ], + [ + "▁vara", + -12.378549575805664 + ], + [ + "▁Swan", + -12.378564834594727 + ], + [ + "▁compounds", + -12.378564834594727 + ], + [ + "▁Slo", + -12.378621101379395 + ], + [ + "▁accommodations", + -12.378621101379395 + ], + [ + "▁Putin", + -12.378708839416504 + ], + [ + "▁undertaken", + -12.378767967224121 + ], + [ + "▁prépar", + -12.37879467010498 + ], + [ + "▁gandi", + -12.37881088256836 + ], + [ + "sediul", + -12.378924369812012 + ], + [ + "▁Nathan", + -12.379143714904785 + ], + [ + "▁fountain", + -12.379173278808594 + ], + [ + "▁mère", + -12.379194259643555 + ], + [ + "fatty", + -12.379201889038086 + ], + [ + "▁concentrated", + -12.379241943359375 + ], + [ + "richtung", + -12.379300117492676 + ], + [ + "▁appropriately", + -12.37955379486084 + ], + [ + "107", + -12.379631996154785 + ], + [ + "▁shark", + -12.379735946655273 + ], + [ + "▁Topic", + -12.379867553710938 + ], + [ + "▁Ausstellung", + -12.379880905151367 + ], + [ + "▁SUA", + -12.380267143249512 + ], + [ + "SER", + -12.380359649658203 + ], + [ + "▁Nicole", + -12.38039779663086 + ], + [ + "▁utilisateurs", + -12.380620956420898 + ], + [ + "▁Brazilian", + -12.380753517150879 + ], + [ + "▁continut", + -12.380865097045898 + ], + [ + "▁sanatate", + -12.380881309509277 + ], + [ + "faudra", + -12.380882263183594 + ], + [ + "nahm", + -12.380938529968262 + ], + [ + "▁Specific", + -12.381153106689453 + ], + [ + "aiba", + -12.381199836730957 + ], + [ + "cepând", + -12.381296157836914 + ], + [ + "▁Beer", + -12.381366729736328 + ], + [ + "roni", + -12.381616592407227 + ], + [ + "kay", + -12.381636619567871 + ], + [ + "▁gravity", + -12.381844520568848 + ], + [ + "▁verfügt", + -12.381856918334961 + ], + [ + "7:30", + -12.381878852844238 + ], + [ + "▁Players", + -12.381945610046387 + ], + [ + "▁Industries", + -12.38198184967041 + ], + [ + "punkte", + -12.382119178771973 + ], + [ + "▁yacht", + -12.382135391235352 + ], + [ + "-04", + -12.382149696350098 + ], + [ + "onné", + -12.382192611694336 + ], + [ + "▁Cards", + -12.382221221923828 + ], + [ + "▁fete", + -12.382420539855957 + ], + [ + "breaking", + -12.38257884979248 + ], + [ + "baum", + -12.382621765136719 + ], + [ + "nada", + -12.382651329040527 + ], + [ + "▁geplant", + -12.382750511169434 + ], + [ + "genuinely", + -12.382766723632812 + ], + [ + "talk", + -12.382871627807617 + ], + [ + "▁disadvantage", + -12.382920265197754 + ], + [ + "▁shutter", + -12.383003234863281 + ], + [ + "virus", + -12.38302230834961 + ], + [ + "▁cricket", + -12.38308048248291 + ], + [ + "▁comenzi", + -12.383102416992188 + ], + [ + "hier", + -12.383170127868652 + ], + [ + "▁aufzu", + -12.383198738098145 + ], + [ + "▁Rez", + -12.38321304321289 + ], + [ + "▁conclusions", + -12.383329391479492 + ], + [ + "▁Wang", + -12.383509635925293 + ], + [ + "Darüber", + -12.383524894714355 + ], + [ + "▁CSS", + -12.383573532104492 + ], + [ + "CW", + -12.383780479431152 + ], + [ + "▁Chr", + -12.383790969848633 + ], + [ + "▁traded", + -12.383843421936035 + ], + [ + "▁Schon", + -12.384265899658203 + ], + [ + "mped", + -12.38429069519043 + ], + [ + "▁alloy", + -12.384385108947754 + ], + [ + "AVE", + -12.38451099395752 + ], + [ + "▁imagery", + -12.384542465209961 + ], + [ + "▁resurse", + -12.38479995727539 + ], + [ + "▁Thunder", + -12.384834289550781 + ], + [ + "▁schimbare", + -12.384860038757324 + ], + [ + "▁Youtube", + -12.38499927520752 + ], + [ + "▁Monster", + -12.385189056396484 + ], + [ + "phil", + -12.385234832763672 + ], + [ + "▁bébé", + -12.385284423828125 + ], + [ + "Creating", + -12.385428428649902 + ], + [ + "ănă", + -12.385466575622559 + ], + [ + "▁Staat", + -12.385504722595215 + ], + [ + "adică", + -12.385531425476074 + ], + [ + "▁boyfriend", + -12.385552406311035 + ], + [ + "▁Winner", + -12.385594367980957 + ], + [ + "▁disputes", + -12.385653495788574 + ], + [ + "▁lush", + -12.3856840133667 + ], + [ + "▁CMS", + -12.385719299316406 + ], + [ + "▁locaux", + -12.385725021362305 + ], + [ + "▁Verfahren", + -12.38576889038086 + ], + [ + "▁Café", + -12.385786056518555 + ], + [ + "▁Vorstand", + -12.385870933532715 + ], + [ + "▁lucrat", + -12.385960578918457 + ], + [ + "▁Root", + -12.38602352142334 + ], + [ + "▁decis", + -12.386059761047363 + ], + [ + "▁Shadow", + -12.386062622070312 + ], + [ + "▁countryside", + -12.386067390441895 + ], + [ + "▁analiza", + -12.386114120483398 + ], + [ + "obos", + -12.38616943359375 + ], + [ + "opera", + -12.386175155639648 + ], + [ + "actu", + -12.386207580566406 + ], + [ + "▁Songs", + -12.3864164352417 + ], + [ + "reifen", + -12.38648509979248 + ], + [ + "▁hilft", + -12.386650085449219 + ], + [ + "region", + -12.386727333068848 + ], + [ + "▁categoria", + -12.387001991271973 + ], + [ + "capturing", + -12.38701343536377 + ], + [ + "▁1967", + -12.387025833129883 + ], + [ + "▁optimized", + -12.387032508850098 + ], + [ + "▁Dim", + -12.387353897094727 + ], + [ + "▁adapté", + -12.387447357177734 + ], + [ + "zeichnet", + -12.387524604797363 + ], + [ + "▁strada", + -12.387625694274902 + ], + [ + "fulness", + -12.38774585723877 + ], + [ + "▁technically", + -12.38774585723877 + ], + [ + "▁marker", + -12.387757301330566 + ], + [ + "▁vizita", + -12.387808799743652 + ], + [ + "▁imperative", + -12.387986183166504 + ], + [ + "▁pensé", + -12.38802719116211 + ], + [ + "▁drilling", + -12.388030052185059 + ], + [ + "ISA", + -12.38818073272705 + ], + [ + "▁Massage", + -12.388201713562012 + ], + [ + "▁Terry", + -12.388238906860352 + ], + [ + "▁pourtant", + -12.38835334777832 + ], + [ + "▁declaration", + -12.388440132141113 + ], + [ + "▁instructors", + -12.388453483581543 + ], + [ + "Eventually", + -12.38847827911377 + ], + [ + "▁banned", + -12.38847827911377 + ], + [ + "MAT", + -12.388520240783691 + ], + [ + "▁medici", + -12.38856315612793 + ], + [ + "▁Warm", + -12.388615608215332 + ], + [ + "▁trec", + -12.388731002807617 + ], + [ + "▁ecran", + -12.388763427734375 + ], + [ + "▁goat", + -12.388838768005371 + ], + [ + "▁manipulation", + -12.388850212097168 + ], + [ + "▁mayor", + -12.388898849487305 + ], + [ + "▁unterwegs", + -12.388975143432617 + ], + [ + "▁journals", + -12.3890380859375 + ], + [ + "▁hedge", + -12.389239311218262 + ], + [ + "Merc", + -12.389300346374512 + ], + [ + "▁joueurs", + -12.389411926269531 + ], + [ + "▁Religion", + -12.3894624710083 + ], + [ + "▁Mountains", + -12.389477729797363 + ], + [ + "▁renewed", + -12.389497756958008 + ], + [ + "▁Limit", + -12.389543533325195 + ], + [ + "ikea", + -12.389771461486816 + ], + [ + "▁utiliza", + -12.38977336883545 + ], + [ + "sogenannte", + -12.389808654785156 + ], + [ + "0.2", + -12.389836311340332 + ], + [ + "▁Organ", + -12.38987922668457 + ], + [ + "▁Shakespeare", + -12.389952659606934 + ], + [ + "▁Maintenance", + -12.38995361328125 + ], + [ + "▁Wärme", + -12.389954566955566 + ], + [ + "▁Northwest", + -12.390060424804688 + ], + [ + "▁numit", + -12.390106201171875 + ], + [ + "▁mica", + -12.390165328979492 + ], + [ + "turm", + -12.390168190002441 + ], + [ + "▁motivate", + -12.390250205993652 + ], + [ + "▁Staats", + -12.390355110168457 + ], + [ + "optimum", + -12.390487670898438 + ], + [ + "▁sortir", + -12.390546798706055 + ], + [ + "▁Asset", + -12.390555381774902 + ], + [ + "▁hervorragend", + -12.390692710876465 + ], + [ + "▁commentary", + -12.39071273803711 + ], + [ + "▁actuellement", + -12.390732765197754 + ], + [ + "NER", + -12.390765190124512 + ], + [ + "NL", + -12.390789985656738 + ], + [ + "ritt", + -12.390803337097168 + ], + [ + "▁Wirtschafts", + -12.390813827514648 + ], + [ + "träger", + -12.390840530395508 + ], + [ + "▁Versand", + -12.390870094299316 + ], + [ + "▁nostri", + -12.390953063964844 + ], + [ + "▁enorm", + -12.391227722167969 + ], + [ + "▁whale", + -12.391260147094727 + ], + [ + "▁Aufgabe", + -12.391277313232422 + ], + [ + "▁unfair", + -12.391291618347168 + ], + [ + "▁Cord", + -12.391315460205078 + ], + [ + "incorporating", + -12.39134693145752 + ], + [ + "luck", + -12.39157772064209 + ], + [ + "Afrique", + -12.39168643951416 + ], + [ + "▁coated", + -12.391857147216797 + ], + [ + "▁india", + -12.391908645629883 + ], + [ + "▁temporarily", + -12.39193058013916 + ], + [ + "▁ciuda", + -12.392097473144531 + ], + [ + "▁coral", + -12.392184257507324 + ], + [ + "▁wirkt", + -12.392203330993652 + ], + [ + "▁folding", + -12.392309188842773 + ], + [ + "wichtigsten", + -12.392398834228516 + ], + [ + "impacted", + -12.392422676086426 + ], + [ + "▁wählen", + -12.392423629760742 + ], + [ + "▁differentiate", + -12.392492294311523 + ], + [ + "▁froid", + -12.392544746398926 + ], + [ + "▁hug", + -12.39255142211914 + ], + [ + "▁construi", + -12.39255428314209 + ], + [ + "▁membru", + -12.392603874206543 + ], + [ + "▁masculin", + -12.392667770385742 + ], + [ + "partisan", + -12.392711639404297 + ], + [ + "▁schimba", + -12.392725944519043 + ], + [ + "▁economies", + -12.392827987670898 + ], + [ + "▁Abraham", + -12.392914772033691 + ], + [ + "wesen", + -12.393013954162598 + ], + [ + "enia", + -12.393026351928711 + ], + [ + "▁answering", + -12.393080711364746 + ], + [ + "▁activități", + -12.39309024810791 + ], + [ + "▁mémoire", + -12.393160820007324 + ], + [ + "▁versucht", + -12.393305778503418 + ], + [ + "ember", + -12.39333438873291 + ], + [ + "▁instala", + -12.39334774017334 + ], + [ + "▁eligibility", + -12.393407821655273 + ], + [ + "▁enjoyment", + -12.393409729003906 + ], + [ + "▁Arme", + -12.39350414276123 + ], + [ + "although", + -12.393534660339355 + ], + [ + "▁encompass", + -12.393596649169922 + ], + [ + "▁zufrieden", + -12.393658638000488 + ], + [ + "Script", + -12.393691062927246 + ], + [ + "KG", + -12.39385986328125 + ], + [ + "▁adhesive", + -12.393902778625488 + ], + [ + "▁Verkehrs", + -12.393908500671387 + ], + [ + "▁monitored", + -12.394103050231934 + ], + [ + "▁Conservation", + -12.394148826599121 + ], + [ + "hav", + -12.394156455993652 + ], + [ + "▁Above", + -12.394174575805664 + ], + [ + "▁Former", + -12.394241333007812 + ], + [ + "▁Certain", + -12.394250869750977 + ], + [ + "saving", + -12.394311904907227 + ], + [ + "▁Pun", + -12.394390106201172 + ], + [ + "▁awkward", + -12.394397735595703 + ], + [ + "▁Pretty", + -12.394410133361816 + ], + [ + "▁scanning", + -12.394417762756348 + ], + [ + "layer", + -12.394527435302734 + ], + [ + "motor", + -12.39453125 + ], + [ + "▁beginnt", + -12.39455795288086 + ], + [ + "▁affiliated", + -12.394681930541992 + ], + [ + "▁archives", + -12.394686698913574 + ], + [ + "▁sunshine", + -12.394892692565918 + ], + [ + "kha", + -12.394988059997559 + ], + [ + "▁investigated", + -12.395149230957031 + ], + [ + "▁fantas", + -12.395277976989746 + ], + [ + "▁united", + -12.395355224609375 + ], + [ + "allegedly", + -12.395373344421387 + ], + [ + "▁Eugen", + -12.3955078125 + ], + [ + "▁proprie", + -12.395843505859375 + ], + [ + "uca", + -12.396183013916016 + ], + [ + "DES", + -12.396187782287598 + ], + [ + "ştii", + -12.396190643310547 + ], + [ + "▁Running", + -12.39620590209961 + ], + [ + "lbstverständlich", + -12.396248817443848 + ], + [ + "index", + -12.396300315856934 + ], + [ + "▁studiu", + -12.396512031555176 + ], + [ + "URE", + -12.396553039550781 + ], + [ + "gültig", + -12.396627426147461 + ], + [ + "▁lundi", + -12.396649360656738 + ], + [ + "▁Zucker", + -12.396650314331055 + ], + [ + "▁positively", + -12.396721839904785 + ], + [ + "folgenden", + -12.396758079528809 + ], + [ + "anță", + -12.396800994873047 + ], + [ + "▁clan", + -12.396866798400879 + ], + [ + "▁literacy", + -12.396879196166992 + ], + [ + "▁ober", + -12.39699935913086 + ], + [ + "John", + -12.397003173828125 + ], + [ + "greg", + -12.39700984954834 + ], + [ + "▁titlu", + -12.397049903869629 + ], + [ + "▁ţări", + -12.39707088470459 + ], + [ + "Bra", + -12.397100448608398 + ], + [ + "▁Evans", + -12.397164344787598 + ], + [ + "modern", + -12.397172927856445 + ], + [ + "▁hauteur", + -12.397353172302246 + ], + [ + "refers", + -12.397416114807129 + ], + [ + "▁plasma", + -12.397575378417969 + ], + [ + "▁optic", + -12.397595405578613 + ], + [ + "▁shampoo", + -12.397619247436523 + ], + [ + "▁cheek", + -12.397727966308594 + ], + [ + "opted", + -12.397741317749023 + ], + [ + "▁persönlich", + -12.397832870483398 + ], + [ + "▁1945", + -12.398118019104004 + ], + [ + "ICI", + -12.398193359375 + ], + [ + "biotic", + -12.398222923278809 + ], + [ + "▁Beruf", + -12.398372650146484 + ], + [ + "▁trez", + -12.398383140563965 + ], + [ + "▁diploma", + -12.398388862609863 + ], + [ + "nahmen", + -12.398421287536621 + ], + [ + "▁curl", + -12.398625373840332 + ], + [ + "▁agricole", + -12.398824691772461 + ], + [ + "▁recomand", + -12.398844718933105 + ], + [ + "▁pediatric", + -12.398862838745117 + ], + [ + "Fiecare", + -12.39887523651123 + ], + [ + "Anlage", + -12.398906707763672 + ], + [ + "weiß", + -12.398974418640137 + ], + [ + "elecommunication", + -12.39898681640625 + ], + [ + "hog", + -12.399184226989746 + ], + [ + "▁Stamp", + -12.399364471435547 + ], + [ + "▁Tipp", + -12.399369239807129 + ], + [ + "▁kindness", + -12.399415969848633 + ], + [ + "▁Marina", + -12.399577140808105 + ], + [ + "▁Gleich", + -12.39963436126709 + ], + [ + "▁grij", + -12.39970588684082 + ], + [ + "▁desperate", + -12.39974594116211 + ], + [ + "▁recordings", + -12.399842262268066 + ], + [ + "▁neglect", + -12.399861335754395 + ], + [ + "▁inherent", + -12.400035858154297 + ], + [ + "▁Rezept", + -12.400138854980469 + ], + [ + "▁soins", + -12.400164604187012 + ], + [ + "▁brut", + -12.400250434875488 + ], + [ + "▁revolutionary", + -12.400495529174805 + ], + [ + "▁liberté", + -12.400530815124512 + ], + [ + "cours", + -12.400945663452148 + ], + [ + "▁Similar", + -12.401247024536133 + ], + [ + "▁cheveux", + -12.40136432647705 + ], + [ + "▁ieftin", + -12.401599884033203 + ], + [ + "▁promovare", + -12.40160846710205 + ], + [ + "▁grains", + -12.401729583740234 + ], + [ + "ти", + -12.401749610900879 + ], + [ + "▁fonctionnement", + -12.401789665222168 + ], + [ + "▁Coming", + -12.401832580566406 + ], + [ + "▁analytical", + -12.401847839355469 + ], + [ + "▁simplify", + -12.401856422424316 + ], + [ + "▁chambres", + -12.401893615722656 + ], + [ + "▁fifty", + -12.401930809020996 + ], + [ + "jour", + -12.402070999145508 + ], + [ + "▁(17", + -12.402194023132324 + ], + [ + "cărui", + -12.402292251586914 + ], + [ + "▁harmony", + -12.402352333068848 + ], + [ + "grin", + -12.402355194091797 + ], + [ + "▁drunk", + -12.402359962463379 + ], + [ + "260", + -12.402374267578125 + ], + [ + "3-5", + -12.40243148803711 + ], + [ + "▁articole", + -12.402442932128906 + ], + [ + "▁flooding", + -12.402482986450195 + ], + [ + "halle", + -12.402580261230469 + ], + [ + "▁defects", + -12.40276050567627 + ], + [ + "▁rifle", + -12.402839660644531 + ], + [ + "▁Boc", + -12.402843475341797 + ], + [ + "▁Athletic", + -12.40284538269043 + ], + [ + "▁acordat", + -12.40292739868164 + ], + [ + "AIR", + -12.402969360351562 + ], + [ + "▁entwickeln", + -12.403104782104492 + ], + [ + "▁Advance", + -12.403188705444336 + ], + [ + "▁Heil", + -12.403216361999512 + ], + [ + "Stainless", + -12.403345108032227 + ], + [ + "▁Psychology", + -12.40337085723877 + ], + [ + "▁omul", + -12.403435707092285 + ], + [ + "▁Arbeiten", + -12.403494834899902 + ], + [ + "▁rabbit", + -12.403495788574219 + ], + [ + "▁méta", + -12.40351390838623 + ], + [ + "ismul", + -12.403534889221191 + ], + [ + "▁Herausforderung", + -12.403594970703125 + ], + [ + "▁Euch", + -12.403654098510742 + ], + [ + "geschichte", + -12.40390682220459 + ], + [ + "▁Milk", + -12.404057502746582 + ], + [ + "▁pregăt", + -12.404065132141113 + ], + [ + "▁Standort", + -12.404141426086426 + ], + [ + "Val", + -12.404180526733398 + ], + [ + "▁Ronald", + -12.404350280761719 + ], + [ + "▁Werbe", + -12.404558181762695 + ], + [ + "▁restrict", + -12.404658317565918 + ], + [ + "▁tablespoon", + -12.404844284057617 + ], + [ + "▁Amendment", + -12.404845237731934 + ], + [ + "▁Johnny", + -12.404914855957031 + ], + [ + "▁lively", + -12.404938697814941 + ], + [ + "ORD", + -12.405147552490234 + ], + [ + "▁mulţi", + -12.40523624420166 + ], + [ + "èrent", + -12.405241012573242 + ], + [ + "Every", + -12.405277252197266 + ], + [ + "eignet", + -12.405296325683594 + ], + [ + "GD", + -12.40546989440918 + ], + [ + "▁Ghana", + -12.405628204345703 + ], + [ + "▁wealthy", + -12.40576171875 + ], + [ + "▁advocates", + -12.405818939208984 + ], + [ + "▁Campaign", + -12.40584659576416 + ], + [ + "▁posters", + -12.405964851379395 + ], + [ + "flug", + -12.406011581420898 + ], + [ + "▁métier", + -12.406139373779297 + ], + [ + "kir", + -12.406148910522461 + ], + [ + "bond", + -12.406176567077637 + ], + [ + "datorita", + -12.406188011169434 + ], + [ + "▁Hochzeit", + -12.406230926513672 + ], + [ + "▁effectué", + -12.406271934509277 + ], + [ + "▁angles", + -12.40654182434082 + ], + [ + "▁Electrical", + -12.406705856323242 + ], + [ + "▁Administrator", + -12.40674114227295 + ], + [ + "▁spur", + -12.407389640808105 + ], + [ + "▁größere", + -12.407444953918457 + ], + [ + "woke", + -12.407515525817871 + ], + [ + "▁gewinnen", + -12.407689094543457 + ], + [ + "▁ajută", + -12.407712936401367 + ], + [ + "▁ventilation", + -12.407853126525879 + ], + [ + "▁viaţa", + -12.407853126525879 + ], + [ + "▁Dinner", + -12.408079147338867 + ], + [ + "respond", + -12.408095359802246 + ], + [ + "▁OEM", + -12.408120155334473 + ], + [ + "▁affair", + -12.4081392288208 + ], + [ + "▁öffentlich", + -12.408143043518066 + ], + [ + "ENS", + -12.408209800720215 + ], + [ + "▁Cent", + -12.408224105834961 + ], + [ + "▁făc", + -12.408267974853516 + ], + [ + "▁Doppel", + -12.408285140991211 + ], + [ + "▁fericit", + -12.408363342285156 + ], + [ + "▁coordon", + -12.40845775604248 + ], + [ + "geht", + -12.408547401428223 + ], + [ + "▁perfekte", + -12.408610343933105 + ], + [ + "▁sportive", + -12.408700942993164 + ], + [ + "▁proiectul", + -12.40870189666748 + ], + [ + "▁deadly", + -12.408804893493652 + ], + [ + "Geschäft", + -12.408822059631348 + ], + [ + "▁inspirational", + -12.408854484558105 + ], + [ + "+1", + -12.409013748168945 + ], + [ + "▁pearl", + -12.409022331237793 + ], + [ + "▁scrub", + -12.409036636352539 + ], + [ + "▁scheint", + -12.409079551696777 + ], + [ + "poo", + -12.409147262573242 + ], + [ + "▁Pier", + -12.409220695495605 + ], + [ + "▁commented", + -12.409285545349121 + ], + [ + "lute", + -12.409302711486816 + ], + [ + "▁cancelled", + -12.409488677978516 + ], + [ + "Win", + -12.409605979919434 + ], + [ + "▁payroll", + -12.409781455993652 + ], + [ + "▁varsta", + -12.409881591796875 + ], + [ + "stuffed", + -12.410097122192383 + ], + [ + "▁beads", + -12.410138130187988 + ], + [ + "▁poems", + -12.410356521606445 + ], + [ + "pokesman", + -12.410399436950684 + ], + [ + "▁checklist", + -12.410523414611816 + ], + [ + "▁Mich", + -12.410636901855469 + ], + [ + "GEN", + -12.410676002502441 + ], + [ + "▁Lau", + -12.410783767700195 + ], + [ + "▁stie", + -12.410965919494629 + ], + [ + "▁Lovely", + -12.4110107421875 + ], + [ + "▁Anschluss", + -12.411062240600586 + ], + [ + "▁personaj", + -12.41108226776123 + ], + [ + "▁ausgestattet", + -12.411121368408203 + ], + [ + "▁beginners", + -12.411163330078125 + ], + [ + "▁noon", + -12.411189079284668 + ], + [ + "▁celule", + -12.41128921508789 + ], + [ + "Trans", + -12.411324501037598 + ], + [ + "boot", + -12.411331176757812 + ], + [ + "▁drumul", + -12.41136646270752 + ], + [ + "gruppen", + -12.41140079498291 + ], + [ + "étend", + -12.41140365600586 + ], + [ + "▁risques", + -12.411405563354492 + ], + [ + "acclaimed", + -12.411447525024414 + ], + [ + "▁celelalte", + -12.411617279052734 + ], + [ + "▁condiţii", + -12.411620140075684 + ], + [ + "▁skiing", + -12.411685943603516 + ], + [ + "▁optimale", + -12.411689758300781 + ], + [ + "technology", + -12.411773681640625 + ], + [ + "▁renew", + -12.411784172058105 + ], + [ + "Cloud", + -12.41179084777832 + ], + [ + "▁damaging", + -12.411905288696289 + ], + [ + "GT", + -12.412219047546387 + ], + [ + "▁Reform", + -12.41230583190918 + ], + [ + "vedem", + -12.412349700927734 + ], + [ + "▁indicat", + -12.412461280822754 + ], + [ + "▁Maker", + -12.412467002868652 + ], + [ + "▁lichid", + -12.412582397460938 + ], + [ + "3.1", + -12.412614822387695 + ], + [ + "păt", + -12.412620544433594 + ], + [ + "lumina", + -12.41264820098877 + ], + [ + "▁Situ", + -12.412806510925293 + ], + [ + "▁Archives", + -12.412857055664062 + ], + [ + "▁allergies", + -12.41287899017334 + ], + [ + "▁Cameron", + -12.412883758544922 + ], + [ + "▁Immun", + -12.412899017333984 + ], + [ + "wissenschaftlich", + -12.41301441192627 + ], + [ + "▁supplémentaire", + -12.413128852844238 + ], + [ + "▁puterea", + -12.413261413574219 + ], + [ + "Lab", + -12.413331985473633 + ], + [ + "inspired", + -12.413384437561035 + ], + [ + "▁shrink", + -12.413403511047363 + ], + [ + "▁voit", + -12.413426399230957 + ], + [ + "▁chopped", + -12.413467407226562 + ], + [ + "▁Franz", + -12.413537979125977 + ], + [ + "oku", + -12.413652420043945 + ], + [ + "▁suppress", + -12.413673400878906 + ], + [ + "▁impress", + -12.413751602172852 + ], + [ + "▁Liga", + -12.413755416870117 + ], + [ + "▁Eight", + -12.41378402709961 + ], + [ + "720", + -12.413795471191406 + ], + [ + "▁securely", + -12.413870811462402 + ], + [ + "KU", + -12.413934707641602 + ], + [ + "modell", + -12.413992881774902 + ], + [ + "Ensure", + -12.414154052734375 + ], + [ + "größte", + -12.414204597473145 + ], + [ + "▁réuni", + -12.414215087890625 + ], + [ + "▁Internal", + -12.41423225402832 + ], + [ + "▁Punkte", + -12.414320945739746 + ], + [ + "▁replicate", + -12.414412498474121 + ], + [ + "▁spreadsheet", + -12.414434432983398 + ], + [ + "▁Hindu", + -12.414549827575684 + ], + [ + "▁Cham", + -12.414578437805176 + ], + [ + "nati", + -12.414670944213867 + ], + [ + "imply", + -12.414679527282715 + ], + [ + "funded", + -12.414894104003906 + ], + [ + "▁charitable", + -12.414896011352539 + ], + [ + "▁imagined", + -12.415014266967773 + ], + [ + "hausen", + -12.41517448425293 + ], + [ + "Keeping", + -12.415239334106445 + ], + [ + "▁attitudes", + -12.415287971496582 + ], + [ + "esque", + -12.415365219116211 + ], + [ + "▁Tennis", + -12.415409088134766 + ], + [ + "Jeremy", + -12.415410041809082 + ], + [ + "▁majeur", + -12.415475845336914 + ], + [ + "▁stii", + -12.4155912399292 + ], + [ + "▁herbal", + -12.415790557861328 + ], + [ + "▁cauta", + -12.41580867767334 + ], + [ + "▁voluntary", + -12.415828704833984 + ], + [ + "wohl", + -12.415877342224121 + ], + [ + "▁ideea", + -12.41588306427002 + ], + [ + "▁WW", + -12.415899276733398 + ], + [ + "▁erneut", + -12.416010856628418 + ], + [ + "größten", + -12.416094779968262 + ], + [ + "Grâce", + -12.416159629821777 + ], + [ + "▁Köln", + -12.416193008422852 + ], + [ + "▁mobilier", + -12.416199684143066 + ], + [ + "▁fool", + -12.416254043579102 + ], + [ + "▁Calcul", + -12.416295051574707 + ], + [ + "attaque", + -12.41637897491455 + ], + [ + "▁digestive", + -12.41656494140625 + ], + [ + "performance", + -12.416647911071777 + ], + [ + "▁homeowner", + -12.41675853729248 + ], + [ + "▁hunger", + -12.4169282913208 + ], + [ + "2.3", + -12.41696834564209 + ], + [ + "▁Sort", + -12.417085647583008 + ], + [ + "▁Dennis", + -12.41723918914795 + ], + [ + "▁certificat", + -12.417250633239746 + ], + [ + "▁Canal", + -12.417337417602539 + ], + [ + "▁Yesterday", + -12.417424201965332 + ], + [ + "▁sausage", + -12.417499542236328 + ], + [ + "▁perdu", + -12.417736053466797 + ], + [ + "ösen", + -12.417741775512695 + ], + [ + "▁preserved", + -12.417750358581543 + ], + [ + "▁trendy", + -12.4177885055542 + ], + [ + "▁iubire", + -12.417935371398926 + ], + [ + "▁grandfather", + -12.417961120605469 + ], + [ + "▁shoppers", + -12.41820240020752 + ], + [ + "▁verschieden", + -12.418252944946289 + ], + [ + "▁gagner", + -12.41826343536377 + ], + [ + "▁lucra", + -12.418437004089355 + ], + [ + "metru", + -12.418464660644531 + ], + [ + "buz", + -12.418469429016113 + ], + [ + "▁flourish", + -12.418484687805176 + ], + [ + "affin", + -12.418523788452148 + ], + [ + "▁Pflanzen", + -12.41858196258545 + ], + [ + "agh", + -12.418588638305664 + ], + [ + "▁Gill", + -12.418660163879395 + ], + [ + "▁Kä", + -12.418671607971191 + ], + [ + "▁Wege", + -12.41876220703125 + ], + [ + "▁Liberal", + -12.418929100036621 + ], + [ + "▁Glasgow", + -12.418944358825684 + ], + [ + "Objekt", + -12.4189453125 + ], + [ + "▁Huawei", + -12.4189453125 + ], + [ + "appropri", + -12.418986320495605 + ], + [ + "▁genius", + -12.419037818908691 + ], + [ + "▁brokers", + -12.419068336486816 + ], + [ + "▁themed", + -12.41918659210205 + ], + [ + "▁barre", + -12.419210433959961 + ], + [ + "1.7", + -12.419219017028809 + ], + [ + "▁Electro", + -12.419303894042969 + ], + [ + "▁umbrella", + -12.419333457946777 + ], + [ + "▁advisory", + -12.419417381286621 + ], + [ + "▁comport", + -12.419421195983887 + ], + [ + "▁neuer", + -12.419452667236328 + ], + [ + "▁Wick", + -12.419568061828613 + ], + [ + "wak", + -12.419618606567383 + ], + [ + "▁Woman", + -12.419695854187012 + ], + [ + "▁lesser", + -12.419843673706055 + ], + [ + "▁replied", + -12.419987678527832 + ], + [ + "▁représente", + -12.420050621032715 + ], + [ + "▁thé", + -12.420135498046875 + ], + [ + "Deutsch", + -12.420428276062012 + ], + [ + "Cat", + -12.420483589172363 + ], + [ + "▁équipes", + -12.420534133911133 + ], + [ + "▁spider", + -12.420578956604004 + ], + [ + "▁Gaming", + -12.420589447021484 + ], + [ + "▁Liste", + -12.420592308044434 + ], + [ + "▁affection", + -12.420639038085938 + ], + [ + "lipsa", + -12.420982360839844 + ], + [ + "▁Spider", + -12.420987129211426 + ], + [ + "▁Julia", + -12.421034812927246 + ], + [ + "anlagen", + -12.421159744262695 + ], + [ + "Kon", + -12.421363830566406 + ], + [ + "nței", + -12.421368598937988 + ], + [ + "▁Verwaltung", + -12.421483993530273 + ], + [ + "▁raspuns", + -12.421489715576172 + ], + [ + "samt", + -12.421491622924805 + ], + [ + "▁creștere", + -12.421512603759766 + ], + [ + "▁decorate", + -12.421701431274414 + ], + [ + "▁Chain", + -12.422021865844727 + ], + [ + "ów", + -12.422050476074219 + ], + [ + "0-0", + -12.422104835510254 + ], + [ + "▁Cran", + -12.422407150268555 + ], + [ + "▁streak", + -12.42242431640625 + ], + [ + "ор", + -12.422517776489258 + ], + [ + "▁căuta", + -12.422754287719727 + ], + [ + "wende", + -12.422801971435547 + ], + [ + "▁haine", + -12.42280387878418 + ], + [ + "▁landscaping", + -12.423009872436523 + ], + [ + "▁historian", + -12.423016548156738 + ], + [ + "▁grandchildren", + -12.423033714294434 + ], + [ + "▁crawl", + -12.423056602478027 + ], + [ + "▁Cub", + -12.423239707946777 + ], + [ + "▁nécessaires", + -12.423515319824219 + ], + [ + "▁swift", + -12.42352294921875 + ], + [ + "▁calculation", + -12.423656463623047 + ], + [ + "▁acteurs", + -12.423715591430664 + ], + [ + "VT", + -12.423752784729004 + ], + [ + "▁Hristos", + -12.423778533935547 + ], + [ + "▁slices", + -12.423850059509277 + ], + [ + "See", + -12.424203872680664 + ], + [ + "▁Bran", + -12.424233436584473 + ], + [ + "Symbol", + -12.424449920654297 + ], + [ + "▁allowance", + -12.424492835998535 + ], + [ + "▁Effective", + -12.424537658691406 + ], + [ + "▁Wünsche", + -12.424539566040039 + ], + [ + "▁shiny", + -12.424569129943848 + ], + [ + "▁professionalism", + -12.424715995788574 + ], + [ + "/6", + -12.424970626831055 + ], + [ + "▁terrasse", + -12.425087928771973 + ], + [ + "▁researcher", + -12.425156593322754 + ], + [ + "▁fragile", + -12.425203323364258 + ], + [ + "▁greeting", + -12.425274848937988 + ], + [ + "freien", + -12.4253511428833 + ], + [ + "▁valuation", + -12.425372123718262 + ], + [ + "▁incur", + -12.425386428833008 + ], + [ + "▁Zwischen", + -12.425559997558594 + ], + [ + "▁comfy", + -12.425569534301758 + ], + [ + "▁méthode", + -12.42569351196289 + ], + [ + "▁Pirate", + -12.425816535949707 + ], + [ + "▁Moto", + -12.425822257995605 + ], + [ + "(6)", + -12.425823211669922 + ], + [ + "▁devin", + -12.42582893371582 + ], + [ + "▁civic", + -12.425837516784668 + ], + [ + "usage", + -12.425889015197754 + ], + [ + "▁istorie", + -12.425945281982422 + ], + [ + "▁piste", + -12.425955772399902 + ], + [ + "▁Rug", + -12.426091194152832 + ], + [ + "pä", + -12.426129341125488 + ], + [ + "▁matur", + -12.426148414611816 + ], + [ + "CAS", + -12.426155090332031 + ], + [ + "TIC", + -12.42618465423584 + ], + [ + "▁Reduce", + -12.426234245300293 + ], + [ + "▁commemorat", + -12.426321983337402 + ], + [ + "▁cease", + -12.42653751373291 + ], + [ + "unterschiedliche", + -12.42656421661377 + ], + [ + "▁cinnamon", + -12.426581382751465 + ], + [ + "▁Font", + -12.426583290100098 + ], + [ + "▁justify", + -12.426751136779785 + ], + [ + "deteriorat", + -12.426797866821289 + ], + [ + "▁Schön", + -12.42684555053711 + ], + [ + "plain", + -12.426993370056152 + ], + [ + "frist", + -12.427002906799316 + ], + [ + "▁helmet", + -12.42712116241455 + ], + [ + "▁statute", + -12.42721939086914 + ], + [ + "accept", + -12.427236557006836 + ], + [ + "▁1,5", + -12.42724323272705 + ], + [ + "▁recon", + -12.42724323272705 + ], + [ + "▁Möbel", + -12.427348136901855 + ], + [ + "▁idées", + -12.427367210388184 + ], + [ + "automat", + -12.427552223205566 + ], + [ + "Team", + -12.42758846282959 + ], + [ + "▁performers", + -12.427688598632812 + ], + [ + "▁microphone", + -12.427722930908203 + ], + [ + "impotriva", + -12.427775382995605 + ], + [ + "▁pillows", + -12.42780876159668 + ], + [ + "▁accountable", + -12.427812576293945 + ], + [ + "▁strings", + -12.42782974243164 + ], + [ + "hydrate", + -12.427835464477539 + ], + [ + "▁Yan", + -12.427865028381348 + ], + [ + "starea", + -12.427918434143066 + ], + [ + "▁présenté", + -12.42793083190918 + ], + [ + "▁extensively", + -12.428048133850098 + ], + [ + "äst", + -12.428114891052246 + ], + [ + "▁correlation", + -12.428115844726562 + ], + [ + "bespoke", + -12.428119659423828 + ], + [ + "▁creste", + -12.428196907043457 + ], + [ + "▁Armenia", + -12.428248405456543 + ], + [ + "nose", + -12.428426742553711 + ], + [ + "▁strengthening", + -12.428604125976562 + ], + [ + "▁Horizon", + -12.428627014160156 + ], + [ + "▁obesity", + -12.428627967834473 + ], + [ + "seasoned", + -12.428686141967773 + ], + [ + "▁screenshot", + -12.428736686706543 + ], + [ + "girl", + -12.42875862121582 + ], + [ + "▁hardest", + -12.428826332092285 + ], + [ + "▁weakness", + -12.428855895996094 + ], + [ + "effectuer", + -12.429012298583984 + ], + [ + "▁Florence", + -12.429034233093262 + ], + [ + "▁Europene", + -12.429062843322754 + ], + [ + "triggered", + -12.429333686828613 + ], + [ + "Apparently", + -12.42939567565918 + ], + [ + "▁diagnose", + -12.42943286895752 + ], + [ + "rushed", + -12.429494857788086 + ], + [ + "▁trotz", + -12.429516792297363 + ], + [ + "▁spécial", + -12.429680824279785 + ], + [ + "▁lumi", + -12.429783821105957 + ], + [ + "7:00", + -12.429877281188965 + ], + [ + "▁publicat", + -12.429903984069824 + ], + [ + "ос", + -12.430086135864258 + ], + [ + "▁hue", + -12.430136680603027 + ], + [ + "▁termination", + -12.430139541625977 + ], + [ + "▁Nam", + -12.430240631103516 + ], + [ + "Well", + -12.430376052856445 + ], + [ + "▁Extract", + -12.430441856384277 + ], + [ + "atiile", + -12.43062686920166 + ], + [ + "▁vivid", + -12.43076229095459 + ], + [ + "hrs", + -12.430858612060547 + ], + [ + "▁povesti", + -12.430984497070312 + ], + [ + "stehenden", + -12.430988311767578 + ], + [ + "▁informieren", + -12.431070327758789 + ], + [ + "employed", + -12.431133270263672 + ], + [ + "▁armor", + -12.431180953979492 + ], + [ + "▁Columbus", + -12.431191444396973 + ], + [ + "Registr", + -12.431200981140137 + ], + [ + "▁Kamera", + -12.431203842163086 + ], + [ + "▁ugly", + -12.431203842163086 + ], + [ + "outil", + -12.431234359741211 + ], + [ + "▁evenly", + -12.43134593963623 + ], + [ + "lungul", + -12.431349754333496 + ], + [ + "koch", + -12.431439399719238 + ], + [ + "▁Dig", + -12.431450843811035 + ], + [ + "purely", + -12.431489944458008 + ], + [ + "▁Surf", + -12.431560516357422 + ], + [ + "rilla", + -12.431628227233887 + ], + [ + "▁Watson", + -12.43171215057373 + ], + [ + "trug", + -12.431719779968262 + ], + [ + "figuring", + -12.431784629821777 + ], + [ + "▁competitor", + -12.431807518005371 + ], + [ + "▁humid", + -12.431889533996582 + ], + [ + "▁Lawyer", + -12.43189811706543 + ], + [ + "Added", + -12.43205451965332 + ], + [ + "▁salva", + -12.432056427001953 + ], + [ + "▁drainage", + -12.4321870803833 + ], + [ + "Featuring", + -12.432220458984375 + ], + [ + "▁Pel", + -12.43234634399414 + ], + [ + "▁acasa", + -12.432611465454102 + ], + [ + "▁expectation", + -12.43265438079834 + ], + [ + "gibt", + -12.432663917541504 + ], + [ + "▁marginal", + -12.432831764221191 + ], + [ + "ceni", + -12.433028221130371 + ], + [ + "▁européen", + -12.433065414428711 + ], + [ + "clav", + -12.433090209960938 + ], + [ + "▁Shot", + -12.433167457580566 + ], + [ + "commun", + -12.43322467803955 + ], + [ + "▁Calendar", + -12.433247566223145 + ], + [ + "▁trek", + -12.433348655700684 + ], + [ + "rechtliche", + -12.433406829833984 + ], + [ + "▁Perry", + -12.43342399597168 + ], + [ + "▁surge", + -12.433484077453613 + ], + [ + "geschäft", + -12.433504104614258 + ], + [ + "paced", + -12.433793067932129 + ], + [ + "depend", + -12.433871269226074 + ], + [ + "▁Sache", + -12.433947563171387 + ], + [ + "▁Example", + -12.433998107910156 + ], + [ + "▁lider", + -12.434118270874023 + ], + [ + "▁nochmal", + -12.434240341186523 + ], + [ + "▁Present", + -12.434243202209473 + ], + [ + "KW", + -12.434335708618164 + ], + [ + "prompted", + -12.434350967407227 + ], + [ + "logique", + -12.434444427490234 + ], + [ + "Université", + -12.434466361999512 + ], + [ + "lith", + -12.434489250183105 + ], + [ + "▁Gefahr", + -12.434579849243164 + ], + [ + "▁Acid", + -12.434625625610352 + ], + [ + "objets", + -12.434791564941406 + ], + [ + "▁societies", + -12.434791564941406 + ], + [ + "▁distraction", + -12.434816360473633 + ], + [ + "▁puissance", + -12.434934616088867 + ], + [ + "▁alleviat", + -12.435026168823242 + ], + [ + "▁Capitol", + -12.435050010681152 + ], + [ + "▁Heim", + -12.435129165649414 + ], + [ + "judicial", + -12.435230255126953 + ], + [ + "▁nowadays", + -12.435309410095215 + ], + [ + "▁Hammer", + -12.435317039489746 + ], + [ + "▁metallic", + -12.435327529907227 + ], + [ + "▁distr", + -12.435388565063477 + ], + [ + "▁dispos", + -12.435397148132324 + ], + [ + "profile", + -12.435408592224121 + ], + [ + "▁Nicolas", + -12.435602188110352 + ], + [ + "▁presa", + -12.435760498046875 + ], + [ + "augh", + -12.43578052520752 + ], + [ + "schuss", + -12.435787200927734 + ], + [ + "▁Diana", + -12.436062812805176 + ], + [ + "4-5", + -12.436097145080566 + ], + [ + "▁Chapel", + -12.43612003326416 + ], + [ + "▁zahar", + -12.436150550842285 + ], + [ + "âmb", + -12.4362154006958 + ], + [ + "▁Tarif", + -12.436264991760254 + ], + [ + "▁devastating", + -12.436339378356934 + ], + [ + "6:00", + -12.4364013671875 + ], + [ + "▁100,000", + -12.43645191192627 + ], + [ + "NIC", + -12.436580657958984 + ], + [ + "▁Lucas", + -12.436612129211426 + ], + [ + "▁bequem", + -12.436662673950195 + ], + [ + "▁Motion", + -12.436698913574219 + ], + [ + "7,000", + -12.436701774597168 + ], + [ + "▁malware", + -12.436708450317383 + ], + [ + "▁avenue", + -12.436723709106445 + ], + [ + "▁manger", + -12.436747550964355 + ], + [ + "▁Queensland", + -12.436857223510742 + ], + [ + "▁Papier", + -12.436861991882324 + ], + [ + "▁Increase", + -12.436880111694336 + ], + [ + "▁implies", + -12.436954498291016 + ], + [ + "▁äußer", + -12.43697452545166 + ], + [ + "▁Meine", + -12.436980247497559 + ], + [ + "Reuters", + -12.437155723571777 + ], + [ + "▁Belt", + -12.437232971191406 + ], + [ + "Educat", + -12.437251091003418 + ], + [ + "▁Aktion", + -12.437355041503906 + ], + [ + "schläge", + -12.437372207641602 + ], + [ + "▁înregistrat", + -12.437426567077637 + ], + [ + "▁Ortho", + -12.43756103515625 + ], + [ + "▁bulbs", + -12.437761306762695 + ], + [ + "kap", + -12.437793731689453 + ], + [ + "▁peinture", + -12.437901496887207 + ], + [ + "▁Lounge", + -12.437907218933105 + ], + [ + "▁Tampa", + -12.438008308410645 + ], + [ + "ifiziert", + -12.438100814819336 + ], + [ + "kinder", + -12.438172340393066 + ], + [ + "▁comparativ", + -12.438281059265137 + ], + [ + "häuser", + -12.438323974609375 + ], + [ + "incarn", + -12.438363075256348 + ], + [ + "▁amazon", + -12.438464164733887 + ], + [ + "▁Southeast", + -12.438505172729492 + ], + [ + "▁economical", + -12.438667297363281 + ], + [ + "▁broth", + -12.438697814941406 + ], + [ + "▁Secure", + -12.438750267028809 + ], + [ + "damals", + -12.438875198364258 + ], + [ + "▁Elementary", + -12.438921928405762 + ], + [ + "▁Wildlife", + -12.438995361328125 + ], + [ + "▁Jewel", + -12.439001083374023 + ], + [ + "▁protocols", + -12.439297676086426 + ], + [ + "▁zbor", + -12.4393892288208 + ], + [ + "▁enthusiasts", + -12.439398765563965 + ], + [ + "▁Mirror", + -12.439444541931152 + ], + [ + "▁soak", + -12.439537048339844 + ], + [ + "▁Sad", + -12.439574241638184 + ], + [ + "▁dishwasher", + -12.439957618713379 + ], + [ + "▁vollständig", + -12.440186500549316 + ], + [ + "▁Vermont", + -12.440407752990723 + ], + [ + "▁caut", + -12.440449714660645 + ], + [ + "▁fournisseur", + -12.440475463867188 + ], + [ + "▁Concrete", + -12.44047737121582 + ], + [ + "▁Instant", + -12.440595626831055 + ], + [ + "▁reveni", + -12.440597534179688 + ], + [ + "▁Surface", + -12.44059944152832 + ], + [ + "zumindest", + -12.440713882446289 + ], + [ + "▁feast", + -12.440725326538086 + ], + [ + "▁stretching", + -12.440803527832031 + ], + [ + "ERA", + -12.440997123718262 + ], + [ + "▁Scholarship", + -12.441020965576172 + ], + [ + "▁vineyard", + -12.4410400390625 + ], + [ + "▁régulièrement", + -12.441083908081055 + ], + [ + "▁patches", + -12.441093444824219 + ], + [ + "▁Gamb", + -12.44113540649414 + ], + [ + "▁Vereins", + -12.441152572631836 + ], + [ + "ège", + -12.441372871398926 + ], + [ + "▁constitutional", + -12.441411018371582 + ], + [ + "erreur", + -12.441413879394531 + ], + [ + "▁Colombia", + -12.441514015197754 + ], + [ + "UF", + -12.441618919372559 + ], + [ + "aider", + -12.441665649414062 + ], + [ + "cision", + -12.44180965423584 + ], + [ + "▁publishers", + -12.441913604736328 + ], + [ + "▁prelua", + -12.441967964172363 + ], + [ + "▁keiner", + -12.441990852355957 + ], + [ + "▁amid", + -12.442020416259766 + ], + [ + "▁quantitative", + -12.442031860351562 + ], + [ + "▁decay", + -12.442058563232422 + ], + [ + "▁distinguished", + -12.4420747756958 + ], + [ + "▁Gründe", + -12.442209243774414 + ], + [ + "▁statului", + -12.442362785339355 + ], + [ + "CAT", + -12.442436218261719 + ], + [ + "allow", + -12.442481994628906 + ], + [ + "▁mathematical", + -12.442550659179688 + ], + [ + "▁tragedy", + -12.44255542755127 + ], + [ + "▁heels", + -12.442609786987305 + ], + [ + "opia", + -12.44265365600586 + ], + [ + "▁merger", + -12.4428071975708 + ], + [ + "dispositif", + -12.442813873291016 + ], + [ + "▁pneu", + -12.44283390045166 + ], + [ + "elte", + -12.443058013916016 + ], + [ + "▁Introduction", + -12.443070411682129 + ], + [ + "▁biscuit", + -12.443134307861328 + ], + [ + "▁leftover", + -12.443275451660156 + ], + [ + "▁tester", + -12.443314552307129 + ], + [ + "▁Terre", + -12.443380355834961 + ], + [ + "▁Oui", + -12.44338321685791 + ], + [ + "▁rar", + -12.443520545959473 + ], + [ + "▁beverages", + -12.443666458129883 + ], + [ + "▁parenting", + -12.443892478942871 + ], + [ + "1-0", + -12.444053649902344 + ], + [ + "▁Barry", + -12.44417667388916 + ], + [ + "▁Lynn", + -12.444209098815918 + ], + [ + "▁Tyler", + -12.444262504577637 + ], + [ + "▁fotbal", + -12.44437026977539 + ], + [ + "dron", + -12.444475173950195 + ], + [ + "▁donor", + -12.44455623626709 + ], + [ + "▁drape", + -12.444558143615723 + ], + [ + "▁positioning", + -12.444963455200195 + ], + [ + "▁Tang", + -12.445006370544434 + ], + [ + "▁overwhelmed", + -12.445161819458008 + ], + [ + "▁perte", + -12.445192337036133 + ], + [ + "▁blender", + -12.445302963256836 + ], + [ + "TG", + -12.445467948913574 + ], + [ + "GHz", + -12.445490837097168 + ], + [ + "▁administrat", + -12.445719718933105 + ], + [ + "▁glaube", + -12.445771217346191 + ], + [ + "Char", + -12.445947647094727 + ], + [ + "impression", + -12.44627571105957 + ], + [ + "proving", + -12.446297645568848 + ], + [ + "▁Inner", + -12.446434020996094 + ], + [ + "root", + -12.446501731872559 + ], + [ + "▁Gedanken", + -12.446508407592773 + ], + [ + "▁underway", + -12.446596145629883 + ], + [ + "coat", + -12.44660758972168 + ], + [ + "▁thereof", + -12.446663856506348 + ], + [ + "rius", + -12.446700096130371 + ], + [ + "▁intermediate", + -12.446751594543457 + ], + [ + "gmail", + -12.446869850158691 + ], + [ + "114", + -12.446893692016602 + ], + [ + "▁interfere", + -12.446908950805664 + ], + [ + "▁Found", + -12.446930885314941 + ], + [ + "LF", + -12.447071075439453 + ], + [ + "▁equality", + -12.447099685668945 + ], + [ + "▁concurrent", + -12.44710636138916 + ], + [ + "akh", + -12.447107315063477 + ], + [ + "▁touching", + -12.44715690612793 + ], + [ + "▁curiosity", + -12.447235107421875 + ], + [ + "▁rendering", + -12.447263717651367 + ], + [ + "▁1964", + -12.447442054748535 + ], + [ + "sorge", + -12.447468757629395 + ], + [ + "ARC", + -12.447505950927734 + ], + [ + "▁Desktop", + -12.44752311706543 + ], + [ + "▁Tak", + -12.44760799407959 + ], + [ + "filtration", + -12.447651863098145 + ], + [ + "▁gates", + -12.4478759765625 + ], + [ + "Sehr", + -12.44791316986084 + ], + [ + "▁spatiu", + -12.44798755645752 + ], + [ + "▁Leg", + -12.448103904724121 + ], + [ + "▁aviation", + -12.448277473449707 + ], + [ + "wandel", + -12.44827938079834 + ], + [ + "▁Shar", + -12.448323249816895 + ], + [ + "▁Volks", + -12.448409080505371 + ], + [ + "maz", + -12.448698997497559 + ], + [ + "governmental", + -12.44874095916748 + ], + [ + "euros", + -12.448819160461426 + ], + [ + "avantage", + -12.448823928833008 + ], + [ + "sitzt", + -12.448856353759766 + ], + [ + "IER", + -12.448920249938965 + ], + [ + "▁Theory", + -12.44894027709961 + ], + [ + "Cependant", + -12.44907283782959 + ], + [ + "▁Teachers", + -12.449080467224121 + ], + [ + "anspruch", + -12.449095726013184 + ], + [ + "▁afecta", + -12.449139595031738 + ], + [ + "enko", + -12.449193000793457 + ], + [ + "▁breeding", + -12.449198722839355 + ], + [ + "▁Peak", + -12.449457168579102 + ], + [ + "▁găsit", + -12.449516296386719 + ], + [ + "▁măsuri", + -12.4495267868042 + ], + [ + "edia", + -12.449625968933105 + ], + [ + "biz", + -12.449640274047852 + ], + [ + "zum", + -12.449776649475098 + ], + [ + "▁schwierig", + -12.449847221374512 + ], + [ + "Sense", + -12.450050354003906 + ], + [ + "▁Jump", + -12.450081825256348 + ], + [ + "▁cocktails", + -12.450108528137207 + ], + [ + "abhängig", + -12.45012378692627 + ], + [ + "realised", + -12.450140953063965 + ], + [ + "▁programul", + -12.450214385986328 + ], + [ + "▁prévu", + -12.450238227844238 + ], + [ + "▁twitter", + -12.450372695922852 + ], + [ + "Union", + -12.450400352478027 + ], + [ + "▁Marathon", + -12.45040225982666 + ], + [ + "▁Christianity", + -12.450432777404785 + ], + [ + "▁Alberta", + -12.450811386108398 + ], + [ + "einheit", + -12.45097827911377 + ], + [ + "▁wellbeing", + -12.450982093811035 + ], + [ + "phen", + -12.451166152954102 + ], + [ + "▁Charleston", + -12.451180458068848 + ], + [ + "▁uncover", + -12.451323509216309 + ], + [ + "▁humaine", + -12.451464653015137 + ], + [ + "▁bleeding", + -12.451531410217285 + ], + [ + "▁manipul", + -12.451532363891602 + ], + [ + "▁humidity", + -12.451570510864258 + ], + [ + "▁Puis", + -12.451748847961426 + ], + [ + "▁aktuell", + -12.451922416687012 + ], + [ + "▁Nissan", + -12.451943397521973 + ], + [ + "▁Eisen", + -12.45202922821045 + ], + [ + "treiben", + -12.452059745788574 + ], + [ + "cios", + -12.452073097229004 + ], + [ + "ikh", + -12.452381134033203 + ], + [ + "acquiring", + -12.452466011047363 + ], + [ + "▁Wallpaper", + -12.452488899230957 + ], + [ + "▁rond", + -12.452558517456055 + ], + [ + "▁Doug", + -12.45267391204834 + ], + [ + "sourcing", + -12.452696800231934 + ], + [ + "▁1900", + -12.452825546264648 + ], + [ + "▁buni", + -12.452913284301758 + ], + [ + "vest", + -12.452916145324707 + ], + [ + "▁Bangladesh", + -12.452990531921387 + ], + [ + "Home", + -12.453160285949707 + ], + [ + "▁wrinkle", + -12.453252792358398 + ], + [ + "rado", + -12.453290939331055 + ], + [ + "▁Pain", + -12.45334243774414 + ], + [ + "▁herzlich", + -12.453354835510254 + ], + [ + "MRI", + -12.453426361083984 + ], + [ + "UG", + -12.453631401062012 + ], + [ + "▁Desk", + -12.453679084777832 + ], + [ + "▁remarc", + -12.453718185424805 + ], + [ + "▁sodium", + -12.453857421875 + ], + [ + "▁Jede", + -12.453892707824707 + ], + [ + "▁réelle", + -12.453959465026855 + ], + [ + "▁Polar", + -12.454068183898926 + ], + [ + "▁activists", + -12.454273223876953 + ], + [ + "lasted", + -12.454300880432129 + ], + [ + "Some", + -12.45432186126709 + ], + [ + "ISE", + -12.454338073730469 + ], + [ + "▁peine", + -12.454671859741211 + ], + [ + "▁crude", + -12.454852104187012 + ], + [ + "Maur", + -12.454916954040527 + ], + [ + "▁forcing", + -12.454933166503906 + ], + [ + "▁politici", + -12.454970359802246 + ], + [ + "▁condiții", + -12.454988479614258 + ], + [ + "▁Saving", + -12.454999923706055 + ], + [ + "▁descoperi", + -12.455020904541016 + ], + [ + "avenir", + -12.455055236816406 + ], + [ + "Akt", + -12.455069541931152 + ], + [ + "▁vocabulary", + -12.45509147644043 + ], + [ + "▁pont", + -12.455168724060059 + ], + [ + "West", + -12.45518970489502 + ], + [ + "lenk", + -12.455278396606445 + ], + [ + "▁Verbraucher", + -12.455367088317871 + ], + [ + "affects", + -12.455448150634766 + ], + [ + "▁Flower", + -12.455543518066406 + ], + [ + "▁Nebraska", + -12.455617904663086 + ], + [ + "▁assortment", + -12.455618858337402 + ], + [ + "hock", + -12.455619812011719 + ], + [ + "▁discounted", + -12.455803871154785 + ], + [ + "▁Sensor", + -12.455840110778809 + ], + [ + "Lie", + -12.45588207244873 + ], + [ + "▁Volkswagen", + -12.455887794494629 + ], + [ + "isseur", + -12.455888748168945 + ], + [ + "indice", + -12.455936431884766 + ], + [ + "▁scanner", + -12.455986022949219 + ], + [ + "fashioned", + -12.456040382385254 + ], + [ + "▁postal", + -12.456141471862793 + ], + [ + "ouvrir", + -12.45615291595459 + ], + [ + "▁seminars", + -12.45622444152832 + ], + [ + "ioase", + -12.456232070922852 + ], + [ + "▁Stanley", + -12.456260681152344 + ], + [ + "Various", + -12.456335067749023 + ], + [ + "essentiel", + -12.45650577545166 + ], + [ + "▁administered", + -12.456693649291992 + ], + [ + "▁concession", + -12.456748008728027 + ], + [ + "▁mould", + -12.456789016723633 + ], + [ + "▁strongest", + -12.456826210021973 + ], + [ + "Erlebnis", + -12.456933975219727 + ], + [ + "▁ehemalige", + -12.456933975219727 + ], + [ + "▁Tale", + -12.457234382629395 + ], + [ + "▁Buyer", + -12.457353591918945 + ], + [ + "ück", + -12.457578659057617 + ], + [ + "▁Kommentar", + -12.457720756530762 + ], + [ + "▁Schrift", + -12.457756996154785 + ], + [ + "Design", + -12.457792282104492 + ], + [ + "▁stirring", + -12.457937240600586 + ], + [ + "▁towels", + -12.457987785339355 + ], + [ + "▁$30", + -12.458101272583008 + ], + [ + "sprache", + -12.458279609680176 + ], + [ + "▁Regierung", + -12.458346366882324 + ], + [ + "▁nachhaltig", + -12.458406448364258 + ], + [ + "▁électronique", + -12.458515167236328 + ], + [ + "▁Andrei", + -12.458587646484375 + ], + [ + "because", + -12.458647727966309 + ], + [ + "informatique", + -12.458650588989258 + ], + [ + "IGHT", + -12.4586820602417 + ], + [ + "stepping", + -12.4586820602417 + ], + [ + "▁gris", + -12.458748817443848 + ], + [ + "vious", + -12.458773612976074 + ], + [ + "▁upside", + -12.4591064453125 + ], + [ + "▁Examples", + -12.459108352661133 + ], + [ + "IU", + -12.459110260009766 + ], + [ + "▁princess", + -12.459111213684082 + ], + [ + "spielen", + -12.45921516418457 + ], + [ + "legung", + -12.45950984954834 + ], + [ + "▁reflecting", + -12.4597806930542 + ], + [ + "▁Processing", + -12.459939002990723 + ], + [ + "▁jungle", + -12.460033416748047 + ], + [ + "▁insects", + -12.46006965637207 + ], + [ + "▁Sibiu", + -12.460220336914062 + ], + [ + "160", + -12.460259437561035 + ], + [ + "▁interessante", + -12.460267066955566 + ], + [ + "▁multimedia", + -12.460455894470215 + ], + [ + "essel", + -12.46049690246582 + ], + [ + "/18", + -12.460647583007812 + ], + [ + "nière", + -12.460683822631836 + ], + [ + "ministru", + -12.46072006225586 + ], + [ + "▁implants", + -12.460826873779297 + ], + [ + "▁Settings", + -12.461360931396484 + ], + [ + "▁invaluable", + -12.461432456970215 + ], + [ + "stains", + -12.461448669433594 + ], + [ + "onym", + -12.461518287658691 + ], + [ + "▁searched", + -12.461570739746094 + ], + [ + "▁disappointment", + -12.461628913879395 + ], + [ + "▁Iranian", + -12.461630821228027 + ], + [ + "▁questionnaire", + -12.461630821228027 + ], + [ + "Founder", + -12.46178913116455 + ], + [ + "▁Bericht", + -12.461792945861816 + ], + [ + "▁youngest", + -12.461896896362305 + ], + [ + "▁Automatic", + -12.461956024169922 + ], + [ + "▁plecat", + -12.46203327178955 + ], + [ + "geber", + -12.462119102478027 + ], + [ + "soweit", + -12.462124824523926 + ], + [ + "▁unfold", + -12.462236404418945 + ], + [ + "▁befinden", + -12.462274551391602 + ], + [ + "▁susţin", + -12.462637901306152 + ], + [ + "▁Mack", + -12.462675094604492 + ], + [ + "▁dificil", + -12.462757110595703 + ], + [ + "enseigne", + -12.463038444519043 + ], + [ + "▁vitamine", + -12.463047981262207 + ], + [ + "▁Memory", + -12.463092803955078 + ], + [ + "ripping", + -12.463129043579102 + ], + [ + "drin", + -12.463146209716797 + ], + [ + "3.2", + -12.463278770446777 + ], + [ + "▁verstehen", + -12.463287353515625 + ], + [ + "▁scaun", + -12.46341323852539 + ], + [ + "▁procédure", + -12.46380615234375 + ], + [ + "▁molecules", + -12.463911056518555 + ], + [ + "▁Anzahl", + -12.46391487121582 + ], + [ + "▁yogurt", + -12.464071273803711 + ], + [ + "▁Dominic", + -12.464113235473633 + ], + [ + "▁shocked", + -12.464156150817871 + ], + [ + "▁zilei", + -12.464269638061523 + ], + [ + "▁Heiz", + -12.464412689208984 + ], + [ + "▁Educational", + -12.464571952819824 + ], + [ + "BN", + -12.464577674865723 + ], + [ + "analyzing", + -12.464601516723633 + ], + [ + "hair", + -12.464676856994629 + ], + [ + "spiegel", + -12.464871406555176 + ], + [ + "▁illusion", + -12.464889526367188 + ], + [ + "BG", + -12.46505355834961 + ], + [ + "deductible", + -12.46513557434082 + ], + [ + "▁adj", + -12.4651460647583 + ], + [ + "▁accessory", + -12.465166091918945 + ], + [ + "▁Draw", + -12.465167999267578 + ], + [ + "▁airlines", + -12.46518611907959 + ], + [ + "▁satisfai", + -12.46536636352539 + ], + [ + "▁architects", + -12.465447425842285 + ], + [ + "istische", + -12.465508460998535 + ], + [ + "▁Healthy", + -12.465539932250977 + ], + [ + "großer", + -12.465669631958008 + ], + [ + "▁comunicare", + -12.465764999389648 + ], + [ + "▁Meyer", + -12.46577262878418 + ], + [ + "▁reproduction", + -12.465882301330566 + ], + [ + "▁Manufacturing", + -12.465929985046387 + ], + [ + "immobilier", + -12.465930938720703 + ], + [ + "▁Unterschied", + -12.465958595275879 + ], + [ + "▁cumpara", + -12.466029167175293 + ], + [ + "▁duplicate", + -12.466094017028809 + ], + [ + "▁(16", + -12.466096878051758 + ], + [ + "▁detector", + -12.466279983520508 + ], + [ + "▁observat", + -12.466387748718262 + ], + [ + "▁1965", + -12.466682434082031 + ], + [ + "▁Fantasy", + -12.466728210449219 + ], + [ + "▁brauchen", + -12.466728210449219 + ], + [ + "▁Participants", + -12.466780662536621 + ], + [ + "▁décide", + -12.466817855834961 + ], + [ + "▁kicke", + -12.466819763183594 + ], + [ + "▁SSL", + -12.466885566711426 + ], + [ + "360", + -12.466989517211914 + ], + [ + "Anim", + -12.467019081115723 + ], + [ + "▁cupcake", + -12.467031478881836 + ], + [ + "▁Lamb", + -12.467107772827148 + ], + [ + "▁Sä", + -12.467155456542969 + ], + [ + "ntă", + -12.46738052368164 + ], + [ + "▁Pig", + -12.467421531677246 + ], + [ + "1,000", + -12.467677116394043 + ], + [ + "nhof", + -12.467782020568848 + ], + [ + "▁discret", + -12.467947959899902 + ], + [ + "▁deloc", + -12.467991828918457 + ], + [ + "▁Bücher", + -12.467999458312988 + ], + [ + "chor", + -12.468042373657227 + ], + [ + "course", + -12.468070030212402 + ], + [ + "▁cough", + -12.468076705932617 + ], + [ + "▁erstellt", + -12.468087196350098 + ], + [ + "▁Than", + -12.468097686767578 + ], + [ + "stätte", + -12.46812915802002 + ], + [ + "▁exceptionally", + -12.468162536621094 + ], + [ + "▁semnal", + -12.468186378479004 + ], + [ + "▁Interessen", + -12.468329429626465 + ], + [ + "ле", + -12.468356132507324 + ], + [ + "xx", + -12.468402862548828 + ], + [ + "▁Veterans", + -12.468422889709473 + ], + [ + "▁Kreuz", + -12.468683242797852 + ], + [ + "▁Nachricht", + -12.468701362609863 + ], + [ + "treated", + -12.468894004821777 + ], + [ + "▁tide", + -12.469230651855469 + ], + [ + "▁nonetheless", + -12.469390869140625 + ], + [ + "▁Subject", + -12.469439506530762 + ], + [ + "▁Stau", + -12.469440460205078 + ], + [ + "▁stickers", + -12.469463348388672 + ], + [ + "Alp", + -12.46950912475586 + ], + [ + "▁flagship", + -12.469541549682617 + ], + [ + "▁trimite", + -12.469619750976562 + ], + [ + "▁polyester", + -12.469664573669434 + ], + [ + "▁locui", + -12.469671249389648 + ], + [ + "▁chili", + -12.46968936920166 + ], + [ + "▁Browser", + -12.469808578491211 + ], + [ + "sieg", + -12.469809532165527 + ], + [ + "▁Arabic", + -12.469876289367676 + ], + [ + "blich", + -12.47001838684082 + ], + [ + "▁wunderbar", + -12.470090866088867 + ], + [ + "▁furnishings", + -12.470210075378418 + ], + [ + "rtie", + -12.470243453979492 + ], + [ + "8.5", + -12.470742225646973 + ], + [ + "▁Sponsor", + -12.471016883850098 + ], + [ + "▁glitter", + -12.471280097961426 + ], + [ + "▁piaț", + -12.471402168273926 + ], + [ + "▁interviewed", + -12.471519470214844 + ], + [ + "▁Statistics", + -12.471529006958008 + ], + [ + "▁cerc", + -12.47154712677002 + ], + [ + "augmentation", + -12.47155475616455 + ], + [ + "▁Navi", + -12.471558570861816 + ], + [ + "▁Begriff", + -12.47156047821045 + ], + [ + "▁știu", + -12.471596717834473 + ], + [ + "▁unabhängig", + -12.471778869628906 + ], + [ + "▁könnten", + -12.471978187561035 + ], + [ + "▁travaille", + -12.472000122070312 + ], + [ + "▁companie", + -12.472027778625488 + ], + [ + "▁Scientific", + -12.472061157226562 + ], + [ + "▁Outlook", + -12.472091674804688 + ], + [ + "▁fairy", + -12.472158432006836 + ], + [ + "zam", + -12.472282409667969 + ], + [ + "bak", + -12.472448348999023 + ], + [ + "▁Traffic", + -12.472596168518066 + ], + [ + "gerät", + -12.472671508789062 + ], + [ + "▁freezing", + -12.472701072692871 + ], + [ + "▁broadband", + -12.4727201461792 + ], + [ + "110", + -12.47279167175293 + ], + [ + "▁revenu", + -12.472887992858887 + ], + [ + "listed", + -12.472900390625 + ], + [ + "▁Rico", + -12.472941398620605 + ], + [ + "Laure", + -12.472990036010742 + ], + [ + "ATA", + -12.473112106323242 + ], + [ + "▁participer", + -12.47313117980957 + ], + [ + "▁sponsorship", + -12.473235130310059 + ], + [ + "▁distress", + -12.473286628723145 + ], + [ + "▁Brisbane", + -12.47339916229248 + ], + [ + "schönen", + -12.473437309265137 + ], + [ + "▁fizice", + -12.473465919494629 + ], + [ + "▁Political", + -12.47362232208252 + ], + [ + "uhr", + -12.473657608032227 + ], + [ + "▁procedura", + -12.473713874816895 + ], + [ + "▁hervor", + -12.473770141601562 + ], + [ + "melted", + -12.473776817321777 + ], + [ + "▁Emp", + -12.47384262084961 + ], + [ + "▁Ernährung", + -12.4739351272583 + ], + [ + "▁Pendant", + -12.473944664001465 + ], + [ + "▁recipients", + -12.474047660827637 + ], + [ + "Claude", + -12.474133491516113 + ], + [ + "▁regimen", + -12.47415828704834 + ], + [ + "expo", + -12.474346160888672 + ], + [ + "adevăr", + -12.47437858581543 + ], + [ + "▁critically", + -12.474440574645996 + ], + [ + "▁grabbe", + -12.474468231201172 + ], + [ + "▁Kann", + -12.474474906921387 + ], + [ + "▁directeur", + -12.474613189697266 + ], + [ + "gator", + -12.474908828735352 + ], + [ + "problem", + -12.474910736083984 + ], + [ + "scribe", + -12.474913597106934 + ], + [ + "▁exig", + -12.474920272827148 + ], + [ + "Tri", + -12.474969863891602 + ], + [ + "▁aqua", + -12.475631713867188 + ], + [ + "appréci", + -12.47569465637207 + ], + [ + "▁viaţă", + -12.47571849822998 + ], + [ + "▁dominate", + -12.475865364074707 + ], + [ + "disc", + -12.475889205932617 + ], + [ + "▁conseiller", + -12.47603988647461 + ], + [ + "▁shuttle", + -12.476180076599121 + ], + [ + "▁Status", + -12.47623062133789 + ], + [ + "▁ausreichend", + -12.476371765136719 + ], + [ + "▁spät", + -12.476411819458008 + ], + [ + "▁remainder", + -12.476417541503906 + ], + [ + "wett", + -12.476430892944336 + ], + [ + "schlossen", + -12.476491928100586 + ], + [ + "PAC", + -12.476505279541016 + ], + [ + "▁suprafata", + -12.476617813110352 + ], + [ + "5.000", + -12.476673126220703 + ], + [ + "supplying", + -12.47673225402832 + ], + [ + "▁uniquely", + -12.476905822753906 + ], + [ + "▁retard", + -12.476929664611816 + ], + [ + "▁Bang", + -12.477006912231445 + ], + [ + "ieuse", + -12.477087020874023 + ], + [ + "▁Ted", + -12.477248191833496 + ], + [ + "▁ermöglichen", + -12.47732925415039 + ], + [ + "▁builders", + -12.477380752563477 + ], + [ + "▁proximité", + -12.477423667907715 + ], + [ + "▁unforgettable", + -12.477423667907715 + ], + [ + "256", + -12.477446556091309 + ], + [ + "fähigkeit", + -12.477550506591797 + ], + [ + "▁procurement", + -12.477561950683594 + ], + [ + "▁Gewicht", + -12.477693557739258 + ], + [ + "▁potentiel", + -12.47778606414795 + ], + [ + "▁topping", + -12.478300094604492 + ], + [ + "▁canada", + -12.478304862976074 + ], + [ + "▁Destin", + -12.478355407714844 + ], + [ + "▁Knowing", + -12.478411674499512 + ], + [ + "▁retained", + -12.478426933288574 + ], + [ + "▁zinc", + -12.478470802307129 + ], + [ + "▁worrying", + -12.478655815124512 + ], + [ + "faţa", + -12.478676795959473 + ], + [ + "▁initi", + -12.478837966918945 + ], + [ + "ORI", + -12.4788818359375 + ], + [ + "▁refuz", + -12.478921890258789 + ], + [ + "bruch", + -12.479202270507812 + ], + [ + "▁impun", + -12.479233741760254 + ], + [ + "▁persoană", + -12.479308128356934 + ], + [ + "EAR", + -12.479347229003906 + ], + [ + "bedarf", + -12.479368209838867 + ], + [ + "▁Gebiet", + -12.47940731048584 + ], + [ + "▁Roof", + -12.479436874389648 + ], + [ + "▁negligence", + -12.47957706451416 + ], + [ + "security", + -12.479618072509766 + ], + [ + "▁accesorii", + -12.479641914367676 + ], + [ + "▁unclear", + -12.479667663574219 + ], + [ + "▁securitate", + -12.479848861694336 + ], + [ + "▁spotlight", + -12.479896545410156 + ], + [ + "▁speziell", + -12.479923248291016 + ], + [ + "▁mentally", + -12.479942321777344 + ], + [ + "▁preservation", + -12.48011589050293 + ], + [ + "▁Promotion", + -12.480156898498535 + ], + [ + "partnered", + -12.480274200439453 + ], + [ + "▁Hinter", + -12.48031997680664 + ], + [ + "▁punishment", + -12.480359077453613 + ], + [ + "▁grease", + -12.480713844299316 + ], + [ + "▁NW", + -12.480714797973633 + ], + [ + "▁curse", + -12.480897903442383 + ], + [ + "ckle", + -12.48101806640625 + ], + [ + "▁Hire", + -12.481043815612793 + ], + [ + "▁Whole", + -12.481088638305664 + ], + [ + "▁basse", + -12.481289863586426 + ], + [ + "▁DNS", + -12.481427192687988 + ], + [ + "flamm", + -12.481560707092285 + ], + [ + "▁scoop", + -12.481574058532715 + ], + [ + "Norm", + -12.481663703918457 + ], + [ + "▁Surgery", + -12.481735229492188 + ], + [ + "▁widget", + -12.481741905212402 + ], + [ + "connected", + -12.481863021850586 + ], + [ + "autorité", + -12.481961250305176 + ], + [ + "▁utilis", + -12.482096672058105 + ], + [ + "▁formă", + -12.482185363769531 + ], + [ + "▁clearing", + -12.482307434082031 + ], + [ + "▁jumătate", + -12.482815742492676 + ], + [ + "größe", + -12.482831954956055 + ], + [ + "▁Tief", + -12.482852935791016 + ], + [ + "épi", + -12.482939720153809 + ], + [ + "zunehmen", + -12.483174324035645 + ], + [ + "▁touchdown", + -12.48318099975586 + ], + [ + "▁scholarships", + -12.483236312866211 + ], + [ + "▁dementia", + -12.483319282531738 + ], + [ + "▁Jeder", + -12.48333740234375 + ], + [ + "▁nightmare", + -12.483379364013672 + ], + [ + "▁Raw", + -12.48342514038086 + ], + [ + "absorbed", + -12.483468055725098 + ], + [ + "lohnt", + -12.483484268188477 + ], + [ + "quent", + -12.483580589294434 + ], + [ + "interest", + -12.483626365661621 + ], + [ + "OSS", + -12.483649253845215 + ], + [ + "▁Leaf", + -12.483667373657227 + ], + [ + "▁timeless", + -12.48381519317627 + ], + [ + "DY", + -12.483865737915039 + ], + [ + "▁Remote", + -12.483907699584961 + ], + [ + "chner", + -12.483938217163086 + ], + [ + "▁Pam", + -12.484014511108398 + ], + [ + "urban", + -12.484060287475586 + ], + [ + "во", + -12.484146118164062 + ], + [ + "▁Kunde", + -12.484166145324707 + ], + [ + "▁Laptop", + -12.484169006347656 + ], + [ + "finder", + -12.484336853027344 + ], + [ + "▁Pole", + -12.484567642211914 + ], + [ + "2.8", + -12.484588623046875 + ], + [ + "finished", + -12.484670639038086 + ], + [ + "▁prophet", + -12.484697341918945 + ], + [ + "mailed", + -12.484758377075195 + ], + [ + "2-0", + -12.4849214553833 + ], + [ + "▁disciples", + -12.484949111938477 + ], + [ + "▁intriguing", + -12.484980583190918 + ], + [ + "IRA", + -12.485033988952637 + ], + [ + "petit", + -12.485077857971191 + ], + [ + "▁Membership", + -12.485097885131836 + ], + [ + "▁provincial", + -12.485177040100098 + ], + [ + "▁Prüfung", + -12.485292434692383 + ], + [ + "-50", + -12.485450744628906 + ], + [ + "▁cryptocurrency", + -12.485522270202637 + ], + [ + "▁journalism", + -12.485536575317383 + ], + [ + "▁Downtown", + -12.485593795776367 + ], + [ + "inserted", + -12.485655784606934 + ], + [ + "▁Direction", + -12.485718727111816 + ], + [ + "lipid", + -12.485732078552246 + ], + [ + "▁Sebastian", + -12.485793113708496 + ], + [ + "fordert", + -12.48591136932373 + ], + [ + "Originally", + -12.485989570617676 + ], + [ + "tipp", + -12.486048698425293 + ], + [ + "verantwortlich", + -12.486064910888672 + ], + [ + "▁wheelchair", + -12.486085891723633 + ], + [ + "▁structura", + -12.48609733581543 + ], + [ + "▁Danny", + -12.486138343811035 + ], + [ + "999", + -12.486284255981445 + ], + [ + "▁Schiff", + -12.486380577087402 + ], + [ + "formally", + -12.486408233642578 + ], + [ + "focused", + -12.486428260803223 + ], + [ + "▁Vater", + -12.486478805541992 + ], + [ + "▁Dear", + -12.486599922180176 + ], + [ + "▁reinforce", + -12.486794471740723 + ], + [ + "proprietar", + -12.48690414428711 + ], + [ + "▁Kyle", + -12.487004280090332 + ], + [ + "În", + -12.487015724182129 + ], + [ + "▁servir", + -12.487268447875977 + ], + [ + "length", + -12.48730754852295 + ], + [ + "▁showroom", + -12.48735237121582 + ], + [ + "reli", + -12.487473487854004 + ], + [ + "▁Brü", + -12.487529754638672 + ], + [ + "▁Schle", + -12.487634658813477 + ], + [ + "▁profond", + -12.487773895263672 + ], + [ + "▁Superior", + -12.487826347351074 + ], + [ + "▁lifted", + -12.487844467163086 + ], + [ + "highlighting", + -12.487850189208984 + ], + [ + "▁Connection", + -12.48793888092041 + ], + [ + "▁similarly", + -12.487998962402344 + ], + [ + "▁diferit", + -12.488005638122559 + ], + [ + "▁sweater", + -12.488014221191406 + ], + [ + "État", + -12.48803997039795 + ], + [ + "rooted", + -12.488069534301758 + ], + [ + "▁sleeves", + -12.488236427307129 + ], + [ + "де", + -12.488264083862305 + ], + [ + "▁Laboratory", + -12.488265991210938 + ], + [ + "ündig", + -12.488719940185547 + ], + [ + "▁Viking", + -12.488741874694824 + ], + [ + "▁Origin", + -12.48878002166748 + ], + [ + "▁vibr", + -12.488812446594238 + ], + [ + "199", + -12.488974571228027 + ], + [ + "▁yummy", + -12.489001274108887 + ], + [ + "STAR", + -12.489140510559082 + ], + [ + "▁repro", + -12.489152908325195 + ], + [ + "▁Kirchen", + -12.489229202270508 + ], + [ + "hopper", + -12.48925495147705 + ], + [ + "zza", + -12.489335060119629 + ], + [ + "▁vitesse", + -12.48934555053711 + ], + [ + "▁minimalist", + -12.489412307739258 + ], + [ + "▁Election", + -12.489420890808105 + ], + [ + "draw", + -12.489501953125 + ], + [ + "▁candles", + -12.48959732055664 + ], + [ + "▁Mund", + -12.489615440368652 + ], + [ + "urged", + -12.489901542663574 + ], + [ + "▁cânt", + -12.489917755126953 + ], + [ + "Ultimately", + -12.49002742767334 + ], + [ + "▁Lift", + -12.490124702453613 + ], + [ + "loaded", + -12.490334510803223 + ], + [ + "demand", + -12.490508079528809 + ], + [ + "▁aleg", + -12.490621566772461 + ], + [ + "▁Discovery", + -12.490755081176758 + ], + [ + "▁Vienna", + -12.490960121154785 + ], + [ + "▁Kategorie", + -12.490961074829102 + ], + [ + "▁Cotton", + -12.490962028503418 + ], + [ + "▁$200", + -12.491043090820312 + ], + [ + "▁Drei", + -12.491052627563477 + ], + [ + "▁reicht", + -12.491168975830078 + ], + [ + "speicher", + -12.491231918334961 + ], + [ + "▁Immobilien", + -12.491483688354492 + ], + [ + "gefühl", + -12.491509437561035 + ], + [ + "make", + -12.491525650024414 + ], + [ + "pell", + -12.49155044555664 + ], + [ + "▁dull", + -12.491598129272461 + ], + [ + "▁arbeitet", + -12.491681098937988 + ], + [ + "retaining", + -12.491700172424316 + ], + [ + "losen", + -12.491707801818848 + ], + [ + "match", + -12.491876602172852 + ], + [ + "-60", + -12.491880416870117 + ], + [ + "▁ecological", + -12.492000579833984 + ], + [ + "▁vend", + -12.492051124572754 + ], + [ + "▁grammar", + -12.492061614990234 + ], + [ + "▁1:1", + -12.492225646972656 + ], + [ + "grilled", + -12.492279052734375 + ], + [ + "geordnet", + -12.492321014404297 + ], + [ + "▁Pav", + -12.49236011505127 + ], + [ + "▁Depot", + -12.492368698120117 + ], + [ + "▁Walking", + -12.492372512817383 + ], + [ + "teamed", + -12.492402076721191 + ], + [ + "▁torque", + -12.492537498474121 + ], + [ + "▁Venture", + -12.492659568786621 + ], + [ + "▁beginner", + -12.49269962310791 + ], + [ + "▁Monaten", + -12.492712020874023 + ], + [ + "▁Pune", + -12.493054389953613 + ], + [ + "connect", + -12.493075370788574 + ], + [ + "▁textbook", + -12.493132591247559 + ], + [ + "▁unprecedented", + -12.49314022064209 + ], + [ + "▁implied", + -12.493168830871582 + ], + [ + "▁cubic", + -12.493668556213379 + ], + [ + "enthält", + -12.493696212768555 + ], + [ + "▁Brenn", + -12.49388313293457 + ], + [ + "▁Expect", + -12.49394416809082 + ], + [ + "▁lever", + -12.4939603805542 + ], + [ + "veux", + -12.49399185180664 + ], + [ + "▁Claire", + -12.494112968444824 + ], + [ + "Acc", + -12.49432373046875 + ], + [ + "▁Typ", + -12.494478225708008 + ], + [ + "▁smoothie", + -12.494501113891602 + ], + [ + "▁Idaho", + -12.494780540466309 + ], + [ + "▁spati", + -12.494802474975586 + ], + [ + "▁bénéficier", + -12.49488353729248 + ], + [ + "▁Kle", + -12.495161056518555 + ], + [ + "▁serviciilor", + -12.495169639587402 + ], + [ + "▁prohibit", + -12.495267868041992 + ], + [ + "EAD", + -12.495417594909668 + ], + [ + "▁Turner", + -12.495418548583984 + ], + [ + "▁elibera", + -12.49543571472168 + ], + [ + "▁payday", + -12.495464324951172 + ], + [ + "▁prolong", + -12.495466232299805 + ], + [ + "▁sued", + -12.495481491088867 + ], + [ + "▁Devil", + -12.495536804199219 + ], + [ + "▁Skills", + -12.495552062988281 + ], + [ + "▁Marcel", + -12.495553970336914 + ], + [ + "▁silhouette", + -12.495601654052734 + ], + [ + "▁preț", + -12.495742797851562 + ], + [ + "▁Gö", + -12.495747566223145 + ], + [ + "▁Creator", + -12.495774269104004 + ], + [ + "fed", + -12.4959077835083 + ], + [ + "Cap", + -12.495997428894043 + ], + [ + "▁dedicate", + -12.496042251586914 + ], + [ + "0000", + -12.496124267578125 + ], + [ + "▁VAT", + -12.496259689331055 + ], + [ + "▁Firefox", + -12.496443748474121 + ], + [ + "▁therapies", + -12.496477127075195 + ], + [ + "▁screws", + -12.496662139892578 + ], + [ + "▁Province", + -12.496697425842285 + ], + [ + "▁problematic", + -12.496871948242188 + ], + [ + "▁Vid", + -12.496915817260742 + ], + [ + "▁Lost", + -12.496950149536133 + ], + [ + "▁elegance", + -12.497520446777344 + ], + [ + "▁Elegant", + -12.497525215148926 + ], + [ + "ignant", + -12.497573852539062 + ], + [ + "▁darin", + -12.497649192810059 + ], + [ + "▁anonym", + -12.497669219970703 + ], + [ + "▁vegeta", + -12.49767780303955 + ], + [ + "incoming", + -12.497762680053711 + ], + [ + "▁pills", + -12.497846603393555 + ], + [ + "governing", + -12.497893333435059 + ], + [ + "▁Haven", + -12.497920989990234 + ], + [ + "paper", + -12.497947692871094 + ], + [ + "räume", + -12.497979164123535 + ], + [ + "paw", + -12.498099327087402 + ], + [ + "▁spelling", + -12.498283386230469 + ], + [ + "ambele", + -12.498318672180176 + ], + [ + "▁reprezentat", + -12.498371124267578 + ], + [ + "▁mâ", + -12.49853515625 + ], + [ + "wirtschaftliche", + -12.498558044433594 + ], + [ + "▁valabil", + -12.498579025268555 + ], + [ + "▁konkret", + -12.498618125915527 + ], + [ + "▁financier", + -12.498619079589844 + ], + [ + "▁irre", + -12.499135971069336 + ], + [ + "▁Silicon", + -12.499171257019043 + ], + [ + "Viv", + -12.499181747436523 + ], + [ + "▁viruses", + -12.49927043914795 + ], + [ + "▁CNN", + -12.499324798583984 + ], + [ + "▁erleben", + -12.499482154846191 + ], + [ + "gina", + -12.499492645263672 + ], + [ + "punctul", + -12.49951457977295 + ], + [ + "▁Sfânt", + -12.499753952026367 + ], + [ + "▁Manage", + -12.499811172485352 + ], + [ + "▁payable", + -12.499984741210938 + ], + [ + "▁practitioner", + -12.500143051147461 + ], + [ + "▁conférence", + -12.50026798248291 + ], + [ + "▁drought", + -12.50027084350586 + ], + [ + "▁devote", + -12.500361442565918 + ], + [ + "wertung", + -12.500420570373535 + ], + [ + "stabil", + -12.5004301071167 + ], + [ + "▁balcon", + -12.500553131103516 + ], + [ + "▁Lebensmittel", + -12.500603675842285 + ], + [ + "COL", + -12.500950813293457 + ], + [ + "▁Domnul", + -12.501093864440918 + ], + [ + "carved", + -12.501359939575195 + ], + [ + "▁preparat", + -12.5014009475708 + ], + [ + "101", + -12.501537322998047 + ], + [ + "▁specimen", + -12.501580238342285 + ], + [ + "urgeon", + -12.501596450805664 + ], + [ + "LIC", + -12.50163459777832 + ], + [ + "Plattform", + -12.501643180847168 + ], + [ + "▁ramas", + -12.501739501953125 + ], + [ + "▁copilului", + -12.501791954040527 + ], + [ + "bacter", + -12.501812934875488 + ], + [ + "körper", + -12.501940727233887 + ], + [ + "▁Kru", + -12.501981735229492 + ], + [ + "▁Employ", + -12.502055168151855 + ], + [ + "office", + -12.502080917358398 + ], + [ + "▁simmer", + -12.502120018005371 + ], + [ + "qualität", + -12.502137184143066 + ], + [ + "▁freshly", + -12.502215385437012 + ], + [ + "▁Nine", + -12.50223159790039 + ], + [ + "▁tonnes", + -12.50223445892334 + ], + [ + "boden", + -12.502236366271973 + ], + [ + "enquête", + -12.50240707397461 + ], + [ + "▁Colour", + -12.502481460571289 + ], + [ + "▁Diagram", + -12.502495765686035 + ], + [ + "▁gewählt", + -12.502516746520996 + ], + [ + "▁viitoare", + -12.502538681030273 + ], + [ + "▁reporters", + -12.502913475036621 + ], + [ + "guer", + -12.502991676330566 + ], + [ + "▁Kombination", + -12.503021240234375 + ], + [ + "▁qualitative", + -12.50302505493164 + ], + [ + "Centrul", + -12.503131866455078 + ], + [ + "avy", + -12.503170013427734 + ], + [ + "▁Eng", + -12.503175735473633 + ], + [ + "▁sufletul", + -12.50327205657959 + ], + [ + "▁germ", + -12.503412246704102 + ], + [ + "▁prevented", + -12.503448486328125 + ], + [ + "appelle", + -12.503533363342285 + ], + [ + "gins", + -12.503556251525879 + ], + [ + "▁Skype", + -12.503585815429688 + ], + [ + "conditioned", + -12.503617286682129 + ], + [ + "▁clutch", + -12.503641128540039 + ], + [ + "environ", + -12.503694534301758 + ], + [ + "3.3", + -12.503774642944336 + ], + [ + "▁webinar", + -12.503866195678711 + ], + [ + "▁forty", + -12.504104614257812 + ], + [ + "▁Medicaid", + -12.504127502441406 + ], + [ + "▁dismissed", + -12.504167556762695 + ], + [ + "▁siblings", + -12.504168510437012 + ], + [ + "▁Jaw", + -12.504196166992188 + ], + [ + "guiding", + -12.504220962524414 + ], + [ + "cigarette", + -12.504374504089355 + ], + [ + "▁Shah", + -12.504681587219238 + ], + [ + "▁Lehrer", + -12.504684448242188 + ], + [ + "▁muscular", + -12.504694938659668 + ], + [ + "spatele", + -12.504796981811523 + ], + [ + "▁réduction", + -12.504836082458496 + ], + [ + "▁fixes", + -12.504851341247559 + ], + [ + "Span", + -12.50511646270752 + ], + [ + "▁Hudson", + -12.505231857299805 + ], + [ + "development", + -12.505250930786133 + ], + [ + "▁excluded", + -12.50525951385498 + ], + [ + "Democrat", + -12.505260467529297 + ], + [ + "▁nominal", + -12.505317687988281 + ], + [ + "purpose", + -12.50540828704834 + ], + [ + "▁bored", + -12.505500793457031 + ], + [ + "espèce", + -12.50550651550293 + ], + [ + "▁(30", + -12.5055570602417 + ], + [ + "Neither", + -12.505608558654785 + ], + [ + "hänge", + -12.505610466003418 + ], + [ + "square", + -12.505728721618652 + ], + [ + "voller", + -12.505736351013184 + ], + [ + "▁pertinent", + -12.505783081054688 + ], + [ + "▁Wool", + -12.50595474243164 + ], + [ + "settling", + -12.50607681274414 + ], + [ + "fangen", + -12.506148338317871 + ], + [ + "▁Testing", + -12.506152153015137 + ], + [ + "distin", + -12.506196022033691 + ], + [ + "▁Marken", + -12.506227493286133 + ], + [ + "▁Beta", + -12.506300926208496 + ], + [ + "▁fulfilling", + -12.506339073181152 + ], + [ + "Leider", + -12.506357192993164 + ], + [ + "black", + -12.506389617919922 + ], + [ + "occupe", + -12.50658893585205 + ], + [ + "itățile", + -12.506688117980957 + ], + [ + "Pay", + -12.506887435913086 + ], + [ + "▁bandwidth", + -12.506890296936035 + ], + [ + "▁neighbourhood", + -12.506918907165527 + ], + [ + "▁Gutschein", + -12.506922721862793 + ], + [ + "degree", + -12.507055282592773 + ], + [ + "ivité", + -12.507116317749023 + ], + [ + "4.1", + -12.507169723510742 + ], + [ + "▁tätig", + -12.507170677185059 + ], + [ + "topic", + -12.507242202758789 + ], + [ + "ätz", + -12.507243156433105 + ], + [ + "these", + -12.50733470916748 + ], + [ + "▁propriété", + -12.507438659667969 + ], + [ + "▁innings", + -12.507458686828613 + ], + [ + "▁Prevention", + -12.50754165649414 + ], + [ + "▁Saw", + -12.507585525512695 + ], + [ + "▁opener", + -12.507752418518066 + ], + [ + "entwicklung", + -12.507824897766113 + ], + [ + "▁Johann", + -12.507865905761719 + ], + [ + "▁statistic", + -12.507881164550781 + ], + [ + "oids", + -12.507966995239258 + ], + [ + "▁Delaware", + -12.508000373840332 + ], + [ + "▁Isle", + -12.508001327514648 + ], + [ + "▁accompagn", + -12.508028984069824 + ], + [ + "▁Risiko", + -12.508079528808594 + ], + [ + "▁Conform", + -12.508268356323242 + ], + [ + "zeichnen", + -12.508395195007324 + ], + [ + "▁acuz", + -12.508479118347168 + ], + [ + "▁Mort", + -12.508524894714355 + ], + [ + "Fällen", + -12.50853157043457 + ], + [ + "▁blended", + -12.50871467590332 + ], + [ + "found", + -12.50872802734375 + ], + [ + "▁gestalten", + -12.50874137878418 + ], + [ + "▁Découvrez", + -12.508830070495605 + ], + [ + "▁Wett", + -12.508956909179688 + ], + [ + "▁débat", + -12.508990287780762 + ], + [ + "▁Tire", + -12.509007453918457 + ], + [ + "benz", + -12.509037017822266 + ], + [ + "Yes", + -12.509074211120605 + ], + [ + "▁pierde", + -12.509110450744629 + ], + [ + "▁niciodata", + -12.509121894836426 + ], + [ + "▁precipit", + -12.509145736694336 + ], + [ + "▁lazy", + -12.509334564208984 + ], + [ + "▁creature", + -12.509370803833008 + ], + [ + "Wettbewerb", + -12.509385108947754 + ], + [ + "▁Explo", + -12.509496688842773 + ], + [ + "wolf", + -12.509657859802246 + ], + [ + "▁conséquence", + -12.509662628173828 + ], + [ + "▁jewellery", + -12.509662628173828 + ], + [ + "▁Extension", + -12.509735107421875 + ], + [ + "▁transmitted", + -12.509872436523438 + ], + [ + "▁darker", + -12.509973526000977 + ], + [ + "▁simbol", + -12.510065078735352 + ], + [ + "kim", + -12.510069847106934 + ], + [ + "▁proteja", + -12.510098457336426 + ], + [ + "▁Copper", + -12.510189056396484 + ], + [ + "mitglied", + -12.510218620300293 + ], + [ + "▁explosive", + -12.510222434997559 + ], + [ + "▁Nicolae", + -12.510223388671875 + ], + [ + "▁intricate", + -12.510231971740723 + ], + [ + "lati", + -12.510313034057617 + ], + [ + "Mark", + -12.510334014892578 + ], + [ + "▁Porsche", + -12.510339736938477 + ], + [ + "▁Revenue", + -12.510479927062988 + ], + [ + "4.2", + -12.510613441467285 + ], + [ + "certain", + -12.510836601257324 + ], + [ + "▁Coaching", + -12.510879516601562 + ], + [ + "▁allocated", + -12.510879516601562 + ], + [ + "▁optimiz", + -12.511017799377441 + ], + [ + "▁heel", + -12.511205673217773 + ], + [ + "▁indigenous", + -12.511330604553223 + ], + [ + "▁vineri", + -12.511396408081055 + ], + [ + "▁Inspector", + -12.51145076751709 + ], + [ + "▁colleague", + -12.5115327835083 + ], + [ + "ANG", + -12.511649131774902 + ], + [ + "éducation", + -12.511887550354004 + ], + [ + "▁Geschenk", + -12.51188850402832 + ], + [ + "channel", + -12.511899948120117 + ], + [ + "▁trapped", + -12.511954307556152 + ], + [ + "BF", + -12.511974334716797 + ], + [ + "▁firing", + -12.512086868286133 + ], + [ + "▁chlor", + -12.512103080749512 + ], + [ + "▁Carlos", + -12.512115478515625 + ], + [ + "▁proxy", + -12.512128829956055 + ], + [ + "▁pinch", + -12.512167930603027 + ], + [ + "▁Pete", + -12.512201309204102 + ], + [ + "phospho", + -12.512458801269531 + ], + [ + "▁waiver", + -12.51246452331543 + ], + [ + "▁Croatia", + -12.512480735778809 + ], + [ + "▁behave", + -12.51258373260498 + ], + [ + "▁frig", + -12.512676239013672 + ], + [ + "▁Vorteil", + -12.51279067993164 + ], + [ + "▁wichtiger", + -12.512837409973145 + ], + [ + "........", + -12.512929916381836 + ], + [ + "▁flick", + -12.513007164001465 + ], + [ + "▁Stanford", + -12.51306438446045 + ], + [ + "öse", + -12.513096809387207 + ], + [ + "▁Fernseh", + -12.513099670410156 + ], + [ + "▁vélo", + -12.51322078704834 + ], + [ + "reisen", + -12.513304710388184 + ], + [ + "residing", + -12.513504981994629 + ], + [ + "▁Taste", + -12.513580322265625 + ], + [ + "▁disappeared", + -12.513630867004395 + ], + [ + "▁Hood", + -12.513776779174805 + ], + [ + "▁fabriqu", + -12.514046669006348 + ], + [ + "▁Jake", + -12.514470100402832 + ], + [ + "Lastly", + -12.51462173461914 + ], + [ + "▁furnace", + -12.514673233032227 + ], + [ + "▁Ottawa", + -12.51473331451416 + ], + [ + "▁dictate", + -12.514742851257324 + ], + [ + "zece", + -12.514817237854004 + ], + [ + "protect", + -12.514932632446289 + ], + [ + "FU", + -12.51495361328125 + ], + [ + "Stack", + -12.514954566955566 + ], + [ + "▁teilweise", + -12.515018463134766 + ], + [ + "▁Publisher", + -12.51506233215332 + ], + [ + "▁lutte", + -12.515159606933594 + ], + [ + "202", + -12.515178680419922 + ], + [ + "psy", + -12.515190124511719 + ], + [ + "▁wünschen", + -12.515238761901855 + ], + [ + "▁pathways", + -12.515356063842773 + ], + [ + "ivitate", + -12.515559196472168 + ], + [ + "▁continuă", + -12.515658378601074 + ], + [ + "ziemlich", + -12.515791893005371 + ], + [ + "verted", + -12.515812873840332 + ], + [ + "▁sequel", + -12.515839576721191 + ], + [ + "tinct", + -12.51599407196045 + ], + [ + "vette", + -12.516020774841309 + ], + [ + "▁exceeding", + -12.516032218933105 + ], + [ + "▁Yorkshire", + -12.51607608795166 + ], + [ + "▁cleanse", + -12.51613998413086 + ], + [ + "Sadly", + -12.516159057617188 + ], + [ + "▁präsentiert", + -12.516164779663086 + ], + [ + "angled", + -12.516311645507812 + ], + [ + "tude", + -12.516339302062988 + ], + [ + "chain", + -12.516371726989746 + ], + [ + "▁Oakland", + -12.51639175415039 + ], + [ + "xia", + -12.516514778137207 + ], + [ + "▁foremost", + -12.51653003692627 + ], + [ + "▁incomplete", + -12.516786575317383 + ], + [ + "▁restriction", + -12.516905784606934 + ], + [ + "▁whatsoever", + -12.516908645629883 + ], + [ + "▁shipment", + -12.517017364501953 + ], + [ + "**", + -12.517059326171875 + ], + [ + "Aici", + -12.517110824584961 + ], + [ + "PART", + -12.517247200012207 + ], + [ + "▁grams", + -12.517251014709473 + ], + [ + "▁Folk", + -12.517457008361816 + ], + [ + "▁encryption", + -12.517467498779297 + ], + [ + "▁Alfred", + -12.517748832702637 + ], + [ + "▁Veränderung", + -12.517749786376953 + ], + [ + "▁privately", + -12.517817497253418 + ], + [ + "£", + -12.517909049987793 + ], + [ + "▁Sonne", + -12.51799201965332 + ], + [ + "kow", + -12.518117904663086 + ], + [ + "▁CBS", + -12.518172264099121 + ], + [ + "▁Feuer", + -12.518198013305664 + ], + [ + "▁crushed", + -12.518230438232422 + ], + [ + "▁cazare", + -12.518270492553711 + ], + [ + "▁beraten", + -12.518401145935059 + ], + [ + "envoi", + -12.518423080444336 + ], + [ + "▁genannt", + -12.51843547821045 + ], + [ + "▁Lok", + -12.518472671508789 + ], + [ + "nox", + -12.518569946289062 + ], + [ + "wishing", + -12.518759727478027 + ], + [ + "▁freak", + -12.518759727478027 + ], + [ + "rasi", + -12.51879596710205 + ], + [ + "▁calculations", + -12.518888473510742 + ], + [ + "▁sprechen", + -12.51890754699707 + ], + [ + "5:00", + -12.519062042236328 + ], + [ + "▁Gam", + -12.519074440002441 + ], + [ + "▁invasion", + -12.519159317016602 + ], + [ + "ZA", + -12.519230842590332 + ], + [ + "aiming", + -12.519327163696289 + ], + [ + "▁näher", + -12.519404411315918 + ], + [ + "▁Maßnahmen", + -12.519433975219727 + ], + [ + "▁măsură", + -12.519490242004395 + ], + [ + "▁Bestellung", + -12.519610404968262 + ], + [ + "▁gown", + -12.519665718078613 + ], + [ + "▁oblige", + -12.519747734069824 + ], + [ + "länder", + -12.51977825164795 + ], + [ + "posi", + -12.519853591918945 + ], + [ + "▁Earn", + -12.51988410949707 + ], + [ + "▁dubl", + -12.51999282836914 + ], + [ + "▁sticky", + -12.520100593566895 + ], + [ + "▁litter", + -12.520181655883789 + ], + [ + "▁Salz", + -12.520257949829102 + ], + [ + "▁Matter", + -12.520272254943848 + ], + [ + "▁Driving", + -12.520275115966797 + ], + [ + "▁pursu", + -12.520285606384277 + ], + [ + "ographer", + -12.520390510559082 + ], + [ + "▁touring", + -12.520400047302246 + ], + [ + "opter", + -12.520444869995117 + ], + [ + "▁fierce", + -12.520475387573242 + ], + [ + "▁Audit", + -12.520480155944824 + ], + [ + "▁imperi", + -12.520755767822266 + ], + [ + "▁positiv", + -12.520780563354492 + ], + [ + "règles", + -12.520849227905273 + ], + [ + "▁bouton", + -12.520990371704102 + ], + [ + "▁victorie", + -12.520990371704102 + ], + [ + "▁manuel", + -12.521015167236328 + ], + [ + "▁await", + -12.52103042602539 + ], + [ + "▁transformer", + -12.521041870117188 + ], + [ + "▁cupboard", + -12.52108383178711 + ], + [ + "▁Hag", + -12.521117210388184 + ], + [ + "naj", + -12.521214485168457 + ], + [ + "▁annoncé", + -12.52139663696289 + ], + [ + "▁scolaire", + -12.521401405334473 + ], + [ + "▁étape", + -12.521482467651367 + ], + [ + "▁pirate", + -12.521761894226074 + ], + [ + "▁Rated", + -12.521794319152832 + ], + [ + "LOT", + -12.521846771240234 + ], + [ + "▁natura", + -12.521944046020508 + ], + [ + "oga", + -12.522336959838867 + ], + [ + "Read", + -12.522388458251953 + ], + [ + "idio", + -12.522444725036621 + ], + [ + "▁recession", + -12.522698402404785 + ], + [ + "veţi", + -12.522761344909668 + ], + [ + "▁blossom", + -12.523082733154297 + ], + [ + "▁lunar", + -12.523141860961914 + ], + [ + "▁inhibit", + -12.52316951751709 + ], + [ + "gemein", + -12.523219108581543 + ], + [ + "▁Historic", + -12.523262023925781 + ], + [ + "▁HTTP", + -12.523370742797852 + ], + [ + "misiune", + -12.5234956741333 + ], + [ + "▁Manda", + -12.523601531982422 + ], + [ + "▁Hurricane", + -12.523643493652344 + ], + [ + "Strat", + -12.523646354675293 + ], + [ + "▁populaire", + -12.523756980895996 + ], + [ + "▁useless", + -12.523762702941895 + ], + [ + "▁Leipzig", + -12.523924827575684 + ], + [ + "▁Krankheit", + -12.52392578125 + ], + [ + "▁Bonne", + -12.52397346496582 + ], + [ + "▁tissu", + -12.52399730682373 + ], + [ + "▁Baum", + -12.523998260498047 + ], + [ + "▁BUT", + -12.524152755737305 + ], + [ + "▁Mondial", + -12.52423095703125 + ], + [ + "▁triangle", + -12.524242401123047 + ], + [ + "▁Tesla", + -12.524250984191895 + ], + [ + "▁pământ", + -12.52430534362793 + ], + [ + "▁aminte", + -12.524726867675781 + ], + [ + "▁vehicul", + -12.524770736694336 + ], + [ + "▁cerut", + -12.52482795715332 + ], + [ + "▁respiratory", + -12.524836540222168 + ], + [ + "▁rayon", + -12.524993896484375 + ], + [ + "▁gestaltet", + -12.525067329406738 + ], + [ + "310", + -12.525139808654785 + ], + [ + "pfl", + -12.525239944458008 + ], + [ + "▁shrimp", + -12.525337219238281 + ], + [ + "▁reconnu", + -12.525409698486328 + ], + [ + "ologique", + -12.525476455688477 + ], + [ + "▁unity", + -12.525674819946289 + ], + [ + "Speicher", + -12.52569580078125 + ], + [ + "▁Movement", + -12.525794982910156 + ], + [ + "ddling", + -12.52581787109375 + ], + [ + "OE", + -12.525818824768066 + ], + [ + "▁Resolution", + -12.525863647460938 + ], + [ + "esteem", + -12.525898933410645 + ], + [ + "▁Teen", + -12.526288986206055 + ], + [ + "▁believing", + -12.526463508605957 + ], + [ + "▁Tipps", + -12.526481628417969 + ], + [ + "jpg", + -12.526494026184082 + ], + [ + "▁obs", + -12.526519775390625 + ], + [ + "SHA", + -12.526702880859375 + ], + [ + "▁quietly", + -12.526907920837402 + ], + [ + "setting", + -12.52712345123291 + ], + [ + "▁elevator", + -12.527185440063477 + ], + [ + "phor", + -12.527194023132324 + ], + [ + "Just", + -12.52725887298584 + ], + [ + "▁legatura", + -12.52739143371582 + ], + [ + "elected", + -12.527414321899414 + ], + [ + "▁disclosed", + -12.527419090270996 + ], + [ + "quarter", + -12.52743148803711 + ], + [ + "zzy", + -12.527461051940918 + ], + [ + "▁gata", + -12.527491569519043 + ], + [ + "SAN", + -12.527532577514648 + ], + [ + "▁Cathedral", + -12.527592658996582 + ], + [ + "192", + -12.527656555175781 + ], + [ + "▁RBI", + -12.527726173400879 + ], + [ + "▁Seller", + -12.527798652648926 + ], + [ + "▁urine", + -12.527807235717773 + ], + [ + "▁Hardware", + -12.527966499328613 + ], + [ + "▁steadi", + -12.527993202209473 + ], + [ + "percussion", + -12.528158187866211 + ], + [ + "▁francez", + -12.528172492980957 + ], + [ + "▁rude", + -12.528202056884766 + ], + [ + "bod", + -12.528223037719727 + ], + [ + "cession", + -12.528249740600586 + ], + [ + "▁HTC", + -12.528372764587402 + ], + [ + "HB", + -12.528576850891113 + ], + [ + "▁descent", + -12.528644561767578 + ], + [ + "▁Painting", + -12.528681755065918 + ], + [ + "119", + -12.528684616088867 + ], + [ + "sagen", + -12.52877426147461 + ], + [ + "▁salvation", + -12.52880573272705 + ], + [ + "arro", + -12.528814315795898 + ], + [ + "0.3", + -12.52886962890625 + ], + [ + "▁Duck", + -12.52890396118164 + ], + [ + "Mit", + -12.529052734375 + ], + [ + "да", + -12.52927017211914 + ], + [ + "▁Diesel", + -12.529322624206543 + ], + [ + "▁Medal", + -12.529413223266602 + ], + [ + "▁interim", + -12.529439926147461 + ], + [ + "▁montagne", + -12.529439926147461 + ], + [ + "▁Pixel", + -12.529631614685059 + ], + [ + "LINE", + -12.529806137084961 + ], + [ + "▁dureri", + -12.529938697814941 + ], + [ + "▁Bengal", + -12.529990196228027 + ], + [ + "Legea", + -12.530080795288086 + ], + [ + "▁Strecke", + -12.530094146728516 + ], + [ + "▁schneller", + -12.53012752532959 + ], + [ + "▁Karten", + -12.5301513671875 + ], + [ + "cion", + -12.530241966247559 + ], + [ + "▁Coco", + -12.53037166595459 + ], + [ + "troisième", + -12.53052806854248 + ], + [ + "401", + -12.530616760253906 + ], + [ + "▁sandwiches", + -12.530704498291016 + ], + [ + "▁folosind", + -12.530920028686523 + ], + [ + "▁Folgen", + -12.530953407287598 + ], + [ + "▁triumph", + -12.530991554260254 + ], + [ + "▁Hintergrund", + -12.530996322631836 + ], + [ + "▁revelation", + -12.531084060668945 + ], + [ + "ôme", + -12.531222343444824 + ], + [ + "▁Nex", + -12.531245231628418 + ], + [ + "jährigen", + -12.531295776367188 + ], + [ + "▁militant", + -12.531296730041504 + ], + [ + "▁fabricant", + -12.531671524047852 + ], + [ + "iano", + -12.531713485717773 + ], + [ + "▁formulation", + -12.53188705444336 + ], + [ + "integrating", + -12.532050132751465 + ], + [ + "▁Items", + -12.532142639160156 + ], + [ + "▁contractual", + -12.532320976257324 + ], + [ + "AIDS", + -12.532424926757812 + ], + [ + "▁pitcher", + -12.532610893249512 + ], + [ + "▁Snap", + -12.532623291015625 + ], + [ + "▁systematic", + -12.532663345336914 + ], + [ + "▁referendum", + -12.532694816589355 + ], + [ + "gau", + -12.53281021118164 + ], + [ + "administration", + -12.532917022705078 + ], + [ + "▁speci", + -12.532981872558594 + ], + [ + "ieni", + -12.532998085021973 + ], + [ + "prox", + -12.533186912536621 + ], + [ + "▁bouquet", + -12.533241271972656 + ], + [ + "▁sinnvoll", + -12.533270835876465 + ], + [ + "▁Fleisch", + -12.533309936523438 + ], + [ + "ktuell", + -12.533381462097168 + ], + [ + "▁mushrooms", + -12.533408164978027 + ], + [ + "▁Straf", + -12.533470153808594 + ], + [ + "▁cresc", + -12.533491134643555 + ], + [ + "TEM", + -12.533502578735352 + ], + [ + "▁vindec", + -12.53352165222168 + ], + [ + "▁Drama", + -12.533540725708008 + ], + [ + "chief", + -12.533550262451172 + ], + [ + "▁müsst", + -12.533614158630371 + ], + [ + "▁Warner", + -12.533662796020508 + ], + [ + "118", + -12.533761024475098 + ], + [ + "▁saptamana", + -12.533831596374512 + ], + [ + "▁animaux", + -12.53412914276123 + ], + [ + "▁Directory", + -12.534146308898926 + ], + [ + "▁entgegen", + -12.53415584564209 + ], + [ + "▁deduction", + -12.534156799316406 + ], + [ + "▁Strategic", + -12.53426456451416 + ], + [ + "▁rats", + -12.534419059753418 + ], + [ + "▁Moses", + -12.534448623657227 + ], + [ + "eko", + -12.534564971923828 + ], + [ + "strict", + -12.534590721130371 + ], + [ + "▁Ashley", + -12.534603118896484 + ], + [ + "mik", + -12.534622192382812 + ], + [ + "▁relocate", + -12.534668922424316 + ], + [ + "▁whip", + -12.534738540649414 + ], + [ + "central", + -12.534750938415527 + ], + [ + "mack", + -12.534892082214355 + ], + [ + "stufe", + -12.534961700439453 + ], + [ + "▁Metropolitan", + -12.5349702835083 + ], + [ + "▁croissance", + -12.534974098205566 + ], + [ + "▁celebrities", + -12.535021781921387 + ], + [ + "▁Geh", + -12.53507137298584 + ], + [ + "▁verifica", + -12.535196304321289 + ], + [ + "▁satisfac", + -12.535211563110352 + ], + [ + "▁Julian", + -12.535271644592285 + ], + [ + "▁remotely", + -12.535432815551758 + ], + [ + "▁Safari", + -12.535542488098145 + ], + [ + "▁Chic", + -12.53557014465332 + ], + [ + "▁clamp", + -12.535818099975586 + ], + [ + "▁Schnee", + -12.535918235778809 + ], + [ + "grown", + -12.536069869995117 + ], + [ + "▁Character", + -12.536110877990723 + ], + [ + "▁charities", + -12.536137580871582 + ], + [ + "Thankfully", + -12.536625862121582 + ], + [ + "▁țară", + -12.53681468963623 + ], + [ + "IZ", + -12.536816596984863 + ], + [ + "Vielleicht", + -12.536999702453613 + ], + [ + "▁Pon", + -12.537108421325684 + ], + [ + "gegen", + -12.53711986541748 + ], + [ + "chez", + -12.537185668945312 + ], + [ + "Black", + -12.537544250488281 + ], + [ + "▁alimentare", + -12.537555694580078 + ], + [ + "▁verloren", + -12.537562370300293 + ], + [ + "▁predictions", + -12.537657737731934 + ], + [ + "Founded", + -12.53795337677002 + ], + [ + "▁femeie", + -12.538022994995117 + ], + [ + "wahrscheinlich", + -12.538107872009277 + ], + [ + "▁squeeze", + -12.53819465637207 + ], + [ + "▁verfügbar", + -12.538259506225586 + ], + [ + "▁hygiene", + -12.538393020629883 + ], + [ + "voire", + -12.538667678833008 + ], + [ + "▁birou", + -12.538901329040527 + ], + [ + "▁initiate", + -12.538921356201172 + ], + [ + "▁Patriot", + -12.539009094238281 + ], + [ + "▁Income", + -12.539159774780273 + ], + [ + "▁marry", + -12.539310455322266 + ], + [ + "lokal", + -12.539336204528809 + ], + [ + "logic", + -12.53940486907959 + ], + [ + "▁Abstract", + -12.53966236114502 + ], + [ + "▁grundsätzlich", + -12.539822578430176 + ], + [ + "▁tariff", + -12.539886474609375 + ], + [ + "▁definitiv", + -12.539892196655273 + ], + [ + "paz", + -12.53989315032959 + ], + [ + "Result", + -12.539921760559082 + ], + [ + "1:30", + -12.54005241394043 + ], + [ + "▁Latest", + -12.540075302124023 + ], + [ + "▁Dauer", + -12.540155410766602 + ], + [ + "Med", + -12.540275573730469 + ], + [ + "gewicht", + -12.540348052978516 + ], + [ + "▁Gaza", + -12.540430068969727 + ], + [ + "▁Newton", + -12.540769577026367 + ], + [ + "Dokument", + -12.540897369384766 + ], + [ + "formular", + -12.540945053100586 + ], + [ + "ILE", + -12.540964126586914 + ], + [ + "▁surse", + -12.541040420532227 + ], + [ + "MH", + -12.54116153717041 + ], + [ + "▁Arctic", + -12.541255950927734 + ], + [ + "▁ISBN", + -12.541274070739746 + ], + [ + "▁quarterback", + -12.541315078735352 + ], + [ + "▁absurd", + -12.541555404663086 + ], + [ + "▁Zusammenhang", + -12.541561126708984 + ], + [ + "▁Module", + -12.54156494140625 + ], + [ + "mented", + -12.541667938232422 + ], + [ + "worthy", + -12.541797637939453 + ], + [ + "▁célèbre", + -12.541828155517578 + ], + [ + "▁maritime", + -12.541836738586426 + ], + [ + "▁Reed", + -12.541938781738281 + ], + [ + "▁threaten", + -12.542037010192871 + ], + [ + "▁Satz", + -12.542095184326172 + ], + [ + "▁sticking", + -12.542203903198242 + ], + [ + "▁transcript", + -12.542372703552246 + ], + [ + "▁Morgen", + -12.542425155639648 + ], + [ + "▁Förder", + -12.542435646057129 + ], + [ + "▁Gottes", + -12.542572021484375 + ], + [ + "▁Coordinator", + -12.542648315429688 + ], + [ + "LOG", + -12.54265022277832 + ], + [ + "EAN", + -12.542677879333496 + ], + [ + "▁préparation", + -12.54273509979248 + ], + [ + "▁Brass", + -12.542799949645996 + ], + [ + "Așa", + -12.542853355407715 + ], + [ + "▁Utiliz", + -12.54294490814209 + ], + [ + "framed", + -12.542973518371582 + ], + [ + "▁asphalt", + -12.543050765991211 + ], + [ + "116", + -12.543061256408691 + ], + [ + "▁historically", + -12.54310417175293 + ], + [ + "▁doamn", + -12.543176651000977 + ], + [ + "Air", + -12.543293952941895 + ], + [ + "▁economist", + -12.543838500976562 + ], + [ + "fresh", + -12.54384994506836 + ], + [ + "engine", + -12.543906211853027 + ], + [ + "▁Rücken", + -12.543919563293457 + ], + [ + "▁worthwhile", + -12.544124603271484 + ], + [ + "▁Therapie", + -12.544140815734863 + ], + [ + "▁Joshua", + -12.544151306152344 + ], + [ + "sicherheit", + -12.544175148010254 + ], + [ + "▁scena", + -12.544254302978516 + ], + [ + "ifiant", + -12.54433822631836 + ], + [ + "/20", + -12.54442024230957 + ], + [ + "fehl", + -12.544469833374023 + ], + [ + "karten", + -12.544515609741211 + ], + [ + "501", + -12.544656753540039 + ], + [ + "▁vide", + -12.544673919677734 + ], + [ + "▁miliarde", + -12.544699668884277 + ], + [ + "▁trillion", + -12.54470157623291 + ], + [ + "oudre", + -12.544761657714844 + ], + [ + "nderung", + -12.544803619384766 + ], + [ + "▁inquiries", + -12.544992446899414 + ], + [ + "▁echipe", + -12.545034408569336 + ], + [ + "▁investiga", + -12.545040130615234 + ], + [ + "▁detailing", + -12.545042991638184 + ], + [ + "VIS", + -12.545086860656738 + ], + [ + "▁geographical", + -12.545157432556152 + ], + [ + "▁authentication", + -12.54519271850586 + ], + [ + "▁Schwa", + -12.545201301574707 + ], + [ + "▁Scri", + -12.545230865478516 + ], + [ + "▁discourage", + -12.54527473449707 + ], + [ + "Pass", + -12.54529094696045 + ], + [ + "▁scattered", + -12.54529857635498 + ], + [ + "▁langsam", + -12.545300483703613 + ], + [ + "telles", + -12.545380592346191 + ], + [ + "▁ramane", + -12.5454740524292 + ], + [ + "▁inhibitor", + -12.545486450195312 + ], + [ + "▁Habit", + -12.54556941986084 + ], + [ + "▁10:00", + -12.545577049255371 + ], + [ + "▁rezultat", + -12.545595169067383 + ], + [ + "äck", + -12.545943260192871 + ], + [ + ",000.", + -12.545979499816895 + ], + [ + "▁remedies", + -12.546103477478027 + ], + [ + "▁comportament", + -12.546195983886719 + ], + [ + "namen", + -12.546229362487793 + ], + [ + "▁#3", + -12.546327590942383 + ], + [ + "enstein", + -12.546493530273438 + ], + [ + "▁relevance", + -12.546516418457031 + ], + [ + "▁présentation", + -12.54655933380127 + ], + [ + "MHz", + -12.546648979187012 + ], + [ + "EMA", + -12.546661376953125 + ], + [ + "▁palace", + -12.546709060668945 + ], + [ + "▁vizibil", + -12.546723365783691 + ], + [ + "▁griev", + -12.546820640563965 + ], + [ + "▁severely", + -12.54688549041748 + ], + [ + "expert", + -12.546942710876465 + ], + [ + "▁ravi", + -12.54696273803711 + ], + [ + "▁feasible", + -12.547002792358398 + ], + [ + "▁Wholesale", + -12.547009468078613 + ], + [ + "▁graduat", + -12.547077178955078 + ], + [ + "Kü", + -12.547094345092773 + ], + [ + "▁quotation", + -12.547157287597656 + ], + [ + "/11", + -12.54716968536377 + ], + [ + "lutter", + -12.547415733337402 + ], + [ + "▁dice", + -12.547467231750488 + ], + [ + "modal", + -12.547749519348145 + ], + [ + "ggling", + -12.547819137573242 + ], + [ + "▁considér", + -12.547986030578613 + ], + [ + "▁Insel", + -12.548097610473633 + ], + [ + "▁Database", + -12.5483980178833 + ], + [ + "icism", + -12.548508644104004 + ], + [ + "▁quarterly", + -12.54851245880127 + ], + [ + "▁formule", + -12.548558235168457 + ], + [ + "▁renouvel", + -12.54873275756836 + ], + [ + "▁Treasure", + -12.548737525939941 + ], + [ + "▁1962", + -12.548844337463379 + ], + [ + "▁republic", + -12.549111366271973 + ], + [ + "▁États", + -12.549254417419434 + ], + [ + "▁salut", + -12.549356460571289 + ], + [ + "HK", + -12.54941463470459 + ], + [ + "▁Bali", + -12.549427032470703 + ], + [ + "▁Rechnung", + -12.549447059631348 + ], + [ + "fruit", + -12.54945182800293 + ], + [ + "lays", + -12.549467086791992 + ], + [ + "LAS", + -12.54951000213623 + ], + [ + "inclin", + -12.549708366394043 + ], + [ + "▁Cré", + -12.549813270568848 + ], + [ + "▁compt", + -12.54985237121582 + ], + [ + "țiilor", + -12.550056457519531 + ], + [ + "heft", + -12.550111770629883 + ], + [ + "▁Comisi", + -12.55024242401123 + ], + [ + "▁Nurse", + -12.550516128540039 + ], + [ + "loid", + -12.550540924072266 + ], + [ + "grove", + -12.550761222839355 + ], + [ + "▁Copy", + -12.550867080688477 + ], + [ + "▁Kampf", + -12.550873756408691 + ], + [ + "izată", + -12.550945281982422 + ], + [ + "würdig", + -12.551244735717773 + ], + [ + "-2018", + -12.551305770874023 + ], + [ + "ozo", + -12.551350593566895 + ], + [ + "▁integriert", + -12.551397323608398 + ], + [ + "▁réunion", + -12.551448822021484 + ], + [ + "▁mică", + -12.551520347595215 + ], + [ + "▁Chau", + -12.551595687866211 + ], + [ + "▁allegations", + -12.551626205444336 + ], + [ + "▁shaping", + -12.551640510559082 + ], + [ + "▁transcription", + -12.551671981811523 + ], + [ + "▁Monica", + -12.551711082458496 + ], + [ + "▁torture", + -12.551795959472656 + ], + [ + "▁cooperative", + -12.551962852478027 + ], + [ + "▁invité", + -12.551987648010254 + ], + [ + "▁bamboo", + -12.552204132080078 + ], + [ + "▁Thinking", + -12.55232048034668 + ], + [ + "▁gratis", + -12.552392959594727 + ], + [ + "117", + -12.55267333984375 + ], + [ + "renz", + -12.55279541015625 + ], + [ + "▁Fußball", + -12.552823066711426 + ], + [ + "▁Gram", + -12.552873611450195 + ], + [ + "sprung", + -12.55290412902832 + ], + [ + "▁Schluss", + -12.55308723449707 + ], + [ + "▁Diploma", + -12.553345680236816 + ], + [ + "▁apparatus", + -12.553363800048828 + ], + [ + "notably", + -12.553483963012695 + ], + [ + "▁exercit", + -12.553532600402832 + ], + [ + "ământ", + -12.553536415100098 + ], + [ + "▁masses", + -12.553610801696777 + ], + [ + "▁preuve", + -12.553642272949219 + ], + [ + "great", + -12.553754806518555 + ], + [ + "▁Drink", + -12.553792953491211 + ], + [ + "islam", + -12.553828239440918 + ], + [ + "ARM", + -12.553914070129395 + ], + [ + "indre", + -12.554404258728027 + ], + [ + "DW", + -12.554410934448242 + ], + [ + "▁Flowers", + -12.554500579833984 + ], + [ + "▁pill", + -12.554574966430664 + ], + [ + "▁objectifs", + -12.554594039916992 + ], + [ + "▁Bezug", + -12.554659843444824 + ], + [ + "▁assumptions", + -12.55466365814209 + ], + [ + "▁vesti", + -12.554742813110352 + ], + [ + "route", + -12.554783821105957 + ], + [ + "▁Bangkok", + -12.554815292358398 + ], + [ + "▁seamlessly", + -12.55482006072998 + ], + [ + "config", + -12.554882049560547 + ], + [ + "▁username", + -12.554890632629395 + ], + [ + "unsure", + -12.555024147033691 + ], + [ + "▁poser", + -12.555129051208496 + ], + [ + "▁impozit", + -12.555246353149414 + ], + [ + "▁metode", + -12.555333137512207 + ], + [ + "defending", + -12.555347442626953 + ], + [ + "▁Nic", + -12.555431365966797 + ], + [ + "▁Vertrag", + -12.555508613586426 + ], + [ + "▁plăcut", + -12.55552864074707 + ], + [ + "▁Pou", + -12.555675506591797 + ], + [ + "UCH", + -12.555785179138184 + ], + [ + "▁Fein", + -12.555903434753418 + ], + [ + "reading", + -12.555994987487793 + ], + [ + "snip", + -12.55604076385498 + ], + [ + "▁Livre", + -12.556401252746582 + ], + [ + "lander", + -12.556509971618652 + ], + [ + "▁hydraulic", + -12.556559562683105 + ], + [ + "veiled", + -12.556563377380371 + ], + [ + "intr", + -12.556609153747559 + ], + [ + "▁Domnului", + -12.556641578674316 + ], + [ + "▁$0.", + -12.556713104248047 + ], + [ + "▁kilometers", + -12.556753158569336 + ], + [ + "spann", + -12.556870460510254 + ], + [ + "▁credibility", + -12.556892395019531 + ], + [ + "▁eBook", + -12.556953430175781 + ], + [ + "VERY", + -12.556994438171387 + ], + [ + "▁Charm", + -12.557122230529785 + ], + [ + "Evangeli", + -12.557193756103516 + ], + [ + "▁anderer", + -12.557193756103516 + ], + [ + "▁Entry", + -12.557195663452148 + ], + [ + "ffy", + -12.5573148727417 + ], + [ + "▁Exc", + -12.55737018585205 + ], + [ + "▁Omega", + -12.557446479797363 + ], + [ + "▁Funktionen", + -12.557455062866211 + ], + [ + "▁Gay", + -12.55752182006836 + ], + [ + "▁acht", + -12.557608604431152 + ], + [ + "colored", + -12.557615280151367 + ], + [ + "itude", + -12.557634353637695 + ], + [ + "▁accompagné", + -12.557645797729492 + ], + [ + "▁unfortunate", + -12.557981491088867 + ], + [ + "▁DIN", + -12.558091163635254 + ], + [ + "▁installment", + -12.558252334594727 + ], + [ + "▁indépendant", + -12.558307647705078 + ], + [ + "These", + -12.558364868164062 + ], + [ + "mitten", + -12.558394432067871 + ], + [ + "thank", + -12.558470726013184 + ], + [ + "▁Trek", + -12.558721542358398 + ], + [ + "üchte", + -12.55874252319336 + ], + [ + "▁cuir", + -12.55875015258789 + ], + [ + "▁turbo", + -12.558802604675293 + ], + [ + "Table", + -12.558847427368164 + ], + [ + "▁Extrem", + -12.558866500854492 + ], + [ + "▁advertisements", + -12.55915355682373 + ], + [ + "▁chaîne", + -12.559206008911133 + ], + [ + "▁corridor", + -12.559473991394043 + ], + [ + "▁râ", + -12.559651374816895 + ], + [ + "▁Opening", + -12.559718132019043 + ], + [ + "Get", + -12.559747695922852 + ], + [ + "▁storytelling", + -12.55976676940918 + ], + [ + "▁severity", + -12.559771537780762 + ], + [ + "4\"", + -12.559956550598145 + ], + [ + "▁parasit", + -12.559967994689941 + ], + [ + "angebot", + -12.56002426147461 + ], + [ + "Data", + -12.56005573272705 + ], + [ + "listen", + -12.560086250305176 + ], + [ + "▁vârstă", + -12.560094833374023 + ], + [ + "▁swallow", + -12.56025505065918 + ], + [ + "TRE", + -12.560321807861328 + ], + [ + "▁daunting", + -12.56035041809082 + ], + [ + "▁Oli", + -12.560481071472168 + ], + [ + "▁definitive", + -12.56066608428955 + ], + [ + "▁rezerva", + -12.560667037963867 + ], + [ + "/15", + -12.560807228088379 + ], + [ + "▁Landschaft", + -12.560887336730957 + ], + [ + "▁Automotive", + -12.560934066772461 + ], + [ + "▁convers", + -12.56113052368164 + ], + [ + "▁thru", + -12.561139106750488 + ], + [ + "▁Township", + -12.561140060424805 + ], + [ + "▁tilt", + -12.56119441986084 + ], + [ + "▁Criminal", + -12.561227798461914 + ], + [ + "riez", + -12.561407089233398 + ], + [ + "▁Parking", + -12.561440467834473 + ], + [ + "▁humanitarian", + -12.561518669128418 + ], + [ + "▁Kilometer", + -12.561529159545898 + ], + [ + "controlled", + -12.56189250946045 + ], + [ + "▁Klick", + -12.561910629272461 + ], + [ + "support", + -12.56199836730957 + ], + [ + "handed", + -12.562005996704102 + ], + [ + "ämtliche", + -12.562104225158691 + ], + [ + "access", + -12.562232971191406 + ], + [ + "▁eleven", + -12.562232971191406 + ], + [ + "▁ferry", + -12.56229305267334 + ], + [ + "zieren", + -12.562620162963867 + ], + [ + "▁Gebrauch", + -12.562688827514648 + ], + [ + "▁vigoare", + -12.562689781188965 + ], + [ + "MON", + -12.562756538391113 + ], + [ + "fox", + -12.562886238098145 + ], + [ + "bestimmten", + -12.562894821166992 + ], + [ + "▁Gur", + -12.563069343566895 + ], + [ + "▁Mannschaft", + -12.563146591186523 + ], + [ + "▁patrol", + -12.563173294067383 + ], + [ + "▁casă", + -12.563376426696777 + ], + [ + "▁Stories", + -12.563380241394043 + ], + [ + "▁robotic", + -12.563425064086914 + ], + [ + "tiri", + -12.563576698303223 + ], + [ + "gewiesen", + -12.5636568069458 + ], + [ + "CV", + -12.563722610473633 + ], + [ + "▁parinti", + -12.563899040222168 + ], + [ + "▁Owen", + -12.563931465148926 + ], + [ + "▁Katie", + -12.564116477966309 + ], + [ + "▁Combine", + -12.56422233581543 + ], + [ + "enfalls", + -12.56442928314209 + ], + [ + "▁financière", + -12.564447402954102 + ], + [ + "▁parliament", + -12.564549446105957 + ], + [ + "▁Weekend", + -12.564616203308105 + ], + [ + "▁Sonic", + -12.564757347106934 + ], + [ + "▁fixture", + -12.56479263305664 + ], + [ + "majorité", + -12.56497573852539 + ], + [ + "▁gravel", + -12.565028190612793 + ], + [ + "realizate", + -12.565109252929688 + ], + [ + "examining", + -12.565113067626953 + ], + [ + "▁grim", + -12.5653657913208 + ], + [ + "▁stabili", + -12.565458297729492 + ], + [ + "▁Wochenende", + -12.56551456451416 + ], + [ + "▁Hebrew", + -12.565597534179688 + ], + [ + "▁Harrison", + -12.565799713134766 + ], + [ + "▁boundary", + -12.565858840942383 + ], + [ + "40,000", + -12.565902709960938 + ], + [ + "▁Ambassador", + -12.566208839416504 + ], + [ + "▁scoate", + -12.566229820251465 + ], + [ + "ffin", + -12.56623363494873 + ], + [ + "▁crème", + -12.566269874572754 + ], + [ + "▁obiecte", + -12.566378593444824 + ], + [ + "enţa", + -12.566763877868652 + ], + [ + "▁subsidiary", + -12.566797256469727 + ], + [ + "▁Franco", + -12.56688404083252 + ], + [ + "▁visuel", + -12.567042350769043 + ], + [ + "▁uitat", + -12.56708812713623 + ], + [ + "▁revisit", + -12.567122459411621 + ], + [ + "▁Camping", + -12.567150115966797 + ], + [ + "▁Divine", + -12.567304611206055 + ], + [ + "4-6", + -12.567323684692383 + ], + [ + "▁Brandon", + -12.567378997802734 + ], + [ + "ма", + -12.567450523376465 + ], + [ + "sofern", + -12.56745433807373 + ], + [ + "ntweder", + -12.56748104095459 + ], + [ + "▁Shoot", + -12.567618370056152 + ], + [ + "étais", + -12.56771183013916 + ], + [ + "SPEC", + -12.567930221557617 + ], + [ + "▁dreapta", + -12.567973136901855 + ], + [ + "▁repaired", + -12.568055152893066 + ], + [ + "pyr", + -12.568136215209961 + ], + [ + "▁warranties", + -12.568175315856934 + ], + [ + "▁représent", + -12.568263053894043 + ], + [ + "ADE", + -12.568293571472168 + ], + [ + "▁selective", + -12.56836223602295 + ], + [ + "▁Banking", + -12.568441390991211 + ], + [ + "▁ergonomic", + -12.568562507629395 + ], + [ + "...”", + -12.568602561950684 + ], + [ + "▁willingness", + -12.56867790222168 + ], + [ + "isser", + -12.568784713745117 + ], + [ + "▁confection", + -12.568961143493652 + ], + [ + "admi", + -12.569009780883789 + ], + [ + "▁Freizeit", + -12.569023132324219 + ], + [ + "▁illuminate", + -12.569151878356934 + ], + [ + "▁Repeat", + -12.569170951843262 + ], + [ + "▁Zeitpunkt", + -12.56933879852295 + ], + [ + "claimed", + -12.569439888000488 + ], + [ + "▁erhältlich", + -12.569480895996094 + ], + [ + "▁paysage", + -12.569537162780762 + ], + [ + "▁Atom", + -12.569890022277832 + ], + [ + "▁Graf", + -12.570086479187012 + ], + [ + "▁firmware", + -12.570093154907227 + ], + [ + "▁Swift", + -12.570180892944336 + ], + [ + "▁cercetare", + -12.57018756866455 + ], + [ + "▁internațional", + -12.570330619812012 + ], + [ + "▁zombie", + -12.570330619812012 + ], + [ + "▁Spread", + -12.57050609588623 + ], + [ + "ECO", + -12.57056999206543 + ], + [ + "▁Gestaltung", + -12.570758819580078 + ], + [ + "rast", + -12.570858001708984 + ], + [ + "▁perfume", + -12.5709228515625 + ], + [ + "▁roulette", + -12.570924758911133 + ], + [ + "▁distill", + -12.57096004486084 + ], + [ + "▁Produkten", + -12.570992469787598 + ], + [ + "225", + -12.571310043334961 + ], + [ + "facing", + -12.571371078491211 + ], + [ + "▁paradigm", + -12.571514129638672 + ], + [ + "▁Rah", + -12.571532249450684 + ], + [ + "▁Renault", + -12.571846961975098 + ], + [ + "willig", + -12.571864128112793 + ], + [ + "▁Vet", + -12.571890830993652 + ], + [ + "▁reprezenta", + -12.572126388549805 + ], + [ + "stoß", + -12.572185516357422 + ], + [ + "▁Weiß", + -12.5722074508667 + ], + [ + "▁Solo", + -12.572210311889648 + ], + [ + "▁Jin", + -12.572646141052246 + ], + [ + "▁Brussels", + -12.572693824768066 + ], + [ + "▁Tournament", + -12.572693824768066 + ], + [ + "▁proced", + -12.572710037231445 + ], + [ + "▁Rabbi", + -12.572835922241211 + ], + [ + "▁gameplay", + -12.572851181030273 + ], + [ + "▁ATM", + -12.572901725769043 + ], + [ + "▁firearm", + -12.572906494140625 + ], + [ + "revealing", + -12.573003768920898 + ], + [ + "schütz", + -12.57310676574707 + ], + [ + "▁Absolutely", + -12.573288917541504 + ], + [ + "▁interference", + -12.573433876037598 + ], + [ + "▁Employment", + -12.573558807373047 + ], + [ + "▁chord", + -12.57356071472168 + ], + [ + "▁oportun", + -12.573585510253906 + ], + [ + "▁frontier", + -12.573770523071289 + ], + [ + "▁Lunch", + -12.573891639709473 + ], + [ + "bread", + -12.57397174835205 + ], + [ + "▁rendered", + -12.573976516723633 + ], + [ + "5.1", + -12.573984146118164 + ], + [ + "▁motif", + -12.574066162109375 + ], + [ + "▁Schlag", + -12.574227333068848 + ], + [ + "113", + -12.574264526367188 + ], + [ + "▁Deux", + -12.574288368225098 + ], + [ + "▁surplus", + -12.574309349060059 + ], + [ + "ALS", + -12.574417114257812 + ], + [ + "▁abortion", + -12.574472427368164 + ], + [ + "▁airplane", + -12.574475288391113 + ], + [ + "▁migrants", + -12.574501991271973 + ], + [ + "kli", + -12.574539184570312 + ], + [ + "▁crochet", + -12.57454776763916 + ], + [ + "fahrer", + -12.574671745300293 + ], + [ + "▁reconstruction", + -12.57471752166748 + ], + [ + "▁difer", + -12.574752807617188 + ], + [ + "▁Conserv", + -12.57478141784668 + ], + [ + "▁NSW", + -12.57479476928711 + ], + [ + "▁regim", + -12.574844360351562 + ], + [ + "▁Except", + -12.574904441833496 + ], + [ + "▁trage", + -12.574978828430176 + ], + [ + "▁Consiliul", + -12.575058937072754 + ], + [ + "▁Bedarf", + -12.575064659118652 + ], + [ + "▁additive", + -12.5750732421875 + ], + [ + "know", + -12.5751371383667 + ], + [ + "▁sauna", + -12.57517147064209 + ], + [ + "▁mortality", + -12.575201034545898 + ], + [ + "kräftig", + -12.575358390808105 + ], + [ + "▁Own", + -12.575445175170898 + ], + [ + "nzo", + -12.575519561767578 + ], + [ + "▁villes", + -12.575543403625488 + ], + [ + "▁recette", + -12.575749397277832 + ], + [ + "▁attacking", + -12.575799942016602 + ], + [ + "beruf", + -12.57608699798584 + ], + [ + "▁integrat", + -12.57612419128418 + ], + [ + "realizarea", + -12.576201438903809 + ], + [ + "▁exemption", + -12.57628345489502 + ], + [ + "GW", + -12.576285362243652 + ], + [ + "▁Nano", + -12.576395034790039 + ], + [ + "SCH", + -12.576440811157227 + ], + [ + "▁honesty", + -12.576457023620605 + ], + [ + "▁Arriv", + -12.576515197753906 + ], + [ + "▁gland", + -12.576542854309082 + ], + [ + "▁proactive", + -12.576746940612793 + ], + [ + "▁agile", + -12.576837539672852 + ], + [ + "▁kernel", + -12.576844215393066 + ], + [ + "▁nurture", + -12.576860427856445 + ], + [ + "▁Patent", + -12.576963424682617 + ], + [ + "▁excursi", + -12.577189445495605 + ], + [ + "pulsion", + -12.577326774597168 + ], + [ + "stellte", + -12.577351570129395 + ], + [ + "ständige", + -12.577421188354492 + ], + [ + "▁Rebecca", + -12.577436447143555 + ], + [ + "▁Securities", + -12.577436447143555 + ], + [ + "mètre", + -12.577446937561035 + ], + [ + "LOW", + -12.577469825744629 + ], + [ + "▁consilier", + -12.577537536621094 + ], + [ + "▁Architekt", + -12.577733993530273 + ], + [ + "▁china", + -12.57777214050293 + ], + [ + "älfte", + -12.577778816223145 + ], + [ + "▁Combin", + -12.577795028686523 + ], + [ + "480", + -12.577999114990234 + ], + [ + "liv", + -12.578021049499512 + ], + [ + "▁peur", + -12.578067779541016 + ], + [ + "keep", + -12.57822322845459 + ], + [ + "▁Verhalten", + -12.578324317932129 + ], + [ + "▁peek", + -12.578446388244629 + ], + [ + "▁dient", + -12.578550338745117 + ], + [ + "▁prevazut", + -12.578625679016113 + ], + [ + "Emmanuel", + -12.57862663269043 + ], + [ + "▁incidence", + -12.57862663269043 + ], + [ + "▁Framework", + -12.578715324401855 + ], + [ + "dass", + -12.578816413879395 + ], + [ + "artiste", + -12.578874588012695 + ], + [ + "▁Accept", + -12.578971862792969 + ], + [ + "▁plunge", + -12.579073905944824 + ], + [ + "chauff", + -12.579118728637695 + ], + [ + "▁guilt", + -12.579156875610352 + ], + [ + "▁senator", + -12.57945442199707 + ], + [ + "▁disable", + -12.579776763916016 + ], + [ + "▁partout", + -12.579901695251465 + ], + [ + "JC", + -12.580045700073242 + ], + [ + "▁Highly", + -12.580150604248047 + ], + [ + "▁beneficii", + -12.58021068572998 + ], + [ + "fibro", + -12.580347061157227 + ], + [ + "interpreted", + -12.580550193786621 + ], + [ + "▁genauso", + -12.58056354522705 + ], + [ + "▁basil", + -12.580601692199707 + ], + [ + "▁Angst", + -12.580697059631348 + ], + [ + "rzte", + -12.580933570861816 + ], + [ + "Master", + -12.58112907409668 + ], + [ + "▁french", + -12.581324577331543 + ], + [ + "▁Duration", + -12.581343650817871 + ], + [ + "HM", + -12.581402778625488 + ], + [ + "▁Bert", + -12.581518173217773 + ], + [ + "▁1963", + -12.581534385681152 + ], + [ + "▁warrior", + -12.581604957580566 + ], + [ + "2007", + -12.581696510314941 + ], + [ + "▁recycle", + -12.581722259521484 + ], + [ + "▁fertiliz", + -12.581808090209961 + ], + [ + "▁hatch", + -12.581809997558594 + ], + [ + "ISH", + -12.581811904907227 + ], + [ + "luft", + -12.582321166992188 + ], + [ + "▁crying", + -12.582452774047852 + ], + [ + "▁activist", + -12.5824613571167 + ], + [ + "schränkt", + -12.582500457763672 + ], + [ + "▁diff", + -12.582500457763672 + ], + [ + "▁Demand", + -12.58262825012207 + ], + [ + "▁transported", + -12.582669258117676 + ], + [ + "▁Remodel", + -12.582686424255371 + ], + [ + "▁Etats", + -12.582704544067383 + ], + [ + "ANI", + -12.582777976989746 + ], + [ + "▁spéciale", + -12.582804679870605 + ], + [ + "▁Konzert", + -12.582805633544922 + ], + [ + "▁Bedürfnisse", + -12.58281135559082 + ], + [ + "▁overlooked", + -12.582864761352539 + ], + [ + "▁cutter", + -12.582974433898926 + ], + [ + "klär", + -12.58311939239502 + ], + [ + "▁Materialien", + -12.583135604858398 + ], + [ + "▁gewisse", + -12.583388328552246 + ], + [ + "bull", + -12.583499908447266 + ], + [ + "Good", + -12.583513259887695 + ], + [ + "Gig", + -12.583616256713867 + ], + [ + "Logic", + -12.583736419677734 + ], + [ + "▁Schlaf", + -12.583970069885254 + ], + [ + "▁Yankee", + -12.583996772766113 + ], + [ + "▁Batman", + -12.584020614624023 + ], + [ + "▁funcție", + -12.584166526794434 + ], + [ + "▁partenariat", + -12.584294319152832 + ], + [ + "▁Antrag", + -12.584348678588867 + ], + [ + "▁Pill", + -12.584519386291504 + ], + [ + "▁tram", + -12.584637641906738 + ], + [ + "▁Minor", + -12.58465576171875 + ], + [ + "pertaining", + -12.584678649902344 + ], + [ + "▁apropiere", + -12.584843635559082 + ], + [ + "▁Barack", + -12.584965705871582 + ], + [ + "schön", + -12.585174560546875 + ], + [ + "▁Sandy", + -12.585182189941406 + ], + [ + "kilometre", + -12.585192680358887 + ], + [ + "▁diy", + -12.585234642028809 + ], + [ + "▁1966", + -12.585453987121582 + ], + [ + "gelassen", + -12.585485458374023 + ], + [ + "▁Trial", + -12.585592269897461 + ], + [ + "▁Bauer", + -12.585603713989258 + ], + [ + "▁assumption", + -12.585648536682129 + ], + [ + "birth", + -12.585668563842773 + ], + [ + "rechnen", + -12.585861206054688 + ], + [ + "▁meci", + -12.585867881774902 + ], + [ + "▁gloss", + -12.585906982421875 + ], + [ + "▁sewer", + -12.58593463897705 + ], + [ + "▁Stimme", + -12.585955619812012 + ], + [ + "▁Fortune", + -12.585967063903809 + ], + [ + "▁Lösungen", + -12.586007118225098 + ], + [ + "▁impresi", + -12.586074829101562 + ], + [ + "schlaf", + -12.586089134216309 + ], + [ + "prüfung", + -12.586097717285156 + ], + [ + "▁instalat", + -12.586198806762695 + ], + [ + "▁picturesque", + -12.586233139038086 + ], + [ + "vait", + -12.586240768432617 + ], + [ + "8.1", + -12.58629035949707 + ], + [ + "▁călători", + -12.586392402648926 + ], + [ + "▁dix", + -12.586400032043457 + ], + [ + "▁furnished", + -12.586411476135254 + ], + [ + "▁dolari", + -12.586445808410645 + ], + [ + "▁regener", + -12.586562156677246 + ], + [ + "▁astazi", + -12.586621284484863 + ], + [ + "▁Sprach", + -12.586750030517578 + ], + [ + "delà", + -12.586846351623535 + ], + [ + "avec", + -12.58694076538086 + ], + [ + "▁Buddhist", + -12.586990356445312 + ], + [ + "▁alphabet", + -12.586990356445312 + ], + [ + "▁berichtet", + -12.587201118469238 + ], + [ + "ideally", + -12.587209701538086 + ], + [ + "▁annuel", + -12.587421417236328 + ], + [ + "▁laughing", + -12.587532997131348 + ], + [ + "▁Zustand", + -12.587639808654785 + ], + [ + "cini", + -12.587692260742188 + ], + [ + "solid", + -12.587724685668945 + ], + [ + "▁Broker", + -12.587868690490723 + ], + [ + "▁developmental", + -12.5879545211792 + ], + [ + "▁Summary", + -12.588191032409668 + ], + [ + "▁Trinity", + -12.58819580078125 + ], + [ + "▁sucre", + -12.58821964263916 + ], + [ + "▁sandal", + -12.588231086730957 + ], + [ + "PEN", + -12.588274955749512 + ], + [ + "gewinn", + -12.588486671447754 + ], + [ + "olé", + -12.588555335998535 + ], + [ + "matric", + -12.58865737915039 + ], + [ + "xton", + -12.588695526123047 + ], + [ + "werten", + -12.588740348815918 + ], + [ + "▁Dust", + -12.588765144348145 + ], + [ + "▁Journey", + -12.588791847229004 + ], + [ + "▁Rush", + -12.588793754577637 + ], + [ + "▁NCAA", + -12.588839530944824 + ], + [ + "▁allgemeine", + -12.588926315307617 + ], + [ + "▁Universe", + -12.589007377624512 + ], + [ + "▁connais", + -12.589099884033203 + ], + [ + "▁quantité", + -12.58912467956543 + ], + [ + "▁Kab", + -12.589150428771973 + ], + [ + "▁purse", + -12.589150428771973 + ], + [ + "Health", + -12.589210510253906 + ], + [ + "▁apărut", + -12.589288711547852 + ], + [ + "▁bypass", + -12.589313507080078 + ], + [ + "pronounced", + -12.58936595916748 + ], + [ + "▁magnitude", + -12.589393615722656 + ], + [ + "▁Walmart", + -12.589394569396973 + ], + [ + "ède", + -12.589409828186035 + ], + [ + "▁serum", + -12.589590072631836 + ], + [ + "▁baseline", + -12.589765548706055 + ], + [ + "STER", + -12.589932441711426 + ], + [ + "▁ONLY", + -12.590052604675293 + ], + [ + "▁individuell", + -12.590086936950684 + ], + [ + "▁Ghi", + -12.590139389038086 + ], + [ + "▁Ruby", + -12.59020709991455 + ], + [ + "▁Chal", + -12.590241432189941 + ], + [ + "▁Vier", + -12.590261459350586 + ], + [ + "5.0", + -12.5903902053833 + ], + [ + "▁fog", + -12.590519905090332 + ], + [ + "esel", + -12.590557098388672 + ], + [ + "▁Python", + -12.590598106384277 + ], + [ + "▁urmează", + -12.590608596801758 + ], + [ + "▁trustworthy", + -12.590639114379883 + ], + [ + "hört", + -12.590729713439941 + ], + [ + "▁tâche", + -12.59078311920166 + ], + [ + "Patri", + -12.590799331665039 + ], + [ + "▁grind", + -12.590928077697754 + ], + [ + "▁Raven", + -12.590934753417969 + ], + [ + "▁poursuiv", + -12.590951919555664 + ], + [ + "▁simpli", + -12.591140747070312 + ], + [ + "▁echo", + -12.591165542602539 + ], + [ + "▁Attention", + -12.591313362121582 + ], + [ + "Against", + -12.591402053833008 + ], + [ + "GET", + -12.59148120880127 + ], + [ + "▁turistic", + -12.591535568237305 + ], + [ + "▁tenure", + -12.59158992767334 + ], + [ + "▁alimentaire", + -12.591651916503906 + ], + [ + "Who", + -12.59172248840332 + ], + [ + "▁ändern", + -12.591729164123535 + ], + [ + "▁rebound", + -12.591778755187988 + ], + [ + "grenze", + -12.591849327087402 + ], + [ + "▁Fame", + -12.592093467712402 + ], + [ + "▁Kick", + -12.592215538024902 + ], + [ + "▁Detail", + -12.59228801727295 + ], + [ + "▁Push", + -12.592308044433594 + ], + [ + "production", + -12.592430114746094 + ], + [ + "▁Candidates", + -12.59244441986084 + ], + [ + "▁reușit", + -12.592484474182129 + ], + [ + "istischen", + -12.592525482177734 + ], + [ + "lassung", + -12.592649459838867 + ], + [ + "▁Hann", + -12.592713356018066 + ], + [ + "espère", + -12.592965126037598 + ], + [ + "▁vergessen", + -12.593008041381836 + ], + [ + "▁smiling", + -12.593010902404785 + ], + [ + "▁devotion", + -12.593016624450684 + ], + [ + "▁pastry", + -12.593071937561035 + ], + [ + "Add", + -12.593390464782715 + ], + [ + "▁authorization", + -12.593494415283203 + ], + [ + "▁Suisse", + -12.593568801879883 + ], + [ + "▁Berkeley", + -12.593611717224121 + ], + [ + "▁Guild", + -12.593660354614258 + ], + [ + "▁choir", + -12.593748092651367 + ], + [ + "learning", + -12.593802452087402 + ], + [ + "▁Tanz", + -12.593894004821777 + ], + [ + "mardi", + -12.594076156616211 + ], + [ + "▁rezultatele", + -12.594191551208496 + ], + [ + "▁earrings", + -12.594218254089355 + ], + [ + "▁turbine", + -12.594223976135254 + ], + [ + "▁jeudi", + -12.594284057617188 + ], + [ + "terapie", + -12.594576835632324 + ], + [ + "regain", + -12.59461498260498 + ], + [ + "SET", + -12.594643592834473 + ], + [ + "▁Hände", + -12.594681739807129 + ], + [ + "▁Globe", + -12.594683647155762 + ], + [ + "frag", + -12.594775199890137 + ], + [ + "▁Treasury", + -12.594820976257324 + ], + [ + "▁hazardous", + -12.594820976257324 + ], + [ + "▁Fahrt", + -12.594928741455078 + ], + [ + "▁fulfilled", + -12.594966888427734 + ], + [ + "▁manga", + -12.594987869262695 + ], + [ + "▁composé", + -12.595067977905273 + ], + [ + "▁ABS", + -12.595132827758789 + ], + [ + "▁preced", + -12.595197677612305 + ], + [ + "▁beauté", + -12.595233917236328 + ], + [ + "▁interessant", + -12.59526252746582 + ], + [ + "▁lieber", + -12.595324516296387 + ], + [ + "▁Kö", + -12.595378875732422 + ], + [ + "EMS", + -12.595410346984863 + ], + [ + "FER", + -12.595413208007812 + ], + [ + "▁eure", + -12.595427513122559 + ], + [ + "▁plumber", + -12.595427513122559 + ], + [ + "Love", + -12.595463752746582 + ], + [ + "▁Marcus", + -12.595635414123535 + ], + [ + "▁registry", + -12.595637321472168 + ], + [ + "▁uncle", + -12.595696449279785 + ], + [ + "▁neuf", + -12.595728874206543 + ], + [ + "▁Fläche", + -12.59575080871582 + ], + [ + "▁restaur", + -12.595815658569336 + ], + [ + "▁noticeable", + -12.595833778381348 + ], + [ + "▁riches", + -12.595871925354004 + ], + [ + "occupy", + -12.596031188964844 + ], + [ + "▁hurricane", + -12.596031188964844 + ], + [ + "▁gespeichert", + -12.596033096313477 + ], + [ + "▁Bordeaux", + -12.596039772033691 + ], + [ + "▁Maj", + -12.59637451171875 + ], + [ + "Applied", + -12.596439361572266 + ], + [ + "▁compter", + -12.596575736999512 + ], + [ + "impact", + -12.59663200378418 + ], + [ + "▁Improve", + -12.596758842468262 + ], + [ + "▁Calif", + -12.596832275390625 + ], + [ + "▁desfășur", + -12.596939086914062 + ], + [ + "▁packaged", + -12.597001075744629 + ], + [ + "180", + -12.59703540802002 + ], + [ + "devenu", + -12.597042083740234 + ], + [ + "▁Battery", + -12.597243309020996 + ], + [ + "▁objection", + -12.597254753112793 + ], + [ + "▁anual", + -12.597305297851562 + ], + [ + "▁Landscape", + -12.59731674194336 + ], + [ + "IQ", + -12.597403526306152 + ], + [ + "grès", + -12.597586631774902 + ], + [ + "▁witnesses", + -12.597750663757324 + ], + [ + "enţial", + -12.597764015197754 + ], + [ + "▁plateau", + -12.597779273986816 + ], + [ + "▁bilete", + -12.59783935546875 + ], + [ + "▁Bronze", + -12.59786605834961 + ], + [ + "▁Kiss", + -12.597946166992188 + ], + [ + "▁Serge", + -12.598093032836914 + ], + [ + "atomic", + -12.598145484924316 + ], + [ + "▁renovated", + -12.59817886352539 + ], + [ + "player", + -12.598212242126465 + ], + [ + "▁dirig", + -12.598291397094727 + ], + [ + "▁Îm", + -12.598296165466309 + ], + [ + "▁plimb", + -12.59843635559082 + ], + [ + "▁ambassador", + -12.598455429077148 + ], + [ + "▁apropiat", + -12.598455429077148 + ], + [ + "▁adaug", + -12.598602294921875 + ], + [ + "ogenic", + -12.59872055053711 + ], + [ + "kämpfe", + -12.598779678344727 + ], + [ + "▁Hillary", + -12.598907470703125 + ], + [ + "yak", + -12.598942756652832 + ], + [ + "General", + -12.59925365447998 + ], + [ + "▁Zugang", + -12.599400520324707 + ], + [ + "▁fertil", + -12.599457740783691 + ], + [ + "incat", + -12.599536895751953 + ], + [ + "assessing", + -12.599587440490723 + ], + [ + "▁Cincinnati", + -12.59967041015625 + ], + [ + "▁convincing", + -12.599685668945312 + ], + [ + "sadly", + -12.59974479675293 + ], + [ + "kunde", + -12.599801063537598 + ], + [ + "ambul", + -12.599913597106934 + ], + [ + "▁familii", + -12.599974632263184 + ], + [ + "juri", + -12.60007095336914 + ], + [ + "ionen", + -12.600102424621582 + ], + [ + "▁Wirtschaft", + -12.600130081176758 + ], + [ + "contract", + -12.600135803222656 + ], + [ + "punem", + -12.600151062011719 + ], + [ + "handlung", + -12.600394248962402 + ], + [ + "▁fournir", + -12.600455284118652 + ], + [ + "▁Ambi", + -12.600663185119629 + ], + [ + "▁Isaac", + -12.600663185119629 + ], + [ + "▁praying", + -12.6007719039917 + ], + [ + "▁Italien", + -12.600848197937012 + ], + [ + "233", + -12.600850105285645 + ], + [ + "spawn", + -12.600913047790527 + ], + [ + "▁legii", + -12.60092544555664 + ], + [ + "▁zuvor", + -12.601018905639648 + ], + [ + "▁comune", + -12.601030349731445 + ], + [ + "official", + -12.601165771484375 + ], + [ + "144", + -12.601290702819824 + ], + [ + "izeaza", + -12.601329803466797 + ], + [ + "▁Keller", + -12.601372718811035 + ], + [ + "ORE", + -12.601378440856934 + ], + [ + "122", + -12.601485252380371 + ], + [ + "incurred", + -12.60150146484375 + ], + [ + "CHA", + -12.601579666137695 + ], + [ + "▁Herzen", + -12.601590156555176 + ], + [ + "▁reasoning", + -12.6016263961792 + ], + [ + "affaire", + -12.601849555969238 + ], + [ + "ooth", + -12.601890563964844 + ], + [ + "155", + -12.601998329162598 + ], + [ + "▁invented", + -12.602113723754883 + ], + [ + "▁Comun", + -12.602140426635742 + ], + [ + "zähl", + -12.602179527282715 + ], + [ + "geliefert", + -12.602212905883789 + ], + [ + "explorer", + -12.602213859558105 + ], + [ + "nect", + -12.602326393127441 + ], + [ + "▁mercredi", + -12.602408409118652 + ], + [ + "▁volonté", + -12.602408409118652 + ], + [ + "easy", + -12.602453231811523 + ], + [ + "▁feat", + -12.602490425109863 + ], + [ + "rented", + -12.602580070495605 + ], + [ + "▁converter", + -12.602592468261719 + ], + [ + "Verhältnis", + -12.602713584899902 + ], + [ + "▁Iceland", + -12.602792739868164 + ], + [ + "▁pretul", + -12.602933883666992 + ], + [ + "▁Vorstellung", + -12.602960586547852 + ], + [ + "▁hydrogen", + -12.603096008300781 + ], + [ + "▁pouvai", + -12.603097915649414 + ], + [ + "▁dawn", + -12.603153228759766 + ], + [ + "▁Georg", + -12.603269577026367 + ], + [ + "▁cautious", + -12.603367805480957 + ], + [ + "▁Pattern", + -12.603464126586914 + ], + [ + "▁Ox", + -12.603602409362793 + ], + [ + "▁decizie", + -12.603676795959473 + ], + [ + "REC", + -12.603889465332031 + ], + [ + "▁Mortgage", + -12.60393238067627 + ], + [ + "attributed", + -12.603973388671875 + ], + [ + "floor", + -12.603992462158203 + ], + [ + "▁Wichtig", + -12.604207992553711 + ], + [ + "enseignant", + -12.604265213012695 + ], + [ + "▁civilization", + -12.604302406311035 + ], + [ + "▁dispozitie", + -12.60450553894043 + ], + [ + "▁geographic", + -12.604543685913086 + ], + [ + "▁Kun", + -12.604607582092285 + ], + [ + "LIN", + -12.604679107666016 + ], + [ + "▁auzit", + -12.604707717895508 + ], + [ + "except", + -12.604761123657227 + ], + [ + "▁superbe", + -12.604904174804688 + ], + [ + "▁installé", + -12.605000495910645 + ], + [ + "▁Peninsula", + -12.605154037475586 + ], + [ + "▁norme", + -12.605164527893066 + ], + [ + "elul", + -12.60517406463623 + ], + [ + "▁Experten", + -12.605256080627441 + ], + [ + "expression", + -12.605295181274414 + ], + [ + "Christ", + -12.605320930480957 + ], + [ + "▁Fuel", + -12.605369567871094 + ], + [ + "▁muffin", + -12.605485916137695 + ], + [ + "▁lecteur", + -12.605521202087402 + ], + [ + "▁gifted", + -12.605589866638184 + ], + [ + "▁Japon", + -12.605602264404297 + ], + [ + "▁SSD", + -12.605644226074219 + ], + [ + "▁Calgary", + -12.605765342712402 + ], + [ + "▁hooked", + -12.605876922607422 + ], + [ + "▁Joan", + -12.605896949768066 + ], + [ + "▁tangible", + -12.606083869934082 + ], + [ + "FW", + -12.606225967407227 + ], + [ + "olli", + -12.6062593460083 + ], + [ + "▁Platinum", + -12.606376647949219 + ], + [ + "▁miniature", + -12.606392860412598 + ], + [ + "▁lump", + -12.606608390808105 + ], + [ + "ologische", + -12.60689926147461 + ], + [ + "▁Istanbul", + -12.606987953186035 + ], + [ + "▁Compar", + -12.607060432434082 + ], + [ + "tropic", + -12.607256889343262 + ], + [ + "KING", + -12.607279777526855 + ], + [ + "Präsident", + -12.607297897338867 + ], + [ + "▁fotografii", + -12.607303619384766 + ], + [ + "hoped", + -12.607451438903809 + ], + [ + "▁pâte", + -12.607601165771484 + ], + [ + "▁mercy", + -12.60760498046875 + ], + [ + "▁quiz", + -12.607619285583496 + ], + [ + "demonstrating", + -12.607678413391113 + ], + [ + "▁douce", + -12.607832908630371 + ], + [ + "▁Vest", + -12.607841491699219 + ], + [ + "▁Harvey", + -12.6082181930542 + ], + [ + "▁breit", + -12.608227729797363 + ], + [ + "▁Bereits", + -12.608291625976562 + ], + [ + "▁breakthrough", + -12.608316421508789 + ], + [ + "▁masterpiece", + -12.608320236206055 + ], + [ + "▁Chester", + -12.60838794708252 + ], + [ + "▁indiqué", + -12.608451843261719 + ], + [ + "hook", + -12.60857105255127 + ], + [ + "statutory", + -12.608596801757812 + ], + [ + "▁Direkt", + -12.608617782592773 + ], + [ + "▁specs", + -12.608708381652832 + ], + [ + "Drive", + -12.608725547790527 + ], + [ + "▁survivors", + -12.608826637268066 + ], + [ + "▁jackpot", + -12.608840942382812 + ], + [ + "▁garder", + -12.608872413635254 + ], + [ + "▁Geburtstag", + -12.60887336730957 + ], + [ + "145", + -12.608963966369629 + ], + [ + "▁Clay", + -12.609028816223145 + ], + [ + "▁WHO", + -12.60906982421875 + ], + [ + "▁Ellen", + -12.609393119812012 + ], + [ + "▁bonheur", + -12.609440803527832 + ], + [ + "▁hazards", + -12.609440803527832 + ], + [ + "▁Kaiser", + -12.609488487243652 + ], + [ + "▁tightly", + -12.609506607055664 + ], + [ + "Universitatea", + -12.609529495239258 + ], + [ + "▁rinse", + -12.609533309936523 + ], + [ + "▁passant", + -12.609640121459961 + ], + [ + "▁sânge", + -12.609832763671875 + ], + [ + "▁peuple", + -12.60983657836914 + ], + [ + "jungen", + -12.609975814819336 + ], + [ + "▁inappropriate", + -12.610054969787598 + ], + [ + "▁mitigate", + -12.610066413879395 + ], + [ + "MID", + -12.610221862792969 + ], + [ + "▁telecom", + -12.610297203063965 + ], + [ + "▁plaj", + -12.610316276550293 + ], + [ + "▁presupune", + -12.610361099243164 + ], + [ + "acco", + -12.61038875579834 + ], + [ + "expressing", + -12.610654830932617 + ], + [ + "▁Symphony", + -12.61066722869873 + ], + [ + "temperatur", + -12.610710144042969 + ], + [ + "▁activităţi", + -12.610800743103027 + ], + [ + "▁amended", + -12.610847473144531 + ], + [ + "▁rehab", + -12.610909461975098 + ], + [ + "▁sportiv", + -12.611004829406738 + ], + [ + "hotel", + -12.611031532287598 + ], + [ + "branche", + -12.61103630065918 + ], + [ + "▁Noch", + -12.611079216003418 + ], + [ + "▁1961", + -12.611238479614258 + ], + [ + "release", + -12.611359596252441 + ], + [ + "blaze", + -12.611381530761719 + ], + [ + "Adv", + -12.61139965057373 + ], + [ + "Line", + -12.611671447753906 + ], + [ + "▁financiare", + -12.61184310913086 + ], + [ + "▁chauffage", + -12.611919403076172 + ], + [ + "мо", + -12.61192512512207 + ], + [ + "schuhe", + -12.612035751342773 + ], + [ + "blé", + -12.612040519714355 + ], + [ + "▁Echo", + -12.612468719482422 + ], + [ + "▁remarks", + -12.61253547668457 + ], + [ + "scriu", + -12.612629890441895 + ], + [ + "Vir", + -12.612701416015625 + ], + [ + "War", + -12.61271858215332 + ], + [ + "atifs", + -12.613006591796875 + ], + [ + "RING", + -12.613082885742188 + ], + [ + "▁Instruction", + -12.613150596618652 + ], + [ + "▁verlassen", + -12.613155364990234 + ], + [ + "▁ergänz", + -12.613234519958496 + ], + [ + "▁Emil", + -12.613248825073242 + ], + [ + "▁empire", + -12.613263130187988 + ], + [ + "▁Einkauf", + -12.613306999206543 + ], + [ + "utigen", + -12.613329887390137 + ], + [ + "▁audition", + -12.613390922546387 + ], + [ + "travelled", + -12.61347484588623 + ], + [ + "ло", + -12.613579750061035 + ], + [ + "▁infinite", + -12.613720893859863 + ], + [ + "▁Lieblings", + -12.613749504089355 + ], + [ + "▁vân", + -12.613754272460938 + ], + [ + "▁spinning", + -12.613778114318848 + ], + [ + "converting", + -12.614031791687012 + ], + [ + "▁uncertain", + -12.61415958404541 + ], + [ + "restul", + -12.614168167114258 + ], + [ + "▁colourful", + -12.61420726776123 + ], + [ + "▁accountant", + -12.614338874816895 + ], + [ + "bourg", + -12.614532470703125 + ], + [ + "▁structuri", + -12.614538192749023 + ], + [ + "▁Booking", + -12.61465835571289 + ], + [ + "intéresse", + -12.614683151245117 + ], + [ + "▁coordinated", + -12.614753723144531 + ], + [ + "▁precaution", + -12.61497688293457 + ], + [ + "▁Cheese", + -12.615015983581543 + ], + [ + "▁surfing", + -12.615192413330078 + ], + [ + "▁souffr", + -12.61524486541748 + ], + [ + "▁Menu", + -12.615447998046875 + ], + [ + "▁arthritis", + -12.615593910217285 + ], + [ + "▁headphones", + -12.615601539611816 + ], + [ + "▁upgrading", + -12.615602493286133 + ], + [ + "▁apparel", + -12.615653038024902 + ], + [ + "▁Haushalt", + -12.61572551727295 + ], + [ + "▁Personally", + -12.615815162658691 + ], + [ + "▁insane", + -12.615950584411621 + ], + [ + "▁fonduri", + -12.616083145141602 + ], + [ + "▁entier", + -12.616239547729492 + ], + [ + "▁Herbst", + -12.616264343261719 + ], + [ + "▁cyclist", + -12.616331100463867 + ], + [ + "▁filmmaker", + -12.616741180419922 + ], + [ + "▁Portuguese", + -12.616829872131348 + ], + [ + "▁nominee", + -12.616851806640625 + ], + [ + "▁Yang", + -12.616857528686523 + ], + [ + "▁slate", + -12.616943359375 + ], + [ + "▁entièrement", + -12.616974830627441 + ], + [ + "▁Umgang", + -12.617049217224121 + ], + [ + "shifted", + -12.617135047912598 + ], + [ + "▁défaut", + -12.617138862609863 + ], + [ + "heiz", + -12.617246627807617 + ], + [ + "▁Seal", + -12.617379188537598 + ], + [ + "▁servicing", + -12.617451667785645 + ], + [ + "marketing", + -12.617562294006348 + ], + [ + "▁demandé", + -12.617755889892578 + ], + [ + "TING", + -12.617841720581055 + ], + [ + "▁modifier", + -12.617907524108887 + ], + [ + "lysis", + -12.617966651916504 + ], + [ + "▁suplimentare", + -12.618117332458496 + ], + [ + "OTHER", + -12.618359565734863 + ], + [ + "Graph", + -12.618379592895508 + ], + [ + "▁coincide", + -12.618448257446289 + ], + [ + "governed", + -12.618598937988281 + ], + [ + "▁locking", + -12.618638038635254 + ], + [ + "▁Properties", + -12.618685722351074 + ], + [ + "▁Panama", + -12.61876392364502 + ], + [ + "▁Coupe", + -12.618846893310547 + ], + [ + "songwriter", + -12.618978500366211 + ], + [ + "exhibited", + -12.618988990783691 + ], + [ + "▁semnificativ", + -12.618995666503906 + ], + [ + "▁purchaser", + -12.619004249572754 + ], + [ + "▁puff", + -12.619097709655762 + ], + [ + "Back", + -12.619105339050293 + ], + [ + "fragt", + -12.61919116973877 + ], + [ + "▁deputy", + -12.619362831115723 + ], + [ + "▁revien", + -12.619556427001953 + ], + [ + "▁Christine", + -12.619558334350586 + ], + [ + "▁Cities", + -12.619573593139648 + ], + [ + "▁Charakter", + -12.61961555480957 + ], + [ + "atteindre", + -12.619625091552734 + ], + [ + "▁fou", + -12.619635581970215 + ], + [ + "▁obligatoire", + -12.619643211364746 + ], + [ + "INA", + -12.619791030883789 + ], + [ + "etc", + -12.6198148727417 + ], + [ + "▁newborn", + -12.620091438293457 + ], + [ + "▁explicitly", + -12.620116233825684 + ], + [ + "simplest", + -12.620203018188477 + ], + [ + "▁plateforme", + -12.62023639678955 + ], + [ + "ordinate", + -12.620291709899902 + ], + [ + "displaying", + -12.620346069335938 + ], + [ + "▁messy", + -12.620464324951172 + ], + [ + "gespielt", + -12.620466232299805 + ], + [ + "▁electron", + -12.62061882019043 + ], + [ + "▁Dreh", + -12.620796203613281 + ], + [ + "▁ambient", + -12.620976448059082 + ], + [ + "340", + -12.620979309082031 + ], + [ + "▁directive", + -12.62109375 + ], + [ + "▁Vall", + -12.621152877807617 + ], + [ + "ookie", + -12.621206283569336 + ], + [ + "▁wasted", + -12.621304512023926 + ], + [ + "CIS", + -12.621367454528809 + ], + [ + "lude", + -12.621378898620605 + ], + [ + "rach", + -12.621472358703613 + ], + [ + "▁gasest", + -12.62150764465332 + ], + [ + "▁miros", + -12.62150764465332 + ], + [ + "transforming", + -12.621536254882812 + ], + [ + "▁Milwaukee", + -12.621787071228027 + ], + [ + "▁uncommon", + -12.621789932250977 + ], + [ + "▁tableau", + -12.621841430664062 + ], + [ + "geräte", + -12.621952056884766 + ], + [ + "ophil", + -12.622139930725098 + ], + [ + "▁Jeep", + -12.62220287322998 + ], + [ + "▁wreck", + -12.622422218322754 + ], + [ + "LAND", + -12.622434616088867 + ], + [ + "attach", + -12.622566223144531 + ], + [ + "▁Panther", + -12.622634887695312 + ], + [ + "9:30", + -12.622777938842773 + ], + [ + "▁induce", + -12.622974395751953 + ], + [ + "▁privest", + -12.623006820678711 + ], + [ + "Ident", + -12.623047828674316 + ], + [ + "▁illnesses", + -12.623076438903809 + ], + [ + "▁inhabitants", + -12.623138427734375 + ], + [ + "▁fehlen", + -12.623357772827148 + ], + [ + "obtenu", + -12.623391151428223 + ], + [ + "▁gegründet", + -12.623655319213867 + ], + [ + "ARA", + -12.623711585998535 + ], + [ + "3-2", + -12.623835563659668 + ], + [ + "▁milliards", + -12.623968124389648 + ], + [ + "▁Bü", + -12.624001502990723 + ], + [ + "▁angegeben", + -12.624102592468262 + ], + [ + "TUR", + -12.624143600463867 + ], + [ + "▁arab", + -12.624166488647461 + ], + [ + "▁Scientist", + -12.624275207519531 + ], + [ + "▁minut", + -12.624394416809082 + ], + [ + "▁beast", + -12.624481201171875 + ], + [ + "▁accidentally", + -12.624573707580566 + ], + [ + "WN", + -12.624579429626465 + ], + [ + "▁Ralph", + -12.624588966369629 + ], + [ + "hängt", + -12.62462329864502 + ], + [ + "▁Erik", + -12.624639511108398 + ], + [ + "▁différent", + -12.624711990356445 + ], + [ + "▁conformitate", + -12.624842643737793 + ], + [ + "thriving", + -12.624900817871094 + ], + [ + "▁Piece", + -12.625123023986816 + ], + [ + "plasm", + -12.625152587890625 + ], + [ + "▁erwarten", + -12.62520980834961 + ], + [ + "owski", + -12.62523365020752 + ], + [ + "prayed", + -12.625293731689453 + ], + [ + "three", + -12.625542640686035 + ], + [ + "▁soundtrack", + -12.625651359558105 + ], + [ + "guru", + -12.625709533691406 + ], + [ + "▁cracked", + -12.625710487365723 + ], + [ + "▁adh", + -12.625823020935059 + ], + [ + "▁maître", + -12.625834465026855 + ], + [ + "▁Oberfläche", + -12.62585735321045 + ], + [ + "▁crab", + -12.625886917114258 + ], + [ + "▁Foster", + -12.625944137573242 + ], + [ + "▁gemütlich", + -12.626145362854004 + ], + [ + "SIC", + -12.626226425170898 + ], + [ + "ième", + -12.626298904418945 + ], + [ + "▁Few", + -12.626330375671387 + ], + [ + "gérer", + -12.626360893249512 + ], + [ + "2006", + -12.626456260681152 + ], + [ + "cool", + -12.626498222351074 + ], + [ + "▁dispune", + -12.626523971557617 + ], + [ + "recevoir", + -12.626577377319336 + ], + [ + "▁Bak", + -12.626585960388184 + ], + [ + "▁steer", + -12.62659740447998 + ], + [ + "ICS", + -12.626733779907227 + ], + [ + "▁Brett", + -12.626733779907227 + ], + [ + "▁downside", + -12.626751899719238 + ], + [ + "▁residency", + -12.62678050994873 + ], + [ + "important", + -12.626991271972656 + ], + [ + "ubb", + -12.627073287963867 + ], + [ + "mony", + -12.627259254455566 + ], + [ + "▁leasing", + -12.627341270446777 + ], + [ + "▁Gir", + -12.62735366821289 + ], + [ + "▁Biology", + -12.627364158630371 + ], + [ + "▁Colin", + -12.627463340759277 + ], + [ + "▁complicat", + -12.627775192260742 + ], + [ + "▁regroup", + -12.627899169921875 + ], + [ + "SPA", + -12.627950668334961 + ], + [ + "▁Veranstaltungen", + -12.627986907958984 + ], + [ + "convicted", + -12.628019332885742 + ], + [ + "▁Wonderful", + -12.628636360168457 + ], + [ + "züge", + -12.628799438476562 + ], + [ + "yton", + -12.628813743591309 + ], + [ + "EMENT", + -12.628887176513672 + ], + [ + "▁bent", + -12.62893009185791 + ], + [ + "heben", + -12.629231452941895 + ], + [ + "▁Sustainable", + -12.62926959991455 + ], + [ + "▁Newcastle", + -12.629276275634766 + ], + [ + "mother", + -12.629507064819336 + ], + [ + "▁eighth", + -12.629572868347168 + ], + [ + "▁atmosfer", + -12.629582405090332 + ], + [ + "expériment", + -12.629584312438965 + ], + [ + "▁Interest", + -12.629608154296875 + ], + [ + "▁successes", + -12.62964153289795 + ], + [ + "▁preschool", + -12.629802703857422 + ], + [ + "▁Funeral", + -12.629900932312012 + ], + [ + "blast", + -12.630083084106445 + ], + [ + "▁dimensiuni", + -12.630125999450684 + ], + [ + "▁Dow", + -12.630167007446289 + ], + [ + "▁pulp", + -12.63022518157959 + ], + [ + "▁Heather", + -12.630356788635254 + ], + [ + "▁erstellen", + -12.63044261932373 + ], + [ + "locating", + -12.630470275878906 + ], + [ + "direct", + -12.630475997924805 + ], + [ + "▁tractor", + -12.630494117736816 + ], + [ + "growing", + -12.630576133728027 + ], + [ + "▁inventor", + -12.630587577819824 + ], + [ + "ASA", + -12.63060188293457 + ], + [ + "insta", + -12.630732536315918 + ], + [ + "yana", + -12.63082504272461 + ], + [ + "▁squash", + -12.630839347839355 + ], + [ + "▁Basketball", + -12.630853652954102 + ], + [ + "AMA", + -12.631041526794434 + ], + [ + "insel", + -12.631093978881836 + ], + [ + "▁Fisch", + -12.631138801574707 + ], + [ + "▁metaphor", + -12.631221771240234 + ], + [ + "TES", + -12.631304740905762 + ], + [ + "▁conduce", + -12.631308555603027 + ], + [ + "stehende", + -12.631370544433594 + ], + [ + "▁FAQ", + -12.631475448608398 + ], + [ + "▁bezeichnet", + -12.631658554077148 + ], + [ + "wendung", + -12.631706237792969 + ], + [ + "▁Commonwealth", + -12.631776809692383 + ], + [ + "▁bait", + -12.631793975830078 + ], + [ + "▁Umsetzung", + -12.631834030151367 + ], + [ + "▁Equi", + -12.632063865661621 + ], + [ + "▁validity", + -12.632109642028809 + ], + [ + "Off", + -12.63222599029541 + ], + [ + "▁produsul", + -12.632314682006836 + ], + [ + "▁sensory", + -12.632363319396973 + ], + [ + "▁Imperial", + -12.632501602172852 + ], + [ + "▁Dick", + -12.632542610168457 + ], + [ + "kampf", + -12.632596969604492 + ], + [ + "▁Arzt", + -12.63267993927002 + ], + [ + "▁Reason", + -12.63267993927002 + ], + [ + "ITS", + -12.63270092010498 + ], + [ + "URL", + -12.632720947265625 + ], + [ + "demonstrates", + -12.632725715637207 + ], + [ + "▁dépend", + -12.632753372192383 + ], + [ + "NAS", + -12.632970809936523 + ], + [ + "▁funcți", + -12.633031845092773 + ], + [ + "▁vulnerability", + -12.633085250854492 + ], + [ + "2.7", + -12.633143424987793 + ], + [ + "layered", + -12.633152961730957 + ], + [ + "escence", + -12.633206367492676 + ], + [ + "▁République", + -12.633346557617188 + ], + [ + "▁Lust", + -12.633377075195312 + ], + [ + "▁sute", + -12.633381843566895 + ], + [ + "▁autonomous", + -12.633661270141602 + ], + [ + "Biserica", + -12.633662223815918 + ], + [ + "▁Chuck", + -12.633749961853027 + ], + [ + "▁protéger", + -12.6339750289917 + ], + [ + "rrell", + -12.634061813354492 + ], + [ + "▁Schaden", + -12.634062767028809 + ], + [ + "prennent", + -12.634100914001465 + ], + [ + "maß", + -12.6343412399292 + ], + [ + "OV", + -12.634453773498535 + ], + [ + "▁Wake", + -12.63450813293457 + ], + [ + "produire", + -12.634635925292969 + ], + [ + "▁Elder", + -12.634749412536621 + ], + [ + "Max", + -12.634839057922363 + ], + [ + "▁Chemistry", + -12.634918212890625 + ], + [ + "▁gourmet", + -12.634918212890625 + ], + [ + "erri", + -12.634967803955078 + ], + [ + "ени", + -12.635085105895996 + ], + [ + "▁Gru", + -12.635147094726562 + ], + [ + "▁vorbit", + -12.635408401489258 + ], + [ + "▁precede", + -12.635455131530762 + ], + [ + "▁randomly", + -12.635489463806152 + ], + [ + "▁efecte", + -12.63563060760498 + ], + [ + "▁calatori", + -12.635668754577637 + ], + [ + "▁Poor", + -12.635765075683594 + ], + [ + "List", + -12.635781288146973 + ], + [ + "▁regula", + -12.635964393615723 + ], + [ + "▁organisé", + -12.636028289794922 + ], + [ + "Div", + -12.636076927185059 + ], + [ + "▁volunteering", + -12.636423110961914 + ], + [ + "▁horr", + -12.636449813842773 + ], + [ + "9.99", + -12.636487007141113 + ], + [ + "▁UPS", + -12.636513710021973 + ], + [ + "▁englez", + -12.63652229309082 + ], + [ + "▁Eden", + -12.636523246765137 + ], + [ + "GG", + -12.63659954071045 + ], + [ + "▁typing", + -12.63664722442627 + ], + [ + "Likewise", + -12.636700630187988 + ], + [ + "▁stabilize", + -12.636737823486328 + ], + [ + "physio", + -12.636747360229492 + ], + [ + "ми", + -12.636785507202148 + ], + [ + "▁protagonist", + -12.636808395385742 + ], + [ + "▁velvet", + -12.636812210083008 + ], + [ + "schrank", + -12.636861801147461 + ], + [ + "▁Allah", + -12.63693618774414 + ], + [ + "▁forefront", + -12.636968612670898 + ], + [ + "▁salaries", + -12.637001037597656 + ], + [ + "▁prediction", + -12.637041091918945 + ], + [ + "▁Advent", + -12.637182235717773 + ], + [ + "politik", + -12.637280464172363 + ], + [ + "▁Heimat", + -12.637350082397461 + ], + [ + "ducted", + -12.637380599975586 + ], + [ + "ASH", + -12.637386322021484 + ], + [ + "▁Mold", + -12.637773513793945 + ], + [ + "▁publi", + -12.63784122467041 + ], + [ + "▁Vil", + -12.637892723083496 + ], + [ + "▁stu", + -12.637925148010254 + ], + [ + "INTE", + -12.638032913208008 + ], + [ + "▁fave", + -12.638151168823242 + ], + [ + "▁grounded", + -12.638175010681152 + ], + [ + "▁Anything", + -12.638184547424316 + ], + [ + "vik", + -12.638481140136719 + ], + [ + "Bank", + -12.63853645324707 + ], + [ + "deserved", + -12.638550758361816 + ], + [ + "machen", + -12.63874626159668 + ], + [ + "▁rugged", + -12.638751029968262 + ], + [ + "▁Nest", + -12.638901710510254 + ], + [ + "▁profund", + -12.639043807983398 + ], + [ + "▁quantum", + -12.639067649841309 + ], + [ + "▁funcționa", + -12.639118194580078 + ], + [ + "klu", + -12.639158248901367 + ], + [ + "▁consulter", + -12.63917350769043 + ], + [ + "MED", + -12.639286994934082 + ], + [ + "▁câştig", + -12.639334678649902 + ], + [ + "▁săptămâni", + -12.639334678649902 + ], + [ + "questioned", + -12.639517784118652 + ], + [ + "▁Trop", + -12.639530181884766 + ], + [ + "▁convo", + -12.639533042907715 + ], + [ + "▁sparkling", + -12.639533996582031 + ], + [ + "▁specialise", + -12.639566421508789 + ], + [ + "▁pancake", + -12.639726638793945 + ], + [ + "habitude", + -12.639727592468262 + ], + [ + "phal", + -12.640009880065918 + ], + [ + "▁Roche", + -12.640158653259277 + ], + [ + "▁personalities", + -12.640250205993652 + ], + [ + "▁Venice", + -12.640308380126953 + ], + [ + "▁comerciale", + -12.640379905700684 + ], + [ + "▁wounded", + -12.64075756072998 + ], + [ + "▁oraş", + -12.640864372253418 + ], + [ + "▁Pepper", + -12.641044616699219 + ], + [ + "▁Tourist", + -12.641094207763672 + ], + [ + "▁Mull", + -12.64116382598877 + ], + [ + "▁dignity", + -12.641234397888184 + ], + [ + "▁Fixed", + -12.641291618347168 + ], + [ + "çant", + -12.64130687713623 + ], + [ + "▁spectator", + -12.641402244567871 + ], + [ + "▁somn", + -12.641685485839844 + ], + [ + "▁ständig", + -12.641820907592773 + ], + [ + "▁resilience", + -12.641866683959961 + ], + [ + "▁Malta", + -12.642251014709473 + ], + [ + "▁problemele", + -12.642253875732422 + ], + [ + "▁Martha", + -12.642254829406738 + ], + [ + "▁extern", + -12.642267227172852 + ], + [ + "embre", + -12.642379760742188 + ], + [ + "▁médical", + -12.642526626586914 + ], + [ + "fordern", + -12.64256477355957 + ], + [ + "nji", + -12.642592430114746 + ], + [ + "▁aboard", + -12.642740249633789 + ], + [ + "▁sidewalk", + -12.642759323120117 + ], + [ + "WIN", + -12.642775535583496 + ], + [ + "▁Bobby", + -12.642842292785645 + ], + [ + "▁umfangreiche", + -12.642876625061035 + ], + [ + "leid", + -12.64292049407959 + ], + [ + "▁compens", + -12.642967224121094 + ], + [ + "▁juge", + -12.64299488067627 + ], + [ + "gerufen", + -12.64311408996582 + ], + [ + "▁médicament", + -12.643135070800781 + ], + [ + "▁1918", + -12.643155097961426 + ], + [ + "▁blanche", + -12.643163681030273 + ], + [ + "▁pleasing", + -12.643220901489258 + ], + [ + "▁propria", + -12.643471717834473 + ], + [ + "ergebnisse", + -12.643503189086914 + ], + [ + "▁retrouv", + -12.643571853637695 + ], + [ + "urteil", + -12.643592834472656 + ], + [ + "▁Draft", + -12.64361572265625 + ], + [ + "▁concluzi", + -12.643671035766602 + ], + [ + "centralized", + -12.643789291381836 + ], + [ + "▁Hannah", + -12.64382266998291 + ], + [ + "grija", + -12.64392375946045 + ], + [ + "▁Exercise", + -12.643972396850586 + ], + [ + "RAL", + -12.644001960754395 + ], + [ + "creme", + -12.64408016204834 + ], + [ + "High", + -12.644126892089844 + ], + [ + "clude", + -12.644131660461426 + ], + [ + "Considering", + -12.644208908081055 + ], + [ + "▁Guarantee", + -12.644404411315918 + ], + [ + "▁cuptor", + -12.644436836242676 + ], + [ + "ivität", + -12.64468002319336 + ], + [ + "▁Southwest", + -12.644882202148438 + ], + [ + "▁vivant", + -12.644890785217285 + ], + [ + "Your", + -12.64498519897461 + ], + [ + "▁Stunde", + -12.645003318786621 + ], + [ + "▁Ethernet", + -12.645040512084961 + ], + [ + "angebote", + -12.645078659057617 + ], + [ + "▁Sage", + -12.645271301269531 + ], + [ + "▁Boeing", + -12.645295143127441 + ], + [ + "▁$300", + -12.645381927490234 + ], + [ + "2-4", + -12.64546012878418 + ], + [ + "▁nécessit", + -12.645516395568848 + ], + [ + "▁ferment", + -12.645599365234375 + ], + [ + "▁Anmeldung", + -12.64567756652832 + ], + [ + "▁exhausted", + -12.645758628845215 + ], + [ + "▁Schloss", + -12.645772933959961 + ], + [ + "▁Replacement", + -12.645859718322754 + ], + [ + "▁Aussi", + -12.645933151245117 + ], + [ + "jection", + -12.646127700805664 + ], + [ + "978", + -12.64615535736084 + ], + [ + "▁siège", + -12.646258354187012 + ], + [ + "crest", + -12.646310806274414 + ], + [ + "▁jumatate", + -12.646312713623047 + ], + [ + "effizient", + -12.646317481994629 + ], + [ + "▁colaborare", + -12.6464262008667 + ], + [ + "HQ", + -12.646615028381348 + ], + [ + "130", + -12.646695137023926 + ], + [ + "culaire", + -12.646907806396484 + ], + [ + "▁Jamaica", + -12.646952629089355 + ], + [ + "▁cardboard", + -12.64731216430664 + ], + [ + "▁technische", + -12.64731502532959 + ], + [ + "▁cereri", + -12.647507667541504 + ], + [ + "▁contradict", + -12.647570610046387 + ], + [ + "▁irrigation", + -12.647586822509766 + ], + [ + "Nume", + -12.64765739440918 + ], + [ + "▁Bier", + -12.647714614868164 + ], + [ + "▁livrare", + -12.647903442382812 + ], + [ + "▁reservoir", + -12.647906303405762 + ], + [ + "vâr", + -12.648130416870117 + ], + [ + "▁galben", + -12.648213386535645 + ], + [ + "▁Geneva", + -12.648303985595703 + ], + [ + "▁lightning", + -12.648418426513672 + ], + [ + "wished", + -12.64842414855957 + ], + [ + "▁Blind", + -12.648481369018555 + ], + [ + "Interested", + -12.648499488830566 + ], + [ + "▁Primări", + -12.648627281188965 + ], + [ + "anthropo", + -12.648954391479492 + ], + [ + "▁Transaction", + -12.648961067199707 + ], + [ + "▁marcat", + -12.648971557617188 + ], + [ + "▁gelegen", + -12.649077415466309 + ], + [ + "▁contemporain", + -12.649182319641113 + ], + [ + "▁politică", + -12.649182319641113 + ], + [ + "▁1948", + -12.64928150177002 + ], + [ + "▁Mik", + -12.649287223815918 + ], + [ + "▁preţ", + -12.649310111999512 + ], + [ + "moor", + -12.649312973022461 + ], + [ + "ANN", + -12.649432182312012 + ], + [ + "▁constructive", + -12.649454116821289 + ], + [ + "konzept", + -12.649502754211426 + ], + [ + "▁entendu", + -12.649511337280273 + ], + [ + "▁Genesis", + -12.649541854858398 + ], + [ + "arzt", + -12.649581909179688 + ], + [ + "▁Allgemein", + -12.64970874786377 + ], + [ + "▁Derby", + -12.649725914001465 + ], + [ + "Class", + -12.649762153625488 + ], + [ + "▁$12", + -12.649770736694336 + ], + [ + "▁Tube", + -12.6498441696167 + ], + [ + "▁Contribu", + -12.649847030639648 + ], + [ + "▁HAVE", + -12.649860382080078 + ], + [ + "▁oxide", + -12.64986515045166 + ], + [ + "▁producator", + -12.649941444396973 + ], + [ + "▁Bench", + -12.650132179260254 + ], + [ + "▁comprehend", + -12.650139808654785 + ], + [ + "▁Damen", + -12.650494575500488 + ], + [ + "▁Garant", + -12.65056037902832 + ], + [ + "▁disappointing", + -12.650614738464355 + ], + [ + "▁réalisée", + -12.650693893432617 + ], + [ + "▁comportement", + -12.65072250366211 + ], + [ + "▁clash", + -12.650753021240234 + ], + [ + "▁curry", + -12.65076732635498 + ], + [ + "▁Lebanon", + -12.65078067779541 + ], + [ + "▁Romaniei", + -12.650784492492676 + ], + [ + "▁reprise", + -12.650840759277344 + ], + [ + "▁perceive", + -12.65095329284668 + ], + [ + "▁weaknesses", + -12.65101146697998 + ], + [ + "▁aminti", + -12.651057243347168 + ], + [ + "▁Concern", + -12.651103973388672 + ], + [ + "shadow", + -12.651310920715332 + ], + [ + "▁basin", + -12.651311874389648 + ], + [ + "moral", + -12.652063369750977 + ], + [ + "▁Hughes", + -12.652101516723633 + ], + [ + "Psych", + -12.652266502380371 + ], + [ + "▁Lieferung", + -12.65227222442627 + ], + [ + "▁serrurier", + -12.652379035949707 + ], + [ + "ussi", + -12.652386665344238 + ], + [ + "▁timpului", + -12.6524658203125 + ], + [ + "üm", + -12.652629852294922 + ], + [ + "▁Vladimir", + -12.652701377868652 + ], + [ + "▁Jag", + -12.65279483795166 + ], + [ + "▁verific", + -12.652849197387695 + ], + [ + "▁Pru", + -12.652894020080566 + ], + [ + "▁Laut", + -12.653285026550293 + ], + [ + "ITA", + -12.653287887573242 + ], + [ + "usually", + -12.653294563293457 + ], + [ + "▁carrière", + -12.65341854095459 + ], + [ + "▁extracted", + -12.653663635253906 + ], + [ + "kultur", + -12.653679847717285 + ], + [ + "öpfe", + -12.653932571411133 + ], + [ + "▁rejection", + -12.654016494750977 + ], + [ + "▁Hydr", + -12.654062271118164 + ], + [ + "▁informaţii", + -12.654098510742188 + ], + [ + "▁tolerate", + -12.654122352600098 + ], + [ + "▁cinéma", + -12.654302597045898 + ], + [ + "traumatic", + -12.654305458068848 + ], + [ + "produkt", + -12.654450416564941 + ], + [ + "▁Contest", + -12.654560089111328 + ], + [ + "lotte", + -12.654570579528809 + ], + [ + "▁Pension", + -12.65461254119873 + ], + [ + "▁Advertising", + -12.654623985290527 + ], + [ + "▁payout", + -12.654772758483887 + ], + [ + "▁Amanda", + -12.65481185913086 + ], + [ + "Elect", + -12.65485668182373 + ], + [ + "▁interiorul", + -12.654996871948242 + ], + [ + "stay", + -12.655348777770996 + ], + [ + "▁feminine", + -12.655352592468262 + ], + [ + "▁întâmplă", + -12.655437469482422 + ], + [ + "▁insult", + -12.65562915802002 + ], + [ + "▁chocolat", + -12.65567398071289 + ], + [ + "▁noroc", + -12.655750274658203 + ], + [ + "▁centr", + -12.655781745910645 + ], + [ + "▁Bühne", + -12.655858039855957 + ], + [ + "mighty", + -12.6558837890625 + ], + [ + "▁Buddha", + -12.655908584594727 + ], + [ + "▁parental", + -12.655997276306152 + ], + [ + "storm", + -12.656451225280762 + ], + [ + "recurring", + -12.6565523147583 + ], + [ + "▁luxe", + -12.656588554382324 + ], + [ + "niște", + -12.656728744506836 + ], + [ + "cuit", + -12.656839370727539 + ], + [ + "▁ausgewählt", + -12.656880378723145 + ], + [ + "▁dumb", + -12.657047271728516 + ], + [ + "IPS", + -12.657127380371094 + ], + [ + "▁Thir", + -12.65717887878418 + ], + [ + "Definitely", + -12.657195091247559 + ], + [ + "▁hilarious", + -12.657195091247559 + ], + [ + "▁rainbow", + -12.657231330871582 + ], + [ + "▁Bravo", + -12.657251358032227 + ], + [ + "▁entstanden", + -12.657259941101074 + ], + [ + "itorul", + -12.657269477844238 + ], + [ + "▁prosperity", + -12.657299041748047 + ], + [ + "▁Bord", + -12.657336235046387 + ], + [ + "▁familiei", + -12.657363891601562 + ], + [ + "▁scade", + -12.657425880432129 + ], + [ + "wöhn", + -12.657426834106445 + ], + [ + "▁ingrediente", + -12.65743637084961 + ], + [ + "RAD", + -12.657441139221191 + ], + [ + "▁tăi", + -12.657472610473633 + ], + [ + "bours", + -12.65747356414795 + ], + [ + "ATI", + -12.657540321350098 + ], + [ + "▁Blake", + -12.65761661529541 + ], + [ + "▁Implement", + -12.657712936401367 + ], + [ + "▁Beziehung", + -12.657838821411133 + ], + [ + "finanz", + -12.657953262329102 + ], + [ + "intestin", + -12.658513069152832 + ], + [ + "ließen", + -12.658535957336426 + ], + [ + "▁récent", + -12.658594131469727 + ], + [ + "▁laminate", + -12.658692359924316 + ], + [ + "▁Hör", + -12.65876579284668 + ], + [ + "▁personnalisé", + -12.658804893493652 + ], + [ + "edel", + -12.65890121459961 + ], + [ + "▁advertisement", + -12.658902168273926 + ], + [ + "▁pinterest", + -12.658921241760254 + ], + [ + "185", + -12.659058570861816 + ], + [ + "identité", + -12.65938949584961 + ], + [ + "▁Brick", + -12.659408569335938 + ], + [ + "Glu", + -12.65941047668457 + ], + [ + "▁attendant", + -12.659571647644043 + ], + [ + "▁Flip", + -12.659614562988281 + ], + [ + "attracting", + -12.659662246704102 + ], + [ + "functional", + -12.659703254699707 + ], + [ + "conceived", + -12.659772872924805 + ], + [ + "▁summarize", + -12.659773826599121 + ], + [ + "adjusting", + -12.659809112548828 + ], + [ + "CAL", + -12.660041809082031 + ], + [ + "▁Operating", + -12.660076141357422 + ], + [ + "zzi", + -12.66008472442627 + ], + [ + "▁Rover", + -12.6603364944458 + ], + [ + "▁versuchen", + -12.6603364944458 + ], + [ + "▁articulate", + -12.660600662231445 + ], + [ + "▁privé", + -12.660614013671875 + ], + [ + "▁consequent", + -12.660663604736328 + ], + [ + "EAT", + -12.660690307617188 + ], + [ + "▁Marsh", + -12.660696983337402 + ], + [ + "▁teenage", + -12.660717964172363 + ], + [ + "▁Renaissance", + -12.660740852355957 + ], + [ + "▁furnizor", + -12.660883903503418 + ], + [ + "▁Desert", + -12.660894393920898 + ], + [ + "unicipiului", + -12.66104793548584 + ], + [ + "▁ulterior", + -12.661065101623535 + ], + [ + "▁Ebene", + -12.661280632019043 + ], + [ + "▁monkey", + -12.661351203918457 + ], + [ + "▁enclosed", + -12.661389350891113 + ], + [ + "▁profitability", + -12.66139030456543 + ], + [ + "▁Evolution", + -12.661628723144531 + ], + [ + "▁adica", + -12.661670684814453 + ], + [ + "▁Structure", + -12.661709785461426 + ], + [ + "▁primer", + -12.661761283874512 + ], + [ + "▁asigură", + -12.662001609802246 + ], + [ + "▁Manuel", + -12.662220001220703 + ], + [ + "polita", + -12.662267684936523 + ], + [ + "▁Portable", + -12.662286758422852 + ], + [ + "fecți", + -12.662413597106934 + ], + [ + "▁obscure", + -12.662424087524414 + ], + [ + "▁Atlas", + -12.662436485290527 + ], + [ + "fährt", + -12.662679672241211 + ], + [ + "▁clinician", + -12.662837982177734 + ], + [ + "fuhr", + -12.66310977935791 + ], + [ + "▁matériaux", + -12.663113594055176 + ], + [ + "écrire", + -12.663142204284668 + ], + [ + "▁suspicious", + -12.6632080078125 + ], + [ + "pore", + -12.663263320922852 + ], + [ + "▁outdated", + -12.663304328918457 + ], + [ + "▁Mädchen", + -12.663328170776367 + ], + [ + "rcis", + -12.663420677185059 + ], + [ + "nicht", + -12.663463592529297 + ], + [ + "holding", + -12.663561820983887 + ], + [ + "▁heavier", + -12.66366195678711 + ], + [ + "ezimal", + -12.663960456848145 + ], + [ + "▁silicone", + -12.66397476196289 + ], + [ + "punerea", + -12.664108276367188 + ], + [ + "▁begeistert", + -12.664237976074219 + ], + [ + "2004", + -12.664283752441406 + ], + [ + "▁predecessor", + -12.664299011230469 + ], + [ + "▁overlap", + -12.664369583129883 + ], + [ + "▁digging", + -12.664376258850098 + ], + [ + "▁Upgrade", + -12.664407730102539 + ], + [ + "▁interesat", + -12.664543151855469 + ], + [ + "▁spinach", + -12.66456127166748 + ], + [ + "▁politice", + -12.664626121520996 + ], + [ + "activity", + -12.664831161499023 + ], + [ + "▁Rating", + -12.66484546661377 + ], + [ + "▁serrure", + -12.664846420288086 + ], + [ + "▁tânăr", + -12.664959907531738 + ], + [ + "▁WHAT", + -12.664970397949219 + ], + [ + "▁railroad", + -12.664989471435547 + ], + [ + "▁avid", + -12.665081024169922 + ], + [ + "▁Sophie", + -12.665084838867188 + ], + [ + "preferably", + -12.665173530578613 + ], + [ + "▁Fourth", + -12.665431022644043 + ], + [ + "kommenden", + -12.665452003479004 + ], + [ + "QUI", + -12.665478706359863 + ], + [ + "lohn", + -12.665505409240723 + ], + [ + "▁promis", + -12.665611267089844 + ], + [ + "▁shrub", + -12.665621757507324 + ], + [ + "nummer", + -12.66579818725586 + ], + [ + "▁dinosaur", + -12.665922164916992 + ], + [ + "▁Lucky", + -12.665937423706055 + ], + [ + "relates", + -12.666038513183594 + ], + [ + "▁FROM", + -12.666049003601074 + ], + [ + "▁racism", + -12.66610336303711 + ], + [ + "physical", + -12.66611385345459 + ], + [ + "alcoholic", + -12.666119575500488 + ], + [ + "▁reef", + -12.666126251220703 + ], + [ + "▁centru", + -12.66618824005127 + ], + [ + "université", + -12.66622257232666 + ], + [ + "▁visage", + -12.666232109069824 + ], + [ + "ităţile", + -12.666253089904785 + ], + [ + "▁Gent", + -12.666345596313477 + ], + [ + "zugeben", + -12.66643238067627 + ], + [ + "▁paradise", + -12.66646957397461 + ], + [ + "fuel", + -12.666505813598633 + ], + [ + "ografie", + -12.666568756103516 + ], + [ + "▁TIP", + -12.666730880737305 + ], + [ + "schreibung", + -12.66683292388916 + ], + [ + "▁bark", + -12.666840553283691 + ], + [ + "accéder", + -12.666895866394043 + ], + [ + "▁contamination", + -12.666937828063965 + ], + [ + "▁swelling", + -12.666950225830078 + ], + [ + "▁optimistic", + -12.666974067687988 + ], + [ + "▁differential", + -12.667015075683594 + ], + [ + "▁Arad", + -12.667030334472656 + ], + [ + "toxins", + -12.667075157165527 + ], + [ + "▁übernehmen", + -12.667091369628906 + ], + [ + "▁anime", + -12.667143821716309 + ], + [ + "actuel", + -12.667462348937988 + ], + [ + "▁bientôt", + -12.667525291442871 + ], + [ + "▁Patio", + -12.66761302947998 + ], + [ + "▁baisse", + -12.667630195617676 + ], + [ + "▁sprint", + -12.66773796081543 + ], + [ + "▁bilden", + -12.66811466217041 + ], + [ + "VAL", + -12.668132781982422 + ], + [ + "▁réflexion", + -12.668220520019531 + ], + [ + "hopping", + -12.668242454528809 + ], + [ + "genesis", + -12.66834545135498 + ], + [ + "achtet", + -12.668435096740723 + ], + [ + "▁chinois", + -12.668525695800781 + ], + [ + "▁dezvoltat", + -12.668795585632324 + ], + [ + "arguably", + -12.66884708404541 + ], + [ + "▁Protocol", + -12.66884708404541 + ], + [ + "▁Sterling", + -12.668862342834473 + ], + [ + "▁Cave", + -12.668975830078125 + ], + [ + "▁Condo", + -12.66921615600586 + ], + [ + "▁erhöht", + -12.669235229492188 + ], + [ + "typische", + -12.669416427612305 + ], + [ + "merged", + -12.669439315795898 + ], + [ + "▁accumulation", + -12.669560432434082 + ], + [ + "sicherlich", + -12.669569969177246 + ], + [ + "kW", + -12.669620513916016 + ], + [ + "▁schriftlich", + -12.669757843017578 + ], + [ + "▁Vorteile", + -12.669918060302734 + ], + [ + "▁Northeast", + -12.669922828674316 + ], + [ + "frunt", + -12.669941902160645 + ], + [ + "istik", + -12.670003890991211 + ], + [ + "erster", + -12.670035362243652 + ], + [ + "▁Assistance", + -12.670150756835938 + ], + [ + "▁Fantastic", + -12.670150756835938 + ], + [ + "▁bărbat", + -12.670150756835938 + ], + [ + "▁Grinding", + -12.670151710510254 + ], + [ + "▁diffusion", + -12.670161247253418 + ], + [ + "▁vreun", + -12.670331954956055 + ], + [ + "▁Butler", + -12.670342445373535 + ], + [ + "▁Cherry", + -12.670352935791016 + ], + [ + "▁visualization", + -12.670540809631348 + ], + [ + "Paket", + -12.670572280883789 + ], + [ + "blin", + -12.670619010925293 + ], + [ + "▁cadou", + -12.670705795288086 + ], + [ + "▁Celtic", + -12.670754432678223 + ], + [ + "alegerea", + -12.670894622802734 + ], + [ + "▁Dorf", + -12.671035766601562 + ], + [ + "▁Noir", + -12.671185493469238 + ], + [ + "payment", + -12.67126750946045 + ], + [ + "▁Caroline", + -12.671334266662598 + ], + [ + "▁Berry", + -12.671359062194824 + ], + [ + "▁professeur", + -12.67147445678711 + ], + [ + "▁gratuitement", + -12.671503067016602 + ], + [ + "Suntem", + -12.671523094177246 + ], + [ + "IAN", + -12.671738624572754 + ], + [ + "▁fingerprint", + -12.671780586242676 + ], + [ + "▁controversy", + -12.671781539916992 + ], + [ + "▁fled", + -12.671875 + ], + [ + "▁Pokémon", + -12.67210865020752 + ], + [ + "excluding", + -12.67211627960205 + ], + [ + "▁friction", + -12.672161102294922 + ], + [ + "therapie", + -12.67225456237793 + ], + [ + "/7", + -12.672398567199707 + ], + [ + "▁designation", + -12.672442436218262 + ], + [ + "▁Belgia", + -12.672704696655273 + ], + [ + "▁cursuri", + -12.672836303710938 + ], + [ + "model", + -12.672840118408203 + ], + [ + "super", + -12.672987937927246 + ], + [ + "▁réduit", + -12.673028945922852 + ], + [ + "▁implicit", + -12.673177719116211 + ], + [ + "athlon", + -12.673227310180664 + ], + [ + "anniversaire", + -12.673416137695312 + ], + [ + "▁teaspoon", + -12.673416137695312 + ], + [ + "▁corrosion", + -12.673418998718262 + ], + [ + "▁überzeugt", + -12.673418998718262 + ], + [ + "▁flawless", + -12.673421859741211 + ], + [ + "▁vegetation", + -12.673477172851562 + ], + [ + "▁iarna", + -12.673507690429688 + ], + [ + "▁psychologist", + -12.673591613769531 + ], + [ + "hora", + -12.673625946044922 + ], + [ + "gab", + -12.67387580871582 + ], + [ + "▁soothing", + -12.674084663391113 + ], + [ + "▁stew", + -12.674141883850098 + ], + [ + "▁wager", + -12.674172401428223 + ], + [ + "▁tinere", + -12.674322128295898 + ], + [ + "▁baut", + -12.674323081970215 + ], + [ + "ecunoscut", + -12.674352645874023 + ], + [ + "gearbeitet", + -12.674422264099121 + ], + [ + "▁functi", + -12.674480438232422 + ], + [ + "▁dürfte", + -12.674724578857422 + ], + [ + "▁média", + -12.674724578857422 + ], + [ + "▁campanie", + -12.67475700378418 + ], + [ + "▁Distribu", + -12.674817085266113 + ], + [ + "▁mentoring", + -12.674959182739258 + ], + [ + "▁criz", + -12.675020217895508 + ], + [ + "findest", + -12.675056457519531 + ], + [ + "▁Vasile", + -12.675058364868164 + ], + [ + "▁compassionate", + -12.675115585327148 + ], + [ + "▁Tudor", + -12.675140380859375 + ], + [ + "▁flare", + -12.675260543823242 + ], + [ + "intreaga", + -12.675283432006836 + ], + [ + "gaz", + -12.6753511428833 + ], + [ + "▁porcelain", + -12.675379753112793 + ], + [ + "▁expedition", + -12.675520896911621 + ], + [ + "▁Azure", + -12.67553997039795 + ], + [ + "räumen", + -12.675549507141113 + ], + [ + "eiro", + -12.675567626953125 + ], + [ + "variante", + -12.675804138183594 + ], + [ + "▁Lucy", + -12.675825119018555 + ], + [ + "ôle", + -12.675909996032715 + ], + [ + "▁revenir", + -12.67602252960205 + ], + [ + "▁stained", + -12.676040649414062 + ], + [ + "▁falsch", + -12.676166534423828 + ], + [ + "▁incorpor", + -12.676166534423828 + ], + [ + "merkt", + -12.676187515258789 + ], + [ + "▁achten", + -12.6762056350708 + ], + [ + "▁hello", + -12.676290512084961 + ], + [ + "selben", + -12.676422119140625 + ], + [ + "ifty", + -12.676525115966797 + ], + [ + "▁Feier", + -12.67653751373291 + ], + [ + "1.000", + -12.676557540893555 + ], + [ + "▁Patch", + -12.676583290100098 + ], + [ + "peptid", + -12.676846504211426 + ], + [ + "▁recovering", + -12.676898956298828 + ], + [ + "Symptom", + -12.677020072937012 + ], + [ + "▁Auckland", + -12.677020072937012 + ], + [ + "▁retrieve", + -12.677328109741211 + ], + [ + "▁800-", + -12.67733097076416 + ], + [ + "schlagen", + -12.677473068237305 + ], + [ + "▁lourd", + -12.677562713623047 + ], + [ + "▁Purple", + -12.67760181427002 + ], + [ + "▁mittels", + -12.677776336669922 + ], + [ + "▁Düsseldorf", + -12.67800521850586 + ], + [ + "▁getaway", + -12.67803955078125 + ], + [ + "▁Cedar", + -12.678061485290527 + ], + [ + "▁Function", + -12.678241729736328 + ], + [ + "▁bizarre", + -12.67833423614502 + ], + [ + "4.3", + -12.67849063873291 + ], + [ + "▁fundraiser", + -12.67866325378418 + ], + [ + "geared", + -12.678780555725098 + ], + [ + "▁privée", + -12.678781509399414 + ], + [ + "▁Bonjour", + -12.67894458770752 + ], + [ + "Gar", + -12.67895793914795 + ], + [ + "▁Lloyd", + -12.678991317749023 + ], + [ + "▁Reinigung", + -12.6790132522583 + ], + [ + "▁Geno", + -12.679155349731445 + ], + [ + "▁Teilnahme", + -12.67919635772705 + ], + [ + "pian", + -12.679362297058105 + ], + [ + "sammelt", + -12.679368019104004 + ], + [ + "Pad", + -12.679755210876465 + ], + [ + "▁Troy", + -12.67976188659668 + ], + [ + "HG", + -12.679943084716797 + ], + [ + "▁klein", + -12.679962158203125 + ], + [ + "▁lettuce", + -12.679978370666504 + ], + [ + "▁patrimoine", + -12.679978370666504 + ], + [ + "▁cooker", + -12.680055618286133 + ], + [ + "▁accesibil", + -12.680137634277344 + ], + [ + "▁Spray", + -12.680201530456543 + ], + [ + "▁negotiation", + -12.68047046661377 + ], + [ + "▁jewel", + -12.680480003356934 + ], + [ + "▁dynamique", + -12.68063735961914 + ], + [ + "▁plastique", + -12.68067741394043 + ], + [ + "▁Limo", + -12.680682182312012 + ], + [ + "▁Funk", + -12.68069076538086 + ], + [ + "▁omului", + -12.680702209472656 + ], + [ + "title", + -12.680768013000488 + ], + [ + "curved", + -12.68082046508789 + ], + [ + "▁Lemon", + -12.680851936340332 + ], + [ + "förder", + -12.680891990661621 + ], + [ + "▁bewusst", + -12.681112289428711 + ], + [ + "inevitably", + -12.681296348571777 + ], + [ + "▁derivative", + -12.681297302246094 + ], + [ + "2:30", + -12.681300163269043 + ], + [ + "komfort", + -12.681305885314941 + ], + [ + "original", + -12.681480407714844 + ], + [ + "sanct", + -12.681540489196777 + ], + [ + "▁matte", + -12.6815767288208 + ], + [ + "empêche", + -12.681628227233887 + ], + [ + "▁jucător", + -12.681634902954102 + ], + [ + "▁attentive", + -12.681640625 + ], + [ + "▁recunoscut", + -12.681674003601074 + ], + [ + "▁Brush", + -12.68167495727539 + ], + [ + "▁consommateur", + -12.68183422088623 + ], + [ + "érence", + -12.682063102722168 + ], + [ + "typical", + -12.682084083557129 + ], + [ + "strategie", + -12.682205200195312 + ], + [ + "Effekt", + -12.682290077209473 + ], + [ + "▁Alcohol", + -12.682292938232422 + ], + [ + "oji", + -12.682333946228027 + ], + [ + "▁ruler", + -12.682357788085938 + ], + [ + "▁Norwegian", + -12.682615280151367 + ], + [ + "▁PlayStation", + -12.682615280151367 + ], + [ + "▁Hook", + -12.682747840881348 + ], + [ + "▁viewpoint", + -12.682759284973145 + ], + [ + "THER", + -12.682841300964355 + ], + [ + "420", + -12.682888984680176 + ], + [ + "Consequently", + -12.68294620513916 + ], + [ + "▁entschieden", + -12.68294620513916 + ], + [ + "▁Trag", + -12.68295669555664 + ], + [ + "▁Dawn", + -12.683003425598145 + ], + [ + "▁fuss", + -12.68301773071289 + ], + [ + "*****", + -12.683040618896484 + ], + [ + "▁Bullet", + -12.683140754699707 + ], + [ + "CAM", + -12.683155059814453 + ], + [ + "▁wonderfully", + -12.683201789855957 + ], + [ + "▁parlamentar", + -12.683263778686523 + ], + [ + "▁geometric", + -12.683307647705078 + ], + [ + "talement", + -12.683321952819824 + ], + [ + "/2018", + -12.683577537536621 + ], + [ + "▁oversight", + -12.684036254882812 + ], + [ + "kindly", + -12.684080123901367 + ], + [ + "therm", + -12.684305191040039 + ], + [ + "▁treaba", + -12.6846342086792 + ], + [ + "▁Trim", + -12.68471908569336 + ], + [ + "▁intelege", + -12.684842109680176 + ], + [ + "cino", + -12.685032844543457 + ], + [ + "▁straw", + -12.68508529663086 + ], + [ + "Tru", + -12.685251235961914 + ], + [ + "▁Television", + -12.68530559539795 + ], + [ + "Trader", + -12.68538761138916 + ], + [ + "▁Passion", + -12.685394287109375 + ], + [ + "rescu", + -12.685622215270996 + ], + [ + "Nicol", + -12.685635566711426 + ], + [ + "luj", + -12.685805320739746 + ], + [ + "▁mijloace", + -12.685921669006348 + ], + [ + "▁Removal", + -12.685922622680664 + ], + [ + "▁1944", + -12.686034202575684 + ], + [ + "▁shortcut", + -12.686159133911133 + ], + [ + "▁Fett", + -12.686258316040039 + ], + [ + "largement", + -12.686371803283691 + ], + [ + "▁altern", + -12.686446189880371 + ], + [ + "▁cleansing", + -12.686562538146973 + ], + [ + "▁Qatar", + -12.686692237854004 + ], + [ + "▁Ceci", + -12.686826705932617 + ], + [ + "▁weave", + -12.686848640441895 + ], + [ + "schmerz", + -12.686878204345703 + ], + [ + "▁dots", + -12.686888694763184 + ], + [ + "Télécharger", + -12.68691635131836 + ], + [ + "▁Conduct", + -12.686944007873535 + ], + [ + "bekannten", + -12.687325477600098 + ], + [ + "▁lungime", + -12.687344551086426 + ], + [ + "▁Ferrari", + -12.687390327453613 + ], + [ + "▁totusi", + -12.687605857849121 + ], + [ + "▁Anniversary", + -12.687911033630371 + ], + [ + "▁wilderness", + -12.687911987304688 + ], + [ + "▁Christoph", + -12.687939643859863 + ], + [ + "▁Nikon", + -12.688112258911133 + ], + [ + "▁Digi", + -12.68818473815918 + ], + [ + "▁Blumen", + -12.688190460205078 + ], + [ + "▁altul", + -12.688249588012695 + ], + [ + "▁Parish", + -12.688321113586426 + ], + [ + "czy", + -12.688393592834473 + ], + [ + "▁temper", + -12.688401222229004 + ], + [ + "▁Powder", + -12.688576698303223 + ], + [ + "▁Arnold", + -12.688577651977539 + ], + [ + "capacitatea", + -12.688687324523926 + ], + [ + "nderungen", + -12.688787460327148 + ], + [ + "▁utilization", + -12.688859939575195 + ], + [ + "99%", + -12.688942909240723 + ], + [ + "▁Fear", + -12.689099311828613 + ], + [ + "JE", + -12.689165115356445 + ], + [ + "▁Simpson", + -12.689239501953125 + ], + [ + "▁Podcast", + -12.68924617767334 + ], + [ + "▁Cardinal", + -12.689290046691895 + ], + [ + "▁Distribution", + -12.689315795898438 + ], + [ + "▁Drawing", + -12.689373970031738 + ], + [ + "▁tint", + -12.689412117004395 + ], + [ + "▁hran", + -12.68945598602295 + ], + [ + "▁Slide", + -12.68960189819336 + ], + [ + "▁Vertrauen", + -12.689654350280762 + ], + [ + "cloth", + -12.68971061706543 + ], + [ + "▁redirect", + -12.689728736877441 + ], + [ + "126", + -12.689842224121094 + ], + [ + "▁constituie", + -12.68985652923584 + ], + [ + "Mai", + -12.690070152282715 + ], + [ + "▁idol", + -12.690088272094727 + ], + [ + "▁tehnice", + -12.690163612365723 + ], + [ + "dip", + -12.690393447875977 + ], + [ + "▁soldier", + -12.690400123596191 + ], + [ + "▁Ordin", + -12.690409660339355 + ], + [ + "wobe", + -12.69050407409668 + ], + [ + "▁Brent", + -12.69058895111084 + ], + [ + "▁Sudan", + -12.690597534179688 + ], + [ + "6000", + -12.690619468688965 + ], + [ + "turism", + -12.690689086914062 + ], + [ + "▁Rocky", + -12.690744400024414 + ], + [ + "naming", + -12.69092082977295 + ], + [ + "▁entrepreneurial", + -12.690925598144531 + ], + [ + "hearted", + -12.690962791442871 + ], + [ + "ayne", + -12.69097900390625 + ], + [ + "▁hover", + -12.691081047058105 + ], + [ + "▁skull", + -12.691279411315918 + ], + [ + "▁tribal", + -12.691407203674316 + ], + [ + "▁crafting", + -12.691543579101562 + ], + [ + "bewertungen", + -12.691569328308105 + ], + [ + "▁decizii", + -12.691625595092773 + ], + [ + "obwohl", + -12.691655158996582 + ], + [ + "▁compromised", + -12.691875457763672 + ], + [ + "▁quelqu", + -12.69195556640625 + ], + [ + "▁Hilton", + -12.692075729370117 + ], + [ + "▁maturity", + -12.692095756530762 + ], + [ + "gelesen", + -12.692100524902344 + ], + [ + "▁harbor", + -12.69210433959961 + ], + [ + "▁maple", + -12.692326545715332 + ], + [ + "▁développ", + -12.6924409866333 + ], + [ + "▁Nobody", + -12.692517280578613 + ], + [ + "équipement", + -12.69255542755127 + ], + [ + "121", + -12.69274616241455 + ], + [ + "140", + -12.692827224731445 + ], + [ + "▁artistes", + -12.692914962768555 + ], + [ + "▁depune", + -12.692941665649414 + ], + [ + "▁erase", + -12.693129539489746 + ], + [ + "▁erzählt", + -12.693197250366211 + ], + [ + "▁Hyundai", + -12.69323444366455 + ], + [ + "▁impairment", + -12.69323444366455 + ], + [ + "▁conving", + -12.693279266357422 + ], + [ + "chasing", + -12.693426132202148 + ], + [ + "▁Claus", + -12.693438529968262 + ], + [ + "▁adaptée", + -12.693687438964844 + ], + [ + "▁Raz", + -12.693740844726562 + ], + [ + "rugs", + -12.693796157836914 + ], + [ + "▁urme", + -12.69387435913086 + ], + [ + "Nonetheless", + -12.693902015686035 + ], + [ + "▁Cemetery", + -12.693902969360352 + ], + [ + "umps", + -12.693906784057617 + ], + [ + "ACA", + -12.694003105163574 + ], + [ + "▁perioade", + -12.694235801696777 + ], + [ + "▁slogan", + -12.694263458251953 + ], + [ + "▁downward", + -12.694441795349121 + ], + [ + "eidig", + -12.694446563720703 + ], + [ + "RAC", + -12.69444751739502 + ], + [ + "▁inaugur", + -12.694496154785156 + ], + [ + "се", + -12.694588661193848 + ], + [ + "▁înțeleg", + -12.694608688354492 + ], + [ + "▁hopeful", + -12.694635391235352 + ], + [ + "▁customization", + -12.6946439743042 + ], + [ + "▁prisoners", + -12.694708824157715 + ], + [ + "▁Rau", + -12.695270538330078 + ], + [ + "▁Pitt", + -12.695389747619629 + ], + [ + "ături", + -12.695542335510254 + ], + [ + "▁metabolic", + -12.695842742919922 + ], + [ + "▁Zach", + -12.695868492126465 + ], + [ + "▁umfassende", + -12.695914268493652 + ], + [ + "▁révél", + -12.695950508117676 + ], + [ + "131", + -12.696052551269531 + ], + [ + "ismului", + -12.696062088012695 + ], + [ + "▁Sac", + -12.696076393127441 + ], + [ + "efficacité", + -12.69624137878418 + ], + [ + "cruci", + -12.69625473022461 + ], + [ + "bisschen", + -12.69632339477539 + ], + [ + "▁Oster", + -12.696324348449707 + ], + [ + "lowered", + -12.6964693069458 + ], + [ + "▁Ausland", + -12.69674015045166 + ], + [ + "▁Pub", + -12.696794509887695 + ], + [ + "▁Marseille", + -12.696925163269043 + ], + [ + "▁Charter", + -12.696959495544434 + ], + [ + "howcasing", + -12.697010040283203 + ], + [ + "risti", + -12.6971435546875 + ], + [ + "▁thermostat", + -12.697151184082031 + ], + [ + "▁Clin", + -12.697233200073242 + ], + [ + "▁entsteht", + -12.697246551513672 + ], + [ + "Choosing", + -12.697248458862305 + ], + [ + "▁Schmerz", + -12.697284698486328 + ], + [ + "▁Till", + -12.697307586669922 + ], + [ + "▁Polo", + -12.697399139404297 + ], + [ + "▁proceduri", + -12.697402000427246 + ], + [ + "▁Believe", + -12.697444915771484 + ], + [ + "▁playful", + -12.697514533996582 + ], + [ + "▁verändert", + -12.697588920593262 + ], + [ + "▁pairing", + -12.697654724121094 + ], + [ + "MAG", + -12.69784927368164 + ], + [ + "leiste", + -12.69788932800293 + ], + [ + "▁testimonial", + -12.697916030883789 + ], + [ + "▁Economy", + -12.697916984558105 + ], + [ + "▁Wechsel", + -12.697918891906738 + ], + [ + "wirkung", + -12.69801139831543 + ], + [ + "▁exceeded", + -12.698030471801758 + ], + [ + "South", + -12.698067665100098 + ], + [ + "create", + -12.698221206665039 + ], + [ + "▁davantage", + -12.698270797729492 + ], + [ + "Log", + -12.69831657409668 + ], + [ + "▁irregular", + -12.698587417602539 + ], + [ + "VB", + -12.698691368103027 + ], + [ + "▁Rö", + -12.698741912841797 + ], + [ + "▁intreb", + -12.698881149291992 + ], + [ + "▁penser", + -12.698920249938965 + ], + [ + "▁déclaré", + -12.698923110961914 + ], + [ + "▁Tommy", + -12.699026107788086 + ], + [ + "2,500", + -12.699163436889648 + ], + [ + "▁Uganda", + -12.699260711669922 + ], + [ + "contacting", + -12.699445724487305 + ], + [ + "▁apreciat", + -12.699485778808594 + ], + [ + "▁beginnen", + -12.6995210647583 + ], + [ + "▁Gain", + -12.699580192565918 + ], + [ + "Office", + -12.69969654083252 + ], + [ + "ermittlung", + -12.699710845947266 + ], + [ + "▁Admission", + -12.699727058410645 + ], + [ + "▁Earl", + -12.6997652053833 + ], + [ + "▁Aviation", + -12.699833869934082 + ], + [ + "▁apologize", + -12.699929237365723 + ], + [ + "▁enclosure", + -12.699929237365723 + ], + [ + "▁Lack", + -12.69998836517334 + ], + [ + "wife", + -12.699995994567871 + ], + [ + "▁rotating", + -12.700016975402832 + ], + [ + "▁hergestellt", + -12.700020790100098 + ], + [ + "▁repository", + -12.70002269744873 + ], + [ + "TK", + -12.700149536132812 + ], + [ + "▁lectur", + -12.700190544128418 + ], + [ + "▁reflex", + -12.700286865234375 + ], + [ + "▁Harmon", + -12.700401306152344 + ], + [ + "▁vrem", + -12.700479507446289 + ], + [ + "▁Strange", + -12.70055103302002 + ], + [ + "▁champagne", + -12.700615882873535 + ], + [ + "▁oscil", + -12.700647354125977 + ], + [ + "sensitive", + -12.700677871704102 + ], + [ + "▁Sheriff", + -12.700841903686523 + ], + [ + "PRES", + -12.700956344604492 + ], + [ + "▁vow", + -12.70123291015625 + ], + [ + "▁dioxide", + -12.701276779174805 + ], + [ + "ен", + -12.701374053955078 + ], + [ + "▁corpului", + -12.701376914978027 + ], + [ + "▁prevăzut", + -12.70160961151123 + ], + [ + "India", + -12.701827049255371 + ], + [ + "hausse", + -12.70189094543457 + ], + [ + "▁clienți", + -12.701957702636719 + ], + [ + "▁entour", + -12.70202350616455 + ], + [ + "▁Sharp", + -12.70209789276123 + ], + [ + "▁teatru", + -12.702285766601562 + ], + [ + "▁Grow", + -12.702327728271484 + ], + [ + "▁caravan", + -12.70234203338623 + ], + [ + "▁sieben", + -12.702420234680176 + ], + [ + "▁cunosc", + -12.702502250671387 + ], + [ + "Bereichen", + -12.702527046203613 + ], + [ + "▁Benutzer", + -12.702619552612305 + ], + [ + "▁Ethiopia", + -12.702619552612305 + ], + [ + "▁Physics", + -12.702619552612305 + ], + [ + "preserving", + -12.70263385772705 + ], + [ + "ал", + -12.702712059020996 + ], + [ + "▁aerial", + -12.70272159576416 + ], + [ + "▁nouvel", + -12.702741622924805 + ], + [ + "▁stamped", + -12.702954292297363 + ], + [ + "▁inaugural", + -12.702970504760742 + ], + [ + "▁medicinal", + -12.702999114990234 + ], + [ + "Quite", + -12.703028678894043 + ], + [ + "accumulated", + -12.703165054321289 + ], + [ + "register", + -12.703271865844727 + ], + [ + "▁Falcon", + -12.70327377319336 + ], + [ + "▁boiling", + -12.703301429748535 + ], + [ + "▁advertised", + -12.703339576721191 + ], + [ + "collect", + -12.703362464904785 + ], + [ + "albeit", + -12.703418731689453 + ], + [ + "▁Organis", + -12.703473091125488 + ], + [ + "luate", + -12.703536033630371 + ], + [ + "▁préféré", + -12.70369815826416 + ], + [ + "▁frumoasa", + -12.703968048095703 + ], + [ + "▁truc", + -12.704092979431152 + ], + [ + "▁Fä", + -12.704154968261719 + ], + [ + "▁dome", + -12.704180717468262 + ], + [ + "Mobile", + -12.704191207885742 + ], + [ + "▁redeem", + -12.704198837280273 + ], + [ + "IONS", + -12.70422077178955 + ], + [ + "▁țări", + -12.704235076904297 + ], + [ + "▁singular", + -12.704385757446289 + ], + [ + "▁livestock", + -12.704425811767578 + ], + [ + "▁démont", + -12.704427719116211 + ], + [ + "clés", + -12.704527854919434 + ], + [ + "music", + -12.704561233520508 + ], + [ + "▁explicat", + -12.704602241516113 + ], + [ + "▁Fellowship", + -12.704703330993652 + ], + [ + "▁electrode", + -12.704760551452637 + ], + [ + "129", + -12.704977035522461 + ], + [ + "▁Rescue", + -12.704983711242676 + ], + [ + "▁Rocket", + -12.705159187316895 + ], + [ + "OSE", + -12.705301284790039 + ], + [ + "▁Sacramento", + -12.705317497253418 + ], + [ + "▁Haiti", + -12.705357551574707 + ], + [ + "▁Erwachsene", + -12.705390930175781 + ], + [ + "▁Terminal", + -12.70541000366211 + ], + [ + "URI", + -12.705453872680664 + ], + [ + "▁Rural", + -12.70549201965332 + ], + [ + "▁achizitiona", + -12.70552921295166 + ], + [ + "▁identifiable", + -12.705655097961426 + ], + [ + "▁gekauft", + -12.705659866333008 + ], + [ + "▁improper", + -12.705673217773438 + ], + [ + "lashes", + -12.705751419067383 + ], + [ + "vorbim", + -12.705751419067383 + ], + [ + "▁hinder", + -12.705862045288086 + ], + [ + "▁Grenz", + -12.705878257751465 + ], + [ + "Nav", + -12.705955505371094 + ], + [ + "alimentation", + -12.705972671508789 + ], + [ + "▁Cottage", + -12.7059965133667 + ], + [ + "▁nötig", + -12.706197738647461 + ], + [ + "▁cuprinde", + -12.70622444152832 + ], + [ + "session", + -12.706256866455078 + ], + [ + "▁Separat", + -12.70634651184082 + ], + [ + "▁besuchen", + -12.706672668457031 + ], + [ + "▁noodles", + -12.706684112548828 + ], + [ + "▁ballet", + -12.706696510314941 + ], + [ + "WG", + -12.706731796264648 + ], + [ + "▁Duty", + -12.706871032714844 + ], + [ + "▁porc", + -12.706944465637207 + ], + [ + "▁booster", + -12.70698356628418 + ], + [ + "galerie", + -12.707056045532227 + ], + [ + "▁Lance", + -12.707119941711426 + ], + [ + "▁déplac", + -12.707178115844727 + ], + [ + "▁rugby", + -12.707240104675293 + ], + [ + "▁upholstery", + -12.707345962524414 + ], + [ + "▁bustl", + -12.70736312866211 + ], + [ + "▁Dealer", + -12.70740032196045 + ], + [ + "▁genome", + -12.707414627075195 + ], + [ + "▁citizenship", + -12.707466125488281 + ], + [ + "rora", + -12.707515716552734 + ], + [ + "ARK", + -12.707776069641113 + ], + [ + "▁Semi", + -12.707820892333984 + ], + [ + "▁Improvement", + -12.707892417907715 + ], + [ + "▁negru", + -12.708142280578613 + ], + [ + "▁Bruxelles", + -12.70836067199707 + ], + [ + "flüge", + -12.70837688446045 + ], + [ + "▁Technique", + -12.708392143249512 + ], + [ + "▁Obst", + -12.708413124084473 + ], + [ + "2020", + -12.708560943603516 + ], + [ + "▁gek", + -12.708593368530273 + ], + [ + "▁drepturi", + -12.708600997924805 + ], + [ + "▁Logan", + -12.708605766296387 + ], + [ + "gelöst", + -12.70863151550293 + ], + [ + "▁grandparents", + -12.708702087402344 + ], + [ + "phin", + -12.708950996398926 + ], + [ + "▁dwell", + -12.709037780761719 + ], + [ + "▁Nobel", + -12.709151268005371 + ], + [ + "dial", + -12.70927906036377 + ], + [ + "▁spontan", + -12.709344863891602 + ], + [ + "advancing", + -12.70937728881836 + ], + [ + "starring", + -12.70947551727295 + ], + [ + "▁astea", + -12.709498405456543 + ], + [ + "igueur", + -12.709638595581055 + ], + [ + "▁Ancient", + -12.709700584411621 + ], + [ + "filter", + -12.70971965789795 + ], + [ + "Doar", + -12.709758758544922 + ], + [ + "▁Workers", + -12.709759712219238 + ], + [ + "Certainly", + -12.709906578063965 + ], + [ + "▁commencé", + -12.709914207458496 + ], + [ + "▁zipper", + -12.710001945495605 + ], + [ + "▁Selection", + -12.710070610046387 + ], + [ + "▁succ", + -12.710280418395996 + ], + [ + "headed", + -12.710345268249512 + ], + [ + "RIA", + -12.710350036621094 + ], + [ + "▁papa", + -12.710366249084473 + ], + [ + "▁profesionale", + -12.710394859313965 + ], + [ + "▁Zeichen", + -12.710402488708496 + ], + [ + "▁artisans", + -12.710489273071289 + ], + [ + "▁Geist", + -12.710585594177246 + ], + [ + "practic", + -12.710741996765137 + ], + [ + "▁ministrul", + -12.71076488494873 + ], + [ + "viens", + -12.710912704467773 + ], + [ + "prezintă", + -12.710919380187988 + ], + [ + "Integrated", + -12.710981369018555 + ], + [ + "▁rooftop", + -12.710989952087402 + ], + [ + "▁successor", + -12.710991859436035 + ], + [ + "OTO", + -12.711012840270996 + ], + [ + "liés", + -12.711027145385742 + ], + [ + "▁Diver", + -12.71121597290039 + ], + [ + "Specifically", + -12.711297988891602 + ], + [ + "▁calibr", + -12.711301803588867 + ], + [ + "KK", + -12.711341857910156 + ], + [ + "▁défense", + -12.711414337158203 + ], + [ + "▁english", + -12.711414337158203 + ], + [ + "verbrauch", + -12.711418151855469 + ], + [ + "▁attire", + -12.711433410644531 + ], + [ + "▁Recipe", + -12.711441040039062 + ], + [ + "équilibre", + -12.711457252502441 + ], + [ + "accumul", + -12.71157169342041 + ], + [ + "▁financement", + -12.71169662475586 + ], + [ + "rij", + -12.711962699890137 + ], + [ + "▁prince", + -12.711999893188477 + ], + [ + "▁préparer", + -12.7120361328125 + ], + [ + "surviving", + -12.71211051940918 + ], + [ + "operation", + -12.712233543395996 + ], + [ + "▁judet", + -12.71242904663086 + ], + [ + "▁Verantwortung", + -12.712433815002441 + ], + [ + "▁Vinyl", + -12.712536811828613 + ], + [ + "DEN", + -12.712584495544434 + ], + [ + "▁Tail", + -12.712589263916016 + ], + [ + "yearly", + -12.712590217590332 + ], + [ + "▁comisi", + -12.712613105773926 + ], + [ + "lava", + -12.71261978149414 + ], + [ + "▁succession", + -12.71264934539795 + ], + [ + "▁Whisk", + -12.713030815124512 + ], + [ + "▁precizat", + -12.713096618652344 + ], + [ + "▁unmittelbar", + -12.713117599487305 + ], + [ + "ICH", + -12.713139533996582 + ], + [ + "▁atteint", + -12.713199615478516 + ], + [ + "▁hometown", + -12.713268280029297 + ], + [ + "▁Zip", + -12.71328353881836 + ], + [ + "▁Weekly", + -12.71336841583252 + ], + [ + "▁crashes", + -12.713401794433594 + ], + [ + "▁Turbo", + -12.713421821594238 + ], + [ + "▁susține", + -12.713468551635742 + ], + [ + "▁Venus", + -12.713587760925293 + ], + [ + "▁finalement", + -12.713595390319824 + ], + [ + "rewarded", + -12.713693618774414 + ], + [ + "▁principau", + -12.713899612426758 + ], + [ + "▁régional", + -12.713979721069336 + ], + [ + "▁1958", + -12.714178085327148 + ], + [ + "▁Musical", + -12.714189529418945 + ], + [ + "▁stylist", + -12.714251518249512 + ], + [ + "cetate", + -12.714282035827637 + ], + [ + "gorge", + -12.71433162689209 + ], + [ + "▁espresso", + -12.714493751525879 + ], + [ + "überall", + -12.714576721191406 + ], + [ + "▁NHL", + -12.714593887329102 + ], + [ + "▁Dock", + -12.71472454071045 + ], + [ + "▁mosquito", + -12.71481704711914 + ], + [ + "▁forthcoming", + -12.714852333068848 + ], + [ + "▁Visitors", + -12.714881896972656 + ], + [ + "kro", + -12.714882850646973 + ], + [ + "_______", + -12.715048789978027 + ], + [ + "▁STEM", + -12.715105056762695 + ], + [ + "9.5", + -12.715141296386719 + ], + [ + "accompagne", + -12.715177536010742 + ], + [ + "▁Trick", + -12.715202331542969 + ], + [ + "▁endorsement", + -12.715400695800781 + ], + [ + "▁amplifier", + -12.715498924255371 + ], + [ + "▁malicious", + -12.715499877929688 + ], + [ + "▁roam", + -12.71552848815918 + ], + [ + "▁kennt", + -12.715635299682617 + ], + [ + "Connor", + -12.715690612792969 + ], + [ + "▁dysfunction", + -12.715828895568848 + ], + [ + "▁zuverlässig", + -12.715840339660645 + ], + [ + "▁corpul", + -12.71595573425293 + ], + [ + "▁boule", + -12.715967178344727 + ], + [ + "otti", + -12.715991973876953 + ], + [ + "440", + -12.716050148010254 + ], + [ + "▁mimic", + -12.716056823730469 + ], + [ + "farben", + -12.716129302978516 + ], + [ + "▁Wagner", + -12.716214179992676 + ], + [ + "Kom", + -12.7162504196167 + ], + [ + "▁miteinander", + -12.716269493103027 + ], + [ + "▁String", + -12.716296195983887 + ], + [ + "▁Ellis", + -12.716313362121582 + ], + [ + "▁Perth", + -12.716337203979492 + ], + [ + "▁temperatura", + -12.716381072998047 + ], + [ + "umbling", + -12.716397285461426 + ], + [ + "▁Medizin", + -12.716554641723633 + ], + [ + "▁KY", + -12.71660327911377 + ], + [ + "apei", + -12.716642379760742 + ], + [ + "counter", + -12.716647148132324 + ], + [ + "strich", + -12.71665096282959 + ], + [ + "▁Între", + -12.716652870178223 + ], + [ + "▁Cliff", + -12.716785430908203 + ], + [ + "▁foreclosure", + -12.716864585876465 + ], + [ + "................", + -12.716878890991211 + ], + [ + "Clearly", + -12.717028617858887 + ], + [ + "AJ", + -12.717057228088379 + ], + [ + "ndro", + -12.717180252075195 + ], + [ + "▁Arsenal", + -12.717206001281738 + ], + [ + "▁Recherche", + -12.717216491699219 + ], + [ + "Guests", + -12.717225074768066 + ], + [ + "▁besucht", + -12.717242240905762 + ], + [ + "wissen", + -12.717266082763672 + ], + [ + "fekt", + -12.717414855957031 + ], + [ + "hottest", + -12.717414855957031 + ], + [ + "▁Tomorrow", + -12.717547416687012 + ], + [ + "▁Signature", + -12.717557907104492 + ], + [ + "127", + -12.717583656311035 + ], + [ + "▁competence", + -12.71766471862793 + ], + [ + "Einige", + -12.717686653137207 + ], + [ + "patented", + -12.71782112121582 + ], + [ + "▁Exhibition", + -12.717889785766602 + ], + [ + "▁verbessern", + -12.717889785766602 + ], + [ + "▁Garcia", + -12.718043327331543 + ], + [ + "▁inquire", + -12.718278884887695 + ], + [ + "coping", + -12.718353271484375 + ], + [ + "▁linguri", + -12.71842098236084 + ], + [ + "▁trivia", + -12.718433380126953 + ], + [ + "▁începutul", + -12.718489646911621 + ], + [ + "▁parteneriat", + -12.7186279296875 + ], + [ + "tagen", + -12.718636512756348 + ], + [ + "▁engagé", + -12.718916893005371 + ], + [ + "▁chalk", + -12.718944549560547 + ], + [ + "▁fashionable", + -12.719416618347168 + ], + [ + "0.8", + -12.719635009765625 + ], + [ + "▁sticker", + -12.719751358032227 + ], + [ + "▁desperately", + -12.719765663146973 + ], + [ + "höhe", + -12.719903945922852 + ], + [ + "▁fericire", + -12.71994400024414 + ], + [ + "évaluation", + -12.719948768615723 + ], + [ + "▁Divide", + -12.719959259033203 + ], + [ + "▁indulge", + -12.719979286193848 + ], + [ + "fett", + -12.720014572143555 + ], + [ + "▁communal", + -12.72017765045166 + ], + [ + "▁mindful", + -12.720187187194824 + ], + [ + "dauert", + -12.720192909240723 + ], + [ + "▁veille", + -12.720263481140137 + ], + [ + "▁vér", + -12.720330238342285 + ], + [ + "▁Baseball", + -12.720373153686523 + ], + [ + "▁succeeded", + -12.720418930053711 + ], + [ + "▁Terrasse", + -12.720420837402344 + ], + [ + "irgend", + -12.720500946044922 + ], + [ + "▁Munich", + -12.720556259155273 + ], + [ + "weisung", + -12.72067642211914 + ], + [ + "metre", + -12.720916748046875 + ], + [ + "▁Raymond", + -12.721015930175781 + ], + [ + "▁chute", + -12.72102165222168 + ], + [ + "▁Accounting", + -12.721075057983398 + ], + [ + "▁pantry", + -12.721122741699219 + ], + [ + "▁underwater", + -12.721181869506836 + ], + [ + "ARI", + -12.721222877502441 + ], + [ + "lowed", + -12.721245765686035 + ], + [ + "numbered", + -12.721430778503418 + ], + [ + "REN", + -12.72148609161377 + ], + [ + "▁industriel", + -12.721489906311035 + ], + [ + "wäh", + -12.721531867980957 + ], + [ + "kenntnis", + -12.721631050109863 + ], + [ + "▁govern", + -12.721635818481445 + ], + [ + "strained", + -12.721661567687988 + ], + [ + "▁rythme", + -12.721689224243164 + ], + [ + "ин", + -12.72169303894043 + ], + [ + "▁burner", + -12.721723556518555 + ], + [ + "▁zählt", + -12.721790313720703 + ], + [ + "▁verte", + -12.721883773803711 + ], + [ + "▁Catalog", + -12.721896171569824 + ], + [ + "▁Bruno", + -12.721988677978516 + ], + [ + "0.7", + -12.721997261047363 + ], + [ + "▁litig", + -12.72207260131836 + ], + [ + "▁greet", + -12.722129821777344 + ], + [ + "▁stool", + -12.722393035888672 + ], + [ + "gression", + -12.722457885742188 + ], + [ + "▁Klassen", + -12.722491264343262 + ], + [ + "▁neon", + -12.722661018371582 + ], + [ + "▁Tall", + -12.722734451293945 + ], + [ + "▁satin", + -12.722895622253418 + ], + [ + "▁Bend", + -12.722915649414062 + ], + [ + "▁soluţi", + -12.723077774047852 + ], + [ + "▁styl", + -12.723196983337402 + ], + [ + "▁Siri", + -12.723358154296875 + ], + [ + "▁Sanders", + -12.723464012145996 + ], + [ + "▁spike", + -12.723499298095703 + ], + [ + "pinion", + -12.723854064941406 + ], + [ + "▁purta", + -12.724122047424316 + ], + [ + "CARE", + -12.724224090576172 + ], + [ + "▁creştere", + -12.724311828613281 + ], + [ + "▁fry", + -12.724374771118164 + ], + [ + "▁Schweizer", + -12.724400520324707 + ], + [ + "durchschnittlich", + -12.724411010742188 + ], + [ + "celaşi", + -12.724446296691895 + ], + [ + "▁deceased", + -12.724474906921387 + ], + [ + "▁Nerv", + -12.724668502807617 + ], + [ + "2-2", + -12.7247314453125 + ], + [ + "▁Stahl", + -12.724753379821777 + ], + [ + "▁workload", + -12.724834442138672 + ], + [ + "erhielt", + -12.724984169006348 + ], + [ + "▁hypothesis", + -12.725103378295898 + ], + [ + "bib", + -12.725110054016113 + ], + [ + "▁ţară", + -12.725116729736328 + ], + [ + "vaut", + -12.725122451782227 + ], + [ + "prehensi", + -12.725184440612793 + ], + [ + "▁Offering", + -12.725188255310059 + ], + [ + "▁dislike", + -12.725252151489258 + ], + [ + "▁firewall", + -12.725252151489258 + ], + [ + "mania", + -12.725255966186523 + ], + [ + "195", + -12.725278854370117 + ], + [ + "▁Champ", + -12.725324630737305 + ], + [ + "▁philosophical", + -12.725343704223633 + ], + [ + "länge", + -12.72553539276123 + ], + [ + "advisable", + -12.725785255432129 + ], + [ + "negotiating", + -12.725785255432129 + ], + [ + "Providing", + -12.725791931152344 + ], + [ + "▁1959", + -12.725801467895508 + ], + [ + "▁spyware", + -12.725831031799316 + ], + [ + "sharing", + -12.725837707519531 + ], + [ + "▁prévoi", + -12.725905418395996 + ], + [ + "▁jaune", + -12.7260103225708 + ], + [ + "schoss", + -12.726028442382812 + ], + [ + "▁obține", + -12.726129531860352 + ], + [ + "▁attraktiv", + -12.726489067077637 + ], + [ + "gemeinschaft", + -12.7265043258667 + ], + [ + "BV", + -12.726505279541016 + ], + [ + "Top", + -12.726617813110352 + ], + [ + "▁Sharon", + -12.726625442504883 + ], + [ + "bok", + -12.726675033569336 + ], + [ + "▁résist", + -12.726811408996582 + ], + [ + "Napoca", + -12.726822853088379 + ], + [ + "▁Uncategorized", + -12.726898193359375 + ], + [ + "▁trustee", + -12.726936340332031 + ], + [ + "▁remise", + -12.727025985717773 + ], + [ + "▁aştept", + -12.727165222167969 + ], + [ + "▁allergic", + -12.727206230163574 + ], + [ + "èvre", + -12.727211952209473 + ], + [ + "LAR", + -12.72734546661377 + ], + [ + "1.9", + -12.727497100830078 + ], + [ + "▁outbreak", + -12.727520942687988 + ], + [ + "▁trocken", + -12.727568626403809 + ], + [ + "▁laughter", + -12.727724075317383 + ], + [ + "▁Attend", + -12.727785110473633 + ], + [ + "jung", + -12.727822303771973 + ], + [ + "racking", + -12.727934837341309 + ], + [ + "ORS", + -12.728178024291992 + ], + [ + "▁rasp", + -12.728527069091797 + ], + [ + "VF", + -12.728551864624023 + ], + [ + "▁Tamil", + -12.72860050201416 + ], + [ + "124", + -12.728602409362793 + ], + [ + "▁Fiber", + -12.728714942932129 + ], + [ + "▁launches", + -12.728755950927734 + ], + [ + "Post", + -12.728777885437012 + ], + [ + "▁bucks", + -12.729072570800781 + ], + [ + "▁Nicholas", + -12.72923755645752 + ], + [ + "▁cărți", + -12.729255676269531 + ], + [ + "emper", + -12.729681968688965 + ], + [ + "Point", + -12.729689598083496 + ], + [ + "fraction", + -12.729753494262695 + ], + [ + "▁BIG", + -12.729804992675781 + ], + [ + "▁lancer", + -12.729829788208008 + ], + [ + "EVER", + -12.72997760772705 + ], + [ + "trend", + -12.73000431060791 + ], + [ + "▁remerci", + -12.730076789855957 + ], + [ + "▁prevalent", + -12.730168342590332 + ], + [ + "370", + -12.730290412902832 + ], + [ + "▁bestellen", + -12.730327606201172 + ], + [ + "Buying", + -12.730341911315918 + ], + [ + "▁Aufbau", + -12.730416297912598 + ], + [ + "▁opini", + -12.730416297912598 + ], + [ + "▁regiune", + -12.730663299560547 + ], + [ + "▁martial", + -12.73069953918457 + ], + [ + "LK", + -12.730754852294922 + ], + [ + "▁Feuerwehr", + -12.730974197387695 + ], + [ + "screened", + -12.73099422454834 + ], + [ + "Blue", + -12.73120403289795 + ], + [ + "▁analize", + -12.731237411499023 + ], + [ + "▁lure", + -12.731247901916504 + ], + [ + "▁internally", + -12.731283187866211 + ], + [ + "father", + -12.731322288513184 + ], + [ + "▁diplomatic", + -12.731343269348145 + ], + [ + "▁Activity", + -12.731464385986328 + ], + [ + "▁cliqu", + -12.73156452178955 + ], + [ + "▁adequately", + -12.731809616088867 + ], + [ + "▁Elena", + -12.73183822631836 + ], + [ + "▁Citizens", + -12.732102394104004 + ], + [ + "▁Länge", + -12.732295989990234 + ], + [ + "▁respectful", + -12.732300758361816 + ], + [ + "▁zuständig", + -12.73248291015625 + ], + [ + "▁réception", + -12.732584953308105 + ], + [ + "▁headset", + -12.732686996459961 + ], + [ + "▁awhile", + -12.732705116271973 + ], + [ + "▁speculation", + -12.732707977294922 + ], + [ + "▁WhatsApp", + -12.732714653015137 + ], + [ + "▁tulbur", + -12.732731819152832 + ], + [ + "▁voluntar", + -12.732758522033691 + ], + [ + "▁Studium", + -12.73277473449707 + ], + [ + "▁protector", + -12.732833862304688 + ], + [ + "▁Wrap", + -12.732840538024902 + ], + [ + "staat", + -12.732951164245605 + ], + [ + "▁judgement", + -12.733396530151367 + ], + [ + "unauthorized", + -12.733397483825684 + ], + [ + "Rank", + -12.733487129211426 + ], + [ + "pră", + -12.733503341674805 + ], + [ + "▁Paw", + -12.733627319335938 + ], + [ + "▁relev", + -12.733664512634277 + ], + [ + "▁arbor", + -12.733830451965332 + ], + [ + "stretches", + -12.733885765075684 + ], + [ + "nook", + -12.733906745910645 + ], + [ + "▁Tunis", + -12.733907699584961 + ], + [ + "▁shocking", + -12.734036445617676 + ], + [ + "▁oppress", + -12.73414421081543 + ], + [ + "10.1", + -12.7341890335083 + ], + [ + "▁ERP", + -12.734310150146484 + ], + [ + "wolle", + -12.7343168258667 + ], + [ + "▁Catch", + -12.734352111816406 + ], + [ + "Plus", + -12.734368324279785 + ], + [ + "Market", + -12.734445571899414 + ], + [ + "scribed", + -12.734536170959473 + ], + [ + "▁décoration", + -12.734594345092773 + ], + [ + "▁chanson", + -12.734607696533203 + ], + [ + "▁Midwest", + -12.734763145446777 + ], + [ + "▁Spencer", + -12.734795570373535 + ], + [ + "▁societate", + -12.734807968139648 + ], + [ + "curated", + -12.735087394714355 + ], + [ + "▁canopy", + -12.735135078430176 + ], + [ + "ат", + -12.735142707824707 + ], + [ + "Sig", + -12.73514461517334 + ], + [ + "▁witch", + -12.735153198242188 + ], + [ + "envoyer", + -12.735175132751465 + ], + [ + "▁$1,000", + -12.735230445861816 + ], + [ + "▁peripheral", + -12.735482215881348 + ], + [ + "nnouncing", + -12.735509872436523 + ], + [ + "perfect", + -12.73559284210205 + ], + [ + "▁warten", + -12.735748291015625 + ], + [ + "ELI", + -12.735822677612305 + ], + [ + "▁recap", + -12.735912322998047 + ], + [ + "dün", + -12.735978126525879 + ], + [ + "▁Spre", + -12.736029624938965 + ], + [ + "2005", + -12.736153602600098 + ], + [ + "▁réparation", + -12.73617935180664 + ], + [ + "▁extraordinar", + -12.736196517944336 + ], + [ + "existence", + -12.736337661743164 + ], + [ + "oanele", + -12.736467361450195 + ], + [ + "▁reprezentant", + -12.736474990844727 + ], + [ + "▁attacker", + -12.736490249633789 + ], + [ + "▁Berliner", + -12.73657512664795 + ], + [ + "experience", + -12.736649513244629 + ], + [ + "▁Monde", + -12.736800193786621 + ], + [ + "intervention", + -12.736956596374512 + ], + [ + "▁Einstellung", + -12.736977577209473 + ], + [ + "▁Valentin", + -12.737011909484863 + ], + [ + "▁zonă", + -12.737200736999512 + ], + [ + "occupant", + -12.737223625183105 + ], + [ + "▁mobilis", + -12.737260818481445 + ], + [ + "metall", + -12.737261772155762 + ], + [ + "evangeli", + -12.73729133605957 + ], + [ + "Adding", + -12.737326622009277 + ], + [ + "▁Roland", + -12.73735237121582 + ], + [ + "ENCE", + -12.737462043762207 + ], + [ + "▁Insul", + -12.737478256225586 + ], + [ + "tellement", + -12.737497329711914 + ], + [ + "▁Blogger", + -12.737499237060547 + ], + [ + "▁prote", + -12.737504005432129 + ], + [ + "▁Minimum", + -12.737574577331543 + ], + [ + "▁termic", + -12.737624168395996 + ], + [ + "▁Sachen", + -12.737859725952148 + ], + [ + "▁Maschinen", + -12.737863540649414 + ], + [ + "▁Dragnea", + -12.737926483154297 + ], + [ + "▁overtime", + -12.737967491149902 + ], + [ + "calorie", + -12.737968444824219 + ], + [ + "▁jene", + -12.73814868927002 + ], + [ + "▁Satan", + -12.738153457641602 + ], + [ + "▁currencies", + -12.73827075958252 + ], + [ + "▁echipamente", + -12.738329887390137 + ], + [ + "▁forgiveness", + -12.73843765258789 + ], + [ + "▁Pause", + -12.738479614257812 + ], + [ + "▁Witt", + -12.738529205322266 + ], + [ + "STOR", + -12.738632202148438 + ], + [ + "▁actuelle", + -12.738703727722168 + ], + [ + "▁Ard", + -12.738853454589844 + ], + [ + "▁Constitu", + -12.738880157470703 + ], + [ + "ghan", + -12.7388916015625 + ], + [ + "Make", + -12.738906860351562 + ], + [ + "▁garne", + -12.738947868347168 + ], + [ + "▁Hitler", + -12.738956451416016 + ], + [ + "▁rubbish", + -12.738973617553711 + ], + [ + "6.0", + -12.739025115966797 + ], + [ + "▁Giving", + -12.739177703857422 + ], + [ + "▁persever", + -12.73937702178955 + ], + [ + "wirk", + -12.7394380569458 + ], + [ + "liegenden", + -12.739455223083496 + ], + [ + "▁morceau", + -12.73946762084961 + ], + [ + "atty", + -12.73961067199707 + ], + [ + "▁Quebec", + -12.739669799804688 + ], + [ + "harmonie", + -12.739705085754395 + ], + [ + "Nummer", + -12.739721298217773 + ], + [ + "▁splendid", + -12.739747047424316 + ], + [ + "▁halfway", + -12.739808082580566 + ], + [ + "▁periodically", + -12.740071296691895 + ], + [ + "▁Ländern", + -12.740077018737793 + ], + [ + "▁AAA", + -12.740083694458008 + ], + [ + "▁Frost", + -12.740198135375977 + ], + [ + "▁heroin", + -12.740289688110352 + ], + [ + "▁bucurie", + -12.7403564453125 + ], + [ + "▁Pradesh", + -12.74036693572998 + ], + [ + "zusetzen", + -12.740405082702637 + ], + [ + "raising", + -12.740425109863281 + ], + [ + "▁furniz", + -12.740567207336426 + ], + [ + "▁convi", + -12.740575790405273 + ], + [ + "pictured", + -12.740911483764648 + ], + [ + "▁inadequate", + -12.741065979003906 + ], + [ + "▁aprobat", + -12.741069793701172 + ], + [ + "▁exercising", + -12.741083145141602 + ], + [ + "▁faisai", + -12.741138458251953 + ], + [ + "▁prosecution", + -12.741231918334961 + ], + [ + "380", + -12.741402626037598 + ], + [ + "▁Potential", + -12.74145793914795 + ], + [ + "▁Magi", + -12.741523742675781 + ], + [ + "From", + -12.741752624511719 + ], + [ + "batterie", + -12.74181079864502 + ], + [ + "▁poisson", + -12.74185562133789 + ], + [ + "▁Probe", + -12.741950988769531 + ], + [ + "▁pastel", + -12.741998672485352 + ], + [ + "▁tracked", + -12.742410659790039 + ], + [ + "▁advertisers", + -12.74251937866211 + ], + [ + "adevar", + -12.742537498474121 + ], + [ + "ит", + -12.742776870727539 + ], + [ + "▁Herren", + -12.742815971374512 + ], + [ + "EAM", + -12.742820739746094 + ], + [ + "▁scooter", + -12.742822647094727 + ], + [ + "requesting", + -12.742841720581055 + ], + [ + "dynamis", + -12.742949485778809 + ], + [ + "▁dahin", + -12.742961883544922 + ], + [ + "▁tweak", + -12.743061065673828 + ], + [ + "▁hail", + -12.743101119995117 + ], + [ + "▁întotdeauna", + -12.743160247802734 + ], + [ + "▁Publikum", + -12.743167877197266 + ], + [ + "▁panoramic", + -12.743167877197266 + ], + [ + "▁PRE", + -12.74331283569336 + ], + [ + "▁thrill", + -12.743361473083496 + ], + [ + "Open", + -12.743366241455078 + ], + [ + "▁Layer", + -12.74345588684082 + ], + [ + "▁Bosch", + -12.743459701538086 + ], + [ + "hull", + -12.743511199951172 + ], + [ + "▁născut", + -12.743518829345703 + ], + [ + "tausch", + -12.743559837341309 + ], + [ + "▁autoturism", + -12.743577003479004 + ], + [ + "▁crank", + -12.743701934814453 + ], + [ + "CLE", + -12.743735313415527 + ], + [ + "▁Frederick", + -12.74386978149414 + ], + [ + "mog", + -12.743887901306152 + ], + [ + "behalten", + -12.74396800994873 + ], + [ + "▁aunt", + -12.744050979614258 + ], + [ + "▁Triple", + -12.744141578674316 + ], + [ + "▁Ark", + -12.744242668151855 + ], + [ + "AUD", + -12.744440078735352 + ], + [ + "▁Candy", + -12.744505882263184 + ], + [ + "tama", + -12.744515419006348 + ], + [ + "▁Evaluation", + -12.744571685791016 + ], + [ + "▁Memphis", + -12.744571685791016 + ], + [ + "▁stellar", + -12.74457836151123 + ], + [ + "▁fabricat", + -12.744632720947266 + ], + [ + "▁terminat", + -12.744868278503418 + ], + [ + "▁domnul", + -12.744913101196289 + ], + [ + "▁keynote", + -12.744925498962402 + ], + [ + "▁dentistry", + -12.744951248168945 + ], + [ + "rift", + -12.745052337646484 + ], + [ + "▁bilan", + -12.745119094848633 + ], + [ + "2.6", + -12.745125770568848 + ], + [ + "undergoing", + -12.745210647583008 + ], + [ + "▁pseudo", + -12.745274543762207 + ], + [ + "▁maşin", + -12.745280265808105 + ], + [ + "▁munte", + -12.74555492401123 + ], + [ + "▁VW", + -12.745932579040527 + ], + [ + "▁Rab", + -12.74593448638916 + ], + [ + "▁sustine", + -12.745972633361816 + ], + [ + "▁Bedingungen", + -12.745977401733398 + ], + [ + "▁învăţ", + -12.745980262756348 + ], + [ + "▁pyramid", + -12.745983123779297 + ], + [ + "HEN", + -12.746020317077637 + ], + [ + "▁citrus", + -12.746058464050293 + ], + [ + "Code", + -12.746064186096191 + ], + [ + "▁Beginning", + -12.746164321899414 + ], + [ + "▁discourse", + -12.746249198913574 + ], + [ + "▁miercuri", + -12.746329307556152 + ], + [ + "▁producător", + -12.74637508392334 + ], + [ + "▁analys", + -12.746397972106934 + ], + [ + "▁Evan", + -12.7467041015625 + ], + [ + "138", + -12.746987342834473 + ], + [ + "▁târziu", + -12.74703311920166 + ], + [ + "▁relocation", + -12.747052192687988 + ], + [ + "decizia", + -12.74708080291748 + ], + [ + "tollen", + -12.74714183807373 + ], + [ + "TRO", + -12.747180938720703 + ], + [ + "▁runway", + -12.74719524383545 + ], + [ + "illet", + -12.747270584106445 + ], + [ + "▁serveur", + -12.747387886047363 + ], + [ + "bezogen", + -12.747427940368652 + ], + [ + "▁believers", + -12.747668266296387 + ], + [ + "determined", + -12.747711181640625 + ], + [ + "▁reinforced", + -12.74791431427002 + ], + [ + "▁wedge", + -12.748006820678711 + ], + [ + "methyl", + -12.74807357788086 + ], + [ + "MES", + -12.748188018798828 + ], + [ + "vpn", + -12.748374938964844 + ], + [ + "▁consta", + -12.74837875366211 + ], + [ + "▁vizitat", + -12.748420715332031 + ], + [ + "modul", + -12.748455047607422 + ], + [ + "▁routing", + -12.748528480529785 + ], + [ + "tempted", + -12.748540878295898 + ], + [ + "URS", + -12.748785018920898 + ], + [ + "apprentissage", + -12.748795509338379 + ], + [ + "▁Hungary", + -12.748796463012695 + ], + [ + "Previously", + -12.74880313873291 + ], + [ + "▁translator", + -12.748804092407227 + ], + [ + "▁resonate", + -12.748830795288086 + ], + [ + "201", + -12.748851776123047 + ], + [ + "3-0", + -12.749029159545898 + ], + [ + "▁reunion", + -12.749090194702148 + ], + [ + "▁palate", + -12.749096870422363 + ], + [ + "0.4", + -12.749171257019043 + ], + [ + "reheat", + -12.74924373626709 + ], + [ + "Roo", + -12.749261856079102 + ], + [ + "200,000", + -12.74940013885498 + ], + [ + "Bro", + -12.749431610107422 + ], + [ + "▁estimation", + -12.749468803405762 + ], + [ + "schneiden", + -12.749499320983887 + ], + [ + "▁Inspired", + -12.749506950378418 + ], + [ + "▁lottery", + -12.749539375305176 + ], + [ + "▁Friedrich", + -12.749887466430664 + ], + [ + "FIT", + -12.749913215637207 + ], + [ + "0.6", + -12.7499418258667 + ], + [ + "▁dagegen", + -12.74997615814209 + ], + [ + "▁Reb", + -12.750115394592285 + ], + [ + "▁Eigenschaften", + -12.75020694732666 + ], + [ + "▁molding", + -12.750361442565918 + ], + [ + "▁Harper", + -12.750548362731934 + ], + [ + "verwaltung", + -12.75055980682373 + ], + [ + "▁Schlüssel", + -12.75055980682373 + ], + [ + "▁desfasura", + -12.75055980682373 + ], + [ + "▁rencontrer", + -12.75055980682373 + ], + [ + "▁negoci", + -12.750581741333008 + ], + [ + "▁Leading", + -12.750615119934082 + ], + [ + "▁necesita", + -12.750652313232422 + ], + [ + "▁biking", + -12.750683784484863 + ], + [ + "▁jointly", + -12.75069808959961 + ], + [ + "▁crush", + -12.750702857971191 + ], + [ + "Vol", + -12.750768661499023 + ], + [ + "▁ebay", + -12.750836372375488 + ], + [ + "▁Shri", + -12.750991821289062 + ], + [ + "▁AMD", + -12.751029968261719 + ], + [ + "FG", + -12.751032829284668 + ], + [ + "Argentin", + -12.75120735168457 + ], + [ + "▁incercat", + -12.751431465148926 + ], + [ + "▁tidy", + -12.751628875732422 + ], + [ + "▁provoqu", + -12.751635551452637 + ], + [ + "▁Written", + -12.751649856567383 + ], + [ + "▁Kooperation", + -12.751666069030762 + ], + [ + "▁scripture", + -12.751952171325684 + ], + [ + "▁Pflicht", + -12.751974105834961 + ], + [ + "ficial", + -12.752013206481934 + ], + [ + "vremea", + -12.752013206481934 + ], + [ + "▁Growing", + -12.752115249633789 + ], + [ + "▁redesign", + -12.752119064331055 + ], + [ + "▁obstacle", + -12.752214431762695 + ], + [ + "▁rugam", + -12.752235412597656 + ], + [ + "▁SPD", + -12.752243995666504 + ], + [ + "165", + -12.752270698547363 + ], + [ + "fiz", + -12.752284049987793 + ], + [ + "▁startet", + -12.752326011657715 + ], + [ + "▁Principle", + -12.752327919006348 + ], + [ + "▁abdominal", + -12.752327919006348 + ], + [ + "▁podium", + -12.752528190612793 + ], + [ + "duty", + -12.752616882324219 + ], + [ + "bonne", + -12.752679824829102 + ], + [ + "▁Serbia", + -12.752687454223633 + ], + [ + "▁brunch", + -12.752839088439941 + ], + [ + "▁Personne", + -12.752975463867188 + ], + [ + "▁Idea", + -12.753034591674805 + ], + [ + "forementioned", + -12.753036499023438 + ], + [ + "▁chassis", + -12.753037452697754 + ], + [ + "gebühr", + -12.753050804138184 + ], + [ + "ucun", + -12.753061294555664 + ], + [ + "▁Maz", + -12.7531156539917 + ], + [ + "1-4", + -12.75318431854248 + ], + [ + "kleid", + -12.753273963928223 + ], + [ + "▁Volvo", + -12.753337860107422 + ], + [ + "brechen", + -12.753378868103027 + ], + [ + "▁homepage", + -12.753472328186035 + ], + [ + "fuz", + -12.753509521484375 + ], + [ + "▁abgeschlossen", + -12.753595352172852 + ], + [ + "▁gelungen", + -12.753658294677734 + ], + [ + "▁booklet", + -12.753711700439453 + ], + [ + "▁Ukrainian", + -12.753745079040527 + ], + [ + "▁Melissa", + -12.753746032714844 + ], + [ + "CENT", + -12.75379467010498 + ], + [ + "▁intégré", + -12.753806114196777 + ], + [ + "weighing", + -12.753827095031738 + ], + [ + "▁crumbl", + -12.753894805908203 + ], + [ + "▁bunk", + -12.754167556762695 + ], + [ + "krieg", + -12.754207611083984 + ], + [ + "▁freshman", + -12.754307746887207 + ], + [ + "alaya", + -12.754339218139648 + ], + [ + "Avem", + -12.754353523254395 + ], + [ + "▁Kne", + -12.754423141479492 + ], + [ + "▁upstairs", + -12.75448226928711 + ], + [ + "AIL", + -12.754508972167969 + ], + [ + "țul", + -12.75478744506836 + ], + [ + "▁Lecture", + -12.754817962646484 + ], + [ + "▁entdecken", + -12.754843711853027 + ], + [ + "▁GMT", + -12.754912376403809 + ], + [ + "▁Leitung", + -12.754937171936035 + ], + [ + "▁inclined", + -12.755170822143555 + ], + [ + "▁skillet", + -12.75555419921875 + ], + [ + "FN", + -12.755742073059082 + ], + [ + "▁Perform", + -12.755821228027344 + ], + [ + "shift", + -12.75583267211914 + ], + [ + "recognizing", + -12.755873680114746 + ], + [ + "▁concise", + -12.755873680114746 + ], + [ + "▁obsessed", + -12.755873680114746 + ], + [ + "▁removable", + -12.755873680114746 + ], + [ + "▁Relax", + -12.755888938903809 + ], + [ + "delegates", + -12.75605583190918 + ], + [ + "▁expedi", + -12.756074905395508 + ], + [ + "▁Schä", + -12.756138801574707 + ], + [ + "iete", + -12.756211280822754 + ], + [ + "▁reciproc", + -12.756229400634766 + ], + [ + "▁neutr", + -12.75625228881836 + ], + [ + "lactic", + -12.756314277648926 + ], + [ + "▁Nah", + -12.756328582763672 + ], + [ + "scene", + -12.7565279006958 + ], + [ + "▁Helm", + -12.756563186645508 + ], + [ + "▁Bewerbung", + -12.756671905517578 + ], + [ + "▁Cassi", + -12.75667953491211 + ], + [ + "▁Gelegenheit", + -12.756939888000488 + ], + [ + "▁reflective", + -12.757140159606934 + ], + [ + "▁încredere", + -12.757149696350098 + ], + [ + "▁cigarettes", + -12.75717544555664 + ], + [ + "▁Zusätzlich", + -12.757295608520508 + ], + [ + "▁intercept", + -12.75731372833252 + ], + [ + "▁Finn", + -12.757468223571777 + ], + [ + "▁ignor", + -12.757661819458008 + ], + [ + "gian", + -12.75766372680664 + ], + [ + "BRA", + -12.757740020751953 + ], + [ + "leader", + -12.757957458496094 + ], + [ + "nius", + -12.757981300354004 + ], + [ + "▁skies", + -12.757987022399902 + ], + [ + "▁nunta", + -12.758023262023926 + ], + [ + "▁grec", + -12.758041381835938 + ], + [ + "arranging", + -12.75816822052002 + ], + [ + "wartet", + -12.758231163024902 + ], + [ + "▁kostet", + -12.758377075195312 + ], + [ + "▁Entre", + -12.758541107177734 + ], + [ + "Mag", + -12.758575439453125 + ], + [ + "▁radiator", + -12.758598327636719 + ], + [ + "übrigens", + -12.758689880371094 + ], + [ + "Internet", + -12.758706092834473 + ], + [ + "▁connexion", + -12.758718490600586 + ], + [ + "▁prolonged", + -12.758854866027832 + ], + [ + "▁capabil", + -12.75914192199707 + ], + [ + "▁feeder", + -12.759217262268066 + ], + [ + "Initially", + -12.759223937988281 + ], + [ + "Green", + -12.75926685333252 + ], + [ + "▁passiert", + -12.759272575378418 + ], + [ + "▁courtyard", + -12.759299278259277 + ], + [ + "▁judeţ", + -12.759320259094238 + ], + [ + "▁Coalition", + -12.759431838989258 + ], + [ + "▁atmospheric", + -12.759431838989258 + ], + [ + "▁velocity", + -12.759431838989258 + ], + [ + "▁Frühstück", + -12.759432792663574 + ], + [ + "vacancies", + -12.759438514709473 + ], + [ + "unified", + -12.759538650512695 + ], + [ + "▁Ahmed", + -12.759538650512695 + ], + [ + "poured", + -12.759550094604492 + ], + [ + "▁Mikro", + -12.75959587097168 + ], + [ + "▁Klar", + -12.759661674499512 + ], + [ + "kommt", + -12.759681701660156 + ], + [ + "seated", + -12.759744644165039 + ], + [ + "musik", + -12.75976848602295 + ], + [ + "▁stimulation", + -12.759841918945312 + ], + [ + "▁solicitat", + -12.759880065917969 + ], + [ + "▁politically", + -12.760165214538574 + ], + [ + "restoring", + -12.760322570800781 + ], + [ + "▁Rag", + -12.760435104370117 + ], + [ + "▁officielle", + -12.760468482971191 + ], + [ + "▁Annie", + -12.760479927062988 + ], + [ + "▁tourne", + -12.760634422302246 + ], + [ + "▁Joel", + -12.760642051696777 + ], + [ + "blieben", + -12.760666847229004 + ], + [ + "▁repayment", + -12.760736465454102 + ], + [ + "▁Strategi", + -12.760781288146973 + ], + [ + "▁prietenii", + -12.760804176330566 + ], + [ + "▁Montgomery", + -12.760858535766602 + ], + [ + "▁résidence", + -12.760858535766602 + ], + [ + "▁sunglasses", + -12.760858535766602 + ], + [ + "▁1956", + -12.760882377624512 + ], + [ + "MEN", + -12.76093578338623 + ], + [ + "pouvant", + -12.760997772216797 + ], + [ + "375", + -12.761061668395996 + ], + [ + "directed", + -12.761173248291016 + ], + [ + "▁grinder", + -12.76120662689209 + ], + [ + "rträge", + -12.761279106140137 + ], + [ + "▁nickel", + -12.761299133300781 + ], + [ + "▁Maintain", + -12.761313438415527 + ], + [ + "▁Holmes", + -12.761392593383789 + ], + [ + "▁obtinut", + -12.76157283782959 + ], + [ + "▁walnut", + -12.761585235595703 + ], + [ + "▁consultancy", + -12.761640548706055 + ], + [ + "cooled", + -12.761651039123535 + ], + [ + "▁Brig", + -12.761711120605469 + ], + [ + "▁Produc", + -12.761873245239258 + ], + [ + "street", + -12.76187515258789 + ], + [ + "▁Einfach", + -12.761897087097168 + ], + [ + "North", + -12.762149810791016 + ], + [ + "▁PET", + -12.76220989227295 + ], + [ + "▁Président", + -12.762288093566895 + ], + [ + "▁produsului", + -12.762457847595215 + ], + [ + "literatur", + -12.762483596801758 + ], + [ + "133", + -12.762561798095703 + ], + [ + "▁recours", + -12.762591361999512 + ], + [ + "▁verpflichtet", + -12.76264476776123 + ], + [ + "▁Wur", + -12.762733459472656 + ], + [ + "▁psiholog", + -12.762796401977539 + ], + [ + "Veg", + -12.762871742248535 + ], + [ + "▁hype", + -12.762930870056152 + ], + [ + "augmenter", + -12.762974739074707 + ], + [ + "▁Welsh", + -12.763012886047363 + ], + [ + "mounted", + -12.763158798217773 + ], + [ + "▁Wann", + -12.763425827026367 + ], + [ + "▁gezeigt", + -12.763620376586914 + ], + [ + "▁memo", + -12.763631820678711 + ], + [ + "veterinary", + -12.763717651367188 + ], + [ + "▁Olympia", + -12.763717651367188 + ], + [ + "▁handsome", + -12.763871192932129 + ], + [ + "yama", + -12.763911247253418 + ], + [ + "studio", + -12.763912200927734 + ], + [ + "sozial", + -12.764020919799805 + ], + [ + "▁reap", + -12.764104843139648 + ], + [ + "▁didactic", + -12.764111518859863 + ], + [ + "▁Cookie", + -12.764126777648926 + ], + [ + "▁cooper", + -12.764230728149414 + ], + [ + "▁discern", + -12.76441478729248 + ], + [ + "▁Ubuntu", + -12.764433860778809 + ], + [ + "domain", + -12.76443862915039 + ], + [ + "▁plasa", + -12.764460563659668 + ], + [ + "hong", + -12.764585494995117 + ], + [ + "▁Freiheit", + -12.764662742614746 + ], + [ + "▁Gateway", + -12.764678001403809 + ], + [ + "▁poke", + -12.764796257019043 + ], + [ + "▁niedrig", + -12.76484203338623 + ], + [ + "▁corrected", + -12.764899253845215 + ], + [ + "▁predator", + -12.76490306854248 + ], + [ + "QA", + -12.76507568359375 + ], + [ + "Physio", + -12.765101432800293 + ], + [ + "MAS", + -12.765108108520508 + ], + [ + "▁sanctuary", + -12.765151023864746 + ], + [ + "▁aferent", + -12.76523494720459 + ], + [ + "▁perdre", + -12.765268325805664 + ], + [ + "▁recherch", + -12.765397071838379 + ], + [ + "ready", + -12.76559829711914 + ], + [ + "without", + -12.76560115814209 + ], + [ + "▁locuitori", + -12.765628814697266 + ], + [ + "▁Memo", + -12.765636444091797 + ], + [ + "▁Laden", + -12.765646934509277 + ], + [ + "danken", + -12.76577377319336 + ], + [ + "▁CNC", + -12.765861511230469 + ], + [ + "▁jealous", + -12.765881538391113 + ], + [ + "▁Background", + -12.765951156616211 + ], + [ + "▁Marx", + -12.765999794006348 + ], + [ + "▁Heli", + -12.766039848327637 + ], + [ + "▁osteo", + -12.766057968139648 + ], + [ + "▁rassembl", + -12.766162872314453 + ], + [ + "▁altceva", + -12.766226768493652 + ], + [ + "▁beschäftigt", + -12.766226768493652 + ], + [ + "▁accru", + -12.766266822814941 + ], + [ + "üft", + -12.766273498535156 + ], + [ + "▁sprout", + -12.766288757324219 + ], + [ + "endorf", + -12.76647663116455 + ], + [ + "▁specialitate", + -12.766483306884766 + ], + [ + "éanmoins", + -12.766586303710938 + ], + [ + "▁poign", + -12.766663551330566 + ], + [ + "▁mânca", + -12.766668319702148 + ], + [ + "▁stretched", + -12.766752243041992 + ], + [ + "fensiv", + -12.76677131652832 + ], + [ + "▁Auction", + -12.76683235168457 + ], + [ + "hints", + -12.766944885253906 + ], + [ + "▁typo", + -12.766983032226562 + ], + [ + "▁Rare", + -12.767003059387207 + ], + [ + "▁interruption", + -12.767043113708496 + ], + [ + "▁Mean", + -12.76709270477295 + ], + [ + "privileged", + -12.767108917236328 + ], + [ + "▁purtat", + -12.767129898071289 + ], + [ + "studie", + -12.767229080200195 + ], + [ + "offres", + -12.767248153686523 + ], + [ + "▁flap", + -12.76729679107666 + ], + [ + "▁rhetoric", + -12.767304420471191 + ], + [ + "▁snapshot", + -12.767325401306152 + ], + [ + "▁Conservative", + -12.767367362976074 + ], + [ + "▁taie", + -12.767416954040527 + ], + [ + "Game", + -12.767499923706055 + ], + [ + "▁naissance", + -12.767663955688477 + ], + [ + "Prof", + -12.767704963684082 + ], + [ + "qualified", + -12.767745971679688 + ], + [ + "▁suppression", + -12.767749786376953 + ], + [ + "▁răspunde", + -12.767765045166016 + ], + [ + "▁1/3", + -12.767803192138672 + ], + [ + "▁lieben", + -12.767858505249023 + ], + [ + "ù", + -12.767898559570312 + ], + [ + "america", + -12.767955780029297 + ], + [ + "▁Mum", + -12.768182754516602 + ], + [ + "▁Researchers", + -12.76827335357666 + ], + [ + "quip", + -12.768308639526367 + ], + [ + "▁fenomen", + -12.768383026123047 + ], + [ + "stools", + -12.768387794494629 + ], + [ + "▁commodity", + -12.768742561340332 + ], + [ + "▁rejuvenat", + -12.768745422363281 + ], + [ + "▁ausgezeichnet", + -12.76876449584961 + ], + [ + "▁păcate", + -12.768784523010254 + ], + [ + "3.6", + -12.76882553100586 + ], + [ + "zwei", + -12.768904685974121 + ], + [ + "accounted", + -12.768982887268066 + ], + [ + "▁Cycle", + -12.76900863647461 + ], + [ + "politischen", + -12.769031524658203 + ], + [ + "Normally", + -12.76904010772705 + ], + [ + "▁transcend", + -12.769158363342285 + ], + [ + "▁Classes", + -12.769268989562988 + ], + [ + "▁vene", + -12.769363403320312 + ], + [ + "protein", + -12.76942253112793 + ], + [ + "formulaire", + -12.76944351196289 + ], + [ + "▁endurance", + -12.769463539123535 + ], + [ + "▁Census", + -12.769464492797852 + ], + [ + "▁census", + -12.7694673538208 + ], + [ + "▁conțin", + -12.76952838897705 + ], + [ + "▁multinational", + -12.769563674926758 + ], + [ + "▁consomm", + -12.769572257995605 + ], + [ + "▁Porter", + -12.769762992858887 + ], + [ + "▁marvel", + -12.769777297973633 + ], + [ + "▁probable", + -12.769824028015137 + ], + [ + "dependable", + -12.770044326782227 + ], + [ + "▁crore", + -12.77015495300293 + ], + [ + "▁6:30", + -12.770224571228027 + ], + [ + "▁Bradley", + -12.77032470703125 + ], + [ + "molecule", + -12.770400047302246 + ], + [ + "inclusiv", + -12.770516395568848 + ], + [ + "▁privilégi", + -12.770543098449707 + ], + [ + "▁cerere", + -12.770611763000488 + ], + [ + "ouille", + -12.770696640014648 + ], + [ + "▁âgé", + -12.770787239074707 + ], + [ + "▁ghid", + -12.770801544189453 + ], + [ + "▁Controller", + -12.77082347869873 + ], + [ + "▁incredere", + -12.770988464355469 + ], + [ + "▁hostel", + -12.771015167236328 + ], + [ + "wissenschaft", + -12.771121978759766 + ], + [ + "▁cooperate", + -12.771183967590332 + ], + [ + "ки", + -12.771202087402344 + ], + [ + "▁Küchen", + -12.771384239196777 + ], + [ + "▁BIO", + -12.771406173706055 + ], + [ + "▁deliveries", + -12.771458625793457 + ], + [ + "▁urmări", + -12.771553993225098 + ], + [ + "▁überzeugen", + -12.771631240844727 + ], + [ + "Roofing", + -12.771703720092773 + ], + [ + "▁Adel", + -12.771737098693848 + ], + [ + "▁navy", + -12.77181339263916 + ], + [ + "▁cider", + -12.772101402282715 + ], + [ + "▁dulce", + -12.772109985351562 + ], + [ + "▁inspirat", + -12.772163391113281 + ], + [ + "allez", + -12.772164344787598 + ], + [ + "HH", + -12.77221965789795 + ], + [ + "▁Danish", + -12.7722749710083 + ], + [ + "CDC", + -12.7722806930542 + ], + [ + "▁Milch", + -12.772303581237793 + ], + [ + "▁Hockey", + -12.772346496582031 + ], + [ + "▁Smooth", + -12.772347450256348 + ], + [ + "▁FIFA", + -12.772361755371094 + ], + [ + "▁Devon", + -12.772364616394043 + ], + [ + "chung", + -12.772379875183105 + ], + [ + "▁villain", + -12.772420883178711 + ], + [ + "▁musée", + -12.772441864013672 + ], + [ + "tiennent", + -12.772557258605957 + ], + [ + "chou", + -12.772732734680176 + ], + [ + "kopf", + -12.772809982299805 + ], + [ + "printed", + -12.77281379699707 + ], + [ + "▁Depression", + -12.773076057434082 + ], + [ + "▁opioid", + -12.773082733154297 + ], + [ + "nomie", + -12.773098945617676 + ], + [ + "▁footwear", + -12.773211479187012 + ], + [ + "▁Cause", + -12.773260116577148 + ], + [ + "SEL", + -12.773515701293945 + ], + [ + "▁Roller", + -12.773523330688477 + ], + [ + "▁einzigartige", + -12.773589134216309 + ], + [ + "desea", + -12.773597717285156 + ], + [ + "▁nasty", + -12.773792266845703 + ], + [ + "formulated", + -12.773877143859863 + ], + [ + "breaker", + -12.773958206176758 + ], + [ + "▁goodies", + -12.773961067199707 + ], + [ + "▁sandy", + -12.774189949035645 + ], + [ + "method", + -12.77425479888916 + ], + [ + "▁Maple", + -12.774308204650879 + ], + [ + "gefragt", + -12.774435997009277 + ], + [ + "▁decreasing", + -12.774515151977539 + ], + [ + "ceşti", + -12.774555206298828 + ], + [ + "▁DUI", + -12.774563789367676 + ], + [ + "▁pierdere", + -12.774574279785156 + ], + [ + "▁brushes", + -12.77466869354248 + ], + [ + "▁Fully", + -12.774712562561035 + ], + [ + "filtered", + -12.774789810180664 + ], + [ + "ruins", + -12.774988174438477 + ], + [ + "Save", + -12.775114059448242 + ], + [ + "sweeping", + -12.7752046585083 + ], + [ + "PCR", + -12.775334358215332 + ], + [ + "▁folded", + -12.775337219238281 + ], + [ + "▁urca", + -12.775444030761719 + ], + [ + "▁clic", + -12.775484085083008 + ], + [ + "▁spécialiste", + -12.775614738464355 + ], + [ + "▁durfte", + -12.775686264038086 + ], + [ + "tuși", + -12.775871276855469 + ], + [ + "▁diligent", + -12.77596378326416 + ], + [ + "▁verdict", + -12.775972366333008 + ], + [ + "▁chaise", + -12.776039123535156 + ], + [ + "▁cleanup", + -12.776068687438965 + ], + [ + "▁Guitar", + -12.776076316833496 + ], + [ + "▁Dip", + -12.776142120361328 + ], + [ + "vru", + -12.776260375976562 + ], + [ + "▁cogn", + -12.776373863220215 + ], + [ + "something", + -12.776529312133789 + ], + [ + "hidr", + -12.776535034179688 + ], + [ + "ENG", + -12.776607513427734 + ], + [ + "Paul", + -12.776679039001465 + ], + [ + "▁reboot", + -12.776687622070312 + ], + [ + "savvy", + -12.776688575744629 + ], + [ + "▁Macron", + -12.776710510253906 + ], + [ + "▁Kino", + -12.77682876586914 + ], + [ + "232", + -12.776832580566406 + ], + [ + "▁gravit", + -12.776861190795898 + ], + [ + "ANC", + -12.776883125305176 + ], + [ + "▁petrecut", + -12.776944160461426 + ], + [ + "▁signage", + -12.776959419250488 + ], + [ + "odia", + -12.776987075805664 + ], + [ + "▁GRA", + -12.77712631225586 + ], + [ + "▁alegeril", + -12.777129173278809 + ], + [ + "leger", + -12.77717399597168 + ], + [ + "▁medicamente", + -12.777174949645996 + ], + [ + "pentru", + -12.777249336242676 + ], + [ + "▁collectif", + -12.777251243591309 + ], + [ + "▁Sohn", + -12.777298927307129 + ], + [ + "205", + -12.777313232421875 + ], + [ + "▁Reach", + -12.77733039855957 + ], + [ + "RAM", + -12.777400970458984 + ], + [ + "3.4", + -12.777405738830566 + ], + [ + "▁bleach", + -12.777409553527832 + ], + [ + "▁diligence", + -12.777414321899414 + ], + [ + "▁MORE", + -12.777440071105957 + ], + [ + "▁Critical", + -12.777471542358398 + ], + [ + "▁singură", + -12.77767276763916 + ], + [ + "▁adversar", + -12.777791023254395 + ], + [ + "▁Buzz", + -12.7778902053833 + ], + [ + "▁demeure", + -12.778063774108887 + ], + [ + "▁nephew", + -12.778141021728516 + ], + [ + "▁Boom", + -12.77817440032959 + ], + [ + "▁shining", + -12.77819538116455 + ], + [ + "▁sponge", + -12.778206825256348 + ], + [ + "liest", + -12.77841854095459 + ], + [ + "rseits", + -12.778690338134766 + ], + [ + "▁capita", + -12.778823852539062 + ], + [ + "esthesia", + -12.778867721557617 + ], + [ + "500,000", + -12.77895736694336 + ], + [ + "▁Pressure", + -12.77898120880127 + ], + [ + "ifikation", + -12.779021263122559 + ], + [ + "▁acceleration", + -12.779181480407715 + ], + [ + "▁Pfarr", + -12.779282569885254 + ], + [ + "▁imobil", + -12.779304504394531 + ], + [ + "▁pericol", + -12.779326438903809 + ], + [ + "▁flock", + -12.779454231262207 + ], + [ + "▁Scholar", + -12.77962875366211 + ], + [ + "▁Fusion", + -12.779630661010742 + ], + [ + "▁revolve", + -12.779637336730957 + ], + [ + "Plugin", + -12.779664993286133 + ], + [ + "▁Ruf", + -12.779691696166992 + ], + [ + "▁tehnici", + -12.780024528503418 + ], + [ + "voice", + -12.78005313873291 + ], + [ + "▁anomal", + -12.780203819274902 + ], + [ + "▁gefallen", + -12.780252456665039 + ], + [ + "▁Wyoming", + -12.780322074890137 + ], + [ + "▁9:00", + -12.780354499816895 + ], + [ + "packed", + -12.780461311340332 + ], + [ + "▁Zimbabwe", + -12.780686378479004 + ], + [ + "▁glücklich", + -12.780766487121582 + ], + [ + "ethanol", + -12.78077220916748 + ], + [ + "▁effektiv", + -12.780936241149902 + ], + [ + "▁saptamani", + -12.781049728393555 + ], + [ + "▁umfasst", + -12.781052589416504 + ], + [ + "▁Werbung", + -12.781103134155273 + ], + [ + "▁undermine", + -12.781164169311523 + ], + [ + "▁Lego", + -12.781322479248047 + ], + [ + "▁Rac", + -12.781323432922363 + ], + [ + "educating", + -12.781441688537598 + ], + [ + "leiten", + -12.781451225280762 + ], + [ + "derma", + -12.781518936157227 + ], + [ + "hängen", + -12.781597137451172 + ], + [ + "Lumin", + -12.781846046447754 + ], + [ + "▁PNL", + -12.781913757324219 + ], + [ + "▁volcano", + -12.782064437866211 + ], + [ + "▁Anfrage", + -12.782066345214844 + ], + [ + "▁resp", + -12.782124519348145 + ], + [ + "leigh", + -12.78217601776123 + ], + [ + "▁addict", + -12.782176971435547 + ], + [ + "WORK", + -12.782312393188477 + ], + [ + "▁FY", + -12.782322883605957 + ], + [ + "▁maneuver", + -12.782513618469238 + ], + [ + "flächen", + -12.782525062561035 + ], + [ + "zweck", + -12.782527923583984 + ], + [ + "tolerant", + -12.782609939575195 + ], + [ + "Davidson", + -12.78272533416748 + ], + [ + "▁meteor", + -12.782849311828613 + ], + [ + "▁Stephanie", + -12.78291130065918 + ], + [ + "▁plafon", + -12.783126831054688 + ], + [ + "technischen", + -12.78316879272461 + ], + [ + "unused", + -12.783193588256836 + ], + [ + "▁voulai", + -12.783228874206543 + ], + [ + "▁fehlt", + -12.783447265625 + ], + [ + "möglichen", + -12.783955574035645 + ], + [ + "▁Twenty", + -12.783968925476074 + ], + [ + "composing", + -12.783979415893555 + ], + [ + "▁rebate", + -12.78400707244873 + ], + [ + "Italie", + -12.784036636352539 + ], + [ + "▁goodbye", + -12.784058570861816 + ], + [ + "wild", + -12.784061431884766 + ], + [ + "▁lancé", + -12.784077644348145 + ], + [ + "▁wunderschöne", + -12.784083366394043 + ], + [ + "▁Frontier", + -12.784139633178711 + ], + [ + "▁murit", + -12.784313201904297 + ], + [ + "▁scump", + -12.78464412689209 + ], + [ + "OVER", + -12.784682273864746 + ], + [ + "▁meme", + -12.784709930419922 + ], + [ + "Super", + -12.784733772277832 + ], + [ + "▁Crack", + -12.784849166870117 + ], + [ + "rennen", + -12.784907341003418 + ], + [ + "▁interessiert", + -12.784941673278809 + ], + [ + "▁relaţi", + -12.784942626953125 + ], + [ + "▁factories", + -12.784975051879883 + ], + [ + "▁[...]", + -12.785066604614258 + ], + [ + "▁vizite", + -12.785075187683105 + ], + [ + "▁erfolgen", + -12.785199165344238 + ], + [ + "▁Hosting", + -12.785244941711426 + ], + [ + "▁localitate", + -12.78528118133545 + ], + [ + "▁chasse", + -12.785415649414062 + ], + [ + "▁Meadow", + -12.785465240478516 + ], + [ + "▁expansive", + -12.785513877868652 + ], + [ + "hov", + -12.785874366760254 + ], + [ + "Phil", + -12.785978317260742 + ], + [ + "illian", + -12.786107063293457 + ], + [ + "▁manipulate", + -12.786107063293457 + ], + [ + "informationen", + -12.786130905151367 + ], + [ + "▁profesionist", + -12.786162376403809 + ], + [ + "risen", + -12.786252975463867 + ], + [ + "frem", + -12.786300659179688 + ], + [ + "Act", + -12.78640079498291 + ], + [ + "supervised", + -12.786491394042969 + ], + [ + "▁capul", + -12.786506652832031 + ], + [ + "▁Craiova", + -12.786528587341309 + ], + [ + "▁victoire", + -12.786528587341309 + ], + [ + "▁guitarist", + -12.786680221557617 + ], + [ + "▁identific", + -12.786684036254883 + ], + [ + "democrat", + -12.786864280700684 + ], + [ + "Authentic", + -12.786894798278809 + ], + [ + "▁Autumn", + -12.786894798278809 + ], + [ + "▁bodi", + -12.787014961242676 + ], + [ + "April", + -12.787044525146484 + ], + [ + "▁Burger", + -12.787049293518066 + ], + [ + "▁BEST", + -12.787490844726562 + ], + [ + "▁torrent", + -12.78749942779541 + ], + [ + "UV", + -12.787567138671875 + ], + [ + "▁renal", + -12.787676811218262 + ], + [ + "founded", + -12.787693977355957 + ], + [ + "203", + -12.787956237792969 + ], + [ + "▁Flooring", + -12.78799057006836 + ], + [ + "▁kilogram", + -12.787994384765625 + ], + [ + "▁garantiert", + -12.788139343261719 + ], + [ + "▁fulfil", + -12.788204193115234 + ], + [ + "303", + -12.788330078125 + ], + [ + "▁schafft", + -12.788363456726074 + ], + [ + "▁butterfly", + -12.788365364074707 + ], + [ + "▁Stuart", + -12.788382530212402 + ], + [ + "▁Versuch", + -12.788392066955566 + ], + [ + "▁liking", + -12.788412094116211 + ], + [ + "▁chercher", + -12.788508415222168 + ], + [ + "▁wrapping", + -12.788527488708496 + ], + [ + "schrieb", + -12.788652420043945 + ], + [ + "▁abuz", + -12.788718223571777 + ], + [ + "▁maîtrise", + -12.788772583007812 + ], + [ + "EQ", + -12.788887977600098 + ], + [ + "▁Erinnerung", + -12.789095878601074 + ], + [ + "▁bridal", + -12.78909969329834 + ], + [ + "Rock", + -12.789118766784668 + ], + [ + "▁copied", + -12.789193153381348 + ], + [ + "Met", + -12.789206504821777 + ], + [ + "▁incep", + -12.789233207702637 + ], + [ + "▁sinus", + -12.789336204528809 + ], + [ + "▁Felix", + -12.789831161499023 + ], + [ + "▁Deluxe", + -12.789837837219238 + ], + [ + "▁GPU", + -12.789848327636719 + ], + [ + "Sie", + -12.790164947509766 + ], + [ + "lowering", + -12.790262222290039 + ], + [ + "▁Trotz", + -12.790282249450684 + ], + [ + "333", + -12.790417671203613 + ], + [ + "withstand", + -12.79055118560791 + ], + [ + "▁Aufenthalt", + -12.790566444396973 + ], + [ + "▁unhealthy", + -12.790567398071289 + ], + [ + "▁urbain", + -12.790573120117188 + ], + [ + "▁LOL", + -12.790702819824219 + ], + [ + "▁Ballet", + -12.79074478149414 + ], + [ + "▁Decoration", + -12.79083251953125 + ], + [ + "weist", + -12.790839195251465 + ], + [ + "▁Residence", + -12.790932655334473 + ], + [ + "▁Leeds", + -12.791055679321289 + ], + [ + "▁Genau", + -12.791084289550781 + ], + [ + "Imagin", + -12.791136741638184 + ], + [ + "▁suspicion", + -12.791300773620605 + ], + [ + "▁pêche", + -12.791301727294922 + ], + [ + "▁Soccer", + -12.791306495666504 + ], + [ + "▁protectie", + -12.791553497314453 + ], + [ + "ATS", + -12.791796684265137 + ], + [ + "stocked", + -12.791838645935059 + ], + [ + "▁gymnas", + -12.79184627532959 + ], + [ + "ASP", + -12.792027473449707 + ], + [ + "▁Independence", + -12.792037010192871 + ], + [ + "▁Wizard", + -12.792037963867188 + ], + [ + "▁nitrogen", + -12.79204273223877 + ], + [ + "amerikanische", + -12.7920503616333 + ], + [ + "▁Indianapolis", + -12.79205322265625 + ], + [ + "catches", + -12.792131423950195 + ], + [ + "stria", + -12.792275428771973 + ], + [ + "schätze", + -12.79235553741455 + ], + [ + "▁Räume", + -12.792387962341309 + ], + [ + "▁Interesting", + -12.792403221130371 + ], + [ + "bürger", + -12.79240608215332 + ], + [ + "sweet", + -12.792410850524902 + ], + [ + "Identify", + -12.792632102966309 + ], + [ + "EEN", + -12.792651176452637 + ], + [ + "▁£3", + -12.792654991149902 + ], + [ + "interacting", + -12.7926664352417 + ], + [ + "NYSE", + -12.792762756347656 + ], + [ + "▁Dynamics", + -12.79277515411377 + ], + [ + "▁modificări", + -12.792777061462402 + ], + [ + "▁Kumar", + -12.792936325073242 + ], + [ + "chette", + -12.79313850402832 + ], + [ + "▁presiune", + -12.79316234588623 + ], + [ + "arni", + -12.793164253234863 + ], + [ + "▁vielfältig", + -12.793221473693848 + ], + [ + "KC", + -12.793259620666504 + ], + [ + "▁Cuisine", + -12.793513298034668 + ], + [ + "▁australia", + -12.793885231018066 + ], + [ + "▁încet", + -12.794026374816895 + ], + [ + "▁caracteristic", + -12.794257164001465 + ], + [ + "▁cookbook", + -12.794501304626465 + ], + [ + "▁douleur", + -12.79453182220459 + ], + [ + "AVI", + -12.794593811035156 + ], + [ + "artikel", + -12.794740676879883 + ], + [ + "feta", + -12.79493522644043 + ], + [ + "▁fréquent", + -12.794987678527832 + ], + [ + "▁Prophet", + -12.795051574707031 + ], + [ + "▁dépense", + -12.795202255249023 + ], + [ + "▁Smile", + -12.795235633850098 + ], + [ + "▁lawmakers", + -12.79525375366211 + ], + [ + "▁Kollegen", + -12.795391082763672 + ], + [ + "▁Pir", + -12.79555606842041 + ], + [ + "serez", + -12.79561710357666 + ], + [ + "▁consumator", + -12.795656204223633 + ], + [ + "▁playlist", + -12.795730590820312 + ], + [ + "▁envisage", + -12.795733451843262 + ], + [ + "swept", + -12.795780181884766 + ], + [ + "▁Grim", + -12.795825004577637 + ], + [ + "▁widow", + -12.795836448669434 + ], + [ + "authorised", + -12.795886039733887 + ], + [ + "▁(...)", + -12.796035766601562 + ], + [ + "▁photographic", + -12.796060562133789 + ], + [ + "▁libertate", + -12.796173095703125 + ], + [ + "▁principalement", + -12.796201705932617 + ], + [ + "umming", + -12.796260833740234 + ], + [ + "▁Montréal", + -12.796465873718262 + ], + [ + "▁compilation", + -12.796468734741211 + ], + [ + "▁erlaubt", + -12.79647159576416 + ], + [ + "▁biblical", + -12.796518325805664 + ], + [ + "volume", + -12.796561241149902 + ], + [ + "5-7", + -12.796809196472168 + ], + [ + "▁Versch", + -12.79689884185791 + ], + [ + "▁Shark", + -12.796957015991211 + ], + [ + "ologne", + -12.796969413757324 + ], + [ + "4.4", + -12.797086715698242 + ], + [ + "decken", + -12.797112464904785 + ], + [ + "▁frequencies", + -12.797205924987793 + ], + [ + "▁inferior", + -12.79720687866211 + ], + [ + "visible", + -12.797321319580078 + ], + [ + "▁educator", + -12.797394752502441 + ], + [ + "▁soziale", + -12.797420501708984 + ], + [ + "▁billet", + -12.797523498535156 + ], + [ + "folosirea", + -12.797574996948242 + ], + [ + "▁aufgenommen", + -12.797590255737305 + ], + [ + "▁Thread", + -12.797649383544922 + ], + [ + "registering", + -12.797694206237793 + ], + [ + "▁Loop", + -12.797747611999512 + ], + [ + "innovation", + -12.79783821105957 + ], + [ + "▁elimination", + -12.797857284545898 + ], + [ + "136", + -12.797883987426758 + ], + [ + "▁fluctu", + -12.797892570495605 + ], + [ + "▁Mercury", + -12.79794692993164 + ], + [ + "▁bouche", + -12.797955513000488 + ], + [ + "▁hurdle", + -12.7979736328125 + ], + [ + "▁Bennett", + -12.798040390014648 + ], + [ + "STI", + -12.79818344116211 + ], + [ + "▁théâtre", + -12.798316955566406 + ], + [ + "▁confortable", + -12.798359870910645 + ], + [ + "▁Automobil", + -12.79838752746582 + ], + [ + "▁Donna", + -12.798399925231934 + ], + [ + "▁foyer", + -12.79841136932373 + ], + [ + "▁hollow", + -12.798465728759766 + ], + [ + "▁règlement", + -12.79861068725586 + ], + [ + "effi", + -12.798616409301758 + ], + [ + "▁sediment", + -12.79869270324707 + ], + [ + "▁Mä", + -12.798774719238281 + ], + [ + "▁faint", + -12.798833847045898 + ], + [ + "feti", + -12.79890251159668 + ], + [ + "▁Concord", + -12.798959732055664 + ], + [ + "▁Ladies", + -12.798990249633789 + ], + [ + "▁pregatit", + -12.799052238464355 + ], + [ + "▁Ensemble", + -12.79905891418457 + ], + [ + "▁Ingredient", + -12.79905891418457 + ], + [ + "▁Respond", + -12.79914379119873 + ], + [ + "▁impaired", + -12.799356460571289 + ], + [ + "▁Feedback", + -12.799430847167969 + ], + [ + "▁ultrasound", + -12.799461364746094 + ], + [ + "▁Guvernului", + -12.799617767333984 + ], + [ + "▁Unterricht", + -12.799654006958008 + ], + [ + "▁prosecut", + -12.799662590026855 + ], + [ + "spend", + -12.799732208251953 + ], + [ + "▁capitol", + -12.799800872802734 + ], + [ + "USD", + -12.799822807312012 + ], + [ + "observing", + -12.799947738647461 + ], + [ + "▁effortlessly", + -12.800045013427734 + ], + [ + "▁Setting", + -12.80010986328125 + ], + [ + "▁spontaneous", + -12.80020809173584 + ], + [ + "▁LEGO", + -12.800238609313965 + ], + [ + "initiative", + -12.800299644470215 + ], + [ + "▁Sak", + -12.800299644470215 + ], + [ + "Interestingly", + -12.800326347351074 + ], + [ + "▁Yale", + -12.800352096557617 + ], + [ + "▁größer", + -12.80038070678711 + ], + [ + "RIC", + -12.800406455993652 + ], + [ + "▁distracted", + -12.800436973571777 + ], + [ + "drafted", + -12.800484657287598 + ], + [ + "▁Brenda", + -12.800522804260254 + ], + [ + "monopol", + -12.800551414489746 + ], + [ + "städt", + -12.800580024719238 + ], + [ + "▁altar", + -12.80058765411377 + ], + [ + "▁Hannover", + -12.800596237182617 + ], + [ + "▁Spiritual", + -12.800702095031738 + ], + [ + "▁thriller", + -12.800747871398926 + ], + [ + "▁Schneider", + -12.800760269165039 + ], + [ + "▁accumulate", + -12.800817489624023 + ], + [ + "▁mediului", + -12.800822257995605 + ], + [ + "▁Mathematics", + -12.800914764404297 + ], + [ + "▁paradox", + -12.800986289978027 + ], + [ + "▁Sham", + -12.801230430603027 + ], + [ + "▁SITE", + -12.801375389099121 + ], + [ + "▁echipei", + -12.801508903503418 + ], + [ + "▁staircase", + -12.801660537719727 + ], + [ + "▁întrebări", + -12.801705360412598 + ], + [ + "Commerce", + -12.802020072937012 + ], + [ + "▁selfie", + -12.802353858947754 + ], + [ + "▁Pocket", + -12.802404403686523 + ], + [ + "▁niemand", + -12.80263614654541 + ], + [ + "Tool", + -12.802678108215332 + ], + [ + "igma", + -12.802695274353027 + ], + [ + "utilisant", + -12.802915573120117 + ], + [ + "▁negatively", + -12.80295181274414 + ], + [ + "Secondly", + -12.802955627441406 + ], + [ + "▁ROI", + -12.8030366897583 + ], + [ + "Arch", + -12.803121566772461 + ], + [ + "▁continuity", + -12.80318546295166 + ], + [ + "▁Prayer", + -12.803235054016113 + ], + [ + "inverse", + -12.803241729736328 + ], + [ + "▁Himmel", + -12.803336143493652 + ], + [ + "prinz", + -12.803478240966797 + ], + [ + "wichtigen", + -12.803496360778809 + ], + [ + "étage", + -12.803522109985352 + ], + [ + "summe", + -12.8036527633667 + ], + [ + "▁Zeitung", + -12.80366039276123 + ], + [ + "▁realization", + -12.803897857666016 + ], + [ + "▁influent", + -12.804291725158691 + ], + [ + "▁Valid", + -12.804357528686523 + ], + [ + "▁publicity", + -12.804439544677734 + ], + [ + "▁vertreten", + -12.804447174072266 + ], + [ + "▁Shoes", + -12.804609298706055 + ], + [ + "▁Diabetes", + -12.80463695526123 + ], + [ + "▁anticipation", + -12.804670333862305 + ], + [ + "▁Blank", + -12.8047456741333 + ], + [ + "asked", + -12.804899215698242 + ], + [ + "Power", + -12.804938316345215 + ], + [ + "arrelage", + -12.805140495300293 + ], + [ + "▁appraisal", + -12.80538272857666 + ], + [ + "▁harassment", + -12.805542945861816 + ], + [ + "Anzeige", + -12.805682182312012 + ], + [ + "liners", + -12.80584716796875 + ], + [ + "Firstly", + -12.805851936340332 + ], + [ + "transferring", + -12.805951118469238 + ], + [ + "▁Diane", + -12.806012153625488 + ], + [ + "▁1/2\"", + -12.80606746673584 + ], + [ + "▁adrenal", + -12.806131362915039 + ], + [ + "▁Prague", + -12.806208610534668 + ], + [ + "insertion", + -12.80635929107666 + ], + [ + "▁Fahrer", + -12.806465148925781 + ], + [ + "▁divin", + -12.806585311889648 + ], + [ + "▁douche", + -12.80673885345459 + ], + [ + "▁meticulous", + -12.806879043579102 + ], + [ + "▁IEEE", + -12.806981086730957 + ], + [ + "▁Rabatt", + -12.807259559631348 + ], + [ + "Runner", + -12.807342529296875 + ], + [ + "▁Leder", + -12.807429313659668 + ], + [ + "project", + -12.80745792388916 + ], + [ + "▁Split", + -12.807562828063965 + ], + [ + "Gold", + -12.807600021362305 + ], + [ + "5.00", + -12.807629585266113 + ], + [ + "iola", + -12.807655334472656 + ], + [ + "standardized", + -12.807890892028809 + ], + [ + "ordination", + -12.807984352111816 + ], + [ + "▁Egal", + -12.808158874511719 + ], + [ + "▁ruhig", + -12.808241844177246 + ], + [ + "▁judiciar", + -12.80837345123291 + ], + [ + "▁Nowadays", + -12.808374404907227 + ], + [ + "▁whistle", + -12.808374404907227 + ], + [ + "▁superhero", + -12.808379173278809 + ], + [ + "▁PowerPoint", + -12.808408737182617 + ], + [ + "flop", + -12.808420181274414 + ], + [ + "olph", + -12.808460235595703 + ], + [ + "▁pallet", + -12.808916091918945 + ], + [ + "posons", + -12.809005737304688 + ], + [ + "▁Listing", + -12.809032440185547 + ], + [ + "Tag", + -12.809075355529785 + ], + [ + "introductory", + -12.809122085571289 + ], + [ + "▁Profil", + -12.809123992919922 + ], + [ + "symmetric", + -12.809126853942871 + ], + [ + "▁aisle", + -12.809138298034668 + ], + [ + "▁ajouté", + -12.809147834777832 + ], + [ + "opathy", + -12.809149742126465 + ], + [ + "prezentate", + -12.809155464172363 + ], + [ + "▁hurry", + -12.809165000915527 + ], + [ + "Auth", + -12.809310913085938 + ], + [ + "▁Homepage", + -12.809435844421387 + ], + [ + "ashes", + -12.809489250183105 + ], + [ + "▁inklusive", + -12.809496879577637 + ], + [ + "populated", + -12.809502601623535 + ], + [ + "▁nein", + -12.809554100036621 + ], + [ + "▁syndicat", + -12.809690475463867 + ], + [ + "▁développé", + -12.809842109680176 + ], + [ + "▁Domestic", + -12.809877395629883 + ], + [ + "essay", + -12.809967994689941 + ], + [ + "Atelier", + -12.809980392456055 + ], + [ + "▁proceeding", + -12.810006141662598 + ], + [ + "▁SAS", + -12.810038566589355 + ], + [ + "task", + -12.810063362121582 + ], + [ + "▁blackjack", + -12.810114860534668 + ], + [ + "Key", + -12.810186386108398 + ], + [ + "thérapie", + -12.810247421264648 + ], + [ + "▁Cohen", + -12.810397148132324 + ], + [ + "Direct", + -12.810510635375977 + ], + [ + "▁Estimat", + -12.810517311096191 + ], + [ + "élève", + -12.810616493225098 + ], + [ + "cind", + -12.810640335083008 + ], + [ + "▁prezenț", + -12.810701370239258 + ], + [ + "▁notorious", + -12.810725212097168 + ], + [ + "climbed", + -12.810816764831543 + ], + [ + "▁flexibil", + -12.810830116271973 + ], + [ + "▁entlang", + -12.810855865478516 + ], + [ + "longed", + -12.81103515625 + ], + [ + "▁elbow", + -12.811078071594238 + ], + [ + "BH", + -12.811296463012695 + ], + [ + "▁Radu", + -12.811376571655273 + ], + [ + "▁lonely", + -12.811378479003906 + ], + [ + "ALA", + -12.811405181884766 + ], + [ + "Variante", + -12.811639785766602 + ], + [ + "▁Influen", + -12.81169319152832 + ], + [ + "▁Budapest", + -12.811747550964355 + ], + [ + "▁Gemüse", + -12.811747550964355 + ], + [ + "▁continental", + -12.811750411987305 + ], + [ + "ippo", + -12.811771392822266 + ], + [ + "▁Affordable", + -12.81212329864502 + ], + [ + "▁niece", + -12.812187194824219 + ], + [ + "oscopic", + -12.812190055847168 + ], + [ + "▁Grid", + -12.81222152709961 + ], + [ + "sliced", + -12.812270164489746 + ], + [ + "▁voici", + -12.812294006347656 + ], + [ + "aveam", + -12.812471389770508 + ], + [ + "▁Lars", + -12.812612533569336 + ], + [ + "APA", + -12.812657356262207 + ], + [ + "▁particulière", + -12.812858581542969 + ], + [ + "sorb", + -12.8128662109375 + ], + [ + "▁1955", + -12.812887191772461 + ], + [ + "▁solutii", + -12.812942504882812 + ], + [ + "loch", + -12.812960624694824 + ], + [ + "▁summon", + -12.813212394714355 + ], + [ + "wurf", + -12.813271522521973 + ], + [ + "▁protecți", + -12.813288688659668 + ], + [ + "2001", + -12.813499450683594 + ], + [ + "▁sophomore", + -12.813627243041992 + ], + [ + "▁Schwerpunkt", + -12.813628196716309 + ], + [ + "▁diplomat", + -12.813687324523926 + ], + [ + "▁artistique", + -12.813726425170898 + ], + [ + "▁accueille", + -12.813739776611328 + ], + [ + "Disp", + -12.813746452331543 + ], + [ + "inherited", + -12.813764572143555 + ], + [ + "▁COMP", + -12.813889503479004 + ], + [ + "▁envoyé", + -12.814046859741211 + ], + [ + "▁tuning", + -12.814056396484375 + ], + [ + "▁entspricht", + -12.814062118530273 + ], + [ + "▁exerc", + -12.81406307220459 + ], + [ + "▁accessoires", + -12.8140869140625 + ], + [ + "▁Automat", + -12.814348220825195 + ], + [ + "importance", + -12.814408302307129 + ], + [ + "▁travellers", + -12.814432144165039 + ], + [ + "seiten", + -12.814474105834961 + ], + [ + "▁slider", + -12.814481735229492 + ], + [ + "effect", + -12.814591407775879 + ], + [ + "▁siding", + -12.814669609069824 + ], + [ + "▁Crit", + -12.814780235290527 + ], + [ + "▁sportif", + -12.814827919006348 + ], + [ + "▁Accessories", + -12.81513500213623 + ], + [ + "▁Anteil", + -12.815184593200684 + ], + [ + "▁limbi", + -12.81519603729248 + ], + [ + "▁vendre", + -12.815269470214844 + ], + [ + "borg", + -12.815435409545898 + ], + [ + "▁Deposit", + -12.815508842468262 + ], + [ + "▁Hö", + -12.815717697143555 + ], + [ + "employé", + -12.8157320022583 + ], + [ + "▁Bangalore", + -12.815887451171875 + ], + [ + "▁itinerary", + -12.815888404846191 + ], + [ + "▁Deliver", + -12.816008567810059 + ], + [ + "dik", + -12.816024780273438 + ], + [ + "▁advent", + -12.816100120544434 + ], + [ + "▁Turk", + -12.81614875793457 + ], + [ + "▁Nico", + -12.816154479980469 + ], + [ + "organizarea", + -12.816161155700684 + ], + [ + "▁remport", + -12.816166877746582 + ], + [ + "▁tribunal", + -12.816266059875488 + ], + [ + "▁Rusia", + -12.8162841796875 + ], + [ + "glazed", + -12.816339492797852 + ], + [ + "▁destiné", + -12.816502571105957 + ], + [ + "304", + -12.816533088684082 + ], + [ + "album", + -12.816650390625 + ], + [ + "▁junction", + -12.81665325164795 + ], + [ + "▁Fleet", + -12.816664695739746 + ], + [ + "venant", + -12.81667423248291 + ], + [ + "▁buddy", + -12.816694259643555 + ], + [ + "▁neglected", + -12.816694259643555 + ], + [ + "▁Mask", + -12.816783905029297 + ], + [ + "▁testament", + -12.816844940185547 + ], + [ + "▁Basil", + -12.81690788269043 + ], + [ + "masă", + -12.816922187805176 + ], + [ + "▁racist", + -12.81692886352539 + ], + [ + "640", + -12.816990852355957 + ], + [ + "▁Standing", + -12.817028045654297 + ], + [ + "▁MUST", + -12.817266464233398 + ], + [ + "situation", + -12.817327499389648 + ], + [ + "▁informiert", + -12.817337036132812 + ], + [ + "ABA", + -12.817353248596191 + ], + [ + "▁Timothy", + -12.817397117614746 + ], + [ + "▁generosity", + -12.817397117614746 + ], + [ + "▁erscheint", + -12.817402839660645 + ], + [ + "▁verarbeitet", + -12.81740665435791 + ], + [ + "▁burial", + -12.817444801330566 + ], + [ + "▁limestone", + -12.817458152770996 + ], + [ + "▁1953", + -12.817480087280273 + ], + [ + "▁Lucr", + -12.817506790161133 + ], + [ + "small", + -12.817633628845215 + ], + [ + "aveau", + -12.81763744354248 + ], + [ + "versiune", + -12.81773567199707 + ], + [ + "▁inkl", + -12.81775951385498 + ], + [ + "▁Minneapolis", + -12.81777572631836 + ], + [ + "Spiel", + -12.81781005859375 + ], + [ + "▁encode", + -12.817895889282227 + ], + [ + "▁beforehand", + -12.818021774291992 + ], + [ + "▁Vital", + -12.818086624145508 + ], + [ + "▁socialist", + -12.818228721618652 + ], + [ + "inho", + -12.81824779510498 + ], + [ + "▁chapel", + -12.81825065612793 + ], + [ + "▁Monitoring", + -12.81838607788086 + ], + [ + "▁quotidienne", + -12.818404197692871 + ], + [ + "cloud", + -12.818506240844727 + ], + [ + "▁desfăşur", + -12.818531036376953 + ], + [ + "▁1952", + -12.818638801574707 + ], + [ + "▁Rü", + -12.818690299987793 + ], + [ + "▁Sigma", + -12.818804740905762 + ], + [ + "134", + -12.818835258483887 + ], + [ + "Sullivan", + -12.818909645080566 + ], + [ + "▁Bevölkerung", + -12.818909645080566 + ], + [ + "▁sufficiently", + -12.818953514099121 + ], + [ + "Check", + -12.818992614746094 + ], + [ + "rnie", + -12.8190336227417 + ], + [ + "contamin", + -12.819132804870605 + ], + [ + "▁gewonnen", + -12.81928825378418 + ], + [ + "▁bugetul", + -12.819376945495605 + ], + [ + "▁mustard", + -12.819414138793945 + ], + [ + "132", + -12.819478988647461 + ], + [ + "0.9", + -12.819535255432129 + ], + [ + "▁tratat", + -12.81957721710205 + ], + [ + "▁dilemma", + -12.819666862487793 + ], + [ + "▁versatility", + -12.819666862487793 + ], + [ + "▁clutter", + -12.819670677185059 + ], + [ + "▁Musk", + -12.81973934173584 + ], + [ + "▁Beide", + -12.819750785827637 + ], + [ + "hurst", + -12.819758415222168 + ], + [ + "atsu", + -12.819767951965332 + ], + [ + "absence", + -12.819784164428711 + ], + [ + "rebounds", + -12.819881439208984 + ], + [ + "6.1", + -12.820029258728027 + ], + [ + "Dia", + -12.820046424865723 + ], + [ + "▁siguranță", + -12.820060729980469 + ], + [ + "▁Blade", + -12.820072174072266 + ], + [ + "▁disrupt", + -12.820074081420898 + ], + [ + "▁visiteurs", + -12.820169448852539 + ], + [ + "tested", + -12.820282936096191 + ], + [ + "▁Lup", + -12.820353507995605 + ], + [ + "▁Rouge", + -12.820371627807617 + ], + [ + "▁asbestos", + -12.82042407989502 + ], + [ + "▁moisturize", + -12.820427894592285 + ], + [ + "▁acknowledg", + -12.82045841217041 + ], + [ + "▁procent", + -12.820467948913574 + ], + [ + "▁swear", + -12.82050895690918 + ], + [ + "▁911", + -12.820647239685059 + ], + [ + "präsent", + -12.820724487304688 + ], + [ + "▁cohort", + -12.82072639465332 + ], + [ + "▁intimid", + -12.820830345153809 + ], + [ + "JS", + -12.820849418640137 + ], + [ + "îm", + -12.82096004486084 + ], + [ + "▁Kunststoff", + -12.820963859558105 + ], + [ + "rison", + -12.820972442626953 + ], + [ + "▁praf", + -12.82097339630127 + ], + [ + "▁convient", + -12.821019172668457 + ], + [ + "▁partenaire", + -12.821088790893555 + ], + [ + "▁Verantwortlich", + -12.821182250976562 + ], + [ + "▁semiconductor", + -12.821182250976562 + ], + [ + "▁kürz", + -12.821187019348145 + ], + [ + "▁Bottom", + -12.821187973022461 + ], + [ + "▁tratamentul", + -12.82127571105957 + ], + [ + "Source", + -12.821331024169922 + ], + [ + "authored", + -12.82172679901123 + ], + [ + "robo", + -12.821867942810059 + ], + [ + "▁turf", + -12.82194709777832 + ], + [ + "▁liebe", + -12.821971893310547 + ], + [ + "▁Fotografi", + -12.821995735168457 + ], + [ + "Big", + -12.822064399719238 + ], + [ + "▁fireworks", + -12.822081565856934 + ], + [ + "▁presă", + -12.822135925292969 + ], + [ + "▁conceal", + -12.822269439697266 + ], + [ + "▁originated", + -12.82227897644043 + ], + [ + "▁biciclet", + -12.822319984436035 + ], + [ + "acești", + -12.822577476501465 + ], + [ + "▁mortar", + -12.822585105895996 + ], + [ + "▁Wunder", + -12.822626113891602 + ], + [ + "ionist", + -12.822696685791016 + ], + [ + "KM", + -12.822871208190918 + ], + [ + "▁Marion", + -12.822918891906738 + ], + [ + "produkte", + -12.822933197021484 + ], + [ + "▁Sprint", + -12.822999000549316 + ], + [ + "▁Nachde", + -12.8230619430542 + ], + [ + "▁verfüge", + -12.823100090026855 + ], + [ + "Marea", + -12.823177337646484 + ], + [ + "▁compressor", + -12.823253631591797 + ], + [ + "Arm", + -12.823290824890137 + ], + [ + "Auf", + -12.823311805725098 + ], + [ + "▁Polyester", + -12.823461532592773 + ], + [ + "▁Sheffield", + -12.823461532592773 + ], + [ + "illiard", + -12.823494911193848 + ], + [ + "▁misleading", + -12.82353401184082 + ], + [ + "multi", + -12.823749542236328 + ], + [ + "ripped", + -12.82381820678711 + ], + [ + "▁Cosmetic", + -12.82383918762207 + ], + [ + "▁Regal", + -12.823890686035156 + ], + [ + "▁authenticity", + -12.82414436340332 + ], + [ + "▁customizable", + -12.824219703674316 + ], + [ + "▁bathtub", + -12.824275016784668 + ], + [ + "▁Average", + -12.824292182922363 + ], + [ + "▁Muster", + -12.824522018432617 + ], + [ + "290", + -12.824529647827148 + ], + [ + "▁Ersatz", + -12.824570655822754 + ], + [ + "▁Might", + -12.824588775634766 + ], + [ + "published", + -12.82461929321289 + ], + [ + "▁Interpret", + -12.824640274047852 + ], + [ + "▁încep", + -12.82480239868164 + ], + [ + "▁proto", + -12.824851036071777 + ], + [ + "▁disque", + -12.824889183044434 + ], + [ + "▁Palestine", + -12.824980735778809 + ], + [ + "Over", + -12.824981689453125 + ], + [ + "▁verbessert", + -12.824983596801758 + ], + [ + "▁liefern", + -12.825017929077148 + ], + [ + "▁Handlung", + -12.825095176696777 + ], + [ + "▁Handels", + -12.825150489807129 + ], + [ + "▁eater", + -12.825201988220215 + ], + [ + "▁$40", + -12.825251579284668 + ], + [ + "illard", + -12.825334548950195 + ], + [ + "▁apariti", + -12.825413703918457 + ], + [ + "▁gag", + -12.825422286987305 + ], + [ + "▁chimic", + -12.825541496276855 + ], + [ + "▁Guru", + -12.825594902038574 + ], + [ + "▁Toilet", + -12.82571792602539 + ], + [ + "▁Tochter", + -12.825748443603516 + ], + [ + "▁Aurora", + -12.82579231262207 + ], + [ + "contro", + -12.825922966003418 + ], + [ + "▁GOP", + -12.825995445251465 + ], + [ + "Provence", + -12.826130867004395 + ], + [ + "▁Frieden", + -12.82614803314209 + ], + [ + "ăci", + -12.826216697692871 + ], + [ + "portée", + -12.826268196105957 + ], + [ + "▁upright", + -12.826300621032715 + ], + [ + "▁Physician", + -12.82650375366211 + ], + [ + "▁juridique", + -12.82650375366211 + ], + [ + "▁territorial", + -12.82650375366211 + ], + [ + "▁kindergarten", + -12.826505661010742 + ], + [ + "aéroport", + -12.826510429382324 + ], + [ + "▁whisper", + -12.826513290405273 + ], + [ + "▁capacities", + -12.826562881469727 + ], + [ + "dichte", + -12.826641082763672 + ], + [ + "▁Grenzen", + -12.826822280883789 + ], + [ + "▁Riv", + -12.82710075378418 + ], + [ + "épreuve", + -12.827266693115234 + ], + [ + "▁Scheme", + -12.827290534973145 + ], + [ + "mesures", + -12.827330589294434 + ], + [ + "▁Einfluss", + -12.827333450317383 + ], + [ + "appui", + -12.827713966369629 + ], + [ + "▁apuc", + -12.827827453613281 + ], + [ + "▁radiat", + -12.82794189453125 + ], + [ + "▁allergy", + -12.828035354614258 + ], + [ + "▁spear", + -12.828038215637207 + ], + [ + "▁Luxembourg", + -12.828086853027344 + ], + [ + "▁Registered", + -12.828115463256836 + ], + [ + "▁Shape", + -12.828198432922363 + ], + [ + "genie", + -12.828328132629395 + ], + [ + "nsonsten", + -12.828385353088379 + ], + [ + "▁Symposium", + -12.828412055969238 + ], + [ + "forderung", + -12.828474998474121 + ], + [ + "▁personalizat", + -12.82866096496582 + ], + [ + "▁ştiu", + -12.82875919342041 + ], + [ + "blatt", + -12.828804016113281 + ], + [ + "▁geometry", + -12.828807830810547 + ], + [ + "▁8:30", + -12.828831672668457 + ], + [ + "▁Fahrrad", + -12.828861236572266 + ], + [ + "After", + -12.828927040100098 + ], + [ + "▁ventilat", + -12.829072952270508 + ], + [ + "▁nylon", + -12.829190254211426 + ], + [ + "▁verkauft", + -12.829304695129395 + ], + [ + "öß", + -12.829345703125 + ], + [ + "▁Kath", + -12.829523086547852 + ], + [ + "▁Nuclear", + -12.829558372497559 + ], + [ + "▁Verizon", + -12.829560279846191 + ], + [ + "▁spokesperson", + -12.829560279846191 + ], + [ + "▁vietii", + -12.829560279846191 + ], + [ + "▁prescri", + -12.829629898071289 + ], + [ + "ру", + -12.829666137695312 + ], + [ + "6.2", + -12.829801559448242 + ], + [ + "▁spațiu", + -12.830018997192383 + ], + [ + "▁solvent", + -12.83006763458252 + ], + [ + ",000,000", + -12.830142974853516 + ], + [ + "reuen", + -12.830185890197754 + ], + [ + "plast", + -12.830245018005371 + ], + [ + "▁Activities", + -12.830334663391113 + ], + [ + "▁domni", + -12.83056926727295 + ], + [ + "▁trophy", + -12.830572128295898 + ], + [ + "▁saddle", + -12.830657958984375 + ], + [ + "▁renovat", + -12.830708503723145 + ], + [ + "▁bumper", + -12.830717086791992 + ], + [ + "▁penny", + -12.830741882324219 + ], + [ + "omato", + -12.830743789672852 + ], + [ + "AQ", + -12.83083438873291 + ], + [ + "kunst", + -12.830843925476074 + ], + [ + "hydrat", + -12.830860137939453 + ], + [ + "minder", + -12.830931663513184 + ], + [ + "trecerea", + -12.830949783325195 + ], + [ + "brush", + -12.831185340881348 + ], + [ + "TEC", + -12.83121395111084 + ], + [ + "Please", + -12.831253051757812 + ], + [ + "hydrated", + -12.831483840942383 + ], + [ + "ICAL", + -12.831636428833008 + ], + [ + "trauen", + -12.831639289855957 + ], + [ + "9,000", + -12.83175277709961 + ], + [ + "▁2030", + -12.831830024719238 + ], + [ + "▁Chennai", + -12.831854820251465 + ], + [ + "▁empirical", + -12.831854820251465 + ], + [ + "▁Subscribe", + -12.83206844329834 + ], + [ + "▁vorgestellt", + -12.832120895385742 + ], + [ + "▁Springfield", + -12.832159996032715 + ], + [ + "▁continuu", + -12.832311630249023 + ], + [ + "208", + -12.832351684570312 + ], + [ + "▁Bearing", + -12.83240795135498 + ], + [ + "2003", + -12.832572937011719 + ], + [ + "cheta", + -12.832608222961426 + ], + [ + "▁empathy", + -12.832623481750488 + ], + [ + "▁Alert", + -12.832817077636719 + ], + [ + "▁recreate", + -12.832879066467285 + ], + [ + "PJ", + -12.833159446716309 + ], + [ + "Name", + -12.83323860168457 + ], + [ + "▁Mouse", + -12.833405494689941 + ], + [ + "▁disturbing", + -12.833443641662598 + ], + [ + "▁leichter", + -12.83344841003418 + ], + [ + "▁cruel", + -12.833507537841797 + ], + [ + "▁detective", + -12.833531379699707 + ], + [ + "▁reimbursement", + -12.833626747131348 + ], + [ + "▁Gemeinschaft", + -12.833772659301758 + ], + [ + "▁adolescents", + -12.833772659301758 + ], + [ + "▁Reality", + -12.833954811096191 + ], + [ + "▁Stockholm", + -12.83415699005127 + ], + [ + "▁Gründen", + -12.834304809570312 + ], + [ + "▁Reflect", + -12.83432388305664 + ], + [ + "▁Palmer", + -12.834336280822754 + ], + [ + "▁treac", + -12.8343505859375 + ], + [ + "▁tentative", + -12.834497451782227 + ], + [ + "▁surrender", + -12.834677696228027 + ], + [ + "▁broadly", + -12.834734916687012 + ], + [ + "▁județ", + -12.834814071655273 + ], + [ + "▁Thu", + -12.834845542907715 + ], + [ + "wärts", + -12.834961891174316 + ], + [ + "▁crește", + -12.835074424743652 + ], + [ + "▁déplacement", + -12.835208892822266 + ], + [ + "blanc", + -12.835268020629883 + ], + [ + "▁£5", + -12.835308074951172 + ], + [ + "▁confidentiality", + -12.835320472717285 + ], + [ + "veraging", + -12.835444450378418 + ], + [ + "unité", + -12.835609436035156 + ], + [ + "clar", + -12.83564567565918 + ], + [ + "rigg", + -12.835693359375 + ], + [ + "honneur", + -12.835694313049316 + ], + [ + "▁adventurous", + -12.835694313049316 + ], + [ + "▁Nutzen", + -12.835758209228516 + ], + [ + "▁Kabel", + -12.835800170898438 + ], + [ + "empowering", + -12.836040496826172 + ], + [ + "verhalten", + -12.836042404174805 + ], + [ + "▁prevail", + -12.8361234664917 + ], + [ + "mashed", + -12.836138725280762 + ], + [ + "▁1947", + -12.83616828918457 + ], + [ + "function", + -12.836292266845703 + ], + [ + "niveaux", + -12.83633041381836 + ], + [ + "▁territories", + -12.836463928222656 + ], + [ + "▁Permanent", + -12.836465835571289 + ], + [ + "▁christmas", + -12.836471557617188 + ], + [ + "arguing", + -12.836490631103516 + ], + [ + "zukünftig", + -12.836654663085938 + ], + [ + "▁Eindruck", + -12.836817741394043 + ], + [ + "personalised", + -12.836854934692383 + ], + [ + "▁vecin", + -12.837211608886719 + ], + [ + "▁Affiliate", + -12.837234497070312 + ], + [ + "▁Silk", + -12.837249755859375 + ], + [ + "▁Tub", + -12.837440490722656 + ], + [ + "▁remont", + -12.837493896484375 + ], + [ + "▁sauber", + -12.837530136108398 + ], + [ + "gehörig", + -12.837562561035156 + ], + [ + "Maritime", + -12.83771800994873 + ], + [ + "▁Bö", + -12.837973594665527 + ], + [ + "▁1957", + -12.83800220489502 + ], + [ + "▁unparalleled", + -12.838005065917969 + ], + [ + "▁fulfillment", + -12.838042259216309 + ], + [ + "▁collage", + -12.838179588317871 + ], + [ + "fenders", + -12.838248252868652 + ], + [ + "▁neige", + -12.838275909423828 + ], + [ + "▁gamers", + -12.838325500488281 + ], + [ + "tefan", + -12.838339805603027 + ], + [ + "▁wifi", + -12.838349342346191 + ], + [ + "▁leisten", + -12.83835506439209 + ], + [ + "▁Verbesserung", + -12.838390350341797 + ], + [ + "▁composant", + -12.838400840759277 + ], + [ + "▁LORD", + -12.8384370803833 + ], + [ + "arrive", + -12.838472366333008 + ], + [ + "▁conquer", + -12.838562965393066 + ], + [ + "▁lentil", + -12.838767051696777 + ], + [ + "▁Sprech", + -12.838995933532715 + ], + [ + "▁substitution", + -12.839015007019043 + ], + [ + ".05.", + -12.839020729064941 + ], + [ + "FORM", + -12.839144706726074 + ], + [ + "cădere", + -12.839154243469238 + ], + [ + "▁canyon", + -12.839430809020996 + ], + [ + "▁capacitate", + -12.839442253112793 + ], + [ + "▁menace", + -12.839461326599121 + ], + [ + "▁Antique", + -12.839519500732422 + ], + [ + "▁dizaine", + -12.839550971984863 + ], + [ + "▁Saturn", + -12.839578628540039 + ], + [ + "▁gastro", + -12.83962631225586 + ], + [ + "▁Vand", + -12.839641571044922 + ], + [ + "▁africa", + -12.839682579040527 + ], + [ + "▁hackers", + -12.839702606201172 + ], + [ + "▁Bailey", + -12.839736938476562 + ], + [ + "ouette", + -12.839822769165039 + ], + [ + "hoch", + -12.839885711669922 + ], + [ + "étudiant", + -12.839973449707031 + ], + [ + "▁1600", + -12.840004920959473 + ], + [ + "utiliz", + -12.840167999267578 + ], + [ + "reinigung", + -12.840263366699219 + ], + [ + "▁mileage", + -12.84029483795166 + ], + [ + "▁consacré", + -12.840309143066406 + ], + [ + "▁Norfolk", + -12.840327262878418 + ], + [ + "stacked", + -12.840659141540527 + ], + [ + "anbieter", + -12.840731620788574 + ], + [ + "▁gewünschte", + -12.84073543548584 + ], + [ + "▁silicon", + -12.840761184692383 + ], + [ + "Ensuite", + -12.840794563293457 + ], + [ + "▁vendu", + -12.840850830078125 + ], + [ + "▁viteza", + -12.840851783752441 + ], + [ + "▁evaluare", + -12.840913772583008 + ], + [ + "▁contient", + -12.841036796569824 + ], + [ + "▁Viagra", + -12.841100692749023 + ], + [ + "▁circumstance", + -12.841283798217773 + ], + [ + "walker", + -12.841383934020996 + ], + [ + "▁Aluminium", + -12.84148120880127 + ], + [ + "ço", + -12.841556549072266 + ], + [ + "▁Kli", + -12.841643333435059 + ], + [ + "▁deliberately", + -12.841649055480957 + ], + [ + "▁gamble", + -12.841893196105957 + ], + [ + "▁nourri", + -12.841903686523438 + ], + [ + "▁sealing", + -12.84194278717041 + ], + [ + "▁Atmosphäre", + -12.842255592346191 + ], + [ + "▁erschien", + -12.842260360717773 + ], + [ + "▁brightness", + -12.842340469360352 + ], + [ + "autonomie", + -12.84251594543457 + ], + [ + "▁propel", + -12.842525482177734 + ], + [ + "▁Infrastructure", + -12.842642784118652 + ], + [ + "▁război", + -12.842642784118652 + ], + [ + "▁jelly", + -12.842684745788574 + ], + [ + "scalable", + -12.84280776977539 + ], + [ + "regal", + -12.84296703338623 + ], + [ + "▁sarcini", + -12.843031883239746 + ], + [ + "▁Dienstag", + -12.84304428100586 + ], + [ + "▁Receive", + -12.8430814743042 + ], + [ + "▁mango", + -12.843356132507324 + ], + [ + "▁compétition", + -12.84341812133789 + ], + [ + "▁Monument", + -12.843428611755371 + ], + [ + "▁mast", + -12.844159126281738 + ], + [ + "▁instructed", + -12.84425163269043 + ], + [ + "▁aventur", + -12.844277381896973 + ], + [ + "139", + -12.844298362731934 + ], + [ + "▁Parmi", + -12.84435749053955 + ], + [ + "confined", + -12.844416618347168 + ], + [ + "acious", + -12.844441413879395 + ], + [ + "▁simptome", + -12.844581604003906 + ], + [ + "▁Fischer", + -12.844897270202637 + ], + [ + "störung", + -12.844985008239746 + ], + [ + "▁bilateral", + -12.84504508972168 + ], + [ + "preşedintele", + -12.845274925231934 + ], + [ + "accueillir", + -12.845357894897461 + ], + [ + "▁Schmidt", + -12.845359802246094 + ], + [ + "litis", + -12.845373153686523 + ], + [ + "WL", + -12.8454008102417 + ], + [ + "▁Rise", + -12.845436096191406 + ], + [ + "▁streamline", + -12.845556259155273 + ], + [ + "sozialen", + -12.845585823059082 + ], + [ + "▁Emirates", + -12.845746040344238 + ], + [ + "▁encrypted", + -12.845746040344238 + ], + [ + "▁unfamiliar", + -12.845746040344238 + ], + [ + "established", + -12.84577751159668 + ], + [ + "▁Tätigkeit", + -12.845818519592285 + ], + [ + "▁unaware", + -12.845913887023926 + ], + [ + "2:00", + -12.8460054397583 + ], + [ + "macher", + -12.846013069152832 + ], + [ + "NSA", + -12.8461275100708 + ], + [ + "▁rutier", + -12.846177101135254 + ], + [ + "▁Trent", + -12.846212387084961 + ], + [ + "▁sickness", + -12.846277236938477 + ], + [ + "▁advert", + -12.846417427062988 + ], + [ + "▁Kranken", + -12.846426963806152 + ], + [ + "▁Sandra", + -12.846443176269531 + ], + [ + "▁Recreation", + -12.846449851989746 + ], + [ + "▁Evidence", + -12.846524238586426 + ], + [ + "▁Immigration", + -12.846524238586426 + ], + [ + "▁carriage", + -12.846524238586426 + ], + [ + "▁justified", + -12.84655475616455 + ], + [ + "▁veche", + -12.846579551696777 + ], + [ + "PGA", + -12.846604347229004 + ], + [ + "▁Carmen", + -12.846735000610352 + ], + [ + "▁Faites", + -12.846750259399414 + ], + [ + "▁erfüllt", + -12.84691333770752 + ], + [ + "▁voilà", + -12.846931457519531 + ], + [ + "▁împlin", + -12.846959114074707 + ], + [ + "deposited", + -12.84721565246582 + ], + [ + "▁decisiv", + -12.847241401672363 + ], + [ + "CSA", + -12.847249031066895 + ], + [ + "pathy", + -12.84726619720459 + ], + [ + "▁erweitert", + -12.847302436828613 + ], + [ + "▁liquor", + -12.847302436828613 + ], + [ + "▁resilient", + -12.847302436828613 + ], + [ + "▁walmart", + -12.847302436828613 + ], + [ + "▁fencing", + -12.847308158874512 + ], + [ + "▁dépasse", + -12.84731388092041 + ], + [ + "KT", + -12.847354888916016 + ], + [ + "▁fries", + -12.847368240356445 + ], + [ + "vadă", + -12.847421646118164 + ], + [ + "▁Spania", + -12.847478866577148 + ], + [ + "▁complètement", + -12.847725868225098 + ], + [ + "▁lucrari", + -12.84777545928955 + ], + [ + "▁Lieb", + -12.847908973693848 + ], + [ + "leistungen", + -12.847943305969238 + ], + [ + "198", + -12.847979545593262 + ], + [ + "▁Schnell", + -12.847997665405273 + ], + [ + "▁radius", + -12.84814453125 + ], + [ + "▁beneficiaries", + -12.848151206970215 + ], + [ + "▁northwest", + -12.848174095153809 + ], + [ + "▁#4", + -12.848223686218262 + ], + [ + "▁embryo", + -12.848492622375488 + ], + [ + "▁ditch", + -12.848791122436523 + ], + [ + "▁Seriously", + -12.848859786987305 + ], + [ + "oppel", + -12.848941802978516 + ], + [ + "▁stalk", + -12.849053382873535 + ], + [ + "écriture", + -12.849066734313965 + ], + [ + "512", + -12.84912109375 + ], + [ + "wiesen", + -12.849271774291992 + ], + [ + "▁Consum", + -12.849321365356445 + ], + [ + "▁lună", + -12.849405288696289 + ], + [ + "▁lantern", + -12.849441528320312 + ], + [ + "▁italian", + -12.849629402160645 + ], + [ + "▁achiziți", + -12.849639892578125 + ], + [ + "▁catalyst", + -12.849639892578125 + ], + [ + "▁Arbeitgeber", + -12.849662780761719 + ], + [ + "▁researched", + -12.8496675491333 + ], + [ + "▁drastically", + -12.849679946899414 + ], + [ + "versammlung", + -12.849735260009766 + ], + [ + "410", + -12.849800109863281 + ], + [ + "▁impus", + -12.850153923034668 + ], + [ + "▁interchange", + -12.850173950195312 + ], + [ + "▁pharmacie", + -12.850215911865234 + ], + [ + "Live", + -12.850354194641113 + ], + [ + "dents", + -12.850384712219238 + ], + [ + "▁charcoal", + -12.850419998168945 + ], + [ + "▁odihn", + -12.850420951843262 + ], + [ + "▁pistol", + -12.850444793701172 + ], + [ + "▁complaining", + -12.850576400756836 + ], + [ + "manager", + -12.850578308105469 + ], + [ + "themed", + -12.850578308105469 + ], + [ + "▁Chang", + -12.850650787353516 + ], + [ + "▁rookie", + -12.85070514678955 + ], + [ + "Great", + -12.850706100463867 + ], + [ + "▁smoker", + -12.850733757019043 + ], + [ + "▁Container", + -12.850812911987305 + ], + [ + "▁bancaire", + -12.850852966308594 + ], + [ + "▁Actual", + -12.850966453552246 + ], + [ + "füllen", + -12.850982666015625 + ], + [ + "forum", + -12.850985527038574 + ], + [ + "bleib", + -12.851073265075684 + ], + [ + "▁combi", + -12.851079940795898 + ], + [ + "smoked", + -12.851137161254883 + ], + [ + "difficultés", + -12.851161003112793 + ], + [ + "▁tactical", + -12.851240158081055 + ], + [ + "▁sichtbar", + -12.851483345031738 + ], + [ + "▁dreptate", + -12.851598739624023 + ], + [ + "ERT", + -12.85168743133545 + ], + [ + "▁Pond", + -12.85177993774414 + ], + [ + "▁Holly", + -12.851844787597656 + ], + [ + "erfolg", + -12.8518705368042 + ], + [ + "▁Nordic", + -12.851896286010742 + ], + [ + "évènement", + -12.851983070373535 + ], + [ + "embracing", + -12.851984024047852 + ], + [ + "▁Maximum", + -12.851984024047852 + ], + [ + "▁défend", + -12.85205078125 + ], + [ + "▁fruct", + -12.852056503295898 + ], + [ + "▁Conditioning", + -12.852099418640137 + ], + [ + "LG", + -12.852127075195312 + ], + [ + "exigence", + -12.852166175842285 + ], + [ + "amide", + -12.852187156677246 + ], + [ + "▁darunter", + -12.852208137512207 + ], + [ + "▁EVERY", + -12.852420806884766 + ], + [ + "▁comparat", + -12.85244083404541 + ], + [ + "boosting", + -12.852452278137207 + ], + [ + "▁Hawaiian", + -12.852553367614746 + ], + [ + "▁Geburt", + -12.852752685546875 + ], + [ + "deci", + -12.852782249450684 + ], + [ + "▁Apollo", + -12.852803230285645 + ], + [ + "▁schützen", + -12.852821350097656 + ], + [ + "tragere", + -12.852893829345703 + ], + [ + "Online", + -12.852904319763184 + ], + [ + "▁neural", + -12.852913856506348 + ], + [ + "▁lucrez", + -12.853188514709473 + ], + [ + "▁phenomenal", + -12.853253364562988 + ], + [ + "▁Height", + -12.853368759155273 + ], + [ + "coordinating", + -12.853548049926758 + ], + [ + "geschnitten", + -12.853631019592285 + ], + [ + "auront", + -12.853641510009766 + ], + [ + "▁administer", + -12.853644371032715 + ], + [ + "▁contend", + -12.853707313537598 + ], + [ + "▁crispy", + -12.853784561157227 + ], + [ + "chuck", + -12.854011535644531 + ], + [ + "▁Condition", + -12.8540678024292 + ], + [ + "gestaltung", + -12.854324340820312 + ], + [ + "▁Blvd", + -12.854331970214844 + ], + [ + "▁subjective", + -12.854470252990723 + ], + [ + "▁événements", + -12.854708671569824 + ], + [ + "▁Jenny", + -12.855131149291992 + ], + [ + "▁cumpăra", + -12.85519027709961 + ], + [ + "constructing", + -12.855262756347656 + ], + [ + "▁instructional", + -12.85539436340332 + ], + [ + "▁sterling", + -12.855446815490723 + ], + [ + "scrise", + -12.855470657348633 + ], + [ + "▁Boulevard", + -12.855551719665527 + ], + [ + "pipe", + -12.855620384216309 + ], + [ + "▁Pride", + -12.855748176574707 + ], + [ + "▁Kau", + -12.855751991271973 + ], + [ + "▁overhaul", + -12.855924606323242 + ], + [ + "▁Recruitment", + -12.855925559997559 + ], + [ + "▁thrilling", + -12.856218338012695 + ], + [ + "living", + -12.856302261352539 + ], + [ + "▁rămân", + -12.85645866394043 + ], + [ + "▁MOD", + -12.85661792755127 + ], + [ + "▁Newport", + -12.856675148010254 + ], + [ + "▁infectious", + -12.856688499450684 + ], + [ + "6-3", + -12.856860160827637 + ], + [ + "▁Apache", + -12.856976509094238 + ], + [ + "▁dependence", + -12.85698413848877 + ], + [ + "nutzung", + -12.857199668884277 + ], + [ + "praised", + -12.857211112976074 + ], + [ + "▁craving", + -12.857346534729004 + ], + [ + "▁cramp", + -12.857397079467773 + ], + [ + "▁mancare", + -12.857455253601074 + ], + [ + "▁entdeckt", + -12.857474327087402 + ], + [ + "▁Pioneer", + -12.857484817504883 + ], + [ + "▁Adelaide", + -12.857490539550781 + ], + [ + "2.0", + -12.857503890991211 + ], + [ + "168", + -12.857526779174805 + ], + [ + "▁Decorating", + -12.857611656188965 + ], + [ + "▁unpleasant", + -12.857854843139648 + ], + [ + "▁déclaration", + -12.857865333557129 + ], + [ + "▁Grafik", + -12.857908248901367 + ], + [ + "5-2", + -12.857937812805176 + ], + [ + "căci", + -12.857940673828125 + ], + [ + "▁invade", + -12.858171463012695 + ], + [ + "▁internaţional", + -12.858259201049805 + ], + [ + "▁fraudulent", + -12.858281135559082 + ], + [ + "▁crestere", + -12.858441352844238 + ], + [ + "ografic", + -12.858729362487793 + ], + [ + "plină", + -12.859140396118164 + ], + [ + "sunteti", + -12.859150886535645 + ], + [ + "/04", + -12.859176635742188 + ], + [ + "▁admis", + -12.85935115814209 + ], + [ + "▁mediation", + -12.859403610229492 + ], + [ + "ICC", + -12.859424591064453 + ], + [ + "roș", + -12.859660148620605 + ], + [ + "▁Aroma", + -12.8596773147583 + ], + [ + "1:00", + -12.859792709350586 + ], + [ + "gasesc", + -12.859822273254395 + ], + [ + "▁Defence", + -12.859850883483887 + ], + [ + "▁dictionary", + -12.859856605529785 + ], + [ + "▁Batterie", + -12.859865188598633 + ], + [ + "▁gesunde", + -12.85997486114502 + ], + [ + "146", + -12.860099792480469 + ], + [ + "▁mortal", + -12.860129356384277 + ], + [ + "▁Flughafen", + -12.860230445861816 + ], + [ + "hhh", + -12.860284805297852 + ], + [ + "▁novice", + -12.860342025756836 + ], + [ + "▁Develop", + -12.86043930053711 + ], + [ + "▁accidental", + -12.860516548156738 + ], + [ + "Muzeul", + -12.86054515838623 + ], + [ + "▁Jupiter", + -12.86062240600586 + ], + [ + "supposedly", + -12.860662460327148 + ], + [ + "energy", + -12.860758781433105 + ], + [ + "▁montrer", + -12.860764503479004 + ], + [ + "recalled", + -12.860795021057129 + ], + [ + "Press", + -12.860801696777344 + ], + [ + "▁postcard", + -12.86080265045166 + ], + [ + "target", + -12.86081600189209 + ], + [ + "▁vêtements", + -12.860881805419922 + ], + [ + "▁particle", + -12.860888481140137 + ], + [ + "professional", + -12.8608980178833 + ], + [ + "▁1949", + -12.860917091369629 + ], + [ + "yah", + -12.860980033874512 + ], + [ + "▁Spiegel", + -12.861017227172852 + ], + [ + "▁Jeffrey", + -12.861023902893066 + ], + [ + "fahrzeug", + -12.861027717590332 + ], + [ + "▁Plug", + -12.861051559448242 + ], + [ + "▁violin", + -12.861150741577148 + ], + [ + "▁condemn", + -12.861381530761719 + ], + [ + "▁conducere", + -12.861398696899414 + ], + [ + "▁Chevrolet", + -12.861412048339844 + ], + [ + "▁conceput", + -12.861461639404297 + ], + [ + "▁Merri", + -12.861493110656738 + ], + [ + "judging", + -12.861559867858887 + ], + [ + "embraced", + -12.86168098449707 + ], + [ + "▁Compact", + -12.861715316772461 + ], + [ + "▁château", + -12.861807823181152 + ], + [ + "etch", + -12.861945152282715 + ], + [ + "bedroom", + -12.861995697021484 + ], + [ + "People", + -12.862038612365723 + ], + [ + "25,000", + -12.86209774017334 + ], + [ + "ocyte", + -12.862146377563477 + ], + [ + "▁Lenovo", + -12.862205505371094 + ], + [ + "▁Hampton", + -12.862241744995117 + ], + [ + "5.2", + -12.862244606018066 + ], + [ + "▁progres", + -12.862266540527344 + ], + [ + "hoc", + -12.862288475036621 + ], + [ + "▁complementary", + -12.86241340637207 + ], + [ + "turned", + -12.862485885620117 + ], + [ + "mangel", + -12.862508773803711 + ], + [ + "▁Drew", + -12.862592697143555 + ], + [ + "épisode", + -12.86259651184082 + ], + [ + "▁Versorgung", + -12.86259651184082 + ], + [ + "▁ausdrücklich", + -12.86259651184082 + ], + [ + "ciune", + -12.862788200378418 + ], + [ + "▁sfârșit", + -12.862990379333496 + ], + [ + "Agricultural", + -12.862991333007812 + ], + [ + "▁caffeine", + -12.862991333007812 + ], + [ + "▁emergencies", + -12.862991333007812 + ], + [ + "▁unhappy", + -12.862991333007812 + ], + [ + "(7)", + -12.863043785095215 + ], + [ + "▁inlocui", + -12.863059043884277 + ], + [ + "▁Rochester", + -12.863153457641602 + ], + [ + "183", + -12.863155364990234 + ], + [ + "niz", + -12.863285064697266 + ], + [ + "tasche", + -12.863462448120117 + ], + [ + "▁Salle", + -12.86347484588623 + ], + [ + "cît", + -12.863478660583496 + ], + [ + "▁Singer", + -12.863489151000977 + ], + [ + "▁economically", + -12.863506317138672 + ], + [ + "▁ieși", + -12.863525390625 + ], + [ + "▁façade", + -12.86378288269043 + ], + [ + "Ohne", + -12.863801956176758 + ], + [ + "▁edible", + -12.863842964172363 + ], + [ + "Rob", + -12.863851547241211 + ], + [ + "▁(2014)", + -12.863859176635742 + ], + [ + "▁Zar", + -12.863919258117676 + ], + [ + "▁obey", + -12.863995552062988 + ], + [ + "Pack", + -12.864087104797363 + ], + [ + "▁Omni", + -12.864198684692383 + ], + [ + "▁Gilbert", + -12.864212036132812 + ], + [ + "▁Vlad", + -12.86429500579834 + ], + [ + "▁pauvre", + -12.864333152770996 + ], + [ + "▁secular", + -12.864383697509766 + ], + [ + "Center", + -12.864415168762207 + ], + [ + "▁Prospect", + -12.864457130432129 + ], + [ + "▁Noah", + -12.86450481414795 + ], + [ + "▁Interactive", + -12.86471176147461 + ], + [ + "▁centaine", + -12.86485767364502 + ], + [ + "▁cerebral", + -12.864971160888672 + ], + [ + "▁Novel", + -12.865013122558594 + ], + [ + "▁Käufer", + -12.865039825439453 + ], + [ + "werfen", + -12.865056991577148 + ], + [ + "▁reluctant", + -12.865143775939941 + ], + [ + "ес", + -12.86520004272461 + ], + [ + "Look", + -12.86521053314209 + ], + [ + "Erkrankung", + -12.86536693572998 + ], + [ + "▁cucumber", + -12.86536693572998 + ], + [ + "/2017", + -12.865399360656738 + ], + [ + "▁flank", + -12.865405082702637 + ], + [ + "opportunité", + -12.865667343139648 + ], + [ + "zugleich", + -12.865766525268555 + ], + [ + "RAT", + -12.865840911865234 + ], + [ + "▁avantages", + -12.865880012512207 + ], + [ + "▁außer", + -12.866008758544922 + ], + [ + "GV", + -12.866090774536133 + ], + [ + "▁Continental", + -12.866159439086914 + ], + [ + "▁affiliation", + -12.866159439086914 + ], + [ + "▁ursprünglich", + -12.86618423461914 + ], + [ + "▁hardship", + -12.866349220275879 + ], + [ + "âme", + -12.86647891998291 + ], + [ + "▁hallway", + -12.866576194763184 + ], + [ + "▁afară", + -12.866578102111816 + ], + [ + "western", + -12.866714477539062 + ], + [ + "▁Jacket", + -12.866802215576172 + ], + [ + "▁culturelle", + -12.866876602172852 + ], + [ + "▁glaci", + -12.866995811462402 + ], + [ + "metoda", + -12.867036819458008 + ], + [ + "▁clerk", + -12.867045402526855 + ], + [ + "▁ordinance", + -12.867185592651367 + ], + [ + "▁Initial", + -12.867197036743164 + ], + [ + "waking", + -12.86722469329834 + ], + [ + "▁Secondary", + -12.867366790771484 + ], + [ + "▁Solomon", + -12.867411613464355 + ], + [ + "glomer", + -12.867488861083984 + ], + [ + "SYS", + -12.867530822753906 + ], + [ + "▁Florin", + -12.867596626281738 + ], + [ + "ffentlich", + -12.867670059204102 + ], + [ + "▁Printer", + -12.867674827575684 + ], + [ + "▁dimineata", + -12.86774730682373 + ], + [ + "▁stripes", + -12.867748260498047 + ], + [ + "plugged", + -12.86776065826416 + ], + [ + "öhl", + -12.867836952209473 + ], + [ + "infused", + -12.867875099182129 + ], + [ + "▁Rubber", + -12.867895126342773 + ], + [ + "paved", + -12.867898941040039 + ], + [ + "▁Devi", + -12.867995262145996 + ], + [ + "▁subway", + -12.8681640625 + ], + [ + "▁gases", + -12.868306159973145 + ], + [ + "▁reguli", + -12.868371963500977 + ], + [ + "▁Rebel", + -12.868413925170898 + ], + [ + "▁destructive", + -12.868546485900879 + ], + [ + "▁oferind", + -12.868664741516113 + ], + [ + "9001", + -12.868876457214355 + ], + [ + "CRA", + -12.868912696838379 + ], + [ + "why", + -12.868932723999023 + ], + [ + "sensul", + -12.869036674499512 + ], + [ + "guter", + -12.869277000427246 + ], + [ + "Empfehlung", + -12.869338035583496 + ], + [ + "▁convertible", + -12.86953353881836 + ], + [ + "▁predominantly", + -12.869637489318848 + ], + [ + "▁Mentor", + -12.869649887084961 + ], + [ + "Practic", + -12.869720458984375 + ], + [ + "▁echipă", + -12.869754791259766 + ], + [ + "onsite", + -12.869853019714355 + ], + [ + "▁zunehmend", + -12.86994743347168 + ], + [ + "▁Harbour", + -12.870016098022461 + ], + [ + "▁pineapple", + -12.870133399963379 + ], + [ + "▁gasoline", + -12.870139122009277 + ], + [ + "▁Jaguar", + -12.870158195495605 + ], + [ + "kno", + -12.870259284973145 + ], + [ + "▁heap", + -12.870448112487793 + ], + [ + "▁fictional", + -12.870481491088867 + ], + [ + "fiinta", + -12.870753288269043 + ], + [ + "▁Amber", + -12.87081241607666 + ], + [ + "▁Exclusive", + -12.870929718017578 + ], + [ + "▁Pharmaceutical", + -12.870929718017578 + ], + [ + "▁unterscheide", + -12.871044158935547 + ], + [ + "▁1942", + -12.871116638183594 + ], + [ + "▁Ceiling", + -12.87115478515625 + ], + [ + "developed", + -12.871228218078613 + ], + [ + "▁consacr", + -12.87132453918457 + ], + [ + "▁Membr", + -12.871411323547363 + ], + [ + "erton", + -12.871447563171387 + ], + [ + "habitation", + -12.871685981750488 + ], + [ + "▁longevity", + -12.871726989746094 + ], + [ + "▁Starbucks", + -12.871728897094727 + ], + [ + "▁poat", + -12.871771812438965 + ], + [ + "▁commissioner", + -12.871794700622559 + ], + [ + "pedia", + -12.871938705444336 + ], + [ + "popped", + -12.872468948364258 + ], + [ + "versorgung", + -12.872525215148926 + ], + [ + "▁Aktivitäten", + -12.872525215148926 + ], + [ + "▁Betreuung", + -12.872525215148926 + ], + [ + "▁afacere", + -12.872968673706055 + ], + [ + "▁Mechanical", + -12.873323440551758 + ], + [ + "▁Leiter", + -12.873346328735352 + ], + [ + "▁scaling", + -12.873427391052246 + ], + [ + "▁Slim", + -12.87350082397461 + ], + [ + "▁temperaturi", + -12.873516082763672 + ], + [ + "ACH", + -12.873558044433594 + ], + [ + "▁jährlich", + -12.873682022094727 + ], + [ + "▁photographie", + -12.873722076416016 + ], + [ + "▁préalable", + -12.873725891113281 + ], + [ + "▁părinți", + -12.87372875213623 + ], + [ + "▁Farmers", + -12.873873710632324 + ], + [ + "▁Printable", + -12.873905181884766 + ], + [ + "Früh", + -12.873908996582031 + ], + [ + "approved", + -12.87398624420166 + ], + [ + "otro", + -12.874094009399414 + ], + [ + "▁veneer", + -12.874099731445312 + ], + [ + "▁Warriors", + -12.874122619628906 + ], + [ + "▁Approach", + -12.874149322509766 + ], + [ + "Share", + -12.874238967895508 + ], + [ + "▁buds", + -12.874252319335938 + ], + [ + "▁Într", + -12.874330520629883 + ], + [ + "glichen", + -12.87452507019043 + ], + [ + "▁anbieten", + -12.87452507019043 + ], + [ + "MET", + -12.874539375305176 + ], + [ + "amélioration", + -12.87468147277832 + ], + [ + "ländische", + -12.87468433380127 + ], + [ + "nsgesamt", + -12.874764442443848 + ], + [ + "einiger", + -12.874822616577148 + ], + [ + "▁Förderung", + -12.874876022338867 + ], + [ + "destroying", + -12.874910354614258 + ], + [ + "▁accreditation", + -12.874922752380371 + ], + [ + "reminiscent", + -12.875094413757324 + ], + [ + "▁retriev", + -12.87528133392334 + ], + [ + "▁Flü", + -12.875306129455566 + ], + [ + "▁Monsieur", + -12.875322341918945 + ], + [ + "German", + -12.87536334991455 + ], + [ + "Orice", + -12.875443458557129 + ], + [ + "künftig", + -12.875523567199707 + ], + [ + "▁vorbi", + -12.875639915466309 + ], + [ + "▁intentionally", + -12.875733375549316 + ], + [ + "▁îngrij", + -12.875743865966797 + ], + [ + "▁laughed", + -12.875850677490234 + ], + [ + "▁Fiction", + -12.875913619995117 + ], + [ + "▁inteligent", + -12.875914573669434 + ], + [ + "▁Translation", + -12.875953674316406 + ], + [ + "greete", + -12.875983238220215 + ], + [ + "▁énergétique", + -12.876123428344727 + ], + [ + "uncovered", + -12.876248359680176 + ], + [ + "▁évidemment", + -12.876523971557617 + ], + [ + "▁Vietnamese", + -12.876535415649414 + ], + [ + "▁Libya", + -12.876675605773926 + ], + [ + "▁Trailer", + -12.876734733581543 + ], + [ + "▁Wohl", + -12.876871109008789 + ], + [ + "▁Congo", + -12.87698745727539 + ], + [ + "▁freut", + -12.877002716064453 + ], + [ + "zauber", + -12.877090454101562 + ], + [ + "▁Pân", + -12.877142906188965 + ], + [ + "▁mentine", + -12.877333641052246 + ], + [ + "▁welding", + -12.877335548400879 + ], + [ + "▁Mircea", + -12.8773775100708 + ], + [ + "▁optimism", + -12.877455711364746 + ], + [ + "VEL", + -12.877504348754883 + ], + [ + "oilea", + -12.877540588378906 + ], + [ + "▁thereafter", + -12.877612113952637 + ], + [ + "▁André", + -12.877710342407227 + ], + [ + "forschung", + -12.877799987792969 + ], + [ + "running", + -12.878022193908691 + ], + [ + "▁hostile", + -12.878059387207031 + ], + [ + "Homme", + -12.87811279296875 + ], + [ + "▁Satellite", + -12.878129005432129 + ], + [ + "▁collagen", + -12.87841796875 + ], + [ + "▁concedi", + -12.878518104553223 + ], + [ + "▁produziert", + -12.87852954864502 + ], + [ + "▁virgin", + -12.878540992736816 + ], + [ + "frant", + -12.87857723236084 + ], + [ + "▁teammates", + -12.878744125366211 + ], + [ + "▁faceti", + -12.878802299499512 + ], + [ + "▁Restoration", + -12.87893295288086 + ], + [ + "▁detached", + -12.878935813903809 + ], + [ + "▁Instructor", + -12.878950119018555 + ], + [ + "montag", + -12.879227638244629 + ], + [ + "▁borrowing", + -12.879375457763672 + ], + [ + "▁Retro", + -12.879446983337402 + ], + [ + "▁behandelt", + -12.879536628723145 + ], + [ + "▁Aussage", + -12.879715919494629 + ], + [ + "▁snorkel", + -12.879734992980957 + ], + [ + "▁Proceedings", + -12.879754066467285 + ], + [ + "▁Judy", + -12.879776000976562 + ], + [ + "▁Wendy", + -12.879783630371094 + ], + [ + "artă", + -12.879920959472656 + ], + [ + "▁Vergangenheit", + -12.88013744354248 + ], + [ + "▁Gegner", + -12.880139350891113 + ], + [ + "▁ulcer", + -12.880166053771973 + ], + [ + "wirksam", + -12.880553245544434 + ], + [ + "▁închis", + -12.880560874938965 + ], + [ + "▁emission", + -12.88068962097168 + ], + [ + "ulescu", + -12.880754470825195 + ], + [ + "▁bancar", + -12.880819320678711 + ], + [ + "compromising", + -12.880924224853516 + ], + [ + "▁Priest", + -12.881156921386719 + ], + [ + "▁Progress", + -12.881318092346191 + ], + [ + "▁punish", + -12.88144588470459 + ], + [ + "▁Afin", + -12.881450653076172 + ], + [ + "▁Bog", + -12.881514549255371 + ], + [ + "lunii", + -12.881525039672852 + ], + [ + "▁ressembl", + -12.881570816040039 + ], + [ + "▁Creation", + -12.881644248962402 + ], + [ + "effet", + -12.881668090820312 + ], + [ + "Versicherung", + -12.881671905517578 + ], + [ + "médias", + -12.881672859191895 + ], + [ + "▁Kritik", + -12.881793975830078 + ], + [ + "idia", + -12.881896018981934 + ], + [ + "▁Wasch", + -12.881929397583008 + ], + [ + "UAL", + -12.882059097290039 + ], + [ + "Approximately", + -12.882149696350098 + ], + [ + "izari", + -12.882152557373047 + ], + [ + "▁Dortmund", + -12.882152557373047 + ], + [ + "▁contul", + -12.882343292236328 + ], + [ + "▁Airways", + -12.882408142089844 + ], + [ + "sicherung", + -12.882535934448242 + ], + [ + "échelle", + -12.882560729980469 + ], + [ + "ADD", + -12.882582664489746 + ], + [ + "DIA", + -12.88259506225586 + ], + [ + "kabel", + -12.882621765136719 + ], + [ + "Media", + -12.88268756866455 + ], + [ + "ampli", + -12.882894515991211 + ], + [ + "▁quarry", + -12.88295841217041 + ], + [ + "▁acoper", + -12.883072853088379 + ], + [ + "halter", + -12.883326530456543 + ], + [ + "▁solicitor", + -12.883684158325195 + ], + [ + "phosphat", + -12.883763313293457 + ], + [ + "▁drown", + -12.883773803710938 + ], + [ + "congratulat", + -12.884047508239746 + ], + [ + "▁uneven", + -12.884087562561035 + ], + [ + "▁rupe", + -12.884154319763184 + ], + [ + "▁heureux", + -12.88417911529541 + ], + [ + "caractéristiques", + -12.884221076965332 + ], + [ + "60,000", + -12.884283065795898 + ], + [ + "ambigu", + -12.884340286254883 + ], + [ + "224", + -12.884417533874512 + ], + [ + "dov", + -12.88454532623291 + ], + [ + "▁Naturally", + -12.884629249572754 + ], + [ + "▁Ernst", + -12.884634017944336 + ], + [ + "Camp", + -12.884757995605469 + ], + [ + "▁Worldwide", + -12.884909629821777 + ], + [ + "▁antrenament", + -12.885042190551758 + ], + [ + "▁jocul", + -12.88521671295166 + ], + [ + "▁broccoli", + -12.88537883758545 + ], + [ + "▁fascinated", + -12.88537883758545 + ], + [ + "▁Abbey", + -12.885387420654297 + ], + [ + "▁aquarium", + -12.885390281677246 + ], + [ + "HAN", + -12.885458946228027 + ], + [ + "chaffung", + -12.885480880737305 + ], + [ + "137", + -12.885503768920898 + ], + [ + "rumors", + -12.885515213012695 + ], + [ + "reliance", + -12.885557174682617 + ], + [ + "▁vaccination", + -12.8856782913208 + ], + [ + "responsabilitate", + -12.885777473449707 + ], + [ + "▁legislati", + -12.885782241821289 + ], + [ + "ATT", + -12.885826110839844 + ], + [ + "206", + -12.885896682739258 + ], + [ + "▁miere", + -12.885967254638672 + ], + [ + "▁rezultatul", + -12.885988235473633 + ], + [ + "părea", + -12.88599681854248 + ], + [ + "zuführen", + -12.886159896850586 + ], + [ + "▁Kompetenz", + -12.886187553405762 + ], + [ + "▁nickname", + -12.886195182800293 + ], + [ + "pilot", + -12.88620376586914 + ], + [ + "▁ninth", + -12.886252403259277 + ], + [ + "▁Tyr", + -12.886446952819824 + ], + [ + "▁misuse", + -12.886469841003418 + ], + [ + "▁SUP", + -12.886514663696289 + ], + [ + "▁Attack", + -12.88667106628418 + ], + [ + "Smart", + -12.88669490814209 + ], + [ + "▁Philosoph", + -12.886930465698242 + ], + [ + "▁Alege", + -12.886931419372559 + ], + [ + "▁femeile", + -12.886967658996582 + ], + [ + "▁Heating", + -12.88698673248291 + ], + [ + "▁Cricket", + -12.886999130249023 + ], + [ + "▁scholar", + -12.887049674987793 + ], + [ + "Model", + -12.887073516845703 + ], + [ + "▁stimulating", + -12.887182235717773 + ], + [ + "▁industrielle", + -12.887189865112305 + ], + [ + "▁phenomena", + -12.887303352355957 + ], + [ + "▁Nahrung", + -12.887414932250977 + ], + [ + "▁Conditioner", + -12.887433052062988 + ], + [ + "führ", + -12.887489318847656 + ], + [ + "▁révolution", + -12.88757610321045 + ], + [ + "plastic", + -12.887595176696777 + ], + [ + "▁approximate", + -12.887596130371094 + ], + [ + "▁dienen", + -12.887624740600586 + ], + [ + "▁obsession", + -12.887807846069336 + ], + [ + "▁rectangular", + -12.887807846069336 + ], + [ + "Allemagne", + -12.887808799743652 + ], + [ + "▁Tanzania", + -12.887824058532715 + ], + [ + "border", + -12.887884140014648 + ], + [ + "▁crashed", + -12.887958526611328 + ], + [ + "visor", + -12.887974739074707 + ], + [ + "▁autorizat", + -12.888072967529297 + ], + [ + "▁Champagne", + -12.888222694396973 + ], + [ + "längst", + -12.888238906860352 + ], + [ + "▁realities", + -12.888314247131348 + ], + [ + "▁Keyword", + -12.88831615447998 + ], + [ + "▁GUI", + -12.888495445251465 + ], + [ + "▁simplified", + -12.88865852355957 + ], + [ + "▁Rack", + -12.888681411743164 + ], + [ + "▁Zahlen", + -12.888693809509277 + ], + [ + "growth", + -12.888897895812988 + ], + [ + "▁rehearsal", + -12.888991355895996 + ], + [ + "▁Epic", + -12.888999938964844 + ], + [ + "▁réussite", + -12.889195442199707 + ], + [ + "▁politician", + -12.889263153076172 + ], + [ + "▁emoți", + -12.889378547668457 + ], + [ + "▁delegation", + -12.889449119567871 + ], + [ + "▁со", + -12.889464378356934 + ], + [ + "oversized", + -12.889477729797363 + ], + [ + "▁Motto", + -12.889481544494629 + ], + [ + "1860", + -12.889788627624512 + ], + [ + "▁defective", + -12.889803886413574 + ], + [ + "brewing", + -12.889852523803711 + ], + [ + "linguistic", + -12.890243530273438 + ], + [ + "▁Hopkins", + -12.890265464782715 + ], + [ + "▁(2012)", + -12.89030933380127 + ], + [ + "crease", + -12.890436172485352 + ], + [ + "▁Versicherungs", + -12.89052677154541 + ], + [ + "▁Noble", + -12.890752792358398 + ], + [ + "▁Bekannt", + -12.890896797180176 + ], + [ + "▁vorstellen", + -12.89095401763916 + ], + [ + "▁suburban", + -12.890970230102539 + ], + [ + "DAC", + -12.890995025634766 + ], + [ + "▁scatter", + -12.89103889465332 + ], + [ + "▁Artificial", + -12.8910551071167 + ], + [ + "▁reactor", + -12.891073226928711 + ], + [ + "▁modelling", + -12.89108943939209 + ], + [ + "▁Holder", + -12.891148567199707 + ], + [ + "athon", + -12.891149520874023 + ], + [ + "147", + -12.891190528869629 + ], + [ + "▁stagn", + -12.891257286071777 + ], + [ + "ARY", + -12.891261100769043 + ], + [ + "Space", + -12.89126968383789 + ], + [ + "▁Gibson", + -12.891718864440918 + ], + [ + "▁Investigator", + -12.89173698425293 + ], + [ + "▁1914", + -12.891818046569824 + ], + [ + "▁Muhammad", + -12.891868591308594 + ], + [ + "▁shove", + -12.892073631286621 + ], + [ + "▁erklären", + -12.892276763916016 + ], + [ + "▁abdomen", + -12.892277717590332 + ], + [ + "▁Mazda", + -12.892349243164062 + ], + [ + "▁hemo", + -12.892364501953125 + ], + [ + "National", + -12.892455101013184 + ], + [ + "starken", + -12.89267635345459 + ], + [ + "▁Cyprus", + -12.892683982849121 + ], + [ + "▁tread", + -12.892721176147461 + ], + [ + "▁sweetness", + -12.892725944519043 + ], + [ + "stunden", + -12.892790794372559 + ], + [ + "▁couverture", + -12.893059730529785 + ], + [ + "▁Successful", + -12.893060684204102 + ], + [ + "▁oublier", + -12.893171310424805 + ], + [ + "▁esential", + -12.893203735351562 + ], + [ + "estival", + -12.89321231842041 + ], + [ + "gnac", + -12.893280029296875 + ], + [ + "▁Basement", + -12.893457412719727 + ], + [ + "presumably", + -12.893497467041016 + ], + [ + "▁mourn", + -12.893561363220215 + ], + [ + "armée", + -12.893677711486816 + ], + [ + "148", + -12.893845558166504 + ], + [ + "▁residue", + -12.894006729125977 + ], + [ + "▁metalic", + -12.89404296875 + ], + [ + "▁Zell", + -12.89425277709961 + ], + [ + "Build", + -12.894280433654785 + ], + [ + "▁prevalence", + -12.894312858581543 + ], + [ + "▁wrestling", + -12.894312858581543 + ], + [ + "▁ascuns", + -12.894325256347656 + ], + [ + "Sacred", + -12.894340515136719 + ], + [ + "Tec", + -12.89438533782959 + ], + [ + "▁Kindergarten", + -12.894389152526855 + ], + [ + "bindung", + -12.894464492797852 + ], + [ + "▁ritm", + -12.894545555114746 + ], + [ + "▁triste", + -12.894651412963867 + ], + [ + "▁introdus", + -12.894758224487305 + ], + [ + "/2016", + -12.894824028015137 + ], + [ + "▁română", + -12.894899368286133 + ], + [ + "▁bibli", + -12.89490032196045 + ], + [ + "▁cigar", + -12.894913673400879 + ], + [ + "Rie", + -12.894990921020508 + ], + [ + "▁intentional", + -12.894999504089355 + ], + [ + "▁cuprins", + -12.895098686218262 + ], + [ + "remarkably", + -12.895129203796387 + ], + [ + "▁printemps", + -12.895133972167969 + ], + [ + "▁declining", + -12.895171165466309 + ], + [ + "Magazin", + -12.89552116394043 + ], + [ + "▁săptămână", + -12.895537376403809 + ], + [ + "▁vérifier", + -12.895549774169922 + ], + [ + "▁Speise", + -12.895584106445312 + ], + [ + "▁reteta", + -12.8956298828125 + ], + [ + "heed", + -12.895772933959961 + ], + [ + "▁Compliance", + -12.895946502685547 + ], + [ + "▁embroidery", + -12.895946502685547 + ], + [ + "cried", + -12.896025657653809 + ], + [ + "▁(„", + -12.896282196044922 + ], + [ + "▁heck", + -12.89629077911377 + ], + [ + "▁sadness", + -12.896501541137695 + ], + [ + "▁impulse", + -12.896585464477539 + ], + [ + "ATH", + -12.896740913391113 + ], + [ + "▁lavender", + -12.896773338317871 + ], + [ + "uiesc", + -12.896790504455566 + ], + [ + "▁Disorder", + -12.896876335144043 + ], + [ + "stroke", + -12.896991729736328 + ], + [ + "▁piaţ", + -12.8970365524292 + ], + [ + "ournée", + -12.897049903869629 + ], + [ + "▁Barnes", + -12.8971586227417 + ], + [ + "▁scăzut", + -12.897172927856445 + ], + [ + "▁équipements", + -12.89725112915039 + ], + [ + "OND", + -12.897375106811523 + ], + [ + "▁Compet", + -12.897424697875977 + ], + [ + "▁Bestell", + -12.89748477935791 + ], + [ + "▁immédiatement", + -12.897587776184082 + ], + [ + "aparut", + -12.89759635925293 + ], + [ + "▁rainfall", + -12.897882461547852 + ], + [ + "oreille", + -12.89797306060791 + ], + [ + "▁ministère", + -12.898014068603516 + ], + [ + "iris", + -12.898140907287598 + ], + [ + "dyna", + -12.898279190063477 + ], + [ + "drücken", + -12.898343086242676 + ], + [ + "▁détect", + -12.89834976196289 + ], + [ + "▁fonctionnalité", + -12.89840030670166 + ], + [ + "▁imbalance", + -12.89840030670166 + ], + [ + "▁unpredictable", + -12.89840030670166 + ], + [ + "▁literar", + -12.89846134185791 + ], + [ + "▁Windsor", + -12.898472785949707 + ], + [ + "▁Unlimited", + -12.898481369018555 + ], + [ + "colour", + -12.898674964904785 + ], + [ + "▁Portfolio", + -12.898810386657715 + ], + [ + "149", + -12.898883819580078 + ], + [ + "volution", + -12.898890495300293 + ], + [ + "▁folgende", + -12.899078369140625 + ], + [ + "▁arbitration", + -12.899105072021484 + ], + [ + "kicking", + -12.89913558959961 + ], + [ + "zügig", + -12.89923095703125 + ], + [ + "▁1941", + -12.899311065673828 + ], + [ + "▁Drake", + -12.89955997467041 + ], + [ + "▁ausführlich", + -12.899630546569824 + ], + [ + "▁chaussure", + -12.899630546569824 + ], + [ + "▁intestinal", + -12.89976692199707 + ], + [ + "▁pilgrim", + -12.900040626525879 + ], + [ + "▁Bark", + -12.900142669677734 + ], + [ + "between", + -12.900157928466797 + ], + [ + "disposed", + -12.900175094604492 + ], + [ + "▁Dylan", + -12.900218963623047 + ], + [ + "ств", + -12.900253295898438 + ], + [ + "NOR", + -12.900287628173828 + ], + [ + "traces", + -12.90038776397705 + ], + [ + "▁moindre", + -12.900500297546387 + ], + [ + "▁$10,000", + -12.900552749633789 + ], + [ + "212", + -12.900599479675293 + ], + [ + "wusste", + -12.900659561157227 + ], + [ + "▁predictable", + -12.900671005249023 + ], + [ + "poţi", + -12.900679588317871 + ], + [ + "▁Celsius", + -12.900860786437988 + ], + [ + "gebunden", + -12.90086841583252 + ], + [ + "▁Legacy", + -12.900891304016113 + ], + [ + "movers", + -12.90090274810791 + ], + [ + "▁concret", + -12.90098762512207 + ], + [ + "▁simpla", + -12.901050567626953 + ], + [ + "rechnet", + -12.901103973388672 + ], + [ + "▁certainty", + -12.901144981384277 + ], + [ + "entrepreneurship", + -12.901153564453125 + ], + [ + "kohl", + -12.901289939880371 + ], + [ + "▁curte", + -12.901311874389648 + ], + [ + "▁Forbes", + -12.901411056518555 + ], + [ + "▁Zusatz", + -12.901535987854004 + ], + [ + "blending", + -12.90163803100586 + ], + [ + "▁variat", + -12.901642799377441 + ], + [ + "▁galaxy", + -12.90168285369873 + ], + [ + "▁safari", + -12.90168571472168 + ], + [ + "▁municipalities", + -12.9017972946167 + ], + [ + "▁Drept", + -12.90180778503418 + ], + [ + "aufnahme", + -12.902128219604492 + ], + [ + "▁endorse", + -12.902223587036133 + ], + [ + "einrichtung", + -12.902244567871094 + ], + [ + "Sync", + -12.902270317077637 + ], + [ + "abide", + -12.902323722839355 + ], + [ + "brushed", + -12.902350425720215 + ], + [ + "▁actiune", + -12.902410507202148 + ], + [ + "quaint", + -12.902498245239258 + ], + [ + "▁volatility", + -12.902504920959473 + ], + [ + "▁repetitive", + -12.902505874633789 + ], + [ + "▁découvr", + -12.902560234069824 + ], + [ + "Totodat", + -12.902585983276367 + ], + [ + "▁românesc", + -12.902682304382324 + ], + [ + "▁tempting", + -12.902772903442383 + ], + [ + "thesis", + -12.902947425842285 + ], + [ + "secure", + -12.903013229370117 + ], + [ + "delt", + -12.903019905090332 + ], + [ + "▁şef", + -12.903167724609375 + ], + [ + "▁epidemic", + -12.903326988220215 + ], + [ + "▁Appliance", + -12.903327941894531 + ], + [ + "cearcă", + -12.903331756591797 + ], + [ + "▁lodging", + -12.903361320495605 + ], + [ + "▁photographed", + -12.903507232666016 + ], + [ + "geschlagen", + -12.903794288635254 + ], + [ + "▁Methodist", + -12.90380859375 + ], + [ + "▁Transit", + -12.90389347076416 + ], + [ + "▁Länder", + -12.903934478759766 + ], + [ + "villa", + -12.903986930847168 + ], + [ + "▁toilette", + -12.904031753540039 + ], + [ + "anno", + -12.904074668884277 + ], + [ + "▁Aufnahme", + -12.904091835021973 + ], + [ + "▁Coral", + -12.904099464416504 + ], + [ + "pourraient", + -12.904129981994629 + ], + [ + "▁digestion", + -12.904245376586914 + ], + [ + "▁Vacation", + -12.904274940490723 + ], + [ + "▁Rugby", + -12.904275894165039 + ], + [ + "MIC", + -12.904311180114746 + ], + [ + "▁choc", + -12.904417991638184 + ], + [ + "2002", + -12.904492378234863 + ], + [ + "gestion", + -12.904674530029297 + ], + [ + "▁Zoom", + -12.904745101928711 + ], + [ + "essor", + -12.904763221740723 + ], + [ + "weighed", + -12.904793739318848 + ], + [ + "▁dispus", + -12.904987335205078 + ], + [ + "▁redemption", + -12.90502643585205 + ], + [ + "▁plaster", + -12.905071258544922 + ], + [ + "▁Quilt", + -12.90507698059082 + ], + [ + "▁teritoriul", + -12.905088424682617 + ], + [ + "ndern", + -12.905097961425781 + ], + [ + "▁expired", + -12.905105590820312 + ], + [ + "▁Tribunal", + -12.905122756958008 + ], + [ + "occupation", + -12.9052152633667 + ], + [ + "▁woodland", + -12.905248641967773 + ], + [ + "vieux", + -12.905254364013672 + ], + [ + "▁Midland", + -12.905465126037598 + ], + [ + "gât", + -12.90571117401123 + ], + [ + "électricité", + -12.905800819396973 + ], + [ + "▁vanzare", + -12.905811309814453 + ], + [ + "biologi", + -12.905961036682129 + ], + [ + "▁vive", + -12.906060218811035 + ], + [ + "▁Alarm", + -12.906097412109375 + ], + [ + "▁experiență", + -12.9061279296875 + ], + [ + "▁Loch", + -12.906133651733398 + ], + [ + "▁Pedro", + -12.906194686889648 + ], + [ + "▁detergent", + -12.906217575073242 + ], + [ + "language", + -12.906554222106934 + ], + [ + "▁sedan", + -12.906655311584473 + ], + [ + "▁Brady", + -12.906736373901367 + ], + [ + "▁compus", + -12.906976699829102 + ], + [ + "▁landfill", + -12.906982421875 + ], + [ + "giu", + -12.907039642333984 + ], + [ + "beziehung", + -12.9070405960083 + ], + [ + "▁picior", + -12.907184600830078 + ], + [ + "ALI", + -12.907235145568848 + ], + [ + "▁Commander", + -12.907256126403809 + ], + [ + "EPS", + -12.907303810119629 + ], + [ + "▁Textil", + -12.907320022583008 + ], + [ + "▁industria", + -12.907339096069336 + ], + [ + "lox", + -12.907365798950195 + ], + [ + "▁eclectic", + -12.907453536987305 + ], + [ + "▁gracious", + -12.907477378845215 + ], + [ + "Uniunea", + -12.907525062561035 + ], + [ + "bps", + -12.90754222869873 + ], + [ + "▁entertained", + -12.907634735107422 + ], + [ + "depinde", + -12.907767295837402 + ], + [ + "▁daylight", + -12.907893180847168 + ], + [ + "▁résistance", + -12.907995223999023 + ], + [ + "ARN", + -12.908194541931152 + ], + [ + "▁unavailable", + -12.908201217651367 + ], + [ + "Curtea", + -12.908390045166016 + ], + [ + "▁pores", + -12.908502578735352 + ], + [ + "▁Tonight", + -12.908649444580078 + ], + [ + "▁datori", + -12.90869426727295 + ], + [ + "▁gezielt", + -12.908703804016113 + ], + [ + "▁rupture", + -12.90875244140625 + ], + [ + "▁disput", + -12.908848762512207 + ], + [ + "▁sonstige", + -12.908895492553711 + ], + [ + "▁Ordnung", + -12.90910816192627 + ], + [ + "▁beschrieben", + -12.909114837646484 + ], + [ + "▁Rainbow", + -12.90911865234375 + ], + [ + "▁Werkzeug", + -12.909136772155762 + ], + [ + "GIN", + -12.909354209899902 + ], + [ + "facilitating", + -12.909490585327148 + ], + [ + "hunt", + -12.90955638885498 + ], + [ + "▁Serving", + -12.909673690795898 + ], + [ + "Writ", + -12.909692764282227 + ], + [ + "requisite", + -12.909798622131348 + ], + [ + "▁Kerry", + -12.90989875793457 + ], + [ + "▁riesig", + -12.909957885742188 + ], + [ + "▁Healing", + -12.91030502319336 + ], + [ + "▁1954", + -12.910365104675293 + ], + [ + "▁mousse", + -12.910428047180176 + ], + [ + "▁Positive", + -12.910764694213867 + ], + [ + "embodie", + -12.910772323608398 + ], + [ + "▁penetrate", + -12.910774230957031 + ], + [ + "endorsed", + -12.910882949829102 + ], + [ + "▁situatia", + -12.910927772521973 + ], + [ + "▁Unity", + -12.911083221435547 + ], + [ + "142", + -12.911102294921875 + ], + [ + "▁farmhouse", + -12.911138534545898 + ], + [ + "▁Handbook", + -12.911368370056152 + ], + [ + "▁symbolic", + -12.911378860473633 + ], + [ + "pristine", + -12.911439895629883 + ], + [ + "moitié", + -12.911595344543457 + ], + [ + "▁Sessions", + -12.912017822265625 + ], + [ + "technisch", + -12.912116050720215 + ], + [ + "▁lesquel", + -12.912148475646973 + ], + [ + "▁electronically", + -12.912208557128906 + ], + [ + "▁modificat", + -12.912240982055664 + ], + [ + "▁adjoin", + -12.912242889404297 + ], + [ + "actualité", + -12.912256240844727 + ], + [ + "vati", + -12.91229248046875 + ], + [ + "VENT", + -12.912299156188965 + ], + [ + "▁salsa", + -12.912333488464355 + ], + [ + "acupunctur", + -12.912424087524414 + ], + [ + "▁Opportunity", + -12.912424087524414 + ], + [ + "▁Inspection", + -12.912425994873047 + ], + [ + "▁vereinbart", + -12.912425994873047 + ], + [ + "▁Residents", + -12.912426948547363 + ], + [ + "▁perennial", + -12.91242790222168 + ], + [ + "CHAN", + -12.912555694580078 + ], + [ + "Search", + -12.912572860717773 + ], + [ + "UTE", + -12.912696838378906 + ], + [ + "▁Lens", + -12.912703514099121 + ], + [ + "▁Banner", + -12.91281509399414 + ], + [ + "aménagement", + -12.912839889526367 + ], + [ + "▁Decision", + -12.91286849975586 + ], + [ + "▁ferr", + -12.912869453430176 + ], + [ + "▁Transformation", + -12.912878036499023 + ], + [ + "▁Stamm", + -12.912955284118652 + ], + [ + "▁Galerie", + -12.913003921508789 + ], + [ + "onny", + -12.913126945495605 + ], + [ + "▁caption", + -12.913195610046387 + ], + [ + "▁viitorul", + -12.91323471069336 + ], + [ + "▁professionelle", + -12.913281440734863 + ], + [ + "drepturile", + -12.913294792175293 + ], + [ + "ylon", + -12.913345336914062 + ], + [ + "Société", + -12.913387298583984 + ], + [ + "AIS", + -12.913456916809082 + ], + [ + "March", + -12.91350269317627 + ], + [ + "▁Rav", + -12.91357707977295 + ], + [ + "▁1946", + -12.913691520690918 + ], + [ + "accompagnement", + -12.913713455200195 + ], + [ + "Liviu", + -12.913716316223145 + ], + [ + "▁Appeal", + -12.913826942443848 + ], + [ + "▁sentir", + -12.913952827453613 + ], + [ + "▁Indigenous", + -12.914087295532227 + ], + [ + "▁wizard", + -12.914087295532227 + ], + [ + "▁collateral", + -12.914127349853516 + ], + [ + "▁Proof", + -12.914324760437012 + ], + [ + "▁prze", + -12.914398193359375 + ], + [ + "▁obținut", + -12.91450309753418 + ], + [ + "COP", + -12.914629936218262 + ], + [ + "▁obiect", + -12.914681434631348 + ], + [ + "▁isolate", + -12.914685249328613 + ], + [ + "▁nieder", + -12.914793014526367 + ], + [ + "TECH", + -12.914953231811523 + ], + [ + "▁Sharing", + -12.914998054504395 + ], + [ + "Ideally", + -12.915008544921875 + ], + [ + "▁naked", + -12.915059089660645 + ], + [ + "horaire", + -12.915130615234375 + ], + [ + "▁prelucrare", + -12.915180206298828 + ], + [ + "▁forcément", + -12.915349006652832 + ], + [ + "▁ESPN", + -12.915403366088867 + ], + [ + "▁southwest", + -12.9154634475708 + ], + [ + "▁Timber", + -12.915682792663574 + ], + [ + "kleidung", + -12.915748596191406 + ], + [ + "MJ", + -12.915854454040527 + ], + [ + "Ped", + -12.915889739990234 + ], + [ + "▁lymph", + -12.916181564331055 + ], + [ + "wärme", + -12.916399002075195 + ], + [ + "▁Olivia", + -12.916610717773438 + ], + [ + "Ziua", + -12.916705131530762 + ], + [ + "reihe", + -12.916747093200684 + ], + [ + "▁selfish", + -12.916752815246582 + ], + [ + "▁geography", + -12.916814804077148 + ], + [ + "▁etaj", + -12.916924476623535 + ], + [ + "▁acquis", + -12.91698932647705 + ], + [ + "▁rejoin", + -12.91701602935791 + ], + [ + "7.1", + -12.917097091674805 + ], + [ + "▁paix", + -12.91713809967041 + ], + [ + "tirer", + -12.917284965515137 + ], + [ + "▁clase", + -12.91745662689209 + ], + [ + "▁blink", + -12.917572021484375 + ], + [ + "▁Interface", + -12.917611122131348 + ], + [ + "nado", + -12.917655944824219 + ], + [ + "RIT", + -12.91777515411377 + ], + [ + "ESC", + -12.918120384216309 + ], + [ + "▁carving", + -12.918190002441406 + ], + [ + "▁articolul", + -12.918194770812988 + ], + [ + "▁wreath", + -12.918258666992188 + ], + [ + "▁propaganda", + -12.918266296386719 + ], + [ + "▁Pair", + -12.918267250061035 + ], + [ + "▁pamant", + -12.91831111907959 + ], + [ + "▁venituri", + -12.918357849121094 + ], + [ + "rtz", + -12.91835880279541 + ], + [ + "uddle", + -12.918529510498047 + ], + [ + "uille", + -12.918543815612793 + ], + [ + "▁embed", + -12.918654441833496 + ], + [ + "0.05", + -12.918655395507812 + ], + [ + "▁Brighton", + -12.918718338012695 + ], + [ + "estens", + -12.918742179870605 + ], + [ + "▁occupational", + -12.918862342834473 + ], + [ + "ем", + -12.918890953063965 + ], + [ + "wünsche", + -12.919081687927246 + ], + [ + "▁Poetry", + -12.91909408569336 + ], + [ + "▁visualize", + -12.919109344482422 + ], + [ + "Across", + -12.919121742248535 + ], + [ + "▁essentielle", + -12.919123649597168 + ], + [ + "beratung", + -12.919143676757812 + ], + [ + "▁Guidelines", + -12.91919231414795 + ], + [ + "▁Fehl", + -12.919198036193848 + ], + [ + "▁liberty", + -12.91921329498291 + ], + [ + "▁Investigation", + -12.91922378540039 + ], + [ + "▁sunrise", + -12.919266700744629 + ], + [ + "▁12:00", + -12.919541358947754 + ], + [ + "venind", + -12.919583320617676 + ], + [ + "▁lotion", + -12.919655799865723 + ], + [ + "conscious", + -12.91968822479248 + ], + [ + "logists", + -12.91973876953125 + ], + [ + "▁judecător", + -12.919893264770508 + ], + [ + "▁Ecuador", + -12.919928550720215 + ], + [ + "▁ambulance", + -12.91994857788086 + ], + [ + "▁Already", + -12.920026779174805 + ], + [ + "▁eröffnet", + -12.920090675354004 + ], + [ + "▁naval", + -12.92010498046875 + ], + [ + "▁imposibil", + -12.92011547088623 + ], + [ + "▁Merry", + -12.92011833190918 + ], + [ + "▁Duncan", + -12.920272827148438 + ], + [ + "▁léger", + -12.9203519821167 + ], + [ + "▁delta", + -12.920391082763672 + ], + [ + "▁Machinery", + -12.920578002929688 + ], + [ + "▁craftsmanship", + -12.920766830444336 + ], + [ + "▁angezeigt", + -12.9207763671875 + ], + [ + "▁formidable", + -12.9207763671875 + ], + [ + "▁Startup", + -12.920878410339355 + ], + [ + "venus", + -12.920969009399414 + ], + [ + "▁tannin", + -12.921019554138184 + ], + [ + "collaborating", + -12.921128273010254 + ], + [ + "▁abrupt", + -12.921152114868164 + ], + [ + "emergence", + -12.921171188354492 + ], + [ + "Dienstleistungen", + -12.921197891235352 + ], + [ + "▁liefert", + -12.921217918395996 + ], + [ + "engagement", + -12.921222686767578 + ], + [ + "▁maximise", + -12.921304702758789 + ], + [ + "modeled", + -12.9214448928833 + ], + [ + "▁crane", + -12.92148208618164 + ], + [ + "▁effortless", + -12.921540260314941 + ], + [ + "▁Buffet", + -12.92160701751709 + ], + [ + "8000", + -12.921648979187012 + ], + [ + "▁Überblick", + -12.921687126159668 + ], + [ + "micro", + -12.921981811523438 + ], + [ + "▁vergleichen", + -12.92204475402832 + ], + [ + "143", + -12.922080993652344 + ], + [ + "5.6", + -12.922094345092773 + ], + [ + "▁odata", + -12.922131538391113 + ], + [ + "▁interviu", + -12.922162055969238 + ], + [ + "▁poliţi", + -12.922375679016113 + ], + [ + "plated", + -12.922383308410645 + ], + [ + "Roman", + -12.922406196594238 + ], + [ + "▁satisfactory", + -12.922453880310059 + ], + [ + "▁unanimous", + -12.922459602355957 + ], + [ + "▁întâln", + -12.922464370727539 + ], + [ + "nonsense", + -12.922558784484863 + ], + [ + "▁HOW", + -12.922616004943848 + ], + [ + "prezinta", + -12.922639846801758 + ], + [ + "▁măsura", + -12.9226655960083 + ], + [ + "▁Fuji", + -12.92275619506836 + ], + [ + "▁Meaning", + -12.92278003692627 + ], + [ + "aspiring", + -12.922850608825684 + ], + [ + "▁Suceava", + -12.922863006591797 + ], + [ + "arba", + -12.922983169555664 + ], + [ + "pressive", + -12.922988891601562 + ], + [ + "▁creek", + -12.92301082611084 + ], + [ + "trakt", + -12.923023223876953 + ], + [ + "▁fluffy", + -12.923303604125977 + ], + [ + "▁bateau", + -12.923371315002441 + ], + [ + "ме", + -12.923545837402344 + ], + [ + "UNG", + -12.923609733581543 + ], + [ + "motifs", + -12.923907279968262 + ], + [ + "Type", + -12.923958778381348 + ], + [ + "perçu", + -12.924132347106934 + ], + [ + "singurul", + -12.924139022827148 + ], + [ + "▁(2011)", + -12.92418384552002 + ], + [ + "▁hemp", + -12.924263954162598 + ], + [ + "betroffenen", + -12.92431640625 + ], + [ + "▁sermon", + -12.924369812011719 + ], + [ + "AID", + -12.924545288085938 + ], + [ + "3.7", + -12.924627304077148 + ], + [ + "▁heiß", + -12.92463207244873 + ], + [ + "▁bolnav", + -12.924982070922852 + ], + [ + "First", + -12.924995422363281 + ], + [ + "▁interrupt", + -12.925040245056152 + ], + [ + "phag", + -12.925106048583984 + ], + [ + "235", + -12.925201416015625 + ], + [ + "▁discoveries", + -12.925262451171875 + ], + [ + "▁Wellington", + -12.925263404846191 + ], + [ + "▁wechseln", + -12.925298690795898 + ], + [ + "▁strategically", + -12.925379753112793 + ], + [ + "▁iphone", + -12.925440788269043 + ], + [ + "geteilt", + -12.925646781921387 + ], + [ + "generative", + -12.925748825073242 + ], + [ + "▁Monroe", + -12.925806045532227 + ], + [ + "▁Execut", + -12.925863265991211 + ], + [ + "▁knitting", + -12.925931930541992 + ], + [ + "▁Couple", + -12.925939559936523 + ], + [ + "▁Shade", + -12.926020622253418 + ], + [ + "▁Taj", + -12.926060676574707 + ], + [ + "950", + -12.926077842712402 + ], + [ + "boiled", + -12.92609977722168 + ], + [ + "▁mixes", + -12.926130294799805 + ], + [ + "betroffene", + -12.926156044006348 + ], + [ + "▁continuation", + -12.926169395446777 + ], + [ + "▁begleitet", + -12.926226615905762 + ], + [ + "▁numerical", + -12.926281929016113 + ], + [ + "▁(2013)", + -12.92630386352539 + ], + [ + "▁nourish", + -12.926399230957031 + ], + [ + "oricar", + -12.926485061645508 + ], + [ + "focus", + -12.926486015319824 + ], + [ + "▁Crazy", + -12.926651000976562 + ], + [ + "▁ascend", + -12.926671028137207 + ], + [ + "▁vinde", + -12.926855087280273 + ], + [ + "roar", + -12.926874160766602 + ], + [ + "Vac", + -12.926929473876953 + ], + [ + "▁Zuschauer", + -12.927068710327148 + ], + [ + "izeze", + -12.927179336547852 + ], + [ + "▁Mindest", + -12.92721939086914 + ], + [ + "lingual", + -12.927229881286621 + ], + [ + "▁violet", + -12.927264213562012 + ], + [ + "▁Opfer", + -12.927299499511719 + ], + [ + "ARS", + -12.927431106567383 + ], + [ + "4.7", + -12.92744255065918 + ], + [ + "millennial", + -12.927492141723633 + ], + [ + "▁striv", + -12.927639961242676 + ], + [ + "▁bishop", + -12.927680015563965 + ], + [ + "▁Durham", + -12.927708625793457 + ], + [ + "opathic", + -12.927817344665527 + ], + [ + "Where", + -12.927999496459961 + ], + [ + "▁Rider", + -12.928030014038086 + ], + [ + "▁Reid", + -12.928030967712402 + ], + [ + "stumbled", + -12.928156852722168 + ], + [ + "deep", + -12.92827320098877 + ], + [ + "▁11:00", + -12.928340911865234 + ], + [ + "▁Essex", + -12.928380966186523 + ], + [ + "▁Analyst", + -12.928397178649902 + ], + [ + "feel", + -12.928546905517578 + ], + [ + "▁rave", + -12.928601264953613 + ], + [ + "▁Eddie", + -12.928631782531738 + ], + [ + "▁communiqué", + -12.928756713867188 + ], + [ + "[/", + -12.928791046142578 + ], + [ + "▁Tho", + -12.929011344909668 + ], + [ + "ffentlichkeit", + -12.929019927978516 + ], + [ + "instrument", + -12.929126739501953 + ], + [ + "▁metropolitan", + -12.929179191589355 + ], + [ + "▁experienţ", + -12.929181098937988 + ], + [ + "East", + -12.929198265075684 + ], + [ + "Compared", + -12.929434776306152 + ], + [ + "worn", + -12.929484367370605 + ], + [ + "berufliche", + -12.92966365814209 + ], + [ + "▁Umstände", + -12.929710388183594 + ], + [ + "individuellen", + -12.929901123046875 + ], + [ + "siehe", + -12.929912567138672 + ], + [ + "▁sfarsit", + -12.929969787597656 + ], + [ + "▁Strength", + -12.929999351501465 + ], + [ + "▁prejudice", + -12.930024147033691 + ], + [ + "▁shutdown", + -12.930159568786621 + ], + [ + "chatting", + -12.93022346496582 + ], + [ + "▁Gerne", + -12.930227279663086 + ], + [ + "▁Yum", + -12.930305480957031 + ], + [ + "▁coastline", + -12.930387496948242 + ], + [ + "▁headboard", + -12.930623054504395 + ], + [ + "▁politische", + -12.930768966674805 + ], + [ + "Sub", + -12.930838584899902 + ], + [ + "▁Henderson", + -12.930870056152344 + ], + [ + "▁astonishing", + -12.930870056152344 + ], + [ + "▁Dresden", + -12.930871963500977 + ], + [ + "▁strawberry", + -12.93088436126709 + ], + [ + "prenez", + -12.930889129638672 + ], + [ + "▁Monaco", + -12.930912971496582 + ], + [ + "▁empowered", + -12.930953025817871 + ], + [ + "fäl", + -12.93109130859375 + ], + [ + "▁creier", + -12.931120872497559 + ], + [ + "▁Equ", + -12.931300163269043 + ], + [ + "▁Selling", + -12.931379318237305 + ], + [ + "▁$35", + -12.931483268737793 + ], + [ + "konto", + -12.931503295898438 + ], + [ + "▁Procedure", + -12.931715965270996 + ], + [ + "▁reduziert", + -12.931715965270996 + ], + [ + "▁royalty", + -12.931740760803223 + ], + [ + "wyn", + -12.931756019592285 + ], + [ + "▁Unfall", + -12.932141304016113 + ], + [ + "NAT", + -12.932161331176758 + ], + [ + "▁grafic", + -12.93251895904541 + ], + [ + "▁Collective", + -12.932563781738281 + ], + [ + "▁Computing", + -12.932564735412598 + ], + [ + "▁Established", + -12.932594299316406 + ], + [ + "▁zest", + -12.932598114013672 + ], + [ + "venez", + -12.932611465454102 + ], + [ + "follow", + -12.9326171875 + ], + [ + "▁Motivation", + -12.932640075683594 + ], + [ + "▁dictator", + -12.932755470275879 + ], + [ + "whichever", + -12.93281078338623 + ], + [ + "▁întâmpl", + -12.93293285369873 + ], + [ + "Flüchtling", + -12.932987213134766 + ], + [ + "EMI", + -12.933015823364258 + ], + [ + "404", + -12.933019638061523 + ], + [ + "ICK", + -12.93302059173584 + ], + [ + "emplacement", + -12.933191299438477 + ], + [ + "complete", + -12.933349609375 + ], + [ + "advising", + -12.933412551879883 + ], + [ + "▁Administrative", + -12.933481216430664 + ], + [ + "▁deviation", + -12.933496475219727 + ], + [ + "▁experienț", + -12.933500289916992 + ], + [ + "lethor", + -12.933996200561523 + ], + [ + "▁compress", + -12.934081077575684 + ], + [ + "rival", + -12.934173583984375 + ], + [ + "reprendre", + -12.934186935424805 + ], + [ + "ugi", + -12.934266090393066 + ], + [ + "▁Invitation", + -12.934267044067383 + ], + [ + "▁retina", + -12.934332847595215 + ], + [ + "▁farther", + -12.934335708618164 + ], + [ + "▁fenêtre", + -12.934799194335938 + ], + [ + "6-7", + -12.934815406799316 + ], + [ + "zhou", + -12.934834480285645 + ], + [ + "▁Piano", + -12.934840202331543 + ], + [ + "▁Congrats", + -12.935114860534668 + ], + [ + "▁Configur", + -12.935131072998047 + ], + [ + "▁superficial", + -12.935179710388184 + ], + [ + "▁melting", + -12.935315132141113 + ], + [ + "▁raspunde", + -12.935626983642578 + ], + [ + "▁drip", + -12.93564224243164 + ], + [ + "östlich", + -12.9358491897583 + ], + [ + "189", + -12.935925483703613 + ], + [ + "▁Ludwig", + -12.935959815979004 + ], + [ + "▁keto", + -12.935985565185547 + ], + [ + "▁Bogdan", + -12.936013221740723 + ], + [ + "▁contracted", + -12.936029434204102 + ], + [ + "▁revive", + -12.936100006103516 + ], + [ + "▁cristal", + -12.936232566833496 + ], + [ + "▁mailbox", + -12.936257362365723 + ], + [ + "președintele", + -12.936559677124023 + ], + [ + "▁seekers", + -12.936627388000488 + ], + [ + "func", + -12.936904907226562 + ], + [ + "▁Markus", + -12.93691349029541 + ], + [ + "Unter", + -12.936923027038574 + ], + [ + "▁übertragen", + -12.937003135681152 + ], + [ + "▁adaptive", + -12.937024116516113 + ], + [ + "caster", + -12.937051773071289 + ], + [ + "▁geek", + -12.937164306640625 + ], + [ + "▁réservation", + -12.937236785888672 + ], + [ + "▁irritation", + -12.937240600585938 + ], + [ + "▁HDMI", + -12.937346458435059 + ], + [ + "Seeing", + -12.937485694885254 + ], + [ + "▁genul", + -12.937569618225098 + ], + [ + "▁catastrophe", + -12.937662124633789 + ], + [ + "▁Tweet", + -12.937665939331055 + ], + [ + "TZ", + -12.937729835510254 + ], + [ + "▁credible", + -12.937946319580078 + ], + [ + "▁cobor", + -12.938064575195312 + ], + [ + "▁realizeaz", + -12.938159942626953 + ], + [ + "journal", + -12.938274383544922 + ], + [ + "▁shaking", + -12.938532829284668 + ], + [ + "3-6", + -12.938572883605957 + ], + [ + "▁beneficiaz", + -12.938605308532715 + ], + [ + "▁Frankreich", + -12.938633918762207 + ], + [ + "committing", + -12.9386568069458 + ], + [ + "AMS", + -12.938835144042969 + ], + [ + "▁Feli", + -12.939007759094238 + ], + [ + "▁Producer", + -12.939023971557617 + ], + [ + "▁übrig", + -12.93940544128418 + ], + [ + "gemeinde", + -12.939593315124512 + ], + [ + "should", + -12.939799308776855 + ], + [ + "▁neurons", + -12.939799308776855 + ], + [ + "▁Agenda", + -12.939833641052246 + ], + [ + "▁hashtag", + -12.939896583557129 + ], + [ + "▁confortabil", + -12.939897537231445 + ], + [ + "520", + -12.940008163452148 + ], + [ + "bonded", + -12.940033912658691 + ], + [ + "▁următoare", + -12.940191268920898 + ], + [ + "▁volatile", + -12.940223693847656 + ], + [ + "infamous", + -12.940225601196289 + ], + [ + "seară", + -12.940229415893555 + ], + [ + "▁Sorge", + -12.940346717834473 + ], + [ + "▁Beiträge", + -12.940420150756836 + ], + [ + "▁îndeplin", + -12.940449714660645 + ], + [ + "gespräch", + -12.940649032592773 + ], + [ + "▁joueur", + -12.940701484680176 + ], + [ + "▁outsourcing", + -12.940701484680176 + ], + [ + "▁Guvernul", + -12.940814018249512 + ], + [ + "6-2", + -12.940818786621094 + ], + [ + "▁prioritize", + -12.941068649291992 + ], + [ + "▁duminică", + -12.941076278686523 + ], + [ + "▁resignation", + -12.941076278686523 + ], + [ + "▁Converter", + -12.941079139709473 + ], + [ + "hereby", + -12.941155433654785 + ], + [ + "▁stresses", + -12.941299438476562 + ], + [ + "▁brun", + -12.941415786743164 + ], + [ + "▁elev", + -12.941423416137695 + ], + [ + "▁Skip", + -12.941479682922363 + ], + [ + "540", + -12.941499710083008 + ], + [ + "TURE", + -12.941603660583496 + ], + [ + "▁Lynch", + -12.941635131835938 + ], + [ + "▁preveni", + -12.941643714904785 + ], + [ + "compatible", + -12.941692352294922 + ], + [ + "surveyed", + -12.941702842712402 + ], + [ + "▁Ausnahme", + -12.941713333129883 + ], + [ + "▁medicul", + -12.941812515258789 + ], + [ + "▁subtil", + -12.941865921020508 + ], + [ + "▁Quali", + -12.941890716552734 + ], + [ + "▁techno", + -12.941900253295898 + ], + [ + "presently", + -12.94193172454834 + ], + [ + "▁Müller", + -12.941934585571289 + ], + [ + "DIRECT", + -12.941937446594238 + ], + [ + "schuld", + -12.941944122314453 + ], + [ + "▁Bloomberg", + -12.941994667053223 + ], + [ + "feuer", + -12.942181587219238 + ], + [ + "▁Pharmacy", + -12.942270278930664 + ], + [ + "▁Schnitt", + -12.942301750183105 + ], + [ + "186", + -12.942333221435547 + ], + [ + "peaks", + -12.942355155944824 + ], + [ + "▁Gemeinsam", + -12.94235897064209 + ], + [ + "▁récemment", + -12.94235897064209 + ], + [ + "▁Pascal", + -12.942490577697754 + ], + [ + "filmed", + -12.942523956298828 + ], + [ + "RCA", + -12.942548751831055 + ], + [ + "▁virtuelle", + -12.942622184753418 + ], + [ + "▁dotat", + -12.942630767822266 + ], + [ + "logisch", + -12.942717552185059 + ], + [ + "▁Luck", + -12.943005561828613 + ], + [ + "cosy", + -12.943132400512695 + ], + [ + "▁Awareness", + -12.943216323852539 + ], + [ + "▁gesetzlich", + -12.943263053894043 + ], + [ + "padded", + -12.943306922912598 + ], + [ + "▁Lotus", + -12.943395614624023 + ], + [ + "urging", + -12.9434175491333 + ], + [ + "▁mushroom", + -12.943426132202148 + ], + [ + "▁adultes", + -12.943527221679688 + ], + [ + "▁Coca", + -12.943571090698242 + ], + [ + "▁recev", + -12.943586349487305 + ], + [ + "▁mantra", + -12.943610191345215 + ], + [ + "▁practise", + -12.943644523620605 + ], + [ + "▁acceler", + -12.943663597106934 + ], + [ + "bolster", + -12.943756103515625 + ], + [ + "▁compressed", + -12.943818092346191 + ], + [ + "TIN", + -12.943899154663086 + ], + [ + "▁aromatic", + -12.944236755371094 + ], + [ + "geleitet", + -12.944408416748047 + ], + [ + "▁fibr", + -12.944443702697754 + ], + [ + "exécut", + -12.94444751739502 + ], + [ + "▁unconscious", + -12.94456958770752 + ], + [ + "HAR", + -12.944607734680176 + ], + [ + "▁Gregory", + -12.944661140441895 + ], + [ + "▁Manila", + -12.944738388061523 + ], + [ + "ozitate", + -12.944756507873535 + ], + [ + "exemplary", + -12.944803237915039 + ], + [ + "éventuel", + -12.944906234741211 + ], + [ + "▁Craciun", + -12.944930076599121 + ], + [ + "▁tehnologii", + -12.944931030273438 + ], + [ + "▁Despre", + -12.945138931274414 + ], + [ + "▁1917", + -12.945141792297363 + ], + [ + "▁upfront", + -12.945146560668945 + ], + [ + "▁Iulia", + -12.945280075073242 + ], + [ + "▁erwähnt", + -12.945359230041504 + ], + [ + "▁magnesium", + -12.945359230041504 + ], + [ + "▁descriptive", + -12.94536304473877 + ], + [ + "▁consumul", + -12.945364952087402 + ], + [ + "▁10-15", + -12.945423126220703 + ], + [ + "▁erfüllen", + -12.945611953735352 + ], + [ + "gig", + -12.945657730102539 + ], + [ + "430", + -12.945765495300293 + ], + [ + "▁Migration", + -12.945789337158203 + ], + [ + "bră", + -12.94579029083252 + ], + [ + "▁réforme", + -12.945863723754883 + ], + [ + "▁york", + -12.94610595703125 + ], + [ + "dritten", + -12.946109771728516 + ], + [ + "cumva", + -12.946182250976562 + ], + [ + "▁Alumni", + -12.946218490600586 + ], + [ + "▁Ceramic", + -12.946222305297852 + ], + [ + "▁rappelle", + -12.946236610412598 + ], + [ + "▁pianist", + -12.946248054504395 + ], + [ + "twisted", + -12.946306228637695 + ], + [ + "earned", + -12.946432113647461 + ], + [ + "▁Hose", + -12.946514129638672 + ], + [ + "156", + -12.946610450744629 + ], + [ + "▁Salmon", + -12.946687698364258 + ], + [ + "Level", + -12.946913719177246 + ], + [ + "▁swirl", + -12.947052001953125 + ], + [ + "erfahrung", + -12.947061538696289 + ], + [ + "▁liabilities", + -12.947078704833984 + ], + [ + "praxis", + -12.9470853805542 + ], + [ + "IPO", + -12.947089195251465 + ], + [ + "▁screaming", + -12.947092056274414 + ], + [ + "emphasized", + -12.947200775146484 + ], + [ + "DEA", + -12.947260856628418 + ], + [ + "▁dermatolog", + -12.947351455688477 + ], + [ + "▁pacate", + -12.947498321533203 + ], + [ + "▁ansamblu", + -12.947507858276367 + ], + [ + "▁beteiligt", + -12.947509765625 + ], + [ + "▁Needles", + -12.947574615478516 + ], + [ + "▁organisiert", + -12.947607040405273 + ], + [ + "Pacific", + -12.947639465332031 + ], + [ + "actual", + -12.947823524475098 + ], + [ + "prindere", + -12.94801139831543 + ], + [ + "▁Indoor", + -12.948348045349121 + ], + [ + "▁Gewalt", + -12.948431015014648 + ], + [ + "▁rezid", + -12.948507308959961 + ], + [ + "censor", + -12.948522567749023 + ], + [ + "▁unlawful", + -12.94882869720459 + ], + [ + "▁Explain", + -12.948873519897461 + ], + [ + "▁Flame", + -12.948897361755371 + ], + [ + "▁brachte", + -12.948941230773926 + ], + [ + "▁Mustang", + -12.94899845123291 + ], + [ + "ectomy", + -12.949044227600098 + ], + [ + "▁deliberate", + -12.949064254760742 + ], + [ + "▁sparkle", + -12.949225425720215 + ], + [ + "▁inchis", + -12.94926929473877 + ], + [ + "▁Cristian", + -12.949289321899414 + ], + [ + "▁facture", + -12.949291229248047 + ], + [ + "▁Grundstück", + -12.949292182922363 + ], + [ + "außerhalb", + -12.949300765991211 + ], + [ + "coast", + -12.949321746826172 + ], + [ + "anilor", + -12.949396133422852 + ], + [ + "255", + -12.94952392578125 + ], + [ + "nterdisciplinary", + -12.949576377868652 + ], + [ + "▁Isabel", + -12.949655532836914 + ], + [ + "▁Städte", + -12.949701309204102 + ], + [ + "▁cicl", + -12.949837684631348 + ], + [ + "▁Zeug", + -12.949905395507812 + ], + [ + "▁Muskel", + -12.949951171875 + ], + [ + "▁indirectly", + -12.950051307678223 + ], + [ + "▁Vorbereitung", + -12.950093269348145 + ], + [ + "MMA", + -12.95012378692627 + ], + [ + "▁pudding", + -12.950197219848633 + ], + [ + "rax", + -12.950389862060547 + ], + [ + "▁Stimmung", + -12.95052433013916 + ], + [ + "▁hierarchy", + -12.95052433013916 + ], + [ + "partie", + -12.950597763061523 + ], + [ + "▁elevate", + -12.950685501098633 + ], + [ + "▁Persian", + -12.950690269470215 + ], + [ + "forensic", + -12.95077896118164 + ], + [ + "Become", + -12.950854301452637 + ], + [ + "leicht", + -12.9508695602417 + ], + [ + "▁staging", + -12.950942039489746 + ], + [ + "▁fühlt", + -12.950965881347656 + ], + [ + "fenster", + -12.950979232788086 + ], + [ + "▁unbelievable", + -12.951089859008789 + ], + [ + "„", + -12.951260566711426 + ], + [ + "▁Guatemala", + -12.951387405395508 + ], + [ + "LET", + -12.95141315460205 + ], + [ + "▁buff", + -12.951454162597656 + ], + [ + "▁Primul", + -12.951626777648926 + ], + [ + "▁mainland", + -12.951702117919922 + ], + [ + "campus", + -12.951923370361328 + ], + [ + "▁gefällt", + -12.952075958251953 + ], + [ + "BAN", + -12.952153205871582 + ], + [ + "finish", + -12.952229499816895 + ], + [ + "accustomed", + -12.952251434326172 + ], + [ + "▁Businesses", + -12.95234203338623 + ], + [ + "▁întreb", + -12.95239543914795 + ], + [ + "▁recomandă", + -12.952425956726074 + ], + [ + "▁pellet", + -12.952474594116211 + ], + [ + "▁GST", + -12.952507972717285 + ], + [ + "SEA", + -12.952601432800293 + ], + [ + "▁categorie", + -12.952631950378418 + ], + [ + "▁convainc", + -12.95268440246582 + ], + [ + "▁considéré", + -12.952739715576172 + ], + [ + "rois", + -12.952853202819824 + ], + [ + "▁thrust", + -12.952898979187012 + ], + [ + "ijk", + -12.953001022338867 + ], + [ + "gefüllt", + -12.953118324279785 + ], + [ + "▁situatii", + -12.953327178955078 + ], + [ + "▁Jacksonville", + -12.95337200164795 + ], + [ + "▁bakery", + -12.953473091125488 + ], + [ + "▁Accident", + -12.953554153442383 + ], + [ + "▁urmeaza", + -12.953572273254395 + ], + [ + "▁crib", + -12.953593254089355 + ], + [ + "getroffen", + -12.953707695007324 + ], + [ + "Based", + -12.953877449035645 + ], + [ + "Including", + -12.95398235321045 + ], + [ + "▁Morocco", + -12.95398235321045 + ], + [ + "▁casserole", + -12.95398235321045 + ], + [ + "▁enquiry", + -12.953983306884766 + ], + [ + "▁pahar", + -12.954017639160156 + ], + [ + "▁Unternehmer", + -12.954025268554688 + ], + [ + "électro", + -12.954068183898926 + ], + [ + "Marie", + -12.95413589477539 + ], + [ + "▁Sno", + -12.954153060913086 + ], + [ + "▁prostate", + -12.954168319702148 + ], + [ + "▁Wallace", + -12.95426082611084 + ], + [ + "empre", + -12.954402923583984 + ], + [ + "▁Multumesc", + -12.954415321350098 + ], + [ + "White", + -12.954675674438477 + ], + [ + "brief", + -12.954751014709473 + ], + [ + "▁kitten", + -12.954751014709473 + ], + [ + "füh", + -12.954780578613281 + ], + [ + "▁mankind", + -12.954821586608887 + ], + [ + "ENE", + -12.95483112335205 + ], + [ + "▁Ethics", + -12.954848289489746 + ], + [ + "▁Realty", + -12.954946517944336 + ], + [ + "▁Emerg", + -12.954988479614258 + ], + [ + "7-8", + -12.955055236816406 + ], + [ + "museum", + -12.955096244812012 + ], + [ + "BRE", + -12.95518970489502 + ], + [ + "▁kilometri", + -12.955282211303711 + ], + [ + "oyaume", + -12.955286026000977 + ], + [ + "▁Cambodia", + -12.955288887023926 + ], + [ + "▁bruit", + -12.955304145812988 + ], + [ + "▁sépar", + -12.955334663391113 + ], + [ + "mastered", + -12.9554443359375 + ], + [ + "shake", + -12.955608367919922 + ], + [ + "▁liaison", + -12.955718994140625 + ], + [ + "▁Boulder", + -12.955719947814941 + ], + [ + "▁tortilla", + -12.955720901489258 + ], + [ + "▁Fokus", + -12.955731391906738 + ], + [ + "▁Blair", + -12.95573902130127 + ], + [ + "▁disturbance", + -12.955775260925293 + ], + [ + "geladen", + -12.955843925476074 + ], + [ + "▁sunscreen", + -12.955886840820312 + ], + [ + "▁reuș", + -12.955896377563477 + ], + [ + "▁Braun", + -12.956155776977539 + ], + [ + "▁existente", + -12.956157684326172 + ], + [ + "stift", + -12.956242561340332 + ], + [ + "▁preot", + -12.956387519836426 + ], + [ + "▁doved", + -12.956445693969727 + ], + [ + "sexual", + -12.956488609313965 + ], + [ + "meanwhile", + -12.956583976745605 + ], + [ + "▁legislature", + -12.956583976745605 + ], + [ + "▁vermeiden", + -12.956583976745605 + ], + [ + "▁inequality", + -12.95687484741211 + ], + [ + "▁turc", + -12.956881523132324 + ], + [ + "ви", + -12.95698070526123 + ], + [ + "▁Kontrolle", + -12.95702075958252 + ], + [ + "▁Ursache", + -12.95704174041748 + ], + [ + "▁confess", + -12.95704174041748 + ], + [ + "▁poetic", + -12.957109451293945 + ], + [ + "attention", + -12.957236289978027 + ], + [ + "textured", + -12.957386016845703 + ], + [ + "GES", + -12.957586288452148 + ], + [ + "6-4", + -12.957637786865234 + ], + [ + "Ray", + -12.957696914672852 + ], + [ + "chromat", + -12.957745552062988 + ], + [ + "▁insightful", + -12.957775115966797 + ], + [ + "▁Navigation", + -12.957887649536133 + ], + [ + "▁destiny", + -12.957887649536133 + ], + [ + "▁ergeben", + -12.957892417907715 + ], + [ + "▁versteh", + -12.958090782165527 + ], + [ + "301", + -12.958209037780762 + ], + [ + "▁Exterior", + -12.958321571350098 + ], + [ + "église", + -12.958322525024414 + ], + [ + "▁Failure", + -12.958322525024414 + ], + [ + "▁Patricia", + -12.958324432373047 + ], + [ + "▁geschützt", + -12.958328247070312 + ], + [ + "intrarea", + -12.95833969116211 + ], + [ + "▁Forward", + -12.958368301391602 + ], + [ + "▁Portrait", + -12.95844841003418 + ], + [ + "▁enregistré", + -12.958480834960938 + ], + [ + "▁wagon", + -12.958620071411133 + ], + [ + "stealing", + -12.958879470825195 + ], + [ + "▁Numero", + -12.958880424499512 + ], + [ + "▁tradui", + -12.958986282348633 + ], + [ + "▁klassische", + -12.959033966064453 + ], + [ + "▁profitieren", + -12.959043502807617 + ], + [ + "▁laboratories", + -12.95919132232666 + ], + [ + "▁reconnaissance", + -12.95919132232666 + ], + [ + "ку", + -12.959314346313477 + ], + [ + "▁Petersburg", + -12.959359169006348 + ], + [ + "▁fertility", + -12.959421157836914 + ], + [ + "▁Understand", + -12.959516525268555 + ], + [ + "dehors", + -12.959746360778809 + ], + [ + "▁Knox", + -12.959762573242188 + ], + [ + "software", + -12.959797859191895 + ], + [ + "▁Celebration", + -12.959823608398438 + ], + [ + "4.6", + -12.959897994995117 + ], + [ + "quino", + -12.959930419921875 + ], + [ + "▁endeavour", + -12.960073471069336 + ], + [ + "▁temptation", + -12.960136413574219 + ], + [ + "▁Registry", + -12.96035385131836 + ], + [ + "IMP", + -12.960502624511719 + ], + [ + "bedingt", + -12.960625648498535 + ], + [ + "▁$60", + -12.960846900939941 + ], + [ + "▁Kriterien", + -12.96093463897705 + ], + [ + "▁strawberries", + -12.960943222045898 + ], + [ + "▁conspiracy", + -12.96094799041748 + ], + [ + "▁pouch", + -12.960976600646973 + ], + [ + "▁Alexandria", + -12.961017608642578 + ], + [ + "▁Mick", + -12.961102485656738 + ], + [ + "extra", + -12.961114883422852 + ], + [ + "▁Operator", + -12.961151123046875 + ], + [ + "enduring", + -12.96132755279541 + ], + [ + "▁smash", + -12.961359024047852 + ], + [ + "Euro", + -12.961360931396484 + ], + [ + "▁Nouvelle", + -12.961370468139648 + ], + [ + "▁Raspberry", + -12.961370468139648 + ], + [ + "▁präsentieren", + -12.961380004882812 + ], + [ + "▁electrician", + -12.961404800415039 + ], + [ + "▁cheerful", + -12.961472511291504 + ], + [ + "▁chargé", + -12.961508750915527 + ], + [ + "▁Diskussion", + -12.961511611938477 + ], + [ + "▁surpass", + -12.961604118347168 + ], + [ + "▁Acces", + -12.961701393127441 + ], + [ + "tausend", + -12.961771011352539 + ], + [ + "▁vigorous", + -12.961808204650879 + ], + [ + "▁tava", + -12.961810111999512 + ], + [ + "CHO", + -12.96193790435791 + ], + [ + "▁1951", + -12.961941719055176 + ], + [ + "▁Umsatz", + -12.962019920349121 + ], + [ + "▁slavery", + -12.962055206298828 + ], + [ + "travel", + -12.962294578552246 + ], + [ + "▁correspondent", + -12.962297439575195 + ], + [ + "▁$150", + -12.962307929992676 + ], + [ + "▁stärker", + -12.962594985961914 + ], + [ + "Alb", + -12.96264362335205 + ], + [ + "▁Lopez", + -12.962682723999023 + ], + [ + "▁longueur", + -12.962767601013184 + ], + [ + "▁successive", + -12.962772369384766 + ], + [ + "▁(2015)", + -12.96278190612793 + ], + [ + "teig", + -12.962790489196777 + ], + [ + "custom", + -12.962944984436035 + ], + [ + "TIM", + -12.963099479675293 + ], + [ + "▁Escape", + -12.963174819946289 + ], + [ + "▁Sekunden", + -12.963349342346191 + ], + [ + "tiré", + -12.963444709777832 + ], + [ + "▁chantier", + -12.963489532470703 + ], + [ + "▁saturated", + -12.963555335998535 + ], + [ + "▁confrontation", + -12.963804244995117 + ], + [ + "▁biography", + -12.963805198669434 + ], + [ + "zuerst", + -12.9639892578125 + ], + [ + "▁rencontré", + -12.963991165161133 + ], + [ + "▁harmless", + -12.96412181854248 + ], + [ + "Branche", + -12.964139938354492 + ], + [ + "▁QR", + -12.964380264282227 + ], + [ + "▁Ereignis", + -12.964430809020996 + ], + [ + "▁verkaufen", + -12.96444320678711 + ], + [ + "0:00", + -12.96451187133789 + ], + [ + "Association", + -12.96469783782959 + ], + [ + "▁Santiago", + -12.964865684509277 + ], + [ + "Control", + -12.964993476867676 + ], + [ + "▁Angriff", + -12.9650297164917 + ], + [ + "lase", + -12.96505069732666 + ], + [ + "▁sfaturi", + -12.965224266052246 + ], + [ + "▁Comprehensive", + -12.965304374694824 + ], + [ + "▁Shepherd", + -12.965304374694824 + ], + [ + "▁exponential", + -12.965304374694824 + ], + [ + "▁penetration", + -12.965304374694824 + ], + [ + "▁comble", + -12.965394973754883 + ], + [ + "ionar", + -12.965557098388672 + ], + [ + "slept", + -12.965563774108887 + ], + [ + "▁Spice", + -12.965633392333984 + ], + [ + "mAh", + -12.965688705444336 + ], + [ + "▁Vertreter", + -12.965747833251953 + ], + [ + "fehler", + -12.965752601623535 + ], + [ + "▁Scroll", + -12.96599292755127 + ], + [ + "▁WARRANT", + -12.966179847717285 + ], + [ + "▁minimise", + -12.966326713562012 + ], + [ + "▁Dept", + -12.966474533081055 + ], + [ + "▁urinar", + -12.96661376953125 + ], + [ + "établir", + -12.966619491577148 + ], + [ + "verhältnis", + -12.966713905334473 + ], + [ + "▁glowing", + -12.966979026794434 + ], + [ + "kulturelle", + -12.966984748840332 + ], + [ + "▁Pediatric", + -12.967057228088379 + ], + [ + "▁inconvenience", + -12.967057228088379 + ], + [ + "Antoine", + -12.967121124267578 + ], + [ + "▁Heck", + -12.967164993286133 + ], + [ + "▁couches", + -12.967265129089355 + ], + [ + "▁1938", + -12.967331886291504 + ], + [ + "maybe", + -12.967333793640137 + ], + [ + "ETA", + -12.9673433303833 + ], + [ + "▁solaire", + -12.96748161315918 + ], + [ + "▁Zürich", + -12.967495918273926 + ], + [ + "computer", + -12.967545509338379 + ], + [ + "milk", + -12.96756362915039 + ], + [ + "он", + -12.967585563659668 + ], + [ + "modalitate", + -12.967608451843262 + ], + [ + "spanning", + -12.967655181884766 + ], + [ + "▁Crypto", + -12.96774959564209 + ], + [ + "▁Spotify", + -12.967935562133789 + ], + [ + "mycin", + -12.967944145202637 + ], + [ + "▁similarities", + -12.96811294555664 + ], + [ + "▁eclipse", + -12.968377113342285 + ], + [ + "Map", + -12.968610763549805 + ], + [ + "double", + -12.96861743927002 + ], + [ + "corporate", + -12.968734741210938 + ], + [ + "▁Hindi", + -12.968853950500488 + ], + [ + "battling", + -12.968866348266602 + ], + [ + "▁habituel", + -12.969098091125488 + ], + [ + "▁Transition", + -12.969196319580078 + ], + [ + "▁luptă", + -12.96920394897461 + ], + [ + "▁trainee", + -12.969219207763672 + ], + [ + "LIS", + -12.96922492980957 + ], + [ + "▁Vatican", + -12.969254493713379 + ], + [ + "Archived", + -12.9692964553833 + ], + [ + "Connect", + -12.969305038452148 + ], + [ + "▁prealabil", + -12.969307899475098 + ], + [ + "▁Chambre", + -12.969327926635742 + ], + [ + "stuhl", + -12.969440460205078 + ], + [ + "▁arrivé", + -12.969557762145996 + ], + [ + "▁Urteil", + -12.969575881958008 + ], + [ + "▁scrutiny", + -12.969818115234375 + ], + [ + "▁memoir", + -12.969854354858398 + ], + [ + "▁innovant", + -12.9699068069458 + ], + [ + "▁sublime", + -12.969943046569824 + ], + [ + "children", + -12.970004081726074 + ], + [ + "▁Handwerk", + -12.970056533813477 + ], + [ + "▁campuses", + -12.970268249511719 + ], + [ + "▁durabil", + -12.970502853393555 + ], + [ + "▁immersive", + -12.970632553100586 + ], + [ + "▁Magnet", + -12.970732688903809 + ], + [ + "läufe", + -12.970808029174805 + ], + [ + "▁Techno", + -12.970837593078613 + ], + [ + "MAP", + -12.9710693359375 + ], + [ + "7.2", + -12.971145629882812 + ], + [ + "▁Schwimm", + -12.971181869506836 + ], + [ + "BOOK", + -12.971186637878418 + ], + [ + "188", + -12.971441268920898 + ], + [ + "▁Supervisor", + -12.971498489379883 + ], + [ + "prévue", + -12.971691131591797 + ], + [ + "needed", + -12.971813201904297 + ], + [ + "▁creditors", + -12.971822738647461 + ], + [ + "▁brin", + -12.971837043762207 + ], + [ + "▁Neck", + -12.971900939941406 + ], + [ + "▁Salut", + -12.971988677978516 + ], + [ + "▁despair", + -12.972105979919434 + ], + [ + "▁Sauce", + -12.972261428833008 + ], + [ + "▁Westminster", + -12.972335815429688 + ], + [ + "▁langfristig", + -12.972335815429688 + ], + [ + "▁northeast", + -12.972365379333496 + ], + [ + "▁încercat", + -12.972399711608887 + ], + [ + "▁nausea", + -12.972408294677734 + ], + [ + "▁Paypal", + -12.972440719604492 + ], + [ + "▁Arrow", + -12.972469329833984 + ], + [ + "▁Travis", + -12.972633361816406 + ], + [ + "(2009)", + -12.972713470458984 + ], + [ + "▁Rising", + -12.972719192504883 + ], + [ + "termes", + -12.973097801208496 + ], + [ + "Australie", + -12.973154067993164 + ], + [ + "▁scarf", + -12.973187446594238 + ], + [ + "klassischen", + -12.97337818145752 + ], + [ + "▁boug", + -12.973466873168945 + ], + [ + "DOT", + -12.97360610961914 + ], + [ + "▁Trink", + -12.97361946105957 + ], + [ + "▁bestätigt", + -12.97365951538086 + ], + [ + "▁officiel", + -12.97370433807373 + ], + [ + "Produkt", + -12.973873138427734 + ], + [ + "DNA", + -12.974140167236328 + ], + [ + "▁*******", + -12.97426700592041 + ], + [ + "GAR", + -12.974271774291992 + ], + [ + "therapeut", + -12.974377632141113 + ], + [ + "187", + -12.974420547485352 + ], + [ + "▁Louisville", + -12.974493026733398 + ], + [ + "▁geöffnet", + -12.97462272644043 + ], + [ + "Watch", + -12.974640846252441 + ], + [ + "85%", + -12.974678993225098 + ], + [ + "▁Candida", + -12.974698066711426 + ], + [ + "▁Kathy", + -12.974703788757324 + ], + [ + "▁Animation", + -12.974711418151855 + ], + [ + "planung", + -12.974715232849121 + ], + [ + "woche", + -12.974730491638184 + ], + [ + "Video", + -12.974966049194336 + ], + [ + "▁Automation", + -12.97507095336914 + ], + [ + "▁foliage", + -12.97507381439209 + ], + [ + "▁evenimentului", + -12.975175857543945 + ], + [ + "SEN", + -12.975362777709961 + ], + [ + "▁Dialog", + -12.975372314453125 + ], + [ + "▁ZIP", + -12.975372314453125 + ], + [ + "▁vieții", + -12.97537612915039 + ], + [ + "▁passionné", + -12.975425720214844 + ], + [ + "▁WOW", + -12.97544002532959 + ], + [ + "ectiv", + -12.975464820861816 + ], + [ + "▁vorbesc", + -12.975482940673828 + ], + [ + "▁computational", + -12.975533485412598 + ], + [ + "▁idiot", + -12.97557258605957 + ], + [ + "▁stigma", + -12.97567081451416 + ], + [ + "▁multumesc", + -12.975870132446289 + ], + [ + "▁sărbători", + -12.975870132446289 + ], + [ + "▁Advantage", + -12.975906372070312 + ], + [ + "▁alegeri", + -12.976024627685547 + ], + [ + "▁philosopher", + -12.976031303405762 + ], + [ + "RIE", + -12.976117134094238 + ], + [ + "refundable", + -12.976221084594727 + ], + [ + "▁Sofia", + -12.97623348236084 + ], + [ + "▁încheiat", + -12.976313591003418 + ], + [ + "meilleures", + -12.976473808288574 + ], + [ + "critical", + -12.976744651794434 + ], + [ + "▁cavity", + -12.976766586303711 + ], + [ + "▁ressort", + -12.976792335510254 + ], + [ + "strong", + -12.976798057556152 + ], + [ + "▁Backup", + -12.976948738098145 + ], + [ + "▁Zeitraum", + -12.977023124694824 + ], + [ + "▁Szene", + -12.977027893066406 + ], + [ + "▁Candle", + -12.977173805236816 + ], + [ + "▁ciocolat", + -12.977198600769043 + ], + [ + "etched", + -12.977227210998535 + ], + [ + "ан", + -12.977302551269531 + ], + [ + "▁Anchor", + -12.977365493774414 + ], + [ + "equate", + -12.977470397949219 + ], + [ + "▁bulg", + -12.977476119995117 + ], + [ + "▁motorist", + -12.977524757385254 + ], + [ + "träglich", + -12.977736473083496 + ], + [ + "please", + -12.977936744689941 + ], + [ + "different", + -12.978011131286621 + ], + [ + "▁Accel", + -12.97813606262207 + ], + [ + "Proiectul", + -12.97829818725586 + ], + [ + "▁cabbage", + -12.97852897644043 + ], + [ + "▁télécharger", + -12.97852897644043 + ], + [ + "▁Presentation", + -12.97856330871582 + ], + [ + "▁Struktur", + -12.978621482849121 + ], + [ + "bücher", + -12.978650093078613 + ], + [ + "▁flatter", + -12.978672981262207 + ], + [ + "emprunt", + -12.979074478149414 + ], + [ + "▁oriental", + -12.979111671447754 + ], + [ + "▁Turnier", + -12.979166984558105 + ], + [ + "brücke", + -12.97917366027832 + ], + [ + "▁légumes", + -12.979416847229004 + ], + [ + "gerechnet", + -12.979595184326172 + ], + [ + "flooded", + -12.979621887207031 + ], + [ + "LER", + -12.979679107666016 + ], + [ + "üben", + -12.97973918914795 + ], + [ + "internaute", + -12.979888916015625 + ], + [ + "▁Austausch", + -12.979935646057129 + ], + [ + "gefordert", + -12.980034828186035 + ], + [ + "▁adoptat", + -12.980277061462402 + ], + [ + "▁erinnern", + -12.980305671691895 + ], + [ + "▁dolphin", + -12.980307579040527 + ], + [ + "▁Parkinson", + -12.980308532714844 + ], + [ + "büro", + -12.980310440063477 + ], + [ + "▁Crest", + -12.980368614196777 + ], + [ + "▁Ikea", + -12.980437278747559 + ], + [ + "▁ecologic", + -12.980470657348633 + ], + [ + "mplă", + -12.98065185546875 + ], + [ + "▁șef", + -12.980655670166016 + ], + [ + "coop", + -12.980868339538574 + ], + [ + "▁Carson", + -12.980900764465332 + ], + [ + "▁uşor", + -12.981054306030273 + ], + [ + "▁exert", + -12.981070518493652 + ], + [ + "▁countertop", + -12.981114387512207 + ], + [ + "ntended", + -12.981136322021484 + ], + [ + "▁Civic", + -12.981313705444336 + ], + [ + "▁attentes", + -12.98133373260498 + ], + [ + "gesetzlichen", + -12.981356620788574 + ], + [ + "frischen", + -12.981475830078125 + ], + [ + "▁Bottle", + -12.981636047363281 + ], + [ + "▁cautare", + -12.982080459594727 + ], + [ + "▁waterfront", + -12.982226371765137 + ], + [ + "▁centerpiece", + -12.982312202453613 + ], + [ + "▁Castel", + -12.982441902160645 + ], + [ + "510", + -12.98270034790039 + ], + [ + "capped", + -12.982709884643555 + ], + [ + "▁mattresses", + -12.982850074768066 + ], + [ + "▁readiness", + -12.982865333557129 + ], + [ + "diag", + -12.982970237731934 + ], + [ + "▁geändert", + -12.982980728149414 + ], + [ + "▁complained", + -12.983051300048828 + ], + [ + "▁diary", + -12.983073234558105 + ], + [ + "▁ceremonies", + -12.983144760131836 + ], + [ + "▁următor", + -12.983181953430176 + ], + [ + "▁Engel", + -12.983270645141602 + ], + [ + "▁disconnect", + -12.9832763671875 + ], + [ + "▁Silvi", + -12.983282089233398 + ], + [ + "▁eingerichtet", + -12.9834566116333 + ], + [ + "medizin", + -12.983512878417969 + ], + [ + "▁majestic", + -12.983869552612305 + ], + [ + "▁Random", + -12.983943939208984 + ], + [ + "▁Equity", + -12.984046936035156 + ], + [ + "▁Echipa", + -12.984111785888672 + ], + [ + "са", + -12.984163284301758 + ], + [ + "316", + -12.984179496765137 + ], + [ + "▁Formation", + -12.984183311462402 + ], + [ + "inland", + -12.98421859741211 + ], + [ + "appuy", + -12.984301567077637 + ], + [ + "TAN", + -12.984481811523438 + ], + [ + "slipped", + -12.984918594360352 + ], + [ + "Certains", + -12.985247611999512 + ], + [ + "▁Silber", + -12.98525333404541 + ], + [ + "▁reçoi", + -12.985257148742676 + ], + [ + "▁Monthly", + -12.985323905944824 + ], + [ + "calculating", + -12.985494613647461 + ], + [ + "▁scratches", + -12.98554515838623 + ], + [ + "▁concurrence", + -12.985654830932617 + ], + [ + "▁Stärke", + -12.985662460327148 + ], + [ + "▁intermediar", + -12.985751152038574 + ], + [ + "▁erlebt", + -12.98579216003418 + ], + [ + "gesellschaftlich", + -12.986037254333496 + ], + [ + "▁Volk", + -12.986041069030762 + ], + [ + "▁Ansprüche", + -12.986101150512695 + ], + [ + "▁cumulative", + -12.986103057861328 + ], + [ + "▁Randy", + -12.986183166503906 + ], + [ + "▁instituții", + -12.98622989654541 + ], + [ + "together", + -12.986489295959473 + ], + [ + "▁Sap", + -12.986539840698242 + ], + [ + "▁modificari", + -12.986551284790039 + ], + [ + "▁erosion", + -12.986572265625 + ], + [ + "▁wicked", + -12.986577033996582 + ], + [ + "soaked", + -12.986613273620605 + ], + [ + "▁cellar", + -12.9866361618042 + ], + [ + "ignoring", + -12.986726760864258 + ], + [ + "▁scarce", + -12.986815452575684 + ], + [ + "ueuse", + -12.98697280883789 + ], + [ + "▁bibliothèque", + -12.986995697021484 + ], + [ + "critères", + -12.987017631530762 + ], + [ + "▁overlay", + -12.987166404724121 + ], + [ + "IPA", + -12.98737907409668 + ], + [ + "director", + -12.987393379211426 + ], + [ + "▁Krishna", + -12.987444877624512 + ], + [ + "▁methodologies", + -12.987451553344727 + ], + [ + "iocese", + -12.987513542175293 + ], + [ + "▁saucepan", + -12.987713813781738 + ], + [ + "184", + -12.987948417663574 + ], + [ + "275", + -12.987981796264648 + ], + [ + "▁précieu", + -12.988165855407715 + ], + [ + "▁academy", + -12.9883394241333 + ], + [ + "460", + -12.988438606262207 + ], + [ + "ERN", + -12.988679885864258 + ], + [ + "▁emoti", + -12.988725662231445 + ], + [ + "▁télévision", + -12.988823890686035 + ], + [ + "EDIT", + -12.988901138305664 + ], + [ + "▁Valeri", + -12.989045143127441 + ], + [ + "▁Charity", + -12.98911190032959 + ], + [ + "Voilà", + -12.989297866821289 + ], + [ + "▁lipsit", + -12.989356994628906 + ], + [ + "▁unleash", + -12.989373207092285 + ], + [ + "▁suferit", + -12.989506721496582 + ], + [ + "▁Lifestyle", + -12.98953914642334 + ], + [ + "▁Edel", + -12.989603996276855 + ], + [ + "▁Derek", + -12.989643096923828 + ], + [ + "▁Manga", + -12.989801406860352 + ], + [ + "▁increment", + -12.989990234375 + ], + [ + "▁plötzlich", + -12.990133285522461 + ], + [ + "▁5:30", + -12.990208625793457 + ], + [ + "▁Republicii", + -12.990246772766113 + ], + [ + "▁capitalism", + -12.990293502807617 + ], + [ + "ROW", + -12.990510940551758 + ], + [ + "▁Paar", + -12.990523338317871 + ], + [ + "allée", + -12.99057674407959 + ], + [ + "▁motto", + -12.990610122680664 + ], + [ + "Schäden", + -12.990630149841309 + ], + [ + "▁£10", + -12.99063491821289 + ], + [ + "RIP", + -12.990728378295898 + ], + [ + "courir", + -12.990761756896973 + ], + [ + "rocky", + -12.990944862365723 + ], + [ + "▁Sunshine", + -12.991031646728516 + ], + [ + "▁chimney", + -12.991044998168945 + ], + [ + "▁préfér", + -12.991153717041016 + ], + [ + "▁relaxare", + -12.991189956665039 + ], + [ + "▁colabora", + -12.99134349822998 + ], + [ + "liefer", + -12.99142837524414 + ], + [ + "▁ordentlich", + -12.991486549377441 + ], + [ + "▁dauerhaft", + -12.991535186767578 + ], + [ + "kammer", + -12.991572380065918 + ], + [ + "▁Basket", + -12.991579055786133 + ], + [ + "Site", + -12.991657257080078 + ], + [ + "▁Regina", + -12.991716384887695 + ], + [ + "▁simulate", + -12.991868019104004 + ], + [ + "▁wrestle", + -12.991939544677734 + ], + [ + "wertig", + -12.991986274719238 + ], + [ + "▁Christie", + -12.992018699645996 + ], + [ + "download", + -12.992033004760742 + ], + [ + "▁torch", + -12.992213249206543 + ], + [ + "riya", + -12.992216110229492 + ], + [ + "▁Grie", + -12.992247581481934 + ], + [ + "bitten", + -12.992356300354004 + ], + [ + "▁spezialisiert", + -12.99238109588623 + ], + [ + "▁Parade", + -12.992408752441406 + ], + [ + "▁migraine", + -12.992830276489258 + ], + [ + "▁Armstrong", + -12.992846488952637 + ], + [ + "▁cutie", + -12.9928560256958 + ], + [ + "▁bullying", + -12.992889404296875 + ], + [ + "▁Estonia", + -12.99293041229248 + ], + [ + "▁harvested", + -12.992948532104492 + ], + [ + "▁Hunger", + -12.992971420288086 + ], + [ + "▁frapp", + -12.992999076843262 + ], + [ + "REM", + -12.993117332458496 + ], + [ + "sensor", + -12.993189811706543 + ], + [ + "▁GREAT", + -12.993293762207031 + ], + [ + "▁thyroid", + -12.993302345275879 + ], + [ + "▁mărturi", + -12.993335723876953 + ], + [ + "ocupă", + -12.993809700012207 + ], + [ + "▁Wealth", + -12.993812561035156 + ], + [ + "▁convins", + -12.993841171264648 + ], + [ + "141", + -12.993876457214355 + ], + [ + "▁vingt", + -12.993901252746582 + ], + [ + "▁revel", + -12.994054794311523 + ], + [ + "▁Adri", + -12.994083404541016 + ], + [ + "▁remix", + -12.994207382202148 + ], + [ + "▁fermentation", + -12.99425220489502 + ], + [ + "▁achiziti", + -12.994352340698242 + ], + [ + "dream", + -12.994426727294922 + ], + [ + "▁contemporan", + -12.994632720947266 + ], + [ + "▁youngsters", + -12.994685173034668 + ], + [ + "▁Hartford", + -12.994745254516602 + ], + [ + "▁Wagen", + -12.994988441467285 + ], + [ + "▁Celebr", + -12.995214462280273 + ], + [ + "leveraging", + -12.99527645111084 + ], + [ + "▁Iasi", + -12.99549674987793 + ], + [ + "tackling", + -12.9955415725708 + ], + [ + "▁intrinsic", + -12.995553970336914 + ], + [ + "▁Macedon", + -12.995603561401367 + ], + [ + "NIA", + -12.995784759521484 + ], + [ + "▁bliss", + -12.995905876159668 + ], + [ + "▁gradual", + -12.995908737182617 + ], + [ + "▁inregistrat", + -12.995981216430664 + ], + [ + "▁volleyball", + -12.995986938476562 + ], + [ + "▁offiziell", + -12.996054649353027 + ], + [ + "▁carré", + -12.99611759185791 + ], + [ + "Mostly", + -12.996174812316895 + ], + [ + "▁Harley", + -12.996193885803223 + ], + [ + "▁locati", + -12.996216773986816 + ], + [ + "▁Klo", + -12.996223449707031 + ], + [ + "▁Equal", + -12.996238708496094 + ], + [ + "▁citat", + -12.996369361877441 + ], + [ + "▁argint", + -12.996478080749512 + ], + [ + "prüft", + -12.996528625488281 + ], + [ + "▁Fence", + -12.996600151062012 + ], + [ + "positive", + -12.996988296508789 + ], + [ + "▁Kaz", + -12.997245788574219 + ], + [ + "▁distortion", + -12.997342109680176 + ], + [ + "▁sâmbătă", + -12.997342109680176 + ], + [ + "▁frontière", + -12.997346878051758 + ], + [ + "▁revanch", + -12.997394561767578 + ], + [ + "▁Held", + -12.997465133666992 + ], + [ + "▁Hobb", + -12.99776554107666 + ], + [ + "▁reuşit", + -12.997796058654785 + ], + [ + "deem", + -12.997880935668945 + ], + [ + "▁dorint", + -12.997902870178223 + ], + [ + "▁Anlagen", + -12.997908592224121 + ], + [ + "▁cheval", + -12.997973442077637 + ], + [ + "630", + -12.99806022644043 + ], + [ + "▁implementare", + -12.99808406829834 + ], + [ + "▁curator", + -12.99821662902832 + ], + [ + "▁legislator", + -12.998247146606445 + ], + [ + "▁potassium", + -12.998247146606445 + ], + [ + "▁veterinarian", + -12.998247146606445 + ], + [ + "▁domenii", + -12.998273849487305 + ], + [ + "▁revue", + -12.998310089111328 + ], + [ + "Vielen", + -12.998333930969238 + ], + [ + "africain", + -12.998570442199707 + ], + [ + "before", + -12.998680114746094 + ], + [ + "▁Bestandteil", + -12.998702049255371 + ], + [ + "▁(2010)", + -12.998767852783203 + ], + [ + "▁Arlington", + -12.999153137207031 + ], + [ + "▁Gründung", + -12.999153137207031 + ], + [ + "▁Sprinkle", + -12.999153137207031 + ], + [ + "▁Princeton", + -12.999186515808105 + ], + [ + "chirurg", + -12.999228477478027 + ], + [ + "▁laissé", + -12.999357223510742 + ], + [ + "whoever", + -12.999384880065918 + ], + [ + "▁pasture", + -12.999431610107422 + ], + [ + "ajute", + -12.999436378479004 + ], + [ + "▁joyful", + -12.999494552612305 + ], + [ + "etapa", + -12.999905586242676 + ], + [ + "ESP", + -13.000017166137695 + ], + [ + "▁Iohannis", + -13.000059127807617 + ], + [ + "▁10:30", + -13.000127792358398 + ], + [ + "▁Kingston", + -13.000140190124512 + ], + [ + "▁contender", + -13.000164031982422 + ], + [ + "▁Damage", + -13.000177383422852 + ], + [ + "▁schreibt", + -13.000482559204102 + ], + [ + "sstisch", + -13.000631332397461 + ], + [ + "Associated", + -13.00072956085205 + ], + [ + "▁disposable", + -13.000782012939453 + ], + [ + "veranstaltung", + -13.00096607208252 + ], + [ + "▁puppet", + -13.00100040435791 + ], + [ + "pong", + -13.001093864440918 + ], + [ + "▁Chronicle", + -13.001176834106445 + ], + [ + "222", + -13.001286506652832 + ], + [ + "intuit", + -13.001396179199219 + ], + [ + "inscrire", + -13.001429557800293 + ], + [ + "▁speeches", + -13.001431465148926 + ], + [ + "▁Eingang", + -13.001775741577148 + ], + [ + "▁Adidas", + -13.001875877380371 + ], + [ + "▁cemetery", + -13.001877784729004 + ], + [ + "▁juicy", + -13.001885414123535 + ], + [ + "▁wertvolle", + -13.0018892288208 + ], + [ + "▁militari", + -13.001917839050293 + ], + [ + "China", + -13.00196361541748 + ], + [ + "ecția", + -13.002041816711426 + ], + [ + "luster", + -13.002063751220703 + ], + [ + "auftrag", + -13.00234317779541 + ], + [ + "▁Marius", + -13.002523422241211 + ], + [ + "▁crossover", + -13.002555847167969 + ], + [ + "▁enthusiast", + -13.002555847167969 + ], + [ + "▁cantitate", + -13.002630233764648 + ], + [ + "▁animat", + -13.002634048461914 + ], + [ + "Park", + -13.002793312072754 + ], + [ + "▁unchanged", + -13.00279426574707 + ], + [ + "russia", + -13.00281810760498 + ], + [ + "instant", + -13.002833366394043 + ], + [ + "ţiunea", + -13.002835273742676 + ], + [ + "▁franchi", + -13.002920150756836 + ], + [ + "▁mobiliz", + -13.002963066101074 + ], + [ + "athlet", + -13.003013610839844 + ], + [ + "▁Cardio", + -13.0031099319458 + ], + [ + "▁supus", + -13.003119468688965 + ], + [ + "▁Griff", + -13.003137588500977 + ], + [ + "flakes", + -13.003217697143555 + ], + [ + "soluble", + -13.003250122070312 + ], + [ + "Known", + -13.003693580627441 + ], + [ + "leaking", + -13.003741264343262 + ], + [ + "▁Holocaust", + -13.004148483276367 + ], + [ + "gift", + -13.004197120666504 + ], + [ + "▁tradiţi", + -13.004359245300293 + ], + [ + "▁southeast", + -13.004498481750488 + ], + [ + "▁correspondant", + -13.00460147857666 + ], + [ + "Isaiah", + -13.004603385925293 + ], + [ + "▁diagonal", + -13.004606246948242 + ], + [ + "▁Probabil", + -13.004680633544922 + ], + [ + "▁dégust", + -13.004791259765625 + ], + [ + "▁Naval", + -13.004802703857422 + ], + [ + "▁cultivation", + -13.004839897155762 + ], + [ + "▁Vertrieb", + -13.004849433898926 + ], + [ + "▁pony", + -13.004854202270508 + ], + [ + "▁Throw", + -13.0050048828125 + ], + [ + "little", + -13.005010604858398 + ], + [ + "▁remarque", + -13.005074501037598 + ], + [ + "▁parcare", + -13.005085945129395 + ], + [ + "3.8", + -13.00518798828125 + ], + [ + "▁renunt", + -13.005330085754395 + ], + [ + "▁Rewards", + -13.005487442016602 + ], + [ + "▁Thur", + -13.005496978759766 + ], + [ + "▁underestimate", + -13.005515098571777 + ], + [ + "▁frankly", + -13.005516052246094 + ], + [ + "Bretagne", + -13.005517959594727 + ], + [ + "axial", + -13.005537986755371 + ], + [ + "▁identities", + -13.0055570602417 + ], + [ + "▁Harvest", + -13.00561237335205 + ], + [ + "▁skippe", + -13.00561237335205 + ], + [ + "▁Boutique", + -13.005670547485352 + ], + [ + "▁intuition", + -13.005746841430664 + ], + [ + "▁Rotary", + -13.00581169128418 + ], + [ + "▁SERVICE", + -13.005875587463379 + ], + [ + "▁refill", + -13.005915641784668 + ], + [ + "▁arcade", + -13.006060600280762 + ], + [ + "▁komme", + -13.006386756896973 + ], + [ + "▁irrelevant", + -13.006427764892578 + ], + [ + "▁Sortiment", + -13.006429672241211 + ], + [ + "▁scriitor", + -13.006488800048828 + ], + [ + "▁clicked", + -13.006516456604004 + ], + [ + "▁ciel", + -13.006610870361328 + ], + [ + "▁Caesar", + -13.00680160522461 + ], + [ + "hound", + -13.006803512573242 + ], + [ + "whipped", + -13.006843566894531 + ], + [ + "licate", + -13.006867408752441 + ], + [ + "▁formatting", + -13.006986618041992 + ], + [ + "▁mosaic", + -13.007028579711914 + ], + [ + "(2017)", + -13.007122039794922 + ], + [ + "777", + -13.007257461547852 + ], + [ + "▁Messenger", + -13.007342338562012 + ], + [ + "dulci", + -13.007369041442871 + ], + [ + "▁(2016)", + -13.007420539855957 + ], + [ + "▁popcorn", + -13.007425308227539 + ], + [ + "▁Presidential", + -13.007497787475586 + ], + [ + "▁brokerage", + -13.007564544677734 + ], + [ + "dachte", + -13.00762939453125 + ], + [ + "verkauf", + -13.00768756866455 + ], + [ + "▁pomme", + -13.007721900939941 + ], + [ + "▁fret", + -13.007822036743164 + ], + [ + "▁revere", + -13.007894515991211 + ], + [ + "▁Canvas", + -13.008092880249023 + ], + [ + "▁Nottingham", + -13.008255004882812 + ], + [ + "▁Refuge", + -13.008257865905762 + ], + [ + "▁injustice", + -13.008259773254395 + ], + [ + "▁External", + -13.008264541625977 + ], + [ + "dincolo", + -13.008304595947266 + ], + [ + "directing", + -13.008511543273926 + ], + [ + "▁Toulouse", + -13.008710861206055 + ], + [ + "▁cheltuieli", + -13.008746147155762 + ], + [ + "▁distrus", + -13.008816719055176 + ], + [ + "impôt", + -13.008912086486816 + ], + [ + "landschaft", + -13.008964538574219 + ], + [ + "passion", + -13.00897216796875 + ], + [ + "▁Hobby", + -13.009099006652832 + ], + [ + "significant", + -13.009115219116211 + ], + [ + "▁Guinea", + -13.009209632873535 + ], + [ + "pecializing", + -13.009237289428711 + ], + [ + "pozitie", + -13.009245872497559 + ], + [ + "bourne", + -13.009295463562012 + ], + [ + "▁mâini", + -13.00933837890625 + ], + [ + "▁CFR", + -13.009395599365234 + ], + [ + "▁Konflikt", + -13.009626388549805 + ], + [ + "▁Vodafone", + -13.009626388549805 + ], + [ + "OUG", + -13.009681701660156 + ], + [ + "▁Übersicht", + -13.009735107421875 + ], + [ + "negotiated", + -13.009903907775879 + ], + [ + "▁gliss", + -13.010042190551758 + ], + [ + "▁Kapital", + -13.010111808776855 + ], + [ + "QC", + -13.0101318359375 + ], + [ + "▁gentleman", + -13.01024341583252 + ], + [ + "Inde", + -13.010514259338379 + ], + [ + "▁immensely", + -13.010639190673828 + ], + [ + "Business", + -13.010702133178711 + ], + [ + "▁04/2", + -13.010882377624512 + ], + [ + "societatea", + -13.010973930358887 + ], + [ + "fluoxetine", + -13.011000633239746 + ], + [ + "▁Wachstum", + -13.011000633239746 + ], + [ + "▁récit", + -13.011011123657227 + ], + [ + "▁Preisvergleich", + -13.011034965515137 + ], + [ + "▁Mohammed", + -13.011460304260254 + ], + [ + "gefangen", + -13.011462211608887 + ], + [ + "▁calibration", + -13.011608123779297 + ], + [ + "bekam", + -13.011728286743164 + ], + [ + "▁FUN", + -13.011758804321289 + ], + [ + "wasting", + -13.011839866638184 + ], + [ + "▁prosper", + -13.011862754821777 + ], + [ + "▁Afghan", + -13.011919021606445 + ], + [ + "▁Heroes", + -13.011921882629395 + ], + [ + "▁VMware", + -13.011927604675293 + ], + [ + "exception", + -13.011969566345215 + ], + [ + "▁înlocui", + -13.01244831085205 + ], + [ + "Neu", + -13.01246452331543 + ], + [ + "initiation", + -13.01250171661377 + ], + [ + "▁Peel", + -13.01281452178955 + ], + [ + "▁cunoaste", + -13.012836456298828 + ], + [ + "▁menschliche", + -13.012849807739258 + ], + [ + "▁poarta", + -13.012852668762207 + ], + [ + "▁congestion", + -13.012930870056152 + ], + [ + "▁îmbunătăț", + -13.013103485107422 + ], + [ + "EUR", + -13.013171195983887 + ], + [ + "▁sushi", + -13.01326847076416 + ], + [ + "Jährige", + -13.01329517364502 + ], + [ + "espoir", + -13.013423919677734 + ], + [ + "inspected", + -13.013444900512695 + ], + [ + "▁etape", + -13.013677597045898 + ], + [ + "▁pharmacist", + -13.013754844665527 + ], + [ + "flect", + -13.013840675354004 + ], + [ + "Changing", + -13.013932228088379 + ], + [ + "▁radiant", + -13.014046669006348 + ], + [ + "Daddy", + -13.014275550842285 + ], + [ + "▁categorii", + -13.014360427856445 + ], + [ + "quête", + -13.014628410339355 + ], + [ + "▁skincare", + -13.014657020568848 + ], + [ + "hébergement", + -13.014674186706543 + ], + [ + "840", + -13.01477336883545 + ], + [ + "awaiting", + -13.014822006225586 + ], + [ + "▁murdered", + -13.014841079711914 + ], + [ + "▁proficient", + -13.014863967895508 + ], + [ + "▁chauffe", + -13.014899253845215 + ], + [ + "▁contur", + -13.014937400817871 + ], + [ + "▁rejoindre", + -13.015145301818848 + ], + [ + "▁foloseste", + -13.01521110534668 + ], + [ + "▁Grup", + -13.01535701751709 + ], + [ + "152", + -13.01541519165039 + ], + [ + "▁workspace", + -13.015438079833984 + ], + [ + "▁primitive", + -13.015546798706055 + ], + [ + "▁Ginger", + -13.015557289123535 + ], + [ + "▁chemotherapy", + -13.015595436096191 + ], + [ + "▁platinum", + -13.015596389770508 + ], + [ + "▁sarcina", + -13.01559829711914 + ], + [ + "▁revival", + -13.015820503234863 + ], + [ + "▁Meditation", + -13.016111373901367 + ], + [ + "▁Vogel", + -13.0161714553833 + ], + [ + "IMA", + -13.016359329223633 + ], + [ + "▁handset", + -13.016486167907715 + ], + [ + "▁Nachmittag", + -13.01651668548584 + ], + [ + "▁déchets", + -13.016517639160156 + ], + [ + "▁Cornwall", + -13.0165433883667 + ], + [ + "▁Curry", + -13.016605377197266 + ], + [ + "▁cuplu", + -13.016607284545898 + ], + [ + "▁Birth", + -13.016822814941406 + ], + [ + "forward", + -13.016936302185059 + ], + [ + "Dezvoltare", + -13.016977310180664 + ], + [ + "▁irgendwie", + -13.016980171203613 + ], + [ + "▁erzielt", + -13.016993522644043 + ], + [ + "LOS", + -13.01700496673584 + ], + [ + "▁overload", + -13.01708984375 + ], + [ + "▁repay", + -13.01713752746582 + ], + [ + "urlaub", + -13.017155647277832 + ], + [ + "7.0", + -13.01716423034668 + ], + [ + "▁Wheat", + -13.01748275756836 + ], + [ + "▁degrab", + -13.017488479614258 + ], + [ + "▁Brock", + -13.017491340637207 + ], + [ + "▁inhabit", + -13.0176362991333 + ], + [ + "▁Speech", + -13.017834663391113 + ], + [ + "directional", + -13.017862319946289 + ], + [ + "▁Mandel", + -13.017909049987793 + ], + [ + "▁erscheinen", + -13.01791763305664 + ], + [ + "consciously", + -13.018059730529785 + ], + [ + "▁sunet", + -13.0182523727417 + ], + [ + "▁stole", + -13.018259048461914 + ], + [ + "▁Utilis", + -13.018349647521973 + ], + [ + "▁obstruction", + -13.01852798461914 + ], + [ + "▁mindfulness", + -13.0186767578125 + ], + [ + "partnering", + -13.01868724822998 + ], + [ + "CSI", + -13.018819808959961 + ], + [ + "204", + -13.01905632019043 + ], + [ + "▁squirrel", + -13.019286155700684 + ], + [ + "▁Rwanda", + -13.01975154876709 + ], + [ + "▁hunters", + -13.019850730895996 + ], + [ + "▁revitaliz", + -13.02022647857666 + ], + [ + "▁avansat", + -13.020232200622559 + ], + [ + "▁Yamaha", + -13.020294189453125 + ], + [ + "foto", + -13.020435333251953 + ], + [ + "▁Vegan", + -13.020469665527344 + ], + [ + "▁pitched", + -13.02053165435791 + ], + [ + "▁Vortrag", + -13.020540237426758 + ], + [ + "traditional", + -13.020809173583984 + ], + [ + "offrent", + -13.021024703979492 + ], + [ + "▁Expression", + -13.021315574645996 + ], + [ + "▁apprécié", + -13.021354675292969 + ], + [ + "▁Christina", + -13.021408081054688 + ], + [ + "eilig", + -13.021464347839355 + ], + [ + "▁verhindern", + -13.021599769592285 + ], + [ + "culturii", + -13.021607398986816 + ], + [ + "Aşa", + -13.021703720092773 + ], + [ + "▁enamel", + -13.021756172180176 + ], + [ + "▁fördern", + -13.021771430969238 + ], + [ + "▁acheté", + -13.021798133850098 + ], + [ + "▁eventuell", + -13.021842956542969 + ], + [ + "▁Sino", + -13.021873474121094 + ], + [ + "▁totodat", + -13.022008895874023 + ], + [ + "accelerated", + -13.022202491760254 + ], + [ + "▁strengthened", + -13.02245044708252 + ], + [ + "corro", + -13.022482872009277 + ], + [ + "4,5", + -13.02253246307373 + ], + [ + "▁Beverly", + -13.022533416748047 + ], + [ + "ulevard", + -13.022615432739258 + ], + [ + "▁hamper", + -13.022644996643066 + ], + [ + "▁Tempe", + -13.02268123626709 + ], + [ + "▁Yacht", + -13.022799491882324 + ], + [ + "▁LGBT", + -13.022871017456055 + ], + [ + "▁fingertips", + -13.022991180419922 + ], + [ + "▁Auftraggeber", + -13.02299976348877 + ], + [ + "▁harbour", + -13.0230131149292 + ], + [ + "blew", + -13.0230712890625 + ], + [ + "▁ideology", + -13.023115158081055 + ], + [ + "▁covenant", + -13.023170471191406 + ], + [ + "▁faction", + -13.023419380187988 + ], + [ + "▁animé", + -13.023481369018555 + ], + [ + "energie", + -13.023515701293945 + ], + [ + "iterführende", + -13.02369499206543 + ], + [ + "▁MAI", + -13.023784637451172 + ], + [ + "▁pluie", + -13.023905754089355 + ], + [ + "▁cathedral", + -13.023919105529785 + ], + [ + "▁chiropractic", + -13.023919105529785 + ], + [ + "monies", + -13.023968696594238 + ], + [ + "▁contraction", + -13.024054527282715 + ], + [ + "pvc", + -13.024202346801758 + ], + [ + "staff", + -13.024209022521973 + ], + [ + "BIT", + -13.024216651916504 + ], + [ + "EET", + -13.024514198303223 + ], + [ + "▁sanction", + -13.024575233459473 + ], + [ + "▁Reiki", + -13.024709701538086 + ], + [ + "Trying", + -13.024772644042969 + ], + [ + "▁endangered", + -13.024847984313965 + ], + [ + "▁Emperor", + -13.024849891662598 + ], + [ + "▁empfi", + -13.024909973144531 + ], + [ + "animation", + -13.024998664855957 + ], + [ + "207", + -13.025029182434082 + ], + [ + "separating", + -13.02512264251709 + ], + [ + "▁lucrative", + -13.025148391723633 + ], + [ + "▁ortho", + -13.02524185180664 + ], + [ + "variété", + -13.025266647338867 + ], + [ + "hésit", + -13.025287628173828 + ], + [ + "nuances", + -13.025289535522461 + ], + [ + "▁$250", + -13.025394439697266 + ], + [ + "▁drumuri", + -13.025435447692871 + ], + [ + "▁unsafe", + -13.025446891784668 + ], + [ + "▁1943", + -13.025477409362793 + ], + [ + "▁automatique", + -13.025524139404297 + ], + [ + "billed", + -13.025585174560547 + ], + [ + "▁rectangle", + -13.02578067779541 + ], + [ + "▁Spannung", + -13.025781631469727 + ], + [ + "▁dévoil", + -13.025790214538574 + ], + [ + "▁perimeter", + -13.02580738067627 + ], + [ + "▁imaginative", + -13.02581787109375 + ], + [ + "actifs", + -13.025851249694824 + ], + [ + "neuve", + -13.0259428024292 + ], + [ + "leagă", + -13.026269912719727 + ], + [ + "gehende", + -13.026700973510742 + ], + [ + "▁Gorgeous", + -13.026708602905273 + ], + [ + "▁impeccable", + -13.026708602905273 + ], + [ + "▁Curtain", + -13.026718139648438 + ], + [ + "▁presume", + -13.026731491088867 + ], + [ + "surpassed", + -13.02687931060791 + ], + [ + "schiff", + -13.026927947998047 + ], + [ + "Allied", + -13.02699089050293 + ], + [ + "fanden", + -13.027080535888672 + ], + [ + "▁célébr", + -13.027174949645996 + ], + [ + "▁phénomène", + -13.027174949645996 + ], + [ + "▁Powell", + -13.027413368225098 + ], + [ + "jean", + -13.027631759643555 + ], + [ + "▁peculiar", + -13.027640342712402 + ], + [ + "▁Antarctic", + -13.027641296386719 + ], + [ + "▁gradient", + -13.027663230895996 + ], + [ + "▁brainstorm", + -13.027704238891602 + ], + [ + "échapp", + -13.027726173400879 + ], + [ + "Bot", + -13.027738571166992 + ], + [ + "cita", + -13.027743339538574 + ], + [ + "▁lumber", + -13.027752876281738 + ], + [ + "weichen", + -13.027852058410645 + ], + [ + "▁Halte", + -13.028024673461914 + ], + [ + "▁noștri", + -13.028107643127441 + ], + [ + "construction", + -13.028165817260742 + ], + [ + "DOC", + -13.028236389160156 + ], + [ + "▁aluat", + -13.028319358825684 + ], + [ + "streamlined", + -13.028462409973145 + ], + [ + "Bio", + -13.028494834899902 + ], + [ + "▁nutritious", + -13.028573036193848 + ], + [ + "▁délicat", + -13.0286283493042 + ], + [ + "▁sticla", + -13.028656959533691 + ], + [ + "OVE", + -13.028721809387207 + ], + [ + "▁panneau", + -13.028793334960938 + ], + [ + "▁hetero", + -13.028801918029785 + ], + [ + "▁annul", + -13.028839111328125 + ], + [ + "IDA", + -13.028935432434082 + ], + [ + "▁pitches", + -13.028960227966309 + ], + [ + "▁Edmonton", + -13.029040336608887 + ], + [ + "mediated", + -13.029136657714844 + ], + [ + "AFP", + -13.029139518737793 + ], + [ + "▁Tibetan", + -13.029228210449219 + ], + [ + "intégration", + -13.02934455871582 + ], + [ + "▁Rox", + -13.0294771194458 + ], + [ + "energia", + -13.02950668334961 + ], + [ + "▁reconnaît", + -13.029509544372559 + ], + [ + "▁ține", + -13.029525756835938 + ], + [ + "▁ignition", + -13.029534339904785 + ], + [ + "Foarte", + -13.029541015625 + ], + [ + "▁HOME", + -13.029545783996582 + ], + [ + "▁MLB", + -13.029545783996582 + ], + [ + "▁Wähle", + -13.029590606689453 + ], + [ + "▁Merkel", + -13.029658317565918 + ], + [ + "poarte", + -13.029664993286133 + ], + [ + "ALT", + -13.02979850769043 + ], + [ + "jenigen", + -13.029985427856445 + ], + [ + "▁conflit", + -13.029987335205078 + ], + [ + "▁buckle", + -13.029996871948242 + ], + [ + "▁cacao", + -13.030035018920898 + ], + [ + "▁représentation", + -13.030076026916504 + ], + [ + "incepand", + -13.030267715454102 + ], + [ + "▁Carroll", + -13.030306816101074 + ], + [ + "▁clientilor", + -13.030370712280273 + ], + [ + "▁immunity", + -13.030441284179688 + ], + [ + "oût", + -13.03044319152832 + ], + [ + "▁Witch", + -13.030488014221191 + ], + [ + "▁Wolfgang", + -13.030532836914062 + ], + [ + "▁prudent", + -13.030701637268066 + ], + [ + "fotograf", + -13.03084945678711 + ], + [ + "paar", + -13.030871391296387 + ], + [ + "ergeti", + -13.030927658081055 + ], + [ + "▁empowerment", + -13.031112670898438 + ], + [ + "▁Admir", + -13.03122329711914 + ], + [ + "▁complémentaire", + -13.031340599060059 + ], + [ + "▁angepasst", + -13.031376838684082 + ], + [ + "▁flirt", + -13.031376838684082 + ], + [ + "▁elektronische", + -13.031388282775879 + ], + [ + "▁stereotype", + -13.03140640258789 + ], + [ + "SIL", + -13.031465530395508 + ], + [ + "▁Realtor", + -13.031471252441406 + ], + [ + "Edit", + -13.031774520874023 + ], + [ + "requête", + -13.03181266784668 + ], + [ + "▁Herstellung", + -13.031815528869629 + ], + [ + "▁cyst", + -13.031947135925293 + ], + [ + "syndic", + -13.031994819641113 + ], + [ + "leni", + -13.032007217407227 + ], + [ + "▁fringe", + -13.032020568847656 + ], + [ + "▁Jardin", + -13.032032012939453 + ], + [ + "▁Vezi", + -13.032052993774414 + ], + [ + "▁Ausstattung", + -13.032312393188477 + ], + [ + "▁glide", + -13.032590866088867 + ], + [ + "▁Andere", + -13.032758712768555 + ], + [ + "▁Haftung", + -13.032781600952148 + ], + [ + "maßnahmen", + -13.032788276672363 + ], + [ + "▁recommandé", + -13.032790184020996 + ], + [ + "▁nave", + -13.032793998718262 + ], + [ + "viziune", + -13.033051490783691 + ], + [ + "▁stimulus", + -13.033098220825195 + ], + [ + "faulty", + -13.0331449508667 + ], + [ + "▁vicinity", + -13.033249855041504 + ], + [ + "▁turnaround", + -13.033445358276367 + ], + [ + "stammt", + -13.033846855163574 + ], + [ + "▁problemlos", + -13.033856391906738 + ], + [ + "▁Establish", + -13.03415298461914 + ], + [ + "▁Silva", + -13.034172058105469 + ], + [ + "▁muzică", + -13.034187316894531 + ], + [ + "▁theatrical", + -13.03421401977539 + ], + [ + "▁braid", + -13.034242630004883 + ], + [ + "▁blieb", + -13.034276962280273 + ], + [ + "158", + -13.034296989440918 + ], + [ + "▁ignorance", + -13.034330368041992 + ], + [ + "onset", + -13.034416198730469 + ], + [ + "zeitlich", + -13.034523963928223 + ], + [ + "▁Sink", + -13.034523963928223 + ], + [ + "▁caractéris", + -13.034594535827637 + ], + [ + "▁kreative", + -13.03465747833252 + ], + [ + "behörde", + -13.034677505493164 + ], + [ + "repairing", + -13.034680366516113 + ], + [ + "▁tumble", + -13.034757614135742 + ], + [ + "zione", + -13.034871101379395 + ], + [ + "▁Evil", + -13.03494644165039 + ], + [ + "▁popping", + -13.034952163696289 + ], + [ + "▁mutant", + -13.035025596618652 + ], + [ + "emme", + -13.035030364990234 + ], + [ + "▁Pleasant", + -13.035125732421875 + ], + [ + "▁appetizer", + -13.035125732421875 + ], + [ + "▁PLEASE", + -13.035126686096191 + ], + [ + "▁physiological", + -13.035128593444824 + ], + [ + "▁Facility", + -13.035131454467773 + ], + [ + "▁quirky", + -13.035131454467773 + ], + [ + "▁colectiv", + -13.035154342651367 + ], + [ + "151", + -13.035181999206543 + ], + [ + "August", + -13.03531551361084 + ], + [ + "▁Jewelry", + -13.035327911376953 + ], + [ + "▁ziar", + -13.035481452941895 + ], + [ + "▁puissant", + -13.035489082336426 + ], + [ + "▁Argument", + -13.035595893859863 + ], + [ + "▁Betracht", + -13.035621643066406 + ], + [ + "▁TRANS", + -13.035636901855469 + ], + [ + "Exception", + -13.036011695861816 + ], + [ + "nosti", + -13.036083221435547 + ], + [ + "▁Geographic", + -13.036155700683594 + ], + [ + "amazingly", + -13.036173820495605 + ], + [ + "▁météo", + -13.036181449890137 + ], + [ + "streit", + -13.036314010620117 + ], + [ + "▁idle", + -13.036439895629883 + ], + [ + "179", + -13.036441802978516 + ], + [ + "▁Bremen", + -13.036534309387207 + ], + [ + "▁Kläger", + -13.03653621673584 + ], + [ + "▁Grammy", + -13.036598205566406 + ], + [ + "▁Philosophy", + -13.036613464355469 + ], + [ + "▁utilizeaz", + -13.036779403686523 + ], + [ + "Accord", + -13.036897659301758 + ], + [ + "▁USDA", + -13.036986351013184 + ], + [ + "Continuing", + -13.037010192871094 + ], + [ + "geschenk", + -13.037178039550781 + ], + [ + "kredit", + -13.037248611450195 + ], + [ + "Laugh", + -13.037297248840332 + ], + [ + "oaring", + -13.037406921386719 + ], + [ + "▁Richter", + -13.037460327148438 + ], + [ + "▁Figur", + -13.037938117980957 + ], + [ + "▁inconsistent", + -13.037947654724121 + ], + [ + "cresterea", + -13.038069725036621 + ], + [ + "▁regeneration", + -13.038130760192871 + ], + [ + "speaking", + -13.03818416595459 + ], + [ + "▁nasal", + -13.03824234008789 + ], + [ + "▁partagé", + -13.038259506225586 + ], + [ + "▁Warranty", + -13.038419723510742 + ], + [ + "▁Mueller", + -13.038501739501953 + ], + [ + "formează", + -13.038734436035156 + ], + [ + "hundert", + -13.038745880126953 + ], + [ + "gemeldet", + -13.038893699645996 + ], + [ + "▁excursions", + -13.038912773132324 + ], + [ + "▁linii", + -13.039066314697266 + ], + [ + "gefährlich", + -13.039067268371582 + ], + [ + "▁schema", + -13.03907299041748 + ], + [ + "nişte", + -13.039131164550781 + ], + [ + "▁roadway", + -13.039132118225098 + ], + [ + "▁regression", + -13.039135932922363 + ], + [ + "▁mână", + -13.039366722106934 + ], + [ + "5.3", + -13.039373397827148 + ], + [ + "▁Spät", + -13.039734840393066 + ], + [ + "▁stubborn", + -13.039833068847656 + ], + [ + "efectele", + -13.040030479431152 + ], + [ + "▁atenţi", + -13.040136337280273 + ], + [ + "▁dovedit", + -13.04018497467041 + ], + [ + "▁Agile", + -13.040190696716309 + ], + [ + "denying", + -13.04023265838623 + ], + [ + "fluss", + -13.040620803833008 + ], + [ + "▁Calvin", + -13.04066276550293 + ], + [ + "Sculpt", + -13.04083251953125 + ], + [ + "égalité", + -13.040884971618652 + ], + [ + "ticket", + -13.040977478027344 + ], + [ + "marketed", + -13.041044235229492 + ], + [ + "holic", + -13.041173934936523 + ], + [ + "▁eCommerce", + -13.041346549987793 + ], + [ + "▁Slip", + -13.041369438171387 + ], + [ + "▁degradation", + -13.041736602783203 + ], + [ + "écart", + -13.041742324829102 + ], + [ + "AGR", + -13.041807174682617 + ], + [ + "▁burglar", + -13.041837692260742 + ], + [ + "▁conjug", + -13.041903495788574 + ], + [ + "LLP", + -13.04194164276123 + ], + [ + "couvrir", + -13.041997909545898 + ], + [ + "▁Hearing", + -13.042001724243164 + ], + [ + "▁canton", + -13.042006492614746 + ], + [ + "▁sixteen", + -13.042068481445312 + ], + [ + "▁Verlust", + -13.042097091674805 + ], + [ + "allied", + -13.042268753051758 + ], + [ + "Performing", + -13.042393684387207 + ], + [ + "▁évoqu", + -13.042519569396973 + ], + [ + "▁bookstore", + -13.042574882507324 + ], + [ + "▁intrebari", + -13.042627334594727 + ], + [ + "▁Hyderabad", + -13.042668342590332 + ], + [ + "▁repertoire", + -13.042668342590332 + ], + [ + "▁cablu", + -13.042678833007812 + ], + [ + "▁Costume", + -13.04269790649414 + ], + [ + "▁Shannon", + -13.042713165283203 + ], + [ + "▁glossy", + -13.042800903320312 + ], + [ + "▁cible", + -13.042876243591309 + ], + [ + "Saint", + -13.042984008789062 + ], + [ + "▁Ultima", + -13.043042182922363 + ], + [ + "▁teint", + -13.0432767868042 + ], + [ + "▁envision", + -13.043477058410645 + ], + [ + "▁thinner", + -13.043478965759277 + ], + [ + "ис", + -13.043609619140625 + ], + [ + "▁bladder", + -13.043615341186523 + ], + [ + "▁Prairie", + -13.043618202209473 + ], + [ + "▁puppies", + -13.043633460998535 + ], + [ + "▁overweight", + -13.043729782104492 + ], + [ + "destined", + -13.043925285339355 + ], + [ + "▁addictive", + -13.043935775756836 + ], + [ + "▁posé", + -13.043993949890137 + ], + [ + "▁mecanism", + -13.044112205505371 + ], + [ + "▁chorus", + -13.044466972351074 + ], + [ + "weder", + -13.044528007507324 + ], + [ + "▁begrüß", + -13.044562339782715 + ], + [ + "▁unsuccessful", + -13.044562339782715 + ], + [ + "executing", + -13.044564247131348 + ], + [ + "▁metadata", + -13.044611930847168 + ], + [ + "traiter", + -13.044620513916016 + ], + [ + "▁borrowed", + -13.044649124145508 + ], + [ + "▁aeroport", + -13.044679641723633 + ], + [ + "▁Bibli", + -13.044761657714844 + ], + [ + "▁youthful", + -13.044902801513672 + ], + [ + "▁Herbert", + -13.044913291931152 + ], + [ + "client", + -13.04500961303711 + ], + [ + "merci", + -13.04520034790039 + ], + [ + "▁Beast", + -13.045210838317871 + ], + [ + "▁Entrepreneur", + -13.045230865478516 + ], + [ + "▁Gelände", + -13.045256614685059 + ], + [ + "▁Packers", + -13.045268058776855 + ], + [ + "formarea", + -13.045469284057617 + ], + [ + "▁Kündigung", + -13.045511245727539 + ], + [ + "▁verdient", + -13.045515060424805 + ], + [ + "▁solutie", + -13.045530319213867 + ], + [ + "figuration", + -13.045611381530762 + ], + [ + "voluntarily", + -13.045622825622559 + ], + [ + "Gregor", + -13.045742988586426 + ], + [ + "▁Uncle", + -13.04589557647705 + ], + [ + "tarifs", + -13.045907020568848 + ], + [ + "▁écologique", + -13.045987129211426 + ], + [ + "▁Investition", + -13.045991897583008 + ], + [ + "exemplar", + -13.046127319335938 + ], + [ + "▁prevede", + -13.046144485473633 + ], + [ + "▁waive", + -13.046147346496582 + ], + [ + "▁Legion", + -13.046156883239746 + ], + [ + "similar", + -13.046247482299805 + ], + [ + "▁shareholder", + -13.04626750946045 + ], + [ + "▁oyster", + -13.046476364135742 + ], + [ + "▁Lightning", + -13.046530723571777 + ], + [ + "experimenting", + -13.04662799835205 + ], + [ + "▁replies", + -13.04663372039795 + ], + [ + "80,000", + -13.046757698059082 + ], + [ + "▁adept", + -13.04692554473877 + ], + [ + "▁Crăciun", + -13.046935081481934 + ], + [ + "▁sanatos", + -13.046935081481934 + ], + [ + "305", + -13.04699993133545 + ], + [ + "specialised", + -13.047069549560547 + ], + [ + "▁drummer", + -13.047189712524414 + ], + [ + "Applicants", + -13.04741096496582 + ], + [ + "objekt", + -13.04741096496582 + ], + [ + "▁Fifth", + -13.047446250915527 + ], + [ + "rgic", + -13.047567367553711 + ], + [ + "theater", + -13.047635078430176 + ], + [ + "▁terminé", + -13.047852516174316 + ], + [ + "▁Englisch", + -13.047894477844238 + ], + [ + "▁Oradea", + -13.047898292541504 + ], + [ + "possesses", + -13.0479097366333 + ], + [ + "illiers", + -13.047986030578613 + ], + [ + "▁refurbish", + -13.048110961914062 + ], + [ + "graphie", + -13.04814338684082 + ], + [ + "▁Booth", + -13.048174858093262 + ], + [ + "▁Ausdruck", + -13.048192977905273 + ], + [ + "▁Marriage", + -13.048361778259277 + ], + [ + "▁knives", + -13.048362731933594 + ], + [ + "▁Relief", + -13.048368453979492 + ], + [ + "▁Clerk", + -13.048392295837402 + ], + [ + "wait", + -13.048501014709473 + ], + [ + "▁probablement", + -13.048698425292969 + ], + [ + "▁suplimentar", + -13.048701286315918 + ], + [ + "dollar", + -13.048797607421875 + ], + [ + "English", + -13.04898452758789 + ], + [ + "866", + -13.049300193786621 + ], + [ + "▁Savannah", + -13.049314498901367 + ], + [ + "▁aftermath", + -13.049318313598633 + ], + [ + "phé", + -13.04932689666748 + ], + [ + "▁Plum", + -13.049417495727539 + ], + [ + "264", + -13.049566268920898 + ], + [ + "2.000", + -13.049582481384277 + ], + [ + "niei", + -13.049603462219238 + ], + [ + "ATP", + -13.049803733825684 + ], + [ + "mila", + -13.04985523223877 + ], + [ + "▁glut", + -13.049887657165527 + ], + [ + "gotta", + -13.049891471862793 + ], + [ + "schütt", + -13.049893379211426 + ], + [ + "klick", + -13.049996376037598 + ], + [ + "whether", + -13.050090789794922 + ], + [ + "▁Wade", + -13.050163269042969 + ], + [ + "▁Riley", + -13.050280570983887 + ], + [ + "Chancellor", + -13.050288200378418 + ], + [ + "▁nebun", + -13.050300598144531 + ], + [ + "▁aufgebaut", + -13.050374984741211 + ], + [ + "steigt", + -13.050423622131348 + ], + [ + "▁entirety", + -13.050494194030762 + ], + [ + "▁telefoane", + -13.05074691772461 + ], + [ + "▁Roulette", + -13.050763130187988 + ], + [ + "1700", + -13.050787925720215 + ], + [ + "▁lycée", + -13.050856590270996 + ], + [ + "rotary", + -13.051128387451172 + ], + [ + "benefited", + -13.051170349121094 + ], + [ + "▁Bisericii", + -13.051220893859863 + ], + [ + "▁Rehabilitation", + -13.051220893859863 + ], + [ + "▁lithium", + -13.051228523254395 + ], + [ + "imposing", + -13.051279067993164 + ], + [ + "176", + -13.051329612731934 + ], + [ + "▁thunder", + -13.051527976989746 + ], + [ + "ăsesc", + -13.052000045776367 + ], + [ + "▁Einblick", + -13.052010536193848 + ], + [ + "oiled", + -13.052151679992676 + ], + [ + "SSA", + -13.052181243896484 + ], + [ + "apparition", + -13.05224609375 + ], + [ + "▁Impress", + -13.052273750305176 + ], + [ + "▁Aboriginal", + -13.052297592163086 + ], + [ + "loos", + -13.052383422851562 + ], + [ + "▁Bread", + -13.052440643310547 + ], + [ + "177", + -13.052619934082031 + ], + [ + "VERS", + -13.052638053894043 + ], + [ + "▁Respect", + -13.05271053314209 + ], + [ + "▁Practical", + -13.053047180175781 + ], + [ + "drafting", + -13.05306339263916 + ], + [ + "си", + -13.053099632263184 + ], + [ + "▁faza", + -13.053109169006348 + ], + [ + "▁sovereign", + -13.053123474121094 + ], + [ + "▁Untersuchung", + -13.05314826965332 + ], + [ + "▁Niveau", + -13.053154945373535 + ], + [ + "transport", + -13.053182601928711 + ], + [ + "▁downstream", + -13.053293228149414 + ], + [ + "▁Milton", + -13.053383827209473 + ], + [ + "▁knob", + -13.053390502929688 + ], + [ + "employeur", + -13.053499221801758 + ], + [ + "▁furnish", + -13.053544044494629 + ], + [ + "weather", + -13.053564071655273 + ], + [ + "LAB", + -13.053646087646484 + ], + [ + "166", + -13.053853988647461 + ], + [ + "▁salaire", + -13.053937911987305 + ], + [ + "▁Carnival", + -13.054088592529297 + ], + [ + "4-0", + -13.054168701171875 + ], + [ + "▁Angle", + -13.054291725158691 + ], + [ + "▁José", + -13.054399490356445 + ], + [ + "architecture", + -13.054475784301758 + ], + [ + "▁Sunset", + -13.054574966430664 + ], + [ + "▁Absolut", + -13.054694175720215 + ], + [ + "▁herrlich", + -13.05470085144043 + ], + [ + "12%", + -13.054703712463379 + ], + [ + "▁Indo", + -13.054823875427246 + ], + [ + "▁Komfort", + -13.055049896240234 + ], + [ + "▁acțiuni", + -13.05505084991455 + ], + [ + "energize", + -13.055085182189941 + ], + [ + "▁Warning", + -13.055171966552734 + ], + [ + "▁Sunny", + -13.055216789245605 + ], + [ + "▁razor", + -13.055489540100098 + ], + [ + "▁psychic", + -13.055490493774414 + ], + [ + "▁convivial", + -13.055525779724121 + ], + [ + "Voraussetzungen", + -13.05555534362793 + ], + [ + "IMO", + -13.055622100830078 + ], + [ + "opérateur", + -13.055743217468262 + ], + [ + "▁langjährige", + -13.05575942993164 + ], + [ + "▁Spanie", + -13.055901527404785 + ], + [ + "pulmonary", + -13.056004524230957 + ], + [ + "▁Bingo", + -13.056050300598145 + ], + [ + "▁confession", + -13.056096076965332 + ], + [ + "▁Petru", + -13.056100845336914 + ], + [ + "▁prerequisite", + -13.056164741516113 + ], + [ + "▁dodge", + -13.056352615356445 + ], + [ + "▁McN", + -13.056436538696289 + ], + [ + "▁originate", + -13.056577682495117 + ], + [ + "▁nettoy", + -13.056612014770508 + ], + [ + "▁$14", + -13.056645393371582 + ], + [ + "▁Bride", + -13.05669116973877 + ], + [ + "▁noisy", + -13.05673885345459 + ], + [ + "▁Worcester", + -13.056963920593262 + ], + [ + "▁Surrey", + -13.056982040405273 + ], + [ + "harmonis", + -13.057110786437988 + ], + [ + "▁représentant", + -13.057304382324219 + ], + [ + "organisée", + -13.057475090026855 + ], + [ + "truction", + -13.057513236999512 + ], + [ + "injected", + -13.057597160339355 + ], + [ + "▁Suzuki", + -13.057924270629883 + ], + [ + "▁japonais", + -13.057924270629883 + ], + [ + "▁turquoise", + -13.057924270629883 + ], + [ + "▁Peut", + -13.058004379272461 + ], + [ + "▁Sequ", + -13.058028221130371 + ], + [ + "slated", + -13.058037757873535 + ], + [ + "▁Alma", + -13.058215141296387 + ], + [ + "▁gebraucht", + -13.05827522277832 + ], + [ + "gängig", + -13.058281898498535 + ], + [ + "▁commis", + -13.058377265930176 + ], + [ + "ACS", + -13.05856990814209 + ], + [ + "pressure", + -13.058664321899414 + ], + [ + "cured", + -13.05874252319336 + ], + [ + "▁Jackie", + -13.058757781982422 + ], + [ + "▁Kashmir", + -13.05888557434082 + ], + [ + "▁recruited", + -13.059000968933105 + ], + [ + "▁vécu", + -13.059011459350586 + ], + [ + "▁opus", + -13.059052467346191 + ], + [ + "kWh", + -13.05927562713623 + ], + [ + "▁tapping", + -13.059292793273926 + ], + [ + "▁tehnologie", + -13.05931282043457 + ], + [ + "▁Gentle", + -13.059365272521973 + ], + [ + "▁bombard", + -13.059372901916504 + ], + [ + "▁caméra", + -13.059427261352539 + ], + [ + "züglich", + -13.059431076049805 + ], + [ + "▁bingo", + -13.059453010559082 + ], + [ + "private", + -13.059496879577637 + ], + [ + "▁mediator", + -13.059642791748047 + ], + [ + "▁carbohydrates", + -13.059847831726074 + ], + [ + "▁workmanship", + -13.059849739074707 + ], + [ + "▁Combat", + -13.059853553771973 + ], + [ + "▁Mickey", + -13.059901237487793 + ], + [ + "▁distressed", + -13.059908866882324 + ], + [ + "lucrează", + -13.059924125671387 + ], + [ + "treatment", + -13.06007194519043 + ], + [ + "▁Einwohner", + -13.060330390930176 + ], + [ + "▁glaze", + -13.060386657714844 + ], + [ + "scholarly", + -13.06043529510498 + ], + [ + "ROC", + -13.060750007629395 + ], + [ + "▁Darwin", + -13.060774803161621 + ], + [ + "drückt", + -13.060775756835938 + ], + [ + "▁treadmill", + -13.060819625854492 + ], + [ + "ntz", + -13.060830116271973 + ], + [ + "620", + -13.061087608337402 + ], + [ + "surface", + -13.061148643493652 + ], + [ + "▁vieţii", + -13.0612211227417 + ], + [ + "990", + -13.061296463012695 + ], + [ + "▁doigt", + -13.061341285705566 + ], + [ + "▁explor", + -13.061450004577637 + ], + [ + "▁asistent", + -13.061670303344727 + ], + [ + "coloriage", + -13.061734199523926 + ], + [ + "▁Martinez", + -13.061758041381836 + ], + [ + "▁antibodies", + -13.061775207519531 + ], + [ + "Schülerinnen", + -13.061779975891113 + ], + [ + "Honestly", + -13.06178092956543 + ], + [ + "grabbing", + -13.061871528625488 + ], + [ + "▁Cardiff", + -13.061897277832031 + ], + [ + "▁Trophy", + -13.062084197998047 + ], + [ + "▁pupil", + -13.062117576599121 + ], + [ + "▁invoke", + -13.062161445617676 + ], + [ + "bezüglich", + -13.062193870544434 + ], + [ + "Anschließend", + -13.062275886535645 + ], + [ + "perks", + -13.062360763549805 + ], + [ + "530", + -13.062373161315918 + ], + [ + "▁emblem", + -13.062431335449219 + ], + [ + "770", + -13.062543869018555 + ], + [ + "clairement", + -13.062590599060059 + ], + [ + "▁sublinia", + -13.062597274780273 + ], + [ + "▁1910", + -13.062719345092773 + ], + [ + "▁Embassy", + -13.062740325927734 + ], + [ + "▁Valencia", + -13.062740325927734 + ], + [ + "▁catastrophic", + -13.062740325927734 + ], + [ + "▁simulator", + -13.06274700164795 + ], + [ + "Pierre", + -13.062766075134277 + ], + [ + "▁doorstep", + -13.062806129455566 + ], + [ + "▁rallie", + -13.062881469726562 + ], + [ + "▁șans", + -13.062891960144043 + ], + [ + "▁crosses", + -13.06300163269043 + ], + [ + "▁zodi", + -13.06312084197998 + ], + [ + "Next", + -13.06314754486084 + ], + [ + "▁rebuilt", + -13.063152313232422 + ], + [ + "▁panorama", + -13.063222885131836 + ], + [ + "196", + -13.06324291229248 + ], + [ + "▁erinnert", + -13.06370735168457 + ], + [ + "lism", + -13.06371784210205 + ], + [ + "opened", + -13.06383228302002 + ], + [ + "▁breakout", + -13.064126014709473 + ], + [ + "▁mosque", + -13.064153671264648 + ], + [ + "boc", + -13.064507484436035 + ], + [ + "▁grout", + -13.064568519592285 + ], + [ + "▁Gather", + -13.064582824707031 + ], + [ + "▁vampire", + -13.06467342376709 + ], + [ + "▁tandem", + -13.064684867858887 + ], + [ + "▁pastra", + -13.064702033996582 + ], + [ + "▁lösen", + -13.064794540405273 + ], + [ + "▁discontinu", + -13.064826965332031 + ], + [ + "fuses", + -13.064885139465332 + ], + [ + "▁identitate", + -13.064947128295898 + ], + [ + "BAC", + -13.064964294433594 + ], + [ + "▁$100,000", + -13.065122604370117 + ], + [ + "Finder", + -13.06515121459961 + ], + [ + "▁Leicester", + -13.065157890319824 + ], + [ + "▁1933", + -13.065159797668457 + ], + [ + "informatiile", + -13.065234184265137 + ], + [ + "lädt", + -13.065309524536133 + ], + [ + "iggle", + -13.065399169921875 + ], + [ + "▁Discuss", + -13.065462112426758 + ], + [ + "distributing", + -13.065470695495605 + ], + [ + "▁disappoint", + -13.065475463867188 + ], + [ + "ecţia", + -13.065611839294434 + ], + [ + "▁condiment", + -13.065640449523926 + ], + [ + "▁Marriott", + -13.065642356872559 + ], + [ + "▁entspannt", + -13.065644264221191 + ], + [ + "arbitrary", + -13.06564998626709 + ], + [ + "rühren", + -13.06574821472168 + ], + [ + "Intensiv", + -13.065771102905273 + ], + [ + "eliminare", + -13.065895080566406 + ], + [ + "muster", + -13.06594467163086 + ], + [ + "▁komplexe", + -13.066130638122559 + ], + [ + "▁(2008)", + -13.066184997558594 + ], + [ + "absolument", + -13.066349029541016 + ], + [ + "aloo", + -13.066420555114746 + ], + [ + "cererea", + -13.06655216217041 + ], + [ + "▁imobiliar", + -13.066696166992188 + ], + [ + "▁paramount", + -13.066705703735352 + ], + [ + "▁Vince", + -13.066723823547363 + ], + [ + "pov", + -13.067076683044434 + ], + [ + "▁conveyor", + -13.067549705505371 + ], + [ + "▁Natalie", + -13.067583084106445 + ], + [ + "▁Comedy", + -13.067623138427734 + ], + [ + "Developing", + -13.0678129196167 + ], + [ + "disputed", + -13.067878723144531 + ], + [ + "164", + -13.067911148071289 + ], + [ + "▁Communist", + -13.067949295043945 + ], + [ + "▁Bahnhof", + -13.06806468963623 + ], + [ + "dokument", + -13.068145751953125 + ], + [ + "▁Somali", + -13.06828498840332 + ], + [ + "▁Strasbourg", + -13.068503379821777 + ], + [ + "▁Technician", + -13.068550109863281 + ], + [ + "▁subsidies", + -13.068633079528809 + ], + [ + "judeţul", + -13.068723678588867 + ], + [ + "▁bible", + -13.068769454956055 + ], + [ + "gefahren", + -13.068855285644531 + ], + [ + "▁literal", + -13.068882942199707 + ], + [ + "▁diminish", + -13.068940162658691 + ], + [ + "Sfântul", + -13.0689697265625 + ], + [ + "▁doreșt", + -13.068978309631348 + ], + [ + "▁Xiaomi", + -13.069036483764648 + ], + [ + "▁planète", + -13.069130897521973 + ], + [ + "▁LTD", + -13.069175720214844 + ], + [ + "▁Zugriff", + -13.069196701049805 + ], + [ + "beginn", + -13.06921672821045 + ], + [ + "▁Einführung", + -13.069294929504395 + ], + [ + "▁coronar", + -13.069393157958984 + ], + [ + "lomi", + -13.0693941116333 + ], + [ + "▁Accueil", + -13.0695219039917 + ], + [ + "scanned", + -13.069528579711914 + ], + [ + "▁Banque", + -13.06952953338623 + ], + [ + "▁réaction", + -13.069531440734863 + ], + [ + "▁Hoffman", + -13.069546699523926 + ], + [ + "▁merveille", + -13.069637298583984 + ], + [ + "navigating", + -13.069719314575195 + ], + [ + "schalten", + -13.06984806060791 + ], + [ + "▁ieşi", + -13.070136070251465 + ], + [ + "1-6", + -13.070175170898438 + ], + [ + "▁frustr", + -13.070670127868652 + ], + [ + "▁réfléchi", + -13.0709810256958 + ], + [ + "▁difuz", + -13.071100234985352 + ], + [ + "▁freue", + -13.07121753692627 + ], + [ + "besuch", + -13.071349143981934 + ], + [ + "153", + -13.071386337280273 + ], + [ + "▁butterflies", + -13.071467399597168 + ], + [ + "▁terrifying", + -13.071467399597168 + ], + [ + "▁încuraj", + -13.071468353271484 + ], + [ + "▁Château", + -13.071470260620117 + ], + [ + "▁contingent", + -13.071474075317383 + ], + [ + "▁abusive", + -13.0714750289917 + ], + [ + "▁SharePoint", + -13.07148551940918 + ], + [ + "▁skating", + -13.071573257446289 + ], + [ + "▁militaire", + -13.07166576385498 + ], + [ + "▁Vig", + -13.071690559387207 + ], + [ + "omics", + -13.071840286254883 + ], + [ + "▁Blockchain", + -13.07197093963623 + ], + [ + "▁principii", + -13.071975708007812 + ], + [ + "▁permitting", + -13.071979522705078 + ], + [ + "optimisation", + -13.072270393371582 + ], + [ + "▁maintien", + -13.072328567504883 + ], + [ + "▁Aluminum", + -13.072442054748535 + ], + [ + "▁Plymouth", + -13.072443008422852 + ], + [ + "▁Weiterbildung", + -13.072457313537598 + ], + [ + "▁Finanzierung", + -13.072505950927734 + ], + [ + "▁Kerala", + -13.072514533996582 + ], + [ + "insulated", + -13.072668075561523 + ], + [ + "▁loaf", + -13.072802543640137 + ], + [ + "▁Sammlung", + -13.072929382324219 + ], + [ + "▁îndepărt", + -13.072930335998535 + ], + [ + "▁Gewerbe", + -13.072942733764648 + ], + [ + "udel", + -13.072988510131836 + ], + [ + "▁coursework", + -13.073104858398438 + ], + [ + "▁Darstellung", + -13.073246002197266 + ], + [ + "▁indeplin", + -13.073433876037598 + ], + [ + "▁Gandhi", + -13.073434829711914 + ], + [ + "tossed", + -13.07361888885498 + ], + [ + "ewed", + -13.073844909667969 + ], + [ + "▁classement", + -13.073884963989258 + ], + [ + "▁Protestant", + -13.073905944824219 + ], + [ + "▁frumoasă", + -13.073905944824219 + ], + [ + "▁pantalon", + -13.073906898498535 + ], + [ + "▁rivet", + -13.073966979980469 + ], + [ + "▁Echt", + -13.0741605758667 + ], + [ + "erviciului", + -13.07421588897705 + ], + [ + "fabricated", + -13.074322700500488 + ], + [ + "Compania", + -13.074372291564941 + ], + [ + "▁juvenile", + -13.074394226074219 + ], + [ + "▁souligne", + -13.07444953918457 + ], + [ + "▁chrono", + -13.07447338104248 + ], + [ + "▁VII", + -13.074594497680664 + ], + [ + "▁Kirch", + -13.074714660644531 + ], + [ + "catcher", + -13.075014114379883 + ], + [ + "salv", + -13.075263023376465 + ], + [ + "▁Enforcement", + -13.075370788574219 + ], + [ + "▁Penguin", + -13.075410842895508 + ], + [ + "kowski", + -13.075465202331543 + ], + [ + "▁2:1", + -13.075470924377441 + ], + [ + "gesundheit", + -13.075475692749023 + ], + [ + "▁unveil", + -13.075519561767578 + ], + [ + "bending", + -13.075531959533691 + ], + [ + "▁conecta", + -13.075579643249512 + ], + [ + "▁faim", + -13.075885772705078 + ], + [ + "▁MacBook", + -13.075969696044922 + ], + [ + "versuch", + -13.07600212097168 + ], + [ + "▁regiuni", + -13.076029777526855 + ], + [ + "▁Willow", + -13.076184272766113 + ], + [ + "▁finanziell", + -13.076303482055664 + ], + [ + "▁nurturing", + -13.076354026794434 + ], + [ + "impuls", + -13.076370239257812 + ], + [ + "▁funktionieren", + -13.076371192932129 + ], + [ + "▁rezult", + -13.076554298400879 + ], + [ + "▁spui", + -13.076593399047852 + ], + [ + "▁walkway", + -13.076653480529785 + ], + [ + "▁Rauch", + -13.076708793640137 + ], + [ + "169", + -13.076793670654297 + ], + [ + "610", + -13.076863288879395 + ], + [ + "▁scazut", + -13.0773286819458 + ], + [ + "▁Garrett", + -13.077329635620117 + ], + [ + "▁necesită", + -13.077352523803711 + ], + [ + "Articolul", + -13.077364921569824 + ], + [ + "numită", + -13.077371597290039 + ], + [ + "Coastal", + -13.077383041381836 + ], + [ + "▁canned", + -13.077421188354492 + ], + [ + "▁Friendly", + -13.077499389648438 + ], + [ + "dissolved", + -13.0775728225708 + ], + [ + "seid", + -13.077674865722656 + ], + [ + "▁feminin", + -13.077685356140137 + ], + [ + "▁fetch", + -13.077710151672363 + ], + [ + "▁Accent", + -13.077767372131348 + ], + [ + "phrase", + -13.077771186828613 + ], + [ + "effekt", + -13.077775955200195 + ], + [ + "▁Progressive", + -13.077777862548828 + ], + [ + "▁canadien", + -13.077820777893066 + ], + [ + "iety", + -13.077839851379395 + ], + [ + "eignen", + -13.077984809875488 + ], + [ + "paraître", + -13.07812213897705 + ], + [ + "▁asylum", + -13.07833194732666 + ], + [ + "▁Albany", + -13.078362464904785 + ], + [ + "▁remis", + -13.078386306762695 + ], + [ + "▁Joyce", + -13.078664779663086 + ], + [ + "schätzt", + -13.078784942626953 + ], + [ + "▁begleiten", + -13.078801155090332 + ], + [ + "▁Siemens", + -13.079007148742676 + ], + [ + "▁schlimm", + -13.079061508178711 + ], + [ + "▁Libra", + -13.079254150390625 + ], + [ + "▁Composite", + -13.079290390014648 + ], + [ + "▁écr", + -13.079315185546875 + ], + [ + "disciplina", + -13.079379081726074 + ], + [ + "▁premature", + -13.079630851745605 + ], + [ + "▁scopuri", + -13.079681396484375 + ], + [ + "ffnung", + -13.079715728759766 + ], + [ + "7000", + -13.079726219177246 + ], + [ + "▁conséquent", + -13.079780578613281 + ], + [ + "▁côte", + -13.079787254333496 + ], + [ + "celul", + -13.079872131347656 + ], + [ + "▁fourteen", + -13.079940795898438 + ], + [ + "▁Riverside", + -13.080077171325684 + ], + [ + "gemacht", + -13.08013916015625 + ], + [ + "▁volcanic", + -13.080272674560547 + ], + [ + "▁Salesforce", + -13.080315589904785 + ], + [ + "▁Granite", + -13.080317497253418 + ], + [ + "▁Zentral", + -13.080329895019531 + ], + [ + "▁Female", + -13.080341339111328 + ], + [ + "▁culmin", + -13.08047103881836 + ], + [ + "▁urmatoare", + -13.080547332763672 + ], + [ + "toxicity", + -13.080560684204102 + ], + [ + "▁mâna", + -13.080678939819336 + ], + [ + "▁Umfang", + -13.080764770507812 + ], + [ + "▁Encore", + -13.08077621459961 + ], + [ + "▁Edgar", + -13.080831527709961 + ], + [ + "▁négoci", + -13.080852508544922 + ], + [ + "njeux", + -13.080873489379883 + ], + [ + "▁variance", + -13.080917358398438 + ], + [ + "▁Functional", + -13.080973625183105 + ], + [ + "172", + -13.081046104431152 + ], + [ + "▁dissolve", + -13.0811185836792 + ], + [ + "förderung", + -13.081188201904297 + ], + [ + "▁Brilliant", + -13.081254959106445 + ], + [ + "▁comprehension", + -13.081254959106445 + ], + [ + "▁soybean", + -13.081254959106445 + ], + [ + "▁standalone", + -13.081255912780762 + ], + [ + "▁Communi", + -13.081303596496582 + ], + [ + "▁ajut", + -13.081313133239746 + ], + [ + "▁lavish", + -13.081338882446289 + ], + [ + "Ouest", + -13.081384658813477 + ], + [ + "▁Maggie", + -13.081385612487793 + ], + [ + "▁evolutionary", + -13.081550598144531 + ], + [ + "bowel", + -13.081575393676758 + ], + [ + "▁glyco", + -13.081626892089844 + ], + [ + "▁Happi", + -13.081706047058105 + ], + [ + "organising", + -13.081710815429688 + ], + [ + "▁übernimm", + -13.081727027893066 + ], + [ + "▁snowboard", + -13.081793785095215 + ], + [ + "▁prévention", + -13.081830024719238 + ], + [ + "▁Celebrate", + -13.082160949707031 + ], + [ + "▁pottery", + -13.082254409790039 + ], + [ + "▁Outstanding", + -13.082328796386719 + ], + [ + "▁toamna", + -13.082331657409668 + ], + [ + "▁graceful", + -13.082548141479492 + ], + [ + "197", + -13.082559585571289 + ], + [ + "strecke", + -13.082598686218262 + ], + [ + "▁medizinische", + -13.082733154296875 + ], + [ + "216", + -13.082839965820312 + ], + [ + "▁prune", + -13.082868576049805 + ], + [ + "Pourtant", + -13.083000183105469 + ], + [ + "▁Difference", + -13.083224296569824 + ], + [ + "▁factura", + -13.083830833435059 + ], + [ + "Mass", + -13.084161758422852 + ], + [ + "▁Enhanc", + -13.084190368652344 + ], + [ + "upholstered", + -13.084209442138672 + ], + [ + "▁übernommen", + -13.084209442138672 + ], + [ + "▁mitigation", + -13.084210395812988 + ], + [ + "▁Hidden", + -13.084219932556152 + ], + [ + "▁Häuser", + -13.084234237670898 + ], + [ + "▁Pavel", + -13.084403991699219 + ], + [ + "▁congress", + -13.084512710571289 + ], + [ + "▁antibody", + -13.084598541259766 + ], + [ + "▁stitches", + -13.084811210632324 + ], + [ + "▁colonies", + -13.084820747375488 + ], + [ + "Into", + -13.084900856018066 + ], + [ + "▁démo", + -13.084924697875977 + ], + [ + "▁MVP", + -13.085041046142578 + ], + [ + "▁replay", + -13.085062026977539 + ], + [ + "▁usoara", + -13.08522891998291 + ], + [ + "▁Breast", + -13.085278511047363 + ], + [ + "ooney", + -13.085336685180664 + ], + [ + "▁außen", + -13.085663795471191 + ], + [ + "▁Motorola", + -13.085695266723633 + ], + [ + "▁spalat", + -13.08578109741211 + ], + [ + "euillez", + -13.086088180541992 + ], + [ + "▁jeunesse", + -13.086170196533203 + ], + [ + "▁pastoral", + -13.086174011230469 + ], + [ + "▁Sussex", + -13.086185455322266 + ], + [ + "▁stencil", + -13.08619213104248 + ], + [ + "▁organismului", + -13.086504936218262 + ], + [ + "seized", + -13.086649894714355 + ], + [ + "▁întrebare", + -13.086865425109863 + ], + [ + "cliquez", + -13.086874961853027 + ], + [ + "5.7", + -13.086984634399414 + ], + [ + "▁Yama", + -13.087080955505371 + ], + [ + "painted", + -13.08708667755127 + ], + [ + "▁Swimming", + -13.087176322937012 + ], + [ + "Rhythm", + -13.087202072143555 + ], + [ + "▁sorrow", + -13.087210655212402 + ], + [ + "▁Movers", + -13.08731460571289 + ], + [ + "renforcer", + -13.08735466003418 + ], + [ + "▁Wach", + -13.087381362915039 + ], + [ + "0,00", + -13.087390899658203 + ], + [ + "▁glove", + -13.08753490447998 + ], + [ + "▁stâng", + -13.087669372558594 + ], + [ + "rgendwann", + -13.087687492370605 + ], + [ + "▁Philippine", + -13.08769416809082 + ], + [ + "▁anunțat", + -13.087716102600098 + ], + [ + "▁Coleman", + -13.087723731994629 + ], + [ + "affir", + -13.087918281555176 + ], + [ + "uleiul", + -13.08808422088623 + ], + [ + "▁Coconut", + -13.088197708129883 + ], + [ + "▁Supplement", + -13.088210105895996 + ], + [ + "haudiere", + -13.088293075561523 + ], + [ + "▁kettle", + -13.088313102722168 + ], + [ + "▁3,5", + -13.088370323181152 + ], + [ + "refurbished", + -13.088425636291504 + ], + [ + "esthétique", + -13.088665962219238 + ], + [ + "performing", + -13.088667869567871 + ], + [ + "▁Engag", + -13.088762283325195 + ], + [ + "Group", + -13.088801383972168 + ], + [ + "▁viande", + -13.088887214660645 + ], + [ + "▁oricum", + -13.088888168334961 + ], + [ + "Spitalul", + -13.089093208312988 + ], + [ + "▁cesse", + -13.089110374450684 + ], + [ + "▁contradiction", + -13.089130401611328 + ], + [ + "▁Chrysler", + -13.089154243469238 + ], + [ + "▁poultry", + -13.089154243469238 + ], + [ + "▁thirteen", + -13.089154243469238 + ], + [ + "▁sightseeing", + -13.089155197143555 + ], + [ + "▁Miguel", + -13.089158058166504 + ], + [ + "▁terminology", + -13.089334487915039 + ], + [ + "▁Genetic", + -13.089553833007812 + ], + [ + "commercial", + -13.08963394165039 + ], + [ + "gehoben", + -13.08965015411377 + ], + [ + "RIGHT", + -13.08995532989502 + ], + [ + "▁proprietate", + -13.089990615844727 + ], + [ + "▁Cannes", + -13.090012550354004 + ], + [ + "▁klicken", + -13.090023040771484 + ], + [ + "▁Belgique", + -13.0901460647583 + ], + [ + "tapped", + -13.09034538269043 + ], + [ + "kinetic", + -13.090569496154785 + ], + [ + "▁feuilles", + -13.090673446655273 + ], + [ + "whitening", + -13.090760231018066 + ], + [ + "Any", + -13.090946197509766 + ], + [ + "Manager", + -13.091099739074707 + ], + [ + "▁constatat", + -13.091106414794922 + ], + [ + "▁Myanmar", + -13.091140747070312 + ], + [ + "▁Examination", + -13.091142654418945 + ], + [ + "▁règle", + -13.091208457946777 + ], + [ + "▁umgesetzt", + -13.09128475189209 + ], + [ + "211", + -13.091336250305176 + ], + [ + "▁Herald", + -13.091449737548828 + ], + [ + "Alex", + -13.091680526733398 + ], + [ + "▁drauf", + -13.091707229614258 + ], + [ + "logger", + -13.091714859008789 + ], + [ + "▁pictur", + -13.09186840057373 + ], + [ + "▁Divi", + -13.09196949005127 + ], + [ + "▁furnizat", + -13.092089653015137 + ], + [ + "▁verzichten", + -13.092132568359375 + ], + [ + "▁Sergi", + -13.092199325561523 + ], + [ + "contaminated", + -13.09223747253418 + ], + [ + "▁Buddy", + -13.092243194580078 + ], + [ + "▁chilled", + -13.092268943786621 + ], + [ + "▁vorlieg", + -13.092317581176758 + ], + [ + "▁Claudia", + -13.092632293701172 + ], + [ + "▁miserable", + -13.092653274536133 + ], + [ + "▁sketches", + -13.092683792114258 + ], + [ + "schicken", + -13.092814445495605 + ], + [ + "since", + -13.0928373336792 + ], + [ + "2.9", + -13.092840194702148 + ], + [ + "▁sitzen", + -13.092928886413574 + ], + [ + "ceapa", + -13.093396186828613 + ], + [ + "respectarea", + -13.093438148498535 + ], + [ + "▁handheld", + -13.093448638916016 + ], + [ + "popular", + -13.093527793884277 + ], + [ + "calming", + -13.093603134155273 + ], + [ + "Govern", + -13.093632698059082 + ], + [ + "▁omega", + -13.093645095825195 + ], + [ + "▁Planner", + -13.093791007995605 + ], + [ + "enriched", + -13.093850135803223 + ], + [ + "154", + -13.093976974487305 + ], + [ + "▁autorisé", + -13.093989372253418 + ], + [ + "▁cadouri", + -13.09407901763916 + ], + [ + "▁vulnerabilities", + -13.094143867492676 + ], + [ + "▁Arbeitnehmer", + -13.094158172607422 + ], + [ + "éditeur", + -13.094234466552734 + ], + [ + "▁Anleitung", + -13.094317436218262 + ], + [ + "rubbing", + -13.094343185424805 + ], + [ + "▁autovehicul", + -13.094621658325195 + ], + [ + "▁öffnen", + -13.094621658325195 + ], + [ + "▁Napoleon", + -13.094622611999512 + ], + [ + "▁cliché", + -13.094637870788574 + ], + [ + "▁Schaf", + -13.09469985961914 + ], + [ + "regulating", + -13.094894409179688 + ], + [ + "▁Kühl", + -13.09490966796875 + ], + [ + "▁blush", + -13.094913482666016 + ], + [ + "▁discard", + -13.094992637634277 + ], + [ + "▁confine", + -13.095027923583984 + ], + [ + "▁Rodriguez", + -13.09511947631836 + ], + [ + "▁ADHD", + -13.095165252685547 + ], + [ + "▁Madame", + -13.09516716003418 + ], + [ + "▁résolution", + -13.095319747924805 + ], + [ + "▁flair", + -13.095369338989258 + ], + [ + "▁claw", + -13.095422744750977 + ], + [ + "▁1929", + -13.095643043518066 + ], + [ + "ETH", + -13.095672607421875 + ], + [ + "nähe", + -13.095804214477539 + ], + [ + "▁soothe", + -13.0958251953125 + ], + [ + "4.9", + -13.095833778381348 + ], + [ + "montée", + -13.095925331115723 + ], + [ + "confirming", + -13.095989227294922 + ], + [ + "continent", + -13.09613037109375 + ], + [ + "reiz", + -13.09643840789795 + ], + [ + "john", + -13.096577644348145 + ], + [ + "IONAL", + -13.096588134765625 + ], + [ + "▁exported", + -13.0966215133667 + ], + [ + "▁Prison", + -13.096651077270508 + ], + [ + "possessed", + -13.096952438354492 + ], + [ + "▁placebo", + -13.096991539001465 + ], + [ + "▁biodiversity", + -13.097116470336914 + ], + [ + "▁combustion", + -13.097116470336914 + ], + [ + "▁Plumbing", + -13.09711742401123 + ], + [ + "ixie", + -13.097124099731445 + ], + [ + "▁repetition", + -13.09715461730957 + ], + [ + "▁soumis", + -13.097372055053711 + ], + [ + "▁reduc", + -13.097671508789062 + ], + [ + "▁constrain", + -13.097759246826172 + ], + [ + "Anti", + -13.097760200500488 + ], + [ + "consolidated", + -13.097817420959473 + ], + [ + "214", + -13.098095893859863 + ], + [ + "▁breaches", + -13.098108291625977 + ], + [ + "infringement", + -13.098115921020508 + ], + [ + "▁drizzle", + -13.098115921020508 + ], + [ + "▁erhöhen", + -13.098116874694824 + ], + [ + "▁Somerset", + -13.098118782043457 + ], + [ + "▁blonde", + -13.098132133483887 + ], + [ + "▁Funny", + -13.09813404083252 + ], + [ + "tuşi", + -13.098149299621582 + ], + [ + "▁reinvent", + -13.098162651062012 + ], + [ + "▁sérieux", + -13.098247528076172 + ], + [ + "▁croire", + -13.098308563232422 + ], + [ + "general", + -13.098315238952637 + ], + [ + "▁Distance", + -13.098319053649902 + ], + [ + "▁VoIP", + -13.098348617553711 + ], + [ + "▁adăugat", + -13.098406791687012 + ], + [ + "matik", + -13.098546028137207 + ], + [ + "▁avatar", + -13.098647117614746 + ], + [ + "▁superstar", + -13.098804473876953 + ], + [ + "8.0", + -13.098814010620117 + ], + [ + "lusieurs", + -13.098982810974121 + ], + [ + "▁Judeţean", + -13.099117279052734 + ], + [ + "offenen", + -13.099128723144531 + ], + [ + "RAF", + -13.099133491516113 + ], + [ + "▁restroom", + -13.099207878112793 + ], + [ + "enfance", + -13.099348068237305 + ], + [ + "▁garnish", + -13.099499702453613 + ], + [ + "▁vermittelt", + -13.099631309509277 + ], + [ + "Histoire", + -13.099634170532227 + ], + [ + "cyan", + -13.100628852844238 + ], + [ + "Talk", + -13.100666046142578 + ], + [ + "▁Varianten", + -13.10069465637207 + ], + [ + "▁Lille", + -13.10085678100586 + ], + [ + "▁offenbar", + -13.10098934173584 + ], + [ + "▁rénovation", + -13.10112190246582 + ], + [ + "▁comentarii", + -13.101249694824219 + ], + [ + "▁Bedford", + -13.10130500793457 + ], + [ + "▁cercetări", + -13.101325988769531 + ], + [ + "▁précision", + -13.101337432861328 + ], + [ + "MRC", + -13.101358413696289 + ], + [ + "alterations", + -13.101476669311523 + ], + [ + "▁discours", + -13.101531028747559 + ], + [ + "äger", + -13.101577758789062 + ], + [ + "▁antreprenor", + -13.101622581481934 + ], + [ + "▁Oriental", + -13.101849555969238 + ], + [ + "conducerea", + -13.101868629455566 + ], + [ + "CBC", + -13.101932525634766 + ], + [ + "▁mince", + -13.101985931396484 + ], + [ + "▁presidency", + -13.10212516784668 + ], + [ + "▁lipstick", + -13.102167129516602 + ], + [ + "▁SERVICES", + -13.102237701416016 + ], + [ + "productive", + -13.10237979888916 + ], + [ + "Assad", + -13.102400779724121 + ], + [ + "▁efectiv", + -13.102540969848633 + ], + [ + "▁gestern", + -13.102596282958984 + ], + [ + "▁RGB", + -13.102606773376465 + ], + [ + "▁Transilvania", + -13.102627754211426 + ], + [ + "▁Raleigh", + -13.102670669555664 + ], + [ + "DOM", + -13.102702140808105 + ], + [ + "▁iesit", + -13.102806091308594 + ], + [ + "▁anuntat", + -13.102810859680176 + ], + [ + "▁automatiquement", + -13.102901458740234 + ], + [ + "▁proliferation", + -13.103130340576172 + ], + [ + "▁Maroc", + -13.103156089782715 + ], + [ + "▁prezenţ", + -13.10323429107666 + ], + [ + "▁Filipino", + -13.103296279907227 + ], + [ + "▁Traian", + -13.103351593017578 + ], + [ + "▁swimmer", + -13.10356616973877 + ], + [ + "▁Slovenia", + -13.103632926940918 + ], + [ + "phobia", + -13.103724479675293 + ], + [ + "curricular", + -13.103734016418457 + ], + [ + "jurnal", + -13.103825569152832 + ], + [ + "▁vorne", + -13.103870391845703 + ], + [ + "▁asuma", + -13.103875160217285 + ], + [ + "defended", + -13.104104995727539 + ], + [ + "▁imminent", + -13.104140281677246 + ], + [ + "favored", + -13.10417366027832 + ], + [ + "▁innovator", + -13.104179382324219 + ], + [ + "▁Salzburg", + -13.104289054870605 + ], + [ + "5.4", + -13.104452133178711 + ], + [ + "Safe", + -13.104597091674805 + ], + [ + "▁inteleg", + -13.104744911193848 + ], + [ + "▁charisma", + -13.104781150817871 + ], + [ + "nature", + -13.104784965515137 + ], + [ + "4.8", + -13.104942321777344 + ], + [ + "argues", + -13.105104446411133 + ], + [ + "▁dimensiune", + -13.105142593383789 + ], + [ + "▁subdivision", + -13.105142593383789 + ], + [ + "▁embarrassing", + -13.105144500732422 + ], + [ + "▁confuse", + -13.105207443237305 + ], + [ + "DIC", + -13.105460166931152 + ], + [ + "rubrique", + -13.10549545288086 + ], + [ + "dépendance", + -13.105598449707031 + ], + [ + "INCLUD", + -13.10565185546875 + ], + [ + "▁Griffin", + -13.10574722290039 + ], + [ + "157", + -13.105751037597656 + ], + [ + "▁revamp", + -13.105839729309082 + ], + [ + "▁umgehen", + -13.10595989227295 + ], + [ + "▁mențin", + -13.106231689453125 + ], + [ + "▁1937", + -13.106695175170898 + ], + [ + "eklagte", + -13.106766700744629 + ], + [ + "▁clientèle", + -13.106801986694336 + ], + [ + "▁campsite", + -13.10708999633789 + ], + [ + "▁florist", + -13.107144355773926 + ], + [ + "▁Ferguson", + -13.107159614562988 + ], + [ + "▁demolition", + -13.107160568237305 + ], + [ + "▁McCain", + -13.107254981994629 + ], + [ + "▁reckon", + -13.10733413696289 + ], + [ + "striped", + -13.107414245605469 + ], + [ + "▁sonore", + -13.107481002807617 + ], + [ + "migrated", + -13.107548713684082 + ], + [ + "▁fluorescent", + -13.107664108276367 + ], + [ + "▁Colegi", + -13.107762336730957 + ], + [ + "ianu", + -13.107860565185547 + ], + [ + "cruising", + -13.107882499694824 + ], + [ + "LINK", + -13.107965469360352 + ], + [ + "▁Cutting", + -13.108001708984375 + ], + [ + "ABILITY", + -13.108168601989746 + ], + [ + "▁Categories", + -13.108168601989746 + ], + [ + "▁erhoben", + -13.108168601989746 + ], + [ + "▁Cocktail", + -13.108169555664062 + ], + [ + "▁Generator", + -13.108177185058594 + ], + [ + "▁gesucht", + -13.108186721801758 + ], + [ + "▁telescope", + -13.10818862915039 + ], + [ + "KET", + -13.108192443847656 + ], + [ + "▁hilfreich", + -13.108192443847656 + ], + [ + "▁beneficiary", + -13.108585357666016 + ], + [ + "▁Winston", + -13.108636856079102 + ], + [ + "Auswirkungen", + -13.108675956726074 + ], + [ + "portrayed", + -13.108705520629883 + ], + [ + "▁Aspekte", + -13.108743667602539 + ], + [ + "ffected", + -13.108901023864746 + ], + [ + "eutic", + -13.108905792236328 + ], + [ + "International", + -13.109021186828613 + ], + [ + "attente", + -13.109078407287598 + ], + [ + "mentioning", + -13.109119415283203 + ], + [ + "launch", + -13.109129905700684 + ], + [ + "▁EURO", + -13.109152793884277 + ], + [ + "▁Fraser", + -13.109344482421875 + ], + [ + "▁Johannes", + -13.109408378601074 + ], + [ + "▁felicit", + -13.109477043151855 + ], + [ + "▁plâng", + -13.109522819519043 + ], + [ + "izant", + -13.10971736907959 + ], + [ + "▁reţe", + -13.109846115112305 + ], + [ + "Mech", + -13.109954833984375 + ], + [ + "▁algebra", + -13.110193252563477 + ], + [ + "▁surgeries", + -13.110257148742676 + ], + [ + "▁semifinal", + -13.110262870788574 + ], + [ + "▁intimidating", + -13.110288619995117 + ], + [ + "▁exkl", + -13.110604286193848 + ], + [ + "asigurarea", + -13.110918998718262 + ], + [ + "Tek", + -13.111136436462402 + ], + [ + "▁Einladung", + -13.111205101013184 + ], + [ + "▁similaire", + -13.111205101013184 + ], + [ + "▁bebelus", + -13.111221313476562 + ], + [ + "▁déclin", + -13.111400604248047 + ], + [ + "▁Console", + -13.111495018005371 + ], + [ + "RET", + -13.111573219299316 + ], + [ + "appli", + -13.111586570739746 + ], + [ + "45%", + -13.111663818359375 + ], + [ + "Evenimentul", + -13.111811637878418 + ], + [ + "sincerely", + -13.111812591552734 + ], + [ + "sammlung", + -13.112098693847656 + ], + [ + "Amérique", + -13.112220764160156 + ], + [ + "▁1919", + -13.112326622009277 + ], + [ + "regulation", + -13.112367630004883 + ], + [ + "gebäude", + -13.112726211547852 + ], + [ + "▁Perspektive", + -13.112726211547852 + ], + [ + "Espagne", + -13.112744331359863 + ], + [ + "▁Underground", + -13.11283016204834 + ], + [ + "secret", + -13.112833976745605 + ], + [ + "▁Aussicht", + -13.112874031066895 + ], + [ + "Photo", + -13.112977027893066 + ], + [ + "▁Brust", + -13.113144874572754 + ], + [ + "▁Sustainability", + -13.11323356628418 + ], + [ + "▁clădiri", + -13.11323356628418 + ], + [ + "▁librarian", + -13.11323356628418 + ], + [ + "▁HBO", + -13.113235473632812 + ], + [ + "▁Parallel", + -13.113240242004395 + ], + [ + "▁shimmer", + -13.113283157348633 + ], + [ + "▁schlicht", + -13.113292694091797 + ], + [ + "▁anticipat", + -13.113311767578125 + ], + [ + "▁foolish", + -13.11335563659668 + ], + [ + "▁Ability", + -13.11347484588623 + ], + [ + "▁ceremoni", + -13.11358642578125 + ], + [ + "▁Ablauf", + -13.11359977722168 + ], + [ + "icrobial", + -13.113606452941895 + ], + [ + "▁actiuni", + -13.11362361907959 + ], + [ + "▁Wilhelm", + -13.113761901855469 + ], + [ + "▁nennen", + -13.113775253295898 + ], + [ + "▁botez", + -13.113832473754883 + ], + [ + "Alpes", + -13.113912582397461 + ], + [ + "▁libér", + -13.11392593383789 + ], + [ + "▁sneakers", + -13.114052772521973 + ], + [ + "geschafft", + -13.114252090454102 + ], + [ + "▁downstairs", + -13.114261627197266 + ], + [ + "▁wrench", + -13.114294052124023 + ], + [ + "▁erheblich", + -13.11442756652832 + ], + [ + "▁alimentar", + -13.114710807800293 + ], + [ + "▁suger", + -13.11474323272705 + ], + [ + "analysis", + -13.114883422851562 + ], + [ + "öhn", + -13.114891052246094 + ], + [ + "▁Nantes", + -13.114895820617676 + ], + [ + "▁Arbor", + -13.114899635314941 + ], + [ + "ooze", + -13.115150451660156 + ], + [ + "▁facade", + -13.115229606628418 + ], + [ + "▁MySQL", + -13.115266799926758 + ], + [ + "▁Salvador", + -13.115266799926758 + ], + [ + "▁Schlafzimmer", + -13.115279197692871 + ], + [ + "▁autentic", + -13.115320205688477 + ], + [ + "▁prezint", + -13.115348815917969 + ], + [ + "▁campground", + -13.115397453308105 + ], + [ + "Query", + -13.11540412902832 + ], + [ + "bekannt", + -13.115598678588867 + ], + [ + "arcinia", + -13.115632057189941 + ], + [ + "▁stunt", + -13.115825653076172 + ], + [ + "▁informare", + -13.115830421447754 + ], + [ + "▁interzis", + -13.11584186553955 + ], + [ + "▁Burke", + -13.115995407104492 + ], + [ + "certified", + -13.11601734161377 + ], + [ + "▁clove", + -13.11605167388916 + ], + [ + "java", + -13.116271018981934 + ], + [ + "▁Vielfalt", + -13.116284370422363 + ], + [ + "gebung", + -13.116329193115234 + ], + [ + "▁9/11", + -13.116497993469238 + ], + [ + "▁disruptive", + -13.11650562286377 + ], + [ + "visual", + -13.116693496704102 + ], + [ + "▁anunţat", + -13.11679458618164 + ], + [ + "▁Plätze", + -13.116799354553223 + ], + [ + "▁reduceri", + -13.116920471191406 + ], + [ + "autorisation", + -13.116950035095215 + ], + [ + "▁ligament", + -13.11705207824707 + ], + [ + "▁învăța", + -13.117081642150879 + ], + [ + "läufig", + -13.117303848266602 + ], + [ + "▁Copenhagen", + -13.117303848266602 + ], + [ + "▁commodities", + -13.117303848266602 + ], + [ + "▁eindeutig", + -13.117313385009766 + ], + [ + "▁catheter", + -13.117321014404297 + ], + [ + "erklärung", + -13.117720603942871 + ], + [ + "▁intelectual", + -13.117814064025879 + ], + [ + "▁municipality", + -13.117891311645508 + ], + [ + "▁1936", + -13.11798095703125 + ], + [ + "rruption", + -13.118217468261719 + ], + [ + "▁Lafayette", + -13.118324279785156 + ], + [ + "▁berühmte", + -13.118324279785156 + ], + [ + "▁idylli", + -13.118325233459473 + ], + [ + "▁caldura", + -13.118447303771973 + ], + [ + "▁tablette", + -13.118535995483398 + ], + [ + "▁liquidity", + -13.118728637695312 + ], + [ + "NGOs", + -13.118885040283203 + ], + [ + "▁supliment", + -13.11889934539795 + ], + [ + "contact", + -13.119075775146484 + ], + [ + "lustig", + -13.119219779968262 + ], + [ + "▁watercolor", + -13.119319915771484 + ], + [ + "▁Tiffany", + -13.119344711303711 + ], + [ + "▁Glauben", + -13.119365692138672 + ], + [ + "Immobilie", + -13.119406700134277 + ], + [ + "▁stripped", + -13.119549751281738 + ], + [ + "▁Beatles", + -13.119601249694824 + ], + [ + "ани", + -13.119770050048828 + ], + [ + "▁lifespan", + -13.119986534118652 + ], + [ + "▁profondeur", + -13.120251655578613 + ], + [ + "▁durere", + -13.120329856872559 + ], + [ + "▁Lithuania", + -13.120367050170898 + ], + [ + "▁resurrection", + -13.120367050170898 + ], + [ + "▁suitcase", + -13.120535850524902 + ], + [ + "▁Plumber", + -13.120545387268066 + ], + [ + "criticized", + -13.120595932006836 + ], + [ + "feared", + -13.120756149291992 + ], + [ + "▁Aunt", + -13.120929718017578 + ], + [ + "otwithstanding", + -13.121068000793457 + ], + [ + "verständlich", + -13.12115478515625 + ], + [ + "fiber", + -13.121248245239258 + ], + [ + "headquartered", + -13.121390342712402 + ], + [ + "▁Perspective", + -13.121391296386719 + ], + [ + "▁semantic", + -13.121413230895996 + ], + [ + "VIEW", + -13.121431350708008 + ], + [ + "▁Ersatzteile", + -13.121567726135254 + ], + [ + "▁disgust", + -13.121685981750488 + ], + [ + "rrington", + -13.121834754943848 + ], + [ + "ässe", + -13.121922492980957 + ], + [ + "▁anerkannt", + -13.121956825256348 + ], + [ + "meaning", + -13.12203598022461 + ], + [ + "178", + -13.122039794921875 + ], + [ + "▁grupuri", + -13.1221284866333 + ], + [ + "ciones", + -13.122267723083496 + ], + [ + "▁Mobility", + -13.122414588928223 + ], + [ + "▁unstable", + -13.122422218322754 + ], + [ + "▁FULL", + -13.122456550598145 + ], + [ + "austausch", + -13.122491836547852 + ], + [ + "▁culminat", + -13.122549057006836 + ], + [ + "▁Roast", + -13.122742652893066 + ], + [ + "existant", + -13.122940063476562 + ], + [ + "167", + -13.123008728027344 + ], + [ + "tinerii", + -13.123040199279785 + ], + [ + "September", + -13.123115539550781 + ], + [ + "▁haircut", + -13.123274803161621 + ], + [ + "▁Tutorial", + -13.123440742492676 + ], + [ + "▁enquiries", + -13.123440742492676 + ], + [ + "▁livelihood", + -13.123440742492676 + ], + [ + "▁proficiency", + -13.123440742492676 + ], + [ + "▁pavement", + -13.123443603515625 + ], + [ + "▁Reservation", + -13.123445510864258 + ], + [ + "aimerai", + -13.123491287231445 + ], + [ + "▁laboratoire", + -13.123492240905762 + ], + [ + "leihen", + -13.123501777648926 + ], + [ + "ministerium", + -13.123518943786621 + ], + [ + "▁Concentr", + -13.12366008758545 + ], + [ + "▁swipe", + -13.12368106842041 + ], + [ + "extrêmement", + -13.123687744140625 + ], + [ + "cultivated", + -13.123708724975586 + ], + [ + "▁Converse", + -13.123845100402832 + ], + [ + "▁paycheck", + -13.123863220214844 + ], + [ + "olltest", + -13.123995780944824 + ], + [ + "▁Bauch", + -13.124022483825684 + ], + [ + "▁autobuz", + -13.124067306518555 + ], + [ + "attack", + -13.124094009399414 + ], + [ + "While", + -13.124311447143555 + ], + [ + "Retrouvez", + -13.124320983886719 + ], + [ + "▁Dolphin", + -13.124466896057129 + ], + [ + "▁Shelby", + -13.124480247497559 + ], + [ + "▁Diagnostic", + -13.124486923217773 + ], + [ + "▁reconcil", + -13.124558448791504 + ], + [ + "▁Iaşi", + -13.124733924865723 + ], + [ + "▁iubesc", + -13.124979972839355 + ], + [ + "▁Bestseller", + -13.124985694885254 + ], + [ + "▁antrenor", + -13.125035285949707 + ], + [ + "▁Imaging", + -13.125089645385742 + ], + [ + "▁priorité", + -13.125295639038086 + ], + [ + "▁brewery", + -13.125494003295898 + ], + [ + "▁residual", + -13.125494003295898 + ], + [ + "▁intermittent", + -13.125494956970215 + ], + [ + "Kollekt", + -13.125585556030273 + ], + [ + "▁Walsh", + -13.12558650970459 + ], + [ + "▁marvelous", + -13.125653266906738 + ], + [ + "canceled", + -13.125686645507812 + ], + [ + "174", + -13.125761985778809 + ], + [ + "normes", + -13.125837326049805 + ], + [ + "▁Tempo", + -13.125996589660645 + ], + [ + "▁Târgu", + -13.126008987426758 + ], + [ + "877", + -13.126165390014648 + ], + [ + "5-8", + -13.126190185546875 + ], + [ + "960", + -13.126486778259277 + ], + [ + "▁Scandinavia", + -13.1265230178833 + ], + [ + "▁prolific", + -13.126526832580566 + ], + [ + "lasi", + -13.126916885375977 + ], + [ + "glück", + -13.127097129821777 + ], + [ + "▁immersion", + -13.127204895019531 + ], + [ + "RSA", + -13.127323150634766 + ], + [ + "▁Polk", + -13.127340316772461 + ], + [ + "▁transmitter", + -13.12747859954834 + ], + [ + "▁Kleidung", + -13.12755298614502 + ], + [ + "▁Cosmo", + -13.127676963806152 + ], + [ + "▁1935", + -13.127788543701172 + ], + [ + "höhere", + -13.127906799316406 + ], + [ + "▁Tatsache", + -13.128074645996094 + ], + [ + "▁Outlet", + -13.1282377243042 + ], + [ + "▁canalisation", + -13.12824821472168 + ], + [ + "Mbps", + -13.128433227539062 + ], + [ + "▁skeptical", + -13.128582954406738 + ], + [ + "mplification", + -13.128617286682129 + ], + [ + "▁Advice", + -13.128618240356445 + ], + [ + "▁détaillé", + -13.128676414489746 + ], + [ + "660", + -13.128701210021973 + ], + [ + "▁eyebrow", + -13.128722190856934 + ], + [ + "▁HIGH", + -13.128898620605469 + ], + [ + "hnlich", + -13.129073143005371 + ], + [ + "▁depăș", + -13.12910270690918 + ], + [ + "▁procurori", + -13.129140853881836 + ], + [ + "▁refrain", + -13.129212379455566 + ], + [ + "▁geschaffen", + -13.12952995300293 + ], + [ + "justement", + -13.129663467407227 + ], + [ + "exposing", + -13.129700660705566 + ], + [ + "243", + -13.1298828125 + ], + [ + "sectorul", + -13.130104064941406 + ], + [ + "▁courrier", + -13.130180358886719 + ], + [ + "▁carcas", + -13.130199432373047 + ], + [ + "sitter", + -13.13022518157959 + ], + [ + "▁Schreiben", + -13.130335807800293 + ], + [ + "▁malfunction", + -13.130358695983887 + ], + [ + "poartă", + -13.130522727966309 + ], + [ + "raisons", + -13.130565643310547 + ], + [ + "▁HOT", + -13.130650520324707 + ], + [ + "▁refreshed", + -13.130730628967285 + ], + [ + "mânt", + -13.130744934082031 + ], + [ + "▁coefficient", + -13.13097858428955 + ], + [ + "▁instituţii", + -13.131194114685059 + ], + [ + "▁sanguin", + -13.131202697753906 + ], + [ + "▁ceci", + -13.131213188171387 + ], + [ + "▁garçon", + -13.131232261657715 + ], + [ + "deluxe", + -13.131237030029297 + ], + [ + "▁rectif", + -13.131311416625977 + ], + [ + "920", + -13.131364822387695 + ], + [ + "Exista", + -13.131428718566895 + ], + [ + "▁magnif", + -13.131568908691406 + ], + [ + "efficiencies", + -13.131681442260742 + ], + [ + "▁Mitsubishi", + -13.131681442260742 + ], + [ + "▁consortium", + -13.131681442260742 + ], + [ + "▁baggage", + -13.131683349609375 + ], + [ + "▁guild", + -13.131736755371094 + ], + [ + "▁sixty", + -13.13193130493164 + ], + [ + "▁Retreat", + -13.13245677947998 + ], + [ + "batting", + -13.132473945617676 + ], + [ + "470", + -13.132708549499512 + ], + [ + "▁Britanie", + -13.132718086242676 + ], + [ + "displaced", + -13.132734298706055 + ], + [ + "▁spați", + -13.132794380187988 + ], + [ + "▁exceptionnelle", + -13.13281536102295 + ], + [ + "▁authorize", + -13.132906913757324 + ], + [ + "▁prescribe", + -13.133187294006348 + ], + [ + "▁dépannage", + -13.133234024047852 + ], + [ + "▁sexuelle", + -13.133234024047852 + ], + [ + "valid", + -13.133275032043457 + ], + [ + "▁hymn", + -13.133752822875977 + ], + [ + "▁histories", + -13.133757591247559 + ], + [ + "▁oriunde", + -13.133764266967773 + ], + [ + "Pop", + -13.133785247802734 + ], + [ + "▁dispoziţi", + -13.133800506591797 + ], + [ + "ADI", + -13.133819580078125 + ], + [ + "Google", + -13.133830070495605 + ], + [ + "▁Autism", + -13.133918762207031 + ], + [ + "▁aggr", + -13.134354591369629 + ], + [ + "bleed", + -13.134618759155273 + ], + [ + "▁displacement", + -13.13478946685791 + ], + [ + "▁hobbies", + -13.13478946685791 + ], + [ + "▁anatomy", + -13.134799003601074 + ], + [ + "▁Klinik", + -13.134821891784668 + ], + [ + "▁CCTV", + -13.1348237991333 + ], + [ + "readable", + -13.134886741638184 + ], + [ + "ulph", + -13.134982109069824 + ], + [ + "metabol", + -13.135035514831543 + ], + [ + "▁rugăm", + -13.135037422180176 + ], + [ + "▁Scotia", + -13.135087013244629 + ], + [ + "▁Einheit", + -13.135211944580078 + ], + [ + "▁troupe", + -13.13581371307373 + ], + [ + "▁Practitioner", + -13.135828018188477 + ], + [ + "▁oarec", + -13.135909080505371 + ], + [ + "Appel", + -13.135998725891113 + ], + [ + "situația", + -13.136096000671387 + ], + [ + "▁Yemen", + -13.136353492736816 + ], + [ + "piping", + -13.136515617370605 + ], + [ + "blood", + -13.136772155761719 + ], + [ + "engraved", + -13.136866569519043 + ], + [ + "▁Cristina", + -13.136866569519043 + ], + [ + "▁inaccurate", + -13.136866569519043 + ], + [ + "savory", + -13.136878967285156 + ], + [ + "atism", + -13.136919021606445 + ], + [ + "▁dependency", + -13.137007713317871 + ], + [ + "▁assertion", + -13.137015342712402 + ], + [ + "▁intersect", + -13.137201309204102 + ], + [ + "DATA", + -13.137224197387695 + ], + [ + "▁britanic", + -13.1373872756958 + ], + [ + "▁sanitaire", + -13.137393951416016 + ], + [ + "▁PLUS", + -13.137436866760254 + ], + [ + "▁platter", + -13.137730598449707 + ], + [ + "▁reconsider", + -13.137802124023438 + ], + [ + "▁Swim", + -13.13786792755127 + ], + [ + "▁Scene", + -13.137896537780762 + ], + [ + "▁Reynolds", + -13.137907028198242 + ], + [ + "▁gesund", + -13.137922286987305 + ], + [ + "international", + -13.137959480285645 + ], + [ + "government", + -13.13804817199707 + ], + [ + "▁gemstone", + -13.138052940368652 + ], + [ + "▁reproductive", + -13.1381196975708 + ], + [ + "▁expressive", + -13.13820743560791 + ], + [ + "▁tranche", + -13.13842487335205 + ], + [ + "▁Niagara", + -13.138427734375 + ], + [ + "▁Studierende", + -13.138434410095215 + ], + [ + "▁crave", + -13.138607025146484 + ], + [ + "pathetic", + -13.138739585876465 + ], + [ + "▁1916", + -13.138858795166016 + ], + [ + "▁Thousand", + -13.138873100280762 + ], + [ + "uffed", + -13.138893127441406 + ], + [ + "▁Lancaster", + -13.138960838317871 + ], + [ + "▁revenge", + -13.138972282409668 + ], + [ + "▁melody", + -13.1389741897583 + ], + [ + "Suitable", + -13.138991355895996 + ], + [ + "▁beacon", + -13.139082908630371 + ], + [ + "▁MAY", + -13.139205932617188 + ], + [ + "livré", + -13.139216423034668 + ], + [ + "Virus", + -13.139391899108887 + ], + [ + "▁collaborator", + -13.139413833618164 + ], + [ + "produktion", + -13.139480590820312 + ], + [ + "▁iluminat", + -13.139593124389648 + ], + [ + "facets", + -13.13975715637207 + ], + [ + "▁expus", + -13.139784812927246 + ], + [ + "▁baptism", + -13.13999080657959 + ], + [ + "▁urgency", + -13.140016555786133 + ], + [ + "artery", + -13.14030647277832 + ], + [ + "▁eingeladen", + -13.14043140411377 + ], + [ + "▁entfernen", + -13.14051342010498 + ], + [ + "soaking", + -13.140555381774902 + ], + [ + "▁irré", + -13.140557289123535 + ], + [ + "▁purity", + -13.140700340270996 + ], + [ + "▁adăug", + -13.140731811523438 + ], + [ + "historischen", + -13.140777587890625 + ], + [ + "crezi", + -13.140793800354004 + ], + [ + "▁tarziu", + -13.141035079956055 + ], + [ + "▁Mozart", + -13.141040802001953 + ], + [ + "▁trimming", + -13.141056060791016 + ], + [ + "▁violat", + -13.141056060791016 + ], + [ + "▁Vermögen", + -13.14108943939209 + ], + [ + "▁Theorie", + -13.141114234924316 + ], + [ + "scheibe", + -13.14114761352539 + ], + [ + "Partidul", + -13.141324996948242 + ], + [ + "▁childcare", + -13.14133071899414 + ], + [ + "ajele", + -13.141345977783203 + ], + [ + "▁Punjab", + -13.141390800476074 + ], + [ + "6.3", + -13.14156436920166 + ], + [ + "▁recount", + -13.141571044921875 + ], + [ + "▁repel", + -13.141799926757812 + ], + [ + "vantage", + -13.1419095993042 + ], + [ + "6.4", + -13.141953468322754 + ], + [ + "▁comedian", + -13.142087936401367 + ], + [ + "▁snappe", + -13.142256736755371 + ], + [ + "PLE", + -13.142271041870117 + ], + [ + "▁rapper", + -13.142439842224121 + ], + [ + "▁Belfast", + -13.142657279968262 + ], + [ + "▁predictive", + -13.14271068572998 + ], + [ + "dépôt", + -13.1427583694458 + ], + [ + "flavored", + -13.142769813537598 + ], + [ + "chließlich", + -13.14293098449707 + ], + [ + "▁stump", + -13.142955780029297 + ], + [ + "▁lakh", + -13.142963409423828 + ], + [ + "3:30", + -13.143021583557129 + ], + [ + "▁cetățeni", + -13.1431245803833 + ], + [ + "▁Milliarden", + -13.143125534057617 + ], + [ + "Assurance", + -13.143128395080566 + ], + [ + "▁Marketplace", + -13.143329620361328 + ], + [ + "equipped", + -13.143423080444336 + ], + [ + "▁russe", + -13.143462181091309 + ], + [ + "Exactly", + -13.143651008605957 + ], + [ + "▁Venez", + -13.144125938415527 + ], + [ + "▁Pavilion", + -13.144171714782715 + ], + [ + "▁incontournable", + -13.144171714782715 + ], + [ + "▁slaughter", + -13.14417839050293 + ], + [ + "asteptam", + -13.144190788269043 + ], + [ + "▁Fighter", + -13.144196510314941 + ], + [ + "▁Landkreis", + -13.144278526306152 + ], + [ + "▁lumini", + -13.144312858581543 + ], + [ + "▁connaît", + -13.144615173339844 + ], + [ + "▁Breite", + -13.144674301147461 + ], + [ + "▁Disability", + -13.144774436950684 + ], + [ + "▁Alfa", + -13.144786834716797 + ], + [ + "▁poise", + -13.144895553588867 + ], + [ + "▁Alpen", + -13.144898414611816 + ], + [ + "betont", + -13.145031929016113 + ], + [ + "159", + -13.145161628723145 + ], + [ + "▁geprägt", + -13.145219802856445 + ], + [ + "▁intrigued", + -13.145219802856445 + ], + [ + "▁sympathy", + -13.145220756530762 + ], + [ + "societal", + -13.145225524902344 + ], + [ + "▁sédui", + -13.145243644714355 + ], + [ + "▁differentiation", + -13.145384788513184 + ], + [ + "▁aprobare", + -13.145744323730469 + ], + [ + "schirm", + -13.14585018157959 + ], + [ + "sagt", + -13.145956039428711 + ], + [ + "7.3", + -13.146101951599121 + ], + [ + "Bib", + -13.146263122558594 + ], + [ + "europäischen", + -13.146268844604492 + ], + [ + "▁Innovative", + -13.146268844604492 + ], + [ + "▁autonome", + -13.146330833435059 + ], + [ + "▁Objective", + -13.146400451660156 + ], + [ + "▁refusal", + -13.146551132202148 + ], + [ + "▁exposé", + -13.146719932556152 + ], + [ + "▁cetăţeni", + -13.146793365478516 + ], + [ + "▁stimmt", + -13.146798133850098 + ], + [ + "acordul", + -13.147162437438965 + ], + [ + "▁hormonal", + -13.147254943847656 + ], + [ + "intermédiaire", + -13.147319793701172 + ], + [ + "▁doubl", + -13.147374153137207 + ], + [ + "▁flute", + -13.147509574890137 + ], + [ + "▁Balkon", + -13.147523880004883 + ], + [ + "▁Florian", + -13.147607803344727 + ], + [ + "737", + -13.147614479064941 + ], + [ + "▁dritte", + -13.147639274597168 + ], + [ + "spitze", + -13.147685050964355 + ], + [ + "donnent", + -13.14778995513916 + ], + [ + "▁Zuhause", + -13.147850036621094 + ], + [ + "▁VIII", + -13.147852897644043 + ], + [ + "familien", + -13.148151397705078 + ], + [ + "▁sécurisé", + -13.148313522338867 + ], + [ + "▁glamour", + -13.148370742797852 + ], + [ + "▁societati", + -13.148370742797852 + ], + [ + "typique", + -13.1483793258667 + ], + [ + "▁addicted", + -13.148421287536621 + ], + [ + "▁Providence", + -13.148500442504883 + ], + [ + "▁Extended", + -13.148506164550781 + ], + [ + "▁Barbie", + -13.148513793945312 + ], + [ + "zustand", + -13.148516654968262 + ], + [ + "▁Sauna", + -13.148638725280762 + ], + [ + "▁propane", + -13.148663520812988 + ], + [ + "europa", + -13.148894309997559 + ], + [ + "glued", + -13.148940086364746 + ], + [ + "▁Mystery", + -13.148941993713379 + ], + [ + "▁travaillé", + -13.149106979370117 + ], + [ + "riol", + -13.149251937866211 + ], + [ + "fleisch", + -13.149288177490234 + ], + [ + "▁Eintritt", + -13.149327278137207 + ], + [ + "▁Syndrome", + -13.149422645568848 + ], + [ + "▁petroleum", + -13.149426460266113 + ], + [ + "▁genial", + -13.149433135986328 + ], + [ + "sponsored", + -13.149436950683594 + ], + [ + "▁Cindy", + -13.149436950683594 + ], + [ + "▁courier", + -13.149600982666016 + ], + [ + "▁Scrap", + -13.149640083312988 + ], + [ + "▁conţin", + -13.149724006652832 + ], + [ + "(2007)", + -13.149764060974121 + ], + [ + "▁gewährleisten", + -13.149949073791504 + ], + [ + "▁proprietor", + -13.15011215209961 + ], + [ + "▁cheque", + -13.15046215057373 + ], + [ + "maternity", + -13.150477409362793 + ], + [ + "▁Gustav", + -13.15048599243164 + ], + [ + "▁arterial", + -13.150497436523438 + ], + [ + "▁whiskey", + -13.150510787963867 + ], + [ + "▁concealed", + -13.150525093078613 + ], + [ + "thèque", + -13.150553703308105 + ], + [ + "felony", + -13.150579452514648 + ], + [ + "▁tweeted", + -13.150613784790039 + ], + [ + "OTA", + -13.150619506835938 + ], + [ + "nsel", + -13.150664329528809 + ], + [ + "▁coarse", + -13.150664329528809 + ], + [ + "▁identificat", + -13.150707244873047 + ], + [ + "▁variability", + -13.150716781616211 + ], + [ + "civ", + -13.150843620300293 + ], + [ + "▁drastic", + -13.150956153869629 + ], + [ + "▁hatred", + -13.151090621948242 + ], + [ + "▁Bürgermeister", + -13.151237487792969 + ], + [ + "▁utilizatorilor", + -13.15124225616455 + ], + [ + "OULD", + -13.15137004852295 + ], + [ + "rmaßen", + -13.151383399963379 + ], + [ + "▁windshield", + -13.151530265808105 + ], + [ + "▁Particular", + -13.151531219482422 + ], + [ + "▁Tunnel", + -13.151638984680176 + ], + [ + "▁litri", + -13.15164852142334 + ], + [ + "extrême", + -13.15180492401123 + ], + [ + "▁Schalt", + -13.151944160461426 + ], + [ + "paket", + -13.152159690856934 + ], + [ + "berlin", + -13.152169227600098 + ], + [ + "▁slujb", + -13.152193069458008 + ], + [ + "facilitated", + -13.152206420898438 + ], + [ + "Congressional", + -13.152510643005371 + ], + [ + "▁honeymoon", + -13.152585983276367 + ], + [ + "▁Provision", + -13.152697563171387 + ], + [ + "▁Outfit", + -13.152779579162598 + ], + [ + "udder", + -13.152814865112305 + ], + [ + "▁chandelier", + -13.153002738952637 + ], + [ + "donating", + -13.153132438659668 + ], + [ + "historic", + -13.15333080291748 + ], + [ + "organized", + -13.153508186340332 + ], + [ + "(8)", + -13.15356731414795 + ], + [ + "▁touristique", + -13.153610229492188 + ], + [ + "▁Roosevelt", + -13.153643608093262 + ], + [ + "▁Verständnis", + -13.153643608093262 + ], + [ + "▁prilej", + -13.153655052185059 + ], + [ + "Vanity", + -13.153806686401367 + ], + [ + "chilly", + -13.153964042663574 + ], + [ + "loyer", + -13.154031753540039 + ], + [ + "▁Zhang", + -13.154053688049316 + ], + [ + "▁Nouveau", + -13.154193878173828 + ], + [ + "Soft", + -13.154326438903809 + ], + [ + "▁motherboard", + -13.15441608428955 + ], + [ + "▁Erklärung", + -13.154701232910156 + ], + [ + "▁Tasmania", + -13.154702186584473 + ], + [ + "▁verändern", + -13.154703140258789 + ], + [ + "▁seldom", + -13.154711723327637 + ], + [ + "▁Karriere", + -13.154714584350586 + ], + [ + "▁Mixed", + -13.154902458190918 + ], + [ + "umfang", + -13.154970169067383 + ], + [ + "▁Strategies", + -13.155035972595215 + ], + [ + "CHAR", + -13.155051231384277 + ], + [ + "olitary", + -13.155075073242188 + ], + [ + "▁Persoan", + -13.1550874710083 + ], + [ + "bewegung", + -13.155242919921875 + ], + [ + "▁Ernest", + -13.155367851257324 + ], + [ + "withdrawn", + -13.155855178833008 + ], + [ + "▁stationary", + -13.155881881713867 + ], + [ + "▁bland", + -13.155939102172852 + ], + [ + "▁Replace", + -13.156059265136719 + ], + [ + "▁Londres", + -13.156290054321289 + ], + [ + "▁plural", + -13.156290054321289 + ], + [ + "▁concentrat", + -13.156515121459961 + ], + [ + "Maschine", + -13.156675338745117 + ], + [ + "▁Advocate", + -13.156820297241211 + ], + [ + "▁vermitteln", + -13.156824111938477 + ], + [ + "▁dispenser", + -13.156827926635742 + ], + [ + "▁tedious", + -13.15695858001709 + ], + [ + "▁Straight", + -13.15705394744873 + ], + [ + "▁Corona", + -13.157061576843262 + ], + [ + "▁monumental", + -13.157073020935059 + ], + [ + "▁migrate", + -13.15720272064209 + ], + [ + "▁verlieren", + -13.157366752624512 + ], + [ + "▁Lub", + -13.157482147216797 + ], + [ + "▁reinforcement", + -13.157827377319336 + ], + [ + "▁cherish", + -13.157843589782715 + ], + [ + "Veterinary", + -13.157881736755371 + ], + [ + "geschwindigkeit", + -13.157881736755371 + ], + [ + "▁féminin", + -13.157881736755371 + ], + [ + "▁Facilities", + -13.157964706420898 + ], + [ + "▁urmari", + -13.158050537109375 + ], + [ + "▁Vertical", + -13.158098220825195 + ], + [ + "echoe", + -13.158188819885254 + ], + [ + "toured", + -13.158548355102539 + ], + [ + "Served", + -13.158772468566895 + ], + [ + "más", + -13.158853530883789 + ], + [ + "license", + -13.158893585205078 + ], + [ + "misunderstanding", + -13.158944129943848 + ], + [ + "▁glamorous", + -13.158944129943848 + ], + [ + "BJP", + -13.158973693847656 + ], + [ + "▁découvert", + -13.159173965454102 + ], + [ + "schönsten", + -13.159517288208008 + ], + [ + "▁(2018)", + -13.159577369689941 + ], + [ + "▁orasului", + -13.159581184387207 + ], + [ + "328", + -13.159674644470215 + ], + [ + "thighs", + -13.159801483154297 + ], + [ + "éclairage", + -13.160008430480957 + ], + [ + "Oamenii", + -13.160009384155273 + ], + [ + "▁Transmission", + -13.16014575958252 + ], + [ + "▁transpir", + -13.16015911102295 + ], + [ + "▁președinte", + -13.160321235656738 + ], + [ + "finalists", + -13.160327911376953 + ], + [ + "genügend", + -13.160524368286133 + ], + [ + "▁Aufmerksamkeit", + -13.160539627075195 + ], + [ + "▁unglaublich", + -13.160539627075195 + ], + [ + "▁descarc", + -13.160604476928711 + ], + [ + "▁Couch", + -13.160683631896973 + ], + [ + "eaucoup", + -13.160788536071777 + ], + [ + "▁adidas", + -13.161075592041016 + ], + [ + "▁1-800-", + -13.161077499389648 + ], + [ + "▁Communities", + -13.161102294921875 + ], + [ + "▁Einkommen", + -13.161102294921875 + ], + [ + "▁Reagan", + -13.16114330291748 + ], + [ + "▁Stoke", + -13.161260604858398 + ], + [ + "▁Snapchat", + -13.161269187927246 + ], + [ + "éclat", + -13.161272048950195 + ], + [ + "▁auseinander", + -13.161367416381836 + ], + [ + "▁richesse", + -13.16137409210205 + ], + [ + "▁toggle", + -13.161396026611328 + ], + [ + "▁Zutaten", + -13.161606788635254 + ], + [ + "▁député", + -13.16161060333252 + ], + [ + "▁battlefield", + -13.161611557006836 + ], + [ + "▁spirituel", + -13.161611557006836 + ], + [ + "▁Shuttle", + -13.161632537841797 + ], + [ + "▁Aktien", + -13.161665916442871 + ], + [ + "hormon", + -13.161819458007812 + ], + [ + "connection", + -13.16187858581543 + ], + [ + "▁vizitatori", + -13.16191577911377 + ], + [ + "érité", + -13.161971092224121 + ], + [ + "truck", + -13.1619873046875 + ], + [ + "▁yourselves", + -13.162139892578125 + ], + [ + "▁Logistics", + -13.162140846252441 + ], + [ + "coveted", + -13.16215705871582 + ], + [ + "▁şedinţ", + -13.162671089172363 + ], + [ + "▁messenger", + -13.162703514099121 + ], + [ + "▁țar", + -13.162918090820312 + ], + [ + "▁Grau", + -13.163025856018066 + ], + [ + "chirurgie", + -13.163138389587402 + ], + [ + "▁Ressourcen", + -13.16320514678955 + ], + [ + "▁Jésus", + -13.163207054138184 + ], + [ + "▁acțiune", + -13.163208961486816 + ], + [ + "▁Bundesliga", + -13.163249015808105 + ], + [ + "Lizenz", + -13.163379669189453 + ], + [ + "ELLE", + -13.163908958435059 + ], + [ + "vraie", + -13.1639986038208 + ], + [ + "ruined", + -13.164018630981445 + ], + [ + "▁Marble", + -13.164109230041504 + ], + [ + "▁Zambia", + -13.164308547973633 + ], + [ + "▁Finnish", + -13.164366722106934 + ], + [ + "▁trackback", + -13.164488792419434 + ], + [ + "héros", + -13.16451644897461 + ], + [ + "▁réclam", + -13.164534568786621 + ], + [ + "locurile", + -13.164706230163574 + ], + [ + "tägliche", + -13.164753913879395 + ], + [ + "IFF", + -13.164824485778809 + ], + [ + "▁contextual", + -13.164938926696777 + ], + [ + "▁Elvis", + -13.165084838867188 + ], + [ + "▁Batch", + -13.165183067321777 + ], + [ + "▁appris", + -13.16519546508789 + ], + [ + "intensive", + -13.165404319763184 + ], + [ + "▁întâmplat", + -13.16565990447998 + ], + [ + "▁prelucr", + -13.16576099395752 + ], + [ + "flore", + -13.165873527526855 + ], + [ + "▁Alkohol", + -13.165877342224121 + ], + [ + "Konzern", + -13.165895462036133 + ], + [ + "Delete", + -13.166082382202148 + ], + [ + "öck", + -13.16612720489502 + ], + [ + "▁clientii", + -13.16614818572998 + ], + [ + "▁innovate", + -13.166224479675293 + ], + [ + "▁ASAP", + -13.166345596313477 + ], + [ + "crumbs", + -13.166425704956055 + ], + [ + "reusable", + -13.166489601135254 + ], + [ + "▁Beaver", + -13.166507720947266 + ], + [ + "▁rosii", + -13.166643142700195 + ], + [ + "Arr", + -13.166704177856445 + ], + [ + "▁Zubehör", + -13.166948318481445 + ], + [ + "▁stolz", + -13.166952133178711 + ], + [ + "▁$75", + -13.16695499420166 + ], + [ + "▁Frühling", + -13.166967391967773 + ], + [ + "▁disagreement", + -13.166988372802734 + ], + [ + "▁formulate", + -13.167381286621094 + ], + [ + "braking", + -13.167522430419922 + ], + [ + "▁submarine", + -13.167535781860352 + ], + [ + "▁identificare", + -13.167652130126953 + ], + [ + "lansarea", + -13.167659759521484 + ], + [ + "covered", + -13.167753219604492 + ], + [ + "benso", + -13.167859077453613 + ], + [ + "▁situatie", + -13.167989730834961 + ], + [ + "hilf", + -13.1681547164917 + ], + [ + "▁Southampton", + -13.168557167053223 + ], + [ + "▁intéressé", + -13.168557167053223 + ], + [ + "▁congressional", + -13.168572425842285 + ], + [ + "65%", + -13.168595314025879 + ], + [ + "▁Allison", + -13.168627738952637 + ], + [ + "Mainland", + -13.168726921081543 + ], + [ + "▁touchscreen", + -13.16882038116455 + ], + [ + "leitet", + -13.168922424316406 + ], + [ + "mnului", + -13.16958999633789 + ], + [ + "▁engagiert", + -13.169631004333496 + ], + [ + "joacă", + -13.16964340209961 + ], + [ + "▁$5,000", + -13.169652938842773 + ], + [ + "upscale", + -13.1697359085083 + ], + [ + "▁vérité", + -13.16983413696289 + ], + [ + "flüssig", + -13.170167922973633 + ], + [ + "Richtlinie", + -13.170169830322266 + ], + [ + "▁positif", + -13.170169830322266 + ], + [ + "▁diferenta", + -13.170175552368164 + ], + [ + "▁întâi", + -13.170707702636719 + ], + [ + "ethylene", + -13.170791625976562 + ], + [ + "kreuz", + -13.170913696289062 + ], + [ + "Surely", + -13.170990943908691 + ], + [ + "puneti", + -13.171002388000488 + ], + [ + "europe", + -13.171142578125 + ], + [ + "▁comunist", + -13.171271324157715 + ], + [ + "unterricht", + -13.171302795410156 + ], + [ + "▁Füll", + -13.171304702758789 + ], + [ + "▁Aberdeen", + -13.171792030334473 + ], + [ + "▁DSLR", + -13.171792030334473 + ], + [ + "▁functioneaza", + -13.171799659729004 + ], + [ + "▁benches", + -13.171807289123535 + ], + [ + "▁Alpine", + -13.171866416931152 + ], + [ + "phthal", + -13.172003746032715 + ], + [ + "▁counselling", + -13.17219066619873 + ], + [ + "▁erzielen", + -13.172323226928711 + ], + [ + "▁părinţi", + -13.172329902648926 + ], + [ + "▁besitzen", + -13.17236614227295 + ], + [ + "heavenly", + -13.172389030456543 + ], + [ + "▁masque", + -13.17281723022461 + ], + [ + "▁Legislature", + -13.172859191894531 + ], + [ + "▁Recycling", + -13.172861099243164 + ], + [ + "▁Derma", + -13.172883987426758 + ], + [ + "reunite", + -13.172926902770996 + ], + [ + "recettes", + -13.17310619354248 + ], + [ + "converge", + -13.173262596130371 + ], + [ + "▁compoziti", + -13.17327880859375 + ], + [ + "▁Nürnberg", + -13.173398971557617 + ], + [ + "760", + -13.173545837402344 + ], + [ + "▁entière", + -13.173674583435059 + ], + [ + "▁parchment", + -13.173944473266602 + ], + [ + "▁Aufwand", + -13.173945426940918 + ], + [ + "▁antivirus", + -13.174087524414062 + ], + [ + "▁remettr", + -13.17409610748291 + ], + [ + "▁NEVER", + -13.174243927001953 + ], + [ + "▁restrictive", + -13.174266815185547 + ], + [ + "▁beurre", + -13.174283027648926 + ], + [ + "▁frigider", + -13.174478530883789 + ], + [ + "acquisition", + -13.174642562866211 + ], + [ + "▁Correct", + -13.174866676330566 + ], + [ + "▁immortal", + -13.175017356872559 + ], + [ + "▁occupancy", + -13.175017356872559 + ], + [ + "▁Tucson", + -13.175019264221191 + ], + [ + "▁Dhabi", + -13.175025939941406 + ], + [ + "obligation", + -13.175033569335938 + ], + [ + "▁warfare", + -13.175037384033203 + ], + [ + "▁syntax", + -13.175045013427734 + ], + [ + "APS", + -13.175106048583984 + ], + [ + "мен", + -13.175209999084473 + ], + [ + "▁diferenț", + -13.175251960754395 + ], + [ + "wordpress", + -13.17549991607666 + ], + [ + "▁Wohnzimmer", + -13.175593376159668 + ], + [ + "oppo", + -13.175736427307129 + ], + [ + "▁miscare", + -13.175762176513672 + ], + [ + "companiilor", + -13.17581558227539 + ], + [ + "▁bezahlt", + -13.17584228515625 + ], + [ + "Sterne", + -13.175864219665527 + ], + [ + "inability", + -13.175898551940918 + ], + [ + "▁Hoffnung", + -13.176156044006348 + ], + [ + "▁românească", + -13.176176071166992 + ], + [ + "document", + -13.176177024841309 + ], + [ + "borrowers", + -13.17625904083252 + ], + [ + "▁rasa", + -13.176301956176758 + ], + [ + "▁bénéfice", + -13.176445960998535 + ], + [ + "▁Panda", + -13.17645263671875 + ], + [ + "▁cărţi", + -13.176730155944824 + ], + [ + "▁Vorgehen", + -13.17690658569336 + ], + [ + "▁afecteaz", + -13.176956176757812 + ], + [ + "▁diagnos", + -13.177050590515137 + ], + [ + "▁Dentistry", + -13.177180290222168 + ], + [ + "▁staggering", + -13.177180290222168 + ], + [ + "präsident", + -13.177181243896484 + ], + [ + "▁vocational", + -13.177239418029785 + ], + [ + "Combined", + -13.177287101745605 + ], + [ + "stère", + -13.177306175231934 + ], + [ + "▁frunze", + -13.177478790283203 + ], + [ + "OLI", + -13.177525520324707 + ], + [ + "▁răc", + -13.177752494812012 + ], + [ + "▁changé", + -13.177754402160645 + ], + [ + "▁reprezentanți", + -13.177757263183594 + ], + [ + "▁ausgeschlossen", + -13.177777290344238 + ], + [ + "Windows", + -13.177891731262207 + ], + [ + "sometimes", + -13.177898406982422 + ], + [ + "▁dargestellt", + -13.178120613098145 + ], + [ + "provoking", + -13.178263664245605 + ], + [ + "terribly", + -13.178264617919922 + ], + [ + "▁speculate", + -13.178274154663086 + ], + [ + "▁complément", + -13.178305625915527 + ], + [ + "▁(2006)", + -13.178306579589844 + ], + [ + "zulegen", + -13.178668022155762 + ], + [ + "▁définitive", + -13.178876876831055 + ], + [ + "considerare", + -13.17911148071289 + ], + [ + "▁Subaru", + -13.179354667663574 + ], + [ + "WAN", + -13.179390907287598 + ], + [ + "guessed", + -13.179417610168457 + ], + [ + "spannung", + -13.179479598999023 + ], + [ + "▁supernatural", + -13.179515838623047 + ], + [ + "▁Interstate", + -13.17957878112793 + ], + [ + "▁redundant", + -13.179891586303711 + ], + [ + "▁HUG", + -13.179893493652344 + ], + [ + "▁restauration", + -13.180006980895996 + ], + [ + "repute", + -13.180011749267578 + ], + [ + "coagul", + -13.180028915405273 + ], + [ + "tehnologia", + -13.18043327331543 + ], + [ + "warded", + -13.180444717407227 + ], + [ + "▁lobster", + -13.180469512939453 + ], + [ + "▁Hafen", + -13.180542945861816 + ], + [ + "▁Guess", + -13.18056583404541 + ], + [ + "seraient", + -13.181038856506348 + ], + [ + "▁trench", + -13.181156158447266 + ], + [ + "▁piept", + -13.181283950805664 + ], + [ + "categorized", + -13.181396484375 + ], + [ + "softer", + -13.1815185546875 + ], + [ + "▁feasibility", + -13.181519508361816 + ], + [ + "▁restructuring", + -13.181519508361816 + ], + [ + "▁GOOD", + -13.181537628173828 + ], + [ + "▁inspiré", + -13.181610107421875 + ], + [ + "▁spéci", + -13.18163013458252 + ], + [ + "▁Mattress", + -13.181686401367188 + ], + [ + "▁biologique", + -13.181702613830566 + ], + [ + "▁Crema", + -13.182043075561523 + ], + [ + "▁korrekt", + -13.182063102722168 + ], + [ + "▁imperfect", + -13.182205200195312 + ], + [ + "▁advantageous", + -13.182329177856445 + ], + [ + "9.00", + -13.182390213012695 + ], + [ + "PAL", + -13.182557106018066 + ], + [ + "▁Illustration", + -13.182607650756836 + ], + [ + "▁Katherine", + -13.182607650756836 + ], + [ + "▁cervical", + -13.182607650756836 + ], + [ + "▁hectic", + -13.182611465454102 + ], + [ + "▁Belastung", + -13.182615280151367 + ], + [ + "▁Laguna", + -13.182628631591797 + ], + [ + "▁Burton", + -13.182761192321777 + ], + [ + "nettoyage", + -13.182875633239746 + ], + [ + "Toward", + -13.183072090148926 + ], + [ + "continuare", + -13.183072090148926 + ], + [ + "▁acumulat", + -13.183106422424316 + ], + [ + "▁déposé", + -13.183216094970703 + ], + [ + "▁prestige", + -13.183269500732422 + ], + [ + "▁LNG", + -13.183525085449219 + ], + [ + "▁Dacia", + -13.183662414550781 + ], + [ + "▁concede", + -13.183691024780273 + ], + [ + "▁reconciliation", + -13.183822631835938 + ], + [ + "Sistemul", + -13.183877944946289 + ], + [ + "Speed", + -13.183937072753906 + ], + [ + "▁Implant", + -13.183977127075195 + ], + [ + "▁möchtest", + -13.184020042419434 + ], + [ + "▁Norton", + -13.184064865112305 + ], + [ + "▁cosmic", + -13.184181213378906 + ], + [ + "enregistrement", + -13.184247016906738 + ], + [ + "țării", + -13.18433952331543 + ], + [ + "Veröffentlichung", + -13.184786796569824 + ], + [ + "erlebnis", + -13.184786796569824 + ], + [ + "▁Carpenter", + -13.184786796569824 + ], + [ + "▁INFORMATION", + -13.184786796569824 + ], + [ + "invites", + -13.18481731414795 + ], + [ + "▁gewan", + -13.1849365234375 + ], + [ + "▁réservé", + -13.184986114501953 + ], + [ + "▁aquatic", + -13.184988021850586 + ], + [ + "▁Seoul", + -13.18507194519043 + ], + [ + "▁älter", + -13.185185432434082 + ], + [ + "▁classmates", + -13.185223579406738 + ], + [ + "gelangen", + -13.185253143310547 + ], + [ + "▁Camill", + -13.185285568237305 + ], + [ + "simo", + -13.185291290283203 + ], + [ + "▁dormitor", + -13.185333251953125 + ], + [ + "wahren", + -13.185354232788086 + ], + [ + "▁incremental", + -13.185357093811035 + ], + [ + "▁caci", + -13.185494422912598 + ], + [ + "mittlere", + -13.185752868652344 + ], + [ + "▁condominium", + -13.185877799987793 + ], + [ + "▁rainforest", + -13.185877799987793 + ], + [ + "▁championnat", + -13.185891151428223 + ], + [ + "▁interrupted", + -13.185921669006348 + ], + [ + "▁tactile", + -13.185930252075195 + ], + [ + "▁unconditional", + -13.185945510864258 + ], + [ + "▁reactive", + -13.186041831970215 + ], + [ + "▁Stretch", + -13.1861572265625 + ], + [ + "▁serene", + -13.18624210357666 + ], + [ + "570", + -13.186318397521973 + ], + [ + "igte", + -13.186376571655273 + ], + [ + "Louis", + -13.186410903930664 + ], + [ + "▁Mittelpunkt", + -13.186493873596191 + ], + [ + "EEP", + -13.18651294708252 + ], + [ + "▁vault", + -13.186552047729492 + ], + [ + "absolu", + -13.186893463134766 + ], + [ + "▁solidarity", + -13.186971664428711 + ], + [ + "CLICK", + -13.18708324432373 + ], + [ + "▁hustle", + -13.187090873718262 + ], + [ + "▁microscope", + -13.187105178833008 + ], + [ + "▁Recommended", + -13.187111854553223 + ], + [ + "âche", + -13.18716812133789 + ], + [ + "▁flashlight", + -13.187286376953125 + ], + [ + "modificarea", + -13.18754768371582 + ], + [ + "izaţi", + -13.18773078918457 + ], + [ + "planned", + -13.187899589538574 + ], + [ + "Download", + -13.187906265258789 + ], + [ + "▁gourmand", + -13.188064575195312 + ], + [ + "▁subsidiaries", + -13.188064575195312 + ], + [ + "orthodox", + -13.188135147094727 + ], + [ + "▁Auburn", + -13.188323020935059 + ], + [ + "▁exprimat", + -13.188336372375488 + ], + [ + "procédé", + -13.18861198425293 + ], + [ + "▁ressenti", + -13.188648223876953 + ], + [ + "▁stint", + -13.188678741455078 + ], + [ + "Essentially", + -13.189072608947754 + ], + [ + "▁Savior", + -13.189164161682129 + ], + [ + "▁Flood", + -13.189168930053711 + ], + [ + "▁neurological", + -13.189249038696289 + ], + [ + "▁strig", + -13.189340591430664 + ], + [ + "scended", + -13.189421653747559 + ], + [ + "▁Shiva", + -13.189483642578125 + ], + [ + "▁Sketch", + -13.189544677734375 + ], + [ + "▁monarch", + -13.18956184387207 + ], + [ + "▁Preview", + -13.189632415771484 + ], + [ + "▁bewegt", + -13.189811706542969 + ], + [ + "mapped", + -13.189818382263184 + ], + [ + "énorme", + -13.189962387084961 + ], + [ + "▁définition", + -13.189963340759277 + ], + [ + "▁nécessité", + -13.189984321594238 + ], + [ + "▁antren", + -13.190027236938477 + ], + [ + "▁Infant", + -13.190072059631348 + ], + [ + "▁incumbent", + -13.190255165100098 + ], + [ + "▁pavilion", + -13.190255165100098 + ], + [ + "▁Taliban", + -13.19025707244873 + ], + [ + "Easily", + -13.19025993347168 + ], + [ + "▁verteilt", + -13.19030475616455 + ], + [ + "▁Biblical", + -13.190320014953613 + ], + [ + "Christian", + -13.190333366394043 + ], + [ + "județul", + -13.190436363220215 + ], + [ + "Learning", + -13.19046688079834 + ], + [ + "▁Expand", + -13.19054126739502 + ], + [ + "▁Attach", + -13.19056224822998 + ], + [ + "consideră", + -13.190573692321777 + ], + [ + "einsatz", + -13.190574645996094 + ], + [ + "Numai", + -13.190585136413574 + ], + [ + "▁Eintrag", + -13.190597534179688 + ], + [ + "▁üblich", + -13.190607070922852 + ], + [ + "▁cumpără", + -13.19062614440918 + ], + [ + "escaped", + -13.190693855285645 + ], + [ + "▁Ortodox", + -13.190804481506348 + ], + [ + "▁obţinut", + -13.190805435180664 + ], + [ + "ecluded", + -13.191036224365234 + ], + [ + "▁brownie", + -13.191089630126953 + ], + [ + "▁regulament", + -13.191253662109375 + ], + [ + "▁Chaos", + -13.191302299499512 + ], + [ + "▁masiv", + -13.19132137298584 + ], + [ + "▁Gerald", + -13.191376686096191 + ], + [ + "▁Sigur", + -13.191380500793457 + ], + [ + "▁wavelength", + -13.191380500793457 + ], + [ + "▁retiring", + -13.191396713256836 + ], + [ + "▁exactement", + -13.191819190979004 + ], + [ + "ntino", + -13.191823959350586 + ], + [ + "▁Krebs", + -13.19194221496582 + ], + [ + "▁monatlich", + -13.191956520080566 + ], + [ + "▁aranj", + -13.192011833190918 + ], + [ + "▁priveşt", + -13.192099571228027 + ], + [ + "▁mecanic", + -13.192109107971191 + ], + [ + "money", + -13.192233085632324 + ], + [ + "parliamentary", + -13.1922607421875 + ], + [ + "▁probation", + -13.192427635192871 + ], + [ + "embroidered", + -13.192451477050781 + ], + [ + "▁amenajat", + -13.192451477050781 + ], + [ + "▁remnant", + -13.192451477050781 + ], + [ + "▁senzati", + -13.192472457885742 + ], + [ + "▁Declaration", + -13.192483901977539 + ], + [ + "farbe", + -13.192506790161133 + ], + [ + "▁skinny", + -13.19260311126709 + ], + [ + "Energi", + -13.192648887634277 + ], + [ + "verhältnisse", + -13.19288158416748 + ], + [ + "Recruit", + -13.192972183227539 + ], + [ + "frying", + -13.193161010742188 + ], + [ + "925", + -13.193294525146484 + ], + [ + "nstruire", + -13.193302154541016 + ], + [ + "toasted", + -13.193424224853516 + ], + [ + "▁nicotine", + -13.193551063537598 + ], + [ + "recessed", + -13.193570137023926 + ], + [ + "▁dialect", + -13.193572044372559 + ], + [ + "▁confisc", + -13.193575859069824 + ], + [ + "▁bubbl", + -13.193643569946289 + ], + [ + "▁Precision", + -13.193682670593262 + ], + [ + "▁sollicit", + -13.193842887878418 + ], + [ + "▁Moral", + -13.193977355957031 + ], + [ + "▁renseignements", + -13.194112777709961 + ], + [ + "UMP", + -13.194116592407227 + ], + [ + "ijn", + -13.194183349609375 + ], + [ + "▁fermeture", + -13.194320678710938 + ], + [ + "▁blueprint", + -13.19462776184082 + ], + [ + "▁groceries", + -13.194652557373047 + ], + [ + "möbel", + -13.194655418395996 + ], + [ + "▁Plenty", + -13.194657325744629 + ], + [ + "▁forfeit", + -13.194719314575195 + ], + [ + "méthodes", + -13.194915771484375 + ], + [ + "paving", + -13.19493293762207 + ], + [ + "outheastern", + -13.194979667663574 + ], + [ + "▁Overview", + -13.19503116607666 + ], + [ + "▁observers", + -13.195171356201172 + ], + [ + "▁Timișoara", + -13.19520378112793 + ], + [ + "noticing", + -13.195332527160645 + ], + [ + "▁Owl", + -13.195381164550781 + ], + [ + "▁1925", + -13.195517539978027 + ], + [ + "▁prüfen", + -13.195755004882812 + ], + [ + "▁Bewohner", + -13.195756912231445 + ], + [ + "▁Latvia", + -13.195770263671875 + ], + [ + "▁Tuscan", + -13.19577407836914 + ], + [ + "▁apprenticeship", + -13.195789337158203 + ], + [ + "▁courteous", + -13.1958646774292 + ], + [ + "adult", + -13.196023941040039 + ], + [ + "Licensed", + -13.196029663085938 + ], + [ + "abused", + -13.196762084960938 + ], + [ + "confidence", + -13.19678020477295 + ], + [ + "▁revolt", + -13.196782112121582 + ], + [ + "conference", + -13.196861267089844 + ], + [ + "genoss", + -13.196914672851562 + ], + [ + "▁răni", + -13.196944236755371 + ], + [ + "▁Intervention", + -13.196949005126953 + ], + [ + "▁primesc", + -13.196969985961914 + ], + [ + "trays", + -13.197041511535645 + ], + [ + "nozzle", + -13.197216033935547 + ], + [ + "▁splitting", + -13.197443962097168 + ], + [ + "▁könne", + -13.197507858276367 + ], + [ + "▁peisaj", + -13.197943687438965 + ], + [ + "▁academia", + -13.197962760925293 + ], + [ + "▁chakra", + -13.197979927062988 + ], + [ + "▁Abdul", + -13.1981201171875 + ], + [ + "▁Beschreibung", + -13.198225021362305 + ], + [ + "Regeln", + -13.19831371307373 + ], + [ + "eezy", + -13.198314666748047 + ], + [ + "▁problématique", + -13.198515892028809 + ], + [ + "▁Ausführung", + -13.198524475097656 + ], + [ + "▁reconnect", + -13.19868278503418 + ], + [ + "▁telefonic", + -13.198966026306152 + ], + [ + "▁Ethereum", + -13.199069023132324 + ], + [ + "▁Winnipeg", + -13.199069023132324 + ], + [ + "▁misconception", + -13.199069023132324 + ], + [ + "▁Verpackung", + -13.199070930480957 + ], + [ + "▁erzeugt", + -13.199097633361816 + ], + [ + "▁Identity", + -13.199104309082031 + ], + [ + "▁dunkle", + -13.199109077453613 + ], + [ + "sustaining", + -13.19916820526123 + ], + [ + "▁pereche", + -13.199178695678711 + ], + [ + "▁neîn", + -13.199239730834961 + ], + [ + "directorul", + -13.199291229248047 + ], + [ + "▁élabor", + -13.199584007263184 + ], + [ + "▁Hollow", + -13.19960880279541 + ], + [ + "▁getestet", + -13.199751853942871 + ], + [ + "▁Promote", + -13.199797630310059 + ], + [ + "agriculture", + -13.199920654296875 + ], + [ + "▁deosebir", + -13.199934005737305 + ], + [ + "▁neam", + -13.199999809265137 + ], + [ + "aufbau", + -13.200042724609375 + ], + [ + "▁susținut", + -13.200079917907715 + ], + [ + "fueled", + -13.200119018554688 + ], + [ + "▁impresionant", + -13.200177192687988 + ], + [ + "innate", + -13.20026969909668 + ], + [ + "grenzt", + -13.200340270996094 + ], + [ + "rescued", + -13.200514793395996 + ], + [ + "bestand", + -13.200559616088867 + ], + [ + "▁adjunct", + -13.200729370117188 + ], + [ + "▁Mischung", + -13.200754165649414 + ], + [ + "▁Lease", + -13.201258659362793 + ], + [ + "espagnol", + -13.201284408569336 + ], + [ + "▁Kickstarter", + -13.201284408569336 + ], + [ + "▁buzunar", + -13.201284408569336 + ], + [ + "▁buddies", + -13.20129108428955 + ], + [ + "käufe", + -13.201485633850098 + ], + [ + "cevoir", + -13.201582908630371 + ], + [ + "▁creşte", + -13.201675415039062 + ], + [ + "▁Cluster", + -13.201825141906738 + ], + [ + "▁obișnui", + -13.201838493347168 + ], + [ + "▁cassette", + -13.201889038085938 + ], + [ + "▁optisch", + -13.201947212219238 + ], + [ + "manned", + -13.20200252532959 + ], + [ + "schneid", + -13.202362060546875 + ], + [ + "Württemberg", + -13.202393531799316 + ], + [ + "shredded", + -13.202393531799316 + ], + [ + "▁botanical", + -13.20239543914795 + ], + [ + "characterization", + -13.202445983886719 + ], + [ + "▁Durchführung", + -13.202452659606934 + ], + [ + "▁tireless", + -13.20250129699707 + ], + [ + "lässlich", + -13.20254135131836 + ], + [ + "▁Merchant", + -13.202570915222168 + ], + [ + "joutez", + -13.20259952545166 + ], + [ + "▁amélior", + -13.202676773071289 + ], + [ + "fixed", + -13.202741622924805 + ], + [ + "kho", + -13.202760696411133 + ], + [ + "▁televizor", + -13.202948570251465 + ], + [ + "▁Davies", + -13.202964782714844 + ], + [ + "enceinte", + -13.203118324279785 + ], + [ + "▁Panorama", + -13.20350456237793 + ], + [ + "▁maternal", + -13.203507423400879 + ], + [ + "diversified", + -13.203513145446777 + ], + [ + "▁Jü", + -13.203570365905762 + ], + [ + "▁naz", + -13.203730583190918 + ], + [ + "▁plonge", + -13.2039213180542 + ], + [ + "geschickt", + -13.203944206237793 + ], + [ + "MIS", + -13.204215049743652 + ], + [ + "ragged", + -13.204553604125977 + ], + [ + "▁diarrhea", + -13.20461654663086 + ], + [ + "▁tsunami", + -13.20461654663086 + ], + [ + "▁Nikola", + -13.204625129699707 + ], + [ + "▁festivities", + -13.20464038848877 + ], + [ + "potting", + -13.20479965209961 + ], + [ + "▁telefonisch", + -13.204874038696289 + ], + [ + "TAR", + -13.204971313476562 + ], + [ + "▁schimbări", + -13.205023765563965 + ], + [ + "▁occidental", + -13.205172538757324 + ], + [ + "schloss", + -13.205179214477539 + ], + [ + "Print", + -13.205284118652344 + ], + [ + "▁autoritățil", + -13.205361366271973 + ], + [ + "idos", + -13.20556640625 + ], + [ + "mediocr", + -13.20559310913086 + ], + [ + "▁Decla", + -13.205686569213867 + ], + [ + "▁Elliott", + -13.205729484558105 + ], + [ + "▁pinpoint", + -13.205734252929688 + ], + [ + "▁disciple", + -13.20579719543457 + ], + [ + "▁Cairo", + -13.2058744430542 + ], + [ + "▁15-20", + -13.2059326171875 + ], + [ + "▁limbaj", + -13.20611572265625 + ], + [ + "▁retenu", + -13.206154823303223 + ], + [ + "▁Blüte", + -13.20628833770752 + ], + [ + "▁MINI", + -13.206467628479004 + ], + [ + "▁lumină", + -13.206567764282227 + ], + [ + "▁flawed", + -13.206846237182617 + ], + [ + "▁Belarus", + -13.207067489624023 + ], + [ + "Totul", + -13.207207679748535 + ], + [ + "hôte", + -13.207273483276367 + ], + [ + "▁verbringen", + -13.207315444946289 + ], + [ + "▁simultaneous", + -13.207344055175781 + ], + [ + "▁competiți", + -13.207402229309082 + ], + [ + "▁lancement", + -13.207413673400879 + ], + [ + "▁proprietati", + -13.207432746887207 + ], + [ + "▁angajator", + -13.207465171813965 + ], + [ + "▁ignorant", + -13.207674026489258 + ], + [ + "▁indicative", + -13.207700729370117 + ], + [ + "▁Bearbeitung", + -13.207961082458496 + ], + [ + "▁Ungaria", + -13.207961082458496 + ], + [ + "▁Sfint", + -13.208015441894531 + ], + [ + "▁Trojan", + -13.20804214477539 + ], + [ + "▁1911", + -13.208100318908691 + ], + [ + "▁reliabl", + -13.2081937789917 + ], + [ + "6-0", + -13.20827865600586 + ], + [ + "obst", + -13.208523750305176 + ], + [ + "▁relève", + -13.208579063415527 + ], + [ + "▁standpoint", + -13.208874702453613 + ], + [ + "ridden", + -13.208918571472168 + ], + [ + "▁Pdf", + -13.209005355834961 + ], + [ + "tatewide", + -13.209051132202148 + ], + [ + "Water", + -13.209062576293945 + ], + [ + "▁Pricing", + -13.209089279174805 + ], + [ + "▁protecţi", + -13.209168434143066 + ], + [ + "November", + -13.209615707397461 + ], + [ + "▁televiziune", + -13.20964241027832 + ], + [ + "Sodium", + -13.209881782531738 + ], + [ + "douceur", + -13.209942817687988 + ], + [ + "▁Flasche", + -13.210183143615723 + ], + [ + "3.9", + -13.210193634033203 + ], + [ + "▁electromagnetic", + -13.210195541381836 + ], + [ + "▁mitochondria", + -13.210195541381836 + ], + [ + "Suddenly", + -13.210199356079102 + ], + [ + "▁Drupal", + -13.210201263427734 + ], + [ + "▁supraveghere", + -13.210211753845215 + ], + [ + "▁cornea", + -13.210288047790527 + ], + [ + "räumt", + -13.210309982299805 + ], + [ + "▁healed", + -13.210410118103027 + ], + [ + "Roc", + -13.210649490356445 + ], + [ + "▁temporar", + -13.210707664489746 + ], + [ + "▁amaze", + -13.210770606994629 + ], + [ + "▁confrunta", + -13.210833549499512 + ], + [ + "Afterward", + -13.210836410522461 + ], + [ + "▁festgelegt", + -13.21084213256836 + ], + [ + "▁Kuchen", + -13.210844993591309 + ], + [ + "▁perpetual", + -13.210858345031738 + ], + [ + "systematically", + -13.211000442504883 + ], + [ + "▁coloan", + -13.211006164550781 + ], + [ + "▁extensi", + -13.211058616638184 + ], + [ + "▁Județean", + -13.211315155029297 + ], + [ + "▁amelior", + -13.211315155029297 + ], + [ + "▁illustrator", + -13.211315155029297 + ], + [ + "▁titanium", + -13.211344718933105 + ], + [ + "SMEs", + -13.211384773254395 + ], + [ + "taxable", + -13.211578369140625 + ], + [ + "▁Borough", + -13.211607933044434 + ], + [ + "verlust", + -13.211772918701172 + ], + [ + "ductive", + -13.21233081817627 + ], + [ + "▁Küste", + -13.212335586547852 + ], + [ + "▁végétal", + -13.212410926818848 + ], + [ + "▁breastfeeding", + -13.212435722351074 + ], + [ + "▁captivating", + -13.212435722351074 + ], + [ + "▁Chevy", + -13.212443351745605 + ], + [ + "▁aerospace", + -13.212469100952148 + ], + [ + "pozitia", + -13.213095664978027 + ], + [ + "Tutor", + -13.213199615478516 + ], + [ + "▁spum", + -13.213312149047852 + ], + [ + "curând", + -13.213419914245605 + ], + [ + "iscus", + -13.213458061218262 + ], + [ + "October", + -13.213495254516602 + ], + [ + "▁Reparatur", + -13.213557243347168 + ], + [ + "▁Servicii", + -13.213574409484863 + ], + [ + "▁Gonz", + -13.21357536315918 + ], + [ + "▁cybersecurity", + -13.21357536315918 + ], + [ + "▁UCLA", + -13.213678359985352 + ], + [ + "rissa", + -13.213835716247559 + ], + [ + "▁Kemp", + -13.213850021362305 + ], + [ + "▁piston", + -13.214046478271484 + ], + [ + "▁révèle", + -13.214118957519531 + ], + [ + "▁posséd", + -13.21412181854248 + ], + [ + "▁versehen", + -13.214129447937012 + ], + [ + "▁scrutin", + -13.214226722717285 + ], + [ + "donnant", + -13.21436882019043 + ], + [ + "▁Geschwindigkeit", + -13.214680671691895 + ], + [ + "▁Panasonic", + -13.214680671691895 + ], + [ + "audio", + -13.214700698852539 + ], + [ + "▁Packaging", + -13.214771270751953 + ], + [ + "phra", + -13.2147798538208 + ], + [ + "▁Letzte", + -13.214954376220703 + ], + [ + "insicht", + -13.215141296386719 + ], + [ + "▁sammeln", + -13.215243339538574 + ], + [ + "▁extins", + -13.215259552001953 + ], + [ + "▁collège", + -13.215266227722168 + ], + [ + "ancies", + -13.215343475341797 + ], + [ + "▁întâlnit", + -13.215350151062012 + ], + [ + "▁Servi", + -13.215392112731934 + ], + [ + "stattet", + -13.215493202209473 + ], + [ + "▁abstraction", + -13.215566635131836 + ], + [ + "▁candidature", + -13.215592384338379 + ], + [ + "ONU", + -13.215676307678223 + ], + [ + "▁raffle", + -13.215826988220215 + ], + [ + "▁Soldier", + -13.215834617614746 + ], + [ + "▁stipulate", + -13.215883255004883 + ], + [ + "▁vizual", + -13.215950012207031 + ], + [ + "lucht", + -13.216007232666016 + ], + [ + "▁circus", + -13.216068267822266 + ], + [ + "▁decree", + -13.216259002685547 + ], + [ + "immeuble", + -13.216367721557617 + ], + [ + "Store", + -13.216426849365234 + ], + [ + "randul", + -13.216622352600098 + ], + [ + "▁narration", + -13.216933250427246 + ], + [ + "implication", + -13.216958045959473 + ], + [ + "▁discontinued", + -13.216971397399902 + ], + [ + "▁Pilates", + -13.216989517211914 + ], + [ + "▁biais", + -13.21701431274414 + ], + [ + "panel", + -13.217325210571289 + ], + [ + "▁mower", + -13.217458724975586 + ], + [ + "▁Castro", + -13.21753978729248 + ], + [ + "pregătire", + -13.217641830444336 + ], + [ + "▁denomination", + -13.218062400817871 + ], + [ + "▁throttle", + -13.21806526184082 + ], + [ + "▁finition", + -13.218086242675781 + ], + [ + "▁clarification", + -13.218286514282227 + ], + [ + "laut", + -13.218366622924805 + ], + [ + "▁wastewater", + -13.2184419631958 + ], + [ + "▁Sanchez", + -13.218770980834961 + ], + [ + "▁Umfeld", + -13.2189359664917 + ], + [ + "▁consili", + -13.218997955322266 + ], + [ + "extrait", + -13.219013214111328 + ], + [ + "ionism", + -13.2190523147583 + ], + [ + "▁Cannabis", + -13.219186782836914 + ], + [ + "▁misconduct", + -13.219186782836914 + ], + [ + "▁shepherd", + -13.219186782836914 + ], + [ + "▁feminist", + -13.21919059753418 + ], + [ + "▁criterii", + -13.219212532043457 + ], + [ + "America", + -13.219219207763672 + ], + [ + "▁Telephone", + -13.219270706176758 + ], + [ + "▁Fritz", + -13.219438552856445 + ], + [ + "▁cheltui", + -13.219794273376465 + ], + [ + "▁Übung", + -13.219857215881348 + ], + [ + "făcută", + -13.22006893157959 + ], + [ + "▁străzi", + -13.220170021057129 + ], + [ + "influencing", + -13.220315933227539 + ], + [ + "▁Democracy", + -13.220321655273438 + ], + [ + "atorium", + -13.220376014709473 + ], + [ + "▁Stufe", + -13.220465660095215 + ], + [ + "▁Cornell", + -13.220660209655762 + ], + [ + "zugehen", + -13.22074031829834 + ], + [ + "▁coton", + -13.220804214477539 + ], + [ + "▁beinhaltet", + -13.220881462097168 + ], + [ + "▁kritisch", + -13.220884323120117 + ], + [ + "▁Kalender", + -13.22105884552002 + ], + [ + "▁Teig", + -13.221253395080566 + ], + [ + "cooked", + -13.221264839172363 + ], + [ + "▁diversité", + -13.221390724182129 + ], + [ + "recognizable", + -13.221446990966797 + ], + [ + "▁Dictionary", + -13.221446990966797 + ], + [ + "attribution", + -13.22145938873291 + ], + [ + "▁Teresa", + -13.221471786499023 + ], + [ + "▁Ahmad", + -13.221487998962402 + ], + [ + "HAM", + -13.221627235412598 + ], + [ + "▁floss", + -13.221668243408203 + ], + [ + "génie", + -13.2218599319458 + ], + [ + "▁Espa", + -13.221989631652832 + ], + [ + "hersteller", + -13.221993446350098 + ], + [ + "Musée", + -13.222001075744629 + ], + [ + "▁Crawford", + -13.222579002380371 + ], + [ + "▁Phantom", + -13.222579002380371 + ], + [ + "▁Jenkins", + -13.222640037536621 + ], + [ + "genauer", + -13.222774505615234 + ], + [ + "▁acţiuni", + -13.222885131835938 + ], + [ + "▁meciuri", + -13.22322940826416 + ], + [ + "▁verstärkt", + -13.22326374053955 + ], + [ + "▁troop", + -13.22341251373291 + ], + [ + "räder", + -13.223483085632324 + ], + [ + "Putting", + -13.223536491394043 + ], + [ + "NASDAQ", + -13.223712921142578 + ], + [ + "▁Buddhism", + -13.223712921142578 + ], + [ + "▁Religious", + -13.223712921142578 + ], + [ + "▁accommodating", + -13.223712921142578 + ], + [ + "▁lendemain", + -13.223712921142578 + ], + [ + "▁plywood", + -13.223714828491211 + ], + [ + "▁inflatable", + -13.223724365234375 + ], + [ + "▁sèche", + -13.223731994628906 + ], + [ + "▁fragil", + -13.223845481872559 + ], + [ + "▁Filip", + -13.224115371704102 + ], + [ + "▁Terrace", + -13.224274635314941 + ], + [ + "Biblio", + -13.22432804107666 + ], + [ + "resides", + -13.22448444366455 + ], + [ + "▁varf", + -13.22451114654541 + ], + [ + "Bildern", + -13.224528312683105 + ], + [ + "loß", + -13.224685668945312 + ], + [ + "555", + -13.224702835083008 + ], + [ + "▁astounding", + -13.224847793579102 + ], + [ + "▁brillant", + -13.224857330322266 + ], + [ + "▁Railroad", + -13.224871635437012 + ], + [ + "minimizing", + -13.224907875061035 + ], + [ + "▁Benedict", + -13.225019454956055 + ], + [ + "▁$400", + -13.225068092346191 + ], + [ + "▁schematic", + -13.225217819213867 + ], + [ + "Canada", + -13.225371360778809 + ], + [ + "▁psihic", + -13.225415229797363 + ], + [ + "▁avertiz", + -13.225497245788574 + ], + [ + "▁Breed", + -13.225550651550293 + ], + [ + "▁gradina", + -13.225606918334961 + ], + [ + "▁Liege", + -13.225822448730469 + ], + [ + "▁Retirement", + -13.225983619689941 + ], + [ + "▁pergola", + -13.226005554199219 + ], + [ + "▁Kuwait", + -13.2260103225708 + ], + [ + "▁logistic", + -13.22629451751709 + ], + [ + "▁captive", + -13.22651481628418 + ], + [ + "prepared", + -13.226568222045898 + ], + [ + "▁prononc", + -13.226568222045898 + ], + [ + "Celui", + -13.226676940917969 + ], + [ + "deutschland", + -13.227120399475098 + ], + [ + "▁devreme", + -13.227124214172363 + ], + [ + "▁părți", + -13.227270126342773 + ], + [ + "▁1934", + -13.227517127990723 + ], + [ + "▁ersetzt", + -13.227560997009277 + ], + [ + "▁frightening", + -13.227689743041992 + ], + [ + "▁fiecărui", + -13.227819442749023 + ], + [ + "correct", + -13.22799015045166 + ], + [ + "6.6", + -13.228057861328125 + ], + [ + "▁Manitoba", + -13.228259086608887 + ], + [ + "Chartered", + -13.228416442871094 + ], + [ + "▁părăs", + -13.228543281555176 + ], + [ + "Powered", + -13.228697776794434 + ], + [ + "impede", + -13.22876262664795 + ], + [ + "agonist", + -13.22878646850586 + ], + [ + "▁stratégique", + -13.228829383850098 + ], + [ + "▁vigilant", + -13.228830337524414 + ], + [ + "faceted", + -13.228930473327637 + ], + [ + "available", + -13.229308128356934 + ], + [ + "▁Promise", + -13.229388236999512 + ], + [ + "▁humorous", + -13.229446411132812 + ], + [ + "treibt", + -13.229449272155762 + ], + [ + "▁Patrol", + -13.229514122009277 + ], + [ + "huh", + -13.229523658752441 + ], + [ + "ztlich", + -13.229804039001465 + ], + [ + "▁rejet", + -13.2299165725708 + ], + [ + "odeur", + -13.229935646057129 + ], + [ + "usziehbar", + -13.22996997833252 + ], + [ + "▁gespannt", + -13.229972839355469 + ], + [ + "church", + -13.230018615722656 + ], + [ + "▁Popescu", + -13.230109214782715 + ], + [ + "▁einmalig", + -13.230518341064453 + ], + [ + "diluted", + -13.230551719665527 + ], + [ + "lighted", + -13.231070518493652 + ], + [ + "▁stattfinden", + -13.23111343383789 + ], + [ + "▁Reaktion", + -13.231183052062988 + ], + [ + "▁délivr", + -13.23134994506836 + ], + [ + "▁Helfer", + -13.231407165527344 + ], + [ + "Fiind", + -13.23142147064209 + ], + [ + "rmând", + -13.231507301330566 + ], + [ + "▁Beweis", + -13.231671333312988 + ], + [ + "▁Violet", + -13.231733322143555 + ], + [ + "kamera", + -13.231764793395996 + ], + [ + "▁Romney", + -13.231779098510742 + ], + [ + "▁Bradford", + -13.231800079345703 + ], + [ + "stellbar", + -13.231852531433105 + ], + [ + "▁roadmap", + -13.231921195983887 + ], + [ + "▁subconscious", + -13.23204231262207 + ], + [ + "contrasting", + -13.232138633728027 + ], + [ + "mécanisme", + -13.232254981994629 + ], + [ + "kämpft", + -13.232255935668945 + ], + [ + "▁Preston", + -13.232719421386719 + ], + [ + "▁Anliegen", + -13.232802391052246 + ], + [ + "▁necessities", + -13.232827186584473 + ], + [ + "▁detrimental", + -13.232828140258789 + ], + [ + "▁sprawl", + -13.232830047607422 + ], + [ + "▁Erfüllung", + -13.23287582397461 + ], + [ + "▁massacre", + -13.2329683303833 + ], + [ + "▁pietre", + -13.232987403869629 + ], + [ + "▁situații", + -13.233027458190918 + ], + [ + "vêtement", + -13.233080863952637 + ], + [ + "Listed", + -13.233144760131836 + ], + [ + "▁extravagant", + -13.233399391174316 + ], + [ + "▁axle", + -13.233525276184082 + ], + [ + "OTT", + -13.233663558959961 + ], + [ + "wildly", + -13.233744621276855 + ], + [ + "70,000", + -13.233797073364258 + ], + [ + "▁chauffeur", + -13.23384952545166 + ], + [ + "▁Brasov", + -13.233972549438477 + ], + [ + "▁Fähigkeiten", + -13.233972549438477 + ], + [ + "▁staatlich", + -13.234025001525879 + ], + [ + "outlines", + -13.234034538269043 + ], + [ + "▁aufmerksam", + -13.234545707702637 + ], + [ + "▁Relation", + -13.234749794006348 + ], + [ + "▁Stephan", + -13.234947204589844 + ], + [ + "yland", + -13.23494815826416 + ], + [ + "proclaimed", + -13.235086441040039 + ], + [ + "Wallet", + -13.235100746154785 + ], + [ + "verarbeitung", + -13.235118865966797 + ], + [ + "▁überraschen", + -13.235118865966797 + ], + [ + "▁Injury", + -13.235125541687012 + ], + [ + "▁horsepower", + -13.235237121582031 + ], + [ + "▁Tropical", + -13.23523998260498 + ], + [ + "▁wives", + -13.235459327697754 + ], + [ + "adherence", + -13.235677719116211 + ], + [ + "schätzung", + -13.235692977905273 + ], + [ + "▁coherent", + -13.235708236694336 + ], + [ + "parlament", + -13.23574161529541 + ], + [ + "▁stup", + -13.235852241516113 + ], + [ + "▁resonance", + -13.23626708984375 + ], + [ + "▁inheritance", + -13.236355781555176 + ], + [ + "commenced", + -13.23645305633545 + ], + [ + "▁supervise", + -13.236475944519043 + ], + [ + "▁facilitator", + -13.236488342285156 + ], + [ + "fares", + -13.236678123474121 + ], + [ + "▁Tibet", + -13.23672866821289 + ], + [ + "communication", + -13.236787796020508 + ], + [ + "yog", + -13.236806869506836 + ], + [ + "▁WLAN", + -13.236842155456543 + ], + [ + "▁Chili", + -13.23685073852539 + ], + [ + "▁Harold", + -13.2369966506958 + ], + [ + "▁Guerre", + -13.237005233764648 + ], + [ + "▁Femme", + -13.237146377563477 + ], + [ + "▁Lisbon", + -13.237231254577637 + ], + [ + "▁mulțumi", + -13.237415313720703 + ], + [ + "▁vorbereitet", + -13.237415313720703 + ], + [ + "▁aperture", + -13.237422943115234 + ], + [ + "▁Universities", + -13.237442016601562 + ], + [ + "▁reckless", + -13.237471580505371 + ], + [ + "▁Botschaft", + -13.237533569335938 + ], + [ + "▁Squad", + -13.238022804260254 + ], + [ + "▁buoy", + -13.238061904907227 + ], + [ + "participarea", + -13.238236427307129 + ], + [ + "stiinta", + -13.238389015197754 + ], + [ + "▁repeal", + -13.238415718078613 + ], + [ + "drilled", + -13.238489151000977 + ], + [ + "▁Conversation", + -13.238567352294922 + ], + [ + "▁subsid", + -13.238615036010742 + ], + [ + "anstalt", + -13.238741874694824 + ], + [ + "faktor", + -13.23874282836914 + ], + [ + "▁swamp", + -13.238790512084961 + ], + [ + "pflichtig", + -13.238921165466309 + ], + [ + "▁camion", + -13.238970756530762 + ], + [ + "▁gouvern", + -13.239032745361328 + ], + [ + "▁archaeological", + -13.239141464233398 + ], + [ + "▁glitch", + -13.239198684692383 + ], + [ + "average", + -13.239294052124023 + ], + [ + "▁coffre", + -13.239481925964355 + ], + [ + "▁Insert", + -13.239513397216797 + ], + [ + "▁colonne", + -13.2395601272583 + ], + [ + "▁Assess", + -13.23962116241455 + ], + [ + "▁batches", + -13.239716529846191 + ], + [ + "▁ammunition", + -13.239717483520508 + ], + [ + "▁scissors", + -13.239717483520508 + ], + [ + "▁Locksmith", + -13.239740371704102 + ], + [ + "▁Bollywood", + -13.239991188049316 + ], + [ + "expédi", + -13.240288734436035 + ], + [ + "▁descendants", + -13.24039363861084 + ], + [ + "▁unwilling", + -13.240506172180176 + ], + [ + "▁Noise", + -13.240649223327637 + ], + [ + "▁Directive", + -13.240660667419434 + ], + [ + "ATOR", + -13.240765571594238 + ], + [ + "▁Rajasthan", + -13.240870475769043 + ], + [ + "▁chaotic", + -13.240888595581055 + ], + [ + "▁NEED", + -13.24093246459961 + ], + [ + "▁părere", + -13.24095344543457 + ], + [ + "▁begonnen", + -13.241448402404785 + ], + [ + "▁Reef", + -13.241504669189453 + ], + [ + "▁vorgesehen", + -13.24161434173584 + ], + [ + "▁allocate", + -13.241826057434082 + ], + [ + "▁exceptionnel", + -13.241936683654785 + ], + [ + "▁gefertigt", + -13.24203872680664 + ], + [ + "fading", + -13.242072105407715 + ], + [ + "▁interpersonal", + -13.242178916931152 + ], + [ + "▁occupie", + -13.242204666137695 + ], + [ + "▁Teatr", + -13.242579460144043 + ], + [ + "▁kilomètres", + -13.242603302001953 + ], + [ + "▁verbinden", + -13.242608070373535 + ], + [ + "▁Frucht", + -13.242643356323242 + ], + [ + "augmented", + -13.242720603942871 + ], + [ + "▁twentieth", + -13.243181228637695 + ], + [ + "▁aggression", + -13.243183135986328 + ], + [ + "▁Miracle", + -13.243184089660645 + ], + [ + "▁peninsula", + -13.243184089660645 + ], + [ + "▁Fernando", + -13.243185043334961 + ], + [ + "▁autorităţil", + -13.243203163146973 + ], + [ + "▁Iisus", + -13.243217468261719 + ], + [ + "▁puck", + -13.243423461914062 + ], + [ + "titel", + -13.243454933166504 + ], + [ + "▁remake", + -13.243562698364258 + ], + [ + "freiheit", + -13.243563652038574 + ], + [ + "▁Belize", + -13.243590354919434 + ], + [ + "▁secundar", + -13.243779182434082 + ], + [ + "▁perpetrat", + -13.243786811828613 + ], + [ + "jedenfalls", + -13.243797302246094 + ], + [ + "linked", + -13.243820190429688 + ], + [ + "▁dégag", + -13.243918418884277 + ], + [ + "LAY", + -13.243926048278809 + ], + [ + "behandlung", + -13.244172096252441 + ], + [ + "▁1928", + -13.244193077087402 + ], + [ + "▁Nickel", + -13.244205474853516 + ], + [ + "rophy", + -13.244256973266602 + ], + [ + "▁autonomy", + -13.244338989257812 + ], + [ + "▁Treffen", + -13.244402885437012 + ], + [ + "▁groundbreaking", + -13.24445915222168 + ], + [ + "politisch", + -13.244484901428223 + ], + [ + "▁Vector", + -13.244553565979004 + ], + [ + "oricine", + -13.244684219360352 + ], + [ + "utilisées", + -13.244684219360352 + ], + [ + "plete", + -13.244771003723145 + ], + [ + "droht", + -13.244918823242188 + ], + [ + "▁alternativ", + -13.245104789733887 + ], + [ + "▁Bernie", + -13.245213508605957 + ], + [ + "▁embellish", + -13.245260238647461 + ], + [ + "▁Curriculum", + -13.24549674987793 + ], + [ + "herrscht", + -13.245525360107422 + ], + [ + "escalier", + -13.246126174926758 + ], + [ + "hian", + -13.246333122253418 + ], + [ + "ertaining", + -13.246387481689453 + ], + [ + "hitter", + -13.246430397033691 + ], + [ + "▁kompetente", + -13.24665641784668 + ], + [ + "▁trekking", + -13.246760368347168 + ], + [ + "EACH", + -13.246841430664062 + ], + [ + "▁Bedien", + -13.2470703125 + ], + [ + "starred", + -13.247169494628906 + ], + [ + "▁săptămâna", + -13.247236251831055 + ], + [ + "▁Gratuit", + -13.247239112854004 + ], + [ + "▁Jahrzehnte", + -13.247241020202637 + ], + [ + "ingénieur", + -13.24731731414795 + ], + [ + "▁Huang", + -13.24736213684082 + ], + [ + "Music", + -13.247401237487793 + ], + [ + "misiei", + -13.247544288635254 + ], + [ + "▁masuri", + -13.247733116149902 + ], + [ + "▁Achievement", + -13.247817039489746 + ], + [ + "▁Dorothy", + -13.247817039489746 + ], + [ + "blätter", + -13.247817993164062 + ], + [ + "éloign", + -13.247817993164062 + ], + [ + "▁Anglia", + -13.247990608215332 + ], + [ + "brach", + -13.248013496398926 + ], + [ + "▁Optimization", + -13.248085021972656 + ], + [ + "6.7", + -13.248170852661133 + ], + [ + "winkel", + -13.248210906982422 + ], + [ + "contenan", + -13.248347282409668 + ], + [ + "Astăzi", + -13.248398780822754 + ], + [ + "wiped", + -13.248441696166992 + ], + [ + "granting", + -13.248665809631348 + ], + [ + "▁plăti", + -13.248859405517578 + ], + [ + "▁Compensation", + -13.248979568481445 + ], + [ + "▁Verkäufer", + -13.248979568481445 + ], + [ + "▁angajați", + -13.248980522155762 + ], + [ + "▁diminished", + -13.24902057647705 + ], + [ + "employment", + -13.249250411987305 + ], + [ + "yahoo", + -13.249435424804688 + ], + [ + "▁détrui", + -13.249698638916016 + ], + [ + "▁suffisant", + -13.24982738494873 + ], + [ + "▁Moldovei", + -13.250144004821777 + ], + [ + "▁Pokemon", + -13.250144004821777 + ], + [ + "▁Malcolm", + -13.250144958496094 + ], + [ + "▁mysteries", + -13.250147819519043 + ], + [ + "▁Diversity", + -13.250149726867676 + ], + [ + "▁clinique", + -13.250327110290527 + ], + [ + "landais", + -13.250344276428223 + ], + [ + "▁campanii", + -13.250399589538574 + ], + [ + "▁témoignage", + -13.250439643859863 + ], + [ + "▁paralel", + -13.250467300415039 + ], + [ + "▁travailleurs", + -13.250576972961426 + ], + [ + "▁salvage", + -13.250580787658691 + ], + [ + "▁crayon", + -13.250732421875 + ], + [ + "immédiat", + -13.25085163116455 + ], + [ + "hopped", + -13.250958442687988 + ], + [ + "▁senzor", + -13.25102710723877 + ], + [ + "▁imbunatati", + -13.251073837280273 + ], + [ + "▁capitalize", + -13.2511568069458 + ], + [ + "▁Elephant", + -13.25130844116211 + ], + [ + "▁insomnia", + -13.25131607055664 + ], + [ + "▁Ansicht", + -13.251325607299805 + ], + [ + "▁lupte", + -13.251556396484375 + ], + [ + "▁genomic", + -13.251557350158691 + ], + [ + "▁Grape", + -13.251769065856934 + ], + [ + "MONT", + -13.25197982788086 + ], + [ + "métiers", + -13.252004623413086 + ], + [ + "▁Pierce", + -13.252123832702637 + ], + [ + "consulted", + -13.252388954162598 + ], + [ + "▁Responsible", + -13.252474784851074 + ], + [ + "symmetry", + -13.252476692199707 + ], + [ + "▁sulfur", + -13.252487182617188 + ], + [ + "▁înapoi", + -13.252510070800781 + ], + [ + "▁Junction", + -13.252549171447754 + ], + [ + "▁trilogy", + -13.252622604370117 + ], + [ + "▁unkompliziert", + -13.253059387207031 + ], + [ + "▁zugänglich", + -13.253059387207031 + ], + [ + "▁préfèr", + -13.253153800964355 + ], + [ + "oarelor", + -13.253361701965332 + ], + [ + "langage", + -13.253460884094238 + ], + [ + "admired", + -13.253589630126953 + ], + [ + "platform", + -13.253595352172852 + ], + [ + "▁pluralit", + -13.253616333007812 + ], + [ + "▁betrachtet", + -13.253643035888672 + ], + [ + "▁reproduc", + -13.253790855407715 + ], + [ + "exemple", + -13.25385570526123 + ], + [ + "▁conspir", + -13.254347801208496 + ], + [ + "▁pelvi", + -13.25437068939209 + ], + [ + "leased", + -13.254551887512207 + ], + [ + "▁souffle", + -13.254570960998535 + ], + [ + "▁approprié", + -13.254705429077148 + ], + [ + "absorbing", + -13.254817962646484 + ], + [ + "dividing", + -13.254855155944824 + ], + [ + "herently", + -13.255147933959961 + ], + [ + "▁blister", + -13.255179405212402 + ], + [ + "löst", + -13.255182266235352 + ], + [ + "Apotheke", + -13.255398750305176 + ], + [ + "▁Asociaţi", + -13.255424499511719 + ], + [ + "education", + -13.255904197692871 + ], + [ + "▁retract", + -13.255982398986816 + ], + [ + "▁appraise", + -13.255990982055664 + ], + [ + "▁Debbie", + -13.256075859069824 + ], + [ + "▁arhitect", + -13.256193161010742 + ], + [ + "▁Mohamed", + -13.256568908691406 + ], + [ + "▁îndrept", + -13.256568908691406 + ], + [ + "▁exhaustive", + -13.256753921508789 + ], + [ + "▁Notebook", + -13.257004737854004 + ], + [ + "crashing", + -13.257068634033203 + ], + [ + "▁Betreiber", + -13.257155418395996 + ], + [ + "▁présidentielle", + -13.257159233093262 + ], + [ + "▁Träger", + -13.257172584533691 + ], + [ + "▁noteworthy", + -13.257259368896484 + ], + [ + "▁séparé", + -13.257729530334473 + ], + [ + "▁doppelt", + -13.257795333862305 + ], + [ + "tină", + -13.258066177368164 + ], + [ + "Quelques", + -13.258085250854492 + ], + [ + "culoarea", + -13.258100509643555 + ], + [ + "▁ethic", + -13.258166313171387 + ], + [ + "▁cohesive", + -13.258329391479492 + ], + [ + "▁congratulations", + -13.258334159851074 + ], + [ + "▁sovereignty", + -13.25833797454834 + ], + [ + "▁Aplica", + -13.258413314819336 + ], + [ + "▁Covenant", + -13.25851058959961 + ], + [ + "▁multicultural", + -13.258591651916504 + ], + [ + "assemblée", + -13.258955001831055 + ], + [ + "▁petals", + -13.258974075317383 + ], + [ + "erode", + -13.259026527404785 + ], + [ + "▁porumb", + -13.259035110473633 + ], + [ + "▁Barrier", + -13.259050369262695 + ], + [ + "▁WWE", + -13.259085655212402 + ], + [ + "Etwa", + -13.259175300598145 + ], + [ + "▁recunosc", + -13.259271621704102 + ], + [ + "▁turtle", + -13.259415626525879 + ], + [ + "▁vârf", + -13.259444236755371 + ], + [ + "▁Ranking", + -13.259448051452637 + ], + [ + "▁sympathetic", + -13.259514808654785 + ], + [ + "exploded", + -13.2595796585083 + ], + [ + "▁influenț", + -13.259591102600098 + ], + [ + "▁Fireplace", + -13.25972843170166 + ], + [ + "▁Nachwuchs", + -13.260090827941895 + ], + [ + "▁empfohlen", + -13.260090827941895 + ], + [ + "Voir", + -13.260661125183105 + ], + [ + "▁Vimeo", + -13.26069164276123 + ], + [ + "▁weaving", + -13.260967254638672 + ], + [ + "beneficiar", + -13.261198043823242 + ], + [ + "▁balade", + -13.261216163635254 + ], + [ + "▁Mercy", + -13.261566162109375 + ], + [ + "3.000", + -13.26181697845459 + ], + [ + "Immediately", + -13.261857032775879 + ], + [ + "▁frosting", + -13.261868476867676 + ], + [ + "▁Fiscal", + -13.261882781982422 + ], + [ + "downloadable", + -13.26188850402832 + ], + [ + "▁Hwy", + -13.261902809143066 + ], + [ + "évoluer", + -13.261951446533203 + ], + [ + "▁vieille", + -13.2620210647583 + ], + [ + "heißen", + -13.262436866760254 + ], + [ + "▁étrangère", + -13.262446403503418 + ], + [ + "▁incapable", + -13.262490272521973 + ], + [ + "volunteered", + -13.262520790100098 + ], + [ + "fortunately", + -13.262564659118652 + ], + [ + "company", + -13.262738227844238 + ], + [ + "denkt", + -13.2627592086792 + ], + [ + "▁citesc", + -13.262818336486816 + ], + [ + "▁intrebare", + -13.262896537780762 + ], + [ + "pleasantly", + -13.262990951538086 + ], + [ + "▁Minecraft", + -13.263079643249512 + ], + [ + "▁Schmuck", + -13.26308536529541 + ], + [ + "▁maghiar", + -13.263099670410156 + ], + [ + "conductive", + -13.263339042663574 + ], + [ + "décrit", + -13.263534545898438 + ], + [ + "provide", + -13.26353931427002 + ], + [ + "▁depăş", + -13.263628959655762 + ], + [ + "ituated", + -13.263657569885254 + ], + [ + "▁trumpet", + -13.264216423034668 + ], + [ + "▁nastere", + -13.2642240524292 + ], + [ + "▁Région", + -13.264245986938477 + ], + [ + "Occupational", + -13.264411926269531 + ], + [ + "▁Grecia", + -13.264415740966797 + ], + [ + "▁Conclusion", + -13.26449203491211 + ], + [ + "▁collaborateurs", + -13.264927864074707 + ], + [ + "▁Alibaba", + -13.265398025512695 + ], + [ + "▁amplasat", + -13.265398979187012 + ], + [ + "▁Plastik", + -13.265992164611816 + ], + [ + "▁stash", + -13.266023635864258 + ], + [ + "▁Bonnie", + -13.266045570373535 + ], + [ + "▁ehrlich", + -13.266156196594238 + ], + [ + "▁contention", + -13.266193389892578 + ], + [ + "▁Oslo", + -13.266263008117676 + ], + [ + "englische", + -13.266319274902344 + ], + [ + "measurable", + -13.266439437866211 + ], + [ + "loppy", + -13.266470909118652 + ], + [ + "▁Refrigerat", + -13.266579627990723 + ], + [ + "▁remboursement", + -13.266580581665039 + ], + [ + "▁societăţi", + -13.266580581665039 + ], + [ + "translates", + -13.266607284545898 + ], + [ + "ichtigkeit", + -13.266685485839844 + ], + [ + "agentur", + -13.266741752624512 + ], + [ + "▁compute", + -13.266800880432129 + ], + [ + "berater", + -13.266921043395996 + ], + [ + "▁Georgetown", + -13.266945838928223 + ], + [ + "wolves", + -13.266951560974121 + ], + [ + "ceased", + -13.266959190368652 + ], + [ + "▁Binary", + -13.267030715942383 + ], + [ + "▁kontrolliert", + -13.267172813415527 + ], + [ + "informer", + -13.267416000366211 + ], + [ + "lehrer", + -13.267578125 + ], + [ + "lieferung", + -13.267709732055664 + ], + [ + "▁definit", + -13.267742156982422 + ], + [ + "chèque", + -13.267765045166016 + ], + [ + "▁clergy", + -13.267765045166016 + ], + [ + "▁ministries", + -13.267767906188965 + ], + [ + "▁plague", + -13.267779350280762 + ], + [ + "▁Jedi", + -13.267805099487305 + ], + [ + "▁Blackjack", + -13.268025398254395 + ], + [ + "▁subsection", + -13.26807689666748 + ], + [ + "▁Sachsen", + -13.268121719360352 + ], + [ + "valorile", + -13.268146514892578 + ], + [ + "molded", + -13.26816463470459 + ], + [ + "▁betroffen", + -13.268183708190918 + ], + [ + "▁adecvat", + -13.268229484558105 + ], + [ + "▁collègue", + -13.26835823059082 + ], + [ + "▁chinez", + -13.268392562866211 + ], + [ + "emelle", + -13.268695831298828 + ], + [ + "▁körperliche", + -13.268902778625488 + ], + [ + "▁titan", + -13.26891040802002 + ], + [ + "▁sophistication", + -13.268951416015625 + ], + [ + "▁provoke", + -13.268957138061523 + ], + [ + "▁pensii", + -13.269042015075684 + ], + [ + "▁Tucker", + -13.269377708435059 + ], + [ + "▁motoare", + -13.26943302154541 + ], + [ + "supported", + -13.269536972045898 + ], + [ + "▁Sicil", + -13.269697189331055 + ], + [ + "▁Ausgangs", + -13.26987361907959 + ], + [ + "▁verletzt", + -13.269908905029297 + ], + [ + "Ligue", + -13.269996643066406 + ], + [ + "▁organizatori", + -13.270026206970215 + ], + [ + "▁apprentice", + -13.270099639892578 + ], + [ + "▁Potato", + -13.270183563232422 + ], + [ + "▁Duft", + -13.27039623260498 + ], + [ + "▁medicament", + -13.270566940307617 + ], + [ + "Hôtel", + -13.270740509033203 + ], + [ + "▁Triangle", + -13.270842552185059 + ], + [ + "buted", + -13.271100044250488 + ], + [ + "▁Bentley", + -13.271336555480957 + ], + [ + "următoarele", + -13.271389961242676 + ], + [ + "animate", + -13.271404266357422 + ], + [ + "megapixel", + -13.271404266357422 + ], + [ + "einfachen", + -13.271514892578125 + ], + [ + "▁performanț", + -13.271544456481934 + ], + [ + "lurry", + -13.27184009552002 + ], + [ + "suffisamment", + -13.27192211151123 + ], + [ + "▁Weihnachten", + -13.27192211151123 + ], + [ + "▁Detective", + -13.27194595336914 + ], + [ + "▁lovit", + -13.272049903869629 + ], + [ + "▁blouse", + -13.27213191986084 + ], + [ + "▁hartie", + -13.272163391113281 + ], + [ + "vro", + -13.27225112915039 + ], + [ + "▁disastrous", + -13.272517204284668 + ], + [ + "vermutlich", + -13.2725191116333 + ], + [ + "▁Stafford", + -13.272527694702148 + ], + [ + "ehlt", + -13.272628784179688 + ], + [ + "▁vielseitig", + -13.272643089294434 + ], + [ + "Manifest", + -13.273274421691895 + ], + [ + "homage", + -13.27354907989502 + ], + [ + "menée", + -13.273566246032715 + ], + [ + "▁erläuter", + -13.27370834350586 + ], + [ + "▁volontaire", + -13.273709297180176 + ], + [ + "wrought", + -13.27371597290039 + ], + [ + "▁Naples", + -13.273719787597656 + ], + [ + "recommending", + -13.273759841918945 + ], + [ + "▁thermique", + -13.273774147033691 + ], + [ + "▁subtitle", + -13.273787498474121 + ], + [ + "▁Slam", + -13.273809432983398 + ], + [ + "▁necesitate", + -13.273809432983398 + ], + [ + "trimmed", + -13.274099349975586 + ], + [ + "urmatoarele", + -13.274178504943848 + ], + [ + "▁Sorin", + -13.274245262145996 + ], + [ + "▁compromis", + -13.274300575256348 + ], + [ + "overcoming", + -13.274477005004883 + ], + [ + "▁Samantha", + -13.274901390075684 + ], + [ + "dazzling", + -13.27490234375 + ], + [ + "▁Pearson", + -13.274903297424316 + ], + [ + "▁glazing", + -13.274911880493164 + ], + [ + "Revelation", + -13.274921417236328 + ], + [ + "destinée", + -13.275156021118164 + ], + [ + "öffnet", + -13.27515983581543 + ], + [ + "CERT", + -13.275327682495117 + ], + [ + "▁Sneak", + -13.275503158569336 + ], + [ + "proiectele", + -13.275605201721191 + ], + [ + "▁longitudinal", + -13.27609634399414 + ], + [ + "▁cocaine", + -13.276098251342773 + ], + [ + "▁universitar", + -13.276108741760254 + ], + [ + "▁refreshments", + -13.276166915893555 + ], + [ + "▁instanţ", + -13.276243209838867 + ], + [ + "▁kostenfrei", + -13.276397705078125 + ], + [ + "▁comédie", + -13.276451110839844 + ], + [ + "▁Locat", + -13.276725769042969 + ], + [ + "▁Albania", + -13.276732444763184 + ], + [ + "▁mécanique", + -13.276776313781738 + ], + [ + "messung", + -13.27683162689209 + ], + [ + "issus", + -13.277260780334473 + ], + [ + "pinned", + -13.277328491210938 + ], + [ + "▁sanft", + -13.277335166931152 + ], + [ + "▁geprüft", + -13.277435302734375 + ], + [ + "▁procè", + -13.277442932128906 + ], + [ + "▁Üb", + -13.277765274047852 + ], + [ + "5-0", + -13.277802467346191 + ], + [ + "▁Catering", + -13.277957916259766 + ], + [ + "▁prosperous", + -13.27801513671875 + ], + [ + "▁replication", + -13.278098106384277 + ], + [ + "▁obese", + -13.278441429138184 + ], + [ + "clerosis", + -13.278489112854004 + ], + [ + "▁Carnegie", + -13.278489112854004 + ], + [ + "▁Incredible", + -13.278489112854004 + ], + [ + "▁Teppich", + -13.278489112854004 + ], + [ + "▁crunchy", + -13.278489112854004 + ], + [ + "▁vomiting", + -13.278529167175293 + ], + [ + "▁sourire", + -13.278619766235352 + ], + [ + "publish", + -13.278948783874512 + ], + [ + "▁exterioar", + -13.279094696044922 + ], + [ + "▁forehead", + -13.279107093811035 + ], + [ + "▁climatique", + -13.279313087463379 + ], + [ + "▁conservator", + -13.279458999633789 + ], + [ + "▁Russland", + -13.279687881469727 + ], + [ + "▁kombiniert", + -13.279687881469727 + ], + [ + "▁Thrones", + -13.279688835144043 + ], + [ + "▁Griffith", + -13.27968978881836 + ], + [ + "▁fragrant", + -13.279695510864258 + ], + [ + "▁RSVP", + -13.279698371887207 + ], + [ + "klima", + -13.279751777648926 + ], + [ + "▁situație", + -13.279808044433594 + ], + [ + "deschiderea", + -13.280009269714355 + ], + [ + "▁moale", + -13.280033111572266 + ], + [ + "▁Trevor", + -13.280112266540527 + ], + [ + "ménager", + -13.28011417388916 + ], + [ + "deploying", + -13.280428886413574 + ], + [ + "▁Loft", + -13.280500411987305 + ], + [ + "▁Willkommen", + -13.28059196472168 + ], + [ + "▁Bezirks", + -13.280887603759766 + ], + [ + "▁Himself", + -13.280975341796875 + ], + [ + "▁quarant", + -13.28101634979248 + ], + [ + "▁1901", + -13.281079292297363 + ], + [ + "▁tripod", + -13.28136920928955 + ], + [ + "▁récolt", + -13.281553268432617 + ], + [ + "natură", + -13.281631469726562 + ], + [ + "School", + -13.281649589538574 + ], + [ + "contested", + -13.281773567199707 + ], + [ + "bwohl", + -13.281784057617188 + ], + [ + "Darren", + -13.281830787658691 + ], + [ + "medicine", + -13.281903266906738 + ], + [ + "▁Impuls", + -13.282041549682617 + ], + [ + "prevailing", + -13.282057762145996 + ], + [ + "▁orthodontic", + -13.282089233398438 + ], + [ + "▁sequential", + -13.282089233398438 + ], + [ + "▁Kolkata", + -13.28209114074707 + ], + [ + "▁séch", + -13.282100677490234 + ], + [ + "▁diaper", + -13.28212833404541 + ], + [ + "▁simplifie", + -13.282144546508789 + ], + [ + "▁reflux", + -13.282163619995117 + ], + [ + "▁Hypo", + -13.282242774963379 + ], + [ + "imprimer", + -13.282251358032227 + ], + [ + "▁Folosi", + -13.282401084899902 + ], + [ + "Info", + -13.282570838928223 + ], + [ + "▁Investiga", + -13.282801628112793 + ], + [ + "stabilirea", + -13.282845497131348 + ], + [ + "élis", + -13.283149719238281 + ], + [ + "ccessed", + -13.28320026397705 + ], + [ + "▁recyclable", + -13.283293724060059 + ], + [ + "▁forbidden", + -13.283295631408691 + ], + [ + "▁Colonel", + -13.283297538757324 + ], + [ + "▁nisip", + -13.28330135345459 + ], + [ + "▁Fundamental", + -13.283303260803223 + ], + [ + "▁nouveauté", + -13.283308029174805 + ], + [ + "khi", + -13.283357620239258 + ], + [ + "▁ecology", + -13.28339672088623 + ], + [ + "▁filament", + -13.283540725708008 + ], + [ + "▁relentless", + -13.283559799194336 + ], + [ + "▁Behavior", + -13.283669471740723 + ], + [ + "titulaire", + -13.283900260925293 + ], + [ + "▁administrativ", + -13.28404426574707 + ], + [ + "▁Vorlage", + -13.284209251403809 + ], + [ + "zeigte", + -13.28427791595459 + ], + [ + "▁Bäume", + -13.284497261047363 + ], + [ + "▁Kartoffel", + -13.284497261047363 + ], + [ + "▁Possible", + -13.284500122070312 + ], + [ + "▁perturb", + -13.28466510772705 + ], + [ + "▁Grigor", + -13.284717559814453 + ], + [ + "▁streng", + -13.284759521484375 + ], + [ + "▁vânzare", + -13.285101890563965 + ], + [ + "concentrating", + -13.285698890686035 + ], + [ + "▁rechtzeitig", + -13.2857027053833 + ], + [ + "▁eternity", + -13.28570556640625 + ], + [ + "▁Puzzle", + -13.28575611114502 + ], + [ + "▁malade", + -13.285775184631348 + ], + [ + "▁Metallic", + -13.285776138305664 + ], + [ + "▁Unterhaltung", + -13.285783767700195 + ], + [ + "▁4:00", + -13.285820960998535 + ], + [ + "▁magique", + -13.285908699035645 + ], + [ + "▁cellphone", + -13.285975456237793 + ], + [ + "▁inhibition", + -13.286023139953613 + ], + [ + "▁remplacement", + -13.286025047302246 + ], + [ + "▁WWII", + -13.286089897155762 + ], + [ + "Eff", + -13.286258697509766 + ], + [ + "kontakt", + -13.286832809448242 + ], + [ + "Update", + -13.286869049072266 + ], + [ + "▁Emerald", + -13.286910057067871 + ], + [ + "▁hammock", + -13.286910057067871 + ], + [ + "POWER", + -13.286917686462402 + ], + [ + "automne", + -13.286917686462402 + ], + [ + "▁(2004)", + -13.286961555480957 + ], + [ + "▁participanți", + -13.287012100219727 + ], + [ + "1998)", + -13.287014961242676 + ], + [ + "▁deletion", + -13.287186622619629 + ], + [ + "▁Proiect", + -13.287226676940918 + ], + [ + "IDENT", + -13.287504196166992 + ], + [ + "▁precis", + -13.287623405456543 + ], + [ + "▁limp", + -13.287676811218262 + ], + [ + "▁Pompe", + -13.287686347961426 + ], + [ + "▁ménage", + -13.28780746459961 + ], + [ + "▁Wahrheit", + -13.288119316101074 + ], + [ + "▁Intelligent", + -13.28812026977539 + ], + [ + "▁instability", + -13.2881441116333 + ], + [ + "insurance", + -13.288346290588379 + ], + [ + "▁Nursery", + -13.288352966308594 + ], + [ + "▁synonym", + -13.288427352905273 + ], + [ + "▁ignite", + -13.28848934173584 + ], + [ + "▁Vernon", + -13.28849983215332 + ], + [ + "purchase", + -13.288524627685547 + ], + [ + "▁disponibilité", + -13.288662910461426 + ], + [ + "▁producţi", + -13.28909969329834 + ], + [ + "▁Pentagon", + -13.289329528808594 + ], + [ + "▁illumination", + -13.289329528808594 + ], + [ + "▁obsolete", + -13.289329528808594 + ], + [ + "▁unacceptable", + -13.28933048248291 + ], + [ + "Gleichzeitig", + -13.289938926696777 + ], + [ + "rutsch", + -13.290071487426758 + ], + [ + "viziuni", + -13.290409088134766 + ], + [ + "▁Nicaragua", + -13.29054069519043 + ], + [ + "▁hesitation", + -13.290541648864746 + ], + [ + "▁nascut", + -13.290545463562012 + ], + [ + "▁Warehouse", + -13.29055404663086 + ], + [ + "geboten", + -13.290558815002441 + ], + [ + "▁Lagos", + -13.290844917297363 + ], + [ + "produced", + -13.290874481201172 + ], + [ + "cativa", + -13.291309356689453 + ], + [ + "▁Tracy", + -13.291326522827148 + ], + [ + "Projekt", + -13.291468620300293 + ], + [ + "▁malaria", + -13.291692733764648 + ], + [ + "▁Baldwin", + -13.291755676269531 + ], + [ + "Take", + -13.291791915893555 + ], + [ + "▁fluctuations", + -13.291844367980957 + ], + [ + "▁titular", + -13.29194450378418 + ], + [ + "bmw", + -13.291976928710938 + ], + [ + "▁brevet", + -13.29202651977539 + ], + [ + "étapes", + -13.292173385620117 + ], + [ + "wikipedia", + -13.292373657226562 + ], + [ + "▁corporal", + -13.292424201965332 + ], + [ + "▁Schönheit", + -13.2926664352417 + ], + [ + "utilizatorii", + -13.292695999145508 + ], + [ + "INFO", + -13.292807579040527 + ], + [ + "▁formularul", + -13.292900085449219 + ], + [ + "femi", + -13.292959213256836 + ], + [ + "Konferenz", + -13.29296875 + ], + [ + "▁carnival", + -13.29296875 + ], + [ + "▁Kräuter", + -13.292969703674316 + ], + [ + "▁gelernt", + -13.292981147766113 + ], + [ + "▁Sherman", + -13.293017387390137 + ], + [ + "▁persistence", + -13.293289184570312 + ], + [ + "▁Behörden", + -13.293577194213867 + ], + [ + "▁Frühjahr", + -13.293578147888184 + ], + [ + "▁Guvern", + -13.293649673461914 + ], + [ + "interpreting", + -13.293878555297852 + ], + [ + "▁nommé", + -13.294021606445312 + ], + [ + "consult", + -13.294035911560059 + ], + [ + "▁obligaţi", + -13.294184684753418 + ], + [ + "▁Newspaper", + -13.2942476272583 + ], + [ + "(2005)", + -13.294515609741211 + ], + [ + "pumped", + -13.294614791870117 + ], + [ + "▁autoritati", + -13.294634819030762 + ], + [ + "▁aplicatii", + -13.294644355773926 + ], + [ + "▁verhindert", + -13.294794082641602 + ], + [ + "▁évident", + -13.294794082641602 + ], + [ + "▁getrennt", + -13.294795036315918 + ], + [ + "▁Encourage", + -13.295403480529785 + ], + [ + "▁lurk", + -13.295432090759277 + ], + [ + "▁condemned", + -13.295455932617188 + ], + [ + "▁4:30", + -13.295502662658691 + ], + [ + "labelled", + -13.29576587677002 + ], + [ + "ordinea", + -13.295899391174316 + ], + [ + "▁pantofi", + -13.296012878417969 + ], + [ + "Default", + -13.296042442321777 + ], + [ + "▁beruh", + -13.296120643615723 + ], + [ + "/01/", + -13.296268463134766 + ], + [ + "league", + -13.296503067016602 + ], + [ + "▁couvert", + -13.296524047851562 + ], + [ + "▁competencies", + -13.296622276306152 + ], + [ + "▁mozzarella", + -13.296622276306152 + ], + [ + "jihad", + -13.29662799835205 + ], + [ + "▁gossip", + -13.29662799835205 + ], + [ + "▁Omaha", + -13.296628952026367 + ], + [ + "▁coincidence", + -13.296669960021973 + ], + [ + "▁Pinot", + -13.296710968017578 + ], + [ + "dotted", + -13.296789169311523 + ], + [ + "schilder", + -13.297197341918945 + ], + [ + "▁Munte", + -13.297224998474121 + ], + [ + "▁Vermieter", + -13.297232627868652 + ], + [ + "▁britannique", + -13.297232627868652 + ], + [ + "▁comentariu", + -13.297235488891602 + ], + [ + "abonnement", + -13.29725456237793 + ], + [ + "▁inventive", + -13.29727840423584 + ], + [ + "complie", + -13.297279357910156 + ], + [ + "composée", + -13.29734992980957 + ], + [ + "▁glatt", + -13.297684669494629 + ], + [ + "adorned", + -13.297842979431152 + ], + [ + "▁Opportunities", + -13.297842979431152 + ], + [ + "▁equilibrium", + -13.297842979431152 + ], + [ + "▁persuasive", + -13.297842979431152 + ], + [ + "▁achiziţi", + -13.297843933105469 + ], + [ + "▁déterminer", + -13.297843933105469 + ], + [ + "▁fleece", + -13.297857284545898 + ], + [ + "▁ivory", + -13.29786205291748 + ], + [ + "▁Genuss", + -13.297900199890137 + ], + [ + "Thousands", + -13.297930717468262 + ], + [ + "▁izolat", + -13.297965049743652 + ], + [ + "▁symbolize", + -13.298033714294434 + ], + [ + "gâteau", + -13.298051834106445 + ], + [ + "▁relații", + -13.298062324523926 + ], + [ + "▁Classroom", + -13.298144340515137 + ], + [ + "settlers", + -13.298155784606934 + ], + [ + "▁vremuri", + -13.298195838928223 + ], + [ + "▁Serial", + -13.29838752746582 + ], + [ + "▁boite", + -13.298399925231934 + ], + [ + "équivalent", + -13.298453330993652 + ], + [ + "▁benutzen", + -13.298454284667969 + ], + [ + "▁Recomand", + -13.298462867736816 + ], + [ + "▁Sinai", + -13.298968315124512 + ], + [ + "▁Advertise", + -13.29906940460205 + ], + [ + "▁Thermal", + -13.299206733703613 + ], + [ + "fiance", + -13.299471855163574 + ], + [ + "▁universitaire", + -13.299683570861816 + ], + [ + "▁rivière", + -13.299793243408203 + ], + [ + "▁reimburse", + -13.299907684326172 + ], + [ + "ţara", + -13.299932479858398 + ], + [ + "tician", + -13.30002498626709 + ], + [ + "intelligence", + -13.300041198730469 + ], + [ + "▁abgestimmt", + -13.300288200378418 + ], + [ + "▁compliqué", + -13.300288200378418 + ], + [ + "▁succulent", + -13.300297737121582 + ], + [ + "opéra", + -13.300395011901855 + ], + [ + "7-9", + -13.300456047058105 + ], + [ + "▁pierderi", + -13.300654411315918 + ], + [ + "extinction", + -13.30090045928955 + ], + [ + "▁Zweifel", + -13.30103874206543 + ], + [ + "ATCH", + -13.30112361907959 + ], + [ + "10,000", + -13.301222801208496 + ], + [ + "▁uninterrupted", + -13.301513671875 + ], + [ + "▁Eigentum", + -13.301517486572266 + ], + [ + "▁Utility", + -13.301517486572266 + ], + [ + "ско", + -13.301529884338379 + ], + [ + "▁tornado", + -13.301544189453125 + ], + [ + "▁Güte", + -13.301727294921875 + ], + [ + "▁pertain", + -13.301923751831055 + ], + [ + "painters", + -13.301993370056152 + ], + [ + "Help", + -13.3021240234375 + ], + [ + "▁străinătate", + -13.30212688446045 + ], + [ + "▁stammen", + -13.302170753479004 + ], + [ + "opposition", + -13.302229881286621 + ], + [ + "▁rhino", + -13.302233695983887 + ], + [ + "intervenir", + -13.302427291870117 + ], + [ + "▁hyperlink", + -13.302441596984863 + ], + [ + "höchst", + -13.302518844604492 + ], + [ + "roach", + -13.302627563476562 + ], + [ + "wSt", + -13.302687644958496 + ], + [ + "▁monastery", + -13.302740097045898 + ], + [ + "▁algae", + -13.302754402160645 + ], + [ + "▁shaving", + -13.302757263183594 + ], + [ + "présentent", + -13.302804946899414 + ], + [ + "Africa", + -13.302860260009766 + ], + [ + "eigener", + -13.303047180175781 + ], + [ + "▁glace", + -13.303153991699219 + ], + [ + "▁discurs", + -13.303179740905762 + ], + [ + "▁autograph", + -13.303204536437988 + ], + [ + "▁Conflict", + -13.303359031677246 + ], + [ + "▁școli", + -13.303411483764648 + ], + [ + "▁excerpt", + -13.303617477416992 + ], + [ + "correlated", + -13.303628921508789 + ], + [ + "empel", + -13.303841590881348 + ], + [ + "cryptocurrencies", + -13.30396842956543 + ], + [ + "▁symposium", + -13.30396842956543 + ], + [ + "▁gewohnt", + -13.303994178771973 + ], + [ + "PTSD", + -13.304070472717285 + ], + [ + "▁harmonic", + -13.304166793823242 + ], + [ + "discarded", + -13.304282188415527 + ], + [ + "▁Flint", + -13.304359436035156 + ], + [ + "Russia", + -13.304422378540039 + ], + [ + "▁ședinț", + -13.304583549499512 + ], + [ + "▁accusations", + -13.304727554321289 + ], + [ + "▁încălc", + -13.304827690124512 + ], + [ + "sendung", + -13.305152893066406 + ], + [ + "▁Chiropractic", + -13.305197715759277 + ], + [ + "▁excepți", + -13.305201530456543 + ], + [ + "▁proclaim", + -13.305201530456543 + ], + [ + "▁Flexible", + -13.305295944213867 + ], + [ + "▁Hüt", + -13.30538272857666 + ], + [ + "▁Baltic", + -13.30539608001709 + ], + [ + "▁inaltime", + -13.30553913116455 + ], + [ + "▁montré", + -13.305868148803711 + ], + [ + "exécution", + -13.305898666381836 + ], + [ + "partei", + -13.305961608886719 + ], + [ + "▁specifie", + -13.306072235107422 + ], + [ + "▁Jackpot", + -13.306105613708496 + ], + [ + "▁stumble", + -13.306134223937988 + ], + [ + "▁individuel", + -13.306161880493164 + ], + [ + "▁Veteran", + -13.306217193603516 + ], + [ + "▁Supplies", + -13.306428909301758 + ], + [ + "▁excavation", + -13.306428909301758 + ], + [ + "▁Libraries", + -13.306469917297363 + ], + [ + "▁prénom", + -13.306476593017578 + ], + [ + "WOOD", + -13.30650806427002 + ], + [ + "meciul", + -13.306917190551758 + ], + [ + "Chef", + -13.306938171386719 + ], + [ + "▁SUPER", + -13.306940078735352 + ], + [ + "Appeals", + -13.30696964263916 + ], + [ + "terapia", + -13.307113647460938 + ], + [ + "▁relatii", + -13.30713939666748 + ], + [ + "modifying", + -13.30748462677002 + ], + [ + "▁Regulament", + -13.307662010192871 + ], + [ + "▁bănci", + -13.307662963867188 + ], + [ + "▁agility", + -13.307666778564453 + ], + [ + "▁Magnetic", + -13.307674407958984 + ], + [ + "▁piatra", + -13.30767822265625 + ], + [ + "▁Governance", + -13.307680130004883 + ], + [ + "▁clown", + -13.30772876739502 + ], + [ + "▁Choir", + -13.308337211608887 + ], + [ + "aujourd", + -13.308548927307129 + ], + [ + "▁vendeur", + -13.308732032775879 + ], + [ + "ndererseits", + -13.308859825134277 + ], + [ + "▁Bahrain", + -13.3088960647583 + ], + [ + "▁Timisoara", + -13.3088960647583 + ], + [ + "▁exklusive", + -13.3088960647583 + ], + [ + "▁Population", + -13.309001922607422 + ], + [ + "▁nepo", + -13.309073448181152 + ], + [ + "▁relish", + -13.309085845947266 + ], + [ + "▁Pumpkin", + -13.309571266174316 + ], + [ + "▁détente", + -13.309784889221191 + ], + [ + "▁episcop", + -13.309860229492188 + ], + [ + "patterned", + -13.309929847717285 + ], + [ + "▁THANK", + -13.310132026672363 + ], + [ + "▁Widerspruch", + -13.310132026672363 + ], + [ + "▁Crisis", + -13.310189247131348 + ], + [ + "▁goose", + -13.310226440429688 + ], + [ + "▁couture", + -13.310307502746582 + ], + [ + "▁hinweg", + -13.310446739196777 + ], + [ + "supplemental", + -13.310486793518066 + ], + [ + "shingles", + -13.31060791015625 + ], + [ + "investir", + -13.310635566711426 + ], + [ + "▁steriliz", + -13.310759544372559 + ], + [ + "tractors", + -13.310761451721191 + ], + [ + "cellules", + -13.31078815460205 + ], + [ + "▁Gloria", + -13.310888290405273 + ], + [ + "▁teilnehmen", + -13.311092376708984 + ], + [ + "companiile", + -13.311248779296875 + ], + [ + "surfacing", + -13.311279296875 + ], + [ + "▁nostalgic", + -13.311368942260742 + ], + [ + "▁Badezimmer", + -13.311369895935059 + ], + [ + "▁conjoint", + -13.311370849609375 + ], + [ + "vacancy", + -13.31145191192627 + ], + [ + "▁homeland", + -13.311582565307617 + ], + [ + "▁Abschnitt", + -13.311625480651855 + ], + [ + "Cartea", + -13.311653137207031 + ], + [ + "SIA", + -13.311782836914062 + ], + [ + "▁explode", + -13.311786651611328 + ], + [ + "fostering", + -13.311959266662598 + ], + [ + "▁ceilalti", + -13.31198787689209 + ], + [ + "▁gentil", + -13.31214714050293 + ], + [ + "oplasty", + -13.31218433380127 + ], + [ + "bodied", + -13.312424659729004 + ], + [ + "▁1906", + -13.312499046325684 + ], + [ + "▁BlackBerry", + -13.312607765197754 + ], + [ + "▁Presbyterian", + -13.312607765197754 + ], + [ + "▁berücksichtigt", + -13.312607765197754 + ], + [ + "▁compartiment", + -13.312607765197754 + ], + [ + "▁compulsory", + -13.312607765197754 + ], + [ + "Millennial", + -13.312609672546387 + ], + [ + "▁sanitar", + -13.312638282775879 + ], + [ + "▁stink", + -13.312975883483887 + ], + [ + "lius", + -13.313047409057617 + ], + [ + "thankfully", + -13.313136100769043 + ], + [ + "modalité", + -13.313173294067383 + ], + [ + "▁cunoaște", + -13.313226699829102 + ], + [ + "Infrastruktur", + -13.313227653503418 + ], + [ + "▁studenți", + -13.313253402709961 + ], + [ + "Bref", + -13.313270568847656 + ], + [ + "London", + -13.31360149383545 + ], + [ + "▁Arduino", + -13.313847541809082 + ], + [ + "▁cilantro", + -13.313847541809082 + ], + [ + "▁Rafael", + -13.313848495483398 + ], + [ + "▁untersucht", + -13.313861846923828 + ], + [ + "▁martyr", + -13.31389331817627 + ], + [ + "▁Mormon", + -13.313984870910645 + ], + [ + "▁wicket", + -13.313996315002441 + ], + [ + "cherished", + -13.314335823059082 + ], + [ + "liquid", + -13.314417839050293 + ], + [ + "▁dorinț", + -13.314571380615234 + ], + [ + "lehnt", + -13.314717292785645 + ], + [ + "meisterschaft", + -13.31493091583252 + ], + [ + "fondateur", + -13.314971923828125 + ], + [ + "câble", + -13.315078735351562 + ], + [ + "▁erreichbar", + -13.315091133117676 + ], + [ + "▁footsteps", + -13.315094947814941 + ], + [ + "▁Kloster", + -13.31519889831543 + ], + [ + "▁multiplayer", + -13.315218925476074 + ], + [ + "▁substitu", + -13.315276145935059 + ], + [ + "▁Frisch", + -13.315526962280273 + ], + [ + "▁arsenal", + -13.315712928771973 + ], + [ + "explication", + -13.315866470336914 + ], + [ + "▁conexiun", + -13.315986633300781 + ], + [ + "muddy", + -13.316045761108398 + ], + [ + "▁Reifen", + -13.316120147705078 + ], + [ + "auraient", + -13.316132545471191 + ], + [ + "▁biologic", + -13.316136360168457 + ], + [ + "▁acquainted", + -13.316332817077637 + ], + [ + "▁shelving", + -13.316341400146484 + ], + [ + "Stunning", + -13.316373825073242 + ], + [ + "▁Clothing", + -13.316394805908203 + ], + [ + "▁kidding", + -13.316431999206543 + ], + [ + "excellent", + -13.316452026367188 + ], + [ + "▁susțin", + -13.316487312316895 + ], + [ + "bătut", + -13.316502571105957 + ], + [ + "elusive", + -13.3165283203125 + ], + [ + "werbung", + -13.316743850708008 + ], + [ + "slipping", + -13.316813468933105 + ], + [ + "▁configura", + -13.316926956176758 + ], + [ + "▁proaspat", + -13.31695556640625 + ], + [ + "▁apporté", + -13.317120552062988 + ], + [ + "▁démarr", + -13.317328453063965 + ], + [ + "Spezialist", + -13.317578315734863 + ], + [ + "▁obligați", + -13.317578315734863 + ], + [ + "▁societăți", + -13.317578315734863 + ], + [ + "▁malpractice", + -13.31757926940918 + ], + [ + "Hundreds", + -13.317609786987305 + ], + [ + "▁3:1", + -13.318138122558594 + ], + [ + "▁computation", + -13.31817626953125 + ], + [ + "▁Heilig", + -13.318528175354004 + ], + [ + "▁Helsinki", + -13.318824768066406 + ], + [ + "▁firefighters", + -13.318824768066406 + ], + [ + "▁obedience", + -13.318824768066406 + ], + [ + "▁evacuate", + -13.318825721740723 + ], + [ + "▁Floyd", + -13.318840026855469 + ], + [ + "▁Disneyland", + -13.318859100341797 + ], + [ + "Cathy", + -13.319069862365723 + ], + [ + "▁Broken", + -13.319278717041016 + ], + [ + "cript", + -13.319952011108398 + ], + [ + "▁Gewähr", + -13.320073127746582 + ], + [ + "▁embarrassed", + -13.320073127746582 + ], + [ + "▁Leicht", + -13.32007884979248 + ], + [ + "▁témoign", + -13.320379257202148 + ], + [ + "▁viteze", + -13.3206148147583 + ], + [ + "▁hallmark", + -13.320731163024902 + ], + [ + "uploads", + -13.32082462310791 + ], + [ + "▁Submission", + -13.320929527282715 + ], + [ + "▁croissant", + -13.321049690246582 + ], + [ + "awning", + -13.32105827331543 + ], + [ + "detecting", + -13.321198463439941 + ], + [ + "▁Bahamas", + -13.321322441101074 + ], + [ + "▁Kathleen", + -13.321325302124023 + ], + [ + "▁latch", + -13.321377754211426 + ], + [ + "▁pronounce", + -13.321380615234375 + ], + [ + "▁choke", + -13.321428298950195 + ], + [ + "▁$50,000", + -13.3215970993042 + ], + [ + "▁historische", + -13.321642875671387 + ], + [ + "jugé", + -13.321829795837402 + ], + [ + "▁MasterCard", + -13.321949005126953 + ], + [ + "▁Horror", + -13.321955680847168 + ], + [ + "spoiled", + -13.321958541870117 + ], + [ + "▁apariți", + -13.32202434539795 + ], + [ + "geschaltet", + -13.3225736618042 + ], + [ + "▁Londra", + -13.322578430175781 + ], + [ + "viction", + -13.322580337524414 + ], + [ + "▁Disaster", + -13.322593688964844 + ], + [ + "▁desigur", + -13.322601318359375 + ], + [ + "▁substanț", + -13.322601318359375 + ], + [ + "▁compiler", + -13.322613716125488 + ], + [ + "▁vanzari", + -13.32262897491455 + ], + [ + "▁Simulation", + -13.322669982910156 + ], + [ + "Occasionally", + -13.322842597961426 + ], + [ + "Seite", + -13.322884559631348 + ], + [ + "Linked", + -13.322938919067383 + ], + [ + "Roll", + -13.323015213012695 + ], + [ + "▁trajet", + -13.323244094848633 + ], + [ + "Molecular", + -13.323834419250488 + ], + [ + "▁pragmatic", + -13.323843002319336 + ], + [ + "judecată", + -13.323915481567383 + ], + [ + "ров", + -13.32400894165039 + ], + [ + "serrurerie", + -13.324024200439453 + ], + [ + "▁reconstruct", + -13.324129104614258 + ], + [ + "▁heureuse", + -13.324179649353027 + ], + [ + "▁knight", + -13.32422924041748 + ], + [ + "knowingly", + -13.324431419372559 + ], + [ + "▁perspectiva", + -13.324453353881836 + ], + [ + "ordinary", + -13.324604034423828 + ], + [ + "▁chaudière", + -13.324721336364746 + ], + [ + "Neill", + -13.324727058410645 + ], + [ + "cellulose", + -13.325080871582031 + ], + [ + "▁Delicious", + -13.325080871582031 + ], + [ + "▁incearca", + -13.325080871582031 + ], + [ + "▁retrospective", + -13.325080871582031 + ], + [ + "▁mundane", + -13.325081825256348 + ], + [ + "▁definiert", + -13.32508659362793 + ], + [ + "▁cockpit", + -13.325088500976562 + ], + [ + "Aktionen", + -13.325363159179688 + ], + [ + "▁distanț", + -13.325654029846191 + ], + [ + "▁diplôme", + -13.325708389282227 + ], + [ + "prepaid", + -13.325737953186035 + ], + [ + "▁Tabellen", + -13.325758934020996 + ], + [ + "▁economie", + -13.325770378112793 + ], + [ + "December", + -13.325826644897461 + ], + [ + "Punkten", + -13.32613754272461 + ], + [ + "▁Punch", + -13.32614517211914 + ], + [ + "Martin", + -13.326154708862305 + ], + [ + "▁Espresso", + -13.326314926147461 + ], + [ + "▁ubiquitous", + -13.326335906982422 + ], + [ + "▁Mongolia", + -13.326337814331055 + ], + [ + "▁collabor", + -13.326635360717773 + ], + [ + "▁Vordergrund", + -13.32696533203125 + ], + [ + "cameră", + -13.327091217041016 + ], + [ + "represented", + -13.327268600463867 + ], + [ + "▁AUTO", + -13.327446937561035 + ], + [ + "▁Ofert", + -13.327542304992676 + ], + [ + "neig", + -13.327593803405762 + ], + [ + "▁Hazard", + -13.327595710754395 + ], + [ + "▁Constanta", + -13.327596664428711 + ], + [ + "▁tumour", + -13.32759952545166 + ], + [ + "▁Neighborhood", + -13.327603340148926 + ], + [ + "▁detaliat", + -13.327619552612305 + ], + [ + "▁extraordinaire", + -13.327665328979492 + ], + [ + "▁Therapeutic", + -13.327686309814453 + ], + [ + "predicting", + -13.327693939208984 + ], + [ + "▁institutii", + -13.32776165008545 + ], + [ + "ifizierung", + -13.327797889709473 + ], + [ + "wählt", + -13.328207015991211 + ], + [ + "▁remarquable", + -13.32822322845459 + ], + [ + "Invent", + -13.328512191772461 + ], + [ + "▁foloseșt", + -13.328514099121094 + ], + [ + "öfte", + -13.328703880310059 + ], + [ + "▁discreet", + -13.328853607177734 + ], + [ + "▁Flickr", + -13.32885456085205 + ], + [ + "▁trésor", + -13.328856468200684 + ], + [ + "▁steroids", + -13.328872680664062 + ], + [ + "▁personnalité", + -13.328953742980957 + ], + [ + "▁Krankenhaus", + -13.32901668548584 + ], + [ + "▁affordability", + -13.329218864440918 + ], + [ + "deuten", + -13.329398155212402 + ], + [ + "Detailed", + -13.329412460327148 + ], + [ + "Walk", + -13.329444885253906 + ], + [ + "▁parallèle", + -13.329483032226562 + ], + [ + "thèse", + -13.329649925231934 + ], + [ + "▁gefördert", + -13.330117225646973 + ], + [ + "Greeting", + -13.33014965057373 + ], + [ + "gelistet", + -13.330172538757324 + ], + [ + "▁chlorine", + -13.330392837524414 + ], + [ + "behält", + -13.33039665222168 + ], + [ + "emption", + -13.330435752868652 + ], + [ + "▁mobilité", + -13.330601692199707 + ], + [ + "▁randonnée", + -13.330668449401855 + ], + [ + "habitant", + -13.330718040466309 + ], + [ + "zilla", + -13.331082344055176 + ], + [ + "▁Lili", + -13.331160545349121 + ], + [ + "▁répét", + -13.331341743469238 + ], + [ + "trucât", + -13.331376075744629 + ], + [ + "▁Hospice", + -13.331376075744629 + ], + [ + "▁grassroots", + -13.331377029418945 + ], + [ + "▁affiché", + -13.331393241882324 + ], + [ + "pears", + -13.331470489501953 + ], + [ + "▁linistit", + -13.331497192382812 + ], + [ + "▁Patron", + -13.331552505493164 + ], + [ + "▁Stalin", + -13.331626892089844 + ], + [ + "▁închiri", + -13.331751823425293 + ], + [ + "▁Apostol", + -13.332018852233887 + ], + [ + "▁poudre", + -13.332246780395508 + ], + [ + "▁piscin", + -13.332419395446777 + ], + [ + "merlin", + -13.33259391784668 + ], + [ + "limited", + -13.33260726928711 + ], + [ + "▁métallique", + -13.332639694213867 + ], + [ + "gazebo", + -13.33267879486084 + ], + [ + "weilige", + -13.332718849182129 + ], + [ + "prosecutors", + -13.33278751373291 + ], + [ + "Expert", + -13.33314323425293 + ], + [ + "Assemblée", + -13.333271980285645 + ], + [ + "▁fauna", + -13.333285331726074 + ], + [ + "▁Turtle", + -13.333353996276855 + ], + [ + "▁Consortium", + -13.333905220031738 + ], + [ + "▁assemblies", + -13.333905220031738 + ], + [ + "▁trajectory", + -13.333905220031738 + ], + [ + "▁Vineyard", + -13.333906173706055 + ], + [ + "▁Mehrwert", + -13.334037780761719 + ], + [ + "▁sunflower", + -13.334043502807617 + ], + [ + "develop", + -13.334060668945312 + ], + [ + "▁heroic", + -13.334100723266602 + ], + [ + "▁riscuri", + -13.334151268005371 + ], + [ + "oeuf", + -13.334300994873047 + ], + [ + "influence", + -13.334452629089355 + ], + [ + "▁Voraussetzung", + -13.334500312805176 + ], + [ + "utoritatea", + -13.334518432617188 + ], + [ + "Produsul", + -13.334654808044434 + ], + [ + "▁gewährleistet", + -13.335171699523926 + ], + [ + "▁brûl", + -13.335175514221191 + ], + [ + "▁Column", + -13.335184097290039 + ], + [ + "▁trousers", + -13.335209846496582 + ], + [ + "▁posterior", + -13.33521556854248 + ], + [ + "glyph", + -13.335251808166504 + ], + [ + "▁Happen", + -13.335280418395996 + ], + [ + "▁créateur", + -13.335667610168457 + ], + [ + "▁apostle", + -13.335898399353027 + ], + [ + "▁padding", + -13.335907936096191 + ], + [ + "▁Digitalisierung", + -13.335908889770508 + ], + [ + "▁Laurie", + -13.335915565490723 + ], + [ + "▁Erwerb", + -13.336065292358398 + ], + [ + "▁bătrân", + -13.336440086364746 + ], + [ + "▁harmonious", + -13.336441040039062 + ], + [ + "▁ailments", + -13.336456298828125 + ], + [ + "▁Venue", + -13.33650016784668 + ], + [ + "▁Motorcycle", + -13.336523056030273 + ], + [ + "▁cortex", + -13.336551666259766 + ], + [ + "▁Sunrise", + -13.336636543273926 + ], + [ + "Software", + -13.336775779724121 + ], + [ + "▁advocat", + -13.336934089660645 + ], + [ + "essentiellement", + -13.337422370910645 + ], + [ + "•", + -13.337494850158691 + ], + [ + "părut", + -13.337522506713867 + ], + [ + "▁Suffolk", + -13.337711334228516 + ], + [ + "▁righteousness", + -13.337711334228516 + ], + [ + "▁Shirley", + -13.337712287902832 + ], + [ + "▁Famous", + -13.337749481201172 + ], + [ + "▁emulate", + -13.337788581848145 + ], + [ + "vermögen", + -13.33788776397705 + ], + [ + "generated", + -13.337963104248047 + ], + [ + "Ecole", + -13.337977409362793 + ], + [ + "▁managerial", + -13.338086128234863 + ], + [ + "believe", + -13.338091850280762 + ], + [ + "▁récupére", + -13.338348388671875 + ], + [ + "▁recens", + -13.338531494140625 + ], + [ + "▁Barrett", + -13.338778495788574 + ], + [ + "▁courageous", + -13.338814735412598 + ], + [ + "9.95", + -13.338961601257324 + ], + [ + "▁Odyssey", + -13.338982582092285 + ], + [ + "▁Violence", + -13.338982582092285 + ], + [ + "▁concasseur", + -13.338982582092285 + ], + [ + "▁evacuation", + -13.338982582092285 + ], + [ + "▁kontinuierlich", + -13.338982582092285 + ], + [ + "▁epidemi", + -13.3389892578125 + ], + [ + "▁disconnected", + -13.339197158813477 + ], + [ + "frucht", + -13.339339256286621 + ], + [ + "Trustees", + -13.339348793029785 + ], + [ + "▁Massiv", + -13.339459419250488 + ], + [ + "gebucht", + -13.339473724365234 + ], + [ + "stütze", + -13.339526176452637 + ], + [ + "▁febr", + -13.339741706848145 + ], + [ + "honoured", + -13.339743614196777 + ], + [ + "▁digitiz", + -13.340079307556152 + ], + [ + "Image", + -13.34021282196045 + ], + [ + "▁Brunswick", + -13.34025764465332 + ], + [ + "▁Therapist", + -13.34026050567627 + ], + [ + "accessoire", + -13.340264320373535 + ], + [ + "▁croqu", + -13.340291023254395 + ], + [ + "Pflanz", + -13.34052848815918 + ], + [ + "dragging", + -13.340536117553711 + ], + [ + "▁Facilit", + -13.340750694274902 + ], + [ + "soucis", + -13.340765953063965 + ], + [ + "Asadar", + -13.34081745147705 + ], + [ + "▁Thames", + -13.341021537780762 + ], + [ + "▁cariera", + -13.341116905212402 + ], + [ + "▁mercury", + -13.341530799865723 + ], + [ + "▁Blessed", + -13.341533660888672 + ], + [ + "▁Whitney", + -13.341630935668945 + ], + [ + "▁géant", + -13.341926574707031 + ], + [ + "▁coordonnée", + -13.342217445373535 + ], + [ + "oidal", + -13.342623710632324 + ], + [ + "Wohnungen", + -13.342696189880371 + ], + [ + "▁Spectrum", + -13.34280776977539 + ], + [ + "▁Avengers", + -13.342808723449707 + ], + [ + "▁Gloucester", + -13.342808723449707 + ], + [ + "▁nützlich", + -13.342811584472656 + ], + [ + "▁toothbrush", + -13.342830657958984 + ], + [ + "▁Vanessa", + -13.342843055725098 + ], + [ + "Saxon", + -13.342947959899902 + ], + [ + "▁comunități", + -13.343165397644043 + ], + [ + "reprezentanţi", + -13.343175888061523 + ], + [ + "▁întâlnire", + -13.343225479125977 + ], + [ + "delve", + -13.343234062194824 + ], + [ + "▁technologique", + -13.343452453613281 + ], + [ + "Describe", + -13.343466758728027 + ], + [ + "▁constient", + -13.343501091003418 + ], + [ + "gestalt", + -13.343600273132324 + ], + [ + "▁Tribune", + -13.344090461730957 + ], + [ + "▁fiberglass", + -13.34412956237793 + ], + [ + "verbindung", + -13.344210624694824 + ], + [ + "sacrificing", + -13.344351768493652 + ], + [ + "▁Pablo", + -13.344470024108887 + ], + [ + "▁adanc", + -13.34525203704834 + ], + [ + "omia", + -13.345309257507324 + ], + [ + "hâte", + -13.345317840576172 + ], + [ + "▁Sanctuary", + -13.345366477966309 + ], + [ + "▁accolade", + -13.345368385314941 + ], + [ + "▁Wurzel", + -13.345398902893066 + ], + [ + "▁spacing", + -13.345433235168457 + ], + [ + "▁bedeutend", + -13.345481872558594 + ], + [ + "▁biased", + -13.345499992370605 + ], + [ + "randomized", + -13.345747947692871 + ], + [ + "▁agenți", + -13.345856666564941 + ], + [ + "▁excepţi", + -13.346012115478516 + ], + [ + "▁fișier", + -13.346028327941895 + ], + [ + "▁fisier", + -13.34664535522461 + ], + [ + "irrespective", + -13.346648216247559 + ], + [ + "▁Gardner", + -13.34665584564209 + ], + [ + "▁aprecia", + -13.346884727478027 + ], + [ + "▁Klu", + -13.347082138061523 + ], + [ + "▁apropie", + -13.347535133361816 + ], + [ + "▁echival", + -13.347784042358398 + ], + [ + "tauchen", + -13.347862243652344 + ], + [ + "▁hauptsächlich", + -13.347930908203125 + ], + [ + "▁pollutants", + -13.347930908203125 + ], + [ + "▁mammals", + -13.347931861877441 + ], + [ + "▁Landwirtschaft", + -13.347936630249023 + ], + [ + "▁stăpân", + -13.34793758392334 + ], + [ + "▁Prüf", + -13.347990989685059 + ], + [ + "▁Motorsport", + -13.34807300567627 + ], + [ + "Leaving", + -13.348352432250977 + ], + [ + "schädigung", + -13.348573684692383 + ], + [ + "▁calendrier", + -13.348573684692383 + ], + [ + "plikation", + -13.348655700683594 + ], + [ + "▁DOE", + -13.348655700683594 + ], + [ + "ред", + -13.348966598510742 + ], + [ + "Jahr", + -13.34913444519043 + ], + [ + "▁entitlement", + -13.34921646118164 + ], + [ + "schuldig", + -13.349217414855957 + ], + [ + "▁Münster", + -13.349218368530273 + ], + [ + "pository", + -13.349451065063477 + ], + [ + "▁numero", + -13.350220680236816 + ], + [ + "▁entsprechen", + -13.350383758544922 + ], + [ + "▁astronaut", + -13.350502967834473 + ], + [ + "▁hexagon", + -13.350502967834473 + ], + [ + "▁DAMAGE", + -13.350503921508789 + ], + [ + "▁Quartz", + -13.350504875183105 + ], + [ + "▁rédaction", + -13.350504875183105 + ], + [ + "▁replenish", + -13.350508689880371 + ], + [ + "▁amoureux", + -13.350523948669434 + ], + [ + "▁opțiun", + -13.350616455078125 + ], + [ + "Custom", + -13.350622177124023 + ], + [ + "▁Telekom", + -13.350639343261719 + ], + [ + "▁RFID", + -13.351163864135742 + ], + [ + "▁Scorpio", + -13.351264953613281 + ], + [ + "▁thirst", + -13.35152816772461 + ], + [ + "▁Kosovo", + -13.351791381835938 + ], + [ + "▁precursor", + -13.351794242858887 + ], + [ + "▁sarbatori", + -13.351810455322266 + ], + [ + "▁Daisy", + -13.351828575134277 + ], + [ + "▁Dropbox", + -13.351898193359375 + ], + [ + "Smith", + -13.351949691772461 + ], + [ + "contabil", + -13.352191925048828 + ], + [ + "▁monnaie", + -13.352437973022461 + ], + [ + "capsul", + -13.352577209472656 + ], + [ + "treff", + -13.352760314941406 + ], + [ + "beauftragte", + -13.352761268615723 + ], + [ + "industrial", + -13.353006362915039 + ], + [ + "responsables", + -13.353010177612305 + ], + [ + "▁FIRST", + -13.353080749511719 + ], + [ + "▁crezut", + -13.35308837890625 + ], + [ + "▁reseller", + -13.353107452392578 + ], + [ + "▁direcți", + -13.353154182434082 + ], + [ + "mouvoir", + -13.353294372558594 + ], + [ + "▁Invite", + -13.353431701660156 + ], + [ + "▁constructii", + -13.353440284729004 + ], + [ + "▁oublié", + -13.353577613830566 + ], + [ + "găseșt", + -13.353687286376953 + ], + [ + "▁végét", + -13.353755950927734 + ], + [ + "idine", + -13.35385799407959 + ], + [ + "▁Ajout", + -13.353951454162598 + ], + [ + "▁Shelf", + -13.354195594787598 + ], + [ + "HALL", + -13.35422420501709 + ], + [ + "▁nostalgia", + -13.35437297821045 + ], + [ + "▁ottoman", + -13.35437297821045 + ], + [ + "▁ambalaj", + -13.354398727416992 + ], + [ + "municipiul", + -13.354405403137207 + ], + [ + "NOVA", + -13.354500770568848 + ], + [ + "▁disregard", + -13.354997634887695 + ], + [ + "▁bijuterii", + -13.355018615722656 + ], + [ + "▁sorgfältig", + -13.355018615722656 + ], + [ + "vraient", + -13.355307579040527 + ], + [ + "▁backsplash", + -13.355669975280762 + ], + [ + "▁nuisance", + -13.355679512023926 + ], + [ + "▁Territory", + -13.35568618774414 + ], + [ + "▁surprins", + -13.355693817138672 + ], + [ + "enchanting", + -13.35571002960205 + ], + [ + "trospecti", + -13.355847358703613 + ], + [ + "▁dvd", + -13.356199264526367 + ], + [ + "Totally", + -13.356329917907715 + ], + [ + "▁Edelstahl", + -13.35696029663086 + ], + [ + "▁sequencing", + -13.356961250305176 + ], + [ + "▁Circus", + -13.35696792602539 + ], + [ + "▁ashamed", + -13.35696792602539 + ], + [ + "▁horrific", + -13.357028007507324 + ], + [ + "▁taiat", + -13.357033729553223 + ], + [ + "▁Angehörige", + -13.357125282287598 + ], + [ + "Michel", + -13.357256889343262 + ], + [ + "▁communion", + -13.357298851013184 + ], + [ + "▁psiho", + -13.357378959655762 + ], + [ + "losigkeit", + -13.357405662536621 + ], + [ + "dipping", + -13.357512474060059 + ], + [ + "▁profesională", + -13.357608795166016 + ], + [ + "Indiferent", + -13.357609748840332 + ], + [ + "▁crestin", + -13.357723236083984 + ], + [ + "wholesome", + -13.357796669006348 + ], + [ + "▁Welfare", + -13.358257293701172 + ], + [ + "▁plentiful", + -13.358257293701172 + ], + [ + "▁Triumph", + -13.358258247375488 + ], + [ + "▁fascination", + -13.358260154724121 + ], + [ + "▁vicious", + -13.358291625976562 + ], + [ + "▁Höchst", + -13.358294486999512 + ], + [ + "▁Dunkel", + -13.358386039733887 + ], + [ + "▁harass", + -13.358406066894531 + ], + [ + "ambogia", + -13.358475685119629 + ], + [ + "▁synonymous", + -13.358598709106445 + ], + [ + "bottom", + -13.35879898071289 + ], + [ + "▁bénévole", + -13.358906745910645 + ], + [ + "▁suprafaț", + -13.358906745910645 + ], + [ + "▁umplut", + -13.358997344970703 + ], + [ + "▁Teddy", + -13.359162330627441 + ], + [ + "breathable", + -13.359292984008789 + ], + [ + "▁Toshiba", + -13.3595552444458 + ], + [ + "▁seismic", + -13.359569549560547 + ], + [ + "▁dringend", + -13.359583854675293 + ], + [ + "▁cultură", + -13.359585762023926 + ], + [ + "▁Waffen", + -13.359665870666504 + ], + [ + "▁Bubble", + -13.359702110290527 + ], + [ + "▁Brigade", + -13.359759330749512 + ], + [ + "▁Blatt", + -13.36012077331543 + ], + [ + "▁scénario", + -13.36020565032959 + ], + [ + "allah", + -13.360396385192871 + ], + [ + "▁superintendent", + -13.360855102539062 + ], + [ + "pflanzen", + -13.360856056213379 + ], + [ + "▁kurzfristig", + -13.360856056213379 + ], + [ + "▁raspberry", + -13.360876083374023 + ], + [ + "▁Evident", + -13.360904693603516 + ], + [ + "▁inutile", + -13.361076354980469 + ], + [ + "prouvé", + -13.361104011535645 + ], + [ + "▁obtien", + -13.36141300201416 + ], + [ + "▁Matthias", + -13.361506462097168 + ], + [ + "▁déclench", + -13.361506462097168 + ], + [ + "Situationen", + -13.361529350280762 + ], + [ + "▁Disclaimer", + -13.362156867980957 + ], + [ + "▁loneliness", + -13.362156867980957 + ], + [ + "▁Gothic", + -13.362164497375488 + ], + [ + "▁humility", + -13.362165451049805 + ], + [ + "▁machiaj", + -13.362175941467285 + ], + [ + "▁Sophia", + -13.362178802490234 + ], + [ + "▁Forecast", + -13.362265586853027 + ], + [ + "IBLE", + -13.362456321716309 + ], + [ + "ivism", + -13.362480163574219 + ], + [ + "israel", + -13.36278247833252 + ], + [ + "▁kümmern", + -13.362809181213379 + ], + [ + "▁verbreitet", + -13.362825393676758 + ], + [ + "▁capacitor", + -13.362832069396973 + ], + [ + "deprived", + -13.3634614944458 + ], + [ + "unbiased", + -13.3634614944458 + ], + [ + "▁Dominique", + -13.3634614944458 + ], + [ + "▁Bamboo", + -13.363462448120117 + ], + [ + "▁Heinrich", + -13.363465309143066 + ], + [ + "individualized", + -13.363550186157227 + ], + [ + "▁ansprechen", + -13.363776206970215 + ], + [ + "ordinaire", + -13.363801002502441 + ], + [ + "▁Ucraina", + -13.364112854003906 + ], + [ + "▁militare", + -13.364115715026855 + ], + [ + "massif", + -13.364352226257324 + ], + [ + "▁emisiuni", + -13.364501953125 + ], + [ + "maladies", + -13.364622116088867 + ], + [ + "▁pneumonia", + -13.364765167236328 + ], + [ + "▁graffiti", + -13.364767074584961 + ], + [ + "▁Determine", + -13.3648099899292 + ], + [ + "▁Northwestern", + -13.364893913269043 + ], + [ + "▁grasimi", + -13.364897727966309 + ], + [ + "▁lebendig", + -13.364920616149902 + ], + [ + "▁cifre", + -13.364946365356445 + ], + [ + "▁accelerator", + -13.36533260345459 + ], + [ + "▁nib", + -13.365374565124512 + ], + [ + "▁Jocuri", + -13.365400314331055 + ], + [ + "▁außergewöhnlich", + -13.365402221679688 + ], + [ + "▁orchid", + -13.36542797088623 + ], + [ + "zugreifen", + -13.365530967712402 + ], + [ + "utilisent", + -13.365662574768066 + ], + [ + "▁nineteenth", + -13.366071701049805 + ], + [ + "improvisation", + -13.366072654724121 + ], + [ + "▁Disclosure", + -13.366072654724121 + ], + [ + "▁Überraschung", + -13.366072654724121 + ], + [ + "▁Casual", + -13.366093635559082 + ], + [ + "▁Witness", + -13.366093635559082 + ], + [ + "teacher", + -13.366125106811523 + ], + [ + "Printed", + -13.366129875183105 + ], + [ + "▁prețuri", + -13.366189956665039 + ], + [ + "rues", + -13.366216659545898 + ], + [ + "▁cerinte", + -13.366338729858398 + ], + [ + "rouvent", + -13.36662483215332 + ], + [ + "assembling", + -13.36673355102539 + ], + [ + "▁atenție", + -13.366769790649414 + ], + [ + "▁amintiri", + -13.366782188415527 + ], + [ + "▁sustinut", + -13.366805076599121 + ], + [ + "Digital", + -13.367257118225098 + ], + [ + "▁Deborah", + -13.36738109588623 + ], + [ + "gesichts", + -13.367382049560547 + ], + [ + "▁temperament", + -13.367440223693848 + ], + [ + "▁competency", + -13.367447853088379 + ], + [ + "▁dwarf", + -13.367515563964844 + ], + [ + "▁dureaz", + -13.367539405822754 + ], + [ + "habilit", + -13.367764472961426 + ], + [ + "leaned", + -13.3679838180542 + ], + [ + "▁illicit", + -13.368348121643066 + ], + [ + "Availability", + -13.368691444396973 + ], + [ + "▁Brașov", + -13.368691444396973 + ], + [ + "▁Pyramid", + -13.368691444396973 + ], + [ + "▁achievable", + -13.368691444396973 + ], + [ + "▁judiciaire", + -13.368691444396973 + ], + [ + "Übrigen", + -13.368693351745605 + ], + [ + "▁activism", + -13.368795394897461 + ], + [ + "▁boycott", + -13.368839263916016 + ], + [ + "Desigur", + -13.368927001953125 + ], + [ + "klingt", + -13.369264602661133 + ], + [ + "▁Leidenschaft", + -13.369346618652344 + ], + [ + "▁Richtig", + -13.369701385498047 + ], + [ + "▁Airbnb", + -13.370002746582031 + ], + [ + "▁învățământ", + -13.370002746582031 + ], + [ + "Kampagne", + -13.370004653930664 + ], + [ + "▁thumbnail", + -13.370014190673828 + ], + [ + "Bestimmungen", + -13.370016098022461 + ], + [ + "▁vollkommen", + -13.37001895904541 + ], + [ + "▁biomass", + -13.370027542114258 + ], + [ + "▁escalate", + -13.370030403137207 + ], + [ + "wächst", + -13.370085716247559 + ], + [ + "▁scăpa", + -13.370098114013672 + ], + [ + "▁résult", + -13.37014389038086 + ], + [ + "▁shrine", + -13.370217323303223 + ], + [ + "maximizing", + -13.370370864868164 + ], + [ + "avoue", + -13.370492935180664 + ], + [ + "dirigeants", + -13.370665550231934 + ], + [ + "▁cerveau", + -13.370672225952148 + ], + [ + "▁proast", + -13.370955467224121 + ], + [ + "▁contaminants", + -13.371325492858887 + ], + [ + "effectue", + -13.37151050567627 + ], + [ + "ediție", + -13.371539115905762 + ], + [ + "monetiz", + -13.371772766113281 + ], + [ + "▁deplasare", + -13.371976852416992 + ], + [ + "▁Sfant", + -13.37209415435791 + ], + [ + "ROOM", + -13.372113227844238 + ], + [ + "bushes", + -13.372151374816895 + ], + [ + "mairie", + -13.37251091003418 + ], + [ + "obligate", + -13.372528076171875 + ], + [ + "▁tug", + -13.372573852539062 + ], + [ + "▁Collector", + -13.372632026672363 + ], + [ + "▁annoyed", + -13.372633934020996 + ], + [ + "▁aerobic", + -13.372654914855957 + ], + [ + "▁integer", + -13.372830390930176 + ], + [ + "▁Upload", + -13.373249053955078 + ], + [ + "▁impartial", + -13.37346076965332 + ], + [ + "▁discuţi", + -13.373623847961426 + ], + [ + "gastrointestinal", + -13.37394905090332 + ], + [ + "▁chiropractor", + -13.37394905090332 + ], + [ + "▁treptat", + -13.373950004577637 + ], + [ + "▁fishermen", + -13.37395191192627 + ], + [ + "levitra", + -13.3739595413208 + ], + [ + "Gruppe", + -13.373964309692383 + ], + [ + "▁Apostle", + -13.373970985412598 + ], + [ + "▁conseillé", + -13.374068260192871 + ], + [ + "Isra", + -13.37421703338623 + ], + [ + "▁Persönlichkeit", + -13.374431610107422 + ], + [ + "▁cantitati", + -13.374459266662598 + ], + [ + "▁incredibil", + -13.374614715576172 + ], + [ + "▁Berater", + -13.374800682067871 + ], + [ + "▁propuneri", + -13.374835014343262 + ], + [ + "MEDIA", + -13.375236511230469 + ], + [ + "▁opaque", + -13.37526798248291 + ], + [ + "▁Nielsen", + -13.375269889831543 + ], + [ + "▁cartofi", + -13.375277519226074 + ], + [ + "▁Whale", + -13.37533950805664 + ], + [ + "erzeugen", + -13.375890731811523 + ], + [ + "▁knack", + -13.375931739807129 + ], + [ + "Kandidat", + -13.375936508178711 + ], + [ + "▁tradițional", + -13.375937461853027 + ], + [ + "zählige", + -13.375983238220215 + ], + [ + "▁Petroleum", + -13.376588821411133 + ], + [ + "▁deficiencies", + -13.376588821411133 + ], + [ + "▁persecution", + -13.376588821411133 + ], + [ + "▁zgomot", + -13.376588821411133 + ], + [ + "▁reiterate", + -13.376592636108398 + ], + [ + "▁Slice", + -13.376670837402344 + ], + [ + "▁envy", + -13.376704216003418 + ], + [ + "▁stomac", + -13.376851081848145 + ], + [ + "Donnell", + -13.376914978027344 + ], + [ + "▁primordial", + -13.377249717712402 + ], + [ + "reclining", + -13.377274513244629 + ], + [ + "PASS", + -13.377861976623535 + ], + [ + "▁Resistance", + -13.377910614013672 + ], + [ + "▁Widerruf", + -13.377911567687988 + ], + [ + "▁vodka", + -13.377911567687988 + ], + [ + "▁yolk", + -13.377912521362305 + ], + [ + "ollywood", + -13.377915382385254 + ], + [ + "▁truffle", + -13.377933502197266 + ], + [ + "▁Sänger", + -13.377955436706543 + ], + [ + "▁Kenntnis", + -13.377968788146973 + ], + [ + "▁Kiel", + -13.37803840637207 + ], + [ + "▁Mutual", + -13.378044128417969 + ], + [ + "▁saliva", + -13.37816047668457 + ], + [ + "▁renforce", + -13.378411293029785 + ], + [ + "▁mulch", + -13.378680229187012 + ], + [ + "▁reviste", + -13.378875732421875 + ], + [ + "lucrarea", + -13.378978729248047 + ], + [ + "▁multiply", + -13.379130363464355 + ], + [ + "▁marshmallow", + -13.379234313964844 + ], + [ + "▁Durchschnitt", + -13.379288673400879 + ], + [ + "▁Authorities", + -13.379426002502441 + ], + [ + "▁greed", + -13.379521369934082 + ], + [ + "Visiting", + -13.379638671875 + ], + [ + "Carlton", + -13.379727363586426 + ], + [ + "▁splend", + -13.37975025177002 + ], + [ + "▁Erkenntnisse", + -13.379898071289062 + ], + [ + "▁Russie", + -13.379916191101074 + ], + [ + "Agence", + -13.38007926940918 + ], + [ + "schickt", + -13.380288124084473 + ], + [ + "##", + -13.3804931640625 + ], + [ + "▁Erweiterung", + -13.380560874938965 + ], + [ + "▁Franchise", + -13.380560874938965 + ], + [ + "Dedicated", + -13.380563735961914 + ], + [ + "▁Wisdom", + -13.380569458007812 + ], + [ + "▁gagnant", + -13.380592346191406 + ], + [ + "planetary", + -13.380598068237305 + ], + [ + "▁affinity", + -13.380619049072266 + ], + [ + "▁préférence", + -13.380739212036133 + ], + [ + "▁intellect", + -13.380810737609863 + ], + [ + "▁Translat", + -13.380830764770508 + ], + [ + "▁Sultan", + -13.38089370727539 + ], + [ + "▁birouri", + -13.38101577758789 + ], + [ + "▁Academie", + -13.381224632263184 + ], + [ + "▁consequential", + -13.38138484954834 + ], + [ + "▁festgestellt", + -13.381402015686035 + ], + [ + "▁Chanel", + -13.381444931030273 + ], + [ + "▁soutenu", + -13.381875038146973 + ], + [ + "▁Montessori", + -13.381888389587402 + ], + [ + "▁equitable", + -13.381892204284668 + ], + [ + "▁théorie", + -13.381893157958984 + ], + [ + "▁primavara", + -13.3818941116333 + ], + [ + "▁Daughter", + -13.38189697265625 + ], + [ + "▁Dixon", + -13.381898880004883 + ], + [ + "▁unravel", + -13.38190746307373 + ], + [ + "Olimp", + -13.381915092468262 + ], + [ + "▁disturbed", + -13.381916999816895 + ], + [ + "▁novelty", + -13.382004737854004 + ], + [ + "synchronous", + -13.382113456726074 + ], + [ + "relevant", + -13.382166862487793 + ], + [ + "bourgeois", + -13.38251781463623 + ], + [ + "▁Parfum", + -13.38255500793457 + ], + [ + "▁Polonia", + -13.382563591003418 + ], + [ + "▁monoton", + -13.382781028747559 + ], + [ + "tratare", + -13.38302230834961 + ], + [ + "dumping", + -13.38318157196045 + ], + [ + "▁Bibliothek", + -13.383217811584473 + ], + [ + "▁Saskatchewan", + -13.383217811584473 + ], + [ + "▁experiential", + -13.383217811584473 + ], + [ + "▁verursacht", + -13.383217811584473 + ], + [ + "intègre", + -13.383218765258789 + ], + [ + "▁Intermediate", + -13.383275032043457 + ], + [ + "Israel", + -13.383476257324219 + ], + [ + "lucreaza", + -13.383495330810547 + ], + [ + "▁quantify", + -13.383862495422363 + ], + [ + "▁zahăr", + -13.383882522583008 + ], + [ + "▁încadr", + -13.383902549743652 + ], + [ + "Personalized", + -13.383946418762207 + ], + [ + "▁Chronic", + -13.384309768676758 + ], + [ + "hôpital", + -13.384549140930176 + ], + [ + "▁diskutiert", + -13.384549140930176 + ], + [ + "electrique", + -13.3848876953125 + ], + [ + "ethos", + -13.384978294372559 + ], + [ + "Nase", + -13.385059356689453 + ], + [ + "atmosphère", + -13.385214805603027 + ], + [ + "▁ungefähr", + -13.385215759277344 + ], + [ + "évaluer", + -13.385251998901367 + ], + [ + "▁scuz", + -13.385321617126465 + ], + [ + "haltige", + -13.38533878326416 + ], + [ + "January", + -13.38557243347168 + ], + [ + "▁Sharma", + -13.385603904724121 + ], + [ + "▁seizures", + -13.385881423950195 + ], + [ + "▁zucchini", + -13.385881423950195 + ], + [ + "▁Stadi", + -13.385885238647461 + ], + [ + "▁eccentric", + -13.385885238647461 + ], + [ + "▁offensichtlich", + -13.385909080505371 + ], + [ + "▁Irvine", + -13.385920524597168 + ], + [ + "cuprinse", + -13.38601303100586 + ], + [ + "▁Arbitr", + -13.386157035827637 + ], + [ + "Buenos", + -13.386183738708496 + ], + [ + "▁Shelter", + -13.386210441589355 + ], + [ + "CEPT", + -13.386454582214355 + ], + [ + "ouvri", + -13.386455535888672 + ], + [ + "acryl", + -13.386539459228516 + ], + [ + "▁Gourmet", + -13.38654899597168 + ], + [ + "scented", + -13.386595726013184 + ], + [ + "doubling", + -13.38659954071045 + ], + [ + "▁rafina", + -13.386608123779297 + ], + [ + "▁Vereinbarung", + -13.38721752166748 + ], + [ + "▁Dashboard", + -13.387218475341797 + ], + [ + "▁Sandwich", + -13.387218475341797 + ], + [ + "▁Riviera", + -13.387226104736328 + ], + [ + "échec", + -13.387237548828125 + ], + [ + "Giro", + -13.387253761291504 + ], + [ + "▁oasis", + -13.38725757598877 + ], + [ + "▁apology", + -13.3872709274292 + ], + [ + "▁YEAR", + -13.387272834777832 + ], + [ + "▁realtor", + -13.387504577636719 + ], + [ + "acheteur", + -13.38754653930664 + ], + [ + "▁larva", + -13.387613296508789 + ], + [ + "▁invitați", + -13.388097763061523 + ], + [ + "exhibiting", + -13.38830852508545 + ], + [ + "modernen", + -13.388331413269043 + ], + [ + "▁Collaboration", + -13.38855266571045 + ], + [ + "▁dezvălui", + -13.38855266571045 + ], + [ + "▁kiosk", + -13.38855266571045 + ], + [ + "▁Bermuda", + -13.388553619384766 + ], + [ + "Copiii", + -13.388564109802246 + ], + [ + "▁goddess", + -13.388581275939941 + ], + [ + "uplifting", + -13.388609886169434 + ], + [ + "▁simultan", + -13.388808250427246 + ], + [ + "▁episod", + -13.388884544372559 + ], + [ + "▁Braşov", + -13.38922119140625 + ], + [ + "cunoscută", + -13.389634132385254 + ], + [ + "▁Cherokee", + -13.389890670776367 + ], + [ + "▁Kazakhstan", + -13.389890670776367 + ], + [ + "▁Lauderdale", + -13.389890670776367 + ], + [ + "▁închisoare", + -13.389898300170898 + ], + [ + "▁Christchurch", + -13.389934539794922 + ], + [ + "▁influenţ", + -13.389982223510742 + ], + [ + "▁Meghan", + -13.390019416809082 + ], + [ + "▁Dienstleistung", + -13.390557289123535 + ], + [ + "▁cladiri", + -13.390564918518066 + ], + [ + "▁evrei", + -13.391148567199707 + ], + [ + "▁oatmeal", + -13.391230583190918 + ], + [ + "▁chronique", + -13.3912353515625 + ], + [ + "▁associée", + -13.391264915466309 + ], + [ + "▁Goose", + -13.391283988952637 + ], + [ + "gänz", + -13.391855239868164 + ], + [ + "▁Blätter", + -13.391901969909668 + ], + [ + "▁jurnalist", + -13.392212867736816 + ], + [ + "cedat", + -13.392263412475586 + ], + [ + "nommée", + -13.392315864562988 + ], + [ + "écrivain", + -13.392572402954102 + ], + [ + "▁epoxy", + -13.392577171325684 + ], + [ + "▁verlangt", + -13.392590522766113 + ], + [ + "Störung", + -13.392708778381348 + ], + [ + "▁Doyle", + -13.392729759216309 + ], + [ + "▁Philharmoni", + -13.392844200134277 + ], + [ + "▁déclare", + -13.393044471740723 + ], + [ + "effort", + -13.393045425415039 + ], + [ + "ström", + -13.393118858337402 + ], + [ + "▁cunoaşte", + -13.393244743347168 + ], + [ + "▁gigantic", + -13.3932466506958 + ], + [ + "któ", + -13.393378257751465 + ], + [ + "▁ilustr", + -13.393529891967773 + ], + [ + "▁frec", + -13.39371109008789 + ], + [ + "▁Syracuse", + -13.393916130065918 + ], + [ + "▁Einwilligung", + -13.393917083740234 + ], + [ + "▁miraculous", + -13.393917083740234 + ], + [ + "▁ökologisch", + -13.393917083740234 + ], + [ + "▁Simmons", + -13.393922805786133 + ], + [ + "▁albastru", + -13.393926620483398 + ], + [ + "besser", + -13.393962860107422 + ], + [ + "▁interioare", + -13.394006729125977 + ], + [ + "▁Trocken", + -13.394068717956543 + ], + [ + "niveau", + -13.39406967163086 + ], + [ + "▁Torah", + -13.394122123718262 + ], + [ + "▁beobachten", + -13.3945894241333 + ], + [ + "▁behandeln", + -13.394637107849121 + ], + [ + "staffed", + -13.394742965698242 + ], + [ + "hütte", + -13.394824028015137 + ], + [ + "Central", + -13.394939422607422 + ], + [ + "▁Freiburg", + -13.395198822021484 + ], + [ + "▁Netanyahu", + -13.395261764526367 + ], + [ + "▁Lexington", + -13.395302772521973 + ], + [ + "▁insotit", + -13.395492553710938 + ], + [ + "▁depasi", + -13.39560604095459 + ], + [ + "sewage", + -13.395853996276855 + ], + [ + "erkrankung", + -13.395951271057129 + ], + [ + "▁părţi", + -13.396234512329102 + ], + [ + "▁Nixon", + -13.39661693572998 + ], + [ + "Byron", + -13.396905899047852 + ], + [ + "▁varietat", + -13.39724063873291 + ], + [ + "▁Bildschirm", + -13.397299766540527 + ], + [ + "▁accompli", + -13.397424697875977 + ], + [ + "affirmed", + -13.397525787353516 + ], + [ + "▁phyto", + -13.397533416748047 + ], + [ + "sectiune", + -13.397592544555664 + ], + [ + "abteilung", + -13.397932052612305 + ], + [ + "▁voastre", + -13.397957801818848 + ], + [ + "GitHub", + -13.397958755493164 + ], + [ + "▁Jorge", + -13.39796257019043 + ], + [ + "ACTION", + -13.397972106933594 + ], + [ + "voastra", + -13.397984504699707 + ], + [ + "▁Peanut", + -13.397987365722656 + ], + [ + "▁bilingual", + -13.398011207580566 + ], + [ + "▁nourriture", + -13.39803695678711 + ], + [ + "▁Asphalt", + -13.398640632629395 + ], + [ + "emballage", + -13.399310111999512 + ], + [ + "▁sanitation", + -13.399310111999512 + ], + [ + "▁Dessert", + -13.399313926696777 + ], + [ + "intitulé", + -13.399322509765625 + ], + [ + "▁acţiune", + -13.399374008178711 + ], + [ + "▁Übersetzung", + -13.399402618408203 + ], + [ + "destinate", + -13.39941692352295 + ], + [ + "▁Goddess", + -13.399504661560059 + ], + [ + "poziție", + -13.399576187133789 + ], + [ + "denumirea", + -13.400002479553223 + ], + [ + "cantitatea", + -13.40002727508545 + ], + [ + "▁Stereo", + -13.400223731994629 + ], + [ + "object", + -13.400373458862305 + ], + [ + "▁décè", + -13.40058708190918 + ], + [ + "▁Handeln", + -13.400665283203125 + ], + [ + "▁ambience", + -13.400697708129883 + ], + [ + "▁Lindsay", + -13.4006986618042 + ], + [ + "▁tensiune", + -13.400781631469727 + ], + [ + "▁thrift", + -13.400788307189941 + ], + [ + "▁Optimiz", + -13.400843620300293 + ], + [ + "▁beantworten", + -13.401338577270508 + ], + [ + "▁magistrat", + -13.401342391967773 + ], + [ + "évidence", + -13.402016639709473 + ], + [ + "▁Eclipse", + -13.402016639709473 + ], + [ + "▁Ribbon", + -13.402016639709473 + ], + [ + "▁condensation", + -13.402016639709473 + ], + [ + "▁innocence", + -13.402018547058105 + ], + [ + "▁mascara", + -13.402023315429688 + ], + [ + "▁seventeen", + -13.402290344238281 + ], + [ + "▁compétent", + -13.402694702148438 + ], + [ + "bewertet", + -13.402717590332031 + ], + [ + "▁Muzic", + -13.40285587310791 + ], + [ + "complexities", + -13.402928352355957 + ], + [ + "ddington", + -13.403324127197266 + ], + [ + "Entwickler", + -13.403372764587402 + ], + [ + "masonry", + -13.4033784866333 + ], + [ + "Führer", + -13.403386116027832 + ], + [ + "▁awakening", + -13.403388977050781 + ], + [ + "▁lovitur", + -13.403806686401367 + ], + [ + "gebrochen", + -13.404068946838379 + ], + [ + "indexed", + -13.404478073120117 + ], + [ + "campania", + -13.404515266418457 + ], + [ + "▁Fountain", + -13.404730796813965 + ], + [ + "▁Joomla", + -13.404730796813965 + ], + [ + "▁Superintendent", + -13.404730796813965 + ], + [ + "▁Dahl", + -13.404742240905762 + ], + [ + "▁Benefici", + -13.404863357543945 + ], + [ + "optimiser", + -13.404919624328613 + ], + [ + "bursting", + -13.405380249023438 + ], + [ + "diplom", + -13.405427932739258 + ], + [ + "microsoft", + -13.405621528625488 + ], + [ + "▁correlate", + -13.405776977539062 + ], + [ + "▁arhitectura", + -13.405848503112793 + ], + [ + "▁lunette", + -13.40611743927002 + ], + [ + "Statistical", + -13.406147003173828 + ], + [ + "▁iarnă", + -13.406201362609863 + ], + [ + "▁importanț", + -13.406932830810547 + ], + [ + "sistence", + -13.407366752624512 + ], + [ + "associated", + -13.407402992248535 + ], + [ + "Occident", + -13.407452583312988 + ], + [ + "▁Heidelberg", + -13.407452583312988 + ], + [ + "▁acquaintance", + -13.407452583312988 + ], + [ + "Introducing", + -13.407453536987305 + ], + [ + "▁ripple", + -13.407480239868164 + ], + [ + "▁Childhood", + -13.407563209533691 + ], + [ + "drywall", + -13.407577514648438 + ], + [ + "Vreau", + -13.40771770477295 + ], + [ + "▁compétence", + -13.407967567443848 + ], + [ + "▁asteapta", + -13.408135414123535 + ], + [ + "▁duhovnic", + -13.408135414123535 + ], + [ + "▁învăţământ", + -13.408141136169434 + ], + [ + "encompassing", + -13.40829849243164 + ], + [ + "1997)", + -13.408370018005371 + ], + [ + "▁atractiv", + -13.408515930175781 + ], + [ + "Majoritatea", + -13.408775329589844 + ], + [ + "▁bungalow", + -13.40881633758545 + ], + [ + "▁Introduce", + -13.408817291259766 + ], + [ + "▁culprit", + -13.408817291259766 + ], + [ + "▁malheureusement", + -13.408817291259766 + ], + [ + "▁voudrai", + -13.408817291259766 + ], + [ + "Europäische", + -13.408825874328613 + ], + [ + "wunsch", + -13.408880233764648 + ], + [ + "▁înțeles", + -13.408892631530762 + ], + [ + "▁infestation", + -13.40889835357666 + ], + [ + "Bringing", + -13.409186363220215 + ], + [ + "▁Mehrheit", + -13.409229278564453 + ], + [ + "ски", + -13.409456253051758 + ], + [ + "▁procéder", + -13.409499168395996 + ], + [ + "grupului", + -13.409504890441895 + ], + [ + "▁dispoziti", + -13.40964412689209 + ], + [ + "▁snug", + -13.409950256347656 + ], + [ + "▁Afrika", + -13.41018295288086 + ], + [ + "▁Madagascar", + -13.41018295288086 + ], + [ + "Părinte", + -13.410195350646973 + ], + [ + "▁Clayton", + -13.410223960876465 + ], + [ + "▁antagonist", + -13.410239219665527 + ], + [ + "termeni", + -13.410250663757324 + ], + [ + "▁Literary", + -13.410391807556152 + ], + [ + "▁Babylon", + -13.410452842712402 + ], + [ + "▁überprüfen", + -13.410865783691406 + ], + [ + "▁duminica", + -13.410879135131836 + ], + [ + "farbig", + -13.410970687866211 + ], + [ + "nennt", + -13.411064147949219 + ], + [ + "annual", + -13.411487579345703 + ], + [ + "▁Qualcomm", + -13.41154956817627 + ], + [ + "▁Slovakia", + -13.41154956817627 + ], + [ + "▁plictis", + -13.411552429199219 + ], + [ + "▁prairie", + -13.411554336547852 + ], + [ + "▁Schatten", + -13.411622047424316 + ], + [ + "▁compléter", + -13.41223430633545 + ], + [ + "inauguration", + -13.412376403808594 + ], + [ + "▁apărare", + -13.412407875061035 + ], + [ + "▁întăr", + -13.412412643432617 + ], + [ + "▁pronunciation", + -13.412919044494629 + ], + [ + "▁bewährt", + -13.412919998168945 + ], + [ + "▁Viertel", + -13.413084983825684 + ], + [ + "▁Heidi", + -13.413252830505371 + ], + [ + "▁Gummi", + -13.413507461547852 + ], + [ + "▁veggie", + -13.413552284240723 + ], + [ + "▁monsieur", + -13.413604736328125 + ], + [ + "éveil", + -13.413630485534668 + ], + [ + "shipments", + -13.413928985595703 + ], + [ + "▁Medikamente", + -13.414290428161621 + ], + [ + "▁Johannesburg", + -13.414314270019531 + ], + [ + "▁ermittelt", + -13.414321899414062 + ], + [ + "▁bataille", + -13.414440155029297 + ], + [ + "extrem", + -13.414609909057617 + ], + [ + "▁1:2", + -13.414671897888184 + ], + [ + "Array", + -13.414725303649902 + ], + [ + "▁portail", + -13.414857864379883 + ], + [ + "▁găzdui", + -13.414977073669434 + ], + [ + "▁Calcium", + -13.41497802734375 + ], + [ + "▁Correction", + -13.415104866027832 + ], + [ + "bureaux", + -13.41528034210205 + ], + [ + "bestselling", + -13.415338516235352 + ], + [ + "Übungen", + -13.415420532226562 + ], + [ + "paramètres", + -13.415633201599121 + ], + [ + "▁Provincial", + -13.415663719177246 + ], + [ + "▁outrageous", + -13.415680885314941 + ], + [ + "▁Giveaway", + -13.415775299072266 + ], + [ + "▁LGBTQ", + -13.41589641571045 + ], + [ + "geklärt", + -13.416854858398438 + ], + [ + "▁Karlsruhe", + -13.417038917541504 + ], + [ + "▁esențial", + -13.417038917541504 + ], + [ + "avancée", + -13.41703987121582 + ], + [ + "hesitant", + -13.417040824890137 + ], + [ + "enlarged", + -13.417069435119629 + ], + [ + "▁inherit", + -13.417121887207031 + ], + [ + "Food", + -13.4171724319458 + ], + [ + "bucuria", + -13.417181015014648 + ], + [ + "▁BTW", + -13.417400360107422 + ], + [ + "associe", + -13.417579650878906 + ], + [ + "▁Möchte", + -13.417742729187012 + ], + [ + "demokrat", + -13.417789459228516 + ], + [ + "Turcia", + -13.417964935302734 + ], + [ + "forged", + -13.418370246887207 + ], + [ + "▁Zhao", + -13.418442726135254 + ], + [ + "▁cherries", + -13.418556213378906 + ], + [ + "▁evangelical", + -13.418631553649902 + ], + [ + "▁jüng", + -13.418792724609375 + ], + [ + "spans", + -13.41880989074707 + ], + [ + "▁străluc", + -13.41888427734375 + ], + [ + "▁geschie", + -13.41893196105957 + ], + [ + "▁Tattoo", + -13.419112205505371 + ], + [ + "sanitary", + -13.419114112854004 + ], + [ + "▁biopsy", + -13.419353485107422 + ], + [ + "▁imprumut", + -13.419795036315918 + ], + [ + "▁unreasonable", + -13.419795036315918 + ], + [ + "Funktion", + -13.419800758361816 + ], + [ + "▁prohibition", + -13.419904708862305 + ], + [ + "▁Prezent", + -13.419939041137695 + ], + [ + "boosted", + -13.419967651367188 + ], + [ + "▁chalet", + -13.420382499694824 + ], + [ + "▁tanar", + -13.420450210571289 + ], + [ + "Faktoren", + -13.420489311218262 + ], + [ + "▁Mozilla", + -13.420550346374512 + ], + [ + "▁Lambert", + -13.420760154724121 + ], + [ + "▁Cruci", + -13.420927047729492 + ], + [ + "▁Flugzeug", + -13.421198844909668 + ], + [ + "reassure", + -13.421205520629883 + ], + [ + "envisioned", + -13.421542167663574 + ], + [ + "Traditionally", + -13.421773910522461 + ], + [ + "▁parametri", + -13.42185115814209 + ], + [ + "▁unicorn", + -13.421891212463379 + ], + [ + "▁adéquat", + -13.421894073486328 + ], + [ + "▁Colonial", + -13.421915054321289 + ], + [ + "▁Kwa", + -13.422097206115723 + ], + [ + "▁SERV", + -13.422333717346191 + ], + [ + "tourism", + -13.422627449035645 + ], + [ + "▁Kiev", + -13.422974586486816 + ], + [ + "heightened", + -13.42309284210205 + ], + [ + "circulating", + -13.423099517822266 + ], + [ + "▁Kreditkarte", + -13.42310619354248 + ], + [ + "gedruckt", + -13.423110008239746 + ], + [ + "▁Depend", + -13.423120498657227 + ], + [ + "Style", + -13.423196792602539 + ], + [ + "▁Rettungs", + -13.42325496673584 + ], + [ + "wrongful", + -13.423418998718262 + ], + [ + "▁devour", + -13.423453330993652 + ], + [ + "▁manevr", + -13.423582077026367 + ], + [ + "carora", + -13.423628807067871 + ], + [ + "erfolgreichen", + -13.423723220825195 + ], + [ + "überwiegend", + -13.423942565917969 + ], + [ + "▁Sauvignon", + -13.423942565917969 + ], + [ + "händler", + -13.423944473266602 + ], + [ + "▁annotation", + -13.424009323120117 + ], + [ + "▁expans", + -13.424020767211914 + ], + [ + "▁recital", + -13.424080848693848 + ], + [ + "inhabited", + -13.424367904663086 + ], + [ + "OnePlus", + -13.424549102783203 + ], + [ + "Gästen", + -13.424588203430176 + ], + [ + "beliebig", + -13.424613952636719 + ], + [ + "▁Anonymous", + -13.424635887145996 + ], + [ + "▁Ansprechpartner", + -13.424635887145996 + ], + [ + "▁tamb", + -13.42464542388916 + ], + [ + "estimating", + -13.424670219421387 + ], + [ + "frequent", + -13.424769401550293 + ], + [ + "▁disciplin", + -13.425241470336914 + ], + [ + "▁plombier", + -13.425329208374023 + ], + [ + "▁teoretic", + -13.42533016204834 + ], + [ + "greift", + -13.425339698791504 + ], + [ + "▁Einschränkung", + -13.42537784576416 + ], + [ + "obscur", + -13.426115989685059 + ], + [ + "architecte", + -13.426233291625977 + ], + [ + "▁détour", + -13.42647647857666 + ], + [ + "▁spaghetti", + -13.426717758178711 + ], + [ + "croft", + -13.42693042755127 + ], + [ + "▁Grammar", + -13.426953315734863 + ], + [ + "▁investitii", + -13.427062034606934 + ], + [ + "▁glorif", + -13.427067756652832 + ], + [ + "architekt", + -13.427412033081055 + ], + [ + "Oricum", + -13.427451133728027 + ], + [ + "▁bruise", + -13.427692413330078 + ], + [ + "▁McCarthy", + -13.428107261657715 + ], + [ + "▁Uruguay", + -13.428107261657715 + ], + [ + "Produsele", + -13.428109169006348 + ], + [ + "▁Comparison", + -13.42811107635498 + ], + [ + "▁fondamental", + -13.42811107635498 + ], + [ + "▁stradă", + -13.428115844726562 + ], + [ + "▁Countries", + -13.428131103515625 + ], + [ + "▁guéri", + -13.42825698852539 + ], + [ + "▁bâti", + -13.428339004516602 + ], + [ + "▁blunt", + -13.428515434265137 + ], + [ + "▁Sistem", + -13.428645133972168 + ], + [ + "▁Betroffenen", + -13.428803443908691 + ], + [ + "efectuare", + -13.428823471069336 + ], + [ + "▁scharf", + -13.428899765014648 + ], + [ + "naps", + -13.429057121276855 + ], + [ + "▁plaid", + -13.429163932800293 + ], + [ + "▁investiții", + -13.429367065429688 + ], + [ + "evenimentele", + -13.42948055267334 + ], + [ + "▁Phuket", + -13.429499626159668 + ], + [ + "▁testosterone", + -13.429499626159668 + ], + [ + "▁scaffold", + -13.429500579833984 + ], + [ + "▁rasch", + -13.430022239685059 + ], + [ + "▁adânc", + -13.430076599121094 + ], + [ + "atteinte", + -13.430228233337402 + ], + [ + "▁educație", + -13.430320739746094 + ], + [ + "▁leopard", + -13.430893898010254 + ], + [ + "▁superioare", + -13.430893898010254 + ], + [ + "▁téléchargement", + -13.430893898010254 + ], + [ + "▁Weapon", + -13.431103706359863 + ], + [ + "favourable", + -13.431336402893066 + ], + [ + "nourishing", + -13.43143367767334 + ], + [ + "▁verfolgt", + -13.43160629272461 + ], + [ + "▁tablou", + -13.431633949279785 + ], + [ + "Algérie", + -13.431657791137695 + ], + [ + "Islam", + -13.431700706481934 + ], + [ + "faser", + -13.431825637817383 + ], + [ + "rhythm", + -13.432214736938477 + ], + [ + "▁Anthropolog", + -13.432291030883789 + ], + [ + "▁clôtur", + -13.432291030883789 + ], + [ + "spüren", + -13.432291984558105 + ], + [ + "▁Architectural", + -13.432294845581055 + ], + [ + "▁imaginary", + -13.432368278503418 + ], + [ + "cône", + -13.432456016540527 + ], + [ + "▁snuggl", + -13.432744026184082 + ], + [ + "disadvantaged", + -13.432745933532715 + ], + [ + "radically", + -13.4329195022583 + ], + [ + "Première", + -13.433011054992676 + ], + [ + "▁combinaison", + -13.433027267456055 + ], + [ + "▁Algeria", + -13.43303108215332 + ], + [ + "▁Wände", + -13.43317985534668 + ], + [ + "aesthetically", + -13.43336009979248 + ], + [ + "▁McKe", + -13.433368682861328 + ], + [ + "interroge", + -13.433473587036133 + ], + [ + "exclusive", + -13.433475494384766 + ], + [ + "▁Thomson", + -13.433688163757324 + ], + [ + "▁Gujarat", + -13.43368911743164 + ], + [ + "irgendwo", + -13.433690071105957 + ], + [ + "Severin", + -13.433767318725586 + ], + [ + "▁imitation", + -13.433926582336426 + ], + [ + "constructed", + -13.434194564819336 + ], + [ + "▁Montpellier", + -13.434388160705566 + ], + [ + "cedent", + -13.434539794921875 + ], + [ + "accelerating", + -13.434563636779785 + ], + [ + "dommages", + -13.4346284866333 + ], + [ + "lideri", + -13.434730529785156 + ], + [ + "▁Millennium", + -13.435089111328125 + ], + [ + "▁imprisonment", + -13.435089111328125 + ], + [ + "machining", + -13.435111999511719 + ], + [ + "▁anxiet", + -13.43521499633789 + ], + [ + "Contains", + -13.435298919677734 + ], + [ + "pleade", + -13.435563087463379 + ], + [ + "DOWN", + -13.43564510345459 + ], + [ + "geschehen", + -13.435797691345215 + ], + [ + "restaurant", + -13.435811996459961 + ], + [ + "Totusi", + -13.435839653015137 + ], + [ + "amintesc", + -13.436158180236816 + ], + [ + "▁Crisp", + -13.436233520507812 + ], + [ + "aduse", + -13.436278343200684 + ], + [ + "▁imposé", + -13.436351776123047 + ], + [ + "Jubiläum", + -13.436490058898926 + ], + [ + "▁Plaintiff", + -13.436491012573242 + ], + [ + "▁authoritative", + -13.436491966247559 + ], + [ + "▁rendition", + -13.436633110046387 + ], + [ + "Royce", + -13.436707496643066 + ], + [ + "1996)", + -13.436724662780762 + ], + [ + "Asociația", + -13.437192916870117 + ], + [ + "▁Gluten", + -13.437264442443848 + ], + [ + "feature", + -13.43741226196289 + ], + [ + "Behavioral", + -13.437454223632812 + ], + [ + "tearing", + -13.437763214111328 + ], + [ + "▁Entfernung", + -13.437894821166992 + ], + [ + "▁Responsibility", + -13.437894821166992 + ], + [ + "▁negligent", + -13.437894821166992 + ], + [ + "▁syllabus", + -13.437894821166992 + ], + [ + "▁Cycling", + -13.437895774841309 + ], + [ + "generell", + -13.438114166259766 + ], + [ + "customised", + -13.438392639160156 + ], + [ + "Management", + -13.43850326538086 + ], + [ + "▁timid", + -13.438518524169922 + ], + [ + "Tagged", + -13.438730239868164 + ], + [ + "▁susţinut", + -13.438809394836426 + ], + [ + "anchored", + -13.43892765045166 + ], + [ + "alternating", + -13.439055442810059 + ], + [ + "▁obligatoriu", + -13.439300537109375 + ], + [ + "▁reinstate", + -13.439456939697266 + ], + [ + "Können", + -13.43946361541748 + ], + [ + "▁Paol", + -13.439596176147461 + ], + [ + "öhr", + -13.439603805541992 + ], + [ + "▁Asociati", + -13.439876556396484 + ], + [ + "▁commenc", + -13.440285682678223 + ], + [ + "reinigt", + -13.440293312072754 + ], + [ + "commended", + -13.440350532531738 + ], + [ + "▁Proceed", + -13.440675735473633 + ], + [ + "beutel", + -13.440702438354492 + ], + [ + "▁Experimental", + -13.44070816040039 + ], + [ + "▁constellation", + -13.44070816040039 + ], + [ + "▁gepflegt", + -13.44070816040039 + ], + [ + "▁Ergänzung", + -13.440709114074707 + ], + [ + "Judith", + -13.440713882446289 + ], + [ + "▁Quartet", + -13.440720558166504 + ], + [ + "complemented", + -13.440742492675781 + ], + [ + "ausbildung", + -13.440750122070312 + ], + [ + "▁uncertainties", + -13.44077205657959 + ], + [ + "▁humiliat", + -13.440914154052734 + ], + [ + "luta", + -13.441121101379395 + ], + [ + "▁complexion", + -13.441482543945312 + ], + [ + "Serviciul", + -13.441612243652344 + ], + [ + "▁Toast", + -13.441722869873047 + ], + [ + "ummies", + -13.442425727844238 + ], + [ + "▁irit", + -13.442463874816895 + ], + [ + "producing", + -13.442585945129395 + ], + [ + "amenajare", + -13.442825317382812 + ], + [ + "▁béton", + -13.442828178405762 + ], + [ + "▁serpent", + -13.442851066589355 + ], + [ + "▁vizită", + -13.442996978759766 + ], + [ + "▁Beamte", + -13.443017959594727 + ], + [ + "▁Füße", + -13.443166732788086 + ], + [ + "▁Norwich", + -13.443531036376953 + ], + [ + "▁acronym", + -13.443531036376953 + ], + [ + "▁eradicate", + -13.443531036376953 + ], + [ + "▁solidarité", + -13.44353199005127 + ], + [ + "▁eggplant", + -13.443582534790039 + ], + [ + "▁sailors", + -13.443619728088379 + ], + [ + "waschen", + -13.444538116455078 + ], + [ + "Editura", + -13.444757461547852 + ], + [ + "▁erwerben", + -13.444944381713867 + ], + [ + "▁unconventional", + -13.444944381713867 + ], + [ + "▁boulder", + -13.444948196411133 + ], + [ + "Diplom", + -13.445013046264648 + ], + [ + "influx", + -13.446162223815918 + ], + [ + "▁Twelve", + -13.446361541748047 + ], + [ + "▁Sexual", + -13.44636344909668 + ], + [ + "numite", + -13.446369171142578 + ], + [ + "▁kontaktieren", + -13.446370124816895 + ], + [ + "▁strâns", + -13.44637680053711 + ], + [ + "▁précisément", + -13.446382522583008 + ], + [ + "empfindlich", + -13.446405410766602 + ], + [ + "▁divulg", + -13.446490287780762 + ], + [ + "▁delicat", + -13.446539878845215 + ], + [ + "compete", + -13.446542739868164 + ], + [ + "▁implique", + -13.446616172790527 + ], + [ + "implantation", + -13.44672966003418 + ], + [ + "frères", + -13.447328567504883 + ], + [ + "shedding", + -13.44758415222168 + ], + [ + "découvrez", + -13.447657585144043 + ], + [ + "rith", + -13.447735786437988 + ], + [ + "▁réglementation", + -13.447778701782227 + ], + [ + "▁transistor", + -13.447785377502441 + ], + [ + "inflated", + -13.447792053222656 + ], + [ + "▁Bluff", + -13.447887420654297 + ], + [ + "▁Aquarium", + -13.448526382446289 + ], + [ + "▁mananc", + -13.448638916015625 + ], + [ + "▁disinfect", + -13.448700904846191 + ], + [ + "tuft", + -13.448740005493164 + ], + [ + "Public", + -13.449081420898438 + ], + [ + "conceivabl", + -13.449197769165039 + ], + [ + "▁Cadillac", + -13.449197769165039 + ], + [ + "Assassin", + -13.449199676513672 + ], + [ + "issuance", + -13.449252128601074 + ], + [ + "▁Achtung", + -13.449287414550781 + ], + [ + "▁grundlegend", + -13.449909210205078 + ], + [ + "▁Băsescu", + -13.449910163879395 + ], + [ + "schaden", + -13.45014476776123 + ], + [ + "coached", + -13.450409889221191 + ], + [ + "▁betreffend", + -13.45046329498291 + ], + [ + "ergebnis", + -13.450541496276855 + ], + [ + "▁Lieutenant", + -13.4506196975708 + ], + [ + "WORLD", + -13.450620651245117 + ], + [ + "▁Moroccan", + -13.450620651245117 + ], + [ + "▁Butterfly", + -13.450621604919434 + ], + [ + "would", + -13.450737953186035 + ], + [ + "▁Metropol", + -13.451025009155273 + ], + [ + "lexic", + -13.451192855834961 + ], + [ + "comunitatea", + -13.45124340057373 + ], + [ + "vapeur", + -13.451456069946289 + ], + [ + "4.000", + -13.451559066772461 + ], + [ + "Pentru", + -13.451581954956055 + ], + [ + "üblichen", + -13.451613426208496 + ], + [ + "▁Général", + -13.451770782470703 + ], + [ + "▁Versailles", + -13.452046394348145 + ], + [ + "▁engraving", + -13.452046394348145 + ], + [ + "▁pédagogique", + -13.452192306518555 + ], + [ + "▁Policies", + -13.452759742736816 + ], + [ + "descending", + -13.453235626220703 + ], + [ + "stärkt", + -13.453349113464355 + ], + [ + "▁démocratie", + -13.453470230102539 + ], + [ + "▁granddaughter", + -13.453470230102539 + ], + [ + "▁buffalo", + -13.453474998474121 + ], + [ + "Datorita", + -13.45347785949707 + ], + [ + "hydroxy", + -13.453537940979004 + ], + [ + "▁ganduri", + -13.453566551208496 + ], + [ + "▁hijack", + -13.453624725341797 + ], + [ + "zahn", + -13.453699111938477 + ], + [ + "poziția", + -13.45406436920166 + ], + [ + "▁Zähne", + -13.454184532165527 + ], + [ + "▁grossesse", + -13.454296112060547 + ], + [ + "embassy", + -13.4548978805542 + ], + [ + "▁cérémonie", + -13.4548978805542 + ], + [ + "Rhône", + -13.454898834228516 + ], + [ + "▁Cabernet", + -13.454898834228516 + ], + [ + "▁Namibia", + -13.454902648925781 + ], + [ + "▁pedestal", + -13.454902648925781 + ], + [ + "▁Fighting", + -13.45490550994873 + ], + [ + "▁Threat", + -13.454962730407715 + ], + [ + "▁ideological", + -13.455047607421875 + ], + [ + "▁restitu", + -13.455183029174805 + ], + [ + "gelangt", + -13.455510139465332 + ], + [ + "Mitgliedern", + -13.455537796020508 + ], + [ + "acquérir", + -13.455613136291504 + ], + [ + "▁inferioar", + -13.45561695098877 + ], + [ + "Thierry", + -13.455619812011719 + ], + [ + "▁Entspannung", + -13.455638885498047 + ], + [ + "frequency", + -13.45566177368164 + ], + [ + "▁Fluid", + -13.455686569213867 + ], + [ + "▁betreut", + -13.455901145935059 + ], + [ + "Biological", + -13.455965995788574 + ], + [ + "▁Constanţa", + -13.456328392028809 + ], + [ + "▁beschäftigen", + -13.456328392028809 + ], + [ + "▁undesirable", + -13.456328392028809 + ], + [ + "▁protégé", + -13.456365585327148 + ], + [ + "▁nautical", + -13.456474304199219 + ], + [ + "▁sniff", + -13.456507682800293 + ], + [ + "Decizi", + -13.456510543823242 + ], + [ + "▁căldur", + -13.45706558227539 + ], + [ + "▁ideologi", + -13.457335472106934 + ], + [ + "Fraktion", + -13.457545280456543 + ], + [ + "collegiate", + -13.45776081085205 + ], + [ + "▁sănătos", + -13.45776081085205 + ], + [ + "▁Observatory", + -13.45776653289795 + ], + [ + "▁saturation", + -13.457769393920898 + ], + [ + "organizate", + -13.457771301269531 + ], + [ + "mergem", + -13.458321571350098 + ], + [ + "Publish", + -13.458451271057129 + ], + [ + "▁rattle", + -13.458460807800293 + ], + [ + "▁întâlniri", + -13.458663940429688 + ], + [ + "emporte", + -13.458741188049316 + ], + [ + "▁înscris", + -13.459046363830566 + ], + [ + "▁Patterson", + -13.459195137023926 + ], + [ + "▁ehrenamtlich", + -13.459195137023926 + ], + [ + "linux", + -13.459213256835938 + ], + [ + "conduire", + -13.45921802520752 + ], + [ + "▁absolven", + -13.459223747253418 + ], + [ + "▁einzigartig", + -13.459598541259766 + ], + [ + "▁_____", + -13.459803581237793 + ], + [ + "▁Beschäftigung", + -13.459912300109863 + ], + [ + "▁erfasst", + -13.459927558898926 + ], + [ + "▁Datum", + -13.459992408752441 + ], + [ + "raportul", + -13.460284233093262 + ], + [ + "ennemi", + -13.460460662841797 + ], + [ + "default", + -13.460643768310547 + ], + [ + "icillin", + -13.46066951751709 + ], + [ + "▁diamant", + -13.460671424865723 + ], + [ + "amerika", + -13.460684776306152 + ], + [ + "▁pescuit", + -13.46070384979248 + ], + [ + "▁grappl", + -13.460797309875488 + ], + [ + "▁Homeland", + -13.46082592010498 + ], + [ + "▁tromb", + -13.46112060546875 + ], + [ + "▁reduzieren", + -13.461349487304688 + ], + [ + "▁Statut", + -13.461593627929688 + ], + [ + "booming", + -13.461670875549316 + ], + [ + "fenced", + -13.461723327636719 + ], + [ + "measure", + -13.461888313293457 + ], + [ + "témoin", + -13.462069511413574 + ], + [ + "▁Inventory", + -13.462069511413574 + ], + [ + "▁circonstance", + -13.462069511413574 + ], + [ + "▁téléphonique", + -13.462069511413574 + ], + [ + "▁împiedic", + -13.46207046508789 + ], + [ + "▁Settlement", + -13.462072372436523 + ], + [ + "kannte", + -13.462076187133789 + ], + [ + "▁substantive", + -13.462385177612305 + ], + [ + "miterea", + -13.462642669677734 + ], + [ + "▁noştri", + -13.462790489196777 + ], + [ + "▁plăcere", + -13.462791442871094 + ], + [ + "▁eticheta", + -13.462823867797852 + ], + [ + "quickest", + -13.462993621826172 + ], + [ + "▁pasageri", + -13.463089942932129 + ], + [ + "▁Publi", + -13.463495254516602 + ], + [ + "▁Suzanne", + -13.463509559631348 + ], + [ + "▁bucătări", + -13.463509559631348 + ], + [ + "Regulatory", + -13.463510513305664 + ], + [ + "▁Mandarin", + -13.463647842407227 + ], + [ + "surgical", + -13.463947296142578 + ], + [ + "▁Smash", + -13.463950157165527 + ], + [ + "▁mândr", + -13.46403694152832 + ], + [ + "▁Unterkunft", + -13.464315414428711 + ], + [ + "moos", + -13.464374542236328 + ], + [ + "Camere", + -13.464510917663574 + ], + [ + "/03/", + -13.464651107788086 + ], + [ + "▁ethno", + -13.464677810668945 + ], + [ + "▁Eröffnung", + -13.46495246887207 + ], + [ + "▁Snyder", + -13.46495246887207 + ], + [ + "▁Wilmington", + -13.46495246887207 + ], + [ + "▁Canberra", + -13.464953422546387 + ], + [ + "▁Tahoe", + -13.464953422546387 + ], + [ + "▁slippery", + -13.464953422546387 + ], + [ + "▁Snake", + -13.464957237243652 + ], + [ + "▁turmeric", + -13.464963912963867 + ], + [ + "▁Cartoon", + -13.46499252319336 + ], + [ + "▁scrisoare", + -13.46500015258789 + ], + [ + "▁reprend", + -13.465425491333008 + ], + [ + "▁Konkurrenz", + -13.46567440032959 + ], + [ + "▁raisins", + -13.465693473815918 + ], + [ + "▁Werkstatt", + -13.465713500976562 + ], + [ + "▁agresiv", + -13.465795516967773 + ], + [ + "hugs", + -13.46615219116211 + ], + [ + "cazurile", + -13.46618938446045 + ], + [ + "spirited", + -13.466232299804688 + ], + [ + "▁britisch", + -13.466307640075684 + ], + [ + "spritz", + -13.466367721557617 + ], + [ + "auxiliary", + -13.46639633178711 + ], + [ + "interprétation", + -13.46639633178711 + ], + [ + "▁verbindet", + -13.46639633178711 + ], + [ + "▁fuzzy", + -13.466429710388184 + ], + [ + "▁turmoil", + -13.466432571411133 + ], + [ + "▁redefine", + -13.466819763183594 + ], + [ + "▁Kiwi", + -13.466890335083008 + ], + [ + "oiseaux", + -13.46712875366211 + ], + [ + "▁pamper", + -13.467146873474121 + ], + [ + "▁desfaso", + -13.46719741821289 + ], + [ + "▁pragu", + -13.467576026916504 + ], + [ + "prevenirea", + -13.467730522155762 + ], + [ + "▁convergence", + -13.467846870422363 + ], + [ + "tufted", + -13.467878341674805 + ], + [ + "brewed", + -13.467981338500977 + ], + [ + "villagers", + -13.468003273010254 + ], + [ + "▁Irving", + -13.468170166015625 + ], + [ + "nigsten", + -13.468660354614258 + ], + [ + "▁embod", + -13.468742370605469 + ], + [ + "Alicia", + -13.468938827514648 + ], + [ + "probably", + -13.469009399414062 + ], + [ + "divider", + -13.46904468536377 + ], + [ + "Attempt", + -13.469223022460938 + ], + [ + "▁Cognitive", + -13.469292640686035 + ], + [ + "▁Recognition", + -13.469292640686035 + ], + [ + "▁concierge", + -13.469292640686035 + ], + [ + "▁Semester", + -13.4692964553833 + ], + [ + "Economie", + -13.469417572021484 + ], + [ + "sortiment", + -13.469460487365723 + ], + [ + "shortest", + -13.46961498260498 + ], + [ + "üchtig", + -13.469650268554688 + ], + [ + "▁conveyanc", + -13.469978332519531 + ], + [ + "▁Ferdinand", + -13.470017433166504 + ], + [ + "▁permanence", + -13.470019340515137 + ], + [ + "▁incadr", + -13.470145225524902 + ], + [ + "▁estrogen", + -13.470290184020996 + ], + [ + "February", + -13.470661163330078 + ], + [ + "gedeckt", + -13.470704078674316 + ], + [ + "▁reagieren", + -13.470743179321289 + ], + [ + "▁meditate", + -13.470980644226074 + ], + [ + "simulated", + -13.471010208129883 + ], + [ + "▁supprimer", + -13.471468925476074 + ], + [ + "▁bumbac", + -13.47146987915039 + ], + [ + "▁vânzări", + -13.471477508544922 + ], + [ + "▁Kapitel", + -13.471478462219238 + ], + [ + "▁Weltkrieg", + -13.471513748168945 + ], + [ + "déposer", + -13.471674919128418 + ], + [ + "Asus", + -13.4718017578125 + ], + [ + "▁Communicat", + -13.471851348876953 + ], + [ + "Finished", + -13.47188949584961 + ], + [ + "▁Telegraph", + -13.472054481506348 + ], + [ + "▁Competitive", + -13.472196578979492 + ], + [ + "▁collectivités", + -13.472197532653809 + ], + [ + "▁protège", + -13.472199440002441 + ], + [ + "▁scallop", + -13.472219467163086 + ], + [ + "Happy", + -13.472335815429688 + ], + [ + "tehnică", + -13.472352981567383 + ], + [ + "▁Gestalt", + -13.47270393371582 + ], + [ + "▁benign", + -13.47295093536377 + ], + [ + "kraut", + -13.473149299621582 + ], + [ + "louer", + -13.473221778869629 + ], + [ + "▁Printr", + -13.47326946258545 + ], + [ + "mputation", + -13.473346710205078 + ], + [ + "▁dicke", + -13.473429679870605 + ], + [ + "▁Halifax", + -13.473650932312012 + ], + [ + "▁bounty", + -13.473650932312012 + ], + [ + "▁cauliflower", + -13.473650932312012 + ], + [ + "▁Survival", + -13.473654747009277 + ], + [ + "▁Chandler", + -13.473684310913086 + ], + [ + "▁bemüh", + -13.473760604858398 + ], + [ + "phro", + -13.473855972290039 + ], + [ + "Friday", + -13.474018096923828 + ], + [ + "particularly", + -13.474032402038574 + ], + [ + "arteries", + -13.474197387695312 + ], + [ + "Lösung", + -13.474771499633789 + ], + [ + "▁causal", + -13.474817276000977 + ], + [ + "▁recueilli", + -13.475075721740723 + ], + [ + "Stylish", + -13.47510814666748 + ], + [ + "schränke", + -13.47510814666748 + ], + [ + "▁francophone", + -13.47510814666748 + ], + [ + "▁limousine", + -13.47510814666748 + ], + [ + "▁statistiques", + -13.47510814666748 + ], + [ + "▁Kleider", + -13.475111961364746 + ], + [ + "▁dunkel", + -13.475127220153809 + ], + [ + "tätigkeit", + -13.475190162658691 + ], + [ + "▁punished", + -13.475257873535156 + ], + [ + "▁implică", + -13.475539207458496 + ], + [ + "▁inițial", + -13.475568771362305 + ], + [ + "▁Eminescu", + -13.475837707519531 + ], + [ + "▁expliqué", + -13.475837707519531 + ], + [ + "▁Eduard", + -13.475839614868164 + ], + [ + "▁psychologique", + -13.475870132446289 + ], + [ + "▁protejeaz", + -13.476580619812012 + ], + [ + "spül", + -13.476709365844727 + ], + [ + "▁Virtu", + -13.477021217346191 + ], + [ + "▁régulière", + -13.477044105529785 + ], + [ + "▁Outreach", + -13.477130889892578 + ], + [ + "▁Apprentice", + -13.47729778289795 + ], + [ + "▁compréhension", + -13.47729778289795 + ], + [ + "▁zwölf", + -13.47729778289795 + ], + [ + "Surgical", + -13.477315902709961 + ], + [ + "latéral", + -13.477417945861816 + ], + [ + "▁Ceremony", + -13.47803020477295 + ], + [ + "▁Shampoo", + -13.47803783416748 + ], + [ + "Global", + -13.478239059448242 + ], + [ + "▁paradis", + -13.478302955627441 + ], + [ + "Developed", + -13.478493690490723 + ], + [ + "▁figurine", + -13.478549003601074 + ], + [ + "sujets", + -13.478574752807617 + ], + [ + "▁Naomi", + -13.478772163391113 + ], + [ + "financed", + -13.478838920593262 + ], + [ + "forestry", + -13.478896141052246 + ], + [ + "▁Anregung", + -13.479494094848633 + ], + [ + "▁spectateur", + -13.479804039001465 + ], + [ + "▁exercitii", + -13.479815483093262 + ], + [ + "▁russisch", + -13.479888916015625 + ], + [ + "gefunden", + -13.479988098144531 + ], + [ + "schleunig", + -13.480225563049316 + ], + [ + "▁géographique", + -13.480225563049316 + ], + [ + "▁Delphi", + -13.480317115783691 + ], + [ + "Freddie", + -13.4806489944458 + ], + [ + "▁muzici", + -13.480958938598633 + ], + [ + "▁Edmund", + -13.48095989227295 + ], + [ + "finanzielle", + -13.481032371520996 + ], + [ + "(2003)", + -13.481319427490234 + ], + [ + "accentuate", + -13.481437683105469 + ], + [ + "overlapping", + -13.48151969909668 + ], + [ + "▁Pluto", + -13.481595993041992 + ], + [ + "românii", + -13.481683731079102 + ], + [ + "▁Timişoara", + -13.48169231414795 + ], + [ + "▁poivr", + -13.481754302978516 + ], + [ + "▁repris", + -13.481852531433105 + ], + [ + "▁Geschlecht", + -13.482426643371582 + ], + [ + "▁thieves", + -13.482426643371582 + ], + [ + "▁Transformer", + -13.482431411743164 + ], + [ + "▁shortcomings", + -13.482438087463379 + ], + [ + "▁aptitude", + -13.48244571685791 + ], + [ + "pitfalls", + -13.482468605041504 + ], + [ + "▁manicure", + -13.482577323913574 + ], + [ + "mystical", + -13.482723236083984 + ], + [ + "▁abolish", + -13.482833862304688 + ], + [ + "▁Zielgruppe", + -13.482873916625977 + ], + [ + "▁naţionale", + -13.483160972595215 + ], + [ + "▁trandafir", + -13.483160972595215 + ], + [ + "▁matematic", + -13.483193397521973 + ], + [ + "▁Hirsch", + -13.483257293701172 + ], + [ + "Fahr", + -13.483458518981934 + ], + [ + "connaissent", + -13.483476638793945 + ], + [ + "browned", + -13.483846664428711 + ], + [ + "▁bearbeitet", + -13.483881950378418 + ], + [ + "▁usturoi", + -13.483896255493164 + ], + [ + "▁Surprise", + -13.48389720916748 + ], + [ + "▁Tehran", + -13.483899116516113 + ], + [ + "▁BLACK", + -13.483901023864746 + ], + [ + "▁abonament", + -13.483904838562012 + ], + [ + "▁mêl", + -13.483972549438477 + ], + [ + "Angebot", + -13.484091758728027 + ], + [ + "ajungi", + -13.48410415649414 + ], + [ + "▁Woodland", + -13.48420524597168 + ], + [ + "▁gradini", + -13.484305381774902 + ], + [ + "▁Marilyn", + -13.48464584350586 + ], + [ + "kilometer", + -13.484880447387695 + ], + [ + "tempered", + -13.485230445861816 + ], + [ + "▁intimacy", + -13.485371589660645 + ], + [ + "▁thunderstorm", + -13.485373497009277 + ], + [ + "▁Uttar", + -13.485413551330566 + ], + [ + "▁varnish", + -13.485535621643066 + ], + [ + "opathie", + -13.485982894897461 + ], + [ + "▁școlar", + -13.48611068725586 + ], + [ + "▁raisonnable", + -13.486114501953125 + ], + [ + "proactively", + -13.486490249633789 + ], + [ + "▁gib", + -13.486536979675293 + ], + [ + "▁hospice", + -13.48684310913086 + ], + [ + "▁constă", + -13.486896514892578 + ], + [ + "▁Crescent", + -13.48690128326416 + ], + [ + "▁ambasad", + -13.486933708190918 + ], + [ + "hotărâre", + -13.486969947814941 + ], + [ + "▁fraîche", + -13.48709774017334 + ], + [ + "▁bundesweit", + -13.487581253051758 + ], + [ + "nsbesondere", + -13.487812042236328 + ], + [ + "▁intoarce", + -13.487863540649414 + ], + [ + "▁Schokolade", + -13.488319396972656 + ], + [ + "▁adjective", + -13.488319396972656 + ], + [ + "▁incalzire", + -13.488319396972656 + ], + [ + "▁Qualification", + -13.488320350646973 + ], + [ + "▁Bolivia", + -13.488324165344238 + ], + [ + "▁cruelty", + -13.488334655761719 + ], + [ + "pläne", + -13.48834228515625 + ], + [ + "▁solitude", + -13.488354682922363 + ], + [ + "▁Bosnia", + -13.488568305969238 + ], + [ + "rohr", + -13.488643646240234 + ], + [ + "▁regrette", + -13.48877239227295 + ], + [ + "zusammengestellt", + -13.48924732208252 + ], + [ + "▁Kardashian", + -13.489798545837402 + ], + [ + "▁Picasso", + -13.489798545837402 + ], + [ + "▁unverbindlich", + -13.489798545837402 + ], + [ + "▁Headquarters", + -13.489799499511719 + ], + [ + "métrage", + -13.4898099899292 + ], + [ + "▁Magento", + -13.489816665649414 + ], + [ + "▁exhibitors", + -13.489898681640625 + ], + [ + "utty", + -13.490381240844727 + ], + [ + "▁Fünf", + -13.490538597106934 + ], + [ + "▁Peugeot", + -13.490538597106934 + ], + [ + "▁verdienen", + -13.490538597106934 + ], + [ + "▁absolviert", + -13.49053955078125 + ], + [ + "schutzerklärung", + -13.490679740905762 + ], + [ + "sistemele", + -13.49089241027832 + ], + [ + "▁concrète", + -13.491279602050781 + ], + [ + "▁rhyme", + -13.491279602050781 + ], + [ + "▁Continuous", + -13.49128246307373 + ], + [ + "versprechen", + -13.491312026977539 + ], + [ + "▁Melanie", + -13.49202823638916 + ], + [ + "▁clienţi", + -13.492046356201172 + ], + [ + "luckily", + -13.492205619812012 + ], + [ + "▁counterfeit", + -13.492762565612793 + ], + [ + "▁locomotive", + -13.492889404296875 + ], + [ + "▁reacți", + -13.492908477783203 + ], + [ + "ampered", + -13.493005752563477 + ], + [ + "atenția", + -13.493011474609375 + ], + [ + "Suppose", + -13.493062973022461 + ], + [ + "hinweis", + -13.493464469909668 + ], + [ + "verletzung", + -13.493504524230957 + ], + [ + "▁mănânc", + -13.493504524230957 + ], + [ + "▁provoac", + -13.493507385253906 + ], + [ + "▁regizor", + -13.493511199951172 + ], + [ + "kundig", + -13.49352741241455 + ], + [ + "embarqu", + -13.493584632873535 + ], + [ + "Radio", + -13.493690490722656 + ], + [ + "Ministrul", + -13.493896484375 + ], + [ + "weakened", + -13.494214057922363 + ], + [ + "▁translucent", + -13.494247436523438 + ], + [ + "George", + -13.494380950927734 + ], + [ + "▁bacterii", + -13.494402885437012 + ], + [ + "intervalul", + -13.494803428649902 + ], + [ + "▁vizualiz", + -13.494832038879395 + ], + [ + "▁Feuchtigkeit", + -13.494991302490234 + ], + [ + "▁choisissez", + -13.494991302490234 + ], + [ + "▁plausible", + -13.494991302490234 + ], + [ + "▁perpetu", + -13.495122909545898 + ], + [ + "▁bucati", + -13.495194435119629 + ], + [ + "▁Giovanni", + -13.495735168457031 + ], + [ + "▁bluetooth", + -13.495736122131348 + ], + [ + "▁translating", + -13.49573802947998 + ], + [ + "▁Kyoto", + -13.495739936828613 + ], + [ + "▁homosexual", + -13.495745658874512 + ], + [ + "treabă", + -13.495820045471191 + ], + [ + "ntrepid", + -13.495983123779297 + ], + [ + "▁fachlich", + -13.496664047241211 + ], + [ + "Vaccin", + -13.496774673461914 + ], + [ + "▁Treib", + -13.497248649597168 + ], + [ + "varsity", + -13.497272491455078 + ], + [ + "▁Tavern", + -13.497278213500977 + ], + [ + "▁ensue", + -13.497330665588379 + ], + [ + "flexibel", + -13.497971534729004 + ], + [ + "retrieved", + -13.498102188110352 + ], + [ + "traditionellen", + -13.498230934143066 + ], + [ + "▁circulati", + -13.498546600341797 + ], + [ + "▁Diagnose", + -13.498717308044434 + ], + [ + "▁Strawberry", + -13.498717308044434 + ], + [ + "Societatea", + -13.49871826171875 + ], + [ + "expertise", + -13.498849868774414 + ], + [ + "▁naturii", + -13.499464988708496 + ], + [ + "▁4:1", + -13.499515533447266 + ], + [ + "Frequently", + -13.500210762023926 + ], + [ + "disproportionate", + -13.500210762023926 + ], + [ + "▁LIMITED", + -13.500210762023926 + ], + [ + "▁ancestral", + -13.500227928161621 + ], + [ + "▁Logistik", + -13.500237464904785 + ], + [ + "▁recolt", + -13.50042724609375 + ], + [ + "▁liebevoll", + -13.500436782836914 + ], + [ + "importing", + -13.500452041625977 + ], + [ + "aparatul", + -13.500458717346191 + ], + [ + "poziţia", + -13.500564575195312 + ], + [ + "facerilor", + -13.500658988952637 + ], + [ + "Submitted", + -13.50086784362793 + ], + [ + "ografia", + -13.501221656799316 + ], + [ + "onformément", + -13.50168228149414 + ], + [ + "▁dissemination", + -13.501708030700684 + ], + [ + "afli", + -13.501834869384766 + ], + [ + "luminous", + -13.502154350280762 + ], + [ + "▁draußen", + -13.502456665039062 + ], + [ + "▁Zauber", + -13.502535820007324 + ], + [ + "▁Ibrahim", + -13.503207206726074 + ], + [ + "▁eruption", + -13.503216743469238 + ], + [ + "écrite", + -13.50357723236084 + ], + [ + "avril", + -13.503898620605469 + ], + [ + "Increasing", + -13.504171371459961 + ], + [ + "hingeg", + -13.504411697387695 + ], + [ + "fidelity", + -13.504707336425781 + ], + [ + "étonnant", + -13.504707336425781 + ], + [ + "▁créativité", + -13.504707336425781 + ], + [ + "▁Required", + -13.504708290100098 + ], + [ + "▁Edison", + -13.504719734191895 + ], + [ + "▁Stuhl", + -13.504719734191895 + ], + [ + "outhwestern", + -13.506060600280762 + ], + [ + "▁Beschwerden", + -13.506210327148438 + ], + [ + "▁angajaţi", + -13.506210327148438 + ], + [ + "▁Currency", + -13.506211280822754 + ], + [ + "▁reagiert", + -13.506214141845703 + ], + [ + "Science", + -13.506229400634766 + ], + [ + "hospital", + -13.506253242492676 + ], + [ + "professionellen", + -13.50649356842041 + ], + [ + "▁Trouve", + -13.506768226623535 + ], + [ + "▁utopi", + -13.50683307647705 + ], + [ + "gypte", + -13.506928443908691 + ], + [ + "▁Konsequenz", + -13.506962776184082 + ], + [ + "▁pacienți", + -13.506962776184082 + ], + [ + "▁orizont", + -13.506988525390625 + ], + [ + "Corey", + -13.506999015808105 + ], + [ + "▁quartet", + -13.507009506225586 + ], + [ + "▁Sherlock", + -13.50710678100586 + ], + [ + "▁gagné", + -13.507237434387207 + ], + [ + "▁Jusqu", + -13.50732707977295 + ], + [ + "▁Clickfunnel", + -13.507465362548828 + ], + [ + "Survivor", + -13.507716178894043 + ], + [ + "▁Beethoven", + -13.507716178894043 + ], + [ + "▁Exemplar", + -13.507716178894043 + ], + [ + "▁Gonzalez", + -13.507716178894043 + ], + [ + "▁Illustrator", + -13.507716178894043 + ], + [ + "▁Verpflichtung", + -13.507718086242676 + ], + [ + "Possibly", + -13.507719993591309 + ], + [ + "Maintenant", + -13.507721900939941 + ], + [ + "▁incendiu", + -13.507721900939941 + ], + [ + "▁poêl", + -13.507747650146484 + ], + [ + "▁aşez", + -13.507757186889648 + ], + [ + "phenol", + -13.508248329162598 + ], + [ + "▁magician", + -13.508421897888184 + ], + [ + "éventuellement", + -13.508512496948242 + ], + [ + "▁amortiz", + -13.508736610412598 + ], + [ + "bouchage", + -13.50873851776123 + ], + [ + "▁Accommodation", + -13.509223937988281 + ], + [ + "▁Significant", + -13.509223937988281 + ], + [ + "▁rejoice", + -13.509223937988281 + ], + [ + "▁Lorraine", + -13.509224891662598 + ], + [ + "▁Necklace", + -13.509234428405762 + ], + [ + "▁hamburger", + -13.509273529052734 + ], + [ + "Enhanced", + -13.5095796585083 + ], + [ + "▁Audrey", + -13.509978294372559 + ], + [ + "▁considère", + -13.509986877441406 + ], + [ + "hafen", + -13.51050853729248 + ], + [ + "acordare", + -13.510509490966797 + ], + [ + "▁ediți", + -13.51075553894043 + ], + [ + "▁militia", + -13.510767936706543 + ], + [ + "captivate", + -13.510771751403809 + ], + [ + "▁rebellion", + -13.510777473449707 + ], + [ + "▁veranstalte", + -13.510844230651855 + ], + [ + "▁matelas", + -13.510859489440918 + ], + [ + "originating", + -13.510873794555664 + ], + [ + "Typical", + -13.51092529296875 + ], + [ + "▁législat", + -13.511360168457031 + ], + [ + "▁Kräfte", + -13.511488914489746 + ], + [ + "▁Eigentümer", + -13.511489868164062 + ], + [ + "▁gonfl", + -13.511608123779297 + ], + [ + "dispoziție", + -13.512028694152832 + ], + [ + "▁Fabulous", + -13.512246131896973 + ], + [ + "▁Guillaume", + -13.512246131896973 + ], + [ + "▁Genuine", + -13.512247085571289 + ], + [ + "selbe", + -13.512449264526367 + ], + [ + "(2002)", + -13.512616157531738 + ], + [ + "Einen", + -13.512908935546875 + ], + [ + "▁Snapdragon", + -13.513002395629883 + ], + [ + "▁plagiarism", + -13.513002395629883 + ], + [ + "▁Rendez", + -13.513019561767578 + ], + [ + "▁înregistrare", + -13.513033866882324 + ], + [ + "probiert", + -13.513081550598145 + ], + [ + "gestiegen", + -13.513153076171875 + ], + [ + "Teatrul", + -13.513370513916016 + ], + [ + "trove", + -13.513469696044922 + ], + [ + "ntsprechend", + -13.513566017150879 + ], + [ + "Städten", + -13.513691902160645 + ], + [ + "unforeseen", + -13.513760566711426 + ], + [ + "▁Meridian", + -13.513761520385742 + ], + [ + "▁Ministries", + -13.513763427734375 + ], + [ + "plaît", + -13.513769149780273 + ], + [ + "▁Telefonnummer", + -13.513772010803223 + ], + [ + "welded", + -13.513788223266602 + ], + [ + "pondere", + -13.513976097106934 + ], + [ + "▁funcţiona", + -13.514012336730957 + ], + [ + "▁politicieni", + -13.514187812805176 + ], + [ + "fleck", + -13.514240264892578 + ], + [ + "▁Nitro", + -13.514264106750488 + ], + [ + "wettbewerb", + -13.514518737792969 + ], + [ + "▁ingrijire", + -13.514518737792969 + ], + [ + "▁Gehirn", + -13.514521598815918 + ], + [ + "sigură", + -13.514904022216797 + ], + [ + "400,000", + -13.515237808227539 + ], + [ + "▁cataract", + -13.515277862548828 + ], + [ + "outskirt", + -13.515280723571777 + ], + [ + "▁Identification", + -13.515287399291992 + ], + [ + "▁imperfections", + -13.515317916870117 + ], + [ + "▁Dokumentation", + -13.515474319458008 + ], + [ + "Engine", + -13.515851974487305 + ], + [ + "extindere", + -13.516046524047852 + ], + [ + "bijoux", + -13.516797065734863 + ], + [ + "▁dărui", + -13.516802787780762 + ], + [ + "▁Moderator", + -13.516913414001465 + ], + [ + "biblio", + -13.517024040222168 + ], + [ + "енн", + -13.517024040222168 + ], + [ + "▁Relevan", + -13.51728630065918 + ], + [ + "ansprüche", + -13.517557144165039 + ], + [ + "épaisseur", + -13.517580032348633 + ], + [ + "▁emoţi", + -13.517677307128906 + ], + [ + "exacerbate", + -13.518318176269531 + ], + [ + "▁Wimbledon", + -13.518318176269531 + ], + [ + "▁Pandora", + -13.518319129943848 + ], + [ + "perhaps", + -13.518725395202637 + ], + [ + "certify", + -13.518762588500977 + ], + [ + "Strukturen", + -13.5189208984375 + ], + [ + "▁Kreativität", + -13.519079208374023 + ], + [ + "schlägt", + -13.51908016204834 + ], + [ + "▁certifié", + -13.51911735534668 + ], + [ + "/09/", + -13.519211769104004 + ], + [ + "▁suprafaţ", + -13.519493103027344 + ], + [ + "verständnis", + -13.519841194152832 + ], + [ + "presedintele", + -13.519842147827148 + ], + [ + "▁orthopedic", + -13.519842147827148 + ], + [ + "▁superioara", + -13.519843101501465 + ], + [ + "älteste", + -13.519903182983398 + ], + [ + "▁conducător", + -13.520153999328613 + ], + [ + "supplementary", + -13.520243644714355 + ], + [ + "wetlands", + -13.520438194274902 + ], + [ + "▁suprafete", + -13.520605087280273 + ], + [ + "▁aparțin", + -13.520951271057129 + ], + [ + "analiză", + -13.521014213562012 + ], + [ + "Uneori", + -13.52115535736084 + ], + [ + "Toujours", + -13.521368026733398 + ], + [ + "▁Nairobi", + -13.521368026733398 + ], + [ + "▁asparagus", + -13.521368026733398 + ], + [ + "▁crowdfunding", + -13.521368026733398 + ], + [ + "gutachten", + -13.521369934082031 + ], + [ + "smelling", + -13.521659851074219 + ], + [ + "▁elektrisch", + -13.521718978881836 + ], + [ + "begging", + -13.522055625915527 + ], + [ + "▁Renewable", + -13.522896766662598 + ], + [ + "▁Trouble", + -13.522896766662598 + ], + [ + "▁devastated", + -13.522896766662598 + ], + [ + "▁remplacé", + -13.522896766662598 + ], + [ + "▁schmeckt", + -13.522896766662598 + ], + [ + "▁exerciți", + -13.523005485534668 + ], + [ + "▁vermute", + -13.523650169372559 + ], + [ + "▁Constanța", + -13.523661613464355 + ], + [ + "expunere", + -13.523693084716797 + ], + [ + "▁Fitzgerald", + -13.52442741394043 + ], + [ + "▁Mechanism", + -13.524429321289062 + ], + [ + "▁underscore", + -13.524484634399414 + ], + [ + "poziţie", + -13.524901390075684 + ], + [ + "stöbern", + -13.525193214416504 + ], + [ + "▁littérature", + -13.525193214416504 + ], + [ + "▁împrumut", + -13.525193214416504 + ], + [ + "Vision", + -13.525771141052246 + ], + [ + "▁overwhelm", + -13.525773048400879 + ], + [ + "▁erweitern", + -13.525959968566895 + ], + [ + "skeletal", + -13.525960922241211 + ], + [ + "▁terrified", + -13.525960922241211 + ], + [ + "aggravate", + -13.525962829589844 + ], + [ + "▁Malawi", + -13.525969505310059 + ], + [ + "▁neuroscience", + -13.526009559631348 + ], + [ + "trecută", + -13.526097297668457 + ], + [ + "▁maestr", + -13.52634334564209 + ], + [ + "нов", + -13.526555061340332 + ], + [ + "▁Cobb", + -13.52667236328125 + ], + [ + "▁Schwangerschaft", + -13.526727676391602 + ], + [ + "▁internationaux", + -13.526727676391602 + ], + [ + "▁entspannen", + -13.526729583740234 + ], + [ + "▁Früchte", + -13.52676773071289 + ], + [ + "mâine", + -13.526805877685547 + ], + [ + "stützt", + -13.526938438415527 + ], + [ + "flipped", + -13.527076721191406 + ], + [ + "Palatul", + -13.527252197265625 + ], + [ + "▁Gérard", + -13.527496337890625 + ], + [ + "▁Kensington", + -13.527498245239258 + ], + [ + "chargée", + -13.52807331085205 + ], + [ + "iolo", + -13.528203964233398 + ], + [ + "▁excesiv", + -13.52904987335205 + ], + [ + "▁Gymnas", + -13.52962875366211 + ], + [ + "▁optimise", + -13.529678344726562 + ], + [ + "possibilités", + -13.529717445373535 + ], + [ + "▁periculoas", + -13.529810905456543 + ], + [ + "mechanical", + -13.529839515686035 + ], + [ + "▁confruntă", + -13.529868125915527 + ], + [ + "quatrième", + -13.530573844909668 + ], + [ + "▁Preservation", + -13.530573844909668 + ], + [ + "▁Juventus", + -13.530574798583984 + ], + [ + "vorsitzende", + -13.5305757522583 + ], + [ + "électora", + -13.530586242675781 + ], + [ + "▁fascinant", + -13.53061580657959 + ], + [ + "▁lagoon", + -13.530671119689941 + ], + [ + "referencing", + -13.53079605102539 + ], + [ + "appointed", + -13.530988693237305 + ], + [ + "Audible", + -13.531112670898438 + ], + [ + "sighted", + -13.531612396240234 + ], + [ + "▁gewünscht", + -13.532061576843262 + ], + [ + "▁Expedition", + -13.532115936279297 + ], + [ + "▁genunchi", + -13.532115936279297 + ], + [ + "▁PROVIDE", + -13.53211784362793 + ], + [ + "▁rosemary", + -13.532118797302246 + ], + [ + "▁cleanliness", + -13.532130241394043 + ], + [ + "commanded", + -13.53223991394043 + ], + [ + "ältere", + -13.532530784606934 + ], + [ + "ност", + -13.532547950744629 + ], + [ + "kühlen", + -13.532917976379395 + ], + [ + "mettez", + -13.533548355102539 + ], + [ + "connaitre", + -13.533661842346191 + ], + [ + "Qaeda", + -13.533662796020508 + ], + [ + "▁traumhaft", + -13.53366470336914 + ], + [ + "kommst", + -13.533666610717773 + ], + [ + "▁Abbott", + -13.533669471740723 + ], + [ + "▁Fool", + -13.533686637878418 + ], + [ + "▁médaill", + -13.533687591552734 + ], + [ + "▁genotyp", + -13.533693313598633 + ], + [ + "▁Fälle", + -13.53375244140625 + ], + [ + "▁actuator", + -13.533843994140625 + ], + [ + "CLASS", + -13.534042358398438 + ], + [ + "progressively", + -13.534421920776367 + ], + [ + "negative", + -13.53469467163086 + ], + [ + "bundled", + -13.535009384155273 + ], + [ + "▁dezbatere", + -13.535208702087402 + ], + [ + "kamagra", + -13.535237312316895 + ], + [ + "gardinen", + -13.535250663757324 + ], + [ + "unsecured", + -13.535271644592285 + ], + [ + "Assisted", + -13.535298347473145 + ], + [ + "Gymnasium", + -13.535386085510254 + ], + [ + "▁brusc", + -13.535591125488281 + ], + [ + "prinzip", + -13.535655975341797 + ], + [ + "Torrent", + -13.535964965820312 + ], + [ + "Presented", + -13.535967826843262 + ], + [ + "▁impressionnant", + -13.53628921508789 + ], + [ + "charakter", + -13.536758422851562 + ], + [ + "▁Acoustic", + -13.536762237548828 + ], + [ + "▁appartient", + -13.536763191223145 + ], + [ + "gesteuert", + -13.536879539489746 + ], + [ + "▁condiți", + -13.537089347839355 + ], + [ + "authentic", + -13.537313461303711 + ], + [ + "▁Erholung", + -13.537534713745117 + ], + [ + "▁Veranstalter", + -13.537534713745117 + ], + [ + "▁Filial", + -13.537665367126465 + ], + [ + "ruhigen", + -13.537714958190918 + ], + [ + "symptôme", + -13.538311004638672 + ], + [ + "▁Efficiency", + -13.538311004638672 + ], + [ + "▁stunned", + -13.538311004638672 + ], + [ + "▁sympathique", + -13.538311004638672 + ], + [ + "Uploaded", + -13.538352966308594 + ], + [ + "▁geistig", + -13.538453102111816 + ], + [ + "Pläne", + -13.538509368896484 + ], + [ + "▁Apartament", + -13.53855037689209 + ], + [ + "▁ușoar", + -13.539119720458984 + ], + [ + "▁locuinț", + -13.539122581481934 + ], + [ + "épouse", + -13.539166450500488 + ], + [ + "îngrijire", + -13.539215087890625 + ], + [ + "Obtain", + -13.539261817932129 + ], + [ + "Detect", + -13.539590835571289 + ], + [ + "▁Dumitru", + -13.539865493774414 + ], + [ + "▁refrigeration", + -13.539865493774414 + ], + [ + "ärztliche", + -13.539881706237793 + ], + [ + "efficiency", + -13.540032386779785 + ], + [ + "▁snail", + -13.540328979492188 + ], + [ + "gelände", + -13.540419578552246 + ], + [ + "expected", + -13.540620803833008 + ], + [ + "kompetenz", + -13.540643692016602 + ], + [ + "▁sfânt", + -13.540643692016602 + ], + [ + "océan", + -13.540685653686523 + ], + [ + "▁Plasma", + -13.540717124938965 + ], + [ + "▁vulgar", + -13.54075813293457 + ], + [ + "▁slump", + -13.541083335876465 + ], + [ + "autoimmune", + -13.541422843933105 + ], + [ + "▁Cynthia", + -13.541422843933105 + ], + [ + "▁dimineaţ", + -13.541422843933105 + ], + [ + "▁whimsical", + -13.541422843933105 + ], + [ + "▁evaporate", + -13.541488647460938 + ], + [ + "▁calorii", + -13.54186725616455 + ], + [ + "portion", + -13.54187297821045 + ], + [ + "crowned", + -13.5419282913208 + ], + [ + "▁întâmpin", + -13.54220199584961 + ], + [ + "▁Centenar", + -13.542620658874512 + ], + [ + "▁Genehmigung", + -13.54298210144043 + ], + [ + "▁Wahrscheinlich", + -13.54298210144043 + ], + [ + "▁accompaniment", + -13.54298210144043 + ], + [ + "▁Negoti", + -13.542984962463379 + ], + [ + "▁Vanilla", + -13.543000221252441 + ], + [ + "▁Receiv", + -13.543014526367188 + ], + [ + "▁bestseller", + -13.543052673339844 + ], + [ + "tendons", + -13.543069839477539 + ], + [ + "Reilly", + -13.543192863464355 + ], + [ + "▁refroidi", + -13.543731689453125 + ], + [ + "▁überrascht", + -13.543763160705566 + ], + [ + "Gitarre", + -13.543828964233398 + ], + [ + "wände", + -13.544173240661621 + ], + [ + "veniturile", + -13.544321060180664 + ], + [ + "▁portofoliu", + -13.54454517364502 + ], + [ + "▁temporaire", + -13.54454517364502 + ], + [ + "▁Dawson", + -13.544546127319336 + ], + [ + "foreseeable", + -13.544547080993652 + ], + [ + "▁Gastgeber", + -13.545344352722168 + ], + [ + "Access", + -13.545432090759277 + ], + [ + "▁Defender", + -13.545537948608398 + ], + [ + "▁Quarry", + -13.546109199523926 + ], + [ + "▁trolley", + -13.546110153198242 + ], + [ + "▁carburant", + -13.546111106872559 + ], + [ + "▁titluri", + -13.54631233215332 + ], + [ + "comparatively", + -13.546327590942383 + ], + [ + "nachfolgend", + -13.54659652709961 + ], + [ + "anfang", + -13.546740531921387 + ], + [ + "▁faszinieren", + -13.546891212463379 + ], + [ + "trăiesc", + -13.547082901000977 + ], + [ + "▁Travail", + -13.547159194946289 + ], + [ + "Contact", + -13.547235488891602 + ], + [ + "fashion", + -13.547245025634766 + ], + [ + "▁épais", + -13.547585487365723 + ], + [ + "plattform", + -13.547676086425781 + ], + [ + "ventricular", + -13.547677040100098 + ], + [ + "▁Portsmouth", + -13.547677993774414 + ], + [ + "▁împărat", + -13.54767894744873 + ], + [ + "▁vândut", + -13.547698020935059 + ], + [ + "▁evidenț", + -13.547708511352539 + ], + [ + "Purchasing", + -13.547877311706543 + ], + [ + "discerning", + -13.54804801940918 + ], + [ + "odonti", + -13.548080444335938 + ], + [ + "distilled", + -13.548316955566406 + ], + [ + "saveur", + -13.548447608947754 + ], + [ + "▁récompense", + -13.54845905303955 + ], + [ + "confortul", + -13.548552513122559 + ], + [ + "arbeitete", + -13.548787117004395 + ], + [ + "partenerii", + -13.549064636230469 + ], + [ + "mirrored", + -13.54908561706543 + ], + [ + "Dienstleister", + -13.549243927001953 + ], + [ + "▁Jakarta", + -13.549243927001953 + ], + [ + "▁WEBSITE", + -13.549243927001953 + ], + [ + "▁Acquisition", + -13.549262046813965 + ], + [ + "▁Miranda", + -13.549287796020508 + ], + [ + "Syndic", + -13.549356460571289 + ], + [ + "▁stadiu", + -13.549450874328613 + ], + [ + "▁Parchet", + -13.549498558044434 + ], + [ + "Générale", + -13.54954719543457 + ], + [ + "▁jpl", + -13.549579620361328 + ], + [ + "attainable", + -13.549949645996094 + ], + [ + "École", + -13.550041198730469 + ], + [ + "Sphere", + -13.550538063049316 + ], + [ + "obtainable", + -13.550592422485352 + ], + [ + "▁Sapphire", + -13.55081558227539 + ], + [ + "▁aérienne", + -13.55081558227539 + ], + [ + "▁bărbați", + -13.55081558227539 + ], + [ + "▁irritating", + -13.55081558227539 + ], + [ + "▁ultraviolet", + -13.550816535949707 + ], + [ + "untouched", + -13.550817489624023 + ], + [ + "▁Ramsey", + -13.550819396972656 + ], + [ + "titres", + -13.551087379455566 + ], + [ + "▁Coordinat", + -13.551218032836914 + ], + [ + "believable", + -13.551358222961426 + ], + [ + "▁Grundsätzlich", + -13.551602363586426 + ], + [ + "▁konsequent", + -13.551602363586426 + ], + [ + "▁Cerceta", + -13.551909446716309 + ], + [ + "dirigé", + -13.552116394042969 + ], + [ + "▁disturb", + -13.552151679992676 + ], + [ + "conciliation", + -13.552210807800293 + ], + [ + "▁gelöscht", + -13.552390098571777 + ], + [ + "▁sauvegarde", + -13.552391052246094 + ], + [ + "▁cavities", + -13.552393913269043 + ], + [ + "stunde", + -13.55241584777832 + ], + [ + "▁foloseasc", + -13.552430152893066 + ], + [ + "▁simpati", + -13.552873611450195 + ], + [ + "Chacun", + -13.553032875061035 + ], + [ + "adversaire", + -13.553178787231445 + ], + [ + "Eigentlich", + -13.55319881439209 + ], + [ + "defense", + -13.553593635559082 + ], + [ + "consider", + -13.553672790527344 + ], + [ + "▁Trinidad", + -13.553966522216797 + ], + [ + "▁strategist", + -13.553966522216797 + ], + [ + "distorted", + -13.553967475891113 + ], + [ + "▁hypothetical", + -13.553967475891113 + ], + [ + "▁ramburs", + -13.55396842956543 + ], + [ + "▁Mallorca", + -13.553970336914062 + ], + [ + "▁Domino", + -13.554018020629883 + ], + [ + "arrondissement", + -13.554756164550781 + ], + [ + "konferenz", + -13.554756164550781 + ], + [ + "▁Beleuchtung", + -13.554756164550781 + ], + [ + "aggregat", + -13.55484676361084 + ], + [ + "subsidize", + -13.554896354675293 + ], + [ + "shri", + -13.555503845214844 + ], + [ + "Kaufentscheidung", + -13.555545806884766 + ], + [ + "▁Hernandez", + -13.555545806884766 + ], + [ + "▁Upholster", + -13.555546760559082 + ], + [ + "atlantic", + -13.555614471435547 + ], + [ + "▁locuinte", + -13.555652618408203 + ], + [ + "integrates", + -13.55583381652832 + ], + [ + "ewusst", + -13.555878639221191 + ], + [ + "▁Avocado", + -13.556337356567383 + ], + [ + "Decorative", + -13.557014465332031 + ], + [ + "▁Corinthians", + -13.557127952575684 + ], + [ + "▁clădire", + -13.557127952575684 + ], + [ + "▁plomberie", + -13.557127952575684 + ], + [ + "vases", + -13.557143211364746 + ], + [ + "▁crippl", + -13.557247161865234 + ], + [ + "cluttered", + -13.557487487792969 + ], + [ + "departed", + -13.557807922363281 + ], + [ + "▁entscheidet", + -13.5579195022583 + ], + [ + "Certaine", + -13.558243751525879 + ], + [ + "honda", + -13.558294296264648 + ], + [ + "triggering", + -13.558527946472168 + ], + [ + "▁Erdogan", + -13.558712005615234 + ], + [ + "▁Widerstand", + -13.558712005615234 + ], + [ + "▁Bhutan", + -13.558713912963867 + ], + [ + "▁ascunde", + -13.558736801147461 + ], + [ + "▁shading", + -13.558748245239258 + ], + [ + "behavioural", + -13.559172630310059 + ], + [ + "▁transfér", + -13.55960750579834 + ], + [ + "versichert", + -13.559623718261719 + ], + [ + "▁vinovat", + -13.559646606445312 + ], + [ + "▁airfare", + -13.560142517089844 + ], + [ + "▁simplistic", + -13.56030559539795 + ], + [ + "▁Asigura", + -13.560320854187012 + ], + [ + "Chauffe", + -13.560480117797852 + ], + [ + "scrisă", + -13.560585975646973 + ], + [ + "trouvez", + -13.560702323913574 + ], + [ + "greasy", + -13.560709953308105 + ], + [ + "bottled", + -13.560809135437012 + ], + [ + "grouped", + -13.560934066772461 + ], + [ + "▁beeinflussen", + -13.561092376708984 + ], + [ + "▁chronological", + -13.561114311218262 + ], + [ + "(2000)", + -13.56127643585205 + ], + [ + "sheltered", + -13.561298370361328 + ], + [ + "Historically", + -13.561931610107422 + ], + [ + "piled", + -13.562012672424316 + ], + [ + "publicate", + -13.562378883361816 + ], + [ + "▁étudié", + -13.56268310546875 + ], + [ + "▁vertraut", + -13.562688827514648 + ], + [ + "▁Anpassung", + -13.562697410583496 + ], + [ + "cifra", + -13.562705993652344 + ], + [ + "▁recueil", + -13.562762260437012 + ], + [ + "enforceable", + -13.563183784484863 + ], + [ + "Distinguished", + -13.56347942352295 + ], + [ + "Empfänger", + -13.56347942352295 + ], + [ + "▁Acrylic", + -13.56347942352295 + ], + [ + "▁Encyclopedia", + -13.56347942352295 + ], + [ + "▁proaspete", + -13.56347942352295 + ], + [ + "▁unrealistic", + -13.56347942352295 + ], + [ + "▁Assignment", + -13.563481330871582 + ], + [ + "▁incubator", + -13.563491821289062 + ], + [ + "▁unilateral", + -13.563501358032227 + ], + [ + "elasticity", + -13.564398765563965 + ], + [ + "amintim", + -13.564475059509277 + ], + [ + "fournit", + -13.564553260803223 + ], + [ + "semblent", + -13.564763069152832 + ], + [ + "▁$69.", + -13.56496524810791 + ], + [ + "▁prominence", + -13.56507396697998 + ], + [ + "Übertragung", + -13.565075874328613 + ], + [ + "▁2014-11-", + -13.565075874328613 + ], + [ + "▁Giurgiu", + -13.565104484558105 + ], + [ + "étendue", + -13.565123558044434 + ], + [ + "ceputul", + -13.565187454223633 + ], + [ + "Schwierigkeiten", + -13.565872192382812 + ], + [ + "▁subtract", + -13.565881729125977 + ], + [ + "▁gesichert", + -13.56589126586914 + ], + [ + "▁uimit", + -13.565925598144531 + ], + [ + "▁mensuel", + -13.565967559814453 + ], + [ + "Vorgaben", + -13.566215515136719 + ], + [ + "▁legitimacy", + -13.566670417785645 + ], + [ + "▁Kendall", + -13.566673278808594 + ], + [ + "▁détach", + -13.566790580749512 + ], + [ + "▁kennenlernen", + -13.567469596862793 + ], + [ + "▁gewöhnlich", + -13.56747055053711 + ], + [ + "Octav", + -13.567917823791504 + ], + [ + "responsive", + -13.568169593811035 + ], + [ + "▁Mängel", + -13.568269729614258 + ], + [ + "▁mișcare", + -13.568269729614258 + ], + [ + "▁ludique", + -13.568270683288574 + ], + [ + "▁Exeter", + -13.568324089050293 + ], + [ + "▁respins", + -13.569114685058594 + ], + [ + "oraşului", + -13.569173812866211 + ], + [ + "▁sfârşit", + -13.56949520111084 + ], + [ + "BUSINESS", + -13.56987190246582 + ], + [ + "illustrating", + -13.56987190246582 + ], + [ + "▁Tottenham", + -13.56987190246582 + ], + [ + "▁pruning", + -13.569886207580566 + ], + [ + "▁Înainte", + -13.569904327392578 + ], + [ + "▁interesel", + -13.570096969604492 + ], + [ + "discovered", + -13.57031536102295 + ], + [ + "(0)", + -13.570572853088379 + ], + [ + "▁Bewerber", + -13.570673942565918 + ], + [ + "▁DESIGN", + -13.570673942565918 + ], + [ + "▁Orientierung", + -13.570686340332031 + ], + [ + "library", + -13.571041107177734 + ], + [ + "cheltuielile", + -13.571419715881348 + ], + [ + "▁Canterbury", + -13.571475982666016 + ], + [ + "▁intellectuelle", + -13.571477890014648 + ], + [ + "▁amalgam", + -13.571497917175293 + ], + [ + "▁Toledo", + -13.57150650024414 + ], + [ + "gezahlt", + -13.571531295776367 + ], + [ + "Veronica", + -13.571659088134766 + ], + [ + "deleting", + -13.571946144104004 + ], + [ + "▁Merlin", + -13.572442054748535 + ], + [ + "▁opérationnel", + -13.572554588317871 + ], + [ + "schmutz", + -13.572568893432617 + ], + [ + "hyroid", + -13.57279109954834 + ], + [ + "▁Compatible", + -13.57308292388916 + ], + [ + "▁Leopard", + -13.57308292388916 + ], + [ + "▁cylindrical", + -13.57308292388916 + ], + [ + "▁terrestrial", + -13.57308292388916 + ], + [ + "conferencing", + -13.573088645935059 + ], + [ + "▁Variety", + -13.573097229003906 + ], + [ + "▁Screw", + -13.573164939880371 + ], + [ + "character", + -13.573637962341309 + ], + [ + "shortened", + -13.573643684387207 + ], + [ + "▁întrerup", + -13.573736190795898 + ], + [ + "freude", + -13.573884010314941 + ], + [ + "▁dezbateri", + -13.573887825012207 + ], + [ + "viteză", + -13.574563026428223 + ], + [ + "formațiile", + -13.574600219726562 + ], + [ + "▁responsibly", + -13.574692726135254 + ], + [ + "Dimensiuni", + -13.574695587158203 + ], + [ + "Arrangement", + -13.57469654083252 + ], + [ + "▁Leisure", + -13.574712753295898 + ], + [ + "escaping", + -13.5750732421875 + ], + [ + "flexion", + -13.575104713439941 + ], + [ + "▁religieuse", + -13.575308799743652 + ], + [ + "crystalline", + -13.575457572937012 + ], + [ + "▁clasp", + -13.575520515441895 + ], + [ + "festigt", + -13.57554817199707 + ], + [ + "▁trouvai", + -13.57596206665039 + ], + [ + "cutaneous", + -13.576305389404297 + ], + [ + "▁carcinoma", + -13.576305389404297 + ], + [ + "▁juxtapos", + -13.576305389404297 + ], + [ + "assemblage", + -13.576306343078613 + ], + [ + "▁Messiah", + -13.576306343078613 + ], + [ + "▁Sleeve", + -13.576306343078613 + ], + [ + "▁șofer", + -13.576386451721191 + ], + [ + "/05/", + -13.57666301727295 + ], + [ + "▁expoziți", + -13.576703071594238 + ], + [ + "▁pătrun", + -13.577343940734863 + ], + [ + "▁Lydia", + -13.57739543914795 + ], + [ + "▁grădini", + -13.577919006347656 + ], + [ + "▁toothpaste", + -13.577919960021973 + ], + [ + "ordained", + -13.577921867370605 + ], + [ + "▁Renovation", + -13.577922821044922 + ], + [ + "voicing", + -13.578327178955078 + ], + [ + "président", + -13.578595161437988 + ], + [ + "▁gestartet", + -13.578728675842285 + ], + [ + "Multi", + -13.579121589660645 + ], + [ + "itinéraire", + -13.579537391662598 + ], + [ + "▁influenza", + -13.579537391662598 + ], + [ + "▁psychiatrist", + -13.579537391662598 + ], + [ + "▁schizophrenia", + -13.579537391662598 + ], + [ + "▁Magnolia", + -13.57953929901123 + ], + [ + "▁Scottsdale", + -13.579541206359863 + ], + [ + "▁interessieren", + -13.579548835754395 + ], + [ + "▁asfalt", + -13.579643249511719 + ], + [ + "▁Journalism", + -13.57977294921875 + ], + [ + "Multe", + -13.580089569091797 + ], + [ + "Westfalen", + -13.580347061157227 + ], + [ + "▁Vorschriften", + -13.580348014831543 + ], + [ + "Angleterre", + -13.58034896850586 + ], + [ + "sustainable", + -13.580354690551758 + ], + [ + "▁Retour", + -13.580589294433594 + ], + [ + "▁pâr", + -13.5809965133667 + ], + [ + "steigert", + -13.581120491027832 + ], + [ + "▁AMAZING", + -13.581157684326172 + ], + [ + "▁turbulent", + -13.581157684326172 + ], + [ + "costing", + -13.58155345916748 + ], + [ + "▁Carolyn", + -13.581634521484375 + ], + [ + "utti", + -13.581802368164062 + ], + [ + "dürftig", + -13.581968307495117 + ], + [ + "Keep", + -13.582038879394531 + ], + [ + "▁Théâtre", + -13.582780838012695 + ], + [ + "▁combustibil", + -13.582780838012695 + ], + [ + "▁halloween", + -13.582780838012695 + ], + [ + "▁emulator", + -13.582785606384277 + ], + [ + "▁povești", + -13.582785606384277 + ], + [ + "broyeur", + -13.582810401916504 + ], + [ + "▁émerg", + -13.582927703857422 + ], + [ + "overwhelmingly", + -13.583025932312012 + ], + [ + "regulă", + -13.583124160766602 + ], + [ + "goutte", + -13.583125114440918 + ], + [ + "▁Fertigung", + -13.583593368530273 + ], + [ + "constituted", + -13.584304809570312 + ], + [ + "▁QuickBooks", + -13.584406852722168 + ], + [ + "▁genealogy", + -13.584407806396484 + ], + [ + "▁laundering", + -13.584432601928711 + ], + [ + "▁échéan", + -13.584491729736328 + ], + [ + "Account", + -13.584601402282715 + ], + [ + "oyons", + -13.584792137145996 + ], + [ + "nitro", + -13.584905624389648 + ], + [ + "▁corespund", + -13.585219383239746 + ], + [ + "▁suggér", + -13.58527660369873 + ], + [ + "manipulated", + -13.585348129272461 + ], + [ + "deseori", + -13.585817337036133 + ], + [ + "permeabil", + -13.585912704467773 + ], + [ + "Australia", + -13.58594799041748 + ], + [ + "▁Erasmus", + -13.586034774780273 + ], + [ + "▁disrespect", + -13.586034774780273 + ], + [ + "▁trimestre", + -13.586038589477539 + ], + [ + "▁emanat", + -13.586103439331055 + ], + [ + "Schraub", + -13.58624267578125 + ], + [ + "distinctly", + -13.586319923400879 + ], + [ + "Germain", + -13.586637496948242 + ], + [ + "▁pedepse", + -13.5868501663208 + ], + [ + "réglage", + -13.5868558883667 + ], + [ + "făcute", + -13.587308883666992 + ], + [ + "▁garanteaz", + -13.587434768676758 + ], + [ + "▁unterlieg", + -13.587701797485352 + ], + [ + "▁cheddar", + -13.587712287902832 + ], + [ + "▁refugi", + -13.587756156921387 + ], + [ + "▁inférieur", + -13.587836265563965 + ], + [ + "dimension", + -13.588440895080566 + ], + [ + "▁erkennt", + -13.588570594787598 + ], + [ + "amitié", + -13.588632583618164 + ], + [ + "▁predominant", + -13.588680267333984 + ], + [ + "nourishe", + -13.588800430297852 + ], + [ + "exerce", + -13.588907241821289 + ], + [ + "▁disguise", + -13.589225769042969 + ], + [ + "▁traditi", + -13.589289665222168 + ], + [ + "▁Intellectual", + -13.5892972946167 + ], + [ + "▁imunitar", + -13.589299201965332 + ], + [ + "▁Cushion", + -13.589300155639648 + ], + [ + "▁erwachsene", + -13.589517593383789 + ], + [ + "▁Internațional", + -13.590115547180176 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ], + [ + "", + 0.0 + ] + ], + "byte_fallback": false + } +} \ No newline at end of file diff --git a/comfy/text_encoders/t5_tokenizer/tokenizer_config.json b/comfy/text_encoders/t5_tokenizer/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..02020eb6d20746871e1ea93f14c4475cf9368f98 --- /dev/null +++ b/comfy/text_encoders/t5_tokenizer/tokenizer_config.json @@ -0,0 +1,939 @@ +{ + "added_tokens_decoder": { + "0": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "1": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "2": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32000": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32001": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32002": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32003": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32004": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32005": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32006": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32007": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32008": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32009": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32010": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32011": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32012": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32013": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32014": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32015": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32016": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32017": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32018": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32019": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32020": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32021": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32022": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32023": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32024": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32025": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32026": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32027": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32028": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32029": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32030": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32031": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32032": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32033": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32034": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32035": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32036": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32037": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32038": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32039": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32040": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32041": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32042": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32043": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32044": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32045": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32046": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32047": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32048": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32049": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32050": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32051": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32052": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32053": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32054": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32055": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32056": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32057": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32058": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32059": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32060": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32061": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32062": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32063": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32064": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32065": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32066": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32067": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32068": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32069": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32070": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32071": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32072": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32073": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32074": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32075": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32076": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32077": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32078": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32079": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32080": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32081": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32082": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32083": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32084": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32085": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32086": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32087": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32088": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32089": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32090": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32091": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32092": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32093": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32094": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32095": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32096": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32097": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32098": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "32099": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "additional_special_tokens": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "clean_up_tokenization_spaces": true, + "eos_token": "", + "extra_ids": 100, + "legacy": false, + "model_max_length": 512, + "pad_token": "", + "sp_model_kwargs": {}, + "tokenizer_class": "T5Tokenizer", + "unk_token": "" +} diff --git a/comfy/utils.py b/comfy/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..bcefa18044544f47e58c1f9966a5a5aec72ebc10 --- /dev/null +++ b/comfy/utils.py @@ -0,0 +1,1057 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Comfy + + 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 . +""" + + +import torch +import math +import struct +import comfy.checkpoint_pickle +import safetensors.torch +import numpy as np +from PIL import Image +import logging +import itertools +from torch.nn.functional import interpolate +from einops import rearrange + +ALWAYS_SAFE_LOAD = False +if hasattr(torch.serialization, "add_safe_globals"): # TODO: this was added in pytorch 2.4, the unsafe path should be removed once earlier versions are deprecated + class ModelCheckpoint: + pass + ModelCheckpoint.__module__ = "pytorch_lightning.callbacks.model_checkpoint" + + from numpy.core.multiarray import scalar + from numpy import dtype + from numpy.dtypes import Float64DType + from _codecs import encode + + torch.serialization.add_safe_globals([ModelCheckpoint, scalar, dtype, Float64DType, encode]) + ALWAYS_SAFE_LOAD = True + logging.info("Checkpoint files will always be loaded safely.") + + +def load_torch_file(ckpt, safe_load=False, device=None): + if device is None: + device = torch.device("cpu") + if ckpt.lower().endswith(".safetensors") or ckpt.lower().endswith(".sft"): + sd = safetensors.torch.load_file(ckpt, device=device.type) + else: + if safe_load or ALWAYS_SAFE_LOAD: + pl_sd = torch.load(ckpt, map_location=device, weights_only=True) + else: + pl_sd = torch.load(ckpt, map_location=device, pickle_module=comfy.checkpoint_pickle) + if "global_step" in pl_sd: + logging.debug(f"Global Step: {pl_sd['global_step']}") + if "state_dict" in pl_sd: + sd = pl_sd["state_dict"] + else: + if len(pl_sd) == 1: + key = list(pl_sd.keys())[0] + sd = pl_sd[key] + if not isinstance(sd, dict): + sd = pl_sd + else: + sd = pl_sd + return sd + +def save_torch_file(sd, ckpt, metadata=None): + if metadata is not None: + safetensors.torch.save_file(sd, ckpt, metadata=metadata) + else: + safetensors.torch.save_file(sd, ckpt) + +def calculate_parameters(sd, prefix=""): + params = 0 + for k in sd.keys(): + if k.startswith(prefix): + w = sd[k] + params += w.nelement() + return params + +def weight_dtype(sd, prefix=""): + dtypes = {} + for k in sd.keys(): + if k.startswith(prefix): + w = sd[k] + dtypes[w.dtype] = dtypes.get(w.dtype, 0) + w.numel() + + if len(dtypes) == 0: + return None + + return max(dtypes, key=dtypes.get) + +def state_dict_key_replace(state_dict, keys_to_replace): + for x in keys_to_replace: + if x in state_dict: + state_dict[keys_to_replace[x]] = state_dict.pop(x) + return state_dict + +def state_dict_prefix_replace(state_dict, replace_prefix, filter_keys=False): + if filter_keys: + out = {} + else: + out = state_dict + for rp in replace_prefix: + replace = list(map(lambda a: (a, "{}{}".format(replace_prefix[rp], a[len(rp):])), filter(lambda a: a.startswith(rp), state_dict.keys()))) + for x in replace: + w = state_dict.pop(x[0]) + out[x[1]] = w + return out + + +def transformers_convert(sd, prefix_from, prefix_to, number): + keys_to_replace = { + "{}positional_embedding": "{}embeddings.position_embedding.weight", + "{}token_embedding.weight": "{}embeddings.token_embedding.weight", + "{}ln_final.weight": "{}final_layer_norm.weight", + "{}ln_final.bias": "{}final_layer_norm.bias", + } + + for k in keys_to_replace: + x = k.format(prefix_from) + if x in sd: + sd[keys_to_replace[k].format(prefix_to)] = sd.pop(x) + + resblock_to_replace = { + "ln_1": "layer_norm1", + "ln_2": "layer_norm2", + "mlp.c_fc": "mlp.fc1", + "mlp.c_proj": "mlp.fc2", + "attn.out_proj": "self_attn.out_proj", + } + + for resblock in range(number): + for x in resblock_to_replace: + for y in ["weight", "bias"]: + k = "{}transformer.resblocks.{}.{}.{}".format(prefix_from, resblock, x, y) + k_to = "{}encoder.layers.{}.{}.{}".format(prefix_to, resblock, resblock_to_replace[x], y) + if k in sd: + sd[k_to] = sd.pop(k) + + for y in ["weight", "bias"]: + k_from = "{}transformer.resblocks.{}.attn.in_proj_{}".format(prefix_from, resblock, y) + if k_from in sd: + weights = sd.pop(k_from) + shape_from = weights.shape[0] // 3 + for x in range(3): + p = ["self_attn.q_proj", "self_attn.k_proj", "self_attn.v_proj"] + k_to = "{}encoder.layers.{}.{}.{}".format(prefix_to, resblock, p[x], y) + sd[k_to] = weights[shape_from*x:shape_from*(x + 1)] + + return sd + +def clip_text_transformers_convert(sd, prefix_from, prefix_to): + sd = transformers_convert(sd, prefix_from, "{}text_model.".format(prefix_to), 32) + + tp = "{}text_projection.weight".format(prefix_from) + if tp in sd: + sd["{}text_projection.weight".format(prefix_to)] = sd.pop(tp) + + tp = "{}text_projection".format(prefix_from) + if tp in sd: + sd["{}text_projection.weight".format(prefix_to)] = sd.pop(tp).transpose(0, 1).contiguous() + return sd + + +UNET_MAP_ATTENTIONS = { + "proj_in.weight", + "proj_in.bias", + "proj_out.weight", + "proj_out.bias", + "norm.weight", + "norm.bias", +} + +TRANSFORMER_BLOCKS = { + "norm1.weight", + "norm1.bias", + "norm2.weight", + "norm2.bias", + "norm3.weight", + "norm3.bias", + "attn1.to_q.weight", + "attn1.to_k.weight", + "attn1.to_v.weight", + "attn1.to_out.0.weight", + "attn1.to_out.0.bias", + "attn2.to_q.weight", + "attn2.to_k.weight", + "attn2.to_v.weight", + "attn2.to_out.0.weight", + "attn2.to_out.0.bias", + "ff.net.0.proj.weight", + "ff.net.0.proj.bias", + "ff.net.2.weight", + "ff.net.2.bias", +} + +UNET_MAP_RESNET = { + "in_layers.2.weight": "conv1.weight", + "in_layers.2.bias": "conv1.bias", + "emb_layers.1.weight": "time_emb_proj.weight", + "emb_layers.1.bias": "time_emb_proj.bias", + "out_layers.3.weight": "conv2.weight", + "out_layers.3.bias": "conv2.bias", + "skip_connection.weight": "conv_shortcut.weight", + "skip_connection.bias": "conv_shortcut.bias", + "in_layers.0.weight": "norm1.weight", + "in_layers.0.bias": "norm1.bias", + "out_layers.0.weight": "norm2.weight", + "out_layers.0.bias": "norm2.bias", +} + +UNET_MAP_BASIC = { + ("label_emb.0.0.weight", "class_embedding.linear_1.weight"), + ("label_emb.0.0.bias", "class_embedding.linear_1.bias"), + ("label_emb.0.2.weight", "class_embedding.linear_2.weight"), + ("label_emb.0.2.bias", "class_embedding.linear_2.bias"), + ("label_emb.0.0.weight", "add_embedding.linear_1.weight"), + ("label_emb.0.0.bias", "add_embedding.linear_1.bias"), + ("label_emb.0.2.weight", "add_embedding.linear_2.weight"), + ("label_emb.0.2.bias", "add_embedding.linear_2.bias"), + ("input_blocks.0.0.weight", "conv_in.weight"), + ("input_blocks.0.0.bias", "conv_in.bias"), + ("out.0.weight", "conv_norm_out.weight"), + ("out.0.bias", "conv_norm_out.bias"), + ("out.2.weight", "conv_out.weight"), + ("out.2.bias", "conv_out.bias"), + ("time_embed.0.weight", "time_embedding.linear_1.weight"), + ("time_embed.0.bias", "time_embedding.linear_1.bias"), + ("time_embed.2.weight", "time_embedding.linear_2.weight"), + ("time_embed.2.bias", "time_embedding.linear_2.bias") +} + +def unet_to_diffusers(unet_config): + if "num_res_blocks" not in unet_config: + return {} + num_res_blocks = unet_config["num_res_blocks"] + channel_mult = unet_config["channel_mult"] + transformer_depth = unet_config["transformer_depth"][:] + transformer_depth_output = unet_config["transformer_depth_output"][:] + num_blocks = len(channel_mult) + + transformers_mid = unet_config.get("transformer_depth_middle", None) + + diffusers_unet_map = {} + for x in range(num_blocks): + n = 1 + (num_res_blocks[x] + 1) * x + for i in range(num_res_blocks[x]): + for b in UNET_MAP_RESNET: + diffusers_unet_map["down_blocks.{}.resnets.{}.{}".format(x, i, UNET_MAP_RESNET[b])] = "input_blocks.{}.0.{}".format(n, b) + num_transformers = transformer_depth.pop(0) + if num_transformers > 0: + for b in UNET_MAP_ATTENTIONS: + diffusers_unet_map["down_blocks.{}.attentions.{}.{}".format(x, i, b)] = "input_blocks.{}.1.{}".format(n, b) + for t in range(num_transformers): + for b in TRANSFORMER_BLOCKS: + diffusers_unet_map["down_blocks.{}.attentions.{}.transformer_blocks.{}.{}".format(x, i, t, b)] = "input_blocks.{}.1.transformer_blocks.{}.{}".format(n, t, b) + n += 1 + for k in ["weight", "bias"]: + diffusers_unet_map["down_blocks.{}.downsamplers.0.conv.{}".format(x, k)] = "input_blocks.{}.0.op.{}".format(n, k) + + i = 0 + for b in UNET_MAP_ATTENTIONS: + diffusers_unet_map["mid_block.attentions.{}.{}".format(i, b)] = "middle_block.1.{}".format(b) + for t in range(transformers_mid): + for b in TRANSFORMER_BLOCKS: + diffusers_unet_map["mid_block.attentions.{}.transformer_blocks.{}.{}".format(i, t, b)] = "middle_block.1.transformer_blocks.{}.{}".format(t, b) + + for i, n in enumerate([0, 2]): + for b in UNET_MAP_RESNET: + diffusers_unet_map["mid_block.resnets.{}.{}".format(i, UNET_MAP_RESNET[b])] = "middle_block.{}.{}".format(n, b) + + num_res_blocks = list(reversed(num_res_blocks)) + for x in range(num_blocks): + n = (num_res_blocks[x] + 1) * x + l = num_res_blocks[x] + 1 + for i in range(l): + c = 0 + for b in UNET_MAP_RESNET: + diffusers_unet_map["up_blocks.{}.resnets.{}.{}".format(x, i, UNET_MAP_RESNET[b])] = "output_blocks.{}.0.{}".format(n, b) + c += 1 + num_transformers = transformer_depth_output.pop() + if num_transformers > 0: + c += 1 + for b in UNET_MAP_ATTENTIONS: + diffusers_unet_map["up_blocks.{}.attentions.{}.{}".format(x, i, b)] = "output_blocks.{}.1.{}".format(n, b) + for t in range(num_transformers): + for b in TRANSFORMER_BLOCKS: + diffusers_unet_map["up_blocks.{}.attentions.{}.transformer_blocks.{}.{}".format(x, i, t, b)] = "output_blocks.{}.1.transformer_blocks.{}.{}".format(n, t, b) + if i == l - 1: + for k in ["weight", "bias"]: + diffusers_unet_map["up_blocks.{}.upsamplers.0.conv.{}".format(x, k)] = "output_blocks.{}.{}.conv.{}".format(n, c, k) + n += 1 + + for k in UNET_MAP_BASIC: + diffusers_unet_map[k[1]] = k[0] + + return diffusers_unet_map + +def swap_scale_shift(weight): + shift, scale = weight.chunk(2, dim=0) + new_weight = torch.cat([scale, shift], dim=0) + return new_weight + +MMDIT_MAP_BASIC = { + ("context_embedder.bias", "context_embedder.bias"), + ("context_embedder.weight", "context_embedder.weight"), + ("t_embedder.mlp.0.bias", "time_text_embed.timestep_embedder.linear_1.bias"), + ("t_embedder.mlp.0.weight", "time_text_embed.timestep_embedder.linear_1.weight"), + ("t_embedder.mlp.2.bias", "time_text_embed.timestep_embedder.linear_2.bias"), + ("t_embedder.mlp.2.weight", "time_text_embed.timestep_embedder.linear_2.weight"), + ("x_embedder.proj.bias", "pos_embed.proj.bias"), + ("x_embedder.proj.weight", "pos_embed.proj.weight"), + ("y_embedder.mlp.0.bias", "time_text_embed.text_embedder.linear_1.bias"), + ("y_embedder.mlp.0.weight", "time_text_embed.text_embedder.linear_1.weight"), + ("y_embedder.mlp.2.bias", "time_text_embed.text_embedder.linear_2.bias"), + ("y_embedder.mlp.2.weight", "time_text_embed.text_embedder.linear_2.weight"), + ("pos_embed", "pos_embed.pos_embed"), + ("final_layer.adaLN_modulation.1.bias", "norm_out.linear.bias", swap_scale_shift), + ("final_layer.adaLN_modulation.1.weight", "norm_out.linear.weight", swap_scale_shift), + ("final_layer.linear.bias", "proj_out.bias"), + ("final_layer.linear.weight", "proj_out.weight"), +} + +MMDIT_MAP_BLOCK = { + ("context_block.adaLN_modulation.1.bias", "norm1_context.linear.bias"), + ("context_block.adaLN_modulation.1.weight", "norm1_context.linear.weight"), + ("context_block.attn.proj.bias", "attn.to_add_out.bias"), + ("context_block.attn.proj.weight", "attn.to_add_out.weight"), + ("context_block.mlp.fc1.bias", "ff_context.net.0.proj.bias"), + ("context_block.mlp.fc1.weight", "ff_context.net.0.proj.weight"), + ("context_block.mlp.fc2.bias", "ff_context.net.2.bias"), + ("context_block.mlp.fc2.weight", "ff_context.net.2.weight"), + ("context_block.attn.ln_q.weight", "attn.norm_added_q.weight"), + ("context_block.attn.ln_k.weight", "attn.norm_added_k.weight"), + ("x_block.adaLN_modulation.1.bias", "norm1.linear.bias"), + ("x_block.adaLN_modulation.1.weight", "norm1.linear.weight"), + ("x_block.attn.proj.bias", "attn.to_out.0.bias"), + ("x_block.attn.proj.weight", "attn.to_out.0.weight"), + ("x_block.attn.ln_q.weight", "attn.norm_q.weight"), + ("x_block.attn.ln_k.weight", "attn.norm_k.weight"), + ("x_block.attn2.proj.bias", "attn2.to_out.0.bias"), + ("x_block.attn2.proj.weight", "attn2.to_out.0.weight"), + ("x_block.attn2.ln_q.weight", "attn2.norm_q.weight"), + ("x_block.attn2.ln_k.weight", "attn2.norm_k.weight"), + ("x_block.mlp.fc1.bias", "ff.net.0.proj.bias"), + ("x_block.mlp.fc1.weight", "ff.net.0.proj.weight"), + ("x_block.mlp.fc2.bias", "ff.net.2.bias"), + ("x_block.mlp.fc2.weight", "ff.net.2.weight"), +} + +def mmdit_to_diffusers(mmdit_config, output_prefix=""): + key_map = {} + + depth = mmdit_config.get("depth", 0) + num_blocks = mmdit_config.get("num_blocks", depth) + for i in range(num_blocks): + block_from = "transformer_blocks.{}".format(i) + block_to = "{}joint_blocks.{}".format(output_prefix, i) + + offset = depth * 64 + + for end in ("weight", "bias"): + k = "{}.attn.".format(block_from) + qkv = "{}.x_block.attn.qkv.{}".format(block_to, end) + key_map["{}to_q.{}".format(k, end)] = (qkv, (0, 0, offset)) + key_map["{}to_k.{}".format(k, end)] = (qkv, (0, offset, offset)) + key_map["{}to_v.{}".format(k, end)] = (qkv, (0, offset * 2, offset)) + + qkv = "{}.context_block.attn.qkv.{}".format(block_to, end) + key_map["{}add_q_proj.{}".format(k, end)] = (qkv, (0, 0, offset)) + key_map["{}add_k_proj.{}".format(k, end)] = (qkv, (0, offset, offset)) + key_map["{}add_v_proj.{}".format(k, end)] = (qkv, (0, offset * 2, offset)) + + k = "{}.attn2.".format(block_from) + qkv = "{}.x_block.attn2.qkv.{}".format(block_to, end) + key_map["{}to_q.{}".format(k, end)] = (qkv, (0, 0, offset)) + key_map["{}to_k.{}".format(k, end)] = (qkv, (0, offset, offset)) + key_map["{}to_v.{}".format(k, end)] = (qkv, (0, offset * 2, offset)) + + for k in MMDIT_MAP_BLOCK: + key_map["{}.{}".format(block_from, k[1])] = "{}.{}".format(block_to, k[0]) + + map_basic = MMDIT_MAP_BASIC.copy() + map_basic.add(("joint_blocks.{}.context_block.adaLN_modulation.1.bias".format(depth - 1), "transformer_blocks.{}.norm1_context.linear.bias".format(depth - 1), swap_scale_shift)) + map_basic.add(("joint_blocks.{}.context_block.adaLN_modulation.1.weight".format(depth - 1), "transformer_blocks.{}.norm1_context.linear.weight".format(depth - 1), swap_scale_shift)) + + for k in map_basic: + if len(k) > 2: + key_map[k[1]] = ("{}{}".format(output_prefix, k[0]), None, k[2]) + else: + key_map[k[1]] = "{}{}".format(output_prefix, k[0]) + + return key_map + +PIXART_MAP_BASIC = { + ("csize_embedder.mlp.0.weight", "adaln_single.emb.resolution_embedder.linear_1.weight"), + ("csize_embedder.mlp.0.bias", "adaln_single.emb.resolution_embedder.linear_1.bias"), + ("csize_embedder.mlp.2.weight", "adaln_single.emb.resolution_embedder.linear_2.weight"), + ("csize_embedder.mlp.2.bias", "adaln_single.emb.resolution_embedder.linear_2.bias"), + ("ar_embedder.mlp.0.weight", "adaln_single.emb.aspect_ratio_embedder.linear_1.weight"), + ("ar_embedder.mlp.0.bias", "adaln_single.emb.aspect_ratio_embedder.linear_1.bias"), + ("ar_embedder.mlp.2.weight", "adaln_single.emb.aspect_ratio_embedder.linear_2.weight"), + ("ar_embedder.mlp.2.bias", "adaln_single.emb.aspect_ratio_embedder.linear_2.bias"), + ("x_embedder.proj.weight", "pos_embed.proj.weight"), + ("x_embedder.proj.bias", "pos_embed.proj.bias"), + ("y_embedder.y_embedding", "caption_projection.y_embedding"), + ("y_embedder.y_proj.fc1.weight", "caption_projection.linear_1.weight"), + ("y_embedder.y_proj.fc1.bias", "caption_projection.linear_1.bias"), + ("y_embedder.y_proj.fc2.weight", "caption_projection.linear_2.weight"), + ("y_embedder.y_proj.fc2.bias", "caption_projection.linear_2.bias"), + ("t_embedder.mlp.0.weight", "adaln_single.emb.timestep_embedder.linear_1.weight"), + ("t_embedder.mlp.0.bias", "adaln_single.emb.timestep_embedder.linear_1.bias"), + ("t_embedder.mlp.2.weight", "adaln_single.emb.timestep_embedder.linear_2.weight"), + ("t_embedder.mlp.2.bias", "adaln_single.emb.timestep_embedder.linear_2.bias"), + ("t_block.1.weight", "adaln_single.linear.weight"), + ("t_block.1.bias", "adaln_single.linear.bias"), + ("final_layer.linear.weight", "proj_out.weight"), + ("final_layer.linear.bias", "proj_out.bias"), + ("final_layer.scale_shift_table", "scale_shift_table"), +} + +PIXART_MAP_BLOCK = { + ("scale_shift_table", "scale_shift_table"), + ("attn.proj.weight", "attn1.to_out.0.weight"), + ("attn.proj.bias", "attn1.to_out.0.bias"), + ("mlp.fc1.weight", "ff.net.0.proj.weight"), + ("mlp.fc1.bias", "ff.net.0.proj.bias"), + ("mlp.fc2.weight", "ff.net.2.weight"), + ("mlp.fc2.bias", "ff.net.2.bias"), + ("cross_attn.proj.weight" ,"attn2.to_out.0.weight"), + ("cross_attn.proj.bias" ,"attn2.to_out.0.bias"), +} + +def pixart_to_diffusers(mmdit_config, output_prefix=""): + key_map = {} + + depth = mmdit_config.get("depth", 0) + offset = mmdit_config.get("hidden_size", 1152) + + for i in range(depth): + block_from = "transformer_blocks.{}".format(i) + block_to = "{}blocks.{}".format(output_prefix, i) + + for end in ("weight", "bias"): + s = "{}.attn1.".format(block_from) + qkv = "{}.attn.qkv.{}".format(block_to, end) + key_map["{}to_q.{}".format(s, end)] = (qkv, (0, 0, offset)) + key_map["{}to_k.{}".format(s, end)] = (qkv, (0, offset, offset)) + key_map["{}to_v.{}".format(s, end)] = (qkv, (0, offset * 2, offset)) + + s = "{}.attn2.".format(block_from) + q = "{}.cross_attn.q_linear.{}".format(block_to, end) + kv = "{}.cross_attn.kv_linear.{}".format(block_to, end) + + key_map["{}to_q.{}".format(s, end)] = q + key_map["{}to_k.{}".format(s, end)] = (kv, (0, 0, offset)) + key_map["{}to_v.{}".format(s, end)] = (kv, (0, offset, offset)) + + for k in PIXART_MAP_BLOCK: + key_map["{}.{}".format(block_from, k[1])] = "{}.{}".format(block_to, k[0]) + + for k in PIXART_MAP_BASIC: + key_map[k[1]] = "{}{}".format(output_prefix, k[0]) + + return key_map + +def auraflow_to_diffusers(mmdit_config, output_prefix=""): + n_double_layers = mmdit_config.get("n_double_layers", 0) + n_layers = mmdit_config.get("n_layers", 0) + + key_map = {} + for i in range(n_layers): + if i < n_double_layers: + index = i + prefix_from = "joint_transformer_blocks" + prefix_to = "{}double_layers".format(output_prefix) + block_map = { + "attn.to_q.weight": "attn.w2q.weight", + "attn.to_k.weight": "attn.w2k.weight", + "attn.to_v.weight": "attn.w2v.weight", + "attn.to_out.0.weight": "attn.w2o.weight", + "attn.add_q_proj.weight": "attn.w1q.weight", + "attn.add_k_proj.weight": "attn.w1k.weight", + "attn.add_v_proj.weight": "attn.w1v.weight", + "attn.to_add_out.weight": "attn.w1o.weight", + "ff.linear_1.weight": "mlpX.c_fc1.weight", + "ff.linear_2.weight": "mlpX.c_fc2.weight", + "ff.out_projection.weight": "mlpX.c_proj.weight", + "ff_context.linear_1.weight": "mlpC.c_fc1.weight", + "ff_context.linear_2.weight": "mlpC.c_fc2.weight", + "ff_context.out_projection.weight": "mlpC.c_proj.weight", + "norm1.linear.weight": "modX.1.weight", + "norm1_context.linear.weight": "modC.1.weight", + } + else: + index = i - n_double_layers + prefix_from = "single_transformer_blocks" + prefix_to = "{}single_layers".format(output_prefix) + + block_map = { + "attn.to_q.weight": "attn.w1q.weight", + "attn.to_k.weight": "attn.w1k.weight", + "attn.to_v.weight": "attn.w1v.weight", + "attn.to_out.0.weight": "attn.w1o.weight", + "norm1.linear.weight": "modCX.1.weight", + "ff.linear_1.weight": "mlp.c_fc1.weight", + "ff.linear_2.weight": "mlp.c_fc2.weight", + "ff.out_projection.weight": "mlp.c_proj.weight" + } + + for k in block_map: + key_map["{}.{}.{}".format(prefix_from, index, k)] = "{}.{}.{}".format(prefix_to, index, block_map[k]) + + MAP_BASIC = { + ("positional_encoding", "pos_embed.pos_embed"), + ("register_tokens", "register_tokens"), + ("t_embedder.mlp.0.weight", "time_step_proj.linear_1.weight"), + ("t_embedder.mlp.0.bias", "time_step_proj.linear_1.bias"), + ("t_embedder.mlp.2.weight", "time_step_proj.linear_2.weight"), + ("t_embedder.mlp.2.bias", "time_step_proj.linear_2.bias"), + ("cond_seq_linear.weight", "context_embedder.weight"), + ("init_x_linear.weight", "pos_embed.proj.weight"), + ("init_x_linear.bias", "pos_embed.proj.bias"), + ("final_linear.weight", "proj_out.weight"), + ("modF.1.weight", "norm_out.linear.weight", swap_scale_shift), + } + + for k in MAP_BASIC: + if len(k) > 2: + key_map[k[1]] = ("{}{}".format(output_prefix, k[0]), None, k[2]) + else: + key_map[k[1]] = "{}{}".format(output_prefix, k[0]) + + return key_map + +def flux_to_diffusers(mmdit_config, output_prefix=""): + n_double_layers = mmdit_config.get("depth", 0) + n_single_layers = mmdit_config.get("depth_single_blocks", 0) + hidden_size = mmdit_config.get("hidden_size", 0) + + key_map = {} + for index in range(n_double_layers): + prefix_from = "transformer_blocks.{}".format(index) + prefix_to = "{}double_blocks.{}".format(output_prefix, index) + + for end in ("weight", "bias"): + k = "{}.attn.".format(prefix_from) + qkv = "{}.img_attn.qkv.{}".format(prefix_to, end) + key_map["{}to_q.{}".format(k, end)] = (qkv, (0, 0, hidden_size)) + key_map["{}to_k.{}".format(k, end)] = (qkv, (0, hidden_size, hidden_size)) + key_map["{}to_v.{}".format(k, end)] = (qkv, (0, hidden_size * 2, hidden_size)) + + k = "{}.attn.".format(prefix_from) + qkv = "{}.txt_attn.qkv.{}".format(prefix_to, end) + key_map["{}add_q_proj.{}".format(k, end)] = (qkv, (0, 0, hidden_size)) + key_map["{}add_k_proj.{}".format(k, end)] = (qkv, (0, hidden_size, hidden_size)) + key_map["{}add_v_proj.{}".format(k, end)] = (qkv, (0, hidden_size * 2, hidden_size)) + + block_map = { + "attn.to_out.0.weight": "img_attn.proj.weight", + "attn.to_out.0.bias": "img_attn.proj.bias", + "norm1.linear.weight": "img_mod.lin.weight", + "norm1.linear.bias": "img_mod.lin.bias", + "norm1_context.linear.weight": "txt_mod.lin.weight", + "norm1_context.linear.bias": "txt_mod.lin.bias", + "attn.to_add_out.weight": "txt_attn.proj.weight", + "attn.to_add_out.bias": "txt_attn.proj.bias", + "ff.net.0.proj.weight": "img_mlp.0.weight", + "ff.net.0.proj.bias": "img_mlp.0.bias", + "ff.net.2.weight": "img_mlp.2.weight", + "ff.net.2.bias": "img_mlp.2.bias", + "ff_context.net.0.proj.weight": "txt_mlp.0.weight", + "ff_context.net.0.proj.bias": "txt_mlp.0.bias", + "ff_context.net.2.weight": "txt_mlp.2.weight", + "ff_context.net.2.bias": "txt_mlp.2.bias", + "attn.norm_q.weight": "img_attn.norm.query_norm.scale", + "attn.norm_k.weight": "img_attn.norm.key_norm.scale", + "attn.norm_added_q.weight": "txt_attn.norm.query_norm.scale", + "attn.norm_added_k.weight": "txt_attn.norm.key_norm.scale", + } + + for k in block_map: + key_map["{}.{}".format(prefix_from, k)] = "{}.{}".format(prefix_to, block_map[k]) + + for index in range(n_single_layers): + prefix_from = "single_transformer_blocks.{}".format(index) + prefix_to = "{}single_blocks.{}".format(output_prefix, index) + + for end in ("weight", "bias"): + k = "{}.attn.".format(prefix_from) + qkv = "{}.linear1.{}".format(prefix_to, end) + key_map["{}to_q.{}".format(k, end)] = (qkv, (0, 0, hidden_size)) + key_map["{}to_k.{}".format(k, end)] = (qkv, (0, hidden_size, hidden_size)) + key_map["{}to_v.{}".format(k, end)] = (qkv, (0, hidden_size * 2, hidden_size)) + key_map["{}.proj_mlp.{}".format(prefix_from, end)] = (qkv, (0, hidden_size * 3, hidden_size * 4)) + + block_map = { + "norm.linear.weight": "modulation.lin.weight", + "norm.linear.bias": "modulation.lin.bias", + "proj_out.weight": "linear2.weight", + "proj_out.bias": "linear2.bias", + "attn.norm_q.weight": "norm.query_norm.scale", + "attn.norm_k.weight": "norm.key_norm.scale", + } + + for k in block_map: + key_map["{}.{}".format(prefix_from, k)] = "{}.{}".format(prefix_to, block_map[k]) + + MAP_BASIC = { + ("final_layer.linear.bias", "proj_out.bias"), + ("final_layer.linear.weight", "proj_out.weight"), + ("img_in.bias", "x_embedder.bias"), + ("img_in.weight", "x_embedder.weight"), + ("time_in.in_layer.bias", "time_text_embed.timestep_embedder.linear_1.bias"), + ("time_in.in_layer.weight", "time_text_embed.timestep_embedder.linear_1.weight"), + ("time_in.out_layer.bias", "time_text_embed.timestep_embedder.linear_2.bias"), + ("time_in.out_layer.weight", "time_text_embed.timestep_embedder.linear_2.weight"), + ("txt_in.bias", "context_embedder.bias"), + ("txt_in.weight", "context_embedder.weight"), + ("vector_in.in_layer.bias", "time_text_embed.text_embedder.linear_1.bias"), + ("vector_in.in_layer.weight", "time_text_embed.text_embedder.linear_1.weight"), + ("vector_in.out_layer.bias", "time_text_embed.text_embedder.linear_2.bias"), + ("vector_in.out_layer.weight", "time_text_embed.text_embedder.linear_2.weight"), + ("guidance_in.in_layer.bias", "time_text_embed.guidance_embedder.linear_1.bias"), + ("guidance_in.in_layer.weight", "time_text_embed.guidance_embedder.linear_1.weight"), + ("guidance_in.out_layer.bias", "time_text_embed.guidance_embedder.linear_2.bias"), + ("guidance_in.out_layer.weight", "time_text_embed.guidance_embedder.linear_2.weight"), + ("final_layer.adaLN_modulation.1.bias", "norm_out.linear.bias", swap_scale_shift), + ("final_layer.adaLN_modulation.1.weight", "norm_out.linear.weight", swap_scale_shift), + ("pos_embed_input.bias", "controlnet_x_embedder.bias"), + ("pos_embed_input.weight", "controlnet_x_embedder.weight"), + } + + for k in MAP_BASIC: + if len(k) > 2: + key_map[k[1]] = ("{}{}".format(output_prefix, k[0]), None, k[2]) + else: + key_map[k[1]] = "{}{}".format(output_prefix, k[0]) + + return key_map + +def repeat_to_batch_size(tensor, batch_size, dim=0): + if tensor.shape[dim] > batch_size: + return tensor.narrow(dim, 0, batch_size) + elif tensor.shape[dim] < batch_size: + return tensor.repeat(dim * [1] + [math.ceil(batch_size / tensor.shape[dim])] + [1] * (len(tensor.shape) - 1 - dim)).narrow(dim, 0, batch_size) + return tensor + +def resize_to_batch_size(tensor, batch_size): + in_batch_size = tensor.shape[0] + if in_batch_size == batch_size: + return tensor + + if batch_size <= 1: + return tensor[:batch_size] + + output = torch.empty([batch_size] + list(tensor.shape)[1:], dtype=tensor.dtype, device=tensor.device) + if batch_size < in_batch_size: + scale = (in_batch_size - 1) / (batch_size - 1) + for i in range(batch_size): + output[i] = tensor[min(round(i * scale), in_batch_size - 1)] + else: + scale = in_batch_size / batch_size + for i in range(batch_size): + output[i] = tensor[min(math.floor((i + 0.5) * scale), in_batch_size - 1)] + + return output + +def convert_sd_to(state_dict, dtype): + keys = list(state_dict.keys()) + for k in keys: + state_dict[k] = state_dict[k].to(dtype) + return state_dict + +def safetensors_header(safetensors_path, max_size=100*1024*1024): + with open(safetensors_path, "rb") as f: + header = f.read(8) + length_of_header = struct.unpack(' max_size: + return None + return f.read(length_of_header) + +def set_attr(obj, attr, value): + attrs = attr.split(".") + for name in attrs[:-1]: + obj = getattr(obj, name) + prev = getattr(obj, attrs[-1]) + setattr(obj, attrs[-1], value) + return prev + +def set_attr_param(obj, attr, value): + return set_attr(obj, attr, torch.nn.Parameter(value, requires_grad=False)) + +def copy_to_param(obj, attr, value): + # inplace update tensor instead of replacing it + attrs = attr.split(".") + for name in attrs[:-1]: + obj = getattr(obj, name) + prev = getattr(obj, attrs[-1]) + prev.data.copy_(value) + +def get_attr(obj, attr: str): + """Retrieves a nested attribute from an object using dot notation. + + Args: + obj: The object to get the attribute from + attr (str): The attribute path using dot notation (e.g. "model.layer.weight") + + Returns: + The value of the requested attribute + + Example: + model = MyModel() + weight = get_attr(model, "layer1.conv.weight") + # Equivalent to: model.layer1.conv.weight + + Important: + Always prefer `comfy.model_patcher.ModelPatcher.get_model_object` when + accessing nested model objects under `ModelPatcher.model`. + """ + attrs = attr.split(".") + for name in attrs: + obj = getattr(obj, name) + return obj + +def bislerp(samples, width, height): + def slerp(b1, b2, r): + '''slerps batches b1, b2 according to ratio r, batches should be flat e.g. NxC''' + + c = b1.shape[-1] + + #norms + b1_norms = torch.norm(b1, dim=-1, keepdim=True) + b2_norms = torch.norm(b2, dim=-1, keepdim=True) + + #normalize + b1_normalized = b1 / b1_norms + b2_normalized = b2 / b2_norms + + #zero when norms are zero + b1_normalized[b1_norms.expand(-1,c) == 0.0] = 0.0 + b2_normalized[b2_norms.expand(-1,c) == 0.0] = 0.0 + + #slerp + dot = (b1_normalized*b2_normalized).sum(1) + omega = torch.acos(dot) + so = torch.sin(omega) + + #technically not mathematically correct, but more pleasing? + res = (torch.sin((1.0-r.squeeze(1))*omega)/so).unsqueeze(1)*b1_normalized + (torch.sin(r.squeeze(1)*omega)/so).unsqueeze(1) * b2_normalized + res *= (b1_norms * (1.0-r) + b2_norms * r).expand(-1,c) + + #edge cases for same or polar opposites + res[dot > 1 - 1e-5] = b1[dot > 1 - 1e-5] + res[dot < 1e-5 - 1] = (b1 * (1.0-r) + b2 * r)[dot < 1e-5 - 1] + return res + + def generate_bilinear_data(length_old, length_new, device): + coords_1 = torch.arange(length_old, dtype=torch.float32, device=device).reshape((1,1,1,-1)) + coords_1 = torch.nn.functional.interpolate(coords_1, size=(1, length_new), mode="bilinear") + ratios = coords_1 - coords_1.floor() + coords_1 = coords_1.to(torch.int64) + + coords_2 = torch.arange(length_old, dtype=torch.float32, device=device).reshape((1,1,1,-1)) + 1 + coords_2[:,:,:,-1] -= 1 + coords_2 = torch.nn.functional.interpolate(coords_2, size=(1, length_new), mode="bilinear") + coords_2 = coords_2.to(torch.int64) + return ratios, coords_1, coords_2 + + orig_dtype = samples.dtype + samples = samples.float() + n,c,h,w = samples.shape + h_new, w_new = (height, width) + + #linear w + ratios, coords_1, coords_2 = generate_bilinear_data(w, w_new, samples.device) + coords_1 = coords_1.expand((n, c, h, -1)) + coords_2 = coords_2.expand((n, c, h, -1)) + ratios = ratios.expand((n, 1, h, -1)) + + pass_1 = samples.gather(-1,coords_1).movedim(1, -1).reshape((-1,c)) + pass_2 = samples.gather(-1,coords_2).movedim(1, -1).reshape((-1,c)) + ratios = ratios.movedim(1, -1).reshape((-1,1)) + + result = slerp(pass_1, pass_2, ratios) + result = result.reshape(n, h, w_new, c).movedim(-1, 1) + + #linear h + ratios, coords_1, coords_2 = generate_bilinear_data(h, h_new, samples.device) + coords_1 = coords_1.reshape((1,1,-1,1)).expand((n, c, -1, w_new)) + coords_2 = coords_2.reshape((1,1,-1,1)).expand((n, c, -1, w_new)) + ratios = ratios.reshape((1,1,-1,1)).expand((n, 1, -1, w_new)) + + pass_1 = result.gather(-2,coords_1).movedim(1, -1).reshape((-1,c)) + pass_2 = result.gather(-2,coords_2).movedim(1, -1).reshape((-1,c)) + ratios = ratios.movedim(1, -1).reshape((-1,1)) + + result = slerp(pass_1, pass_2, ratios) + result = result.reshape(n, h_new, w_new, c).movedim(-1, 1) + return result.to(orig_dtype) + +def lanczos(samples, width, height): + images = [Image.fromarray(np.clip(255. * image.movedim(0, -1).cpu().numpy(), 0, 255).astype(np.uint8)) for image in samples] + images = [image.resize((width, height), resample=Image.Resampling.LANCZOS) for image in images] + images = [torch.from_numpy(np.array(image).astype(np.float32) / 255.0).movedim(-1, 0) for image in images] + result = torch.stack(images) + return result.to(samples.device, samples.dtype) + +def common_upscale(samples, width, height, upscale_method, crop): + orig_shape = tuple(samples.shape) + if len(orig_shape) > 4: + samples = samples.reshape(samples.shape[0], samples.shape[1], -1, samples.shape[-2], samples.shape[-1]) + samples = samples.movedim(2, 1) + samples = samples.reshape(-1, orig_shape[1], orig_shape[-2], orig_shape[-1]) + if crop == "center": + old_width = samples.shape[-1] + old_height = samples.shape[-2] + old_aspect = old_width / old_height + new_aspect = width / height + x = 0 + y = 0 + if old_aspect > new_aspect: + x = round((old_width - old_width * (new_aspect / old_aspect)) / 2) + elif old_aspect < new_aspect: + y = round((old_height - old_height * (old_aspect / new_aspect)) / 2) + s = samples.narrow(-2, y, old_height - y * 2).narrow(-1, x, old_width - x * 2) + else: + s = samples + + if upscale_method == "bislerp": + out = bislerp(s, width, height) + elif upscale_method == "lanczos": + out = lanczos(s, width, height) + else: + out = torch.nn.functional.interpolate(s, size=(height, width), mode=upscale_method) + + if len(orig_shape) == 4: + return out + + out = out.reshape((orig_shape[0], -1, orig_shape[1]) + (height, width)) + return out.movedim(2, 1).reshape(orig_shape[:-2] + (height, width)) + +def get_tiled_scale_steps(width, height, tile_x, tile_y, overlap): + rows = 1 if height <= tile_y else math.ceil((height - overlap) / (tile_y - overlap)) + cols = 1 if width <= tile_x else math.ceil((width - overlap) / (tile_x - overlap)) + return rows * cols + +@torch.inference_mode() +def tiled_scale_multidim(samples, function, tile=(64, 64), overlap=8, upscale_amount=4, out_channels=3, output_device="cpu", downscale=False, index_formulas=None, pbar=None): + dims = len(tile) + + if not (isinstance(upscale_amount, (tuple, list))): + upscale_amount = [upscale_amount] * dims + + if not (isinstance(overlap, (tuple, list))): + overlap = [overlap] * dims + + if index_formulas is None: + index_formulas = upscale_amount + + if not (isinstance(index_formulas, (tuple, list))): + index_formulas = [index_formulas] * dims + + def get_upscale(dim, val): + up = upscale_amount[dim] + if callable(up): + return up(val) + else: + return up * val + + def get_downscale(dim, val): + up = upscale_amount[dim] + if callable(up): + return up(val) + else: + return val / up + + def get_upscale_pos(dim, val): + up = index_formulas[dim] + if callable(up): + return up(val) + else: + return up * val + + def get_downscale_pos(dim, val): + up = index_formulas[dim] + if callable(up): + return up(val) + else: + return val / up + + if downscale: + get_scale = get_downscale + get_pos = get_downscale_pos + else: + get_scale = get_upscale + get_pos = get_upscale_pos + + def mult_list_upscale(a): + out = [] + for i in range(len(a)): + out.append(round(get_scale(i, a[i]))) + return out + + output = torch.empty([samples.shape[0], out_channels] + mult_list_upscale(samples.shape[2:]), device=output_device) + + for b in range(samples.shape[0]): + s = samples[b:b+1] + + # handle entire input fitting in a single tile + if all(s.shape[d+2] <= tile[d] for d in range(dims)): + output[b:b+1] = function(s).to(output_device) + if pbar is not None: + pbar.update(1) + continue + + out = torch.zeros([s.shape[0], out_channels] + mult_list_upscale(s.shape[2:]), device=output_device) + out_div = torch.zeros([s.shape[0], out_channels] + mult_list_upscale(s.shape[2:]), device=output_device) + + positions = [range(0, s.shape[d+2] - overlap[d], tile[d] - overlap[d]) if s.shape[d+2] > tile[d] else [0] for d in range(dims)] + + for it in itertools.product(*positions): + s_in = s + upscaled = [] + + for d in range(dims): + pos = max(0, min(s.shape[d + 2] - overlap[d], it[d])) + l = min(tile[d], s.shape[d + 2] - pos) + s_in = s_in.narrow(d + 2, pos, l) + upscaled.append(round(get_pos(d, pos))) + + ps = function(s_in).to(output_device) + mask = torch.ones_like(ps) + + for d in range(2, dims + 2): + feather = round(get_scale(d - 2, overlap[d - 2])) + if feather >= mask.shape[d]: + continue + for t in range(feather): + a = (t + 1) / feather + mask.narrow(d, t, 1).mul_(a) + mask.narrow(d, mask.shape[d] - 1 - t, 1).mul_(a) + + o = out + o_d = out_div + for d in range(dims): + o = o.narrow(d + 2, upscaled[d], mask.shape[d + 2]) + o_d = o_d.narrow(d + 2, upscaled[d], mask.shape[d + 2]) + + o.add_(ps * mask) + o_d.add_(mask) + + if pbar is not None: + pbar.update(1) + + output[b:b+1] = out/out_div + return output + +def tiled_scale(samples, function, tile_x=64, tile_y=64, overlap = 8, upscale_amount = 4, out_channels = 3, output_device="cpu", pbar = None): + return tiled_scale_multidim(samples, function, (tile_y, tile_x), overlap=overlap, upscale_amount=upscale_amount, out_channels=out_channels, output_device=output_device, pbar=pbar) + +PROGRESS_BAR_ENABLED = True +def set_progress_bar_enabled(enabled): + global PROGRESS_BAR_ENABLED + PROGRESS_BAR_ENABLED = enabled + +PROGRESS_BAR_HOOK = None +def set_progress_bar_global_hook(function): + global PROGRESS_BAR_HOOK + PROGRESS_BAR_HOOK = function + +class ProgressBar: + def __init__(self, total): + global PROGRESS_BAR_HOOK + self.total = total + self.current = 0 + self.hook = PROGRESS_BAR_HOOK + + def update_absolute(self, value, total=None, preview=None): + if total is not None: + self.total = total + if value > self.total: + value = self.total + self.current = value + if self.hook is not None: + self.hook(self.current, self.total, preview) + + def update(self, value): + self.update_absolute(self.current + value) + +def reshape_mask(input_mask, output_shape): + dims = len(output_shape) - 2 + + if dims == 1: + scale_mode = "linear" + + if dims == 2: + input_mask = input_mask.reshape((-1, 1, input_mask.shape[-2], input_mask.shape[-1])) + scale_mode = "bilinear" + + if dims == 3: + if len(input_mask.shape) < 5: + input_mask = input_mask.reshape((1, 1, -1, input_mask.shape[-2], input_mask.shape[-1])) + scale_mode = "trilinear" + + mask = torch.nn.functional.interpolate(input_mask, size=output_shape[2:], mode=scale_mode) + if mask.shape[1] < output_shape[1]: + mask = mask.repeat((1, output_shape[1]) + (1,) * dims)[:,:output_shape[1]] + mask = repeat_to_batch_size(mask, output_shape[0]) + return mask + +def upscale_dit_mask(mask: torch.Tensor, img_size_in, img_size_out): + hi, wi = img_size_in + ho, wo = img_size_out + # if it's already the correct size, no need to do anything + if (hi, wi) == (ho, wo): + return mask + if mask.ndim == 2: + mask = mask.unsqueeze(0) + if mask.ndim != 3: + raise ValueError(f"Got a mask of shape {list(mask.shape)}, expected [b, q, k] or [q, k]") + txt_tokens = mask.shape[1] - (hi * wi) + # quadrants of the mask + txt_to_txt = mask[:, :txt_tokens, :txt_tokens] + txt_to_img = mask[:, :txt_tokens, txt_tokens:] + img_to_img = mask[:, txt_tokens:, txt_tokens:] + img_to_txt = mask[:, txt_tokens:, :txt_tokens] + + # convert to 1d x 2d, interpolate, then back to 1d x 1d + txt_to_img = rearrange (txt_to_img, "b t (h w) -> b t h w", h=hi, w=wi) + txt_to_img = interpolate(txt_to_img, size=img_size_out, mode="bilinear") + txt_to_img = rearrange (txt_to_img, "b t h w -> b t (h w)") + # this one is hard because we have to do it twice + # convert to 1d x 2d, interpolate, then to 2d x 1d, interpolate, then 1d x 1d + img_to_img = rearrange (img_to_img, "b hw (h w) -> b hw h w", h=hi, w=wi) + img_to_img = interpolate(img_to_img, size=img_size_out, mode="bilinear") + img_to_img = rearrange (img_to_img, "b (hk wk) hq wq -> b (hq wq) hk wk", hk=hi, wk=wi) + img_to_img = interpolate(img_to_img, size=img_size_out, mode="bilinear") + img_to_img = rearrange (img_to_img, "b (hq wq) hk wk -> b (hk wk) (hq wq)", hq=ho, wq=wo) + # convert to 2d x 1d, interpolate, then back to 1d x 1d + img_to_txt = rearrange (img_to_txt, "b (h w) t -> b t h w", h=hi, w=wi) + img_to_txt = interpolate(img_to_txt, size=img_size_out, mode="bilinear") + img_to_txt = rearrange (img_to_txt, "b t h w -> b (h w) t") + + # reassemble the mask from blocks + out = torch.cat([ + torch.cat([txt_to_txt, txt_to_img], dim=2), + torch.cat([img_to_txt, img_to_img], dim=2)], + dim=1 + ) + return out diff --git a/comfy_execution/caching.py b/comfy_execution/caching.py new file mode 100644 index 0000000000000000000000000000000000000000..630f280fc5e94ae7fd1cfa81f290a49f2a506e8a --- /dev/null +++ b/comfy_execution/caching.py @@ -0,0 +1,318 @@ +import itertools +from typing import Sequence, Mapping, Dict +from comfy_execution.graph import DynamicPrompt + +import nodes + +from comfy_execution.graph_utils import is_link + +NODE_CLASS_CONTAINS_UNIQUE_ID: Dict[str, bool] = {} + + +def include_unique_id_in_input(class_type: str) -> bool: + if class_type in NODE_CLASS_CONTAINS_UNIQUE_ID: + return NODE_CLASS_CONTAINS_UNIQUE_ID[class_type] + class_def = nodes.NODE_CLASS_MAPPINGS[class_type] + NODE_CLASS_CONTAINS_UNIQUE_ID[class_type] = "UNIQUE_ID" in class_def.INPUT_TYPES().get("hidden", {}).values() + return NODE_CLASS_CONTAINS_UNIQUE_ID[class_type] + +class CacheKeySet: + def __init__(self, dynprompt, node_ids, is_changed_cache): + self.keys = {} + self.subcache_keys = {} + + def add_keys(self, node_ids): + raise NotImplementedError() + + def all_node_ids(self): + return set(self.keys.keys()) + + def get_used_keys(self): + return self.keys.values() + + def get_used_subcache_keys(self): + return self.subcache_keys.values() + + def get_data_key(self, node_id): + return self.keys.get(node_id, None) + + def get_subcache_key(self, node_id): + return self.subcache_keys.get(node_id, None) + +class Unhashable: + def __init__(self): + self.value = float("NaN") + +def to_hashable(obj): + # So that we don't infinitely recurse since frozenset and tuples + # are Sequences. + if isinstance(obj, (int, float, str, bool, type(None))): + return obj + elif isinstance(obj, Mapping): + return frozenset([(to_hashable(k), to_hashable(v)) for k, v in sorted(obj.items())]) + elif isinstance(obj, Sequence): + return frozenset(zip(itertools.count(), [to_hashable(i) for i in obj])) + else: + # TODO - Support other objects like tensors? + return Unhashable() + +class CacheKeySetID(CacheKeySet): + def __init__(self, dynprompt, node_ids, is_changed_cache): + super().__init__(dynprompt, node_ids, is_changed_cache) + self.dynprompt = dynprompt + self.add_keys(node_ids) + + def add_keys(self, node_ids): + for node_id in node_ids: + if node_id in self.keys: + continue + if not self.dynprompt.has_node(node_id): + continue + node = self.dynprompt.get_node(node_id) + self.keys[node_id] = (node_id, node["class_type"]) + self.subcache_keys[node_id] = (node_id, node["class_type"]) + +class CacheKeySetInputSignature(CacheKeySet): + def __init__(self, dynprompt, node_ids, is_changed_cache): + super().__init__(dynprompt, node_ids, is_changed_cache) + self.dynprompt = dynprompt + self.is_changed_cache = is_changed_cache + self.add_keys(node_ids) + + def include_node_id_in_input(self) -> bool: + return False + + def add_keys(self, node_ids): + for node_id in node_ids: + if node_id in self.keys: + continue + if not self.dynprompt.has_node(node_id): + continue + node = self.dynprompt.get_node(node_id) + self.keys[node_id] = self.get_node_signature(self.dynprompt, node_id) + self.subcache_keys[node_id] = (node_id, node["class_type"]) + + def get_node_signature(self, dynprompt, node_id): + signature = [] + ancestors, order_mapping = self.get_ordered_ancestry(dynprompt, node_id) + signature.append(self.get_immediate_node_signature(dynprompt, node_id, order_mapping)) + for ancestor_id in ancestors: + signature.append(self.get_immediate_node_signature(dynprompt, ancestor_id, order_mapping)) + return to_hashable(signature) + + def get_immediate_node_signature(self, dynprompt, node_id, ancestor_order_mapping): + if not dynprompt.has_node(node_id): + # This node doesn't exist -- we can't cache it. + return [float("NaN")] + node = dynprompt.get_node(node_id) + class_type = node["class_type"] + class_def = nodes.NODE_CLASS_MAPPINGS[class_type] + signature = [class_type, self.is_changed_cache.get(node_id)] + if self.include_node_id_in_input() or (hasattr(class_def, "NOT_IDEMPOTENT") and class_def.NOT_IDEMPOTENT) or include_unique_id_in_input(class_type): + signature.append(node_id) + inputs = node["inputs"] + for key in sorted(inputs.keys()): + if is_link(inputs[key]): + (ancestor_id, ancestor_socket) = inputs[key] + ancestor_index = ancestor_order_mapping[ancestor_id] + signature.append((key,("ANCESTOR", ancestor_index, ancestor_socket))) + else: + signature.append((key, inputs[key])) + return signature + + # This function returns a list of all ancestors of the given node. The order of the list is + # deterministic based on which specific inputs the ancestor is connected by. + def get_ordered_ancestry(self, dynprompt, node_id): + ancestors = [] + order_mapping = {} + self.get_ordered_ancestry_internal(dynprompt, node_id, ancestors, order_mapping) + return ancestors, order_mapping + + def get_ordered_ancestry_internal(self, dynprompt, node_id, ancestors, order_mapping): + if not dynprompt.has_node(node_id): + return + inputs = dynprompt.get_node(node_id)["inputs"] + input_keys = sorted(inputs.keys()) + for key in input_keys: + if is_link(inputs[key]): + ancestor_id = inputs[key][0] + if ancestor_id not in order_mapping: + ancestors.append(ancestor_id) + order_mapping[ancestor_id] = len(ancestors) - 1 + self.get_ordered_ancestry_internal(dynprompt, ancestor_id, ancestors, order_mapping) + +class BasicCache: + def __init__(self, key_class): + self.key_class = key_class + self.initialized = False + self.dynprompt: DynamicPrompt + self.cache_key_set: CacheKeySet + self.cache = {} + self.subcaches = {} + + def set_prompt(self, dynprompt, node_ids, is_changed_cache): + self.dynprompt = dynprompt + self.cache_key_set = self.key_class(dynprompt, node_ids, is_changed_cache) + self.is_changed_cache = is_changed_cache + self.initialized = True + + def all_node_ids(self): + assert self.initialized + node_ids = self.cache_key_set.all_node_ids() + for subcache in self.subcaches.values(): + node_ids = node_ids.union(subcache.all_node_ids()) + return node_ids + + def _clean_cache(self): + preserve_keys = set(self.cache_key_set.get_used_keys()) + to_remove = [] + for key in self.cache: + if key not in preserve_keys: + to_remove.append(key) + for key in to_remove: + del self.cache[key] + + def _clean_subcaches(self): + preserve_subcaches = set(self.cache_key_set.get_used_subcache_keys()) + + to_remove = [] + for key in self.subcaches: + if key not in preserve_subcaches: + to_remove.append(key) + for key in to_remove: + del self.subcaches[key] + + def clean_unused(self): + assert self.initialized + self._clean_cache() + self._clean_subcaches() + + def _set_immediate(self, node_id, value): + assert self.initialized + cache_key = self.cache_key_set.get_data_key(node_id) + self.cache[cache_key] = value + + def _get_immediate(self, node_id): + if not self.initialized: + return None + cache_key = self.cache_key_set.get_data_key(node_id) + if cache_key in self.cache: + return self.cache[cache_key] + else: + return None + + def _ensure_subcache(self, node_id, children_ids): + subcache_key = self.cache_key_set.get_subcache_key(node_id) + subcache = self.subcaches.get(subcache_key, None) + if subcache is None: + subcache = BasicCache(self.key_class) + self.subcaches[subcache_key] = subcache + subcache.set_prompt(self.dynprompt, children_ids, self.is_changed_cache) + return subcache + + def _get_subcache(self, node_id): + assert self.initialized + subcache_key = self.cache_key_set.get_subcache_key(node_id) + if subcache_key in self.subcaches: + return self.subcaches[subcache_key] + else: + return None + + def recursive_debug_dump(self): + result = [] + for key in self.cache: + result.append({"key": key, "value": self.cache[key]}) + for key in self.subcaches: + result.append({"subcache_key": key, "subcache": self.subcaches[key].recursive_debug_dump()}) + return result + +class HierarchicalCache(BasicCache): + def __init__(self, key_class): + super().__init__(key_class) + + def _get_cache_for(self, node_id): + assert self.dynprompt is not None + parent_id = self.dynprompt.get_parent_node_id(node_id) + if parent_id is None: + return self + + hierarchy = [] + while parent_id is not None: + hierarchy.append(parent_id) + parent_id = self.dynprompt.get_parent_node_id(parent_id) + + cache = self + for parent_id in reversed(hierarchy): + cache = cache._get_subcache(parent_id) + if cache is None: + return None + return cache + + def get(self, node_id): + cache = self._get_cache_for(node_id) + if cache is None: + return None + return cache._get_immediate(node_id) + + def set(self, node_id, value): + cache = self._get_cache_for(node_id) + assert cache is not None + cache._set_immediate(node_id, value) + + def ensure_subcache_for(self, node_id, children_ids): + cache = self._get_cache_for(node_id) + assert cache is not None + return cache._ensure_subcache(node_id, children_ids) + +class LRUCache(BasicCache): + def __init__(self, key_class, max_size=100): + super().__init__(key_class) + self.max_size = max_size + self.min_generation = 0 + self.generation = 0 + self.used_generation = {} + self.children = {} + + def set_prompt(self, dynprompt, node_ids, is_changed_cache): + super().set_prompt(dynprompt, node_ids, is_changed_cache) + self.generation += 1 + for node_id in node_ids: + self._mark_used(node_id) + + def clean_unused(self): + while len(self.cache) > self.max_size and self.min_generation < self.generation: + self.min_generation += 1 + to_remove = [key for key in self.cache if self.used_generation[key] < self.min_generation] + for key in to_remove: + del self.cache[key] + del self.used_generation[key] + if key in self.children: + del self.children[key] + self._clean_subcaches() + + def get(self, node_id): + self._mark_used(node_id) + return self._get_immediate(node_id) + + def _mark_used(self, node_id): + cache_key = self.cache_key_set.get_data_key(node_id) + if cache_key is not None: + self.used_generation[cache_key] = self.generation + + def set(self, node_id, value): + self._mark_used(node_id) + return self._set_immediate(node_id, value) + + def ensure_subcache_for(self, node_id, children_ids): + # Just uses subcaches for tracking 'live' nodes + super()._ensure_subcache(node_id, children_ids) + + self.cache_key_set.add_keys(children_ids) + self._mark_used(node_id) + cache_key = self.cache_key_set.get_data_key(node_id) + self.children[cache_key] = [] + for child_id in children_ids: + self._mark_used(child_id) + self.children[cache_key].append(self.cache_key_set.get_data_key(child_id)) + return self + diff --git a/comfy_execution/graph.py b/comfy_execution/graph.py new file mode 100644 index 0000000000000000000000000000000000000000..59b42b746f517b0cf6a0a4de333a74ba93bae1df --- /dev/null +++ b/comfy_execution/graph.py @@ -0,0 +1,270 @@ +import nodes + +from comfy_execution.graph_utils import is_link + +class DependencyCycleError(Exception): + pass + +class NodeInputError(Exception): + pass + +class NodeNotFoundError(Exception): + pass + +class DynamicPrompt: + def __init__(self, original_prompt): + # The original prompt provided by the user + self.original_prompt = original_prompt + # Any extra pieces of the graph created during execution + self.ephemeral_prompt = {} + self.ephemeral_parents = {} + self.ephemeral_display = {} + + def get_node(self, node_id): + if node_id in self.ephemeral_prompt: + return self.ephemeral_prompt[node_id] + if node_id in self.original_prompt: + return self.original_prompt[node_id] + raise NodeNotFoundError(f"Node {node_id} not found") + + def has_node(self, node_id): + return node_id in self.original_prompt or node_id in self.ephemeral_prompt + + def add_ephemeral_node(self, node_id, node_info, parent_id, display_id): + self.ephemeral_prompt[node_id] = node_info + self.ephemeral_parents[node_id] = parent_id + self.ephemeral_display[node_id] = display_id + + def get_real_node_id(self, node_id): + while node_id in self.ephemeral_parents: + node_id = self.ephemeral_parents[node_id] + return node_id + + def get_parent_node_id(self, node_id): + return self.ephemeral_parents.get(node_id, None) + + def get_display_node_id(self, node_id): + while node_id in self.ephemeral_display: + node_id = self.ephemeral_display[node_id] + return node_id + + def all_node_ids(self): + return set(self.original_prompt.keys()).union(set(self.ephemeral_prompt.keys())) + + def get_original_prompt(self): + return self.original_prompt + +def get_input_info(class_def, input_name, valid_inputs=None): + valid_inputs = valid_inputs or class_def.INPUT_TYPES() + input_info = None + input_category = None + if "required" in valid_inputs and input_name in valid_inputs["required"]: + input_category = "required" + input_info = valid_inputs["required"][input_name] + elif "optional" in valid_inputs and input_name in valid_inputs["optional"]: + input_category = "optional" + input_info = valid_inputs["optional"][input_name] + elif "hidden" in valid_inputs and input_name in valid_inputs["hidden"]: + input_category = "hidden" + input_info = valid_inputs["hidden"][input_name] + if input_info is None: + return None, None, None + input_type = input_info[0] + if len(input_info) > 1: + extra_info = input_info[1] + else: + extra_info = {} + return input_type, input_category, extra_info + +class TopologicalSort: + def __init__(self, dynprompt): + self.dynprompt = dynprompt + self.pendingNodes = {} + self.blockCount = {} # Number of nodes this node is directly blocked by + self.blocking = {} # Which nodes are blocked by this node + + def get_input_info(self, unique_id, input_name): + class_type = self.dynprompt.get_node(unique_id)["class_type"] + class_def = nodes.NODE_CLASS_MAPPINGS[class_type] + return get_input_info(class_def, input_name) + + def make_input_strong_link(self, to_node_id, to_input): + inputs = self.dynprompt.get_node(to_node_id)["inputs"] + if to_input not in inputs: + raise NodeInputError(f"Node {to_node_id} says it needs input {to_input}, but there is no input to that node at all") + value = inputs[to_input] + if not is_link(value): + raise NodeInputError(f"Node {to_node_id} says it needs input {to_input}, but that value is a constant") + from_node_id, from_socket = value + self.add_strong_link(from_node_id, from_socket, to_node_id) + + def add_strong_link(self, from_node_id, from_socket, to_node_id): + if not self.is_cached(from_node_id): + self.add_node(from_node_id) + if to_node_id not in self.blocking[from_node_id]: + self.blocking[from_node_id][to_node_id] = {} + self.blockCount[to_node_id] += 1 + self.blocking[from_node_id][to_node_id][from_socket] = True + + def add_node(self, node_unique_id, include_lazy=False, subgraph_nodes=None): + node_ids = [node_unique_id] + links = [] + + while len(node_ids) > 0: + unique_id = node_ids.pop() + if unique_id in self.pendingNodes: + continue + + self.pendingNodes[unique_id] = True + self.blockCount[unique_id] = 0 + self.blocking[unique_id] = {} + + inputs = self.dynprompt.get_node(unique_id)["inputs"] + for input_name in inputs: + value = inputs[input_name] + if is_link(value): + from_node_id, from_socket = value + if subgraph_nodes is not None and from_node_id not in subgraph_nodes: + continue + input_type, input_category, input_info = self.get_input_info(unique_id, input_name) + is_lazy = input_info is not None and "lazy" in input_info and input_info["lazy"] + if (include_lazy or not is_lazy) and not self.is_cached(from_node_id): + node_ids.append(from_node_id) + links.append((from_node_id, from_socket, unique_id)) + + for link in links: + self.add_strong_link(*link) + + def is_cached(self, node_id): + return False + + def get_ready_nodes(self): + return [node_id for node_id in self.pendingNodes if self.blockCount[node_id] == 0] + + def pop_node(self, unique_id): + del self.pendingNodes[unique_id] + for blocked_node_id in self.blocking[unique_id]: + self.blockCount[blocked_node_id] -= 1 + del self.blocking[unique_id] + + def is_empty(self): + return len(self.pendingNodes) == 0 + +class ExecutionList(TopologicalSort): + """ + ExecutionList implements a topological dissolve of the graph. After a node is staged for execution, + it can still be returned to the graph after having further dependencies added. + """ + def __init__(self, dynprompt, output_cache): + super().__init__(dynprompt) + self.output_cache = output_cache + self.staged_node_id = None + + def is_cached(self, node_id): + return self.output_cache.get(node_id) is not None + + def stage_node_execution(self): + assert self.staged_node_id is None + if self.is_empty(): + return None, None, None + available = self.get_ready_nodes() + if len(available) == 0: + cycled_nodes = self.get_nodes_in_cycle() + # Because cycles composed entirely of static nodes are caught during initial validation, + # we will 'blame' the first node in the cycle that is not a static node. + blamed_node = cycled_nodes[0] + for node_id in cycled_nodes: + display_node_id = self.dynprompt.get_display_node_id(node_id) + if display_node_id != node_id: + blamed_node = display_node_id + break + ex = DependencyCycleError("Dependency cycle detected") + error_details = { + "node_id": blamed_node, + "exception_message": str(ex), + "exception_type": "graph.DependencyCycleError", + "traceback": [], + "current_inputs": [] + } + return None, error_details, ex + + self.staged_node_id = self.ux_friendly_pick_node(available) + return self.staged_node_id, None, None + + def ux_friendly_pick_node(self, node_list): + # If an output node is available, do that first. + # Technically this has no effect on the overall length of execution, but it feels better as a user + # for a PreviewImage to display a result as soon as it can + # Some other heuristics could probably be used here to improve the UX further. + def is_output(node_id): + class_type = self.dynprompt.get_node(node_id)["class_type"] + class_def = nodes.NODE_CLASS_MAPPINGS[class_type] + if hasattr(class_def, 'OUTPUT_NODE') and class_def.OUTPUT_NODE == True: + return True + return False + + for node_id in node_list: + if is_output(node_id): + return node_id + + #This should handle the VAEDecode -> preview case + for node_id in node_list: + for blocked_node_id in self.blocking[node_id]: + if is_output(blocked_node_id): + return node_id + + #This should handle the VAELoader -> VAEDecode -> preview case + for node_id in node_list: + for blocked_node_id in self.blocking[node_id]: + for blocked_node_id1 in self.blocking[blocked_node_id]: + if is_output(blocked_node_id1): + return node_id + + #TODO: this function should be improved + return node_list[0] + + def unstage_node_execution(self): + assert self.staged_node_id is not None + self.staged_node_id = None + + def complete_node_execution(self): + node_id = self.staged_node_id + self.pop_node(node_id) + self.staged_node_id = None + + def get_nodes_in_cycle(self): + # We'll dissolve the graph in reverse topological order to leave only the nodes in the cycle. + # We're skipping some of the performance optimizations from the original TopologicalSort to keep + # the code simple (and because having a cycle in the first place is a catastrophic error) + blocked_by = { node_id: {} for node_id in self.pendingNodes } + for from_node_id in self.blocking: + for to_node_id in self.blocking[from_node_id]: + if True in self.blocking[from_node_id][to_node_id].values(): + blocked_by[to_node_id][from_node_id] = True + to_remove = [node_id for node_id in blocked_by if len(blocked_by[node_id]) == 0] + while len(to_remove) > 0: + for node_id in to_remove: + for to_node_id in blocked_by: + if node_id in blocked_by[to_node_id]: + del blocked_by[to_node_id][node_id] + del blocked_by[node_id] + to_remove = [node_id for node_id in blocked_by if len(blocked_by[node_id]) == 0] + return list(blocked_by.keys()) + +class ExecutionBlocker: + """ + Return this from a node and any users will be blocked with the given error message. + If the message is None, execution will be blocked silently instead. + Generally, you should avoid using this functionality unless absolutely necessary. Whenever it's + possible, a lazy input will be more efficient and have a better user experience. + This functionality is useful in two cases: + 1. You want to conditionally prevent an output node from executing. (Particularly a built-in node + like SaveImage. For your own output nodes, I would recommend just adding a BOOL input and using + lazy evaluation to let it conditionally disable itself.) + 2. You have a node with multiple possible outputs, some of which are invalid and should not be used. + (I would recommend not making nodes like this in the future -- instead, make multiple nodes with + different outputs. Unfortunately, there are several popular existing nodes using this pattern.) + """ + def __init__(self, message): + self.message = message + diff --git a/comfy_execution/graph_utils.py b/comfy_execution/graph_utils.py new file mode 100644 index 0000000000000000000000000000000000000000..8595e942d32160152c3c0163c85ad9bcd2e68d45 --- /dev/null +++ b/comfy_execution/graph_utils.py @@ -0,0 +1,139 @@ +def is_link(obj): + if not isinstance(obj, list): + return False + if len(obj) != 2: + return False + if not isinstance(obj[0], str): + return False + if not isinstance(obj[1], int) and not isinstance(obj[1], float): + return False + return True + +# The GraphBuilder is just a utility class that outputs graphs in the form expected by the ComfyUI back-end +class GraphBuilder: + _default_prefix_root = "" + _default_prefix_call_index = 0 + _default_prefix_graph_index = 0 + + def __init__(self, prefix = None): + if prefix is None: + self.prefix = GraphBuilder.alloc_prefix() + else: + self.prefix = prefix + self.nodes = {} + self.id_gen = 1 + + @classmethod + def set_default_prefix(cls, prefix_root, call_index, graph_index = 0): + cls._default_prefix_root = prefix_root + cls._default_prefix_call_index = call_index + cls._default_prefix_graph_index = graph_index + + @classmethod + def alloc_prefix(cls, root=None, call_index=None, graph_index=None): + if root is None: + root = GraphBuilder._default_prefix_root + if call_index is None: + call_index = GraphBuilder._default_prefix_call_index + if graph_index is None: + graph_index = GraphBuilder._default_prefix_graph_index + result = f"{root}.{call_index}.{graph_index}." + GraphBuilder._default_prefix_graph_index += 1 + return result + + def node(self, class_type, id=None, **kwargs): + if id is None: + id = str(self.id_gen) + self.id_gen += 1 + id = self.prefix + id + if id in self.nodes: + return self.nodes[id] + + node = Node(id, class_type, kwargs) + self.nodes[id] = node + return node + + def lookup_node(self, id): + id = self.prefix + id + return self.nodes.get(id) + + def finalize(self): + output = {} + for node_id, node in self.nodes.items(): + output[node_id] = node.serialize() + return output + + def replace_node_output(self, node_id, index, new_value): + node_id = self.prefix + node_id + to_remove = [] + for node in self.nodes.values(): + for key, value in node.inputs.items(): + if is_link(value) and value[0] == node_id and value[1] == index: + if new_value is None: + to_remove.append((node, key)) + else: + node.inputs[key] = new_value + for node, key in to_remove: + del node.inputs[key] + + def remove_node(self, id): + id = self.prefix + id + del self.nodes[id] + +class Node: + def __init__(self, id, class_type, inputs): + self.id = id + self.class_type = class_type + self.inputs = inputs + self.override_display_id = None + + def out(self, index): + return [self.id, index] + + def set_input(self, key, value): + if value is None: + if key in self.inputs: + del self.inputs[key] + else: + self.inputs[key] = value + + def get_input(self, key): + return self.inputs.get(key) + + def set_override_display_id(self, override_display_id): + self.override_display_id = override_display_id + + def serialize(self): + serialized = { + "class_type": self.class_type, + "inputs": self.inputs + } + if self.override_display_id is not None: + serialized["override_display_id"] = self.override_display_id + return serialized + +def add_graph_prefix(graph, outputs, prefix): + # Change the node IDs and any internal links + new_graph = {} + for node_id, node_info in graph.items(): + # Make sure the added nodes have unique IDs + new_node_id = prefix + node_id + new_node = { "class_type": node_info["class_type"], "inputs": {} } + for input_name, input_value in node_info.get("inputs", {}).items(): + if is_link(input_value): + new_node["inputs"][input_name] = [prefix + input_value[0], input_value[1]] + else: + new_node["inputs"][input_name] = input_value + new_graph[new_node_id] = new_node + + # Change the node IDs in the outputs + new_outputs = [] + for n in range(len(outputs)): + output = outputs[n] + if is_link(output): + new_outputs.append([prefix + output[0], output[1]]) + else: + new_outputs.append(output) + + return new_graph, tuple(new_outputs) + diff --git a/comfy_execution/validation.py b/comfy_execution/validation.py new file mode 100644 index 0000000000000000000000000000000000000000..cec105fc9f1bfbecdc17c37cfec9ecf60f188814 --- /dev/null +++ b/comfy_execution/validation.py @@ -0,0 +1,39 @@ +from __future__ import annotations + + +def validate_node_input( + received_type: str, input_type: str, strict: bool = False +) -> bool: + """ + received_type and input_type are both strings of the form "T1,T2,...". + + If strict is True, the input_type must contain the received_type. + For example, if received_type is "STRING" and input_type is "STRING,INT", + this will return True. But if received_type is "STRING,INT" and input_type is + "INT", this will return False. + + If strict is False, the input_type must have overlap with the received_type. + For example, if received_type is "STRING,BOOLEAN" and input_type is "STRING,INT", + this will return True. + + Supports pre-union type extension behaviour of ``__ne__`` overrides. + """ + # If the types are exactly the same, we can return immediately + # Use pre-union behaviour: inverse of `__ne__` + if not received_type != input_type: + return True + + # Not equal, and not strings + if not isinstance(received_type, str) or not isinstance(input_type, str): + return False + + # Split the type strings into sets for comparison + received_types = set(t.strip() for t in received_type.split(",")) + input_types = set(t.strip() for t in input_type.split(",")) + + if strict: + # In strict mode, all received types must be in the input types + return received_types.issubset(input_types) + else: + # In non-strict mode, there must be at least one type in common + return len(received_types.intersection(input_types)) > 0 diff --git a/comfy_extras/chainner_models/model_loading.py b/comfy_extras/chainner_models/model_loading.py new file mode 100644 index 0000000000000000000000000000000000000000..1bec4476f6171e9f1b2a4a3b967fc63bbf9e9c3c --- /dev/null +++ b/comfy_extras/chainner_models/model_loading.py @@ -0,0 +1,6 @@ +import logging +from spandrel import ModelLoader + +def load_state_dict(state_dict): + logging.warning("comfy_extras.chainner_models is deprecated and has been replaced by the spandrel library.") + return ModelLoader().load_from_state_dict(state_dict).eval() diff --git a/comfy_extras/nodes_advanced_samplers.py b/comfy_extras/nodes_advanced_samplers.py new file mode 100644 index 0000000000000000000000000000000000000000..5fbb096fbf808e0c6d96159bee024873fb1f4c3e --- /dev/null +++ b/comfy_extras/nodes_advanced_samplers.py @@ -0,0 +1,111 @@ +import comfy.samplers +import comfy.utils +import torch +import numpy as np +from tqdm.auto import trange + + +@torch.no_grad() +def sample_lcm_upscale(model, x, sigmas, extra_args=None, callback=None, disable=None, total_upscale=2.0, upscale_method="bislerp", upscale_steps=None): + extra_args = {} if extra_args is None else extra_args + + if upscale_steps is None: + upscale_steps = max(len(sigmas) // 2 + 1, 2) + else: + upscale_steps += 1 + upscale_steps = min(upscale_steps, len(sigmas) + 1) + + upscales = np.linspace(1.0, total_upscale, upscale_steps)[1:] + + orig_shape = x.size() + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + + x = denoised + if i < len(upscales): + x = comfy.utils.common_upscale(x, round(orig_shape[-1] * upscales[i]), round(orig_shape[-2] * upscales[i]), upscale_method, "disabled") + + if sigmas[i + 1] > 0: + x += sigmas[i + 1] * torch.randn_like(x) + return x + + +class SamplerLCMUpscale: + upscale_methods = ["bislerp", "nearest-exact", "bilinear", "area", "bicubic"] + + @classmethod + def INPUT_TYPES(s): + return {"required": + {"scale_ratio": ("FLOAT", {"default": 1.0, "min": 0.1, "max": 20.0, "step": 0.01}), + "scale_steps": ("INT", {"default": -1, "min": -1, "max": 1000, "step": 1}), + "upscale_method": (s.upscale_methods,), + } + } + RETURN_TYPES = ("SAMPLER",) + CATEGORY = "sampling/custom_sampling/samplers" + + FUNCTION = "get_sampler" + + def get_sampler(self, scale_ratio, scale_steps, upscale_method): + if scale_steps < 0: + scale_steps = None + sampler = comfy.samplers.KSAMPLER(sample_lcm_upscale, extra_options={"total_upscale": scale_ratio, "upscale_steps": scale_steps, "upscale_method": upscale_method}) + return (sampler, ) + +from comfy.k_diffusion.sampling import to_d +import comfy.model_patcher + +@torch.no_grad() +def sample_euler_pp(model, x, sigmas, extra_args=None, callback=None, disable=None): + extra_args = {} if extra_args is None else extra_args + + temp = [0] + def post_cfg_function(args): + temp[0] = args["uncond_denoised"] + return args["denoised"] + + model_options = extra_args.get("model_options", {}).copy() + extra_args["model_options"] = comfy.model_patcher.set_model_options_post_cfg_function(model_options, post_cfg_function, disable_cfg1_optimization=True) + + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + sigma_hat = sigmas[i] + denoised = model(x, sigma_hat * s_in, **extra_args) + d = to_d(x - denoised + temp[0], sigmas[i], denoised) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigma_hat, 'denoised': denoised}) + dt = sigmas[i + 1] - sigma_hat + x = x + d * dt + return x + + +class SamplerEulerCFGpp: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"version": (["regular", "alternative"],),} + } + RETURN_TYPES = ("SAMPLER",) + # CATEGORY = "sampling/custom_sampling/samplers" + CATEGORY = "_for_testing" + + FUNCTION = "get_sampler" + + def get_sampler(self, version): + if version == "alternative": + sampler = comfy.samplers.KSAMPLER(sample_euler_pp) + else: + sampler = comfy.samplers.ksampler("euler_cfg_pp") + return (sampler, ) + +NODE_CLASS_MAPPINGS = { + "SamplerLCMUpscale": SamplerLCMUpscale, + "SamplerEulerCFGpp": SamplerEulerCFGpp, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "SamplerEulerCFGpp": "SamplerEulerCFG++", +} diff --git a/comfy_extras/nodes_align_your_steps.py b/comfy_extras/nodes_align_your_steps.py new file mode 100644 index 0000000000000000000000000000000000000000..8d856d0e8592414df823af27d53d421af7753f27 --- /dev/null +++ b/comfy_extras/nodes_align_your_steps.py @@ -0,0 +1,53 @@ +#from: https://research.nvidia.com/labs/toronto-ai/AlignYourSteps/howto.html +import numpy as np +import torch + +def loglinear_interp(t_steps, num_steps): + """ + Performs log-linear interpolation of a given array of decreasing numbers. + """ + xs = np.linspace(0, 1, len(t_steps)) + ys = np.log(t_steps[::-1]) + + new_xs = np.linspace(0, 1, num_steps) + new_ys = np.interp(new_xs, xs, ys) + + interped_ys = np.exp(new_ys)[::-1].copy() + return interped_ys + +NOISE_LEVELS = {"SD1": [14.6146412293, 6.4745760956, 3.8636745985, 2.6946151520, 1.8841921177, 1.3943805092, 0.9642583904, 0.6523686016, 0.3977456272, 0.1515232662, 0.0291671582], + "SDXL":[14.6146412293, 6.3184485287, 3.7681790315, 2.1811480769, 1.3405244945, 0.8620721141, 0.5550693289, 0.3798540708, 0.2332364134, 0.1114188177, 0.0291671582], + "SVD": [700.00, 54.5, 15.886, 7.977, 4.248, 1.789, 0.981, 0.403, 0.173, 0.034, 0.002]} + +class AlignYourStepsScheduler: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"model_type": (["SD1", "SDXL", "SVD"], ), + "steps": ("INT", {"default": 10, "min": 1, "max": 10000}), + "denoise": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}), + } + } + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/schedulers" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, model_type, steps, denoise): + total_steps = steps + if denoise < 1.0: + if denoise <= 0.0: + return (torch.FloatTensor([]),) + total_steps = round(steps * denoise) + + sigmas = NOISE_LEVELS[model_type][:] + if (steps + 1) != len(sigmas): + sigmas = loglinear_interp(sigmas, steps + 1) + + sigmas = sigmas[-(total_steps + 1):] + sigmas[-1] = 0 + return (torch.FloatTensor(sigmas), ) + +NODE_CLASS_MAPPINGS = { + "AlignYourStepsScheduler": AlignYourStepsScheduler, +} diff --git a/comfy_extras/nodes_attention_multiply.py b/comfy_extras/nodes_attention_multiply.py new file mode 100644 index 0000000000000000000000000000000000000000..4747eb39568afe9e19d34fd583531fcab1acba69 --- /dev/null +++ b/comfy_extras/nodes_attention_multiply.py @@ -0,0 +1,120 @@ + +def attention_multiply(attn, model, q, k, v, out): + m = model.clone() + sd = model.model_state_dict() + + for key in sd: + if key.endswith("{}.to_q.bias".format(attn)) or key.endswith("{}.to_q.weight".format(attn)): + m.add_patches({key: (None,)}, 0.0, q) + if key.endswith("{}.to_k.bias".format(attn)) or key.endswith("{}.to_k.weight".format(attn)): + m.add_patches({key: (None,)}, 0.0, k) + if key.endswith("{}.to_v.bias".format(attn)) or key.endswith("{}.to_v.weight".format(attn)): + m.add_patches({key: (None,)}, 0.0, v) + if key.endswith("{}.to_out.0.bias".format(attn)) or key.endswith("{}.to_out.0.weight".format(attn)): + m.add_patches({key: (None,)}, 0.0, out) + + return m + + +class UNetSelfAttentionMultiply: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "q": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "k": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "v": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "out": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "_for_testing/attention_experiments" + + def patch(self, model, q, k, v, out): + m = attention_multiply("attn1", model, q, k, v, out) + return (m, ) + +class UNetCrossAttentionMultiply: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "q": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "k": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "v": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "out": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "_for_testing/attention_experiments" + + def patch(self, model, q, k, v, out): + m = attention_multiply("attn2", model, q, k, v, out) + return (m, ) + +class CLIPAttentionMultiply: + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip": ("CLIP",), + "q": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "k": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "v": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "out": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + }} + RETURN_TYPES = ("CLIP",) + FUNCTION = "patch" + + CATEGORY = "_for_testing/attention_experiments" + + def patch(self, clip, q, k, v, out): + m = clip.clone() + sd = m.patcher.model_state_dict() + + for key in sd: + if key.endswith("self_attn.q_proj.weight") or key.endswith("self_attn.q_proj.bias"): + m.add_patches({key: (None,)}, 0.0, q) + if key.endswith("self_attn.k_proj.weight") or key.endswith("self_attn.k_proj.bias"): + m.add_patches({key: (None,)}, 0.0, k) + if key.endswith("self_attn.v_proj.weight") or key.endswith("self_attn.v_proj.bias"): + m.add_patches({key: (None,)}, 0.0, v) + if key.endswith("self_attn.out_proj.weight") or key.endswith("self_attn.out_proj.bias"): + m.add_patches({key: (None,)}, 0.0, out) + return (m, ) + +class UNetTemporalAttentionMultiply: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "self_structural": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "self_temporal": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "cross_structural": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "cross_temporal": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "_for_testing/attention_experiments" + + def patch(self, model, self_structural, self_temporal, cross_structural, cross_temporal): + m = model.clone() + sd = model.model_state_dict() + + for k in sd: + if (k.endswith("attn1.to_out.0.bias") or k.endswith("attn1.to_out.0.weight")): + if '.time_stack.' in k: + m.add_patches({k: (None,)}, 0.0, self_temporal) + else: + m.add_patches({k: (None,)}, 0.0, self_structural) + elif (k.endswith("attn2.to_out.0.bias") or k.endswith("attn2.to_out.0.weight")): + if '.time_stack.' in k: + m.add_patches({k: (None,)}, 0.0, cross_temporal) + else: + m.add_patches({k: (None,)}, 0.0, cross_structural) + return (m, ) + +NODE_CLASS_MAPPINGS = { + "UNetSelfAttentionMultiply": UNetSelfAttentionMultiply, + "UNetCrossAttentionMultiply": UNetCrossAttentionMultiply, + "CLIPAttentionMultiply": CLIPAttentionMultiply, + "UNetTemporalAttentionMultiply": UNetTemporalAttentionMultiply, +} diff --git a/comfy_extras/nodes_audio.py b/comfy_extras/nodes_audio.py new file mode 100644 index 0000000000000000000000000000000000000000..3cb918e09d3d53885447cfda1d160ec5a0fceccf --- /dev/null +++ b/comfy_extras/nodes_audio.py @@ -0,0 +1,251 @@ +import torchaudio +import torch +import comfy.model_management +import folder_paths +import os +import io +import json +import struct +import random +import hashlib +import node_helpers +from comfy.cli_args import args + +class EmptyLatentAudio: + def __init__(self): + self.device = comfy.model_management.intermediate_device() + + @classmethod + def INPUT_TYPES(s): + return {"required": {"seconds": ("FLOAT", {"default": 47.6, "min": 1.0, "max": 1000.0, "step": 0.1}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096, "tooltip": "The number of latent images in the batch."}), + }} + RETURN_TYPES = ("LATENT",) + FUNCTION = "generate" + + CATEGORY = "latent/audio" + + def generate(self, seconds, batch_size): + length = round((seconds * 44100 / 2048) / 2) * 2 + latent = torch.zeros([batch_size, 64, length], device=self.device) + return ({"samples":latent, "type": "audio"}, ) + +class ConditioningStableAudio: + @classmethod + def INPUT_TYPES(s): + return {"required": {"positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "seconds_start": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1000.0, "step": 0.1}), + "seconds_total": ("FLOAT", {"default": 47.0, "min": 0.0, "max": 1000.0, "step": 0.1}), + }} + + RETURN_TYPES = ("CONDITIONING","CONDITIONING") + RETURN_NAMES = ("positive", "negative") + + FUNCTION = "append" + + CATEGORY = "conditioning" + + def append(self, positive, negative, seconds_start, seconds_total): + positive = node_helpers.conditioning_set_values(positive, {"seconds_start": seconds_start, "seconds_total": seconds_total}) + negative = node_helpers.conditioning_set_values(negative, {"seconds_start": seconds_start, "seconds_total": seconds_total}) + return (positive, negative) + +class VAEEncodeAudio: + @classmethod + def INPUT_TYPES(s): + return {"required": { "audio": ("AUDIO", ), "vae": ("VAE", )}} + RETURN_TYPES = ("LATENT",) + FUNCTION = "encode" + + CATEGORY = "latent/audio" + + def encode(self, vae, audio): + sample_rate = audio["sample_rate"] + if 44100 != sample_rate: + waveform = torchaudio.functional.resample(audio["waveform"], sample_rate, 44100) + else: + waveform = audio["waveform"] + + t = vae.encode(waveform.movedim(1, -1)) + return ({"samples":t}, ) + +class VAEDecodeAudio: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples": ("LATENT", ), "vae": ("VAE", )}} + RETURN_TYPES = ("AUDIO",) + FUNCTION = "decode" + + CATEGORY = "latent/audio" + + def decode(self, vae, samples): + audio = vae.decode(samples["samples"]).movedim(-1, 1) + std = torch.std(audio, dim=[1,2], keepdim=True) * 5.0 + std[std < 1.0] = 1.0 + audio /= std + return ({"waveform": audio, "sample_rate": 44100}, ) + + +def create_vorbis_comment_block(comment_dict, last_block): + vendor_string = b'ComfyUI' + vendor_length = len(vendor_string) + + comments = [] + for key, value in comment_dict.items(): + comment = f"{key}={value}".encode('utf-8') + comments.append(struct.pack('I', len(comment_data))[1:] + comment_data + + return comment_block + +def insert_or_replace_vorbis_comment(flac_io, comment_dict): + if len(comment_dict) == 0: + return flac_io + + flac_io.seek(4) + + blocks = [] + last_block = False + + while not last_block: + header = flac_io.read(4) + last_block = (header[0] & 0x80) != 0 + block_type = header[0] & 0x7F + block_length = struct.unpack('>I', b'\x00' + header[1:])[0] + block_data = flac_io.read(block_length) + + if block_type == 4 or block_type == 1: + pass + else: + header = bytes([(header[0] & (~0x80))]) + header[1:] + blocks.append(header + block_data) + + blocks.append(create_vorbis_comment_block(comment_dict, last_block=True)) + + new_flac_io = io.BytesIO() + new_flac_io.write(b'fLaC') + for block in blocks: + new_flac_io.write(block) + + new_flac_io.write(flac_io.read()) + return new_flac_io + + +class SaveAudio: + def __init__(self): + self.output_dir = folder_paths.get_output_directory() + self.type = "output" + self.prefix_append = "" + + @classmethod + def INPUT_TYPES(s): + return {"required": { "audio": ("AUDIO", ), + "filename_prefix": ("STRING", {"default": "audio/ComfyUI"})}, + "hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"}, + } + + RETURN_TYPES = () + FUNCTION = "save_audio" + + OUTPUT_NODE = True + + CATEGORY = "audio" + + def save_audio(self, audio, filename_prefix="ComfyUI", prompt=None, extra_pnginfo=None): + filename_prefix += self.prefix_append + full_output_folder, filename, counter, subfolder, filename_prefix = folder_paths.get_save_image_path(filename_prefix, self.output_dir) + results = list() + + metadata = {} + if not args.disable_metadata: + if prompt is not None: + metadata["prompt"] = json.dumps(prompt) + if extra_pnginfo is not None: + for x in extra_pnginfo: + metadata[x] = json.dumps(extra_pnginfo[x]) + + for (batch_number, waveform) in enumerate(audio["waveform"].cpu()): + filename_with_batch_num = filename.replace("%batch_num%", str(batch_number)) + file = f"{filename_with_batch_num}_{counter:05}_.flac" + + buff = io.BytesIO() + torchaudio.save(buff, waveform, audio["sample_rate"], format="FLAC") + + buff = insert_or_replace_vorbis_comment(buff, metadata) + + with open(os.path.join(full_output_folder, file), 'wb') as f: + f.write(buff.getbuffer()) + + results.append({ + "filename": file, + "subfolder": subfolder, + "type": self.type + }) + counter += 1 + + return { "ui": { "audio": results } } + +class PreviewAudio(SaveAudio): + def __init__(self): + self.output_dir = folder_paths.get_temp_directory() + self.type = "temp" + self.prefix_append = "_temp_" + ''.join(random.choice("abcdefghijklmnopqrstupvxyz") for x in range(5)) + + @classmethod + def INPUT_TYPES(s): + return {"required": + {"audio": ("AUDIO", ), }, + "hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"}, + } + +class LoadAudio: + @classmethod + def INPUT_TYPES(s): + input_dir = folder_paths.get_input_directory() + files = folder_paths.filter_files_content_types(os.listdir(input_dir), ["audio", "video"]) + return {"required": {"audio": (sorted(files), {"audio_upload": True})}} + + CATEGORY = "audio" + + RETURN_TYPES = ("AUDIO", ) + FUNCTION = "load" + + def load(self, audio): + audio_path = folder_paths.get_annotated_filepath(audio) + waveform, sample_rate = torchaudio.load(audio_path) + audio = {"waveform": waveform.unsqueeze(0), "sample_rate": sample_rate} + return (audio, ) + + @classmethod + def IS_CHANGED(s, audio): + image_path = folder_paths.get_annotated_filepath(audio) + m = hashlib.sha256() + with open(image_path, 'rb') as f: + m.update(f.read()) + return m.digest().hex() + + @classmethod + def VALIDATE_INPUTS(s, audio): + if not folder_paths.exists_annotated_filepath(audio): + return "Invalid audio file: {}".format(audio) + return True + +NODE_CLASS_MAPPINGS = { + "EmptyLatentAudio": EmptyLatentAudio, + "VAEEncodeAudio": VAEEncodeAudio, + "VAEDecodeAudio": VAEDecodeAudio, + "SaveAudio": SaveAudio, + "LoadAudio": LoadAudio, + "PreviewAudio": PreviewAudio, + "ConditioningStableAudio": ConditioningStableAudio, +} diff --git a/comfy_extras/nodes_canny.py b/comfy_extras/nodes_canny.py new file mode 100644 index 0000000000000000000000000000000000000000..d85e6b85691dcdcc55e31705039934846d466fc1 --- /dev/null +++ b/comfy_extras/nodes_canny.py @@ -0,0 +1,25 @@ +from kornia.filters import canny +import comfy.model_management + + +class Canny: + @classmethod + def INPUT_TYPES(s): + return {"required": {"image": ("IMAGE",), + "low_threshold": ("FLOAT", {"default": 0.4, "min": 0.01, "max": 0.99, "step": 0.01}), + "high_threshold": ("FLOAT", {"default": 0.8, "min": 0.01, "max": 0.99, "step": 0.01}) + }} + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "detect_edge" + + CATEGORY = "image/preprocessors" + + def detect_edge(self, image, low_threshold, high_threshold): + output = canny(image.to(comfy.model_management.get_torch_device()).movedim(-1, 1), low_threshold, high_threshold) + img_out = output[1].to(comfy.model_management.intermediate_device()).repeat(1, 3, 1, 1).movedim(1, -1) + return (img_out,) + +NODE_CLASS_MAPPINGS = { + "Canny": Canny, +} diff --git a/comfy_extras/nodes_clip_sdxl.py b/comfy_extras/nodes_clip_sdxl.py new file mode 100644 index 0000000000000000000000000000000000000000..14269caf352edee45d9f1ca49db3effd5b60b7fb --- /dev/null +++ b/comfy_extras/nodes_clip_sdxl.py @@ -0,0 +1,54 @@ +from nodes import MAX_RESOLUTION + +class CLIPTextEncodeSDXLRefiner: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "ascore": ("FLOAT", {"default": 6.0, "min": 0.0, "max": 1000.0, "step": 0.01}), + "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "text": ("STRING", {"multiline": True, "dynamicPrompts": True}), "clip": ("CLIP", ), + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "encode" + + CATEGORY = "advanced/conditioning" + + def encode(self, clip, ascore, width, height, text): + tokens = clip.tokenize(text) + return (clip.encode_from_tokens_scheduled(tokens, add_dict={"aesthetic_score": ascore, "width": width, "height": height}), ) + +class CLIPTextEncodeSDXL: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "clip": ("CLIP", ), + "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), + "crop_h": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), + "target_width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "target_height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "text_g": ("STRING", {"multiline": True, "dynamicPrompts": True}), + "text_l": ("STRING", {"multiline": True, "dynamicPrompts": True}), + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "encode" + + CATEGORY = "advanced/conditioning" + + def encode(self, clip, width, height, crop_w, crop_h, target_width, target_height, text_g, text_l): + tokens = clip.tokenize(text_g) + tokens["l"] = clip.tokenize(text_l)["l"] + if len(tokens["l"]) != len(tokens["g"]): + empty = clip.tokenize("") + while len(tokens["l"]) < len(tokens["g"]): + tokens["l"] += empty["l"] + while len(tokens["l"]) > len(tokens["g"]): + tokens["g"] += empty["g"] + return (clip.encode_from_tokens_scheduled(tokens, add_dict={"width": width, "height": height, "crop_w": crop_w, "crop_h": crop_h, "target_width": target_width, "target_height": target_height}), ) + +NODE_CLASS_MAPPINGS = { + "CLIPTextEncodeSDXLRefiner": CLIPTextEncodeSDXLRefiner, + "CLIPTextEncodeSDXL": CLIPTextEncodeSDXL, +} diff --git a/comfy_extras/nodes_compositing.py b/comfy_extras/nodes_compositing.py new file mode 100644 index 0000000000000000000000000000000000000000..2f994fa11d370d31dc5412da90d0582fe6bd6159 --- /dev/null +++ b/comfy_extras/nodes_compositing.py @@ -0,0 +1,214 @@ +import torch +import comfy.utils +from enum import Enum + +def resize_mask(mask, shape): + return torch.nn.functional.interpolate(mask.reshape((-1, 1, mask.shape[-2], mask.shape[-1])), size=(shape[0], shape[1]), mode="bilinear").squeeze(1) + +class PorterDuffMode(Enum): + ADD = 0 + CLEAR = 1 + DARKEN = 2 + DST = 3 + DST_ATOP = 4 + DST_IN = 5 + DST_OUT = 6 + DST_OVER = 7 + LIGHTEN = 8 + MULTIPLY = 9 + OVERLAY = 10 + SCREEN = 11 + SRC = 12 + SRC_ATOP = 13 + SRC_IN = 14 + SRC_OUT = 15 + SRC_OVER = 16 + XOR = 17 + + +def porter_duff_composite(src_image: torch.Tensor, src_alpha: torch.Tensor, dst_image: torch.Tensor, dst_alpha: torch.Tensor, mode: PorterDuffMode): + # convert mask to alpha + src_alpha = 1 - src_alpha + dst_alpha = 1 - dst_alpha + # premultiply alpha + src_image = src_image * src_alpha + dst_image = dst_image * dst_alpha + + # composite ops below assume alpha-premultiplied images + if mode == PorterDuffMode.ADD: + out_alpha = torch.clamp(src_alpha + dst_alpha, 0, 1) + out_image = torch.clamp(src_image + dst_image, 0, 1) + elif mode == PorterDuffMode.CLEAR: + out_alpha = torch.zeros_like(dst_alpha) + out_image = torch.zeros_like(dst_image) + elif mode == PorterDuffMode.DARKEN: + out_alpha = src_alpha + dst_alpha - src_alpha * dst_alpha + out_image = (1 - dst_alpha) * src_image + (1 - src_alpha) * dst_image + torch.min(src_image, dst_image) + elif mode == PorterDuffMode.DST: + out_alpha = dst_alpha + out_image = dst_image + elif mode == PorterDuffMode.DST_ATOP: + out_alpha = src_alpha + out_image = src_alpha * dst_image + (1 - dst_alpha) * src_image + elif mode == PorterDuffMode.DST_IN: + out_alpha = src_alpha * dst_alpha + out_image = dst_image * src_alpha + elif mode == PorterDuffMode.DST_OUT: + out_alpha = (1 - src_alpha) * dst_alpha + out_image = (1 - src_alpha) * dst_image + elif mode == PorterDuffMode.DST_OVER: + out_alpha = dst_alpha + (1 - dst_alpha) * src_alpha + out_image = dst_image + (1 - dst_alpha) * src_image + elif mode == PorterDuffMode.LIGHTEN: + out_alpha = src_alpha + dst_alpha - src_alpha * dst_alpha + out_image = (1 - dst_alpha) * src_image + (1 - src_alpha) * dst_image + torch.max(src_image, dst_image) + elif mode == PorterDuffMode.MULTIPLY: + out_alpha = src_alpha * dst_alpha + out_image = src_image * dst_image + elif mode == PorterDuffMode.OVERLAY: + out_alpha = src_alpha + dst_alpha - src_alpha * dst_alpha + out_image = torch.where(2 * dst_image < dst_alpha, 2 * src_image * dst_image, + src_alpha * dst_alpha - 2 * (dst_alpha - src_image) * (src_alpha - dst_image)) + elif mode == PorterDuffMode.SCREEN: + out_alpha = src_alpha + dst_alpha - src_alpha * dst_alpha + out_image = src_image + dst_image - src_image * dst_image + elif mode == PorterDuffMode.SRC: + out_alpha = src_alpha + out_image = src_image + elif mode == PorterDuffMode.SRC_ATOP: + out_alpha = dst_alpha + out_image = dst_alpha * src_image + (1 - src_alpha) * dst_image + elif mode == PorterDuffMode.SRC_IN: + out_alpha = src_alpha * dst_alpha + out_image = src_image * dst_alpha + elif mode == PorterDuffMode.SRC_OUT: + out_alpha = (1 - dst_alpha) * src_alpha + out_image = (1 - dst_alpha) * src_image + elif mode == PorterDuffMode.SRC_OVER: + out_alpha = src_alpha + (1 - src_alpha) * dst_alpha + out_image = src_image + (1 - src_alpha) * dst_image + elif mode == PorterDuffMode.XOR: + out_alpha = (1 - dst_alpha) * src_alpha + (1 - src_alpha) * dst_alpha + out_image = (1 - dst_alpha) * src_image + (1 - src_alpha) * dst_image + else: + return None, None + + # back to non-premultiplied alpha + out_image = torch.where(out_alpha > 1e-5, out_image / out_alpha, torch.zeros_like(out_image)) + out_image = torch.clamp(out_image, 0, 1) + # convert alpha to mask + out_alpha = 1 - out_alpha + return out_image, out_alpha + + +class PorterDuffImageComposite: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "source": ("IMAGE",), + "source_alpha": ("MASK",), + "destination": ("IMAGE",), + "destination_alpha": ("MASK",), + "mode": ([mode.name for mode in PorterDuffMode], {"default": PorterDuffMode.DST.name}), + }, + } + + RETURN_TYPES = ("IMAGE", "MASK") + FUNCTION = "composite" + CATEGORY = "mask/compositing" + + def composite(self, source: torch.Tensor, source_alpha: torch.Tensor, destination: torch.Tensor, destination_alpha: torch.Tensor, mode): + batch_size = min(len(source), len(source_alpha), len(destination), len(destination_alpha)) + out_images = [] + out_alphas = [] + + for i in range(batch_size): + src_image = source[i] + dst_image = destination[i] + + assert src_image.shape[2] == dst_image.shape[2] # inputs need to have same number of channels + + src_alpha = source_alpha[i].unsqueeze(2) + dst_alpha = destination_alpha[i].unsqueeze(2) + + if dst_alpha.shape[:2] != dst_image.shape[:2]: + upscale_input = dst_alpha.unsqueeze(0).permute(0, 3, 1, 2) + upscale_output = comfy.utils.common_upscale(upscale_input, dst_image.shape[1], dst_image.shape[0], upscale_method='bicubic', crop='center') + dst_alpha = upscale_output.permute(0, 2, 3, 1).squeeze(0) + if src_image.shape != dst_image.shape: + upscale_input = src_image.unsqueeze(0).permute(0, 3, 1, 2) + upscale_output = comfy.utils.common_upscale(upscale_input, dst_image.shape[1], dst_image.shape[0], upscale_method='bicubic', crop='center') + src_image = upscale_output.permute(0, 2, 3, 1).squeeze(0) + if src_alpha.shape != dst_alpha.shape: + upscale_input = src_alpha.unsqueeze(0).permute(0, 3, 1, 2) + upscale_output = comfy.utils.common_upscale(upscale_input, dst_alpha.shape[1], dst_alpha.shape[0], upscale_method='bicubic', crop='center') + src_alpha = upscale_output.permute(0, 2, 3, 1).squeeze(0) + + out_image, out_alpha = porter_duff_composite(src_image, src_alpha, dst_image, dst_alpha, PorterDuffMode[mode]) + + out_images.append(out_image) + out_alphas.append(out_alpha.squeeze(2)) + + result = (torch.stack(out_images), torch.stack(out_alphas)) + return result + + +class SplitImageWithAlpha: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "image": ("IMAGE",), + } + } + + CATEGORY = "mask/compositing" + RETURN_TYPES = ("IMAGE", "MASK") + FUNCTION = "split_image_with_alpha" + + def split_image_with_alpha(self, image: torch.Tensor): + out_images = [i[:,:,:3] for i in image] + out_alphas = [i[:,:,3] if i.shape[2] > 3 else torch.ones_like(i[:,:,0]) for i in image] + result = (torch.stack(out_images), 1.0 - torch.stack(out_alphas)) + return result + + +class JoinImageWithAlpha: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "image": ("IMAGE",), + "alpha": ("MASK",), + } + } + + CATEGORY = "mask/compositing" + RETURN_TYPES = ("IMAGE",) + FUNCTION = "join_image_with_alpha" + + def join_image_with_alpha(self, image: torch.Tensor, alpha: torch.Tensor): + batch_size = min(len(image), len(alpha)) + out_images = [] + + alpha = 1.0 - resize_mask(alpha, image.shape[1:]) + for i in range(batch_size): + out_images.append(torch.cat((image[i][:,:,:3], alpha[i].unsqueeze(2)), dim=2)) + + result = (torch.stack(out_images),) + return result + + +NODE_CLASS_MAPPINGS = { + "PorterDuffImageComposite": PorterDuffImageComposite, + "SplitImageWithAlpha": SplitImageWithAlpha, + "JoinImageWithAlpha": JoinImageWithAlpha, +} + + +NODE_DISPLAY_NAME_MAPPINGS = { + "PorterDuffImageComposite": "Porter-Duff Image Composite", + "SplitImageWithAlpha": "Split Image with Alpha", + "JoinImageWithAlpha": "Join Image with Alpha", +} diff --git a/comfy_extras/nodes_cond.py b/comfy_extras/nodes_cond.py new file mode 100644 index 0000000000000000000000000000000000000000..4c3a1d5bf63e732c1d738b49e47da8ff7714f8a1 --- /dev/null +++ b/comfy_extras/nodes_cond.py @@ -0,0 +1,25 @@ + + +class CLIPTextEncodeControlnet: + @classmethod + def INPUT_TYPES(s): + return {"required": {"clip": ("CLIP", ), "conditioning": ("CONDITIONING", ), "text": ("STRING", {"multiline": True, "dynamicPrompts": True})}} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "encode" + + CATEGORY = "_for_testing/conditioning" + + def encode(self, clip, conditioning, text): + tokens = clip.tokenize(text) + cond, pooled = clip.encode_from_tokens(tokens, return_pooled=True) + c = [] + for t in conditioning: + n = [t[0], t[1].copy()] + n[1]['cross_attn_controlnet'] = cond + n[1]['pooled_output_controlnet'] = pooled + c.append(n) + return (c, ) + +NODE_CLASS_MAPPINGS = { + "CLIPTextEncodeControlnet": CLIPTextEncodeControlnet +} diff --git a/comfy_extras/nodes_controlnet.py b/comfy_extras/nodes_controlnet.py new file mode 100644 index 0000000000000000000000000000000000000000..2d20e1fed7c26c8115f4b9878b0b54911e7a2e7f --- /dev/null +++ b/comfy_extras/nodes_controlnet.py @@ -0,0 +1,60 @@ +from comfy.cldm.control_types import UNION_CONTROLNET_TYPES +import nodes +import comfy.utils + +class SetUnionControlNetType: + @classmethod + def INPUT_TYPES(s): + return {"required": {"control_net": ("CONTROL_NET", ), + "type": (["auto"] + list(UNION_CONTROLNET_TYPES.keys()),) + }} + + CATEGORY = "conditioning/controlnet" + RETURN_TYPES = ("CONTROL_NET",) + + FUNCTION = "set_controlnet_type" + + def set_controlnet_type(self, control_net, type): + control_net = control_net.copy() + type_number = UNION_CONTROLNET_TYPES.get(type, -1) + if type_number >= 0: + control_net.set_extra_arg("control_type", [type_number]) + else: + control_net.set_extra_arg("control_type", []) + + return (control_net,) + +class ControlNetInpaintingAliMamaApply(nodes.ControlNetApplyAdvanced): + @classmethod + def INPUT_TYPES(s): + return {"required": {"positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "control_net": ("CONTROL_NET", ), + "vae": ("VAE", ), + "image": ("IMAGE", ), + "mask": ("MASK", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001}) + }} + + FUNCTION = "apply_inpaint_controlnet" + + CATEGORY = "conditioning/controlnet" + + def apply_inpaint_controlnet(self, positive, negative, control_net, vae, image, mask, strength, start_percent, end_percent): + extra_concat = [] + if control_net.concat_mask: + mask = 1.0 - mask.reshape((-1, 1, mask.shape[-2], mask.shape[-1])) + mask_apply = comfy.utils.common_upscale(mask, image.shape[2], image.shape[1], "bilinear", "center").round() + image = image * mask_apply.movedim(1, -1).repeat(1, 1, 1, image.shape[3]) + extra_concat = [mask] + + return self.apply_controlnet(positive, negative, control_net, image, strength, start_percent, end_percent, vae=vae, extra_concat=extra_concat) + + + +NODE_CLASS_MAPPINGS = { + "SetUnionControlNetType": SetUnionControlNetType, + "ControlNetInpaintingAliMamaApply": ControlNetInpaintingAliMamaApply, +} diff --git a/comfy_extras/nodes_cosmos.py b/comfy_extras/nodes_cosmos.py new file mode 100644 index 0000000000000000000000000000000000000000..b76ff950b3e797bc0041f409e88604f272f0e66d --- /dev/null +++ b/comfy_extras/nodes_cosmos.py @@ -0,0 +1,82 @@ +import nodes +import torch +import comfy.model_management +import comfy.utils + + +class EmptyCosmosLatentVideo: + @classmethod + def INPUT_TYPES(s): + return {"required": { "width": ("INT", {"default": 1280, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "height": ("INT", {"default": 704, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "length": ("INT", {"default": 121, "min": 1, "max": nodes.MAX_RESOLUTION, "step": 8}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096})}} + RETURN_TYPES = ("LATENT",) + FUNCTION = "generate" + + CATEGORY = "latent/video" + + def generate(self, width, height, length, batch_size=1): + latent = torch.zeros([batch_size, 16, ((length - 1) // 8) + 1, height // 8, width // 8], device=comfy.model_management.intermediate_device()) + return ({"samples": latent}, ) + + +def vae_encode_with_padding(vae, image, width, height, length, padding=0): + pixels = comfy.utils.common_upscale(image[..., :3].movedim(-1, 1), width, height, "bilinear", "center").movedim(1, -1) + pixel_len = min(pixels.shape[0], length) + padded_length = min(length, (((pixel_len - 1) // 8) + 1 + padding) * 8 - 7) + padded_pixels = torch.ones((padded_length, height, width, 3)) * 0.5 + padded_pixels[:pixel_len] = pixels[:pixel_len] + latent_len = ((pixel_len - 1) // 8) + 1 + latent_temp = vae.encode(padded_pixels) + return latent_temp[:, :, :latent_len] + + +class CosmosImageToVideoLatent: + @classmethod + def INPUT_TYPES(s): + return {"required": {"vae": ("VAE", ), + "width": ("INT", {"default": 1280, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "height": ("INT", {"default": 704, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "length": ("INT", {"default": 121, "min": 1, "max": nodes.MAX_RESOLUTION, "step": 8}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096}), + }, + "optional": {"start_image": ("IMAGE", ), + "end_image": ("IMAGE", ), + }} + + + RETURN_TYPES = ("LATENT",) + FUNCTION = "encode" + + CATEGORY = "conditioning/inpaint" + + def encode(self, vae, width, height, length, batch_size, start_image=None, end_image=None): + latent = torch.zeros([1, 16, ((length - 1) // 8) + 1, height // 8, width // 8], device=comfy.model_management.intermediate_device()) + if start_image is None and end_image is None: + out_latent = {} + out_latent["samples"] = latent + return (out_latent,) + + mask = torch.ones([latent.shape[0], 1, ((length - 1) // 8) + 1, latent.shape[-2], latent.shape[-1]], device=comfy.model_management.intermediate_device()) + + if start_image is not None: + latent_temp = vae_encode_with_padding(vae, start_image, width, height, length, padding=1) + latent[:, :, :latent_temp.shape[-3]] = latent_temp + mask[:, :, :latent_temp.shape[-3]] *= 0.0 + + if end_image is not None: + latent_temp = vae_encode_with_padding(vae, end_image, width, height, length, padding=0) + latent[:, :, -latent_temp.shape[-3]:] = latent_temp + mask[:, :, -latent_temp.shape[-3]:] *= 0.0 + + out_latent = {} + out_latent["samples"] = latent + out_latent["noise_mask"] = mask + return (out_latent,) + + +NODE_CLASS_MAPPINGS = { + "EmptyCosmosLatentVideo": EmptyCosmosLatentVideo, + "CosmosImageToVideoLatent": CosmosImageToVideoLatent, +} diff --git a/comfy_extras/nodes_custom_sampler.py b/comfy_extras/nodes_custom_sampler.py new file mode 100644 index 0000000000000000000000000000000000000000..576fc3b2cbe92b6630c1c3a4b45b38f7d373f261 --- /dev/null +++ b/comfy_extras/nodes_custom_sampler.py @@ -0,0 +1,744 @@ +import comfy.samplers +import comfy.sample +from comfy.k_diffusion import sampling as k_diffusion_sampling +import latent_preview +import torch +import comfy.utils +import node_helpers + + +class BasicScheduler: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"model": ("MODEL",), + "scheduler": (comfy.samplers.SCHEDULER_NAMES, ), + "steps": ("INT", {"default": 20, "min": 1, "max": 10000}), + "denoise": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}), + } + } + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/schedulers" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, model, scheduler, steps, denoise): + total_steps = steps + if denoise < 1.0: + if denoise <= 0.0: + return (torch.FloatTensor([]),) + total_steps = int(steps/denoise) + + sigmas = comfy.samplers.calculate_sigmas(model.get_model_object("model_sampling"), scheduler, total_steps).cpu() + sigmas = sigmas[-(steps + 1):] + return (sigmas, ) + + +class KarrasScheduler: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"steps": ("INT", {"default": 20, "min": 1, "max": 10000}), + "sigma_max": ("FLOAT", {"default": 14.614642, "min": 0.0, "max": 5000.0, "step":0.01, "round": False}), + "sigma_min": ("FLOAT", {"default": 0.0291675, "min": 0.0, "max": 5000.0, "step":0.01, "round": False}), + "rho": ("FLOAT", {"default": 7.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + } + } + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/schedulers" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, steps, sigma_max, sigma_min, rho): + sigmas = k_diffusion_sampling.get_sigmas_karras(n=steps, sigma_min=sigma_min, sigma_max=sigma_max, rho=rho) + return (sigmas, ) + +class ExponentialScheduler: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"steps": ("INT", {"default": 20, "min": 1, "max": 10000}), + "sigma_max": ("FLOAT", {"default": 14.614642, "min": 0.0, "max": 5000.0, "step":0.01, "round": False}), + "sigma_min": ("FLOAT", {"default": 0.0291675, "min": 0.0, "max": 5000.0, "step":0.01, "round": False}), + } + } + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/schedulers" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, steps, sigma_max, sigma_min): + sigmas = k_diffusion_sampling.get_sigmas_exponential(n=steps, sigma_min=sigma_min, sigma_max=sigma_max) + return (sigmas, ) + +class PolyexponentialScheduler: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"steps": ("INT", {"default": 20, "min": 1, "max": 10000}), + "sigma_max": ("FLOAT", {"default": 14.614642, "min": 0.0, "max": 5000.0, "step":0.01, "round": False}), + "sigma_min": ("FLOAT", {"default": 0.0291675, "min": 0.0, "max": 5000.0, "step":0.01, "round": False}), + "rho": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + } + } + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/schedulers" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, steps, sigma_max, sigma_min, rho): + sigmas = k_diffusion_sampling.get_sigmas_polyexponential(n=steps, sigma_min=sigma_min, sigma_max=sigma_max, rho=rho) + return (sigmas, ) + +class LaplaceScheduler: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"steps": ("INT", {"default": 20, "min": 1, "max": 10000}), + "sigma_max": ("FLOAT", {"default": 14.614642, "min": 0.0, "max": 5000.0, "step":0.01, "round": False}), + "sigma_min": ("FLOAT", {"default": 0.0291675, "min": 0.0, "max": 5000.0, "step":0.01, "round": False}), + "mu": ("FLOAT", {"default": 0.0, "min": -10.0, "max": 10.0, "step":0.1, "round": False}), + "beta": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 10.0, "step":0.1, "round": False}), + } + } + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/schedulers" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, steps, sigma_max, sigma_min, mu, beta): + sigmas = k_diffusion_sampling.get_sigmas_laplace(n=steps, sigma_min=sigma_min, sigma_max=sigma_max, mu=mu, beta=beta) + return (sigmas, ) + + +class SDTurboScheduler: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"model": ("MODEL",), + "steps": ("INT", {"default": 1, "min": 1, "max": 10}), + "denoise": ("FLOAT", {"default": 1.0, "min": 0, "max": 1.0, "step": 0.01}), + } + } + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/schedulers" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, model, steps, denoise): + start_step = 10 - int(10 * denoise) + timesteps = torch.flip(torch.arange(1, 11) * 100 - 1, (0,))[start_step:start_step + steps] + sigmas = model.get_model_object("model_sampling").sigma(timesteps) + sigmas = torch.cat([sigmas, sigmas.new_zeros([1])]) + return (sigmas, ) + +class BetaSamplingScheduler: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"model": ("MODEL",), + "steps": ("INT", {"default": 20, "min": 1, "max": 10000}), + "alpha": ("FLOAT", {"default": 0.6, "min": 0.0, "max": 50.0, "step":0.01, "round": False}), + "beta": ("FLOAT", {"default": 0.6, "min": 0.0, "max": 50.0, "step":0.01, "round": False}), + } + } + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/schedulers" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, model, steps, alpha, beta): + sigmas = comfy.samplers.beta_scheduler(model.get_model_object("model_sampling"), steps, alpha=alpha, beta=beta) + return (sigmas, ) + +class VPScheduler: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"steps": ("INT", {"default": 20, "min": 1, "max": 10000}), + "beta_d": ("FLOAT", {"default": 19.9, "min": 0.0, "max": 5000.0, "step":0.01, "round": False}), #TODO: fix default values + "beta_min": ("FLOAT", {"default": 0.1, "min": 0.0, "max": 5000.0, "step":0.01, "round": False}), + "eps_s": ("FLOAT", {"default": 0.001, "min": 0.0, "max": 1.0, "step":0.0001, "round": False}), + } + } + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/schedulers" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, steps, beta_d, beta_min, eps_s): + sigmas = k_diffusion_sampling.get_sigmas_vp(n=steps, beta_d=beta_d, beta_min=beta_min, eps_s=eps_s) + return (sigmas, ) + +class SplitSigmas: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"sigmas": ("SIGMAS", ), + "step": ("INT", {"default": 0, "min": 0, "max": 10000}), + } + } + RETURN_TYPES = ("SIGMAS","SIGMAS") + RETURN_NAMES = ("high_sigmas", "low_sigmas") + CATEGORY = "sampling/custom_sampling/sigmas" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, sigmas, step): + sigmas1 = sigmas[:step + 1] + sigmas2 = sigmas[step:] + return (sigmas1, sigmas2) + +class SplitSigmasDenoise: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"sigmas": ("SIGMAS", ), + "denoise": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}), + } + } + RETURN_TYPES = ("SIGMAS","SIGMAS") + RETURN_NAMES = ("high_sigmas", "low_sigmas") + CATEGORY = "sampling/custom_sampling/sigmas" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, sigmas, denoise): + steps = max(sigmas.shape[-1] - 1, 0) + total_steps = round(steps * denoise) + sigmas1 = sigmas[:-(total_steps)] + sigmas2 = sigmas[-(total_steps + 1):] + return (sigmas1, sigmas2) + +class FlipSigmas: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"sigmas": ("SIGMAS", ), + } + } + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/sigmas" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, sigmas): + if len(sigmas) == 0: + return (sigmas,) + + sigmas = sigmas.flip(0) + if sigmas[0] == 0: + sigmas[0] = 0.0001 + return (sigmas,) + +class SetFirstSigma: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"sigmas": ("SIGMAS", ), + "sigma": ("FLOAT", {"default": 136.0, "min": 0.0, "max": 20000.0, "step": 0.001, "round": False}), + } + } + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/sigmas" + + FUNCTION = "set_first_sigma" + + def set_first_sigma(self, sigmas, sigma): + sigmas = sigmas.clone() + sigmas[0] = sigma + return (sigmas, ) + +class KSamplerSelect: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"sampler_name": (comfy.samplers.SAMPLER_NAMES, ), + } + } + RETURN_TYPES = ("SAMPLER",) + CATEGORY = "sampling/custom_sampling/samplers" + + FUNCTION = "get_sampler" + + def get_sampler(self, sampler_name): + sampler = comfy.samplers.sampler_object(sampler_name) + return (sampler, ) + +class SamplerDPMPP_3M_SDE: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"eta": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "s_noise": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "noise_device": (['gpu', 'cpu'], ), + } + } + RETURN_TYPES = ("SAMPLER",) + CATEGORY = "sampling/custom_sampling/samplers" + + FUNCTION = "get_sampler" + + def get_sampler(self, eta, s_noise, noise_device): + if noise_device == 'cpu': + sampler_name = "dpmpp_3m_sde" + else: + sampler_name = "dpmpp_3m_sde_gpu" + sampler = comfy.samplers.ksampler(sampler_name, {"eta": eta, "s_noise": s_noise}) + return (sampler, ) + +class SamplerDPMPP_2M_SDE: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"solver_type": (['midpoint', 'heun'], ), + "eta": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "s_noise": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "noise_device": (['gpu', 'cpu'], ), + } + } + RETURN_TYPES = ("SAMPLER",) + CATEGORY = "sampling/custom_sampling/samplers" + + FUNCTION = "get_sampler" + + def get_sampler(self, solver_type, eta, s_noise, noise_device): + if noise_device == 'cpu': + sampler_name = "dpmpp_2m_sde" + else: + sampler_name = "dpmpp_2m_sde_gpu" + sampler = comfy.samplers.ksampler(sampler_name, {"eta": eta, "s_noise": s_noise, "solver_type": solver_type}) + return (sampler, ) + + +class SamplerDPMPP_SDE: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"eta": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "s_noise": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "r": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "noise_device": (['gpu', 'cpu'], ), + } + } + RETURN_TYPES = ("SAMPLER",) + CATEGORY = "sampling/custom_sampling/samplers" + + FUNCTION = "get_sampler" + + def get_sampler(self, eta, s_noise, r, noise_device): + if noise_device == 'cpu': + sampler_name = "dpmpp_sde" + else: + sampler_name = "dpmpp_sde_gpu" + sampler = comfy.samplers.ksampler(sampler_name, {"eta": eta, "s_noise": s_noise, "r": r}) + return (sampler, ) + +class SamplerDPMPP_2S_Ancestral: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"eta": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "s_noise": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + } + } + RETURN_TYPES = ("SAMPLER",) + CATEGORY = "sampling/custom_sampling/samplers" + + FUNCTION = "get_sampler" + + def get_sampler(self, eta, s_noise): + sampler = comfy.samplers.ksampler("dpmpp_2s_ancestral", {"eta": eta, "s_noise": s_noise}) + return (sampler, ) + +class SamplerEulerAncestral: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"eta": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "s_noise": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + } + } + RETURN_TYPES = ("SAMPLER",) + CATEGORY = "sampling/custom_sampling/samplers" + + FUNCTION = "get_sampler" + + def get_sampler(self, eta, s_noise): + sampler = comfy.samplers.ksampler("euler_ancestral", {"eta": eta, "s_noise": s_noise}) + return (sampler, ) + +class SamplerEulerAncestralCFGPP: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "eta": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step":0.01, "round": False}), + "s_noise": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step":0.01, "round": False}), + }} + RETURN_TYPES = ("SAMPLER",) + CATEGORY = "sampling/custom_sampling/samplers" + + FUNCTION = "get_sampler" + + def get_sampler(self, eta, s_noise): + sampler = comfy.samplers.ksampler( + "euler_ancestral_cfg_pp", + {"eta": eta, "s_noise": s_noise}) + return (sampler, ) + +class SamplerLMS: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"order": ("INT", {"default": 4, "min": 1, "max": 100}), + } + } + RETURN_TYPES = ("SAMPLER",) + CATEGORY = "sampling/custom_sampling/samplers" + + FUNCTION = "get_sampler" + + def get_sampler(self, order): + sampler = comfy.samplers.ksampler("lms", {"order": order}) + return (sampler, ) + +class SamplerDPMAdaptative: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"order": ("INT", {"default": 3, "min": 2, "max": 3}), + "rtol": ("FLOAT", {"default": 0.05, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "atol": ("FLOAT", {"default": 0.0078, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "h_init": ("FLOAT", {"default": 0.05, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "pcoeff": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "icoeff": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "dcoeff": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "accept_safety": ("FLOAT", {"default": 0.81, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "eta": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + "s_noise": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.01, "round": False}), + } + } + RETURN_TYPES = ("SAMPLER",) + CATEGORY = "sampling/custom_sampling/samplers" + + FUNCTION = "get_sampler" + + def get_sampler(self, order, rtol, atol, h_init, pcoeff, icoeff, dcoeff, accept_safety, eta, s_noise): + sampler = comfy.samplers.ksampler("dpm_adaptive", {"order": order, "rtol": rtol, "atol": atol, "h_init": h_init, "pcoeff": pcoeff, + "icoeff": icoeff, "dcoeff": dcoeff, "accept_safety": accept_safety, "eta": eta, + "s_noise":s_noise }) + return (sampler, ) + +class Noise_EmptyNoise: + def __init__(self): + self.seed = 0 + + def generate_noise(self, input_latent): + latent_image = input_latent["samples"] + return torch.zeros(latent_image.shape, dtype=latent_image.dtype, layout=latent_image.layout, device="cpu") + + +class Noise_RandomNoise: + def __init__(self, seed): + self.seed = seed + + def generate_noise(self, input_latent): + latent_image = input_latent["samples"] + batch_inds = input_latent["batch_index"] if "batch_index" in input_latent else None + return comfy.sample.prepare_noise(latent_image, self.seed, batch_inds) + +class SamplerCustom: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"model": ("MODEL",), + "add_noise": ("BOOLEAN", {"default": True}), + "noise_seed": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff}), + "cfg": ("FLOAT", {"default": 8.0, "min": 0.0, "max": 100.0, "step":0.1, "round": 0.01}), + "positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "sampler": ("SAMPLER", ), + "sigmas": ("SIGMAS", ), + "latent_image": ("LATENT", ), + } + } + + RETURN_TYPES = ("LATENT","LATENT") + RETURN_NAMES = ("output", "denoised_output") + + FUNCTION = "sample" + + CATEGORY = "sampling/custom_sampling" + + def sample(self, model, add_noise, noise_seed, cfg, positive, negative, sampler, sigmas, latent_image): + latent = latent_image + latent_image = latent["samples"] + latent = latent.copy() + latent_image = comfy.sample.fix_empty_latent_channels(model, latent_image) + latent["samples"] = latent_image + + if not add_noise: + noise = Noise_EmptyNoise().generate_noise(latent) + else: + noise = Noise_RandomNoise(noise_seed).generate_noise(latent) + + noise_mask = None + if "noise_mask" in latent: + noise_mask = latent["noise_mask"] + + x0_output = {} + callback = latent_preview.prepare_callback(model, sigmas.shape[-1] - 1, x0_output) + + disable_pbar = not comfy.utils.PROGRESS_BAR_ENABLED + samples = comfy.sample.sample_custom(model, noise, cfg, sampler, sigmas, positive, negative, latent_image, noise_mask=noise_mask, callback=callback, disable_pbar=disable_pbar, seed=noise_seed) + + out = latent.copy() + out["samples"] = samples + if "x0" in x0_output: + out_denoised = latent.copy() + out_denoised["samples"] = model.model.process_latent_out(x0_output["x0"].cpu()) + else: + out_denoised = out + return (out, out_denoised) + +class Guider_Basic(comfy.samplers.CFGGuider): + def set_conds(self, positive): + self.inner_set_conds({"positive": positive}) + +class BasicGuider: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"model": ("MODEL",), + "conditioning": ("CONDITIONING", ), + } + } + + RETURN_TYPES = ("GUIDER",) + + FUNCTION = "get_guider" + CATEGORY = "sampling/custom_sampling/guiders" + + def get_guider(self, model, conditioning): + guider = Guider_Basic(model) + guider.set_conds(conditioning) + return (guider,) + +class CFGGuider: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"model": ("MODEL",), + "positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "cfg": ("FLOAT", {"default": 8.0, "min": 0.0, "max": 100.0, "step":0.1, "round": 0.01}), + } + } + + RETURN_TYPES = ("GUIDER",) + + FUNCTION = "get_guider" + CATEGORY = "sampling/custom_sampling/guiders" + + def get_guider(self, model, positive, negative, cfg): + guider = comfy.samplers.CFGGuider(model) + guider.set_conds(positive, negative) + guider.set_cfg(cfg) + return (guider,) + +class Guider_DualCFG(comfy.samplers.CFGGuider): + def set_cfg(self, cfg1, cfg2): + self.cfg1 = cfg1 + self.cfg2 = cfg2 + + def set_conds(self, positive, middle, negative): + middle = node_helpers.conditioning_set_values(middle, {"prompt_type": "negative"}) + self.inner_set_conds({"positive": positive, "middle": middle, "negative": negative}) + + def predict_noise(self, x, timestep, model_options={}, seed=None): + negative_cond = self.conds.get("negative", None) + middle_cond = self.conds.get("middle", None) + + out = comfy.samplers.calc_cond_batch(self.inner_model, [negative_cond, middle_cond, self.conds.get("positive", None)], x, timestep, model_options) + return comfy.samplers.cfg_function(self.inner_model, out[1], out[0], self.cfg2, x, timestep, model_options=model_options, cond=middle_cond, uncond=negative_cond) + (out[2] - out[1]) * self.cfg1 + +class DualCFGGuider: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"model": ("MODEL",), + "cond1": ("CONDITIONING", ), + "cond2": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "cfg_conds": ("FLOAT", {"default": 8.0, "min": 0.0, "max": 100.0, "step":0.1, "round": 0.01}), + "cfg_cond2_negative": ("FLOAT", {"default": 8.0, "min": 0.0, "max": 100.0, "step":0.1, "round": 0.01}), + } + } + + RETURN_TYPES = ("GUIDER",) + + FUNCTION = "get_guider" + CATEGORY = "sampling/custom_sampling/guiders" + + def get_guider(self, model, cond1, cond2, negative, cfg_conds, cfg_cond2_negative): + guider = Guider_DualCFG(model) + guider.set_conds(cond1, cond2, negative) + guider.set_cfg(cfg_conds, cfg_cond2_negative) + return (guider,) + +class DisableNoise: + @classmethod + def INPUT_TYPES(s): + return {"required":{ + } + } + + RETURN_TYPES = ("NOISE",) + FUNCTION = "get_noise" + CATEGORY = "sampling/custom_sampling/noise" + + def get_noise(self): + return (Noise_EmptyNoise(),) + + +class RandomNoise(DisableNoise): + @classmethod + def INPUT_TYPES(s): + return {"required":{ + "noise_seed": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff}), + } + } + + def get_noise(self, noise_seed): + return (Noise_RandomNoise(noise_seed),) + + +class SamplerCustomAdvanced: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"noise": ("NOISE", ), + "guider": ("GUIDER", ), + "sampler": ("SAMPLER", ), + "sigmas": ("SIGMAS", ), + "latent_image": ("LATENT", ), + } + } + + RETURN_TYPES = ("LATENT","LATENT") + RETURN_NAMES = ("output", "denoised_output") + + FUNCTION = "sample" + + CATEGORY = "sampling/custom_sampling" + + def sample(self, noise, guider, sampler, sigmas, latent_image): + latent = latent_image + latent_image = latent["samples"] + latent = latent.copy() + latent_image = comfy.sample.fix_empty_latent_channels(guider.model_patcher, latent_image) + latent["samples"] = latent_image + + noise_mask = None + if "noise_mask" in latent: + noise_mask = latent["noise_mask"] + + x0_output = {} + callback = latent_preview.prepare_callback(guider.model_patcher, sigmas.shape[-1] - 1, x0_output) + + disable_pbar = not comfy.utils.PROGRESS_BAR_ENABLED + samples = guider.sample(noise.generate_noise(latent), latent_image, sampler, sigmas, denoise_mask=noise_mask, callback=callback, disable_pbar=disable_pbar, seed=noise.seed) + samples = samples.to(comfy.model_management.intermediate_device()) + + out = latent.copy() + out["samples"] = samples + if "x0" in x0_output: + out_denoised = latent.copy() + out_denoised["samples"] = guider.model_patcher.model.process_latent_out(x0_output["x0"].cpu()) + else: + out_denoised = out + return (out, out_denoised) + +class AddNoise: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"model": ("MODEL",), + "noise": ("NOISE", ), + "sigmas": ("SIGMAS", ), + "latent_image": ("LATENT", ), + } + } + + RETURN_TYPES = ("LATENT",) + + FUNCTION = "add_noise" + + CATEGORY = "_for_testing/custom_sampling/noise" + + def add_noise(self, model, noise, sigmas, latent_image): + if len(sigmas) == 0: + return latent_image + + latent = latent_image + latent_image = latent["samples"] + + noisy = noise.generate_noise(latent) + + model_sampling = model.get_model_object("model_sampling") + process_latent_out = model.get_model_object("process_latent_out") + process_latent_in = model.get_model_object("process_latent_in") + + if len(sigmas) > 1: + scale = torch.abs(sigmas[0] - sigmas[-1]) + else: + scale = sigmas[0] + + if torch.count_nonzero(latent_image) > 0: #Don't shift the empty latent image. + latent_image = process_latent_in(latent_image) + noisy = model_sampling.noise_scaling(scale, noisy, latent_image) + noisy = process_latent_out(noisy) + noisy = torch.nan_to_num(noisy, nan=0.0, posinf=0.0, neginf=0.0) + + out = latent.copy() + out["samples"] = noisy + return (out,) + + +NODE_CLASS_MAPPINGS = { + "SamplerCustom": SamplerCustom, + "BasicScheduler": BasicScheduler, + "KarrasScheduler": KarrasScheduler, + "ExponentialScheduler": ExponentialScheduler, + "PolyexponentialScheduler": PolyexponentialScheduler, + "LaplaceScheduler": LaplaceScheduler, + "VPScheduler": VPScheduler, + "BetaSamplingScheduler": BetaSamplingScheduler, + "SDTurboScheduler": SDTurboScheduler, + "KSamplerSelect": KSamplerSelect, + "SamplerEulerAncestral": SamplerEulerAncestral, + "SamplerEulerAncestralCFGPP": SamplerEulerAncestralCFGPP, + "SamplerLMS": SamplerLMS, + "SamplerDPMPP_3M_SDE": SamplerDPMPP_3M_SDE, + "SamplerDPMPP_2M_SDE": SamplerDPMPP_2M_SDE, + "SamplerDPMPP_SDE": SamplerDPMPP_SDE, + "SamplerDPMPP_2S_Ancestral": SamplerDPMPP_2S_Ancestral, + "SamplerDPMAdaptative": SamplerDPMAdaptative, + "SplitSigmas": SplitSigmas, + "SplitSigmasDenoise": SplitSigmasDenoise, + "FlipSigmas": FlipSigmas, + "SetFirstSigma": SetFirstSigma, + + "CFGGuider": CFGGuider, + "DualCFGGuider": DualCFGGuider, + "BasicGuider": BasicGuider, + "RandomNoise": RandomNoise, + "DisableNoise": DisableNoise, + "AddNoise": AddNoise, + "SamplerCustomAdvanced": SamplerCustomAdvanced, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "SamplerEulerAncestralCFGPP": "SamplerEulerAncestralCFG++", +} diff --git a/comfy_extras/nodes_differential_diffusion.py b/comfy_extras/nodes_differential_diffusion.py new file mode 100644 index 0000000000000000000000000000000000000000..98dbbf102dac861cfb65ed19ad1af499abf7465d --- /dev/null +++ b/comfy_extras/nodes_differential_diffusion.py @@ -0,0 +1,42 @@ +# code adapted from https://github.com/exx8/differential-diffusion + +import torch + +class DifferentialDiffusion(): + @classmethod + def INPUT_TYPES(s): + return {"required": {"model": ("MODEL", ), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "apply" + CATEGORY = "_for_testing" + INIT = False + + def apply(self, model): + model = model.clone() + model.set_model_denoise_mask_function(self.forward) + return (model,) + + def forward(self, sigma: torch.Tensor, denoise_mask: torch.Tensor, extra_options: dict): + model = extra_options["model"] + step_sigmas = extra_options["sigmas"] + sigma_to = model.inner_model.model_sampling.sigma_min + if step_sigmas[-1] > sigma_to: + sigma_to = step_sigmas[-1] + sigma_from = step_sigmas[0] + + ts_from = model.inner_model.model_sampling.timestep(sigma_from) + ts_to = model.inner_model.model_sampling.timestep(sigma_to) + current_ts = model.inner_model.model_sampling.timestep(sigma[0]) + + threshold = (current_ts - ts_to) / (ts_from - ts_to) + + return (denoise_mask >= threshold).to(denoise_mask.dtype) + + +NODE_CLASS_MAPPINGS = { + "DifferentialDiffusion": DifferentialDiffusion, +} +NODE_DISPLAY_NAME_MAPPINGS = { + "DifferentialDiffusion": "Differential Diffusion", +} diff --git a/comfy_extras/nodes_flux.py b/comfy_extras/nodes_flux.py new file mode 100644 index 0000000000000000000000000000000000000000..2ae23f735501efd34e66457d3c6f986476957cb1 --- /dev/null +++ b/comfy_extras/nodes_flux.py @@ -0,0 +1,44 @@ +import node_helpers + +class CLIPTextEncodeFlux: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "clip": ("CLIP", ), + "clip_l": ("STRING", {"multiline": True, "dynamicPrompts": True}), + "t5xxl": ("STRING", {"multiline": True, "dynamicPrompts": True}), + "guidance": ("FLOAT", {"default": 3.5, "min": 0.0, "max": 100.0, "step": 0.1}), + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "encode" + + CATEGORY = "advanced/conditioning/flux" + + def encode(self, clip, clip_l, t5xxl, guidance): + tokens = clip.tokenize(clip_l) + tokens["t5xxl"] = clip.tokenize(t5xxl)["t5xxl"] + + return (clip.encode_from_tokens_scheduled(tokens, add_dict={"guidance": guidance}), ) + +class FluxGuidance: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "conditioning": ("CONDITIONING", ), + "guidance": ("FLOAT", {"default": 3.5, "min": 0.0, "max": 100.0, "step": 0.1}), + }} + + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "append" + + CATEGORY = "advanced/conditioning/flux" + + def append(self, conditioning, guidance): + c = node_helpers.conditioning_set_values(conditioning, {"guidance": guidance}) + return (c, ) + + +NODE_CLASS_MAPPINGS = { + "CLIPTextEncodeFlux": CLIPTextEncodeFlux, + "FluxGuidance": FluxGuidance, +} diff --git a/comfy_extras/nodes_freelunch.py b/comfy_extras/nodes_freelunch.py new file mode 100644 index 0000000000000000000000000000000000000000..e3ac58447b29f604debb5bfc0aed3a5f100a4ae9 --- /dev/null +++ b/comfy_extras/nodes_freelunch.py @@ -0,0 +1,113 @@ +#code originally taken from: https://github.com/ChenyangSi/FreeU (under MIT License) + +import torch +import logging + +def Fourier_filter(x, threshold, scale): + # FFT + x_freq = torch.fft.fftn(x.float(), dim=(-2, -1)) + x_freq = torch.fft.fftshift(x_freq, dim=(-2, -1)) + + B, C, H, W = x_freq.shape + mask = torch.ones((B, C, H, W), device=x.device) + + crow, ccol = H // 2, W //2 + mask[..., crow - threshold:crow + threshold, ccol - threshold:ccol + threshold] = scale + x_freq = x_freq * mask + + # IFFT + x_freq = torch.fft.ifftshift(x_freq, dim=(-2, -1)) + x_filtered = torch.fft.ifftn(x_freq, dim=(-2, -1)).real + + return x_filtered.to(x.dtype) + + +class FreeU: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "b1": ("FLOAT", {"default": 1.1, "min": 0.0, "max": 10.0, "step": 0.01}), + "b2": ("FLOAT", {"default": 1.2, "min": 0.0, "max": 10.0, "step": 0.01}), + "s1": ("FLOAT", {"default": 0.9, "min": 0.0, "max": 10.0, "step": 0.01}), + "s2": ("FLOAT", {"default": 0.2, "min": 0.0, "max": 10.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "model_patches/unet" + + def patch(self, model, b1, b2, s1, s2): + model_channels = model.model.model_config.unet_config["model_channels"] + scale_dict = {model_channels * 4: (b1, s1), model_channels * 2: (b2, s2)} + on_cpu_devices = {} + + def output_block_patch(h, hsp, transformer_options): + scale = scale_dict.get(int(h.shape[1]), None) + if scale is not None: + h[:,:h.shape[1] // 2] = h[:,:h.shape[1] // 2] * scale[0] + if hsp.device not in on_cpu_devices: + try: + hsp = Fourier_filter(hsp, threshold=1, scale=scale[1]) + except: + logging.warning("Device {} does not support the torch.fft functions used in the FreeU node, switching to CPU.".format(hsp.device)) + on_cpu_devices[hsp.device] = True + hsp = Fourier_filter(hsp.cpu(), threshold=1, scale=scale[1]).to(hsp.device) + else: + hsp = Fourier_filter(hsp.cpu(), threshold=1, scale=scale[1]).to(hsp.device) + + return h, hsp + + m = model.clone() + m.set_model_output_block_patch(output_block_patch) + return (m, ) + +class FreeU_V2: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "b1": ("FLOAT", {"default": 1.3, "min": 0.0, "max": 10.0, "step": 0.01}), + "b2": ("FLOAT", {"default": 1.4, "min": 0.0, "max": 10.0, "step": 0.01}), + "s1": ("FLOAT", {"default": 0.9, "min": 0.0, "max": 10.0, "step": 0.01}), + "s2": ("FLOAT", {"default": 0.2, "min": 0.0, "max": 10.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "model_patches/unet" + + def patch(self, model, b1, b2, s1, s2): + model_channels = model.model.model_config.unet_config["model_channels"] + scale_dict = {model_channels * 4: (b1, s1), model_channels * 2: (b2, s2)} + on_cpu_devices = {} + + def output_block_patch(h, hsp, transformer_options): + scale = scale_dict.get(int(h.shape[1]), None) + if scale is not None: + hidden_mean = h.mean(1).unsqueeze(1) + B = hidden_mean.shape[0] + hidden_max, _ = torch.max(hidden_mean.view(B, -1), dim=-1, keepdim=True) + hidden_min, _ = torch.min(hidden_mean.view(B, -1), dim=-1, keepdim=True) + hidden_mean = (hidden_mean - hidden_min.unsqueeze(2).unsqueeze(3)) / (hidden_max - hidden_min).unsqueeze(2).unsqueeze(3) + + h[:,:h.shape[1] // 2] = h[:,:h.shape[1] // 2] * ((scale[0] - 1 ) * hidden_mean + 1) + + if hsp.device not in on_cpu_devices: + try: + hsp = Fourier_filter(hsp, threshold=1, scale=scale[1]) + except: + logging.warning("Device {} does not support the torch.fft functions used in the FreeU node, switching to CPU.".format(hsp.device)) + on_cpu_devices[hsp.device] = True + hsp = Fourier_filter(hsp.cpu(), threshold=1, scale=scale[1]).to(hsp.device) + else: + hsp = Fourier_filter(hsp.cpu(), threshold=1, scale=scale[1]).to(hsp.device) + + return h, hsp + + m = model.clone() + m.set_model_output_block_patch(output_block_patch) + return (m, ) + +NODE_CLASS_MAPPINGS = { + "FreeU": FreeU, + "FreeU_V2": FreeU_V2, +} diff --git a/comfy_extras/nodes_gits.py b/comfy_extras/nodes_gits.py new file mode 100644 index 0000000000000000000000000000000000000000..47b1dd049702cc481550dd04d2c4edebfdcf7a0e --- /dev/null +++ b/comfy_extras/nodes_gits.py @@ -0,0 +1,369 @@ +# from https://github.com/zju-pi/diff-sampler/tree/main/gits-main +import numpy as np +import torch + +def loglinear_interp(t_steps, num_steps): + """ + Performs log-linear interpolation of a given array of decreasing numbers. + """ + xs = np.linspace(0, 1, len(t_steps)) + ys = np.log(t_steps[::-1]) + + new_xs = np.linspace(0, 1, num_steps) + new_ys = np.interp(new_xs, xs, ys) + + interped_ys = np.exp(new_ys)[::-1].copy() + return interped_ys + +NOISE_LEVELS = { + 0.80: [ + [14.61464119, 7.49001646, 0.02916753], + [14.61464119, 11.54541874, 6.77309084, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 3.07277966, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.85520077, 2.05039096, 0.02916753], + [14.61464119, 12.2308979, 8.75849152, 7.49001646, 5.85520077, 2.05039096, 0.02916753], + [14.61464119, 12.2308979, 8.75849152, 7.49001646, 5.85520077, 3.07277966, 1.56271636, 0.02916753], + [14.61464119, 12.96784878, 11.54541874, 8.75849152, 7.49001646, 5.85520077, 3.07277966, 1.56271636, 0.02916753], + [14.61464119, 13.76078796, 12.2308979, 10.90732002, 8.75849152, 7.49001646, 5.85520077, 3.07277966, 1.56271636, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 10.90732002, 8.75849152, 7.49001646, 5.85520077, 3.07277966, 1.56271636, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 10.90732002, 9.24142551, 8.30717278, 7.49001646, 5.85520077, 3.07277966, 1.56271636, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 10.90732002, 9.24142551, 8.30717278, 7.49001646, 6.14220476, 4.86714602, 3.07277966, 1.56271636, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.31284904, 9.24142551, 8.30717278, 7.49001646, 6.14220476, 4.86714602, 3.07277966, 1.56271636, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.90732002, 10.31284904, 9.24142551, 8.30717278, 7.49001646, 6.14220476, 4.86714602, 3.07277966, 1.56271636, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.90732002, 10.31284904, 9.24142551, 8.75849152, 8.30717278, 7.49001646, 6.14220476, 4.86714602, 3.07277966, 1.56271636, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.90732002, 10.31284904, 9.24142551, 8.75849152, 8.30717278, 7.49001646, 6.14220476, 4.86714602, 3.1956799, 1.98035145, 0.86115354, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.90732002, 10.31284904, 9.75859547, 9.24142551, 8.75849152, 8.30717278, 7.49001646, 6.14220476, 4.86714602, 3.1956799, 1.98035145, 0.86115354, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.90732002, 10.31284904, 9.75859547, 9.24142551, 8.75849152, 8.30717278, 7.49001646, 6.77309084, 5.85520077, 4.65472794, 3.07277966, 1.84880662, 0.83188516, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.90732002, 10.31284904, 9.75859547, 9.24142551, 8.75849152, 8.30717278, 7.88507891, 7.49001646, 6.77309084, 5.85520077, 4.65472794, 3.07277966, 1.84880662, 0.83188516, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.90732002, 10.31284904, 9.75859547, 9.24142551, 8.75849152, 8.30717278, 7.88507891, 7.49001646, 6.77309084, 5.85520077, 4.86714602, 3.75677586, 2.84484982, 1.78698075, 0.803307, 0.02916753], + ], + 0.85: [ + [14.61464119, 7.49001646, 0.02916753], + [14.61464119, 7.49001646, 1.84880662, 0.02916753], + [14.61464119, 11.54541874, 6.77309084, 1.56271636, 0.02916753], + [14.61464119, 11.54541874, 7.11996698, 3.07277966, 1.24153244, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.09240818, 2.84484982, 0.95350921, 0.02916753], + [14.61464119, 12.2308979, 8.75849152, 7.49001646, 5.09240818, 2.84484982, 0.95350921, 0.02916753], + [14.61464119, 12.2308979, 8.75849152, 7.49001646, 5.58536053, 3.1956799, 1.84880662, 0.803307, 0.02916753], + [14.61464119, 12.96784878, 11.54541874, 8.75849152, 7.49001646, 5.58536053, 3.1956799, 1.84880662, 0.803307, 0.02916753], + [14.61464119, 12.96784878, 11.54541874, 8.75849152, 7.49001646, 6.14220476, 4.65472794, 3.07277966, 1.84880662, 0.803307, 0.02916753], + [14.61464119, 13.76078796, 12.2308979, 10.90732002, 8.75849152, 7.49001646, 6.14220476, 4.65472794, 3.07277966, 1.84880662, 0.803307, 0.02916753], + [14.61464119, 13.76078796, 12.2308979, 10.90732002, 9.24142551, 8.30717278, 7.49001646, 6.14220476, 4.65472794, 3.07277966, 1.84880662, 0.803307, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 10.90732002, 9.24142551, 8.30717278, 7.49001646, 6.14220476, 4.65472794, 3.07277966, 1.84880662, 0.803307, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.31284904, 9.24142551, 8.30717278, 7.49001646, 6.14220476, 4.65472794, 3.07277966, 1.84880662, 0.803307, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.31284904, 9.24142551, 8.30717278, 7.49001646, 6.14220476, 4.86714602, 3.60512662, 2.6383388, 1.56271636, 0.72133851, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.31284904, 9.24142551, 8.30717278, 7.49001646, 6.77309084, 5.85520077, 4.65472794, 3.46139455, 2.45070267, 1.56271636, 0.72133851, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.31284904, 9.24142551, 8.75849152, 8.30717278, 7.49001646, 6.77309084, 5.85520077, 4.65472794, 3.46139455, 2.45070267, 1.56271636, 0.72133851, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.90732002, 10.31284904, 9.24142551, 8.75849152, 8.30717278, 7.49001646, 6.77309084, 5.85520077, 4.65472794, 3.46139455, 2.45070267, 1.56271636, 0.72133851, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.90732002, 10.31284904, 9.75859547, 9.24142551, 8.75849152, 8.30717278, 7.49001646, 6.77309084, 5.85520077, 4.65472794, 3.46139455, 2.45070267, 1.56271636, 0.72133851, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.90732002, 10.31284904, 9.75859547, 9.24142551, 8.75849152, 8.30717278, 7.88507891, 7.49001646, 6.77309084, 5.85520077, 4.65472794, 3.46139455, 2.45070267, 1.56271636, 0.72133851, 0.02916753], + ], + 0.90: [ + [14.61464119, 6.77309084, 0.02916753], + [14.61464119, 7.49001646, 1.56271636, 0.02916753], + [14.61464119, 7.49001646, 3.07277966, 0.95350921, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 2.54230714, 0.89115214, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 4.86714602, 2.54230714, 0.89115214, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.09240818, 3.07277966, 1.61558151, 0.69515091, 0.02916753], + [14.61464119, 12.2308979, 8.75849152, 7.11996698, 4.86714602, 3.07277966, 1.61558151, 0.69515091, 0.02916753], + [14.61464119, 12.2308979, 8.75849152, 7.49001646, 5.85520077, 4.45427561, 2.95596409, 1.61558151, 0.69515091, 0.02916753], + [14.61464119, 12.2308979, 8.75849152, 7.49001646, 5.85520077, 4.45427561, 3.1956799, 2.19988537, 1.24153244, 0.57119018, 0.02916753], + [14.61464119, 12.96784878, 10.90732002, 8.75849152, 7.49001646, 5.85520077, 4.45427561, 3.1956799, 2.19988537, 1.24153244, 0.57119018, 0.02916753], + [14.61464119, 12.96784878, 11.54541874, 9.24142551, 8.30717278, 7.49001646, 5.85520077, 4.45427561, 3.1956799, 2.19988537, 1.24153244, 0.57119018, 0.02916753], + [14.61464119, 12.96784878, 11.54541874, 9.24142551, 8.30717278, 7.49001646, 6.14220476, 4.86714602, 3.75677586, 2.84484982, 1.84880662, 1.08895338, 0.52423614, 0.02916753], + [14.61464119, 13.76078796, 12.2308979, 10.90732002, 9.24142551, 8.30717278, 7.49001646, 6.14220476, 4.86714602, 3.75677586, 2.84484982, 1.84880662, 1.08895338, 0.52423614, 0.02916753], + [14.61464119, 13.76078796, 12.2308979, 10.90732002, 9.24142551, 8.30717278, 7.49001646, 6.44769001, 5.58536053, 4.45427561, 3.32507086, 2.45070267, 1.61558151, 0.95350921, 0.45573691, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 10.90732002, 9.24142551, 8.30717278, 7.49001646, 6.44769001, 5.58536053, 4.45427561, 3.32507086, 2.45070267, 1.61558151, 0.95350921, 0.45573691, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 10.90732002, 9.24142551, 8.30717278, 7.49001646, 6.77309084, 5.85520077, 4.86714602, 3.91689563, 3.07277966, 2.27973175, 1.56271636, 0.95350921, 0.45573691, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.31284904, 9.24142551, 8.30717278, 7.49001646, 6.77309084, 5.85520077, 4.86714602, 3.91689563, 3.07277966, 2.27973175, 1.56271636, 0.95350921, 0.45573691, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.31284904, 9.24142551, 8.75849152, 8.30717278, 7.49001646, 6.77309084, 5.85520077, 4.86714602, 3.91689563, 3.07277966, 2.27973175, 1.56271636, 0.95350921, 0.45573691, 0.02916753], + [14.61464119, 13.76078796, 12.96784878, 12.2308979, 11.54541874, 10.31284904, 9.24142551, 8.75849152, 8.30717278, 7.49001646, 6.77309084, 5.85520077, 5.09240818, 4.45427561, 3.60512662, 2.95596409, 2.19988537, 1.51179266, 0.89115214, 0.43325692, 0.02916753], + ], + 0.95: [ + [14.61464119, 6.77309084, 0.02916753], + [14.61464119, 6.77309084, 1.56271636, 0.02916753], + [14.61464119, 7.49001646, 2.84484982, 0.89115214, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 2.36326075, 0.803307, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 2.95596409, 1.56271636, 0.64427125, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 4.86714602, 2.95596409, 1.56271636, 0.64427125, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 4.86714602, 3.07277966, 1.91321158, 1.08895338, 0.50118381, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.85520077, 4.45427561, 3.07277966, 1.91321158, 1.08895338, 0.50118381, 0.02916753], + [14.61464119, 12.2308979, 8.75849152, 7.49001646, 5.85520077, 4.45427561, 3.07277966, 1.91321158, 1.08895338, 0.50118381, 0.02916753], + [14.61464119, 12.2308979, 8.75849152, 7.49001646, 5.85520077, 4.45427561, 3.1956799, 2.19988537, 1.41535246, 0.803307, 0.38853383, 0.02916753], + [14.61464119, 12.2308979, 8.75849152, 7.49001646, 5.85520077, 4.65472794, 3.46139455, 2.6383388, 1.84880662, 1.24153244, 0.72133851, 0.34370604, 0.02916753], + [14.61464119, 12.96784878, 10.90732002, 8.75849152, 7.49001646, 5.85520077, 4.65472794, 3.46139455, 2.6383388, 1.84880662, 1.24153244, 0.72133851, 0.34370604, 0.02916753], + [14.61464119, 12.96784878, 10.90732002, 8.75849152, 7.49001646, 6.14220476, 4.86714602, 3.75677586, 2.95596409, 2.19988537, 1.56271636, 1.05362725, 0.64427125, 0.32104823, 0.02916753], + [14.61464119, 12.96784878, 10.90732002, 8.75849152, 7.49001646, 6.44769001, 5.58536053, 4.65472794, 3.60512662, 2.95596409, 2.19988537, 1.56271636, 1.05362725, 0.64427125, 0.32104823, 0.02916753], + [14.61464119, 12.96784878, 11.54541874, 9.24142551, 8.30717278, 7.49001646, 6.44769001, 5.58536053, 4.65472794, 3.60512662, 2.95596409, 2.19988537, 1.56271636, 1.05362725, 0.64427125, 0.32104823, 0.02916753], + [14.61464119, 12.96784878, 11.54541874, 9.24142551, 8.30717278, 7.49001646, 6.44769001, 5.58536053, 4.65472794, 3.75677586, 3.07277966, 2.45070267, 1.78698075, 1.24153244, 0.83188516, 0.50118381, 0.22545385, 0.02916753], + [14.61464119, 12.96784878, 11.54541874, 9.24142551, 8.30717278, 7.49001646, 6.77309084, 5.85520077, 5.09240818, 4.45427561, 3.60512662, 2.95596409, 2.36326075, 1.72759056, 1.24153244, 0.83188516, 0.50118381, 0.22545385, 0.02916753], + [14.61464119, 13.76078796, 12.2308979, 10.90732002, 9.24142551, 8.30717278, 7.49001646, 6.77309084, 5.85520077, 5.09240818, 4.45427561, 3.60512662, 2.95596409, 2.36326075, 1.72759056, 1.24153244, 0.83188516, 0.50118381, 0.22545385, 0.02916753], + [14.61464119, 13.76078796, 12.2308979, 10.90732002, 9.24142551, 8.30717278, 7.49001646, 6.77309084, 5.85520077, 5.09240818, 4.45427561, 3.75677586, 3.07277966, 2.45070267, 1.91321158, 1.46270394, 1.05362725, 0.72133851, 0.43325692, 0.19894916, 0.02916753], + ], + 1.00: [ + [14.61464119, 1.56271636, 0.02916753], + [14.61464119, 6.77309084, 0.95350921, 0.02916753], + [14.61464119, 6.77309084, 2.36326075, 0.803307, 0.02916753], + [14.61464119, 7.11996698, 3.07277966, 1.56271636, 0.59516323, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 2.84484982, 1.41535246, 0.57119018, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 2.84484982, 1.61558151, 0.86115354, 0.38853383, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 4.86714602, 2.84484982, 1.61558151, 0.86115354, 0.38853383, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 4.86714602, 3.07277966, 1.98035145, 1.24153244, 0.72133851, 0.34370604, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.85520077, 4.45427561, 3.07277966, 1.98035145, 1.24153244, 0.72133851, 0.34370604, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.85520077, 4.45427561, 3.1956799, 2.27973175, 1.51179266, 0.95350921, 0.54755926, 0.25053367, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.85520077, 4.45427561, 3.1956799, 2.36326075, 1.61558151, 1.08895338, 0.72133851, 0.41087446, 0.17026083, 0.02916753], + [14.61464119, 11.54541874, 8.75849152, 7.49001646, 5.85520077, 4.45427561, 3.1956799, 2.36326075, 1.61558151, 1.08895338, 0.72133851, 0.41087446, 0.17026083, 0.02916753], + [14.61464119, 11.54541874, 8.75849152, 7.49001646, 5.85520077, 4.65472794, 3.60512662, 2.84484982, 2.12350607, 1.56271636, 1.08895338, 0.72133851, 0.41087446, 0.17026083, 0.02916753], + [14.61464119, 11.54541874, 8.75849152, 7.49001646, 5.85520077, 4.65472794, 3.60512662, 2.84484982, 2.19988537, 1.61558151, 1.162866, 0.803307, 0.50118381, 0.27464288, 0.09824532, 0.02916753], + [14.61464119, 11.54541874, 8.75849152, 7.49001646, 5.85520077, 4.65472794, 3.75677586, 3.07277966, 2.45070267, 1.84880662, 1.36964464, 1.01931262, 0.72133851, 0.45573691, 0.25053367, 0.09824532, 0.02916753], + [14.61464119, 11.54541874, 8.75849152, 7.49001646, 6.14220476, 5.09240818, 4.26497746, 3.46139455, 2.84484982, 2.19988537, 1.67050016, 1.24153244, 0.92192322, 0.64427125, 0.43325692, 0.25053367, 0.09824532, 0.02916753], + [14.61464119, 11.54541874, 8.75849152, 7.49001646, 6.14220476, 5.09240818, 4.26497746, 3.60512662, 2.95596409, 2.45070267, 1.91321158, 1.51179266, 1.12534678, 0.83188516, 0.59516323, 0.38853383, 0.22545385, 0.09824532, 0.02916753], + [14.61464119, 12.2308979, 9.24142551, 8.30717278, 7.49001646, 6.14220476, 5.09240818, 4.26497746, 3.60512662, 2.95596409, 2.45070267, 1.91321158, 1.51179266, 1.12534678, 0.83188516, 0.59516323, 0.38853383, 0.22545385, 0.09824532, 0.02916753], + [14.61464119, 12.2308979, 9.24142551, 8.30717278, 7.49001646, 6.77309084, 5.85520077, 5.09240818, 4.26497746, 3.60512662, 2.95596409, 2.45070267, 1.91321158, 1.51179266, 1.12534678, 0.83188516, 0.59516323, 0.38853383, 0.22545385, 0.09824532, 0.02916753], + ], + 1.05: [ + [14.61464119, 0.95350921, 0.02916753], + [14.61464119, 6.77309084, 0.89115214, 0.02916753], + [14.61464119, 6.77309084, 2.05039096, 0.72133851, 0.02916753], + [14.61464119, 6.77309084, 2.84484982, 1.28281462, 0.52423614, 0.02916753], + [14.61464119, 6.77309084, 3.07277966, 1.61558151, 0.803307, 0.34370604, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 2.84484982, 1.56271636, 0.803307, 0.34370604, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 2.84484982, 1.61558151, 0.95350921, 0.52423614, 0.22545385, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 3.07277966, 1.98035145, 1.24153244, 0.74807048, 0.41087446, 0.17026083, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 3.1956799, 2.27973175, 1.51179266, 0.95350921, 0.59516323, 0.34370604, 0.13792117, 0.02916753], + [14.61464119, 7.49001646, 5.09240818, 3.46139455, 2.45070267, 1.61558151, 1.08895338, 0.72133851, 0.45573691, 0.25053367, 0.09824532, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.09240818, 3.46139455, 2.45070267, 1.61558151, 1.08895338, 0.72133851, 0.45573691, 0.25053367, 0.09824532, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.85520077, 4.45427561, 3.1956799, 2.36326075, 1.61558151, 1.08895338, 0.72133851, 0.45573691, 0.25053367, 0.09824532, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.85520077, 4.45427561, 3.1956799, 2.45070267, 1.72759056, 1.24153244, 0.86115354, 0.59516323, 0.38853383, 0.22545385, 0.09824532, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.85520077, 4.65472794, 3.60512662, 2.84484982, 2.19988537, 1.61558151, 1.162866, 0.83188516, 0.59516323, 0.38853383, 0.22545385, 0.09824532, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.85520077, 4.65472794, 3.60512662, 2.84484982, 2.19988537, 1.67050016, 1.28281462, 0.95350921, 0.72133851, 0.52423614, 0.34370604, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.85520077, 4.65472794, 3.60512662, 2.95596409, 2.36326075, 1.84880662, 1.41535246, 1.08895338, 0.83188516, 0.61951244, 0.45573691, 0.32104823, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.85520077, 4.65472794, 3.60512662, 2.95596409, 2.45070267, 1.91321158, 1.51179266, 1.20157266, 0.95350921, 0.74807048, 0.57119018, 0.43325692, 0.29807833, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 11.54541874, 8.30717278, 7.11996698, 5.85520077, 4.65472794, 3.60512662, 2.95596409, 2.45070267, 1.91321158, 1.51179266, 1.20157266, 0.95350921, 0.74807048, 0.57119018, 0.43325692, 0.29807833, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 11.54541874, 8.30717278, 7.11996698, 5.85520077, 4.65472794, 3.60512662, 2.95596409, 2.45070267, 1.98035145, 1.61558151, 1.32549286, 1.08895338, 0.86115354, 0.69515091, 0.54755926, 0.41087446, 0.29807833, 0.19894916, 0.09824532, 0.02916753], + ], + 1.10: [ + [14.61464119, 0.89115214, 0.02916753], + [14.61464119, 2.36326075, 0.72133851, 0.02916753], + [14.61464119, 5.85520077, 1.61558151, 0.57119018, 0.02916753], + [14.61464119, 6.77309084, 2.45070267, 1.08895338, 0.45573691, 0.02916753], + [14.61464119, 6.77309084, 2.95596409, 1.56271636, 0.803307, 0.34370604, 0.02916753], + [14.61464119, 6.77309084, 3.07277966, 1.61558151, 0.89115214, 0.4783645, 0.19894916, 0.02916753], + [14.61464119, 6.77309084, 3.07277966, 1.84880662, 1.08895338, 0.64427125, 0.34370604, 0.13792117, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 2.84484982, 1.61558151, 0.95350921, 0.54755926, 0.27464288, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 2.95596409, 1.91321158, 1.24153244, 0.803307, 0.4783645, 0.25053367, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 3.07277966, 2.05039096, 1.41535246, 0.95350921, 0.64427125, 0.41087446, 0.22545385, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 3.1956799, 2.27973175, 1.61558151, 1.12534678, 0.803307, 0.54755926, 0.36617002, 0.22545385, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 3.32507086, 2.45070267, 1.72759056, 1.24153244, 0.89115214, 0.64427125, 0.45573691, 0.32104823, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 5.09240818, 3.60512662, 2.84484982, 2.05039096, 1.51179266, 1.08895338, 0.803307, 0.59516323, 0.43325692, 0.29807833, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 5.09240818, 3.60512662, 2.84484982, 2.12350607, 1.61558151, 1.24153244, 0.95350921, 0.72133851, 0.54755926, 0.41087446, 0.29807833, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 5.85520077, 4.45427561, 3.1956799, 2.45070267, 1.84880662, 1.41535246, 1.08895338, 0.83188516, 0.64427125, 0.50118381, 0.36617002, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 5.85520077, 4.45427561, 3.1956799, 2.45070267, 1.91321158, 1.51179266, 1.20157266, 0.95350921, 0.74807048, 0.59516323, 0.45573691, 0.34370604, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 5.85520077, 4.45427561, 3.46139455, 2.84484982, 2.19988537, 1.72759056, 1.36964464, 1.08895338, 0.86115354, 0.69515091, 0.54755926, 0.43325692, 0.34370604, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.85520077, 4.45427561, 3.46139455, 2.84484982, 2.19988537, 1.72759056, 1.36964464, 1.08895338, 0.86115354, 0.69515091, 0.54755926, 0.43325692, 0.34370604, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 11.54541874, 7.49001646, 5.85520077, 4.45427561, 3.46139455, 2.84484982, 2.19988537, 1.72759056, 1.36964464, 1.08895338, 0.89115214, 0.72133851, 0.59516323, 0.4783645, 0.38853383, 0.29807833, 0.22545385, 0.17026083, 0.09824532, 0.02916753], + ], + 1.15: [ + [14.61464119, 0.83188516, 0.02916753], + [14.61464119, 1.84880662, 0.59516323, 0.02916753], + [14.61464119, 5.85520077, 1.56271636, 0.52423614, 0.02916753], + [14.61464119, 5.85520077, 1.91321158, 0.83188516, 0.34370604, 0.02916753], + [14.61464119, 5.85520077, 2.45070267, 1.24153244, 0.59516323, 0.25053367, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.51179266, 0.803307, 0.41087446, 0.17026083, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.56271636, 0.89115214, 0.50118381, 0.25053367, 0.09824532, 0.02916753], + [14.61464119, 6.77309084, 3.07277966, 1.84880662, 1.12534678, 0.72133851, 0.43325692, 0.22545385, 0.09824532, 0.02916753], + [14.61464119, 6.77309084, 3.07277966, 1.91321158, 1.24153244, 0.803307, 0.52423614, 0.34370604, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 2.95596409, 1.91321158, 1.24153244, 0.803307, 0.52423614, 0.34370604, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 3.07277966, 2.05039096, 1.36964464, 0.95350921, 0.69515091, 0.4783645, 0.32104823, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 3.07277966, 2.12350607, 1.51179266, 1.08895338, 0.803307, 0.59516323, 0.43325692, 0.29807833, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 3.07277966, 2.12350607, 1.51179266, 1.08895338, 0.803307, 0.59516323, 0.45573691, 0.34370604, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 3.07277966, 2.19988537, 1.61558151, 1.24153244, 0.95350921, 0.74807048, 0.59516323, 0.45573691, 0.34370604, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 3.1956799, 2.45070267, 1.78698075, 1.32549286, 1.01931262, 0.803307, 0.64427125, 0.50118381, 0.38853383, 0.29807833, 0.22545385, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 3.1956799, 2.45070267, 1.78698075, 1.32549286, 1.01931262, 0.803307, 0.64427125, 0.52423614, 0.41087446, 0.32104823, 0.25053367, 0.19894916, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 3.1956799, 2.45070267, 1.84880662, 1.41535246, 1.12534678, 0.89115214, 0.72133851, 0.59516323, 0.4783645, 0.38853383, 0.32104823, 0.25053367, 0.19894916, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 3.1956799, 2.45070267, 1.84880662, 1.41535246, 1.12534678, 0.89115214, 0.72133851, 0.59516323, 0.50118381, 0.41087446, 0.34370604, 0.27464288, 0.22545385, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.86714602, 3.1956799, 2.45070267, 1.84880662, 1.41535246, 1.12534678, 0.89115214, 0.72133851, 0.59516323, 0.50118381, 0.41087446, 0.34370604, 0.29807833, 0.25053367, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + ], + 1.20: [ + [14.61464119, 0.803307, 0.02916753], + [14.61464119, 1.56271636, 0.52423614, 0.02916753], + [14.61464119, 2.36326075, 0.92192322, 0.36617002, 0.02916753], + [14.61464119, 2.84484982, 1.24153244, 0.59516323, 0.25053367, 0.02916753], + [14.61464119, 5.85520077, 2.05039096, 0.95350921, 0.45573691, 0.17026083, 0.02916753], + [14.61464119, 5.85520077, 2.45070267, 1.24153244, 0.64427125, 0.29807833, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.45070267, 1.36964464, 0.803307, 0.45573691, 0.25053367, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.61558151, 0.95350921, 0.59516323, 0.36617002, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.67050016, 1.08895338, 0.74807048, 0.50118381, 0.32104823, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.95596409, 1.84880662, 1.24153244, 0.83188516, 0.59516323, 0.41087446, 0.27464288, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 3.07277966, 1.98035145, 1.36964464, 0.95350921, 0.69515091, 0.50118381, 0.36617002, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 6.77309084, 3.46139455, 2.36326075, 1.56271636, 1.08895338, 0.803307, 0.59516323, 0.45573691, 0.34370604, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 6.77309084, 3.46139455, 2.45070267, 1.61558151, 1.162866, 0.86115354, 0.64427125, 0.50118381, 0.38853383, 0.29807833, 0.22545385, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.65472794, 3.07277966, 2.12350607, 1.51179266, 1.08895338, 0.83188516, 0.64427125, 0.50118381, 0.38853383, 0.29807833, 0.22545385, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.65472794, 3.07277966, 2.12350607, 1.51179266, 1.08895338, 0.83188516, 0.64427125, 0.50118381, 0.41087446, 0.32104823, 0.25053367, 0.19894916, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.65472794, 3.07277966, 2.12350607, 1.51179266, 1.08895338, 0.83188516, 0.64427125, 0.50118381, 0.41087446, 0.34370604, 0.27464288, 0.22545385, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.65472794, 3.07277966, 2.19988537, 1.61558151, 1.20157266, 0.92192322, 0.72133851, 0.57119018, 0.45573691, 0.36617002, 0.29807833, 0.25053367, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.65472794, 3.07277966, 2.19988537, 1.61558151, 1.24153244, 0.95350921, 0.74807048, 0.59516323, 0.4783645, 0.38853383, 0.32104823, 0.27464288, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 7.49001646, 4.65472794, 3.07277966, 2.19988537, 1.61558151, 1.24153244, 0.95350921, 0.74807048, 0.59516323, 0.50118381, 0.41087446, 0.34370604, 0.29807833, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + ], + 1.25: [ + [14.61464119, 0.72133851, 0.02916753], + [14.61464119, 1.56271636, 0.50118381, 0.02916753], + [14.61464119, 2.05039096, 0.803307, 0.32104823, 0.02916753], + [14.61464119, 2.36326075, 0.95350921, 0.43325692, 0.17026083, 0.02916753], + [14.61464119, 2.84484982, 1.24153244, 0.59516323, 0.27464288, 0.09824532, 0.02916753], + [14.61464119, 3.07277966, 1.51179266, 0.803307, 0.43325692, 0.22545385, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.36326075, 1.24153244, 0.72133851, 0.41087446, 0.22545385, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.45070267, 1.36964464, 0.83188516, 0.52423614, 0.34370604, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.61558151, 0.98595673, 0.64427125, 0.43325692, 0.27464288, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.67050016, 1.08895338, 0.74807048, 0.52423614, 0.36617002, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.72759056, 1.162866, 0.803307, 0.59516323, 0.45573691, 0.34370604, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.95596409, 1.84880662, 1.24153244, 0.86115354, 0.64427125, 0.4783645, 0.36617002, 0.27464288, 0.19894916, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.95596409, 1.84880662, 1.28281462, 0.92192322, 0.69515091, 0.52423614, 0.41087446, 0.32104823, 0.25053367, 0.19894916, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.95596409, 1.91321158, 1.32549286, 0.95350921, 0.72133851, 0.54755926, 0.43325692, 0.34370604, 0.27464288, 0.22545385, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.95596409, 1.91321158, 1.32549286, 0.95350921, 0.72133851, 0.57119018, 0.45573691, 0.36617002, 0.29807833, 0.25053367, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.95596409, 1.91321158, 1.32549286, 0.95350921, 0.74807048, 0.59516323, 0.4783645, 0.38853383, 0.32104823, 0.27464288, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 3.07277966, 2.05039096, 1.41535246, 1.05362725, 0.803307, 0.61951244, 0.50118381, 0.41087446, 0.34370604, 0.29807833, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 3.07277966, 2.05039096, 1.41535246, 1.05362725, 0.803307, 0.64427125, 0.52423614, 0.43325692, 0.36617002, 0.32104823, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 3.07277966, 2.05039096, 1.46270394, 1.08895338, 0.83188516, 0.66947293, 0.54755926, 0.45573691, 0.38853383, 0.34370604, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + ], + 1.30: [ + [14.61464119, 0.72133851, 0.02916753], + [14.61464119, 1.24153244, 0.43325692, 0.02916753], + [14.61464119, 1.56271636, 0.59516323, 0.22545385, 0.02916753], + [14.61464119, 1.84880662, 0.803307, 0.36617002, 0.13792117, 0.02916753], + [14.61464119, 2.36326075, 1.01931262, 0.52423614, 0.25053367, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.36964464, 0.74807048, 0.41087446, 0.22545385, 0.09824532, 0.02916753], + [14.61464119, 3.07277966, 1.56271636, 0.89115214, 0.54755926, 0.34370604, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 3.07277966, 1.61558151, 0.95350921, 0.61951244, 0.41087446, 0.27464288, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.45070267, 1.36964464, 0.83188516, 0.54755926, 0.36617002, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.45070267, 1.41535246, 0.92192322, 0.64427125, 0.45573691, 0.34370604, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.6383388, 1.56271636, 1.01931262, 0.72133851, 0.50118381, 0.36617002, 0.27464288, 0.19894916, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.61558151, 1.05362725, 0.74807048, 0.54755926, 0.41087446, 0.32104823, 0.25053367, 0.19894916, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.61558151, 1.08895338, 0.77538133, 0.57119018, 0.43325692, 0.34370604, 0.27464288, 0.22545385, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.61558151, 1.08895338, 0.803307, 0.59516323, 0.45573691, 0.36617002, 0.29807833, 0.25053367, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.61558151, 1.08895338, 0.803307, 0.59516323, 0.4783645, 0.38853383, 0.32104823, 0.27464288, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.72759056, 1.162866, 0.83188516, 0.64427125, 0.50118381, 0.41087446, 0.34370604, 0.29807833, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.72759056, 1.162866, 0.83188516, 0.64427125, 0.52423614, 0.43325692, 0.36617002, 0.32104823, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.78698075, 1.24153244, 0.92192322, 0.72133851, 0.57119018, 0.45573691, 0.38853383, 0.34370604, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.84484982, 1.78698075, 1.24153244, 0.92192322, 0.72133851, 0.57119018, 0.4783645, 0.41087446, 0.36617002, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + ], + 1.35: [ + [14.61464119, 0.69515091, 0.02916753], + [14.61464119, 0.95350921, 0.34370604, 0.02916753], + [14.61464119, 1.56271636, 0.57119018, 0.19894916, 0.02916753], + [14.61464119, 1.61558151, 0.69515091, 0.29807833, 0.09824532, 0.02916753], + [14.61464119, 1.84880662, 0.83188516, 0.43325692, 0.22545385, 0.09824532, 0.02916753], + [14.61464119, 2.45070267, 1.162866, 0.64427125, 0.36617002, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.36964464, 0.803307, 0.50118381, 0.32104823, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.41535246, 0.83188516, 0.54755926, 0.36617002, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.56271636, 0.95350921, 0.64427125, 0.45573691, 0.32104823, 0.22545385, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.56271636, 0.95350921, 0.64427125, 0.45573691, 0.34370604, 0.25053367, 0.19894916, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 3.07277966, 1.61558151, 1.01931262, 0.72133851, 0.52423614, 0.38853383, 0.29807833, 0.22545385, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 3.07277966, 1.61558151, 1.01931262, 0.72133851, 0.52423614, 0.41087446, 0.32104823, 0.25053367, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 3.07277966, 1.61558151, 1.05362725, 0.74807048, 0.54755926, 0.43325692, 0.34370604, 0.27464288, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 3.07277966, 1.72759056, 1.12534678, 0.803307, 0.59516323, 0.45573691, 0.36617002, 0.29807833, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 3.07277966, 1.72759056, 1.12534678, 0.803307, 0.59516323, 0.4783645, 0.38853383, 0.32104823, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.45070267, 1.51179266, 1.01931262, 0.74807048, 0.57119018, 0.45573691, 0.36617002, 0.32104823, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.6383388, 1.61558151, 1.08895338, 0.803307, 0.61951244, 0.50118381, 0.41087446, 0.34370604, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.6383388, 1.61558151, 1.08895338, 0.803307, 0.64427125, 0.52423614, 0.43325692, 0.36617002, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 5.85520077, 2.6383388, 1.61558151, 1.08895338, 0.803307, 0.64427125, 0.52423614, 0.45573691, 0.38853383, 0.34370604, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + ], + 1.40: [ + [14.61464119, 0.59516323, 0.02916753], + [14.61464119, 0.95350921, 0.34370604, 0.02916753], + [14.61464119, 1.08895338, 0.43325692, 0.13792117, 0.02916753], + [14.61464119, 1.56271636, 0.64427125, 0.27464288, 0.09824532, 0.02916753], + [14.61464119, 1.61558151, 0.803307, 0.43325692, 0.22545385, 0.09824532, 0.02916753], + [14.61464119, 2.05039096, 0.95350921, 0.54755926, 0.34370604, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 2.45070267, 1.24153244, 0.72133851, 0.43325692, 0.27464288, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 2.45070267, 1.24153244, 0.74807048, 0.50118381, 0.34370604, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 2.45070267, 1.28281462, 0.803307, 0.52423614, 0.36617002, 0.27464288, 0.19894916, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.45070267, 1.28281462, 0.803307, 0.54755926, 0.38853383, 0.29807833, 0.22545385, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.41535246, 0.86115354, 0.59516323, 0.43325692, 0.32104823, 0.25053367, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.51179266, 0.95350921, 0.64427125, 0.45573691, 0.34370604, 0.27464288, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.51179266, 0.95350921, 0.64427125, 0.4783645, 0.36617002, 0.29807833, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.56271636, 0.98595673, 0.69515091, 0.52423614, 0.41087446, 0.34370604, 0.29807833, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.56271636, 1.01931262, 0.72133851, 0.54755926, 0.43325692, 0.36617002, 0.32104823, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.61558151, 1.05362725, 0.74807048, 0.57119018, 0.45573691, 0.38853383, 0.34370604, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.61558151, 1.08895338, 0.803307, 0.61951244, 0.50118381, 0.41087446, 0.36617002, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.61558151, 1.08895338, 0.803307, 0.61951244, 0.50118381, 0.43325692, 0.38853383, 0.34370604, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.61558151, 1.08895338, 0.803307, 0.64427125, 0.52423614, 0.45573691, 0.41087446, 0.36617002, 0.34370604, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + ], + 1.45: [ + [14.61464119, 0.59516323, 0.02916753], + [14.61464119, 0.803307, 0.25053367, 0.02916753], + [14.61464119, 0.95350921, 0.34370604, 0.09824532, 0.02916753], + [14.61464119, 1.24153244, 0.54755926, 0.25053367, 0.09824532, 0.02916753], + [14.61464119, 1.56271636, 0.72133851, 0.36617002, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 1.61558151, 0.803307, 0.45573691, 0.27464288, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 1.91321158, 0.95350921, 0.57119018, 0.36617002, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 2.19988537, 1.08895338, 0.64427125, 0.41087446, 0.27464288, 0.19894916, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.45070267, 1.24153244, 0.74807048, 0.50118381, 0.34370604, 0.25053367, 0.19894916, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.45070267, 1.24153244, 0.74807048, 0.50118381, 0.36617002, 0.27464288, 0.22545385, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.45070267, 1.28281462, 0.803307, 0.54755926, 0.41087446, 0.32104823, 0.25053367, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.45070267, 1.28281462, 0.803307, 0.57119018, 0.43325692, 0.34370604, 0.27464288, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.45070267, 1.28281462, 0.83188516, 0.59516323, 0.45573691, 0.36617002, 0.29807833, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.45070267, 1.28281462, 0.83188516, 0.59516323, 0.45573691, 0.36617002, 0.32104823, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.51179266, 0.95350921, 0.69515091, 0.52423614, 0.41087446, 0.34370604, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.51179266, 0.95350921, 0.69515091, 0.52423614, 0.43325692, 0.36617002, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.56271636, 0.98595673, 0.72133851, 0.54755926, 0.45573691, 0.38853383, 0.34370604, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.56271636, 1.01931262, 0.74807048, 0.57119018, 0.4783645, 0.41087446, 0.36617002, 0.34370604, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.84484982, 1.56271636, 1.01931262, 0.74807048, 0.59516323, 0.50118381, 0.43325692, 0.38853383, 0.36617002, 0.34370604, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + ], + 1.50: [ + [14.61464119, 0.54755926, 0.02916753], + [14.61464119, 0.803307, 0.25053367, 0.02916753], + [14.61464119, 0.86115354, 0.32104823, 0.09824532, 0.02916753], + [14.61464119, 1.24153244, 0.54755926, 0.25053367, 0.09824532, 0.02916753], + [14.61464119, 1.56271636, 0.72133851, 0.36617002, 0.19894916, 0.09824532, 0.02916753], + [14.61464119, 1.61558151, 0.803307, 0.45573691, 0.27464288, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 1.61558151, 0.83188516, 0.52423614, 0.34370604, 0.25053367, 0.17026083, 0.09824532, 0.02916753], + [14.61464119, 1.84880662, 0.95350921, 0.59516323, 0.38853383, 0.27464288, 0.19894916, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 1.84880662, 0.95350921, 0.59516323, 0.41087446, 0.29807833, 0.22545385, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 1.84880662, 0.95350921, 0.61951244, 0.43325692, 0.32104823, 0.25053367, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.19988537, 1.12534678, 0.72133851, 0.50118381, 0.36617002, 0.27464288, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.19988537, 1.12534678, 0.72133851, 0.50118381, 0.36617002, 0.29807833, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.36326075, 1.24153244, 0.803307, 0.57119018, 0.43325692, 0.34370604, 0.29807833, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.36326075, 1.24153244, 0.803307, 0.57119018, 0.43325692, 0.34370604, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.36326075, 1.24153244, 0.803307, 0.59516323, 0.45573691, 0.36617002, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.36326075, 1.24153244, 0.803307, 0.59516323, 0.45573691, 0.38853383, 0.34370604, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.45070267, 1.32549286, 0.86115354, 0.64427125, 0.50118381, 0.41087446, 0.36617002, 0.34370604, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.45070267, 1.36964464, 0.92192322, 0.69515091, 0.54755926, 0.45573691, 0.41087446, 0.36617002, 0.34370604, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + [14.61464119, 2.45070267, 1.41535246, 0.95350921, 0.72133851, 0.57119018, 0.4783645, 0.43325692, 0.38853383, 0.36617002, 0.34370604, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], + ], +} + +class GITSScheduler: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"coeff": ("FLOAT", {"default": 1.20, "min": 0.80, "max": 1.50, "step": 0.05}), + "steps": ("INT", {"default": 10, "min": 2, "max": 1000}), + "denoise": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}), + } + } + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/schedulers" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, coeff, steps, denoise): + total_steps = steps + if denoise < 1.0: + if denoise <= 0.0: + return (torch.FloatTensor([]),) + total_steps = round(steps * denoise) + + if steps <= 20: + sigmas = NOISE_LEVELS[round(coeff, 2)][steps-2][:] + else: + sigmas = NOISE_LEVELS[round(coeff, 2)][-1][:] + sigmas = loglinear_interp(sigmas, steps + 1) + + sigmas = sigmas[-(total_steps + 1):] + sigmas[-1] = 0 + return (torch.FloatTensor(sigmas), ) + +NODE_CLASS_MAPPINGS = { + "GITSScheduler": GITSScheduler, +} diff --git a/comfy_extras/nodes_hooks.py b/comfy_extras/nodes_hooks.py new file mode 100644 index 0000000000000000000000000000000000000000..1edc06f3d7ae6b0682b03afe666ef936b16f2f28 --- /dev/null +++ b/comfy_extras/nodes_hooks.py @@ -0,0 +1,745 @@ +from __future__ import annotations +from typing import TYPE_CHECKING, Union +import logging +import torch +from collections.abc import Iterable + +if TYPE_CHECKING: + from comfy.sd import CLIP + +import comfy.hooks +import comfy.sd +import comfy.utils +import folder_paths + +########################################### +# Mask, Combine, and Hook Conditioning +#------------------------------------------ +class PairConditioningSetProperties: + NodeId = 'PairConditioningSetProperties' + NodeName = 'Cond Pair Set Props' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "positive_NEW": ("CONDITIONING", ), + "negative_NEW": ("CONDITIONING", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "set_cond_area": (["default", "mask bounds"],), + }, + "optional": { + "mask": ("MASK", ), + "hooks": ("HOOKS",), + "timesteps": ("TIMESTEPS_RANGE",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING", "CONDITIONING") + RETURN_NAMES = ("positive", "negative") + CATEGORY = "advanced/hooks/cond pair" + FUNCTION = "set_properties" + + def set_properties(self, positive_NEW, negative_NEW, + strength: float, set_cond_area: str, + mask: torch.Tensor=None, hooks: comfy.hooks.HookGroup=None, timesteps: tuple=None): + final_positive, final_negative = comfy.hooks.set_conds_props(conds=[positive_NEW, negative_NEW], + strength=strength, set_cond_area=set_cond_area, + mask=mask, hooks=hooks, timesteps_range=timesteps) + return (final_positive, final_negative) + +class PairConditioningSetPropertiesAndCombine: + NodeId = 'PairConditioningSetPropertiesAndCombine' + NodeName = 'Cond Pair Set Props Combine' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "positive_NEW": ("CONDITIONING", ), + "negative_NEW": ("CONDITIONING", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "set_cond_area": (["default", "mask bounds"],), + }, + "optional": { + "mask": ("MASK", ), + "hooks": ("HOOKS",), + "timesteps": ("TIMESTEPS_RANGE",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING", "CONDITIONING") + RETURN_NAMES = ("positive", "negative") + CATEGORY = "advanced/hooks/cond pair" + FUNCTION = "set_properties" + + def set_properties(self, positive, negative, positive_NEW, negative_NEW, + strength: float, set_cond_area: str, + mask: torch.Tensor=None, hooks: comfy.hooks.HookGroup=None, timesteps: tuple=None): + final_positive, final_negative = comfy.hooks.set_conds_props_and_combine(conds=[positive, negative], new_conds=[positive_NEW, negative_NEW], + strength=strength, set_cond_area=set_cond_area, + mask=mask, hooks=hooks, timesteps_range=timesteps) + return (final_positive, final_negative) + +class ConditioningSetProperties: + NodeId = 'ConditioningSetProperties' + NodeName = 'Cond Set Props' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "cond_NEW": ("CONDITIONING", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "set_cond_area": (["default", "mask bounds"],), + }, + "optional": { + "mask": ("MASK", ), + "hooks": ("HOOKS",), + "timesteps": ("TIMESTEPS_RANGE",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING",) + CATEGORY = "advanced/hooks/cond single" + FUNCTION = "set_properties" + + def set_properties(self, cond_NEW, + strength: float, set_cond_area: str, + mask: torch.Tensor=None, hooks: comfy.hooks.HookGroup=None, timesteps: tuple=None): + (final_cond,) = comfy.hooks.set_conds_props(conds=[cond_NEW], + strength=strength, set_cond_area=set_cond_area, + mask=mask, hooks=hooks, timesteps_range=timesteps) + return (final_cond,) + +class ConditioningSetPropertiesAndCombine: + NodeId = 'ConditioningSetPropertiesAndCombine' + NodeName = 'Cond Set Props Combine' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "cond": ("CONDITIONING", ), + "cond_NEW": ("CONDITIONING", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "set_cond_area": (["default", "mask bounds"],), + }, + "optional": { + "mask": ("MASK", ), + "hooks": ("HOOKS",), + "timesteps": ("TIMESTEPS_RANGE",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING",) + CATEGORY = "advanced/hooks/cond single" + FUNCTION = "set_properties" + + def set_properties(self, cond, cond_NEW, + strength: float, set_cond_area: str, + mask: torch.Tensor=None, hooks: comfy.hooks.HookGroup=None, timesteps: tuple=None): + (final_cond,) = comfy.hooks.set_conds_props_and_combine(conds=[cond], new_conds=[cond_NEW], + strength=strength, set_cond_area=set_cond_area, + mask=mask, hooks=hooks, timesteps_range=timesteps) + return (final_cond,) + +class PairConditioningCombine: + NodeId = 'PairConditioningCombine' + NodeName = 'Cond Pair Combine' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "positive_A": ("CONDITIONING",), + "negative_A": ("CONDITIONING",), + "positive_B": ("CONDITIONING",), + "negative_B": ("CONDITIONING",), + }, + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING", "CONDITIONING") + RETURN_NAMES = ("positive", "negative") + CATEGORY = "advanced/hooks/cond pair" + FUNCTION = "combine" + + def combine(self, positive_A, negative_A, positive_B, negative_B): + final_positive, final_negative = comfy.hooks.set_conds_props_and_combine(conds=[positive_A, negative_A], new_conds=[positive_B, negative_B],) + return (final_positive, final_negative,) + +class PairConditioningSetDefaultAndCombine: + NodeId = 'PairConditioningSetDefaultCombine' + NodeName = 'Cond Pair Set Default Combine' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "positive": ("CONDITIONING",), + "negative": ("CONDITIONING",), + "positive_DEFAULT": ("CONDITIONING",), + "negative_DEFAULT": ("CONDITIONING",), + }, + "optional": { + "hooks": ("HOOKS",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING", "CONDITIONING") + RETURN_NAMES = ("positive", "negative") + CATEGORY = "advanced/hooks/cond pair" + FUNCTION = "set_default_and_combine" + + def set_default_and_combine(self, positive, negative, positive_DEFAULT, negative_DEFAULT, + hooks: comfy.hooks.HookGroup=None): + final_positive, final_negative = comfy.hooks.set_default_conds_and_combine(conds=[positive, negative], new_conds=[positive_DEFAULT, negative_DEFAULT], + hooks=hooks) + return (final_positive, final_negative) + +class ConditioningSetDefaultAndCombine: + NodeId = 'ConditioningSetDefaultCombine' + NodeName = 'Cond Set Default Combine' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "cond": ("CONDITIONING",), + "cond_DEFAULT": ("CONDITIONING",), + }, + "optional": { + "hooks": ("HOOKS",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING",) + CATEGORY = "advanced/hooks/cond single" + FUNCTION = "set_default_and_combine" + + def set_default_and_combine(self, cond, cond_DEFAULT, + hooks: comfy.hooks.HookGroup=None): + (final_conditioning,) = comfy.hooks.set_default_conds_and_combine(conds=[cond], new_conds=[cond_DEFAULT], + hooks=hooks) + return (final_conditioning,) + +class SetClipHooks: + NodeId = 'SetClipHooks' + NodeName = 'Set CLIP Hooks' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "clip": ("CLIP",), + "apply_to_conds": ("BOOLEAN", {"default": True}), + "schedule_clip": ("BOOLEAN", {"default": False}) + }, + "optional": { + "hooks": ("HOOKS",) + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CLIP",) + CATEGORY = "advanced/hooks/clip" + FUNCTION = "apply_hooks" + + def apply_hooks(self, clip: CLIP, schedule_clip: bool, apply_to_conds: bool, hooks: comfy.hooks.HookGroup=None): + if hooks is not None: + clip = clip.clone() + if apply_to_conds: + clip.apply_hooks_to_conds = hooks + clip.patcher.forced_hooks = hooks.clone() + clip.use_clip_schedule = schedule_clip + if not clip.use_clip_schedule: + clip.patcher.forced_hooks.set_keyframes_on_hooks(None) + clip.patcher.register_all_hook_patches(hooks, comfy.hooks.create_target_dict(comfy.hooks.EnumWeightTarget.Clip)) + return (clip,) + +class ConditioningTimestepsRange: + NodeId = 'ConditioningTimestepsRange' + NodeName = 'Timesteps Range' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001}) + }, + } + + EXPERIMENTAL = True + RETURN_TYPES = ("TIMESTEPS_RANGE", "TIMESTEPS_RANGE", "TIMESTEPS_RANGE") + RETURN_NAMES = ("TIMESTEPS_RANGE", "BEFORE_RANGE", "AFTER_RANGE") + CATEGORY = "advanced/hooks" + FUNCTION = "create_range" + + def create_range(self, start_percent: float, end_percent: float): + return ((start_percent, end_percent), (0.0, start_percent), (end_percent, 1.0)) +#------------------------------------------ +########################################### + + +########################################### +# Create Hooks +#------------------------------------------ +class CreateHookLora: + NodeId = 'CreateHookLora' + NodeName = 'Create Hook LoRA' + def __init__(self): + self.loaded_lora = None + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "lora_name": (folder_paths.get_filename_list("loras"), ), + "strength_model": ("FLOAT", {"default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01}), + "strength_clip": ("FLOAT", {"default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01}), + }, + "optional": { + "prev_hooks": ("HOOKS",) + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/create" + FUNCTION = "create_hook" + + def create_hook(self, lora_name: str, strength_model: float, strength_clip: float, prev_hooks: comfy.hooks.HookGroup=None): + if prev_hooks is None: + prev_hooks = comfy.hooks.HookGroup() + prev_hooks.clone() + + if strength_model == 0 and strength_clip == 0: + return (prev_hooks,) + + lora_path = folder_paths.get_full_path("loras", lora_name) + lora = None + if self.loaded_lora is not None: + if self.loaded_lora[0] == lora_path: + lora = self.loaded_lora[1] + else: + temp = self.loaded_lora + self.loaded_lora = None + del temp + + if lora is None: + lora = comfy.utils.load_torch_file(lora_path, safe_load=True) + self.loaded_lora = (lora_path, lora) + + hooks = comfy.hooks.create_hook_lora(lora=lora, strength_model=strength_model, strength_clip=strength_clip) + return (prev_hooks.clone_and_combine(hooks),) + +class CreateHookLoraModelOnly(CreateHookLora): + NodeId = 'CreateHookLoraModelOnly' + NodeName = 'Create Hook LoRA (MO)' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "lora_name": (folder_paths.get_filename_list("loras"), ), + "strength_model": ("FLOAT", {"default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01}), + }, + "optional": { + "prev_hooks": ("HOOKS",) + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/create" + FUNCTION = "create_hook_model_only" + + def create_hook_model_only(self, lora_name: str, strength_model: float, prev_hooks: comfy.hooks.HookGroup=None): + return self.create_hook(lora_name=lora_name, strength_model=strength_model, strength_clip=0, prev_hooks=prev_hooks) + +class CreateHookModelAsLora: + NodeId = 'CreateHookModelAsLora' + NodeName = 'Create Hook Model as LoRA' + + def __init__(self): + # when not None, will be in following format: + # (ckpt_path: str, weights_model: dict, weights_clip: dict) + self.loaded_weights = None + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "ckpt_name": (folder_paths.get_filename_list("checkpoints"), ), + "strength_model": ("FLOAT", {"default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01}), + "strength_clip": ("FLOAT", {"default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01}), + }, + "optional": { + "prev_hooks": ("HOOKS",) + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/create" + FUNCTION = "create_hook" + + def create_hook(self, ckpt_name: str, strength_model: float, strength_clip: float, + prev_hooks: comfy.hooks.HookGroup=None): + if prev_hooks is None: + prev_hooks = comfy.hooks.HookGroup() + prev_hooks.clone() + + ckpt_path = folder_paths.get_full_path("checkpoints", ckpt_name) + weights_model = None + weights_clip = None + if self.loaded_weights is not None: + if self.loaded_weights[0] == ckpt_path: + weights_model = self.loaded_weights[1] + weights_clip = self.loaded_weights[2] + else: + temp = self.loaded_weights + self.loaded_weights = None + del temp + + if weights_model is None: + out = comfy.sd.load_checkpoint_guess_config(ckpt_path, output_vae=True, output_clip=True, embedding_directory=folder_paths.get_folder_paths("embeddings")) + weights_model = comfy.hooks.get_patch_weights_from_model(out[0]) + weights_clip = comfy.hooks.get_patch_weights_from_model(out[1].patcher if out[1] else out[1]) + self.loaded_weights = (ckpt_path, weights_model, weights_clip) + + hooks = comfy.hooks.create_hook_model_as_lora(weights_model=weights_model, weights_clip=weights_clip, + strength_model=strength_model, strength_clip=strength_clip) + return (prev_hooks.clone_and_combine(hooks),) + +class CreateHookModelAsLoraModelOnly(CreateHookModelAsLora): + NodeId = 'CreateHookModelAsLoraModelOnly' + NodeName = 'Create Hook Model as LoRA (MO)' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "ckpt_name": (folder_paths.get_filename_list("checkpoints"), ), + "strength_model": ("FLOAT", {"default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01}), + }, + "optional": { + "prev_hooks": ("HOOKS",) + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/create" + FUNCTION = "create_hook_model_only" + + def create_hook_model_only(self, ckpt_name: str, strength_model: float, + prev_hooks: comfy.hooks.HookGroup=None): + return self.create_hook(ckpt_name=ckpt_name, strength_model=strength_model, strength_clip=0.0, prev_hooks=prev_hooks) +#------------------------------------------ +########################################### + + +########################################### +# Schedule Hooks +#------------------------------------------ +class SetHookKeyframes: + NodeId = 'SetHookKeyframes' + NodeName = 'Set Hook Keyframes' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "hooks": ("HOOKS",), + }, + "optional": { + "hook_kf": ("HOOK_KEYFRAMES",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/scheduling" + FUNCTION = "set_hook_keyframes" + + def set_hook_keyframes(self, hooks: comfy.hooks.HookGroup, hook_kf: comfy.hooks.HookKeyframeGroup=None): + if hook_kf is not None: + hooks = hooks.clone() + hooks.set_keyframes_on_hooks(hook_kf=hook_kf) + return (hooks,) + +class CreateHookKeyframe: + NodeId = 'CreateHookKeyframe' + NodeName = 'Create Hook Keyframe' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "strength_mult": ("FLOAT", {"default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01}), + "start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + }, + "optional": { + "prev_hook_kf": ("HOOK_KEYFRAMES",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOK_KEYFRAMES",) + RETURN_NAMES = ("HOOK_KF",) + CATEGORY = "advanced/hooks/scheduling" + FUNCTION = "create_hook_keyframe" + + def create_hook_keyframe(self, strength_mult: float, start_percent: float, prev_hook_kf: comfy.hooks.HookKeyframeGroup=None): + if prev_hook_kf is None: + prev_hook_kf = comfy.hooks.HookKeyframeGroup() + prev_hook_kf = prev_hook_kf.clone() + keyframe = comfy.hooks.HookKeyframe(strength=strength_mult, start_percent=start_percent) + prev_hook_kf.add(keyframe) + return (prev_hook_kf,) + +class CreateHookKeyframesInterpolated: + NodeId = 'CreateHookKeyframesInterpolated' + NodeName = 'Create Hook Keyframes Interp.' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "strength_start": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.001}, ), + "strength_end": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.001}, ), + "interpolation": (comfy.hooks.InterpolationMethod._LIST, ), + "start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "keyframes_count": ("INT", {"default": 5, "min": 2, "max": 100, "step": 1}), + "print_keyframes": ("BOOLEAN", {"default": False}), + }, + "optional": { + "prev_hook_kf": ("HOOK_KEYFRAMES",), + }, + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOK_KEYFRAMES",) + RETURN_NAMES = ("HOOK_KF",) + CATEGORY = "advanced/hooks/scheduling" + FUNCTION = "create_hook_keyframes" + + def create_hook_keyframes(self, strength_start: float, strength_end: float, interpolation: str, + start_percent: float, end_percent: float, keyframes_count: int, + print_keyframes=False, prev_hook_kf: comfy.hooks.HookKeyframeGroup=None): + if prev_hook_kf is None: + prev_hook_kf = comfy.hooks.HookKeyframeGroup() + prev_hook_kf = prev_hook_kf.clone() + percents = comfy.hooks.InterpolationMethod.get_weights(num_from=start_percent, num_to=end_percent, length=keyframes_count, + method=comfy.hooks.InterpolationMethod.LINEAR) + strengths = comfy.hooks.InterpolationMethod.get_weights(num_from=strength_start, num_to=strength_end, length=keyframes_count, method=interpolation) + + is_first = True + for percent, strength in zip(percents, strengths): + guarantee_steps = 0 + if is_first: + guarantee_steps = 1 + is_first = False + prev_hook_kf.add(comfy.hooks.HookKeyframe(strength=strength, start_percent=percent, guarantee_steps=guarantee_steps)) + if print_keyframes: + logging.info(f"Hook Keyframe - start_percent:{percent} = {strength}") + return (prev_hook_kf,) + +class CreateHookKeyframesFromFloats: + NodeId = 'CreateHookKeyframesFromFloats' + NodeName = 'Create Hook Keyframes From Floats' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "floats_strength": ("FLOATS", {"default": -1, "min": -1, "step": 0.001, "forceInput": True}), + "start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "print_keyframes": ("BOOLEAN", {"default": False}), + }, + "optional": { + "prev_hook_kf": ("HOOK_KEYFRAMES",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOK_KEYFRAMES",) + RETURN_NAMES = ("HOOK_KF",) + CATEGORY = "advanced/hooks/scheduling" + FUNCTION = "create_hook_keyframes" + + def create_hook_keyframes(self, floats_strength: Union[float, list[float]], + start_percent: float, end_percent: float, + prev_hook_kf: comfy.hooks.HookKeyframeGroup=None, print_keyframes=False): + if prev_hook_kf is None: + prev_hook_kf = comfy.hooks.HookKeyframeGroup() + prev_hook_kf = prev_hook_kf.clone() + if type(floats_strength) in (float, int): + floats_strength = [float(floats_strength)] + elif isinstance(floats_strength, Iterable): + pass + else: + raise Exception(f"floats_strength must be either an iterable input or a float, but was{type(floats_strength).__repr__}.") + percents = comfy.hooks.InterpolationMethod.get_weights(num_from=start_percent, num_to=end_percent, length=len(floats_strength), + method=comfy.hooks.InterpolationMethod.LINEAR) + + is_first = True + for percent, strength in zip(percents, floats_strength): + guarantee_steps = 0 + if is_first: + guarantee_steps = 1 + is_first = False + prev_hook_kf.add(comfy.hooks.HookKeyframe(strength=strength, start_percent=percent, guarantee_steps=guarantee_steps)) + if print_keyframes: + logging.info(f"Hook Keyframe - start_percent:{percent} = {strength}") + return (prev_hook_kf,) +#------------------------------------------ +########################################### + + +class SetModelHooksOnCond: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "conditioning": ("CONDITIONING",), + "hooks": ("HOOKS",), + }, + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING",) + CATEGORY = "advanced/hooks/manual" + FUNCTION = "attach_hook" + + def attach_hook(self, conditioning, hooks: comfy.hooks.HookGroup): + return (comfy.hooks.set_hooks_for_conditioning(conditioning, hooks),) + + +########################################### +# Combine Hooks +#------------------------------------------ +class CombineHooks: + NodeId = 'CombineHooks2' + NodeName = 'Combine Hooks [2]' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + }, + "optional": { + "hooks_A": ("HOOKS",), + "hooks_B": ("HOOKS",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/combine" + FUNCTION = "combine_hooks" + + def combine_hooks(self, + hooks_A: comfy.hooks.HookGroup=None, + hooks_B: comfy.hooks.HookGroup=None): + candidates = [hooks_A, hooks_B] + return (comfy.hooks.HookGroup.combine_all_hooks(candidates),) + +class CombineHooksFour: + NodeId = 'CombineHooks4' + NodeName = 'Combine Hooks [4]' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + }, + "optional": { + "hooks_A": ("HOOKS",), + "hooks_B": ("HOOKS",), + "hooks_C": ("HOOKS",), + "hooks_D": ("HOOKS",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/combine" + FUNCTION = "combine_hooks" + + def combine_hooks(self, + hooks_A: comfy.hooks.HookGroup=None, + hooks_B: comfy.hooks.HookGroup=None, + hooks_C: comfy.hooks.HookGroup=None, + hooks_D: comfy.hooks.HookGroup=None): + candidates = [hooks_A, hooks_B, hooks_C, hooks_D] + return (comfy.hooks.HookGroup.combine_all_hooks(candidates),) + +class CombineHooksEight: + NodeId = 'CombineHooks8' + NodeName = 'Combine Hooks [8]' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + }, + "optional": { + "hooks_A": ("HOOKS",), + "hooks_B": ("HOOKS",), + "hooks_C": ("HOOKS",), + "hooks_D": ("HOOKS",), + "hooks_E": ("HOOKS",), + "hooks_F": ("HOOKS",), + "hooks_G": ("HOOKS",), + "hooks_H": ("HOOKS",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/combine" + FUNCTION = "combine_hooks" + + def combine_hooks(self, + hooks_A: comfy.hooks.HookGroup=None, + hooks_B: comfy.hooks.HookGroup=None, + hooks_C: comfy.hooks.HookGroup=None, + hooks_D: comfy.hooks.HookGroup=None, + hooks_E: comfy.hooks.HookGroup=None, + hooks_F: comfy.hooks.HookGroup=None, + hooks_G: comfy.hooks.HookGroup=None, + hooks_H: comfy.hooks.HookGroup=None): + candidates = [hooks_A, hooks_B, hooks_C, hooks_D, hooks_E, hooks_F, hooks_G, hooks_H] + return (comfy.hooks.HookGroup.combine_all_hooks(candidates),) +#------------------------------------------ +########################################### + +node_list = [ + # Create + CreateHookLora, + CreateHookLoraModelOnly, + CreateHookModelAsLora, + CreateHookModelAsLoraModelOnly, + # Scheduling + SetHookKeyframes, + CreateHookKeyframe, + CreateHookKeyframesInterpolated, + CreateHookKeyframesFromFloats, + # Combine + CombineHooks, + CombineHooksFour, + CombineHooksEight, + # Attach + ConditioningSetProperties, + ConditioningSetPropertiesAndCombine, + PairConditioningSetProperties, + PairConditioningSetPropertiesAndCombine, + ConditioningSetDefaultAndCombine, + PairConditioningSetDefaultAndCombine, + PairConditioningCombine, + SetClipHooks, + # Other + ConditioningTimestepsRange, +] +NODE_CLASS_MAPPINGS = {} +NODE_DISPLAY_NAME_MAPPINGS = {} + +for node in node_list: + NODE_CLASS_MAPPINGS[node.NodeId] = node + NODE_DISPLAY_NAME_MAPPINGS[node.NodeId] = node.NodeName diff --git a/comfy_extras/nodes_hunyuan.py b/comfy_extras/nodes_hunyuan.py new file mode 100644 index 0000000000000000000000000000000000000000..d6408269f61dc6dc694a02ba3f0e047261724cb9 --- /dev/null +++ b/comfy_extras/nodes_hunyuan.py @@ -0,0 +1,44 @@ +import nodes +import torch +import comfy.model_management + + +class CLIPTextEncodeHunyuanDiT: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "clip": ("CLIP", ), + "bert": ("STRING", {"multiline": True, "dynamicPrompts": True}), + "mt5xl": ("STRING", {"multiline": True, "dynamicPrompts": True}), + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "encode" + + CATEGORY = "advanced/conditioning" + + def encode(self, clip, bert, mt5xl): + tokens = clip.tokenize(bert) + tokens["mt5xl"] = clip.tokenize(mt5xl)["mt5xl"] + + return (clip.encode_from_tokens_scheduled(tokens), ) + +class EmptyHunyuanLatentVideo: + @classmethod + def INPUT_TYPES(s): + return {"required": { "width": ("INT", {"default": 848, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "height": ("INT", {"default": 480, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "length": ("INT", {"default": 25, "min": 1, "max": nodes.MAX_RESOLUTION, "step": 4}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096})}} + RETURN_TYPES = ("LATENT",) + FUNCTION = "generate" + + CATEGORY = "latent/video" + + def generate(self, width, height, length, batch_size=1): + latent = torch.zeros([batch_size, 16, ((length - 1) // 4) + 1, height // 8, width // 8], device=comfy.model_management.intermediate_device()) + return ({"samples":latent}, ) + +NODE_CLASS_MAPPINGS = { + "CLIPTextEncodeHunyuanDiT": CLIPTextEncodeHunyuanDiT, + "EmptyHunyuanLatentVideo": EmptyHunyuanLatentVideo, +} diff --git a/comfy_extras/nodes_hypernetwork.py b/comfy_extras/nodes_hypernetwork.py new file mode 100644 index 0000000000000000000000000000000000000000..665632292782e00fff4d73fa085e9c397a9bec4f --- /dev/null +++ b/comfy_extras/nodes_hypernetwork.py @@ -0,0 +1,120 @@ +import comfy.utils +import folder_paths +import torch +import logging + +def load_hypernetwork_patch(path, strength): + sd = comfy.utils.load_torch_file(path, safe_load=True) + activation_func = sd.get('activation_func', 'linear') + is_layer_norm = sd.get('is_layer_norm', False) + use_dropout = sd.get('use_dropout', False) + activate_output = sd.get('activate_output', False) + last_layer_dropout = sd.get('last_layer_dropout', False) + + valid_activation = { + "linear": torch.nn.Identity, + "relu": torch.nn.ReLU, + "leakyrelu": torch.nn.LeakyReLU, + "elu": torch.nn.ELU, + "swish": torch.nn.Hardswish, + "tanh": torch.nn.Tanh, + "sigmoid": torch.nn.Sigmoid, + "softsign": torch.nn.Softsign, + "mish": torch.nn.Mish, + } + + if activation_func not in valid_activation: + logging.error("Unsupported Hypernetwork format, if you report it I might implement it. {} {} {} {} {} {}".format(path, activation_func, is_layer_norm, use_dropout, activate_output, last_layer_dropout)) + return None + + out = {} + + for d in sd: + try: + dim = int(d) + except: + continue + + output = [] + for index in [0, 1]: + attn_weights = sd[dim][index] + keys = attn_weights.keys() + + linears = filter(lambda a: a.endswith(".weight"), keys) + linears = list(map(lambda a: a[:-len(".weight")], linears)) + layers = [] + + i = 0 + while i < len(linears): + lin_name = linears[i] + last_layer = (i == (len(linears) - 1)) + penultimate_layer = (i == (len(linears) - 2)) + + lin_weight = attn_weights['{}.weight'.format(lin_name)] + lin_bias = attn_weights['{}.bias'.format(lin_name)] + layer = torch.nn.Linear(lin_weight.shape[1], lin_weight.shape[0]) + layer.load_state_dict({"weight": lin_weight, "bias": lin_bias}) + layers.append(layer) + if activation_func != "linear": + if (not last_layer) or (activate_output): + layers.append(valid_activation[activation_func]()) + if is_layer_norm: + i += 1 + ln_name = linears[i] + ln_weight = attn_weights['{}.weight'.format(ln_name)] + ln_bias = attn_weights['{}.bias'.format(ln_name)] + ln = torch.nn.LayerNorm(ln_weight.shape[0]) + ln.load_state_dict({"weight": ln_weight, "bias": ln_bias}) + layers.append(ln) + if use_dropout: + if (not last_layer) and (not penultimate_layer or last_layer_dropout): + layers.append(torch.nn.Dropout(p=0.3)) + i += 1 + + output.append(torch.nn.Sequential(*layers)) + out[dim] = torch.nn.ModuleList(output) + + class hypernetwork_patch: + def __init__(self, hypernet, strength): + self.hypernet = hypernet + self.strength = strength + def __call__(self, q, k, v, extra_options): + dim = k.shape[-1] + if dim in self.hypernet: + hn = self.hypernet[dim] + k = k + hn[0](k) * self.strength + v = v + hn[1](v) * self.strength + + return q, k, v + + def to(self, device): + for d in self.hypernet.keys(): + self.hypernet[d] = self.hypernet[d].to(device) + return self + + return hypernetwork_patch(out, strength) + +class HypernetworkLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "hypernetwork_name": (folder_paths.get_filename_list("hypernetworks"), ), + "strength": ("FLOAT", {"default": 1.0, "min": -10.0, "max": 10.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "load_hypernetwork" + + CATEGORY = "loaders" + + def load_hypernetwork(self, model, hypernetwork_name, strength): + hypernetwork_path = folder_paths.get_full_path_or_raise("hypernetworks", hypernetwork_name) + model_hypernetwork = model.clone() + patch = load_hypernetwork_patch(hypernetwork_path, strength) + if patch is not None: + model_hypernetwork.set_model_attn1_patch(patch) + model_hypernetwork.set_model_attn2_patch(patch) + return (model_hypernetwork,) + +NODE_CLASS_MAPPINGS = { + "HypernetworkLoader": HypernetworkLoader +} diff --git a/comfy_extras/nodes_hypertile.py b/comfy_extras/nodes_hypertile.py new file mode 100644 index 0000000000000000000000000000000000000000..b366117c7bd811ec98f2464eef4b4cc3e8d86f1b --- /dev/null +++ b/comfy_extras/nodes_hypertile.py @@ -0,0 +1,81 @@ +#Taken from: https://github.com/tfernd/HyperTile/ + +import math +from einops import rearrange +# Use torch rng for consistency across generations +from torch import randint + +def random_divisor(value: int, min_value: int, /, max_options: int = 1) -> int: + min_value = min(min_value, value) + + # All big divisors of value (inclusive) + divisors = [i for i in range(min_value, value + 1) if value % i == 0] + + ns = [value // i for i in divisors[:max_options]] # has at least 1 element + + if len(ns) - 1 > 0: + idx = randint(low=0, high=len(ns) - 1, size=(1,)).item() + else: + idx = 0 + + return ns[idx] + +class HyperTile: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "tile_size": ("INT", {"default": 256, "min": 1, "max": 2048}), + "swap_size": ("INT", {"default": 2, "min": 1, "max": 128}), + "max_depth": ("INT", {"default": 0, "min": 0, "max": 10}), + "scale_depth": ("BOOLEAN", {"default": False}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "model_patches/unet" + + def patch(self, model, tile_size, swap_size, max_depth, scale_depth): + latent_tile_size = max(32, tile_size) // 8 + self.temp = None + + def hypertile_in(q, k, v, extra_options): + model_chans = q.shape[-2] + orig_shape = extra_options['original_shape'] + apply_to = [] + for i in range(max_depth + 1): + apply_to.append((orig_shape[-2] / (2 ** i)) * (orig_shape[-1] / (2 ** i))) + + if model_chans in apply_to: + shape = extra_options["original_shape"] + aspect_ratio = shape[-1] / shape[-2] + + hw = q.size(1) + h, w = round(math.sqrt(hw * aspect_ratio)), round(math.sqrt(hw / aspect_ratio)) + + factor = (2 ** apply_to.index(model_chans)) if scale_depth else 1 + nh = random_divisor(h, latent_tile_size * factor, swap_size) + nw = random_divisor(w, latent_tile_size * factor, swap_size) + + if nh * nw > 1: + q = rearrange(q, "b (nh h nw w) c -> (b nh nw) (h w) c", h=h // nh, w=w // nw, nh=nh, nw=nw) + self.temp = (nh, nw, h, w) + return q, k, v + + return q, k, v + def hypertile_out(out, extra_options): + if self.temp is not None: + nh, nw, h, w = self.temp + self.temp = None + out = rearrange(out, "(b nh nw) hw c -> b nh nw hw c", nh=nh, nw=nw) + out = rearrange(out, "b nh nw (h w) c -> b (nh h nw w) c", h=h // nh, w=w // nw) + return out + + + m = model.clone() + m.set_model_attn1_patch(hypertile_in) + m.set_model_attn1_output_patch(hypertile_out) + return (m, ) + +NODE_CLASS_MAPPINGS = { + "HyperTile": HyperTile, +} diff --git a/comfy_extras/nodes_images.py b/comfy_extras/nodes_images.py new file mode 100644 index 0000000000000000000000000000000000000000..af37666b29fcf5d6a572b715682fd031e28639bc --- /dev/null +++ b/comfy_extras/nodes_images.py @@ -0,0 +1,195 @@ +import nodes +import folder_paths +from comfy.cli_args import args + +from PIL import Image +from PIL.PngImagePlugin import PngInfo + +import numpy as np +import json +import os + +MAX_RESOLUTION = nodes.MAX_RESOLUTION + +class ImageCrop: + @classmethod + def INPUT_TYPES(s): + return {"required": { "image": ("IMAGE",), + "width": ("INT", {"default": 512, "min": 1, "max": MAX_RESOLUTION, "step": 1}), + "height": ("INT", {"default": 512, "min": 1, "max": MAX_RESOLUTION, "step": 1}), + "x": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + "y": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + }} + RETURN_TYPES = ("IMAGE",) + FUNCTION = "crop" + + CATEGORY = "image/transform" + + def crop(self, image, width, height, x, y): + x = min(x, image.shape[2] - 1) + y = min(y, image.shape[1] - 1) + to_x = width + x + to_y = height + y + img = image[:,y:to_y, x:to_x, :] + return (img,) + +class RepeatImageBatch: + @classmethod + def INPUT_TYPES(s): + return {"required": { "image": ("IMAGE",), + "amount": ("INT", {"default": 1, "min": 1, "max": 4096}), + }} + RETURN_TYPES = ("IMAGE",) + FUNCTION = "repeat" + + CATEGORY = "image/batch" + + def repeat(self, image, amount): + s = image.repeat((amount, 1,1,1)) + return (s,) + +class ImageFromBatch: + @classmethod + def INPUT_TYPES(s): + return {"required": { "image": ("IMAGE",), + "batch_index": ("INT", {"default": 0, "min": 0, "max": 4095}), + "length": ("INT", {"default": 1, "min": 1, "max": 4096}), + }} + RETURN_TYPES = ("IMAGE",) + FUNCTION = "frombatch" + + CATEGORY = "image/batch" + + def frombatch(self, image, batch_index, length): + s_in = image + batch_index = min(s_in.shape[0] - 1, batch_index) + length = min(s_in.shape[0] - batch_index, length) + s = s_in[batch_index:batch_index + length].clone() + return (s,) + +class SaveAnimatedWEBP: + def __init__(self): + self.output_dir = folder_paths.get_output_directory() + self.type = "output" + self.prefix_append = "" + + methods = {"default": 4, "fastest": 0, "slowest": 6} + @classmethod + def INPUT_TYPES(s): + return {"required": + {"images": ("IMAGE", ), + "filename_prefix": ("STRING", {"default": "ComfyUI"}), + "fps": ("FLOAT", {"default": 6.0, "min": 0.01, "max": 1000.0, "step": 0.01}), + "lossless": ("BOOLEAN", {"default": True}), + "quality": ("INT", {"default": 80, "min": 0, "max": 100}), + "method": (list(s.methods.keys()),), + # "num_frames": ("INT", {"default": 0, "min": 0, "max": 8192}), + }, + "hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"}, + } + + RETURN_TYPES = () + FUNCTION = "save_images" + + OUTPUT_NODE = True + + CATEGORY = "image/animation" + + def save_images(self, images, fps, filename_prefix, lossless, quality, method, num_frames=0, prompt=None, extra_pnginfo=None): + method = self.methods.get(method) + filename_prefix += self.prefix_append + full_output_folder, filename, counter, subfolder, filename_prefix = folder_paths.get_save_image_path(filename_prefix, self.output_dir, images[0].shape[1], images[0].shape[0]) + results = list() + pil_images = [] + for image in images: + i = 255. * image.cpu().numpy() + img = Image.fromarray(np.clip(i, 0, 255).astype(np.uint8)) + pil_images.append(img) + + metadata = pil_images[0].getexif() + if not args.disable_metadata: + if prompt is not None: + metadata[0x0110] = "prompt:{}".format(json.dumps(prompt)) + if extra_pnginfo is not None: + inital_exif = 0x010f + for x in extra_pnginfo: + metadata[inital_exif] = "{}:{}".format(x, json.dumps(extra_pnginfo[x])) + inital_exif -= 1 + + if num_frames == 0: + num_frames = len(pil_images) + + c = len(pil_images) + for i in range(0, c, num_frames): + file = f"{filename}_{counter:05}_.webp" + pil_images[i].save(os.path.join(full_output_folder, file), save_all=True, duration=int(1000.0/fps), append_images=pil_images[i + 1:i + num_frames], exif=metadata, lossless=lossless, quality=quality, method=method) + results.append({ + "filename": file, + "subfolder": subfolder, + "type": self.type + }) + counter += 1 + + animated = num_frames != 1 + return { "ui": { "images": results, "animated": (animated,) } } + +class SaveAnimatedPNG: + def __init__(self): + self.output_dir = folder_paths.get_output_directory() + self.type = "output" + self.prefix_append = "" + + @classmethod + def INPUT_TYPES(s): + return {"required": + {"images": ("IMAGE", ), + "filename_prefix": ("STRING", {"default": "ComfyUI"}), + "fps": ("FLOAT", {"default": 6.0, "min": 0.01, "max": 1000.0, "step": 0.01}), + "compress_level": ("INT", {"default": 4, "min": 0, "max": 9}) + }, + "hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"}, + } + + RETURN_TYPES = () + FUNCTION = "save_images" + + OUTPUT_NODE = True + + CATEGORY = "image/animation" + + def save_images(self, images, fps, compress_level, filename_prefix="ComfyUI", prompt=None, extra_pnginfo=None): + filename_prefix += self.prefix_append + full_output_folder, filename, counter, subfolder, filename_prefix = folder_paths.get_save_image_path(filename_prefix, self.output_dir, images[0].shape[1], images[0].shape[0]) + results = list() + pil_images = [] + for image in images: + i = 255. * image.cpu().numpy() + img = Image.fromarray(np.clip(i, 0, 255).astype(np.uint8)) + pil_images.append(img) + + metadata = None + if not args.disable_metadata: + metadata = PngInfo() + if prompt is not None: + metadata.add(b"comf", "prompt".encode("latin-1", "strict") + b"\0" + json.dumps(prompt).encode("latin-1", "strict"), after_idat=True) + if extra_pnginfo is not None: + for x in extra_pnginfo: + metadata.add(b"comf", x.encode("latin-1", "strict") + b"\0" + json.dumps(extra_pnginfo[x]).encode("latin-1", "strict"), after_idat=True) + + file = f"{filename}_{counter:05}_.png" + pil_images[0].save(os.path.join(full_output_folder, file), pnginfo=metadata, compress_level=compress_level, save_all=True, duration=int(1000.0/fps), append_images=pil_images[1:]) + results.append({ + "filename": file, + "subfolder": subfolder, + "type": self.type + }) + + return { "ui": { "images": results, "animated": (True,)} } + +NODE_CLASS_MAPPINGS = { + "ImageCrop": ImageCrop, + "RepeatImageBatch": RepeatImageBatch, + "ImageFromBatch": ImageFromBatch, + "SaveAnimatedWEBP": SaveAnimatedWEBP, + "SaveAnimatedPNG": SaveAnimatedPNG, +} diff --git a/comfy_extras/nodes_ip2p.py b/comfy_extras/nodes_ip2p.py new file mode 100644 index 0000000000000000000000000000000000000000..c2e70a84c10ca5cc1b3ca853a97adc3c64fbb315 --- /dev/null +++ b/comfy_extras/nodes_ip2p.py @@ -0,0 +1,45 @@ +import torch + +class InstructPixToPixConditioning: + @classmethod + def INPUT_TYPES(s): + return {"required": {"positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "vae": ("VAE", ), + "pixels": ("IMAGE", ), + }} + + RETURN_TYPES = ("CONDITIONING","CONDITIONING","LATENT") + RETURN_NAMES = ("positive", "negative", "latent") + FUNCTION = "encode" + + CATEGORY = "conditioning/instructpix2pix" + + def encode(self, positive, negative, pixels, vae): + x = (pixels.shape[1] // 8) * 8 + y = (pixels.shape[2] // 8) * 8 + + if pixels.shape[1] != x or pixels.shape[2] != y: + x_offset = (pixels.shape[1] % 8) // 2 + y_offset = (pixels.shape[2] % 8) // 2 + pixels = pixels[:,x_offset:x + x_offset, y_offset:y + y_offset,:] + + concat_latent = vae.encode(pixels) + + out_latent = {} + out_latent["samples"] = torch.zeros_like(concat_latent) + + out = [] + for conditioning in [positive, negative]: + c = [] + for t in conditioning: + d = t[1].copy() + d["concat_latent_image"] = concat_latent + n = [t[0], d] + c.append(n) + out.append(c) + return (out[0], out[1], out_latent) + +NODE_CLASS_MAPPINGS = { + "InstructPixToPixConditioning": InstructPixToPixConditioning, +} diff --git a/comfy_extras/nodes_latent.py b/comfy_extras/nodes_latent.py new file mode 100644 index 0000000000000000000000000000000000000000..af27368182d9212b078d4f7eead3796ffca15fe5 --- /dev/null +++ b/comfy_extras/nodes_latent.py @@ -0,0 +1,285 @@ +import comfy.utils +import comfy_extras.nodes_post_processing +import torch + +def reshape_latent_to(target_shape, latent): + if latent.shape[1:] != target_shape[1:]: + latent = comfy.utils.common_upscale(latent, target_shape[3], target_shape[2], "bilinear", "center") + return comfy.utils.repeat_to_batch_size(latent, target_shape[0]) + + +class LatentAdd: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples1": ("LATENT",), "samples2": ("LATENT",)}} + + RETURN_TYPES = ("LATENT",) + FUNCTION = "op" + + CATEGORY = "latent/advanced" + + def op(self, samples1, samples2): + samples_out = samples1.copy() + + s1 = samples1["samples"] + s2 = samples2["samples"] + + s2 = reshape_latent_to(s1.shape, s2) + samples_out["samples"] = s1 + s2 + return (samples_out,) + +class LatentSubtract: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples1": ("LATENT",), "samples2": ("LATENT",)}} + + RETURN_TYPES = ("LATENT",) + FUNCTION = "op" + + CATEGORY = "latent/advanced" + + def op(self, samples1, samples2): + samples_out = samples1.copy() + + s1 = samples1["samples"] + s2 = samples2["samples"] + + s2 = reshape_latent_to(s1.shape, s2) + samples_out["samples"] = s1 - s2 + return (samples_out,) + +class LatentMultiply: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples": ("LATENT",), + "multiplier": ("FLOAT", {"default": 1.0, "min": -10.0, "max": 10.0, "step": 0.01}), + }} + + RETURN_TYPES = ("LATENT",) + FUNCTION = "op" + + CATEGORY = "latent/advanced" + + def op(self, samples, multiplier): + samples_out = samples.copy() + + s1 = samples["samples"] + samples_out["samples"] = s1 * multiplier + return (samples_out,) + +class LatentInterpolate: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples1": ("LATENT",), + "samples2": ("LATENT",), + "ratio": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}), + }} + + RETURN_TYPES = ("LATENT",) + FUNCTION = "op" + + CATEGORY = "latent/advanced" + + def op(self, samples1, samples2, ratio): + samples_out = samples1.copy() + + s1 = samples1["samples"] + s2 = samples2["samples"] + + s2 = reshape_latent_to(s1.shape, s2) + + m1 = torch.linalg.vector_norm(s1, dim=(1)) + m2 = torch.linalg.vector_norm(s2, dim=(1)) + + s1 = torch.nan_to_num(s1 / m1) + s2 = torch.nan_to_num(s2 / m2) + + t = (s1 * ratio + s2 * (1.0 - ratio)) + mt = torch.linalg.vector_norm(t, dim=(1)) + st = torch.nan_to_num(t / mt) + + samples_out["samples"] = st * (m1 * ratio + m2 * (1.0 - ratio)) + return (samples_out,) + +class LatentBatch: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples1": ("LATENT",), "samples2": ("LATENT",)}} + + RETURN_TYPES = ("LATENT",) + FUNCTION = "batch" + + CATEGORY = "latent/batch" + + def batch(self, samples1, samples2): + samples_out = samples1.copy() + s1 = samples1["samples"] + s2 = samples2["samples"] + + if s1.shape[1:] != s2.shape[1:]: + s2 = comfy.utils.common_upscale(s2, s1.shape[3], s1.shape[2], "bilinear", "center") + s = torch.cat((s1, s2), dim=0) + samples_out["samples"] = s + samples_out["batch_index"] = samples1.get("batch_index", [x for x in range(0, s1.shape[0])]) + samples2.get("batch_index", [x for x in range(0, s2.shape[0])]) + return (samples_out,) + +class LatentBatchSeedBehavior: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples": ("LATENT",), + "seed_behavior": (["random", "fixed"],{"default": "fixed"}),}} + + RETURN_TYPES = ("LATENT",) + FUNCTION = "op" + + CATEGORY = "latent/advanced" + + def op(self, samples, seed_behavior): + samples_out = samples.copy() + latent = samples["samples"] + if seed_behavior == "random": + if 'batch_index' in samples_out: + samples_out.pop('batch_index') + elif seed_behavior == "fixed": + batch_number = samples_out.get("batch_index", [0])[0] + samples_out["batch_index"] = [batch_number] * latent.shape[0] + + return (samples_out,) + +class LatentApplyOperation: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples": ("LATENT",), + "operation": ("LATENT_OPERATION",), + }} + + RETURN_TYPES = ("LATENT",) + FUNCTION = "op" + + CATEGORY = "latent/advanced/operations" + EXPERIMENTAL = True + + def op(self, samples, operation): + samples_out = samples.copy() + + s1 = samples["samples"] + samples_out["samples"] = operation(latent=s1) + return (samples_out,) + +class LatentApplyOperationCFG: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "operation": ("LATENT_OPERATION",), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "latent/advanced/operations" + EXPERIMENTAL = True + + def patch(self, model, operation): + m = model.clone() + + def pre_cfg_function(args): + conds_out = args["conds_out"] + if len(conds_out) == 2: + conds_out[0] = operation(latent=(conds_out[0] - conds_out[1])) + conds_out[1] + else: + conds_out[0] = operation(latent=conds_out[0]) + return conds_out + + m.set_model_sampler_pre_cfg_function(pre_cfg_function) + return (m, ) + +class LatentOperationTonemapReinhard: + @classmethod + def INPUT_TYPES(s): + return {"required": { "multiplier": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step": 0.01}), + }} + + RETURN_TYPES = ("LATENT_OPERATION",) + FUNCTION = "op" + + CATEGORY = "latent/advanced/operations" + EXPERIMENTAL = True + + def op(self, multiplier): + def tonemap_reinhard(latent, **kwargs): + latent_vector_magnitude = (torch.linalg.vector_norm(latent, dim=(1)) + 0.0000000001)[:,None] + normalized_latent = latent / latent_vector_magnitude + + mean = torch.mean(latent_vector_magnitude, dim=(1,2,3), keepdim=True) + std = torch.std(latent_vector_magnitude, dim=(1,2,3), keepdim=True) + + top = (std * 5 + mean) * multiplier + + #reinhard + latent_vector_magnitude *= (1.0 / top) + new_magnitude = latent_vector_magnitude / (latent_vector_magnitude + 1.0) + new_magnitude *= top + + return normalized_latent * new_magnitude + return (tonemap_reinhard,) + +class LatentOperationSharpen: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "sharpen_radius": ("INT", { + "default": 9, + "min": 1, + "max": 31, + "step": 1 + }), + "sigma": ("FLOAT", { + "default": 1.0, + "min": 0.1, + "max": 10.0, + "step": 0.1 + }), + "alpha": ("FLOAT", { + "default": 0.1, + "min": 0.0, + "max": 5.0, + "step": 0.01 + }), + }} + + RETURN_TYPES = ("LATENT_OPERATION",) + FUNCTION = "op" + + CATEGORY = "latent/advanced/operations" + EXPERIMENTAL = True + + def op(self, sharpen_radius, sigma, alpha): + def sharpen(latent, **kwargs): + luminance = (torch.linalg.vector_norm(latent, dim=(1)) + 1e-6)[:,None] + normalized_latent = latent / luminance + channels = latent.shape[1] + + kernel_size = sharpen_radius * 2 + 1 + kernel = comfy_extras.nodes_post_processing.gaussian_kernel(kernel_size, sigma, device=luminance.device) + center = kernel_size // 2 + + kernel *= alpha * -10 + kernel[center, center] = kernel[center, center] - kernel.sum() + 1.0 + + padded_image = torch.nn.functional.pad(normalized_latent, (sharpen_radius,sharpen_radius,sharpen_radius,sharpen_radius), 'reflect') + sharpened = torch.nn.functional.conv2d(padded_image, kernel.repeat(channels, 1, 1).unsqueeze(1), padding=kernel_size // 2, groups=channels)[:,:,sharpen_radius:-sharpen_radius, sharpen_radius:-sharpen_radius] + + return luminance * sharpened + return (sharpen,) + +NODE_CLASS_MAPPINGS = { + "LatentAdd": LatentAdd, + "LatentSubtract": LatentSubtract, + "LatentMultiply": LatentMultiply, + "LatentInterpolate": LatentInterpolate, + "LatentBatch": LatentBatch, + "LatentBatchSeedBehavior": LatentBatchSeedBehavior, + "LatentApplyOperation": LatentApplyOperation, + "LatentApplyOperationCFG": LatentApplyOperationCFG, + "LatentOperationTonemapReinhard": LatentOperationTonemapReinhard, + "LatentOperationSharpen": LatentOperationSharpen, +} diff --git a/comfy_extras/nodes_load_3d.py b/comfy_extras/nodes_load_3d.py new file mode 100644 index 0000000000000000000000000000000000000000..3560ab78af009b44608ca13d006d7ee01d3975b1 --- /dev/null +++ b/comfy_extras/nodes_load_3d.py @@ -0,0 +1,143 @@ +import nodes +import folder_paths +import os + +def normalize_path(path): + return path.replace('\\', '/') + +class Load3D(): + @classmethod + def INPUT_TYPES(s): + input_dir = os.path.join(folder_paths.get_input_directory(), "3d") + + os.makedirs(input_dir, exist_ok=True) + + files = [normalize_path(os.path.join("3d", f)) for f in os.listdir(input_dir) if f.endswith(('.gltf', '.glb', '.obj', '.mtl', '.fbx', '.stl'))] + + return {"required": { + "model_file": (sorted(files), {"file_upload": True}), + "image": ("LOAD_3D", {}), + "width": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), + "height": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), + "show_grid": ([True, False],), + "camera_type": (["perspective", "orthographic"],), + "view": (["front", "right", "top", "isometric"],), + "material": (["original", "normal", "wireframe", "depth"],), + "bg_color": ("STRING", {"default": "#000000", "multiline": False}), + "light_intensity": ("INT", {"default": 10, "min": 1, "max": 20, "step": 1}), + "up_direction": (["original", "-x", "+x", "-y", "+y", "-z", "+z"],), + "fov": ("INT", {"default": 75, "min": 10, "max": 150, "step": 1}), + }} + + RETURN_TYPES = ("IMAGE", "MASK", "STRING") + RETURN_NAMES = ("image", "mask", "mesh_path") + + FUNCTION = "process" + EXPERIMENTAL = True + + CATEGORY = "3d" + + def process(self, model_file, image, **kwargs): + if isinstance(image, dict): + image_path = folder_paths.get_annotated_filepath(image['image']) + mask_path = folder_paths.get_annotated_filepath(image['mask']) + + load_image_node = nodes.LoadImage() + output_image, ignore_mask = load_image_node.load_image(image=image_path) + ignore_image, output_mask = load_image_node.load_image(image=mask_path) + + return output_image, output_mask, model_file, + else: + # to avoid the format is not dict which will happen the FE code is not compatibility to core, + # we need to this to double-check, it can be removed after merged FE into the core + image_path = folder_paths.get_annotated_filepath(image) + load_image_node = nodes.LoadImage() + output_image, output_mask = load_image_node.load_image(image=image_path) + return output_image, output_mask, model_file, + +class Load3DAnimation(): + @classmethod + def INPUT_TYPES(s): + input_dir = os.path.join(folder_paths.get_input_directory(), "3d") + + os.makedirs(input_dir, exist_ok=True) + + files = [normalize_path(os.path.join("3d", f)) for f in os.listdir(input_dir) if f.endswith(('.gltf', '.glb', '.fbx'))] + + return {"required": { + "model_file": (sorted(files), {"file_upload": True}), + "image": ("LOAD_3D_ANIMATION", {}), + "width": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), + "height": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), + "show_grid": ([True, False],), + "camera_type": (["perspective", "orthographic"],), + "view": (["front", "right", "top", "isometric"],), + "material": (["original", "normal", "wireframe", "depth"],), + "bg_color": ("STRING", {"default": "#000000", "multiline": False}), + "light_intensity": ("INT", {"default": 10, "min": 1, "max": 20, "step": 1}), + "up_direction": (["original", "-x", "+x", "-y", "+y", "-z", "+z"],), + "animation_speed": (["0.1", "0.5", "1", "1.5", "2"], {"default": "1"}), + "fov": ("INT", {"default": 75, "min": 10, "max": 150, "step": 1}), + }} + + RETURN_TYPES = ("IMAGE", "MASK", "STRING") + RETURN_NAMES = ("image", "mask", "mesh_path") + + FUNCTION = "process" + EXPERIMENTAL = True + + CATEGORY = "3d" + + def process(self, model_file, image, **kwargs): + if isinstance(image, dict): + image_path = folder_paths.get_annotated_filepath(image['image']) + mask_path = folder_paths.get_annotated_filepath(image['mask']) + + load_image_node = nodes.LoadImage() + output_image, ignore_mask = load_image_node.load_image(image=image_path) + ignore_image, output_mask = load_image_node.load_image(image=mask_path) + + return output_image, output_mask, model_file, + else: + image_path = folder_paths.get_annotated_filepath(image) + load_image_node = nodes.LoadImage() + output_image, output_mask = load_image_node.load_image(image=image_path) + return output_image, output_mask, model_file, + +class Preview3D(): + @classmethod + def INPUT_TYPES(s): + return {"required": { + "model_file": ("STRING", {"default": "", "multiline": False}), + "show_grid": ([True, False],), + "camera_type": (["perspective", "orthographic"],), + "view": (["front", "right", "top", "isometric"],), + "material": (["original", "normal", "wireframe", "depth"],), + "bg_color": ("STRING", {"default": "#000000", "multiline": False}), + "light_intensity": ("INT", {"default": 10, "min": 1, "max": 20, "step": 1}), + "up_direction": (["original", "-x", "+x", "-y", "+y", "-z", "+z"],), + "fov": ("INT", {"default": 75, "min": 10, "max": 150, "step": 1}), + }} + + OUTPUT_NODE = True + RETURN_TYPES = () + + CATEGORY = "3d" + + FUNCTION = "process" + EXPERIMENTAL = True + + def process(self, model_file, **kwargs): + return {"ui": {"model_file": [model_file]}, "result": ()} + +NODE_CLASS_MAPPINGS = { + "Load3D": Load3D, + "Load3DAnimation": Load3DAnimation, + "Preview3D": Preview3D +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "Load3D": "Load 3D", + "Load3DAnimation": "Load 3D - Animation", + "Preview3D": "Preview 3D" +} diff --git a/comfy_extras/nodes_lora_extract.py b/comfy_extras/nodes_lora_extract.py new file mode 100644 index 0000000000000000000000000000000000000000..dfd4fe9f4a5c4b7aff37d244fc25033e9a286119 --- /dev/null +++ b/comfy_extras/nodes_lora_extract.py @@ -0,0 +1,119 @@ +import torch +import comfy.model_management +import comfy.utils +import folder_paths +import os +import logging +from enum import Enum + +CLAMP_QUANTILE = 0.99 + +def extract_lora(diff, rank): + conv2d = (len(diff.shape) == 4) + kernel_size = None if not conv2d else diff.size()[2:4] + conv2d_3x3 = conv2d and kernel_size != (1, 1) + out_dim, in_dim = diff.size()[0:2] + rank = min(rank, in_dim, out_dim) + + if conv2d: + if conv2d_3x3: + diff = diff.flatten(start_dim=1) + else: + diff = diff.squeeze() + + + U, S, Vh = torch.linalg.svd(diff.float()) + U = U[:, :rank] + S = S[:rank] + U = U @ torch.diag(S) + Vh = Vh[:rank, :] + + dist = torch.cat([U.flatten(), Vh.flatten()]) + hi_val = torch.quantile(dist, CLAMP_QUANTILE) + low_val = -hi_val + + U = U.clamp(low_val, hi_val) + Vh = Vh.clamp(low_val, hi_val) + if conv2d: + U = U.reshape(out_dim, rank, 1, 1) + Vh = Vh.reshape(rank, in_dim, kernel_size[0], kernel_size[1]) + return (U, Vh) + +class LORAType(Enum): + STANDARD = 0 + FULL_DIFF = 1 + +LORA_TYPES = {"standard": LORAType.STANDARD, + "full_diff": LORAType.FULL_DIFF} + +def calc_lora_model(model_diff, rank, prefix_model, prefix_lora, output_sd, lora_type, bias_diff=False): + comfy.model_management.load_models_gpu([model_diff], force_patch_weights=True) + sd = model_diff.model_state_dict(filter_prefix=prefix_model) + + for k in sd: + if k.endswith(".weight"): + weight_diff = sd[k] + if lora_type == LORAType.STANDARD: + if weight_diff.ndim < 2: + if bias_diff: + output_sd["{}{}.diff".format(prefix_lora, k[len(prefix_model):-7])] = weight_diff.contiguous().half().cpu() + continue + try: + out = extract_lora(weight_diff, rank) + output_sd["{}{}.lora_up.weight".format(prefix_lora, k[len(prefix_model):-7])] = out[0].contiguous().half().cpu() + output_sd["{}{}.lora_down.weight".format(prefix_lora, k[len(prefix_model):-7])] = out[1].contiguous().half().cpu() + except: + logging.warning("Could not generate lora weights for key {}, is the weight difference a zero?".format(k)) + elif lora_type == LORAType.FULL_DIFF: + output_sd["{}{}.diff".format(prefix_lora, k[len(prefix_model):-7])] = weight_diff.contiguous().half().cpu() + + elif bias_diff and k.endswith(".bias"): + output_sd["{}{}.diff_b".format(prefix_lora, k[len(prefix_model):-5])] = sd[k].contiguous().half().cpu() + return output_sd + +class LoraSave: + def __init__(self): + self.output_dir = folder_paths.get_output_directory() + + @classmethod + def INPUT_TYPES(s): + return {"required": {"filename_prefix": ("STRING", {"default": "loras/ComfyUI_extracted_lora"}), + "rank": ("INT", {"default": 8, "min": 1, "max": 4096, "step": 1}), + "lora_type": (tuple(LORA_TYPES.keys()),), + "bias_diff": ("BOOLEAN", {"default": True}), + }, + "optional": {"model_diff": ("MODEL", {"tooltip": "The ModelSubtract output to be converted to a lora."}), + "text_encoder_diff": ("CLIP", {"tooltip": "The CLIPSubtract output to be converted to a lora."})}, + } + RETURN_TYPES = () + FUNCTION = "save" + OUTPUT_NODE = True + + CATEGORY = "_for_testing" + + def save(self, filename_prefix, rank, lora_type, bias_diff, model_diff=None, text_encoder_diff=None): + if model_diff is None and text_encoder_diff is None: + return {} + + lora_type = LORA_TYPES.get(lora_type) + full_output_folder, filename, counter, subfolder, filename_prefix = folder_paths.get_save_image_path(filename_prefix, self.output_dir) + + output_sd = {} + if model_diff is not None: + output_sd = calc_lora_model(model_diff, rank, "diffusion_model.", "diffusion_model.", output_sd, lora_type, bias_diff=bias_diff) + if text_encoder_diff is not None: + output_sd = calc_lora_model(text_encoder_diff.patcher, rank, "", "text_encoders.", output_sd, lora_type, bias_diff=bias_diff) + + output_checkpoint = f"{filename}_{counter:05}_.safetensors" + output_checkpoint = os.path.join(full_output_folder, output_checkpoint) + + comfy.utils.save_torch_file(output_sd, output_checkpoint, metadata=None) + return {} + +NODE_CLASS_MAPPINGS = { + "LoraSave": LoraSave +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "LoraSave": "Extract and Save Lora" +} diff --git a/comfy_extras/nodes_lt.py b/comfy_extras/nodes_lt.py new file mode 100644 index 0000000000000000000000000000000000000000..dec9124160752155ead96a1f72db830f1895b32f --- /dev/null +++ b/comfy_extras/nodes_lt.py @@ -0,0 +1,184 @@ +import nodes +import node_helpers +import torch +import comfy.model_management +import comfy.model_sampling +import math + +class EmptyLTXVLatentVideo: + @classmethod + def INPUT_TYPES(s): + return {"required": { "width": ("INT", {"default": 768, "min": 64, "max": nodes.MAX_RESOLUTION, "step": 32}), + "height": ("INT", {"default": 512, "min": 64, "max": nodes.MAX_RESOLUTION, "step": 32}), + "length": ("INT", {"default": 97, "min": 1, "max": nodes.MAX_RESOLUTION, "step": 8}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096})}} + RETURN_TYPES = ("LATENT",) + FUNCTION = "generate" + + CATEGORY = "latent/video/ltxv" + + def generate(self, width, height, length, batch_size=1): + latent = torch.zeros([batch_size, 128, ((length - 1) // 8) + 1, height // 32, width // 32], device=comfy.model_management.intermediate_device()) + return ({"samples": latent}, ) + + +class LTXVImgToVideo: + @classmethod + def INPUT_TYPES(s): + return {"required": {"positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "vae": ("VAE",), + "image": ("IMAGE",), + "width": ("INT", {"default": 768, "min": 64, "max": nodes.MAX_RESOLUTION, "step": 32}), + "height": ("INT", {"default": 512, "min": 64, "max": nodes.MAX_RESOLUTION, "step": 32}), + "length": ("INT", {"default": 97, "min": 9, "max": nodes.MAX_RESOLUTION, "step": 8}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096}), + "image_noise_scale": ("FLOAT", {"default": 0.15, "min": 0, "max": 1.0, "step": 0.01, "tooltip": "Amount of noise to apply on conditioning image latent."}) + }} + + RETURN_TYPES = ("CONDITIONING", "CONDITIONING", "LATENT") + RETURN_NAMES = ("positive", "negative", "latent") + + CATEGORY = "conditioning/video_models" + FUNCTION = "generate" + + def generate(self, positive, negative, image, vae, width, height, length, batch_size, image_noise_scale): + pixels = comfy.utils.common_upscale(image.movedim(-1, 1), width, height, "bilinear", "center").movedim(1, -1) + encode_pixels = pixels[:, :, :, :3] + t = vae.encode(encode_pixels) + positive = node_helpers.conditioning_set_values(positive, {"guiding_latent": t, "guiding_latent_noise_scale": image_noise_scale}) + negative = node_helpers.conditioning_set_values(negative, {"guiding_latent": t, "guiding_latent_noise_scale": image_noise_scale}) + + latent = torch.zeros([batch_size, 128, ((length - 1) // 8) + 1, height // 32, width // 32], device=comfy.model_management.intermediate_device()) + latent[:, :, :t.shape[2]] = t + return (positive, negative, {"samples": latent}, ) + + +class LTXVConditioning: + @classmethod + def INPUT_TYPES(s): + return {"required": {"positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "frame_rate": ("FLOAT", {"default": 25.0, "min": 0.0, "max": 1000.0, "step": 0.01}), + }} + RETURN_TYPES = ("CONDITIONING", "CONDITIONING") + RETURN_NAMES = ("positive", "negative") + FUNCTION = "append" + + CATEGORY = "conditioning/video_models" + + def append(self, positive, negative, frame_rate): + positive = node_helpers.conditioning_set_values(positive, {"frame_rate": frame_rate}) + negative = node_helpers.conditioning_set_values(negative, {"frame_rate": frame_rate}) + return (positive, negative) + + +class ModelSamplingLTXV: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "max_shift": ("FLOAT", {"default": 2.05, "min": 0.0, "max": 100.0, "step":0.01}), + "base_shift": ("FLOAT", {"default": 0.95, "min": 0.0, "max": 100.0, "step":0.01}), + }, + "optional": {"latent": ("LATENT",), } + } + + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "advanced/model" + + def patch(self, model, max_shift, base_shift, latent=None): + m = model.clone() + + if latent is None: + tokens = 4096 + else: + tokens = math.prod(latent["samples"].shape[2:]) + + x1 = 1024 + x2 = 4096 + mm = (max_shift - base_shift) / (x2 - x1) + b = base_shift - mm * x1 + shift = (tokens) * mm + b + + sampling_base = comfy.model_sampling.ModelSamplingFlux + sampling_type = comfy.model_sampling.CONST + + class ModelSamplingAdvanced(sampling_base, sampling_type): + pass + + model_sampling = ModelSamplingAdvanced(model.model.model_config) + model_sampling.set_parameters(shift=shift) + m.add_object_patch("model_sampling", model_sampling) + + return (m, ) + + +class LTXVScheduler: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"steps": ("INT", {"default": 20, "min": 1, "max": 10000}), + "max_shift": ("FLOAT", {"default": 2.05, "min": 0.0, "max": 100.0, "step":0.01}), + "base_shift": ("FLOAT", {"default": 0.95, "min": 0.0, "max": 100.0, "step":0.01}), + "stretch": ("BOOLEAN", { + "default": True, + "tooltip": "Stretch the sigmas to be in the range [terminal, 1]." + }), + "terminal": ( + "FLOAT", + { + "default": 0.1, "min": 0.0, "max": 0.99, "step": 0.01, + "tooltip": "The terminal value of the sigmas after stretching." + }, + ), + }, + "optional": {"latent": ("LATENT",), } + } + + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/schedulers" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, steps, max_shift, base_shift, stretch, terminal, latent=None): + if latent is None: + tokens = 4096 + else: + tokens = math.prod(latent["samples"].shape[2:]) + + sigmas = torch.linspace(1.0, 0.0, steps + 1) + + x1 = 1024 + x2 = 4096 + mm = (max_shift - base_shift) / (x2 - x1) + b = base_shift - mm * x1 + sigma_shift = (tokens) * mm + b + + power = 1 + sigmas = torch.where( + sigmas != 0, + math.exp(sigma_shift) / (math.exp(sigma_shift) + (1 / sigmas - 1) ** power), + 0, + ) + + # Stretch sigmas so that its final value matches the given terminal value. + if stretch: + non_zero_mask = sigmas != 0 + non_zero_sigmas = sigmas[non_zero_mask] + one_minus_z = 1.0 - non_zero_sigmas + scale_factor = one_minus_z[-1] / (1.0 - terminal) + stretched = 1.0 - (one_minus_z / scale_factor) + sigmas[non_zero_mask] = stretched + + return (sigmas,) + + +NODE_CLASS_MAPPINGS = { + "EmptyLTXVLatentVideo": EmptyLTXVLatentVideo, + "LTXVImgToVideo": LTXVImgToVideo, + "ModelSamplingLTXV": ModelSamplingLTXV, + "LTXVConditioning": LTXVConditioning, + "LTXVScheduler": LTXVScheduler, +} diff --git a/comfy_extras/nodes_mahiro.py b/comfy_extras/nodes_mahiro.py new file mode 100644 index 0000000000000000000000000000000000000000..8fcdfba759f97515e5f64d3a130b0d892005cff2 --- /dev/null +++ b/comfy_extras/nodes_mahiro.py @@ -0,0 +1,41 @@ +import torch +import torch.nn.functional as F + +class Mahiro: + @classmethod + def INPUT_TYPES(s): + return {"required": {"model": ("MODEL",), + }} + RETURN_TYPES = ("MODEL",) + RETURN_NAMES = ("patched_model",) + FUNCTION = "patch" + CATEGORY = "_for_testing" + DESCRIPTION = "Modify the guidance to scale more on the 'direction' of the positive prompt rather than the difference between the negative prompt." + def patch(self, model): + m = model.clone() + def mahiro_normd(args): + scale: float = args['cond_scale'] + cond_p: torch.Tensor = args['cond_denoised'] + uncond_p: torch.Tensor = args['uncond_denoised'] + #naive leap + leap = cond_p * scale + #sim with uncond leap + u_leap = uncond_p * scale + cfg = args["denoised"] + merge = (leap + cfg) / 2 + normu = torch.sqrt(u_leap.abs()) * u_leap.sign() + normm = torch.sqrt(merge.abs()) * merge.sign() + sim = F.cosine_similarity(normu, normm).mean() + simsc = 2 * (sim+1) + wm = (simsc*cfg + (4-simsc)*leap) / 4 + return wm + m.set_model_sampler_post_cfg_function(mahiro_normd) + return (m, ) + +NODE_CLASS_MAPPINGS = { + "Mahiro": Mahiro +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "Mahiro": "Mahiro is so cute that she deserves a better guidance function!! (。・ω・。)", +} diff --git a/comfy_extras/nodes_mask.py b/comfy_extras/nodes_mask.py new file mode 100644 index 0000000000000000000000000000000000000000..63fd13b9a9b1452565dcdbe448fe4892188a7530 --- /dev/null +++ b/comfy_extras/nodes_mask.py @@ -0,0 +1,382 @@ +import numpy as np +import scipy.ndimage +import torch +import comfy.utils + +from nodes import MAX_RESOLUTION + +def composite(destination, source, x, y, mask = None, multiplier = 8, resize_source = False): + source = source.to(destination.device) + if resize_source: + source = torch.nn.functional.interpolate(source, size=(destination.shape[2], destination.shape[3]), mode="bilinear") + + source = comfy.utils.repeat_to_batch_size(source, destination.shape[0]) + + x = max(-source.shape[3] * multiplier, min(x, destination.shape[3] * multiplier)) + y = max(-source.shape[2] * multiplier, min(y, destination.shape[2] * multiplier)) + + left, top = (x // multiplier, y // multiplier) + right, bottom = (left + source.shape[3], top + source.shape[2],) + + if mask is None: + mask = torch.ones_like(source) + else: + mask = mask.to(destination.device, copy=True) + mask = torch.nn.functional.interpolate(mask.reshape((-1, 1, mask.shape[-2], mask.shape[-1])), size=(source.shape[2], source.shape[3]), mode="bilinear") + mask = comfy.utils.repeat_to_batch_size(mask, source.shape[0]) + + # calculate the bounds of the source that will be overlapping the destination + # this prevents the source trying to overwrite latent pixels that are out of bounds + # of the destination + visible_width, visible_height = (destination.shape[3] - left + min(0, x), destination.shape[2] - top + min(0, y),) + + mask = mask[:, :, :visible_height, :visible_width] + inverse_mask = torch.ones_like(mask) - mask + + source_portion = mask * source[:, :, :visible_height, :visible_width] + destination_portion = inverse_mask * destination[:, :, top:bottom, left:right] + + destination[:, :, top:bottom, left:right] = source_portion + destination_portion + return destination + +class LatentCompositeMasked: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "destination": ("LATENT",), + "source": ("LATENT",), + "x": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + "y": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + "resize_source": ("BOOLEAN", {"default": False}), + }, + "optional": { + "mask": ("MASK",), + } + } + RETURN_TYPES = ("LATENT",) + FUNCTION = "composite" + + CATEGORY = "latent" + + def composite(self, destination, source, x, y, resize_source, mask = None): + output = destination.copy() + destination = destination["samples"].clone() + source = source["samples"] + output["samples"] = composite(destination, source, x, y, mask, 8, resize_source) + return (output,) + +class ImageCompositeMasked: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "destination": ("IMAGE",), + "source": ("IMAGE",), + "x": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + "y": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + "resize_source": ("BOOLEAN", {"default": False}), + }, + "optional": { + "mask": ("MASK",), + } + } + RETURN_TYPES = ("IMAGE",) + FUNCTION = "composite" + + CATEGORY = "image" + + def composite(self, destination, source, x, y, resize_source, mask = None): + destination = destination.clone().movedim(-1, 1) + output = composite(destination, source.movedim(-1, 1), x, y, mask, 1, resize_source).movedim(1, -1) + return (output,) + +class MaskToImage: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "mask": ("MASK",), + } + } + + CATEGORY = "mask" + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "mask_to_image" + + def mask_to_image(self, mask): + result = mask.reshape((-1, 1, mask.shape[-2], mask.shape[-1])).movedim(1, -1).expand(-1, -1, -1, 3) + return (result,) + +class ImageToMask: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "image": ("IMAGE",), + "channel": (["red", "green", "blue", "alpha"],), + } + } + + CATEGORY = "mask" + + RETURN_TYPES = ("MASK",) + FUNCTION = "image_to_mask" + + def image_to_mask(self, image, channel): + channels = ["red", "green", "blue", "alpha"] + mask = image[:, :, :, channels.index(channel)] + return (mask,) + +class ImageColorToMask: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "image": ("IMAGE",), + "color": ("INT", {"default": 0, "min": 0, "max": 0xFFFFFF, "step": 1, "display": "color"}), + } + } + + CATEGORY = "mask" + + RETURN_TYPES = ("MASK",) + FUNCTION = "image_to_mask" + + def image_to_mask(self, image, color): + temp = (torch.clamp(image, 0, 1.0) * 255.0).round().to(torch.int) + temp = torch.bitwise_left_shift(temp[:,:,:,0], 16) + torch.bitwise_left_shift(temp[:,:,:,1], 8) + temp[:,:,:,2] + mask = torch.where(temp == color, 255, 0).float() + return (mask,) + +class SolidMask: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "value": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}), + "width": ("INT", {"default": 512, "min": 1, "max": MAX_RESOLUTION, "step": 1}), + "height": ("INT", {"default": 512, "min": 1, "max": MAX_RESOLUTION, "step": 1}), + } + } + + CATEGORY = "mask" + + RETURN_TYPES = ("MASK",) + + FUNCTION = "solid" + + def solid(self, value, width, height): + out = torch.full((1, height, width), value, dtype=torch.float32, device="cpu") + return (out,) + +class InvertMask: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "mask": ("MASK",), + } + } + + CATEGORY = "mask" + + RETURN_TYPES = ("MASK",) + + FUNCTION = "invert" + + def invert(self, mask): + out = 1.0 - mask + return (out,) + +class CropMask: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "mask": ("MASK",), + "x": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + "y": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + "width": ("INT", {"default": 512, "min": 1, "max": MAX_RESOLUTION, "step": 1}), + "height": ("INT", {"default": 512, "min": 1, "max": MAX_RESOLUTION, "step": 1}), + } + } + + CATEGORY = "mask" + + RETURN_TYPES = ("MASK",) + + FUNCTION = "crop" + + def crop(self, mask, x, y, width, height): + mask = mask.reshape((-1, mask.shape[-2], mask.shape[-1])) + out = mask[:, y:y + height, x:x + width] + return (out,) + +class MaskComposite: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "destination": ("MASK",), + "source": ("MASK",), + "x": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + "y": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + "operation": (["multiply", "add", "subtract", "and", "or", "xor"],), + } + } + + CATEGORY = "mask" + + RETURN_TYPES = ("MASK",) + + FUNCTION = "combine" + + def combine(self, destination, source, x, y, operation): + output = destination.reshape((-1, destination.shape[-2], destination.shape[-1])).clone() + source = source.reshape((-1, source.shape[-2], source.shape[-1])) + + left, top = (x, y,) + right, bottom = (min(left + source.shape[-1], destination.shape[-1]), min(top + source.shape[-2], destination.shape[-2])) + visible_width, visible_height = (right - left, bottom - top,) + + source_portion = source[:, :visible_height, :visible_width] + destination_portion = destination[:, top:bottom, left:right] + + if operation == "multiply": + output[:, top:bottom, left:right] = destination_portion * source_portion + elif operation == "add": + output[:, top:bottom, left:right] = destination_portion + source_portion + elif operation == "subtract": + output[:, top:bottom, left:right] = destination_portion - source_portion + elif operation == "and": + output[:, top:bottom, left:right] = torch.bitwise_and(destination_portion.round().bool(), source_portion.round().bool()).float() + elif operation == "or": + output[:, top:bottom, left:right] = torch.bitwise_or(destination_portion.round().bool(), source_portion.round().bool()).float() + elif operation == "xor": + output[:, top:bottom, left:right] = torch.bitwise_xor(destination_portion.round().bool(), source_portion.round().bool()).float() + + output = torch.clamp(output, 0.0, 1.0) + + return (output,) + +class FeatherMask: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "mask": ("MASK",), + "left": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + "top": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + "right": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + "bottom": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + } + } + + CATEGORY = "mask" + + RETURN_TYPES = ("MASK",) + + FUNCTION = "feather" + + def feather(self, mask, left, top, right, bottom): + output = mask.reshape((-1, mask.shape[-2], mask.shape[-1])).clone() + + left = min(left, output.shape[-1]) + right = min(right, output.shape[-1]) + top = min(top, output.shape[-2]) + bottom = min(bottom, output.shape[-2]) + + for x in range(left): + feather_rate = (x + 1.0) / left + output[:, :, x] *= feather_rate + + for x in range(right): + feather_rate = (x + 1) / right + output[:, :, -x] *= feather_rate + + for y in range(top): + feather_rate = (y + 1) / top + output[:, y, :] *= feather_rate + + for y in range(bottom): + feather_rate = (y + 1) / bottom + output[:, -y, :] *= feather_rate + + return (output,) + +class GrowMask: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "mask": ("MASK",), + "expand": ("INT", {"default": 0, "min": -MAX_RESOLUTION, "max": MAX_RESOLUTION, "step": 1}), + "tapered_corners": ("BOOLEAN", {"default": True}), + }, + } + + CATEGORY = "mask" + + RETURN_TYPES = ("MASK",) + + FUNCTION = "expand_mask" + + def expand_mask(self, mask, expand, tapered_corners): + c = 0 if tapered_corners else 1 + kernel = np.array([[c, 1, c], + [1, 1, 1], + [c, 1, c]]) + mask = mask.reshape((-1, mask.shape[-2], mask.shape[-1])) + out = [] + for m in mask: + output = m.numpy() + for _ in range(abs(expand)): + if expand < 0: + output = scipy.ndimage.grey_erosion(output, footprint=kernel) + else: + output = scipy.ndimage.grey_dilation(output, footprint=kernel) + output = torch.from_numpy(output) + out.append(output) + return (torch.stack(out, dim=0),) + +class ThresholdMask: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "mask": ("MASK",), + "value": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 1.0, "step": 0.01}), + } + } + + CATEGORY = "mask" + + RETURN_TYPES = ("MASK",) + FUNCTION = "image_to_mask" + + def image_to_mask(self, mask, value): + mask = (mask > value).float() + return (mask,) + + +NODE_CLASS_MAPPINGS = { + "LatentCompositeMasked": LatentCompositeMasked, + "ImageCompositeMasked": ImageCompositeMasked, + "MaskToImage": MaskToImage, + "ImageToMask": ImageToMask, + "ImageColorToMask": ImageColorToMask, + "SolidMask": SolidMask, + "InvertMask": InvertMask, + "CropMask": CropMask, + "MaskComposite": MaskComposite, + "FeatherMask": FeatherMask, + "GrowMask": GrowMask, + "ThresholdMask": ThresholdMask, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "ImageToMask": "Convert Image to Mask", + "MaskToImage": "Convert Mask to Image", +} diff --git a/comfy_extras/nodes_mochi.py b/comfy_extras/nodes_mochi.py new file mode 100644 index 0000000000000000000000000000000000000000..1c474faa94eac8dc48f778460c0d833bee94dcf9 --- /dev/null +++ b/comfy_extras/nodes_mochi.py @@ -0,0 +1,23 @@ +import nodes +import torch +import comfy.model_management + +class EmptyMochiLatentVideo: + @classmethod + def INPUT_TYPES(s): + return {"required": { "width": ("INT", {"default": 848, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "height": ("INT", {"default": 480, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "length": ("INT", {"default": 25, "min": 7, "max": nodes.MAX_RESOLUTION, "step": 6}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096})}} + RETURN_TYPES = ("LATENT",) + FUNCTION = "generate" + + CATEGORY = "latent/video" + + def generate(self, width, height, length, batch_size=1): + latent = torch.zeros([batch_size, 12, ((length - 1) // 6) + 1, height // 8, width // 8], device=comfy.model_management.intermediate_device()) + return ({"samples":latent}, ) + +NODE_CLASS_MAPPINGS = { + "EmptyMochiLatentVideo": EmptyMochiLatentVideo, +} diff --git a/comfy_extras/nodes_model_advanced.py b/comfy_extras/nodes_model_advanced.py new file mode 100644 index 0000000000000000000000000000000000000000..33f3face19d3573d74b9ca1bf3b53a1bb9d3f094 --- /dev/null +++ b/comfy_extras/nodes_model_advanced.py @@ -0,0 +1,306 @@ +import comfy.sd +import comfy.model_sampling +import comfy.latent_formats +import nodes +import torch + +class LCM(comfy.model_sampling.EPS): + def calculate_denoised(self, sigma, model_output, model_input): + timestep = self.timestep(sigma).view(sigma.shape[:1] + (1,) * (model_output.ndim - 1)) + sigma = sigma.view(sigma.shape[:1] + (1,) * (model_output.ndim - 1)) + x0 = model_input - model_output * sigma + + sigma_data = 0.5 + scaled_timestep = timestep * 10.0 #timestep_scaling + + c_skip = sigma_data**2 / (scaled_timestep**2 + sigma_data**2) + c_out = scaled_timestep / (scaled_timestep**2 + sigma_data**2) ** 0.5 + + return c_out * x0 + c_skip * model_input + +class X0(comfy.model_sampling.EPS): + def calculate_denoised(self, sigma, model_output, model_input): + return model_output + +class ModelSamplingDiscreteDistilled(comfy.model_sampling.ModelSamplingDiscrete): + original_timesteps = 50 + + def __init__(self, model_config=None, zsnr=None): + super().__init__(model_config, zsnr=zsnr) + + self.skip_steps = self.num_timesteps // self.original_timesteps + + sigmas_valid = torch.zeros((self.original_timesteps), dtype=torch.float32) + for x in range(self.original_timesteps): + sigmas_valid[self.original_timesteps - 1 - x] = self.sigmas[self.num_timesteps - 1 - x * self.skip_steps] + + self.set_sigmas(sigmas_valid) + + def timestep(self, sigma): + log_sigma = sigma.log() + dists = log_sigma.to(self.log_sigmas.device) - self.log_sigmas[:, None] + return (dists.abs().argmin(dim=0).view(sigma.shape) * self.skip_steps + (self.skip_steps - 1)).to(sigma.device) + + def sigma(self, timestep): + t = torch.clamp(((timestep.float().to(self.log_sigmas.device) - (self.skip_steps - 1)) / self.skip_steps).float(), min=0, max=(len(self.sigmas) - 1)) + low_idx = t.floor().long() + high_idx = t.ceil().long() + w = t.frac() + log_sigma = (1 - w) * self.log_sigmas[low_idx] + w * self.log_sigmas[high_idx] + return log_sigma.exp().to(timestep.device) + + +class ModelSamplingDiscrete: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "sampling": (["eps", "v_prediction", "lcm", "x0"],), + "zsnr": ("BOOLEAN", {"default": False}), + }} + + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "advanced/model" + + def patch(self, model, sampling, zsnr): + m = model.clone() + + sampling_base = comfy.model_sampling.ModelSamplingDiscrete + if sampling == "eps": + sampling_type = comfy.model_sampling.EPS + elif sampling == "v_prediction": + sampling_type = comfy.model_sampling.V_PREDICTION + elif sampling == "lcm": + sampling_type = LCM + sampling_base = ModelSamplingDiscreteDistilled + elif sampling == "x0": + sampling_type = X0 + + class ModelSamplingAdvanced(sampling_base, sampling_type): + pass + + model_sampling = ModelSamplingAdvanced(model.model.model_config, zsnr=zsnr) + + m.add_object_patch("model_sampling", model_sampling) + return (m, ) + +class ModelSamplingStableCascade: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "shift": ("FLOAT", {"default": 2.0, "min": 0.0, "max": 100.0, "step":0.01}), + }} + + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "advanced/model" + + def patch(self, model, shift): + m = model.clone() + + sampling_base = comfy.model_sampling.StableCascadeSampling + sampling_type = comfy.model_sampling.EPS + + class ModelSamplingAdvanced(sampling_base, sampling_type): + pass + + model_sampling = ModelSamplingAdvanced(model.model.model_config) + model_sampling.set_parameters(shift) + m.add_object_patch("model_sampling", model_sampling) + return (m, ) + +class ModelSamplingSD3: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "shift": ("FLOAT", {"default": 3.0, "min": 0.0, "max": 100.0, "step":0.01}), + }} + + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "advanced/model" + + def patch(self, model, shift, multiplier=1000): + m = model.clone() + + sampling_base = comfy.model_sampling.ModelSamplingDiscreteFlow + sampling_type = comfy.model_sampling.CONST + + class ModelSamplingAdvanced(sampling_base, sampling_type): + pass + + model_sampling = ModelSamplingAdvanced(model.model.model_config) + model_sampling.set_parameters(shift=shift, multiplier=multiplier) + m.add_object_patch("model_sampling", model_sampling) + return (m, ) + +class ModelSamplingAuraFlow(ModelSamplingSD3): + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "shift": ("FLOAT", {"default": 1.73, "min": 0.0, "max": 100.0, "step":0.01}), + }} + + FUNCTION = "patch_aura" + + def patch_aura(self, model, shift): + return self.patch(model, shift, multiplier=1.0) + +class ModelSamplingFlux: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "max_shift": ("FLOAT", {"default": 1.15, "min": 0.0, "max": 100.0, "step":0.01}), + "base_shift": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 100.0, "step":0.01}), + "width": ("INT", {"default": 1024, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 8}), + "height": ("INT", {"default": 1024, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 8}), + }} + + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "advanced/model" + + def patch(self, model, max_shift, base_shift, width, height): + m = model.clone() + + x1 = 256 + x2 = 4096 + mm = (max_shift - base_shift) / (x2 - x1) + b = base_shift - mm * x1 + shift = (width * height / (8 * 8 * 2 * 2)) * mm + b + + sampling_base = comfy.model_sampling.ModelSamplingFlux + sampling_type = comfy.model_sampling.CONST + + class ModelSamplingAdvanced(sampling_base, sampling_type): + pass + + model_sampling = ModelSamplingAdvanced(model.model.model_config) + model_sampling.set_parameters(shift=shift) + m.add_object_patch("model_sampling", model_sampling) + return (m, ) + + +class ModelSamplingContinuousEDM: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "sampling": (["v_prediction", "edm", "edm_playground_v2.5", "eps"],), + "sigma_max": ("FLOAT", {"default": 120.0, "min": 0.0, "max": 1000.0, "step":0.001, "round": False}), + "sigma_min": ("FLOAT", {"default": 0.002, "min": 0.0, "max": 1000.0, "step":0.001, "round": False}), + }} + + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "advanced/model" + + def patch(self, model, sampling, sigma_max, sigma_min): + m = model.clone() + + latent_format = None + sigma_data = 1.0 + if sampling == "eps": + sampling_type = comfy.model_sampling.EPS + elif sampling == "edm": + sampling_type = comfy.model_sampling.EDM + sigma_data = 0.5 + elif sampling == "v_prediction": + sampling_type = comfy.model_sampling.V_PREDICTION + elif sampling == "edm_playground_v2.5": + sampling_type = comfy.model_sampling.EDM + sigma_data = 0.5 + latent_format = comfy.latent_formats.SDXL_Playground_2_5() + + class ModelSamplingAdvanced(comfy.model_sampling.ModelSamplingContinuousEDM, sampling_type): + pass + + model_sampling = ModelSamplingAdvanced(model.model.model_config) + model_sampling.set_parameters(sigma_min, sigma_max, sigma_data) + m.add_object_patch("model_sampling", model_sampling) + if latent_format is not None: + m.add_object_patch("latent_format", latent_format) + return (m, ) + +class ModelSamplingContinuousV: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "sampling": (["v_prediction"],), + "sigma_max": ("FLOAT", {"default": 500.0, "min": 0.0, "max": 1000.0, "step":0.001, "round": False}), + "sigma_min": ("FLOAT", {"default": 0.03, "min": 0.0, "max": 1000.0, "step":0.001, "round": False}), + }} + + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "advanced/model" + + def patch(self, model, sampling, sigma_max, sigma_min): + m = model.clone() + + sigma_data = 1.0 + if sampling == "v_prediction": + sampling_type = comfy.model_sampling.V_PREDICTION + + class ModelSamplingAdvanced(comfy.model_sampling.ModelSamplingContinuousV, sampling_type): + pass + + model_sampling = ModelSamplingAdvanced(model.model.model_config) + model_sampling.set_parameters(sigma_min, sigma_max, sigma_data) + m.add_object_patch("model_sampling", model_sampling) + return (m, ) + +class RescaleCFG: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "multiplier": ("FLOAT", {"default": 0.7, "min": 0.0, "max": 1.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "advanced/model" + + def patch(self, model, multiplier): + def rescale_cfg(args): + cond = args["cond"] + uncond = args["uncond"] + cond_scale = args["cond_scale"] + sigma = args["sigma"] + sigma = sigma.view(sigma.shape[:1] + (1,) * (cond.ndim - 1)) + x_orig = args["input"] + + #rescale cfg has to be done on v-pred model output + x = x_orig / (sigma * sigma + 1.0) + cond = ((x - (x_orig - cond)) * (sigma ** 2 + 1.0) ** 0.5) / (sigma) + uncond = ((x - (x_orig - uncond)) * (sigma ** 2 + 1.0) ** 0.5) / (sigma) + + #rescalecfg + x_cfg = uncond + cond_scale * (cond - uncond) + ro_pos = torch.std(cond, dim=(1,2,3), keepdim=True) + ro_cfg = torch.std(x_cfg, dim=(1,2,3), keepdim=True) + + x_rescaled = x_cfg * (ro_pos / ro_cfg) + x_final = multiplier * x_rescaled + (1.0 - multiplier) * x_cfg + + return x_orig - (x - x_final * sigma / (sigma * sigma + 1.0) ** 0.5) + + m = model.clone() + m.set_model_sampler_cfg_function(rescale_cfg) + return (m, ) + +NODE_CLASS_MAPPINGS = { + "ModelSamplingDiscrete": ModelSamplingDiscrete, + "ModelSamplingContinuousEDM": ModelSamplingContinuousEDM, + "ModelSamplingContinuousV": ModelSamplingContinuousV, + "ModelSamplingStableCascade": ModelSamplingStableCascade, + "ModelSamplingSD3": ModelSamplingSD3, + "ModelSamplingAuraFlow": ModelSamplingAuraFlow, + "ModelSamplingFlux": ModelSamplingFlux, + "RescaleCFG": RescaleCFG, +} diff --git a/comfy_extras/nodes_model_downscale.py b/comfy_extras/nodes_model_downscale.py new file mode 100644 index 0000000000000000000000000000000000000000..49420dee9260ced4e0d08c196be937354c5e1d4e --- /dev/null +++ b/comfy_extras/nodes_model_downscale.py @@ -0,0 +1,53 @@ +import comfy.utils + +class PatchModelAddDownscale: + upscale_methods = ["bicubic", "nearest-exact", "bilinear", "area", "bislerp"] + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "block_number": ("INT", {"default": 3, "min": 1, "max": 32, "step": 1}), + "downscale_factor": ("FLOAT", {"default": 2.0, "min": 0.1, "max": 9.0, "step": 0.001}), + "start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 0.35, "min": 0.0, "max": 1.0, "step": 0.001}), + "downscale_after_skip": ("BOOLEAN", {"default": True}), + "downscale_method": (s.upscale_methods,), + "upscale_method": (s.upscale_methods,), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "model_patches/unet" + + def patch(self, model, block_number, downscale_factor, start_percent, end_percent, downscale_after_skip, downscale_method, upscale_method): + model_sampling = model.get_model_object("model_sampling") + sigma_start = model_sampling.percent_to_sigma(start_percent) + sigma_end = model_sampling.percent_to_sigma(end_percent) + + def input_block_patch(h, transformer_options): + if transformer_options["block"][1] == block_number: + sigma = transformer_options["sigmas"][0].item() + if sigma <= sigma_start and sigma >= sigma_end: + h = comfy.utils.common_upscale(h, round(h.shape[-1] * (1.0 / downscale_factor)), round(h.shape[-2] * (1.0 / downscale_factor)), downscale_method, "disabled") + return h + + def output_block_patch(h, hsp, transformer_options): + if h.shape[2] != hsp.shape[2]: + h = comfy.utils.common_upscale(h, hsp.shape[-1], hsp.shape[-2], upscale_method, "disabled") + return h, hsp + + m = model.clone() + if downscale_after_skip: + m.set_model_input_block_patch_after_skip(input_block_patch) + else: + m.set_model_input_block_patch(input_block_patch) + m.set_model_output_block_patch(output_block_patch) + return (m, ) + +NODE_CLASS_MAPPINGS = { + "PatchModelAddDownscale": PatchModelAddDownscale, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + # Sampling + "PatchModelAddDownscale": "PatchModelAddDownscale (Kohya Deep Shrink)", +} diff --git a/comfy_extras/nodes_model_merging.py b/comfy_extras/nodes_model_merging.py new file mode 100644 index 0000000000000000000000000000000000000000..ccf601158d59ab707d07f1e438c739d4dbced131 --- /dev/null +++ b/comfy_extras/nodes_model_merging.py @@ -0,0 +1,371 @@ +import comfy.sd +import comfy.utils +import comfy.model_base +import comfy.model_management +import comfy.model_sampling + +import torch +import folder_paths +import json +import os + +from comfy.cli_args import args + +class ModelMergeSimple: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model1": ("MODEL",), + "model2": ("MODEL",), + "ratio": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "merge" + + CATEGORY = "advanced/model_merging" + + def merge(self, model1, model2, ratio): + m = model1.clone() + kp = model2.get_key_patches("diffusion_model.") + for k in kp: + m.add_patches({k: kp[k]}, 1.0 - ratio, ratio) + return (m, ) + +class ModelSubtract: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model1": ("MODEL",), + "model2": ("MODEL",), + "multiplier": ("FLOAT", {"default": 1.0, "min": -10.0, "max": 10.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "merge" + + CATEGORY = "advanced/model_merging" + + def merge(self, model1, model2, multiplier): + m = model1.clone() + kp = model2.get_key_patches("diffusion_model.") + for k in kp: + m.add_patches({k: kp[k]}, - multiplier, multiplier) + return (m, ) + +class ModelAdd: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model1": ("MODEL",), + "model2": ("MODEL",), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "merge" + + CATEGORY = "advanced/model_merging" + + def merge(self, model1, model2): + m = model1.clone() + kp = model2.get_key_patches("diffusion_model.") + for k in kp: + m.add_patches({k: kp[k]}, 1.0, 1.0) + return (m, ) + + +class CLIPMergeSimple: + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip1": ("CLIP",), + "clip2": ("CLIP",), + "ratio": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}), + }} + RETURN_TYPES = ("CLIP",) + FUNCTION = "merge" + + CATEGORY = "advanced/model_merging" + + def merge(self, clip1, clip2, ratio): + m = clip1.clone() + kp = clip2.get_key_patches() + for k in kp: + if k.endswith(".position_ids") or k.endswith(".logit_scale"): + continue + m.add_patches({k: kp[k]}, 1.0 - ratio, ratio) + return (m, ) + + +class CLIPSubtract: + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip1": ("CLIP",), + "clip2": ("CLIP",), + "multiplier": ("FLOAT", {"default": 1.0, "min": -10.0, "max": 10.0, "step": 0.01}), + }} + RETURN_TYPES = ("CLIP",) + FUNCTION = "merge" + + CATEGORY = "advanced/model_merging" + + def merge(self, clip1, clip2, multiplier): + m = clip1.clone() + kp = clip2.get_key_patches() + for k in kp: + if k.endswith(".position_ids") or k.endswith(".logit_scale"): + continue + m.add_patches({k: kp[k]}, - multiplier, multiplier) + return (m, ) + + +class CLIPAdd: + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip1": ("CLIP",), + "clip2": ("CLIP",), + }} + RETURN_TYPES = ("CLIP",) + FUNCTION = "merge" + + CATEGORY = "advanced/model_merging" + + def merge(self, clip1, clip2): + m = clip1.clone() + kp = clip2.get_key_patches() + for k in kp: + if k.endswith(".position_ids") or k.endswith(".logit_scale"): + continue + m.add_patches({k: kp[k]}, 1.0, 1.0) + return (m, ) + + +class ModelMergeBlocks: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model1": ("MODEL",), + "model2": ("MODEL",), + "input": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}), + "middle": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}), + "out": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "merge" + + CATEGORY = "advanced/model_merging" + + def merge(self, model1, model2, **kwargs): + m = model1.clone() + kp = model2.get_key_patches("diffusion_model.") + default_ratio = next(iter(kwargs.values())) + + for k in kp: + ratio = default_ratio + k_unet = k[len("diffusion_model."):] + + last_arg_size = 0 + for arg in kwargs: + if k_unet.startswith(arg) and last_arg_size < len(arg): + ratio = kwargs[arg] + last_arg_size = len(arg) + + m.add_patches({k: kp[k]}, 1.0 - ratio, ratio) + return (m, ) + +def save_checkpoint(model, clip=None, vae=None, clip_vision=None, filename_prefix=None, output_dir=None, prompt=None, extra_pnginfo=None): + full_output_folder, filename, counter, subfolder, filename_prefix = folder_paths.get_save_image_path(filename_prefix, output_dir) + prompt_info = "" + if prompt is not None: + prompt_info = json.dumps(prompt) + + metadata = {} + + enable_modelspec = True + if isinstance(model.model, comfy.model_base.SDXL): + if isinstance(model.model, comfy.model_base.SDXL_instructpix2pix): + metadata["modelspec.architecture"] = "stable-diffusion-xl-v1-edit" + else: + metadata["modelspec.architecture"] = "stable-diffusion-xl-v1-base" + elif isinstance(model.model, comfy.model_base.SDXLRefiner): + metadata["modelspec.architecture"] = "stable-diffusion-xl-v1-refiner" + elif isinstance(model.model, comfy.model_base.SVD_img2vid): + metadata["modelspec.architecture"] = "stable-video-diffusion-img2vid-v1" + elif isinstance(model.model, comfy.model_base.SD3): + metadata["modelspec.architecture"] = "stable-diffusion-v3-medium" #TODO: other SD3 variants + else: + enable_modelspec = False + + if enable_modelspec: + metadata["modelspec.sai_model_spec"] = "1.0.0" + metadata["modelspec.implementation"] = "sgm" + metadata["modelspec.title"] = "{} {}".format(filename, counter) + + #TODO: + # "stable-diffusion-v1", "stable-diffusion-v1-inpainting", "stable-diffusion-v2-512", + # "stable-diffusion-v2-768-v", "stable-diffusion-v2-unclip-l", "stable-diffusion-v2-unclip-h", + # "v2-inpainting" + + extra_keys = {} + model_sampling = model.get_model_object("model_sampling") + if isinstance(model_sampling, comfy.model_sampling.ModelSamplingContinuousEDM): + if isinstance(model_sampling, comfy.model_sampling.V_PREDICTION): + extra_keys["edm_vpred.sigma_max"] = torch.tensor(model_sampling.sigma_max).float() + extra_keys["edm_vpred.sigma_min"] = torch.tensor(model_sampling.sigma_min).float() + + if model.model.model_type == comfy.model_base.ModelType.EPS: + metadata["modelspec.predict_key"] = "epsilon" + elif model.model.model_type == comfy.model_base.ModelType.V_PREDICTION: + metadata["modelspec.predict_key"] = "v" + + if not args.disable_metadata: + metadata["prompt"] = prompt_info + if extra_pnginfo is not None: + for x in extra_pnginfo: + metadata[x] = json.dumps(extra_pnginfo[x]) + + output_checkpoint = f"{filename}_{counter:05}_.safetensors" + output_checkpoint = os.path.join(full_output_folder, output_checkpoint) + + comfy.sd.save_checkpoint(output_checkpoint, model, clip, vae, clip_vision, metadata=metadata, extra_keys=extra_keys) + +class CheckpointSave: + def __init__(self): + self.output_dir = folder_paths.get_output_directory() + + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "clip": ("CLIP",), + "vae": ("VAE",), + "filename_prefix": ("STRING", {"default": "checkpoints/ComfyUI"}),}, + "hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"},} + RETURN_TYPES = () + FUNCTION = "save" + OUTPUT_NODE = True + + CATEGORY = "advanced/model_merging" + + def save(self, model, clip, vae, filename_prefix, prompt=None, extra_pnginfo=None): + save_checkpoint(model, clip=clip, vae=vae, filename_prefix=filename_prefix, output_dir=self.output_dir, prompt=prompt, extra_pnginfo=extra_pnginfo) + return {} + +class CLIPSave: + def __init__(self): + self.output_dir = folder_paths.get_output_directory() + + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip": ("CLIP",), + "filename_prefix": ("STRING", {"default": "clip/ComfyUI"}),}, + "hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"},} + RETURN_TYPES = () + FUNCTION = "save" + OUTPUT_NODE = True + + CATEGORY = "advanced/model_merging" + + def save(self, clip, filename_prefix, prompt=None, extra_pnginfo=None): + prompt_info = "" + if prompt is not None: + prompt_info = json.dumps(prompt) + + metadata = {} + if not args.disable_metadata: + metadata["format"] = "pt" + metadata["prompt"] = prompt_info + if extra_pnginfo is not None: + for x in extra_pnginfo: + metadata[x] = json.dumps(extra_pnginfo[x]) + + comfy.model_management.load_models_gpu([clip.load_model()], force_patch_weights=True) + clip_sd = clip.get_sd() + + for prefix in ["clip_l.", "clip_g.", ""]: + k = list(filter(lambda a: a.startswith(prefix), clip_sd.keys())) + current_clip_sd = {} + for x in k: + current_clip_sd[x] = clip_sd.pop(x) + if len(current_clip_sd) == 0: + continue + + p = prefix[:-1] + replace_prefix = {} + filename_prefix_ = filename_prefix + if len(p) > 0: + filename_prefix_ = "{}_{}".format(filename_prefix_, p) + replace_prefix[prefix] = "" + replace_prefix["transformer."] = "" + + full_output_folder, filename, counter, subfolder, filename_prefix_ = folder_paths.get_save_image_path(filename_prefix_, self.output_dir) + + output_checkpoint = f"{filename}_{counter:05}_.safetensors" + output_checkpoint = os.path.join(full_output_folder, output_checkpoint) + + current_clip_sd = comfy.utils.state_dict_prefix_replace(current_clip_sd, replace_prefix) + + comfy.utils.save_torch_file(current_clip_sd, output_checkpoint, metadata=metadata) + return {} + +class VAESave: + def __init__(self): + self.output_dir = folder_paths.get_output_directory() + + @classmethod + def INPUT_TYPES(s): + return {"required": { "vae": ("VAE",), + "filename_prefix": ("STRING", {"default": "vae/ComfyUI_vae"}),}, + "hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"},} + RETURN_TYPES = () + FUNCTION = "save" + OUTPUT_NODE = True + + CATEGORY = "advanced/model_merging" + + def save(self, vae, filename_prefix, prompt=None, extra_pnginfo=None): + full_output_folder, filename, counter, subfolder, filename_prefix = folder_paths.get_save_image_path(filename_prefix, self.output_dir) + prompt_info = "" + if prompt is not None: + prompt_info = json.dumps(prompt) + + metadata = {} + if not args.disable_metadata: + metadata["prompt"] = prompt_info + if extra_pnginfo is not None: + for x in extra_pnginfo: + metadata[x] = json.dumps(extra_pnginfo[x]) + + output_checkpoint = f"{filename}_{counter:05}_.safetensors" + output_checkpoint = os.path.join(full_output_folder, output_checkpoint) + + comfy.utils.save_torch_file(vae.get_sd(), output_checkpoint, metadata=metadata) + return {} + +class ModelSave: + def __init__(self): + self.output_dir = folder_paths.get_output_directory() + + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "filename_prefix": ("STRING", {"default": "diffusion_models/ComfyUI"}),}, + "hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"},} + RETURN_TYPES = () + FUNCTION = "save" + OUTPUT_NODE = True + + CATEGORY = "advanced/model_merging" + + def save(self, model, filename_prefix, prompt=None, extra_pnginfo=None): + save_checkpoint(model, filename_prefix=filename_prefix, output_dir=self.output_dir, prompt=prompt, extra_pnginfo=extra_pnginfo) + return {} + +NODE_CLASS_MAPPINGS = { + "ModelMergeSimple": ModelMergeSimple, + "ModelMergeBlocks": ModelMergeBlocks, + "ModelMergeSubtract": ModelSubtract, + "ModelMergeAdd": ModelAdd, + "CheckpointSave": CheckpointSave, + "CLIPMergeSimple": CLIPMergeSimple, + "CLIPMergeSubtract": CLIPSubtract, + "CLIPMergeAdd": CLIPAdd, + "CLIPSave": CLIPSave, + "VAESave": VAESave, + "ModelSave": ModelSave, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "CheckpointSave": "Save Checkpoint", +} diff --git a/comfy_extras/nodes_model_merging_model_specific.py b/comfy_extras/nodes_model_merging_model_specific.py new file mode 100644 index 0000000000000000000000000000000000000000..7cd8f98b2b421cf2b951dcc12bc2647c9b620b35 --- /dev/null +++ b/comfy_extras/nodes_model_merging_model_specific.py @@ -0,0 +1,209 @@ +import comfy_extras.nodes_model_merging + +class ModelMergeSD1(comfy_extras.nodes_model_merging.ModelMergeBlocks): + CATEGORY = "advanced/model_merging/model_specific" + @classmethod + def INPUT_TYPES(s): + arg_dict = { "model1": ("MODEL",), + "model2": ("MODEL",)} + + argument = ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + + arg_dict["time_embed."] = argument + arg_dict["label_emb."] = argument + + for i in range(12): + arg_dict["input_blocks.{}.".format(i)] = argument + + for i in range(3): + arg_dict["middle_block.{}.".format(i)] = argument + + for i in range(12): + arg_dict["output_blocks.{}.".format(i)] = argument + + arg_dict["out."] = argument + + return {"required": arg_dict} + + +class ModelMergeSDXL(comfy_extras.nodes_model_merging.ModelMergeBlocks): + CATEGORY = "advanced/model_merging/model_specific" + + @classmethod + def INPUT_TYPES(s): + arg_dict = { "model1": ("MODEL",), + "model2": ("MODEL",)} + + argument = ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + + arg_dict["time_embed."] = argument + arg_dict["label_emb."] = argument + + for i in range(9): + arg_dict["input_blocks.{}".format(i)] = argument + + for i in range(3): + arg_dict["middle_block.{}".format(i)] = argument + + for i in range(9): + arg_dict["output_blocks.{}".format(i)] = argument + + arg_dict["out."] = argument + + return {"required": arg_dict} + +class ModelMergeSD3_2B(comfy_extras.nodes_model_merging.ModelMergeBlocks): + CATEGORY = "advanced/model_merging/model_specific" + + @classmethod + def INPUT_TYPES(s): + arg_dict = { "model1": ("MODEL",), + "model2": ("MODEL",)} + + argument = ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + + arg_dict["pos_embed."] = argument + arg_dict["x_embedder."] = argument + arg_dict["context_embedder."] = argument + arg_dict["y_embedder."] = argument + arg_dict["t_embedder."] = argument + + for i in range(24): + arg_dict["joint_blocks.{}.".format(i)] = argument + + arg_dict["final_layer."] = argument + + return {"required": arg_dict} + + +class ModelMergeAuraflow(comfy_extras.nodes_model_merging.ModelMergeBlocks): + CATEGORY = "advanced/model_merging/model_specific" + + @classmethod + def INPUT_TYPES(s): + arg_dict = { "model1": ("MODEL",), + "model2": ("MODEL",)} + + argument = ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + + arg_dict["init_x_linear."] = argument + arg_dict["positional_encoding"] = argument + arg_dict["cond_seq_linear."] = argument + arg_dict["register_tokens"] = argument + arg_dict["t_embedder."] = argument + + for i in range(4): + arg_dict["double_layers.{}.".format(i)] = argument + + for i in range(32): + arg_dict["single_layers.{}.".format(i)] = argument + + arg_dict["modF."] = argument + arg_dict["final_linear."] = argument + + return {"required": arg_dict} + +class ModelMergeFlux1(comfy_extras.nodes_model_merging.ModelMergeBlocks): + CATEGORY = "advanced/model_merging/model_specific" + + @classmethod + def INPUT_TYPES(s): + arg_dict = { "model1": ("MODEL",), + "model2": ("MODEL",)} + + argument = ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + + arg_dict["img_in."] = argument + arg_dict["time_in."] = argument + arg_dict["guidance_in"] = argument + arg_dict["vector_in."] = argument + arg_dict["txt_in."] = argument + + for i in range(19): + arg_dict["double_blocks.{}.".format(i)] = argument + + for i in range(38): + arg_dict["single_blocks.{}.".format(i)] = argument + + arg_dict["final_layer."] = argument + + return {"required": arg_dict} + +class ModelMergeSD35_Large(comfy_extras.nodes_model_merging.ModelMergeBlocks): + CATEGORY = "advanced/model_merging/model_specific" + + @classmethod + def INPUT_TYPES(s): + arg_dict = { "model1": ("MODEL",), + "model2": ("MODEL",)} + + argument = ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + + arg_dict["pos_embed."] = argument + arg_dict["x_embedder."] = argument + arg_dict["context_embedder."] = argument + arg_dict["y_embedder."] = argument + arg_dict["t_embedder."] = argument + + for i in range(38): + arg_dict["joint_blocks.{}.".format(i)] = argument + + arg_dict["final_layer."] = argument + + return {"required": arg_dict} + +class ModelMergeMochiPreview(comfy_extras.nodes_model_merging.ModelMergeBlocks): + CATEGORY = "advanced/model_merging/model_specific" + + @classmethod + def INPUT_TYPES(s): + arg_dict = { "model1": ("MODEL",), + "model2": ("MODEL",)} + + argument = ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + + arg_dict["pos_frequencies."] = argument + arg_dict["t_embedder."] = argument + arg_dict["t5_y_embedder."] = argument + arg_dict["t5_yproj."] = argument + + for i in range(48): + arg_dict["blocks.{}.".format(i)] = argument + + arg_dict["final_layer."] = argument + + return {"required": arg_dict} + +class ModelMergeLTXV(comfy_extras.nodes_model_merging.ModelMergeBlocks): + CATEGORY = "advanced/model_merging/model_specific" + + @classmethod + def INPUT_TYPES(s): + arg_dict = { "model1": ("MODEL",), + "model2": ("MODEL",)} + + argument = ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + + arg_dict["patchify_proj."] = argument + arg_dict["adaln_single."] = argument + arg_dict["caption_projection."] = argument + + for i in range(28): + arg_dict["transformer_blocks.{}.".format(i)] = argument + + arg_dict["scale_shift_table"] = argument + arg_dict["proj_out."] = argument + + return {"required": arg_dict} + +NODE_CLASS_MAPPINGS = { + "ModelMergeSD1": ModelMergeSD1, + "ModelMergeSD2": ModelMergeSD1, #SD1 and SD2 have the same blocks + "ModelMergeSDXL": ModelMergeSDXL, + "ModelMergeSD3_2B": ModelMergeSD3_2B, + "ModelMergeAuraflow": ModelMergeAuraflow, + "ModelMergeFlux1": ModelMergeFlux1, + "ModelMergeSD35_Large": ModelMergeSD35_Large, + "ModelMergeMochiPreview": ModelMergeMochiPreview, + "ModelMergeLTXV": ModelMergeLTXV, +} diff --git a/comfy_extras/nodes_morphology.py b/comfy_extras/nodes_morphology.py new file mode 100644 index 0000000000000000000000000000000000000000..b1372b8ce64d5ccbdb74b8f81865a270a8d2e03c --- /dev/null +++ b/comfy_extras/nodes_morphology.py @@ -0,0 +1,49 @@ +import torch +import comfy.model_management + +from kornia.morphology import dilation, erosion, opening, closing, gradient, top_hat, bottom_hat + + +class Morphology: + @classmethod + def INPUT_TYPES(s): + return {"required": {"image": ("IMAGE",), + "operation": (["erode", "dilate", "open", "close", "gradient", "bottom_hat", "top_hat"],), + "kernel_size": ("INT", {"default": 3, "min": 3, "max": 999, "step": 1}), + }} + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "process" + + CATEGORY = "image/postprocessing" + + def process(self, image, operation, kernel_size): + device = comfy.model_management.get_torch_device() + kernel = torch.ones(kernel_size, kernel_size, device=device) + image_k = image.to(device).movedim(-1, 1) + if operation == "erode": + output = erosion(image_k, kernel) + elif operation == "dilate": + output = dilation(image_k, kernel) + elif operation == "open": + output = opening(image_k, kernel) + elif operation == "close": + output = closing(image_k, kernel) + elif operation == "gradient": + output = gradient(image_k, kernel) + elif operation == "top_hat": + output = top_hat(image_k, kernel) + elif operation == "bottom_hat": + output = bottom_hat(image_k, kernel) + else: + raise ValueError(f"Invalid operation {operation} for morphology. Must be one of 'erode', 'dilate', 'open', 'close', 'gradient', 'tophat', 'bottomhat'") + img_out = output.to(comfy.model_management.intermediate_device()).movedim(1, -1) + return (img_out,) + +NODE_CLASS_MAPPINGS = { + "Morphology": Morphology, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "Morphology": "ImageMorphology", +} diff --git a/comfy_extras/nodes_pag.py b/comfy_extras/nodes_pag.py new file mode 100644 index 0000000000000000000000000000000000000000..eb28196f41c56fd45fda051a42d0814b96558fb8 --- /dev/null +++ b/comfy_extras/nodes_pag.py @@ -0,0 +1,56 @@ +#Modified/simplified version of the node from: https://github.com/pamparamm/sd-perturbed-attention +#If you want the one with more options see the above repo. + +#My modified one here is more basic but has less chances of breaking with ComfyUI updates. + +import comfy.model_patcher +import comfy.samplers + +class PerturbedAttentionGuidance: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "model": ("MODEL",), + "scale": ("FLOAT", {"default": 3.0, "min": 0.0, "max": 100.0, "step": 0.01, "round": 0.01}), + } + } + + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "model_patches/unet" + + def patch(self, model, scale): + unet_block = "middle" + unet_block_id = 0 + m = model.clone() + + def perturbed_attention(q, k, v, extra_options, mask=None): + return v + + def post_cfg_function(args): + model = args["model"] + cond_pred = args["cond_denoised"] + cond = args["cond"] + cfg_result = args["denoised"] + sigma = args["sigma"] + model_options = args["model_options"].copy() + x = args["input"] + + if scale == 0: + return cfg_result + + # Replace Self-attention with PAG + model_options = comfy.model_patcher.set_model_options_patch_replace(model_options, perturbed_attention, "attn1", unet_block, unet_block_id) + (pag,) = comfy.samplers.calc_cond_batch(model, [cond], x, sigma, model_options) + + return cfg_result + (cond_pred - pag) * scale + + m.set_model_sampler_post_cfg_function(post_cfg_function) + + return (m,) + +NODE_CLASS_MAPPINGS = { + "PerturbedAttentionGuidance": PerturbedAttentionGuidance, +} diff --git a/comfy_extras/nodes_perpneg.py b/comfy_extras/nodes_perpneg.py new file mode 100644 index 0000000000000000000000000000000000000000..6c6f71767a3c3a42b5ab27d471ab3bca037315aa --- /dev/null +++ b/comfy_extras/nodes_perpneg.py @@ -0,0 +1,129 @@ +import torch +import comfy.model_management +import comfy.sampler_helpers +import comfy.samplers +import comfy.utils +import node_helpers + +def perp_neg(x, noise_pred_pos, noise_pred_neg, noise_pred_nocond, neg_scale, cond_scale): + pos = noise_pred_pos - noise_pred_nocond + neg = noise_pred_neg - noise_pred_nocond + + perp = neg - ((torch.mul(neg, pos).sum())/(torch.norm(pos)**2)) * pos + perp_neg = perp * neg_scale + cfg_result = noise_pred_nocond + cond_scale*(pos - perp_neg) + return cfg_result + +#TODO: This node should be removed, it has been replaced with PerpNegGuider +class PerpNeg: + @classmethod + def INPUT_TYPES(s): + return {"required": {"model": ("MODEL", ), + "empty_conditioning": ("CONDITIONING", ), + "neg_scale": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "_for_testing" + DEPRECATED = True + + def patch(self, model, empty_conditioning, neg_scale): + m = model.clone() + nocond = comfy.sampler_helpers.convert_cond(empty_conditioning) + + def cfg_function(args): + model = args["model"] + noise_pred_pos = args["cond_denoised"] + noise_pred_neg = args["uncond_denoised"] + cond_scale = args["cond_scale"] + x = args["input"] + sigma = args["sigma"] + model_options = args["model_options"] + nocond_processed = comfy.samplers.encode_model_conds(model.extra_conds, nocond, x, x.device, "negative") + + (noise_pred_nocond,) = comfy.samplers.calc_cond_batch(model, [nocond_processed], x, sigma, model_options) + + cfg_result = x - perp_neg(x, noise_pred_pos, noise_pred_neg, noise_pred_nocond, neg_scale, cond_scale) + return cfg_result + + m.set_model_sampler_cfg_function(cfg_function) + + return (m, ) + + +class Guider_PerpNeg(comfy.samplers.CFGGuider): + def set_conds(self, positive, negative, empty_negative_prompt): + empty_negative_prompt = node_helpers.conditioning_set_values(empty_negative_prompt, {"prompt_type": "negative"}) + self.inner_set_conds({"positive": positive, "empty_negative_prompt": empty_negative_prompt, "negative": negative}) + + def set_cfg(self, cfg, neg_scale): + self.cfg = cfg + self.neg_scale = neg_scale + + def predict_noise(self, x, timestep, model_options={}, seed=None): + # in CFGGuider.predict_noise, we call sampling_function(), which uses cfg_function() to compute pos & neg + # but we'd rather do a single batch of sampling pos, neg, and empty, so we call calc_cond_batch([pos,neg,empty]) directly + + positive_cond = self.conds.get("positive", None) + negative_cond = self.conds.get("negative", None) + empty_cond = self.conds.get("empty_negative_prompt", None) + + (noise_pred_pos, noise_pred_neg, noise_pred_empty) = \ + comfy.samplers.calc_cond_batch(self.inner_model, [positive_cond, negative_cond, empty_cond], x, timestep, model_options) + cfg_result = perp_neg(x, noise_pred_pos, noise_pred_neg, noise_pred_empty, self.neg_scale, self.cfg) + + # normally this would be done in cfg_function, but we skipped + # that for efficiency: we can compute the noise predictions in + # a single call to calc_cond_batch() (rather than two) + # so we replicate the hook here + for fn in model_options.get("sampler_post_cfg_function", []): + args = { + "denoised": cfg_result, + "cond": positive_cond, + "uncond": negative_cond, + "model": self.inner_model, + "uncond_denoised": noise_pred_neg, + "cond_denoised": noise_pred_pos, + "sigma": timestep, + "model_options": model_options, + "input": x, + # not in the original call in samplers.py:cfg_function, but made available for future hooks + "empty_cond": empty_cond, + "empty_cond_denoised": noise_pred_empty,} + cfg_result = fn(args) + + return cfg_result + +class PerpNegGuider: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"model": ("MODEL",), + "positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "empty_conditioning": ("CONDITIONING", ), + "cfg": ("FLOAT", {"default": 8.0, "min": 0.0, "max": 100.0, "step":0.1, "round": 0.01}), + "neg_scale": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step": 0.01}), + } + } + + RETURN_TYPES = ("GUIDER",) + + FUNCTION = "get_guider" + CATEGORY = "_for_testing" + + def get_guider(self, model, positive, negative, empty_conditioning, cfg, neg_scale): + guider = Guider_PerpNeg(model) + guider.set_conds(positive, negative, empty_conditioning) + guider.set_cfg(cfg, neg_scale) + return (guider,) + +NODE_CLASS_MAPPINGS = { + "PerpNeg": PerpNeg, + "PerpNegGuider": PerpNegGuider, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "PerpNeg": "Perp-Neg (DEPRECATED by PerpNegGuider)", +} diff --git a/comfy_extras/nodes_photomaker.py b/comfy_extras/nodes_photomaker.py new file mode 100644 index 0000000000000000000000000000000000000000..d358ed6d5b75a37f9195e1f0c663a188eb8aedc3 --- /dev/null +++ b/comfy_extras/nodes_photomaker.py @@ -0,0 +1,188 @@ +import torch +import torch.nn as nn +import folder_paths +import comfy.clip_model +import comfy.clip_vision +import comfy.ops + +# code for model from: https://github.com/TencentARC/PhotoMaker/blob/main/photomaker/model.py under Apache License Version 2.0 +VISION_CONFIG_DICT = { + "hidden_size": 1024, + "image_size": 224, + "intermediate_size": 4096, + "num_attention_heads": 16, + "num_channels": 3, + "num_hidden_layers": 24, + "patch_size": 14, + "projection_dim": 768, + "hidden_act": "quick_gelu", + "model_type": "clip_vision_model", +} + +class MLP(nn.Module): + def __init__(self, in_dim, out_dim, hidden_dim, use_residual=True, operations=comfy.ops): + super().__init__() + if use_residual: + assert in_dim == out_dim + self.layernorm = operations.LayerNorm(in_dim) + self.fc1 = operations.Linear(in_dim, hidden_dim) + self.fc2 = operations.Linear(hidden_dim, out_dim) + self.use_residual = use_residual + self.act_fn = nn.GELU() + + def forward(self, x): + residual = x + x = self.layernorm(x) + x = self.fc1(x) + x = self.act_fn(x) + x = self.fc2(x) + if self.use_residual: + x = x + residual + return x + + +class FuseModule(nn.Module): + def __init__(self, embed_dim, operations): + super().__init__() + self.mlp1 = MLP(embed_dim * 2, embed_dim, embed_dim, use_residual=False, operations=operations) + self.mlp2 = MLP(embed_dim, embed_dim, embed_dim, use_residual=True, operations=operations) + self.layer_norm = operations.LayerNorm(embed_dim) + + def fuse_fn(self, prompt_embeds, id_embeds): + stacked_id_embeds = torch.cat([prompt_embeds, id_embeds], dim=-1) + stacked_id_embeds = self.mlp1(stacked_id_embeds) + prompt_embeds + stacked_id_embeds = self.mlp2(stacked_id_embeds) + stacked_id_embeds = self.layer_norm(stacked_id_embeds) + return stacked_id_embeds + + def forward( + self, + prompt_embeds, + id_embeds, + class_tokens_mask, + ) -> torch.Tensor: + # id_embeds shape: [b, max_num_inputs, 1, 2048] + id_embeds = id_embeds.to(prompt_embeds.dtype) + num_inputs = class_tokens_mask.sum().unsqueeze(0) # TODO: check for training case + batch_size, max_num_inputs = id_embeds.shape[:2] + # seq_length: 77 + seq_length = prompt_embeds.shape[1] + # flat_id_embeds shape: [b*max_num_inputs, 1, 2048] + flat_id_embeds = id_embeds.view( + -1, id_embeds.shape[-2], id_embeds.shape[-1] + ) + # valid_id_mask [b*max_num_inputs] + valid_id_mask = ( + torch.arange(max_num_inputs, device=flat_id_embeds.device)[None, :] + < num_inputs[:, None] + ) + valid_id_embeds = flat_id_embeds[valid_id_mask.flatten()] + + prompt_embeds = prompt_embeds.view(-1, prompt_embeds.shape[-1]) + class_tokens_mask = class_tokens_mask.view(-1) + valid_id_embeds = valid_id_embeds.view(-1, valid_id_embeds.shape[-1]) + # slice out the image token embeddings + image_token_embeds = prompt_embeds[class_tokens_mask] + stacked_id_embeds = self.fuse_fn(image_token_embeds, valid_id_embeds) + assert class_tokens_mask.sum() == stacked_id_embeds.shape[0], f"{class_tokens_mask.sum()} != {stacked_id_embeds.shape[0]}" + prompt_embeds.masked_scatter_(class_tokens_mask[:, None], stacked_id_embeds.to(prompt_embeds.dtype)) + updated_prompt_embeds = prompt_embeds.view(batch_size, seq_length, -1) + return updated_prompt_embeds + +class PhotoMakerIDEncoder(comfy.clip_model.CLIPVisionModelProjection): + def __init__(self): + self.load_device = comfy.model_management.text_encoder_device() + offload_device = comfy.model_management.text_encoder_offload_device() + dtype = comfy.model_management.text_encoder_dtype(self.load_device) + + super().__init__(VISION_CONFIG_DICT, dtype, offload_device, comfy.ops.manual_cast) + self.visual_projection_2 = comfy.ops.manual_cast.Linear(1024, 1280, bias=False) + self.fuse_module = FuseModule(2048, comfy.ops.manual_cast) + + def forward(self, id_pixel_values, prompt_embeds, class_tokens_mask): + b, num_inputs, c, h, w = id_pixel_values.shape + id_pixel_values = id_pixel_values.view(b * num_inputs, c, h, w) + + shared_id_embeds = self.vision_model(id_pixel_values)[2] + id_embeds = self.visual_projection(shared_id_embeds) + id_embeds_2 = self.visual_projection_2(shared_id_embeds) + + id_embeds = id_embeds.view(b, num_inputs, 1, -1) + id_embeds_2 = id_embeds_2.view(b, num_inputs, 1, -1) + + id_embeds = torch.cat((id_embeds, id_embeds_2), dim=-1) + updated_prompt_embeds = self.fuse_module(prompt_embeds, id_embeds, class_tokens_mask) + + return updated_prompt_embeds + + +class PhotoMakerLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "photomaker_model_name": (folder_paths.get_filename_list("photomaker"), )}} + + RETURN_TYPES = ("PHOTOMAKER",) + FUNCTION = "load_photomaker_model" + + CATEGORY = "_for_testing/photomaker" + + def load_photomaker_model(self, photomaker_model_name): + photomaker_model_path = folder_paths.get_full_path_or_raise("photomaker", photomaker_model_name) + photomaker_model = PhotoMakerIDEncoder() + data = comfy.utils.load_torch_file(photomaker_model_path, safe_load=True) + if "id_encoder" in data: + data = data["id_encoder"] + photomaker_model.load_state_dict(data) + return (photomaker_model,) + + +class PhotoMakerEncode: + @classmethod + def INPUT_TYPES(s): + return {"required": { "photomaker": ("PHOTOMAKER",), + "image": ("IMAGE",), + "clip": ("CLIP", ), + "text": ("STRING", {"multiline": True, "dynamicPrompts": True, "default": "photograph of photomaker"}), + }} + + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "apply_photomaker" + + CATEGORY = "_for_testing/photomaker" + + def apply_photomaker(self, photomaker, image, clip, text): + special_token = "photomaker" + pixel_values = comfy.clip_vision.clip_preprocess(image.to(photomaker.load_device)).float() + try: + index = text.split(" ").index(special_token) + 1 + except ValueError: + index = -1 + tokens = clip.tokenize(text, return_word_ids=True) + out_tokens = {} + for k in tokens: + out_tokens[k] = [] + for t in tokens[k]: + f = list(filter(lambda x: x[2] != index, t)) + while len(f) < len(t): + f.append(t[-1]) + out_tokens[k].append(f) + + cond, pooled = clip.encode_from_tokens(out_tokens, return_pooled=True) + + if index > 0: + token_index = index - 1 + num_id_images = 1 + class_tokens_mask = [True if token_index <= i < token_index+num_id_images else False for i in range(77)] + out = photomaker(id_pixel_values=pixel_values.unsqueeze(0), prompt_embeds=cond.to(photomaker.load_device), + class_tokens_mask=torch.tensor(class_tokens_mask, dtype=torch.bool, device=photomaker.load_device).unsqueeze(0)) + else: + out = cond + + return ([[out, {"pooled_output": pooled}]], ) + + +NODE_CLASS_MAPPINGS = { + "PhotoMakerLoader": PhotoMakerLoader, + "PhotoMakerEncode": PhotoMakerEncode, +} + diff --git a/comfy_extras/nodes_pixart.py b/comfy_extras/nodes_pixart.py new file mode 100644 index 0000000000000000000000000000000000000000..c7209c46850d42c134f830ef5634de58652dee5f --- /dev/null +++ b/comfy_extras/nodes_pixart.py @@ -0,0 +1,24 @@ +from nodes import MAX_RESOLUTION + +class CLIPTextEncodePixArtAlpha: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + # "aspect_ratio": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "text": ("STRING", {"multiline": True, "dynamicPrompts": True}), "clip": ("CLIP", ), + }} + + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "encode" + CATEGORY = "advanced/conditioning" + DESCRIPTION = "Encodes text and sets the resolution conditioning for PixArt Alpha. Does not apply to PixArt Sigma." + + def encode(self, clip, width, height, text): + tokens = clip.tokenize(text) + return (clip.encode_from_tokens_scheduled(tokens, add_dict={"width": width, "height": height}),) + +NODE_CLASS_MAPPINGS = { + "CLIPTextEncodePixArtAlpha": CLIPTextEncodePixArtAlpha, +} diff --git a/comfy_extras/nodes_post_processing.py b/comfy_extras/nodes_post_processing.py new file mode 100644 index 0000000000000000000000000000000000000000..68f6ef51e791c78c16c179a292b70ee4ad39b656 --- /dev/null +++ b/comfy_extras/nodes_post_processing.py @@ -0,0 +1,279 @@ +import numpy as np +import torch +import torch.nn.functional as F +from PIL import Image +import math + +import comfy.utils +import comfy.model_management + + +class Blend: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "image1": ("IMAGE",), + "image2": ("IMAGE",), + "blend_factor": ("FLOAT", { + "default": 0.5, + "min": 0.0, + "max": 1.0, + "step": 0.01 + }), + "blend_mode": (["normal", "multiply", "screen", "overlay", "soft_light", "difference"],), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "blend_images" + + CATEGORY = "image/postprocessing" + + def blend_images(self, image1: torch.Tensor, image2: torch.Tensor, blend_factor: float, blend_mode: str): + image2 = image2.to(image1.device) + if image1.shape != image2.shape: + image2 = image2.permute(0, 3, 1, 2) + image2 = comfy.utils.common_upscale(image2, image1.shape[2], image1.shape[1], upscale_method='bicubic', crop='center') + image2 = image2.permute(0, 2, 3, 1) + + blended_image = self.blend_mode(image1, image2, blend_mode) + blended_image = image1 * (1 - blend_factor) + blended_image * blend_factor + blended_image = torch.clamp(blended_image, 0, 1) + return (blended_image,) + + def blend_mode(self, img1, img2, mode): + if mode == "normal": + return img2 + elif mode == "multiply": + return img1 * img2 + elif mode == "screen": + return 1 - (1 - img1) * (1 - img2) + elif mode == "overlay": + return torch.where(img1 <= 0.5, 2 * img1 * img2, 1 - 2 * (1 - img1) * (1 - img2)) + elif mode == "soft_light": + return torch.where(img2 <= 0.5, img1 - (1 - 2 * img2) * img1 * (1 - img1), img1 + (2 * img2 - 1) * (self.g(img1) - img1)) + elif mode == "difference": + return img1 - img2 + else: + raise ValueError(f"Unsupported blend mode: {mode}") + + def g(self, x): + return torch.where(x <= 0.25, ((16 * x - 12) * x + 4) * x, torch.sqrt(x)) + +def gaussian_kernel(kernel_size: int, sigma: float, device=None): + x, y = torch.meshgrid(torch.linspace(-1, 1, kernel_size, device=device), torch.linspace(-1, 1, kernel_size, device=device), indexing="ij") + d = torch.sqrt(x * x + y * y) + g = torch.exp(-(d * d) / (2.0 * sigma * sigma)) + return g / g.sum() + +class Blur: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "image": ("IMAGE",), + "blur_radius": ("INT", { + "default": 1, + "min": 1, + "max": 31, + "step": 1 + }), + "sigma": ("FLOAT", { + "default": 1.0, + "min": 0.1, + "max": 10.0, + "step": 0.1 + }), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "blur" + + CATEGORY = "image/postprocessing" + + def blur(self, image: torch.Tensor, blur_radius: int, sigma: float): + if blur_radius == 0: + return (image,) + + image = image.to(comfy.model_management.get_torch_device()) + batch_size, height, width, channels = image.shape + + kernel_size = blur_radius * 2 + 1 + kernel = gaussian_kernel(kernel_size, sigma, device=image.device).repeat(channels, 1, 1).unsqueeze(1) + + image = image.permute(0, 3, 1, 2) # Torch wants (B, C, H, W) we use (B, H, W, C) + padded_image = F.pad(image, (blur_radius,blur_radius,blur_radius,blur_radius), 'reflect') + blurred = F.conv2d(padded_image, kernel, padding=kernel_size // 2, groups=channels)[:,:,blur_radius:-blur_radius, blur_radius:-blur_radius] + blurred = blurred.permute(0, 2, 3, 1) + + return (blurred.to(comfy.model_management.intermediate_device()),) + +class Quantize: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "image": ("IMAGE",), + "colors": ("INT", { + "default": 256, + "min": 1, + "max": 256, + "step": 1 + }), + "dither": (["none", "floyd-steinberg", "bayer-2", "bayer-4", "bayer-8", "bayer-16"],), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "quantize" + + CATEGORY = "image/postprocessing" + + def bayer(im, pal_im, order): + def normalized_bayer_matrix(n): + if n == 0: + return np.zeros((1,1), "float32") + else: + q = 4 ** n + m = q * normalized_bayer_matrix(n - 1) + return np.bmat(((m-1.5, m+0.5), (m+1.5, m-0.5))) / q + + num_colors = len(pal_im.getpalette()) // 3 + spread = 2 * 256 / num_colors + bayer_n = int(math.log2(order)) + bayer_matrix = torch.from_numpy(spread * normalized_bayer_matrix(bayer_n) + 0.5) + + result = torch.from_numpy(np.array(im).astype(np.float32)) + tw = math.ceil(result.shape[0] / bayer_matrix.shape[0]) + th = math.ceil(result.shape[1] / bayer_matrix.shape[1]) + tiled_matrix = bayer_matrix.tile(tw, th).unsqueeze(-1) + result.add_(tiled_matrix[:result.shape[0],:result.shape[1]]).clamp_(0, 255) + result = result.to(dtype=torch.uint8) + + im = Image.fromarray(result.cpu().numpy()) + im = im.quantize(palette=pal_im, dither=Image.Dither.NONE) + return im + + def quantize(self, image: torch.Tensor, colors: int, dither: str): + batch_size, height, width, _ = image.shape + result = torch.zeros_like(image) + + for b in range(batch_size): + im = Image.fromarray((image[b] * 255).to(torch.uint8).numpy(), mode='RGB') + + pal_im = im.quantize(colors=colors) # Required as described in https://github.com/python-pillow/Pillow/issues/5836 + + if dither == "none": + quantized_image = im.quantize(palette=pal_im, dither=Image.Dither.NONE) + elif dither == "floyd-steinberg": + quantized_image = im.quantize(palette=pal_im, dither=Image.Dither.FLOYDSTEINBERG) + elif dither.startswith("bayer"): + order = int(dither.split('-')[-1]) + quantized_image = Quantize.bayer(im, pal_im, order) + + quantized_array = torch.tensor(np.array(quantized_image.convert("RGB"))).float() / 255 + result[b] = quantized_array + + return (result,) + +class Sharpen: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "image": ("IMAGE",), + "sharpen_radius": ("INT", { + "default": 1, + "min": 1, + "max": 31, + "step": 1 + }), + "sigma": ("FLOAT", { + "default": 1.0, + "min": 0.1, + "max": 10.0, + "step": 0.01 + }), + "alpha": ("FLOAT", { + "default": 1.0, + "min": 0.0, + "max": 5.0, + "step": 0.01 + }), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "sharpen" + + CATEGORY = "image/postprocessing" + + def sharpen(self, image: torch.Tensor, sharpen_radius: int, sigma:float, alpha: float): + if sharpen_radius == 0: + return (image,) + + batch_size, height, width, channels = image.shape + image = image.to(comfy.model_management.get_torch_device()) + + kernel_size = sharpen_radius * 2 + 1 + kernel = gaussian_kernel(kernel_size, sigma, device=image.device) * -(alpha*10) + center = kernel_size // 2 + kernel[center, center] = kernel[center, center] - kernel.sum() + 1.0 + kernel = kernel.repeat(channels, 1, 1).unsqueeze(1) + + tensor_image = image.permute(0, 3, 1, 2) # Torch wants (B, C, H, W) we use (B, H, W, C) + tensor_image = F.pad(tensor_image, (sharpen_radius,sharpen_radius,sharpen_radius,sharpen_radius), 'reflect') + sharpened = F.conv2d(tensor_image, kernel, padding=center, groups=channels)[:,:,sharpen_radius:-sharpen_radius, sharpen_radius:-sharpen_radius] + sharpened = sharpened.permute(0, 2, 3, 1) + + result = torch.clamp(sharpened, 0, 1) + + return (result.to(comfy.model_management.intermediate_device()),) + +class ImageScaleToTotalPixels: + upscale_methods = ["nearest-exact", "bilinear", "area", "bicubic", "lanczos"] + crop_methods = ["disabled", "center"] + + @classmethod + def INPUT_TYPES(s): + return {"required": { "image": ("IMAGE",), "upscale_method": (s.upscale_methods,), + "megapixels": ("FLOAT", {"default": 1.0, "min": 0.01, "max": 16.0, "step": 0.01}), + }} + RETURN_TYPES = ("IMAGE",) + FUNCTION = "upscale" + + CATEGORY = "image/upscaling" + + def upscale(self, image, upscale_method, megapixels): + samples = image.movedim(-1,1) + total = int(megapixels * 1024 * 1024) + + scale_by = math.sqrt(total / (samples.shape[3] * samples.shape[2])) + width = round(samples.shape[3] * scale_by) + height = round(samples.shape[2] * scale_by) + + s = comfy.utils.common_upscale(samples, width, height, upscale_method, "disabled") + s = s.movedim(1,-1) + return (s,) + +NODE_CLASS_MAPPINGS = { + "ImageBlend": Blend, + "ImageBlur": Blur, + "ImageQuantize": Quantize, + "ImageSharpen": Sharpen, + "ImageScaleToTotalPixels": ImageScaleToTotalPixels, +} diff --git a/comfy_extras/nodes_rebatch.py b/comfy_extras/nodes_rebatch.py new file mode 100644 index 0000000000000000000000000000000000000000..e29cb9ed10dae329ac2bea313df72f2387bd7ade --- /dev/null +++ b/comfy_extras/nodes_rebatch.py @@ -0,0 +1,138 @@ +import torch + +class LatentRebatch: + @classmethod + def INPUT_TYPES(s): + return {"required": { "latents": ("LATENT",), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096}), + }} + RETURN_TYPES = ("LATENT",) + INPUT_IS_LIST = True + OUTPUT_IS_LIST = (True, ) + + FUNCTION = "rebatch" + + CATEGORY = "latent/batch" + + @staticmethod + def get_batch(latents, list_ind, offset): + '''prepare a batch out of the list of latents''' + samples = latents[list_ind]['samples'] + shape = samples.shape + mask = latents[list_ind]['noise_mask'] if 'noise_mask' in latents[list_ind] else torch.ones((shape[0], 1, shape[2]*8, shape[3]*8), device='cpu') + if mask.shape[-1] != shape[-1] * 8 or mask.shape[-2] != shape[-2]: + torch.nn.functional.interpolate(mask.reshape((-1, 1, mask.shape[-2], mask.shape[-1])), size=(shape[-2]*8, shape[-1]*8), mode="bilinear") + if mask.shape[0] < samples.shape[0]: + mask = mask.repeat((shape[0] - 1) // mask.shape[0] + 1, 1, 1, 1)[:shape[0]] + if 'batch_index' in latents[list_ind]: + batch_inds = latents[list_ind]['batch_index'] + else: + batch_inds = [x+offset for x in range(shape[0])] + return samples, mask, batch_inds + + @staticmethod + def get_slices(indexable, num, batch_size): + '''divides an indexable object into num slices of length batch_size, and a remainder''' + slices = [] + for i in range(num): + slices.append(indexable[i*batch_size:(i+1)*batch_size]) + if num * batch_size < len(indexable): + return slices, indexable[num * batch_size:] + else: + return slices, None + + @staticmethod + def slice_batch(batch, num, batch_size): + result = [LatentRebatch.get_slices(x, num, batch_size) for x in batch] + return list(zip(*result)) + + @staticmethod + def cat_batch(batch1, batch2): + if batch1[0] is None: + return batch2 + result = [torch.cat((b1, b2)) if torch.is_tensor(b1) else b1 + b2 for b1, b2 in zip(batch1, batch2)] + return result + + def rebatch(self, latents, batch_size): + batch_size = batch_size[0] + + output_list = [] + current_batch = (None, None, None) + processed = 0 + + for i in range(len(latents)): + # fetch new entry of list + #samples, masks, indices = self.get_batch(latents, i) + next_batch = self.get_batch(latents, i, processed) + processed += len(next_batch[2]) + # set to current if current is None + if current_batch[0] is None: + current_batch = next_batch + # add previous to list if dimensions do not match + elif next_batch[0].shape[-1] != current_batch[0].shape[-1] or next_batch[0].shape[-2] != current_batch[0].shape[-2]: + sliced, _ = self.slice_batch(current_batch, 1, batch_size) + output_list.append({'samples': sliced[0][0], 'noise_mask': sliced[1][0], 'batch_index': sliced[2][0]}) + current_batch = next_batch + # cat if everything checks out + else: + current_batch = self.cat_batch(current_batch, next_batch) + + # add to list if dimensions gone above target batch size + if current_batch[0].shape[0] > batch_size: + num = current_batch[0].shape[0] // batch_size + sliced, remainder = self.slice_batch(current_batch, num, batch_size) + + for i in range(num): + output_list.append({'samples': sliced[0][i], 'noise_mask': sliced[1][i], 'batch_index': sliced[2][i]}) + + current_batch = remainder + + #add remainder + if current_batch[0] is not None: + sliced, _ = self.slice_batch(current_batch, 1, batch_size) + output_list.append({'samples': sliced[0][0], 'noise_mask': sliced[1][0], 'batch_index': sliced[2][0]}) + + #get rid of empty masks + for s in output_list: + if s['noise_mask'].mean() == 1.0: + del s['noise_mask'] + + return (output_list,) + +class ImageRebatch: + @classmethod + def INPUT_TYPES(s): + return {"required": { "images": ("IMAGE",), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096}), + }} + RETURN_TYPES = ("IMAGE",) + INPUT_IS_LIST = True + OUTPUT_IS_LIST = (True, ) + + FUNCTION = "rebatch" + + CATEGORY = "image/batch" + + def rebatch(self, images, batch_size): + batch_size = batch_size[0] + + output_list = [] + all_images = [] + for img in images: + for i in range(img.shape[0]): + all_images.append(img[i:i+1]) + + for i in range(0, len(all_images), batch_size): + output_list.append(torch.cat(all_images[i:i+batch_size], dim=0)) + + return (output_list,) + +NODE_CLASS_MAPPINGS = { + "RebatchLatents": LatentRebatch, + "RebatchImages": ImageRebatch, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "RebatchLatents": "Rebatch Latents", + "RebatchImages": "Rebatch Images", +} diff --git a/comfy_extras/nodes_sag.py b/comfy_extras/nodes_sag.py new file mode 100644 index 0000000000000000000000000000000000000000..1bd8d7364fdde4bd8ce9b11f342dfce71d3a4214 --- /dev/null +++ b/comfy_extras/nodes_sag.py @@ -0,0 +1,181 @@ +import torch +from torch import einsum +import torch.nn.functional as F +import math + +from einops import rearrange, repeat +from comfy.ldm.modules.attention import optimized_attention +import comfy.samplers + +# from comfy/ldm/modules/attention.py +# but modified to return attention scores as well as output +def attention_basic_with_sim(q, k, v, heads, mask=None, attn_precision=None): + b, _, dim_head = q.shape + dim_head //= heads + scale = dim_head ** -0.5 + + h = heads + q, k, v = map( + lambda t: t.unsqueeze(3) + .reshape(b, -1, heads, dim_head) + .permute(0, 2, 1, 3) + .reshape(b * heads, -1, dim_head) + .contiguous(), + (q, k, v), + ) + + # force cast to fp32 to avoid overflowing + if attn_precision == torch.float32: + sim = einsum('b i d, b j d -> b i j', q.float(), k.float()) * scale + else: + sim = einsum('b i d, b j d -> b i j', q, k) * scale + + del q, k + + if mask is not None: + mask = rearrange(mask, 'b ... -> b (...)') + max_neg_value = -torch.finfo(sim.dtype).max + mask = repeat(mask, 'b j -> (b h) () j', h=h) + sim.masked_fill_(~mask, max_neg_value) + + # attention, what we cannot get enough of + sim = sim.softmax(dim=-1) + + out = einsum('b i j, b j d -> b i d', sim.to(v.dtype), v) + out = ( + out.unsqueeze(0) + .reshape(b, heads, -1, dim_head) + .permute(0, 2, 1, 3) + .reshape(b, -1, heads * dim_head) + ) + return (out, sim) + +def create_blur_map(x0, attn, sigma=3.0, threshold=1.0): + # reshape and GAP the attention map + _, hw1, hw2 = attn.shape + b, _, lh, lw = x0.shape + attn = attn.reshape(b, -1, hw1, hw2) + # Global Average Pool + mask = attn.mean(1, keepdim=False).sum(1, keepdim=False) > threshold + + total = mask.shape[-1] + x = round(math.sqrt((lh / lw) * total)) + xx = None + for i in range(0, math.floor(math.sqrt(total) / 2)): + for j in [(x + i), max(1, x - i)]: + if total % j == 0: + xx = j + break + if xx is not None: + break + + x = xx + y = total // x + + # Reshape + mask = ( + mask.reshape(b, x, y) + .unsqueeze(1) + .type(attn.dtype) + ) + # Upsample + mask = F.interpolate(mask, (lh, lw)) + + blurred = gaussian_blur_2d(x0, kernel_size=9, sigma=sigma) + blurred = blurred * mask + x0 * (1 - mask) + return blurred + +def gaussian_blur_2d(img, kernel_size, sigma): + ksize_half = (kernel_size - 1) * 0.5 + + x = torch.linspace(-ksize_half, ksize_half, steps=kernel_size) + + pdf = torch.exp(-0.5 * (x / sigma).pow(2)) + + x_kernel = pdf / pdf.sum() + x_kernel = x_kernel.to(device=img.device, dtype=img.dtype) + + kernel2d = torch.mm(x_kernel[:, None], x_kernel[None, :]) + kernel2d = kernel2d.expand(img.shape[-3], 1, kernel2d.shape[0], kernel2d.shape[1]) + + padding = [kernel_size // 2, kernel_size // 2, kernel_size // 2, kernel_size // 2] + + img = F.pad(img, padding, mode="reflect") + img = F.conv2d(img, kernel2d, groups=img.shape[-3]) + return img + +class SelfAttentionGuidance: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "scale": ("FLOAT", {"default": 0.5, "min": -2.0, "max": 5.0, "step": 0.01}), + "blur_sigma": ("FLOAT", {"default": 2.0, "min": 0.0, "max": 10.0, "step": 0.1}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "_for_testing" + + def patch(self, model, scale, blur_sigma): + m = model.clone() + + attn_scores = None + + # TODO: make this work properly with chunked batches + # currently, we can only save the attn from one UNet call + def attn_and_record(q, k, v, extra_options): + nonlocal attn_scores + # if uncond, save the attention scores + heads = extra_options["n_heads"] + cond_or_uncond = extra_options["cond_or_uncond"] + b = q.shape[0] // len(cond_or_uncond) + if 1 in cond_or_uncond: + uncond_index = cond_or_uncond.index(1) + # do the entire attention operation, but save the attention scores to attn_scores + (out, sim) = attention_basic_with_sim(q, k, v, heads=heads, attn_precision=extra_options["attn_precision"]) + # when using a higher batch size, I BELIEVE the result batch dimension is [uc1, ... ucn, c1, ... cn] + n_slices = heads * b + attn_scores = sim[n_slices * uncond_index:n_slices * (uncond_index+1)] + return out + else: + return optimized_attention(q, k, v, heads=heads, attn_precision=extra_options["attn_precision"]) + + def post_cfg_function(args): + nonlocal attn_scores + uncond_attn = attn_scores + + sag_scale = scale + sag_sigma = blur_sigma + sag_threshold = 1.0 + model = args["model"] + uncond_pred = args["uncond_denoised"] + uncond = args["uncond"] + cfg_result = args["denoised"] + sigma = args["sigma"] + model_options = args["model_options"] + x = args["input"] + if min(cfg_result.shape[2:]) <= 4: #skip when too small to add padding + return cfg_result + + # create the adversarially blurred image + degraded = create_blur_map(uncond_pred, uncond_attn, sag_sigma, sag_threshold) + degraded_noised = degraded + x - uncond_pred + # call into the UNet + (sag,) = comfy.samplers.calc_cond_batch(model, [uncond], degraded_noised, sigma, model_options) + return cfg_result + (degraded - sag) * sag_scale + + m.set_model_sampler_post_cfg_function(post_cfg_function, disable_cfg1_optimization=True) + + # from diffusers: + # unet.mid_block.attentions[0].transformer_blocks[0].attn1.patch + m.set_model_attn1_replace(attn_and_record, "middle", 0, 0) + + return (m, ) + +NODE_CLASS_MAPPINGS = { + "SelfAttentionGuidance": SelfAttentionGuidance, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "SelfAttentionGuidance": "Self-Attention Guidance", +} diff --git a/comfy_extras/nodes_sd3.py b/comfy_extras/nodes_sd3.py new file mode 100644 index 0000000000000000000000000000000000000000..d75b29e606feaf1e0eb125bd63f4abe2bc03b2f5 --- /dev/null +++ b/comfy_extras/nodes_sd3.py @@ -0,0 +1,138 @@ +import folder_paths +import comfy.sd +import comfy.model_management +import nodes +import torch +import comfy_extras.nodes_slg + + +class TripleCLIPLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip_name1": (folder_paths.get_filename_list("text_encoders"), ), "clip_name2": (folder_paths.get_filename_list("text_encoders"), ), "clip_name3": (folder_paths.get_filename_list("text_encoders"), ) + }} + RETURN_TYPES = ("CLIP",) + FUNCTION = "load_clip" + + CATEGORY = "advanced/loaders" + + DESCRIPTION = "[Recipes]\n\nsd3: clip-l, clip-g, t5" + + def load_clip(self, clip_name1, clip_name2, clip_name3): + clip_path1 = folder_paths.get_full_path_or_raise("text_encoders", clip_name1) + clip_path2 = folder_paths.get_full_path_or_raise("text_encoders", clip_name2) + clip_path3 = folder_paths.get_full_path_or_raise("text_encoders", clip_name3) + clip = comfy.sd.load_clip(ckpt_paths=[clip_path1, clip_path2, clip_path3], embedding_directory=folder_paths.get_folder_paths("embeddings")) + return (clip,) + + +class EmptySD3LatentImage: + def __init__(self): + self.device = comfy.model_management.intermediate_device() + + @classmethod + def INPUT_TYPES(s): + return {"required": { "width": ("INT", {"default": 1024, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "height": ("INT", {"default": 1024, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096})}} + RETURN_TYPES = ("LATENT",) + FUNCTION = "generate" + + CATEGORY = "latent/sd3" + + def generate(self, width, height, batch_size=1): + latent = torch.zeros([batch_size, 16, height // 8, width // 8], device=self.device) + return ({"samples":latent}, ) + + +class CLIPTextEncodeSD3: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "clip": ("CLIP", ), + "clip_l": ("STRING", {"multiline": True, "dynamicPrompts": True}), + "clip_g": ("STRING", {"multiline": True, "dynamicPrompts": True}), + "t5xxl": ("STRING", {"multiline": True, "dynamicPrompts": True}), + "empty_padding": (["none", "empty_prompt"], ) + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "encode" + + CATEGORY = "advanced/conditioning" + + def encode(self, clip, clip_l, clip_g, t5xxl, empty_padding): + no_padding = empty_padding == "none" + + tokens = clip.tokenize(clip_g) + if len(clip_g) == 0 and no_padding: + tokens["g"] = [] + + if len(clip_l) == 0 and no_padding: + tokens["l"] = [] + else: + tokens["l"] = clip.tokenize(clip_l)["l"] + + if len(t5xxl) == 0 and no_padding: + tokens["t5xxl"] = [] + else: + tokens["t5xxl"] = clip.tokenize(t5xxl)["t5xxl"] + if len(tokens["l"]) != len(tokens["g"]): + empty = clip.tokenize("") + while len(tokens["l"]) < len(tokens["g"]): + tokens["l"] += empty["l"] + while len(tokens["l"]) > len(tokens["g"]): + tokens["g"] += empty["g"] + return (clip.encode_from_tokens_scheduled(tokens), ) + + +class ControlNetApplySD3(nodes.ControlNetApplyAdvanced): + @classmethod + def INPUT_TYPES(s): + return {"required": {"positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "control_net": ("CONTROL_NET", ), + "vae": ("VAE", ), + "image": ("IMAGE", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001}) + }} + CATEGORY = "conditioning/controlnet" + DEPRECATED = True + + +class SkipLayerGuidanceSD3(comfy_extras.nodes_slg.SkipLayerGuidanceDiT): + ''' + Enhance guidance towards detailed dtructure by having another set of CFG negative with skipped layers. + Inspired by Perturbed Attention Guidance (https://arxiv.org/abs/2403.17377) + Experimental implementation by Dango233@StabilityAI. + ''' + @classmethod + def INPUT_TYPES(s): + return {"required": {"model": ("MODEL", ), + "layers": ("STRING", {"default": "7, 8, 9", "multiline": False}), + "scale": ("FLOAT", {"default": 3.0, "min": 0.0, "max": 10.0, "step": 0.1}), + "start_percent": ("FLOAT", {"default": 0.01, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 0.15, "min": 0.0, "max": 1.0, "step": 0.001}) + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "skip_guidance_sd3" + + CATEGORY = "advanced/guidance" + + def skip_guidance_sd3(self, model, layers, scale, start_percent, end_percent): + return self.skip_guidance(model=model, scale=scale, start_percent=start_percent, end_percent=end_percent, double_layers=layers) + + +NODE_CLASS_MAPPINGS = { + "TripleCLIPLoader": TripleCLIPLoader, + "EmptySD3LatentImage": EmptySD3LatentImage, + "CLIPTextEncodeSD3": CLIPTextEncodeSD3, + "ControlNetApplySD3": ControlNetApplySD3, + "SkipLayerGuidanceSD3": SkipLayerGuidanceSD3, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + # Sampling + "ControlNetApplySD3": "Apply Controlnet with VAE", +} diff --git a/comfy_extras/nodes_sdupscale.py b/comfy_extras/nodes_sdupscale.py new file mode 100644 index 0000000000000000000000000000000000000000..bba67e8ddff8064a90ec0f8e71e953ca4e56c4c6 --- /dev/null +++ b/comfy_extras/nodes_sdupscale.py @@ -0,0 +1,46 @@ +import torch +import comfy.utils + +class SD_4XUpscale_Conditioning: + @classmethod + def INPUT_TYPES(s): + return {"required": { "images": ("IMAGE",), + "positive": ("CONDITIONING",), + "negative": ("CONDITIONING",), + "scale_ratio": ("FLOAT", {"default": 4.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "noise_augmentation": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + }} + RETURN_TYPES = ("CONDITIONING", "CONDITIONING", "LATENT") + RETURN_NAMES = ("positive", "negative", "latent") + + FUNCTION = "encode" + + CATEGORY = "conditioning/upscale_diffusion" + + def encode(self, images, positive, negative, scale_ratio, noise_augmentation): + width = max(1, round(images.shape[-2] * scale_ratio)) + height = max(1, round(images.shape[-3] * scale_ratio)) + + pixels = comfy.utils.common_upscale((images.movedim(-1,1) * 2.0) - 1.0, width // 4, height // 4, "bilinear", "center") + + out_cp = [] + out_cn = [] + + for t in positive: + n = [t[0], t[1].copy()] + n[1]['concat_image'] = pixels + n[1]['noise_augmentation'] = noise_augmentation + out_cp.append(n) + + for t in negative: + n = [t[0], t[1].copy()] + n[1]['concat_image'] = pixels + n[1]['noise_augmentation'] = noise_augmentation + out_cn.append(n) + + latent = torch.zeros([images.shape[0], 4, height // 4, width // 4]) + return (out_cp, out_cn, {"samples":latent}) + +NODE_CLASS_MAPPINGS = { + "SD_4XUpscale_Conditioning": SD_4XUpscale_Conditioning, +} diff --git a/comfy_extras/nodes_slg.py b/comfy_extras/nodes_slg.py new file mode 100644 index 0000000000000000000000000000000000000000..2fa09e2505ec8e075ab6100ae4a6f6e5b0634830 --- /dev/null +++ b/comfy_extras/nodes_slg.py @@ -0,0 +1,84 @@ +import comfy.model_patcher +import comfy.samplers +import re + + +class SkipLayerGuidanceDiT: + ''' + Enhance guidance towards detailed dtructure by having another set of CFG negative with skipped layers. + Inspired by Perturbed Attention Guidance (https://arxiv.org/abs/2403.17377) + Original experimental implementation for SD3 by Dango233@StabilityAI. + ''' + @classmethod + def INPUT_TYPES(s): + return {"required": {"model": ("MODEL", ), + "double_layers": ("STRING", {"default": "7, 8, 9", "multiline": False}), + "single_layers": ("STRING", {"default": "7, 8, 9", "multiline": False}), + "scale": ("FLOAT", {"default": 3.0, "min": 0.0, "max": 10.0, "step": 0.1}), + "start_percent": ("FLOAT", {"default": 0.01, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 0.15, "min": 0.0, "max": 1.0, "step": 0.001}), + "rescaling_scale": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 10.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "skip_guidance" + EXPERIMENTAL = True + + DESCRIPTION = "Generic version of SkipLayerGuidance node that can be used on every DiT model." + + CATEGORY = "advanced/guidance" + + def skip_guidance(self, model, scale, start_percent, end_percent, double_layers="", single_layers="", rescaling_scale=0): + # check if layer is comma separated integers + def skip(args, extra_args): + return args + + model_sampling = model.get_model_object("model_sampling") + sigma_start = model_sampling.percent_to_sigma(start_percent) + sigma_end = model_sampling.percent_to_sigma(end_percent) + + double_layers = re.findall(r'\d+', double_layers) + double_layers = [int(i) for i in double_layers] + + single_layers = re.findall(r'\d+', single_layers) + single_layers = [int(i) for i in single_layers] + + if len(double_layers) == 0 and len(single_layers) == 0: + return (model, ) + + def post_cfg_function(args): + model = args["model"] + cond_pred = args["cond_denoised"] + cond = args["cond"] + cfg_result = args["denoised"] + sigma = args["sigma"] + x = args["input"] + model_options = args["model_options"].copy() + + for layer in double_layers: + model_options = comfy.model_patcher.set_model_options_patch_replace(model_options, skip, "dit", "double_block", layer) + + for layer in single_layers: + model_options = comfy.model_patcher.set_model_options_patch_replace(model_options, skip, "dit", "single_block", layer) + + model_sampling.percent_to_sigma(start_percent) + + sigma_ = sigma[0].item() + if scale > 0 and sigma_ >= sigma_end and sigma_ <= sigma_start: + (slg,) = comfy.samplers.calc_cond_batch(model, [cond], x, sigma, model_options) + cfg_result = cfg_result + (cond_pred - slg) * scale + if rescaling_scale != 0: + factor = cond_pred.std() / cfg_result.std() + factor = rescaling_scale * factor + (1 - rescaling_scale) + cfg_result *= factor + + return cfg_result + + m = model.clone() + m.set_model_sampler_post_cfg_function(post_cfg_function) + + return (m, ) + + +NODE_CLASS_MAPPINGS = { + "SkipLayerGuidanceDiT": SkipLayerGuidanceDiT, +} diff --git a/comfy_extras/nodes_stable3d.py b/comfy_extras/nodes_stable3d.py new file mode 100644 index 0000000000000000000000000000000000000000..be2e34c28f49f160a21703c313305193ed00546f --- /dev/null +++ b/comfy_extras/nodes_stable3d.py @@ -0,0 +1,143 @@ +import torch +import nodes +import comfy.utils + +def camera_embeddings(elevation, azimuth): + elevation = torch.as_tensor([elevation]) + azimuth = torch.as_tensor([azimuth]) + embeddings = torch.stack( + [ + torch.deg2rad( + (90 - elevation) - (90) + ), # Zero123 polar is 90-elevation + torch.sin(torch.deg2rad(azimuth)), + torch.cos(torch.deg2rad(azimuth)), + torch.deg2rad( + 90 - torch.full_like(elevation, 0) + ), + ], dim=-1).unsqueeze(1) + + return embeddings + + +class StableZero123_Conditioning: + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip_vision": ("CLIP_VISION",), + "init_image": ("IMAGE",), + "vae": ("VAE",), + "width": ("INT", {"default": 256, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 8}), + "height": ("INT", {"default": 256, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 8}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096}), + "elevation": ("FLOAT", {"default": 0.0, "min": -180.0, "max": 180.0, "step": 0.1, "round": False}), + "azimuth": ("FLOAT", {"default": 0.0, "min": -180.0, "max": 180.0, "step": 0.1, "round": False}), + }} + RETURN_TYPES = ("CONDITIONING", "CONDITIONING", "LATENT") + RETURN_NAMES = ("positive", "negative", "latent") + + FUNCTION = "encode" + + CATEGORY = "conditioning/3d_models" + + def encode(self, clip_vision, init_image, vae, width, height, batch_size, elevation, azimuth): + output = clip_vision.encode_image(init_image) + pooled = output.image_embeds.unsqueeze(0) + pixels = comfy.utils.common_upscale(init_image.movedim(-1,1), width, height, "bilinear", "center").movedim(1,-1) + encode_pixels = pixels[:,:,:,:3] + t = vae.encode(encode_pixels) + cam_embeds = camera_embeddings(elevation, azimuth) + cond = torch.cat([pooled, cam_embeds.to(pooled.device).repeat((pooled.shape[0], 1, 1))], dim=-1) + + positive = [[cond, {"concat_latent_image": t}]] + negative = [[torch.zeros_like(pooled), {"concat_latent_image": torch.zeros_like(t)}]] + latent = torch.zeros([batch_size, 4, height // 8, width // 8]) + return (positive, negative, {"samples":latent}) + +class StableZero123_Conditioning_Batched: + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip_vision": ("CLIP_VISION",), + "init_image": ("IMAGE",), + "vae": ("VAE",), + "width": ("INT", {"default": 256, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 8}), + "height": ("INT", {"default": 256, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 8}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096}), + "elevation": ("FLOAT", {"default": 0.0, "min": -180.0, "max": 180.0, "step": 0.1, "round": False}), + "azimuth": ("FLOAT", {"default": 0.0, "min": -180.0, "max": 180.0, "step": 0.1, "round": False}), + "elevation_batch_increment": ("FLOAT", {"default": 0.0, "min": -180.0, "max": 180.0, "step": 0.1, "round": False}), + "azimuth_batch_increment": ("FLOAT", {"default": 0.0, "min": -180.0, "max": 180.0, "step": 0.1, "round": False}), + }} + RETURN_TYPES = ("CONDITIONING", "CONDITIONING", "LATENT") + RETURN_NAMES = ("positive", "negative", "latent") + + FUNCTION = "encode" + + CATEGORY = "conditioning/3d_models" + + def encode(self, clip_vision, init_image, vae, width, height, batch_size, elevation, azimuth, elevation_batch_increment, azimuth_batch_increment): + output = clip_vision.encode_image(init_image) + pooled = output.image_embeds.unsqueeze(0) + pixels = comfy.utils.common_upscale(init_image.movedim(-1,1), width, height, "bilinear", "center").movedim(1,-1) + encode_pixels = pixels[:,:,:,:3] + t = vae.encode(encode_pixels) + + cam_embeds = [] + for i in range(batch_size): + cam_embeds.append(camera_embeddings(elevation, azimuth)) + elevation += elevation_batch_increment + azimuth += azimuth_batch_increment + + cam_embeds = torch.cat(cam_embeds, dim=0) + cond = torch.cat([comfy.utils.repeat_to_batch_size(pooled, batch_size), cam_embeds], dim=-1) + + positive = [[cond, {"concat_latent_image": t}]] + negative = [[torch.zeros_like(pooled), {"concat_latent_image": torch.zeros_like(t)}]] + latent = torch.zeros([batch_size, 4, height // 8, width // 8]) + return (positive, negative, {"samples":latent, "batch_index": [0] * batch_size}) + +class SV3D_Conditioning: + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip_vision": ("CLIP_VISION",), + "init_image": ("IMAGE",), + "vae": ("VAE",), + "width": ("INT", {"default": 576, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 8}), + "height": ("INT", {"default": 576, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 8}), + "video_frames": ("INT", {"default": 21, "min": 1, "max": 4096}), + "elevation": ("FLOAT", {"default": 0.0, "min": -90.0, "max": 90.0, "step": 0.1, "round": False}), + }} + RETURN_TYPES = ("CONDITIONING", "CONDITIONING", "LATENT") + RETURN_NAMES = ("positive", "negative", "latent") + + FUNCTION = "encode" + + CATEGORY = "conditioning/3d_models" + + def encode(self, clip_vision, init_image, vae, width, height, video_frames, elevation): + output = clip_vision.encode_image(init_image) + pooled = output.image_embeds.unsqueeze(0) + pixels = comfy.utils.common_upscale(init_image.movedim(-1,1), width, height, "bilinear", "center").movedim(1,-1) + encode_pixels = pixels[:,:,:,:3] + t = vae.encode(encode_pixels) + + azimuth = 0 + azimuth_increment = 360 / (max(video_frames, 2) - 1) + + elevations = [] + azimuths = [] + for i in range(video_frames): + elevations.append(elevation) + azimuths.append(azimuth) + azimuth += azimuth_increment + + positive = [[pooled, {"concat_latent_image": t, "elevation": elevations, "azimuth": azimuths}]] + negative = [[torch.zeros_like(pooled), {"concat_latent_image": torch.zeros_like(t), "elevation": elevations, "azimuth": azimuths}]] + latent = torch.zeros([video_frames, 4, height // 8, width // 8]) + return (positive, negative, {"samples":latent}) + + +NODE_CLASS_MAPPINGS = { + "StableZero123_Conditioning": StableZero123_Conditioning, + "StableZero123_Conditioning_Batched": StableZero123_Conditioning_Batched, + "SV3D_Conditioning": SV3D_Conditioning, +} diff --git a/comfy_extras/nodes_stable_cascade.py b/comfy_extras/nodes_stable_cascade.py new file mode 100644 index 0000000000000000000000000000000000000000..0034032150e6eac48d18bb6bd35819114a01fe8d --- /dev/null +++ b/comfy_extras/nodes_stable_cascade.py @@ -0,0 +1,141 @@ +""" + This file is part of ComfyUI. + Copyright (C) 2024 Stability AI + + 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 . +""" + +import torch +import nodes +import comfy.utils + + +class StableCascade_EmptyLatentImage: + def __init__(self, device="cpu"): + self.device = device + + @classmethod + def INPUT_TYPES(s): + return {"required": { + "width": ("INT", {"default": 1024, "min": 256, "max": nodes.MAX_RESOLUTION, "step": 8}), + "height": ("INT", {"default": 1024, "min": 256, "max": nodes.MAX_RESOLUTION, "step": 8}), + "compression": ("INT", {"default": 42, "min": 4, "max": 128, "step": 1}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096}) + }} + RETURN_TYPES = ("LATENT", "LATENT") + RETURN_NAMES = ("stage_c", "stage_b") + FUNCTION = "generate" + + CATEGORY = "latent/stable_cascade" + + def generate(self, width, height, compression, batch_size=1): + c_latent = torch.zeros([batch_size, 16, height // compression, width // compression]) + b_latent = torch.zeros([batch_size, 4, height // 4, width // 4]) + return ({ + "samples": c_latent, + }, { + "samples": b_latent, + }) + +class StableCascade_StageC_VAEEncode: + def __init__(self, device="cpu"): + self.device = device + + @classmethod + def INPUT_TYPES(s): + return {"required": { + "image": ("IMAGE",), + "vae": ("VAE", ), + "compression": ("INT", {"default": 42, "min": 4, "max": 128, "step": 1}), + }} + RETURN_TYPES = ("LATENT", "LATENT") + RETURN_NAMES = ("stage_c", "stage_b") + FUNCTION = "generate" + + CATEGORY = "latent/stable_cascade" + + def generate(self, image, vae, compression): + width = image.shape[-2] + height = image.shape[-3] + out_width = (width // compression) * vae.downscale_ratio + out_height = (height // compression) * vae.downscale_ratio + + s = comfy.utils.common_upscale(image.movedim(-1,1), out_width, out_height, "bicubic", "center").movedim(1,-1) + + c_latent = vae.encode(s[:,:,:,:3]) + b_latent = torch.zeros([c_latent.shape[0], 4, (height // 8) * 2, (width // 8) * 2]) + return ({ + "samples": c_latent, + }, { + "samples": b_latent, + }) + +class StableCascade_StageB_Conditioning: + @classmethod + def INPUT_TYPES(s): + return {"required": { "conditioning": ("CONDITIONING",), + "stage_c": ("LATENT",), + }} + RETURN_TYPES = ("CONDITIONING",) + + FUNCTION = "set_prior" + + CATEGORY = "conditioning/stable_cascade" + + def set_prior(self, conditioning, stage_c): + c = [] + for t in conditioning: + d = t[1].copy() + d['stable_cascade_prior'] = stage_c['samples'] + n = [t[0], d] + c.append(n) + return (c, ) + +class StableCascade_SuperResolutionControlnet: + def __init__(self, device="cpu"): + self.device = device + + @classmethod + def INPUT_TYPES(s): + return {"required": { + "image": ("IMAGE",), + "vae": ("VAE", ), + }} + RETURN_TYPES = ("IMAGE", "LATENT", "LATENT") + RETURN_NAMES = ("controlnet_input", "stage_c", "stage_b") + FUNCTION = "generate" + + EXPERIMENTAL = True + CATEGORY = "_for_testing/stable_cascade" + + def generate(self, image, vae): + width = image.shape[-2] + height = image.shape[-3] + batch_size = image.shape[0] + controlnet_input = vae.encode(image[:,:,:,:3]).movedim(1, -1) + + c_latent = torch.zeros([batch_size, 16, height // 16, width // 16]) + b_latent = torch.zeros([batch_size, 4, height // 2, width // 2]) + return (controlnet_input, { + "samples": c_latent, + }, { + "samples": b_latent, + }) + +NODE_CLASS_MAPPINGS = { + "StableCascade_EmptyLatentImage": StableCascade_EmptyLatentImage, + "StableCascade_StageB_Conditioning": StableCascade_StageB_Conditioning, + "StableCascade_StageC_VAEEncode": StableCascade_StageC_VAEEncode, + "StableCascade_SuperResolutionControlnet": StableCascade_SuperResolutionControlnet, +} diff --git a/comfy_extras/nodes_tomesd.py b/comfy_extras/nodes_tomesd.py new file mode 100644 index 0000000000000000000000000000000000000000..9f77c06fcb12a2dafbb891cbceb50ba8addaa81a --- /dev/null +++ b/comfy_extras/nodes_tomesd.py @@ -0,0 +1,176 @@ +#Taken from: https://github.com/dbolya/tomesd + +import torch +from typing import Tuple, Callable +import math + +def do_nothing(x: torch.Tensor, mode:str=None): + return x + + +def mps_gather_workaround(input, dim, index): + if input.shape[-1] == 1: + return torch.gather( + input.unsqueeze(-1), + dim - 1 if dim < 0 else dim, + index.unsqueeze(-1) + ).squeeze(-1) + else: + return torch.gather(input, dim, index) + + +def bipartite_soft_matching_random2d(metric: torch.Tensor, + w: int, h: int, sx: int, sy: int, r: int, + no_rand: bool = False) -> Tuple[Callable, Callable]: + """ + Partitions the tokens into src and dst and merges r tokens from src to dst. + Dst tokens are partitioned by choosing one randomy in each (sx, sy) region. + Args: + - metric [B, N, C]: metric to use for similarity + - w: image width in tokens + - h: image height in tokens + - sx: stride in the x dimension for dst, must divide w + - sy: stride in the y dimension for dst, must divide h + - r: number of tokens to remove (by merging) + - no_rand: if true, disable randomness (use top left corner only) + """ + B, N, _ = metric.shape + + if r <= 0 or w == 1 or h == 1: + return do_nothing, do_nothing + + gather = mps_gather_workaround if metric.device.type == "mps" else torch.gather + + with torch.no_grad(): + hsy, wsx = h // sy, w // sx + + # For each sy by sx kernel, randomly assign one token to be dst and the rest src + if no_rand: + rand_idx = torch.zeros(hsy, wsx, 1, device=metric.device, dtype=torch.int64) + else: + rand_idx = torch.randint(sy*sx, size=(hsy, wsx, 1), device=metric.device) + + # The image might not divide sx and sy, so we need to work on a view of the top left if the idx buffer instead + idx_buffer_view = torch.zeros(hsy, wsx, sy*sx, device=metric.device, dtype=torch.int64) + idx_buffer_view.scatter_(dim=2, index=rand_idx, src=-torch.ones_like(rand_idx, dtype=rand_idx.dtype)) + idx_buffer_view = idx_buffer_view.view(hsy, wsx, sy, sx).transpose(1, 2).reshape(hsy * sy, wsx * sx) + + # Image is not divisible by sx or sy so we need to move it into a new buffer + if (hsy * sy) < h or (wsx * sx) < w: + idx_buffer = torch.zeros(h, w, device=metric.device, dtype=torch.int64) + idx_buffer[:(hsy * sy), :(wsx * sx)] = idx_buffer_view + else: + idx_buffer = idx_buffer_view + + # We set dst tokens to be -1 and src to be 0, so an argsort gives us dst|src indices + rand_idx = idx_buffer.reshape(1, -1, 1).argsort(dim=1) + + # We're finished with these + del idx_buffer, idx_buffer_view + + # rand_idx is currently dst|src, so split them + num_dst = hsy * wsx + a_idx = rand_idx[:, num_dst:, :] # src + b_idx = rand_idx[:, :num_dst, :] # dst + + def split(x): + C = x.shape[-1] + src = gather(x, dim=1, index=a_idx.expand(B, N - num_dst, C)) + dst = gather(x, dim=1, index=b_idx.expand(B, num_dst, C)) + return src, dst + + # Cosine similarity between A and B + metric = metric / metric.norm(dim=-1, keepdim=True) + a, b = split(metric) + scores = a @ b.transpose(-1, -2) + + # Can't reduce more than the # tokens in src + r = min(a.shape[1], r) + + # Find the most similar greedily + node_max, node_idx = scores.max(dim=-1) + edge_idx = node_max.argsort(dim=-1, descending=True)[..., None] + + unm_idx = edge_idx[..., r:, :] # Unmerged Tokens + src_idx = edge_idx[..., :r, :] # Merged Tokens + dst_idx = gather(node_idx[..., None], dim=-2, index=src_idx) + + def merge(x: torch.Tensor, mode="mean") -> torch.Tensor: + src, dst = split(x) + n, t1, c = src.shape + + unm = gather(src, dim=-2, index=unm_idx.expand(n, t1 - r, c)) + src = gather(src, dim=-2, index=src_idx.expand(n, r, c)) + dst = dst.scatter_reduce(-2, dst_idx.expand(n, r, c), src, reduce=mode) + + return torch.cat([unm, dst], dim=1) + + def unmerge(x: torch.Tensor) -> torch.Tensor: + unm_len = unm_idx.shape[1] + unm, dst = x[..., :unm_len, :], x[..., unm_len:, :] + _, _, c = unm.shape + + src = gather(dst, dim=-2, index=dst_idx.expand(B, r, c)) + + # Combine back to the original shape + out = torch.zeros(B, N, c, device=x.device, dtype=x.dtype) + out.scatter_(dim=-2, index=b_idx.expand(B, num_dst, c), src=dst) + out.scatter_(dim=-2, index=gather(a_idx.expand(B, a_idx.shape[1], 1), dim=1, index=unm_idx).expand(B, unm_len, c), src=unm) + out.scatter_(dim=-2, index=gather(a_idx.expand(B, a_idx.shape[1], 1), dim=1, index=src_idx).expand(B, r, c), src=src) + + return out + + return merge, unmerge + + +def get_functions(x, ratio, original_shape): + b, c, original_h, original_w = original_shape + original_tokens = original_h * original_w + downsample = int(math.ceil(math.sqrt(original_tokens // x.shape[1]))) + stride_x = 2 + stride_y = 2 + max_downsample = 1 + + if downsample <= max_downsample: + w = int(math.ceil(original_w / downsample)) + h = int(math.ceil(original_h / downsample)) + r = int(x.shape[1] * ratio) + no_rand = False + m, u = bipartite_soft_matching_random2d(x, w, h, stride_x, stride_y, r, no_rand) + return m, u + + nothing = lambda y: y + return nothing, nothing + + + +class TomePatchModel: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "ratio": ("FLOAT", {"default": 0.3, "min": 0.0, "max": 1.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "model_patches/unet" + + def patch(self, model, ratio): + self.u = None + def tomesd_m(q, k, v, extra_options): + #NOTE: In the reference code get_functions takes x (input of the transformer block) as the argument instead of q + #however from my basic testing it seems that using q instead gives better results + m, self.u = get_functions(q, ratio, extra_options["original_shape"]) + return m(q), k, v + def tomesd_u(n, extra_options): + return self.u(n) + + m = model.clone() + m.set_model_attn1_patch(tomesd_m) + m.set_model_attn1_output_patch(tomesd_u) + return (m, ) + + +NODE_CLASS_MAPPINGS = { + "TomePatchModel": TomePatchModel, +} diff --git a/comfy_extras/nodes_torch_compile.py b/comfy_extras/nodes_torch_compile.py new file mode 100644 index 0000000000000000000000000000000000000000..1fe6f42c725f193b1e1147846b5793437dbbfd57 --- /dev/null +++ b/comfy_extras/nodes_torch_compile.py @@ -0,0 +1,22 @@ +import torch + +class TorchCompileModel: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "backend": (["inductor", "cudagraphs"],), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "_for_testing" + EXPERIMENTAL = True + + def patch(self, model, backend): + m = model.clone() + m.add_object_patch("diffusion_model", torch.compile(model=m.get_model_object("diffusion_model"), backend=backend)) + return (m, ) + +NODE_CLASS_MAPPINGS = { + "TorchCompileModel": TorchCompileModel, +} diff --git a/comfy_extras/nodes_upscale_model.py b/comfy_extras/nodes_upscale_model.py new file mode 100644 index 0000000000000000000000000000000000000000..04c948341296dfa7e385141498973977c17c906a --- /dev/null +++ b/comfy_extras/nodes_upscale_model.py @@ -0,0 +1,83 @@ +import logging +from spandrel import ModelLoader, ImageModelDescriptor +from comfy import model_management +import torch +import comfy.utils +import folder_paths + +try: + from spandrel_extra_arches import EXTRA_REGISTRY + from spandrel import MAIN_REGISTRY + MAIN_REGISTRY.add(*EXTRA_REGISTRY) + logging.info("Successfully imported spandrel_extra_arches: support for non commercial upscale models.") +except: + pass + +class UpscaleModelLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model_name": (folder_paths.get_filename_list("upscale_models"), ), + }} + RETURN_TYPES = ("UPSCALE_MODEL",) + FUNCTION = "load_model" + + CATEGORY = "loaders" + + def load_model(self, model_name): + model_path = folder_paths.get_full_path_or_raise("upscale_models", model_name) + sd = comfy.utils.load_torch_file(model_path, safe_load=True) + if "module.layers.0.residual_group.blocks.0.norm1.weight" in sd: + sd = comfy.utils.state_dict_prefix_replace(sd, {"module.":""}) + out = ModelLoader().load_from_state_dict(sd).eval() + + if not isinstance(out, ImageModelDescriptor): + raise Exception("Upscale model must be a single-image model.") + + return (out, ) + + +class ImageUpscaleWithModel: + @classmethod + def INPUT_TYPES(s): + return {"required": { "upscale_model": ("UPSCALE_MODEL",), + "image": ("IMAGE",), + }} + RETURN_TYPES = ("IMAGE",) + FUNCTION = "upscale" + + CATEGORY = "image/upscaling" + + def upscale(self, upscale_model, image): + device = model_management.get_torch_device() + + memory_required = model_management.module_size(upscale_model.model) + memory_required += (512 * 512 * 3) * image.element_size() * max(upscale_model.scale, 1.0) * 384.0 #The 384.0 is an estimate of how much some of these models take, TODO: make it more accurate + memory_required += image.nelement() * image.element_size() + model_management.free_memory(memory_required, device) + + upscale_model.to(device) + in_img = image.movedim(-1,-3).to(device) + + tile = 512 + overlap = 32 + + oom = True + while oom: + try: + steps = in_img.shape[0] * comfy.utils.get_tiled_scale_steps(in_img.shape[3], in_img.shape[2], tile_x=tile, tile_y=tile, overlap=overlap) + pbar = comfy.utils.ProgressBar(steps) + s = comfy.utils.tiled_scale(in_img, lambda a: upscale_model(a), tile_x=tile, tile_y=tile, overlap=overlap, upscale_amount=upscale_model.scale, pbar=pbar) + oom = False + except model_management.OOM_EXCEPTION as e: + tile //= 2 + if tile < 128: + raise e + + upscale_model.to("cpu") + s = torch.clamp(s.movedim(-3,-1), min=0, max=1.0) + return (s,) + +NODE_CLASS_MAPPINGS = { + "UpscaleModelLoader": UpscaleModelLoader, + "ImageUpscaleWithModel": ImageUpscaleWithModel +} diff --git a/comfy_extras/nodes_video_model.py b/comfy_extras/nodes_video_model.py new file mode 100644 index 0000000000000000000000000000000000000000..e7a7ec181fca8ebb5662b394cffaf55a953b5f28 --- /dev/null +++ b/comfy_extras/nodes_video_model.py @@ -0,0 +1,134 @@ +import nodes +import torch +import comfy.utils +import comfy.sd +import folder_paths +import comfy_extras.nodes_model_merging + + +class ImageOnlyCheckpointLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "ckpt_name": (folder_paths.get_filename_list("checkpoints"), ), + }} + RETURN_TYPES = ("MODEL", "CLIP_VISION", "VAE") + FUNCTION = "load_checkpoint" + + CATEGORY = "loaders/video_models" + + def load_checkpoint(self, ckpt_name, output_vae=True, output_clip=True): + ckpt_path = folder_paths.get_full_path_or_raise("checkpoints", ckpt_name) + out = comfy.sd.load_checkpoint_guess_config(ckpt_path, output_vae=True, output_clip=False, output_clipvision=True, embedding_directory=folder_paths.get_folder_paths("embeddings")) + return (out[0], out[3], out[2]) + + +class SVD_img2vid_Conditioning: + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip_vision": ("CLIP_VISION",), + "init_image": ("IMAGE",), + "vae": ("VAE",), + "width": ("INT", {"default": 1024, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 8}), + "height": ("INT", {"default": 576, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 8}), + "video_frames": ("INT", {"default": 14, "min": 1, "max": 4096}), + "motion_bucket_id": ("INT", {"default": 127, "min": 1, "max": 1023}), + "fps": ("INT", {"default": 6, "min": 1, "max": 1024}), + "augmentation_level": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 10.0, "step": 0.01}) + }} + RETURN_TYPES = ("CONDITIONING", "CONDITIONING", "LATENT") + RETURN_NAMES = ("positive", "negative", "latent") + + FUNCTION = "encode" + + CATEGORY = "conditioning/video_models" + + def encode(self, clip_vision, init_image, vae, width, height, video_frames, motion_bucket_id, fps, augmentation_level): + output = clip_vision.encode_image(init_image) + pooled = output.image_embeds.unsqueeze(0) + pixels = comfy.utils.common_upscale(init_image.movedim(-1,1), width, height, "bilinear", "center").movedim(1,-1) + encode_pixels = pixels[:,:,:,:3] + if augmentation_level > 0: + encode_pixels += torch.randn_like(pixels) * augmentation_level + t = vae.encode(encode_pixels) + positive = [[pooled, {"motion_bucket_id": motion_bucket_id, "fps": fps, "augmentation_level": augmentation_level, "concat_latent_image": t}]] + negative = [[torch.zeros_like(pooled), {"motion_bucket_id": motion_bucket_id, "fps": fps, "augmentation_level": augmentation_level, "concat_latent_image": torch.zeros_like(t)}]] + latent = torch.zeros([video_frames, 4, height // 8, width // 8]) + return (positive, negative, {"samples":latent}) + +class VideoLinearCFGGuidance: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "min_cfg": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.5, "round": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "sampling/video_models" + + def patch(self, model, min_cfg): + def linear_cfg(args): + cond = args["cond"] + uncond = args["uncond"] + cond_scale = args["cond_scale"] + + scale = torch.linspace(min_cfg, cond_scale, cond.shape[0], device=cond.device).reshape((cond.shape[0], 1, 1, 1)) + return uncond + scale * (cond - uncond) + + m = model.clone() + m.set_model_sampler_cfg_function(linear_cfg) + return (m, ) + +class VideoTriangleCFGGuidance: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "min_cfg": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step":0.5, "round": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "sampling/video_models" + + def patch(self, model, min_cfg): + def linear_cfg(args): + cond = args["cond"] + uncond = args["uncond"] + cond_scale = args["cond_scale"] + period = 1.0 + values = torch.linspace(0, 1, cond.shape[0], device=cond.device) + values = 2 * (values / period - torch.floor(values / period + 0.5)).abs() + scale = (values * (cond_scale - min_cfg) + min_cfg).reshape((cond.shape[0], 1, 1, 1)) + + return uncond + scale * (cond - uncond) + + m = model.clone() + m.set_model_sampler_cfg_function(linear_cfg) + return (m, ) + +class ImageOnlyCheckpointSave(comfy_extras.nodes_model_merging.CheckpointSave): + CATEGORY = "advanced/model_merging" + + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "clip_vision": ("CLIP_VISION",), + "vae": ("VAE",), + "filename_prefix": ("STRING", {"default": "checkpoints/ComfyUI"}),}, + "hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"},} + + def save(self, model, clip_vision, vae, filename_prefix, prompt=None, extra_pnginfo=None): + comfy_extras.nodes_model_merging.save_checkpoint(model, clip_vision=clip_vision, vae=vae, filename_prefix=filename_prefix, output_dir=self.output_dir, prompt=prompt, extra_pnginfo=extra_pnginfo) + return {} + +NODE_CLASS_MAPPINGS = { + "ImageOnlyCheckpointLoader": ImageOnlyCheckpointLoader, + "SVD_img2vid_Conditioning": SVD_img2vid_Conditioning, + "VideoLinearCFGGuidance": VideoLinearCFGGuidance, + "VideoTriangleCFGGuidance": VideoTriangleCFGGuidance, + "ImageOnlyCheckpointSave": ImageOnlyCheckpointSave, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "ImageOnlyCheckpointLoader": "Image Only Checkpoint Loader (img2vid model)", +} diff --git a/comfy_extras/nodes_webcam.py b/comfy_extras/nodes_webcam.py new file mode 100644 index 0000000000000000000000000000000000000000..31eddb2d691de342afebf36a509381d110c813f4 --- /dev/null +++ b/comfy_extras/nodes_webcam.py @@ -0,0 +1,33 @@ +import nodes +import folder_paths + +MAX_RESOLUTION = nodes.MAX_RESOLUTION + + +class WebcamCapture(nodes.LoadImage): + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "image": ("WEBCAM", {}), + "width": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + "height": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + "capture_on_queue": ("BOOLEAN", {"default": True}), + } + } + RETURN_TYPES = ("IMAGE",) + FUNCTION = "load_capture" + + CATEGORY = "image" + + def load_capture(s, image, **kwargs): + return super().load_image(folder_paths.get_annotated_filepath(image)) + + +NODE_CLASS_MAPPINGS = { + "WebcamCapture": WebcamCapture, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "WebcamCapture": "Webcam Capture", +} diff --git a/comfyui_version.py b/comfyui_version.py new file mode 100644 index 0000000000000000000000000000000000000000..7cccc75350f4eab4070fe9e21f7f81d4552642eb --- /dev/null +++ b/comfyui_version.py @@ -0,0 +1,3 @@ +# This file is automatically generated by the build process when version is +# updated in pyproject.toml. +__version__ = "0.3.10" diff --git a/cuda_malloc.py b/cuda_malloc.py new file mode 100644 index 0000000000000000000000000000000000000000..eb2857c5fe2db47c8e86fa64d3c53dcd7574408f --- /dev/null +++ b/cuda_malloc.py @@ -0,0 +1,90 @@ +import os +import importlib.util +from comfy.cli_args import args +import subprocess + +#Can't use pytorch to get the GPU names because the cuda malloc has to be set before the first import. +def get_gpu_names(): + if os.name == 'nt': + import ctypes + + # Define necessary C structures and types + class DISPLAY_DEVICEA(ctypes.Structure): + _fields_ = [ + ('cb', ctypes.c_ulong), + ('DeviceName', ctypes.c_char * 32), + ('DeviceString', ctypes.c_char * 128), + ('StateFlags', ctypes.c_ulong), + ('DeviceID', ctypes.c_char * 128), + ('DeviceKey', ctypes.c_char * 128) + ] + + # Load user32.dll + user32 = ctypes.windll.user32 + + # Call EnumDisplayDevicesA + def enum_display_devices(): + device_info = DISPLAY_DEVICEA() + device_info.cb = ctypes.sizeof(device_info) + device_index = 0 + gpu_names = set() + + while user32.EnumDisplayDevicesA(None, device_index, ctypes.byref(device_info), 0): + device_index += 1 + gpu_names.add(device_info.DeviceString.decode('utf-8')) + return gpu_names + return enum_display_devices() + else: + gpu_names = set() + out = subprocess.check_output(['nvidia-smi', '-L']) + for l in out.split(b'\n'): + if len(l) > 0: + gpu_names.add(l.decode('utf-8').split(' (UUID')[0]) + return gpu_names + +blacklist = {"GeForce GTX TITAN X", "GeForce GTX 980", "GeForce GTX 970", "GeForce GTX 960", "GeForce GTX 950", "GeForce 945M", + "GeForce 940M", "GeForce 930M", "GeForce 920M", "GeForce 910M", "GeForce GTX 750", "GeForce GTX 745", "Quadro K620", + "Quadro K1200", "Quadro K2200", "Quadro M500", "Quadro M520", "Quadro M600", "Quadro M620", "Quadro M1000", + "Quadro M1200", "Quadro M2000", "Quadro M2200", "Quadro M3000", "Quadro M4000", "Quadro M5000", "Quadro M5500", "Quadro M6000", + "GeForce MX110", "GeForce MX130", "GeForce 830M", "GeForce 840M", "GeForce GTX 850M", "GeForce GTX 860M", + "GeForce GTX 1650", "GeForce GTX 1630", "Tesla M4", "Tesla M6", "Tesla M10", "Tesla M40", "Tesla M60" + } + +def cuda_malloc_supported(): + try: + names = get_gpu_names() + except: + names = set() + for x in names: + if "NVIDIA" in x: + for b in blacklist: + if b in x: + return False + return True + + +if not args.cuda_malloc: + try: + version = "" + torch_spec = importlib.util.find_spec("torch") + for folder in torch_spec.submodule_search_locations: + ver_file = os.path.join(folder, "version.py") + if os.path.isfile(ver_file): + spec = importlib.util.spec_from_file_location("torch_version_import", ver_file) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + version = module.__version__ + if int(version[0]) >= 2: #enable by default for torch version 2.0 and up + args.cuda_malloc = cuda_malloc_supported() + except: + pass + + +if args.cuda_malloc and not args.disable_cuda_malloc: + env_var = os.environ.get('PYTORCH_CUDA_ALLOC_CONF', None) + if env_var is None: + env_var = "backend:cudaMallocAsync" + else: + env_var += ",backend:cudaMallocAsync" + + os.environ['PYTORCH_CUDA_ALLOC_CONF'] = env_var diff --git a/execution.py b/execution.py new file mode 100644 index 0000000000000000000000000000000000000000..2c979205ba99ecf9de4002a94e9609a435f5b5bb --- /dev/null +++ b/execution.py @@ -0,0 +1,994 @@ +import sys +import copy +import logging +import threading +import heapq +import time +import traceback +from enum import Enum +import inspect +from typing import List, Literal, NamedTuple, Optional + +import torch +import nodes + +import comfy.model_management +from comfy_execution.graph import get_input_info, ExecutionList, DynamicPrompt, ExecutionBlocker +from comfy_execution.graph_utils import is_link, GraphBuilder +from comfy_execution.caching import HierarchicalCache, LRUCache, CacheKeySetInputSignature, CacheKeySetID +from comfy_execution.validation import validate_node_input + +class ExecutionResult(Enum): + SUCCESS = 0 + FAILURE = 1 + PENDING = 2 + +class DuplicateNodeError(Exception): + pass + +class IsChangedCache: + def __init__(self, dynprompt, outputs_cache): + self.dynprompt = dynprompt + self.outputs_cache = outputs_cache + self.is_changed = {} + + def get(self, node_id): + if node_id in self.is_changed: + return self.is_changed[node_id] + + node = self.dynprompt.get_node(node_id) + class_type = node["class_type"] + class_def = nodes.NODE_CLASS_MAPPINGS[class_type] + if not hasattr(class_def, "IS_CHANGED"): + self.is_changed[node_id] = False + return self.is_changed[node_id] + + if "is_changed" in node: + self.is_changed[node_id] = node["is_changed"] + return self.is_changed[node_id] + + # Intentionally do not use cached outputs here. We only want constants in IS_CHANGED + input_data_all, _ = get_input_data(node["inputs"], class_def, node_id, None) + try: + is_changed = _map_node_over_list(class_def, input_data_all, "IS_CHANGED") + node["is_changed"] = [None if isinstance(x, ExecutionBlocker) else x for x in is_changed] + except Exception as e: + logging.warning("WARNING: {}".format(e)) + node["is_changed"] = float("NaN") + finally: + self.is_changed[node_id] = node["is_changed"] + return self.is_changed[node_id] + +class CacheSet: + def __init__(self, lru_size=None): + if lru_size is None or lru_size == 0: + self.init_classic_cache() + else: + self.init_lru_cache(lru_size) + self.all = [self.outputs, self.ui, self.objects] + + # Useful for those with ample RAM/VRAM -- allows experimenting without + # blowing away the cache every time + def init_lru_cache(self, cache_size): + self.outputs = LRUCache(CacheKeySetInputSignature, max_size=cache_size) + self.ui = LRUCache(CacheKeySetInputSignature, max_size=cache_size) + self.objects = HierarchicalCache(CacheKeySetID) + + # Performs like the old cache -- dump data ASAP + def init_classic_cache(self): + self.outputs = HierarchicalCache(CacheKeySetInputSignature) + self.ui = HierarchicalCache(CacheKeySetInputSignature) + self.objects = HierarchicalCache(CacheKeySetID) + + def recursive_debug_dump(self): + result = { + "outputs": self.outputs.recursive_debug_dump(), + "ui": self.ui.recursive_debug_dump(), + } + return result + +def get_input_data(inputs, class_def, unique_id, outputs=None, dynprompt=None, extra_data={}): + valid_inputs = class_def.INPUT_TYPES() + input_data_all = {} + missing_keys = {} + for x in inputs: + input_data = inputs[x] + input_type, input_category, input_info = get_input_info(class_def, x, valid_inputs) + def mark_missing(): + missing_keys[x] = True + input_data_all[x] = (None,) + if is_link(input_data) and (not input_info or not input_info.get("rawLink", False)): + input_unique_id = input_data[0] + output_index = input_data[1] + if outputs is None: + mark_missing() + continue # This might be a lazily-evaluated input + cached_output = outputs.get(input_unique_id) + if cached_output is None: + mark_missing() + continue + if output_index >= len(cached_output): + mark_missing() + continue + obj = cached_output[output_index] + input_data_all[x] = obj + elif input_category is not None: + input_data_all[x] = [input_data] + + if "hidden" in valid_inputs: + h = valid_inputs["hidden"] + for x in h: + if h[x] == "PROMPT": + input_data_all[x] = [dynprompt.get_original_prompt() if dynprompt is not None else {}] + if h[x] == "DYNPROMPT": + input_data_all[x] = [dynprompt] + if h[x] == "EXTRA_PNGINFO": + input_data_all[x] = [extra_data.get('extra_pnginfo', None)] + if h[x] == "UNIQUE_ID": + input_data_all[x] = [unique_id] + return input_data_all, missing_keys + +map_node_over_list = None #Don't hook this please + +def _map_node_over_list(obj, input_data_all, func, allow_interrupt=False, execution_block_cb=None, pre_execute_cb=None): + # check if node wants the lists + input_is_list = getattr(obj, "INPUT_IS_LIST", False) + + if len(input_data_all) == 0: + max_len_input = 0 + else: + max_len_input = max(len(x) for x in input_data_all.values()) + + # get a slice of inputs, repeat last input when list isn't long enough + def slice_dict(d, i): + return {k: v[i if len(v) > i else -1] for k, v in d.items()} + + results = [] + def process_inputs(inputs, index=None, input_is_list=False): + if allow_interrupt: + nodes.before_node_execution() + execution_block = None + for k, v in inputs.items(): + if input_is_list: + for e in v: + if isinstance(e, ExecutionBlocker): + v = e + break + if isinstance(v, ExecutionBlocker): + execution_block = execution_block_cb(v) if execution_block_cb else v + break + if execution_block is None: + if pre_execute_cb is not None and index is not None: + pre_execute_cb(index) + results.append(getattr(obj, func)(**inputs)) + else: + results.append(execution_block) + + if input_is_list: + process_inputs(input_data_all, 0, input_is_list=input_is_list) + elif max_len_input == 0: + process_inputs({}) + else: + for i in range(max_len_input): + input_dict = slice_dict(input_data_all, i) + process_inputs(input_dict, i) + return results + +def merge_result_data(results, obj): + # check which outputs need concatenating + output = [] + output_is_list = [False] * len(results[0]) + if hasattr(obj, "OUTPUT_IS_LIST"): + output_is_list = obj.OUTPUT_IS_LIST + + # merge node execution results + for i, is_list in zip(range(len(results[0])), output_is_list): + if is_list: + value = [] + for o in results: + if isinstance(o[i], ExecutionBlocker): + value.append(o[i]) + else: + value.extend(o[i]) + output.append(value) + else: + output.append([o[i] for o in results]) + return output + +def get_output_data(obj, input_data_all, execution_block_cb=None, pre_execute_cb=None): + results = [] + uis = [] + subgraph_results = [] + return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb) + has_subgraph = False + for i in range(len(return_values)): + r = return_values[i] + if isinstance(r, dict): + if 'ui' in r: + uis.append(r['ui']) + if 'expand' in r: + # Perform an expansion, but do not append results + has_subgraph = True + new_graph = r['expand'] + result = r.get("result", None) + if isinstance(result, ExecutionBlocker): + result = tuple([result] * len(obj.RETURN_TYPES)) + subgraph_results.append((new_graph, result)) + elif 'result' in r: + result = r.get("result", None) + if isinstance(result, ExecutionBlocker): + result = tuple([result] * len(obj.RETURN_TYPES)) + results.append(result) + subgraph_results.append((None, result)) + else: + if isinstance(r, ExecutionBlocker): + r = tuple([r] * len(obj.RETURN_TYPES)) + results.append(r) + subgraph_results.append((None, r)) + + if has_subgraph: + output = subgraph_results + elif len(results) > 0: + output = merge_result_data(results, obj) + else: + output = [] + ui = dict() + if len(uis) > 0: + ui = {k: [y for x in uis for y in x[k]] for k in uis[0].keys()} + return output, ui, has_subgraph + +def format_value(x): + if x is None: + return None + elif isinstance(x, (int, float, bool, str)): + return x + else: + return str(x) + +def execute(server, dynprompt, caches, current_item, extra_data, executed, prompt_id, execution_list, pending_subgraph_results): + unique_id = current_item + real_node_id = dynprompt.get_real_node_id(unique_id) + display_node_id = dynprompt.get_display_node_id(unique_id) + parent_node_id = dynprompt.get_parent_node_id(unique_id) + inputs = dynprompt.get_node(unique_id)['inputs'] + class_type = dynprompt.get_node(unique_id)['class_type'] + class_def = nodes.NODE_CLASS_MAPPINGS[class_type] + if caches.outputs.get(unique_id) is not None: + if server.client_id is not None: + cached_output = caches.ui.get(unique_id) or {} + server.send_sync("executed", { "node": unique_id, "display_node": display_node_id, "output": cached_output.get("output",None), "prompt_id": prompt_id }, server.client_id) + return (ExecutionResult.SUCCESS, None, None) + + input_data_all = None + try: + if unique_id in pending_subgraph_results: + cached_results = pending_subgraph_results[unique_id] + resolved_outputs = [] + for is_subgraph, result in cached_results: + if not is_subgraph: + resolved_outputs.append(result) + else: + resolved_output = [] + for r in result: + if is_link(r): + source_node, source_output = r[0], r[1] + node_output = caches.outputs.get(source_node)[source_output] + for o in node_output: + resolved_output.append(o) + + else: + resolved_output.append(r) + resolved_outputs.append(tuple(resolved_output)) + output_data = merge_result_data(resolved_outputs, class_def) + output_ui = [] + has_subgraph = False + else: + input_data_all, missing_keys = get_input_data(inputs, class_def, unique_id, caches.outputs, dynprompt, extra_data) + if server.client_id is not None: + server.last_node_id = display_node_id + server.send_sync("executing", { "node": unique_id, "display_node": display_node_id, "prompt_id": prompt_id }, server.client_id) + + obj = caches.objects.get(unique_id) + if obj is None: + obj = class_def() + caches.objects.set(unique_id, obj) + + if hasattr(obj, "check_lazy_status"): + required_inputs = _map_node_over_list(obj, input_data_all, "check_lazy_status", allow_interrupt=True) + required_inputs = set(sum([r for r in required_inputs if isinstance(r,list)], [])) + required_inputs = [x for x in required_inputs if isinstance(x,str) and ( + x not in input_data_all or x in missing_keys + )] + if len(required_inputs) > 0: + for i in required_inputs: + execution_list.make_input_strong_link(unique_id, i) + return (ExecutionResult.PENDING, None, None) + + def execution_block_cb(block): + if block.message is not None: + mes = { + "prompt_id": prompt_id, + "node_id": unique_id, + "node_type": class_type, + "executed": list(executed), + + "exception_message": f"Execution Blocked: {block.message}", + "exception_type": "ExecutionBlocked", + "traceback": [], + "current_inputs": [], + "current_outputs": [], + } + server.send_sync("execution_error", mes, server.client_id) + return ExecutionBlocker(None) + else: + return block + def pre_execute_cb(call_index): + GraphBuilder.set_default_prefix(unique_id, call_index, 0) + output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb) + if len(output_ui) > 0: + caches.ui.set(unique_id, { + "meta": { + "node_id": unique_id, + "display_node": display_node_id, + "parent_node": parent_node_id, + "real_node_id": real_node_id, + }, + "output": output_ui + }) + if server.client_id is not None: + server.send_sync("executed", { "node": unique_id, "display_node": display_node_id, "output": output_ui, "prompt_id": prompt_id }, server.client_id) + if has_subgraph: + cached_outputs = [] + new_node_ids = [] + new_output_ids = [] + new_output_links = [] + for i in range(len(output_data)): + new_graph, node_outputs = output_data[i] + if new_graph is None: + cached_outputs.append((False, node_outputs)) + else: + # Check for conflicts + for node_id in new_graph.keys(): + if dynprompt.has_node(node_id): + raise DuplicateNodeError(f"Attempt to add duplicate node {node_id}. Ensure node ids are unique and deterministic or use graph_utils.GraphBuilder.") + for node_id, node_info in new_graph.items(): + new_node_ids.append(node_id) + display_id = node_info.get("override_display_id", unique_id) + dynprompt.add_ephemeral_node(node_id, node_info, unique_id, display_id) + # Figure out if the newly created node is an output node + class_type = node_info["class_type"] + class_def = nodes.NODE_CLASS_MAPPINGS[class_type] + if hasattr(class_def, 'OUTPUT_NODE') and class_def.OUTPUT_NODE == True: + new_output_ids.append(node_id) + for i in range(len(node_outputs)): + if is_link(node_outputs[i]): + from_node_id, from_socket = node_outputs[i][0], node_outputs[i][1] + new_output_links.append((from_node_id, from_socket)) + cached_outputs.append((True, node_outputs)) + new_node_ids = set(new_node_ids) + for cache in caches.all: + cache.ensure_subcache_for(unique_id, new_node_ids).clean_unused() + for node_id in new_output_ids: + execution_list.add_node(node_id) + for link in new_output_links: + execution_list.add_strong_link(link[0], link[1], unique_id) + pending_subgraph_results[unique_id] = cached_outputs + return (ExecutionResult.PENDING, None, None) + caches.outputs.set(unique_id, output_data) + except comfy.model_management.InterruptProcessingException as iex: + logging.info("Processing interrupted") + + # skip formatting inputs/outputs + error_details = { + "node_id": real_node_id, + } + + return (ExecutionResult.FAILURE, error_details, iex) + except Exception as ex: + typ, _, tb = sys.exc_info() + exception_type = full_type_name(typ) + input_data_formatted = {} + if input_data_all is not None: + input_data_formatted = {} + for name, inputs in input_data_all.items(): + input_data_formatted[name] = [format_value(x) for x in inputs] + + logging.error(f"!!! Exception during processing !!! {ex}") + logging.error(traceback.format_exc()) + + error_details = { + "node_id": real_node_id, + "exception_message": str(ex), + "exception_type": exception_type, + "traceback": traceback.format_tb(tb), + "current_inputs": input_data_formatted + } + if isinstance(ex, comfy.model_management.OOM_EXCEPTION): + logging.error("Got an OOM, unloading all loaded models.") + comfy.model_management.unload_all_models() + + return (ExecutionResult.FAILURE, error_details, ex) + + executed.add(unique_id) + + return (ExecutionResult.SUCCESS, None, None) + +class PromptExecutor: + def __init__(self, server, lru_size=None): + self.lru_size = lru_size + self.server = server + self.reset() + + def reset(self): + self.caches = CacheSet(self.lru_size) + self.status_messages = [] + self.success = True + + def add_message(self, event, data: dict, broadcast: bool): + data = { + **data, + "timestamp": int(time.time() * 1000), + } + self.status_messages.append((event, data)) + if self.server.client_id is not None or broadcast: + self.server.send_sync(event, data, self.server.client_id) + + def handle_execution_error(self, prompt_id, prompt, current_outputs, executed, error, ex): + node_id = error["node_id"] + class_type = prompt[node_id]["class_type"] + + # First, send back the status to the frontend depending + # on the exception type + if isinstance(ex, comfy.model_management.InterruptProcessingException): + mes = { + "prompt_id": prompt_id, + "node_id": node_id, + "node_type": class_type, + "executed": list(executed), + } + self.add_message("execution_interrupted", mes, broadcast=True) + else: + mes = { + "prompt_id": prompt_id, + "node_id": node_id, + "node_type": class_type, + "executed": list(executed), + "exception_message": error["exception_message"], + "exception_type": error["exception_type"], + "traceback": error["traceback"], + "current_inputs": error["current_inputs"], + "current_outputs": list(current_outputs), + } + self.add_message("execution_error", mes, broadcast=False) + + def execute(self, prompt, prompt_id, extra_data={}, execute_outputs=[]): + nodes.interrupt_processing(False) + + if "client_id" in extra_data: + self.server.client_id = extra_data["client_id"] + else: + self.server.client_id = None + + self.status_messages = [] + self.add_message("execution_start", { "prompt_id": prompt_id}, broadcast=False) + + with torch.inference_mode(): + dynamic_prompt = DynamicPrompt(prompt) + is_changed_cache = IsChangedCache(dynamic_prompt, self.caches.outputs) + for cache in self.caches.all: + cache.set_prompt(dynamic_prompt, prompt.keys(), is_changed_cache) + cache.clean_unused() + + cached_nodes = [] + for node_id in prompt: + if self.caches.outputs.get(node_id) is not None: + cached_nodes.append(node_id) + + comfy.model_management.cleanup_models_gc() + self.add_message("execution_cached", + { "nodes": cached_nodes, "prompt_id": prompt_id}, + broadcast=False) + pending_subgraph_results = {} + executed = set() + execution_list = ExecutionList(dynamic_prompt, self.caches.outputs) + current_outputs = self.caches.outputs.all_node_ids() + for node_id in list(execute_outputs): + execution_list.add_node(node_id) + + while not execution_list.is_empty(): + node_id, error, ex = execution_list.stage_node_execution() + if error is not None: + self.handle_execution_error(prompt_id, dynamic_prompt.original_prompt, current_outputs, executed, error, ex) + break + + result, error, ex = execute(self.server, dynamic_prompt, self.caches, node_id, extra_data, executed, prompt_id, execution_list, pending_subgraph_results) + self.success = result != ExecutionResult.FAILURE + if result == ExecutionResult.FAILURE: + self.handle_execution_error(prompt_id, dynamic_prompt.original_prompt, current_outputs, executed, error, ex) + break + elif result == ExecutionResult.PENDING: + execution_list.unstage_node_execution() + else: # result == ExecutionResult.SUCCESS: + execution_list.complete_node_execution() + else: + # Only execute when the while-loop ends without break + self.add_message("execution_success", { "prompt_id": prompt_id }, broadcast=False) + + ui_outputs = {} + meta_outputs = {} + all_node_ids = self.caches.ui.all_node_ids() + for node_id in all_node_ids: + ui_info = self.caches.ui.get(node_id) + if ui_info is not None: + ui_outputs[node_id] = ui_info["output"] + meta_outputs[node_id] = ui_info["meta"] + self.history_result = { + "outputs": ui_outputs, + "meta": meta_outputs, + } + self.server.last_node_id = None + if comfy.model_management.DISABLE_SMART_MEMORY: + comfy.model_management.unload_all_models() + + +def validate_inputs(prompt, item, validated): + unique_id = item + if unique_id in validated: + return validated[unique_id] + + inputs = prompt[unique_id]['inputs'] + class_type = prompt[unique_id]['class_type'] + obj_class = nodes.NODE_CLASS_MAPPINGS[class_type] + + class_inputs = obj_class.INPUT_TYPES() + valid_inputs = set(class_inputs.get('required',{})).union(set(class_inputs.get('optional',{}))) + + errors = [] + valid = True + + validate_function_inputs = [] + validate_has_kwargs = False + if hasattr(obj_class, "VALIDATE_INPUTS"): + argspec = inspect.getfullargspec(obj_class.VALIDATE_INPUTS) + validate_function_inputs = argspec.args + validate_has_kwargs = argspec.varkw is not None + received_types = {} + + for x in valid_inputs: + type_input, input_category, extra_info = get_input_info(obj_class, x, class_inputs) + assert extra_info is not None + if x not in inputs: + if input_category == "required": + error = { + "type": "required_input_missing", + "message": "Required input is missing", + "details": f"{x}", + "extra_info": { + "input_name": x + } + } + errors.append(error) + continue + + val = inputs[x] + info = (type_input, extra_info) + if isinstance(val, list): + if len(val) != 2: + error = { + "type": "bad_linked_input", + "message": "Bad linked input, must be a length-2 list of [node_id, slot_index]", + "details": f"{x}", + "extra_info": { + "input_name": x, + "input_config": info, + "received_value": val + } + } + errors.append(error) + continue + + o_id = val[0] + o_class_type = prompt[o_id]['class_type'] + r = nodes.NODE_CLASS_MAPPINGS[o_class_type].RETURN_TYPES + received_type = r[val[1]] + received_types[x] = received_type + if 'input_types' not in validate_function_inputs and not validate_node_input(received_type, type_input): + details = f"{x}, received_type({received_type}) mismatch input_type({type_input})" + error = { + "type": "return_type_mismatch", + "message": "Return type mismatch between linked nodes", + "details": details, + "extra_info": { + "input_name": x, + "input_config": info, + "received_type": received_type, + "linked_node": val + } + } + errors.append(error) + continue + try: + r = validate_inputs(prompt, o_id, validated) + if r[0] is False: + # `r` will be set in `validated[o_id]` already + valid = False + continue + except Exception as ex: + typ, _, tb = sys.exc_info() + valid = False + exception_type = full_type_name(typ) + reasons = [{ + "type": "exception_during_inner_validation", + "message": "Exception when validating inner node", + "details": str(ex), + "extra_info": { + "input_name": x, + "input_config": info, + "exception_message": str(ex), + "exception_type": exception_type, + "traceback": traceback.format_tb(tb), + "linked_node": val + } + }] + validated[o_id] = (False, reasons, o_id) + continue + else: + try: + if type_input == "INT": + val = int(val) + inputs[x] = val + if type_input == "FLOAT": + val = float(val) + inputs[x] = val + if type_input == "STRING": + val = str(val) + inputs[x] = val + if type_input == "BOOLEAN": + val = bool(val) + inputs[x] = val + except Exception as ex: + error = { + "type": "invalid_input_type", + "message": f"Failed to convert an input value to a {type_input} value", + "details": f"{x}, {val}, {ex}", + "extra_info": { + "input_name": x, + "input_config": info, + "received_value": val, + "exception_message": str(ex) + } + } + errors.append(error) + continue + + if x not in validate_function_inputs and not validate_has_kwargs: + if "min" in extra_info and val < extra_info["min"]: + error = { + "type": "value_smaller_than_min", + "message": "Value {} smaller than min of {}".format(val, extra_info["min"]), + "details": f"{x}", + "extra_info": { + "input_name": x, + "input_config": info, + "received_value": val, + } + } + errors.append(error) + continue + if "max" in extra_info and val > extra_info["max"]: + error = { + "type": "value_bigger_than_max", + "message": "Value {} bigger than max of {}".format(val, extra_info["max"]), + "details": f"{x}", + "extra_info": { + "input_name": x, + "input_config": info, + "received_value": val, + } + } + errors.append(error) + continue + + if isinstance(type_input, list): + if val not in type_input: + input_config = info + list_info = "" + + # Don't send back gigantic lists like if they're lots of + # scanned model filepaths + if len(type_input) > 20: + list_info = f"(list of length {len(type_input)})" + input_config = None + else: + list_info = str(type_input) + + error = { + "type": "value_not_in_list", + "message": "Value not in list", + "details": f"{x}: '{val}' not in {list_info}", + "extra_info": { + "input_name": x, + "input_config": input_config, + "received_value": val, + } + } + errors.append(error) + continue + + if len(validate_function_inputs) > 0 or validate_has_kwargs: + input_data_all, _ = get_input_data(inputs, obj_class, unique_id) + input_filtered = {} + for x in input_data_all: + if x in validate_function_inputs or validate_has_kwargs: + input_filtered[x] = input_data_all[x] + if 'input_types' in validate_function_inputs: + input_filtered['input_types'] = [received_types] + + #ret = obj_class.VALIDATE_INPUTS(**input_filtered) + ret = _map_node_over_list(obj_class, input_filtered, "VALIDATE_INPUTS") + for x in input_filtered: + for i, r in enumerate(ret): + if r is not True and not isinstance(r, ExecutionBlocker): + details = f"{x}" + if r is not False: + details += f" - {str(r)}" + + error = { + "type": "custom_validation_failed", + "message": "Custom validation failed for node", + "details": details, + "extra_info": { + "input_name": x, + } + } + errors.append(error) + continue + + if len(errors) > 0 or valid is not True: + ret = (False, errors, unique_id) + else: + ret = (True, [], unique_id) + + validated[unique_id] = ret + return ret + +def full_type_name(klass): + module = klass.__module__ + if module == 'builtins': + return klass.__qualname__ + return module + '.' + klass.__qualname__ + +def validate_prompt(prompt): + outputs = set() + for x in prompt: + if 'class_type' not in prompt[x]: + error = { + "type": "invalid_prompt", + "message": "Cannot execute because a node is missing the class_type property.", + "details": f"Node ID '#{x}'", + "extra_info": {} + } + return (False, error, [], []) + + class_type = prompt[x]['class_type'] + class_ = nodes.NODE_CLASS_MAPPINGS.get(class_type, None) + if class_ is None: + error = { + "type": "invalid_prompt", + "message": f"Cannot execute because node {class_type} does not exist.", + "details": f"Node ID '#{x}'", + "extra_info": {} + } + return (False, error, [], []) + + if hasattr(class_, 'OUTPUT_NODE') and class_.OUTPUT_NODE is True: + outputs.add(x) + + if len(outputs) == 0: + error = { + "type": "prompt_no_outputs", + "message": "Prompt has no outputs", + "details": "", + "extra_info": {} + } + return (False, error, [], []) + + good_outputs = set() + errors = [] + node_errors = {} + validated = {} + for o in outputs: + valid = False + reasons = [] + try: + m = validate_inputs(prompt, o, validated) + valid = m[0] + reasons = m[1] + except Exception as ex: + typ, _, tb = sys.exc_info() + valid = False + exception_type = full_type_name(typ) + reasons = [{ + "type": "exception_during_validation", + "message": "Exception when validating node", + "details": str(ex), + "extra_info": { + "exception_type": exception_type, + "traceback": traceback.format_tb(tb) + } + }] + validated[o] = (False, reasons, o) + + if valid is True: + good_outputs.add(o) + else: + logging.error(f"Failed to validate prompt for output {o}:") + if len(reasons) > 0: + logging.error("* (prompt):") + for reason in reasons: + logging.error(f" - {reason['message']}: {reason['details']}") + errors += [(o, reasons)] + for node_id, result in validated.items(): + valid = result[0] + reasons = result[1] + # If a node upstream has errors, the nodes downstream will also + # be reported as invalid, but there will be no errors attached. + # So don't return those nodes as having errors in the response. + if valid is not True and len(reasons) > 0: + if node_id not in node_errors: + class_type = prompt[node_id]['class_type'] + node_errors[node_id] = { + "errors": reasons, + "dependent_outputs": [], + "class_type": class_type + } + logging.error(f"* {class_type} {node_id}:") + for reason in reasons: + logging.error(f" - {reason['message']}: {reason['details']}") + node_errors[node_id]["dependent_outputs"].append(o) + logging.error("Output will be ignored") + + if len(good_outputs) == 0: + errors_list = [] + for o, errors in errors: + for error in errors: + errors_list.append(f"{error['message']}: {error['details']}") + errors_list = "\n".join(errors_list) + + error = { + "type": "prompt_outputs_failed_validation", + "message": "Prompt outputs failed validation", + "details": errors_list, + "extra_info": {} + } + + return (False, error, list(good_outputs), node_errors) + + return (True, None, list(good_outputs), node_errors) + +MAXIMUM_HISTORY_SIZE = 10000 + +class PromptQueue: + def __init__(self, server): + self.server = server + self.mutex = threading.RLock() + self.not_empty = threading.Condition(self.mutex) + self.task_counter = 0 + self.queue = [] + self.currently_running = {} + self.history = {} + self.flags = {} + server.prompt_queue = self + + def put(self, item): + with self.mutex: + heapq.heappush(self.queue, item) + self.server.queue_updated() + self.not_empty.notify() + + def get(self, timeout=None): + with self.not_empty: + while len(self.queue) == 0: + self.not_empty.wait(timeout=timeout) + if timeout is not None and len(self.queue) == 0: + return None + item = heapq.heappop(self.queue) + i = self.task_counter + self.currently_running[i] = copy.deepcopy(item) + self.task_counter += 1 + self.server.queue_updated() + return (item, i) + + class ExecutionStatus(NamedTuple): + status_str: Literal['success', 'error'] + completed: bool + messages: List[str] + + def task_done(self, item_id, history_result, + status: Optional['PromptQueue.ExecutionStatus']): + with self.mutex: + prompt = self.currently_running.pop(item_id) + if len(self.history) > MAXIMUM_HISTORY_SIZE: + self.history.pop(next(iter(self.history))) + + status_dict: Optional[dict] = None + if status is not None: + status_dict = copy.deepcopy(status._asdict()) + + self.history[prompt[1]] = { + "prompt": prompt, + "outputs": {}, + 'status': status_dict, + } + self.history[prompt[1]].update(history_result) + self.server.queue_updated() + + def get_current_queue(self): + with self.mutex: + out = [] + for x in self.currently_running.values(): + out += [x] + return (out, copy.deepcopy(self.queue)) + + def get_tasks_remaining(self): + with self.mutex: + return len(self.queue) + len(self.currently_running) + + def wipe_queue(self): + with self.mutex: + self.queue = [] + self.server.queue_updated() + + def delete_queue_item(self, function): + with self.mutex: + for x in range(len(self.queue)): + if function(self.queue[x]): + if len(self.queue) == 1: + self.wipe_queue() + else: + self.queue.pop(x) + heapq.heapify(self.queue) + self.server.queue_updated() + return True + return False + + def get_history(self, prompt_id=None, max_items=None, offset=-1): + with self.mutex: + if prompt_id is None: + out = {} + i = 0 + if offset < 0 and max_items is not None: + offset = len(self.history) - max_items + for k in self.history: + if i >= offset: + out[k] = self.history[k] + if max_items is not None and len(out) >= max_items: + break + i += 1 + return out + elif prompt_id in self.history: + return {prompt_id: copy.deepcopy(self.history[prompt_id])} + else: + return {} + + def wipe_history(self): + with self.mutex: + self.history = {} + + def delete_history_item(self, id_to_delete): + with self.mutex: + self.history.pop(id_to_delete, None) + + def set_flag(self, name, data): + with self.mutex: + self.flags[name] = data + self.not_empty.notify() + + def get_flags(self, reset=True): + with self.mutex: + if reset: + ret = self.flags + self.flags = {} + return ret + else: + return self.flags.copy() diff --git a/extra_model_paths.yaml.example b/extra_model_paths.yaml.example new file mode 100644 index 0000000000000000000000000000000000000000..b55913a5a9bcbd46b490e7f560b6632e5c780881 --- /dev/null +++ b/extra_model_paths.yaml.example @@ -0,0 +1,47 @@ +#Rename this to extra_model_paths.yaml and ComfyUI will load it + + +#config for a1111 ui +#all you have to do is change the base_path to where yours is installed +a111: + base_path: path/to/stable-diffusion-webui/ + + checkpoints: models/Stable-diffusion + configs: models/Stable-diffusion + vae: models/VAE + loras: | + models/Lora + models/LyCORIS + upscale_models: | + models/ESRGAN + models/RealESRGAN + models/SwinIR + embeddings: embeddings + hypernetworks: models/hypernetworks + controlnet: models/ControlNet + +#config for comfyui +#your base path should be either an existing comfy install or a central folder where you store all of your models, loras, etc. + +#comfyui: +# base_path: path/to/comfyui/ +# # You can use is_default to mark that these folders should be listed first, and used as the default dirs for eg downloads +# #is_default: true +# checkpoints: models/checkpoints/ +# clip: models/clip/ +# clip_vision: models/clip_vision/ +# configs: models/configs/ +# controlnet: models/controlnet/ +# diffusion_models: | +# models/diffusion_models +# models/unet +# embeddings: models/embeddings/ +# loras: models/loras/ +# upscale_models: models/upscale_models/ +# vae: models/vae/ + +#other_ui: +# base_path: path/to/ui +# checkpoints: models/checkpoints +# gligen: models/gligen +# custom_nodes: path/custom_nodes diff --git a/fix_torch.py b/fix_torch.py new file mode 100644 index 0000000000000000000000000000000000000000..ce117b6399194e93ee633973a2ecbc07c947cbc4 --- /dev/null +++ b/fix_torch.py @@ -0,0 +1,28 @@ +import importlib.util +import shutil +import os +import ctypes +import logging + + +def fix_pytorch_libomp(): + """ + Fix PyTorch libomp DLL issue on Windows by copying the correct DLL file if needed. + """ + torch_spec = importlib.util.find_spec("torch") + for folder in torch_spec.submodule_search_locations: + lib_folder = os.path.join(folder, "lib") + test_file = os.path.join(lib_folder, "fbgemm.dll") + dest = os.path.join(lib_folder, "libomp140.x86_64.dll") + if os.path.exists(dest): + break + + with open(test_file, "rb") as f: + contents = f.read() + if b"libomp140.x86_64.dll" not in contents: + break + try: + ctypes.cdll.LoadLibrary(test_file) + except FileNotFoundError: + logging.warning("Detected pytorch version with libomp issue, patching.") + shutil.copyfile(os.path.join(lib_folder, "libiomp5md.dll"), dest) diff --git a/folder_paths.py b/folder_paths.py new file mode 100644 index 0000000000000000000000000000000000000000..3542d2edf96579a160213dd334af2d344077fba6 --- /dev/null +++ b/folder_paths.py @@ -0,0 +1,385 @@ +from __future__ import annotations + +import os +import time +import mimetypes +import logging +from typing import Literal +from collections.abc import Collection + +supported_pt_extensions: set[str] = {'.ckpt', '.pt', '.bin', '.pth', '.safetensors', '.pkl', '.sft'} + +folder_names_and_paths: dict[str, tuple[list[str], set[str]]] = {} + +base_path = os.path.dirname(os.path.realpath(__file__)) +models_dir = os.path.join(base_path, "models") +folder_names_and_paths["checkpoints"] = ([os.path.join(models_dir, "checkpoints")], supported_pt_extensions) +folder_names_and_paths["configs"] = ([os.path.join(models_dir, "configs")], [".yaml"]) + +folder_names_and_paths["loras"] = ([os.path.join(models_dir, "loras")], supported_pt_extensions) +folder_names_and_paths["vae"] = ([os.path.join(models_dir, "vae")], supported_pt_extensions) +folder_names_and_paths["text_encoders"] = ([os.path.join(models_dir, "text_encoders"), os.path.join(models_dir, "clip")], supported_pt_extensions) +folder_names_and_paths["diffusion_models"] = ([os.path.join(models_dir, "unet"), os.path.join(models_dir, "diffusion_models")], supported_pt_extensions) +folder_names_and_paths["clip_vision"] = ([os.path.join(models_dir, "clip_vision")], supported_pt_extensions) +folder_names_and_paths["style_models"] = ([os.path.join(models_dir, "style_models")], supported_pt_extensions) +folder_names_and_paths["embeddings"] = ([os.path.join(models_dir, "embeddings")], supported_pt_extensions) +folder_names_and_paths["diffusers"] = ([os.path.join(models_dir, "diffusers")], ["folder"]) +folder_names_and_paths["vae_approx"] = ([os.path.join(models_dir, "vae_approx")], supported_pt_extensions) + +folder_names_and_paths["controlnet"] = ([os.path.join(models_dir, "controlnet"), os.path.join(models_dir, "t2i_adapter")], supported_pt_extensions) +folder_names_and_paths["gligen"] = ([os.path.join(models_dir, "gligen")], supported_pt_extensions) + +folder_names_and_paths["upscale_models"] = ([os.path.join(models_dir, "upscale_models")], supported_pt_extensions) + +folder_names_and_paths["custom_nodes"] = ([os.path.join(base_path, "custom_nodes")], set()) + +folder_names_and_paths["hypernetworks"] = ([os.path.join(models_dir, "hypernetworks")], supported_pt_extensions) + +folder_names_and_paths["photomaker"] = ([os.path.join(models_dir, "photomaker")], supported_pt_extensions) + +folder_names_and_paths["classifiers"] = ([os.path.join(models_dir, "classifiers")], {""}) + +output_directory = os.path.join(os.path.dirname(os.path.realpath(__file__)), "output") +temp_directory = os.path.join(os.path.dirname(os.path.realpath(__file__)), "temp") +input_directory = os.path.join(os.path.dirname(os.path.realpath(__file__)), "input") +user_directory = os.path.join(os.path.dirname(os.path.realpath(__file__)), "user") + +filename_list_cache: dict[str, tuple[list[str], dict[str, float], float]] = {} + +class CacheHelper: + """ + Helper class for managing file list cache data. + """ + def __init__(self): + self.cache: dict[str, tuple[list[str], dict[str, float], float]] = {} + self.active = False + + def get(self, key: str, default=None) -> tuple[list[str], dict[str, float], float]: + if not self.active: + return default + return self.cache.get(key, default) + + def set(self, key: str, value: tuple[list[str], dict[str, float], float]) -> None: + if self.active: + self.cache[key] = value + + def clear(self): + self.cache.clear() + + def __enter__(self): + self.active = True + return self + + def __exit__(self, exc_type, exc_value, traceback): + self.active = False + self.clear() + +cache_helper = CacheHelper() + +extension_mimetypes_cache = { + "webp" : "image", +} + +def map_legacy(folder_name: str) -> str: + legacy = {"unet": "diffusion_models", + "clip": "text_encoders"} + return legacy.get(folder_name, folder_name) + +if not os.path.exists(input_directory): + try: + os.makedirs(input_directory) + except: + logging.error("Failed to create input directory") + +def set_output_directory(output_dir: str) -> None: + global output_directory + output_directory = output_dir + +def set_temp_directory(temp_dir: str) -> None: + global temp_directory + temp_directory = temp_dir + +def set_input_directory(input_dir: str) -> None: + global input_directory + input_directory = input_dir + +def get_output_directory() -> str: + global output_directory + return output_directory + +def get_temp_directory() -> str: + global temp_directory + return temp_directory + +def get_input_directory() -> str: + global input_directory + return input_directory + +def get_user_directory() -> str: + return user_directory + +def set_user_directory(user_dir: str) -> None: + global user_directory + user_directory = user_dir + + +#NOTE: used in http server so don't put folders that should not be accessed remotely +def get_directory_by_type(type_name: str) -> str | None: + if type_name == "output": + return get_output_directory() + if type_name == "temp": + return get_temp_directory() + if type_name == "input": + return get_input_directory() + return None + +def filter_files_content_types(files: list[str], content_types: Literal["image", "video", "audio"]) -> list[str]: + """ + Example: + files = os.listdir(folder_paths.get_input_directory()) + filter_files_content_types(files, ["image", "audio", "video"]) + """ + global extension_mimetypes_cache + result = [] + for file in files: + extension = file.split('.')[-1] + if extension not in extension_mimetypes_cache: + mime_type, _ = mimetypes.guess_type(file, strict=False) + if not mime_type: + continue + content_type = mime_type.split('/')[0] + extension_mimetypes_cache[extension] = content_type + else: + content_type = extension_mimetypes_cache[extension] + + if content_type in content_types: + result.append(file) + return result + +# determine base_dir rely on annotation if name is 'filename.ext [annotation]' format +# otherwise use default_path as base_dir +def annotated_filepath(name: str) -> tuple[str, str | None]: + if name.endswith("[output]"): + base_dir = get_output_directory() + name = name[:-9] + elif name.endswith("[input]"): + base_dir = get_input_directory() + name = name[:-8] + elif name.endswith("[temp]"): + base_dir = get_temp_directory() + name = name[:-7] + else: + return name, None + + return name, base_dir + + +def get_annotated_filepath(name: str, default_dir: str | None=None) -> str: + name, base_dir = annotated_filepath(name) + + if base_dir is None: + if default_dir is not None: + base_dir = default_dir + else: + base_dir = get_input_directory() # fallback path + + return os.path.join(base_dir, name) + + +def exists_annotated_filepath(name) -> bool: + name, base_dir = annotated_filepath(name) + + if base_dir is None: + base_dir = get_input_directory() # fallback path + + filepath = os.path.join(base_dir, name) + return os.path.exists(filepath) + + +def add_model_folder_path(folder_name: str, full_folder_path: str, is_default: bool = False) -> None: + global folder_names_and_paths + folder_name = map_legacy(folder_name) + if folder_name in folder_names_and_paths: + paths, _exts = folder_names_and_paths[folder_name] + if full_folder_path in paths: + if is_default and paths[0] != full_folder_path: + # If the path to the folder is not the first in the list, move it to the beginning. + paths.remove(full_folder_path) + paths.insert(0, full_folder_path) + else: + if is_default: + paths.insert(0, full_folder_path) + else: + paths.append(full_folder_path) + else: + folder_names_and_paths[folder_name] = ([full_folder_path], set()) + +def get_folder_paths(folder_name: str) -> list[str]: + folder_name = map_legacy(folder_name) + return folder_names_and_paths[folder_name][0][:] + +def recursive_search(directory: str, excluded_dir_names: list[str] | None=None) -> tuple[list[str], dict[str, float]]: + if not os.path.isdir(directory): + return [], {} + + if excluded_dir_names is None: + excluded_dir_names = [] + + result = [] + dirs = {} + + # Attempt to add the initial directory to dirs with error handling + try: + dirs[directory] = os.path.getmtime(directory) + except FileNotFoundError: + logging.warning(f"Warning: Unable to access {directory}. Skipping this path.") + + logging.debug("recursive file list on directory {}".format(directory)) + dirpath: str + subdirs: list[str] + filenames: list[str] + + for dirpath, subdirs, filenames in os.walk(directory, followlinks=True, topdown=True): + subdirs[:] = [d for d in subdirs if d not in excluded_dir_names] + for file_name in filenames: + try: + relative_path = os.path.relpath(os.path.join(dirpath, file_name), directory) + result.append(relative_path) + except: + logging.warning(f"Warning: Unable to access {file_name}. Skipping this file.") + continue + + for d in subdirs: + path: str = os.path.join(dirpath, d) + try: + dirs[path] = os.path.getmtime(path) + except FileNotFoundError: + logging.warning(f"Warning: Unable to access {path}. Skipping this path.") + continue + logging.debug("found {} files".format(len(result))) + return result, dirs + +def filter_files_extensions(files: Collection[str], extensions: Collection[str]) -> list[str]: + return sorted(list(filter(lambda a: os.path.splitext(a)[-1].lower() in extensions or len(extensions) == 0, files))) + + + +def get_full_path(folder_name: str, filename: str) -> str | None: + global folder_names_and_paths + folder_name = map_legacy(folder_name) + if folder_name not in folder_names_and_paths: + return None + folders = folder_names_and_paths[folder_name] + filename = os.path.relpath(os.path.join("/", filename), "/") + for x in folders[0]: + full_path = os.path.join(x, filename) + if os.path.isfile(full_path): + return full_path + elif os.path.islink(full_path): + logging.warning("WARNING path {} exists but doesn't link anywhere, skipping.".format(full_path)) + + return None + + +def get_full_path_or_raise(folder_name: str, filename: str) -> str: + full_path = get_full_path(folder_name, filename) + if full_path is None: + raise FileNotFoundError(f"Model in folder '{folder_name}' with filename '{filename}' not found.") + return full_path + + +def get_filename_list_(folder_name: str) -> tuple[list[str], dict[str, float], float]: + folder_name = map_legacy(folder_name) + global folder_names_and_paths + output_list = set() + folders = folder_names_and_paths[folder_name] + output_folders = {} + for x in folders[0]: + files, folders_all = recursive_search(x, excluded_dir_names=[".git"]) + output_list.update(filter_files_extensions(files, folders[1])) + output_folders = {**output_folders, **folders_all} + + return sorted(list(output_list)), output_folders, time.perf_counter() + +def cached_filename_list_(folder_name: str) -> tuple[list[str], dict[str, float], float] | None: + strong_cache = cache_helper.get(folder_name) + if strong_cache is not None: + return strong_cache + + global filename_list_cache + global folder_names_and_paths + folder_name = map_legacy(folder_name) + if folder_name not in filename_list_cache: + return None + out = filename_list_cache[folder_name] + + for x in out[1]: + time_modified = out[1][x] + folder = x + if os.path.getmtime(folder) != time_modified: + return None + + folders = folder_names_and_paths[folder_name] + for x in folders[0]: + if os.path.isdir(x): + if x not in out[1]: + return None + + return out + +def get_filename_list(folder_name: str) -> list[str]: + folder_name = map_legacy(folder_name) + out = cached_filename_list_(folder_name) + if out is None: + out = get_filename_list_(folder_name) + global filename_list_cache + filename_list_cache[folder_name] = out + cache_helper.set(folder_name, out) + return list(out[0]) + +def get_save_image_path(filename_prefix: str, output_dir: str, image_width=0, image_height=0) -> tuple[str, str, int, str, str]: + def map_filename(filename: str) -> tuple[int, str]: + prefix_len = len(os.path.basename(filename_prefix)) + prefix = filename[:prefix_len + 1] + try: + digits = int(filename[prefix_len + 1:].split('_')[0]) + except: + digits = 0 + return digits, prefix + + def compute_vars(input: str, image_width: int, image_height: int) -> str: + input = input.replace("%width%", str(image_width)) + input = input.replace("%height%", str(image_height)) + now = time.localtime() + input = input.replace("%year%", str(now.tm_year)) + input = input.replace("%month%", str(now.tm_mon).zfill(2)) + input = input.replace("%day%", str(now.tm_mday).zfill(2)) + input = input.replace("%hour%", str(now.tm_hour).zfill(2)) + input = input.replace("%minute%", str(now.tm_min).zfill(2)) + input = input.replace("%second%", str(now.tm_sec).zfill(2)) + return input + + if "%" in filename_prefix: + filename_prefix = compute_vars(filename_prefix, image_width, image_height) + + subfolder = os.path.dirname(os.path.normpath(filename_prefix)) + filename = os.path.basename(os.path.normpath(filename_prefix)) + + full_output_folder = os.path.join(output_dir, subfolder) + + if os.path.commonpath((output_dir, os.path.abspath(full_output_folder))) != output_dir: + err = "**** ERROR: Saving image outside the output folder is not allowed." + \ + "\n full_output_folder: " + os.path.abspath(full_output_folder) + \ + "\n output_dir: " + output_dir + \ + "\n commonpath: " + os.path.commonpath((output_dir, os.path.abspath(full_output_folder))) + logging.error(err) + raise Exception(err) + + try: + counter = max(filter(lambda a: os.path.normcase(a[1][:-1]) == os.path.normcase(filename) and a[1][-1] == "_", map(map_filename, os.listdir(full_output_folder))))[0] + 1 + except ValueError: + counter = 1 + except FileNotFoundError: + os.makedirs(full_output_folder, exist_ok=True) + counter = 1 + return full_output_folder, filename, counter, subfolder, filename_prefix diff --git a/latent_preview.py b/latent_preview.py new file mode 100644 index 0000000000000000000000000000000000000000..07f9cc68e97c1be1b852c447f9c071c7650a4a86 --- /dev/null +++ b/latent_preview.py @@ -0,0 +1,105 @@ +import torch +from PIL import Image +from comfy.cli_args import args, LatentPreviewMethod +from comfy.taesd.taesd import TAESD +import comfy.model_management +import folder_paths +import comfy.utils +import logging + +MAX_PREVIEW_RESOLUTION = args.preview_size + +def preview_to_image(latent_image): + latents_ubyte = (((latent_image + 1.0) / 2.0).clamp(0, 1) # change scale from -1..1 to 0..1 + .mul(0xFF) # to 0..255 + ).to(device="cpu", dtype=torch.uint8, non_blocking=comfy.model_management.device_supports_non_blocking(latent_image.device)) + + return Image.fromarray(latents_ubyte.numpy()) + +class LatentPreviewer: + def decode_latent_to_preview(self, x0): + pass + + def decode_latent_to_preview_image(self, preview_format, x0): + preview_image = self.decode_latent_to_preview(x0) + return ("JPEG", preview_image, MAX_PREVIEW_RESOLUTION) + +class TAESDPreviewerImpl(LatentPreviewer): + def __init__(self, taesd): + self.taesd = taesd + + def decode_latent_to_preview(self, x0): + x_sample = self.taesd.decode(x0[:1])[0].movedim(0, 2) + return preview_to_image(x_sample) + + +class Latent2RGBPreviewer(LatentPreviewer): + def __init__(self, latent_rgb_factors, latent_rgb_factors_bias=None): + self.latent_rgb_factors = torch.tensor(latent_rgb_factors, device="cpu").transpose(0, 1) + self.latent_rgb_factors_bias = None + if latent_rgb_factors_bias is not None: + self.latent_rgb_factors_bias = torch.tensor(latent_rgb_factors_bias, device="cpu") + + def decode_latent_to_preview(self, x0): + self.latent_rgb_factors = self.latent_rgb_factors.to(dtype=x0.dtype, device=x0.device) + if self.latent_rgb_factors_bias is not None: + self.latent_rgb_factors_bias = self.latent_rgb_factors_bias.to(dtype=x0.dtype, device=x0.device) + + if x0.ndim == 5: + x0 = x0[0, :, 0] + else: + x0 = x0[0] + + latent_image = torch.nn.functional.linear(x0.movedim(0, -1), self.latent_rgb_factors, bias=self.latent_rgb_factors_bias) + # latent_image = x0[0].permute(1, 2, 0) @ self.latent_rgb_factors + + return preview_to_image(latent_image) + + +def get_previewer(device, latent_format): + previewer = None + method = args.preview_method + if method != LatentPreviewMethod.NoPreviews: + # TODO previewer methods + taesd_decoder_path = None + if latent_format.taesd_decoder_name is not None: + taesd_decoder_path = next( + (fn for fn in folder_paths.get_filename_list("vae_approx") + if fn.startswith(latent_format.taesd_decoder_name)), + "" + ) + taesd_decoder_path = folder_paths.get_full_path("vae_approx", taesd_decoder_path) + + if method == LatentPreviewMethod.Auto: + method = LatentPreviewMethod.Latent2RGB + + if method == LatentPreviewMethod.TAESD: + if taesd_decoder_path: + taesd = TAESD(None, taesd_decoder_path, latent_channels=latent_format.latent_channels).to(device) + previewer = TAESDPreviewerImpl(taesd) + else: + logging.warning("Warning: TAESD previews enabled, but could not find models/vae_approx/{}".format(latent_format.taesd_decoder_name)) + + if previewer is None: + if latent_format.latent_rgb_factors is not None: + previewer = Latent2RGBPreviewer(latent_format.latent_rgb_factors, latent_format.latent_rgb_factors_bias) + return previewer + +def prepare_callback(model, steps, x0_output_dict=None): + preview_format = "JPEG" + if preview_format not in ["JPEG", "PNG"]: + preview_format = "JPEG" + + previewer = get_previewer(model.load_device, model.model.latent_format) + + pbar = comfy.utils.ProgressBar(steps) + def callback(step, x0, x, total_steps): + if x0_output_dict is not None: + x0_output_dict["x0"] = x0 + + preview_bytes = None + if previewer: + preview_bytes = previewer.decode_latent_to_preview_image(preview_format, x0) + pbar.update_absolute(step + 1, total_steps, preview_bytes) + return callback + diff --git a/main.py b/main.py new file mode 100644 index 0000000000000000000000000000000000000000..c5c9f4e09cadd14d91e5377a179e787a7ef41d30 --- /dev/null +++ b/main.py @@ -0,0 +1,301 @@ +import comfy.options +comfy.options.enable_args_parsing() + +import os +import importlib.util +import folder_paths +import time +from comfy.cli_args import args +from app.logger import setup_logger +import itertools +import utils.extra_config +import logging + +if __name__ == "__main__": + #NOTE: These do not do anything on core ComfyUI which should already have no communication with the internet, they are for custom nodes. + os.environ['HF_HUB_DISABLE_TELEMETRY'] = '1' + os.environ['DO_NOT_TRACK'] = '1' + + +setup_logger(log_level=args.verbose, use_stdout=args.log_stdout) + +def apply_custom_paths(): + # extra model paths + extra_model_paths_config_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "extra_model_paths.yaml") + if os.path.isfile(extra_model_paths_config_path): + utils.extra_config.load_extra_path_config(extra_model_paths_config_path) + + if args.extra_model_paths_config: + for config_path in itertools.chain(*args.extra_model_paths_config): + utils.extra_config.load_extra_path_config(config_path) + + # --output-directory, --input-directory, --user-directory + if args.output_directory: + output_dir = os.path.abspath(args.output_directory) + logging.info(f"Setting output directory to: {output_dir}") + folder_paths.set_output_directory(output_dir) + + # These are the default folders that checkpoints, clip and vae models will be saved to when using CheckpointSave, etc.. nodes + folder_paths.add_model_folder_path("checkpoints", os.path.join(folder_paths.get_output_directory(), "checkpoints")) + folder_paths.add_model_folder_path("clip", os.path.join(folder_paths.get_output_directory(), "clip")) + folder_paths.add_model_folder_path("vae", os.path.join(folder_paths.get_output_directory(), "vae")) + folder_paths.add_model_folder_path("diffusion_models", + os.path.join(folder_paths.get_output_directory(), "diffusion_models")) + folder_paths.add_model_folder_path("loras", os.path.join(folder_paths.get_output_directory(), "loras")) + + if args.input_directory: + input_dir = os.path.abspath(args.input_directory) + logging.info(f"Setting input directory to: {input_dir}") + folder_paths.set_input_directory(input_dir) + + if args.user_directory: + user_dir = os.path.abspath(args.user_directory) + logging.info(f"Setting user directory to: {user_dir}") + folder_paths.set_user_directory(user_dir) + + +def execute_prestartup_script(): + def execute_script(script_path): + module_name = os.path.splitext(script_path)[0] + try: + spec = importlib.util.spec_from_file_location(module_name, script_path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return True + except Exception as e: + logging.error(f"Failed to execute startup-script: {script_path} / {e}") + return False + + if args.disable_all_custom_nodes: + return + + node_paths = folder_paths.get_folder_paths("custom_nodes") + for custom_node_path in node_paths: + possible_modules = os.listdir(custom_node_path) + node_prestartup_times = [] + + for possible_module in possible_modules: + module_path = os.path.join(custom_node_path, possible_module) + if os.path.isfile(module_path) or module_path.endswith(".disabled") or module_path == "__pycache__": + continue + + script_path = os.path.join(module_path, "prestartup_script.py") + if os.path.exists(script_path): + time_before = time.perf_counter() + success = execute_script(script_path) + node_prestartup_times.append((time.perf_counter() - time_before, module_path, success)) + if len(node_prestartup_times) > 0: + logging.info("\nPrestartup times for custom nodes:") + for n in sorted(node_prestartup_times): + if n[2]: + import_message = "" + else: + import_message = " (PRESTARTUP FAILED)" + logging.info("{:6.1f} seconds{}: {}".format(n[0], import_message, n[1])) + logging.info("") + +apply_custom_paths() +execute_prestartup_script() + + +# Main code +import asyncio +import shutil +import threading +import gc + + +if os.name == "nt": + logging.getLogger("xformers").addFilter(lambda record: 'A matching Triton is not available' not in record.getMessage()) + +if __name__ == "__main__": + if args.cuda_device is not None: + os.environ['CUDA_VISIBLE_DEVICES'] = str(args.cuda_device) + os.environ['HIP_VISIBLE_DEVICES'] = str(args.cuda_device) + logging.info("Set cuda device to: {}".format(args.cuda_device)) + + if args.oneapi_device_selector is not None: + os.environ['ONEAPI_DEVICE_SELECTOR'] = args.oneapi_device_selector + logging.info("Set oneapi device selector to: {}".format(args.oneapi_device_selector)) + + if args.deterministic: + if 'CUBLAS_WORKSPACE_CONFIG' not in os.environ: + os.environ['CUBLAS_WORKSPACE_CONFIG'] = ":4096:8" + + import cuda_malloc + +if args.windows_standalone_build: + try: + from fix_torch import fix_pytorch_libomp + fix_pytorch_libomp() + except: + pass + +import comfy.utils + +import execution +import server +from server import BinaryEventTypes +import nodes +import comfy.model_management + +def cuda_malloc_warning(): + device = comfy.model_management.get_torch_device() + device_name = comfy.model_management.get_torch_device_name(device) + cuda_malloc_warning = False + if "cudaMallocAsync" in device_name: + for b in cuda_malloc.blacklist: + if b in device_name: + cuda_malloc_warning = True + if cuda_malloc_warning: + logging.warning("\nWARNING: this card most likely does not support cuda-malloc, if you get \"CUDA error\" please run ComfyUI with: --disable-cuda-malloc\n") + + +def prompt_worker(q, server_instance): + current_time: float = 0.0 + e = execution.PromptExecutor(server_instance, lru_size=args.cache_lru) + last_gc_collect = 0 + need_gc = False + gc_collect_interval = 10.0 + + while True: + timeout = 1000.0 + if need_gc: + timeout = max(gc_collect_interval - (current_time - last_gc_collect), 0.0) + + queue_item = q.get(timeout=timeout) + if queue_item is not None: + item, item_id = queue_item + execution_start_time = time.perf_counter() + prompt_id = item[1] + server_instance.last_prompt_id = prompt_id + + e.execute(item[2], prompt_id, item[3], item[4]) + need_gc = True + q.task_done(item_id, + e.history_result, + status=execution.PromptQueue.ExecutionStatus( + status_str='success' if e.success else 'error', + completed=e.success, + messages=e.status_messages)) + if server_instance.client_id is not None: + server_instance.send_sync("executing", {"node": None, "prompt_id": prompt_id}, server_instance.client_id) + + current_time = time.perf_counter() + execution_time = current_time - execution_start_time + logging.info("Prompt executed in {:.2f} seconds".format(execution_time)) + + flags = q.get_flags() + free_memory = flags.get("free_memory", False) + + if flags.get("unload_models", free_memory): + comfy.model_management.unload_all_models() + need_gc = True + last_gc_collect = 0 + + if free_memory: + e.reset() + need_gc = True + last_gc_collect = 0 + + if need_gc: + current_time = time.perf_counter() + if (current_time - last_gc_collect) > gc_collect_interval: + gc.collect() + comfy.model_management.soft_empty_cache() + last_gc_collect = current_time + need_gc = False + + +async def run(server_instance, address='', port=8188, verbose=True, call_on_start=None): + addresses = [] + for addr in address.split(","): + addresses.append((addr, port)) + await asyncio.gather( + server_instance.start_multi_address(addresses, call_on_start, verbose), server_instance.publish_loop() + ) + + +def hijack_progress(server_instance): + def hook(value, total, preview_image): + comfy.model_management.throw_exception_if_processing_interrupted() + progress = {"value": value, "max": total, "prompt_id": server_instance.last_prompt_id, "node": server_instance.last_node_id} + + server_instance.send_sync("progress", progress, server_instance.client_id) + if preview_image is not None: + server_instance.send_sync(BinaryEventTypes.UNENCODED_PREVIEW_IMAGE, preview_image, server_instance.client_id) + + comfy.utils.set_progress_bar_global_hook(hook) + + +def cleanup_temp(): + temp_dir = folder_paths.get_temp_directory() + if os.path.exists(temp_dir): + shutil.rmtree(temp_dir, ignore_errors=True) + + +def start_comfyui(asyncio_loop=None): + """ + Starts the ComfyUI server using the provided asyncio event loop or creates a new one. + Returns the event loop, server instance, and a function to start the server asynchronously. + """ + if args.temp_directory: + temp_dir = os.path.join(os.path.abspath(args.temp_directory), "temp") + logging.info(f"Setting temp directory to: {temp_dir}") + folder_paths.set_temp_directory(temp_dir) + cleanup_temp() + + if args.windows_standalone_build: + try: + import new_updater + new_updater.update_windows_updater() + except: + pass + + if not asyncio_loop: + asyncio_loop = asyncio.new_event_loop() + asyncio.set_event_loop(asyncio_loop) + prompt_server = server.PromptServer(asyncio_loop) + q = execution.PromptQueue(prompt_server) + + nodes.init_extra_nodes(init_custom_nodes=not args.disable_all_custom_nodes) + + cuda_malloc_warning() + + prompt_server.add_routes() + hijack_progress(prompt_server) + + threading.Thread(target=prompt_worker, daemon=True, args=(q, prompt_server,)).start() + + if args.quick_test_for_ci: + exit(0) + + os.makedirs(folder_paths.get_temp_directory(), exist_ok=True) + call_on_start = None + if args.auto_launch: + def startup_server(scheme, address, port): + import webbrowser + if os.name == 'nt' and address == '0.0.0.0': + address = '127.0.0.1' + if ':' in address: + address = "[{}]".format(address) + webbrowser.open(f"{scheme}://{address}:{port}") + call_on_start = startup_server + + async def start_all(): + await prompt_server.setup() + await run(prompt_server, address=args.listen, port=args.port, verbose=not args.dont_print_server, call_on_start=call_on_start) + + # Returning these so that other code can integrate with the ComfyUI loop and server + return asyncio_loop, prompt_server, start_all + + +if __name__ == "__main__": + # Running directly, just start ComfyUI. + event_loop, _, start_all_func = start_comfyui() + try: + event_loop.run_until_complete(start_all_func()) + except KeyboardInterrupt: + logging.info("\nStopped server") + + cleanup_temp() diff --git a/new_updater.py b/new_updater.py new file mode 100644 index 0000000000000000000000000000000000000000..9a203acdd71f62b3b1122cb879c75344f5859c5d --- /dev/null +++ b/new_updater.py @@ -0,0 +1,35 @@ +import os +import shutil + +base_path = os.path.dirname(os.path.realpath(__file__)) + + +def update_windows_updater(): + top_path = os.path.dirname(base_path) + updater_path = os.path.join(base_path, ".ci/update_windows/update.py") + bat_path = os.path.join(base_path, ".ci/update_windows/update_comfyui.bat") + + dest_updater_path = os.path.join(top_path, "update/update.py") + dest_bat_path = os.path.join(top_path, "update/update_comfyui.bat") + dest_bat_deps_path = os.path.join(top_path, "update/update_comfyui_and_python_dependencies.bat") + + try: + with open(dest_bat_path, 'rb') as f: + contents = f.read() + except: + return + + if not contents.startswith(b"..\\python_embeded\\python.exe .\\update.py"): + return + + shutil.copy(updater_path, dest_updater_path) + try: + with open(dest_bat_deps_path, 'rb') as f: + contents = f.read() + contents = contents.replace(b'..\\python_embeded\\python.exe .\\update.py ..\\ComfyUI\\', b'call update_comfyui.bat nopause') + with open(dest_bat_deps_path, 'wb') as f: + f.write(contents) + except: + pass + shutil.copy(bat_path, dest_bat_path) + print("Updated the windows standalone package updater.") # noqa: T201 diff --git a/node_helpers.py b/node_helpers.py new file mode 100644 index 0000000000000000000000000000000000000000..4b38bfff809900c81e274d506c25648d842fc8a3 --- /dev/null +++ b/node_helpers.py @@ -0,0 +1,37 @@ +import hashlib + +from comfy.cli_args import args + +from PIL import ImageFile, UnidentifiedImageError + +def conditioning_set_values(conditioning, values={}): + c = [] + for t in conditioning: + n = [t[0], t[1].copy()] + for k in values: + n[1][k] = values[k] + c.append(n) + + return c + +def pillow(fn, arg): + prev_value = None + try: + x = fn(arg) + except (OSError, UnidentifiedImageError, ValueError): #PIL issues #4472 and #2445, also fixes ComfyUI issue #3416 + prev_value = ImageFile.LOAD_TRUNCATED_IMAGES + ImageFile.LOAD_TRUNCATED_IMAGES = True + x = fn(arg) + finally: + if prev_value is not None: + ImageFile.LOAD_TRUNCATED_IMAGES = prev_value + return x + +def hasher(): + hashfuncs = { + "md5": hashlib.md5, + "sha1": hashlib.sha1, + "sha256": hashlib.sha256, + "sha512": hashlib.sha512 + } + return hashfuncs[args.default_hashing_function] diff --git a/nodes.py b/nodes.py new file mode 100644 index 0000000000000000000000000000000000000000..cfd7dd8a453243c158d5dae3c567b147dc83131c --- /dev/null +++ b/nodes.py @@ -0,0 +1,2258 @@ +from __future__ import annotations +import torch + +import os +import sys +import json +import hashlib +import traceback +import math +import time +import random +import logging + +from PIL import Image, ImageOps, ImageSequence +from PIL.PngImagePlugin import PngInfo + +import numpy as np +import safetensors.torch + +sys.path.insert(0, os.path.join(os.path.dirname(os.path.realpath(__file__)), "comfy")) + +import comfy.diffusers_load +import comfy.samplers +import comfy.sample +import comfy.sd +import comfy.utils +import comfy.controlnet +from comfy.comfy_types import IO, ComfyNodeABC, InputTypeDict + +import comfy.clip_vision + +import comfy.model_management +from comfy.cli_args import args + +import importlib + +import folder_paths +import latent_preview +import node_helpers + +def before_node_execution(): + comfy.model_management.throw_exception_if_processing_interrupted() + +def interrupt_processing(value=True): + comfy.model_management.interrupt_current_processing(value) + +MAX_RESOLUTION=16384 + +class CLIPTextEncode(ComfyNodeABC): + @classmethod + def INPUT_TYPES(s) -> InputTypeDict: + return { + "required": { + "text": (IO.STRING, {"multiline": True, "dynamicPrompts": True, "tooltip": "The text to be encoded."}), + "clip": (IO.CLIP, {"tooltip": "The CLIP model used for encoding the text."}) + } + } + RETURN_TYPES = (IO.CONDITIONING,) + OUTPUT_TOOLTIPS = ("A conditioning containing the embedded text used to guide the diffusion model.",) + FUNCTION = "encode" + + CATEGORY = "conditioning" + DESCRIPTION = "Encodes a text prompt using a CLIP model into an embedding that can be used to guide the diffusion model towards generating specific images." + + def encode(self, clip, text): + tokens = clip.tokenize(text) + return (clip.encode_from_tokens_scheduled(tokens), ) + + +class ConditioningCombine: + @classmethod + def INPUT_TYPES(s): + return {"required": {"conditioning_1": ("CONDITIONING", ), "conditioning_2": ("CONDITIONING", )}} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "combine" + + CATEGORY = "conditioning" + + def combine(self, conditioning_1, conditioning_2): + return (conditioning_1 + conditioning_2, ) + +class ConditioningAverage : + @classmethod + def INPUT_TYPES(s): + return {"required": {"conditioning_to": ("CONDITIONING", ), "conditioning_from": ("CONDITIONING", ), + "conditioning_to_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "addWeighted" + + CATEGORY = "conditioning" + + def addWeighted(self, conditioning_to, conditioning_from, conditioning_to_strength): + out = [] + + if len(conditioning_from) > 1: + logging.warning("Warning: ConditioningAverage conditioning_from contains more than 1 cond, only the first one will actually be applied to conditioning_to.") + + cond_from = conditioning_from[0][0] + pooled_output_from = conditioning_from[0][1].get("pooled_output", None) + + for i in range(len(conditioning_to)): + t1 = conditioning_to[i][0] + pooled_output_to = conditioning_to[i][1].get("pooled_output", pooled_output_from) + t0 = cond_from[:,:t1.shape[1]] + if t0.shape[1] < t1.shape[1]: + t0 = torch.cat([t0] + [torch.zeros((1, (t1.shape[1] - t0.shape[1]), t1.shape[2]))], dim=1) + + tw = torch.mul(t1, conditioning_to_strength) + torch.mul(t0, (1.0 - conditioning_to_strength)) + t_to = conditioning_to[i][1].copy() + if pooled_output_from is not None and pooled_output_to is not None: + t_to["pooled_output"] = torch.mul(pooled_output_to, conditioning_to_strength) + torch.mul(pooled_output_from, (1.0 - conditioning_to_strength)) + elif pooled_output_from is not None: + t_to["pooled_output"] = pooled_output_from + + n = [tw, t_to] + out.append(n) + return (out, ) + +class ConditioningConcat: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "conditioning_to": ("CONDITIONING",), + "conditioning_from": ("CONDITIONING",), + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "concat" + + CATEGORY = "conditioning" + + def concat(self, conditioning_to, conditioning_from): + out = [] + + if len(conditioning_from) > 1: + logging.warning("Warning: ConditioningConcat conditioning_from contains more than 1 cond, only the first one will actually be applied to conditioning_to.") + + cond_from = conditioning_from[0][0] + + for i in range(len(conditioning_to)): + t1 = conditioning_to[i][0] + tw = torch.cat((t1, cond_from),1) + n = [tw, conditioning_to[i][1].copy()] + out.append(n) + + return (out, ) + +class ConditioningSetArea: + @classmethod + def INPUT_TYPES(s): + return {"required": {"conditioning": ("CONDITIONING", ), + "width": ("INT", {"default": 64, "min": 64, "max": MAX_RESOLUTION, "step": 8}), + "height": ("INT", {"default": 64, "min": 64, "max": MAX_RESOLUTION, "step": 8}), + "x": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + "y": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "append" + + CATEGORY = "conditioning" + + def append(self, conditioning, width, height, x, y, strength): + c = node_helpers.conditioning_set_values(conditioning, {"area": (height // 8, width // 8, y // 8, x // 8), + "strength": strength, + "set_area_to_bounds": False}) + return (c, ) + +class ConditioningSetAreaPercentage: + @classmethod + def INPUT_TYPES(s): + return {"required": {"conditioning": ("CONDITIONING", ), + "width": ("FLOAT", {"default": 1.0, "min": 0, "max": 1.0, "step": 0.01}), + "height": ("FLOAT", {"default": 1.0, "min": 0, "max": 1.0, "step": 0.01}), + "x": ("FLOAT", {"default": 0, "min": 0, "max": 1.0, "step": 0.01}), + "y": ("FLOAT", {"default": 0, "min": 0, "max": 1.0, "step": 0.01}), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "append" + + CATEGORY = "conditioning" + + def append(self, conditioning, width, height, x, y, strength): + c = node_helpers.conditioning_set_values(conditioning, {"area": ("percentage", height, width, y, x), + "strength": strength, + "set_area_to_bounds": False}) + return (c, ) + +class ConditioningSetAreaStrength: + @classmethod + def INPUT_TYPES(s): + return {"required": {"conditioning": ("CONDITIONING", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "append" + + CATEGORY = "conditioning" + + def append(self, conditioning, strength): + c = node_helpers.conditioning_set_values(conditioning, {"strength": strength}) + return (c, ) + + +class ConditioningSetMask: + @classmethod + def INPUT_TYPES(s): + return {"required": {"conditioning": ("CONDITIONING", ), + "mask": ("MASK", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "set_cond_area": (["default", "mask bounds"],), + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "append" + + CATEGORY = "conditioning" + + def append(self, conditioning, mask, set_cond_area, strength): + set_area_to_bounds = False + if set_cond_area != "default": + set_area_to_bounds = True + if len(mask.shape) < 3: + mask = mask.unsqueeze(0) + + c = node_helpers.conditioning_set_values(conditioning, {"mask": mask, + "set_area_to_bounds": set_area_to_bounds, + "mask_strength": strength}) + return (c, ) + +class ConditioningZeroOut: + @classmethod + def INPUT_TYPES(s): + return {"required": {"conditioning": ("CONDITIONING", )}} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "zero_out" + + CATEGORY = "advanced/conditioning" + + def zero_out(self, conditioning): + c = [] + for t in conditioning: + d = t[1].copy() + pooled_output = d.get("pooled_output", None) + if pooled_output is not None: + d["pooled_output"] = torch.zeros_like(pooled_output) + n = [torch.zeros_like(t[0]), d] + c.append(n) + return (c, ) + +class ConditioningSetTimestepRange: + @classmethod + def INPUT_TYPES(s): + return {"required": {"conditioning": ("CONDITIONING", ), + "start": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "end": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001}) + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "set_range" + + CATEGORY = "advanced/conditioning" + + def set_range(self, conditioning, start, end): + c = node_helpers.conditioning_set_values(conditioning, {"start_percent": start, + "end_percent": end}) + return (c, ) + +class VAEDecode: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "samples": ("LATENT", {"tooltip": "The latent to be decoded."}), + "vae": ("VAE", {"tooltip": "The VAE model used for decoding the latent."}) + } + } + RETURN_TYPES = ("IMAGE",) + OUTPUT_TOOLTIPS = ("The decoded image.",) + FUNCTION = "decode" + + CATEGORY = "latent" + DESCRIPTION = "Decodes latent images back into pixel space images." + + def decode(self, vae, samples): + images = vae.decode(samples["samples"]) + if len(images.shape) == 5: #Combine batches + images = images.reshape(-1, images.shape[-3], images.shape[-2], images.shape[-1]) + return (images, ) + +class VAEDecodeTiled: + @classmethod + def INPUT_TYPES(s): + return {"required": {"samples": ("LATENT", ), "vae": ("VAE", ), + "tile_size": ("INT", {"default": 512, "min": 64, "max": 4096, "step": 32}), + "overlap": ("INT", {"default": 64, "min": 0, "max": 4096, "step": 32}), + "temporal_size": ("INT", {"default": 64, "min": 8, "max": 4096, "step": 4, "tooltip": "Only used for video VAEs: Amount of frames to decode at a time."}), + "temporal_overlap": ("INT", {"default": 8, "min": 4, "max": 4096, "step": 4, "tooltip": "Only used for video VAEs: Amount of frames to overlap."}), + }} + RETURN_TYPES = ("IMAGE",) + FUNCTION = "decode" + + CATEGORY = "_for_testing" + + def decode(self, vae, samples, tile_size, overlap=64, temporal_size=64, temporal_overlap=8): + if tile_size < overlap * 4: + overlap = tile_size // 4 + if temporal_size < temporal_overlap * 2: + temporal_overlap = temporal_overlap // 2 + temporal_compression = vae.temporal_compression_decode() + if temporal_compression is not None: + temporal_size = max(2, temporal_size // temporal_compression) + temporal_overlap = max(1, min(temporal_size // 2, temporal_overlap // temporal_compression)) + else: + temporal_size = None + temporal_overlap = None + + compression = vae.spacial_compression_decode() + images = vae.decode_tiled(samples["samples"], tile_x=tile_size // compression, tile_y=tile_size // compression, overlap=overlap // compression, tile_t=temporal_size, overlap_t=temporal_overlap) + if len(images.shape) == 5: #Combine batches + images = images.reshape(-1, images.shape[-3], images.shape[-2], images.shape[-1]) + return (images, ) + +class VAEEncode: + @classmethod + def INPUT_TYPES(s): + return {"required": { "pixels": ("IMAGE", ), "vae": ("VAE", )}} + RETURN_TYPES = ("LATENT",) + FUNCTION = "encode" + + CATEGORY = "latent" + + def encode(self, vae, pixels): + t = vae.encode(pixels[:,:,:,:3]) + return ({"samples":t}, ) + +class VAEEncodeTiled: + @classmethod + def INPUT_TYPES(s): + return {"required": {"pixels": ("IMAGE", ), "vae": ("VAE", ), + "tile_size": ("INT", {"default": 512, "min": 64, "max": 4096, "step": 64}), + "overlap": ("INT", {"default": 64, "min": 0, "max": 4096, "step": 32}), + "temporal_size": ("INT", {"default": 64, "min": 8, "max": 4096, "step": 4, "tooltip": "Only used for video VAEs: Amount of frames to encode at a time."}), + "temporal_overlap": ("INT", {"default": 8, "min": 4, "max": 4096, "step": 4, "tooltip": "Only used for video VAEs: Amount of frames to overlap."}), + }} + RETURN_TYPES = ("LATENT",) + FUNCTION = "encode" + + CATEGORY = "_for_testing" + + def encode(self, vae, pixels, tile_size, overlap, temporal_size=64, temporal_overlap=8): + t = vae.encode_tiled(pixels[:,:,:,:3], tile_x=tile_size, tile_y=tile_size, overlap=overlap, tile_t=temporal_size, overlap_t=temporal_overlap) + return ({"samples": t}, ) + +class VAEEncodeForInpaint: + @classmethod + def INPUT_TYPES(s): + return {"required": { "pixels": ("IMAGE", ), "vae": ("VAE", ), "mask": ("MASK", ), "grow_mask_by": ("INT", {"default": 6, "min": 0, "max": 64, "step": 1}),}} + RETURN_TYPES = ("LATENT",) + FUNCTION = "encode" + + CATEGORY = "latent/inpaint" + + def encode(self, vae, pixels, mask, grow_mask_by=6): + x = (pixels.shape[1] // vae.downscale_ratio) * vae.downscale_ratio + y = (pixels.shape[2] // vae.downscale_ratio) * vae.downscale_ratio + mask = torch.nn.functional.interpolate(mask.reshape((-1, 1, mask.shape[-2], mask.shape[-1])), size=(pixels.shape[1], pixels.shape[2]), mode="bilinear") + + pixels = pixels.clone() + if pixels.shape[1] != x or pixels.shape[2] != y: + x_offset = (pixels.shape[1] % vae.downscale_ratio) // 2 + y_offset = (pixels.shape[2] % vae.downscale_ratio) // 2 + pixels = pixels[:,x_offset:x + x_offset, y_offset:y + y_offset,:] + mask = mask[:,:,x_offset:x + x_offset, y_offset:y + y_offset] + + #grow mask by a few pixels to keep things seamless in latent space + if grow_mask_by == 0: + mask_erosion = mask + else: + kernel_tensor = torch.ones((1, 1, grow_mask_by, grow_mask_by)) + padding = math.ceil((grow_mask_by - 1) / 2) + + mask_erosion = torch.clamp(torch.nn.functional.conv2d(mask.round(), kernel_tensor, padding=padding), 0, 1) + + m = (1.0 - mask.round()).squeeze(1) + for i in range(3): + pixels[:,:,:,i] -= 0.5 + pixels[:,:,:,i] *= m + pixels[:,:,:,i] += 0.5 + t = vae.encode(pixels) + + return ({"samples":t, "noise_mask": (mask_erosion[:,:,:x,:y].round())}, ) + + +class InpaintModelConditioning: + @classmethod + def INPUT_TYPES(s): + return {"required": {"positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "vae": ("VAE", ), + "pixels": ("IMAGE", ), + "mask": ("MASK", ), + "noise_mask": ("BOOLEAN", {"default": True, "tooltip": "Add a noise mask to the latent so sampling will only happen within the mask. Might improve results or completely break things depending on the model."}), + }} + + RETURN_TYPES = ("CONDITIONING","CONDITIONING","LATENT") + RETURN_NAMES = ("positive", "negative", "latent") + FUNCTION = "encode" + + CATEGORY = "conditioning/inpaint" + + def encode(self, positive, negative, pixels, vae, mask, noise_mask=True): + x = (pixels.shape[1] // 8) * 8 + y = (pixels.shape[2] // 8) * 8 + mask = torch.nn.functional.interpolate(mask.reshape((-1, 1, mask.shape[-2], mask.shape[-1])), size=(pixels.shape[1], pixels.shape[2]), mode="bilinear") + + orig_pixels = pixels + pixels = orig_pixels.clone() + if pixels.shape[1] != x or pixels.shape[2] != y: + x_offset = (pixels.shape[1] % 8) // 2 + y_offset = (pixels.shape[2] % 8) // 2 + pixels = pixels[:,x_offset:x + x_offset, y_offset:y + y_offset,:] + mask = mask[:,:,x_offset:x + x_offset, y_offset:y + y_offset] + + m = (1.0 - mask.round()).squeeze(1) + for i in range(3): + pixels[:,:,:,i] -= 0.5 + pixels[:,:,:,i] *= m + pixels[:,:,:,i] += 0.5 + concat_latent = vae.encode(pixels) + orig_latent = vae.encode(orig_pixels) + + out_latent = {} + + out_latent["samples"] = orig_latent + if noise_mask: + out_latent["noise_mask"] = mask + + out = [] + for conditioning in [positive, negative]: + c = node_helpers.conditioning_set_values(conditioning, {"concat_latent_image": concat_latent, + "concat_mask": mask}) + out.append(c) + return (out[0], out[1], out_latent) + + +class SaveLatent: + def __init__(self): + self.output_dir = folder_paths.get_output_directory() + + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples": ("LATENT", ), + "filename_prefix": ("STRING", {"default": "latents/ComfyUI"})}, + "hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"}, + } + RETURN_TYPES = () + FUNCTION = "save" + + OUTPUT_NODE = True + + CATEGORY = "_for_testing" + + def save(self, samples, filename_prefix="ComfyUI", prompt=None, extra_pnginfo=None): + full_output_folder, filename, counter, subfolder, filename_prefix = folder_paths.get_save_image_path(filename_prefix, self.output_dir) + + # support save metadata for latent sharing + prompt_info = "" + if prompt is not None: + prompt_info = json.dumps(prompt) + + metadata = None + if not args.disable_metadata: + metadata = {"prompt": prompt_info} + if extra_pnginfo is not None: + for x in extra_pnginfo: + metadata[x] = json.dumps(extra_pnginfo[x]) + + file = f"{filename}_{counter:05}_.latent" + + results = list() + results.append({ + "filename": file, + "subfolder": subfolder, + "type": "output" + }) + + file = os.path.join(full_output_folder, file) + + output = {} + output["latent_tensor"] = samples["samples"] + output["latent_format_version_0"] = torch.tensor([]) + + comfy.utils.save_torch_file(output, file, metadata=metadata) + return { "ui": { "latents": results } } + + +class LoadLatent: + @classmethod + def INPUT_TYPES(s): + input_dir = folder_paths.get_input_directory() + files = [f for f in os.listdir(input_dir) if os.path.isfile(os.path.join(input_dir, f)) and f.endswith(".latent")] + return {"required": {"latent": [sorted(files), ]}, } + + CATEGORY = "_for_testing" + + RETURN_TYPES = ("LATENT", ) + FUNCTION = "load" + + def load(self, latent): + latent_path = folder_paths.get_annotated_filepath(latent) + latent = safetensors.torch.load_file(latent_path, device="cpu") + multiplier = 1.0 + if "latent_format_version_0" not in latent: + multiplier = 1.0 / 0.18215 + samples = {"samples": latent["latent_tensor"].float() * multiplier} + return (samples, ) + + @classmethod + def IS_CHANGED(s, latent): + image_path = folder_paths.get_annotated_filepath(latent) + m = hashlib.sha256() + with open(image_path, 'rb') as f: + m.update(f.read()) + return m.digest().hex() + + @classmethod + def VALIDATE_INPUTS(s, latent): + if not folder_paths.exists_annotated_filepath(latent): + return "Invalid latent file: {}".format(latent) + return True + + +class CheckpointLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "config_name": (folder_paths.get_filename_list("configs"), ), + "ckpt_name": (folder_paths.get_filename_list("checkpoints"), )}} + RETURN_TYPES = ("MODEL", "CLIP", "VAE") + FUNCTION = "load_checkpoint" + + CATEGORY = "advanced/loaders" + DEPRECATED = True + + def load_checkpoint(self, config_name, ckpt_name): + config_path = folder_paths.get_full_path("configs", config_name) + ckpt_path = folder_paths.get_full_path_or_raise("checkpoints", ckpt_name) + return comfy.sd.load_checkpoint(config_path, ckpt_path, output_vae=True, output_clip=True, embedding_directory=folder_paths.get_folder_paths("embeddings")) + +class CheckpointLoaderSimple: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "ckpt_name": (folder_paths.get_filename_list("checkpoints"), {"tooltip": "The name of the checkpoint (model) to load."}), + } + } + RETURN_TYPES = ("MODEL", "CLIP", "VAE") + OUTPUT_TOOLTIPS = ("The model used for denoising latents.", + "The CLIP model used for encoding text prompts.", + "The VAE model used for encoding and decoding images to and from latent space.") + FUNCTION = "load_checkpoint" + + CATEGORY = "loaders" + DESCRIPTION = "Loads a diffusion model checkpoint, diffusion models are used to denoise latents." + + def load_checkpoint(self, ckpt_name): + ckpt_path = folder_paths.get_full_path_or_raise("checkpoints", ckpt_name) + out = comfy.sd.load_checkpoint_guess_config(ckpt_path, output_vae=True, output_clip=True, embedding_directory=folder_paths.get_folder_paths("embeddings")) + return out[:3] + +class DiffusersLoader: + @classmethod + def INPUT_TYPES(cls): + paths = [] + for search_path in folder_paths.get_folder_paths("diffusers"): + if os.path.exists(search_path): + for root, subdir, files in os.walk(search_path, followlinks=True): + if "model_index.json" in files: + paths.append(os.path.relpath(root, start=search_path)) + + return {"required": {"model_path": (paths,), }} + RETURN_TYPES = ("MODEL", "CLIP", "VAE") + FUNCTION = "load_checkpoint" + + CATEGORY = "advanced/loaders/deprecated" + + def load_checkpoint(self, model_path, output_vae=True, output_clip=True): + for search_path in folder_paths.get_folder_paths("diffusers"): + if os.path.exists(search_path): + path = os.path.join(search_path, model_path) + if os.path.exists(path): + model_path = path + break + + return comfy.diffusers_load.load_diffusers(model_path, output_vae=output_vae, output_clip=output_clip, embedding_directory=folder_paths.get_folder_paths("embeddings")) + + +class unCLIPCheckpointLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "ckpt_name": (folder_paths.get_filename_list("checkpoints"), ), + }} + RETURN_TYPES = ("MODEL", "CLIP", "VAE", "CLIP_VISION") + FUNCTION = "load_checkpoint" + + CATEGORY = "loaders" + + def load_checkpoint(self, ckpt_name, output_vae=True, output_clip=True): + ckpt_path = folder_paths.get_full_path_or_raise("checkpoints", ckpt_name) + out = comfy.sd.load_checkpoint_guess_config(ckpt_path, output_vae=True, output_clip=True, output_clipvision=True, embedding_directory=folder_paths.get_folder_paths("embeddings")) + return out + +class CLIPSetLastLayer: + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip": ("CLIP", ), + "stop_at_clip_layer": ("INT", {"default": -1, "min": -24, "max": -1, "step": 1}), + }} + RETURN_TYPES = ("CLIP",) + FUNCTION = "set_last_layer" + + CATEGORY = "conditioning" + + def set_last_layer(self, clip, stop_at_clip_layer): + clip = clip.clone() + clip.clip_layer(stop_at_clip_layer) + return (clip,) + +class LoraLoader: + def __init__(self): + self.loaded_lora = None + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "model": ("MODEL", {"tooltip": "The diffusion model the LoRA will be applied to."}), + "clip": ("CLIP", {"tooltip": "The CLIP model the LoRA will be applied to."}), + "lora_name": (folder_paths.get_filename_list("loras"), {"tooltip": "The name of the LoRA."}), + "strength_model": ("FLOAT", {"default": 1.0, "min": -100.0, "max": 100.0, "step": 0.01, "tooltip": "How strongly to modify the diffusion model. This value can be negative."}), + "strength_clip": ("FLOAT", {"default": 1.0, "min": -100.0, "max": 100.0, "step": 0.01, "tooltip": "How strongly to modify the CLIP model. This value can be negative."}), + } + } + + RETURN_TYPES = ("MODEL", "CLIP") + OUTPUT_TOOLTIPS = ("The modified diffusion model.", "The modified CLIP model.") + FUNCTION = "load_lora" + + CATEGORY = "loaders" + DESCRIPTION = "LoRAs are used to modify diffusion and CLIP models, altering the way in which latents are denoised such as applying styles. Multiple LoRA nodes can be linked together." + + def load_lora(self, model, clip, lora_name, strength_model, strength_clip): + if strength_model == 0 and strength_clip == 0: + return (model, clip) + + lora_path = folder_paths.get_full_path_or_raise("loras", lora_name) + lora = None + if self.loaded_lora is not None: + if self.loaded_lora[0] == lora_path: + lora = self.loaded_lora[1] + else: + self.loaded_lora = None + + if lora is None: + lora = comfy.utils.load_torch_file(lora_path, safe_load=True) + self.loaded_lora = (lora_path, lora) + + model_lora, clip_lora = comfy.sd.load_lora_for_models(model, clip, lora, strength_model, strength_clip) + return (model_lora, clip_lora) + +class LoraLoaderModelOnly(LoraLoader): + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "lora_name": (folder_paths.get_filename_list("loras"), ), + "strength_model": ("FLOAT", {"default": 1.0, "min": -100.0, "max": 100.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "load_lora_model_only" + + def load_lora_model_only(self, model, lora_name, strength_model): + return (self.load_lora(model, None, lora_name, strength_model, 0)[0],) + +class VAELoader: + @staticmethod + def vae_list(): + vaes = folder_paths.get_filename_list("vae") + approx_vaes = folder_paths.get_filename_list("vae_approx") + sdxl_taesd_enc = False + sdxl_taesd_dec = False + sd1_taesd_enc = False + sd1_taesd_dec = False + sd3_taesd_enc = False + sd3_taesd_dec = False + f1_taesd_enc = False + f1_taesd_dec = False + + for v in approx_vaes: + if v.startswith("taesd_decoder."): + sd1_taesd_dec = True + elif v.startswith("taesd_encoder."): + sd1_taesd_enc = True + elif v.startswith("taesdxl_decoder."): + sdxl_taesd_dec = True + elif v.startswith("taesdxl_encoder."): + sdxl_taesd_enc = True + elif v.startswith("taesd3_decoder."): + sd3_taesd_dec = True + elif v.startswith("taesd3_encoder."): + sd3_taesd_enc = True + elif v.startswith("taef1_encoder."): + f1_taesd_dec = True + elif v.startswith("taef1_decoder."): + f1_taesd_enc = True + if sd1_taesd_dec and sd1_taesd_enc: + vaes.append("taesd") + if sdxl_taesd_dec and sdxl_taesd_enc: + vaes.append("taesdxl") + if sd3_taesd_dec and sd3_taesd_enc: + vaes.append("taesd3") + if f1_taesd_dec and f1_taesd_enc: + vaes.append("taef1") + return vaes + + @staticmethod + def load_taesd(name): + sd = {} + approx_vaes = folder_paths.get_filename_list("vae_approx") + + encoder = next(filter(lambda a: a.startswith("{}_encoder.".format(name)), approx_vaes)) + decoder = next(filter(lambda a: a.startswith("{}_decoder.".format(name)), approx_vaes)) + + enc = comfy.utils.load_torch_file(folder_paths.get_full_path_or_raise("vae_approx", encoder)) + for k in enc: + sd["taesd_encoder.{}".format(k)] = enc[k] + + dec = comfy.utils.load_torch_file(folder_paths.get_full_path_or_raise("vae_approx", decoder)) + for k in dec: + sd["taesd_decoder.{}".format(k)] = dec[k] + + if name == "taesd": + sd["vae_scale"] = torch.tensor(0.18215) + sd["vae_shift"] = torch.tensor(0.0) + elif name == "taesdxl": + sd["vae_scale"] = torch.tensor(0.13025) + sd["vae_shift"] = torch.tensor(0.0) + elif name == "taesd3": + sd["vae_scale"] = torch.tensor(1.5305) + sd["vae_shift"] = torch.tensor(0.0609) + elif name == "taef1": + sd["vae_scale"] = torch.tensor(0.3611) + sd["vae_shift"] = torch.tensor(0.1159) + return sd + + @classmethod + def INPUT_TYPES(s): + return {"required": { "vae_name": (s.vae_list(), )}} + RETURN_TYPES = ("VAE",) + FUNCTION = "load_vae" + + CATEGORY = "loaders" + + #TODO: scale factor? + def load_vae(self, vae_name): + if vae_name in ["taesd", "taesdxl", "taesd3", "taef1"]: + sd = self.load_taesd(vae_name) + else: + vae_path = folder_paths.get_full_path_or_raise("vae", vae_name) + sd = comfy.utils.load_torch_file(vae_path) + vae = comfy.sd.VAE(sd=sd) + return (vae,) + +class ControlNetLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "control_net_name": (folder_paths.get_filename_list("controlnet"), )}} + + RETURN_TYPES = ("CONTROL_NET",) + FUNCTION = "load_controlnet" + + CATEGORY = "loaders" + + def load_controlnet(self, control_net_name): + controlnet_path = folder_paths.get_full_path_or_raise("controlnet", control_net_name) + controlnet = comfy.controlnet.load_controlnet(controlnet_path) + return (controlnet,) + +class DiffControlNetLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "control_net_name": (folder_paths.get_filename_list("controlnet"), )}} + + RETURN_TYPES = ("CONTROL_NET",) + FUNCTION = "load_controlnet" + + CATEGORY = "loaders" + + def load_controlnet(self, model, control_net_name): + controlnet_path = folder_paths.get_full_path_or_raise("controlnet", control_net_name) + controlnet = comfy.controlnet.load_controlnet(controlnet_path, model) + return (controlnet,) + + +class ControlNetApply: + @classmethod + def INPUT_TYPES(s): + return {"required": {"conditioning": ("CONDITIONING", ), + "control_net": ("CONTROL_NET", ), + "image": ("IMAGE", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}) + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "apply_controlnet" + + DEPRECATED = True + CATEGORY = "conditioning/controlnet" + + def apply_controlnet(self, conditioning, control_net, image, strength): + if strength == 0: + return (conditioning, ) + + c = [] + control_hint = image.movedim(-1,1) + for t in conditioning: + n = [t[0], t[1].copy()] + c_net = control_net.copy().set_cond_hint(control_hint, strength) + if 'control' in t[1]: + c_net.set_previous_controlnet(t[1]['control']) + n[1]['control'] = c_net + n[1]['control_apply_to_uncond'] = True + c.append(n) + return (c, ) + + +class ControlNetApplyAdvanced: + @classmethod + def INPUT_TYPES(s): + return {"required": {"positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "control_net": ("CONTROL_NET", ), + "image": ("IMAGE", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001}) + }, + "optional": {"vae": ("VAE", ), + } + } + + RETURN_TYPES = ("CONDITIONING","CONDITIONING") + RETURN_NAMES = ("positive", "negative") + FUNCTION = "apply_controlnet" + + CATEGORY = "conditioning/controlnet" + + def apply_controlnet(self, positive, negative, control_net, image, strength, start_percent, end_percent, vae=None, extra_concat=[]): + if strength == 0: + return (positive, negative) + + control_hint = image.movedim(-1,1) + cnets = {} + + out = [] + for conditioning in [positive, negative]: + c = [] + for t in conditioning: + d = t[1].copy() + + prev_cnet = d.get('control', None) + if prev_cnet in cnets: + c_net = cnets[prev_cnet] + else: + c_net = control_net.copy().set_cond_hint(control_hint, strength, (start_percent, end_percent), vae=vae, extra_concat=extra_concat) + c_net.set_previous_controlnet(prev_cnet) + cnets[prev_cnet] = c_net + + d['control'] = c_net + d['control_apply_to_uncond'] = False + n = [t[0], d] + c.append(n) + out.append(c) + return (out[0], out[1]) + + +class UNETLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "unet_name": (folder_paths.get_filename_list("diffusion_models"), ), + "weight_dtype": (["default", "fp8_e4m3fn", "fp8_e4m3fn_fast", "fp8_e5m2"],) + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "load_unet" + + CATEGORY = "advanced/loaders" + + def load_unet(self, unet_name, weight_dtype): + model_options = {} + if weight_dtype == "fp8_e4m3fn": + model_options["dtype"] = torch.float8_e4m3fn + elif weight_dtype == "fp8_e4m3fn_fast": + model_options["dtype"] = torch.float8_e4m3fn + model_options["fp8_optimizations"] = True + elif weight_dtype == "fp8_e5m2": + model_options["dtype"] = torch.float8_e5m2 + + unet_path = folder_paths.get_full_path_or_raise("diffusion_models", unet_name) + model = comfy.sd.load_diffusion_model(unet_path, model_options=model_options) + return (model,) + +class CLIPLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip_name": (folder_paths.get_filename_list("text_encoders"), ), + "type": (["stable_diffusion", "stable_cascade", "sd3", "stable_audio", "mochi", "ltxv", "pixart", "cosmos"], ), + }, + "optional": { + "device": (["default", "cpu"], {"advanced": True}), + }} + RETURN_TYPES = ("CLIP",) + FUNCTION = "load_clip" + + CATEGORY = "advanced/loaders" + + DESCRIPTION = "[Recipes]\n\nstable_diffusion: clip-l\nstable_cascade: clip-g\nsd3: t5 / clip-g / clip-l\nstable_audio: t5\nmochi: t5\ncosmos: old t5 xxl" + + def load_clip(self, clip_name, type="stable_diffusion", device="default"): + if type == "stable_cascade": + clip_type = comfy.sd.CLIPType.STABLE_CASCADE + elif type == "sd3": + clip_type = comfy.sd.CLIPType.SD3 + elif type == "stable_audio": + clip_type = comfy.sd.CLIPType.STABLE_AUDIO + elif type == "mochi": + clip_type = comfy.sd.CLIPType.MOCHI + elif type == "ltxv": + clip_type = comfy.sd.CLIPType.LTXV + elif type == "pixart": + clip_type = comfy.sd.CLIPType.PIXART + else: + clip_type = comfy.sd.CLIPType.STABLE_DIFFUSION + + model_options = {} + if device == "cpu": + model_options["load_device"] = model_options["offload_device"] = torch.device("cpu") + + clip_path = folder_paths.get_full_path_or_raise("text_encoders", clip_name) + clip = comfy.sd.load_clip(ckpt_paths=[clip_path], embedding_directory=folder_paths.get_folder_paths("embeddings"), clip_type=clip_type, model_options=model_options) + return (clip,) + +class DualCLIPLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip_name1": (folder_paths.get_filename_list("text_encoders"), ), + "clip_name2": (folder_paths.get_filename_list("text_encoders"), ), + "type": (["sdxl", "sd3", "flux", "hunyuan_video"], ), + }, + "optional": { + "device": (["default", "cpu"], {"advanced": True}), + }} + RETURN_TYPES = ("CLIP",) + FUNCTION = "load_clip" + + CATEGORY = "advanced/loaders" + + DESCRIPTION = "[Recipes]\n\nsdxl: clip-l, clip-g\nsd3: clip-l, clip-g / clip-l, t5 / clip-g, t5\nflux: clip-l, t5" + + def load_clip(self, clip_name1, clip_name2, type, device="default"): + clip_path1 = folder_paths.get_full_path_or_raise("text_encoders", clip_name1) + clip_path2 = folder_paths.get_full_path_or_raise("text_encoders", clip_name2) + if type == "sdxl": + clip_type = comfy.sd.CLIPType.STABLE_DIFFUSION + elif type == "sd3": + clip_type = comfy.sd.CLIPType.SD3 + elif type == "flux": + clip_type = comfy.sd.CLIPType.FLUX + elif type == "hunyuan_video": + clip_type = comfy.sd.CLIPType.HUNYUAN_VIDEO + + model_options = {} + if device == "cpu": + model_options["load_device"] = model_options["offload_device"] = torch.device("cpu") + + clip = comfy.sd.load_clip(ckpt_paths=[clip_path1, clip_path2], embedding_directory=folder_paths.get_folder_paths("embeddings"), clip_type=clip_type, model_options=model_options) + return (clip,) + +class CLIPVisionLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip_name": (folder_paths.get_filename_list("clip_vision"), ), + }} + RETURN_TYPES = ("CLIP_VISION",) + FUNCTION = "load_clip" + + CATEGORY = "loaders" + + def load_clip(self, clip_name): + clip_path = folder_paths.get_full_path_or_raise("clip_vision", clip_name) + clip_vision = comfy.clip_vision.load(clip_path) + return (clip_vision,) + +class CLIPVisionEncode: + @classmethod + def INPUT_TYPES(s): + return {"required": { "clip_vision": ("CLIP_VISION",), + "image": ("IMAGE",), + "crop": (["center", "none"],) + }} + RETURN_TYPES = ("CLIP_VISION_OUTPUT",) + FUNCTION = "encode" + + CATEGORY = "conditioning" + + def encode(self, clip_vision, image, crop): + crop_image = True + if crop != "center": + crop_image = False + output = clip_vision.encode_image(image, crop=crop_image) + return (output,) + +class StyleModelLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "style_model_name": (folder_paths.get_filename_list("style_models"), )}} + + RETURN_TYPES = ("STYLE_MODEL",) + FUNCTION = "load_style_model" + + CATEGORY = "loaders" + + def load_style_model(self, style_model_name): + style_model_path = folder_paths.get_full_path_or_raise("style_models", style_model_name) + style_model = comfy.sd.load_style_model(style_model_path) + return (style_model,) + + +class StyleModelApply: + @classmethod + def INPUT_TYPES(s): + return {"required": {"conditioning": ("CONDITIONING", ), + "style_model": ("STYLE_MODEL", ), + "clip_vision_output": ("CLIP_VISION_OUTPUT", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.001}), + "strength_type": (["multiply", "attn_bias"], ), + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "apply_stylemodel" + + CATEGORY = "conditioning/style_model" + + def apply_stylemodel(self, conditioning, style_model, clip_vision_output, strength, strength_type): + cond = style_model.get_cond(clip_vision_output).flatten(start_dim=0, end_dim=1).unsqueeze(dim=0) + if strength_type == "multiply": + cond *= strength + + n = cond.shape[1] + c_out = [] + for t in conditioning: + (txt, keys) = t + keys = keys.copy() + if strength_type == "attn_bias" and strength != 1.0: + # math.log raises an error if the argument is zero + # torch.log returns -inf, which is what we want + attn_bias = torch.log(torch.Tensor([strength])) + # get the size of the mask image + mask_ref_size = keys.get("attention_mask_img_shape", (1, 1)) + n_ref = mask_ref_size[0] * mask_ref_size[1] + n_txt = txt.shape[1] + # grab the existing mask + mask = keys.get("attention_mask", None) + # create a default mask if it doesn't exist + if mask is None: + mask = torch.zeros((txt.shape[0], n_txt + n_ref, n_txt + n_ref), dtype=torch.float16) + # convert the mask dtype, because it might be boolean + # we want it to be interpreted as a bias + if mask.dtype == torch.bool: + # log(True) = log(1) = 0 + # log(False) = log(0) = -inf + mask = torch.log(mask.to(dtype=torch.float16)) + # now we make the mask bigger to add space for our new tokens + new_mask = torch.zeros((txt.shape[0], n_txt + n + n_ref, n_txt + n + n_ref), dtype=torch.float16) + # copy over the old mask, in quandrants + new_mask[:, :n_txt, :n_txt] = mask[:, :n_txt, :n_txt] + new_mask[:, :n_txt, n_txt+n:] = mask[:, :n_txt, n_txt:] + new_mask[:, n_txt+n:, :n_txt] = mask[:, n_txt:, :n_txt] + new_mask[:, n_txt+n:, n_txt+n:] = mask[:, n_txt:, n_txt:] + # now fill in the attention bias to our redux tokens + new_mask[:, :n_txt, n_txt:n_txt+n] = attn_bias + new_mask[:, n_txt+n:, n_txt:n_txt+n] = attn_bias + keys["attention_mask"] = new_mask.to(txt.device) + keys["attention_mask_img_shape"] = mask_ref_size + + c_out.append([torch.cat((txt, cond), dim=1), keys]) + + return (c_out,) + +class unCLIPConditioning: + @classmethod + def INPUT_TYPES(s): + return {"required": {"conditioning": ("CONDITIONING", ), + "clip_vision_output": ("CLIP_VISION_OUTPUT", ), + "strength": ("FLOAT", {"default": 1.0, "min": -10.0, "max": 10.0, "step": 0.01}), + "noise_augmentation": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.01}), + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "apply_adm" + + CATEGORY = "conditioning" + + def apply_adm(self, conditioning, clip_vision_output, strength, noise_augmentation): + if strength == 0: + return (conditioning, ) + + c = [] + for t in conditioning: + o = t[1].copy() + x = {"clip_vision_output": clip_vision_output, "strength": strength, "noise_augmentation": noise_augmentation} + if "unclip_conditioning" in o: + o["unclip_conditioning"] = o["unclip_conditioning"][:] + [x] + else: + o["unclip_conditioning"] = [x] + n = [t[0], o] + c.append(n) + return (c, ) + +class GLIGENLoader: + @classmethod + def INPUT_TYPES(s): + return {"required": { "gligen_name": (folder_paths.get_filename_list("gligen"), )}} + + RETURN_TYPES = ("GLIGEN",) + FUNCTION = "load_gligen" + + CATEGORY = "loaders" + + def load_gligen(self, gligen_name): + gligen_path = folder_paths.get_full_path_or_raise("gligen", gligen_name) + gligen = comfy.sd.load_gligen(gligen_path) + return (gligen,) + +class GLIGENTextBoxApply: + @classmethod + def INPUT_TYPES(s): + return {"required": {"conditioning_to": ("CONDITIONING", ), + "clip": ("CLIP", ), + "gligen_textbox_model": ("GLIGEN", ), + "text": ("STRING", {"multiline": True, "dynamicPrompts": True}), + "width": ("INT", {"default": 64, "min": 8, "max": MAX_RESOLUTION, "step": 8}), + "height": ("INT", {"default": 64, "min": 8, "max": MAX_RESOLUTION, "step": 8}), + "x": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + "y": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + }} + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "append" + + CATEGORY = "conditioning/gligen" + + def append(self, conditioning_to, clip, gligen_textbox_model, text, width, height, x, y): + c = [] + cond, cond_pooled = clip.encode_from_tokens(clip.tokenize(text), return_pooled="unprojected") + for t in conditioning_to: + n = [t[0], t[1].copy()] + position_params = [(cond_pooled, height // 8, width // 8, y // 8, x // 8)] + prev = [] + if "gligen" in n[1]: + prev = n[1]['gligen'][2] + + n[1]['gligen'] = ("position", gligen_textbox_model, prev + position_params) + c.append(n) + return (c, ) + +class EmptyLatentImage: + def __init__(self): + self.device = comfy.model_management.intermediate_device() + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "width": ("INT", {"default": 512, "min": 16, "max": MAX_RESOLUTION, "step": 8, "tooltip": "The width of the latent images in pixels."}), + "height": ("INT", {"default": 512, "min": 16, "max": MAX_RESOLUTION, "step": 8, "tooltip": "The height of the latent images in pixels."}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096, "tooltip": "The number of latent images in the batch."}) + } + } + RETURN_TYPES = ("LATENT",) + OUTPUT_TOOLTIPS = ("The empty latent image batch.",) + FUNCTION = "generate" + + CATEGORY = "latent" + DESCRIPTION = "Create a new batch of empty latent images to be denoised via sampling." + + def generate(self, width, height, batch_size=1): + latent = torch.zeros([batch_size, 4, height // 8, width // 8], device=self.device) + return ({"samples":latent}, ) + + +class LatentFromBatch: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples": ("LATENT",), + "batch_index": ("INT", {"default": 0, "min": 0, "max": 63}), + "length": ("INT", {"default": 1, "min": 1, "max": 64}), + }} + RETURN_TYPES = ("LATENT",) + FUNCTION = "frombatch" + + CATEGORY = "latent/batch" + + def frombatch(self, samples, batch_index, length): + s = samples.copy() + s_in = samples["samples"] + batch_index = min(s_in.shape[0] - 1, batch_index) + length = min(s_in.shape[0] - batch_index, length) + s["samples"] = s_in[batch_index:batch_index + length].clone() + if "noise_mask" in samples: + masks = samples["noise_mask"] + if masks.shape[0] == 1: + s["noise_mask"] = masks.clone() + else: + if masks.shape[0] < s_in.shape[0]: + masks = masks.repeat(math.ceil(s_in.shape[0] / masks.shape[0]), 1, 1, 1)[:s_in.shape[0]] + s["noise_mask"] = masks[batch_index:batch_index + length].clone() + if "batch_index" not in s: + s["batch_index"] = [x for x in range(batch_index, batch_index+length)] + else: + s["batch_index"] = samples["batch_index"][batch_index:batch_index + length] + return (s,) + +class RepeatLatentBatch: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples": ("LATENT",), + "amount": ("INT", {"default": 1, "min": 1, "max": 64}), + }} + RETURN_TYPES = ("LATENT",) + FUNCTION = "repeat" + + CATEGORY = "latent/batch" + + def repeat(self, samples, amount): + s = samples.copy() + s_in = samples["samples"] + + s["samples"] = s_in.repeat((amount, 1,1,1)) + if "noise_mask" in samples and samples["noise_mask"].shape[0] > 1: + masks = samples["noise_mask"] + if masks.shape[0] < s_in.shape[0]: + masks = masks.repeat(math.ceil(s_in.shape[0] / masks.shape[0]), 1, 1, 1)[:s_in.shape[0]] + s["noise_mask"] = samples["noise_mask"].repeat((amount, 1,1,1)) + if "batch_index" in s: + offset = max(s["batch_index"]) - min(s["batch_index"]) + 1 + s["batch_index"] = s["batch_index"] + [x + (i * offset) for i in range(1, amount) for x in s["batch_index"]] + return (s,) + +class LatentUpscale: + upscale_methods = ["nearest-exact", "bilinear", "area", "bicubic", "bislerp"] + crop_methods = ["disabled", "center"] + + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples": ("LATENT",), "upscale_method": (s.upscale_methods,), + "width": ("INT", {"default": 512, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + "height": ("INT", {"default": 512, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + "crop": (s.crop_methods,)}} + RETURN_TYPES = ("LATENT",) + FUNCTION = "upscale" + + CATEGORY = "latent" + + def upscale(self, samples, upscale_method, width, height, crop): + if width == 0 and height == 0: + s = samples + else: + s = samples.copy() + + if width == 0: + height = max(64, height) + width = max(64, round(samples["samples"].shape[-1] * height / samples["samples"].shape[-2])) + elif height == 0: + width = max(64, width) + height = max(64, round(samples["samples"].shape[-2] * width / samples["samples"].shape[-1])) + else: + width = max(64, width) + height = max(64, height) + + s["samples"] = comfy.utils.common_upscale(samples["samples"], width // 8, height // 8, upscale_method, crop) + return (s,) + +class LatentUpscaleBy: + upscale_methods = ["nearest-exact", "bilinear", "area", "bicubic", "bislerp"] + + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples": ("LATENT",), "upscale_method": (s.upscale_methods,), + "scale_by": ("FLOAT", {"default": 1.5, "min": 0.01, "max": 8.0, "step": 0.01}),}} + RETURN_TYPES = ("LATENT",) + FUNCTION = "upscale" + + CATEGORY = "latent" + + def upscale(self, samples, upscale_method, scale_by): + s = samples.copy() + width = round(samples["samples"].shape[-1] * scale_by) + height = round(samples["samples"].shape[-2] * scale_by) + s["samples"] = comfy.utils.common_upscale(samples["samples"], width, height, upscale_method, "disabled") + return (s,) + +class LatentRotate: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples": ("LATENT",), + "rotation": (["none", "90 degrees", "180 degrees", "270 degrees"],), + }} + RETURN_TYPES = ("LATENT",) + FUNCTION = "rotate" + + CATEGORY = "latent/transform" + + def rotate(self, samples, rotation): + s = samples.copy() + rotate_by = 0 + if rotation.startswith("90"): + rotate_by = 1 + elif rotation.startswith("180"): + rotate_by = 2 + elif rotation.startswith("270"): + rotate_by = 3 + + s["samples"] = torch.rot90(samples["samples"], k=rotate_by, dims=[3, 2]) + return (s,) + +class LatentFlip: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples": ("LATENT",), + "flip_method": (["x-axis: vertically", "y-axis: horizontally"],), + }} + RETURN_TYPES = ("LATENT",) + FUNCTION = "flip" + + CATEGORY = "latent/transform" + + def flip(self, samples, flip_method): + s = samples.copy() + if flip_method.startswith("x"): + s["samples"] = torch.flip(samples["samples"], dims=[2]) + elif flip_method.startswith("y"): + s["samples"] = torch.flip(samples["samples"], dims=[3]) + + return (s,) + +class LatentComposite: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples_to": ("LATENT",), + "samples_from": ("LATENT",), + "x": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + "y": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + "feather": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + }} + RETURN_TYPES = ("LATENT",) + FUNCTION = "composite" + + CATEGORY = "latent" + + def composite(self, samples_to, samples_from, x, y, composite_method="normal", feather=0): + x = x // 8 + y = y // 8 + feather = feather // 8 + samples_out = samples_to.copy() + s = samples_to["samples"].clone() + samples_to = samples_to["samples"] + samples_from = samples_from["samples"] + if feather == 0: + s[:,:,y:y+samples_from.shape[2],x:x+samples_from.shape[3]] = samples_from[:,:,:samples_to.shape[2] - y, :samples_to.shape[3] - x] + else: + samples_from = samples_from[:,:,:samples_to.shape[2] - y, :samples_to.shape[3] - x] + mask = torch.ones_like(samples_from) + for t in range(feather): + if y != 0: + mask[:,:,t:1+t,:] *= ((1.0/feather) * (t + 1)) + + if y + samples_from.shape[2] < samples_to.shape[2]: + mask[:,:,mask.shape[2] -1 -t: mask.shape[2]-t,:] *= ((1.0/feather) * (t + 1)) + if x != 0: + mask[:,:,:,t:1+t] *= ((1.0/feather) * (t + 1)) + if x + samples_from.shape[3] < samples_to.shape[3]: + mask[:,:,:,mask.shape[3]- 1 - t: mask.shape[3]- t] *= ((1.0/feather) * (t + 1)) + rev_mask = torch.ones_like(mask) - mask + s[:,:,y:y+samples_from.shape[2],x:x+samples_from.shape[3]] = samples_from[:,:,:samples_to.shape[2] - y, :samples_to.shape[3] - x] * mask + s[:,:,y:y+samples_from.shape[2],x:x+samples_from.shape[3]] * rev_mask + samples_out["samples"] = s + return (samples_out,) + +class LatentBlend: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "samples1": ("LATENT",), + "samples2": ("LATENT",), + "blend_factor": ("FLOAT", { + "default": 0.5, + "min": 0, + "max": 1, + "step": 0.01 + }), + }} + + RETURN_TYPES = ("LATENT",) + FUNCTION = "blend" + + CATEGORY = "_for_testing" + + def blend(self, samples1, samples2, blend_factor:float, blend_mode: str="normal"): + + samples_out = samples1.copy() + samples1 = samples1["samples"] + samples2 = samples2["samples"] + + if samples1.shape != samples2.shape: + samples2.permute(0, 3, 1, 2) + samples2 = comfy.utils.common_upscale(samples2, samples1.shape[3], samples1.shape[2], 'bicubic', crop='center') + samples2.permute(0, 2, 3, 1) + + samples_blended = self.blend_mode(samples1, samples2, blend_mode) + samples_blended = samples1 * blend_factor + samples_blended * (1 - blend_factor) + samples_out["samples"] = samples_blended + return (samples_out,) + + def blend_mode(self, img1, img2, mode): + if mode == "normal": + return img2 + else: + raise ValueError(f"Unsupported blend mode: {mode}") + +class LatentCrop: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples": ("LATENT",), + "width": ("INT", {"default": 512, "min": 64, "max": MAX_RESOLUTION, "step": 8}), + "height": ("INT", {"default": 512, "min": 64, "max": MAX_RESOLUTION, "step": 8}), + "x": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + "y": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + }} + RETURN_TYPES = ("LATENT",) + FUNCTION = "crop" + + CATEGORY = "latent/transform" + + def crop(self, samples, width, height, x, y): + s = samples.copy() + samples = samples['samples'] + x = x // 8 + y = y // 8 + + #enfonce minimum size of 64 + if x > (samples.shape[3] - 8): + x = samples.shape[3] - 8 + if y > (samples.shape[2] - 8): + y = samples.shape[2] - 8 + + new_height = height // 8 + new_width = width // 8 + to_x = new_width + x + to_y = new_height + y + s['samples'] = samples[:,:,y:to_y, x:to_x] + return (s,) + +class SetLatentNoiseMask: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples": ("LATENT",), + "mask": ("MASK",), + }} + RETURN_TYPES = ("LATENT",) + FUNCTION = "set_mask" + + CATEGORY = "latent/inpaint" + + def set_mask(self, samples, mask): + s = samples.copy() + s["noise_mask"] = mask.reshape((-1, 1, mask.shape[-2], mask.shape[-1])) + return (s,) + +def common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent, denoise=1.0, disable_noise=False, start_step=None, last_step=None, force_full_denoise=False): + latent_image = latent["samples"] + latent_image = comfy.sample.fix_empty_latent_channels(model, latent_image) + + if disable_noise: + noise = torch.zeros(latent_image.size(), dtype=latent_image.dtype, layout=latent_image.layout, device="cpu") + else: + batch_inds = latent["batch_index"] if "batch_index" in latent else None + noise = comfy.sample.prepare_noise(latent_image, seed, batch_inds) + + noise_mask = None + if "noise_mask" in latent: + noise_mask = latent["noise_mask"] + + callback = latent_preview.prepare_callback(model, steps) + disable_pbar = not comfy.utils.PROGRESS_BAR_ENABLED + samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, + denoise=denoise, disable_noise=disable_noise, start_step=start_step, last_step=last_step, + force_full_denoise=force_full_denoise, noise_mask=noise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed) + out = latent.copy() + out["samples"] = samples + return (out, ) + +class KSampler: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "model": ("MODEL", {"tooltip": "The model used for denoising the input latent."}), + "seed": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff, "tooltip": "The random seed used for creating the noise."}), + "steps": ("INT", {"default": 20, "min": 1, "max": 10000, "tooltip": "The number of steps used in the denoising process."}), + "cfg": ("FLOAT", {"default": 8.0, "min": 0.0, "max": 100.0, "step":0.1, "round": 0.01, "tooltip": "The Classifier-Free Guidance scale balances creativity and adherence to the prompt. Higher values result in images more closely matching the prompt however too high values will negatively impact quality."}), + "sampler_name": (comfy.samplers.KSampler.SAMPLERS, {"tooltip": "The algorithm used when sampling, this can affect the quality, speed, and style of the generated output."}), + "scheduler": (comfy.samplers.KSampler.SCHEDULERS, {"tooltip": "The scheduler controls how noise is gradually removed to form the image."}), + "positive": ("CONDITIONING", {"tooltip": "The conditioning describing the attributes you want to include in the image."}), + "negative": ("CONDITIONING", {"tooltip": "The conditioning describing the attributes you want to exclude from the image."}), + "latent_image": ("LATENT", {"tooltip": "The latent image to denoise."}), + "denoise": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01, "tooltip": "The amount of denoising applied, lower values will maintain the structure of the initial image allowing for image to image sampling."}), + } + } + + RETURN_TYPES = ("LATENT",) + OUTPUT_TOOLTIPS = ("The denoised latent.",) + FUNCTION = "sample" + + CATEGORY = "sampling" + DESCRIPTION = "Uses the provided model, positive and negative conditioning to denoise the latent image." + + def sample(self, model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=1.0): + return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise) + +class KSamplerAdvanced: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"model": ("MODEL",), + "add_noise": (["enable", "disable"], ), + "noise_seed": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff}), + "steps": ("INT", {"default": 20, "min": 1, "max": 10000}), + "cfg": ("FLOAT", {"default": 8.0, "min": 0.0, "max": 100.0, "step":0.1, "round": 0.01}), + "sampler_name": (comfy.samplers.KSampler.SAMPLERS, ), + "scheduler": (comfy.samplers.KSampler.SCHEDULERS, ), + "positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "latent_image": ("LATENT", ), + "start_at_step": ("INT", {"default": 0, "min": 0, "max": 10000}), + "end_at_step": ("INT", {"default": 10000, "min": 0, "max": 10000}), + "return_with_leftover_noise": (["disable", "enable"], ), + } + } + + RETURN_TYPES = ("LATENT",) + FUNCTION = "sample" + + CATEGORY = "sampling" + + def sample(self, model, add_noise, noise_seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, start_at_step, end_at_step, return_with_leftover_noise, denoise=1.0): + force_full_denoise = True + if return_with_leftover_noise == "enable": + force_full_denoise = False + disable_noise = False + if add_noise == "disable": + disable_noise = True + return common_ksampler(model, noise_seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise, disable_noise=disable_noise, start_step=start_at_step, last_step=end_at_step, force_full_denoise=force_full_denoise) + +class SaveImage: + def __init__(self): + self.output_dir = folder_paths.get_output_directory() + self.type = "output" + self.prefix_append = "" + self.compress_level = 4 + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "images": ("IMAGE", {"tooltip": "The images to save."}), + "filename_prefix": ("STRING", {"default": "ComfyUI", "tooltip": "The prefix for the file to save. This may include formatting information such as %date:yyyy-MM-dd% or %Empty Latent Image.width% to include values from nodes."}) + }, + "hidden": { + "prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO" + }, + } + + RETURN_TYPES = () + FUNCTION = "save_images" + + OUTPUT_NODE = True + + CATEGORY = "image" + DESCRIPTION = "Saves the input images to your ComfyUI output directory." + + def save_images(self, images, filename_prefix="ComfyUI", prompt=None, extra_pnginfo=None): + filename_prefix += self.prefix_append + full_output_folder, filename, counter, subfolder, filename_prefix = folder_paths.get_save_image_path(filename_prefix, self.output_dir, images[0].shape[1], images[0].shape[0]) + results = list() + for (batch_number, image) in enumerate(images): + i = 255. * image.cpu().numpy() + img = Image.fromarray(np.clip(i, 0, 255).astype(np.uint8)) + metadata = None + if not args.disable_metadata: + metadata = PngInfo() + if prompt is not None: + metadata.add_text("prompt", json.dumps(prompt)) + if extra_pnginfo is not None: + for x in extra_pnginfo: + metadata.add_text(x, json.dumps(extra_pnginfo[x])) + + filename_with_batch_num = filename.replace("%batch_num%", str(batch_number)) + file = f"{filename_with_batch_num}_{counter:05}_.png" + img.save(os.path.join(full_output_folder, file), pnginfo=metadata, compress_level=self.compress_level) + results.append({ + "filename": file, + "subfolder": subfolder, + "type": self.type + }) + counter += 1 + + return { "ui": { "images": results } } + +class PreviewImage(SaveImage): + def __init__(self): + self.output_dir = folder_paths.get_temp_directory() + self.type = "temp" + self.prefix_append = "_temp_" + ''.join(random.choice("abcdefghijklmnopqrstupvxyz") for x in range(5)) + self.compress_level = 1 + + @classmethod + def INPUT_TYPES(s): + return {"required": + {"images": ("IMAGE", ), }, + "hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"}, + } + +class LoadImage: + @classmethod + def INPUT_TYPES(s): + input_dir = folder_paths.get_input_directory() + files = [f for f in os.listdir(input_dir) if os.path.isfile(os.path.join(input_dir, f))] + return {"required": + {"image": (sorted(files), {"image_upload": True})}, + } + + CATEGORY = "image" + + RETURN_TYPES = ("IMAGE", "MASK") + FUNCTION = "load_image" + def load_image(self, image): + image_path = folder_paths.get_annotated_filepath(image) + + img = node_helpers.pillow(Image.open, image_path) + + output_images = [] + output_masks = [] + w, h = None, None + + excluded_formats = ['MPO'] + + for i in ImageSequence.Iterator(img): + i = node_helpers.pillow(ImageOps.exif_transpose, i) + + if i.mode == 'I': + i = i.point(lambda i: i * (1 / 255)) + image = i.convert("RGB") + + if len(output_images) == 0: + w = image.size[0] + h = image.size[1] + + if image.size[0] != w or image.size[1] != h: + continue + + image = np.array(image).astype(np.float32) / 255.0 + image = torch.from_numpy(image)[None,] + if 'A' in i.getbands(): + mask = np.array(i.getchannel('A')).astype(np.float32) / 255.0 + mask = 1. - torch.from_numpy(mask) + else: + mask = torch.zeros((64,64), dtype=torch.float32, device="cpu") + output_images.append(image) + output_masks.append(mask.unsqueeze(0)) + + if len(output_images) > 1 and img.format not in excluded_formats: + output_image = torch.cat(output_images, dim=0) + output_mask = torch.cat(output_masks, dim=0) + else: + output_image = output_images[0] + output_mask = output_masks[0] + + return (output_image, output_mask) + + @classmethod + def IS_CHANGED(s, image): + image_path = folder_paths.get_annotated_filepath(image) + m = hashlib.sha256() + with open(image_path, 'rb') as f: + m.update(f.read()) + return m.digest().hex() + + @classmethod + def VALIDATE_INPUTS(s, image): + if not folder_paths.exists_annotated_filepath(image): + return "Invalid image file: {}".format(image) + + return True + +class LoadImageMask: + _color_channels = ["alpha", "red", "green", "blue"] + @classmethod + def INPUT_TYPES(s): + input_dir = folder_paths.get_input_directory() + files = [f for f in os.listdir(input_dir) if os.path.isfile(os.path.join(input_dir, f))] + return {"required": + {"image": (sorted(files), {"image_upload": True}), + "channel": (s._color_channels, ), } + } + + CATEGORY = "mask" + + RETURN_TYPES = ("MASK",) + FUNCTION = "load_image" + def load_image(self, image, channel): + image_path = folder_paths.get_annotated_filepath(image) + i = node_helpers.pillow(Image.open, image_path) + i = node_helpers.pillow(ImageOps.exif_transpose, i) + if i.getbands() != ("R", "G", "B", "A"): + if i.mode == 'I': + i = i.point(lambda i: i * (1 / 255)) + i = i.convert("RGBA") + mask = None + c = channel[0].upper() + if c in i.getbands(): + mask = np.array(i.getchannel(c)).astype(np.float32) / 255.0 + mask = torch.from_numpy(mask) + if c == 'A': + mask = 1. - mask + else: + mask = torch.zeros((64,64), dtype=torch.float32, device="cpu") + return (mask.unsqueeze(0),) + + @classmethod + def IS_CHANGED(s, image, channel): + image_path = folder_paths.get_annotated_filepath(image) + m = hashlib.sha256() + with open(image_path, 'rb') as f: + m.update(f.read()) + return m.digest().hex() + + @classmethod + def VALIDATE_INPUTS(s, image): + if not folder_paths.exists_annotated_filepath(image): + return "Invalid image file: {}".format(image) + + return True + +class ImageScale: + upscale_methods = ["nearest-exact", "bilinear", "area", "bicubic", "lanczos"] + crop_methods = ["disabled", "center"] + + @classmethod + def INPUT_TYPES(s): + return {"required": { "image": ("IMAGE",), "upscale_method": (s.upscale_methods,), + "width": ("INT", {"default": 512, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + "height": ("INT", {"default": 512, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + "crop": (s.crop_methods,)}} + RETURN_TYPES = ("IMAGE",) + FUNCTION = "upscale" + + CATEGORY = "image/upscaling" + + def upscale(self, image, upscale_method, width, height, crop): + if width == 0 and height == 0: + s = image + else: + samples = image.movedim(-1,1) + + if width == 0: + width = max(1, round(samples.shape[3] * height / samples.shape[2])) + elif height == 0: + height = max(1, round(samples.shape[2] * width / samples.shape[3])) + + s = comfy.utils.common_upscale(samples, width, height, upscale_method, crop) + s = s.movedim(1,-1) + return (s,) + +class ImageScaleBy: + upscale_methods = ["nearest-exact", "bilinear", "area", "bicubic", "lanczos"] + + @classmethod + def INPUT_TYPES(s): + return {"required": { "image": ("IMAGE",), "upscale_method": (s.upscale_methods,), + "scale_by": ("FLOAT", {"default": 1.0, "min": 0.01, "max": 8.0, "step": 0.01}),}} + RETURN_TYPES = ("IMAGE",) + FUNCTION = "upscale" + + CATEGORY = "image/upscaling" + + def upscale(self, image, upscale_method, scale_by): + samples = image.movedim(-1,1) + width = round(samples.shape[3] * scale_by) + height = round(samples.shape[2] * scale_by) + s = comfy.utils.common_upscale(samples, width, height, upscale_method, "disabled") + s = s.movedim(1,-1) + return (s,) + +class ImageInvert: + + @classmethod + def INPUT_TYPES(s): + return {"required": { "image": ("IMAGE",)}} + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "invert" + + CATEGORY = "image" + + def invert(self, image): + s = 1.0 - image + return (s,) + +class ImageBatch: + + @classmethod + def INPUT_TYPES(s): + return {"required": { "image1": ("IMAGE",), "image2": ("IMAGE",)}} + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "batch" + + CATEGORY = "image" + + def batch(self, image1, image2): + if image1.shape[1:] != image2.shape[1:]: + image2 = comfy.utils.common_upscale(image2.movedim(-1,1), image1.shape[2], image1.shape[1], "bilinear", "center").movedim(1,-1) + s = torch.cat((image1, image2), dim=0) + return (s,) + +class EmptyImage: + def __init__(self, device="cpu"): + self.device = device + + @classmethod + def INPUT_TYPES(s): + return {"required": { "width": ("INT", {"default": 512, "min": 1, "max": MAX_RESOLUTION, "step": 1}), + "height": ("INT", {"default": 512, "min": 1, "max": MAX_RESOLUTION, "step": 1}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096}), + "color": ("INT", {"default": 0, "min": 0, "max": 0xFFFFFF, "step": 1, "display": "color"}), + }} + RETURN_TYPES = ("IMAGE",) + FUNCTION = "generate" + + CATEGORY = "image" + + def generate(self, width, height, batch_size=1, color=0): + r = torch.full([batch_size, height, width, 1], ((color >> 16) & 0xFF) / 0xFF) + g = torch.full([batch_size, height, width, 1], ((color >> 8) & 0xFF) / 0xFF) + b = torch.full([batch_size, height, width, 1], ((color) & 0xFF) / 0xFF) + return (torch.cat((r, g, b), dim=-1), ) + +class ImagePadForOutpaint: + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "image": ("IMAGE",), + "left": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + "top": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + "right": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + "bottom": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 8}), + "feathering": ("INT", {"default": 40, "min": 0, "max": MAX_RESOLUTION, "step": 1}), + } + } + + RETURN_TYPES = ("IMAGE", "MASK") + FUNCTION = "expand_image" + + CATEGORY = "image" + + def expand_image(self, image, left, top, right, bottom, feathering): + d1, d2, d3, d4 = image.size() + + new_image = torch.ones( + (d1, d2 + top + bottom, d3 + left + right, d4), + dtype=torch.float32, + ) * 0.5 + + new_image[:, top:top + d2, left:left + d3, :] = image + + mask = torch.ones( + (d2 + top + bottom, d3 + left + right), + dtype=torch.float32, + ) + + t = torch.zeros( + (d2, d3), + dtype=torch.float32 + ) + + if feathering > 0 and feathering * 2 < d2 and feathering * 2 < d3: + + for i in range(d2): + for j in range(d3): + dt = i if top != 0 else d2 + db = d2 - i if bottom != 0 else d2 + + dl = j if left != 0 else d3 + dr = d3 - j if right != 0 else d3 + + d = min(dt, db, dl, dr) + + if d >= feathering: + continue + + v = (feathering - d) / feathering + + t[i, j] = v * v + + mask[top:top + d2, left:left + d3] = t + + return (new_image, mask) + + +NODE_CLASS_MAPPINGS = { + "KSampler": KSampler, + "CheckpointLoaderSimple": CheckpointLoaderSimple, + "CLIPTextEncode": CLIPTextEncode, + "CLIPSetLastLayer": CLIPSetLastLayer, + "VAEDecode": VAEDecode, + "VAEEncode": VAEEncode, + "VAEEncodeForInpaint": VAEEncodeForInpaint, + "VAELoader": VAELoader, + "EmptyLatentImage": EmptyLatentImage, + "LatentUpscale": LatentUpscale, + "LatentUpscaleBy": LatentUpscaleBy, + "LatentFromBatch": LatentFromBatch, + "RepeatLatentBatch": RepeatLatentBatch, + "SaveImage": SaveImage, + "PreviewImage": PreviewImage, + "LoadImage": LoadImage, + "LoadImageMask": LoadImageMask, + "ImageScale": ImageScale, + "ImageScaleBy": ImageScaleBy, + "ImageInvert": ImageInvert, + "ImageBatch": ImageBatch, + "ImagePadForOutpaint": ImagePadForOutpaint, + "EmptyImage": EmptyImage, + "ConditioningAverage": ConditioningAverage , + "ConditioningCombine": ConditioningCombine, + "ConditioningConcat": ConditioningConcat, + "ConditioningSetArea": ConditioningSetArea, + "ConditioningSetAreaPercentage": ConditioningSetAreaPercentage, + "ConditioningSetAreaStrength": ConditioningSetAreaStrength, + "ConditioningSetMask": ConditioningSetMask, + "KSamplerAdvanced": KSamplerAdvanced, + "SetLatentNoiseMask": SetLatentNoiseMask, + "LatentComposite": LatentComposite, + "LatentBlend": LatentBlend, + "LatentRotate": LatentRotate, + "LatentFlip": LatentFlip, + "LatentCrop": LatentCrop, + "LoraLoader": LoraLoader, + "CLIPLoader": CLIPLoader, + "UNETLoader": UNETLoader, + "DualCLIPLoader": DualCLIPLoader, + "CLIPVisionEncode": CLIPVisionEncode, + "StyleModelApply": StyleModelApply, + "unCLIPConditioning": unCLIPConditioning, + "ControlNetApply": ControlNetApply, + "ControlNetApplyAdvanced": ControlNetApplyAdvanced, + "ControlNetLoader": ControlNetLoader, + "DiffControlNetLoader": DiffControlNetLoader, + "StyleModelLoader": StyleModelLoader, + "CLIPVisionLoader": CLIPVisionLoader, + "VAEDecodeTiled": VAEDecodeTiled, + "VAEEncodeTiled": VAEEncodeTiled, + "unCLIPCheckpointLoader": unCLIPCheckpointLoader, + "GLIGENLoader": GLIGENLoader, + "GLIGENTextBoxApply": GLIGENTextBoxApply, + "InpaintModelConditioning": InpaintModelConditioning, + + "CheckpointLoader": CheckpointLoader, + "DiffusersLoader": DiffusersLoader, + + "LoadLatent": LoadLatent, + "SaveLatent": SaveLatent, + + "ConditioningZeroOut": ConditioningZeroOut, + "ConditioningSetTimestepRange": ConditioningSetTimestepRange, + "LoraLoaderModelOnly": LoraLoaderModelOnly, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + # Sampling + "KSampler": "KSampler", + "KSamplerAdvanced": "KSampler (Advanced)", + # Loaders + "CheckpointLoader": "Load Checkpoint With Config (DEPRECATED)", + "CheckpointLoaderSimple": "Load Checkpoint", + "VAELoader": "Load VAE", + "LoraLoader": "Load LoRA", + "CLIPLoader": "Load CLIP", + "ControlNetLoader": "Load ControlNet Model", + "DiffControlNetLoader": "Load ControlNet Model (diff)", + "StyleModelLoader": "Load Style Model", + "CLIPVisionLoader": "Load CLIP Vision", + "UpscaleModelLoader": "Load Upscale Model", + "UNETLoader": "Load Diffusion Model", + # Conditioning + "CLIPVisionEncode": "CLIP Vision Encode", + "StyleModelApply": "Apply Style Model", + "CLIPTextEncode": "CLIP Text Encode (Prompt)", + "CLIPSetLastLayer": "CLIP Set Last Layer", + "ConditioningCombine": "Conditioning (Combine)", + "ConditioningAverage ": "Conditioning (Average)", + "ConditioningConcat": "Conditioning (Concat)", + "ConditioningSetArea": "Conditioning (Set Area)", + "ConditioningSetAreaPercentage": "Conditioning (Set Area with Percentage)", + "ConditioningSetMask": "Conditioning (Set Mask)", + "ControlNetApply": "Apply ControlNet (OLD)", + "ControlNetApplyAdvanced": "Apply ControlNet", + # Latent + "VAEEncodeForInpaint": "VAE Encode (for Inpainting)", + "SetLatentNoiseMask": "Set Latent Noise Mask", + "VAEDecode": "VAE Decode", + "VAEEncode": "VAE Encode", + "LatentRotate": "Rotate Latent", + "LatentFlip": "Flip Latent", + "LatentCrop": "Crop Latent", + "EmptyLatentImage": "Empty Latent Image", + "LatentUpscale": "Upscale Latent", + "LatentUpscaleBy": "Upscale Latent By", + "LatentComposite": "Latent Composite", + "LatentBlend": "Latent Blend", + "LatentFromBatch" : "Latent From Batch", + "RepeatLatentBatch": "Repeat Latent Batch", + # Image + "SaveImage": "Save Image", + "PreviewImage": "Preview Image", + "LoadImage": "Load Image", + "LoadImageMask": "Load Image (as Mask)", + "ImageScale": "Upscale Image", + "ImageScaleBy": "Upscale Image By", + "ImageUpscaleWithModel": "Upscale Image (using Model)", + "ImageInvert": "Invert Image", + "ImagePadForOutpaint": "Pad Image for Outpainting", + "ImageBatch": "Batch Images", + "ImageCrop": "Image Crop", + "ImageBlend": "Image Blend", + "ImageBlur": "Image Blur", + "ImageQuantize": "Image Quantize", + "ImageSharpen": "Image Sharpen", + "ImageScaleToTotalPixels": "Scale Image to Total Pixels", + # _for_testing + "VAEDecodeTiled": "VAE Decode (Tiled)", + "VAEEncodeTiled": "VAE Encode (Tiled)", +} + +EXTENSION_WEB_DIRS = {} + +# Dictionary of successfully loaded module names and associated directories. +LOADED_MODULE_DIRS = {} + + +def get_module_name(module_path: str) -> str: + """ + Returns the module name based on the given module path. + Examples: + get_module_name("C:/Users/username/ComfyUI/custom_nodes/my_custom_node.py") -> "my_custom_node" + get_module_name("C:/Users/username/ComfyUI/custom_nodes/my_custom_node") -> "my_custom_node" + get_module_name("C:/Users/username/ComfyUI/custom_nodes/my_custom_node/") -> "my_custom_node" + get_module_name("C:/Users/username/ComfyUI/custom_nodes/my_custom_node/__init__.py") -> "my_custom_node" + get_module_name("C:/Users/username/ComfyUI/custom_nodes/my_custom_node/__init__") -> "my_custom_node" + get_module_name("C:/Users/username/ComfyUI/custom_nodes/my_custom_node/__init__/") -> "my_custom_node" + get_module_name("C:/Users/username/ComfyUI/custom_nodes/my_custom_node.disabled") -> "custom_nodes + Args: + module_path (str): The path of the module. + Returns: + str: The module name. + """ + base_path = os.path.basename(module_path) + if os.path.isfile(module_path): + base_path = os.path.splitext(base_path)[0] + return base_path + + +def load_custom_node(module_path: str, ignore=set(), module_parent="custom_nodes") -> bool: + module_name = os.path.basename(module_path) + if os.path.isfile(module_path): + sp = os.path.splitext(module_path) + module_name = sp[0] + try: + logging.debug("Trying to load custom node {}".format(module_path)) + if os.path.isfile(module_path): + module_spec = importlib.util.spec_from_file_location(module_name, module_path) + module_dir = os.path.split(module_path)[0] + else: + module_spec = importlib.util.spec_from_file_location(module_name, os.path.join(module_path, "__init__.py")) + module_dir = module_path + + module = importlib.util.module_from_spec(module_spec) + sys.modules[module_name] = module + module_spec.loader.exec_module(module) + + LOADED_MODULE_DIRS[module_name] = os.path.abspath(module_dir) + + if hasattr(module, "WEB_DIRECTORY") and getattr(module, "WEB_DIRECTORY") is not None: + web_dir = os.path.abspath(os.path.join(module_dir, getattr(module, "WEB_DIRECTORY"))) + if os.path.isdir(web_dir): + EXTENSION_WEB_DIRS[module_name] = web_dir + + if hasattr(module, "NODE_CLASS_MAPPINGS") and getattr(module, "NODE_CLASS_MAPPINGS") is not None: + for name, node_cls in module.NODE_CLASS_MAPPINGS.items(): + if name not in ignore: + NODE_CLASS_MAPPINGS[name] = node_cls + node_cls.RELATIVE_PYTHON_MODULE = "{}.{}".format(module_parent, get_module_name(module_path)) + if hasattr(module, "NODE_DISPLAY_NAME_MAPPINGS") and getattr(module, "NODE_DISPLAY_NAME_MAPPINGS") is not None: + NODE_DISPLAY_NAME_MAPPINGS.update(module.NODE_DISPLAY_NAME_MAPPINGS) + return True + else: + logging.warning(f"Skip {module_path} module for custom nodes due to the lack of NODE_CLASS_MAPPINGS.") + return False + except Exception as e: + logging.warning(traceback.format_exc()) + logging.warning(f"Cannot import {module_path} module for custom nodes: {e}") + return False + +def init_external_custom_nodes(): + """ + Initializes the external custom nodes. + + This function loads custom nodes from the specified folder paths and imports them into the application. + It measures the import times for each custom node and logs the results. + + Returns: + None + """ + base_node_names = set(NODE_CLASS_MAPPINGS.keys()) + node_paths = folder_paths.get_folder_paths("custom_nodes") + node_import_times = [] + for custom_node_path in node_paths: + possible_modules = os.listdir(os.path.realpath(custom_node_path)) + if "__pycache__" in possible_modules: + possible_modules.remove("__pycache__") + + for possible_module in possible_modules: + module_path = os.path.join(custom_node_path, possible_module) + if os.path.isfile(module_path) and os.path.splitext(module_path)[1] != ".py": continue + if module_path.endswith(".disabled"): continue + time_before = time.perf_counter() + success = load_custom_node(module_path, base_node_names, module_parent="custom_nodes") + node_import_times.append((time.perf_counter() - time_before, module_path, success)) + + if len(node_import_times) > 0: + logging.info("\nImport times for custom nodes:") + for n in sorted(node_import_times): + if n[2]: + import_message = "" + else: + import_message = " (IMPORT FAILED)" + logging.info("{:6.1f} seconds{}: {}".format(n[0], import_message, n[1])) + logging.info("") + +def init_builtin_extra_nodes(): + """ + Initializes the built-in extra nodes in ComfyUI. + + This function loads the extra node files located in the "comfy_extras" directory and imports them into ComfyUI. + If any of the extra node files fail to import, a warning message is logged. + + Returns: + None + """ + extras_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), "comfy_extras") + extras_files = [ + "nodes_latent.py", + "nodes_hypernetwork.py", + "nodes_upscale_model.py", + "nodes_post_processing.py", + "nodes_mask.py", + "nodes_compositing.py", + "nodes_rebatch.py", + "nodes_model_merging.py", + "nodes_tomesd.py", + "nodes_clip_sdxl.py", + "nodes_canny.py", + "nodes_freelunch.py", + "nodes_custom_sampler.py", + "nodes_hypertile.py", + "nodes_model_advanced.py", + "nodes_model_downscale.py", + "nodes_images.py", + "nodes_video_model.py", + "nodes_sag.py", + "nodes_perpneg.py", + "nodes_stable3d.py", + "nodes_sdupscale.py", + "nodes_photomaker.py", + "nodes_pixart.py", + "nodes_cond.py", + "nodes_morphology.py", + "nodes_stable_cascade.py", + "nodes_differential_diffusion.py", + "nodes_ip2p.py", + "nodes_model_merging_model_specific.py", + "nodes_pag.py", + "nodes_align_your_steps.py", + "nodes_attention_multiply.py", + "nodes_advanced_samplers.py", + "nodes_webcam.py", + "nodes_audio.py", + "nodes_sd3.py", + "nodes_gits.py", + "nodes_controlnet.py", + "nodes_hunyuan.py", + "nodes_flux.py", + "nodes_lora_extract.py", + "nodes_torch_compile.py", + "nodes_mochi.py", + "nodes_slg.py", + "nodes_mahiro.py", + "nodes_lt.py", + "nodes_hooks.py", + "nodes_load_3d.py", + "nodes_cosmos.py", + ] + + import_failed = [] + for node_file in extras_files: + if not load_custom_node(os.path.join(extras_dir, node_file), module_parent="comfy_extras"): + import_failed.append(node_file) + + return import_failed + + +def init_extra_nodes(init_custom_nodes=True): + import_failed = init_builtin_extra_nodes() + + if init_custom_nodes: + init_external_custom_nodes() + else: + logging.info("Skipping loading of custom nodes") + + if len(import_failed) > 0: + logging.warning("WARNING: some comfy_extras/ nodes did not import correctly. This may be because they are missing some dependencies.\n") + for node in import_failed: + logging.warning("IMPORT FAILED: {}".format(node)) + logging.warning("\nThis issue might be caused by new missing dependencies added the last time you updated ComfyUI.") + if args.windows_standalone_build: + logging.warning("Please run the update script: update/update_comfyui.bat") + else: + logging.warning("Please do a: pip install -r requirements.txt") + logging.warning("") + + return import_failed diff --git a/notebooks/comfyui_colab.ipynb b/notebooks/comfyui_colab.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..5560b5ff9c3757c7531da25211f1dc496ce3eef3 --- /dev/null +++ b/notebooks/comfyui_colab.ipynb @@ -0,0 +1,322 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "aaaaaaaaaa" + }, + "source": [ + "Git clone the repo and install the requirements. (ignore the pip errors about protobuf)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "bbbbbbbbbb" + }, + "outputs": [], + "source": [ + "#@title Environment Setup\n", + "\n", + "\n", + "OPTIONS = {}\n", + "\n", + "USE_GOOGLE_DRIVE = False #@param {type:\"boolean\"}\n", + "UPDATE_COMFY_UI = True #@param {type:\"boolean\"}\n", + "WORKSPACE = 'ComfyUI'\n", + "OPTIONS['USE_GOOGLE_DRIVE'] = USE_GOOGLE_DRIVE\n", + "OPTIONS['UPDATE_COMFY_UI'] = UPDATE_COMFY_UI\n", + "\n", + "if OPTIONS['USE_GOOGLE_DRIVE']:\n", + " !echo \"Mounting Google Drive...\"\n", + " %cd /\n", + " \n", + " from google.colab import drive\n", + " drive.mount('/content/drive')\n", + "\n", + " WORKSPACE = \"/content/drive/MyDrive/ComfyUI\"\n", + " %cd /content/drive/MyDrive\n", + "\n", + "![ ! -d $WORKSPACE ] && echo -= Initial setup ComfyUI =- && git clone https://github.com/comfyanonymous/ComfyUI\n", + "%cd $WORKSPACE\n", + "\n", + "if OPTIONS['UPDATE_COMFY_UI']:\n", + " !echo -= Updating ComfyUI =-\n", + " !git pull\n", + "\n", + "!echo -= Install dependencies =-\n", + "!pip install xformers!=0.0.18 -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu121 --extra-index-url https://download.pytorch.org/whl/cu118 --extra-index-url https://download.pytorch.org/whl/cu117" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cccccccccc" + }, + "source": [ + "Download some models/checkpoints/vae or custom comfyui nodes (uncomment the commands for the ones you want)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "dddddddddd" + }, + "outputs": [], + "source": [ + "# Checkpoints\n", + "\n", + "### SDXL\n", + "### I recommend these workflow examples: https://comfyanonymous.github.io/ComfyUI_examples/sdxl/\n", + "\n", + "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/\n", + "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/\n", + "\n", + "# SDXL ReVision\n", + "#!wget -c https://huggingface.co/comfyanonymous/clip_vision_g/resolve/main/clip_vision_g.safetensors -P ./models/clip_vision/\n", + "\n", + "# SD1.5\n", + "!wget -c https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly-fp16.safetensors -P ./models/checkpoints/\n", + "\n", + "# SD2\n", + "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.safetensors -P ./models/checkpoints/\n", + "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1/resolve/main/v2-1_768-ema-pruned.safetensors -P ./models/checkpoints/\n", + "\n", + "# Some SD1.5 anime style\n", + "#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix2/AbyssOrangeMix2_hard.safetensors -P ./models/checkpoints/\n", + "#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A1_orangemixs.safetensors -P ./models/checkpoints/\n", + "#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A3_orangemixs.safetensors -P ./models/checkpoints/\n", + "#!wget -c https://huggingface.co/Linaqruf/anything-v3.0/resolve/main/anything-v3-fp16-pruned.safetensors -P ./models/checkpoints/\n", + "\n", + "# Waifu Diffusion 1.5 (anime style SD2.x 768-v)\n", + "#!wget -c https://huggingface.co/waifu-diffusion/wd-1-5-beta3/resolve/main/wd-illusion-fp16.safetensors -P ./models/checkpoints/\n", + "\n", + "\n", + "# unCLIP models\n", + "#!wget -c https://huggingface.co/comfyanonymous/illuminatiDiffusionV1_v11_unCLIP/resolve/main/illuminatiDiffusionV1_v11-unclip-h-fp16.safetensors -P ./models/checkpoints/\n", + "#!wget -c https://huggingface.co/comfyanonymous/wd-1.5-beta2_unCLIP/resolve/main/wd-1-5-beta2-aesthetic-unclip-h-fp16.safetensors -P ./models/checkpoints/\n", + "\n", + "\n", + "# VAE\n", + "!wget -c https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors -P ./models/vae/\n", + "#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/VAEs/orangemix.vae.pt -P ./models/vae/\n", + "#!wget -c https://huggingface.co/hakurei/waifu-diffusion-v1-4/resolve/main/vae/kl-f8-anime2.ckpt -P ./models/vae/\n", + "\n", + "\n", + "# Loras\n", + "#!wget -c https://civitai.com/api/download/models/10350 -O ./models/loras/theovercomer8sContrastFix_sd21768.safetensors #theovercomer8sContrastFix SD2.x 768-v\n", + "#!wget -c https://civitai.com/api/download/models/10638 -O ./models/loras/theovercomer8sContrastFix_sd15.safetensors #theovercomer8sContrastFix SD1.x\n", + "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_offset_example-lora_1.0.safetensors -P ./models/loras/ #SDXL offset noise lora\n", + "\n", + "\n", + "# T2I-Adapter\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_depth_sd14v1.pth -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_seg_sd14v1.pth -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_sketch_sd14v1.pth -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_keypose_sd14v1.pth -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_openpose_sd14v1.pth -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_color_sd14v1.pth -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_canny_sd14v1.pth -P ./models/controlnet/\n", + "\n", + "# T2I Styles Model\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_style_sd14v1.pth -P ./models/style_models/\n", + "\n", + "# CLIPVision model (needed for styles model)\n", + "#!wget -c https://huggingface.co/openai/clip-vit-large-patch14/resolve/main/pytorch_model.bin -O ./models/clip_vision/clip_vit14.bin\n", + "\n", + "\n", + "# ControlNet\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11e_sd15_ip2p_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11e_sd15_shuffle_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_canny_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11f1p_sd15_depth_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_inpaint_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_lineart_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_mlsd_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_normalbae_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_openpose_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_scribble_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_seg_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_softedge_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15s2_lineart_anime_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11u_sd15_tile_fp16.safetensors -P ./models/controlnet/\n", + "\n", + "# ControlNet SDXL\n", + "#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-canny-rank256.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-depth-rank256.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-recolor-rank256.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-sketch-rank256.safetensors -P ./models/controlnet/\n", + "\n", + "# Controlnet Preprocessor nodes by Fannovel16\n", + "#!cd custom_nodes && git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors; cd comfy_controlnet_preprocessors && python install.py\n", + "\n", + "\n", + "# GLIGEN\n", + "#!wget -c https://huggingface.co/comfyanonymous/GLIGEN_pruned_safetensors/resolve/main/gligen_sd14_textbox_pruned_fp16.safetensors -P ./models/gligen/\n", + "\n", + "\n", + "# ESRGAN upscale model\n", + "#!wget -c https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P ./models/upscale_models/\n", + "#!wget -c https://huggingface.co/sberbank-ai/Real-ESRGAN/resolve/main/RealESRGAN_x2.pth -P ./models/upscale_models/\n", + "#!wget -c https://huggingface.co/sberbank-ai/Real-ESRGAN/resolve/main/RealESRGAN_x4.pth -P ./models/upscale_models/\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "kkkkkkkkkkkkkkk" + }, + "source": [ + "### Run ComfyUI with cloudflared (Recommended Way)\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "jjjjjjjjjjjjjj" + }, + "outputs": [], + "source": [ + "!wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb\n", + "!dpkg -i cloudflared-linux-amd64.deb\n", + "\n", + "import subprocess\n", + "import threading\n", + "import time\n", + "import socket\n", + "import urllib.request\n", + "\n", + "def iframe_thread(port):\n", + " while True:\n", + " time.sleep(0.5)\n", + " sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n", + " result = sock.connect_ex(('127.0.0.1', port))\n", + " if result == 0:\n", + " break\n", + " sock.close()\n", + " print(\"\\nComfyUI finished loading, trying to launch cloudflared (if it gets stuck here cloudflared is having issues)\\n\")\n", + "\n", + " p = subprocess.Popen([\"cloudflared\", \"tunnel\", \"--url\", \"http://127.0.0.1:{}\".format(port)], stdout=subprocess.PIPE, stderr=subprocess.PIPE)\n", + " for line in p.stderr:\n", + " l = line.decode()\n", + " if \"trycloudflare.com \" in l:\n", + " print(\"This is the URL to access ComfyUI:\", l[l.find(\"http\"):], end='')\n", + " #print(l, end='')\n", + "\n", + "\n", + "threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n", + "\n", + "!python main.py --dont-print-server" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "kkkkkkkkkkkkkk" + }, + "source": [ + "### Run ComfyUI with localtunnel\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "jjjjjjjjjjjjj" + }, + "outputs": [], + "source": [ + "!npm install -g localtunnel\n", + "\n", + "import threading\n", + "\n", + "def iframe_thread(port):\n", + " while True:\n", + " time.sleep(0.5)\n", + " sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n", + " result = sock.connect_ex(('127.0.0.1', port))\n", + " if result == 0:\n", + " break\n", + " sock.close()\n", + " print(\"\\nComfyUI finished loading, trying to launch localtunnel (if it gets stuck here localtunnel is having issues)\\n\")\n", + "\n", + " print(\"The password/enpoint ip for localtunnel is:\", urllib.request.urlopen('https://ipv4.icanhazip.com').read().decode('utf8').strip(\"\\n\"))\n", + " p = subprocess.Popen([\"lt\", \"--port\", \"{}\".format(port)], stdout=subprocess.PIPE)\n", + " for line in p.stdout:\n", + " print(line.decode(), end='')\n", + "\n", + "\n", + "threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n", + "\n", + "!python main.py --dont-print-server" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gggggggggg" + }, + "source": [ + "### Run ComfyUI with colab iframe (use only in case the previous way with localtunnel doesn't work)\n", + "\n", + "You should see the ui appear in an iframe. If you get a 403 error, it's your firefox settings or an extension that's messing things up.\n", + "\n", + "If you want to open it in another window use the link.\n", + "\n", + "Note that some UI features like live image previews won't work because the colab iframe blocks websockets." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "hhhhhhhhhh" + }, + "outputs": [], + "source": [ + "import threading\n", + "def iframe_thread(port):\n", + " while True:\n", + " time.sleep(0.5)\n", + " sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n", + " result = sock.connect_ex(('127.0.0.1', port))\n", + " if result == 0:\n", + " break\n", + " sock.close()\n", + " from google.colab import output\n", + " output.serve_kernel_port_as_iframe(port, height=1024)\n", + " print(\"to open it in a window you can open this link here:\")\n", + " output.serve_kernel_port_as_window(port)\n", + "\n", + "threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n", + "\n", + "!python main.py --dont-print-server" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "provenance": [] + }, + "gpuClass": "standard", + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000000000000000000000000000000000000..b747d6ef78cd6e6902581a2d714e35b1de28849e --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,23 @@ +[project] +name = "ComfyUI" +version = "0.3.10" +readme = "README.md" +license = { file = "LICENSE" } +requires-python = ">=3.9" + +[project.urls] +homepage = "https://www.comfy.org/" +repository = "https://github.com/comfyanonymous/ComfyUI" +documentation = "https://docs.comfy.org/" + +[tool.ruff] +lint.select = [ + "S307", # suspicious-eval-usage + "S102", # exec + "T", # print-usage + "W", + # The "F" series in Ruff stands for "Pyflakes" rules, which catch various Python syntax errors and undefined names. + # See all rules here: https://docs.astral.sh/ruff/rules/#pyflakes-f + "F", +] +exclude = ["*.ipynb"] diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000000000000000000000000000000000000..a224d8cbb5511cf6be0c0cf75ae92268339e11d6 --- /dev/null +++ b/pytest.ini @@ -0,0 +1,9 @@ +[pytest] +markers = + inference: mark as inference test (deselect with '-m "not inference"') + execution: mark as execution test (deselect with '-m "not execution"') +testpaths = + tests + tests-unit +addopts = -s +pythonpath = . diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..ec63f9e875fe920c28215d161780f0774cd64c01 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,24 @@ +torch +torchsde +torchvision +torchaudio +einops +transformers>=4.28.1 +tokenizers>=0.13.3 +sentencepiece +safetensors>=0.4.2 +aiohttp +pyyaml +Pillow +scipy +tqdm +psutil + +#non essential dependencies: +kornia>=0.7.1 +spandrel +soundfile + +# needed for huggingface spaces, from custom nodes folders +accelerate +huggingface_hub \ No newline at end of file diff --git a/script_examples/basic_api_example.py b/script_examples/basic_api_example.py new file mode 100644 index 0000000000000000000000000000000000000000..c916e6cb98909b0178b2783144c2d15693be9485 --- /dev/null +++ b/script_examples/basic_api_example.py @@ -0,0 +1,119 @@ +import json +from urllib import request + +#This is the ComfyUI api prompt format. + +#If you want it for a specific workflow you can "enable dev mode options" +#in the settings of the UI (gear beside the "Queue Size: ") this will enable +#a button on the UI to save workflows in api format. + +#keep in mind ComfyUI is pre alpha software so this format will change a bit. + +#this is the one for the default workflow +prompt_text = """ +{ + "3": { + "class_type": "KSampler", + "inputs": { + "cfg": 8, + "denoise": 1, + "latent_image": [ + "5", + 0 + ], + "model": [ + "4", + 0 + ], + "negative": [ + "7", + 0 + ], + "positive": [ + "6", + 0 + ], + "sampler_name": "euler", + "scheduler": "normal", + "seed": 8566257, + "steps": 20 + } + }, + "4": { + "class_type": "CheckpointLoaderSimple", + "inputs": { + "ckpt_name": "v1-5-pruned-emaonly.safetensors" + } + }, + "5": { + "class_type": "EmptyLatentImage", + "inputs": { + "batch_size": 1, + "height": 512, + "width": 512 + } + }, + "6": { + "class_type": "CLIPTextEncode", + "inputs": { + "clip": [ + "4", + 1 + ], + "text": "masterpiece best quality girl" + } + }, + "7": { + "class_type": "CLIPTextEncode", + "inputs": { + "clip": [ + "4", + 1 + ], + "text": "bad hands" + } + }, + "8": { + "class_type": "VAEDecode", + "inputs": { + "samples": [ + "3", + 0 + ], + "vae": [ + "4", + 2 + ] + } + }, + "9": { + "class_type": "SaveImage", + "inputs": { + "filename_prefix": "ComfyUI", + "images": [ + "8", + 0 + ] + } + } +} +""" + +def queue_prompt(prompt): + p = {"prompt": prompt} + data = json.dumps(p).encode('utf-8') + req = request.Request("http://127.0.0.1:8188/prompt", data=data) + request.urlopen(req) + + +prompt = json.loads(prompt_text) +#set the text prompt for our positive CLIPTextEncode +prompt["6"]["inputs"]["text"] = "masterpiece best quality man" + +#set the seed for our KSampler node +prompt["3"]["inputs"]["seed"] = 5 + + +queue_prompt(prompt) + + diff --git a/script_examples/websockets_api_example.py b/script_examples/websockets_api_example.py new file mode 100644 index 0000000000000000000000000000000000000000..d696d2bba2c8518808567afac751f6c25913594d --- /dev/null +++ b/script_examples/websockets_api_example.py @@ -0,0 +1,166 @@ +#This is an example that uses the websockets api to know when a prompt execution is done +#Once the prompt execution is done it downloads the images using the /history endpoint + +import websocket #NOTE: websocket-client (https://github.com/websocket-client/websocket-client) +import uuid +import json +import urllib.request +import urllib.parse + +server_address = "127.0.0.1:8188" +client_id = str(uuid.uuid4()) + +def queue_prompt(prompt): + p = {"prompt": prompt, "client_id": client_id} + data = json.dumps(p).encode('utf-8') + req = urllib.request.Request("http://{}/prompt".format(server_address), data=data) + return json.loads(urllib.request.urlopen(req).read()) + +def get_image(filename, subfolder, folder_type): + data = {"filename": filename, "subfolder": subfolder, "type": folder_type} + url_values = urllib.parse.urlencode(data) + with urllib.request.urlopen("http://{}/view?{}".format(server_address, url_values)) as response: + return response.read() + +def get_history(prompt_id): + with urllib.request.urlopen("http://{}/history/{}".format(server_address, prompt_id)) as response: + return json.loads(response.read()) + +def get_images(ws, prompt): + prompt_id = queue_prompt(prompt)['prompt_id'] + output_images = {} + while True: + out = ws.recv() + if isinstance(out, str): + message = json.loads(out) + if message['type'] == 'executing': + data = message['data'] + if data['node'] is None and data['prompt_id'] == prompt_id: + break #Execution is done + else: + # If you want to be able to decode the binary stream for latent previews, here is how you can do it: + # bytesIO = BytesIO(out[8:]) + # preview_image = Image.open(bytesIO) # This is your preview in PIL image format, store it in a global + continue #previews are binary data + + history = get_history(prompt_id)[prompt_id] + for node_id in history['outputs']: + node_output = history['outputs'][node_id] + images_output = [] + if 'images' in node_output: + for image in node_output['images']: + image_data = get_image(image['filename'], image['subfolder'], image['type']) + images_output.append(image_data) + output_images[node_id] = images_output + + return output_images + +prompt_text = """ +{ + "3": { + "class_type": "KSampler", + "inputs": { + "cfg": 8, + "denoise": 1, + "latent_image": [ + "5", + 0 + ], + "model": [ + "4", + 0 + ], + "negative": [ + "7", + 0 + ], + "positive": [ + "6", + 0 + ], + "sampler_name": "euler", + "scheduler": "normal", + "seed": 8566257, + "steps": 20 + } + }, + "4": { + "class_type": "CheckpointLoaderSimple", + "inputs": { + "ckpt_name": "v1-5-pruned-emaonly.safetensors" + } + }, + "5": { + "class_type": "EmptyLatentImage", + "inputs": { + "batch_size": 1, + "height": 512, + "width": 512 + } + }, + "6": { + "class_type": "CLIPTextEncode", + "inputs": { + "clip": [ + "4", + 1 + ], + "text": "masterpiece best quality girl" + } + }, + "7": { + "class_type": "CLIPTextEncode", + "inputs": { + "clip": [ + "4", + 1 + ], + "text": "bad hands" + } + }, + "8": { + "class_type": "VAEDecode", + "inputs": { + "samples": [ + "3", + 0 + ], + "vae": [ + "4", + 2 + ] + } + }, + "9": { + "class_type": "SaveImage", + "inputs": { + "filename_prefix": "ComfyUI", + "images": [ + "8", + 0 + ] + } + } +} +""" + +prompt = json.loads(prompt_text) +#set the text prompt for our positive CLIPTextEncode +prompt["6"]["inputs"]["text"] = "masterpiece best quality man" + +#set the seed for our KSampler node +prompt["3"]["inputs"]["seed"] = 5 + +ws = websocket.WebSocket() +ws.connect("ws://{}/ws?clientId={}".format(server_address, client_id)) +images = get_images(ws, prompt) +ws.close() # for in case this example is used in an environment where it will be repeatedly called, like in a Gradio app. otherwise, you'll randomly receive connection timeouts +#Commented out code to display the output images: + +# for node_id in images: +# for image_data in images[node_id]: +# from PIL import Image +# import io +# image = Image.open(io.BytesIO(image_data)) +# image.show() + diff --git a/script_examples/websockets_api_example_ws_images.py b/script_examples/websockets_api_example_ws_images.py new file mode 100644 index 0000000000000000000000000000000000000000..6508ecc99e732f75c2489e3cddb42229de2d356a --- /dev/null +++ b/script_examples/websockets_api_example_ws_images.py @@ -0,0 +1,159 @@ +#This is an example that uses the websockets api and the SaveImageWebsocket node to get images directly without +#them being saved to disk + +import websocket #NOTE: websocket-client (https://github.com/websocket-client/websocket-client) +import uuid +import json +import urllib.request +import urllib.parse + +server_address = "127.0.0.1:8188" +client_id = str(uuid.uuid4()) + +def queue_prompt(prompt): + p = {"prompt": prompt, "client_id": client_id} + data = json.dumps(p).encode('utf-8') + req = urllib.request.Request("http://{}/prompt".format(server_address), data=data) + return json.loads(urllib.request.urlopen(req).read()) + +def get_image(filename, subfolder, folder_type): + data = {"filename": filename, "subfolder": subfolder, "type": folder_type} + url_values = urllib.parse.urlencode(data) + with urllib.request.urlopen("http://{}/view?{}".format(server_address, url_values)) as response: + return response.read() + +def get_history(prompt_id): + with urllib.request.urlopen("http://{}/history/{}".format(server_address, prompt_id)) as response: + return json.loads(response.read()) + +def get_images(ws, prompt): + prompt_id = queue_prompt(prompt)['prompt_id'] + output_images = {} + current_node = "" + while True: + out = ws.recv() + if isinstance(out, str): + message = json.loads(out) + if message['type'] == 'executing': + data = message['data'] + if data['prompt_id'] == prompt_id: + if data['node'] is None: + break #Execution is done + else: + current_node = data['node'] + else: + if current_node == 'save_image_websocket_node': + images_output = output_images.get(current_node, []) + images_output.append(out[8:]) + output_images[current_node] = images_output + + return output_images + +prompt_text = """ +{ + "3": { + "class_type": "KSampler", + "inputs": { + "cfg": 8, + "denoise": 1, + "latent_image": [ + "5", + 0 + ], + "model": [ + "4", + 0 + ], + "negative": [ + "7", + 0 + ], + "positive": [ + "6", + 0 + ], + "sampler_name": "euler", + "scheduler": "normal", + "seed": 8566257, + "steps": 20 + } + }, + "4": { + "class_type": "CheckpointLoaderSimple", + "inputs": { + "ckpt_name": "v1-5-pruned-emaonly.safetensors" + } + }, + "5": { + "class_type": "EmptyLatentImage", + "inputs": { + "batch_size": 1, + "height": 512, + "width": 512 + } + }, + "6": { + "class_type": "CLIPTextEncode", + "inputs": { + "clip": [ + "4", + 1 + ], + "text": "masterpiece best quality girl" + } + }, + "7": { + "class_type": "CLIPTextEncode", + "inputs": { + "clip": [ + "4", + 1 + ], + "text": "bad hands" + } + }, + "8": { + "class_type": "VAEDecode", + "inputs": { + "samples": [ + "3", + 0 + ], + "vae": [ + "4", + 2 + ] + } + }, + "save_image_websocket_node": { + "class_type": "SaveImageWebsocket", + "inputs": { + "images": [ + "8", + 0 + ] + } + } +} +""" + +prompt = json.loads(prompt_text) +#set the text prompt for our positive CLIPTextEncode +prompt["6"]["inputs"]["text"] = "masterpiece best quality man" + +#set the seed for our KSampler node +prompt["3"]["inputs"]["seed"] = 5 + +ws = websocket.WebSocket() +ws.connect("ws://{}/ws?clientId={}".format(server_address, client_id)) +images = get_images(ws, prompt) +ws.close() # for in case this example is used in an environment where it will be repeatedly called, like in a Gradio app. otherwise, you'll randomly receive connection timeouts +#Commented out code to display the output images: + +# for node_id in images: +# for image_data in images[node_id]: +# from PIL import Image +# import io +# image = Image.open(io.BytesIO(image_data)) +# image.show() + diff --git a/server.py b/server.py new file mode 100644 index 0000000000000000000000000000000000000000..bae898ef5d6e02130fe6ea3f3bcad9ec126c8603 --- /dev/null +++ b/server.py @@ -0,0 +1,841 @@ +import os +import sys +import asyncio +import traceback + +import nodes +import folder_paths +import execution +import uuid +import urllib +import json +import glob +import struct +import ssl +import socket +import ipaddress +from PIL import Image, ImageOps +from PIL.PngImagePlugin import PngInfo +from io import BytesIO + +import aiohttp +from aiohttp import web +import logging + +import mimetypes +from comfy.cli_args import args +import comfy.utils +import comfy.model_management +import node_helpers +from comfyui_version import __version__ +from app.frontend_management import FrontendManager +from app.user_manager import UserManager +from app.model_manager import ModelFileManager +from app.custom_node_manager import CustomNodeManager +from typing import Optional +from api_server.routes.internal.internal_routes import InternalRoutes + +class BinaryEventTypes: + PREVIEW_IMAGE = 1 + UNENCODED_PREVIEW_IMAGE = 2 + +async def send_socket_catch_exception(function, message): + try: + await function(message) + except (aiohttp.ClientError, aiohttp.ClientPayloadError, ConnectionResetError, BrokenPipeError, ConnectionError) as err: + logging.warning("send error: {}".format(err)) + +@web.middleware +async def cache_control(request: web.Request, handler): + response: web.Response = await handler(request) + if request.path.endswith('.js') or request.path.endswith('.css'): + response.headers.setdefault('Cache-Control', 'no-cache') + return response + +def create_cors_middleware(allowed_origin: str): + @web.middleware + async def cors_middleware(request: web.Request, handler): + if request.method == "OPTIONS": + # Pre-flight request. Reply successfully: + response = web.Response() + else: + response = await handler(request) + + response.headers['Access-Control-Allow-Origin'] = allowed_origin + response.headers['Access-Control-Allow-Methods'] = 'POST, GET, DELETE, PUT, OPTIONS' + response.headers['Access-Control-Allow-Headers'] = 'Content-Type, Authorization' + response.headers['Access-Control-Allow-Credentials'] = 'true' + return response + + return cors_middleware + +def is_loopback(host): + if host is None: + return False + try: + if ipaddress.ip_address(host).is_loopback: + return True + else: + return False + except: + pass + + loopback = False + for family in (socket.AF_INET, socket.AF_INET6): + try: + r = socket.getaddrinfo(host, None, family, socket.SOCK_STREAM) + for family, _, _, _, sockaddr in r: + if not ipaddress.ip_address(sockaddr[0]).is_loopback: + return loopback + else: + loopback = True + except socket.gaierror: + pass + + return loopback + + +def create_origin_only_middleware(): + @web.middleware + async def origin_only_middleware(request: web.Request, handler): + #this code is used to prevent the case where a random website can queue comfy workflows by making a POST to 127.0.0.1 which browsers don't prevent for some dumb reason. + #in that case the Host and Origin hostnames won't match + #I know the proper fix would be to add a cookie but this should take care of the problem in the meantime + if 'Host' in request.headers and 'Origin' in request.headers: + host = request.headers['Host'] + origin = request.headers['Origin'] + host_domain = host.lower() + parsed = urllib.parse.urlparse(origin) + origin_domain = parsed.netloc.lower() + host_domain_parsed = urllib.parse.urlsplit('//' + host_domain) + + #limit the check to when the host domain is localhost, this makes it slightly less safe but should still prevent the exploit + loopback = is_loopback(host_domain_parsed.hostname) + + if parsed.port is None: #if origin doesn't have a port strip it from the host to handle weird browsers, same for host + host_domain = host_domain_parsed.hostname + if host_domain_parsed.port is None: + origin_domain = parsed.hostname + + if loopback and host_domain is not None and origin_domain is not None and len(host_domain) > 0 and len(origin_domain) > 0: + if host_domain != origin_domain: + logging.warning("WARNING: request with non matching host and origin {} != {}, returning 403".format(host_domain, origin_domain)) + return web.Response(status=403) + + if request.method == "OPTIONS": + response = web.Response() + else: + response = await handler(request) + + return response + + return origin_only_middleware + +class PromptServer(): + def __init__(self, loop): + PromptServer.instance = self + + mimetypes.init() + mimetypes.types_map['.js'] = 'application/javascript; charset=utf-8' + + self.user_manager = UserManager() + self.model_file_manager = ModelFileManager() + self.custom_node_manager = CustomNodeManager() + self.internal_routes = InternalRoutes(self) + self.supports = ["custom_nodes_from_web"] + self.prompt_queue = None + self.loop = loop + self.messages = asyncio.Queue() + self.client_session:Optional[aiohttp.ClientSession] = None + self.number = 0 + + middlewares = [cache_control] + if args.enable_cors_header: + middlewares.append(create_cors_middleware(args.enable_cors_header)) + else: + middlewares.append(create_origin_only_middleware()) + + max_upload_size = round(args.max_upload_size * 1024 * 1024) + self.app = web.Application(client_max_size=max_upload_size, middlewares=middlewares) + self.sockets = dict() + self.web_root = ( + FrontendManager.init_frontend(args.front_end_version) + if args.front_end_root is None + else args.front_end_root + ) + logging.info(f"[Prompt Server] web root: {self.web_root}") + routes = web.RouteTableDef() + self.routes = routes + self.last_node_id = None + self.client_id = None + + self.on_prompt_handlers = [] + + @routes.get('/ws') + async def websocket_handler(request): + ws = web.WebSocketResponse() + await ws.prepare(request) + sid = request.rel_url.query.get('clientId', '') + if sid: + # Reusing existing session, remove old + self.sockets.pop(sid, None) + else: + sid = uuid.uuid4().hex + + self.sockets[sid] = ws + + try: + # Send initial state to the new client + await self.send("status", { "status": self.get_queue_info(), 'sid': sid }, sid) + # On reconnect if we are the currently executing client send the current node + if self.client_id == sid and self.last_node_id is not None: + await self.send("executing", { "node": self.last_node_id }, sid) + + async for msg in ws: + if msg.type == aiohttp.WSMsgType.ERROR: + logging.warning('ws connection closed with exception %s' % ws.exception()) + finally: + self.sockets.pop(sid, None) + return ws + + @routes.get("/") + async def get_root(request): + response = web.FileResponse(os.path.join(self.web_root, "index.html")) + response.headers['Cache-Control'] = 'no-cache' + response.headers["Pragma"] = "no-cache" + response.headers["Expires"] = "0" + return response + + @routes.get("/embeddings") + def get_embeddings(self): + embeddings = folder_paths.get_filename_list("embeddings") + return web.json_response(list(map(lambda a: os.path.splitext(a)[0], embeddings))) + + @routes.get("/models") + def list_model_types(request): + model_types = list(folder_paths.folder_names_and_paths.keys()) + + return web.json_response(model_types) + + @routes.get("/models/{folder}") + async def get_models(request): + folder = request.match_info.get("folder", None) + if not folder in folder_paths.folder_names_and_paths: + return web.Response(status=404) + files = folder_paths.get_filename_list(folder) + return web.json_response(files) + + @routes.get("/extensions") + async def get_extensions(request): + files = glob.glob(os.path.join( + glob.escape(self.web_root), 'extensions/**/*.js'), recursive=True) + + extensions = list(map(lambda f: "/" + os.path.relpath(f, self.web_root).replace("\\", "/"), files)) + + for name, dir in nodes.EXTENSION_WEB_DIRS.items(): + files = glob.glob(os.path.join(glob.escape(dir), '**/*.js'), recursive=True) + extensions.extend(list(map(lambda f: "/extensions/" + urllib.parse.quote( + name) + "/" + os.path.relpath(f, dir).replace("\\", "/"), files))) + + return web.json_response(extensions) + + def get_dir_by_type(dir_type): + if dir_type is None: + dir_type = "input" + + if dir_type == "input": + type_dir = folder_paths.get_input_directory() + elif dir_type == "temp": + type_dir = folder_paths.get_temp_directory() + elif dir_type == "output": + type_dir = folder_paths.get_output_directory() + + return type_dir, dir_type + + def compare_image_hash(filepath, image): + hasher = node_helpers.hasher() + + # function to compare hashes of two images to see if it already exists, fix to #3465 + if os.path.exists(filepath): + a = hasher() + b = hasher() + with open(filepath, "rb") as f: + a.update(f.read()) + b.update(image.file.read()) + image.file.seek(0) + f.close() + return a.hexdigest() == b.hexdigest() + return False + + def image_upload(post, image_save_function=None): + image = post.get("image") + overwrite = post.get("overwrite") + image_is_duplicate = False + + image_upload_type = post.get("type") + upload_dir, image_upload_type = get_dir_by_type(image_upload_type) + + if image and image.file: + filename = image.filename + if not filename: + return web.Response(status=400) + + subfolder = post.get("subfolder", "") + full_output_folder = os.path.join(upload_dir, os.path.normpath(subfolder)) + filepath = os.path.abspath(os.path.join(full_output_folder, filename)) + + if os.path.commonpath((upload_dir, filepath)) != upload_dir: + return web.Response(status=400) + + if not os.path.exists(full_output_folder): + os.makedirs(full_output_folder) + + split = os.path.splitext(filename) + + if overwrite is not None and (overwrite == "true" or overwrite == "1"): + pass + else: + i = 1 + while os.path.exists(filepath): + if compare_image_hash(filepath, image): #compare hash to prevent saving of duplicates with same name, fix for #3465 + image_is_duplicate = True + break + filename = f"{split[0]} ({i}){split[1]}" + filepath = os.path.join(full_output_folder, filename) + i += 1 + + if not image_is_duplicate: + if image_save_function is not None: + image_save_function(image, post, filepath) + else: + with open(filepath, "wb") as f: + f.write(image.file.read()) + + return web.json_response({"name" : filename, "subfolder": subfolder, "type": image_upload_type}) + else: + return web.Response(status=400) + + @routes.post("/upload/image") + async def upload_image(request): + post = await request.post() + return image_upload(post) + + + @routes.post("/upload/mask") + async def upload_mask(request): + post = await request.post() + + def image_save_function(image, post, filepath): + original_ref = json.loads(post.get("original_ref")) + filename, output_dir = folder_paths.annotated_filepath(original_ref['filename']) + + # validation for security: prevent accessing arbitrary path + if filename[0] == '/' or '..' in filename: + return web.Response(status=400) + + if output_dir is None: + type = original_ref.get("type", "output") + output_dir = folder_paths.get_directory_by_type(type) + + if output_dir is None: + return web.Response(status=400) + + if original_ref.get("subfolder", "") != "": + full_output_dir = os.path.join(output_dir, original_ref["subfolder"]) + if os.path.commonpath((os.path.abspath(full_output_dir), output_dir)) != output_dir: + return web.Response(status=403) + output_dir = full_output_dir + + file = os.path.join(output_dir, filename) + + if os.path.isfile(file): + with Image.open(file) as original_pil: + metadata = PngInfo() + if hasattr(original_pil,'text'): + for key in original_pil.text: + metadata.add_text(key, original_pil.text[key]) + original_pil = original_pil.convert('RGBA') + mask_pil = Image.open(image.file).convert('RGBA') + + # alpha copy + new_alpha = mask_pil.getchannel('A') + original_pil.putalpha(new_alpha) + original_pil.save(filepath, compress_level=4, pnginfo=metadata) + + return image_upload(post, image_save_function) + + @routes.get("/view") + async def view_image(request): + if "filename" in request.rel_url.query: + filename = request.rel_url.query["filename"] + filename,output_dir = folder_paths.annotated_filepath(filename) + + # validation for security: prevent accessing arbitrary path + if filename[0] == '/' or '..' in filename: + return web.Response(status=400) + + if output_dir is None: + type = request.rel_url.query.get("type", "output") + output_dir = folder_paths.get_directory_by_type(type) + + if output_dir is None: + return web.Response(status=400) + + if "subfolder" in request.rel_url.query: + full_output_dir = os.path.join(output_dir, request.rel_url.query["subfolder"]) + if os.path.commonpath((os.path.abspath(full_output_dir), output_dir)) != output_dir: + return web.Response(status=403) + output_dir = full_output_dir + + filename = os.path.basename(filename) + file = os.path.join(output_dir, filename) + + if os.path.isfile(file): + if 'preview' in request.rel_url.query: + with Image.open(file) as img: + preview_info = request.rel_url.query['preview'].split(';') + image_format = preview_info[0] + if image_format not in ['webp', 'jpeg'] or 'a' in request.rel_url.query.get('channel', ''): + image_format = 'webp' + + quality = 90 + if preview_info[-1].isdigit(): + quality = int(preview_info[-1]) + + buffer = BytesIO() + if image_format in ['jpeg'] or request.rel_url.query.get('channel', '') == 'rgb': + img = img.convert("RGB") + img.save(buffer, format=image_format, quality=quality) + buffer.seek(0) + + return web.Response(body=buffer.read(), content_type=f'image/{image_format}', + headers={"Content-Disposition": f"filename=\"{filename}\""}) + + if 'channel' not in request.rel_url.query: + channel = 'rgba' + else: + channel = request.rel_url.query["channel"] + + if channel == 'rgb': + with Image.open(file) as img: + if img.mode == "RGBA": + r, g, b, a = img.split() + new_img = Image.merge('RGB', (r, g, b)) + else: + new_img = img.convert("RGB") + + buffer = BytesIO() + new_img.save(buffer, format='PNG') + buffer.seek(0) + + return web.Response(body=buffer.read(), content_type='image/png', + headers={"Content-Disposition": f"filename=\"{filename}\""}) + + elif channel == 'a': + with Image.open(file) as img: + if img.mode == "RGBA": + _, _, _, a = img.split() + else: + a = Image.new('L', img.size, 255) + + # alpha img + alpha_img = Image.new('RGBA', img.size) + alpha_img.putalpha(a) + alpha_buffer = BytesIO() + alpha_img.save(alpha_buffer, format='PNG') + alpha_buffer.seek(0) + + return web.Response(body=alpha_buffer.read(), content_type='image/png', + headers={"Content-Disposition": f"filename=\"{filename}\""}) + else: + # Get content type from mimetype, defaulting to 'application/octet-stream' + content_type = mimetypes.guess_type(filename)[0] or 'application/octet-stream' + + # For security, force certain extensions to download instead of display + file_extension = os.path.splitext(filename)[1].lower() + if file_extension in {'.html', '.htm', '.js', '.css'}: + content_type = 'application/octet-stream' # Forces download + + return web.FileResponse( + file, + headers={ + "Content-Disposition": f"filename=\"{filename}\"", + "Content-Type": content_type + } + ) + + return web.Response(status=404) + + @routes.get("/view_metadata/{folder_name}") + async def view_metadata(request): + folder_name = request.match_info.get("folder_name", None) + if folder_name is None: + return web.Response(status=404) + if not "filename" in request.rel_url.query: + return web.Response(status=404) + + filename = request.rel_url.query["filename"] + if not filename.endswith(".safetensors"): + return web.Response(status=404) + + safetensors_path = folder_paths.get_full_path(folder_name, filename) + if safetensors_path is None: + return web.Response(status=404) + out = comfy.utils.safetensors_header(safetensors_path, max_size=1024*1024) + if out is None: + return web.Response(status=404) + dt = json.loads(out) + if not "__metadata__" in dt: + return web.Response(status=404) + return web.json_response(dt["__metadata__"]) + + @routes.get("/system_stats") + async def system_stats(request): + device = comfy.model_management.get_torch_device() + device_name = comfy.model_management.get_torch_device_name(device) + cpu_device = comfy.model_management.torch.device("cpu") + ram_total = comfy.model_management.get_total_memory(cpu_device) + ram_free = comfy.model_management.get_free_memory(cpu_device) + vram_total, torch_vram_total = comfy.model_management.get_total_memory(device, torch_total_too=True) + vram_free, torch_vram_free = comfy.model_management.get_free_memory(device, torch_free_too=True) + + system_stats = { + "system": { + "os": os.name, + "ram_total": ram_total, + "ram_free": ram_free, + "comfyui_version": __version__, + "python_version": sys.version, + "pytorch_version": comfy.model_management.torch_version, + "embedded_python": os.path.split(os.path.split(sys.executable)[0])[1] == "python_embeded", + "argv": sys.argv + }, + "devices": [ + { + "name": device_name, + "type": device.type, + "index": device.index, + "vram_total": vram_total, + "vram_free": vram_free, + "torch_vram_total": torch_vram_total, + "torch_vram_free": torch_vram_free, + } + ] + } + return web.json_response(system_stats) + + @routes.get("/prompt") + async def get_prompt(request): + return web.json_response(self.get_queue_info()) + + def node_info(node_class): + obj_class = nodes.NODE_CLASS_MAPPINGS[node_class] + info = {} + info['input'] = obj_class.INPUT_TYPES() + info['input_order'] = {key: list(value.keys()) for (key, value) in obj_class.INPUT_TYPES().items()} + info['output'] = obj_class.RETURN_TYPES + info['output_is_list'] = obj_class.OUTPUT_IS_LIST if hasattr(obj_class, 'OUTPUT_IS_LIST') else [False] * len(obj_class.RETURN_TYPES) + info['output_name'] = obj_class.RETURN_NAMES if hasattr(obj_class, 'RETURN_NAMES') else info['output'] + info['name'] = node_class + info['display_name'] = nodes.NODE_DISPLAY_NAME_MAPPINGS[node_class] if node_class in nodes.NODE_DISPLAY_NAME_MAPPINGS.keys() else node_class + info['description'] = obj_class.DESCRIPTION if hasattr(obj_class,'DESCRIPTION') else '' + info['python_module'] = getattr(obj_class, "RELATIVE_PYTHON_MODULE", "nodes") + info['category'] = 'sd' + if hasattr(obj_class, 'OUTPUT_NODE') and obj_class.OUTPUT_NODE == True: + info['output_node'] = True + else: + info['output_node'] = False + + if hasattr(obj_class, 'CATEGORY'): + info['category'] = obj_class.CATEGORY + + if hasattr(obj_class, 'OUTPUT_TOOLTIPS'): + info['output_tooltips'] = obj_class.OUTPUT_TOOLTIPS + + if getattr(obj_class, "DEPRECATED", False): + info['deprecated'] = True + if getattr(obj_class, "EXPERIMENTAL", False): + info['experimental'] = True + return info + + @routes.get("/object_info") + async def get_object_info(request): + with folder_paths.cache_helper: + out = {} + for x in nodes.NODE_CLASS_MAPPINGS: + try: + out[x] = node_info(x) + except Exception: + logging.error(f"[ERROR] An error occurred while retrieving information for the '{x}' node.") + logging.error(traceback.format_exc()) + return web.json_response(out) + + @routes.get("/object_info/{node_class}") + async def get_object_info_node(request): + node_class = request.match_info.get("node_class", None) + out = {} + if (node_class is not None) and (node_class in nodes.NODE_CLASS_MAPPINGS): + out[node_class] = node_info(node_class) + return web.json_response(out) + + @routes.get("/history") + async def get_history(request): + max_items = request.rel_url.query.get("max_items", None) + if max_items is not None: + max_items = int(max_items) + return web.json_response(self.prompt_queue.get_history(max_items=max_items)) + + @routes.get("/history/{prompt_id}") + async def get_history_prompt_id(request): + prompt_id = request.match_info.get("prompt_id", None) + return web.json_response(self.prompt_queue.get_history(prompt_id=prompt_id)) + + @routes.get("/queue") + async def get_queue(request): + queue_info = {} + current_queue = self.prompt_queue.get_current_queue() + queue_info['queue_running'] = current_queue[0] + queue_info['queue_pending'] = current_queue[1] + return web.json_response(queue_info) + + @routes.post("/prompt") + async def post_prompt(request): + logging.info("got prompt") + json_data = await request.json() + json_data = self.trigger_on_prompt(json_data) + + if "number" in json_data: + number = float(json_data['number']) + else: + number = self.number + if "front" in json_data: + if json_data['front']: + number = -number + + self.number += 1 + + if "prompt" in json_data: + prompt = json_data["prompt"] + valid = execution.validate_prompt(prompt) + extra_data = {} + if "extra_data" in json_data: + extra_data = json_data["extra_data"] + + if "client_id" in json_data: + extra_data["client_id"] = json_data["client_id"] + if valid[0]: + prompt_id = str(uuid.uuid4()) + outputs_to_execute = valid[2] + self.prompt_queue.put((number, prompt_id, prompt, extra_data, outputs_to_execute)) + response = {"prompt_id": prompt_id, "number": number, "node_errors": valid[3]} + return web.json_response(response) + else: + logging.warning("invalid prompt: {}".format(valid[1])) + return web.json_response({"error": valid[1], "node_errors": valid[3]}, status=400) + else: + return web.json_response({"error": "no prompt", "node_errors": []}, status=400) + + @routes.post("/queue") + async def post_queue(request): + json_data = await request.json() + if "clear" in json_data: + if json_data["clear"]: + self.prompt_queue.wipe_queue() + if "delete" in json_data: + to_delete = json_data['delete'] + for id_to_delete in to_delete: + delete_func = lambda a: a[1] == id_to_delete + self.prompt_queue.delete_queue_item(delete_func) + + return web.Response(status=200) + + @routes.post("/interrupt") + async def post_interrupt(request): + nodes.interrupt_processing() + return web.Response(status=200) + + @routes.post("/free") + async def post_free(request): + json_data = await request.json() + unload_models = json_data.get("unload_models", False) + free_memory = json_data.get("free_memory", False) + if unload_models: + self.prompt_queue.set_flag("unload_models", unload_models) + if free_memory: + self.prompt_queue.set_flag("free_memory", free_memory) + return web.Response(status=200) + + @routes.post("/history") + async def post_history(request): + json_data = await request.json() + if "clear" in json_data: + if json_data["clear"]: + self.prompt_queue.wipe_history() + if "delete" in json_data: + to_delete = json_data['delete'] + for id_to_delete in to_delete: + self.prompt_queue.delete_history_item(id_to_delete) + + return web.Response(status=200) + + async def setup(self): + timeout = aiohttp.ClientTimeout(total=None) # no timeout + self.client_session = aiohttp.ClientSession(timeout=timeout) + + def add_routes(self): + self.user_manager.add_routes(self.routes) + self.model_file_manager.add_routes(self.routes) + self.custom_node_manager.add_routes(self.routes, self.app, nodes.LOADED_MODULE_DIRS.items()) + self.app.add_subapp('/internal', self.internal_routes.get_app()) + + # Prefix every route with /api for easier matching for delegation. + # This is very useful for frontend dev server, which need to forward + # everything except serving of static files. + # Currently both the old endpoints without prefix and new endpoints with + # prefix are supported. + api_routes = web.RouteTableDef() + for route in self.routes: + # Custom nodes might add extra static routes. Only process non-static + # routes to add /api prefix. + if isinstance(route, web.RouteDef): + api_routes.route(route.method, "/api" + route.path)(route.handler, **route.kwargs) + self.app.add_routes(api_routes) + self.app.add_routes(self.routes) + + # Add routes from web extensions. + for name, dir in nodes.EXTENSION_WEB_DIRS.items(): + self.app.add_routes([web.static('/extensions/' + name, dir)]) + + self.app.add_routes([ + web.static('/', self.web_root), + ]) + + def get_queue_info(self): + prompt_info = {} + exec_info = {} + exec_info['queue_remaining'] = self.prompt_queue.get_tasks_remaining() + prompt_info['exec_info'] = exec_info + return prompt_info + + async def send(self, event, data, sid=None): + if event == BinaryEventTypes.UNENCODED_PREVIEW_IMAGE: + await self.send_image(data, sid=sid) + elif isinstance(data, (bytes, bytearray)): + await self.send_bytes(event, data, sid) + else: + await self.send_json(event, data, sid) + + def encode_bytes(self, event, data): + if not isinstance(event, int): + raise RuntimeError(f"Binary event types must be integers, got {event}") + + packed = struct.pack(">I", event) + message = bytearray(packed) + message.extend(data) + return message + + async def send_image(self, image_data, sid=None): + image_type = image_data[0] + image = image_data[1] + max_size = image_data[2] + if max_size is not None: + if hasattr(Image, 'Resampling'): + resampling = Image.Resampling.BILINEAR + else: + resampling = Image.ANTIALIAS + + image = ImageOps.contain(image, (max_size, max_size), resampling) + type_num = 1 + if image_type == "JPEG": + type_num = 1 + elif image_type == "PNG": + type_num = 2 + + bytesIO = BytesIO() + header = struct.pack(">I", type_num) + bytesIO.write(header) + image.save(bytesIO, format=image_type, quality=95, compress_level=1) + preview_bytes = bytesIO.getvalue() + await self.send_bytes(BinaryEventTypes.PREVIEW_IMAGE, preview_bytes, sid=sid) + + async def send_bytes(self, event, data, sid=None): + message = self.encode_bytes(event, data) + + if sid is None: + sockets = list(self.sockets.values()) + for ws in sockets: + await send_socket_catch_exception(ws.send_bytes, message) + elif sid in self.sockets: + await send_socket_catch_exception(self.sockets[sid].send_bytes, message) + + async def send_json(self, event, data, sid=None): + message = {"type": event, "data": data} + + if sid is None: + sockets = list(self.sockets.values()) + for ws in sockets: + await send_socket_catch_exception(ws.send_json, message) + elif sid in self.sockets: + await send_socket_catch_exception(self.sockets[sid].send_json, message) + + def send_sync(self, event, data, sid=None): + self.loop.call_soon_threadsafe( + self.messages.put_nowait, (event, data, sid)) + + def queue_updated(self): + self.send_sync("status", { "status": self.get_queue_info() }) + + async def publish_loop(self): + while True: + msg = await self.messages.get() + await self.send(*msg) + + async def start(self, address, port, verbose=True, call_on_start=None): + await self.start_multi_address([(address, port)], call_on_start=call_on_start) + + async def start_multi_address(self, addresses, call_on_start=None, verbose=True): + runner = web.AppRunner(self.app, access_log=None) + await runner.setup() + ssl_ctx = None + scheme = "http" + if args.tls_keyfile and args.tls_certfile: + ssl_ctx = ssl.SSLContext(protocol=ssl.PROTOCOL_TLS_SERVER, verify_mode=ssl.CERT_NONE) + ssl_ctx.load_cert_chain(certfile=args.tls_certfile, + keyfile=args.tls_keyfile) + scheme = "https" + + if verbose: + logging.info("Starting server\n") + for addr in addresses: + address = addr[0] + port = addr[1] + site = web.TCPSite(runner, address, port, ssl_context=ssl_ctx) + await site.start() + + if not hasattr(self, 'address'): + self.address = address #TODO: remove this + self.port = port + + if ':' in address: + address_print = "[{}]".format(address) + else: + address_print = address + + if verbose: + logging.info("To see the GUI go to: {}://{}:{}".format(scheme, address_print, port)) + + if call_on_start is not None: + call_on_start(scheme, self.address, self.port) + + def add_on_prompt_handler(self, handler): + self.on_prompt_handlers.append(handler) + + def trigger_on_prompt(self, json_data): + for handler in self.on_prompt_handlers: + try: + json_data = handler(json_data) + except Exception: + logging.warning("[ERROR] An error occurred during the on_prompt_handler processing") + logging.warning(traceback.format_exc()) + + return json_data diff --git a/styles.csv b/styles.csv new file mode 100644 index 0000000000000000000000000000000000000000..8f4ca4a08b5ece6155aad22ffa60a55476f96ccc --- /dev/null +++ b/styles.csv @@ -0,0 +1,309 @@ +name,prompt,negative_prompt +No Style,, +||| PHOTOGRAPHY,"photography, capturing moments, storytelling, creative composition","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Aerial,"aerial photography, drone photography, sweeping landscapes, unique perspectives, epic scale, capturing from above, revealing hidden beauty, showcasing vastness, immersive experience, precise compositions, expert piloting, dynamic angles, cinematic storytelling, showcasing natural wonders, aerial exploration","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Architecture,"architecture photography, striking structures, clean lines, geometric shapes, dramatic angles, play of light and shadow, capturing architectural details, showcasing design elements, evoking mood, professional lighting, precise compositions, emphasizing scale and proportion, creating depth, architectural storytelling, capturing iconic landmarks, immersive experience","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Black and White,"black and white photography, timeless elegance, classic aesthetic, dramatic contrasts, emphasizing shapes and textures, evoking nostalgia, focusing on light and shadow, monochromatic storytelling, capturing mood and emotion, artistic expression, minimalist compositions, conveying depth and atmosphere, timeless beauty","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Cinematic,"Cinematic photography, movie mood, cinematic light, compelling composition, storytelling elements, conveys emotion, mood, and narrative depth, creating visually striking images that feel like still frames from a film","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Documentary,"documentary photography, capturing reality, social issues, human experiences, photojournalistic storytelling, candid moments, authentic narratives, raising awareness, documenting history, preserving cultural heritage, immersive storytelling, evoking empathy, powerful imagery, journalistic integrity","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Experimental,"experimental photography, pushing the boundaries of creativity, unconventional techniques, innovative concepts, artistic exploration, thought-provoking imagery, pushing the boundaries of traditional photography","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Fashion,"fashion photography, glamorous, stylish attire, captivating pose, dynamic composition, high-fashion aesthetic, professional studio lighting, expert styling, showcasing trend, conveying elegance, conveying attitude, evoking emotion, creating visual impact, editorial storytelling, artistic interpretation, fashion-forward visual","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Fashion Editorial,"fashion editorial photography, high-fashion imagery, avant-garde aesthetics, editorial storytelling, conveying fashion trends and concepts, artistic interpretation, expert styling, professional lighting, capturing fashion-forward visuals, creating visual impact, evoking emotion, pushing creative boundaries","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Fine Art,"fine art photography, conceptual expression, evocative imagery, artistic interpretation, emotional resonance, creative composition, professional lighting, exquisite detail, immersive experience, storytelling through imagery, conveying mood, unique perspective, thought-provoking concept, capturing beauty, transcending reality","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Flower,"flower photography, capturing nature's beauty, delicate petals, vibrant colors, intricate details, showcasing botanical diversity, evoking emotions, conveying serenity, expert composition, professional lighting, immersive floral portrait, timeless elegance","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Food,"food photography, mouthwatering dishes, vibrant colors, appetizing presentations, enticing compositions, delicious details, showcasing textures, capturing freshness, professional lighting, expert styling, culinary storytelling, enhancing food appeal","bad anatomy, unappetizing, sloppy, unprofessional, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Landscape,"landscape photography, vast vistas, natural beauty, dynamic compositions, captivating scenery, immersive, serene","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Long exposure,"long exposure photography, streaking lights, smooth motion, dreamy landscapes, ethereal atmosphere, light painting, creative expression, time manipulation, surreal effects, captivating visuals, artistic interpretation, immersive experience, unique perspective","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Low key,"low key photography, dramatic lighting, deep shadows, rich contrast, moody atmosphere, intense emotions, cinematic feel, mysterious ambiance, emphasizing shape and form, creating depth, evoking drama, storytelling through shadows, professional technique","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Macro,"macro photography, extreme close-ups, intricate details, unseen worlds, capturing texture, emphasizing details, revealing beauty in small things, professional lighting, precise focusing, artistic expression, immersive experience, expert technique","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Microscopic,"microscopic photography, magnified, molecular, unseen worlds revealed, scientific exploration, capturing molecular details, professional imaging techniques, precise focusing, revealing hidden beauty, scientific discovery, artistic interpretation, nano scale, revealing the wonders of the unseen","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, digital art, manga, amateur, mutilated, distorted" +Photography | Minimalist ,"minimalist photography, simplicity in composition, clean lines, uncluttered visuals, negative space, focusing on essential elements, conveying tranquility, understated beauty, elegant aesthetics, subtle storytelling, capturing the essence of minimalism","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Mockup,"mockup photography, professional presentation, blank, empty, creative composition, versatile use, professional lighting, expert styling, high-quality imagery, realistic perspective, accurate representation","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Night,"night photography, nocturnal beauty, city lights, starry skies, celestial wonders, moonlit landscapes, urban glow, capturing the essence of darkness, ethereal atmosphere, dramatic shadows, magical ambiance, long exposure techniques, expert use of light sources","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Pet,"pet photography, adorable portrait, playful moment, expressive eyes, showcasing personality, professional lighting, expert composition, capturing joyful interaction, conveying emotion, creative composition, enhancing pet beauty, pet-friendly environment, storytelling through imagery","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Portrait,"portrait photography, capturing emotion, personality, flattering lighting, professional, engaging, compelling composition","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Portrait > Cinematic,"Cinematic portrait photography, capture subject in a way that resembles a still frame from a movie, cinematic lighting, story, narrative quality, drawing viewers into the scene and evoking a sense of cinematic immersion, capturing emotion, professional, engaging, compelling composition","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Portrait > Closeup,"closeup portrait photography, beautiful eyes, capturing emotion, personality, flattering lighting, professional, engaging, compelling composition","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Portrait > Fantasy,"fantasy portrait photography, beautiful eyes, ethereal beauty, magical atmosphere, whimsical element, enchanting composition, mystical storytelling, professional lighting, imaginative concept, creative styling, otherworldly aesthetic, fantasy romance, surreal visual, enchanting character, captivating narrative, intricate detail, vibrant color, fantastical landscape","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Product,"product photography, crisp details, clean composition, attention to detail, professional lighting, precise focus, appealing aesthetics, capturing textures, high-quality imagery, commercial appeal, creative presentation","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Reflection,"reflection photography, mirror-like surfaces, symmetry, visual echoes, capturing dual realities, distorted perspectives, ethereal beauty, introspective imagery, mesmerizing patterns, reflecting mood and emotion, creating visual depth, playing with perception","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Sport,"sport photography, action-packed moment, dynamic, intense competition, thrilling movement, showcasing skill, conveying energy, adrenaline-fueled visuals, immersive experience, storytelling through action, dramatic composition, showcasing passion, capturing decisive moments, vibrant colors, dynamic composition, powerful imagery, engaging perspective","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Still Life,"still life photography, capturing tranquility, timeless beauty, meticulous arrangement, exquisite detail, professional lighting, expert composition, evocative mood, storytelling through objects, artistic interpretation, creative expression, showcasing textures, intricate patterns, enhancing atmosphere, conveying emotions, masterful technique, immersive experience","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Surreal,"surreal photography, dreamlike imagery, subconscious exploration, bending reality, imaginative narratives, juxtaposing elements, evoking wonder and awe, transcending boundaries, challenging perceptions, fantastical landscapes, otherworldly atmospheres","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Time-lapse,"time-lapse photography, dynamic motion, fluid transition, changing landscape, evolving scene, captivating visual storytelling, accelerated time","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Underwater,"underwater photography, otherworldly landscape, unique perspective, ethereal lighting, dynamic composition, captivating underwater scene, immersive, serene, expert lighting technique, breathtaking moment captured","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Vintage,"vintage photography, nostalgic charm, timeless appeal, old-world aesthetics, classic elegance, warm tones, soft focus, aged textures, evoking nostalgia, historical ambiance, storytelling through imagery, vintage atmosphere, timeless compositions, authentic vintage look, professional technique","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +Photography | Wildlife,"wildlife photography, capturing nature's beauty, breathtaking landscapes, immersive experience, storytelling through imagery, showcasing wildlife behavior, sharp details, evocative composition, unique perspective","bad anatomy, comics, cropped, cross-eyed, worst quality, low quality, painting, 3D render, drawing, crayon, sketch, graphite, impressionist, cartoon, anime, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, airbrushed, semi-realistic, CGI, render, Blender, digital art, manga, amateur, mutilated, distorted" +||| PAINTING,painting art style,"signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Abstract Expressionism,"Abstract Expressionism art style, emphasizes spontaneous and gestural brushwork, explores emotions and inner thoughts, non-representational and subjective, influenced by the subconscious and the act of painting itself","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Acrylic,"Acrylic Paint art style, fast-drying paint, versatile, vibrant colors, expressive brushwork, rich textures, dynamic compositions, bold contrasts, layered depth, tactile quality, fluid movement, lively energy, immersive atmosphere, professional-grade finish","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Aerosol,"Aerosol paint art style, spray painted, vibrant colors, seamless blending, dynamic compositions, bold contrasts, urban aesthetic, professional-grade results","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Children Book Art,"digital painting, whimsical children's book art style, charming and inviting illustration style, soft and rounded shapes, warm and inviting color palette, creates a friendly and serene atmosphere, simplicity and clarity make it accessible and enjoyable for a wide audience, imaginative scene with fantastical elements in a storybook-like setting, encourages viewer's sense of wonder and exploration","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Chinese Ink Brush,"Chinese ink brush art style, graceful brushwork, elegant compositions, traditional motifs, professional-grade execution, captures the essence of Chinese culture and aesthetics","Chinese writing, signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Digital,"Digital painting art style, dynamic composition, professional-grade execution","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Digital Fantasy Game Art,"digital painting art style, fantasy video game concept art style, dynamic and richly detailed composition, vibrant colors, action-packed scene, emphasizes dramatic poses and expressive faces, immersive environments with fantasy backgrounds, designed to draw viewers into fantastical worlds, typical for character and environment designs in video games","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Fantasy Art,"Fantasy painting art style, imaginative, dynamic composition, professional-grade execution, creates immersive world and landscape, painterly, epic, magical","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Fantasy Cartoon,"Fantasy cartoon concept art style, cartoon cute digital painting, imaginative, dynamic composition, whimsical expression, adorable, playful character, professional-grade execution, creates immersive world and landscape, brush strokes","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Fantasy Digital Art,"Fantasy concept art style, digital painting, imaginative, dynamic composition, professional-grade execution, creates immersive world and landscape, brush strokes, epic, magical","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Fantasy Game Concept Item,"Fantasy game concept art on solid color background, game item design, detailed and painterly style, focus on fantasy elements, attention to texture and additional elements like, suitable for video games or animation","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Fresco,"Fresco painting art style, ancient painting technique dating back to antiquity, rich colors and textures, timeless aesthetic, historical significance, evokes a sense of tradition and craftsmanship","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Gouache,"gouache painting style, gouache opaque colors, matte finish, vibrant hues, dynamic compositions, professional-grade result, adds depth and texture","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Gouache Cartoon,"gouache painting style, gouache vibrant colors, adorable, whimsical expression, playful character, dynamic compositions, professional-grade result, adds depth and texture","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Graffiti,"Graffiti aerosol painting art style, bold composition, vibrant colors, mural, urban aesthetic, hip hop culture","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Grimdark,"Grimdark painting art style, dark and brooding composition, dramatic lighting, captures the sinister and macabre atmosphere","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Impasto,"impasto painting art style, thick and textured brushwork, vibrant colors, tactile quality, expressive strokes, dynamic compositions, bold contrasts, dramatic lighting effects, immersive texture, professional-grade finish, adds depth and dimension, creates visual interest","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Impressionism Painting Style,"Impressionism painting art style, loose brushwork, captures the fleeting effects of light and atmosphere","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Magic Realism,"Magic realism painting art style, surreal compositions, vibrant colors, blurs the line between reality and fantasy","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Oil Painting,"oil painting art style, rich colors, lush textures, expressive brushwork, blendable layers, dynamic compositions, professional-grade finish, versatile medium, timeless elegance, immersive depth, vibrant hues, intricate detailing, adds depth and dimension","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Palette Knife,"palette knife painting art style, bold textures, impasto effects, expressive strokes, vibrant colors, dynamic compositions, professional-grade finish, adds depth and dimension, creates tactile quality, immersive texture, contemporary aesthetic","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Pointillism,"Pointillism art style, uses dots of color to create images, optical blending creates vibrant and textured surfaces","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, JPEG artifacts" +Painting | Renaissance,"oil painting art style from Renaissance period, masterful composition, Renaissance mood, renaissance oil painting, brush strokes","painting frame, signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Retrofuturism,"Retrofuturism painting art style, nostalgic composition, combines retro aesthetics with futuristic elements","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Sumi-e Painting,"Sumi-e painting style, traditional Japanese ink wash painting, emphasizes simplicity and elegance, expressive brushwork, captures the essence of the subject with minimal strokes, meditative and reflective","Japanese writing, Chinese writing, chinese stamp, signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Watercolor,"Watercolor painting art style, transparent and delicate layers, luminous and ethereal effects, spontaneous and fluid compositions, subtle gradients and blending, captures light and atmosphere, creates soft and dreamy scenes","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Watercolor > Cartoon,"Cartoon watercolor painting style, playful cartoon character, dynamic composition, whimsical expression, soft and fluid texture, adds charm and personality, subtle gradients and blending, captures light and atmosphere, creates soft and dreamy scenes, watercolor texture","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Painting | Watercolor on White Background,"Watercolor painting art style, isolated on solid white background, transparent and delicate layers, luminous and ethereal effects, subtle gradients and blending, captures light and atmosphere, creates soft and dreamy scenes","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +||| Illustrations,Illustration art style,"signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Art Deco,"Art Deco illustration style, elegant and geometric designs, streamlined and symmetrical compositions, embodies the glamour and sophistication of the Art Deco era, influenced by modernism and machine aesthetics","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Anime,"anime art style, anime digital art, expressive anime art, dynamic composition, anime style, vibrant, studio anime, highly detailed","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Anime > Chibi,"Chibi anime art style, cute and exaggerated characters, large heads and small bodies, expressive facial features, playful and whimsical, popular in manga and anime fandoms","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Anime > Kawaii,"Kawaii anime art style, cute, adorable characters with big eyes and small mouths, pastel colors, playful and endearing","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Anime > Mecha,"Mecha anime art style, focuses on giant robots and mechanical suits, intricate mechanical designs, dynamic action scenes, futuristic settings, appeals to fans of science fiction and action genres","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Anime > Realistic,"Realistic anime art style, combines anime aesthetics with lifelike details, detailed character designs, intricate backgrounds, immersive storytelling","painting, drawing, signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Cartoon,"Cartoon illustration style, whimsical and expressive characters, exaggerated features and emotions, versatile and adaptable for various storytelling purposes","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Cartoon Character on White BG,"cartoon digital painting art style, isolated on solid white background, adorable, big eyes, cute cartoon character","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Children's book,"Children's book illustration style, whimsical and charming imagery, bright and playful colors, engaging characters and storytelling, cartoon","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Fantasy,"Fantasy illustration style, transports viewers to imaginative worlds, epic landscape, and heroic adventures, sparks wonder and inspiration","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Fantasy Cartoon on White BG,"Watercolor cartoon illustration on solid white background, enchanted, adorable, Digital Cartoon Illustration, a simple and charming design","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Fashion,"Fashion illustration style, captures the latest trends and designs in clothing and accessories, elegant and stylized figures, showcases creativity and imagination in the fashion industry","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Game Art,"Game art illustration style, game illustration, diverse and immersive visuals, whimsical, dynamic characters and environments, rich color palettes, enhances storytelling and gameplay experience","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Illuminated Manuscript,"Illuminated manuscript art style illustration, medieval illustration, intricate and detailed illustration, vibrant colors and gold leaf accents, showcases meticulous craftsmanship and dedication","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Pop Art,"Pop art illustration style, vibrant and bold colors, uses imagery from popular culture, incorporate elements of mass media and consumerism, celebrates the mundane and everyday objects","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Retro,"Retro illustration style, nostalgic and vintage aesthetics, inspired by design elements from past decades, evokes a sense of nostalgia and charm","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Modern,"Modern illustration style, contemporary and cutting-edge, embraces new techniques and technologies, reflects current trends and cultural influences","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Modernism,"Modernism illustration style, embraces experimentation and abstraction, breaks away from traditional representation, explores new forms and techniques, reflects the spirit of innovation and progress.","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Sticker,Sticker art style isolated on solid color background,"signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Sticker Cute,"Cute adorable cartoon sticker art style isolated on solid color background, charming and endearing characters or designs, appeals to emotions like joy and affection","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Illustration | Sticker Watercolor,"Sticker art style isolated on solid color background, watercolor painting art style, transparent and delicate layers, luminous and ethereal effects, spontaneous and fluid compositions, subtle gradients and blending","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +||| DRAWING,"drawing art style, expressive lines, dynamic composition","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Drawing | Blue Ballpoint Pen,"dark blue color ballpoint pen drawing art style, expressive dark blue lines, dynamic compositions, professional-grade execution, captures the spontaneity and fluidity of sketching","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Drawing | Caricature,"Caricature art style, exaggerated features, humorous interpretation, dynamic composition, professional-grade execution, adds humor and personality, captures essence in a playful manner","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Drawing | Caricature Extreme,"caricature art style, highly exaggerated features, humorous interpretation, bold and dynamic composition, professional-grade execution, adds humor and personality, captures essence in a exaggerated playful manner","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Drawing | Charcoal,"charcoal drawing style, dramatic contrast, expressive strokes, rich textures, dynamic composition, professional-grade finish, classic aesthetic","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Drawing | Colored Pencil,"Colored pencil drawing art style, vibrant colors, delicate shading, professional-grade execution, captures the richness and depth of traditional drawing techniques","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Drawing | Graphite,"graphite drawing art style, subtle tones, delicate shading, precise detailing, fine textures, expressive lines, intricate compositions, timeless elegance, professional-grade finish, immersive depth, classic aesthetic","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Drawing | Ink,"Ink drawing art style, bold lines, expressive strokes, high contrast, intricate details, dynamic compositions, versatile medium, professional-grade finish, classic aesthetic, adds depth and texture, timeless elegance","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Drawing | Pastel,"pastel drawing art style, pastel colors, delicate shading, dynamic composition, soft and velvety pastel textures, amazing pastel drawing","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Drawing | Pen,"pen drawing art style, precise lines, intricate details, high contrast, dynamic compositions, versatile medium, professional-grade finish, timeless elegance, creates bold and expressive strokes","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Drawing | Pencil,"Pencil drawing art style, delicate shading, precise lines, professional-grade execution, captures the subtlety and texture of graphite","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Drawing | Scratchboard,"Scratchboard drawing art style, intricate details, dramatic contrast, professional-grade execution, captures the tactile quality and depth of etching","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Drawing | Technical,"Technical drawing art style, precise and detailed, emphasizes accuracy and clarity, communicates complex ideas visually","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Drawing | Zentangle,"Zentangle drawing art style, clean, minimalist, meditative and relaxing, uses repetitive patterns and structured designs to create intricate and abstract artworks, precise lines, professional-grade execution, contrast, black and white","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +||| 3D RENDER,"professional 3d render, 3D render artistic style, intricate details, creative composition, professional rendering, photorealistic textures, dynamic lighting, captivating visuals, octane render, highly detailed, volumetric, dramatic lighting","low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Abstract,"abstract 3D render, abstract 3d art, imaginative design, dynamic lighting, immersive presentation, captivating visuals, high-quality rendering techniques, innovative concept, unique aesthetics, creative compositions, visually stunning results, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Abstract > Fluid Dynamics,"fluid dynamics 3D art style, 3d fluid render, expressive and dynamic, vibrant contrasting colors, lively appearance, mesmerizing flow of shapes, simulation of fluid dynamics, swirling motion, bold colors blending seamlessly, abstract and captivating, fluidity and energy, mesmerizing composition, engaging viewer experience, seamless integration of colors and shapes, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Abstract > Soft Forms,"modern abstract 3D art style, focusing on organic shapes and objects, soft colors, captivating composition, tactile qualities, smoothness, softness, contrast between matte and shiny textures, depth and interest, blend of textures, minimalistic yet complex aesthetic, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Architectural,"professional 3D architectural rendering, realistic visualization, intricate detailing, lifelike textures, dynamic lighting, immersive environment, photorealistic representation, captivating visuals, realistic materials, professional rendering techniques, volumetric, 4k","painting, low-quality rendering, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Character,"professional 3D character design, dynamic pose, expert character design, engaging storytelling, captivating visuals, imaginative concept, high-quality rendering, volumetric, 4k","low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Character > Cartoon,"professional 3D cartoon character design, whimsical animation, vibrant personality, exaggerated features, dynamic pose, expert character design, colorful textures, engaging storytelling, versatile animation styles, captivating visuals, imaginative concepts, playful interactions, high-quality rendering, volumetric, 4k","low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Character > Cartoon Cute,"professional 3D design of a cute and adorable cartoon character with big eyes, charming animation, endearing personality, exaggerated features, dynamic pose, captivating expression, expert character design, vibrant and colorful textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k","low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Game Asset,"3d game item, high-quality 3D rendering of a game asset, dynamic lighting, captivating visuals, seamless integration, realistic materials, high-quality rendering techniques, versatile application, innovative concepts, optimized for gaming engines, volumetric, 4k","low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Hard Surface,"professional hard surface 3D design modeling, hard surface expert modeling, hard surface 3d render, precise detailing, captivating visuals, professional-grade design, dynamic appearance, attention-grabbing aesthetics, high-quality rendering techniques, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Icon,"3D icon design, isolated on solid background, creative icon design, minimalist, depth and dimensionality, dynamic lighting, captivating visuals, high-quality rendering techniques, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Isometric,"isometric 3D render, isometric 3D design, isometric perspective, precise perspective, clean, dynamic lighting, captivating visuals, immersive presentation, high-quality rendering techniques, volumetric, dramatic lighting, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Low Poly,"Low poly 3D design aesthetic, minimalist and stylized appearance, expert modeling software, efficient detailing, immersive presentation, captivating visuals, professional-grade design, dynamic and clean appearance, versatile application, attention-grabbing aesthetics, efficient rendering, suitable for performance-sensitive applications such as games and simulations","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Mech,"3d mechanical render, mech style, scifi, futuristic, detailed mech 3D rendering, intricate design, dynamic lighting, captivating visuals, high-quality rendering techniques, futuristic aesthetics, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Model,"detailed 3D model representation, 3d render, captivating visuals, professional-grade design, dynamic appearance, high-quality rendering techniques, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Product,"professional 3d model, 3D product visualization, octane render, immersive presentation, photorealistic rendering, captivating visuals, realistic materials, highly detailed, volumetric, dramatic lighting, 4k","low poly, blurry, painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Sci-Fi,"futuristic 3D rendering, imaginative design, dynamic lighting, immersive presentation, volumetric, futuristic elements, captivating visuals, realistic materials, high-quality rendering techniques, innovative concepts, otherworldly atmosphere, futuristic aesthetics, immersive storytelling, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +3D | Vehicle,"professional 3D vehicle render, realistic representation, intricate detailing, dynamic lighting, immersive presentation, seamless integration, photorealistic rendering, captivating visuals, realistic materials, high-quality rendering techniques, octane render, highly detailed, volumetric, dramatic lighting, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +||| VECTOR,"Vector art style, crisp lines, scalable graphics, professional-grade execution, clean, sharp","painting, signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Vector | Coloring Book Page,"Vector coloring book page style, clean and crisp lines, on solid white background, scalable and editable artwork, suitable for printing and digital coloring, promotes creativity and relaxation, black and white, contrast, profesional, minimalist","painting, signature, shading, gray, gradient, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Vector | Flat Art Style,"Modern flat vector style art on solid color background, minimalist, flat vector art, corporate artstyle, simplified shapes, modern color palette, modern conceptual art, clean lines, geometric forms, contemporary graphic design influence, stylized character features, playful touch, visually appealing, clear communication of ideas, suitable for modern media, web design, advertising, cheerful and engaging aesthetic, easily adaptable","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Vector | Line Art,"black vector line art on solid white background, minimalist, vector line art style, clean lines, scalable graphics, professional-grade execution, stylized, professional vector, sleek, modern, graphic, vector graphics","painting, signature, shading, gradient, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Vector | Logo Symbol,"vector logo art style, on solid color background, vector logo symbol, stylized logo, logo icon, minimalist, clean, clean and scalable designs, precise lines, professional-grade execution, emphasizes simplicity and versatility","signature, shading, gradient, painting, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Vector | Silhouette,"black vector silhouette on solid white background, minimalist, SVG silhouette art style, clean lines and shapes, scalable graphics, professional-grade execution, stylized, professional vector","signature, shading, gradient, painting, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Vector | Silhouette Cute,"cute cartoon black vector silhouette on solid white background, minimalist, SVG silhouette art style, adorable, clean lines and shapes, scalable graphics, professional-grade execution, stylized cartoon, professional cartoon vector","signature, shading, gradient, painting, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +||| DESIGN,"design style, professional design","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Avatar,"Avatar design style, visually appealing and distinctive avatar, professional-grade execution, represents individual or brand identity effectively, enhances online presence and engagement","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Banner,"Banner design style, eye-catching and informative banner, professional-grade execution, effectively communicates message or event details, captures attention","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Brochure,"Brochure design style, informative and visually appealing layout, professional-grade execution, effectively communicates product or service details, enhances brand credibility","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Business card,"Business card design style, professional and memorable card, professional-grade execution, effectively represents brand identity and contact information","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Event Invitation,"Event invitation design style, visually appealing and informative invitation, professional-grade execution, effectively communicates event details, encourages attendance","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Favicon,"Favicon design style, isolated on white background, small and recognizable website icon, professional-grade execution, enhances brand recognition and website identity, complements overall design aesthetic","complex, boring, signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Flyer,"Flyer design style, visually appealing and informative flyer, professional-grade execution, effectively promotes an event or product, engages audience","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Icon Design,"Icon design style, visually clear and recognizable icon, professional-grade execution, effectively conveys concepts or actions, enhances user interface and experience","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Icon Design Simple Black,"minimalist modern black icon design on solid white background, simple stylized icon, vector graphic icon, clean and minimalist vector icon, professional-grade execution, enhances visual clarity and simplicity","complex, boring, signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Infographic,"Infographic design style, visually engaging and informative graphic, professional-grade execution, effectively communicates complex information or data, enhances understanding","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Letterhead,"Letterhead design style, professional and branded letterhead, professional-grade execution, enhances brand identity and communication","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Logo,"Logo design style, custom and memorable logo, professional-grade execution, captures brand identity and values, timeless and iconic design","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Magazine Layout,"Magazine layout design style, visually appealing and well-organized layout, professional-grade execution, effectively showcases content and articles, enhances reader experience","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Menu,"Menu design style, visually appealing and informative menu, professional-grade execution, effectively presents food and beverage options, enhances dining experience","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Packaging,"Packaging Design, Brand Identity, Visual Communication, Product Presentation, Consumer Appeal, structural integrity, graphic elements, brand recognition, marketing impact, professional design","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Poster,"Poster design style, poster art, visually striking and informative poster, professional-grade execution, poster graphic design","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Design | Website,"Website design style, web page, user-friendly interface, visually appealing layout, professional-grade execution, responsive design, enhances user experience and engagement","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +||| FASHION,"Mainstream fashion, reflects current trends and styles, easily accessible to the general public, stylish","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Fashion | Beachwear,"Beachwear fashion style, designed for leisure activities and relaxation, features lightweight and breezy clothing, reflects a carefree and laid-back attitude","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Bikini,"Bikini fashion style, bikini, reflects a sense of freedom and liberation","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Boho,"Boho fashion style, inspired by bohemian and hippie aesthetics, characterized by free-spirited and eclectic clothing choices, features flowing fabrics, floral prints, and ethnic-inspired details, promotes individuality and self-expression, embraces a laid-back and carefree attitude","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Cosplay,"Cosplay fashion style, allows individuals to embody their favorite fictional characters, promotes creativity and craftsmanship, features elaborate costumes and accessories, celebrates diverse interests and fandoms","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Cyberpunk,"Cyberpunk fashion style, inspired by futuristic dystopian settings, features high-tech and futuristic clothing, incorporates elements of technology and urban culture, promotes a bold and avant-garde aesthetic","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Emo Fashion,"Emo fashion style, characterized by dark colors, layered clothing, and edgy accessories, allows individuals to express emotions and individuality, often incorporates elements of punk and gothic styles, promotes self-expression and authenticity","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Glamour,"Glamour fashion style, epitomizes sophistication and elegance, features luxurious fabrics like silk and satin, embellishments, promotes a polished and glamorous look, opulence and refinement","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Goth,"Goth fashion style, characterized by dark and dramatic clothing choices, often includes black clothing, lace, leather, and Victorian-inspired elements, promotes a sense of mystery and theatricality, celebrates beauty in the macabre, encourages self-expression and embracing the unconventional","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Metalhead,"Metalhead fashion style, inspired by heavy metal music culture, features black clothing, leather jackets, band t-shirts, and metal accessories, promotes individuality and rebellion, celebrates a love for music and expression through clothing","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Normcore,"Normcore fashion style, embraces simplicity and everyday clothing items, focuses on comfort and practicality, promotes a minimalist and unpretentious aesthetic, encourages mixing and matching basic wardrobe staples, celebrates understated elegance and timeless style","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Preppy,"Preppy fashion style, characterized by classic and timeless clothing choices, features tailored silhouettes, vibrant colors, and traditional patterns like plaid and stripes, promotes a polished and sophisticated look, reflects a sense of privilege and tradition associated with elite education","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Psychobilly,"Psychobilly fashion style, combines elements of rockabilly, punk, and retro influences, characterized by bold prints, vintage-inspired clothing, and edgy accessories, promotes a rebellious and retro aesthetic, encourages individuality and creativity","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Rave,"Rave fashion style, vibrant and colorful clothing choices, featuring neon colors, bold patterns, and futuristic designs, encourages self-expression and creativity, incorporates elements of dance culture and electronic music, promotes a sense of community and celebration","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Sci-Fi,"Sci-Fi Inspired fashion style, draws inspiration from science fiction movies, and futurism, features futuristic silhouettes, and avant-garde designs, promotes imagination and innovation in fashion, explores concepts of technology","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Sexy,"Sexy fashion style, embraces sensuality and confidence, beauty, allure, reflects a bold and seductive attitude","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Sportswear,"Sportswear fashion style, designed for athletic activities and casual wear, features comfortable and functional clothing, and performance fabrics, promotes an active lifestyle and physical fitness","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Steampunk,"Steampunk fashion style, inspired by Victorian-era machinery and science fiction, features a mix of vintage clothing with futuristic elements, promotes creativity and craftsmanship, encourages DIY and upcycling, celebrates a love for exploration and adventure","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Streetwear,"Streetwear fashion style, influenced by urban culture and street fashion, features casual and comfortable clothing with bold graphics, promotes self-expression and individuality, celebrates creativity and innovation in design, reflects the diverse influences of music, art, and sports","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Vintage,"Vintage fashion style, embraces clothing and accessories from previous eras, celebrates timeless designs and craftsmanship, allows for unique and one-of-a-kind looks, evokes nostalgia and a sense of history","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Fashion | Winter,"Winter fashion style, designed for cold weather, features cozy and warm clothing, comfort and chicness","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +||| ART STYLES,art style,"ugly, off-center, deformed, 35mm film, dslr, cropped, frame, signature, watermark, worst quality, low quality, lowres, JPEG artifacts" +ART | African Traditional,"African traditional art style, bold patterns, vibrant colors, intricate designs, dynamic compositions, cultural heritage, adds richness and depth","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Afrofuturism Art,"Afrofuturism art style, blend of African culture and aesthetics with futuristic elements, reimagines history and imagines alternative futures, black identity, creativity, and resilience","Signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Ancient Egyptian Mural,"Ancient Egyptian mural art style, rich cultural heritage, intricate hieroglyphics, vibrant colors, symbolic motifs, depicts scenes from mythology, religion, and daily life, monumental scale, timeless beauty","Signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Atompunk,"Atompunk art style, retro-futuristic, atomic age aesthetics, sleek and streamlined designs, nuclear energy motifs, optimism about technological progress","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Baroque,"Baroque art style, dynamic composition, dramatic lighting, rich colors, intricate details, professional-grade execution, captures the grandeur and theatricality of the Baroque period","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Biomechanical,"Biomechanical art style, Biology, Machinery, Intricate, Surreal, Organic Forms, Mechanical Structures, Futuristic, Cyberpunk, Fusion, Nature, Technology","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Biopunk,"Biopunk art style, explores genetic engineering, biohacking, and biotechnology, organic and living elements, dystopian or utopian visions of a genetically modified future","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Byzantine Icon,"Byzantine icon oil painting art style, intricate details, rich colors, religious symbolism, cultural significance, professional-grade execution, spiritual, religious","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Cartoon,"cartoon art style, whimsical character, exaggerated features, vibrant colors, dynamic composition, expressive pose, professional-grade finish, adds humor and charm","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Claymation,"Claymation art style, tactile and three-dimensional character, dynamic animation, captures the charm and whimsy of stop-motion animation, suitable for various storytelling and advertising","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Comic Book Style,"comic book art style, comics, dynamic lines, vibrant colors, expressive characters, action-packed composition, adds energy and excitement","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Constructivism,"Constructivism Art Style, Industrial materials, geometric abstraction, social purposes, modernity, functional art, the machine age and collective labor, fosters innovation and collaboration","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Cubism,"cubism art style, fragmented forms, geometric shapes, dynamic compositions, vibrant colors, innovative technique, cultural significance","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Cybergoth Art,"Cybergoth art style, futuristic and edgy aesthetic, combines cyberpunk and gothic elements, neon colors, industrial motifs, alternative fashion and culture","Signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Cyberpunk,"Cyberpunk art style, futuristic cityscapes, neon-lit streets, high-tech and low-life, cybernetic enhancements, dystopian and gritty atmosphere","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Dadaism,"Dadaism Art Style, Anti-art, absurdity, irony, spontaneity, rejecting conventional aesthetics, collage art","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Dark Academia,"Dark Academia art style, evokes the atmosphere of scholarly pursuits and literary classics, rich and moody color palettes, intricate details","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Deco,"Art Deco style, Symmetry, streamlined shapes, geometric patterns, luxury, modernity, glamour, sleek lines","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Dieselpunk,"Dieselpunk art style, retro-futuristic, industrial aesthetics, mechanical marvels, alternative history, gritty and dystopian atmosphere","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Egyptian,"Egyptian art style, iconic symbolism, intricate hieroglyphics, dynamic composition, Egyptian cultural significance","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Futurism,"Futurism art style, dynamic composition, bold geometric forms, vibrant colors, captures the spirit of technological advancement and modernity","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Gilded,"Gilded art style, opulent, luxurious, metallic elements, divine symbolism, fine craftsmanship","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Glitch,"Glitch art style, embraces digital errors and glitches, distorted and fragmented imagery, experimental and abstract, challenges traditional notions of perfection and beauty","Signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Gothic,"Gothic art style, gothic details, dramatic compositions, rich symbolism","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Interstellar,"Interstellar art style, Cosmic, Space, Celestial, Galactic, Nebulae, Stars, Planets, Exploration, Unknown, Infinity, Futuristic","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Japanese Traditional,"Japanese traditional art style, delicate lines, subtle colors, intricate details, dynamic compositions, cultural heritage, adds elegance and sophistication","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Linocut,"Linocut art style, relief printing, bold and graphic imagery with striking contrasts","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Lucha Libre,"Lucha libre art style, dynamic and colorful compositions, exaggerated characters, captures the excitement and energy of Mexican wrestling culture","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Mayan,"Mayan art style, rich cultural heritage, intricate geometric patterns, mayan colors, reflects the spiritual and artistic achievements of the Maya civilization","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Minoan,"Minoan art style, dynamic composition, Minoan cultural significance, adds depth and richness","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Naive,"Naive art style, simplistic and childlike aesthetic, spontaneous and untrained, captures innocence and purity, features bold colors, exaggerated perspectives, and whimsical themes","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Necropunk,"Necropunk art style, dark and macabre, blending of death and technology, eerie and unsettling imagery, explores themes of mortality and decay, unique and thought-provoking concepts","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Nouveau,"Art Nouveau art style, elegant and organic forms, intricate floral motifs, flowing lines, decorative and ornate, influenced architecture, design, and visual arts in the late 19th and early 20th centuries","Signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Pixel Art,"pixel art style, pixelated design, flat, uses pixelated graphics reminiscent of classic video games, charming simplicity, intricate detailing despite limited resolution","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, JPEG artifacts" +ART | Pop Art,"Pop art style, vibrant colors, bold outlines, use of popular culture imagery, iconic and recognizable, consumerism and mass media","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, JPEG artifacts" +ART | Propaganda,"propaganda art style, bold and persuasive imagery, dynamic compositions, serves as a powerful tool for communication and persuasion","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Psychedelic,"Psychedelic art style, vibrant and surreal imagery, kaleidoscopic patterns, intense colors, mind-expanding and hallucinatory, reflects the psychedelic experience and counterculture movement","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Rococo,"Rococo art style, ornate, light-hearted, elegant, decorative, playful subjects, asymmetrical designs","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Solarpunk,"Solarpunk art style, optimistic vision of the future, sustainable technology, renewable energy sources, lush and green landscapes, community and harmony with nature","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Stencil,"Street Art, Urban setting, graffiti, murals, social messages, public spaces, anonymity, vibrant visuals","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Street Art,"Stencil art style, urban and contemporary, graphic and bold imagery","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Steampunk,"Steampunk art style, Victorian-era aesthetics, steam-powered machinery, brass and gears, fantastical inventions, retro-futuristic adventure","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Surrealism,"Surrealism art style, dreamlike and irrational imagery, explores the unconscious mind, juxtaposition of unlikely elements, challenges reality and logic","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Synthwave,"Synthwave art style, retro-futuristic aesthetic, vibrant neon colors, nostalgic 80s imagery, futuristic landscapes, nostalgic and atmospheric","Signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Ukrainian Folk Art,"Ukrainian folk art style, vibrant colors, intricate patterns, dynamic compositions, traditional motifs, cultural heritage, adds richness and depth","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Vaporwave,"Vaporwave art style, nostalgic and surreal aesthetic, 80s and 90s retro imagery, glitch art elements, pastel colors, dreamy and ethereal atmosphere","Signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +ART | Westernpunk,"Westernpunk art style, fusion of Wild West and futuristic elements, rugged landscapes, cowboy aesthetics, steam-powered technology, adventurous spirit","signature, watermark, ugly, off-center, deformed, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +||| CRAFTS,Craft art style,"signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Ceramic,"Ceramic craft style, versatile and durable, pottery and ceramic artwork, showcases creativity and craftsmanship","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Ceramic > Cibulak,"Cibulak porcelain art style, delicate and intricately detailed porcelain creations, traditional Kazakh craftsmanship, exquisite hand-painted designs, cultural heritage preservation","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Ceramic > Glass,"Ceramic glass craft style, combines ceramic and glass materials to create unique and innovative artwork, offers versatility in texture and transparency, allows for experimentation with light and color","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Ceramic > Moche,"Moche craft style, ancient Peruvian civilization known for its intricate ceramic vessels and figurines, rich cultural and artistic heritage, showcases advanced craftsmanship and artistic skill","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Ceramic > Porcelain,"Ceramic porcelain craft style, utilizes porcelain clay to create delicate and translucent artworks, smooth texture and white color, allows for intricate detailing and precise forms","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Crochet,"Crochet craft style, versatile and creative, yarn","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Crochet > Amigurumi,"Amigurumi crochet style, Japanese art, cute and whimsical designs, fosters creativity and handcrafting skills","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Cross-stitching,"Cross-stitching art style, traditional and timeless craft, precise and meticulous stitching technique, intricate and decorative piece","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Embossed,"Embossed art style, raised and textured surfaces, adds depth and dimension to artwork, tactile and interactive","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Embroidery,"Embroidery art style, decorative designs on fabric, intricate stitching techniques, adds texture and dimension to artwork","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Felt,"Felt art style, tactile and textural, intricate detailing and layering","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Gobelin Tapestry,"Gobelin tapestry art style, intricate woven designs, rich colors and textures","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Kirigami,"Kirigami art style, combines paper cutting with origami folding techniques, creates intricate and dynamic paper sculptures, encourages creativity and precision","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Knitting Art,"Knitting art style, fabric and patterns, intricate designs and textures","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Lapidary,"Lapidary art style, intricate and precise craftsmanship in cutting and polishing gemstones, creates dazzling and unique pieces of jewelry and sculpture, showcases the natural beauty of mineral","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Laser Engraving Wood,"Laser engraving art style, precise and detailed engraving on plywood, allows for intricate designs and patterns, modern and versatile technique, flat, wood engraving art","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Leatherworking,"Leatherworking art style, craftsmanship of creating designs and patterns on leather, carving, stamping, and dyeing techniques","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Macrame,"Macrame art style, uses knotting techniques to create textiles or decorative items, versatile and tactile craft, allows for intricate patterns and designs","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Marquetry,"Marquetry art style, intricate wood inlay technique, creates decorative patterns and images using veneers of different woods, showcases craftsmanship and attention to detail","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Metalwork,"Metalwork art style, manipulation of metal to create sculptures, showcases craftsmanship and technical skill, intricate and durable designs","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Mosaic,"mosaic art style, versatile and decorative, uses small pieces of tile, adds color and texture, glossy, sharp","worst quality, blurry, normal quality, signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts, low details, bad photo, bad photography, bad art" +Craft | Mosaic > Roman,"Roman mosaic art style, intricate and colorful mosaic designs, depict scenes from mythology, daily life, and nature, showcases superb craftsmanship and attention to detail, cultural and historical significance","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Needlepoint,"Needlepoint art style, needlepoint intricate and detailed design created through stitching, rich texture and depth, intricate patterns and color variations, fosters creativity and craftsmanship","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Origami,"Origami art style, traditional Japanese paper folding technique, creates intricate sculptures and designs from paper","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Paper Cut,"minimalist Paper cut craft style, designs cut from paper, allows for detailed and delicate artwork","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Plasticine,"Plasticine art style, malleable and colorful modeling material, ideal for sculpting and creating 3D artwork","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Pyrography,"Pyrography art style, uses heat to burn designs onto wood, creates intricate and permanent markings, showcases craftsmanship and attention to detail","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Quilted,"Quilted art style, combines fabric and stitching to create intricate designs and patterns, reflects cultural traditions and personal stories, tactile and cozy, showcases craftsmanship and creativity","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Scrapbooking,"Scrapbooking art style, creative arrangement of photographs, memorabilia, and decorative elements in albums or displays, preserves memories and tells stories","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture,"Sculpture craft style, three-dimensional art form, allows for the creation of expressive and tactile works using various materials , embodies creativity and artistic vision","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture > Bronze,"Bronze sculpture craft style, utilizes bronze as the primary material for creating three-dimensional artworks, known for its durability and timeless beauty, allows for intricate detailing and expressive forms","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture > Alebrije,"Alebrije sculpture style, vibrant and fantastical Mexican folk art, intricate and whimsical animal figures, handcrafted, celebrates creativity and imagination","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture > Bas-relief,"Bas-relief art style, sculptural technique where figures or designs are raised slightly from the background, creates depth and texture","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture > Clay,"Clay sculpture craft style, utilizes clay as the primary material for creating three-dimensional artworks, allows for versatile shaping and modeling technique","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture > Haniwa,"Haniwa craft style, ancient Japanese burial sculptures, simplistic and stylized figure, cultural and historical significance, preserves traditional craftsmanship and artistry","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture > Jade,"Jade sculpture craft style, utilizes jade as the primary material for creating three-dimensional artworks, esteemed for its beauty and cultural significance, allows for intricate carving and sculpting techniques","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture > Marble,"Marble sculpture craft style, utilizes marble as the primary material for creating three-dimensional artworks, renowned for its elegance and beauty, allows for intricate detailing and smooth finishes, timeless and enduring","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture > Netsuke,"Netsuke craft style, traditional Japanese miniature sculpture, intricately carved and detailed, functional and decorative, reflects Japanese culture and craftsmanship","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture > Olmec,"Olmec craft style, ancient Mesoamerican art tradition, iconic stone sculpture and figurine, rich cultural heritage, significant influence on subsequent civilizations","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture > Gold,"Gold sculpture craft style, utilizes gold as the primary material for creating three-dimensional artworks, embodies luxury and opulence, allows for intricate detailing and fine craftsmanship","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture > Sand,"Sand sculpture art style, temporary and ephemeral art form created by shaping and carving sand, showcases creativity and skill","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture > Stone,"Stone sculpture craft style, utilizes stone as the primary material for creating three-dimensional artworks, allows for intricate carving and sculpting techniques, durable and long-lasting, embodies strength and solidity","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture > Wood,"Wooden sculpture craft style, utilizes wood as the primary material for creating three-dimensional artworks, showcases the natural beauty and texture of wood, allows for intricate detailing and expressive forms","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Sculpture > Wood Carving,"Wood carving art style, sculptural technique that involves carving wood to create three-dimensional forms, showcases craftsmanship and precision","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Shadowbox > Paper,"3D papercut shadowbox art style, intricate paper cutting technique to create layered scenes or designs, plays with light and shadow, adds depth and dimensionality to artwork, depth, silhouette","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Shadowbox > Wood,"cat, 3D wood shadowbox art style, layers of wood cut and assembled to create dimensional scenes or designs, natural textures and tones, adds warmth and depth to artwork, depth, silhouette","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | 3D Layered Plywood Wall Art,"3D plywood laser cut, symmetrical, 3D layered wood wall art style, stacked layers made from plywood, laser cut, on white painted wall, stacked, 3d layered, minimalist, layered, dimensional, depth, silhouette, shadow, handmade, high contrast","painting, drawing, photo, 2D, flat, high detail, blurry, noisy, disfigured, complex, intricate, signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Craft | Stained Glass,"Stained glass art style, vitrail, isolated on solid color background, vibrant colors, intricate patterns, luminous effects when hit by sunlight, traditional craftsmanship, flat","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts, 3d" +Craft | Tapestry,"Tapestry art style, woven textile technique, intricate designs and patterns","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts, 3d" +||| Experimental,,"signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Alien Creature 3D,"Professional 3D design of a cute and quirky alien creature with big curious eyes, charming animation, endearing personality, exaggerated features, dynamic pose, captivating expression, expert character design, vibrant and otherworldly textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k","low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Apocalyptic Surrealism,"Apocalyptic surrealism art style, digital painting, eerie and haunting, surreal landscapes, dystopian ruins, twisted reality, dreamlike and nightmarish scenes, vibrant and dark color palette, intricate details, professional-grade execution, evokes a sense of doom and otherworldliness","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Aztec Sculpture 3D,"Aztec sculpture 3D art style, intricate geometric patterns, stylized figures, rich cultural symbolism, professional-grade execution, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Bio-Luminous Art,"Bio-luminous illustration style, combines biological forms with luminous effects, vibrant and glowing, dynamic composition, professional-grade execution, captures the essence of living organisms with an ethereal glow, evokes a sense of wonder and fascination","bad anatomy, cropped, cross-eyed, worst quality, low quality, noisy, blurry, soft, deformed, ugly, lowres, low details, JPEG artifacts, mutilated, distorted" +Experimental | Bio-Mechanical Fantasy,"Bio-mechanical fantasy illustration style, blends organic and mechanical elements, vibrant and surreal, dynamic composition, professional-grade execution, captures the essence of fantasy and science fiction, detailed and imaginative environment","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Biomechanical Angel 3D,"Biomechanical Angel 3D character art style, fusion of organic and mechanical elements, ethereal and divine, metallic wings, mechanical details, dynamic pose, high-quality rendering techniques, professional-grade execution, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Cute Animal 3D,"Professional 3D design of a cute cartoon animal, charming animation, endearing personality, exaggerated features, captivating expression, expert character design, vibrant and magical textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k","low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Cute Boy 3D,"Professional 3D design of a cute cartoon boy, charming animation, endearing personality, exaggerated features, captivating expression, expert character design, vibrant and magical textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k","low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Cute Cyber Ninja 3D,"Professional 3D design of a cute and stealthy cyber ninja with big alert eyes, charming animation, endearing personality, exaggerated features, dynamic pose, captivating expression, expert character design, vibrant and futuristic textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k","low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Cute Cyberpunk,"Cute Cyberpunk illustration art style, combines cyberpunk elements with cute aesthetics, vibrant and neon colors, dynamic and charming compositions, captures the essence of cute futuristic worlds, professional-grade execution, evokes a sense of futuristic cuteness","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Cute Girl 3D,"Professional 3D design of a cute cartoon girl, charming animation, endearing personality, exaggerated features, captivating expression, expert character design, vibrant and magical textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k","low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Cute Knight 3D,"Professional 3D design of a cute and brave medieval knight with big noble eyes, charming animation, endearing personality, exaggerated features, dynamic pose, captivating expression, expert character design, vibrant and detailed textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k","low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Cute Monster 3D,"Professional 3D design of a cute cartoon monster, adorable creature, charming animation, endearing personality, exaggerated features, captivating expression, expert character design, vibrant and magical textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k","low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Cute Robot 3D,"Professional 3D design of a cute and friendly futuristic robot with big glowing eyes, charming animation, endearing personality, sleek and exaggerated features, dynamic pose, captivating expression, expert character design, vibrant and metallic textures, engaging storytelling, versatile animation style, high-quality render, volumetric, 4k","low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Cute Victorian,"Cute Victorian drawing art style, combines Victorian-era elegance with cute aesthetics, soft and pastel colors, dynamic and charming compositions, captures the essence of cute and historical worlds, professional-grade execution, evokes a sense of vintage charm and cuteness","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Cyber Couture,"Cyber couture fashion style, inspired by futuristic and cybernetic aesthetics, uses innovative materials and designs, professional-grade execution, captures the essence of high-tech fashion, emphasizes creativity and technological advancement","signature, watermark, ugly, off-center, deformed, cropped, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Cybernetic Flora,"Cybernetic flora illustration style, blends plant life with cybernetic elements, dynamic and futuristic composition, professional-grade execution, captures the beauty of bio-mechanical fusion, evokes a sense of innovation and natural harmony","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Dreamscape Mapping,"Dreamscape mapping illustration style, visualizes dreamlike landscapes and surreal environments, uses imaginative and abstract elements, dynamic composition, professional-grade execution, captures the essence of the subconscious mind, evokes a sense of wonder and mystery","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Dreamwave,"Dreamwave illustration style, blends dreamy and surreal elements with vibrant and fluid composition, uses soft gradients and glowing effects, professional-grade execution, captures the essence of dreamscapes, evokes a sense of wonder and imagination","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Dreamy Animal,"Dreamy Animal illustration art style, combines dreamy elements with adorable animals, soft and pastel colors, dynamic and charming compositions, captures the essence of cute and dreamlike animal worlds, professional-grade execution, evokes a sense of serenity and cuteness","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Eldritch Minimalism,"Eldritch Minimalism painting art style, combines minimalist and eldritch horror elements, stark and haunting compositions, muted and eerie colors, captures the essence of horror with minimalist precision, professional-grade execution, evokes a sense of existential dread and minimalist terror","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Ethereal Assassin 3D,"Ethereal Assassin 3D character art style, ghostly and stealthy, shadowy figure, dynamic pose, glowing eyes, high-quality rendering techniques, professional-grade execution, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Ethereal Fluidity,"Ethereal fluidity painting art style, uses fluid and flowing brushstrokes, creates a sense of movement and lightness, dynamic and abstract composition, professional-grade execution, captures the beauty of fluid dynamics, evokes a sense of calm and serenity","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Ethereal Steam,"Ethereal Steam painting art style, merges steampunk elements with ethereal, ghostly imagery, soft pastel colors, wispy forms, intricate mechanical details, combines the solidity of steampunk machinery with the lightness of ethereal beings, professional-grade execution","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Fae Fantasy,"Fae Fantasy painting art style, blends elements of fairies and fantasy, soft lines, vibrant colors, whimsical compositions, captures the essence of magical creatures and enchanted forests, professional-grade execution, evokes a sense of fairy-tale magic and wonder","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Fairy Tale Chronicles,"Fairy tale chronicles art style, digital painting, storybook-like illustration, charming character, vibrant and pastel colors, whimsical environments, detailed and imaginative scenes, professional-grade execution, creates an enchanting and narrative-driven world","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Fairy Tale Cute,"Fairy Tale Cute painting art style, blends fairy tale elements with cute aesthetics, vibrant and pastel colors, imaginative and enchanting compositions, captures the essence of cute fairy tale worlds, professional-grade execution, evokes a sense of magic and charm","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Geomancer 3D,"Geomancer 3D character art style, earth magic user, intricate robes with stone patterns, glowing runes, dynamic pose, high-quality rendering techniques, professional-grade execution, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Holographic Chic,"Holographic chic fashion style, incorporates holographic and iridescent materials, futuristic and eye-catching designs, professional-grade execution, captures the essence of modern and high-tech fashion, emphasizes creativity and innovation","signature, watermark, low quality, JPEG artifacts, off-center, deformed, cropped, worst quality" +Experimental | Legends Digital Painting,"legends art style, digital painting, epic and mystical, game character with magical abilities, intricate details, rich color palette, atmospheric effects, professional-grade execution, captures the essence of ancient legends and powerful magic","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Liquid Light,"Liquid light painting art style, uses fluid and luminous colors, creates a sense of light and movement, dynamic and abstract composition, professional-grade execution, captures the beauty of illuminated art, evokes a sense of wonder and serenity","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Mythical Mechanica 3D,"Mythical Mechanica 3D render, blend of mythical creatures with mechanical elements, dynamic lighting, vibrant colors, high-quality rendering techniques, professional-grade execution, captivating visuals, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Nebula Dreams,"Nebula Dreams 3D render, cosmic clouds and nebulas, vibrant colors, dynamic lighting, surreal and dreamlike, high-quality rendering techniques, professional-grade execution, captivating visuals, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Neural Dreams,"Neural dreams illustration style, inspired by neural networks and artificial intelligence, abstract and surreal, dynamic compositions, vibrant and fluid colors, professional-grade execution, captures the essence of machine learning and human creativity","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Occult Expressionism,"Occult Expressionism painting art style, merges abstract expressionism and occult themes, dark and chaotic compositions, vibrant and eerie colors, expressive brushwork, captures the essence of emotional turmoil and supernatural elements, professional-grade execution, evokes a sense of mystical chaos and expressive darkness","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Pastel Goth Cute,"Pastel Goth Cute illustration art style, combines pastel goth elements with cute aesthetics, soft and pastel colors, dynamic and charming compositions, captures the essence of cuteness with a goth twist, professional-grade execution, evokes a sense of sweet darkness and charm","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Phantasmagoric Abstract,"Phantasmagoric Abstract painting art style, blends abstract expressionism with phantasmagoric elements, chaotic and dreamlike compositions, surreal colors, captures the essence of abstract horror and surreal beauty, professional-grade execution, evokes a sense of nightmarish abstraction and phantasmagoric wonder","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Phantasmal Visions,"Phantasmal visions illustration style, blends ghostly and surreal elements with vibrant and fluid compositions, uses soft gradients and glowing effects, professional-grade execution, captures the essence of ethereal beauty, evokes a sense of wonder and mystery","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Phantom Rococo,"Phantom Rococo painting art style, blends rococo and ghostly elements, ornate and intricate compositions, soft and eerie colors, captures the elegance of rococo with a spectral twist, professional-grade execution, evokes a sense of haunted beauty and rococo grace","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Quantum Sketching,"Quantum sketching art style, abstract and dynamic, inspired by quantum physics, uses fluid lines and shapes, professional-grade execution, captures the essence of quantum mechanics, evokes a sense of mystery and complexity","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Radiant Fantasy,"Radiant Fantasy 3D render, glowing fantasy landscapes, vibrant colors, dynamic lighting, immersive presentation, high-quality rendering techniques, professional-grade execution, captivating visuals, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Robot Cute,"Robot Cute illustration art style, blends robotic elements with cute aesthetics, vibrant and pastel colors, dynamic and charming compositions, captures the essence of cute robots in playful scenes, professional-grade execution, evokes a sense of mechanical cuteness and whimsy","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Shadow Mage 3D,"Shadow Mage 3D character art style, master of dark magic, ethereal and mysterious, glowing eyes, shadowy effects, dynamic pose, high-quality rendering techniques, professional-grade execution, volumetric, 4k","painting, low-quality rendering, photo, photorealistic, realism, ugly, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Voodoo Surrealism,"Voodoo Surrealism painting art style, combines voodoo and surrealist elements, dark and mystical composition, vibrant and eerie colors, symbolic and dreamlike imagery, captures the essence of spiritual mysticism and surreal fantasy, professional-grade execution, evokes a sense of supernatural wonder and surreal mystery","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" +Experimental | Whimsical Chibi,"Whimsical Chibi painting art style, combines whimsical elements with chibi character, soft and pastel colors, dynamic and playful compositions, captures the essence of cuteness and whimsy, professional-grade execution, evokes a sense of joy and delight","signature, watermark, photo, photorealistic, realism, ugly, off-center, deformed, 35mm film, dslr, cropped, frame, worst quality, low quality, lowres, JPEG artifacts" diff --git a/styles/default.csv b/styles/default.csv new file mode 100644 index 0000000000000000000000000000000000000000..b7977e597452db6d038fa064a2856af850d2211e --- /dev/null +++ b/styles/default.csv @@ -0,0 +1,3 @@ +name,prompt,negative_prompt +❌Low Token,,"embedding:EasyNegative, NSFW, Cleavage, Pubic Hair, Nudity, Naked, censored" +✅Line Art / Manga,"(Anime Scene, Toonshading, Satoshi Kon, Ken Sugimori, Hiromu Arakawa:1.2), (Anime Style, Manga Style:1.3), Low detail, sketch, concept art, line art, webtoon, manhua, hand drawn, defined lines, simple shades, minimalistic, High contrast, Linear compositions, Scalable artwork, Digital art, High Contrast Shadows, glow effects, humorous illustration, big depth of field, Masterpiece, colors, concept art, trending on artstation, Vivid colors, dramatic", diff --git a/tests-unit/README.md b/tests-unit/README.md new file mode 100644 index 0000000000000000000000000000000000000000..81692b8f1de8c74fd058e627d10dbd0fc2821257 --- /dev/null +++ b/tests-unit/README.md @@ -0,0 +1,8 @@ +# Pytest Unit Tests + +## Install test dependencies + +`pip install -r tests-unit/requirements.txt` + +## Run tests +`pytest tests-unit/` diff --git a/tests-unit/app_test/__init__.py b/tests-unit/app_test/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests-unit/app_test/custom_node_manager_test.py b/tests-unit/app_test/custom_node_manager_test.py new file mode 100644 index 0000000000000000000000000000000000000000..89598de84928cd41eda8a95724628ddabf5c8aab --- /dev/null +++ b/tests-unit/app_test/custom_node_manager_test.py @@ -0,0 +1,40 @@ +import pytest +from aiohttp import web +from unittest.mock import patch +from app.custom_node_manager import CustomNodeManager + +pytestmark = ( + pytest.mark.asyncio +) # This applies the asyncio mark to all test functions in the module + +@pytest.fixture +def custom_node_manager(): + return CustomNodeManager() + +@pytest.fixture +def app(custom_node_manager): + app = web.Application() + routes = web.RouteTableDef() + custom_node_manager.add_routes(routes, app, [("ComfyUI-TestExtension1", "ComfyUI-TestExtension1")]) + app.add_routes(routes) + return app + +async def test_get_workflow_templates(aiohttp_client, app, tmp_path): + client = await aiohttp_client(app) + # Setup temporary custom nodes file structure with 1 workflow file + custom_nodes_dir = tmp_path / "custom_nodes" + example_workflows_dir = custom_nodes_dir / "ComfyUI-TestExtension1" / "example_workflows" + example_workflows_dir.mkdir(parents=True) + template_file = example_workflows_dir / "workflow1.json" + template_file.write_text('') + + with patch('folder_paths.folder_names_and_paths', { + 'custom_nodes': ([str(custom_nodes_dir)], None) + }): + response = await client.get('/workflow_templates') + assert response.status == 200 + workflows_dict = await response.json() + assert isinstance(workflows_dict, dict) + assert "ComfyUI-TestExtension1" in workflows_dict + assert isinstance(workflows_dict["ComfyUI-TestExtension1"], list) + assert workflows_dict["ComfyUI-TestExtension1"][0] == "workflow1" diff --git a/tests-unit/app_test/frontend_manager_test.py b/tests-unit/app_test/frontend_manager_test.py new file mode 100644 index 0000000000000000000000000000000000000000..a8df5248461404d5934d3f7690bf1eeabaaf501b --- /dev/null +++ b/tests-unit/app_test/frontend_manager_test.py @@ -0,0 +1,130 @@ +import argparse +import pytest +from requests.exceptions import HTTPError +from unittest.mock import patch + +from app.frontend_management import ( + FrontendManager, + FrontEndProvider, + Release, +) +from comfy.cli_args import DEFAULT_VERSION_STRING + + +@pytest.fixture +def mock_releases(): + return [ + Release( + id=1, + tag_name="1.0.0", + name="Release 1.0.0", + prerelease=False, + created_at="2022-01-01T00:00:00Z", + published_at="2022-01-01T00:00:00Z", + body="Release notes for 1.0.0", + assets=[{"name": "dist.zip", "url": "https://example.com/dist.zip"}], + ), + Release( + id=2, + tag_name="2.0.0", + name="Release 2.0.0", + prerelease=False, + created_at="2022-02-01T00:00:00Z", + published_at="2022-02-01T00:00:00Z", + body="Release notes for 2.0.0", + assets=[{"name": "dist.zip", "url": "https://example.com/dist.zip"}], + ), + ] + + +@pytest.fixture +def mock_provider(mock_releases): + provider = FrontEndProvider( + owner="test-owner", + repo="test-repo", + ) + provider.all_releases = mock_releases + provider.latest_release = mock_releases[1] + FrontendManager.PROVIDERS = [provider] + return provider + + +def test_get_release(mock_provider, mock_releases): + version = "1.0.0" + release = mock_provider.get_release(version) + assert release == mock_releases[0] + + +def test_get_release_latest(mock_provider, mock_releases): + version = "latest" + release = mock_provider.get_release(version) + assert release == mock_releases[1] + + +def test_get_release_invalid_version(mock_provider): + version = "invalid" + with pytest.raises(ValueError): + mock_provider.get_release(version) + + +def test_init_frontend_default(): + version_string = DEFAULT_VERSION_STRING + frontend_path = FrontendManager.init_frontend(version_string) + assert frontend_path == FrontendManager.DEFAULT_FRONTEND_PATH + + +def test_init_frontend_invalid_version(): + version_string = "test-owner/test-repo@1.100.99" + with pytest.raises(HTTPError): + FrontendManager.init_frontend_unsafe(version_string) + + +def test_init_frontend_invalid_provider(): + version_string = "invalid/invalid@latest" + with pytest.raises(HTTPError): + FrontendManager.init_frontend_unsafe(version_string) + +@pytest.fixture +def mock_os_functions(): + with patch('app.frontend_management.os.makedirs') as mock_makedirs, \ + patch('app.frontend_management.os.listdir') as mock_listdir, \ + patch('app.frontend_management.os.rmdir') as mock_rmdir: + mock_listdir.return_value = [] # Simulate empty directory + yield mock_makedirs, mock_listdir, mock_rmdir + +@pytest.fixture +def mock_download(): + with patch('app.frontend_management.download_release_asset_zip') as mock: + mock.side_effect = Exception("Download failed") # Simulate download failure + yield mock + +def test_finally_block(mock_os_functions, mock_download, mock_provider): + # Arrange + mock_makedirs, mock_listdir, mock_rmdir = mock_os_functions + version_string = 'test-owner/test-repo@1.0.0' + + # Act & Assert + with pytest.raises(Exception): + FrontendManager.init_frontend_unsafe(version_string, mock_provider) + + # Assert + mock_makedirs.assert_called_once() + mock_download.assert_called_once() + mock_listdir.assert_called_once() + mock_rmdir.assert_called_once() + + +def test_parse_version_string(): + version_string = "owner/repo@1.0.0" + repo_owner, repo_name, version = FrontendManager.parse_version_string( + version_string + ) + assert repo_owner == "owner" + assert repo_name == "repo" + assert version == "1.0.0" + + +def test_parse_version_string_invalid(): + version_string = "invalid" + with pytest.raises(argparse.ArgumentTypeError): + FrontendManager.parse_version_string(version_string) diff --git a/tests-unit/app_test/model_manager_test.py b/tests-unit/app_test/model_manager_test.py new file mode 100644 index 0000000000000000000000000000000000000000..ae59206f65639ca1749b1cf7b6903ebab18fb298 --- /dev/null +++ b/tests-unit/app_test/model_manager_test.py @@ -0,0 +1,62 @@ +import pytest +import base64 +import json +import struct +from io import BytesIO +from PIL import Image +from aiohttp import web +from unittest.mock import patch +from app.model_manager import ModelFileManager + +pytestmark = ( + pytest.mark.asyncio +) # This applies the asyncio mark to all test functions in the module + +@pytest.fixture +def model_manager(): + return ModelFileManager() + +@pytest.fixture +def app(model_manager): + app = web.Application() + routes = web.RouteTableDef() + model_manager.add_routes(routes) + app.add_routes(routes) + return app + +async def test_get_model_preview_safetensors(aiohttp_client, app, tmp_path): + img = Image.new('RGB', (100, 100), 'white') + img_byte_arr = BytesIO() + img.save(img_byte_arr, format='PNG') + img_byte_arr.seek(0) + img_b64 = base64.b64encode(img_byte_arr.getvalue()).decode('utf-8') + + safetensors_file = tmp_path / "test_model.safetensors" + header_bytes = json.dumps({ + "__metadata__": { + "ssmd_cover_images": json.dumps([img_b64]) + } + }).encode('utf-8') + length_bytes = struct.pack(' bool: + if self == "*" or value == "*": + return False + if self == "LONGER_THAN_2": + return not len(value) > 2 + raise TypeError("This is a class for unit tests only.") + + +def test_ne_override(): + """Test ``__ne__`` any override""" + any = NotEqualsOverrideTest("*") + invalid_type = "INVALID_TYPE" + obj = object() + assert validate_node_input(any, any) + assert validate_node_input(any, invalid_type) + assert validate_node_input(any, obj) + assert validate_node_input(any, {}) + assert validate_node_input(any, []) + assert validate_node_input(any, [1, 2, 3]) + + +def test_ne_custom_override(): + """Test ``__ne__`` custom override""" + special = NotEqualsOverrideTest("LONGER_THAN_2") + + assert validate_node_input(special, special) + assert validate_node_input(special, "*") + assert validate_node_input(special, "INVALID_TYPE") + assert validate_node_input(special, [1, 2, 3]) + + # Should fail + assert not validate_node_input(special, [1, 2]) + assert not validate_node_input(special, "TY") + + +@pytest.mark.parametrize( + "received,input_type,strict,expected", + [ + ("STRING", "STRING", False, True), + ("STRING,INT", "STRING,INT", False, True), + ("STRING", "STRING,INT", True, True), + ("STRING,INT", "STRING", True, False), + ("BOOLEAN", "STRING,INT", False, False), + ("STRING,BOOLEAN", "STRING,INT", False, True), + ], +) +def test_parametrized_cases(received, input_type, strict, expected): + """Parametrized test cases for various scenarios""" + assert validate_node_input(received, input_type, strict) == expected diff --git a/tests-unit/folder_paths_test/__init__.py b/tests-unit/folder_paths_test/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests-unit/folder_paths_test/filter_by_content_types_test.py b/tests-unit/folder_paths_test/filter_by_content_types_test.py new file mode 100644 index 0000000000000000000000000000000000000000..423677a6009591da2137b9f82414a27c930c9c66 --- /dev/null +++ b/tests-unit/folder_paths_test/filter_by_content_types_test.py @@ -0,0 +1,52 @@ +import pytest +import os +import tempfile +from folder_paths import filter_files_content_types + +@pytest.fixture(scope="module") +def file_extensions(): + return { + 'image': ['gif', 'heif', 'ico', 'jpeg', 'jpg', 'png', 'pnm', 'ppm', 'svg', 'tiff', 'webp', 'xbm', 'xpm'], + 'audio': ['aif', 'aifc', 'aiff', 'au', 'flac', 'm4a', 'mp2', 'mp3', 'ogg', 'snd', 'wav'], + 'video': ['avi', 'm2v', 'm4v', 'mkv', 'mov', 'mp4', 'mpeg', 'mpg', 'ogv', 'qt', 'webm', 'wmv'] + } + + +@pytest.fixture(scope="module") +def mock_dir(file_extensions): + with tempfile.TemporaryDirectory() as directory: + for content_type, extensions in file_extensions.items(): + for extension in extensions: + with open(f"{directory}/sample_{content_type}.{extension}", "w") as f: + f.write(f"Sample {content_type} file in {extension} format") + yield directory + + +def test_categorizes_all_correctly(mock_dir, file_extensions): + files = os.listdir(mock_dir) + for content_type, extensions in file_extensions.items(): + filtered_files = filter_files_content_types(files, [content_type]) + for extension in extensions: + assert f"sample_{content_type}.{extension}" in filtered_files + + +def test_categorizes_all_uniquely(mock_dir, file_extensions): + files = os.listdir(mock_dir) + for content_type, extensions in file_extensions.items(): + filtered_files = filter_files_content_types(files, [content_type]) + assert len(filtered_files) == len(extensions) + + +def test_handles_bad_extensions(): + files = ["file1.txt", "file2.py", "file3.example", "file4.pdf", "file5.ini", "file6.doc", "file7.md"] + assert filter_files_content_types(files, ["image", "audio", "video"]) == [] + + +def test_handles_no_extension(): + files = ["file1", "file2", "file3", "file4", "file5", "file6", "file7"] + assert filter_files_content_types(files, ["image", "audio", "video"]) == [] + + +def test_handles_no_files(): + files = [] + assert filter_files_content_types(files, ["image", "audio", "video"]) == [] diff --git a/tests-unit/prompt_server_test/__init__.py b/tests-unit/prompt_server_test/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests-unit/prompt_server_test/user_manager_test.py b/tests-unit/prompt_server_test/user_manager_test.py new file mode 100644 index 0000000000000000000000000000000000000000..7e523cbf486c9bf650262f743369ddedda4feb9f --- /dev/null +++ b/tests-unit/prompt_server_test/user_manager_test.py @@ -0,0 +1,231 @@ +import pytest +import os +from aiohttp import web +from app.user_manager import UserManager +from unittest.mock import patch + +pytestmark = ( + pytest.mark.asyncio +) # This applies the asyncio mark to all test functions in the module + + +@pytest.fixture +def user_manager(tmp_path): + um = UserManager() + um.get_request_user_filepath = lambda req, file, **kwargs: os.path.join( + tmp_path, file + ) if file else tmp_path + return um + + +@pytest.fixture +def app(user_manager): + app = web.Application() + routes = web.RouteTableDef() + user_manager.add_routes(routes) + app.add_routes(routes) + return app + + +async def test_listuserdata_empty_directory(aiohttp_client, app, tmp_path): + client = await aiohttp_client(app) + resp = await client.get("/userdata?dir=test_dir") + assert resp.status == 404 + + +async def test_listuserdata_with_files(aiohttp_client, app, tmp_path): + os.makedirs(tmp_path / "test_dir") + with open(tmp_path / "test_dir" / "file1.txt", "w") as f: + f.write("test content") + + client = await aiohttp_client(app) + resp = await client.get("/userdata?dir=test_dir") + assert resp.status == 200 + assert await resp.json() == ["file1.txt"] + + +async def test_listuserdata_recursive(aiohttp_client, app, tmp_path): + os.makedirs(tmp_path / "test_dir" / "subdir") + with open(tmp_path / "test_dir" / "file1.txt", "w") as f: + f.write("test content") + with open(tmp_path / "test_dir" / "subdir" / "file2.txt", "w") as f: + f.write("test content") + + client = await aiohttp_client(app) + resp = await client.get("/userdata?dir=test_dir&recurse=true") + assert resp.status == 200 + assert set(await resp.json()) == {"file1.txt", "subdir/file2.txt"} + + +async def test_listuserdata_full_info(aiohttp_client, app, tmp_path): + os.makedirs(tmp_path / "test_dir") + with open(tmp_path / "test_dir" / "file1.txt", "w") as f: + f.write("test content") + + client = await aiohttp_client(app) + resp = await client.get("/userdata?dir=test_dir&full_info=true") + assert resp.status == 200 + result = await resp.json() + assert len(result) == 1 + assert result[0]["path"] == "file1.txt" + assert "size" in result[0] + assert "modified" in result[0] + + +async def test_listuserdata_split_path(aiohttp_client, app, tmp_path): + os.makedirs(tmp_path / "test_dir" / "subdir") + with open(tmp_path / "test_dir" / "subdir" / "file1.txt", "w") as f: + f.write("test content") + + client = await aiohttp_client(app) + resp = await client.get("/userdata?dir=test_dir&recurse=true&split=true") + assert resp.status == 200 + assert await resp.json() == [["subdir/file1.txt", "subdir", "file1.txt"]] + + +async def test_listuserdata_invalid_directory(aiohttp_client, app): + client = await aiohttp_client(app) + resp = await client.get("/userdata?dir=") + assert resp.status == 400 + + +async def test_listuserdata_normalized_separator(aiohttp_client, app, tmp_path): + os_sep = "\\" + with patch("os.sep", os_sep): + with patch("os.path.sep", os_sep): + os.makedirs(tmp_path / "test_dir" / "subdir") + with open(tmp_path / "test_dir" / "subdir" / "file1.txt", "w") as f: + f.write("test content") + + client = await aiohttp_client(app) + resp = await client.get("/userdata?dir=test_dir&recurse=true") + assert resp.status == 200 + result = await resp.json() + assert len(result) == 1 + assert "/" in result[0] # Ensure forward slash is used + assert "\\" not in result[0] # Ensure backslash is not present + assert result[0] == "subdir/file1.txt" + + # Test with full_info + resp = await client.get( + "/userdata?dir=test_dir&recurse=true&full_info=true" + ) + assert resp.status == 200 + result = await resp.json() + assert len(result) == 1 + assert "/" in result[0]["path"] # Ensure forward slash is used + assert "\\" not in result[0]["path"] # Ensure backslash is not present + assert result[0]["path"] == "subdir/file1.txt" + + +async def test_post_userdata_new_file(aiohttp_client, app, tmp_path): + client = await aiohttp_client(app) + content = b"test content" + resp = await client.post("/userdata/test.txt", data=content) + + assert resp.status == 200 + assert await resp.text() == '"test.txt"' + + # Verify file was created with correct content + with open(tmp_path / "test.txt", "rb") as f: + assert f.read() == content + + +async def test_post_userdata_overwrite_existing(aiohttp_client, app, tmp_path): + # Create initial file + with open(tmp_path / "test.txt", "w") as f: + f.write("initial content") + + client = await aiohttp_client(app) + new_content = b"updated content" + resp = await client.post("/userdata/test.txt", data=new_content) + + assert resp.status == 200 + assert await resp.text() == '"test.txt"' + + # Verify file was overwritten + with open(tmp_path / "test.txt", "rb") as f: + assert f.read() == new_content + + +async def test_post_userdata_no_overwrite(aiohttp_client, app, tmp_path): + # Create initial file + with open(tmp_path / "test.txt", "w") as f: + f.write("initial content") + + client = await aiohttp_client(app) + resp = await client.post("/userdata/test.txt?overwrite=false", data=b"new content") + + assert resp.status == 409 + + # Verify original content unchanged + with open(tmp_path / "test.txt", "r") as f: + assert f.read() == "initial content" + + +async def test_post_userdata_full_info(aiohttp_client, app, tmp_path): + client = await aiohttp_client(app) + content = b"test content" + resp = await client.post("/userdata/test.txt?full_info=true", data=content) + + assert resp.status == 200 + result = await resp.json() + assert result["path"] == "test.txt" + assert result["size"] == len(content) + assert "modified" in result + + +async def test_move_userdata(aiohttp_client, app, tmp_path): + # Create initial file + with open(tmp_path / "source.txt", "w") as f: + f.write("test content") + + client = await aiohttp_client(app) + resp = await client.post("/userdata/source.txt/move/dest.txt") + + assert resp.status == 200 + assert await resp.text() == '"dest.txt"' + + # Verify file was moved + assert not os.path.exists(tmp_path / "source.txt") + with open(tmp_path / "dest.txt", "r") as f: + assert f.read() == "test content" + + +async def test_move_userdata_no_overwrite(aiohttp_client, app, tmp_path): + # Create source and destination files + with open(tmp_path / "source.txt", "w") as f: + f.write("source content") + with open(tmp_path / "dest.txt", "w") as f: + f.write("destination content") + + client = await aiohttp_client(app) + resp = await client.post("/userdata/source.txt/move/dest.txt?overwrite=false") + + assert resp.status == 409 + + # Verify files remain unchanged + with open(tmp_path / "source.txt", "r") as f: + assert f.read() == "source content" + with open(tmp_path / "dest.txt", "r") as f: + assert f.read() == "destination content" + + +async def test_move_userdata_full_info(aiohttp_client, app, tmp_path): + # Create initial file + with open(tmp_path / "source.txt", "w") as f: + f.write("test content") + + client = await aiohttp_client(app) + resp = await client.post("/userdata/source.txt/move/dest.txt?full_info=true") + + assert resp.status == 200 + result = await resp.json() + assert result["path"] == "dest.txt" + assert result["size"] == len("test content") + assert "modified" in result + + # Verify file was moved + assert not os.path.exists(tmp_path / "source.txt") + with open(tmp_path / "dest.txt", "r") as f: + assert f.read() == "test content" diff --git a/tests-unit/requirements.txt b/tests-unit/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d70d00f4ba2315c2c8233f5dadfc398ea87f5259 --- /dev/null +++ b/tests-unit/requirements.txt @@ -0,0 +1,3 @@ +pytest>=7.8.0 +pytest-aiohttp +pytest-asyncio diff --git a/tests-unit/server/routes/internal_routes_test.py b/tests-unit/server/routes/internal_routes_test.py new file mode 100644 index 0000000000000000000000000000000000000000..68c8466521ae4bffbb2512d67506dd994212811e --- /dev/null +++ b/tests-unit/server/routes/internal_routes_test.py @@ -0,0 +1,115 @@ +import pytest +from aiohttp import web +from unittest.mock import MagicMock, patch +from api_server.routes.internal.internal_routes import InternalRoutes +from api_server.services.file_service import FileService +from folder_paths import models_dir, user_directory, output_directory + + +@pytest.fixture +def internal_routes(): + return InternalRoutes(None) + +@pytest.fixture +def aiohttp_client_factory(aiohttp_client, internal_routes): + async def _get_client(): + app = internal_routes.get_app() + return await aiohttp_client(app) + return _get_client + +@pytest.mark.asyncio +async def test_list_files_valid_directory(aiohttp_client_factory, internal_routes): + mock_file_list = [ + {"name": "file1.txt", "path": "file1.txt", "type": "file", "size": 100}, + {"name": "dir1", "path": "dir1", "type": "directory"} + ] + internal_routes.file_service.list_files = MagicMock(return_value=mock_file_list) + client = await aiohttp_client_factory() + resp = await client.get('/files?directory=models') + assert resp.status == 200 + data = await resp.json() + assert 'files' in data + assert len(data['files']) == 2 + assert data['files'] == mock_file_list + + # Check other valid directories + resp = await client.get('/files?directory=user') + assert resp.status == 200 + resp = await client.get('/files?directory=output') + assert resp.status == 200 + +@pytest.mark.asyncio +async def test_list_files_invalid_directory(aiohttp_client_factory, internal_routes): + internal_routes.file_service.list_files = MagicMock(side_effect=ValueError("Invalid directory key")) + client = await aiohttp_client_factory() + resp = await client.get('/files?directory=invalid') + assert resp.status == 400 + data = await resp.json() + assert 'error' in data + assert data['error'] == "Invalid directory key" + +@pytest.mark.asyncio +async def test_list_files_exception(aiohttp_client_factory, internal_routes): + internal_routes.file_service.list_files = MagicMock(side_effect=Exception("Unexpected error")) + client = await aiohttp_client_factory() + resp = await client.get('/files?directory=models') + assert resp.status == 500 + data = await resp.json() + assert 'error' in data + assert data['error'] == "Unexpected error" + +@pytest.mark.asyncio +async def test_list_files_no_directory_param(aiohttp_client_factory, internal_routes): + mock_file_list = [] + internal_routes.file_service.list_files = MagicMock(return_value=mock_file_list) + client = await aiohttp_client_factory() + resp = await client.get('/files') + assert resp.status == 200 + data = await resp.json() + assert 'files' in data + assert len(data['files']) == 0 + +def test_setup_routes(internal_routes): + internal_routes.setup_routes() + routes = internal_routes.routes + assert any(route.method == 'GET' and str(route.path) == '/files' for route in routes) + +def test_get_app(internal_routes): + app = internal_routes.get_app() + assert isinstance(app, web.Application) + assert internal_routes._app is not None + +def test_get_app_reuse(internal_routes): + app1 = internal_routes.get_app() + app2 = internal_routes.get_app() + assert app1 is app2 + +@pytest.mark.asyncio +async def test_routes_added_to_app(aiohttp_client_factory, internal_routes): + client = await aiohttp_client_factory() + try: + resp = await client.get('/files') + print(f"Response received: status {resp.status}") # noqa: T201 + except Exception as e: + print(f"Exception occurred during GET request: {e}") # noqa: T201 + raise + + assert resp.status != 404, "Route /files does not exist" + +@pytest.mark.asyncio +async def test_file_service_initialization(): + with patch('api_server.routes.internal.internal_routes.FileService') as MockFileService: + # Create a mock instance + mock_file_service_instance = MagicMock(spec=FileService) + MockFileService.return_value = mock_file_service_instance + internal_routes = InternalRoutes(None) + + # Check if FileService was initialized with the correct parameters + MockFileService.assert_called_once_with({ + "models": models_dir, + "user": user_directory, + "output": output_directory + }) + + # Verify that the file_service attribute of InternalRoutes is set + assert internal_routes.file_service == mock_file_service_instance diff --git a/tests-unit/server/services/file_service_test.py b/tests-unit/server/services/file_service_test.py new file mode 100644 index 0000000000000000000000000000000000000000..09c3efc9f0d8a0e4b3739c8e063f0832a4d05253 --- /dev/null +++ b/tests-unit/server/services/file_service_test.py @@ -0,0 +1,54 @@ +import pytest +from unittest.mock import MagicMock +from api_server.services.file_service import FileService + +@pytest.fixture +def mock_file_system_ops(): + return MagicMock() + +@pytest.fixture +def file_service(mock_file_system_ops): + allowed_directories = { + "models": "/path/to/models", + "user": "/path/to/user", + "output": "/path/to/output" + } + return FileService(allowed_directories, file_system_ops=mock_file_system_ops) + +def test_list_files_valid_directory(file_service, mock_file_system_ops): + mock_file_system_ops.walk_directory.return_value = [ + {"name": "file1.txt", "path": "file1.txt", "type": "file", "size": 100}, + {"name": "dir1", "path": "dir1", "type": "directory"} + ] + + result = file_service.list_files("models") + + assert len(result) == 2 + assert result[0]["name"] == "file1.txt" + assert result[1]["name"] == "dir1" + mock_file_system_ops.walk_directory.assert_called_once_with("/path/to/models") + +def test_list_files_invalid_directory(file_service): + # Does not support walking directories outside of the allowed directories + with pytest.raises(ValueError, match="Invalid directory key"): + file_service.list_files("invalid_key") + +def test_list_files_empty_directory(file_service, mock_file_system_ops): + mock_file_system_ops.walk_directory.return_value = [] + + result = file_service.list_files("models") + + assert len(result) == 0 + mock_file_system_ops.walk_directory.assert_called_once_with("/path/to/models") + +@pytest.mark.parametrize("directory_key", ["models", "user", "output"]) +def test_list_files_all_allowed_directories(file_service, mock_file_system_ops, directory_key): + mock_file_system_ops.walk_directory.return_value = [ + {"name": f"file_{directory_key}.txt", "path": f"file_{directory_key}.txt", "type": "file", "size": 100} + ] + + result = file_service.list_files(directory_key) + + assert len(result) == 1 + assert result[0]["name"] == f"file_{directory_key}.txt" + mock_file_system_ops.walk_directory.assert_called_once_with(f"/path/to/{directory_key}") diff --git a/tests-unit/server/utils/file_operations_test.py b/tests-unit/server/utils/file_operations_test.py new file mode 100644 index 0000000000000000000000000000000000000000..2a45cc47a1447e6c2ace4f40e6543b2b7c5e4fcf --- /dev/null +++ b/tests-unit/server/utils/file_operations_test.py @@ -0,0 +1,42 @@ +import pytest +from typing import List +from api_server.utils.file_operations import FileSystemOperations, FileSystemItem, is_file_info + +@pytest.fixture +def temp_directory(tmp_path): + # Create a temporary directory structure + dir1 = tmp_path / "dir1" + dir2 = tmp_path / "dir2" + dir1.mkdir() + dir2.mkdir() + (dir1 / "file1.txt").write_text("content1") + (dir2 / "file2.txt").write_text("content2") + (tmp_path / "file3.txt").write_text("content3") + return tmp_path + +def test_walk_directory(temp_directory): + result: List[FileSystemItem] = FileSystemOperations.walk_directory(str(temp_directory)) + + assert len(result) == 5 # 2 directories and 3 files + + files = [item for item in result if item['type'] == 'file'] + dirs = [item for item in result if item['type'] == 'directory'] + + assert len(files) == 3 + assert len(dirs) == 2 + + file_names = {file['name'] for file in files} + assert file_names == {'file1.txt', 'file2.txt', 'file3.txt'} + + dir_names = {dir['name'] for dir in dirs} + assert dir_names == {'dir1', 'dir2'} + +def test_walk_directory_empty(tmp_path): + result = FileSystemOperations.walk_directory(str(tmp_path)) + assert len(result) == 0 + +def test_walk_directory_file_size(temp_directory): + result: List[FileSystemItem] = FileSystemOperations.walk_directory(str(temp_directory)) + files = [item for item in result if is_file_info(item)] + for file in files: + assert file['size'] > 0 # Assuming all files have some content diff --git a/tests-unit/utils/extra_config_test.py b/tests-unit/utils/extra_config_test.py new file mode 100644 index 0000000000000000000000000000000000000000..b23f5bd08ce757202eaef8010be3678e950c4bb6 --- /dev/null +++ b/tests-unit/utils/extra_config_test.py @@ -0,0 +1,303 @@ +import pytest +import yaml +import os +import sys +from unittest.mock import Mock, patch, mock_open + +from utils.extra_config import load_extra_path_config +import folder_paths + + +@pytest.fixture() +def clear_folder_paths(): + # Clear the global dictionary before each test to ensure isolation + original = folder_paths.folder_names_and_paths.copy() + folder_paths.folder_names_and_paths.clear() + yield + folder_paths.folder_names_and_paths = original + + +@pytest.fixture +def mock_yaml_content(): + return { + 'test_config': { + 'base_path': '~/App/', + 'checkpoints': 'subfolder1', + } + } + + +@pytest.fixture +def mock_expanded_home(): + return '/home/user' + + +@pytest.fixture +def yaml_config_with_appdata(): + return """ + test_config: + base_path: '%APPDATA%/ComfyUI' + checkpoints: 'models/checkpoints' + """ + + +@pytest.fixture +def mock_yaml_content_appdata(yaml_config_with_appdata): + return yaml.safe_load(yaml_config_with_appdata) + + +@pytest.fixture +def mock_expandvars_appdata(): + mock = Mock() + + def expandvars(path): + if '%APPDATA%' in path: + if sys.platform == 'win32': + return path.replace('%APPDATA%', 'C:/Users/TestUser/AppData/Roaming') + else: + return path.replace('%APPDATA%', '/Users/TestUser/AppData/Roaming') + return path + + mock.side_effect = expandvars + return mock + + +@pytest.fixture +def mock_add_model_folder_path(): + return Mock() + + +@pytest.fixture +def mock_expanduser(mock_expanded_home): + def _expanduser(path): + if path.startswith('~/'): + return os.path.join(mock_expanded_home, path[2:]) + return path + return _expanduser + + +@pytest.fixture +def mock_yaml_safe_load(mock_yaml_content): + return Mock(return_value=mock_yaml_content) + + +@patch('builtins.open', new_callable=mock_open, read_data="dummy file content") +def test_load_extra_model_paths_expands_userpath( + mock_file, + monkeypatch, + mock_add_model_folder_path, + mock_expanduser, + mock_yaml_safe_load, + mock_expanded_home +): + # Attach mocks used by load_extra_path_config + monkeypatch.setattr(folder_paths, 'add_model_folder_path', mock_add_model_folder_path) + monkeypatch.setattr(os.path, 'expanduser', mock_expanduser) + monkeypatch.setattr(yaml, 'safe_load', mock_yaml_safe_load) + + dummy_yaml_file_name = 'dummy_path.yaml' + load_extra_path_config(dummy_yaml_file_name) + + expected_calls = [ + ('checkpoints', os.path.join(mock_expanded_home, 'App', 'subfolder1'), False), + ] + + assert mock_add_model_folder_path.call_count == len(expected_calls) + + # Check if add_model_folder_path was called with the correct arguments + for actual_call, expected_call in zip(mock_add_model_folder_path.call_args_list, expected_calls): + assert actual_call.args[0] == expected_call[0] + assert os.path.normpath(actual_call.args[1]) == os.path.normpath(expected_call[1]) # Normalize and check the path to check on multiple OS. + assert actual_call.args[2] == expected_call[2] + + # Check if yaml.safe_load was called + mock_yaml_safe_load.assert_called_once() + + # Check if open was called with the correct file path + mock_file.assert_called_once_with(dummy_yaml_file_name, 'r') + + +@patch('builtins.open', new_callable=mock_open) +def test_load_extra_model_paths_expands_appdata( + mock_file, + monkeypatch, + mock_add_model_folder_path, + mock_expandvars_appdata, + yaml_config_with_appdata, + mock_yaml_content_appdata +): + # Set the mock_file to return yaml with appdata as a variable + mock_file.return_value.read.return_value = yaml_config_with_appdata + + # Attach mocks + monkeypatch.setattr(folder_paths, 'add_model_folder_path', mock_add_model_folder_path) + monkeypatch.setattr(os.path, 'expandvars', mock_expandvars_appdata) + monkeypatch.setattr(yaml, 'safe_load', Mock(return_value=mock_yaml_content_appdata)) + + # Mock expanduser to do nothing (since we're not testing it here) + monkeypatch.setattr(os.path, 'expanduser', lambda x: x) + + dummy_yaml_file_name = 'dummy_path.yaml' + load_extra_path_config(dummy_yaml_file_name) + + if sys.platform == "win32": + expected_base_path = 'C:/Users/TestUser/AppData/Roaming/ComfyUI' + else: + expected_base_path = '/Users/TestUser/AppData/Roaming/ComfyUI' + expected_calls = [ + ('checkpoints', os.path.join(expected_base_path, 'models/checkpoints'), False), + ] + + assert mock_add_model_folder_path.call_count == len(expected_calls) + + # Check the base path variable was expanded + for actual_call, expected_call in zip(mock_add_model_folder_path.call_args_list, expected_calls): + assert actual_call.args == expected_call + + # Verify that expandvars was called + assert mock_expandvars_appdata.called + + +@patch("builtins.open", new_callable=mock_open, read_data="dummy yaml content") +@patch("yaml.safe_load") +def test_load_extra_path_config_relative_base_path( + mock_yaml_load, _mock_file, clear_folder_paths, monkeypatch, tmp_path +): + """ + Test that when 'base_path' is a relative path in the YAML, it is joined to the YAML file directory, and then + the items in the config are correctly converted to absolute paths. + """ + sub_folder = "./my_rel_base" + config_data = { + "some_model_folder": { + "base_path": sub_folder, + "is_default": True, + "checkpoints": "checkpoints", + "some_key": "some_value" + } + } + mock_yaml_load.return_value = config_data + + dummy_yaml_name = "dummy_file.yaml" + + def fake_abspath(path): + if path == dummy_yaml_name: + # If it's the YAML path, treat it like it lives in tmp_path + return os.path.join(str(tmp_path), dummy_yaml_name) + return os.path.join(str(tmp_path), path) # Otherwise, do a normal join relative to tmp_path + + def fake_dirname(path): + # We expect path to be the result of fake_abspath(dummy_yaml_name) + if path.endswith(dummy_yaml_name): + return str(tmp_path) + return os.path.dirname(path) + + monkeypatch.setattr(os.path, "abspath", fake_abspath) + monkeypatch.setattr(os.path, "dirname", fake_dirname) + + load_extra_path_config(dummy_yaml_name) + + expected_checkpoints = os.path.abspath(os.path.join(str(tmp_path), sub_folder, "checkpoints")) + expected_some_value = os.path.abspath(os.path.join(str(tmp_path), sub_folder, "some_value")) + + actual_paths = folder_paths.folder_names_and_paths["checkpoints"][0] + assert len(actual_paths) == 1, "Should have one path added for 'checkpoints'." + assert actual_paths[0] == expected_checkpoints + + actual_paths = folder_paths.folder_names_and_paths["some_key"][0] + assert len(actual_paths) == 1, "Should have one path added for 'some_key'." + assert actual_paths[0] == expected_some_value + + +@patch("builtins.open", new_callable=mock_open, read_data="dummy yaml content") +@patch("yaml.safe_load") +def test_load_extra_path_config_absolute_base_path( + mock_yaml_load, _mock_file, clear_folder_paths, monkeypatch, tmp_path +): + """ + Test that when 'base_path' is an absolute path, each subdirectory is joined with that absolute path, + rather than being relative to the YAML's directory. + """ + abs_base = os.path.join(str(tmp_path), "abs_base") + config_data = { + "some_absolute_folder": { + "base_path": abs_base, # <-- absolute + "is_default": True, + "loras": "loras_folder", + "embeddings": "embeddings_folder" + } + } + mock_yaml_load.return_value = config_data + + dummy_yaml_name = "dummy_abs.yaml" + + def fake_abspath(path): + if path == dummy_yaml_name: + # If it's the YAML path, treat it like it is in tmp_path + return os.path.join(str(tmp_path), dummy_yaml_name) + return path # For absolute base, we just return path directly + + def fake_dirname(path): + return str(tmp_path) if path.endswith(dummy_yaml_name) else os.path.dirname(path) + + monkeypatch.setattr(os.path, "abspath", fake_abspath) + monkeypatch.setattr(os.path, "dirname", fake_dirname) + + load_extra_path_config(dummy_yaml_name) + + # Expect the final paths to be /loras_folder and /embeddings_folder + expected_loras = os.path.join(abs_base, "loras_folder") + expected_embeddings = os.path.join(abs_base, "embeddings_folder") + + actual_loras = folder_paths.folder_names_and_paths["loras"][0] + assert len(actual_loras) == 1, "Should have one path for 'loras'." + assert actual_loras[0] == os.path.abspath(expected_loras) + + actual_embeddings = folder_paths.folder_names_and_paths["embeddings"][0] + assert len(actual_embeddings) == 1, "Should have one path for 'embeddings'." + assert actual_embeddings[0] == os.path.abspath(expected_embeddings) + + +@patch("builtins.open", new_callable=mock_open, read_data="dummy yaml content") +@patch("yaml.safe_load") +def test_load_extra_path_config_no_base_path( + mock_yaml_load, _mock_file, clear_folder_paths, monkeypatch, tmp_path +): + """ + Test that if 'base_path' is not present, each path is joined + with the directory of the YAML file (unless it's already absolute). + """ + config_data = { + "some_folder_without_base": { + "is_default": True, + "text_encoders": "clip", + "diffusion_models": "unet" + } + } + mock_yaml_load.return_value = config_data + + dummy_yaml_name = "dummy_no_base.yaml" + + def fake_abspath(path): + if path == dummy_yaml_name: + return os.path.join(str(tmp_path), dummy_yaml_name) + return os.path.join(str(tmp_path), path) + + def fake_dirname(path): + return str(tmp_path) if path.endswith(dummy_yaml_name) else os.path.dirname(path) + + monkeypatch.setattr(os.path, "abspath", fake_abspath) + monkeypatch.setattr(os.path, "dirname", fake_dirname) + + load_extra_path_config(dummy_yaml_name) + + expected_clip = os.path.join(str(tmp_path), "clip") + expected_unet = os.path.join(str(tmp_path), "unet") + + actual_text_encoders = folder_paths.folder_names_and_paths["text_encoders"][0] + assert len(actual_text_encoders) == 1, "Should have one path for 'text_encoders'." + assert actual_text_encoders[0] == os.path.abspath(expected_clip) + + actual_diffusion = folder_paths.folder_names_and_paths["diffusion_models"][0] + assert len(actual_diffusion) == 1, "Should have one path for 'diffusion_models'." + assert actual_diffusion[0] == os.path.abspath(expected_unet) diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2005fd45b2bbd249fb7f1dfff789b2ae236568ba --- /dev/null +++ b/tests/README.md @@ -0,0 +1,29 @@ +# Automated Testing + +## Running tests locally + +Additional requirements for running tests: +``` +pip install pytest +pip install websocket-client==1.6.1 +opencv-python==4.6.0.66 +scikit-image==0.21.0 +``` +Run inference tests: +``` +pytest tests/inference +``` + +## Quality regression test +Compares images in 2 directories to ensure they are the same + +1) Run an inference test to save a directory of "ground truth" images +``` + pytest tests/inference --output_dir tests/inference/baseline +``` +2) Make code edits + +3) Run inference and quality comparison tests +``` +pytest +``` \ No newline at end of file diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/compare/conftest.py b/tests/compare/conftest.py new file mode 100644 index 0000000000000000000000000000000000000000..dd5078c9e6e432c7de2462c5641068bfa8e0aaee --- /dev/null +++ b/tests/compare/conftest.py @@ -0,0 +1,41 @@ +import os +import pytest + +# Command line arguments for pytest +def pytest_addoption(parser): + parser.addoption('--baseline_dir', action="store", default='tests/inference/baseline', help='Directory for ground-truth images') + parser.addoption('--test_dir', action="store", default='tests/inference/samples', help='Directory for images to test') + parser.addoption('--metrics_file', action="store", default='tests/metrics.md', help='Output file for metrics') + parser.addoption('--img_output_dir', action="store", default='tests/compare/samples', help='Output directory for diff metric images') + +# This initializes args at the beginning of the test session +@pytest.fixture(scope="session", autouse=True) +def args_pytest(pytestconfig): + args = {} + args['baseline_dir'] = pytestconfig.getoption('baseline_dir') + args['test_dir'] = pytestconfig.getoption('test_dir') + args['metrics_file'] = pytestconfig.getoption('metrics_file') + args['img_output_dir'] = pytestconfig.getoption('img_output_dir') + + # Initialize metrics file + with open(args['metrics_file'], 'a') as f: + # if file is empty, write header + if os.stat(args['metrics_file']).st_size == 0: + f.write("| date | run | file | status | value | \n") + f.write("| --- | --- | --- | --- | --- | \n") + + return args + + +def gather_file_basenames(directory: str): + files = [] + for file in os.listdir(directory): + if file.endswith(".png"): + files.append(file) + return files + +# Creates the list of baseline file names to use as a fixture +def pytest_generate_tests(metafunc): + if "baseline_fname" in metafunc.fixturenames: + baseline_fnames = gather_file_basenames(metafunc.config.getoption("baseline_dir")) + metafunc.parametrize("baseline_fname", baseline_fnames) diff --git a/tests/compare/test_quality.py b/tests/compare/test_quality.py new file mode 100644 index 0000000000000000000000000000000000000000..01c19054956dde3b611dafe97ad244a3579e0e85 --- /dev/null +++ b/tests/compare/test_quality.py @@ -0,0 +1,195 @@ +import datetime +import numpy as np +import os +from PIL import Image +import pytest +from pytest import fixture +from typing import Tuple, List + +from cv2 import imread, cvtColor, COLOR_BGR2RGB +from skimage.metrics import structural_similarity as ssim + + +""" +This test suite compares images in 2 directories by file name +The directories are specified by the command line arguments --baseline_dir and --test_dir + +""" +# ssim: Structural Similarity Index +# Returns a tuple of (ssim, diff_image) +def ssim_score(img0: np.ndarray, img1: np.ndarray) -> Tuple[float, np.ndarray]: + score, diff = ssim(img0, img1, channel_axis=-1, full=True) + # rescale the difference image to 0-255 range + diff = (diff * 255).astype("uint8") + return score, diff + +# Metrics must return a tuple of (score, diff_image) +METRICS = {"ssim": ssim_score} +METRICS_PASS_THRESHOLD = {"ssim": 0.95} + + +class TestCompareImageMetrics: + @fixture(scope="class") + def test_file_names(self, args_pytest): + test_dir = args_pytest['test_dir'] + fnames = self.gather_file_basenames(test_dir) + yield fnames + del fnames + + @fixture(scope="class", autouse=True) + def teardown(self, args_pytest): + yield + # Runs after all tests are complete + # Aggregate output files into a grid of images + baseline_dir = args_pytest['baseline_dir'] + test_dir = args_pytest['test_dir'] + img_output_dir = args_pytest['img_output_dir'] + metrics_file = args_pytest['metrics_file'] + + grid_dir = os.path.join(img_output_dir, "grid") + os.makedirs(grid_dir, exist_ok=True) + + for metric_dir in METRICS.keys(): + metric_path = os.path.join(img_output_dir, metric_dir) + for file in os.listdir(metric_path): + if file.endswith(".png"): + score = self.lookup_score_from_fname(file, metrics_file) + image_file_list = [] + image_file_list.append([ + os.path.join(baseline_dir, file), + os.path.join(test_dir, file), + os.path.join(metric_path, file) + ]) + # Create grid + image_list = [[Image.open(file) for file in files] for files in image_file_list] + grid = self.image_grid(image_list) + grid.save(os.path.join(grid_dir, f"{metric_dir}_{score:.3f}_{file}")) + + # Tests run for each baseline file name + @fixture() + def fname(self, baseline_fname): + yield baseline_fname + del baseline_fname + + def test_directories_not_empty(self, args_pytest): + baseline_dir = args_pytest['baseline_dir'] + test_dir = args_pytest['test_dir'] + assert len(os.listdir(baseline_dir)) != 0, f"Baseline directory {baseline_dir} is empty" + assert len(os.listdir(test_dir)) != 0, f"Test directory {test_dir} is empty" + + def test_dir_has_all_matching_metadata(self, fname, test_file_names, args_pytest): + # Check that all files in baseline_dir have a file in test_dir with matching metadata + baseline_file_path = os.path.join(args_pytest['baseline_dir'], fname) + file_paths = [os.path.join(args_pytest['test_dir'], f) for f in test_file_names] + file_match = self.find_file_match(baseline_file_path, file_paths) + assert file_match is not None, f"Could not find a file in {args_pytest['test_dir']} with matching metadata to {baseline_file_path}" + + # For a baseline image file, finds the corresponding file name in test_dir and + # compares the images using the metrics in METRICS + @pytest.mark.parametrize("metric", METRICS.keys()) + def test_pipeline_compare( + self, + args_pytest, + fname, + test_file_names, + metric, + ): + baseline_dir = args_pytest['baseline_dir'] + test_dir = args_pytest['test_dir'] + metrics_output_file = args_pytest['metrics_file'] + img_output_dir = args_pytest['img_output_dir'] + + baseline_file_path = os.path.join(baseline_dir, fname) + + # Find file match + file_paths = [os.path.join(test_dir, f) for f in test_file_names] + test_file = self.find_file_match(baseline_file_path, file_paths) + + # Run metrics + sample_baseline = self.read_img(baseline_file_path) + sample_secondary = self.read_img(test_file) + + score, metric_img = METRICS[metric](sample_baseline, sample_secondary) + metric_status = score > METRICS_PASS_THRESHOLD[metric] + + # Save metric values + with open(metrics_output_file, 'a') as f: + run_info = os.path.splitext(fname)[0] + metric_status_str = "PASS ✅" if metric_status else "FAIL ❌" + date_str = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") + f.write(f"| {date_str} | {run_info} | {metric} | {metric_status_str} | {score} | \n") + + # Save metric image + metric_img_dir = os.path.join(img_output_dir, metric) + os.makedirs(metric_img_dir, exist_ok=True) + output_filename = f'{fname}' + Image.fromarray(metric_img).save(os.path.join(metric_img_dir, output_filename)) + + assert score > METRICS_PASS_THRESHOLD[metric] + + def read_img(self, filename: str) -> np.ndarray: + cvImg = imread(filename) + cvImg = cvtColor(cvImg, COLOR_BGR2RGB) + return cvImg + + def image_grid(self, img_list: list[list[Image.Image]]): + # imgs is a 2D list of images + # Assumes the input images are a rectangular grid of equal sized images + rows = len(img_list) + cols = len(img_list[0]) + + w, h = img_list[0][0].size + grid = Image.new('RGB', size=(cols*w, rows*h)) + + for i, row in enumerate(img_list): + for j, img in enumerate(row): + grid.paste(img, box=(j*w, i*h)) + return grid + + def lookup_score_from_fname(self, + fname: str, + metrics_output_file: str + ) -> float: + fname_basestr = os.path.splitext(fname)[0] + with open(metrics_output_file, 'r') as f: + for line in f: + if fname_basestr in line: + score = float(line.split('|')[5]) + return score + raise ValueError(f"Could not find score for {fname} in {metrics_output_file}") + + def gather_file_basenames(self, directory: str): + files = [] + for file in os.listdir(directory): + if file.endswith(".png"): + files.append(file) + return files + + def read_file_prompt(self, fname:str) -> str: + # Read prompt from image file metadata + img = Image.open(fname) + img.load() + return img.info['prompt'] + + def find_file_match(self, baseline_file: str, file_paths: List[str]): + # Find a file in file_paths with matching metadata to baseline_file + baseline_prompt = self.read_file_prompt(baseline_file) + + # Do not match empty prompts + if baseline_prompt is None or baseline_prompt == "": + return None + + # Find file match + # Reorder test_file_names so that the file with matching name is first + # This is an optimization because matching file names are more likely + # to have matching metadata if they were generated with the same script + basename = os.path.basename(baseline_file) + file_path_basenames = [os.path.basename(f) for f in file_paths] + if basename in file_path_basenames: + match_index = file_path_basenames.index(basename) + file_paths.insert(0, file_paths.pop(match_index)) + + for f in file_paths: + test_file_prompt = self.read_file_prompt(f) + if baseline_prompt == test_file_prompt: + return f diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000000000000000000000000000000000000..4e30eb5813f44ba6c22027f5b0f3fc0023f81e6d --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,36 @@ +import os +import pytest + +# Command line arguments for pytest +def pytest_addoption(parser): + parser.addoption('--output_dir', action="store", default='tests/inference/samples', help='Output directory for generated images') + parser.addoption("--listen", type=str, default="127.0.0.1", metavar="IP", nargs="?", const="0.0.0.0", help="Specify the IP address to listen on (default: 127.0.0.1). If --listen is provided without an argument, it defaults to 0.0.0.0. (listens on all)") + parser.addoption("--port", type=int, default=8188, help="Set the listen port.") + +# This initializes args at the beginning of the test session +@pytest.fixture(scope="session", autouse=True) +def args_pytest(pytestconfig): + args = {} + args['output_dir'] = pytestconfig.getoption('output_dir') + args['listen'] = pytestconfig.getoption('listen') + args['port'] = pytestconfig.getoption('port') + + os.makedirs(args['output_dir'], exist_ok=True) + + return args + +def pytest_collection_modifyitems(items): + # Modifies items so tests run in the correct order + + LAST_TESTS = ['test_quality'] + + # Move the last items to the end + last_items = [] + for test_name in LAST_TESTS: + for item in items.copy(): + print(item.module.__name__, item) # noqa: T201 + if item.module.__name__ == test_name: + last_items.append(item) + items.remove(item) + + items.extend(last_items) diff --git a/tests/inference/__init__.py b/tests/inference/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/inference/graphs/default_graph_sdxl1_0.json b/tests/inference/graphs/default_graph_sdxl1_0.json new file mode 100644 index 0000000000000000000000000000000000000000..c06c6829c6253cc71982f3714620bd10dd41bd73 --- /dev/null +++ b/tests/inference/graphs/default_graph_sdxl1_0.json @@ -0,0 +1,144 @@ +{ + "4": { + "inputs": { + "ckpt_name": "sd_xl_base_1.0.safetensors" + }, + "class_type": "CheckpointLoaderSimple" + }, + "5": { + "inputs": { + "width": 1024, + "height": 1024, + "batch_size": 1 + }, + "class_type": "EmptyLatentImage" + }, + "6": { + "inputs": { + "text": "a photo of a cat", + "clip": [ + "4", + 1 + ] + }, + "class_type": "CLIPTextEncode" + }, + "10": { + "inputs": { + "add_noise": "enable", + "noise_seed": 42, + "steps": 20, + "cfg": 7.5, + "sampler_name": "euler", + "scheduler": "normal", + "start_at_step": 0, + "end_at_step": 32, + "return_with_leftover_noise": "enable", + "model": [ + "4", + 0 + ], + "positive": [ + "6", + 0 + ], + "negative": [ + "15", + 0 + ], + "latent_image": [ + "5", + 0 + ] + }, + "class_type": "KSamplerAdvanced" + }, + "12": { + "inputs": { + "samples": [ + "14", + 0 + ], + "vae": [ + "4", + 2 + ] + }, + "class_type": "VAEDecode" + }, + "13": { + "inputs": { + "filename_prefix": "test_inference", + "images": [ + "12", + 0 + ] + }, + "class_type": "SaveImage" + }, + "14": { + "inputs": { + "add_noise": "disable", + "noise_seed": 42, + "steps": 20, + "cfg": 7.5, + "sampler_name": "euler", + "scheduler": "normal", + "start_at_step": 32, + "end_at_step": 10000, + "return_with_leftover_noise": "disable", + "model": [ + "16", + 0 + ], + "positive": [ + "17", + 0 + ], + "negative": [ + "20", + 0 + ], + "latent_image": [ + "10", + 0 + ] + }, + "class_type": "KSamplerAdvanced" + }, + "15": { + "inputs": { + "conditioning": [ + "6", + 0 + ] + }, + "class_type": "ConditioningZeroOut" + }, + "16": { + "inputs": { + "ckpt_name": "sd_xl_refiner_1.0.safetensors" + }, + "class_type": "CheckpointLoaderSimple" + }, + "17": { + "inputs": { + "text": "a photo of a cat", + "clip": [ + "16", + 1 + ] + }, + "class_type": "CLIPTextEncode" + }, + "20": { + "inputs": { + "text": "", + "clip": [ + "16", + 1 + ] + }, + "class_type": "CLIPTextEncode" + } + } \ No newline at end of file diff --git a/tests/inference/test_execution.py b/tests/inference/test_execution.py new file mode 100644 index 0000000000000000000000000000000000000000..5cda5c1ae24a0dd8b09444d7fbfd4834bc1144fb --- /dev/null +++ b/tests/inference/test_execution.py @@ -0,0 +1,524 @@ +from io import BytesIO +import numpy +from PIL import Image +import pytest +from pytest import fixture +import time +import torch +from typing import Union, Dict +import json +import subprocess +import websocket #NOTE: websocket-client (https://github.com/websocket-client/websocket-client) +import uuid +import urllib.request +import urllib.parse +import urllib.error +from comfy_execution.graph_utils import GraphBuilder, Node + +class RunResult: + def __init__(self, prompt_id: str): + self.outputs: Dict[str,Dict] = {} + self.runs: Dict[str,bool] = {} + self.prompt_id: str = prompt_id + + def get_output(self, node: Node): + return self.outputs.get(node.id, None) + + def did_run(self, node: Node): + return self.runs.get(node.id, False) + + def get_images(self, node: Node): + output = self.get_output(node) + if output is None: + return [] + return output.get('image_objects', []) + + def get_prompt_id(self): + return self.prompt_id + +class ComfyClient: + def __init__(self): + self.test_name = "" + + def connect(self, + listen:str = '127.0.0.1', + port:Union[str,int] = 8188, + client_id: str = str(uuid.uuid4()) + ): + self.client_id = client_id + self.server_address = f"{listen}:{port}" + ws = websocket.WebSocket() + ws.connect("ws://{}/ws?clientId={}".format(self.server_address, self.client_id)) + self.ws = ws + + def queue_prompt(self, prompt): + p = {"prompt": prompt, "client_id": self.client_id} + data = json.dumps(p).encode('utf-8') + req = urllib.request.Request("http://{}/prompt".format(self.server_address), data=data) + return json.loads(urllib.request.urlopen(req).read()) + + def get_image(self, filename, subfolder, folder_type): + data = {"filename": filename, "subfolder": subfolder, "type": folder_type} + url_values = urllib.parse.urlencode(data) + with urllib.request.urlopen("http://{}/view?{}".format(self.server_address, url_values)) as response: + return response.read() + + def get_history(self, prompt_id): + with urllib.request.urlopen("http://{}/history/{}".format(self.server_address, prompt_id)) as response: + return json.loads(response.read()) + + def set_test_name(self, name): + self.test_name = name + + def run(self, graph): + prompt = graph.finalize() + for node in graph.nodes.values(): + if node.class_type == 'SaveImage': + node.inputs['filename_prefix'] = self.test_name + + prompt_id = self.queue_prompt(prompt)['prompt_id'] + result = RunResult(prompt_id) + while True: + out = self.ws.recv() + if isinstance(out, str): + message = json.loads(out) + if message['type'] == 'executing': + data = message['data'] + if data['prompt_id'] != prompt_id: + continue + if data['node'] is None: + break + result.runs[data['node']] = True + elif message['type'] == 'execution_error': + raise Exception(message['data']) + elif message['type'] == 'execution_cached': + pass # Probably want to store this off for testing + + history = self.get_history(prompt_id)[prompt_id] + for node_id in history['outputs']: + node_output = history['outputs'][node_id] + result.outputs[node_id] = node_output + images_output = [] + if 'images' in node_output: + for image in node_output['images']: + image_data = self.get_image(image['filename'], image['subfolder'], image['type']) + image_obj = Image.open(BytesIO(image_data)) + images_output.append(image_obj) + node_output['image_objects'] = images_output + + return result + +# +# Loop through these variables +# +@pytest.mark.execution +class TestExecution: + # + # Initialize server and client + # + @fixture(scope="class", autouse=True, params=[ + # (use_lru, lru_size) + (False, 0), + (True, 0), + (True, 100), + ]) + def _server(self, args_pytest, request): + # Start server + pargs = [ + 'python','main.py', + '--output-directory', args_pytest["output_dir"], + '--listen', args_pytest["listen"], + '--port', str(args_pytest["port"]), + '--extra-model-paths-config', 'tests/inference/extra_model_paths.yaml', + ] + use_lru, lru_size = request.param + if use_lru: + pargs += ['--cache-lru', str(lru_size)] + print("Running server with args:", pargs) # noqa: T201 + p = subprocess.Popen(pargs) + yield + p.kill() + torch.cuda.empty_cache() + + def start_client(self, listen:str, port:int): + # Start client + comfy_client = ComfyClient() + # Connect to server (with retries) + n_tries = 5 + for i in range(n_tries): + time.sleep(4) + try: + comfy_client.connect(listen=listen, port=port) + except ConnectionRefusedError as e: + print(e) # noqa: T201 + print(f"({i+1}/{n_tries}) Retrying...") # noqa: T201 + else: + break + return comfy_client + + @fixture(scope="class", autouse=True) + def shared_client(self, args_pytest, _server): + client = self.start_client(args_pytest["listen"], args_pytest["port"]) + yield client + del client + torch.cuda.empty_cache() + + @fixture + def client(self, shared_client, request): + shared_client.set_test_name(f"execution[{request.node.name}]") + yield shared_client + + @fixture + def builder(self, request): + yield GraphBuilder(prefix=request.node.name) + + def test_lazy_input(self, client: ComfyClient, builder: GraphBuilder): + g = builder + input1 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + input2 = g.node("StubImage", content="WHITE", height=512, width=512, batch_size=1) + mask = g.node("StubMask", value=0.0, height=512, width=512, batch_size=1) + + lazy_mix = g.node("TestLazyMixImages", image1=input1.out(0), image2=input2.out(0), mask=mask.out(0)) + output = g.node("SaveImage", images=lazy_mix.out(0)) + result = client.run(g) + + result_image = result.get_images(output)[0] + assert numpy.array(result_image).any() == 0, "Image should be black" + assert result.did_run(input1) + assert not result.did_run(input2) + assert result.did_run(mask) + assert result.did_run(lazy_mix) + + def test_full_cache(self, client: ComfyClient, builder: GraphBuilder): + g = builder + input1 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + input2 = g.node("StubImage", content="NOISE", height=512, width=512, batch_size=1) + mask = g.node("StubMask", value=0.5, height=512, width=512, batch_size=1) + + lazy_mix = g.node("TestLazyMixImages", image1=input1.out(0), image2=input2.out(0), mask=mask.out(0)) + g.node("SaveImage", images=lazy_mix.out(0)) + + client.run(g) + result2 = client.run(g) + for node_id, node in g.nodes.items(): + assert not result2.did_run(node), f"Node {node_id} ran, but should have been cached" + + def test_partial_cache(self, client: ComfyClient, builder: GraphBuilder): + g = builder + input1 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + input2 = g.node("StubImage", content="NOISE", height=512, width=512, batch_size=1) + mask = g.node("StubMask", value=0.5, height=512, width=512, batch_size=1) + + lazy_mix = g.node("TestLazyMixImages", image1=input1.out(0), image2=input2.out(0), mask=mask.out(0)) + g.node("SaveImage", images=lazy_mix.out(0)) + + client.run(g) + mask.inputs['value'] = 0.4 + result2 = client.run(g) + assert not result2.did_run(input1), "Input1 should have been cached" + assert not result2.did_run(input2), "Input2 should have been cached" + + def test_error(self, client: ComfyClient, builder: GraphBuilder): + g = builder + input1 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + # Different size of the two images + input2 = g.node("StubImage", content="NOISE", height=256, width=256, batch_size=1) + mask = g.node("StubMask", value=0.5, height=512, width=512, batch_size=1) + + lazy_mix = g.node("TestLazyMixImages", image1=input1.out(0), image2=input2.out(0), mask=mask.out(0)) + g.node("SaveImage", images=lazy_mix.out(0)) + + try: + client.run(g) + assert False, "Should have raised an error" + except Exception as e: + assert 'prompt_id' in e.args[0], f"Did not get back a proper error message: {e}" + + @pytest.mark.parametrize("test_value, expect_error", [ + (5, True), + ("foo", True), + (5.0, False), + ]) + def test_validation_error_literal(self, test_value, expect_error, client: ComfyClient, builder: GraphBuilder): + g = builder + validation1 = g.node("TestCustomValidation1", input1=test_value, input2=3.0) + g.node("SaveImage", images=validation1.out(0)) + + if expect_error: + with pytest.raises(urllib.error.HTTPError): + client.run(g) + else: + client.run(g) + + @pytest.mark.parametrize("test_type, test_value", [ + ("StubInt", 5), + ("StubFloat", 5.0) + ]) + def test_validation_error_edge1(self, test_type, test_value, client: ComfyClient, builder: GraphBuilder): + g = builder + stub = g.node(test_type, value=test_value) + validation1 = g.node("TestCustomValidation1", input1=stub.out(0), input2=3.0) + g.node("SaveImage", images=validation1.out(0)) + + with pytest.raises(urllib.error.HTTPError): + client.run(g) + + @pytest.mark.parametrize("test_type, test_value, expect_error", [ + ("StubInt", 5, True), + ("StubFloat", 5.0, False) + ]) + def test_validation_error_edge2(self, test_type, test_value, expect_error, client: ComfyClient, builder: GraphBuilder): + g = builder + stub = g.node(test_type, value=test_value) + validation2 = g.node("TestCustomValidation2", input1=stub.out(0), input2=3.0) + g.node("SaveImage", images=validation2.out(0)) + + if expect_error: + with pytest.raises(urllib.error.HTTPError): + client.run(g) + else: + client.run(g) + + @pytest.mark.parametrize("test_type, test_value, expect_error", [ + ("StubInt", 5, True), + ("StubFloat", 5.0, False) + ]) + def test_validation_error_edge3(self, test_type, test_value, expect_error, client: ComfyClient, builder: GraphBuilder): + g = builder + stub = g.node(test_type, value=test_value) + validation3 = g.node("TestCustomValidation3", input1=stub.out(0), input2=3.0) + g.node("SaveImage", images=validation3.out(0)) + + if expect_error: + with pytest.raises(urllib.error.HTTPError): + client.run(g) + else: + client.run(g) + + @pytest.mark.parametrize("test_type, test_value, expect_error", [ + ("StubInt", 5, True), + ("StubFloat", 5.0, False) + ]) + def test_validation_error_edge4(self, test_type, test_value, expect_error, client: ComfyClient, builder: GraphBuilder): + g = builder + stub = g.node(test_type, value=test_value) + validation4 = g.node("TestCustomValidation4", input1=stub.out(0), input2=3.0) + g.node("SaveImage", images=validation4.out(0)) + + if expect_error: + with pytest.raises(urllib.error.HTTPError): + client.run(g) + else: + client.run(g) + + @pytest.mark.parametrize("test_value1, test_value2, expect_error", [ + (0.0, 0.5, False), + (0.0, 5.0, False), + (0.0, 7.0, True) + ]) + def test_validation_error_kwargs(self, test_value1, test_value2, expect_error, client: ComfyClient, builder: GraphBuilder): + g = builder + validation5 = g.node("TestCustomValidation5", input1=test_value1, input2=test_value2) + g.node("SaveImage", images=validation5.out(0)) + + if expect_error: + with pytest.raises(urllib.error.HTTPError): + client.run(g) + else: + client.run(g) + + def test_cycle_error(self, client: ComfyClient, builder: GraphBuilder): + g = builder + input1 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + input2 = g.node("StubImage", content="WHITE", height=512, width=512, batch_size=1) + mask = g.node("StubMask", value=0.5, height=512, width=512, batch_size=1) + + lazy_mix1 = g.node("TestLazyMixImages", image1=input1.out(0), mask=mask.out(0)) + lazy_mix2 = g.node("TestLazyMixImages", image1=lazy_mix1.out(0), image2=input2.out(0), mask=mask.out(0)) + g.node("SaveImage", images=lazy_mix2.out(0)) + + # When the cycle exists on initial submission, it should raise a validation error + with pytest.raises(urllib.error.HTTPError): + client.run(g) + + def test_dynamic_cycle_error(self, client: ComfyClient, builder: GraphBuilder): + g = builder + input1 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + input2 = g.node("StubImage", content="WHITE", height=512, width=512, batch_size=1) + generator = g.node("TestDynamicDependencyCycle", input1=input1.out(0), input2=input2.out(0)) + g.node("SaveImage", images=generator.out(0)) + + # When the cycle is in a graph that is generated dynamically, it should raise a runtime error + try: + client.run(g) + assert False, "Should have raised an error" + except Exception as e: + assert 'prompt_id' in e.args[0], f"Did not get back a proper error message: {e}" + assert e.args[0]['node_id'] == generator.id, "Error should have been on the generator node" + + def test_missing_node_error(self, client: ComfyClient, builder: GraphBuilder): + g = builder + input1 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + input2 = g.node("StubImage", id="removeme", content="WHITE", height=512, width=512, batch_size=1) + input3 = g.node("StubImage", content="WHITE", height=512, width=512, batch_size=1) + mask = g.node("StubMask", value=0.5, height=512, width=512, batch_size=1) + mix1 = g.node("TestLazyMixImages", image1=input1.out(0), image2=input2.out(0), mask=mask.out(0)) + mix2 = g.node("TestLazyMixImages", image1=input1.out(0), image2=input3.out(0), mask=mask.out(0)) + # We have multiple outputs. The first is invalid, but the second is valid + g.node("SaveImage", images=mix1.out(0)) + g.node("SaveImage", images=mix2.out(0)) + g.remove_node("removeme") + + client.run(g) + + # Add back in the missing node to make sure the error doesn't break the server + input2 = g.node("StubImage", id="removeme", content="WHITE", height=512, width=512, batch_size=1) + client.run(g) + + def test_custom_is_changed(self, client: ComfyClient, builder: GraphBuilder): + g = builder + # Creating the nodes in this specific order previously caused a bug + save = g.node("SaveImage") + is_changed = g.node("TestCustomIsChanged", should_change=False) + input1 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + + save.set_input('images', is_changed.out(0)) + is_changed.set_input('image', input1.out(0)) + + result1 = client.run(g) + result2 = client.run(g) + is_changed.set_input('should_change', True) + result3 = client.run(g) + result4 = client.run(g) + assert result1.did_run(is_changed), "is_changed should have been run" + assert not result2.did_run(is_changed), "is_changed should have been cached" + assert result3.did_run(is_changed), "is_changed should have been re-run" + assert result4.did_run(is_changed), "is_changed should not have been cached" + + def test_undeclared_inputs(self, client: ComfyClient, builder: GraphBuilder): + g = builder + input1 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + input2 = g.node("StubImage", content="WHITE", height=512, width=512, batch_size=1) + input3 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + input4 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + average = g.node("TestVariadicAverage", input1=input1.out(0), input2=input2.out(0), input3=input3.out(0), input4=input4.out(0)) + output = g.node("SaveImage", images=average.out(0)) + + result = client.run(g) + result_image = result.get_images(output)[0] + expected = 255 // 4 + assert numpy.array(result_image).min() == expected and numpy.array(result_image).max() == expected, "Image should be grey" + + def test_for_loop(self, client: ComfyClient, builder: GraphBuilder): + g = builder + iterations = 4 + input1 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + input2 = g.node("StubImage", content="WHITE", height=512, width=512, batch_size=1) + is_changed = g.node("TestCustomIsChanged", should_change=True, image=input2.out(0)) + for_open = g.node("TestForLoopOpen", remaining=iterations, initial_value1=is_changed.out(0)) + average = g.node("TestVariadicAverage", input1=input1.out(0), input2=for_open.out(2)) + for_close = g.node("TestForLoopClose", flow_control=for_open.out(0), initial_value1=average.out(0)) + output = g.node("SaveImage", images=for_close.out(0)) + + for iterations in range(1, 5): + for_open.set_input('remaining', iterations) + result = client.run(g) + result_image = result.get_images(output)[0] + expected = 255 // (2 ** iterations) + assert numpy.array(result_image).min() == expected and numpy.array(result_image).max() == expected, "Image should be grey" + assert result.did_run(is_changed) + + def test_mixed_expansion_returns(self, client: ComfyClient, builder: GraphBuilder): + g = builder + val_list = g.node("TestMakeListNode", value1=0.1, value2=0.2, value3=0.3) + mixed = g.node("TestMixedExpansionReturns", input1=val_list.out(0)) + output_dynamic = g.node("SaveImage", images=mixed.out(0)) + output_literal = g.node("SaveImage", images=mixed.out(1)) + + result = client.run(g) + images_dynamic = result.get_images(output_dynamic) + assert len(images_dynamic) == 3, "Should have 2 images" + assert numpy.array(images_dynamic[0]).min() == 25 and numpy.array(images_dynamic[0]).max() == 25, "First image should be 0.1" + assert numpy.array(images_dynamic[1]).min() == 51 and numpy.array(images_dynamic[1]).max() == 51, "Second image should be 0.2" + assert numpy.array(images_dynamic[2]).min() == 76 and numpy.array(images_dynamic[2]).max() == 76, "Third image should be 0.3" + + images_literal = result.get_images(output_literal) + assert len(images_literal) == 3, "Should have 2 images" + for i in range(3): + assert numpy.array(images_literal[i]).min() == 255 and numpy.array(images_literal[i]).max() == 255, "All images should be white" + + def test_mixed_lazy_results(self, client: ComfyClient, builder: GraphBuilder): + g = builder + val_list = g.node("TestMakeListNode", value1=0.0, value2=0.5, value3=1.0) + mask = g.node("StubMask", value=val_list.out(0), height=512, width=512, batch_size=1) + input1 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + input2 = g.node("StubImage", content="WHITE", height=512, width=512, batch_size=1) + mix = g.node("TestLazyMixImages", image1=input1.out(0), image2=input2.out(0), mask=mask.out(0)) + rebatch = g.node("RebatchImages", images=mix.out(0), batch_size=3) + output = g.node("SaveImage", images=rebatch.out(0)) + + result = client.run(g) + images = result.get_images(output) + assert len(images) == 3, "Should have 3 image" + assert numpy.array(images[0]).min() == 0 and numpy.array(images[0]).max() == 0, "First image should be 0.0" + assert numpy.array(images[1]).min() == 127 and numpy.array(images[1]).max() == 127, "Second image should be 0.5" + assert numpy.array(images[2]).min() == 255 and numpy.array(images[2]).max() == 255, "Third image should be 1.0" + + def test_output_reuse(self, client: ComfyClient, builder: GraphBuilder): + g = builder + input1 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + + output1 = g.node("SaveImage", images=input1.out(0)) + output2 = g.node("SaveImage", images=input1.out(0)) + + result = client.run(g) + images1 = result.get_images(output1) + images2 = result.get_images(output2) + assert len(images1) == 1, "Should have 1 image" + assert len(images2) == 1, "Should have 1 image" + + + # This tests that only constant outputs are used in the call to `IS_CHANGED` + def test_is_changed_with_outputs(self, client: ComfyClient, builder: GraphBuilder): + g = builder + input1 = g.node("StubConstantImage", value=0.5, height=512, width=512, batch_size=1) + test_node = g.node("TestIsChangedWithConstants", image=input1.out(0), value=0.5) + + output = g.node("PreviewImage", images=test_node.out(0)) + + result = client.run(g) + images = result.get_images(output) + assert len(images) == 1, "Should have 1 image" + assert numpy.array(images[0]).min() == 63 and numpy.array(images[0]).max() == 63, "Image should have value 0.25" + + result = client.run(g) + images = result.get_images(output) + assert len(images) == 1, "Should have 1 image" + assert numpy.array(images[0]).min() == 63 and numpy.array(images[0]).max() == 63, "Image should have value 0.25" + assert not result.did_run(test_node), "The execution should have been cached" + + # This tests that nodes with OUTPUT_IS_LIST function correctly when they receive an ExecutionBlocker + # as input. We also test that when that list (containing an ExecutionBlocker) is passed to a node, + # only that one entry in the list is blocked. + def test_execution_block_list_output(self, client: ComfyClient, builder: GraphBuilder): + g = builder + image1 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + image2 = g.node("StubImage", content="WHITE", height=512, width=512, batch_size=1) + image3 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + image_list = g.node("TestMakeListNode", value1=image1.out(0), value2=image2.out(0), value3=image3.out(0)) + int1 = g.node("StubInt", value=1) + int2 = g.node("StubInt", value=2) + int3 = g.node("StubInt", value=3) + int_list = g.node("TestMakeListNode", value1=int1.out(0), value2=int2.out(0), value3=int3.out(0)) + compare = g.node("TestIntConditions", a=int_list.out(0), b=2, operation="==") + blocker = g.node("TestExecutionBlocker", input=image_list.out(0), block=compare.out(0), verbose=False) + + list_output = g.node("TestMakeListNode", value1=blocker.out(0)) + output = g.node("PreviewImage", images=list_output.out(0)) + + result = client.run(g) + assert result.did_run(output), "The execution should have run" + images = result.get_images(output) + assert len(images) == 2, "Should have 2 images" + assert numpy.array(images[0]).min() == 0 and numpy.array(images[0]).max() == 0, "First image should be black" + assert numpy.array(images[1]).min() == 0 and numpy.array(images[1]).max() == 0, "Second image should also be black" diff --git a/tests/inference/test_inference.py b/tests/inference/test_inference.py new file mode 100644 index 0000000000000000000000000000000000000000..7e4a206c41d95d5740c9c8b6e6c9071ad0ee86ce --- /dev/null +++ b/tests/inference/test_inference.py @@ -0,0 +1,237 @@ +from copy import deepcopy +from io import BytesIO +import numpy +import os +from PIL import Image +import pytest +from pytest import fixture +import time +import torch +from typing import Union +import json +import subprocess +import websocket #NOTE: websocket-client (https://github.com/websocket-client/websocket-client) +import uuid +import urllib.request +import urllib.parse + + +from comfy.samplers import KSampler + +""" +These tests generate and save images through a range of parameters +""" + +class ComfyGraph: + def __init__(self, + graph: dict, + sampler_nodes: list[str], + ): + self.graph = graph + self.sampler_nodes = sampler_nodes + + def set_prompt(self, prompt, negative_prompt=None): + # Sets the prompt for the sampler nodes (eg. base and refiner) + for node in self.sampler_nodes: + prompt_node = self.graph[node]['inputs']['positive'][0] + self.graph[prompt_node]['inputs']['text'] = prompt + if negative_prompt: + negative_prompt_node = self.graph[node]['inputs']['negative'][0] + self.graph[negative_prompt_node]['inputs']['text'] = negative_prompt + + def set_sampler_name(self, sampler_name:str, ): + # sets the sampler name for the sampler nodes (eg. base and refiner) + for node in self.sampler_nodes: + self.graph[node]['inputs']['sampler_name'] = sampler_name + + def set_scheduler(self, scheduler:str): + # sets the sampler name for the sampler nodes (eg. base and refiner) + for node in self.sampler_nodes: + self.graph[node]['inputs']['scheduler'] = scheduler + + def set_filename_prefix(self, prefix:str): + # sets the filename prefix for the save nodes + for node in self.graph: + if self.graph[node]['class_type'] == 'SaveImage': + self.graph[node]['inputs']['filename_prefix'] = prefix + + +class ComfyClient: + # From examples/websockets_api_example.py + + def connect(self, + listen:str = '127.0.0.1', + port:Union[str,int] = 8188, + client_id: str = str(uuid.uuid4()) + ): + self.client_id = client_id + self.server_address = f"{listen}:{port}" + ws = websocket.WebSocket() + ws.connect("ws://{}/ws?clientId={}".format(self.server_address, self.client_id)) + self.ws = ws + + def queue_prompt(self, prompt): + p = {"prompt": prompt, "client_id": self.client_id} + data = json.dumps(p).encode('utf-8') + req = urllib.request.Request("http://{}/prompt".format(self.server_address), data=data) + return json.loads(urllib.request.urlopen(req).read()) + + def get_image(self, filename, subfolder, folder_type): + data = {"filename": filename, "subfolder": subfolder, "type": folder_type} + url_values = urllib.parse.urlencode(data) + with urllib.request.urlopen("http://{}/view?{}".format(self.server_address, url_values)) as response: + return response.read() + + def get_history(self, prompt_id): + with urllib.request.urlopen("http://{}/history/{}".format(self.server_address, prompt_id)) as response: + return json.loads(response.read()) + + def get_images(self, graph, save=True): + prompt = graph + if not save: + # Replace save nodes with preview nodes + prompt_str = json.dumps(prompt) + prompt_str = prompt_str.replace('SaveImage', 'PreviewImage') + prompt = json.loads(prompt_str) + + prompt_id = self.queue_prompt(prompt)['prompt_id'] + output_images = {} + while True: + out = self.ws.recv() + if isinstance(out, str): + message = json.loads(out) + if message['type'] == 'executing': + data = message['data'] + if data['node'] is None and data['prompt_id'] == prompt_id: + break #Execution is done + else: + continue #previews are binary data + + history = self.get_history(prompt_id)[prompt_id] + for node_id in history['outputs']: + node_output = history['outputs'][node_id] + images_output = [] + if 'images' in node_output: + for image in node_output['images']: + image_data = self.get_image(image['filename'], image['subfolder'], image['type']) + images_output.append(image_data) + output_images[node_id] = images_output + + return output_images + +# +# Initialize graphs +# +default_graph_file = 'tests/inference/graphs/default_graph_sdxl1_0.json' +with open(default_graph_file, 'r') as file: + default_graph = json.loads(file.read()) +DEFAULT_COMFY_GRAPH = ComfyGraph(graph=default_graph, sampler_nodes=['10','14']) +DEFAULT_COMFY_GRAPH_ID = os.path.splitext(os.path.basename(default_graph_file))[0] + +# +# Loop through these variables +# +comfy_graph_list = [DEFAULT_COMFY_GRAPH] +comfy_graph_ids = [DEFAULT_COMFY_GRAPH_ID] +prompt_list = [ + 'a painting of a cat', +] + +sampler_list = KSampler.SAMPLERS +scheduler_list = KSampler.SCHEDULERS + +@pytest.mark.inference +@pytest.mark.parametrize("sampler", sampler_list) +@pytest.mark.parametrize("scheduler", scheduler_list) +@pytest.mark.parametrize("prompt", prompt_list) +class TestInference: + # + # Initialize server and client + # + @fixture(scope="class", autouse=True) + def _server(self, args_pytest): + # Start server + p = subprocess.Popen([ + 'python','main.py', + '--output-directory', args_pytest["output_dir"], + '--listen', args_pytest["listen"], + '--port', str(args_pytest["port"]), + ]) + yield + p.kill() + torch.cuda.empty_cache() + + def start_client(self, listen:str, port:int): + # Start client + comfy_client = ComfyClient() + # Connect to server (with retries) + n_tries = 5 + for i in range(n_tries): + time.sleep(4) + try: + comfy_client.connect(listen=listen, port=port) + except ConnectionRefusedError as e: + print(e) # noqa: T201 + print(f"({i+1}/{n_tries}) Retrying...") # noqa: T201 + else: + break + return comfy_client + + # + # Client and graph fixtures with server warmup + # + # Returns a "_client_graph", which is client-graph pair corresponding to an initialized server + # The "graph" is the default graph + @fixture(scope="class", params=comfy_graph_list, ids=comfy_graph_ids, autouse=True) + def _client_graph(self, request, args_pytest, _server) -> (ComfyClient, ComfyGraph): + comfy_graph = request.param + + # Start client + comfy_client = self.start_client(args_pytest["listen"], args_pytest["port"]) + + # Warm up pipeline + comfy_client.get_images(graph=comfy_graph.graph, save=False) + + yield comfy_client, comfy_graph + del comfy_client + del comfy_graph + torch.cuda.empty_cache() + + @fixture + def client(self, _client_graph): + client = _client_graph[0] + yield client + + @fixture + def comfy_graph(self, _client_graph): + # avoid mutating the graph + graph = deepcopy(_client_graph[1]) + yield graph + + def test_comfy( + self, + client, + comfy_graph, + sampler, + scheduler, + prompt, + request + ): + test_info = request.node.name + comfy_graph.set_filename_prefix(test_info) + # Settings for comfy graph + comfy_graph.set_sampler_name(sampler) + comfy_graph.set_scheduler(scheduler) + comfy_graph.set_prompt(prompt) + + # Generate + images = client.get_images(comfy_graph.graph) + + assert len(images) != 0, "No images generated" + # assert all images are not blank + for images_output in images.values(): + for image_data in images_output: + pil_image = Image.open(BytesIO(image_data)) + assert numpy.array(pil_image).any() != 0, "Image is blank" + + diff --git a/tests/inference/testing_nodes/testing-pack/__init__.py b/tests/inference/testing_nodes/testing-pack/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..dcc71659a027c4a99d2e85ae1880f8fe7174e329 --- /dev/null +++ b/tests/inference/testing_nodes/testing-pack/__init__.py @@ -0,0 +1,23 @@ +from .specific_tests import TEST_NODE_CLASS_MAPPINGS, TEST_NODE_DISPLAY_NAME_MAPPINGS +from .flow_control import FLOW_CONTROL_NODE_CLASS_MAPPINGS, FLOW_CONTROL_NODE_DISPLAY_NAME_MAPPINGS +from .util import UTILITY_NODE_CLASS_MAPPINGS, UTILITY_NODE_DISPLAY_NAME_MAPPINGS +from .conditions import CONDITION_NODE_CLASS_MAPPINGS, CONDITION_NODE_DISPLAY_NAME_MAPPINGS +from .stubs import TEST_STUB_NODE_CLASS_MAPPINGS, TEST_STUB_NODE_DISPLAY_NAME_MAPPINGS + +# NODE_CLASS_MAPPINGS = GENERAL_NODE_CLASS_MAPPINGS.update(COMPONENT_NODE_CLASS_MAPPINGS) +# NODE_DISPLAY_NAME_MAPPINGS = GENERAL_NODE_DISPLAY_NAME_MAPPINGS.update(COMPONENT_NODE_DISPLAY_NAME_MAPPINGS) + +NODE_CLASS_MAPPINGS = {} +NODE_CLASS_MAPPINGS.update(TEST_NODE_CLASS_MAPPINGS) +NODE_CLASS_MAPPINGS.update(FLOW_CONTROL_NODE_CLASS_MAPPINGS) +NODE_CLASS_MAPPINGS.update(UTILITY_NODE_CLASS_MAPPINGS) +NODE_CLASS_MAPPINGS.update(CONDITION_NODE_CLASS_MAPPINGS) +NODE_CLASS_MAPPINGS.update(TEST_STUB_NODE_CLASS_MAPPINGS) + +NODE_DISPLAY_NAME_MAPPINGS = {} +NODE_DISPLAY_NAME_MAPPINGS.update(TEST_NODE_DISPLAY_NAME_MAPPINGS) +NODE_DISPLAY_NAME_MAPPINGS.update(FLOW_CONTROL_NODE_DISPLAY_NAME_MAPPINGS) +NODE_DISPLAY_NAME_MAPPINGS.update(UTILITY_NODE_DISPLAY_NAME_MAPPINGS) +NODE_DISPLAY_NAME_MAPPINGS.update(CONDITION_NODE_DISPLAY_NAME_MAPPINGS) +NODE_DISPLAY_NAME_MAPPINGS.update(TEST_STUB_NODE_DISPLAY_NAME_MAPPINGS) + diff --git a/tests/inference/testing_nodes/testing-pack/conditions.py b/tests/inference/testing_nodes/testing-pack/conditions.py new file mode 100644 index 0000000000000000000000000000000000000000..0c200ee2892d4747d9ec6965b6d33f2223e3c08a --- /dev/null +++ b/tests/inference/testing_nodes/testing-pack/conditions.py @@ -0,0 +1,194 @@ +import re +import torch + +class TestIntConditions: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "a": ("INT", {"default": 0, "min": -0xffffffffffffffff, "max": 0xffffffffffffffff, "step": 1}), + "b": ("INT", {"default": 0, "min": -0xffffffffffffffff, "max": 0xffffffffffffffff, "step": 1}), + "operation": (["==", "!=", "<", ">", "<=", ">="],), + }, + } + + RETURN_TYPES = ("BOOLEAN",) + FUNCTION = "int_condition" + + CATEGORY = "Testing/Logic" + + def int_condition(self, a, b, operation): + if operation == "==": + return (a == b,) + elif operation == "!=": + return (a != b,) + elif operation == "<": + return (a < b,) + elif operation == ">": + return (a > b,) + elif operation == "<=": + return (a <= b,) + elif operation == ">=": + return (a >= b,) + + +class TestFloatConditions: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "a": ("FLOAT", {"default": 0, "min": -999999999999.0, "max": 999999999999.0, "step": 1}), + "b": ("FLOAT", {"default": 0, "min": -999999999999.0, "max": 999999999999.0, "step": 1}), + "operation": (["==", "!=", "<", ">", "<=", ">="],), + }, + } + + RETURN_TYPES = ("BOOLEAN",) + FUNCTION = "float_condition" + + CATEGORY = "Testing/Logic" + + def float_condition(self, a, b, operation): + if operation == "==": + return (a == b,) + elif operation == "!=": + return (a != b,) + elif operation == "<": + return (a < b,) + elif operation == ">": + return (a > b,) + elif operation == "<=": + return (a <= b,) + elif operation == ">=": + return (a >= b,) + +class TestStringConditions: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "a": ("STRING", {"multiline": False}), + "b": ("STRING", {"multiline": False}), + "operation": (["a == b", "a != b", "a IN b", "a MATCH REGEX(b)", "a BEGINSWITH b", "a ENDSWITH b"],), + "case_sensitive": ("BOOLEAN", {"default": True}), + }, + } + + RETURN_TYPES = ("BOOLEAN",) + FUNCTION = "string_condition" + + CATEGORY = "Testing/Logic" + + def string_condition(self, a, b, operation, case_sensitive): + if not case_sensitive: + a = a.lower() + b = b.lower() + + if operation == "a == b": + return (a == b,) + elif operation == "a != b": + return (a != b,) + elif operation == "a IN b": + return (a in b,) + elif operation == "a MATCH REGEX(b)": + try: + return (re.match(b, a) is not None,) + except: + return (False,) + elif operation == "a BEGINSWITH b": + return (a.startswith(b),) + elif operation == "a ENDSWITH b": + return (a.endswith(b),) + +class TestToBoolNode: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "value": ("*",), + }, + "optional": { + "invert": ("BOOLEAN", {"default": False}), + }, + } + + RETURN_TYPES = ("BOOLEAN",) + FUNCTION = "to_bool" + + CATEGORY = "Testing/Logic" + + def to_bool(self, value, invert = False): + if isinstance(value, torch.Tensor): + if value.max().item() == 0 and value.min().item() == 0: + result = False + else: + result = True + else: + try: + result = bool(value) + except: + # Can't convert it? Well then it's something or other. I dunno, I'm not a Python programmer. + result = True + + if invert: + result = not result + + return (result,) + +class TestBoolOperationNode: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "a": ("BOOLEAN",), + "b": ("BOOLEAN",), + "op": (["a AND b", "a OR b", "a XOR b", "NOT a"],), + }, + } + + RETURN_TYPES = ("BOOLEAN",) + FUNCTION = "bool_operation" + + CATEGORY = "Testing/Logic" + + def bool_operation(self, a, b, op): + if op == "a AND b": + return (a and b,) + elif op == "a OR b": + return (a or b,) + elif op == "a XOR b": + return (a ^ b,) + elif op == "NOT a": + return (not a,) + + +CONDITION_NODE_CLASS_MAPPINGS = { + "TestIntConditions": TestIntConditions, + "TestFloatConditions": TestFloatConditions, + "TestStringConditions": TestStringConditions, + "TestToBoolNode": TestToBoolNode, + "TestBoolOperationNode": TestBoolOperationNode, +} + +CONDITION_NODE_DISPLAY_NAME_MAPPINGS = { + "TestIntConditions": "Int Condition", + "TestFloatConditions": "Float Condition", + "TestStringConditions": "String Condition", + "TestToBoolNode": "To Bool", + "TestBoolOperationNode": "Bool Operation", +} diff --git a/tests/inference/testing_nodes/testing-pack/flow_control.py b/tests/inference/testing_nodes/testing-pack/flow_control.py new file mode 100644 index 0000000000000000000000000000000000000000..ba943be6072f2003ebe1e6aa996d2dd8370c8c09 --- /dev/null +++ b/tests/inference/testing_nodes/testing-pack/flow_control.py @@ -0,0 +1,173 @@ +from comfy_execution.graph_utils import GraphBuilder, is_link +from comfy_execution.graph import ExecutionBlocker +from .tools import VariantSupport + +NUM_FLOW_SOCKETS = 5 +@VariantSupport() +class TestWhileLoopOpen: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + inputs = { + "required": { + "condition": ("BOOLEAN", {"default": True}), + }, + "optional": { + }, + } + for i in range(NUM_FLOW_SOCKETS): + inputs["optional"][f"initial_value{i}"] = ("*",) + return inputs + + RETURN_TYPES = tuple(["FLOW_CONTROL"] + ["*"] * NUM_FLOW_SOCKETS) + RETURN_NAMES = tuple(["FLOW_CONTROL"] + [f"value{i}" for i in range(NUM_FLOW_SOCKETS)]) + FUNCTION = "while_loop_open" + + CATEGORY = "Testing/Flow" + + def while_loop_open(self, condition, **kwargs): + values = [] + for i in range(NUM_FLOW_SOCKETS): + values.append(kwargs.get(f"initial_value{i}", None)) + return tuple(["stub"] + values) + +@VariantSupport() +class TestWhileLoopClose: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + inputs = { + "required": { + "flow_control": ("FLOW_CONTROL", {"rawLink": True}), + "condition": ("BOOLEAN", {"forceInput": True}), + }, + "optional": { + }, + "hidden": { + "dynprompt": "DYNPROMPT", + "unique_id": "UNIQUE_ID", + } + } + for i in range(NUM_FLOW_SOCKETS): + inputs["optional"][f"initial_value{i}"] = ("*",) + return inputs + + RETURN_TYPES = tuple(["*"] * NUM_FLOW_SOCKETS) + RETURN_NAMES = tuple([f"value{i}" for i in range(NUM_FLOW_SOCKETS)]) + FUNCTION = "while_loop_close" + + CATEGORY = "Testing/Flow" + + def explore_dependencies(self, node_id, dynprompt, upstream): + node_info = dynprompt.get_node(node_id) + if "inputs" not in node_info: + return + for k, v in node_info["inputs"].items(): + if is_link(v): + parent_id = v[0] + if parent_id not in upstream: + upstream[parent_id] = [] + self.explore_dependencies(parent_id, dynprompt, upstream) + upstream[parent_id].append(node_id) + + def collect_contained(self, node_id, upstream, contained): + if node_id not in upstream: + return + for child_id in upstream[node_id]: + if child_id not in contained: + contained[child_id] = True + self.collect_contained(child_id, upstream, contained) + + + def while_loop_close(self, flow_control, condition, dynprompt=None, unique_id=None, **kwargs): + assert dynprompt is not None + if not condition: + # We're done with the loop + values = [] + for i in range(NUM_FLOW_SOCKETS): + values.append(kwargs.get(f"initial_value{i}", None)) + return tuple(values) + + # We want to loop + upstream = {} + # Get the list of all nodes between the open and close nodes + self.explore_dependencies(unique_id, dynprompt, upstream) + + contained = {} + open_node = flow_control[0] + self.collect_contained(open_node, upstream, contained) + contained[unique_id] = True + contained[open_node] = True + + # We'll use the default prefix, but to avoid having node names grow exponentially in size, + # we'll use "Recurse" for the name of the recursively-generated copy of this node. + graph = GraphBuilder() + for node_id in contained: + original_node = dynprompt.get_node(node_id) + node = graph.node(original_node["class_type"], "Recurse" if node_id == unique_id else node_id) + node.set_override_display_id(node_id) + for node_id in contained: + original_node = dynprompt.get_node(node_id) + node = graph.lookup_node("Recurse" if node_id == unique_id else node_id) + assert node is not None + for k, v in original_node["inputs"].items(): + if is_link(v) and v[0] in contained: + parent = graph.lookup_node(v[0]) + assert parent is not None + node.set_input(k, parent.out(v[1])) + else: + node.set_input(k, v) + new_open = graph.lookup_node(open_node) + assert new_open is not None + for i in range(NUM_FLOW_SOCKETS): + key = f"initial_value{i}" + new_open.set_input(key, kwargs.get(key, None)) + my_clone = graph.lookup_node("Recurse") + assert my_clone is not None + result = map(lambda x: my_clone.out(x), range(NUM_FLOW_SOCKETS)) + return { + "result": tuple(result), + "expand": graph.finalize(), + } + +@VariantSupport() +class TestExecutionBlockerNode: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + inputs = { + "required": { + "input": ("*",), + "block": ("BOOLEAN",), + "verbose": ("BOOLEAN", {"default": False}), + }, + } + return inputs + + RETURN_TYPES = ("*",) + RETURN_NAMES = ("output",) + FUNCTION = "execution_blocker" + + CATEGORY = "Testing/Flow" + + def execution_blocker(self, input, block, verbose): + if block: + return (ExecutionBlocker("Blocked Execution" if verbose else None),) + return (input,) + +FLOW_CONTROL_NODE_CLASS_MAPPINGS = { + "TestWhileLoopOpen": TestWhileLoopOpen, + "TestWhileLoopClose": TestWhileLoopClose, + "TestExecutionBlocker": TestExecutionBlockerNode, +} +FLOW_CONTROL_NODE_DISPLAY_NAME_MAPPINGS = { + "TestWhileLoopOpen": "While Loop Open", + "TestWhileLoopClose": "While Loop Close", + "TestExecutionBlocker": "Execution Blocker", +} diff --git a/tests/inference/testing_nodes/testing-pack/specific_tests.py b/tests/inference/testing_nodes/testing-pack/specific_tests.py new file mode 100644 index 0000000000000000000000000000000000000000..9d05ab14ff0e273eabed37d68847df43fe87fc27 --- /dev/null +++ b/tests/inference/testing_nodes/testing-pack/specific_tests.py @@ -0,0 +1,362 @@ +import torch +from .tools import VariantSupport +from comfy_execution.graph_utils import GraphBuilder + +class TestLazyMixImages: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "image1": ("IMAGE",{"lazy": True}), + "image2": ("IMAGE",{"lazy": True}), + "mask": ("MASK",), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "mix" + + CATEGORY = "Testing/Nodes" + + def check_lazy_status(self, mask, image1, image2): + mask_min = mask.min() + mask_max = mask.max() + needed = [] + if image1 is None and (mask_min != 1.0 or mask_max != 1.0): + needed.append("image1") + if image2 is None and (mask_min != 0.0 or mask_max != 0.0): + needed.append("image2") + return needed + + # Not trying to handle different batch sizes here just to keep the demo simple + def mix(self, mask, image1, image2): + mask_min = mask.min() + mask_max = mask.max() + if mask_min == 0.0 and mask_max == 0.0: + return (image1,) + elif mask_min == 1.0 and mask_max == 1.0: + return (image2,) + + if len(mask.shape) == 2: + mask = mask.unsqueeze(0) + if len(mask.shape) == 3: + mask = mask.unsqueeze(3) + if mask.shape[3] < image1.shape[3]: + mask = mask.repeat(1, 1, 1, image1.shape[3]) + + result = image1 * (1. - mask) + image2 * mask, + return (result[0],) + +class TestVariadicAverage: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "input1": ("IMAGE",), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "variadic_average" + + CATEGORY = "Testing/Nodes" + + def variadic_average(self, input1, **kwargs): + inputs = [input1] + while 'input' + str(len(inputs) + 1) in kwargs: + inputs.append(kwargs['input' + str(len(inputs) + 1)]) + return (torch.stack(inputs).mean(dim=0),) + + +class TestCustomIsChanged: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "image": ("IMAGE",), + }, + "optional": { + "should_change": ("BOOL", {"default": False}), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "custom_is_changed" + + CATEGORY = "Testing/Nodes" + + def custom_is_changed(self, image, should_change=False): + return (image,) + + @classmethod + def IS_CHANGED(cls, should_change=False, *args, **kwargs): + if should_change: + return float("NaN") + else: + return False + +class TestIsChangedWithConstants: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "image": ("IMAGE",), + "value": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0}), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "custom_is_changed" + + CATEGORY = "Testing/Nodes" + + def custom_is_changed(self, image, value): + return (image * value,) + + @classmethod + def IS_CHANGED(cls, image, value): + if image is None: + return value + else: + return image.mean().item() * value + +class TestCustomValidation1: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "input1": ("IMAGE,FLOAT",), + "input2": ("IMAGE,FLOAT",), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "custom_validation1" + + CATEGORY = "Testing/Nodes" + + def custom_validation1(self, input1, input2): + if isinstance(input1, float) and isinstance(input2, float): + result = torch.ones([1, 512, 512, 3]) * input1 * input2 + else: + result = input1 * input2 + return (result,) + + @classmethod + def VALIDATE_INPUTS(cls, input1=None, input2=None): + if input1 is not None: + if not isinstance(input1, (torch.Tensor, float)): + return f"Invalid type of input1: {type(input1)}" + if input2 is not None: + if not isinstance(input2, (torch.Tensor, float)): + return f"Invalid type of input2: {type(input2)}" + + return True + +class TestCustomValidation2: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "input1": ("IMAGE,FLOAT",), + "input2": ("IMAGE,FLOAT",), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "custom_validation2" + + CATEGORY = "Testing/Nodes" + + def custom_validation2(self, input1, input2): + if isinstance(input1, float) and isinstance(input2, float): + result = torch.ones([1, 512, 512, 3]) * input1 * input2 + else: + result = input1 * input2 + return (result,) + + @classmethod + def VALIDATE_INPUTS(cls, input_types, input1=None, input2=None): + if input1 is not None: + if not isinstance(input1, (torch.Tensor, float)): + return f"Invalid type of input1: {type(input1)}" + if input2 is not None: + if not isinstance(input2, (torch.Tensor, float)): + return f"Invalid type of input2: {type(input2)}" + + if 'input1' in input_types: + if input_types['input1'] not in ["IMAGE", "FLOAT"]: + return f"Invalid type of input1: {input_types['input1']}" + if 'input2' in input_types: + if input_types['input2'] not in ["IMAGE", "FLOAT"]: + return f"Invalid type of input2: {input_types['input2']}" + + return True + +@VariantSupport() +class TestCustomValidation3: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "input1": ("IMAGE,FLOAT",), + "input2": ("IMAGE,FLOAT",), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "custom_validation3" + + CATEGORY = "Testing/Nodes" + + def custom_validation3(self, input1, input2): + if isinstance(input1, float) and isinstance(input2, float): + result = torch.ones([1, 512, 512, 3]) * input1 * input2 + else: + result = input1 * input2 + return (result,) + +class TestCustomValidation4: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "input1": ("FLOAT",), + "input2": ("FLOAT",), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "custom_validation4" + + CATEGORY = "Testing/Nodes" + + def custom_validation4(self, input1, input2): + result = torch.ones([1, 512, 512, 3]) * input1 * input2 + return (result,) + + @classmethod + def VALIDATE_INPUTS(cls, input1, input2): + if input1 is not None: + if not isinstance(input1, float): + return f"Invalid type of input1: {type(input1)}" + if input2 is not None: + if not isinstance(input2, float): + return f"Invalid type of input2: {type(input2)}" + + return True + +class TestCustomValidation5: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "input1": ("FLOAT", {"min": 0.0, "max": 1.0}), + "input2": ("FLOAT", {"min": 0.0, "max": 1.0}), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "custom_validation5" + + CATEGORY = "Testing/Nodes" + + def custom_validation5(self, input1, input2): + value = input1 * input2 + return (torch.ones([1, 512, 512, 3]) * value,) + + @classmethod + def VALIDATE_INPUTS(cls, **kwargs): + if kwargs['input2'] == 7.0: + return "7s are not allowed. I've never liked 7s." + return True + +class TestDynamicDependencyCycle: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "input1": ("IMAGE",), + "input2": ("IMAGE",), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "dynamic_dependency_cycle" + + CATEGORY = "Testing/Nodes" + + def dynamic_dependency_cycle(self, input1, input2): + g = GraphBuilder() + mask = g.node("StubMask", value=0.5, height=512, width=512, batch_size=1) + mix1 = g.node("TestLazyMixImages", image1=input1, mask=mask.out(0)) + mix2 = g.node("TestLazyMixImages", image1=mix1.out(0), image2=input2, mask=mask.out(0)) + + # Create the cyle + mix1.set_input("image2", mix2.out(0)) + + return { + "result": (mix2.out(0),), + "expand": g.finalize(), + } + +class TestMixedExpansionReturns: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "input1": ("FLOAT",), + }, + } + + RETURN_TYPES = ("IMAGE","IMAGE") + FUNCTION = "mixed_expansion_returns" + + CATEGORY = "Testing/Nodes" + + def mixed_expansion_returns(self, input1): + white_image = torch.ones([1, 512, 512, 3]) + if input1 <= 0.1: + return (torch.ones([1, 512, 512, 3]) * 0.1, white_image) + elif input1 <= 0.2: + return { + "result": (torch.ones([1, 512, 512, 3]) * 0.2, white_image), + } + else: + g = GraphBuilder() + mask = g.node("StubMask", value=0.3, height=512, width=512, batch_size=1) + black = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + white = g.node("StubImage", content="WHITE", height=512, width=512, batch_size=1) + mix = g.node("TestLazyMixImages", image1=black.out(0), image2=white.out(0), mask=mask.out(0)) + return { + "result": (mix.out(0), white_image), + "expand": g.finalize(), + } + +TEST_NODE_CLASS_MAPPINGS = { + "TestLazyMixImages": TestLazyMixImages, + "TestVariadicAverage": TestVariadicAverage, + "TestCustomIsChanged": TestCustomIsChanged, + "TestIsChangedWithConstants": TestIsChangedWithConstants, + "TestCustomValidation1": TestCustomValidation1, + "TestCustomValidation2": TestCustomValidation2, + "TestCustomValidation3": TestCustomValidation3, + "TestCustomValidation4": TestCustomValidation4, + "TestCustomValidation5": TestCustomValidation5, + "TestDynamicDependencyCycle": TestDynamicDependencyCycle, + "TestMixedExpansionReturns": TestMixedExpansionReturns, +} + +TEST_NODE_DISPLAY_NAME_MAPPINGS = { + "TestLazyMixImages": "Lazy Mix Images", + "TestVariadicAverage": "Variadic Average", + "TestCustomIsChanged": "Custom IsChanged", + "TestIsChangedWithConstants": "IsChanged With Constants", + "TestCustomValidation1": "Custom Validation 1", + "TestCustomValidation2": "Custom Validation 2", + "TestCustomValidation3": "Custom Validation 3", + "TestCustomValidation4": "Custom Validation 4", + "TestCustomValidation5": "Custom Validation 5", + "TestDynamicDependencyCycle": "Dynamic Dependency Cycle", + "TestMixedExpansionReturns": "Mixed Expansion Returns", +} diff --git a/tests/inference/testing_nodes/testing-pack/stubs.py b/tests/inference/testing_nodes/testing-pack/stubs.py new file mode 100644 index 0000000000000000000000000000000000000000..a1df87529c65ffa46db64cc197f54aef376ff8c0 --- /dev/null +++ b/tests/inference/testing_nodes/testing-pack/stubs.py @@ -0,0 +1,129 @@ +import torch + +class StubImage: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "content": (['WHITE', 'BLACK', 'NOISE'],), + "height": ("INT", {"default": 512, "min": 1, "max": 1024 ** 3, "step": 1}), + "width": ("INT", {"default": 512, "min": 1, "max": 4096 ** 3, "step": 1}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 1024 ** 3, "step": 1}), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "stub_image" + + CATEGORY = "Testing/Stub Nodes" + + def stub_image(self, content, height, width, batch_size): + if content == "WHITE": + return (torch.ones(batch_size, height, width, 3),) + elif content == "BLACK": + return (torch.zeros(batch_size, height, width, 3),) + elif content == "NOISE": + return (torch.rand(batch_size, height, width, 3),) + +class StubConstantImage: + def __init__(self): + pass + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "value": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 1.0, "step": 0.01}), + "height": ("INT", {"default": 512, "min": 1, "max": 1024 ** 3, "step": 1}), + "width": ("INT", {"default": 512, "min": 1, "max": 4096 ** 3, "step": 1}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 1024 ** 3, "step": 1}), + }, + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "stub_constant_image" + + CATEGORY = "Testing/Stub Nodes" + + def stub_constant_image(self, value, height, width, batch_size): + return (torch.ones(batch_size, height, width, 3) * value,) + +class StubMask: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "value": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 1.0, "step": 0.01}), + "height": ("INT", {"default": 512, "min": 1, "max": 1024 ** 3, "step": 1}), + "width": ("INT", {"default": 512, "min": 1, "max": 4096 ** 3, "step": 1}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 1024 ** 3, "step": 1}), + }, + } + + RETURN_TYPES = ("MASK",) + FUNCTION = "stub_mask" + + CATEGORY = "Testing/Stub Nodes" + + def stub_mask(self, value, height, width, batch_size): + return (torch.ones(batch_size, height, width) * value,) + +class StubInt: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "value": ("INT", {"default": 0, "min": -0xffffffff, "max": 0xffffffff, "step": 1}), + }, + } + + RETURN_TYPES = ("INT",) + FUNCTION = "stub_int" + + CATEGORY = "Testing/Stub Nodes" + + def stub_int(self, value): + return (value,) + +class StubFloat: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "value": ("FLOAT", {"default": 0.0, "min": -1.0e38, "max": 1.0e38, "step": 0.01}), + }, + } + + RETURN_TYPES = ("FLOAT",) + FUNCTION = "stub_float" + + CATEGORY = "Testing/Stub Nodes" + + def stub_float(self, value): + return (value,) + +TEST_STUB_NODE_CLASS_MAPPINGS = { + "StubImage": StubImage, + "StubConstantImage": StubConstantImage, + "StubMask": StubMask, + "StubInt": StubInt, + "StubFloat": StubFloat, +} +TEST_STUB_NODE_DISPLAY_NAME_MAPPINGS = { + "StubImage": "Stub Image", + "StubConstantImage": "Stub Constant Image", + "StubMask": "Stub Mask", + "StubInt": "Stub Int", + "StubFloat": "Stub Float", +} diff --git a/tests/inference/testing_nodes/testing-pack/tools.py b/tests/inference/testing_nodes/testing-pack/tools.py new file mode 100644 index 0000000000000000000000000000000000000000..34b28c0eb4892cdbc4e7575e651719f48ca917e9 --- /dev/null +++ b/tests/inference/testing_nodes/testing-pack/tools.py @@ -0,0 +1,53 @@ + +def MakeSmartType(t): + if isinstance(t, str): + return SmartType(t) + return t + +class SmartType(str): + def __ne__(self, other): + if self == "*" or other == "*": + return False + selfset = set(self.split(',')) + otherset = set(other.split(',')) + return not selfset.issubset(otherset) + +def VariantSupport(): + def decorator(cls): + if hasattr(cls, "INPUT_TYPES"): + old_input_types = getattr(cls, "INPUT_TYPES") + def new_input_types(*args, **kwargs): + types = old_input_types(*args, **kwargs) + for category in ["required", "optional"]: + if category not in types: + continue + for key, value in types[category].items(): + if isinstance(value, tuple): + types[category][key] = (MakeSmartType(value[0]),) + value[1:] + return types + setattr(cls, "INPUT_TYPES", new_input_types) + if hasattr(cls, "RETURN_TYPES"): + old_return_types = cls.RETURN_TYPES + setattr(cls, "RETURN_TYPES", tuple(MakeSmartType(x) for x in old_return_types)) + if hasattr(cls, "VALIDATE_INPUTS"): + # Reflection is used to determine what the function signature is, so we can't just change the function signature + raise NotImplementedError("VariantSupport does not support VALIDATE_INPUTS yet") + else: + def validate_inputs(input_types): + inputs = cls.INPUT_TYPES() + for key, value in input_types.items(): + if isinstance(value, SmartType): + continue + if "required" in inputs and key in inputs["required"]: + expected_type = inputs["required"][key][0] + elif "optional" in inputs and key in inputs["optional"]: + expected_type = inputs["optional"][key][0] + else: + expected_type = None + if expected_type is not None and MakeSmartType(value) != expected_type: + return f"Invalid type of {key}: {value} (expected {expected_type})" + return True + setattr(cls, "VALIDATE_INPUTS", validate_inputs) + return cls + return decorator + diff --git a/tests/inference/testing_nodes/testing-pack/util.py b/tests/inference/testing_nodes/testing-pack/util.py new file mode 100644 index 0000000000000000000000000000000000000000..17741c5f1dff2eeff86fec5173e675bf9ac6cf3b --- /dev/null +++ b/tests/inference/testing_nodes/testing-pack/util.py @@ -0,0 +1,364 @@ +from comfy_execution.graph_utils import GraphBuilder +from .tools import VariantSupport + +@VariantSupport() +class TestAccumulateNode: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "to_add": ("*",), + }, + "optional": { + "accumulation": ("ACCUMULATION",), + }, + } + + RETURN_TYPES = ("ACCUMULATION",) + FUNCTION = "accumulate" + + CATEGORY = "Testing/Lists" + + def accumulate(self, to_add, accumulation = None): + if accumulation is None: + value = [to_add] + else: + value = accumulation["accum"] + [to_add] + return ({"accum": value},) + +@VariantSupport() +class TestAccumulationHeadNode: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "accumulation": ("ACCUMULATION",), + }, + } + + RETURN_TYPES = ("ACCUMULATION", "*",) + FUNCTION = "accumulation_head" + + CATEGORY = "Testing/Lists" + + def accumulation_head(self, accumulation): + accum = accumulation["accum"] + if len(accum) == 0: + return (accumulation, None) + else: + return ({"accum": accum[1:]}, accum[0]) + +class TestAccumulationTailNode: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "accumulation": ("ACCUMULATION",), + }, + } + + RETURN_TYPES = ("ACCUMULATION", "*",) + FUNCTION = "accumulation_tail" + + CATEGORY = "Testing/Lists" + + def accumulation_tail(self, accumulation): + accum = accumulation["accum"] + if len(accum) == 0: + return (None, accumulation) + else: + return ({"accum": accum[:-1]}, accum[-1]) + +@VariantSupport() +class TestAccumulationToListNode: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "accumulation": ("ACCUMULATION",), + }, + } + + RETURN_TYPES = ("*",) + OUTPUT_IS_LIST = (True,) + + FUNCTION = "accumulation_to_list" + + CATEGORY = "Testing/Lists" + + def accumulation_to_list(self, accumulation): + return (accumulation["accum"],) + +@VariantSupport() +class TestListToAccumulationNode: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "list": ("*",), + }, + } + + RETURN_TYPES = ("ACCUMULATION",) + INPUT_IS_LIST = (True,) + + FUNCTION = "list_to_accumulation" + + CATEGORY = "Testing/Lists" + + def list_to_accumulation(self, list): + return ({"accum": list},) + +@VariantSupport() +class TestAccumulationGetLengthNode: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "accumulation": ("ACCUMULATION",), + }, + } + + RETURN_TYPES = ("INT",) + + FUNCTION = "accumlength" + + CATEGORY = "Testing/Lists" + + def accumlength(self, accumulation): + return (len(accumulation['accum']),) + +@VariantSupport() +class TestAccumulationGetItemNode: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "accumulation": ("ACCUMULATION",), + "index": ("INT", {"default":0, "step":1}) + }, + } + + RETURN_TYPES = ("*",) + + FUNCTION = "get_item" + + CATEGORY = "Testing/Lists" + + def get_item(self, accumulation, index): + return (accumulation['accum'][index],) + +@VariantSupport() +class TestAccumulationSetItemNode: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "accumulation": ("ACCUMULATION",), + "index": ("INT", {"default":0, "step":1}), + "value": ("*",), + }, + } + + RETURN_TYPES = ("ACCUMULATION",) + + FUNCTION = "set_item" + + CATEGORY = "Testing/Lists" + + def set_item(self, accumulation, index, value): + new_accum = accumulation['accum'][:] + new_accum[index] = value + return ({"accum": new_accum},) + +class TestIntMathOperation: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "a": ("INT", {"default": 0, "min": -0xffffffffffffffff, "max": 0xffffffffffffffff, "step": 1}), + "b": ("INT", {"default": 0, "min": -0xffffffffffffffff, "max": 0xffffffffffffffff, "step": 1}), + "operation": (["add", "subtract", "multiply", "divide", "modulo", "power"],), + }, + } + + RETURN_TYPES = ("INT",) + FUNCTION = "int_math_operation" + + CATEGORY = "Testing/Logic" + + def int_math_operation(self, a, b, operation): + if operation == "add": + return (a + b,) + elif operation == "subtract": + return (a - b,) + elif operation == "multiply": + return (a * b,) + elif operation == "divide": + return (a // b,) + elif operation == "modulo": + return (a % b,) + elif operation == "power": + return (a ** b,) + + +from .flow_control import NUM_FLOW_SOCKETS +@VariantSupport() +class TestForLoopOpen: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "remaining": ("INT", {"default": 1, "min": 0, "max": 100000, "step": 1}), + }, + "optional": { + f"initial_value{i}": ("*",) for i in range(1, NUM_FLOW_SOCKETS) + }, + "hidden": { + "initial_value0": ("*",) + } + } + + RETURN_TYPES = tuple(["FLOW_CONTROL", "INT",] + ["*"] * (NUM_FLOW_SOCKETS-1)) + RETURN_NAMES = tuple(["flow_control", "remaining"] + [f"value{i}" for i in range(1, NUM_FLOW_SOCKETS)]) + FUNCTION = "for_loop_open" + + CATEGORY = "Testing/Flow" + + def for_loop_open(self, remaining, **kwargs): + graph = GraphBuilder() + if "initial_value0" in kwargs: + remaining = kwargs["initial_value0"] + graph.node("TestWhileLoopOpen", condition=remaining, initial_value0=remaining, **{(f"initial_value{i}"): kwargs.get(f"initial_value{i}", None) for i in range(1, NUM_FLOW_SOCKETS)}) + outputs = [kwargs.get(f"initial_value{i}", None) for i in range(1, NUM_FLOW_SOCKETS)] + return { + "result": tuple(["stub", remaining] + outputs), + "expand": graph.finalize(), + } + +@VariantSupport() +class TestForLoopClose: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "flow_control": ("FLOW_CONTROL", {"rawLink": True}), + }, + "optional": { + f"initial_value{i}": ("*",{"rawLink": True}) for i in range(1, NUM_FLOW_SOCKETS) + }, + } + + RETURN_TYPES = tuple(["*"] * (NUM_FLOW_SOCKETS-1)) + RETURN_NAMES = tuple([f"value{i}" for i in range(1, NUM_FLOW_SOCKETS)]) + FUNCTION = "for_loop_close" + + CATEGORY = "Testing/Flow" + + def for_loop_close(self, flow_control, **kwargs): + graph = GraphBuilder() + while_open = flow_control[0] + sub = graph.node("TestIntMathOperation", operation="subtract", a=[while_open,1], b=1) + cond = graph.node("TestToBoolNode", value=sub.out(0)) + input_values = {f"initial_value{i}": kwargs.get(f"initial_value{i}", None) for i in range(1, NUM_FLOW_SOCKETS)} + while_close = graph.node("TestWhileLoopClose", + flow_control=flow_control, + condition=cond.out(0), + initial_value0=sub.out(0), + **input_values) + return { + "result": tuple([while_close.out(i) for i in range(1, NUM_FLOW_SOCKETS)]), + "expand": graph.finalize(), + } + +NUM_LIST_SOCKETS = 10 +@VariantSupport() +class TestMakeListNode: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "value1": ("*",), + }, + "optional": { + f"value{i}": ("*",) for i in range(1, NUM_LIST_SOCKETS) + }, + } + + RETURN_TYPES = ("*",) + FUNCTION = "make_list" + OUTPUT_IS_LIST = (True,) + + CATEGORY = "Testing/Lists" + + def make_list(self, **kwargs): + result = [] + for i in range(NUM_LIST_SOCKETS): + if f"value{i}" in kwargs: + result.append(kwargs[f"value{i}"]) + return (result,) + +UTILITY_NODE_CLASS_MAPPINGS = { + "TestAccumulateNode": TestAccumulateNode, + "TestAccumulationHeadNode": TestAccumulationHeadNode, + "TestAccumulationTailNode": TestAccumulationTailNode, + "TestAccumulationToListNode": TestAccumulationToListNode, + "TestListToAccumulationNode": TestListToAccumulationNode, + "TestAccumulationGetLengthNode": TestAccumulationGetLengthNode, + "TestAccumulationGetItemNode": TestAccumulationGetItemNode, + "TestAccumulationSetItemNode": TestAccumulationSetItemNode, + "TestForLoopOpen": TestForLoopOpen, + "TestForLoopClose": TestForLoopClose, + "TestIntMathOperation": TestIntMathOperation, + "TestMakeListNode": TestMakeListNode, +} +UTILITY_NODE_DISPLAY_NAME_MAPPINGS = { + "TestAccumulateNode": "Accumulate", + "TestAccumulationHeadNode": "Accumulation Head", + "TestAccumulationTailNode": "Accumulation Tail", + "TestAccumulationToListNode": "Accumulation to List", + "TestListToAccumulationNode": "List to Accumulation", + "TestAccumulationGetLengthNode": "Accumulation Get Length", + "TestAccumulationGetItemNode": "Accumulation Get Item", + "TestAccumulationSetItemNode": "Accumulation Set Item", + "TestForLoopOpen": "For Loop Open", + "TestForLoopClose": "For Loop Close", + "TestIntMathOperation": "Int Math Operation", + "TestMakeListNode": "Make List", +} diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/utils/extra_config.py b/utils/extra_config.py new file mode 100644 index 0000000000000000000000000000000000000000..d7b592855cdc061d6c7f4e75f603d34d2b57e406 --- /dev/null +++ b/utils/extra_config.py @@ -0,0 +1,33 @@ +import os +import yaml +import folder_paths +import logging + +def load_extra_path_config(yaml_path): + with open(yaml_path, 'r') as stream: + config = yaml.safe_load(stream) + yaml_dir = os.path.dirname(os.path.abspath(yaml_path)) + for c in config: + conf = config[c] + if conf is None: + continue + base_path = None + if "base_path" in conf: + base_path = conf.pop("base_path") + base_path = os.path.expandvars(os.path.expanduser(base_path)) + if not os.path.isabs(base_path): + base_path = os.path.abspath(os.path.join(yaml_dir, base_path)) + is_default = False + if "is_default" in conf: + is_default = conf.pop("is_default") + for x in conf: + for y in conf[x].split("\n"): + if len(y) == 0: + continue + full_path = y + if base_path: + full_path = os.path.join(base_path, full_path) + elif not os.path.isabs(full_path): + full_path = os.path.abspath(os.path.join(yaml_dir, y)) + logging.info("Adding extra search path {} {}".format(x, full_path)) + folder_paths.add_model_folder_path(x, full_path, is_default) diff --git a/web/assets/BaseViewTemplate-BNGF4K22.js b/web/assets/BaseViewTemplate-BNGF4K22.js new file mode 100644 index 0000000000000000000000000000000000000000..b03956141e9e93b06bce9d43e1ad5eba6a8a7f78 --- /dev/null +++ b/web/assets/BaseViewTemplate-BNGF4K22.js @@ -0,0 +1,23 @@ +import { d as defineComponent, o as openBlock, f as createElementBlock, J as renderSlot, T as normalizeClass } from "./index-DjNHn37O.js"; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "BaseViewTemplate", + props: { + dark: { type: Boolean, default: false } + }, + setup(__props) { + const props = __props; + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + class: normalizeClass(["font-sans w-screen h-screen flex items-center justify-center pointer-events-auto overflow-auto", [ + props.dark ? "text-neutral-300 bg-neutral-900 dark-theme" : "text-neutral-900 bg-neutral-300" + ]]) + }, [ + renderSlot(_ctx.$slots, "default") + ], 2); + }; + } +}); +export { + _sfc_main as _ +}; +//# sourceMappingURL=BaseViewTemplate-BNGF4K22.js.map diff --git a/web/assets/CREDIT.txt b/web/assets/CREDIT.txt new file mode 100644 index 0000000000000000000000000000000000000000..b3a9bc9067160ceee7daa08a07dbb068a4c5313a --- /dev/null +++ b/web/assets/CREDIT.txt @@ -0,0 +1 @@ +Thanks to OpenArt (https://openart.ai) for providing the sorted-custom-node-map data, captured in September 2024. \ No newline at end of file diff --git a/web/assets/DownloadGitView-DeC7MBzG.js b/web/assets/DownloadGitView-DeC7MBzG.js new file mode 100644 index 0000000000000000000000000000000000000000..6f00b3647a6458c56ce4447b1ed23a71a44ef75a --- /dev/null +++ b/web/assets/DownloadGitView-DeC7MBzG.js @@ -0,0 +1,58 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, o as openBlock, k as createBlock, M as withCtx, H as createBaseVNode, X as toDisplayString, N as createVNode, j as unref, l as script, bW as useRouter } from "./index-DjNHn37O.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-BNGF4K22.js"; +const _hoisted_1 = { class: "max-w-screen-sm flex flex-col gap-8 p-8 bg-[url('/assets/images/Git-Logo-White.svg')] bg-no-repeat bg-right-top bg-origin-padding" }; +const _hoisted_2 = { class: "mt-24 text-4xl font-bold text-red-500" }; +const _hoisted_3 = { class: "space-y-4" }; +const _hoisted_4 = { class: "text-xl" }; +const _hoisted_5 = { class: "text-xl" }; +const _hoisted_6 = { class: "text-m" }; +const _hoisted_7 = { class: "flex gap-4 flex-row-reverse" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "DownloadGitView", + setup(__props) { + const openGitDownloads = /* @__PURE__ */ __name(() => { + window.open("https://git-scm.com/downloads/", "_blank"); + }, "openGitDownloads"); + const skipGit = /* @__PURE__ */ __name(() => { + console.warn("pushing"); + const router = useRouter(); + router.push("install"); + }, "skipGit"); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$1, null, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + createBaseVNode("h1", _hoisted_2, toDisplayString(_ctx.$t("downloadGit.title")), 1), + createBaseVNode("div", _hoisted_3, [ + createBaseVNode("p", _hoisted_4, toDisplayString(_ctx.$t("downloadGit.message")), 1), + createBaseVNode("p", _hoisted_5, toDisplayString(_ctx.$t("downloadGit.instructions")), 1), + createBaseVNode("p", _hoisted_6, toDisplayString(_ctx.$t("downloadGit.warning")), 1) + ]), + createBaseVNode("div", _hoisted_7, [ + createVNode(unref(script), { + label: _ctx.$t("downloadGit.gitWebsite"), + icon: "pi pi-external-link", + "icon-pos": "right", + onClick: openGitDownloads, + severity: "primary" + }, null, 8, ["label"]), + createVNode(unref(script), { + label: _ctx.$t("downloadGit.skip"), + icon: "pi pi-exclamation-triangle", + onClick: skipGit, + severity: "secondary" + }, null, 8, ["label"]) + ]) + ]) + ]), + _: 1 + }); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=DownloadGitView-DeC7MBzG.js.map diff --git a/web/assets/ExtensionPanel-D4Phn0Zr.js b/web/assets/ExtensionPanel-D4Phn0Zr.js new file mode 100644 index 0000000000000000000000000000000000000000..02baf6e174b6fae29a12c89b6d9c997fa9de64c1 --- /dev/null +++ b/web/assets/ExtensionPanel-D4Phn0Zr.js @@ -0,0 +1,183 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, ab as ref, cn as FilterMatchMode, cs as useExtensionStore, a as useSettingStore, m as onMounted, c as computed, o as openBlock, k as createBlock, M as withCtx, N as createVNode, co as SearchBox, j as unref, bZ as script, H as createBaseVNode, f as createElementBlock, E as renderList, X as toDisplayString, aE as createTextVNode, F as Fragment, l as script$1, I as createCommentVNode, aI as script$3, bO as script$4, c4 as script$5, cp as _sfc_main$1 } from "./index-DjNHn37O.js"; +import { s as script$2, a as script$6 } from "./index-B5F0uxTQ.js"; +import "./index-B-aVupP5.js"; +import "./index-5HFeZax4.js"; +const _hoisted_1 = { class: "flex justify-end" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ExtensionPanel", + setup(__props) { + const filters = ref({ + global: { value: "", matchMode: FilterMatchMode.CONTAINS } + }); + const extensionStore = useExtensionStore(); + const settingStore = useSettingStore(); + const editingEnabledExtensions = ref({}); + onMounted(() => { + extensionStore.extensions.forEach((ext) => { + editingEnabledExtensions.value[ext.name] = extensionStore.isExtensionEnabled(ext.name); + }); + }); + const changedExtensions = computed(() => { + return extensionStore.extensions.filter( + (ext) => editingEnabledExtensions.value[ext.name] !== extensionStore.isExtensionEnabled(ext.name) + ); + }); + const hasChanges = computed(() => { + return changedExtensions.value.length > 0; + }); + const updateExtensionStatus = /* @__PURE__ */ __name(() => { + const editingDisabledExtensionNames = Object.entries( + editingEnabledExtensions.value + ).filter(([_, enabled]) => !enabled).map(([name]) => name); + settingStore.set("Comfy.Extension.Disabled", [ + ...extensionStore.inactiveDisabledExtensionNames, + ...editingDisabledExtensionNames + ]); + }, "updateExtensionStatus"); + const enableAllExtensions = /* @__PURE__ */ __name(() => { + extensionStore.extensions.forEach((ext) => { + if (extensionStore.isExtensionReadOnly(ext.name)) return; + editingEnabledExtensions.value[ext.name] = true; + }); + updateExtensionStatus(); + }, "enableAllExtensions"); + const disableAllExtensions = /* @__PURE__ */ __name(() => { + extensionStore.extensions.forEach((ext) => { + if (extensionStore.isExtensionReadOnly(ext.name)) return; + editingEnabledExtensions.value[ext.name] = false; + }); + updateExtensionStatus(); + }, "disableAllExtensions"); + const disableThirdPartyExtensions = /* @__PURE__ */ __name(() => { + extensionStore.extensions.forEach((ext) => { + if (extensionStore.isCoreExtension(ext.name)) return; + editingEnabledExtensions.value[ext.name] = false; + }); + updateExtensionStatus(); + }, "disableThirdPartyExtensions"); + const applyChanges = /* @__PURE__ */ __name(() => { + window.location.reload(); + }, "applyChanges"); + const menu = ref(); + const contextMenuItems = [ + { + label: "Enable All", + icon: "pi pi-check", + command: enableAllExtensions + }, + { + label: "Disable All", + icon: "pi pi-times", + command: disableAllExtensions + }, + { + label: "Disable 3rd Party", + icon: "pi pi-times", + command: disableThirdPartyExtensions, + disabled: !extensionStore.hasThirdPartyExtensions + } + ]; + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$1, { + value: "Extension", + class: "extension-panel" + }, { + header: withCtx(() => [ + createVNode(SearchBox, { + modelValue: filters.value["global"].value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => filters.value["global"].value = $event), + placeholder: _ctx.$t("g.searchExtensions") + "..." + }, null, 8, ["modelValue", "placeholder"]), + hasChanges.value ? (openBlock(), createBlock(unref(script), { + key: 0, + severity: "info", + "pt:text": "w-full", + class: "max-h-96 overflow-y-auto" + }, { + default: withCtx(() => [ + createBaseVNode("ul", null, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(changedExtensions.value, (ext) => { + return openBlock(), createElementBlock("li", { + key: ext.name + }, [ + createBaseVNode("span", null, toDisplayString(unref(extensionStore).isExtensionEnabled(ext.name) ? "[-]" : "[+]"), 1), + createTextVNode(" " + toDisplayString(ext.name), 1) + ]); + }), 128)) + ]), + createBaseVNode("div", _hoisted_1, [ + createVNode(unref(script$1), { + label: _ctx.$t("g.reloadToApplyChanges"), + onClick: applyChanges, + outlined: "", + severity: "danger" + }, null, 8, ["label"]) + ]) + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + default: withCtx(() => [ + createVNode(unref(script$6), { + value: unref(extensionStore).extensions, + stripedRows: "", + size: "small", + filters: filters.value + }, { + default: withCtx(() => [ + createVNode(unref(script$2), { + header: _ctx.$t("g.extensionName"), + sortable: "", + field: "name" + }, { + body: withCtx((slotProps) => [ + createTextVNode(toDisplayString(slotProps.data.name) + " ", 1), + unref(extensionStore).isCoreExtension(slotProps.data.name) ? (openBlock(), createBlock(unref(script$3), { + key: 0, + value: "Core" + })) : createCommentVNode("", true) + ]), + _: 1 + }, 8, ["header"]), + createVNode(unref(script$2), { pt: { + headerCell: "flex items-center justify-end", + bodyCell: "flex items-center justify-end" + } }, { + header: withCtx(() => [ + createVNode(unref(script$1), { + icon: "pi pi-ellipsis-h", + text: "", + severity: "secondary", + onClick: _cache[1] || (_cache[1] = ($event) => menu.value.show($event)) + }), + createVNode(unref(script$4), { + ref_key: "menu", + ref: menu, + model: contextMenuItems + }, null, 512) + ]), + body: withCtx((slotProps) => [ + createVNode(unref(script$5), { + disabled: unref(extensionStore).isExtensionReadOnly(slotProps.data.name), + modelValue: editingEnabledExtensions.value[slotProps.data.name], + "onUpdate:modelValue": /* @__PURE__ */ __name(($event) => editingEnabledExtensions.value[slotProps.data.name] = $event, "onUpdate:modelValue"), + onChange: updateExtensionStatus + }, null, 8, ["disabled", "modelValue", "onUpdate:modelValue"]) + ]), + _: 1 + }) + ]), + _: 1 + }, 8, ["value", "filters"]) + ]), + _: 1 + }); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=ExtensionPanel-D4Phn0Zr.js.map diff --git a/web/assets/GraphView-CIRWBKTm.css b/web/assets/GraphView-CIRWBKTm.css new file mode 100644 index 0000000000000000000000000000000000000000..59d1b3d149ac1f686904b7d252719576055a7a82 --- /dev/null +++ b/web/assets/GraphView-CIRWBKTm.css @@ -0,0 +1,273 @@ + +.comfy-menu-hamburger[data-v-5661bed0] { + pointer-events: auto; + position: fixed; + z-index: 9999; +} + +[data-v-e50caa15] .p-splitter-gutter { + pointer-events: auto; +} +[data-v-e50caa15] .p-splitter-gutter:hover,[data-v-e50caa15] .p-splitter-gutter[data-p-gutter-resizing='true'] { + transition: background-color 0.2s ease 300ms; + background-color: var(--p-primary-color); +} +.side-bar-panel[data-v-e50caa15] { + background-color: var(--bg-color); + pointer-events: auto; +} +.bottom-panel[data-v-e50caa15] { + background-color: var(--bg-color); + pointer-events: auto; +} +.splitter-overlay[data-v-e50caa15] { + pointer-events: none; + border-style: none; + background-color: transparent; +} +.splitter-overlay-root[data-v-e50caa15] { + position: absolute; + top: 0px; + left: 0px; + height: 100%; + width: 100%; + + /* Set it the same as the ComfyUI menu */ + /* Note: Lite-graph DOM widgets have the same z-index as the node id, so + 999 should be sufficient to make sure splitter overlays on node's DOM + widgets */ + z-index: 999; +} + +.p-buttongroup-vertical[data-v-cf40dd39] { + display: flex; + flex-direction: column; + border-radius: var(--p-button-border-radius); + overflow: hidden; + border: 1px solid var(--p-panel-border-color); +} +.p-buttongroup-vertical .p-button[data-v-cf40dd39] { + margin: 0; + border-radius: 0; +} + +.node-tooltip[data-v-46859edf] { + background: var(--comfy-input-bg); + border-radius: 5px; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.4); + color: var(--input-text); + font-family: sans-serif; + left: 0; + max-width: 30vw; + padding: 4px 8px; + position: absolute; + top: 0; + transform: translate(5px, calc(-100% - 5px)); + white-space: pre-wrap; + z-index: 99999; +} + +.group-title-editor.node-title-editor[data-v-12d3fd12] { + z-index: 9999; + padding: 0.25rem; +} +[data-v-12d3fd12] .editable-text { + width: 100%; + height: 100%; +} +[data-v-12d3fd12] .editable-text input { + width: 100%; + height: 100%; + /* Override the default font size */ + font-size: inherit; +} + +[data-v-5741c9ae] .highlight { + background-color: var(--p-primary-color); + color: var(--p-primary-contrast-color); + font-weight: bold; + border-radius: 0.25rem; + padding: 0rem 0.125rem; + margin: -0.125rem 0.125rem; +} + +.invisible-dialog-root { + width: 60%; + min-width: 24rem; + max-width: 48rem; + border: 0 !important; + background-color: transparent !important; + margin-top: 25vh; + margin-left: 400px; +} +@media all and (max-width: 768px) { +.invisible-dialog-root { + margin-left: 0px; +} +} +.node-search-box-dialog-mask { + align-items: flex-start !important; +} + +.side-bar-button-icon { + font-size: var(--sidebar-icon-size) !important; +} +.side-bar-button-selected .side-bar-button-icon { + font-size: var(--sidebar-icon-size) !important; + font-weight: bold; +} + +.side-bar-button[data-v-6ab4daa6] { + width: var(--sidebar-width); + height: var(--sidebar-width); + border-radius: 0; +} +.comfyui-body-left .side-bar-button.side-bar-button-selected[data-v-6ab4daa6], +.comfyui-body-left .side-bar-button.side-bar-button-selected[data-v-6ab4daa6]:hover { + border-left: 4px solid var(--p-button-text-primary-color); +} +.comfyui-body-right .side-bar-button.side-bar-button-selected[data-v-6ab4daa6], +.comfyui-body-right .side-bar-button.side-bar-button-selected[data-v-6ab4daa6]:hover { + border-right: 4px solid var(--p-button-text-primary-color); +} + +:root { + --sidebar-width: 64px; + --sidebar-icon-size: 1.5rem; +} +:root .small-sidebar { + --sidebar-width: 40px; + --sidebar-icon-size: 1rem; +} + +.side-tool-bar-container[data-v-37d8d7b4] { + display: flex; + flex-direction: column; + align-items: center; + + pointer-events: auto; + + width: var(--sidebar-width); + height: 100%; + + background-color: var(--comfy-menu-secondary-bg); + color: var(--fg-color); + box-shadow: var(--bar-shadow); +} +.side-tool-bar-end[data-v-37d8d7b4] { + align-self: flex-end; + margin-top: auto; +} + +[data-v-b9328350] .p-inputtext { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.comfyui-queue-button[data-v-7f4f551b] .p-splitbutton-dropdown { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.actionbar[data-v-915e5456] { + pointer-events: all; + position: fixed; + z-index: 1000; +} +.actionbar.is-docked[data-v-915e5456] { + position: static; + border-style: none; + background-color: transparent; + padding: 0px; +} +.actionbar.is-dragging[data-v-915e5456] { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +[data-v-915e5456] .p-panel-content { + padding: 0.25rem; +} +.is-docked[data-v-915e5456] .p-panel-content { + padding: 0px; +} +[data-v-915e5456] .p-panel-header { + display: none; +} + +.top-menubar[data-v-6fecd137] .p-menubar-item-link svg { + display: none; +} +[data-v-6fecd137] .p-menubar-submenu.dropdown-direction-up { + top: auto; + bottom: 100%; + flex-direction: column-reverse; +} +.keybinding-tag[data-v-6fecd137] { + background: var(--p-content-hover-background); + border-color: var(--p-content-border-color); + border-style: solid; +} + +.status-indicator[data-v-8d011a31] { + position: absolute; + font-weight: 700; + font-size: 1.5rem; + top: 50%; + left: 50%; + transform: translate(-50%, -50%) +} + +[data-v-d485c044] .p-togglebutton::before { + display: none +} +[data-v-d485c044] .p-togglebutton { + position: relative; + flex-shrink: 0; + border-radius: 0px; + background-color: transparent; + padding: 0px +} +[data-v-d485c044] .p-togglebutton.p-togglebutton-checked { + border-bottom-width: 2px; + border-bottom-color: var(--p-button-text-primary-color) +} +[data-v-d485c044] .p-togglebutton-checked .close-button,[data-v-d485c044] .p-togglebutton:hover .close-button { + visibility: visible +} +[data-v-d485c044] .p-togglebutton:hover .status-indicator { + display: none +} +[data-v-d485c044] .p-togglebutton .close-button { + visibility: hidden +} + +.comfyui-menu[data-v-878b63b8] { + width: 100vw; + background: var(--comfy-menu-bg); + color: var(--fg-color); + box-shadow: var(--bar-shadow); + font-family: Arial, Helvetica, sans-serif; + font-size: 0.8em; + box-sizing: border-box; + z-index: 1000; + order: 0; + grid-column: 1/-1; + max-height: 90vh; +} +.comfyui-menu.dropzone[data-v-878b63b8] { + background: var(--p-highlight-background); +} +.comfyui-menu.dropzone-active[data-v-878b63b8] { + background: var(--p-highlight-background-focus); +} +[data-v-878b63b8] .p-menubar-item-label { + line-height: revert; +} +.comfyui-logo[data-v-878b63b8] { + font-size: 1.2em; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + cursor: default; +} diff --git a/web/assets/GraphView-HVeNbkaW.js b/web/assets/GraphView-HVeNbkaW.js new file mode 100644 index 0000000000000000000000000000000000000000..648d3aab170965f17cdd01cff32fb2809b6f03a4 --- /dev/null +++ b/web/assets/GraphView-HVeNbkaW.js @@ -0,0 +1,9894 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, u as useExecutionStore, c as computed, a as useSettingStore, b as useWorkflowStore, e as useTitle, o as openBlock, f as createElementBlock, g as useWorkspaceStore, w as watchEffect, h as app, r as resolveDirective, i as withDirectives, v as vShow, j as unref, k as createBlock, n as normalizeStyle, s as showNativeMenu, l as script$d, _ as _export_sfc, m as onMounted, p as onBeforeUnmount, B as BaseStyle, q as script$e, t as getWidth, x as getHeight, y as getOuterWidth, z as getOuterHeight, A as getVNodeProp, C as isArray, D as mergeProps, F as Fragment, E as renderList, G as resolveDynamicComponent, H as createBaseVNode, I as createCommentVNode, J as renderSlot, K as useSidebarTabStore, L as useBottomPanelStore, M as withCtx, N as createVNode, O as getAttribute, P as findSingle, Q as focus, R as equals, S as Ripple, T as normalizeClass, U as getOffset, V as script$f, W as script$g, X as toDisplayString, Y as script$h, Z as markRaw, $ as defineStore, a0 as shallowRef, a1 as useI18n, a2 as useCommandStore, a3 as LiteGraph, a4 as useColorPaletteStore, a5 as watch, a6 as useNodeDefStore, a7 as BadgePosition, a8 as LGraphBadge, a9 as _, aa as NodeBadgeMode, ab as ref, ac as useEventListener, ad as nextTick, ae as st, af as normalizeI18nKey, ag as LGraphGroup, ah as LGraphNode, ai as EditableText, aj as isNotEmpty, ak as UniqueComponentId, al as ZIndex, am as resolveFieldData, an as OverlayEventBus, ao as isEmpty, ap as addStyle, aq as relativePosition, ar as absolutePosition, as as ConnectedOverlayScrollHandler, at as isTouchDevice, au as findLastIndex, av as script$i, aw as script$j, ax as script$k, ay as script$l, az as script$m, aA as script$n, aB as resolveComponent, aC as Transition, aD as createSlots, aE as createTextVNode, aF as useNodeFrequencyStore, aG as useNodeBookmarkStore, aH as highlightQuery, aI as script$o, aJ as formatNumberWithSuffix, aK as NodeSourceType, aL as pushScopeId, aM as popScopeId, aN as NodePreview, aO as NodeSearchFilter, aP as script$p, aQ as SearchFilterChip, aR as useLitegraphService, aS as storeToRefs, aT as isRef, aU as toRaw, aV as LinkReleaseTriggerAction, aW as script$q, aX as useUserStore, aY as useDialogStore, aZ as SettingDialogHeader, a_ as SettingDialogContent, a$ as useKeybindingStore, b0 as Teleport, b1 as LinkMarkerShape, b2 as useModelToNodeStore, b3 as CanvasPointer, b4 as IS_CONTROL_WIDGET, b5 as updateControlWidgetLabel, b6 as useColorPaletteService, b7 as setStorageValue, b8 as api, b9 as usePragmaticDroppable, ba as LGraph, bb as LLink, bc as DragAndScale, bd as LGraphCanvas, be as ContextMenu, bf as ChangeTracker, bg as useWorkflowService, bh as ComfyNodeDefImpl, bi as ComfyModelDef, bj as script$r, bk as script$s, bl as script$t, bm as script$u, bn as script$v, bo as normalizeProps, bp as ToastEventBus, bq as setAttribute, br as TransitionGroup, bs as useToast, bt as useToastStore, bu as resolve, bv as nestedPosition, bw as script$w, bx as isPrintableCharacter, by as useQueueSettingsStore, bz as script$x, bA as useQueuePendingTaskCountStore, bB as useLocalStorage, bC as useDraggable, bD as watchDebounced, bE as inject, bF as useElementBounding, bG as lodashExports, bH as useEventBus, bI as script$z, bJ as guardReactiveProps, bK as useMenuItemStore, bL as usePragmaticDraggable, bM as withModifiers, bN as script$B, bO as script$C, bP as provide, bQ as script$D, bR as useDialogService, bS as LGraphEventMode, bT as useQueueStore, bU as i18n, bV as useModelStore } from "./index-DjNHn37O.js"; +import { s as script$y } from "./index-jXPKy3pP.js"; +import { s as script$A } from "./index-B-aVupP5.js"; +import { u as useKeybindingService } from "./keybindingService-Bx7YdkXn.js"; +import { u as useServerConfigStore } from "./serverConfigStore-CvyKFVuP.js"; +import "./index-5HFeZax4.js"; +const DEFAULT_TITLE = "ComfyUI"; +const TITLE_SUFFIX = " - ComfyUI"; +const _sfc_main$t = /* @__PURE__ */ defineComponent({ + __name: "BrowserTabTitle", + setup(__props) { + const executionStore = useExecutionStore(); + const executionText = computed( + () => executionStore.isIdle ? "" : `[${executionStore.executionProgress}%]` + ); + const settingStore = useSettingStore(); + const betaMenuEnabled = computed( + () => settingStore.get("Comfy.UseNewMenu") !== "Disabled" + ); + const workflowStore = useWorkflowStore(); + const isUnsavedText = computed( + () => workflowStore.activeWorkflow?.isModified || !workflowStore.activeWorkflow?.isPersisted ? " *" : "" + ); + const workflowNameText = computed(() => { + const workflowName = workflowStore.activeWorkflow?.filename; + return workflowName ? isUnsavedText.value + workflowName + TITLE_SUFFIX : DEFAULT_TITLE; + }); + const nodeExecutionTitle = computed( + () => executionStore.executingNode && executionStore.executingNodeProgress ? `${executionText.value}[${executionStore.executingNodeProgress}%] ${executionStore.executingNode.type}` : "" + ); + const workflowTitle = computed( + () => executionText.value + (betaMenuEnabled.value ? workflowNameText.value : DEFAULT_TITLE) + ); + const title = computed(() => nodeExecutionTitle.value || workflowTitle.value); + useTitle(title); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div"); + }; + } +}); +const _sfc_main$s = /* @__PURE__ */ defineComponent({ + __name: "MenuHamburger", + setup(__props) { + const workspaceState = useWorkspaceStore(); + const settingStore = useSettingStore(); + const exitFocusMode = /* @__PURE__ */ __name(() => { + workspaceState.focusMode = false; + }, "exitFocusMode"); + watchEffect(() => { + if (settingStore.get("Comfy.UseNewMenu") !== "Disabled") { + return; + } + if (workspaceState.focusMode) { + app.ui.menuContainer.style.display = "none"; + } else { + app.ui.menuContainer.style.display = "block"; + } + }); + const menuSetting = computed(() => settingStore.get("Comfy.UseNewMenu")); + const positionCSS = computed( + () => ( + // 'Bottom' menuSetting shows the hamburger button in the bottom right corner + // 'Disabled', 'Top' menuSetting shows the hamburger button in the top right corner + menuSetting.value === "Bottom" ? { bottom: "0px", right: "0px" } : { top: "0px", right: "0px" } + ) + ); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return withDirectives((openBlock(), createBlock(unref(script$d), { + class: "comfy-menu-hamburger", + style: normalizeStyle(positionCSS.value), + icon: "pi pi-bars", + severity: "secondary", + text: "", + size: "large", + onClick: exitFocusMode, + onContextmenu: unref(showNativeMenu) + }, null, 8, ["style", "onContextmenu"])), [ + [vShow, unref(workspaceState).focusMode], + [_directive_tooltip, { value: _ctx.$t("menu.showMenu"), showDelay: 300 }] + ]); + }; + } +}); +const MenuHamburger = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-5661bed0"]]); +const _sfc_main$r = /* @__PURE__ */ defineComponent({ + __name: "UnloadWindowConfirmDialog", + setup(__props) { + const settingStore = useSettingStore(); + const handleBeforeUnload = /* @__PURE__ */ __name((event) => { + if (settingStore.get("Comfy.Window.UnloadConfirmation")) { + event.preventDefault(); + return true; + } + return void 0; + }, "handleBeforeUnload"); + onMounted(() => { + window.addEventListener("beforeunload", handleBeforeUnload); + }); + onBeforeUnmount(() => { + window.removeEventListener("beforeunload", handleBeforeUnload); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div"); + }; + } +}); +var theme$7 = /* @__PURE__ */ __name(function theme(_ref) { + var dt = _ref.dt; + return "\n.p-splitter {\n display: flex;\n flex-wrap: nowrap;\n border: 1px solid ".concat(dt("splitter.border.color"), ";\n background: ").concat(dt("splitter.background"), ";\n border-radius: ").concat(dt("border.radius.md"), ";\n color: ").concat(dt("splitter.color"), ";\n}\n\n.p-splitter-vertical {\n flex-direction: column;\n}\n\n.p-splitter-gutter {\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1;\n background: ").concat(dt("splitter.gutter.background"), ";\n}\n\n.p-splitter-gutter-handle {\n border-radius: ").concat(dt("splitter.handle.border.radius"), ";\n background: ").concat(dt("splitter.handle.background"), ";\n transition: outline-color ").concat(dt("splitter.transition.duration"), ", box-shadow ").concat(dt("splitter.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-splitter-gutter-handle:focus-visible {\n box-shadow: ").concat(dt("splitter.handle.focus.ring.shadow"), ";\n outline: ").concat(dt("splitter.handle.focus.ring.width"), " ").concat(dt("splitter.handle.focus.ring.style"), " ").concat(dt("splitter.handle.focus.ring.color"), ";\n outline-offset: ").concat(dt("splitter.handle.focus.ring.offset"), ";\n}\n\n.p-splitter-horizontal.p-splitter-resizing {\n cursor: col-resize;\n user-select: none;\n}\n\n.p-splitter-vertical.p-splitter-resizing {\n cursor: row-resize;\n user-select: none;\n}\n\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\n height: ").concat(dt("splitter.handle.size"), ";\n width: 100%;\n}\n\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\n width: ").concat(dt("splitter.handle.size"), ";\n height: 100%;\n}\n\n.p-splitter-horizontal > .p-splitter-gutter {\n cursor: col-resize;\n}\n\n.p-splitter-vertical > .p-splitter-gutter {\n cursor: row-resize;\n}\n\n.p-splitterpanel {\n flex-grow: 1;\n overflow: hidden;\n}\n\n.p-splitterpanel-nested {\n display: flex;\n}\n\n.p-splitterpanel .p-splitter {\n flex-grow: 1;\n border: 0 none;\n}\n"); +}, "theme"); +var classes$a = { + root: /* @__PURE__ */ __name(function root(_ref2) { + var props = _ref2.props; + return ["p-splitter p-component", "p-splitter-" + props.layout]; + }, "root"), + gutter: "p-splitter-gutter", + gutterHandle: "p-splitter-gutter-handle" +}; +var inlineStyles$4 = { + root: /* @__PURE__ */ __name(function root2(_ref3) { + var props = _ref3.props; + return [{ + display: "flex", + "flex-wrap": "nowrap" + }, props.layout === "vertical" ? { + "flex-direction": "column" + } : ""]; + }, "root") +}; +var SplitterStyle = BaseStyle.extend({ + name: "splitter", + theme: theme$7, + classes: classes$a, + inlineStyles: inlineStyles$4 +}); +var script$1$a = { + name: "BaseSplitter", + "extends": script$e, + props: { + layout: { + type: String, + "default": "horizontal" + }, + gutterSize: { + type: Number, + "default": 4 + }, + stateKey: { + type: String, + "default": null + }, + stateStorage: { + type: String, + "default": "session" + }, + step: { + type: Number, + "default": 5 + } + }, + style: SplitterStyle, + provide: /* @__PURE__ */ __name(function provide2() { + return { + $pcSplitter: this, + $parentInstance: this + }; + }, "provide") +}; +function _toConsumableArray$2(r) { + return _arrayWithoutHoles$2(r) || _iterableToArray$2(r) || _unsupportedIterableToArray$2(r) || _nonIterableSpread$2(); +} +__name(_toConsumableArray$2, "_toConsumableArray$2"); +function _nonIterableSpread$2() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$2, "_nonIterableSpread$2"); +function _unsupportedIterableToArray$2(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$2(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$2(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$2, "_unsupportedIterableToArray$2"); +function _iterableToArray$2(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$2, "_iterableToArray$2"); +function _arrayWithoutHoles$2(r) { + if (Array.isArray(r)) return _arrayLikeToArray$2(r); +} +__name(_arrayWithoutHoles$2, "_arrayWithoutHoles$2"); +function _arrayLikeToArray$2(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$2, "_arrayLikeToArray$2"); +var script$c = { + name: "Splitter", + "extends": script$1$a, + inheritAttrs: false, + emits: ["resizestart", "resizeend", "resize"], + dragging: false, + mouseMoveListener: null, + mouseUpListener: null, + touchMoveListener: null, + touchEndListener: null, + size: null, + gutterElement: null, + startPos: null, + prevPanelElement: null, + nextPanelElement: null, + nextPanelSize: null, + prevPanelSize: null, + panelSizes: null, + prevPanelIndex: null, + timer: null, + data: /* @__PURE__ */ __name(function data() { + return { + prevSize: null + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted() { + var _this = this; + if (this.panels && this.panels.length) { + var initialized = false; + if (this.isStateful()) { + initialized = this.restoreState(); + } + if (!initialized) { + var children = _toConsumableArray$2(this.$el.children).filter(function(child) { + return child.getAttribute("data-pc-name") === "splitterpanel"; + }); + var _panelSizes = []; + this.panels.map(function(panel, i) { + var panelInitialSize = panel.props && panel.props.size ? panel.props.size : null; + var panelSize = panelInitialSize || 100 / _this.panels.length; + _panelSizes[i] = panelSize; + children[i].style.flexBasis = "calc(" + panelSize + "% - " + (_this.panels.length - 1) * _this.gutterSize + "px)"; + }); + this.panelSizes = _panelSizes; + this.prevSize = parseFloat(_panelSizes[0]).toFixed(4); + } + } + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount() { + this.clear(); + this.unbindMouseListeners(); + }, "beforeUnmount"), + methods: { + isSplitterPanel: /* @__PURE__ */ __name(function isSplitterPanel(child) { + return child.type.name === "SplitterPanel"; + }, "isSplitterPanel"), + onResizeStart: /* @__PURE__ */ __name(function onResizeStart(event, index, isKeyDown) { + this.gutterElement = event.currentTarget || event.target.parentElement; + this.size = this.horizontal ? getWidth(this.$el) : getHeight(this.$el); + if (!isKeyDown) { + this.dragging = true; + this.startPos = this.layout === "horizontal" ? event.pageX || event.changedTouches[0].pageX : event.pageY || event.changedTouches[0].pageY; + } + this.prevPanelElement = this.gutterElement.previousElementSibling; + this.nextPanelElement = this.gutterElement.nextElementSibling; + if (isKeyDown) { + this.prevPanelSize = this.horizontal ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true); + this.nextPanelSize = this.horizontal ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true); + } else { + this.prevPanelSize = 100 * (this.horizontal ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true)) / this.size; + this.nextPanelSize = 100 * (this.horizontal ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true)) / this.size; + } + this.prevPanelIndex = index; + this.$emit("resizestart", { + originalEvent: event, + sizes: this.panelSizes + }); + this.$refs.gutter[index].setAttribute("data-p-gutter-resizing", true); + this.$el.setAttribute("data-p-resizing", true); + }, "onResizeStart"), + onResize: /* @__PURE__ */ __name(function onResize(event, step, isKeyDown) { + var newPos, newPrevPanelSize, newNextPanelSize; + if (isKeyDown) { + if (this.horizontal) { + newPrevPanelSize = 100 * (this.prevPanelSize + step) / this.size; + newNextPanelSize = 100 * (this.nextPanelSize - step) / this.size; + } else { + newPrevPanelSize = 100 * (this.prevPanelSize - step) / this.size; + newNextPanelSize = 100 * (this.nextPanelSize + step) / this.size; + } + } else { + if (this.horizontal) newPos = event.pageX * 100 / this.size - this.startPos * 100 / this.size; + else newPos = event.pageY * 100 / this.size - this.startPos * 100 / this.size; + newPrevPanelSize = this.prevPanelSize + newPos; + newNextPanelSize = this.nextPanelSize - newPos; + } + if (this.validateResize(newPrevPanelSize, newNextPanelSize)) { + this.prevPanelElement.style.flexBasis = "calc(" + newPrevPanelSize + "% - " + (this.panels.length - 1) * this.gutterSize + "px)"; + this.nextPanelElement.style.flexBasis = "calc(" + newNextPanelSize + "% - " + (this.panels.length - 1) * this.gutterSize + "px)"; + this.panelSizes[this.prevPanelIndex] = newPrevPanelSize; + this.panelSizes[this.prevPanelIndex + 1] = newNextPanelSize; + this.prevSize = parseFloat(newPrevPanelSize).toFixed(4); + } + this.$emit("resize", { + originalEvent: event, + sizes: this.panelSizes + }); + }, "onResize"), + onResizeEnd: /* @__PURE__ */ __name(function onResizeEnd(event) { + if (this.isStateful()) { + this.saveState(); + } + this.$emit("resizeend", { + originalEvent: event, + sizes: this.panelSizes + }); + this.$refs.gutter.forEach(function(gutter) { + return gutter.setAttribute("data-p-gutter-resizing", false); + }); + this.$el.setAttribute("data-p-resizing", false); + this.clear(); + }, "onResizeEnd"), + repeat: /* @__PURE__ */ __name(function repeat(event, index, step) { + this.onResizeStart(event, index, true); + this.onResize(event, step, true); + }, "repeat"), + setTimer: /* @__PURE__ */ __name(function setTimer(event, index, step) { + var _this2 = this; + if (!this.timer) { + this.timer = setInterval(function() { + _this2.repeat(event, index, step); + }, 40); + } + }, "setTimer"), + clearTimer: /* @__PURE__ */ __name(function clearTimer() { + if (this.timer) { + clearInterval(this.timer); + this.timer = null; + } + }, "clearTimer"), + onGutterKeyUp: /* @__PURE__ */ __name(function onGutterKeyUp() { + this.clearTimer(); + this.onResizeEnd(); + }, "onGutterKeyUp"), + onGutterKeyDown: /* @__PURE__ */ __name(function onGutterKeyDown(event, index) { + switch (event.code) { + case "ArrowLeft": { + if (this.layout === "horizontal") { + this.setTimer(event, index, this.step * -1); + } + event.preventDefault(); + break; + } + case "ArrowRight": { + if (this.layout === "horizontal") { + this.setTimer(event, index, this.step); + } + event.preventDefault(); + break; + } + case "ArrowDown": { + if (this.layout === "vertical") { + this.setTimer(event, index, this.step * -1); + } + event.preventDefault(); + break; + } + case "ArrowUp": { + if (this.layout === "vertical") { + this.setTimer(event, index, this.step); + } + event.preventDefault(); + break; + } + } + }, "onGutterKeyDown"), + onGutterMouseDown: /* @__PURE__ */ __name(function onGutterMouseDown(event, index) { + this.onResizeStart(event, index); + this.bindMouseListeners(); + }, "onGutterMouseDown"), + onGutterTouchStart: /* @__PURE__ */ __name(function onGutterTouchStart(event, index) { + this.onResizeStart(event, index); + this.bindTouchListeners(); + event.preventDefault(); + }, "onGutterTouchStart"), + onGutterTouchMove: /* @__PURE__ */ __name(function onGutterTouchMove(event) { + this.onResize(event); + event.preventDefault(); + }, "onGutterTouchMove"), + onGutterTouchEnd: /* @__PURE__ */ __name(function onGutterTouchEnd(event) { + this.onResizeEnd(event); + this.unbindTouchListeners(); + event.preventDefault(); + }, "onGutterTouchEnd"), + bindMouseListeners: /* @__PURE__ */ __name(function bindMouseListeners() { + var _this3 = this; + if (!this.mouseMoveListener) { + this.mouseMoveListener = function(event) { + return _this3.onResize(event); + }; + document.addEventListener("mousemove", this.mouseMoveListener); + } + if (!this.mouseUpListener) { + this.mouseUpListener = function(event) { + _this3.onResizeEnd(event); + _this3.unbindMouseListeners(); + }; + document.addEventListener("mouseup", this.mouseUpListener); + } + }, "bindMouseListeners"), + bindTouchListeners: /* @__PURE__ */ __name(function bindTouchListeners() { + var _this4 = this; + if (!this.touchMoveListener) { + this.touchMoveListener = function(event) { + return _this4.onResize(event.changedTouches[0]); + }; + document.addEventListener("touchmove", this.touchMoveListener); + } + if (!this.touchEndListener) { + this.touchEndListener = function(event) { + _this4.resizeEnd(event); + _this4.unbindTouchListeners(); + }; + document.addEventListener("touchend", this.touchEndListener); + } + }, "bindTouchListeners"), + validateResize: /* @__PURE__ */ __name(function validateResize(newPrevPanelSize, newNextPanelSize) { + if (newPrevPanelSize > 100 || newPrevPanelSize < 0) return false; + if (newNextPanelSize > 100 || newNextPanelSize < 0) return false; + var prevPanelMinSize = getVNodeProp(this.panels[this.prevPanelIndex], "minSize"); + if (this.panels[this.prevPanelIndex].props && prevPanelMinSize && prevPanelMinSize > newPrevPanelSize) { + return false; + } + var newPanelMinSize = getVNodeProp(this.panels[this.prevPanelIndex + 1], "minSize"); + if (this.panels[this.prevPanelIndex + 1].props && newPanelMinSize && newPanelMinSize > newNextPanelSize) { + return false; + } + return true; + }, "validateResize"), + unbindMouseListeners: /* @__PURE__ */ __name(function unbindMouseListeners() { + if (this.mouseMoveListener) { + document.removeEventListener("mousemove", this.mouseMoveListener); + this.mouseMoveListener = null; + } + if (this.mouseUpListener) { + document.removeEventListener("mouseup", this.mouseUpListener); + this.mouseUpListener = null; + } + }, "unbindMouseListeners"), + unbindTouchListeners: /* @__PURE__ */ __name(function unbindTouchListeners() { + if (this.touchMoveListener) { + document.removeEventListener("touchmove", this.touchMoveListener); + this.touchMoveListener = null; + } + if (this.touchEndListener) { + document.removeEventListener("touchend", this.touchEndListener); + this.touchEndListener = null; + } + }, "unbindTouchListeners"), + clear: /* @__PURE__ */ __name(function clear() { + this.dragging = false; + this.size = null; + this.startPos = null; + this.prevPanelElement = null; + this.nextPanelElement = null; + this.prevPanelSize = null; + this.nextPanelSize = null; + this.gutterElement = null; + this.prevPanelIndex = null; + }, "clear"), + isStateful: /* @__PURE__ */ __name(function isStateful() { + return this.stateKey != null; + }, "isStateful"), + getStorage: /* @__PURE__ */ __name(function getStorage() { + switch (this.stateStorage) { + case "local": + return window.localStorage; + case "session": + return window.sessionStorage; + default: + throw new Error(this.stateStorage + ' is not a valid value for the state storage, supported values are "local" and "session".'); + } + }, "getStorage"), + saveState: /* @__PURE__ */ __name(function saveState() { + if (isArray(this.panelSizes)) { + this.getStorage().setItem(this.stateKey, JSON.stringify(this.panelSizes)); + } + }, "saveState"), + restoreState: /* @__PURE__ */ __name(function restoreState() { + var _this5 = this; + var storage = this.getStorage(); + var stateString = storage.getItem(this.stateKey); + if (stateString) { + this.panelSizes = JSON.parse(stateString); + var children = _toConsumableArray$2(this.$el.children).filter(function(child) { + return child.getAttribute("data-pc-name") === "splitterpanel"; + }); + children.forEach(function(child, i) { + child.style.flexBasis = "calc(" + _this5.panelSizes[i] + "% - " + (_this5.panels.length - 1) * _this5.gutterSize + "px)"; + }); + return true; + } + return false; + }, "restoreState") + }, + computed: { + panels: /* @__PURE__ */ __name(function panels() { + var _this6 = this; + var panels2 = []; + this.$slots["default"]().forEach(function(child) { + if (_this6.isSplitterPanel(child)) { + panels2.push(child); + } else if (child.children instanceof Array) { + child.children.forEach(function(nestedChild) { + if (_this6.isSplitterPanel(nestedChild)) { + panels2.push(nestedChild); + } + }); + } + }); + return panels2; + }, "panels"), + gutterStyle: /* @__PURE__ */ __name(function gutterStyle() { + if (this.horizontal) return { + width: this.gutterSize + "px" + }; + else return { + height: this.gutterSize + "px" + }; + }, "gutterStyle"), + horizontal: /* @__PURE__ */ __name(function horizontal() { + return this.layout === "horizontal"; + }, "horizontal"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions() { + var _this$$parentInstance; + return { + context: { + nested: (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.nestedState + } + }; + }, "getPTOptions") + } +}; +var _hoisted_1$m = ["onMousedown", "onTouchstart", "onTouchmove", "onTouchend"]; +var _hoisted_2$j = ["aria-orientation", "aria-valuenow", "onKeydown"]; +function render$j(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + style: _ctx.sx("root"), + "data-p-resizing": false + }, _ctx.ptmi("root", $options.getPTOptions)), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.panels, function(panel, i) { + return openBlock(), createElementBlock(Fragment, { + key: i + }, [(openBlock(), createBlock(resolveDynamicComponent(panel), { + tabindex: "-1" + })), i !== $options.panels.length - 1 ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref_for: true, + ref: "gutter", + "class": _ctx.cx("gutter"), + role: "separator", + tabindex: "-1", + onMousedown: /* @__PURE__ */ __name(function onMousedown($event) { + return $options.onGutterMouseDown($event, i); + }, "onMousedown"), + onTouchstart: /* @__PURE__ */ __name(function onTouchstart($event) { + return $options.onGutterTouchStart($event, i); + }, "onTouchstart"), + onTouchmove: /* @__PURE__ */ __name(function onTouchmove($event) { + return $options.onGutterTouchMove($event, i); + }, "onTouchmove"), + onTouchend: /* @__PURE__ */ __name(function onTouchend($event) { + return $options.onGutterTouchEnd($event, i); + }, "onTouchend"), + "data-p-gutter-resizing": false + }, _ctx.ptm("gutter")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("gutterHandle"), + tabindex: "0", + style: [$options.gutterStyle], + "aria-orientation": _ctx.layout, + "aria-valuenow": $data.prevSize, + onKeyup: _cache[0] || (_cache[0] = function() { + return $options.onGutterKeyUp && $options.onGutterKeyUp.apply($options, arguments); + }), + onKeydown: /* @__PURE__ */ __name(function onKeydown2($event) { + return $options.onGutterKeyDown($event, i); + }, "onKeydown"), + ref_for: true + }, _ctx.ptm("gutterHandle")), null, 16, _hoisted_2$j)], 16, _hoisted_1$m)) : createCommentVNode("", true)], 64); + }), 128))], 16); +} +__name(render$j, "render$j"); +script$c.render = render$j; +var classes$9 = { + root: /* @__PURE__ */ __name(function root3(_ref) { + var instance = _ref.instance; + return ["p-splitterpanel", { + "p-splitterpanel-nested": instance.isNested + }]; + }, "root") +}; +var SplitterPanelStyle = BaseStyle.extend({ + name: "splitterpanel", + classes: classes$9 +}); +var script$1$9 = { + name: "BaseSplitterPanel", + "extends": script$e, + props: { + size: { + type: Number, + "default": null + }, + minSize: { + type: Number, + "default": null + } + }, + style: SplitterPanelStyle, + provide: /* @__PURE__ */ __name(function provide3() { + return { + $pcSplitterPanel: this, + $parentInstance: this + }; + }, "provide") +}; +var script$b = { + name: "SplitterPanel", + "extends": script$1$9, + inheritAttrs: false, + data: /* @__PURE__ */ __name(function data2() { + return { + nestedState: null + }; + }, "data"), + computed: { + isNested: /* @__PURE__ */ __name(function isNested() { + var _this = this; + return this.$slots["default"]().some(function(child) { + _this.nestedState = child.type.name === "Splitter" ? true : null; + return _this.nestedState; + }); + }, "isNested"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions2() { + return { + context: { + nested: this.isNested + } + }; + }, "getPTOptions") + } +}; +function render$i(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + ref: "container", + "class": _ctx.cx("root") + }, _ctx.ptmi("root", $options.getPTOptions)), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$i, "render$i"); +script$b.render = render$i; +const _sfc_main$q = /* @__PURE__ */ defineComponent({ + __name: "LiteGraphCanvasSplitterOverlay", + setup(__props) { + const settingStore = useSettingStore(); + const sidebarLocation = computed( + () => settingStore.get("Comfy.Sidebar.Location") + ); + const sidebarPanelVisible = computed( + () => useSidebarTabStore().activeSidebarTab !== null + ); + const bottomPanelVisible = computed( + () => useBottomPanelStore().bottomPanelVisible + ); + const activeSidebarTabId = computed( + () => useSidebarTabStore().activeSidebarTabId + ); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script$c), { + class: "splitter-overlay-root splitter-overlay", + "pt:gutter": sidebarPanelVisible.value ? "" : "hidden", + key: activeSidebarTabId.value, + stateKey: activeSidebarTabId.value, + stateStorage: "local" + }, { + default: withCtx(() => [ + sidebarLocation.value === "left" ? withDirectives((openBlock(), createBlock(unref(script$b), { + key: 0, + class: "side-bar-panel", + minSize: 10, + size: 20 + }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "side-bar-panel", {}, void 0, true) + ]), + _: 3 + }, 512)), [ + [vShow, sidebarPanelVisible.value] + ]) : createCommentVNode("", true), + createVNode(unref(script$b), { size: 100 }, { + default: withCtx(() => [ + createVNode(unref(script$c), { + class: "splitter-overlay max-w-full", + layout: "vertical", + "pt:gutter": bottomPanelVisible.value ? "" : "hidden", + stateKey: "bottom-panel-splitter", + stateStorage: "local" + }, { + default: withCtx(() => [ + createVNode(unref(script$b), { class: "graph-canvas-panel relative" }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "graph-canvas-panel", {}, void 0, true) + ]), + _: 3 + }), + withDirectives(createVNode(unref(script$b), { class: "bottom-panel" }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "bottom-panel", {}, void 0, true) + ]), + _: 3 + }, 512), [ + [vShow, bottomPanelVisible.value] + ]) + ]), + _: 3 + }, 8, ["pt:gutter"]) + ]), + _: 3 + }), + sidebarLocation.value === "right" ? withDirectives((openBlock(), createBlock(unref(script$b), { + key: 1, + class: "side-bar-panel", + minSize: 10, + size: 20 + }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "side-bar-panel", {}, void 0, true) + ]), + _: 3 + }, 512)), [ + [vShow, sidebarPanelVisible.value] + ]) : createCommentVNode("", true) + ]), + _: 3 + }, 8, ["pt:gutter", "stateKey"]); + }; + } +}); +const LiteGraphCanvasSplitterOverlay = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-e50caa15"]]); +var classes$8 = { + root: /* @__PURE__ */ __name(function root4(_ref) { + var instance = _ref.instance, props = _ref.props; + return ["p-tab", { + "p-tab-active": instance.active, + "p-disabled": props.disabled + }]; + }, "root") +}; +var TabStyle = BaseStyle.extend({ + name: "tab", + classes: classes$8 +}); +var script$1$8 = { + name: "BaseTab", + "extends": script$e, + props: { + value: { + type: [String, Number], + "default": void 0 + }, + disabled: { + type: Boolean, + "default": false + }, + as: { + type: [String, Object], + "default": "BUTTON" + }, + asChild: { + type: Boolean, + "default": false + } + }, + style: TabStyle, + provide: /* @__PURE__ */ __name(function provide4() { + return { + $pcTab: this, + $parentInstance: this + }; + }, "provide") +}; +var script$a = { + name: "Tab", + "extends": script$1$8, + inheritAttrs: false, + inject: ["$pcTabs", "$pcTabList"], + methods: { + onFocus: /* @__PURE__ */ __name(function onFocus() { + this.$pcTabs.selectOnFocus && this.changeActiveValue(); + }, "onFocus"), + onClick: /* @__PURE__ */ __name(function onClick() { + this.changeActiveValue(); + }, "onClick"), + onKeydown: /* @__PURE__ */ __name(function onKeydown(event) { + switch (event.code) { + case "ArrowRight": + this.onArrowRightKey(event); + break; + case "ArrowLeft": + this.onArrowLeftKey(event); + break; + case "Home": + this.onHomeKey(event); + break; + case "End": + this.onEndKey(event); + break; + case "PageDown": + this.onPageDownKey(event); + break; + case "PageUp": + this.onPageUpKey(event); + break; + case "Enter": + case "NumpadEnter": + case "Space": + this.onEnterKey(event); + break; + } + }, "onKeydown"), + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey(event) { + var nextTab = this.findNextTab(event.currentTarget); + nextTab ? this.changeFocusedTab(event, nextTab) : this.onHomeKey(event); + event.preventDefault(); + }, "onArrowRightKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey(event) { + var prevTab = this.findPrevTab(event.currentTarget); + prevTab ? this.changeFocusedTab(event, prevTab) : this.onEndKey(event); + event.preventDefault(); + }, "onArrowLeftKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey(event) { + var firstTab = this.findFirstTab(); + this.changeFocusedTab(event, firstTab); + event.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey(event) { + var lastTab = this.findLastTab(); + this.changeFocusedTab(event, lastTab); + event.preventDefault(); + }, "onEndKey"), + onPageDownKey: /* @__PURE__ */ __name(function onPageDownKey(event) { + this.scrollInView(this.findLastTab()); + event.preventDefault(); + }, "onPageDownKey"), + onPageUpKey: /* @__PURE__ */ __name(function onPageUpKey(event) { + this.scrollInView(this.findFirstTab()); + event.preventDefault(); + }, "onPageUpKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey(event) { + this.changeActiveValue(); + event.preventDefault(); + }, "onEnterKey"), + findNextTab: /* @__PURE__ */ __name(function findNextTab(tabElement) { + var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var element = selfCheck ? tabElement : tabElement.nextElementSibling; + return element ? getAttribute(element, "data-p-disabled") || getAttribute(element, "data-pc-section") === "inkbar" ? this.findNextTab(element) : findSingle(element, '[data-pc-name="tab"]') : null; + }, "findNextTab"), + findPrevTab: /* @__PURE__ */ __name(function findPrevTab(tabElement) { + var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var element = selfCheck ? tabElement : tabElement.previousElementSibling; + return element ? getAttribute(element, "data-p-disabled") || getAttribute(element, "data-pc-section") === "inkbar" ? this.findPrevTab(element) : findSingle(element, '[data-pc-name="tab"]') : null; + }, "findPrevTab"), + findFirstTab: /* @__PURE__ */ __name(function findFirstTab() { + return this.findNextTab(this.$pcTabList.$refs.content.firstElementChild, true); + }, "findFirstTab"), + findLastTab: /* @__PURE__ */ __name(function findLastTab() { + return this.findPrevTab(this.$pcTabList.$refs.content.lastElementChild, true); + }, "findLastTab"), + changeActiveValue: /* @__PURE__ */ __name(function changeActiveValue() { + this.$pcTabs.updateValue(this.value); + }, "changeActiveValue"), + changeFocusedTab: /* @__PURE__ */ __name(function changeFocusedTab(event, element) { + focus(element); + this.scrollInView(element); + }, "changeFocusedTab"), + scrollInView: /* @__PURE__ */ __name(function scrollInView(element) { + var _element$scrollIntoVi; + element === null || element === void 0 || (_element$scrollIntoVi = element.scrollIntoView) === null || _element$scrollIntoVi === void 0 || _element$scrollIntoVi.call(element, { + block: "nearest" + }); + }, "scrollInView") + }, + computed: { + active: /* @__PURE__ */ __name(function active() { + var _this$$pcTabs; + return equals((_this$$pcTabs = this.$pcTabs) === null || _this$$pcTabs === void 0 ? void 0 : _this$$pcTabs.d_value, this.value); + }, "active"), + id: /* @__PURE__ */ __name(function id() { + var _this$$pcTabs2; + return "".concat((_this$$pcTabs2 = this.$pcTabs) === null || _this$$pcTabs2 === void 0 ? void 0 : _this$$pcTabs2.id, "_tab_").concat(this.value); + }, "id"), + ariaControls: /* @__PURE__ */ __name(function ariaControls() { + var _this$$pcTabs3; + return "".concat((_this$$pcTabs3 = this.$pcTabs) === null || _this$$pcTabs3 === void 0 ? void 0 : _this$$pcTabs3.id, "_tabpanel_").concat(this.value); + }, "ariaControls"), + attrs: /* @__PURE__ */ __name(function attrs() { + return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi("root", this.ptParams)); + }, "attrs"), + asAttrs: /* @__PURE__ */ __name(function asAttrs() { + return this.as === "BUTTON" ? { + type: "button", + disabled: this.disabled + } : void 0; + }, "asAttrs"), + a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs() { + return { + id: this.id, + tabindex: this.active ? this.$pcTabs.tabindex : -1, + role: "tab", + "aria-selected": this.active, + "aria-controls": this.ariaControls, + "data-pc-name": "tab", + "data-p-disabled": this.disabled, + "data-p-active": this.active, + onFocus: this.onFocus, + onKeydown: this.onKeydown + }; + }, "a11yAttrs"), + ptParams: /* @__PURE__ */ __name(function ptParams() { + return { + context: { + active: this.active + } + }; + }, "ptParams") + }, + directives: { + ripple: Ripple + } +}; +function render$h(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return !_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ + key: 0, + "class": _ctx.cx("root"), + onClick: $options.onClick + }, $options.attrs), { + "default": withCtx(function() { + return [renderSlot(_ctx.$slots, "default")]; + }), + _: 3 + }, 16, ["class", "onClick"])), [[_directive_ripple]]) : renderSlot(_ctx.$slots, "default", { + key: 1, + "class": normalizeClass(_ctx.cx("root")), + active: $options.active, + a11yAttrs: $options.a11yAttrs, + onClick: $options.onClick + }); +} +__name(render$h, "render$h"); +script$a.render = render$h; +var classes$7 = { + root: "p-tablist", + content: /* @__PURE__ */ __name(function content(_ref) { + var instance = _ref.instance; + return ["p-tablist-content", { + "p-tablist-viewport": instance.$pcTabs.scrollable + }]; + }, "content"), + tabList: "p-tablist-tab-list", + activeBar: "p-tablist-active-bar", + prevButton: "p-tablist-prev-button p-tablist-nav-button", + nextButton: "p-tablist-next-button p-tablist-nav-button" +}; +var TabListStyle = BaseStyle.extend({ + name: "tablist", + classes: classes$7 +}); +var script$1$7 = { + name: "BaseTabList", + "extends": script$e, + props: {}, + style: TabListStyle, + provide: /* @__PURE__ */ __name(function provide5() { + return { + $pcTabList: this, + $parentInstance: this + }; + }, "provide") +}; +var script$9 = { + name: "TabList", + "extends": script$1$7, + inheritAttrs: false, + inject: ["$pcTabs"], + data: /* @__PURE__ */ __name(function data3() { + return { + isPrevButtonEnabled: false, + isNextButtonEnabled: true + }; + }, "data"), + resizeObserver: void 0, + watch: { + showNavigators: /* @__PURE__ */ __name(function showNavigators(newValue) { + newValue ? this.bindResizeObserver() : this.unbindResizeObserver(); + }, "showNavigators"), + activeValue: { + flush: "post", + handler: /* @__PURE__ */ __name(function handler() { + this.updateInkBar(); + }, "handler") + } + }, + mounted: /* @__PURE__ */ __name(function mounted2() { + var _this = this; + this.$nextTick(function() { + _this.updateInkBar(); + }); + if (this.showNavigators) { + this.updateButtonState(); + this.bindResizeObserver(); + } + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated() { + this.showNavigators && this.updateButtonState(); + }, "updated"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount2() { + this.unbindResizeObserver(); + }, "beforeUnmount"), + methods: { + onScroll: /* @__PURE__ */ __name(function onScroll(event) { + this.showNavigators && this.updateButtonState(); + event.preventDefault(); + }, "onScroll"), + onPrevButtonClick: /* @__PURE__ */ __name(function onPrevButtonClick() { + var content2 = this.$refs.content; + var width = getWidth(content2); + var pos = content2.scrollLeft - width; + content2.scrollLeft = pos <= 0 ? 0 : pos; + }, "onPrevButtonClick"), + onNextButtonClick: /* @__PURE__ */ __name(function onNextButtonClick() { + var content2 = this.$refs.content; + var width = getWidth(content2) - this.getVisibleButtonWidths(); + var pos = content2.scrollLeft + width; + var lastPos = content2.scrollWidth - width; + content2.scrollLeft = pos >= lastPos ? lastPos : pos; + }, "onNextButtonClick"), + bindResizeObserver: /* @__PURE__ */ __name(function bindResizeObserver() { + var _this2 = this; + this.resizeObserver = new ResizeObserver(function() { + return _this2.updateButtonState(); + }); + this.resizeObserver.observe(this.$refs.list); + }, "bindResizeObserver"), + unbindResizeObserver: /* @__PURE__ */ __name(function unbindResizeObserver() { + var _this$resizeObserver; + (_this$resizeObserver = this.resizeObserver) === null || _this$resizeObserver === void 0 || _this$resizeObserver.unobserve(this.$refs.list); + this.resizeObserver = void 0; + }, "unbindResizeObserver"), + updateInkBar: /* @__PURE__ */ __name(function updateInkBar() { + var _this$$refs = this.$refs, content2 = _this$$refs.content, inkbar = _this$$refs.inkbar, tabs = _this$$refs.tabs; + var activeTab = findSingle(content2, '[data-pc-name="tab"][data-p-active="true"]'); + if (this.$pcTabs.isVertical()) { + inkbar.style.height = getOuterHeight(activeTab) + "px"; + inkbar.style.top = getOffset(activeTab).top - getOffset(tabs).top + "px"; + } else { + inkbar.style.width = getOuterWidth(activeTab) + "px"; + inkbar.style.left = getOffset(activeTab).left - getOffset(tabs).left + "px"; + } + }, "updateInkBar"), + updateButtonState: /* @__PURE__ */ __name(function updateButtonState() { + var _this$$refs2 = this.$refs, list = _this$$refs2.list, content2 = _this$$refs2.content; + var scrollLeft = content2.scrollLeft, scrollTop = content2.scrollTop, scrollWidth = content2.scrollWidth, scrollHeight = content2.scrollHeight, offsetWidth = content2.offsetWidth, offsetHeight = content2.offsetHeight; + var _ref = [getWidth(content2), getHeight(content2)], width = _ref[0], height = _ref[1]; + if (this.$pcTabs.isVertical()) { + this.isPrevButtonEnabled = scrollTop !== 0; + this.isNextButtonEnabled = list.offsetHeight >= offsetHeight && parseInt(scrollTop) !== scrollHeight - height; + } else { + this.isPrevButtonEnabled = scrollLeft !== 0; + this.isNextButtonEnabled = list.offsetWidth >= offsetWidth && parseInt(scrollLeft) !== scrollWidth - width; + } + }, "updateButtonState"), + getVisibleButtonWidths: /* @__PURE__ */ __name(function getVisibleButtonWidths() { + var _this$$refs3 = this.$refs, prevBtn = _this$$refs3.prevBtn, nextBtn = _this$$refs3.nextBtn; + return [prevBtn, nextBtn].reduce(function(acc, el) { + return el ? acc + getWidth(el) : acc; + }, 0); + }, "getVisibleButtonWidths") + }, + computed: { + templates: /* @__PURE__ */ __name(function templates() { + return this.$pcTabs.$slots; + }, "templates"), + activeValue: /* @__PURE__ */ __name(function activeValue() { + return this.$pcTabs.d_value; + }, "activeValue"), + showNavigators: /* @__PURE__ */ __name(function showNavigators2() { + return this.$pcTabs.scrollable && this.$pcTabs.showNavigators; + }, "showNavigators"), + prevButtonAriaLabel: /* @__PURE__ */ __name(function prevButtonAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.previous : void 0; + }, "prevButtonAriaLabel"), + nextButtonAriaLabel: /* @__PURE__ */ __name(function nextButtonAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.next : void 0; + }, "nextButtonAriaLabel") + }, + components: { + ChevronLeftIcon: script$f, + ChevronRightIcon: script$g + }, + directives: { + ripple: Ripple + } +}; +var _hoisted_1$l = ["aria-label", "tabindex"]; +var _hoisted_2$i = ["aria-orientation"]; +var _hoisted_3$g = ["aria-label", "tabindex"]; +function render$g(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("div", mergeProps({ + ref: "list", + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [$options.showNavigators && $data.isPrevButtonEnabled ? withDirectives((openBlock(), createElementBlock("button", mergeProps({ + key: 0, + ref: "prevButton", + "class": _ctx.cx("prevButton"), + "aria-label": $options.prevButtonAriaLabel, + tabindex: $options.$pcTabs.tabindex, + onClick: _cache[0] || (_cache[0] = function() { + return $options.onPrevButtonClick && $options.onPrevButtonClick.apply($options, arguments); + }) + }, _ctx.ptm("prevButton"), { + "data-pc-group-section": "navigator" + }), [(openBlock(), createBlock(resolveDynamicComponent($options.templates.previcon || "ChevronLeftIcon"), mergeProps({ + "aria-hidden": "true" + }, _ctx.ptm("prevIcon")), null, 16))], 16, _hoisted_1$l)), [[_directive_ripple]]) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + ref: "content", + "class": _ctx.cx("content"), + onScroll: _cache[1] || (_cache[1] = function() { + return $options.onScroll && $options.onScroll.apply($options, arguments); + }) + }, _ctx.ptm("content")), [createBaseVNode("div", mergeProps({ + ref: "tabs", + "class": _ctx.cx("tabList"), + role: "tablist", + "aria-orientation": $options.$pcTabs.orientation || "horizontal" + }, _ctx.ptm("tabList")), [renderSlot(_ctx.$slots, "default"), createBaseVNode("span", mergeProps({ + ref: "inkbar", + "class": _ctx.cx("activeBar"), + role: "presentation", + "aria-hidden": "true" + }, _ctx.ptm("activeBar")), null, 16)], 16, _hoisted_2$i)], 16), $options.showNavigators && $data.isNextButtonEnabled ? withDirectives((openBlock(), createElementBlock("button", mergeProps({ + key: 1, + ref: "nextButton", + "class": _ctx.cx("nextButton"), + "aria-label": $options.nextButtonAriaLabel, + tabindex: $options.$pcTabs.tabindex, + onClick: _cache[2] || (_cache[2] = function() { + return $options.onNextButtonClick && $options.onNextButtonClick.apply($options, arguments); + }) + }, _ctx.ptm("nextButton"), { + "data-pc-group-section": "navigator" + }), [(openBlock(), createBlock(resolveDynamicComponent($options.templates.nexticon || "ChevronRightIcon"), mergeProps({ + "aria-hidden": "true" + }, _ctx.ptm("nextIcon")), null, 16))], 16, _hoisted_3$g)), [[_directive_ripple]]) : createCommentVNode("", true)], 16); +} +__name(render$g, "render$g"); +script$9.render = render$g; +const _sfc_main$p = /* @__PURE__ */ defineComponent({ + __name: "ExtensionSlot", + props: { + extension: {} + }, + setup(__props) { + const props = __props; + const mountCustomExtension = /* @__PURE__ */ __name((extension, el) => { + extension.render(el); + }, "mountCustomExtension"); + onBeforeUnmount(() => { + if (props.extension.type === "custom" && props.extension.destroy) { + props.extension.destroy(); + } + }); + return (_ctx, _cache) => { + return _ctx.extension.type === "vue" ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.extension.component), { key: 0 })) : (openBlock(), createElementBlock("div", { + key: 1, + ref: /* @__PURE__ */ __name((el) => { + if (el) + mountCustomExtension( + props.extension, + el + ); + }, "ref") + }, null, 512)); + }; + } +}); +const _hoisted_1$k = { class: "flex flex-col h-full" }; +const _hoisted_2$h = { class: "w-full flex justify-between" }; +const _hoisted_3$f = { class: "tabs-container" }; +const _hoisted_4$5 = { class: "font-bold" }; +const _hoisted_5$4 = { class: "flex-grow h-0" }; +const _sfc_main$o = /* @__PURE__ */ defineComponent({ + __name: "BottomPanel", + setup(__props) { + const bottomPanelStore = useBottomPanelStore(); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$k, [ + createVNode(unref(script$h), { + value: unref(bottomPanelStore).activeBottomPanelTabId, + "onUpdate:value": _cache[1] || (_cache[1] = ($event) => unref(bottomPanelStore).activeBottomPanelTabId = $event) + }, { + default: withCtx(() => [ + createVNode(unref(script$9), { "pt:tabList": "border-none" }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_2$h, [ + createBaseVNode("div", _hoisted_3$f, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(bottomPanelStore).bottomPanelTabs, (tab) => { + return openBlock(), createBlock(unref(script$a), { + key: tab.id, + value: tab.id, + class: "p-3 border-none" + }, { + default: withCtx(() => [ + createBaseVNode("span", _hoisted_4$5, toDisplayString(tab.title.toUpperCase()), 1) + ]), + _: 2 + }, 1032, ["value"]); + }), 128)) + ]), + createVNode(unref(script$d), { + class: "justify-self-end", + icon: "pi pi-times", + severity: "secondary", + size: "small", + text: "", + onClick: _cache[0] || (_cache[0] = ($event) => unref(bottomPanelStore).bottomPanelVisible = false) + }) + ]) + ]), + _: 1 + }) + ]), + _: 1 + }, 8, ["value"]), + createBaseVNode("div", _hoisted_5$4, [ + unref(bottomPanelStore).bottomPanelVisible && unref(bottomPanelStore).activeBottomPanelTab ? (openBlock(), createBlock(_sfc_main$p, { + key: 0, + extension: unref(bottomPanelStore).activeBottomPanelTab + }, null, 8, ["extension"])) : createCommentVNode("", true) + ]) + ]); + }; + } +}); +const _hoisted_1$j = { + viewBox: "0 0 1024 1024", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$g = /* @__PURE__ */ createBaseVNode("path", { + fill: "currentColor", + d: "M921.088 103.232L584.832 889.024L465.52 544.512L121.328 440.48zM1004.46.769c-6.096 0-13.52 1.728-22.096 5.36L27.708 411.2c-34.383 14.592-36.56 42.704-4.847 62.464l395.296 123.584l129.36 403.264c9.28 15.184 20.496 22.72 31.263 22.72c11.936 0 23.296-9.152 31.04-27.248l408.272-953.728C1029.148 16.368 1022.86.769 1004.46.769" +}, null, -1); +const _hoisted_3$e = [ + _hoisted_2$g +]; +function render$f(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$j, [..._hoisted_3$e]); +} +__name(render$f, "render$f"); +const __unplugin_components_1$2 = markRaw({ name: "simple-line-icons-cursor", render: render$f }); +const _hoisted_1$i = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$f = /* @__PURE__ */ createBaseVNode("path", { + fill: "currentColor", + d: "M10.05 23q-.75 0-1.4-.337T7.575 21.7L1.2 12.375l.6-.575q.475-.475 1.125-.55t1.175.3L7 13.575V4q0-.425.288-.712T8 3t.713.288T9 4v13.425l-3.7-2.6l3.925 5.725q.125.2.35.325t.475.125H17q.825 0 1.413-.587T19 19V5q0-.425.288-.712T20 4t.713.288T21 5v14q0 1.65-1.175 2.825T17 23zM11 12V2q0-.425.288-.712T12 1t.713.288T13 2v10zm4 0V3q0-.425.288-.712T16 2t.713.288T17 3v9zm-2.85 4.5" +}, null, -1); +const _hoisted_3$d = [ + _hoisted_2$f +]; +function render$e(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$i, [..._hoisted_3$d]); +} +__name(render$e, "render$e"); +const __unplugin_components_0$2 = markRaw({ name: "material-symbols-pan-tool-outline", render: render$e }); +var theme$6 = /* @__PURE__ */ __name(function theme2(_ref) { + _ref.dt; + return "\n.p-buttongroup .p-button {\n margin: 0;\n}\n\n.p-buttongroup .p-button:not(:last-child),\n.p-buttongroup .p-button:not(:last-child):hover {\n border-right: 0 none;\n}\n\n.p-buttongroup .p-button:not(:first-of-type):not(:last-of-type) {\n border-radius: 0;\n}\n\n.p-buttongroup .p-button:first-of-type:not(:only-of-type) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.p-buttongroup .p-button:last-of-type:not(:only-of-type) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.p-buttongroup .p-button:focus {\n position: relative;\n z-index: 1;\n}\n"; +}, "theme"); +var classes$6 = { + root: "p-buttongroup p-component" +}; +var ButtonGroupStyle = BaseStyle.extend({ + name: "buttongroup", + theme: theme$6, + classes: classes$6 +}); +var script$1$6 = { + name: "BaseButtonGroup", + "extends": script$e, + style: ButtonGroupStyle, + provide: /* @__PURE__ */ __name(function provide6() { + return { + $pcButtonGroup: this, + $parentInstance: this + }; + }, "provide") +}; +var script$8 = { + name: "ButtonGroup", + "extends": script$1$6, + inheritAttrs: false +}; +function render$d(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("span", mergeProps({ + "class": _ctx.cx("root"), + role: "group" + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$d, "render$d"); +script$8.render = render$d; +const useTitleEditorStore = defineStore("titleEditor", () => { + const titleEditorTarget = shallowRef(null); + return { + titleEditorTarget + }; +}); +const useCanvasStore = defineStore("canvas", () => { + const canvas = shallowRef(null); + return { + canvas + }; +}); +const _sfc_main$n = /* @__PURE__ */ defineComponent({ + __name: "GraphCanvasMenu", + setup(__props) { + const { t } = useI18n(); + const commandStore = useCommandStore(); + const canvasStore = useCanvasStore(); + const settingStore = useSettingStore(); + const linkHidden = computed( + () => settingStore.get("Comfy.LinkRenderMode") === LiteGraph.HIDDEN_LINK + ); + let interval = null; + const repeat2 = /* @__PURE__ */ __name((command) => { + if (interval) return; + const cmd = /* @__PURE__ */ __name(() => commandStore.execute(command), "cmd"); + cmd(); + interval = window.setInterval(cmd, 100); + }, "repeat"); + const stopRepeat = /* @__PURE__ */ __name(() => { + if (interval) { + clearInterval(interval); + interval = null; + } + }, "stopRepeat"); + return (_ctx, _cache) => { + const _component_i_material_symbols58pan_tool_outline = __unplugin_components_0$2; + const _component_i_simple_line_icons58cursor = __unplugin_components_1$2; + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createBlock(unref(script$8), { class: "p-buttongroup-vertical absolute bottom-[10px] right-[10px] z-[1000] pointer-events-auto" }, { + default: withCtx(() => [ + withDirectives(createVNode(unref(script$d), { + severity: "secondary", + icon: "pi pi-plus", + onMousedown: _cache[0] || (_cache[0] = ($event) => repeat2("Comfy.Canvas.ZoomIn")), + onMouseup: stopRepeat + }, null, 512), [ + [ + _directive_tooltip, + unref(t)("graphCanvasMenu.zoomIn"), + void 0, + { left: true } + ] + ]), + withDirectives(createVNode(unref(script$d), { + severity: "secondary", + icon: "pi pi-minus", + onMousedown: _cache[1] || (_cache[1] = ($event) => repeat2("Comfy.Canvas.ZoomOut")), + onMouseup: stopRepeat + }, null, 512), [ + [ + _directive_tooltip, + unref(t)("graphCanvasMenu.zoomOut"), + void 0, + { left: true } + ] + ]), + withDirectives(createVNode(unref(script$d), { + severity: "secondary", + icon: "pi pi-expand", + onClick: _cache[2] || (_cache[2] = () => unref(commandStore).execute("Comfy.Canvas.FitView")) + }, null, 512), [ + [ + _directive_tooltip, + unref(t)("graphCanvasMenu.fitView"), + void 0, + { left: true } + ] + ]), + withDirectives((openBlock(), createBlock(unref(script$d), { + severity: "secondary", + onClick: _cache[3] || (_cache[3] = () => unref(commandStore).execute("Comfy.Canvas.ToggleLock")) + }, { + icon: withCtx(() => [ + unref(canvasStore).canvas?.read_only ? (openBlock(), createBlock(_component_i_material_symbols58pan_tool_outline, { key: 0 })) : (openBlock(), createBlock(_component_i_simple_line_icons58cursor, { key: 1 })) + ]), + _: 1 + })), [ + [ + _directive_tooltip, + unref(t)( + "graphCanvasMenu." + (unref(canvasStore).canvas?.read_only ? "panMode" : "selectMode") + ) + " (Space)", + void 0, + { left: true } + ] + ]), + withDirectives(createVNode(unref(script$d), { + severity: "secondary", + icon: linkHidden.value ? "pi pi-eye-slash" : "pi pi-eye", + onClick: _cache[4] || (_cache[4] = () => unref(commandStore).execute("Comfy.Canvas.ToggleLinkVisibility")), + "data-testid": "toggle-link-visibility-button" + }, null, 8, ["icon"]), [ + [ + _directive_tooltip, + unref(t)("graphCanvasMenu.toggleLinkVisibility"), + void 0, + { left: true } + ] + ]) + ]), + _: 1 + }); + }; + } +}); +const GraphCanvasMenu = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-cf40dd39"]]); +const _sfc_main$m = /* @__PURE__ */ defineComponent({ + __name: "NodeBadge", + setup(__props) { + const settingStore = useSettingStore(); + const colorPaletteStore = useColorPaletteStore(); + const nodeSourceBadgeMode = computed( + () => settingStore.get("Comfy.NodeBadge.NodeSourceBadgeMode") + ); + const nodeIdBadgeMode = computed( + () => settingStore.get("Comfy.NodeBadge.NodeIdBadgeMode") + ); + const nodeLifeCycleBadgeMode = computed( + () => settingStore.get("Comfy.NodeBadge.NodeLifeCycleBadgeMode") + ); + watch([nodeSourceBadgeMode, nodeIdBadgeMode, nodeLifeCycleBadgeMode], () => { + app.graph?.setDirtyCanvas(true, true); + }); + const nodeDefStore = useNodeDefStore(); + function badgeTextVisible(nodeDef, badgeMode) { + return !(badgeMode === NodeBadgeMode.None || nodeDef?.isCoreNode && badgeMode === NodeBadgeMode.HideBuiltIn); + } + __name(badgeTextVisible, "badgeTextVisible"); + onMounted(() => { + app.registerExtension({ + name: "Comfy.NodeBadge", + nodeCreated(node) { + node.badgePosition = BadgePosition.TopRight; + const badge = computed(() => { + const nodeDef = nodeDefStore.fromLGraphNode(node); + return new LGraphBadge({ + text: _.truncate( + [ + badgeTextVisible(nodeDef, nodeIdBadgeMode.value) ? `#${node.id}` : "", + badgeTextVisible(nodeDef, nodeLifeCycleBadgeMode.value) ? nodeDef?.nodeLifeCycleBadgeText ?? "" : "", + badgeTextVisible(nodeDef, nodeSourceBadgeMode.value) ? nodeDef?.nodeSource?.badgeText ?? "" : "" + ].filter((s) => s.length > 0).join(" "), + { + length: 31 + } + ), + fgColor: colorPaletteStore.completedActivePalette.colors.litegraph_base.BADGE_FG_COLOR, + bgColor: colorPaletteStore.completedActivePalette.colors.litegraph_base.BADGE_BG_COLOR + }); + }); + node.badges.push(() => badge.value); + } + }); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div"); + }; + } +}); +const _sfc_main$l = /* @__PURE__ */ defineComponent({ + __name: "NodeTooltip", + setup(__props) { + let idleTimeout; + const nodeDefStore = useNodeDefStore(); + const tooltipRef = ref(); + const tooltipText = ref(""); + const left = ref(); + const top = ref(); + const hideTooltip = /* @__PURE__ */ __name(() => tooltipText.value = null, "hideTooltip"); + const showTooltip = /* @__PURE__ */ __name(async (tooltip) => { + if (!tooltip) return; + left.value = app.canvas.mouse[0] + "px"; + top.value = app.canvas.mouse[1] + "px"; + tooltipText.value = tooltip; + await nextTick(); + const rect = tooltipRef.value.getBoundingClientRect(); + if (rect.right > window.innerWidth) { + left.value = app.canvas.mouse[0] - rect.width + "px"; + } + if (rect.top < 0) { + top.value = app.canvas.mouse[1] + rect.height + "px"; + } + }, "showTooltip"); + const onIdle = /* @__PURE__ */ __name(() => { + const { canvas } = app; + const node = canvas.node_over; + if (!node) return; + const ctor = node.constructor; + const nodeDef = nodeDefStore.nodeDefsByName[node.type]; + if (ctor.title_mode !== LiteGraph.NO_TITLE && canvas.graph_mouse[1] < node.pos[1]) { + return showTooltip(nodeDef.description); + } + if (node.flags?.collapsed) return; + const inputSlot = canvas.isOverNodeInput( + node, + canvas.graph_mouse[0], + canvas.graph_mouse[1], + [0, 0] + ); + if (inputSlot !== -1) { + const inputName = node.inputs[inputSlot].name; + const translatedTooltip = st( + `nodeDefs.${normalizeI18nKey(node.type)}.inputs.${normalizeI18nKey(inputName)}.tooltip`, + nodeDef.inputs.getInput(inputName)?.tooltip + ); + return showTooltip(translatedTooltip); + } + const outputSlot = canvas.isOverNodeOutput( + node, + canvas.graph_mouse[0], + canvas.graph_mouse[1], + [0, 0] + ); + if (outputSlot !== -1) { + const translatedTooltip = st( + `nodeDefs.${normalizeI18nKey(node.type)}.outputs.${outputSlot}.tooltip`, + nodeDef.outputs.all?.[outputSlot]?.tooltip + ); + return showTooltip(translatedTooltip); + } + const widget = app.canvas.getWidgetAtCursor(); + if (widget && !widget.element) { + const translatedTooltip = st( + `nodeDefs.${normalizeI18nKey(node.type)}.inputs.${normalizeI18nKey(widget.name)}.tooltip`, + nodeDef.inputs.getInput(widget.name)?.tooltip + ); + return showTooltip(widget.tooltip ?? translatedTooltip); + } + }, "onIdle"); + const onMouseMove = /* @__PURE__ */ __name((e) => { + hideTooltip(); + clearTimeout(idleTimeout); + if (e.target.nodeName !== "CANVAS") return; + idleTimeout = window.setTimeout(onIdle, 500); + }, "onMouseMove"); + useEventListener(window, "mousemove", onMouseMove); + useEventListener(window, "click", hideTooltip); + return (_ctx, _cache) => { + return tooltipText.value ? (openBlock(), createElementBlock("div", { + key: 0, + ref_key: "tooltipRef", + ref: tooltipRef, + class: "node-tooltip", + style: normalizeStyle({ left: left.value, top: top.value }) + }, toDisplayString(tooltipText.value), 5)) : createCommentVNode("", true); + }; + } +}); +const NodeTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-46859edf"]]); +const _sfc_main$k = /* @__PURE__ */ defineComponent({ + __name: "TitleEditor", + setup(__props) { + const settingStore = useSettingStore(); + const showInput = ref(false); + const editedTitle = ref(""); + const inputStyle = ref({ + position: "fixed", + left: "0px", + top: "0px", + width: "200px", + height: "20px", + fontSize: "12px" + }); + const titleEditorStore = useTitleEditorStore(); + const canvasStore = useCanvasStore(); + const previousCanvasDraggable = ref(true); + const onEdit = /* @__PURE__ */ __name((newValue) => { + if (titleEditorStore.titleEditorTarget && newValue.trim() !== "") { + titleEditorStore.titleEditorTarget.title = newValue.trim(); + app.graph.setDirtyCanvas(true, true); + } + showInput.value = false; + titleEditorStore.titleEditorTarget = null; + canvasStore.canvas.allow_dragcanvas = previousCanvasDraggable.value; + }, "onEdit"); + watch( + () => titleEditorStore.titleEditorTarget, + (target) => { + if (target === null) { + return; + } + editedTitle.value = target.title; + showInput.value = true; + previousCanvasDraggable.value = canvasStore.canvas.allow_dragcanvas; + canvasStore.canvas.allow_dragcanvas = false; + if (target instanceof LGraphGroup) { + const group = target; + const [x, y] = group.pos; + const [w, h] = group.size; + const [left, top] = app.canvasPosToClientPos([x, y]); + inputStyle.value.left = `${left}px`; + inputStyle.value.top = `${top}px`; + const width = w * app.canvas.ds.scale; + const height = group.titleHeight * app.canvas.ds.scale; + inputStyle.value.width = `${width}px`; + inputStyle.value.height = `${height}px`; + const fontSize = group.font_size * app.canvas.ds.scale; + inputStyle.value.fontSize = `${fontSize}px`; + } else if (target instanceof LGraphNode) { + const node = target; + const [x, y] = node.getBounding(); + const canvasWidth = node.width; + const canvasHeight = LiteGraph.NODE_TITLE_HEIGHT; + const [left, top] = app.canvasPosToClientPos([x, y]); + inputStyle.value.left = `${left}px`; + inputStyle.value.top = `${top}px`; + const width = canvasWidth * app.canvas.ds.scale; + const height = canvasHeight * app.canvas.ds.scale; + inputStyle.value.width = `${width}px`; + inputStyle.value.height = `${height}px`; + const fontSize = 12 * app.canvas.ds.scale; + inputStyle.value.fontSize = `${fontSize}px`; + } + } + ); + const canvasEventHandler = /* @__PURE__ */ __name((event) => { + if (event.detail.subType === "group-double-click") { + if (!settingStore.get("Comfy.Group.DoubleClickTitleToEdit")) { + return; + } + const group = event.detail.group; + const [x, y] = group.pos; + const e = event.detail.originalEvent; + const relativeY = e.canvasY - y; + if (relativeY <= group.titleHeight) { + titleEditorStore.titleEditorTarget = group; + } + } else if (event.detail.subType === "node-double-click") { + if (!settingStore.get("Comfy.Node.DoubleClickTitleToEdit")) { + return; + } + const node = event.detail.node; + const [x, y] = node.pos; + const e = event.detail.originalEvent; + const relativeY = e.canvasY - y; + if (relativeY <= 0) { + titleEditorStore.titleEditorTarget = node; + } + } + }, "canvasEventHandler"); + useEventListener(document, "litegraph:canvas", canvasEventHandler); + return (_ctx, _cache) => { + return showInput.value ? (openBlock(), createElementBlock("div", { + key: 0, + class: "group-title-editor node-title-editor", + style: normalizeStyle(inputStyle.value) + }, [ + createVNode(EditableText, { + isEditing: showInput.value, + modelValue: editedTitle.value, + onEdit + }, null, 8, ["isEditing", "modelValue"]) + ], 4)) : createCommentVNode("", true); + }; + } +}); +const TitleEditor = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-12d3fd12"]]); +const useSearchBoxStore = defineStore("searchBox", () => { + const visible = ref(false); + function toggleVisible() { + visible.value = !visible.value; + } + __name(toggleVisible, "toggleVisible"); + return { + visible, + toggleVisible + }; +}); +class ConnectingLinkImpl { + static { + __name(this, "ConnectingLinkImpl"); + } + constructor(node, slot, input, output, pos, afterRerouteId) { + this.node = node; + this.slot = slot; + this.input = input; + this.output = output; + this.pos = pos; + this.afterRerouteId = afterRerouteId; + } + static createFromPlainObject(obj) { + return new ConnectingLinkImpl( + obj.node, + obj.slot, + obj.input, + obj.output, + obj.pos, + obj.afterRerouteId + ); + } + get type() { + const result = this.input ? this.input.type : this.output?.type ?? null; + return result === -1 ? null : result; + } + /** + * Which slot type is release and need to be reconnected. + * - 'output' means we need a new node's outputs slot to connect with this link + */ + get releaseSlotType() { + return this.output ? "input" : "output"; + } + connectTo(newNode) { + const newNodeSlots = this.releaseSlotType === "output" ? newNode.outputs : newNode.inputs; + if (!newNodeSlots) return; + const newNodeSlot = newNodeSlots.findIndex( + (slot) => LiteGraph.isValidConnection(slot.type, this.type) + ); + if (newNodeSlot === -1) { + console.warn( + `Could not find slot with type ${this.type} on node ${newNode.title}. This should never happen` + ); + return; + } + if (this.releaseSlotType === "input") { + this.node.connect(this.slot, newNode, newNodeSlot, this.afterRerouteId); + } else { + newNode.connect(newNodeSlot, this.node, this.slot, this.afterRerouteId); + } + } +} +var theme$5 = /* @__PURE__ */ __name(function theme3(_ref) { + var dt = _ref.dt; + return "\n.p-autocomplete {\n display: inline-flex;\n}\n\n.p-autocomplete-loader {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n right: ".concat(dt("autocomplete.padding.x"), ";\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-loader {\n right: calc(").concat(dt("autocomplete.dropdown.width"), " + ").concat(dt("autocomplete.padding.x"), ");\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input {\n flex: 1 1 auto;\n width: 1%;\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input,\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input-multiple {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.p-autocomplete-dropdown {\n cursor: pointer;\n display: inline-flex;\n cursor: pointer;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: ").concat(dt("autocomplete.dropdown.width"), ";\n border-top-right-radius: ").concat(dt("autocomplete.dropdown.border.radius"), ";\n border-bottom-right-radius: ").concat(dt("autocomplete.dropdown.border.radius"), ";\n background: ").concat(dt("autocomplete.dropdown.background"), ";\n border: 1px solid ").concat(dt("autocomplete.dropdown.border.color"), ";\n border-left: 0 none;\n color: ").concat(dt("autocomplete.dropdown.color"), ";\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ", outline-color ").concat(dt("autocomplete.transition.duration"), ", box-shadow ").concat(dt("autocomplete.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-autocomplete-dropdown:not(:disabled):hover {\n background: ").concat(dt("autocomplete.dropdown.hover.background"), ";\n border-color: ").concat(dt("autocomplete.dropdown.hover.border.color"), ";\n color: ").concat(dt("autocomplete.dropdown.hover.color"), ";\n}\n\n.p-autocomplete-dropdown:not(:disabled):active {\n background: ").concat(dt("autocomplete.dropdown.active.background"), ";\n border-color: ").concat(dt("autocomplete.dropdown.active.border.color"), ";\n color: ").concat(dt("autocomplete.dropdown.active.color"), ";\n}\n\n.p-autocomplete-dropdown:focus-visible {\n box-shadow: ").concat(dt("autocomplete.dropdown.focus.ring.shadow"), ";\n outline: ").concat(dt("autocomplete.dropdown.focus.ring.width"), " ").concat(dt("autocomplete.dropdown.focus.ring.style"), " ").concat(dt("autocomplete.dropdown.focus.ring.color"), ";\n outline-offset: ").concat(dt("autocomplete.dropdown.focus.ring.offset"), ";\n}\n\n.p-autocomplete .p-autocomplete-overlay {\n min-width: 100%;\n}\n\n.p-autocomplete-overlay {\n position: absolute;\n overflow: auto;\n top: 0;\n left: 0;\n background: ").concat(dt("autocomplete.overlay.background"), ";\n color: ").concat(dt("autocomplete.overlay.color"), ";\n border: 1px solid ").concat(dt("autocomplete.overlay.border.color"), ";\n border-radius: ").concat(dt("autocomplete.overlay.border.radius"), ";\n box-shadow: ").concat(dt("autocomplete.overlay.shadow"), ";\n}\n\n.p-autocomplete-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("autocomplete.list.gap"), ";\n padding: ").concat(dt("autocomplete.list.padding"), ";\n}\n\n.p-autocomplete-option {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: ").concat(dt("autocomplete.option.padding"), ";\n border: 0 none;\n color: ").concat(dt("autocomplete.option.color"), ";\n background: transparent;\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ";\n border-radius: ").concat(dt("autocomplete.option.border.radius"), ";\n}\n\n.p-autocomplete-option:not(.p-autocomplete-option-selected):not(.p-disabled).p-focus {\n background: ").concat(dt("autocomplete.option.focus.background"), ";\n color: ").concat(dt("autocomplete.option.focus.color"), ";\n}\n\n.p-autocomplete-option-selected {\n background: ").concat(dt("autocomplete.option.selected.background"), ";\n color: ").concat(dt("autocomplete.option.selected.color"), ";\n}\n\n.p-autocomplete-option-selected.p-focus {\n background: ").concat(dt("autocomplete.option.selected.focus.background"), ";\n color: ").concat(dt("autocomplete.option.selected.focus.color"), ";\n}\n\n.p-autocomplete-option-group {\n margin: 0;\n padding: ").concat(dt("autocomplete.option.group.padding"), ";\n color: ").concat(dt("autocomplete.option.group.color"), ";\n background: ").concat(dt("autocomplete.option.group.background"), ";\n font-weight: ").concat(dt("autocomplete.option.group.font.weight"), ";\n}\n\n.p-autocomplete-input-multiple {\n margin: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n padding: calc(").concat(dt("autocomplete.padding.y"), " / 2) ").concat(dt("autocomplete.padding.x"), ";\n gap: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n color: ").concat(dt("autocomplete.color"), ";\n background: ").concat(dt("autocomplete.background"), ";\n border: 1px solid ").concat(dt("autocomplete.border.color"), ";\n border-radius: ").concat(dt("autocomplete.border.radius"), ";\n width: 100%;\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ", outline-color ").concat(dt("autocomplete.transition.duration"), ", box-shadow ").concat(dt("autocomplete.transition.duration"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("autocomplete.shadow"), ";\n}\n\n.p-autocomplete:not(.p-disabled):hover .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.hover.border.color"), ";\n}\n\n.p-autocomplete:not(.p-disabled).p-focus .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.focus.border.color"), ";\n box-shadow: ").concat(dt("autocomplete.focus.ring.shadow"), ";\n outline: ").concat(dt("autocomplete.focus.ring.width"), " ").concat(dt("autocomplete.focus.ring.style"), " ").concat(dt("autocomplete.focus.ring.color"), ";\n outline-offset: ").concat(dt("autocomplete.focus.ring.offset"), ";\n}\n\n.p-autocomplete.p-invalid .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.invalid.border.color"), ";\n}\n\n.p-variant-filled.p-autocomplete-input-multiple {\n background: ").concat(dt("autocomplete.filled.background"), ";\n}\n\n.p-autocomplete:not(.p-disabled).p-focus .p-variant-filled.p-autocomplete-input-multiple {\n background: ").concat(dt("autocomplete.filled.focus.background"), ";\n}\n\n.p-autocomplete.p-disabled .p-autocomplete-input-multiple {\n opacity: 1;\n background: ").concat(dt("autocomplete.disabled.background"), ";\n color: ").concat(dt("autocomplete.disabled.color"), ";\n}\n\n.p-autocomplete-chip.p-chip {\n padding-top: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-bottom: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n border-radius: ").concat(dt("autocomplete.chip.border.radius"), ";\n}\n\n.p-autocomplete-input-multiple:has(.p-autocomplete-chip) {\n padding-left: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-right: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n}\n\n.p-autocomplete-chip-item.p-focus .p-autocomplete-chip {\n background: ").concat(dt("inputchips.chip.focus.background"), ";\n color: ").concat(dt("inputchips.chip.focus.color"), ";\n}\n\n.p-autocomplete-input-chip {\n flex: 1 1 auto;\n display: inline-flex;\n padding-top: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-bottom: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n}\n\n.p-autocomplete-input-chip input {\n border: 0 none;\n outline: 0 none;\n background: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: inherit;\n}\n\n.p-autocomplete-input-chip input::placeholder {\n color: ").concat(dt("autocomplete.placeholder.color"), ";\n}\n\n.p-autocomplete-empty-message {\n padding: ").concat(dt("autocomplete.empty.message.padding"), ";\n}\n\n.p-autocomplete-fluid {\n display: flex;\n}\n\n.p-autocomplete-fluid:has(.p-autocomplete-dropdown) .p-autocomplete-input {\n width: 1%;\n}\n"); +}, "theme"); +var inlineStyles$3 = { + root: { + position: "relative" + } +}; +var classes$5 = { + root: /* @__PURE__ */ __name(function root5(_ref2) { + var instance = _ref2.instance, props = _ref2.props; + return ["p-autocomplete p-component p-inputwrapper", { + "p-disabled": props.disabled, + "p-invalid": props.invalid, + "p-focus": instance.focused, + "p-inputwrapper-filled": props.modelValue || isNotEmpty(instance.inputValue), + "p-inputwrapper-focus": instance.focused, + "p-autocomplete-open": instance.overlayVisible, + "p-autocomplete-fluid": instance.hasFluid + }]; + }, "root"), + pcInput: "p-autocomplete-input", + inputMultiple: /* @__PURE__ */ __name(function inputMultiple(_ref3) { + var props = _ref3.props, instance = _ref3.instance; + return ["p-autocomplete-input-multiple", { + "p-variant-filled": props.variant ? props.variant === "filled" : instance.$primevue.config.inputStyle === "filled" || instance.$primevue.config.inputVariant === "filled" + }]; + }, "inputMultiple"), + chipItem: /* @__PURE__ */ __name(function chipItem(_ref4) { + var instance = _ref4.instance, i = _ref4.i; + return ["p-autocomplete-chip-item", { + "p-focus": instance.focusedMultipleOptionIndex === i + }]; + }, "chipItem"), + pcChip: "p-autocomplete-chip", + chipIcon: "p-autocomplete-chip-icon", + inputChip: "p-autocomplete-input-chip", + loader: "p-autocomplete-loader", + dropdown: "p-autocomplete-dropdown", + overlay: "p-autocomplete-overlay p-component", + list: "p-autocomplete-list", + optionGroup: "p-autocomplete-option-group", + option: /* @__PURE__ */ __name(function option(_ref5) { + var instance = _ref5.instance, _option = _ref5.option, i = _ref5.i, getItemOptions = _ref5.getItemOptions; + return ["p-autocomplete-option", { + "p-autocomplete-option-selected": instance.isSelected(_option), + "p-focus": instance.focusedOptionIndex === instance.getOptionIndex(i, getItemOptions), + "p-disabled": instance.isOptionDisabled(_option) + }]; + }, "option"), + emptyMessage: "p-autocomplete-empty-message" +}; +var AutoCompleteStyle = BaseStyle.extend({ + name: "autocomplete", + theme: theme$5, + classes: classes$5, + inlineStyles: inlineStyles$3 +}); +var script$1$5 = { + name: "BaseAutoComplete", + "extends": script$e, + props: { + modelValue: null, + suggestions: { + type: Array, + "default": null + }, + optionLabel: null, + optionDisabled: null, + optionGroupLabel: null, + optionGroupChildren: null, + scrollHeight: { + type: String, + "default": "14rem" + }, + dropdown: { + type: Boolean, + "default": false + }, + dropdownMode: { + type: String, + "default": "blank" + }, + multiple: { + type: Boolean, + "default": false + }, + loading: { + type: Boolean, + "default": false + }, + variant: { + type: String, + "default": null + }, + invalid: { + type: Boolean, + "default": false + }, + disabled: { + type: Boolean, + "default": false + }, + placeholder: { + type: String, + "default": null + }, + dataKey: { + type: String, + "default": null + }, + minLength: { + type: Number, + "default": 1 + }, + delay: { + type: Number, + "default": 300 + }, + appendTo: { + type: [String, Object], + "default": "body" + }, + forceSelection: { + type: Boolean, + "default": false + }, + completeOnFocus: { + type: Boolean, + "default": false + }, + inputId: { + type: String, + "default": null + }, + inputStyle: { + type: Object, + "default": null + }, + inputClass: { + type: [String, Object], + "default": null + }, + panelStyle: { + type: Object, + "default": null + }, + panelClass: { + type: [String, Object], + "default": null + }, + overlayStyle: { + type: Object, + "default": null + }, + overlayClass: { + type: [String, Object], + "default": null + }, + dropdownIcon: { + type: String, + "default": null + }, + dropdownClass: { + type: [String, Object], + "default": null + }, + loader: { + type: String, + "default": null + }, + loadingIcon: { + type: String, + "default": null + }, + removeTokenIcon: { + type: String, + "default": null + }, + chipIcon: { + type: String, + "default": null + }, + virtualScrollerOptions: { + type: Object, + "default": null + }, + autoOptionFocus: { + type: Boolean, + "default": false + }, + selectOnFocus: { + type: Boolean, + "default": false + }, + focusOnHover: { + type: Boolean, + "default": true + }, + searchLocale: { + type: String, + "default": void 0 + }, + searchMessage: { + type: String, + "default": null + }, + selectionMessage: { + type: String, + "default": null + }, + emptySelectionMessage: { + type: String, + "default": null + }, + emptySearchMessage: { + type: String, + "default": null + }, + tabindex: { + type: Number, + "default": 0 + }, + typeahead: { + type: Boolean, + "default": true + }, + ariaLabel: { + type: String, + "default": null + }, + ariaLabelledby: { + type: String, + "default": null + }, + fluid: { + type: Boolean, + "default": null + } + }, + style: AutoCompleteStyle, + provide: /* @__PURE__ */ __name(function provide7() { + return { + $pcAutoComplete: this, + $parentInstance: this + }; + }, "provide") +}; +function _typeof$1$1(o) { + "@babel/helpers - typeof"; + return _typeof$1$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$1$1(o); +} +__name(_typeof$1$1, "_typeof$1$1"); +function _toConsumableArray$1(r) { + return _arrayWithoutHoles$1(r) || _iterableToArray$1(r) || _unsupportedIterableToArray$1(r) || _nonIterableSpread$1(); +} +__name(_toConsumableArray$1, "_toConsumableArray$1"); +function _nonIterableSpread$1() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$1, "_nonIterableSpread$1"); +function _unsupportedIterableToArray$1(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$1(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$1, "_unsupportedIterableToArray$1"); +function _iterableToArray$1(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$1, "_iterableToArray$1"); +function _arrayWithoutHoles$1(r) { + if (Array.isArray(r)) return _arrayLikeToArray$1(r); +} +__name(_arrayWithoutHoles$1, "_arrayWithoutHoles$1"); +function _arrayLikeToArray$1(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$1, "_arrayLikeToArray$1"); +var script$7 = { + name: "AutoComplete", + "extends": script$1$5, + inheritAttrs: false, + emits: ["update:modelValue", "change", "focus", "blur", "item-select", "item-unselect", "option-select", "option-unselect", "dropdown-click", "clear", "complete", "before-show", "before-hide", "show", "hide"], + inject: { + $pcFluid: { + "default": null + } + }, + outsideClickListener: null, + resizeListener: null, + scrollHandler: null, + overlay: null, + virtualScroller: null, + searchTimeout: null, + dirty: false, + data: /* @__PURE__ */ __name(function data4() { + return { + id: this.$attrs.id, + clicked: false, + focused: false, + focusedOptionIndex: -1, + focusedMultipleOptionIndex: -1, + overlayVisible: false, + searching: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + suggestions: /* @__PURE__ */ __name(function suggestions() { + if (this.searching) { + this.show(); + this.focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1; + this.searching = false; + } + this.autoUpdateModel(); + }, "suggestions") + }, + mounted: /* @__PURE__ */ __name(function mounted3() { + this.id = this.id || UniqueComponentId(); + this.autoUpdateModel(); + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated2() { + if (this.overlayVisible) { + this.alignOverlay(); + } + }, "updated"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount3() { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + if (this.scrollHandler) { + this.scrollHandler.destroy(); + this.scrollHandler = null; + } + if (this.overlay) { + ZIndex.clear(this.overlay); + this.overlay = null; + } + }, "beforeUnmount"), + methods: { + getOptionIndex: /* @__PURE__ */ __name(function getOptionIndex(index, fn) { + return this.virtualScrollerDisabled ? index : fn && fn(index)["index"]; + }, "getOptionIndex"), + getOptionLabel: /* @__PURE__ */ __name(function getOptionLabel(option2) { + return this.optionLabel ? resolveFieldData(option2, this.optionLabel) : option2; + }, "getOptionLabel"), + getOptionValue: /* @__PURE__ */ __name(function getOptionValue(option2) { + return option2; + }, "getOptionValue"), + getOptionRenderKey: /* @__PURE__ */ __name(function getOptionRenderKey(option2, index) { + return (this.dataKey ? resolveFieldData(option2, this.dataKey) : this.getOptionLabel(option2)) + "_" + index; + }, "getOptionRenderKey"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions3(option2, itemOptions, index, key) { + return this.ptm(key, { + context: { + selected: this.isSelected(option2), + focused: this.focusedOptionIndex === this.getOptionIndex(index, itemOptions), + disabled: this.isOptionDisabled(option2) + } + }); + }, "getPTOptions"), + isOptionDisabled: /* @__PURE__ */ __name(function isOptionDisabled(option2) { + return this.optionDisabled ? resolveFieldData(option2, this.optionDisabled) : false; + }, "isOptionDisabled"), + isOptionGroup: /* @__PURE__ */ __name(function isOptionGroup(option2) { + return this.optionGroupLabel && option2.optionGroup && option2.group; + }, "isOptionGroup"), + getOptionGroupLabel: /* @__PURE__ */ __name(function getOptionGroupLabel(optionGroup) { + return resolveFieldData(optionGroup, this.optionGroupLabel); + }, "getOptionGroupLabel"), + getOptionGroupChildren: /* @__PURE__ */ __name(function getOptionGroupChildren(optionGroup) { + return resolveFieldData(optionGroup, this.optionGroupChildren); + }, "getOptionGroupChildren"), + getAriaPosInset: /* @__PURE__ */ __name(function getAriaPosInset(index) { + var _this = this; + return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter(function(option2) { + return _this.isOptionGroup(option2); + }).length : index) + 1; + }, "getAriaPosInset"), + show: /* @__PURE__ */ __name(function show(isFocus) { + this.$emit("before-show"); + this.dirty = true; + this.overlayVisible = true; + this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1; + isFocus && focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el); + }, "show"), + hide: /* @__PURE__ */ __name(function hide(isFocus) { + var _this2 = this; + var _hide = /* @__PURE__ */ __name(function _hide2() { + _this2.$emit("before-hide"); + _this2.dirty = isFocus; + _this2.overlayVisible = false; + _this2.clicked = false; + _this2.focusedOptionIndex = -1; + isFocus && focus(_this2.multiple ? _this2.$refs.focusInput : _this2.$refs.focusInput.$el); + }, "_hide"); + setTimeout(function() { + _hide(); + }, 0); + }, "hide"), + onFocus: /* @__PURE__ */ __name(function onFocus2(event) { + if (this.disabled) { + return; + } + if (!this.dirty && this.completeOnFocus) { + this.search(event, event.target.value, "focus"); + } + this.dirty = true; + this.focused = true; + if (this.overlayVisible) { + this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1; + this.scrollInView(this.focusedOptionIndex); + } + this.$emit("focus", event); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur(event) { + this.dirty = false; + this.focused = false; + this.focusedOptionIndex = -1; + this.$emit("blur", event); + }, "onBlur"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown(event) { + if (this.disabled) { + event.preventDefault(); + return; + } + switch (event.code) { + case "ArrowDown": + this.onArrowDownKey(event); + break; + case "ArrowUp": + this.onArrowUpKey(event); + break; + case "ArrowLeft": + this.onArrowLeftKey(event); + break; + case "ArrowRight": + this.onArrowRightKey(event); + break; + case "Home": + this.onHomeKey(event); + break; + case "End": + this.onEndKey(event); + break; + case "PageDown": + this.onPageDownKey(event); + break; + case "PageUp": + this.onPageUpKey(event); + break; + case "Enter": + case "NumpadEnter": + this.onEnterKey(event); + break; + case "Escape": + this.onEscapeKey(event); + break; + case "Tab": + this.onTabKey(event); + break; + case "Backspace": + this.onBackspaceKey(event); + break; + } + this.clicked = false; + }, "onKeyDown"), + onInput: /* @__PURE__ */ __name(function onInput(event) { + var _this3 = this; + if (this.typeahead) { + if (this.searchTimeout) { + clearTimeout(this.searchTimeout); + } + var query = event.target.value; + if (!this.multiple) { + this.updateModel(event, query); + } + if (query.length === 0) { + this.hide(); + this.$emit("clear"); + } else { + if (query.length >= this.minLength) { + this.focusedOptionIndex = -1; + this.searchTimeout = setTimeout(function() { + _this3.search(event, query, "input"); + }, this.delay); + } else { + this.hide(); + } + } + } + }, "onInput"), + onChange: /* @__PURE__ */ __name(function onChange(event) { + var _this4 = this; + if (this.forceSelection) { + var valid = false; + if (this.visibleOptions && !this.multiple) { + var value = this.multiple ? this.$refs.focusInput.value : this.$refs.focusInput.$el.value; + var matchedValue = this.visibleOptions.find(function(option2) { + return _this4.isOptionMatched(option2, value || ""); + }); + if (matchedValue !== void 0) { + valid = true; + !this.isSelected(matchedValue) && this.onOptionSelect(event, matchedValue); + } + } + if (!valid) { + if (this.multiple) this.$refs.focusInput.value = ""; + else this.$refs.focusInput.$el.value = ""; + this.$emit("clear"); + !this.multiple && this.updateModel(event, null); + } + } + }, "onChange"), + onMultipleContainerFocus: /* @__PURE__ */ __name(function onMultipleContainerFocus() { + if (this.disabled) { + return; + } + this.focused = true; + }, "onMultipleContainerFocus"), + onMultipleContainerBlur: /* @__PURE__ */ __name(function onMultipleContainerBlur() { + this.focusedMultipleOptionIndex = -1; + this.focused = false; + }, "onMultipleContainerBlur"), + onMultipleContainerKeyDown: /* @__PURE__ */ __name(function onMultipleContainerKeyDown(event) { + if (this.disabled) { + event.preventDefault(); + return; + } + switch (event.code) { + case "ArrowLeft": + this.onArrowLeftKeyOnMultiple(event); + break; + case "ArrowRight": + this.onArrowRightKeyOnMultiple(event); + break; + case "Backspace": + this.onBackspaceKeyOnMultiple(event); + break; + } + }, "onMultipleContainerKeyDown"), + onContainerClick: /* @__PURE__ */ __name(function onContainerClick(event) { + this.clicked = true; + if (this.disabled || this.searching || this.loading || this.isInputClicked(event) || this.isDropdownClicked(event)) { + return; + } + if (!this.overlay || !this.overlay.contains(event.target)) { + focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el); + } + }, "onContainerClick"), + onDropdownClick: /* @__PURE__ */ __name(function onDropdownClick(event) { + var query = void 0; + if (this.overlayVisible) { + this.hide(true); + } else { + var target = this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el; + focus(target); + query = target.value; + if (this.dropdownMode === "blank") this.search(event, "", "dropdown"); + else if (this.dropdownMode === "current") this.search(event, query, "dropdown"); + } + this.$emit("dropdown-click", { + originalEvent: event, + query + }); + }, "onDropdownClick"), + onOptionSelect: /* @__PURE__ */ __name(function onOptionSelect(event, option2) { + var isHide = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true; + var value = this.getOptionValue(option2); + if (this.multiple) { + this.$refs.focusInput.value = ""; + if (!this.isSelected(option2)) { + this.updateModel(event, [].concat(_toConsumableArray$1(this.modelValue || []), [value])); + } + } else { + this.updateModel(event, value); + } + this.$emit("item-select", { + originalEvent: event, + value: option2 + }); + this.$emit("option-select", { + originalEvent: event, + value: option2 + }); + isHide && this.hide(true); + }, "onOptionSelect"), + onOptionMouseMove: /* @__PURE__ */ __name(function onOptionMouseMove(event, index) { + if (this.focusOnHover) { + this.changeFocusedOptionIndex(event, index); + } + }, "onOptionMouseMove"), + onOverlayClick: /* @__PURE__ */ __name(function onOverlayClick(event) { + OverlayEventBus.emit("overlay-click", { + originalEvent: event, + target: this.$el + }); + }, "onOverlayClick"), + onOverlayKeyDown: /* @__PURE__ */ __name(function onOverlayKeyDown(event) { + switch (event.code) { + case "Escape": + this.onEscapeKey(event); + break; + } + }, "onOverlayKeyDown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey(event) { + if (!this.overlayVisible) { + return; + } + var optionIndex = this.focusedOptionIndex !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex(); + this.changeFocusedOptionIndex(event, optionIndex); + event.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey(event) { + if (!this.overlayVisible) { + return; + } + if (event.altKey) { + if (this.focusedOptionIndex !== -1) { + this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]); + } + this.overlayVisible && this.hide(); + event.preventDefault(); + } else { + var optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex(); + this.changeFocusedOptionIndex(event, optionIndex); + event.preventDefault(); + } + }, "onArrowUpKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey2(event) { + var target = event.currentTarget; + this.focusedOptionIndex = -1; + if (this.multiple) { + if (isEmpty(target.value) && this.hasSelectedOption) { + focus(this.$refs.multiContainer); + this.focusedMultipleOptionIndex = this.modelValue.length; + } else { + event.stopPropagation(); + } + } + }, "onArrowLeftKey"), + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey2(event) { + this.focusedOptionIndex = -1; + this.multiple && event.stopPropagation(); + }, "onArrowRightKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey2(event) { + var currentTarget = event.currentTarget; + var len = currentTarget.value.length; + currentTarget.setSelectionRange(0, event.shiftKey ? len : 0); + this.focusedOptionIndex = -1; + event.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey2(event) { + var currentTarget = event.currentTarget; + var len = currentTarget.value.length; + currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len); + this.focusedOptionIndex = -1; + event.preventDefault(); + }, "onEndKey"), + onPageUpKey: /* @__PURE__ */ __name(function onPageUpKey2(event) { + this.scrollInView(0); + event.preventDefault(); + }, "onPageUpKey"), + onPageDownKey: /* @__PURE__ */ __name(function onPageDownKey2(event) { + this.scrollInView(this.visibleOptions.length - 1); + event.preventDefault(); + }, "onPageDownKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey2(event) { + if (!this.typeahead) { + if (this.multiple) { + this.updateModel(event, [].concat(_toConsumableArray$1(this.modelValue || []), [event.target.value])); + this.$refs.focusInput.value = ""; + } + } else { + if (!this.overlayVisible) { + this.focusedOptionIndex = -1; + this.onArrowDownKey(event); + } else { + if (this.focusedOptionIndex !== -1) { + this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]); + } + this.hide(); + } + } + }, "onEnterKey"), + onEscapeKey: /* @__PURE__ */ __name(function onEscapeKey(event) { + this.overlayVisible && this.hide(true); + event.preventDefault(); + }, "onEscapeKey"), + onTabKey: /* @__PURE__ */ __name(function onTabKey(event) { + if (this.focusedOptionIndex !== -1) { + this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]); + } + this.overlayVisible && this.hide(); + }, "onTabKey"), + onBackspaceKey: /* @__PURE__ */ __name(function onBackspaceKey(event) { + if (this.multiple) { + if (isNotEmpty(this.modelValue) && !this.$refs.focusInput.value) { + var removedValue = this.modelValue[this.modelValue.length - 1]; + var newValue = this.modelValue.slice(0, -1); + this.$emit("update:modelValue", newValue); + this.$emit("item-unselect", { + originalEvent: event, + value: removedValue + }); + this.$emit("option-unselect", { + originalEvent: event, + value: removedValue + }); + } + event.stopPropagation(); + } + }, "onBackspaceKey"), + onArrowLeftKeyOnMultiple: /* @__PURE__ */ __name(function onArrowLeftKeyOnMultiple() { + this.focusedMultipleOptionIndex = this.focusedMultipleOptionIndex < 1 ? 0 : this.focusedMultipleOptionIndex - 1; + }, "onArrowLeftKeyOnMultiple"), + onArrowRightKeyOnMultiple: /* @__PURE__ */ __name(function onArrowRightKeyOnMultiple() { + this.focusedMultipleOptionIndex++; + if (this.focusedMultipleOptionIndex > this.modelValue.length - 1) { + this.focusedMultipleOptionIndex = -1; + focus(this.$refs.focusInput); + } + }, "onArrowRightKeyOnMultiple"), + onBackspaceKeyOnMultiple: /* @__PURE__ */ __name(function onBackspaceKeyOnMultiple(event) { + if (this.focusedMultipleOptionIndex !== -1) { + this.removeOption(event, this.focusedMultipleOptionIndex); + } + }, "onBackspaceKeyOnMultiple"), + onOverlayEnter: /* @__PURE__ */ __name(function onOverlayEnter(el) { + ZIndex.set("overlay", el, this.$primevue.config.zIndex.overlay); + addStyle(el, { + position: "absolute", + top: "0", + left: "0" + }); + this.alignOverlay(); + }, "onOverlayEnter"), + onOverlayAfterEnter: /* @__PURE__ */ __name(function onOverlayAfterEnter() { + this.bindOutsideClickListener(); + this.bindScrollListener(); + this.bindResizeListener(); + this.$emit("show"); + }, "onOverlayAfterEnter"), + onOverlayLeave: /* @__PURE__ */ __name(function onOverlayLeave() { + this.unbindOutsideClickListener(); + this.unbindScrollListener(); + this.unbindResizeListener(); + this.$emit("hide"); + this.overlay = null; + }, "onOverlayLeave"), + onOverlayAfterLeave: /* @__PURE__ */ __name(function onOverlayAfterLeave(el) { + ZIndex.clear(el); + }, "onOverlayAfterLeave"), + alignOverlay: /* @__PURE__ */ __name(function alignOverlay() { + var target = this.multiple ? this.$refs.multiContainer : this.$refs.focusInput.$el; + if (this.appendTo === "self") { + relativePosition(this.overlay, target); + } else { + this.overlay.style.minWidth = getOuterWidth(target) + "px"; + absolutePosition(this.overlay, target); + } + }, "alignOverlay"), + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener() { + var _this5 = this; + if (!this.outsideClickListener) { + this.outsideClickListener = function(event) { + if (_this5.overlayVisible && _this5.overlay && _this5.isOutsideClicked(event)) { + _this5.hide(); + } + }; + document.addEventListener("click", this.outsideClickListener); + } + }, "bindOutsideClickListener"), + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener() { + if (this.outsideClickListener) { + document.removeEventListener("click", this.outsideClickListener); + this.outsideClickListener = null; + } + }, "unbindOutsideClickListener"), + bindScrollListener: /* @__PURE__ */ __name(function bindScrollListener() { + var _this6 = this; + if (!this.scrollHandler) { + this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, function() { + if (_this6.overlayVisible) { + _this6.hide(); + } + }); + } + this.scrollHandler.bindScrollListener(); + }, "bindScrollListener"), + unbindScrollListener: /* @__PURE__ */ __name(function unbindScrollListener() { + if (this.scrollHandler) { + this.scrollHandler.unbindScrollListener(); + } + }, "unbindScrollListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener() { + var _this7 = this; + if (!this.resizeListener) { + this.resizeListener = function() { + if (_this7.overlayVisible && !isTouchDevice()) { + _this7.hide(); + } + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked(event) { + return !this.overlay.contains(event.target) && !this.isInputClicked(event) && !this.isDropdownClicked(event); + }, "isOutsideClicked"), + isInputClicked: /* @__PURE__ */ __name(function isInputClicked(event) { + if (this.multiple) return event.target === this.$refs.multiContainer || this.$refs.multiContainer.contains(event.target); + else return event.target === this.$refs.focusInput.$el; + }, "isInputClicked"), + isDropdownClicked: /* @__PURE__ */ __name(function isDropdownClicked(event) { + return this.$refs.dropdownButton ? event.target === this.$refs.dropdownButton || this.$refs.dropdownButton.contains(event.target) : false; + }, "isDropdownClicked"), + isOptionMatched: /* @__PURE__ */ __name(function isOptionMatched(option2, value) { + var _this$getOptionLabel; + return this.isValidOption(option2) && ((_this$getOptionLabel = this.getOptionLabel(option2)) === null || _this$getOptionLabel === void 0 ? void 0 : _this$getOptionLabel.toLocaleLowerCase(this.searchLocale)) === value.toLocaleLowerCase(this.searchLocale); + }, "isOptionMatched"), + isValidOption: /* @__PURE__ */ __name(function isValidOption(option2) { + return isNotEmpty(option2) && !(this.isOptionDisabled(option2) || this.isOptionGroup(option2)); + }, "isValidOption"), + isValidSelectedOption: /* @__PURE__ */ __name(function isValidSelectedOption(option2) { + return this.isValidOption(option2) && this.isSelected(option2); + }, "isValidSelectedOption"), + isEquals: /* @__PURE__ */ __name(function isEquals(value1, value2) { + return equals(value1, value2, this.equalityKey); + }, "isEquals"), + isSelected: /* @__PURE__ */ __name(function isSelected(option2) { + var _this8 = this; + var optionValue = this.getOptionValue(option2); + return this.multiple ? (this.modelValue || []).some(function(value) { + return _this8.isEquals(value, optionValue); + }) : this.isEquals(this.modelValue, this.getOptionValue(option2)); + }, "isSelected"), + findFirstOptionIndex: /* @__PURE__ */ __name(function findFirstOptionIndex() { + var _this9 = this; + return this.visibleOptions.findIndex(function(option2) { + return _this9.isValidOption(option2); + }); + }, "findFirstOptionIndex"), + findLastOptionIndex: /* @__PURE__ */ __name(function findLastOptionIndex() { + var _this10 = this; + return findLastIndex(this.visibleOptions, function(option2) { + return _this10.isValidOption(option2); + }); + }, "findLastOptionIndex"), + findNextOptionIndex: /* @__PURE__ */ __name(function findNextOptionIndex(index) { + var _this11 = this; + var matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex(function(option2) { + return _this11.isValidOption(option2); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index; + }, "findNextOptionIndex"), + findPrevOptionIndex: /* @__PURE__ */ __name(function findPrevOptionIndex(index) { + var _this12 = this; + var matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), function(option2) { + return _this12.isValidOption(option2); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex : index; + }, "findPrevOptionIndex"), + findSelectedOptionIndex: /* @__PURE__ */ __name(function findSelectedOptionIndex() { + var _this13 = this; + return this.hasSelectedOption ? this.visibleOptions.findIndex(function(option2) { + return _this13.isValidSelectedOption(option2); + }) : -1; + }, "findSelectedOptionIndex"), + findFirstFocusedOptionIndex: /* @__PURE__ */ __name(function findFirstFocusedOptionIndex() { + var selectedIndex = this.findSelectedOptionIndex(); + return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex; + }, "findFirstFocusedOptionIndex"), + findLastFocusedOptionIndex: /* @__PURE__ */ __name(function findLastFocusedOptionIndex() { + var selectedIndex = this.findSelectedOptionIndex(); + return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex; + }, "findLastFocusedOptionIndex"), + search: /* @__PURE__ */ __name(function search(event, query, source) { + if (query === void 0 || query === null) { + return; + } + if (source === "input" && query.trim().length === 0) { + return; + } + this.searching = true; + this.$emit("complete", { + originalEvent: event, + query + }); + }, "search"), + removeOption: /* @__PURE__ */ __name(function removeOption(event, index) { + var _this14 = this; + var removedOption = this.modelValue[index]; + var value = this.modelValue.filter(function(_2, i) { + return i !== index; + }).map(function(option2) { + return _this14.getOptionValue(option2); + }); + this.updateModel(event, value); + this.$emit("item-unselect", { + originalEvent: event, + value: removedOption + }); + this.$emit("option-unselect", { + originalEvent: event, + value: removedOption + }); + this.dirty = true; + focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el); + }, "removeOption"), + changeFocusedOptionIndex: /* @__PURE__ */ __name(function changeFocusedOptionIndex(event, index) { + if (this.focusedOptionIndex !== index) { + this.focusedOptionIndex = index; + this.scrollInView(); + if (this.selectOnFocus) { + this.onOptionSelect(event, this.visibleOptions[index], false); + } + } + }, "changeFocusedOptionIndex"), + scrollInView: /* @__PURE__ */ __name(function scrollInView2() { + var _this15 = this; + var index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; + this.$nextTick(function() { + var id2 = index !== -1 ? "".concat(_this15.id, "_").concat(index) : _this15.focusedOptionId; + var element = findSingle(_this15.list, 'li[id="'.concat(id2, '"]')); + if (element) { + element.scrollIntoView && element.scrollIntoView({ + block: "nearest", + inline: "start" + }); + } else if (!_this15.virtualScrollerDisabled) { + _this15.virtualScroller && _this15.virtualScroller.scrollToIndex(index !== -1 ? index : _this15.focusedOptionIndex); + } + }); + }, "scrollInView"), + autoUpdateModel: /* @__PURE__ */ __name(function autoUpdateModel() { + if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) { + this.focusedOptionIndex = this.findFirstFocusedOptionIndex(); + this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false); + } + }, "autoUpdateModel"), + updateModel: /* @__PURE__ */ __name(function updateModel(event, value) { + this.$emit("update:modelValue", value); + this.$emit("change", { + originalEvent: event, + value + }); + }, "updateModel"), + flatOptions: /* @__PURE__ */ __name(function flatOptions(options) { + var _this16 = this; + return (options || []).reduce(function(result, option2, index) { + result.push({ + optionGroup: option2, + group: true, + index + }); + var optionGroupChildren = _this16.getOptionGroupChildren(option2); + optionGroupChildren && optionGroupChildren.forEach(function(o) { + return result.push(o); + }); + return result; + }, []); + }, "flatOptions"), + overlayRef: /* @__PURE__ */ __name(function overlayRef(el) { + this.overlay = el; + }, "overlayRef"), + listRef: /* @__PURE__ */ __name(function listRef(el, contentRef) { + this.list = el; + contentRef && contentRef(el); + }, "listRef"), + virtualScrollerRef: /* @__PURE__ */ __name(function virtualScrollerRef(el) { + this.virtualScroller = el; + }, "virtualScrollerRef") + }, + computed: { + visibleOptions: /* @__PURE__ */ __name(function visibleOptions() { + return this.optionGroupLabel ? this.flatOptions(this.suggestions) : this.suggestions || []; + }, "visibleOptions"), + inputValue: /* @__PURE__ */ __name(function inputValue() { + if (isNotEmpty(this.modelValue)) { + if (_typeof$1$1(this.modelValue) === "object") { + var label = this.getOptionLabel(this.modelValue); + return label != null ? label : this.modelValue; + } else { + return this.modelValue; + } + } else { + return ""; + } + }, "inputValue"), + hasSelectedOption: /* @__PURE__ */ __name(function hasSelectedOption() { + return isNotEmpty(this.modelValue); + }, "hasSelectedOption"), + equalityKey: /* @__PURE__ */ __name(function equalityKey() { + return this.dataKey; + }, "equalityKey"), + searchResultMessageText: /* @__PURE__ */ __name(function searchResultMessageText() { + return isNotEmpty(this.visibleOptions) && this.overlayVisible ? this.searchMessageText.replaceAll("{0}", this.visibleOptions.length) : this.emptySearchMessageText; + }, "searchResultMessageText"), + searchMessageText: /* @__PURE__ */ __name(function searchMessageText() { + return this.searchMessage || this.$primevue.config.locale.searchMessage || ""; + }, "searchMessageText"), + emptySearchMessageText: /* @__PURE__ */ __name(function emptySearchMessageText() { + return this.emptySearchMessage || this.$primevue.config.locale.emptySearchMessage || ""; + }, "emptySearchMessageText"), + selectionMessageText: /* @__PURE__ */ __name(function selectionMessageText() { + return this.selectionMessage || this.$primevue.config.locale.selectionMessage || ""; + }, "selectionMessageText"), + emptySelectionMessageText: /* @__PURE__ */ __name(function emptySelectionMessageText() { + return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || ""; + }, "emptySelectionMessageText"), + selectedMessageText: /* @__PURE__ */ __name(function selectedMessageText() { + return this.hasSelectedOption ? this.selectionMessageText.replaceAll("{0}", this.multiple ? this.modelValue.length : "1") : this.emptySelectionMessageText; + }, "selectedMessageText"), + listAriaLabel: /* @__PURE__ */ __name(function listAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.listLabel : void 0; + }, "listAriaLabel"), + focusedOptionId: /* @__PURE__ */ __name(function focusedOptionId() { + return this.focusedOptionIndex !== -1 ? "".concat(this.id, "_").concat(this.focusedOptionIndex) : null; + }, "focusedOptionId"), + focusedMultipleOptionId: /* @__PURE__ */ __name(function focusedMultipleOptionId() { + return this.focusedMultipleOptionIndex !== -1 ? "".concat(this.id, "_multiple_option_").concat(this.focusedMultipleOptionIndex) : null; + }, "focusedMultipleOptionId"), + ariaSetSize: /* @__PURE__ */ __name(function ariaSetSize() { + var _this17 = this; + return this.visibleOptions.filter(function(option2) { + return !_this17.isOptionGroup(option2); + }).length; + }, "ariaSetSize"), + virtualScrollerDisabled: /* @__PURE__ */ __name(function virtualScrollerDisabled() { + return !this.virtualScrollerOptions; + }, "virtualScrollerDisabled"), + panelId: /* @__PURE__ */ __name(function panelId() { + return this.id + "_panel"; + }, "panelId"), + hasFluid: /* @__PURE__ */ __name(function hasFluid() { + return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; + }, "hasFluid") + }, + components: { + InputText: script$i, + VirtualScroller: script$j, + Portal: script$k, + ChevronDownIcon: script$l, + SpinnerIcon: script$m, + Chip: script$n + }, + directives: { + ripple: Ripple + } +}; +function _typeof$4(o) { + "@babel/helpers - typeof"; + return _typeof$4 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$4(o); +} +__name(_typeof$4, "_typeof$4"); +function ownKeys$3(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$3, "ownKeys$3"); +function _objectSpread$3(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$3(Object(t), true).forEach(function(r2) { + _defineProperty$4(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$3, "_objectSpread$3"); +function _defineProperty$4(e, r, t) { + return (r = _toPropertyKey$4(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$4, "_defineProperty$4"); +function _toPropertyKey$4(t) { + var i = _toPrimitive$4(t, "string"); + return "symbol" == _typeof$4(i) ? i : i + ""; +} +__name(_toPropertyKey$4, "_toPropertyKey$4"); +function _toPrimitive$4(t, r) { + if ("object" != _typeof$4(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$4(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$4, "_toPrimitive$4"); +var _hoisted_1$h = ["aria-activedescendant"]; +var _hoisted_2$e = ["id", "aria-label", "aria-setsize", "aria-posinset"]; +var _hoisted_3$c = ["id", "placeholder", "tabindex", "disabled", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-invalid"]; +var _hoisted_4$4 = ["disabled", "aria-expanded", "aria-controls"]; +var _hoisted_5$3 = ["id"]; +var _hoisted_6$2 = ["id", "aria-label"]; +var _hoisted_7$1 = ["id"]; +var _hoisted_8$1 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousemove", "data-p-selected", "data-p-focus", "data-p-disabled"]; +function render$c(_ctx, _cache, $props, $setup, $data, $options) { + var _component_InputText = resolveComponent("InputText"); + var _component_Chip = resolveComponent("Chip"); + var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); + var _component_VirtualScroller = resolveComponent("VirtualScroller"); + var _component_Portal = resolveComponent("Portal"); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("div", mergeProps({ + ref: "container", + "class": _ctx.cx("root"), + style: _ctx.sx("root"), + onClick: _cache[11] || (_cache[11] = function() { + return $options.onContainerClick && $options.onContainerClick.apply($options, arguments); + }) + }, _ctx.ptmi("root")), [!_ctx.multiple ? (openBlock(), createBlock(_component_InputText, { + key: 0, + ref: "focusInput", + id: _ctx.inputId, + type: "text", + "class": normalizeClass([_ctx.cx("pcInput"), _ctx.inputClass]), + style: normalizeStyle(_ctx.inputStyle), + value: $options.inputValue, + placeholder: _ctx.placeholder, + tabindex: !_ctx.disabled ? _ctx.tabindex : -1, + fluid: $options.hasFluid, + disabled: _ctx.disabled, + invalid: _ctx.invalid, + variant: _ctx.variant, + autocomplete: "off", + role: "combobox", + "aria-label": _ctx.ariaLabel, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-haspopup": "listbox", + "aria-autocomplete": "list", + "aria-expanded": $data.overlayVisible, + "aria-controls": $options.panelId, + "aria-activedescendant": $data.focused ? $options.focusedOptionId : void 0, + onFocus: $options.onFocus, + onBlur: $options.onBlur, + onKeydown: $options.onKeyDown, + onInput: $options.onInput, + onChange: $options.onChange, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcInput") + }, null, 8, ["id", "class", "style", "value", "placeholder", "tabindex", "fluid", "disabled", "invalid", "variant", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "onFocus", "onBlur", "onKeydown", "onInput", "onChange", "unstyled", "pt"])) : createCommentVNode("", true), _ctx.multiple ? (openBlock(), createElementBlock("ul", mergeProps({ + key: 1, + ref: "multiContainer", + "class": _ctx.cx("inputMultiple"), + tabindex: "-1", + role: "listbox", + "aria-orientation": "horizontal", + "aria-activedescendant": $data.focused ? $options.focusedMultipleOptionId : void 0, + onFocus: _cache[5] || (_cache[5] = function() { + return $options.onMultipleContainerFocus && $options.onMultipleContainerFocus.apply($options, arguments); + }), + onBlur: _cache[6] || (_cache[6] = function() { + return $options.onMultipleContainerBlur && $options.onMultipleContainerBlur.apply($options, arguments); + }), + onKeydown: _cache[7] || (_cache[7] = function() { + return $options.onMultipleContainerKeyDown && $options.onMultipleContainerKeyDown.apply($options, arguments); + }) + }, _ctx.ptm("inputMultiple")), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.modelValue, function(option2, i) { + return openBlock(), createElementBlock("li", mergeProps({ + key: "".concat(i, "_").concat($options.getOptionLabel(option2)), + id: $data.id + "_multiple_option_" + i, + "class": _ctx.cx("chipItem", { + i + }), + role: "option", + "aria-label": $options.getOptionLabel(option2), + "aria-selected": true, + "aria-setsize": _ctx.modelValue.length, + "aria-posinset": i + 1, + ref_for: true + }, _ctx.ptm("chipItem")), [renderSlot(_ctx.$slots, "chip", mergeProps({ + "class": _ctx.cx("pcChip"), + value: option2, + index: i, + removeCallback: /* @__PURE__ */ __name(function removeCallback(event) { + return $options.removeOption(event, i); + }, "removeCallback"), + ref_for: true + }, _ctx.ptm("pcChip")), function() { + return [createVNode(_component_Chip, { + "class": normalizeClass(_ctx.cx("pcChip")), + label: $options.getOptionLabel(option2), + removeIcon: _ctx.chipIcon || _ctx.removeTokenIcon, + removable: "", + unstyled: _ctx.unstyled, + onRemove: /* @__PURE__ */ __name(function onRemove2($event) { + return $options.removeOption($event, i); + }, "onRemove"), + pt: _ctx.ptm("pcChip") + }, { + removeicon: withCtx(function() { + return [renderSlot(_ctx.$slots, _ctx.$slots.chipicon ? "chipicon" : "removetokenicon", { + "class": normalizeClass(_ctx.cx("chipIcon")), + index: i, + removeCallback: /* @__PURE__ */ __name(function removeCallback(event) { + return $options.removeOption(event, i); + }, "removeCallback") + })]; + }), + _: 2 + }, 1032, ["class", "label", "removeIcon", "unstyled", "onRemove", "pt"])]; + })], 16, _hoisted_2$e); + }), 128)), createBaseVNode("li", mergeProps({ + "class": _ctx.cx("inputChip"), + role: "option" + }, _ctx.ptm("inputChip")), [createBaseVNode("input", mergeProps({ + ref: "focusInput", + id: _ctx.inputId, + type: "text", + style: _ctx.inputStyle, + "class": _ctx.inputClass, + placeholder: _ctx.placeholder, + tabindex: !_ctx.disabled ? _ctx.tabindex : -1, + disabled: _ctx.disabled, + autocomplete: "off", + role: "combobox", + "aria-label": _ctx.ariaLabel, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-haspopup": "listbox", + "aria-autocomplete": "list", + "aria-expanded": $data.overlayVisible, + "aria-controls": $data.id + "_list", + "aria-activedescendant": $data.focused ? $options.focusedOptionId : void 0, + "aria-invalid": _ctx.invalid || void 0, + onFocus: _cache[0] || (_cache[0] = function() { + return $options.onFocus && $options.onFocus.apply($options, arguments); + }), + onBlur: _cache[1] || (_cache[1] = function() { + return $options.onBlur && $options.onBlur.apply($options, arguments); + }), + onKeydown: _cache[2] || (_cache[2] = function() { + return $options.onKeyDown && $options.onKeyDown.apply($options, arguments); + }), + onInput: _cache[3] || (_cache[3] = function() { + return $options.onInput && $options.onInput.apply($options, arguments); + }), + onChange: _cache[4] || (_cache[4] = function() { + return $options.onChange && $options.onChange.apply($options, arguments); + }) + }, _ctx.ptm("input")), null, 16, _hoisted_3$c)], 16)], 16, _hoisted_1$h)) : createCommentVNode("", true), $data.searching || _ctx.loading ? renderSlot(_ctx.$slots, _ctx.$slots.loader ? "loader" : "loadingicon", { + key: 2, + "class": normalizeClass(_ctx.cx("loader")) + }, function() { + return [_ctx.loader || _ctx.loadingIcon ? (openBlock(), createElementBlock("i", mergeProps({ + key: 0, + "class": ["pi-spin", _ctx.cx("loader"), _ctx.loader, _ctx.loadingIcon], + "aria-hidden": "true" + }, _ctx.ptm("loader")), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({ + key: 1, + "class": _ctx.cx("loader"), + spin: "", + "aria-hidden": "true" + }, _ctx.ptm("loader")), null, 16, ["class"]))]; + }) : createCommentVNode("", true), renderSlot(_ctx.$slots, _ctx.$slots.dropdown ? "dropdown" : "dropdownbutton", { + toggleCallback: /* @__PURE__ */ __name(function toggleCallback(event) { + return $options.onDropdownClick(event); + }, "toggleCallback") + }, function() { + return [_ctx.dropdown ? (openBlock(), createElementBlock("button", mergeProps({ + key: 0, + ref: "dropdownButton", + type: "button", + "class": [_ctx.cx("dropdown"), _ctx.dropdownClass], + disabled: _ctx.disabled, + "aria-haspopup": "listbox", + "aria-expanded": $data.overlayVisible, + "aria-controls": $options.panelId, + onClick: _cache[8] || (_cache[8] = function() { + return $options.onDropdownClick && $options.onDropdownClick.apply($options, arguments); + }) + }, _ctx.ptm("dropdown")), [renderSlot(_ctx.$slots, "dropdownicon", { + "class": normalizeClass(_ctx.dropdownIcon) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.dropdownIcon ? "span" : "ChevronDownIcon"), mergeProps({ + "class": _ctx.dropdownIcon + }, _ctx.ptm("dropdownIcon")), null, 16, ["class"]))]; + })], 16, _hoisted_4$4)) : createCommentVNode("", true)]; + }), createBaseVNode("span", mergeProps({ + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenSearchResult"), { + "data-p-hidden-accessible": true + }), toDisplayString($options.searchResultMessageText), 17), createVNode(_component_Portal, { + appendTo: _ctx.appendTo + }, { + "default": withCtx(function() { + return [createVNode(Transition, mergeProps({ + name: "p-connected-overlay", + onEnter: $options.onOverlayEnter, + onAfterEnter: $options.onOverlayAfterEnter, + onLeave: $options.onOverlayLeave, + onAfterLeave: $options.onOverlayAfterLeave + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [$data.overlayVisible ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref: $options.overlayRef, + id: $options.panelId, + "class": [_ctx.cx("overlay"), _ctx.panelClass, _ctx.overlayClass], + style: _objectSpread$3(_objectSpread$3(_objectSpread$3({}, _ctx.panelStyle), _ctx.overlayStyle), {}, { + "max-height": $options.virtualScrollerDisabled ? _ctx.scrollHeight : "" + }), + onClick: _cache[9] || (_cache[9] = function() { + return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments); + }), + onKeydown: _cache[10] || (_cache[10] = function() { + return $options.onOverlayKeyDown && $options.onOverlayKeyDown.apply($options, arguments); + }) + }, _ctx.ptm("overlay")), [renderSlot(_ctx.$slots, "header", { + value: _ctx.modelValue, + suggestions: $options.visibleOptions + }), createVNode(_component_VirtualScroller, mergeProps({ + ref: $options.virtualScrollerRef + }, _ctx.virtualScrollerOptions, { + style: { + height: _ctx.scrollHeight + }, + items: $options.visibleOptions, + tabindex: -1, + disabled: $options.virtualScrollerDisabled, + pt: _ctx.ptm("virtualScroller") + }), createSlots({ + content: withCtx(function(_ref) { + var styleClass = _ref.styleClass, contentRef = _ref.contentRef, items = _ref.items, getItemOptions = _ref.getItemOptions, contentStyle = _ref.contentStyle, itemSize = _ref.itemSize; + return [createBaseVNode("ul", mergeProps({ + ref: /* @__PURE__ */ __name(function ref2(el) { + return $options.listRef(el, contentRef); + }, "ref"), + id: $data.id + "_list", + "class": [_ctx.cx("list"), styleClass], + style: contentStyle, + role: "listbox", + "aria-label": $options.listAriaLabel + }, _ctx.ptm("list")), [(openBlock(true), createElementBlock(Fragment, null, renderList(items, function(option2, i) { + return openBlock(), createElementBlock(Fragment, { + key: $options.getOptionRenderKey(option2, $options.getOptionIndex(i, getItemOptions)) + }, [$options.isOptionGroup(option2) ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + id: $data.id + "_" + $options.getOptionIndex(i, getItemOptions), + style: { + height: itemSize ? itemSize + "px" : void 0 + }, + "class": _ctx.cx("optionGroup"), + role: "option", + ref_for: true + }, _ctx.ptm("optionGroup")), [renderSlot(_ctx.$slots, "optiongroup", { + option: option2.optionGroup, + index: $options.getOptionIndex(i, getItemOptions) + }, function() { + return [createTextVNode(toDisplayString($options.getOptionGroupLabel(option2.optionGroup)), 1)]; + })], 16, _hoisted_7$1)) : withDirectives((openBlock(), createElementBlock("li", mergeProps({ + key: 1, + id: $data.id + "_" + $options.getOptionIndex(i, getItemOptions), + style: { + height: itemSize ? itemSize + "px" : void 0 + }, + "class": _ctx.cx("option", { + option: option2, + i, + getItemOptions + }), + role: "option", + "aria-label": $options.getOptionLabel(option2), + "aria-selected": $options.isSelected(option2), + "aria-disabled": $options.isOptionDisabled(option2), + "aria-setsize": $options.ariaSetSize, + "aria-posinset": $options.getAriaPosInset($options.getOptionIndex(i, getItemOptions)), + onClick: /* @__PURE__ */ __name(function onClick2($event) { + return $options.onOptionSelect($event, option2); + }, "onClick"), + onMousemove: /* @__PURE__ */ __name(function onMousemove($event) { + return $options.onOptionMouseMove($event, $options.getOptionIndex(i, getItemOptions)); + }, "onMousemove"), + "data-p-selected": $options.isSelected(option2), + "data-p-focus": $data.focusedOptionIndex === $options.getOptionIndex(i, getItemOptions), + "data-p-disabled": $options.isOptionDisabled(option2), + ref_for: true + }, $options.getPTOptions(option2, getItemOptions, i, "option")), [renderSlot(_ctx.$slots, "option", { + option: option2, + index: $options.getOptionIndex(i, getItemOptions) + }, function() { + return [createTextVNode(toDisplayString($options.getOptionLabel(option2)), 1)]; + })], 16, _hoisted_8$1)), [[_directive_ripple]])], 64); + }), 128)), !items || items && items.length === 0 ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + "class": _ctx.cx("emptyMessage"), + role: "option" + }, _ctx.ptm("emptyMessage")), [renderSlot(_ctx.$slots, "empty", {}, function() { + return [createTextVNode(toDisplayString($options.searchResultMessageText), 1)]; + })], 16)) : createCommentVNode("", true)], 16, _hoisted_6$2)]; + }), + _: 2 + }, [_ctx.$slots.loader ? { + name: "loader", + fn: withCtx(function(_ref2) { + var options = _ref2.options; + return [renderSlot(_ctx.$slots, "loader", { + options + })]; + }), + key: "0" + } : void 0]), 1040, ["style", "items", "disabled", "pt"]), renderSlot(_ctx.$slots, "footer", { + value: _ctx.modelValue, + suggestions: $options.visibleOptions + }), createBaseVNode("span", mergeProps({ + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenSelectedMessage"), { + "data-p-hidden-accessible": true + }), toDisplayString($options.selectedMessageText), 17)], 16, _hoisted_5$3)) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])]; + }), + _: 3 + }, 8, ["appendTo"])], 16); +} +__name(render$c, "render$c"); +script$7.render = render$c; +const _sfc_main$j = { + name: "AutoCompletePlus", + extends: script$7, + emits: ["focused-option-changed"], + mounted() { + if (typeof script$7.mounted === "function") { + script$7.mounted.call(this); + } + this.$watch( + () => this.focusedOptionIndex, + (newVal, oldVal) => { + this.$emit("focused-option-changed", newVal); + } + ); + } +}; +const _withScopeId$5 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-5741c9ae"), n = n(), popScopeId(), n), "_withScopeId$5"); +const _hoisted_1$g = { class: "option-container flex justify-between items-center px-2 py-0 cursor-pointer overflow-hidden w-full" }; +const _hoisted_2$d = { class: "option-display-name font-semibold flex flex-col" }; +const _hoisted_3$b = { key: 0 }; +const _hoisted_4$3 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createBaseVNode("i", { class: "pi pi-bookmark-fill text-sm mr-1" }, null, -1)); +const _hoisted_5$2 = [ + _hoisted_4$3 +]; +const _hoisted_6$1 = ["innerHTML"]; +const _hoisted_7 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createBaseVNode("span", null, " ", -1)); +const _hoisted_8 = ["innerHTML"]; +const _hoisted_9 = { + key: 0, + class: "option-category font-light text-sm text-gray-400 overflow-hidden text-ellipsis whitespace-nowrap" +}; +const _hoisted_10 = { class: "option-badges" }; +const _sfc_main$i = /* @__PURE__ */ defineComponent({ + __name: "NodeSearchItem", + props: { + nodeDef: {}, + currentQuery: {} + }, + setup(__props) { + const settingStore = useSettingStore(); + const showCategory = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl.ShowCategory") + ); + const showIdName = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl.ShowIdName") + ); + const showNodeFrequency = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl.ShowNodeFrequency") + ); + const nodeFrequencyStore = useNodeFrequencyStore(); + const nodeFrequency = computed( + () => nodeFrequencyStore.getNodeFrequency(props.nodeDef) + ); + const nodeBookmarkStore = useNodeBookmarkStore(); + const isBookmarked = computed( + () => nodeBookmarkStore.isBookmarked(props.nodeDef) + ); + const props = __props; + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$g, [ + createBaseVNode("div", _hoisted_2$d, [ + createBaseVNode("div", null, [ + isBookmarked.value ? (openBlock(), createElementBlock("span", _hoisted_3$b, _hoisted_5$2)) : createCommentVNode("", true), + createBaseVNode("span", { + innerHTML: unref(highlightQuery)(_ctx.nodeDef.display_name, _ctx.currentQuery) + }, null, 8, _hoisted_6$1), + _hoisted_7, + showIdName.value ? (openBlock(), createBlock(unref(script$o), { + key: 1, + severity: "secondary" + }, { + default: withCtx(() => [ + createBaseVNode("span", { + innerHTML: unref(highlightQuery)(_ctx.nodeDef.name, _ctx.currentQuery) + }, null, 8, _hoisted_8) + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + showCategory.value ? (openBlock(), createElementBlock("div", _hoisted_9, toDisplayString(_ctx.nodeDef.category.replaceAll("/", " > ")), 1)) : createCommentVNode("", true) + ]), + createBaseVNode("div", _hoisted_10, [ + _ctx.nodeDef.experimental ? (openBlock(), createBlock(unref(script$o), { + key: 0, + value: _ctx.$t("g.experimental"), + severity: "primary" + }, null, 8, ["value"])) : createCommentVNode("", true), + _ctx.nodeDef.deprecated ? (openBlock(), createBlock(unref(script$o), { + key: 1, + value: _ctx.$t("g.deprecated"), + severity: "danger" + }, null, 8, ["value"])) : createCommentVNode("", true), + showNodeFrequency.value && nodeFrequency.value > 0 ? (openBlock(), createBlock(unref(script$o), { + key: 2, + value: unref(formatNumberWithSuffix)(nodeFrequency.value, { roundToInt: true }), + severity: "secondary" + }, null, 8, ["value"])) : createCommentVNode("", true), + _ctx.nodeDef.nodeSource.type !== unref(NodeSourceType).Unknown ? (openBlock(), createBlock(unref(script$n), { + key: 3, + class: "text-sm font-light" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.nodeDef.nodeSource.displayText), 1) + ]), + _: 1 + })) : createCommentVNode("", true) + ]) + ]); + }; + } +}); +const NodeSearchItem = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-5741c9ae"]]); +const _hoisted_1$f = { class: "comfy-vue-node-search-container flex justify-center items-center w-full min-w-96 pointer-events-auto" }; +const _hoisted_2$c = { + key: 0, + class: "comfy-vue-node-preview-container absolute left-[-350px] top-[50px]" +}; +const _hoisted_3$a = /* @__PURE__ */ createBaseVNode("h3", null, "Add node filter condition", -1); +const _hoisted_4$2 = { class: "_dialog-body" }; +const _sfc_main$h = /* @__PURE__ */ defineComponent({ + __name: "NodeSearchBox", + props: { + filters: {}, + searchLimit: { default: 64 } + }, + emits: ["addFilter", "removeFilter", "addNode"], + setup(__props, { emit: __emit }) { + const settingStore = useSettingStore(); + const { t } = useI18n(); + const enableNodePreview = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl.NodePreview") + ); + const props = __props; + const nodeSearchFilterVisible = ref(false); + const inputId = `comfy-vue-node-search-box-input-${Math.random()}`; + const suggestions2 = ref([]); + const hoveredSuggestion = ref(null); + const currentQuery = ref(""); + const placeholder = computed(() => { + return props.filters.length === 0 ? t("g.searchNodes") + "..." : ""; + }); + const nodeDefStore = useNodeDefStore(); + const nodeFrequencyStore = useNodeFrequencyStore(); + const search2 = /* @__PURE__ */ __name((query) => { + const queryIsEmpty = query === "" && props.filters.length === 0; + currentQuery.value = query; + suggestions2.value = queryIsEmpty ? nodeFrequencyStore.topNodeDefs : [ + ...nodeDefStore.nodeSearchService.searchNode(query, props.filters, { + limit: props.searchLimit + }) + ]; + }, "search"); + const emit = __emit; + let inputElement = null; + const reFocusInput = /* @__PURE__ */ __name(() => { + inputElement ??= document.getElementById(inputId); + if (inputElement) { + inputElement.blur(); + nextTick(() => inputElement?.focus()); + } + }, "reFocusInput"); + onMounted(reFocusInput); + const onAddFilter = /* @__PURE__ */ __name((filterAndValue) => { + nodeSearchFilterVisible.value = false; + emit("addFilter", filterAndValue); + reFocusInput(); + }, "onAddFilter"); + const onRemoveFilter = /* @__PURE__ */ __name((event, filterAndValue) => { + event.stopPropagation(); + event.preventDefault(); + emit("removeFilter", filterAndValue); + reFocusInput(); + }, "onRemoveFilter"); + const setHoverSuggestion = /* @__PURE__ */ __name((index) => { + if (index === -1) { + hoveredSuggestion.value = null; + return; + } + const value = suggestions2.value[index]; + hoveredSuggestion.value = value; + }, "setHoverSuggestion"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$f, [ + enableNodePreview.value ? (openBlock(), createElementBlock("div", _hoisted_2$c, [ + hoveredSuggestion.value ? (openBlock(), createBlock(NodePreview, { + nodeDef: hoveredSuggestion.value, + key: hoveredSuggestion.value?.name || "" + }, null, 8, ["nodeDef"])) : createCommentVNode("", true) + ])) : createCommentVNode("", true), + createVNode(unref(script$d), { + icon: "pi pi-filter", + severity: "secondary", + class: "filter-button z-10", + onClick: _cache[0] || (_cache[0] = ($event) => nodeSearchFilterVisible.value = true) + }), + createVNode(unref(script$p), { + visible: nodeSearchFilterVisible.value, + "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => nodeSearchFilterVisible.value = $event), + class: "min-w-96" + }, { + header: withCtx(() => [ + _hoisted_3$a + ]), + default: withCtx(() => [ + createBaseVNode("div", _hoisted_4$2, [ + createVNode(NodeSearchFilter, { onAddFilter }) + ]) + ]), + _: 1 + }, 8, ["visible"]), + createVNode(_sfc_main$j, { + "model-value": props.filters, + class: "comfy-vue-node-search-box z-10 flex-grow", + scrollHeight: "40vh", + placeholder: placeholder.value, + "input-id": inputId, + "append-to": "self", + suggestions: suggestions2.value, + "min-length": 0, + delay: 100, + loading: !unref(nodeFrequencyStore).isLoaded, + onComplete: _cache[2] || (_cache[2] = ($event) => search2($event.query)), + onOptionSelect: _cache[3] || (_cache[3] = ($event) => emit("addNode", $event.value)), + onFocusedOptionChanged: _cache[4] || (_cache[4] = ($event) => setHoverSuggestion($event)), + "complete-on-focus": "", + "auto-option-focus": "", + "force-selection": "", + multiple: "", + optionLabel: "display_name" + }, { + option: withCtx(({ option: option2 }) => [ + createVNode(NodeSearchItem, { + nodeDef: option2, + currentQuery: currentQuery.value + }, null, 8, ["nodeDef", "currentQuery"]) + ]), + chip: withCtx(({ value }) => [ + (openBlock(), createBlock(SearchFilterChip, { + key: `${value[0].id}-${value[1]}`, + onRemove: /* @__PURE__ */ __name(($event) => onRemoveFilter($event, value), "onRemove"), + text: value[1], + badge: value[0].invokeSequence.toUpperCase(), + "badge-class": value[0].invokeSequence + "-badge" + }, null, 8, ["onRemove", "text", "badge", "badge-class"])) + ]), + _: 1 + }, 8, ["model-value", "placeholder", "suggestions", "loading"]) + ]); + }; + } +}); +const _sfc_main$g = /* @__PURE__ */ defineComponent({ + __name: "NodeSearchBoxPopover", + setup(__props) { + const settingStore = useSettingStore(); + const litegraphService = useLitegraphService(); + const { visible } = storeToRefs(useSearchBoxStore()); + const dismissable = ref(true); + const triggerEvent = ref(null); + const getNewNodeLocation = /* @__PURE__ */ __name(() => { + if (!triggerEvent.value) { + return litegraphService.getCanvasCenter(); + } + const originalEvent = triggerEvent.value.detail.originalEvent; + return [originalEvent.canvasX, originalEvent.canvasY]; + }, "getNewNodeLocation"); + const nodeFilters = ref([]); + const addFilter = /* @__PURE__ */ __name((filter) => { + nodeFilters.value.push(filter); + }, "addFilter"); + const removeFilter = /* @__PURE__ */ __name((filter) => { + nodeFilters.value = nodeFilters.value.filter( + (f) => toRaw(f) !== toRaw(filter) + ); + }, "removeFilter"); + const clearFilters = /* @__PURE__ */ __name(() => { + nodeFilters.value = []; + }, "clearFilters"); + const closeDialog = /* @__PURE__ */ __name(() => { + visible.value = false; + }, "closeDialog"); + const addNode = /* @__PURE__ */ __name((nodeDef) => { + const node = litegraphService.addNodeOnGraph(nodeDef, { + pos: getNewNodeLocation() + }); + const eventDetail = triggerEvent.value?.detail; + if (eventDetail && eventDetail.subType === "empty-release") { + eventDetail.linkReleaseContext.links.forEach((link) => { + ConnectingLinkImpl.createFromPlainObject(link).connectTo(node); + }); + } + window.setTimeout(() => { + closeDialog(); + }, 100); + }, "addNode"); + const newSearchBoxEnabled = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl") === "default" + ); + const showSearchBox = /* @__PURE__ */ __name((e) => { + const detail = e.detail; + if (newSearchBoxEnabled.value) { + if (detail.originalEvent?.pointerType === "touch") { + setTimeout(() => { + showNewSearchBox(e); + }, 128); + } else { + showNewSearchBox(e); + } + } else { + canvasStore.canvas.showSearchBox(detail.originalEvent); + } + }, "showSearchBox"); + const nodeDefStore = useNodeDefStore(); + const showNewSearchBox = /* @__PURE__ */ __name((e) => { + if (e.detail.subType === "empty-release") { + const links = e.detail.linkReleaseContext.links; + if (links.length === 0) { + console.warn("Empty release with no links! This should never happen"); + return; + } + const firstLink = ConnectingLinkImpl.createFromPlainObject(links[0]); + const filter = nodeDefStore.nodeSearchService.getFilterById( + firstLink.releaseSlotType + ); + const dataType = firstLink.type.toString(); + addFilter([filter, dataType]); + } + visible.value = true; + triggerEvent.value = e; + dismissable.value = false; + setTimeout(() => { + dismissable.value = true; + }, 300); + }, "showNewSearchBox"); + const showContextMenu = /* @__PURE__ */ __name((e) => { + if (e.detail.subType !== "empty-release") { + return; + } + const links = e.detail.linkReleaseContext.links; + if (links.length === 0) { + console.warn("Empty release with no links! This should never happen"); + return; + } + const firstLink = ConnectingLinkImpl.createFromPlainObject(links[0]); + const mouseEvent = e.detail.originalEvent; + const commonOptions = { + e: mouseEvent, + allow_searchbox: true, + showSearchBox: /* @__PURE__ */ __name(() => showSearchBox(e), "showSearchBox") + }; + const connectionOptions = firstLink.output ? { + nodeFrom: firstLink.node, + slotFrom: firstLink.output, + afterRerouteId: firstLink.afterRerouteId + } : { + nodeTo: firstLink.node, + slotTo: firstLink.input, + afterRerouteId: firstLink.afterRerouteId + }; + canvasStore.canvas.showConnectionMenu({ + ...connectionOptions, + ...commonOptions + }); + }, "showContextMenu"); + const canvasStore = useCanvasStore(); + watchEffect(() => { + if (canvasStore.canvas) { + LiteGraph.release_link_on_empty_shows_menu = false; + canvasStore.canvas.allow_searchbox = false; + } + }); + const canvasEventHandler = /* @__PURE__ */ __name((e) => { + if (e.detail.subType === "empty-double-click") { + showSearchBox(e); + } else if (e.detail.subType === "empty-release") { + handleCanvasEmptyRelease(e); + } else if (e.detail.subType === "group-double-click") { + const group = e.detail.group; + const [x, y] = group.pos; + const relativeY = e.detail.originalEvent.canvasY - y; + if (relativeY > group.titleHeight) { + showSearchBox(e); + } + } + }, "canvasEventHandler"); + const linkReleaseAction = computed(() => { + return settingStore.get("Comfy.LinkRelease.Action"); + }); + const linkReleaseActionShift = computed(() => { + return settingStore.get("Comfy.LinkRelease.ActionShift"); + }); + const handleCanvasEmptyRelease = /* @__PURE__ */ __name((e) => { + const detail = e.detail; + const shiftPressed = detail.originalEvent.shiftKey; + const action = shiftPressed ? linkReleaseActionShift.value : linkReleaseAction.value; + switch (action) { + case LinkReleaseTriggerAction.SEARCH_BOX: + showSearchBox(e); + break; + case LinkReleaseTriggerAction.CONTEXT_MENU: + showContextMenu(e); + break; + case LinkReleaseTriggerAction.NO_ACTION: + default: + break; + } + }, "handleCanvasEmptyRelease"); + useEventListener(document, "litegraph:canvas", canvasEventHandler); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", null, [ + createVNode(unref(script$p), { + visible: unref(visible), + "onUpdate:visible": _cache[0] || (_cache[0] = ($event) => isRef(visible) ? visible.value = $event : null), + modal: "", + "dismissable-mask": dismissable.value, + onHide: clearFilters, + pt: { + root: { + class: "invisible-dialog-root", + role: "search" + }, + mask: { class: "node-search-box-dialog-mask" }, + transition: { + enterFromClass: "opacity-0 scale-75", + // 100ms is the duration of the transition in the dialog component + enterActiveClass: "transition-all duration-100 ease-out", + leaveActiveClass: "transition-all duration-100 ease-in", + leaveToClass: "opacity-0 scale-75" + } + } + }, { + container: withCtx(() => [ + createVNode(_sfc_main$h, { + filters: nodeFilters.value, + onAddFilter: addFilter, + onRemoveFilter: removeFilter, + onAddNode: addNode + }, null, 8, ["filters"]) + ]), + _: 1 + }, 8, ["visible", "dismissable-mask"]) + ]); + }; + } +}); +var theme$4 = /* @__PURE__ */ __name(function theme4(_ref) { + var dt = _ref.dt; + return "\n.p-overlaybadge {\n position: relative;\n}\n\n.p-overlaybadge .p-badge {\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n transform-origin: 100% 0;\n margin: 0;\n outline-width: ".concat(dt("overlaybadge.outline.width"), ";\n outline-style: solid;\n outline-color: ").concat(dt("overlaybadge.outline.color"), ";\n}\n"); +}, "theme"); +var classes$4 = { + root: "p-overlaybadge" +}; +var OverlayBadgeStyle = BaseStyle.extend({ + name: "overlaybadge", + theme: theme$4, + classes: classes$4 +}); +var script$1$4 = { + name: "OverlayBadge", + "extends": script$q, + style: OverlayBadgeStyle, + provide: /* @__PURE__ */ __name(function provide8() { + return { + $pcOverlayBadge: this, + $parentInstance: this + }; + }, "provide") +}; +var script$6 = { + name: "OverlayBadge", + "extends": script$1$4, + inheritAttrs: false, + components: { + Badge: script$q + } +}; +function render$b(_ctx, _cache, $props, $setup, $data, $options) { + var _component_Badge = resolveComponent("Badge"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default"), createVNode(_component_Badge, mergeProps(_ctx.$props, { + pt: _ctx.ptm("pcBadge") + }), null, 16, ["pt"])], 16); +} +__name(render$b, "render$b"); +script$6.render = render$b; +const _sfc_main$f = /* @__PURE__ */ defineComponent({ + __name: "SidebarIcon", + props: { + icon: String, + selected: Boolean, + tooltip: { + type: String, + default: "" + }, + class: { + type: String, + default: "" + }, + iconBadge: { + type: [String, Function], + default: "" + } + }, + emits: ["click"], + setup(__props, { emit: __emit }) { + const props = __props; + const emit = __emit; + const overlayValue = computed( + () => typeof props.iconBadge === "function" ? props.iconBadge() || "" : props.iconBadge + ); + const shouldShowBadge = computed(() => !!overlayValue.value); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return withDirectives((openBlock(), createBlock(unref(script$d), { + class: normalizeClass(props.class), + text: "", + pt: { + root: { + class: `side-bar-button ${props.selected ? "p-button-primary side-bar-button-selected" : "p-button-secondary"}`, + "aria-label": props.tooltip + } + }, + onClick: _cache[0] || (_cache[0] = ($event) => emit("click", $event)) + }, { + icon: withCtx(() => [ + shouldShowBadge.value ? (openBlock(), createBlock(unref(script$6), { + key: 0, + value: overlayValue.value + }, { + default: withCtx(() => [ + createBaseVNode("i", { + class: normalizeClass(props.icon + " side-bar-button-icon") + }, null, 2) + ]), + _: 1 + }, 8, ["value"])) : (openBlock(), createElementBlock("i", { + key: 1, + class: normalizeClass(props.icon + " side-bar-button-icon") + }, null, 2)) + ]), + _: 1 + }, 8, ["class", "pt"])), [ + [_directive_tooltip, { value: props.tooltip, showDelay: 300, hideDelay: 300 }] + ]); + }; + } +}); +const SidebarIcon = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-6ab4daa6"]]); +const _sfc_main$e = /* @__PURE__ */ defineComponent({ + __name: "SidebarLogoutIcon", + setup(__props) { + const { t } = useI18n(); + const userStore = useUserStore(); + const tooltip = computed( + () => `${t("sideToolbar.logout")} (${userStore.currentUser?.username})` + ); + const logout = /* @__PURE__ */ __name(() => { + userStore.logout(); + window.location.reload(); + }, "logout"); + return (_ctx, _cache) => { + return openBlock(), createBlock(SidebarIcon, { + icon: "pi pi-sign-out", + tooltip: tooltip.value, + onClick: logout + }, null, 8, ["tooltip"]); + }; + } +}); +const _sfc_main$d = /* @__PURE__ */ defineComponent({ + __name: "SidebarSettingsToggleIcon", + setup(__props) { + const dialogStore = useDialogStore(); + const showSetting = /* @__PURE__ */ __name(() => { + dialogStore.showDialog({ + key: "global-settings", + headerComponent: SettingDialogHeader, + component: SettingDialogContent + }); + }, "showSetting"); + return (_ctx, _cache) => { + return openBlock(), createBlock(SidebarIcon, { + icon: "pi pi-cog", + class: "comfy-settings-btn", + onClick: showSetting, + tooltip: _ctx.$t("g.settings") + }, null, 8, ["tooltip"]); + }; + } +}); +const _sfc_main$c = /* @__PURE__ */ defineComponent({ + __name: "SidebarThemeToggleIcon", + setup(__props) { + const settingStore = useSettingStore(); + const currentTheme = computed(() => settingStore.get("Comfy.ColorPalette")); + const icon = computed( + () => currentTheme.value !== "light" ? "pi pi-moon" : "pi pi-sun" + ); + const commandStore = useCommandStore(); + const toggleTheme = /* @__PURE__ */ __name(() => { + commandStore.execute("Comfy.ToggleTheme"); + }, "toggleTheme"); + return (_ctx, _cache) => { + return openBlock(), createBlock(SidebarIcon, { + icon: icon.value, + onClick: toggleTheme, + tooltip: _ctx.$t("sideToolbar.themeToggle"), + class: "comfy-vue-theme-toggle" + }, null, 8, ["icon", "tooltip"]); + }; + } +}); +const _withScopeId$4 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-37d8d7b4"), n = n(), popScopeId(), n), "_withScopeId$4"); +const _hoisted_1$e = { class: "side-tool-bar-end" }; +const _hoisted_2$b = { + key: 0, + class: "sidebar-content-container h-full overflow-y-auto overflow-x-hidden" +}; +const _sfc_main$b = /* @__PURE__ */ defineComponent({ + __name: "SideToolbar", + setup(__props) { + const workspaceStore = useWorkspaceStore(); + const settingStore = useSettingStore(); + const userStore = useUserStore(); + const teleportTarget = computed( + () => settingStore.get("Comfy.Sidebar.Location") === "left" ? ".comfyui-body-left" : ".comfyui-body-right" + ); + const isSmall = computed( + () => settingStore.get("Comfy.Sidebar.Size") === "small" + ); + const tabs = computed(() => workspaceStore.getSidebarTabs()); + const selectedTab = computed(() => workspaceStore.sidebarTab.activeSidebarTab); + const onTabClick = /* @__PURE__ */ __name((item3) => { + workspaceStore.sidebarTab.toggleSidebarTab(item3.id); + }, "onTabClick"); + const keybindingStore = useKeybindingStore(); + const getTabTooltipSuffix = /* @__PURE__ */ __name((tab) => { + const keybinding = keybindingStore.getKeybindingByCommandId( + `Workspace.ToggleSidebarTab.${tab.id}` + ); + return keybinding ? ` (${keybinding.combo.toString()})` : ""; + }, "getTabTooltipSuffix"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + (openBlock(), createBlock(Teleport, { to: teleportTarget.value }, [ + createBaseVNode("nav", { + class: normalizeClass("side-tool-bar-container" + (isSmall.value ? " small-sidebar" : "")) + }, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tab) => { + return openBlock(), createBlock(SidebarIcon, { + key: tab.id, + icon: tab.icon, + iconBadge: tab.iconBadge, + tooltip: tab.tooltip + getTabTooltipSuffix(tab), + selected: tab.id === selectedTab.value?.id, + class: normalizeClass(tab.id + "-tab-button"), + onClick: /* @__PURE__ */ __name(($event) => onTabClick(tab), "onClick") + }, null, 8, ["icon", "iconBadge", "tooltip", "selected", "class", "onClick"]); + }), 128)), + createBaseVNode("div", _hoisted_1$e, [ + unref(userStore).isMultiUserServer ? (openBlock(), createBlock(_sfc_main$e, { key: 0 })) : createCommentVNode("", true), + createVNode(_sfc_main$c), + createVNode(_sfc_main$d) + ]) + ], 2) + ], 8, ["to"])), + selectedTab.value ? (openBlock(), createElementBlock("div", _hoisted_2$b, [ + createVNode(_sfc_main$p, { extension: selectedTab.value }, null, 8, ["extension"]) + ])) : createCommentVNode("", true) + ], 64); + }; + } +}); +const SideToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-37d8d7b4"]]); +const CORE_SETTINGS = [ + { + id: "Comfy.Validation.Workflows", + name: "Validate workflows", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.NodeSearchBoxImpl", + category: ["Comfy", "Node Search Box", "Implementation"], + experimental: true, + name: "Node search box implementation", + type: "combo", + options: ["default", "litegraph (legacy)"], + defaultValue: "default" + }, + { + id: "Comfy.LinkRelease.Action", + category: ["LiteGraph", "LinkRelease", "Action"], + name: "Action on link release (No modifier)", + type: "combo", + options: Object.values(LinkReleaseTriggerAction), + defaultValue: LinkReleaseTriggerAction.CONTEXT_MENU + }, + { + id: "Comfy.LinkRelease.ActionShift", + category: ["LiteGraph", "LinkRelease", "ActionShift"], + name: "Action on link release (Shift)", + type: "combo", + options: Object.values(LinkReleaseTriggerAction), + defaultValue: LinkReleaseTriggerAction.SEARCH_BOX + }, + { + id: "Comfy.NodeSearchBoxImpl.NodePreview", + category: ["Comfy", "Node Search Box", "NodePreview"], + name: "Node preview", + tooltip: "Only applies to the default implementation", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.NodeSearchBoxImpl.ShowCategory", + category: ["Comfy", "Node Search Box", "ShowCategory"], + name: "Show node category in search results", + tooltip: "Only applies to the default implementation", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.NodeSearchBoxImpl.ShowIdName", + category: ["Comfy", "Node Search Box", "ShowIdName"], + name: "Show node id name in search results", + tooltip: "Only applies to the default implementation", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.NodeSearchBoxImpl.ShowNodeFrequency", + category: ["Comfy", "Node Search Box", "ShowNodeFrequency"], + name: "Show node frequency in search results", + tooltip: "Only applies to the default implementation", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.Sidebar.Location", + category: ["Appearance", "Sidebar", "Location"], + name: "Sidebar location", + type: "combo", + options: ["left", "right"], + defaultValue: "left" + }, + { + id: "Comfy.Sidebar.Size", + category: ["Appearance", "Sidebar", "Size"], + name: "Sidebar size", + type: "combo", + options: ["normal", "small"], + defaultValue: /* @__PURE__ */ __name(() => window.innerWidth < 1600 ? "small" : "normal", "defaultValue") + }, + { + id: "Comfy.TextareaWidget.FontSize", + category: ["Appearance", "Node Widget", "TextareaWidget", "FontSize"], + name: "Textarea widget font size", + type: "slider", + defaultValue: 10, + attrs: { + min: 8, + max: 24 + } + }, + { + id: "Comfy.TextareaWidget.Spellcheck", + category: ["Comfy", "Node Widget", "TextareaWidget", "Spellcheck"], + name: "Textarea widget spellcheck", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.Workflow.SortNodeIdOnSave", + name: "Sort node IDs when saving workflow", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.Graph.CanvasInfo", + category: ["LiteGraph", "Canvas", "CanvasInfo"], + name: "Show canvas info on bottom left corner (fps, etc.)", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Node.ShowDeprecated", + name: "Show deprecated nodes in search", + tooltip: "Deprecated nodes are hidden by default in the UI, but remain functional in existing workflows that use them.", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.Node.ShowExperimental", + name: "Show experimental nodes in search", + tooltip: "Experimental nodes are marked as such in the UI and may be subject to significant changes or removal in future versions. Use with caution in production workflows", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Node.Opacity", + category: ["Appearance", "Node", "Opacity"], + name: "Node opacity", + type: "slider", + defaultValue: 1, + attrs: { + min: 0.01, + max: 1, + step: 0.01 + } + }, + { + id: "Comfy.Workflow.ShowMissingNodesWarning", + name: "Show missing nodes warning", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Workflow.ShowMissingModelsWarning", + name: "Show missing models warning", + type: "boolean", + defaultValue: false, + experimental: true + }, + { + id: "Comfy.Graph.ZoomSpeed", + category: ["LiteGraph", "Canvas", "ZoomSpeed"], + name: "Canvas zoom speed", + type: "slider", + defaultValue: 1.1, + attrs: { + min: 1.01, + max: 2.5, + step: 0.01 + } + }, + // Bookmarks are stored in the settings store. + // Bookmarks are in format of category/display_name. e.g. "conditioning/CLIPTextEncode" + { + id: "Comfy.NodeLibrary.Bookmarks", + name: "Node library bookmarks with display name (deprecated)", + type: "hidden", + defaultValue: [], + deprecated: true + }, + { + id: "Comfy.NodeLibrary.Bookmarks.V2", + name: "Node library bookmarks v2 with unique name", + type: "hidden", + defaultValue: [] + }, + // Stores mapping from bookmark folder name to its customization. + { + id: "Comfy.NodeLibrary.BookmarksCustomization", + name: "Node library bookmarks customization", + type: "hidden", + defaultValue: {} + }, + // Hidden setting used by the queue for how to fit images + { + id: "Comfy.Queue.ImageFit", + name: "Queue image fit", + type: "hidden", + defaultValue: "cover" + }, + { + id: "Comfy.GroupSelectedNodes.Padding", + category: ["LiteGraph", "Group", "Padding"], + name: "Group selected nodes padding", + type: "slider", + defaultValue: 10, + attrs: { + min: 0, + max: 100 + } + }, + { + id: "Comfy.Node.DoubleClickTitleToEdit", + category: ["LiteGraph", "Node", "DoubleClickTitleToEdit"], + name: "Double click node title to edit", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Group.DoubleClickTitleToEdit", + category: ["LiteGraph", "Group", "DoubleClickTitleToEdit"], + name: "Double click group title to edit", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Window.UnloadConfirmation", + name: "Show confirmation when closing window", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.TreeExplorer.ItemPadding", + category: ["Appearance", "Tree Explorer", "ItemPadding"], + name: "Tree explorer item padding", + type: "slider", + defaultValue: 2, + attrs: { + min: 0, + max: 8, + step: 1 + } + }, + { + id: "Comfy.ModelLibrary.AutoLoadAll", + name: "Automatically load all model folders", + tooltip: "If true, all folders will load as soon as you open the model library (this may cause delays while it loads). If false, root level model folders will only load once you click on them.", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.ModelLibrary.NameFormat", + name: "What name to display in the model library tree view", + tooltip: 'Select "filename" to render a simplified view of the raw filename (without directory or ".safetensors" extension) in the model list. Select "title" to display the configurable model metadata title.', + type: "combo", + options: ["filename", "title"], + defaultValue: "title" + }, + { + id: "Comfy.Locale", + name: "Language", + type: "combo", + options: [ + { value: "en", text: "English" }, + { value: "zh", text: "中文" }, + { value: "ru", text: "Русский" }, + { value: "ja", text: "日本語" }, + { value: "ko", text: "한국어" }, + { value: "fr", text: "Français" } + ], + defaultValue: /* @__PURE__ */ __name(() => navigator.language.split("-")[0] || "en", "defaultValue") + }, + { + id: "Comfy.NodeBadge.NodeSourceBadgeMode", + category: ["LiteGraph", "Node", "NodeSourceBadgeMode"], + name: "Node source badge mode", + type: "combo", + options: Object.values(NodeBadgeMode), + defaultValue: NodeBadgeMode.HideBuiltIn + }, + { + id: "Comfy.NodeBadge.NodeIdBadgeMode", + category: ["LiteGraph", "Node", "NodeIdBadgeMode"], + name: "Node ID badge mode", + type: "combo", + options: [NodeBadgeMode.None, NodeBadgeMode.ShowAll], + defaultValue: NodeBadgeMode.ShowAll + }, + { + id: "Comfy.NodeBadge.NodeLifeCycleBadgeMode", + category: ["LiteGraph", "Node", "NodeLifeCycleBadgeMode"], + name: "Node life cycle badge mode", + type: "combo", + options: [NodeBadgeMode.None, NodeBadgeMode.ShowAll], + defaultValue: NodeBadgeMode.ShowAll + }, + { + id: "Comfy.ConfirmClear", + category: ["Comfy", "Workflow", "ConfirmClear"], + name: "Require confirmation when clearing workflow", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.PromptFilename", + category: ["Comfy", "Workflow", "PromptFilename"], + name: "Prompt for filename when saving workflow", + type: "boolean", + defaultValue: true + }, + /** + * file format for preview + * + * format;quality + * + * ex) + * webp;50 -> webp, quality 50 + * jpeg;80 -> rgb, jpeg, quality 80 + * + * @type {string} + */ + { + id: "Comfy.PreviewFormat", + category: ["LiteGraph", "Node Widget", "PreviewFormat"], + name: "Preview image format", + tooltip: "When displaying a preview in the image widget, convert it to a lightweight image, e.g. webp, jpeg, webp;50, etc.", + type: "text", + defaultValue: "" + }, + { + id: "Comfy.DisableSliders", + category: ["LiteGraph", "Node Widget", "DisableSliders"], + name: "Disable node widget sliders", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.DisableFloatRounding", + category: ["LiteGraph", "Node Widget", "DisableFloatRounding"], + name: "Disable default float widget rounding.", + tooltip: "(requires page reload) Cannot disable round when round is set by the node in the backend.", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.FloatRoundingPrecision", + category: ["LiteGraph", "Node Widget", "FloatRoundingPrecision"], + name: "Float widget rounding decimal places [0 = auto].", + tooltip: "(requires page reload)", + type: "slider", + attrs: { + min: 0, + max: 6, + step: 1 + }, + defaultValue: 0 + }, + { + id: "Comfy.EnableTooltips", + category: ["LiteGraph", "Node", "EnableTooltips"], + name: "Enable Tooltips", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.DevMode", + name: "Enable dev mode options (API save, etc.)", + type: "boolean", + defaultValue: false, + onChange: /* @__PURE__ */ __name((value) => { + const element = document.getElementById("comfy-dev-save-api-button"); + if (element) { + element.style.display = value ? "flex" : "none"; + } + }, "onChange") + }, + { + id: "Comfy.UseNewMenu", + category: ["Comfy", "Menu", "UseNewMenu"], + defaultValue: "Top", + name: "Use new menu", + type: "combo", + options: ["Disabled", "Top", "Bottom"], + migrateDeprecatedValue: /* @__PURE__ */ __name((value) => { + if (value === "Floating") { + return "Top"; + } + return value; + }, "migrateDeprecatedValue") + }, + { + id: "Comfy.Workflow.WorkflowTabsPosition", + name: "Opened workflows position", + type: "combo", + options: ["Sidebar", "Topbar"], + defaultValue: "Topbar" + }, + { + id: "Comfy.Graph.CanvasMenu", + category: ["LiteGraph", "Canvas", "CanvasMenu"], + name: "Show graph canvas menu", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.QueueButton.BatchCountLimit", + name: "Batch count limit", + tooltip: "The maximum number of tasks added to the queue at one button click", + type: "number", + defaultValue: 100, + versionAdded: "1.3.5" + }, + { + id: "Comfy.Keybinding.UnsetBindings", + name: "Keybindings unset by the user", + type: "hidden", + defaultValue: [], + versionAdded: "1.3.7" + }, + { + id: "Comfy.Keybinding.NewBindings", + name: "Keybindings set by the user", + type: "hidden", + defaultValue: [], + versionAdded: "1.3.7" + }, + { + id: "Comfy.Extension.Disabled", + name: "Disabled extension names", + type: "hidden", + defaultValue: [], + versionAdded: "1.3.11" + }, + { + id: "Comfy.Validation.NodeDefs", + name: "Validate node definitions (slow)", + type: "boolean", + tooltip: "Recommended for node developers. This will validate all node definitions on startup.", + defaultValue: false, + versionAdded: "1.3.14" + }, + { + id: "Comfy.LinkRenderMode", + category: ["LiteGraph", "Graph", "LinkRenderMode"], + name: "Link Render Mode", + defaultValue: 2, + type: "combo", + options: [ + { value: LiteGraph.STRAIGHT_LINK, text: "Straight" }, + { value: LiteGraph.LINEAR_LINK, text: "Linear" }, + { value: LiteGraph.SPLINE_LINK, text: "Spline" }, + { value: LiteGraph.HIDDEN_LINK, text: "Hidden" } + ] + }, + { + id: "Comfy.Node.AutoSnapLinkToSlot", + category: ["LiteGraph", "Node", "AutoSnapLinkToSlot"], + name: "Auto snap link to node slot", + tooltip: "When dragging a link over a node, the link automatically snap to a viable input slot on the node", + type: "boolean", + defaultValue: true, + versionAdded: "1.3.29" + }, + { + id: "Comfy.Node.SnapHighlightsNode", + category: ["LiteGraph", "Node", "SnapHighlightsNode"], + name: "Snap highlights node", + tooltip: "When dragging a link over a node with viable input slot, highlight the node", + type: "boolean", + defaultValue: true, + versionAdded: "1.3.29" + }, + { + id: "Comfy.Node.BypassAllLinksOnDelete", + category: ["LiteGraph", "Node", "BypassAllLinksOnDelete"], + name: "Keep all links when deleting nodes", + tooltip: "When deleting a node, attempt to reconnect all of its input and output links (bypassing the deleted node)", + type: "boolean", + defaultValue: true, + versionAdded: "1.3.40" + }, + { + id: "Comfy.Node.MiddleClickRerouteNode", + category: ["LiteGraph", "Node", "MiddleClickRerouteNode"], + name: "Middle-click creates a new Reroute node", + type: "boolean", + defaultValue: true, + versionAdded: "1.3.42" + }, + { + id: "Comfy.RerouteBeta", + category: ["LiteGraph", "RerouteBeta"], + name: "Opt-in to the reroute beta test", + tooltip: "Enables the new native reroutes.\n\nReroutes can be added by holding alt and dragging from a link line, or on the link menu.\n\nDisabling this option is non-destructive - reroutes are hidden.", + experimental: true, + type: "boolean", + defaultValue: false, + versionAdded: "1.3.42" + }, + { + id: "Comfy.Graph.LinkMarkers", + category: ["LiteGraph", "Link", "LinkMarkers"], + name: "Link midpoint markers", + defaultValue: LinkMarkerShape.Circle, + type: "combo", + options: [ + { value: LinkMarkerShape.None, text: "None" }, + { value: LinkMarkerShape.Circle, text: "Circle" }, + { value: LinkMarkerShape.Arrow, text: "Arrow" } + ], + versionAdded: "1.3.42" + }, + { + id: "Comfy.DOMClippingEnabled", + category: ["LiteGraph", "Node", "DOMClippingEnabled"], + name: "Enable DOM element clipping (enabling may reduce performance)", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Graph.CtrlShiftZoom", + category: ["LiteGraph", "Canvas", "CtrlShiftZoom"], + name: "Enable fast-zoom shortcut (Ctrl + Shift + Drag)", + type: "boolean", + defaultValue: true, + versionAdded: "1.4.0" + }, + { + id: "Comfy.Pointer.ClickDrift", + category: ["LiteGraph", "Pointer", "ClickDrift"], + name: "Pointer click drift (maximum distance)", + tooltip: "If the pointer moves more than this distance while holding a button down, it is considered dragging (rather than clicking).\n\nHelps prevent objects from being unintentionally nudged if the pointer is moved whilst clicking.", + experimental: true, + type: "slider", + attrs: { + min: 0, + max: 20, + step: 1 + }, + defaultValue: 6, + versionAdded: "1.4.3" + }, + { + id: "Comfy.Pointer.ClickBufferTime", + category: ["LiteGraph", "Pointer", "ClickBufferTime"], + name: "Pointer click drift delay", + tooltip: "After pressing a pointer button down, this is the maximum time (in milliseconds) that pointer movement can be ignored for.\n\nHelps prevent objects from being unintentionally nudged if the pointer is moved whilst clicking.", + experimental: true, + type: "slider", + attrs: { + min: 0, + max: 1e3, + step: 25 + }, + defaultValue: 150, + versionAdded: "1.4.3" + }, + { + id: "Comfy.Pointer.DoubleClickTime", + category: ["LiteGraph", "Pointer", "DoubleClickTime"], + name: "Double click interval (maximum)", + tooltip: "The maximum time in milliseconds between the two clicks of a double-click. Increasing this value may assist if double-clicks are sometimes not registered.", + type: "slider", + attrs: { + min: 100, + max: 1e3, + step: 50 + }, + defaultValue: 300, + versionAdded: "1.4.3" + }, + { + id: "Comfy.SnapToGrid.GridSize", + category: ["LiteGraph", "Canvas", "GridSize"], + name: "Snap to grid size", + type: "slider", + attrs: { + min: 1, + max: 500 + }, + tooltip: "When dragging and resizing nodes while holding shift they will be aligned to the grid, this controls the size of that grid.", + defaultValue: LiteGraph.CANVAS_GRID_SIZE + }, + // Keep the 'pysssss.SnapToGrid' setting id so we don't need to migrate setting values. + // Using a new setting id can cause existing users to lose their existing settings. + { + id: "pysssss.SnapToGrid", + category: ["LiteGraph", "Canvas", "AlwaysSnapToGrid"], + name: "Always snap to grid", + type: "boolean", + defaultValue: false, + versionAdded: "1.3.13" + }, + { + id: "Comfy.Server.ServerConfigValues", + name: "Server config values for frontend display", + tooltip: "Server config values used for frontend display only", + type: "hidden", + // Mapping from server config id to value. + defaultValue: {}, + versionAdded: "1.4.8" + }, + { + id: "Comfy.Server.LaunchArgs", + name: "Server launch arguments", + tooltip: "These are the actual arguments that are passed to the server when it is launched.", + type: "hidden", + defaultValue: {}, + versionAdded: "1.4.8" + }, + { + id: "Comfy.Queue.MaxHistoryItems", + name: "Queue history size", + tooltip: "The maximum number of tasks that show in the queue history.", + type: "slider", + attrs: { + min: 16, + max: 256, + step: 16 + }, + defaultValue: 64, + versionAdded: "1.4.12" + }, + { + id: "LiteGraph.Canvas.MaximumFps", + name: "Maxium FPS", + tooltip: "The maximum frames per second that the canvas is allowed to render. Caps GPU usage at the cost of smoothness. If 0, the screen refresh rate is used. Default: 0", + type: "slider", + attrs: { + min: 0, + max: 120 + }, + defaultValue: 0, + versionAdded: "1.5.1" + }, + { + id: "Comfy.EnableWorkflowViewRestore", + category: ["Comfy", "Workflow", "EnableWorkflowViewRestore"], + name: "Save and restore canvas position and zoom level in workflows", + type: "boolean", + defaultValue: true, + versionModified: "1.5.4" + }, + { + id: "Comfy.Workflow.ConfirmDelete", + name: "Show confirmation when deleting workflows", + type: "boolean", + defaultValue: true, + versionAdded: "1.5.6" + }, + { + id: "Comfy.ColorPalette", + name: "The active color palette id", + type: "hidden", + defaultValue: "dark", + versionModified: "1.6.7", + migrateDeprecatedValue(value) { + return value.startsWith("custom_") ? value.replace("custom_", "") : value; + } + }, + { + id: "Comfy.CustomColorPalettes", + name: "Custom color palettes", + type: "hidden", + defaultValue: {}, + versionModified: "1.6.7" + }, + { + id: "Comfy.WidgetControlMode", + category: ["Comfy", "Node Widget", "WidgetControlMode"], + name: "Widget control mode", + tooltip: "Controls when widget values are updated (randomize/increment/decrement), either before the prompt is queued or after.", + type: "combo", + defaultValue: "after", + options: ["before", "after"], + versionModified: "1.6.10" + } +]; +const _sfc_main$a = /* @__PURE__ */ defineComponent({ + __name: "GraphCanvas", + emits: ["ready"], + setup(__props, { emit: __emit }) { + const emit = __emit; + const canvasRef = ref(null); + const litegraphService = useLitegraphService(); + const settingStore = useSettingStore(); + const nodeDefStore = useNodeDefStore(); + const workspaceStore = useWorkspaceStore(); + const canvasStore = useCanvasStore(); + const modelToNodeStore = useModelToNodeStore(); + const betaMenuEnabled = computed( + () => settingStore.get("Comfy.UseNewMenu") !== "Disabled" + ); + const canvasMenuEnabled = computed( + () => settingStore.get("Comfy.Graph.CanvasMenu") + ); + const tooltipEnabled = computed(() => settingStore.get("Comfy.EnableTooltips")); + watchEffect(() => { + const canvasInfoEnabled = settingStore.get("Comfy.Graph.CanvasInfo"); + if (canvasStore.canvas) { + canvasStore.canvas.show_info = canvasInfoEnabled; + } + }); + watchEffect(() => { + const zoomSpeed = settingStore.get("Comfy.Graph.ZoomSpeed"); + if (canvasStore.canvas) { + canvasStore.canvas.zoom_speed = zoomSpeed; + } + }); + watchEffect(() => { + LiteGraph.snaps_for_comfy = settingStore.get("Comfy.Node.AutoSnapLinkToSlot"); + }); + watchEffect(() => { + LiteGraph.snap_highlights_node = settingStore.get( + "Comfy.Node.SnapHighlightsNode" + ); + }); + watchEffect(() => { + LGraphNode.keepAllLinksOnBypass = settingStore.get( + "Comfy.Node.BypassAllLinksOnDelete" + ); + }); + watchEffect(() => { + LiteGraph.middle_click_slot_add_default_node = settingStore.get( + "Comfy.Node.MiddleClickRerouteNode" + ); + }); + watchEffect(() => { + nodeDefStore.showDeprecated = settingStore.get("Comfy.Node.ShowDeprecated"); + }); + watchEffect(() => { + nodeDefStore.showExperimental = settingStore.get( + "Comfy.Node.ShowExperimental" + ); + }); + watchEffect(() => { + const spellcheckEnabled = settingStore.get("Comfy.TextareaWidget.Spellcheck"); + const textareas = document.querySelectorAll("textarea.comfy-multiline-input"); + textareas.forEach((textarea) => { + textarea.spellcheck = spellcheckEnabled; + textarea.focus(); + textarea.blur(); + }); + }); + watchEffect(() => { + const linkRenderMode = settingStore.get("Comfy.LinkRenderMode"); + if (canvasStore.canvas) { + canvasStore.canvas.links_render_mode = linkRenderMode; + canvasStore.canvas.setDirty( + /* fg */ + false, + /* bg */ + true + ); + } + }); + watchEffect(() => { + const linkMarkerShape = settingStore.get("Comfy.Graph.LinkMarkers"); + const { canvas } = canvasStore; + if (canvas) { + canvas.linkMarkerShape = linkMarkerShape; + canvas.setDirty(false, true); + } + }); + watchEffect(() => { + const reroutesEnabled = settingStore.get("Comfy.RerouteBeta"); + const { canvas } = canvasStore; + if (canvas) { + canvas.reroutesEnabled = reroutesEnabled; + canvas.setDirty(false, true); + } + }); + watchEffect(() => { + const maximumFps = settingStore.get("LiteGraph.Canvas.MaximumFps"); + const { canvas } = canvasStore; + if (canvas) canvas.maximumFps = maximumFps; + }); + watchEffect(() => { + CanvasPointer.doubleClickTime = settingStore.get( + "Comfy.Pointer.DoubleClickTime" + ); + }); + watchEffect(() => { + CanvasPointer.bufferTime = settingStore.get("Comfy.Pointer.ClickBufferTime"); + }); + watchEffect(() => { + CanvasPointer.maxClickDrift = settingStore.get("Comfy.Pointer.ClickDrift"); + }); + watchEffect(() => { + LiteGraph.CANVAS_GRID_SIZE = settingStore.get("Comfy.SnapToGrid.GridSize"); + }); + watchEffect(() => { + LiteGraph.alwaysSnapToGrid = settingStore.get("pysssss.SnapToGrid"); + }); + watch( + () => settingStore.get("Comfy.WidgetControlMode"), + () => { + if (!canvasStore.canvas) return; + for (const n of app.graph.nodes) { + if (!n.widgets) continue; + for (const w of n.widgets) { + if (w[IS_CONTROL_WIDGET]) { + updateControlWidgetLabel(w); + if (w.linkedWidgets) { + for (const l of w.linkedWidgets) { + updateControlWidgetLabel(l); + } + } + } + } + } + app.graph.setDirtyCanvas(true); + } + ); + const colorPaletteService = useColorPaletteService(); + const colorPaletteStore = useColorPaletteStore(); + watch( + [() => canvasStore.canvas, () => settingStore.get("Comfy.ColorPalette")], + ([canvas, currentPaletteId]) => { + if (!canvas) return; + colorPaletteService.loadColorPalette(currentPaletteId); + } + ); + watch( + () => colorPaletteStore.activePaletteId, + (newValue) => { + settingStore.set("Comfy.ColorPalette", newValue); + } + ); + const workflowStore = useWorkflowStore(); + const persistCurrentWorkflow = /* @__PURE__ */ __name(() => { + const workflow = JSON.stringify(app.serializeGraph()); + localStorage.setItem("workflow", workflow); + if (api.clientId) { + sessionStorage.setItem(`workflow:${api.clientId}`, workflow); + } + }, "persistCurrentWorkflow"); + watchEffect(() => { + if (workflowStore.activeWorkflow) { + const workflow = workflowStore.activeWorkflow; + setStorageValue("Comfy.PreviousWorkflow", workflow.key); + persistCurrentWorkflow(); + } + }); + api.addEventListener("graphChanged", persistCurrentWorkflow); + usePragmaticDroppable(() => canvasRef.value, { + onDrop: /* @__PURE__ */ __name((event) => { + const loc = event.location.current.input; + const dndData = event.source.data; + if (dndData.type === "tree-explorer-node") { + const node = dndData.data; + if (node.data instanceof ComfyNodeDefImpl) { + const nodeDef = node.data; + const pos = app.clientPosToCanvasPos([ + loc.clientX - 20, + loc.clientY + ]); + litegraphService.addNodeOnGraph(nodeDef, { pos }); + } else if (node.data instanceof ComfyModelDef) { + const model = node.data; + const pos = app.clientPosToCanvasPos([loc.clientX, loc.clientY]); + const nodeAtPos = app.graph.getNodeOnPos(pos[0], pos[1]); + let targetProvider = null; + let targetGraphNode = null; + if (nodeAtPos) { + const providers = modelToNodeStore.getAllNodeProviders( + model.directory + ); + for (const provider of providers) { + if (provider.nodeDef.name === nodeAtPos.comfyClass) { + targetGraphNode = nodeAtPos; + targetProvider = provider; + } + } + } + if (!targetGraphNode) { + const provider = modelToNodeStore.getNodeProvider(model.directory); + if (provider) { + targetGraphNode = litegraphService.addNodeOnGraph( + provider.nodeDef, + { + pos + } + ); + targetProvider = provider; + } + } + if (targetGraphNode) { + const widget = targetGraphNode.widgets.find( + (widget2) => widget2.name === targetProvider.key + ); + if (widget) { + widget.value = model.file_name; + } + } + } + } + }, "onDrop") + }); + const comfyAppReady = ref(false); + onMounted(async () => { + window["LiteGraph"] = LiteGraph; + window["LGraph"] = LGraph; + window["LLink"] = LLink; + window["LGraphNode"] = LGraphNode; + window["LGraphGroup"] = LGraphGroup; + window["DragAndScale"] = DragAndScale; + window["LGraphCanvas"] = LGraphCanvas; + window["ContextMenu"] = ContextMenu; + window["LGraphBadge"] = LGraphBadge; + app.vueAppReady = true; + workspaceStore.spinner = true; + ChangeTracker.init(app); + await settingStore.loadSettingValues(); + CORE_SETTINGS.forEach((setting) => { + settingStore.addSetting(setting); + }); + await app.setup(canvasRef.value); + canvasStore.canvas = app.canvas; + canvasStore.canvas.render_canvas_border = false; + workspaceStore.spinner = false; + window["app"] = app; + window["graph"] = app.graph; + comfyAppReady.value = true; + colorPaletteStore.customPalettes = settingStore.get( + "Comfy.CustomColorPalettes" + ); + watch( + () => settingStore.get("Comfy.Locale"), + async () => { + await useCommandStore().execute("Comfy.RefreshNodeDefinitions"); + useWorkflowService().reloadCurrentWorkflow(); + } + ); + emit("ready"); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + (openBlock(), createBlock(Teleport, { to: ".graph-canvas-container" }, [ + comfyAppReady.value && betaMenuEnabled.value && !unref(workspaceStore).focusMode ? (openBlock(), createBlock(LiteGraphCanvasSplitterOverlay, { key: 0 }, { + "side-bar-panel": withCtx(() => [ + createVNode(SideToolbar) + ]), + "bottom-panel": withCtx(() => [ + createVNode(_sfc_main$o) + ]), + "graph-canvas-panel": withCtx(() => [ + canvasMenuEnabled.value ? (openBlock(), createBlock(GraphCanvasMenu, { key: 0 })) : createCommentVNode("", true) + ]), + _: 1 + })) : createCommentVNode("", true), + createVNode(TitleEditor), + !betaMenuEnabled.value && canvasMenuEnabled.value ? (openBlock(), createBlock(GraphCanvasMenu, { key: 1 })) : createCommentVNode("", true), + createBaseVNode("canvas", { + ref_key: "canvasRef", + ref: canvasRef, + id: "graph-canvas", + tabindex: "1" + }, null, 512) + ])), + createVNode(_sfc_main$g), + tooltipEnabled.value ? (openBlock(), createBlock(NodeTooltip, { key: 0 })) : createCommentVNode("", true), + createVNode(_sfc_main$m) + ], 64); + }; + } +}); +function _typeof$3(o) { + "@babel/helpers - typeof"; + return _typeof$3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$3(o); +} +__name(_typeof$3, "_typeof$3"); +function _defineProperty$3(e, r, t) { + return (r = _toPropertyKey$3(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$3, "_defineProperty$3"); +function _toPropertyKey$3(t) { + var i = _toPrimitive$3(t, "string"); + return "symbol" == _typeof$3(i) ? i : i + ""; +} +__name(_toPropertyKey$3, "_toPropertyKey$3"); +function _toPrimitive$3(t, r) { + if ("object" != _typeof$3(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$3(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$3, "_toPrimitive$3"); +var theme$3 = /* @__PURE__ */ __name(function theme5(_ref) { + var dt = _ref.dt; + return "\n.p-toast {\n width: ".concat(dt("toast.width"), ";\n white-space: pre-line;\n word-break: break-word;\n}\n\n.p-toast-message {\n margin: 0 0 1rem 0;\n}\n\n.p-toast-message-icon {\n flex-shrink: 0;\n font-size: ").concat(dt("toast.icon.size"), ";\n width: ").concat(dt("toast.icon.size"), ";\n height: ").concat(dt("toast.icon.size"), ";\n}\n\n.p-toast-message-content {\n display: flex;\n align-items: flex-start;\n padding: ").concat(dt("toast.content.padding"), ";\n gap: ").concat(dt("toast.content.gap"), ";\n}\n\n.p-toast-message-text {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("toast.text.gap"), ";\n}\n\n.p-toast-summary {\n font-weight: ").concat(dt("toast.summary.font.weight"), ";\n font-size: ").concat(dt("toast.summary.font.size"), ";\n}\n\n.p-toast-detail {\n font-weight: ").concat(dt("toast.detail.font.weight"), ";\n font-size: ").concat(dt("toast.detail.font.size"), ";\n}\n\n.p-toast-close-button {\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n cursor: pointer;\n background: transparent;\n transition: background ").concat(dt("toast.transition.duration"), ", color ").concat(dt("toast.transition.duration"), ", outline-color ").concat(dt("toast.transition.duration"), ", box-shadow ").concat(dt("toast.transition.duration"), ";\n outline-color: transparent;\n color: inherit;\n width: ").concat(dt("toast.close.button.width"), ";\n height: ").concat(dt("toast.close.button.height"), ";\n border-radius: ").concat(dt("toast.close.button.border.radius"), ";\n margin: -25% 0 0 0;\n right: -25%;\n padding: 0;\n border: none;\n user-select: none;\n}\n\n.p-toast-message-info,\n.p-toast-message-success,\n.p-toast-message-warn,\n.p-toast-message-error,\n.p-toast-message-secondary,\n.p-toast-message-contrast {\n border-width: ").concat(dt("toast.border.width"), ";\n border-style: solid;\n backdrop-filter: blur(").concat(dt("toast.blur"), ");\n border-radius: ").concat(dt("toast.border.radius"), ";\n}\n\n.p-toast-close-icon {\n font-size: ").concat(dt("toast.close.icon.size"), ";\n width: ").concat(dt("toast.close.icon.size"), ";\n height: ").concat(dt("toast.close.icon.size"), ";\n}\n\n.p-toast-close-button:focus-visible {\n outline-width: ").concat(dt("focus.ring.width"), ";\n outline-style: ").concat(dt("focus.ring.style"), ";\n outline-offset: ").concat(dt("focus.ring.offset"), ";\n}\n\n.p-toast-message-info {\n background: ").concat(dt("toast.info.background"), ";\n border-color: ").concat(dt("toast.info.border.color"), ";\n color: ").concat(dt("toast.info.color"), ";\n box-shadow: ").concat(dt("toast.info.shadow"), ";\n}\n\n.p-toast-message-info .p-toast-detail {\n color: ").concat(dt("toast.info.detail.color"), ";\n}\n\n.p-toast-message-info .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.info.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.info.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-info .p-toast-close-button:hover {\n background: ").concat(dt("toast.info.close.button.hover.background"), ";\n}\n\n.p-toast-message-success {\n background: ").concat(dt("toast.success.background"), ";\n border-color: ").concat(dt("toast.success.border.color"), ";\n color: ").concat(dt("toast.success.color"), ";\n box-shadow: ").concat(dt("toast.success.shadow"), ";\n}\n\n.p-toast-message-success .p-toast-detail {\n color: ").concat(dt("toast.success.detail.color"), ";\n}\n\n.p-toast-message-success .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.success.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.success.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-success .p-toast-close-button:hover {\n background: ").concat(dt("toast.success.close.button.hover.background"), ";\n}\n\n.p-toast-message-warn {\n background: ").concat(dt("toast.warn.background"), ";\n border-color: ").concat(dt("toast.warn.border.color"), ";\n color: ").concat(dt("toast.warn.color"), ";\n box-shadow: ").concat(dt("toast.warn.shadow"), ";\n}\n\n.p-toast-message-warn .p-toast-detail {\n color: ").concat(dt("toast.warn.detail.color"), ";\n}\n\n.p-toast-message-warn .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.warn.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.warn.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-warn .p-toast-close-button:hover {\n background: ").concat(dt("toast.warn.close.button.hover.background"), ";\n}\n\n.p-toast-message-error {\n background: ").concat(dt("toast.error.background"), ";\n border-color: ").concat(dt("toast.error.border.color"), ";\n color: ").concat(dt("toast.error.color"), ";\n box-shadow: ").concat(dt("toast.error.shadow"), ";\n}\n\n.p-toast-message-error .p-toast-detail {\n color: ").concat(dt("toast.error.detail.color"), ";\n}\n\n.p-toast-message-error .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.error.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.error.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-error .p-toast-close-button:hover {\n background: ").concat(dt("toast.error.close.button.hover.background"), ";\n}\n\n.p-toast-message-secondary {\n background: ").concat(dt("toast.secondary.background"), ";\n border-color: ").concat(dt("toast.secondary.border.color"), ";\n color: ").concat(dt("toast.secondary.color"), ";\n box-shadow: ").concat(dt("toast.secondary.shadow"), ";\n}\n\n.p-toast-message-secondary .p-toast-detail {\n color: ").concat(dt("toast.secondary.detail.color"), ";\n}\n\n.p-toast-message-secondary .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.secondary.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.secondary.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-secondary .p-toast-close-button:hover {\n background: ").concat(dt("toast.secondary.close.button.hover.background"), ";\n}\n\n.p-toast-message-contrast {\n background: ").concat(dt("toast.contrast.background"), ";\n border-color: ").concat(dt("toast.contrast.border.color"), ";\n color: ").concat(dt("toast.contrast.color"), ";\n box-shadow: ").concat(dt("toast.contrast.shadow"), ";\n}\n\n.p-toast-message-contrast .p-toast-detail {\n color: ").concat(dt("toast.contrast.detail.color"), ";\n}\n\n.p-toast-message-contrast .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.contrast.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.contrast.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-contrast .p-toast-close-button:hover {\n background: ").concat(dt("toast.contrast.close.button.hover.background"), ";\n}\n\n.p-toast-top-center {\n transform: translateX(-50%);\n}\n\n.p-toast-bottom-center {\n transform: translateX(-50%);\n}\n\n.p-toast-center {\n min-width: 20vw;\n transform: translate(-50%, -50%);\n}\n\n.p-toast-message-enter-from {\n opacity: 0;\n transform: translateY(50%);\n}\n\n.p-toast-message-leave-from {\n max-height: 1000px;\n}\n\n.p-toast .p-toast-message.p-toast-message-leave-to {\n max-height: 0;\n opacity: 0;\n margin-bottom: 0;\n overflow: hidden;\n}\n\n.p-toast-message-enter-active {\n transition: transform 0.3s, opacity 0.3s;\n}\n\n.p-toast-message-leave-active {\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin-bottom 0.3s;\n}\n"); +}, "theme"); +var inlineStyles$2 = { + root: /* @__PURE__ */ __name(function root6(_ref2) { + var position = _ref2.position; + return { + position: "fixed", + top: position === "top-right" || position === "top-left" || position === "top-center" ? "20px" : position === "center" ? "50%" : null, + right: (position === "top-right" || position === "bottom-right") && "20px", + bottom: (position === "bottom-left" || position === "bottom-right" || position === "bottom-center") && "20px", + left: position === "top-left" || position === "bottom-left" ? "20px" : position === "center" || position === "top-center" || position === "bottom-center" ? "50%" : null + }; + }, "root") +}; +var classes$3 = { + root: /* @__PURE__ */ __name(function root7(_ref3) { + var props = _ref3.props; + return ["p-toast p-component p-toast-" + props.position]; + }, "root"), + message: /* @__PURE__ */ __name(function message(_ref4) { + var props = _ref4.props; + return ["p-toast-message", { + "p-toast-message-info": props.message.severity === "info" || props.message.severity === void 0, + "p-toast-message-warn": props.message.severity === "warn", + "p-toast-message-error": props.message.severity === "error", + "p-toast-message-success": props.message.severity === "success", + "p-toast-message-secondary": props.message.severity === "secondary", + "p-toast-message-contrast": props.message.severity === "contrast" + }]; + }, "message"), + messageContent: "p-toast-message-content", + messageIcon: /* @__PURE__ */ __name(function messageIcon(_ref5) { + var props = _ref5.props; + return ["p-toast-message-icon", _defineProperty$3(_defineProperty$3(_defineProperty$3(_defineProperty$3({}, props.infoIcon, props.message.severity === "info"), props.warnIcon, props.message.severity === "warn"), props.errorIcon, props.message.severity === "error"), props.successIcon, props.message.severity === "success")]; + }, "messageIcon"), + messageText: "p-toast-message-text", + summary: "p-toast-summary", + detail: "p-toast-detail", + closeButton: "p-toast-close-button", + closeIcon: "p-toast-close-icon" +}; +var ToastStyle = BaseStyle.extend({ + name: "toast", + theme: theme$3, + classes: classes$3, + inlineStyles: inlineStyles$2 +}); +var script$2$2 = { + name: "BaseToast", + "extends": script$e, + props: { + group: { + type: String, + "default": null + }, + position: { + type: String, + "default": "top-right" + }, + autoZIndex: { + type: Boolean, + "default": true + }, + baseZIndex: { + type: Number, + "default": 0 + }, + breakpoints: { + type: Object, + "default": null + }, + closeIcon: { + type: String, + "default": void 0 + }, + infoIcon: { + type: String, + "default": void 0 + }, + warnIcon: { + type: String, + "default": void 0 + }, + errorIcon: { + type: String, + "default": void 0 + }, + successIcon: { + type: String, + "default": void 0 + }, + closeButtonProps: { + type: null, + "default": null + } + }, + style: ToastStyle, + provide: /* @__PURE__ */ __name(function provide9() { + return { + $pcToast: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1$3 = { + name: "ToastMessage", + hostName: "Toast", + "extends": script$e, + emits: ["close"], + closeTimeout: null, + props: { + message: { + type: null, + "default": null + }, + templates: { + type: Object, + "default": null + }, + closeIcon: { + type: String, + "default": null + }, + infoIcon: { + type: String, + "default": null + }, + warnIcon: { + type: String, + "default": null + }, + errorIcon: { + type: String, + "default": null + }, + successIcon: { + type: String, + "default": null + }, + closeButtonProps: { + type: null, + "default": null + } + }, + mounted: /* @__PURE__ */ __name(function mounted4() { + var _this = this; + if (this.message.life) { + this.closeTimeout = setTimeout(function() { + _this.close({ + message: _this.message, + type: "life-end" + }); + }, this.message.life); + } + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount4() { + this.clearCloseTimeout(); + }, "beforeUnmount"), + methods: { + close: /* @__PURE__ */ __name(function close(params) { + this.$emit("close", params); + }, "close"), + onCloseClick: /* @__PURE__ */ __name(function onCloseClick() { + this.clearCloseTimeout(); + this.close({ + message: this.message, + type: "close" + }); + }, "onCloseClick"), + clearCloseTimeout: /* @__PURE__ */ __name(function clearCloseTimeout() { + if (this.closeTimeout) { + clearTimeout(this.closeTimeout); + this.closeTimeout = null; + } + }, "clearCloseTimeout") + }, + computed: { + iconComponent: /* @__PURE__ */ __name(function iconComponent() { + return { + info: !this.infoIcon && script$r, + success: !this.successIcon && script$s, + warn: !this.warnIcon && script$t, + error: !this.errorIcon && script$u + }[this.message.severity]; + }, "iconComponent"), + closeAriaLabel: /* @__PURE__ */ __name(function closeAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : void 0; + }, "closeAriaLabel") + }, + components: { + TimesIcon: script$v, + InfoCircleIcon: script$r, + CheckIcon: script$s, + ExclamationTriangleIcon: script$t, + TimesCircleIcon: script$u + }, + directives: { + ripple: Ripple + } +}; +function _typeof$1(o) { + "@babel/helpers - typeof"; + return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$1(o); +} +__name(_typeof$1, "_typeof$1"); +function ownKeys$1(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$1, "ownKeys$1"); +function _objectSpread$1(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$1(Object(t), true).forEach(function(r2) { + _defineProperty$1(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$1, "_objectSpread$1"); +function _defineProperty$1(e, r, t) { + return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$1, "_defineProperty$1"); +function _toPropertyKey$1(t) { + var i = _toPrimitive$1(t, "string"); + return "symbol" == _typeof$1(i) ? i : i + ""; +} +__name(_toPropertyKey$1, "_toPropertyKey$1"); +function _toPrimitive$1(t, r) { + if ("object" != _typeof$1(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$1(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$1, "_toPrimitive$1"); +var _hoisted_1$d = ["aria-label"]; +function render$1$2(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": [_ctx.cx("message"), $props.message.styleClass], + role: "alert", + "aria-live": "assertive", + "aria-atomic": "true" + }, _ctx.ptm("message")), [$props.templates.container ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.container), { + key: 0, + message: $props.message, + closeCallback: $options.onCloseClick + }, null, 8, ["message", "closeCallback"])) : (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": [_ctx.cx("messageContent"), $props.message.contentStyleClass] + }, _ctx.ptm("messageContent")), [!$props.templates.message ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [(openBlock(), createBlock(resolveDynamicComponent($props.templates.messageicon ? $props.templates.messageicon : $props.templates.icon ? $props.templates.icon : $options.iconComponent && $options.iconComponent.name ? $options.iconComponent : "span"), mergeProps({ + "class": _ctx.cx("messageIcon") + }, _ctx.ptm("messageIcon")), null, 16, ["class"])), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("messageText") + }, _ctx.ptm("messageText")), [createBaseVNode("span", mergeProps({ + "class": _ctx.cx("summary") + }, _ctx.ptm("summary")), toDisplayString($props.message.summary), 17), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("detail") + }, _ctx.ptm("detail")), toDisplayString($props.message.detail), 17)], 16)], 64)) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.message), { + key: 1, + message: $props.message + }, null, 8, ["message"])), $props.message.closable !== false ? (openBlock(), createElementBlock("div", normalizeProps(mergeProps({ + key: 2 + }, _ctx.ptm("buttonContainer"))), [withDirectives((openBlock(), createElementBlock("button", mergeProps({ + "class": _ctx.cx("closeButton"), + type: "button", + "aria-label": $options.closeAriaLabel, + onClick: _cache[0] || (_cache[0] = function() { + return $options.onCloseClick && $options.onCloseClick.apply($options, arguments); + }), + autofocus: "" + }, _objectSpread$1(_objectSpread$1({}, $props.closeButtonProps), _ctx.ptm("closeButton"))), [(openBlock(), createBlock(resolveDynamicComponent($props.templates.closeicon || "TimesIcon"), mergeProps({ + "class": [_ctx.cx("closeIcon"), $props.closeIcon] + }, _ctx.ptm("closeIcon")), null, 16, ["class"]))], 16, _hoisted_1$d)), [[_directive_ripple]])], 16)) : createCommentVNode("", true)], 16))], 16); +} +__name(render$1$2, "render$1$2"); +script$1$3.render = render$1$2; +function _toConsumableArray(r) { + return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); +} +__name(_toConsumableArray, "_toConsumableArray"); +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread, "_nonIterableSpread"); +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray, "_unsupportedIterableToArray"); +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray, "_iterableToArray"); +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return _arrayLikeToArray(r); +} +__name(_arrayWithoutHoles, "_arrayWithoutHoles"); +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray, "_arrayLikeToArray"); +var messageIdx = 0; +var script$5 = { + name: "Toast", + "extends": script$2$2, + inheritAttrs: false, + emits: ["close", "life-end"], + data: /* @__PURE__ */ __name(function data5() { + return { + messages: [] + }; + }, "data"), + styleElement: null, + mounted: /* @__PURE__ */ __name(function mounted5() { + ToastEventBus.on("add", this.onAdd); + ToastEventBus.on("remove", this.onRemove); + ToastEventBus.on("remove-group", this.onRemoveGroup); + ToastEventBus.on("remove-all-groups", this.onRemoveAllGroups); + if (this.breakpoints) { + this.createStyle(); + } + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount5() { + this.destroyStyle(); + if (this.$refs.container && this.autoZIndex) { + ZIndex.clear(this.$refs.container); + } + ToastEventBus.off("add", this.onAdd); + ToastEventBus.off("remove", this.onRemove); + ToastEventBus.off("remove-group", this.onRemoveGroup); + ToastEventBus.off("remove-all-groups", this.onRemoveAllGroups); + }, "beforeUnmount"), + methods: { + add: /* @__PURE__ */ __name(function add(message2) { + if (message2.id == null) { + message2.id = messageIdx++; + } + this.messages = [].concat(_toConsumableArray(this.messages), [message2]); + }, "add"), + remove: /* @__PURE__ */ __name(function remove(params) { + var index = this.messages.findIndex(function(m) { + return m.id === params.message.id; + }); + if (index !== -1) { + this.messages.splice(index, 1); + this.$emit(params.type, { + message: params.message + }); + } + }, "remove"), + onAdd: /* @__PURE__ */ __name(function onAdd(message2) { + if (this.group == message2.group) { + this.add(message2); + } + }, "onAdd"), + onRemove: /* @__PURE__ */ __name(function onRemove(message2) { + this.remove({ + message: message2, + type: "close" + }); + }, "onRemove"), + onRemoveGroup: /* @__PURE__ */ __name(function onRemoveGroup(group) { + if (this.group === group) { + this.messages = []; + } + }, "onRemoveGroup"), + onRemoveAllGroups: /* @__PURE__ */ __name(function onRemoveAllGroups() { + this.messages = []; + }, "onRemoveAllGroups"), + onEnter: /* @__PURE__ */ __name(function onEnter() { + this.$refs.container.setAttribute(this.attributeSelector, ""); + if (this.autoZIndex) { + ZIndex.set("modal", this.$refs.container, this.baseZIndex || this.$primevue.config.zIndex.modal); + } + }, "onEnter"), + onLeave: /* @__PURE__ */ __name(function onLeave() { + var _this = this; + if (this.$refs.container && this.autoZIndex && isEmpty(this.messages)) { + setTimeout(function() { + ZIndex.clear(_this.$refs.container); + }, 200); + } + }, "onLeave"), + createStyle: /* @__PURE__ */ __name(function createStyle() { + if (!this.styleElement && !this.isUnstyled) { + var _this$$primevue; + this.styleElement = document.createElement("style"); + this.styleElement.type = "text/css"; + setAttribute(this.styleElement, "nonce", (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.csp) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.nonce); + document.head.appendChild(this.styleElement); + var innerHTML = ""; + for (var breakpoint in this.breakpoints) { + var breakpointStyle = ""; + for (var styleProp in this.breakpoints[breakpoint]) { + breakpointStyle += styleProp + ":" + this.breakpoints[breakpoint][styleProp] + "!important;"; + } + innerHTML += "\n @media screen and (max-width: ".concat(breakpoint, ") {\n .p-toast[").concat(this.attributeSelector, "] {\n ").concat(breakpointStyle, "\n }\n }\n "); + } + this.styleElement.innerHTML = innerHTML; + } + }, "createStyle"), + destroyStyle: /* @__PURE__ */ __name(function destroyStyle() { + if (this.styleElement) { + document.head.removeChild(this.styleElement); + this.styleElement = null; + } + }, "destroyStyle") + }, + computed: { + attributeSelector: /* @__PURE__ */ __name(function attributeSelector() { + return UniqueComponentId(); + }, "attributeSelector") + }, + components: { + ToastMessage: script$1$3, + Portal: script$k + } +}; +function _typeof$2(o) { + "@babel/helpers - typeof"; + return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$2(o); +} +__name(_typeof$2, "_typeof$2"); +function ownKeys$2(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$2, "ownKeys$2"); +function _objectSpread$2(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$2(Object(t), true).forEach(function(r2) { + _defineProperty$2(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$2, "_objectSpread$2"); +function _defineProperty$2(e, r, t) { + return (r = _toPropertyKey$2(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$2, "_defineProperty$2"); +function _toPropertyKey$2(t) { + var i = _toPrimitive$2(t, "string"); + return "symbol" == _typeof$2(i) ? i : i + ""; +} +__name(_toPropertyKey$2, "_toPropertyKey$2"); +function _toPrimitive$2(t, r) { + if ("object" != _typeof$2(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$2(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$2, "_toPrimitive$2"); +function render$a(_ctx, _cache, $props, $setup, $data, $options) { + var _component_ToastMessage = resolveComponent("ToastMessage"); + var _component_Portal = resolveComponent("Portal"); + return openBlock(), createBlock(_component_Portal, null, { + "default": withCtx(function() { + return [createBaseVNode("div", mergeProps({ + ref: "container", + "class": _ctx.cx("root"), + style: _ctx.sx("root", true, { + position: _ctx.position + }) + }, _ctx.ptmi("root")), [createVNode(TransitionGroup, mergeProps({ + name: "p-toast-message", + tag: "div", + onEnter: $options.onEnter, + onLeave: $options.onLeave + }, _objectSpread$2({}, _ctx.ptm("transition"))), { + "default": withCtx(function() { + return [(openBlock(true), createElementBlock(Fragment, null, renderList($data.messages, function(msg) { + return openBlock(), createBlock(_component_ToastMessage, { + key: msg.id, + message: msg, + templates: _ctx.$slots, + closeIcon: _ctx.closeIcon, + infoIcon: _ctx.infoIcon, + warnIcon: _ctx.warnIcon, + errorIcon: _ctx.errorIcon, + successIcon: _ctx.successIcon, + closeButtonProps: _ctx.closeButtonProps, + unstyled: _ctx.unstyled, + onClose: _cache[0] || (_cache[0] = function($event) { + return $options.remove($event); + }), + pt: _ctx.pt + }, null, 8, ["message", "templates", "closeIcon", "infoIcon", "warnIcon", "errorIcon", "successIcon", "closeButtonProps", "unstyled", "pt"]); + }), 128))]; + }), + _: 1 + }, 16, ["onEnter", "onLeave"])], 16)]; + }), + _: 1 + }); +} +__name(render$a, "render$a"); +script$5.render = render$a; +const _sfc_main$9 = /* @__PURE__ */ defineComponent({ + __name: "GlobalToast", + setup(__props) { + const toast = useToast(); + const toastStore = useToastStore(); + const settingStore = useSettingStore(); + watch( + () => toastStore.messagesToAdd, + (newMessages) => { + if (newMessages.length === 0) { + return; + } + newMessages.forEach((message2) => { + toast.add(message2); + }); + toastStore.messagesToAdd = []; + }, + { deep: true } + ); + watch( + () => toastStore.messagesToRemove, + (messagesToRemove) => { + if (messagesToRemove.length === 0) { + return; + } + messagesToRemove.forEach((message2) => { + toast.remove(message2); + }); + toastStore.messagesToRemove = []; + }, + { deep: true } + ); + watch( + () => toastStore.removeAllRequested, + (requested) => { + if (requested) { + toast.removeAllGroups(); + toastStore.removeAllRequested = false; + } + } + ); + function updateToastPosition() { + const styleElement = document.getElementById("dynamic-toast-style") || createStyleElement(); + const rect = document.querySelector(".graph-canvas-container").getBoundingClientRect(); + styleElement.textContent = ` + .p-toast.p-component.p-toast-top-right { + top: ${rect.top + 20}px !important; + right: ${window.innerWidth - (rect.left + rect.width) + 20}px !important; + } + `; + } + __name(updateToastPosition, "updateToastPosition"); + function createStyleElement() { + const style = document.createElement("style"); + style.id = "dynamic-toast-style"; + document.head.appendChild(style); + return style; + } + __name(createStyleElement, "createStyleElement"); + watch( + () => settingStore.get("Comfy.UseNewMenu"), + () => nextTick(updateToastPosition), + { immediate: true } + ); + watch( + () => settingStore.get("Comfy.Sidebar.Location"), + () => nextTick(updateToastPosition), + { immediate: true } + ); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script$5)); + }; + } +}); +const _hoisted_1$c = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$a = /* @__PURE__ */ createBaseVNode("path", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2", + d: "M6 4v16m4-16l10 8l-10 8z" +}, null, -1); +const _hoisted_3$9 = [ + _hoisted_2$a +]; +function render$9(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$c, [..._hoisted_3$9]); +} +__name(render$9, "render$9"); +const __unplugin_components_3 = markRaw({ name: "lucide-step-forward", render: render$9 }); +const _hoisted_1$b = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$9 = /* @__PURE__ */ createBaseVNode("path", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2", + d: "m13 19l9-7l-9-7zM2 19l9-7l-9-7z" +}, null, -1); +const _hoisted_3$8 = [ + _hoisted_2$9 +]; +function render$8(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$b, [..._hoisted_3$8]); +} +__name(render$8, "render$8"); +const __unplugin_components_2 = markRaw({ name: "lucide-fast-forward", render: render$8 }); +const _hoisted_1$a = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$8 = /* @__PURE__ */ createBaseVNode("path", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2", + d: "m6 3l14 9l-14 9z" +}, null, -1); +const _hoisted_3$7 = [ + _hoisted_2$8 +]; +function render$7(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$a, [..._hoisted_3$7]); +} +__name(render$7, "render$7"); +const __unplugin_components_1$1 = markRaw({ name: "lucide-play", render: render$7 }); +const _hoisted_1$9 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$7 = /* @__PURE__ */ createBaseVNode("g", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2" +}, [ + /* @__PURE__ */ createBaseVNode("path", { d: "M16 12H3m13 6H3m7-12H3m18 12V8a2 2 0 0 0-2-2h-5" }), + /* @__PURE__ */ createBaseVNode("path", { d: "m16 8l-2-2l2-2" }) +], -1); +const _hoisted_3$6 = [ + _hoisted_2$7 +]; +function render$6(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$9, [..._hoisted_3$6]); +} +__name(render$6, "render$6"); +const __unplugin_components_0$1 = markRaw({ name: "lucide-list-start", render: render$6 }); +var theme$2 = /* @__PURE__ */ __name(function theme6(_ref) { + var dt = _ref.dt; + return "\n.p-tieredmenu {\n background: ".concat(dt("tieredmenu.background"), ";\n color: ").concat(dt("tieredmenu.color"), ";\n border: 1px solid ").concat(dt("tieredmenu.border.color"), ";\n border-radius: ").concat(dt("tieredmenu.border.radius"), ";\n min-width: 12.5rem;\n}\n\n.p-tieredmenu-root-list,\n.p-tieredmenu-submenu {\n margin: 0;\n padding: ").concat(dt("tieredmenu.list.padding"), ";\n list-style: none;\n outline: 0 none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("tieredmenu.list.gap"), ";\n}\n\n.p-tieredmenu-submenu {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n background: ").concat(dt("tieredmenu.background"), ";\n color: ").concat(dt("tieredmenu.color"), ";\n border: 1px solid ").concat(dt("tieredmenu.border.color"), ";\n border-radius: ").concat(dt("tieredmenu.border.radius"), ";\n box-shadow: ").concat(dt("tieredmenu.shadow"), ";\n}\n\n.p-tieredmenu-item {\n position: relative;\n}\n\n.p-tieredmenu-item-content {\n transition: background ").concat(dt("tieredmenu.transition.duration"), ", color ").concat(dt("tieredmenu.transition.duration"), ";\n border-radius: ").concat(dt("tieredmenu.item.border.radius"), ";\n color: ").concat(dt("tieredmenu.item.color"), ";\n}\n\n.p-tieredmenu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt("tieredmenu.item.padding"), ";\n gap: ").concat(dt("tieredmenu.item.gap"), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-tieredmenu-item-label {\n line-height: 1;\n}\n\n.p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.color"), ";\n}\n\n.p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.color"), ";\n margin-left: auto;\n font-size: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n width: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n height: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content {\n color: ").concat(dt("tieredmenu.item.focus.color"), ";\n background: ").concat(dt("tieredmenu.item.focus.background"), ";\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover {\n color: ").concat(dt("tieredmenu.item.focus.color"), ";\n background: ").concat(dt("tieredmenu.item.focus.background"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content {\n color: ").concat(dt("tieredmenu.item.active.color"), ";\n background: ").concat(dt("tieredmenu.item.active.background"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.active.color"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.active.color"), ";\n}\n\n.p-tieredmenu-separator {\n border-top: 1px solid ").concat(dt("tieredmenu.separator.border.color"), ";\n}\n\n.p-tieredmenu-overlay {\n box-shadow: ").concat(dt("tieredmenu.shadow"), ";\n}\n\n.p-tieredmenu-enter-from,\n.p-tieredmenu-leave-active {\n opacity: 0;\n}\n\n.p-tieredmenu-enter-active {\n transition: opacity 250ms;\n}\n"); +}, "theme"); +var inlineStyles$1 = { + submenu: /* @__PURE__ */ __name(function submenu(_ref2) { + var instance = _ref2.instance, processedItem = _ref2.processedItem; + return { + display: instance.isItemActive(processedItem) ? "flex" : "none" + }; + }, "submenu") +}; +var classes$2 = { + root: /* @__PURE__ */ __name(function root8(_ref3) { + _ref3.instance; + var props = _ref3.props; + return ["p-tieredmenu p-component", { + "p-tieredmenu-overlay": props.popup + }]; + }, "root"), + start: "p-tieredmenu-start", + rootList: "p-tieredmenu-root-list", + item: /* @__PURE__ */ __name(function item(_ref4) { + var instance = _ref4.instance, processedItem = _ref4.processedItem; + return ["p-tieredmenu-item", { + "p-tieredmenu-item-active": instance.isItemActive(processedItem), + "p-focus": instance.isItemFocused(processedItem), + "p-disabled": instance.isItemDisabled(processedItem) + }]; + }, "item"), + itemContent: "p-tieredmenu-item-content", + itemLink: "p-tieredmenu-item-link", + itemIcon: "p-tieredmenu-item-icon", + itemLabel: "p-tieredmenu-item-label", + submenuIcon: "p-tieredmenu-submenu-icon", + submenu: "p-tieredmenu-submenu", + separator: "p-tieredmenu-separator", + end: "p-tieredmenu-end" +}; +var TieredMenuStyle = BaseStyle.extend({ + name: "tieredmenu", + theme: theme$2, + classes: classes$2, + inlineStyles: inlineStyles$1 +}); +var script$2$1 = { + name: "BaseTieredMenu", + "extends": script$e, + props: { + popup: { + type: Boolean, + "default": false + }, + model: { + type: Array, + "default": null + }, + appendTo: { + type: [String, Object], + "default": "body" + }, + autoZIndex: { + type: Boolean, + "default": true + }, + baseZIndex: { + type: Number, + "default": 0 + }, + disabled: { + type: Boolean, + "default": false + }, + tabindex: { + type: Number, + "default": 0 + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: TieredMenuStyle, + provide: /* @__PURE__ */ __name(function provide10() { + return { + $pcTieredMenu: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1$2 = { + name: "TieredMenuSub", + hostName: "TieredMenu", + "extends": script$e, + emits: ["item-click", "item-mouseenter", "item-mousemove"], + container: null, + props: { + menuId: { + type: String, + "default": null + }, + focusedItemId: { + type: String, + "default": null + }, + items: { + type: Array, + "default": null + }, + visible: { + type: Boolean, + "default": false + }, + level: { + type: Number, + "default": 0 + }, + templates: { + type: Object, + "default": null + }, + activeItemPath: { + type: Object, + "default": null + }, + tabindex: { + type: Number, + "default": 0 + } + }, + methods: { + getItemId: /* @__PURE__ */ __name(function getItemId(processedItem) { + return "".concat(this.menuId, "_").concat(processedItem.key); + }, "getItemId"), + getItemKey: /* @__PURE__ */ __name(function getItemKey(processedItem) { + return this.getItemId(processedItem); + }, "getItemKey"), + getItemProp: /* @__PURE__ */ __name(function getItemProp(processedItem, name, params) { + return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : void 0; + }, "getItemProp"), + getItemLabel: /* @__PURE__ */ __name(function getItemLabel(processedItem) { + return this.getItemProp(processedItem, "label"); + }, "getItemLabel"), + getItemLabelId: /* @__PURE__ */ __name(function getItemLabelId(processedItem) { + return "".concat(this.menuId, "_").concat(processedItem.key, "_label"); + }, "getItemLabelId"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions4(processedItem, index, key) { + return this.ptm(key, { + context: { + item: processedItem.item, + index, + active: this.isItemActive(processedItem), + focused: this.isItemFocused(processedItem), + disabled: this.isItemDisabled(processedItem) + } + }); + }, "getPTOptions"), + isItemActive: /* @__PURE__ */ __name(function isItemActive(processedItem) { + return this.activeItemPath.some(function(path) { + return path.key === processedItem.key; + }); + }, "isItemActive"), + isItemVisible: /* @__PURE__ */ __name(function isItemVisible(processedItem) { + return this.getItemProp(processedItem, "visible") !== false; + }, "isItemVisible"), + isItemDisabled: /* @__PURE__ */ __name(function isItemDisabled(processedItem) { + return this.getItemProp(processedItem, "disabled"); + }, "isItemDisabled"), + isItemFocused: /* @__PURE__ */ __name(function isItemFocused(processedItem) { + return this.focusedItemId === this.getItemId(processedItem); + }, "isItemFocused"), + isItemGroup: /* @__PURE__ */ __name(function isItemGroup(processedItem) { + return isNotEmpty(processedItem.items); + }, "isItemGroup"), + onEnter: /* @__PURE__ */ __name(function onEnter2() { + nestedPosition(this.container, this.level); + }, "onEnter"), + onItemClick: /* @__PURE__ */ __name(function onItemClick(event, processedItem) { + this.getItemProp(processedItem, "command", { + originalEvent: event, + item: processedItem.item + }); + this.$emit("item-click", { + originalEvent: event, + processedItem, + isFocus: true + }); + }, "onItemClick"), + onItemMouseEnter: /* @__PURE__ */ __name(function onItemMouseEnter(event, processedItem) { + this.$emit("item-mouseenter", { + originalEvent: event, + processedItem + }); + }, "onItemMouseEnter"), + onItemMouseMove: /* @__PURE__ */ __name(function onItemMouseMove(event, processedItem) { + this.$emit("item-mousemove", { + originalEvent: event, + processedItem + }); + }, "onItemMouseMove"), + getAriaSetSize: /* @__PURE__ */ __name(function getAriaSetSize() { + var _this = this; + return this.items.filter(function(processedItem) { + return _this.isItemVisible(processedItem) && !_this.getItemProp(processedItem, "separator"); + }).length; + }, "getAriaSetSize"), + getAriaPosInset: /* @__PURE__ */ __name(function getAriaPosInset2(index) { + var _this2 = this; + return index - this.items.slice(0, index).filter(function(processedItem) { + return _this2.isItemVisible(processedItem) && _this2.getItemProp(processedItem, "separator"); + }).length + 1; + }, "getAriaPosInset"), + getMenuItemProps: /* @__PURE__ */ __name(function getMenuItemProps(processedItem, index) { + return { + action: mergeProps({ + "class": this.cx("itemLink"), + tabindex: -1, + "aria-hidden": true + }, this.getPTOptions(processedItem, index, "itemLink")), + icon: mergeProps({ + "class": [this.cx("itemIcon"), this.getItemProp(processedItem, "icon")] + }, this.getPTOptions(processedItem, index, "itemIcon")), + label: mergeProps({ + "class": this.cx("itemLabel") + }, this.getPTOptions(processedItem, index, "itemLabel")), + submenuicon: mergeProps({ + "class": this.cx("submenuIcon") + }, this.getPTOptions(processedItem, index, "submenuIcon")) + }; + }, "getMenuItemProps"), + containerRef: /* @__PURE__ */ __name(function containerRef(el) { + this.container = el; + }, "containerRef") + }, + components: { + AngleRightIcon: script$w + }, + directives: { + ripple: Ripple + } +}; +var _hoisted_1$1$2 = ["tabindex"]; +var _hoisted_2$6 = ["id", "aria-label", "aria-disabled", "aria-expanded", "aria-haspopup", "aria-level", "aria-setsize", "aria-posinset", "data-p-active", "data-p-focused", "data-p-disabled"]; +var _hoisted_3$5 = ["onClick", "onMouseenter", "onMousemove"]; +var _hoisted_4$1 = ["href", "target"]; +var _hoisted_5$1 = ["id"]; +var _hoisted_6 = ["id"]; +function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { + var _component_AngleRightIcon = resolveComponent("AngleRightIcon"); + var _component_TieredMenuSub = resolveComponent("TieredMenuSub", true); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createBlock(Transition, mergeProps({ + name: "p-tieredmenu", + onEnter: $options.onEnter + }, _ctx.ptm("menu.transition")), { + "default": withCtx(function() { + return [($props.level === 0 ? true : $props.visible) ? (openBlock(), createElementBlock("ul", mergeProps({ + key: 0, + ref: $options.containerRef, + "class": $props.level === 0 ? _ctx.cx("rootList") : _ctx.cx("submenu"), + tabindex: $props.tabindex + }, $props.level === 0 ? _ctx.ptm("rootList") : _ctx.ptm("submenu")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.items, function(processedItem, index) { + return openBlock(), createElementBlock(Fragment, { + key: $options.getItemKey(processedItem) + }, [$options.isItemVisible(processedItem) && !$options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + id: $options.getItemId(processedItem), + style: $options.getItemProp(processedItem, "style"), + "class": [_ctx.cx("item", { + processedItem + }), $options.getItemProp(processedItem, "class")], + role: "menuitem", + "aria-label": $options.getItemLabel(processedItem), + "aria-disabled": $options.isItemDisabled(processedItem) || void 0, + "aria-expanded": $options.isItemGroup(processedItem) ? $options.isItemActive(processedItem) : void 0, + "aria-haspopup": $options.isItemGroup(processedItem) && !$options.getItemProp(processedItem, "to") ? "menu" : void 0, + "aria-level": $props.level + 1, + "aria-setsize": $options.getAriaSetSize(), + "aria-posinset": $options.getAriaPosInset(index), + ref_for: true + }, $options.getPTOptions(processedItem, index, "item"), { + "data-p-active": $options.isItemActive(processedItem), + "data-p-focused": $options.isItemFocused(processedItem), + "data-p-disabled": $options.isItemDisabled(processedItem) + }), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("itemContent"), + onClick: /* @__PURE__ */ __name(function onClick2($event) { + return $options.onItemClick($event, processedItem); + }, "onClick"), + onMouseenter: /* @__PURE__ */ __name(function onMouseenter($event) { + return $options.onItemMouseEnter($event, processedItem); + }, "onMouseenter"), + onMousemove: /* @__PURE__ */ __name(function onMousemove($event) { + return $options.onItemMouseMove($event, processedItem); + }, "onMousemove"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemContent")), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock("a", mergeProps({ + key: 0, + href: $options.getItemProp(processedItem, "url"), + "class": _ctx.cx("itemLink"), + target: $options.getItemProp(processedItem, "target"), + tabindex: "-1", + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemLink")), [$props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), { + key: 0, + item: processedItem.item, + "class": normalizeClass(_ctx.cx("itemIcon")) + }, null, 8, ["item", "class"])) : $options.getItemProp(processedItem, "icon") ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": [_ctx.cx("itemIcon"), $options.getItemProp(processedItem, "icon")], + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemIcon")), null, 16)) : createCommentVNode("", true), createBaseVNode("span", mergeProps({ + id: $options.getItemLabelId(processedItem), + "class": _ctx.cx("itemLabel"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemLabel")), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_5$1), $options.getItemProp(processedItem, "items") ? (openBlock(), createElementBlock(Fragment, { + key: 2 + }, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), mergeProps({ + key: 0, + "class": _ctx.cx("submenuIcon"), + active: $options.isItemActive(processedItem), + ref_for: true + }, $options.getPTOptions(processedItem, index, "submenuIcon")), null, 16, ["class", "active"])) : (openBlock(), createBlock(_component_AngleRightIcon, mergeProps({ + key: 1, + "class": _ctx.cx("submenuIcon"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "submenuIcon")), null, 16, ["class"]))], 64)) : createCommentVNode("", true)], 16, _hoisted_4$1)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), { + key: 1, + item: processedItem.item, + hasSubmenu: $options.getItemProp(processedItem, "items"), + label: $options.getItemLabel(processedItem), + props: $options.getMenuItemProps(processedItem, index) + }, null, 8, ["item", "hasSubmenu", "label", "props"]))], 16, _hoisted_3$5), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_TieredMenuSub, { + key: 0, + id: $options.getItemId(processedItem) + "_list", + style: normalizeStyle(_ctx.sx("submenu", true, { + processedItem + })), + "aria-labelledby": $options.getItemLabelId(processedItem), + role: "menu", + menuId: $props.menuId, + focusedItemId: $props.focusedItemId, + items: processedItem.items, + templates: $props.templates, + activeItemPath: $props.activeItemPath, + level: $props.level + 1, + visible: $options.isItemActive(processedItem) && $options.isItemGroup(processedItem), + pt: _ctx.pt, + unstyled: _ctx.unstyled, + onItemClick: _cache[0] || (_cache[0] = function($event) { + return _ctx.$emit("item-click", $event); + }), + onItemMouseenter: _cache[1] || (_cache[1] = function($event) { + return _ctx.$emit("item-mouseenter", $event); + }), + onItemMousemove: _cache[2] || (_cache[2] = function($event) { + return _ctx.$emit("item-mousemove", $event); + }) + }, null, 8, ["id", "style", "aria-labelledby", "menuId", "focusedItemId", "items", "templates", "activeItemPath", "level", "visible", "pt", "unstyled"])) : createCommentVNode("", true)], 16, _hoisted_2$6)) : createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ + key: 1, + id: $options.getItemId(processedItem), + style: $options.getItemProp(processedItem, "style"), + "class": [_ctx.cx("separator"), $options.getItemProp(processedItem, "class")], + role: "separator", + ref_for: true + }, _ctx.ptm("separator")), null, 16, _hoisted_6)) : createCommentVNode("", true)], 64); + }), 128))], 16, _hoisted_1$1$2)) : createCommentVNode("", true)]; + }), + _: 1 + }, 16, ["onEnter"]); +} +__name(render$1$1, "render$1$1"); +script$1$2.render = render$1$1; +var script$4 = { + name: "TieredMenu", + "extends": script$2$1, + inheritAttrs: false, + emits: ["focus", "blur", "before-show", "before-hide", "hide", "show"], + outsideClickListener: null, + scrollHandler: null, + resizeListener: null, + target: null, + container: null, + menubar: null, + searchTimeout: null, + searchValue: null, + data: /* @__PURE__ */ __name(function data6() { + return { + id: this.$attrs.id, + focused: false, + focusedItemInfo: { + index: -1, + level: 0, + parentKey: "" + }, + activeItemPath: [], + visible: !this.popup, + submenuVisible: false, + dirty: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId2(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + activeItemPath: /* @__PURE__ */ __name(function activeItemPath(newPath) { + if (!this.popup) { + if (isNotEmpty(newPath)) { + this.bindOutsideClickListener(); + this.bindResizeListener(); + } else { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + } + } + }, "activeItemPath") + }, + mounted: /* @__PURE__ */ __name(function mounted6() { + this.id = this.id || UniqueComponentId(); + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount6() { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + if (this.scrollHandler) { + this.scrollHandler.destroy(); + this.scrollHandler = null; + } + if (this.container && this.autoZIndex) { + ZIndex.clear(this.container); + } + this.target = null; + this.container = null; + }, "beforeUnmount"), + methods: { + getItemProp: /* @__PURE__ */ __name(function getItemProp2(item3, name) { + return item3 ? resolve(item3[name]) : void 0; + }, "getItemProp"), + getItemLabel: /* @__PURE__ */ __name(function getItemLabel2(item3) { + return this.getItemProp(item3, "label"); + }, "getItemLabel"), + isItemDisabled: /* @__PURE__ */ __name(function isItemDisabled2(item3) { + return this.getItemProp(item3, "disabled"); + }, "isItemDisabled"), + isItemVisible: /* @__PURE__ */ __name(function isItemVisible2(item3) { + return this.getItemProp(item3, "visible") !== false; + }, "isItemVisible"), + isItemGroup: /* @__PURE__ */ __name(function isItemGroup2(item3) { + return isNotEmpty(this.getItemProp(item3, "items")); + }, "isItemGroup"), + isItemSeparator: /* @__PURE__ */ __name(function isItemSeparator(item3) { + return this.getItemProp(item3, "separator"); + }, "isItemSeparator"), + getProccessedItemLabel: /* @__PURE__ */ __name(function getProccessedItemLabel(processedItem) { + return processedItem ? this.getItemLabel(processedItem.item) : void 0; + }, "getProccessedItemLabel"), + isProccessedItemGroup: /* @__PURE__ */ __name(function isProccessedItemGroup(processedItem) { + return processedItem && isNotEmpty(processedItem.items); + }, "isProccessedItemGroup"), + toggle: /* @__PURE__ */ __name(function toggle(event) { + this.visible ? this.hide(event, true) : this.show(event); + }, "toggle"), + show: /* @__PURE__ */ __name(function show2(event, isFocus) { + if (this.popup) { + this.$emit("before-show"); + this.visible = true; + this.target = this.target || event.currentTarget; + this.relatedTarget = event.relatedTarget || null; + } + isFocus && focus(this.menubar); + }, "show"), + hide: /* @__PURE__ */ __name(function hide2(event, isFocus) { + if (this.popup) { + this.$emit("before-hide"); + this.visible = false; + } + this.activeItemPath = []; + this.focusedItemInfo = { + index: -1, + level: 0, + parentKey: "" + }; + isFocus && focus(this.relatedTarget || this.target || this.menubar); + this.dirty = false; + }, "hide"), + onFocus: /* @__PURE__ */ __name(function onFocus3(event) { + this.focused = true; + if (!this.popup) { + this.focusedItemInfo = this.focusedItemInfo.index !== -1 ? this.focusedItemInfo : { + index: this.findFirstFocusedItemIndex(), + level: 0, + parentKey: "" + }; + } + this.$emit("focus", event); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur2(event) { + this.focused = false; + this.focusedItemInfo = { + index: -1, + level: 0, + parentKey: "" + }; + this.searchValue = ""; + this.dirty = false; + this.$emit("blur", event); + }, "onBlur"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown2(event) { + if (this.disabled) { + event.preventDefault(); + return; + } + var metaKey = event.metaKey || event.ctrlKey; + switch (event.code) { + case "ArrowDown": + this.onArrowDownKey(event); + break; + case "ArrowUp": + this.onArrowUpKey(event); + break; + case "ArrowLeft": + this.onArrowLeftKey(event); + break; + case "ArrowRight": + this.onArrowRightKey(event); + break; + case "Home": + this.onHomeKey(event); + break; + case "End": + this.onEndKey(event); + break; + case "Space": + this.onSpaceKey(event); + break; + case "Enter": + case "NumpadEnter": + this.onEnterKey(event); + break; + case "Escape": + this.onEscapeKey(event); + break; + case "Tab": + this.onTabKey(event); + break; + case "PageDown": + case "PageUp": + case "Backspace": + case "ShiftLeft": + case "ShiftRight": + break; + default: + if (!metaKey && isPrintableCharacter(event.key)) { + this.searchItems(event, event.key); + } + break; + } + }, "onKeyDown"), + onItemChange: /* @__PURE__ */ __name(function onItemChange(event) { + var processedItem = event.processedItem, isFocus = event.isFocus; + if (isEmpty(processedItem)) return; + var index = processedItem.index, key = processedItem.key, level = processedItem.level, parentKey = processedItem.parentKey, items = processedItem.items; + var grouped = isNotEmpty(items); + var activeItemPath3 = this.activeItemPath.filter(function(p) { + return p.parentKey !== parentKey && p.parentKey !== key; + }); + if (grouped) { + activeItemPath3.push(processedItem); + this.submenuVisible = true; + } + this.focusedItemInfo = { + index, + level, + parentKey + }; + this.activeItemPath = activeItemPath3; + grouped && (this.dirty = true); + isFocus && focus(this.menubar); + }, "onItemChange"), + onOverlayClick: /* @__PURE__ */ __name(function onOverlayClick2(event) { + OverlayEventBus.emit("overlay-click", { + originalEvent: event, + target: this.target + }); + }, "onOverlayClick"), + onItemClick: /* @__PURE__ */ __name(function onItemClick2(event) { + var originalEvent = event.originalEvent, processedItem = event.processedItem; + var grouped = this.isProccessedItemGroup(processedItem); + var root11 = isEmpty(processedItem.parent); + var selected = this.isSelected(processedItem); + if (selected) { + var index = processedItem.index, key = processedItem.key, level = processedItem.level, parentKey = processedItem.parentKey; + this.activeItemPath = this.activeItemPath.filter(function(p) { + return key !== p.key && key.startsWith(p.key); + }); + this.focusedItemInfo = { + index, + level, + parentKey + }; + this.dirty = !root11; + focus(this.menubar); + } else { + if (grouped) { + this.onItemChange(event); + } else { + var rootProcessedItem = root11 ? processedItem : this.activeItemPath.find(function(p) { + return p.parentKey === ""; + }); + this.hide(originalEvent); + this.changeFocusedItemIndex(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1); + focus(this.menubar); + } + } + }, "onItemClick"), + onItemMouseEnter: /* @__PURE__ */ __name(function onItemMouseEnter2(event) { + if (this.dirty) { + this.onItemChange(event); + } + }, "onItemMouseEnter"), + onItemMouseMove: /* @__PURE__ */ __name(function onItemMouseMove2(event) { + if (this.focused) { + this.changeFocusedItemIndex(event, event.processedItem.index); + } + }, "onItemMouseMove"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey2(event) { + var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex(); + this.changeFocusedItemIndex(event, itemIndex); + event.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey2(event) { + if (event.altKey) { + if (this.focusedItemInfo.index !== -1) { + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var grouped = this.isProccessedItemGroup(processedItem); + !grouped && this.onItemChange({ + originalEvent: event, + processedItem + }); + } + this.popup && this.hide(event, true); + event.preventDefault(); + } else { + var itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex(); + this.changeFocusedItemIndex(event, itemIndex); + event.preventDefault(); + } + }, "onArrowUpKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey3(event) { + var _this = this; + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var parentItem = this.activeItemPath.find(function(p) { + return p.key === processedItem.parentKey; + }); + var root11 = isEmpty(processedItem.parent); + if (!root11) { + this.focusedItemInfo = { + index: -1, + parentKey: parentItem ? parentItem.parentKey : "" + }; + this.searchValue = ""; + this.onArrowDownKey(event); + } + this.activeItemPath = this.activeItemPath.filter(function(p) { + return p.parentKey !== _this.focusedItemInfo.parentKey; + }); + event.preventDefault(); + }, "onArrowLeftKey"), + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey3(event) { + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var grouped = this.isProccessedItemGroup(processedItem); + if (grouped) { + this.onItemChange({ + originalEvent: event, + processedItem + }); + this.focusedItemInfo = { + index: -1, + parentKey: processedItem.key + }; + this.searchValue = ""; + this.onArrowDownKey(event); + } + event.preventDefault(); + }, "onArrowRightKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey3(event) { + this.changeFocusedItemIndex(event, this.findFirstItemIndex()); + event.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey3(event) { + this.changeFocusedItemIndex(event, this.findLastItemIndex()); + event.preventDefault(); + }, "onEndKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey3(event) { + if (this.focusedItemInfo.index !== -1) { + var element = findSingle(this.menubar, 'li[id="'.concat("".concat(this.focusedItemId), '"]')); + var anchorElement = element && findSingle(element, '[data-pc-section="itemlink"]'); + anchorElement ? anchorElement.click() : element && element.click(); + if (!this.popup) { + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var grouped = this.isProccessedItemGroup(processedItem); + !grouped && (this.focusedItemInfo.index = this.findFirstFocusedItemIndex()); + } + } + event.preventDefault(); + }, "onEnterKey"), + onSpaceKey: /* @__PURE__ */ __name(function onSpaceKey(event) { + this.onEnterKey(event); + }, "onSpaceKey"), + onEscapeKey: /* @__PURE__ */ __name(function onEscapeKey2(event) { + if (this.popup || this.focusedItemInfo.level !== 0) { + var _focusedItemInfo = this.focusedItemInfo; + this.hide(event, false); + this.focusedItemInfo = { + index: Number(_focusedItemInfo.parentKey.split("_")[0]), + level: 0, + parentKey: "" + }; + this.popup && focus(this.target); + } + event.preventDefault(); + }, "onEscapeKey"), + onTabKey: /* @__PURE__ */ __name(function onTabKey2(event) { + if (this.focusedItemInfo.index !== -1) { + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var grouped = this.isProccessedItemGroup(processedItem); + !grouped && this.onItemChange({ + originalEvent: event, + processedItem + }); + } + this.hide(); + }, "onTabKey"), + onEnter: /* @__PURE__ */ __name(function onEnter3(el) { + if (this.autoZIndex) { + ZIndex.set("menu", el, this.baseZIndex + this.$primevue.config.zIndex.menu); + } + addStyle(el, { + position: "absolute", + top: "0", + left: "0" + }); + this.alignOverlay(); + focus(this.menubar); + this.scrollInView(); + }, "onEnter"), + onAfterEnter: /* @__PURE__ */ __name(function onAfterEnter() { + this.bindOutsideClickListener(); + this.bindScrollListener(); + this.bindResizeListener(); + this.$emit("show"); + }, "onAfterEnter"), + onLeave: /* @__PURE__ */ __name(function onLeave2() { + this.unbindOutsideClickListener(); + this.unbindScrollListener(); + this.unbindResizeListener(); + this.$emit("hide"); + this.container = null; + this.dirty = false; + }, "onLeave"), + onAfterLeave: /* @__PURE__ */ __name(function onAfterLeave(el) { + if (this.autoZIndex) { + ZIndex.clear(el); + } + }, "onAfterLeave"), + alignOverlay: /* @__PURE__ */ __name(function alignOverlay2() { + absolutePosition(this.container, this.target); + var targetWidth = getOuterWidth(this.target); + if (targetWidth > getOuterWidth(this.container)) { + this.container.style.minWidth = getOuterWidth(this.target) + "px"; + } + }, "alignOverlay"), + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener2() { + var _this2 = this; + if (!this.outsideClickListener) { + this.outsideClickListener = function(event) { + var isOutsideContainer = _this2.container && !_this2.container.contains(event.target); + var isOutsideTarget = _this2.popup ? !(_this2.target && (_this2.target === event.target || _this2.target.contains(event.target))) : true; + if (isOutsideContainer && isOutsideTarget) { + _this2.hide(); + } + }; + document.addEventListener("click", this.outsideClickListener); + } + }, "bindOutsideClickListener"), + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener2() { + if (this.outsideClickListener) { + document.removeEventListener("click", this.outsideClickListener); + this.outsideClickListener = null; + } + }, "unbindOutsideClickListener"), + bindScrollListener: /* @__PURE__ */ __name(function bindScrollListener2() { + var _this3 = this; + if (!this.scrollHandler) { + this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, function(event) { + _this3.hide(event, true); + }); + } + this.scrollHandler.bindScrollListener(); + }, "bindScrollListener"), + unbindScrollListener: /* @__PURE__ */ __name(function unbindScrollListener2() { + if (this.scrollHandler) { + this.scrollHandler.unbindScrollListener(); + } + }, "unbindScrollListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener2() { + var _this4 = this; + if (!this.resizeListener) { + this.resizeListener = function(event) { + if (!isTouchDevice()) { + _this4.hide(event, true); + } + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener2() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + isItemMatched: /* @__PURE__ */ __name(function isItemMatched(processedItem) { + var _this$getProccessedIt; + return this.isValidItem(processedItem) && ((_this$getProccessedIt = this.getProccessedItemLabel(processedItem)) === null || _this$getProccessedIt === void 0 ? void 0 : _this$getProccessedIt.toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())); + }, "isItemMatched"), + isValidItem: /* @__PURE__ */ __name(function isValidItem(processedItem) { + return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item) && this.isItemVisible(processedItem.item); + }, "isValidItem"), + isValidSelectedItem: /* @__PURE__ */ __name(function isValidSelectedItem(processedItem) { + return this.isValidItem(processedItem) && this.isSelected(processedItem); + }, "isValidSelectedItem"), + isSelected: /* @__PURE__ */ __name(function isSelected2(processedItem) { + return this.activeItemPath.some(function(p) { + return p.key === processedItem.key; + }); + }, "isSelected"), + findFirstItemIndex: /* @__PURE__ */ __name(function findFirstItemIndex() { + var _this5 = this; + return this.visibleItems.findIndex(function(processedItem) { + return _this5.isValidItem(processedItem); + }); + }, "findFirstItemIndex"), + findLastItemIndex: /* @__PURE__ */ __name(function findLastItemIndex() { + var _this6 = this; + return findLastIndex(this.visibleItems, function(processedItem) { + return _this6.isValidItem(processedItem); + }); + }, "findLastItemIndex"), + findNextItemIndex: /* @__PURE__ */ __name(function findNextItemIndex(index) { + var _this7 = this; + var matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex(function(processedItem) { + return _this7.isValidItem(processedItem); + }) : -1; + return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index; + }, "findNextItemIndex"), + findPrevItemIndex: /* @__PURE__ */ __name(function findPrevItemIndex(index) { + var _this8 = this; + var matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), function(processedItem) { + return _this8.isValidItem(processedItem); + }) : -1; + return matchedItemIndex > -1 ? matchedItemIndex : index; + }, "findPrevItemIndex"), + findSelectedItemIndex: /* @__PURE__ */ __name(function findSelectedItemIndex() { + var _this9 = this; + return this.visibleItems.findIndex(function(processedItem) { + return _this9.isValidSelectedItem(processedItem); + }); + }, "findSelectedItemIndex"), + findFirstFocusedItemIndex: /* @__PURE__ */ __name(function findFirstFocusedItemIndex() { + var selectedIndex = this.findSelectedItemIndex(); + return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex; + }, "findFirstFocusedItemIndex"), + findLastFocusedItemIndex: /* @__PURE__ */ __name(function findLastFocusedItemIndex() { + var selectedIndex = this.findSelectedItemIndex(); + return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex; + }, "findLastFocusedItemIndex"), + searchItems: /* @__PURE__ */ __name(function searchItems(event, _char) { + var _this10 = this; + this.searchValue = (this.searchValue || "") + _char; + var itemIndex = -1; + var matched = false; + if (this.focusedItemInfo.index !== -1) { + itemIndex = this.visibleItems.slice(this.focusedItemInfo.index).findIndex(function(processedItem) { + return _this10.isItemMatched(processedItem); + }); + itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo.index).findIndex(function(processedItem) { + return _this10.isItemMatched(processedItem); + }) : itemIndex + this.focusedItemInfo.index; + } else { + itemIndex = this.visibleItems.findIndex(function(processedItem) { + return _this10.isItemMatched(processedItem); + }); + } + if (itemIndex !== -1) { + matched = true; + } + if (itemIndex === -1 && this.focusedItemInfo.index === -1) { + itemIndex = this.findFirstFocusedItemIndex(); + } + if (itemIndex !== -1) { + this.changeFocusedItemIndex(event, itemIndex); + } + if (this.searchTimeout) { + clearTimeout(this.searchTimeout); + } + this.searchTimeout = setTimeout(function() { + _this10.searchValue = ""; + _this10.searchTimeout = null; + }, 500); + return matched; + }, "searchItems"), + changeFocusedItemIndex: /* @__PURE__ */ __name(function changeFocusedItemIndex(event, index) { + if (this.focusedItemInfo.index !== index) { + this.focusedItemInfo.index = index; + this.scrollInView(); + } + }, "changeFocusedItemIndex"), + scrollInView: /* @__PURE__ */ __name(function scrollInView3() { + var index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; + var id2 = index !== -1 ? "".concat(this.id, "_").concat(index) : this.focusedItemId; + var element = findSingle(this.menubar, 'li[id="'.concat(id2, '"]')); + if (element) { + element.scrollIntoView && element.scrollIntoView({ + block: "nearest", + inline: "start" + }); + } + }, "scrollInView"), + createProcessedItems: /* @__PURE__ */ __name(function createProcessedItems(items) { + var _this11 = this; + var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + var parent = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + var parentKey = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ""; + var processedItems3 = []; + items && items.forEach(function(item3, index) { + var key = (parentKey !== "" ? parentKey + "_" : "") + index; + var newItem = { + item: item3, + index, + level, + key, + parent, + parentKey + }; + newItem["items"] = _this11.createProcessedItems(item3.items, level + 1, newItem, key); + processedItems3.push(newItem); + }); + return processedItems3; + }, "createProcessedItems"), + containerRef: /* @__PURE__ */ __name(function containerRef2(el) { + this.container = el; + }, "containerRef"), + menubarRef: /* @__PURE__ */ __name(function menubarRef(el) { + this.menubar = el ? el.$el : void 0; + }, "menubarRef") + }, + computed: { + processedItems: /* @__PURE__ */ __name(function processedItems() { + return this.createProcessedItems(this.model || []); + }, "processedItems"), + visibleItems: /* @__PURE__ */ __name(function visibleItems() { + var _this12 = this; + var processedItem = this.activeItemPath.find(function(p) { + return p.key === _this12.focusedItemInfo.parentKey; + }); + return processedItem ? processedItem.items : this.processedItems; + }, "visibleItems"), + focusedItemId: /* @__PURE__ */ __name(function focusedItemId() { + return this.focusedItemInfo.index !== -1 ? "".concat(this.id).concat(isNotEmpty(this.focusedItemInfo.parentKey) ? "_" + this.focusedItemInfo.parentKey : "", "_").concat(this.focusedItemInfo.index) : null; + }, "focusedItemId") + }, + components: { + TieredMenuSub: script$1$2, + Portal: script$k + } +}; +var _hoisted_1$8 = ["id"]; +function render$5(_ctx, _cache, $props, $setup, $data, $options) { + var _component_TieredMenuSub = resolveComponent("TieredMenuSub"); + var _component_Portal = resolveComponent("Portal"); + return openBlock(), createBlock(_component_Portal, { + appendTo: _ctx.appendTo, + disabled: !_ctx.popup + }, { + "default": withCtx(function() { + return [createVNode(Transition, mergeProps({ + name: "p-connected-overlay", + onEnter: $options.onEnter, + onAfterEnter: $options.onAfterEnter, + onLeave: $options.onLeave, + onAfterLeave: $options.onAfterLeave + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [$data.visible ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref: $options.containerRef, + id: $data.id, + "class": _ctx.cx("root"), + onClick: _cache[0] || (_cache[0] = function() { + return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments); + }) + }, _ctx.ptmi("root")), [_ctx.$slots.start ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("start") + }, _ctx.ptm("start")), [renderSlot(_ctx.$slots, "start")], 16)) : createCommentVNode("", true), createVNode(_component_TieredMenuSub, { + ref: $options.menubarRef, + id: $data.id + "_list", + tabindex: !_ctx.disabled ? _ctx.tabindex : -1, + role: "menubar", + "aria-label": _ctx.ariaLabel, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-disabled": _ctx.disabled || void 0, + "aria-orientation": "vertical", + "aria-activedescendant": $data.focused ? $options.focusedItemId : void 0, + menuId: $data.id, + focusedItemId: $data.focused ? $options.focusedItemId : void 0, + items: $options.processedItems, + templates: _ctx.$slots, + activeItemPath: $data.activeItemPath, + level: 0, + visible: $data.submenuVisible, + pt: _ctx.pt, + unstyled: _ctx.unstyled, + onFocus: $options.onFocus, + onBlur: $options.onBlur, + onKeydown: $options.onKeyDown, + onItemClick: $options.onItemClick, + onItemMouseenter: $options.onItemMouseEnter, + onItemMousemove: $options.onItemMouseMove + }, null, 8, ["id", "tabindex", "aria-label", "aria-labelledby", "aria-disabled", "aria-activedescendant", "menuId", "focusedItemId", "items", "templates", "activeItemPath", "visible", "pt", "unstyled", "onFocus", "onBlur", "onKeydown", "onItemClick", "onItemMouseenter", "onItemMousemove"]), _ctx.$slots.end ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("end") + }, _ctx.ptm("end")), [renderSlot(_ctx.$slots, "end")], 16)) : createCommentVNode("", true)], 16, _hoisted_1$8)) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])]; + }), + _: 3 + }, 8, ["appendTo", "disabled"]); +} +__name(render$5, "render$5"); +script$4.render = render$5; +var theme$1 = /* @__PURE__ */ __name(function theme7(_ref) { + var dt = _ref.dt; + return "\n.p-splitbutton {\n display: inline-flex;\n position: relative;\n border-radius: ".concat(dt("splitbutton.border.radius"), ";\n}\n\n.p-splitbutton-button {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right: 0 none;\n}\n\n.p-splitbutton-button:focus-visible,\n.p-splitbutton-dropdown:focus-visible {\n z-index: 1;\n}\n\n.p-splitbutton-button:not(:disabled):hover,\n.p-splitbutton-button:not(:disabled):active {\n border-right: 0 none;\n}\n\n.p-splitbutton-dropdown {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.p-splitbutton .p-menu {\n min-width: 100%;\n}\n\n.p-splitbutton-fluid {\n display: flex;\n}\n\n.p-splitbutton-rounded .p-splitbutton-dropdown {\n border-top-right-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n border-bottom-right-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n}\n\n.p-splitbutton-rounded .p-splitbutton-button {\n border-top-left-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n border-bottom-left-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n}\n\n.p-splitbutton-raised {\n box-shadow: ").concat(dt("splitbutton.raised.shadow"), ";\n}\n"); +}, "theme"); +var classes$1 = { + root: /* @__PURE__ */ __name(function root9(_ref2) { + var instance = _ref2.instance, props = _ref2.props; + return ["p-splitbutton p-component", { + "p-splitbutton-raised": props.raised, + "p-splitbutton-rounded": props.rounded, + "p-splitbutton-fluid": instance.hasFluid + }]; + }, "root"), + pcButton: "p-splitbutton-button", + pcDropdown: "p-splitbutton-dropdown" +}; +var SplitButtonStyle = BaseStyle.extend({ + name: "splitbutton", + theme: theme$1, + classes: classes$1 +}); +var script$1$1 = { + name: "BaseSplitButton", + "extends": script$e, + props: { + label: { + type: String, + "default": null + }, + icon: { + type: String, + "default": null + }, + model: { + type: Array, + "default": null + }, + autoZIndex: { + type: Boolean, + "default": true + }, + baseZIndex: { + type: Number, + "default": 0 + }, + appendTo: { + type: [String, Object], + "default": "body" + }, + disabled: { + type: Boolean, + "default": false + }, + fluid: { + type: Boolean, + "default": null + }, + "class": { + type: null, + "default": null + }, + style: { + type: null, + "default": null + }, + buttonProps: { + type: null, + "default": null + }, + menuButtonProps: { + type: null, + "default": null + }, + menuButtonIcon: { + type: String, + "default": void 0 + }, + dropdownIcon: { + type: String, + "default": void 0 + }, + severity: { + type: String, + "default": null + }, + raised: { + type: Boolean, + "default": false + }, + rounded: { + type: Boolean, + "default": false + }, + text: { + type: Boolean, + "default": false + }, + outlined: { + type: Boolean, + "default": false + }, + size: { + type: String, + "default": null + }, + plain: { + type: Boolean, + "default": false + } + }, + style: SplitButtonStyle, + provide: /* @__PURE__ */ __name(function provide11() { + return { + $pcSplitButton: this, + $parentInstance: this + }; + }, "provide") +}; +var script$3 = { + name: "SplitButton", + "extends": script$1$1, + inheritAttrs: false, + emits: ["click"], + inject: { + $pcFluid: { + "default": null + } + }, + data: /* @__PURE__ */ __name(function data7() { + return { + id: this.$attrs.id, + isExpanded: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId3(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId") + }, + mounted: /* @__PURE__ */ __name(function mounted7() { + var _this = this; + this.id = this.id || UniqueComponentId(); + this.$watch("$refs.menu.visible", function(newValue) { + _this.isExpanded = newValue; + }); + }, "mounted"), + methods: { + onDropdownButtonClick: /* @__PURE__ */ __name(function onDropdownButtonClick(event) { + if (event) { + event.preventDefault(); + } + this.$refs.menu.toggle({ + currentTarget: this.$el, + relatedTarget: this.$refs.button.$el + }); + this.isExpanded = this.$refs.menu.visible; + }, "onDropdownButtonClick"), + onDropdownKeydown: /* @__PURE__ */ __name(function onDropdownKeydown(event) { + if (event.code === "ArrowDown" || event.code === "ArrowUp") { + this.onDropdownButtonClick(); + event.preventDefault(); + } + }, "onDropdownKeydown"), + onDefaultButtonClick: /* @__PURE__ */ __name(function onDefaultButtonClick(event) { + if (this.isExpanded) { + this.$refs.menu.hide(event); + } + this.$emit("click", event); + }, "onDefaultButtonClick") + }, + computed: { + containerClass: /* @__PURE__ */ __name(function containerClass() { + return [this.cx("root"), this["class"]]; + }, "containerClass"), + hasFluid: /* @__PURE__ */ __name(function hasFluid2() { + return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; + }, "hasFluid") + }, + components: { + PVSButton: script$d, + PVSMenu: script$4, + ChevronDownIcon: script$l + } +}; +var _hoisted_1$7 = ["data-p-severity"]; +function render$4(_ctx, _cache, $props, $setup, $data, $options) { + var _component_PVSButton = resolveComponent("PVSButton"); + var _component_PVSMenu = resolveComponent("PVSMenu"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": $options.containerClass, + style: _ctx.style + }, _ctx.ptmi("root"), { + "data-p-severity": _ctx.severity + }), [createVNode(_component_PVSButton, mergeProps({ + type: "button", + "class": _ctx.cx("pcButton"), + label: _ctx.label, + disabled: _ctx.disabled, + severity: _ctx.severity, + text: _ctx.text, + icon: _ctx.icon, + outlined: _ctx.outlined, + size: _ctx.size, + fluid: _ctx.fluid, + "aria-label": _ctx.label, + onClick: $options.onDefaultButtonClick + }, _ctx.buttonProps, { + pt: _ctx.ptm("pcButton"), + unstyled: _ctx.unstyled + }), createSlots({ + "default": withCtx(function() { + return [renderSlot(_ctx.$slots, "default")]; + }), + _: 2 + }, [_ctx.$slots.icon ? { + name: "icon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "icon", { + "class": normalizeClass(slotProps["class"]) + }, function() { + return [createBaseVNode("span", mergeProps({ + "class": [_ctx.icon, slotProps["class"]] + }, _ctx.ptm("pcButton")["icon"], { + "data-pc-section": "buttonicon" + }), null, 16)]; + })]; + }), + key: "0" + } : void 0]), 1040, ["class", "label", "disabled", "severity", "text", "icon", "outlined", "size", "fluid", "aria-label", "onClick", "pt", "unstyled"]), createVNode(_component_PVSButton, mergeProps({ + ref: "button", + type: "button", + "class": _ctx.cx("pcDropdown"), + disabled: _ctx.disabled, + "aria-haspopup": "true", + "aria-expanded": $data.isExpanded, + "aria-controls": $data.id + "_overlay", + onClick: $options.onDropdownButtonClick, + onKeydown: $options.onDropdownKeydown, + severity: _ctx.severity, + text: _ctx.text, + outlined: _ctx.outlined, + size: _ctx.size, + unstyled: _ctx.unstyled + }, _ctx.menuButtonProps, { + pt: _ctx.ptm("pcDropdown") + }), { + icon: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, _ctx.$slots.dropdownicon ? "dropdownicon" : "menubuttonicon", { + "class": normalizeClass(slotProps["class"]) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.menuButtonIcon || _ctx.dropdownIcon ? "span" : "ChevronDownIcon"), mergeProps({ + "class": [_ctx.dropdownIcon || _ctx.menuButtonIcon, slotProps["class"]] + }, _ctx.ptm("pcDropdown")["icon"], { + "data-pc-section": "menubuttonicon" + }), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "disabled", "aria-expanded", "aria-controls", "onClick", "onKeydown", "severity", "text", "outlined", "size", "unstyled", "pt"]), createVNode(_component_PVSMenu, { + ref: "menu", + id: $data.id + "_overlay", + model: _ctx.model, + popup: true, + autoZIndex: _ctx.autoZIndex, + baseZIndex: _ctx.baseZIndex, + appendTo: _ctx.appendTo, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcMenu") + }, createSlots({ + _: 2 + }, [_ctx.$slots.menuitemicon ? { + name: "itemicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "menuitemicon", { + item: slotProps.item, + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "0" + } : void 0, _ctx.$slots.item ? { + name: "item", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "item", { + item: slotProps.item, + hasSubmenu: slotProps.hasSubmenu, + label: slotProps.label, + props: slotProps.props + })]; + }), + key: "1" + } : void 0]), 1032, ["id", "model", "autoZIndex", "baseZIndex", "appendTo", "unstyled", "pt"])], 16, _hoisted_1$7); +} +__name(render$4, "render$4"); +script$3.render = render$4; +const minQueueCount = 1; +const _sfc_main$8 = /* @__PURE__ */ defineComponent({ + __name: "BatchCountEdit", + props: { + class: { default: "" } + }, + setup(__props) { + const props = __props; + const queueSettingsStore = useQueueSettingsStore(); + const { batchCount } = storeToRefs(queueSettingsStore); + const settingStore = useSettingStore(); + const maxQueueCount = computed( + () => settingStore.get("Comfy.QueueButton.BatchCountLimit") + ); + const handleClick = /* @__PURE__ */ __name((increment) => { + let newCount; + if (increment) { + const originalCount = batchCount.value - 1; + newCount = Math.min(originalCount * 2, maxQueueCount.value); + } else { + const originalCount = batchCount.value + 1; + newCount = Math.floor(originalCount / 2); + } + batchCount.value = newCount; + }, "handleClick"); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return withDirectives((openBlock(), createElementBlock("div", { + class: normalizeClass(["batch-count", props.class]) + }, [ + createVNode(unref(script$x), { + class: "w-14", + modelValue: unref(batchCount), + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(batchCount) ? batchCount.value = $event : null), + min: minQueueCount, + max: maxQueueCount.value, + fluid: "", + showButtons: "", + pt: { + incrementButton: { + class: "w-6", + onmousedown: /* @__PURE__ */ __name(() => { + handleClick(true); + }, "onmousedown") + }, + decrementButton: { + class: "w-6", + onmousedown: /* @__PURE__ */ __name(() => { + handleClick(false); + }, "onmousedown") + } + } + }, null, 8, ["modelValue", "max", "pt"]) + ], 2)), [ + [ + _directive_tooltip, + _ctx.$t("menu.batchCount"), + void 0, + { bottom: true } + ] + ]); + }; + } +}); +const BatchCountEdit = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-b9328350"]]); +const _withScopeId$3 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-7f4f551b"), n = n(), popScopeId(), n), "_withScopeId$3"); +const _hoisted_1$6 = { class: "queue-button-group flex" }; +const _sfc_main$7 = /* @__PURE__ */ defineComponent({ + __name: "ComfyQueueButton", + setup(__props) { + const workspaceStore = useWorkspaceStore(); + const queueCountStore = storeToRefs(useQueuePendingTaskCountStore()); + const { mode: queueMode } = storeToRefs(useQueueSettingsStore()); + const { t } = useI18n(); + const queueModeMenuItemLookup = computed(() => ({ + disabled: { + key: "disabled", + label: t("menu.queue"), + tooltip: t("menu.disabledTooltip"), + command: /* @__PURE__ */ __name(() => { + queueMode.value = "disabled"; + }, "command") + }, + instant: { + key: "instant", + label: `${t("menu.queue")} (${t("menu.instant")})`, + tooltip: t("menu.instantTooltip"), + command: /* @__PURE__ */ __name(() => { + queueMode.value = "instant"; + }, "command") + }, + change: { + key: "change", + label: `${t("menu.queue")} (${t("menu.onChange")})`, + tooltip: t("menu.onChangeTooltip"), + command: /* @__PURE__ */ __name(() => { + queueMode.value = "change"; + }, "command") + } + })); + const activeQueueModeMenuItem = computed( + () => queueModeMenuItemLookup.value[queueMode.value] + ); + const queueModeMenuItems = computed( + () => Object.values(queueModeMenuItemLookup.value) + ); + const executingPrompt = computed(() => !!queueCountStore.count.value); + const hasPendingTasks = computed(() => queueCountStore.count.value > 1); + const commandStore = useCommandStore(); + const queuePrompt = /* @__PURE__ */ __name((e) => { + const commandId = e.shiftKey ? "Comfy.QueuePromptFront" : "Comfy.QueuePrompt"; + commandStore.execute(commandId); + }, "queuePrompt"); + return (_ctx, _cache) => { + const _component_i_lucide58list_start = __unplugin_components_0$1; + const _component_i_lucide58play = __unplugin_components_1$1; + const _component_i_lucide58fast_forward = __unplugin_components_2; + const _component_i_lucide58step_forward = __unplugin_components_3; + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock("div", _hoisted_1$6, [ + withDirectives((openBlock(), createBlock(unref(script$3), { + class: "comfyui-queue-button", + label: activeQueueModeMenuItem.value.label, + severity: "primary", + size: "small", + onClick: queuePrompt, + model: queueModeMenuItems.value, + "data-testid": "queue-button" + }, { + icon: withCtx(() => [ + unref(workspaceStore).shiftDown ? (openBlock(), createBlock(_component_i_lucide58list_start, { key: 0 })) : unref(queueMode) === "disabled" ? (openBlock(), createBlock(_component_i_lucide58play, { key: 1 })) : unref(queueMode) === "instant" ? (openBlock(), createBlock(_component_i_lucide58fast_forward, { key: 2 })) : unref(queueMode) === "change" ? (openBlock(), createBlock(_component_i_lucide58step_forward, { key: 3 })) : createCommentVNode("", true) + ]), + item: withCtx(({ item: item3 }) => [ + withDirectives(createVNode(unref(script$d), { + label: item3.label, + icon: item3.icon, + severity: item3.key === unref(queueMode) ? "primary" : "secondary", + size: "small", + text: "" + }, null, 8, ["label", "icon", "severity"]), [ + [_directive_tooltip, item3.tooltip] + ]) + ]), + _: 1 + }, 8, ["label", "model"])), [ + [ + _directive_tooltip, + unref(workspaceStore).shiftDown ? _ctx.$t("menu.queueWorkflowFront") : _ctx.$t("menu.queueWorkflow"), + void 0, + { bottom: true } + ] + ]), + createVNode(BatchCountEdit), + createVNode(unref(script$8), { class: "execution-actions flex flex-nowrap" }, { + default: withCtx(() => [ + withDirectives(createVNode(unref(script$d), { + icon: "pi pi-times", + severity: executingPrompt.value ? "danger" : "secondary", + disabled: !executingPrompt.value, + text: "", + onClick: _cache[0] || (_cache[0] = () => unref(commandStore).execute("Comfy.Interrupt")) + }, null, 8, ["severity", "disabled"]), [ + [ + _directive_tooltip, + _ctx.$t("menu.interrupt"), + void 0, + { bottom: true } + ] + ]), + withDirectives(createVNode(unref(script$d), { + icon: "pi pi-stop", + severity: hasPendingTasks.value ? "danger" : "secondary", + disabled: !hasPendingTasks.value, + text: "", + onClick: _cache[1] || (_cache[1] = () => unref(commandStore).execute("Comfy.ClearPendingTasks")) + }, null, 8, ["severity", "disabled"]), [ + [ + _directive_tooltip, + _ctx.$t("sideToolbar.queueTab.clearPendingTasks"), + void 0, + { bottom: true } + ] + ]) + ]), + _: 1 + }) + ]); + }; + } +}); +const ComfyQueueButton = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-7f4f551b"]]); +const overlapThreshold = 20; +const _sfc_main$6 = /* @__PURE__ */ defineComponent({ + __name: "ComfyActionbar", + setup(__props) { + const settingsStore = useSettingStore(); + const visible = computed( + () => settingsStore.get("Comfy.UseNewMenu") !== "Disabled" + ); + const panelRef = ref(null); + const dragHandleRef = ref(null); + const isDocked = useLocalStorage("Comfy.MenuPosition.Docked", false); + const storedPosition = useLocalStorage("Comfy.MenuPosition.Floating", { + x: 0, + y: 0 + }); + const { + x, + y, + style, + isDragging + } = useDraggable(panelRef, { + initialValue: { x: 0, y: 0 }, + handle: dragHandleRef, + containerElement: document.body + }); + watchDebounced( + [x, y], + ([newX, newY]) => { + storedPosition.value = { x: newX, y: newY }; + }, + { debounce: 300 } + ); + const setInitialPosition = /* @__PURE__ */ __name(() => { + if (x.value !== 0 || y.value !== 0) { + return; + } + if (storedPosition.value.x !== 0 || storedPosition.value.y !== 0) { + x.value = storedPosition.value.x; + y.value = storedPosition.value.y; + captureLastDragState(); + return; + } + if (panelRef.value) { + const screenWidth = window.innerWidth; + const screenHeight = window.innerHeight; + const menuWidth = panelRef.value.offsetWidth; + const menuHeight = panelRef.value.offsetHeight; + if (menuWidth === 0 || menuHeight === 0) { + return; + } + x.value = (screenWidth - menuWidth) / 2; + y.value = screenHeight - menuHeight - 10; + captureLastDragState(); + } + }, "setInitialPosition"); + onMounted(setInitialPosition); + watch(visible, (newVisible) => { + if (newVisible) { + nextTick(setInitialPosition); + } + }); + const lastDragState = ref({ + x: x.value, + y: y.value, + windowWidth: window.innerWidth, + windowHeight: window.innerHeight + }); + const captureLastDragState = /* @__PURE__ */ __name(() => { + lastDragState.value = { + x: x.value, + y: y.value, + windowWidth: window.innerWidth, + windowHeight: window.innerHeight + }; + }, "captureLastDragState"); + watch( + isDragging, + (newIsDragging) => { + if (!newIsDragging) { + captureLastDragState(); + } + }, + { immediate: true } + ); + const adjustMenuPosition = /* @__PURE__ */ __name(() => { + if (panelRef.value) { + const screenWidth = window.innerWidth; + const screenHeight = window.innerHeight; + const menuWidth = panelRef.value.offsetWidth; + const menuHeight = panelRef.value.offsetHeight; + const distanceLeft = lastDragState.value.x; + const distanceRight = lastDragState.value.windowWidth - (lastDragState.value.x + menuWidth); + const distanceTop = lastDragState.value.y; + const distanceBottom = lastDragState.value.windowHeight - (lastDragState.value.y + menuHeight); + const distances = [ + { edge: "left", distance: distanceLeft }, + { edge: "right", distance: distanceRight }, + { edge: "top", distance: distanceTop }, + { edge: "bottom", distance: distanceBottom } + ]; + const closestEdge = distances.reduce( + (min, curr) => curr.distance < min.distance ? curr : min + ); + const verticalRatio = lastDragState.value.y / lastDragState.value.windowHeight; + const horizontalRatio = lastDragState.value.x / lastDragState.value.windowWidth; + if (closestEdge.edge === "left") { + x.value = closestEdge.distance; + y.value = verticalRatio * screenHeight; + } else if (closestEdge.edge === "right") { + x.value = screenWidth - menuWidth - closestEdge.distance; + y.value = verticalRatio * screenHeight; + } else if (closestEdge.edge === "top") { + x.value = horizontalRatio * screenWidth; + y.value = closestEdge.distance; + } else { + x.value = horizontalRatio * screenWidth; + y.value = screenHeight - menuHeight - closestEdge.distance; + } + x.value = lodashExports.clamp(x.value, 0, screenWidth - menuWidth); + y.value = lodashExports.clamp(y.value, 0, screenHeight - menuHeight); + } + }, "adjustMenuPosition"); + useEventListener(window, "resize", adjustMenuPosition); + const topMenuRef = inject("topMenuRef"); + const topMenuBounds = useElementBounding(topMenuRef); + const isOverlappingWithTopMenu = computed(() => { + if (!panelRef.value) { + return false; + } + const { height } = panelRef.value.getBoundingClientRect(); + const actionbarBottom = y.value + height; + const topMenuBottom = topMenuBounds.bottom.value; + const overlapPixels = Math.min(actionbarBottom, topMenuBottom) - Math.max(y.value, topMenuBounds.top.value); + return overlapPixels > overlapThreshold; + }); + watch(isDragging, (newIsDragging) => { + if (!newIsDragging) { + isDocked.value = isOverlappingWithTopMenu.value; + } else { + isDocked.value = false; + } + }); + const eventBus = useEventBus("topMenu"); + watch([isDragging, isOverlappingWithTopMenu], ([dragging, overlapping]) => { + eventBus.emit("updateHighlight", { + isDragging: dragging, + isOverlapping: overlapping + }); + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script$y), { + class: normalizeClass(["actionbar w-fit", { "is-dragging": unref(isDragging), "is-docked": unref(isDocked) }]), + style: normalizeStyle(unref(style)) + }, { + default: withCtx(() => [ + createBaseVNode("div", { + class: "actionbar-content flex items-center", + ref_key: "panelRef", + ref: panelRef + }, [ + createBaseVNode("span", { + class: "drag-handle cursor-move mr-2 p-0!", + ref_key: "dragHandleRef", + ref: dragHandleRef + }, null, 512), + createVNode(ComfyQueueButton) + ], 512) + ]), + _: 1 + }, 8, ["style", "class"]); + }; + } +}); +const Actionbar = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-915e5456"]]); +const _hoisted_1$5 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$5 = /* @__PURE__ */ createBaseVNode("path", { + fill: "currentColor", + d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-5v3h14v-3zm0-2h14V5H5zm0 2v3z" +}, null, -1); +const _hoisted_3$4 = [ + _hoisted_2$5 +]; +function render$3(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$5, [..._hoisted_3$4]); +} +__name(render$3, "render$3"); +const __unplugin_components_1 = markRaw({ name: "material-symbols-dock-to-bottom-outline", render: render$3 }); +const _hoisted_1$4 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$4 = /* @__PURE__ */ createBaseVNode("path", { + fill: "currentColor", + d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-7h14V5H5z" +}, null, -1); +const _hoisted_3$3 = [ + _hoisted_2$4 +]; +function render$2(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$4, [..._hoisted_3$3]); +} +__name(render$2, "render$2"); +const __unplugin_components_0 = markRaw({ name: "material-symbols-dock-to-bottom", render: render$2 }); +const _sfc_main$5 = /* @__PURE__ */ defineComponent({ + __name: "BottomPanelToggleButton", + setup(__props) { + const bottomPanelStore = useBottomPanelStore(); + return (_ctx, _cache) => { + const _component_i_material_symbols58dock_to_bottom = __unplugin_components_0; + const _component_i_material_symbols58dock_to_bottom_outline = __unplugin_components_1; + const _directive_tooltip = resolveDirective("tooltip"); + return withDirectives((openBlock(), createBlock(unref(script$d), { + severity: "secondary", + text: "", + onClick: unref(bottomPanelStore).toggleBottomPanel + }, { + icon: withCtx(() => [ + unref(bottomPanelStore).bottomPanelVisible ? (openBlock(), createBlock(_component_i_material_symbols58dock_to_bottom, { key: 0 })) : (openBlock(), createBlock(_component_i_material_symbols58dock_to_bottom_outline, { key: 1 })) + ]), + _: 1 + }, 8, ["onClick"])), [ + [vShow, unref(bottomPanelStore).bottomPanelTabs.length > 0], + [_directive_tooltip, { value: _ctx.$t("menu.toggleBottomPanel"), showDelay: 300 }] + ]); + }; + } +}); +var theme8 = /* @__PURE__ */ __name(function theme9(_ref) { + var dt = _ref.dt; + return "\n.p-menubar {\n display: flex;\n align-items: center;\n background: ".concat(dt("menubar.background"), ";\n border: 1px solid ").concat(dt("menubar.border.color"), ";\n border-radius: ").concat(dt("menubar.border.radius"), ";\n color: ").concat(dt("menubar.color"), ";\n padding: ").concat(dt("menubar.padding"), ";\n gap: ").concat(dt("menubar.gap"), ";\n}\n\n.p-menubar-start,\n.p-megamenu-end {\n display: flex;\n align-items: center;\n}\n\n.p-menubar-root-list,\n.p-menubar-submenu {\n display: flex;\n margin: 0;\n padding: 0;\n list-style: none;\n outline: 0 none;\n}\n\n.p-menubar-root-list {\n align-items: center;\n flex-wrap: wrap;\n gap: ").concat(dt("menubar.gap"), ";\n}\n\n.p-menubar-root-list > .p-menubar-item > .p-menubar-item-content {\n border-radius: ").concat(dt("menubar.base.item.border.radius"), ";\n}\n\n.p-menubar-root-list > .p-menubar-item > .p-menubar-item-content > .p-menubar-item-link {\n padding: ").concat(dt("menubar.base.item.padding"), ";\n}\n\n.p-menubar-item-content {\n transition: background ").concat(dt("menubar.transition.duration"), ", color ").concat(dt("menubar.transition.duration"), ";\n border-radius: ").concat(dt("menubar.item.border.radius"), ";\n color: ").concat(dt("menubar.item.color"), ";\n}\n\n.p-menubar-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt("menubar.item.padding"), ";\n gap: ").concat(dt("menubar.item.gap"), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-menubar-item-label {\n line-height: 1;\n}\n\n.p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.color"), ";\n}\n\n.p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.color"), ";\n margin-left: auto;\n font-size: ").concat(dt("menubar.submenu.icon.size"), ";\n width: ").concat(dt("menubar.submenu.icon.size"), ";\n height: ").concat(dt("menubar.submenu.icon.size"), ";\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content {\n color: ").concat(dt("menubar.item.focus.color"), ";\n background: ").concat(dt("menubar.item.focus.background"), ";\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.focus.color"), ";\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.focus.color"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover {\n color: ").concat(dt("menubar.item.focus.color"), ";\n background: ").concat(dt("menubar.item.focus.background"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.focus.color"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.focus.color"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content {\n color: ").concat(dt("menubar.item.active.color"), ";\n background: ").concat(dt("menubar.item.active.background"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.active.color"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.active.color"), ";\n}\n\n.p-menubar-submenu {\n display: none;\n position: absolute;\n min-width: 12.5rem;\n z-index: 1;\n background: ").concat(dt("menubar.submenu.background"), ";\n border: 1px solid ").concat(dt("menubar.submenu.border.color"), ";\n border-radius: ").concat(dt("menubar.border.radius"), ";\n box-shadow: ").concat(dt("menubar.submenu.shadow"), ";\n color: ").concat(dt("menubar.submenu.color"), ";\n flex-direction: column;\n padding: ").concat(dt("menubar.submenu.padding"), ";\n gap: ").concat(dt("menubar.submenu.gap"), ";\n}\n\n.p-menubar-submenu .p-menubar-separator {\n border-top: 1px solid ").concat(dt("menubar.separator.border.color"), ";\n}\n\n.p-menubar-submenu .p-menubar-item {\n position: relative;\n}\n\n .p-menubar-submenu > .p-menubar-item-active > .p-menubar-submenu {\n display: block;\n left: 100%;\n top: 0;\n}\n\n.p-menubar-end {\n margin-left: auto;\n align-self: center;\n}\n\n.p-menubar-button {\n display: none;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n width: ").concat(dt("menubar.mobile.button.size"), ";\n height: ").concat(dt("menubar.mobile.button.size"), ";\n position: relative;\n color: ").concat(dt("menubar.mobile.button.color"), ";\n border: 0 none;\n background: transparent;\n border-radius: ").concat(dt("menubar.mobile.button.border.radius"), ";\n transition: background ").concat(dt("menubar.transition.duration"), ", color ").concat(dt("menubar.transition.duration"), ", outline-color ").concat(dt("menubar.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-menubar-button:hover {\n color: ").concat(dt("menubar.mobile.button.hover.color"), ";\n background: ").concat(dt("menubar.mobile.button.hover.background"), ";\n}\n\n.p-menubar-button:focus-visible {\n box-shadow: ").concat(dt("menubar.mobile.button.focus.ring.shadow"), ";\n outline: ").concat(dt("menubar.mobile.button.focus.ring.width"), " ").concat(dt("menubar.mobile.button.focus.ring.style"), " ").concat(dt("menubar.mobile.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("menubar.mobile.button.focus.ring.offset"), ";\n}\n\n.p-menubar-mobile {\n position: relative;\n}\n\n.p-menubar-mobile .p-menubar-button {\n display: flex;\n}\n\n.p-menubar-mobile .p-menubar-root-list {\n position: absolute;\n display: none;\n width: 100%;\n padding: ").concat(dt("menubar.submenu.padding"), ";\n background: ").concat(dt("menubar.submenu.background"), ";\n border: 1px solid ").concat(dt("menubar.submenu.border.color"), ";\n box-shadow: ").concat(dt("menubar.submenu.shadow"), ";\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content {\n border-radius: ").concat(dt("menubar.item.border.radius"), ";\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content > .p-menubar-item-link {\n padding: ").concat(dt("menubar.item.padding"), ";\n}\n\n.p-menubar-mobile-active .p-menubar-root-list {\n display: flex;\n flex-direction: column;\n top: 100%;\n left: 0;\n z-index: 1;\n}\n\n.p-menubar-mobile .p-menubar-root-list .p-menubar-item {\n width: 100%;\n position: static;\n}\n\n.p-menubar-mobile .p-menubar-root-list .p-menubar-separator {\n border-top: 1px solid ").concat(dt("menubar.separator.border.color"), ";\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content .p-menubar-submenu-icon {\n margin-left: auto;\n transition: transform 0.2s;\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n transform: rotate(-180deg);\n}\n\n.p-menubar-mobile .p-menubar-submenu .p-menubar-submenu-icon {\n transition: transform 0.2s;\n transform: rotate(90deg);\n}\n\n.p-menubar-mobile .p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n transform: rotate(-90deg);\n}\n\n.p-menubar-mobile .p-menubar-submenu {\n width: 100%;\n position: static;\n box-shadow: none;\n border: 0 none;\n padding-left: ").concat(dt("menubar.submenu.mobile.indent"), ";\n}\n"); +}, "theme"); +var inlineStyles = { + submenu: /* @__PURE__ */ __name(function submenu2(_ref2) { + var instance = _ref2.instance, processedItem = _ref2.processedItem; + return { + display: instance.isItemActive(processedItem) ? "flex" : "none" + }; + }, "submenu") +}; +var classes = { + root: /* @__PURE__ */ __name(function root10(_ref3) { + var instance = _ref3.instance; + return ["p-menubar p-component", { + "p-menubar-mobile": instance.queryMatches, + "p-menubar-mobile-active": instance.mobileActive + }]; + }, "root"), + start: "p-menubar-start", + button: "p-menubar-button", + rootList: "p-menubar-root-list", + item: /* @__PURE__ */ __name(function item2(_ref4) { + var instance = _ref4.instance, processedItem = _ref4.processedItem; + return ["p-menubar-item", { + "p-menubar-item-active": instance.isItemActive(processedItem), + "p-focus": instance.isItemFocused(processedItem), + "p-disabled": instance.isItemDisabled(processedItem) + }]; + }, "item"), + itemContent: "p-menubar-item-content", + itemLink: "p-menubar-item-link", + itemIcon: "p-menubar-item-icon", + itemLabel: "p-menubar-item-label", + submenuIcon: "p-menubar-submenu-icon", + submenu: "p-menubar-submenu", + separator: "p-menubar-separator", + end: "p-menubar-end" +}; +var MenubarStyle = BaseStyle.extend({ + name: "menubar", + theme: theme8, + classes, + inlineStyles +}); +var script$2 = { + name: "BaseMenubar", + "extends": script$e, + props: { + model: { + type: Array, + "default": null + }, + buttonProps: { + type: null, + "default": null + }, + breakpoint: { + type: String, + "default": "960px" + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: MenubarStyle, + provide: /* @__PURE__ */ __name(function provide12() { + return { + $pcMenubar: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1 = { + name: "MenubarSub", + hostName: "Menubar", + "extends": script$e, + emits: ["item-mouseenter", "item-click", "item-mousemove"], + props: { + items: { + type: Array, + "default": null + }, + root: { + type: Boolean, + "default": false + }, + popup: { + type: Boolean, + "default": false + }, + mobileActive: { + type: Boolean, + "default": false + }, + templates: { + type: Object, + "default": null + }, + level: { + type: Number, + "default": 0 + }, + menuId: { + type: String, + "default": null + }, + focusedItemId: { + type: String, + "default": null + }, + activeItemPath: { + type: Object, + "default": null + } + }, + list: null, + methods: { + getItemId: /* @__PURE__ */ __name(function getItemId2(processedItem) { + return "".concat(this.menuId, "_").concat(processedItem.key); + }, "getItemId"), + getItemKey: /* @__PURE__ */ __name(function getItemKey2(processedItem) { + return this.getItemId(processedItem); + }, "getItemKey"), + getItemProp: /* @__PURE__ */ __name(function getItemProp3(processedItem, name, params) { + return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : void 0; + }, "getItemProp"), + getItemLabel: /* @__PURE__ */ __name(function getItemLabel3(processedItem) { + return this.getItemProp(processedItem, "label"); + }, "getItemLabel"), + getItemLabelId: /* @__PURE__ */ __name(function getItemLabelId2(processedItem) { + return "".concat(this.menuId, "_").concat(processedItem.key, "_label"); + }, "getItemLabelId"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions5(processedItem, index, key) { + return this.ptm(key, { + context: { + item: processedItem.item, + index, + active: this.isItemActive(processedItem), + focused: this.isItemFocused(processedItem), + disabled: this.isItemDisabled(processedItem), + level: this.level + } + }); + }, "getPTOptions"), + isItemActive: /* @__PURE__ */ __name(function isItemActive2(processedItem) { + return this.activeItemPath.some(function(path) { + return path.key === processedItem.key; + }); + }, "isItemActive"), + isItemVisible: /* @__PURE__ */ __name(function isItemVisible3(processedItem) { + return this.getItemProp(processedItem, "visible") !== false; + }, "isItemVisible"), + isItemDisabled: /* @__PURE__ */ __name(function isItemDisabled3(processedItem) { + return this.getItemProp(processedItem, "disabled"); + }, "isItemDisabled"), + isItemFocused: /* @__PURE__ */ __name(function isItemFocused2(processedItem) { + return this.focusedItemId === this.getItemId(processedItem); + }, "isItemFocused"), + isItemGroup: /* @__PURE__ */ __name(function isItemGroup3(processedItem) { + return isNotEmpty(processedItem.items); + }, "isItemGroup"), + onItemClick: /* @__PURE__ */ __name(function onItemClick3(event, processedItem) { + this.getItemProp(processedItem, "command", { + originalEvent: event, + item: processedItem.item + }); + this.$emit("item-click", { + originalEvent: event, + processedItem, + isFocus: true + }); + }, "onItemClick"), + onItemMouseEnter: /* @__PURE__ */ __name(function onItemMouseEnter3(event, processedItem) { + this.$emit("item-mouseenter", { + originalEvent: event, + processedItem + }); + }, "onItemMouseEnter"), + onItemMouseMove: /* @__PURE__ */ __name(function onItemMouseMove3(event, processedItem) { + this.$emit("item-mousemove", { + originalEvent: event, + processedItem + }); + }, "onItemMouseMove"), + getAriaPosInset: /* @__PURE__ */ __name(function getAriaPosInset3(index) { + return index - this.calculateAriaSetSize.slice(0, index).length + 1; + }, "getAriaPosInset"), + getMenuItemProps: /* @__PURE__ */ __name(function getMenuItemProps2(processedItem, index) { + return { + action: mergeProps({ + "class": this.cx("itemLink"), + tabindex: -1, + "aria-hidden": true + }, this.getPTOptions(processedItem, index, "itemLink")), + icon: mergeProps({ + "class": [this.cx("itemIcon"), this.getItemProp(processedItem, "icon")] + }, this.getPTOptions(processedItem, index, "itemIcon")), + label: mergeProps({ + "class": this.cx("itemLabel") + }, this.getPTOptions(processedItem, index, "itemLabel")), + submenuicon: mergeProps({ + "class": this.cx("submenuIcon") + }, this.getPTOptions(processedItem, index, "submenuIcon")) + }; + }, "getMenuItemProps") + }, + computed: { + calculateAriaSetSize: /* @__PURE__ */ __name(function calculateAriaSetSize() { + var _this = this; + return this.items.filter(function(processedItem) { + return _this.isItemVisible(processedItem) && _this.getItemProp(processedItem, "separator"); + }); + }, "calculateAriaSetSize"), + getAriaSetSize: /* @__PURE__ */ __name(function getAriaSetSize2() { + var _this2 = this; + return this.items.filter(function(processedItem) { + return _this2.isItemVisible(processedItem) && !_this2.getItemProp(processedItem, "separator"); + }).length; + }, "getAriaSetSize") + }, + components: { + AngleRightIcon: script$w, + AngleDownIcon: script$z + }, + directives: { + ripple: Ripple + } +}; +var _hoisted_1$1$1 = ["id", "aria-label", "aria-disabled", "aria-expanded", "aria-haspopup", "aria-level", "aria-setsize", "aria-posinset", "data-p-active", "data-p-focused", "data-p-disabled"]; +var _hoisted_2$3 = ["onClick", "onMouseenter", "onMousemove"]; +var _hoisted_3$2 = ["href", "target"]; +var _hoisted_4 = ["id"]; +var _hoisted_5 = ["id"]; +function render$1(_ctx, _cache, $props, $setup, $data, $options) { + var _component_MenubarSub = resolveComponent("MenubarSub", true); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("ul", mergeProps({ + "class": $props.level === 0 ? _ctx.cx("rootList") : _ctx.cx("submenu") + }, $props.level === 0 ? _ctx.ptm("rootList") : _ctx.ptm("submenu")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.items, function(processedItem, index) { + return openBlock(), createElementBlock(Fragment, { + key: $options.getItemKey(processedItem) + }, [$options.isItemVisible(processedItem) && !$options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + id: $options.getItemId(processedItem), + style: $options.getItemProp(processedItem, "style"), + "class": [_ctx.cx("item", { + processedItem + }), $options.getItemProp(processedItem, "class")], + role: "menuitem", + "aria-label": $options.getItemLabel(processedItem), + "aria-disabled": $options.isItemDisabled(processedItem) || void 0, + "aria-expanded": $options.isItemGroup(processedItem) ? $options.isItemActive(processedItem) : void 0, + "aria-haspopup": $options.isItemGroup(processedItem) && !$options.getItemProp(processedItem, "to") ? "menu" : void 0, + "aria-level": $props.level + 1, + "aria-setsize": $options.getAriaSetSize, + "aria-posinset": $options.getAriaPosInset(index), + ref_for: true + }, $options.getPTOptions(processedItem, index, "item"), { + "data-p-active": $options.isItemActive(processedItem), + "data-p-focused": $options.isItemFocused(processedItem), + "data-p-disabled": $options.isItemDisabled(processedItem) + }), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("itemContent"), + onClick: /* @__PURE__ */ __name(function onClick2($event) { + return $options.onItemClick($event, processedItem); + }, "onClick"), + onMouseenter: /* @__PURE__ */ __name(function onMouseenter($event) { + return $options.onItemMouseEnter($event, processedItem); + }, "onMouseenter"), + onMousemove: /* @__PURE__ */ __name(function onMousemove($event) { + return $options.onItemMouseMove($event, processedItem); + }, "onMousemove"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemContent")), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock("a", mergeProps({ + key: 0, + href: $options.getItemProp(processedItem, "url"), + "class": _ctx.cx("itemLink"), + target: $options.getItemProp(processedItem, "target"), + tabindex: "-1", + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemLink")), [$props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), { + key: 0, + item: processedItem.item, + "class": normalizeClass(_ctx.cx("itemIcon")) + }, null, 8, ["item", "class"])) : $options.getItemProp(processedItem, "icon") ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": [_ctx.cx("itemIcon"), $options.getItemProp(processedItem, "icon")], + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemIcon")), null, 16)) : createCommentVNode("", true), createBaseVNode("span", mergeProps({ + id: $options.getItemLabelId(processedItem), + "class": _ctx.cx("itemLabel"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemLabel")), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_4), $options.getItemProp(processedItem, "items") ? (openBlock(), createElementBlock(Fragment, { + key: 2 + }, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), { + key: 0, + root: $props.root, + active: $options.isItemActive(processedItem), + "class": normalizeClass(_ctx.cx("submenuIcon")) + }, null, 8, ["root", "active", "class"])) : (openBlock(), createBlock(resolveDynamicComponent($props.root ? "AngleDownIcon" : "AngleRightIcon"), mergeProps({ + key: 1, + "class": _ctx.cx("submenuIcon"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "submenuIcon")), null, 16, ["class"]))], 64)) : createCommentVNode("", true)], 16, _hoisted_3$2)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), { + key: 1, + item: processedItem.item, + root: $props.root, + hasSubmenu: $options.getItemProp(processedItem, "items"), + label: $options.getItemLabel(processedItem), + props: $options.getMenuItemProps(processedItem, index) + }, null, 8, ["item", "root", "hasSubmenu", "label", "props"]))], 16, _hoisted_2$3), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_MenubarSub, { + key: 0, + id: $options.getItemId(processedItem) + "_list", + menuId: $props.menuId, + role: "menu", + style: normalizeStyle(_ctx.sx("submenu", true, { + processedItem + })), + focusedItemId: $props.focusedItemId, + items: processedItem.items, + mobileActive: $props.mobileActive, + activeItemPath: $props.activeItemPath, + templates: $props.templates, + level: $props.level + 1, + "aria-labelledby": $options.getItemLabelId(processedItem), + pt: _ctx.pt, + unstyled: _ctx.unstyled, + onItemClick: _cache[0] || (_cache[0] = function($event) { + return _ctx.$emit("item-click", $event); + }), + onItemMouseenter: _cache[1] || (_cache[1] = function($event) { + return _ctx.$emit("item-mouseenter", $event); + }), + onItemMousemove: _cache[2] || (_cache[2] = function($event) { + return _ctx.$emit("item-mousemove", $event); + }) + }, null, 8, ["id", "menuId", "style", "focusedItemId", "items", "mobileActive", "activeItemPath", "templates", "level", "aria-labelledby", "pt", "unstyled"])) : createCommentVNode("", true)], 16, _hoisted_1$1$1)) : createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ + key: 1, + id: $options.getItemId(processedItem), + "class": [_ctx.cx("separator"), $options.getItemProp(processedItem, "class")], + style: $options.getItemProp(processedItem, "style"), + role: "separator", + ref_for: true + }, _ctx.ptm("separator")), null, 16, _hoisted_5)) : createCommentVNode("", true)], 64); + }), 128))], 16); +} +__name(render$1, "render$1"); +script$1.render = render$1; +var script = { + name: "Menubar", + "extends": script$2, + inheritAttrs: false, + emits: ["focus", "blur"], + matchMediaListener: null, + data: /* @__PURE__ */ __name(function data8() { + return { + id: this.$attrs.id, + mobileActive: false, + focused: false, + focusedItemInfo: { + index: -1, + level: 0, + parentKey: "" + }, + activeItemPath: [], + dirty: false, + query: null, + queryMatches: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId4(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + activeItemPath: /* @__PURE__ */ __name(function activeItemPath2(newPath) { + if (isNotEmpty(newPath)) { + this.bindOutsideClickListener(); + this.bindResizeListener(); + } else { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + } + }, "activeItemPath") + }, + outsideClickListener: null, + container: null, + menubar: null, + mounted: /* @__PURE__ */ __name(function mounted8() { + this.id = this.id || UniqueComponentId(); + this.bindMatchMediaListener(); + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount7() { + this.mobileActive = false; + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + this.unbindMatchMediaListener(); + if (this.container) { + ZIndex.clear(this.container); + } + this.container = null; + }, "beforeUnmount"), + methods: { + getItemProp: /* @__PURE__ */ __name(function getItemProp4(item3, name) { + return item3 ? resolve(item3[name]) : void 0; + }, "getItemProp"), + getItemLabel: /* @__PURE__ */ __name(function getItemLabel4(item3) { + return this.getItemProp(item3, "label"); + }, "getItemLabel"), + isItemDisabled: /* @__PURE__ */ __name(function isItemDisabled4(item3) { + return this.getItemProp(item3, "disabled"); + }, "isItemDisabled"), + isItemVisible: /* @__PURE__ */ __name(function isItemVisible4(item3) { + return this.getItemProp(item3, "visible") !== false; + }, "isItemVisible"), + isItemGroup: /* @__PURE__ */ __name(function isItemGroup4(item3) { + return isNotEmpty(this.getItemProp(item3, "items")); + }, "isItemGroup"), + isItemSeparator: /* @__PURE__ */ __name(function isItemSeparator2(item3) { + return this.getItemProp(item3, "separator"); + }, "isItemSeparator"), + getProccessedItemLabel: /* @__PURE__ */ __name(function getProccessedItemLabel2(processedItem) { + return processedItem ? this.getItemLabel(processedItem.item) : void 0; + }, "getProccessedItemLabel"), + isProccessedItemGroup: /* @__PURE__ */ __name(function isProccessedItemGroup2(processedItem) { + return processedItem && isNotEmpty(processedItem.items); + }, "isProccessedItemGroup"), + toggle: /* @__PURE__ */ __name(function toggle2(event) { + var _this = this; + if (this.mobileActive) { + this.mobileActive = false; + ZIndex.clear(this.menubar); + this.hide(); + } else { + this.mobileActive = true; + ZIndex.set("menu", this.menubar, this.$primevue.config.zIndex.menu); + setTimeout(function() { + _this.show(); + }, 1); + } + this.bindOutsideClickListener(); + event.preventDefault(); + }, "toggle"), + show: /* @__PURE__ */ __name(function show3() { + focus(this.menubar); + }, "show"), + hide: /* @__PURE__ */ __name(function hide3(event, isFocus) { + var _this2 = this; + if (this.mobileActive) { + this.mobileActive = false; + setTimeout(function() { + focus(_this2.$refs.menubutton); + }, 0); + } + this.activeItemPath = []; + this.focusedItemInfo = { + index: -1, + level: 0, + parentKey: "" + }; + isFocus && focus(this.menubar); + this.dirty = false; + }, "hide"), + onFocus: /* @__PURE__ */ __name(function onFocus4(event) { + this.focused = true; + this.focusedItemInfo = this.focusedItemInfo.index !== -1 ? this.focusedItemInfo : { + index: this.findFirstFocusedItemIndex(), + level: 0, + parentKey: "" + }; + this.$emit("focus", event); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur3(event) { + this.focused = false; + this.focusedItemInfo = { + index: -1, + level: 0, + parentKey: "" + }; + this.searchValue = ""; + this.dirty = false; + this.$emit("blur", event); + }, "onBlur"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown3(event) { + var metaKey = event.metaKey || event.ctrlKey; + switch (event.code) { + case "ArrowDown": + this.onArrowDownKey(event); + break; + case "ArrowUp": + this.onArrowUpKey(event); + break; + case "ArrowLeft": + this.onArrowLeftKey(event); + break; + case "ArrowRight": + this.onArrowRightKey(event); + break; + case "Home": + this.onHomeKey(event); + break; + case "End": + this.onEndKey(event); + break; + case "Space": + this.onSpaceKey(event); + break; + case "Enter": + case "NumpadEnter": + this.onEnterKey(event); + break; + case "Escape": + this.onEscapeKey(event); + break; + case "Tab": + this.onTabKey(event); + break; + case "PageDown": + case "PageUp": + case "Backspace": + case "ShiftLeft": + case "ShiftRight": + break; + default: + if (!metaKey && isPrintableCharacter(event.key)) { + this.searchItems(event, event.key); + } + break; + } + }, "onKeyDown"), + onItemChange: /* @__PURE__ */ __name(function onItemChange2(event) { + var processedItem = event.processedItem, isFocus = event.isFocus; + if (isEmpty(processedItem)) return; + var index = processedItem.index, key = processedItem.key, level = processedItem.level, parentKey = processedItem.parentKey, items = processedItem.items; + var grouped = isNotEmpty(items); + var activeItemPath3 = this.activeItemPath.filter(function(p) { + return p.parentKey !== parentKey && p.parentKey !== key; + }); + grouped && activeItemPath3.push(processedItem); + this.focusedItemInfo = { + index, + level, + parentKey + }; + this.activeItemPath = activeItemPath3; + grouped && (this.dirty = true); + isFocus && focus(this.menubar); + }, "onItemChange"), + onItemClick: /* @__PURE__ */ __name(function onItemClick4(event) { + var originalEvent = event.originalEvent, processedItem = event.processedItem; + var grouped = this.isProccessedItemGroup(processedItem); + var root11 = isEmpty(processedItem.parent); + var selected = this.isSelected(processedItem); + if (selected) { + var index = processedItem.index, key = processedItem.key, level = processedItem.level, parentKey = processedItem.parentKey; + this.activeItemPath = this.activeItemPath.filter(function(p) { + return key !== p.key && key.startsWith(p.key); + }); + this.focusedItemInfo = { + index, + level, + parentKey + }; + this.dirty = !root11; + focus(this.menubar); + } else { + if (grouped) { + this.onItemChange(event); + } else { + var rootProcessedItem = root11 ? processedItem : this.activeItemPath.find(function(p) { + return p.parentKey === ""; + }); + this.hide(originalEvent); + this.changeFocusedItemIndex(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1); + this.mobileActive = false; + focus(this.menubar); + } + } + }, "onItemClick"), + onItemMouseEnter: /* @__PURE__ */ __name(function onItemMouseEnter4(event) { + if (this.dirty) { + this.onItemChange(event); + } + }, "onItemMouseEnter"), + onItemMouseMove: /* @__PURE__ */ __name(function onItemMouseMove4(event) { + if (this.focused) { + this.changeFocusedItemIndex(event, event.processedItem.index); + } + }, "onItemMouseMove"), + menuButtonClick: /* @__PURE__ */ __name(function menuButtonClick(event) { + this.toggle(event); + }, "menuButtonClick"), + menuButtonKeydown: /* @__PURE__ */ __name(function menuButtonKeydown(event) { + (event.code === "Enter" || event.code === "NumpadEnter" || event.code === "Space") && this.menuButtonClick(event); + }, "menuButtonKeydown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey3(event) { + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var root11 = processedItem ? isEmpty(processedItem.parent) : null; + if (root11) { + var grouped = this.isProccessedItemGroup(processedItem); + if (grouped) { + this.onItemChange({ + originalEvent: event, + processedItem + }); + this.focusedItemInfo = { + index: -1, + parentKey: processedItem.key + }; + this.onArrowRightKey(event); + } + } else { + var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex(); + this.changeFocusedItemIndex(event, itemIndex); + } + event.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey3(event) { + var _this3 = this; + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var root11 = isEmpty(processedItem.parent); + if (root11) { + var grouped = this.isProccessedItemGroup(processedItem); + if (grouped) { + this.onItemChange({ + originalEvent: event, + processedItem + }); + this.focusedItemInfo = { + index: -1, + parentKey: processedItem.key + }; + var itemIndex = this.findLastItemIndex(); + this.changeFocusedItemIndex(event, itemIndex); + } + } else { + var parentItem = this.activeItemPath.find(function(p) { + return p.key === processedItem.parentKey; + }); + if (this.focusedItemInfo.index === 0) { + this.focusedItemInfo = { + index: -1, + parentKey: parentItem ? parentItem.parentKey : "" + }; + this.searchValue = ""; + this.onArrowLeftKey(event); + this.activeItemPath = this.activeItemPath.filter(function(p) { + return p.parentKey !== _this3.focusedItemInfo.parentKey; + }); + } else { + var _itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex(); + this.changeFocusedItemIndex(event, _itemIndex); + } + } + event.preventDefault(); + }, "onArrowUpKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey4(event) { + var _this4 = this; + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var parentItem = processedItem ? this.activeItemPath.find(function(p) { + return p.key === processedItem.parentKey; + }) : null; + if (parentItem) { + this.onItemChange({ + originalEvent: event, + processedItem: parentItem + }); + this.activeItemPath = this.activeItemPath.filter(function(p) { + return p.parentKey !== _this4.focusedItemInfo.parentKey; + }); + event.preventDefault(); + } else { + var itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex(); + this.changeFocusedItemIndex(event, itemIndex); + event.preventDefault(); + } + }, "onArrowLeftKey"), + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey4(event) { + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var parentItem = processedItem ? this.activeItemPath.find(function(p) { + return p.key === processedItem.parentKey; + }) : null; + if (parentItem) { + var grouped = this.isProccessedItemGroup(processedItem); + if (grouped) { + this.onItemChange({ + originalEvent: event, + processedItem + }); + this.focusedItemInfo = { + index: -1, + parentKey: processedItem.key + }; + this.onArrowDownKey(event); + } + } else { + var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex(); + this.changeFocusedItemIndex(event, itemIndex); + event.preventDefault(); + } + }, "onArrowRightKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey4(event) { + this.changeFocusedItemIndex(event, this.findFirstItemIndex()); + event.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey4(event) { + this.changeFocusedItemIndex(event, this.findLastItemIndex()); + event.preventDefault(); + }, "onEndKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey4(event) { + if (this.focusedItemInfo.index !== -1) { + var element = findSingle(this.menubar, 'li[id="'.concat("".concat(this.focusedItemId), '"]')); + var anchorElement = element && findSingle(element, 'a[data-pc-section="itemlink"]'); + anchorElement ? anchorElement.click() : element && element.click(); + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var grouped = this.isProccessedItemGroup(processedItem); + !grouped && (this.focusedItemInfo.index = this.findFirstFocusedItemIndex()); + } + event.preventDefault(); + }, "onEnterKey"), + onSpaceKey: /* @__PURE__ */ __name(function onSpaceKey2(event) { + this.onEnterKey(event); + }, "onSpaceKey"), + onEscapeKey: /* @__PURE__ */ __name(function onEscapeKey3(event) { + if (this.focusedItemInfo.level !== 0) { + var _focusedItemInfo = this.focusedItemInfo; + this.hide(event, false); + this.focusedItemInfo = { + index: Number(_focusedItemInfo.parentKey.split("_")[0]), + level: 0, + parentKey: "" + }; + } + event.preventDefault(); + }, "onEscapeKey"), + onTabKey: /* @__PURE__ */ __name(function onTabKey3(event) { + if (this.focusedItemInfo.index !== -1) { + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var grouped = this.isProccessedItemGroup(processedItem); + !grouped && this.onItemChange({ + originalEvent: event, + processedItem + }); + } + this.hide(); + }, "onTabKey"), + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener3() { + var _this5 = this; + if (!this.outsideClickListener) { + this.outsideClickListener = function(event) { + var isOutsideContainer = _this5.container && !_this5.container.contains(event.target); + var isOutsideTarget = !(_this5.target && (_this5.target === event.target || _this5.target.contains(event.target))); + if (isOutsideContainer && isOutsideTarget) { + _this5.hide(); + } + }; + document.addEventListener("click", this.outsideClickListener); + } + }, "bindOutsideClickListener"), + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener3() { + if (this.outsideClickListener) { + document.removeEventListener("click", this.outsideClickListener); + this.outsideClickListener = null; + } + }, "unbindOutsideClickListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener3() { + var _this6 = this; + if (!this.resizeListener) { + this.resizeListener = function(event) { + if (!isTouchDevice()) { + _this6.hide(event, true); + } + _this6.mobileActive = false; + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener3() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + bindMatchMediaListener: /* @__PURE__ */ __name(function bindMatchMediaListener() { + var _this7 = this; + if (!this.matchMediaListener) { + var query = matchMedia("(max-width: ".concat(this.breakpoint, ")")); + this.query = query; + this.queryMatches = query.matches; + this.matchMediaListener = function() { + _this7.queryMatches = query.matches; + _this7.mobileActive = false; + }; + this.query.addEventListener("change", this.matchMediaListener); + } + }, "bindMatchMediaListener"), + unbindMatchMediaListener: /* @__PURE__ */ __name(function unbindMatchMediaListener() { + if (this.matchMediaListener) { + this.query.removeEventListener("change", this.matchMediaListener); + this.matchMediaListener = null; + } + }, "unbindMatchMediaListener"), + isItemMatched: /* @__PURE__ */ __name(function isItemMatched2(processedItem) { + var _this$getProccessedIt; + return this.isValidItem(processedItem) && ((_this$getProccessedIt = this.getProccessedItemLabel(processedItem)) === null || _this$getProccessedIt === void 0 ? void 0 : _this$getProccessedIt.toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())); + }, "isItemMatched"), + isValidItem: /* @__PURE__ */ __name(function isValidItem2(processedItem) { + return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item) && this.isItemVisible(processedItem.item); + }, "isValidItem"), + isValidSelectedItem: /* @__PURE__ */ __name(function isValidSelectedItem2(processedItem) { + return this.isValidItem(processedItem) && this.isSelected(processedItem); + }, "isValidSelectedItem"), + isSelected: /* @__PURE__ */ __name(function isSelected3(processedItem) { + return this.activeItemPath.some(function(p) { + return p.key === processedItem.key; + }); + }, "isSelected"), + findFirstItemIndex: /* @__PURE__ */ __name(function findFirstItemIndex2() { + var _this8 = this; + return this.visibleItems.findIndex(function(processedItem) { + return _this8.isValidItem(processedItem); + }); + }, "findFirstItemIndex"), + findLastItemIndex: /* @__PURE__ */ __name(function findLastItemIndex2() { + var _this9 = this; + return findLastIndex(this.visibleItems, function(processedItem) { + return _this9.isValidItem(processedItem); + }); + }, "findLastItemIndex"), + findNextItemIndex: /* @__PURE__ */ __name(function findNextItemIndex2(index) { + var _this10 = this; + var matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex(function(processedItem) { + return _this10.isValidItem(processedItem); + }) : -1; + return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index; + }, "findNextItemIndex"), + findPrevItemIndex: /* @__PURE__ */ __name(function findPrevItemIndex2(index) { + var _this11 = this; + var matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), function(processedItem) { + return _this11.isValidItem(processedItem); + }) : -1; + return matchedItemIndex > -1 ? matchedItemIndex : index; + }, "findPrevItemIndex"), + findSelectedItemIndex: /* @__PURE__ */ __name(function findSelectedItemIndex2() { + var _this12 = this; + return this.visibleItems.findIndex(function(processedItem) { + return _this12.isValidSelectedItem(processedItem); + }); + }, "findSelectedItemIndex"), + findFirstFocusedItemIndex: /* @__PURE__ */ __name(function findFirstFocusedItemIndex2() { + var selectedIndex = this.findSelectedItemIndex(); + return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex; + }, "findFirstFocusedItemIndex"), + findLastFocusedItemIndex: /* @__PURE__ */ __name(function findLastFocusedItemIndex2() { + var selectedIndex = this.findSelectedItemIndex(); + return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex; + }, "findLastFocusedItemIndex"), + searchItems: /* @__PURE__ */ __name(function searchItems2(event, _char) { + var _this13 = this; + this.searchValue = (this.searchValue || "") + _char; + var itemIndex = -1; + var matched = false; + if (this.focusedItemInfo.index !== -1) { + itemIndex = this.visibleItems.slice(this.focusedItemInfo.index).findIndex(function(processedItem) { + return _this13.isItemMatched(processedItem); + }); + itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo.index).findIndex(function(processedItem) { + return _this13.isItemMatched(processedItem); + }) : itemIndex + this.focusedItemInfo.index; + } else { + itemIndex = this.visibleItems.findIndex(function(processedItem) { + return _this13.isItemMatched(processedItem); + }); + } + if (itemIndex !== -1) { + matched = true; + } + if (itemIndex === -1 && this.focusedItemInfo.index === -1) { + itemIndex = this.findFirstFocusedItemIndex(); + } + if (itemIndex !== -1) { + this.changeFocusedItemIndex(event, itemIndex); + } + if (this.searchTimeout) { + clearTimeout(this.searchTimeout); + } + this.searchTimeout = setTimeout(function() { + _this13.searchValue = ""; + _this13.searchTimeout = null; + }, 500); + return matched; + }, "searchItems"), + changeFocusedItemIndex: /* @__PURE__ */ __name(function changeFocusedItemIndex2(event, index) { + if (this.focusedItemInfo.index !== index) { + this.focusedItemInfo.index = index; + this.scrollInView(); + } + }, "changeFocusedItemIndex"), + scrollInView: /* @__PURE__ */ __name(function scrollInView4() { + var index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; + var id2 = index !== -1 ? "".concat(this.id, "_").concat(index) : this.focusedItemId; + var element = findSingle(this.menubar, 'li[id="'.concat(id2, '"]')); + if (element) { + element.scrollIntoView && element.scrollIntoView({ + block: "nearest", + inline: "start" + }); + } + }, "scrollInView"), + createProcessedItems: /* @__PURE__ */ __name(function createProcessedItems2(items) { + var _this14 = this; + var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + var parent = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + var parentKey = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ""; + var processedItems3 = []; + items && items.forEach(function(item3, index) { + var key = (parentKey !== "" ? parentKey + "_" : "") + index; + var newItem = { + item: item3, + index, + level, + key, + parent, + parentKey + }; + newItem["items"] = _this14.createProcessedItems(item3.items, level + 1, newItem, key); + processedItems3.push(newItem); + }); + return processedItems3; + }, "createProcessedItems"), + containerRef: /* @__PURE__ */ __name(function containerRef3(el) { + this.container = el; + }, "containerRef"), + menubarRef: /* @__PURE__ */ __name(function menubarRef2(el) { + this.menubar = el ? el.$el : void 0; + }, "menubarRef") + }, + computed: { + processedItems: /* @__PURE__ */ __name(function processedItems2() { + return this.createProcessedItems(this.model || []); + }, "processedItems"), + visibleItems: /* @__PURE__ */ __name(function visibleItems2() { + var _this15 = this; + var processedItem = this.activeItemPath.find(function(p) { + return p.key === _this15.focusedItemInfo.parentKey; + }); + return processedItem ? processedItem.items : this.processedItems; + }, "visibleItems"), + focusedItemId: /* @__PURE__ */ __name(function focusedItemId2() { + return this.focusedItemInfo.index !== -1 ? "".concat(this.id).concat(isNotEmpty(this.focusedItemInfo.parentKey) ? "_" + this.focusedItemInfo.parentKey : "", "_").concat(this.focusedItemInfo.index) : null; + }, "focusedItemId") + }, + components: { + MenubarSub: script$1, + BarsIcon: script$A + } +}; +function _typeof(o) { + "@babel/helpers - typeof"; + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof(o); +} +__name(_typeof, "_typeof"); +function ownKeys(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys, "ownKeys"); +function _objectSpread(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys(Object(t), true).forEach(function(r2) { + _defineProperty(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread, "_objectSpread"); +function _defineProperty(e, r, t) { + return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty, "_defineProperty"); +function _toPropertyKey(t) { + var i = _toPrimitive(t, "string"); + return "symbol" == _typeof(i) ? i : i + ""; +} +__name(_toPropertyKey, "_toPropertyKey"); +function _toPrimitive(t, r) { + if ("object" != _typeof(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive, "_toPrimitive"); +var _hoisted_1$3 = ["aria-haspopup", "aria-expanded", "aria-controls", "aria-label"]; +function render(_ctx, _cache, $props, $setup, $data, $options) { + var _component_BarsIcon = resolveComponent("BarsIcon"); + var _component_MenubarSub = resolveComponent("MenubarSub"); + return openBlock(), createElementBlock("div", mergeProps({ + ref: $options.containerRef, + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [_ctx.$slots.start ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("start") + }, _ctx.ptm("start")), [renderSlot(_ctx.$slots, "start")], 16)) : createCommentVNode("", true), renderSlot(_ctx.$slots, _ctx.$slots.button ? "button" : "menubutton", { + id: $data.id, + "class": normalizeClass(_ctx.cx("button")), + toggleCallback: /* @__PURE__ */ __name(function toggleCallback(event) { + return $options.menuButtonClick(event); + }, "toggleCallback") + }, function() { + var _ctx$$primevue$config; + return [_ctx.model && _ctx.model.length > 0 ? (openBlock(), createElementBlock("a", mergeProps({ + key: 0, + ref: "menubutton", + role: "button", + tabindex: "0", + "class": _ctx.cx("button"), + "aria-haspopup": _ctx.model.length && _ctx.model.length > 0 ? true : false, + "aria-expanded": $data.mobileActive, + "aria-controls": $data.id, + "aria-label": (_ctx$$primevue$config = _ctx.$primevue.config.locale.aria) === null || _ctx$$primevue$config === void 0 ? void 0 : _ctx$$primevue$config.navigation, + onClick: _cache[0] || (_cache[0] = function($event) { + return $options.menuButtonClick($event); + }), + onKeydown: _cache[1] || (_cache[1] = function($event) { + return $options.menuButtonKeydown($event); + }) + }, _objectSpread(_objectSpread({}, _ctx.buttonProps), _ctx.ptm("button"))), [renderSlot(_ctx.$slots, _ctx.$slots.buttonicon ? "buttonicon" : "menubuttonicon", {}, function() { + return [createVNode(_component_BarsIcon, normalizeProps(guardReactiveProps(_ctx.ptm("buttonicon"))), null, 16)]; + })], 16, _hoisted_1$3)) : createCommentVNode("", true)]; + }), createVNode(_component_MenubarSub, { + ref: $options.menubarRef, + id: $data.id + "_list", + role: "menubar", + items: $options.processedItems, + templates: _ctx.$slots, + root: true, + mobileActive: $data.mobileActive, + tabindex: "0", + "aria-activedescendant": $data.focused ? $options.focusedItemId : void 0, + menuId: $data.id, + focusedItemId: $data.focused ? $options.focusedItemId : void 0, + activeItemPath: $data.activeItemPath, + level: 0, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel, + pt: _ctx.pt, + unstyled: _ctx.unstyled, + onFocus: $options.onFocus, + onBlur: $options.onBlur, + onKeydown: $options.onKeyDown, + onItemClick: $options.onItemClick, + onItemMouseenter: $options.onItemMouseEnter, + onItemMousemove: $options.onItemMouseMove + }, null, 8, ["id", "items", "templates", "mobileActive", "aria-activedescendant", "menuId", "focusedItemId", "activeItemPath", "aria-labelledby", "aria-label", "pt", "unstyled", "onFocus", "onBlur", "onKeydown", "onItemClick", "onItemMouseenter", "onItemMousemove"]), _ctx.$slots.end ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("end") + }, _ctx.ptm("end")), [renderSlot(_ctx.$slots, "end")], 16)) : createCommentVNode("", true)], 16); +} +__name(render, "render"); +script.render = render; +const _withScopeId$2 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-6fecd137"), n = n(), popScopeId(), n), "_withScopeId$2"); +const _hoisted_1$2 = ["href"]; +const _hoisted_2$2 = { class: "p-menubar-item-label" }; +const _hoisted_3$1 = { + key: 1, + class: "ml-auto border border-surface rounded text-muted text-xs p-1 keybinding-tag" +}; +const _sfc_main$4 = /* @__PURE__ */ defineComponent({ + __name: "CommandMenubar", + setup(__props) { + const settingStore = useSettingStore(); + const dropdownDirection = computed( + () => settingStore.get("Comfy.UseNewMenu") === "Top" ? "down" : "up" + ); + const menuItemsStore = useMenuItemStore(); + const { t } = useI18n(); + const translateMenuItem = /* @__PURE__ */ __name((item3) => { + const label = typeof item3.label === "function" ? item3.label() : item3.label; + const translatedLabel = label ? t(`menuLabels.${normalizeI18nKey(label)}`, label) : void 0; + return { + ...item3, + label: translatedLabel, + items: item3.items?.map(translateMenuItem) + }; + }, "translateMenuItem"); + const translatedItems = computed( + () => menuItemsStore.menuItems.map(translateMenuItem) + ); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script), { + model: translatedItems.value, + class: "top-menubar border-none p-0 bg-transparent", + pt: { + rootList: "gap-0 flex-nowrap w-auto", + submenu: `dropdown-direction-${dropdownDirection.value}`, + item: "relative" + } + }, { + item: withCtx(({ item: item3, props }) => [ + createBaseVNode("a", mergeProps({ class: "p-menubar-item-link" }, props.action, { + href: item3.url, + target: "_blank" + }), [ + item3.icon ? (openBlock(), createElementBlock("span", { + key: 0, + class: normalizeClass(["p-menubar-item-icon", item3.icon]) + }, null, 2)) : createCommentVNode("", true), + createBaseVNode("span", _hoisted_2$2, toDisplayString(item3.label), 1), + item3?.comfyCommand?.keybinding ? (openBlock(), createElementBlock("span", _hoisted_3$1, toDisplayString(item3.comfyCommand.keybinding.combo.toString()), 1)) : createCommentVNode("", true) + ], 16, _hoisted_1$2) + ]), + _: 1 + }, 8, ["model", "pt"]); + }; + } +}); +const CommandMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-6fecd137"]]); +const _withScopeId$1 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-8d011a31"), n = n(), popScopeId(), n), "_withScopeId$1"); +const _hoisted_1$1 = { class: "workflow-label text-sm max-w-[150px] truncate inline-block" }; +const _hoisted_2$1 = { class: "relative" }; +const _hoisted_3 = { + key: 0, + class: "status-indicator" +}; +const _sfc_main$3 = /* @__PURE__ */ defineComponent({ + __name: "WorkflowTab", + props: { + class: {}, + workflowOption: {} + }, + setup(__props) { + const props = __props; + const workspaceStore = useWorkspaceStore(); + const workflowStore = useWorkflowStore(); + const workflowTabRef = ref(null); + const closeWorkflows = /* @__PURE__ */ __name(async (options) => { + for (const opt of options) { + if (!await useWorkflowService().closeWorkflow(opt.workflow, { + warnIfUnsaved: !workspaceStore.shiftDown + })) { + break; + } + } + }, "closeWorkflows"); + const onCloseWorkflow = /* @__PURE__ */ __name((option2) => { + closeWorkflows([option2]); + }, "onCloseWorkflow"); + const tabGetter = /* @__PURE__ */ __name(() => workflowTabRef.value, "tabGetter"); + usePragmaticDraggable(tabGetter, { + getInitialData: /* @__PURE__ */ __name(() => { + return { + workflowKey: props.workflowOption.workflow.key + }; + }, "getInitialData") + }); + usePragmaticDroppable(tabGetter, { + getData: /* @__PURE__ */ __name(() => { + return { + workflowKey: props.workflowOption.workflow.key + }; + }, "getData"), + onDrop: /* @__PURE__ */ __name((e) => { + const fromIndex = workflowStore.openWorkflows.findIndex( + (wf) => wf.key === e.source.data.workflowKey + ); + const toIndex = workflowStore.openWorkflows.findIndex( + (wf) => wf.key === e.location.current.dropTargets[0]?.data.workflowKey + ); + if (fromIndex !== toIndex) { + workflowStore.reorderWorkflows(fromIndex, toIndex); + } + }, "onDrop") + }); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock("div", mergeProps({ + class: "flex p-2 gap-2 workflow-tab", + ref_key: "workflowTabRef", + ref: workflowTabRef + }, _ctx.$attrs), [ + withDirectives((openBlock(), createElementBlock("span", _hoisted_1$1, [ + createTextVNode(toDisplayString(_ctx.workflowOption.workflow.filename), 1) + ])), [ + [ + _directive_tooltip, + _ctx.workflowOption.workflow.key, + void 0, + { bottom: true } + ] + ]), + createBaseVNode("div", _hoisted_2$1, [ + !unref(workspaceStore).shiftDown && (_ctx.workflowOption.workflow.isModified || !_ctx.workflowOption.workflow.isPersisted) ? (openBlock(), createElementBlock("span", _hoisted_3, "•")) : createCommentVNode("", true), + createVNode(unref(script$d), { + class: "close-button p-0 w-auto", + icon: "pi pi-times", + text: "", + severity: "secondary", + size: "small", + onClick: _cache[0] || (_cache[0] = withModifiers(($event) => onCloseWorkflow(_ctx.workflowOption), ["stop"])) + }) + ]) + ], 16); + }; + } +}); +const WorkflowTab = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-8d011a31"]]); +const _sfc_main$2 = /* @__PURE__ */ defineComponent({ + __name: "WorkflowTabs", + props: { + class: {} + }, + setup(__props) { + const props = __props; + const { t } = useI18n(); + const workspaceStore = useWorkspaceStore(); + const workflowStore = useWorkflowStore(); + const workflowService = useWorkflowService(); + const rightClickedTab = ref(null); + const menu = ref(); + const workflowToOption = /* @__PURE__ */ __name((workflow) => ({ + value: workflow.path, + workflow + }), "workflowToOption"); + const options = computed( + () => workflowStore.openWorkflows.map(workflowToOption) + ); + const selectedWorkflow = computed( + () => workflowStore.activeWorkflow ? workflowToOption(workflowStore.activeWorkflow) : null + ); + const onWorkflowChange = /* @__PURE__ */ __name((option2) => { + if (!option2) { + return; + } + if (selectedWorkflow.value?.value === option2.value) { + return; + } + workflowService.openWorkflow(option2.workflow); + }, "onWorkflowChange"); + const closeWorkflows = /* @__PURE__ */ __name(async (options2) => { + for (const opt of options2) { + if (!await workflowService.closeWorkflow(opt.workflow, { + warnIfUnsaved: !workspaceStore.shiftDown + })) { + break; + } + } + }, "closeWorkflows"); + const onCloseWorkflow = /* @__PURE__ */ __name((option2) => { + closeWorkflows([option2]); + }, "onCloseWorkflow"); + const showContextMenu = /* @__PURE__ */ __name((event, option2) => { + rightClickedTab.value = option2; + menu.value.show(event); + }, "showContextMenu"); + const contextMenuItems = computed(() => { + const tab = rightClickedTab.value; + if (!tab) return []; + const index = options.value.findIndex((v) => v.workflow === tab.workflow); + return [ + { + label: t("tabMenu.duplicateTab"), + command: /* @__PURE__ */ __name(() => { + workflowService.duplicateWorkflow(tab.workflow); + }, "command") + }, + { + separator: true + }, + { + label: t("tabMenu.closeTab"), + command: /* @__PURE__ */ __name(() => onCloseWorkflow(tab), "command") + }, + { + label: t("tabMenu.closeTabsToLeft"), + command: /* @__PURE__ */ __name(() => closeWorkflows(options.value.slice(0, index)), "command"), + disabled: index <= 0 + }, + { + label: t("tabMenu.closeTabsToRight"), + command: /* @__PURE__ */ __name(() => closeWorkflows(options.value.slice(index + 1)), "command"), + disabled: index === options.value.length - 1 + }, + { + label: t("tabMenu.closeOtherTabs"), + command: /* @__PURE__ */ __name(() => closeWorkflows([ + ...options.value.slice(index + 1), + ...options.value.slice(0, index) + ]), "command"), + disabled: options.value.length <= 1 + } + ]; + }); + const commandStore = useCommandStore(); + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + createVNode(unref(script$B), { + class: normalizeClass(["workflow-tabs bg-transparent inline", props.class]), + modelValue: selectedWorkflow.value, + "onUpdate:modelValue": onWorkflowChange, + options: options.value, + optionLabel: "label", + dataKey: "value" + }, { + option: withCtx(({ option: option2 }) => [ + createVNode(WorkflowTab, { + onContextmenu: /* @__PURE__ */ __name(($event) => showContextMenu($event, option2), "onContextmenu"), + onMouseup: withModifiers(($event) => onCloseWorkflow(option2), ["middle"]), + "workflow-option": option2 + }, null, 8, ["onContextmenu", "onMouseup", "workflow-option"]) + ]), + _: 1 + }, 8, ["class", "modelValue", "options"]), + createVNode(unref(script$d), { + class: "new-blank-workflow-button", + icon: "pi pi-plus", + text: "", + severity: "secondary", + onClick: _cache[0] || (_cache[0] = () => unref(commandStore).execute("Comfy.NewBlankWorkflow")) + }), + createVNode(unref(script$C), { + ref_key: "menu", + ref: menu, + model: contextMenuItems.value + }, null, 8, ["model"]) + ], 64); + }; + } +}); +const WorkflowTabs = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-d485c044"]]); +const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-878b63b8"), n = n(), popScopeId(), n), "_withScopeId"); +const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("h1", { class: "comfyui-logo mx-2" }, "ComfyUI", -1)); +const _hoisted_2 = { class: "flex-grow" }; +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + __name: "TopMenubar", + setup(__props) { + const workspaceState = useWorkspaceStore(); + const settingStore = useSettingStore(); + const workflowTabsPosition = computed( + () => settingStore.get("Comfy.Workflow.WorkflowTabsPosition") + ); + const betaMenuEnabled = computed( + () => settingStore.get("Comfy.UseNewMenu") !== "Disabled" + ); + const teleportTarget = computed( + () => settingStore.get("Comfy.UseNewMenu") === "Top" ? ".comfyui-body-top" : ".comfyui-body-bottom" + ); + const menuRight = ref(null); + onMounted(() => { + if (menuRight.value) { + menuRight.value.appendChild(app.menu.element); + } + }); + const topMenuRef = ref(null); + provide("topMenuRef", topMenuRef); + const eventBus = useEventBus("topMenu"); + const isDropZone = ref(false); + const isDroppable = ref(false); + eventBus.on((event, payload) => { + if (event === "updateHighlight") { + isDropZone.value = payload.isDragging; + isDroppable.value = payload.isOverlapping && payload.isDragging; + } + }); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createBlock(Teleport, { to: teleportTarget.value }, [ + withDirectives(createBaseVNode("div", { + ref_key: "topMenuRef", + ref: topMenuRef, + class: normalizeClass(["comfyui-menu flex items-center", { dropzone: isDropZone.value, "dropzone-active": isDroppable.value }]) + }, [ + _hoisted_1, + createVNode(CommandMenubar), + createVNode(unref(script$D), { + layout: "vertical", + class: "mx-2" + }), + createBaseVNode("div", _hoisted_2, [ + workflowTabsPosition.value === "Topbar" ? (openBlock(), createBlock(WorkflowTabs, { key: 0 })) : createCommentVNode("", true) + ]), + createBaseVNode("div", { + class: "comfyui-menu-right", + ref_key: "menuRight", + ref: menuRight + }, null, 512), + createVNode(Actionbar), + createVNode(_sfc_main$5), + withDirectives(createVNode(unref(script$d), { + icon: "pi pi-bars", + severity: "secondary", + text: "", + onClick: _cache[0] || (_cache[0] = ($event) => unref(workspaceState).focusMode = true), + onContextmenu: unref(showNativeMenu) + }, null, 8, ["onContextmenu"]), [ + [_directive_tooltip, { value: _ctx.$t("menu.hideMenu"), showDelay: 300 }] + ]) + ], 2), [ + [vShow, betaMenuEnabled.value && !unref(workspaceState).focusMode] + ]) + ], 8, ["to"]); + }; + } +}); +const TopMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-878b63b8"]]); +var LatentPreviewMethod = /* @__PURE__ */ ((LatentPreviewMethod2) => { + LatentPreviewMethod2["NoPreviews"] = "none"; + LatentPreviewMethod2["Auto"] = "auto"; + LatentPreviewMethod2["Latent2RGB"] = "latent2rgb"; + LatentPreviewMethod2["TAESD"] = "taesd"; + return LatentPreviewMethod2; +})(LatentPreviewMethod || {}); +var LogLevel = /* @__PURE__ */ ((LogLevel2) => { + LogLevel2["DEBUG"] = "DEBUG"; + LogLevel2["INFO"] = "INFO"; + LogLevel2["WARNING"] = "WARNING"; + LogLevel2["ERROR"] = "ERROR"; + LogLevel2["CRITICAL"] = "CRITICAL"; + return LogLevel2; +})(LogLevel || {}); +var HashFunction = /* @__PURE__ */ ((HashFunction2) => { + HashFunction2["MD5"] = "md5"; + HashFunction2["SHA1"] = "sha1"; + HashFunction2["SHA256"] = "sha256"; + HashFunction2["SHA512"] = "sha512"; + return HashFunction2; +})(HashFunction || {}); +var AutoLaunch = /* @__PURE__ */ ((AutoLaunch2) => { + AutoLaunch2["Auto"] = "auto"; + AutoLaunch2["Disable"] = "disable"; + AutoLaunch2["Enable"] = "enable"; + return AutoLaunch2; +})(AutoLaunch || {}); +var CudaMalloc = /* @__PURE__ */ ((CudaMalloc2) => { + CudaMalloc2["Auto"] = "auto"; + CudaMalloc2["Disable"] = "disable"; + CudaMalloc2["Enable"] = "enable"; + return CudaMalloc2; +})(CudaMalloc || {}); +var FloatingPointPrecision = /* @__PURE__ */ ((FloatingPointPrecision2) => { + FloatingPointPrecision2["AUTO"] = "auto"; + FloatingPointPrecision2["FP64"] = "fp64"; + FloatingPointPrecision2["FP32"] = "fp32"; + FloatingPointPrecision2["FP16"] = "fp16"; + FloatingPointPrecision2["BF16"] = "bf16"; + FloatingPointPrecision2["FP8E4M3FN"] = "fp8_e4m3fn"; + FloatingPointPrecision2["FP8E5M2"] = "fp8_e5m2"; + return FloatingPointPrecision2; +})(FloatingPointPrecision || {}); +var CrossAttentionMethod = /* @__PURE__ */ ((CrossAttentionMethod2) => { + CrossAttentionMethod2["Auto"] = "auto"; + CrossAttentionMethod2["Split"] = "split"; + CrossAttentionMethod2["Quad"] = "quad"; + CrossAttentionMethod2["Pytorch"] = "pytorch"; + return CrossAttentionMethod2; +})(CrossAttentionMethod || {}); +var VramManagement = /* @__PURE__ */ ((VramManagement2) => { + VramManagement2["Auto"] = "auto"; + VramManagement2["GPUOnly"] = "gpu-only"; + VramManagement2["HighVram"] = "highvram"; + VramManagement2["NormalVram"] = "normalvram"; + VramManagement2["LowVram"] = "lowvram"; + VramManagement2["NoVram"] = "novram"; + VramManagement2["CPU"] = "cpu"; + return VramManagement2; +})(VramManagement || {}); +const WEB_ONLY_CONFIG_ITEMS = [ + // Launch behavior + { + id: "auto-launch", + name: "Automatically opens in the browser on startup", + category: ["Launch"], + type: "combo", + options: Object.values(AutoLaunch), + defaultValue: AutoLaunch.Auto, + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case AutoLaunch.Auto: + return {}; + case AutoLaunch.Enable: + return { + ["auto-launch"]: true + }; + case AutoLaunch.Disable: + return { + ["disable-auto-launch"]: true + }; + } + }, "getValue") + } +]; +const SERVER_CONFIG_ITEMS = [ + // Network settings + { + id: "listen", + name: "Host: The IP address to listen on", + category: ["Network"], + type: "text", + defaultValue: "127.0.0.1" + }, + { + id: "port", + name: "Port: The port to listen on", + category: ["Network"], + type: "number", + // The default launch port for desktop app is 8000 instead of 8188. + defaultValue: 8e3 + }, + { + id: "tls-keyfile", + name: "TLS Key File: Path to TLS key file for HTTPS", + category: ["Network"], + type: "text", + defaultValue: "" + }, + { + id: "tls-certfile", + name: "TLS Certificate File: Path to TLS certificate file for HTTPS", + category: ["Network"], + type: "text", + defaultValue: "" + }, + { + id: "enable-cors-header", + name: 'Enable CORS header: Use "*" for all origins or specify domain', + category: ["Network"], + type: "text", + defaultValue: "" + }, + { + id: "max-upload-size", + name: "Maximum upload size (MB)", + category: ["Network"], + type: "number", + defaultValue: 100 + }, + // CUDA settings + { + id: "cuda-device", + name: "CUDA device index to use", + category: ["CUDA"], + type: "number", + defaultValue: null + }, + { + id: "cuda-malloc", + name: "Use CUDA malloc for memory allocation", + category: ["CUDA"], + type: "combo", + options: Object.values(CudaMalloc), + defaultValue: CudaMalloc.Auto, + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case CudaMalloc.Auto: + return {}; + case CudaMalloc.Enable: + return { + ["cuda-malloc"]: true + }; + case CudaMalloc.Disable: + return { + ["disable-cuda-malloc"]: true + }; + } + }, "getValue") + }, + // Precision settings + { + id: "global-precision", + name: "Global floating point precision", + category: ["Inference"], + type: "combo", + options: [ + FloatingPointPrecision.AUTO, + FloatingPointPrecision.FP32, + FloatingPointPrecision.FP16 + ], + defaultValue: FloatingPointPrecision.AUTO, + tooltip: "Global floating point precision", + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case FloatingPointPrecision.AUTO: + return {}; + case FloatingPointPrecision.FP32: + return { + ["force-fp32"]: true + }; + case FloatingPointPrecision.FP16: + return { + ["force-fp16"]: true + }; + default: + return {}; + } + }, "getValue") + }, + // UNET precision + { + id: "unet-precision", + name: "UNET precision", + category: ["Inference"], + type: "combo", + options: [ + FloatingPointPrecision.AUTO, + FloatingPointPrecision.FP64, + FloatingPointPrecision.FP32, + FloatingPointPrecision.FP16, + FloatingPointPrecision.BF16, + FloatingPointPrecision.FP8E4M3FN, + FloatingPointPrecision.FP8E5M2 + ], + defaultValue: FloatingPointPrecision.AUTO, + tooltip: "UNET precision", + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case FloatingPointPrecision.AUTO: + return {}; + default: + return { + [`${value.toLowerCase()}-unet`]: true + }; + } + }, "getValue") + }, + // VAE settings + { + id: "vae-precision", + name: "VAE precision", + category: ["Inference"], + type: "combo", + options: [ + FloatingPointPrecision.AUTO, + FloatingPointPrecision.FP16, + FloatingPointPrecision.FP32, + FloatingPointPrecision.BF16 + ], + defaultValue: FloatingPointPrecision.AUTO, + tooltip: "VAE precision", + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case FloatingPointPrecision.AUTO: + return {}; + default: + return { + [`${value.toLowerCase()}-vae`]: true + }; + } + }, "getValue") + }, + { + id: "cpu-vae", + name: "Run VAE on CPU", + category: ["Inference"], + type: "boolean", + defaultValue: false + }, + // Text Encoder settings + { + id: "text-encoder-precision", + name: "Text Encoder precision", + category: ["Inference"], + type: "combo", + options: [ + FloatingPointPrecision.AUTO, + FloatingPointPrecision.FP8E4M3FN, + FloatingPointPrecision.FP8E5M2, + FloatingPointPrecision.FP16, + FloatingPointPrecision.FP32 + ], + defaultValue: FloatingPointPrecision.AUTO, + tooltip: "Text Encoder precision", + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case FloatingPointPrecision.AUTO: + return {}; + default: + return { + [`${value.toLowerCase()}-text-enc`]: true + }; + } + }, "getValue") + }, + // Memory and performance settings + { + id: "force-channels-last", + name: "Force channels-last memory format", + category: ["Memory"], + type: "boolean", + defaultValue: false + }, + { + id: "directml", + name: "DirectML device index", + category: ["Memory"], + type: "number", + defaultValue: null + }, + { + id: "disable-ipex-optimize", + name: "Disable IPEX optimization", + category: ["Memory"], + type: "boolean", + defaultValue: false + }, + // Preview settings + { + id: "preview-method", + name: "Method used for latent previews", + category: ["Preview"], + type: "combo", + options: Object.values(LatentPreviewMethod), + defaultValue: LatentPreviewMethod.NoPreviews + }, + { + id: "preview-size", + name: "Size of preview images", + category: ["Preview"], + type: "slider", + defaultValue: 512, + attrs: { + min: 128, + max: 2048, + step: 128 + } + }, + // Cache settings + { + id: "cache-classic", + name: "Use classic cache system", + category: ["Cache"], + type: "boolean", + defaultValue: false + }, + { + id: "cache-lru", + name: "Use LRU caching with a maximum of N node results cached.", + category: ["Cache"], + type: "number", + defaultValue: null, + tooltip: "May use more RAM/VRAM." + }, + // Attention settings + { + id: "cross-attention-method", + name: "Cross attention method", + category: ["Attention"], + type: "combo", + options: Object.values(CrossAttentionMethod), + defaultValue: CrossAttentionMethod.Auto, + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case CrossAttentionMethod.Auto: + return {}; + default: + return { + [`use-${value.toLowerCase()}-cross-attention`]: true + }; + } + }, "getValue") + }, + { + id: "disable-xformers", + name: "Disable xFormers optimization", + type: "boolean", + defaultValue: false + }, + { + id: "force-upcast-attention", + name: "Force attention upcast", + category: ["Attention"], + type: "boolean", + defaultValue: false + }, + { + id: "dont-upcast-attention", + name: "Prevent attention upcast", + category: ["Attention"], + type: "boolean", + defaultValue: false + }, + // VRAM management + { + id: "vram-management", + name: "VRAM management mode", + category: ["Memory"], + type: "combo", + options: Object.values(VramManagement), + defaultValue: VramManagement.Auto, + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case VramManagement.Auto: + return {}; + default: + return { + [value]: true + }; + } + }, "getValue") + }, + { + id: "reserve-vram", + name: "Reserved VRAM (GB)", + category: ["Memory"], + type: "number", + defaultValue: null, + tooltip: "Set the amount of vram in GB you want to reserve for use by your OS/other software. By default some amount is reverved depending on your OS." + }, + // Misc settings + { + id: "default-hashing-function", + name: "Default hashing function for model files", + type: "combo", + options: Object.values(HashFunction), + defaultValue: HashFunction.SHA256 + }, + { + id: "disable-smart-memory", + name: "Disable smart memory management", + tooltip: "Force ComfyUI to aggressively offload to regular ram instead of keeping models in vram when it can.", + category: ["Memory"], + type: "boolean", + defaultValue: false + }, + { + id: "deterministic", + name: "Make pytorch use slower deterministic algorithms when it can.", + type: "boolean", + defaultValue: false, + tooltip: "Note that this might not make images deterministic in all cases." + }, + { + id: "fast", + name: "Enable some untested and potentially quality deteriorating optimizations.", + type: "boolean", + defaultValue: false + }, + { + id: "dont-print-server", + name: "Don't print server output to console.", + type: "boolean", + defaultValue: false + }, + { + id: "disable-metadata", + name: "Disable saving prompt metadata in files.", + type: "boolean", + defaultValue: false + }, + { + id: "disable-all-custom-nodes", + name: "Disable loading all custom nodes.", + type: "boolean", + defaultValue: false + }, + { + id: "log-level", + name: "Logging verbosity level", + type: "combo", + options: Object.values(LogLevel), + defaultValue: LogLevel.INFO, + getValue: /* @__PURE__ */ __name((value) => { + return { + verbose: value + }; + }, "getValue") + }, + // Directories + { + id: "input-directory", + name: "Input directory", + category: ["Directories"], + type: "text", + defaultValue: "" + }, + { + id: "output-directory", + name: "Output directory", + category: ["Directories"], + type: "text", + defaultValue: "" + } +]; +function useCoreCommands() { + const workflowService = useWorkflowService(); + const workflowStore = useWorkflowStore(); + const dialogService = useDialogService(); + const getTracker = /* @__PURE__ */ __name(() => workflowStore.activeWorkflow?.changeTracker, "getTracker"); + const getSelectedNodes = /* @__PURE__ */ __name(() => { + const selectedNodes = app.canvas.selected_nodes; + const result = []; + if (selectedNodes) { + for (const i in selectedNodes) { + const node = selectedNodes[i]; + result.push(node); + } + } + return result; + }, "getSelectedNodes"); + const toggleSelectedNodesMode = /* @__PURE__ */ __name((mode) => { + getSelectedNodes().forEach((node) => { + if (node.mode === mode) { + node.mode = LGraphEventMode.ALWAYS; + } else { + node.mode = mode; + } + }); + }, "toggleSelectedNodesMode"); + return [ + { + id: "Comfy.NewBlankWorkflow", + icon: "pi pi-plus", + label: "New Blank Workflow", + menubarLabel: "New", + function: /* @__PURE__ */ __name(() => workflowService.loadBlankWorkflow(), "function") + }, + { + id: "Comfy.OpenWorkflow", + icon: "pi pi-folder-open", + label: "Open Workflow", + menubarLabel: "Open", + function: /* @__PURE__ */ __name(() => { + app.ui.loadFile(); + }, "function") + }, + { + id: "Comfy.LoadDefaultWorkflow", + icon: "pi pi-code", + label: "Load Default Workflow", + function: /* @__PURE__ */ __name(() => workflowService.loadDefaultWorkflow(), "function") + }, + { + id: "Comfy.SaveWorkflow", + icon: "pi pi-save", + label: "Save Workflow", + menubarLabel: "Save", + function: /* @__PURE__ */ __name(async () => { + const workflow = useWorkflowStore().activeWorkflow; + if (!workflow) return; + await workflowService.saveWorkflow(workflow); + }, "function") + }, + { + id: "Comfy.SaveWorkflowAs", + icon: "pi pi-save", + label: "Save Workflow As", + menubarLabel: "Save As", + function: /* @__PURE__ */ __name(async () => { + const workflow = useWorkflowStore().activeWorkflow; + if (!workflow) return; + await workflowService.saveWorkflowAs(workflow); + }, "function") + }, + { + id: "Comfy.ExportWorkflow", + icon: "pi pi-download", + label: "Export Workflow", + menubarLabel: "Export", + function: /* @__PURE__ */ __name(() => { + workflowService.exportWorkflow("workflow", "workflow"); + }, "function") + }, + { + id: "Comfy.ExportWorkflowAPI", + icon: "pi pi-download", + label: "Export Workflow (API Format)", + menubarLabel: "Export (API)", + function: /* @__PURE__ */ __name(() => { + workflowService.exportWorkflow("workflow_api", "output"); + }, "function") + }, + { + id: "Comfy.Undo", + icon: "pi pi-undo", + label: "Undo", + function: /* @__PURE__ */ __name(async () => { + await getTracker()?.undo?.(); + }, "function") + }, + { + id: "Comfy.Redo", + icon: "pi pi-refresh", + label: "Redo", + function: /* @__PURE__ */ __name(async () => { + await getTracker()?.redo?.(); + }, "function") + }, + { + id: "Comfy.ClearWorkflow", + icon: "pi pi-trash", + label: "Clear Workflow", + function: /* @__PURE__ */ __name(() => { + const settingStore = useSettingStore(); + if (!settingStore.get("Comfy.ComfirmClear") || confirm("Clear workflow?")) { + app.clean(); + app.graph.clear(); + api.dispatchCustomEvent("graphCleared"); + } + }, "function") + }, + { + id: "Comfy.Canvas.ResetView", + icon: "pi pi-expand", + label: "Reset View", + function: /* @__PURE__ */ __name(() => { + app.resetView(); + }, "function") + }, + { + id: "Comfy.OpenClipspace", + icon: "pi pi-clipboard", + label: "Clipspace", + function: /* @__PURE__ */ __name(() => { + app.openClipspace(); + }, "function") + }, + { + id: "Comfy.RefreshNodeDefinitions", + icon: "pi pi-refresh", + label: "Refresh Node Definitions", + function: /* @__PURE__ */ __name(async () => { + await app.refreshComboInNodes(); + }, "function") + }, + { + id: "Comfy.Interrupt", + icon: "pi pi-stop", + label: "Interrupt", + function: /* @__PURE__ */ __name(async () => { + await api.interrupt(); + useToastStore().add({ + severity: "info", + summary: "Interrupted", + detail: "Execution has been interrupted", + life: 1e3 + }); + }, "function") + }, + { + id: "Comfy.ClearPendingTasks", + icon: "pi pi-stop", + label: "Clear Pending Tasks", + function: /* @__PURE__ */ __name(async () => { + await useQueueStore().clear(["queue"]); + useToastStore().add({ + severity: "info", + summary: "Confirmed", + detail: "Pending tasks deleted", + life: 3e3 + }); + }, "function") + }, + { + id: "Comfy.BrowseTemplates", + icon: "pi pi-folder-open", + label: "Browse Templates", + function: /* @__PURE__ */ __name(() => { + dialogService.showTemplateWorkflowsDialog(); + }, "function") + }, + { + id: "Comfy.Canvas.ZoomIn", + icon: "pi pi-plus", + label: "Zoom In", + function: /* @__PURE__ */ __name(() => { + const ds = app.canvas.ds; + ds.changeScale( + ds.scale * 1.1, + ds.element ? [ds.element.width / 2, ds.element.height / 2] : void 0 + ); + app.canvas.setDirty(true, true); + }, "function") + }, + { + id: "Comfy.Canvas.ZoomOut", + icon: "pi pi-minus", + label: "Zoom Out", + function: /* @__PURE__ */ __name(() => { + const ds = app.canvas.ds; + ds.changeScale( + ds.scale / 1.1, + ds.element ? [ds.element.width / 2, ds.element.height / 2] : void 0 + ); + app.canvas.setDirty(true, true); + }, "function") + }, + { + id: "Comfy.Canvas.FitView", + icon: "pi pi-expand", + label: "Fit view to selected nodes", + function: /* @__PURE__ */ __name(() => { + if (app.canvas.empty) { + useToastStore().add({ + severity: "error", + summary: "Empty canvas", + life: 3e3 + }); + return; + } + app.canvas.fitViewToSelectionAnimated(); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleLock", + icon: "pi pi-lock", + label: "Canvas Toggle Lock", + function: /* @__PURE__ */ __name(() => { + app.canvas["read_only"] = !app.canvas["read_only"]; + }, "function") + }, + { + id: "Comfy.Canvas.ToggleLinkVisibility", + icon: "pi pi-eye", + label: "Canvas Toggle Link Visibility", + versionAdded: "1.3.6", + function: (() => { + const settingStore = useSettingStore(); + let lastLinksRenderMode = LiteGraph.SPLINE_LINK; + return () => { + const currentMode = settingStore.get("Comfy.LinkRenderMode"); + if (currentMode === LiteGraph.HIDDEN_LINK) { + settingStore.set("Comfy.LinkRenderMode", lastLinksRenderMode); + } else { + lastLinksRenderMode = currentMode; + settingStore.set("Comfy.LinkRenderMode", LiteGraph.HIDDEN_LINK); + } + }; + })() + }, + { + id: "Comfy.QueuePrompt", + icon: "pi pi-play", + label: "Queue Prompt", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + const batchCount = useQueueSettingsStore().batchCount; + app.queuePrompt(0, batchCount); + }, "function") + }, + { + id: "Comfy.QueuePromptFront", + icon: "pi pi-play", + label: "Queue Prompt (Front)", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + const batchCount = useQueueSettingsStore().batchCount; + app.queuePrompt(-1, batchCount); + }, "function") + }, + { + id: "Comfy.ShowSettingsDialog", + icon: "pi pi-cog", + label: "Show Settings Dialog", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + dialogService.showSettingsDialog(); + }, "function") + }, + { + id: "Comfy.Graph.GroupSelectedNodes", + icon: "pi pi-sitemap", + label: "Group Selected Nodes", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + const { canvas } = app; + if (!canvas.selectedItems?.size) { + useToastStore().add({ + severity: "error", + summary: "Nothing to group", + detail: "Please select the nodes (or other groups) to create a group for", + life: 3e3 + }); + return; + } + const group = new LGraphGroup(); + const padding = useSettingStore().get( + "Comfy.GroupSelectedNodes.Padding" + ); + group.resizeTo(canvas.selectedItems, padding); + canvas.graph.add(group); + useTitleEditorStore().titleEditorTarget = group; + }, "function") + }, + { + id: "Workspace.NextOpenedWorkflow", + icon: "pi pi-step-forward", + label: "Next Opened Workflow", + versionAdded: "1.3.9", + function: /* @__PURE__ */ __name(() => { + workflowService.loadNextOpenedWorkflow(); + }, "function") + }, + { + id: "Workspace.PreviousOpenedWorkflow", + icon: "pi pi-step-backward", + label: "Previous Opened Workflow", + versionAdded: "1.3.9", + function: /* @__PURE__ */ __name(() => { + workflowService.loadPreviousOpenedWorkflow(); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Mute", + icon: "pi pi-volume-off", + label: "Mute/Unmute Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + toggleSelectedNodesMode(LGraphEventMode.NEVER); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Bypass", + icon: "pi pi-shield", + label: "Bypass/Unbypass Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + toggleSelectedNodesMode(LGraphEventMode.BYPASS); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Pin", + icon: "pi pi-pin", + label: "Pin/Unpin Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + getSelectedNodes().forEach((node) => { + node.pin(!node.pinned); + }); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelected.Pin", + icon: "pi pi-pin", + label: "Pin/Unpin Selected Items", + versionAdded: "1.3.33", + function: /* @__PURE__ */ __name(() => { + for (const item3 of app.canvas.selectedItems) { + if (item3 instanceof LGraphNode || item3 instanceof LGraphGroup) { + item3.pin(!item3.pinned); + } + } + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Collapse", + icon: "pi pi-minus", + label: "Collapse/Expand Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + getSelectedNodes().forEach((node) => { + node.collapse(); + }); + }, "function") + }, + { + id: "Comfy.ToggleTheme", + icon: "pi pi-moon", + label: "Toggle Theme (Dark/Light)", + versionAdded: "1.3.12", + function: /* @__PURE__ */ (() => { + let previousDarkTheme = "dark"; + const isDarkMode = /* @__PURE__ */ __name((themeId) => themeId !== "light", "isDarkMode"); + return () => { + const settingStore = useSettingStore(); + const currentTheme = settingStore.get("Comfy.ColorPalette"); + if (isDarkMode(currentTheme)) { + previousDarkTheme = currentTheme; + settingStore.set("Comfy.ColorPalette", "light"); + } else { + settingStore.set("Comfy.ColorPalette", previousDarkTheme); + } + }; + })() + }, + { + id: "Workspace.ToggleBottomPanel", + icon: "pi pi-list", + label: "Toggle Bottom Panel", + versionAdded: "1.3.22", + function: /* @__PURE__ */ __name(() => { + useBottomPanelStore().toggleBottomPanel(); + }, "function") + }, + { + id: "Workspace.ToggleFocusMode", + icon: "pi pi-eye", + label: "Toggle Focus Mode", + versionAdded: "1.3.27", + function: /* @__PURE__ */ __name(() => { + useWorkspaceStore().toggleFocusMode(); + }, "function") + }, + { + id: "Comfy.Graph.FitGroupToContents", + icon: "pi pi-expand", + label: "Fit Group To Contents", + versionAdded: "1.4.9", + function: /* @__PURE__ */ __name(() => { + for (const group of app.canvas.selectedItems) { + if (group instanceof LGraphGroup) { + group.recomputeInsideNodes(); + const padding = useSettingStore().get( + "Comfy.GroupSelectedNodes.Padding" + ); + group.resizeTo(group.children, padding); + app.graph.change(); + } + } + }, "function") + }, + { + id: "Comfy.Help.OpenComfyUIIssues", + icon: "pi pi-github", + label: "Open ComfyUI Issues", + menubarLabel: "ComfyUI Issues", + versionAdded: "1.5.5", + function: /* @__PURE__ */ __name(() => { + window.open( + "https://github.com/comfyanonymous/ComfyUI/issues", + "_blank" + ); + }, "function") + }, + { + id: "Comfy.Help.OpenComfyUIDocs", + icon: "pi pi-info-circle", + label: "Open ComfyUI Docs", + menubarLabel: "ComfyUI Docs", + versionAdded: "1.5.5", + function: /* @__PURE__ */ __name(() => { + window.open("https://docs.comfy.org/", "_blank"); + }, "function") + }, + { + id: "Comfy.Help.OpenComfyOrgDiscord", + icon: "pi pi-discord", + label: "Open Comfy-Org Discord", + menubarLabel: "Comfy-Org Discord", + versionAdded: "1.5.5", + function: /* @__PURE__ */ __name(() => { + window.open("https://www.comfy.org/discord", "_blank"); + }, "function") + }, + { + id: "Workspace.SearchBox.Toggle", + icon: "pi pi-search", + label: "Toggle Search Box", + versionAdded: "1.5.7", + function: /* @__PURE__ */ __name(() => { + useSearchBoxStore().toggleVisible(); + }, "function") + }, + { + id: "Comfy.Help.AboutComfyUI", + icon: "pi pi-info-circle", + label: "Open About ComfyUI", + menubarLabel: "About ComfyUI", + versionAdded: "1.6.4", + function: /* @__PURE__ */ __name(() => { + dialogService.showSettingsDialog("about"); + }, "function") + }, + { + id: "Comfy.DuplicateWorkflow", + icon: "pi pi-clone", + label: "Duplicate Current Workflow", + versionAdded: "1.6.15", + function: /* @__PURE__ */ __name(() => { + workflowService.duplicateWorkflow(workflowStore.activeWorkflow); + }, "function") + } + ]; +} +__name(useCoreCommands, "useCoreCommands"); +function setupAutoQueueHandler() { + const queueCountStore = useQueuePendingTaskCountStore(); + const queueSettingsStore = useQueueSettingsStore(); + let graphHasChanged = false; + let internalCount = 0; + api.addEventListener("graphChanged", () => { + if (queueSettingsStore.mode === "change") { + if (internalCount) { + graphHasChanged = true; + } else { + graphHasChanged = false; + app.queuePrompt(0, queueSettingsStore.batchCount); + internalCount++; + } + } + }); + queueCountStore.$subscribe( + () => { + internalCount = queueCountStore.count; + if (!internalCount && !app.lastExecutionError) { + if (queueSettingsStore.mode === "instant" || queueSettingsStore.mode === "change" && graphHasChanged) { + graphHasChanged = false; + app.queuePrompt(0, queueSettingsStore.batchCount); + } + } + }, + { detached: true } + ); +} +__name(setupAutoQueueHandler, "setupAutoQueueHandler"); +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "GraphView", + setup(__props) { + setupAutoQueueHandler(); + const { t } = useI18n(); + const toast = useToast(); + const settingStore = useSettingStore(); + const executionStore = useExecutionStore(); + const theme10 = computed(() => settingStore.get("Comfy.ColorPalette")); + watch( + theme10, + (newTheme) => { + const DARK_THEME_CLASS = "dark-theme"; + const isDarkTheme = newTheme !== "light"; + if (isDarkTheme) { + document.body.classList.add(DARK_THEME_CLASS); + } else { + document.body.classList.remove(DARK_THEME_CLASS); + } + }, + { immediate: true } + ); + watchEffect(() => { + const fontSize = settingStore.get("Comfy.TextareaWidget.FontSize"); + document.documentElement.style.setProperty( + "--comfy-textarea-font-size", + `${fontSize}px` + ); + }); + watchEffect(() => { + const padding = settingStore.get("Comfy.TreeExplorer.ItemPadding"); + document.documentElement.style.setProperty( + "--comfy-tree-explorer-item-padding", + `${padding}px` + ); + }); + watchEffect(() => { + const locale = settingStore.get("Comfy.Locale"); + if (locale) { + i18n.global.locale.value = locale; + } + }); + watchEffect(() => { + const useNewMenu = settingStore.get("Comfy.UseNewMenu"); + if (useNewMenu === "Disabled") { + app.ui.menuContainer.style.setProperty("display", "block"); + app.ui.restoreMenuPosition(); + } else { + app.ui.menuContainer.style.setProperty("display", "none"); + } + }); + watchEffect(() => { + useQueueStore().maxHistoryItems = settingStore.get( + "Comfy.Queue.MaxHistoryItems" + ); + }); + const init = /* @__PURE__ */ __name(() => { + const coreCommands = useCoreCommands(); + useCommandStore().registerCommands(coreCommands); + useMenuItemStore().registerCoreMenuCommands(); + useKeybindingService().registerCoreKeybindings(); + useSidebarTabStore().registerCoreSidebarTabs(); + useBottomPanelStore().registerCoreBottomPanelTabs(); + app.extensionManager = useWorkspaceStore(); + }, "init"); + const queuePendingTaskCountStore = useQueuePendingTaskCountStore(); + const onStatus = /* @__PURE__ */ __name((e) => { + queuePendingTaskCountStore.update(e); + }, "onStatus"); + const reconnectingMessage = { + severity: "error", + summary: t("g.reconnecting") + }; + const onReconnecting = /* @__PURE__ */ __name(() => { + toast.remove(reconnectingMessage); + toast.add(reconnectingMessage); + }, "onReconnecting"); + const onReconnected = /* @__PURE__ */ __name(() => { + toast.remove(reconnectingMessage); + toast.add({ + severity: "success", + summary: t("g.reconnected"), + life: 2e3 + }); + }, "onReconnected"); + onMounted(() => { + api.addEventListener("status", onStatus); + api.addEventListener("reconnecting", onReconnecting); + api.addEventListener("reconnected", onReconnected); + executionStore.bindExecutionEvents(); + try { + init(); + } catch (e) { + console.error("Failed to init ComfyUI frontend", e); + } + }); + onBeforeUnmount(() => { + api.removeEventListener("status", onStatus); + api.removeEventListener("reconnecting", onReconnecting); + api.removeEventListener("reconnected", onReconnected); + executionStore.unbindExecutionEvents(); + }); + useEventListener(window, "keydown", useKeybindingService().keybindHandler); + const onGraphReady = /* @__PURE__ */ __name(() => { + requestIdleCallback( + () => { + useKeybindingService().registerUserKeybindings(); + useServerConfigStore().loadServerConfig( + SERVER_CONFIG_ITEMS, + settingStore.get("Comfy.Server.ServerConfigValues") + ); + useModelStore().loadModelFolders(); + useNodeDefStore().nodeSearchService.endsWithFilterStartSequence(""); + useNodeFrequencyStore().loadNodeFrequencies(); + }, + { timeout: 1e3 } + ); + }, "onGraphReady"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + createVNode(TopMenubar), + createVNode(_sfc_main$a, { onReady: onGraphReady }), + createVNode(_sfc_main$9), + createVNode(_sfc_main$r), + createVNode(_sfc_main$t), + createVNode(MenuHamburger) + ], 64); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=GraphView-HVeNbkaW.js.map diff --git a/web/assets/InstallView-CAcYt0HL.js b/web/assets/InstallView-CAcYt0HL.js new file mode 100644 index 0000000000000000000000000000000000000000..2cf9e7f15066285187f70608dfac35b179deeae2 --- /dev/null +++ b/web/assets/InstallView-CAcYt0HL.js @@ -0,0 +1,1288 @@ +var __defProp = Object.defineProperty; +var __name = (target, value2) => __defProp(target, "name", { value: value2, configurable: true }); +import { B as BaseStyle, q as script$6, o as openBlock, f as createElementBlock, D as mergeProps, c1 as findIndexInList, c2 as find, aB as resolveComponent, k as createBlock, G as resolveDynamicComponent, M as withCtx, H as createBaseVNode, X as toDisplayString, J as renderSlot, I as createCommentVNode, T as normalizeClass, P as findSingle, F as Fragment, aC as Transition, i as withDirectives, v as vShow, ak as UniqueComponentId, d as defineComponent, ab as ref, c3 as useModel, N as createVNode, j as unref, c4 as script$7, bQ as script$8, bM as withModifiers, aP as script$9, a1 as useI18n, c as computed, aI as script$a, aE as createTextVNode, c0 as electronAPI, m as onMounted, r as resolveDirective, av as script$b, c5 as script$c, c6 as script$d, l as script$e, bZ as script$f, c7 as MigrationItems, w as watchEffect, E as renderList, c8 as script$g, bW as useRouter, aL as pushScopeId, aM as popScopeId, aU as toRaw, _ as _export_sfc } from "./index-DjNHn37O.js"; +import { _ as _sfc_main$5 } from "./BaseViewTemplate-BNGF4K22.js"; +var classes$4 = { + root: /* @__PURE__ */ __name(function root(_ref) { + var instance = _ref.instance; + return ["p-step", { + "p-step-active": instance.active, + "p-disabled": instance.isStepDisabled + }]; + }, "root"), + header: "p-step-header", + number: "p-step-number", + title: "p-step-title" +}; +var StepStyle = BaseStyle.extend({ + name: "step", + classes: classes$4 +}); +var script$2$2 = { + name: "StepperSeparator", + hostName: "Stepper", + "extends": script$6 +}; +function render$1$2(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("span", mergeProps({ + "class": _ctx.cx("separator") + }, _ctx.ptm("separator")), null, 16); +} +__name(render$1$2, "render$1$2"); +script$2$2.render = render$1$2; +var script$1$4 = { + name: "BaseStep", + "extends": script$6, + props: { + value: { + type: [String, Number], + "default": void 0 + }, + disabled: { + type: Boolean, + "default": false + }, + asChild: { + type: Boolean, + "default": false + }, + as: { + type: [String, Object], + "default": "DIV" + } + }, + style: StepStyle, + provide: /* @__PURE__ */ __name(function provide() { + return { + $pcStep: this, + $parentInstance: this + }; + }, "provide") +}; +var script$5 = { + name: "Step", + "extends": script$1$4, + inheritAttrs: false, + inject: { + $pcStepper: { + "default": null + }, + $pcStepList: { + "default": null + }, + $pcStepItem: { + "default": null + } + }, + data: /* @__PURE__ */ __name(function data() { + return { + isSeparatorVisible: false + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted() { + if (this.$el && this.$pcStepList) { + var index = findIndexInList(this.$el, find(this.$pcStepper.$el, '[data-pc-name="step"]')); + var stepLen = find(this.$pcStepper.$el, '[data-pc-name="step"]').length; + this.isSeparatorVisible = index !== stepLen - 1; + } + }, "mounted"), + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions(key) { + var _ptm = key === "root" ? this.ptmi : this.ptm; + return _ptm(key, { + context: { + active: this.active, + disabled: this.isStepDisabled + } + }); + }, "getPTOptions"), + onStepClick: /* @__PURE__ */ __name(function onStepClick() { + this.$pcStepper.updateValue(this.activeValue); + }, "onStepClick") + }, + computed: { + active: /* @__PURE__ */ __name(function active() { + return this.$pcStepper.isStepActive(this.activeValue); + }, "active"), + activeValue: /* @__PURE__ */ __name(function activeValue() { + var _this$$pcStepItem; + return !!this.$pcStepItem ? (_this$$pcStepItem = this.$pcStepItem) === null || _this$$pcStepItem === void 0 ? void 0 : _this$$pcStepItem.value : this.value; + }, "activeValue"), + isStepDisabled: /* @__PURE__ */ __name(function isStepDisabled() { + return !this.active && (this.$pcStepper.isStepDisabled() || this.disabled); + }, "isStepDisabled"), + id: /* @__PURE__ */ __name(function id() { + var _this$$pcStepper; + return "".concat((_this$$pcStepper = this.$pcStepper) === null || _this$$pcStepper === void 0 ? void 0 : _this$$pcStepper.id, "_step_").concat(this.activeValue); + }, "id"), + ariaControls: /* @__PURE__ */ __name(function ariaControls() { + var _this$$pcStepper2; + return "".concat((_this$$pcStepper2 = this.$pcStepper) === null || _this$$pcStepper2 === void 0 ? void 0 : _this$$pcStepper2.id, "_steppanel_").concat(this.activeValue); + }, "ariaControls"), + a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs() { + return { + root: { + role: "presentation", + "aria-current": this.active ? "step" : void 0, + "data-pc-name": "step", + "data-pc-section": "root", + "data-p-disabled": this.disabled, + "data-p-active": this.active + }, + header: { + id: this.id, + role: "tab", + taindex: this.disabled ? -1 : void 0, + "aria-controls": this.ariaControls, + "data-pc-section": "header", + disabled: this.disabled, + onClick: this.onStepClick + } + }; + }, "a11yAttrs") + }, + components: { + StepperSeparator: script$2$2 + } +}; +var _hoisted_1$5 = ["id", "tabindex", "aria-controls", "disabled"]; +function render$4(_ctx, _cache, $props, $setup, $data, $options) { + var _component_StepperSeparator = resolveComponent("StepperSeparator"); + return !_ctx.asChild ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ + key: 0, + "class": _ctx.cx("root"), + "aria-current": $options.active ? "step" : void 0, + role: "presentation", + "data-p-active": $options.active, + "data-p-disabled": $options.isStepDisabled + }, $options.getPTOptions("root")), { + "default": withCtx(function() { + return [createBaseVNode("button", mergeProps({ + id: $options.id, + "class": _ctx.cx("header"), + role: "tab", + type: "button", + tabindex: $options.isStepDisabled ? -1 : void 0, + "aria-controls": $options.ariaControls, + disabled: $options.isStepDisabled, + onClick: _cache[0] || (_cache[0] = function() { + return $options.onStepClick && $options.onStepClick.apply($options, arguments); + }) + }, $options.getPTOptions("header")), [createBaseVNode("span", mergeProps({ + "class": _ctx.cx("number") + }, $options.getPTOptions("number")), toDisplayString($options.activeValue), 17), createBaseVNode("span", mergeProps({ + "class": _ctx.cx("title") + }, $options.getPTOptions("title")), [renderSlot(_ctx.$slots, "default")], 16)], 16, _hoisted_1$5), $data.isSeparatorVisible ? (openBlock(), createBlock(_component_StepperSeparator, { + key: 0 + })) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["class", "aria-current", "data-p-active", "data-p-disabled"])) : renderSlot(_ctx.$slots, "default", { + key: 1, + "class": normalizeClass(_ctx.cx("root")), + active: $options.active, + value: _ctx.value, + a11yAttrs: $options.a11yAttrs, + activateCallback: $options.onStepClick + }); +} +__name(render$4, "render$4"); +script$5.render = render$4; +var classes$3 = { + root: "p-steplist" +}; +var StepListStyle = BaseStyle.extend({ + name: "steplist", + classes: classes$3 +}); +var script$1$3 = { + name: "BaseStepList", + "extends": script$6, + style: StepListStyle, + provide: /* @__PURE__ */ __name(function provide2() { + return { + $pcStepList: this, + $parentInstance: this + }; + }, "provide") +}; +var script$4 = { + name: "StepList", + "extends": script$1$3, + inheritAttrs: false +}; +function render$3(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$3, "render$3"); +script$4.render = render$3; +var classes$2 = { + root: /* @__PURE__ */ __name(function root2(_ref) { + var instance = _ref.instance; + return ["p-steppanel", { + "p-steppanel-active": instance.isVertical && instance.active + }]; + }, "root"), + content: "p-steppanel-content" +}; +var StepPanelStyle = BaseStyle.extend({ + name: "steppanel", + classes: classes$2 +}); +var script$2$1 = { + name: "StepperSeparator", + hostName: "Stepper", + "extends": script$6 +}; +function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("span", mergeProps({ + "class": _ctx.cx("separator") + }, _ctx.ptm("separator")), null, 16); +} +__name(render$1$1, "render$1$1"); +script$2$1.render = render$1$1; +var script$1$2 = { + name: "BaseStepPanel", + "extends": script$6, + props: { + value: { + type: [String, Number], + "default": void 0 + }, + asChild: { + type: Boolean, + "default": false + }, + as: { + type: [String, Object], + "default": "DIV" + } + }, + style: StepPanelStyle, + provide: /* @__PURE__ */ __name(function provide3() { + return { + $pcStepPanel: this, + $parentInstance: this + }; + }, "provide") +}; +var script$3 = { + name: "StepPanel", + "extends": script$1$2, + inheritAttrs: false, + inject: { + $pcStepper: { + "default": null + }, + $pcStepItem: { + "default": null + }, + $pcStepList: { + "default": null + } + }, + data: /* @__PURE__ */ __name(function data2() { + return { + isSeparatorVisible: false + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted2() { + if (this.$el) { + var _this$$pcStepItem, _this$$pcStepList; + var stepElements = find(this.$pcStepper.$el, '[data-pc-name="step"]'); + var stepPanelEl = findSingle(this.isVertical ? (_this$$pcStepItem = this.$pcStepItem) === null || _this$$pcStepItem === void 0 ? void 0 : _this$$pcStepItem.$el : (_this$$pcStepList = this.$pcStepList) === null || _this$$pcStepList === void 0 ? void 0 : _this$$pcStepList.$el, '[data-pc-name="step"]'); + var stepPanelIndex = findIndexInList(stepPanelEl, stepElements); + this.isSeparatorVisible = this.isVertical && stepPanelIndex !== stepElements.length - 1; + } + }, "mounted"), + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions2(key) { + var _ptm = key === "root" ? this.ptmi : this.ptm; + return _ptm(key, { + context: { + active: this.active + } + }); + }, "getPTOptions"), + updateValue: /* @__PURE__ */ __name(function updateValue(val) { + this.$pcStepper.updateValue(val); + }, "updateValue") + }, + computed: { + active: /* @__PURE__ */ __name(function active2() { + var _this$$pcStepItem2, _this$$pcStepper; + var activeValue3 = !!this.$pcStepItem ? (_this$$pcStepItem2 = this.$pcStepItem) === null || _this$$pcStepItem2 === void 0 ? void 0 : _this$$pcStepItem2.value : this.value; + return activeValue3 === ((_this$$pcStepper = this.$pcStepper) === null || _this$$pcStepper === void 0 ? void 0 : _this$$pcStepper.d_value); + }, "active"), + isVertical: /* @__PURE__ */ __name(function isVertical() { + return !!this.$pcStepItem; + }, "isVertical"), + activeValue: /* @__PURE__ */ __name(function activeValue2() { + var _this$$pcStepItem3; + return this.isVertical ? (_this$$pcStepItem3 = this.$pcStepItem) === null || _this$$pcStepItem3 === void 0 ? void 0 : _this$$pcStepItem3.value : this.value; + }, "activeValue"), + id: /* @__PURE__ */ __name(function id2() { + var _this$$pcStepper2; + return "".concat((_this$$pcStepper2 = this.$pcStepper) === null || _this$$pcStepper2 === void 0 ? void 0 : _this$$pcStepper2.id, "_steppanel_").concat(this.activeValue); + }, "id"), + ariaControls: /* @__PURE__ */ __name(function ariaControls2() { + var _this$$pcStepper3; + return "".concat((_this$$pcStepper3 = this.$pcStepper) === null || _this$$pcStepper3 === void 0 ? void 0 : _this$$pcStepper3.id, "_step_").concat(this.activeValue); + }, "ariaControls"), + a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs2() { + return { + id: this.id, + role: "tabpanel", + "aria-controls": this.ariaControls, + "data-pc-name": "steppanel", + "data-p-active": this.active + }; + }, "a11yAttrs") + }, + components: { + StepperSeparator: script$2$1 + } +}; +function render$2(_ctx, _cache, $props, $setup, $data, $options) { + var _component_StepperSeparator = resolveComponent("StepperSeparator"); + return $options.isVertical ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [!_ctx.asChild ? (openBlock(), createBlock(Transition, mergeProps({ + key: 0, + name: "p-toggleable-content" + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ + id: $options.id, + "class": _ctx.cx("root"), + role: "tabpanel", + "aria-controls": $options.ariaControls + }, $options.getPTOptions("root")), { + "default": withCtx(function() { + return [$data.isSeparatorVisible ? (openBlock(), createBlock(_component_StepperSeparator, { + key: 0 + })) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("content") + }, $options.getPTOptions("content")), [renderSlot(_ctx.$slots, "default", { + active: $options.active, + activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { + return $options.updateValue(val); + }, "activateCallback") + })], 16)]; + }), + _: 3 + }, 16, ["id", "class", "aria-controls"])), [[vShow, $options.active]])]; + }), + _: 3 + }, 16)) : renderSlot(_ctx.$slots, "default", { + key: 1, + active: $options.active, + a11yAttrs: $options.a11yAttrs, + activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { + return $options.updateValue(val); + }, "activateCallback") + })], 64)) : (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [!_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ + key: 0, + id: $options.id, + "class": _ctx.cx("root"), + role: "tabpanel", + "aria-controls": $options.ariaControls + }, $options.getPTOptions("root")), { + "default": withCtx(function() { + return [renderSlot(_ctx.$slots, "default", { + active: $options.active, + activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { + return $options.updateValue(val); + }, "activateCallback") + })]; + }), + _: 3 + }, 16, ["id", "class", "aria-controls"])), [[vShow, $options.active]]) : _ctx.asChild && $options.active ? renderSlot(_ctx.$slots, "default", { + key: 1, + active: $options.active, + a11yAttrs: $options.a11yAttrs, + activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { + return $options.updateValue(val); + }, "activateCallback") + }) : createCommentVNode("", true)], 64)); +} +__name(render$2, "render$2"); +script$3.render = render$2; +var classes$1 = { + root: "p-steppanels" +}; +var StepPanelsStyle = BaseStyle.extend({ + name: "steppanels", + classes: classes$1 +}); +var script$1$1 = { + name: "BaseStepPanels", + "extends": script$6, + style: StepPanelsStyle, + provide: /* @__PURE__ */ __name(function provide4() { + return { + $pcStepPanels: this, + $parentInstance: this + }; + }, "provide") +}; +var script$2 = { + name: "StepPanels", + "extends": script$1$1, + inheritAttrs: false +}; +function render$1(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$1, "render$1"); +script$2.render = render$1; +var theme = /* @__PURE__ */ __name(function theme2(_ref) { + var dt = _ref.dt; + return "\n.p-steplist {\n position: relative;\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow-x: auto;\n}\n\n.p-step {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n gap: ".concat(dt("stepper.step.gap"), ";\n padding: ").concat(dt("stepper.step.padding"), ";\n}\n\n.p-step:last-of-type {\n flex: initial;\n}\n\n.p-step-header {\n border: 0 none;\n display: inline-flex;\n align-items: center;\n text-decoration: none;\n cursor: pointer;\n transition: background ").concat(dt("stepper.transition.duration"), ", color ").concat(dt("stepper.transition.duration"), ", border-color ").concat(dt("stepper.transition.duration"), ", outline-color ").concat(dt("stepper.transition.duration"), ", box-shadow ").concat(dt("stepper.transition.duration"), ";\n border-radius: ").concat(dt("stepper.step.header.border.radius"), ";\n outline-color: transparent;\n background: transparent;\n padding: ").concat(dt("stepper.step.header.padding"), ";\n gap: ").concat(dt("stepper.step.header.gap"), ";\n}\n\n.p-step-header:focus-visible {\n box-shadow: ").concat(dt("stepper.step.header.focus.ring.shadow"), ";\n outline: ").concat(dt("stepper.step.header.focus.ring.width"), " ").concat(dt("stepper.step.header.focus.ring.style"), " ").concat(dt("stepper.step.header.focus.ring.color"), ";\n outline-offset: ").concat(dt("stepper.step.header.focus.ring.offset"), ";\n}\n\n.p-stepper.p-stepper-readonly .p-step {\n cursor: auto;\n}\n\n.p-step-title {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n color: ").concat(dt("stepper.step.title.color"), ";\n font-weight: ").concat(dt("stepper.step.title.font.weight"), ";\n transition: background ").concat(dt("stepper.transition.duration"), ", color ").concat(dt("stepper.transition.duration"), ", border-color ").concat(dt("stepper.transition.duration"), ", box-shadow ").concat(dt("stepper.transition.duration"), ", outline-color ").concat(dt("stepper.transition.duration"), ";\n}\n\n.p-step-number {\n display: flex;\n align-items: center;\n justify-content: center;\n color: ").concat(dt("stepper.step.number.color"), ";\n border: 2px solid ").concat(dt("stepper.step.number.border.color"), ";\n background: ").concat(dt("stepper.step.number.background"), ";\n min-width: ").concat(dt("stepper.step.number.size"), ";\n height: ").concat(dt("stepper.step.number.size"), ";\n line-height: ").concat(dt("stepper.step.number.size"), ";\n font-size: ").concat(dt("stepper.step.number.font.size"), ";\n z-index: 1;\n border-radius: ").concat(dt("stepper.step.number.border.radius"), ";\n position: relative;\n font-weight: ").concat(dt("stepper.step.number.font.weight"), ';\n}\n\n.p-step-number::after {\n content: " ";\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ').concat(dt("stepper.step.number.border.radius"), ";\n box-shadow: ").concat(dt("stepper.step.number.shadow"), ";\n}\n\n.p-step-active .p-step-header {\n cursor: default;\n}\n\n.p-step-active .p-step-number {\n background: ").concat(dt("stepper.step.number.active.background"), ";\n border-color: ").concat(dt("stepper.step.number.active.border.color"), ";\n color: ").concat(dt("stepper.step.number.active.color"), ";\n}\n\n.p-step-active .p-step-title {\n color: ").concat(dt("stepper.step.title.active.color"), ";\n}\n\n.p-step:not(.p-disabled):focus-visible {\n outline: ").concat(dt("focus.ring.width"), " ").concat(dt("focus.ring.style"), " ").concat(dt("focus.ring.color"), ";\n outline-offset: ").concat(dt("focus.ring.offset"), ";\n}\n\n.p-step:has(~ .p-step-active) .p-stepper-separator {\n background: ").concat(dt("stepper.separator.active.background"), ";\n}\n\n.p-stepper-separator {\n flex: 1 1 0;\n background: ").concat(dt("stepper.separator.background"), ";\n width: 100%;\n height: ").concat(dt("stepper.separator.size"), ";\n transition: background ").concat(dt("stepper.transition.duration"), ", color ").concat(dt("stepper.transition.duration"), ", border-color ").concat(dt("stepper.transition.duration"), ", box-shadow ").concat(dt("stepper.transition.duration"), ", outline-color ").concat(dt("stepper.transition.duration"), ";\n}\n\n.p-steppanels {\n padding: ").concat(dt("stepper.steppanels.padding"), ";\n}\n\n.p-steppanel {\n background: ").concat(dt("stepper.steppanel.background"), ";\n color: ").concat(dt("stepper.steppanel.color"), ";\n}\n\n.p-stepper:has(.p-stepitem) {\n display: flex;\n flex-direction: column;\n}\n\n.p-stepitem {\n display: flex;\n flex-direction: column;\n flex: initial;\n}\n\n.p-stepitem.p-stepitem-active {\n flex: 1 1 auto;\n}\n\n.p-stepitem .p-step {\n flex: initial;\n}\n\n.p-stepitem .p-steppanel-content {\n width: 100%;\n padding: ").concat(dt("stepper.steppanel.padding"), ";\n}\n\n.p-stepitem .p-steppanel {\n display: flex;\n flex: 1 1 auto;\n}\n\n.p-stepitem .p-stepper-separator {\n flex: 0 0 auto;\n width: ").concat(dt("stepper.separator.size"), ";\n height: auto;\n margin: ").concat(dt("stepper.separator.margin"), ";\n position: relative;\n left: calc(-1 * ").concat(dt("stepper.separator.size"), ");\n}\n\n.p-stepitem:has(~ .p-stepitem-active) .p-stepper-separator {\n background: ").concat(dt("stepper.separator.active.background"), ";\n}\n\n.p-stepitem:last-of-type .p-steppanel {\n padding-inline-start: ").concat(dt("stepper.step.number.size"), ";\n}\n"); +}, "theme"); +var classes = { + root: /* @__PURE__ */ __name(function root3(_ref2) { + var props = _ref2.props; + return ["p-stepper p-component", { + "p-readonly": props.linear + }]; + }, "root"), + separator: "p-stepper-separator" +}; +var StepperStyle = BaseStyle.extend({ + name: "stepper", + theme, + classes +}); +var script$1 = { + name: "BaseStepper", + "extends": script$6, + props: { + value: { + type: [String, Number], + "default": void 0 + }, + linear: { + type: Boolean, + "default": false + } + }, + style: StepperStyle, + provide: /* @__PURE__ */ __name(function provide5() { + return { + $pcStepper: this, + $parentInstance: this + }; + }, "provide") +}; +var script = { + name: "Stepper", + "extends": script$1, + inheritAttrs: false, + emits: ["update:value"], + data: /* @__PURE__ */ __name(function data3() { + return { + id: this.$attrs.id, + d_value: this.value + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + value: /* @__PURE__ */ __name(function value(newValue) { + this.d_value = newValue; + }, "value") + }, + mounted: /* @__PURE__ */ __name(function mounted3() { + this.id = this.id || UniqueComponentId(); + }, "mounted"), + methods: { + updateValue: /* @__PURE__ */ __name(function updateValue2(newValue) { + if (this.d_value !== newValue) { + this.d_value = newValue; + this.$emit("update:value", newValue); + } + }, "updateValue"), + isStepActive: /* @__PURE__ */ __name(function isStepActive(value2) { + return this.d_value === value2; + }, "isStepActive"), + isStepDisabled: /* @__PURE__ */ __name(function isStepDisabled2() { + return this.linear; + }, "isStepDisabled") + } +}; +function render(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + role: "tablist" + }, _ctx.ptmi("root")), [_ctx.$slots.start ? renderSlot(_ctx.$slots, "start", { + key: 0 + }) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default"), _ctx.$slots.end ? renderSlot(_ctx.$slots, "end", { + key: 1 + }) : createCommentVNode("", true)], 16); +} +__name(render, "render"); +script.render = render; +const _hoisted_1$4 = { class: "flex flex-col gap-6 w-[600px]" }; +const _hoisted_2$4 = { class: "flex flex-col gap-4" }; +const _hoisted_3$4 = { class: "text-2xl font-semibold text-neutral-100" }; +const _hoisted_4$4 = { class: "text-neutral-400 my-0" }; +const _hoisted_5$3 = { class: "flex flex-col bg-neutral-800 p-4 rounded-lg" }; +const _hoisted_6$3 = { class: "flex items-center gap-4" }; +const _hoisted_7$3 = { class: "flex-1" }; +const _hoisted_8$3 = { class: "text-lg font-medium text-neutral-100" }; +const _hoisted_9$3 = { class: "text-sm text-neutral-400 mt-1" }; +const _hoisted_10$3 = { class: "flex items-center gap-4" }; +const _hoisted_11$3 = { class: "flex-1" }; +const _hoisted_12$3 = { class: "text-lg font-medium text-neutral-100" }; +const _hoisted_13$2 = { class: "text-sm text-neutral-400 mt-1" }; +const _hoisted_14$2 = { class: "text-neutral-300" }; +const _hoisted_15$2 = { class: "font-medium mb-2" }; +const _hoisted_16$2 = { class: "list-disc pl-6 space-y-1" }; +const _hoisted_17$2 = { class: "font-medium mt-4 mb-2" }; +const _hoisted_18$2 = { class: "list-disc pl-6 space-y-1" }; +const _sfc_main$4 = /* @__PURE__ */ defineComponent({ + __name: "DesktopSettingsConfiguration", + props: { + "autoUpdate": { required: true }, + "autoUpdateModifiers": {}, + "allowMetrics": { required: true }, + "allowMetricsModifiers": {} + }, + emits: ["update:autoUpdate", "update:allowMetrics"], + setup(__props) { + const showDialog = ref(false); + const autoUpdate = useModel(__props, "autoUpdate"); + const allowMetrics = useModel(__props, "allowMetrics"); + const showMetricsInfo = /* @__PURE__ */ __name(() => { + showDialog.value = true; + }, "showMetricsInfo"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$4, [ + createBaseVNode("div", _hoisted_2$4, [ + createBaseVNode("h2", _hoisted_3$4, toDisplayString(_ctx.$t("install.desktopAppSettings")), 1), + createBaseVNode("p", _hoisted_4$4, toDisplayString(_ctx.$t("install.desktopAppSettingsDescription")), 1) + ]), + createBaseVNode("div", _hoisted_5$3, [ + createBaseVNode("div", _hoisted_6$3, [ + createBaseVNode("div", _hoisted_7$3, [ + createBaseVNode("h3", _hoisted_8$3, toDisplayString(_ctx.$t("install.settings.autoUpdate")), 1), + createBaseVNode("p", _hoisted_9$3, toDisplayString(_ctx.$t("install.settings.autoUpdateDescription")), 1) + ]), + createVNode(unref(script$7), { + modelValue: autoUpdate.value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => autoUpdate.value = $event) + }, null, 8, ["modelValue"]) + ]), + createVNode(unref(script$8)), + createBaseVNode("div", _hoisted_10$3, [ + createBaseVNode("div", _hoisted_11$3, [ + createBaseVNode("h3", _hoisted_12$3, toDisplayString(_ctx.$t("install.settings.allowMetrics")), 1), + createBaseVNode("p", _hoisted_13$2, toDisplayString(_ctx.$t("install.settings.allowMetricsDescription")), 1), + createBaseVNode("a", { + href: "#", + class: "text-sm text-blue-400 hover:text-blue-300 mt-1 inline-block", + onClick: withModifiers(showMetricsInfo, ["prevent"]) + }, toDisplayString(_ctx.$t("install.settings.learnMoreAboutData")), 1) + ]), + createVNode(unref(script$7), { + modelValue: allowMetrics.value, + "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => allowMetrics.value = $event) + }, null, 8, ["modelValue"]) + ]) + ]), + createVNode(unref(script$9), { + visible: showDialog.value, + "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => showDialog.value = $event), + modal: "", + header: _ctx.$t("install.settings.dataCollectionDialog.title") + }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_14$2, [ + createBaseVNode("h4", _hoisted_15$2, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.whatWeCollect")), 1), + createBaseVNode("ul", _hoisted_16$2, [ + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.errorReports")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.systemInfo")), 1) + ]), + createBaseVNode("h4", _hoisted_17$2, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.whatWeDoNotCollect")), 1), + createBaseVNode("ul", _hoisted_18$2, [ + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.personalInformation")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.workflowContents")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.fileSystemInformation")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t( + "install.settings.dataCollectionDialog.customNodeConfigurations" + )), 1) + ]) + ]) + ]), + _: 1 + }, 8, ["visible", "header"]) + ]); + }; + } +}); +const _imports_0 = "" + new URL("images/nvidia-logo.svg", import.meta.url).href; +const _imports_1 = "" + new URL("images/apple-mps-logo.png", import.meta.url).href; +const _imports_2 = "" + new URL("images/manual-configuration.svg", import.meta.url).href; +const _hoisted_1$3 = { class: "flex flex-col gap-6 w-[600px] h-[30rem] select-none" }; +const _hoisted_2$3 = { class: "grow flex flex-col gap-4 text-neutral-300" }; +const _hoisted_3$3 = { class: "text-2xl font-semibold text-neutral-100" }; +const _hoisted_4$3 = { class: "m-1 text-neutral-400" }; +const _hoisted_5$2 = /* @__PURE__ */ createBaseVNode("img", { + class: "m-12", + alt: "NVIDIA logo", + width: "196", + height: "32", + src: _imports_0 +}, null, -1); +const _hoisted_6$2 = [ + _hoisted_5$2 +]; +const _hoisted_7$2 = /* @__PURE__ */ createBaseVNode("img", { + class: "rounded-lg hover-brighten", + alt: "Apple Metal Performance Shaders Logo", + width: "292", + ratio: "", + src: _imports_1 +}, null, -1); +const _hoisted_8$2 = [ + _hoisted_7$2 +]; +const _hoisted_9$2 = /* @__PURE__ */ createBaseVNode("img", { + class: "m-12", + alt: "Manual configuration", + width: "196", + src: _imports_2 +}, null, -1); +const _hoisted_10$2 = [ + _hoisted_9$2 +]; +const _hoisted_11$2 = { + key: 0, + class: "m-1" +}; +const _hoisted_12$2 = { + key: 1, + class: "m-1" +}; +const _hoisted_13$1 = { + key: 2, + class: "text-neutral-300" +}; +const _hoisted_14$1 = { class: "m-1" }; +const _hoisted_15$1 = { key: 3 }; +const _hoisted_16$1 = { class: "m-1" }; +const _hoisted_17$1 = { class: "m-1" }; +const _hoisted_18$1 = { + for: "cpu-mode", + class: "select-none" +}; +const _sfc_main$3 = /* @__PURE__ */ defineComponent({ + __name: "GpuPicker", + props: { + "device": { + required: true + }, + "deviceModifiers": {} + }, + emits: ["update:device"], + setup(__props) { + const { t } = useI18n(); + const cpuMode = computed({ + get: /* @__PURE__ */ __name(() => selected.value === "cpu", "get"), + set: /* @__PURE__ */ __name((value2) => { + selected.value = value2 ? "cpu" : null; + }, "set") + }); + const selected = useModel(__props, "device"); + const electron = electronAPI(); + const platform = electron.getPlatform(); + const pickGpu = /* @__PURE__ */ __name((value2) => { + const newValue = selected.value === value2 ? null : value2; + selected.value = newValue; + }, "pickGpu"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$3, [ + createBaseVNode("div", _hoisted_2$3, [ + createBaseVNode("h2", _hoisted_3$3, toDisplayString(_ctx.$t("install.gpuSelection.selectGpu")), 1), + createBaseVNode("p", _hoisted_4$3, toDisplayString(_ctx.$t("install.gpuSelection.selectGpuDescription")) + ": ", 1), + createBaseVNode("div", { + class: normalizeClass(["flex gap-2 text-center transition-opacity", { selected: selected.value }]) + }, [ + unref(platform) !== "darwin" ? (openBlock(), createElementBlock("div", { + key: 0, + class: normalizeClass(["gpu-button", { selected: selected.value === "nvidia" }]), + role: "button", + onClick: _cache[0] || (_cache[0] = ($event) => pickGpu("nvidia")) + }, _hoisted_6$2, 2)) : createCommentVNode("", true), + unref(platform) === "darwin" ? (openBlock(), createElementBlock("div", { + key: 1, + class: normalizeClass(["gpu-button", { selected: selected.value === "mps" }]), + role: "button", + onClick: _cache[1] || (_cache[1] = ($event) => pickGpu("mps")) + }, _hoisted_8$2, 2)) : createCommentVNode("", true), + createBaseVNode("div", { + class: normalizeClass(["gpu-button", { selected: selected.value === "unsupported" }]), + role: "button", + onClick: _cache[2] || (_cache[2] = ($event) => pickGpu("unsupported")) + }, _hoisted_10$2, 2) + ], 2), + selected.value === "nvidia" ? (openBlock(), createElementBlock("p", _hoisted_11$2, [ + createVNode(unref(script$a), { + icon: "pi pi-check", + severity: "success", + value: "CUDA" + }), + createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.nvidiaDescription")), 1) + ])) : createCommentVNode("", true), + selected.value === "mps" ? (openBlock(), createElementBlock("p", _hoisted_12$2, [ + createVNode(unref(script$a), { + icon: "pi pi-check", + severity: "success", + value: "MPS" + }), + createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.mpsDescription")), 1) + ])) : createCommentVNode("", true), + selected.value === "unsupported" ? (openBlock(), createElementBlock("div", _hoisted_13$1, [ + createBaseVNode("p", _hoisted_14$1, [ + createVNode(unref(script$a), { + icon: "pi pi-exclamation-triangle", + severity: "warn", + value: unref(t)("icon.exclamation-triangle") + }, null, 8, ["value"]), + createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.customSkipsPython")), 1) + ]), + createBaseVNode("ul", null, [ + createBaseVNode("li", null, [ + createBaseVNode("strong", null, toDisplayString(_ctx.$t("install.gpuSelection.customComfyNeedsPython")), 1) + ]), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customManualVenv")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customInstallRequirements")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customMayNotWork")), 1) + ]) + ])) : createCommentVNode("", true), + selected.value === "cpu" ? (openBlock(), createElementBlock("div", _hoisted_15$1, [ + createBaseVNode("p", _hoisted_16$1, [ + createVNode(unref(script$a), { + icon: "pi pi-exclamation-triangle", + severity: "warn", + value: unref(t)("icon.exclamation-triangle") + }, null, 8, ["value"]), + createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.cpuModeDescription")), 1) + ]), + createBaseVNode("p", _hoisted_17$1, toDisplayString(_ctx.$t("install.gpuSelection.cpuModeDescription2")), 1) + ])) : createCommentVNode("", true) + ]), + createBaseVNode("div", { + class: normalizeClass(["transition-opacity flex gap-3 h-0", { + "opacity-40": selected.value && selected.value !== "cpu" + }]) + }, [ + createVNode(unref(script$7), { + modelValue: cpuMode.value, + "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => cpuMode.value = $event), + inputId: "cpu-mode", + class: "-translate-y-40" + }, null, 8, ["modelValue"]), + createBaseVNode("label", _hoisted_18$1, toDisplayString(_ctx.$t("install.gpuSelection.enableCpuMode")), 1) + ], 2) + ]); + }; + } +}); +const _hoisted_1$2 = { class: "flex flex-col gap-6 w-[600px]" }; +const _hoisted_2$2 = { class: "flex flex-col gap-4" }; +const _hoisted_3$2 = { class: "text-2xl font-semibold text-neutral-100" }; +const _hoisted_4$2 = { class: "text-neutral-400 my-0" }; +const _hoisted_5$1 = { class: "flex gap-2" }; +const _hoisted_6$1 = { class: "bg-neutral-800 p-4 rounded-lg" }; +const _hoisted_7$1 = { class: "text-lg font-medium mt-0 mb-3 text-neutral-100" }; +const _hoisted_8$1 = { class: "flex flex-col gap-2" }; +const _hoisted_9$1 = { class: "flex items-center gap-2" }; +const _hoisted_10$1 = /* @__PURE__ */ createBaseVNode("i", { class: "pi pi-folder text-neutral-400" }, null, -1); +const _hoisted_11$1 = /* @__PURE__ */ createBaseVNode("span", { class: "text-neutral-400" }, "App Data:", -1); +const _hoisted_12$1 = { class: "text-neutral-200" }; +const _hoisted_13 = { class: "pi pi-info-circle" }; +const _hoisted_14 = { class: "flex items-center gap-2" }; +const _hoisted_15 = /* @__PURE__ */ createBaseVNode("i", { class: "pi pi-desktop text-neutral-400" }, null, -1); +const _hoisted_16 = /* @__PURE__ */ createBaseVNode("span", { class: "text-neutral-400" }, "App Path:", -1); +const _hoisted_17 = { class: "text-neutral-200" }; +const _hoisted_18 = { class: "pi pi-info-circle" }; +const _sfc_main$2 = /* @__PURE__ */ defineComponent({ + __name: "InstallLocationPicker", + props: { + "installPath": { required: true }, + "installPathModifiers": {}, + "pathError": { required: true }, + "pathErrorModifiers": {} + }, + emits: ["update:installPath", "update:pathError"], + setup(__props) { + const { t } = useI18n(); + const installPath = useModel(__props, "installPath"); + const pathError = useModel(__props, "pathError"); + const pathExists = ref(false); + const appData = ref(""); + const appPath = ref(""); + const electron = electronAPI(); + onMounted(async () => { + const paths = await electron.getSystemPaths(); + appData.value = paths.appData; + appPath.value = paths.appPath; + installPath.value = paths.defaultInstallPath; + await validatePath(paths.defaultInstallPath); + }); + const validatePath = /* @__PURE__ */ __name(async (path) => { + try { + pathError.value = ""; + pathExists.value = false; + const validation = await electron.validateInstallPath(path); + if (!validation.isValid) { + const errors = []; + if (validation.cannotWrite) errors.push(t("install.cannotWrite")); + if (validation.freeSpace < validation.requiredSpace) { + const requiredGB = validation.requiredSpace / 1024 / 1024 / 1024; + errors.push(`${t("install.insufficientFreeSpace")}: ${requiredGB} GB`); + } + if (validation.parentMissing) errors.push(t("install.parentMissing")); + if (validation.error) + errors.push(`${t("install.unhandledError")}: ${validation.error}`); + pathError.value = errors.join("\n"); + } + if (validation.exists) pathExists.value = true; + } catch (error) { + pathError.value = t("install.pathValidationFailed"); + } + }, "validatePath"); + const browsePath = /* @__PURE__ */ __name(async () => { + try { + const result = await electron.showDirectoryPicker(); + if (result) { + installPath.value = result; + await validatePath(result); + } + } catch (error) { + pathError.value = t("install.failedToSelectDirectory"); + } + }, "browsePath"); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock("div", _hoisted_1$2, [ + createBaseVNode("div", _hoisted_2$2, [ + createBaseVNode("h2", _hoisted_3$2, toDisplayString(_ctx.$t("install.chooseInstallationLocation")), 1), + createBaseVNode("p", _hoisted_4$2, toDisplayString(_ctx.$t("install.installLocationDescription")), 1), + createBaseVNode("div", _hoisted_5$1, [ + createVNode(unref(script$d), { class: "flex-1" }, { + default: withCtx(() => [ + createVNode(unref(script$b), { + modelValue: installPath.value, + "onUpdate:modelValue": [ + _cache[0] || (_cache[0] = ($event) => installPath.value = $event), + validatePath + ], + class: normalizeClass(["w-full", { "p-invalid": pathError.value }]) + }, null, 8, ["modelValue", "class"]), + withDirectives(createVNode(unref(script$c), { class: "pi pi-info-circle" }, null, 512), [ + [_directive_tooltip, _ctx.$t("install.installLocationTooltip")] + ]) + ]), + _: 1 + }), + createVNode(unref(script$e), { + icon: "pi pi-folder", + onClick: browsePath, + class: "w-12" + }) + ]), + pathError.value ? (openBlock(), createBlock(unref(script$f), { + key: 0, + severity: "error", + class: "whitespace-pre-line" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(pathError.value), 1) + ]), + _: 1 + })) : createCommentVNode("", true), + pathExists.value ? (openBlock(), createBlock(unref(script$f), { + key: 1, + severity: "warn" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.pathExists")), 1) + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + createBaseVNode("div", _hoisted_6$1, [ + createBaseVNode("h3", _hoisted_7$1, toDisplayString(_ctx.$t("install.systemLocations")), 1), + createBaseVNode("div", _hoisted_8$1, [ + createBaseVNode("div", _hoisted_9$1, [ + _hoisted_10$1, + _hoisted_11$1, + createBaseVNode("span", _hoisted_12$1, toDisplayString(appData.value), 1), + withDirectives(createBaseVNode("span", _hoisted_13, null, 512), [ + [_directive_tooltip, _ctx.$t("install.appDataLocationTooltip")] + ]) + ]), + createBaseVNode("div", _hoisted_14, [ + _hoisted_15, + _hoisted_16, + createBaseVNode("span", _hoisted_17, toDisplayString(appPath.value), 1), + withDirectives(createBaseVNode("span", _hoisted_18, null, 512), [ + [_directive_tooltip, _ctx.$t("install.appPathLocationTooltip")] + ]) + ]) + ]) + ]) + ]); + }; + } +}); +const _hoisted_1$1 = { class: "flex flex-col gap-6 w-[600px]" }; +const _hoisted_2$1 = { class: "flex flex-col gap-4" }; +const _hoisted_3$1 = { class: "text-2xl font-semibold text-neutral-100" }; +const _hoisted_4$1 = { class: "text-neutral-400 my-0" }; +const _hoisted_5 = { class: "flex gap-2" }; +const _hoisted_6 = { + key: 0, + class: "flex flex-col gap-4 bg-neutral-800 p-4 rounded-lg" +}; +const _hoisted_7 = { class: "text-lg mt-0 font-medium text-neutral-100" }; +const _hoisted_8 = { class: "flex flex-col gap-3" }; +const _hoisted_9 = ["onClick"]; +const _hoisted_10 = ["for"]; +const _hoisted_11 = { class: "text-sm text-neutral-400 my-1" }; +const _hoisted_12 = { + key: 1, + class: "text-neutral-400 italic" +}; +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + __name: "MigrationPicker", + props: { + "sourcePath": { required: false }, + "sourcePathModifiers": {}, + "migrationItemIds": { + required: false + }, + "migrationItemIdsModifiers": {} + }, + emits: ["update:sourcePath", "update:migrationItemIds"], + setup(__props) { + const { t } = useI18n(); + const electron = electronAPI(); + const sourcePath = useModel(__props, "sourcePath"); + const migrationItemIds = useModel(__props, "migrationItemIds"); + const migrationItems = ref( + MigrationItems.map((item) => ({ + ...item, + selected: true + })) + ); + const pathError = ref(""); + const isValidSource = computed( + () => sourcePath.value !== "" && pathError.value === "" + ); + const validateSource = /* @__PURE__ */ __name(async (sourcePath2) => { + if (!sourcePath2) { + pathError.value = ""; + return; + } + try { + pathError.value = ""; + const validation = await electron.validateComfyUISource(sourcePath2); + if (!validation.isValid) pathError.value = validation.error; + } catch (error) { + console.error(error); + pathError.value = t("install.pathValidationFailed"); + } + }, "validateSource"); + const browsePath = /* @__PURE__ */ __name(async () => { + try { + const result = await electron.showDirectoryPicker(); + if (result) { + sourcePath.value = result; + await validateSource(result); + } + } catch (error) { + console.error(error); + pathError.value = t("install.failedToSelectDirectory"); + } + }, "browsePath"); + watchEffect(() => { + migrationItemIds.value = migrationItems.value.filter((item) => item.selected).map((item) => item.id); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$1, [ + createBaseVNode("div", _hoisted_2$1, [ + createBaseVNode("h2", _hoisted_3$1, toDisplayString(_ctx.$t("install.migrateFromExistingInstallation")), 1), + createBaseVNode("p", _hoisted_4$1, toDisplayString(_ctx.$t("install.migrationSourcePathDescription")), 1), + createBaseVNode("div", _hoisted_5, [ + createVNode(unref(script$b), { + modelValue: sourcePath.value, + "onUpdate:modelValue": [ + _cache[0] || (_cache[0] = ($event) => sourcePath.value = $event), + validateSource + ], + placeholder: "Select existing ComfyUI installation (optional)", + class: normalizeClass(["flex-1", { "p-invalid": pathError.value }]) + }, null, 8, ["modelValue", "class"]), + createVNode(unref(script$e), { + icon: "pi pi-folder", + onClick: browsePath, + class: "w-12" + }) + ]), + pathError.value ? (openBlock(), createBlock(unref(script$f), { + key: 0, + severity: "error" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(pathError.value), 1) + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + isValidSource.value ? (openBlock(), createElementBlock("div", _hoisted_6, [ + createBaseVNode("h3", _hoisted_7, toDisplayString(_ctx.$t("install.selectItemsToMigrate")), 1), + createBaseVNode("div", _hoisted_8, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(migrationItems.value, (item) => { + return openBlock(), createElementBlock("div", { + key: item.id, + class: "flex items-center gap-3 p-2 hover:bg-neutral-700 rounded", + onClick: /* @__PURE__ */ __name(($event) => item.selected = !item.selected, "onClick") + }, [ + createVNode(unref(script$g), { + modelValue: item.selected, + "onUpdate:modelValue": /* @__PURE__ */ __name(($event) => item.selected = $event, "onUpdate:modelValue"), + inputId: item.id, + binary: true, + onClick: _cache[1] || (_cache[1] = withModifiers(() => { + }, ["stop"])) + }, null, 8, ["modelValue", "onUpdate:modelValue", "inputId"]), + createBaseVNode("div", null, [ + createBaseVNode("label", { + for: item.id, + class: "text-neutral-200 font-medium" + }, toDisplayString(item.label), 9, _hoisted_10), + createBaseVNode("p", _hoisted_11, toDisplayString(item.description), 1) + ]) + ], 8, _hoisted_9); + }), 128)) + ]) + ])) : (openBlock(), createElementBlock("div", _hoisted_12, toDisplayString(_ctx.$t("install.migrationOptional")), 1)) + ]); + }; + } +}); +const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-de33872d"), n = n(), popScopeId(), n), "_withScopeId"); +const _hoisted_1 = { class: "flex pt-6 justify-end" }; +const _hoisted_2 = { class: "flex pt-6 justify-between" }; +const _hoisted_3 = { class: "flex pt-6 justify-between" }; +const _hoisted_4 = { class: "flex pt-6 justify-between" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "InstallView", + setup(__props) { + const device = ref(null); + const installPath = ref(""); + const pathError = ref(""); + const migrationSourcePath = ref(""); + const migrationItemIds = ref([]); + const autoUpdate = ref(true); + const allowMetrics = ref(true); + const highestStep = ref(0); + const setHighestStep = /* @__PURE__ */ __name((value2) => { + const int = typeof value2 === "number" ? value2 : parseInt(value2, 10); + if (!isNaN(int) && int > highestStep.value) highestStep.value = int; + }, "setHighestStep"); + const hasError = computed(() => pathError.value !== ""); + const noGpu = computed(() => typeof device.value !== "string"); + const electron = electronAPI(); + const router = useRouter(); + const install = /* @__PURE__ */ __name(() => { + const options = { + installPath: installPath.value, + autoUpdate: autoUpdate.value, + allowMetrics: allowMetrics.value, + migrationSourcePath: migrationSourcePath.value, + migrationItemIds: toRaw(migrationItemIds.value), + device: device.value + }; + electron.installComfyUI(options); + const nextPage = options.device === "unsupported" ? "/manual-configuration" : "/server-start"; + router.push(nextPage); + }, "install"); + onMounted(async () => { + if (!electron) return; + const detectedGpu = await electron.Config.getDetectedGpu(); + if (detectedGpu === "mps" || detectedGpu === "nvidia") + device.value = detectedGpu; + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$5, { dark: "" }, { + default: withCtx(() => [ + createVNode(unref(script), { + class: "h-full p-8 2xl:p-16", + value: "0", + "onUpdate:value": setHighestStep + }, { + default: withCtx(() => [ + createVNode(unref(script$4), { class: "select-none" }, { + default: withCtx(() => [ + createVNode(unref(script$5), { value: "0" }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.gpu")), 1) + ]), + _: 1 + }), + createVNode(unref(script$5), { + value: "1", + disabled: noGpu.value + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.installLocation")), 1) + ]), + _: 1 + }, 8, ["disabled"]), + createVNode(unref(script$5), { + value: "2", + disabled: noGpu.value || hasError.value || highestStep.value < 1 + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.migration")), 1) + ]), + _: 1 + }, 8, ["disabled"]), + createVNode(unref(script$5), { + value: "3", + disabled: noGpu.value || hasError.value || highestStep.value < 2 + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.desktopSettings")), 1) + ]), + _: 1 + }, 8, ["disabled"]) + ]), + _: 1 + }), + createVNode(unref(script$2), null, { + default: withCtx(() => [ + createVNode(unref(script$3), { value: "0" }, { + default: withCtx(({ activateCallback }) => [ + createVNode(_sfc_main$3, { + device: device.value, + "onUpdate:device": _cache[0] || (_cache[0] = ($event) => device.value = $event) + }, null, 8, ["device"]), + createBaseVNode("div", _hoisted_1, [ + createVNode(unref(script$e), { + label: _ctx.$t("g.next"), + icon: "pi pi-arrow-right", + iconPos: "right", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("1"), "onClick"), + disabled: typeof device.value !== "string" + }, null, 8, ["label", "onClick", "disabled"]) + ]) + ]), + _: 1 + }), + createVNode(unref(script$3), { value: "1" }, { + default: withCtx(({ activateCallback }) => [ + createVNode(_sfc_main$2, { + installPath: installPath.value, + "onUpdate:installPath": _cache[1] || (_cache[1] = ($event) => installPath.value = $event), + pathError: pathError.value, + "onUpdate:pathError": _cache[2] || (_cache[2] = ($event) => pathError.value = $event) + }, null, 8, ["installPath", "pathError"]), + createBaseVNode("div", _hoisted_2, [ + createVNode(unref(script$e), { + label: _ctx.$t("g.back"), + severity: "secondary", + icon: "pi pi-arrow-left", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("0"), "onClick") + }, null, 8, ["label", "onClick"]), + createVNode(unref(script$e), { + label: _ctx.$t("g.next"), + icon: "pi pi-arrow-right", + iconPos: "right", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("2"), "onClick"), + disabled: pathError.value !== "" + }, null, 8, ["label", "onClick", "disabled"]) + ]) + ]), + _: 1 + }), + createVNode(unref(script$3), { value: "2" }, { + default: withCtx(({ activateCallback }) => [ + createVNode(_sfc_main$1, { + sourcePath: migrationSourcePath.value, + "onUpdate:sourcePath": _cache[3] || (_cache[3] = ($event) => migrationSourcePath.value = $event), + migrationItemIds: migrationItemIds.value, + "onUpdate:migrationItemIds": _cache[4] || (_cache[4] = ($event) => migrationItemIds.value = $event) + }, null, 8, ["sourcePath", "migrationItemIds"]), + createBaseVNode("div", _hoisted_3, [ + createVNode(unref(script$e), { + label: _ctx.$t("g.back"), + severity: "secondary", + icon: "pi pi-arrow-left", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("1"), "onClick") + }, null, 8, ["label", "onClick"]), + createVNode(unref(script$e), { + label: _ctx.$t("g.next"), + icon: "pi pi-arrow-right", + iconPos: "right", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("3"), "onClick") + }, null, 8, ["label", "onClick"]) + ]) + ]), + _: 1 + }), + createVNode(unref(script$3), { value: "3" }, { + default: withCtx(({ activateCallback }) => [ + createVNode(_sfc_main$4, { + autoUpdate: autoUpdate.value, + "onUpdate:autoUpdate": _cache[5] || (_cache[5] = ($event) => autoUpdate.value = $event), + allowMetrics: allowMetrics.value, + "onUpdate:allowMetrics": _cache[6] || (_cache[6] = ($event) => allowMetrics.value = $event) + }, null, 8, ["autoUpdate", "allowMetrics"]), + createBaseVNode("div", _hoisted_4, [ + createVNode(unref(script$e), { + label: _ctx.$t("g.back"), + severity: "secondary", + icon: "pi pi-arrow-left", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("2"), "onClick") + }, null, 8, ["label", "onClick"]), + createVNode(unref(script$e), { + label: _ctx.$t("g.install"), + icon: "pi pi-check", + iconPos: "right", + disabled: hasError.value, + onClick: _cache[7] || (_cache[7] = ($event) => install()) + }, null, 8, ["label", "disabled"]) + ]) + ]), + _: 1 + }) + ]), + _: 1 + }) + ]), + _: 1 + }) + ]), + _: 1 + }); + }; + } +}); +const InstallView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-de33872d"]]); +export { + InstallView as default +}; +//# sourceMappingURL=InstallView-CAcYt0HL.js.map diff --git a/web/assets/InstallView-CwQdoH-C.css b/web/assets/InstallView-CwQdoH-C.css new file mode 100644 index 0000000000000000000000000000000000000000..df57877871a5f91f8a94d6ca163d84c4e66c96c4 --- /dev/null +++ b/web/assets/InstallView-CwQdoH-C.css @@ -0,0 +1,79 @@ + +:root { + --p-tag-gap: 0.5rem; +} +.hover-brighten { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; + transition-property: filter, box-shadow; +&:hover { + filter: brightness(107%) contrast(105%); + box-shadow: 0 0 0.25rem #ffffff79; +} +} +.p-accordioncontent-content { + border-radius: 0.5rem; + --tw-bg-opacity: 1; + background-color: rgb(23 23 23 / var(--tw-bg-opacity)); + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} +div.selected { +.gpu-button:not(.selected) { + opacity: 0.5; +} +.gpu-button:not(.selected):hover { + opacity: 1; +} +} +.gpu-button { + margin: 0px; + display: flex; + width: 50%; + cursor: pointer; + flex-direction: column; + align-items: center; + justify-content: space-around; + border-radius: 0.5rem; + background-color: rgb(38 38 38 / var(--tw-bg-opacity)); + --tw-bg-opacity: 0.5; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} +.gpu-button:hover { + --tw-bg-opacity: 0.75; +} +.gpu-button { +&.selected { + --tw-bg-opacity: 1; + background-color: rgb(64 64 64 / var(--tw-bg-opacity)); +} +&.selected { + --tw-bg-opacity: 0.5; +} +&.selected { + opacity: 1; +} +&.selected:hover { + --tw-bg-opacity: 0.6; +} +} +.disabled { + pointer-events: none; + opacity: 0.4; +} +.p-card-header { + flex-grow: 1; + text-align: center; +} +.p-card-body { + padding-top: 0px; + text-align: center; +} + +[data-v-de33872d] .p-steppanel { + background-color: transparent +} diff --git a/web/assets/KeybindingPanel-Dc3C4lG1.js b/web/assets/KeybindingPanel-Dc3C4lG1.js new file mode 100644 index 0000000000000000000000000000000000000000..6cf204dd270183ad581f1339d6395c9467c83356 --- /dev/null +++ b/web/assets/KeybindingPanel-Dc3C4lG1.js @@ -0,0 +1,284 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, c as computed, o as openBlock, f as createElementBlock, F as Fragment, E as renderList, N as createVNode, M as withCtx, aE as createTextVNode, X as toDisplayString, j as unref, aI as script, I as createCommentVNode, ab as ref, cn as FilterMatchMode, a$ as useKeybindingStore, a2 as useCommandStore, a1 as useI18n, af as normalizeI18nKey, w as watchEffect, bs as useToast, r as resolveDirective, k as createBlock, co as SearchBox, H as createBaseVNode, l as script$2, av as script$4, bM as withModifiers, bZ as script$5, aP as script$6, i as withDirectives, cp as _sfc_main$2, aL as pushScopeId, aM as popScopeId, cq as KeyComboImpl, cr as KeybindingImpl, _ as _export_sfc } from "./index-DjNHn37O.js"; +import { s as script$1, a as script$3 } from "./index-B5F0uxTQ.js"; +import { u as useKeybindingService } from "./keybindingService-Bx7YdkXn.js"; +import "./index-B-aVupP5.js"; +import "./index-5HFeZax4.js"; +const _hoisted_1$1 = { + key: 0, + class: "px-2" +}; +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + __name: "KeyComboDisplay", + props: { + keyCombo: {}, + isModified: { type: Boolean, default: false } + }, + setup(__props) { + const props = __props; + const keySequences = computed(() => props.keyCombo.getKeySequences()); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("span", null, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(keySequences.value, (sequence, index) => { + return openBlock(), createElementBlock(Fragment, { key: index }, [ + createVNode(unref(script), { + severity: _ctx.isModified ? "info" : "secondary" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(sequence), 1) + ]), + _: 2 + }, 1032, ["severity"]), + index < keySequences.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_1$1, "+")) : createCommentVNode("", true) + ], 64); + }), 128)) + ]); + }; + } +}); +const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-2554ab36"), n = n(), popScopeId(), n), "_withScopeId"); +const _hoisted_1 = { class: "actions invisible flex flex-row" }; +const _hoisted_2 = ["title"]; +const _hoisted_3 = { key: 1 }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "KeybindingPanel", + setup(__props) { + const filters = ref({ + global: { value: "", matchMode: FilterMatchMode.CONTAINS } + }); + const keybindingStore = useKeybindingStore(); + const keybindingService = useKeybindingService(); + const commandStore = useCommandStore(); + const { t } = useI18n(); + const commandsData = computed(() => { + return Object.values(commandStore.commands).map((command) => ({ + id: command.id, + label: t(`commands.${normalizeI18nKey(command.id)}.label`, command.label), + keybinding: keybindingStore.getKeybindingByCommandId(command.id) + })); + }); + const selectedCommandData = ref(null); + const editDialogVisible = ref(false); + const newBindingKeyCombo = ref(null); + const currentEditingCommand = ref(null); + const keybindingInput = ref(null); + const existingKeybindingOnCombo = computed(() => { + if (!currentEditingCommand.value) { + return null; + } + if (currentEditingCommand.value.keybinding?.combo?.equals( + newBindingKeyCombo.value + )) { + return null; + } + if (!newBindingKeyCombo.value) { + return null; + } + return keybindingStore.getKeybinding(newBindingKeyCombo.value); + }); + function editKeybinding(commandData) { + currentEditingCommand.value = commandData; + newBindingKeyCombo.value = commandData.keybinding ? commandData.keybinding.combo : null; + editDialogVisible.value = true; + } + __name(editKeybinding, "editKeybinding"); + watchEffect(() => { + if (editDialogVisible.value) { + setTimeout(() => { + keybindingInput.value?.$el?.focus(); + }, 300); + } + }); + function removeKeybinding(commandData) { + if (commandData.keybinding) { + keybindingStore.unsetKeybinding(commandData.keybinding); + keybindingService.persistUserKeybindings(); + } + } + __name(removeKeybinding, "removeKeybinding"); + function captureKeybinding(event) { + const keyCombo = KeyComboImpl.fromEvent(event); + newBindingKeyCombo.value = keyCombo; + } + __name(captureKeybinding, "captureKeybinding"); + function cancelEdit() { + editDialogVisible.value = false; + currentEditingCommand.value = null; + newBindingKeyCombo.value = null; + } + __name(cancelEdit, "cancelEdit"); + function saveKeybinding() { + if (currentEditingCommand.value && newBindingKeyCombo.value) { + const updated = keybindingStore.updateKeybindingOnCommand( + new KeybindingImpl({ + commandId: currentEditingCommand.value.id, + combo: newBindingKeyCombo.value + }) + ); + if (updated) { + keybindingService.persistUserKeybindings(); + } + } + cancelEdit(); + } + __name(saveKeybinding, "saveKeybinding"); + const toast = useToast(); + async function resetKeybindings() { + keybindingStore.resetKeybindings(); + await keybindingService.persistUserKeybindings(); + toast.add({ + severity: "info", + summary: "Info", + detail: "Keybindings reset", + life: 3e3 + }); + } + __name(resetKeybindings, "resetKeybindings"); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createBlock(_sfc_main$2, { + value: "Keybinding", + class: "keybinding-panel" + }, { + header: withCtx(() => [ + createVNode(SearchBox, { + modelValue: filters.value["global"].value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => filters.value["global"].value = $event), + placeholder: _ctx.$t("g.searchKeybindings") + "..." + }, null, 8, ["modelValue", "placeholder"]) + ]), + default: withCtx(() => [ + createVNode(unref(script$3), { + value: commandsData.value, + selection: selectedCommandData.value, + "onUpdate:selection": _cache[1] || (_cache[1] = ($event) => selectedCommandData.value = $event), + "global-filter-fields": ["id"], + filters: filters.value, + selectionMode: "single", + stripedRows: "", + pt: { + header: "px-0" + } + }, { + default: withCtx(() => [ + createVNode(unref(script$1), { + field: "actions", + header: "" + }, { + body: withCtx((slotProps) => [ + createBaseVNode("div", _hoisted_1, [ + createVNode(unref(script$2), { + icon: "pi pi-pencil", + class: "p-button-text", + onClick: /* @__PURE__ */ __name(($event) => editKeybinding(slotProps.data), "onClick") + }, null, 8, ["onClick"]), + createVNode(unref(script$2), { + icon: "pi pi-trash", + class: "p-button-text p-button-danger", + onClick: /* @__PURE__ */ __name(($event) => removeKeybinding(slotProps.data), "onClick"), + disabled: !slotProps.data.keybinding + }, null, 8, ["onClick", "disabled"]) + ]) + ]), + _: 1 + }), + createVNode(unref(script$1), { + field: "id", + header: _ctx.$t("g.command"), + sortable: "", + class: "max-w-64 2xl:max-w-full" + }, { + body: withCtx((slotProps) => [ + createBaseVNode("div", { + class: "overflow-hidden text-ellipsis whitespace-nowrap", + title: slotProps.data.id + }, toDisplayString(slotProps.data.label), 9, _hoisted_2) + ]), + _: 1 + }, 8, ["header"]), + createVNode(unref(script$1), { + field: "keybinding", + header: _ctx.$t("g.keybinding") + }, { + body: withCtx((slotProps) => [ + slotProps.data.keybinding ? (openBlock(), createBlock(_sfc_main$1, { + key: 0, + keyCombo: slotProps.data.keybinding.combo, + isModified: unref(keybindingStore).isCommandKeybindingModified(slotProps.data.id) + }, null, 8, ["keyCombo", "isModified"])) : (openBlock(), createElementBlock("span", _hoisted_3, "-")) + ]), + _: 1 + }, 8, ["header"]) + ]), + _: 1 + }, 8, ["value", "selection", "filters"]), + createVNode(unref(script$6), { + class: "min-w-96", + visible: editDialogVisible.value, + "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => editDialogVisible.value = $event), + modal: "", + header: currentEditingCommand.value?.id, + onHide: cancelEdit + }, { + footer: withCtx(() => [ + createVNode(unref(script$2), { + label: "Save", + icon: "pi pi-check", + onClick: saveKeybinding, + disabled: !!existingKeybindingOnCombo.value, + autofocus: "" + }, null, 8, ["disabled"]) + ]), + default: withCtx(() => [ + createBaseVNode("div", null, [ + createVNode(unref(script$4), { + class: "mb-2 text-center", + ref_key: "keybindingInput", + ref: keybindingInput, + modelValue: newBindingKeyCombo.value?.toString() ?? "", + placeholder: "Press keys for new binding", + onKeydown: withModifiers(captureKeybinding, ["stop", "prevent"]), + autocomplete: "off", + fluid: "", + invalid: !!existingKeybindingOnCombo.value + }, null, 8, ["modelValue", "invalid"]), + existingKeybindingOnCombo.value ? (openBlock(), createBlock(unref(script$5), { + key: 0, + severity: "error" + }, { + default: withCtx(() => [ + createTextVNode(" Keybinding already exists on "), + createVNode(unref(script), { + severity: "secondary", + value: existingKeybindingOnCombo.value.commandId + }, null, 8, ["value"]) + ]), + _: 1 + })) : createCommentVNode("", true) + ]) + ]), + _: 1 + }, 8, ["visible", "header"]), + withDirectives(createVNode(unref(script$2), { + class: "mt-4", + label: _ctx.$t("g.reset"), + icon: "pi pi-trash", + severity: "danger", + fluid: "", + text: "", + onClick: resetKeybindings + }, null, 8, ["label"]), [ + [_directive_tooltip, _ctx.$t("g.resetKeybindingsTooltip")] + ]) + ]), + _: 1 + }); + }; + } +}); +const KeybindingPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2554ab36"]]); +export { + KeybindingPanel as default +}; +//# sourceMappingURL=KeybindingPanel-Dc3C4lG1.js.map diff --git a/web/assets/KeybindingPanel-DvrUYZ4S.css b/web/assets/KeybindingPanel-DvrUYZ4S.css new file mode 100644 index 0000000000000000000000000000000000000000..8f714bcdb23354709065ecbcdf000161e9e2eac1 --- /dev/null +++ b/web/assets/KeybindingPanel-DvrUYZ4S.css @@ -0,0 +1,8 @@ + +[data-v-2554ab36] .p-datatable-tbody > tr > td { + padding: 0.25rem; + min-height: 2rem +} +[data-v-2554ab36] .p-datatable-row-selected .actions,[data-v-2554ab36] .p-datatable-selectable-row:hover .actions { + visibility: visible +} diff --git a/web/assets/ManualConfigurationView-B6ecEClB.css b/web/assets/ManualConfigurationView-B6ecEClB.css new file mode 100644 index 0000000000000000000000000000000000000000..06a5cc3e82850209e7e40364c2d7e24d6a313ac3 --- /dev/null +++ b/web/assets/ManualConfigurationView-B6ecEClB.css @@ -0,0 +1,7 @@ + +:root { + --p-tag-gap: 0.5rem; +} +.comfy-installer { + margin-top: max(1rem, max(0px, calc((100vh - 42rem) * 0.5))); +} diff --git a/web/assets/ManualConfigurationView-Bi_qHE-n.js b/web/assets/ManualConfigurationView-Bi_qHE-n.js new file mode 100644 index 0000000000000000000000000000000000000000..233f20fa77734b2082859cfd92ea474971e9a020 --- /dev/null +++ b/web/assets/ManualConfigurationView-Bi_qHE-n.js @@ -0,0 +1,75 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, a1 as useI18n, ab as ref, m as onMounted, o as openBlock, k as createBlock, M as withCtx, H as createBaseVNode, X as toDisplayString, N as createVNode, j as unref, aI as script, l as script$2, c0 as electronAPI } from "./index-DjNHn37O.js"; +import { s as script$1 } from "./index-jXPKy3pP.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-BNGF4K22.js"; +import "./index-5HFeZax4.js"; +const _hoisted_1 = { class: "comfy-installer grow flex flex-col gap-4 text-neutral-300 max-w-110" }; +const _hoisted_2 = { class: "text-2xl font-semibold text-neutral-100" }; +const _hoisted_3 = { class: "m-1 text-neutral-300" }; +const _hoisted_4 = { class: "ml-2" }; +const _hoisted_5 = { class: "m-1 mb-4" }; +const _hoisted_6 = { class: "m-0" }; +const _hoisted_7 = { class: "m-1" }; +const _hoisted_8 = { class: "font-mono" }; +const _hoisted_9 = { class: "m-1" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ManualConfigurationView", + setup(__props) { + const { t } = useI18n(); + const electron = electronAPI(); + const basePath = ref(null); + const sep = ref("/"); + const restartApp = /* @__PURE__ */ __name((message) => electron.restartApp(message), "restartApp"); + onMounted(async () => { + basePath.value = await electron.getBasePath(); + if (basePath.value.indexOf("/") === -1) sep.value = "\\"; + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$1, { dark: "" }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + createBaseVNode("h2", _hoisted_2, toDisplayString(_ctx.$t("install.manualConfiguration.title")), 1), + createBaseVNode("p", _hoisted_3, [ + createVNode(unref(script), { + icon: "pi pi-exclamation-triangle", + severity: "warn", + value: unref(t)("icon.exclamation-triangle") + }, null, 8, ["value"]), + createBaseVNode("strong", _hoisted_4, toDisplayString(_ctx.$t("install.gpuSelection.customComfyNeedsPython")), 1) + ]), + createBaseVNode("div", null, [ + createBaseVNode("p", _hoisted_5, toDisplayString(_ctx.$t("install.manualConfiguration.requirements")) + ": ", 1), + createBaseVNode("ul", _hoisted_6, [ + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customManualVenv")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customInstallRequirements")), 1) + ]) + ]), + createBaseVNode("p", _hoisted_7, toDisplayString(_ctx.$t("install.manualConfiguration.createVenv")) + ":", 1), + createVNode(unref(script$1), { + header: unref(t)("install.manualConfiguration.virtualEnvironmentPath") + }, { + default: withCtx(() => [ + createBaseVNode("span", _hoisted_8, toDisplayString(`${basePath.value}${sep.value}.venv${sep.value}`), 1) + ]), + _: 1 + }, 8, ["header"]), + createBaseVNode("p", _hoisted_9, toDisplayString(_ctx.$t("install.manualConfiguration.restartWhenFinished")), 1), + createVNode(unref(script$2), { + class: "place-self-end", + label: unref(t)("menuLabels.Restart"), + severity: "warn", + icon: "pi pi-refresh", + onClick: _cache[0] || (_cache[0] = ($event) => restartApp("Manual configuration complete")) + }, null, 8, ["label"]) + ]) + ]), + _: 1 + }); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=ManualConfigurationView-Bi_qHE-n.js.map diff --git a/web/assets/NotSupportedView-Drz3x2d-.js b/web/assets/NotSupportedView-Drz3x2d-.js new file mode 100644 index 0000000000000000000000000000000000000000..a24af84a243dc7d287a19cfad0b203b7b7e83802 --- /dev/null +++ b/web/assets/NotSupportedView-Drz3x2d-.js @@ -0,0 +1,86 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, bW as useRouter, r as resolveDirective, o as openBlock, k as createBlock, M as withCtx, H as createBaseVNode, X as toDisplayString, N as createVNode, j as unref, l as script, i as withDirectives } from "./index-DjNHn37O.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-BNGF4K22.js"; +const _imports_0 = "" + new URL("images/sad_girl.png", import.meta.url).href; +const _hoisted_1 = { class: "sad-container" }; +const _hoisted_2 = /* @__PURE__ */ createBaseVNode("img", { + class: "sad-girl", + src: _imports_0, + alt: "Sad girl illustration" +}, null, -1); +const _hoisted_3 = { class: "no-drag sad-text flex items-center" }; +const _hoisted_4 = { class: "flex flex-col gap-8 p-8 min-w-110" }; +const _hoisted_5 = { class: "text-4xl font-bold text-red-500" }; +const _hoisted_6 = { class: "space-y-4" }; +const _hoisted_7 = { class: "text-xl" }; +const _hoisted_8 = { class: "list-disc list-inside space-y-1 text-neutral-800" }; +const _hoisted_9 = { class: "flex gap-4" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "NotSupportedView", + setup(__props) { + const openDocs = /* @__PURE__ */ __name(() => { + window.open( + "https://github.com/Comfy-Org/desktop#currently-supported-platforms", + "_blank" + ); + }, "openDocs"); + const reportIssue = /* @__PURE__ */ __name(() => { + window.open("https://forum.comfy.org/c/v1-feedback/", "_blank"); + }, "reportIssue"); + const router = useRouter(); + const continueToInstall = /* @__PURE__ */ __name(() => { + router.push("/install"); + }, "continueToInstall"); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createBlock(_sfc_main$1, null, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + _hoisted_2, + createBaseVNode("div", _hoisted_3, [ + createBaseVNode("div", _hoisted_4, [ + createBaseVNode("h1", _hoisted_5, toDisplayString(_ctx.$t("notSupported.title")), 1), + createBaseVNode("div", _hoisted_6, [ + createBaseVNode("p", _hoisted_7, toDisplayString(_ctx.$t("notSupported.message")), 1), + createBaseVNode("ul", _hoisted_8, [ + createBaseVNode("li", null, toDisplayString(_ctx.$t("notSupported.supportedDevices.macos")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("notSupported.supportedDevices.windows")), 1) + ]) + ]), + createBaseVNode("div", _hoisted_9, [ + createVNode(unref(script), { + label: _ctx.$t("notSupported.learnMore"), + icon: "pi pi-github", + onClick: openDocs, + severity: "secondary" + }, null, 8, ["label"]), + createVNode(unref(script), { + label: _ctx.$t("notSupported.reportIssue"), + icon: "pi pi-flag", + onClick: reportIssue, + severity: "secondary" + }, null, 8, ["label"]), + withDirectives(createVNode(unref(script), { + label: _ctx.$t("notSupported.continue"), + icon: "pi pi-arrow-right", + iconPos: "right", + onClick: continueToInstall, + severity: "danger" + }, null, 8, ["label"]), [ + [_directive_tooltip, _ctx.$t("notSupported.continueTooltip")] + ]) + ]) + ]) + ]) + ]) + ]), + _: 1 + }); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=NotSupportedView-Drz3x2d-.js.map diff --git a/web/assets/NotSupportedView-bFzHmqNj.css b/web/assets/NotSupportedView-bFzHmqNj.css new file mode 100644 index 0000000000000000000000000000000000000000..80ac329829b5c6dafd8b7ab3f899798bfb08bddc --- /dev/null +++ b/web/assets/NotSupportedView-bFzHmqNj.css @@ -0,0 +1,17 @@ + +.sad-container { + display: grid; + align-items: center; + justify-content: space-evenly; + grid-template-columns: 25rem 1fr; +& > * { + grid-row: 1; +} +} +.sad-text { + grid-column: 1/3; +} +.sad-girl { + grid-column: 2/3; + width: min(75vw, 100vh); +} diff --git a/web/assets/ServerConfigPanel-Be4StJmv.js b/web/assets/ServerConfigPanel-Be4StJmv.js new file mode 100644 index 0000000000000000000000000000000000000000..e84d2d43a09a53ad49da73722027b48231fb2afa --- /dev/null +++ b/web/assets/ServerConfigPanel-Be4StJmv.js @@ -0,0 +1,158 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { H as createBaseVNode, o as openBlock, f as createElementBlock, Z as markRaw, d as defineComponent, a as useSettingStore, aS as storeToRefs, a5 as watch, cO as useCopyToClipboard, a1 as useI18n, k as createBlock, M as withCtx, j as unref, bZ as script, X as toDisplayString, E as renderList, F as Fragment, N as createVNode, l as script$1, I as createCommentVNode, bQ as script$2, cP as FormItem, cp as _sfc_main$1, c0 as electronAPI } from "./index-DjNHn37O.js"; +import { u as useServerConfigStore } from "./serverConfigStore-CvyKFVuP.js"; +const _hoisted_1$1 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$1 = /* @__PURE__ */ createBaseVNode("path", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2", + d: "m4 17l6-6l-6-6m8 14h8" +}, null, -1); +const _hoisted_3$1 = [ + _hoisted_2$1 +]; +function render(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$1, [..._hoisted_3$1]); +} +__name(render, "render"); +const __unplugin_components_0 = markRaw({ name: "lucide-terminal", render }); +const _hoisted_1 = { class: "flex flex-col gap-2" }; +const _hoisted_2 = { class: "flex justify-end gap-2" }; +const _hoisted_3 = { class: "flex items-center justify-between" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ServerConfigPanel", + setup(__props) { + const settingStore = useSettingStore(); + const serverConfigStore = useServerConfigStore(); + const { + serverConfigsByCategory, + serverConfigValues, + launchArgs, + commandLineArgs, + modifiedConfigs + } = storeToRefs(serverConfigStore); + const revertChanges = /* @__PURE__ */ __name(() => { + serverConfigStore.revertChanges(); + }, "revertChanges"); + const restartApp = /* @__PURE__ */ __name(() => { + electronAPI().restartApp(); + }, "restartApp"); + watch(launchArgs, (newVal) => { + settingStore.set("Comfy.Server.LaunchArgs", newVal); + }); + watch(serverConfigValues, (newVal) => { + settingStore.set("Comfy.Server.ServerConfigValues", newVal); + }); + const { copyToClipboard } = useCopyToClipboard(); + const copyCommandLineArgs = /* @__PURE__ */ __name(async () => { + await copyToClipboard(commandLineArgs.value); + }, "copyCommandLineArgs"); + const { t } = useI18n(); + const translateItem = /* @__PURE__ */ __name((item) => { + return { + ...item, + name: t(`serverConfigItems.${item.id}.name`, item.name), + tooltip: item.tooltip ? t(`serverConfigItems.${item.id}.tooltip`, item.tooltip) : void 0 + }; + }, "translateItem"); + return (_ctx, _cache) => { + const _component_i_lucide58terminal = __unplugin_components_0; + return openBlock(), createBlock(_sfc_main$1, { + value: "Server-Config", + class: "server-config-panel" + }, { + header: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + unref(modifiedConfigs).length > 0 ? (openBlock(), createBlock(unref(script), { + key: 0, + severity: "info", + "pt:text": "w-full" + }, { + default: withCtx(() => [ + createBaseVNode("p", null, toDisplayString(_ctx.$t("serverConfig.modifiedConfigs")), 1), + createBaseVNode("ul", null, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(modifiedConfigs), (config) => { + return openBlock(), createElementBlock("li", { + key: config.id + }, toDisplayString(config.name) + ": " + toDisplayString(config.initialValue) + " → " + toDisplayString(config.value), 1); + }), 128)) + ]), + createBaseVNode("div", _hoisted_2, [ + createVNode(unref(script$1), { + label: _ctx.$t("serverConfig.revertChanges"), + onClick: revertChanges, + outlined: "" + }, null, 8, ["label"]), + createVNode(unref(script$1), { + label: _ctx.$t("serverConfig.restart"), + onClick: restartApp, + outlined: "", + severity: "danger" + }, null, 8, ["label"]) + ]) + ]), + _: 1 + })) : createCommentVNode("", true), + unref(commandLineArgs) ? (openBlock(), createBlock(unref(script), { + key: 1, + severity: "secondary", + "pt:text": "w-full" + }, { + icon: withCtx(() => [ + createVNode(_component_i_lucide58terminal, { class: "text-xl font-bold" }) + ]), + default: withCtx(() => [ + createBaseVNode("div", _hoisted_3, [ + createBaseVNode("p", null, toDisplayString(unref(commandLineArgs)), 1), + createVNode(unref(script$1), { + icon: "pi pi-clipboard", + onClick: copyCommandLineArgs, + severity: "secondary", + text: "" + }) + ]) + ]), + _: 1 + })) : createCommentVNode("", true) + ]) + ]), + default: withCtx(() => [ + (openBlock(true), createElementBlock(Fragment, null, renderList(Object.entries(unref(serverConfigsByCategory)), ([label, items], i) => { + return openBlock(), createElementBlock("div", { key: label }, [ + i > 0 ? (openBlock(), createBlock(unref(script$2), { key: 0 })) : createCommentVNode("", true), + createBaseVNode("h3", null, toDisplayString(_ctx.$t(`serverConfigCategories.${label}`, label)), 1), + (openBlock(true), createElementBlock(Fragment, null, renderList(items, (item) => { + return openBlock(), createElementBlock("div", { + key: item.name, + class: "mb-4" + }, [ + createVNode(FormItem, { + item: translateItem(item), + formValue: item.value, + "onUpdate:formValue": /* @__PURE__ */ __name(($event) => item.value = $event, "onUpdate:formValue"), + id: item.id, + labelClass: { + "text-highlight": item.initialValue !== item.value + } + }, null, 8, ["item", "formValue", "onUpdate:formValue", "id", "labelClass"]) + ]); + }), 128)) + ]); + }), 128)) + ]), + _: 1 + }); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=ServerConfigPanel-Be4StJmv.js.map diff --git a/web/assets/ServerStartView-CIDTUh4x.js b/web/assets/ServerStartView-CIDTUh4x.js new file mode 100644 index 0000000000000000000000000000000000000000..6567eea213feda4aa4a9a157cacaf428bba60fe7 --- /dev/null +++ b/web/assets/ServerStartView-CIDTUh4x.js @@ -0,0 +1,98 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, a1 as useI18n, ab as ref, b_ as ProgressStatus, m as onMounted, o as openBlock, k as createBlock, M as withCtx, H as createBaseVNode, aE as createTextVNode, X as toDisplayString, j as unref, f as createElementBlock, I as createCommentVNode, N as createVNode, l as script, i as withDirectives, v as vShow, b$ as BaseTerminal, aL as pushScopeId, aM as popScopeId, c0 as electronAPI, _ as _export_sfc } from "./index-DjNHn37O.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-BNGF4K22.js"; +const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-42c1131d"), n = n(), popScopeId(), n), "_withScopeId"); +const _hoisted_1 = { class: "text-2xl font-bold" }; +const _hoisted_2 = { key: 0 }; +const _hoisted_3 = { + key: 0, + class: "flex flex-col items-center gap-4" +}; +const _hoisted_4 = { class: "flex items-center my-4 gap-2" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ServerStartView", + setup(__props) { + const electron = electronAPI(); + const { t } = useI18n(); + const status = ref(ProgressStatus.INITIAL_STATE); + const electronVersion = ref(""); + let xterm; + const terminalVisible = ref(true); + const updateProgress = /* @__PURE__ */ __name(({ status: newStatus }) => { + status.value = newStatus; + if (newStatus === ProgressStatus.ERROR) terminalVisible.value = false; + else xterm?.clear(); + }, "updateProgress"); + const terminalCreated = /* @__PURE__ */ __name(({ terminal, useAutoSize }, root) => { + xterm = terminal; + useAutoSize(root, true, true); + electron.onLogMessage((message) => { + terminal.write(message); + }); + terminal.options.cursorBlink = false; + terminal.options.disableStdin = true; + terminal.options.cursorInactiveStyle = "block"; + }, "terminalCreated"); + const reinstall = /* @__PURE__ */ __name(() => electron.reinstall(), "reinstall"); + const reportIssue = /* @__PURE__ */ __name(() => { + window.open("https://forum.comfy.org/c/v1-feedback/", "_blank"); + }, "reportIssue"); + const openLogs = /* @__PURE__ */ __name(() => electron.openLogsFolder(), "openLogs"); + onMounted(async () => { + electron.sendReady(); + electron.onProgressUpdate(updateProgress); + electronVersion.value = await electron.getElectronVersion(); + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$1, { + dark: "", + class: "flex-col" + }, { + default: withCtx(() => [ + createBaseVNode("h2", _hoisted_1, [ + createTextVNode(toDisplayString(unref(t)(`serverStart.process.${status.value}`)) + " ", 1), + status.value === unref(ProgressStatus).ERROR ? (openBlock(), createElementBlock("span", _hoisted_2, " v" + toDisplayString(electronVersion.value), 1)) : createCommentVNode("", true) + ]), + status.value === unref(ProgressStatus).ERROR ? (openBlock(), createElementBlock("div", _hoisted_3, [ + createBaseVNode("div", _hoisted_4, [ + createVNode(unref(script), { + icon: "pi pi-flag", + severity: "secondary", + label: unref(t)("serverStart.reportIssue"), + onClick: reportIssue + }, null, 8, ["label"]), + createVNode(unref(script), { + icon: "pi pi-file", + severity: "secondary", + label: unref(t)("serverStart.openLogs"), + onClick: openLogs + }, null, 8, ["label"]), + createVNode(unref(script), { + icon: "pi pi-refresh", + label: unref(t)("serverStart.reinstall"), + onClick: reinstall + }, null, 8, ["label"]) + ]), + !terminalVisible.value ? (openBlock(), createBlock(unref(script), { + key: 0, + icon: "pi pi-search", + severity: "secondary", + label: unref(t)("serverStart.showTerminal"), + onClick: _cache[0] || (_cache[0] = ($event) => terminalVisible.value = true) + }, null, 8, ["label"])) : createCommentVNode("", true) + ])) : createCommentVNode("", true), + withDirectives(createVNode(BaseTerminal, { onCreated: terminalCreated }, null, 512), [ + [vShow, terminalVisible.value] + ]) + ]), + _: 1 + }); + }; + } +}); +const ServerStartView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-42c1131d"]]); +export { + ServerStartView as default +}; +//# sourceMappingURL=ServerStartView-CIDTUh4x.js.map diff --git a/web/assets/ServerStartView-CnyN4Ib6.css b/web/assets/ServerStartView-CnyN4Ib6.css new file mode 100644 index 0000000000000000000000000000000000000000..60a63414f7f9b327cdb000524b35f2f7c41069c6 --- /dev/null +++ b/web/assets/ServerStartView-CnyN4Ib6.css @@ -0,0 +1,5 @@ + +[data-v-42c1131d] .xterm-helper-textarea { + /* Hide this as it moves all over when uv is running */ + display: none; +} diff --git a/web/assets/UserSelectView-B3jYchWu.js b/web/assets/UserSelectView-B3jYchWu.js new file mode 100644 index 0000000000000000000000000000000000000000..9d2dda86c280d4e88f7d0e5627d30207276007b1 --- /dev/null +++ b/web/assets/UserSelectView-B3jYchWu.js @@ -0,0 +1,102 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, aX as useUserStore, bW as useRouter, ab as ref, c as computed, m as onMounted, o as openBlock, k as createBlock, M as withCtx, H as createBaseVNode, X as toDisplayString, N as createVNode, bX as withKeys, j as unref, av as script, bQ as script$1, bY as script$2, bZ as script$3, aE as createTextVNode, I as createCommentVNode, l as script$4 } from "./index-DjNHn37O.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-BNGF4K22.js"; +const _hoisted_1 = { + id: "comfy-user-selection", + class: "min-w-84 relative rounded-lg bg-[var(--comfy-menu-bg)] p-5 px-10 shadow-lg" +}; +const _hoisted_2 = /* @__PURE__ */ createBaseVNode("h1", { class: "my-2.5 mb-7 font-normal" }, "ComfyUI", -1); +const _hoisted_3 = { class: "flex w-full flex-col items-center" }; +const _hoisted_4 = { class: "flex w-full flex-col gap-2" }; +const _hoisted_5 = { for: "new-user-input" }; +const _hoisted_6 = { class: "flex w-full flex-col gap-2" }; +const _hoisted_7 = { for: "existing-user-select" }; +const _hoisted_8 = { class: "mt-5" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "UserSelectView", + setup(__props) { + const userStore = useUserStore(); + const router = useRouter(); + const selectedUser = ref(null); + const newUsername = ref(""); + const loginError = ref(""); + const createNewUser = computed(() => newUsername.value.trim() !== ""); + const newUserExistsError = computed(() => { + return userStore.users.find((user) => user.username === newUsername.value) ? `User "${newUsername.value}" already exists` : ""; + }); + const error = computed(() => newUserExistsError.value || loginError.value); + const login = /* @__PURE__ */ __name(async () => { + try { + const user = createNewUser.value ? await userStore.createUser(newUsername.value) : selectedUser.value; + if (!user) { + throw new Error("No user selected"); + } + userStore.login(user); + router.push("/"); + } catch (err) { + loginError.value = err.message ?? JSON.stringify(err); + } + }, "login"); + onMounted(async () => { + if (!userStore.initialized) { + await userStore.initialize(); + } + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$1, { dark: "" }, { + default: withCtx(() => [ + createBaseVNode("main", _hoisted_1, [ + _hoisted_2, + createBaseVNode("div", _hoisted_3, [ + createBaseVNode("div", _hoisted_4, [ + createBaseVNode("label", _hoisted_5, toDisplayString(_ctx.$t("userSelect.newUser")) + ":", 1), + createVNode(unref(script), { + id: "new-user-input", + modelValue: newUsername.value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => newUsername.value = $event), + placeholder: _ctx.$t("userSelect.enterUsername"), + onKeyup: withKeys(login, ["enter"]) + }, null, 8, ["modelValue", "placeholder"]) + ]), + createVNode(unref(script$1)), + createBaseVNode("div", _hoisted_6, [ + createBaseVNode("label", _hoisted_7, toDisplayString(_ctx.$t("userSelect.existingUser")) + ":", 1), + createVNode(unref(script$2), { + modelValue: selectedUser.value, + "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => selectedUser.value = $event), + class: "w-full", + inputId: "existing-user-select", + options: unref(userStore).users, + "option-label": "username", + placeholder: _ctx.$t("userSelect.selectUser"), + disabled: createNewUser.value + }, null, 8, ["modelValue", "options", "placeholder", "disabled"]), + error.value ? (openBlock(), createBlock(unref(script$3), { + key: 0, + severity: "error" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(error.value), 1) + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + createBaseVNode("footer", _hoisted_8, [ + createVNode(unref(script$4), { + label: _ctx.$t("userSelect.next"), + onClick: login + }, null, 8, ["label"]) + ]) + ]) + ]) + ]), + _: 1 + }); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=UserSelectView-B3jYchWu.js.map diff --git a/web/assets/WelcomeView-Brz3-luE.css b/web/assets/WelcomeView-Brz3-luE.css new file mode 100644 index 0000000000000000000000000000000000000000..522f34388e7e75d77a208922fa75b5fb5ec29af7 --- /dev/null +++ b/web/assets/WelcomeView-Brz3-luE.css @@ -0,0 +1,36 @@ + +.animated-gradient-text[data-v-7dfaf74c] { + font-weight: 700; + font-size: clamp(2rem, 8vw, 4rem); + background: linear-gradient(to right, #12c2e9, #c471ed, #f64f59, #12c2e9); + background-size: 300% auto; + background-clip: text; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + animation: gradient-7dfaf74c 8s linear infinite; +} +.text-glow[data-v-7dfaf74c] { + filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.3)); +} +@keyframes gradient-7dfaf74c { +0% { + background-position: 0% center; +} +100% { + background-position: 300% center; +} +} +.fade-in-up[data-v-7dfaf74c] { + animation: fadeInUp-7dfaf74c 1.5s ease-out; + animation-fill-mode: both; +} +@keyframes fadeInUp-7dfaf74c { +0% { + opacity: 0; + transform: translateY(20px); +} +100% { + opacity: 1; + transform: translateY(0); +} +} diff --git a/web/assets/WelcomeView-N0ZXLjdi.js b/web/assets/WelcomeView-N0ZXLjdi.js new file mode 100644 index 0000000000000000000000000000000000000000..bec1292ec37be34899bc88176ee3f222a4861d86 --- /dev/null +++ b/web/assets/WelcomeView-N0ZXLjdi.js @@ -0,0 +1,40 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, bW as useRouter, o as openBlock, k as createBlock, M as withCtx, H as createBaseVNode, X as toDisplayString, N as createVNode, j as unref, l as script, aL as pushScopeId, aM as popScopeId, _ as _export_sfc } from "./index-DjNHn37O.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-BNGF4K22.js"; +const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-7dfaf74c"), n = n(), popScopeId(), n), "_withScopeId"); +const _hoisted_1 = { class: "flex flex-col items-center justify-center gap-8 p-8" }; +const _hoisted_2 = { class: "animated-gradient-text text-glow select-none" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "WelcomeView", + setup(__props) { + const router = useRouter(); + const navigateTo = /* @__PURE__ */ __name((path) => { + router.push(path); + }, "navigateTo"); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$1, { dark: "" }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + createBaseVNode("h1", _hoisted_2, toDisplayString(_ctx.$t("welcome.title")), 1), + createVNode(unref(script), { + label: _ctx.$t("welcome.getStarted"), + icon: "pi pi-arrow-right", + iconPos: "right", + size: "large", + rounded: "", + onClick: _cache[0] || (_cache[0] = ($event) => navigateTo("/install")), + class: "p-4 text-lg fade-in-up" + }, null, 8, ["label"]) + ]) + ]), + _: 1 + }); + }; + } +}); +const WelcomeView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7dfaf74c"]]); +export { + WelcomeView as default +}; +//# sourceMappingURL=WelcomeView-N0ZXLjdi.js.map diff --git a/web/assets/images/Git-Logo-White.svg b/web/assets/images/Git-Logo-White.svg new file mode 100644 index 0000000000000000000000000000000000000000..f2961b9443b0d93702f0643bd8082370747ebcf1 --- /dev/null +++ b/web/assets/images/Git-Logo-White.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/assets/images/apple-mps-logo.png b/web/assets/images/apple-mps-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..261edbfd638fd82bc7e0971b528a01d91f800179 Binary files /dev/null and b/web/assets/images/apple-mps-logo.png differ diff --git a/web/assets/images/manual-configuration.svg b/web/assets/images/manual-configuration.svg new file mode 100644 index 0000000000000000000000000000000000000000..bc90c647000aa58aa3757b19dfca11919336b202 --- /dev/null +++ b/web/assets/images/manual-configuration.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/web/assets/images/nvidia-logo.svg b/web/assets/images/nvidia-logo.svg new file mode 100644 index 0000000000000000000000000000000000000000..71f15b53b7701530ade042ecdad62c91422e1627 --- /dev/null +++ b/web/assets/images/nvidia-logo.svg @@ -0,0 +1,6 @@ + Artificial Intelligence Computing Leadership from NVIDIA + + + + + \ No newline at end of file diff --git a/web/assets/images/sad_girl.png b/web/assets/images/sad_girl.png new file mode 100644 index 0000000000000000000000000000000000000000..2b0925a63cf0f12db8d806f4fad64d19afea2ec8 Binary files /dev/null and b/web/assets/images/sad_girl.png differ diff --git a/web/assets/index-5HFeZax4.js b/web/assets/index-5HFeZax4.js new file mode 100644 index 0000000000000000000000000000000000000000..b4bc111e926ce8a986158733c9a0be9c40c8464c --- /dev/null +++ b/web/assets/index-5HFeZax4.js @@ -0,0 +1,27 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { ct as script$1, H as createBaseVNode, o as openBlock, f as createElementBlock, D as mergeProps } from "./index-DjNHn37O.js"; +var script = { + name: "PlusIcon", + "extends": script$1 +}; +var _hoisted_1 = /* @__PURE__ */ createBaseVNode("path", { + d: "M7.67742 6.32258V0.677419C7.67742 0.497757 7.60605 0.325452 7.47901 0.198411C7.35197 0.0713707 7.17966 0 7 0C6.82034 0 6.64803 0.0713707 6.52099 0.198411C6.39395 0.325452 6.32258 0.497757 6.32258 0.677419V6.32258H0.677419C0.497757 6.32258 0.325452 6.39395 0.198411 6.52099C0.0713707 6.64803 0 6.82034 0 7C0 7.17966 0.0713707 7.35197 0.198411 7.47901C0.325452 7.60605 0.497757 7.67742 0.677419 7.67742H6.32258V13.3226C6.32492 13.5015 6.39704 13.6725 6.52358 13.799C6.65012 13.9255 6.82106 13.9977 7 14C7.17966 14 7.35197 13.9286 7.47901 13.8016C7.60605 13.6745 7.67742 13.5022 7.67742 13.3226V7.67742H13.3226C13.5022 7.67742 13.6745 7.60605 13.8016 7.47901C13.9286 7.35197 14 7.17966 14 7C13.9977 6.82106 13.9255 6.65012 13.799 6.52358C13.6725 6.39704 13.5015 6.32492 13.3226 6.32258H7.67742Z", + fill: "currentColor" +}, null, -1); +var _hoisted_2 = [_hoisted_1]; +function render(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps({ + width: "14", + height: "14", + viewBox: "0 0 14 14", + fill: "none", + xmlns: "http://www.w3.org/2000/svg" + }, _ctx.pti()), _hoisted_2, 16); +} +__name(render, "render"); +script.render = render; +export { + script as s +}; +//# sourceMappingURL=index-5HFeZax4.js.map diff --git a/web/assets/index-B-aVupP5.js b/web/assets/index-B-aVupP5.js new file mode 100644 index 0000000000000000000000000000000000000000..2f4957c2f4782d3042e511543437ba960476f026 --- /dev/null +++ b/web/assets/index-B-aVupP5.js @@ -0,0 +1,29 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { ct as script$1, H as createBaseVNode, o as openBlock, f as createElementBlock, D as mergeProps } from "./index-DjNHn37O.js"; +var script = { + name: "BarsIcon", + "extends": script$1 +}; +var _hoisted_1 = /* @__PURE__ */ createBaseVNode("path", { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + d: "M13.3226 3.6129H0.677419C0.497757 3.6129 0.325452 3.54152 0.198411 3.41448C0.0713707 3.28744 0 3.11514 0 2.93548C0 2.75581 0.0713707 2.58351 0.198411 2.45647C0.325452 2.32943 0.497757 2.25806 0.677419 2.25806H13.3226C13.5022 2.25806 13.6745 2.32943 13.8016 2.45647C13.9286 2.58351 14 2.75581 14 2.93548C14 3.11514 13.9286 3.28744 13.8016 3.41448C13.6745 3.54152 13.5022 3.6129 13.3226 3.6129ZM13.3226 7.67741H0.677419C0.497757 7.67741 0.325452 7.60604 0.198411 7.479C0.0713707 7.35196 0 7.17965 0 6.99999C0 6.82033 0.0713707 6.64802 0.198411 6.52098C0.325452 6.39394 0.497757 6.32257 0.677419 6.32257H13.3226C13.5022 6.32257 13.6745 6.39394 13.8016 6.52098C13.9286 6.64802 14 6.82033 14 6.99999C14 7.17965 13.9286 7.35196 13.8016 7.479C13.6745 7.60604 13.5022 7.67741 13.3226 7.67741ZM0.677419 11.7419H13.3226C13.5022 11.7419 13.6745 11.6706 13.8016 11.5435C13.9286 11.4165 14 11.2442 14 11.0645C14 10.8848 13.9286 10.7125 13.8016 10.5855C13.6745 10.4585 13.5022 10.3871 13.3226 10.3871H0.677419C0.497757 10.3871 0.325452 10.4585 0.198411 10.5855C0.0713707 10.7125 0 10.8848 0 11.0645C0 11.2442 0.0713707 11.4165 0.198411 11.5435C0.325452 11.6706 0.497757 11.7419 0.677419 11.7419Z", + fill: "currentColor" +}, null, -1); +var _hoisted_2 = [_hoisted_1]; +function render(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps({ + width: "14", + height: "14", + viewBox: "0 0 14 14", + fill: "none", + xmlns: "http://www.w3.org/2000/svg" + }, _ctx.pti()), _hoisted_2, 16); +} +__name(render, "render"); +script.render = render; +export { + script as s +}; +//# sourceMappingURL=index-B-aVupP5.js.map diff --git a/web/assets/index-B5F0uxTQ.js b/web/assets/index-B5F0uxTQ.js new file mode 100644 index 0000000000000000000000000000000000000000..78222d183bfff9f37a4b1cba3ad5784531c1751f --- /dev/null +++ b/web/assets/index-B5F0uxTQ.js @@ -0,0 +1,8786 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { B as BaseStyle, q as script$s, ct as script$t, H as createBaseVNode, o as openBlock, f as createElementBlock, D as mergeProps, X as toDisplayString, S as Ripple, r as resolveDirective, i as withDirectives, k as createBlock, G as resolveDynamicComponent, bY as script$u, aB as resolveComponent, T as normalizeClass, aD as createSlots, M as withCtx, bz as script$v, bw as script$w, F as Fragment, E as renderList, aE as createTextVNode, bq as setAttribute, ak as UniqueComponentId, bo as normalizeProps, J as renderSlot, I as createCommentVNode, R as equals, bk as script$x, c8 as script$y, cu as getFirstFocusableElement, an as OverlayEventBus, A as getVNodeProp, am as resolveFieldData, cv as invokeElementMethod, O as getAttribute, cw as getNextElementSibling, y as getOuterWidth, cx as getPreviousElementSibling, l as script$z, ay as script$A, W as script$B, bn as script$D, aj as isNotEmpty, bM as withModifiers, z as getOuterHeight, cy as _default, al as ZIndex, Q as focus, ap as addStyle, ar as absolutePosition, as as ConnectedOverlayScrollHandler, at as isTouchDevice, cz as FilterOperator, ax as script$E, cA as FocusTrap, N as createVNode, aC as Transition, bX as withKeys, cB as getIndex, aW as script$G, cC as isClickable, cD as clearSelection, cE as localeComparator, cF as sort, cG as FilterService, cn as FilterMatchMode, P as findSingle, c1 as findIndexInList, c2 as find, cH as exportCSV, U as getOffset, cI as getHiddenElementOuterWidth, cJ as getHiddenElementOuterHeight, cK as reorderArray, cL as getWindowScrollTop, cM as removeClass, cN as addClass, ao as isEmpty, aw as script$H, az as script$I } from "./index-DjNHn37O.js"; +import { s as script$C } from "./index-B-aVupP5.js"; +import { s as script$F } from "./index-5HFeZax4.js"; +var ColumnStyle = BaseStyle.extend({ + name: "column" +}); +var script$1$3 = { + name: "BaseColumn", + "extends": script$s, + props: { + columnKey: { + type: null, + "default": null + }, + field: { + type: [String, Function], + "default": null + }, + sortField: { + type: [String, Function], + "default": null + }, + filterField: { + type: [String, Function], + "default": null + }, + dataType: { + type: String, + "default": "text" + }, + sortable: { + type: Boolean, + "default": false + }, + header: { + type: null, + "default": null + }, + footer: { + type: null, + "default": null + }, + style: { + type: null, + "default": null + }, + "class": { + type: String, + "default": null + }, + headerStyle: { + type: null, + "default": null + }, + headerClass: { + type: String, + "default": null + }, + bodyStyle: { + type: null, + "default": null + }, + bodyClass: { + type: String, + "default": null + }, + footerStyle: { + type: null, + "default": null + }, + footerClass: { + type: String, + "default": null + }, + showFilterMenu: { + type: Boolean, + "default": true + }, + showFilterOperator: { + type: Boolean, + "default": true + }, + showClearButton: { + type: Boolean, + "default": true + }, + showApplyButton: { + type: Boolean, + "default": true + }, + showFilterMatchModes: { + type: Boolean, + "default": true + }, + showAddButton: { + type: Boolean, + "default": true + }, + filterMatchModeOptions: { + type: Array, + "default": null + }, + maxConstraints: { + type: Number, + "default": 2 + }, + excludeGlobalFilter: { + type: Boolean, + "default": false + }, + filterHeaderClass: { + type: String, + "default": null + }, + filterHeaderStyle: { + type: null, + "default": null + }, + filterMenuClass: { + type: String, + "default": null + }, + filterMenuStyle: { + type: null, + "default": null + }, + selectionMode: { + type: String, + "default": null + }, + expander: { + type: Boolean, + "default": false + }, + colspan: { + type: Number, + "default": null + }, + rowspan: { + type: Number, + "default": null + }, + rowReorder: { + type: Boolean, + "default": false + }, + rowReorderIcon: { + type: String, + "default": void 0 + }, + reorderableColumn: { + type: Boolean, + "default": true + }, + rowEditor: { + type: Boolean, + "default": false + }, + frozen: { + type: Boolean, + "default": false + }, + alignFrozen: { + type: String, + "default": "left" + }, + exportable: { + type: Boolean, + "default": true + }, + exportHeader: { + type: String, + "default": null + }, + exportFooter: { + type: String, + "default": null + }, + filterMatchMode: { + type: String, + "default": null + }, + hidden: { + type: Boolean, + "default": false + } + }, + style: ColumnStyle, + provide: /* @__PURE__ */ __name(function provide() { + return { + $pcColumn: this, + $parentInstance: this + }; + }, "provide") +}; +var script$r = { + name: "Column", + "extends": script$1$3, + inheritAttrs: false, + inject: ["$columns"], + mounted: /* @__PURE__ */ __name(function mounted() { + var _this$$columns; + (_this$$columns = this.$columns) === null || _this$$columns === void 0 || _this$$columns.add(this.$); + }, "mounted"), + unmounted: /* @__PURE__ */ __name(function unmounted() { + var _this$$columns2; + (_this$$columns2 = this.$columns) === null || _this$$columns2 === void 0 || _this$$columns2["delete"](this.$); + }, "unmounted"), + render: /* @__PURE__ */ __name(function render() { + return null; + }, "render") +}; +var script$q = { + name: "ArrowDownIcon", + "extends": script$t +}; +var _hoisted_1$i = /* @__PURE__ */ createBaseVNode("path", { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + d: "M6.99994 14C6.91097 14.0004 6.82281 13.983 6.74064 13.9489C6.65843 13.9148 6.58387 13.8646 6.52133 13.8013L1.10198 8.38193C0.982318 8.25351 0.917175 8.08367 0.920272 7.90817C0.923368 7.73267 0.994462 7.56523 1.11858 7.44111C1.24269 7.317 1.41014 7.2459 1.58563 7.2428C1.76113 7.23971 1.93098 7.30485 2.0594 7.42451L6.32263 11.6877V0.677419C6.32263 0.497756 6.394 0.325452 6.52104 0.198411C6.64808 0.0713706 6.82039 0 7.00005 0C7.17971 0 7.35202 0.0713706 7.47906 0.198411C7.6061 0.325452 7.67747 0.497756 7.67747 0.677419V11.6877L11.9407 7.42451C12.0691 7.30485 12.2389 7.23971 12.4144 7.2428C12.5899 7.2459 12.7574 7.317 12.8815 7.44111C13.0056 7.56523 13.0767 7.73267 13.0798 7.90817C13.0829 8.08367 13.0178 8.25351 12.8981 8.38193L7.47875 13.8013C7.41621 13.8646 7.34164 13.9148 7.25944 13.9489C7.17727 13.983 7.08912 14.0004 7.00015 14C7.00012 14 7.00009 14 7.00005 14C7.00001 14 6.99998 14 6.99994 14Z", + fill: "currentColor" +}, null, -1); +var _hoisted_2$f = [_hoisted_1$i]; +function render$p(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps({ + width: "14", + height: "14", + viewBox: "0 0 14 14", + fill: "none", + xmlns: "http://www.w3.org/2000/svg" + }, _ctx.pti()), _hoisted_2$f, 16); +} +__name(render$p, "render$p"); +script$q.render = render$p; +var script$p = { + name: "ArrowUpIcon", + "extends": script$t +}; +var _hoisted_1$h = /* @__PURE__ */ createBaseVNode("path", { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + d: "M6.51551 13.799C6.64205 13.9255 6.813 13.9977 6.99193 14C7.17087 13.9977 7.34182 13.9255 7.46835 13.799C7.59489 13.6725 7.66701 13.5015 7.66935 13.3226V2.31233L11.9326 6.57554C11.9951 6.63887 12.0697 6.68907 12.1519 6.72319C12.2341 6.75731 12.3223 6.77467 12.4113 6.77425C12.5003 6.77467 12.5885 6.75731 12.6707 6.72319C12.7529 6.68907 12.8274 6.63887 12.89 6.57554C13.0168 6.44853 13.0881 6.27635 13.0881 6.09683C13.0881 5.91732 13.0168 5.74514 12.89 5.61812L7.48846 0.216594C7.48274 0.210436 7.4769 0.204374 7.47094 0.198411C7.3439 0.0713707 7.1716 0 6.99193 0C6.81227 0 6.63997 0.0713707 6.51293 0.198411C6.50704 0.204296 6.50128 0.210278 6.49563 0.216354L1.09386 5.61812C0.974201 5.74654 0.909057 5.91639 0.912154 6.09189C0.91525 6.26738 0.986345 6.43483 1.11046 6.55894C1.23457 6.68306 1.40202 6.75415 1.57752 6.75725C1.75302 6.76035 1.92286 6.6952 2.05128 6.57554L6.31451 2.31231V13.3226C6.31685 13.5015 6.38898 13.6725 6.51551 13.799Z", + fill: "currentColor" +}, null, -1); +var _hoisted_2$e = [_hoisted_1$h]; +function render$o(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps({ + width: "14", + height: "14", + viewBox: "0 0 14 14", + fill: "none", + xmlns: "http://www.w3.org/2000/svg" + }, _ctx.pti()), _hoisted_2$e, 16); +} +__name(render$o, "render$o"); +script$p.render = render$o; +function _typeof$c(o) { + "@babel/helpers - typeof"; + return _typeof$c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$c(o); +} +__name(_typeof$c, "_typeof$c"); +function _defineProperty$b(e, r, t) { + return (r = _toPropertyKey$b(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$b, "_defineProperty$b"); +function _toPropertyKey$b(t) { + var i = _toPrimitive$b(t, "string"); + return "symbol" == _typeof$c(i) ? i : i + ""; +} +__name(_toPropertyKey$b, "_toPropertyKey$b"); +function _toPrimitive$b(t, r) { + if ("object" != _typeof$c(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$c(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$b, "_toPrimitive$b"); +var theme$2 = /* @__PURE__ */ __name(function theme(_ref) { + var dt = _ref.dt; + return "\n.p-paginator {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n background: ".concat(dt("paginator.background"), ";\n color: ").concat(dt("paginator.color"), ";\n padding: ").concat(dt("paginator.padding"), ";\n border-radius: ").concat(dt("paginator.border.radius"), ";\n gap: ").concat(dt("paginator.gap"), ";\n}\n\n.p-paginator-content {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n gap: ").concat(dt("paginator.gap"), ";\n}\n\n.p-paginator-content-start {\n margin-right: auto;\n}\n\n.p-paginator-content-end {\n margin-left: auto;\n}\n\n.p-paginator-page,\n.p-paginator-next,\n.p-paginator-last,\n.p-paginator-first,\n.p-paginator-prev {\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n user-select: none;\n overflow: hidden;\n position: relative;\n background: ").concat(dt("paginator.nav.button.background"), ";\n border: 0 none;\n color: ").concat(dt("paginator.nav.button.color"), ";\n min-width: ").concat(dt("paginator.nav.button.width"), ";\n height: ").concat(dt("paginator.nav.button.height"), ";\n transition: background ").concat(dt("paginator.transition.duration"), ", color ").concat(dt("paginator.transition.duration"), ", outline-color ").concat(dt("paginator.transition.duration"), ", box-shadow ").concat(dt("paginator.transition.duration"), ";\n border-radius: ").concat(dt("paginator.nav.button.border.radius"), ";\n padding: 0;\n margin: 0;\n}\n\n.p-paginator-page:focus-visible,\n.p-paginator-next:focus-visible,\n.p-paginator-last:focus-visible,\n.p-paginator-first:focus-visible,\n.p-paginator-prev:focus-visible {\n box-shadow: ").concat(dt("paginator.nav.button.focus.ring.shadow"), ";\n outline: ").concat(dt("paginator.nav.button.focus.ring.width"), " ").concat(dt("paginator.nav.button.focus.ring.style"), " ").concat(dt("paginator.nav.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("paginator.nav.button.focus.ring.offset"), ";\n}\n\n.p-paginator-page:not(.p-disabled):not(.p-paginator-page-selected):hover,\n.p-paginator-first:not(.p-disabled):hover,\n.p-paginator-prev:not(.p-disabled):hover,\n.p-paginator-next:not(.p-disabled):hover,\n.p-paginator-last:not(.p-disabled):hover {\n background: ").concat(dt("paginator.nav.button.hover.background"), ";\n color: ").concat(dt("paginator.nav.button.hover.color"), ";\n}\n\n.p-paginator-page.p-paginator-page-selected {\n background: ").concat(dt("paginator.nav.button.selected.background"), ";\n color: ").concat(dt("paginator.nav.button.selected.color"), ";\n}\n\n.p-paginator-current {\n color: ").concat(dt("paginator.current.page.report.color"), ";\n}\n\n.p-paginator-pages {\n display: flex;\n align-items: center;\n gap: ").concat(dt("paginator.gap"), ";\n}\n\n.p-paginator-jtp-input .p-inputtext {\n max-width: ").concat(dt("paginator.jump.to.page.input.max.width"), ";\n}\n"); +}, "theme"); +var classes$2 = { + paginator: /* @__PURE__ */ __name(function paginator(_ref2) { + var instance = _ref2.instance, key = _ref2.key; + return ["p-paginator p-component", _defineProperty$b({ + "p-paginator-default": !instance.hasBreakpoints() + }, "p-paginator-".concat(key), instance.hasBreakpoints())]; + }, "paginator"), + content: "p-paginator-content", + contentStart: "p-paginator-content-start", + contentEnd: "p-paginator-content-end", + first: /* @__PURE__ */ __name(function first(_ref4) { + var instance = _ref4.instance; + return ["p-paginator-first", { + "p-disabled": instance.$attrs.disabled + }]; + }, "first"), + firstIcon: "p-paginator-first-icon", + prev: /* @__PURE__ */ __name(function prev(_ref5) { + var instance = _ref5.instance; + return ["p-paginator-prev", { + "p-disabled": instance.$attrs.disabled + }]; + }, "prev"), + prevIcon: "p-paginator-prev-icon", + next: /* @__PURE__ */ __name(function next(_ref6) { + var instance = _ref6.instance; + return ["p-paginator-next", { + "p-disabled": instance.$attrs.disabled + }]; + }, "next"), + nextIcon: "p-paginator-next-icon", + last: /* @__PURE__ */ __name(function last(_ref7) { + var instance = _ref7.instance; + return ["p-paginator-last", { + "p-disabled": instance.$attrs.disabled + }]; + }, "last"), + lastIcon: "p-paginator-last-icon", + pages: "p-paginator-pages", + page: /* @__PURE__ */ __name(function page(_ref8) { + var props = _ref8.props, pageLink = _ref8.pageLink; + return ["p-paginator-page", { + "p-paginator-page-selected": pageLink - 1 === props.page + }]; + }, "page"), + current: "p-paginator-current", + pcRowPerPageDropdown: "p-paginator-rpp-dropdown", + pcJumpToPageDropdown: "p-paginator-jtp-dropdown", + pcJumpToPageInput: "p-paginator-jtp-input" +}; +var PaginatorStyle = BaseStyle.extend({ + name: "paginator", + theme: theme$2, + classes: classes$2 +}); +var script$o = { + name: "AngleDoubleLeftIcon", + "extends": script$t +}; +var _hoisted_1$g = /* @__PURE__ */ createBaseVNode("path", { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + d: "M5.71602 11.164C5.80782 11.2021 5.9063 11.2215 6.00569 11.221C6.20216 11.2301 6.39427 11.1612 6.54025 11.0294C6.68191 10.8875 6.76148 10.6953 6.76148 10.4948C6.76148 10.2943 6.68191 10.1021 6.54025 9.96024L3.51441 6.9344L6.54025 3.90855C6.624 3.76126 6.65587 3.59011 6.63076 3.42254C6.60564 3.25498 6.525 3.10069 6.40175 2.98442C6.2785 2.86815 6.11978 2.79662 5.95104 2.7813C5.78229 2.76598 5.61329 2.80776 5.47112 2.89994L1.97123 6.39983C1.82957 6.54167 1.75 6.73393 1.75 6.9344C1.75 7.13486 1.82957 7.32712 1.97123 7.46896L5.47112 10.9991C5.54096 11.0698 5.62422 11.1259 5.71602 11.164ZM11.0488 10.9689C11.1775 11.1156 11.3585 11.2061 11.5531 11.221C11.7477 11.2061 11.9288 11.1156 12.0574 10.9689C12.1815 10.8302 12.25 10.6506 12.25 10.4645C12.25 10.2785 12.1815 10.0989 12.0574 9.96024L9.03158 6.93439L12.0574 3.90855C12.1248 3.76739 12.1468 3.60881 12.1204 3.45463C12.0939 3.30045 12.0203 3.15826 11.9097 3.04765C11.7991 2.93703 11.6569 2.86343 11.5027 2.83698C11.3486 2.81053 11.19 2.83252 11.0488 2.89994L7.51865 6.36957C7.37699 6.51141 7.29742 6.70367 7.29742 6.90414C7.29742 7.1046 7.37699 7.29686 7.51865 7.4387L11.0488 10.9689Z", + fill: "currentColor" +}, null, -1); +var _hoisted_2$d = [_hoisted_1$g]; +function render$n(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps({ + width: "14", + height: "14", + viewBox: "0 0 14 14", + fill: "none", + xmlns: "http://www.w3.org/2000/svg" + }, _ctx.pti()), _hoisted_2$d, 16); +} +__name(render$n, "render$n"); +script$o.render = render$n; +var script$n = { + name: "AngleDoubleRightIcon", + "extends": script$t +}; +var _hoisted_1$f = /* @__PURE__ */ createBaseVNode("path", { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + d: "M7.68757 11.1451C7.7791 11.1831 7.8773 11.2024 7.9764 11.2019C8.07769 11.1985 8.17721 11.1745 8.26886 11.1312C8.36052 11.088 8.44238 11.0265 8.50943 10.9505L12.0294 7.49085C12.1707 7.34942 12.25 7.15771 12.25 6.95782C12.25 6.75794 12.1707 6.56622 12.0294 6.42479L8.50943 2.90479C8.37014 2.82159 8.20774 2.78551 8.04633 2.80192C7.88491 2.81833 7.73309 2.88635 7.6134 2.99588C7.4937 3.10541 7.41252 3.25061 7.38189 3.40994C7.35126 3.56927 7.37282 3.73423 7.44337 3.88033L10.4605 6.89748L7.44337 9.91463C7.30212 10.0561 7.22278 10.2478 7.22278 10.4477C7.22278 10.6475 7.30212 10.8393 7.44337 10.9807C7.51301 11.0512 7.59603 11.1071 7.68757 11.1451ZM1.94207 10.9505C2.07037 11.0968 2.25089 11.1871 2.44493 11.2019C2.63898 11.1871 2.81949 11.0968 2.94779 10.9505L6.46779 7.49085C6.60905 7.34942 6.68839 7.15771 6.68839 6.95782C6.68839 6.75793 6.60905 6.56622 6.46779 6.42479L2.94779 2.90479C2.80704 2.83757 2.6489 2.81563 2.49517 2.84201C2.34143 2.86839 2.19965 2.94178 2.08936 3.05207C1.97906 3.16237 1.90567 3.30415 1.8793 3.45788C1.85292 3.61162 1.87485 3.76975 1.94207 3.9105L4.95922 6.92765L1.94207 9.9448C1.81838 10.0831 1.75 10.2621 1.75 10.4477C1.75 10.6332 1.81838 10.8122 1.94207 10.9505Z", + fill: "currentColor" +}, null, -1); +var _hoisted_2$c = [_hoisted_1$f]; +function render$m(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps({ + width: "14", + height: "14", + viewBox: "0 0 14 14", + fill: "none", + xmlns: "http://www.w3.org/2000/svg" + }, _ctx.pti()), _hoisted_2$c, 16); +} +__name(render$m, "render$m"); +script$n.render = render$m; +var script$m = { + name: "AngleLeftIcon", + "extends": script$t +}; +var _hoisted_1$e = /* @__PURE__ */ createBaseVNode("path", { + d: "M8.75 11.185C8.65146 11.1854 8.55381 11.1662 8.4628 11.1284C8.37179 11.0906 8.28924 11.0351 8.22 10.965L4.72 7.46496C4.57955 7.32433 4.50066 7.13371 4.50066 6.93496C4.50066 6.73621 4.57955 6.54558 4.72 6.40496L8.22 2.93496C8.36095 2.84357 8.52851 2.80215 8.69582 2.81733C8.86312 2.83252 9.02048 2.90344 9.14268 3.01872C9.26487 3.134 9.34483 3.28696 9.36973 3.4531C9.39463 3.61924 9.36303 3.78892 9.28 3.93496L6.28 6.93496L9.28 9.93496C9.42045 10.0756 9.49934 10.2662 9.49934 10.465C9.49934 10.6637 9.42045 10.8543 9.28 10.995C9.13526 11.1257 8.9448 11.1939 8.75 11.185Z", + fill: "currentColor" +}, null, -1); +var _hoisted_2$b = [_hoisted_1$e]; +function render$l(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps({ + width: "14", + height: "14", + viewBox: "0 0 14 14", + fill: "none", + xmlns: "http://www.w3.org/2000/svg" + }, _ctx.pti()), _hoisted_2$b, 16); +} +__name(render$l, "render$l"); +script$m.render = render$l; +var script$a$1 = { + name: "BasePaginator", + "extends": script$s, + props: { + totalRecords: { + type: Number, + "default": 0 + }, + rows: { + type: Number, + "default": 0 + }, + first: { + type: Number, + "default": 0 + }, + pageLinkSize: { + type: Number, + "default": 5 + }, + rowsPerPageOptions: { + type: Array, + "default": null + }, + template: { + type: [Object, String], + "default": "FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown" + }, + currentPageReportTemplate: { + type: null, + "default": "({currentPage} of {totalPages})" + }, + alwaysShow: { + type: Boolean, + "default": true + } + }, + style: PaginatorStyle, + provide: /* @__PURE__ */ __name(function provide2() { + return { + $pcPaginator: this, + $parentInstance: this + }; + }, "provide") +}; +var script$9$1 = { + name: "CurrentPageReport", + hostName: "Paginator", + "extends": script$s, + props: { + pageCount: { + type: Number, + "default": 0 + }, + currentPage: { + type: Number, + "default": 0 + }, + page: { + type: Number, + "default": 0 + }, + first: { + type: Number, + "default": 0 + }, + rows: { + type: Number, + "default": 0 + }, + totalRecords: { + type: Number, + "default": 0 + }, + template: { + type: String, + "default": "({currentPage} of {totalPages})" + } + }, + computed: { + text: /* @__PURE__ */ __name(function text() { + var text2 = this.template.replace("{currentPage}", this.currentPage).replace("{totalPages}", this.pageCount).replace("{first}", this.pageCount > 0 ? this.first + 1 : 0).replace("{last}", Math.min(this.first + this.rows, this.totalRecords)).replace("{rows}", this.rows).replace("{totalRecords}", this.totalRecords); + return text2; + }, "text") + } +}; +function render$9$1(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("span", mergeProps({ + "class": _ctx.cx("current") + }, _ctx.ptm("current")), toDisplayString($options.text), 17); +} +__name(render$9$1, "render$9$1"); +script$9$1.render = render$9$1; +var script$8$1 = { + name: "FirstPageLink", + hostName: "Paginator", + "extends": script$s, + props: { + template: { + type: Function, + "default": null + } + }, + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions(key) { + return this.ptm(key, { + context: { + disabled: this.$attrs.disabled + } + }); + }, "getPTOptions") + }, + components: { + AngleDoubleLeftIcon: script$o + }, + directives: { + ripple: Ripple + } +}; +function render$8$1(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return withDirectives((openBlock(), createElementBlock("button", mergeProps({ + "class": _ctx.cx("first"), + type: "button" + }, $options.getPTOptions("first"), { + "data-pc-group-section": "pagebutton" + }), [(openBlock(), createBlock(resolveDynamicComponent($props.template || "AngleDoubleLeftIcon"), mergeProps({ + "class": _ctx.cx("firstIcon") + }, $options.getPTOptions("firstIcon")), null, 16, ["class"]))], 16)), [[_directive_ripple]]); +} +__name(render$8$1, "render$8$1"); +script$8$1.render = render$8$1; +var script$7$1 = { + name: "JumpToPageDropdown", + hostName: "Paginator", + "extends": script$s, + emits: ["page-change"], + props: { + page: Number, + pageCount: Number, + disabled: Boolean, + templates: null + }, + methods: { + onChange: /* @__PURE__ */ __name(function onChange(value) { + this.$emit("page-change", value); + }, "onChange") + }, + computed: { + pageOptions: /* @__PURE__ */ __name(function pageOptions() { + var opts = []; + for (var i = 0; i < this.pageCount; i++) { + opts.push({ + label: String(i + 1), + value: i + }); + } + return opts; + }, "pageOptions") + }, + components: { + JTPSelect: script$u + } +}; +function render$7$1(_ctx, _cache, $props, $setup, $data, $options) { + var _component_JTPSelect = resolveComponent("JTPSelect"); + return openBlock(), createBlock(_component_JTPSelect, { + modelValue: $props.page, + options: $options.pageOptions, + optionLabel: "label", + optionValue: "value", + "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) { + return $options.onChange($event); + }), + "class": normalizeClass(_ctx.cx("pcJumpToPageDropdown")), + disabled: $props.disabled, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcJumpToPageDropdown"), + "data-pc-group-section": "pagedropdown" + }, createSlots({ + _: 2 + }, [$props.templates["jumptopagedropdownicon"] ? { + name: "dropdownicon", + fn: withCtx(function(slotProps) { + return [(openBlock(), createBlock(resolveDynamicComponent($props.templates["jumptopagedropdownicon"]), { + "class": normalizeClass(slotProps["class"]) + }, null, 8, ["class"]))]; + }), + key: "0" + } : void 0]), 1032, ["modelValue", "options", "class", "disabled", "unstyled", "pt"]); +} +__name(render$7$1, "render$7$1"); +script$7$1.render = render$7$1; +var script$6$1 = { + name: "JumpToPageInput", + hostName: "Paginator", + "extends": script$s, + inheritAttrs: false, + emits: ["page-change"], + props: { + page: Number, + pageCount: Number, + disabled: Boolean + }, + data: /* @__PURE__ */ __name(function data() { + return { + d_page: this.page + }; + }, "data"), + watch: { + page: /* @__PURE__ */ __name(function page2(newValue) { + this.d_page = newValue; + }, "page") + }, + methods: { + onChange: /* @__PURE__ */ __name(function onChange2(value) { + if (value !== this.page) { + this.d_page = value; + this.$emit("page-change", value - 1); + } + }, "onChange") + }, + computed: { + inputArialabel: /* @__PURE__ */ __name(function inputArialabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.jumpToPageInputLabel : void 0; + }, "inputArialabel") + }, + components: { + JTPInput: script$v + } +}; +function render$6$1(_ctx, _cache, $props, $setup, $data, $options) { + var _component_JTPInput = resolveComponent("JTPInput"); + return openBlock(), createBlock(_component_JTPInput, { + ref: "jtpInput", + modelValue: $data.d_page, + "class": normalizeClass(_ctx.cx("pcJumpToPageInput")), + "aria-label": $options.inputArialabel, + disabled: $props.disabled, + "onUpdate:modelValue": $options.onChange, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcJumpToPageInput") + }, null, 8, ["modelValue", "class", "aria-label", "disabled", "onUpdate:modelValue", "unstyled", "pt"]); +} +__name(render$6$1, "render$6$1"); +script$6$1.render = render$6$1; +var script$5$1 = { + name: "LastPageLink", + hostName: "Paginator", + "extends": script$s, + props: { + template: { + type: Function, + "default": null + } + }, + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions2(key) { + return this.ptm(key, { + context: { + disabled: this.$attrs.disabled + } + }); + }, "getPTOptions") + }, + components: { + AngleDoubleRightIcon: script$n + }, + directives: { + ripple: Ripple + } +}; +function render$5$1(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return withDirectives((openBlock(), createElementBlock("button", mergeProps({ + "class": _ctx.cx("last"), + type: "button" + }, $options.getPTOptions("last"), { + "data-pc-group-section": "pagebutton" + }), [(openBlock(), createBlock(resolveDynamicComponent($props.template || "AngleDoubleRightIcon"), mergeProps({ + "class": _ctx.cx("lastIcon") + }, $options.getPTOptions("lastIcon")), null, 16, ["class"]))], 16)), [[_directive_ripple]]); +} +__name(render$5$1, "render$5$1"); +script$5$1.render = render$5$1; +var script$4$1 = { + name: "NextPageLink", + hostName: "Paginator", + "extends": script$s, + props: { + template: { + type: Function, + "default": null + } + }, + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions3(key) { + return this.ptm(key, { + context: { + disabled: this.$attrs.disabled + } + }); + }, "getPTOptions") + }, + components: { + AngleRightIcon: script$w + }, + directives: { + ripple: Ripple + } +}; +function render$4$1(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return withDirectives((openBlock(), createElementBlock("button", mergeProps({ + "class": _ctx.cx("next"), + type: "button" + }, $options.getPTOptions("next"), { + "data-pc-group-section": "pagebutton" + }), [(openBlock(), createBlock(resolveDynamicComponent($props.template || "AngleRightIcon"), mergeProps({ + "class": _ctx.cx("nextIcon") + }, $options.getPTOptions("nextIcon")), null, 16, ["class"]))], 16)), [[_directive_ripple]]); +} +__name(render$4$1, "render$4$1"); +script$4$1.render = render$4$1; +var script$3$1 = { + name: "PageLinks", + hostName: "Paginator", + "extends": script$s, + inheritAttrs: false, + emits: ["click"], + props: { + value: Array, + page: Number + }, + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions4(pageLink, key) { + return this.ptm(key, { + context: { + active: pageLink === this.page + } + }); + }, "getPTOptions"), + onPageLinkClick: /* @__PURE__ */ __name(function onPageLinkClick(event2, pageLink) { + this.$emit("click", { + originalEvent: event2, + value: pageLink + }); + }, "onPageLinkClick"), + ariaPageLabel: /* @__PURE__ */ __name(function ariaPageLabel(value) { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.pageLabel.replace(/{page}/g, value) : void 0; + }, "ariaPageLabel") + }, + directives: { + ripple: Ripple + } +}; +var _hoisted_1$d = ["aria-label", "aria-current", "onClick", "data-p-active"]; +function render$3$1(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("span", mergeProps({ + "class": _ctx.cx("pages") + }, _ctx.ptm("pages")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.value, function(pageLink) { + return withDirectives((openBlock(), createElementBlock("button", mergeProps({ + key: pageLink, + "class": _ctx.cx("page", { + pageLink + }), + type: "button", + "aria-label": $options.ariaPageLabel(pageLink), + "aria-current": pageLink - 1 === $props.page ? "page" : void 0, + onClick: /* @__PURE__ */ __name(function onClick3($event) { + return $options.onPageLinkClick($event, pageLink); + }, "onClick"), + ref_for: true + }, $options.getPTOptions(pageLink - 1, "page"), { + "data-p-active": pageLink - 1 === $props.page + }), [createTextVNode(toDisplayString(pageLink), 1)], 16, _hoisted_1$d)), [[_directive_ripple]]); + }), 128))], 16); +} +__name(render$3$1, "render$3$1"); +script$3$1.render = render$3$1; +var script$2$1 = { + name: "PrevPageLink", + hostName: "Paginator", + "extends": script$s, + props: { + template: { + type: Function, + "default": null + } + }, + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions5(key) { + return this.ptm(key, { + context: { + disabled: this.$attrs.disabled + } + }); + }, "getPTOptions") + }, + components: { + AngleLeftIcon: script$m + }, + directives: { + ripple: Ripple + } +}; +function render$2$1(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return withDirectives((openBlock(), createElementBlock("button", mergeProps({ + "class": _ctx.cx("prev"), + type: "button" + }, $options.getPTOptions("prev"), { + "data-pc-group-section": "pagebutton" + }), [(openBlock(), createBlock(resolveDynamicComponent($props.template || "AngleLeftIcon"), mergeProps({ + "class": _ctx.cx("prevIcon") + }, $options.getPTOptions("prevIcon")), null, 16, ["class"]))], 16)), [[_directive_ripple]]); +} +__name(render$2$1, "render$2$1"); +script$2$1.render = render$2$1; +var script$1$2 = { + name: "RowsPerPageDropdown", + hostName: "Paginator", + "extends": script$s, + emits: ["rows-change"], + props: { + options: Array, + rows: Number, + disabled: Boolean, + templates: null + }, + methods: { + onChange: /* @__PURE__ */ __name(function onChange3(value) { + this.$emit("rows-change", value); + }, "onChange") + }, + computed: { + rowsOptions: /* @__PURE__ */ __name(function rowsOptions() { + var opts = []; + if (this.options) { + for (var i = 0; i < this.options.length; i++) { + opts.push({ + label: String(this.options[i]), + value: this.options[i] + }); + } + } + return opts; + }, "rowsOptions") + }, + components: { + RPPSelect: script$u + } +}; +function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { + var _component_RPPSelect = resolveComponent("RPPSelect"); + return openBlock(), createBlock(_component_RPPSelect, { + modelValue: $props.rows, + options: $options.rowsOptions, + optionLabel: "label", + optionValue: "value", + "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) { + return $options.onChange($event); + }), + "class": normalizeClass(_ctx.cx("pcRowPerPageDropdown")), + disabled: $props.disabled, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcRowPerPageDropdown"), + "data-pc-group-section": "pagedropdown" + }, createSlots({ + _: 2 + }, [$props.templates["rowsperpagedropdownicon"] ? { + name: "dropdownicon", + fn: withCtx(function(slotProps) { + return [(openBlock(), createBlock(resolveDynamicComponent($props.templates["rowsperpagedropdownicon"]), { + "class": normalizeClass(slotProps["class"]) + }, null, 8, ["class"]))]; + }), + key: "0" + } : void 0]), 1032, ["modelValue", "options", "class", "disabled", "unstyled", "pt"]); +} +__name(render$1$1, "render$1$1"); +script$1$2.render = render$1$1; +function _toConsumableArray$1(r) { + return _arrayWithoutHoles$1(r) || _iterableToArray$1(r) || _unsupportedIterableToArray$3(r) || _nonIterableSpread$1(); +} +__name(_toConsumableArray$1, "_toConsumableArray$1"); +function _nonIterableSpread$1() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$1, "_nonIterableSpread$1"); +function _iterableToArray$1(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$1, "_iterableToArray$1"); +function _arrayWithoutHoles$1(r) { + if (Array.isArray(r)) return _arrayLikeToArray$3(r); +} +__name(_arrayWithoutHoles$1, "_arrayWithoutHoles$1"); +function _typeof$b(o) { + "@babel/helpers - typeof"; + return _typeof$b = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$b(o); +} +__name(_typeof$b, "_typeof$b"); +function _slicedToArray$1(r, e) { + return _arrayWithHoles$1(r) || _iterableToArrayLimit$1(r, e) || _unsupportedIterableToArray$3(r, e) || _nonIterableRest$1(); +} +__name(_slicedToArray$1, "_slicedToArray$1"); +function _nonIterableRest$1() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableRest$1, "_nonIterableRest$1"); +function _unsupportedIterableToArray$3(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$3(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$3(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$3, "_unsupportedIterableToArray$3"); +function _arrayLikeToArray$3(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$3, "_arrayLikeToArray$3"); +function _iterableToArrayLimit$1(r, l) { + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t) { + var e, n, i, u, a = [], f = true, o = false; + try { + if (i = (t = t.call(r)).next, 0 === l) { + if (Object(t) !== t) return; + f = false; + } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ; + } catch (r2) { + o = true, n = r2; + } finally { + try { + if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; + } finally { + if (o) throw n; + } + } + return a; + } +} +__name(_iterableToArrayLimit$1, "_iterableToArrayLimit$1"); +function _arrayWithHoles$1(r) { + if (Array.isArray(r)) return r; +} +__name(_arrayWithHoles$1, "_arrayWithHoles$1"); +var script$l = { + name: "Paginator", + "extends": script$a$1, + inheritAttrs: false, + emits: ["update:first", "update:rows", "page"], + data: /* @__PURE__ */ __name(function data2() { + return { + d_first: this.first, + d_rows: this.rows + }; + }, "data"), + watch: { + first: /* @__PURE__ */ __name(function first2(newValue) { + this.d_first = newValue; + }, "first"), + rows: /* @__PURE__ */ __name(function rows(newValue) { + this.d_rows = newValue; + }, "rows"), + totalRecords: /* @__PURE__ */ __name(function totalRecords(newValue) { + if (this.page > 0 && newValue && this.d_first >= newValue) { + this.changePage(this.pageCount - 1); + } + }, "totalRecords") + }, + mounted: /* @__PURE__ */ __name(function mounted2() { + this.setPaginatorAttribute(); + this.createStyle(); + }, "mounted"), + methods: { + changePage: /* @__PURE__ */ __name(function changePage(p) { + var pc = this.pageCount; + if (p >= 0 && p < pc) { + this.d_first = this.d_rows * p; + var state = { + page: p, + first: this.d_first, + rows: this.d_rows, + pageCount: pc + }; + this.$emit("update:first", this.d_first); + this.$emit("update:rows", this.d_rows); + this.$emit("page", state); + } + }, "changePage"), + changePageToFirst: /* @__PURE__ */ __name(function changePageToFirst(event2) { + if (!this.isFirstPage) { + this.changePage(0); + } + event2.preventDefault(); + }, "changePageToFirst"), + changePageToPrev: /* @__PURE__ */ __name(function changePageToPrev(event2) { + this.changePage(this.page - 1); + event2.preventDefault(); + }, "changePageToPrev"), + changePageLink: /* @__PURE__ */ __name(function changePageLink(event2) { + this.changePage(event2.value - 1); + event2.originalEvent.preventDefault(); + }, "changePageLink"), + changePageToNext: /* @__PURE__ */ __name(function changePageToNext(event2) { + this.changePage(this.page + 1); + event2.preventDefault(); + }, "changePageToNext"), + changePageToLast: /* @__PURE__ */ __name(function changePageToLast(event2) { + if (!this.isLastPage) { + this.changePage(this.pageCount - 1); + } + event2.preventDefault(); + }, "changePageToLast"), + onRowChange: /* @__PURE__ */ __name(function onRowChange(value) { + this.d_rows = value; + this.changePage(this.page); + }, "onRowChange"), + createStyle: /* @__PURE__ */ __name(function createStyle() { + var _this = this; + if (this.hasBreakpoints() && !this.isUnstyled) { + var _this$$primevue; + this.styleElement = document.createElement("style"); + this.styleElement.type = "text/css"; + setAttribute(this.styleElement, "nonce", (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.csp) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.nonce); + document.head.appendChild(this.styleElement); + var innerHTML = ""; + var keys = Object.keys(this.template); + var sortedBreakpoints = {}; + keys.sort(function(a, b) { + return parseInt(a) - parseInt(b); + }).forEach(function(key2) { + sortedBreakpoints[key2] = _this.template[key2]; + }); + for (var _i = 0, _Object$entries = Object.entries(Object.entries(sortedBreakpoints)); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = _slicedToArray$1(_Object$entries[_i], 2), index = _Object$entries$_i[0], _Object$entries$_i$ = _slicedToArray$1(_Object$entries$_i[1], 1), key = _Object$entries$_i$[0]; + var minValue = void 0, calculatedMinValue = void 0; + if (key !== "default" && typeof Object.keys(sortedBreakpoints)[index - 1] === "string") { + calculatedMinValue = Number(Object.keys(sortedBreakpoints)[index - 1].slice(0, -2)) + 1 + "px"; + } else { + calculatedMinValue = Object.keys(sortedBreakpoints)[index - 1]; + } + minValue = Object.entries(sortedBreakpoints)[index - 1] ? "and (min-width:".concat(calculatedMinValue, ")") : ""; + if (key === "default") { + innerHTML += "\n @media screen ".concat(minValue, " {\n .paginator[").concat(this.attributeSelector, "],\n display: flex;\n }\n }\n "); + } else { + innerHTML += "\n.paginator[".concat(this.attributeSelector, "], .p-paginator-").concat(key, " {\n display: none;\n}\n@media screen ").concat(minValue, " and (max-width: ").concat(key, ") {\n .paginator[").concat(this.attributeSelector, "], .p-paginator-").concat(key, " {\n display: flex;\n }\n .paginator[").concat(this.attributeSelector, "],\n .p-paginator-default{\n display: none;\n }\n}\n "); + } + } + this.styleElement.innerHTML = innerHTML; + } + }, "createStyle"), + hasBreakpoints: /* @__PURE__ */ __name(function hasBreakpoints() { + return _typeof$b(this.template) === "object"; + }, "hasBreakpoints"), + setPaginatorAttribute: /* @__PURE__ */ __name(function setPaginatorAttribute() { + var _this2 = this; + if (this.$refs.paginator && this.$refs.paginator.length >= 0) { + _toConsumableArray$1(this.$refs.paginator).forEach(function(el) { + el.setAttribute(_this2.attributeSelector, ""); + }); + } + }, "setPaginatorAttribute"), + getAriaLabel: /* @__PURE__ */ __name(function getAriaLabel(labelType) { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria[labelType] : void 0; + }, "getAriaLabel") + }, + computed: { + templateItems: /* @__PURE__ */ __name(function templateItems() { + var keys = {}; + if (this.hasBreakpoints()) { + keys = this.template; + if (!keys["default"]) { + keys["default"] = "FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown"; + } + for (var item in keys) { + keys[item] = this.template[item].split(" ").map(function(value) { + return value.trim(); + }); + } + return keys; + } + keys["default"] = this.template.split(" ").map(function(value) { + return value.trim(); + }); + return keys; + }, "templateItems"), + page: /* @__PURE__ */ __name(function page3() { + return Math.floor(this.d_first / this.d_rows); + }, "page"), + pageCount: /* @__PURE__ */ __name(function pageCount() { + return Math.ceil(this.totalRecords / this.d_rows); + }, "pageCount"), + isFirstPage: /* @__PURE__ */ __name(function isFirstPage() { + return this.page === 0; + }, "isFirstPage"), + isLastPage: /* @__PURE__ */ __name(function isLastPage() { + return this.page === this.pageCount - 1; + }, "isLastPage"), + calculatePageLinkBoundaries: /* @__PURE__ */ __name(function calculatePageLinkBoundaries() { + var numberOfPages = this.pageCount; + var visiblePages = Math.min(this.pageLinkSize, numberOfPages); + var start = Math.max(0, Math.ceil(this.page - visiblePages / 2)); + var end = Math.min(numberOfPages - 1, start + visiblePages - 1); + var delta = this.pageLinkSize - (end - start + 1); + start = Math.max(0, start - delta); + return [start, end]; + }, "calculatePageLinkBoundaries"), + pageLinks: /* @__PURE__ */ __name(function pageLinks() { + var pageLinks2 = []; + var boundaries = this.calculatePageLinkBoundaries; + var start = boundaries[0]; + var end = boundaries[1]; + for (var i = start; i <= end; i++) { + pageLinks2.push(i + 1); + } + return pageLinks2; + }, "pageLinks"), + currentState: /* @__PURE__ */ __name(function currentState() { + return { + page: this.page, + first: this.d_first, + rows: this.d_rows + }; + }, "currentState"), + empty: /* @__PURE__ */ __name(function empty() { + return this.pageCount === 0; + }, "empty"), + currentPage: /* @__PURE__ */ __name(function currentPage() { + return this.pageCount > 0 ? this.page + 1 : 0; + }, "currentPage"), + attributeSelector: /* @__PURE__ */ __name(function attributeSelector() { + return UniqueComponentId(); + }, "attributeSelector") + }, + components: { + CurrentPageReport: script$9$1, + FirstPageLink: script$8$1, + LastPageLink: script$5$1, + NextPageLink: script$4$1, + PageLinks: script$3$1, + PrevPageLink: script$2$1, + RowsPerPageDropdown: script$1$2, + JumpToPageDropdown: script$7$1, + JumpToPageInput: script$6$1 + } +}; +function render$k(_ctx, _cache, $props, $setup, $data, $options) { + var _component_FirstPageLink = resolveComponent("FirstPageLink"); + var _component_PrevPageLink = resolveComponent("PrevPageLink"); + var _component_NextPageLink = resolveComponent("NextPageLink"); + var _component_LastPageLink = resolveComponent("LastPageLink"); + var _component_PageLinks = resolveComponent("PageLinks"); + var _component_CurrentPageReport = resolveComponent("CurrentPageReport"); + var _component_RowsPerPageDropdown = resolveComponent("RowsPerPageDropdown"); + var _component_JumpToPageDropdown = resolveComponent("JumpToPageDropdown"); + var _component_JumpToPageInput = resolveComponent("JumpToPageInput"); + return (_ctx.alwaysShow ? true : $options.pageLinks && $options.pageLinks.length > 1) ? (openBlock(), createElementBlock("nav", normalizeProps(mergeProps({ + key: 0 + }, _ctx.ptmi("paginatorContainer"))), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.templateItems, function(value, key) { + return openBlock(), createElementBlock("div", mergeProps({ + key, + ref_for: true, + ref: "paginator", + "class": _ctx.cx("paginator", { + key + }) + }, _ctx.ptm("root")), [_ctx.$slots.start ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("contentStart"), + ref_for: true + }, _ctx.ptm("contentStart")), [renderSlot(_ctx.$slots, "start", { + state: $options.currentState + })], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("content"), + ref_for: true + }, _ctx.ptm("content")), [(openBlock(true), createElementBlock(Fragment, null, renderList(value, function(item) { + return openBlock(), createElementBlock(Fragment, { + key: item + }, [item === "FirstPageLink" ? (openBlock(), createBlock(_component_FirstPageLink, { + key: 0, + "aria-label": $options.getAriaLabel("firstPageLabel"), + template: _ctx.$slots.firsticon || _ctx.$slots.firstpagelinkicon, + onClick: _cache[0] || (_cache[0] = function($event) { + return $options.changePageToFirst($event); + }), + disabled: $options.isFirstPage || $options.empty, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["aria-label", "template", "disabled", "unstyled", "pt"])) : item === "PrevPageLink" ? (openBlock(), createBlock(_component_PrevPageLink, { + key: 1, + "aria-label": $options.getAriaLabel("prevPageLabel"), + template: _ctx.$slots.previcon || _ctx.$slots.prevpagelinkicon, + onClick: _cache[1] || (_cache[1] = function($event) { + return $options.changePageToPrev($event); + }), + disabled: $options.isFirstPage || $options.empty, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["aria-label", "template", "disabled", "unstyled", "pt"])) : item === "NextPageLink" ? (openBlock(), createBlock(_component_NextPageLink, { + key: 2, + "aria-label": $options.getAriaLabel("nextPageLabel"), + template: _ctx.$slots.nexticon || _ctx.$slots.nextpagelinkicon, + onClick: _cache[2] || (_cache[2] = function($event) { + return $options.changePageToNext($event); + }), + disabled: $options.isLastPage || $options.empty, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["aria-label", "template", "disabled", "unstyled", "pt"])) : item === "LastPageLink" ? (openBlock(), createBlock(_component_LastPageLink, { + key: 3, + "aria-label": $options.getAriaLabel("lastPageLabel"), + template: _ctx.$slots.lasticon || _ctx.$slots.lastpagelinkicon, + onClick: _cache[3] || (_cache[3] = function($event) { + return $options.changePageToLast($event); + }), + disabled: $options.isLastPage || $options.empty, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["aria-label", "template", "disabled", "unstyled", "pt"])) : item === "PageLinks" ? (openBlock(), createBlock(_component_PageLinks, { + key: 4, + "aria-label": $options.getAriaLabel("pageLabel"), + value: $options.pageLinks, + page: $options.page, + onClick: _cache[4] || (_cache[4] = function($event) { + return $options.changePageLink($event); + }), + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["aria-label", "value", "page", "unstyled", "pt"])) : item === "CurrentPageReport" ? (openBlock(), createBlock(_component_CurrentPageReport, { + key: 5, + "aria-live": "polite", + template: _ctx.currentPageReportTemplate, + currentPage: $options.currentPage, + page: $options.page, + pageCount: $options.pageCount, + first: $data.d_first, + rows: $data.d_rows, + totalRecords: _ctx.totalRecords, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["template", "currentPage", "page", "pageCount", "first", "rows", "totalRecords", "unstyled", "pt"])) : item === "RowsPerPageDropdown" && _ctx.rowsPerPageOptions ? (openBlock(), createBlock(_component_RowsPerPageDropdown, { + key: 6, + "aria-label": $options.getAriaLabel("rowsPerPageLabel"), + rows: $data.d_rows, + options: _ctx.rowsPerPageOptions, + onRowsChange: _cache[5] || (_cache[5] = function($event) { + return $options.onRowChange($event); + }), + disabled: $options.empty, + templates: _ctx.$slots, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["aria-label", "rows", "options", "disabled", "templates", "unstyled", "pt"])) : item === "JumpToPageDropdown" ? (openBlock(), createBlock(_component_JumpToPageDropdown, { + key: 7, + "aria-label": $options.getAriaLabel("jumpToPageDropdownLabel"), + page: $options.page, + pageCount: $options.pageCount, + onPageChange: _cache[6] || (_cache[6] = function($event) { + return $options.changePage($event); + }), + disabled: $options.empty, + templates: _ctx.$slots, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["aria-label", "page", "pageCount", "disabled", "templates", "unstyled", "pt"])) : item === "JumpToPageInput" ? (openBlock(), createBlock(_component_JumpToPageInput, { + key: 8, + page: $options.currentPage, + onPageChange: _cache[7] || (_cache[7] = function($event) { + return $options.changePage($event); + }), + disabled: $options.empty, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["page", "disabled", "unstyled", "pt"])) : createCommentVNode("", true)], 64); + }), 128))], 16), _ctx.$slots.end ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("contentEnd"), + ref_for: true + }, _ctx.ptm("contentEnd")), [renderSlot(_ctx.$slots, "end", { + state: $options.currentState + })], 16)) : createCommentVNode("", true)], 16); + }), 128))], 16)) : createCommentVNode("", true); +} +__name(render$k, "render$k"); +script$l.render = render$k; +var theme$1 = /* @__PURE__ */ __name(function theme2(_ref) { + var dt = _ref.dt; + return "\n.p-datatable {\n position: relative;\n}\n\n.p-datatable-table {\n border-spacing: 0;\n width: 100%;\n}\n\n.p-datatable-scrollable > .p-datatable-table-container {\n position: relative;\n}\n\n.p-datatable-scrollable-table > .p-datatable-thead {\n top: 0;\n z-index: 1;\n}\n\n.p-datatable-scrollable-table > .p-datatable-frozen-tbody {\n position: sticky;\n z-index: 1;\n}\n\n.p-datatable-scrollable-table>.p-datatable-tfoot {\n bottom: 0;\n z-index: 1;\n}\n\n.p-datatable-scrollable .p-datatable-frozen-column {\n position: sticky;\n background: ".concat(dt("datatable.header.cell.background"), ";\n}\n\n.p-datatable-scrollable th.p-datatable-frozen-column {\n z-index: 1;\n}\n\n.p-datatable-scrollable > .p-datatable-table-container > .p-datatable-table > .p-datatable-thead,\n.p-datatable-scrollable > .p-datatable-table-container > .p-virtualscroller > .p-datatable-table > .p-datatable-thead {\n background: ").concat(dt("datatable.header.cell.background"), ";\n}\n\n.p-datatable-scrollable > .p-datatable-table-container > .p-datatable-table > .p-datatable-tfoot,\n.p-datatable-scrollable > .p-datatable-table-container > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot {\n background: ").concat(dt("datatable.footer.cell.background"), ";\n}\n\n.p-datatable-flex-scrollable {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.p-datatable-flex-scrollable > .p-datatable-table-container {\n display: flex;\n flex-direction: column;\n flex: 1;\n height: 100%;\n}\n\n.p-datatable-scrollable-table > .p-datatable-tbody > .p-datatable-row-group-header {\n position: sticky;\n z-index: 1;\n}\n\n.p-datatable-resizable-table > .p-datatable-thead > tr > th,\n.p-datatable-resizable-table > .p-datatable-tfoot > tr > td,\n.p-datatable-resizable-table > .p-datatable-tbody > tr > td {\n overflow: hidden;\n white-space: nowrap;\n}\n\n.p-datatable-resizable-table > .p-datatable-thead > tr > th.p-datatable-resizable-column:not(.p-datatable-frozen-column) {\n background-clip: padding-box;\n position: relative;\n}\n\n.p-datatable-resizable-table-fit > .p-datatable-thead > tr > th.p-datatable-resizable-column:last-child .p-datatable-column-resizer {\n display: none;\n}\n\n.p-datatable-column-resizer {\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n margin: 0;\n width: ").concat(dt("datatable.column.resizer.width"), ";\n height: 100%;\n padding: 0px;\n cursor: col-resize;\n border: 1px solid transparent;\n}\n\n.p-datatable-column-header-content {\n display: flex;\n align-items: center;\n gap: ").concat(dt("datatable.header.cell.gap"), ";\n}\n\n.p-datatable-column-resize-indicator {\n width: ").concat(dt("datatable.resize.indicator.width"), ";\n position: absolute;\n z-index: 10;\n display: none;\n background: ").concat(dt("datatable.resize.indicator.color"), ";\n}\n\n.p-datatable-row-reorder-indicator-up,\n.p-datatable-row-reorder-indicator-down {\n position: absolute;\n display: none;\n}\n\n.p-datatable-reorderable-column,\n.p-datatable-reorderable-row-handle {\n cursor: move;\n}\n\n.p-datatable-mask {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 2;\n}\n\n.p-datatable-inline-filter {\n display: flex;\n align-items: center;\n width: 100%;\n gap: ").concat(dt("datatable.filter.inline.gap"), ";\n}\n\n.p-datatable-inline-filter .p-datatable-filter-element-container {\n flex: 1 1 auto;\n width: 1%;\n}\n\n.p-datatable-filter-overlay {\n background: ").concat(dt("datatable.filter.overlay.select.background"), ";\n color: ").concat(dt("datatable.filter.overlay.select.color"), ";\n border: 1px solid ").concat(dt("datatable.filter.overlay.select.border.color"), ";\n border-radius: ").concat(dt("datatable.filter.overlay.select.border.radius"), ";\n box-shadow: ").concat(dt("datatable.filter.overlay.select.shadow"), ";\n min-width: 12.5rem;\n}\n\n.p-datatable-filter-constraint-list {\n margin: 0;\n list-style: none;\n display: flex;\n flex-direction: column;\n padding: ").concat(dt("datatable.filter.constraint.list.padding"), ";\n gap: ").concat(dt("datatable.filter.constraint.list.gap"), ";\n}\n\n.p-datatable-filter-constraint {\n padding: ").concat(dt("datatable.filter.constraint.padding"), ";\n color: ").concat(dt("datatable.filter.constraint.color"), ";\n border-radius: ").concat(dt("datatable.filter.constraint.border.radius"), ";\n cursor: pointer;\n transition: background ").concat(dt("datatable.transition.duration"), ", color ").concat(dt("datatable.transition.duration"), ", border-color ").concat(dt("datatable.transition.duration"), ",\n box-shadow ").concat(dt("datatable.transition.duration"), ";\n}\n\n.p-datatable-filter-constraint-selected {\n background: ").concat(dt("datatable.filter.constraint.selected.background"), ";\n color: ").concat(dt("datatable.filter.constraint.selected.color"), ";\n}\n\n.p-datatable-filter-constraint:not(.p-datatable-filter-constraint-selected):not(.p-disabled):hover {\n background: ").concat(dt("datatable.filter.constraint.focus.background"), ";\n color: ").concat(dt("datatable.filter.constraint.focus.color"), ";\n}\n\n.p-datatable-filter-constraint:focus-visible {\n outline: 0 none;\n background: ").concat(dt("datatable.filter.constraint.focus.background"), ";\n color: ").concat(dt("datatable.filter.constraint.focus.color"), ";\n}\n\n.p-datatable-filter-constraint-selected:focus-visible {\n outline: 0 none;\n background: ").concat(dt("datatable.filter.constraint.selected.focus.background"), ";\n color: ").concat(dt("datatable.filter.constraint.selected.focus.color"), ";\n}\n\n.p-datatable-filter-constraint-separator {\n border-top: 1px solid ").concat(dt("datatable.filter.constraint.separator.border.color"), ";\n}\n\n.p-datatable-popover-filter {\n display: inline-flex;\n margin-left: auto;\n}\n\n.p-datatable-filter-overlay-popover {\n background: ").concat(dt("datatable.filter.overlay.popover.background"), ";\n color: ").concat(dt("datatable.filter.overlay.popover.color"), ";\n border: 1px solid ").concat(dt("datatable.filter.overlay.popover.border.color"), ";\n border-radius: ").concat(dt("datatable.filter.overlay.popover.border.radius"), ";\n box-shadow: ").concat(dt("datatable.filter.overlay.popover.shadow"), ";\n min-width: 12.5rem;\n padding: ").concat(dt("datatable.filter.overlay.popover.padding"), ";\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("datatable.filter.overlay.popover.gap"), ";\n}\n\n.p-datatable-filter-operator-dropdown {\n width: 100%;\n}\n\n.p-datatable-filter-rule-list,\n.p-datatable-filter-rule {\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("datatable.filter.overlay.popover.gap"), ";\n}\n\n.p-datatable-filter-rule {\n border-bottom: 1px solid ").concat(dt("datatable.filter.rule.border.color"), ";\n}\n\n.p-datatable-filter-rule:last-child {\n border-bottom: 0 none;\n}\n\n.p-datatable-filter-add-rule-button {\n width: 100%;\n}\n\n.p-datatable-filter-remove-button {\n width: 100%;\n}\n\n.p-datatable-filter-buttonbar {\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.p-datatable-virtualscroller-spacer {\n display: flex;\n}\n\n.p-datatable .p-virtualscroller .p-virtualscroller-loading {\n transform: none !important;\n min-height: 0;\n position: sticky;\n top: 0;\n left: 0;\n}\n\n.p-datatable-paginator-top {\n border-color: ").concat(dt("datatable.paginator.top.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("datatable.paginator.top.border.width"), ";\n}\n\n.p-datatable-paginator-bottom {\n border-color: ").concat(dt("datatable.paginator.bottom.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("datatable.paginator.bottom.border.width"), ";\n}\n\n.p-datatable-header {\n background: ").concat(dt("datatable.header.background"), ";\n color: ").concat(dt("datatable.header.color"), ";\n border-color: ").concat(dt("datatable.header.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("datatable.header.border.width"), ";\n padding: ").concat(dt("datatable.header.padding"), ";\n}\n\n.p-datatable-footer {\n background: ").concat(dt("datatable.footer.background"), ";\n color: ").concat(dt("datatable.footer.color"), ";\n border-color: ").concat(dt("datatable.footer.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("datatable.footer.border.width"), ";\n padding: ").concat(dt("datatable.footer.padding"), ";\n}\n\n.p-datatable-header-cell {\n padding: ").concat(dt("datatable.header.cell.padding"), ";\n background: ").concat(dt("datatable.header.cell.background"), ";\n border-color: ").concat(dt("datatable.header.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n color: ").concat(dt("datatable.header.cell.color"), ";\n font-weight: normal;\n text-align: left;\n transition: background ").concat(dt("datatable.transition.duration"), ", color ").concat(dt("datatable.transition.duration"), ", border-color ").concat(dt("datatable.transition.duration"), ",\n outline-color ").concat(dt("datatable.transition.duration"), ", box-shadow ").concat(dt("datatable.transition.duration"), ";\n}\n\n.p-datatable-column-title {\n font-weight: ").concat(dt("datatable.column.title.font.weight"), ";\n}\n\n.p-datatable-tbody > tr {\n outline-color: transparent;\n background: ").concat(dt("datatable.row.background"), ";\n color: ").concat(dt("datatable.row.color"), ";\n transition: background ").concat(dt("datatable.transition.duration"), ", color ").concat(dt("datatable.transition.duration"), ", border-color ").concat(dt("datatable.transition.duration"), ",\n outline-color ").concat(dt("datatable.transition.duration"), ", box-shadow ").concat(dt("datatable.transition.duration"), ";\n}\n\n.p-datatable-tbody > tr > td {\n text-align: left;\n border-color: ").concat(dt("datatable.body.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n padding: ").concat(dt("datatable.body.cell.padding"), ";\n}\n\n.p-datatable-hoverable .p-datatable-tbody > tr:not(.p-datatable-row-selected):hover {\n background: ").concat(dt("datatable.row.hover.background"), ";\n color: ").concat(dt("datatable.row.hover.color"), ";\n}\n\n.p-datatable-tbody > tr.p-datatable-row-selected {\n background: ").concat(dt("datatable.row.selected.background"), ";\n color: ").concat(dt("datatable.row.selected.color"), ";\n}\n\n.p-datatable-tbody > tr:has(+ .p-datatable-row-selected) > td {\n border-bottom-color: ").concat(dt("datatable.body.cell.selected.border.color"), ";\n}\n\n.p-datatable-tbody > tr.p-datatable-row-selected > td {\n border-bottom-color: ").concat(dt("datatable.body.cell.selected.border.color"), ";\n}\n\n.p-datatable-tbody > tr:focus-visible,\n.p-datatable-tbody > tr.p-datatable-contextmenu-row-selected {\n box-shadow: ").concat(dt("datatable.body.cell.focus.ring.shadow"), ";\n outline: ").concat(dt("datatable.body.cell.focus.ring.width"), " ").concat(dt("datatable.body.cell.focus.ring.style"), " ").concat(dt("datatable.body.cell.focus.ring.color"), ";\n outline-offset: ").concat(dt("datatable.body.cell.focus.ring.offset"), ";\n}\n\n.p-datatable-tfoot > tr > td {\n text-align: left;\n padding: ").concat(dt("datatable.footer.cell.padding"), ";\n border-color: ").concat(dt("datatable.footer.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n color: ").concat(dt("datatable.footer.cell.color"), ";\n background: ").concat(dt("datatable.footer.cell.background"), ";\n}\n\n.p-datatable-column-footer {\n font-weight: ").concat(dt("datatable.column.footer.font.weight"), ";\n}\n\n.p-datatable-sortable-column {\n cursor: pointer;\n user-select: none;\n outline-color: transparent;\n}\n\n.p-datatable-column-title,\n.p-datatable-sort-icon,\n.p-datatable-sort-badge {\n vertical-align: middle;\n}\n\n.p-datatable-sort-icon {\n color: ").concat(dt("datatable.sort.icon.color"), ";\n transition: color ").concat(dt("datatable.transition.duration"), ";\n}\n\n.p-datatable-sortable-column:not(.p-datatable-column-sorted):hover {\n background: ").concat(dt("datatable.header.cell.hover.background"), ";\n color: ").concat(dt("datatable.header.cell.hover.color"), ";\n}\n\n.p-datatable-sortable-column:not(.p-datatable-column-sorted):hover .p-datatable-sort-icon {\n color: ").concat(dt("datatable.sort.icon.hover.color"), ";\n}\n\n.p-datatable-column-sorted {\n background: ").concat(dt("datatable.header.cell.selected.background"), ";\n color: ").concat(dt("datatable.header.cell.selected.color"), ";\n}\n\n.p-datatable-column-sorted .p-datatable-sort-icon {\n color: ").concat(dt("datatable.header.cell.selected.color"), ";\n}\n\n.p-datatable-sortable-column:focus-visible {\n box-shadow: ").concat(dt("datatable.header.cell.focus.ring.shadow"), ";\n outline: ").concat(dt("datatable.header.cell.focus.ring.width"), " ").concat(dt("datatable.header.cell.focus.ring.style"), " ").concat(dt("datatable.header.cell.focus.ring.color"), ";\n outline-offset: ").concat(dt("datatable.header.cell.focus.ring.offset"), ";\n}\n\n.p-datatable-hoverable .p-datatable-selectable-row {\n cursor: pointer;\n}\n\n.p-datatable-tbody > tr.p-datatable-dragpoint-top > td {\n box-shadow: inset 0 2px 0 0 ").concat(dt("datatable.drop.point.color"), ";\n}\n\n.p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {\n box-shadow: inset 0 -2px 0 0 ").concat(dt("datatable.drop.point.color"), ";\n}\n\n.p-datatable-loading-icon {\n font-size: ").concat(dt("datatable.loading.icon.size"), ";\n width: ").concat(dt("datatable.loading.icon.size"), ";\n height: ").concat(dt("datatable.loading.icon.size"), ";\n}\n\n.p-datatable-gridlines .p-datatable-header {\n border-width: 1px 1px 0 1px;\n}\n\n.p-datatable-gridlines .p-datatable-footer {\n border-width: 0 1px 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-paginator-top {\n border-width: 1px 1px 0 1px;\n}\n\n.p-datatable-gridlines .p-datatable-paginator-bottom {\n border-width: 0 1px 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-thead > tr > th {\n border-width: 1px 0 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-thead > tr > th:last-child {\n border-width: 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tbody > tr > td {\n border-width: 1px 0 0 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child {\n border-width: 1px 1px 0 1px;\n}\n\np-datatable-gridlines .p-datatable-tbody > tr:last-child > td {\n border-width: 1px 0 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child {\n border-width: 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tfoot > tr > td {\n border-width: 1px 0 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child {\n border-width: 1px 1px 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td {\n border-width: 0 0 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child {\n border-width: 0 1px 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td {\n border-width: 0 0 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child {\n border-width: 0 1px 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td {\n border-width: 0 0 0 1px;\n}\n\n.p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child {\n border-width: 0 1px 0 1px;\n}\n\n.p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd {\n background: ").concat(dt("datatable.row.striped.background"), ";\n}\n\n.p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-datatable-row-selected {\n background: ").concat(dt("datatable.row.selected.background"), ";\n color: ").concat(dt("datatable.row.selected.color"), ";\n}\n\n.p-datatable.p-datatable-sm .p-datatable-header {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-sm .p-datatable-thead > tr > th {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-sm .p-datatable-tbody > tr > td {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-sm .p-datatable-footer {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-header {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-thead > tr > th {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-tbody>tr>td {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-tfoot>tr>td {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-footer {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-datatable-row-toggle-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: ").concat(dt("datatable.row.toggle.button.size"), ";\n height: ").concat(dt("datatable.row.toggle.button.size"), ";\n color: ").concat(dt("datatable.row.toggle.button.color"), ";\n border: 0 none;\n background: transparent;\n cursor: pointer;\n border-radius: ").concat(dt("datatable.row.toggle.button.border.radius"), ";\n transition: background ").concat(dt("datatable.transition.duration"), ", color ").concat(dt("datatable.transition.duration"), ", border-color ").concat(dt("datatable.transition.duration"), ",\n outline-color ").concat(dt("datatable.transition.duration"), ", box-shadow ").concat(dt("datatable.transition.duration"), ";\n outline-color: transparent;\n user-select: none;\n}\n\n.p-datatable-row-toggle-button:enabled:hover {\n color: ").concat(dt("datatable.row.toggle.button.hover.color"), ";\n background: ").concat(dt("datatable.row.toggle.button.hover.background"), ";\n}\n\n.p-datatable-tbody > tr.p-datatable-row-selected .p-datatable-row-toggle-button:hover {\n background: ").concat(dt("datatable.row.toggle.button.selected.hover.background"), ";\n ").concat(dt("datatable.row.toggle.button.selected.hover.color"), ";\n}\n\n.p-datatable-row-toggle-button:focus-visible {\n box-shadow: ").concat(dt("datatable.row.toggle.button.focus.ring.shadow"), ";\n outline: ").concat(dt("datatable.row.toggle.button.focus.ring.width"), " ").concat(dt("datatable.row.toggle.button.focus.ring.style"), " ").concat(dt("datatable.row.toggle.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("datatable.row.toggle.button.focus.ring.offset"), ";\n}\n"); +}, "theme"); +var classes$1 = { + root: /* @__PURE__ */ __name(function root(_ref2) { + var props = _ref2.props; + return ["p-datatable p-component", { + "p-datatable-hoverable": props.rowHover || props.selectionMode, + "p-datatable-resizable": props.resizableColumns, + "p-datatable-resizable-fit": props.resizableColumns && props.columnResizeMode === "fit", + "p-datatable-scrollable": props.scrollable, + "p-datatable-flex-scrollable": props.scrollable && props.scrollHeight === "flex", + "p-datatable-striped": props.stripedRows, + "p-datatable-gridlines": props.showGridlines, + "p-datatable-sm": props.size === "small", + "p-datatable-lg": props.size === "large" + }]; + }, "root"), + mask: "p-datatable-mask p-overlay-mask", + loadingIcon: "p-datatable-loading-icon", + header: "p-datatable-header", + pcPaginator: /* @__PURE__ */ __name(function pcPaginator(_ref3) { + var position = _ref3.position; + return "p-datatable-paginator-" + position; + }, "pcPaginator"), + tableContainer: "p-datatable-table-container", + table: /* @__PURE__ */ __name(function table(_ref4) { + var props = _ref4.props; + return ["p-datatable-table", { + "p-datatable-scrollable-table": props.scrollable, + "p-datatable-resizable-table": props.resizableColumns, + "p-datatable-resizable-table-fit": props.resizableColumns && props.columnResizeMode === "fit" + }]; + }, "table"), + thead: "p-datatable-thead", + headerCell: /* @__PURE__ */ __name(function headerCell(_ref5) { + var instance = _ref5.instance, props = _ref5.props, column = _ref5.column; + return column && !instance.columnProp(column, "hidden") && (props.rowGroupMode !== "subheader" || props.groupRowsBy !== instance.columnProp(column, "field")) ? ["p-datatable-header-cell", { + "p-datatable-frozen-column": instance.columnProp(column, "frozen") + }] : ["p-datatable-header-cell", { + "p-datatable-sortable-column": instance.columnProp("sortable"), + "p-datatable-resizable-column": instance.resizableColumns, + "p-datatable-column-sorted": instance.isColumnSorted(), + "p-datatable-frozen-column": instance.columnProp("frozen"), + "p-datatable-reorderable-column": props.reorderableColumns + }]; + }, "headerCell"), + columnResizer: "p-datatable-column-resizer", + columnHeaderContent: "p-datatable-column-header-content", + columnTitle: "p-datatable-column-title", + columnFooter: "p-datatable-column-footer", + sortIcon: "p-datatable-sort-icon", + pcSortBadge: "p-datatable-sort-badge", + filter: /* @__PURE__ */ __name(function filter(_ref6) { + var props = _ref6.props; + return ["p-datatable-filter", { + "p-datatable-inline-filter": props.display === "row", + "p-datatable-popover-filter": props.display === "menu" + }]; + }, "filter"), + filterElementContainer: "p-datatable-filter-element-container", + pcColumnFilterButton: "p-datatable-column-filter-button", + pcColumnFilterClearButton: "p-datatable-column-filter-clear-button", + filterOverlay: /* @__PURE__ */ __name(function filterOverlay(_ref7) { + _ref7.instance; + var props = _ref7.props; + return ["p-datatable-filter-overlay p-component", { + "p-datatable-filter-overlay-popover": props.display === "menu" + }]; + }, "filterOverlay"), + filterConstraintList: "p-datatable-filter-constraint-list", + filterConstraint: /* @__PURE__ */ __name(function filterConstraint(_ref8) { + var instance = _ref8.instance, matchMode = _ref8.matchMode; + return ["p-datatable-filter-constraint", { + "p-datatable-filter-constraint-selected": matchMode && instance.isRowMatchModeSelected(matchMode.value) + }]; + }, "filterConstraint"), + filterConstraintSeparator: "p-datatable-filter-constraint-separator", + filterOperator: "p-datatable-filter-operator", + pcFilterOperatorDropdown: "p-datatable-filter-operator-dropdown", + filterRuleList: "p-datatable-filter-rule-list", + filterRule: "p-datatable-filter-rule", + pcFilterConstraintDropdown: "p-datatable-filter-constraint-dropdown", + pcFilterRemoveRuleButton: "p-datatable-filter-remove-rule-button", + pcFilterAddRuleButton: "p-datatable-filter-add-rule-button", + filterButtonbar: "p-datatable-filter-buttonbar", + pcFilterClearButton: "p-datatable-filter-clear-button", + pcFilterApplyButton: "p-datatable-filter-apply-button", + tbody: /* @__PURE__ */ __name(function tbody(_ref9) { + var props = _ref9.props; + return props.frozenRow ? "p-datatable-tbody p-datatable-frozen-tbody" : "p-datatable-tbody"; + }, "tbody"), + rowGroupHeader: "p-datatable-row-group-header", + rowToggleButton: "p-datatable-row-toggle-button", + rowToggleIcon: "p-datatable-row-toggle-icon", + row: /* @__PURE__ */ __name(function row(_ref10) { + var instance = _ref10.instance, props = _ref10.props, index = _ref10.index, columnSelectionMode = _ref10.columnSelectionMode; + var rowStyleClass = []; + if (props.selectionMode) { + rowStyleClass.push("p-datatable-selectable-row"); + } + if (props.selection) { + rowStyleClass.push({ + "p-datatable-row-selected": columnSelectionMode ? instance.isSelected && instance.$parentInstance.$parentInstance.highlightOnSelect : instance.isSelected + }); + } + if (props.contextMenuSelection) { + rowStyleClass.push({ + "p-datatable-contextmenu-row-selected": instance.isSelectedWithContextMenu + }); + } + rowStyleClass.push(index % 2 === 0 ? "p-row-even" : "p-row-odd"); + return rowStyleClass; + }, "row"), + rowExpansion: "p-datatable-row-expansion", + rowGroupFooter: "p-datatable-row-group-footer", + emptyMessage: "p-datatable-empty-message", + bodyCell: /* @__PURE__ */ __name(function bodyCell(_ref11) { + var instance = _ref11.instance; + return [{ + "p-datatable-frozen-column": instance.columnProp("frozen") + }]; + }, "bodyCell"), + reorderableRowHandle: "p-datatable-reorderable-row-handle", + pcRowEditorInit: "p-datatable-row-editor-init", + pcRowEditorSave: "p-datatable-row-editor-save", + pcRowEditorCancel: "p-datatable-row-editor-cancel", + tfoot: "p-datatable-tfoot", + footerCell: /* @__PURE__ */ __name(function footerCell(_ref12) { + var instance = _ref12.instance; + return [{ + "p-datatable-frozen-column": instance.columnProp("frozen") + }]; + }, "footerCell"), + virtualScrollerSpacer: "p-datatable-virtualscroller-spacer", + footer: "p-datatable-footer", + columnResizeIndicator: "p-datatable-column-resize-indicator", + rowReorderIndicatorUp: "p-datatable-row-reorder-indicator-up", + rowReorderIndicatorDown: "p-datatable-row-reorder-indicator-down" +}; +var inlineStyles = { + tableContainer: { + overflow: "auto" + }, + thead: { + position: "sticky" + }, + tfoot: { + position: "sticky" + } +}; +var DataTableStyle = BaseStyle.extend({ + name: "datatable", + theme: theme$1, + classes: classes$1, + inlineStyles +}); +var script$k = { + name: "PencilIcon", + "extends": script$t +}; +var _hoisted_1$c = /* @__PURE__ */ createBaseVNode("path", { + d: "M0.609628 13.959C0.530658 13.9599 0.452305 13.9451 0.379077 13.9156C0.305849 13.8861 0.239191 13.8424 0.18294 13.787C0.118447 13.7234 0.0688234 13.6464 0.0376166 13.5614C0.00640987 13.4765 -0.00560954 13.3857 0.00241768 13.2956L0.25679 10.1501C0.267698 10.0041 0.331934 9.86709 0.437312 9.76516L9.51265 0.705715C10.0183 0.233014 10.6911 -0.0203041 11.3835 0.00127367C12.0714 0.00660201 12.7315 0.27311 13.2298 0.746671C13.7076 1.23651 13.9824 1.88848 13.9992 2.57201C14.0159 3.25554 13.7733 3.92015 13.32 4.4327L4.23648 13.5331C4.13482 13.6342 4.0017 13.6978 3.85903 13.7133L0.667067 14L0.609628 13.959ZM1.43018 10.4696L1.25787 12.714L3.50619 12.5092L12.4502 3.56444C12.6246 3.35841 12.7361 3.10674 12.7714 2.83933C12.8067 2.57193 12.7644 2.30002 12.6495 2.05591C12.5346 1.8118 12.3519 1.60575 12.1231 1.46224C11.8943 1.31873 11.6291 1.2438 11.3589 1.24633C11.1813 1.23508 11.0033 1.25975 10.8355 1.31887C10.6677 1.37798 10.5136 1.47033 10.3824 1.59036L1.43018 10.4696Z", + fill: "currentColor" +}, null, -1); +var _hoisted_2$a = [_hoisted_1$c]; +function render$j(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps({ + width: "14", + height: "14", + viewBox: "0 0 14 14", + fill: "none", + xmlns: "http://www.w3.org/2000/svg" + }, _ctx.pti()), _hoisted_2$a, 16); +} +__name(render$j, "render$j"); +script$k.render = render$j; +var theme3 = /* @__PURE__ */ __name(function theme4(_ref) { + var dt = _ref.dt; + return "\n.p-radiobutton {\n position: relative;\n display: inline-flex;\n user-select: none;\n vertical-align: bottom;\n width: ".concat(dt("radiobutton.width"), ";\n height: ").concat(dt("radiobutton.height"), ";\n}\n\n.p-radiobutton-input {\n cursor: pointer;\n appearance: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: 1;\n outline: 0 none;\n border: 1px solid transparent;\n border-radius: 50%;\n}\n\n.p-radiobutton-box {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 50%;\n border: 1px solid ").concat(dt("radiobutton.border.color"), ";\n background: ").concat(dt("radiobutton.background"), ";\n width: ").concat(dt("radiobutton.width"), ";\n height: ").concat(dt("radiobutton.height"), ";\n transition: background ").concat(dt("radiobutton.transition.duration"), ", color ").concat(dt("radiobutton.transition.duration"), ", border-color ").concat(dt("radiobutton.transition.duration"), ", box-shadow ").concat(dt("radiobutton.transition.duration"), ", outline-color ").concat(dt("radiobutton.transition.duration"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("radiobutton.shadow"), ";\n}\n\n.p-radiobutton-icon {\n transition-duration: ").concat(dt("radiobutton.transition.duration"), ";\n background: transparent;\n font-size: ").concat(dt("radiobutton.icon.size"), ";\n width: ").concat(dt("radiobutton.icon.size"), ";\n height: ").concat(dt("radiobutton.icon.size"), ";\n border-radius: 50%;\n backface-visibility: hidden;\n transform: translateZ(0) scale(0.1);\n}\n\n.p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.hover.border.color"), ";\n}\n\n.p-radiobutton-checked .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.checked.border.color"), ";\n background: ").concat(dt("radiobutton.checked.background"), ";\n}\n\n.p-radiobutton-checked .p-radiobutton-box .p-radiobutton-icon {\n background: ").concat(dt("radiobutton.icon.checked.color"), ";\n transform: translateZ(0) scale(1, 1);\n visibility: visible;\n}\n\n.p-radiobutton-checked:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.checked.hover.border.color"), ";\n background: ").concat(dt("radiobutton.checked.hover.background"), ";\n}\n\n.p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover).p-radiobutton-checked .p-radiobutton-box .p-radiobutton-icon {\n background: ").concat(dt("radiobutton.icon.checked.hover.color"), ";\n}\n\n.p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:focus-visible) .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.focus.border.color"), ";\n box-shadow: ").concat(dt("radiobutton.focus.ring.shadow"), ";\n outline: ").concat(dt("radiobutton.focus.ring.width"), " ").concat(dt("radiobutton.focus.ring.style"), " ").concat(dt("radiobutton.focus.ring.color"), ";\n outline-offset: ").concat(dt("radiobutton.focus.ring.offset"), ";\n}\n\n.p-radiobutton-checked:not(.p-disabled):has(.p-radiobutton-input:focus-visible) .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.checked.focus.border.color"), ";\n}\n\n.p-radiobutton.p-invalid > .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.invalid.border.color"), ";\n}\n\n.p-radiobutton.p-variant-filled .p-radiobutton-box {\n background: ").concat(dt("radiobutton.filled.background"), ";\n}\n\n.p-radiobutton.p-variant-filled.p-radiobutton-checked .p-radiobutton-box {\n background: ").concat(dt("radiobutton.checked.background"), ";\n}\n\n.p-radiobutton.p-variant-filled:not(.p-disabled):has(.p-radiobutton-input:hover).p-radiobutton-checked .p-radiobutton-box {\n background: ").concat(dt("radiobutton.checked.hover.background"), ";\n}\n\n.p-radiobutton.p-disabled {\n opacity: 1;\n}\n\n.p-radiobutton.p-disabled .p-radiobutton-box {\n background: ").concat(dt("radiobutton.disabled.background"), ";\n border-color: ").concat(dt("radiobutton.checked.disabled.border.color"), ";\n}\n\n.p-radiobutton-checked.p-disabled .p-radiobutton-box .p-radiobutton-icon {\n background: ").concat(dt("radiobutton.icon.disabled.color"), ";\n}\n"); +}, "theme"); +var classes = { + root: /* @__PURE__ */ __name(function root2(_ref2) { + var instance = _ref2.instance, props = _ref2.props; + return ["p-radiobutton p-component", { + "p-radiobutton-checked": instance.checked, + "p-disabled": props.disabled, + "p-invalid": props.invalid, + "p-variant-filled": props.variant ? props.variant === "filled" : instance.$primevue.config.inputStyle === "filled" || instance.$primevue.config.inputVariant === "filled" + }]; + }, "root"), + box: "p-radiobutton-box", + input: "p-radiobutton-input", + icon: "p-radiobutton-icon" +}; +var RadioButtonStyle = BaseStyle.extend({ + name: "radiobutton", + theme: theme3, + classes +}); +var script$1$1 = { + name: "BaseRadioButton", + "extends": script$s, + props: { + value: null, + modelValue: null, + binary: Boolean, + name: { + type: String, + "default": null + }, + variant: { + type: String, + "default": null + }, + invalid: { + type: Boolean, + "default": false + }, + disabled: { + type: Boolean, + "default": false + }, + readonly: { + type: Boolean, + "default": false + }, + tabindex: { + type: Number, + "default": null + }, + inputId: { + type: String, + "default": null + }, + inputClass: { + type: [String, Object], + "default": null + }, + inputStyle: { + type: Object, + "default": null + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: RadioButtonStyle, + provide: /* @__PURE__ */ __name(function provide3() { + return { + $pcRadioButton: this, + $parentInstance: this + }; + }, "provide") +}; +var script$j = { + name: "RadioButton", + "extends": script$1$1, + inheritAttrs: false, + emits: ["update:modelValue", "change", "focus", "blur"], + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions6(key) { + var _ptm = key === "root" ? this.ptmi : this.ptm; + return _ptm(key, { + context: { + checked: this.checked, + disabled: this.disabled + } + }); + }, "getPTOptions"), + onChange: /* @__PURE__ */ __name(function onChange4(event2) { + if (!this.disabled && !this.readonly) { + var newModelValue = this.binary ? !this.checked : this.value; + this.$emit("update:modelValue", newModelValue); + this.$emit("change", event2); + } + }, "onChange"), + onFocus: /* @__PURE__ */ __name(function onFocus(event2) { + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur(event2) { + this.$emit("blur", event2); + }, "onBlur") + }, + computed: { + checked: /* @__PURE__ */ __name(function checked() { + return this.modelValue != null && (this.binary ? !!this.modelValue : equals(this.modelValue, this.value)); + }, "checked") + } +}; +var _hoisted_1$b = ["data-p-checked", "data-p-disabled"]; +var _hoisted_2$9 = ["id", "value", "name", "checked", "tabindex", "disabled", "readonly", "aria-labelledby", "aria-label", "aria-invalid"]; +function render$i(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, $options.getPTOptions("root"), { + "data-p-checked": $options.checked, + "data-p-disabled": _ctx.disabled + }), [createBaseVNode("input", mergeProps({ + id: _ctx.inputId, + type: "radio", + "class": [_ctx.cx("input"), _ctx.inputClass], + style: _ctx.inputStyle, + value: _ctx.value, + name: _ctx.name, + checked: $options.checked, + tabindex: _ctx.tabindex, + disabled: _ctx.disabled, + readonly: _ctx.readonly, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel, + "aria-invalid": _ctx.invalid || void 0, + onFocus: _cache[0] || (_cache[0] = function() { + return $options.onFocus && $options.onFocus.apply($options, arguments); + }), + onBlur: _cache[1] || (_cache[1] = function() { + return $options.onBlur && $options.onBlur.apply($options, arguments); + }), + onChange: _cache[2] || (_cache[2] = function() { + return $options.onChange && $options.onChange.apply($options, arguments); + }) + }, $options.getPTOptions("input")), null, 16, _hoisted_2$9), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("box") + }, $options.getPTOptions("box")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("icon") + }, $options.getPTOptions("icon")), null, 16)], 16)], 16, _hoisted_1$b); +} +__name(render$i, "render$i"); +script$j.render = render$i; +var script$i = { + name: "FilterIcon", + "extends": script$t +}; +var _hoisted_1$a = /* @__PURE__ */ createBaseVNode("path", { + d: "M8.64708 14H5.35296C5.18981 13.9979 5.03395 13.9321 4.91858 13.8167C4.8032 13.7014 4.73745 13.5455 4.73531 13.3824V7L0.329431 0.98C0.259794 0.889466 0.217389 0.780968 0.20718 0.667208C0.19697 0.553448 0.219379 0.439133 0.271783 0.337647C0.324282 0.236453 0.403423 0.151519 0.500663 0.0920138C0.597903 0.0325088 0.709548 0.000692754 0.823548 0H13.1765C13.2905 0.000692754 13.4021 0.0325088 13.4994 0.0920138C13.5966 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7826 0.780968 13.7402 0.889466 13.6706 0.98L9.26472 7V13.3824C9.26259 13.5455 9.19683 13.7014 9.08146 13.8167C8.96609 13.9321 8.81022 13.9979 8.64708 14ZM5.97061 12.7647H8.02943V6.79412C8.02878 6.66289 8.07229 6.53527 8.15296 6.43177L11.9412 1.23529H2.05884L5.86355 6.43177C5.94422 6.53527 5.98773 6.66289 5.98708 6.79412L5.97061 12.7647Z", + fill: "currentColor" +}, null, -1); +var _hoisted_2$8 = [_hoisted_1$a]; +function render$h(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps({ + width: "14", + height: "14", + viewBox: "0 0 14 14", + fill: "none", + xmlns: "http://www.w3.org/2000/svg" + }, _ctx.pti()), _hoisted_2$8, 16); +} +__name(render$h, "render$h"); +script$i.render = render$h; +var script$h = { + name: "FilterSlashIcon", + "extends": script$t +}; +var _hoisted_1$9 = /* @__PURE__ */ createBaseVNode("path", { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + d: "M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z", + fill: "currentColor" +}, null, -1); +var _hoisted_2$7 = [_hoisted_1$9]; +function render$g(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps({ + width: "14", + height: "14", + viewBox: "0 0 14 14", + fill: "none", + xmlns: "http://www.w3.org/2000/svg" + }, _ctx.pti()), _hoisted_2$7, 16); +} +__name(render$g, "render$g"); +script$h.render = render$g; +var script$g = { + name: "TrashIcon", + "extends": script$t +}; +var _hoisted_1$8 = /* @__PURE__ */ createBaseVNode("path", { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + d: "M3.44802 13.9955H10.552C10.8056 14.0129 11.06 13.9797 11.3006 13.898C11.5412 13.8163 11.7632 13.6877 11.9537 13.5196C12.1442 13.3515 12.2995 13.1473 12.4104 12.9188C12.5213 12.6903 12.5858 12.442 12.6 12.1884V4.36041H13.4C13.5591 4.36041 13.7117 4.29722 13.8243 4.18476C13.9368 4.07229 14 3.91976 14 3.76071C14 3.60166 13.9368 3.44912 13.8243 3.33666C13.7117 3.22419 13.5591 3.16101 13.4 3.16101H12.0537C12.0203 3.1557 11.9863 3.15299 11.952 3.15299C11.9178 3.15299 11.8838 3.1557 11.8503 3.16101H11.2285C11.2421 3.10893 11.2487 3.05513 11.248 3.00106V1.80966C11.2171 1.30262 10.9871 0.828306 10.608 0.48989C10.229 0.151475 9.73159 -0.0236625 9.22402 0.00257442H4.77602C4.27251 -0.0171866 3.78126 0.160868 3.40746 0.498617C3.03365 0.836366 2.807 1.30697 2.77602 1.80966V3.00106C2.77602 3.0556 2.78346 3.10936 2.79776 3.16101H0.6C0.521207 3.16101 0.443185 3.17652 0.37039 3.20666C0.297595 3.2368 0.231451 3.28097 0.175736 3.33666C0.120021 3.39235 0.0758251 3.45846 0.0456722 3.53121C0.0155194 3.60397 0 3.68196 0 3.76071C0 3.83946 0.0155194 3.91744 0.0456722 3.9902C0.0758251 4.06296 0.120021 4.12907 0.175736 4.18476C0.231451 4.24045 0.297595 4.28462 0.37039 4.31476C0.443185 4.3449 0.521207 4.36041 0.6 4.36041H1.40002V12.1884C1.41426 12.442 1.47871 12.6903 1.58965 12.9188C1.7006 13.1473 1.85582 13.3515 2.04633 13.5196C2.23683 13.6877 2.45882 13.8163 2.69944 13.898C2.94005 13.9797 3.1945 14.0129 3.44802 13.9955ZM2.60002 4.36041H11.304V12.1884C11.304 12.5163 10.952 12.7961 10.504 12.7961H3.40002C2.97602 12.7961 2.60002 12.5163 2.60002 12.1884V4.36041ZM3.95429 3.16101C3.96859 3.10936 3.97602 3.0556 3.97602 3.00106V1.80966C3.97602 1.48183 4.33602 1.20197 4.77602 1.20197H9.24802C9.66403 1.20197 10.048 1.48183 10.048 1.80966V3.00106C10.0473 3.05515 10.054 3.10896 10.0678 3.16101H3.95429ZM5.57571 10.997C5.41731 10.995 5.26597 10.9311 5.15395 10.8191C5.04193 10.7071 4.97808 10.5558 4.97601 10.3973V6.77517C4.97601 6.61612 5.0392 6.46359 5.15166 6.35112C5.26413 6.23866 5.41666 6.17548 5.57571 6.17548C5.73476 6.17548 5.8873 6.23866 5.99976 6.35112C6.11223 6.46359 6.17541 6.61612 6.17541 6.77517V10.3894C6.17647 10.4688 6.16174 10.5476 6.13208 10.6213C6.10241 10.695 6.05841 10.762 6.00261 10.8186C5.94682 10.8751 5.88035 10.92 5.80707 10.9506C5.73378 10.9813 5.65514 10.9971 5.57571 10.997ZM7.99968 10.8214C8.11215 10.9339 8.26468 10.997 8.42373 10.997C8.58351 10.9949 8.73604 10.93 8.84828 10.8163C8.96052 10.7025 9.02345 10.5491 9.02343 10.3894V6.77517C9.02343 6.61612 8.96025 6.46359 8.84778 6.35112C8.73532 6.23866 8.58278 6.17548 8.42373 6.17548C8.26468 6.17548 8.11215 6.23866 7.99968 6.35112C7.88722 6.46359 7.82404 6.61612 7.82404 6.77517V10.3973C7.82404 10.5564 7.88722 10.7089 7.99968 10.8214Z", + fill: "currentColor" +}, null, -1); +var _hoisted_2$6 = [_hoisted_1$8]; +function render$f(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps({ + width: "14", + height: "14", + viewBox: "0 0 14 14", + fill: "none", + xmlns: "http://www.w3.org/2000/svg" + }, _ctx.pti()), _hoisted_2$6, 16); +} +__name(render$f, "render$f"); +script$g.render = render$f; +var script$f = { + name: "SortAltIcon", + "extends": script$t +}; +var _hoisted_1$7 = /* @__PURE__ */ createBaseVNode("path", { + d: "M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z", + fill: "currentColor" +}, null, -1); +var _hoisted_2$5 = /* @__PURE__ */ createBaseVNode("path", { + d: "M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z", + fill: "currentColor" +}, null, -1); +var _hoisted_3$1 = /* @__PURE__ */ createBaseVNode("path", { + d: "M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z", + fill: "currentColor" +}, null, -1); +var _hoisted_4$1 = /* @__PURE__ */ createBaseVNode("path", { + d: "M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z", + fill: "currentColor" +}, null, -1); +var _hoisted_5$1 = [_hoisted_1$7, _hoisted_2$5, _hoisted_3$1, _hoisted_4$1]; +function render$e(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps({ + width: "14", + height: "14", + viewBox: "0 0 14 14", + fill: "none", + xmlns: "http://www.w3.org/2000/svg" + }, _ctx.pti()), _hoisted_5$1, 16); +} +__name(render$e, "render$e"); +script$f.render = render$e; +var script$e = { + name: "SortAmountDownIcon", + "extends": script$t +}; +var _hoisted_1$6 = /* @__PURE__ */ createBaseVNode("path", { + d: "M4.93953 10.5858L3.83759 11.6877V0.677419C3.83759 0.307097 3.53049 0 3.16017 0C2.78985 0 2.48275 0.307097 2.48275 0.677419V11.6877L1.38082 10.5858C1.11888 10.3239 0.685331 10.3239 0.423396 10.5858C0.16146 10.8477 0.16146 11.2813 0.423396 11.5432L2.68146 13.8013C2.74469 13.8645 2.81694 13.9097 2.89823 13.9458C2.97952 13.9819 3.06985 14 3.16017 14C3.25049 14 3.33178 13.9819 3.42211 13.9458C3.5034 13.9097 3.57565 13.8645 3.63888 13.8013L5.89694 11.5432C6.15888 11.2813 6.15888 10.8477 5.89694 10.5858C5.63501 10.3239 5.20146 10.3239 4.93953 10.5858ZM13.0957 0H7.22468C6.85436 0 6.54726 0.307097 6.54726 0.677419C6.54726 1.04774 6.85436 1.35484 7.22468 1.35484H13.0957C13.466 1.35484 13.7731 1.04774 13.7731 0.677419C13.7731 0.307097 13.466 0 13.0957 0ZM7.22468 5.41935H9.48275C9.85307 5.41935 10.1602 5.72645 10.1602 6.09677C10.1602 6.4671 9.85307 6.77419 9.48275 6.77419H7.22468C6.85436 6.77419 6.54726 6.4671 6.54726 6.09677C6.54726 5.72645 6.85436 5.41935 7.22468 5.41935ZM7.6763 8.12903H7.22468C6.85436 8.12903 6.54726 8.43613 6.54726 8.80645C6.54726 9.17677 6.85436 9.48387 7.22468 9.48387H7.6763C8.04662 9.48387 8.35372 9.17677 8.35372 8.80645C8.35372 8.43613 8.04662 8.12903 7.6763 8.12903ZM7.22468 2.70968H11.2892C11.6595 2.70968 11.9666 3.01677 11.9666 3.3871C11.9666 3.75742 11.6595 4.06452 11.2892 4.06452H7.22468C6.85436 4.06452 6.54726 3.75742 6.54726 3.3871C6.54726 3.01677 6.85436 2.70968 7.22468 2.70968Z", + fill: "currentColor" +}, null, -1); +var _hoisted_2$4 = [_hoisted_1$6]; +function render$d(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps({ + width: "14", + height: "14", + viewBox: "0 0 14 14", + fill: "none", + xmlns: "http://www.w3.org/2000/svg" + }, _ctx.pti()), _hoisted_2$4, 16); +} +__name(render$d, "render$d"); +script$e.render = render$d; +var script$d = { + name: "SortAmountUpAltIcon", + "extends": script$t +}; +var _hoisted_1$5 = /* @__PURE__ */ createBaseVNode("path", { + d: "M3.63435 0.19871C3.57113 0.135484 3.49887 0.0903226 3.41758 0.0541935C3.255 -0.0180645 3.06532 -0.0180645 2.90274 0.0541935C2.82145 0.0903226 2.74919 0.135484 2.68597 0.19871L0.427901 2.45677C0.165965 2.71871 0.165965 3.15226 0.427901 3.41419C0.689836 3.67613 1.12338 3.67613 1.38532 3.41419L2.48726 2.31226V13.3226C2.48726 13.6929 2.79435 14 3.16467 14C3.535 14 3.84209 13.6929 3.84209 13.3226V2.31226L4.94403 3.41419C5.07951 3.54968 5.25113 3.6129 5.42274 3.6129C5.59435 3.6129 5.76597 3.54968 5.90145 3.41419C6.16338 3.15226 6.16338 2.71871 5.90145 2.45677L3.64338 0.19871H3.63435ZM13.7685 13.3226C13.7685 12.9523 13.4615 12.6452 13.0911 12.6452H7.22016C6.84984 12.6452 6.54274 12.9523 6.54274 13.3226C6.54274 13.6929 6.84984 14 7.22016 14H13.0911C13.4615 14 13.7685 13.6929 13.7685 13.3226ZM7.22016 8.58064C6.84984 8.58064 6.54274 8.27355 6.54274 7.90323C6.54274 7.5329 6.84984 7.22581 7.22016 7.22581H9.47823C9.84855 7.22581 10.1556 7.5329 10.1556 7.90323C10.1556 8.27355 9.84855 8.58064 9.47823 8.58064H7.22016ZM7.22016 5.87097H7.67177C8.0421 5.87097 8.34919 5.56387 8.34919 5.19355C8.34919 4.82323 8.0421 4.51613 7.67177 4.51613H7.22016C6.84984 4.51613 6.54274 4.82323 6.54274 5.19355C6.54274 5.56387 6.84984 5.87097 7.22016 5.87097ZM11.2847 11.2903H7.22016C6.84984 11.2903 6.54274 10.9832 6.54274 10.6129C6.54274 10.2426 6.84984 9.93548 7.22016 9.93548H11.2847C11.655 9.93548 11.9621 10.2426 11.9621 10.6129C11.9621 10.9832 11.655 11.2903 11.2847 11.2903Z", + fill: "currentColor" +}, null, -1); +var _hoisted_2$3 = [_hoisted_1$5]; +function render$c(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps({ + width: "14", + height: "14", + viewBox: "0 0 14 14", + fill: "none", + xmlns: "http://www.w3.org/2000/svg" + }, _ctx.pti()), _hoisted_2$3, 16); +} +__name(render$c, "render$c"); +script$d.render = render$c; +var script$c = { + name: "BaseDataTable", + "extends": script$s, + props: { + value: { + type: Array, + "default": null + }, + dataKey: { + type: [String, Function], + "default": null + }, + rows: { + type: Number, + "default": 0 + }, + first: { + type: Number, + "default": 0 + }, + totalRecords: { + type: Number, + "default": 0 + }, + paginator: { + type: Boolean, + "default": false + }, + paginatorPosition: { + type: String, + "default": "bottom" + }, + alwaysShowPaginator: { + type: Boolean, + "default": true + }, + paginatorTemplate: { + type: [Object, String], + "default": "FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown" + }, + pageLinkSize: { + type: Number, + "default": 5 + }, + rowsPerPageOptions: { + type: Array, + "default": null + }, + currentPageReportTemplate: { + type: String, + "default": "({currentPage} of {totalPages})" + }, + lazy: { + type: Boolean, + "default": false + }, + loading: { + type: Boolean, + "default": false + }, + loadingIcon: { + type: String, + "default": void 0 + }, + sortField: { + type: [String, Function], + "default": null + }, + sortOrder: { + type: Number, + "default": null + }, + defaultSortOrder: { + type: Number, + "default": 1 + }, + nullSortOrder: { + type: Number, + "default": 1 + }, + multiSortMeta: { + type: Array, + "default": null + }, + sortMode: { + type: String, + "default": "single" + }, + removableSort: { + type: Boolean, + "default": false + }, + filters: { + type: Object, + "default": null + }, + filterDisplay: { + type: String, + "default": null + }, + globalFilterFields: { + type: Array, + "default": null + }, + filterLocale: { + type: String, + "default": void 0 + }, + selection: { + type: [Array, Object], + "default": null + }, + selectionMode: { + type: String, + "default": null + }, + compareSelectionBy: { + type: String, + "default": "deepEquals" + }, + metaKeySelection: { + type: Boolean, + "default": false + }, + contextMenu: { + type: Boolean, + "default": false + }, + contextMenuSelection: { + type: Object, + "default": null + }, + selectAll: { + type: Boolean, + "default": null + }, + rowHover: { + type: Boolean, + "default": false + }, + csvSeparator: { + type: String, + "default": "," + }, + exportFilename: { + type: String, + "default": "download" + }, + exportFunction: { + type: Function, + "default": null + }, + resizableColumns: { + type: Boolean, + "default": false + }, + columnResizeMode: { + type: String, + "default": "fit" + }, + reorderableColumns: { + type: Boolean, + "default": false + }, + expandedRows: { + type: [Array, Object], + "default": null + }, + expandedRowIcon: { + type: String, + "default": void 0 + }, + collapsedRowIcon: { + type: String, + "default": void 0 + }, + rowGroupMode: { + type: String, + "default": null + }, + groupRowsBy: { + type: [Array, String, Function], + "default": null + }, + expandableRowGroups: { + type: Boolean, + "default": false + }, + expandedRowGroups: { + type: Array, + "default": null + }, + stateStorage: { + type: String, + "default": "session" + }, + stateKey: { + type: String, + "default": null + }, + editMode: { + type: String, + "default": null + }, + editingRows: { + type: Array, + "default": null + }, + rowClass: { + type: Function, + "default": null + }, + rowStyle: { + type: Function, + "default": null + }, + scrollable: { + type: Boolean, + "default": false + }, + virtualScrollerOptions: { + type: Object, + "default": null + }, + scrollHeight: { + type: String, + "default": null + }, + frozenValue: { + type: Array, + "default": null + }, + breakpoint: { + type: String, + "default": "960px" + }, + showGridlines: { + type: Boolean, + "default": false + }, + stripedRows: { + type: Boolean, + "default": false + }, + highlightOnSelect: { + type: Boolean, + "default": false + }, + size: { + type: String, + "default": null + }, + tableStyle: { + type: null, + "default": null + }, + tableClass: { + type: [String, Object], + "default": null + }, + tableProps: { + type: Object, + "default": null + }, + filterInputProps: { + type: null, + "default": null + }, + filterButtonProps: { + type: Object, + "default": /* @__PURE__ */ __name(function _default2() { + return { + filter: { + severity: "secondary", + text: true, + rounded: true + }, + inline: { + clear: { + severity: "secondary", + text: true, + rounded: true + } + }, + popover: { + addRule: { + severity: "info", + text: true, + size: "small" + }, + removeRule: { + severity: "danger", + text: true, + size: "small" + }, + apply: { + size: "small" + }, + clear: { + outlined: true, + size: "small" + } + } + }; + }, "_default") + }, + editButtonProps: { + type: Object, + "default": /* @__PURE__ */ __name(function _default3() { + return { + init: { + severity: "secondary", + text: true, + rounded: true + }, + save: { + severity: "secondary", + text: true, + rounded: true + }, + cancel: { + severity: "secondary", + text: true, + rounded: true + } + }; + }, "_default") + } + }, + style: DataTableStyle, + provide: /* @__PURE__ */ __name(function provide4() { + return { + $pcDataTable: this, + $parentInstance: this + }; + }, "provide") +}; +var script$b = { + name: "RowCheckbox", + hostName: "DataTable", + "extends": script$s, + emits: ["change"], + props: { + value: null, + checked: null, + column: null, + rowCheckboxIconTemplate: { + type: Function, + "default": null + }, + index: { + type: Number, + "default": null + } + }, + methods: { + getColumnPT: /* @__PURE__ */ __name(function getColumnPT(key) { + var columnMetaData = { + props: this.column.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + index: this.index, + checked: this.checked, + disabled: this.$attrs.disabled + } + }; + return mergeProps(this.ptm("column.".concat(key), { + column: columnMetaData + }), this.ptm("column.".concat(key), columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData)); + }, "getColumnPT"), + getColumnProp: /* @__PURE__ */ __name(function getColumnProp() { + return this.column.props && this.column.props.pt ? this.column.props.pt : void 0; + }, "getColumnProp"), + onChange: /* @__PURE__ */ __name(function onChange5(event2) { + if (!this.$attrs.disabled) { + this.$emit("change", { + originalEvent: event2, + data: this.value + }); + } + }, "onChange") + }, + computed: { + checkboxAriaLabel: /* @__PURE__ */ __name(function checkboxAriaLabel() { + return this.$primevue.config.locale.aria ? this.checked ? this.$primevue.config.locale.aria.selectRow : this.$primevue.config.locale.aria.unselectRow : void 0; + }, "checkboxAriaLabel") + }, + components: { + CheckIcon: script$x, + Checkbox: script$y + } +}; +function render$b(_ctx, _cache, $props, $setup, $data, $options) { + var _component_CheckIcon = resolveComponent("CheckIcon"); + var _component_Checkbox = resolveComponent("Checkbox"); + return openBlock(), createBlock(_component_Checkbox, { + modelValue: $props.checked, + binary: true, + disabled: _ctx.$attrs.disabled, + "aria-label": $options.checkboxAriaLabel, + onChange: $options.onChange, + unstyled: _ctx.unstyled, + pt: $options.getColumnPT("pcRowCheckbox") + }, { + icon: withCtx(function(slotProps) { + return [$props.rowCheckboxIconTemplate ? (openBlock(), createBlock(resolveDynamicComponent($props.rowCheckboxIconTemplate), { + key: 0, + checked: slotProps.checked, + "class": normalizeClass(slotProps["class"]) + }, null, 8, ["checked", "class"])) : !$props.rowCheckboxIconTemplate && slotProps.checked ? (openBlock(), createBlock(_component_CheckIcon, mergeProps({ + key: 1, + "class": slotProps["class"] + }, $options.getColumnPT("pcRowCheckbox")["icon"]), null, 16, ["class"])) : createCommentVNode("", true)]; + }), + _: 1 + }, 8, ["modelValue", "disabled", "aria-label", "onChange", "unstyled", "pt"]); +} +__name(render$b, "render$b"); +script$b.render = render$b; +var script$a = { + name: "RowRadioButton", + hostName: "DataTable", + "extends": script$s, + emits: ["change"], + props: { + value: null, + checked: null, + name: null, + column: null, + index: { + type: Number, + "default": null + } + }, + methods: { + getColumnPT: /* @__PURE__ */ __name(function getColumnPT2(key) { + var columnMetaData = { + props: this.column.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + index: this.index, + checked: this.checked, + disabled: this.$attrs.disabled + } + }; + return mergeProps(this.ptm("column.".concat(key), { + column: columnMetaData + }), this.ptm("column.".concat(key), columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData)); + }, "getColumnPT"), + getColumnProp: /* @__PURE__ */ __name(function getColumnProp2() { + return this.column.props && this.column.props.pt ? this.column.props.pt : void 0; + }, "getColumnProp"), + onChange: /* @__PURE__ */ __name(function onChange6(event2) { + if (!this.$attrs.disabled) { + this.$emit("change", { + originalEvent: event2, + data: this.value + }); + } + }, "onChange") + }, + components: { + RadioButton: script$j + } +}; +function render$a(_ctx, _cache, $props, $setup, $data, $options) { + var _component_RadioButton = resolveComponent("RadioButton"); + return openBlock(), createBlock(_component_RadioButton, { + modelValue: $props.checked, + binary: true, + disabled: _ctx.$attrs.disabled, + name: $props.name, + onChange: $options.onChange, + unstyled: _ctx.unstyled, + pt: $options.getColumnPT("pcRowRadiobutton") + }, null, 8, ["modelValue", "disabled", "name", "onChange", "unstyled", "pt"]); +} +__name(render$a, "render$a"); +script$a.render = render$a; +var script$9 = { + name: "BodyCell", + hostName: "DataTable", + "extends": script$s, + emits: ["cell-edit-init", "cell-edit-complete", "cell-edit-cancel", "row-edit-init", "row-edit-save", "row-edit-cancel", "row-toggle", "radio-change", "checkbox-change", "editing-meta-change"], + props: { + rowData: { + type: Object, + "default": null + }, + column: { + type: Object, + "default": null + }, + frozenRow: { + type: Boolean, + "default": false + }, + rowIndex: { + type: Number, + "default": null + }, + index: { + type: Number, + "default": null + }, + isRowExpanded: { + type: Boolean, + "default": false + }, + selected: { + type: Boolean, + "default": false + }, + editing: { + type: Boolean, + "default": false + }, + editingMeta: { + type: Object, + "default": null + }, + editMode: { + type: String, + "default": null + }, + virtualScrollerContentProps: { + type: Object, + "default": null + }, + ariaControls: { + type: String, + "default": null + }, + name: { + type: String, + "default": null + }, + expandedRowIcon: { + type: String, + "default": null + }, + collapsedRowIcon: { + type: String, + "default": null + }, + editButtonProps: { + type: Object, + "default": null + } + }, + documentEditListener: null, + selfClick: false, + overlayEventListener: null, + data: /* @__PURE__ */ __name(function data3() { + return { + d_editing: this.editing, + styleObject: {} + }; + }, "data"), + watch: { + editing: /* @__PURE__ */ __name(function editing(newValue) { + this.d_editing = newValue; + }, "editing"), + "$data.d_editing": /* @__PURE__ */ __name(function $dataD_editing(newValue) { + this.$emit("editing-meta-change", { + data: this.rowData, + field: this.field || "field_".concat(this.index), + index: this.rowIndex, + editing: newValue + }); + }, "$dataD_editing") + }, + mounted: /* @__PURE__ */ __name(function mounted3() { + if (this.columnProp("frozen")) { + this.updateStickyPosition(); + } + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated() { + var _this = this; + if (this.columnProp("frozen")) { + this.updateStickyPosition(); + } + if (this.d_editing && (this.editMode === "cell" || this.editMode === "row" && this.columnProp("rowEditor"))) { + setTimeout(function() { + var focusableEl = getFirstFocusableElement(_this.$el); + focusableEl && focusableEl.focus(); + }, 1); + } + }, "updated"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount() { + if (this.overlayEventListener) { + OverlayEventBus.off("overlay-click", this.overlayEventListener); + this.overlayEventListener = null; + } + }, "beforeUnmount"), + methods: { + columnProp: /* @__PURE__ */ __name(function columnProp(prop) { + return getVNodeProp(this.column, prop); + }, "columnProp"), + getColumnPT: /* @__PURE__ */ __name(function getColumnPT3(key) { + var _this$$parentInstance, _this$$parentInstance2; + var columnMetaData = { + props: this.column.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + index: this.index, + size: (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 || (_this$$parentInstance = _this$$parentInstance.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.size, + showGridlines: (_this$$parentInstance2 = this.$parentInstance) === null || _this$$parentInstance2 === void 0 || (_this$$parentInstance2 = _this$$parentInstance2.$parentInstance) === null || _this$$parentInstance2 === void 0 ? void 0 : _this$$parentInstance2.showGridlines + } + }; + return mergeProps(this.ptm("column.".concat(key), { + column: columnMetaData + }), this.ptm("column.".concat(key), columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData)); + }, "getColumnPT"), + getColumnProp: /* @__PURE__ */ __name(function getColumnProp3() { + return this.column.props && this.column.props.pt ? this.column.props.pt : void 0; + }, "getColumnProp"), + resolveFieldData: /* @__PURE__ */ __name(function resolveFieldData$1() { + return resolveFieldData(this.rowData, this.field); + }, "resolveFieldData$1"), + toggleRow: /* @__PURE__ */ __name(function toggleRow(event2) { + this.$emit("row-toggle", { + originalEvent: event2, + data: this.rowData + }); + }, "toggleRow"), + toggleRowWithRadio: /* @__PURE__ */ __name(function toggleRowWithRadio(event2, index) { + this.$emit("radio-change", { + originalEvent: event2.originalEvent, + index, + data: event2.data + }); + }, "toggleRowWithRadio"), + toggleRowWithCheckbox: /* @__PURE__ */ __name(function toggleRowWithCheckbox(event2, index) { + this.$emit("checkbox-change", { + originalEvent: event2.originalEvent, + index, + data: event2.data + }); + }, "toggleRowWithCheckbox"), + isEditable: /* @__PURE__ */ __name(function isEditable() { + return this.column.children && this.column.children.editor != null; + }, "isEditable"), + bindDocumentEditListener: /* @__PURE__ */ __name(function bindDocumentEditListener() { + var _this2 = this; + if (!this.documentEditListener) { + this.documentEditListener = function(event2) { + if (!_this2.selfClick) { + _this2.completeEdit(event2, "outside"); + } + _this2.selfClick = false; + }; + document.addEventListener("click", this.documentEditListener); + } + }, "bindDocumentEditListener"), + unbindDocumentEditListener: /* @__PURE__ */ __name(function unbindDocumentEditListener() { + if (this.documentEditListener) { + document.removeEventListener("click", this.documentEditListener); + this.documentEditListener = null; + this.selfClick = false; + } + }, "unbindDocumentEditListener"), + switchCellToViewMode: /* @__PURE__ */ __name(function switchCellToViewMode() { + this.d_editing = false; + this.unbindDocumentEditListener(); + OverlayEventBus.off("overlay-click", this.overlayEventListener); + this.overlayEventListener = null; + }, "switchCellToViewMode"), + onClick: /* @__PURE__ */ __name(function onClick(event2) { + var _this3 = this; + if (this.editMode === "cell" && this.isEditable()) { + this.selfClick = true; + if (!this.d_editing) { + this.d_editing = true; + this.bindDocumentEditListener(); + this.$emit("cell-edit-init", { + originalEvent: event2, + data: this.rowData, + field: this.field, + index: this.rowIndex + }); + this.overlayEventListener = function(e) { + if (_this3.$el && _this3.$el.contains(e.target)) { + _this3.selfClick = true; + } + }; + OverlayEventBus.on("overlay-click", this.overlayEventListener); + } + } + }, "onClick"), + completeEdit: /* @__PURE__ */ __name(function completeEdit(event2, type) { + var completeEvent = { + originalEvent: event2, + data: this.rowData, + newData: this.editingRowData, + value: this.rowData[this.field], + newValue: this.editingRowData[this.field], + field: this.field, + index: this.rowIndex, + type, + defaultPrevented: false, + preventDefault: /* @__PURE__ */ __name(function preventDefault() { + this.defaultPrevented = true; + }, "preventDefault") + }; + this.$emit("cell-edit-complete", completeEvent); + if (!completeEvent.defaultPrevented) { + this.switchCellToViewMode(); + } + }, "completeEdit"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown(event2) { + if (this.editMode === "cell") { + switch (event2.code) { + case "Enter": + case "NumpadEnter": + this.completeEdit(event2, "enter"); + break; + case "Escape": + this.switchCellToViewMode(); + this.$emit("cell-edit-cancel", { + originalEvent: event2, + data: this.rowData, + field: this.field, + index: this.rowIndex + }); + break; + case "Tab": + this.completeEdit(event2, "tab"); + if (event2.shiftKey) this.moveToPreviousCell(event2); + else this.moveToNextCell(event2); + break; + } + } + }, "onKeyDown"), + moveToPreviousCell: /* @__PURE__ */ __name(function moveToPreviousCell(event2) { + var currentCell = this.findCell(event2.target); + var targetCell = this.findPreviousEditableColumn(currentCell); + if (targetCell) { + invokeElementMethod(targetCell, "click"); + event2.preventDefault(); + } + }, "moveToPreviousCell"), + moveToNextCell: /* @__PURE__ */ __name(function moveToNextCell(event2) { + var currentCell = this.findCell(event2.target); + var targetCell = this.findNextEditableColumn(currentCell); + if (targetCell) { + invokeElementMethod(targetCell, "click"); + event2.preventDefault(); + } + }, "moveToNextCell"), + findCell: /* @__PURE__ */ __name(function findCell(element) { + if (element) { + var cell = element; + while (cell && !getAttribute(cell, "data-p-cell-editing")) { + cell = cell.parentElement; + } + return cell; + } else { + return null; + } + }, "findCell"), + findPreviousEditableColumn: /* @__PURE__ */ __name(function findPreviousEditableColumn(cell) { + var prevCell = cell.previousElementSibling; + if (!prevCell) { + var previousRow = cell.parentElement.previousElementSibling; + if (previousRow) { + prevCell = previousRow.lastElementChild; + } + } + if (prevCell) { + if (getAttribute(prevCell, "data-p-editable-column")) return prevCell; + else return this.findPreviousEditableColumn(prevCell); + } else { + return null; + } + }, "findPreviousEditableColumn"), + findNextEditableColumn: /* @__PURE__ */ __name(function findNextEditableColumn(cell) { + var nextCell = cell.nextElementSibling; + if (!nextCell) { + var nextRow = cell.parentElement.nextElementSibling; + if (nextRow) { + nextCell = nextRow.firstElementChild; + } + } + if (nextCell) { + if (getAttribute(nextCell, "data-p-editable-column")) return nextCell; + else return this.findNextEditableColumn(nextCell); + } else { + return null; + } + }, "findNextEditableColumn"), + onRowEditInit: /* @__PURE__ */ __name(function onRowEditInit(event2) { + this.$emit("row-edit-init", { + originalEvent: event2, + data: this.rowData, + newData: this.editingRowData, + field: this.field, + index: this.rowIndex + }); + }, "onRowEditInit"), + onRowEditSave: /* @__PURE__ */ __name(function onRowEditSave(event2) { + this.$emit("row-edit-save", { + originalEvent: event2, + data: this.rowData, + newData: this.editingRowData, + field: this.field, + index: this.rowIndex + }); + }, "onRowEditSave"), + onRowEditCancel: /* @__PURE__ */ __name(function onRowEditCancel(event2) { + this.$emit("row-edit-cancel", { + originalEvent: event2, + data: this.rowData, + newData: this.editingRowData, + field: this.field, + index: this.rowIndex + }); + }, "onRowEditCancel"), + editorInitCallback: /* @__PURE__ */ __name(function editorInitCallback(event2) { + this.$emit("row-edit-init", { + originalEvent: event2, + data: this.rowData, + newData: this.editingRowData, + field: this.field, + index: this.rowIndex + }); + }, "editorInitCallback"), + editorSaveCallback: /* @__PURE__ */ __name(function editorSaveCallback(event2) { + if (this.editMode === "row") { + this.$emit("row-edit-save", { + originalEvent: event2, + data: this.rowData, + newData: this.editingRowData, + field: this.field, + index: this.rowIndex + }); + } else { + this.completeEdit(event2, "enter"); + } + }, "editorSaveCallback"), + editorCancelCallback: /* @__PURE__ */ __name(function editorCancelCallback(event2) { + if (this.editMode === "row") { + this.$emit("row-edit-cancel", { + originalEvent: event2, + data: this.rowData, + newData: this.editingRowData, + field: this.field, + index: this.rowIndex + }); + } else { + this.switchCellToViewMode(); + this.$emit("cell-edit-cancel", { + originalEvent: event2, + data: this.rowData, + field: this.field, + index: this.rowIndex + }); + } + }, "editorCancelCallback"), + updateStickyPosition: /* @__PURE__ */ __name(function updateStickyPosition() { + if (this.columnProp("frozen")) { + var align = this.columnProp("alignFrozen"); + if (align === "right") { + var right = 0; + var next2 = getNextElementSibling(this.$el, '[data-p-frozen-column="true"]'); + if (next2) { + right = getOuterWidth(next2) + parseFloat(next2.style.right || 0); + } + this.styleObject.right = right + "px"; + } else { + var left = 0; + var prev2 = getPreviousElementSibling(this.$el, '[data-p-frozen-column="true"]'); + if (prev2) { + left = getOuterWidth(prev2) + parseFloat(prev2.style.left || 0); + } + this.styleObject.left = left + "px"; + } + } + }, "updateStickyPosition"), + getVirtualScrollerProp: /* @__PURE__ */ __name(function getVirtualScrollerProp(option) { + return this.virtualScrollerContentProps ? this.virtualScrollerContentProps[option] : null; + }, "getVirtualScrollerProp") + }, + computed: { + editingRowData: /* @__PURE__ */ __name(function editingRowData() { + return this.editingMeta[this.rowIndex] ? this.editingMeta[this.rowIndex].data : this.rowData; + }, "editingRowData"), + field: /* @__PURE__ */ __name(function field() { + return this.columnProp("field"); + }, "field"), + containerClass: /* @__PURE__ */ __name(function containerClass() { + return [this.columnProp("bodyClass"), this.columnProp("class"), this.cx("bodyCell")]; + }, "containerClass"), + containerStyle: /* @__PURE__ */ __name(function containerStyle() { + var bodyStyle = this.columnProp("bodyStyle"); + var columnStyle = this.columnProp("style"); + return this.columnProp("frozen") ? [columnStyle, bodyStyle, this.styleObject] : [columnStyle, bodyStyle]; + }, "containerStyle"), + loading: /* @__PURE__ */ __name(function loading() { + return this.getVirtualScrollerProp("loading"); + }, "loading"), + loadingOptions: /* @__PURE__ */ __name(function loadingOptions() { + var getLoaderOptions = this.getVirtualScrollerProp("getLoaderOptions"); + return getLoaderOptions && getLoaderOptions(this.rowIndex, { + cellIndex: this.index, + cellFirst: this.index === 0, + cellLast: this.index === this.getVirtualScrollerProp("columns").length - 1, + cellEven: this.index % 2 === 0, + cellOdd: this.index % 2 !== 0, + column: this.column, + field: this.field + }); + }, "loadingOptions"), + expandButtonAriaLabel: /* @__PURE__ */ __name(function expandButtonAriaLabel() { + return this.$primevue.config.locale.aria ? this.isRowExpanded ? this.$primevue.config.locale.aria.expandRow : this.$primevue.config.locale.aria.collapseRow : void 0; + }, "expandButtonAriaLabel"), + initButtonAriaLabel: /* @__PURE__ */ __name(function initButtonAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.editRow : void 0; + }, "initButtonAriaLabel"), + saveButtonAriaLabel: /* @__PURE__ */ __name(function saveButtonAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.saveEdit : void 0; + }, "saveButtonAriaLabel"), + cancelButtonAriaLabel: /* @__PURE__ */ __name(function cancelButtonAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.cancelEdit : void 0; + }, "cancelButtonAriaLabel") + }, + components: { + DTRadioButton: script$a, + DTCheckbox: script$b, + Button: script$z, + ChevronDownIcon: script$A, + ChevronRightIcon: script$B, + BarsIcon: script$C, + PencilIcon: script$k, + CheckIcon: script$x, + TimesIcon: script$D + }, + directives: { + ripple: Ripple + } +}; +function _typeof$a(o) { + "@babel/helpers - typeof"; + return _typeof$a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$a(o); +} +__name(_typeof$a, "_typeof$a"); +function ownKeys$a(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$a, "ownKeys$a"); +function _objectSpread$a(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$a(Object(t), true).forEach(function(r2) { + _defineProperty$a(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$a, "_objectSpread$a"); +function _defineProperty$a(e, r, t) { + return (r = _toPropertyKey$a(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$a, "_defineProperty$a"); +function _toPropertyKey$a(t) { + var i = _toPrimitive$a(t, "string"); + return "symbol" == _typeof$a(i) ? i : i + ""; +} +__name(_toPropertyKey$a, "_toPropertyKey$a"); +function _toPrimitive$a(t, r) { + if ("object" != _typeof$a(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$a(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$a, "_toPrimitive$a"); +var _hoisted_1$4 = ["colspan", "rowspan", "data-p-selection-column", "data-p-editable-column", "data-p-cell-editing", "data-p-frozen-column"]; +var _hoisted_2$2 = ["aria-expanded", "aria-controls", "aria-label"]; +function render$9(_ctx, _cache, $props, $setup, $data, $options) { + var _component_DTRadioButton = resolveComponent("DTRadioButton"); + var _component_DTCheckbox = resolveComponent("DTCheckbox"); + var _component_BarsIcon = resolveComponent("BarsIcon"); + var _component_ChevronDownIcon = resolveComponent("ChevronDownIcon"); + var _component_ChevronRightIcon = resolveComponent("ChevronRightIcon"); + var _component_Button = resolveComponent("Button"); + var _directive_ripple = resolveDirective("ripple"); + return $options.loading ? (openBlock(), createElementBlock("td", mergeProps({ + key: 0, + style: $options.containerStyle, + "class": $options.containerClass, + role: "cell" + }, _objectSpread$a(_objectSpread$a({}, $options.getColumnPT("root")), $options.getColumnPT("bodyCell"))), [(openBlock(), createBlock(resolveDynamicComponent($props.column.children.loading), { + data: $props.rowData, + column: $props.column, + field: $options.field, + index: $props.rowIndex, + frozenRow: $props.frozenRow, + loadingOptions: $options.loadingOptions + }, null, 8, ["data", "column", "field", "index", "frozenRow", "loadingOptions"]))], 16)) : (openBlock(), createElementBlock("td", mergeProps({ + key: 1, + style: $options.containerStyle, + "class": $options.containerClass, + colspan: $options.columnProp("colspan"), + rowspan: $options.columnProp("rowspan"), + onClick: _cache[3] || (_cache[3] = function() { + return $options.onClick && $options.onClick.apply($options, arguments); + }), + onKeydown: _cache[4] || (_cache[4] = function() { + return $options.onKeyDown && $options.onKeyDown.apply($options, arguments); + }), + role: "cell" + }, _objectSpread$a(_objectSpread$a({}, $options.getColumnPT("root")), $options.getColumnPT("bodyCell")), { + "data-p-selection-column": $options.columnProp("selectionMode") != null, + "data-p-editable-column": $options.isEditable(), + "data-p-cell-editing": $data.d_editing, + "data-p-frozen-column": $options.columnProp("frozen") + }), [$props.column.children && $props.column.children.body && !$data.d_editing ? (openBlock(), createBlock(resolveDynamicComponent($props.column.children.body), { + key: 0, + data: $props.rowData, + column: $props.column, + field: $options.field, + index: $props.rowIndex, + frozenRow: $props.frozenRow, + editorInitCallback: $options.editorInitCallback, + rowTogglerCallback: $options.toggleRow + }, null, 8, ["data", "column", "field", "index", "frozenRow", "editorInitCallback", "rowTogglerCallback"])) : $props.column.children && $props.column.children.editor && $data.d_editing ? (openBlock(), createBlock(resolveDynamicComponent($props.column.children.editor), { + key: 1, + data: $options.editingRowData, + column: $props.column, + field: $options.field, + index: $props.rowIndex, + frozenRow: $props.frozenRow, + editorSaveCallback: $options.editorSaveCallback, + editorCancelCallback: $options.editorCancelCallback + }, null, 8, ["data", "column", "field", "index", "frozenRow", "editorSaveCallback", "editorCancelCallback"])) : $props.column.children && $props.column.children.body && !$props.column.children.editor && $data.d_editing ? (openBlock(), createBlock(resolveDynamicComponent($props.column.children.body), { + key: 2, + data: $options.editingRowData, + column: $props.column, + field: $options.field, + index: $props.rowIndex, + frozenRow: $props.frozenRow + }, null, 8, ["data", "column", "field", "index", "frozenRow"])) : $options.columnProp("selectionMode") ? (openBlock(), createElementBlock(Fragment, { + key: 3 + }, [$options.columnProp("selectionMode") === "single" ? (openBlock(), createBlock(_component_DTRadioButton, { + key: 0, + value: $props.rowData, + name: $props.name, + checked: $props.selected, + onChange: _cache[0] || (_cache[0] = function($event) { + return $options.toggleRowWithRadio($event, $props.rowIndex); + }), + column: $props.column, + index: $props.index, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["value", "name", "checked", "column", "index", "unstyled", "pt"])) : $options.columnProp("selectionMode") === "multiple" ? (openBlock(), createBlock(_component_DTCheckbox, { + key: 1, + value: $props.rowData, + checked: $props.selected, + rowCheckboxIconTemplate: $props.column.children && $props.column.children.rowcheckboxicon, + "aria-selected": $props.selected ? true : void 0, + onChange: _cache[1] || (_cache[1] = function($event) { + return $options.toggleRowWithCheckbox($event, $props.rowIndex); + }), + column: $props.column, + index: $props.index, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["value", "checked", "rowCheckboxIconTemplate", "aria-selected", "column", "index", "unstyled", "pt"])) : createCommentVNode("", true)], 64)) : $options.columnProp("rowReorder") ? (openBlock(), createElementBlock(Fragment, { + key: 4 + }, [$props.column.children && $props.column.children.rowreordericon ? (openBlock(), createBlock(resolveDynamicComponent($props.column.children.rowreordericon), { + key: 0, + "class": normalizeClass(_ctx.cx("reorderableRowHandle")) + }, null, 8, ["class"])) : $options.columnProp("rowReorderIcon") ? (openBlock(), createElementBlock("i", mergeProps({ + key: 1, + "class": [_ctx.cx("reorderableRowHandle"), $options.columnProp("rowReorderIcon")] + }, $options.getColumnPT("reorderableRowHandle")), null, 16)) : (openBlock(), createBlock(_component_BarsIcon, mergeProps({ + key: 2, + "class": _ctx.cx("reorderableRowHandle") + }, $options.getColumnPT("reorderableRowHandle")), null, 16, ["class"]))], 64)) : $options.columnProp("expander") ? withDirectives((openBlock(), createElementBlock("button", mergeProps({ + key: 5, + "class": _ctx.cx("rowToggleButton"), + type: "button", + "aria-expanded": $props.isRowExpanded, + "aria-controls": $props.ariaControls, + "aria-label": $options.expandButtonAriaLabel, + onClick: _cache[2] || (_cache[2] = function() { + return $options.toggleRow && $options.toggleRow.apply($options, arguments); + }) + }, $options.getColumnPT("rowToggleButton"), { + "data-pc-group-section": "rowactionbutton" + }), [$props.column.children && $props.column.children.rowtogglericon ? (openBlock(), createBlock(resolveDynamicComponent($props.column.children.rowtogglericon), { + key: 0, + "class": normalizeClass(_ctx.cx("rowToggleIcon")), + rowExpanded: $props.isRowExpanded + }, null, 8, ["class", "rowExpanded"])) : (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [$props.isRowExpanded && $props.expandedRowIcon ? (openBlock(), createElementBlock("span", { + key: 0, + "class": normalizeClass([_ctx.cx("rowToggleIcon"), $props.expandedRowIcon]) + }, null, 2)) : $props.isRowExpanded && !$props.expandedRowIcon ? (openBlock(), createBlock(_component_ChevronDownIcon, mergeProps({ + key: 1, + "class": _ctx.cx("rowToggleIcon") + }, $options.getColumnPT("rowToggleIcon")), null, 16, ["class"])) : !$props.isRowExpanded && $props.collapsedRowIcon ? (openBlock(), createElementBlock("span", { + key: 2, + "class": normalizeClass([_ctx.cx("rowToggleIcon"), $props.collapsedRowIcon]) + }, null, 2)) : !$props.isRowExpanded && !$props.collapsedRowIcon ? (openBlock(), createBlock(_component_ChevronRightIcon, mergeProps({ + key: 3, + "class": _ctx.cx("rowToggleIcon") + }, $options.getColumnPT("rowToggleIcon")), null, 16, ["class"])) : createCommentVNode("", true)], 64))], 16, _hoisted_2$2)), [[_directive_ripple]]) : $props.editMode === "row" && $options.columnProp("rowEditor") ? (openBlock(), createElementBlock(Fragment, { + key: 6 + }, [!$data.d_editing ? (openBlock(), createBlock(_component_Button, mergeProps({ + key: 0, + "class": _ctx.cx("pcRowEditorInit"), + "aria-label": $options.initButtonAriaLabel, + unstyled: _ctx.unstyled, + onClick: $options.onRowEditInit + }, $props.editButtonProps.init, { + pt: $options.getColumnPT("pcRowEditorInit"), + "data-pc-group-section": "rowactionbutton" + }), { + icon: withCtx(function(slotProps) { + return [(openBlock(), createBlock(resolveDynamicComponent($props.column.children && $props.column.children.roweditoriniticon || "PencilIcon"), mergeProps({ + "class": slotProps["class"] + }, $options.getColumnPT("pcRowEditorInit")["icon"]), null, 16, ["class"]))]; + }), + _: 1 + }, 16, ["class", "aria-label", "unstyled", "onClick", "pt"])) : createCommentVNode("", true), $data.d_editing ? (openBlock(), createBlock(_component_Button, mergeProps({ + key: 1, + "class": _ctx.cx("pcRowEditorSave"), + "aria-label": $options.saveButtonAriaLabel, + unstyled: _ctx.unstyled, + onClick: $options.onRowEditSave + }, $props.editButtonProps.save, { + pt: $options.getColumnPT("pcRowEditorSave"), + "data-pc-group-section": "rowactionbutton" + }), { + icon: withCtx(function(slotProps) { + return [(openBlock(), createBlock(resolveDynamicComponent($props.column.children && $props.column.children.roweditorsaveicon || "CheckIcon"), mergeProps({ + "class": slotProps["class"] + }, $options.getColumnPT("pcRowEditorSave")["icon"]), null, 16, ["class"]))]; + }), + _: 1 + }, 16, ["class", "aria-label", "unstyled", "onClick", "pt"])) : createCommentVNode("", true), $data.d_editing ? (openBlock(), createBlock(_component_Button, mergeProps({ + key: 2, + "class": _ctx.cx("pcRowEditorCancel"), + "aria-label": $options.cancelButtonAriaLabel, + unstyled: _ctx.unstyled, + onClick: $options.onRowEditCancel + }, $props.editButtonProps.cancel, { + pt: $options.getColumnPT("pcRowEditorCancel"), + "data-pc-group-section": "rowactionbutton" + }), { + icon: withCtx(function(slotProps) { + return [(openBlock(), createBlock(resolveDynamicComponent($props.column.children && $props.column.children.roweditorcancelicon || "TimesIcon"), mergeProps({ + "class": slotProps["class"] + }, $options.getColumnPT("pcRowEditorCancel")["icon"]), null, 16, ["class"]))]; + }), + _: 1 + }, 16, ["class", "aria-label", "unstyled", "onClick", "pt"])) : createCommentVNode("", true)], 64)) : (openBlock(), createElementBlock(Fragment, { + key: 7 + }, [createTextVNode(toDisplayString($options.resolveFieldData()), 1)], 64))], 16, _hoisted_1$4)); +} +__name(render$9, "render$9"); +script$9.render = render$9; +function _typeof$9(o) { + "@babel/helpers - typeof"; + return _typeof$9 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$9(o); +} +__name(_typeof$9, "_typeof$9"); +function _createForOfIteratorHelper$2(r, e) { + var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (!t) { + if (Array.isArray(r) || (t = _unsupportedIterableToArray$2(r)) || e) { + t && (r = t); + var _n = 0, F = /* @__PURE__ */ __name(function F2() { + }, "F"); + return { s: F, n: /* @__PURE__ */ __name(function n() { + return _n >= r.length ? { done: true } : { done: false, value: r[_n++] }; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + throw r2; + }, "e"), f: F }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var o, a = true, u = false; + return { s: /* @__PURE__ */ __name(function s() { + t = t.call(r); + }, "s"), n: /* @__PURE__ */ __name(function n() { + var r2 = t.next(); + return a = r2.done, r2; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + u = true, o = r2; + }, "e"), f: /* @__PURE__ */ __name(function f() { + try { + a || null == t["return"] || t["return"](); + } finally { + if (u) throw o; + } + }, "f") }; +} +__name(_createForOfIteratorHelper$2, "_createForOfIteratorHelper$2"); +function _unsupportedIterableToArray$2(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$2(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$2(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$2, "_unsupportedIterableToArray$2"); +function _arrayLikeToArray$2(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$2, "_arrayLikeToArray$2"); +function ownKeys$9(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$9, "ownKeys$9"); +function _objectSpread$9(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$9(Object(t), true).forEach(function(r2) { + _defineProperty$9(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$9, "_objectSpread$9"); +function _defineProperty$9(e, r, t) { + return (r = _toPropertyKey$9(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$9, "_defineProperty$9"); +function _toPropertyKey$9(t) { + var i = _toPrimitive$9(t, "string"); + return "symbol" == _typeof$9(i) ? i : i + ""; +} +__name(_toPropertyKey$9, "_toPropertyKey$9"); +function _toPrimitive$9(t, r) { + if ("object" != _typeof$9(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$9(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$9, "_toPrimitive$9"); +var script$8 = { + name: "BodyRow", + hostName: "DataTable", + "extends": script$s, + emits: ["rowgroup-toggle", "row-click", "row-dblclick", "row-rightclick", "row-touchend", "row-keydown", "row-mousedown", "row-dragstart", "row-dragover", "row-dragleave", "row-dragend", "row-drop", "row-toggle", "radio-change", "checkbox-change", "cell-edit-init", "cell-edit-complete", "cell-edit-cancel", "row-edit-init", "row-edit-save", "row-edit-cancel", "editing-meta-change"], + props: { + rowData: { + type: Object, + "default": null + }, + index: { + type: Number, + "default": 0 + }, + value: { + type: Array, + "default": null + }, + columns: { + type: null, + "default": null + }, + frozenRow: { + type: Boolean, + "default": false + }, + empty: { + type: Boolean, + "default": false + }, + rowGroupMode: { + type: String, + "default": null + }, + groupRowsBy: { + type: [Array, String, Function], + "default": null + }, + expandableRowGroups: { + type: Boolean, + "default": false + }, + expandedRowGroups: { + type: Array, + "default": null + }, + first: { + type: Number, + "default": 0 + }, + dataKey: { + type: [String, Function], + "default": null + }, + expandedRowIcon: { + type: String, + "default": null + }, + collapsedRowIcon: { + type: String, + "default": null + }, + expandedRows: { + type: [Array, Object], + "default": null + }, + selection: { + type: [Array, Object], + "default": null + }, + selectionKeys: { + type: null, + "default": null + }, + selectionMode: { + type: String, + "default": null + }, + contextMenu: { + type: Boolean, + "default": false + }, + contextMenuSelection: { + type: Object, + "default": null + }, + rowClass: { + type: null, + "default": null + }, + rowStyle: { + type: null, + "default": null + }, + rowGroupHeaderStyle: { + type: null, + "default": null + }, + editMode: { + type: String, + "default": null + }, + compareSelectionBy: { + type: String, + "default": "deepEquals" + }, + editingRows: { + type: Array, + "default": null + }, + editingRowKeys: { + type: null, + "default": null + }, + editingMeta: { + type: Object, + "default": null + }, + templates: { + type: null, + "default": null + }, + scrollable: { + type: Boolean, + "default": false + }, + editButtonProps: { + type: Object, + "default": null + }, + virtualScrollerContentProps: { + type: Object, + "default": null + }, + isVirtualScrollerDisabled: { + type: Boolean, + "default": false + }, + expandedRowId: { + type: String, + "default": null + }, + nameAttributeSelector: { + type: String, + "default": null + } + }, + data: /* @__PURE__ */ __name(function data4() { + return { + d_rowExpanded: false + }; + }, "data"), + watch: { + expandedRows: { + deep: true, + immediate: true, + handler: /* @__PURE__ */ __name(function handler(newValue) { + var _this = this; + this.d_rowExpanded = this.dataKey ? (newValue === null || newValue === void 0 ? void 0 : newValue[resolveFieldData(this.rowData, this.dataKey)]) !== void 0 : newValue === null || newValue === void 0 ? void 0 : newValue.some(function(d) { + return _this.equals(_this.rowData, d); + }); + }, "handler") + } + }, + methods: { + columnProp: /* @__PURE__ */ __name(function columnProp2(col, prop) { + return getVNodeProp(col, prop); + }, "columnProp"), + //@todo - update this method + getColumnPT: /* @__PURE__ */ __name(function getColumnPT4(key) { + var columnMetaData = { + parent: { + instance: this, + props: this.$props, + state: this.$data + } + }; + return mergeProps(this.ptm("column.".concat(key), { + column: columnMetaData + }), this.ptm("column.".concat(key), columnMetaData), this.ptmo(this.columnProp({}, "pt"), key, columnMetaData)); + }, "getColumnPT"), + //@todo - update this method + getBodyRowPTOptions: /* @__PURE__ */ __name(function getBodyRowPTOptions(key) { + var _this$$parentInstance; + var datatable = (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.$parentInstance; + return this.ptm(key, { + context: { + index: this.rowIndex, + selectable: (datatable === null || datatable === void 0 ? void 0 : datatable.rowHover) || (datatable === null || datatable === void 0 ? void 0 : datatable.selectionMode), + selected: this.isSelected, + stripedRows: (datatable === null || datatable === void 0 ? void 0 : datatable.stripedRows) || false + } + }); + }, "getBodyRowPTOptions"), + shouldRenderBodyCell: /* @__PURE__ */ __name(function shouldRenderBodyCell(column) { + var isHidden = this.columnProp(column, "hidden"); + if (this.rowGroupMode && !isHidden) { + var field2 = this.columnProp(column, "field"); + if (this.rowGroupMode === "subheader") { + return this.groupRowsBy !== field2; + } else if (this.rowGroupMode === "rowspan") { + if (this.isGrouped(column)) { + var prevRowData = this.value[this.rowIndex - 1]; + if (prevRowData) { + var currentRowFieldData = resolveFieldData(this.value[this.rowIndex], field2); + var previousRowFieldData = resolveFieldData(prevRowData, field2); + return currentRowFieldData !== previousRowFieldData; + } else { + return true; + } + } else { + return true; + } + } + } else { + return !isHidden; + } + }, "shouldRenderBodyCell"), + calculateRowGroupSize: /* @__PURE__ */ __name(function calculateRowGroupSize(column) { + if (this.isGrouped(column)) { + var index = this.rowIndex; + var field2 = this.columnProp(column, "field"); + var currentRowFieldData = resolveFieldData(this.value[index], field2); + var nextRowFieldData = currentRowFieldData; + var groupRowSpan = 0; + while (currentRowFieldData === nextRowFieldData) { + groupRowSpan++; + var nextRowData = this.value[++index]; + if (nextRowData) { + nextRowFieldData = resolveFieldData(nextRowData, field2); + } else { + break; + } + } + return groupRowSpan === 1 ? null : groupRowSpan; + } else { + return null; + } + }, "calculateRowGroupSize"), + isGrouped: /* @__PURE__ */ __name(function isGrouped(column) { + var field2 = this.columnProp(column, "field"); + if (this.groupRowsBy && field2) { + if (Array.isArray(this.groupRowsBy)) return this.groupRowsBy.indexOf(field2) > -1; + else return this.groupRowsBy === field2; + } else { + return false; + } + }, "isGrouped"), + findIndexInSelection: /* @__PURE__ */ __name(function findIndexInSelection(data12) { + return this.findIndex(data12, this.selection); + }, "findIndexInSelection"), + findIndex: /* @__PURE__ */ __name(function findIndex(data12, collection) { + var index = -1; + if (collection && collection.length) { + for (var i = 0; i < collection.length; i++) { + if (this.equals(data12, collection[i])) { + index = i; + break; + } + } + } + return index; + }, "findIndex"), + equals: /* @__PURE__ */ __name(function equals$1(data1, data22) { + return this.compareSelectionBy === "equals" ? data1 === data22 : equals(data1, data22, this.dataKey); + }, "equals$1"), + onRowGroupToggle: /* @__PURE__ */ __name(function onRowGroupToggle(event2) { + this.$emit("rowgroup-toggle", { + originalEvent: event2, + data: this.rowData + }); + }, "onRowGroupToggle"), + onRowClick: /* @__PURE__ */ __name(function onRowClick(event2) { + this.$emit("row-click", { + originalEvent: event2, + data: this.rowData, + index: this.rowIndex + }); + }, "onRowClick"), + onRowDblClick: /* @__PURE__ */ __name(function onRowDblClick(event2) { + this.$emit("row-dblclick", { + originalEvent: event2, + data: this.rowData, + index: this.rowIndex + }); + }, "onRowDblClick"), + onRowRightClick: /* @__PURE__ */ __name(function onRowRightClick(event2) { + this.$emit("row-rightclick", { + originalEvent: event2, + data: this.rowData, + index: this.rowIndex + }); + }, "onRowRightClick"), + onRowTouchEnd: /* @__PURE__ */ __name(function onRowTouchEnd(event2) { + this.$emit("row-touchend", event2); + }, "onRowTouchEnd"), + onRowKeyDown: /* @__PURE__ */ __name(function onRowKeyDown(event2) { + this.$emit("row-keydown", { + originalEvent: event2, + data: this.rowData, + index: this.rowIndex + }); + }, "onRowKeyDown"), + onRowMouseDown: /* @__PURE__ */ __name(function onRowMouseDown(event2) { + this.$emit("row-mousedown", event2); + }, "onRowMouseDown"), + onRowDragStart: /* @__PURE__ */ __name(function onRowDragStart(event2) { + this.$emit("row-dragstart", { + originalEvent: event2, + index: this.rowIndex + }); + }, "onRowDragStart"), + onRowDragOver: /* @__PURE__ */ __name(function onRowDragOver(event2) { + this.$emit("row-dragover", { + originalEvent: event2, + index: this.rowIndex + }); + }, "onRowDragOver"), + onRowDragLeave: /* @__PURE__ */ __name(function onRowDragLeave(event2) { + this.$emit("row-dragleave", event2); + }, "onRowDragLeave"), + onRowDragEnd: /* @__PURE__ */ __name(function onRowDragEnd(event2) { + this.$emit("row-dragend", event2); + }, "onRowDragEnd"), + onRowDrop: /* @__PURE__ */ __name(function onRowDrop(event2) { + this.$emit("row-drop", event2); + }, "onRowDrop"), + onRowToggle: /* @__PURE__ */ __name(function onRowToggle(event2) { + this.d_rowExpanded = !this.d_rowExpanded; + this.$emit("row-toggle", _objectSpread$9(_objectSpread$9({}, event2), {}, { + expanded: this.d_rowExpanded + })); + }, "onRowToggle"), + onRadioChange: /* @__PURE__ */ __name(function onRadioChange(event2) { + this.$emit("radio-change", event2); + }, "onRadioChange"), + onCheckboxChange: /* @__PURE__ */ __name(function onCheckboxChange(event2) { + this.$emit("checkbox-change", event2); + }, "onCheckboxChange"), + onCellEditInit: /* @__PURE__ */ __name(function onCellEditInit(event2) { + this.$emit("cell-edit-init", event2); + }, "onCellEditInit"), + onCellEditComplete: /* @__PURE__ */ __name(function onCellEditComplete(event2) { + this.$emit("cell-edit-complete", event2); + }, "onCellEditComplete"), + onCellEditCancel: /* @__PURE__ */ __name(function onCellEditCancel(event2) { + this.$emit("cell-edit-cancel", event2); + }, "onCellEditCancel"), + onRowEditInit: /* @__PURE__ */ __name(function onRowEditInit2(event2) { + this.$emit("row-edit-init", event2); + }, "onRowEditInit"), + onRowEditSave: /* @__PURE__ */ __name(function onRowEditSave2(event2) { + this.$emit("row-edit-save", event2); + }, "onRowEditSave"), + onRowEditCancel: /* @__PURE__ */ __name(function onRowEditCancel2(event2) { + this.$emit("row-edit-cancel", event2); + }, "onRowEditCancel"), + onEditingMetaChange: /* @__PURE__ */ __name(function onEditingMetaChange(event2) { + this.$emit("editing-meta-change", event2); + }, "onEditingMetaChange"), + getVirtualScrollerProp: /* @__PURE__ */ __name(function getVirtualScrollerProp2(option, options) { + options = options || this.virtualScrollerContentProps; + return options ? options[option] : null; + }, "getVirtualScrollerProp") + }, + computed: { + rowIndex: /* @__PURE__ */ __name(function rowIndex() { + var getItemOptions = this.getVirtualScrollerProp("getItemOptions"); + return getItemOptions ? getItemOptions(this.index).index : this.index; + }, "rowIndex"), + rowStyles: /* @__PURE__ */ __name(function rowStyles() { + var _this$rowStyle; + return (_this$rowStyle = this.rowStyle) === null || _this$rowStyle === void 0 ? void 0 : _this$rowStyle.call(this, this.rowData); + }, "rowStyles"), + rowClasses: /* @__PURE__ */ __name(function rowClasses() { + var rowStyleClass = []; + var columnSelectionMode = null; + if (this.rowClass) { + var rowClassValue = this.rowClass(this.rowData); + if (rowClassValue) { + rowStyleClass.push(rowClassValue); + } + } + if (this.columns) { + var _iterator = _createForOfIteratorHelper$2(this.columns), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var col = _step.value; + var _selectionMode = this.columnProp(col, "selectionMode"); + if (isNotEmpty(_selectionMode)) { + columnSelectionMode = _selectionMode; + break; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + return [this.cx("row", { + rowData: this.rowData, + index: this.rowIndex, + columnSelectionMode + }), rowStyleClass]; + }, "rowClasses"), + rowTabindex: /* @__PURE__ */ __name(function rowTabindex() { + if (this.selection === null && (this.selectionMode === "single" || this.selectionMode === "multiple")) { + return this.rowIndex === 0 ? 0 : -1; + } + return -1; + }, "rowTabindex"), + isRowEditing: /* @__PURE__ */ __name(function isRowEditing() { + if (this.rowData && this.editingRows) { + if (this.dataKey) return this.editingRowKeys ? this.editingRowKeys[resolveFieldData(this.rowData, this.dataKey)] !== void 0 : false; + else return this.findIndex(this.rowData, this.editingRows) > -1; + } + return false; + }, "isRowEditing"), + isRowGroupExpanded: /* @__PURE__ */ __name(function isRowGroupExpanded() { + if (this.expandableRowGroups && this.expandedRowGroups) { + var groupFieldValue = resolveFieldData(this.rowData, this.groupRowsBy); + return this.expandedRowGroups.indexOf(groupFieldValue) > -1; + } + return false; + }, "isRowGroupExpanded"), + isSelected: /* @__PURE__ */ __name(function isSelected() { + if (this.rowData && this.selection) { + if (this.dataKey) { + return this.selectionKeys ? this.selectionKeys[resolveFieldData(this.rowData, this.dataKey)] !== void 0 : false; + } else { + if (this.selection instanceof Array) return this.findIndexInSelection(this.rowData) > -1; + else return this.equals(this.rowData, this.selection); + } + } + return false; + }, "isSelected"), + isSelectedWithContextMenu: /* @__PURE__ */ __name(function isSelectedWithContextMenu() { + if (this.rowData && this.contextMenuSelection) { + return this.equals(this.rowData, this.contextMenuSelection, this.dataKey); + } + return false; + }, "isSelectedWithContextMenu"), + shouldRenderRowGroupHeader: /* @__PURE__ */ __name(function shouldRenderRowGroupHeader() { + var currentRowFieldData = resolveFieldData(this.rowData, this.groupRowsBy); + var prevRowData = this.value[this.rowIndex - 1]; + if (prevRowData) { + var previousRowFieldData = resolveFieldData(prevRowData, this.groupRowsBy); + return currentRowFieldData !== previousRowFieldData; + } else { + return true; + } + }, "shouldRenderRowGroupHeader"), + shouldRenderRowGroupFooter: /* @__PURE__ */ __name(function shouldRenderRowGroupFooter() { + if (this.expandableRowGroups && !this.isRowGroupExpanded) { + return false; + } else { + var currentRowFieldData = resolveFieldData(this.rowData, this.groupRowsBy); + var nextRowData = this.value[this.rowIndex + 1]; + if (nextRowData) { + var nextRowFieldData = resolveFieldData(nextRowData, this.groupRowsBy); + return currentRowFieldData !== nextRowFieldData; + } else { + return true; + } + } + }, "shouldRenderRowGroupFooter"), + columnsLength: /* @__PURE__ */ __name(function columnsLength() { + var _this2 = this; + if (this.columns) { + var hiddenColLength = 0; + this.columns.forEach(function(column) { + if (_this2.columnProp(column, "selectionMode") === "single") hiddenColLength--; + if (_this2.columnProp(column, "hidden")) hiddenColLength++; + }); + return this.columns.length - hiddenColLength; + } + return 0; + }, "columnsLength") + }, + components: { + DTBodyCell: script$9, + ChevronDownIcon: script$A, + ChevronRightIcon: script$B + } +}; +function _typeof$8(o) { + "@babel/helpers - typeof"; + return _typeof$8 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$8(o); +} +__name(_typeof$8, "_typeof$8"); +function ownKeys$8(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$8, "ownKeys$8"); +function _objectSpread$8(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$8(Object(t), true).forEach(function(r2) { + _defineProperty$8(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$8, "_objectSpread$8"); +function _defineProperty$8(e, r, t) { + return (r = _toPropertyKey$8(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$8, "_defineProperty$8"); +function _toPropertyKey$8(t) { + var i = _toPrimitive$8(t, "string"); + return "symbol" == _typeof$8(i) ? i : i + ""; +} +__name(_toPropertyKey$8, "_toPropertyKey$8"); +function _toPrimitive$8(t, r) { + if ("object" != _typeof$8(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$8(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$8, "_toPrimitive$8"); +var _hoisted_1$3 = ["colspan"]; +var _hoisted_2$1 = ["tabindex", "aria-selected", "data-p-index", "data-p-selectable-row", "data-p-selected", "data-p-selected-contextmenu"]; +var _hoisted_3 = ["id"]; +var _hoisted_4 = ["colspan"]; +var _hoisted_5 = ["colspan"]; +var _hoisted_6 = ["colspan"]; +function render$8(_ctx, _cache, $props, $setup, $data, $options) { + var _component_ChevronDownIcon = resolveComponent("ChevronDownIcon"); + var _component_ChevronRightIcon = resolveComponent("ChevronRightIcon"); + var _component_DTBodyCell = resolveComponent("DTBodyCell"); + return !$props.empty ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [$props.templates["groupheader"] && $props.rowGroupMode === "subheader" && $options.shouldRenderRowGroupHeader ? (openBlock(), createElementBlock("tr", mergeProps({ + key: 0, + "class": _ctx.cx("rowGroupHeader"), + style: $props.rowGroupHeaderStyle, + role: "row" + }, _ctx.ptm("rowGroupHeader")), [createBaseVNode("td", mergeProps({ + colspan: $options.columnsLength - 1 + }, _objectSpread$8(_objectSpread$8({}, $options.getColumnPT("bodycell")), _ctx.ptm("rowGroupHeaderCell"))), [$props.expandableRowGroups ? (openBlock(), createElementBlock("button", mergeProps({ + key: 0, + "class": _ctx.cx("rowToggleButton"), + onClick: _cache[0] || (_cache[0] = function() { + return $options.onRowGroupToggle && $options.onRowGroupToggle.apply($options, arguments); + }), + type: "button" + }, _ctx.ptm("rowToggleButton")), [$props.templates["rowtoggleicon"] || $props.templates["rowgrouptogglericon"] ? (openBlock(), createBlock(resolveDynamicComponent($props.templates["rowtoggleicon"] || $props.templates["rowgrouptogglericon"]), { + key: 0, + expanded: $options.isRowGroupExpanded + }, null, 8, ["expanded"])) : (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [$options.isRowGroupExpanded && $props.expandedRowIcon ? (openBlock(), createElementBlock("span", mergeProps({ + key: 0, + "class": [_ctx.cx("rowToggleIcon"), $props.expandedRowIcon] + }, _ctx.ptm("rowToggleIcon")), null, 16)) : $options.isRowGroupExpanded && !$props.expandedRowIcon ? (openBlock(), createBlock(_component_ChevronDownIcon, mergeProps({ + key: 1, + "class": _ctx.cx("rowToggleIcon") + }, _ctx.ptm("rowToggleIcon")), null, 16, ["class"])) : !$options.isRowGroupExpanded && $props.collapsedRowIcon ? (openBlock(), createElementBlock("span", mergeProps({ + key: 2, + "class": [_ctx.cx("rowToggleIcon"), $props.collapsedRowIcon] + }, _ctx.ptm("rowToggleIcon")), null, 16)) : !$options.isRowGroupExpanded && !$props.collapsedRowIcon ? (openBlock(), createBlock(_component_ChevronRightIcon, mergeProps({ + key: 3, + "class": _ctx.cx("rowToggleIcon") + }, _ctx.ptm("rowToggleIcon")), null, 16, ["class"])) : createCommentVNode("", true)], 64))], 16)) : createCommentVNode("", true), (openBlock(), createBlock(resolveDynamicComponent($props.templates["groupheader"]), { + data: $props.rowData, + index: $options.rowIndex + }, null, 8, ["data", "index"]))], 16, _hoisted_1$3)], 16)) : createCommentVNode("", true), ($props.expandableRowGroups ? $options.isRowGroupExpanded : true) ? (openBlock(), createElementBlock("tr", mergeProps({ + key: 1, + "class": $options.rowClasses, + style: $options.rowStyles, + tabindex: $options.rowTabindex, + role: "row", + "aria-selected": $props.selectionMode ? $options.isSelected : null, + onClick: _cache[1] || (_cache[1] = function() { + return $options.onRowClick && $options.onRowClick.apply($options, arguments); + }), + onDblclick: _cache[2] || (_cache[2] = function() { + return $options.onRowDblClick && $options.onRowDblClick.apply($options, arguments); + }), + onContextmenu: _cache[3] || (_cache[3] = function() { + return $options.onRowRightClick && $options.onRowRightClick.apply($options, arguments); + }), + onTouchend: _cache[4] || (_cache[4] = function() { + return $options.onRowTouchEnd && $options.onRowTouchEnd.apply($options, arguments); + }), + onKeydown: _cache[5] || (_cache[5] = withModifiers(function() { + return $options.onRowKeyDown && $options.onRowKeyDown.apply($options, arguments); + }, ["self"])), + onMousedown: _cache[6] || (_cache[6] = function() { + return $options.onRowMouseDown && $options.onRowMouseDown.apply($options, arguments); + }), + onDragstart: _cache[7] || (_cache[7] = function() { + return $options.onRowDragStart && $options.onRowDragStart.apply($options, arguments); + }), + onDragover: _cache[8] || (_cache[8] = function() { + return $options.onRowDragOver && $options.onRowDragOver.apply($options, arguments); + }), + onDragleave: _cache[9] || (_cache[9] = function() { + return $options.onRowDragLeave && $options.onRowDragLeave.apply($options, arguments); + }), + onDragend: _cache[10] || (_cache[10] = function() { + return $options.onRowDragEnd && $options.onRowDragEnd.apply($options, arguments); + }), + onDrop: _cache[11] || (_cache[11] = function() { + return $options.onRowDrop && $options.onRowDrop.apply($options, arguments); + }) + }, $options.getBodyRowPTOptions("bodyRow"), { + "data-p-index": $options.rowIndex, + "data-p-selectable-row": $props.selectionMode ? true : false, + "data-p-selected": $props.selection && $options.isSelected, + "data-p-selected-contextmenu": $props.contextMenuSelection && $options.isSelectedWithContextMenu + }), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.columns, function(col, i) { + return openBlock(), createElementBlock(Fragment, null, [$options.shouldRenderBodyCell(col) ? (openBlock(), createBlock(_component_DTBodyCell, { + key: $options.columnProp(col, "columnKey") || $options.columnProp(col, "field") || i, + rowData: $props.rowData, + column: col, + rowIndex: $options.rowIndex, + index: i, + selected: $options.isSelected, + frozenRow: $props.frozenRow, + rowspan: $props.rowGroupMode === "rowspan" ? $options.calculateRowGroupSize(col) : null, + editMode: $props.editMode, + editing: $props.editMode === "row" && $options.isRowEditing, + editingMeta: $props.editingMeta, + virtualScrollerContentProps: $props.virtualScrollerContentProps, + ariaControls: $props.expandedRowId + "_" + $options.rowIndex + "_expansion", + name: $props.nameAttributeSelector, + isRowExpanded: $data.d_rowExpanded, + expandedRowIcon: $props.expandedRowIcon, + collapsedRowIcon: $props.collapsedRowIcon, + editButtonProps: $props.editButtonProps, + onRadioChange: $options.onRadioChange, + onCheckboxChange: $options.onCheckboxChange, + onRowToggle: $options.onRowToggle, + onCellEditInit: $options.onCellEditInit, + onCellEditComplete: $options.onCellEditComplete, + onCellEditCancel: $options.onCellEditCancel, + onRowEditInit: $options.onRowEditInit, + onRowEditSave: $options.onRowEditSave, + onRowEditCancel: $options.onRowEditCancel, + onEditingMetaChange: $options.onEditingMetaChange, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["rowData", "column", "rowIndex", "index", "selected", "frozenRow", "rowspan", "editMode", "editing", "editingMeta", "virtualScrollerContentProps", "ariaControls", "name", "isRowExpanded", "expandedRowIcon", "collapsedRowIcon", "editButtonProps", "onRadioChange", "onCheckboxChange", "onRowToggle", "onCellEditInit", "onCellEditComplete", "onCellEditCancel", "onRowEditInit", "onRowEditSave", "onRowEditCancel", "onEditingMetaChange", "unstyled", "pt"])) : createCommentVNode("", true)], 64); + }), 256))], 16, _hoisted_2$1)) : createCommentVNode("", true), $props.templates["expansion"] && $props.expandedRows && $data.d_rowExpanded ? (openBlock(), createElementBlock("tr", mergeProps({ + key: 2, + id: $props.expandedRowId + "_" + $options.rowIndex + "_expansion", + "class": _ctx.cx("rowExpansion"), + role: "row" + }, _ctx.ptm("rowExpansion")), [createBaseVNode("td", mergeProps({ + colspan: $options.columnsLength + }, _objectSpread$8(_objectSpread$8({}, $options.getColumnPT("bodycell")), _ctx.ptm("rowExpansionCell"))), [(openBlock(), createBlock(resolveDynamicComponent($props.templates["expansion"]), { + data: $props.rowData, + index: $options.rowIndex + }, null, 8, ["data", "index"]))], 16, _hoisted_4)], 16, _hoisted_3)) : createCommentVNode("", true), $props.templates["groupfooter"] && $props.rowGroupMode === "subheader" && $options.shouldRenderRowGroupFooter ? (openBlock(), createElementBlock("tr", mergeProps({ + key: 3, + "class": _ctx.cx("rowGroupFooter"), + role: "row" + }, _ctx.ptm("rowGroupFooter")), [createBaseVNode("td", mergeProps({ + colspan: $options.columnsLength - 1 + }, _objectSpread$8(_objectSpread$8({}, $options.getColumnPT("bodycell")), _ctx.ptm("rowGroupFooterCell"))), [(openBlock(), createBlock(resolveDynamicComponent($props.templates["groupfooter"]), { + data: $props.rowData, + index: $options.rowIndex + }, null, 8, ["data", "index"]))], 16, _hoisted_5)], 16)) : createCommentVNode("", true)], 64)) : (openBlock(), createElementBlock("tr", mergeProps({ + key: 1, + "class": _ctx.cx("emptyMessage"), + role: "row" + }, _ctx.ptm("emptyMessage")), [createBaseVNode("td", mergeProps({ + colspan: $options.columnsLength + }, _objectSpread$8(_objectSpread$8({}, $options.getColumnPT("bodycell")), _ctx.ptm("emptyMessageCell"))), [$props.templates.empty ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.empty), { + key: 0 + })) : createCommentVNode("", true)], 16, _hoisted_6)], 16)); +} +__name(render$8, "render$8"); +script$8.render = render$8; +var script$7 = { + name: "TableBody", + hostName: "DataTable", + "extends": script$s, + emits: ["rowgroup-toggle", "row-click", "row-dblclick", "row-rightclick", "row-touchend", "row-keydown", "row-mousedown", "row-dragstart", "row-dragover", "row-dragleave", "row-dragend", "row-drop", "row-toggle", "radio-change", "checkbox-change", "cell-edit-init", "cell-edit-complete", "cell-edit-cancel", "row-edit-init", "row-edit-save", "row-edit-cancel", "editing-meta-change"], + props: { + value: { + type: Array, + "default": null + }, + columns: { + type: null, + "default": null + }, + frozenRow: { + type: Boolean, + "default": false + }, + empty: { + type: Boolean, + "default": false + }, + rowGroupMode: { + type: String, + "default": null + }, + groupRowsBy: { + type: [Array, String, Function], + "default": null + }, + expandableRowGroups: { + type: Boolean, + "default": false + }, + expandedRowGroups: { + type: Array, + "default": null + }, + first: { + type: Number, + "default": 0 + }, + dataKey: { + type: [String, Function], + "default": null + }, + expandedRowIcon: { + type: String, + "default": null + }, + collapsedRowIcon: { + type: String, + "default": null + }, + expandedRows: { + type: [Array, Object], + "default": null + }, + selection: { + type: [Array, Object], + "default": null + }, + selectionKeys: { + type: null, + "default": null + }, + selectionMode: { + type: String, + "default": null + }, + contextMenu: { + type: Boolean, + "default": false + }, + contextMenuSelection: { + type: Object, + "default": null + }, + rowClass: { + type: null, + "default": null + }, + rowStyle: { + type: null, + "default": null + }, + editMode: { + type: String, + "default": null + }, + compareSelectionBy: { + type: String, + "default": "deepEquals" + }, + editingRows: { + type: Array, + "default": null + }, + editingRowKeys: { + type: null, + "default": null + }, + editingMeta: { + type: Object, + "default": null + }, + templates: { + type: null, + "default": null + }, + scrollable: { + type: Boolean, + "default": false + }, + editButtonProps: { + type: Object, + "default": null + }, + virtualScrollerContentProps: { + type: Object, + "default": null + }, + isVirtualScrollerDisabled: { + type: Boolean, + "default": false + } + }, + data: /* @__PURE__ */ __name(function data5() { + return { + rowGroupHeaderStyleObject: {} + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted4() { + if (this.frozenRow) { + this.updateFrozenRowStickyPosition(); + } + if (this.scrollable && this.rowGroupMode === "subheader") { + this.updateFrozenRowGroupHeaderStickyPosition(); + } + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated2() { + if (this.frozenRow) { + this.updateFrozenRowStickyPosition(); + } + if (this.scrollable && this.rowGroupMode === "subheader") { + this.updateFrozenRowGroupHeaderStickyPosition(); + } + }, "updated"), + methods: { + getRowKey: /* @__PURE__ */ __name(function getRowKey(rowData, rowIndex2) { + return this.dataKey ? resolveFieldData(rowData, this.dataKey) : rowIndex2; + }, "getRowKey"), + updateFrozenRowStickyPosition: /* @__PURE__ */ __name(function updateFrozenRowStickyPosition() { + this.$el.style.top = getOuterHeight(this.$el.previousElementSibling) + "px"; + }, "updateFrozenRowStickyPosition"), + updateFrozenRowGroupHeaderStickyPosition: /* @__PURE__ */ __name(function updateFrozenRowGroupHeaderStickyPosition() { + var tableHeaderHeight = getOuterHeight(this.$el.previousElementSibling); + this.rowGroupHeaderStyleObject.top = tableHeaderHeight + "px"; + }, "updateFrozenRowGroupHeaderStickyPosition"), + getVirtualScrollerProp: /* @__PURE__ */ __name(function getVirtualScrollerProp3(option, options) { + options = options || this.virtualScrollerContentProps; + return options ? options[option] : null; + }, "getVirtualScrollerProp"), + bodyRef: /* @__PURE__ */ __name(function bodyRef(el) { + var contentRef = this.getVirtualScrollerProp("contentRef"); + contentRef && contentRef(el); + }, "bodyRef") + }, + computed: { + rowGroupHeaderStyle: /* @__PURE__ */ __name(function rowGroupHeaderStyle() { + if (this.scrollable) { + return { + top: this.rowGroupHeaderStyleObject.top + }; + } + return null; + }, "rowGroupHeaderStyle"), + bodyContentStyle: /* @__PURE__ */ __name(function bodyContentStyle() { + return this.getVirtualScrollerProp("contentStyle"); + }, "bodyContentStyle"), + ptmTBodyOptions: /* @__PURE__ */ __name(function ptmTBodyOptions() { + var _this$$parentInstance; + return { + context: { + scrollable: (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 || (_this$$parentInstance = _this$$parentInstance.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.scrollable + } + }; + }, "ptmTBodyOptions"), + expandedRowId: /* @__PURE__ */ __name(function expandedRowId() { + return UniqueComponentId(); + }, "expandedRowId"), + nameAttributeSelector: /* @__PURE__ */ __name(function nameAttributeSelector() { + return UniqueComponentId(); + }, "nameAttributeSelector") + }, + components: { + DTBodyRow: script$8 + } +}; +function render$7(_ctx, _cache, $props, $setup, $data, $options) { + var _component_DTBodyRow = resolveComponent("DTBodyRow"); + return openBlock(), createElementBlock("tbody", mergeProps({ + ref: $options.bodyRef, + "class": _ctx.cx("tbody"), + role: "rowgroup", + style: $options.bodyContentStyle + }, _ctx.ptm("tbody", $options.ptmTBodyOptions)), [!$props.empty ? (openBlock(true), createElementBlock(Fragment, { + key: 0 + }, renderList($props.value, function(rowData, rowIndex2) { + return openBlock(), createBlock(_component_DTBodyRow, { + key: $options.getRowKey(rowData, rowIndex2), + rowData, + index: rowIndex2, + value: $props.value, + columns: $props.columns, + frozenRow: $props.frozenRow, + empty: $props.empty, + first: $props.first, + dataKey: $props.dataKey, + selection: $props.selection, + selectionKeys: $props.selectionKeys, + selectionMode: $props.selectionMode, + contextMenu: $props.contextMenu, + contextMenuSelection: $props.contextMenuSelection, + rowGroupMode: $props.rowGroupMode, + groupRowsBy: $props.groupRowsBy, + expandableRowGroups: $props.expandableRowGroups, + rowClass: $props.rowClass, + rowStyle: $props.rowStyle, + editMode: $props.editMode, + compareSelectionBy: $props.compareSelectionBy, + scrollable: $props.scrollable, + expandedRowIcon: $props.expandedRowIcon, + collapsedRowIcon: $props.collapsedRowIcon, + expandedRows: $props.expandedRows, + expandedRowGroups: $props.expandedRowGroups, + editingRows: $props.editingRows, + editingRowKeys: $props.editingRowKeys, + templates: $props.templates, + editButtonProps: $props.editButtonProps, + virtualScrollerContentProps: $props.virtualScrollerContentProps, + isVirtualScrollerDisabled: $props.isVirtualScrollerDisabled, + editingMeta: $props.editingMeta, + rowGroupHeaderStyle: $options.rowGroupHeaderStyle, + expandedRowId: $options.expandedRowId, + nameAttributeSelector: $options.nameAttributeSelector, + onRowgroupToggle: _cache[0] || (_cache[0] = function($event) { + return _ctx.$emit("rowgroup-toggle", $event); + }), + onRowClick: _cache[1] || (_cache[1] = function($event) { + return _ctx.$emit("row-click", $event); + }), + onRowDblclick: _cache[2] || (_cache[2] = function($event) { + return _ctx.$emit("row-dblclick", $event); + }), + onRowRightclick: _cache[3] || (_cache[3] = function($event) { + return _ctx.$emit("row-rightclick", $event); + }), + onRowTouchend: _cache[4] || (_cache[4] = function($event) { + return _ctx.$emit("row-touchend", $event); + }), + onRowKeydown: _cache[5] || (_cache[5] = function($event) { + return _ctx.$emit("row-keydown", $event); + }), + onRowMousedown: _cache[6] || (_cache[6] = function($event) { + return _ctx.$emit("row-mousedown", $event); + }), + onRowDragstart: _cache[7] || (_cache[7] = function($event) { + return _ctx.$emit("row-dragstart", $event); + }), + onRowDragover: _cache[8] || (_cache[8] = function($event) { + return _ctx.$emit("row-dragover", $event); + }), + onRowDragleave: _cache[9] || (_cache[9] = function($event) { + return _ctx.$emit("row-dragleave", $event); + }), + onRowDragend: _cache[10] || (_cache[10] = function($event) { + return _ctx.$emit("row-dragend", $event); + }), + onRowDrop: _cache[11] || (_cache[11] = function($event) { + return _ctx.$emit("row-drop", $event); + }), + onRowToggle: _cache[12] || (_cache[12] = function($event) { + return _ctx.$emit("row-toggle", $event); + }), + onRadioChange: _cache[13] || (_cache[13] = function($event) { + return _ctx.$emit("radio-change", $event); + }), + onCheckboxChange: _cache[14] || (_cache[14] = function($event) { + return _ctx.$emit("checkbox-change", $event); + }), + onCellEditInit: _cache[15] || (_cache[15] = function($event) { + return _ctx.$emit("cell-edit-init", $event); + }), + onCellEditComplete: _cache[16] || (_cache[16] = function($event) { + return _ctx.$emit("cell-edit-complete", $event); + }), + onCellEditCancel: _cache[17] || (_cache[17] = function($event) { + return _ctx.$emit("cell-edit-cancel", $event); + }), + onRowEditInit: _cache[18] || (_cache[18] = function($event) { + return _ctx.$emit("row-edit-init", $event); + }), + onRowEditSave: _cache[19] || (_cache[19] = function($event) { + return _ctx.$emit("row-edit-save", $event); + }), + onRowEditCancel: _cache[20] || (_cache[20] = function($event) { + return _ctx.$emit("row-edit-cancel", $event); + }), + onEditingMetaChange: _cache[21] || (_cache[21] = function($event) { + return _ctx.$emit("editing-meta-change", $event); + }), + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["rowData", "index", "value", "columns", "frozenRow", "empty", "first", "dataKey", "selection", "selectionKeys", "selectionMode", "contextMenu", "contextMenuSelection", "rowGroupMode", "groupRowsBy", "expandableRowGroups", "rowClass", "rowStyle", "editMode", "compareSelectionBy", "scrollable", "expandedRowIcon", "collapsedRowIcon", "expandedRows", "expandedRowGroups", "editingRows", "editingRowKeys", "templates", "editButtonProps", "virtualScrollerContentProps", "isVirtualScrollerDisabled", "editingMeta", "rowGroupHeaderStyle", "expandedRowId", "nameAttributeSelector", "unstyled", "pt"]); + }), 128)) : (openBlock(), createBlock(_component_DTBodyRow, { + key: 1, + empty: $props.empty, + columns: $props.columns, + templates: $props.templates + }, null, 8, ["empty", "columns", "templates"]))], 16); +} +__name(render$7, "render$7"); +script$7.render = render$7; +var script$6 = { + name: "FooterCell", + hostName: "DataTable", + "extends": script$s, + props: { + column: { + type: Object, + "default": null + }, + index: { + type: Number, + "default": null + } + }, + data: /* @__PURE__ */ __name(function data6() { + return { + styleObject: {} + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted5() { + if (this.columnProp("frozen")) { + this.updateStickyPosition(); + } + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated3() { + if (this.columnProp("frozen")) { + this.updateStickyPosition(); + } + }, "updated"), + methods: { + columnProp: /* @__PURE__ */ __name(function columnProp3(prop) { + return getVNodeProp(this.column, prop); + }, "columnProp"), + getColumnPT: /* @__PURE__ */ __name(function getColumnPT5(key) { + var _this$$parentInstance, _this$$parentInstance2; + var columnMetaData = { + props: this.column.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + index: this.index, + size: (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 || (_this$$parentInstance = _this$$parentInstance.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.size, + showGridlines: ((_this$$parentInstance2 = this.$parentInstance) === null || _this$$parentInstance2 === void 0 || (_this$$parentInstance2 = _this$$parentInstance2.$parentInstance) === null || _this$$parentInstance2 === void 0 ? void 0 : _this$$parentInstance2.showGridlines) || false + } + }; + return mergeProps(this.ptm("column.".concat(key), { + column: columnMetaData + }), this.ptm("column.".concat(key), columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData)); + }, "getColumnPT"), + getColumnProp: /* @__PURE__ */ __name(function getColumnProp4() { + return this.column.props && this.column.props.pt ? this.column.props.pt : void 0; + }, "getColumnProp"), + updateStickyPosition: /* @__PURE__ */ __name(function updateStickyPosition2() { + if (this.columnProp("frozen")) { + var align = this.columnProp("alignFrozen"); + if (align === "right") { + var right = 0; + var next2 = getNextElementSibling(this.$el, '[data-p-frozen-column="true"]'); + if (next2) { + right = getOuterWidth(next2) + parseFloat(next2.style.right || 0); + } + this.styleObject.right = right + "px"; + } else { + var left = 0; + var prev2 = getPreviousElementSibling(this.$el, '[data-p-frozen-column="true"]'); + if (prev2) { + left = getOuterWidth(prev2) + parseFloat(prev2.style.left || 0); + } + this.styleObject.left = left + "px"; + } + } + }, "updateStickyPosition") + }, + computed: { + containerClass: /* @__PURE__ */ __name(function containerClass2() { + return [this.columnProp("footerClass"), this.columnProp("class"), this.cx("footerCell")]; + }, "containerClass"), + containerStyle: /* @__PURE__ */ __name(function containerStyle2() { + var bodyStyle = this.columnProp("footerStyle"); + var columnStyle = this.columnProp("style"); + return this.columnProp("frozen") ? [columnStyle, bodyStyle, this.styleObject] : [columnStyle, bodyStyle]; + }, "containerStyle") + } +}; +function _typeof$7(o) { + "@babel/helpers - typeof"; + return _typeof$7 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$7(o); +} +__name(_typeof$7, "_typeof$7"); +function ownKeys$7(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$7, "ownKeys$7"); +function _objectSpread$7(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$7(Object(t), true).forEach(function(r2) { + _defineProperty$7(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$7, "_objectSpread$7"); +function _defineProperty$7(e, r, t) { + return (r = _toPropertyKey$7(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$7, "_defineProperty$7"); +function _toPropertyKey$7(t) { + var i = _toPrimitive$7(t, "string"); + return "symbol" == _typeof$7(i) ? i : i + ""; +} +__name(_toPropertyKey$7, "_toPropertyKey$7"); +function _toPrimitive$7(t, r) { + if ("object" != _typeof$7(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$7(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$7, "_toPrimitive$7"); +var _hoisted_1$2 = ["colspan", "rowspan", "data-p-frozen-column"]; +function render$6(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("td", mergeProps({ + style: $options.containerStyle, + "class": $options.containerClass, + role: "cell", + colspan: $options.columnProp("colspan"), + rowspan: $options.columnProp("rowspan") + }, _objectSpread$7(_objectSpread$7({}, $options.getColumnPT("root")), $options.getColumnPT("footerCell")), { + "data-p-frozen-column": $options.columnProp("frozen") + }), [$props.column.children && $props.column.children.footer ? (openBlock(), createBlock(resolveDynamicComponent($props.column.children.footer), { + key: 0, + column: $props.column + }, null, 8, ["column"])) : createCommentVNode("", true), $options.columnProp("footer") ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": _ctx.cx("columnFooter") + }, $options.getColumnPT("columnFooter")), toDisplayString($options.columnProp("footer")), 17)) : createCommentVNode("", true)], 16, _hoisted_1$2); +} +__name(render$6, "render$6"); +script$6.render = render$6; +function _createForOfIteratorHelper$1(r, e) { + var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (!t) { + if (Array.isArray(r) || (t = _unsupportedIterableToArray$1(r)) || e) { + t && (r = t); + var _n = 0, F = /* @__PURE__ */ __name(function F2() { + }, "F"); + return { s: F, n: /* @__PURE__ */ __name(function n() { + return _n >= r.length ? { done: true } : { done: false, value: r[_n++] }; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + throw r2; + }, "e"), f: F }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var o, a = true, u = false; + return { s: /* @__PURE__ */ __name(function s() { + t = t.call(r); + }, "s"), n: /* @__PURE__ */ __name(function n() { + var r2 = t.next(); + return a = r2.done, r2; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + u = true, o = r2; + }, "e"), f: /* @__PURE__ */ __name(function f() { + try { + a || null == t["return"] || t["return"](); + } finally { + if (u) throw o; + } + }, "f") }; +} +__name(_createForOfIteratorHelper$1, "_createForOfIteratorHelper$1"); +function _unsupportedIterableToArray$1(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$1(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$1, "_unsupportedIterableToArray$1"); +function _arrayLikeToArray$1(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$1, "_arrayLikeToArray$1"); +var script$5 = { + name: "TableFooter", + hostName: "DataTable", + "extends": script$s, + props: { + columnGroup: { + type: null, + "default": null + }, + columns: { + type: Object, + "default": null + } + }, + provide: /* @__PURE__ */ __name(function provide5() { + return { + $rows: this.d_footerRows, + $columns: this.d_footerColumns + }; + }, "provide"), + data: /* @__PURE__ */ __name(function data7() { + return { + d_footerRows: new _default({ + type: "Row" + }), + d_footerColumns: new _default({ + type: "Column" + }) + }; + }, "data"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount2() { + this.d_footerRows.clear(); + this.d_footerColumns.clear(); + }, "beforeUnmount"), + methods: { + columnProp: /* @__PURE__ */ __name(function columnProp4(col, prop) { + return getVNodeProp(col, prop); + }, "columnProp"), + getColumnGroupPT: /* @__PURE__ */ __name(function getColumnGroupPT(key) { + var columnGroupMetaData = { + props: this.getColumnGroupProps(), + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + type: "footer", + scrollable: this.ptmTFootOptions.context.scrollable + } + }; + return mergeProps(this.ptm("columnGroup.".concat(key), { + columnGroup: columnGroupMetaData + }), this.ptm("columnGroup.".concat(key), columnGroupMetaData), this.ptmo(this.getColumnGroupProps(), key, columnGroupMetaData)); + }, "getColumnGroupPT"), + getColumnGroupProps: /* @__PURE__ */ __name(function getColumnGroupProps() { + return this.columnGroup && this.columnGroup.props && this.columnGroup.props.pt ? this.columnGroup.props.pt : void 0; + }, "getColumnGroupProps"), + getRowPT: /* @__PURE__ */ __name(function getRowPT(row2, key, index) { + var rowMetaData = { + props: row2.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + index + } + }; + return mergeProps(this.ptm("row.".concat(key), { + row: rowMetaData + }), this.ptm("row.".concat(key), rowMetaData), this.ptmo(this.getRowProp(row2), key, rowMetaData)); + }, "getRowPT"), + getRowProp: /* @__PURE__ */ __name(function getRowProp(row2) { + return row2.props && row2.props.pt ? row2.props.pt : void 0; + }, "getRowProp"), + getFooterRows: /* @__PURE__ */ __name(function getFooterRows() { + var _this$d_footerRows; + return (_this$d_footerRows = this.d_footerRows) === null || _this$d_footerRows === void 0 ? void 0 : _this$d_footerRows.get(this.columnGroup, this.columnGroup.children); + }, "getFooterRows"), + getFooterColumns: /* @__PURE__ */ __name(function getFooterColumns(row2) { + var _this$d_footerColumns; + return (_this$d_footerColumns = this.d_footerColumns) === null || _this$d_footerColumns === void 0 ? void 0 : _this$d_footerColumns.get(row2, row2.children); + }, "getFooterColumns") + }, + computed: { + hasFooter: /* @__PURE__ */ __name(function hasFooter() { + var hasFooter2 = false; + if (this.columnGroup) { + hasFooter2 = true; + } else if (this.columns) { + var _iterator = _createForOfIteratorHelper$1(this.columns), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var col = _step.value; + if (this.columnProp(col, "footer") || col.children && col.children.footer) { + hasFooter2 = true; + break; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + return hasFooter2; + }, "hasFooter"), + ptmTFootOptions: /* @__PURE__ */ __name(function ptmTFootOptions() { + var _this$$parentInstance; + return { + context: { + scrollable: (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 || (_this$$parentInstance = _this$$parentInstance.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.scrollable + } + }; + }, "ptmTFootOptions") + }, + components: { + DTFooterCell: script$6 + } +}; +function _typeof$6(o) { + "@babel/helpers - typeof"; + return _typeof$6 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$6(o); +} +__name(_typeof$6, "_typeof$6"); +function ownKeys$6(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$6, "ownKeys$6"); +function _objectSpread$6(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$6(Object(t), true).forEach(function(r2) { + _defineProperty$6(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$6, "_objectSpread$6"); +function _defineProperty$6(e, r, t) { + return (r = _toPropertyKey$6(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$6, "_defineProperty$6"); +function _toPropertyKey$6(t) { + var i = _toPrimitive$6(t, "string"); + return "symbol" == _typeof$6(i) ? i : i + ""; +} +__name(_toPropertyKey$6, "_toPropertyKey$6"); +function _toPrimitive$6(t, r) { + if ("object" != _typeof$6(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$6(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$6, "_toPrimitive$6"); +function render$5(_ctx, _cache, $props, $setup, $data, $options) { + var _component_DTFooterCell = resolveComponent("DTFooterCell"); + return $options.hasFooter ? (openBlock(), createElementBlock("tfoot", mergeProps({ + key: 0, + "class": _ctx.cx("tfoot"), + style: _ctx.sx("tfoot"), + role: "rowgroup" + }, $props.columnGroup ? _objectSpread$6(_objectSpread$6({}, _ctx.ptm("tfoot", $options.ptmTFootOptions)), $options.getColumnGroupPT("root")) : _ctx.ptm("tfoot", $options.ptmTFootOptions), { + "data-pc-section": "tfoot" + }), [!$props.columnGroup ? (openBlock(), createElementBlock("tr", mergeProps({ + key: 0, + role: "row" + }, _ctx.ptm("footerRow")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.columns, function(col, i) { + return openBlock(), createElementBlock(Fragment, { + key: $options.columnProp(col, "columnKey") || $options.columnProp(col, "field") || i + }, [!$options.columnProp(col, "hidden") ? (openBlock(), createBlock(_component_DTFooterCell, { + key: 0, + column: col, + pt: _ctx.pt + }, null, 8, ["column", "pt"])) : createCommentVNode("", true)], 64); + }), 128))], 16)) : (openBlock(true), createElementBlock(Fragment, { + key: 1 + }, renderList($options.getFooterRows(), function(row2, i) { + return openBlock(), createElementBlock("tr", mergeProps({ + key: i, + role: "row", + ref_for: true + }, _objectSpread$6(_objectSpread$6({}, _ctx.ptm("footerRow")), $options.getRowPT(row2, "root", i))), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.getFooterColumns(row2), function(col, j) { + return openBlock(), createElementBlock(Fragment, { + key: $options.columnProp(col, "columnKey") || $options.columnProp(col, "field") || j + }, [!$options.columnProp(col, "hidden") ? (openBlock(), createBlock(_component_DTFooterCell, { + key: 0, + column: col, + index: i, + pt: _ctx.pt + }, null, 8, ["column", "index", "pt"])) : createCommentVNode("", true)], 64); + }), 128))], 16); + }), 128))], 16)) : createCommentVNode("", true); +} +__name(render$5, "render$5"); +script$5.render = render$5; +function _typeof$5(o) { + "@babel/helpers - typeof"; + return _typeof$5 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$5(o); +} +__name(_typeof$5, "_typeof$5"); +function ownKeys$5(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$5, "ownKeys$5"); +function _objectSpread$5(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$5(Object(t), true).forEach(function(r2) { + _defineProperty$5(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$5, "_objectSpread$5"); +function _defineProperty$5(e, r, t) { + return (r = _toPropertyKey$5(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$5, "_defineProperty$5"); +function _toPropertyKey$5(t) { + var i = _toPrimitive$5(t, "string"); + return "symbol" == _typeof$5(i) ? i : i + ""; +} +__name(_toPropertyKey$5, "_toPropertyKey$5"); +function _toPrimitive$5(t, r) { + if ("object" != _typeof$5(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$5(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$5, "_toPrimitive$5"); +var script$4 = { + name: "ColumnFilter", + hostName: "DataTable", + "extends": script$s, + emits: ["filter-change", "filter-apply", "operator-change", "matchmode-change", "constraint-add", "constraint-remove", "filter-clear", "apply-click"], + props: { + field: { + type: String, + "default": null + }, + type: { + type: String, + "default": "text" + }, + display: { + type: String, + "default": null + }, + showMenu: { + type: Boolean, + "default": true + }, + matchMode: { + type: String, + "default": null + }, + showOperator: { + type: Boolean, + "default": true + }, + showClearButton: { + type: Boolean, + "default": true + }, + showApplyButton: { + type: Boolean, + "default": true + }, + showMatchModes: { + type: Boolean, + "default": true + }, + showAddButton: { + type: Boolean, + "default": true + }, + matchModeOptions: { + type: Array, + "default": null + }, + maxConstraints: { + type: Number, + "default": 2 + }, + filterElement: { + type: Function, + "default": null + }, + filterHeaderTemplate: { + type: Function, + "default": null + }, + filterFooterTemplate: { + type: Function, + "default": null + }, + filterClearTemplate: { + type: Function, + "default": null + }, + filterApplyTemplate: { + type: Function, + "default": null + }, + filterIconTemplate: { + type: Function, + "default": null + }, + filterAddIconTemplate: { + type: Function, + "default": null + }, + filterRemoveIconTemplate: { + type: Function, + "default": null + }, + filterClearIconTemplate: { + type: Function, + "default": null + }, + filters: { + type: Object, + "default": null + }, + filtersStore: { + type: Object, + "default": null + }, + filterMenuClass: { + type: String, + "default": null + }, + filterMenuStyle: { + type: null, + "default": null + }, + filterInputProps: { + type: null, + "default": null + }, + filterButtonProps: { + type: null, + "default": null + }, + column: null + }, + data: /* @__PURE__ */ __name(function data8() { + return { + id: this.$attrs.id, + overlayVisible: false, + defaultMatchMode: null, + defaultOperator: null + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId") + }, + overlay: null, + selfClick: false, + overlayEventListener: null, + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount3() { + if (this.overlayEventListener) { + OverlayEventBus.off("overlay-click", this.overlayEventListener); + this.overlayEventListener = null; + } + if (this.overlay) { + ZIndex.clear(this.overlay); + this.onOverlayHide(); + } + }, "beforeUnmount"), + mounted: /* @__PURE__ */ __name(function mounted6() { + this.id = this.id || UniqueComponentId(); + if (this.filters && this.filters[this.field]) { + var fieldFilters = this.filters[this.field]; + if (fieldFilters.operator) { + this.defaultMatchMode = fieldFilters.constraints[0].matchMode; + this.defaultOperator = fieldFilters.operator; + } else { + this.defaultMatchMode = this.filters[this.field].matchMode; + } + } + }, "mounted"), + methods: { + getColumnPT: /* @__PURE__ */ __name(function getColumnPT6(key, params) { + var columnMetaData = _objectSpread$5({ + props: this.column.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + } + }, params); + return mergeProps(this.ptm("column.".concat(key), { + column: columnMetaData + }), this.ptm("column.".concat(key), columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData)); + }, "getColumnPT"), + getColumnProp: /* @__PURE__ */ __name(function getColumnProp5() { + return this.column.props && this.column.props.pt ? this.column.props.pt : void 0; + }, "getColumnProp"), + ptmFilterConstraintOptions: /* @__PURE__ */ __name(function ptmFilterConstraintOptions(matchMode) { + return { + context: { + highlighted: matchMode && this.isRowMatchModeSelected(matchMode.value) + } + }; + }, "ptmFilterConstraintOptions"), + clearFilter: /* @__PURE__ */ __name(function clearFilter() { + var _filters = _objectSpread$5({}, this.filters); + if (_filters[this.field].operator) { + _filters[this.field].constraints.splice(1); + _filters[this.field].operator = this.defaultOperator; + _filters[this.field].constraints[0] = { + value: null, + matchMode: this.defaultMatchMode + }; + } else { + _filters[this.field].value = null; + _filters[this.field].matchMode = this.defaultMatchMode; + } + this.$emit("filter-clear"); + this.$emit("filter-change", _filters); + this.$emit("filter-apply"); + this.hide(); + }, "clearFilter"), + applyFilter: /* @__PURE__ */ __name(function applyFilter() { + this.$emit("apply-click", { + field: this.field, + constraints: this.filters[this.field] + }); + this.$emit("filter-apply"); + this.hide(); + }, "applyFilter"), + hasFilter: /* @__PURE__ */ __name(function hasFilter() { + if (this.filtersStore) { + var fieldFilter = this.filtersStore[this.field]; + if (fieldFilter) { + if (fieldFilter.operator) return !this.isFilterBlank(fieldFilter.constraints[0].value); + else return !this.isFilterBlank(fieldFilter.value); + } + } + return false; + }, "hasFilter"), + hasRowFilter: /* @__PURE__ */ __name(function hasRowFilter() { + return this.filters[this.field] && !this.isFilterBlank(this.filters[this.field].value); + }, "hasRowFilter"), + isFilterBlank: /* @__PURE__ */ __name(function isFilterBlank(filter3) { + if (filter3 !== null && filter3 !== void 0) { + if (typeof filter3 === "string" && filter3.trim().length == 0 || filter3 instanceof Array && filter3.length == 0) return true; + else return false; + } + return true; + }, "isFilterBlank"), + toggleMenu: /* @__PURE__ */ __name(function toggleMenu(event2) { + this.overlayVisible = !this.overlayVisible; + event2.preventDefault(); + }, "toggleMenu"), + onToggleButtonKeyDown: /* @__PURE__ */ __name(function onToggleButtonKeyDown(event2) { + switch (event2.code) { + case "Enter": + case "NumpadEnter": + case "Space": + this.toggleMenu(event2); + break; + case "Escape": + this.overlayVisible = false; + break; + } + }, "onToggleButtonKeyDown"), + onRowMatchModeChange: /* @__PURE__ */ __name(function onRowMatchModeChange(matchMode) { + var _filters = _objectSpread$5({}, this.filters); + _filters[this.field].matchMode = matchMode; + this.$emit("matchmode-change", { + field: this.field, + matchMode + }); + this.$emit("filter-change", _filters); + this.$emit("filter-apply"); + this.hide(); + }, "onRowMatchModeChange"), + onRowMatchModeKeyDown: /* @__PURE__ */ __name(function onRowMatchModeKeyDown(event2) { + var item = event2.target; + switch (event2.code) { + case "ArrowDown": + var nextItem = this.findNextItem(item); + if (nextItem) { + item.removeAttribute("tabindex"); + nextItem.tabIndex = "0"; + nextItem.focus(); + } + event2.preventDefault(); + break; + case "ArrowUp": + var prevItem = this.findPrevItem(item); + if (prevItem) { + item.removeAttribute("tabindex"); + prevItem.tabIndex = "0"; + prevItem.focus(); + } + event2.preventDefault(); + break; + } + }, "onRowMatchModeKeyDown"), + isRowMatchModeSelected: /* @__PURE__ */ __name(function isRowMatchModeSelected(matchMode) { + return this.filters[this.field].matchMode === matchMode; + }, "isRowMatchModeSelected"), + onOperatorChange: /* @__PURE__ */ __name(function onOperatorChange(value) { + var _filters = _objectSpread$5({}, this.filters); + _filters[this.field].operator = value; + this.$emit("filter-change", _filters); + this.$emit("operator-change", { + field: this.field, + operator: value + }); + if (!this.showApplyButton) { + this.$emit("filter-apply"); + } + }, "onOperatorChange"), + onMenuMatchModeChange: /* @__PURE__ */ __name(function onMenuMatchModeChange(value, index) { + var _filters = _objectSpread$5({}, this.filters); + _filters[this.field].constraints[index].matchMode = value; + this.$emit("matchmode-change", { + field: this.field, + matchMode: value, + index + }); + if (!this.showApplyButton) { + this.$emit("filter-apply"); + } + }, "onMenuMatchModeChange"), + addConstraint: /* @__PURE__ */ __name(function addConstraint() { + var _filters = _objectSpread$5({}, this.filters); + var newConstraint = { + value: null, + matchMode: this.defaultMatchMode + }; + _filters[this.field].constraints.push(newConstraint); + this.$emit("constraint-add", { + field: this.field, + constraing: newConstraint + }); + this.$emit("filter-change", _filters); + if (!this.showApplyButton) { + this.$emit("filter-apply"); + } + }, "addConstraint"), + removeConstraint: /* @__PURE__ */ __name(function removeConstraint(index) { + var _filters = _objectSpread$5({}, this.filters); + var removedConstraint = _filters[this.field].constraints.splice(index, 1); + this.$emit("constraint-remove", { + field: this.field, + constraing: removedConstraint + }); + this.$emit("filter-change", _filters); + if (!this.showApplyButton) { + this.$emit("filter-apply"); + } + }, "removeConstraint"), + filterCallback: /* @__PURE__ */ __name(function filterCallback() { + this.$emit("filter-apply"); + }, "filterCallback"), + findNextItem: /* @__PURE__ */ __name(function findNextItem(item) { + var nextItem = item.nextElementSibling; + if (nextItem) return getAttribute(nextItem, "data-pc-section") === "filterconstraintseparator" ? this.findNextItem(nextItem) : nextItem; + else return item.parentElement.firstElementChild; + }, "findNextItem"), + findPrevItem: /* @__PURE__ */ __name(function findPrevItem(item) { + var prevItem = item.previousElementSibling; + if (prevItem) return getAttribute(prevItem, "data-pc-section") === "filterconstraintseparator" ? this.findPrevItem(prevItem) : prevItem; + else return item.parentElement.lastElementChild; + }, "findPrevItem"), + hide: /* @__PURE__ */ __name(function hide() { + this.overlayVisible = false; + this.showMenuButton && focus(this.$refs.icon.$el); + }, "hide"), + onContentClick: /* @__PURE__ */ __name(function onContentClick(event2) { + this.selfClick = true; + OverlayEventBus.emit("overlay-click", { + originalEvent: event2, + target: this.overlay + }); + }, "onContentClick"), + onContentMouseDown: /* @__PURE__ */ __name(function onContentMouseDown() { + this.selfClick = true; + }, "onContentMouseDown"), + onOverlayEnter: /* @__PURE__ */ __name(function onOverlayEnter(el) { + var _this = this; + if (this.filterMenuStyle) { + addStyle(this.overlay, this.filterMenuStyle); + } + ZIndex.set("overlay", el, this.$primevue.config.zIndex.overlay); + addStyle(el, { + position: "absolute", + top: "0", + left: "0" + }); + absolutePosition(this.overlay, this.$refs.icon.$el); + this.bindOutsideClickListener(); + this.bindScrollListener(); + this.bindResizeListener(); + this.overlayEventListener = function(e) { + if (!_this.isOutsideClicked(e.target)) { + _this.selfClick = true; + } + }; + OverlayEventBus.on("overlay-click", this.overlayEventListener); + }, "onOverlayEnter"), + onOverlayAfterEnter: /* @__PURE__ */ __name(function onOverlayAfterEnter() { + var _this$overlay; + (_this$overlay = this.overlay) === null || _this$overlay === void 0 || (_this$overlay = _this$overlay.$focustrap) === null || _this$overlay === void 0 || _this$overlay.autoFocus(); + }, "onOverlayAfterEnter"), + onOverlayLeave: /* @__PURE__ */ __name(function onOverlayLeave() { + this.onOverlayHide(); + }, "onOverlayLeave"), + onOverlayAfterLeave: /* @__PURE__ */ __name(function onOverlayAfterLeave(el) { + ZIndex.clear(el); + }, "onOverlayAfterLeave"), + onOverlayHide: /* @__PURE__ */ __name(function onOverlayHide() { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + this.unbindScrollListener(); + this.overlay = null; + OverlayEventBus.off("overlay-click", this.overlayEventListener); + this.overlayEventListener = null; + }, "onOverlayHide"), + overlayRef: /* @__PURE__ */ __name(function overlayRef(el) { + this.overlay = el; + }, "overlayRef"), + isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked(target) { + return !this.isTargetClicked(target) && this.overlay && !(this.overlay.isSameNode(target) || this.overlay.contains(target)); + }, "isOutsideClicked"), + isTargetClicked: /* @__PURE__ */ __name(function isTargetClicked(target) { + return this.$refs.icon && (this.$refs.icon.$el.isSameNode(target) || this.$refs.icon.$el.contains(target)); + }, "isTargetClicked"), + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener() { + var _this2 = this; + if (!this.outsideClickListener) { + this.outsideClickListener = function(event2) { + if (_this2.overlayVisible && !_this2.selfClick && _this2.isOutsideClicked(event2.target)) { + _this2.overlayVisible = false; + } + _this2.selfClick = false; + }; + document.addEventListener("click", this.outsideClickListener); + } + }, "bindOutsideClickListener"), + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener() { + if (this.outsideClickListener) { + document.removeEventListener("click", this.outsideClickListener); + this.outsideClickListener = null; + this.selfClick = false; + } + }, "unbindOutsideClickListener"), + bindScrollListener: /* @__PURE__ */ __name(function bindScrollListener() { + var _this3 = this; + if (!this.scrollHandler) { + this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.icon.$el, function() { + if (_this3.overlayVisible) { + _this3.hide(); + } + }); + } + this.scrollHandler.bindScrollListener(); + }, "bindScrollListener"), + unbindScrollListener: /* @__PURE__ */ __name(function unbindScrollListener() { + if (this.scrollHandler) { + this.scrollHandler.unbindScrollListener(); + } + }, "unbindScrollListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener() { + var _this4 = this; + if (!this.resizeListener) { + this.resizeListener = function() { + if (_this4.overlayVisible && !isTouchDevice()) { + _this4.hide(); + } + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener") + }, + computed: { + showMenuButton: /* @__PURE__ */ __name(function showMenuButton() { + return this.showMenu && (this.display === "row" ? this.type !== "boolean" : true); + }, "showMenuButton"), + overlayId: /* @__PURE__ */ __name(function overlayId() { + return this.id + "_overlay"; + }, "overlayId"), + matchModes: /* @__PURE__ */ __name(function matchModes() { + var _this5 = this; + return this.matchModeOptions || this.$primevue.config.filterMatchModeOptions[this.type].map(function(key) { + return { + label: _this5.$primevue.config.locale[key], + value: key + }; + }); + }, "matchModes"), + isShowMatchModes: /* @__PURE__ */ __name(function isShowMatchModes() { + return this.type !== "boolean" && this.showMatchModes && this.matchModes; + }, "isShowMatchModes"), + operatorOptions: /* @__PURE__ */ __name(function operatorOptions() { + return [{ + label: this.$primevue.config.locale.matchAll, + value: FilterOperator.AND + }, { + label: this.$primevue.config.locale.matchAny, + value: FilterOperator.OR + }]; + }, "operatorOptions"), + noFilterLabel: /* @__PURE__ */ __name(function noFilterLabel() { + return this.$primevue.config.locale ? this.$primevue.config.locale.noFilter : void 0; + }, "noFilterLabel"), + isShowOperator: /* @__PURE__ */ __name(function isShowOperator() { + return this.showOperator && this.filters[this.field].operator; + }, "isShowOperator"), + operator: /* @__PURE__ */ __name(function operator() { + return this.filters[this.field].operator; + }, "operator"), + fieldConstraints: /* @__PURE__ */ __name(function fieldConstraints() { + return this.filters[this.field].constraints || [this.filters[this.field]]; + }, "fieldConstraints"), + showRemoveIcon: /* @__PURE__ */ __name(function showRemoveIcon() { + return this.fieldConstraints.length > 1; + }, "showRemoveIcon"), + removeRuleButtonLabel: /* @__PURE__ */ __name(function removeRuleButtonLabel() { + return this.$primevue.config.locale ? this.$primevue.config.locale.removeRule : void 0; + }, "removeRuleButtonLabel"), + addRuleButtonLabel: /* @__PURE__ */ __name(function addRuleButtonLabel() { + return this.$primevue.config.locale ? this.$primevue.config.locale.addRule : void 0; + }, "addRuleButtonLabel"), + isShowAddConstraint: /* @__PURE__ */ __name(function isShowAddConstraint() { + return this.showAddButton && this.filters[this.field].operator && this.fieldConstraints && this.fieldConstraints.length < this.maxConstraints; + }, "isShowAddConstraint"), + clearButtonLabel: /* @__PURE__ */ __name(function clearButtonLabel() { + return this.$primevue.config.locale ? this.$primevue.config.locale.clear : void 0; + }, "clearButtonLabel"), + applyButtonLabel: /* @__PURE__ */ __name(function applyButtonLabel() { + return this.$primevue.config.locale ? this.$primevue.config.locale.apply : void 0; + }, "applyButtonLabel"), + columnFilterButtonAriaLabel: /* @__PURE__ */ __name(function columnFilterButtonAriaLabel() { + return this.$primevue.config.locale ? this.overlayVisible ? this.$primevue.config.locale.showFilterMenu : this.$primevue.config.locale.hideFilterMenu : void 0; + }, "columnFilterButtonAriaLabel"), + filterOperatorAriaLabel: /* @__PURE__ */ __name(function filterOperatorAriaLabel() { + return this.$primevue.config.locale ? this.$primevue.config.locale.filterOperator : void 0; + }, "filterOperatorAriaLabel"), + filterRuleAriaLabel: /* @__PURE__ */ __name(function filterRuleAriaLabel() { + return this.$primevue.config.locale ? this.$primevue.config.locale.filterConstraint : void 0; + }, "filterRuleAriaLabel"), + ptmHeaderFilterClearParams: /* @__PURE__ */ __name(function ptmHeaderFilterClearParams() { + return { + context: { + hidden: this.hasRowFilter() + } + }; + }, "ptmHeaderFilterClearParams"), + ptmFilterMenuParams: /* @__PURE__ */ __name(function ptmFilterMenuParams() { + return { + context: { + overlayVisible: this.overlayVisible, + active: this.hasFilter() + } + }; + }, "ptmFilterMenuParams") + }, + components: { + Select: script$u, + Button: script$z, + Portal: script$E, + FilterSlashIcon: script$h, + FilterIcon: script$i, + TrashIcon: script$g, + PlusIcon: script$F + }, + directives: { + focustrap: FocusTrap + } +}; +function _typeof$4(o) { + "@babel/helpers - typeof"; + return _typeof$4 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$4(o); +} +__name(_typeof$4, "_typeof$4"); +function ownKeys$4(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$4, "ownKeys$4"); +function _objectSpread$4(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$4(Object(t), true).forEach(function(r2) { + _defineProperty$4(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$4, "_objectSpread$4"); +function _defineProperty$4(e, r, t) { + return (r = _toPropertyKey$4(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$4, "_defineProperty$4"); +function _toPropertyKey$4(t) { + var i = _toPrimitive$4(t, "string"); + return "symbol" == _typeof$4(i) ? i : i + ""; +} +__name(_toPropertyKey$4, "_toPropertyKey$4"); +function _toPrimitive$4(t, r) { + if ("object" != _typeof$4(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$4(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$4, "_toPrimitive$4"); +var _hoisted_1$1 = ["id", "aria-modal"]; +var _hoisted_2 = ["onClick", "onKeydown", "tabindex"]; +function render$4(_ctx, _cache, $props, $setup, $data, $options) { + var _component_Button = resolveComponent("Button"); + var _component_Select = resolveComponent("Select"); + var _component_Portal = resolveComponent("Portal"); + var _directive_focustrap = resolveDirective("focustrap"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("filter") + }, $options.getColumnPT("filter")), [$props.display === "row" ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("filterElementContainer") + }, _objectSpread$4(_objectSpread$4({}, $props.filterInputProps), $options.getColumnPT("filterElementContainer"))), [(openBlock(), createBlock(resolveDynamicComponent($props.filterElement), { + field: $props.field, + filterModel: $props.filters[$props.field], + filterCallback: $options.filterCallback + }, null, 8, ["field", "filterModel", "filterCallback"]))], 16)) : createCommentVNode("", true), $options.showMenuButton ? (openBlock(), createBlock(_component_Button, mergeProps({ + key: 1, + ref: "icon", + "aria-label": $options.columnFilterButtonAriaLabel, + "aria-haspopup": "true", + "aria-expanded": $data.overlayVisible, + "aria-controls": $options.overlayId, + "class": _ctx.cx("pcColumnFilterButton"), + unstyled: _ctx.unstyled, + onClick: _cache[0] || (_cache[0] = function($event) { + return $options.toggleMenu($event); + }), + onKeydown: _cache[1] || (_cache[1] = function($event) { + return $options.onToggleButtonKeyDown($event); + }) + }, _objectSpread$4(_objectSpread$4({}, $options.getColumnPT("pcColumnFilterButton", $options.ptmFilterMenuParams)), $props.filterButtonProps.filter)), { + icon: withCtx(function(slotProps) { + return [(openBlock(), createBlock(resolveDynamicComponent($props.filterIconTemplate || "FilterIcon"), mergeProps({ + "class": slotProps["class"] + }, $options.getColumnPT("filterMenuIcon")), null, 16, ["class"]))]; + }), + _: 1 + }, 16, ["aria-label", "aria-expanded", "aria-controls", "class", "unstyled"])) : createCommentVNode("", true), $props.showClearButton && $props.display === "row" && $options.hasRowFilter() ? (openBlock(), createBlock(_component_Button, mergeProps({ + key: 2, + "class": _ctx.cx("pcColumnFilterClearButton"), + unstyled: _ctx.unstyled, + onClick: _cache[2] || (_cache[2] = function($event) { + return $options.clearFilter(); + }) + }, _objectSpread$4(_objectSpread$4({}, $options.getColumnPT("pcColumnFilterClearButton", $options.ptmHeaderFilterClearParams)), $props.filterButtonProps.inline.clear)), { + icon: withCtx(function(slotProps) { + return [(openBlock(), createBlock(resolveDynamicComponent($props.filterClearIconTemplate || "FilterSlashIcon"), mergeProps({ + "class": slotProps["class"] + }, $options.getColumnPT("filterClearIcon")), null, 16, ["class"]))]; + }), + _: 1 + }, 16, ["class", "unstyled"])) : createCommentVNode("", true), createVNode(_component_Portal, null, { + "default": withCtx(function() { + return [createVNode(Transition, mergeProps({ + name: "p-connected-overlay", + onEnter: $options.onOverlayEnter, + onAfterEnter: $options.onOverlayAfterEnter, + onLeave: $options.onOverlayLeave, + onAfterLeave: $options.onOverlayAfterLeave + }, $options.getColumnPT("transition")), { + "default": withCtx(function() { + return [$data.overlayVisible ? withDirectives((openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref: $options.overlayRef, + id: $options.overlayId, + "aria-modal": $data.overlayVisible, + role: "dialog", + "class": [_ctx.cx("filterOverlay"), $props.filterMenuClass], + onKeydown: _cache[10] || (_cache[10] = withKeys(function() { + return $options.hide && $options.hide.apply($options, arguments); + }, ["escape"])), + onClick: _cache[11] || (_cache[11] = function() { + return $options.onContentClick && $options.onContentClick.apply($options, arguments); + }), + onMousedown: _cache[12] || (_cache[12] = function() { + return $options.onContentMouseDown && $options.onContentMouseDown.apply($options, arguments); + }) + }, $options.getColumnPT("filterOverlay")), [(openBlock(), createBlock(resolveDynamicComponent($props.filterHeaderTemplate), { + field: $props.field, + filterModel: $props.filters[$props.field], + filterCallback: $options.filterCallback + }, null, 8, ["field", "filterModel", "filterCallback"])), $props.display === "row" ? (openBlock(), createElementBlock("ul", mergeProps({ + key: 0, + "class": _ctx.cx("filterConstraintList") + }, $options.getColumnPT("filterConstraintList")), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.matchModes, function(matchMode, i) { + return openBlock(), createElementBlock("li", mergeProps({ + key: matchMode.label, + "class": _ctx.cx("filterConstraint", { + matchMode + }), + onClick: /* @__PURE__ */ __name(function onClick3($event) { + return $options.onRowMatchModeChange(matchMode.value); + }, "onClick"), + onKeydown: [_cache[3] || (_cache[3] = function($event) { + return $options.onRowMatchModeKeyDown($event); + }), withKeys(withModifiers(function($event) { + return $options.onRowMatchModeChange(matchMode.value); + }, ["prevent"]), ["enter"])], + tabindex: i === 0 ? "0" : null, + ref_for: true + }, $options.getColumnPT("filterConstraint", $options.ptmFilterConstraintOptions(matchMode))), toDisplayString(matchMode.label), 17, _hoisted_2); + }), 128)), createBaseVNode("li", mergeProps({ + "class": _ctx.cx("filterConstraintSeparator") + }, $options.getColumnPT("filterConstraintSeparator")), null, 16), createBaseVNode("li", mergeProps({ + "class": _ctx.cx("filterConstraint"), + onClick: _cache[4] || (_cache[4] = function($event) { + return $options.clearFilter(); + }), + onKeydown: [_cache[5] || (_cache[5] = function($event) { + return $options.onRowMatchModeKeyDown($event); + }), _cache[6] || (_cache[6] = withKeys(function($event) { + return _ctx.onRowClearItemClick(); + }, ["enter"]))] + }, $options.getColumnPT("filterConstraint")), toDisplayString($options.noFilterLabel), 17)], 16)) : (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [$options.isShowOperator ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("filterOperator") + }, $options.getColumnPT("filterOperator")), [createVNode(_component_Select, { + options: $options.operatorOptions, + modelValue: $options.operator, + "aria-label": $options.filterOperatorAriaLabel, + "class": normalizeClass(_ctx.cx("pcFilterOperatorDropdown")), + optionLabel: "label", + optionValue: "value", + "onUpdate:modelValue": _cache[7] || (_cache[7] = function($event) { + return $options.onOperatorChange($event); + }), + unstyled: _ctx.unstyled, + pt: $options.getColumnPT("pcFilterOperatorDropdown") + }, null, 8, ["options", "modelValue", "aria-label", "class", "unstyled", "pt"])], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("filterRuleList") + }, $options.getColumnPT("filterRuleList")), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.fieldConstraints, function(fieldConstraint, i) { + return openBlock(), createElementBlock("div", mergeProps({ + key: i, + "class": _ctx.cx("filterRule"), + ref_for: true + }, $options.getColumnPT("filterRule")), [$options.isShowMatchModes ? (openBlock(), createBlock(_component_Select, { + key: 0, + options: $options.matchModes, + modelValue: fieldConstraint.matchMode, + "class": normalizeClass(_ctx.cx("pcFilterConstraintDropdown")), + optionLabel: "label", + optionValue: "value", + "aria-label": $options.filterRuleAriaLabel, + "onUpdate:modelValue": /* @__PURE__ */ __name(function onUpdateModelValue($event) { + return $options.onMenuMatchModeChange($event, i); + }, "onUpdateModelValue"), + unstyled: _ctx.unstyled, + pt: $options.getColumnPT("pcFilterConstraintDropdown") + }, null, 8, ["options", "modelValue", "class", "aria-label", "onUpdate:modelValue", "unstyled", "pt"])) : createCommentVNode("", true), $props.display === "menu" ? (openBlock(), createBlock(resolveDynamicComponent($props.filterElement), { + key: 1, + field: $props.field, + filterModel: fieldConstraint, + filterCallback: $options.filterCallback, + applyFilter: $options.applyFilter + }, null, 8, ["field", "filterModel", "filterCallback", "applyFilter"])) : createCommentVNode("", true), $options.showRemoveIcon ? (openBlock(), createElementBlock("div", mergeProps({ + key: 2, + ref_for: true + }, $options.getColumnPT("filterRemove")), [createVNode(_component_Button, mergeProps({ + type: "button", + "class": _ctx.cx("pcFilterRemoveRuleButton"), + onClick: /* @__PURE__ */ __name(function onClick3($event) { + return $options.removeConstraint(i); + }, "onClick"), + label: $options.removeRuleButtonLabel, + unstyled: _ctx.unstyled, + ref_for: true + }, $props.filterButtonProps.popover.removeRule, { + pt: $options.getColumnPT("pcFilterRemoveRuleButton") + }), { + icon: withCtx(function(iconProps) { + return [(openBlock(), createBlock(resolveDynamicComponent($props.filterRemoveIconTemplate || "TrashIcon"), mergeProps({ + "class": iconProps["class"], + ref_for: true + }, $options.getColumnPT("pcFilterRemoveRuleButton")["icon"]), null, 16, ["class"]))]; + }), + _: 2 + }, 1040, ["class", "onClick", "label", "unstyled", "pt"])], 16)) : createCommentVNode("", true)], 16); + }), 128))], 16), $options.isShowAddConstraint ? (openBlock(), createElementBlock("div", normalizeProps(mergeProps({ + key: 1 + }, $options.getColumnPT("filterAddButtonContainer"))), [createVNode(_component_Button, mergeProps({ + type: "button", + label: $options.addRuleButtonLabel, + iconPos: "left", + "class": _ctx.cx("pcFilterAddRuleButton"), + onClick: _cache[8] || (_cache[8] = function($event) { + return $options.addConstraint(); + }), + unstyled: _ctx.unstyled + }, $props.filterButtonProps.popover.addRule, { + pt: $options.getColumnPT("pcFilterAddRuleButton") + }), { + icon: withCtx(function(iconProps) { + return [(openBlock(), createBlock(resolveDynamicComponent($props.filterAddIconTemplate || "PlusIcon"), mergeProps({ + "class": iconProps["class"] + }, $options.getColumnPT("pcFilterAddRuleButton")["icon"]), null, 16, ["class"]))]; + }), + _: 1 + }, 16, ["label", "class", "unstyled", "pt"])], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("filterButtonbar") + }, $options.getColumnPT("filterButtonbar")), [!$props.filterClearTemplate && $props.showClearButton ? (openBlock(), createBlock(_component_Button, mergeProps({ + key: 0, + type: "button", + "class": _ctx.cx("pcFilterClearButton"), + label: $options.clearButtonLabel, + onClick: $options.clearFilter, + unstyled: _ctx.unstyled + }, $props.filterButtonProps.popover.clear, { + pt: $options.getColumnPT("pcFilterClearButton") + }), null, 16, ["class", "label", "onClick", "unstyled", "pt"])) : (openBlock(), createBlock(resolveDynamicComponent($props.filterClearTemplate), { + key: 1, + field: $props.field, + filterModel: $props.filters[$props.field], + filterCallback: $options.clearFilter + }, null, 8, ["field", "filterModel", "filterCallback"])), $props.showApplyButton ? (openBlock(), createElementBlock(Fragment, { + key: 2 + }, [!$props.filterApplyTemplate ? (openBlock(), createBlock(_component_Button, mergeProps({ + key: 0, + type: "button", + "class": _ctx.cx("pcFilterApplyButton"), + label: $options.applyButtonLabel, + onClick: _cache[9] || (_cache[9] = function($event) { + return $options.applyFilter(); + }), + unstyled: _ctx.unstyled + }, $props.filterButtonProps.popover.apply, { + pt: $options.getColumnPT("pcFilterApplyButton") + }), null, 16, ["class", "label", "unstyled", "pt"])) : (openBlock(), createBlock(resolveDynamicComponent($props.filterApplyTemplate), { + key: 1, + field: $props.field, + filterModel: $props.filters[$props.field], + filterCallback: $options.applyFilter + }, null, 8, ["field", "filterModel", "filterCallback"]))], 64)) : createCommentVNode("", true)], 16)], 64)), (openBlock(), createBlock(resolveDynamicComponent($props.filterFooterTemplate), { + field: $props.field, + filterModel: $props.filters[$props.field], + filterCallback: $options.filterCallback + }, null, 8, ["field", "filterModel", "filterCallback"]))], 16, _hoisted_1$1)), [[_directive_focustrap]]) : createCommentVNode("", true)]; + }), + _: 1 + }, 16, ["onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])]; + }), + _: 1 + })], 16); +} +__name(render$4, "render$4"); +script$4.render = render$4; +var script$3 = { + name: "HeaderCheckbox", + hostName: "DataTable", + "extends": script$s, + emits: ["change"], + props: { + checked: null, + disabled: null, + column: null, + headerCheckboxIconTemplate: { + type: Function, + "default": null + } + }, + methods: { + getColumnPT: /* @__PURE__ */ __name(function getColumnPT7(key) { + var columnMetaData = { + props: this.column.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + checked: this.checked, + disabled: this.disabled + } + }; + return mergeProps(this.ptm("column.".concat(key), { + column: columnMetaData + }), this.ptm("column.".concat(key), columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData)); + }, "getColumnPT"), + getColumnProp: /* @__PURE__ */ __name(function getColumnProp6() { + return this.column.props && this.column.props.pt ? this.column.props.pt : void 0; + }, "getColumnProp"), + onChange: /* @__PURE__ */ __name(function onChange7(event2) { + this.$emit("change", { + originalEvent: event2, + checked: !this.checked + }); + }, "onChange") + }, + computed: { + headerCheckboxAriaLabel: /* @__PURE__ */ __name(function headerCheckboxAriaLabel() { + return this.$primevue.config.locale.aria ? this.checked ? this.$primevue.config.locale.aria.selectAll : this.$primevue.config.locale.aria.unselectAll : void 0; + }, "headerCheckboxAriaLabel") + }, + components: { + CheckIcon: script$x, + Checkbox: script$y + } +}; +function render$3(_ctx, _cache, $props, $setup, $data, $options) { + var _component_CheckIcon = resolveComponent("CheckIcon"); + var _component_Checkbox = resolveComponent("Checkbox"); + return openBlock(), createBlock(_component_Checkbox, { + modelValue: $props.checked, + binary: true, + disabled: $props.disabled, + "aria-label": $options.headerCheckboxAriaLabel, + onChange: $options.onChange, + pt: $options.getColumnPT("pcHeaderCheckbox") + }, { + icon: withCtx(function(slotProps) { + return [$props.headerCheckboxIconTemplate ? (openBlock(), createBlock(resolveDynamicComponent($props.headerCheckboxIconTemplate), { + key: 0, + checked: slotProps.checked, + "class": normalizeClass(slotProps["class"]) + }, null, 8, ["checked", "class"])) : !$props.headerCheckboxIconTemplate && slotProps.checked ? (openBlock(), createBlock(_component_CheckIcon, mergeProps({ + key: 1, + "class": slotProps["class"] + }, $options.getColumnPT("pcHeaderCheckbox")["icon"]), null, 16, ["class"])) : createCommentVNode("", true)]; + }), + _: 1 + }, 8, ["modelValue", "disabled", "aria-label", "onChange", "pt"]); +} +__name(render$3, "render$3"); +script$3.render = render$3; +var script$2 = { + name: "HeaderCell", + hostName: "DataTable", + "extends": script$s, + emits: ["column-click", "column-mousedown", "column-dragstart", "column-dragover", "column-dragleave", "column-drop", "column-resizestart", "checkbox-change", "filter-change", "filter-apply", "operator-change", "matchmode-change", "constraint-add", "constraint-remove", "filter-clear", "apply-click"], + props: { + column: { + type: Object, + "default": null + }, + index: { + type: Number, + "default": null + }, + resizableColumns: { + type: Boolean, + "default": false + }, + groupRowsBy: { + type: [Array, String, Function], + "default": null + }, + sortMode: { + type: String, + "default": "single" + }, + groupRowSortField: { + type: [String, Function], + "default": null + }, + sortField: { + type: [String, Function], + "default": null + }, + sortOrder: { + type: Number, + "default": null + }, + multiSortMeta: { + type: Array, + "default": null + }, + allRowsSelected: { + type: Boolean, + "default": false + }, + empty: { + type: Boolean, + "default": false + }, + filterDisplay: { + type: String, + "default": null + }, + filters: { + type: Object, + "default": null + }, + filtersStore: { + type: Object, + "default": null + }, + filterColumn: { + type: Boolean, + "default": false + }, + reorderableColumns: { + type: Boolean, + "default": false + }, + filterInputProps: { + type: null, + "default": null + }, + filterButtonProps: { + type: null, + "default": null + } + }, + data: /* @__PURE__ */ __name(function data9() { + return { + styleObject: {} + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted7() { + if (this.columnProp("frozen")) { + this.updateStickyPosition(); + } + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated4() { + if (this.columnProp("frozen")) { + this.updateStickyPosition(); + } + }, "updated"), + methods: { + columnProp: /* @__PURE__ */ __name(function columnProp5(prop) { + return getVNodeProp(this.column, prop); + }, "columnProp"), + getColumnPT: /* @__PURE__ */ __name(function getColumnPT8(key) { + var _this$$parentInstance, _this$$parentInstance2; + var columnMetaData = { + props: this.column.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + index: this.index, + sortable: this.columnProp("sortable") === "" || this.columnProp("sortable"), + sorted: this.isColumnSorted(), + resizable: this.resizableColumns, + size: (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 || (_this$$parentInstance = _this$$parentInstance.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.size, + showGridlines: ((_this$$parentInstance2 = this.$parentInstance) === null || _this$$parentInstance2 === void 0 || (_this$$parentInstance2 = _this$$parentInstance2.$parentInstance) === null || _this$$parentInstance2 === void 0 ? void 0 : _this$$parentInstance2.showGridlines) || false + } + }; + return mergeProps(this.ptm("column.".concat(key), { + column: columnMetaData + }), this.ptm("column.".concat(key), columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData)); + }, "getColumnPT"), + getColumnProp: /* @__PURE__ */ __name(function getColumnProp7() { + return this.column.props && this.column.props.pt ? this.column.props.pt : void 0; + }, "getColumnProp"), + onClick: /* @__PURE__ */ __name(function onClick2(event2) { + this.$emit("column-click", { + originalEvent: event2, + column: this.column + }); + }, "onClick"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown2(event2) { + if ((event2.code === "Enter" || event2.code === "NumpadEnter" || event2.code === "Space") && event2.currentTarget.nodeName === "TH" && getAttribute(event2.currentTarget, "data-p-sortable-column")) { + this.$emit("column-click", { + originalEvent: event2, + column: this.column + }); + event2.preventDefault(); + } + }, "onKeyDown"), + onMouseDown: /* @__PURE__ */ __name(function onMouseDown(event2) { + this.$emit("column-mousedown", { + originalEvent: event2, + column: this.column + }); + }, "onMouseDown"), + onDragStart: /* @__PURE__ */ __name(function onDragStart(event2) { + this.$emit("column-dragstart", { + originalEvent: event2, + column: this.column + }); + }, "onDragStart"), + onDragOver: /* @__PURE__ */ __name(function onDragOver(event2) { + this.$emit("column-dragover", { + originalEvent: event2, + column: this.column + }); + }, "onDragOver"), + onDragLeave: /* @__PURE__ */ __name(function onDragLeave(event2) { + this.$emit("column-dragleave", { + originalEvent: event2, + column: this.column + }); + }, "onDragLeave"), + onDrop: /* @__PURE__ */ __name(function onDrop(event2) { + this.$emit("column-drop", { + originalEvent: event2, + column: this.column + }); + }, "onDrop"), + onResizeStart: /* @__PURE__ */ __name(function onResizeStart(event2) { + this.$emit("column-resizestart", event2); + }, "onResizeStart"), + getMultiSortMetaIndex: /* @__PURE__ */ __name(function getMultiSortMetaIndex() { + var _this = this; + return this.multiSortMeta.findIndex(function(meta) { + return meta.field === _this.columnProp("field") || meta.field === _this.columnProp("sortField"); + }); + }, "getMultiSortMetaIndex"), + getBadgeValue: /* @__PURE__ */ __name(function getBadgeValue() { + var index = this.getMultiSortMetaIndex(); + return this.groupRowsBy && this.groupRowsBy === this.groupRowSortField && index > -1 ? index : index + 1; + }, "getBadgeValue"), + isMultiSorted: /* @__PURE__ */ __name(function isMultiSorted() { + return this.sortMode === "multiple" && this.columnProp("sortable") && this.getMultiSortMetaIndex() > -1; + }, "isMultiSorted"), + isColumnSorted: /* @__PURE__ */ __name(function isColumnSorted() { + return this.sortMode === "single" ? this.sortField && (this.sortField === this.columnProp("field") || this.sortField === this.columnProp("sortField")) : this.isMultiSorted(); + }, "isColumnSorted"), + updateStickyPosition: /* @__PURE__ */ __name(function updateStickyPosition3() { + if (this.columnProp("frozen")) { + var align = this.columnProp("alignFrozen"); + if (align === "right") { + var right = 0; + var next2 = getNextElementSibling(this.$el, '[data-p-frozen-column="true"]'); + if (next2) { + right = getOuterWidth(next2) + parseFloat(next2.style.right || 0); + } + this.styleObject.right = right + "px"; + } else { + var left = 0; + var prev2 = getPreviousElementSibling(this.$el, '[data-p-frozen-column="true"]'); + if (prev2) { + left = getOuterWidth(prev2) + parseFloat(prev2.style.left || 0); + } + this.styleObject.left = left + "px"; + } + var filterRow = this.$el.parentElement.nextElementSibling; + if (filterRow) { + var index = getIndex(this.$el); + if (filterRow.children[index]) { + filterRow.children[index].style.left = this.styleObject.left; + filterRow.children[index].style.right = this.styleObject.right; + } + } + } + }, "updateStickyPosition"), + onHeaderCheckboxChange: /* @__PURE__ */ __name(function onHeaderCheckboxChange(event2) { + this.$emit("checkbox-change", event2); + }, "onHeaderCheckboxChange") + }, + computed: { + containerClass: /* @__PURE__ */ __name(function containerClass3() { + return [this.cx("headerCell"), this.filterColumn ? this.columnProp("filterHeaderClass") : this.columnProp("headerClass"), this.columnProp("class")]; + }, "containerClass"), + containerStyle: /* @__PURE__ */ __name(function containerStyle3() { + var headerStyle = this.filterColumn ? this.columnProp("filterHeaderStyle") : this.columnProp("headerStyle"); + var columnStyle = this.columnProp("style"); + return this.columnProp("frozen") ? [columnStyle, headerStyle, this.styleObject] : [columnStyle, headerStyle]; + }, "containerStyle"), + sortState: /* @__PURE__ */ __name(function sortState() { + var sorted2 = false; + var sortOrder2 = null; + if (this.sortMode === "single") { + sorted2 = this.sortField && (this.sortField === this.columnProp("field") || this.sortField === this.columnProp("sortField")); + sortOrder2 = sorted2 ? this.sortOrder : 0; + } else if (this.sortMode === "multiple") { + var metaIndex = this.getMultiSortMetaIndex(); + if (metaIndex > -1) { + sorted2 = true; + sortOrder2 = this.multiSortMeta[metaIndex].order; + } + } + return { + sorted: sorted2, + sortOrder: sortOrder2 + }; + }, "sortState"), + sortableColumnIcon: /* @__PURE__ */ __name(function sortableColumnIcon() { + var _this$sortState = this.sortState, sorted2 = _this$sortState.sorted, sortOrder2 = _this$sortState.sortOrder; + if (!sorted2) return script$f; + else if (sorted2 && sortOrder2 > 0) return script$d; + else if (sorted2 && sortOrder2 < 0) return script$e; + return null; + }, "sortableColumnIcon"), + ariaSort: /* @__PURE__ */ __name(function ariaSort() { + if (this.columnProp("sortable")) { + var _this$sortState2 = this.sortState, sorted2 = _this$sortState2.sorted, sortOrder2 = _this$sortState2.sortOrder; + if (sorted2 && sortOrder2 < 0) return "descending"; + else if (sorted2 && sortOrder2 > 0) return "ascending"; + else return "none"; + } else { + return null; + } + }, "ariaSort") + }, + components: { + Badge: script$G, + DTHeaderCheckbox: script$3, + DTColumnFilter: script$4, + SortAltIcon: script$f, + SortAmountUpAltIcon: script$d, + SortAmountDownIcon: script$e + } +}; +function _typeof$3(o) { + "@babel/helpers - typeof"; + return _typeof$3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$3(o); +} +__name(_typeof$3, "_typeof$3"); +function ownKeys$3(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$3, "ownKeys$3"); +function _objectSpread$3(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$3(Object(t), true).forEach(function(r2) { + _defineProperty$3(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$3, "_objectSpread$3"); +function _defineProperty$3(e, r, t) { + return (r = _toPropertyKey$3(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$3, "_defineProperty$3"); +function _toPropertyKey$3(t) { + var i = _toPrimitive$3(t, "string"); + return "symbol" == _typeof$3(i) ? i : i + ""; +} +__name(_toPropertyKey$3, "_toPropertyKey$3"); +function _toPrimitive$3(t, r) { + if ("object" != _typeof$3(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$3(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$3, "_toPrimitive$3"); +var _hoisted_1 = ["tabindex", "colspan", "rowspan", "aria-sort", "data-p-sortable-column", "data-p-resizable-column", "data-p-sorted", "data-p-filter-column", "data-p-frozen-column", "data-p-reorderable-column"]; +function render$2(_ctx, _cache, $props, $setup, $data, $options) { + var _component_Badge = resolveComponent("Badge"); + var _component_DTHeaderCheckbox = resolveComponent("DTHeaderCheckbox"); + var _component_DTColumnFilter = resolveComponent("DTColumnFilter"); + return openBlock(), createElementBlock("th", mergeProps({ + style: $options.containerStyle, + "class": $options.containerClass, + tabindex: $options.columnProp("sortable") ? "0" : null, + role: "columnheader", + colspan: $options.columnProp("colspan"), + rowspan: $options.columnProp("rowspan"), + "aria-sort": $options.ariaSort, + onClick: _cache[8] || (_cache[8] = function() { + return $options.onClick && $options.onClick.apply($options, arguments); + }), + onKeydown: _cache[9] || (_cache[9] = function() { + return $options.onKeyDown && $options.onKeyDown.apply($options, arguments); + }), + onMousedown: _cache[10] || (_cache[10] = function() { + return $options.onMouseDown && $options.onMouseDown.apply($options, arguments); + }), + onDragstart: _cache[11] || (_cache[11] = function() { + return $options.onDragStart && $options.onDragStart.apply($options, arguments); + }), + onDragover: _cache[12] || (_cache[12] = function() { + return $options.onDragOver && $options.onDragOver.apply($options, arguments); + }), + onDragleave: _cache[13] || (_cache[13] = function() { + return $options.onDragLeave && $options.onDragLeave.apply($options, arguments); + }), + onDrop: _cache[14] || (_cache[14] = function() { + return $options.onDrop && $options.onDrop.apply($options, arguments); + }) + }, _objectSpread$3(_objectSpread$3({}, $options.getColumnPT("root")), $options.getColumnPT("headerCell")), { + "data-p-sortable-column": $options.columnProp("sortable"), + "data-p-resizable-column": $props.resizableColumns, + "data-p-sorted": $options.isColumnSorted(), + "data-p-filter-column": $props.filterColumn, + "data-p-frozen-column": $options.columnProp("frozen"), + "data-p-reorderable-column": $props.reorderableColumns + }), [$props.resizableColumns && !$options.columnProp("frozen") ? (openBlock(), createElementBlock("span", mergeProps({ + key: 0, + "class": _ctx.cx("columnResizer"), + onMousedown: _cache[0] || (_cache[0] = function() { + return $options.onResizeStart && $options.onResizeStart.apply($options, arguments); + }) + }, $options.getColumnPT("columnResizer")), null, 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("columnHeaderContent") + }, $options.getColumnPT("columnHeaderContent")), [$props.column.children && $props.column.children.header ? (openBlock(), createBlock(resolveDynamicComponent($props.column.children.header), { + key: 0, + column: $props.column + }, null, 8, ["column"])) : createCommentVNode("", true), $options.columnProp("header") ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": _ctx.cx("columnTitle") + }, $options.getColumnPT("columnTitle")), toDisplayString($options.columnProp("header")), 17)) : createCommentVNode("", true), $options.columnProp("sortable") ? (openBlock(), createElementBlock("span", normalizeProps(mergeProps({ + key: 2 + }, $options.getColumnPT("sort"))), [(openBlock(), createBlock(resolveDynamicComponent($props.column.children && $props.column.children.sorticon || $options.sortableColumnIcon), mergeProps({ + sorted: $options.sortState.sorted, + sortOrder: $options.sortState.sortOrder, + "class": _ctx.cx("sortIcon") + }, $options.getColumnPT("sorticon")), null, 16, ["sorted", "sortOrder", "class"]))], 16)) : createCommentVNode("", true), $options.isMultiSorted() ? (openBlock(), createBlock(_component_Badge, { + key: 3, + "class": normalizeClass(_ctx.cx("pcSortBadge")), + pt: $options.getColumnPT("pcSortBadge"), + value: $options.getBadgeValue(), + size: "small" + }, null, 8, ["class", "pt", "value"])) : createCommentVNode("", true), $options.columnProp("selectionMode") === "multiple" && $props.filterDisplay !== "row" ? (openBlock(), createBlock(_component_DTHeaderCheckbox, { + key: 4, + checked: $props.allRowsSelected, + onChange: $options.onHeaderCheckboxChange, + disabled: $props.empty, + headerCheckboxIconTemplate: $props.column.children && $props.column.children.headercheckboxicon, + column: $props.column, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["checked", "onChange", "disabled", "headerCheckboxIconTemplate", "column", "unstyled", "pt"])) : createCommentVNode("", true), $props.filterDisplay === "menu" && $props.column.children && $props.column.children.filter ? (openBlock(), createBlock(_component_DTColumnFilter, { + key: 5, + field: $options.columnProp("filterField") || $options.columnProp("field"), + type: $options.columnProp("dataType"), + display: "menu", + showMenu: $options.columnProp("showFilterMenu"), + filterElement: $props.column.children && $props.column.children.filter, + filterHeaderTemplate: $props.column.children && $props.column.children.filterheader, + filterFooterTemplate: $props.column.children && $props.column.children.filterfooter, + filterClearTemplate: $props.column.children && $props.column.children.filterclear, + filterApplyTemplate: $props.column.children && $props.column.children.filterapply, + filterIconTemplate: $props.column.children && $props.column.children.filtericon, + filterAddIconTemplate: $props.column.children && $props.column.children.filteraddicon, + filterRemoveIconTemplate: $props.column.children && $props.column.children.filterremoveicon, + filterClearIconTemplate: $props.column.children && $props.column.children.filterclearicon, + filters: $props.filters, + filtersStore: $props.filtersStore, + filterInputProps: $props.filterInputProps, + filterButtonProps: $props.filterButtonProps, + onFilterChange: _cache[1] || (_cache[1] = function($event) { + return _ctx.$emit("filter-change", $event); + }), + onFilterApply: _cache[2] || (_cache[2] = function($event) { + return _ctx.$emit("filter-apply"); + }), + filterMenuStyle: $options.columnProp("filterMenuStyle"), + filterMenuClass: $options.columnProp("filterMenuClass"), + showOperator: $options.columnProp("showFilterOperator"), + showClearButton: $options.columnProp("showClearButton"), + showApplyButton: $options.columnProp("showApplyButton"), + showMatchModes: $options.columnProp("showFilterMatchModes"), + showAddButton: $options.columnProp("showAddButton"), + matchModeOptions: $options.columnProp("filterMatchModeOptions"), + maxConstraints: $options.columnProp("maxConstraints"), + onOperatorChange: _cache[3] || (_cache[3] = function($event) { + return _ctx.$emit("operator-change", $event); + }), + onMatchmodeChange: _cache[4] || (_cache[4] = function($event) { + return _ctx.$emit("matchmode-change", $event); + }), + onConstraintAdd: _cache[5] || (_cache[5] = function($event) { + return _ctx.$emit("constraint-add", $event); + }), + onConstraintRemove: _cache[6] || (_cache[6] = function($event) { + return _ctx.$emit("constraint-remove", $event); + }), + onApplyClick: _cache[7] || (_cache[7] = function($event) { + return _ctx.$emit("apply-click", $event); + }), + column: $props.column, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["field", "type", "showMenu", "filterElement", "filterHeaderTemplate", "filterFooterTemplate", "filterClearTemplate", "filterApplyTemplate", "filterIconTemplate", "filterAddIconTemplate", "filterRemoveIconTemplate", "filterClearIconTemplate", "filters", "filtersStore", "filterInputProps", "filterButtonProps", "filterMenuStyle", "filterMenuClass", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "matchModeOptions", "maxConstraints", "column", "unstyled", "pt"])) : createCommentVNode("", true)], 16)], 16, _hoisted_1); +} +__name(render$2, "render$2"); +script$2.render = render$2; +var script$1 = { + name: "TableHeader", + hostName: "DataTable", + "extends": script$s, + emits: ["column-click", "column-mousedown", "column-dragstart", "column-dragover", "column-dragleave", "column-drop", "column-resizestart", "checkbox-change", "filter-change", "filter-apply", "operator-change", "matchmode-change", "constraint-add", "constraint-remove", "filter-clear", "apply-click"], + props: { + columnGroup: { + type: null, + "default": null + }, + columns: { + type: null, + "default": null + }, + rowGroupMode: { + type: String, + "default": null + }, + groupRowsBy: { + type: [Array, String, Function], + "default": null + }, + resizableColumns: { + type: Boolean, + "default": false + }, + allRowsSelected: { + type: Boolean, + "default": false + }, + empty: { + type: Boolean, + "default": false + }, + sortMode: { + type: String, + "default": "single" + }, + groupRowSortField: { + type: [String, Function], + "default": null + }, + sortField: { + type: [String, Function], + "default": null + }, + sortOrder: { + type: Number, + "default": null + }, + multiSortMeta: { + type: Array, + "default": null + }, + filterDisplay: { + type: String, + "default": null + }, + filters: { + type: Object, + "default": null + }, + filtersStore: { + type: Object, + "default": null + }, + reorderableColumns: { + type: Boolean, + "default": false + }, + first: { + type: Number, + "default": 0 + }, + filterInputProps: { + type: null, + "default": null + }, + filterButtonProps: { + type: null, + "default": null + } + }, + provide: /* @__PURE__ */ __name(function provide6() { + return { + $rows: this.d_headerRows, + $columns: this.d_headerColumns + }; + }, "provide"), + data: /* @__PURE__ */ __name(function data10() { + return { + d_headerRows: new _default({ + type: "Row" + }), + d_headerColumns: new _default({ + type: "Column" + }) + }; + }, "data"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount4() { + this.d_headerRows.clear(); + this.d_headerColumns.clear(); + }, "beforeUnmount"), + methods: { + columnProp: /* @__PURE__ */ __name(function columnProp6(col, prop) { + return getVNodeProp(col, prop); + }, "columnProp"), + getColumnGroupPT: /* @__PURE__ */ __name(function getColumnGroupPT2(key) { + var _this$$parentInstance; + var columnGroupMetaData = { + props: this.getColumnGroupProps(), + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + type: "header", + scrollable: (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 || (_this$$parentInstance = _this$$parentInstance.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.scrollable + } + }; + return mergeProps(this.ptm("columnGroup.".concat(key), { + columnGroup: columnGroupMetaData + }), this.ptm("columnGroup.".concat(key), columnGroupMetaData), this.ptmo(this.getColumnGroupProps(), key, columnGroupMetaData)); + }, "getColumnGroupPT"), + getColumnGroupProps: /* @__PURE__ */ __name(function getColumnGroupProps2() { + return this.columnGroup && this.columnGroup.props && this.columnGroup.props.pt ? this.columnGroup.props.pt : void 0; + }, "getColumnGroupProps"), + getRowPT: /* @__PURE__ */ __name(function getRowPT2(row2, key, index) { + var rowMetaData = { + props: row2.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + index + } + }; + return mergeProps(this.ptm("row.".concat(key), { + row: rowMetaData + }), this.ptm("row.".concat(key), rowMetaData), this.ptmo(this.getRowProp(row2), key, rowMetaData)); + }, "getRowPT"), + getRowProp: /* @__PURE__ */ __name(function getRowProp2(row2) { + return row2.props && row2.props.pt ? row2.props.pt : void 0; + }, "getRowProp"), + getColumnPT: /* @__PURE__ */ __name(function getColumnPT9(column, key, index) { + var columnMetaData = { + props: column.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + index + } + }; + return mergeProps(this.ptm("column.".concat(key), { + column: columnMetaData + }), this.ptm("column.".concat(key), columnMetaData), this.ptmo(this.getColumnProp(column), key, columnMetaData)); + }, "getColumnPT"), + getColumnProp: /* @__PURE__ */ __name(function getColumnProp8(column) { + return column.props && column.props.pt ? column.props.pt : void 0; + }, "getColumnProp"), + getFilterColumnHeaderClass: /* @__PURE__ */ __name(function getFilterColumnHeaderClass(column) { + return [this.cx("headerCell", { + column + }), this.columnProp(column, "filterHeaderClass"), this.columnProp(column, "class")]; + }, "getFilterColumnHeaderClass"), + getFilterColumnHeaderStyle: /* @__PURE__ */ __name(function getFilterColumnHeaderStyle(column) { + return [this.columnProp(column, "filterHeaderStyle"), this.columnProp(column, "style")]; + }, "getFilterColumnHeaderStyle"), + getHeaderRows: /* @__PURE__ */ __name(function getHeaderRows() { + var _this$d_headerRows; + return (_this$d_headerRows = this.d_headerRows) === null || _this$d_headerRows === void 0 ? void 0 : _this$d_headerRows.get(this.columnGroup, this.columnGroup.children); + }, "getHeaderRows"), + getHeaderColumns: /* @__PURE__ */ __name(function getHeaderColumns(row2) { + var _this$d_headerColumns; + return (_this$d_headerColumns = this.d_headerColumns) === null || _this$d_headerColumns === void 0 ? void 0 : _this$d_headerColumns.get(row2, row2.children); + }, "getHeaderColumns") + }, + computed: { + ptmTHeadOptions: /* @__PURE__ */ __name(function ptmTHeadOptions() { + var _this$$parentInstance2; + return { + context: { + scrollable: (_this$$parentInstance2 = this.$parentInstance) === null || _this$$parentInstance2 === void 0 || (_this$$parentInstance2 = _this$$parentInstance2.$parentInstance) === null || _this$$parentInstance2 === void 0 ? void 0 : _this$$parentInstance2.scrollable + } + }; + }, "ptmTHeadOptions") + }, + components: { + DTHeaderCell: script$2, + DTHeaderCheckbox: script$3, + DTColumnFilter: script$4 + } +}; +function _typeof$2(o) { + "@babel/helpers - typeof"; + return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$2(o); +} +__name(_typeof$2, "_typeof$2"); +function ownKeys$2(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$2, "ownKeys$2"); +function _objectSpread$2(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$2(Object(t), true).forEach(function(r2) { + _defineProperty$2(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$2, "_objectSpread$2"); +function _defineProperty$2(e, r, t) { + return (r = _toPropertyKey$2(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$2, "_defineProperty$2"); +function _toPropertyKey$2(t) { + var i = _toPrimitive$2(t, "string"); + return "symbol" == _typeof$2(i) ? i : i + ""; +} +__name(_toPropertyKey$2, "_toPropertyKey$2"); +function _toPrimitive$2(t, r) { + if ("object" != _typeof$2(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$2(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$2, "_toPrimitive$2"); +function render$1(_ctx, _cache, $props, $setup, $data, $options) { + var _component_DTHeaderCell = resolveComponent("DTHeaderCell"); + var _component_DTHeaderCheckbox = resolveComponent("DTHeaderCheckbox"); + var _component_DTColumnFilter = resolveComponent("DTColumnFilter"); + return openBlock(), createElementBlock("thead", mergeProps({ + "class": _ctx.cx("thead"), + style: _ctx.sx("thead"), + role: "rowgroup" + }, $props.columnGroup ? _objectSpread$2(_objectSpread$2({}, _ctx.ptm("thead", $options.ptmTHeadOptions)), $options.getColumnGroupPT("root")) : _ctx.ptm("thead", $options.ptmTHeadOptions), { + "data-pc-section": "thead" + }), [!$props.columnGroup ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [createBaseVNode("tr", mergeProps({ + role: "row" + }, _ctx.ptm("headerRow")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.columns, function(col, i) { + return openBlock(), createElementBlock(Fragment, { + key: $options.columnProp(col, "columnKey") || $options.columnProp(col, "field") || i + }, [!$options.columnProp(col, "hidden") && ($props.rowGroupMode !== "subheader" || $props.groupRowsBy !== $options.columnProp(col, "field")) ? (openBlock(), createBlock(_component_DTHeaderCell, { + key: 0, + column: col, + index: i, + onColumnClick: _cache[0] || (_cache[0] = function($event) { + return _ctx.$emit("column-click", $event); + }), + onColumnMousedown: _cache[1] || (_cache[1] = function($event) { + return _ctx.$emit("column-mousedown", $event); + }), + onColumnDragstart: _cache[2] || (_cache[2] = function($event) { + return _ctx.$emit("column-dragstart", $event); + }), + onColumnDragover: _cache[3] || (_cache[3] = function($event) { + return _ctx.$emit("column-dragover", $event); + }), + onColumnDragleave: _cache[4] || (_cache[4] = function($event) { + return _ctx.$emit("column-dragleave", $event); + }), + onColumnDrop: _cache[5] || (_cache[5] = function($event) { + return _ctx.$emit("column-drop", $event); + }), + groupRowsBy: $props.groupRowsBy, + groupRowSortField: $props.groupRowSortField, + reorderableColumns: $props.reorderableColumns, + resizableColumns: $props.resizableColumns, + onColumnResizestart: _cache[6] || (_cache[6] = function($event) { + return _ctx.$emit("column-resizestart", $event); + }), + sortMode: $props.sortMode, + sortField: $props.sortField, + sortOrder: $props.sortOrder, + multiSortMeta: $props.multiSortMeta, + allRowsSelected: $props.allRowsSelected, + empty: $props.empty, + onCheckboxChange: _cache[7] || (_cache[7] = function($event) { + return _ctx.$emit("checkbox-change", $event); + }), + filters: $props.filters, + filterDisplay: $props.filterDisplay, + filtersStore: $props.filtersStore, + filterInputProps: $props.filterInputProps, + filterButtonProps: $props.filterButtonProps, + first: $props.first, + onFilterChange: _cache[8] || (_cache[8] = function($event) { + return _ctx.$emit("filter-change", $event); + }), + onFilterApply: _cache[9] || (_cache[9] = function($event) { + return _ctx.$emit("filter-apply"); + }), + onOperatorChange: _cache[10] || (_cache[10] = function($event) { + return _ctx.$emit("operator-change", $event); + }), + onMatchmodeChange: _cache[11] || (_cache[11] = function($event) { + return _ctx.$emit("matchmode-change", $event); + }), + onConstraintAdd: _cache[12] || (_cache[12] = function($event) { + return _ctx.$emit("constraint-add", $event); + }), + onConstraintRemove: _cache[13] || (_cache[13] = function($event) { + return _ctx.$emit("constraint-remove", $event); + }), + onApplyClick: _cache[14] || (_cache[14] = function($event) { + return _ctx.$emit("apply-click", $event); + }), + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["column", "index", "groupRowsBy", "groupRowSortField", "reorderableColumns", "resizableColumns", "sortMode", "sortField", "sortOrder", "multiSortMeta", "allRowsSelected", "empty", "filters", "filterDisplay", "filtersStore", "filterInputProps", "filterButtonProps", "first", "unstyled", "pt"])) : createCommentVNode("", true)], 64); + }), 128))], 16), $props.filterDisplay === "row" ? (openBlock(), createElementBlock("tr", mergeProps({ + key: 0, + role: "row" + }, _ctx.ptm("headerRow")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.columns, function(col, i) { + return openBlock(), createElementBlock(Fragment, { + key: $options.columnProp(col, "columnKey") || $options.columnProp(col, "field") || i + }, [!$options.columnProp(col, "hidden") && ($props.rowGroupMode !== "subheader" || $props.groupRowsBy !== $options.columnProp(col, "field")) ? (openBlock(), createElementBlock("th", mergeProps({ + key: 0, + style: $options.getFilterColumnHeaderStyle(col), + "class": $options.getFilterColumnHeaderClass(col), + ref_for: true + }, _objectSpread$2(_objectSpread$2({}, $options.getColumnPT(col, "root", i)), $options.getColumnPT(col, "headerCell", i))), [$options.columnProp(col, "selectionMode") === "multiple" ? (openBlock(), createBlock(_component_DTHeaderCheckbox, { + key: 0, + checked: $props.allRowsSelected, + disabled: $props.empty, + onChange: _cache[15] || (_cache[15] = function($event) { + return _ctx.$emit("checkbox-change", $event); + }), + column: col, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["checked", "disabled", "column", "unstyled", "pt"])) : createCommentVNode("", true), col.children && col.children.filter ? (openBlock(), createBlock(_component_DTColumnFilter, { + key: 1, + field: $options.columnProp(col, "filterField") || $options.columnProp(col, "field"), + type: $options.columnProp(col, "dataType"), + display: "row", + showMenu: $options.columnProp(col, "showFilterMenu"), + filterElement: col.children && col.children.filter, + filterHeaderTemplate: col.children && col.children.filterheader, + filterFooterTemplate: col.children && col.children.filterfooter, + filterClearTemplate: col.children && col.children.filterclear, + filterApplyTemplate: col.children && col.children.filterapply, + filterIconTemplate: col.children && col.children.filtericon, + filterAddIconTemplate: col.children && col.children.filteraddicon, + filterRemoveIconTemplate: col.children && col.children.filterremoveicon, + filterClearIconTemplate: col.children && col.children.filterclearicon, + filters: $props.filters, + filtersStore: $props.filtersStore, + filterInputProps: $props.filterInputProps, + filterButtonProps: $props.filterButtonProps, + onFilterChange: _cache[16] || (_cache[16] = function($event) { + return _ctx.$emit("filter-change", $event); + }), + onFilterApply: _cache[17] || (_cache[17] = function($event) { + return _ctx.$emit("filter-apply"); + }), + filterMenuStyle: $options.columnProp(col, "filterMenuStyle"), + filterMenuClass: $options.columnProp(col, "filterMenuClass"), + showOperator: $options.columnProp(col, "showFilterOperator"), + showClearButton: $options.columnProp(col, "showClearButton"), + showApplyButton: $options.columnProp(col, "showApplyButton"), + showMatchModes: $options.columnProp(col, "showFilterMatchModes"), + showAddButton: $options.columnProp(col, "showAddButton"), + matchModeOptions: $options.columnProp(col, "filterMatchModeOptions"), + maxConstraints: $options.columnProp(col, "maxConstraints"), + onOperatorChange: _cache[18] || (_cache[18] = function($event) { + return _ctx.$emit("operator-change", $event); + }), + onMatchmodeChange: _cache[19] || (_cache[19] = function($event) { + return _ctx.$emit("matchmode-change", $event); + }), + onConstraintAdd: _cache[20] || (_cache[20] = function($event) { + return _ctx.$emit("constraint-add", $event); + }), + onConstraintRemove: _cache[21] || (_cache[21] = function($event) { + return _ctx.$emit("constraint-remove", $event); + }), + onApplyClick: _cache[22] || (_cache[22] = function($event) { + return _ctx.$emit("apply-click", $event); + }), + column: col, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["field", "type", "showMenu", "filterElement", "filterHeaderTemplate", "filterFooterTemplate", "filterClearTemplate", "filterApplyTemplate", "filterIconTemplate", "filterAddIconTemplate", "filterRemoveIconTemplate", "filterClearIconTemplate", "filters", "filtersStore", "filterInputProps", "filterButtonProps", "filterMenuStyle", "filterMenuClass", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "matchModeOptions", "maxConstraints", "column", "unstyled", "pt"])) : createCommentVNode("", true)], 16)) : createCommentVNode("", true)], 64); + }), 128))], 16)) : createCommentVNode("", true)], 64)) : (openBlock(true), createElementBlock(Fragment, { + key: 1 + }, renderList($options.getHeaderRows(), function(row2, i) { + return openBlock(), createElementBlock("tr", mergeProps({ + key: i, + role: "row", + ref_for: true + }, _objectSpread$2(_objectSpread$2({}, _ctx.ptm("headerRow")), $options.getRowPT(row2, "root", i))), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.getHeaderColumns(row2), function(col, j) { + return openBlock(), createElementBlock(Fragment, { + key: $options.columnProp(col, "columnKey") || $options.columnProp(col, "field") || j + }, [!$options.columnProp(col, "hidden") && ($props.rowGroupMode !== "subheader" || $props.groupRowsBy !== $options.columnProp(col, "field")) && typeof col.children !== "string" ? (openBlock(), createBlock(_component_DTHeaderCell, { + key: 0, + column: col, + onColumnClick: _cache[23] || (_cache[23] = function($event) { + return _ctx.$emit("column-click", $event); + }), + onColumnMousedown: _cache[24] || (_cache[24] = function($event) { + return _ctx.$emit("column-mousedown", $event); + }), + groupRowsBy: $props.groupRowsBy, + groupRowSortField: $props.groupRowSortField, + sortMode: $props.sortMode, + sortField: $props.sortField, + sortOrder: $props.sortOrder, + multiSortMeta: $props.multiSortMeta, + allRowsSelected: $props.allRowsSelected, + empty: $props.empty, + onCheckboxChange: _cache[25] || (_cache[25] = function($event) { + return _ctx.$emit("checkbox-change", $event); + }), + filters: $props.filters, + filterDisplay: $props.filterDisplay, + filtersStore: $props.filtersStore, + onFilterChange: _cache[26] || (_cache[26] = function($event) { + return _ctx.$emit("filter-change", $event); + }), + onFilterApply: _cache[27] || (_cache[27] = function($event) { + return _ctx.$emit("filter-apply"); + }), + onOperatorChange: _cache[28] || (_cache[28] = function($event) { + return _ctx.$emit("operator-change", $event); + }), + onMatchmodeChange: _cache[29] || (_cache[29] = function($event) { + return _ctx.$emit("matchmode-change", $event); + }), + onConstraintAdd: _cache[30] || (_cache[30] = function($event) { + return _ctx.$emit("constraint-add", $event); + }), + onConstraintRemove: _cache[31] || (_cache[31] = function($event) { + return _ctx.$emit("constraint-remove", $event); + }), + onApplyClick: _cache[32] || (_cache[32] = function($event) { + return _ctx.$emit("apply-click", $event); + }), + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["column", "groupRowsBy", "groupRowSortField", "sortMode", "sortField", "sortOrder", "multiSortMeta", "allRowsSelected", "empty", "filters", "filterDisplay", "filtersStore", "unstyled", "pt"])) : createCommentVNode("", true)], 64); + }), 128))], 16); + }), 128))], 16); +} +__name(render$1, "render$1"); +script$1.render = render$1; +function _typeof$1(o) { + "@babel/helpers - typeof"; + return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$1(o); +} +__name(_typeof$1, "_typeof$1"); +var _excluded = ["expanded"]; +function _objectWithoutProperties(e, t) { + if (null == e) return {}; + var o, r, i = _objectWithoutPropertiesLoose(e, t); + if (Object.getOwnPropertySymbols) { + var s = Object.getOwnPropertySymbols(e); + for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); + } + return i; +} +__name(_objectWithoutProperties, "_objectWithoutProperties"); +function _objectWithoutPropertiesLoose(r, e) { + if (null == r) return {}; + var t = {}; + for (var n in r) if ({}.hasOwnProperty.call(r, n)) { + if (e.includes(n)) continue; + t[n] = r[n]; + } + return t; +} +__name(_objectWithoutPropertiesLoose, "_objectWithoutPropertiesLoose"); +function ownKeys$1(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$1, "ownKeys$1"); +function _objectSpread$1(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$1(Object(t), true).forEach(function(r2) { + _defineProperty$1(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$1, "_objectSpread$1"); +function _defineProperty$1(e, r, t) { + return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$1, "_defineProperty$1"); +function _toPropertyKey$1(t) { + var i = _toPrimitive$1(t, "string"); + return "symbol" == _typeof$1(i) ? i : i + ""; +} +__name(_toPropertyKey$1, "_toPropertyKey$1"); +function _toPrimitive$1(t, r) { + if ("object" != _typeof$1(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$1(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$1, "_toPrimitive$1"); +function _slicedToArray(r, e) { + return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); +} +__name(_slicedToArray, "_slicedToArray"); +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableRest, "_nonIterableRest"); +function _iterableToArrayLimit(r, l) { + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t) { + var e, n, i, u, a = [], f = true, o = false; + try { + if (i = (t = t.call(r)).next, 0 === l) ; + else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ; + } catch (r2) { + o = true, n = r2; + } finally { + try { + if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; + } finally { + if (o) throw n; + } + } + return a; + } +} +__name(_iterableToArrayLimit, "_iterableToArrayLimit"); +function _arrayWithHoles(r) { + if (Array.isArray(r)) return r; +} +__name(_arrayWithHoles, "_arrayWithHoles"); +function _createForOfIteratorHelper(r, e) { + var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (!t) { + if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) { + t && (r = t); + var _n = 0, F = /* @__PURE__ */ __name(function F2() { + }, "F"); + return { s: F, n: /* @__PURE__ */ __name(function n() { + return _n >= r.length ? { done: true } : { done: false, value: r[_n++] }; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + throw r2; + }, "e"), f: F }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var o, a = true, u = false; + return { s: /* @__PURE__ */ __name(function s() { + t = t.call(r); + }, "s"), n: /* @__PURE__ */ __name(function n() { + var r2 = t.next(); + return a = r2.done, r2; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + u = true, o = r2; + }, "e"), f: /* @__PURE__ */ __name(function f() { + try { + a || null == t["return"] || t["return"](); + } finally { + if (u) throw o; + } + }, "f") }; +} +__name(_createForOfIteratorHelper, "_createForOfIteratorHelper"); +function _toConsumableArray(r) { + return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); +} +__name(_toConsumableArray, "_toConsumableArray"); +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread, "_nonIterableSpread"); +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray, "_unsupportedIterableToArray"); +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray, "_iterableToArray"); +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return _arrayLikeToArray(r); +} +__name(_arrayWithoutHoles, "_arrayWithoutHoles"); +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray, "_arrayLikeToArray"); +var script = { + name: "DataTable", + "extends": script$c, + inheritAttrs: false, + emits: ["value-change", "update:first", "update:rows", "page", "update:sortField", "update:sortOrder", "update:multiSortMeta", "sort", "filter", "row-click", "row-dblclick", "update:selection", "row-select", "row-unselect", "update:contextMenuSelection", "row-contextmenu", "row-unselect-all", "row-select-all", "select-all-change", "column-resize-end", "column-reorder", "row-reorder", "update:expandedRows", "row-collapse", "row-expand", "update:expandedRowGroups", "rowgroup-collapse", "rowgroup-expand", "update:filters", "state-restore", "state-save", "cell-edit-init", "cell-edit-complete", "cell-edit-cancel", "update:editingRows", "row-edit-init", "row-edit-save", "row-edit-cancel"], + provide: /* @__PURE__ */ __name(function provide7() { + return { + $columns: this.d_columns, + $columnGroups: this.d_columnGroups + }; + }, "provide"), + data: /* @__PURE__ */ __name(function data11() { + return { + d_first: this.first, + d_rows: this.rows, + d_sortField: this.sortField, + d_sortOrder: this.sortOrder, + d_nullSortOrder: this.nullSortOrder, + d_multiSortMeta: this.multiSortMeta ? _toConsumableArray(this.multiSortMeta) : [], + d_groupRowsSortMeta: null, + d_selectionKeys: null, + d_columnOrder: null, + d_editingRowKeys: null, + d_editingMeta: {}, + d_filters: this.cloneFilters(this.filters), + d_columns: new _default({ + type: "Column" + }), + d_columnGroups: new _default({ + type: "ColumnGroup" + }) + }; + }, "data"), + rowTouched: false, + anchorRowIndex: null, + rangeRowIndex: null, + documentColumnResizeListener: null, + documentColumnResizeEndListener: null, + lastResizeHelperX: null, + resizeColumnElement: null, + columnResizing: false, + colReorderIconWidth: null, + colReorderIconHeight: null, + draggedColumn: null, + draggedColumnElement: null, + draggedRowIndex: null, + droppedRowIndex: null, + rowDragging: null, + columnWidthsState: null, + tableWidthState: null, + columnWidthsRestored: false, + watch: { + first: /* @__PURE__ */ __name(function first3(newValue) { + this.d_first = newValue; + }, "first"), + rows: /* @__PURE__ */ __name(function rows2(newValue) { + this.d_rows = newValue; + }, "rows"), + sortField: /* @__PURE__ */ __name(function sortField(newValue) { + this.d_sortField = newValue; + }, "sortField"), + sortOrder: /* @__PURE__ */ __name(function sortOrder(newValue) { + this.d_sortOrder = newValue; + }, "sortOrder"), + nullSortOrder: /* @__PURE__ */ __name(function nullSortOrder(newValue) { + this.d_nullSortOrder = newValue; + }, "nullSortOrder"), + multiSortMeta: /* @__PURE__ */ __name(function multiSortMeta(newValue) { + this.d_multiSortMeta = newValue; + }, "multiSortMeta"), + selection: { + immediate: true, + handler: /* @__PURE__ */ __name(function handler2(newValue) { + if (this.dataKey) { + this.updateSelectionKeys(newValue); + } + }, "handler") + }, + editingRows: { + immediate: true, + handler: /* @__PURE__ */ __name(function handler3(newValue) { + if (this.dataKey) { + this.updateEditingRowKeys(newValue); + } + }, "handler") + }, + filters: { + deep: true, + handler: /* @__PURE__ */ __name(function handler4(newValue) { + this.d_filters = this.cloneFilters(newValue); + }, "handler") + } + }, + mounted: /* @__PURE__ */ __name(function mounted8() { + this.$el.setAttribute(this.attributeSelector, ""); + if (this.isStateful()) { + this.restoreState(); + this.resizableColumns && this.restoreColumnWidths(); + } + if (this.editMode === "row" && this.dataKey && !this.d_editingRowKeys) { + this.updateEditingRowKeys(this.editingRows); + } + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount5() { + this.unbindColumnResizeEvents(); + this.destroyStyleElement(); + this.d_columns.clear(); + this.d_columnGroups.clear(); + }, "beforeUnmount"), + updated: /* @__PURE__ */ __name(function updated5() { + if (this.isStateful()) { + this.saveState(); + } + if (this.editMode === "row" && this.dataKey && !this.d_editingRowKeys) { + this.updateEditingRowKeys(this.editingRows); + } + }, "updated"), + methods: { + columnProp: /* @__PURE__ */ __name(function columnProp7(col, prop) { + return getVNodeProp(col, prop); + }, "columnProp"), + onPage: /* @__PURE__ */ __name(function onPage(event2) { + var _this = this; + this.clearEditingMetaData(); + this.d_first = event2.first; + this.d_rows = event2.rows; + var pageEvent = this.createLazyLoadEvent(event2); + pageEvent.pageCount = event2.pageCount; + pageEvent.page = event2.page; + this.$emit("update:first", this.d_first); + this.$emit("update:rows", this.d_rows); + this.$emit("page", pageEvent); + this.$nextTick(function() { + _this.$emit("value-change", _this.processedData); + }); + }, "onPage"), + onColumnHeaderClick: /* @__PURE__ */ __name(function onColumnHeaderClick(e) { + var _this2 = this; + var event2 = e.originalEvent; + var column = e.column; + if (this.columnProp(column, "sortable")) { + var targetNode = event2.target; + var columnField = this.columnProp(column, "sortField") || this.columnProp(column, "field"); + if (getAttribute(targetNode, "data-p-sortable-column") === true || getAttribute(targetNode, "data-pc-section") === "columntitle" || getAttribute(targetNode, "data-pc-section") === "columnheadercontent" || getAttribute(targetNode, "data-pc-section") === "sorticon" || getAttribute(targetNode.parentElement, "data-pc-section") === "sorticon" || getAttribute(targetNode.parentElement.parentElement, "data-pc-section") === "sorticon" || targetNode.closest('[data-p-sortable-column="true"]') && !targetNode.closest('[data-pc-section="columnfilterbutton"]') && !isClickable(event2.target)) { + clearSelection(); + if (this.sortMode === "single") { + if (this.d_sortField === columnField) { + if (this.removableSort && this.d_sortOrder * -1 === this.defaultSortOrder) { + this.d_sortOrder = null; + this.d_sortField = null; + } else { + this.d_sortOrder = this.d_sortOrder * -1; + } + } else { + this.d_sortOrder = this.defaultSortOrder; + this.d_sortField = columnField; + } + this.$emit("update:sortField", this.d_sortField); + this.$emit("update:sortOrder", this.d_sortOrder); + this.resetPage(); + } else if (this.sortMode === "multiple") { + var metaKey = event2.metaKey || event2.ctrlKey; + if (!metaKey) { + this.d_multiSortMeta = this.d_multiSortMeta.filter(function(meta) { + return meta.field === columnField; + }); + } + this.addMultiSortField(columnField); + this.$emit("update:multiSortMeta", this.d_multiSortMeta); + } + this.$emit("sort", this.createLazyLoadEvent(event2)); + this.$nextTick(function() { + _this2.$emit("value-change", _this2.processedData); + }); + } + } + }, "onColumnHeaderClick"), + sortSingle: /* @__PURE__ */ __name(function sortSingle(value) { + var _this3 = this; + this.clearEditingMetaData(); + if (this.groupRowsBy && this.groupRowsBy === this.sortField) { + this.d_multiSortMeta = [{ + field: this.sortField, + order: this.sortOrder || this.defaultSortOrder + }, { + field: this.d_sortField, + order: this.d_sortOrder + }]; + return this.sortMultiple(value); + } + var data12 = _toConsumableArray(value); + var resolvedFieldData = /* @__PURE__ */ new Map(); + var _iterator = _createForOfIteratorHelper(data12), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var item = _step.value; + resolvedFieldData.set(item, resolveFieldData(item, this.d_sortField)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + var comparer = localeComparator(); + data12.sort(function(data1, data22) { + var value1 = resolvedFieldData.get(data1); + var value2 = resolvedFieldData.get(data22); + return sort(value1, value2, _this3.d_sortOrder, comparer, _this3.d_nullSortOrder); + }); + return data12; + }, "sortSingle"), + sortMultiple: /* @__PURE__ */ __name(function sortMultiple(value) { + var _this4 = this; + this.clearEditingMetaData(); + if (this.groupRowsBy && (this.d_groupRowsSortMeta || this.d_multiSortMeta.length && this.groupRowsBy === this.d_multiSortMeta[0].field)) { + var firstSortMeta = this.d_multiSortMeta[0]; + !this.d_groupRowsSortMeta && (this.d_groupRowsSortMeta = firstSortMeta); + if (firstSortMeta.field !== this.d_groupRowsSortMeta.field) { + this.d_multiSortMeta = [this.d_groupRowsSortMeta].concat(_toConsumableArray(this.d_multiSortMeta)); + } + } + var data12 = _toConsumableArray(value); + data12.sort(function(data1, data22) { + return _this4.multisortField(data1, data22, 0); + }); + return data12; + }, "sortMultiple"), + multisortField: /* @__PURE__ */ __name(function multisortField(data1, data22, index) { + var value1 = resolveFieldData(data1, this.d_multiSortMeta[index].field); + var value2 = resolveFieldData(data22, this.d_multiSortMeta[index].field); + var comparer = localeComparator(); + if (value1 === value2) { + return this.d_multiSortMeta.length - 1 > index ? this.multisortField(data1, data22, index + 1) : 0; + } + return sort(value1, value2, this.d_multiSortMeta[index].order, comparer, this.d_nullSortOrder); + }, "multisortField"), + addMultiSortField: /* @__PURE__ */ __name(function addMultiSortField(field2) { + var index = this.d_multiSortMeta.findIndex(function(meta) { + return meta.field === field2; + }); + if (index >= 0) { + if (this.removableSort && this.d_multiSortMeta[index].order * -1 === this.defaultSortOrder) this.d_multiSortMeta.splice(index, 1); + else this.d_multiSortMeta[index] = { + field: field2, + order: this.d_multiSortMeta[index].order * -1 + }; + } else { + this.d_multiSortMeta.push({ + field: field2, + order: this.defaultSortOrder + }); + } + this.d_multiSortMeta = _toConsumableArray(this.d_multiSortMeta); + }, "addMultiSortField"), + getActiveFilters: /* @__PURE__ */ __name(function getActiveFilters(filters) { + var removeEmptyFilters = /* @__PURE__ */ __name(function removeEmptyFilters2(_ref) { + var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1]; + if (value.constraints) { + var filteredConstraints = value.constraints.filter(function(constraint) { + return constraint.value !== null; + }); + if (filteredConstraints.length > 0) { + return [key, _objectSpread$1(_objectSpread$1({}, value), {}, { + constraints: filteredConstraints + })]; + } + } else if (value.value !== null) { + return [key, value]; + } + return void 0; + }, "removeEmptyFilters"); + var filterValidEntries = /* @__PURE__ */ __name(function filterValidEntries2(entry) { + return entry !== void 0; + }, "filterValidEntries"); + var entries = Object.entries(filters).map(removeEmptyFilters).filter(filterValidEntries); + return Object.fromEntries(entries); + }, "getActiveFilters"), + filter: /* @__PURE__ */ __name(function filter2(data12) { + var _this5 = this; + if (!data12) { + return; + } + this.clearEditingMetaData(); + var activeFilters = this.getActiveFilters(this.filters); + var globalFilterFieldsArray; + if (activeFilters["global"]) { + globalFilterFieldsArray = this.globalFilterFields || this.columns.map(function(col) { + return _this5.columnProp(col, "filterField") || _this5.columnProp(col, "field"); + }); + } + var filteredValue = []; + for (var i = 0; i < data12.length; i++) { + var localMatch = true; + var globalMatch = false; + var localFiltered = false; + for (var prop in activeFilters) { + if (Object.prototype.hasOwnProperty.call(activeFilters, prop) && prop !== "global") { + localFiltered = true; + var filterField = prop; + var filterMeta = activeFilters[filterField]; + if (filterMeta.operator) { + var _iterator2 = _createForOfIteratorHelper(filterMeta.constraints), _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { + var filterConstraint2 = _step2.value; + localMatch = this.executeLocalFilter(filterField, data12[i], filterConstraint2); + if (filterMeta.operator === FilterOperator.OR && localMatch || filterMeta.operator === FilterOperator.AND && !localMatch) { + break; + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } else { + localMatch = this.executeLocalFilter(filterField, data12[i], filterMeta); + } + if (!localMatch) { + break; + } + } + } + if (localMatch && activeFilters["global"] && !globalMatch && globalFilterFieldsArray) { + for (var j = 0; j < globalFilterFieldsArray.length; j++) { + var globalFilterField = globalFilterFieldsArray[j]; + globalMatch = FilterService.filters[activeFilters["global"].matchMode || FilterMatchMode.CONTAINS](resolveFieldData(data12[i], globalFilterField), activeFilters["global"].value, this.filterLocale); + if (globalMatch) { + break; + } + } + } + var matches = void 0; + if (activeFilters["global"]) { + matches = localFiltered ? localFiltered && localMatch && globalMatch : globalMatch; + } else { + matches = localFiltered && localMatch; + } + if (matches) { + filteredValue.push(data12[i]); + } + } + if (filteredValue.length === this.value.length || Object.keys(activeFilters).length == 0) { + filteredValue = data12; + } + var filterEvent = this.createLazyLoadEvent(); + filterEvent.filteredValue = filteredValue; + this.$emit("filter", filterEvent); + this.$nextTick(function() { + _this5.$emit("value-change", _this5.processedData); + }); + return filteredValue; + }, "filter"), + executeLocalFilter: /* @__PURE__ */ __name(function executeLocalFilter(field2, rowData, filterMeta) { + var filterValue = filterMeta.value; + var filterMatchMode = filterMeta.matchMode || FilterMatchMode.STARTS_WITH; + var dataFieldValue = resolveFieldData(rowData, field2); + var filterConstraint2 = FilterService.filters[filterMatchMode]; + return filterConstraint2(dataFieldValue, filterValue, this.filterLocale); + }, "executeLocalFilter"), + onRowClick: /* @__PURE__ */ __name(function onRowClick2(e) { + var event2 = e.originalEvent; + var body = this.$refs.bodyRef && this.$refs.bodyRef.$el; + var focusedItem = findSingle(body, 'tr[data-p-selectable-row="true"][tabindex="0"]'); + if (isClickable(event2.target)) { + return; + } + this.$emit("row-click", e); + if (this.selectionMode) { + var rowData = e.data; + var rowIndex2 = this.d_first + e.index; + if (this.isMultipleSelectionMode() && event2.shiftKey && this.anchorRowIndex != null) { + clearSelection(); + this.rangeRowIndex = rowIndex2; + this.selectRange(event2); + } else { + var selected = this.isSelected(rowData); + var metaSelection = this.rowTouched ? false : this.metaKeySelection; + this.anchorRowIndex = rowIndex2; + this.rangeRowIndex = rowIndex2; + if (metaSelection) { + var metaKey = event2.metaKey || event2.ctrlKey; + if (selected && metaKey) { + if (this.isSingleSelectionMode()) { + this.$emit("update:selection", null); + } else { + var selectionIndex = this.findIndexInSelection(rowData); + var _selection = this.selection.filter(function(val, i) { + return i != selectionIndex; + }); + this.$emit("update:selection", _selection); + } + this.$emit("row-unselect", { + originalEvent: event2, + data: rowData, + index: rowIndex2, + type: "row" + }); + } else { + if (this.isSingleSelectionMode()) { + this.$emit("update:selection", rowData); + } else if (this.isMultipleSelectionMode()) { + var _selection2 = metaKey ? this.selection || [] : []; + _selection2 = [].concat(_toConsumableArray(_selection2), [rowData]); + this.$emit("update:selection", _selection2); + } + this.$emit("row-select", { + originalEvent: event2, + data: rowData, + index: rowIndex2, + type: "row" + }); + } + } else { + if (this.selectionMode === "single") { + if (selected) { + this.$emit("update:selection", null); + this.$emit("row-unselect", { + originalEvent: event2, + data: rowData, + index: rowIndex2, + type: "row" + }); + } else { + this.$emit("update:selection", rowData); + this.$emit("row-select", { + originalEvent: event2, + data: rowData, + index: rowIndex2, + type: "row" + }); + } + } else if (this.selectionMode === "multiple") { + if (selected) { + var _selectionIndex = this.findIndexInSelection(rowData); + var _selection3 = this.selection.filter(function(val, i) { + return i != _selectionIndex; + }); + this.$emit("update:selection", _selection3); + this.$emit("row-unselect", { + originalEvent: event2, + data: rowData, + index: rowIndex2, + type: "row" + }); + } else { + var _selection4 = this.selection ? [].concat(_toConsumableArray(this.selection), [rowData]) : [rowData]; + this.$emit("update:selection", _selection4); + this.$emit("row-select", { + originalEvent: event2, + data: rowData, + index: rowIndex2, + type: "row" + }); + } + } + } + } + } + this.rowTouched = false; + if (focusedItem) { + var _event$target, _event$target2, _event$target3; + if (((_event$target = event2.target) === null || _event$target === void 0 ? void 0 : _event$target.getAttribute("data-pc-section")) === "rowtoggleicon" || ((_event$target2 = event2.target) === null || _event$target2 === void 0 || (_event$target2 = _event$target2.parentElement) === null || _event$target2 === void 0 ? void 0 : _event$target2.getAttribute("data-pc-section")) === "rowtoggleicon") return; + var targetRow = (_event$target3 = event2.target) === null || _event$target3 === void 0 ? void 0 : _event$target3.closest('tr[data-p-selectable-row="true"]'); + focusedItem.tabIndex = "-1"; + targetRow.tabIndex = "0"; + } + }, "onRowClick"), + onRowDblClick: /* @__PURE__ */ __name(function onRowDblClick2(e) { + var event2 = e.originalEvent; + if (isClickable(event2.target)) { + return; + } + this.$emit("row-dblclick", e); + }, "onRowDblClick"), + onRowRightClick: /* @__PURE__ */ __name(function onRowRightClick2(event2) { + if (this.contextMenu) { + clearSelection(); + event2.originalEvent.target.focus(); + } + this.$emit("update:contextMenuSelection", event2.data); + this.$emit("row-contextmenu", event2); + }, "onRowRightClick"), + onRowTouchEnd: /* @__PURE__ */ __name(function onRowTouchEnd2() { + this.rowTouched = true; + }, "onRowTouchEnd"), + onRowKeyDown: /* @__PURE__ */ __name(function onRowKeyDown2(e, slotProps) { + var event2 = e.originalEvent; + var rowData = e.data; + var rowIndex2 = e.index; + var metaKey = event2.metaKey || event2.ctrlKey; + if (this.selectionMode) { + var row2 = event2.target; + switch (event2.code) { + case "ArrowDown": + this.onArrowDownKey(event2, row2, rowIndex2, slotProps); + break; + case "ArrowUp": + this.onArrowUpKey(event2, row2, rowIndex2, slotProps); + break; + case "Home": + this.onHomeKey(event2, row2, rowIndex2, slotProps); + break; + case "End": + this.onEndKey(event2, row2, rowIndex2, slotProps); + break; + case "Enter": + case "NumpadEnter": + this.onEnterKey(event2, rowData, rowIndex2); + break; + case "Space": + this.onSpaceKey(event2, rowData, rowIndex2, slotProps); + break; + case "Tab": + this.onTabKey(event2, rowIndex2); + break; + default: + if (event2.code === "KeyA" && metaKey && this.isMultipleSelectionMode()) { + var data12 = this.dataToRender(slotProps.rows); + this.$emit("update:selection", data12); + } + event2.preventDefault(); + break; + } + } + }, "onRowKeyDown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey(event2, row2, rowIndex2, slotProps) { + var nextRow = this.findNextSelectableRow(row2); + nextRow && this.focusRowChange(row2, nextRow); + if (event2.shiftKey) { + var data12 = this.dataToRender(slotProps.rows); + var nextRowIndex = rowIndex2 + 1 >= data12.length ? data12.length - 1 : rowIndex2 + 1; + this.onRowClick({ + originalEvent: event2, + data: data12[nextRowIndex], + index: nextRowIndex + }); + } + event2.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey(event2, row2, rowIndex2, slotProps) { + var prevRow = this.findPrevSelectableRow(row2); + prevRow && this.focusRowChange(row2, prevRow); + if (event2.shiftKey) { + var data12 = this.dataToRender(slotProps.rows); + var prevRowIndex = rowIndex2 - 1 <= 0 ? 0 : rowIndex2 - 1; + this.onRowClick({ + originalEvent: event2, + data: data12[prevRowIndex], + index: prevRowIndex + }); + } + event2.preventDefault(); + }, "onArrowUpKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey(event2, row2, rowIndex2, slotProps) { + var firstRow = this.findFirstSelectableRow(); + firstRow && this.focusRowChange(row2, firstRow); + if (event2.ctrlKey && event2.shiftKey) { + var data12 = this.dataToRender(slotProps.rows); + this.$emit("update:selection", data12.slice(0, rowIndex2 + 1)); + } + event2.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey(event2, row2, rowIndex2, slotProps) { + var lastRow = this.findLastSelectableRow(); + lastRow && this.focusRowChange(row2, lastRow); + if (event2.ctrlKey && event2.shiftKey) { + var data12 = this.dataToRender(slotProps.rows); + this.$emit("update:selection", data12.slice(rowIndex2, data12.length)); + } + event2.preventDefault(); + }, "onEndKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey(event2, rowData, rowIndex2) { + this.onRowClick({ + originalEvent: event2, + data: rowData, + index: rowIndex2 + }); + event2.preventDefault(); + }, "onEnterKey"), + onSpaceKey: /* @__PURE__ */ __name(function onSpaceKey(event2, rowData, rowIndex2, slotProps) { + this.onEnterKey(event2, rowData, rowIndex2); + if (event2.shiftKey && this.selection !== null) { + var data12 = this.dataToRender(slotProps.rows); + var index; + if (this.selection.length > 0) { + var firstSelectedRowIndex, lastSelectedRowIndex; + firstSelectedRowIndex = findIndexInList(this.selection[0], data12); + lastSelectedRowIndex = findIndexInList(this.selection[this.selection.length - 1], data12); + index = rowIndex2 <= firstSelectedRowIndex ? lastSelectedRowIndex : firstSelectedRowIndex; + } else { + index = findIndexInList(this.selection, data12); + } + var _selection = index !== rowIndex2 ? data12.slice(Math.min(index, rowIndex2), Math.max(index, rowIndex2) + 1) : rowData; + this.$emit("update:selection", _selection); + } + }, "onSpaceKey"), + onTabKey: /* @__PURE__ */ __name(function onTabKey(event2, rowIndex2) { + var body = this.$refs.bodyRef && this.$refs.bodyRef.$el; + var rows3 = find(body, 'tr[data-p-selectable-row="true"]'); + if (event2.code === "Tab" && rows3 && rows3.length > 0) { + var firstSelectedRow = findSingle(body, 'tr[data-p-selected="true"]'); + var focusedItem = findSingle(body, 'tr[data-p-selectable-row="true"][tabindex="0"]'); + if (firstSelectedRow) { + firstSelectedRow.tabIndex = "0"; + focusedItem && focusedItem !== firstSelectedRow && (focusedItem.tabIndex = "-1"); + } else { + rows3[0].tabIndex = "0"; + focusedItem !== rows3[0] && (rows3[rowIndex2].tabIndex = "-1"); + } + } + }, "onTabKey"), + findNextSelectableRow: /* @__PURE__ */ __name(function findNextSelectableRow(row2) { + var nextRow = row2.nextElementSibling; + if (nextRow) { + if (getAttribute(nextRow, "data-p-selectable-row") === true) return nextRow; + else return this.findNextSelectableRow(nextRow); + } else { + return null; + } + }, "findNextSelectableRow"), + findPrevSelectableRow: /* @__PURE__ */ __name(function findPrevSelectableRow(row2) { + var prevRow = row2.previousElementSibling; + if (prevRow) { + if (getAttribute(prevRow, "data-p-selectable-row") === true) return prevRow; + else return this.findPrevSelectableRow(prevRow); + } else { + return null; + } + }, "findPrevSelectableRow"), + findFirstSelectableRow: /* @__PURE__ */ __name(function findFirstSelectableRow() { + var firstRow = findSingle(this.$refs.table, 'tr[data-p-selectable-row="true"]'); + return firstRow; + }, "findFirstSelectableRow"), + findLastSelectableRow: /* @__PURE__ */ __name(function findLastSelectableRow() { + var rows3 = find(this.$refs.table, 'tr[data-p-selectable-row="true"]'); + return rows3 ? rows3[rows3.length - 1] : null; + }, "findLastSelectableRow"), + focusRowChange: /* @__PURE__ */ __name(function focusRowChange(firstFocusableRow, currentFocusedRow) { + firstFocusableRow.tabIndex = "-1"; + currentFocusedRow.tabIndex = "0"; + focus(currentFocusedRow); + }, "focusRowChange"), + toggleRowWithRadio: /* @__PURE__ */ __name(function toggleRowWithRadio2(event2) { + var rowData = event2.data; + if (this.isSelected(rowData)) { + this.$emit("update:selection", null); + this.$emit("row-unselect", { + originalEvent: event2.originalEvent, + data: rowData, + index: event2.index, + type: "radiobutton" + }); + } else { + this.$emit("update:selection", rowData); + this.$emit("row-select", { + originalEvent: event2.originalEvent, + data: rowData, + index: event2.index, + type: "radiobutton" + }); + } + }, "toggleRowWithRadio"), + toggleRowWithCheckbox: /* @__PURE__ */ __name(function toggleRowWithCheckbox2(event2) { + var rowData = event2.data; + if (this.isSelected(rowData)) { + var selectionIndex = this.findIndexInSelection(rowData); + var _selection = this.selection.filter(function(val, i) { + return i != selectionIndex; + }); + this.$emit("update:selection", _selection); + this.$emit("row-unselect", { + originalEvent: event2.originalEvent, + data: rowData, + index: event2.index, + type: "checkbox" + }); + } else { + var _selection5 = this.selection ? _toConsumableArray(this.selection) : []; + _selection5 = [].concat(_toConsumableArray(_selection5), [rowData]); + this.$emit("update:selection", _selection5); + this.$emit("row-select", { + originalEvent: event2.originalEvent, + data: rowData, + index: event2.index, + type: "checkbox" + }); + } + }, "toggleRowWithCheckbox"), + toggleRowsWithCheckbox: /* @__PURE__ */ __name(function toggleRowsWithCheckbox(event2) { + if (this.selectAll !== null) { + this.$emit("select-all-change", event2); + } else { + var originalEvent = event2.originalEvent, checked2 = event2.checked; + var _selection = []; + if (checked2) { + _selection = this.frozenValue ? [].concat(_toConsumableArray(this.frozenValue), _toConsumableArray(this.processedData)) : this.processedData; + this.$emit("row-select-all", { + originalEvent, + data: _selection + }); + } else { + this.$emit("row-unselect-all", { + originalEvent + }); + } + this.$emit("update:selection", _selection); + } + }, "toggleRowsWithCheckbox"), + isSingleSelectionMode: /* @__PURE__ */ __name(function isSingleSelectionMode() { + return this.selectionMode === "single"; + }, "isSingleSelectionMode"), + isMultipleSelectionMode: /* @__PURE__ */ __name(function isMultipleSelectionMode() { + return this.selectionMode === "multiple"; + }, "isMultipleSelectionMode"), + isSelected: /* @__PURE__ */ __name(function isSelected2(rowData) { + if (rowData && this.selection) { + if (this.dataKey) { + return this.d_selectionKeys ? this.d_selectionKeys[resolveFieldData(rowData, this.dataKey)] !== void 0 : false; + } else { + if (this.selection instanceof Array) return this.findIndexInSelection(rowData) > -1; + else return this.equals(rowData, this.selection); + } + } + return false; + }, "isSelected"), + findIndexInSelection: /* @__PURE__ */ __name(function findIndexInSelection2(rowData) { + return this.findIndex(rowData, this.selection); + }, "findIndexInSelection"), + findIndex: /* @__PURE__ */ __name(function findIndex2(rowData, collection) { + var index = -1; + if (collection && collection.length) { + for (var i = 0; i < collection.length; i++) { + if (this.equals(rowData, collection[i])) { + index = i; + break; + } + } + } + return index; + }, "findIndex"), + updateSelectionKeys: /* @__PURE__ */ __name(function updateSelectionKeys(selection) { + this.d_selectionKeys = {}; + if (Array.isArray(selection)) { + var _iterator3 = _createForOfIteratorHelper(selection), _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) { + var data12 = _step3.value; + this.d_selectionKeys[String(resolveFieldData(data12, this.dataKey))] = 1; + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } else { + this.d_selectionKeys[String(resolveFieldData(selection, this.dataKey))] = 1; + } + }, "updateSelectionKeys"), + updateEditingRowKeys: /* @__PURE__ */ __name(function updateEditingRowKeys(editingRows) { + if (editingRows && editingRows.length) { + this.d_editingRowKeys = {}; + var _iterator4 = _createForOfIteratorHelper(editingRows), _step4; + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done; ) { + var data12 = _step4.value; + this.d_editingRowKeys[String(resolveFieldData(data12, this.dataKey))] = 1; + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } else { + this.d_editingRowKeys = null; + } + }, "updateEditingRowKeys"), + equals: /* @__PURE__ */ __name(function equals$12(data1, data22) { + return this.compareSelectionBy === "equals" ? data1 === data22 : equals(data1, data22, this.dataKey); + }, "equals$1"), + selectRange: /* @__PURE__ */ __name(function selectRange(event2) { + var rangeStart, rangeEnd; + if (this.rangeRowIndex > this.anchorRowIndex) { + rangeStart = this.anchorRowIndex; + rangeEnd = this.rangeRowIndex; + } else if (this.rangeRowIndex < this.anchorRowIndex) { + rangeStart = this.rangeRowIndex; + rangeEnd = this.anchorRowIndex; + } else { + rangeStart = this.rangeRowIndex; + rangeEnd = this.rangeRowIndex; + } + if (this.lazy && this.paginator) { + rangeStart -= this.first; + rangeEnd -= this.first; + } + var value = this.processedData; + var _selection = []; + for (var i = rangeStart; i <= rangeEnd; i++) { + var rangeRowData = value[i]; + _selection.push(rangeRowData); + this.$emit("row-select", { + originalEvent: event2, + data: rangeRowData, + type: "row" + }); + } + this.$emit("update:selection", _selection); + }, "selectRange"), + exportCSV: /* @__PURE__ */ __name(function exportCSV$1(options, data12) { + var _this6 = this; + var csv = "\uFEFF"; + if (!data12) { + data12 = this.processedData; + if (options && options.selectionOnly) data12 = this.selection || []; + else if (this.frozenValue) data12 = data12 ? [].concat(_toConsumableArray(this.frozenValue), _toConsumableArray(data12)) : this.frozenValue; + } + var headerInitiated = false; + for (var i = 0; i < this.columns.length; i++) { + var column = this.columns[i]; + if (this.columnProp(column, "exportable") !== false && this.columnProp(column, "field")) { + if (headerInitiated) csv += this.csvSeparator; + else headerInitiated = true; + csv += '"' + (this.columnProp(column, "exportHeader") || this.columnProp(column, "header") || this.columnProp(column, "field")) + '"'; + } + } + if (data12) { + data12.forEach(function(record) { + csv += "\n"; + var rowInitiated = false; + for (var _i = 0; _i < _this6.columns.length; _i++) { + var _column = _this6.columns[_i]; + if (_this6.columnProp(_column, "exportable") !== false && _this6.columnProp(_column, "field")) { + if (rowInitiated) csv += _this6.csvSeparator; + else rowInitiated = true; + var cellData = resolveFieldData(record, _this6.columnProp(_column, "field")); + if (cellData != null) { + if (_this6.exportFunction) { + cellData = _this6.exportFunction({ + data: cellData, + field: _this6.columnProp(_column, "field") + }); + } else cellData = String(cellData).replace(/"/g, '""'); + } else cellData = ""; + csv += '"' + cellData + '"'; + } + } + }); + } + var footerInitiated = false; + for (var _i2 = 0; _i2 < this.columns.length; _i2++) { + var _column2 = this.columns[_i2]; + if (_i2 === 0) csv += "\n"; + if (this.columnProp(_column2, "exportable") !== false && this.columnProp(_column2, "exportFooter")) { + if (footerInitiated) csv += this.csvSeparator; + else footerInitiated = true; + csv += '"' + (this.columnProp(_column2, "exportFooter") || this.columnProp(_column2, "footer") || this.columnProp(_column2, "field")) + '"'; + } + } + exportCSV(csv, this.exportFilename); + }, "exportCSV$1"), + resetPage: /* @__PURE__ */ __name(function resetPage() { + this.d_first = 0; + this.$emit("update:first", this.d_first); + }, "resetPage"), + onColumnResizeStart: /* @__PURE__ */ __name(function onColumnResizeStart(event2) { + var containerLeft = getOffset(this.$el).left; + this.resizeColumnElement = event2.target.parentElement; + this.columnResizing = true; + this.lastResizeHelperX = event2.pageX - containerLeft + this.$el.scrollLeft; + this.bindColumnResizeEvents(); + }, "onColumnResizeStart"), + onColumnResize: /* @__PURE__ */ __name(function onColumnResize(event2) { + var containerLeft = getOffset(this.$el).left; + this.$el.setAttribute("data-p-unselectable-text", "true"); + !this.isUnstyled && addStyle(this.$el, { + "user-select": "none" + }); + this.$refs.resizeHelper.style.height = this.$el.offsetHeight + "px"; + this.$refs.resizeHelper.style.top = "0px"; + this.$refs.resizeHelper.style.left = event2.pageX - containerLeft + this.$el.scrollLeft + "px"; + this.$refs.resizeHelper.style.display = "block"; + }, "onColumnResize"), + onColumnResizeEnd: /* @__PURE__ */ __name(function onColumnResizeEnd() { + var delta = this.$refs.resizeHelper.offsetLeft - this.lastResizeHelperX; + var columnWidth = this.resizeColumnElement.offsetWidth; + var newColumnWidth = columnWidth + delta; + var minWidth = this.resizeColumnElement.style.minWidth || 15; + if (columnWidth + delta > parseInt(minWidth, 10)) { + if (this.columnResizeMode === "fit") { + var nextColumn = this.resizeColumnElement.nextElementSibling; + var nextColumnWidth = nextColumn.offsetWidth - delta; + if (newColumnWidth > 15 && nextColumnWidth > 15) { + this.resizeTableCells(newColumnWidth, nextColumnWidth); + } + } else if (this.columnResizeMode === "expand") { + var tableWidth = this.$refs.table.offsetWidth + delta + "px"; + var updateTableWidth = /* @__PURE__ */ __name(function updateTableWidth2(el) { + !!el && (el.style.width = el.style.minWidth = tableWidth); + }, "updateTableWidth"); + this.resizeTableCells(newColumnWidth); + updateTableWidth(this.$refs.table); + if (!this.virtualScrollerDisabled) { + var body = this.$refs.bodyRef && this.$refs.bodyRef.$el; + var frozenBody = this.$refs.frozenBodyRef && this.$refs.frozenBodyRef.$el; + updateTableWidth(body); + updateTableWidth(frozenBody); + } + } + this.$emit("column-resize-end", { + element: this.resizeColumnElement, + delta + }); + } + this.$refs.resizeHelper.style.display = "none"; + this.resizeColumn = null; + this.$el.removeAttribute("data-p-unselectable-text"); + !this.isUnstyled && (this.$el.style["user-select"] = ""); + this.unbindColumnResizeEvents(); + if (this.isStateful()) { + this.saveState(); + } + }, "onColumnResizeEnd"), + resizeTableCells: /* @__PURE__ */ __name(function resizeTableCells(newColumnWidth, nextColumnWidth) { + var colIndex = getIndex(this.resizeColumnElement); + var widths = []; + var headers = find(this.$refs.table, 'thead[data-pc-section="thead"] > tr > th'); + headers.forEach(function(header) { + return widths.push(getOuterWidth(header)); + }); + this.destroyStyleElement(); + this.createStyleElement(); + var innerHTML = ""; + var selector = '[data-pc-name="datatable"]['.concat(this.attributeSelector, '] > [data-pc-section="tablecontainer"] ').concat(this.virtualScrollerDisabled ? "" : '> [data-pc-name="virtualscroller"]', ' > table[data-pc-section="table"]'); + widths.forEach(function(width, index) { + var colWidth = index === colIndex ? newColumnWidth : nextColumnWidth && index === colIndex + 1 ? nextColumnWidth : width; + var style = "width: ".concat(colWidth, "px !important; max-width: ").concat(colWidth, "px !important"); + innerHTML += "\n ".concat(selector, ' > thead[data-pc-section="thead"] > tr > th:nth-child(').concat(index + 1, "),\n ").concat(selector, ' > tbody[data-pc-section="tbody"] > tr > td:nth-child(').concat(index + 1, "),\n ").concat(selector, ' > tfoot[data-pc-section="tfoot"] > tr > td:nth-child(').concat(index + 1, ") {\n ").concat(style, "\n }\n "); + }); + this.styleElement.innerHTML = innerHTML; + }, "resizeTableCells"), + bindColumnResizeEvents: /* @__PURE__ */ __name(function bindColumnResizeEvents() { + var _this7 = this; + if (!this.documentColumnResizeListener) { + this.documentColumnResizeListener = document.addEventListener("mousemove", function() { + if (_this7.columnResizing) { + _this7.onColumnResize(event); + } + }); + } + if (!this.documentColumnResizeEndListener) { + this.documentColumnResizeEndListener = document.addEventListener("mouseup", function() { + if (_this7.columnResizing) { + _this7.columnResizing = false; + _this7.onColumnResizeEnd(); + } + }); + } + }, "bindColumnResizeEvents"), + unbindColumnResizeEvents: /* @__PURE__ */ __name(function unbindColumnResizeEvents() { + if (this.documentColumnResizeListener) { + document.removeEventListener("document", this.documentColumnResizeListener); + this.documentColumnResizeListener = null; + } + if (this.documentColumnResizeEndListener) { + document.removeEventListener("document", this.documentColumnResizeEndListener); + this.documentColumnResizeEndListener = null; + } + }, "unbindColumnResizeEvents"), + onColumnHeaderMouseDown: /* @__PURE__ */ __name(function onColumnHeaderMouseDown(e) { + var event2 = e.originalEvent; + var column = e.column; + if (this.reorderableColumns && this.columnProp(column, "reorderableColumn") !== false) { + if (event2.target.nodeName === "INPUT" || event2.target.nodeName === "TEXTAREA" || getAttribute(event2.target, '[data-pc-section="columnresizer"]')) event2.currentTarget.draggable = false; + else event2.currentTarget.draggable = true; + } + }, "onColumnHeaderMouseDown"), + onColumnHeaderDragStart: /* @__PURE__ */ __name(function onColumnHeaderDragStart(e) { + var event2 = e.originalEvent, column = e.column; + if (this.columnResizing) { + event2.preventDefault(); + return; + } + this.colReorderIconWidth = getHiddenElementOuterWidth(this.$refs.reorderIndicatorUp); + this.colReorderIconHeight = getHiddenElementOuterHeight(this.$refs.reorderIndicatorUp); + this.draggedColumn = column; + this.draggedColumnElement = this.findParentHeader(event2.target); + event2.dataTransfer.setData("text", "b"); + }, "onColumnHeaderDragStart"), + onColumnHeaderDragOver: /* @__PURE__ */ __name(function onColumnHeaderDragOver(e) { + var event2 = e.originalEvent, column = e.column; + var dropHeader = this.findParentHeader(event2.target); + if (this.reorderableColumns && this.draggedColumnElement && dropHeader && !this.columnProp(column, "frozen")) { + event2.preventDefault(); + var containerOffset = getOffset(this.$el); + var dropHeaderOffset = getOffset(dropHeader); + if (this.draggedColumnElement !== dropHeader) { + var targetLeft = dropHeaderOffset.left - containerOffset.left; + var columnCenter = dropHeaderOffset.left + dropHeader.offsetWidth / 2; + this.$refs.reorderIndicatorUp.style.top = dropHeaderOffset.top - containerOffset.top - (this.colReorderIconHeight - 1) + "px"; + this.$refs.reorderIndicatorDown.style.top = dropHeaderOffset.top - containerOffset.top + dropHeader.offsetHeight + "px"; + if (event2.pageX > columnCenter) { + this.$refs.reorderIndicatorUp.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(this.colReorderIconWidth / 2) + "px"; + this.$refs.reorderIndicatorDown.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(this.colReorderIconWidth / 2) + "px"; + this.dropPosition = 1; + } else { + this.$refs.reorderIndicatorUp.style.left = targetLeft - Math.ceil(this.colReorderIconWidth / 2) + "px"; + this.$refs.reorderIndicatorDown.style.left = targetLeft - Math.ceil(this.colReorderIconWidth / 2) + "px"; + this.dropPosition = -1; + } + this.$refs.reorderIndicatorUp.style.display = "block"; + this.$refs.reorderIndicatorDown.style.display = "block"; + } + } + }, "onColumnHeaderDragOver"), + onColumnHeaderDragLeave: /* @__PURE__ */ __name(function onColumnHeaderDragLeave(e) { + var event2 = e.originalEvent; + if (this.reorderableColumns && this.draggedColumnElement) { + event2.preventDefault(); + this.$refs.reorderIndicatorUp.style.display = "none"; + this.$refs.reorderIndicatorDown.style.display = "none"; + } + }, "onColumnHeaderDragLeave"), + onColumnHeaderDrop: /* @__PURE__ */ __name(function onColumnHeaderDrop(e) { + var _this8 = this; + var event2 = e.originalEvent, column = e.column; + event2.preventDefault(); + if (this.draggedColumnElement) { + var dragIndex = getIndex(this.draggedColumnElement); + var dropIndex = getIndex(this.findParentHeader(event2.target)); + var allowDrop = dragIndex !== dropIndex; + if (allowDrop && (dropIndex - dragIndex === 1 && this.dropPosition === -1 || dropIndex - dragIndex === -1 && this.dropPosition === 1)) { + allowDrop = false; + } + if (allowDrop) { + var isSameColumn = /* @__PURE__ */ __name(function isSameColumn2(col1, col2) { + return _this8.columnProp(col1, "columnKey") || _this8.columnProp(col2, "columnKey") ? _this8.columnProp(col1, "columnKey") === _this8.columnProp(col2, "columnKey") : _this8.columnProp(col1, "field") === _this8.columnProp(col2, "field"); + }, "isSameColumn"); + var dragColIndex = this.columns.findIndex(function(child) { + return isSameColumn(child, _this8.draggedColumn); + }); + var dropColIndex = this.columns.findIndex(function(child) { + return isSameColumn(child, column); + }); + var widths = []; + var headers = find(this.$el, 'thead[data-pc-section="thead"] > tr > th'); + headers.forEach(function(header) { + return widths.push(getOuterWidth(header)); + }); + var movedItem = widths.find(function(_, index) { + return index === dragColIndex; + }); + var remainingItems = widths.filter(function(_, index) { + return index !== dragColIndex; + }); + var reorderedWidths = [].concat(_toConsumableArray(remainingItems.slice(0, dropColIndex)), [movedItem], _toConsumableArray(remainingItems.slice(dropColIndex))); + this.addColumnWidthStyles(reorderedWidths); + if (dropColIndex < dragColIndex && this.dropPosition === 1) { + dropColIndex++; + } + if (dropColIndex > dragColIndex && this.dropPosition === -1) { + dropColIndex--; + } + reorderArray(this.columns, dragColIndex, dropColIndex); + this.updateReorderableColumns(); + this.$emit("column-reorder", { + originalEvent: event2, + dragIndex: dragColIndex, + dropIndex: dropColIndex + }); + } + this.$refs.reorderIndicatorUp.style.display = "none"; + this.$refs.reorderIndicatorDown.style.display = "none"; + this.draggedColumnElement.draggable = false; + this.draggedColumnElement = null; + this.draggedColumn = null; + this.dropPosition = null; + } + }, "onColumnHeaderDrop"), + findParentHeader: /* @__PURE__ */ __name(function findParentHeader(element) { + if (element.nodeName === "TH") { + return element; + } else { + var parent = element.parentElement; + while (parent.nodeName !== "TH") { + parent = parent.parentElement; + if (!parent) break; + } + return parent; + } + }, "findParentHeader"), + findColumnByKey: /* @__PURE__ */ __name(function findColumnByKey(columns2, key) { + if (columns2 && columns2.length) { + for (var i = 0; i < columns2.length; i++) { + var column = columns2[i]; + if (this.columnProp(column, "columnKey") === key || this.columnProp(column, "field") === key) { + return column; + } + } + } + return null; + }, "findColumnByKey"), + onRowMouseDown: /* @__PURE__ */ __name(function onRowMouseDown2(event2) { + if (getAttribute(event2.target, "data-pc-section") === "reorderablerowhandle" || getAttribute(event2.target.parentElement, "data-pc-section") === "reorderablerowhandle") event2.currentTarget.draggable = true; + else event2.currentTarget.draggable = false; + }, "onRowMouseDown"), + onRowDragStart: /* @__PURE__ */ __name(function onRowDragStart2(e) { + var event2 = e.originalEvent; + var index = e.index; + this.rowDragging = true; + this.draggedRowIndex = index; + event2.dataTransfer.setData("text", "b"); + }, "onRowDragStart"), + onRowDragOver: /* @__PURE__ */ __name(function onRowDragOver2(e) { + var event2 = e.originalEvent; + var index = e.index; + if (this.rowDragging && this.draggedRowIndex !== index) { + var rowElement = event2.currentTarget; + var rowY = getOffset(rowElement).top + getWindowScrollTop(); + var pageY = event2.pageY; + var rowMidY = rowY + getOuterHeight(rowElement) / 2; + var prevRowElement = rowElement.previousElementSibling; + if (pageY < rowMidY) { + rowElement.setAttribute("data-p-datatable-dragpoint-bottom", "false"); + !this.isUnstyled && removeClass(rowElement, "p-datatable-dragpoint-bottom"); + this.droppedRowIndex = index; + if (prevRowElement) { + prevRowElement.setAttribute("data-p-datatable-dragpoint-bottom", "true"); + !this.isUnstyled && addClass(prevRowElement, "p-datatable-dragpoint-bottom"); + } else { + rowElement.setAttribute("data-p-datatable-dragpoint-top", "true"); + !this.isUnstyled && addClass(rowElement, "p-datatable-dragpoint-top"); + } + } else { + if (prevRowElement) { + prevRowElement.setAttribute("data-p-datatable-dragpoint-bottom", "false"); + !this.isUnstyled && removeClass(prevRowElement, "p-datatable-dragpoint-bottom"); + } else { + rowElement.setAttribute("data-p-datatable-dragpoint-top", "true"); + !this.isUnstyled && addClass(rowElement, "p-datatable-dragpoint-top"); + } + this.droppedRowIndex = index + 1; + rowElement.setAttribute("data-p-datatable-dragpoint-bottom", "true"); + !this.isUnstyled && addClass(rowElement, "p-datatable-dragpoint-bottom"); + } + event2.preventDefault(); + } + }, "onRowDragOver"), + onRowDragLeave: /* @__PURE__ */ __name(function onRowDragLeave2(event2) { + var rowElement = event2.currentTarget; + var prevRowElement = rowElement.previousElementSibling; + if (prevRowElement) { + prevRowElement.setAttribute("data-p-datatable-dragpoint-bottom", "false"); + !this.isUnstyled && removeClass(prevRowElement, "p-datatable-dragpoint-bottom"); + } + rowElement.setAttribute("data-p-datatable-dragpoint-bottom", "false"); + !this.isUnstyled && removeClass(rowElement, "p-datatable-dragpoint-bottom"); + rowElement.setAttribute("data-p-datatable-dragpoint-top", "false"); + !this.isUnstyled && removeClass(rowElement, "p-datatable-dragpoint-top"); + }, "onRowDragLeave"), + onRowDragEnd: /* @__PURE__ */ __name(function onRowDragEnd2(event2) { + this.rowDragging = false; + this.draggedRowIndex = null; + this.droppedRowIndex = null; + event2.currentTarget.draggable = false; + }, "onRowDragEnd"), + onRowDrop: /* @__PURE__ */ __name(function onRowDrop2(event2) { + if (this.droppedRowIndex != null) { + var dropIndex = this.draggedRowIndex > this.droppedRowIndex ? this.droppedRowIndex : this.droppedRowIndex === 0 ? 0 : this.droppedRowIndex - 1; + var processedData2 = _toConsumableArray(this.processedData); + reorderArray(processedData2, this.draggedRowIndex + this.d_first, dropIndex + this.d_first); + this.$emit("row-reorder", { + originalEvent: event2, + dragIndex: this.draggedRowIndex, + dropIndex, + value: processedData2 + }); + } + this.onRowDragLeave(event2); + this.onRowDragEnd(event2); + event2.preventDefault(); + }, "onRowDrop"), + toggleRow: /* @__PURE__ */ __name(function toggleRow2(event2) { + var _this9 = this; + var expanded = event2.expanded, rest = _objectWithoutProperties(event2, _excluded); + var rowData = event2.data; + var expandedRows; + if (this.dataKey) { + var value = resolveFieldData(rowData, this.dataKey); + expandedRows = this.expandedRows ? _objectSpread$1({}, this.expandedRows) : {}; + expanded ? expandedRows[value] = true : delete expandedRows[value]; + } else { + expandedRows = this.expandedRows ? _toConsumableArray(this.expandedRows) : []; + expanded ? expandedRows.push(rowData) : expandedRows = expandedRows.filter(function(d) { + return !_this9.equals(rowData, d); + }); + } + this.$emit("update:expandedRows", expandedRows); + expanded ? this.$emit("row-expand", rest) : this.$emit("row-collapse", rest); + }, "toggleRow"), + toggleRowGroup: /* @__PURE__ */ __name(function toggleRowGroup(e) { + var event2 = e.originalEvent; + var data12 = e.data; + var groupFieldValue = resolveFieldData(data12, this.groupRowsBy); + var _expandedRowGroups = this.expandedRowGroups ? _toConsumableArray(this.expandedRowGroups) : []; + if (this.isRowGroupExpanded(data12)) { + _expandedRowGroups = _expandedRowGroups.filter(function(group) { + return group !== groupFieldValue; + }); + this.$emit("update:expandedRowGroups", _expandedRowGroups); + this.$emit("rowgroup-collapse", { + originalEvent: event2, + data: groupFieldValue + }); + } else { + _expandedRowGroups.push(groupFieldValue); + this.$emit("update:expandedRowGroups", _expandedRowGroups); + this.$emit("rowgroup-expand", { + originalEvent: event2, + data: groupFieldValue + }); + } + }, "toggleRowGroup"), + isRowGroupExpanded: /* @__PURE__ */ __name(function isRowGroupExpanded2(rowData) { + if (this.expandableRowGroups && this.expandedRowGroups) { + var groupFieldValue = resolveFieldData(rowData, this.groupRowsBy); + return this.expandedRowGroups.indexOf(groupFieldValue) > -1; + } + return false; + }, "isRowGroupExpanded"), + isStateful: /* @__PURE__ */ __name(function isStateful() { + return this.stateKey != null; + }, "isStateful"), + getStorage: /* @__PURE__ */ __name(function getStorage() { + switch (this.stateStorage) { + case "local": + return window.localStorage; + case "session": + return window.sessionStorage; + default: + throw new Error(this.stateStorage + ' is not a valid value for the state storage, supported values are "local" and "session".'); + } + }, "getStorage"), + saveState: /* @__PURE__ */ __name(function saveState() { + var storage = this.getStorage(); + var state = {}; + if (this.paginator) { + state.first = this.d_first; + state.rows = this.d_rows; + } + if (this.d_sortField) { + state.sortField = this.d_sortField; + state.sortOrder = this.d_sortOrder; + } + if (this.d_multiSortMeta) { + state.multiSortMeta = this.d_multiSortMeta; + } + if (this.hasFilters) { + state.filters = this.filters; + } + if (this.resizableColumns) { + this.saveColumnWidths(state); + } + if (this.reorderableColumns) { + state.columnOrder = this.d_columnOrder; + } + if (this.expandedRows) { + state.expandedRows = this.expandedRows; + } + if (this.expandedRowGroups) { + state.expandedRowGroups = this.expandedRowGroups; + } + if (this.selection) { + state.selection = this.selection; + state.selectionKeys = this.d_selectionKeys; + } + if (Object.keys(state).length) { + storage.setItem(this.stateKey, JSON.stringify(state)); + } + this.$emit("state-save", state); + }, "saveState"), + restoreState: /* @__PURE__ */ __name(function restoreState() { + var storage = this.getStorage(); + var stateString = storage.getItem(this.stateKey); + var dateFormat = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/; + var reviver = /* @__PURE__ */ __name(function reviver2(key, value) { + if (typeof value === "string" && dateFormat.test(value)) { + return new Date(value); + } + return value; + }, "reviver"); + if (stateString) { + var restoredState = JSON.parse(stateString, reviver); + if (this.paginator) { + this.d_first = restoredState.first; + this.d_rows = restoredState.rows; + } + if (restoredState.sortField) { + this.d_sortField = restoredState.sortField; + this.d_sortOrder = restoredState.sortOrder; + } + if (restoredState.multiSortMeta) { + this.d_multiSortMeta = restoredState.multiSortMeta; + } + if (restoredState.filters) { + this.$emit("update:filters", restoredState.filters); + } + if (this.resizableColumns) { + this.columnWidthsState = restoredState.columnWidths; + this.tableWidthState = restoredState.tableWidth; + } + if (this.reorderableColumns) { + this.d_columnOrder = restoredState.columnOrder; + } + if (restoredState.expandedRows) { + this.$emit("update:expandedRows", restoredState.expandedRows); + } + if (restoredState.expandedRowGroups) { + this.$emit("update:expandedRowGroups", restoredState.expandedRowGroups); + } + if (restoredState.selection) { + this.d_selectionKeys = restoredState.d_selectionKeys; + this.$emit("update:selection", restoredState.selection); + } + this.$emit("state-restore", restoredState); + } + }, "restoreState"), + saveColumnWidths: /* @__PURE__ */ __name(function saveColumnWidths(state) { + var widths = []; + var headers = find(this.$el, 'thead[data-pc-section="thead"] > tr > th'); + headers.forEach(function(header) { + return widths.push(getOuterWidth(header)); + }); + state.columnWidths = widths.join(","); + if (this.columnResizeMode === "expand") { + state.tableWidth = getOuterWidth(this.$refs.table) + "px"; + } + }, "saveColumnWidths"), + addColumnWidthStyles: /* @__PURE__ */ __name(function addColumnWidthStyles(widths) { + this.createStyleElement(); + var innerHTML = ""; + var selector = '[data-pc-name="datatable"]['.concat(this.attributeSelector, '] > [data-pc-section="tablecontainer"] ').concat(this.virtualScrollerDisabled ? "" : '> [data-pc-name="virtualscroller"]', ' > table[data-pc-section="table"]'); + widths.forEach(function(width, index) { + var style = "width: ".concat(width, "px !important; max-width: ").concat(width, "px !important"); + innerHTML += "\n ".concat(selector, ' > thead[data-pc-section="thead"] > tr > th:nth-child(').concat(index + 1, "),\n ").concat(selector, ' > tbody[data-pc-section="tbody"] > tr > td:nth-child(').concat(index + 1, "),\n ").concat(selector, ' > tfoot[data-pc-section="tfoot"] > tr > td:nth-child(').concat(index + 1, ") {\n ").concat(style, "\n }\n "); + }); + this.styleElement.innerHTML = innerHTML; + }, "addColumnWidthStyles"), + restoreColumnWidths: /* @__PURE__ */ __name(function restoreColumnWidths() { + if (this.columnWidthsState) { + var widths = this.columnWidthsState.split(","); + if (this.columnResizeMode === "expand" && this.tableWidthState) { + this.$refs.table.style.width = this.tableWidthState; + this.$refs.table.style.minWidth = this.tableWidthState; + } + if (isNotEmpty(widths)) { + this.addColumnWidthStyles(widths); + } + } + }, "restoreColumnWidths"), + onCellEditInit: /* @__PURE__ */ __name(function onCellEditInit2(event2) { + this.$emit("cell-edit-init", event2); + }, "onCellEditInit"), + onCellEditComplete: /* @__PURE__ */ __name(function onCellEditComplete2(event2) { + this.$emit("cell-edit-complete", event2); + }, "onCellEditComplete"), + onCellEditCancel: /* @__PURE__ */ __name(function onCellEditCancel2(event2) { + this.$emit("cell-edit-cancel", event2); + }, "onCellEditCancel"), + onRowEditInit: /* @__PURE__ */ __name(function onRowEditInit3(event2) { + var _editingRows = this.editingRows ? _toConsumableArray(this.editingRows) : []; + _editingRows.push(event2.data); + this.$emit("update:editingRows", _editingRows); + this.$emit("row-edit-init", event2); + }, "onRowEditInit"), + onRowEditSave: /* @__PURE__ */ __name(function onRowEditSave3(event2) { + var _editingRows = _toConsumableArray(this.editingRows); + _editingRows.splice(this.findIndex(event2.data, _editingRows), 1); + this.$emit("update:editingRows", _editingRows); + this.$emit("row-edit-save", event2); + }, "onRowEditSave"), + onRowEditCancel: /* @__PURE__ */ __name(function onRowEditCancel3(event2) { + var _editingRows = _toConsumableArray(this.editingRows); + _editingRows.splice(this.findIndex(event2.data, _editingRows), 1); + this.$emit("update:editingRows", _editingRows); + this.$emit("row-edit-cancel", event2); + }, "onRowEditCancel"), + onEditingMetaChange: /* @__PURE__ */ __name(function onEditingMetaChange2(event2) { + var data12 = event2.data, field2 = event2.field, index = event2.index, editing2 = event2.editing; + var editingMeta = _objectSpread$1({}, this.d_editingMeta); + var meta = editingMeta[index]; + if (editing2) { + !meta && (meta = editingMeta[index] = { + data: _objectSpread$1({}, data12), + fields: [] + }); + meta["fields"].push(field2); + } else if (meta) { + var fields = meta["fields"].filter(function(f) { + return f !== field2; + }); + !fields.length ? delete editingMeta[index] : meta["fields"] = fields; + } + this.d_editingMeta = editingMeta; + }, "onEditingMetaChange"), + clearEditingMetaData: /* @__PURE__ */ __name(function clearEditingMetaData() { + if (this.editMode) { + this.d_editingMeta = {}; + } + }, "clearEditingMetaData"), + createLazyLoadEvent: /* @__PURE__ */ __name(function createLazyLoadEvent(event2) { + return { + originalEvent: event2, + first: this.d_first, + rows: this.d_rows, + sortField: this.d_sortField, + sortOrder: this.d_sortOrder, + multiSortMeta: this.d_multiSortMeta, + filters: this.d_filters + }; + }, "createLazyLoadEvent"), + hasGlobalFilter: /* @__PURE__ */ __name(function hasGlobalFilter() { + return this.filters && Object.prototype.hasOwnProperty.call(this.filters, "global"); + }, "hasGlobalFilter"), + onFilterChange: /* @__PURE__ */ __name(function onFilterChange(filters) { + this.d_filters = filters; + }, "onFilterChange"), + onFilterApply: /* @__PURE__ */ __name(function onFilterApply() { + this.d_first = 0; + this.$emit("update:first", this.d_first); + this.$emit("update:filters", this.d_filters); + if (this.lazy) { + this.$emit("filter", this.createLazyLoadEvent()); + } + }, "onFilterApply"), + cloneFilters: /* @__PURE__ */ __name(function cloneFilters() { + var cloned = {}; + if (this.filters) { + Object.entries(this.filters).forEach(function(_ref3) { + var _ref4 = _slicedToArray(_ref3, 2), prop = _ref4[0], value = _ref4[1]; + cloned[prop] = value.operator ? { + operator: value.operator, + constraints: value.constraints.map(function(constraint) { + return _objectSpread$1({}, constraint); + }) + } : _objectSpread$1({}, value); + }); + } + return cloned; + }, "cloneFilters"), + updateReorderableColumns: /* @__PURE__ */ __name(function updateReorderableColumns() { + var _this10 = this; + var columnOrder = []; + this.columns.forEach(function(col) { + return columnOrder.push(_this10.columnProp(col, "columnKey") || _this10.columnProp(col, "field")); + }); + this.d_columnOrder = columnOrder; + }, "updateReorderableColumns"), + createStyleElement: /* @__PURE__ */ __name(function createStyleElement() { + var _this$$primevue; + this.styleElement = document.createElement("style"); + this.styleElement.type = "text/css"; + setAttribute(this.styleElement, "nonce", (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.csp) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.nonce); + document.head.appendChild(this.styleElement); + }, "createStyleElement"), + destroyStyleElement: /* @__PURE__ */ __name(function destroyStyleElement() { + if (this.styleElement) { + document.head.removeChild(this.styleElement); + this.styleElement = null; + } + }, "destroyStyleElement"), + dataToRender: /* @__PURE__ */ __name(function dataToRender(data12) { + var _data = data12 || this.processedData; + if (_data && this.paginator) { + var first4 = this.lazy ? 0 : this.d_first; + return _data.slice(first4, first4 + this.d_rows); + } + return _data; + }, "dataToRender"), + getVirtualScrollerRef: /* @__PURE__ */ __name(function getVirtualScrollerRef() { + return this.$refs.virtualScroller; + }, "getVirtualScrollerRef"), + hasSpacerStyle: /* @__PURE__ */ __name(function hasSpacerStyle(style) { + return isNotEmpty(style); + }, "hasSpacerStyle") + }, + computed: { + columns: /* @__PURE__ */ __name(function columns() { + var cols = this.d_columns.get(this); + if (this.reorderableColumns && this.d_columnOrder) { + var orderedColumns = []; + var _iterator5 = _createForOfIteratorHelper(this.d_columnOrder), _step5; + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done; ) { + var columnKey = _step5.value; + var column = this.findColumnByKey(cols, columnKey); + if (column && !this.columnProp(column, "hidden")) { + orderedColumns.push(column); + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + return [].concat(orderedColumns, _toConsumableArray(cols.filter(function(item) { + return orderedColumns.indexOf(item) < 0; + }))); + } + return cols; + }, "columns"), + columnGroups: /* @__PURE__ */ __name(function columnGroups() { + return this.d_columnGroups.get(this); + }, "columnGroups"), + headerColumnGroup: /* @__PURE__ */ __name(function headerColumnGroup() { + var _this$columnGroups, _this11 = this; + return (_this$columnGroups = this.columnGroups) === null || _this$columnGroups === void 0 ? void 0 : _this$columnGroups.find(function(group) { + return _this11.columnProp(group, "type") === "header"; + }); + }, "headerColumnGroup"), + footerColumnGroup: /* @__PURE__ */ __name(function footerColumnGroup() { + var _this$columnGroups2, _this12 = this; + return (_this$columnGroups2 = this.columnGroups) === null || _this$columnGroups2 === void 0 ? void 0 : _this$columnGroups2.find(function(group) { + return _this12.columnProp(group, "type") === "footer"; + }); + }, "footerColumnGroup"), + hasFilters: /* @__PURE__ */ __name(function hasFilters() { + return this.filters && Object.keys(this.filters).length > 0 && this.filters.constructor === Object; + }, "hasFilters"), + processedData: /* @__PURE__ */ __name(function processedData() { + var _this$virtualScroller; + var data12 = this.value || []; + if (!this.lazy && !((_this$virtualScroller = this.virtualScrollerOptions) !== null && _this$virtualScroller !== void 0 && _this$virtualScroller.lazy)) { + if (data12 && data12.length) { + if (this.hasFilters) { + data12 = this.filter(data12); + } + if (this.sorted) { + if (this.sortMode === "single") data12 = this.sortSingle(data12); + else if (this.sortMode === "multiple") data12 = this.sortMultiple(data12); + } + } + } + return data12; + }, "processedData"), + totalRecordsLength: /* @__PURE__ */ __name(function totalRecordsLength() { + if (this.lazy) { + return this.totalRecords; + } else { + var data12 = this.processedData; + return data12 ? data12.length : 0; + } + }, "totalRecordsLength"), + empty: /* @__PURE__ */ __name(function empty2() { + var data12 = this.processedData; + return !data12 || data12.length === 0; + }, "empty"), + paginatorTop: /* @__PURE__ */ __name(function paginatorTop() { + return this.paginator && (this.paginatorPosition !== "bottom" || this.paginatorPosition === "both"); + }, "paginatorTop"), + paginatorBottom: /* @__PURE__ */ __name(function paginatorBottom() { + return this.paginator && (this.paginatorPosition !== "top" || this.paginatorPosition === "both"); + }, "paginatorBottom"), + sorted: /* @__PURE__ */ __name(function sorted() { + return this.d_sortField || this.d_multiSortMeta && this.d_multiSortMeta.length > 0; + }, "sorted"), + allRowsSelected: /* @__PURE__ */ __name(function allRowsSelected() { + var _this13 = this; + if (this.selectAll !== null) { + return this.selectAll; + } else { + var val = this.frozenValue ? [].concat(_toConsumableArray(this.frozenValue), _toConsumableArray(this.processedData)) : this.processedData; + return isNotEmpty(val) && this.selection && Array.isArray(this.selection) && val.every(function(v) { + return _this13.selection.some(function(s) { + return _this13.equals(s, v); + }); + }); + } + }, "allRowsSelected"), + attributeSelector: /* @__PURE__ */ __name(function attributeSelector2() { + return UniqueComponentId(); + }, "attributeSelector"), + groupRowSortField: /* @__PURE__ */ __name(function groupRowSortField() { + return this.sortMode === "single" ? this.sortField : this.d_groupRowsSortMeta ? this.d_groupRowsSortMeta.field : null; + }, "groupRowSortField"), + headerFilterButtonProps: /* @__PURE__ */ __name(function headerFilterButtonProps() { + return _objectSpread$1(_objectSpread$1({ + filter: { + severity: "secondary", + text: true, + rounded: true + } + }, this.filterButtonProps), {}, { + inline: _objectSpread$1({ + clear: { + severity: "secondary", + text: true, + rounded: true + } + }, this.filterButtonProps.inline), + popover: _objectSpread$1({ + addRule: { + severity: "info", + text: true, + size: "small" + }, + removeRule: { + severity: "danger", + text: true, + size: "small" + }, + apply: { + size: "small" + }, + clear: { + outlined: true, + size: "small" + } + }, this.filterButtonProps.popover) + }); + }, "headerFilterButtonProps"), + rowEditButtonProps: /* @__PURE__ */ __name(function rowEditButtonProps() { + return _objectSpread$1(_objectSpread$1({}, { + init: { + severity: "secondary", + text: true, + rounded: true + }, + save: { + severity: "secondary", + text: true, + rounded: true + }, + cancel: { + severity: "secondary", + text: true, + rounded: true + } + }), this.editButtonProps); + }, "rowEditButtonProps"), + virtualScrollerDisabled: /* @__PURE__ */ __name(function virtualScrollerDisabled() { + return isEmpty(this.virtualScrollerOptions) || !this.scrollable; + }, "virtualScrollerDisabled") + }, + components: { + DTPaginator: script$l, + DTTableHeader: script$1, + DTTableBody: script$7, + DTTableFooter: script$5, + DTVirtualScroller: script$H, + ArrowDownIcon: script$q, + ArrowUpIcon: script$p, + SpinnerIcon: script$I + } +}; +function _typeof(o) { + "@babel/helpers - typeof"; + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof(o); +} +__name(_typeof, "_typeof"); +function ownKeys(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys, "ownKeys"); +function _objectSpread(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys(Object(t), true).forEach(function(r2) { + _defineProperty(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread, "_objectSpread"); +function _defineProperty(e, r, t) { + return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty, "_defineProperty"); +function _toPropertyKey(t) { + var i = _toPrimitive(t, "string"); + return "symbol" == _typeof(i) ? i : i + ""; +} +__name(_toPropertyKey, "_toPropertyKey"); +function _toPrimitive(t, r) { + if ("object" != _typeof(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive, "_toPrimitive"); +function render2(_ctx, _cache, $props, $setup, $data, $options) { + var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); + var _component_DTPaginator = resolveComponent("DTPaginator"); + var _component_DTTableHeader = resolveComponent("DTTableHeader"); + var _component_DTTableBody = resolveComponent("DTTableBody"); + var _component_DTTableFooter = resolveComponent("DTTableFooter"); + var _component_DTVirtualScroller = resolveComponent("DTVirtualScroller"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + "data-scrollselectors": ".p-datatable-wrapper" + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default"), _ctx.loading ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("mask") + }, _ctx.ptm("mask")), [_ctx.$slots.loading ? renderSlot(_ctx.$slots, "loading", { + key: 0 + }) : (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [_ctx.$slots.loadingicon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.loadingicon), { + key: 0, + "class": normalizeClass(_ctx.cx("loadingIcon")) + }, null, 8, ["class"])) : _ctx.loadingIcon ? (openBlock(), createElementBlock("i", mergeProps({ + key: 1, + "class": [_ctx.cx("loadingIcon"), "pi-spin", _ctx.loadingIcon] + }, _ctx.ptm("loadingIcon")), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({ + key: 2, + spin: "", + "class": _ctx.cx("loadingIcon") + }, _ctx.ptm("loadingIcon")), null, 16, ["class"]))], 64))], 16)) : createCommentVNode("", true), _ctx.$slots.header ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("header") + }, _ctx.ptm("header")), [renderSlot(_ctx.$slots, "header")], 16)) : createCommentVNode("", true), $options.paginatorTop ? (openBlock(), createBlock(_component_DTPaginator, { + key: 2, + rows: $data.d_rows, + first: $data.d_first, + totalRecords: $options.totalRecordsLength, + pageLinkSize: _ctx.pageLinkSize, + template: _ctx.paginatorTemplate, + rowsPerPageOptions: _ctx.rowsPerPageOptions, + currentPageReportTemplate: _ctx.currentPageReportTemplate, + "class": normalizeClass(_ctx.cx("pcPaginator", { + position: "top" + })), + onPage: _cache[0] || (_cache[0] = function($event) { + return $options.onPage($event); + }), + alwaysShow: _ctx.alwaysShowPaginator, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcPaginator") + }, createSlots({ + _: 2 + }, [_ctx.$slots.paginatorstart ? { + name: "start", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "paginatorstart")]; + }), + key: "0" + } : void 0, _ctx.$slots.paginatorend ? { + name: "end", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "paginatorend")]; + }), + key: "1" + } : void 0, _ctx.$slots.paginatorfirstpagelinkicon ? { + name: "firstpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorfirstpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "2" + } : void 0, _ctx.$slots.paginatorprevpagelinkicon ? { + name: "prevpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorprevpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "3" + } : void 0, _ctx.$slots.paginatornextpagelinkicon ? { + name: "nextpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatornextpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "4" + } : void 0, _ctx.$slots.paginatorlastpagelinkicon ? { + name: "lastpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorlastpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "5" + } : void 0, _ctx.$slots.paginatorjumptopagedropdownicon ? { + name: "jumptopagedropdownicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorjumptopagedropdownicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "6" + } : void 0, _ctx.$slots.paginatorrowsperpagedropdownicon ? { + name: "rowsperpagedropdownicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorrowsperpagedropdownicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "7" + } : void 0]), 1032, ["rows", "first", "totalRecords", "pageLinkSize", "template", "rowsPerPageOptions", "currentPageReportTemplate", "class", "alwaysShow", "unstyled", "pt"])) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("tableContainer"), + style: [_ctx.sx("tableContainer"), { + maxHeight: $options.virtualScrollerDisabled ? _ctx.scrollHeight : "" + }] + }, _ctx.ptm("tableContainer")), [createVNode(_component_DTVirtualScroller, mergeProps({ + ref: "virtualScroller" + }, _ctx.virtualScrollerOptions, { + items: $options.processedData, + columns: $options.columns, + style: _ctx.scrollHeight !== "flex" ? { + height: _ctx.scrollHeight + } : void 0, + scrollHeight: _ctx.scrollHeight !== "flex" ? void 0 : "100%", + disabled: $options.virtualScrollerDisabled, + loaderDisabled: "", + inline: "", + autoSize: "", + showSpacer: false, + pt: _ctx.ptm("virtualScroller") + }), { + content: withCtx(function(slotProps) { + return [createBaseVNode("table", mergeProps({ + ref: "table", + role: "table", + "class": [_ctx.cx("table"), _ctx.tableClass], + style: [_ctx.tableStyle, slotProps.spacerStyle] + }, _objectSpread(_objectSpread({}, _ctx.tableProps), _ctx.ptm("table"))), [createVNode(_component_DTTableHeader, { + columnGroup: $options.headerColumnGroup, + columns: slotProps.columns, + rowGroupMode: _ctx.rowGroupMode, + groupRowsBy: _ctx.groupRowsBy, + groupRowSortField: $options.groupRowSortField, + reorderableColumns: _ctx.reorderableColumns, + resizableColumns: _ctx.resizableColumns, + allRowsSelected: $options.allRowsSelected, + empty: $options.empty, + sortMode: _ctx.sortMode, + sortField: $data.d_sortField, + sortOrder: $data.d_sortOrder, + multiSortMeta: $data.d_multiSortMeta, + filters: $data.d_filters, + filtersStore: _ctx.filters, + filterDisplay: _ctx.filterDisplay, + filterButtonProps: $options.headerFilterButtonProps, + filterInputProps: _ctx.filterInputProps, + first: $data.d_first, + onColumnClick: _cache[1] || (_cache[1] = function($event) { + return $options.onColumnHeaderClick($event); + }), + onColumnMousedown: _cache[2] || (_cache[2] = function($event) { + return $options.onColumnHeaderMouseDown($event); + }), + onFilterChange: $options.onFilterChange, + onFilterApply: $options.onFilterApply, + onColumnDragstart: _cache[3] || (_cache[3] = function($event) { + return $options.onColumnHeaderDragStart($event); + }), + onColumnDragover: _cache[4] || (_cache[4] = function($event) { + return $options.onColumnHeaderDragOver($event); + }), + onColumnDragleave: _cache[5] || (_cache[5] = function($event) { + return $options.onColumnHeaderDragLeave($event); + }), + onColumnDrop: _cache[6] || (_cache[6] = function($event) { + return $options.onColumnHeaderDrop($event); + }), + onColumnResizestart: _cache[7] || (_cache[7] = function($event) { + return $options.onColumnResizeStart($event); + }), + onCheckboxChange: _cache[8] || (_cache[8] = function($event) { + return $options.toggleRowsWithCheckbox($event); + }), + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["columnGroup", "columns", "rowGroupMode", "groupRowsBy", "groupRowSortField", "reorderableColumns", "resizableColumns", "allRowsSelected", "empty", "sortMode", "sortField", "sortOrder", "multiSortMeta", "filters", "filtersStore", "filterDisplay", "filterButtonProps", "filterInputProps", "first", "onFilterChange", "onFilterApply", "unstyled", "pt"]), _ctx.frozenValue ? (openBlock(), createBlock(_component_DTTableBody, { + key: 0, + ref: "frozenBodyRef", + value: _ctx.frozenValue, + frozenRow: true, + columns: slotProps.columns, + first: $data.d_first, + dataKey: _ctx.dataKey, + selection: _ctx.selection, + selectionKeys: $data.d_selectionKeys, + selectionMode: _ctx.selectionMode, + contextMenu: _ctx.contextMenu, + contextMenuSelection: _ctx.contextMenuSelection, + rowGroupMode: _ctx.rowGroupMode, + groupRowsBy: _ctx.groupRowsBy, + expandableRowGroups: _ctx.expandableRowGroups, + rowClass: _ctx.rowClass, + rowStyle: _ctx.rowStyle, + editMode: _ctx.editMode, + compareSelectionBy: _ctx.compareSelectionBy, + scrollable: _ctx.scrollable, + expandedRowIcon: _ctx.expandedRowIcon, + collapsedRowIcon: _ctx.collapsedRowIcon, + expandedRows: _ctx.expandedRows, + expandedRowGroups: _ctx.expandedRowGroups, + editingRows: _ctx.editingRows, + editingRowKeys: $data.d_editingRowKeys, + templates: _ctx.$slots, + editButtonProps: $options.rowEditButtonProps, + isVirtualScrollerDisabled: true, + onRowgroupToggle: $options.toggleRowGroup, + onRowClick: _cache[9] || (_cache[9] = function($event) { + return $options.onRowClick($event); + }), + onRowDblclick: _cache[10] || (_cache[10] = function($event) { + return $options.onRowDblClick($event); + }), + onRowRightclick: _cache[11] || (_cache[11] = function($event) { + return $options.onRowRightClick($event); + }), + onRowTouchend: $options.onRowTouchEnd, + onRowKeydown: $options.onRowKeyDown, + onRowMousedown: $options.onRowMouseDown, + onRowDragstart: _cache[12] || (_cache[12] = function($event) { + return $options.onRowDragStart($event); + }), + onRowDragover: _cache[13] || (_cache[13] = function($event) { + return $options.onRowDragOver($event); + }), + onRowDragleave: _cache[14] || (_cache[14] = function($event) { + return $options.onRowDragLeave($event); + }), + onRowDragend: _cache[15] || (_cache[15] = function($event) { + return $options.onRowDragEnd($event); + }), + onRowDrop: _cache[16] || (_cache[16] = function($event) { + return $options.onRowDrop($event); + }), + onRowToggle: _cache[17] || (_cache[17] = function($event) { + return $options.toggleRow($event); + }), + onRadioChange: _cache[18] || (_cache[18] = function($event) { + return $options.toggleRowWithRadio($event); + }), + onCheckboxChange: _cache[19] || (_cache[19] = function($event) { + return $options.toggleRowWithCheckbox($event); + }), + onCellEditInit: _cache[20] || (_cache[20] = function($event) { + return $options.onCellEditInit($event); + }), + onCellEditComplete: _cache[21] || (_cache[21] = function($event) { + return $options.onCellEditComplete($event); + }), + onCellEditCancel: _cache[22] || (_cache[22] = function($event) { + return $options.onCellEditCancel($event); + }), + onRowEditInit: _cache[23] || (_cache[23] = function($event) { + return $options.onRowEditInit($event); + }), + onRowEditSave: _cache[24] || (_cache[24] = function($event) { + return $options.onRowEditSave($event); + }), + onRowEditCancel: _cache[25] || (_cache[25] = function($event) { + return $options.onRowEditCancel($event); + }), + editingMeta: $data.d_editingMeta, + onEditingMetaChange: $options.onEditingMetaChange, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["value", "columns", "first", "dataKey", "selection", "selectionKeys", "selectionMode", "contextMenu", "contextMenuSelection", "rowGroupMode", "groupRowsBy", "expandableRowGroups", "rowClass", "rowStyle", "editMode", "compareSelectionBy", "scrollable", "expandedRowIcon", "collapsedRowIcon", "expandedRows", "expandedRowGroups", "editingRows", "editingRowKeys", "templates", "editButtonProps", "onRowgroupToggle", "onRowTouchend", "onRowKeydown", "onRowMousedown", "editingMeta", "onEditingMetaChange", "unstyled", "pt"])) : createCommentVNode("", true), createVNode(_component_DTTableBody, { + ref: "bodyRef", + value: $options.dataToRender(slotProps.rows), + "class": normalizeClass(slotProps.styleClass), + columns: slotProps.columns, + empty: $options.empty, + first: $data.d_first, + dataKey: _ctx.dataKey, + selection: _ctx.selection, + selectionKeys: $data.d_selectionKeys, + selectionMode: _ctx.selectionMode, + contextMenu: _ctx.contextMenu, + contextMenuSelection: _ctx.contextMenuSelection, + rowGroupMode: _ctx.rowGroupMode, + groupRowsBy: _ctx.groupRowsBy, + expandableRowGroups: _ctx.expandableRowGroups, + rowClass: _ctx.rowClass, + rowStyle: _ctx.rowStyle, + editMode: _ctx.editMode, + compareSelectionBy: _ctx.compareSelectionBy, + scrollable: _ctx.scrollable, + expandedRowIcon: _ctx.expandedRowIcon, + collapsedRowIcon: _ctx.collapsedRowIcon, + expandedRows: _ctx.expandedRows, + expandedRowGroups: _ctx.expandedRowGroups, + editingRows: _ctx.editingRows, + editingRowKeys: $data.d_editingRowKeys, + templates: _ctx.$slots, + editButtonProps: $options.rowEditButtonProps, + virtualScrollerContentProps: slotProps, + isVirtualScrollerDisabled: $options.virtualScrollerDisabled, + onRowgroupToggle: $options.toggleRowGroup, + onRowClick: _cache[26] || (_cache[26] = function($event) { + return $options.onRowClick($event); + }), + onRowDblclick: _cache[27] || (_cache[27] = function($event) { + return $options.onRowDblClick($event); + }), + onRowRightclick: _cache[28] || (_cache[28] = function($event) { + return $options.onRowRightClick($event); + }), + onRowTouchend: $options.onRowTouchEnd, + onRowKeydown: /* @__PURE__ */ __name(function onRowKeydown($event) { + return $options.onRowKeyDown($event, slotProps); + }, "onRowKeydown"), + onRowMousedown: $options.onRowMouseDown, + onRowDragstart: _cache[29] || (_cache[29] = function($event) { + return $options.onRowDragStart($event); + }), + onRowDragover: _cache[30] || (_cache[30] = function($event) { + return $options.onRowDragOver($event); + }), + onRowDragleave: _cache[31] || (_cache[31] = function($event) { + return $options.onRowDragLeave($event); + }), + onRowDragend: _cache[32] || (_cache[32] = function($event) { + return $options.onRowDragEnd($event); + }), + onRowDrop: _cache[33] || (_cache[33] = function($event) { + return $options.onRowDrop($event); + }), + onRowToggle: _cache[34] || (_cache[34] = function($event) { + return $options.toggleRow($event); + }), + onRadioChange: _cache[35] || (_cache[35] = function($event) { + return $options.toggleRowWithRadio($event); + }), + onCheckboxChange: _cache[36] || (_cache[36] = function($event) { + return $options.toggleRowWithCheckbox($event); + }), + onCellEditInit: _cache[37] || (_cache[37] = function($event) { + return $options.onCellEditInit($event); + }), + onCellEditComplete: _cache[38] || (_cache[38] = function($event) { + return $options.onCellEditComplete($event); + }), + onCellEditCancel: _cache[39] || (_cache[39] = function($event) { + return $options.onCellEditCancel($event); + }), + onRowEditInit: _cache[40] || (_cache[40] = function($event) { + return $options.onRowEditInit($event); + }), + onRowEditSave: _cache[41] || (_cache[41] = function($event) { + return $options.onRowEditSave($event); + }), + onRowEditCancel: _cache[42] || (_cache[42] = function($event) { + return $options.onRowEditCancel($event); + }), + editingMeta: $data.d_editingMeta, + onEditingMetaChange: $options.onEditingMetaChange, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["value", "class", "columns", "empty", "first", "dataKey", "selection", "selectionKeys", "selectionMode", "contextMenu", "contextMenuSelection", "rowGroupMode", "groupRowsBy", "expandableRowGroups", "rowClass", "rowStyle", "editMode", "compareSelectionBy", "scrollable", "expandedRowIcon", "collapsedRowIcon", "expandedRows", "expandedRowGroups", "editingRows", "editingRowKeys", "templates", "editButtonProps", "virtualScrollerContentProps", "isVirtualScrollerDisabled", "onRowgroupToggle", "onRowTouchend", "onRowKeydown", "onRowMousedown", "editingMeta", "onEditingMetaChange", "unstyled", "pt"]), $options.hasSpacerStyle(slotProps.spacerStyle) ? (openBlock(), createElementBlock("tbody", mergeProps({ + key: 1, + "class": _ctx.cx("virtualScrollerSpacer"), + style: { + height: "calc(".concat(slotProps.spacerStyle.height, " - ").concat(slotProps.rows.length * slotProps.itemSize, "px)") + } + }, _ctx.ptm("virtualScrollerSpacer")), null, 16)) : createCommentVNode("", true), createVNode(_component_DTTableFooter, { + columnGroup: $options.footerColumnGroup, + columns: slotProps.columns, + pt: _ctx.pt + }, null, 8, ["columnGroup", "columns", "pt"])], 16)]; + }), + _: 1 + }, 16, ["items", "columns", "style", "scrollHeight", "disabled", "pt"])], 16), $options.paginatorBottom ? (openBlock(), createBlock(_component_DTPaginator, { + key: 3, + rows: $data.d_rows, + first: $data.d_first, + totalRecords: $options.totalRecordsLength, + pageLinkSize: _ctx.pageLinkSize, + template: _ctx.paginatorTemplate, + rowsPerPageOptions: _ctx.rowsPerPageOptions, + currentPageReportTemplate: _ctx.currentPageReportTemplate, + "class": normalizeClass(_ctx.cx("pcPaginator", { + position: "bottom" + })), + onPage: _cache[43] || (_cache[43] = function($event) { + return $options.onPage($event); + }), + alwaysShow: _ctx.alwaysShowPaginator, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcPaginator") + }, createSlots({ + _: 2 + }, [_ctx.$slots.paginatorstart ? { + name: "start", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "paginatorstart")]; + }), + key: "0" + } : void 0, _ctx.$slots.paginatorend ? { + name: "end", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "paginatorend")]; + }), + key: "1" + } : void 0, _ctx.$slots.paginatorfirstpagelinkicon ? { + name: "firstpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorfirstpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "2" + } : void 0, _ctx.$slots.paginatorprevpagelinkicon ? { + name: "prevpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorprevpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "3" + } : void 0, _ctx.$slots.paginatornextpagelinkicon ? { + name: "nextpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatornextpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "4" + } : void 0, _ctx.$slots.paginatorlastpagelinkicon ? { + name: "lastpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorlastpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "5" + } : void 0, _ctx.$slots.paginatorjumptopagedropdownicon ? { + name: "jumptopagedropdownicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorjumptopagedropdownicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "6" + } : void 0, _ctx.$slots.paginatorrowsperpagedropdownicon ? { + name: "rowsperpagedropdownicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorrowsperpagedropdownicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "7" + } : void 0]), 1032, ["rows", "first", "totalRecords", "pageLinkSize", "template", "rowsPerPageOptions", "currentPageReportTemplate", "class", "alwaysShow", "unstyled", "pt"])) : createCommentVNode("", true), _ctx.$slots.footer ? (openBlock(), createElementBlock("div", mergeProps({ + key: 4, + "class": _ctx.cx("footer") + }, _ctx.ptm("footer")), [renderSlot(_ctx.$slots, "footer")], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + ref: "resizeHelper", + "class": _ctx.cx("columnResizeIndicator"), + style: { + "display": "none" + } + }, _ctx.ptm("columnResizeIndicator")), null, 16), _ctx.reorderableColumns ? (openBlock(), createElementBlock("span", mergeProps({ + key: 5, + ref: "reorderIndicatorUp", + "class": _ctx.cx("rowReorderIndicatorUp"), + style: { + "position": "absolute", + "display": "none" + } + }, _ctx.ptm("rowReorderIndicatorUp")), [(openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.rowreorderindicatorupicon || _ctx.$slots.reorderindicatorupicon || "ArrowDownIcon")))], 16)) : createCommentVNode("", true), _ctx.reorderableColumns ? (openBlock(), createElementBlock("span", mergeProps({ + key: 6, + ref: "reorderIndicatorDown", + "class": _ctx.cx("rowReorderIndicatorDown"), + style: { + "position": "absolute", + "display": "none" + } + }, _ctx.ptm("rowReorderIndicatorDown")), [(openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.rowreorderindicatordownicon || _ctx.$slots.reorderindicatordownicon || "ArrowUpIcon")))], 16)) : createCommentVNode("", true)], 16); +} +__name(render2, "render"); +script.render = render2; +export { + script as a, + script$r as s +}; +//# sourceMappingURL=index-B5F0uxTQ.js.map diff --git a/web/assets/index-BRhY6FpL.css b/web/assets/index-BRhY6FpL.css new file mode 100644 index 0000000000000000000000000000000000000000..5470ecb5e67bd700b52601979a607b2d89893860 --- /dev/null +++ b/web/assets/index-BRhY6FpL.css @@ -0,0 +1,149 @@ +.comfy-group-manage { + background: var(--bg-color); + color: var(--fg-color); + padding: 0; + font-family: Arial, Helvetica, sans-serif; + border-color: black; + margin: 20vh auto; + max-height: 60vh; +} +.comfy-group-manage-outer { + max-height: 60vh; + min-width: 500px; + display: flex; + flex-direction: column; +} +.comfy-group-manage-outer > header { + display: flex; + align-items: center; + gap: 10px; + justify-content: space-between; + background: var(--comfy-menu-bg); + padding: 15px 20px; +} +.comfy-group-manage-outer > header select { + background: var(--comfy-input-bg); + border: 1px solid var(--border-color); + color: var(--input-text); + padding: 5px 10px; + border-radius: 5px; +} +.comfy-group-manage h2 { + margin: 0; + font-weight: normal; +} +.comfy-group-manage main { + display: flex; + overflow: hidden; +} +.comfy-group-manage .drag-handle { + font-weight: bold; +} +.comfy-group-manage-list { + border-right: 1px solid var(--comfy-menu-bg); +} +.comfy-group-manage-list ul { + margin: 40px 0 0; + padding: 0; + list-style: none; +} +.comfy-group-manage-list-items { + max-height: calc(100% - 40px); + overflow-y: scroll; + overflow-x: hidden; +} +.comfy-group-manage-list li { + display: flex; + padding: 10px 20px 10px 10px; + cursor: pointer; + align-items: center; + gap: 5px; +} +.comfy-group-manage-list div { + display: flex; + flex-direction: column; +} +.comfy-group-manage-list li:not(.selected):hover div { + text-decoration: underline; +} +.comfy-group-manage-list li.selected { + background: var(--border-color); +} +.comfy-group-manage-list li span { + opacity: 0.7; + font-size: smaller; +} +.comfy-group-manage-node { + flex: auto; + background: var(--border-color); + display: flex; + flex-direction: column; +} +.comfy-group-manage-node > div { + overflow: auto; +} +.comfy-group-manage-node header { + display: flex; + background: var(--bg-color); + height: 40px; +} +.comfy-group-manage-node header a { + text-align: center; + flex: auto; + border-right: 1px solid var(--comfy-menu-bg); + border-bottom: 1px solid var(--comfy-menu-bg); + padding: 10px; + cursor: pointer; + font-size: 15px; +} +.comfy-group-manage-node header a:last-child { + border-right: none; +} +.comfy-group-manage-node header a:not(.active):hover { + text-decoration: underline; +} +.comfy-group-manage-node header a.active { + background: var(--border-color); + border-bottom: none; +} +.comfy-group-manage-node-page { + display: none; + overflow: auto; +} +.comfy-group-manage-node-page.active { + display: block; +} +.comfy-group-manage-node-page div { + padding: 10px; + display: flex; + align-items: center; + gap: 10px; +} +.comfy-group-manage-node-page input { + border: none; + color: var(--input-text); + background: var(--comfy-input-bg); + padding: 5px 10px; +} +.comfy-group-manage-node-page input[type="text"] { + flex: auto; +} +.comfy-group-manage-node-page label { + display: flex; + gap: 5px; + align-items: center; +} +.comfy-group-manage footer { + border-top: 1px solid var(--comfy-menu-bg); + padding: 10px; + display: flex; + gap: 10px; +} +.comfy-group-manage footer button { + font-size: 14px; + padding: 5px 10px; + border-radius: 0; +} +.comfy-group-manage footer button:first-child { + margin-right: auto; +} diff --git a/web/assets/index-Bordpmzt.js b/web/assets/index-Bordpmzt.js new file mode 100644 index 0000000000000000000000000000000000000000..85a75572d90757669e77f6647e7d79bddb167be9 --- /dev/null +++ b/web/assets/index-Bordpmzt.js @@ -0,0 +1,53214 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { ca as ComfyDialog, cb as $el, cc as ComfyApp, h as app, a3 as LiteGraph, bd as LGraphCanvas, cd as useExtensionService, ce as processDynamicPrompt, cf as isElectron, c0 as electronAPI, bR as useDialogService, cg as t, ch as DraggableList, bt as useToastStore, ah as LGraphNode, ci as applyTextReplacements, cj as ComfyWidgets, ck as addValueControlWidgets, a6 as useNodeDefStore, cl as serialise, cm as deserialiseAndCreate, b8 as api, a as useSettingStore, ag as LGraphGroup, ad as nextTick } from "./index-DjNHn37O.js"; +class ClipspaceDialog extends ComfyDialog { + static { + __name(this, "ClipspaceDialog"); + } + static items = []; + static instance = null; + static registerButton(name, contextPredicate, callback) { + const item = $el("button", { + type: "button", + textContent: name, + contextPredicate, + onclick: callback + }); + ClipspaceDialog.items.push(item); + } + static invalidatePreview() { + if (ComfyApp.clipspace && ComfyApp.clipspace.imgs && ComfyApp.clipspace.imgs.length > 0) { + const img_preview = document.getElementById( + "clipspace_preview" + ); + if (img_preview) { + img_preview.src = ComfyApp.clipspace.imgs[ComfyApp.clipspace["selectedIndex"]].src; + img_preview.style.maxHeight = "100%"; + img_preview.style.maxWidth = "100%"; + } + } + } + static invalidate() { + if (ClipspaceDialog.instance) { + const self2 = ClipspaceDialog.instance; + const children = $el("div.comfy-modal-content", [ + self2.createImgSettings(), + ...self2.createButtons() + ]); + if (self2.element) { + if (self2.element.firstChild) { + self2.element.removeChild(self2.element.firstChild); + } + self2.element.appendChild(children); + } else { + self2.element = $el("div.comfy-modal", { parent: document.body }, [ + children + ]); + } + if (self2.element.children[0].children.length <= 1) { + self2.element.children[0].appendChild( + $el("p", {}, [ + "Unable to find the features to edit content of a format stored in the current Clipspace." + ]) + ); + } + ClipspaceDialog.invalidatePreview(); + } + } + constructor() { + super(); + } + createButtons() { + const buttons = []; + for (let idx in ClipspaceDialog.items) { + const item = ClipspaceDialog.items[idx]; + if (!item.contextPredicate || item.contextPredicate()) + buttons.push(ClipspaceDialog.items[idx]); + } + buttons.push( + $el("button", { + type: "button", + textContent: "Close", + onclick: /* @__PURE__ */ __name(() => { + this.close(); + }, "onclick") + }) + ); + return buttons; + } + createImgSettings() { + if (ComfyApp.clipspace?.imgs) { + const combo_items = []; + const imgs = ComfyApp.clipspace.imgs; + for (let i = 0; i < imgs.length; i++) { + combo_items.push($el("option", { value: i }, [`${i}`])); + } + const combo1 = $el( + "select", + { + id: "clipspace_img_selector", + onchange: /* @__PURE__ */ __name((event) => { + if (event.target && ComfyApp.clipspace) { + ComfyApp.clipspace["selectedIndex"] = event.target.selectedIndex; + ClipspaceDialog.invalidatePreview(); + } + }, "onchange") + }, + combo_items + ); + const row1 = $el("tr", {}, [ + $el("td", {}, [$el("font", { color: "white" }, ["Select Image"])]), + $el("td", {}, [combo1]) + ]); + const combo2 = $el( + "select", + { + id: "clipspace_img_paste_mode", + onchange: /* @__PURE__ */ __name((event) => { + if (event.target && ComfyApp.clipspace) { + ComfyApp.clipspace["img_paste_mode"] = event.target.value; + } + }, "onchange") + }, + [ + $el("option", { value: "selected" }, "selected"), + $el("option", { value: "all" }, "all") + ] + ); + combo2.value = ComfyApp.clipspace["img_paste_mode"]; + const row2 = $el("tr", {}, [ + $el("td", {}, [$el("font", { color: "white" }, ["Paste Mode"])]), + $el("td", {}, [combo2]) + ]); + const td2 = $el( + "td", + { align: "center", width: "100px", height: "100px", colSpan: "2" }, + [$el("img", { id: "clipspace_preview", ondragstart: /* @__PURE__ */ __name(() => false, "ondragstart") }, [])] + ); + const row3 = $el("tr", {}, [td2]); + return $el("table", {}, [row1, row2, row3]); + } else { + return []; + } + } + createImgPreview() { + if (ComfyApp.clipspace?.imgs) { + return $el("img", { id: "clipspace_preview", ondragstart: /* @__PURE__ */ __name(() => false, "ondragstart") }); + } else return []; + } + show() { + const img_preview = document.getElementById("clipspace_preview"); + ClipspaceDialog.invalidate(); + this.element.style.display = "block"; + } +} +app.registerExtension({ + name: "Comfy.Clipspace", + init(app2) { + app2.openClipspace = function() { + if (!ClipspaceDialog.instance) { + ClipspaceDialog.instance = new ClipspaceDialog(); + ComfyApp.clipspace_invalidate_handler = ClipspaceDialog.invalidate; + } + if (ComfyApp.clipspace) { + ClipspaceDialog.instance.show(); + } else app2.ui.dialog.show("Clipspace is Empty!"); + }; + } +}); +window.comfyAPI = window.comfyAPI || {}; +window.comfyAPI.clipspace = window.comfyAPI.clipspace || {}; +window.comfyAPI.clipspace.ClipspaceDialog = ClipspaceDialog; +const ext$1 = { + name: "Comfy.ContextMenuFilter", + init() { + const ctxMenu = LiteGraph.ContextMenu; + LiteGraph.ContextMenu = function(values, options) { + const ctx = new ctxMenu(values, options); + if (options?.className === "dark" && values?.length > 4) { + const filter = document.createElement("input"); + filter.classList.add("comfy-context-menu-filter"); + filter.placeholder = "Filter list"; + ctx.root.prepend(filter); + const items = Array.from( + ctx.root.querySelectorAll(".litemenu-entry") + ); + let displayedItems = [...items]; + let itemCount = displayedItems.length; + requestAnimationFrame(() => { + const currentNode = LGraphCanvas.active_canvas.current_node; + const clickedComboValue = currentNode?.widgets?.filter( + (w) => w.type === "combo" && w.options.values?.length === values.length + ).find( + (w) => w.options.values?.every((v, i) => v === values[i]) + )?.value; + let selectedIndex = clickedComboValue ? values.findIndex((v) => v === clickedComboValue) : 0; + if (selectedIndex < 0) { + selectedIndex = 0; + } + let selectedItem = displayedItems[selectedIndex]; + updateSelected(); + function updateSelected() { + selectedItem?.style.setProperty("background-color", ""); + selectedItem?.style.setProperty("color", ""); + selectedItem = displayedItems[selectedIndex]; + selectedItem?.style.setProperty( + "background-color", + "#ccc", + "important" + ); + selectedItem?.style.setProperty("color", "#000", "important"); + } + __name(updateSelected, "updateSelected"); + const positionList = /* @__PURE__ */ __name(() => { + const rect = ctx.root.getBoundingClientRect(); + if (rect.top < 0) { + const scale = 1 - ctx.root.getBoundingClientRect().height / ctx.root.clientHeight; + const shift = ctx.root.clientHeight * scale / 2; + ctx.root.style.top = -shift + "px"; + } + }, "positionList"); + filter.addEventListener("keydown", (event) => { + switch (event.key) { + case "ArrowUp": + event.preventDefault(); + if (selectedIndex === 0) { + selectedIndex = itemCount - 1; + } else { + selectedIndex--; + } + updateSelected(); + break; + case "ArrowRight": + event.preventDefault(); + selectedIndex = itemCount - 1; + updateSelected(); + break; + case "ArrowDown": + event.preventDefault(); + if (selectedIndex === itemCount - 1) { + selectedIndex = 0; + } else { + selectedIndex++; + } + updateSelected(); + break; + case "ArrowLeft": + event.preventDefault(); + selectedIndex = 0; + updateSelected(); + break; + case "Enter": + selectedItem?.click(); + break; + case "Escape": + ctx.close(); + break; + } + }); + filter.addEventListener("input", () => { + const term = filter.value.toLocaleLowerCase(); + displayedItems = items.filter((item) => { + const isVisible = !term || item.textContent?.toLocaleLowerCase().includes(term); + item.style.display = isVisible ? "block" : "none"; + return isVisible; + }); + selectedIndex = 0; + if (displayedItems.includes(selectedItem)) { + selectedIndex = displayedItems.findIndex( + (d) => d === selectedItem + ); + } + itemCount = displayedItems.length; + updateSelected(); + if (options.event) { + let top = options.event.clientY - 10; + const bodyRect = document.body.getBoundingClientRect(); + const rootRect = ctx.root.getBoundingClientRect(); + if (bodyRect.height && top > bodyRect.height - rootRect.height - 10) { + top = Math.max(0, bodyRect.height - rootRect.height - 10); + } + ctx.root.style.top = top + "px"; + positionList(); + } + }); + requestAnimationFrame(() => { + filter.focus(); + positionList(); + }); + }); + } + return ctx; + }; + LiteGraph.ContextMenu.prototype = ctxMenu.prototype; + } +}; +app.registerExtension(ext$1); +useExtensionService().registerExtension({ + name: "Comfy.DynamicPrompts", + nodeCreated(node) { + if (node.widgets) { + const widgets = node.widgets.filter((n) => n.dynamicPrompts); + for (const widget of widgets) { + widget.serializeValue = (workflowNode, widgetIndex) => { + if (typeof widget.value !== "string") return widget.value; + const prompt = processDynamicPrompt(widget.value); + if (workflowNode?.widgets_values) + workflowNode.widgets_values[widgetIndex] = prompt; + return prompt; + }; + } + } + } +}); +app.registerExtension({ + name: "Comfy.EditAttention", + init() { + const editAttentionDelta = app.ui.settings.addSetting({ + id: "Comfy.EditAttention.Delta", + category: ["Comfy", "EditTokenWeight", "Delta"], + name: "Ctrl+up/down precision", + type: "slider", + attrs: { + min: 0.01, + max: 0.5, + step: 0.01 + }, + defaultValue: 0.05 + }); + function incrementWeight(weight, delta) { + const floatWeight = parseFloat(weight); + if (isNaN(floatWeight)) return weight; + const newWeight = floatWeight + delta; + return String(Number(newWeight.toFixed(10))); + } + __name(incrementWeight, "incrementWeight"); + function findNearestEnclosure(text, cursorPos) { + let start = cursorPos, end = cursorPos; + let openCount = 0, closeCount = 0; + while (start >= 0) { + start--; + if (text[start] === "(" && openCount === closeCount) break; + if (text[start] === "(") openCount++; + if (text[start] === ")") closeCount++; + } + if (start < 0) return null; + openCount = 0; + closeCount = 0; + while (end < text.length) { + if (text[end] === ")" && openCount === closeCount) break; + if (text[end] === "(") openCount++; + if (text[end] === ")") closeCount++; + end++; + } + if (end === text.length) return null; + return { start: start + 1, end }; + } + __name(findNearestEnclosure, "findNearestEnclosure"); + function addWeightToParentheses(text) { + const parenRegex = /^\((.*)\)$/; + const parenMatch = text.match(parenRegex); + const floatRegex = /:([+-]?(\d*\.)?\d+([eE][+-]?\d+)?)/; + const floatMatch = text.match(floatRegex); + if (parenMatch && !floatMatch) { + return `(${parenMatch[1]}:1.0)`; + } else { + return text; + } + } + __name(addWeightToParentheses, "addWeightToParentheses"); + function editAttention(event) { + const inputField = event.composedPath()[0]; + const delta = parseFloat(editAttentionDelta.value); + if (inputField.tagName !== "TEXTAREA") return; + if (!(event.key === "ArrowUp" || event.key === "ArrowDown")) return; + if (!event.ctrlKey && !event.metaKey) return; + event.preventDefault(); + let start = inputField.selectionStart; + let end = inputField.selectionEnd; + let selectedText = inputField.value.substring(start, end); + if (!selectedText) { + const nearestEnclosure = findNearestEnclosure(inputField.value, start); + if (nearestEnclosure) { + start = nearestEnclosure.start; + end = nearestEnclosure.end; + selectedText = inputField.value.substring(start, end); + } else { + const delimiters = " .,\\/!?%^*;:{}=-_`~()\r\n "; + while (!delimiters.includes(inputField.value[start - 1]) && start > 0) { + start--; + } + while (!delimiters.includes(inputField.value[end]) && end < inputField.value.length) { + end++; + } + selectedText = inputField.value.substring(start, end); + if (!selectedText) return; + } + } + if (selectedText[selectedText.length - 1] === " ") { + selectedText = selectedText.substring(0, selectedText.length - 1); + end -= 1; + } + if (inputField.value[start - 1] === "(" && inputField.value[end] === ")") { + start -= 1; + end += 1; + selectedText = inputField.value.substring(start, end); + } + if (selectedText[0] !== "(" || selectedText[selectedText.length - 1] !== ")") { + selectedText = `(${selectedText})`; + } + selectedText = addWeightToParentheses(selectedText); + const weightDelta = event.key === "ArrowUp" ? delta : -delta; + const updatedText = selectedText.replace( + /\((.*):([+-]?\d+(?:\.\d+)?)\)/, + (match, text, weight) => { + weight = incrementWeight(weight, weightDelta); + if (weight == 1) { + return text; + } else { + return `(${text}:${weight})`; + } + } + ); + inputField.setSelectionRange(start, end); + document.execCommand("insertText", false, updatedText); + inputField.setSelectionRange(start, start + updatedText.length); + } + __name(editAttention, "editAttention"); + window.addEventListener("keydown", editAttention); + } +}); +(async () => { + if (!isElectron()) return; + const electronAPI$1 = electronAPI(); + const desktopAppVersion = await electronAPI$1.getElectronVersion(); + const onChangeRestartApp = /* @__PURE__ */ __name((newValue, oldValue) => { + if (oldValue !== void 0 && newValue !== oldValue) { + electronAPI$1.restartApp("Restart ComfyUI to apply changes.", 1500); + } + }, "onChangeRestartApp"); + app.registerExtension({ + name: "Comfy.ElectronAdapter", + settings: [ + { + id: "Comfy-Desktop.AutoUpdate", + category: ["Comfy-Desktop", "General", "AutoUpdate"], + name: "Automatically check for updates", + type: "boolean", + defaultValue: true, + onChange: onChangeRestartApp + }, + { + id: "Comfy-Desktop.SendStatistics", + category: ["Comfy-Desktop", "General", "Send Statistics"], + name: "Send anonymous crash reports", + type: "boolean", + defaultValue: true, + onChange: onChangeRestartApp + } + ], + commands: [ + { + id: "Comfy-Desktop.Folders.OpenLogsFolder", + label: "Open Logs Folder", + icon: "pi pi-folder-open", + function() { + electronAPI$1.openLogsFolder(); + } + }, + { + id: "Comfy-Desktop.Folders.OpenModelsFolder", + label: "Open Models Folder", + icon: "pi pi-folder-open", + function() { + electronAPI$1.openModelsFolder(); + } + }, + { + id: "Comfy-Desktop.Folders.OpenOutputsFolder", + label: "Open Outputs Folder", + icon: "pi pi-folder-open", + function() { + electronAPI$1.openOutputsFolder(); + } + }, + { + id: "Comfy-Desktop.Folders.OpenInputsFolder", + label: "Open Inputs Folder", + icon: "pi pi-folder-open", + function() { + electronAPI$1.openInputsFolder(); + } + }, + { + id: "Comfy-Desktop.Folders.OpenCustomNodesFolder", + label: "Open Custom Nodes Folder", + icon: "pi pi-folder-open", + function() { + electronAPI$1.openCustomNodesFolder(); + } + }, + { + id: "Comfy-Desktop.Folders.OpenModelConfig", + label: "Open extra_model_paths.yaml", + icon: "pi pi-file", + function() { + electronAPI$1.openModelConfig(); + } + }, + { + id: "Comfy-Desktop.OpenDevTools", + label: "Open DevTools", + icon: "pi pi-code", + function() { + electronAPI$1.openDevTools(); + } + }, + { + id: "Comfy-Desktop.OpenFeedbackPage", + label: "Feedback", + icon: "pi pi-envelope", + function() { + window.open("https://forum.comfy.org/c/v1-feedback/", "_blank"); + } + }, + { + id: "Comfy-Desktop.OpenUserGuide", + label: "Desktop User Guide", + icon: "pi pi-book", + function() { + window.open("https://comfyorg.notion.site/", "_blank"); + } + }, + { + id: "Comfy-Desktop.Reinstall", + label: "Reinstall", + icon: "pi pi-refresh", + async function() { + const proceed = await useDialogService().confirm({ + message: t("desktopMenu.confirmReinstall"), + title: t("desktopMenu.reinstall"), + type: "reinstall" + }); + if (proceed) electronAPI$1.reinstall(); + } + }, + { + id: "Comfy-Desktop.Restart", + label: "Restart", + icon: "pi pi-refresh", + function() { + electronAPI$1.restartApp(); + } + } + ], + menuCommands: [ + { + path: ["Help"], + commands: [ + "Comfy-Desktop.OpenUserGuide", + "Comfy-Desktop.OpenFeedbackPage" + ] + }, + { + path: ["Help"], + commands: ["Comfy-Desktop.OpenDevTools"] + }, + { + path: ["Help", "Open Folder"], + commands: [ + "Comfy-Desktop.Folders.OpenLogsFolder", + "Comfy-Desktop.Folders.OpenModelsFolder", + "Comfy-Desktop.Folders.OpenOutputsFolder", + "Comfy-Desktop.Folders.OpenInputsFolder", + "Comfy-Desktop.Folders.OpenCustomNodesFolder", + "Comfy-Desktop.Folders.OpenModelConfig" + ] + }, + { + path: ["Help"], + commands: ["Comfy-Desktop.Reinstall"] + } + ], + aboutPageBadges: [ + { + label: "ComfyUI_desktop v" + desktopAppVersion, + url: "https://github.com/Comfy-Org/electron", + icon: "pi pi-github" + } + ] + }); +})(); +const ORDER = Symbol(); +const PREFIX$1 = "workflow"; +const SEPARATOR$1 = ">"; +function merge(target, source) { + if (typeof target === "object" && typeof source === "object") { + for (const key in source) { + const sv = source[key]; + if (typeof sv === "object") { + let tv = target[key]; + if (!tv) tv = target[key] = {}; + merge(tv, source[key]); + } else { + target[key] = sv; + } + } + } + return target; +} +__name(merge, "merge"); +class ManageGroupDialog extends ComfyDialog { + static { + __name(this, "ManageGroupDialog"); + } + tabs; + selectedNodeIndex; + selectedTab = "Inputs"; + selectedGroup; + modifications = {}; + nodeItems; + app; + groupNodeType; + groupNodeDef; + groupData; + innerNodesList; + widgetsPage; + inputsPage; + outputsPage; + draggable; + get selectedNodeInnerIndex() { + return +this.nodeItems[this.selectedNodeIndex].dataset.nodeindex; + } + constructor(app2) { + super(); + this.app = app2; + this.element = $el("dialog.comfy-group-manage", { + parent: document.body + }); + } + changeTab(tab) { + this.tabs[this.selectedTab].tab.classList.remove("active"); + this.tabs[this.selectedTab].page.classList.remove("active"); + this.tabs[tab].tab.classList.add("active"); + this.tabs[tab].page.classList.add("active"); + this.selectedTab = tab; + } + changeNode(index, force) { + if (!force && this.selectedNodeIndex === index) return; + if (this.selectedNodeIndex != null) { + this.nodeItems[this.selectedNodeIndex].classList.remove("selected"); + } + this.nodeItems[index].classList.add("selected"); + this.selectedNodeIndex = index; + if (!this.buildInputsPage() && this.selectedTab === "Inputs") { + this.changeTab("Widgets"); + } + if (!this.buildWidgetsPage() && this.selectedTab === "Widgets") { + this.changeTab("Outputs"); + } + if (!this.buildOutputsPage() && this.selectedTab === "Outputs") { + this.changeTab("Inputs"); + } + this.changeTab(this.selectedTab); + } + getGroupData() { + this.groupNodeType = LiteGraph.registered_node_types[`${PREFIX$1}${SEPARATOR$1}` + this.selectedGroup]; + this.groupNodeDef = this.groupNodeType.nodeData; + this.groupData = GroupNodeHandler.getGroupData(this.groupNodeType); + } + changeGroup(group, reset = true) { + this.selectedGroup = group; + this.getGroupData(); + const nodes = this.groupData.nodeData.nodes; + this.nodeItems = nodes.map( + (n, i) => $el( + "li.draggable-item", + { + dataset: { + nodeindex: n.index + "" + }, + onclick: /* @__PURE__ */ __name(() => { + this.changeNode(i); + }, "onclick") + }, + [ + $el("span.drag-handle"), + $el( + "div", + { + textContent: n.title ?? n.type + }, + n.title ? $el("span", { + textContent: n.type + }) : [] + ) + ] + ) + ); + this.innerNodesList.replaceChildren(...this.nodeItems); + if (reset) { + this.selectedNodeIndex = null; + this.changeNode(0); + } else { + const items = this.draggable.getAllItems(); + let index = items.findIndex((item) => item.classList.contains("selected")); + if (index === -1) index = this.selectedNodeIndex; + this.changeNode(index, true); + } + const ordered = [...nodes]; + this.draggable?.dispose(); + this.draggable = new DraggableList(this.innerNodesList, "li"); + this.draggable.addEventListener( + "dragend", + ({ detail: { oldPosition, newPosition } }) => { + if (oldPosition === newPosition) return; + ordered.splice(newPosition, 0, ordered.splice(oldPosition, 1)[0]); + for (let i = 0; i < ordered.length; i++) { + this.storeModification({ + nodeIndex: ordered[i].index, + section: ORDER, + prop: "order", + value: i + }); + } + } + ); + } + storeModification(props) { + const { nodeIndex, section, prop, value } = props; + const groupMod = this.modifications[this.selectedGroup] ??= {}; + const nodesMod = groupMod.nodes ??= {}; + const nodeMod = nodesMod[nodeIndex ?? this.selectedNodeInnerIndex] ??= {}; + const typeMod = nodeMod[section] ??= {}; + if (typeof value === "object") { + const objMod = typeMod[prop] ??= {}; + Object.assign(objMod, value); + } else { + typeMod[prop] = value; + } + } + getEditElement(section, prop, value, placeholder, checked, checkable = true) { + if (value === placeholder) value = ""; + const mods = this.modifications[this.selectedGroup]?.nodes?.[this.selectedNodeInnerIndex]?.[section]?.[prop]; + if (mods) { + if (mods.name != null) { + value = mods.name; + } + if (mods.visible != null) { + checked = mods.visible; + } + } + return $el("div", [ + $el("input", { + value, + placeholder, + type: "text", + onchange: /* @__PURE__ */ __name((e) => { + this.storeModification({ + section, + prop, + value: { name: e.target.value } + }); + }, "onchange") + }), + $el("label", { textContent: "Visible" }, [ + $el("input", { + type: "checkbox", + checked, + disabled: !checkable, + onchange: /* @__PURE__ */ __name((e) => { + this.storeModification({ + section, + prop, + value: { visible: !!e.target.checked } + }); + }, "onchange") + }) + ]) + ]); + } + buildWidgetsPage() { + const widgets = this.groupData.oldToNewWidgetMap[this.selectedNodeInnerIndex]; + const items = Object.keys(widgets ?? {}); + const type = app.graph.extra.groupNodes[this.selectedGroup]; + const config = type.config?.[this.selectedNodeInnerIndex]?.input; + this.widgetsPage.replaceChildren( + ...items.map((oldName) => { + return this.getEditElement( + "input", + oldName, + widgets[oldName], + oldName, + config?.[oldName]?.visible !== false + ); + }) + ); + return !!items.length; + } + buildInputsPage() { + const inputs = this.groupData.nodeInputs[this.selectedNodeInnerIndex]; + const items = Object.keys(inputs ?? {}); + const type = app.graph.extra.groupNodes[this.selectedGroup]; + const config = type.config?.[this.selectedNodeInnerIndex]?.input; + this.inputsPage.replaceChildren( + ...items.map((oldName) => { + let value = inputs[oldName]; + if (!value) { + return; + } + return this.getEditElement( + "input", + oldName, + value, + oldName, + config?.[oldName]?.visible !== false + ); + }).filter(Boolean) + ); + return !!items.length; + } + buildOutputsPage() { + const nodes = this.groupData.nodeData.nodes; + const innerNodeDef = this.groupData.getNodeDef( + nodes[this.selectedNodeInnerIndex] + ); + const outputs = innerNodeDef?.output ?? []; + const groupOutputs = this.groupData.oldToNewOutputMap[this.selectedNodeInnerIndex]; + const type = app.graph.extra.groupNodes[this.selectedGroup]; + const config = type.config?.[this.selectedNodeInnerIndex]?.output; + const node = this.groupData.nodeData.nodes[this.selectedNodeInnerIndex]; + const checkable = node.type !== "PrimitiveNode"; + this.outputsPage.replaceChildren( + ...outputs.map((type2, slot) => { + const groupOutputIndex = groupOutputs?.[slot]; + const oldName = innerNodeDef.output_name?.[slot] ?? type2; + let value = config?.[slot]?.name; + const visible = config?.[slot]?.visible || groupOutputIndex != null; + if (!value || value === oldName) { + value = ""; + } + return this.getEditElement( + "output", + slot, + value, + oldName, + visible, + checkable + ); + }).filter(Boolean) + ); + return !!outputs.length; + } + show(type) { + const groupNodes = Object.keys(app.graph.extra?.groupNodes ?? {}).sort( + (a, b) => a.localeCompare(b) + ); + this.innerNodesList = $el( + "ul.comfy-group-manage-list-items" + ); + this.widgetsPage = $el("section.comfy-group-manage-node-page"); + this.inputsPage = $el("section.comfy-group-manage-node-page"); + this.outputsPage = $el("section.comfy-group-manage-node-page"); + const pages = $el("div", [ + this.widgetsPage, + this.inputsPage, + this.outputsPage + ]); + this.tabs = [ + ["Inputs", this.inputsPage], + ["Widgets", this.widgetsPage], + ["Outputs", this.outputsPage] + ].reduce((p, [name, page]) => { + p[name] = { + tab: $el("a", { + onclick: /* @__PURE__ */ __name(() => { + this.changeTab(name); + }, "onclick"), + textContent: name + }), + page + }; + return p; + }, {}); + const outer = $el("div.comfy-group-manage-outer", [ + $el("header", [ + $el("h2", "Group Nodes"), + $el( + "select", + { + onchange: /* @__PURE__ */ __name((e) => { + this.changeGroup(e.target.value); + }, "onchange") + }, + groupNodes.map( + (g) => $el("option", { + textContent: g, + selected: `${PREFIX$1}${SEPARATOR$1}${g}` === type, + value: g + }) + ) + ) + ]), + $el("main", [ + $el("section.comfy-group-manage-list", this.innerNodesList), + $el("section.comfy-group-manage-node", [ + $el( + "header", + Object.values(this.tabs).map((t2) => t2.tab) + ), + pages + ]) + ]), + $el("footer", [ + $el( + "button.comfy-btn", + { + onclick: /* @__PURE__ */ __name((e) => { + const node = app.graph.nodes.find( + (n) => n.type === `${PREFIX$1}${SEPARATOR$1}` + this.selectedGroup + ); + if (node) { + useToastStore().addAlert( + "This group node is in use in the current workflow, please first remove these." + ); + return; + } + if (confirm( + `Are you sure you want to remove the node: "${this.selectedGroup}"` + )) { + delete app.graph.extra.groupNodes[this.selectedGroup]; + LiteGraph.unregisterNodeType( + `${PREFIX$1}${SEPARATOR$1}` + this.selectedGroup + ); + } + this.show(); + }, "onclick") + }, + "Delete Group Node" + ), + $el( + "button.comfy-btn", + { + onclick: /* @__PURE__ */ __name(async () => { + let nodesByType; + let recreateNodes = []; + const types = {}; + for (const g in this.modifications) { + const type2 = app.graph.extra.groupNodes[g]; + let config = type2.config ??= {}; + let nodeMods = this.modifications[g]?.nodes; + if (nodeMods) { + const keys = Object.keys(nodeMods); + if (nodeMods[keys[0]][ORDER]) { + const orderedNodes = []; + const orderedMods = {}; + const orderedConfig = {}; + for (const n of keys) { + const order = nodeMods[n][ORDER].order; + orderedNodes[order] = type2.nodes[+n]; + orderedMods[order] = nodeMods[n]; + orderedNodes[order].index = order; + } + for (const l of type2.links) { + if (l[0] != null) l[0] = type2.nodes[l[0]].index; + if (l[2] != null) l[2] = type2.nodes[l[2]].index; + } + if (type2.external) { + for (const ext2 of type2.external) { + ext2[0] = type2.nodes[ext2[0]]; + } + } + for (const id2 of keys) { + if (config[id2]) { + orderedConfig[type2.nodes[id2].index] = config[id2]; + } + delete config[id2]; + } + type2.nodes = orderedNodes; + nodeMods = orderedMods; + type2.config = config = orderedConfig; + } + merge(config, nodeMods); + } + types[g] = type2; + if (!nodesByType) { + nodesByType = app.graph.nodes.reduce((p, n) => { + p[n.type] ??= []; + p[n.type].push(n); + return p; + }, {}); + } + const nodes = nodesByType[`${PREFIX$1}${SEPARATOR$1}` + g]; + if (nodes) recreateNodes.push(...nodes); + } + await GroupNodeConfig.registerFromWorkflow(types, {}); + for (const node of recreateNodes) { + node.recreate(); + } + this.modifications = {}; + this.app.graph.setDirtyCanvas(true, true); + this.changeGroup(this.selectedGroup, false); + }, "onclick") + }, + "Save" + ), + $el( + "button.comfy-btn", + { onclick: /* @__PURE__ */ __name(() => this.element.close(), "onclick") }, + "Close" + ) + ]) + ]); + this.element.replaceChildren(outer); + this.changeGroup( + type ? groupNodes.find((g) => `${PREFIX$1}${SEPARATOR$1}${g}` === type) ?? groupNodes[0] : groupNodes[0] + ); + this.element.showModal(); + this.element.addEventListener("close", () => { + this.draggable?.dispose(); + this.element.remove(); + }); + } +} +window.comfyAPI = window.comfyAPI || {}; +window.comfyAPI.groupNodeManage = window.comfyAPI.groupNodeManage || {}; +window.comfyAPI.groupNodeManage.ManageGroupDialog = ManageGroupDialog; +const CONVERTED_TYPE = "converted-widget"; +const VALID_TYPES = [ + "STRING", + "combo", + "number", + "toggle", + "BOOLEAN", + "text", + "string" +]; +const CONFIG = Symbol(); +const GET_CONFIG = Symbol(); +const TARGET = Symbol(); +const replacePropertyName = "Run widget replace on values"; +class PrimitiveNode extends LGraphNode { + static { + __name(this, "PrimitiveNode"); + } + controlValues; + lastType; + static category; + constructor(title) { + super(title); + this.addOutput("connect to widget input", "*"); + this.serialize_widgets = true; + this.isVirtualNode = true; + if (!this.properties || !(replacePropertyName in this.properties)) { + this.addProperty(replacePropertyName, false, "boolean"); + } + } + applyToGraph(extraLinks = []) { + if (!this.outputs[0].links?.length) return; + function get_links(node) { + let links2 = []; + for (const l of node.outputs[0].links) { + const linkInfo = app.graph.links[l]; + const n = node.graph.getNodeById(linkInfo.target_id); + if (n.type == "Reroute") { + links2 = links2.concat(get_links(n)); + } else { + links2.push(l); + } + } + return links2; + } + __name(get_links, "get_links"); + let links = [ + ...get_links(this).map((l) => app.graph.links[l]), + ...extraLinks + ]; + let v = this.widgets?.[0].value; + if (v && this.properties[replacePropertyName]) { + v = applyTextReplacements(app, v); + } + for (const linkInfo of links) { + const node = this.graph.getNodeById(linkInfo.target_id); + const input = node.inputs[linkInfo.target_slot]; + let widget; + if (input.widget[TARGET]) { + widget = input.widget[TARGET]; + } else { + const widgetName = input.widget.name; + if (widgetName) { + widget = node.widgets.find((w) => w.name === widgetName); + } + } + if (widget) { + widget.value = v; + if (widget.callback) { + widget.callback( + widget.value, + app.canvas, + node, + app.canvas.graph_mouse, + {} + ); + } + } + } + } + refreshComboInNode() { + const widget = this.widgets?.[0]; + if (widget?.type === "combo") { + widget.options.values = this.outputs[0].widget[GET_CONFIG]()[0]; + if (!widget.options.values.includes(widget.value)) { + widget.value = widget.options.values[0]; + widget.callback(widget.value); + } + } + } + onAfterGraphConfigured() { + if (this.outputs[0].links?.length && !this.widgets?.length) { + if (!this.#onFirstConnection()) return; + if (this.widgets) { + for (let i = 0; i < this.widgets_values.length; i++) { + const w = this.widgets[i]; + if (w) { + w.value = this.widgets_values[i]; + } + } + } + this.#mergeWidgetConfig(); + } + } + onConnectionsChange(_, index, connected) { + if (app.configuringGraph) { + return; + } + const links = this.outputs[0].links; + if (connected) { + if (links?.length && !this.widgets?.length) { + this.#onFirstConnection(); + } + } else { + this.#mergeWidgetConfig(); + if (!links?.length) { + this.onLastDisconnect(); + } + } + } + onConnectOutput(slot, type, input, target_node, target_slot) { + if (!input.widget) { + if (!(input.type in ComfyWidgets)) return false; + } + if (this.outputs[slot].links?.length) { + const valid = this.#isValidConnection(input); + if (valid) { + this.applyToGraph([{ target_id: target_node.id, target_slot }]); + } + return valid; + } + } + #onFirstConnection(recreating) { + if (!this.outputs[0].links) { + this.onLastDisconnect(); + return; + } + const linkId = this.outputs[0].links[0]; + const link = this.graph.links[linkId]; + if (!link) return; + const theirNode = this.graph.getNodeById(link.target_id); + if (!theirNode || !theirNode.inputs) return; + const input = theirNode.inputs[link.target_slot]; + if (!input) return; + let widget; + if (!input.widget) { + if (!(input.type in ComfyWidgets)) return; + widget = { name: input.name, [GET_CONFIG]: () => [input.type, {}] }; + } else { + widget = input.widget; + } + const config = widget[GET_CONFIG]?.(); + if (!config) return; + const { type } = getWidgetType(config); + this.outputs[0].type = type; + this.outputs[0].name = type; + this.outputs[0].widget = widget; + this.#createWidget( + widget[CONFIG] ?? config, + theirNode, + widget.name, + recreating, + widget[TARGET] + ); + } + #createWidget(inputData, node, widgetName, recreating, targetWidget) { + let type = inputData[0]; + if (type instanceof Array) { + type = "COMBO"; + } + const [oldWidth, oldHeight] = this.size; + let widget; + if (type in ComfyWidgets) { + widget = (ComfyWidgets[type](this, "value", inputData, app) || {}).widget; + } else { + widget = this.addWidget(type, "value", null, () => { + }, {}); + } + if (targetWidget) { + widget.value = targetWidget.value; + } else if (node?.widgets && widget) { + const theirWidget = node.widgets.find((w) => w.name === widgetName); + if (theirWidget) { + widget.value = theirWidget.value; + } + } + if (!inputData?.[1]?.control_after_generate && (widget.type === "number" || widget.type === "combo")) { + let control_value = this.widgets_values?.[1]; + if (!control_value) { + control_value = "fixed"; + } + addValueControlWidgets( + this, + widget, + control_value, + void 0, + inputData + ); + let filter = this.widgets_values?.[2]; + if (filter && this.widgets.length === 3) { + this.widgets[2].value = filter; + } + } + const controlValues = this.controlValues; + if (this.lastType === this.widgets[0].type && controlValues?.length === this.widgets.length - 1) { + for (let i = 0; i < controlValues.length; i++) { + this.widgets[i + 1].value = controlValues[i]; + } + } + const callback = widget.callback; + const self2 = this; + widget.callback = function() { + const r = callback ? callback.apply(this, arguments) : void 0; + self2.applyToGraph(); + return r; + }; + this.size = [ + Math.max(this.size[0], oldWidth), + Math.max(this.size[1], oldHeight) + ]; + if (!recreating) { + const sz = this.computeSize(); + if (this.size[0] < sz[0]) { + this.size[0] = sz[0]; + } + if (this.size[1] < sz[1]) { + this.size[1] = sz[1]; + } + requestAnimationFrame(() => { + if (this.onResize) { + this.onResize(this.size); + } + }); + } + } + recreateWidget() { + const values = this.widgets?.map((w) => w.value); + this.#removeWidgets(); + this.#onFirstConnection(true); + if (values?.length) { + for (let i = 0; i < this.widgets?.length; i++) + this.widgets[i].value = values[i]; + } + return this.widgets?.[0]; + } + #mergeWidgetConfig() { + const output = this.outputs[0]; + const links = output.links; + const hasConfig = !!output.widget[CONFIG]; + if (hasConfig) { + delete output.widget[CONFIG]; + } + if (links?.length < 2 && hasConfig) { + if (links.length) { + this.recreateWidget(); + } + return; + } + const config1 = output.widget[GET_CONFIG](); + const isNumber = config1[0] === "INT" || config1[0] === "FLOAT"; + if (!isNumber) return; + for (const linkId of links) { + const link = app.graph.links[linkId]; + if (!link) continue; + const theirNode = app.graph.getNodeById(link.target_id); + const theirInput = theirNode.inputs[link.target_slot]; + this.#isValidConnection(theirInput, hasConfig); + } + } + isValidWidgetLink(originSlot, targetNode, targetWidget) { + const config2 = getConfig.call(targetNode, targetWidget.name) ?? [ + targetWidget.type, + targetWidget.options || {} + ]; + if (!isConvertibleWidget(targetWidget, config2)) return false; + const output = this.outputs[originSlot]; + if (!(output.widget?.[CONFIG] ?? output.widget?.[GET_CONFIG]())) { + return true; + } + return !!mergeIfValid.call(this, output, config2); + } + #isValidConnection(input, forceUpdate) { + const output = this.outputs[0]; + const config2 = input.widget[GET_CONFIG](); + return !!mergeIfValid.call( + this, + output, + config2, + forceUpdate, + this.recreateWidget + ); + } + #removeWidgets() { + if (this.widgets) { + for (const w of this.widgets) { + if (w.onRemove) { + w.onRemove(); + } + } + this.controlValues = []; + this.lastType = this.widgets[0]?.type; + for (let i = 1; i < this.widgets.length; i++) { + this.controlValues.push(this.widgets[i].value); + } + setTimeout(() => { + delete this.lastType; + delete this.controlValues; + }, 15); + this.widgets.length = 0; + } + } + onLastDisconnect() { + this.outputs[0].type = "*"; + this.outputs[0].name = "connect to widget input"; + delete this.outputs[0].widget; + this.#removeWidgets(); + } +} +function getWidgetConfig(slot) { + return slot.widget[CONFIG] ?? slot.widget[GET_CONFIG]?.() ?? ["*", {}]; +} +__name(getWidgetConfig, "getWidgetConfig"); +function getConfig(widgetName) { + const { nodeData } = this.constructor; + return nodeData?.input?.required?.[widgetName] ?? nodeData?.input?.optional?.[widgetName]; +} +__name(getConfig, "getConfig"); +function isConvertibleWidget(widget, config) { + return (VALID_TYPES.includes(widget.type) || VALID_TYPES.includes(config[0])) && !widget.options?.forceInput; +} +__name(isConvertibleWidget, "isConvertibleWidget"); +function hideWidget(node, widget, suffix = "") { + if (widget.type?.startsWith(CONVERTED_TYPE)) return; + widget.origType = widget.type; + widget.origComputeSize = widget.computeSize; + widget.origSerializeValue = widget.serializeValue; + widget.computeSize = () => [0, -4]; + widget.type = CONVERTED_TYPE + suffix; + widget.serializeValue = () => { + if (!node.inputs) { + return void 0; + } + let node_input = node.inputs.find((i) => i.widget?.name === widget.name); + if (!node_input || !node_input.link) { + return void 0; + } + return widget.origSerializeValue ? widget.origSerializeValue() : widget.value; + }; + if (widget.linkedWidgets) { + for (const w of widget.linkedWidgets) { + hideWidget(node, w, ":" + widget.name); + } + } +} +__name(hideWidget, "hideWidget"); +function showWidget(widget) { + widget.type = widget.origType; + widget.computeSize = widget.origComputeSize; + widget.serializeValue = widget.origSerializeValue; + delete widget.origType; + delete widget.origComputeSize; + delete widget.origSerializeValue; + if (widget.linkedWidgets) { + for (const w of widget.linkedWidgets) { + showWidget(w); + } + } +} +__name(showWidget, "showWidget"); +function convertToInput(node, widget, config) { + hideWidget(node, widget); + const { type } = getWidgetType(config); + const [oldWidth, oldHeight] = node.size; + const inputIsOptional = !!widget.options?.inputIsOptional; + const input = node.addInput(widget.name, type, { + widget: { name: widget.name, [GET_CONFIG]: () => config }, + ...inputIsOptional ? { shape: LiteGraph.SlotShape.HollowCircle } : {} + }); + for (const widget2 of node.widgets) { + widget2.last_y += LiteGraph.NODE_SLOT_HEIGHT; + } + node.setSize([ + Math.max(oldWidth, node.size[0]), + Math.max(oldHeight, node.size[1]) + ]); + return input; +} +__name(convertToInput, "convertToInput"); +function convertToWidget(node, widget) { + showWidget(widget); + const [oldWidth, oldHeight] = node.size; + node.removeInput(node.inputs.findIndex((i) => i.widget?.name === widget.name)); + for (const widget2 of node.widgets) { + widget2.last_y -= LiteGraph.NODE_SLOT_HEIGHT; + } + node.setSize([ + Math.max(oldWidth, node.size[0]), + Math.max(oldHeight, node.size[1]) + ]); +} +__name(convertToWidget, "convertToWidget"); +function getWidgetType(config) { + let type = config[0]; + if (type instanceof Array) { + type = "COMBO"; + } + return { type }; +} +__name(getWidgetType, "getWidgetType"); +function isValidCombo(combo, obj) { + if (!(obj instanceof Array)) { + console.log(`connection rejected: tried to connect combo to ${obj}`); + return false; + } + if (combo.length !== obj.length) { + console.log(`connection rejected: combo lists dont match`); + return false; + } + if (combo.find((v, i) => obj[i] !== v)) { + console.log(`connection rejected: combo lists dont match`); + return false; + } + return true; +} +__name(isValidCombo, "isValidCombo"); +function isPrimitiveNode(node) { + return node.type === "PrimitiveNode"; +} +__name(isPrimitiveNode, "isPrimitiveNode"); +function setWidgetConfig(slot, config, target) { + if (!slot.widget) return; + if (config) { + slot.widget[GET_CONFIG] = () => config; + slot.widget[TARGET] = target; + } else { + delete slot.widget; + } + if (slot.link) { + const link = app.graph.links[slot.link]; + if (link) { + const originNode = app.graph.getNodeById(link.origin_id); + if (isPrimitiveNode(originNode)) { + if (config) { + originNode.recreateWidget(); + } else if (!app.configuringGraph) { + originNode.disconnectOutput(0); + originNode.onLastDisconnect(); + } + } + } + } +} +__name(setWidgetConfig, "setWidgetConfig"); +function mergeIfValid(output, config2, forceUpdate, recreateWidget, config1) { + if (!config1) { + config1 = getWidgetConfig(output); + } + if (config1[0] instanceof Array) { + if (!isValidCombo(config1[0], config2[0])) return; + } else if (config1[0] !== config2[0]) { + console.log(`connection rejected: types dont match`, config1[0], config2[0]); + return; + } + const keys = /* @__PURE__ */ new Set([ + ...Object.keys(config1[1] ?? {}), + ...Object.keys(config2[1] ?? {}) + ]); + let customConfig; + const getCustomConfig = /* @__PURE__ */ __name(() => { + if (!customConfig) { + if (typeof structuredClone === "undefined") { + customConfig = JSON.parse(JSON.stringify(config1[1] ?? {})); + } else { + customConfig = structuredClone(config1[1] ?? {}); + } + } + return customConfig; + }, "getCustomConfig"); + const isNumber = config1[0] === "INT" || config1[0] === "FLOAT"; + for (const k of keys.values()) { + if (k !== "default" && k !== "forceInput" && k !== "defaultInput" && k !== "control_after_generate" && k !== "multiline" && k !== "tooltip" && k !== "dynamicPrompts") { + let v1 = config1[1][k]; + let v2 = config2[1]?.[k]; + if (v1 === v2 || !v1 && !v2) continue; + if (isNumber) { + if (k === "min") { + const theirMax = config2[1]?.["max"]; + if (theirMax != null && v1 > theirMax) { + console.log("connection rejected: min > max", v1, theirMax); + return; + } + getCustomConfig()[k] = v1 == null ? v2 : v2 == null ? v1 : Math.max(v1, v2); + continue; + } else if (k === "max") { + const theirMin = config2[1]?.["min"]; + if (theirMin != null && v1 < theirMin) { + console.log("connection rejected: max < min", v1, theirMin); + return; + } + getCustomConfig()[k] = v1 == null ? v2 : v2 == null ? v1 : Math.min(v1, v2); + continue; + } else if (k === "step") { + let step; + if (v1 == null) { + step = v2; + } else if (v2 == null) { + step = v1; + } else { + if (v1 < v2) { + const a = v2; + v2 = v1; + v1 = a; + } + if (v1 % v2) { + console.log( + "connection rejected: steps not divisible", + "current:", + v1, + "new:", + v2 + ); + return; + } + step = v1; + } + getCustomConfig()[k] = step; + continue; + } + } + console.log(`connection rejected: config ${k} values dont match`, v1, v2); + return; + } + } + if (customConfig || forceUpdate) { + if (customConfig) { + output.widget[CONFIG] = [config1[0], customConfig]; + } + const widget = recreateWidget?.call(this); + if (widget) { + const min = widget.options.min; + const max2 = widget.options.max; + if (min != null && widget.value < min) widget.value = min; + if (max2 != null && widget.value > max2) widget.value = max2; + widget.callback(widget.value); + } + } + return { customConfig }; +} +__name(mergeIfValid, "mergeIfValid"); +let useConversionSubmenusSetting; +app.registerExtension({ + name: "Comfy.WidgetInputs", + init() { + useConversionSubmenusSetting = app.ui.settings.addSetting({ + id: "Comfy.NodeInputConversionSubmenus", + name: "In the node context menu, place the entries that convert between input/widget in sub-menus.", + type: "boolean", + defaultValue: true + }); + }, + setup() { + app.canvas.getWidgetLinkType = function(widget, node) { + const nodeDefStore = useNodeDefStore(); + const nodeDef = nodeDefStore.nodeDefsByName[node.type]; + const input = nodeDef.inputs.getInput(widget.name); + return input?.type; + }; + document.addEventListener( + "litegraph:canvas", + async (e) => { + if (e.detail.subType === "connectingWidgetLink") { + const { node, link, widget } = e.detail; + if (!node || !link || !widget) return; + const nodeData = node.constructor.nodeData; + if (!nodeData) return; + const all = { + ...nodeData?.input?.required, + ...nodeData?.input?.optional + }; + const inputSpec = all[widget.name]; + if (!inputSpec) return; + const input = convertToInput(node, widget, inputSpec); + if (!input) return; + const originNode = link.node; + originNode.connect(link.slot, node, node.inputs.lastIndexOf(input)); + } + } + ); + }, + async beforeRegisterNodeDef(nodeType, nodeData, app2) { + const origGetExtraMenuOptions = nodeType.prototype.getExtraMenuOptions; + nodeType.prototype.convertWidgetToInput = function(widget) { + const config = getConfig.call(this, widget.name) ?? [ + widget.type, + widget.options || {} + ]; + if (!isConvertibleWidget(widget, config)) return false; + if (widget.type?.startsWith(CONVERTED_TYPE)) return false; + convertToInput(this, widget, config); + return true; + }; + nodeType.prototype.getExtraMenuOptions = function(_, options) { + const r = origGetExtraMenuOptions ? origGetExtraMenuOptions.apply(this, arguments) : void 0; + if (this.widgets) { + let toInput = []; + let toWidget = []; + for (const w of this.widgets) { + if (w.options?.forceInput) { + continue; + } + if (w.type === CONVERTED_TYPE) { + toWidget.push({ + // @ts-expect-error never + content: `Convert ${w.name} to widget`, + callback: /* @__PURE__ */ __name(() => convertToWidget(this, w), "callback") + }); + } else { + const config = getConfig.call(this, w.name) ?? [ + w.type, + w.options || {} + ]; + if (isConvertibleWidget(w, config)) { + toInput.push({ + content: `Convert ${w.name} to input`, + callback: /* @__PURE__ */ __name(() => convertToInput(this, w, config), "callback") + }); + } + } + } + if (toInput.length) { + if (useConversionSubmenusSetting.value) { + options.push({ + content: "Convert Widget to Input", + submenu: { + options: toInput + } + }); + } else { + options.push(...toInput, null); + } + } + if (toWidget.length) { + if (useConversionSubmenusSetting.value) { + options.push({ + content: "Convert Input to Widget", + submenu: { + options: toWidget + } + }); + } else { + options.push(...toWidget, null); + } + } + } + return r; + }; + nodeType.prototype.onGraphConfigured = function() { + if (!this.inputs) return; + this.widgets ??= []; + for (const input of this.inputs) { + if (input.widget) { + if (!input.widget[GET_CONFIG]) { + input.widget[GET_CONFIG] = () => getConfig.call(this, input.widget.name); + } + if (input.widget.config) { + if (input.widget.config[0] instanceof Array) { + input.type = "COMBO"; + const link = app2.graph.links[input.link]; + if (link) { + link.type = input.type; + } + } + delete input.widget.config; + } + const w = this.widgets.find((w2) => w2.name === input.widget.name); + if (w) { + hideWidget(this, w); + } else { + convertToWidget(this, input); + } + } + } + }; + const origOnNodeCreated = nodeType.prototype.onNodeCreated; + nodeType.prototype.onNodeCreated = function() { + const r = origOnNodeCreated ? origOnNodeCreated.apply(this) : void 0; + if (!app2.configuringGraph && this.widgets) { + for (const w of this.widgets) { + if (w?.options?.forceInput || w?.options?.defaultInput) { + const config = getConfig.call(this, w.name) ?? [ + w.type, + w.options || {} + ]; + convertToInput(this, w, config); + } + } + } + return r; + }; + const origOnConfigure = nodeType.prototype.onConfigure; + nodeType.prototype.onConfigure = function() { + const r = origOnConfigure ? origOnConfigure.apply(this, arguments) : void 0; + if (!app2.configuringGraph && this.inputs) { + for (const input of this.inputs) { + if (input.widget && !input.widget[GET_CONFIG]) { + input.widget[GET_CONFIG] = () => ( + // @ts-expect-error input.widget has unknown type + getConfig.call(this, input.widget.name) + ); + const w = this.widgets.find((w2) => w2.name === input.widget.name); + if (w) { + hideWidget(this, w); + } + } + } + } + return r; + }; + function isNodeAtPos(pos) { + for (const n of app2.graph.nodes) { + if (n.pos[0] === pos[0] && n.pos[1] === pos[1]) { + return true; + } + } + return false; + } + __name(isNodeAtPos, "isNodeAtPos"); + const origOnInputDblClick = nodeType.prototype.onInputDblClick; + const ignoreDblClick = Symbol(); + nodeType.prototype.onInputDblClick = function(slot) { + const r = origOnInputDblClick ? origOnInputDblClick.apply(this, arguments) : void 0; + const input = this.inputs[slot]; + if (!input.widget || !input[ignoreDblClick]) { + if (!(input.type in ComfyWidgets) && !(input.widget?.[GET_CONFIG]?.()?.[0] instanceof Array)) { + return r; + } + } + const node = LiteGraph.createNode("PrimitiveNode"); + app2.graph.add(node); + const pos = [ + this.pos[0] - node.size[0] - 30, + this.pos[1] + ]; + while (isNodeAtPos(pos)) { + pos[1] += LiteGraph.NODE_TITLE_HEIGHT; + } + node.pos = pos; + node.connect(0, this, slot); + node.title = input.name; + input[ignoreDblClick] = true; + setTimeout(() => { + delete input[ignoreDblClick]; + }, 300); + return r; + }; + const onConnectInput = nodeType.prototype.onConnectInput; + nodeType.prototype.onConnectInput = function(targetSlot, type, output, originNode, originSlot) { + const v = onConnectInput?.(this, arguments); + if (type !== "COMBO") return v; + if (originNode.outputs[originSlot].widget) return v; + const targetCombo = this.inputs[targetSlot].widget?.[GET_CONFIG]?.()?.[0]; + if (!targetCombo || !(targetCombo instanceof Array)) return v; + const originConfig = originNode.constructor?.nodeData?.output?.[originSlot]; + if (!originConfig || !isValidCombo(targetCombo, originConfig)) { + return false; + } + return v; + }; + }, + registerCustomNodes() { + LiteGraph.registerNodeType( + "PrimitiveNode", + Object.assign(PrimitiveNode, { + title: "Primitive" + }) + ); + PrimitiveNode.category = "utils"; + } +}); +window.comfyAPI = window.comfyAPI || {}; +window.comfyAPI.widgetInputs = window.comfyAPI.widgetInputs || {}; +window.comfyAPI.widgetInputs.getWidgetConfig = getWidgetConfig; +window.comfyAPI.widgetInputs.convertToInput = convertToInput; +window.comfyAPI.widgetInputs.setWidgetConfig = setWidgetConfig; +window.comfyAPI.widgetInputs.mergeIfValid = mergeIfValid; +const GROUP = Symbol(); +const PREFIX = "workflow"; +const SEPARATOR = ">"; +const Workflow = { + InUse: { + Free: 0, + Registered: 1, + InWorkflow: 2 + }, + isInUseGroupNode(name) { + const id2 = `${PREFIX}${SEPARATOR}${name}`; + if (app.graph.extra?.groupNodes?.[name]) { + if (app.graph.nodes.find((n) => n.type === id2)) { + return Workflow.InUse.InWorkflow; + } else { + return Workflow.InUse.Registered; + } + } + return Workflow.InUse.Free; + }, + storeGroupNode(name, data) { + let extra = app.graph.extra; + if (!extra) app.graph.extra = extra = {}; + let groupNodes = extra.groupNodes; + if (!groupNodes) extra.groupNodes = groupNodes = {}; + groupNodes[name] = data; + } +}; +class GroupNodeBuilder { + static { + __name(this, "GroupNodeBuilder"); + } + nodes; + nodeData; + constructor(nodes) { + this.nodes = nodes; + } + async build() { + const name = await this.getName(); + if (!name) return; + this.sortNodes(); + this.nodeData = this.getNodeData(); + Workflow.storeGroupNode(name, this.nodeData); + return { name, nodeData: this.nodeData }; + } + async getName() { + const name = await useDialogService().prompt({ + title: t("groupNode.create"), + message: t("groupNode.enterName"), + defaultValue: "" + }); + if (!name) return; + const used = Workflow.isInUseGroupNode(name); + switch (used) { + case Workflow.InUse.InWorkflow: + useToastStore().addAlert( + "An in use group node with this name already exists embedded in this workflow, please remove any instances or use a new name." + ); + return; + case Workflow.InUse.Registered: + if (!confirm( + "A group node with this name already exists embedded in this workflow, are you sure you want to overwrite it?" + )) { + return; + } + break; + } + return name; + } + sortNodes() { + const nodesInOrder = app.graph.computeExecutionOrder(false); + this.nodes = this.nodes.map((node) => ({ index: nodesInOrder.indexOf(node), node })).sort((a, b) => a.index - b.index || a.node.id - b.node.id).map(({ node }) => node); + } + getNodeData() { + const storeLinkTypes = /* @__PURE__ */ __name((config) => { + for (const link of config.links) { + const origin = app.graph.getNodeById(link[4]); + const type = origin.outputs[link[1]].type; + link.push(type); + } + }, "storeLinkTypes"); + const storeExternalLinks = /* @__PURE__ */ __name((config) => { + config.external = []; + for (let i = 0; i < this.nodes.length; i++) { + const node = this.nodes[i]; + if (!node.outputs?.length) continue; + for (let slot = 0; slot < node.outputs.length; slot++) { + let hasExternal = false; + const output = node.outputs[slot]; + let type = output.type; + if (!output.links?.length) continue; + for (const l of output.links) { + const link = app.graph.links[l]; + if (!link) continue; + if (type === "*") type = link.type; + if (!app.canvas.selected_nodes[link.target_id]) { + hasExternal = true; + break; + } + } + if (hasExternal) { + config.external.push([i, slot, type]); + } + } + } + }, "storeExternalLinks"); + try { + const serialised = serialise(this.nodes, app.canvas.graph); + const config = JSON.parse(serialised); + storeLinkTypes(config); + storeExternalLinks(config); + return config; + } finally { + } + } +} +class GroupNodeConfig { + static { + __name(this, "GroupNodeConfig"); + } + name; + nodeData; + inputCount; + oldToNewOutputMap; + newToOldOutputMap; + oldToNewInputMap; + oldToNewWidgetMap; + newToOldWidgetMap; + primitiveDefs; + widgetToPrimitive; + primitiveToWidget; + nodeInputs; + outputVisibility; + nodeDef; + inputs; + linksFrom; + linksTo; + externalFrom; + constructor(name, nodeData) { + this.name = name; + this.nodeData = nodeData; + this.getLinks(); + this.inputCount = 0; + this.oldToNewOutputMap = {}; + this.newToOldOutputMap = {}; + this.oldToNewInputMap = {}; + this.oldToNewWidgetMap = {}; + this.newToOldWidgetMap = {}; + this.primitiveDefs = {}; + this.widgetToPrimitive = {}; + this.primitiveToWidget = {}; + this.nodeInputs = {}; + this.outputVisibility = []; + } + async registerType(source = PREFIX) { + this.nodeDef = { + output: [], + output_name: [], + output_is_list: [], + // @ts-expect-error Unused, doesn't exist + output_is_hidden: [], + name: source + SEPARATOR + this.name, + display_name: this.name, + category: "group nodes" + (SEPARATOR + source), + input: { required: {} }, + description: `Group node combining ${this.nodeData.nodes.map((n) => n.type).join(", ")}`, + python_module: "custom_nodes." + this.name, + [GROUP]: this + }; + this.inputs = []; + const seenInputs = {}; + const seenOutputs = {}; + for (let i = 0; i < this.nodeData.nodes.length; i++) { + const node = this.nodeData.nodes[i]; + node.index = i; + this.processNode(node, seenInputs, seenOutputs); + } + for (const p of this.#convertedToProcess) { + p(); + } + this.#convertedToProcess = null; + await app.registerNodeDef(`${PREFIX}${SEPARATOR}` + this.name, this.nodeDef); + useNodeDefStore().addNodeDef(this.nodeDef); + } + getLinks() { + this.linksFrom = {}; + this.linksTo = {}; + this.externalFrom = {}; + for (const l of this.nodeData.links) { + const [sourceNodeId, sourceNodeSlot, targetNodeId, targetNodeSlot] = l; + if (sourceNodeId == null) continue; + if (!this.linksFrom[sourceNodeId]) { + this.linksFrom[sourceNodeId] = {}; + } + if (!this.linksFrom[sourceNodeId][sourceNodeSlot]) { + this.linksFrom[sourceNodeId][sourceNodeSlot] = []; + } + this.linksFrom[sourceNodeId][sourceNodeSlot].push(l); + if (!this.linksTo[targetNodeId]) { + this.linksTo[targetNodeId] = {}; + } + this.linksTo[targetNodeId][targetNodeSlot] = l; + } + if (this.nodeData.external) { + for (const ext2 of this.nodeData.external) { + if (!this.externalFrom[ext2[0]]) { + this.externalFrom[ext2[0]] = { [ext2[1]]: ext2[2] }; + } else { + this.externalFrom[ext2[0]][ext2[1]] = ext2[2]; + } + } + } + } + processNode(node, seenInputs, seenOutputs) { + const def = this.getNodeDef(node); + if (!def) return; + const inputs = { ...def.input?.required, ...def.input?.optional }; + this.inputs.push(this.processNodeInputs(node, seenInputs, inputs)); + if (def.output?.length) this.processNodeOutputs(node, seenOutputs, def); + } + getNodeDef(node) { + const def = globalDefs[node.type]; + if (def) return def; + const linksFrom = this.linksFrom[node.index]; + if (node.type === "PrimitiveNode") { + if (!linksFrom) return; + let type = linksFrom["0"][0][5]; + if (type === "COMBO") { + const source = node.outputs[0].widget.name; + const fromTypeName = this.nodeData.nodes[linksFrom["0"][0][2]].type; + const fromType = globalDefs[fromTypeName]; + const input = fromType.input.required[source] ?? fromType.input.optional[source]; + type = input[0]; + } + const def2 = this.primitiveDefs[node.index] = { + input: { + required: { + value: [type, {}] + } + }, + output: [type], + output_name: [], + output_is_list: [] + }; + return def2; + } else if (node.type === "Reroute") { + const linksTo = this.linksTo[node.index]; + if (linksTo && linksFrom && !this.externalFrom[node.index]?.[0]) { + return null; + } + let config = {}; + let rerouteType = "*"; + if (linksFrom) { + for (const [, , id2, slot] of linksFrom["0"]) { + const node2 = this.nodeData.nodes[id2]; + const input = node2.inputs[slot]; + if (rerouteType === "*") { + rerouteType = input.type; + } + if (input.widget) { + const targetDef = globalDefs[node2.type]; + const targetWidget = targetDef.input.required[input.widget.name] ?? targetDef.input.optional[input.widget.name]; + const widget = [targetWidget[0], config]; + const res = mergeIfValid( + { + widget + }, + targetWidget, + false, + null, + widget + ); + config = res?.customConfig ?? config; + } + } + } else if (linksTo) { + const [id2, slot] = linksTo["0"]; + rerouteType = this.nodeData.nodes[id2].outputs[slot].type; + } else { + for (const l of this.nodeData.links) { + if (l[2] === node.index) { + rerouteType = l[5]; + break; + } + } + if (rerouteType === "*") { + const t2 = this.externalFrom[node.index]?.[0]; + if (t2) { + rerouteType = t2; + } + } + } + config.forceInput = true; + return { + input: { + required: { + [rerouteType]: [rerouteType, config] + } + }, + output: [rerouteType], + output_name: [], + output_is_list: [] + }; + } + console.warn( + "Skipping virtual node " + node.type + " when building group node " + this.name + ); + } + getInputConfig(node, inputName, seenInputs, config, extra) { + const customConfig = this.nodeData.config?.[node.index]?.input?.[inputName]; + let name = customConfig?.name ?? node.inputs?.find((inp) => inp.name === inputName)?.label ?? inputName; + let key = name; + let prefix = ""; + if (node.type === "PrimitiveNode" && node.title || name in seenInputs) { + prefix = `${node.title ?? node.type} `; + key = name = `${prefix}${inputName}`; + if (name in seenInputs) { + name = `${prefix}${seenInputs[name]} ${inputName}`; + } + } + seenInputs[key] = (seenInputs[key] ?? 1) + 1; + if (inputName === "seed" || inputName === "noise_seed") { + if (!extra) extra = {}; + extra.control_after_generate = `${prefix}control_after_generate`; + } + if (config[0] === "IMAGEUPLOAD") { + if (!extra) extra = {}; + extra.widget = this.oldToNewWidgetMap[node.index]?.[config[1]?.widget ?? "image"] ?? "image"; + } + if (extra) { + config = [config[0], { ...config[1], ...extra }]; + } + return { name, config, customConfig }; + } + processWidgetInputs(inputs, node, inputNames, seenInputs) { + const slots = []; + const converted = /* @__PURE__ */ new Map(); + const widgetMap = this.oldToNewWidgetMap[node.index] = {}; + for (const inputName of inputNames) { + let widgetType = app.getWidgetType(inputs[inputName], inputName); + if (widgetType) { + const convertedIndex = node.inputs?.findIndex( + (inp) => inp.name === inputName && inp.widget?.name === inputName + ); + if (convertedIndex > -1) { + converted.set(convertedIndex, inputName); + widgetMap[inputName] = null; + } else { + const { name, config } = this.getInputConfig( + node, + inputName, + seenInputs, + inputs[inputName] + ); + this.nodeDef.input.required[name] = config; + widgetMap[inputName] = name; + this.newToOldWidgetMap[name] = { node, inputName }; + } + } else { + slots.push(inputName); + } + } + return { converted, slots }; + } + checkPrimitiveConnection(link, inputName, inputs) { + const sourceNode = this.nodeData.nodes[link[0]]; + if (sourceNode.type === "PrimitiveNode") { + const [sourceNodeId, _, targetNodeId, __] = link; + const primitiveDef = this.primitiveDefs[sourceNodeId]; + const targetWidget = inputs[inputName]; + const primitiveConfig = primitiveDef.input.required.value; + const output = { widget: primitiveConfig }; + const config = mergeIfValid( + output, + targetWidget, + false, + null, + primitiveConfig + ); + primitiveConfig[1] = config?.customConfig ?? inputs[inputName][1] ? { ...inputs[inputName][1] } : {}; + let name = this.oldToNewWidgetMap[sourceNodeId]["value"]; + name = name.substr(0, name.length - 6); + primitiveConfig[1].control_after_generate = true; + primitiveConfig[1].control_prefix = name; + let toPrimitive = this.widgetToPrimitive[targetNodeId]; + if (!toPrimitive) { + toPrimitive = this.widgetToPrimitive[targetNodeId] = {}; + } + if (toPrimitive[inputName]) { + toPrimitive[inputName].push(sourceNodeId); + } + toPrimitive[inputName] = sourceNodeId; + let toWidget = this.primitiveToWidget[sourceNodeId]; + if (!toWidget) { + toWidget = this.primitiveToWidget[sourceNodeId] = []; + } + toWidget.push({ nodeId: targetNodeId, inputName }); + } + } + processInputSlots(inputs, node, slots, linksTo, inputMap, seenInputs) { + this.nodeInputs[node.index] = {}; + for (let i = 0; i < slots.length; i++) { + const inputName = slots[i]; + if (linksTo[i]) { + this.checkPrimitiveConnection(linksTo[i], inputName, inputs); + continue; + } + const { name, config, customConfig } = this.getInputConfig( + node, + inputName, + seenInputs, + inputs[inputName] + ); + this.nodeInputs[node.index][inputName] = name; + if (customConfig?.visible === false) continue; + this.nodeDef.input.required[name] = config; + inputMap[i] = this.inputCount++; + } + } + processConvertedWidgets(inputs, node, slots, converted, linksTo, inputMap, seenInputs) { + const convertedSlots = [...converted.keys()].sort().map((k) => converted.get(k)); + for (let i = 0; i < convertedSlots.length; i++) { + const inputName = convertedSlots[i]; + if (linksTo[slots.length + i]) { + this.checkPrimitiveConnection( + linksTo[slots.length + i], + inputName, + inputs + ); + continue; + } + const { name, config } = this.getInputConfig( + node, + inputName, + seenInputs, + inputs[inputName], + { + defaultInput: true + } + ); + this.nodeDef.input.required[name] = config; + this.newToOldWidgetMap[name] = { node, inputName }; + if (!this.oldToNewWidgetMap[node.index]) { + this.oldToNewWidgetMap[node.index] = {}; + } + this.oldToNewWidgetMap[node.index][inputName] = name; + inputMap[slots.length + i] = this.inputCount++; + } + } + #convertedToProcess = []; + processNodeInputs(node, seenInputs, inputs) { + const inputMapping = []; + const inputNames = Object.keys(inputs); + if (!inputNames.length) return; + const { converted, slots } = this.processWidgetInputs( + inputs, + node, + inputNames, + seenInputs + ); + const linksTo = this.linksTo[node.index] ?? {}; + const inputMap = this.oldToNewInputMap[node.index] = {}; + this.processInputSlots(inputs, node, slots, linksTo, inputMap, seenInputs); + this.#convertedToProcess.push( + () => this.processConvertedWidgets( + inputs, + node, + slots, + converted, + linksTo, + inputMap, + seenInputs + ) + ); + return inputMapping; + } + processNodeOutputs(node, seenOutputs, def) { + const oldToNew = this.oldToNewOutputMap[node.index] = {}; + for (let outputId = 0; outputId < def.output.length; outputId++) { + const linksFrom = this.linksFrom[node.index]; + const hasLink = linksFrom?.[outputId] && !this.externalFrom[node.index]?.[outputId]; + const customConfig = this.nodeData.config?.[node.index]?.output?.[outputId]; + const visible = customConfig?.visible ?? !hasLink; + this.outputVisibility.push(visible); + if (!visible) { + continue; + } + oldToNew[outputId] = this.nodeDef.output.length; + this.newToOldOutputMap[this.nodeDef.output.length] = { + node, + slot: outputId + }; + this.nodeDef.output.push(def.output[outputId]); + this.nodeDef.output_is_list.push(def.output_is_list[outputId]); + let label = customConfig?.name; + if (!label) { + label = def.output_name?.[outputId] ?? def.output[outputId]; + const output = node.outputs.find((o) => o.name === label); + if (output?.label) { + label = output.label; + } + } + let name = label; + if (name in seenOutputs) { + const prefix = `${node.title ?? node.type} `; + name = `${prefix}${label}`; + if (name in seenOutputs) { + name = `${prefix}${node.index} ${label}`; + } + } + seenOutputs[name] = 1; + this.nodeDef.output_name.push(name); + } + } + static async registerFromWorkflow(groupNodes, missingNodeTypes) { + for (const g in groupNodes) { + const groupData = groupNodes[g]; + let hasMissing = false; + for (const n of groupData.nodes) { + if (!(n.type in LiteGraph.registered_node_types)) { + missingNodeTypes.push({ + type: n.type, + hint: ` (In group node '${PREFIX}${SEPARATOR}${g}')` + }); + missingNodeTypes.push({ + type: `${PREFIX}${SEPARATOR}` + g, + action: { + text: "Remove from workflow", + callback: /* @__PURE__ */ __name((e) => { + delete groupNodes[g]; + e.target.textContent = "Removed"; + e.target.style.pointerEvents = "none"; + e.target.style.opacity = 0.7; + }, "callback") + } + }); + hasMissing = true; + } + } + if (hasMissing) continue; + const config = new GroupNodeConfig(g, groupData); + await config.registerType(); + } + } +} +class GroupNodeHandler { + static { + __name(this, "GroupNodeHandler"); + } + node; + groupData; + innerNodes; + constructor(node) { + this.node = node; + this.groupData = node.constructor?.nodeData?.[GROUP]; + this.node.setInnerNodes = (innerNodes) => { + this.innerNodes = innerNodes; + for (let innerNodeIndex = 0; innerNodeIndex < this.innerNodes.length; innerNodeIndex++) { + const innerNode = this.innerNodes[innerNodeIndex]; + for (const w of innerNode.widgets ?? []) { + if (w.type === "converted-widget") { + w.serializeValue = w.origSerializeValue; + } + } + innerNode.index = innerNodeIndex; + innerNode.getInputNode = (slot) => { + const externalSlot = this.groupData.oldToNewInputMap[innerNode.index]?.[slot]; + if (externalSlot != null) { + return this.node.getInputNode(externalSlot); + } + const innerLink = this.groupData.linksTo[innerNode.index]?.[slot]; + if (!innerLink) return null; + const inputNode = innerNodes[innerLink[0]]; + if (inputNode.type === "PrimitiveNode") return null; + return inputNode; + }; + innerNode.getInputLink = (slot) => { + const externalSlot = this.groupData.oldToNewInputMap[innerNode.index]?.[slot]; + if (externalSlot != null) { + const linkId = this.node.inputs[externalSlot].link; + let link2 = app.graph.links[linkId]; + link2 = { + ...link2, + target_id: innerNode.id, + target_slot: +slot + }; + return link2; + } + let link = this.groupData.linksTo[innerNode.index]?.[slot]; + if (!link) return null; + link = { + origin_id: innerNodes[link[0]].id, + origin_slot: link[1], + target_id: innerNode.id, + target_slot: +slot + }; + return link; + }; + } + }; + this.node.updateLink = (link) => { + link = { ...link }; + const output = this.groupData.newToOldOutputMap[link.origin_slot]; + let innerNode = this.innerNodes[output.node.index]; + let l; + while (innerNode?.type === "Reroute") { + l = innerNode.getInputLink(0); + innerNode = innerNode.getInputNode(0); + } + if (!innerNode) { + return null; + } + if (l && GroupNodeHandler.isGroupNode(innerNode)) { + return innerNode.updateLink(l); + } + link.origin_id = innerNode.id; + link.origin_slot = l?.origin_slot ?? output.slot; + return link; + }; + this.node.getInnerNodes = () => { + if (!this.innerNodes) { + this.node.setInnerNodes( + this.groupData.nodeData.nodes.map((n, i) => { + const innerNode = LiteGraph.createNode(n.type); + innerNode.configure(n); + innerNode.id = `${this.node.id}:${i}`; + return innerNode; + }) + ); + } + this.updateInnerWidgets(); + return this.innerNodes; + }; + this.node.recreate = async () => { + const id2 = this.node.id; + const sz = this.node.size; + const nodes = this.node.convertToNodes(); + const groupNode = LiteGraph.createNode(this.node.type); + groupNode.id = id2; + groupNode.setInnerNodes(nodes); + groupNode[GROUP].populateWidgets(); + app.graph.add(groupNode); + groupNode.size = [ + Math.max(groupNode.size[0], sz[0]), + Math.max(groupNode.size[1], sz[1]) + ]; + const builder = new GroupNodeBuilder(nodes); + const nodeData = builder.getNodeData(); + groupNode[GROUP].groupData.nodeData.links = nodeData.links; + groupNode[GROUP].replaceNodes(nodes); + return groupNode; + }; + this.node.convertToNodes = () => { + const addInnerNodes = /* @__PURE__ */ __name(() => { + const c = { ...this.groupData.nodeData }; + c.nodes = [...c.nodes]; + const innerNodes = this.node.getInnerNodes(); + let ids = []; + for (let i = 0; i < c.nodes.length; i++) { + let id2 = innerNodes?.[i]?.id; + if (id2 == null || isNaN(id2)) { + id2 = void 0; + } else { + ids.push(id2); + } + c.nodes[i] = { ...c.nodes[i], id: id2 }; + } + deserialiseAndCreate(JSON.stringify(c), app.canvas); + const [x, y] = this.node.pos; + let top; + let left; + const selectedIds = ids.length ? ids : Object.keys(app.canvas.selected_nodes); + const newNodes = []; + for (let i = 0; i < selectedIds.length; i++) { + const id2 = selectedIds[i]; + const newNode = app.graph.getNodeById(id2); + const innerNode = innerNodes[i]; + newNodes.push(newNode); + if (left == null || newNode.pos[0] < left) { + left = newNode.pos[0]; + } + if (top == null || newNode.pos[1] < top) { + top = newNode.pos[1]; + } + if (!newNode.widgets) continue; + const map = this.groupData.oldToNewWidgetMap[innerNode.index]; + if (map) { + const widgets = Object.keys(map); + for (const oldName of widgets) { + const newName = map[oldName]; + if (!newName) continue; + const widgetIndex = this.node.widgets.findIndex( + (w) => w.name === newName + ); + if (widgetIndex === -1) continue; + if (innerNode.type === "PrimitiveNode") { + for (let i2 = 0; i2 < newNode.widgets.length; i2++) { + newNode.widgets[i2].value = this.node.widgets[widgetIndex + i2].value; + } + } else { + const outerWidget = this.node.widgets[widgetIndex]; + const newWidget = newNode.widgets.find( + (w) => w.name === oldName + ); + if (!newWidget) continue; + newWidget.value = outerWidget.value; + for (let w = 0; w < outerWidget.linkedWidgets?.length; w++) { + newWidget.linkedWidgets[w].value = outerWidget.linkedWidgets[w].value; + } + } + } + } + } + for (const newNode of newNodes) { + newNode.pos[0] -= left - x; + newNode.pos[1] -= top - y; + } + return { newNodes, selectedIds }; + }, "addInnerNodes"); + const reconnectInputs = /* @__PURE__ */ __name((selectedIds) => { + for (const innerNodeIndex in this.groupData.oldToNewInputMap) { + const id2 = selectedIds[innerNodeIndex]; + const newNode = app.graph.getNodeById(id2); + const map = this.groupData.oldToNewInputMap[innerNodeIndex]; + for (const innerInputId in map) { + const groupSlotId = map[innerInputId]; + if (groupSlotId == null) continue; + const slot = node.inputs[groupSlotId]; + if (slot.link == null) continue; + const link = app.graph.links[slot.link]; + if (!link) continue; + const originNode = app.graph.getNodeById(link.origin_id); + originNode.connect(link.origin_slot, newNode, +innerInputId); + } + } + }, "reconnectInputs"); + const reconnectOutputs = /* @__PURE__ */ __name((selectedIds) => { + for (let groupOutputId = 0; groupOutputId < node.outputs?.length; groupOutputId++) { + const output = node.outputs[groupOutputId]; + if (!output.links) continue; + const links = [...output.links]; + for (const l of links) { + const slot = this.groupData.newToOldOutputMap[groupOutputId]; + const link = app.graph.links[l]; + const targetNode = app.graph.getNodeById(link.target_id); + const newNode = app.graph.getNodeById(selectedIds[slot.node.index]); + newNode.connect(slot.slot, targetNode, link.target_slot); + } + } + }, "reconnectOutputs"); + app.canvas.emitBeforeChange(); + try { + const { newNodes, selectedIds } = addInnerNodes(); + reconnectInputs(selectedIds); + reconnectOutputs(selectedIds); + app.graph.remove(this.node); + return newNodes; + } finally { + app.canvas.emitAfterChange(); + } + }; + const getExtraMenuOptions = this.node.getExtraMenuOptions; + this.node.getExtraMenuOptions = function(_, options) { + getExtraMenuOptions?.apply(this, arguments); + let optionIndex = options.findIndex((o) => o.content === "Outputs"); + if (optionIndex === -1) optionIndex = options.length; + else optionIndex++; + options.splice( + optionIndex, + 0, + null, + { + content: "Convert to nodes", + // @ts-expect-error + callback: /* @__PURE__ */ __name(() => { + return this.convertToNodes(); + }, "callback") + }, + { + content: "Manage Group Node", + callback: /* @__PURE__ */ __name(() => manageGroupNodes(this.type), "callback") + } + ); + }; + const onDrawTitleBox = this.node.onDrawTitleBox; + this.node.onDrawTitleBox = function(ctx, height, size, scale) { + onDrawTitleBox?.apply(this, arguments); + const fill2 = ctx.fillStyle; + ctx.beginPath(); + ctx.rect(11, -height + 11, 2, 2); + ctx.rect(14, -height + 11, 2, 2); + ctx.rect(17, -height + 11, 2, 2); + ctx.rect(11, -height + 14, 2, 2); + ctx.rect(14, -height + 14, 2, 2); + ctx.rect(17, -height + 14, 2, 2); + ctx.rect(11, -height + 17, 2, 2); + ctx.rect(14, -height + 17, 2, 2); + ctx.rect(17, -height + 17, 2, 2); + ctx.fillStyle = this.boxcolor || LiteGraph.NODE_DEFAULT_BOXCOLOR; + ctx.fill(); + ctx.fillStyle = fill2; + }; + const onDrawForeground = node.onDrawForeground; + const groupData = this.groupData.nodeData; + node.onDrawForeground = function(ctx) { + const r = onDrawForeground?.apply?.(this, arguments); + if (+app.runningNodeId === this.id && this.runningInternalNodeId !== null) { + const n = groupData.nodes[this.runningInternalNodeId]; + if (!n) return; + const message = `Running ${n.title || n.type} (${this.runningInternalNodeId}/${groupData.nodes.length})`; + ctx.save(); + ctx.font = "12px sans-serif"; + const sz = ctx.measureText(message); + ctx.fillStyle = node.boxcolor || LiteGraph.NODE_DEFAULT_BOXCOLOR; + ctx.beginPath(); + ctx.roundRect( + 0, + -LiteGraph.NODE_TITLE_HEIGHT - 20, + sz.width + 12, + 20, + 5 + ); + ctx.fill(); + ctx.fillStyle = "#fff"; + ctx.fillText(message, 6, -LiteGraph.NODE_TITLE_HEIGHT - 6); + ctx.restore(); + } + }; + const onExecutionStart = this.node.onExecutionStart; + this.node.onExecutionStart = function() { + this.resetExecution = true; + return onExecutionStart?.apply(this, arguments); + }; + const self2 = this; + const onNodeCreated = this.node.onNodeCreated; + this.node.onNodeCreated = function() { + if (!this.widgets) { + return; + } + const config = self2.groupData.nodeData.config; + if (config) { + for (const n in config) { + const inputs = config[n]?.input; + for (const w in inputs) { + if (inputs[w].visible !== false) continue; + const widgetName = self2.groupData.oldToNewWidgetMap[n][w]; + const widget = this.widgets.find((w2) => w2.name === widgetName); + if (widget) { + widget.type = "hidden"; + widget.computeSize = () => [0, -4]; + } + } + } + } + return onNodeCreated?.apply(this, arguments); + }; + function handleEvent(type, getId, getEvent) { + const handler = /* @__PURE__ */ __name(({ detail }) => { + const id2 = getId(detail); + if (!id2) return; + const node2 = app.graph.getNodeById(id2); + if (node2) return; + const innerNodeIndex = this.innerNodes?.findIndex((n) => n.id == id2); + if (innerNodeIndex > -1) { + this.node.runningInternalNodeId = innerNodeIndex; + api.dispatchCustomEvent( + type, + getEvent(detail, `${this.node.id}`, this.node) + ); + } + }, "handler"); + api.addEventListener(type, handler); + return handler; + } + __name(handleEvent, "handleEvent"); + const executing = handleEvent.call( + this, + "executing", + (d) => d, + (d, id2, node2) => id2 + ); + const executed = handleEvent.call( + this, + "executed", + (d) => d?.display_node || d?.node, + (d, id2, node2) => ({ + ...d, + node: id2, + display_node: id2, + merge: !node2.resetExecution + }) + ); + const onRemoved = node.onRemoved; + this.node.onRemoved = function() { + onRemoved?.apply(this, arguments); + api.removeEventListener("executing", executing); + api.removeEventListener("executed", executed); + }; + this.node.refreshComboInNode = (defs) => { + for (const widgetName in this.groupData.newToOldWidgetMap) { + const widget = this.node.widgets.find((w) => w.name === widgetName); + if (widget?.type === "combo") { + const old = this.groupData.newToOldWidgetMap[widgetName]; + const def = defs[old.node.type]; + const input = def?.input?.required?.[old.inputName] ?? def?.input?.optional?.[old.inputName]; + if (!input) continue; + widget.options.values = input[0]; + if (old.inputName !== "image" && // @ts-expect-error Widget values + !widget.options.values.includes(widget.value)) { + widget.value = widget.options.values[0]; + widget.callback(widget.value); + } + } + } + }; + } + updateInnerWidgets() { + for (const newWidgetName in this.groupData.newToOldWidgetMap) { + const newWidget = this.node.widgets.find((w) => w.name === newWidgetName); + if (!newWidget) continue; + const newValue = newWidget.value; + const old = this.groupData.newToOldWidgetMap[newWidgetName]; + let innerNode = this.innerNodes[old.node.index]; + if (innerNode.type === "PrimitiveNode") { + innerNode.primitiveValue = newValue; + const primitiveLinked = this.groupData.primitiveToWidget[old.node.index]; + for (const linked of primitiveLinked ?? []) { + const node = this.innerNodes[linked.nodeId]; + const widget2 = node.widgets.find((w) => w.name === linked.inputName); + if (widget2) { + widget2.value = newValue; + } + } + continue; + } else if (innerNode.type === "Reroute") { + const rerouteLinks = this.groupData.linksFrom[old.node.index]; + if (rerouteLinks) { + for (const [_, , targetNodeId, targetSlot] of rerouteLinks["0"]) { + const node = this.innerNodes[targetNodeId]; + const input = node.inputs[targetSlot]; + if (input.widget) { + const widget2 = node.widgets?.find( + (w) => w.name === input.widget.name + ); + if (widget2) { + widget2.value = newValue; + } + } + } + } + } + const widget = innerNode.widgets?.find((w) => w.name === old.inputName); + if (widget) { + widget.value = newValue; + } + } + } + populatePrimitive(node, nodeId, oldName, i, linkedShift) { + const primitiveId = this.groupData.widgetToPrimitive[nodeId]?.[oldName]; + if (primitiveId == null) return; + const targetWidgetName = this.groupData.oldToNewWidgetMap[primitiveId]["value"]; + const targetWidgetIndex = this.node.widgets.findIndex( + (w) => w.name === targetWidgetName + ); + if (targetWidgetIndex > -1) { + const primitiveNode = this.innerNodes[primitiveId]; + let len = primitiveNode.widgets.length; + if (len - 1 !== this.node.widgets[targetWidgetIndex].linkedWidgets?.length) { + len = 1; + } + for (let i2 = 0; i2 < len; i2++) { + this.node.widgets[targetWidgetIndex + i2].value = primitiveNode.widgets[i2].value; + } + } + return true; + } + populateReroute(node, nodeId, map) { + if (node.type !== "Reroute") return; + const link = this.groupData.linksFrom[nodeId]?.[0]?.[0]; + if (!link) return; + const [, , targetNodeId, targetNodeSlot] = link; + const targetNode = this.groupData.nodeData.nodes[targetNodeId]; + const inputs = targetNode.inputs; + const targetWidget = inputs?.[targetNodeSlot]?.widget; + if (!targetWidget) return; + const offset = inputs.length - (targetNode.widgets_values?.length ?? 0); + const v = targetNode.widgets_values?.[targetNodeSlot - offset]; + if (v == null) return; + const widgetName = Object.values(map)[0]; + const widget = this.node.widgets.find((w) => w.name === widgetName); + if (widget) { + widget.value = v; + } + } + populateWidgets() { + if (!this.node.widgets) return; + for (let nodeId = 0; nodeId < this.groupData.nodeData.nodes.length; nodeId++) { + const node = this.groupData.nodeData.nodes[nodeId]; + const map = this.groupData.oldToNewWidgetMap[nodeId] ?? {}; + const widgets = Object.keys(map); + if (!node.widgets_values?.length) { + this.populateReroute(node, nodeId, map); + continue; + } + let linkedShift = 0; + for (let i = 0; i < widgets.length; i++) { + const oldName = widgets[i]; + const newName = map[oldName]; + const widgetIndex = this.node.widgets.findIndex( + (w) => w.name === newName + ); + const mainWidget = this.node.widgets[widgetIndex]; + if (this.populatePrimitive(node, nodeId, oldName, i, linkedShift) || widgetIndex === -1) { + const innerWidget = this.innerNodes[nodeId].widgets?.find( + (w) => w.name === oldName + ); + linkedShift += innerWidget?.linkedWidgets?.length ?? 0; + } + if (widgetIndex === -1) { + continue; + } + mainWidget.value = node.widgets_values[i + linkedShift]; + for (let w = 0; w < mainWidget.linkedWidgets?.length; w++) { + this.node.widgets[widgetIndex + w + 1].value = node.widgets_values[i + ++linkedShift]; + } + } + } + } + replaceNodes(nodes) { + let top; + let left; + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (left == null || node.pos[0] < left) { + left = node.pos[0]; + } + if (top == null || node.pos[1] < top) { + top = node.pos[1]; + } + this.linkOutputs(node, i); + app.graph.remove(node); + } + this.linkInputs(); + this.node.pos = [left, top]; + } + linkOutputs(originalNode, nodeId) { + if (!originalNode.outputs) return; + for (const output of originalNode.outputs) { + if (!output.links) continue; + const links = [...output.links]; + for (const l of links) { + const link = app.graph.links[l]; + if (!link) continue; + const targetNode = app.graph.getNodeById(link.target_id); + const newSlot = this.groupData.oldToNewOutputMap[nodeId]?.[link.origin_slot]; + if (newSlot != null) { + this.node.connect(newSlot, targetNode, link.target_slot); + } + } + } + } + linkInputs() { + for (const link of this.groupData.nodeData.links ?? []) { + const [, originSlot, targetId, targetSlot, actualOriginId] = link; + const originNode = app.graph.getNodeById(actualOriginId); + if (!originNode) continue; + originNode.connect( + originSlot, + // @ts-expect-error Valid - uses deprecated interface. Required check: if (graph.getNodeById(this.node.id) !== this.node) report() + this.node.id, + this.groupData.oldToNewInputMap[targetId][targetSlot] + ); + } + } + static getGroupData(node) { + return (node.nodeData ?? node.constructor?.nodeData)?.[GROUP]; + } + static isGroupNode(node) { + return !!node.constructor?.nodeData?.[GROUP]; + } + static async fromNodes(nodes) { + const builder = new GroupNodeBuilder(nodes); + const res = await builder.build(); + if (!res) return; + const { name, nodeData } = res; + const config = new GroupNodeConfig(name, nodeData); + await config.registerType(); + const groupNode = LiteGraph.createNode(`${PREFIX}${SEPARATOR}${name}`); + groupNode.setInnerNodes(builder.nodes); + groupNode[GROUP].populateWidgets(); + app.graph.add(groupNode); + groupNode[GROUP].replaceNodes(builder.nodes); + return groupNode; + } +} +function addConvertToGroupOptions() { + function addConvertOption(options, index) { + const selected = Object.values(app.canvas.selected_nodes ?? {}); + const disabled = selected.length < 2 || selected.find((n) => GroupNodeHandler.isGroupNode(n)); + options.splice(index + 1, null, { + content: `Convert to Group Node`, + disabled, + callback: convertSelectedNodesToGroupNode + }); + } + __name(addConvertOption, "addConvertOption"); + function addManageOption(options, index) { + const groups = app.graph.extra?.groupNodes; + const disabled = !groups || !Object.keys(groups).length; + options.splice(index + 1, null, { + content: `Manage Group Nodes`, + disabled, + callback: /* @__PURE__ */ __name(() => manageGroupNodes(), "callback") + }); + } + __name(addManageOption, "addManageOption"); + const getCanvasMenuOptions = LGraphCanvas.prototype.getCanvasMenuOptions; + LGraphCanvas.prototype.getCanvasMenuOptions = function() { + const options = getCanvasMenuOptions.apply(this, arguments); + const index = options.findIndex((o) => o?.content === "Add Group") + 1 || options.length; + addConvertOption(options, index); + addManageOption(options, index + 1); + return options; + }; + const getNodeMenuOptions = LGraphCanvas.prototype.getNodeMenuOptions; + LGraphCanvas.prototype.getNodeMenuOptions = function(node) { + const options = getNodeMenuOptions.apply(this, arguments); + if (!GroupNodeHandler.isGroupNode(node)) { + const index = options.findIndex((o) => o?.content === "Outputs") + 1 || options.length - 1; + addConvertOption(options, index); + } + return options; + }; +} +__name(addConvertToGroupOptions, "addConvertToGroupOptions"); +const replaceLegacySeparators = /* @__PURE__ */ __name((nodes) => { + for (const node of nodes) { + if (typeof node.type === "string" && node.type.startsWith("workflow/")) { + node.type = node.type.replace(/^workflow\//, `${PREFIX}${SEPARATOR}`); + } + } +}, "replaceLegacySeparators"); +async function convertSelectedNodesToGroupNode() { + const nodes = Object.values(app.canvas.selected_nodes ?? {}); + if (nodes.length === 0) { + throw new Error("No nodes selected"); + } + if (nodes.length === 1) { + throw new Error("Please select multiple nodes to convert to group node"); + } + if (nodes.some((n) => GroupNodeHandler.isGroupNode(n))) { + throw new Error("Selected nodes contain a group node"); + } + return await GroupNodeHandler.fromNodes(nodes); +} +__name(convertSelectedNodesToGroupNode, "convertSelectedNodesToGroupNode"); +function ungroupSelectedGroupNodes() { + const nodes = Object.values(app.canvas.selected_nodes ?? {}); + for (const node of nodes) { + if (GroupNodeHandler.isGroupNode(node)) { + node.convertToNodes?.(); + } + } +} +__name(ungroupSelectedGroupNodes, "ungroupSelectedGroupNodes"); +function manageGroupNodes(type) { + new ManageGroupDialog(app).show(type); +} +__name(manageGroupNodes, "manageGroupNodes"); +const id$2 = "Comfy.GroupNode"; +let globalDefs; +const ext = { + name: id$2, + commands: [ + { + id: "Comfy.GroupNode.ConvertSelectedNodesToGroupNode", + label: "Convert selected nodes to group node", + icon: "pi pi-sitemap", + versionAdded: "1.3.17", + function: convertSelectedNodesToGroupNode + }, + { + id: "Comfy.GroupNode.UngroupSelectedGroupNodes", + label: "Ungroup selected group nodes", + icon: "pi pi-sitemap", + versionAdded: "1.3.17", + function: ungroupSelectedGroupNodes + }, + { + id: "Comfy.GroupNode.ManageGroupNodes", + label: "Manage group nodes", + icon: "pi pi-cog", + versionAdded: "1.3.17", + function: manageGroupNodes + } + ], + keybindings: [ + { + commandId: "Comfy.GroupNode.ConvertSelectedNodesToGroupNode", + combo: { + alt: true, + key: "g" + } + }, + { + commandId: "Comfy.GroupNode.UngroupSelectedGroupNodes", + combo: { + alt: true, + shift: true, + key: "G" + } + } + ], + setup() { + addConvertToGroupOptions(); + }, + async beforeConfigureGraph(graphData, missingNodeTypes) { + const nodes = graphData?.extra?.groupNodes; + if (nodes) { + replaceLegacySeparators(graphData.nodes); + await GroupNodeConfig.registerFromWorkflow(nodes, missingNodeTypes); + } + }, + addCustomNodeDefs(defs) { + globalDefs = defs; + }, + nodeCreated(node) { + if (GroupNodeHandler.isGroupNode(node)) { + node[GROUP] = new GroupNodeHandler(node); + if (node.title && node[GROUP]?.groupData?.nodeData) { + Workflow.storeGroupNode(node.title, node[GROUP].groupData.nodeData); + } + } + }, + async refreshComboInNodes(defs) { + Object.assign(globalDefs, defs); + const nodes = app.graph.extra?.groupNodes; + if (nodes) { + await GroupNodeConfig.registerFromWorkflow(nodes, {}); + } + } +}; +app.registerExtension(ext); +window.comfyAPI = window.comfyAPI || {}; +window.comfyAPI.groupNode = window.comfyAPI.groupNode || {}; +window.comfyAPI.groupNode.GroupNodeConfig = GroupNodeConfig; +window.comfyAPI.groupNode.GroupNodeHandler = GroupNodeHandler; +function setNodeMode(node, mode) { + node.mode = mode; + node.graph?.change(); +} +__name(setNodeMode, "setNodeMode"); +function addNodesToGroup(group, items) { + const padding = useSettingStore().get("Comfy.GroupSelectedNodes.Padding"); + group.resizeTo([...group.children, ...items], padding); +} +__name(addNodesToGroup, "addNodesToGroup"); +app.registerExtension({ + name: "Comfy.GroupOptions", + setup() { + const orig = LGraphCanvas.prototype.getCanvasMenuOptions; + LGraphCanvas.prototype.getCanvasMenuOptions = function() { + const options = orig.apply(this, arguments); + const group = this.graph.getGroupOnPos( + this.graph_mouse[0], + this.graph_mouse[1] + ); + if (!group) { + options.push({ + content: "Add Group For Selected Nodes", + disabled: !this.selectedItems?.size, + callback: /* @__PURE__ */ __name(() => { + const group2 = new LGraphGroup(); + addNodesToGroup(group2, this.selectedItems); + this.graph.add(group2); + this.graph.change(); + }, "callback") + }); + return options; + } + group.recomputeInsideNodes(); + const nodesInGroup = group.nodes; + options.push({ + content: "Add Selected Nodes To Group", + disabled: !this.selectedItems?.size, + callback: /* @__PURE__ */ __name(() => { + addNodesToGroup(group, this.selectedItems); + this.graph.change(); + }, "callback") + }); + if (nodesInGroup.length === 0) { + return options; + } else { + options.push(null); + } + let allNodesAreSameMode = true; + for (let i = 1; i < nodesInGroup.length; i++) { + if (nodesInGroup[i].mode !== nodesInGroup[0].mode) { + allNodesAreSameMode = false; + break; + } + } + options.push({ + content: "Fit Group To Nodes", + callback: /* @__PURE__ */ __name(() => { + group.recomputeInsideNodes(); + const padding = useSettingStore().get( + "Comfy.GroupSelectedNodes.Padding" + ); + group.resizeTo(group.children, padding); + this.graph.change(); + }, "callback") + }); + options.push({ + content: "Select Nodes", + callback: /* @__PURE__ */ __name(() => { + this.selectNodes(nodesInGroup); + this.graph.change(); + this.canvas.focus(); + }, "callback") + }); + if (allNodesAreSameMode) { + const mode = nodesInGroup[0].mode; + switch (mode) { + case 0: + options.push({ + content: "Set Group Nodes to Never", + callback: /* @__PURE__ */ __name(() => { + for (const node of nodesInGroup) { + setNodeMode(node, 2); + } + }, "callback") + }); + options.push({ + content: "Bypass Group Nodes", + callback: /* @__PURE__ */ __name(() => { + for (const node of nodesInGroup) { + setNodeMode(node, 4); + } + }, "callback") + }); + break; + case 2: + options.push({ + content: "Set Group Nodes to Always", + callback: /* @__PURE__ */ __name(() => { + for (const node of nodesInGroup) { + setNodeMode(node, 0); + } + }, "callback") + }); + options.push({ + content: "Bypass Group Nodes", + callback: /* @__PURE__ */ __name(() => { + for (const node of nodesInGroup) { + setNodeMode(node, 4); + } + }, "callback") + }); + break; + case 4: + options.push({ + content: "Set Group Nodes to Always", + callback: /* @__PURE__ */ __name(() => { + for (const node of nodesInGroup) { + setNodeMode(node, 0); + } + }, "callback") + }); + options.push({ + content: "Set Group Nodes to Never", + callback: /* @__PURE__ */ __name(() => { + for (const node of nodesInGroup) { + setNodeMode(node, 2); + } + }, "callback") + }); + break; + default: + options.push({ + content: "Set Group Nodes to Always", + callback: /* @__PURE__ */ __name(() => { + for (const node of nodesInGroup) { + setNodeMode(node, 0); + } + }, "callback") + }); + options.push({ + content: "Set Group Nodes to Never", + callback: /* @__PURE__ */ __name(() => { + for (const node of nodesInGroup) { + setNodeMode(node, 2); + } + }, "callback") + }); + options.push({ + content: "Bypass Group Nodes", + callback: /* @__PURE__ */ __name(() => { + for (const node of nodesInGroup) { + setNodeMode(node, 4); + } + }, "callback") + }); + break; + } + } else { + options.push({ + content: "Set Group Nodes to Always", + callback: /* @__PURE__ */ __name(() => { + for (const node of nodesInGroup) { + setNodeMode(node, 0); + } + }, "callback") + }); + options.push({ + content: "Set Group Nodes to Never", + callback: /* @__PURE__ */ __name(() => { + for (const node of nodesInGroup) { + setNodeMode(node, 2); + } + }, "callback") + }); + options.push({ + content: "Bypass Group Nodes", + callback: /* @__PURE__ */ __name(() => { + for (const node of nodesInGroup) { + setNodeMode(node, 4); + } + }, "callback") + }); + } + return options; + }; + } +}); +const id$1 = "Comfy.InvertMenuScrolling"; +app.registerExtension({ + name: id$1, + init() { + const ctxMenu = LiteGraph.ContextMenu; + const replace = /* @__PURE__ */ __name(() => { + LiteGraph.ContextMenu = function(values, options) { + options = options || {}; + if (options.scroll_speed) { + options.scroll_speed *= -1; + } else { + options.scroll_speed = -0.1; + } + return ctxMenu.call(this, values, options); + }; + LiteGraph.ContextMenu.prototype = ctxMenu.prototype; + }, "replace"); + app.ui.settings.addSetting({ + id: id$1, + category: ["LiteGraph", "Menu", "InvertMenuScrolling"], + name: "Invert Context Menu Scrolling", + type: "boolean", + defaultValue: false, + onChange(value) { + if (value) { + replace(); + } else { + LiteGraph.ContextMenu = ctxMenu; + } + } + }); + } +}); +/** + * @license + * Copyright 2010-2024 Three.js Authors + * SPDX-License-Identifier: MIT + */ +const REVISION = "170"; +const MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 }; +const TOUCH = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 }; +const CullFaceNone = 0; +const CullFaceBack = 1; +const CullFaceFront = 2; +const CullFaceFrontBack = 3; +const BasicShadowMap = 0; +const PCFShadowMap = 1; +const PCFSoftShadowMap = 2; +const VSMShadowMap = 3; +const FrontSide = 0; +const BackSide = 1; +const DoubleSide = 2; +const NoBlending = 0; +const NormalBlending = 1; +const AdditiveBlending = 2; +const SubtractiveBlending = 3; +const MultiplyBlending = 4; +const CustomBlending = 5; +const AddEquation = 100; +const SubtractEquation = 101; +const ReverseSubtractEquation = 102; +const MinEquation = 103; +const MaxEquation = 104; +const ZeroFactor = 200; +const OneFactor = 201; +const SrcColorFactor = 202; +const OneMinusSrcColorFactor = 203; +const SrcAlphaFactor = 204; +const OneMinusSrcAlphaFactor = 205; +const DstAlphaFactor = 206; +const OneMinusDstAlphaFactor = 207; +const DstColorFactor = 208; +const OneMinusDstColorFactor = 209; +const SrcAlphaSaturateFactor = 210; +const ConstantColorFactor = 211; +const OneMinusConstantColorFactor = 212; +const ConstantAlphaFactor = 213; +const OneMinusConstantAlphaFactor = 214; +const NeverDepth = 0; +const AlwaysDepth = 1; +const LessDepth = 2; +const LessEqualDepth = 3; +const EqualDepth = 4; +const GreaterEqualDepth = 5; +const GreaterDepth = 6; +const NotEqualDepth = 7; +const MultiplyOperation = 0; +const MixOperation = 1; +const AddOperation = 2; +const NoToneMapping = 0; +const LinearToneMapping = 1; +const ReinhardToneMapping = 2; +const CineonToneMapping = 3; +const ACESFilmicToneMapping = 4; +const CustomToneMapping = 5; +const AgXToneMapping = 6; +const NeutralToneMapping = 7; +const AttachedBindMode = "attached"; +const DetachedBindMode = "detached"; +const UVMapping = 300; +const CubeReflectionMapping = 301; +const CubeRefractionMapping = 302; +const EquirectangularReflectionMapping = 303; +const EquirectangularRefractionMapping = 304; +const CubeUVReflectionMapping = 306; +const RepeatWrapping = 1e3; +const ClampToEdgeWrapping = 1001; +const MirroredRepeatWrapping = 1002; +const NearestFilter = 1003; +const NearestMipmapNearestFilter = 1004; +const NearestMipMapNearestFilter = 1004; +const NearestMipmapLinearFilter = 1005; +const NearestMipMapLinearFilter = 1005; +const LinearFilter = 1006; +const LinearMipmapNearestFilter = 1007; +const LinearMipMapNearestFilter = 1007; +const LinearMipmapLinearFilter = 1008; +const LinearMipMapLinearFilter = 1008; +const UnsignedByteType = 1009; +const ByteType = 1010; +const ShortType = 1011; +const UnsignedShortType = 1012; +const IntType = 1013; +const UnsignedIntType = 1014; +const FloatType = 1015; +const HalfFloatType = 1016; +const UnsignedShort4444Type = 1017; +const UnsignedShort5551Type = 1018; +const UnsignedInt248Type = 1020; +const UnsignedInt5999Type = 35902; +const AlphaFormat = 1021; +const RGBFormat = 1022; +const RGBAFormat = 1023; +const LuminanceFormat = 1024; +const LuminanceAlphaFormat = 1025; +const DepthFormat = 1026; +const DepthStencilFormat = 1027; +const RedFormat = 1028; +const RedIntegerFormat = 1029; +const RGFormat = 1030; +const RGIntegerFormat = 1031; +const RGBIntegerFormat = 1032; +const RGBAIntegerFormat = 1033; +const RGB_S3TC_DXT1_Format = 33776; +const RGBA_S3TC_DXT1_Format = 33777; +const RGBA_S3TC_DXT3_Format = 33778; +const RGBA_S3TC_DXT5_Format = 33779; +const RGB_PVRTC_4BPPV1_Format = 35840; +const RGB_PVRTC_2BPPV1_Format = 35841; +const RGBA_PVRTC_4BPPV1_Format = 35842; +const RGBA_PVRTC_2BPPV1_Format = 35843; +const RGB_ETC1_Format = 36196; +const RGB_ETC2_Format = 37492; +const RGBA_ETC2_EAC_Format = 37496; +const RGBA_ASTC_4x4_Format = 37808; +const RGBA_ASTC_5x4_Format = 37809; +const RGBA_ASTC_5x5_Format = 37810; +const RGBA_ASTC_6x5_Format = 37811; +const RGBA_ASTC_6x6_Format = 37812; +const RGBA_ASTC_8x5_Format = 37813; +const RGBA_ASTC_8x6_Format = 37814; +const RGBA_ASTC_8x8_Format = 37815; +const RGBA_ASTC_10x5_Format = 37816; +const RGBA_ASTC_10x6_Format = 37817; +const RGBA_ASTC_10x8_Format = 37818; +const RGBA_ASTC_10x10_Format = 37819; +const RGBA_ASTC_12x10_Format = 37820; +const RGBA_ASTC_12x12_Format = 37821; +const RGBA_BPTC_Format = 36492; +const RGB_BPTC_SIGNED_Format = 36494; +const RGB_BPTC_UNSIGNED_Format = 36495; +const RED_RGTC1_Format = 36283; +const SIGNED_RED_RGTC1_Format = 36284; +const RED_GREEN_RGTC2_Format = 36285; +const SIGNED_RED_GREEN_RGTC2_Format = 36286; +const LoopOnce = 2200; +const LoopRepeat = 2201; +const LoopPingPong = 2202; +const InterpolateDiscrete = 2300; +const InterpolateLinear = 2301; +const InterpolateSmooth = 2302; +const ZeroCurvatureEnding = 2400; +const ZeroSlopeEnding = 2401; +const WrapAroundEnding = 2402; +const NormalAnimationBlendMode = 2500; +const AdditiveAnimationBlendMode = 2501; +const TrianglesDrawMode = 0; +const TriangleStripDrawMode = 1; +const TriangleFanDrawMode = 2; +const BasicDepthPacking = 3200; +const RGBADepthPacking = 3201; +const RGBDepthPacking = 3202; +const RGDepthPacking = 3203; +const TangentSpaceNormalMap = 0; +const ObjectSpaceNormalMap = 1; +const NoColorSpace = ""; +const SRGBColorSpace = "srgb"; +const LinearSRGBColorSpace = "srgb-linear"; +const LinearTransfer = "linear"; +const SRGBTransfer = "srgb"; +const ZeroStencilOp = 0; +const KeepStencilOp = 7680; +const ReplaceStencilOp = 7681; +const IncrementStencilOp = 7682; +const DecrementStencilOp = 7683; +const IncrementWrapStencilOp = 34055; +const DecrementWrapStencilOp = 34056; +const InvertStencilOp = 5386; +const NeverStencilFunc = 512; +const LessStencilFunc = 513; +const EqualStencilFunc = 514; +const LessEqualStencilFunc = 515; +const GreaterStencilFunc = 516; +const NotEqualStencilFunc = 517; +const GreaterEqualStencilFunc = 518; +const AlwaysStencilFunc = 519; +const NeverCompare = 512; +const LessCompare = 513; +const EqualCompare = 514; +const LessEqualCompare = 515; +const GreaterCompare = 516; +const NotEqualCompare = 517; +const GreaterEqualCompare = 518; +const AlwaysCompare = 519; +const StaticDrawUsage = 35044; +const DynamicDrawUsage = 35048; +const StreamDrawUsage = 35040; +const StaticReadUsage = 35045; +const DynamicReadUsage = 35049; +const StreamReadUsage = 35041; +const StaticCopyUsage = 35046; +const DynamicCopyUsage = 35050; +const StreamCopyUsage = 35042; +const GLSL1 = "100"; +const GLSL3 = "300 es"; +const WebGLCoordinateSystem = 2e3; +const WebGPUCoordinateSystem = 2001; +class EventDispatcher { + static { + __name(this, "EventDispatcher"); + } + addEventListener(type, listener) { + if (this._listeners === void 0) this._listeners = {}; + const listeners = this._listeners; + if (listeners[type] === void 0) { + listeners[type] = []; + } + if (listeners[type].indexOf(listener) === -1) { + listeners[type].push(listener); + } + } + hasEventListener(type, listener) { + if (this._listeners === void 0) return false; + const listeners = this._listeners; + return listeners[type] !== void 0 && listeners[type].indexOf(listener) !== -1; + } + removeEventListener(type, listener) { + if (this._listeners === void 0) return; + const listeners = this._listeners; + const listenerArray = listeners[type]; + if (listenerArray !== void 0) { + const index = listenerArray.indexOf(listener); + if (index !== -1) { + listenerArray.splice(index, 1); + } + } + } + dispatchEvent(event) { + if (this._listeners === void 0) return; + const listeners = this._listeners; + const listenerArray = listeners[event.type]; + if (listenerArray !== void 0) { + event.target = this; + const array = listenerArray.slice(0); + for (let i = 0, l = array.length; i < l; i++) { + array[i].call(this, event); + } + event.target = null; + } + } +} +const _lut = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "0a", "0b", "0c", "0d", "0e", "0f", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "1a", "1b", "1c", "1d", "1e", "1f", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "2a", "2b", "2c", "2d", "2e", "2f", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "3a", "3b", "3c", "3d", "3e", "3f", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "4a", "4b", "4c", "4d", "4e", "4f", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "5a", "5b", "5c", "5d", "5e", "5f", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "6a", "6b", "6c", "6d", "6e", "6f", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "7a", "7b", "7c", "7d", "7e", "7f", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "8a", "8b", "8c", "8d", "8e", "8f", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "9a", "9b", "9c", "9d", "9e", "9f", "a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "aa", "ab", "ac", "ad", "ae", "af", "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", "b8", "b9", "ba", "bb", "bc", "bd", "be", "bf", "c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8", "c9", "ca", "cb", "cc", "cd", "ce", "cf", "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "da", "db", "dc", "dd", "de", "df", "e0", "e1", "e2", "e3", "e4", "e5", "e6", "e7", "e8", "e9", "ea", "eb", "ec", "ed", "ee", "ef", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "fa", "fb", "fc", "fd", "fe", "ff"]; +let _seed = 1234567; +const DEG2RAD = Math.PI / 180; +const RAD2DEG = 180 / Math.PI; +function generateUUID() { + const d0 = Math.random() * 4294967295 | 0; + const d1 = Math.random() * 4294967295 | 0; + const d2 = Math.random() * 4294967295 | 0; + const d3 = Math.random() * 4294967295 | 0; + const uuid = _lut[d0 & 255] + _lut[d0 >> 8 & 255] + _lut[d0 >> 16 & 255] + _lut[d0 >> 24 & 255] + "-" + _lut[d1 & 255] + _lut[d1 >> 8 & 255] + "-" + _lut[d1 >> 16 & 15 | 64] + _lut[d1 >> 24 & 255] + "-" + _lut[d2 & 63 | 128] + _lut[d2 >> 8 & 255] + "-" + _lut[d2 >> 16 & 255] + _lut[d2 >> 24 & 255] + _lut[d3 & 255] + _lut[d3 >> 8 & 255] + _lut[d3 >> 16 & 255] + _lut[d3 >> 24 & 255]; + return uuid.toLowerCase(); +} +__name(generateUUID, "generateUUID"); +function clamp(value, min, max2) { + return Math.max(min, Math.min(max2, value)); +} +__name(clamp, "clamp"); +function euclideanModulo(n, m) { + return (n % m + m) % m; +} +__name(euclideanModulo, "euclideanModulo"); +function mapLinear(x, a1, a2, b1, b22) { + return b1 + (x - a1) * (b22 - b1) / (a2 - a1); +} +__name(mapLinear, "mapLinear"); +function inverseLerp(x, y, value) { + if (x !== y) { + return (value - x) / (y - x); + } else { + return 0; + } +} +__name(inverseLerp, "inverseLerp"); +function lerp(x, y, t2) { + return (1 - t2) * x + t2 * y; +} +__name(lerp, "lerp"); +function damp(x, y, lambda, dt) { + return lerp(x, y, 1 - Math.exp(-lambda * dt)); +} +__name(damp, "damp"); +function pingpong(x, length = 1) { + return length - Math.abs(euclideanModulo(x, length * 2) - length); +} +__name(pingpong, "pingpong"); +function smoothstep(x, min, max2) { + if (x <= min) return 0; + if (x >= max2) return 1; + x = (x - min) / (max2 - min); + return x * x * (3 - 2 * x); +} +__name(smoothstep, "smoothstep"); +function smootherstep(x, min, max2) { + if (x <= min) return 0; + if (x >= max2) return 1; + x = (x - min) / (max2 - min); + return x * x * x * (x * (x * 6 - 15) + 10); +} +__name(smootherstep, "smootherstep"); +function randInt(low, high) { + return low + Math.floor(Math.random() * (high - low + 1)); +} +__name(randInt, "randInt"); +function randFloat(low, high) { + return low + Math.random() * (high - low); +} +__name(randFloat, "randFloat"); +function randFloatSpread(range) { + return range * (0.5 - Math.random()); +} +__name(randFloatSpread, "randFloatSpread"); +function seededRandom(s) { + if (s !== void 0) _seed = s; + let t2 = _seed += 1831565813; + t2 = Math.imul(t2 ^ t2 >>> 15, t2 | 1); + t2 ^= t2 + Math.imul(t2 ^ t2 >>> 7, t2 | 61); + return ((t2 ^ t2 >>> 14) >>> 0) / 4294967296; +} +__name(seededRandom, "seededRandom"); +function degToRad(degrees) { + return degrees * DEG2RAD; +} +__name(degToRad, "degToRad"); +function radToDeg(radians) { + return radians * RAD2DEG; +} +__name(radToDeg, "radToDeg"); +function isPowerOfTwo(value) { + return (value & value - 1) === 0 && value !== 0; +} +__name(isPowerOfTwo, "isPowerOfTwo"); +function ceilPowerOfTwo(value) { + return Math.pow(2, Math.ceil(Math.log(value) / Math.LN2)); +} +__name(ceilPowerOfTwo, "ceilPowerOfTwo"); +function floorPowerOfTwo(value) { + return Math.pow(2, Math.floor(Math.log(value) / Math.LN2)); +} +__name(floorPowerOfTwo, "floorPowerOfTwo"); +function setQuaternionFromProperEuler(q, a, b, c, order) { + const cos = Math.cos; + const sin = Math.sin; + const c2 = cos(b / 2); + const s2 = sin(b / 2); + const c13 = cos((a + c) / 2); + const s13 = sin((a + c) / 2); + const c1_3 = cos((a - c) / 2); + const s1_3 = sin((a - c) / 2); + const c3_1 = cos((c - a) / 2); + const s3_1 = sin((c - a) / 2); + switch (order) { + case "XYX": + q.set(c2 * s13, s2 * c1_3, s2 * s1_3, c2 * c13); + break; + case "YZY": + q.set(s2 * s1_3, c2 * s13, s2 * c1_3, c2 * c13); + break; + case "ZXZ": + q.set(s2 * c1_3, s2 * s1_3, c2 * s13, c2 * c13); + break; + case "XZX": + q.set(c2 * s13, s2 * s3_1, s2 * c3_1, c2 * c13); + break; + case "YXY": + q.set(s2 * c3_1, c2 * s13, s2 * s3_1, c2 * c13); + break; + case "ZYZ": + q.set(s2 * s3_1, s2 * c3_1, c2 * s13, c2 * c13); + break; + default: + console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: " + order); + } +} +__name(setQuaternionFromProperEuler, "setQuaternionFromProperEuler"); +function denormalize(value, array) { + switch (array.constructor) { + case Float32Array: + return value; + case Uint32Array: + return value / 4294967295; + case Uint16Array: + return value / 65535; + case Uint8Array: + return value / 255; + case Int32Array: + return Math.max(value / 2147483647, -1); + case Int16Array: + return Math.max(value / 32767, -1); + case Int8Array: + return Math.max(value / 127, -1); + default: + throw new Error("Invalid component type."); + } +} +__name(denormalize, "denormalize"); +function normalize(value, array) { + switch (array.constructor) { + case Float32Array: + return value; + case Uint32Array: + return Math.round(value * 4294967295); + case Uint16Array: + return Math.round(value * 65535); + case Uint8Array: + return Math.round(value * 255); + case Int32Array: + return Math.round(value * 2147483647); + case Int16Array: + return Math.round(value * 32767); + case Int8Array: + return Math.round(value * 127); + default: + throw new Error("Invalid component type."); + } +} +__name(normalize, "normalize"); +const MathUtils = { + DEG2RAD, + RAD2DEG, + generateUUID, + clamp, + euclideanModulo, + mapLinear, + inverseLerp, + lerp, + damp, + pingpong, + smoothstep, + smootherstep, + randInt, + randFloat, + randFloatSpread, + seededRandom, + degToRad, + radToDeg, + isPowerOfTwo, + ceilPowerOfTwo, + floorPowerOfTwo, + setQuaternionFromProperEuler, + normalize, + denormalize +}; +class Vector2 { + static { + __name(this, "Vector2"); + } + constructor(x = 0, y = 0) { + Vector2.prototype.isVector2 = true; + this.x = x; + this.y = y; + } + get width() { + return this.x; + } + set width(value) { + this.x = value; + } + get height() { + return this.y; + } + set height(value) { + this.y = value; + } + set(x, y) { + this.x = x; + this.y = y; + return this; + } + setScalar(scalar) { + this.x = scalar; + this.y = scalar; + return this; + } + setX(x) { + this.x = x; + return this; + } + setY(y) { + this.y = y; + return this; + } + setComponent(index, value) { + switch (index) { + case 0: + this.x = value; + break; + case 1: + this.y = value; + break; + default: + throw new Error("index is out of range: " + index); + } + return this; + } + getComponent(index) { + switch (index) { + case 0: + return this.x; + case 1: + return this.y; + default: + throw new Error("index is out of range: " + index); + } + } + clone() { + return new this.constructor(this.x, this.y); + } + copy(v) { + this.x = v.x; + this.y = v.y; + return this; + } + add(v) { + this.x += v.x; + this.y += v.y; + return this; + } + addScalar(s) { + this.x += s; + this.y += s; + return this; + } + addVectors(a, b) { + this.x = a.x + b.x; + this.y = a.y + b.y; + return this; + } + addScaledVector(v, s) { + this.x += v.x * s; + this.y += v.y * s; + return this; + } + sub(v) { + this.x -= v.x; + this.y -= v.y; + return this; + } + subScalar(s) { + this.x -= s; + this.y -= s; + return this; + } + subVectors(a, b) { + this.x = a.x - b.x; + this.y = a.y - b.y; + return this; + } + multiply(v) { + this.x *= v.x; + this.y *= v.y; + return this; + } + multiplyScalar(scalar) { + this.x *= scalar; + this.y *= scalar; + return this; + } + divide(v) { + this.x /= v.x; + this.y /= v.y; + return this; + } + divideScalar(scalar) { + return this.multiplyScalar(1 / scalar); + } + applyMatrix3(m) { + const x = this.x, y = this.y; + const e = m.elements; + this.x = e[0] * x + e[3] * y + e[6]; + this.y = e[1] * x + e[4] * y + e[7]; + return this; + } + min(v) { + this.x = Math.min(this.x, v.x); + this.y = Math.min(this.y, v.y); + return this; + } + max(v) { + this.x = Math.max(this.x, v.x); + this.y = Math.max(this.y, v.y); + return this; + } + clamp(min, max2) { + this.x = Math.max(min.x, Math.min(max2.x, this.x)); + this.y = Math.max(min.y, Math.min(max2.y, this.y)); + return this; + } + clampScalar(minVal, maxVal) { + this.x = Math.max(minVal, Math.min(maxVal, this.x)); + this.y = Math.max(minVal, Math.min(maxVal, this.y)); + return this; + } + clampLength(min, max2) { + const length = this.length(); + return this.divideScalar(length || 1).multiplyScalar(Math.max(min, Math.min(max2, length))); + } + floor() { + this.x = Math.floor(this.x); + this.y = Math.floor(this.y); + return this; + } + ceil() { + this.x = Math.ceil(this.x); + this.y = Math.ceil(this.y); + return this; + } + round() { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + return this; + } + roundToZero() { + this.x = Math.trunc(this.x); + this.y = Math.trunc(this.y); + return this; + } + negate() { + this.x = -this.x; + this.y = -this.y; + return this; + } + dot(v) { + return this.x * v.x + this.y * v.y; + } + cross(v) { + return this.x * v.y - this.y * v.x; + } + lengthSq() { + return this.x * this.x + this.y * this.y; + } + length() { + return Math.sqrt(this.x * this.x + this.y * this.y); + } + manhattanLength() { + return Math.abs(this.x) + Math.abs(this.y); + } + normalize() { + return this.divideScalar(this.length() || 1); + } + angle() { + const angle = Math.atan2(-this.y, -this.x) + Math.PI; + return angle; + } + angleTo(v) { + const denominator = Math.sqrt(this.lengthSq() * v.lengthSq()); + if (denominator === 0) return Math.PI / 2; + const theta = this.dot(v) / denominator; + return Math.acos(clamp(theta, -1, 1)); + } + distanceTo(v) { + return Math.sqrt(this.distanceToSquared(v)); + } + distanceToSquared(v) { + const dx = this.x - v.x, dy = this.y - v.y; + return dx * dx + dy * dy; + } + manhattanDistanceTo(v) { + return Math.abs(this.x - v.x) + Math.abs(this.y - v.y); + } + setLength(length) { + return this.normalize().multiplyScalar(length); + } + lerp(v, alpha) { + this.x += (v.x - this.x) * alpha; + this.y += (v.y - this.y) * alpha; + return this; + } + lerpVectors(v1, v2, alpha) { + this.x = v1.x + (v2.x - v1.x) * alpha; + this.y = v1.y + (v2.y - v1.y) * alpha; + return this; + } + equals(v) { + return v.x === this.x && v.y === this.y; + } + fromArray(array, offset = 0) { + this.x = array[offset]; + this.y = array[offset + 1]; + return this; + } + toArray(array = [], offset = 0) { + array[offset] = this.x; + array[offset + 1] = this.y; + return array; + } + fromBufferAttribute(attribute, index) { + this.x = attribute.getX(index); + this.y = attribute.getY(index); + return this; + } + rotateAround(center, angle) { + const c = Math.cos(angle), s = Math.sin(angle); + const x = this.x - center.x; + const y = this.y - center.y; + this.x = x * c - y * s + center.x; + this.y = x * s + y * c + center.y; + return this; + } + random() { + this.x = Math.random(); + this.y = Math.random(); + return this; + } + *[Symbol.iterator]() { + yield this.x; + yield this.y; + } +} +class Matrix3 { + static { + __name(this, "Matrix3"); + } + constructor(n11, n12, n13, n21, n22, n23, n31, n32, n33) { + Matrix3.prototype.isMatrix3 = true; + this.elements = [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1 + ]; + if (n11 !== void 0) { + this.set(n11, n12, n13, n21, n22, n23, n31, n32, n33); + } + } + set(n11, n12, n13, n21, n22, n23, n31, n32, n33) { + const te2 = this.elements; + te2[0] = n11; + te2[1] = n21; + te2[2] = n31; + te2[3] = n12; + te2[4] = n22; + te2[5] = n32; + te2[6] = n13; + te2[7] = n23; + te2[8] = n33; + return this; + } + identity() { + this.set( + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1 + ); + return this; + } + copy(m) { + const te2 = this.elements; + const me = m.elements; + te2[0] = me[0]; + te2[1] = me[1]; + te2[2] = me[2]; + te2[3] = me[3]; + te2[4] = me[4]; + te2[5] = me[5]; + te2[6] = me[6]; + te2[7] = me[7]; + te2[8] = me[8]; + return this; + } + extractBasis(xAxis, yAxis, zAxis) { + xAxis.setFromMatrix3Column(this, 0); + yAxis.setFromMatrix3Column(this, 1); + zAxis.setFromMatrix3Column(this, 2); + return this; + } + setFromMatrix4(m) { + const me = m.elements; + this.set( + me[0], + me[4], + me[8], + me[1], + me[5], + me[9], + me[2], + me[6], + me[10] + ); + return this; + } + multiply(m) { + return this.multiplyMatrices(this, m); + } + premultiply(m) { + return this.multiplyMatrices(m, this); + } + multiplyMatrices(a, b) { + const ae = a.elements; + const be = b.elements; + const te2 = this.elements; + const a11 = ae[0], a12 = ae[3], a13 = ae[6]; + const a21 = ae[1], a22 = ae[4], a23 = ae[7]; + const a31 = ae[2], a32 = ae[5], a33 = ae[8]; + const b11 = be[0], b12 = be[3], b13 = be[6]; + const b21 = be[1], b22 = be[4], b23 = be[7]; + const b31 = be[2], b32 = be[5], b33 = be[8]; + te2[0] = a11 * b11 + a12 * b21 + a13 * b31; + te2[3] = a11 * b12 + a12 * b22 + a13 * b32; + te2[6] = a11 * b13 + a12 * b23 + a13 * b33; + te2[1] = a21 * b11 + a22 * b21 + a23 * b31; + te2[4] = a21 * b12 + a22 * b22 + a23 * b32; + te2[7] = a21 * b13 + a22 * b23 + a23 * b33; + te2[2] = a31 * b11 + a32 * b21 + a33 * b31; + te2[5] = a31 * b12 + a32 * b22 + a33 * b32; + te2[8] = a31 * b13 + a32 * b23 + a33 * b33; + return this; + } + multiplyScalar(s) { + const te2 = this.elements; + te2[0] *= s; + te2[3] *= s; + te2[6] *= s; + te2[1] *= s; + te2[4] *= s; + te2[7] *= s; + te2[2] *= s; + te2[5] *= s; + te2[8] *= s; + return this; + } + determinant() { + const te2 = this.elements; + const a = te2[0], b = te2[1], c = te2[2], d = te2[3], e = te2[4], f = te2[5], g = te2[6], h = te2[7], i = te2[8]; + return a * e * i - a * f * h - b * d * i + b * f * g + c * d * h - c * e * g; + } + invert() { + const te2 = this.elements, n11 = te2[0], n21 = te2[1], n31 = te2[2], n12 = te2[3], n22 = te2[4], n32 = te2[5], n13 = te2[6], n23 = te2[7], n33 = te2[8], t11 = n33 * n22 - n32 * n23, t12 = n32 * n13 - n33 * n12, t13 = n23 * n12 - n22 * n13, det = n11 * t11 + n21 * t12 + n31 * t13; + if (det === 0) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0); + const detInv = 1 / det; + te2[0] = t11 * detInv; + te2[1] = (n31 * n23 - n33 * n21) * detInv; + te2[2] = (n32 * n21 - n31 * n22) * detInv; + te2[3] = t12 * detInv; + te2[4] = (n33 * n11 - n31 * n13) * detInv; + te2[5] = (n31 * n12 - n32 * n11) * detInv; + te2[6] = t13 * detInv; + te2[7] = (n21 * n13 - n23 * n11) * detInv; + te2[8] = (n22 * n11 - n21 * n12) * detInv; + return this; + } + transpose() { + let tmp2; + const m = this.elements; + tmp2 = m[1]; + m[1] = m[3]; + m[3] = tmp2; + tmp2 = m[2]; + m[2] = m[6]; + m[6] = tmp2; + tmp2 = m[5]; + m[5] = m[7]; + m[7] = tmp2; + return this; + } + getNormalMatrix(matrix4) { + return this.setFromMatrix4(matrix4).invert().transpose(); + } + transposeIntoArray(r) { + const m = this.elements; + r[0] = m[0]; + r[1] = m[3]; + r[2] = m[6]; + r[3] = m[1]; + r[4] = m[4]; + r[5] = m[7]; + r[6] = m[2]; + r[7] = m[5]; + r[8] = m[8]; + return this; + } + setUvTransform(tx, ty, sx, sy, rotation, cx, cy) { + const c = Math.cos(rotation); + const s = Math.sin(rotation); + this.set( + sx * c, + sx * s, + -sx * (c * cx + s * cy) + cx + tx, + -sy * s, + sy * c, + -sy * (-s * cx + c * cy) + cy + ty, + 0, + 0, + 1 + ); + return this; + } + // + scale(sx, sy) { + this.premultiply(_m3.makeScale(sx, sy)); + return this; + } + rotate(theta) { + this.premultiply(_m3.makeRotation(-theta)); + return this; + } + translate(tx, ty) { + this.premultiply(_m3.makeTranslation(tx, ty)); + return this; + } + // for 2D Transforms + makeTranslation(x, y) { + if (x.isVector2) { + this.set( + 1, + 0, + x.x, + 0, + 1, + x.y, + 0, + 0, + 1 + ); + } else { + this.set( + 1, + 0, + x, + 0, + 1, + y, + 0, + 0, + 1 + ); + } + return this; + } + makeRotation(theta) { + const c = Math.cos(theta); + const s = Math.sin(theta); + this.set( + c, + -s, + 0, + s, + c, + 0, + 0, + 0, + 1 + ); + return this; + } + makeScale(x, y) { + this.set( + x, + 0, + 0, + 0, + y, + 0, + 0, + 0, + 1 + ); + return this; + } + // + equals(matrix) { + const te2 = this.elements; + const me = matrix.elements; + for (let i = 0; i < 9; i++) { + if (te2[i] !== me[i]) return false; + } + return true; + } + fromArray(array, offset = 0) { + for (let i = 0; i < 9; i++) { + this.elements[i] = array[i + offset]; + } + return this; + } + toArray(array = [], offset = 0) { + const te2 = this.elements; + array[offset] = te2[0]; + array[offset + 1] = te2[1]; + array[offset + 2] = te2[2]; + array[offset + 3] = te2[3]; + array[offset + 4] = te2[4]; + array[offset + 5] = te2[5]; + array[offset + 6] = te2[6]; + array[offset + 7] = te2[7]; + array[offset + 8] = te2[8]; + return array; + } + clone() { + return new this.constructor().fromArray(this.elements); + } +} +const _m3 = /* @__PURE__ */ new Matrix3(); +function arrayNeedsUint32(array) { + for (let i = array.length - 1; i >= 0; --i) { + if (array[i] >= 65535) return true; + } + return false; +} +__name(arrayNeedsUint32, "arrayNeedsUint32"); +const TYPED_ARRAYS = { + Int8Array, + Uint8Array, + Uint8ClampedArray, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array +}; +function getTypedArray(type, buffer) { + return new TYPED_ARRAYS[type](buffer); +} +__name(getTypedArray, "getTypedArray"); +function createElementNS(name) { + return document.createElementNS("http://www.w3.org/1999/xhtml", name); +} +__name(createElementNS, "createElementNS"); +function createCanvasElement() { + const canvas = createElementNS("canvas"); + canvas.style.display = "block"; + return canvas; +} +__name(createCanvasElement, "createCanvasElement"); +const _cache = {}; +function warnOnce(message) { + if (message in _cache) return; + _cache[message] = true; + console.warn(message); +} +__name(warnOnce, "warnOnce"); +function probeAsync(gl, sync, interval) { + return new Promise(function(resolve, reject) { + function probe() { + switch (gl.clientWaitSync(sync, gl.SYNC_FLUSH_COMMANDS_BIT, 0)) { + case gl.WAIT_FAILED: + reject(); + break; + case gl.TIMEOUT_EXPIRED: + setTimeout(probe, interval); + break; + default: + resolve(); + } + } + __name(probe, "probe"); + setTimeout(probe, interval); + }); +} +__name(probeAsync, "probeAsync"); +function toNormalizedProjectionMatrix(projectionMatrix) { + const m = projectionMatrix.elements; + m[2] = 0.5 * m[2] + 0.5 * m[3]; + m[6] = 0.5 * m[6] + 0.5 * m[7]; + m[10] = 0.5 * m[10] + 0.5 * m[11]; + m[14] = 0.5 * m[14] + 0.5 * m[15]; +} +__name(toNormalizedProjectionMatrix, "toNormalizedProjectionMatrix"); +function toReversedProjectionMatrix(projectionMatrix) { + const m = projectionMatrix.elements; + const isPerspectiveMatrix = m[11] === -1; + if (isPerspectiveMatrix) { + m[10] = -m[10] - 1; + m[14] = -m[14]; + } else { + m[10] = -m[10]; + m[14] = -m[14] + 1; + } +} +__name(toReversedProjectionMatrix, "toReversedProjectionMatrix"); +const ColorManagement = { + enabled: true, + workingColorSpace: LinearSRGBColorSpace, + /** + * Implementations of supported color spaces. + * + * Required: + * - primaries: chromaticity coordinates [ rx ry gx gy bx by ] + * - whitePoint: reference white [ x y ] + * - transfer: transfer function (pre-defined) + * - toXYZ: Matrix3 RGB to XYZ transform + * - fromXYZ: Matrix3 XYZ to RGB transform + * - luminanceCoefficients: RGB luminance coefficients + * + * Optional: + * - outputColorSpaceConfig: { drawingBufferColorSpace: ColorSpace } + * - workingColorSpaceConfig: { unpackColorSpace: ColorSpace } + * + * Reference: + * - https://www.russellcottrell.com/photo/matrixCalculator.htm + */ + spaces: {}, + convert: /* @__PURE__ */ __name(function(color, sourceColorSpace, targetColorSpace) { + if (this.enabled === false || sourceColorSpace === targetColorSpace || !sourceColorSpace || !targetColorSpace) { + return color; + } + if (this.spaces[sourceColorSpace].transfer === SRGBTransfer) { + color.r = SRGBToLinear(color.r); + color.g = SRGBToLinear(color.g); + color.b = SRGBToLinear(color.b); + } + if (this.spaces[sourceColorSpace].primaries !== this.spaces[targetColorSpace].primaries) { + color.applyMatrix3(this.spaces[sourceColorSpace].toXYZ); + color.applyMatrix3(this.spaces[targetColorSpace].fromXYZ); + } + if (this.spaces[targetColorSpace].transfer === SRGBTransfer) { + color.r = LinearToSRGB(color.r); + color.g = LinearToSRGB(color.g); + color.b = LinearToSRGB(color.b); + } + return color; + }, "convert"), + fromWorkingColorSpace: /* @__PURE__ */ __name(function(color, targetColorSpace) { + return this.convert(color, this.workingColorSpace, targetColorSpace); + }, "fromWorkingColorSpace"), + toWorkingColorSpace: /* @__PURE__ */ __name(function(color, sourceColorSpace) { + return this.convert(color, sourceColorSpace, this.workingColorSpace); + }, "toWorkingColorSpace"), + getPrimaries: /* @__PURE__ */ __name(function(colorSpace) { + return this.spaces[colorSpace].primaries; + }, "getPrimaries"), + getTransfer: /* @__PURE__ */ __name(function(colorSpace) { + if (colorSpace === NoColorSpace) return LinearTransfer; + return this.spaces[colorSpace].transfer; + }, "getTransfer"), + getLuminanceCoefficients: /* @__PURE__ */ __name(function(target, colorSpace = this.workingColorSpace) { + return target.fromArray(this.spaces[colorSpace].luminanceCoefficients); + }, "getLuminanceCoefficients"), + define: /* @__PURE__ */ __name(function(colorSpaces) { + Object.assign(this.spaces, colorSpaces); + }, "define"), + // Internal APIs + _getMatrix: /* @__PURE__ */ __name(function(targetMatrix, sourceColorSpace, targetColorSpace) { + return targetMatrix.copy(this.spaces[sourceColorSpace].toXYZ).multiply(this.spaces[targetColorSpace].fromXYZ); + }, "_getMatrix"), + _getDrawingBufferColorSpace: /* @__PURE__ */ __name(function(colorSpace) { + return this.spaces[colorSpace].outputColorSpaceConfig.drawingBufferColorSpace; + }, "_getDrawingBufferColorSpace"), + _getUnpackColorSpace: /* @__PURE__ */ __name(function(colorSpace = this.workingColorSpace) { + return this.spaces[colorSpace].workingColorSpaceConfig.unpackColorSpace; + }, "_getUnpackColorSpace") +}; +function SRGBToLinear(c) { + return c < 0.04045 ? c * 0.0773993808 : Math.pow(c * 0.9478672986 + 0.0521327014, 2.4); +} +__name(SRGBToLinear, "SRGBToLinear"); +function LinearToSRGB(c) { + return c < 31308e-7 ? c * 12.92 : 1.055 * Math.pow(c, 0.41666) - 0.055; +} +__name(LinearToSRGB, "LinearToSRGB"); +const REC709_PRIMARIES = [0.64, 0.33, 0.3, 0.6, 0.15, 0.06]; +const REC709_LUMINANCE_COEFFICIENTS = [0.2126, 0.7152, 0.0722]; +const D65 = [0.3127, 0.329]; +const LINEAR_REC709_TO_XYZ = /* @__PURE__ */ new Matrix3().set( + 0.4123908, + 0.3575843, + 0.1804808, + 0.212639, + 0.7151687, + 0.0721923, + 0.0193308, + 0.1191948, + 0.9505322 +); +const XYZ_TO_LINEAR_REC709 = /* @__PURE__ */ new Matrix3().set( + 3.2409699, + -1.5373832, + -0.4986108, + -0.9692436, + 1.8759675, + 0.0415551, + 0.0556301, + -0.203977, + 1.0569715 +); +ColorManagement.define({ + [LinearSRGBColorSpace]: { + primaries: REC709_PRIMARIES, + whitePoint: D65, + transfer: LinearTransfer, + toXYZ: LINEAR_REC709_TO_XYZ, + fromXYZ: XYZ_TO_LINEAR_REC709, + luminanceCoefficients: REC709_LUMINANCE_COEFFICIENTS, + workingColorSpaceConfig: { unpackColorSpace: SRGBColorSpace }, + outputColorSpaceConfig: { drawingBufferColorSpace: SRGBColorSpace } + }, + [SRGBColorSpace]: { + primaries: REC709_PRIMARIES, + whitePoint: D65, + transfer: SRGBTransfer, + toXYZ: LINEAR_REC709_TO_XYZ, + fromXYZ: XYZ_TO_LINEAR_REC709, + luminanceCoefficients: REC709_LUMINANCE_COEFFICIENTS, + outputColorSpaceConfig: { drawingBufferColorSpace: SRGBColorSpace } + } +}); +let _canvas; +class ImageUtils { + static { + __name(this, "ImageUtils"); + } + static getDataURL(image) { + if (/^data:/i.test(image.src)) { + return image.src; + } + if (typeof HTMLCanvasElement === "undefined") { + return image.src; + } + let canvas; + if (image instanceof HTMLCanvasElement) { + canvas = image; + } else { + if (_canvas === void 0) _canvas = createElementNS("canvas"); + _canvas.width = image.width; + _canvas.height = image.height; + const context = _canvas.getContext("2d"); + if (image instanceof ImageData) { + context.putImageData(image, 0, 0); + } else { + context.drawImage(image, 0, 0, image.width, image.height); + } + canvas = _canvas; + } + if (canvas.width > 2048 || canvas.height > 2048) { + console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons", image); + return canvas.toDataURL("image/jpeg", 0.6); + } else { + return canvas.toDataURL("image/png"); + } + } + static sRGBToLinear(image) { + if (typeof HTMLImageElement !== "undefined" && image instanceof HTMLImageElement || typeof HTMLCanvasElement !== "undefined" && image instanceof HTMLCanvasElement || typeof ImageBitmap !== "undefined" && image instanceof ImageBitmap) { + const canvas = createElementNS("canvas"); + canvas.width = image.width; + canvas.height = image.height; + const context = canvas.getContext("2d"); + context.drawImage(image, 0, 0, image.width, image.height); + const imageData = context.getImageData(0, 0, image.width, image.height); + const data = imageData.data; + for (let i = 0; i < data.length; i++) { + data[i] = SRGBToLinear(data[i] / 255) * 255; + } + context.putImageData(imageData, 0, 0); + return canvas; + } else if (image.data) { + const data = image.data.slice(0); + for (let i = 0; i < data.length; i++) { + if (data instanceof Uint8Array || data instanceof Uint8ClampedArray) { + data[i] = Math.floor(SRGBToLinear(data[i] / 255) * 255); + } else { + data[i] = SRGBToLinear(data[i]); + } + } + return { + data, + width: image.width, + height: image.height + }; + } else { + console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."); + return image; + } + } +} +let _sourceId = 0; +class Source { + static { + __name(this, "Source"); + } + constructor(data = null) { + this.isSource = true; + Object.defineProperty(this, "id", { value: _sourceId++ }); + this.uuid = generateUUID(); + this.data = data; + this.dataReady = true; + this.version = 0; + } + set needsUpdate(value) { + if (value === true) this.version++; + } + toJSON(meta) { + const isRootObject = meta === void 0 || typeof meta === "string"; + if (!isRootObject && meta.images[this.uuid] !== void 0) { + return meta.images[this.uuid]; + } + const output = { + uuid: this.uuid, + url: "" + }; + const data = this.data; + if (data !== null) { + let url; + if (Array.isArray(data)) { + url = []; + for (let i = 0, l = data.length; i < l; i++) { + if (data[i].isDataTexture) { + url.push(serializeImage(data[i].image)); + } else { + url.push(serializeImage(data[i])); + } + } + } else { + url = serializeImage(data); + } + output.url = url; + } + if (!isRootObject) { + meta.images[this.uuid] = output; + } + return output; + } +} +function serializeImage(image) { + if (typeof HTMLImageElement !== "undefined" && image instanceof HTMLImageElement || typeof HTMLCanvasElement !== "undefined" && image instanceof HTMLCanvasElement || typeof ImageBitmap !== "undefined" && image instanceof ImageBitmap) { + return ImageUtils.getDataURL(image); + } else { + if (image.data) { + return { + data: Array.from(image.data), + width: image.width, + height: image.height, + type: image.data.constructor.name + }; + } else { + console.warn("THREE.Texture: Unable to serialize Texture."); + return {}; + } + } +} +__name(serializeImage, "serializeImage"); +let _textureId = 0; +class Texture extends EventDispatcher { + static { + __name(this, "Texture"); + } + constructor(image = Texture.DEFAULT_IMAGE, mapping = Texture.DEFAULT_MAPPING, wrapS = ClampToEdgeWrapping, wrapT = ClampToEdgeWrapping, magFilter = LinearFilter, minFilter = LinearMipmapLinearFilter, format = RGBAFormat, type = UnsignedByteType, anisotropy = Texture.DEFAULT_ANISOTROPY, colorSpace = NoColorSpace) { + super(); + this.isTexture = true; + Object.defineProperty(this, "id", { value: _textureId++ }); + this.uuid = generateUUID(); + this.name = ""; + this.source = new Source(image); + this.mipmaps = []; + this.mapping = mapping; + this.channel = 0; + this.wrapS = wrapS; + this.wrapT = wrapT; + this.magFilter = magFilter; + this.minFilter = minFilter; + this.anisotropy = anisotropy; + this.format = format; + this.internalFormat = null; + this.type = type; + this.offset = new Vector2(0, 0); + this.repeat = new Vector2(1, 1); + this.center = new Vector2(0, 0); + this.rotation = 0; + this.matrixAutoUpdate = true; + this.matrix = new Matrix3(); + this.generateMipmaps = true; + this.premultiplyAlpha = false; + this.flipY = true; + this.unpackAlignment = 4; + this.colorSpace = colorSpace; + this.userData = {}; + this.version = 0; + this.onUpdate = null; + this.isRenderTargetTexture = false; + this.pmremVersion = 0; + } + get image() { + return this.source.data; + } + set image(value = null) { + this.source.data = value; + } + updateMatrix() { + this.matrix.setUvTransform(this.offset.x, this.offset.y, this.repeat.x, this.repeat.y, this.rotation, this.center.x, this.center.y); + } + clone() { + return new this.constructor().copy(this); + } + copy(source) { + this.name = source.name; + this.source = source.source; + this.mipmaps = source.mipmaps.slice(0); + this.mapping = source.mapping; + this.channel = source.channel; + this.wrapS = source.wrapS; + this.wrapT = source.wrapT; + this.magFilter = source.magFilter; + this.minFilter = source.minFilter; + this.anisotropy = source.anisotropy; + this.format = source.format; + this.internalFormat = source.internalFormat; + this.type = source.type; + this.offset.copy(source.offset); + this.repeat.copy(source.repeat); + this.center.copy(source.center); + this.rotation = source.rotation; + this.matrixAutoUpdate = source.matrixAutoUpdate; + this.matrix.copy(source.matrix); + this.generateMipmaps = source.generateMipmaps; + this.premultiplyAlpha = source.premultiplyAlpha; + this.flipY = source.flipY; + this.unpackAlignment = source.unpackAlignment; + this.colorSpace = source.colorSpace; + this.userData = JSON.parse(JSON.stringify(source.userData)); + this.needsUpdate = true; + return this; + } + toJSON(meta) { + const isRootObject = meta === void 0 || typeof meta === "string"; + if (!isRootObject && meta.textures[this.uuid] !== void 0) { + return meta.textures[this.uuid]; + } + const output = { + metadata: { + version: 4.6, + type: "Texture", + generator: "Texture.toJSON" + }, + uuid: this.uuid, + name: this.name, + image: this.source.toJSON(meta).uuid, + mapping: this.mapping, + channel: this.channel, + repeat: [this.repeat.x, this.repeat.y], + offset: [this.offset.x, this.offset.y], + center: [this.center.x, this.center.y], + rotation: this.rotation, + wrap: [this.wrapS, this.wrapT], + format: this.format, + internalFormat: this.internalFormat, + type: this.type, + colorSpace: this.colorSpace, + minFilter: this.minFilter, + magFilter: this.magFilter, + anisotropy: this.anisotropy, + flipY: this.flipY, + generateMipmaps: this.generateMipmaps, + premultiplyAlpha: this.premultiplyAlpha, + unpackAlignment: this.unpackAlignment + }; + if (Object.keys(this.userData).length > 0) output.userData = this.userData; + if (!isRootObject) { + meta.textures[this.uuid] = output; + } + return output; + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } + transformUv(uv) { + if (this.mapping !== UVMapping) return uv; + uv.applyMatrix3(this.matrix); + if (uv.x < 0 || uv.x > 1) { + switch (this.wrapS) { + case RepeatWrapping: + uv.x = uv.x - Math.floor(uv.x); + break; + case ClampToEdgeWrapping: + uv.x = uv.x < 0 ? 0 : 1; + break; + case MirroredRepeatWrapping: + if (Math.abs(Math.floor(uv.x) % 2) === 1) { + uv.x = Math.ceil(uv.x) - uv.x; + } else { + uv.x = uv.x - Math.floor(uv.x); + } + break; + } + } + if (uv.y < 0 || uv.y > 1) { + switch (this.wrapT) { + case RepeatWrapping: + uv.y = uv.y - Math.floor(uv.y); + break; + case ClampToEdgeWrapping: + uv.y = uv.y < 0 ? 0 : 1; + break; + case MirroredRepeatWrapping: + if (Math.abs(Math.floor(uv.y) % 2) === 1) { + uv.y = Math.ceil(uv.y) - uv.y; + } else { + uv.y = uv.y - Math.floor(uv.y); + } + break; + } + } + if (this.flipY) { + uv.y = 1 - uv.y; + } + return uv; + } + set needsUpdate(value) { + if (value === true) { + this.version++; + this.source.needsUpdate = true; + } + } + set needsPMREMUpdate(value) { + if (value === true) { + this.pmremVersion++; + } + } +} +Texture.DEFAULT_IMAGE = null; +Texture.DEFAULT_MAPPING = UVMapping; +Texture.DEFAULT_ANISOTROPY = 1; +class Vector4 { + static { + __name(this, "Vector4"); + } + constructor(x = 0, y = 0, z = 0, w = 1) { + Vector4.prototype.isVector4 = true; + this.x = x; + this.y = y; + this.z = z; + this.w = w; + } + get width() { + return this.z; + } + set width(value) { + this.z = value; + } + get height() { + return this.w; + } + set height(value) { + this.w = value; + } + set(x, y, z, w) { + this.x = x; + this.y = y; + this.z = z; + this.w = w; + return this; + } + setScalar(scalar) { + this.x = scalar; + this.y = scalar; + this.z = scalar; + this.w = scalar; + return this; + } + setX(x) { + this.x = x; + return this; + } + setY(y) { + this.y = y; + return this; + } + setZ(z) { + this.z = z; + return this; + } + setW(w) { + this.w = w; + return this; + } + setComponent(index, value) { + switch (index) { + case 0: + this.x = value; + break; + case 1: + this.y = value; + break; + case 2: + this.z = value; + break; + case 3: + this.w = value; + break; + default: + throw new Error("index is out of range: " + index); + } + return this; + } + getComponent(index) { + switch (index) { + case 0: + return this.x; + case 1: + return this.y; + case 2: + return this.z; + case 3: + return this.w; + default: + throw new Error("index is out of range: " + index); + } + } + clone() { + return new this.constructor(this.x, this.y, this.z, this.w); + } + copy(v) { + this.x = v.x; + this.y = v.y; + this.z = v.z; + this.w = v.w !== void 0 ? v.w : 1; + return this; + } + add(v) { + this.x += v.x; + this.y += v.y; + this.z += v.z; + this.w += v.w; + return this; + } + addScalar(s) { + this.x += s; + this.y += s; + this.z += s; + this.w += s; + return this; + } + addVectors(a, b) { + this.x = a.x + b.x; + this.y = a.y + b.y; + this.z = a.z + b.z; + this.w = a.w + b.w; + return this; + } + addScaledVector(v, s) { + this.x += v.x * s; + this.y += v.y * s; + this.z += v.z * s; + this.w += v.w * s; + return this; + } + sub(v) { + this.x -= v.x; + this.y -= v.y; + this.z -= v.z; + this.w -= v.w; + return this; + } + subScalar(s) { + this.x -= s; + this.y -= s; + this.z -= s; + this.w -= s; + return this; + } + subVectors(a, b) { + this.x = a.x - b.x; + this.y = a.y - b.y; + this.z = a.z - b.z; + this.w = a.w - b.w; + return this; + } + multiply(v) { + this.x *= v.x; + this.y *= v.y; + this.z *= v.z; + this.w *= v.w; + return this; + } + multiplyScalar(scalar) { + this.x *= scalar; + this.y *= scalar; + this.z *= scalar; + this.w *= scalar; + return this; + } + applyMatrix4(m) { + const x = this.x, y = this.y, z = this.z, w = this.w; + const e = m.elements; + this.x = e[0] * x + e[4] * y + e[8] * z + e[12] * w; + this.y = e[1] * x + e[5] * y + e[9] * z + e[13] * w; + this.z = e[2] * x + e[6] * y + e[10] * z + e[14] * w; + this.w = e[3] * x + e[7] * y + e[11] * z + e[15] * w; + return this; + } + divide(v) { + this.x /= v.x; + this.y /= v.y; + this.z /= v.z; + this.w /= v.w; + return this; + } + divideScalar(scalar) { + return this.multiplyScalar(1 / scalar); + } + setAxisAngleFromQuaternion(q) { + this.w = 2 * Math.acos(q.w); + const s = Math.sqrt(1 - q.w * q.w); + if (s < 1e-4) { + this.x = 1; + this.y = 0; + this.z = 0; + } else { + this.x = q.x / s; + this.y = q.y / s; + this.z = q.z / s; + } + return this; + } + setAxisAngleFromRotationMatrix(m) { + let angle, x, y, z; + const epsilon = 0.01, epsilon2 = 0.1, te2 = m.elements, m11 = te2[0], m12 = te2[4], m13 = te2[8], m21 = te2[1], m22 = te2[5], m23 = te2[9], m31 = te2[2], m32 = te2[6], m33 = te2[10]; + if (Math.abs(m12 - m21) < epsilon && Math.abs(m13 - m31) < epsilon && Math.abs(m23 - m32) < epsilon) { + if (Math.abs(m12 + m21) < epsilon2 && Math.abs(m13 + m31) < epsilon2 && Math.abs(m23 + m32) < epsilon2 && Math.abs(m11 + m22 + m33 - 3) < epsilon2) { + this.set(1, 0, 0, 0); + return this; + } + angle = Math.PI; + const xx = (m11 + 1) / 2; + const yy = (m22 + 1) / 2; + const zz = (m33 + 1) / 2; + const xy = (m12 + m21) / 4; + const xz = (m13 + m31) / 4; + const yz = (m23 + m32) / 4; + if (xx > yy && xx > zz) { + if (xx < epsilon) { + x = 0; + y = 0.707106781; + z = 0.707106781; + } else { + x = Math.sqrt(xx); + y = xy / x; + z = xz / x; + } + } else if (yy > zz) { + if (yy < epsilon) { + x = 0.707106781; + y = 0; + z = 0.707106781; + } else { + y = Math.sqrt(yy); + x = xy / y; + z = yz / y; + } + } else { + if (zz < epsilon) { + x = 0.707106781; + y = 0.707106781; + z = 0; + } else { + z = Math.sqrt(zz); + x = xz / z; + y = yz / z; + } + } + this.set(x, y, z, angle); + return this; + } + let s = Math.sqrt((m32 - m23) * (m32 - m23) + (m13 - m31) * (m13 - m31) + (m21 - m12) * (m21 - m12)); + if (Math.abs(s) < 1e-3) s = 1; + this.x = (m32 - m23) / s; + this.y = (m13 - m31) / s; + this.z = (m21 - m12) / s; + this.w = Math.acos((m11 + m22 + m33 - 1) / 2); + return this; + } + setFromMatrixPosition(m) { + const e = m.elements; + this.x = e[12]; + this.y = e[13]; + this.z = e[14]; + this.w = e[15]; + return this; + } + min(v) { + this.x = Math.min(this.x, v.x); + this.y = Math.min(this.y, v.y); + this.z = Math.min(this.z, v.z); + this.w = Math.min(this.w, v.w); + return this; + } + max(v) { + this.x = Math.max(this.x, v.x); + this.y = Math.max(this.y, v.y); + this.z = Math.max(this.z, v.z); + this.w = Math.max(this.w, v.w); + return this; + } + clamp(min, max2) { + this.x = Math.max(min.x, Math.min(max2.x, this.x)); + this.y = Math.max(min.y, Math.min(max2.y, this.y)); + this.z = Math.max(min.z, Math.min(max2.z, this.z)); + this.w = Math.max(min.w, Math.min(max2.w, this.w)); + return this; + } + clampScalar(minVal, maxVal) { + this.x = Math.max(minVal, Math.min(maxVal, this.x)); + this.y = Math.max(minVal, Math.min(maxVal, this.y)); + this.z = Math.max(minVal, Math.min(maxVal, this.z)); + this.w = Math.max(minVal, Math.min(maxVal, this.w)); + return this; + } + clampLength(min, max2) { + const length = this.length(); + return this.divideScalar(length || 1).multiplyScalar(Math.max(min, Math.min(max2, length))); + } + floor() { + this.x = Math.floor(this.x); + this.y = Math.floor(this.y); + this.z = Math.floor(this.z); + this.w = Math.floor(this.w); + return this; + } + ceil() { + this.x = Math.ceil(this.x); + this.y = Math.ceil(this.y); + this.z = Math.ceil(this.z); + this.w = Math.ceil(this.w); + return this; + } + round() { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + this.z = Math.round(this.z); + this.w = Math.round(this.w); + return this; + } + roundToZero() { + this.x = Math.trunc(this.x); + this.y = Math.trunc(this.y); + this.z = Math.trunc(this.z); + this.w = Math.trunc(this.w); + return this; + } + negate() { + this.x = -this.x; + this.y = -this.y; + this.z = -this.z; + this.w = -this.w; + return this; + } + dot(v) { + return this.x * v.x + this.y * v.y + this.z * v.z + this.w * v.w; + } + lengthSq() { + return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w; + } + length() { + return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w); + } + manhattanLength() { + return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z) + Math.abs(this.w); + } + normalize() { + return this.divideScalar(this.length() || 1); + } + setLength(length) { + return this.normalize().multiplyScalar(length); + } + lerp(v, alpha) { + this.x += (v.x - this.x) * alpha; + this.y += (v.y - this.y) * alpha; + this.z += (v.z - this.z) * alpha; + this.w += (v.w - this.w) * alpha; + return this; + } + lerpVectors(v1, v2, alpha) { + this.x = v1.x + (v2.x - v1.x) * alpha; + this.y = v1.y + (v2.y - v1.y) * alpha; + this.z = v1.z + (v2.z - v1.z) * alpha; + this.w = v1.w + (v2.w - v1.w) * alpha; + return this; + } + equals(v) { + return v.x === this.x && v.y === this.y && v.z === this.z && v.w === this.w; + } + fromArray(array, offset = 0) { + this.x = array[offset]; + this.y = array[offset + 1]; + this.z = array[offset + 2]; + this.w = array[offset + 3]; + return this; + } + toArray(array = [], offset = 0) { + array[offset] = this.x; + array[offset + 1] = this.y; + array[offset + 2] = this.z; + array[offset + 3] = this.w; + return array; + } + fromBufferAttribute(attribute, index) { + this.x = attribute.getX(index); + this.y = attribute.getY(index); + this.z = attribute.getZ(index); + this.w = attribute.getW(index); + return this; + } + random() { + this.x = Math.random(); + this.y = Math.random(); + this.z = Math.random(); + this.w = Math.random(); + return this; + } + *[Symbol.iterator]() { + yield this.x; + yield this.y; + yield this.z; + yield this.w; + } +} +class RenderTarget extends EventDispatcher { + static { + __name(this, "RenderTarget"); + } + constructor(width = 1, height = 1, options = {}) { + super(); + this.isRenderTarget = true; + this.width = width; + this.height = height; + this.depth = 1; + this.scissor = new Vector4(0, 0, width, height); + this.scissorTest = false; + this.viewport = new Vector4(0, 0, width, height); + const image = { width, height, depth: 1 }; + options = Object.assign({ + generateMipmaps: false, + internalFormat: null, + minFilter: LinearFilter, + depthBuffer: true, + stencilBuffer: false, + resolveDepthBuffer: true, + resolveStencilBuffer: true, + depthTexture: null, + samples: 0, + count: 1 + }, options); + const texture = new Texture(image, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.colorSpace); + texture.flipY = false; + texture.generateMipmaps = options.generateMipmaps; + texture.internalFormat = options.internalFormat; + this.textures = []; + const count = options.count; + for (let i = 0; i < count; i++) { + this.textures[i] = texture.clone(); + this.textures[i].isRenderTargetTexture = true; + } + this.depthBuffer = options.depthBuffer; + this.stencilBuffer = options.stencilBuffer; + this.resolveDepthBuffer = options.resolveDepthBuffer; + this.resolveStencilBuffer = options.resolveStencilBuffer; + this.depthTexture = options.depthTexture; + this.samples = options.samples; + } + get texture() { + return this.textures[0]; + } + set texture(value) { + this.textures[0] = value; + } + setSize(width, height, depth = 1) { + if (this.width !== width || this.height !== height || this.depth !== depth) { + this.width = width; + this.height = height; + this.depth = depth; + for (let i = 0, il = this.textures.length; i < il; i++) { + this.textures[i].image.width = width; + this.textures[i].image.height = height; + this.textures[i].image.depth = depth; + } + this.dispose(); + } + this.viewport.set(0, 0, width, height); + this.scissor.set(0, 0, width, height); + } + clone() { + return new this.constructor().copy(this); + } + copy(source) { + this.width = source.width; + this.height = source.height; + this.depth = source.depth; + this.scissor.copy(source.scissor); + this.scissorTest = source.scissorTest; + this.viewport.copy(source.viewport); + this.textures.length = 0; + for (let i = 0, il = source.textures.length; i < il; i++) { + this.textures[i] = source.textures[i].clone(); + this.textures[i].isRenderTargetTexture = true; + } + const image = Object.assign({}, source.texture.image); + this.texture.source = new Source(image); + this.depthBuffer = source.depthBuffer; + this.stencilBuffer = source.stencilBuffer; + this.resolveDepthBuffer = source.resolveDepthBuffer; + this.resolveStencilBuffer = source.resolveStencilBuffer; + if (source.depthTexture !== null) this.depthTexture = source.depthTexture.clone(); + this.samples = source.samples; + return this; + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } +} +class WebGLRenderTarget extends RenderTarget { + static { + __name(this, "WebGLRenderTarget"); + } + constructor(width = 1, height = 1, options = {}) { + super(width, height, options); + this.isWebGLRenderTarget = true; + } +} +class DataArrayTexture extends Texture { + static { + __name(this, "DataArrayTexture"); + } + constructor(data = null, width = 1, height = 1, depth = 1) { + super(null); + this.isDataArrayTexture = true; + this.image = { data, width, height, depth }; + this.magFilter = NearestFilter; + this.minFilter = NearestFilter; + this.wrapR = ClampToEdgeWrapping; + this.generateMipmaps = false; + this.flipY = false; + this.unpackAlignment = 1; + this.layerUpdates = /* @__PURE__ */ new Set(); + } + addLayerUpdate(layerIndex) { + this.layerUpdates.add(layerIndex); + } + clearLayerUpdates() { + this.layerUpdates.clear(); + } +} +class WebGLArrayRenderTarget extends WebGLRenderTarget { + static { + __name(this, "WebGLArrayRenderTarget"); + } + constructor(width = 1, height = 1, depth = 1, options = {}) { + super(width, height, options); + this.isWebGLArrayRenderTarget = true; + this.depth = depth; + this.texture = new DataArrayTexture(null, width, height, depth); + this.texture.isRenderTargetTexture = true; + } +} +class Data3DTexture extends Texture { + static { + __name(this, "Data3DTexture"); + } + constructor(data = null, width = 1, height = 1, depth = 1) { + super(null); + this.isData3DTexture = true; + this.image = { data, width, height, depth }; + this.magFilter = NearestFilter; + this.minFilter = NearestFilter; + this.wrapR = ClampToEdgeWrapping; + this.generateMipmaps = false; + this.flipY = false; + this.unpackAlignment = 1; + } +} +class WebGL3DRenderTarget extends WebGLRenderTarget { + static { + __name(this, "WebGL3DRenderTarget"); + } + constructor(width = 1, height = 1, depth = 1, options = {}) { + super(width, height, options); + this.isWebGL3DRenderTarget = true; + this.depth = depth; + this.texture = new Data3DTexture(null, width, height, depth); + this.texture.isRenderTargetTexture = true; + } +} +class Quaternion { + static { + __name(this, "Quaternion"); + } + constructor(x = 0, y = 0, z = 0, w = 1) { + this.isQuaternion = true; + this._x = x; + this._y = y; + this._z = z; + this._w = w; + } + static slerpFlat(dst, dstOffset, src0, srcOffset0, src1, srcOffset1, t2) { + let x0 = src0[srcOffset0 + 0], y0 = src0[srcOffset0 + 1], z0 = src0[srcOffset0 + 2], w0 = src0[srcOffset0 + 3]; + const x1 = src1[srcOffset1 + 0], y1 = src1[srcOffset1 + 1], z1 = src1[srcOffset1 + 2], w1 = src1[srcOffset1 + 3]; + if (t2 === 0) { + dst[dstOffset + 0] = x0; + dst[dstOffset + 1] = y0; + dst[dstOffset + 2] = z0; + dst[dstOffset + 3] = w0; + return; + } + if (t2 === 1) { + dst[dstOffset + 0] = x1; + dst[dstOffset + 1] = y1; + dst[dstOffset + 2] = z1; + dst[dstOffset + 3] = w1; + return; + } + if (w0 !== w1 || x0 !== x1 || y0 !== y1 || z0 !== z1) { + let s = 1 - t2; + const cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1, dir = cos >= 0 ? 1 : -1, sqrSin = 1 - cos * cos; + if (sqrSin > Number.EPSILON) { + const sin = Math.sqrt(sqrSin), len = Math.atan2(sin, cos * dir); + s = Math.sin(s * len) / sin; + t2 = Math.sin(t2 * len) / sin; + } + const tDir = t2 * dir; + x0 = x0 * s + x1 * tDir; + y0 = y0 * s + y1 * tDir; + z0 = z0 * s + z1 * tDir; + w0 = w0 * s + w1 * tDir; + if (s === 1 - t2) { + const f = 1 / Math.sqrt(x0 * x0 + y0 * y0 + z0 * z0 + w0 * w0); + x0 *= f; + y0 *= f; + z0 *= f; + w0 *= f; + } + } + dst[dstOffset] = x0; + dst[dstOffset + 1] = y0; + dst[dstOffset + 2] = z0; + dst[dstOffset + 3] = w0; + } + static multiplyQuaternionsFlat(dst, dstOffset, src0, srcOffset0, src1, srcOffset1) { + const x0 = src0[srcOffset0]; + const y0 = src0[srcOffset0 + 1]; + const z0 = src0[srcOffset0 + 2]; + const w0 = src0[srcOffset0 + 3]; + const x1 = src1[srcOffset1]; + const y1 = src1[srcOffset1 + 1]; + const z1 = src1[srcOffset1 + 2]; + const w1 = src1[srcOffset1 + 3]; + dst[dstOffset] = x0 * w1 + w0 * x1 + y0 * z1 - z0 * y1; + dst[dstOffset + 1] = y0 * w1 + w0 * y1 + z0 * x1 - x0 * z1; + dst[dstOffset + 2] = z0 * w1 + w0 * z1 + x0 * y1 - y0 * x1; + dst[dstOffset + 3] = w0 * w1 - x0 * x1 - y0 * y1 - z0 * z1; + return dst; + } + get x() { + return this._x; + } + set x(value) { + this._x = value; + this._onChangeCallback(); + } + get y() { + return this._y; + } + set y(value) { + this._y = value; + this._onChangeCallback(); + } + get z() { + return this._z; + } + set z(value) { + this._z = value; + this._onChangeCallback(); + } + get w() { + return this._w; + } + set w(value) { + this._w = value; + this._onChangeCallback(); + } + set(x, y, z, w) { + this._x = x; + this._y = y; + this._z = z; + this._w = w; + this._onChangeCallback(); + return this; + } + clone() { + return new this.constructor(this._x, this._y, this._z, this._w); + } + copy(quaternion) { + this._x = quaternion.x; + this._y = quaternion.y; + this._z = quaternion.z; + this._w = quaternion.w; + this._onChangeCallback(); + return this; + } + setFromEuler(euler, update = true) { + const x = euler._x, y = euler._y, z = euler._z, order = euler._order; + const cos = Math.cos; + const sin = Math.sin; + const c1 = cos(x / 2); + const c2 = cos(y / 2); + const c3 = cos(z / 2); + const s1 = sin(x / 2); + const s2 = sin(y / 2); + const s3 = sin(z / 2); + switch (order) { + case "XYZ": + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; + case "YXZ": + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; + case "ZXY": + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; + case "ZYX": + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; + case "YZX": + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; + case "XZY": + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; + default: + console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: " + order); + } + if (update === true) this._onChangeCallback(); + return this; + } + setFromAxisAngle(axis, angle) { + const halfAngle = angle / 2, s = Math.sin(halfAngle); + this._x = axis.x * s; + this._y = axis.y * s; + this._z = axis.z * s; + this._w = Math.cos(halfAngle); + this._onChangeCallback(); + return this; + } + setFromRotationMatrix(m) { + const te2 = m.elements, m11 = te2[0], m12 = te2[4], m13 = te2[8], m21 = te2[1], m22 = te2[5], m23 = te2[9], m31 = te2[2], m32 = te2[6], m33 = te2[10], trace = m11 + m22 + m33; + if (trace > 0) { + const s = 0.5 / Math.sqrt(trace + 1); + this._w = 0.25 / s; + this._x = (m32 - m23) * s; + this._y = (m13 - m31) * s; + this._z = (m21 - m12) * s; + } else if (m11 > m22 && m11 > m33) { + const s = 2 * Math.sqrt(1 + m11 - m22 - m33); + this._w = (m32 - m23) / s; + this._x = 0.25 * s; + this._y = (m12 + m21) / s; + this._z = (m13 + m31) / s; + } else if (m22 > m33) { + const s = 2 * Math.sqrt(1 + m22 - m11 - m33); + this._w = (m13 - m31) / s; + this._x = (m12 + m21) / s; + this._y = 0.25 * s; + this._z = (m23 + m32) / s; + } else { + const s = 2 * Math.sqrt(1 + m33 - m11 - m22); + this._w = (m21 - m12) / s; + this._x = (m13 + m31) / s; + this._y = (m23 + m32) / s; + this._z = 0.25 * s; + } + this._onChangeCallback(); + return this; + } + setFromUnitVectors(vFrom, vTo) { + let r = vFrom.dot(vTo) + 1; + if (r < Number.EPSILON) { + r = 0; + if (Math.abs(vFrom.x) > Math.abs(vFrom.z)) { + this._x = -vFrom.y; + this._y = vFrom.x; + this._z = 0; + this._w = r; + } else { + this._x = 0; + this._y = -vFrom.z; + this._z = vFrom.y; + this._w = r; + } + } else { + this._x = vFrom.y * vTo.z - vFrom.z * vTo.y; + this._y = vFrom.z * vTo.x - vFrom.x * vTo.z; + this._z = vFrom.x * vTo.y - vFrom.y * vTo.x; + this._w = r; + } + return this.normalize(); + } + angleTo(q) { + return 2 * Math.acos(Math.abs(clamp(this.dot(q), -1, 1))); + } + rotateTowards(q, step) { + const angle = this.angleTo(q); + if (angle === 0) return this; + const t2 = Math.min(1, step / angle); + this.slerp(q, t2); + return this; + } + identity() { + return this.set(0, 0, 0, 1); + } + invert() { + return this.conjugate(); + } + conjugate() { + this._x *= -1; + this._y *= -1; + this._z *= -1; + this._onChangeCallback(); + return this; + } + dot(v) { + return this._x * v._x + this._y * v._y + this._z * v._z + this._w * v._w; + } + lengthSq() { + return this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w; + } + length() { + return Math.sqrt(this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w); + } + normalize() { + let l = this.length(); + if (l === 0) { + this._x = 0; + this._y = 0; + this._z = 0; + this._w = 1; + } else { + l = 1 / l; + this._x = this._x * l; + this._y = this._y * l; + this._z = this._z * l; + this._w = this._w * l; + } + this._onChangeCallback(); + return this; + } + multiply(q) { + return this.multiplyQuaternions(this, q); + } + premultiply(q) { + return this.multiplyQuaternions(q, this); + } + multiplyQuaternions(a, b) { + const qax = a._x, qay = a._y, qaz = a._z, qaw = a._w; + const qbx = b._x, qby = b._y, qbz = b._z, qbw = b._w; + this._x = qax * qbw + qaw * qbx + qay * qbz - qaz * qby; + this._y = qay * qbw + qaw * qby + qaz * qbx - qax * qbz; + this._z = qaz * qbw + qaw * qbz + qax * qby - qay * qbx; + this._w = qaw * qbw - qax * qbx - qay * qby - qaz * qbz; + this._onChangeCallback(); + return this; + } + slerp(qb, t2) { + if (t2 === 0) return this; + if (t2 === 1) return this.copy(qb); + const x = this._x, y = this._y, z = this._z, w = this._w; + let cosHalfTheta = w * qb._w + x * qb._x + y * qb._y + z * qb._z; + if (cosHalfTheta < 0) { + this._w = -qb._w; + this._x = -qb._x; + this._y = -qb._y; + this._z = -qb._z; + cosHalfTheta = -cosHalfTheta; + } else { + this.copy(qb); + } + if (cosHalfTheta >= 1) { + this._w = w; + this._x = x; + this._y = y; + this._z = z; + return this; + } + const sqrSinHalfTheta = 1 - cosHalfTheta * cosHalfTheta; + if (sqrSinHalfTheta <= Number.EPSILON) { + const s = 1 - t2; + this._w = s * w + t2 * this._w; + this._x = s * x + t2 * this._x; + this._y = s * y + t2 * this._y; + this._z = s * z + t2 * this._z; + this.normalize(); + return this; + } + const sinHalfTheta = Math.sqrt(sqrSinHalfTheta); + const halfTheta = Math.atan2(sinHalfTheta, cosHalfTheta); + const ratioA = Math.sin((1 - t2) * halfTheta) / sinHalfTheta, ratioB = Math.sin(t2 * halfTheta) / sinHalfTheta; + this._w = w * ratioA + this._w * ratioB; + this._x = x * ratioA + this._x * ratioB; + this._y = y * ratioA + this._y * ratioB; + this._z = z * ratioA + this._z * ratioB; + this._onChangeCallback(); + return this; + } + slerpQuaternions(qa, qb, t2) { + return this.copy(qa).slerp(qb, t2); + } + random() { + const theta1 = 2 * Math.PI * Math.random(); + const theta2 = 2 * Math.PI * Math.random(); + const x0 = Math.random(); + const r1 = Math.sqrt(1 - x0); + const r2 = Math.sqrt(x0); + return this.set( + r1 * Math.sin(theta1), + r1 * Math.cos(theta1), + r2 * Math.sin(theta2), + r2 * Math.cos(theta2) + ); + } + equals(quaternion) { + return quaternion._x === this._x && quaternion._y === this._y && quaternion._z === this._z && quaternion._w === this._w; + } + fromArray(array, offset = 0) { + this._x = array[offset]; + this._y = array[offset + 1]; + this._z = array[offset + 2]; + this._w = array[offset + 3]; + this._onChangeCallback(); + return this; + } + toArray(array = [], offset = 0) { + array[offset] = this._x; + array[offset + 1] = this._y; + array[offset + 2] = this._z; + array[offset + 3] = this._w; + return array; + } + fromBufferAttribute(attribute, index) { + this._x = attribute.getX(index); + this._y = attribute.getY(index); + this._z = attribute.getZ(index); + this._w = attribute.getW(index); + this._onChangeCallback(); + return this; + } + toJSON() { + return this.toArray(); + } + _onChange(callback) { + this._onChangeCallback = callback; + return this; + } + _onChangeCallback() { + } + *[Symbol.iterator]() { + yield this._x; + yield this._y; + yield this._z; + yield this._w; + } +} +class Vector3 { + static { + __name(this, "Vector3"); + } + constructor(x = 0, y = 0, z = 0) { + Vector3.prototype.isVector3 = true; + this.x = x; + this.y = y; + this.z = z; + } + set(x, y, z) { + if (z === void 0) z = this.z; + this.x = x; + this.y = y; + this.z = z; + return this; + } + setScalar(scalar) { + this.x = scalar; + this.y = scalar; + this.z = scalar; + return this; + } + setX(x) { + this.x = x; + return this; + } + setY(y) { + this.y = y; + return this; + } + setZ(z) { + this.z = z; + return this; + } + setComponent(index, value) { + switch (index) { + case 0: + this.x = value; + break; + case 1: + this.y = value; + break; + case 2: + this.z = value; + break; + default: + throw new Error("index is out of range: " + index); + } + return this; + } + getComponent(index) { + switch (index) { + case 0: + return this.x; + case 1: + return this.y; + case 2: + return this.z; + default: + throw new Error("index is out of range: " + index); + } + } + clone() { + return new this.constructor(this.x, this.y, this.z); + } + copy(v) { + this.x = v.x; + this.y = v.y; + this.z = v.z; + return this; + } + add(v) { + this.x += v.x; + this.y += v.y; + this.z += v.z; + return this; + } + addScalar(s) { + this.x += s; + this.y += s; + this.z += s; + return this; + } + addVectors(a, b) { + this.x = a.x + b.x; + this.y = a.y + b.y; + this.z = a.z + b.z; + return this; + } + addScaledVector(v, s) { + this.x += v.x * s; + this.y += v.y * s; + this.z += v.z * s; + return this; + } + sub(v) { + this.x -= v.x; + this.y -= v.y; + this.z -= v.z; + return this; + } + subScalar(s) { + this.x -= s; + this.y -= s; + this.z -= s; + return this; + } + subVectors(a, b) { + this.x = a.x - b.x; + this.y = a.y - b.y; + this.z = a.z - b.z; + return this; + } + multiply(v) { + this.x *= v.x; + this.y *= v.y; + this.z *= v.z; + return this; + } + multiplyScalar(scalar) { + this.x *= scalar; + this.y *= scalar; + this.z *= scalar; + return this; + } + multiplyVectors(a, b) { + this.x = a.x * b.x; + this.y = a.y * b.y; + this.z = a.z * b.z; + return this; + } + applyEuler(euler) { + return this.applyQuaternion(_quaternion$4.setFromEuler(euler)); + } + applyAxisAngle(axis, angle) { + return this.applyQuaternion(_quaternion$4.setFromAxisAngle(axis, angle)); + } + applyMatrix3(m) { + const x = this.x, y = this.y, z = this.z; + const e = m.elements; + this.x = e[0] * x + e[3] * y + e[6] * z; + this.y = e[1] * x + e[4] * y + e[7] * z; + this.z = e[2] * x + e[5] * y + e[8] * z; + return this; + } + applyNormalMatrix(m) { + return this.applyMatrix3(m).normalize(); + } + applyMatrix4(m) { + const x = this.x, y = this.y, z = this.z; + const e = m.elements; + const w = 1 / (e[3] * x + e[7] * y + e[11] * z + e[15]); + this.x = (e[0] * x + e[4] * y + e[8] * z + e[12]) * w; + this.y = (e[1] * x + e[5] * y + e[9] * z + e[13]) * w; + this.z = (e[2] * x + e[6] * y + e[10] * z + e[14]) * w; + return this; + } + applyQuaternion(q) { + const vx = this.x, vy = this.y, vz = this.z; + const qx = q.x, qy = q.y, qz = q.z, qw = q.w; + const tx = 2 * (qy * vz - qz * vy); + const ty = 2 * (qz * vx - qx * vz); + const tz = 2 * (qx * vy - qy * vx); + this.x = vx + qw * tx + qy * tz - qz * ty; + this.y = vy + qw * ty + qz * tx - qx * tz; + this.z = vz + qw * tz + qx * ty - qy * tx; + return this; + } + project(camera) { + return this.applyMatrix4(camera.matrixWorldInverse).applyMatrix4(camera.projectionMatrix); + } + unproject(camera) { + return this.applyMatrix4(camera.projectionMatrixInverse).applyMatrix4(camera.matrixWorld); + } + transformDirection(m) { + const x = this.x, y = this.y, z = this.z; + const e = m.elements; + this.x = e[0] * x + e[4] * y + e[8] * z; + this.y = e[1] * x + e[5] * y + e[9] * z; + this.z = e[2] * x + e[6] * y + e[10] * z; + return this.normalize(); + } + divide(v) { + this.x /= v.x; + this.y /= v.y; + this.z /= v.z; + return this; + } + divideScalar(scalar) { + return this.multiplyScalar(1 / scalar); + } + min(v) { + this.x = Math.min(this.x, v.x); + this.y = Math.min(this.y, v.y); + this.z = Math.min(this.z, v.z); + return this; + } + max(v) { + this.x = Math.max(this.x, v.x); + this.y = Math.max(this.y, v.y); + this.z = Math.max(this.z, v.z); + return this; + } + clamp(min, max2) { + this.x = Math.max(min.x, Math.min(max2.x, this.x)); + this.y = Math.max(min.y, Math.min(max2.y, this.y)); + this.z = Math.max(min.z, Math.min(max2.z, this.z)); + return this; + } + clampScalar(minVal, maxVal) { + this.x = Math.max(minVal, Math.min(maxVal, this.x)); + this.y = Math.max(minVal, Math.min(maxVal, this.y)); + this.z = Math.max(minVal, Math.min(maxVal, this.z)); + return this; + } + clampLength(min, max2) { + const length = this.length(); + return this.divideScalar(length || 1).multiplyScalar(Math.max(min, Math.min(max2, length))); + } + floor() { + this.x = Math.floor(this.x); + this.y = Math.floor(this.y); + this.z = Math.floor(this.z); + return this; + } + ceil() { + this.x = Math.ceil(this.x); + this.y = Math.ceil(this.y); + this.z = Math.ceil(this.z); + return this; + } + round() { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + this.z = Math.round(this.z); + return this; + } + roundToZero() { + this.x = Math.trunc(this.x); + this.y = Math.trunc(this.y); + this.z = Math.trunc(this.z); + return this; + } + negate() { + this.x = -this.x; + this.y = -this.y; + this.z = -this.z; + return this; + } + dot(v) { + return this.x * v.x + this.y * v.y + this.z * v.z; + } + // TODO lengthSquared? + lengthSq() { + return this.x * this.x + this.y * this.y + this.z * this.z; + } + length() { + return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); + } + manhattanLength() { + return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z); + } + normalize() { + return this.divideScalar(this.length() || 1); + } + setLength(length) { + return this.normalize().multiplyScalar(length); + } + lerp(v, alpha) { + this.x += (v.x - this.x) * alpha; + this.y += (v.y - this.y) * alpha; + this.z += (v.z - this.z) * alpha; + return this; + } + lerpVectors(v1, v2, alpha) { + this.x = v1.x + (v2.x - v1.x) * alpha; + this.y = v1.y + (v2.y - v1.y) * alpha; + this.z = v1.z + (v2.z - v1.z) * alpha; + return this; + } + cross(v) { + return this.crossVectors(this, v); + } + crossVectors(a, b) { + const ax = a.x, ay = a.y, az = a.z; + const bx = b.x, by = b.y, bz = b.z; + this.x = ay * bz - az * by; + this.y = az * bx - ax * bz; + this.z = ax * by - ay * bx; + return this; + } + projectOnVector(v) { + const denominator = v.lengthSq(); + if (denominator === 0) return this.set(0, 0, 0); + const scalar = v.dot(this) / denominator; + return this.copy(v).multiplyScalar(scalar); + } + projectOnPlane(planeNormal) { + _vector$c.copy(this).projectOnVector(planeNormal); + return this.sub(_vector$c); + } + reflect(normal) { + return this.sub(_vector$c.copy(normal).multiplyScalar(2 * this.dot(normal))); + } + angleTo(v) { + const denominator = Math.sqrt(this.lengthSq() * v.lengthSq()); + if (denominator === 0) return Math.PI / 2; + const theta = this.dot(v) / denominator; + return Math.acos(clamp(theta, -1, 1)); + } + distanceTo(v) { + return Math.sqrt(this.distanceToSquared(v)); + } + distanceToSquared(v) { + const dx = this.x - v.x, dy = this.y - v.y, dz = this.z - v.z; + return dx * dx + dy * dy + dz * dz; + } + manhattanDistanceTo(v) { + return Math.abs(this.x - v.x) + Math.abs(this.y - v.y) + Math.abs(this.z - v.z); + } + setFromSpherical(s) { + return this.setFromSphericalCoords(s.radius, s.phi, s.theta); + } + setFromSphericalCoords(radius, phi, theta) { + const sinPhiRadius = Math.sin(phi) * radius; + this.x = sinPhiRadius * Math.sin(theta); + this.y = Math.cos(phi) * radius; + this.z = sinPhiRadius * Math.cos(theta); + return this; + } + setFromCylindrical(c) { + return this.setFromCylindricalCoords(c.radius, c.theta, c.y); + } + setFromCylindricalCoords(radius, theta, y) { + this.x = radius * Math.sin(theta); + this.y = y; + this.z = radius * Math.cos(theta); + return this; + } + setFromMatrixPosition(m) { + const e = m.elements; + this.x = e[12]; + this.y = e[13]; + this.z = e[14]; + return this; + } + setFromMatrixScale(m) { + const sx = this.setFromMatrixColumn(m, 0).length(); + const sy = this.setFromMatrixColumn(m, 1).length(); + const sz = this.setFromMatrixColumn(m, 2).length(); + this.x = sx; + this.y = sy; + this.z = sz; + return this; + } + setFromMatrixColumn(m, index) { + return this.fromArray(m.elements, index * 4); + } + setFromMatrix3Column(m, index) { + return this.fromArray(m.elements, index * 3); + } + setFromEuler(e) { + this.x = e._x; + this.y = e._y; + this.z = e._z; + return this; + } + setFromColor(c) { + this.x = c.r; + this.y = c.g; + this.z = c.b; + return this; + } + equals(v) { + return v.x === this.x && v.y === this.y && v.z === this.z; + } + fromArray(array, offset = 0) { + this.x = array[offset]; + this.y = array[offset + 1]; + this.z = array[offset + 2]; + return this; + } + toArray(array = [], offset = 0) { + array[offset] = this.x; + array[offset + 1] = this.y; + array[offset + 2] = this.z; + return array; + } + fromBufferAttribute(attribute, index) { + this.x = attribute.getX(index); + this.y = attribute.getY(index); + this.z = attribute.getZ(index); + return this; + } + random() { + this.x = Math.random(); + this.y = Math.random(); + this.z = Math.random(); + return this; + } + randomDirection() { + const theta = Math.random() * Math.PI * 2; + const u = Math.random() * 2 - 1; + const c = Math.sqrt(1 - u * u); + this.x = c * Math.cos(theta); + this.y = u; + this.z = c * Math.sin(theta); + return this; + } + *[Symbol.iterator]() { + yield this.x; + yield this.y; + yield this.z; + } +} +const _vector$c = /* @__PURE__ */ new Vector3(); +const _quaternion$4 = /* @__PURE__ */ new Quaternion(); +class Box3 { + static { + __name(this, "Box3"); + } + constructor(min = new Vector3(Infinity, Infinity, Infinity), max2 = new Vector3(-Infinity, -Infinity, -Infinity)) { + this.isBox3 = true; + this.min = min; + this.max = max2; + } + set(min, max2) { + this.min.copy(min); + this.max.copy(max2); + return this; + } + setFromArray(array) { + this.makeEmpty(); + for (let i = 0, il = array.length; i < il; i += 3) { + this.expandByPoint(_vector$b.fromArray(array, i)); + } + return this; + } + setFromBufferAttribute(attribute) { + this.makeEmpty(); + for (let i = 0, il = attribute.count; i < il; i++) { + this.expandByPoint(_vector$b.fromBufferAttribute(attribute, i)); + } + return this; + } + setFromPoints(points) { + this.makeEmpty(); + for (let i = 0, il = points.length; i < il; i++) { + this.expandByPoint(points[i]); + } + return this; + } + setFromCenterAndSize(center, size) { + const halfSize = _vector$b.copy(size).multiplyScalar(0.5); + this.min.copy(center).sub(halfSize); + this.max.copy(center).add(halfSize); + return this; + } + setFromObject(object, precise = false) { + this.makeEmpty(); + return this.expandByObject(object, precise); + } + clone() { + return new this.constructor().copy(this); + } + copy(box) { + this.min.copy(box.min); + this.max.copy(box.max); + return this; + } + makeEmpty() { + this.min.x = this.min.y = this.min.z = Infinity; + this.max.x = this.max.y = this.max.z = -Infinity; + return this; + } + isEmpty() { + return this.max.x < this.min.x || this.max.y < this.min.y || this.max.z < this.min.z; + } + getCenter(target) { + return this.isEmpty() ? target.set(0, 0, 0) : target.addVectors(this.min, this.max).multiplyScalar(0.5); + } + getSize(target) { + return this.isEmpty() ? target.set(0, 0, 0) : target.subVectors(this.max, this.min); + } + expandByPoint(point) { + this.min.min(point); + this.max.max(point); + return this; + } + expandByVector(vector) { + this.min.sub(vector); + this.max.add(vector); + return this; + } + expandByScalar(scalar) { + this.min.addScalar(-scalar); + this.max.addScalar(scalar); + return this; + } + expandByObject(object, precise = false) { + object.updateWorldMatrix(false, false); + const geometry = object.geometry; + if (geometry !== void 0) { + const positionAttribute = geometry.getAttribute("position"); + if (precise === true && positionAttribute !== void 0 && object.isInstancedMesh !== true) { + for (let i = 0, l = positionAttribute.count; i < l; i++) { + if (object.isMesh === true) { + object.getVertexPosition(i, _vector$b); + } else { + _vector$b.fromBufferAttribute(positionAttribute, i); + } + _vector$b.applyMatrix4(object.matrixWorld); + this.expandByPoint(_vector$b); + } + } else { + if (object.boundingBox !== void 0) { + if (object.boundingBox === null) { + object.computeBoundingBox(); + } + _box$4.copy(object.boundingBox); + } else { + if (geometry.boundingBox === null) { + geometry.computeBoundingBox(); + } + _box$4.copy(geometry.boundingBox); + } + _box$4.applyMatrix4(object.matrixWorld); + this.union(_box$4); + } + } + const children = object.children; + for (let i = 0, l = children.length; i < l; i++) { + this.expandByObject(children[i], precise); + } + return this; + } + containsPoint(point) { + return point.x >= this.min.x && point.x <= this.max.x && point.y >= this.min.y && point.y <= this.max.y && point.z >= this.min.z && point.z <= this.max.z; + } + containsBox(box) { + return this.min.x <= box.min.x && box.max.x <= this.max.x && this.min.y <= box.min.y && box.max.y <= this.max.y && this.min.z <= box.min.z && box.max.z <= this.max.z; + } + getParameter(point, target) { + return target.set( + (point.x - this.min.x) / (this.max.x - this.min.x), + (point.y - this.min.y) / (this.max.y - this.min.y), + (point.z - this.min.z) / (this.max.z - this.min.z) + ); + } + intersectsBox(box) { + return box.max.x >= this.min.x && box.min.x <= this.max.x && box.max.y >= this.min.y && box.min.y <= this.max.y && box.max.z >= this.min.z && box.min.z <= this.max.z; + } + intersectsSphere(sphere) { + this.clampPoint(sphere.center, _vector$b); + return _vector$b.distanceToSquared(sphere.center) <= sphere.radius * sphere.radius; + } + intersectsPlane(plane) { + let min, max2; + if (plane.normal.x > 0) { + min = plane.normal.x * this.min.x; + max2 = plane.normal.x * this.max.x; + } else { + min = plane.normal.x * this.max.x; + max2 = plane.normal.x * this.min.x; + } + if (plane.normal.y > 0) { + min += plane.normal.y * this.min.y; + max2 += plane.normal.y * this.max.y; + } else { + min += plane.normal.y * this.max.y; + max2 += plane.normal.y * this.min.y; + } + if (plane.normal.z > 0) { + min += plane.normal.z * this.min.z; + max2 += plane.normal.z * this.max.z; + } else { + min += plane.normal.z * this.max.z; + max2 += plane.normal.z * this.min.z; + } + return min <= -plane.constant && max2 >= -plane.constant; + } + intersectsTriangle(triangle) { + if (this.isEmpty()) { + return false; + } + this.getCenter(_center); + _extents.subVectors(this.max, _center); + _v0$3.subVectors(triangle.a, _center); + _v1$7.subVectors(triangle.b, _center); + _v2$4.subVectors(triangle.c, _center); + _f0.subVectors(_v1$7, _v0$3); + _f1.subVectors(_v2$4, _v1$7); + _f2.subVectors(_v0$3, _v2$4); + let axes = [ + 0, + -_f0.z, + _f0.y, + 0, + -_f1.z, + _f1.y, + 0, + -_f2.z, + _f2.y, + _f0.z, + 0, + -_f0.x, + _f1.z, + 0, + -_f1.x, + _f2.z, + 0, + -_f2.x, + -_f0.y, + _f0.x, + 0, + -_f1.y, + _f1.x, + 0, + -_f2.y, + _f2.x, + 0 + ]; + if (!satForAxes(axes, _v0$3, _v1$7, _v2$4, _extents)) { + return false; + } + axes = [1, 0, 0, 0, 1, 0, 0, 0, 1]; + if (!satForAxes(axes, _v0$3, _v1$7, _v2$4, _extents)) { + return false; + } + _triangleNormal.crossVectors(_f0, _f1); + axes = [_triangleNormal.x, _triangleNormal.y, _triangleNormal.z]; + return satForAxes(axes, _v0$3, _v1$7, _v2$4, _extents); + } + clampPoint(point, target) { + return target.copy(point).clamp(this.min, this.max); + } + distanceToPoint(point) { + return this.clampPoint(point, _vector$b).distanceTo(point); + } + getBoundingSphere(target) { + if (this.isEmpty()) { + target.makeEmpty(); + } else { + this.getCenter(target.center); + target.radius = this.getSize(_vector$b).length() * 0.5; + } + return target; + } + intersect(box) { + this.min.max(box.min); + this.max.min(box.max); + if (this.isEmpty()) this.makeEmpty(); + return this; + } + union(box) { + this.min.min(box.min); + this.max.max(box.max); + return this; + } + applyMatrix4(matrix) { + if (this.isEmpty()) return this; + _points[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(matrix); + _points[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(matrix); + _points[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(matrix); + _points[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(matrix); + _points[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(matrix); + _points[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(matrix); + _points[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(matrix); + _points[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(matrix); + this.setFromPoints(_points); + return this; + } + translate(offset) { + this.min.add(offset); + this.max.add(offset); + return this; + } + equals(box) { + return box.min.equals(this.min) && box.max.equals(this.max); + } +} +const _points = [ + /* @__PURE__ */ new Vector3(), + /* @__PURE__ */ new Vector3(), + /* @__PURE__ */ new Vector3(), + /* @__PURE__ */ new Vector3(), + /* @__PURE__ */ new Vector3(), + /* @__PURE__ */ new Vector3(), + /* @__PURE__ */ new Vector3(), + /* @__PURE__ */ new Vector3() +]; +const _vector$b = /* @__PURE__ */ new Vector3(); +const _box$4 = /* @__PURE__ */ new Box3(); +const _v0$3 = /* @__PURE__ */ new Vector3(); +const _v1$7 = /* @__PURE__ */ new Vector3(); +const _v2$4 = /* @__PURE__ */ new Vector3(); +const _f0 = /* @__PURE__ */ new Vector3(); +const _f1 = /* @__PURE__ */ new Vector3(); +const _f2 = /* @__PURE__ */ new Vector3(); +const _center = /* @__PURE__ */ new Vector3(); +const _extents = /* @__PURE__ */ new Vector3(); +const _triangleNormal = /* @__PURE__ */ new Vector3(); +const _testAxis = /* @__PURE__ */ new Vector3(); +function satForAxes(axes, v0, v1, v2, extents) { + for (let i = 0, j = axes.length - 3; i <= j; i += 3) { + _testAxis.fromArray(axes, i); + const r = extents.x * Math.abs(_testAxis.x) + extents.y * Math.abs(_testAxis.y) + extents.z * Math.abs(_testAxis.z); + const p0 = v0.dot(_testAxis); + const p1 = v1.dot(_testAxis); + const p2 = v2.dot(_testAxis); + if (Math.max(-Math.max(p0, p1, p2), Math.min(p0, p1, p2)) > r) { + return false; + } + } + return true; +} +__name(satForAxes, "satForAxes"); +const _box$3 = /* @__PURE__ */ new Box3(); +const _v1$6 = /* @__PURE__ */ new Vector3(); +const _v2$3 = /* @__PURE__ */ new Vector3(); +class Sphere { + static { + __name(this, "Sphere"); + } + constructor(center = new Vector3(), radius = -1) { + this.isSphere = true; + this.center = center; + this.radius = radius; + } + set(center, radius) { + this.center.copy(center); + this.radius = radius; + return this; + } + setFromPoints(points, optionalCenter) { + const center = this.center; + if (optionalCenter !== void 0) { + center.copy(optionalCenter); + } else { + _box$3.setFromPoints(points).getCenter(center); + } + let maxRadiusSq = 0; + for (let i = 0, il = points.length; i < il; i++) { + maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(points[i])); + } + this.radius = Math.sqrt(maxRadiusSq); + return this; + } + copy(sphere) { + this.center.copy(sphere.center); + this.radius = sphere.radius; + return this; + } + isEmpty() { + return this.radius < 0; + } + makeEmpty() { + this.center.set(0, 0, 0); + this.radius = -1; + return this; + } + containsPoint(point) { + return point.distanceToSquared(this.center) <= this.radius * this.radius; + } + distanceToPoint(point) { + return point.distanceTo(this.center) - this.radius; + } + intersectsSphere(sphere) { + const radiusSum = this.radius + sphere.radius; + return sphere.center.distanceToSquared(this.center) <= radiusSum * radiusSum; + } + intersectsBox(box) { + return box.intersectsSphere(this); + } + intersectsPlane(plane) { + return Math.abs(plane.distanceToPoint(this.center)) <= this.radius; + } + clampPoint(point, target) { + const deltaLengthSq = this.center.distanceToSquared(point); + target.copy(point); + if (deltaLengthSq > this.radius * this.radius) { + target.sub(this.center).normalize(); + target.multiplyScalar(this.radius).add(this.center); + } + return target; + } + getBoundingBox(target) { + if (this.isEmpty()) { + target.makeEmpty(); + return target; + } + target.set(this.center, this.center); + target.expandByScalar(this.radius); + return target; + } + applyMatrix4(matrix) { + this.center.applyMatrix4(matrix); + this.radius = this.radius * matrix.getMaxScaleOnAxis(); + return this; + } + translate(offset) { + this.center.add(offset); + return this; + } + expandByPoint(point) { + if (this.isEmpty()) { + this.center.copy(point); + this.radius = 0; + return this; + } + _v1$6.subVectors(point, this.center); + const lengthSq = _v1$6.lengthSq(); + if (lengthSq > this.radius * this.radius) { + const length = Math.sqrt(lengthSq); + const delta = (length - this.radius) * 0.5; + this.center.addScaledVector(_v1$6, delta / length); + this.radius += delta; + } + return this; + } + union(sphere) { + if (sphere.isEmpty()) { + return this; + } + if (this.isEmpty()) { + this.copy(sphere); + return this; + } + if (this.center.equals(sphere.center) === true) { + this.radius = Math.max(this.radius, sphere.radius); + } else { + _v2$3.subVectors(sphere.center, this.center).setLength(sphere.radius); + this.expandByPoint(_v1$6.copy(sphere.center).add(_v2$3)); + this.expandByPoint(_v1$6.copy(sphere.center).sub(_v2$3)); + } + return this; + } + equals(sphere) { + return sphere.center.equals(this.center) && sphere.radius === this.radius; + } + clone() { + return new this.constructor().copy(this); + } +} +const _vector$a = /* @__PURE__ */ new Vector3(); +const _segCenter = /* @__PURE__ */ new Vector3(); +const _segDir = /* @__PURE__ */ new Vector3(); +const _diff = /* @__PURE__ */ new Vector3(); +const _edge1 = /* @__PURE__ */ new Vector3(); +const _edge2 = /* @__PURE__ */ new Vector3(); +const _normal$1 = /* @__PURE__ */ new Vector3(); +class Ray { + static { + __name(this, "Ray"); + } + constructor(origin = new Vector3(), direction = new Vector3(0, 0, -1)) { + this.origin = origin; + this.direction = direction; + } + set(origin, direction) { + this.origin.copy(origin); + this.direction.copy(direction); + return this; + } + copy(ray) { + this.origin.copy(ray.origin); + this.direction.copy(ray.direction); + return this; + } + at(t2, target) { + return target.copy(this.origin).addScaledVector(this.direction, t2); + } + lookAt(v) { + this.direction.copy(v).sub(this.origin).normalize(); + return this; + } + recast(t2) { + this.origin.copy(this.at(t2, _vector$a)); + return this; + } + closestPointToPoint(point, target) { + target.subVectors(point, this.origin); + const directionDistance = target.dot(this.direction); + if (directionDistance < 0) { + return target.copy(this.origin); + } + return target.copy(this.origin).addScaledVector(this.direction, directionDistance); + } + distanceToPoint(point) { + return Math.sqrt(this.distanceSqToPoint(point)); + } + distanceSqToPoint(point) { + const directionDistance = _vector$a.subVectors(point, this.origin).dot(this.direction); + if (directionDistance < 0) { + return this.origin.distanceToSquared(point); + } + _vector$a.copy(this.origin).addScaledVector(this.direction, directionDistance); + return _vector$a.distanceToSquared(point); + } + distanceSqToSegment(v0, v1, optionalPointOnRay, optionalPointOnSegment) { + _segCenter.copy(v0).add(v1).multiplyScalar(0.5); + _segDir.copy(v1).sub(v0).normalize(); + _diff.copy(this.origin).sub(_segCenter); + const segExtent = v0.distanceTo(v1) * 0.5; + const a01 = -this.direction.dot(_segDir); + const b0 = _diff.dot(this.direction); + const b1 = -_diff.dot(_segDir); + const c = _diff.lengthSq(); + const det = Math.abs(1 - a01 * a01); + let s0, s1, sqrDist, extDet; + if (det > 0) { + s0 = a01 * b1 - b0; + s1 = a01 * b0 - b1; + extDet = segExtent * det; + if (s0 >= 0) { + if (s1 >= -extDet) { + if (s1 <= extDet) { + const invDet = 1 / det; + s0 *= invDet; + s1 *= invDet; + sqrDist = s0 * (s0 + a01 * s1 + 2 * b0) + s1 * (a01 * s0 + s1 + 2 * b1) + c; + } else { + s1 = segExtent; + s0 = Math.max(0, -(a01 * s1 + b0)); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c; + } + } else { + s1 = -segExtent; + s0 = Math.max(0, -(a01 * s1 + b0)); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c; + } + } else { + if (s1 <= -extDet) { + s0 = Math.max(0, -(-a01 * segExtent + b0)); + s1 = s0 > 0 ? -segExtent : Math.min(Math.max(-segExtent, -b1), segExtent); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c; + } else if (s1 <= extDet) { + s0 = 0; + s1 = Math.min(Math.max(-segExtent, -b1), segExtent); + sqrDist = s1 * (s1 + 2 * b1) + c; + } else { + s0 = Math.max(0, -(a01 * segExtent + b0)); + s1 = s0 > 0 ? segExtent : Math.min(Math.max(-segExtent, -b1), segExtent); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c; + } + } + } else { + s1 = a01 > 0 ? -segExtent : segExtent; + s0 = Math.max(0, -(a01 * s1 + b0)); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c; + } + if (optionalPointOnRay) { + optionalPointOnRay.copy(this.origin).addScaledVector(this.direction, s0); + } + if (optionalPointOnSegment) { + optionalPointOnSegment.copy(_segCenter).addScaledVector(_segDir, s1); + } + return sqrDist; + } + intersectSphere(sphere, target) { + _vector$a.subVectors(sphere.center, this.origin); + const tca = _vector$a.dot(this.direction); + const d2 = _vector$a.dot(_vector$a) - tca * tca; + const radius2 = sphere.radius * sphere.radius; + if (d2 > radius2) return null; + const thc = Math.sqrt(radius2 - d2); + const t0 = tca - thc; + const t1 = tca + thc; + if (t1 < 0) return null; + if (t0 < 0) return this.at(t1, target); + return this.at(t0, target); + } + intersectsSphere(sphere) { + return this.distanceSqToPoint(sphere.center) <= sphere.radius * sphere.radius; + } + distanceToPlane(plane) { + const denominator = plane.normal.dot(this.direction); + if (denominator === 0) { + if (plane.distanceToPoint(this.origin) === 0) { + return 0; + } + return null; + } + const t2 = -(this.origin.dot(plane.normal) + plane.constant) / denominator; + return t2 >= 0 ? t2 : null; + } + intersectPlane(plane, target) { + const t2 = this.distanceToPlane(plane); + if (t2 === null) { + return null; + } + return this.at(t2, target); + } + intersectsPlane(plane) { + const distToPoint = plane.distanceToPoint(this.origin); + if (distToPoint === 0) { + return true; + } + const denominator = plane.normal.dot(this.direction); + if (denominator * distToPoint < 0) { + return true; + } + return false; + } + intersectBox(box, target) { + let tmin, tmax, tymin, tymax, tzmin, tzmax; + const invdirx = 1 / this.direction.x, invdiry = 1 / this.direction.y, invdirz = 1 / this.direction.z; + const origin = this.origin; + if (invdirx >= 0) { + tmin = (box.min.x - origin.x) * invdirx; + tmax = (box.max.x - origin.x) * invdirx; + } else { + tmin = (box.max.x - origin.x) * invdirx; + tmax = (box.min.x - origin.x) * invdirx; + } + if (invdiry >= 0) { + tymin = (box.min.y - origin.y) * invdiry; + tymax = (box.max.y - origin.y) * invdiry; + } else { + tymin = (box.max.y - origin.y) * invdiry; + tymax = (box.min.y - origin.y) * invdiry; + } + if (tmin > tymax || tymin > tmax) return null; + if (tymin > tmin || isNaN(tmin)) tmin = tymin; + if (tymax < tmax || isNaN(tmax)) tmax = tymax; + if (invdirz >= 0) { + tzmin = (box.min.z - origin.z) * invdirz; + tzmax = (box.max.z - origin.z) * invdirz; + } else { + tzmin = (box.max.z - origin.z) * invdirz; + tzmax = (box.min.z - origin.z) * invdirz; + } + if (tmin > tzmax || tzmin > tmax) return null; + if (tzmin > tmin || tmin !== tmin) tmin = tzmin; + if (tzmax < tmax || tmax !== tmax) tmax = tzmax; + if (tmax < 0) return null; + return this.at(tmin >= 0 ? tmin : tmax, target); + } + intersectsBox(box) { + return this.intersectBox(box, _vector$a) !== null; + } + intersectTriangle(a, b, c, backfaceCulling, target) { + _edge1.subVectors(b, a); + _edge2.subVectors(c, a); + _normal$1.crossVectors(_edge1, _edge2); + let DdN = this.direction.dot(_normal$1); + let sign2; + if (DdN > 0) { + if (backfaceCulling) return null; + sign2 = 1; + } else if (DdN < 0) { + sign2 = -1; + DdN = -DdN; + } else { + return null; + } + _diff.subVectors(this.origin, a); + const DdQxE2 = sign2 * this.direction.dot(_edge2.crossVectors(_diff, _edge2)); + if (DdQxE2 < 0) { + return null; + } + const DdE1xQ = sign2 * this.direction.dot(_edge1.cross(_diff)); + if (DdE1xQ < 0) { + return null; + } + if (DdQxE2 + DdE1xQ > DdN) { + return null; + } + const QdN = -sign2 * _diff.dot(_normal$1); + if (QdN < 0) { + return null; + } + return this.at(QdN / DdN, target); + } + applyMatrix4(matrix4) { + this.origin.applyMatrix4(matrix4); + this.direction.transformDirection(matrix4); + return this; + } + equals(ray) { + return ray.origin.equals(this.origin) && ray.direction.equals(this.direction); + } + clone() { + return new this.constructor().copy(this); + } +} +class Matrix4 { + static { + __name(this, "Matrix4"); + } + constructor(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44) { + Matrix4.prototype.isMatrix4 = true; + this.elements = [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1 + ]; + if (n11 !== void 0) { + this.set(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44); + } + } + set(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44) { + const te2 = this.elements; + te2[0] = n11; + te2[4] = n12; + te2[8] = n13; + te2[12] = n14; + te2[1] = n21; + te2[5] = n22; + te2[9] = n23; + te2[13] = n24; + te2[2] = n31; + te2[6] = n32; + te2[10] = n33; + te2[14] = n34; + te2[3] = n41; + te2[7] = n42; + te2[11] = n43; + te2[15] = n44; + return this; + } + identity() { + this.set( + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1 + ); + return this; + } + clone() { + return new Matrix4().fromArray(this.elements); + } + copy(m) { + const te2 = this.elements; + const me = m.elements; + te2[0] = me[0]; + te2[1] = me[1]; + te2[2] = me[2]; + te2[3] = me[3]; + te2[4] = me[4]; + te2[5] = me[5]; + te2[6] = me[6]; + te2[7] = me[7]; + te2[8] = me[8]; + te2[9] = me[9]; + te2[10] = me[10]; + te2[11] = me[11]; + te2[12] = me[12]; + te2[13] = me[13]; + te2[14] = me[14]; + te2[15] = me[15]; + return this; + } + copyPosition(m) { + const te2 = this.elements, me = m.elements; + te2[12] = me[12]; + te2[13] = me[13]; + te2[14] = me[14]; + return this; + } + setFromMatrix3(m) { + const me = m.elements; + this.set( + me[0], + me[3], + me[6], + 0, + me[1], + me[4], + me[7], + 0, + me[2], + me[5], + me[8], + 0, + 0, + 0, + 0, + 1 + ); + return this; + } + extractBasis(xAxis, yAxis, zAxis) { + xAxis.setFromMatrixColumn(this, 0); + yAxis.setFromMatrixColumn(this, 1); + zAxis.setFromMatrixColumn(this, 2); + return this; + } + makeBasis(xAxis, yAxis, zAxis) { + this.set( + xAxis.x, + yAxis.x, + zAxis.x, + 0, + xAxis.y, + yAxis.y, + zAxis.y, + 0, + xAxis.z, + yAxis.z, + zAxis.z, + 0, + 0, + 0, + 0, + 1 + ); + return this; + } + extractRotation(m) { + const te2 = this.elements; + const me = m.elements; + const scaleX = 1 / _v1$5.setFromMatrixColumn(m, 0).length(); + const scaleY = 1 / _v1$5.setFromMatrixColumn(m, 1).length(); + const scaleZ = 1 / _v1$5.setFromMatrixColumn(m, 2).length(); + te2[0] = me[0] * scaleX; + te2[1] = me[1] * scaleX; + te2[2] = me[2] * scaleX; + te2[3] = 0; + te2[4] = me[4] * scaleY; + te2[5] = me[5] * scaleY; + te2[6] = me[6] * scaleY; + te2[7] = 0; + te2[8] = me[8] * scaleZ; + te2[9] = me[9] * scaleZ; + te2[10] = me[10] * scaleZ; + te2[11] = 0; + te2[12] = 0; + te2[13] = 0; + te2[14] = 0; + te2[15] = 1; + return this; + } + makeRotationFromEuler(euler) { + const te2 = this.elements; + const x = euler.x, y = euler.y, z = euler.z; + const a = Math.cos(x), b = Math.sin(x); + const c = Math.cos(y), d = Math.sin(y); + const e = Math.cos(z), f = Math.sin(z); + if (euler.order === "XYZ") { + const ae = a * e, af = a * f, be = b * e, bf = b * f; + te2[0] = c * e; + te2[4] = -c * f; + te2[8] = d; + te2[1] = af + be * d; + te2[5] = ae - bf * d; + te2[9] = -b * c; + te2[2] = bf - ae * d; + te2[6] = be + af * d; + te2[10] = a * c; + } else if (euler.order === "YXZ") { + const ce = c * e, cf = c * f, de = d * e, df = d * f; + te2[0] = ce + df * b; + te2[4] = de * b - cf; + te2[8] = a * d; + te2[1] = a * f; + te2[5] = a * e; + te2[9] = -b; + te2[2] = cf * b - de; + te2[6] = df + ce * b; + te2[10] = a * c; + } else if (euler.order === "ZXY") { + const ce = c * e, cf = c * f, de = d * e, df = d * f; + te2[0] = ce - df * b; + te2[4] = -a * f; + te2[8] = de + cf * b; + te2[1] = cf + de * b; + te2[5] = a * e; + te2[9] = df - ce * b; + te2[2] = -a * d; + te2[6] = b; + te2[10] = a * c; + } else if (euler.order === "ZYX") { + const ae = a * e, af = a * f, be = b * e, bf = b * f; + te2[0] = c * e; + te2[4] = be * d - af; + te2[8] = ae * d + bf; + te2[1] = c * f; + te2[5] = bf * d + ae; + te2[9] = af * d - be; + te2[2] = -d; + te2[6] = b * c; + te2[10] = a * c; + } else if (euler.order === "YZX") { + const ac = a * c, ad = a * d, bc = b * c, bd = b * d; + te2[0] = c * e; + te2[4] = bd - ac * f; + te2[8] = bc * f + ad; + te2[1] = f; + te2[5] = a * e; + te2[9] = -b * e; + te2[2] = -d * e; + te2[6] = ad * f + bc; + te2[10] = ac - bd * f; + } else if (euler.order === "XZY") { + const ac = a * c, ad = a * d, bc = b * c, bd = b * d; + te2[0] = c * e; + te2[4] = -f; + te2[8] = d * e; + te2[1] = ac * f + bd; + te2[5] = a * e; + te2[9] = ad * f - bc; + te2[2] = bc * f - ad; + te2[6] = b * e; + te2[10] = bd * f + ac; + } + te2[3] = 0; + te2[7] = 0; + te2[11] = 0; + te2[12] = 0; + te2[13] = 0; + te2[14] = 0; + te2[15] = 1; + return this; + } + makeRotationFromQuaternion(q) { + return this.compose(_zero, q, _one); + } + lookAt(eye, target, up) { + const te2 = this.elements; + _z.subVectors(eye, target); + if (_z.lengthSq() === 0) { + _z.z = 1; + } + _z.normalize(); + _x.crossVectors(up, _z); + if (_x.lengthSq() === 0) { + if (Math.abs(up.z) === 1) { + _z.x += 1e-4; + } else { + _z.z += 1e-4; + } + _z.normalize(); + _x.crossVectors(up, _z); + } + _x.normalize(); + _y.crossVectors(_z, _x); + te2[0] = _x.x; + te2[4] = _y.x; + te2[8] = _z.x; + te2[1] = _x.y; + te2[5] = _y.y; + te2[9] = _z.y; + te2[2] = _x.z; + te2[6] = _y.z; + te2[10] = _z.z; + return this; + } + multiply(m) { + return this.multiplyMatrices(this, m); + } + premultiply(m) { + return this.multiplyMatrices(m, this); + } + multiplyMatrices(a, b) { + const ae = a.elements; + const be = b.elements; + const te2 = this.elements; + const a11 = ae[0], a12 = ae[4], a13 = ae[8], a14 = ae[12]; + const a21 = ae[1], a22 = ae[5], a23 = ae[9], a24 = ae[13]; + const a31 = ae[2], a32 = ae[6], a33 = ae[10], a34 = ae[14]; + const a41 = ae[3], a42 = ae[7], a43 = ae[11], a44 = ae[15]; + const b11 = be[0], b12 = be[4], b13 = be[8], b14 = be[12]; + const b21 = be[1], b22 = be[5], b23 = be[9], b24 = be[13]; + const b31 = be[2], b32 = be[6], b33 = be[10], b34 = be[14]; + const b41 = be[3], b42 = be[7], b43 = be[11], b44 = be[15]; + te2[0] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41; + te2[4] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42; + te2[8] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43; + te2[12] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44; + te2[1] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41; + te2[5] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42; + te2[9] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43; + te2[13] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44; + te2[2] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41; + te2[6] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42; + te2[10] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43; + te2[14] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44; + te2[3] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41; + te2[7] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42; + te2[11] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43; + te2[15] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44; + return this; + } + multiplyScalar(s) { + const te2 = this.elements; + te2[0] *= s; + te2[4] *= s; + te2[8] *= s; + te2[12] *= s; + te2[1] *= s; + te2[5] *= s; + te2[9] *= s; + te2[13] *= s; + te2[2] *= s; + te2[6] *= s; + te2[10] *= s; + te2[14] *= s; + te2[3] *= s; + te2[7] *= s; + te2[11] *= s; + te2[15] *= s; + return this; + } + determinant() { + const te2 = this.elements; + const n11 = te2[0], n12 = te2[4], n13 = te2[8], n14 = te2[12]; + const n21 = te2[1], n22 = te2[5], n23 = te2[9], n24 = te2[13]; + const n31 = te2[2], n32 = te2[6], n33 = te2[10], n34 = te2[14]; + const n41 = te2[3], n42 = te2[7], n43 = te2[11], n44 = te2[15]; + return n41 * (+n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34) + n42 * (+n11 * n23 * n34 - n11 * n24 * n33 + n14 * n21 * n33 - n13 * n21 * n34 + n13 * n24 * n31 - n14 * n23 * n31) + n43 * (+n11 * n24 * n32 - n11 * n22 * n34 - n14 * n21 * n32 + n12 * n21 * n34 + n14 * n22 * n31 - n12 * n24 * n31) + n44 * (-n13 * n22 * n31 - n11 * n23 * n32 + n11 * n22 * n33 + n13 * n21 * n32 - n12 * n21 * n33 + n12 * n23 * n31); + } + transpose() { + const te2 = this.elements; + let tmp2; + tmp2 = te2[1]; + te2[1] = te2[4]; + te2[4] = tmp2; + tmp2 = te2[2]; + te2[2] = te2[8]; + te2[8] = tmp2; + tmp2 = te2[6]; + te2[6] = te2[9]; + te2[9] = tmp2; + tmp2 = te2[3]; + te2[3] = te2[12]; + te2[12] = tmp2; + tmp2 = te2[7]; + te2[7] = te2[13]; + te2[13] = tmp2; + tmp2 = te2[11]; + te2[11] = te2[14]; + te2[14] = tmp2; + return this; + } + setPosition(x, y, z) { + const te2 = this.elements; + if (x.isVector3) { + te2[12] = x.x; + te2[13] = x.y; + te2[14] = x.z; + } else { + te2[12] = x; + te2[13] = y; + te2[14] = z; + } + return this; + } + invert() { + const te2 = this.elements, n11 = te2[0], n21 = te2[1], n31 = te2[2], n41 = te2[3], n12 = te2[4], n22 = te2[5], n32 = te2[6], n42 = te2[7], n13 = te2[8], n23 = te2[9], n33 = te2[10], n43 = te2[11], n14 = te2[12], n24 = te2[13], n34 = te2[14], n44 = te2[15], t11 = n23 * n34 * n42 - n24 * n33 * n42 + n24 * n32 * n43 - n22 * n34 * n43 - n23 * n32 * n44 + n22 * n33 * n44, t12 = n14 * n33 * n42 - n13 * n34 * n42 - n14 * n32 * n43 + n12 * n34 * n43 + n13 * n32 * n44 - n12 * n33 * n44, t13 = n13 * n24 * n42 - n14 * n23 * n42 + n14 * n22 * n43 - n12 * n24 * n43 - n13 * n22 * n44 + n12 * n23 * n44, t14 = n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34; + const det = n11 * t11 + n21 * t12 + n31 * t13 + n41 * t14; + if (det === 0) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + const detInv = 1 / det; + te2[0] = t11 * detInv; + te2[1] = (n24 * n33 * n41 - n23 * n34 * n41 - n24 * n31 * n43 + n21 * n34 * n43 + n23 * n31 * n44 - n21 * n33 * n44) * detInv; + te2[2] = (n22 * n34 * n41 - n24 * n32 * n41 + n24 * n31 * n42 - n21 * n34 * n42 - n22 * n31 * n44 + n21 * n32 * n44) * detInv; + te2[3] = (n23 * n32 * n41 - n22 * n33 * n41 - n23 * n31 * n42 + n21 * n33 * n42 + n22 * n31 * n43 - n21 * n32 * n43) * detInv; + te2[4] = t12 * detInv; + te2[5] = (n13 * n34 * n41 - n14 * n33 * n41 + n14 * n31 * n43 - n11 * n34 * n43 - n13 * n31 * n44 + n11 * n33 * n44) * detInv; + te2[6] = (n14 * n32 * n41 - n12 * n34 * n41 - n14 * n31 * n42 + n11 * n34 * n42 + n12 * n31 * n44 - n11 * n32 * n44) * detInv; + te2[7] = (n12 * n33 * n41 - n13 * n32 * n41 + n13 * n31 * n42 - n11 * n33 * n42 - n12 * n31 * n43 + n11 * n32 * n43) * detInv; + te2[8] = t13 * detInv; + te2[9] = (n14 * n23 * n41 - n13 * n24 * n41 - n14 * n21 * n43 + n11 * n24 * n43 + n13 * n21 * n44 - n11 * n23 * n44) * detInv; + te2[10] = (n12 * n24 * n41 - n14 * n22 * n41 + n14 * n21 * n42 - n11 * n24 * n42 - n12 * n21 * n44 + n11 * n22 * n44) * detInv; + te2[11] = (n13 * n22 * n41 - n12 * n23 * n41 - n13 * n21 * n42 + n11 * n23 * n42 + n12 * n21 * n43 - n11 * n22 * n43) * detInv; + te2[12] = t14 * detInv; + te2[13] = (n13 * n24 * n31 - n14 * n23 * n31 + n14 * n21 * n33 - n11 * n24 * n33 - n13 * n21 * n34 + n11 * n23 * n34) * detInv; + te2[14] = (n14 * n22 * n31 - n12 * n24 * n31 - n14 * n21 * n32 + n11 * n24 * n32 + n12 * n21 * n34 - n11 * n22 * n34) * detInv; + te2[15] = (n12 * n23 * n31 - n13 * n22 * n31 + n13 * n21 * n32 - n11 * n23 * n32 - n12 * n21 * n33 + n11 * n22 * n33) * detInv; + return this; + } + scale(v) { + const te2 = this.elements; + const x = v.x, y = v.y, z = v.z; + te2[0] *= x; + te2[4] *= y; + te2[8] *= z; + te2[1] *= x; + te2[5] *= y; + te2[9] *= z; + te2[2] *= x; + te2[6] *= y; + te2[10] *= z; + te2[3] *= x; + te2[7] *= y; + te2[11] *= z; + return this; + } + getMaxScaleOnAxis() { + const te2 = this.elements; + const scaleXSq = te2[0] * te2[0] + te2[1] * te2[1] + te2[2] * te2[2]; + const scaleYSq = te2[4] * te2[4] + te2[5] * te2[5] + te2[6] * te2[6]; + const scaleZSq = te2[8] * te2[8] + te2[9] * te2[9] + te2[10] * te2[10]; + return Math.sqrt(Math.max(scaleXSq, scaleYSq, scaleZSq)); + } + makeTranslation(x, y, z) { + if (x.isVector3) { + this.set( + 1, + 0, + 0, + x.x, + 0, + 1, + 0, + x.y, + 0, + 0, + 1, + x.z, + 0, + 0, + 0, + 1 + ); + } else { + this.set( + 1, + 0, + 0, + x, + 0, + 1, + 0, + y, + 0, + 0, + 1, + z, + 0, + 0, + 0, + 1 + ); + } + return this; + } + makeRotationX(theta) { + const c = Math.cos(theta), s = Math.sin(theta); + this.set( + 1, + 0, + 0, + 0, + 0, + c, + -s, + 0, + 0, + s, + c, + 0, + 0, + 0, + 0, + 1 + ); + return this; + } + makeRotationY(theta) { + const c = Math.cos(theta), s = Math.sin(theta); + this.set( + c, + 0, + s, + 0, + 0, + 1, + 0, + 0, + -s, + 0, + c, + 0, + 0, + 0, + 0, + 1 + ); + return this; + } + makeRotationZ(theta) { + const c = Math.cos(theta), s = Math.sin(theta); + this.set( + c, + -s, + 0, + 0, + s, + c, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1 + ); + return this; + } + makeRotationAxis(axis, angle) { + const c = Math.cos(angle); + const s = Math.sin(angle); + const t2 = 1 - c; + const x = axis.x, y = axis.y, z = axis.z; + const tx = t2 * x, ty = t2 * y; + this.set( + tx * x + c, + tx * y - s * z, + tx * z + s * y, + 0, + tx * y + s * z, + ty * y + c, + ty * z - s * x, + 0, + tx * z - s * y, + ty * z + s * x, + t2 * z * z + c, + 0, + 0, + 0, + 0, + 1 + ); + return this; + } + makeScale(x, y, z) { + this.set( + x, + 0, + 0, + 0, + 0, + y, + 0, + 0, + 0, + 0, + z, + 0, + 0, + 0, + 0, + 1 + ); + return this; + } + makeShear(xy, xz, yx, yz, zx, zy) { + this.set( + 1, + yx, + zx, + 0, + xy, + 1, + zy, + 0, + xz, + yz, + 1, + 0, + 0, + 0, + 0, + 1 + ); + return this; + } + compose(position, quaternion, scale) { + const te2 = this.elements; + const x = quaternion._x, y = quaternion._y, z = quaternion._z, w = quaternion._w; + const x2 = x + x, y2 = y + y, z2 = z + z; + const xx = x * x2, xy = x * y2, xz = x * z2; + const yy = y * y2, yz = y * z2, zz = z * z2; + const wx = w * x2, wy = w * y2, wz = w * z2; + const sx = scale.x, sy = scale.y, sz = scale.z; + te2[0] = (1 - (yy + zz)) * sx; + te2[1] = (xy + wz) * sx; + te2[2] = (xz - wy) * sx; + te2[3] = 0; + te2[4] = (xy - wz) * sy; + te2[5] = (1 - (xx + zz)) * sy; + te2[6] = (yz + wx) * sy; + te2[7] = 0; + te2[8] = (xz + wy) * sz; + te2[9] = (yz - wx) * sz; + te2[10] = (1 - (xx + yy)) * sz; + te2[11] = 0; + te2[12] = position.x; + te2[13] = position.y; + te2[14] = position.z; + te2[15] = 1; + return this; + } + decompose(position, quaternion, scale) { + const te2 = this.elements; + let sx = _v1$5.set(te2[0], te2[1], te2[2]).length(); + const sy = _v1$5.set(te2[4], te2[5], te2[6]).length(); + const sz = _v1$5.set(te2[8], te2[9], te2[10]).length(); + const det = this.determinant(); + if (det < 0) sx = -sx; + position.x = te2[12]; + position.y = te2[13]; + position.z = te2[14]; + _m1$4.copy(this); + const invSX = 1 / sx; + const invSY = 1 / sy; + const invSZ = 1 / sz; + _m1$4.elements[0] *= invSX; + _m1$4.elements[1] *= invSX; + _m1$4.elements[2] *= invSX; + _m1$4.elements[4] *= invSY; + _m1$4.elements[5] *= invSY; + _m1$4.elements[6] *= invSY; + _m1$4.elements[8] *= invSZ; + _m1$4.elements[9] *= invSZ; + _m1$4.elements[10] *= invSZ; + quaternion.setFromRotationMatrix(_m1$4); + scale.x = sx; + scale.y = sy; + scale.z = sz; + return this; + } + makePerspective(left, right, top, bottom, near, far, coordinateSystem = WebGLCoordinateSystem) { + const te2 = this.elements; + const x = 2 * near / (right - left); + const y = 2 * near / (top - bottom); + const a = (right + left) / (right - left); + const b = (top + bottom) / (top - bottom); + let c, d; + if (coordinateSystem === WebGLCoordinateSystem) { + c = -(far + near) / (far - near); + d = -2 * far * near / (far - near); + } else if (coordinateSystem === WebGPUCoordinateSystem) { + c = -far / (far - near); + d = -far * near / (far - near); + } else { + throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: " + coordinateSystem); + } + te2[0] = x; + te2[4] = 0; + te2[8] = a; + te2[12] = 0; + te2[1] = 0; + te2[5] = y; + te2[9] = b; + te2[13] = 0; + te2[2] = 0; + te2[6] = 0; + te2[10] = c; + te2[14] = d; + te2[3] = 0; + te2[7] = 0; + te2[11] = -1; + te2[15] = 0; + return this; + } + makeOrthographic(left, right, top, bottom, near, far, coordinateSystem = WebGLCoordinateSystem) { + const te2 = this.elements; + const w = 1 / (right - left); + const h = 1 / (top - bottom); + const p = 1 / (far - near); + const x = (right + left) * w; + const y = (top + bottom) * h; + let z, zInv; + if (coordinateSystem === WebGLCoordinateSystem) { + z = (far + near) * p; + zInv = -2 * p; + } else if (coordinateSystem === WebGPUCoordinateSystem) { + z = near * p; + zInv = -1 * p; + } else { + throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: " + coordinateSystem); + } + te2[0] = 2 * w; + te2[4] = 0; + te2[8] = 0; + te2[12] = -x; + te2[1] = 0; + te2[5] = 2 * h; + te2[9] = 0; + te2[13] = -y; + te2[2] = 0; + te2[6] = 0; + te2[10] = zInv; + te2[14] = -z; + te2[3] = 0; + te2[7] = 0; + te2[11] = 0; + te2[15] = 1; + return this; + } + equals(matrix) { + const te2 = this.elements; + const me = matrix.elements; + for (let i = 0; i < 16; i++) { + if (te2[i] !== me[i]) return false; + } + return true; + } + fromArray(array, offset = 0) { + for (let i = 0; i < 16; i++) { + this.elements[i] = array[i + offset]; + } + return this; + } + toArray(array = [], offset = 0) { + const te2 = this.elements; + array[offset] = te2[0]; + array[offset + 1] = te2[1]; + array[offset + 2] = te2[2]; + array[offset + 3] = te2[3]; + array[offset + 4] = te2[4]; + array[offset + 5] = te2[5]; + array[offset + 6] = te2[6]; + array[offset + 7] = te2[7]; + array[offset + 8] = te2[8]; + array[offset + 9] = te2[9]; + array[offset + 10] = te2[10]; + array[offset + 11] = te2[11]; + array[offset + 12] = te2[12]; + array[offset + 13] = te2[13]; + array[offset + 14] = te2[14]; + array[offset + 15] = te2[15]; + return array; + } +} +const _v1$5 = /* @__PURE__ */ new Vector3(); +const _m1$4 = /* @__PURE__ */ new Matrix4(); +const _zero = /* @__PURE__ */ new Vector3(0, 0, 0); +const _one = /* @__PURE__ */ new Vector3(1, 1, 1); +const _x = /* @__PURE__ */ new Vector3(); +const _y = /* @__PURE__ */ new Vector3(); +const _z = /* @__PURE__ */ new Vector3(); +const _matrix$2 = /* @__PURE__ */ new Matrix4(); +const _quaternion$3 = /* @__PURE__ */ new Quaternion(); +class Euler { + static { + __name(this, "Euler"); + } + constructor(x = 0, y = 0, z = 0, order = Euler.DEFAULT_ORDER) { + this.isEuler = true; + this._x = x; + this._y = y; + this._z = z; + this._order = order; + } + get x() { + return this._x; + } + set x(value) { + this._x = value; + this._onChangeCallback(); + } + get y() { + return this._y; + } + set y(value) { + this._y = value; + this._onChangeCallback(); + } + get z() { + return this._z; + } + set z(value) { + this._z = value; + this._onChangeCallback(); + } + get order() { + return this._order; + } + set order(value) { + this._order = value; + this._onChangeCallback(); + } + set(x, y, z, order = this._order) { + this._x = x; + this._y = y; + this._z = z; + this._order = order; + this._onChangeCallback(); + return this; + } + clone() { + return new this.constructor(this._x, this._y, this._z, this._order); + } + copy(euler) { + this._x = euler._x; + this._y = euler._y; + this._z = euler._z; + this._order = euler._order; + this._onChangeCallback(); + return this; + } + setFromRotationMatrix(m, order = this._order, update = true) { + const te2 = m.elements; + const m11 = te2[0], m12 = te2[4], m13 = te2[8]; + const m21 = te2[1], m22 = te2[5], m23 = te2[9]; + const m31 = te2[2], m32 = te2[6], m33 = te2[10]; + switch (order) { + case "XYZ": + this._y = Math.asin(clamp(m13, -1, 1)); + if (Math.abs(m13) < 0.9999999) { + this._x = Math.atan2(-m23, m33); + this._z = Math.atan2(-m12, m11); + } else { + this._x = Math.atan2(m32, m22); + this._z = 0; + } + break; + case "YXZ": + this._x = Math.asin(-clamp(m23, -1, 1)); + if (Math.abs(m23) < 0.9999999) { + this._y = Math.atan2(m13, m33); + this._z = Math.atan2(m21, m22); + } else { + this._y = Math.atan2(-m31, m11); + this._z = 0; + } + break; + case "ZXY": + this._x = Math.asin(clamp(m32, -1, 1)); + if (Math.abs(m32) < 0.9999999) { + this._y = Math.atan2(-m31, m33); + this._z = Math.atan2(-m12, m22); + } else { + this._y = 0; + this._z = Math.atan2(m21, m11); + } + break; + case "ZYX": + this._y = Math.asin(-clamp(m31, -1, 1)); + if (Math.abs(m31) < 0.9999999) { + this._x = Math.atan2(m32, m33); + this._z = Math.atan2(m21, m11); + } else { + this._x = 0; + this._z = Math.atan2(-m12, m22); + } + break; + case "YZX": + this._z = Math.asin(clamp(m21, -1, 1)); + if (Math.abs(m21) < 0.9999999) { + this._x = Math.atan2(-m23, m22); + this._y = Math.atan2(-m31, m11); + } else { + this._x = 0; + this._y = Math.atan2(m13, m33); + } + break; + case "XZY": + this._z = Math.asin(-clamp(m12, -1, 1)); + if (Math.abs(m12) < 0.9999999) { + this._x = Math.atan2(m32, m22); + this._y = Math.atan2(m13, m11); + } else { + this._x = Math.atan2(-m23, m33); + this._y = 0; + } + break; + default: + console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: " + order); + } + this._order = order; + if (update === true) this._onChangeCallback(); + return this; + } + setFromQuaternion(q, order, update) { + _matrix$2.makeRotationFromQuaternion(q); + return this.setFromRotationMatrix(_matrix$2, order, update); + } + setFromVector3(v, order = this._order) { + return this.set(v.x, v.y, v.z, order); + } + reorder(newOrder) { + _quaternion$3.setFromEuler(this); + return this.setFromQuaternion(_quaternion$3, newOrder); + } + equals(euler) { + return euler._x === this._x && euler._y === this._y && euler._z === this._z && euler._order === this._order; + } + fromArray(array) { + this._x = array[0]; + this._y = array[1]; + this._z = array[2]; + if (array[3] !== void 0) this._order = array[3]; + this._onChangeCallback(); + return this; + } + toArray(array = [], offset = 0) { + array[offset] = this._x; + array[offset + 1] = this._y; + array[offset + 2] = this._z; + array[offset + 3] = this._order; + return array; + } + _onChange(callback) { + this._onChangeCallback = callback; + return this; + } + _onChangeCallback() { + } + *[Symbol.iterator]() { + yield this._x; + yield this._y; + yield this._z; + yield this._order; + } +} +Euler.DEFAULT_ORDER = "XYZ"; +class Layers { + static { + __name(this, "Layers"); + } + constructor() { + this.mask = 1 | 0; + } + set(channel) { + this.mask = (1 << channel | 0) >>> 0; + } + enable(channel) { + this.mask |= 1 << channel | 0; + } + enableAll() { + this.mask = 4294967295 | 0; + } + toggle(channel) { + this.mask ^= 1 << channel | 0; + } + disable(channel) { + this.mask &= ~(1 << channel | 0); + } + disableAll() { + this.mask = 0; + } + test(layers) { + return (this.mask & layers.mask) !== 0; + } + isEnabled(channel) { + return (this.mask & (1 << channel | 0)) !== 0; + } +} +let _object3DId = 0; +const _v1$4 = /* @__PURE__ */ new Vector3(); +const _q1 = /* @__PURE__ */ new Quaternion(); +const _m1$3 = /* @__PURE__ */ new Matrix4(); +const _target = /* @__PURE__ */ new Vector3(); +const _position$3 = /* @__PURE__ */ new Vector3(); +const _scale$2 = /* @__PURE__ */ new Vector3(); +const _quaternion$2 = /* @__PURE__ */ new Quaternion(); +const _xAxis = /* @__PURE__ */ new Vector3(1, 0, 0); +const _yAxis = /* @__PURE__ */ new Vector3(0, 1, 0); +const _zAxis = /* @__PURE__ */ new Vector3(0, 0, 1); +const _addedEvent = { type: "added" }; +const _removedEvent = { type: "removed" }; +const _childaddedEvent = { type: "childadded", child: null }; +const _childremovedEvent = { type: "childremoved", child: null }; +class Object3D extends EventDispatcher { + static { + __name(this, "Object3D"); + } + constructor() { + super(); + this.isObject3D = true; + Object.defineProperty(this, "id", { value: _object3DId++ }); + this.uuid = generateUUID(); + this.name = ""; + this.type = "Object3D"; + this.parent = null; + this.children = []; + this.up = Object3D.DEFAULT_UP.clone(); + const position = new Vector3(); + const rotation = new Euler(); + const quaternion = new Quaternion(); + const scale = new Vector3(1, 1, 1); + function onRotationChange() { + quaternion.setFromEuler(rotation, false); + } + __name(onRotationChange, "onRotationChange"); + function onQuaternionChange() { + rotation.setFromQuaternion(quaternion, void 0, false); + } + __name(onQuaternionChange, "onQuaternionChange"); + rotation._onChange(onRotationChange); + quaternion._onChange(onQuaternionChange); + Object.defineProperties(this, { + position: { + configurable: true, + enumerable: true, + value: position + }, + rotation: { + configurable: true, + enumerable: true, + value: rotation + }, + quaternion: { + configurable: true, + enumerable: true, + value: quaternion + }, + scale: { + configurable: true, + enumerable: true, + value: scale + }, + modelViewMatrix: { + value: new Matrix4() + }, + normalMatrix: { + value: new Matrix3() + } + }); + this.matrix = new Matrix4(); + this.matrixWorld = new Matrix4(); + this.matrixAutoUpdate = Object3D.DEFAULT_MATRIX_AUTO_UPDATE; + this.matrixWorldAutoUpdate = Object3D.DEFAULT_MATRIX_WORLD_AUTO_UPDATE; + this.matrixWorldNeedsUpdate = false; + this.layers = new Layers(); + this.visible = true; + this.castShadow = false; + this.receiveShadow = false; + this.frustumCulled = true; + this.renderOrder = 0; + this.animations = []; + this.userData = {}; + } + onBeforeShadow() { + } + onAfterShadow() { + } + onBeforeRender() { + } + onAfterRender() { + } + applyMatrix4(matrix) { + if (this.matrixAutoUpdate) this.updateMatrix(); + this.matrix.premultiply(matrix); + this.matrix.decompose(this.position, this.quaternion, this.scale); + } + applyQuaternion(q) { + this.quaternion.premultiply(q); + return this; + } + setRotationFromAxisAngle(axis, angle) { + this.quaternion.setFromAxisAngle(axis, angle); + } + setRotationFromEuler(euler) { + this.quaternion.setFromEuler(euler, true); + } + setRotationFromMatrix(m) { + this.quaternion.setFromRotationMatrix(m); + } + setRotationFromQuaternion(q) { + this.quaternion.copy(q); + } + rotateOnAxis(axis, angle) { + _q1.setFromAxisAngle(axis, angle); + this.quaternion.multiply(_q1); + return this; + } + rotateOnWorldAxis(axis, angle) { + _q1.setFromAxisAngle(axis, angle); + this.quaternion.premultiply(_q1); + return this; + } + rotateX(angle) { + return this.rotateOnAxis(_xAxis, angle); + } + rotateY(angle) { + return this.rotateOnAxis(_yAxis, angle); + } + rotateZ(angle) { + return this.rotateOnAxis(_zAxis, angle); + } + translateOnAxis(axis, distance) { + _v1$4.copy(axis).applyQuaternion(this.quaternion); + this.position.add(_v1$4.multiplyScalar(distance)); + return this; + } + translateX(distance) { + return this.translateOnAxis(_xAxis, distance); + } + translateY(distance) { + return this.translateOnAxis(_yAxis, distance); + } + translateZ(distance) { + return this.translateOnAxis(_zAxis, distance); + } + localToWorld(vector) { + this.updateWorldMatrix(true, false); + return vector.applyMatrix4(this.matrixWorld); + } + worldToLocal(vector) { + this.updateWorldMatrix(true, false); + return vector.applyMatrix4(_m1$3.copy(this.matrixWorld).invert()); + } + lookAt(x, y, z) { + if (x.isVector3) { + _target.copy(x); + } else { + _target.set(x, y, z); + } + const parent = this.parent; + this.updateWorldMatrix(true, false); + _position$3.setFromMatrixPosition(this.matrixWorld); + if (this.isCamera || this.isLight) { + _m1$3.lookAt(_position$3, _target, this.up); + } else { + _m1$3.lookAt(_target, _position$3, this.up); + } + this.quaternion.setFromRotationMatrix(_m1$3); + if (parent) { + _m1$3.extractRotation(parent.matrixWorld); + _q1.setFromRotationMatrix(_m1$3); + this.quaternion.premultiply(_q1.invert()); + } + } + add(object) { + if (arguments.length > 1) { + for (let i = 0; i < arguments.length; i++) { + this.add(arguments[i]); + } + return this; + } + if (object === this) { + console.error("THREE.Object3D.add: object can't be added as a child of itself.", object); + return this; + } + if (object && object.isObject3D) { + object.removeFromParent(); + object.parent = this; + this.children.push(object); + object.dispatchEvent(_addedEvent); + _childaddedEvent.child = object; + this.dispatchEvent(_childaddedEvent); + _childaddedEvent.child = null; + } else { + console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.", object); + } + return this; + } + remove(object) { + if (arguments.length > 1) { + for (let i = 0; i < arguments.length; i++) { + this.remove(arguments[i]); + } + return this; + } + const index = this.children.indexOf(object); + if (index !== -1) { + object.parent = null; + this.children.splice(index, 1); + object.dispatchEvent(_removedEvent); + _childremovedEvent.child = object; + this.dispatchEvent(_childremovedEvent); + _childremovedEvent.child = null; + } + return this; + } + removeFromParent() { + const parent = this.parent; + if (parent !== null) { + parent.remove(this); + } + return this; + } + clear() { + return this.remove(...this.children); + } + attach(object) { + this.updateWorldMatrix(true, false); + _m1$3.copy(this.matrixWorld).invert(); + if (object.parent !== null) { + object.parent.updateWorldMatrix(true, false); + _m1$3.multiply(object.parent.matrixWorld); + } + object.applyMatrix4(_m1$3); + object.removeFromParent(); + object.parent = this; + this.children.push(object); + object.updateWorldMatrix(false, true); + object.dispatchEvent(_addedEvent); + _childaddedEvent.child = object; + this.dispatchEvent(_childaddedEvent); + _childaddedEvent.child = null; + return this; + } + getObjectById(id2) { + return this.getObjectByProperty("id", id2); + } + getObjectByName(name) { + return this.getObjectByProperty("name", name); + } + getObjectByProperty(name, value) { + if (this[name] === value) return this; + for (let i = 0, l = this.children.length; i < l; i++) { + const child = this.children[i]; + const object = child.getObjectByProperty(name, value); + if (object !== void 0) { + return object; + } + } + return void 0; + } + getObjectsByProperty(name, value, result = []) { + if (this[name] === value) result.push(this); + const children = this.children; + for (let i = 0, l = children.length; i < l; i++) { + children[i].getObjectsByProperty(name, value, result); + } + return result; + } + getWorldPosition(target) { + this.updateWorldMatrix(true, false); + return target.setFromMatrixPosition(this.matrixWorld); + } + getWorldQuaternion(target) { + this.updateWorldMatrix(true, false); + this.matrixWorld.decompose(_position$3, target, _scale$2); + return target; + } + getWorldScale(target) { + this.updateWorldMatrix(true, false); + this.matrixWorld.decompose(_position$3, _quaternion$2, target); + return target; + } + getWorldDirection(target) { + this.updateWorldMatrix(true, false); + const e = this.matrixWorld.elements; + return target.set(e[8], e[9], e[10]).normalize(); + } + raycast() { + } + traverse(callback) { + callback(this); + const children = this.children; + for (let i = 0, l = children.length; i < l; i++) { + children[i].traverse(callback); + } + } + traverseVisible(callback) { + if (this.visible === false) return; + callback(this); + const children = this.children; + for (let i = 0, l = children.length; i < l; i++) { + children[i].traverseVisible(callback); + } + } + traverseAncestors(callback) { + const parent = this.parent; + if (parent !== null) { + callback(parent); + parent.traverseAncestors(callback); + } + } + updateMatrix() { + this.matrix.compose(this.position, this.quaternion, this.scale); + this.matrixWorldNeedsUpdate = true; + } + updateMatrixWorld(force) { + if (this.matrixAutoUpdate) this.updateMatrix(); + if (this.matrixWorldNeedsUpdate || force) { + if (this.matrixWorldAutoUpdate === true) { + if (this.parent === null) { + this.matrixWorld.copy(this.matrix); + } else { + this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix); + } + } + this.matrixWorldNeedsUpdate = false; + force = true; + } + const children = this.children; + for (let i = 0, l = children.length; i < l; i++) { + const child = children[i]; + child.updateMatrixWorld(force); + } + } + updateWorldMatrix(updateParents, updateChildren) { + const parent = this.parent; + if (updateParents === true && parent !== null) { + parent.updateWorldMatrix(true, false); + } + if (this.matrixAutoUpdate) this.updateMatrix(); + if (this.matrixWorldAutoUpdate === true) { + if (this.parent === null) { + this.matrixWorld.copy(this.matrix); + } else { + this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix); + } + } + if (updateChildren === true) { + const children = this.children; + for (let i = 0, l = children.length; i < l; i++) { + const child = children[i]; + child.updateWorldMatrix(false, true); + } + } + } + toJSON(meta) { + const isRootObject = meta === void 0 || typeof meta === "string"; + const output = {}; + if (isRootObject) { + meta = { + geometries: {}, + materials: {}, + textures: {}, + images: {}, + shapes: {}, + skeletons: {}, + animations: {}, + nodes: {} + }; + output.metadata = { + version: 4.6, + type: "Object", + generator: "Object3D.toJSON" + }; + } + const object = {}; + object.uuid = this.uuid; + object.type = this.type; + if (this.name !== "") object.name = this.name; + if (this.castShadow === true) object.castShadow = true; + if (this.receiveShadow === true) object.receiveShadow = true; + if (this.visible === false) object.visible = false; + if (this.frustumCulled === false) object.frustumCulled = false; + if (this.renderOrder !== 0) object.renderOrder = this.renderOrder; + if (Object.keys(this.userData).length > 0) object.userData = this.userData; + object.layers = this.layers.mask; + object.matrix = this.matrix.toArray(); + object.up = this.up.toArray(); + if (this.matrixAutoUpdate === false) object.matrixAutoUpdate = false; + if (this.isInstancedMesh) { + object.type = "InstancedMesh"; + object.count = this.count; + object.instanceMatrix = this.instanceMatrix.toJSON(); + if (this.instanceColor !== null) object.instanceColor = this.instanceColor.toJSON(); + } + if (this.isBatchedMesh) { + object.type = "BatchedMesh"; + object.perObjectFrustumCulled = this.perObjectFrustumCulled; + object.sortObjects = this.sortObjects; + object.drawRanges = this._drawRanges; + object.reservedRanges = this._reservedRanges; + object.visibility = this._visibility; + object.active = this._active; + object.bounds = this._bounds.map((bound) => ({ + boxInitialized: bound.boxInitialized, + boxMin: bound.box.min.toArray(), + boxMax: bound.box.max.toArray(), + sphereInitialized: bound.sphereInitialized, + sphereRadius: bound.sphere.radius, + sphereCenter: bound.sphere.center.toArray() + })); + object.maxInstanceCount = this._maxInstanceCount; + object.maxVertexCount = this._maxVertexCount; + object.maxIndexCount = this._maxIndexCount; + object.geometryInitialized = this._geometryInitialized; + object.geometryCount = this._geometryCount; + object.matricesTexture = this._matricesTexture.toJSON(meta); + if (this._colorsTexture !== null) object.colorsTexture = this._colorsTexture.toJSON(meta); + if (this.boundingSphere !== null) { + object.boundingSphere = { + center: object.boundingSphere.center.toArray(), + radius: object.boundingSphere.radius + }; + } + if (this.boundingBox !== null) { + object.boundingBox = { + min: object.boundingBox.min.toArray(), + max: object.boundingBox.max.toArray() + }; + } + } + function serialize(library, element) { + if (library[element.uuid] === void 0) { + library[element.uuid] = element.toJSON(meta); + } + return element.uuid; + } + __name(serialize, "serialize"); + if (this.isScene) { + if (this.background) { + if (this.background.isColor) { + object.background = this.background.toJSON(); + } else if (this.background.isTexture) { + object.background = this.background.toJSON(meta).uuid; + } + } + if (this.environment && this.environment.isTexture && this.environment.isRenderTargetTexture !== true) { + object.environment = this.environment.toJSON(meta).uuid; + } + } else if (this.isMesh || this.isLine || this.isPoints) { + object.geometry = serialize(meta.geometries, this.geometry); + const parameters = this.geometry.parameters; + if (parameters !== void 0 && parameters.shapes !== void 0) { + const shapes = parameters.shapes; + if (Array.isArray(shapes)) { + for (let i = 0, l = shapes.length; i < l; i++) { + const shape = shapes[i]; + serialize(meta.shapes, shape); + } + } else { + serialize(meta.shapes, shapes); + } + } + } + if (this.isSkinnedMesh) { + object.bindMode = this.bindMode; + object.bindMatrix = this.bindMatrix.toArray(); + if (this.skeleton !== void 0) { + serialize(meta.skeletons, this.skeleton); + object.skeleton = this.skeleton.uuid; + } + } + if (this.material !== void 0) { + if (Array.isArray(this.material)) { + const uuids = []; + for (let i = 0, l = this.material.length; i < l; i++) { + uuids.push(serialize(meta.materials, this.material[i])); + } + object.material = uuids; + } else { + object.material = serialize(meta.materials, this.material); + } + } + if (this.children.length > 0) { + object.children = []; + for (let i = 0; i < this.children.length; i++) { + object.children.push(this.children[i].toJSON(meta).object); + } + } + if (this.animations.length > 0) { + object.animations = []; + for (let i = 0; i < this.animations.length; i++) { + const animation = this.animations[i]; + object.animations.push(serialize(meta.animations, animation)); + } + } + if (isRootObject) { + const geometries = extractFromCache(meta.geometries); + const materials = extractFromCache(meta.materials); + const textures = extractFromCache(meta.textures); + const images = extractFromCache(meta.images); + const shapes = extractFromCache(meta.shapes); + const skeletons = extractFromCache(meta.skeletons); + const animations = extractFromCache(meta.animations); + const nodes = extractFromCache(meta.nodes); + if (geometries.length > 0) output.geometries = geometries; + if (materials.length > 0) output.materials = materials; + if (textures.length > 0) output.textures = textures; + if (images.length > 0) output.images = images; + if (shapes.length > 0) output.shapes = shapes; + if (skeletons.length > 0) output.skeletons = skeletons; + if (animations.length > 0) output.animations = animations; + if (nodes.length > 0) output.nodes = nodes; + } + output.object = object; + return output; + function extractFromCache(cache) { + const values = []; + for (const key in cache) { + const data = cache[key]; + delete data.metadata; + values.push(data); + } + return values; + } + __name(extractFromCache, "extractFromCache"); + } + clone(recursive) { + return new this.constructor().copy(this, recursive); + } + copy(source, recursive = true) { + this.name = source.name; + this.up.copy(source.up); + this.position.copy(source.position); + this.rotation.order = source.rotation.order; + this.quaternion.copy(source.quaternion); + this.scale.copy(source.scale); + this.matrix.copy(source.matrix); + this.matrixWorld.copy(source.matrixWorld); + this.matrixAutoUpdate = source.matrixAutoUpdate; + this.matrixWorldAutoUpdate = source.matrixWorldAutoUpdate; + this.matrixWorldNeedsUpdate = source.matrixWorldNeedsUpdate; + this.layers.mask = source.layers.mask; + this.visible = source.visible; + this.castShadow = source.castShadow; + this.receiveShadow = source.receiveShadow; + this.frustumCulled = source.frustumCulled; + this.renderOrder = source.renderOrder; + this.animations = source.animations.slice(); + this.userData = JSON.parse(JSON.stringify(source.userData)); + if (recursive === true) { + for (let i = 0; i < source.children.length; i++) { + const child = source.children[i]; + this.add(child.clone()); + } + } + return this; + } +} +Object3D.DEFAULT_UP = /* @__PURE__ */ new Vector3(0, 1, 0); +Object3D.DEFAULT_MATRIX_AUTO_UPDATE = true; +Object3D.DEFAULT_MATRIX_WORLD_AUTO_UPDATE = true; +const _v0$2 = /* @__PURE__ */ new Vector3(); +const _v1$3 = /* @__PURE__ */ new Vector3(); +const _v2$2 = /* @__PURE__ */ new Vector3(); +const _v3$2 = /* @__PURE__ */ new Vector3(); +const _vab = /* @__PURE__ */ new Vector3(); +const _vac = /* @__PURE__ */ new Vector3(); +const _vbc = /* @__PURE__ */ new Vector3(); +const _vap = /* @__PURE__ */ new Vector3(); +const _vbp = /* @__PURE__ */ new Vector3(); +const _vcp = /* @__PURE__ */ new Vector3(); +const _v40 = /* @__PURE__ */ new Vector4(); +const _v41 = /* @__PURE__ */ new Vector4(); +const _v42 = /* @__PURE__ */ new Vector4(); +class Triangle { + static { + __name(this, "Triangle"); + } + constructor(a = new Vector3(), b = new Vector3(), c = new Vector3()) { + this.a = a; + this.b = b; + this.c = c; + } + static getNormal(a, b, c, target) { + target.subVectors(c, b); + _v0$2.subVectors(a, b); + target.cross(_v0$2); + const targetLengthSq = target.lengthSq(); + if (targetLengthSq > 0) { + return target.multiplyScalar(1 / Math.sqrt(targetLengthSq)); + } + return target.set(0, 0, 0); + } + // static/instance method to calculate barycentric coordinates + // based on: http://www.blackpawn.com/texts/pointinpoly/default.html + static getBarycoord(point, a, b, c, target) { + _v0$2.subVectors(c, a); + _v1$3.subVectors(b, a); + _v2$2.subVectors(point, a); + const dot00 = _v0$2.dot(_v0$2); + const dot01 = _v0$2.dot(_v1$3); + const dot02 = _v0$2.dot(_v2$2); + const dot11 = _v1$3.dot(_v1$3); + const dot12 = _v1$3.dot(_v2$2); + const denom = dot00 * dot11 - dot01 * dot01; + if (denom === 0) { + target.set(0, 0, 0); + return null; + } + const invDenom = 1 / denom; + const u = (dot11 * dot02 - dot01 * dot12) * invDenom; + const v = (dot00 * dot12 - dot01 * dot02) * invDenom; + return target.set(1 - u - v, v, u); + } + static containsPoint(point, a, b, c) { + if (this.getBarycoord(point, a, b, c, _v3$2) === null) { + return false; + } + return _v3$2.x >= 0 && _v3$2.y >= 0 && _v3$2.x + _v3$2.y <= 1; + } + static getInterpolation(point, p1, p2, p3, v1, v2, v3, target) { + if (this.getBarycoord(point, p1, p2, p3, _v3$2) === null) { + target.x = 0; + target.y = 0; + if ("z" in target) target.z = 0; + if ("w" in target) target.w = 0; + return null; + } + target.setScalar(0); + target.addScaledVector(v1, _v3$2.x); + target.addScaledVector(v2, _v3$2.y); + target.addScaledVector(v3, _v3$2.z); + return target; + } + static getInterpolatedAttribute(attr, i1, i2, i3, barycoord, target) { + _v40.setScalar(0); + _v41.setScalar(0); + _v42.setScalar(0); + _v40.fromBufferAttribute(attr, i1); + _v41.fromBufferAttribute(attr, i2); + _v42.fromBufferAttribute(attr, i3); + target.setScalar(0); + target.addScaledVector(_v40, barycoord.x); + target.addScaledVector(_v41, barycoord.y); + target.addScaledVector(_v42, barycoord.z); + return target; + } + static isFrontFacing(a, b, c, direction) { + _v0$2.subVectors(c, b); + _v1$3.subVectors(a, b); + return _v0$2.cross(_v1$3).dot(direction) < 0 ? true : false; + } + set(a, b, c) { + this.a.copy(a); + this.b.copy(b); + this.c.copy(c); + return this; + } + setFromPointsAndIndices(points, i0, i1, i2) { + this.a.copy(points[i0]); + this.b.copy(points[i1]); + this.c.copy(points[i2]); + return this; + } + setFromAttributeAndIndices(attribute, i0, i1, i2) { + this.a.fromBufferAttribute(attribute, i0); + this.b.fromBufferAttribute(attribute, i1); + this.c.fromBufferAttribute(attribute, i2); + return this; + } + clone() { + return new this.constructor().copy(this); + } + copy(triangle) { + this.a.copy(triangle.a); + this.b.copy(triangle.b); + this.c.copy(triangle.c); + return this; + } + getArea() { + _v0$2.subVectors(this.c, this.b); + _v1$3.subVectors(this.a, this.b); + return _v0$2.cross(_v1$3).length() * 0.5; + } + getMidpoint(target) { + return target.addVectors(this.a, this.b).add(this.c).multiplyScalar(1 / 3); + } + getNormal(target) { + return Triangle.getNormal(this.a, this.b, this.c, target); + } + getPlane(target) { + return target.setFromCoplanarPoints(this.a, this.b, this.c); + } + getBarycoord(point, target) { + return Triangle.getBarycoord(point, this.a, this.b, this.c, target); + } + getInterpolation(point, v1, v2, v3, target) { + return Triangle.getInterpolation(point, this.a, this.b, this.c, v1, v2, v3, target); + } + containsPoint(point) { + return Triangle.containsPoint(point, this.a, this.b, this.c); + } + isFrontFacing(direction) { + return Triangle.isFrontFacing(this.a, this.b, this.c, direction); + } + intersectsBox(box) { + return box.intersectsTriangle(this); + } + closestPointToPoint(p, target) { + const a = this.a, b = this.b, c = this.c; + let v, w; + _vab.subVectors(b, a); + _vac.subVectors(c, a); + _vap.subVectors(p, a); + const d1 = _vab.dot(_vap); + const d2 = _vac.dot(_vap); + if (d1 <= 0 && d2 <= 0) { + return target.copy(a); + } + _vbp.subVectors(p, b); + const d3 = _vab.dot(_vbp); + const d4 = _vac.dot(_vbp); + if (d3 >= 0 && d4 <= d3) { + return target.copy(b); + } + const vc = d1 * d4 - d3 * d2; + if (vc <= 0 && d1 >= 0 && d3 <= 0) { + v = d1 / (d1 - d3); + return target.copy(a).addScaledVector(_vab, v); + } + _vcp.subVectors(p, c); + const d5 = _vab.dot(_vcp); + const d6 = _vac.dot(_vcp); + if (d6 >= 0 && d5 <= d6) { + return target.copy(c); + } + const vb = d5 * d2 - d1 * d6; + if (vb <= 0 && d2 >= 0 && d6 <= 0) { + w = d2 / (d2 - d6); + return target.copy(a).addScaledVector(_vac, w); + } + const va = d3 * d6 - d5 * d4; + if (va <= 0 && d4 - d3 >= 0 && d5 - d6 >= 0) { + _vbc.subVectors(c, b); + w = (d4 - d3) / (d4 - d3 + (d5 - d6)); + return target.copy(b).addScaledVector(_vbc, w); + } + const denom = 1 / (va + vb + vc); + v = vb * denom; + w = vc * denom; + return target.copy(a).addScaledVector(_vab, v).addScaledVector(_vac, w); + } + equals(triangle) { + return triangle.a.equals(this.a) && triangle.b.equals(this.b) && triangle.c.equals(this.c); + } +} +const _colorKeywords = { + "aliceblue": 15792383, + "antiquewhite": 16444375, + "aqua": 65535, + "aquamarine": 8388564, + "azure": 15794175, + "beige": 16119260, + "bisque": 16770244, + "black": 0, + "blanchedalmond": 16772045, + "blue": 255, + "blueviolet": 9055202, + "brown": 10824234, + "burlywood": 14596231, + "cadetblue": 6266528, + "chartreuse": 8388352, + "chocolate": 13789470, + "coral": 16744272, + "cornflowerblue": 6591981, + "cornsilk": 16775388, + "crimson": 14423100, + "cyan": 65535, + "darkblue": 139, + "darkcyan": 35723, + "darkgoldenrod": 12092939, + "darkgray": 11119017, + "darkgreen": 25600, + "darkgrey": 11119017, + "darkkhaki": 12433259, + "darkmagenta": 9109643, + "darkolivegreen": 5597999, + "darkorange": 16747520, + "darkorchid": 10040012, + "darkred": 9109504, + "darksalmon": 15308410, + "darkseagreen": 9419919, + "darkslateblue": 4734347, + "darkslategray": 3100495, + "darkslategrey": 3100495, + "darkturquoise": 52945, + "darkviolet": 9699539, + "deeppink": 16716947, + "deepskyblue": 49151, + "dimgray": 6908265, + "dimgrey": 6908265, + "dodgerblue": 2003199, + "firebrick": 11674146, + "floralwhite": 16775920, + "forestgreen": 2263842, + "fuchsia": 16711935, + "gainsboro": 14474460, + "ghostwhite": 16316671, + "gold": 16766720, + "goldenrod": 14329120, + "gray": 8421504, + "green": 32768, + "greenyellow": 11403055, + "grey": 8421504, + "honeydew": 15794160, + "hotpink": 16738740, + "indianred": 13458524, + "indigo": 4915330, + "ivory": 16777200, + "khaki": 15787660, + "lavender": 15132410, + "lavenderblush": 16773365, + "lawngreen": 8190976, + "lemonchiffon": 16775885, + "lightblue": 11393254, + "lightcoral": 15761536, + "lightcyan": 14745599, + "lightgoldenrodyellow": 16448210, + "lightgray": 13882323, + "lightgreen": 9498256, + "lightgrey": 13882323, + "lightpink": 16758465, + "lightsalmon": 16752762, + "lightseagreen": 2142890, + "lightskyblue": 8900346, + "lightslategray": 7833753, + "lightslategrey": 7833753, + "lightsteelblue": 11584734, + "lightyellow": 16777184, + "lime": 65280, + "limegreen": 3329330, + "linen": 16445670, + "magenta": 16711935, + "maroon": 8388608, + "mediumaquamarine": 6737322, + "mediumblue": 205, + "mediumorchid": 12211667, + "mediumpurple": 9662683, + "mediumseagreen": 3978097, + "mediumslateblue": 8087790, + "mediumspringgreen": 64154, + "mediumturquoise": 4772300, + "mediumvioletred": 13047173, + "midnightblue": 1644912, + "mintcream": 16121850, + "mistyrose": 16770273, + "moccasin": 16770229, + "navajowhite": 16768685, + "navy": 128, + "oldlace": 16643558, + "olive": 8421376, + "olivedrab": 7048739, + "orange": 16753920, + "orangered": 16729344, + "orchid": 14315734, + "palegoldenrod": 15657130, + "palegreen": 10025880, + "paleturquoise": 11529966, + "palevioletred": 14381203, + "papayawhip": 16773077, + "peachpuff": 16767673, + "peru": 13468991, + "pink": 16761035, + "plum": 14524637, + "powderblue": 11591910, + "purple": 8388736, + "rebeccapurple": 6697881, + "red": 16711680, + "rosybrown": 12357519, + "royalblue": 4286945, + "saddlebrown": 9127187, + "salmon": 16416882, + "sandybrown": 16032864, + "seagreen": 3050327, + "seashell": 16774638, + "sienna": 10506797, + "silver": 12632256, + "skyblue": 8900331, + "slateblue": 6970061, + "slategray": 7372944, + "slategrey": 7372944, + "snow": 16775930, + "springgreen": 65407, + "steelblue": 4620980, + "tan": 13808780, + "teal": 32896, + "thistle": 14204888, + "tomato": 16737095, + "turquoise": 4251856, + "violet": 15631086, + "wheat": 16113331, + "white": 16777215, + "whitesmoke": 16119285, + "yellow": 16776960, + "yellowgreen": 10145074 +}; +const _hslA = { h: 0, s: 0, l: 0 }; +const _hslB = { h: 0, s: 0, l: 0 }; +function hue2rgb(p, q, t2) { + if (t2 < 0) t2 += 1; + if (t2 > 1) t2 -= 1; + if (t2 < 1 / 6) return p + (q - p) * 6 * t2; + if (t2 < 1 / 2) return q; + if (t2 < 2 / 3) return p + (q - p) * 6 * (2 / 3 - t2); + return p; +} +__name(hue2rgb, "hue2rgb"); +class Color { + static { + __name(this, "Color"); + } + constructor(r, g, b) { + this.isColor = true; + this.r = 1; + this.g = 1; + this.b = 1; + return this.set(r, g, b); + } + set(r, g, b) { + if (g === void 0 && b === void 0) { + const value = r; + if (value && value.isColor) { + this.copy(value); + } else if (typeof value === "number") { + this.setHex(value); + } else if (typeof value === "string") { + this.setStyle(value); + } + } else { + this.setRGB(r, g, b); + } + return this; + } + setScalar(scalar) { + this.r = scalar; + this.g = scalar; + this.b = scalar; + return this; + } + setHex(hex, colorSpace = SRGBColorSpace) { + hex = Math.floor(hex); + this.r = (hex >> 16 & 255) / 255; + this.g = (hex >> 8 & 255) / 255; + this.b = (hex & 255) / 255; + ColorManagement.toWorkingColorSpace(this, colorSpace); + return this; + } + setRGB(r, g, b, colorSpace = ColorManagement.workingColorSpace) { + this.r = r; + this.g = g; + this.b = b; + ColorManagement.toWorkingColorSpace(this, colorSpace); + return this; + } + setHSL(h, s, l, colorSpace = ColorManagement.workingColorSpace) { + h = euclideanModulo(h, 1); + s = clamp(s, 0, 1); + l = clamp(l, 0, 1); + if (s === 0) { + this.r = this.g = this.b = l; + } else { + const p = l <= 0.5 ? l * (1 + s) : l + s - l * s; + const q = 2 * l - p; + this.r = hue2rgb(q, p, h + 1 / 3); + this.g = hue2rgb(q, p, h); + this.b = hue2rgb(q, p, h - 1 / 3); + } + ColorManagement.toWorkingColorSpace(this, colorSpace); + return this; + } + setStyle(style, colorSpace = SRGBColorSpace) { + function handleAlpha(string) { + if (string === void 0) return; + if (parseFloat(string) < 1) { + console.warn("THREE.Color: Alpha component of " + style + " will be ignored."); + } + } + __name(handleAlpha, "handleAlpha"); + let m; + if (m = /^(\w+)\(([^\)]*)\)/.exec(style)) { + let color; + const name = m[1]; + const components = m[2]; + switch (name) { + case "rgb": + case "rgba": + if (color = /^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(components)) { + handleAlpha(color[4]); + return this.setRGB( + Math.min(255, parseInt(color[1], 10)) / 255, + Math.min(255, parseInt(color[2], 10)) / 255, + Math.min(255, parseInt(color[3], 10)) / 255, + colorSpace + ); + } + if (color = /^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(components)) { + handleAlpha(color[4]); + return this.setRGB( + Math.min(100, parseInt(color[1], 10)) / 100, + Math.min(100, parseInt(color[2], 10)) / 100, + Math.min(100, parseInt(color[3], 10)) / 100, + colorSpace + ); + } + break; + case "hsl": + case "hsla": + if (color = /^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(components)) { + handleAlpha(color[4]); + return this.setHSL( + parseFloat(color[1]) / 360, + parseFloat(color[2]) / 100, + parseFloat(color[3]) / 100, + colorSpace + ); + } + break; + default: + console.warn("THREE.Color: Unknown color model " + style); + } + } else if (m = /^\#([A-Fa-f\d]+)$/.exec(style)) { + const hex = m[1]; + const size = hex.length; + if (size === 3) { + return this.setRGB( + parseInt(hex.charAt(0), 16) / 15, + parseInt(hex.charAt(1), 16) / 15, + parseInt(hex.charAt(2), 16) / 15, + colorSpace + ); + } else if (size === 6) { + return this.setHex(parseInt(hex, 16), colorSpace); + } else { + console.warn("THREE.Color: Invalid hex color " + style); + } + } else if (style && style.length > 0) { + return this.setColorName(style, colorSpace); + } + return this; + } + setColorName(style, colorSpace = SRGBColorSpace) { + const hex = _colorKeywords[style.toLowerCase()]; + if (hex !== void 0) { + this.setHex(hex, colorSpace); + } else { + console.warn("THREE.Color: Unknown color " + style); + } + return this; + } + clone() { + return new this.constructor(this.r, this.g, this.b); + } + copy(color) { + this.r = color.r; + this.g = color.g; + this.b = color.b; + return this; + } + copySRGBToLinear(color) { + this.r = SRGBToLinear(color.r); + this.g = SRGBToLinear(color.g); + this.b = SRGBToLinear(color.b); + return this; + } + copyLinearToSRGB(color) { + this.r = LinearToSRGB(color.r); + this.g = LinearToSRGB(color.g); + this.b = LinearToSRGB(color.b); + return this; + } + convertSRGBToLinear() { + this.copySRGBToLinear(this); + return this; + } + convertLinearToSRGB() { + this.copyLinearToSRGB(this); + return this; + } + getHex(colorSpace = SRGBColorSpace) { + ColorManagement.fromWorkingColorSpace(_color$1.copy(this), colorSpace); + return Math.round(clamp(_color$1.r * 255, 0, 255)) * 65536 + Math.round(clamp(_color$1.g * 255, 0, 255)) * 256 + Math.round(clamp(_color$1.b * 255, 0, 255)); + } + getHexString(colorSpace = SRGBColorSpace) { + return ("000000" + this.getHex(colorSpace).toString(16)).slice(-6); + } + getHSL(target, colorSpace = ColorManagement.workingColorSpace) { + ColorManagement.fromWorkingColorSpace(_color$1.copy(this), colorSpace); + const r = _color$1.r, g = _color$1.g, b = _color$1.b; + const max2 = Math.max(r, g, b); + const min = Math.min(r, g, b); + let hue, saturation; + const lightness = (min + max2) / 2; + if (min === max2) { + hue = 0; + saturation = 0; + } else { + const delta = max2 - min; + saturation = lightness <= 0.5 ? delta / (max2 + min) : delta / (2 - max2 - min); + switch (max2) { + case r: + hue = (g - b) / delta + (g < b ? 6 : 0); + break; + case g: + hue = (b - r) / delta + 2; + break; + case b: + hue = (r - g) / delta + 4; + break; + } + hue /= 6; + } + target.h = hue; + target.s = saturation; + target.l = lightness; + return target; + } + getRGB(target, colorSpace = ColorManagement.workingColorSpace) { + ColorManagement.fromWorkingColorSpace(_color$1.copy(this), colorSpace); + target.r = _color$1.r; + target.g = _color$1.g; + target.b = _color$1.b; + return target; + } + getStyle(colorSpace = SRGBColorSpace) { + ColorManagement.fromWorkingColorSpace(_color$1.copy(this), colorSpace); + const r = _color$1.r, g = _color$1.g, b = _color$1.b; + if (colorSpace !== SRGBColorSpace) { + return `color(${colorSpace} ${r.toFixed(3)} ${g.toFixed(3)} ${b.toFixed(3)})`; + } + return `rgb(${Math.round(r * 255)},${Math.round(g * 255)},${Math.round(b * 255)})`; + } + offsetHSL(h, s, l) { + this.getHSL(_hslA); + return this.setHSL(_hslA.h + h, _hslA.s + s, _hslA.l + l); + } + add(color) { + this.r += color.r; + this.g += color.g; + this.b += color.b; + return this; + } + addColors(color1, color2) { + this.r = color1.r + color2.r; + this.g = color1.g + color2.g; + this.b = color1.b + color2.b; + return this; + } + addScalar(s) { + this.r += s; + this.g += s; + this.b += s; + return this; + } + sub(color) { + this.r = Math.max(0, this.r - color.r); + this.g = Math.max(0, this.g - color.g); + this.b = Math.max(0, this.b - color.b); + return this; + } + multiply(color) { + this.r *= color.r; + this.g *= color.g; + this.b *= color.b; + return this; + } + multiplyScalar(s) { + this.r *= s; + this.g *= s; + this.b *= s; + return this; + } + lerp(color, alpha) { + this.r += (color.r - this.r) * alpha; + this.g += (color.g - this.g) * alpha; + this.b += (color.b - this.b) * alpha; + return this; + } + lerpColors(color1, color2, alpha) { + this.r = color1.r + (color2.r - color1.r) * alpha; + this.g = color1.g + (color2.g - color1.g) * alpha; + this.b = color1.b + (color2.b - color1.b) * alpha; + return this; + } + lerpHSL(color, alpha) { + this.getHSL(_hslA); + color.getHSL(_hslB); + const h = lerp(_hslA.h, _hslB.h, alpha); + const s = lerp(_hslA.s, _hslB.s, alpha); + const l = lerp(_hslA.l, _hslB.l, alpha); + this.setHSL(h, s, l); + return this; + } + setFromVector3(v) { + this.r = v.x; + this.g = v.y; + this.b = v.z; + return this; + } + applyMatrix3(m) { + const r = this.r, g = this.g, b = this.b; + const e = m.elements; + this.r = e[0] * r + e[3] * g + e[6] * b; + this.g = e[1] * r + e[4] * g + e[7] * b; + this.b = e[2] * r + e[5] * g + e[8] * b; + return this; + } + equals(c) { + return c.r === this.r && c.g === this.g && c.b === this.b; + } + fromArray(array, offset = 0) { + this.r = array[offset]; + this.g = array[offset + 1]; + this.b = array[offset + 2]; + return this; + } + toArray(array = [], offset = 0) { + array[offset] = this.r; + array[offset + 1] = this.g; + array[offset + 2] = this.b; + return array; + } + fromBufferAttribute(attribute, index) { + this.r = attribute.getX(index); + this.g = attribute.getY(index); + this.b = attribute.getZ(index); + return this; + } + toJSON() { + return this.getHex(); + } + *[Symbol.iterator]() { + yield this.r; + yield this.g; + yield this.b; + } +} +const _color$1 = /* @__PURE__ */ new Color(); +Color.NAMES = _colorKeywords; +let _materialId = 0; +class Material extends EventDispatcher { + static { + __name(this, "Material"); + } + static get type() { + return "Material"; + } + get type() { + return this.constructor.type; + } + set type(_value) { + } + constructor() { + super(); + this.isMaterial = true; + Object.defineProperty(this, "id", { value: _materialId++ }); + this.uuid = generateUUID(); + this.name = ""; + this.blending = NormalBlending; + this.side = FrontSide; + this.vertexColors = false; + this.opacity = 1; + this.transparent = false; + this.alphaHash = false; + this.blendSrc = SrcAlphaFactor; + this.blendDst = OneMinusSrcAlphaFactor; + this.blendEquation = AddEquation; + this.blendSrcAlpha = null; + this.blendDstAlpha = null; + this.blendEquationAlpha = null; + this.blendColor = new Color(0, 0, 0); + this.blendAlpha = 0; + this.depthFunc = LessEqualDepth; + this.depthTest = true; + this.depthWrite = true; + this.stencilWriteMask = 255; + this.stencilFunc = AlwaysStencilFunc; + this.stencilRef = 0; + this.stencilFuncMask = 255; + this.stencilFail = KeepStencilOp; + this.stencilZFail = KeepStencilOp; + this.stencilZPass = KeepStencilOp; + this.stencilWrite = false; + this.clippingPlanes = null; + this.clipIntersection = false; + this.clipShadows = false; + this.shadowSide = null; + this.colorWrite = true; + this.precision = null; + this.polygonOffset = false; + this.polygonOffsetFactor = 0; + this.polygonOffsetUnits = 0; + this.dithering = false; + this.alphaToCoverage = false; + this.premultipliedAlpha = false; + this.forceSinglePass = false; + this.visible = true; + this.toneMapped = true; + this.userData = {}; + this.version = 0; + this._alphaTest = 0; + } + get alphaTest() { + return this._alphaTest; + } + set alphaTest(value) { + if (this._alphaTest > 0 !== value > 0) { + this.version++; + } + this._alphaTest = value; + } + // onBeforeRender and onBeforeCompile only supported in WebGLRenderer + onBeforeRender() { + } + onBeforeCompile() { + } + customProgramCacheKey() { + return this.onBeforeCompile.toString(); + } + setValues(values) { + if (values === void 0) return; + for (const key in values) { + const newValue = values[key]; + if (newValue === void 0) { + console.warn(`THREE.Material: parameter '${key}' has value of undefined.`); + continue; + } + const currentValue = this[key]; + if (currentValue === void 0) { + console.warn(`THREE.Material: '${key}' is not a property of THREE.${this.type}.`); + continue; + } + if (currentValue && currentValue.isColor) { + currentValue.set(newValue); + } else if (currentValue && currentValue.isVector3 && (newValue && newValue.isVector3)) { + currentValue.copy(newValue); + } else { + this[key] = newValue; + } + } + } + toJSON(meta) { + const isRootObject = meta === void 0 || typeof meta === "string"; + if (isRootObject) { + meta = { + textures: {}, + images: {} + }; + } + const data = { + metadata: { + version: 4.6, + type: "Material", + generator: "Material.toJSON" + } + }; + data.uuid = this.uuid; + data.type = this.type; + if (this.name !== "") data.name = this.name; + if (this.color && this.color.isColor) data.color = this.color.getHex(); + if (this.roughness !== void 0) data.roughness = this.roughness; + if (this.metalness !== void 0) data.metalness = this.metalness; + if (this.sheen !== void 0) data.sheen = this.sheen; + if (this.sheenColor && this.sheenColor.isColor) data.sheenColor = this.sheenColor.getHex(); + if (this.sheenRoughness !== void 0) data.sheenRoughness = this.sheenRoughness; + if (this.emissive && this.emissive.isColor) data.emissive = this.emissive.getHex(); + if (this.emissiveIntensity !== void 0 && this.emissiveIntensity !== 1) data.emissiveIntensity = this.emissiveIntensity; + if (this.specular && this.specular.isColor) data.specular = this.specular.getHex(); + if (this.specularIntensity !== void 0) data.specularIntensity = this.specularIntensity; + if (this.specularColor && this.specularColor.isColor) data.specularColor = this.specularColor.getHex(); + if (this.shininess !== void 0) data.shininess = this.shininess; + if (this.clearcoat !== void 0) data.clearcoat = this.clearcoat; + if (this.clearcoatRoughness !== void 0) data.clearcoatRoughness = this.clearcoatRoughness; + if (this.clearcoatMap && this.clearcoatMap.isTexture) { + data.clearcoatMap = this.clearcoatMap.toJSON(meta).uuid; + } + if (this.clearcoatRoughnessMap && this.clearcoatRoughnessMap.isTexture) { + data.clearcoatRoughnessMap = this.clearcoatRoughnessMap.toJSON(meta).uuid; + } + if (this.clearcoatNormalMap && this.clearcoatNormalMap.isTexture) { + data.clearcoatNormalMap = this.clearcoatNormalMap.toJSON(meta).uuid; + data.clearcoatNormalScale = this.clearcoatNormalScale.toArray(); + } + if (this.dispersion !== void 0) data.dispersion = this.dispersion; + if (this.iridescence !== void 0) data.iridescence = this.iridescence; + if (this.iridescenceIOR !== void 0) data.iridescenceIOR = this.iridescenceIOR; + if (this.iridescenceThicknessRange !== void 0) data.iridescenceThicknessRange = this.iridescenceThicknessRange; + if (this.iridescenceMap && this.iridescenceMap.isTexture) { + data.iridescenceMap = this.iridescenceMap.toJSON(meta).uuid; + } + if (this.iridescenceThicknessMap && this.iridescenceThicknessMap.isTexture) { + data.iridescenceThicknessMap = this.iridescenceThicknessMap.toJSON(meta).uuid; + } + if (this.anisotropy !== void 0) data.anisotropy = this.anisotropy; + if (this.anisotropyRotation !== void 0) data.anisotropyRotation = this.anisotropyRotation; + if (this.anisotropyMap && this.anisotropyMap.isTexture) { + data.anisotropyMap = this.anisotropyMap.toJSON(meta).uuid; + } + if (this.map && this.map.isTexture) data.map = this.map.toJSON(meta).uuid; + if (this.matcap && this.matcap.isTexture) data.matcap = this.matcap.toJSON(meta).uuid; + if (this.alphaMap && this.alphaMap.isTexture) data.alphaMap = this.alphaMap.toJSON(meta).uuid; + if (this.lightMap && this.lightMap.isTexture) { + data.lightMap = this.lightMap.toJSON(meta).uuid; + data.lightMapIntensity = this.lightMapIntensity; + } + if (this.aoMap && this.aoMap.isTexture) { + data.aoMap = this.aoMap.toJSON(meta).uuid; + data.aoMapIntensity = this.aoMapIntensity; + } + if (this.bumpMap && this.bumpMap.isTexture) { + data.bumpMap = this.bumpMap.toJSON(meta).uuid; + data.bumpScale = this.bumpScale; + } + if (this.normalMap && this.normalMap.isTexture) { + data.normalMap = this.normalMap.toJSON(meta).uuid; + data.normalMapType = this.normalMapType; + data.normalScale = this.normalScale.toArray(); + } + if (this.displacementMap && this.displacementMap.isTexture) { + data.displacementMap = this.displacementMap.toJSON(meta).uuid; + data.displacementScale = this.displacementScale; + data.displacementBias = this.displacementBias; + } + if (this.roughnessMap && this.roughnessMap.isTexture) data.roughnessMap = this.roughnessMap.toJSON(meta).uuid; + if (this.metalnessMap && this.metalnessMap.isTexture) data.metalnessMap = this.metalnessMap.toJSON(meta).uuid; + if (this.emissiveMap && this.emissiveMap.isTexture) data.emissiveMap = this.emissiveMap.toJSON(meta).uuid; + if (this.specularMap && this.specularMap.isTexture) data.specularMap = this.specularMap.toJSON(meta).uuid; + if (this.specularIntensityMap && this.specularIntensityMap.isTexture) data.specularIntensityMap = this.specularIntensityMap.toJSON(meta).uuid; + if (this.specularColorMap && this.specularColorMap.isTexture) data.specularColorMap = this.specularColorMap.toJSON(meta).uuid; + if (this.envMap && this.envMap.isTexture) { + data.envMap = this.envMap.toJSON(meta).uuid; + if (this.combine !== void 0) data.combine = this.combine; + } + if (this.envMapRotation !== void 0) data.envMapRotation = this.envMapRotation.toArray(); + if (this.envMapIntensity !== void 0) data.envMapIntensity = this.envMapIntensity; + if (this.reflectivity !== void 0) data.reflectivity = this.reflectivity; + if (this.refractionRatio !== void 0) data.refractionRatio = this.refractionRatio; + if (this.gradientMap && this.gradientMap.isTexture) { + data.gradientMap = this.gradientMap.toJSON(meta).uuid; + } + if (this.transmission !== void 0) data.transmission = this.transmission; + if (this.transmissionMap && this.transmissionMap.isTexture) data.transmissionMap = this.transmissionMap.toJSON(meta).uuid; + if (this.thickness !== void 0) data.thickness = this.thickness; + if (this.thicknessMap && this.thicknessMap.isTexture) data.thicknessMap = this.thicknessMap.toJSON(meta).uuid; + if (this.attenuationDistance !== void 0 && this.attenuationDistance !== Infinity) data.attenuationDistance = this.attenuationDistance; + if (this.attenuationColor !== void 0) data.attenuationColor = this.attenuationColor.getHex(); + if (this.size !== void 0) data.size = this.size; + if (this.shadowSide !== null) data.shadowSide = this.shadowSide; + if (this.sizeAttenuation !== void 0) data.sizeAttenuation = this.sizeAttenuation; + if (this.blending !== NormalBlending) data.blending = this.blending; + if (this.side !== FrontSide) data.side = this.side; + if (this.vertexColors === true) data.vertexColors = true; + if (this.opacity < 1) data.opacity = this.opacity; + if (this.transparent === true) data.transparent = true; + if (this.blendSrc !== SrcAlphaFactor) data.blendSrc = this.blendSrc; + if (this.blendDst !== OneMinusSrcAlphaFactor) data.blendDst = this.blendDst; + if (this.blendEquation !== AddEquation) data.blendEquation = this.blendEquation; + if (this.blendSrcAlpha !== null) data.blendSrcAlpha = this.blendSrcAlpha; + if (this.blendDstAlpha !== null) data.blendDstAlpha = this.blendDstAlpha; + if (this.blendEquationAlpha !== null) data.blendEquationAlpha = this.blendEquationAlpha; + if (this.blendColor && this.blendColor.isColor) data.blendColor = this.blendColor.getHex(); + if (this.blendAlpha !== 0) data.blendAlpha = this.blendAlpha; + if (this.depthFunc !== LessEqualDepth) data.depthFunc = this.depthFunc; + if (this.depthTest === false) data.depthTest = this.depthTest; + if (this.depthWrite === false) data.depthWrite = this.depthWrite; + if (this.colorWrite === false) data.colorWrite = this.colorWrite; + if (this.stencilWriteMask !== 255) data.stencilWriteMask = this.stencilWriteMask; + if (this.stencilFunc !== AlwaysStencilFunc) data.stencilFunc = this.stencilFunc; + if (this.stencilRef !== 0) data.stencilRef = this.stencilRef; + if (this.stencilFuncMask !== 255) data.stencilFuncMask = this.stencilFuncMask; + if (this.stencilFail !== KeepStencilOp) data.stencilFail = this.stencilFail; + if (this.stencilZFail !== KeepStencilOp) data.stencilZFail = this.stencilZFail; + if (this.stencilZPass !== KeepStencilOp) data.stencilZPass = this.stencilZPass; + if (this.stencilWrite === true) data.stencilWrite = this.stencilWrite; + if (this.rotation !== void 0 && this.rotation !== 0) data.rotation = this.rotation; + if (this.polygonOffset === true) data.polygonOffset = true; + if (this.polygonOffsetFactor !== 0) data.polygonOffsetFactor = this.polygonOffsetFactor; + if (this.polygonOffsetUnits !== 0) data.polygonOffsetUnits = this.polygonOffsetUnits; + if (this.linewidth !== void 0 && this.linewidth !== 1) data.linewidth = this.linewidth; + if (this.dashSize !== void 0) data.dashSize = this.dashSize; + if (this.gapSize !== void 0) data.gapSize = this.gapSize; + if (this.scale !== void 0) data.scale = this.scale; + if (this.dithering === true) data.dithering = true; + if (this.alphaTest > 0) data.alphaTest = this.alphaTest; + if (this.alphaHash === true) data.alphaHash = true; + if (this.alphaToCoverage === true) data.alphaToCoverage = true; + if (this.premultipliedAlpha === true) data.premultipliedAlpha = true; + if (this.forceSinglePass === true) data.forceSinglePass = true; + if (this.wireframe === true) data.wireframe = true; + if (this.wireframeLinewidth > 1) data.wireframeLinewidth = this.wireframeLinewidth; + if (this.wireframeLinecap !== "round") data.wireframeLinecap = this.wireframeLinecap; + if (this.wireframeLinejoin !== "round") data.wireframeLinejoin = this.wireframeLinejoin; + if (this.flatShading === true) data.flatShading = true; + if (this.visible === false) data.visible = false; + if (this.toneMapped === false) data.toneMapped = false; + if (this.fog === false) data.fog = false; + if (Object.keys(this.userData).length > 0) data.userData = this.userData; + function extractFromCache(cache) { + const values = []; + for (const key in cache) { + const data2 = cache[key]; + delete data2.metadata; + values.push(data2); + } + return values; + } + __name(extractFromCache, "extractFromCache"); + if (isRootObject) { + const textures = extractFromCache(meta.textures); + const images = extractFromCache(meta.images); + if (textures.length > 0) data.textures = textures; + if (images.length > 0) data.images = images; + } + return data; + } + clone() { + return new this.constructor().copy(this); + } + copy(source) { + this.name = source.name; + this.blending = source.blending; + this.side = source.side; + this.vertexColors = source.vertexColors; + this.opacity = source.opacity; + this.transparent = source.transparent; + this.blendSrc = source.blendSrc; + this.blendDst = source.blendDst; + this.blendEquation = source.blendEquation; + this.blendSrcAlpha = source.blendSrcAlpha; + this.blendDstAlpha = source.blendDstAlpha; + this.blendEquationAlpha = source.blendEquationAlpha; + this.blendColor.copy(source.blendColor); + this.blendAlpha = source.blendAlpha; + this.depthFunc = source.depthFunc; + this.depthTest = source.depthTest; + this.depthWrite = source.depthWrite; + this.stencilWriteMask = source.stencilWriteMask; + this.stencilFunc = source.stencilFunc; + this.stencilRef = source.stencilRef; + this.stencilFuncMask = source.stencilFuncMask; + this.stencilFail = source.stencilFail; + this.stencilZFail = source.stencilZFail; + this.stencilZPass = source.stencilZPass; + this.stencilWrite = source.stencilWrite; + const srcPlanes = source.clippingPlanes; + let dstPlanes = null; + if (srcPlanes !== null) { + const n = srcPlanes.length; + dstPlanes = new Array(n); + for (let i = 0; i !== n; ++i) { + dstPlanes[i] = srcPlanes[i].clone(); + } + } + this.clippingPlanes = dstPlanes; + this.clipIntersection = source.clipIntersection; + this.clipShadows = source.clipShadows; + this.shadowSide = source.shadowSide; + this.colorWrite = source.colorWrite; + this.precision = source.precision; + this.polygonOffset = source.polygonOffset; + this.polygonOffsetFactor = source.polygonOffsetFactor; + this.polygonOffsetUnits = source.polygonOffsetUnits; + this.dithering = source.dithering; + this.alphaTest = source.alphaTest; + this.alphaHash = source.alphaHash; + this.alphaToCoverage = source.alphaToCoverage; + this.premultipliedAlpha = source.premultipliedAlpha; + this.forceSinglePass = source.forceSinglePass; + this.visible = source.visible; + this.toneMapped = source.toneMapped; + this.userData = JSON.parse(JSON.stringify(source.userData)); + return this; + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } + set needsUpdate(value) { + if (value === true) this.version++; + } + onBuild() { + console.warn("Material: onBuild() has been removed."); + } +} +class MeshBasicMaterial extends Material { + static { + __name(this, "MeshBasicMaterial"); + } + static get type() { + return "MeshBasicMaterial"; + } + constructor(parameters) { + super(); + this.isMeshBasicMaterial = true; + this.color = new Color(16777215); + this.map = null; + this.lightMap = null; + this.lightMapIntensity = 1; + this.aoMap = null; + this.aoMapIntensity = 1; + this.specularMap = null; + this.alphaMap = null; + this.envMap = null; + this.envMapRotation = new Euler(); + this.combine = MultiplyOperation; + this.reflectivity = 1; + this.refractionRatio = 0.98; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = "round"; + this.wireframeLinejoin = "round"; + this.fog = true; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.map = source.map; + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + this.specularMap = source.specularMap; + this.alphaMap = source.alphaMap; + this.envMap = source.envMap; + this.envMapRotation.copy(source.envMapRotation); + this.combine = source.combine; + this.reflectivity = source.reflectivity; + this.refractionRatio = source.refractionRatio; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + this.fog = source.fog; + return this; + } +} +const _tables = /* @__PURE__ */ _generateTables(); +function _generateTables() { + const buffer = new ArrayBuffer(4); + const floatView = new Float32Array(buffer); + const uint32View = new Uint32Array(buffer); + const baseTable = new Uint32Array(512); + const shiftTable = new Uint32Array(512); + for (let i = 0; i < 256; ++i) { + const e = i - 127; + if (e < -27) { + baseTable[i] = 0; + baseTable[i | 256] = 32768; + shiftTable[i] = 24; + shiftTable[i | 256] = 24; + } else if (e < -14) { + baseTable[i] = 1024 >> -e - 14; + baseTable[i | 256] = 1024 >> -e - 14 | 32768; + shiftTable[i] = -e - 1; + shiftTable[i | 256] = -e - 1; + } else if (e <= 15) { + baseTable[i] = e + 15 << 10; + baseTable[i | 256] = e + 15 << 10 | 32768; + shiftTable[i] = 13; + shiftTable[i | 256] = 13; + } else if (e < 128) { + baseTable[i] = 31744; + baseTable[i | 256] = 64512; + shiftTable[i] = 24; + shiftTable[i | 256] = 24; + } else { + baseTable[i] = 31744; + baseTable[i | 256] = 64512; + shiftTable[i] = 13; + shiftTable[i | 256] = 13; + } + } + const mantissaTable = new Uint32Array(2048); + const exponentTable = new Uint32Array(64); + const offsetTable = new Uint32Array(64); + for (let i = 1; i < 1024; ++i) { + let m = i << 13; + let e = 0; + while ((m & 8388608) === 0) { + m <<= 1; + e -= 8388608; + } + m &= ~8388608; + e += 947912704; + mantissaTable[i] = m | e; + } + for (let i = 1024; i < 2048; ++i) { + mantissaTable[i] = 939524096 + (i - 1024 << 13); + } + for (let i = 1; i < 31; ++i) { + exponentTable[i] = i << 23; + } + exponentTable[31] = 1199570944; + exponentTable[32] = 2147483648; + for (let i = 33; i < 63; ++i) { + exponentTable[i] = 2147483648 + (i - 32 << 23); + } + exponentTable[63] = 3347054592; + for (let i = 1; i < 64; ++i) { + if (i !== 32) { + offsetTable[i] = 1024; + } + } + return { + floatView, + uint32View, + baseTable, + shiftTable, + mantissaTable, + exponentTable, + offsetTable + }; +} +__name(_generateTables, "_generateTables"); +function toHalfFloat(val) { + if (Math.abs(val) > 65504) console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."); + val = clamp(val, -65504, 65504); + _tables.floatView[0] = val; + const f = _tables.uint32View[0]; + const e = f >> 23 & 511; + return _tables.baseTable[e] + ((f & 8388607) >> _tables.shiftTable[e]); +} +__name(toHalfFloat, "toHalfFloat"); +function fromHalfFloat(val) { + const m = val >> 10; + _tables.uint32View[0] = _tables.mantissaTable[_tables.offsetTable[m] + (val & 1023)] + _tables.exponentTable[m]; + return _tables.floatView[0]; +} +__name(fromHalfFloat, "fromHalfFloat"); +const DataUtils = { + toHalfFloat, + fromHalfFloat +}; +const _vector$9 = /* @__PURE__ */ new Vector3(); +const _vector2$1 = /* @__PURE__ */ new Vector2(); +class BufferAttribute { + static { + __name(this, "BufferAttribute"); + } + constructor(array, itemSize, normalized = false) { + if (Array.isArray(array)) { + throw new TypeError("THREE.BufferAttribute: array should be a Typed Array."); + } + this.isBufferAttribute = true; + this.name = ""; + this.array = array; + this.itemSize = itemSize; + this.count = array !== void 0 ? array.length / itemSize : 0; + this.normalized = normalized; + this.usage = StaticDrawUsage; + this.updateRanges = []; + this.gpuType = FloatType; + this.version = 0; + } + onUploadCallback() { + } + set needsUpdate(value) { + if (value === true) this.version++; + } + setUsage(value) { + this.usage = value; + return this; + } + addUpdateRange(start, count) { + this.updateRanges.push({ start, count }); + } + clearUpdateRanges() { + this.updateRanges.length = 0; + } + copy(source) { + this.name = source.name; + this.array = new source.array.constructor(source.array); + this.itemSize = source.itemSize; + this.count = source.count; + this.normalized = source.normalized; + this.usage = source.usage; + this.gpuType = source.gpuType; + return this; + } + copyAt(index1, attribute, index2) { + index1 *= this.itemSize; + index2 *= attribute.itemSize; + for (let i = 0, l = this.itemSize; i < l; i++) { + this.array[index1 + i] = attribute.array[index2 + i]; + } + return this; + } + copyArray(array) { + this.array.set(array); + return this; + } + applyMatrix3(m) { + if (this.itemSize === 2) { + for (let i = 0, l = this.count; i < l; i++) { + _vector2$1.fromBufferAttribute(this, i); + _vector2$1.applyMatrix3(m); + this.setXY(i, _vector2$1.x, _vector2$1.y); + } + } else if (this.itemSize === 3) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$9.fromBufferAttribute(this, i); + _vector$9.applyMatrix3(m); + this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z); + } + } + return this; + } + applyMatrix4(m) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$9.fromBufferAttribute(this, i); + _vector$9.applyMatrix4(m); + this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z); + } + return this; + } + applyNormalMatrix(m) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$9.fromBufferAttribute(this, i); + _vector$9.applyNormalMatrix(m); + this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z); + } + return this; + } + transformDirection(m) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$9.fromBufferAttribute(this, i); + _vector$9.transformDirection(m); + this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z); + } + return this; + } + set(value, offset = 0) { + this.array.set(value, offset); + return this; + } + getComponent(index, component) { + let value = this.array[index * this.itemSize + component]; + if (this.normalized) value = denormalize(value, this.array); + return value; + } + setComponent(index, component, value) { + if (this.normalized) value = normalize(value, this.array); + this.array[index * this.itemSize + component] = value; + return this; + } + getX(index) { + let x = this.array[index * this.itemSize]; + if (this.normalized) x = denormalize(x, this.array); + return x; + } + setX(index, x) { + if (this.normalized) x = normalize(x, this.array); + this.array[index * this.itemSize] = x; + return this; + } + getY(index) { + let y = this.array[index * this.itemSize + 1]; + if (this.normalized) y = denormalize(y, this.array); + return y; + } + setY(index, y) { + if (this.normalized) y = normalize(y, this.array); + this.array[index * this.itemSize + 1] = y; + return this; + } + getZ(index) { + let z = this.array[index * this.itemSize + 2]; + if (this.normalized) z = denormalize(z, this.array); + return z; + } + setZ(index, z) { + if (this.normalized) z = normalize(z, this.array); + this.array[index * this.itemSize + 2] = z; + return this; + } + getW(index) { + let w = this.array[index * this.itemSize + 3]; + if (this.normalized) w = denormalize(w, this.array); + return w; + } + setW(index, w) { + if (this.normalized) w = normalize(w, this.array); + this.array[index * this.itemSize + 3] = w; + return this; + } + setXY(index, x, y) { + index *= this.itemSize; + if (this.normalized) { + x = normalize(x, this.array); + y = normalize(y, this.array); + } + this.array[index + 0] = x; + this.array[index + 1] = y; + return this; + } + setXYZ(index, x, y, z) { + index *= this.itemSize; + if (this.normalized) { + x = normalize(x, this.array); + y = normalize(y, this.array); + z = normalize(z, this.array); + } + this.array[index + 0] = x; + this.array[index + 1] = y; + this.array[index + 2] = z; + return this; + } + setXYZW(index, x, y, z, w) { + index *= this.itemSize; + if (this.normalized) { + x = normalize(x, this.array); + y = normalize(y, this.array); + z = normalize(z, this.array); + w = normalize(w, this.array); + } + this.array[index + 0] = x; + this.array[index + 1] = y; + this.array[index + 2] = z; + this.array[index + 3] = w; + return this; + } + onUpload(callback) { + this.onUploadCallback = callback; + return this; + } + clone() { + return new this.constructor(this.array, this.itemSize).copy(this); + } + toJSON() { + const data = { + itemSize: this.itemSize, + type: this.array.constructor.name, + array: Array.from(this.array), + normalized: this.normalized + }; + if (this.name !== "") data.name = this.name; + if (this.usage !== StaticDrawUsage) data.usage = this.usage; + return data; + } +} +class Int8BufferAttribute extends BufferAttribute { + static { + __name(this, "Int8BufferAttribute"); + } + constructor(array, itemSize, normalized) { + super(new Int8Array(array), itemSize, normalized); + } +} +class Uint8BufferAttribute extends BufferAttribute { + static { + __name(this, "Uint8BufferAttribute"); + } + constructor(array, itemSize, normalized) { + super(new Uint8Array(array), itemSize, normalized); + } +} +class Uint8ClampedBufferAttribute extends BufferAttribute { + static { + __name(this, "Uint8ClampedBufferAttribute"); + } + constructor(array, itemSize, normalized) { + super(new Uint8ClampedArray(array), itemSize, normalized); + } +} +class Int16BufferAttribute extends BufferAttribute { + static { + __name(this, "Int16BufferAttribute"); + } + constructor(array, itemSize, normalized) { + super(new Int16Array(array), itemSize, normalized); + } +} +class Uint16BufferAttribute extends BufferAttribute { + static { + __name(this, "Uint16BufferAttribute"); + } + constructor(array, itemSize, normalized) { + super(new Uint16Array(array), itemSize, normalized); + } +} +class Int32BufferAttribute extends BufferAttribute { + static { + __name(this, "Int32BufferAttribute"); + } + constructor(array, itemSize, normalized) { + super(new Int32Array(array), itemSize, normalized); + } +} +class Uint32BufferAttribute extends BufferAttribute { + static { + __name(this, "Uint32BufferAttribute"); + } + constructor(array, itemSize, normalized) { + super(new Uint32Array(array), itemSize, normalized); + } +} +class Float16BufferAttribute extends BufferAttribute { + static { + __name(this, "Float16BufferAttribute"); + } + constructor(array, itemSize, normalized) { + super(new Uint16Array(array), itemSize, normalized); + this.isFloat16BufferAttribute = true; + } + getX(index) { + let x = fromHalfFloat(this.array[index * this.itemSize]); + if (this.normalized) x = denormalize(x, this.array); + return x; + } + setX(index, x) { + if (this.normalized) x = normalize(x, this.array); + this.array[index * this.itemSize] = toHalfFloat(x); + return this; + } + getY(index) { + let y = fromHalfFloat(this.array[index * this.itemSize + 1]); + if (this.normalized) y = denormalize(y, this.array); + return y; + } + setY(index, y) { + if (this.normalized) y = normalize(y, this.array); + this.array[index * this.itemSize + 1] = toHalfFloat(y); + return this; + } + getZ(index) { + let z = fromHalfFloat(this.array[index * this.itemSize + 2]); + if (this.normalized) z = denormalize(z, this.array); + return z; + } + setZ(index, z) { + if (this.normalized) z = normalize(z, this.array); + this.array[index * this.itemSize + 2] = toHalfFloat(z); + return this; + } + getW(index) { + let w = fromHalfFloat(this.array[index * this.itemSize + 3]); + if (this.normalized) w = denormalize(w, this.array); + return w; + } + setW(index, w) { + if (this.normalized) w = normalize(w, this.array); + this.array[index * this.itemSize + 3] = toHalfFloat(w); + return this; + } + setXY(index, x, y) { + index *= this.itemSize; + if (this.normalized) { + x = normalize(x, this.array); + y = normalize(y, this.array); + } + this.array[index + 0] = toHalfFloat(x); + this.array[index + 1] = toHalfFloat(y); + return this; + } + setXYZ(index, x, y, z) { + index *= this.itemSize; + if (this.normalized) { + x = normalize(x, this.array); + y = normalize(y, this.array); + z = normalize(z, this.array); + } + this.array[index + 0] = toHalfFloat(x); + this.array[index + 1] = toHalfFloat(y); + this.array[index + 2] = toHalfFloat(z); + return this; + } + setXYZW(index, x, y, z, w) { + index *= this.itemSize; + if (this.normalized) { + x = normalize(x, this.array); + y = normalize(y, this.array); + z = normalize(z, this.array); + w = normalize(w, this.array); + } + this.array[index + 0] = toHalfFloat(x); + this.array[index + 1] = toHalfFloat(y); + this.array[index + 2] = toHalfFloat(z); + this.array[index + 3] = toHalfFloat(w); + return this; + } +} +class Float32BufferAttribute extends BufferAttribute { + static { + __name(this, "Float32BufferAttribute"); + } + constructor(array, itemSize, normalized) { + super(new Float32Array(array), itemSize, normalized); + } +} +let _id$2 = 0; +const _m1$2 = /* @__PURE__ */ new Matrix4(); +const _obj = /* @__PURE__ */ new Object3D(); +const _offset = /* @__PURE__ */ new Vector3(); +const _box$2 = /* @__PURE__ */ new Box3(); +const _boxMorphTargets = /* @__PURE__ */ new Box3(); +const _vector$8 = /* @__PURE__ */ new Vector3(); +class BufferGeometry extends EventDispatcher { + static { + __name(this, "BufferGeometry"); + } + constructor() { + super(); + this.isBufferGeometry = true; + Object.defineProperty(this, "id", { value: _id$2++ }); + this.uuid = generateUUID(); + this.name = ""; + this.type = "BufferGeometry"; + this.index = null; + this.indirect = null; + this.attributes = {}; + this.morphAttributes = {}; + this.morphTargetsRelative = false; + this.groups = []; + this.boundingBox = null; + this.boundingSphere = null; + this.drawRange = { start: 0, count: Infinity }; + this.userData = {}; + } + getIndex() { + return this.index; + } + setIndex(index) { + if (Array.isArray(index)) { + this.index = new (arrayNeedsUint32(index) ? Uint32BufferAttribute : Uint16BufferAttribute)(index, 1); + } else { + this.index = index; + } + return this; + } + setIndirect(indirect) { + this.indirect = indirect; + return this; + } + getIndirect() { + return this.indirect; + } + getAttribute(name) { + return this.attributes[name]; + } + setAttribute(name, attribute) { + this.attributes[name] = attribute; + return this; + } + deleteAttribute(name) { + delete this.attributes[name]; + return this; + } + hasAttribute(name) { + return this.attributes[name] !== void 0; + } + addGroup(start, count, materialIndex = 0) { + this.groups.push({ + start, + count, + materialIndex + }); + } + clearGroups() { + this.groups = []; + } + setDrawRange(start, count) { + this.drawRange.start = start; + this.drawRange.count = count; + } + applyMatrix4(matrix) { + const position = this.attributes.position; + if (position !== void 0) { + position.applyMatrix4(matrix); + position.needsUpdate = true; + } + const normal = this.attributes.normal; + if (normal !== void 0) { + const normalMatrix = new Matrix3().getNormalMatrix(matrix); + normal.applyNormalMatrix(normalMatrix); + normal.needsUpdate = true; + } + const tangent = this.attributes.tangent; + if (tangent !== void 0) { + tangent.transformDirection(matrix); + tangent.needsUpdate = true; + } + if (this.boundingBox !== null) { + this.computeBoundingBox(); + } + if (this.boundingSphere !== null) { + this.computeBoundingSphere(); + } + return this; + } + applyQuaternion(q) { + _m1$2.makeRotationFromQuaternion(q); + this.applyMatrix4(_m1$2); + return this; + } + rotateX(angle) { + _m1$2.makeRotationX(angle); + this.applyMatrix4(_m1$2); + return this; + } + rotateY(angle) { + _m1$2.makeRotationY(angle); + this.applyMatrix4(_m1$2); + return this; + } + rotateZ(angle) { + _m1$2.makeRotationZ(angle); + this.applyMatrix4(_m1$2); + return this; + } + translate(x, y, z) { + _m1$2.makeTranslation(x, y, z); + this.applyMatrix4(_m1$2); + return this; + } + scale(x, y, z) { + _m1$2.makeScale(x, y, z); + this.applyMatrix4(_m1$2); + return this; + } + lookAt(vector) { + _obj.lookAt(vector); + _obj.updateMatrix(); + this.applyMatrix4(_obj.matrix); + return this; + } + center() { + this.computeBoundingBox(); + this.boundingBox.getCenter(_offset).negate(); + this.translate(_offset.x, _offset.y, _offset.z); + return this; + } + setFromPoints(points) { + const positionAttribute = this.getAttribute("position"); + if (positionAttribute === void 0) { + const position = []; + for (let i = 0, l = points.length; i < l; i++) { + const point = points[i]; + position.push(point.x, point.y, point.z || 0); + } + this.setAttribute("position", new Float32BufferAttribute(position, 3)); + } else { + for (let i = 0, l = positionAttribute.count; i < l; i++) { + const point = points[i]; + positionAttribute.setXYZ(i, point.x, point.y, point.z || 0); + } + if (points.length > positionAttribute.count) { + console.warn("THREE.BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."); + } + positionAttribute.needsUpdate = true; + } + return this; + } + computeBoundingBox() { + if (this.boundingBox === null) { + this.boundingBox = new Box3(); + } + const position = this.attributes.position; + const morphAttributesPosition = this.morphAttributes.position; + if (position && position.isGLBufferAttribute) { + console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.", this); + this.boundingBox.set( + new Vector3(-Infinity, -Infinity, -Infinity), + new Vector3(Infinity, Infinity, Infinity) + ); + return; + } + if (position !== void 0) { + this.boundingBox.setFromBufferAttribute(position); + if (morphAttributesPosition) { + for (let i = 0, il = morphAttributesPosition.length; i < il; i++) { + const morphAttribute = morphAttributesPosition[i]; + _box$2.setFromBufferAttribute(morphAttribute); + if (this.morphTargetsRelative) { + _vector$8.addVectors(this.boundingBox.min, _box$2.min); + this.boundingBox.expandByPoint(_vector$8); + _vector$8.addVectors(this.boundingBox.max, _box$2.max); + this.boundingBox.expandByPoint(_vector$8); + } else { + this.boundingBox.expandByPoint(_box$2.min); + this.boundingBox.expandByPoint(_box$2.max); + } + } + } + } else { + this.boundingBox.makeEmpty(); + } + if (isNaN(this.boundingBox.min.x) || isNaN(this.boundingBox.min.y) || isNaN(this.boundingBox.min.z)) { + console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.', this); + } + } + computeBoundingSphere() { + if (this.boundingSphere === null) { + this.boundingSphere = new Sphere(); + } + const position = this.attributes.position; + const morphAttributesPosition = this.morphAttributes.position; + if (position && position.isGLBufferAttribute) { + console.error("THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere.", this); + this.boundingSphere.set(new Vector3(), Infinity); + return; + } + if (position) { + const center = this.boundingSphere.center; + _box$2.setFromBufferAttribute(position); + if (morphAttributesPosition) { + for (let i = 0, il = morphAttributesPosition.length; i < il; i++) { + const morphAttribute = morphAttributesPosition[i]; + _boxMorphTargets.setFromBufferAttribute(morphAttribute); + if (this.morphTargetsRelative) { + _vector$8.addVectors(_box$2.min, _boxMorphTargets.min); + _box$2.expandByPoint(_vector$8); + _vector$8.addVectors(_box$2.max, _boxMorphTargets.max); + _box$2.expandByPoint(_vector$8); + } else { + _box$2.expandByPoint(_boxMorphTargets.min); + _box$2.expandByPoint(_boxMorphTargets.max); + } + } + } + _box$2.getCenter(center); + let maxRadiusSq = 0; + for (let i = 0, il = position.count; i < il; i++) { + _vector$8.fromBufferAttribute(position, i); + maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(_vector$8)); + } + if (morphAttributesPosition) { + for (let i = 0, il = morphAttributesPosition.length; i < il; i++) { + const morphAttribute = morphAttributesPosition[i]; + const morphTargetsRelative = this.morphTargetsRelative; + for (let j = 0, jl = morphAttribute.count; j < jl; j++) { + _vector$8.fromBufferAttribute(morphAttribute, j); + if (morphTargetsRelative) { + _offset.fromBufferAttribute(position, j); + _vector$8.add(_offset); + } + maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(_vector$8)); + } + } + } + this.boundingSphere.radius = Math.sqrt(maxRadiusSq); + if (isNaN(this.boundingSphere.radius)) { + console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.', this); + } + } + } + computeTangents() { + const index = this.index; + const attributes = this.attributes; + if (index === null || attributes.position === void 0 || attributes.normal === void 0 || attributes.uv === void 0) { + console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)"); + return; + } + const positionAttribute = attributes.position; + const normalAttribute = attributes.normal; + const uvAttribute = attributes.uv; + if (this.hasAttribute("tangent") === false) { + this.setAttribute("tangent", new BufferAttribute(new Float32Array(4 * positionAttribute.count), 4)); + } + const tangentAttribute = this.getAttribute("tangent"); + const tan1 = [], tan2 = []; + for (let i = 0; i < positionAttribute.count; i++) { + tan1[i] = new Vector3(); + tan2[i] = new Vector3(); + } + const vA = new Vector3(), vB = new Vector3(), vC = new Vector3(), uvA = new Vector2(), uvB = new Vector2(), uvC = new Vector2(), sdir = new Vector3(), tdir = new Vector3(); + function handleTriangle(a, b, c) { + vA.fromBufferAttribute(positionAttribute, a); + vB.fromBufferAttribute(positionAttribute, b); + vC.fromBufferAttribute(positionAttribute, c); + uvA.fromBufferAttribute(uvAttribute, a); + uvB.fromBufferAttribute(uvAttribute, b); + uvC.fromBufferAttribute(uvAttribute, c); + vB.sub(vA); + vC.sub(vA); + uvB.sub(uvA); + uvC.sub(uvA); + const r = 1 / (uvB.x * uvC.y - uvC.x * uvB.y); + if (!isFinite(r)) return; + sdir.copy(vB).multiplyScalar(uvC.y).addScaledVector(vC, -uvB.y).multiplyScalar(r); + tdir.copy(vC).multiplyScalar(uvB.x).addScaledVector(vB, -uvC.x).multiplyScalar(r); + tan1[a].add(sdir); + tan1[b].add(sdir); + tan1[c].add(sdir); + tan2[a].add(tdir); + tan2[b].add(tdir); + tan2[c].add(tdir); + } + __name(handleTriangle, "handleTriangle"); + let groups = this.groups; + if (groups.length === 0) { + groups = [{ + start: 0, + count: index.count + }]; + } + for (let i = 0, il = groups.length; i < il; ++i) { + const group = groups[i]; + const start = group.start; + const count = group.count; + for (let j = start, jl = start + count; j < jl; j += 3) { + handleTriangle( + index.getX(j + 0), + index.getX(j + 1), + index.getX(j + 2) + ); + } + } + const tmp2 = new Vector3(), tmp22 = new Vector3(); + const n = new Vector3(), n2 = new Vector3(); + function handleVertex(v) { + n.fromBufferAttribute(normalAttribute, v); + n2.copy(n); + const t2 = tan1[v]; + tmp2.copy(t2); + tmp2.sub(n.multiplyScalar(n.dot(t2))).normalize(); + tmp22.crossVectors(n2, t2); + const test = tmp22.dot(tan2[v]); + const w = test < 0 ? -1 : 1; + tangentAttribute.setXYZW(v, tmp2.x, tmp2.y, tmp2.z, w); + } + __name(handleVertex, "handleVertex"); + for (let i = 0, il = groups.length; i < il; ++i) { + const group = groups[i]; + const start = group.start; + const count = group.count; + for (let j = start, jl = start + count; j < jl; j += 3) { + handleVertex(index.getX(j + 0)); + handleVertex(index.getX(j + 1)); + handleVertex(index.getX(j + 2)); + } + } + } + computeVertexNormals() { + const index = this.index; + const positionAttribute = this.getAttribute("position"); + if (positionAttribute !== void 0) { + let normalAttribute = this.getAttribute("normal"); + if (normalAttribute === void 0) { + normalAttribute = new BufferAttribute(new Float32Array(positionAttribute.count * 3), 3); + this.setAttribute("normal", normalAttribute); + } else { + for (let i = 0, il = normalAttribute.count; i < il; i++) { + normalAttribute.setXYZ(i, 0, 0, 0); + } + } + const pA = new Vector3(), pB = new Vector3(), pC = new Vector3(); + const nA = new Vector3(), nB = new Vector3(), nC = new Vector3(); + const cb = new Vector3(), ab = new Vector3(); + if (index) { + for (let i = 0, il = index.count; i < il; i += 3) { + const vA = index.getX(i + 0); + const vB = index.getX(i + 1); + const vC = index.getX(i + 2); + pA.fromBufferAttribute(positionAttribute, vA); + pB.fromBufferAttribute(positionAttribute, vB); + pC.fromBufferAttribute(positionAttribute, vC); + cb.subVectors(pC, pB); + ab.subVectors(pA, pB); + cb.cross(ab); + nA.fromBufferAttribute(normalAttribute, vA); + nB.fromBufferAttribute(normalAttribute, vB); + nC.fromBufferAttribute(normalAttribute, vC); + nA.add(cb); + nB.add(cb); + nC.add(cb); + normalAttribute.setXYZ(vA, nA.x, nA.y, nA.z); + normalAttribute.setXYZ(vB, nB.x, nB.y, nB.z); + normalAttribute.setXYZ(vC, nC.x, nC.y, nC.z); + } + } else { + for (let i = 0, il = positionAttribute.count; i < il; i += 3) { + pA.fromBufferAttribute(positionAttribute, i + 0); + pB.fromBufferAttribute(positionAttribute, i + 1); + pC.fromBufferAttribute(positionAttribute, i + 2); + cb.subVectors(pC, pB); + ab.subVectors(pA, pB); + cb.cross(ab); + normalAttribute.setXYZ(i + 0, cb.x, cb.y, cb.z); + normalAttribute.setXYZ(i + 1, cb.x, cb.y, cb.z); + normalAttribute.setXYZ(i + 2, cb.x, cb.y, cb.z); + } + } + this.normalizeNormals(); + normalAttribute.needsUpdate = true; + } + } + normalizeNormals() { + const normals = this.attributes.normal; + for (let i = 0, il = normals.count; i < il; i++) { + _vector$8.fromBufferAttribute(normals, i); + _vector$8.normalize(); + normals.setXYZ(i, _vector$8.x, _vector$8.y, _vector$8.z); + } + } + toNonIndexed() { + function convertBufferAttribute(attribute, indices2) { + const array = attribute.array; + const itemSize = attribute.itemSize; + const normalized = attribute.normalized; + const array2 = new array.constructor(indices2.length * itemSize); + let index = 0, index2 = 0; + for (let i = 0, l = indices2.length; i < l; i++) { + if (attribute.isInterleavedBufferAttribute) { + index = indices2[i] * attribute.data.stride + attribute.offset; + } else { + index = indices2[i] * itemSize; + } + for (let j = 0; j < itemSize; j++) { + array2[index2++] = array[index++]; + } + } + return new BufferAttribute(array2, itemSize, normalized); + } + __name(convertBufferAttribute, "convertBufferAttribute"); + if (this.index === null) { + console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."); + return this; + } + const geometry2 = new BufferGeometry(); + const indices = this.index.array; + const attributes = this.attributes; + for (const name in attributes) { + const attribute = attributes[name]; + const newAttribute = convertBufferAttribute(attribute, indices); + geometry2.setAttribute(name, newAttribute); + } + const morphAttributes = this.morphAttributes; + for (const name in morphAttributes) { + const morphArray = []; + const morphAttribute = morphAttributes[name]; + for (let i = 0, il = morphAttribute.length; i < il; i++) { + const attribute = morphAttribute[i]; + const newAttribute = convertBufferAttribute(attribute, indices); + morphArray.push(newAttribute); + } + geometry2.morphAttributes[name] = morphArray; + } + geometry2.morphTargetsRelative = this.morphTargetsRelative; + const groups = this.groups; + for (let i = 0, l = groups.length; i < l; i++) { + const group = groups[i]; + geometry2.addGroup(group.start, group.count, group.materialIndex); + } + return geometry2; + } + toJSON() { + const data = { + metadata: { + version: 4.6, + type: "BufferGeometry", + generator: "BufferGeometry.toJSON" + } + }; + data.uuid = this.uuid; + data.type = this.type; + if (this.name !== "") data.name = this.name; + if (Object.keys(this.userData).length > 0) data.userData = this.userData; + if (this.parameters !== void 0) { + const parameters = this.parameters; + for (const key in parameters) { + if (parameters[key] !== void 0) data[key] = parameters[key]; + } + return data; + } + data.data = { attributes: {} }; + const index = this.index; + if (index !== null) { + data.data.index = { + type: index.array.constructor.name, + array: Array.prototype.slice.call(index.array) + }; + } + const attributes = this.attributes; + for (const key in attributes) { + const attribute = attributes[key]; + data.data.attributes[key] = attribute.toJSON(data.data); + } + const morphAttributes = {}; + let hasMorphAttributes = false; + for (const key in this.morphAttributes) { + const attributeArray = this.morphAttributes[key]; + const array = []; + for (let i = 0, il = attributeArray.length; i < il; i++) { + const attribute = attributeArray[i]; + array.push(attribute.toJSON(data.data)); + } + if (array.length > 0) { + morphAttributes[key] = array; + hasMorphAttributes = true; + } + } + if (hasMorphAttributes) { + data.data.morphAttributes = morphAttributes; + data.data.morphTargetsRelative = this.morphTargetsRelative; + } + const groups = this.groups; + if (groups.length > 0) { + data.data.groups = JSON.parse(JSON.stringify(groups)); + } + const boundingSphere = this.boundingSphere; + if (boundingSphere !== null) { + data.data.boundingSphere = { + center: boundingSphere.center.toArray(), + radius: boundingSphere.radius + }; + } + return data; + } + clone() { + return new this.constructor().copy(this); + } + copy(source) { + this.index = null; + this.attributes = {}; + this.morphAttributes = {}; + this.groups = []; + this.boundingBox = null; + this.boundingSphere = null; + const data = {}; + this.name = source.name; + const index = source.index; + if (index !== null) { + this.setIndex(index.clone(data)); + } + const attributes = source.attributes; + for (const name in attributes) { + const attribute = attributes[name]; + this.setAttribute(name, attribute.clone(data)); + } + const morphAttributes = source.morphAttributes; + for (const name in morphAttributes) { + const array = []; + const morphAttribute = morphAttributes[name]; + for (let i = 0, l = morphAttribute.length; i < l; i++) { + array.push(morphAttribute[i].clone(data)); + } + this.morphAttributes[name] = array; + } + this.morphTargetsRelative = source.morphTargetsRelative; + const groups = source.groups; + for (let i = 0, l = groups.length; i < l; i++) { + const group = groups[i]; + this.addGroup(group.start, group.count, group.materialIndex); + } + const boundingBox = source.boundingBox; + if (boundingBox !== null) { + this.boundingBox = boundingBox.clone(); + } + const boundingSphere = source.boundingSphere; + if (boundingSphere !== null) { + this.boundingSphere = boundingSphere.clone(); + } + this.drawRange.start = source.drawRange.start; + this.drawRange.count = source.drawRange.count; + this.userData = source.userData; + return this; + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } +} +const _inverseMatrix$3 = /* @__PURE__ */ new Matrix4(); +const _ray$3 = /* @__PURE__ */ new Ray(); +const _sphere$6 = /* @__PURE__ */ new Sphere(); +const _sphereHitAt = /* @__PURE__ */ new Vector3(); +const _vA$1 = /* @__PURE__ */ new Vector3(); +const _vB$1 = /* @__PURE__ */ new Vector3(); +const _vC$1 = /* @__PURE__ */ new Vector3(); +const _tempA = /* @__PURE__ */ new Vector3(); +const _morphA = /* @__PURE__ */ new Vector3(); +const _intersectionPoint = /* @__PURE__ */ new Vector3(); +const _intersectionPointWorld = /* @__PURE__ */ new Vector3(); +class Mesh extends Object3D { + static { + __name(this, "Mesh"); + } + constructor(geometry = new BufferGeometry(), material = new MeshBasicMaterial()) { + super(); + this.isMesh = true; + this.type = "Mesh"; + this.geometry = geometry; + this.material = material; + this.updateMorphTargets(); + } + copy(source, recursive) { + super.copy(source, recursive); + if (source.morphTargetInfluences !== void 0) { + this.morphTargetInfluences = source.morphTargetInfluences.slice(); + } + if (source.morphTargetDictionary !== void 0) { + this.morphTargetDictionary = Object.assign({}, source.morphTargetDictionary); + } + this.material = Array.isArray(source.material) ? source.material.slice() : source.material; + this.geometry = source.geometry; + return this; + } + updateMorphTargets() { + const geometry = this.geometry; + const morphAttributes = geometry.morphAttributes; + const keys = Object.keys(morphAttributes); + if (keys.length > 0) { + const morphAttribute = morphAttributes[keys[0]]; + if (morphAttribute !== void 0) { + this.morphTargetInfluences = []; + this.morphTargetDictionary = {}; + for (let m = 0, ml = morphAttribute.length; m < ml; m++) { + const name = morphAttribute[m].name || String(m); + this.morphTargetInfluences.push(0); + this.morphTargetDictionary[name] = m; + } + } + } + } + getVertexPosition(index, target) { + const geometry = this.geometry; + const position = geometry.attributes.position; + const morphPosition = geometry.morphAttributes.position; + const morphTargetsRelative = geometry.morphTargetsRelative; + target.fromBufferAttribute(position, index); + const morphInfluences = this.morphTargetInfluences; + if (morphPosition && morphInfluences) { + _morphA.set(0, 0, 0); + for (let i = 0, il = morphPosition.length; i < il; i++) { + const influence = morphInfluences[i]; + const morphAttribute = morphPosition[i]; + if (influence === 0) continue; + _tempA.fromBufferAttribute(morphAttribute, index); + if (morphTargetsRelative) { + _morphA.addScaledVector(_tempA, influence); + } else { + _morphA.addScaledVector(_tempA.sub(target), influence); + } + } + target.add(_morphA); + } + return target; + } + raycast(raycaster, intersects2) { + const geometry = this.geometry; + const material = this.material; + const matrixWorld = this.matrixWorld; + if (material === void 0) return; + if (geometry.boundingSphere === null) geometry.computeBoundingSphere(); + _sphere$6.copy(geometry.boundingSphere); + _sphere$6.applyMatrix4(matrixWorld); + _ray$3.copy(raycaster.ray).recast(raycaster.near); + if (_sphere$6.containsPoint(_ray$3.origin) === false) { + if (_ray$3.intersectSphere(_sphere$6, _sphereHitAt) === null) return; + if (_ray$3.origin.distanceToSquared(_sphereHitAt) > (raycaster.far - raycaster.near) ** 2) return; + } + _inverseMatrix$3.copy(matrixWorld).invert(); + _ray$3.copy(raycaster.ray).applyMatrix4(_inverseMatrix$3); + if (geometry.boundingBox !== null) { + if (_ray$3.intersectsBox(geometry.boundingBox) === false) return; + } + this._computeIntersections(raycaster, intersects2, _ray$3); + } + _computeIntersections(raycaster, intersects2, rayLocalSpace) { + let intersection; + const geometry = this.geometry; + const material = this.material; + const index = geometry.index; + const position = geometry.attributes.position; + const uv = geometry.attributes.uv; + const uv1 = geometry.attributes.uv1; + const normal = geometry.attributes.normal; + const groups = geometry.groups; + const drawRange = geometry.drawRange; + if (index !== null) { + if (Array.isArray(material)) { + for (let i = 0, il = groups.length; i < il; i++) { + const group = groups[i]; + const groupMaterial = material[group.materialIndex]; + const start = Math.max(group.start, drawRange.start); + const end = Math.min(index.count, Math.min(group.start + group.count, drawRange.start + drawRange.count)); + for (let j = start, jl = end; j < jl; j += 3) { + const a = index.getX(j); + const b = index.getX(j + 1); + const c = index.getX(j + 2); + intersection = checkGeometryIntersection(this, groupMaterial, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c); + if (intersection) { + intersection.faceIndex = Math.floor(j / 3); + intersection.face.materialIndex = group.materialIndex; + intersects2.push(intersection); + } + } + } + } else { + const start = Math.max(0, drawRange.start); + const end = Math.min(index.count, drawRange.start + drawRange.count); + for (let i = start, il = end; i < il; i += 3) { + const a = index.getX(i); + const b = index.getX(i + 1); + const c = index.getX(i + 2); + intersection = checkGeometryIntersection(this, material, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c); + if (intersection) { + intersection.faceIndex = Math.floor(i / 3); + intersects2.push(intersection); + } + } + } + } else if (position !== void 0) { + if (Array.isArray(material)) { + for (let i = 0, il = groups.length; i < il; i++) { + const group = groups[i]; + const groupMaterial = material[group.materialIndex]; + const start = Math.max(group.start, drawRange.start); + const end = Math.min(position.count, Math.min(group.start + group.count, drawRange.start + drawRange.count)); + for (let j = start, jl = end; j < jl; j += 3) { + const a = j; + const b = j + 1; + const c = j + 2; + intersection = checkGeometryIntersection(this, groupMaterial, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c); + if (intersection) { + intersection.faceIndex = Math.floor(j / 3); + intersection.face.materialIndex = group.materialIndex; + intersects2.push(intersection); + } + } + } + } else { + const start = Math.max(0, drawRange.start); + const end = Math.min(position.count, drawRange.start + drawRange.count); + for (let i = start, il = end; i < il; i += 3) { + const a = i; + const b = i + 1; + const c = i + 2; + intersection = checkGeometryIntersection(this, material, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c); + if (intersection) { + intersection.faceIndex = Math.floor(i / 3); + intersects2.push(intersection); + } + } + } + } + } +} +function checkIntersection$1(object, material, raycaster, ray, pA, pB, pC, point) { + let intersect2; + if (material.side === BackSide) { + intersect2 = ray.intersectTriangle(pC, pB, pA, true, point); + } else { + intersect2 = ray.intersectTriangle(pA, pB, pC, material.side === FrontSide, point); + } + if (intersect2 === null) return null; + _intersectionPointWorld.copy(point); + _intersectionPointWorld.applyMatrix4(object.matrixWorld); + const distance = raycaster.ray.origin.distanceTo(_intersectionPointWorld); + if (distance < raycaster.near || distance > raycaster.far) return null; + return { + distance, + point: _intersectionPointWorld.clone(), + object + }; +} +__name(checkIntersection$1, "checkIntersection$1"); +function checkGeometryIntersection(object, material, raycaster, ray, uv, uv1, normal, a, b, c) { + object.getVertexPosition(a, _vA$1); + object.getVertexPosition(b, _vB$1); + object.getVertexPosition(c, _vC$1); + const intersection = checkIntersection$1(object, material, raycaster, ray, _vA$1, _vB$1, _vC$1, _intersectionPoint); + if (intersection) { + const barycoord = new Vector3(); + Triangle.getBarycoord(_intersectionPoint, _vA$1, _vB$1, _vC$1, barycoord); + if (uv) { + intersection.uv = Triangle.getInterpolatedAttribute(uv, a, b, c, barycoord, new Vector2()); + } + if (uv1) { + intersection.uv1 = Triangle.getInterpolatedAttribute(uv1, a, b, c, barycoord, new Vector2()); + } + if (normal) { + intersection.normal = Triangle.getInterpolatedAttribute(normal, a, b, c, barycoord, new Vector3()); + if (intersection.normal.dot(ray.direction) > 0) { + intersection.normal.multiplyScalar(-1); + } + } + const face = { + a, + b, + c, + normal: new Vector3(), + materialIndex: 0 + }; + Triangle.getNormal(_vA$1, _vB$1, _vC$1, face.normal); + intersection.face = face; + intersection.barycoord = barycoord; + } + return intersection; +} +__name(checkGeometryIntersection, "checkGeometryIntersection"); +class BoxGeometry extends BufferGeometry { + static { + __name(this, "BoxGeometry"); + } + constructor(width = 1, height = 1, depth = 1, widthSegments = 1, heightSegments = 1, depthSegments = 1) { + super(); + this.type = "BoxGeometry"; + this.parameters = { + width, + height, + depth, + widthSegments, + heightSegments, + depthSegments + }; + const scope = this; + widthSegments = Math.floor(widthSegments); + heightSegments = Math.floor(heightSegments); + depthSegments = Math.floor(depthSegments); + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + let numberOfVertices = 0; + let groupStart = 0; + buildPlane("z", "y", "x", -1, -1, depth, height, width, depthSegments, heightSegments, 0); + buildPlane("z", "y", "x", 1, -1, depth, height, -width, depthSegments, heightSegments, 1); + buildPlane("x", "z", "y", 1, 1, width, depth, height, widthSegments, depthSegments, 2); + buildPlane("x", "z", "y", 1, -1, width, depth, -height, widthSegments, depthSegments, 3); + buildPlane("x", "y", "z", 1, -1, width, height, depth, widthSegments, heightSegments, 4); + buildPlane("x", "y", "z", -1, -1, width, height, -depth, widthSegments, heightSegments, 5); + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + function buildPlane(u, v, w, udir, vdir, width2, height2, depth2, gridX, gridY, materialIndex) { + const segmentWidth = width2 / gridX; + const segmentHeight = height2 / gridY; + const widthHalf = width2 / 2; + const heightHalf = height2 / 2; + const depthHalf = depth2 / 2; + const gridX1 = gridX + 1; + const gridY1 = gridY + 1; + let vertexCounter = 0; + let groupCount = 0; + const vector = new Vector3(); + for (let iy = 0; iy < gridY1; iy++) { + const y = iy * segmentHeight - heightHalf; + for (let ix = 0; ix < gridX1; ix++) { + const x = ix * segmentWidth - widthHalf; + vector[u] = x * udir; + vector[v] = y * vdir; + vector[w] = depthHalf; + vertices.push(vector.x, vector.y, vector.z); + vector[u] = 0; + vector[v] = 0; + vector[w] = depth2 > 0 ? 1 : -1; + normals.push(vector.x, vector.y, vector.z); + uvs.push(ix / gridX); + uvs.push(1 - iy / gridY); + vertexCounter += 1; + } + } + for (let iy = 0; iy < gridY; iy++) { + for (let ix = 0; ix < gridX; ix++) { + const a = numberOfVertices + ix + gridX1 * iy; + const b = numberOfVertices + ix + gridX1 * (iy + 1); + const c = numberOfVertices + (ix + 1) + gridX1 * (iy + 1); + const d = numberOfVertices + (ix + 1) + gridX1 * iy; + indices.push(a, b, d); + indices.push(b, c, d); + groupCount += 6; + } + } + scope.addGroup(groupStart, groupCount, materialIndex); + groupStart += groupCount; + numberOfVertices += vertexCounter; + } + __name(buildPlane, "buildPlane"); + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } + static fromJSON(data) { + return new BoxGeometry(data.width, data.height, data.depth, data.widthSegments, data.heightSegments, data.depthSegments); + } +} +function cloneUniforms(src) { + const dst = {}; + for (const u in src) { + dst[u] = {}; + for (const p in src[u]) { + const property = src[u][p]; + if (property && (property.isColor || property.isMatrix3 || property.isMatrix4 || property.isVector2 || property.isVector3 || property.isVector4 || property.isTexture || property.isQuaternion)) { + if (property.isRenderTargetTexture) { + console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."); + dst[u][p] = null; + } else { + dst[u][p] = property.clone(); + } + } else if (Array.isArray(property)) { + dst[u][p] = property.slice(); + } else { + dst[u][p] = property; + } + } + } + return dst; +} +__name(cloneUniforms, "cloneUniforms"); +function mergeUniforms(uniforms) { + const merged = {}; + for (let u = 0; u < uniforms.length; u++) { + const tmp2 = cloneUniforms(uniforms[u]); + for (const p in tmp2) { + merged[p] = tmp2[p]; + } + } + return merged; +} +__name(mergeUniforms, "mergeUniforms"); +function cloneUniformsGroups(src) { + const dst = []; + for (let u = 0; u < src.length; u++) { + dst.push(src[u].clone()); + } + return dst; +} +__name(cloneUniformsGroups, "cloneUniformsGroups"); +function getUnlitUniformColorSpace(renderer) { + const currentRenderTarget = renderer.getRenderTarget(); + if (currentRenderTarget === null) { + return renderer.outputColorSpace; + } + if (currentRenderTarget.isXRRenderTarget === true) { + return currentRenderTarget.texture.colorSpace; + } + return ColorManagement.workingColorSpace; +} +__name(getUnlitUniformColorSpace, "getUnlitUniformColorSpace"); +const UniformsUtils = { clone: cloneUniforms, merge: mergeUniforms }; +var default_vertex = "void main() {\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"; +var default_fragment = "void main() {\n gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}"; +class ShaderMaterial extends Material { + static { + __name(this, "ShaderMaterial"); + } + static get type() { + return "ShaderMaterial"; + } + constructor(parameters) { + super(); + this.isShaderMaterial = true; + this.defines = {}; + this.uniforms = {}; + this.uniformsGroups = []; + this.vertexShader = default_vertex; + this.fragmentShader = default_fragment; + this.linewidth = 1; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.fog = false; + this.lights = false; + this.clipping = false; + this.forceSinglePass = true; + this.extensions = { + clipCullDistance: false, + // set to use vertex shader clipping + multiDraw: false + // set to use vertex shader multi_draw / enable gl_DrawID + }; + this.defaultAttributeValues = { + "color": [1, 1, 1], + "uv": [0, 0], + "uv1": [0, 0] + }; + this.index0AttributeName = void 0; + this.uniformsNeedUpdate = false; + this.glslVersion = null; + if (parameters !== void 0) { + this.setValues(parameters); + } + } + copy(source) { + super.copy(source); + this.fragmentShader = source.fragmentShader; + this.vertexShader = source.vertexShader; + this.uniforms = cloneUniforms(source.uniforms); + this.uniformsGroups = cloneUniformsGroups(source.uniformsGroups); + this.defines = Object.assign({}, source.defines); + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.fog = source.fog; + this.lights = source.lights; + this.clipping = source.clipping; + this.extensions = Object.assign({}, source.extensions); + this.glslVersion = source.glslVersion; + return this; + } + toJSON(meta) { + const data = super.toJSON(meta); + data.glslVersion = this.glslVersion; + data.uniforms = {}; + for (const name in this.uniforms) { + const uniform = this.uniforms[name]; + const value = uniform.value; + if (value && value.isTexture) { + data.uniforms[name] = { + type: "t", + value: value.toJSON(meta).uuid + }; + } else if (value && value.isColor) { + data.uniforms[name] = { + type: "c", + value: value.getHex() + }; + } else if (value && value.isVector2) { + data.uniforms[name] = { + type: "v2", + value: value.toArray() + }; + } else if (value && value.isVector3) { + data.uniforms[name] = { + type: "v3", + value: value.toArray() + }; + } else if (value && value.isVector4) { + data.uniforms[name] = { + type: "v4", + value: value.toArray() + }; + } else if (value && value.isMatrix3) { + data.uniforms[name] = { + type: "m3", + value: value.toArray() + }; + } else if (value && value.isMatrix4) { + data.uniforms[name] = { + type: "m4", + value: value.toArray() + }; + } else { + data.uniforms[name] = { + value + }; + } + } + if (Object.keys(this.defines).length > 0) data.defines = this.defines; + data.vertexShader = this.vertexShader; + data.fragmentShader = this.fragmentShader; + data.lights = this.lights; + data.clipping = this.clipping; + const extensions = {}; + for (const key in this.extensions) { + if (this.extensions[key] === true) extensions[key] = true; + } + if (Object.keys(extensions).length > 0) data.extensions = extensions; + return data; + } +} +class Camera extends Object3D { + static { + __name(this, "Camera"); + } + constructor() { + super(); + this.isCamera = true; + this.type = "Camera"; + this.matrixWorldInverse = new Matrix4(); + this.projectionMatrix = new Matrix4(); + this.projectionMatrixInverse = new Matrix4(); + this.coordinateSystem = WebGLCoordinateSystem; + } + copy(source, recursive) { + super.copy(source, recursive); + this.matrixWorldInverse.copy(source.matrixWorldInverse); + this.projectionMatrix.copy(source.projectionMatrix); + this.projectionMatrixInverse.copy(source.projectionMatrixInverse); + this.coordinateSystem = source.coordinateSystem; + return this; + } + getWorldDirection(target) { + return super.getWorldDirection(target).negate(); + } + updateMatrixWorld(force) { + super.updateMatrixWorld(force); + this.matrixWorldInverse.copy(this.matrixWorld).invert(); + } + updateWorldMatrix(updateParents, updateChildren) { + super.updateWorldMatrix(updateParents, updateChildren); + this.matrixWorldInverse.copy(this.matrixWorld).invert(); + } + clone() { + return new this.constructor().copy(this); + } +} +const _v3$1 = /* @__PURE__ */ new Vector3(); +const _minTarget = /* @__PURE__ */ new Vector2(); +const _maxTarget = /* @__PURE__ */ new Vector2(); +class PerspectiveCamera extends Camera { + static { + __name(this, "PerspectiveCamera"); + } + constructor(fov2 = 50, aspect2 = 1, near = 0.1, far = 2e3) { + super(); + this.isPerspectiveCamera = true; + this.type = "PerspectiveCamera"; + this.fov = fov2; + this.zoom = 1; + this.near = near; + this.far = far; + this.focus = 10; + this.aspect = aspect2; + this.view = null; + this.filmGauge = 35; + this.filmOffset = 0; + this.updateProjectionMatrix(); + } + copy(source, recursive) { + super.copy(source, recursive); + this.fov = source.fov; + this.zoom = source.zoom; + this.near = source.near; + this.far = source.far; + this.focus = source.focus; + this.aspect = source.aspect; + this.view = source.view === null ? null : Object.assign({}, source.view); + this.filmGauge = source.filmGauge; + this.filmOffset = source.filmOffset; + return this; + } + /** + * Sets the FOV by focal length in respect to the current .filmGauge. + * + * The default film gauge is 35, so that the focal length can be specified for + * a 35mm (full frame) camera. + * + * Values for focal length and film gauge must have the same unit. + */ + setFocalLength(focalLength) { + const vExtentSlope = 0.5 * this.getFilmHeight() / focalLength; + this.fov = RAD2DEG * 2 * Math.atan(vExtentSlope); + this.updateProjectionMatrix(); + } + /** + * Calculates the focal length from the current .fov and .filmGauge. + */ + getFocalLength() { + const vExtentSlope = Math.tan(DEG2RAD * 0.5 * this.fov); + return 0.5 * this.getFilmHeight() / vExtentSlope; + } + getEffectiveFOV() { + return RAD2DEG * 2 * Math.atan( + Math.tan(DEG2RAD * 0.5 * this.fov) / this.zoom + ); + } + getFilmWidth() { + return this.filmGauge * Math.min(this.aspect, 1); + } + getFilmHeight() { + return this.filmGauge / Math.max(this.aspect, 1); + } + /** + * Computes the 2D bounds of the camera's viewable rectangle at a given distance along the viewing direction. + * Sets minTarget and maxTarget to the coordinates of the lower-left and upper-right corners of the view rectangle. + */ + getViewBounds(distance, minTarget, maxTarget) { + _v3$1.set(-1, -1, 0.5).applyMatrix4(this.projectionMatrixInverse); + minTarget.set(_v3$1.x, _v3$1.y).multiplyScalar(-distance / _v3$1.z); + _v3$1.set(1, 1, 0.5).applyMatrix4(this.projectionMatrixInverse); + maxTarget.set(_v3$1.x, _v3$1.y).multiplyScalar(-distance / _v3$1.z); + } + /** + * Computes the width and height of the camera's viewable rectangle at a given distance along the viewing direction. + * Copies the result into the target Vector2, where x is width and y is height. + */ + getViewSize(distance, target) { + this.getViewBounds(distance, _minTarget, _maxTarget); + return target.subVectors(_maxTarget, _minTarget); + } + /** + * Sets an offset in a larger frustum. This is useful for multi-window or + * multi-monitor/multi-machine setups. + * + * For example, if you have 3x2 monitors and each monitor is 1920x1080 and + * the monitors are in grid like this + * + * +---+---+---+ + * | A | B | C | + * +---+---+---+ + * | D | E | F | + * +---+---+---+ + * + * then for each monitor you would call it like this + * + * const w = 1920; + * const h = 1080; + * const fullWidth = w * 3; + * const fullHeight = h * 2; + * + * --A-- + * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 0, w, h ); + * --B-- + * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 0, w, h ); + * --C-- + * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 0, w, h ); + * --D-- + * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 1, w, h ); + * --E-- + * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 1, w, h ); + * --F-- + * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h ); + * + * Note there is no reason monitors have to be the same size or in a grid. + */ + setViewOffset(fullWidth, fullHeight, x, y, width, height) { + this.aspect = fullWidth / fullHeight; + if (this.view === null) { + this.view = { + enabled: true, + fullWidth: 1, + fullHeight: 1, + offsetX: 0, + offsetY: 0, + width: 1, + height: 1 + }; + } + this.view.enabled = true; + this.view.fullWidth = fullWidth; + this.view.fullHeight = fullHeight; + this.view.offsetX = x; + this.view.offsetY = y; + this.view.width = width; + this.view.height = height; + this.updateProjectionMatrix(); + } + clearViewOffset() { + if (this.view !== null) { + this.view.enabled = false; + } + this.updateProjectionMatrix(); + } + updateProjectionMatrix() { + const near = this.near; + let top = near * Math.tan(DEG2RAD * 0.5 * this.fov) / this.zoom; + let height = 2 * top; + let width = this.aspect * height; + let left = -0.5 * width; + const view = this.view; + if (this.view !== null && this.view.enabled) { + const fullWidth = view.fullWidth, fullHeight = view.fullHeight; + left += view.offsetX * width / fullWidth; + top -= view.offsetY * height / fullHeight; + width *= view.width / fullWidth; + height *= view.height / fullHeight; + } + const skew = this.filmOffset; + if (skew !== 0) left += near * skew / this.getFilmWidth(); + this.projectionMatrix.makePerspective(left, left + width, top, top - height, near, this.far, this.coordinateSystem); + this.projectionMatrixInverse.copy(this.projectionMatrix).invert(); + } + toJSON(meta) { + const data = super.toJSON(meta); + data.object.fov = this.fov; + data.object.zoom = this.zoom; + data.object.near = this.near; + data.object.far = this.far; + data.object.focus = this.focus; + data.object.aspect = this.aspect; + if (this.view !== null) data.object.view = Object.assign({}, this.view); + data.object.filmGauge = this.filmGauge; + data.object.filmOffset = this.filmOffset; + return data; + } +} +const fov = -90; +const aspect = 1; +class CubeCamera extends Object3D { + static { + __name(this, "CubeCamera"); + } + constructor(near, far, renderTarget) { + super(); + this.type = "CubeCamera"; + this.renderTarget = renderTarget; + this.coordinateSystem = null; + this.activeMipmapLevel = 0; + const cameraPX = new PerspectiveCamera(fov, aspect, near, far); + cameraPX.layers = this.layers; + this.add(cameraPX); + const cameraNX = new PerspectiveCamera(fov, aspect, near, far); + cameraNX.layers = this.layers; + this.add(cameraNX); + const cameraPY = new PerspectiveCamera(fov, aspect, near, far); + cameraPY.layers = this.layers; + this.add(cameraPY); + const cameraNY = new PerspectiveCamera(fov, aspect, near, far); + cameraNY.layers = this.layers; + this.add(cameraNY); + const cameraPZ = new PerspectiveCamera(fov, aspect, near, far); + cameraPZ.layers = this.layers; + this.add(cameraPZ); + const cameraNZ = new PerspectiveCamera(fov, aspect, near, far); + cameraNZ.layers = this.layers; + this.add(cameraNZ); + } + updateCoordinateSystem() { + const coordinateSystem = this.coordinateSystem; + const cameras = this.children.concat(); + const [cameraPX, cameraNX, cameraPY, cameraNY, cameraPZ, cameraNZ] = cameras; + for (const camera of cameras) this.remove(camera); + if (coordinateSystem === WebGLCoordinateSystem) { + cameraPX.up.set(0, 1, 0); + cameraPX.lookAt(1, 0, 0); + cameraNX.up.set(0, 1, 0); + cameraNX.lookAt(-1, 0, 0); + cameraPY.up.set(0, 0, -1); + cameraPY.lookAt(0, 1, 0); + cameraNY.up.set(0, 0, 1); + cameraNY.lookAt(0, -1, 0); + cameraPZ.up.set(0, 1, 0); + cameraPZ.lookAt(0, 0, 1); + cameraNZ.up.set(0, 1, 0); + cameraNZ.lookAt(0, 0, -1); + } else if (coordinateSystem === WebGPUCoordinateSystem) { + cameraPX.up.set(0, -1, 0); + cameraPX.lookAt(-1, 0, 0); + cameraNX.up.set(0, -1, 0); + cameraNX.lookAt(1, 0, 0); + cameraPY.up.set(0, 0, 1); + cameraPY.lookAt(0, 1, 0); + cameraNY.up.set(0, 0, -1); + cameraNY.lookAt(0, -1, 0); + cameraPZ.up.set(0, -1, 0); + cameraPZ.lookAt(0, 0, 1); + cameraNZ.up.set(0, -1, 0); + cameraNZ.lookAt(0, 0, -1); + } else { + throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: " + coordinateSystem); + } + for (const camera of cameras) { + this.add(camera); + camera.updateMatrixWorld(); + } + } + update(renderer, scene) { + if (this.parent === null) this.updateMatrixWorld(); + const { renderTarget, activeMipmapLevel } = this; + if (this.coordinateSystem !== renderer.coordinateSystem) { + this.coordinateSystem = renderer.coordinateSystem; + this.updateCoordinateSystem(); + } + const [cameraPX, cameraNX, cameraPY, cameraNY, cameraPZ, cameraNZ] = this.children; + const currentRenderTarget = renderer.getRenderTarget(); + const currentActiveCubeFace = renderer.getActiveCubeFace(); + const currentActiveMipmapLevel = renderer.getActiveMipmapLevel(); + const currentXrEnabled = renderer.xr.enabled; + renderer.xr.enabled = false; + const generateMipmaps = renderTarget.texture.generateMipmaps; + renderTarget.texture.generateMipmaps = false; + renderer.setRenderTarget(renderTarget, 0, activeMipmapLevel); + renderer.render(scene, cameraPX); + renderer.setRenderTarget(renderTarget, 1, activeMipmapLevel); + renderer.render(scene, cameraNX); + renderer.setRenderTarget(renderTarget, 2, activeMipmapLevel); + renderer.render(scene, cameraPY); + renderer.setRenderTarget(renderTarget, 3, activeMipmapLevel); + renderer.render(scene, cameraNY); + renderer.setRenderTarget(renderTarget, 4, activeMipmapLevel); + renderer.render(scene, cameraPZ); + renderTarget.texture.generateMipmaps = generateMipmaps; + renderer.setRenderTarget(renderTarget, 5, activeMipmapLevel); + renderer.render(scene, cameraNZ); + renderer.setRenderTarget(currentRenderTarget, currentActiveCubeFace, currentActiveMipmapLevel); + renderer.xr.enabled = currentXrEnabled; + renderTarget.texture.needsPMREMUpdate = true; + } +} +class CubeTexture extends Texture { + static { + __name(this, "CubeTexture"); + } + constructor(images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, colorSpace) { + images = images !== void 0 ? images : []; + mapping = mapping !== void 0 ? mapping : CubeReflectionMapping; + super(images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, colorSpace); + this.isCubeTexture = true; + this.flipY = false; + } + get images() { + return this.image; + } + set images(value) { + this.image = value; + } +} +class WebGLCubeRenderTarget extends WebGLRenderTarget { + static { + __name(this, "WebGLCubeRenderTarget"); + } + constructor(size = 1, options = {}) { + super(size, size, options); + this.isWebGLCubeRenderTarget = true; + const image = { width: size, height: size, depth: 1 }; + const images = [image, image, image, image, image, image]; + this.texture = new CubeTexture(images, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.colorSpace); + this.texture.isRenderTargetTexture = true; + this.texture.generateMipmaps = options.generateMipmaps !== void 0 ? options.generateMipmaps : false; + this.texture.minFilter = options.minFilter !== void 0 ? options.minFilter : LinearFilter; + } + fromEquirectangularTexture(renderer, texture) { + this.texture.type = texture.type; + this.texture.colorSpace = texture.colorSpace; + this.texture.generateMipmaps = texture.generateMipmaps; + this.texture.minFilter = texture.minFilter; + this.texture.magFilter = texture.magFilter; + const shader = { + uniforms: { + tEquirect: { value: null } + }, + vertexShader: ( + /* glsl */ + ` + + varying vec3 vWorldDirection; + + vec3 transformDirection( in vec3 dir, in mat4 matrix ) { + + return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); + + } + + void main() { + + vWorldDirection = transformDirection( position, modelMatrix ); + + #include + #include + + } + ` + ), + fragmentShader: ( + /* glsl */ + ` + + uniform sampler2D tEquirect; + + varying vec3 vWorldDirection; + + #include + + void main() { + + vec3 direction = normalize( vWorldDirection ); + + vec2 sampleUV = equirectUv( direction ); + + gl_FragColor = texture2D( tEquirect, sampleUV ); + + } + ` + ) + }; + const geometry = new BoxGeometry(5, 5, 5); + const material = new ShaderMaterial({ + name: "CubemapFromEquirect", + uniforms: cloneUniforms(shader.uniforms), + vertexShader: shader.vertexShader, + fragmentShader: shader.fragmentShader, + side: BackSide, + blending: NoBlending + }); + material.uniforms.tEquirect.value = texture; + const mesh = new Mesh(geometry, material); + const currentMinFilter = texture.minFilter; + if (texture.minFilter === LinearMipmapLinearFilter) texture.minFilter = LinearFilter; + const camera = new CubeCamera(1, 10, this); + camera.update(renderer, mesh); + texture.minFilter = currentMinFilter; + mesh.geometry.dispose(); + mesh.material.dispose(); + return this; + } + clear(renderer, color, depth, stencil) { + const currentRenderTarget = renderer.getRenderTarget(); + for (let i = 0; i < 6; i++) { + renderer.setRenderTarget(this, i); + renderer.clear(color, depth, stencil); + } + renderer.setRenderTarget(currentRenderTarget); + } +} +const _vector1 = /* @__PURE__ */ new Vector3(); +const _vector2 = /* @__PURE__ */ new Vector3(); +const _normalMatrix = /* @__PURE__ */ new Matrix3(); +class Plane { + static { + __name(this, "Plane"); + } + constructor(normal = new Vector3(1, 0, 0), constant = 0) { + this.isPlane = true; + this.normal = normal; + this.constant = constant; + } + set(normal, constant) { + this.normal.copy(normal); + this.constant = constant; + return this; + } + setComponents(x, y, z, w) { + this.normal.set(x, y, z); + this.constant = w; + return this; + } + setFromNormalAndCoplanarPoint(normal, point) { + this.normal.copy(normal); + this.constant = -point.dot(this.normal); + return this; + } + setFromCoplanarPoints(a, b, c) { + const normal = _vector1.subVectors(c, b).cross(_vector2.subVectors(a, b)).normalize(); + this.setFromNormalAndCoplanarPoint(normal, a); + return this; + } + copy(plane) { + this.normal.copy(plane.normal); + this.constant = plane.constant; + return this; + } + normalize() { + const inverseNormalLength = 1 / this.normal.length(); + this.normal.multiplyScalar(inverseNormalLength); + this.constant *= inverseNormalLength; + return this; + } + negate() { + this.constant *= -1; + this.normal.negate(); + return this; + } + distanceToPoint(point) { + return this.normal.dot(point) + this.constant; + } + distanceToSphere(sphere) { + return this.distanceToPoint(sphere.center) - sphere.radius; + } + projectPoint(point, target) { + return target.copy(point).addScaledVector(this.normal, -this.distanceToPoint(point)); + } + intersectLine(line, target) { + const direction = line.delta(_vector1); + const denominator = this.normal.dot(direction); + if (denominator === 0) { + if (this.distanceToPoint(line.start) === 0) { + return target.copy(line.start); + } + return null; + } + const t2 = -(line.start.dot(this.normal) + this.constant) / denominator; + if (t2 < 0 || t2 > 1) { + return null; + } + return target.copy(line.start).addScaledVector(direction, t2); + } + intersectsLine(line) { + const startSign = this.distanceToPoint(line.start); + const endSign = this.distanceToPoint(line.end); + return startSign < 0 && endSign > 0 || endSign < 0 && startSign > 0; + } + intersectsBox(box) { + return box.intersectsPlane(this); + } + intersectsSphere(sphere) { + return sphere.intersectsPlane(this); + } + coplanarPoint(target) { + return target.copy(this.normal).multiplyScalar(-this.constant); + } + applyMatrix4(matrix, optionalNormalMatrix) { + const normalMatrix = optionalNormalMatrix || _normalMatrix.getNormalMatrix(matrix); + const referencePoint = this.coplanarPoint(_vector1).applyMatrix4(matrix); + const normal = this.normal.applyMatrix3(normalMatrix).normalize(); + this.constant = -referencePoint.dot(normal); + return this; + } + translate(offset) { + this.constant -= offset.dot(this.normal); + return this; + } + equals(plane) { + return plane.normal.equals(this.normal) && plane.constant === this.constant; + } + clone() { + return new this.constructor().copy(this); + } +} +const _sphere$5 = /* @__PURE__ */ new Sphere(); +const _vector$7 = /* @__PURE__ */ new Vector3(); +class Frustum { + static { + __name(this, "Frustum"); + } + constructor(p0 = new Plane(), p1 = new Plane(), p2 = new Plane(), p3 = new Plane(), p4 = new Plane(), p5 = new Plane()) { + this.planes = [p0, p1, p2, p3, p4, p5]; + } + set(p0, p1, p2, p3, p4, p5) { + const planes = this.planes; + planes[0].copy(p0); + planes[1].copy(p1); + planes[2].copy(p2); + planes[3].copy(p3); + planes[4].copy(p4); + planes[5].copy(p5); + return this; + } + copy(frustum) { + const planes = this.planes; + for (let i = 0; i < 6; i++) { + planes[i].copy(frustum.planes[i]); + } + return this; + } + setFromProjectionMatrix(m, coordinateSystem = WebGLCoordinateSystem) { + const planes = this.planes; + const me = m.elements; + const me0 = me[0], me1 = me[1], me2 = me[2], me3 = me[3]; + const me4 = me[4], me5 = me[5], me6 = me[6], me7 = me[7]; + const me8 = me[8], me9 = me[9], me10 = me[10], me11 = me[11]; + const me12 = me[12], me13 = me[13], me14 = me[14], me15 = me[15]; + planes[0].setComponents(me3 - me0, me7 - me4, me11 - me8, me15 - me12).normalize(); + planes[1].setComponents(me3 + me0, me7 + me4, me11 + me8, me15 + me12).normalize(); + planes[2].setComponents(me3 + me1, me7 + me5, me11 + me9, me15 + me13).normalize(); + planes[3].setComponents(me3 - me1, me7 - me5, me11 - me9, me15 - me13).normalize(); + planes[4].setComponents(me3 - me2, me7 - me6, me11 - me10, me15 - me14).normalize(); + if (coordinateSystem === WebGLCoordinateSystem) { + planes[5].setComponents(me3 + me2, me7 + me6, me11 + me10, me15 + me14).normalize(); + } else if (coordinateSystem === WebGPUCoordinateSystem) { + planes[5].setComponents(me2, me6, me10, me14).normalize(); + } else { + throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: " + coordinateSystem); + } + return this; + } + intersectsObject(object) { + if (object.boundingSphere !== void 0) { + if (object.boundingSphere === null) object.computeBoundingSphere(); + _sphere$5.copy(object.boundingSphere).applyMatrix4(object.matrixWorld); + } else { + const geometry = object.geometry; + if (geometry.boundingSphere === null) geometry.computeBoundingSphere(); + _sphere$5.copy(geometry.boundingSphere).applyMatrix4(object.matrixWorld); + } + return this.intersectsSphere(_sphere$5); + } + intersectsSprite(sprite) { + _sphere$5.center.set(0, 0, 0); + _sphere$5.radius = 0.7071067811865476; + _sphere$5.applyMatrix4(sprite.matrixWorld); + return this.intersectsSphere(_sphere$5); + } + intersectsSphere(sphere) { + const planes = this.planes; + const center = sphere.center; + const negRadius = -sphere.radius; + for (let i = 0; i < 6; i++) { + const distance = planes[i].distanceToPoint(center); + if (distance < negRadius) { + return false; + } + } + return true; + } + intersectsBox(box) { + const planes = this.planes; + for (let i = 0; i < 6; i++) { + const plane = planes[i]; + _vector$7.x = plane.normal.x > 0 ? box.max.x : box.min.x; + _vector$7.y = plane.normal.y > 0 ? box.max.y : box.min.y; + _vector$7.z = plane.normal.z > 0 ? box.max.z : box.min.z; + if (plane.distanceToPoint(_vector$7) < 0) { + return false; + } + } + return true; + } + containsPoint(point) { + const planes = this.planes; + for (let i = 0; i < 6; i++) { + if (planes[i].distanceToPoint(point) < 0) { + return false; + } + } + return true; + } + clone() { + return new this.constructor().copy(this); + } +} +function WebGLAnimation() { + let context = null; + let isAnimating = false; + let animationLoop = null; + let requestId = null; + function onAnimationFrame(time, frame) { + animationLoop(time, frame); + requestId = context.requestAnimationFrame(onAnimationFrame); + } + __name(onAnimationFrame, "onAnimationFrame"); + return { + start: /* @__PURE__ */ __name(function() { + if (isAnimating === true) return; + if (animationLoop === null) return; + requestId = context.requestAnimationFrame(onAnimationFrame); + isAnimating = true; + }, "start"), + stop: /* @__PURE__ */ __name(function() { + context.cancelAnimationFrame(requestId); + isAnimating = false; + }, "stop"), + setAnimationLoop: /* @__PURE__ */ __name(function(callback) { + animationLoop = callback; + }, "setAnimationLoop"), + setContext: /* @__PURE__ */ __name(function(value) { + context = value; + }, "setContext") + }; +} +__name(WebGLAnimation, "WebGLAnimation"); +function WebGLAttributes(gl) { + const buffers = /* @__PURE__ */ new WeakMap(); + function createBuffer(attribute, bufferType) { + const array = attribute.array; + const usage = attribute.usage; + const size = array.byteLength; + const buffer = gl.createBuffer(); + gl.bindBuffer(bufferType, buffer); + gl.bufferData(bufferType, array, usage); + attribute.onUploadCallback(); + let type; + if (array instanceof Float32Array) { + type = gl.FLOAT; + } else if (array instanceof Uint16Array) { + if (attribute.isFloat16BufferAttribute) { + type = gl.HALF_FLOAT; + } else { + type = gl.UNSIGNED_SHORT; + } + } else if (array instanceof Int16Array) { + type = gl.SHORT; + } else if (array instanceof Uint32Array) { + type = gl.UNSIGNED_INT; + } else if (array instanceof Int32Array) { + type = gl.INT; + } else if (array instanceof Int8Array) { + type = gl.BYTE; + } else if (array instanceof Uint8Array) { + type = gl.UNSIGNED_BYTE; + } else if (array instanceof Uint8ClampedArray) { + type = gl.UNSIGNED_BYTE; + } else { + throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: " + array); + } + return { + buffer, + type, + bytesPerElement: array.BYTES_PER_ELEMENT, + version: attribute.version, + size + }; + } + __name(createBuffer, "createBuffer"); + function updateBuffer(buffer, attribute, bufferType) { + const array = attribute.array; + const updateRanges = attribute.updateRanges; + gl.bindBuffer(bufferType, buffer); + if (updateRanges.length === 0) { + gl.bufferSubData(bufferType, 0, array); + } else { + updateRanges.sort((a, b) => a.start - b.start); + let mergeIndex = 0; + for (let i = 1; i < updateRanges.length; i++) { + const previousRange = updateRanges[mergeIndex]; + const range = updateRanges[i]; + if (range.start <= previousRange.start + previousRange.count + 1) { + previousRange.count = Math.max( + previousRange.count, + range.start + range.count - previousRange.start + ); + } else { + ++mergeIndex; + updateRanges[mergeIndex] = range; + } + } + updateRanges.length = mergeIndex + 1; + for (let i = 0, l = updateRanges.length; i < l; i++) { + const range = updateRanges[i]; + gl.bufferSubData( + bufferType, + range.start * array.BYTES_PER_ELEMENT, + array, + range.start, + range.count + ); + } + attribute.clearUpdateRanges(); + } + attribute.onUploadCallback(); + } + __name(updateBuffer, "updateBuffer"); + function get(attribute) { + if (attribute.isInterleavedBufferAttribute) attribute = attribute.data; + return buffers.get(attribute); + } + __name(get, "get"); + function remove(attribute) { + if (attribute.isInterleavedBufferAttribute) attribute = attribute.data; + const data = buffers.get(attribute); + if (data) { + gl.deleteBuffer(data.buffer); + buffers.delete(attribute); + } + } + __name(remove, "remove"); + function update(attribute, bufferType) { + if (attribute.isInterleavedBufferAttribute) attribute = attribute.data; + if (attribute.isGLBufferAttribute) { + const cached = buffers.get(attribute); + if (!cached || cached.version < attribute.version) { + buffers.set(attribute, { + buffer: attribute.buffer, + type: attribute.type, + bytesPerElement: attribute.elementSize, + version: attribute.version + }); + } + return; + } + const data = buffers.get(attribute); + if (data === void 0) { + buffers.set(attribute, createBuffer(attribute, bufferType)); + } else if (data.version < attribute.version) { + if (data.size !== attribute.array.byteLength) { + throw new Error("THREE.WebGLAttributes: The size of the buffer attribute's array buffer does not match the original size. Resizing buffer attributes is not supported."); + } + updateBuffer(data.buffer, attribute, bufferType); + data.version = attribute.version; + } + } + __name(update, "update"); + return { + get, + remove, + update + }; +} +__name(WebGLAttributes, "WebGLAttributes"); +class PlaneGeometry extends BufferGeometry { + static { + __name(this, "PlaneGeometry"); + } + constructor(width = 1, height = 1, widthSegments = 1, heightSegments = 1) { + super(); + this.type = "PlaneGeometry"; + this.parameters = { + width, + height, + widthSegments, + heightSegments + }; + const width_half = width / 2; + const height_half = height / 2; + const gridX = Math.floor(widthSegments); + const gridY = Math.floor(heightSegments); + const gridX1 = gridX + 1; + const gridY1 = gridY + 1; + const segment_width = width / gridX; + const segment_height = height / gridY; + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + for (let iy = 0; iy < gridY1; iy++) { + const y = iy * segment_height - height_half; + for (let ix = 0; ix < gridX1; ix++) { + const x = ix * segment_width - width_half; + vertices.push(x, -y, 0); + normals.push(0, 0, 1); + uvs.push(ix / gridX); + uvs.push(1 - iy / gridY); + } + } + for (let iy = 0; iy < gridY; iy++) { + for (let ix = 0; ix < gridX; ix++) { + const a = ix + gridX1 * iy; + const b = ix + gridX1 * (iy + 1); + const c = ix + 1 + gridX1 * (iy + 1); + const d = ix + 1 + gridX1 * iy; + indices.push(a, b, d); + indices.push(b, c, d); + } + } + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } + static fromJSON(data) { + return new PlaneGeometry(data.width, data.height, data.widthSegments, data.heightSegments); + } +} +var alphahash_fragment = "#ifdef USE_ALPHAHASH\n if ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard;\n#endif"; +var alphahash_pars_fragment = "#ifdef USE_ALPHAHASH\n const float ALPHA_HASH_SCALE = 0.05;\n float hash2D( vec2 value ) {\n return fract( 1.0e4 * sin( 17.0 * value.x + 0.1 * value.y ) * ( 0.1 + abs( sin( 13.0 * value.y + value.x ) ) ) );\n }\n float hash3D( vec3 value ) {\n return hash2D( vec2( hash2D( value.xy ), value.z ) );\n }\n float getAlphaHashThreshold( vec3 position ) {\n float maxDeriv = max(\n length( dFdx( position.xyz ) ),\n length( dFdy( position.xyz ) )\n );\n float pixScale = 1.0 / ( ALPHA_HASH_SCALE * maxDeriv );\n vec2 pixScales = vec2(\n exp2( floor( log2( pixScale ) ) ),\n exp2( ceil( log2( pixScale ) ) )\n );\n vec2 alpha = vec2(\n hash3D( floor( pixScales.x * position.xyz ) ),\n hash3D( floor( pixScales.y * position.xyz ) )\n );\n float lerpFactor = fract( log2( pixScale ) );\n float x = ( 1.0 - lerpFactor ) * alpha.x + lerpFactor * alpha.y;\n float a = min( lerpFactor, 1.0 - lerpFactor );\n vec3 cases = vec3(\n x * x / ( 2.0 * a * ( 1.0 - a ) ),\n ( x - 0.5 * a ) / ( 1.0 - a ),\n 1.0 - ( ( 1.0 - x ) * ( 1.0 - x ) / ( 2.0 * a * ( 1.0 - a ) ) )\n );\n float threshold = ( x < ( 1.0 - a ) )\n ? ( ( x < a ) ? cases.x : cases.y )\n : cases.z;\n return clamp( threshold , 1.0e-6, 1.0 );\n }\n#endif"; +var alphamap_fragment = "#ifdef USE_ALPHAMAP\n diffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g;\n#endif"; +var alphamap_pars_fragment = "#ifdef USE_ALPHAMAP\n uniform sampler2D alphaMap;\n#endif"; +var alphatest_fragment = "#ifdef USE_ALPHATEST\n #ifdef ALPHA_TO_COVERAGE\n diffuseColor.a = smoothstep( alphaTest, alphaTest + fwidth( diffuseColor.a ), diffuseColor.a );\n if ( diffuseColor.a == 0.0 ) discard;\n #else\n if ( diffuseColor.a < alphaTest ) discard;\n #endif\n#endif"; +var alphatest_pars_fragment = "#ifdef USE_ALPHATEST\n uniform float alphaTest;\n#endif"; +var aomap_fragment = "#ifdef USE_AOMAP\n float ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0;\n reflectedLight.indirectDiffuse *= ambientOcclusion;\n #if defined( USE_CLEARCOAT ) \n clearcoatSpecularIndirect *= ambientOcclusion;\n #endif\n #if defined( USE_SHEEN ) \n sheenSpecularIndirect *= ambientOcclusion;\n #endif\n #if defined( USE_ENVMAP ) && defined( STANDARD )\n float dotNV = saturate( dot( geometryNormal, geometryViewDir ) );\n reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\n #endif\n#endif"; +var aomap_pars_fragment = "#ifdef USE_AOMAP\n uniform sampler2D aoMap;\n uniform float aoMapIntensity;\n#endif"; +var batching_pars_vertex = "#ifdef USE_BATCHING\n #if ! defined( GL_ANGLE_multi_draw )\n #define gl_DrawID _gl_DrawID\n uniform int _gl_DrawID;\n #endif\n uniform highp sampler2D batchingTexture;\n uniform highp usampler2D batchingIdTexture;\n mat4 getBatchingMatrix( const in float i ) {\n int size = textureSize( batchingTexture, 0 ).x;\n int j = int( i ) * 4;\n int x = j % size;\n int y = j / size;\n vec4 v1 = texelFetch( batchingTexture, ivec2( x, y ), 0 );\n vec4 v2 = texelFetch( batchingTexture, ivec2( x + 1, y ), 0 );\n vec4 v3 = texelFetch( batchingTexture, ivec2( x + 2, y ), 0 );\n vec4 v4 = texelFetch( batchingTexture, ivec2( x + 3, y ), 0 );\n return mat4( v1, v2, v3, v4 );\n }\n float getIndirectIndex( const in int i ) {\n int size = textureSize( batchingIdTexture, 0 ).x;\n int x = i % size;\n int y = i / size;\n return float( texelFetch( batchingIdTexture, ivec2( x, y ), 0 ).r );\n }\n#endif\n#ifdef USE_BATCHING_COLOR\n uniform sampler2D batchingColorTexture;\n vec3 getBatchingColor( const in float i ) {\n int size = textureSize( batchingColorTexture, 0 ).x;\n int j = int( i );\n int x = j % size;\n int y = j / size;\n return texelFetch( batchingColorTexture, ivec2( x, y ), 0 ).rgb;\n }\n#endif"; +var batching_vertex = "#ifdef USE_BATCHING\n mat4 batchingMatrix = getBatchingMatrix( getIndirectIndex( gl_DrawID ) );\n#endif"; +var begin_vertex = "vec3 transformed = vec3( position );\n#ifdef USE_ALPHAHASH\n vPosition = vec3( position );\n#endif"; +var beginnormal_vertex = "vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n vec3 objectTangent = vec3( tangent.xyz );\n#endif"; +var bsdfs = "float G_BlinnPhong_Implicit( ) {\n return 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n return RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n vec3 halfDir = normalize( lightDir + viewDir );\n float dotNH = saturate( dot( normal, halfDir ) );\n float dotVH = saturate( dot( viewDir, halfDir ) );\n vec3 F = F_Schlick( specularColor, 1.0, dotVH );\n float G = G_BlinnPhong_Implicit( );\n float D = D_BlinnPhong( shininess, dotNH );\n return F * ( G * D );\n} // validated"; +var iridescence_fragment = "#ifdef USE_IRIDESCENCE\n const mat3 XYZ_TO_REC709 = mat3(\n 3.2404542, -0.9692660, 0.0556434,\n -1.5371385, 1.8760108, -0.2040259,\n -0.4985314, 0.0415560, 1.0572252\n );\n vec3 Fresnel0ToIor( vec3 fresnel0 ) {\n vec3 sqrtF0 = sqrt( fresnel0 );\n return ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\n }\n vec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\n return pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\n }\n float IorToFresnel0( float transmittedIor, float incidentIor ) {\n return pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\n }\n vec3 evalSensitivity( float OPD, vec3 shift ) {\n float phase = 2.0 * PI * OPD * 1.0e-9;\n vec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\n vec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\n vec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\n vec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );\n xyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );\n xyz /= 1.0685e-7;\n vec3 rgb = XYZ_TO_REC709 * xyz;\n return rgb;\n }\n vec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\n vec3 I;\n float iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\n float sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\n float cosTheta2Sq = 1.0 - sinTheta2Sq;\n if ( cosTheta2Sq < 0.0 ) {\n return vec3( 1.0 );\n }\n float cosTheta2 = sqrt( cosTheta2Sq );\n float R0 = IorToFresnel0( iridescenceIOR, outsideIOR );\n float R12 = F_Schlick( R0, 1.0, cosTheta1 );\n float T121 = 1.0 - R12;\n float phi12 = 0.0;\n if ( iridescenceIOR < outsideIOR ) phi12 = PI;\n float phi21 = PI - phi12;\n vec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) ); vec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );\n vec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\n vec3 phi23 = vec3( 0.0 );\n if ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;\n if ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;\n if ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;\n float OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\n vec3 phi = vec3( phi21 ) + phi23;\n vec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\n vec3 r123 = sqrt( R123 );\n vec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\n vec3 C0 = R12 + Rs;\n I = C0;\n vec3 Cm = Rs - T121;\n for ( int m = 1; m <= 2; ++ m ) {\n Cm *= r123;\n vec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\n I += Cm * Sm;\n }\n return max( I, vec3( 0.0 ) );\n }\n#endif"; +var bumpmap_pars_fragment = "#ifdef USE_BUMPMAP\n uniform sampler2D bumpMap;\n uniform float bumpScale;\n vec2 dHdxy_fwd() {\n vec2 dSTdx = dFdx( vBumpMapUv );\n vec2 dSTdy = dFdy( vBumpMapUv );\n float Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x;\n float dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll;\n float dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll;\n return vec2( dBx, dBy );\n }\n vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n vec3 vSigmaX = normalize( dFdx( surf_pos.xyz ) );\n vec3 vSigmaY = normalize( dFdy( surf_pos.xyz ) );\n vec3 vN = surf_norm;\n vec3 R1 = cross( vSigmaY, vN );\n vec3 R2 = cross( vN, vSigmaX );\n float fDet = dot( vSigmaX, R1 ) * faceDirection;\n vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n return normalize( abs( fDet ) * surf_norm - vGrad );\n }\n#endif"; +var clipping_planes_fragment = "#if NUM_CLIPPING_PLANES > 0\n vec4 plane;\n #ifdef ALPHA_TO_COVERAGE\n float distanceToPlane, distanceGradient;\n float clipOpacity = 1.0;\n #pragma unroll_loop_start\n for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n plane = clippingPlanes[ i ];\n distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;\n distanceGradient = fwidth( distanceToPlane ) / 2.0;\n clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane );\n if ( clipOpacity == 0.0 ) discard;\n }\n #pragma unroll_loop_end\n #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n float unionClipOpacity = 1.0;\n #pragma unroll_loop_start\n for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n plane = clippingPlanes[ i ];\n distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;\n distanceGradient = fwidth( distanceToPlane ) / 2.0;\n unionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane );\n }\n #pragma unroll_loop_end\n clipOpacity *= 1.0 - unionClipOpacity;\n #endif\n diffuseColor.a *= clipOpacity;\n if ( diffuseColor.a == 0.0 ) discard;\n #else\n #pragma unroll_loop_start\n for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n plane = clippingPlanes[ i ];\n if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n }\n #pragma unroll_loop_end\n #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n bool clipped = true;\n #pragma unroll_loop_start\n for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n plane = clippingPlanes[ i ];\n clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n }\n #pragma unroll_loop_end\n if ( clipped ) discard;\n #endif\n #endif\n#endif"; +var clipping_planes_pars_fragment = "#if NUM_CLIPPING_PLANES > 0\n varying vec3 vClipPosition;\n uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif"; +var clipping_planes_pars_vertex = "#if NUM_CLIPPING_PLANES > 0\n varying vec3 vClipPosition;\n#endif"; +var clipping_planes_vertex = "#if NUM_CLIPPING_PLANES > 0\n vClipPosition = - mvPosition.xyz;\n#endif"; +var color_fragment = "#if defined( USE_COLOR_ALPHA )\n diffuseColor *= vColor;\n#elif defined( USE_COLOR )\n diffuseColor.rgb *= vColor;\n#endif"; +var color_pars_fragment = "#if defined( USE_COLOR_ALPHA )\n varying vec4 vColor;\n#elif defined( USE_COLOR )\n varying vec3 vColor;\n#endif"; +var color_pars_vertex = "#if defined( USE_COLOR_ALPHA )\n varying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )\n varying vec3 vColor;\n#endif"; +var color_vertex = "#if defined( USE_COLOR_ALPHA )\n vColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )\n vColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n vColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n vColor.xyz *= instanceColor.xyz;\n#endif\n#ifdef USE_BATCHING_COLOR\n vec3 batchingColor = getBatchingColor( getIndirectIndex( gl_DrawID ) );\n vColor.xyz *= batchingColor.xyz;\n#endif"; +var common = "#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\nhighp float rand( const in vec2 uv ) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n return fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n float precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n float precisionSafeLength( vec3 v ) {\n float maxComponent = max3( abs( v ) );\n return length( v / maxComponent ) * maxComponent;\n }\n#endif\nstruct IncidentLight {\n vec3 color;\n vec3 direction;\n bool visible;\n};\nstruct ReflectedLight {\n vec3 directDiffuse;\n vec3 directSpecular;\n vec3 indirectDiffuse;\n vec3 indirectSpecular;\n};\n#ifdef USE_ALPHAHASH\n varying vec3 vPosition;\n#endif\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n mat3 tmp;\n tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n return tmp;\n}\nbool isPerspectiveMatrix( mat4 m ) {\n return m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n return vec2( u, v );\n}\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n return RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n} // validated"; +var cube_uv_reflection_fragment = "#ifdef ENVMAP_TYPE_CUBE_UV\n #define cubeUV_minMipLevel 4.0\n #define cubeUV_minTileSize 16.0\n float getFace( vec3 direction ) {\n vec3 absDirection = abs( direction );\n float face = - 1.0;\n if ( absDirection.x > absDirection.z ) {\n if ( absDirection.x > absDirection.y )\n face = direction.x > 0.0 ? 0.0 : 3.0;\n else\n face = direction.y > 0.0 ? 1.0 : 4.0;\n } else {\n if ( absDirection.z > absDirection.y )\n face = direction.z > 0.0 ? 2.0 : 5.0;\n else\n face = direction.y > 0.0 ? 1.0 : 4.0;\n }\n return face;\n }\n vec2 getUV( vec3 direction, float face ) {\n vec2 uv;\n if ( face == 0.0 ) {\n uv = vec2( direction.z, direction.y ) / abs( direction.x );\n } else if ( face == 1.0 ) {\n uv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n } else if ( face == 2.0 ) {\n uv = vec2( - direction.x, direction.y ) / abs( direction.z );\n } else if ( face == 3.0 ) {\n uv = vec2( - direction.z, direction.y ) / abs( direction.x );\n } else if ( face == 4.0 ) {\n uv = vec2( - direction.x, direction.z ) / abs( direction.y );\n } else {\n uv = vec2( direction.x, direction.y ) / abs( direction.z );\n }\n return 0.5 * ( uv + 1.0 );\n }\n vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n float face = getFace( direction );\n float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n mipInt = max( mipInt, cubeUV_minMipLevel );\n float faceSize = exp2( mipInt );\n highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n if ( face > 2.0 ) {\n uv.y += faceSize;\n face -= 3.0;\n }\n uv.x += face * faceSize;\n uv.x += filterInt * 3.0 * cubeUV_minTileSize;\n uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n uv.x *= CUBEUV_TEXEL_WIDTH;\n uv.y *= CUBEUV_TEXEL_HEIGHT;\n #ifdef texture2DGradEXT\n return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n #else\n return texture2D( envMap, uv ).rgb;\n #endif\n }\n #define cubeUV_r0 1.0\n #define cubeUV_m0 - 2.0\n #define cubeUV_r1 0.8\n #define cubeUV_m1 - 1.0\n #define cubeUV_r4 0.4\n #define cubeUV_m4 2.0\n #define cubeUV_r5 0.305\n #define cubeUV_m5 3.0\n #define cubeUV_r6 0.21\n #define cubeUV_m6 4.0\n float roughnessToMip( float roughness ) {\n float mip = 0.0;\n if ( roughness >= cubeUV_r1 ) {\n mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n } else if ( roughness >= cubeUV_r4 ) {\n mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n } else if ( roughness >= cubeUV_r5 ) {\n mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n } else if ( roughness >= cubeUV_r6 ) {\n mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\n } else {\n mip = - 2.0 * log2( 1.16 * roughness ); }\n return mip;\n }\n vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\n float mipF = fract( mip );\n float mipInt = floor( mip );\n vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n if ( mipF == 0.0 ) {\n return vec4( color0, 1.0 );\n } else {\n vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n return vec4( mix( color0, color1, mipF ), 1.0 );\n }\n }\n#endif"; +var defaultnormal_vertex = "vec3 transformedNormal = objectNormal;\n#ifdef USE_TANGENT\n vec3 transformedTangent = objectTangent;\n#endif\n#ifdef USE_BATCHING\n mat3 bm = mat3( batchingMatrix );\n transformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) );\n transformedNormal = bm * transformedNormal;\n #ifdef USE_TANGENT\n transformedTangent = bm * transformedTangent;\n #endif\n#endif\n#ifdef USE_INSTANCING\n mat3 im = mat3( instanceMatrix );\n transformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) );\n transformedNormal = im * transformedNormal;\n #ifdef USE_TANGENT\n transformedTangent = im * transformedTangent;\n #endif\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n transformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz;\n #ifdef FLIP_SIDED\n transformedTangent = - transformedTangent;\n #endif\n#endif"; +var displacementmap_pars_vertex = "#ifdef USE_DISPLACEMENTMAP\n uniform sampler2D displacementMap;\n uniform float displacementScale;\n uniform float displacementBias;\n#endif"; +var displacementmap_vertex = "#ifdef USE_DISPLACEMENTMAP\n transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );\n#endif"; +var emissivemap_fragment = "#ifdef USE_EMISSIVEMAP\n vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\n #ifdef DECODE_VIDEO_TEXTURE_EMISSIVE\n emissiveColor = sRGBTransferEOTF( emissiveColor );\n #endif\n totalEmissiveRadiance *= emissiveColor.rgb;\n#endif"; +var emissivemap_pars_fragment = "#ifdef USE_EMISSIVEMAP\n uniform sampler2D emissiveMap;\n#endif"; +var colorspace_fragment = "gl_FragColor = linearToOutputTexel( gl_FragColor );"; +var colorspace_pars_fragment = "vec4 LinearTransferOETF( in vec4 value ) {\n return value;\n}\nvec4 sRGBTransferEOTF( in vec4 value ) {\n return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 sRGBTransferOETF( in vec4 value ) {\n return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}"; +var envmap_fragment = "#ifdef USE_ENVMAP\n #ifdef ENV_WORLDPOS\n vec3 cameraToFrag;\n if ( isOrthographic ) {\n cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n } else {\n cameraToFrag = normalize( vWorldPosition - cameraPosition );\n }\n vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n #ifdef ENVMAP_MODE_REFLECTION\n vec3 reflectVec = reflect( cameraToFrag, worldNormal );\n #else\n vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n #endif\n #else\n vec3 reflectVec = vReflect;\n #endif\n #ifdef ENVMAP_TYPE_CUBE\n vec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n #else\n vec4 envColor = vec4( 0.0 );\n #endif\n #ifdef ENVMAP_BLENDING_MULTIPLY\n outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n #elif defined( ENVMAP_BLENDING_MIX )\n outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n #elif defined( ENVMAP_BLENDING_ADD )\n outgoingLight += envColor.xyz * specularStrength * reflectivity;\n #endif\n#endif"; +var envmap_common_pars_fragment = "#ifdef USE_ENVMAP\n uniform float envMapIntensity;\n uniform float flipEnvMap;\n uniform mat3 envMapRotation;\n #ifdef ENVMAP_TYPE_CUBE\n uniform samplerCube envMap;\n #else\n uniform sampler2D envMap;\n #endif\n \n#endif"; +var envmap_pars_fragment = "#ifdef USE_ENVMAP\n uniform float reflectivity;\n #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n #define ENV_WORLDPOS\n #endif\n #ifdef ENV_WORLDPOS\n varying vec3 vWorldPosition;\n uniform float refractionRatio;\n #else\n varying vec3 vReflect;\n #endif\n#endif"; +var envmap_pars_vertex = "#ifdef USE_ENVMAP\n #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n #define ENV_WORLDPOS\n #endif\n #ifdef ENV_WORLDPOS\n \n varying vec3 vWorldPosition;\n #else\n varying vec3 vReflect;\n uniform float refractionRatio;\n #endif\n#endif"; +var envmap_vertex = "#ifdef USE_ENVMAP\n #ifdef ENV_WORLDPOS\n vWorldPosition = worldPosition.xyz;\n #else\n vec3 cameraToVertex;\n if ( isOrthographic ) {\n cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n } else {\n cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n }\n vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n #ifdef ENVMAP_MODE_REFLECTION\n vReflect = reflect( cameraToVertex, worldNormal );\n #else\n vReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n #endif\n #endif\n#endif"; +var fog_vertex = "#ifdef USE_FOG\n vFogDepth = - mvPosition.z;\n#endif"; +var fog_pars_vertex = "#ifdef USE_FOG\n varying float vFogDepth;\n#endif"; +var fog_fragment = "#ifdef USE_FOG\n #ifdef FOG_EXP2\n float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n #else\n float fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n #endif\n gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif"; +var fog_pars_fragment = "#ifdef USE_FOG\n uniform vec3 fogColor;\n varying float vFogDepth;\n #ifdef FOG_EXP2\n uniform float fogDensity;\n #else\n uniform float fogNear;\n uniform float fogFar;\n #endif\n#endif"; +var gradientmap_pars_fragment = "#ifdef USE_GRADIENTMAP\n uniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n float dotNL = dot( normal, lightDirection );\n vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n #ifdef USE_GRADIENTMAP\n return vec3( texture2D( gradientMap, coord ).r );\n #else\n vec2 fw = fwidth( coord ) * 0.5;\n return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n #endif\n}"; +var lightmap_pars_fragment = "#ifdef USE_LIGHTMAP\n uniform sampler2D lightMap;\n uniform float lightMapIntensity;\n#endif"; +var lights_lambert_fragment = "LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;"; +var lights_lambert_pars_fragment = "varying vec3 vViewPosition;\nstruct LambertMaterial {\n vec3 diffuseColor;\n float specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n float dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n vec3 irradiance = dotNL * directLight.color;\n reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct RE_Direct_Lambert\n#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert"; +var lights_pars_begin = "uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\n#if defined( USE_LIGHT_PROBES )\n uniform vec3 lightProbe[ 9 ];\n#endif\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n float x = normal.x, y = normal.y, z = normal.z;\n vec3 result = shCoefficients[ 0 ] * 0.886227;\n result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n return result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n return irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n vec3 irradiance = ambientLightColor;\n return irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n if ( cutoffDistance > 0.0 ) {\n distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n }\n return distanceFalloff;\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n return smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n struct DirectionalLight {\n vec3 direction;\n vec3 color;\n };\n uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n void getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) {\n light.color = directionalLight.color;\n light.direction = directionalLight.direction;\n light.visible = true;\n }\n#endif\n#if NUM_POINT_LIGHTS > 0\n struct PointLight {\n vec3 position;\n vec3 color;\n float distance;\n float decay;\n };\n uniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n void getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) {\n vec3 lVector = pointLight.position - geometryPosition;\n light.direction = normalize( lVector );\n float lightDistance = length( lVector );\n light.color = pointLight.color;\n light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n light.visible = ( light.color != vec3( 0.0 ) );\n }\n#endif\n#if NUM_SPOT_LIGHTS > 0\n struct SpotLight {\n vec3 position;\n vec3 direction;\n vec3 color;\n float distance;\n float decay;\n float coneCos;\n float penumbraCos;\n };\n uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n void getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) {\n vec3 lVector = spotLight.position - geometryPosition;\n light.direction = normalize( lVector );\n float angleCos = dot( light.direction, spotLight.direction );\n float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n if ( spotAttenuation > 0.0 ) {\n float lightDistance = length( lVector );\n light.color = spotLight.color * spotAttenuation;\n light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n light.visible = ( light.color != vec3( 0.0 ) );\n } else {\n light.color = vec3( 0.0 );\n light.visible = false;\n }\n }\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n struct RectAreaLight {\n vec3 color;\n vec3 position;\n vec3 halfWidth;\n vec3 halfHeight;\n };\n uniform sampler2D ltc_1; uniform sampler2D ltc_2;\n uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n struct HemisphereLight {\n vec3 direction;\n vec3 skyColor;\n vec3 groundColor;\n };\n uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n float dotNL = dot( normal, hemiLight.direction );\n float hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n return irradiance;\n }\n#endif"; +var envmap_physical_pars_fragment = "#ifdef USE_ENVMAP\n vec3 getIBLIrradiance( const in vec3 normal ) {\n #ifdef ENVMAP_TYPE_CUBE_UV\n vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n vec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 );\n return PI * envMapColor.rgb * envMapIntensity;\n #else\n return vec3( 0.0 );\n #endif\n }\n vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n #ifdef ENVMAP_TYPE_CUBE_UV\n vec3 reflectVec = reflect( - viewDir, normal );\n reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n reflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n vec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness );\n return envMapColor.rgb * envMapIntensity;\n #else\n return vec3( 0.0 );\n #endif\n }\n #ifdef USE_ANISOTROPY\n vec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\n #ifdef ENVMAP_TYPE_CUBE_UV\n vec3 bentNormal = cross( bitangent, viewDir );\n bentNormal = normalize( cross( bentNormal, bitangent ) );\n bentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\n return getIBLRadiance( viewDir, bentNormal, roughness );\n #else\n return vec3( 0.0 );\n #endif\n }\n #endif\n#endif"; +var lights_toon_fragment = "ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;"; +var lights_toon_pars_fragment = "varying vec3 vViewPosition;\nstruct ToonMaterial {\n vec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n vec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color;\n reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct RE_Direct_Toon\n#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon"; +var lights_phong_fragment = "BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;"; +var lights_phong_pars_fragment = "varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n vec3 diffuseColor;\n vec3 specularColor;\n float specularShininess;\n float specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n float dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n vec3 irradiance = dotNL * directLight.color;\n reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct RE_Direct_BlinnPhong\n#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong"; +var lights_physical_fragment = "PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n material.ior = ior;\n #ifdef USE_SPECULAR\n float specularIntensityFactor = specularIntensity;\n vec3 specularColorFactor = specularColor;\n #ifdef USE_SPECULAR_COLORMAP\n specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\n #endif\n #ifdef USE_SPECULAR_INTENSITYMAP\n specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\n #endif\n material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n #else\n float specularIntensityFactor = 1.0;\n vec3 specularColorFactor = vec3( 1.0 );\n material.specularF90 = 1.0;\n #endif\n material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n material.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n material.clearcoat = clearcoat;\n material.clearcoatRoughness = clearcoatRoughness;\n material.clearcoatF0 = vec3( 0.04 );\n material.clearcoatF90 = 1.0;\n #ifdef USE_CLEARCOATMAP\n material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\n #endif\n #ifdef USE_CLEARCOAT_ROUGHNESSMAP\n material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\n #endif\n material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n material.clearcoatRoughness += geometryRoughness;\n material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_DISPERSION\n material.dispersion = dispersion;\n#endif\n#ifdef USE_IRIDESCENCE\n material.iridescence = iridescence;\n material.iridescenceIOR = iridescenceIOR;\n #ifdef USE_IRIDESCENCEMAP\n material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\n #endif\n #ifdef USE_IRIDESCENCE_THICKNESSMAP\n material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\n #else\n material.iridescenceThickness = iridescenceThicknessMaximum;\n #endif\n#endif\n#ifdef USE_SHEEN\n material.sheenColor = sheenColor;\n #ifdef USE_SHEEN_COLORMAP\n material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\n #endif\n material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n #ifdef USE_SHEEN_ROUGHNESSMAP\n material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\n #endif\n#endif\n#ifdef USE_ANISOTROPY\n #ifdef USE_ANISOTROPYMAP\n mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );\n vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;\n vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;\n #else\n vec2 anisotropyV = anisotropyVector;\n #endif\n material.anisotropy = length( anisotropyV );\n if( material.anisotropy == 0.0 ) {\n anisotropyV = vec2( 1.0, 0.0 );\n } else {\n anisotropyV /= material.anisotropy;\n material.anisotropy = saturate( material.anisotropy );\n }\n material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );\n material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y;\n material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y;\n#endif"; +var lights_physical_pars_fragment = "struct PhysicalMaterial {\n vec3 diffuseColor;\n float roughness;\n vec3 specularColor;\n float specularF90;\n float dispersion;\n #ifdef USE_CLEARCOAT\n float clearcoat;\n float clearcoatRoughness;\n vec3 clearcoatF0;\n float clearcoatF90;\n #endif\n #ifdef USE_IRIDESCENCE\n float iridescence;\n float iridescenceIOR;\n float iridescenceThickness;\n vec3 iridescenceFresnel;\n vec3 iridescenceF0;\n #endif\n #ifdef USE_SHEEN\n vec3 sheenColor;\n float sheenRoughness;\n #endif\n #ifdef IOR\n float ior;\n #endif\n #ifdef USE_TRANSMISSION\n float transmission;\n float transmissionAlpha;\n float thickness;\n float attenuationDistance;\n vec3 attenuationColor;\n #endif\n #ifdef USE_ANISOTROPY\n float anisotropy;\n float alphaT;\n vec3 anisotropyT;\n vec3 anisotropyB;\n #endif\n};\nvec3 clearcoatSpecularDirect = vec3( 0.0 );\nvec3 clearcoatSpecularIndirect = vec3( 0.0 );\nvec3 sheenSpecularDirect = vec3( 0.0 );\nvec3 sheenSpecularIndirect = vec3(0.0 );\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n float x2 = x * x;\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n float a2 = pow2( alpha );\n float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n return 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n float a2 = pow2( alpha );\n float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n return RECIPROCAL_PI * a2 / pow2( denom );\n}\n#ifdef USE_ANISOTROPY\n float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) {\n float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );\n float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );\n float v = 0.5 / ( gv + gl );\n return saturate(v);\n }\n float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {\n float a2 = alphaT * alphaB;\n highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );\n highp float v2 = dot( v, v );\n float w2 = a2 / v2;\n return RECIPROCAL_PI * a2 * pow2 ( w2 );\n }\n#endif\n#ifdef USE_CLEARCOAT\n vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\n vec3 f0 = material.clearcoatF0;\n float f90 = material.clearcoatF90;\n float roughness = material.clearcoatRoughness;\n float alpha = pow2( roughness );\n vec3 halfDir = normalize( lightDir + viewDir );\n float dotNL = saturate( dot( normal, lightDir ) );\n float dotNV = saturate( dot( normal, viewDir ) );\n float dotNH = saturate( dot( normal, halfDir ) );\n float dotVH = saturate( dot( viewDir, halfDir ) );\n vec3 F = F_Schlick( f0, f90, dotVH );\n float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n float D = D_GGX( alpha, dotNH );\n return F * ( V * D );\n }\n#endif\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\n vec3 f0 = material.specularColor;\n float f90 = material.specularF90;\n float roughness = material.roughness;\n float alpha = pow2( roughness );\n vec3 halfDir = normalize( lightDir + viewDir );\n float dotNL = saturate( dot( normal, lightDir ) );\n float dotNV = saturate( dot( normal, viewDir ) );\n float dotNH = saturate( dot( normal, halfDir ) );\n float dotVH = saturate( dot( viewDir, halfDir ) );\n vec3 F = F_Schlick( f0, f90, dotVH );\n #ifdef USE_IRIDESCENCE\n F = mix( F, material.iridescenceFresnel, material.iridescence );\n #endif\n #ifdef USE_ANISOTROPY\n float dotTL = dot( material.anisotropyT, lightDir );\n float dotTV = dot( material.anisotropyT, viewDir );\n float dotTH = dot( material.anisotropyT, halfDir );\n float dotBL = dot( material.anisotropyB, lightDir );\n float dotBV = dot( material.anisotropyB, viewDir );\n float dotBH = dot( material.anisotropyB, halfDir );\n float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );\n float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );\n #else\n float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n float D = D_GGX( alpha, dotNH );\n #endif\n return F * ( V * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n const float LUT_SIZE = 64.0;\n const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n const float LUT_BIAS = 0.5 / LUT_SIZE;\n float dotNV = saturate( dot( N, V ) );\n vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n uv = uv * LUT_SCALE + LUT_BIAS;\n return uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n float l = length( f );\n return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n float x = dot( v1, v2 );\n float y = abs( x );\n float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n float b = 3.4175940 + ( 4.1616724 + y ) * y;\n float v = a / b;\n float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n return cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n vec3 lightNormal = cross( v1, v2 );\n if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n vec3 T1, T2;\n T1 = normalize( V - N * dot( V, N ) );\n T2 = - cross( N, T1 );\n mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n vec3 coords[ 4 ];\n coords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n coords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n coords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n coords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n coords[ 0 ] = normalize( coords[ 0 ] );\n coords[ 1 ] = normalize( coords[ 1 ] );\n coords[ 2 ] = normalize( coords[ 2 ] );\n coords[ 3 ] = normalize( coords[ 3 ] );\n vec3 vectorFormFactor = vec3( 0.0 );\n vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n float result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n return vec3( result );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n float alpha = pow2( roughness );\n float invAlpha = 1.0 / alpha;\n float cos2h = dotNH * dotNH;\n float sin2h = max( 1.0 - cos2h, 0.0078125 );\n return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n vec3 halfDir = normalize( lightDir + viewDir );\n float dotNL = saturate( dot( normal, lightDir ) );\n float dotNV = saturate( dot( normal, viewDir ) );\n float dotNH = saturate( dot( normal, halfDir ) );\n float D = D_Charlie( sheenRoughness, dotNH );\n float V = V_Neubelt( dotNV, dotNL );\n return sheenColor * ( D * V );\n}\n#endif\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n float dotNV = saturate( dot( normal, viewDir ) );\n float r2 = roughness * roughness;\n float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n return saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n float dotNV = saturate( dot( normal, viewDir ) );\n const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n vec4 r = roughness * c0 + c1;\n float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n return fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n vec2 fab = DFGApprox( normal, viewDir, roughness );\n return specularColor * fab.x + specularF90 * fab.y;\n}\n#ifdef USE_IRIDESCENCE\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\n vec2 fab = DFGApprox( normal, viewDir, roughness );\n #ifdef USE_IRIDESCENCE\n vec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n #else\n vec3 Fr = specularColor;\n #endif\n vec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n float Ess = fab.x + fab.y;\n float Ems = 1.0 - Ess;\n vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n singleScatter += FssEss;\n multiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n vec3 normal = geometryNormal;\n vec3 viewDir = geometryViewDir;\n vec3 position = geometryPosition;\n vec3 lightPos = rectAreaLight.position;\n vec3 halfWidth = rectAreaLight.halfWidth;\n vec3 halfHeight = rectAreaLight.halfHeight;\n vec3 lightColor = rectAreaLight.color;\n float roughness = material.roughness;\n vec3 rectCoords[ 4 ];\n rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n rectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n rectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n vec2 uv = LTC_Uv( normal, viewDir, roughness );\n vec4 t1 = texture2D( ltc_1, uv );\n vec4 t2 = texture2D( ltc_2, uv );\n mat3 mInv = mat3(\n vec3( t1.x, 0, t1.y ),\n vec3( 0, 1, 0 ),\n vec3( t1.z, 0, t1.w )\n );\n vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n }\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n float dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n vec3 irradiance = dotNL * directLight.color;\n #ifdef USE_CLEARCOAT\n float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) );\n vec3 ccIrradiance = dotNLcc * directLight.color;\n clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material );\n #endif\n #ifdef USE_SHEEN\n sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness );\n #endif\n reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material );\n reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n #ifdef USE_CLEARCOAT\n clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n #endif\n #ifdef USE_SHEEN\n sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );\n #endif\n vec3 singleScattering = vec3( 0.0 );\n vec3 multiScattering = vec3( 0.0 );\n vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n #ifdef USE_IRIDESCENCE\n computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n #else\n computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n #endif\n vec3 totalScattering = singleScattering + multiScattering;\n vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\n reflectedLight.indirectSpecular += radiance * singleScattering;\n reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct RE_Direct_Physical\n#define RE_Direct_RectArea RE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular RE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}"; +var lights_fragment_begin = "\nvec3 geometryPosition = - vViewPosition;\nvec3 geometryNormal = normal;\nvec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\nvec3 geometryClearcoatNormal = vec3( 0.0 );\n#ifdef USE_CLEARCOAT\n geometryClearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n float dotNVi = saturate( dot( normal, geometryViewDir ) );\n if ( material.iridescenceThickness == 0.0 ) {\n material.iridescence = 0.0;\n } else {\n material.iridescence = saturate( material.iridescence );\n }\n if ( material.iridescence > 0.0 ) {\n material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n }\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n PointLight pointLight;\n #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n PointLightShadow pointLightShadow;\n #endif\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n pointLight = pointLights[ i ];\n getPointLightInfo( pointLight, geometryPosition, directLight );\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n pointLightShadow = pointLightShadows[ i ];\n directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n #endif\n RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n }\n #pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n SpotLight spotLight;\n vec4 spotColor;\n vec3 spotLightCoord;\n bool inSpotLightMap;\n #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n SpotLightShadow spotLightShadow;\n #endif\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n spotLight = spotLights[ i ];\n getSpotLightInfo( spotLight, geometryPosition, directLight );\n #if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n #define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n #elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n #define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n #else\n #define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n #endif\n #if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n #endif\n #undef SPOT_LIGHT_MAP_INDEX\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n spotLightShadow = spotLightShadows[ i ];\n directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n #endif\n RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n }\n #pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n DirectionalLight directionalLight;\n #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n DirectionalLightShadow directionalLightShadow;\n #endif\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n directionalLight = directionalLights[ i ];\n getDirectionalLightInfo( directionalLight, directLight );\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n directionalLightShadow = directionalLightShadows[ i ];\n directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n #endif\n RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n }\n #pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n RectAreaLight rectAreaLight;\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n rectAreaLight = rectAreaLights[ i ];\n RE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n }\n #pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n vec3 iblIrradiance = vec3( 0.0 );\n vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n #if defined( USE_LIGHT_PROBES )\n irradiance += getLightProbeIrradiance( lightProbe, geometryNormal );\n #endif\n #if ( NUM_HEMI_LIGHTS > 0 )\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal );\n }\n #pragma unroll_loop_end\n #endif\n#endif\n#if defined( RE_IndirectSpecular )\n vec3 radiance = vec3( 0.0 );\n vec3 clearcoatRadiance = vec3( 0.0 );\n#endif"; +var lights_fragment_maps = "#if defined( RE_IndirectDiffuse )\n #ifdef USE_LIGHTMAP\n vec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n irradiance += lightMapIrradiance;\n #endif\n #if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n iblIrradiance += getIBLIrradiance( geometryNormal );\n #endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n #ifdef USE_ANISOTROPY\n radiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy );\n #else\n radiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness );\n #endif\n #ifdef USE_CLEARCOAT\n clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness );\n #endif\n#endif"; +var lights_fragment_end = "#if defined( RE_IndirectDiffuse )\n RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n#endif"; +var logdepthbuf_fragment = "#if defined( USE_LOGDEPTHBUF )\n gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif"; +var logdepthbuf_pars_fragment = "#if defined( USE_LOGDEPTHBUF )\n uniform float logDepthBufFC;\n varying float vFragDepth;\n varying float vIsPerspective;\n#endif"; +var logdepthbuf_pars_vertex = "#ifdef USE_LOGDEPTHBUF\n varying float vFragDepth;\n varying float vIsPerspective;\n#endif"; +var logdepthbuf_vertex = "#ifdef USE_LOGDEPTHBUF\n vFragDepth = 1.0 + gl_Position.w;\n vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n#endif"; +var map_fragment = "#ifdef USE_MAP\n vec4 sampledDiffuseColor = texture2D( map, vMapUv );\n #ifdef DECODE_VIDEO_TEXTURE\n sampledDiffuseColor = sRGBTransferEOTF( sampledDiffuseColor );\n #endif\n diffuseColor *= sampledDiffuseColor;\n#endif"; +var map_pars_fragment = "#ifdef USE_MAP\n uniform sampler2D map;\n#endif"; +var map_particle_fragment = "#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n #if defined( USE_POINTS_UV )\n vec2 uv = vUv;\n #else\n vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n #endif\n#endif\n#ifdef USE_MAP\n diffuseColor *= texture2D( map, uv );\n#endif\n#ifdef USE_ALPHAMAP\n diffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif"; +var map_particle_pars_fragment = "#if defined( USE_POINTS_UV )\n varying vec2 vUv;\n#else\n #if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n uniform mat3 uvTransform;\n #endif\n#endif\n#ifdef USE_MAP\n uniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n uniform sampler2D alphaMap;\n#endif"; +var metalnessmap_fragment = "float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\n metalnessFactor *= texelMetalness.b;\n#endif"; +var metalnessmap_pars_fragment = "#ifdef USE_METALNESSMAP\n uniform sampler2D metalnessMap;\n#endif"; +var morphinstance_vertex = "#ifdef USE_INSTANCING_MORPH\n float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n float morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r;\n for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n morphTargetInfluences[i] = texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r;\n }\n#endif"; +var morphcolor_vertex = "#if defined( USE_MORPHCOLORS )\n vColor *= morphTargetBaseInfluence;\n for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n #if defined( USE_COLOR_ALPHA )\n if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n #elif defined( USE_COLOR )\n if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n #endif\n }\n#endif"; +var morphnormal_vertex = "#ifdef USE_MORPHNORMALS\n objectNormal *= morphTargetBaseInfluence;\n for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n }\n#endif"; +var morphtarget_pars_vertex = "#ifdef USE_MORPHTARGETS\n #ifndef USE_INSTANCING_MORPH\n uniform float morphTargetBaseInfluence;\n uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n #endif\n uniform sampler2DArray morphTargetsTexture;\n uniform ivec2 morphTargetsTextureSize;\n vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n int y = texelIndex / morphTargetsTextureSize.x;\n int x = texelIndex - y * morphTargetsTextureSize.x;\n ivec3 morphUV = ivec3( x, y, morphTargetIndex );\n return texelFetch( morphTargetsTexture, morphUV, 0 );\n }\n#endif"; +var morphtarget_vertex = "#ifdef USE_MORPHTARGETS\n transformed *= morphTargetBaseInfluence;\n for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n }\n#endif"; +var normal_fragment_begin = "float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n vec3 fdx = dFdx( vViewPosition );\n vec3 fdy = dFdy( vViewPosition );\n vec3 normal = normalize( cross( fdx, fdy ) );\n#else\n vec3 normal = normalize( vNormal );\n #ifdef DOUBLE_SIDED\n normal *= faceDirection;\n #endif\n#endif\n#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )\n #ifdef USE_TANGENT\n mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n #else\n mat3 tbn = getTangentFrame( - vViewPosition, normal,\n #if defined( USE_NORMALMAP )\n vNormalMapUv\n #elif defined( USE_CLEARCOAT_NORMALMAP )\n vClearcoatNormalMapUv\n #else\n vUv\n #endif\n );\n #endif\n #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n tbn[0] *= faceDirection;\n tbn[1] *= faceDirection;\n #endif\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n #ifdef USE_TANGENT\n mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n #else\n mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n #endif\n #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n tbn2[0] *= faceDirection;\n tbn2[1] *= faceDirection;\n #endif\n#endif\nvec3 nonPerturbedNormal = normal;"; +var normal_fragment_maps = "#ifdef USE_NORMALMAP_OBJECTSPACE\n normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n #ifdef FLIP_SIDED\n normal = - normal;\n #endif\n #ifdef DOUBLE_SIDED\n normal = normal * faceDirection;\n #endif\n normal = normalize( normalMatrix * normal );\n#elif defined( USE_NORMALMAP_TANGENTSPACE )\n vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n mapN.xy *= normalScale;\n normal = normalize( tbn * mapN );\n#elif defined( USE_BUMPMAP )\n normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif"; +var normal_pars_fragment = "#ifndef FLAT_SHADED\n varying vec3 vNormal;\n #ifdef USE_TANGENT\n varying vec3 vTangent;\n varying vec3 vBitangent;\n #endif\n#endif"; +var normal_pars_vertex = "#ifndef FLAT_SHADED\n varying vec3 vNormal;\n #ifdef USE_TANGENT\n varying vec3 vTangent;\n varying vec3 vBitangent;\n #endif\n#endif"; +var normal_vertex = "#ifndef FLAT_SHADED\n vNormal = normalize( transformedNormal );\n #ifdef USE_TANGENT\n vTangent = normalize( transformedTangent );\n vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n #endif\n#endif"; +var normalmap_pars_fragment = "#ifdef USE_NORMALMAP\n uniform sampler2D normalMap;\n uniform vec2 normalScale;\n#endif\n#ifdef USE_NORMALMAP_OBJECTSPACE\n uniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )\n mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n vec3 q0 = dFdx( eye_pos.xyz );\n vec3 q1 = dFdy( eye_pos.xyz );\n vec2 st0 = dFdx( uv.st );\n vec2 st1 = dFdy( uv.st );\n vec3 N = surf_norm;\n vec3 q1perp = cross( q1, N );\n vec3 q0perp = cross( N, q0 );\n vec3 T = q1perp * st0.x + q0perp * st1.x;\n vec3 B = q1perp * st0.y + q0perp * st1.y;\n float det = max( dot( T, T ), dot( B, B ) );\n float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\n return mat3( T * scale, B * scale, N );\n }\n#endif"; +var clearcoat_normal_fragment_begin = "#ifdef USE_CLEARCOAT\n vec3 clearcoatNormal = nonPerturbedNormal;\n#endif"; +var clearcoat_normal_fragment_maps = "#ifdef USE_CLEARCOAT_NORMALMAP\n vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\n clearcoatMapN.xy *= clearcoatNormalScale;\n clearcoatNormal = normalize( tbn2 * clearcoatMapN );\n#endif"; +var clearcoat_pars_fragment = "#ifdef USE_CLEARCOATMAP\n uniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n uniform sampler2D clearcoatNormalMap;\n uniform vec2 clearcoatNormalScale;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n uniform sampler2D clearcoatRoughnessMap;\n#endif"; +var iridescence_pars_fragment = "#ifdef USE_IRIDESCENCEMAP\n uniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n uniform sampler2D iridescenceThicknessMap;\n#endif"; +var opaque_fragment = "#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );"; +var packing = "vec3 packNormalToRGB( const in vec3 normal ) {\n return normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n return 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;const float ShiftRight8 = 1. / 256.;\nconst float Inv255 = 1. / 255.;\nconst vec4 PackFactors = vec4( 1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0 );\nconst vec2 UnpackFactors2 = vec2( UnpackDownscale, 1.0 / PackFactors.g );\nconst vec3 UnpackFactors3 = vec3( UnpackDownscale / PackFactors.rg, 1.0 / PackFactors.b );\nconst vec4 UnpackFactors4 = vec4( UnpackDownscale / PackFactors.rgb, 1.0 / PackFactors.a );\nvec4 packDepthToRGBA( const in float v ) {\n if( v <= 0.0 )\n return vec4( 0., 0., 0., 0. );\n if( v >= 1.0 )\n return vec4( 1., 1., 1., 1. );\n float vuf;\n float af = modf( v * PackFactors.a, vuf );\n float bf = modf( vuf * ShiftRight8, vuf );\n float gf = modf( vuf * ShiftRight8, vuf );\n return vec4( vuf * Inv255, gf * PackUpscale, bf * PackUpscale, af );\n}\nvec3 packDepthToRGB( const in float v ) {\n if( v <= 0.0 )\n return vec3( 0., 0., 0. );\n if( v >= 1.0 )\n return vec3( 1., 1., 1. );\n float vuf;\n float bf = modf( v * PackFactors.b, vuf );\n float gf = modf( vuf * ShiftRight8, vuf );\n return vec3( vuf * Inv255, gf * PackUpscale, bf );\n}\nvec2 packDepthToRG( const in float v ) {\n if( v <= 0.0 )\n return vec2( 0., 0. );\n if( v >= 1.0 )\n return vec2( 1., 1. );\n float vuf;\n float gf = modf( v * 256., vuf );\n return vec2( vuf * Inv255, gf );\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n return dot( v, UnpackFactors4 );\n}\nfloat unpackRGBToDepth( const in vec3 v ) {\n return dot( v, UnpackFactors3 );\n}\nfloat unpackRGToDepth( const in vec2 v ) {\n return v.r * UnpackFactors2.r + v.g * UnpackFactors2.g;\n}\nvec4 pack2HalfToRGBA( const in vec2 v ) {\n vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( const in vec4 v ) {\n return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n return ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {\n return depth * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\n return ( near * far ) / ( ( far - near ) * depth - far );\n}"; +var premultiplied_alpha_fragment = "#ifdef PREMULTIPLIED_ALPHA\n gl_FragColor.rgb *= gl_FragColor.a;\n#endif"; +var project_vertex = "vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_BATCHING\n mvPosition = batchingMatrix * mvPosition;\n#endif\n#ifdef USE_INSTANCING\n mvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;"; +var dithering_fragment = "#ifdef DITHERING\n gl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif"; +var dithering_pars_fragment = "#ifdef DITHERING\n vec3 dithering( vec3 color ) {\n float grid_position = rand( gl_FragCoord.xy );\n vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n return color + dither_shift_RGB;\n }\n#endif"; +var roughnessmap_fragment = "float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\n roughnessFactor *= texelRoughness.g;\n#endif"; +var roughnessmap_pars_fragment = "#ifdef USE_ROUGHNESSMAP\n uniform sampler2D roughnessMap;\n#endif"; +var shadowmap_pars_fragment = "#if NUM_SPOT_LIGHT_COORDS > 0\n varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#ifdef USE_SHADOWMAP\n #if NUM_DIR_LIGHT_SHADOWS > 0\n uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n struct DirectionalLightShadow {\n float shadowIntensity;\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n };\n uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n #endif\n #if NUM_SPOT_LIGHT_SHADOWS > 0\n uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n struct SpotLightShadow {\n float shadowIntensity;\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n };\n uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n #endif\n #if NUM_POINT_LIGHT_SHADOWS > 0\n uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n struct PointLightShadow {\n float shadowIntensity;\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n float shadowCameraNear;\n float shadowCameraFar;\n };\n uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n #endif\n float texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n }\n vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n return unpackRGBATo2Half( texture2D( shadow, uv ) );\n }\n float VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n float occlusion = 1.0;\n vec2 distribution = texture2DDistribution( shadow, uv );\n float hard_shadow = step( compare , distribution.x );\n if (hard_shadow != 1.0 ) {\n float distance = compare - distribution.x ;\n float variance = max( 0.00000, distribution.y * distribution.y );\n float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n }\n return occlusion;\n }\n float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n float shadow = 1.0;\n shadowCoord.xyz /= shadowCoord.w;\n shadowCoord.z += shadowBias;\n bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n bool frustumTest = inFrustum && shadowCoord.z <= 1.0;\n if ( frustumTest ) {\n #if defined( SHADOWMAP_TYPE_PCF )\n vec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n float dx0 = - texelSize.x * shadowRadius;\n float dy0 = - texelSize.y * shadowRadius;\n float dx1 = + texelSize.x * shadowRadius;\n float dy1 = + texelSize.y * shadowRadius;\n float dx2 = dx0 / 2.0;\n float dy2 = dy0 / 2.0;\n float dx3 = dx1 / 2.0;\n float dy3 = dy1 / 2.0;\n shadow = (\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n ) * ( 1.0 / 17.0 );\n #elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n vec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n float dx = texelSize.x;\n float dy = texelSize.y;\n vec2 uv = shadowCoord.xy;\n vec2 f = fract( uv * shadowMapSize + 0.5 );\n uv -= f * texelSize;\n shadow = (\n texture2DCompare( shadowMap, uv, shadowCoord.z ) +\n texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n f.x ) +\n mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n f.x ) +\n mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n f.y ) +\n mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n f.y ) +\n mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n f.x ),\n mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n f.x ),\n f.y )\n ) * ( 1.0 / 9.0 );\n #elif defined( SHADOWMAP_TYPE_VSM )\n shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n #else\n shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n #endif\n }\n return mix( 1.0, shadow, shadowIntensity );\n }\n vec2 cubeToUV( vec3 v, float texelSizeY ) {\n vec3 absV = abs( v );\n float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n absV *= scaleToCube;\n v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n vec2 planar = v.xy;\n float almostATexel = 1.5 * texelSizeY;\n float almostOne = 1.0 - almostATexel;\n if ( absV.z >= almostOne ) {\n if ( v.z > 0.0 )\n planar.x = 4.0 - v.x;\n } else if ( absV.x >= almostOne ) {\n float signX = sign( v.x );\n planar.x = v.z * signX + 2.0 * signX;\n } else if ( absV.y >= almostOne ) {\n float signY = sign( v.y );\n planar.x = v.x + 2.0 * signY + 2.0;\n planar.y = v.z * signY - 2.0;\n }\n return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n }\n float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n float shadow = 1.0;\n vec3 lightToPosition = shadowCoord.xyz;\n \n float lightToPositionLength = length( lightToPosition );\n if ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) {\n float dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias;\n vec3 bd3D = normalize( lightToPosition );\n vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n shadow = (\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n ) * ( 1.0 / 9.0 );\n #else\n shadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n #endif\n }\n return mix( 1.0, shadow, shadowIntensity );\n }\n#endif"; +var shadowmap_pars_vertex = "#if NUM_SPOT_LIGHT_COORDS > 0\n uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#ifdef USE_SHADOWMAP\n #if NUM_DIR_LIGHT_SHADOWS > 0\n uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n struct DirectionalLightShadow {\n float shadowIntensity;\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n };\n uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n #endif\n #if NUM_SPOT_LIGHT_SHADOWS > 0\n struct SpotLightShadow {\n float shadowIntensity;\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n };\n uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n #endif\n #if NUM_POINT_LIGHT_SHADOWS > 0\n uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n struct PointLightShadow {\n float shadowIntensity;\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n float shadowCameraNear;\n float shadowCameraFar;\n };\n uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n #endif\n#endif"; +var shadowmap_vertex = "#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n vec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n #if NUM_DIR_LIGHT_SHADOWS > 0\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n }\n #pragma unroll_loop_end\n #endif\n #if NUM_POINT_LIGHT_SHADOWS > 0\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n }\n #pragma unroll_loop_end\n #endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n shadowWorldPosition = worldPosition;\n #if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n #endif\n vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n }\n #pragma unroll_loop_end\n#endif"; +var shadowmask_pars_fragment = "float getShadowMask() {\n float shadow = 1.0;\n #ifdef USE_SHADOWMAP\n #if NUM_DIR_LIGHT_SHADOWS > 0\n DirectionalLightShadow directionalLight;\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n directionalLight = directionalLightShadows[ i ];\n shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowIntensity, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n }\n #pragma unroll_loop_end\n #endif\n #if NUM_SPOT_LIGHT_SHADOWS > 0\n SpotLightShadow spotLight;\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n spotLight = spotLightShadows[ i ];\n shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowIntensity, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n }\n #pragma unroll_loop_end\n #endif\n #if NUM_POINT_LIGHT_SHADOWS > 0\n PointLightShadow pointLight;\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n pointLight = pointLightShadows[ i ];\n shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowIntensity, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n }\n #pragma unroll_loop_end\n #endif\n #endif\n return shadow;\n}"; +var skinbase_vertex = "#ifdef USE_SKINNING\n mat4 boneMatX = getBoneMatrix( skinIndex.x );\n mat4 boneMatY = getBoneMatrix( skinIndex.y );\n mat4 boneMatZ = getBoneMatrix( skinIndex.z );\n mat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif"; +var skinning_pars_vertex = "#ifdef USE_SKINNING\n uniform mat4 bindMatrix;\n uniform mat4 bindMatrixInverse;\n uniform highp sampler2D boneTexture;\n mat4 getBoneMatrix( const in float i ) {\n int size = textureSize( boneTexture, 0 ).x;\n int j = int( i ) * 4;\n int x = j % size;\n int y = j / size;\n vec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 );\n vec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 );\n vec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 );\n vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 );\n return mat4( v1, v2, v3, v4 );\n }\n#endif"; +var skinning_vertex = "#ifdef USE_SKINNING\n vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n vec4 skinned = vec4( 0.0 );\n skinned += boneMatX * skinVertex * skinWeight.x;\n skinned += boneMatY * skinVertex * skinWeight.y;\n skinned += boneMatZ * skinVertex * skinWeight.z;\n skinned += boneMatW * skinVertex * skinWeight.w;\n transformed = ( bindMatrixInverse * skinned ).xyz;\n#endif"; +var skinnormal_vertex = "#ifdef USE_SKINNING\n mat4 skinMatrix = mat4( 0.0 );\n skinMatrix += skinWeight.x * boneMatX;\n skinMatrix += skinWeight.y * boneMatY;\n skinMatrix += skinWeight.z * boneMatZ;\n skinMatrix += skinWeight.w * boneMatW;\n skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n #ifdef USE_TANGENT\n objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n #endif\n#endif"; +var specularmap_fragment = "float specularStrength;\n#ifdef USE_SPECULARMAP\n vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\n specularStrength = texelSpecular.r;\n#else\n specularStrength = 1.0;\n#endif"; +var specularmap_pars_fragment = "#ifdef USE_SPECULARMAP\n uniform sampler2D specularMap;\n#endif"; +var tonemapping_fragment = "#if defined( TONE_MAPPING )\n gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif"; +var tonemapping_pars_fragment = "#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n return saturate( toneMappingExposure * color );\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n color *= toneMappingExposure;\n return saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 CineonToneMapping( vec3 color ) {\n color *= toneMappingExposure;\n color = max( vec3( 0.0 ), color - 0.004 );\n return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n vec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n return a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n const mat3 ACESInputMat = mat3(\n vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ),\n vec3( 0.04823, 0.01566, 0.83777 )\n );\n const mat3 ACESOutputMat = mat3(\n vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ),\n vec3( -0.07367, -0.00605, 1.07602 )\n );\n color *= toneMappingExposure / 0.6;\n color = ACESInputMat * color;\n color = RRTAndODTFit( color );\n color = ACESOutputMat * color;\n return saturate( color );\n}\nconst mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3(\n vec3( 1.6605, - 0.1246, - 0.0182 ),\n vec3( - 0.5876, 1.1329, - 0.1006 ),\n vec3( - 0.0728, - 0.0083, 1.1187 )\n);\nconst mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3(\n vec3( 0.6274, 0.0691, 0.0164 ),\n vec3( 0.3293, 0.9195, 0.0880 ),\n vec3( 0.0433, 0.0113, 0.8956 )\n);\nvec3 agxDefaultContrastApprox( vec3 x ) {\n vec3 x2 = x * x;\n vec3 x4 = x2 * x2;\n return + 15.5 * x4 * x2\n - 40.14 * x4 * x\n + 31.96 * x4\n - 6.868 * x2 * x\n + 0.4298 * x2\n + 0.1191 * x\n - 0.00232;\n}\nvec3 AgXToneMapping( vec3 color ) {\n const mat3 AgXInsetMatrix = mat3(\n vec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ),\n vec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ),\n vec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 )\n );\n const mat3 AgXOutsetMatrix = mat3(\n vec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ),\n vec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ),\n vec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 )\n );\n const float AgxMinEv = - 12.47393; const float AgxMaxEv = 4.026069;\n color *= toneMappingExposure;\n color = LINEAR_SRGB_TO_LINEAR_REC2020 * color;\n color = AgXInsetMatrix * color;\n color = max( color, 1e-10 ); color = log2( color );\n color = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv );\n color = clamp( color, 0.0, 1.0 );\n color = agxDefaultContrastApprox( color );\n color = AgXOutsetMatrix * color;\n color = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) );\n color = LINEAR_REC2020_TO_LINEAR_SRGB * color;\n color = clamp( color, 0.0, 1.0 );\n return color;\n}\nvec3 NeutralToneMapping( vec3 color ) {\n const float StartCompression = 0.8 - 0.04;\n const float Desaturation = 0.15;\n color *= toneMappingExposure;\n float x = min( color.r, min( color.g, color.b ) );\n float offset = x < 0.08 ? x - 6.25 * x * x : 0.04;\n color -= offset;\n float peak = max( color.r, max( color.g, color.b ) );\n if ( peak < StartCompression ) return color;\n float d = 1. - StartCompression;\n float newPeak = 1. - d * d / ( peak + d - StartCompression );\n color *= newPeak / peak;\n float g = 1. - 1. / ( Desaturation * ( peak - newPeak ) + 1. );\n return mix( color, vec3( newPeak ), g );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }"; +var transmission_fragment = "#ifdef USE_TRANSMISSION\n material.transmission = transmission;\n material.transmissionAlpha = 1.0;\n material.thickness = thickness;\n material.attenuationDistance = attenuationDistance;\n material.attenuationColor = attenuationColor;\n #ifdef USE_TRANSMISSIONMAP\n material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\n #endif\n #ifdef USE_THICKNESSMAP\n material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\n #endif\n vec3 pos = vWorldPosition;\n vec3 v = normalize( cameraPosition - pos );\n vec3 n = inverseTransformDirection( normal, viewMatrix );\n vec4 transmitted = getIBLVolumeRefraction(\n n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n pos, modelMatrix, viewMatrix, projectionMatrix, material.dispersion, material.ior, material.thickness,\n material.attenuationColor, material.attenuationDistance );\n material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );\n totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );\n#endif"; +var transmission_pars_fragment = "#ifdef USE_TRANSMISSION\n uniform float transmission;\n uniform float thickness;\n uniform float attenuationDistance;\n uniform vec3 attenuationColor;\n #ifdef USE_TRANSMISSIONMAP\n uniform sampler2D transmissionMap;\n #endif\n #ifdef USE_THICKNESSMAP\n uniform sampler2D thicknessMap;\n #endif\n uniform vec2 transmissionSamplerSize;\n uniform sampler2D transmissionSamplerMap;\n uniform mat4 modelMatrix;\n uniform mat4 projectionMatrix;\n varying vec3 vWorldPosition;\n float w0( float a ) {\n return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\n }\n float w1( float a ) {\n return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 );\n }\n float w2( float a ){\n return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\n }\n float w3( float a ) {\n return ( 1.0 / 6.0 ) * ( a * a * a );\n }\n float g0( float a ) {\n return w0( a ) + w1( a );\n }\n float g1( float a ) {\n return w2( a ) + w3( a );\n }\n float h0( float a ) {\n return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\n }\n float h1( float a ) {\n return 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\n }\n vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\n uv = uv * texelSize.zw + 0.5;\n vec2 iuv = floor( uv );\n vec2 fuv = fract( uv );\n float g0x = g0( fuv.x );\n float g1x = g1( fuv.x );\n float h0x = h0( fuv.x );\n float h1x = h1( fuv.x );\n float h0y = h0( fuv.y );\n float h1y = h1( fuv.y );\n vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\n g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\n }\n vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\n vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\n vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\n vec2 fLodSizeInv = 1.0 / fLodSize;\n vec2 cLodSizeInv = 1.0 / cLodSize;\n vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\n vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\n return mix( fSample, cSample, fract( lod ) );\n }\n vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n vec3 modelScale;\n modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n return normalize( refractionVector ) * thickness * modelScale;\n }\n float applyIorToRoughness( const in float roughness, const in float ior ) {\n return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n }\n vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\n }\n vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n if ( isinf( attenuationDistance ) ) {\n return vec3( 1.0 );\n } else {\n vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance;\n }\n }\n vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n const in mat4 viewMatrix, const in mat4 projMatrix, const in float dispersion, const in float ior, const in float thickness,\n const in vec3 attenuationColor, const in float attenuationDistance ) {\n vec4 transmittedLight;\n vec3 transmittance;\n #ifdef USE_DISPERSION\n float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion;\n vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread );\n for ( int i = 0; i < 3; i ++ ) {\n vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix );\n vec3 refractedRayExit = position + transmissionRay;\n \n vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n vec2 refractionCoords = ndcPos.xy / ndcPos.w;\n refractionCoords += 1.0;\n refractionCoords /= 2.0;\n \n vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] );\n transmittedLight[ i ] = transmissionSample[ i ];\n transmittedLight.a += transmissionSample.a;\n transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ];\n }\n transmittedLight.a /= 3.0;\n \n #else\n \n vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n vec3 refractedRayExit = position + transmissionRay;\n vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n vec2 refractionCoords = ndcPos.xy / ndcPos.w;\n refractionCoords += 1.0;\n refractionCoords /= 2.0;\n transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );\n \n #endif\n vec3 attenuatedColor = transmittance * transmittedLight.rgb;\n vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;\n return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );\n }\n#endif"; +var uv_pars_fragment = "#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n varying vec2 vUv;\n#endif\n#ifdef USE_MAP\n varying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n varying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n varying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n varying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n varying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n varying vec2 vNormalMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n varying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n varying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n varying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n varying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n varying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n varying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n varying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n varying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n varying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n varying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n varying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n varying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n varying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n varying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n uniform mat3 transmissionMapTransform;\n varying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n uniform mat3 thicknessMapTransform;\n varying vec2 vThicknessMapUv;\n#endif"; +var uv_pars_vertex = "#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n varying vec2 vUv;\n#endif\n#ifdef USE_MAP\n uniform mat3 mapTransform;\n varying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n uniform mat3 alphaMapTransform;\n varying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n uniform mat3 lightMapTransform;\n varying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n uniform mat3 aoMapTransform;\n varying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n uniform mat3 bumpMapTransform;\n varying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n uniform mat3 normalMapTransform;\n varying vec2 vNormalMapUv;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n uniform mat3 displacementMapTransform;\n varying vec2 vDisplacementMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n uniform mat3 emissiveMapTransform;\n varying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n uniform mat3 metalnessMapTransform;\n varying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n uniform mat3 roughnessMapTransform;\n varying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n uniform mat3 anisotropyMapTransform;\n varying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n uniform mat3 clearcoatMapTransform;\n varying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n uniform mat3 clearcoatNormalMapTransform;\n varying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n uniform mat3 clearcoatRoughnessMapTransform;\n varying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n uniform mat3 sheenColorMapTransform;\n varying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n uniform mat3 sheenRoughnessMapTransform;\n varying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n uniform mat3 iridescenceMapTransform;\n varying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n uniform mat3 iridescenceThicknessMapTransform;\n varying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n uniform mat3 specularMapTransform;\n varying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n uniform mat3 specularColorMapTransform;\n varying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n uniform mat3 specularIntensityMapTransform;\n varying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n uniform mat3 transmissionMapTransform;\n varying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n uniform mat3 thicknessMapTransform;\n varying vec2 vThicknessMapUv;\n#endif"; +var uv_vertex = "#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n vUv = vec3( uv, 1 ).xy;\n#endif\n#ifdef USE_MAP\n vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ALPHAMAP\n vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_LIGHTMAP\n vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_AOMAP\n vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_BUMPMAP\n vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_NORMALMAP\n vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_EMISSIVEMAP\n vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_METALNESSMAP\n vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ROUGHNESSMAP\n vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ANISOTROPYMAP\n vAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOATMAP\n vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULARMAP\n vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_THICKNESSMAP\n vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\n#endif"; +var worldpos_vertex = "#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n vec4 worldPosition = vec4( transformed, 1.0 );\n #ifdef USE_BATCHING\n worldPosition = batchingMatrix * worldPosition;\n #endif\n #ifdef USE_INSTANCING\n worldPosition = instanceMatrix * worldPosition;\n #endif\n worldPosition = modelMatrix * worldPosition;\n#endif"; +const vertex$h = "varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n vUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n gl_Position = vec4( position.xy, 1.0, 1.0 );\n}"; +const fragment$h = "uniform sampler2D t2D;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n vec4 texColor = texture2D( t2D, vUv );\n #ifdef DECODE_VIDEO_TEXTURE\n texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );\n #endif\n texColor.rgb *= backgroundIntensity;\n gl_FragColor = texColor;\n #include \n #include \n}"; +const vertex$g = "varying vec3 vWorldDirection;\n#include \nvoid main() {\n vWorldDirection = transformDirection( position, modelMatrix );\n #include \n #include \n gl_Position.z = gl_Position.w;\n}"; +const fragment$g = "#ifdef ENVMAP_TYPE_CUBE\n uniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n uniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nuniform mat3 backgroundRotation;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n #ifdef ENVMAP_TYPE_CUBE\n vec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n #elif defined( ENVMAP_TYPE_CUBE_UV )\n vec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness );\n #else\n vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n #endif\n texColor.rgb *= backgroundIntensity;\n gl_FragColor = texColor;\n #include \n #include \n}"; +const vertex$f = "varying vec3 vWorldDirection;\n#include \nvoid main() {\n vWorldDirection = transformDirection( position, modelMatrix );\n #include \n #include \n gl_Position.z = gl_Position.w;\n}"; +const fragment$f = "uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n gl_FragColor = texColor;\n gl_FragColor.a *= opacity;\n #include \n #include \n}"; +const vertex$e = "#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n #include \n #include \n #include \n #include \n #ifdef USE_DISPLACEMENTMAP\n #include \n #include \n #include \n #endif\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vHighPrecisionZW = gl_Position.zw;\n}"; +const fragment$e = "#if DEPTH_PACKING == 3200\n uniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n vec4 diffuseColor = vec4( 1.0 );\n #include \n #if DEPTH_PACKING == 3200\n diffuseColor.a = opacity;\n #endif\n #include \n #include \n #include \n #include \n #include \n float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n #if DEPTH_PACKING == 3200\n gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n #elif DEPTH_PACKING == 3201\n gl_FragColor = packDepthToRGBA( fragCoordZ );\n #elif DEPTH_PACKING == 3202\n gl_FragColor = vec4( packDepthToRGB( fragCoordZ ), 1.0 );\n #elif DEPTH_PACKING == 3203\n gl_FragColor = vec4( packDepthToRG( fragCoordZ ), 0.0, 1.0 );\n #endif\n}"; +const vertex$d = "#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #ifdef USE_DISPLACEMENTMAP\n #include \n #include \n #include \n #endif\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vWorldPosition = worldPosition.xyz;\n}"; +const fragment$d = "#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n vec4 diffuseColor = vec4( 1.0 );\n #include \n #include \n #include \n #include \n #include \n float dist = length( vWorldPosition - referencePosition );\n dist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n dist = saturate( dist );\n gl_FragColor = packDepthToRGBA( dist );\n}"; +const vertex$c = "varying vec3 vWorldDirection;\n#include \nvoid main() {\n vWorldDirection = transformDirection( position, modelMatrix );\n #include \n #include \n}"; +const fragment$c = "uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n vec3 direction = normalize( vWorldDirection );\n vec2 sampleUV = equirectUv( direction );\n gl_FragColor = texture2D( tEquirect, sampleUV );\n #include \n #include \n}"; +const vertex$b = "uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n vLineDistance = scale * lineDistance;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n}"; +const fragment$b = "uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n vec4 diffuseColor = vec4( diffuse, opacity );\n #include \n if ( mod( vLineDistance, totalSize ) > dashSize ) {\n discard;\n }\n vec3 outgoingLight = vec3( 0.0 );\n #include \n #include \n #include \n outgoingLight = diffuseColor.rgb;\n #include \n #include \n #include \n #include \n #include \n}"; +const vertex$a = "#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n #include \n #include \n #include \n #include \n #include \n #endif\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n}"; +const fragment$a = "uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n varying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n vec4 diffuseColor = vec4( diffuse, opacity );\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n #ifdef USE_LIGHTMAP\n vec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n #else\n reflectedLight.indirectDiffuse += vec3( 1.0 );\n #endif\n #include \n reflectedLight.indirectDiffuse *= diffuseColor.rgb;\n vec3 outgoingLight = reflectedLight.indirectDiffuse;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n}"; +const vertex$9 = "#define LAMBERT\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vViewPosition = - mvPosition.xyz;\n #include \n #include \n #include \n #include \n}"; +const fragment$9 = "#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n vec4 diffuseColor = vec4( diffuse, opacity );\n #include \n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n}"; +const vertex$8 = "#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vViewPosition = - mvPosition.xyz;\n}"; +const fragment$8 = "#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n vec4 diffuseColor = vec4( diffuse, opacity );\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vec3 viewDir = normalize( vViewPosition );\n vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n vec3 y = cross( viewDir, x );\n vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n #ifdef USE_MATCAP\n vec4 matcapColor = texture2D( matcap, uv );\n #else\n vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n #endif\n vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n #include \n #include \n #include \n #include \n #include \n #include \n}"; +const vertex$7 = "#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n varying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n vViewPosition = - mvPosition.xyz;\n#endif\n}"; +const fragment$7 = "#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n varying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n vec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity );\n #include \n #include \n #include \n #include \n gl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a );\n #ifdef OPAQUE\n gl_FragColor.a = 1.0;\n #endif\n}"; +const vertex$6 = "#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vViewPosition = - mvPosition.xyz;\n #include \n #include \n #include \n #include \n}"; +const fragment$6 = "#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n vec4 diffuseColor = vec4( diffuse, opacity );\n #include \n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n}"; +const vertex$5 = "#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n varying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vViewPosition = - mvPosition.xyz;\n #include \n #include \n #include \n#ifdef USE_TRANSMISSION\n vWorldPosition = worldPosition.xyz;\n#endif\n}"; +const fragment$5 = "#define STANDARD\n#ifdef PHYSICAL\n #define IOR\n #define USE_SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n uniform float ior;\n#endif\n#ifdef USE_SPECULAR\n uniform float specularIntensity;\n uniform vec3 specularColor;\n #ifdef USE_SPECULAR_COLORMAP\n uniform sampler2D specularColorMap;\n #endif\n #ifdef USE_SPECULAR_INTENSITYMAP\n uniform sampler2D specularIntensityMap;\n #endif\n#endif\n#ifdef USE_CLEARCOAT\n uniform float clearcoat;\n uniform float clearcoatRoughness;\n#endif\n#ifdef USE_DISPERSION\n uniform float dispersion;\n#endif\n#ifdef USE_IRIDESCENCE\n uniform float iridescence;\n uniform float iridescenceIOR;\n uniform float iridescenceThicknessMinimum;\n uniform float iridescenceThicknessMaximum;\n#endif\n#ifdef USE_SHEEN\n uniform vec3 sheenColor;\n uniform float sheenRoughness;\n #ifdef USE_SHEEN_COLORMAP\n uniform sampler2D sheenColorMap;\n #endif\n #ifdef USE_SHEEN_ROUGHNESSMAP\n uniform sampler2D sheenRoughnessMap;\n #endif\n#endif\n#ifdef USE_ANISOTROPY\n uniform vec2 anisotropyVector;\n #ifdef USE_ANISOTROPYMAP\n uniform sampler2D anisotropyMap;\n #endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n vec4 diffuseColor = vec4( diffuse, opacity );\n #include \n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n #include \n vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n #ifdef USE_SHEEN\n float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect;\n #endif\n #ifdef USE_CLEARCOAT\n float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) );\n vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat;\n #endif\n #include \n #include \n #include \n #include \n #include \n #include \n}"; +const vertex$4 = "#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vViewPosition = - mvPosition.xyz;\n #include \n #include \n #include \n}"; +const fragment$4 = "#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n vec4 diffuseColor = vec4( diffuse, opacity );\n #include \n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive;\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n #include \n #include \n #include \n #include \n #include \n #include \n}"; +const vertex$3 = "uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \n#ifdef USE_POINTS_UV\n varying vec2 vUv;\n uniform mat3 uvTransform;\n#endif\nvoid main() {\n #ifdef USE_POINTS_UV\n vUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n #endif\n #include \n #include \n #include \n #include \n #include \n #include \n gl_PointSize = size;\n #ifdef USE_SIZEATTENUATION\n bool isPerspective = isPerspectiveMatrix( projectionMatrix );\n if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n #endif\n #include \n #include \n #include \n #include \n}"; +const fragment$3 = "uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n vec4 diffuseColor = vec4( diffuse, opacity );\n #include \n vec3 outgoingLight = vec3( 0.0 );\n #include \n #include \n #include \n #include \n #include \n outgoingLight = diffuseColor.rgb;\n #include \n #include \n #include \n #include \n #include \n}"; +const vertex$2 = "#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n #include \n}"; +const fragment$2 = "uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n #include \n #include \n #include \n}"; +const vertex$1 = "uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n #include \n vec4 mvPosition = modelViewMatrix[ 3 ];\n vec2 scale = vec2( length( modelMatrix[ 0 ].xyz ), length( modelMatrix[ 1 ].xyz ) );\n #ifndef USE_SIZEATTENUATION\n bool isPerspective = isPerspectiveMatrix( projectionMatrix );\n if ( isPerspective ) scale *= - mvPosition.z;\n #endif\n vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n vec2 rotatedPosition;\n rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n mvPosition.xy += rotatedPosition;\n gl_Position = projectionMatrix * mvPosition;\n #include \n #include \n #include \n}"; +const fragment$1 = "uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n vec4 diffuseColor = vec4( diffuse, opacity );\n #include \n vec3 outgoingLight = vec3( 0.0 );\n #include \n #include \n #include \n #include \n #include \n outgoingLight = diffuseColor.rgb;\n #include \n #include \n #include \n #include \n}"; +const ShaderChunk = { + alphahash_fragment, + alphahash_pars_fragment, + alphamap_fragment, + alphamap_pars_fragment, + alphatest_fragment, + alphatest_pars_fragment, + aomap_fragment, + aomap_pars_fragment, + batching_pars_vertex, + batching_vertex, + begin_vertex, + beginnormal_vertex, + bsdfs, + iridescence_fragment, + bumpmap_pars_fragment, + clipping_planes_fragment, + clipping_planes_pars_fragment, + clipping_planes_pars_vertex, + clipping_planes_vertex, + color_fragment, + color_pars_fragment, + color_pars_vertex, + color_vertex, + common, + cube_uv_reflection_fragment, + defaultnormal_vertex, + displacementmap_pars_vertex, + displacementmap_vertex, + emissivemap_fragment, + emissivemap_pars_fragment, + colorspace_fragment, + colorspace_pars_fragment, + envmap_fragment, + envmap_common_pars_fragment, + envmap_pars_fragment, + envmap_pars_vertex, + envmap_physical_pars_fragment, + envmap_vertex, + fog_vertex, + fog_pars_vertex, + fog_fragment, + fog_pars_fragment, + gradientmap_pars_fragment, + lightmap_pars_fragment, + lights_lambert_fragment, + lights_lambert_pars_fragment, + lights_pars_begin, + lights_toon_fragment, + lights_toon_pars_fragment, + lights_phong_fragment, + lights_phong_pars_fragment, + lights_physical_fragment, + lights_physical_pars_fragment, + lights_fragment_begin, + lights_fragment_maps, + lights_fragment_end, + logdepthbuf_fragment, + logdepthbuf_pars_fragment, + logdepthbuf_pars_vertex, + logdepthbuf_vertex, + map_fragment, + map_pars_fragment, + map_particle_fragment, + map_particle_pars_fragment, + metalnessmap_fragment, + metalnessmap_pars_fragment, + morphinstance_vertex, + morphcolor_vertex, + morphnormal_vertex, + morphtarget_pars_vertex, + morphtarget_vertex, + normal_fragment_begin, + normal_fragment_maps, + normal_pars_fragment, + normal_pars_vertex, + normal_vertex, + normalmap_pars_fragment, + clearcoat_normal_fragment_begin, + clearcoat_normal_fragment_maps, + clearcoat_pars_fragment, + iridescence_pars_fragment, + opaque_fragment, + packing, + premultiplied_alpha_fragment, + project_vertex, + dithering_fragment, + dithering_pars_fragment, + roughnessmap_fragment, + roughnessmap_pars_fragment, + shadowmap_pars_fragment, + shadowmap_pars_vertex, + shadowmap_vertex, + shadowmask_pars_fragment, + skinbase_vertex, + skinning_pars_vertex, + skinning_vertex, + skinnormal_vertex, + specularmap_fragment, + specularmap_pars_fragment, + tonemapping_fragment, + tonemapping_pars_fragment, + transmission_fragment, + transmission_pars_fragment, + uv_pars_fragment, + uv_pars_vertex, + uv_vertex, + worldpos_vertex, + background_vert: vertex$h, + background_frag: fragment$h, + backgroundCube_vert: vertex$g, + backgroundCube_frag: fragment$g, + cube_vert: vertex$f, + cube_frag: fragment$f, + depth_vert: vertex$e, + depth_frag: fragment$e, + distanceRGBA_vert: vertex$d, + distanceRGBA_frag: fragment$d, + equirect_vert: vertex$c, + equirect_frag: fragment$c, + linedashed_vert: vertex$b, + linedashed_frag: fragment$b, + meshbasic_vert: vertex$a, + meshbasic_frag: fragment$a, + meshlambert_vert: vertex$9, + meshlambert_frag: fragment$9, + meshmatcap_vert: vertex$8, + meshmatcap_frag: fragment$8, + meshnormal_vert: vertex$7, + meshnormal_frag: fragment$7, + meshphong_vert: vertex$6, + meshphong_frag: fragment$6, + meshphysical_vert: vertex$5, + meshphysical_frag: fragment$5, + meshtoon_vert: vertex$4, + meshtoon_frag: fragment$4, + points_vert: vertex$3, + points_frag: fragment$3, + shadow_vert: vertex$2, + shadow_frag: fragment$2, + sprite_vert: vertex$1, + sprite_frag: fragment$1 +}; +const UniformsLib = { + common: { + diffuse: { value: /* @__PURE__ */ new Color(16777215) }, + opacity: { value: 1 }, + map: { value: null }, + mapTransform: { value: /* @__PURE__ */ new Matrix3() }, + alphaMap: { value: null }, + alphaMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + alphaTest: { value: 0 } + }, + specularmap: { + specularMap: { value: null }, + specularMapTransform: { value: /* @__PURE__ */ new Matrix3() } + }, + envmap: { + envMap: { value: null }, + envMapRotation: { value: /* @__PURE__ */ new Matrix3() }, + flipEnvMap: { value: -1 }, + reflectivity: { value: 1 }, + // basic, lambert, phong + ior: { value: 1.5 }, + // physical + refractionRatio: { value: 0.98 } + // basic, lambert, phong + }, + aomap: { + aoMap: { value: null }, + aoMapIntensity: { value: 1 }, + aoMapTransform: { value: /* @__PURE__ */ new Matrix3() } + }, + lightmap: { + lightMap: { value: null }, + lightMapIntensity: { value: 1 }, + lightMapTransform: { value: /* @__PURE__ */ new Matrix3() } + }, + bumpmap: { + bumpMap: { value: null }, + bumpMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + bumpScale: { value: 1 } + }, + normalmap: { + normalMap: { value: null }, + normalMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + normalScale: { value: /* @__PURE__ */ new Vector2(1, 1) } + }, + displacementmap: { + displacementMap: { value: null }, + displacementMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + displacementScale: { value: 1 }, + displacementBias: { value: 0 } + }, + emissivemap: { + emissiveMap: { value: null }, + emissiveMapTransform: { value: /* @__PURE__ */ new Matrix3() } + }, + metalnessmap: { + metalnessMap: { value: null }, + metalnessMapTransform: { value: /* @__PURE__ */ new Matrix3() } + }, + roughnessmap: { + roughnessMap: { value: null }, + roughnessMapTransform: { value: /* @__PURE__ */ new Matrix3() } + }, + gradientmap: { + gradientMap: { value: null } + }, + fog: { + fogDensity: { value: 25e-5 }, + fogNear: { value: 1 }, + fogFar: { value: 2e3 }, + fogColor: { value: /* @__PURE__ */ new Color(16777215) } + }, + lights: { + ambientLightColor: { value: [] }, + lightProbe: { value: [] }, + directionalLights: { value: [], properties: { + direction: {}, + color: {} + } }, + directionalLightShadows: { value: [], properties: { + shadowIntensity: 1, + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {} + } }, + directionalShadowMap: { value: [] }, + directionalShadowMatrix: { value: [] }, + spotLights: { value: [], properties: { + color: {}, + position: {}, + direction: {}, + distance: {}, + coneCos: {}, + penumbraCos: {}, + decay: {} + } }, + spotLightShadows: { value: [], properties: { + shadowIntensity: 1, + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {} + } }, + spotLightMap: { value: [] }, + spotShadowMap: { value: [] }, + spotLightMatrix: { value: [] }, + pointLights: { value: [], properties: { + color: {}, + position: {}, + decay: {}, + distance: {} + } }, + pointLightShadows: { value: [], properties: { + shadowIntensity: 1, + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {}, + shadowCameraNear: {}, + shadowCameraFar: {} + } }, + pointShadowMap: { value: [] }, + pointShadowMatrix: { value: [] }, + hemisphereLights: { value: [], properties: { + direction: {}, + skyColor: {}, + groundColor: {} + } }, + // TODO (abelnation): RectAreaLight BRDF data needs to be moved from example to main src + rectAreaLights: { value: [], properties: { + color: {}, + position: {}, + width: {}, + height: {} + } }, + ltc_1: { value: null }, + ltc_2: { value: null } + }, + points: { + diffuse: { value: /* @__PURE__ */ new Color(16777215) }, + opacity: { value: 1 }, + size: { value: 1 }, + scale: { value: 1 }, + map: { value: null }, + alphaMap: { value: null }, + alphaMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + alphaTest: { value: 0 }, + uvTransform: { value: /* @__PURE__ */ new Matrix3() } + }, + sprite: { + diffuse: { value: /* @__PURE__ */ new Color(16777215) }, + opacity: { value: 1 }, + center: { value: /* @__PURE__ */ new Vector2(0.5, 0.5) }, + rotation: { value: 0 }, + map: { value: null }, + mapTransform: { value: /* @__PURE__ */ new Matrix3() }, + alphaMap: { value: null }, + alphaMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + alphaTest: { value: 0 } + } +}; +const ShaderLib = { + basic: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.specularmap, + UniformsLib.envmap, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.fog + ]), + vertexShader: ShaderChunk.meshbasic_vert, + fragmentShader: ShaderChunk.meshbasic_frag + }, + lambert: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.specularmap, + UniformsLib.envmap, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: /* @__PURE__ */ new Color(0) } + } + ]), + vertexShader: ShaderChunk.meshlambert_vert, + fragmentShader: ShaderChunk.meshlambert_frag + }, + phong: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.specularmap, + UniformsLib.envmap, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: /* @__PURE__ */ new Color(0) }, + specular: { value: /* @__PURE__ */ new Color(1118481) }, + shininess: { value: 30 } + } + ]), + vertexShader: ShaderChunk.meshphong_vert, + fragmentShader: ShaderChunk.meshphong_frag + }, + standard: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.envmap, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.roughnessmap, + UniformsLib.metalnessmap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: /* @__PURE__ */ new Color(0) }, + roughness: { value: 1 }, + metalness: { value: 0 }, + envMapIntensity: { value: 1 } + } + ]), + vertexShader: ShaderChunk.meshphysical_vert, + fragmentShader: ShaderChunk.meshphysical_frag + }, + toon: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.gradientmap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: /* @__PURE__ */ new Color(0) } + } + ]), + vertexShader: ShaderChunk.meshtoon_vert, + fragmentShader: ShaderChunk.meshtoon_frag + }, + matcap: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.fog, + { + matcap: { value: null } + } + ]), + vertexShader: ShaderChunk.meshmatcap_vert, + fragmentShader: ShaderChunk.meshmatcap_frag + }, + points: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.points, + UniformsLib.fog + ]), + vertexShader: ShaderChunk.points_vert, + fragmentShader: ShaderChunk.points_frag + }, + dashed: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.fog, + { + scale: { value: 1 }, + dashSize: { value: 1 }, + totalSize: { value: 2 } + } + ]), + vertexShader: ShaderChunk.linedashed_vert, + fragmentShader: ShaderChunk.linedashed_frag + }, + depth: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.displacementmap + ]), + vertexShader: ShaderChunk.depth_vert, + fragmentShader: ShaderChunk.depth_frag + }, + normal: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + { + opacity: { value: 1 } + } + ]), + vertexShader: ShaderChunk.meshnormal_vert, + fragmentShader: ShaderChunk.meshnormal_frag + }, + sprite: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.sprite, + UniformsLib.fog + ]), + vertexShader: ShaderChunk.sprite_vert, + fragmentShader: ShaderChunk.sprite_frag + }, + background: { + uniforms: { + uvTransform: { value: /* @__PURE__ */ new Matrix3() }, + t2D: { value: null }, + backgroundIntensity: { value: 1 } + }, + vertexShader: ShaderChunk.background_vert, + fragmentShader: ShaderChunk.background_frag + }, + backgroundCube: { + uniforms: { + envMap: { value: null }, + flipEnvMap: { value: -1 }, + backgroundBlurriness: { value: 0 }, + backgroundIntensity: { value: 1 }, + backgroundRotation: { value: /* @__PURE__ */ new Matrix3() } + }, + vertexShader: ShaderChunk.backgroundCube_vert, + fragmentShader: ShaderChunk.backgroundCube_frag + }, + cube: { + uniforms: { + tCube: { value: null }, + tFlip: { value: -1 }, + opacity: { value: 1 } + }, + vertexShader: ShaderChunk.cube_vert, + fragmentShader: ShaderChunk.cube_frag + }, + equirect: { + uniforms: { + tEquirect: { value: null } + }, + vertexShader: ShaderChunk.equirect_vert, + fragmentShader: ShaderChunk.equirect_frag + }, + distanceRGBA: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.common, + UniformsLib.displacementmap, + { + referencePosition: { value: /* @__PURE__ */ new Vector3() }, + nearDistance: { value: 1 }, + farDistance: { value: 1e3 } + } + ]), + vertexShader: ShaderChunk.distanceRGBA_vert, + fragmentShader: ShaderChunk.distanceRGBA_frag + }, + shadow: { + uniforms: /* @__PURE__ */ mergeUniforms([ + UniformsLib.lights, + UniformsLib.fog, + { + color: { value: /* @__PURE__ */ new Color(0) }, + opacity: { value: 1 } + } + ]), + vertexShader: ShaderChunk.shadow_vert, + fragmentShader: ShaderChunk.shadow_frag + } +}; +ShaderLib.physical = { + uniforms: /* @__PURE__ */ mergeUniforms([ + ShaderLib.standard.uniforms, + { + clearcoat: { value: 0 }, + clearcoatMap: { value: null }, + clearcoatMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + clearcoatNormalMap: { value: null }, + clearcoatNormalMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + clearcoatNormalScale: { value: /* @__PURE__ */ new Vector2(1, 1) }, + clearcoatRoughness: { value: 0 }, + clearcoatRoughnessMap: { value: null }, + clearcoatRoughnessMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + dispersion: { value: 0 }, + iridescence: { value: 0 }, + iridescenceMap: { value: null }, + iridescenceMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + iridescenceIOR: { value: 1.3 }, + iridescenceThicknessMinimum: { value: 100 }, + iridescenceThicknessMaximum: { value: 400 }, + iridescenceThicknessMap: { value: null }, + iridescenceThicknessMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + sheen: { value: 0 }, + sheenColor: { value: /* @__PURE__ */ new Color(0) }, + sheenColorMap: { value: null }, + sheenColorMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + sheenRoughness: { value: 1 }, + sheenRoughnessMap: { value: null }, + sheenRoughnessMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + transmission: { value: 0 }, + transmissionMap: { value: null }, + transmissionMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + transmissionSamplerSize: { value: /* @__PURE__ */ new Vector2() }, + transmissionSamplerMap: { value: null }, + thickness: { value: 0 }, + thicknessMap: { value: null }, + thicknessMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + attenuationDistance: { value: 0 }, + attenuationColor: { value: /* @__PURE__ */ new Color(0) }, + specularColor: { value: /* @__PURE__ */ new Color(1, 1, 1) }, + specularColorMap: { value: null }, + specularColorMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + specularIntensity: { value: 1 }, + specularIntensityMap: { value: null }, + specularIntensityMapTransform: { value: /* @__PURE__ */ new Matrix3() }, + anisotropyVector: { value: /* @__PURE__ */ new Vector2() }, + anisotropyMap: { value: null }, + anisotropyMapTransform: { value: /* @__PURE__ */ new Matrix3() } + } + ]), + vertexShader: ShaderChunk.meshphysical_vert, + fragmentShader: ShaderChunk.meshphysical_frag +}; +const _rgb = { r: 0, b: 0, g: 0 }; +const _e1$1 = /* @__PURE__ */ new Euler(); +const _m1$1 = /* @__PURE__ */ new Matrix4(); +function WebGLBackground(renderer, cubemaps, cubeuvmaps, state, objects, alpha, premultipliedAlpha) { + const clearColor = new Color(0); + let clearAlpha = alpha === true ? 0 : 1; + let planeMesh; + let boxMesh; + let currentBackground = null; + let currentBackgroundVersion = 0; + let currentTonemapping = null; + function getBackground(scene) { + let background = scene.isScene === true ? scene.background : null; + if (background && background.isTexture) { + const usePMREM = scene.backgroundBlurriness > 0; + background = (usePMREM ? cubeuvmaps : cubemaps).get(background); + } + return background; + } + __name(getBackground, "getBackground"); + function render(scene) { + let forceClear = false; + const background = getBackground(scene); + if (background === null) { + setClear(clearColor, clearAlpha); + } else if (background && background.isColor) { + setClear(background, 1); + forceClear = true; + } + const environmentBlendMode = renderer.xr.getEnvironmentBlendMode(); + if (environmentBlendMode === "additive") { + state.buffers.color.setClear(0, 0, 0, 1, premultipliedAlpha); + } else if (environmentBlendMode === "alpha-blend") { + state.buffers.color.setClear(0, 0, 0, 0, premultipliedAlpha); + } + if (renderer.autoClear || forceClear) { + state.buffers.depth.setTest(true); + state.buffers.depth.setMask(true); + state.buffers.color.setMask(true); + renderer.clear(renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil); + } + } + __name(render, "render"); + function addToRenderList(renderList, scene) { + const background = getBackground(scene); + if (background && (background.isCubeTexture || background.mapping === CubeUVReflectionMapping)) { + if (boxMesh === void 0) { + boxMesh = new Mesh( + new BoxGeometry(1, 1, 1), + new ShaderMaterial({ + name: "BackgroundCubeMaterial", + uniforms: cloneUniforms(ShaderLib.backgroundCube.uniforms), + vertexShader: ShaderLib.backgroundCube.vertexShader, + fragmentShader: ShaderLib.backgroundCube.fragmentShader, + side: BackSide, + depthTest: false, + depthWrite: false, + fog: false + }) + ); + boxMesh.geometry.deleteAttribute("normal"); + boxMesh.geometry.deleteAttribute("uv"); + boxMesh.onBeforeRender = function(renderer2, scene2, camera) { + this.matrixWorld.copyPosition(camera.matrixWorld); + }; + Object.defineProperty(boxMesh.material, "envMap", { + get: /* @__PURE__ */ __name(function() { + return this.uniforms.envMap.value; + }, "get") + }); + objects.update(boxMesh); + } + _e1$1.copy(scene.backgroundRotation); + _e1$1.x *= -1; + _e1$1.y *= -1; + _e1$1.z *= -1; + if (background.isCubeTexture && background.isRenderTargetTexture === false) { + _e1$1.y *= -1; + _e1$1.z *= -1; + } + boxMesh.material.uniforms.envMap.value = background; + boxMesh.material.uniforms.flipEnvMap.value = background.isCubeTexture && background.isRenderTargetTexture === false ? -1 : 1; + boxMesh.material.uniforms.backgroundBlurriness.value = scene.backgroundBlurriness; + boxMesh.material.uniforms.backgroundIntensity.value = scene.backgroundIntensity; + boxMesh.material.uniforms.backgroundRotation.value.setFromMatrix4(_m1$1.makeRotationFromEuler(_e1$1)); + boxMesh.material.toneMapped = ColorManagement.getTransfer(background.colorSpace) !== SRGBTransfer; + if (currentBackground !== background || currentBackgroundVersion !== background.version || currentTonemapping !== renderer.toneMapping) { + boxMesh.material.needsUpdate = true; + currentBackground = background; + currentBackgroundVersion = background.version; + currentTonemapping = renderer.toneMapping; + } + boxMesh.layers.enableAll(); + renderList.unshift(boxMesh, boxMesh.geometry, boxMesh.material, 0, 0, null); + } else if (background && background.isTexture) { + if (planeMesh === void 0) { + planeMesh = new Mesh( + new PlaneGeometry(2, 2), + new ShaderMaterial({ + name: "BackgroundMaterial", + uniforms: cloneUniforms(ShaderLib.background.uniforms), + vertexShader: ShaderLib.background.vertexShader, + fragmentShader: ShaderLib.background.fragmentShader, + side: FrontSide, + depthTest: false, + depthWrite: false, + fog: false + }) + ); + planeMesh.geometry.deleteAttribute("normal"); + Object.defineProperty(planeMesh.material, "map", { + get: /* @__PURE__ */ __name(function() { + return this.uniforms.t2D.value; + }, "get") + }); + objects.update(planeMesh); + } + planeMesh.material.uniforms.t2D.value = background; + planeMesh.material.uniforms.backgroundIntensity.value = scene.backgroundIntensity; + planeMesh.material.toneMapped = ColorManagement.getTransfer(background.colorSpace) !== SRGBTransfer; + if (background.matrixAutoUpdate === true) { + background.updateMatrix(); + } + planeMesh.material.uniforms.uvTransform.value.copy(background.matrix); + if (currentBackground !== background || currentBackgroundVersion !== background.version || currentTonemapping !== renderer.toneMapping) { + planeMesh.material.needsUpdate = true; + currentBackground = background; + currentBackgroundVersion = background.version; + currentTonemapping = renderer.toneMapping; + } + planeMesh.layers.enableAll(); + renderList.unshift(planeMesh, planeMesh.geometry, planeMesh.material, 0, 0, null); + } + } + __name(addToRenderList, "addToRenderList"); + function setClear(color, alpha2) { + color.getRGB(_rgb, getUnlitUniformColorSpace(renderer)); + state.buffers.color.setClear(_rgb.r, _rgb.g, _rgb.b, alpha2, premultipliedAlpha); + } + __name(setClear, "setClear"); + return { + getClearColor: /* @__PURE__ */ __name(function() { + return clearColor; + }, "getClearColor"), + setClearColor: /* @__PURE__ */ __name(function(color, alpha2 = 1) { + clearColor.set(color); + clearAlpha = alpha2; + setClear(clearColor, clearAlpha); + }, "setClearColor"), + getClearAlpha: /* @__PURE__ */ __name(function() { + return clearAlpha; + }, "getClearAlpha"), + setClearAlpha: /* @__PURE__ */ __name(function(alpha2) { + clearAlpha = alpha2; + setClear(clearColor, clearAlpha); + }, "setClearAlpha"), + render, + addToRenderList + }; +} +__name(WebGLBackground, "WebGLBackground"); +function WebGLBindingStates(gl, attributes) { + const maxVertexAttributes = gl.getParameter(gl.MAX_VERTEX_ATTRIBS); + const bindingStates = {}; + const defaultState = createBindingState(null); + let currentState = defaultState; + let forceUpdate = false; + function setup(object, material, program, geometry, index) { + let updateBuffers = false; + const state = getBindingState(geometry, program, material); + if (currentState !== state) { + currentState = state; + bindVertexArrayObject(currentState.object); + } + updateBuffers = needsUpdate(object, geometry, program, index); + if (updateBuffers) saveCache(object, geometry, program, index); + if (index !== null) { + attributes.update(index, gl.ELEMENT_ARRAY_BUFFER); + } + if (updateBuffers || forceUpdate) { + forceUpdate = false; + setupVertexAttributes(object, material, program, geometry); + if (index !== null) { + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, attributes.get(index).buffer); + } + } + } + __name(setup, "setup"); + function createVertexArrayObject() { + return gl.createVertexArray(); + } + __name(createVertexArrayObject, "createVertexArrayObject"); + function bindVertexArrayObject(vao) { + return gl.bindVertexArray(vao); + } + __name(bindVertexArrayObject, "bindVertexArrayObject"); + function deleteVertexArrayObject(vao) { + return gl.deleteVertexArray(vao); + } + __name(deleteVertexArrayObject, "deleteVertexArrayObject"); + function getBindingState(geometry, program, material) { + const wireframe = material.wireframe === true; + let programMap = bindingStates[geometry.id]; + if (programMap === void 0) { + programMap = {}; + bindingStates[geometry.id] = programMap; + } + let stateMap = programMap[program.id]; + if (stateMap === void 0) { + stateMap = {}; + programMap[program.id] = stateMap; + } + let state = stateMap[wireframe]; + if (state === void 0) { + state = createBindingState(createVertexArrayObject()); + stateMap[wireframe] = state; + } + return state; + } + __name(getBindingState, "getBindingState"); + function createBindingState(vao) { + const newAttributes = []; + const enabledAttributes = []; + const attributeDivisors = []; + for (let i = 0; i < maxVertexAttributes; i++) { + newAttributes[i] = 0; + enabledAttributes[i] = 0; + attributeDivisors[i] = 0; + } + return { + // for backward compatibility on non-VAO support browser + geometry: null, + program: null, + wireframe: false, + newAttributes, + enabledAttributes, + attributeDivisors, + object: vao, + attributes: {}, + index: null + }; + } + __name(createBindingState, "createBindingState"); + function needsUpdate(object, geometry, program, index) { + const cachedAttributes = currentState.attributes; + const geometryAttributes = geometry.attributes; + let attributesNum = 0; + const programAttributes = program.getAttributes(); + for (const name in programAttributes) { + const programAttribute = programAttributes[name]; + if (programAttribute.location >= 0) { + const cachedAttribute = cachedAttributes[name]; + let geometryAttribute = geometryAttributes[name]; + if (geometryAttribute === void 0) { + if (name === "instanceMatrix" && object.instanceMatrix) geometryAttribute = object.instanceMatrix; + if (name === "instanceColor" && object.instanceColor) geometryAttribute = object.instanceColor; + } + if (cachedAttribute === void 0) return true; + if (cachedAttribute.attribute !== geometryAttribute) return true; + if (geometryAttribute && cachedAttribute.data !== geometryAttribute.data) return true; + attributesNum++; + } + } + if (currentState.attributesNum !== attributesNum) return true; + if (currentState.index !== index) return true; + return false; + } + __name(needsUpdate, "needsUpdate"); + function saveCache(object, geometry, program, index) { + const cache = {}; + const attributes2 = geometry.attributes; + let attributesNum = 0; + const programAttributes = program.getAttributes(); + for (const name in programAttributes) { + const programAttribute = programAttributes[name]; + if (programAttribute.location >= 0) { + let attribute = attributes2[name]; + if (attribute === void 0) { + if (name === "instanceMatrix" && object.instanceMatrix) attribute = object.instanceMatrix; + if (name === "instanceColor" && object.instanceColor) attribute = object.instanceColor; + } + const data = {}; + data.attribute = attribute; + if (attribute && attribute.data) { + data.data = attribute.data; + } + cache[name] = data; + attributesNum++; + } + } + currentState.attributes = cache; + currentState.attributesNum = attributesNum; + currentState.index = index; + } + __name(saveCache, "saveCache"); + function initAttributes() { + const newAttributes = currentState.newAttributes; + for (let i = 0, il = newAttributes.length; i < il; i++) { + newAttributes[i] = 0; + } + } + __name(initAttributes, "initAttributes"); + function enableAttribute(attribute) { + enableAttributeAndDivisor(attribute, 0); + } + __name(enableAttribute, "enableAttribute"); + function enableAttributeAndDivisor(attribute, meshPerAttribute) { + const newAttributes = currentState.newAttributes; + const enabledAttributes = currentState.enabledAttributes; + const attributeDivisors = currentState.attributeDivisors; + newAttributes[attribute] = 1; + if (enabledAttributes[attribute] === 0) { + gl.enableVertexAttribArray(attribute); + enabledAttributes[attribute] = 1; + } + if (attributeDivisors[attribute] !== meshPerAttribute) { + gl.vertexAttribDivisor(attribute, meshPerAttribute); + attributeDivisors[attribute] = meshPerAttribute; + } + } + __name(enableAttributeAndDivisor, "enableAttributeAndDivisor"); + function disableUnusedAttributes() { + const newAttributes = currentState.newAttributes; + const enabledAttributes = currentState.enabledAttributes; + for (let i = 0, il = enabledAttributes.length; i < il; i++) { + if (enabledAttributes[i] !== newAttributes[i]) { + gl.disableVertexAttribArray(i); + enabledAttributes[i] = 0; + } + } + } + __name(disableUnusedAttributes, "disableUnusedAttributes"); + function vertexAttribPointer(index, size, type, normalized, stride, offset, integer) { + if (integer === true) { + gl.vertexAttribIPointer(index, size, type, stride, offset); + } else { + gl.vertexAttribPointer(index, size, type, normalized, stride, offset); + } + } + __name(vertexAttribPointer, "vertexAttribPointer"); + function setupVertexAttributes(object, material, program, geometry) { + initAttributes(); + const geometryAttributes = geometry.attributes; + const programAttributes = program.getAttributes(); + const materialDefaultAttributeValues = material.defaultAttributeValues; + for (const name in programAttributes) { + const programAttribute = programAttributes[name]; + if (programAttribute.location >= 0) { + let geometryAttribute = geometryAttributes[name]; + if (geometryAttribute === void 0) { + if (name === "instanceMatrix" && object.instanceMatrix) geometryAttribute = object.instanceMatrix; + if (name === "instanceColor" && object.instanceColor) geometryAttribute = object.instanceColor; + } + if (geometryAttribute !== void 0) { + const normalized = geometryAttribute.normalized; + const size = geometryAttribute.itemSize; + const attribute = attributes.get(geometryAttribute); + if (attribute === void 0) continue; + const buffer = attribute.buffer; + const type = attribute.type; + const bytesPerElement = attribute.bytesPerElement; + const integer = type === gl.INT || type === gl.UNSIGNED_INT || geometryAttribute.gpuType === IntType; + if (geometryAttribute.isInterleavedBufferAttribute) { + const data = geometryAttribute.data; + const stride = data.stride; + const offset = geometryAttribute.offset; + if (data.isInstancedInterleavedBuffer) { + for (let i = 0; i < programAttribute.locationSize; i++) { + enableAttributeAndDivisor(programAttribute.location + i, data.meshPerAttribute); + } + if (object.isInstancedMesh !== true && geometry._maxInstanceCount === void 0) { + geometry._maxInstanceCount = data.meshPerAttribute * data.count; + } + } else { + for (let i = 0; i < programAttribute.locationSize; i++) { + enableAttribute(programAttribute.location + i); + } + } + gl.bindBuffer(gl.ARRAY_BUFFER, buffer); + for (let i = 0; i < programAttribute.locationSize; i++) { + vertexAttribPointer( + programAttribute.location + i, + size / programAttribute.locationSize, + type, + normalized, + stride * bytesPerElement, + (offset + size / programAttribute.locationSize * i) * bytesPerElement, + integer + ); + } + } else { + if (geometryAttribute.isInstancedBufferAttribute) { + for (let i = 0; i < programAttribute.locationSize; i++) { + enableAttributeAndDivisor(programAttribute.location + i, geometryAttribute.meshPerAttribute); + } + if (object.isInstancedMesh !== true && geometry._maxInstanceCount === void 0) { + geometry._maxInstanceCount = geometryAttribute.meshPerAttribute * geometryAttribute.count; + } + } else { + for (let i = 0; i < programAttribute.locationSize; i++) { + enableAttribute(programAttribute.location + i); + } + } + gl.bindBuffer(gl.ARRAY_BUFFER, buffer); + for (let i = 0; i < programAttribute.locationSize; i++) { + vertexAttribPointer( + programAttribute.location + i, + size / programAttribute.locationSize, + type, + normalized, + size * bytesPerElement, + size / programAttribute.locationSize * i * bytesPerElement, + integer + ); + } + } + } else if (materialDefaultAttributeValues !== void 0) { + const value = materialDefaultAttributeValues[name]; + if (value !== void 0) { + switch (value.length) { + case 2: + gl.vertexAttrib2fv(programAttribute.location, value); + break; + case 3: + gl.vertexAttrib3fv(programAttribute.location, value); + break; + case 4: + gl.vertexAttrib4fv(programAttribute.location, value); + break; + default: + gl.vertexAttrib1fv(programAttribute.location, value); + } + } + } + } + } + disableUnusedAttributes(); + } + __name(setupVertexAttributes, "setupVertexAttributes"); + function dispose() { + reset(); + for (const geometryId in bindingStates) { + const programMap = bindingStates[geometryId]; + for (const programId in programMap) { + const stateMap = programMap[programId]; + for (const wireframe in stateMap) { + deleteVertexArrayObject(stateMap[wireframe].object); + delete stateMap[wireframe]; + } + delete programMap[programId]; + } + delete bindingStates[geometryId]; + } + } + __name(dispose, "dispose"); + function releaseStatesOfGeometry(geometry) { + if (bindingStates[geometry.id] === void 0) return; + const programMap = bindingStates[geometry.id]; + for (const programId in programMap) { + const stateMap = programMap[programId]; + for (const wireframe in stateMap) { + deleteVertexArrayObject(stateMap[wireframe].object); + delete stateMap[wireframe]; + } + delete programMap[programId]; + } + delete bindingStates[geometry.id]; + } + __name(releaseStatesOfGeometry, "releaseStatesOfGeometry"); + function releaseStatesOfProgram(program) { + for (const geometryId in bindingStates) { + const programMap = bindingStates[geometryId]; + if (programMap[program.id] === void 0) continue; + const stateMap = programMap[program.id]; + for (const wireframe in stateMap) { + deleteVertexArrayObject(stateMap[wireframe].object); + delete stateMap[wireframe]; + } + delete programMap[program.id]; + } + } + __name(releaseStatesOfProgram, "releaseStatesOfProgram"); + function reset() { + resetDefaultState(); + forceUpdate = true; + if (currentState === defaultState) return; + currentState = defaultState; + bindVertexArrayObject(currentState.object); + } + __name(reset, "reset"); + function resetDefaultState() { + defaultState.geometry = null; + defaultState.program = null; + defaultState.wireframe = false; + } + __name(resetDefaultState, "resetDefaultState"); + return { + setup, + reset, + resetDefaultState, + dispose, + releaseStatesOfGeometry, + releaseStatesOfProgram, + initAttributes, + enableAttribute, + disableUnusedAttributes + }; +} +__name(WebGLBindingStates, "WebGLBindingStates"); +function WebGLBufferRenderer(gl, extensions, info) { + let mode; + function setMode(value) { + mode = value; + } + __name(setMode, "setMode"); + function render(start, count) { + gl.drawArrays(mode, start, count); + info.update(count, mode, 1); + } + __name(render, "render"); + function renderInstances(start, count, primcount) { + if (primcount === 0) return; + gl.drawArraysInstanced(mode, start, count, primcount); + info.update(count, mode, primcount); + } + __name(renderInstances, "renderInstances"); + function renderMultiDraw(starts, counts, drawCount) { + if (drawCount === 0) return; + const extension = extensions.get("WEBGL_multi_draw"); + extension.multiDrawArraysWEBGL(mode, starts, 0, counts, 0, drawCount); + let elementCount = 0; + for (let i = 0; i < drawCount; i++) { + elementCount += counts[i]; + } + info.update(elementCount, mode, 1); + } + __name(renderMultiDraw, "renderMultiDraw"); + function renderMultiDrawInstances(starts, counts, drawCount, primcount) { + if (drawCount === 0) return; + const extension = extensions.get("WEBGL_multi_draw"); + if (extension === null) { + for (let i = 0; i < starts.length; i++) { + renderInstances(starts[i], counts[i], primcount[i]); + } + } else { + extension.multiDrawArraysInstancedWEBGL(mode, starts, 0, counts, 0, primcount, 0, drawCount); + let elementCount = 0; + for (let i = 0; i < drawCount; i++) { + elementCount += counts[i] * primcount[i]; + } + info.update(elementCount, mode, 1); + } + } + __name(renderMultiDrawInstances, "renderMultiDrawInstances"); + this.setMode = setMode; + this.render = render; + this.renderInstances = renderInstances; + this.renderMultiDraw = renderMultiDraw; + this.renderMultiDrawInstances = renderMultiDrawInstances; +} +__name(WebGLBufferRenderer, "WebGLBufferRenderer"); +function WebGLCapabilities(gl, extensions, parameters, utils) { + let maxAnisotropy; + function getMaxAnisotropy() { + if (maxAnisotropy !== void 0) return maxAnisotropy; + if (extensions.has("EXT_texture_filter_anisotropic") === true) { + const extension = extensions.get("EXT_texture_filter_anisotropic"); + maxAnisotropy = gl.getParameter(extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT); + } else { + maxAnisotropy = 0; + } + return maxAnisotropy; + } + __name(getMaxAnisotropy, "getMaxAnisotropy"); + function textureFormatReadable(textureFormat) { + if (textureFormat !== RGBAFormat && utils.convert(textureFormat) !== gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_FORMAT)) { + return false; + } + return true; + } + __name(textureFormatReadable, "textureFormatReadable"); + function textureTypeReadable(textureType) { + const halfFloatSupportedByExt = textureType === HalfFloatType && (extensions.has("EXT_color_buffer_half_float") || extensions.has("EXT_color_buffer_float")); + if (textureType !== UnsignedByteType && utils.convert(textureType) !== gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_TYPE) && // Edge and Chrome Mac < 52 (#9513) + textureType !== FloatType && !halfFloatSupportedByExt) { + return false; + } + return true; + } + __name(textureTypeReadable, "textureTypeReadable"); + function getMaxPrecision(precision2) { + if (precision2 === "highp") { + if (gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.HIGH_FLOAT).precision > 0 && gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.HIGH_FLOAT).precision > 0) { + return "highp"; + } + precision2 = "mediump"; + } + if (precision2 === "mediump") { + if (gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.MEDIUM_FLOAT).precision > 0 && gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.MEDIUM_FLOAT).precision > 0) { + return "mediump"; + } + } + return "lowp"; + } + __name(getMaxPrecision, "getMaxPrecision"); + let precision = parameters.precision !== void 0 ? parameters.precision : "highp"; + const maxPrecision = getMaxPrecision(precision); + if (maxPrecision !== precision) { + console.warn("THREE.WebGLRenderer:", precision, "not supported, using", maxPrecision, "instead."); + precision = maxPrecision; + } + const logarithmicDepthBuffer = parameters.logarithmicDepthBuffer === true; + const reverseDepthBuffer = parameters.reverseDepthBuffer === true && extensions.has("EXT_clip_control"); + const maxTextures = gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS); + const maxVertexTextures = gl.getParameter(gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS); + const maxTextureSize = gl.getParameter(gl.MAX_TEXTURE_SIZE); + const maxCubemapSize = gl.getParameter(gl.MAX_CUBE_MAP_TEXTURE_SIZE); + const maxAttributes = gl.getParameter(gl.MAX_VERTEX_ATTRIBS); + const maxVertexUniforms = gl.getParameter(gl.MAX_VERTEX_UNIFORM_VECTORS); + const maxVaryings = gl.getParameter(gl.MAX_VARYING_VECTORS); + const maxFragmentUniforms = gl.getParameter(gl.MAX_FRAGMENT_UNIFORM_VECTORS); + const vertexTextures = maxVertexTextures > 0; + const maxSamples = gl.getParameter(gl.MAX_SAMPLES); + return { + isWebGL2: true, + // keeping this for backwards compatibility + getMaxAnisotropy, + getMaxPrecision, + textureFormatReadable, + textureTypeReadable, + precision, + logarithmicDepthBuffer, + reverseDepthBuffer, + maxTextures, + maxVertexTextures, + maxTextureSize, + maxCubemapSize, + maxAttributes, + maxVertexUniforms, + maxVaryings, + maxFragmentUniforms, + vertexTextures, + maxSamples + }; +} +__name(WebGLCapabilities, "WebGLCapabilities"); +function WebGLClipping(properties) { + const scope = this; + let globalState = null, numGlobalPlanes = 0, localClippingEnabled = false, renderingShadows = false; + const plane = new Plane(), viewNormalMatrix = new Matrix3(), uniform = { value: null, needsUpdate: false }; + this.uniform = uniform; + this.numPlanes = 0; + this.numIntersection = 0; + this.init = function(planes, enableLocalClipping) { + const enabled = planes.length !== 0 || enableLocalClipping || // enable state of previous frame - the clipping code has to + // run another frame in order to reset the state: + numGlobalPlanes !== 0 || localClippingEnabled; + localClippingEnabled = enableLocalClipping; + numGlobalPlanes = planes.length; + return enabled; + }; + this.beginShadows = function() { + renderingShadows = true; + projectPlanes(null); + }; + this.endShadows = function() { + renderingShadows = false; + }; + this.setGlobalState = function(planes, camera) { + globalState = projectPlanes(planes, camera, 0); + }; + this.setState = function(material, camera, useCache) { + const planes = material.clippingPlanes, clipIntersection = material.clipIntersection, clipShadows = material.clipShadows; + const materialProperties = properties.get(material); + if (!localClippingEnabled || planes === null || planes.length === 0 || renderingShadows && !clipShadows) { + if (renderingShadows) { + projectPlanes(null); + } else { + resetGlobalState(); + } + } else { + const nGlobal = renderingShadows ? 0 : numGlobalPlanes, lGlobal = nGlobal * 4; + let dstArray = materialProperties.clippingState || null; + uniform.value = dstArray; + dstArray = projectPlanes(planes, camera, lGlobal, useCache); + for (let i = 0; i !== lGlobal; ++i) { + dstArray[i] = globalState[i]; + } + materialProperties.clippingState = dstArray; + this.numIntersection = clipIntersection ? this.numPlanes : 0; + this.numPlanes += nGlobal; + } + }; + function resetGlobalState() { + if (uniform.value !== globalState) { + uniform.value = globalState; + uniform.needsUpdate = numGlobalPlanes > 0; + } + scope.numPlanes = numGlobalPlanes; + scope.numIntersection = 0; + } + __name(resetGlobalState, "resetGlobalState"); + function projectPlanes(planes, camera, dstOffset, skipTransform) { + const nPlanes = planes !== null ? planes.length : 0; + let dstArray = null; + if (nPlanes !== 0) { + dstArray = uniform.value; + if (skipTransform !== true || dstArray === null) { + const flatSize = dstOffset + nPlanes * 4, viewMatrix = camera.matrixWorldInverse; + viewNormalMatrix.getNormalMatrix(viewMatrix); + if (dstArray === null || dstArray.length < flatSize) { + dstArray = new Float32Array(flatSize); + } + for (let i = 0, i4 = dstOffset; i !== nPlanes; ++i, i4 += 4) { + plane.copy(planes[i]).applyMatrix4(viewMatrix, viewNormalMatrix); + plane.normal.toArray(dstArray, i4); + dstArray[i4 + 3] = plane.constant; + } + } + uniform.value = dstArray; + uniform.needsUpdate = true; + } + scope.numPlanes = nPlanes; + scope.numIntersection = 0; + return dstArray; + } + __name(projectPlanes, "projectPlanes"); +} +__name(WebGLClipping, "WebGLClipping"); +function WebGLCubeMaps(renderer) { + let cubemaps = /* @__PURE__ */ new WeakMap(); + function mapTextureMapping(texture, mapping) { + if (mapping === EquirectangularReflectionMapping) { + texture.mapping = CubeReflectionMapping; + } else if (mapping === EquirectangularRefractionMapping) { + texture.mapping = CubeRefractionMapping; + } + return texture; + } + __name(mapTextureMapping, "mapTextureMapping"); + function get(texture) { + if (texture && texture.isTexture) { + const mapping = texture.mapping; + if (mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping) { + if (cubemaps.has(texture)) { + const cubemap = cubemaps.get(texture).texture; + return mapTextureMapping(cubemap, texture.mapping); + } else { + const image = texture.image; + if (image && image.height > 0) { + const renderTarget = new WebGLCubeRenderTarget(image.height); + renderTarget.fromEquirectangularTexture(renderer, texture); + cubemaps.set(texture, renderTarget); + texture.addEventListener("dispose", onTextureDispose); + return mapTextureMapping(renderTarget.texture, texture.mapping); + } else { + return null; + } + } + } + } + return texture; + } + __name(get, "get"); + function onTextureDispose(event) { + const texture = event.target; + texture.removeEventListener("dispose", onTextureDispose); + const cubemap = cubemaps.get(texture); + if (cubemap !== void 0) { + cubemaps.delete(texture); + cubemap.dispose(); + } + } + __name(onTextureDispose, "onTextureDispose"); + function dispose() { + cubemaps = /* @__PURE__ */ new WeakMap(); + } + __name(dispose, "dispose"); + return { + get, + dispose + }; +} +__name(WebGLCubeMaps, "WebGLCubeMaps"); +class OrthographicCamera extends Camera { + static { + __name(this, "OrthographicCamera"); + } + constructor(left = -1, right = 1, top = 1, bottom = -1, near = 0.1, far = 2e3) { + super(); + this.isOrthographicCamera = true; + this.type = "OrthographicCamera"; + this.zoom = 1; + this.view = null; + this.left = left; + this.right = right; + this.top = top; + this.bottom = bottom; + this.near = near; + this.far = far; + this.updateProjectionMatrix(); + } + copy(source, recursive) { + super.copy(source, recursive); + this.left = source.left; + this.right = source.right; + this.top = source.top; + this.bottom = source.bottom; + this.near = source.near; + this.far = source.far; + this.zoom = source.zoom; + this.view = source.view === null ? null : Object.assign({}, source.view); + return this; + } + setViewOffset(fullWidth, fullHeight, x, y, width, height) { + if (this.view === null) { + this.view = { + enabled: true, + fullWidth: 1, + fullHeight: 1, + offsetX: 0, + offsetY: 0, + width: 1, + height: 1 + }; + } + this.view.enabled = true; + this.view.fullWidth = fullWidth; + this.view.fullHeight = fullHeight; + this.view.offsetX = x; + this.view.offsetY = y; + this.view.width = width; + this.view.height = height; + this.updateProjectionMatrix(); + } + clearViewOffset() { + if (this.view !== null) { + this.view.enabled = false; + } + this.updateProjectionMatrix(); + } + updateProjectionMatrix() { + const dx = (this.right - this.left) / (2 * this.zoom); + const dy = (this.top - this.bottom) / (2 * this.zoom); + const cx = (this.right + this.left) / 2; + const cy = (this.top + this.bottom) / 2; + let left = cx - dx; + let right = cx + dx; + let top = cy + dy; + let bottom = cy - dy; + if (this.view !== null && this.view.enabled) { + const scaleW = (this.right - this.left) / this.view.fullWidth / this.zoom; + const scaleH = (this.top - this.bottom) / this.view.fullHeight / this.zoom; + left += scaleW * this.view.offsetX; + right = left + scaleW * this.view.width; + top -= scaleH * this.view.offsetY; + bottom = top - scaleH * this.view.height; + } + this.projectionMatrix.makeOrthographic(left, right, top, bottom, this.near, this.far, this.coordinateSystem); + this.projectionMatrixInverse.copy(this.projectionMatrix).invert(); + } + toJSON(meta) { + const data = super.toJSON(meta); + data.object.zoom = this.zoom; + data.object.left = this.left; + data.object.right = this.right; + data.object.top = this.top; + data.object.bottom = this.bottom; + data.object.near = this.near; + data.object.far = this.far; + if (this.view !== null) data.object.view = Object.assign({}, this.view); + return data; + } +} +const LOD_MIN = 4; +const EXTRA_LOD_SIGMA = [0.125, 0.215, 0.35, 0.446, 0.526, 0.582]; +const MAX_SAMPLES = 20; +const _flatCamera = /* @__PURE__ */ new OrthographicCamera(); +const _clearColor = /* @__PURE__ */ new Color(); +let _oldTarget = null; +let _oldActiveCubeFace = 0; +let _oldActiveMipmapLevel = 0; +let _oldXrEnabled = false; +const PHI = (1 + Math.sqrt(5)) / 2; +const INV_PHI = 1 / PHI; +const _axisDirections = [ + /* @__PURE__ */ new Vector3(-PHI, INV_PHI, 0), + /* @__PURE__ */ new Vector3(PHI, INV_PHI, 0), + /* @__PURE__ */ new Vector3(-INV_PHI, 0, PHI), + /* @__PURE__ */ new Vector3(INV_PHI, 0, PHI), + /* @__PURE__ */ new Vector3(0, PHI, -INV_PHI), + /* @__PURE__ */ new Vector3(0, PHI, INV_PHI), + /* @__PURE__ */ new Vector3(-1, 1, -1), + /* @__PURE__ */ new Vector3(1, 1, -1), + /* @__PURE__ */ new Vector3(-1, 1, 1), + /* @__PURE__ */ new Vector3(1, 1, 1) +]; +class PMREMGenerator { + static { + __name(this, "PMREMGenerator"); + } + constructor(renderer) { + this._renderer = renderer; + this._pingPongRenderTarget = null; + this._lodMax = 0; + this._cubeSize = 0; + this._lodPlanes = []; + this._sizeLods = []; + this._sigmas = []; + this._blurMaterial = null; + this._cubemapMaterial = null; + this._equirectMaterial = null; + this._compileMaterial(this._blurMaterial); + } + /** + * Generates a PMREM from a supplied Scene, which can be faster than using an + * image if networking bandwidth is low. Optional sigma specifies a blur radius + * in radians to be applied to the scene before PMREM generation. Optional near + * and far planes ensure the scene is rendered in its entirety (the cubeCamera + * is placed at the origin). + */ + fromScene(scene, sigma = 0, near = 0.1, far = 100) { + _oldTarget = this._renderer.getRenderTarget(); + _oldActiveCubeFace = this._renderer.getActiveCubeFace(); + _oldActiveMipmapLevel = this._renderer.getActiveMipmapLevel(); + _oldXrEnabled = this._renderer.xr.enabled; + this._renderer.xr.enabled = false; + this._setSize(256); + const cubeUVRenderTarget = this._allocateTargets(); + cubeUVRenderTarget.depthBuffer = true; + this._sceneToCubeUV(scene, near, far, cubeUVRenderTarget); + if (sigma > 0) { + this._blur(cubeUVRenderTarget, 0, 0, sigma); + } + this._applyPMREM(cubeUVRenderTarget); + this._cleanup(cubeUVRenderTarget); + return cubeUVRenderTarget; + } + /** + * Generates a PMREM from an equirectangular texture, which can be either LDR + * or HDR. The ideal input image size is 1k (1024 x 512), + * as this matches best with the 256 x 256 cubemap output. + * The smallest supported equirectangular image size is 64 x 32. + */ + fromEquirectangular(equirectangular, renderTarget = null) { + return this._fromTexture(equirectangular, renderTarget); + } + /** + * Generates a PMREM from an cubemap texture, which can be either LDR + * or HDR. The ideal input cube size is 256 x 256, + * as this matches best with the 256 x 256 cubemap output. + * The smallest supported cube size is 16 x 16. + */ + fromCubemap(cubemap, renderTarget = null) { + return this._fromTexture(cubemap, renderTarget); + } + /** + * Pre-compiles the cubemap shader. You can get faster start-up by invoking this method during + * your texture's network fetch for increased concurrency. + */ + compileCubemapShader() { + if (this._cubemapMaterial === null) { + this._cubemapMaterial = _getCubemapMaterial(); + this._compileMaterial(this._cubemapMaterial); + } + } + /** + * Pre-compiles the equirectangular shader. You can get faster start-up by invoking this method during + * your texture's network fetch for increased concurrency. + */ + compileEquirectangularShader() { + if (this._equirectMaterial === null) { + this._equirectMaterial = _getEquirectMaterial(); + this._compileMaterial(this._equirectMaterial); + } + } + /** + * Disposes of the PMREMGenerator's internal memory. Note that PMREMGenerator is a static class, + * so you should not need more than one PMREMGenerator object. If you do, calling dispose() on + * one of them will cause any others to also become unusable. + */ + dispose() { + this._dispose(); + if (this._cubemapMaterial !== null) this._cubemapMaterial.dispose(); + if (this._equirectMaterial !== null) this._equirectMaterial.dispose(); + } + // private interface + _setSize(cubeSize) { + this._lodMax = Math.floor(Math.log2(cubeSize)); + this._cubeSize = Math.pow(2, this._lodMax); + } + _dispose() { + if (this._blurMaterial !== null) this._blurMaterial.dispose(); + if (this._pingPongRenderTarget !== null) this._pingPongRenderTarget.dispose(); + for (let i = 0; i < this._lodPlanes.length; i++) { + this._lodPlanes[i].dispose(); + } + } + _cleanup(outputTarget) { + this._renderer.setRenderTarget(_oldTarget, _oldActiveCubeFace, _oldActiveMipmapLevel); + this._renderer.xr.enabled = _oldXrEnabled; + outputTarget.scissorTest = false; + _setViewport(outputTarget, 0, 0, outputTarget.width, outputTarget.height); + } + _fromTexture(texture, renderTarget) { + if (texture.mapping === CubeReflectionMapping || texture.mapping === CubeRefractionMapping) { + this._setSize(texture.image.length === 0 ? 16 : texture.image[0].width || texture.image[0].image.width); + } else { + this._setSize(texture.image.width / 4); + } + _oldTarget = this._renderer.getRenderTarget(); + _oldActiveCubeFace = this._renderer.getActiveCubeFace(); + _oldActiveMipmapLevel = this._renderer.getActiveMipmapLevel(); + _oldXrEnabled = this._renderer.xr.enabled; + this._renderer.xr.enabled = false; + const cubeUVRenderTarget = renderTarget || this._allocateTargets(); + this._textureToCubeUV(texture, cubeUVRenderTarget); + this._applyPMREM(cubeUVRenderTarget); + this._cleanup(cubeUVRenderTarget); + return cubeUVRenderTarget; + } + _allocateTargets() { + const width = 3 * Math.max(this._cubeSize, 16 * 7); + const height = 4 * this._cubeSize; + const params = { + magFilter: LinearFilter, + minFilter: LinearFilter, + generateMipmaps: false, + type: HalfFloatType, + format: RGBAFormat, + colorSpace: LinearSRGBColorSpace, + depthBuffer: false + }; + const cubeUVRenderTarget = _createRenderTarget(width, height, params); + if (this._pingPongRenderTarget === null || this._pingPongRenderTarget.width !== width || this._pingPongRenderTarget.height !== height) { + if (this._pingPongRenderTarget !== null) { + this._dispose(); + } + this._pingPongRenderTarget = _createRenderTarget(width, height, params); + const { _lodMax } = this; + ({ sizeLods: this._sizeLods, lodPlanes: this._lodPlanes, sigmas: this._sigmas } = _createPlanes(_lodMax)); + this._blurMaterial = _getBlurShader(_lodMax, width, height); + } + return cubeUVRenderTarget; + } + _compileMaterial(material) { + const tmpMesh = new Mesh(this._lodPlanes[0], material); + this._renderer.compile(tmpMesh, _flatCamera); + } + _sceneToCubeUV(scene, near, far, cubeUVRenderTarget) { + const fov2 = 90; + const aspect2 = 1; + const cubeCamera = new PerspectiveCamera(fov2, aspect2, near, far); + const upSign = [1, -1, 1, 1, 1, 1]; + const forwardSign = [1, 1, 1, -1, -1, -1]; + const renderer = this._renderer; + const originalAutoClear = renderer.autoClear; + const toneMapping = renderer.toneMapping; + renderer.getClearColor(_clearColor); + renderer.toneMapping = NoToneMapping; + renderer.autoClear = false; + const backgroundMaterial = new MeshBasicMaterial({ + name: "PMREM.Background", + side: BackSide, + depthWrite: false, + depthTest: false + }); + const backgroundBox = new Mesh(new BoxGeometry(), backgroundMaterial); + let useSolidColor = false; + const background = scene.background; + if (background) { + if (background.isColor) { + backgroundMaterial.color.copy(background); + scene.background = null; + useSolidColor = true; + } + } else { + backgroundMaterial.color.copy(_clearColor); + useSolidColor = true; + } + for (let i = 0; i < 6; i++) { + const col = i % 3; + if (col === 0) { + cubeCamera.up.set(0, upSign[i], 0); + cubeCamera.lookAt(forwardSign[i], 0, 0); + } else if (col === 1) { + cubeCamera.up.set(0, 0, upSign[i]); + cubeCamera.lookAt(0, forwardSign[i], 0); + } else { + cubeCamera.up.set(0, upSign[i], 0); + cubeCamera.lookAt(0, 0, forwardSign[i]); + } + const size = this._cubeSize; + _setViewport(cubeUVRenderTarget, col * size, i > 2 ? size : 0, size, size); + renderer.setRenderTarget(cubeUVRenderTarget); + if (useSolidColor) { + renderer.render(backgroundBox, cubeCamera); + } + renderer.render(scene, cubeCamera); + } + backgroundBox.geometry.dispose(); + backgroundBox.material.dispose(); + renderer.toneMapping = toneMapping; + renderer.autoClear = originalAutoClear; + scene.background = background; + } + _textureToCubeUV(texture, cubeUVRenderTarget) { + const renderer = this._renderer; + const isCubeTexture = texture.mapping === CubeReflectionMapping || texture.mapping === CubeRefractionMapping; + if (isCubeTexture) { + if (this._cubemapMaterial === null) { + this._cubemapMaterial = _getCubemapMaterial(); + } + this._cubemapMaterial.uniforms.flipEnvMap.value = texture.isRenderTargetTexture === false ? -1 : 1; + } else { + if (this._equirectMaterial === null) { + this._equirectMaterial = _getEquirectMaterial(); + } + } + const material = isCubeTexture ? this._cubemapMaterial : this._equirectMaterial; + const mesh = new Mesh(this._lodPlanes[0], material); + const uniforms = material.uniforms; + uniforms["envMap"].value = texture; + const size = this._cubeSize; + _setViewport(cubeUVRenderTarget, 0, 0, 3 * size, 2 * size); + renderer.setRenderTarget(cubeUVRenderTarget); + renderer.render(mesh, _flatCamera); + } + _applyPMREM(cubeUVRenderTarget) { + const renderer = this._renderer; + const autoClear = renderer.autoClear; + renderer.autoClear = false; + const n = this._lodPlanes.length; + for (let i = 1; i < n; i++) { + const sigma = Math.sqrt(this._sigmas[i] * this._sigmas[i] - this._sigmas[i - 1] * this._sigmas[i - 1]); + const poleAxis = _axisDirections[(n - i - 1) % _axisDirections.length]; + this._blur(cubeUVRenderTarget, i - 1, i, sigma, poleAxis); + } + renderer.autoClear = autoClear; + } + /** + * This is a two-pass Gaussian blur for a cubemap. Normally this is done + * vertically and horizontally, but this breaks down on a cube. Here we apply + * the blur latitudinally (around the poles), and then longitudinally (towards + * the poles) to approximate the orthogonally-separable blur. It is least + * accurate at the poles, but still does a decent job. + */ + _blur(cubeUVRenderTarget, lodIn, lodOut, sigma, poleAxis) { + const pingPongRenderTarget = this._pingPongRenderTarget; + this._halfBlur( + cubeUVRenderTarget, + pingPongRenderTarget, + lodIn, + lodOut, + sigma, + "latitudinal", + poleAxis + ); + this._halfBlur( + pingPongRenderTarget, + cubeUVRenderTarget, + lodOut, + lodOut, + sigma, + "longitudinal", + poleAxis + ); + } + _halfBlur(targetIn, targetOut, lodIn, lodOut, sigmaRadians, direction, poleAxis) { + const renderer = this._renderer; + const blurMaterial = this._blurMaterial; + if (direction !== "latitudinal" && direction !== "longitudinal") { + console.error( + "blur direction must be either latitudinal or longitudinal!" + ); + } + const STANDARD_DEVIATIONS = 3; + const blurMesh = new Mesh(this._lodPlanes[lodOut], blurMaterial); + const blurUniforms = blurMaterial.uniforms; + const pixels = this._sizeLods[lodIn] - 1; + const radiansPerPixel = isFinite(sigmaRadians) ? Math.PI / (2 * pixels) : 2 * Math.PI / (2 * MAX_SAMPLES - 1); + const sigmaPixels = sigmaRadians / radiansPerPixel; + const samples = isFinite(sigmaRadians) ? 1 + Math.floor(STANDARD_DEVIATIONS * sigmaPixels) : MAX_SAMPLES; + if (samples > MAX_SAMPLES) { + console.warn(`sigmaRadians, ${sigmaRadians}, is too large and will clip, as it requested ${samples} samples when the maximum is set to ${MAX_SAMPLES}`); + } + const weights = []; + let sum = 0; + for (let i = 0; i < MAX_SAMPLES; ++i) { + const x2 = i / sigmaPixels; + const weight = Math.exp(-x2 * x2 / 2); + weights.push(weight); + if (i === 0) { + sum += weight; + } else if (i < samples) { + sum += 2 * weight; + } + } + for (let i = 0; i < weights.length; i++) { + weights[i] = weights[i] / sum; + } + blurUniforms["envMap"].value = targetIn.texture; + blurUniforms["samples"].value = samples; + blurUniforms["weights"].value = weights; + blurUniforms["latitudinal"].value = direction === "latitudinal"; + if (poleAxis) { + blurUniforms["poleAxis"].value = poleAxis; + } + const { _lodMax } = this; + blurUniforms["dTheta"].value = radiansPerPixel; + blurUniforms["mipInt"].value = _lodMax - lodIn; + const outputSize = this._sizeLods[lodOut]; + const x = 3 * outputSize * (lodOut > _lodMax - LOD_MIN ? lodOut - _lodMax + LOD_MIN : 0); + const y = 4 * (this._cubeSize - outputSize); + _setViewport(targetOut, x, y, 3 * outputSize, 2 * outputSize); + renderer.setRenderTarget(targetOut); + renderer.render(blurMesh, _flatCamera); + } +} +function _createPlanes(lodMax) { + const lodPlanes = []; + const sizeLods = []; + const sigmas = []; + let lod = lodMax; + const totalLods = lodMax - LOD_MIN + 1 + EXTRA_LOD_SIGMA.length; + for (let i = 0; i < totalLods; i++) { + const sizeLod = Math.pow(2, lod); + sizeLods.push(sizeLod); + let sigma = 1 / sizeLod; + if (i > lodMax - LOD_MIN) { + sigma = EXTRA_LOD_SIGMA[i - lodMax + LOD_MIN - 1]; + } else if (i === 0) { + sigma = 0; + } + sigmas.push(sigma); + const texelSize = 1 / (sizeLod - 2); + const min = -texelSize; + const max2 = 1 + texelSize; + const uv1 = [min, min, max2, min, max2, max2, min, min, max2, max2, min, max2]; + const cubeFaces = 6; + const vertices = 6; + const positionSize = 3; + const uvSize = 2; + const faceIndexSize = 1; + const position = new Float32Array(positionSize * vertices * cubeFaces); + const uv = new Float32Array(uvSize * vertices * cubeFaces); + const faceIndex = new Float32Array(faceIndexSize * vertices * cubeFaces); + for (let face = 0; face < cubeFaces; face++) { + const x = face % 3 * 2 / 3 - 1; + const y = face > 2 ? 0 : -1; + const coordinates = [ + x, + y, + 0, + x + 2 / 3, + y, + 0, + x + 2 / 3, + y + 1, + 0, + x, + y, + 0, + x + 2 / 3, + y + 1, + 0, + x, + y + 1, + 0 + ]; + position.set(coordinates, positionSize * vertices * face); + uv.set(uv1, uvSize * vertices * face); + const fill2 = [face, face, face, face, face, face]; + faceIndex.set(fill2, faceIndexSize * vertices * face); + } + const planes = new BufferGeometry(); + planes.setAttribute("position", new BufferAttribute(position, positionSize)); + planes.setAttribute("uv", new BufferAttribute(uv, uvSize)); + planes.setAttribute("faceIndex", new BufferAttribute(faceIndex, faceIndexSize)); + lodPlanes.push(planes); + if (lod > LOD_MIN) { + lod--; + } + } + return { lodPlanes, sizeLods, sigmas }; +} +__name(_createPlanes, "_createPlanes"); +function _createRenderTarget(width, height, params) { + const cubeUVRenderTarget = new WebGLRenderTarget(width, height, params); + cubeUVRenderTarget.texture.mapping = CubeUVReflectionMapping; + cubeUVRenderTarget.texture.name = "PMREM.cubeUv"; + cubeUVRenderTarget.scissorTest = true; + return cubeUVRenderTarget; +} +__name(_createRenderTarget, "_createRenderTarget"); +function _setViewport(target, x, y, width, height) { + target.viewport.set(x, y, width, height); + target.scissor.set(x, y, width, height); +} +__name(_setViewport, "_setViewport"); +function _getBlurShader(lodMax, width, height) { + const weights = new Float32Array(MAX_SAMPLES); + const poleAxis = new Vector3(0, 1, 0); + const shaderMaterial = new ShaderMaterial({ + name: "SphericalGaussianBlur", + defines: { + "n": MAX_SAMPLES, + "CUBEUV_TEXEL_WIDTH": 1 / width, + "CUBEUV_TEXEL_HEIGHT": 1 / height, + "CUBEUV_MAX_MIP": `${lodMax}.0` + }, + uniforms: { + "envMap": { value: null }, + "samples": { value: 1 }, + "weights": { value: weights }, + "latitudinal": { value: false }, + "dTheta": { value: 0 }, + "mipInt": { value: 0 }, + "poleAxis": { value: poleAxis } + }, + vertexShader: _getCommonVertexShader(), + fragmentShader: ( + /* glsl */ + ` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + uniform int samples; + uniform float weights[ n ]; + uniform bool latitudinal; + uniform float dTheta; + uniform float mipInt; + uniform vec3 poleAxis; + + #define ENVMAP_TYPE_CUBE_UV + #include + + vec3 getSample( float theta, vec3 axis ) { + + float cosTheta = cos( theta ); + // Rodrigues' axis-angle rotation + vec3 sampleDirection = vOutputDirection * cosTheta + + cross( axis, vOutputDirection ) * sin( theta ) + + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); + + return bilinearCubeUV( envMap, sampleDirection, mipInt ); + + } + + void main() { + + vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); + + if ( all( equal( axis, vec3( 0.0 ) ) ) ) { + + axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); + + } + + axis = normalize( axis ); + + gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); + + for ( int i = 1; i < n; i++ ) { + + if ( i >= samples ) { + + break; + + } + + float theta = dTheta * float( i ); + gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); + gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); + + } + + } + ` + ), + blending: NoBlending, + depthTest: false, + depthWrite: false + }); + return shaderMaterial; +} +__name(_getBlurShader, "_getBlurShader"); +function _getEquirectMaterial() { + return new ShaderMaterial({ + name: "EquirectangularToCubeUV", + uniforms: { + "envMap": { value: null } + }, + vertexShader: _getCommonVertexShader(), + fragmentShader: ( + /* glsl */ + ` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + + #include + + void main() { + + vec3 outputDirection = normalize( vOutputDirection ); + vec2 uv = equirectUv( outputDirection ); + + gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); + + } + ` + ), + blending: NoBlending, + depthTest: false, + depthWrite: false + }); +} +__name(_getEquirectMaterial, "_getEquirectMaterial"); +function _getCubemapMaterial() { + return new ShaderMaterial({ + name: "CubemapToCubeUV", + uniforms: { + "envMap": { value: null }, + "flipEnvMap": { value: -1 } + }, + vertexShader: _getCommonVertexShader(), + fragmentShader: ( + /* glsl */ + ` + + precision mediump float; + precision mediump int; + + uniform float flipEnvMap; + + varying vec3 vOutputDirection; + + uniform samplerCube envMap; + + void main() { + + gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); + + } + ` + ), + blending: NoBlending, + depthTest: false, + depthWrite: false + }); +} +__name(_getCubemapMaterial, "_getCubemapMaterial"); +function _getCommonVertexShader() { + return ( + /* glsl */ + ` + + precision mediump float; + precision mediump int; + + attribute float faceIndex; + + varying vec3 vOutputDirection; + + // RH coordinate system; PMREM face-indexing convention + vec3 getDirection( vec2 uv, float face ) { + + uv = 2.0 * uv - 1.0; + + vec3 direction = vec3( uv, 1.0 ); + + if ( face == 0.0 ) { + + direction = direction.zyx; // ( 1, v, u ) pos x + + } else if ( face == 1.0 ) { + + direction = direction.xzy; + direction.xz *= -1.0; // ( -u, 1, -v ) pos y + + } else if ( face == 2.0 ) { + + direction.x *= -1.0; // ( -u, v, 1 ) pos z + + } else if ( face == 3.0 ) { + + direction = direction.zyx; + direction.xz *= -1.0; // ( -1, v, -u ) neg x + + } else if ( face == 4.0 ) { + + direction = direction.xzy; + direction.xy *= -1.0; // ( -u, -1, v ) neg y + + } else if ( face == 5.0 ) { + + direction.z *= -1.0; // ( u, v, -1 ) neg z + + } + + return direction; + + } + + void main() { + + vOutputDirection = getDirection( uv, faceIndex ); + gl_Position = vec4( position, 1.0 ); + + } + ` + ); +} +__name(_getCommonVertexShader, "_getCommonVertexShader"); +function WebGLCubeUVMaps(renderer) { + let cubeUVmaps = /* @__PURE__ */ new WeakMap(); + let pmremGenerator = null; + function get(texture) { + if (texture && texture.isTexture) { + const mapping = texture.mapping; + const isEquirectMap = mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping; + const isCubeMap = mapping === CubeReflectionMapping || mapping === CubeRefractionMapping; + if (isEquirectMap || isCubeMap) { + let renderTarget = cubeUVmaps.get(texture); + const currentPMREMVersion = renderTarget !== void 0 ? renderTarget.texture.pmremVersion : 0; + if (texture.isRenderTargetTexture && texture.pmremVersion !== currentPMREMVersion) { + if (pmremGenerator === null) pmremGenerator = new PMREMGenerator(renderer); + renderTarget = isEquirectMap ? pmremGenerator.fromEquirectangular(texture, renderTarget) : pmremGenerator.fromCubemap(texture, renderTarget); + renderTarget.texture.pmremVersion = texture.pmremVersion; + cubeUVmaps.set(texture, renderTarget); + return renderTarget.texture; + } else { + if (renderTarget !== void 0) { + return renderTarget.texture; + } else { + const image = texture.image; + if (isEquirectMap && image && image.height > 0 || isCubeMap && image && isCubeTextureComplete(image)) { + if (pmremGenerator === null) pmremGenerator = new PMREMGenerator(renderer); + renderTarget = isEquirectMap ? pmremGenerator.fromEquirectangular(texture) : pmremGenerator.fromCubemap(texture); + renderTarget.texture.pmremVersion = texture.pmremVersion; + cubeUVmaps.set(texture, renderTarget); + texture.addEventListener("dispose", onTextureDispose); + return renderTarget.texture; + } else { + return null; + } + } + } + } + } + return texture; + } + __name(get, "get"); + function isCubeTextureComplete(image) { + let count = 0; + const length = 6; + for (let i = 0; i < length; i++) { + if (image[i] !== void 0) count++; + } + return count === length; + } + __name(isCubeTextureComplete, "isCubeTextureComplete"); + function onTextureDispose(event) { + const texture = event.target; + texture.removeEventListener("dispose", onTextureDispose); + const cubemapUV = cubeUVmaps.get(texture); + if (cubemapUV !== void 0) { + cubeUVmaps.delete(texture); + cubemapUV.dispose(); + } + } + __name(onTextureDispose, "onTextureDispose"); + function dispose() { + cubeUVmaps = /* @__PURE__ */ new WeakMap(); + if (pmremGenerator !== null) { + pmremGenerator.dispose(); + pmremGenerator = null; + } + } + __name(dispose, "dispose"); + return { + get, + dispose + }; +} +__name(WebGLCubeUVMaps, "WebGLCubeUVMaps"); +function WebGLExtensions(gl) { + const extensions = {}; + function getExtension(name) { + if (extensions[name] !== void 0) { + return extensions[name]; + } + let extension; + switch (name) { + case "WEBGL_depth_texture": + extension = gl.getExtension("WEBGL_depth_texture") || gl.getExtension("MOZ_WEBGL_depth_texture") || gl.getExtension("WEBKIT_WEBGL_depth_texture"); + break; + case "EXT_texture_filter_anisotropic": + extension = gl.getExtension("EXT_texture_filter_anisotropic") || gl.getExtension("MOZ_EXT_texture_filter_anisotropic") || gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic"); + break; + case "WEBGL_compressed_texture_s3tc": + extension = gl.getExtension("WEBGL_compressed_texture_s3tc") || gl.getExtension("MOZ_WEBGL_compressed_texture_s3tc") || gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc"); + break; + case "WEBGL_compressed_texture_pvrtc": + extension = gl.getExtension("WEBGL_compressed_texture_pvrtc") || gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"); + break; + default: + extension = gl.getExtension(name); + } + extensions[name] = extension; + return extension; + } + __name(getExtension, "getExtension"); + return { + has: /* @__PURE__ */ __name(function(name) { + return getExtension(name) !== null; + }, "has"), + init: /* @__PURE__ */ __name(function() { + getExtension("EXT_color_buffer_float"); + getExtension("WEBGL_clip_cull_distance"); + getExtension("OES_texture_float_linear"); + getExtension("EXT_color_buffer_half_float"); + getExtension("WEBGL_multisampled_render_to_texture"); + getExtension("WEBGL_render_shared_exponent"); + }, "init"), + get: /* @__PURE__ */ __name(function(name) { + const extension = getExtension(name); + if (extension === null) { + warnOnce("THREE.WebGLRenderer: " + name + " extension not supported."); + } + return extension; + }, "get") + }; +} +__name(WebGLExtensions, "WebGLExtensions"); +function WebGLGeometries(gl, attributes, info, bindingStates) { + const geometries = {}; + const wireframeAttributes = /* @__PURE__ */ new WeakMap(); + function onGeometryDispose(event) { + const geometry = event.target; + if (geometry.index !== null) { + attributes.remove(geometry.index); + } + for (const name in geometry.attributes) { + attributes.remove(geometry.attributes[name]); + } + for (const name in geometry.morphAttributes) { + const array = geometry.morphAttributes[name]; + for (let i = 0, l = array.length; i < l; i++) { + attributes.remove(array[i]); + } + } + geometry.removeEventListener("dispose", onGeometryDispose); + delete geometries[geometry.id]; + const attribute = wireframeAttributes.get(geometry); + if (attribute) { + attributes.remove(attribute); + wireframeAttributes.delete(geometry); + } + bindingStates.releaseStatesOfGeometry(geometry); + if (geometry.isInstancedBufferGeometry === true) { + delete geometry._maxInstanceCount; + } + info.memory.geometries--; + } + __name(onGeometryDispose, "onGeometryDispose"); + function get(object, geometry) { + if (geometries[geometry.id] === true) return geometry; + geometry.addEventListener("dispose", onGeometryDispose); + geometries[geometry.id] = true; + info.memory.geometries++; + return geometry; + } + __name(get, "get"); + function update(geometry) { + const geometryAttributes = geometry.attributes; + for (const name in geometryAttributes) { + attributes.update(geometryAttributes[name], gl.ARRAY_BUFFER); + } + const morphAttributes = geometry.morphAttributes; + for (const name in morphAttributes) { + const array = morphAttributes[name]; + for (let i = 0, l = array.length; i < l; i++) { + attributes.update(array[i], gl.ARRAY_BUFFER); + } + } + } + __name(update, "update"); + function updateWireframeAttribute(geometry) { + const indices = []; + const geometryIndex = geometry.index; + const geometryPosition = geometry.attributes.position; + let version = 0; + if (geometryIndex !== null) { + const array = geometryIndex.array; + version = geometryIndex.version; + for (let i = 0, l = array.length; i < l; i += 3) { + const a = array[i + 0]; + const b = array[i + 1]; + const c = array[i + 2]; + indices.push(a, b, b, c, c, a); + } + } else if (geometryPosition !== void 0) { + const array = geometryPosition.array; + version = geometryPosition.version; + for (let i = 0, l = array.length / 3 - 1; i < l; i += 3) { + const a = i + 0; + const b = i + 1; + const c = i + 2; + indices.push(a, b, b, c, c, a); + } + } else { + return; + } + const attribute = new (arrayNeedsUint32(indices) ? Uint32BufferAttribute : Uint16BufferAttribute)(indices, 1); + attribute.version = version; + const previousAttribute = wireframeAttributes.get(geometry); + if (previousAttribute) attributes.remove(previousAttribute); + wireframeAttributes.set(geometry, attribute); + } + __name(updateWireframeAttribute, "updateWireframeAttribute"); + function getWireframeAttribute(geometry) { + const currentAttribute = wireframeAttributes.get(geometry); + if (currentAttribute) { + const geometryIndex = geometry.index; + if (geometryIndex !== null) { + if (currentAttribute.version < geometryIndex.version) { + updateWireframeAttribute(geometry); + } + } + } else { + updateWireframeAttribute(geometry); + } + return wireframeAttributes.get(geometry); + } + __name(getWireframeAttribute, "getWireframeAttribute"); + return { + get, + update, + getWireframeAttribute + }; +} +__name(WebGLGeometries, "WebGLGeometries"); +function WebGLIndexedBufferRenderer(gl, extensions, info) { + let mode; + function setMode(value) { + mode = value; + } + __name(setMode, "setMode"); + let type, bytesPerElement; + function setIndex(value) { + type = value.type; + bytesPerElement = value.bytesPerElement; + } + __name(setIndex, "setIndex"); + function render(start, count) { + gl.drawElements(mode, count, type, start * bytesPerElement); + info.update(count, mode, 1); + } + __name(render, "render"); + function renderInstances(start, count, primcount) { + if (primcount === 0) return; + gl.drawElementsInstanced(mode, count, type, start * bytesPerElement, primcount); + info.update(count, mode, primcount); + } + __name(renderInstances, "renderInstances"); + function renderMultiDraw(starts, counts, drawCount) { + if (drawCount === 0) return; + const extension = extensions.get("WEBGL_multi_draw"); + extension.multiDrawElementsWEBGL(mode, counts, 0, type, starts, 0, drawCount); + let elementCount = 0; + for (let i = 0; i < drawCount; i++) { + elementCount += counts[i]; + } + info.update(elementCount, mode, 1); + } + __name(renderMultiDraw, "renderMultiDraw"); + function renderMultiDrawInstances(starts, counts, drawCount, primcount) { + if (drawCount === 0) return; + const extension = extensions.get("WEBGL_multi_draw"); + if (extension === null) { + for (let i = 0; i < starts.length; i++) { + renderInstances(starts[i] / bytesPerElement, counts[i], primcount[i]); + } + } else { + extension.multiDrawElementsInstancedWEBGL(mode, counts, 0, type, starts, 0, primcount, 0, drawCount); + let elementCount = 0; + for (let i = 0; i < drawCount; i++) { + elementCount += counts[i] * primcount[i]; + } + info.update(elementCount, mode, 1); + } + } + __name(renderMultiDrawInstances, "renderMultiDrawInstances"); + this.setMode = setMode; + this.setIndex = setIndex; + this.render = render; + this.renderInstances = renderInstances; + this.renderMultiDraw = renderMultiDraw; + this.renderMultiDrawInstances = renderMultiDrawInstances; +} +__name(WebGLIndexedBufferRenderer, "WebGLIndexedBufferRenderer"); +function WebGLInfo(gl) { + const memory = { + geometries: 0, + textures: 0 + }; + const render = { + frame: 0, + calls: 0, + triangles: 0, + points: 0, + lines: 0 + }; + function update(count, mode, instanceCount) { + render.calls++; + switch (mode) { + case gl.TRIANGLES: + render.triangles += instanceCount * (count / 3); + break; + case gl.LINES: + render.lines += instanceCount * (count / 2); + break; + case gl.LINE_STRIP: + render.lines += instanceCount * (count - 1); + break; + case gl.LINE_LOOP: + render.lines += instanceCount * count; + break; + case gl.POINTS: + render.points += instanceCount * count; + break; + default: + console.error("THREE.WebGLInfo: Unknown draw mode:", mode); + break; + } + } + __name(update, "update"); + function reset() { + render.calls = 0; + render.triangles = 0; + render.points = 0; + render.lines = 0; + } + __name(reset, "reset"); + return { + memory, + render, + programs: null, + autoReset: true, + reset, + update + }; +} +__name(WebGLInfo, "WebGLInfo"); +function WebGLMorphtargets(gl, capabilities, textures) { + const morphTextures = /* @__PURE__ */ new WeakMap(); + const morph = new Vector4(); + function update(object, geometry, program) { + const objectInfluences = object.morphTargetInfluences; + const morphAttribute = geometry.morphAttributes.position || geometry.morphAttributes.normal || geometry.morphAttributes.color; + const morphTargetsCount = morphAttribute !== void 0 ? morphAttribute.length : 0; + let entry = morphTextures.get(geometry); + if (entry === void 0 || entry.count !== morphTargetsCount) { + let disposeTexture = function() { + texture.dispose(); + morphTextures.delete(geometry); + geometry.removeEventListener("dispose", disposeTexture); + }; + __name(disposeTexture, "disposeTexture"); + if (entry !== void 0) entry.texture.dispose(); + const hasMorphPosition = geometry.morphAttributes.position !== void 0; + const hasMorphNormals = geometry.morphAttributes.normal !== void 0; + const hasMorphColors = geometry.morphAttributes.color !== void 0; + const morphTargets = geometry.morphAttributes.position || []; + const morphNormals = geometry.morphAttributes.normal || []; + const morphColors = geometry.morphAttributes.color || []; + let vertexDataCount = 0; + if (hasMorphPosition === true) vertexDataCount = 1; + if (hasMorphNormals === true) vertexDataCount = 2; + if (hasMorphColors === true) vertexDataCount = 3; + let width = geometry.attributes.position.count * vertexDataCount; + let height = 1; + if (width > capabilities.maxTextureSize) { + height = Math.ceil(width / capabilities.maxTextureSize); + width = capabilities.maxTextureSize; + } + const buffer = new Float32Array(width * height * 4 * morphTargetsCount); + const texture = new DataArrayTexture(buffer, width, height, morphTargetsCount); + texture.type = FloatType; + texture.needsUpdate = true; + const vertexDataStride = vertexDataCount * 4; + for (let i = 0; i < morphTargetsCount; i++) { + const morphTarget = morphTargets[i]; + const morphNormal = morphNormals[i]; + const morphColor = morphColors[i]; + const offset = width * height * 4 * i; + for (let j = 0; j < morphTarget.count; j++) { + const stride = j * vertexDataStride; + if (hasMorphPosition === true) { + morph.fromBufferAttribute(morphTarget, j); + buffer[offset + stride + 0] = morph.x; + buffer[offset + stride + 1] = morph.y; + buffer[offset + stride + 2] = morph.z; + buffer[offset + stride + 3] = 0; + } + if (hasMorphNormals === true) { + morph.fromBufferAttribute(morphNormal, j); + buffer[offset + stride + 4] = morph.x; + buffer[offset + stride + 5] = morph.y; + buffer[offset + stride + 6] = morph.z; + buffer[offset + stride + 7] = 0; + } + if (hasMorphColors === true) { + morph.fromBufferAttribute(morphColor, j); + buffer[offset + stride + 8] = morph.x; + buffer[offset + stride + 9] = morph.y; + buffer[offset + stride + 10] = morph.z; + buffer[offset + stride + 11] = morphColor.itemSize === 4 ? morph.w : 1; + } + } + } + entry = { + count: morphTargetsCount, + texture, + size: new Vector2(width, height) + }; + morphTextures.set(geometry, entry); + geometry.addEventListener("dispose", disposeTexture); + } + if (object.isInstancedMesh === true && object.morphTexture !== null) { + program.getUniforms().setValue(gl, "morphTexture", object.morphTexture, textures); + } else { + let morphInfluencesSum = 0; + for (let i = 0; i < objectInfluences.length; i++) { + morphInfluencesSum += objectInfluences[i]; + } + const morphBaseInfluence = geometry.morphTargetsRelative ? 1 : 1 - morphInfluencesSum; + program.getUniforms().setValue(gl, "morphTargetBaseInfluence", morphBaseInfluence); + program.getUniforms().setValue(gl, "morphTargetInfluences", objectInfluences); + } + program.getUniforms().setValue(gl, "morphTargetsTexture", entry.texture, textures); + program.getUniforms().setValue(gl, "morphTargetsTextureSize", entry.size); + } + __name(update, "update"); + return { + update + }; +} +__name(WebGLMorphtargets, "WebGLMorphtargets"); +function WebGLObjects(gl, geometries, attributes, info) { + let updateMap = /* @__PURE__ */ new WeakMap(); + function update(object) { + const frame = info.render.frame; + const geometry = object.geometry; + const buffergeometry = geometries.get(object, geometry); + if (updateMap.get(buffergeometry) !== frame) { + geometries.update(buffergeometry); + updateMap.set(buffergeometry, frame); + } + if (object.isInstancedMesh) { + if (object.hasEventListener("dispose", onInstancedMeshDispose) === false) { + object.addEventListener("dispose", onInstancedMeshDispose); + } + if (updateMap.get(object) !== frame) { + attributes.update(object.instanceMatrix, gl.ARRAY_BUFFER); + if (object.instanceColor !== null) { + attributes.update(object.instanceColor, gl.ARRAY_BUFFER); + } + updateMap.set(object, frame); + } + } + if (object.isSkinnedMesh) { + const skeleton = object.skeleton; + if (updateMap.get(skeleton) !== frame) { + skeleton.update(); + updateMap.set(skeleton, frame); + } + } + return buffergeometry; + } + __name(update, "update"); + function dispose() { + updateMap = /* @__PURE__ */ new WeakMap(); + } + __name(dispose, "dispose"); + function onInstancedMeshDispose(event) { + const instancedMesh = event.target; + instancedMesh.removeEventListener("dispose", onInstancedMeshDispose); + attributes.remove(instancedMesh.instanceMatrix); + if (instancedMesh.instanceColor !== null) attributes.remove(instancedMesh.instanceColor); + } + __name(onInstancedMeshDispose, "onInstancedMeshDispose"); + return { + update, + dispose + }; +} +__name(WebGLObjects, "WebGLObjects"); +class DepthTexture extends Texture { + static { + __name(this, "DepthTexture"); + } + constructor(width, height, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, format = DepthFormat) { + if (format !== DepthFormat && format !== DepthStencilFormat) { + throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat"); + } + if (type === void 0 && format === DepthFormat) type = UnsignedIntType; + if (type === void 0 && format === DepthStencilFormat) type = UnsignedInt248Type; + super(null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy); + this.isDepthTexture = true; + this.image = { width, height }; + this.magFilter = magFilter !== void 0 ? magFilter : NearestFilter; + this.minFilter = minFilter !== void 0 ? minFilter : NearestFilter; + this.flipY = false; + this.generateMipmaps = false; + this.compareFunction = null; + } + copy(source) { + super.copy(source); + this.compareFunction = source.compareFunction; + return this; + } + toJSON(meta) { + const data = super.toJSON(meta); + if (this.compareFunction !== null) data.compareFunction = this.compareFunction; + return data; + } +} +const emptyTexture = /* @__PURE__ */ new Texture(); +const emptyShadowTexture = /* @__PURE__ */ new DepthTexture(1, 1); +const emptyArrayTexture = /* @__PURE__ */ new DataArrayTexture(); +const empty3dTexture = /* @__PURE__ */ new Data3DTexture(); +const emptyCubeTexture = /* @__PURE__ */ new CubeTexture(); +const arrayCacheF32 = []; +const arrayCacheI32 = []; +const mat4array = new Float32Array(16); +const mat3array = new Float32Array(9); +const mat2array = new Float32Array(4); +function flatten(array, nBlocks, blockSize) { + const firstElem = array[0]; + if (firstElem <= 0 || firstElem > 0) return array; + const n = nBlocks * blockSize; + let r = arrayCacheF32[n]; + if (r === void 0) { + r = new Float32Array(n); + arrayCacheF32[n] = r; + } + if (nBlocks !== 0) { + firstElem.toArray(r, 0); + for (let i = 1, offset = 0; i !== nBlocks; ++i) { + offset += blockSize; + array[i].toArray(r, offset); + } + } + return r; +} +__name(flatten, "flatten"); +function arraysEqual(a, b) { + if (a.length !== b.length) return false; + for (let i = 0, l = a.length; i < l; i++) { + if (a[i] !== b[i]) return false; + } + return true; +} +__name(arraysEqual, "arraysEqual"); +function copyArray(a, b) { + for (let i = 0, l = b.length; i < l; i++) { + a[i] = b[i]; + } +} +__name(copyArray, "copyArray"); +function allocTexUnits(textures, n) { + let r = arrayCacheI32[n]; + if (r === void 0) { + r = new Int32Array(n); + arrayCacheI32[n] = r; + } + for (let i = 0; i !== n; ++i) { + r[i] = textures.allocateTextureUnit(); + } + return r; +} +__name(allocTexUnits, "allocTexUnits"); +function setValueV1f(gl, v) { + const cache = this.cache; + if (cache[0] === v) return; + gl.uniform1f(this.addr, v); + cache[0] = v; +} +__name(setValueV1f, "setValueV1f"); +function setValueV2f(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y) { + gl.uniform2f(this.addr, v.x, v.y); + cache[0] = v.x; + cache[1] = v.y; + } + } else { + if (arraysEqual(cache, v)) return; + gl.uniform2fv(this.addr, v); + copyArray(cache, v); + } +} +__name(setValueV2f, "setValueV2f"); +function setValueV3f(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z) { + gl.uniform3f(this.addr, v.x, v.y, v.z); + cache[0] = v.x; + cache[1] = v.y; + cache[2] = v.z; + } + } else if (v.r !== void 0) { + if (cache[0] !== v.r || cache[1] !== v.g || cache[2] !== v.b) { + gl.uniform3f(this.addr, v.r, v.g, v.b); + cache[0] = v.r; + cache[1] = v.g; + cache[2] = v.b; + } + } else { + if (arraysEqual(cache, v)) return; + gl.uniform3fv(this.addr, v); + copyArray(cache, v); + } +} +__name(setValueV3f, "setValueV3f"); +function setValueV4f(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z || cache[3] !== v.w) { + gl.uniform4f(this.addr, v.x, v.y, v.z, v.w); + cache[0] = v.x; + cache[1] = v.y; + cache[2] = v.z; + cache[3] = v.w; + } + } else { + if (arraysEqual(cache, v)) return; + gl.uniform4fv(this.addr, v); + copyArray(cache, v); + } +} +__name(setValueV4f, "setValueV4f"); +function setValueM2(gl, v) { + const cache = this.cache; + const elements = v.elements; + if (elements === void 0) { + if (arraysEqual(cache, v)) return; + gl.uniformMatrix2fv(this.addr, false, v); + copyArray(cache, v); + } else { + if (arraysEqual(cache, elements)) return; + mat2array.set(elements); + gl.uniformMatrix2fv(this.addr, false, mat2array); + copyArray(cache, elements); + } +} +__name(setValueM2, "setValueM2"); +function setValueM3(gl, v) { + const cache = this.cache; + const elements = v.elements; + if (elements === void 0) { + if (arraysEqual(cache, v)) return; + gl.uniformMatrix3fv(this.addr, false, v); + copyArray(cache, v); + } else { + if (arraysEqual(cache, elements)) return; + mat3array.set(elements); + gl.uniformMatrix3fv(this.addr, false, mat3array); + copyArray(cache, elements); + } +} +__name(setValueM3, "setValueM3"); +function setValueM4(gl, v) { + const cache = this.cache; + const elements = v.elements; + if (elements === void 0) { + if (arraysEqual(cache, v)) return; + gl.uniformMatrix4fv(this.addr, false, v); + copyArray(cache, v); + } else { + if (arraysEqual(cache, elements)) return; + mat4array.set(elements); + gl.uniformMatrix4fv(this.addr, false, mat4array); + copyArray(cache, elements); + } +} +__name(setValueM4, "setValueM4"); +function setValueV1i(gl, v) { + const cache = this.cache; + if (cache[0] === v) return; + gl.uniform1i(this.addr, v); + cache[0] = v; +} +__name(setValueV1i, "setValueV1i"); +function setValueV2i(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y) { + gl.uniform2i(this.addr, v.x, v.y); + cache[0] = v.x; + cache[1] = v.y; + } + } else { + if (arraysEqual(cache, v)) return; + gl.uniform2iv(this.addr, v); + copyArray(cache, v); + } +} +__name(setValueV2i, "setValueV2i"); +function setValueV3i(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z) { + gl.uniform3i(this.addr, v.x, v.y, v.z); + cache[0] = v.x; + cache[1] = v.y; + cache[2] = v.z; + } + } else { + if (arraysEqual(cache, v)) return; + gl.uniform3iv(this.addr, v); + copyArray(cache, v); + } +} +__name(setValueV3i, "setValueV3i"); +function setValueV4i(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z || cache[3] !== v.w) { + gl.uniform4i(this.addr, v.x, v.y, v.z, v.w); + cache[0] = v.x; + cache[1] = v.y; + cache[2] = v.z; + cache[3] = v.w; + } + } else { + if (arraysEqual(cache, v)) return; + gl.uniform4iv(this.addr, v); + copyArray(cache, v); + } +} +__name(setValueV4i, "setValueV4i"); +function setValueV1ui(gl, v) { + const cache = this.cache; + if (cache[0] === v) return; + gl.uniform1ui(this.addr, v); + cache[0] = v; +} +__name(setValueV1ui, "setValueV1ui"); +function setValueV2ui(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y) { + gl.uniform2ui(this.addr, v.x, v.y); + cache[0] = v.x; + cache[1] = v.y; + } + } else { + if (arraysEqual(cache, v)) return; + gl.uniform2uiv(this.addr, v); + copyArray(cache, v); + } +} +__name(setValueV2ui, "setValueV2ui"); +function setValueV3ui(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z) { + gl.uniform3ui(this.addr, v.x, v.y, v.z); + cache[0] = v.x; + cache[1] = v.y; + cache[2] = v.z; + } + } else { + if (arraysEqual(cache, v)) return; + gl.uniform3uiv(this.addr, v); + copyArray(cache, v); + } +} +__name(setValueV3ui, "setValueV3ui"); +function setValueV4ui(gl, v) { + const cache = this.cache; + if (v.x !== void 0) { + if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z || cache[3] !== v.w) { + gl.uniform4ui(this.addr, v.x, v.y, v.z, v.w); + cache[0] = v.x; + cache[1] = v.y; + cache[2] = v.z; + cache[3] = v.w; + } + } else { + if (arraysEqual(cache, v)) return; + gl.uniform4uiv(this.addr, v); + copyArray(cache, v); + } +} +__name(setValueV4ui, "setValueV4ui"); +function setValueT1(gl, v, textures) { + const cache = this.cache; + const unit = textures.allocateTextureUnit(); + if (cache[0] !== unit) { + gl.uniform1i(this.addr, unit); + cache[0] = unit; + } + let emptyTexture2D; + if (this.type === gl.SAMPLER_2D_SHADOW) { + emptyShadowTexture.compareFunction = LessEqualCompare; + emptyTexture2D = emptyShadowTexture; + } else { + emptyTexture2D = emptyTexture; + } + textures.setTexture2D(v || emptyTexture2D, unit); +} +__name(setValueT1, "setValueT1"); +function setValueT3D1(gl, v, textures) { + const cache = this.cache; + const unit = textures.allocateTextureUnit(); + if (cache[0] !== unit) { + gl.uniform1i(this.addr, unit); + cache[0] = unit; + } + textures.setTexture3D(v || empty3dTexture, unit); +} +__name(setValueT3D1, "setValueT3D1"); +function setValueT6(gl, v, textures) { + const cache = this.cache; + const unit = textures.allocateTextureUnit(); + if (cache[0] !== unit) { + gl.uniform1i(this.addr, unit); + cache[0] = unit; + } + textures.setTextureCube(v || emptyCubeTexture, unit); +} +__name(setValueT6, "setValueT6"); +function setValueT2DArray1(gl, v, textures) { + const cache = this.cache; + const unit = textures.allocateTextureUnit(); + if (cache[0] !== unit) { + gl.uniform1i(this.addr, unit); + cache[0] = unit; + } + textures.setTexture2DArray(v || emptyArrayTexture, unit); +} +__name(setValueT2DArray1, "setValueT2DArray1"); +function getSingularSetter(type) { + switch (type) { + case 5126: + return setValueV1f; + case 35664: + return setValueV2f; + case 35665: + return setValueV3f; + case 35666: + return setValueV4f; + case 35674: + return setValueM2; + case 35675: + return setValueM3; + case 35676: + return setValueM4; + case 5124: + case 35670: + return setValueV1i; + case 35667: + case 35671: + return setValueV2i; + case 35668: + case 35672: + return setValueV3i; + case 35669: + case 35673: + return setValueV4i; + case 5125: + return setValueV1ui; + case 36294: + return setValueV2ui; + case 36295: + return setValueV3ui; + case 36296: + return setValueV4ui; + case 35678: + case 36198: + case 36298: + case 36306: + case 35682: + return setValueT1; + case 35679: + case 36299: + case 36307: + return setValueT3D1; + case 35680: + case 36300: + case 36308: + case 36293: + return setValueT6; + case 36289: + case 36303: + case 36311: + case 36292: + return setValueT2DArray1; + } +} +__name(getSingularSetter, "getSingularSetter"); +function setValueV1fArray(gl, v) { + gl.uniform1fv(this.addr, v); +} +__name(setValueV1fArray, "setValueV1fArray"); +function setValueV2fArray(gl, v) { + const data = flatten(v, this.size, 2); + gl.uniform2fv(this.addr, data); +} +__name(setValueV2fArray, "setValueV2fArray"); +function setValueV3fArray(gl, v) { + const data = flatten(v, this.size, 3); + gl.uniform3fv(this.addr, data); +} +__name(setValueV3fArray, "setValueV3fArray"); +function setValueV4fArray(gl, v) { + const data = flatten(v, this.size, 4); + gl.uniform4fv(this.addr, data); +} +__name(setValueV4fArray, "setValueV4fArray"); +function setValueM2Array(gl, v) { + const data = flatten(v, this.size, 4); + gl.uniformMatrix2fv(this.addr, false, data); +} +__name(setValueM2Array, "setValueM2Array"); +function setValueM3Array(gl, v) { + const data = flatten(v, this.size, 9); + gl.uniformMatrix3fv(this.addr, false, data); +} +__name(setValueM3Array, "setValueM3Array"); +function setValueM4Array(gl, v) { + const data = flatten(v, this.size, 16); + gl.uniformMatrix4fv(this.addr, false, data); +} +__name(setValueM4Array, "setValueM4Array"); +function setValueV1iArray(gl, v) { + gl.uniform1iv(this.addr, v); +} +__name(setValueV1iArray, "setValueV1iArray"); +function setValueV2iArray(gl, v) { + gl.uniform2iv(this.addr, v); +} +__name(setValueV2iArray, "setValueV2iArray"); +function setValueV3iArray(gl, v) { + gl.uniform3iv(this.addr, v); +} +__name(setValueV3iArray, "setValueV3iArray"); +function setValueV4iArray(gl, v) { + gl.uniform4iv(this.addr, v); +} +__name(setValueV4iArray, "setValueV4iArray"); +function setValueV1uiArray(gl, v) { + gl.uniform1uiv(this.addr, v); +} +__name(setValueV1uiArray, "setValueV1uiArray"); +function setValueV2uiArray(gl, v) { + gl.uniform2uiv(this.addr, v); +} +__name(setValueV2uiArray, "setValueV2uiArray"); +function setValueV3uiArray(gl, v) { + gl.uniform3uiv(this.addr, v); +} +__name(setValueV3uiArray, "setValueV3uiArray"); +function setValueV4uiArray(gl, v) { + gl.uniform4uiv(this.addr, v); +} +__name(setValueV4uiArray, "setValueV4uiArray"); +function setValueT1Array(gl, v, textures) { + const cache = this.cache; + const n = v.length; + const units = allocTexUnits(textures, n); + if (!arraysEqual(cache, units)) { + gl.uniform1iv(this.addr, units); + copyArray(cache, units); + } + for (let i = 0; i !== n; ++i) { + textures.setTexture2D(v[i] || emptyTexture, units[i]); + } +} +__name(setValueT1Array, "setValueT1Array"); +function setValueT3DArray(gl, v, textures) { + const cache = this.cache; + const n = v.length; + const units = allocTexUnits(textures, n); + if (!arraysEqual(cache, units)) { + gl.uniform1iv(this.addr, units); + copyArray(cache, units); + } + for (let i = 0; i !== n; ++i) { + textures.setTexture3D(v[i] || empty3dTexture, units[i]); + } +} +__name(setValueT3DArray, "setValueT3DArray"); +function setValueT6Array(gl, v, textures) { + const cache = this.cache; + const n = v.length; + const units = allocTexUnits(textures, n); + if (!arraysEqual(cache, units)) { + gl.uniform1iv(this.addr, units); + copyArray(cache, units); + } + for (let i = 0; i !== n; ++i) { + textures.setTextureCube(v[i] || emptyCubeTexture, units[i]); + } +} +__name(setValueT6Array, "setValueT6Array"); +function setValueT2DArrayArray(gl, v, textures) { + const cache = this.cache; + const n = v.length; + const units = allocTexUnits(textures, n); + if (!arraysEqual(cache, units)) { + gl.uniform1iv(this.addr, units); + copyArray(cache, units); + } + for (let i = 0; i !== n; ++i) { + textures.setTexture2DArray(v[i] || emptyArrayTexture, units[i]); + } +} +__name(setValueT2DArrayArray, "setValueT2DArrayArray"); +function getPureArraySetter(type) { + switch (type) { + case 5126: + return setValueV1fArray; + case 35664: + return setValueV2fArray; + case 35665: + return setValueV3fArray; + case 35666: + return setValueV4fArray; + case 35674: + return setValueM2Array; + case 35675: + return setValueM3Array; + case 35676: + return setValueM4Array; + case 5124: + case 35670: + return setValueV1iArray; + case 35667: + case 35671: + return setValueV2iArray; + case 35668: + case 35672: + return setValueV3iArray; + case 35669: + case 35673: + return setValueV4iArray; + case 5125: + return setValueV1uiArray; + case 36294: + return setValueV2uiArray; + case 36295: + return setValueV3uiArray; + case 36296: + return setValueV4uiArray; + case 35678: + case 36198: + case 36298: + case 36306: + case 35682: + return setValueT1Array; + case 35679: + case 36299: + case 36307: + return setValueT3DArray; + case 35680: + case 36300: + case 36308: + case 36293: + return setValueT6Array; + case 36289: + case 36303: + case 36311: + case 36292: + return setValueT2DArrayArray; + } +} +__name(getPureArraySetter, "getPureArraySetter"); +class SingleUniform { + static { + __name(this, "SingleUniform"); + } + constructor(id2, activeInfo, addr) { + this.id = id2; + this.addr = addr; + this.cache = []; + this.type = activeInfo.type; + this.setValue = getSingularSetter(activeInfo.type); + } +} +class PureArrayUniform { + static { + __name(this, "PureArrayUniform"); + } + constructor(id2, activeInfo, addr) { + this.id = id2; + this.addr = addr; + this.cache = []; + this.type = activeInfo.type; + this.size = activeInfo.size; + this.setValue = getPureArraySetter(activeInfo.type); + } +} +class StructuredUniform { + static { + __name(this, "StructuredUniform"); + } + constructor(id2) { + this.id = id2; + this.seq = []; + this.map = {}; + } + setValue(gl, value, textures) { + const seq = this.seq; + for (let i = 0, n = seq.length; i !== n; ++i) { + const u = seq[i]; + u.setValue(gl, value[u.id], textures); + } + } +} +const RePathPart = /(\w+)(\])?(\[|\.)?/g; +function addUniform(container, uniformObject) { + container.seq.push(uniformObject); + container.map[uniformObject.id] = uniformObject; +} +__name(addUniform, "addUniform"); +function parseUniform(activeInfo, addr, container) { + const path = activeInfo.name, pathLength = path.length; + RePathPart.lastIndex = 0; + while (true) { + const match = RePathPart.exec(path), matchEnd = RePathPart.lastIndex; + let id2 = match[1]; + const idIsIndex = match[2] === "]", subscript = match[3]; + if (idIsIndex) id2 = id2 | 0; + if (subscript === void 0 || subscript === "[" && matchEnd + 2 === pathLength) { + addUniform(container, subscript === void 0 ? new SingleUniform(id2, activeInfo, addr) : new PureArrayUniform(id2, activeInfo, addr)); + break; + } else { + const map = container.map; + let next = map[id2]; + if (next === void 0) { + next = new StructuredUniform(id2); + addUniform(container, next); + } + container = next; + } + } +} +__name(parseUniform, "parseUniform"); +class WebGLUniforms { + static { + __name(this, "WebGLUniforms"); + } + constructor(gl, program) { + this.seq = []; + this.map = {}; + const n = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS); + for (let i = 0; i < n; ++i) { + const info = gl.getActiveUniform(program, i), addr = gl.getUniformLocation(program, info.name); + parseUniform(info, addr, this); + } + } + setValue(gl, name, value, textures) { + const u = this.map[name]; + if (u !== void 0) u.setValue(gl, value, textures); + } + setOptional(gl, object, name) { + const v = object[name]; + if (v !== void 0) this.setValue(gl, name, v); + } + static upload(gl, seq, values, textures) { + for (let i = 0, n = seq.length; i !== n; ++i) { + const u = seq[i], v = values[u.id]; + if (v.needsUpdate !== false) { + u.setValue(gl, v.value, textures); + } + } + } + static seqWithValue(seq, values) { + const r = []; + for (let i = 0, n = seq.length; i !== n; ++i) { + const u = seq[i]; + if (u.id in values) r.push(u); + } + return r; + } +} +function WebGLShader(gl, type, string) { + const shader = gl.createShader(type); + gl.shaderSource(shader, string); + gl.compileShader(shader); + return shader; +} +__name(WebGLShader, "WebGLShader"); +const COMPLETION_STATUS_KHR = 37297; +let programIdCount = 0; +function handleSource(string, errorLine) { + const lines = string.split("\n"); + const lines2 = []; + const from = Math.max(errorLine - 6, 0); + const to = Math.min(errorLine + 6, lines.length); + for (let i = from; i < to; i++) { + const line = i + 1; + lines2.push(`${line === errorLine ? ">" : " "} ${line}: ${lines[i]}`); + } + return lines2.join("\n"); +} +__name(handleSource, "handleSource"); +const _m0 = /* @__PURE__ */ new Matrix3(); +function getEncodingComponents(colorSpace) { + ColorManagement._getMatrix(_m0, ColorManagement.workingColorSpace, colorSpace); + const encodingMatrix = `mat3( ${_m0.elements.map((v) => v.toFixed(4))} )`; + switch (ColorManagement.getTransfer(colorSpace)) { + case LinearTransfer: + return [encodingMatrix, "LinearTransferOETF"]; + case SRGBTransfer: + return [encodingMatrix, "sRGBTransferOETF"]; + default: + console.warn("THREE.WebGLProgram: Unsupported color space: ", colorSpace); + return [encodingMatrix, "LinearTransferOETF"]; + } +} +__name(getEncodingComponents, "getEncodingComponents"); +function getShaderErrors(gl, shader, type) { + const status = gl.getShaderParameter(shader, gl.COMPILE_STATUS); + const errors = gl.getShaderInfoLog(shader).trim(); + if (status && errors === "") return ""; + const errorMatches = /ERROR: 0:(\d+)/.exec(errors); + if (errorMatches) { + const errorLine = parseInt(errorMatches[1]); + return type.toUpperCase() + "\n\n" + errors + "\n\n" + handleSource(gl.getShaderSource(shader), errorLine); + } else { + return errors; + } +} +__name(getShaderErrors, "getShaderErrors"); +function getTexelEncodingFunction(functionName, colorSpace) { + const components = getEncodingComponents(colorSpace); + return [ + `vec4 ${functionName}( vec4 value ) {`, + ` return ${components[1]}( vec4( value.rgb * ${components[0]}, value.a ) );`, + "}" + ].join("\n"); +} +__name(getTexelEncodingFunction, "getTexelEncodingFunction"); +function getToneMappingFunction(functionName, toneMapping) { + let toneMappingName; + switch (toneMapping) { + case LinearToneMapping: + toneMappingName = "Linear"; + break; + case ReinhardToneMapping: + toneMappingName = "Reinhard"; + break; + case CineonToneMapping: + toneMappingName = "Cineon"; + break; + case ACESFilmicToneMapping: + toneMappingName = "ACESFilmic"; + break; + case AgXToneMapping: + toneMappingName = "AgX"; + break; + case NeutralToneMapping: + toneMappingName = "Neutral"; + break; + case CustomToneMapping: + toneMappingName = "Custom"; + break; + default: + console.warn("THREE.WebGLProgram: Unsupported toneMapping:", toneMapping); + toneMappingName = "Linear"; + } + return "vec3 " + functionName + "( vec3 color ) { return " + toneMappingName + "ToneMapping( color ); }"; +} +__name(getToneMappingFunction, "getToneMappingFunction"); +const _v0$1 = /* @__PURE__ */ new Vector3(); +function getLuminanceFunction() { + ColorManagement.getLuminanceCoefficients(_v0$1); + const r = _v0$1.x.toFixed(4); + const g = _v0$1.y.toFixed(4); + const b = _v0$1.z.toFixed(4); + return [ + "float luminance( const in vec3 rgb ) {", + ` const vec3 weights = vec3( ${r}, ${g}, ${b} );`, + " return dot( weights, rgb );", + "}" + ].join("\n"); +} +__name(getLuminanceFunction, "getLuminanceFunction"); +function generateVertexExtensions(parameters) { + const chunks = [ + parameters.extensionClipCullDistance ? "#extension GL_ANGLE_clip_cull_distance : require" : "", + parameters.extensionMultiDraw ? "#extension GL_ANGLE_multi_draw : require" : "" + ]; + return chunks.filter(filterEmptyLine).join("\n"); +} +__name(generateVertexExtensions, "generateVertexExtensions"); +function generateDefines(defines) { + const chunks = []; + for (const name in defines) { + const value = defines[name]; + if (value === false) continue; + chunks.push("#define " + name + " " + value); + } + return chunks.join("\n"); +} +__name(generateDefines, "generateDefines"); +function fetchAttributeLocations(gl, program) { + const attributes = {}; + const n = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES); + for (let i = 0; i < n; i++) { + const info = gl.getActiveAttrib(program, i); + const name = info.name; + let locationSize = 1; + if (info.type === gl.FLOAT_MAT2) locationSize = 2; + if (info.type === gl.FLOAT_MAT3) locationSize = 3; + if (info.type === gl.FLOAT_MAT4) locationSize = 4; + attributes[name] = { + type: info.type, + location: gl.getAttribLocation(program, name), + locationSize + }; + } + return attributes; +} +__name(fetchAttributeLocations, "fetchAttributeLocations"); +function filterEmptyLine(string) { + return string !== ""; +} +__name(filterEmptyLine, "filterEmptyLine"); +function replaceLightNums(string, parameters) { + const numSpotLightCoords = parameters.numSpotLightShadows + parameters.numSpotLightMaps - parameters.numSpotLightShadowsWithMaps; + return string.replace(/NUM_DIR_LIGHTS/g, parameters.numDirLights).replace(/NUM_SPOT_LIGHTS/g, parameters.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g, parameters.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g, numSpotLightCoords).replace(/NUM_RECT_AREA_LIGHTS/g, parameters.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g, parameters.numPointLights).replace(/NUM_HEMI_LIGHTS/g, parameters.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g, parameters.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g, parameters.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g, parameters.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g, parameters.numPointLightShadows); +} +__name(replaceLightNums, "replaceLightNums"); +function replaceClippingPlaneNums(string, parameters) { + return string.replace(/NUM_CLIPPING_PLANES/g, parameters.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g, parameters.numClippingPlanes - parameters.numClipIntersection); +} +__name(replaceClippingPlaneNums, "replaceClippingPlaneNums"); +const includePattern = /^[ \t]*#include +<([\w\d./]+)>/gm; +function resolveIncludes(string) { + return string.replace(includePattern, includeReplacer); +} +__name(resolveIncludes, "resolveIncludes"); +const shaderChunkMap = /* @__PURE__ */ new Map(); +function includeReplacer(match, include) { + let string = ShaderChunk[include]; + if (string === void 0) { + const newInclude = shaderChunkMap.get(include); + if (newInclude !== void 0) { + string = ShaderChunk[newInclude]; + console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.', include, newInclude); + } else { + throw new Error("Can not resolve #include <" + include + ">"); + } + } + return resolveIncludes(string); +} +__name(includeReplacer, "includeReplacer"); +const unrollLoopPattern = /#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g; +function unrollLoops(string) { + return string.replace(unrollLoopPattern, loopReplacer); +} +__name(unrollLoops, "unrollLoops"); +function loopReplacer(match, start, end, snippet) { + let string = ""; + for (let i = parseInt(start); i < parseInt(end); i++) { + string += snippet.replace(/\[\s*i\s*\]/g, "[ " + i + " ]").replace(/UNROLLED_LOOP_INDEX/g, i); + } + return string; +} +__name(loopReplacer, "loopReplacer"); +function generatePrecision(parameters) { + let precisionstring = `precision ${parameters.precision} float; + precision ${parameters.precision} int; + precision ${parameters.precision} sampler2D; + precision ${parameters.precision} samplerCube; + precision ${parameters.precision} sampler3D; + precision ${parameters.precision} sampler2DArray; + precision ${parameters.precision} sampler2DShadow; + precision ${parameters.precision} samplerCubeShadow; + precision ${parameters.precision} sampler2DArrayShadow; + precision ${parameters.precision} isampler2D; + precision ${parameters.precision} isampler3D; + precision ${parameters.precision} isamplerCube; + precision ${parameters.precision} isampler2DArray; + precision ${parameters.precision} usampler2D; + precision ${parameters.precision} usampler3D; + precision ${parameters.precision} usamplerCube; + precision ${parameters.precision} usampler2DArray; + `; + if (parameters.precision === "highp") { + precisionstring += "\n#define HIGH_PRECISION"; + } else if (parameters.precision === "mediump") { + precisionstring += "\n#define MEDIUM_PRECISION"; + } else if (parameters.precision === "lowp") { + precisionstring += "\n#define LOW_PRECISION"; + } + return precisionstring; +} +__name(generatePrecision, "generatePrecision"); +function generateShadowMapTypeDefine(parameters) { + let shadowMapTypeDefine = "SHADOWMAP_TYPE_BASIC"; + if (parameters.shadowMapType === PCFShadowMap) { + shadowMapTypeDefine = "SHADOWMAP_TYPE_PCF"; + } else if (parameters.shadowMapType === PCFSoftShadowMap) { + shadowMapTypeDefine = "SHADOWMAP_TYPE_PCF_SOFT"; + } else if (parameters.shadowMapType === VSMShadowMap) { + shadowMapTypeDefine = "SHADOWMAP_TYPE_VSM"; + } + return shadowMapTypeDefine; +} +__name(generateShadowMapTypeDefine, "generateShadowMapTypeDefine"); +function generateEnvMapTypeDefine(parameters) { + let envMapTypeDefine = "ENVMAP_TYPE_CUBE"; + if (parameters.envMap) { + switch (parameters.envMapMode) { + case CubeReflectionMapping: + case CubeRefractionMapping: + envMapTypeDefine = "ENVMAP_TYPE_CUBE"; + break; + case CubeUVReflectionMapping: + envMapTypeDefine = "ENVMAP_TYPE_CUBE_UV"; + break; + } + } + return envMapTypeDefine; +} +__name(generateEnvMapTypeDefine, "generateEnvMapTypeDefine"); +function generateEnvMapModeDefine(parameters) { + let envMapModeDefine = "ENVMAP_MODE_REFLECTION"; + if (parameters.envMap) { + switch (parameters.envMapMode) { + case CubeRefractionMapping: + envMapModeDefine = "ENVMAP_MODE_REFRACTION"; + break; + } + } + return envMapModeDefine; +} +__name(generateEnvMapModeDefine, "generateEnvMapModeDefine"); +function generateEnvMapBlendingDefine(parameters) { + let envMapBlendingDefine = "ENVMAP_BLENDING_NONE"; + if (parameters.envMap) { + switch (parameters.combine) { + case MultiplyOperation: + envMapBlendingDefine = "ENVMAP_BLENDING_MULTIPLY"; + break; + case MixOperation: + envMapBlendingDefine = "ENVMAP_BLENDING_MIX"; + break; + case AddOperation: + envMapBlendingDefine = "ENVMAP_BLENDING_ADD"; + break; + } + } + return envMapBlendingDefine; +} +__name(generateEnvMapBlendingDefine, "generateEnvMapBlendingDefine"); +function generateCubeUVSize(parameters) { + const imageHeight = parameters.envMapCubeUVHeight; + if (imageHeight === null) return null; + const maxMip = Math.log2(imageHeight) - 2; + const texelHeight = 1 / imageHeight; + const texelWidth = 1 / (3 * Math.max(Math.pow(2, maxMip), 7 * 16)); + return { texelWidth, texelHeight, maxMip }; +} +__name(generateCubeUVSize, "generateCubeUVSize"); +function WebGLProgram(renderer, cacheKey, parameters, bindingStates) { + const gl = renderer.getContext(); + const defines = parameters.defines; + let vertexShader = parameters.vertexShader; + let fragmentShader = parameters.fragmentShader; + const shadowMapTypeDefine = generateShadowMapTypeDefine(parameters); + const envMapTypeDefine = generateEnvMapTypeDefine(parameters); + const envMapModeDefine = generateEnvMapModeDefine(parameters); + const envMapBlendingDefine = generateEnvMapBlendingDefine(parameters); + const envMapCubeUVSize = generateCubeUVSize(parameters); + const customVertexExtensions = generateVertexExtensions(parameters); + const customDefines = generateDefines(defines); + const program = gl.createProgram(); + let prefixVertex, prefixFragment; + let versionString = parameters.glslVersion ? "#version " + parameters.glslVersion + "\n" : ""; + if (parameters.isRawShaderMaterial) { + prefixVertex = [ + "#define SHADER_TYPE " + parameters.shaderType, + "#define SHADER_NAME " + parameters.shaderName, + customDefines + ].filter(filterEmptyLine).join("\n"); + if (prefixVertex.length > 0) { + prefixVertex += "\n"; + } + prefixFragment = [ + "#define SHADER_TYPE " + parameters.shaderType, + "#define SHADER_NAME " + parameters.shaderName, + customDefines + ].filter(filterEmptyLine).join("\n"); + if (prefixFragment.length > 0) { + prefixFragment += "\n"; + } + } else { + prefixVertex = [ + generatePrecision(parameters), + "#define SHADER_TYPE " + parameters.shaderType, + "#define SHADER_NAME " + parameters.shaderName, + customDefines, + parameters.extensionClipCullDistance ? "#define USE_CLIP_DISTANCE" : "", + parameters.batching ? "#define USE_BATCHING" : "", + parameters.batchingColor ? "#define USE_BATCHING_COLOR" : "", + parameters.instancing ? "#define USE_INSTANCING" : "", + parameters.instancingColor ? "#define USE_INSTANCING_COLOR" : "", + parameters.instancingMorph ? "#define USE_INSTANCING_MORPH" : "", + parameters.useFog && parameters.fog ? "#define USE_FOG" : "", + parameters.useFog && parameters.fogExp2 ? "#define FOG_EXP2" : "", + parameters.map ? "#define USE_MAP" : "", + parameters.envMap ? "#define USE_ENVMAP" : "", + parameters.envMap ? "#define " + envMapModeDefine : "", + parameters.lightMap ? "#define USE_LIGHTMAP" : "", + parameters.aoMap ? "#define USE_AOMAP" : "", + parameters.bumpMap ? "#define USE_BUMPMAP" : "", + parameters.normalMap ? "#define USE_NORMALMAP" : "", + parameters.normalMapObjectSpace ? "#define USE_NORMALMAP_OBJECTSPACE" : "", + parameters.normalMapTangentSpace ? "#define USE_NORMALMAP_TANGENTSPACE" : "", + parameters.displacementMap ? "#define USE_DISPLACEMENTMAP" : "", + parameters.emissiveMap ? "#define USE_EMISSIVEMAP" : "", + parameters.anisotropy ? "#define USE_ANISOTROPY" : "", + parameters.anisotropyMap ? "#define USE_ANISOTROPYMAP" : "", + parameters.clearcoatMap ? "#define USE_CLEARCOATMAP" : "", + parameters.clearcoatRoughnessMap ? "#define USE_CLEARCOAT_ROUGHNESSMAP" : "", + parameters.clearcoatNormalMap ? "#define USE_CLEARCOAT_NORMALMAP" : "", + parameters.iridescenceMap ? "#define USE_IRIDESCENCEMAP" : "", + parameters.iridescenceThicknessMap ? "#define USE_IRIDESCENCE_THICKNESSMAP" : "", + parameters.specularMap ? "#define USE_SPECULARMAP" : "", + parameters.specularColorMap ? "#define USE_SPECULAR_COLORMAP" : "", + parameters.specularIntensityMap ? "#define USE_SPECULAR_INTENSITYMAP" : "", + parameters.roughnessMap ? "#define USE_ROUGHNESSMAP" : "", + parameters.metalnessMap ? "#define USE_METALNESSMAP" : "", + parameters.alphaMap ? "#define USE_ALPHAMAP" : "", + parameters.alphaHash ? "#define USE_ALPHAHASH" : "", + parameters.transmission ? "#define USE_TRANSMISSION" : "", + parameters.transmissionMap ? "#define USE_TRANSMISSIONMAP" : "", + parameters.thicknessMap ? "#define USE_THICKNESSMAP" : "", + parameters.sheenColorMap ? "#define USE_SHEEN_COLORMAP" : "", + parameters.sheenRoughnessMap ? "#define USE_SHEEN_ROUGHNESSMAP" : "", + // + parameters.mapUv ? "#define MAP_UV " + parameters.mapUv : "", + parameters.alphaMapUv ? "#define ALPHAMAP_UV " + parameters.alphaMapUv : "", + parameters.lightMapUv ? "#define LIGHTMAP_UV " + parameters.lightMapUv : "", + parameters.aoMapUv ? "#define AOMAP_UV " + parameters.aoMapUv : "", + parameters.emissiveMapUv ? "#define EMISSIVEMAP_UV " + parameters.emissiveMapUv : "", + parameters.bumpMapUv ? "#define BUMPMAP_UV " + parameters.bumpMapUv : "", + parameters.normalMapUv ? "#define NORMALMAP_UV " + parameters.normalMapUv : "", + parameters.displacementMapUv ? "#define DISPLACEMENTMAP_UV " + parameters.displacementMapUv : "", + parameters.metalnessMapUv ? "#define METALNESSMAP_UV " + parameters.metalnessMapUv : "", + parameters.roughnessMapUv ? "#define ROUGHNESSMAP_UV " + parameters.roughnessMapUv : "", + parameters.anisotropyMapUv ? "#define ANISOTROPYMAP_UV " + parameters.anisotropyMapUv : "", + parameters.clearcoatMapUv ? "#define CLEARCOATMAP_UV " + parameters.clearcoatMapUv : "", + parameters.clearcoatNormalMapUv ? "#define CLEARCOAT_NORMALMAP_UV " + parameters.clearcoatNormalMapUv : "", + parameters.clearcoatRoughnessMapUv ? "#define CLEARCOAT_ROUGHNESSMAP_UV " + parameters.clearcoatRoughnessMapUv : "", + parameters.iridescenceMapUv ? "#define IRIDESCENCEMAP_UV " + parameters.iridescenceMapUv : "", + parameters.iridescenceThicknessMapUv ? "#define IRIDESCENCE_THICKNESSMAP_UV " + parameters.iridescenceThicknessMapUv : "", + parameters.sheenColorMapUv ? "#define SHEEN_COLORMAP_UV " + parameters.sheenColorMapUv : "", + parameters.sheenRoughnessMapUv ? "#define SHEEN_ROUGHNESSMAP_UV " + parameters.sheenRoughnessMapUv : "", + parameters.specularMapUv ? "#define SPECULARMAP_UV " + parameters.specularMapUv : "", + parameters.specularColorMapUv ? "#define SPECULAR_COLORMAP_UV " + parameters.specularColorMapUv : "", + parameters.specularIntensityMapUv ? "#define SPECULAR_INTENSITYMAP_UV " + parameters.specularIntensityMapUv : "", + parameters.transmissionMapUv ? "#define TRANSMISSIONMAP_UV " + parameters.transmissionMapUv : "", + parameters.thicknessMapUv ? "#define THICKNESSMAP_UV " + parameters.thicknessMapUv : "", + // + parameters.vertexTangents && parameters.flatShading === false ? "#define USE_TANGENT" : "", + parameters.vertexColors ? "#define USE_COLOR" : "", + parameters.vertexAlphas ? "#define USE_COLOR_ALPHA" : "", + parameters.vertexUv1s ? "#define USE_UV1" : "", + parameters.vertexUv2s ? "#define USE_UV2" : "", + parameters.vertexUv3s ? "#define USE_UV3" : "", + parameters.pointsUvs ? "#define USE_POINTS_UV" : "", + parameters.flatShading ? "#define FLAT_SHADED" : "", + parameters.skinning ? "#define USE_SKINNING" : "", + parameters.morphTargets ? "#define USE_MORPHTARGETS" : "", + parameters.morphNormals && parameters.flatShading === false ? "#define USE_MORPHNORMALS" : "", + parameters.morphColors ? "#define USE_MORPHCOLORS" : "", + parameters.morphTargetsCount > 0 ? "#define MORPHTARGETS_TEXTURE_STRIDE " + parameters.morphTextureStride : "", + parameters.morphTargetsCount > 0 ? "#define MORPHTARGETS_COUNT " + parameters.morphTargetsCount : "", + parameters.doubleSided ? "#define DOUBLE_SIDED" : "", + parameters.flipSided ? "#define FLIP_SIDED" : "", + parameters.shadowMapEnabled ? "#define USE_SHADOWMAP" : "", + parameters.shadowMapEnabled ? "#define " + shadowMapTypeDefine : "", + parameters.sizeAttenuation ? "#define USE_SIZEATTENUATION" : "", + parameters.numLightProbes > 0 ? "#define USE_LIGHT_PROBES" : "", + parameters.logarithmicDepthBuffer ? "#define USE_LOGDEPTHBUF" : "", + parameters.reverseDepthBuffer ? "#define USE_REVERSEDEPTHBUF" : "", + "uniform mat4 modelMatrix;", + "uniform mat4 modelViewMatrix;", + "uniform mat4 projectionMatrix;", + "uniform mat4 viewMatrix;", + "uniform mat3 normalMatrix;", + "uniform vec3 cameraPosition;", + "uniform bool isOrthographic;", + "#ifdef USE_INSTANCING", + " attribute mat4 instanceMatrix;", + "#endif", + "#ifdef USE_INSTANCING_COLOR", + " attribute vec3 instanceColor;", + "#endif", + "#ifdef USE_INSTANCING_MORPH", + " uniform sampler2D morphTexture;", + "#endif", + "attribute vec3 position;", + "attribute vec3 normal;", + "attribute vec2 uv;", + "#ifdef USE_UV1", + " attribute vec2 uv1;", + "#endif", + "#ifdef USE_UV2", + " attribute vec2 uv2;", + "#endif", + "#ifdef USE_UV3", + " attribute vec2 uv3;", + "#endif", + "#ifdef USE_TANGENT", + " attribute vec4 tangent;", + "#endif", + "#if defined( USE_COLOR_ALPHA )", + " attribute vec4 color;", + "#elif defined( USE_COLOR )", + " attribute vec3 color;", + "#endif", + "#ifdef USE_SKINNING", + " attribute vec4 skinIndex;", + " attribute vec4 skinWeight;", + "#endif", + "\n" + ].filter(filterEmptyLine).join("\n"); + prefixFragment = [ + generatePrecision(parameters), + "#define SHADER_TYPE " + parameters.shaderType, + "#define SHADER_NAME " + parameters.shaderName, + customDefines, + parameters.useFog && parameters.fog ? "#define USE_FOG" : "", + parameters.useFog && parameters.fogExp2 ? "#define FOG_EXP2" : "", + parameters.alphaToCoverage ? "#define ALPHA_TO_COVERAGE" : "", + parameters.map ? "#define USE_MAP" : "", + parameters.matcap ? "#define USE_MATCAP" : "", + parameters.envMap ? "#define USE_ENVMAP" : "", + parameters.envMap ? "#define " + envMapTypeDefine : "", + parameters.envMap ? "#define " + envMapModeDefine : "", + parameters.envMap ? "#define " + envMapBlendingDefine : "", + envMapCubeUVSize ? "#define CUBEUV_TEXEL_WIDTH " + envMapCubeUVSize.texelWidth : "", + envMapCubeUVSize ? "#define CUBEUV_TEXEL_HEIGHT " + envMapCubeUVSize.texelHeight : "", + envMapCubeUVSize ? "#define CUBEUV_MAX_MIP " + envMapCubeUVSize.maxMip + ".0" : "", + parameters.lightMap ? "#define USE_LIGHTMAP" : "", + parameters.aoMap ? "#define USE_AOMAP" : "", + parameters.bumpMap ? "#define USE_BUMPMAP" : "", + parameters.normalMap ? "#define USE_NORMALMAP" : "", + parameters.normalMapObjectSpace ? "#define USE_NORMALMAP_OBJECTSPACE" : "", + parameters.normalMapTangentSpace ? "#define USE_NORMALMAP_TANGENTSPACE" : "", + parameters.emissiveMap ? "#define USE_EMISSIVEMAP" : "", + parameters.anisotropy ? "#define USE_ANISOTROPY" : "", + parameters.anisotropyMap ? "#define USE_ANISOTROPYMAP" : "", + parameters.clearcoat ? "#define USE_CLEARCOAT" : "", + parameters.clearcoatMap ? "#define USE_CLEARCOATMAP" : "", + parameters.clearcoatRoughnessMap ? "#define USE_CLEARCOAT_ROUGHNESSMAP" : "", + parameters.clearcoatNormalMap ? "#define USE_CLEARCOAT_NORMALMAP" : "", + parameters.dispersion ? "#define USE_DISPERSION" : "", + parameters.iridescence ? "#define USE_IRIDESCENCE" : "", + parameters.iridescenceMap ? "#define USE_IRIDESCENCEMAP" : "", + parameters.iridescenceThicknessMap ? "#define USE_IRIDESCENCE_THICKNESSMAP" : "", + parameters.specularMap ? "#define USE_SPECULARMAP" : "", + parameters.specularColorMap ? "#define USE_SPECULAR_COLORMAP" : "", + parameters.specularIntensityMap ? "#define USE_SPECULAR_INTENSITYMAP" : "", + parameters.roughnessMap ? "#define USE_ROUGHNESSMAP" : "", + parameters.metalnessMap ? "#define USE_METALNESSMAP" : "", + parameters.alphaMap ? "#define USE_ALPHAMAP" : "", + parameters.alphaTest ? "#define USE_ALPHATEST" : "", + parameters.alphaHash ? "#define USE_ALPHAHASH" : "", + parameters.sheen ? "#define USE_SHEEN" : "", + parameters.sheenColorMap ? "#define USE_SHEEN_COLORMAP" : "", + parameters.sheenRoughnessMap ? "#define USE_SHEEN_ROUGHNESSMAP" : "", + parameters.transmission ? "#define USE_TRANSMISSION" : "", + parameters.transmissionMap ? "#define USE_TRANSMISSIONMAP" : "", + parameters.thicknessMap ? "#define USE_THICKNESSMAP" : "", + parameters.vertexTangents && parameters.flatShading === false ? "#define USE_TANGENT" : "", + parameters.vertexColors || parameters.instancingColor || parameters.batchingColor ? "#define USE_COLOR" : "", + parameters.vertexAlphas ? "#define USE_COLOR_ALPHA" : "", + parameters.vertexUv1s ? "#define USE_UV1" : "", + parameters.vertexUv2s ? "#define USE_UV2" : "", + parameters.vertexUv3s ? "#define USE_UV3" : "", + parameters.pointsUvs ? "#define USE_POINTS_UV" : "", + parameters.gradientMap ? "#define USE_GRADIENTMAP" : "", + parameters.flatShading ? "#define FLAT_SHADED" : "", + parameters.doubleSided ? "#define DOUBLE_SIDED" : "", + parameters.flipSided ? "#define FLIP_SIDED" : "", + parameters.shadowMapEnabled ? "#define USE_SHADOWMAP" : "", + parameters.shadowMapEnabled ? "#define " + shadowMapTypeDefine : "", + parameters.premultipliedAlpha ? "#define PREMULTIPLIED_ALPHA" : "", + parameters.numLightProbes > 0 ? "#define USE_LIGHT_PROBES" : "", + parameters.decodeVideoTexture ? "#define DECODE_VIDEO_TEXTURE" : "", + parameters.decodeVideoTextureEmissive ? "#define DECODE_VIDEO_TEXTURE_EMISSIVE" : "", + parameters.logarithmicDepthBuffer ? "#define USE_LOGDEPTHBUF" : "", + parameters.reverseDepthBuffer ? "#define USE_REVERSEDEPTHBUF" : "", + "uniform mat4 viewMatrix;", + "uniform vec3 cameraPosition;", + "uniform bool isOrthographic;", + parameters.toneMapping !== NoToneMapping ? "#define TONE_MAPPING" : "", + parameters.toneMapping !== NoToneMapping ? ShaderChunk["tonemapping_pars_fragment"] : "", + // this code is required here because it is used by the toneMapping() function defined below + parameters.toneMapping !== NoToneMapping ? getToneMappingFunction("toneMapping", parameters.toneMapping) : "", + parameters.dithering ? "#define DITHERING" : "", + parameters.opaque ? "#define OPAQUE" : "", + ShaderChunk["colorspace_pars_fragment"], + // this code is required here because it is used by the various encoding/decoding function defined below + getTexelEncodingFunction("linearToOutputTexel", parameters.outputColorSpace), + getLuminanceFunction(), + parameters.useDepthPacking ? "#define DEPTH_PACKING " + parameters.depthPacking : "", + "\n" + ].filter(filterEmptyLine).join("\n"); + } + vertexShader = resolveIncludes(vertexShader); + vertexShader = replaceLightNums(vertexShader, parameters); + vertexShader = replaceClippingPlaneNums(vertexShader, parameters); + fragmentShader = resolveIncludes(fragmentShader); + fragmentShader = replaceLightNums(fragmentShader, parameters); + fragmentShader = replaceClippingPlaneNums(fragmentShader, parameters); + vertexShader = unrollLoops(vertexShader); + fragmentShader = unrollLoops(fragmentShader); + if (parameters.isRawShaderMaterial !== true) { + versionString = "#version 300 es\n"; + prefixVertex = [ + customVertexExtensions, + "#define attribute in", + "#define varying out", + "#define texture2D texture" + ].join("\n") + "\n" + prefixVertex; + prefixFragment = [ + "#define varying in", + parameters.glslVersion === GLSL3 ? "" : "layout(location = 0) out highp vec4 pc_fragColor;", + parameters.glslVersion === GLSL3 ? "" : "#define gl_FragColor pc_fragColor", + "#define gl_FragDepthEXT gl_FragDepth", + "#define texture2D texture", + "#define textureCube texture", + "#define texture2DProj textureProj", + "#define texture2DLodEXT textureLod", + "#define texture2DProjLodEXT textureProjLod", + "#define textureCubeLodEXT textureLod", + "#define texture2DGradEXT textureGrad", + "#define texture2DProjGradEXT textureProjGrad", + "#define textureCubeGradEXT textureGrad" + ].join("\n") + "\n" + prefixFragment; + } + const vertexGlsl = versionString + prefixVertex + vertexShader; + const fragmentGlsl = versionString + prefixFragment + fragmentShader; + const glVertexShader = WebGLShader(gl, gl.VERTEX_SHADER, vertexGlsl); + const glFragmentShader = WebGLShader(gl, gl.FRAGMENT_SHADER, fragmentGlsl); + gl.attachShader(program, glVertexShader); + gl.attachShader(program, glFragmentShader); + if (parameters.index0AttributeName !== void 0) { + gl.bindAttribLocation(program, 0, parameters.index0AttributeName); + } else if (parameters.morphTargets === true) { + gl.bindAttribLocation(program, 0, "position"); + } + gl.linkProgram(program); + function onFirstUse(self2) { + if (renderer.debug.checkShaderErrors) { + const programLog = gl.getProgramInfoLog(program).trim(); + const vertexLog = gl.getShaderInfoLog(glVertexShader).trim(); + const fragmentLog = gl.getShaderInfoLog(glFragmentShader).trim(); + let runnable = true; + let haveDiagnostics = true; + if (gl.getProgramParameter(program, gl.LINK_STATUS) === false) { + runnable = false; + if (typeof renderer.debug.onShaderError === "function") { + renderer.debug.onShaderError(gl, program, glVertexShader, glFragmentShader); + } else { + const vertexErrors = getShaderErrors(gl, glVertexShader, "vertex"); + const fragmentErrors = getShaderErrors(gl, glFragmentShader, "fragment"); + console.error( + "THREE.WebGLProgram: Shader Error " + gl.getError() + " - VALIDATE_STATUS " + gl.getProgramParameter(program, gl.VALIDATE_STATUS) + "\n\nMaterial Name: " + self2.name + "\nMaterial Type: " + self2.type + "\n\nProgram Info Log: " + programLog + "\n" + vertexErrors + "\n" + fragmentErrors + ); + } + } else if (programLog !== "") { + console.warn("THREE.WebGLProgram: Program Info Log:", programLog); + } else if (vertexLog === "" || fragmentLog === "") { + haveDiagnostics = false; + } + if (haveDiagnostics) { + self2.diagnostics = { + runnable, + programLog, + vertexShader: { + log: vertexLog, + prefix: prefixVertex + }, + fragmentShader: { + log: fragmentLog, + prefix: prefixFragment + } + }; + } + } + gl.deleteShader(glVertexShader); + gl.deleteShader(glFragmentShader); + cachedUniforms = new WebGLUniforms(gl, program); + cachedAttributes = fetchAttributeLocations(gl, program); + } + __name(onFirstUse, "onFirstUse"); + let cachedUniforms; + this.getUniforms = function() { + if (cachedUniforms === void 0) { + onFirstUse(this); + } + return cachedUniforms; + }; + let cachedAttributes; + this.getAttributes = function() { + if (cachedAttributes === void 0) { + onFirstUse(this); + } + return cachedAttributes; + }; + let programReady = parameters.rendererExtensionParallelShaderCompile === false; + this.isReady = function() { + if (programReady === false) { + programReady = gl.getProgramParameter(program, COMPLETION_STATUS_KHR); + } + return programReady; + }; + this.destroy = function() { + bindingStates.releaseStatesOfProgram(this); + gl.deleteProgram(program); + this.program = void 0; + }; + this.type = parameters.shaderType; + this.name = parameters.shaderName; + this.id = programIdCount++; + this.cacheKey = cacheKey; + this.usedTimes = 1; + this.program = program; + this.vertexShader = glVertexShader; + this.fragmentShader = glFragmentShader; + return this; +} +__name(WebGLProgram, "WebGLProgram"); +let _id$1 = 0; +class WebGLShaderCache { + static { + __name(this, "WebGLShaderCache"); + } + constructor() { + this.shaderCache = /* @__PURE__ */ new Map(); + this.materialCache = /* @__PURE__ */ new Map(); + } + update(material) { + const vertexShader = material.vertexShader; + const fragmentShader = material.fragmentShader; + const vertexShaderStage = this._getShaderStage(vertexShader); + const fragmentShaderStage = this._getShaderStage(fragmentShader); + const materialShaders = this._getShaderCacheForMaterial(material); + if (materialShaders.has(vertexShaderStage) === false) { + materialShaders.add(vertexShaderStage); + vertexShaderStage.usedTimes++; + } + if (materialShaders.has(fragmentShaderStage) === false) { + materialShaders.add(fragmentShaderStage); + fragmentShaderStage.usedTimes++; + } + return this; + } + remove(material) { + const materialShaders = this.materialCache.get(material); + for (const shaderStage of materialShaders) { + shaderStage.usedTimes--; + if (shaderStage.usedTimes === 0) this.shaderCache.delete(shaderStage.code); + } + this.materialCache.delete(material); + return this; + } + getVertexShaderID(material) { + return this._getShaderStage(material.vertexShader).id; + } + getFragmentShaderID(material) { + return this._getShaderStage(material.fragmentShader).id; + } + dispose() { + this.shaderCache.clear(); + this.materialCache.clear(); + } + _getShaderCacheForMaterial(material) { + const cache = this.materialCache; + let set = cache.get(material); + if (set === void 0) { + set = /* @__PURE__ */ new Set(); + cache.set(material, set); + } + return set; + } + _getShaderStage(code) { + const cache = this.shaderCache; + let stage = cache.get(code); + if (stage === void 0) { + stage = new WebGLShaderStage(code); + cache.set(code, stage); + } + return stage; + } +} +class WebGLShaderStage { + static { + __name(this, "WebGLShaderStage"); + } + constructor(code) { + this.id = _id$1++; + this.code = code; + this.usedTimes = 0; + } +} +function WebGLPrograms(renderer, cubemaps, cubeuvmaps, extensions, capabilities, bindingStates, clipping) { + const _programLayers = new Layers(); + const _customShaders = new WebGLShaderCache(); + const _activeChannels = /* @__PURE__ */ new Set(); + const programs = []; + const logarithmicDepthBuffer = capabilities.logarithmicDepthBuffer; + const SUPPORTS_VERTEX_TEXTURES = capabilities.vertexTextures; + let precision = capabilities.precision; + const shaderIDs = { + MeshDepthMaterial: "depth", + MeshDistanceMaterial: "distanceRGBA", + MeshNormalMaterial: "normal", + MeshBasicMaterial: "basic", + MeshLambertMaterial: "lambert", + MeshPhongMaterial: "phong", + MeshToonMaterial: "toon", + MeshStandardMaterial: "physical", + MeshPhysicalMaterial: "physical", + MeshMatcapMaterial: "matcap", + LineBasicMaterial: "basic", + LineDashedMaterial: "dashed", + PointsMaterial: "points", + ShadowMaterial: "shadow", + SpriteMaterial: "sprite" + }; + function getChannel(value) { + _activeChannels.add(value); + if (value === 0) return "uv"; + return `uv${value}`; + } + __name(getChannel, "getChannel"); + function getParameters(material, lights, shadows, scene, object) { + const fog = scene.fog; + const geometry = object.geometry; + const environment = material.isMeshStandardMaterial ? scene.environment : null; + const envMap = (material.isMeshStandardMaterial ? cubeuvmaps : cubemaps).get(material.envMap || environment); + const envMapCubeUVHeight = !!envMap && envMap.mapping === CubeUVReflectionMapping ? envMap.image.height : null; + const shaderID = shaderIDs[material.type]; + if (material.precision !== null) { + precision = capabilities.getMaxPrecision(material.precision); + if (precision !== material.precision) { + console.warn("THREE.WebGLProgram.getParameters:", material.precision, "not supported, using", precision, "instead."); + } + } + const morphAttribute = geometry.morphAttributes.position || geometry.morphAttributes.normal || geometry.morphAttributes.color; + const morphTargetsCount = morphAttribute !== void 0 ? morphAttribute.length : 0; + let morphTextureStride = 0; + if (geometry.morphAttributes.position !== void 0) morphTextureStride = 1; + if (geometry.morphAttributes.normal !== void 0) morphTextureStride = 2; + if (geometry.morphAttributes.color !== void 0) morphTextureStride = 3; + let vertexShader, fragmentShader; + let customVertexShaderID, customFragmentShaderID; + if (shaderID) { + const shader = ShaderLib[shaderID]; + vertexShader = shader.vertexShader; + fragmentShader = shader.fragmentShader; + } else { + vertexShader = material.vertexShader; + fragmentShader = material.fragmentShader; + _customShaders.update(material); + customVertexShaderID = _customShaders.getVertexShaderID(material); + customFragmentShaderID = _customShaders.getFragmentShaderID(material); + } + const currentRenderTarget = renderer.getRenderTarget(); + const reverseDepthBuffer = renderer.state.buffers.depth.getReversed(); + const IS_INSTANCEDMESH = object.isInstancedMesh === true; + const IS_BATCHEDMESH = object.isBatchedMesh === true; + const HAS_MAP = !!material.map; + const HAS_MATCAP = !!material.matcap; + const HAS_ENVMAP = !!envMap; + const HAS_AOMAP = !!material.aoMap; + const HAS_LIGHTMAP = !!material.lightMap; + const HAS_BUMPMAP = !!material.bumpMap; + const HAS_NORMALMAP = !!material.normalMap; + const HAS_DISPLACEMENTMAP = !!material.displacementMap; + const HAS_EMISSIVEMAP = !!material.emissiveMap; + const HAS_METALNESSMAP = !!material.metalnessMap; + const HAS_ROUGHNESSMAP = !!material.roughnessMap; + const HAS_ANISOTROPY = material.anisotropy > 0; + const HAS_CLEARCOAT = material.clearcoat > 0; + const HAS_DISPERSION = material.dispersion > 0; + const HAS_IRIDESCENCE = material.iridescence > 0; + const HAS_SHEEN = material.sheen > 0; + const HAS_TRANSMISSION = material.transmission > 0; + const HAS_ANISOTROPYMAP = HAS_ANISOTROPY && !!material.anisotropyMap; + const HAS_CLEARCOATMAP = HAS_CLEARCOAT && !!material.clearcoatMap; + const HAS_CLEARCOAT_NORMALMAP = HAS_CLEARCOAT && !!material.clearcoatNormalMap; + const HAS_CLEARCOAT_ROUGHNESSMAP = HAS_CLEARCOAT && !!material.clearcoatRoughnessMap; + const HAS_IRIDESCENCEMAP = HAS_IRIDESCENCE && !!material.iridescenceMap; + const HAS_IRIDESCENCE_THICKNESSMAP = HAS_IRIDESCENCE && !!material.iridescenceThicknessMap; + const HAS_SHEEN_COLORMAP = HAS_SHEEN && !!material.sheenColorMap; + const HAS_SHEEN_ROUGHNESSMAP = HAS_SHEEN && !!material.sheenRoughnessMap; + const HAS_SPECULARMAP = !!material.specularMap; + const HAS_SPECULAR_COLORMAP = !!material.specularColorMap; + const HAS_SPECULAR_INTENSITYMAP = !!material.specularIntensityMap; + const HAS_TRANSMISSIONMAP = HAS_TRANSMISSION && !!material.transmissionMap; + const HAS_THICKNESSMAP = HAS_TRANSMISSION && !!material.thicknessMap; + const HAS_GRADIENTMAP = !!material.gradientMap; + const HAS_ALPHAMAP = !!material.alphaMap; + const HAS_ALPHATEST = material.alphaTest > 0; + const HAS_ALPHAHASH = !!material.alphaHash; + const HAS_EXTENSIONS = !!material.extensions; + let toneMapping = NoToneMapping; + if (material.toneMapped) { + if (currentRenderTarget === null || currentRenderTarget.isXRRenderTarget === true) { + toneMapping = renderer.toneMapping; + } + } + const parameters = { + shaderID, + shaderType: material.type, + shaderName: material.name, + vertexShader, + fragmentShader, + defines: material.defines, + customVertexShaderID, + customFragmentShaderID, + isRawShaderMaterial: material.isRawShaderMaterial === true, + glslVersion: material.glslVersion, + precision, + batching: IS_BATCHEDMESH, + batchingColor: IS_BATCHEDMESH && object._colorsTexture !== null, + instancing: IS_INSTANCEDMESH, + instancingColor: IS_INSTANCEDMESH && object.instanceColor !== null, + instancingMorph: IS_INSTANCEDMESH && object.morphTexture !== null, + supportsVertexTextures: SUPPORTS_VERTEX_TEXTURES, + outputColorSpace: currentRenderTarget === null ? renderer.outputColorSpace : currentRenderTarget.isXRRenderTarget === true ? currentRenderTarget.texture.colorSpace : LinearSRGBColorSpace, + alphaToCoverage: !!material.alphaToCoverage, + map: HAS_MAP, + matcap: HAS_MATCAP, + envMap: HAS_ENVMAP, + envMapMode: HAS_ENVMAP && envMap.mapping, + envMapCubeUVHeight, + aoMap: HAS_AOMAP, + lightMap: HAS_LIGHTMAP, + bumpMap: HAS_BUMPMAP, + normalMap: HAS_NORMALMAP, + displacementMap: SUPPORTS_VERTEX_TEXTURES && HAS_DISPLACEMENTMAP, + emissiveMap: HAS_EMISSIVEMAP, + normalMapObjectSpace: HAS_NORMALMAP && material.normalMapType === ObjectSpaceNormalMap, + normalMapTangentSpace: HAS_NORMALMAP && material.normalMapType === TangentSpaceNormalMap, + metalnessMap: HAS_METALNESSMAP, + roughnessMap: HAS_ROUGHNESSMAP, + anisotropy: HAS_ANISOTROPY, + anisotropyMap: HAS_ANISOTROPYMAP, + clearcoat: HAS_CLEARCOAT, + clearcoatMap: HAS_CLEARCOATMAP, + clearcoatNormalMap: HAS_CLEARCOAT_NORMALMAP, + clearcoatRoughnessMap: HAS_CLEARCOAT_ROUGHNESSMAP, + dispersion: HAS_DISPERSION, + iridescence: HAS_IRIDESCENCE, + iridescenceMap: HAS_IRIDESCENCEMAP, + iridescenceThicknessMap: HAS_IRIDESCENCE_THICKNESSMAP, + sheen: HAS_SHEEN, + sheenColorMap: HAS_SHEEN_COLORMAP, + sheenRoughnessMap: HAS_SHEEN_ROUGHNESSMAP, + specularMap: HAS_SPECULARMAP, + specularColorMap: HAS_SPECULAR_COLORMAP, + specularIntensityMap: HAS_SPECULAR_INTENSITYMAP, + transmission: HAS_TRANSMISSION, + transmissionMap: HAS_TRANSMISSIONMAP, + thicknessMap: HAS_THICKNESSMAP, + gradientMap: HAS_GRADIENTMAP, + opaque: material.transparent === false && material.blending === NormalBlending && material.alphaToCoverage === false, + alphaMap: HAS_ALPHAMAP, + alphaTest: HAS_ALPHATEST, + alphaHash: HAS_ALPHAHASH, + combine: material.combine, + // + mapUv: HAS_MAP && getChannel(material.map.channel), + aoMapUv: HAS_AOMAP && getChannel(material.aoMap.channel), + lightMapUv: HAS_LIGHTMAP && getChannel(material.lightMap.channel), + bumpMapUv: HAS_BUMPMAP && getChannel(material.bumpMap.channel), + normalMapUv: HAS_NORMALMAP && getChannel(material.normalMap.channel), + displacementMapUv: HAS_DISPLACEMENTMAP && getChannel(material.displacementMap.channel), + emissiveMapUv: HAS_EMISSIVEMAP && getChannel(material.emissiveMap.channel), + metalnessMapUv: HAS_METALNESSMAP && getChannel(material.metalnessMap.channel), + roughnessMapUv: HAS_ROUGHNESSMAP && getChannel(material.roughnessMap.channel), + anisotropyMapUv: HAS_ANISOTROPYMAP && getChannel(material.anisotropyMap.channel), + clearcoatMapUv: HAS_CLEARCOATMAP && getChannel(material.clearcoatMap.channel), + clearcoatNormalMapUv: HAS_CLEARCOAT_NORMALMAP && getChannel(material.clearcoatNormalMap.channel), + clearcoatRoughnessMapUv: HAS_CLEARCOAT_ROUGHNESSMAP && getChannel(material.clearcoatRoughnessMap.channel), + iridescenceMapUv: HAS_IRIDESCENCEMAP && getChannel(material.iridescenceMap.channel), + iridescenceThicknessMapUv: HAS_IRIDESCENCE_THICKNESSMAP && getChannel(material.iridescenceThicknessMap.channel), + sheenColorMapUv: HAS_SHEEN_COLORMAP && getChannel(material.sheenColorMap.channel), + sheenRoughnessMapUv: HAS_SHEEN_ROUGHNESSMAP && getChannel(material.sheenRoughnessMap.channel), + specularMapUv: HAS_SPECULARMAP && getChannel(material.specularMap.channel), + specularColorMapUv: HAS_SPECULAR_COLORMAP && getChannel(material.specularColorMap.channel), + specularIntensityMapUv: HAS_SPECULAR_INTENSITYMAP && getChannel(material.specularIntensityMap.channel), + transmissionMapUv: HAS_TRANSMISSIONMAP && getChannel(material.transmissionMap.channel), + thicknessMapUv: HAS_THICKNESSMAP && getChannel(material.thicknessMap.channel), + alphaMapUv: HAS_ALPHAMAP && getChannel(material.alphaMap.channel), + // + vertexTangents: !!geometry.attributes.tangent && (HAS_NORMALMAP || HAS_ANISOTROPY), + vertexColors: material.vertexColors, + vertexAlphas: material.vertexColors === true && !!geometry.attributes.color && geometry.attributes.color.itemSize === 4, + pointsUvs: object.isPoints === true && !!geometry.attributes.uv && (HAS_MAP || HAS_ALPHAMAP), + fog: !!fog, + useFog: material.fog === true, + fogExp2: !!fog && fog.isFogExp2, + flatShading: material.flatShading === true, + sizeAttenuation: material.sizeAttenuation === true, + logarithmicDepthBuffer, + reverseDepthBuffer, + skinning: object.isSkinnedMesh === true, + morphTargets: geometry.morphAttributes.position !== void 0, + morphNormals: geometry.morphAttributes.normal !== void 0, + morphColors: geometry.morphAttributes.color !== void 0, + morphTargetsCount, + morphTextureStride, + numDirLights: lights.directional.length, + numPointLights: lights.point.length, + numSpotLights: lights.spot.length, + numSpotLightMaps: lights.spotLightMap.length, + numRectAreaLights: lights.rectArea.length, + numHemiLights: lights.hemi.length, + numDirLightShadows: lights.directionalShadowMap.length, + numPointLightShadows: lights.pointShadowMap.length, + numSpotLightShadows: lights.spotShadowMap.length, + numSpotLightShadowsWithMaps: lights.numSpotLightShadowsWithMaps, + numLightProbes: lights.numLightProbes, + numClippingPlanes: clipping.numPlanes, + numClipIntersection: clipping.numIntersection, + dithering: material.dithering, + shadowMapEnabled: renderer.shadowMap.enabled && shadows.length > 0, + shadowMapType: renderer.shadowMap.type, + toneMapping, + decodeVideoTexture: HAS_MAP && material.map.isVideoTexture === true && ColorManagement.getTransfer(material.map.colorSpace) === SRGBTransfer, + decodeVideoTextureEmissive: HAS_EMISSIVEMAP && material.emissiveMap.isVideoTexture === true && ColorManagement.getTransfer(material.emissiveMap.colorSpace) === SRGBTransfer, + premultipliedAlpha: material.premultipliedAlpha, + doubleSided: material.side === DoubleSide, + flipSided: material.side === BackSide, + useDepthPacking: material.depthPacking >= 0, + depthPacking: material.depthPacking || 0, + index0AttributeName: material.index0AttributeName, + extensionClipCullDistance: HAS_EXTENSIONS && material.extensions.clipCullDistance === true && extensions.has("WEBGL_clip_cull_distance"), + extensionMultiDraw: (HAS_EXTENSIONS && material.extensions.multiDraw === true || IS_BATCHEDMESH) && extensions.has("WEBGL_multi_draw"), + rendererExtensionParallelShaderCompile: extensions.has("KHR_parallel_shader_compile"), + customProgramCacheKey: material.customProgramCacheKey() + }; + parameters.vertexUv1s = _activeChannels.has(1); + parameters.vertexUv2s = _activeChannels.has(2); + parameters.vertexUv3s = _activeChannels.has(3); + _activeChannels.clear(); + return parameters; + } + __name(getParameters, "getParameters"); + function getProgramCacheKey(parameters) { + const array = []; + if (parameters.shaderID) { + array.push(parameters.shaderID); + } else { + array.push(parameters.customVertexShaderID); + array.push(parameters.customFragmentShaderID); + } + if (parameters.defines !== void 0) { + for (const name in parameters.defines) { + array.push(name); + array.push(parameters.defines[name]); + } + } + if (parameters.isRawShaderMaterial === false) { + getProgramCacheKeyParameters(array, parameters); + getProgramCacheKeyBooleans(array, parameters); + array.push(renderer.outputColorSpace); + } + array.push(parameters.customProgramCacheKey); + return array.join(); + } + __name(getProgramCacheKey, "getProgramCacheKey"); + function getProgramCacheKeyParameters(array, parameters) { + array.push(parameters.precision); + array.push(parameters.outputColorSpace); + array.push(parameters.envMapMode); + array.push(parameters.envMapCubeUVHeight); + array.push(parameters.mapUv); + array.push(parameters.alphaMapUv); + array.push(parameters.lightMapUv); + array.push(parameters.aoMapUv); + array.push(parameters.bumpMapUv); + array.push(parameters.normalMapUv); + array.push(parameters.displacementMapUv); + array.push(parameters.emissiveMapUv); + array.push(parameters.metalnessMapUv); + array.push(parameters.roughnessMapUv); + array.push(parameters.anisotropyMapUv); + array.push(parameters.clearcoatMapUv); + array.push(parameters.clearcoatNormalMapUv); + array.push(parameters.clearcoatRoughnessMapUv); + array.push(parameters.iridescenceMapUv); + array.push(parameters.iridescenceThicknessMapUv); + array.push(parameters.sheenColorMapUv); + array.push(parameters.sheenRoughnessMapUv); + array.push(parameters.specularMapUv); + array.push(parameters.specularColorMapUv); + array.push(parameters.specularIntensityMapUv); + array.push(parameters.transmissionMapUv); + array.push(parameters.thicknessMapUv); + array.push(parameters.combine); + array.push(parameters.fogExp2); + array.push(parameters.sizeAttenuation); + array.push(parameters.morphTargetsCount); + array.push(parameters.morphAttributeCount); + array.push(parameters.numDirLights); + array.push(parameters.numPointLights); + array.push(parameters.numSpotLights); + array.push(parameters.numSpotLightMaps); + array.push(parameters.numHemiLights); + array.push(parameters.numRectAreaLights); + array.push(parameters.numDirLightShadows); + array.push(parameters.numPointLightShadows); + array.push(parameters.numSpotLightShadows); + array.push(parameters.numSpotLightShadowsWithMaps); + array.push(parameters.numLightProbes); + array.push(parameters.shadowMapType); + array.push(parameters.toneMapping); + array.push(parameters.numClippingPlanes); + array.push(parameters.numClipIntersection); + array.push(parameters.depthPacking); + } + __name(getProgramCacheKeyParameters, "getProgramCacheKeyParameters"); + function getProgramCacheKeyBooleans(array, parameters) { + _programLayers.disableAll(); + if (parameters.supportsVertexTextures) + _programLayers.enable(0); + if (parameters.instancing) + _programLayers.enable(1); + if (parameters.instancingColor) + _programLayers.enable(2); + if (parameters.instancingMorph) + _programLayers.enable(3); + if (parameters.matcap) + _programLayers.enable(4); + if (parameters.envMap) + _programLayers.enable(5); + if (parameters.normalMapObjectSpace) + _programLayers.enable(6); + if (parameters.normalMapTangentSpace) + _programLayers.enable(7); + if (parameters.clearcoat) + _programLayers.enable(8); + if (parameters.iridescence) + _programLayers.enable(9); + if (parameters.alphaTest) + _programLayers.enable(10); + if (parameters.vertexColors) + _programLayers.enable(11); + if (parameters.vertexAlphas) + _programLayers.enable(12); + if (parameters.vertexUv1s) + _programLayers.enable(13); + if (parameters.vertexUv2s) + _programLayers.enable(14); + if (parameters.vertexUv3s) + _programLayers.enable(15); + if (parameters.vertexTangents) + _programLayers.enable(16); + if (parameters.anisotropy) + _programLayers.enable(17); + if (parameters.alphaHash) + _programLayers.enable(18); + if (parameters.batching) + _programLayers.enable(19); + if (parameters.dispersion) + _programLayers.enable(20); + if (parameters.batchingColor) + _programLayers.enable(21); + array.push(_programLayers.mask); + _programLayers.disableAll(); + if (parameters.fog) + _programLayers.enable(0); + if (parameters.useFog) + _programLayers.enable(1); + if (parameters.flatShading) + _programLayers.enable(2); + if (parameters.logarithmicDepthBuffer) + _programLayers.enable(3); + if (parameters.reverseDepthBuffer) + _programLayers.enable(4); + if (parameters.skinning) + _programLayers.enable(5); + if (parameters.morphTargets) + _programLayers.enable(6); + if (parameters.morphNormals) + _programLayers.enable(7); + if (parameters.morphColors) + _programLayers.enable(8); + if (parameters.premultipliedAlpha) + _programLayers.enable(9); + if (parameters.shadowMapEnabled) + _programLayers.enable(10); + if (parameters.doubleSided) + _programLayers.enable(11); + if (parameters.flipSided) + _programLayers.enable(12); + if (parameters.useDepthPacking) + _programLayers.enable(13); + if (parameters.dithering) + _programLayers.enable(14); + if (parameters.transmission) + _programLayers.enable(15); + if (parameters.sheen) + _programLayers.enable(16); + if (parameters.opaque) + _programLayers.enable(17); + if (parameters.pointsUvs) + _programLayers.enable(18); + if (parameters.decodeVideoTexture) + _programLayers.enable(19); + if (parameters.decodeVideoTextureEmissive) + _programLayers.enable(20); + if (parameters.alphaToCoverage) + _programLayers.enable(21); + array.push(_programLayers.mask); + } + __name(getProgramCacheKeyBooleans, "getProgramCacheKeyBooleans"); + function getUniforms(material) { + const shaderID = shaderIDs[material.type]; + let uniforms; + if (shaderID) { + const shader = ShaderLib[shaderID]; + uniforms = UniformsUtils.clone(shader.uniforms); + } else { + uniforms = material.uniforms; + } + return uniforms; + } + __name(getUniforms, "getUniforms"); + function acquireProgram(parameters, cacheKey) { + let program; + for (let p = 0, pl = programs.length; p < pl; p++) { + const preexistingProgram = programs[p]; + if (preexistingProgram.cacheKey === cacheKey) { + program = preexistingProgram; + ++program.usedTimes; + break; + } + } + if (program === void 0) { + program = new WebGLProgram(renderer, cacheKey, parameters, bindingStates); + programs.push(program); + } + return program; + } + __name(acquireProgram, "acquireProgram"); + function releaseProgram(program) { + if (--program.usedTimes === 0) { + const i = programs.indexOf(program); + programs[i] = programs[programs.length - 1]; + programs.pop(); + program.destroy(); + } + } + __name(releaseProgram, "releaseProgram"); + function releaseShaderCache(material) { + _customShaders.remove(material); + } + __name(releaseShaderCache, "releaseShaderCache"); + function dispose() { + _customShaders.dispose(); + } + __name(dispose, "dispose"); + return { + getParameters, + getProgramCacheKey, + getUniforms, + acquireProgram, + releaseProgram, + releaseShaderCache, + // Exposed for resource monitoring & error feedback via renderer.info: + programs, + dispose + }; +} +__name(WebGLPrograms, "WebGLPrograms"); +function WebGLProperties() { + let properties = /* @__PURE__ */ new WeakMap(); + function has(object) { + return properties.has(object); + } + __name(has, "has"); + function get(object) { + let map = properties.get(object); + if (map === void 0) { + map = {}; + properties.set(object, map); + } + return map; + } + __name(get, "get"); + function remove(object) { + properties.delete(object); + } + __name(remove, "remove"); + function update(object, key, value) { + properties.get(object)[key] = value; + } + __name(update, "update"); + function dispose() { + properties = /* @__PURE__ */ new WeakMap(); + } + __name(dispose, "dispose"); + return { + has, + get, + remove, + update, + dispose + }; +} +__name(WebGLProperties, "WebGLProperties"); +function painterSortStable(a, b) { + if (a.groupOrder !== b.groupOrder) { + return a.groupOrder - b.groupOrder; + } else if (a.renderOrder !== b.renderOrder) { + return a.renderOrder - b.renderOrder; + } else if (a.material.id !== b.material.id) { + return a.material.id - b.material.id; + } else if (a.z !== b.z) { + return a.z - b.z; + } else { + return a.id - b.id; + } +} +__name(painterSortStable, "painterSortStable"); +function reversePainterSortStable(a, b) { + if (a.groupOrder !== b.groupOrder) { + return a.groupOrder - b.groupOrder; + } else if (a.renderOrder !== b.renderOrder) { + return a.renderOrder - b.renderOrder; + } else if (a.z !== b.z) { + return b.z - a.z; + } else { + return a.id - b.id; + } +} +__name(reversePainterSortStable, "reversePainterSortStable"); +function WebGLRenderList() { + const renderItems = []; + let renderItemsIndex = 0; + const opaque = []; + const transmissive = []; + const transparent = []; + function init() { + renderItemsIndex = 0; + opaque.length = 0; + transmissive.length = 0; + transparent.length = 0; + } + __name(init, "init"); + function getNextRenderItem(object, geometry, material, groupOrder, z, group) { + let renderItem = renderItems[renderItemsIndex]; + if (renderItem === void 0) { + renderItem = { + id: object.id, + object, + geometry, + material, + groupOrder, + renderOrder: object.renderOrder, + z, + group + }; + renderItems[renderItemsIndex] = renderItem; + } else { + renderItem.id = object.id; + renderItem.object = object; + renderItem.geometry = geometry; + renderItem.material = material; + renderItem.groupOrder = groupOrder; + renderItem.renderOrder = object.renderOrder; + renderItem.z = z; + renderItem.group = group; + } + renderItemsIndex++; + return renderItem; + } + __name(getNextRenderItem, "getNextRenderItem"); + function push(object, geometry, material, groupOrder, z, group) { + const renderItem = getNextRenderItem(object, geometry, material, groupOrder, z, group); + if (material.transmission > 0) { + transmissive.push(renderItem); + } else if (material.transparent === true) { + transparent.push(renderItem); + } else { + opaque.push(renderItem); + } + } + __name(push, "push"); + function unshift(object, geometry, material, groupOrder, z, group) { + const renderItem = getNextRenderItem(object, geometry, material, groupOrder, z, group); + if (material.transmission > 0) { + transmissive.unshift(renderItem); + } else if (material.transparent === true) { + transparent.unshift(renderItem); + } else { + opaque.unshift(renderItem); + } + } + __name(unshift, "unshift"); + function sort(customOpaqueSort, customTransparentSort) { + if (opaque.length > 1) opaque.sort(customOpaqueSort || painterSortStable); + if (transmissive.length > 1) transmissive.sort(customTransparentSort || reversePainterSortStable); + if (transparent.length > 1) transparent.sort(customTransparentSort || reversePainterSortStable); + } + __name(sort, "sort"); + function finish() { + for (let i = renderItemsIndex, il = renderItems.length; i < il; i++) { + const renderItem = renderItems[i]; + if (renderItem.id === null) break; + renderItem.id = null; + renderItem.object = null; + renderItem.geometry = null; + renderItem.material = null; + renderItem.group = null; + } + } + __name(finish, "finish"); + return { + opaque, + transmissive, + transparent, + init, + push, + unshift, + finish, + sort + }; +} +__name(WebGLRenderList, "WebGLRenderList"); +function WebGLRenderLists() { + let lists = /* @__PURE__ */ new WeakMap(); + function get(scene, renderCallDepth) { + const listArray = lists.get(scene); + let list; + if (listArray === void 0) { + list = new WebGLRenderList(); + lists.set(scene, [list]); + } else { + if (renderCallDepth >= listArray.length) { + list = new WebGLRenderList(); + listArray.push(list); + } else { + list = listArray[renderCallDepth]; + } + } + return list; + } + __name(get, "get"); + function dispose() { + lists = /* @__PURE__ */ new WeakMap(); + } + __name(dispose, "dispose"); + return { + get, + dispose + }; +} +__name(WebGLRenderLists, "WebGLRenderLists"); +function UniformsCache() { + const lights = {}; + return { + get: /* @__PURE__ */ __name(function(light) { + if (lights[light.id] !== void 0) { + return lights[light.id]; + } + let uniforms; + switch (light.type) { + case "DirectionalLight": + uniforms = { + direction: new Vector3(), + color: new Color() + }; + break; + case "SpotLight": + uniforms = { + position: new Vector3(), + direction: new Vector3(), + color: new Color(), + distance: 0, + coneCos: 0, + penumbraCos: 0, + decay: 0 + }; + break; + case "PointLight": + uniforms = { + position: new Vector3(), + color: new Color(), + distance: 0, + decay: 0 + }; + break; + case "HemisphereLight": + uniforms = { + direction: new Vector3(), + skyColor: new Color(), + groundColor: new Color() + }; + break; + case "RectAreaLight": + uniforms = { + color: new Color(), + position: new Vector3(), + halfWidth: new Vector3(), + halfHeight: new Vector3() + }; + break; + } + lights[light.id] = uniforms; + return uniforms; + }, "get") + }; +} +__name(UniformsCache, "UniformsCache"); +function ShadowUniformsCache() { + const lights = {}; + return { + get: /* @__PURE__ */ __name(function(light) { + if (lights[light.id] !== void 0) { + return lights[light.id]; + } + let uniforms; + switch (light.type) { + case "DirectionalLight": + uniforms = { + shadowIntensity: 1, + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2() + }; + break; + case "SpotLight": + uniforms = { + shadowIntensity: 1, + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2() + }; + break; + case "PointLight": + uniforms = { + shadowIntensity: 1, + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2(), + shadowCameraNear: 1, + shadowCameraFar: 1e3 + }; + break; + } + lights[light.id] = uniforms; + return uniforms; + }, "get") + }; +} +__name(ShadowUniformsCache, "ShadowUniformsCache"); +let nextVersion = 0; +function shadowCastingAndTexturingLightsFirst(lightA, lightB) { + return (lightB.castShadow ? 2 : 0) - (lightA.castShadow ? 2 : 0) + (lightB.map ? 1 : 0) - (lightA.map ? 1 : 0); +} +__name(shadowCastingAndTexturingLightsFirst, "shadowCastingAndTexturingLightsFirst"); +function WebGLLights(extensions) { + const cache = new UniformsCache(); + const shadowCache = ShadowUniformsCache(); + const state = { + version: 0, + hash: { + directionalLength: -1, + pointLength: -1, + spotLength: -1, + rectAreaLength: -1, + hemiLength: -1, + numDirectionalShadows: -1, + numPointShadows: -1, + numSpotShadows: -1, + numSpotMaps: -1, + numLightProbes: -1 + }, + ambient: [0, 0, 0], + probe: [], + directional: [], + directionalShadow: [], + directionalShadowMap: [], + directionalShadowMatrix: [], + spot: [], + spotLightMap: [], + spotShadow: [], + spotShadowMap: [], + spotLightMatrix: [], + rectArea: [], + rectAreaLTC1: null, + rectAreaLTC2: null, + point: [], + pointShadow: [], + pointShadowMap: [], + pointShadowMatrix: [], + hemi: [], + numSpotLightShadowsWithMaps: 0, + numLightProbes: 0 + }; + for (let i = 0; i < 9; i++) state.probe.push(new Vector3()); + const vector3 = new Vector3(); + const matrix4 = new Matrix4(); + const matrix42 = new Matrix4(); + function setup(lights) { + let r = 0, g = 0, b = 0; + for (let i = 0; i < 9; i++) state.probe[i].set(0, 0, 0); + let directionalLength = 0; + let pointLength = 0; + let spotLength = 0; + let rectAreaLength = 0; + let hemiLength = 0; + let numDirectionalShadows = 0; + let numPointShadows = 0; + let numSpotShadows = 0; + let numSpotMaps = 0; + let numSpotShadowsWithMaps = 0; + let numLightProbes = 0; + lights.sort(shadowCastingAndTexturingLightsFirst); + for (let i = 0, l = lights.length; i < l; i++) { + const light = lights[i]; + const color = light.color; + const intensity = light.intensity; + const distance = light.distance; + const shadowMap = light.shadow && light.shadow.map ? light.shadow.map.texture : null; + if (light.isAmbientLight) { + r += color.r * intensity; + g += color.g * intensity; + b += color.b * intensity; + } else if (light.isLightProbe) { + for (let j = 0; j < 9; j++) { + state.probe[j].addScaledVector(light.sh.coefficients[j], intensity); + } + numLightProbes++; + } else if (light.isDirectionalLight) { + const uniforms = cache.get(light); + uniforms.color.copy(light.color).multiplyScalar(light.intensity); + if (light.castShadow) { + const shadow = light.shadow; + const shadowUniforms = shadowCache.get(light); + shadowUniforms.shadowIntensity = shadow.intensity; + shadowUniforms.shadowBias = shadow.bias; + shadowUniforms.shadowNormalBias = shadow.normalBias; + shadowUniforms.shadowRadius = shadow.radius; + shadowUniforms.shadowMapSize = shadow.mapSize; + state.directionalShadow[directionalLength] = shadowUniforms; + state.directionalShadowMap[directionalLength] = shadowMap; + state.directionalShadowMatrix[directionalLength] = light.shadow.matrix; + numDirectionalShadows++; + } + state.directional[directionalLength] = uniforms; + directionalLength++; + } else if (light.isSpotLight) { + const uniforms = cache.get(light); + uniforms.position.setFromMatrixPosition(light.matrixWorld); + uniforms.color.copy(color).multiplyScalar(intensity); + uniforms.distance = distance; + uniforms.coneCos = Math.cos(light.angle); + uniforms.penumbraCos = Math.cos(light.angle * (1 - light.penumbra)); + uniforms.decay = light.decay; + state.spot[spotLength] = uniforms; + const shadow = light.shadow; + if (light.map) { + state.spotLightMap[numSpotMaps] = light.map; + numSpotMaps++; + shadow.updateMatrices(light); + if (light.castShadow) numSpotShadowsWithMaps++; + } + state.spotLightMatrix[spotLength] = shadow.matrix; + if (light.castShadow) { + const shadowUniforms = shadowCache.get(light); + shadowUniforms.shadowIntensity = shadow.intensity; + shadowUniforms.shadowBias = shadow.bias; + shadowUniforms.shadowNormalBias = shadow.normalBias; + shadowUniforms.shadowRadius = shadow.radius; + shadowUniforms.shadowMapSize = shadow.mapSize; + state.spotShadow[spotLength] = shadowUniforms; + state.spotShadowMap[spotLength] = shadowMap; + numSpotShadows++; + } + spotLength++; + } else if (light.isRectAreaLight) { + const uniforms = cache.get(light); + uniforms.color.copy(color).multiplyScalar(intensity); + uniforms.halfWidth.set(light.width * 0.5, 0, 0); + uniforms.halfHeight.set(0, light.height * 0.5, 0); + state.rectArea[rectAreaLength] = uniforms; + rectAreaLength++; + } else if (light.isPointLight) { + const uniforms = cache.get(light); + uniforms.color.copy(light.color).multiplyScalar(light.intensity); + uniforms.distance = light.distance; + uniforms.decay = light.decay; + if (light.castShadow) { + const shadow = light.shadow; + const shadowUniforms = shadowCache.get(light); + shadowUniforms.shadowIntensity = shadow.intensity; + shadowUniforms.shadowBias = shadow.bias; + shadowUniforms.shadowNormalBias = shadow.normalBias; + shadowUniforms.shadowRadius = shadow.radius; + shadowUniforms.shadowMapSize = shadow.mapSize; + shadowUniforms.shadowCameraNear = shadow.camera.near; + shadowUniforms.shadowCameraFar = shadow.camera.far; + state.pointShadow[pointLength] = shadowUniforms; + state.pointShadowMap[pointLength] = shadowMap; + state.pointShadowMatrix[pointLength] = light.shadow.matrix; + numPointShadows++; + } + state.point[pointLength] = uniforms; + pointLength++; + } else if (light.isHemisphereLight) { + const uniforms = cache.get(light); + uniforms.skyColor.copy(light.color).multiplyScalar(intensity); + uniforms.groundColor.copy(light.groundColor).multiplyScalar(intensity); + state.hemi[hemiLength] = uniforms; + hemiLength++; + } + } + if (rectAreaLength > 0) { + if (extensions.has("OES_texture_float_linear") === true) { + state.rectAreaLTC1 = UniformsLib.LTC_FLOAT_1; + state.rectAreaLTC2 = UniformsLib.LTC_FLOAT_2; + } else { + state.rectAreaLTC1 = UniformsLib.LTC_HALF_1; + state.rectAreaLTC2 = UniformsLib.LTC_HALF_2; + } + } + state.ambient[0] = r; + state.ambient[1] = g; + state.ambient[2] = b; + const hash = state.hash; + if (hash.directionalLength !== directionalLength || hash.pointLength !== pointLength || hash.spotLength !== spotLength || hash.rectAreaLength !== rectAreaLength || hash.hemiLength !== hemiLength || hash.numDirectionalShadows !== numDirectionalShadows || hash.numPointShadows !== numPointShadows || hash.numSpotShadows !== numSpotShadows || hash.numSpotMaps !== numSpotMaps || hash.numLightProbes !== numLightProbes) { + state.directional.length = directionalLength; + state.spot.length = spotLength; + state.rectArea.length = rectAreaLength; + state.point.length = pointLength; + state.hemi.length = hemiLength; + state.directionalShadow.length = numDirectionalShadows; + state.directionalShadowMap.length = numDirectionalShadows; + state.pointShadow.length = numPointShadows; + state.pointShadowMap.length = numPointShadows; + state.spotShadow.length = numSpotShadows; + state.spotShadowMap.length = numSpotShadows; + state.directionalShadowMatrix.length = numDirectionalShadows; + state.pointShadowMatrix.length = numPointShadows; + state.spotLightMatrix.length = numSpotShadows + numSpotMaps - numSpotShadowsWithMaps; + state.spotLightMap.length = numSpotMaps; + state.numSpotLightShadowsWithMaps = numSpotShadowsWithMaps; + state.numLightProbes = numLightProbes; + hash.directionalLength = directionalLength; + hash.pointLength = pointLength; + hash.spotLength = spotLength; + hash.rectAreaLength = rectAreaLength; + hash.hemiLength = hemiLength; + hash.numDirectionalShadows = numDirectionalShadows; + hash.numPointShadows = numPointShadows; + hash.numSpotShadows = numSpotShadows; + hash.numSpotMaps = numSpotMaps; + hash.numLightProbes = numLightProbes; + state.version = nextVersion++; + } + } + __name(setup, "setup"); + function setupView(lights, camera) { + let directionalLength = 0; + let pointLength = 0; + let spotLength = 0; + let rectAreaLength = 0; + let hemiLength = 0; + const viewMatrix = camera.matrixWorldInverse; + for (let i = 0, l = lights.length; i < l; i++) { + const light = lights[i]; + if (light.isDirectionalLight) { + const uniforms = state.directional[directionalLength]; + uniforms.direction.setFromMatrixPosition(light.matrixWorld); + vector3.setFromMatrixPosition(light.target.matrixWorld); + uniforms.direction.sub(vector3); + uniforms.direction.transformDirection(viewMatrix); + directionalLength++; + } else if (light.isSpotLight) { + const uniforms = state.spot[spotLength]; + uniforms.position.setFromMatrixPosition(light.matrixWorld); + uniforms.position.applyMatrix4(viewMatrix); + uniforms.direction.setFromMatrixPosition(light.matrixWorld); + vector3.setFromMatrixPosition(light.target.matrixWorld); + uniforms.direction.sub(vector3); + uniforms.direction.transformDirection(viewMatrix); + spotLength++; + } else if (light.isRectAreaLight) { + const uniforms = state.rectArea[rectAreaLength]; + uniforms.position.setFromMatrixPosition(light.matrixWorld); + uniforms.position.applyMatrix4(viewMatrix); + matrix42.identity(); + matrix4.copy(light.matrixWorld); + matrix4.premultiply(viewMatrix); + matrix42.extractRotation(matrix4); + uniforms.halfWidth.set(light.width * 0.5, 0, 0); + uniforms.halfHeight.set(0, light.height * 0.5, 0); + uniforms.halfWidth.applyMatrix4(matrix42); + uniforms.halfHeight.applyMatrix4(matrix42); + rectAreaLength++; + } else if (light.isPointLight) { + const uniforms = state.point[pointLength]; + uniforms.position.setFromMatrixPosition(light.matrixWorld); + uniforms.position.applyMatrix4(viewMatrix); + pointLength++; + } else if (light.isHemisphereLight) { + const uniforms = state.hemi[hemiLength]; + uniforms.direction.setFromMatrixPosition(light.matrixWorld); + uniforms.direction.transformDirection(viewMatrix); + hemiLength++; + } + } + } + __name(setupView, "setupView"); + return { + setup, + setupView, + state + }; +} +__name(WebGLLights, "WebGLLights"); +function WebGLRenderState(extensions) { + const lights = new WebGLLights(extensions); + const lightsArray = []; + const shadowsArray = []; + function init(camera) { + state.camera = camera; + lightsArray.length = 0; + shadowsArray.length = 0; + } + __name(init, "init"); + function pushLight(light) { + lightsArray.push(light); + } + __name(pushLight, "pushLight"); + function pushShadow(shadowLight) { + shadowsArray.push(shadowLight); + } + __name(pushShadow, "pushShadow"); + function setupLights() { + lights.setup(lightsArray); + } + __name(setupLights, "setupLights"); + function setupLightsView(camera) { + lights.setupView(lightsArray, camera); + } + __name(setupLightsView, "setupLightsView"); + const state = { + lightsArray, + shadowsArray, + camera: null, + lights, + transmissionRenderTarget: {} + }; + return { + init, + state, + setupLights, + setupLightsView, + pushLight, + pushShadow + }; +} +__name(WebGLRenderState, "WebGLRenderState"); +function WebGLRenderStates(extensions) { + let renderStates = /* @__PURE__ */ new WeakMap(); + function get(scene, renderCallDepth = 0) { + const renderStateArray = renderStates.get(scene); + let renderState; + if (renderStateArray === void 0) { + renderState = new WebGLRenderState(extensions); + renderStates.set(scene, [renderState]); + } else { + if (renderCallDepth >= renderStateArray.length) { + renderState = new WebGLRenderState(extensions); + renderStateArray.push(renderState); + } else { + renderState = renderStateArray[renderCallDepth]; + } + } + return renderState; + } + __name(get, "get"); + function dispose() { + renderStates = /* @__PURE__ */ new WeakMap(); + } + __name(dispose, "dispose"); + return { + get, + dispose + }; +} +__name(WebGLRenderStates, "WebGLRenderStates"); +class MeshDepthMaterial extends Material { + static { + __name(this, "MeshDepthMaterial"); + } + static get type() { + return "MeshDepthMaterial"; + } + constructor(parameters) { + super(); + this.isMeshDepthMaterial = true; + this.depthPacking = BasicDepthPacking; + this.map = null; + this.alphaMap = null; + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.depthPacking = source.depthPacking; + this.map = source.map; + this.alphaMap = source.alphaMap; + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + return this; + } +} +class MeshDistanceMaterial extends Material { + static { + __name(this, "MeshDistanceMaterial"); + } + static get type() { + return "MeshDistanceMaterial"; + } + constructor(parameters) { + super(); + this.isMeshDistanceMaterial = true; + this.map = null; + this.alphaMap = null; + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.map = source.map; + this.alphaMap = source.alphaMap; + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + return this; + } +} +const vertex = "void main() {\n gl_Position = vec4( position, 1.0 );\n}"; +const fragment = "uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n const float samples = float( VSM_SAMPLES );\n float mean = 0.0;\n float squared_mean = 0.0;\n float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n float uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n for ( float i = 0.0; i < samples; i ++ ) {\n float uvOffset = uvStart + i * uvStride;\n #ifdef HORIZONTAL_PASS\n vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n mean += distribution.x;\n squared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n #else\n float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n mean += depth;\n squared_mean += depth * depth;\n #endif\n }\n mean = mean / samples;\n squared_mean = squared_mean / samples;\n float std_dev = sqrt( squared_mean - mean * mean );\n gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"; +function WebGLShadowMap(renderer, objects, capabilities) { + let _frustum2 = new Frustum(); + const _shadowMapSize = new Vector2(), _viewportSize = new Vector2(), _viewport = new Vector4(), _depthMaterial = new MeshDepthMaterial({ depthPacking: RGBADepthPacking }), _distanceMaterial = new MeshDistanceMaterial(), _materialCache = {}, _maxTextureSize = capabilities.maxTextureSize; + const shadowSide = { [FrontSide]: BackSide, [BackSide]: FrontSide, [DoubleSide]: DoubleSide }; + const shadowMaterialVertical = new ShaderMaterial({ + defines: { + VSM_SAMPLES: 8 + }, + uniforms: { + shadow_pass: { value: null }, + resolution: { value: new Vector2() }, + radius: { value: 4 } + }, + vertexShader: vertex, + fragmentShader: fragment + }); + const shadowMaterialHorizontal = shadowMaterialVertical.clone(); + shadowMaterialHorizontal.defines.HORIZONTAL_PASS = 1; + const fullScreenTri = new BufferGeometry(); + fullScreenTri.setAttribute( + "position", + new BufferAttribute( + new Float32Array([-1, -1, 0.5, 3, -1, 0.5, -1, 3, 0.5]), + 3 + ) + ); + const fullScreenMesh = new Mesh(fullScreenTri, shadowMaterialVertical); + const scope = this; + this.enabled = false; + this.autoUpdate = true; + this.needsUpdate = false; + this.type = PCFShadowMap; + let _previousType = this.type; + this.render = function(lights, scene, camera) { + if (scope.enabled === false) return; + if (scope.autoUpdate === false && scope.needsUpdate === false) return; + if (lights.length === 0) return; + const currentRenderTarget = renderer.getRenderTarget(); + const activeCubeFace = renderer.getActiveCubeFace(); + const activeMipmapLevel = renderer.getActiveMipmapLevel(); + const _state = renderer.state; + _state.setBlending(NoBlending); + _state.buffers.color.setClear(1, 1, 1, 1); + _state.buffers.depth.setTest(true); + _state.setScissorTest(false); + const toVSM = _previousType !== VSMShadowMap && this.type === VSMShadowMap; + const fromVSM = _previousType === VSMShadowMap && this.type !== VSMShadowMap; + for (let i = 0, il = lights.length; i < il; i++) { + const light = lights[i]; + const shadow = light.shadow; + if (shadow === void 0) { + console.warn("THREE.WebGLShadowMap:", light, "has no shadow."); + continue; + } + if (shadow.autoUpdate === false && shadow.needsUpdate === false) continue; + _shadowMapSize.copy(shadow.mapSize); + const shadowFrameExtents = shadow.getFrameExtents(); + _shadowMapSize.multiply(shadowFrameExtents); + _viewportSize.copy(shadow.mapSize); + if (_shadowMapSize.x > _maxTextureSize || _shadowMapSize.y > _maxTextureSize) { + if (_shadowMapSize.x > _maxTextureSize) { + _viewportSize.x = Math.floor(_maxTextureSize / shadowFrameExtents.x); + _shadowMapSize.x = _viewportSize.x * shadowFrameExtents.x; + shadow.mapSize.x = _viewportSize.x; + } + if (_shadowMapSize.y > _maxTextureSize) { + _viewportSize.y = Math.floor(_maxTextureSize / shadowFrameExtents.y); + _shadowMapSize.y = _viewportSize.y * shadowFrameExtents.y; + shadow.mapSize.y = _viewportSize.y; + } + } + if (shadow.map === null || toVSM === true || fromVSM === true) { + const pars = this.type !== VSMShadowMap ? { minFilter: NearestFilter, magFilter: NearestFilter } : {}; + if (shadow.map !== null) { + shadow.map.dispose(); + } + shadow.map = new WebGLRenderTarget(_shadowMapSize.x, _shadowMapSize.y, pars); + shadow.map.texture.name = light.name + ".shadowMap"; + shadow.camera.updateProjectionMatrix(); + } + renderer.setRenderTarget(shadow.map); + renderer.clear(); + const viewportCount = shadow.getViewportCount(); + for (let vp = 0; vp < viewportCount; vp++) { + const viewport = shadow.getViewport(vp); + _viewport.set( + _viewportSize.x * viewport.x, + _viewportSize.y * viewport.y, + _viewportSize.x * viewport.z, + _viewportSize.y * viewport.w + ); + _state.viewport(_viewport); + shadow.updateMatrices(light, vp); + _frustum2 = shadow.getFrustum(); + renderObject(scene, camera, shadow.camera, light, this.type); + } + if (shadow.isPointLightShadow !== true && this.type === VSMShadowMap) { + VSMPass(shadow, camera); + } + shadow.needsUpdate = false; + } + _previousType = this.type; + scope.needsUpdate = false; + renderer.setRenderTarget(currentRenderTarget, activeCubeFace, activeMipmapLevel); + }; + function VSMPass(shadow, camera) { + const geometry = objects.update(fullScreenMesh); + if (shadowMaterialVertical.defines.VSM_SAMPLES !== shadow.blurSamples) { + shadowMaterialVertical.defines.VSM_SAMPLES = shadow.blurSamples; + shadowMaterialHorizontal.defines.VSM_SAMPLES = shadow.blurSamples; + shadowMaterialVertical.needsUpdate = true; + shadowMaterialHorizontal.needsUpdate = true; + } + if (shadow.mapPass === null) { + shadow.mapPass = new WebGLRenderTarget(_shadowMapSize.x, _shadowMapSize.y); + } + shadowMaterialVertical.uniforms.shadow_pass.value = shadow.map.texture; + shadowMaterialVertical.uniforms.resolution.value = shadow.mapSize; + shadowMaterialVertical.uniforms.radius.value = shadow.radius; + renderer.setRenderTarget(shadow.mapPass); + renderer.clear(); + renderer.renderBufferDirect(camera, null, geometry, shadowMaterialVertical, fullScreenMesh, null); + shadowMaterialHorizontal.uniforms.shadow_pass.value = shadow.mapPass.texture; + shadowMaterialHorizontal.uniforms.resolution.value = shadow.mapSize; + shadowMaterialHorizontal.uniforms.radius.value = shadow.radius; + renderer.setRenderTarget(shadow.map); + renderer.clear(); + renderer.renderBufferDirect(camera, null, geometry, shadowMaterialHorizontal, fullScreenMesh, null); + } + __name(VSMPass, "VSMPass"); + function getDepthMaterial(object, material, light, type) { + let result = null; + const customMaterial = light.isPointLight === true ? object.customDistanceMaterial : object.customDepthMaterial; + if (customMaterial !== void 0) { + result = customMaterial; + } else { + result = light.isPointLight === true ? _distanceMaterial : _depthMaterial; + if (renderer.localClippingEnabled && material.clipShadows === true && Array.isArray(material.clippingPlanes) && material.clippingPlanes.length !== 0 || material.displacementMap && material.displacementScale !== 0 || material.alphaMap && material.alphaTest > 0 || material.map && material.alphaTest > 0) { + const keyA = result.uuid, keyB = material.uuid; + let materialsForVariant = _materialCache[keyA]; + if (materialsForVariant === void 0) { + materialsForVariant = {}; + _materialCache[keyA] = materialsForVariant; + } + let cachedMaterial = materialsForVariant[keyB]; + if (cachedMaterial === void 0) { + cachedMaterial = result.clone(); + materialsForVariant[keyB] = cachedMaterial; + material.addEventListener("dispose", onMaterialDispose); + } + result = cachedMaterial; + } + } + result.visible = material.visible; + result.wireframe = material.wireframe; + if (type === VSMShadowMap) { + result.side = material.shadowSide !== null ? material.shadowSide : material.side; + } else { + result.side = material.shadowSide !== null ? material.shadowSide : shadowSide[material.side]; + } + result.alphaMap = material.alphaMap; + result.alphaTest = material.alphaTest; + result.map = material.map; + result.clipShadows = material.clipShadows; + result.clippingPlanes = material.clippingPlanes; + result.clipIntersection = material.clipIntersection; + result.displacementMap = material.displacementMap; + result.displacementScale = material.displacementScale; + result.displacementBias = material.displacementBias; + result.wireframeLinewidth = material.wireframeLinewidth; + result.linewidth = material.linewidth; + if (light.isPointLight === true && result.isMeshDistanceMaterial === true) { + const materialProperties = renderer.properties.get(result); + materialProperties.light = light; + } + return result; + } + __name(getDepthMaterial, "getDepthMaterial"); + function renderObject(object, camera, shadowCamera, light, type) { + if (object.visible === false) return; + const visible = object.layers.test(camera.layers); + if (visible && (object.isMesh || object.isLine || object.isPoints)) { + if ((object.castShadow || object.receiveShadow && type === VSMShadowMap) && (!object.frustumCulled || _frustum2.intersectsObject(object))) { + object.modelViewMatrix.multiplyMatrices(shadowCamera.matrixWorldInverse, object.matrixWorld); + const geometry = objects.update(object); + const material = object.material; + if (Array.isArray(material)) { + const groups = geometry.groups; + for (let k = 0, kl = groups.length; k < kl; k++) { + const group = groups[k]; + const groupMaterial = material[group.materialIndex]; + if (groupMaterial && groupMaterial.visible) { + const depthMaterial = getDepthMaterial(object, groupMaterial, light, type); + object.onBeforeShadow(renderer, object, camera, shadowCamera, geometry, depthMaterial, group); + renderer.renderBufferDirect(shadowCamera, null, geometry, depthMaterial, object, group); + object.onAfterShadow(renderer, object, camera, shadowCamera, geometry, depthMaterial, group); + } + } + } else if (material.visible) { + const depthMaterial = getDepthMaterial(object, material, light, type); + object.onBeforeShadow(renderer, object, camera, shadowCamera, geometry, depthMaterial, null); + renderer.renderBufferDirect(shadowCamera, null, geometry, depthMaterial, object, null); + object.onAfterShadow(renderer, object, camera, shadowCamera, geometry, depthMaterial, null); + } + } + } + const children = object.children; + for (let i = 0, l = children.length; i < l; i++) { + renderObject(children[i], camera, shadowCamera, light, type); + } + } + __name(renderObject, "renderObject"); + function onMaterialDispose(event) { + const material = event.target; + material.removeEventListener("dispose", onMaterialDispose); + for (const id2 in _materialCache) { + const cache = _materialCache[id2]; + const uuid = event.target.uuid; + if (uuid in cache) { + const shadowMaterial = cache[uuid]; + shadowMaterial.dispose(); + delete cache[uuid]; + } + } + } + __name(onMaterialDispose, "onMaterialDispose"); +} +__name(WebGLShadowMap, "WebGLShadowMap"); +const reversedFuncs = { + [NeverDepth]: AlwaysDepth, + [LessDepth]: GreaterDepth, + [EqualDepth]: NotEqualDepth, + [LessEqualDepth]: GreaterEqualDepth, + [AlwaysDepth]: NeverDepth, + [GreaterDepth]: LessDepth, + [NotEqualDepth]: EqualDepth, + [GreaterEqualDepth]: LessEqualDepth +}; +function WebGLState(gl, extensions) { + function ColorBuffer() { + let locked = false; + const color = new Vector4(); + let currentColorMask = null; + const currentColorClear = new Vector4(0, 0, 0, 0); + return { + setMask: /* @__PURE__ */ __name(function(colorMask) { + if (currentColorMask !== colorMask && !locked) { + gl.colorMask(colorMask, colorMask, colorMask, colorMask); + currentColorMask = colorMask; + } + }, "setMask"), + setLocked: /* @__PURE__ */ __name(function(lock) { + locked = lock; + }, "setLocked"), + setClear: /* @__PURE__ */ __name(function(r, g, b, a, premultipliedAlpha) { + if (premultipliedAlpha === true) { + r *= a; + g *= a; + b *= a; + } + color.set(r, g, b, a); + if (currentColorClear.equals(color) === false) { + gl.clearColor(r, g, b, a); + currentColorClear.copy(color); + } + }, "setClear"), + reset: /* @__PURE__ */ __name(function() { + locked = false; + currentColorMask = null; + currentColorClear.set(-1, 0, 0, 0); + }, "reset") + }; + } + __name(ColorBuffer, "ColorBuffer"); + function DepthBuffer() { + let locked = false; + let reversed = false; + let currentDepthMask = null; + let currentDepthFunc = null; + let currentDepthClear = null; + return { + setReversed: /* @__PURE__ */ __name(function(value) { + if (reversed !== value) { + const ext2 = extensions.get("EXT_clip_control"); + if (reversed) { + ext2.clipControlEXT(ext2.LOWER_LEFT_EXT, ext2.ZERO_TO_ONE_EXT); + } else { + ext2.clipControlEXT(ext2.LOWER_LEFT_EXT, ext2.NEGATIVE_ONE_TO_ONE_EXT); + } + const oldDepth = currentDepthClear; + currentDepthClear = null; + this.setClear(oldDepth); + } + reversed = value; + }, "setReversed"), + getReversed: /* @__PURE__ */ __name(function() { + return reversed; + }, "getReversed"), + setTest: /* @__PURE__ */ __name(function(depthTest) { + if (depthTest) { + enable(gl.DEPTH_TEST); + } else { + disable(gl.DEPTH_TEST); + } + }, "setTest"), + setMask: /* @__PURE__ */ __name(function(depthMask) { + if (currentDepthMask !== depthMask && !locked) { + gl.depthMask(depthMask); + currentDepthMask = depthMask; + } + }, "setMask"), + setFunc: /* @__PURE__ */ __name(function(depthFunc) { + if (reversed) depthFunc = reversedFuncs[depthFunc]; + if (currentDepthFunc !== depthFunc) { + switch (depthFunc) { + case NeverDepth: + gl.depthFunc(gl.NEVER); + break; + case AlwaysDepth: + gl.depthFunc(gl.ALWAYS); + break; + case LessDepth: + gl.depthFunc(gl.LESS); + break; + case LessEqualDepth: + gl.depthFunc(gl.LEQUAL); + break; + case EqualDepth: + gl.depthFunc(gl.EQUAL); + break; + case GreaterEqualDepth: + gl.depthFunc(gl.GEQUAL); + break; + case GreaterDepth: + gl.depthFunc(gl.GREATER); + break; + case NotEqualDepth: + gl.depthFunc(gl.NOTEQUAL); + break; + default: + gl.depthFunc(gl.LEQUAL); + } + currentDepthFunc = depthFunc; + } + }, "setFunc"), + setLocked: /* @__PURE__ */ __name(function(lock) { + locked = lock; + }, "setLocked"), + setClear: /* @__PURE__ */ __name(function(depth) { + if (currentDepthClear !== depth) { + if (reversed) { + depth = 1 - depth; + } + gl.clearDepth(depth); + currentDepthClear = depth; + } + }, "setClear"), + reset: /* @__PURE__ */ __name(function() { + locked = false; + currentDepthMask = null; + currentDepthFunc = null; + currentDepthClear = null; + reversed = false; + }, "reset") + }; + } + __name(DepthBuffer, "DepthBuffer"); + function StencilBuffer() { + let locked = false; + let currentStencilMask = null; + let currentStencilFunc = null; + let currentStencilRef = null; + let currentStencilFuncMask = null; + let currentStencilFail = null; + let currentStencilZFail = null; + let currentStencilZPass = null; + let currentStencilClear = null; + return { + setTest: /* @__PURE__ */ __name(function(stencilTest) { + if (!locked) { + if (stencilTest) { + enable(gl.STENCIL_TEST); + } else { + disable(gl.STENCIL_TEST); + } + } + }, "setTest"), + setMask: /* @__PURE__ */ __name(function(stencilMask) { + if (currentStencilMask !== stencilMask && !locked) { + gl.stencilMask(stencilMask); + currentStencilMask = stencilMask; + } + }, "setMask"), + setFunc: /* @__PURE__ */ __name(function(stencilFunc, stencilRef, stencilMask) { + if (currentStencilFunc !== stencilFunc || currentStencilRef !== stencilRef || currentStencilFuncMask !== stencilMask) { + gl.stencilFunc(stencilFunc, stencilRef, stencilMask); + currentStencilFunc = stencilFunc; + currentStencilRef = stencilRef; + currentStencilFuncMask = stencilMask; + } + }, "setFunc"), + setOp: /* @__PURE__ */ __name(function(stencilFail, stencilZFail, stencilZPass) { + if (currentStencilFail !== stencilFail || currentStencilZFail !== stencilZFail || currentStencilZPass !== stencilZPass) { + gl.stencilOp(stencilFail, stencilZFail, stencilZPass); + currentStencilFail = stencilFail; + currentStencilZFail = stencilZFail; + currentStencilZPass = stencilZPass; + } + }, "setOp"), + setLocked: /* @__PURE__ */ __name(function(lock) { + locked = lock; + }, "setLocked"), + setClear: /* @__PURE__ */ __name(function(stencil) { + if (currentStencilClear !== stencil) { + gl.clearStencil(stencil); + currentStencilClear = stencil; + } + }, "setClear"), + reset: /* @__PURE__ */ __name(function() { + locked = false; + currentStencilMask = null; + currentStencilFunc = null; + currentStencilRef = null; + currentStencilFuncMask = null; + currentStencilFail = null; + currentStencilZFail = null; + currentStencilZPass = null; + currentStencilClear = null; + }, "reset") + }; + } + __name(StencilBuffer, "StencilBuffer"); + const colorBuffer = new ColorBuffer(); + const depthBuffer = new DepthBuffer(); + const stencilBuffer = new StencilBuffer(); + const uboBindings = /* @__PURE__ */ new WeakMap(); + const uboProgramMap = /* @__PURE__ */ new WeakMap(); + let enabledCapabilities = {}; + let currentBoundFramebuffers = {}; + let currentDrawbuffers = /* @__PURE__ */ new WeakMap(); + let defaultDrawbuffers = []; + let currentProgram = null; + let currentBlendingEnabled = false; + let currentBlending = null; + let currentBlendEquation = null; + let currentBlendSrc = null; + let currentBlendDst = null; + let currentBlendEquationAlpha = null; + let currentBlendSrcAlpha = null; + let currentBlendDstAlpha = null; + let currentBlendColor = new Color(0, 0, 0); + let currentBlendAlpha = 0; + let currentPremultipledAlpha = false; + let currentFlipSided = null; + let currentCullFace = null; + let currentLineWidth = null; + let currentPolygonOffsetFactor = null; + let currentPolygonOffsetUnits = null; + const maxTextures = gl.getParameter(gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS); + let lineWidthAvailable = false; + let version = 0; + const glVersion = gl.getParameter(gl.VERSION); + if (glVersion.indexOf("WebGL") !== -1) { + version = parseFloat(/^WebGL (\d)/.exec(glVersion)[1]); + lineWidthAvailable = version >= 1; + } else if (glVersion.indexOf("OpenGL ES") !== -1) { + version = parseFloat(/^OpenGL ES (\d)/.exec(glVersion)[1]); + lineWidthAvailable = version >= 2; + } + let currentTextureSlot = null; + let currentBoundTextures = {}; + const scissorParam = gl.getParameter(gl.SCISSOR_BOX); + const viewportParam = gl.getParameter(gl.VIEWPORT); + const currentScissor = new Vector4().fromArray(scissorParam); + const currentViewport = new Vector4().fromArray(viewportParam); + function createTexture(type, target, count, dimensions) { + const data = new Uint8Array(4); + const texture = gl.createTexture(); + gl.bindTexture(type, texture); + gl.texParameteri(type, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + gl.texParameteri(type, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + for (let i = 0; i < count; i++) { + if (type === gl.TEXTURE_3D || type === gl.TEXTURE_2D_ARRAY) { + gl.texImage3D(target, 0, gl.RGBA, 1, 1, dimensions, 0, gl.RGBA, gl.UNSIGNED_BYTE, data); + } else { + gl.texImage2D(target + i, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, data); + } + } + return texture; + } + __name(createTexture, "createTexture"); + const emptyTextures = {}; + emptyTextures[gl.TEXTURE_2D] = createTexture(gl.TEXTURE_2D, gl.TEXTURE_2D, 1); + emptyTextures[gl.TEXTURE_CUBE_MAP] = createTexture(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_CUBE_MAP_POSITIVE_X, 6); + emptyTextures[gl.TEXTURE_2D_ARRAY] = createTexture(gl.TEXTURE_2D_ARRAY, gl.TEXTURE_2D_ARRAY, 1, 1); + emptyTextures[gl.TEXTURE_3D] = createTexture(gl.TEXTURE_3D, gl.TEXTURE_3D, 1, 1); + colorBuffer.setClear(0, 0, 0, 1); + depthBuffer.setClear(1); + stencilBuffer.setClear(0); + enable(gl.DEPTH_TEST); + depthBuffer.setFunc(LessEqualDepth); + setFlipSided(false); + setCullFace(CullFaceBack); + enable(gl.CULL_FACE); + setBlending(NoBlending); + function enable(id2) { + if (enabledCapabilities[id2] !== true) { + gl.enable(id2); + enabledCapabilities[id2] = true; + } + } + __name(enable, "enable"); + function disable(id2) { + if (enabledCapabilities[id2] !== false) { + gl.disable(id2); + enabledCapabilities[id2] = false; + } + } + __name(disable, "disable"); + function bindFramebuffer(target, framebuffer) { + if (currentBoundFramebuffers[target] !== framebuffer) { + gl.bindFramebuffer(target, framebuffer); + currentBoundFramebuffers[target] = framebuffer; + if (target === gl.DRAW_FRAMEBUFFER) { + currentBoundFramebuffers[gl.FRAMEBUFFER] = framebuffer; + } + if (target === gl.FRAMEBUFFER) { + currentBoundFramebuffers[gl.DRAW_FRAMEBUFFER] = framebuffer; + } + return true; + } + return false; + } + __name(bindFramebuffer, "bindFramebuffer"); + function drawBuffers(renderTarget, framebuffer) { + let drawBuffers2 = defaultDrawbuffers; + let needsUpdate = false; + if (renderTarget) { + drawBuffers2 = currentDrawbuffers.get(framebuffer); + if (drawBuffers2 === void 0) { + drawBuffers2 = []; + currentDrawbuffers.set(framebuffer, drawBuffers2); + } + const textures = renderTarget.textures; + if (drawBuffers2.length !== textures.length || drawBuffers2[0] !== gl.COLOR_ATTACHMENT0) { + for (let i = 0, il = textures.length; i < il; i++) { + drawBuffers2[i] = gl.COLOR_ATTACHMENT0 + i; + } + drawBuffers2.length = textures.length; + needsUpdate = true; + } + } else { + if (drawBuffers2[0] !== gl.BACK) { + drawBuffers2[0] = gl.BACK; + needsUpdate = true; + } + } + if (needsUpdate) { + gl.drawBuffers(drawBuffers2); + } + } + __name(drawBuffers, "drawBuffers"); + function useProgram(program) { + if (currentProgram !== program) { + gl.useProgram(program); + currentProgram = program; + return true; + } + return false; + } + __name(useProgram, "useProgram"); + const equationToGL = { + [AddEquation]: gl.FUNC_ADD, + [SubtractEquation]: gl.FUNC_SUBTRACT, + [ReverseSubtractEquation]: gl.FUNC_REVERSE_SUBTRACT + }; + equationToGL[MinEquation] = gl.MIN; + equationToGL[MaxEquation] = gl.MAX; + const factorToGL = { + [ZeroFactor]: gl.ZERO, + [OneFactor]: gl.ONE, + [SrcColorFactor]: gl.SRC_COLOR, + [SrcAlphaFactor]: gl.SRC_ALPHA, + [SrcAlphaSaturateFactor]: gl.SRC_ALPHA_SATURATE, + [DstColorFactor]: gl.DST_COLOR, + [DstAlphaFactor]: gl.DST_ALPHA, + [OneMinusSrcColorFactor]: gl.ONE_MINUS_SRC_COLOR, + [OneMinusSrcAlphaFactor]: gl.ONE_MINUS_SRC_ALPHA, + [OneMinusDstColorFactor]: gl.ONE_MINUS_DST_COLOR, + [OneMinusDstAlphaFactor]: gl.ONE_MINUS_DST_ALPHA, + [ConstantColorFactor]: gl.CONSTANT_COLOR, + [OneMinusConstantColorFactor]: gl.ONE_MINUS_CONSTANT_COLOR, + [ConstantAlphaFactor]: gl.CONSTANT_ALPHA, + [OneMinusConstantAlphaFactor]: gl.ONE_MINUS_CONSTANT_ALPHA + }; + function setBlending(blending, blendEquation, blendSrc, blendDst, blendEquationAlpha, blendSrcAlpha, blendDstAlpha, blendColor, blendAlpha, premultipliedAlpha) { + if (blending === NoBlending) { + if (currentBlendingEnabled === true) { + disable(gl.BLEND); + currentBlendingEnabled = false; + } + return; + } + if (currentBlendingEnabled === false) { + enable(gl.BLEND); + currentBlendingEnabled = true; + } + if (blending !== CustomBlending) { + if (blending !== currentBlending || premultipliedAlpha !== currentPremultipledAlpha) { + if (currentBlendEquation !== AddEquation || currentBlendEquationAlpha !== AddEquation) { + gl.blendEquation(gl.FUNC_ADD); + currentBlendEquation = AddEquation; + currentBlendEquationAlpha = AddEquation; + } + if (premultipliedAlpha) { + switch (blending) { + case NormalBlending: + gl.blendFuncSeparate(gl.ONE, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA); + break; + case AdditiveBlending: + gl.blendFunc(gl.ONE, gl.ONE); + break; + case SubtractiveBlending: + gl.blendFuncSeparate(gl.ZERO, gl.ONE_MINUS_SRC_COLOR, gl.ZERO, gl.ONE); + break; + case MultiplyBlending: + gl.blendFuncSeparate(gl.ZERO, gl.SRC_COLOR, gl.ZERO, gl.SRC_ALPHA); + break; + default: + console.error("THREE.WebGLState: Invalid blending: ", blending); + break; + } + } else { + switch (blending) { + case NormalBlending: + gl.blendFuncSeparate(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA); + break; + case AdditiveBlending: + gl.blendFunc(gl.SRC_ALPHA, gl.ONE); + break; + case SubtractiveBlending: + gl.blendFuncSeparate(gl.ZERO, gl.ONE_MINUS_SRC_COLOR, gl.ZERO, gl.ONE); + break; + case MultiplyBlending: + gl.blendFunc(gl.ZERO, gl.SRC_COLOR); + break; + default: + console.error("THREE.WebGLState: Invalid blending: ", blending); + break; + } + } + currentBlendSrc = null; + currentBlendDst = null; + currentBlendSrcAlpha = null; + currentBlendDstAlpha = null; + currentBlendColor.set(0, 0, 0); + currentBlendAlpha = 0; + currentBlending = blending; + currentPremultipledAlpha = premultipliedAlpha; + } + return; + } + blendEquationAlpha = blendEquationAlpha || blendEquation; + blendSrcAlpha = blendSrcAlpha || blendSrc; + blendDstAlpha = blendDstAlpha || blendDst; + if (blendEquation !== currentBlendEquation || blendEquationAlpha !== currentBlendEquationAlpha) { + gl.blendEquationSeparate(equationToGL[blendEquation], equationToGL[blendEquationAlpha]); + currentBlendEquation = blendEquation; + currentBlendEquationAlpha = blendEquationAlpha; + } + if (blendSrc !== currentBlendSrc || blendDst !== currentBlendDst || blendSrcAlpha !== currentBlendSrcAlpha || blendDstAlpha !== currentBlendDstAlpha) { + gl.blendFuncSeparate(factorToGL[blendSrc], factorToGL[blendDst], factorToGL[blendSrcAlpha], factorToGL[blendDstAlpha]); + currentBlendSrc = blendSrc; + currentBlendDst = blendDst; + currentBlendSrcAlpha = blendSrcAlpha; + currentBlendDstAlpha = blendDstAlpha; + } + if (blendColor.equals(currentBlendColor) === false || blendAlpha !== currentBlendAlpha) { + gl.blendColor(blendColor.r, blendColor.g, blendColor.b, blendAlpha); + currentBlendColor.copy(blendColor); + currentBlendAlpha = blendAlpha; + } + currentBlending = blending; + currentPremultipledAlpha = false; + } + __name(setBlending, "setBlending"); + function setMaterial(material, frontFaceCW) { + material.side === DoubleSide ? disable(gl.CULL_FACE) : enable(gl.CULL_FACE); + let flipSided = material.side === BackSide; + if (frontFaceCW) flipSided = !flipSided; + setFlipSided(flipSided); + material.blending === NormalBlending && material.transparent === false ? setBlending(NoBlending) : setBlending(material.blending, material.blendEquation, material.blendSrc, material.blendDst, material.blendEquationAlpha, material.blendSrcAlpha, material.blendDstAlpha, material.blendColor, material.blendAlpha, material.premultipliedAlpha); + depthBuffer.setFunc(material.depthFunc); + depthBuffer.setTest(material.depthTest); + depthBuffer.setMask(material.depthWrite); + colorBuffer.setMask(material.colorWrite); + const stencilWrite = material.stencilWrite; + stencilBuffer.setTest(stencilWrite); + if (stencilWrite) { + stencilBuffer.setMask(material.stencilWriteMask); + stencilBuffer.setFunc(material.stencilFunc, material.stencilRef, material.stencilFuncMask); + stencilBuffer.setOp(material.stencilFail, material.stencilZFail, material.stencilZPass); + } + setPolygonOffset(material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits); + material.alphaToCoverage === true ? enable(gl.SAMPLE_ALPHA_TO_COVERAGE) : disable(gl.SAMPLE_ALPHA_TO_COVERAGE); + } + __name(setMaterial, "setMaterial"); + function setFlipSided(flipSided) { + if (currentFlipSided !== flipSided) { + if (flipSided) { + gl.frontFace(gl.CW); + } else { + gl.frontFace(gl.CCW); + } + currentFlipSided = flipSided; + } + } + __name(setFlipSided, "setFlipSided"); + function setCullFace(cullFace) { + if (cullFace !== CullFaceNone) { + enable(gl.CULL_FACE); + if (cullFace !== currentCullFace) { + if (cullFace === CullFaceBack) { + gl.cullFace(gl.BACK); + } else if (cullFace === CullFaceFront) { + gl.cullFace(gl.FRONT); + } else { + gl.cullFace(gl.FRONT_AND_BACK); + } + } + } else { + disable(gl.CULL_FACE); + } + currentCullFace = cullFace; + } + __name(setCullFace, "setCullFace"); + function setLineWidth(width) { + if (width !== currentLineWidth) { + if (lineWidthAvailable) gl.lineWidth(width); + currentLineWidth = width; + } + } + __name(setLineWidth, "setLineWidth"); + function setPolygonOffset(polygonOffset, factor, units) { + if (polygonOffset) { + enable(gl.POLYGON_OFFSET_FILL); + if (currentPolygonOffsetFactor !== factor || currentPolygonOffsetUnits !== units) { + gl.polygonOffset(factor, units); + currentPolygonOffsetFactor = factor; + currentPolygonOffsetUnits = units; + } + } else { + disable(gl.POLYGON_OFFSET_FILL); + } + } + __name(setPolygonOffset, "setPolygonOffset"); + function setScissorTest(scissorTest) { + if (scissorTest) { + enable(gl.SCISSOR_TEST); + } else { + disable(gl.SCISSOR_TEST); + } + } + __name(setScissorTest, "setScissorTest"); + function activeTexture(webglSlot) { + if (webglSlot === void 0) webglSlot = gl.TEXTURE0 + maxTextures - 1; + if (currentTextureSlot !== webglSlot) { + gl.activeTexture(webglSlot); + currentTextureSlot = webglSlot; + } + } + __name(activeTexture, "activeTexture"); + function bindTexture(webglType, webglTexture, webglSlot) { + if (webglSlot === void 0) { + if (currentTextureSlot === null) { + webglSlot = gl.TEXTURE0 + maxTextures - 1; + } else { + webglSlot = currentTextureSlot; + } + } + let boundTexture = currentBoundTextures[webglSlot]; + if (boundTexture === void 0) { + boundTexture = { type: void 0, texture: void 0 }; + currentBoundTextures[webglSlot] = boundTexture; + } + if (boundTexture.type !== webglType || boundTexture.texture !== webglTexture) { + if (currentTextureSlot !== webglSlot) { + gl.activeTexture(webglSlot); + currentTextureSlot = webglSlot; + } + gl.bindTexture(webglType, webglTexture || emptyTextures[webglType]); + boundTexture.type = webglType; + boundTexture.texture = webglTexture; + } + } + __name(bindTexture, "bindTexture"); + function unbindTexture() { + const boundTexture = currentBoundTextures[currentTextureSlot]; + if (boundTexture !== void 0 && boundTexture.type !== void 0) { + gl.bindTexture(boundTexture.type, null); + boundTexture.type = void 0; + boundTexture.texture = void 0; + } + } + __name(unbindTexture, "unbindTexture"); + function compressedTexImage2D() { + try { + gl.compressedTexImage2D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + __name(compressedTexImage2D, "compressedTexImage2D"); + function compressedTexImage3D() { + try { + gl.compressedTexImage3D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + __name(compressedTexImage3D, "compressedTexImage3D"); + function texSubImage2D() { + try { + gl.texSubImage2D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + __name(texSubImage2D, "texSubImage2D"); + function texSubImage3D() { + try { + gl.texSubImage3D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + __name(texSubImage3D, "texSubImage3D"); + function compressedTexSubImage2D() { + try { + gl.compressedTexSubImage2D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + __name(compressedTexSubImage2D, "compressedTexSubImage2D"); + function compressedTexSubImage3D() { + try { + gl.compressedTexSubImage3D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + __name(compressedTexSubImage3D, "compressedTexSubImage3D"); + function texStorage2D() { + try { + gl.texStorage2D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + __name(texStorage2D, "texStorage2D"); + function texStorage3D() { + try { + gl.texStorage3D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + __name(texStorage3D, "texStorage3D"); + function texImage2D() { + try { + gl.texImage2D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + __name(texImage2D, "texImage2D"); + function texImage3D() { + try { + gl.texImage3D.apply(gl, arguments); + } catch (error) { + console.error("THREE.WebGLState:", error); + } + } + __name(texImage3D, "texImage3D"); + function scissor(scissor2) { + if (currentScissor.equals(scissor2) === false) { + gl.scissor(scissor2.x, scissor2.y, scissor2.z, scissor2.w); + currentScissor.copy(scissor2); + } + } + __name(scissor, "scissor"); + function viewport(viewport2) { + if (currentViewport.equals(viewport2) === false) { + gl.viewport(viewport2.x, viewport2.y, viewport2.z, viewport2.w); + currentViewport.copy(viewport2); + } + } + __name(viewport, "viewport"); + function updateUBOMapping(uniformsGroup, program) { + let mapping = uboProgramMap.get(program); + if (mapping === void 0) { + mapping = /* @__PURE__ */ new WeakMap(); + uboProgramMap.set(program, mapping); + } + let blockIndex = mapping.get(uniformsGroup); + if (blockIndex === void 0) { + blockIndex = gl.getUniformBlockIndex(program, uniformsGroup.name); + mapping.set(uniformsGroup, blockIndex); + } + } + __name(updateUBOMapping, "updateUBOMapping"); + function uniformBlockBinding(uniformsGroup, program) { + const mapping = uboProgramMap.get(program); + const blockIndex = mapping.get(uniformsGroup); + if (uboBindings.get(program) !== blockIndex) { + gl.uniformBlockBinding(program, blockIndex, uniformsGroup.__bindingPointIndex); + uboBindings.set(program, blockIndex); + } + } + __name(uniformBlockBinding, "uniformBlockBinding"); + function reset() { + gl.disable(gl.BLEND); + gl.disable(gl.CULL_FACE); + gl.disable(gl.DEPTH_TEST); + gl.disable(gl.POLYGON_OFFSET_FILL); + gl.disable(gl.SCISSOR_TEST); + gl.disable(gl.STENCIL_TEST); + gl.disable(gl.SAMPLE_ALPHA_TO_COVERAGE); + gl.blendEquation(gl.FUNC_ADD); + gl.blendFunc(gl.ONE, gl.ZERO); + gl.blendFuncSeparate(gl.ONE, gl.ZERO, gl.ONE, gl.ZERO); + gl.blendColor(0, 0, 0, 0); + gl.colorMask(true, true, true, true); + gl.clearColor(0, 0, 0, 0); + gl.depthMask(true); + gl.depthFunc(gl.LESS); + depthBuffer.setReversed(false); + gl.clearDepth(1); + gl.stencilMask(4294967295); + gl.stencilFunc(gl.ALWAYS, 0, 4294967295); + gl.stencilOp(gl.KEEP, gl.KEEP, gl.KEEP); + gl.clearStencil(0); + gl.cullFace(gl.BACK); + gl.frontFace(gl.CCW); + gl.polygonOffset(0, 0); + gl.activeTexture(gl.TEXTURE0); + gl.bindFramebuffer(gl.FRAMEBUFFER, null); + gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, null); + gl.bindFramebuffer(gl.READ_FRAMEBUFFER, null); + gl.useProgram(null); + gl.lineWidth(1); + gl.scissor(0, 0, gl.canvas.width, gl.canvas.height); + gl.viewport(0, 0, gl.canvas.width, gl.canvas.height); + enabledCapabilities = {}; + currentTextureSlot = null; + currentBoundTextures = {}; + currentBoundFramebuffers = {}; + currentDrawbuffers = /* @__PURE__ */ new WeakMap(); + defaultDrawbuffers = []; + currentProgram = null; + currentBlendingEnabled = false; + currentBlending = null; + currentBlendEquation = null; + currentBlendSrc = null; + currentBlendDst = null; + currentBlendEquationAlpha = null; + currentBlendSrcAlpha = null; + currentBlendDstAlpha = null; + currentBlendColor = new Color(0, 0, 0); + currentBlendAlpha = 0; + currentPremultipledAlpha = false; + currentFlipSided = null; + currentCullFace = null; + currentLineWidth = null; + currentPolygonOffsetFactor = null; + currentPolygonOffsetUnits = null; + currentScissor.set(0, 0, gl.canvas.width, gl.canvas.height); + currentViewport.set(0, 0, gl.canvas.width, gl.canvas.height); + colorBuffer.reset(); + depthBuffer.reset(); + stencilBuffer.reset(); + } + __name(reset, "reset"); + return { + buffers: { + color: colorBuffer, + depth: depthBuffer, + stencil: stencilBuffer + }, + enable, + disable, + bindFramebuffer, + drawBuffers, + useProgram, + setBlending, + setMaterial, + setFlipSided, + setCullFace, + setLineWidth, + setPolygonOffset, + setScissorTest, + activeTexture, + bindTexture, + unbindTexture, + compressedTexImage2D, + compressedTexImage3D, + texImage2D, + texImage3D, + updateUBOMapping, + uniformBlockBinding, + texStorage2D, + texStorage3D, + texSubImage2D, + texSubImage3D, + compressedTexSubImage2D, + compressedTexSubImage3D, + scissor, + viewport, + reset + }; +} +__name(WebGLState, "WebGLState"); +function contain(texture, aspect2) { + const imageAspect = texture.image && texture.image.width ? texture.image.width / texture.image.height : 1; + if (imageAspect > aspect2) { + texture.repeat.x = 1; + texture.repeat.y = imageAspect / aspect2; + texture.offset.x = 0; + texture.offset.y = (1 - texture.repeat.y) / 2; + } else { + texture.repeat.x = aspect2 / imageAspect; + texture.repeat.y = 1; + texture.offset.x = (1 - texture.repeat.x) / 2; + texture.offset.y = 0; + } + return texture; +} +__name(contain, "contain"); +function cover(texture, aspect2) { + const imageAspect = texture.image && texture.image.width ? texture.image.width / texture.image.height : 1; + if (imageAspect > aspect2) { + texture.repeat.x = aspect2 / imageAspect; + texture.repeat.y = 1; + texture.offset.x = (1 - texture.repeat.x) / 2; + texture.offset.y = 0; + } else { + texture.repeat.x = 1; + texture.repeat.y = imageAspect / aspect2; + texture.offset.x = 0; + texture.offset.y = (1 - texture.repeat.y) / 2; + } + return texture; +} +__name(cover, "cover"); +function fill(texture) { + texture.repeat.x = 1; + texture.repeat.y = 1; + texture.offset.x = 0; + texture.offset.y = 0; + return texture; +} +__name(fill, "fill"); +function getByteLength(width, height, format, type) { + const typeByteLength = getTextureTypeByteLength(type); + switch (format) { + case AlphaFormat: + return width * height; + case LuminanceFormat: + return width * height; + case LuminanceAlphaFormat: + return width * height * 2; + case RedFormat: + return width * height / typeByteLength.components * typeByteLength.byteLength; + case RedIntegerFormat: + return width * height / typeByteLength.components * typeByteLength.byteLength; + case RGFormat: + return width * height * 2 / typeByteLength.components * typeByteLength.byteLength; + case RGIntegerFormat: + return width * height * 2 / typeByteLength.components * typeByteLength.byteLength; + case RGBFormat: + return width * height * 3 / typeByteLength.components * typeByteLength.byteLength; + case RGBAFormat: + return width * height * 4 / typeByteLength.components * typeByteLength.byteLength; + case RGBAIntegerFormat: + return width * height * 4 / typeByteLength.components * typeByteLength.byteLength; + case RGB_S3TC_DXT1_Format: + case RGBA_S3TC_DXT1_Format: + return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 8; + case RGBA_S3TC_DXT3_Format: + case RGBA_S3TC_DXT5_Format: + return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 16; + case RGB_PVRTC_2BPPV1_Format: + case RGBA_PVRTC_2BPPV1_Format: + return Math.max(width, 16) * Math.max(height, 8) / 4; + case RGB_PVRTC_4BPPV1_Format: + case RGBA_PVRTC_4BPPV1_Format: + return Math.max(width, 8) * Math.max(height, 8) / 2; + case RGB_ETC1_Format: + case RGB_ETC2_Format: + return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 8; + case RGBA_ETC2_EAC_Format: + return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 16; + case RGBA_ASTC_4x4_Format: + return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 16; + case RGBA_ASTC_5x4_Format: + return Math.floor((width + 4) / 5) * Math.floor((height + 3) / 4) * 16; + case RGBA_ASTC_5x5_Format: + return Math.floor((width + 4) / 5) * Math.floor((height + 4) / 5) * 16; + case RGBA_ASTC_6x5_Format: + return Math.floor((width + 5) / 6) * Math.floor((height + 4) / 5) * 16; + case RGBA_ASTC_6x6_Format: + return Math.floor((width + 5) / 6) * Math.floor((height + 5) / 6) * 16; + case RGBA_ASTC_8x5_Format: + return Math.floor((width + 7) / 8) * Math.floor((height + 4) / 5) * 16; + case RGBA_ASTC_8x6_Format: + return Math.floor((width + 7) / 8) * Math.floor((height + 5) / 6) * 16; + case RGBA_ASTC_8x8_Format: + return Math.floor((width + 7) / 8) * Math.floor((height + 7) / 8) * 16; + case RGBA_ASTC_10x5_Format: + return Math.floor((width + 9) / 10) * Math.floor((height + 4) / 5) * 16; + case RGBA_ASTC_10x6_Format: + return Math.floor((width + 9) / 10) * Math.floor((height + 5) / 6) * 16; + case RGBA_ASTC_10x8_Format: + return Math.floor((width + 9) / 10) * Math.floor((height + 7) / 8) * 16; + case RGBA_ASTC_10x10_Format: + return Math.floor((width + 9) / 10) * Math.floor((height + 9) / 10) * 16; + case RGBA_ASTC_12x10_Format: + return Math.floor((width + 11) / 12) * Math.floor((height + 9) / 10) * 16; + case RGBA_ASTC_12x12_Format: + return Math.floor((width + 11) / 12) * Math.floor((height + 11) / 12) * 16; + case RGBA_BPTC_Format: + case RGB_BPTC_SIGNED_Format: + case RGB_BPTC_UNSIGNED_Format: + return Math.ceil(width / 4) * Math.ceil(height / 4) * 16; + case RED_RGTC1_Format: + case SIGNED_RED_RGTC1_Format: + return Math.ceil(width / 4) * Math.ceil(height / 4) * 8; + case RED_GREEN_RGTC2_Format: + case SIGNED_RED_GREEN_RGTC2_Format: + return Math.ceil(width / 4) * Math.ceil(height / 4) * 16; + } + throw new Error( + `Unable to determine texture byte length for ${format} format.` + ); +} +__name(getByteLength, "getByteLength"); +function getTextureTypeByteLength(type) { + switch (type) { + case UnsignedByteType: + case ByteType: + return { byteLength: 1, components: 1 }; + case UnsignedShortType: + case ShortType: + case HalfFloatType: + return { byteLength: 2, components: 1 }; + case UnsignedShort4444Type: + case UnsignedShort5551Type: + return { byteLength: 2, components: 4 }; + case UnsignedIntType: + case IntType: + case FloatType: + return { byteLength: 4, components: 1 }; + case UnsignedInt5999Type: + return { byteLength: 4, components: 3 }; + } + throw new Error(`Unknown texture type ${type}.`); +} +__name(getTextureTypeByteLength, "getTextureTypeByteLength"); +const TextureUtils = { + contain, + cover, + fill, + getByteLength +}; +function WebGLTextures(_gl, extensions, state, properties, capabilities, utils, info) { + const multisampledRTTExt = extensions.has("WEBGL_multisampled_render_to_texture") ? extensions.get("WEBGL_multisampled_render_to_texture") : null; + const supportsInvalidateFramebuffer = typeof navigator === "undefined" ? false : /OculusBrowser/g.test(navigator.userAgent); + const _imageDimensions = new Vector2(); + const _videoTextures = /* @__PURE__ */ new WeakMap(); + let _canvas2; + const _sources = /* @__PURE__ */ new WeakMap(); + let useOffscreenCanvas = false; + try { + useOffscreenCanvas = typeof OffscreenCanvas !== "undefined" && new OffscreenCanvas(1, 1).getContext("2d") !== null; + } catch (err2) { + } + function createCanvas(width, height) { + return useOffscreenCanvas ? ( + // eslint-disable-next-line compat/compat + new OffscreenCanvas(width, height) + ) : createElementNS("canvas"); + } + __name(createCanvas, "createCanvas"); + function resizeImage(image, needsNewCanvas, maxSize) { + let scale = 1; + const dimensions = getDimensions(image); + if (dimensions.width > maxSize || dimensions.height > maxSize) { + scale = maxSize / Math.max(dimensions.width, dimensions.height); + } + if (scale < 1) { + if (typeof HTMLImageElement !== "undefined" && image instanceof HTMLImageElement || typeof HTMLCanvasElement !== "undefined" && image instanceof HTMLCanvasElement || typeof ImageBitmap !== "undefined" && image instanceof ImageBitmap || typeof VideoFrame !== "undefined" && image instanceof VideoFrame) { + const width = Math.floor(scale * dimensions.width); + const height = Math.floor(scale * dimensions.height); + if (_canvas2 === void 0) _canvas2 = createCanvas(width, height); + const canvas = needsNewCanvas ? createCanvas(width, height) : _canvas2; + canvas.width = width; + canvas.height = height; + const context = canvas.getContext("2d"); + context.drawImage(image, 0, 0, width, height); + console.warn("THREE.WebGLRenderer: Texture has been resized from (" + dimensions.width + "x" + dimensions.height + ") to (" + width + "x" + height + ")."); + return canvas; + } else { + if ("data" in image) { + console.warn("THREE.WebGLRenderer: Image in DataTexture is too big (" + dimensions.width + "x" + dimensions.height + ")."); + } + return image; + } + } + return image; + } + __name(resizeImage, "resizeImage"); + function textureNeedsGenerateMipmaps(texture) { + return texture.generateMipmaps; + } + __name(textureNeedsGenerateMipmaps, "textureNeedsGenerateMipmaps"); + function generateMipmap(target) { + _gl.generateMipmap(target); + } + __name(generateMipmap, "generateMipmap"); + function getTargetType(texture) { + if (texture.isWebGLCubeRenderTarget) return _gl.TEXTURE_CUBE_MAP; + if (texture.isWebGL3DRenderTarget) return _gl.TEXTURE_3D; + if (texture.isWebGLArrayRenderTarget || texture.isCompressedArrayTexture) return _gl.TEXTURE_2D_ARRAY; + return _gl.TEXTURE_2D; + } + __name(getTargetType, "getTargetType"); + function getInternalFormat(internalFormatName, glFormat, glType, colorSpace, forceLinearTransfer = false) { + if (internalFormatName !== null) { + if (_gl[internalFormatName] !== void 0) return _gl[internalFormatName]; + console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '" + internalFormatName + "'"); + } + let internalFormat = glFormat; + if (glFormat === _gl.RED) { + if (glType === _gl.FLOAT) internalFormat = _gl.R32F; + if (glType === _gl.HALF_FLOAT) internalFormat = _gl.R16F; + if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.R8; + } + if (glFormat === _gl.RED_INTEGER) { + if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.R8UI; + if (glType === _gl.UNSIGNED_SHORT) internalFormat = _gl.R16UI; + if (glType === _gl.UNSIGNED_INT) internalFormat = _gl.R32UI; + if (glType === _gl.BYTE) internalFormat = _gl.R8I; + if (glType === _gl.SHORT) internalFormat = _gl.R16I; + if (glType === _gl.INT) internalFormat = _gl.R32I; + } + if (glFormat === _gl.RG) { + if (glType === _gl.FLOAT) internalFormat = _gl.RG32F; + if (glType === _gl.HALF_FLOAT) internalFormat = _gl.RG16F; + if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.RG8; + } + if (glFormat === _gl.RG_INTEGER) { + if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.RG8UI; + if (glType === _gl.UNSIGNED_SHORT) internalFormat = _gl.RG16UI; + if (glType === _gl.UNSIGNED_INT) internalFormat = _gl.RG32UI; + if (glType === _gl.BYTE) internalFormat = _gl.RG8I; + if (glType === _gl.SHORT) internalFormat = _gl.RG16I; + if (glType === _gl.INT) internalFormat = _gl.RG32I; + } + if (glFormat === _gl.RGB_INTEGER) { + if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.RGB8UI; + if (glType === _gl.UNSIGNED_SHORT) internalFormat = _gl.RGB16UI; + if (glType === _gl.UNSIGNED_INT) internalFormat = _gl.RGB32UI; + if (glType === _gl.BYTE) internalFormat = _gl.RGB8I; + if (glType === _gl.SHORT) internalFormat = _gl.RGB16I; + if (glType === _gl.INT) internalFormat = _gl.RGB32I; + } + if (glFormat === _gl.RGBA_INTEGER) { + if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.RGBA8UI; + if (glType === _gl.UNSIGNED_SHORT) internalFormat = _gl.RGBA16UI; + if (glType === _gl.UNSIGNED_INT) internalFormat = _gl.RGBA32UI; + if (glType === _gl.BYTE) internalFormat = _gl.RGBA8I; + if (glType === _gl.SHORT) internalFormat = _gl.RGBA16I; + if (glType === _gl.INT) internalFormat = _gl.RGBA32I; + } + if (glFormat === _gl.RGB) { + if (glType === _gl.UNSIGNED_INT_5_9_9_9_REV) internalFormat = _gl.RGB9_E5; + } + if (glFormat === _gl.RGBA) { + const transfer = forceLinearTransfer ? LinearTransfer : ColorManagement.getTransfer(colorSpace); + if (glType === _gl.FLOAT) internalFormat = _gl.RGBA32F; + if (glType === _gl.HALF_FLOAT) internalFormat = _gl.RGBA16F; + if (glType === _gl.UNSIGNED_BYTE) internalFormat = transfer === SRGBTransfer ? _gl.SRGB8_ALPHA8 : _gl.RGBA8; + if (glType === _gl.UNSIGNED_SHORT_4_4_4_4) internalFormat = _gl.RGBA4; + if (glType === _gl.UNSIGNED_SHORT_5_5_5_1) internalFormat = _gl.RGB5_A1; + } + if (internalFormat === _gl.R16F || internalFormat === _gl.R32F || internalFormat === _gl.RG16F || internalFormat === _gl.RG32F || internalFormat === _gl.RGBA16F || internalFormat === _gl.RGBA32F) { + extensions.get("EXT_color_buffer_float"); + } + return internalFormat; + } + __name(getInternalFormat, "getInternalFormat"); + function getInternalDepthFormat(useStencil, depthType) { + let glInternalFormat; + if (useStencil) { + if (depthType === null || depthType === UnsignedIntType || depthType === UnsignedInt248Type) { + glInternalFormat = _gl.DEPTH24_STENCIL8; + } else if (depthType === FloatType) { + glInternalFormat = _gl.DEPTH32F_STENCIL8; + } else if (depthType === UnsignedShortType) { + glInternalFormat = _gl.DEPTH24_STENCIL8; + console.warn("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment."); + } + } else { + if (depthType === null || depthType === UnsignedIntType || depthType === UnsignedInt248Type) { + glInternalFormat = _gl.DEPTH_COMPONENT24; + } else if (depthType === FloatType) { + glInternalFormat = _gl.DEPTH_COMPONENT32F; + } else if (depthType === UnsignedShortType) { + glInternalFormat = _gl.DEPTH_COMPONENT16; + } + } + return glInternalFormat; + } + __name(getInternalDepthFormat, "getInternalDepthFormat"); + function getMipLevels(texture, image) { + if (textureNeedsGenerateMipmaps(texture) === true || texture.isFramebufferTexture && texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter) { + return Math.log2(Math.max(image.width, image.height)) + 1; + } else if (texture.mipmaps !== void 0 && texture.mipmaps.length > 0) { + return texture.mipmaps.length; + } else if (texture.isCompressedTexture && Array.isArray(texture.image)) { + return image.mipmaps.length; + } else { + return 1; + } + } + __name(getMipLevels, "getMipLevels"); + function onTextureDispose(event) { + const texture = event.target; + texture.removeEventListener("dispose", onTextureDispose); + deallocateTexture(texture); + if (texture.isVideoTexture) { + _videoTextures.delete(texture); + } + } + __name(onTextureDispose, "onTextureDispose"); + function onRenderTargetDispose(event) { + const renderTarget = event.target; + renderTarget.removeEventListener("dispose", onRenderTargetDispose); + deallocateRenderTarget(renderTarget); + } + __name(onRenderTargetDispose, "onRenderTargetDispose"); + function deallocateTexture(texture) { + const textureProperties = properties.get(texture); + if (textureProperties.__webglInit === void 0) return; + const source = texture.source; + const webglTextures = _sources.get(source); + if (webglTextures) { + const webglTexture = webglTextures[textureProperties.__cacheKey]; + webglTexture.usedTimes--; + if (webglTexture.usedTimes === 0) { + deleteTexture(texture); + } + if (Object.keys(webglTextures).length === 0) { + _sources.delete(source); + } + } + properties.remove(texture); + } + __name(deallocateTexture, "deallocateTexture"); + function deleteTexture(texture) { + const textureProperties = properties.get(texture); + _gl.deleteTexture(textureProperties.__webglTexture); + const source = texture.source; + const webglTextures = _sources.get(source); + delete webglTextures[textureProperties.__cacheKey]; + info.memory.textures--; + } + __name(deleteTexture, "deleteTexture"); + function deallocateRenderTarget(renderTarget) { + const renderTargetProperties = properties.get(renderTarget); + if (renderTarget.depthTexture) { + renderTarget.depthTexture.dispose(); + properties.remove(renderTarget.depthTexture); + } + if (renderTarget.isWebGLCubeRenderTarget) { + for (let i = 0; i < 6; i++) { + if (Array.isArray(renderTargetProperties.__webglFramebuffer[i])) { + for (let level = 0; level < renderTargetProperties.__webglFramebuffer[i].length; level++) _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer[i][level]); + } else { + _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer[i]); + } + if (renderTargetProperties.__webglDepthbuffer) _gl.deleteRenderbuffer(renderTargetProperties.__webglDepthbuffer[i]); + } + } else { + if (Array.isArray(renderTargetProperties.__webglFramebuffer)) { + for (let level = 0; level < renderTargetProperties.__webglFramebuffer.length; level++) _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer[level]); + } else { + _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer); + } + if (renderTargetProperties.__webglDepthbuffer) _gl.deleteRenderbuffer(renderTargetProperties.__webglDepthbuffer); + if (renderTargetProperties.__webglMultisampledFramebuffer) _gl.deleteFramebuffer(renderTargetProperties.__webglMultisampledFramebuffer); + if (renderTargetProperties.__webglColorRenderbuffer) { + for (let i = 0; i < renderTargetProperties.__webglColorRenderbuffer.length; i++) { + if (renderTargetProperties.__webglColorRenderbuffer[i]) _gl.deleteRenderbuffer(renderTargetProperties.__webglColorRenderbuffer[i]); + } + } + if (renderTargetProperties.__webglDepthRenderbuffer) _gl.deleteRenderbuffer(renderTargetProperties.__webglDepthRenderbuffer); + } + const textures = renderTarget.textures; + for (let i = 0, il = textures.length; i < il; i++) { + const attachmentProperties = properties.get(textures[i]); + if (attachmentProperties.__webglTexture) { + _gl.deleteTexture(attachmentProperties.__webglTexture); + info.memory.textures--; + } + properties.remove(textures[i]); + } + properties.remove(renderTarget); + } + __name(deallocateRenderTarget, "deallocateRenderTarget"); + let textureUnits = 0; + function resetTextureUnits() { + textureUnits = 0; + } + __name(resetTextureUnits, "resetTextureUnits"); + function allocateTextureUnit() { + const textureUnit = textureUnits; + if (textureUnit >= capabilities.maxTextures) { + console.warn("THREE.WebGLTextures: Trying to use " + textureUnit + " texture units while this GPU supports only " + capabilities.maxTextures); + } + textureUnits += 1; + return textureUnit; + } + __name(allocateTextureUnit, "allocateTextureUnit"); + function getTextureCacheKey(texture) { + const array = []; + array.push(texture.wrapS); + array.push(texture.wrapT); + array.push(texture.wrapR || 0); + array.push(texture.magFilter); + array.push(texture.minFilter); + array.push(texture.anisotropy); + array.push(texture.internalFormat); + array.push(texture.format); + array.push(texture.type); + array.push(texture.generateMipmaps); + array.push(texture.premultiplyAlpha); + array.push(texture.flipY); + array.push(texture.unpackAlignment); + array.push(texture.colorSpace); + return array.join(); + } + __name(getTextureCacheKey, "getTextureCacheKey"); + function setTexture2D(texture, slot) { + const textureProperties = properties.get(texture); + if (texture.isVideoTexture) updateVideoTexture(texture); + if (texture.isRenderTargetTexture === false && texture.version > 0 && textureProperties.__version !== texture.version) { + const image = texture.image; + if (image === null) { + console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found."); + } else if (image.complete === false) { + console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete"); + } else { + uploadTexture(textureProperties, texture, slot); + return; + } + } + state.bindTexture(_gl.TEXTURE_2D, textureProperties.__webglTexture, _gl.TEXTURE0 + slot); + } + __name(setTexture2D, "setTexture2D"); + function setTexture2DArray(texture, slot) { + const textureProperties = properties.get(texture); + if (texture.version > 0 && textureProperties.__version !== texture.version) { + uploadTexture(textureProperties, texture, slot); + return; + } + state.bindTexture(_gl.TEXTURE_2D_ARRAY, textureProperties.__webglTexture, _gl.TEXTURE0 + slot); + } + __name(setTexture2DArray, "setTexture2DArray"); + function setTexture3D(texture, slot) { + const textureProperties = properties.get(texture); + if (texture.version > 0 && textureProperties.__version !== texture.version) { + uploadTexture(textureProperties, texture, slot); + return; + } + state.bindTexture(_gl.TEXTURE_3D, textureProperties.__webglTexture, _gl.TEXTURE0 + slot); + } + __name(setTexture3D, "setTexture3D"); + function setTextureCube(texture, slot) { + const textureProperties = properties.get(texture); + if (texture.version > 0 && textureProperties.__version !== texture.version) { + uploadCubeTexture(textureProperties, texture, slot); + return; + } + state.bindTexture(_gl.TEXTURE_CUBE_MAP, textureProperties.__webglTexture, _gl.TEXTURE0 + slot); + } + __name(setTextureCube, "setTextureCube"); + const wrappingToGL = { + [RepeatWrapping]: _gl.REPEAT, + [ClampToEdgeWrapping]: _gl.CLAMP_TO_EDGE, + [MirroredRepeatWrapping]: _gl.MIRRORED_REPEAT + }; + const filterToGL = { + [NearestFilter]: _gl.NEAREST, + [NearestMipmapNearestFilter]: _gl.NEAREST_MIPMAP_NEAREST, + [NearestMipmapLinearFilter]: _gl.NEAREST_MIPMAP_LINEAR, + [LinearFilter]: _gl.LINEAR, + [LinearMipmapNearestFilter]: _gl.LINEAR_MIPMAP_NEAREST, + [LinearMipmapLinearFilter]: _gl.LINEAR_MIPMAP_LINEAR + }; + const compareToGL = { + [NeverCompare]: _gl.NEVER, + [AlwaysCompare]: _gl.ALWAYS, + [LessCompare]: _gl.LESS, + [LessEqualCompare]: _gl.LEQUAL, + [EqualCompare]: _gl.EQUAL, + [GreaterEqualCompare]: _gl.GEQUAL, + [GreaterCompare]: _gl.GREATER, + [NotEqualCompare]: _gl.NOTEQUAL + }; + function setTextureParameters(textureType, texture) { + if (texture.type === FloatType && extensions.has("OES_texture_float_linear") === false && (texture.magFilter === LinearFilter || texture.magFilter === LinearMipmapNearestFilter || texture.magFilter === NearestMipmapLinearFilter || texture.magFilter === LinearMipmapLinearFilter || texture.minFilter === LinearFilter || texture.minFilter === LinearMipmapNearestFilter || texture.minFilter === NearestMipmapLinearFilter || texture.minFilter === LinearMipmapLinearFilter)) { + console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."); + } + _gl.texParameteri(textureType, _gl.TEXTURE_WRAP_S, wrappingToGL[texture.wrapS]); + _gl.texParameteri(textureType, _gl.TEXTURE_WRAP_T, wrappingToGL[texture.wrapT]); + if (textureType === _gl.TEXTURE_3D || textureType === _gl.TEXTURE_2D_ARRAY) { + _gl.texParameteri(textureType, _gl.TEXTURE_WRAP_R, wrappingToGL[texture.wrapR]); + } + _gl.texParameteri(textureType, _gl.TEXTURE_MAG_FILTER, filterToGL[texture.magFilter]); + _gl.texParameteri(textureType, _gl.TEXTURE_MIN_FILTER, filterToGL[texture.minFilter]); + if (texture.compareFunction) { + _gl.texParameteri(textureType, _gl.TEXTURE_COMPARE_MODE, _gl.COMPARE_REF_TO_TEXTURE); + _gl.texParameteri(textureType, _gl.TEXTURE_COMPARE_FUNC, compareToGL[texture.compareFunction]); + } + if (extensions.has("EXT_texture_filter_anisotropic") === true) { + if (texture.magFilter === NearestFilter) return; + if (texture.minFilter !== NearestMipmapLinearFilter && texture.minFilter !== LinearMipmapLinearFilter) return; + if (texture.type === FloatType && extensions.has("OES_texture_float_linear") === false) return; + if (texture.anisotropy > 1 || properties.get(texture).__currentAnisotropy) { + const extension = extensions.get("EXT_texture_filter_anisotropic"); + _gl.texParameterf(textureType, extension.TEXTURE_MAX_ANISOTROPY_EXT, Math.min(texture.anisotropy, capabilities.getMaxAnisotropy())); + properties.get(texture).__currentAnisotropy = texture.anisotropy; + } + } + } + __name(setTextureParameters, "setTextureParameters"); + function initTexture(textureProperties, texture) { + let forceUpload = false; + if (textureProperties.__webglInit === void 0) { + textureProperties.__webglInit = true; + texture.addEventListener("dispose", onTextureDispose); + } + const source = texture.source; + let webglTextures = _sources.get(source); + if (webglTextures === void 0) { + webglTextures = {}; + _sources.set(source, webglTextures); + } + const textureCacheKey = getTextureCacheKey(texture); + if (textureCacheKey !== textureProperties.__cacheKey) { + if (webglTextures[textureCacheKey] === void 0) { + webglTextures[textureCacheKey] = { + texture: _gl.createTexture(), + usedTimes: 0 + }; + info.memory.textures++; + forceUpload = true; + } + webglTextures[textureCacheKey].usedTimes++; + const webglTexture = webglTextures[textureProperties.__cacheKey]; + if (webglTexture !== void 0) { + webglTextures[textureProperties.__cacheKey].usedTimes--; + if (webglTexture.usedTimes === 0) { + deleteTexture(texture); + } + } + textureProperties.__cacheKey = textureCacheKey; + textureProperties.__webglTexture = webglTextures[textureCacheKey].texture; + } + return forceUpload; + } + __name(initTexture, "initTexture"); + function uploadTexture(textureProperties, texture, slot) { + let textureType = _gl.TEXTURE_2D; + if (texture.isDataArrayTexture || texture.isCompressedArrayTexture) textureType = _gl.TEXTURE_2D_ARRAY; + if (texture.isData3DTexture) textureType = _gl.TEXTURE_3D; + const forceUpload = initTexture(textureProperties, texture); + const source = texture.source; + state.bindTexture(textureType, textureProperties.__webglTexture, _gl.TEXTURE0 + slot); + const sourceProperties = properties.get(source); + if (source.version !== sourceProperties.__version || forceUpload === true) { + state.activeTexture(_gl.TEXTURE0 + slot); + const workingPrimaries = ColorManagement.getPrimaries(ColorManagement.workingColorSpace); + const texturePrimaries = texture.colorSpace === NoColorSpace ? null : ColorManagement.getPrimaries(texture.colorSpace); + const unpackConversion = texture.colorSpace === NoColorSpace || workingPrimaries === texturePrimaries ? _gl.NONE : _gl.BROWSER_DEFAULT_WEBGL; + _gl.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL, texture.flipY); + _gl.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, texture.premultiplyAlpha); + _gl.pixelStorei(_gl.UNPACK_ALIGNMENT, texture.unpackAlignment); + _gl.pixelStorei(_gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, unpackConversion); + let image = resizeImage(texture.image, false, capabilities.maxTextureSize); + image = verifyColorSpace(texture, image); + const glFormat = utils.convert(texture.format, texture.colorSpace); + const glType = utils.convert(texture.type); + let glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType, texture.colorSpace, texture.isVideoTexture); + setTextureParameters(textureType, texture); + let mipmap; + const mipmaps = texture.mipmaps; + const useTexStorage = texture.isVideoTexture !== true; + const allocateMemory = sourceProperties.__version === void 0 || forceUpload === true; + const dataReady = source.dataReady; + const levels = getMipLevels(texture, image); + if (texture.isDepthTexture) { + glInternalFormat = getInternalDepthFormat(texture.format === DepthStencilFormat, texture.type); + if (allocateMemory) { + if (useTexStorage) { + state.texStorage2D(_gl.TEXTURE_2D, 1, glInternalFormat, image.width, image.height); + } else { + state.texImage2D(_gl.TEXTURE_2D, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, null); + } + } + } else if (texture.isDataTexture) { + if (mipmaps.length > 0) { + if (useTexStorage && allocateMemory) { + state.texStorage2D(_gl.TEXTURE_2D, levels, glInternalFormat, mipmaps[0].width, mipmaps[0].height); + } + for (let i = 0, il = mipmaps.length; i < il; i++) { + mipmap = mipmaps[i]; + if (useTexStorage) { + if (dataReady) { + state.texSubImage2D(_gl.TEXTURE_2D, i, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data); + } + } else { + state.texImage2D(_gl.TEXTURE_2D, i, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data); + } + } + texture.generateMipmaps = false; + } else { + if (useTexStorage) { + if (allocateMemory) { + state.texStorage2D(_gl.TEXTURE_2D, levels, glInternalFormat, image.width, image.height); + } + if (dataReady) { + state.texSubImage2D(_gl.TEXTURE_2D, 0, 0, 0, image.width, image.height, glFormat, glType, image.data); + } + } else { + state.texImage2D(_gl.TEXTURE_2D, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, image.data); + } + } + } else if (texture.isCompressedTexture) { + if (texture.isCompressedArrayTexture) { + if (useTexStorage && allocateMemory) { + state.texStorage3D(_gl.TEXTURE_2D_ARRAY, levels, glInternalFormat, mipmaps[0].width, mipmaps[0].height, image.depth); + } + for (let i = 0, il = mipmaps.length; i < il; i++) { + mipmap = mipmaps[i]; + if (texture.format !== RGBAFormat) { + if (glFormat !== null) { + if (useTexStorage) { + if (dataReady) { + if (texture.layerUpdates.size > 0) { + const layerByteLength = getByteLength(mipmap.width, mipmap.height, texture.format, texture.type); + for (const layerIndex of texture.layerUpdates) { + const layerData = mipmap.data.subarray( + layerIndex * layerByteLength / mipmap.data.BYTES_PER_ELEMENT, + (layerIndex + 1) * layerByteLength / mipmap.data.BYTES_PER_ELEMENT + ); + state.compressedTexSubImage3D(_gl.TEXTURE_2D_ARRAY, i, 0, 0, layerIndex, mipmap.width, mipmap.height, 1, glFormat, layerData); + } + texture.clearLayerUpdates(); + } else { + state.compressedTexSubImage3D(_gl.TEXTURE_2D_ARRAY, i, 0, 0, 0, mipmap.width, mipmap.height, image.depth, glFormat, mipmap.data); + } + } + } else { + state.compressedTexImage3D(_gl.TEXTURE_2D_ARRAY, i, glInternalFormat, mipmap.width, mipmap.height, image.depth, 0, mipmap.data, 0, 0); + } + } else { + console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"); + } + } else { + if (useTexStorage) { + if (dataReady) { + state.texSubImage3D(_gl.TEXTURE_2D_ARRAY, i, 0, 0, 0, mipmap.width, mipmap.height, image.depth, glFormat, glType, mipmap.data); + } + } else { + state.texImage3D(_gl.TEXTURE_2D_ARRAY, i, glInternalFormat, mipmap.width, mipmap.height, image.depth, 0, glFormat, glType, mipmap.data); + } + } + } + } else { + if (useTexStorage && allocateMemory) { + state.texStorage2D(_gl.TEXTURE_2D, levels, glInternalFormat, mipmaps[0].width, mipmaps[0].height); + } + for (let i = 0, il = mipmaps.length; i < il; i++) { + mipmap = mipmaps[i]; + if (texture.format !== RGBAFormat) { + if (glFormat !== null) { + if (useTexStorage) { + if (dataReady) { + state.compressedTexSubImage2D(_gl.TEXTURE_2D, i, 0, 0, mipmap.width, mipmap.height, glFormat, mipmap.data); + } + } else { + state.compressedTexImage2D(_gl.TEXTURE_2D, i, glInternalFormat, mipmap.width, mipmap.height, 0, mipmap.data); + } + } else { + console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"); + } + } else { + if (useTexStorage) { + if (dataReady) { + state.texSubImage2D(_gl.TEXTURE_2D, i, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data); + } + } else { + state.texImage2D(_gl.TEXTURE_2D, i, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data); + } + } + } + } + } else if (texture.isDataArrayTexture) { + if (useTexStorage) { + if (allocateMemory) { + state.texStorage3D(_gl.TEXTURE_2D_ARRAY, levels, glInternalFormat, image.width, image.height, image.depth); + } + if (dataReady) { + if (texture.layerUpdates.size > 0) { + const layerByteLength = getByteLength(image.width, image.height, texture.format, texture.type); + for (const layerIndex of texture.layerUpdates) { + const layerData = image.data.subarray( + layerIndex * layerByteLength / image.data.BYTES_PER_ELEMENT, + (layerIndex + 1) * layerByteLength / image.data.BYTES_PER_ELEMENT + ); + state.texSubImage3D(_gl.TEXTURE_2D_ARRAY, 0, 0, 0, layerIndex, image.width, image.height, 1, glFormat, glType, layerData); + } + texture.clearLayerUpdates(); + } else { + state.texSubImage3D(_gl.TEXTURE_2D_ARRAY, 0, 0, 0, 0, image.width, image.height, image.depth, glFormat, glType, image.data); + } + } + } else { + state.texImage3D(_gl.TEXTURE_2D_ARRAY, 0, glInternalFormat, image.width, image.height, image.depth, 0, glFormat, glType, image.data); + } + } else if (texture.isData3DTexture) { + if (useTexStorage) { + if (allocateMemory) { + state.texStorage3D(_gl.TEXTURE_3D, levels, glInternalFormat, image.width, image.height, image.depth); + } + if (dataReady) { + state.texSubImage3D(_gl.TEXTURE_3D, 0, 0, 0, 0, image.width, image.height, image.depth, glFormat, glType, image.data); + } + } else { + state.texImage3D(_gl.TEXTURE_3D, 0, glInternalFormat, image.width, image.height, image.depth, 0, glFormat, glType, image.data); + } + } else if (texture.isFramebufferTexture) { + if (allocateMemory) { + if (useTexStorage) { + state.texStorage2D(_gl.TEXTURE_2D, levels, glInternalFormat, image.width, image.height); + } else { + let width = image.width, height = image.height; + for (let i = 0; i < levels; i++) { + state.texImage2D(_gl.TEXTURE_2D, i, glInternalFormat, width, height, 0, glFormat, glType, null); + width >>= 1; + height >>= 1; + } + } + } + } else { + if (mipmaps.length > 0) { + if (useTexStorage && allocateMemory) { + const dimensions = getDimensions(mipmaps[0]); + state.texStorage2D(_gl.TEXTURE_2D, levels, glInternalFormat, dimensions.width, dimensions.height); + } + for (let i = 0, il = mipmaps.length; i < il; i++) { + mipmap = mipmaps[i]; + if (useTexStorage) { + if (dataReady) { + state.texSubImage2D(_gl.TEXTURE_2D, i, 0, 0, glFormat, glType, mipmap); + } + } else { + state.texImage2D(_gl.TEXTURE_2D, i, glInternalFormat, glFormat, glType, mipmap); + } + } + texture.generateMipmaps = false; + } else { + if (useTexStorage) { + if (allocateMemory) { + const dimensions = getDimensions(image); + state.texStorage2D(_gl.TEXTURE_2D, levels, glInternalFormat, dimensions.width, dimensions.height); + } + if (dataReady) { + state.texSubImage2D(_gl.TEXTURE_2D, 0, 0, 0, glFormat, glType, image); + } + } else { + state.texImage2D(_gl.TEXTURE_2D, 0, glInternalFormat, glFormat, glType, image); + } + } + } + if (textureNeedsGenerateMipmaps(texture)) { + generateMipmap(textureType); + } + sourceProperties.__version = source.version; + if (texture.onUpdate) texture.onUpdate(texture); + } + textureProperties.__version = texture.version; + } + __name(uploadTexture, "uploadTexture"); + function uploadCubeTexture(textureProperties, texture, slot) { + if (texture.image.length !== 6) return; + const forceUpload = initTexture(textureProperties, texture); + const source = texture.source; + state.bindTexture(_gl.TEXTURE_CUBE_MAP, textureProperties.__webglTexture, _gl.TEXTURE0 + slot); + const sourceProperties = properties.get(source); + if (source.version !== sourceProperties.__version || forceUpload === true) { + state.activeTexture(_gl.TEXTURE0 + slot); + const workingPrimaries = ColorManagement.getPrimaries(ColorManagement.workingColorSpace); + const texturePrimaries = texture.colorSpace === NoColorSpace ? null : ColorManagement.getPrimaries(texture.colorSpace); + const unpackConversion = texture.colorSpace === NoColorSpace || workingPrimaries === texturePrimaries ? _gl.NONE : _gl.BROWSER_DEFAULT_WEBGL; + _gl.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL, texture.flipY); + _gl.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, texture.premultiplyAlpha); + _gl.pixelStorei(_gl.UNPACK_ALIGNMENT, texture.unpackAlignment); + _gl.pixelStorei(_gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, unpackConversion); + const isCompressed = texture.isCompressedTexture || texture.image[0].isCompressedTexture; + const isDataTexture = texture.image[0] && texture.image[0].isDataTexture; + const cubeImage = []; + for (let i = 0; i < 6; i++) { + if (!isCompressed && !isDataTexture) { + cubeImage[i] = resizeImage(texture.image[i], true, capabilities.maxCubemapSize); + } else { + cubeImage[i] = isDataTexture ? texture.image[i].image : texture.image[i]; + } + cubeImage[i] = verifyColorSpace(texture, cubeImage[i]); + } + const image = cubeImage[0], glFormat = utils.convert(texture.format, texture.colorSpace), glType = utils.convert(texture.type), glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType, texture.colorSpace); + const useTexStorage = texture.isVideoTexture !== true; + const allocateMemory = sourceProperties.__version === void 0 || forceUpload === true; + const dataReady = source.dataReady; + let levels = getMipLevels(texture, image); + setTextureParameters(_gl.TEXTURE_CUBE_MAP, texture); + let mipmaps; + if (isCompressed) { + if (useTexStorage && allocateMemory) { + state.texStorage2D(_gl.TEXTURE_CUBE_MAP, levels, glInternalFormat, image.width, image.height); + } + for (let i = 0; i < 6; i++) { + mipmaps = cubeImage[i].mipmaps; + for (let j = 0; j < mipmaps.length; j++) { + const mipmap = mipmaps[j]; + if (texture.format !== RGBAFormat) { + if (glFormat !== null) { + if (useTexStorage) { + if (dataReady) { + state.compressedTexSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, 0, 0, mipmap.width, mipmap.height, glFormat, mipmap.data); + } + } else { + state.compressedTexImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, glInternalFormat, mipmap.width, mipmap.height, 0, mipmap.data); + } + } else { + console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"); + } + } else { + if (useTexStorage) { + if (dataReady) { + state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data); + } + } else { + state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data); + } + } + } + } + } else { + mipmaps = texture.mipmaps; + if (useTexStorage && allocateMemory) { + if (mipmaps.length > 0) levels++; + const dimensions = getDimensions(cubeImage[0]); + state.texStorage2D(_gl.TEXTURE_CUBE_MAP, levels, glInternalFormat, dimensions.width, dimensions.height); + } + for (let i = 0; i < 6; i++) { + if (isDataTexture) { + if (useTexStorage) { + if (dataReady) { + state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, 0, 0, cubeImage[i].width, cubeImage[i].height, glFormat, glType, cubeImage[i].data); + } + } else { + state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, cubeImage[i].width, cubeImage[i].height, 0, glFormat, glType, cubeImage[i].data); + } + for (let j = 0; j < mipmaps.length; j++) { + const mipmap = mipmaps[j]; + const mipmapImage = mipmap.image[i].image; + if (useTexStorage) { + if (dataReady) { + state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j + 1, 0, 0, mipmapImage.width, mipmapImage.height, glFormat, glType, mipmapImage.data); + } + } else { + state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j + 1, glInternalFormat, mipmapImage.width, mipmapImage.height, 0, glFormat, glType, mipmapImage.data); + } + } + } else { + if (useTexStorage) { + if (dataReady) { + state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, 0, 0, glFormat, glType, cubeImage[i]); + } + } else { + state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, glFormat, glType, cubeImage[i]); + } + for (let j = 0; j < mipmaps.length; j++) { + const mipmap = mipmaps[j]; + if (useTexStorage) { + if (dataReady) { + state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j + 1, 0, 0, glFormat, glType, mipmap.image[i]); + } + } else { + state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j + 1, glInternalFormat, glFormat, glType, mipmap.image[i]); + } + } + } + } + } + if (textureNeedsGenerateMipmaps(texture)) { + generateMipmap(_gl.TEXTURE_CUBE_MAP); + } + sourceProperties.__version = source.version; + if (texture.onUpdate) texture.onUpdate(texture); + } + textureProperties.__version = texture.version; + } + __name(uploadCubeTexture, "uploadCubeTexture"); + function setupFrameBufferTexture(framebuffer, renderTarget, texture, attachment, textureTarget, level) { + const glFormat = utils.convert(texture.format, texture.colorSpace); + const glType = utils.convert(texture.type); + const glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType, texture.colorSpace); + const renderTargetProperties = properties.get(renderTarget); + const textureProperties = properties.get(texture); + textureProperties.__renderTarget = renderTarget; + if (!renderTargetProperties.__hasExternalTextures) { + const width = Math.max(1, renderTarget.width >> level); + const height = Math.max(1, renderTarget.height >> level); + if (textureTarget === _gl.TEXTURE_3D || textureTarget === _gl.TEXTURE_2D_ARRAY) { + state.texImage3D(textureTarget, level, glInternalFormat, width, height, renderTarget.depth, 0, glFormat, glType, null); + } else { + state.texImage2D(textureTarget, level, glInternalFormat, width, height, 0, glFormat, glType, null); + } + } + state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer); + if (useMultisampledRTT(renderTarget)) { + multisampledRTTExt.framebufferTexture2DMultisampleEXT(_gl.FRAMEBUFFER, attachment, textureTarget, textureProperties.__webglTexture, 0, getRenderTargetSamples(renderTarget)); + } else if (textureTarget === _gl.TEXTURE_2D || textureTarget >= _gl.TEXTURE_CUBE_MAP_POSITIVE_X && textureTarget <= _gl.TEXTURE_CUBE_MAP_NEGATIVE_Z) { + _gl.framebufferTexture2D(_gl.FRAMEBUFFER, attachment, textureTarget, textureProperties.__webglTexture, level); + } + state.bindFramebuffer(_gl.FRAMEBUFFER, null); + } + __name(setupFrameBufferTexture, "setupFrameBufferTexture"); + function setupRenderBufferStorage(renderbuffer, renderTarget, isMultisample) { + _gl.bindRenderbuffer(_gl.RENDERBUFFER, renderbuffer); + if (renderTarget.depthBuffer) { + const depthTexture = renderTarget.depthTexture; + const depthType = depthTexture && depthTexture.isDepthTexture ? depthTexture.type : null; + const glInternalFormat = getInternalDepthFormat(renderTarget.stencilBuffer, depthType); + const glAttachmentType = renderTarget.stencilBuffer ? _gl.DEPTH_STENCIL_ATTACHMENT : _gl.DEPTH_ATTACHMENT; + const samples = getRenderTargetSamples(renderTarget); + const isUseMultisampledRTT = useMultisampledRTT(renderTarget); + if (isUseMultisampledRTT) { + multisampledRTTExt.renderbufferStorageMultisampleEXT(_gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height); + } else if (isMultisample) { + _gl.renderbufferStorageMultisample(_gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height); + } else { + _gl.renderbufferStorage(_gl.RENDERBUFFER, glInternalFormat, renderTarget.width, renderTarget.height); + } + _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, glAttachmentType, _gl.RENDERBUFFER, renderbuffer); + } else { + const textures = renderTarget.textures; + for (let i = 0; i < textures.length; i++) { + const texture = textures[i]; + const glFormat = utils.convert(texture.format, texture.colorSpace); + const glType = utils.convert(texture.type); + const glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType, texture.colorSpace); + const samples = getRenderTargetSamples(renderTarget); + if (isMultisample && useMultisampledRTT(renderTarget) === false) { + _gl.renderbufferStorageMultisample(_gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height); + } else if (useMultisampledRTT(renderTarget)) { + multisampledRTTExt.renderbufferStorageMultisampleEXT(_gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height); + } else { + _gl.renderbufferStorage(_gl.RENDERBUFFER, glInternalFormat, renderTarget.width, renderTarget.height); + } + } + } + _gl.bindRenderbuffer(_gl.RENDERBUFFER, null); + } + __name(setupRenderBufferStorage, "setupRenderBufferStorage"); + function setupDepthTexture(framebuffer, renderTarget) { + const isCube = renderTarget && renderTarget.isWebGLCubeRenderTarget; + if (isCube) throw new Error("Depth Texture with cube render targets is not supported"); + state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer); + if (!(renderTarget.depthTexture && renderTarget.depthTexture.isDepthTexture)) { + throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture"); + } + const textureProperties = properties.get(renderTarget.depthTexture); + textureProperties.__renderTarget = renderTarget; + if (!textureProperties.__webglTexture || renderTarget.depthTexture.image.width !== renderTarget.width || renderTarget.depthTexture.image.height !== renderTarget.height) { + renderTarget.depthTexture.image.width = renderTarget.width; + renderTarget.depthTexture.image.height = renderTarget.height; + renderTarget.depthTexture.needsUpdate = true; + } + setTexture2D(renderTarget.depthTexture, 0); + const webglDepthTexture = textureProperties.__webglTexture; + const samples = getRenderTargetSamples(renderTarget); + if (renderTarget.depthTexture.format === DepthFormat) { + if (useMultisampledRTT(renderTarget)) { + multisampledRTTExt.framebufferTexture2DMultisampleEXT(_gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0, samples); + } else { + _gl.framebufferTexture2D(_gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0); + } + } else if (renderTarget.depthTexture.format === DepthStencilFormat) { + if (useMultisampledRTT(renderTarget)) { + multisampledRTTExt.framebufferTexture2DMultisampleEXT(_gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0, samples); + } else { + _gl.framebufferTexture2D(_gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0); + } + } else { + throw new Error("Unknown depthTexture format"); + } + } + __name(setupDepthTexture, "setupDepthTexture"); + function setupDepthRenderbuffer(renderTarget) { + const renderTargetProperties = properties.get(renderTarget); + const isCube = renderTarget.isWebGLCubeRenderTarget === true; + if (renderTargetProperties.__boundDepthTexture !== renderTarget.depthTexture) { + const depthTexture = renderTarget.depthTexture; + if (renderTargetProperties.__depthDisposeCallback) { + renderTargetProperties.__depthDisposeCallback(); + } + if (depthTexture) { + const disposeEvent = /* @__PURE__ */ __name(() => { + delete renderTargetProperties.__boundDepthTexture; + delete renderTargetProperties.__depthDisposeCallback; + depthTexture.removeEventListener("dispose", disposeEvent); + }, "disposeEvent"); + depthTexture.addEventListener("dispose", disposeEvent); + renderTargetProperties.__depthDisposeCallback = disposeEvent; + } + renderTargetProperties.__boundDepthTexture = depthTexture; + } + if (renderTarget.depthTexture && !renderTargetProperties.__autoAllocateDepthBuffer) { + if (isCube) throw new Error("target.depthTexture not supported in Cube render targets"); + setupDepthTexture(renderTargetProperties.__webglFramebuffer, renderTarget); + } else { + if (isCube) { + renderTargetProperties.__webglDepthbuffer = []; + for (let i = 0; i < 6; i++) { + state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglFramebuffer[i]); + if (renderTargetProperties.__webglDepthbuffer[i] === void 0) { + renderTargetProperties.__webglDepthbuffer[i] = _gl.createRenderbuffer(); + setupRenderBufferStorage(renderTargetProperties.__webglDepthbuffer[i], renderTarget, false); + } else { + const glAttachmentType = renderTarget.stencilBuffer ? _gl.DEPTH_STENCIL_ATTACHMENT : _gl.DEPTH_ATTACHMENT; + const renderbuffer = renderTargetProperties.__webglDepthbuffer[i]; + _gl.bindRenderbuffer(_gl.RENDERBUFFER, renderbuffer); + _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, glAttachmentType, _gl.RENDERBUFFER, renderbuffer); + } + } + } else { + state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglFramebuffer); + if (renderTargetProperties.__webglDepthbuffer === void 0) { + renderTargetProperties.__webglDepthbuffer = _gl.createRenderbuffer(); + setupRenderBufferStorage(renderTargetProperties.__webglDepthbuffer, renderTarget, false); + } else { + const glAttachmentType = renderTarget.stencilBuffer ? _gl.DEPTH_STENCIL_ATTACHMENT : _gl.DEPTH_ATTACHMENT; + const renderbuffer = renderTargetProperties.__webglDepthbuffer; + _gl.bindRenderbuffer(_gl.RENDERBUFFER, renderbuffer); + _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, glAttachmentType, _gl.RENDERBUFFER, renderbuffer); + } + } + } + state.bindFramebuffer(_gl.FRAMEBUFFER, null); + } + __name(setupDepthRenderbuffer, "setupDepthRenderbuffer"); + function rebindTextures(renderTarget, colorTexture, depthTexture) { + const renderTargetProperties = properties.get(renderTarget); + if (colorTexture !== void 0) { + setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer, renderTarget, renderTarget.texture, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_2D, 0); + } + if (depthTexture !== void 0) { + setupDepthRenderbuffer(renderTarget); + } + } + __name(rebindTextures, "rebindTextures"); + function setupRenderTarget(renderTarget) { + const texture = renderTarget.texture; + const renderTargetProperties = properties.get(renderTarget); + const textureProperties = properties.get(texture); + renderTarget.addEventListener("dispose", onRenderTargetDispose); + const textures = renderTarget.textures; + const isCube = renderTarget.isWebGLCubeRenderTarget === true; + const isMultipleRenderTargets = textures.length > 1; + if (!isMultipleRenderTargets) { + if (textureProperties.__webglTexture === void 0) { + textureProperties.__webglTexture = _gl.createTexture(); + } + textureProperties.__version = texture.version; + info.memory.textures++; + } + if (isCube) { + renderTargetProperties.__webglFramebuffer = []; + for (let i = 0; i < 6; i++) { + if (texture.mipmaps && texture.mipmaps.length > 0) { + renderTargetProperties.__webglFramebuffer[i] = []; + for (let level = 0; level < texture.mipmaps.length; level++) { + renderTargetProperties.__webglFramebuffer[i][level] = _gl.createFramebuffer(); + } + } else { + renderTargetProperties.__webglFramebuffer[i] = _gl.createFramebuffer(); + } + } + } else { + if (texture.mipmaps && texture.mipmaps.length > 0) { + renderTargetProperties.__webglFramebuffer = []; + for (let level = 0; level < texture.mipmaps.length; level++) { + renderTargetProperties.__webglFramebuffer[level] = _gl.createFramebuffer(); + } + } else { + renderTargetProperties.__webglFramebuffer = _gl.createFramebuffer(); + } + if (isMultipleRenderTargets) { + for (let i = 0, il = textures.length; i < il; i++) { + const attachmentProperties = properties.get(textures[i]); + if (attachmentProperties.__webglTexture === void 0) { + attachmentProperties.__webglTexture = _gl.createTexture(); + info.memory.textures++; + } + } + } + if (renderTarget.samples > 0 && useMultisampledRTT(renderTarget) === false) { + renderTargetProperties.__webglMultisampledFramebuffer = _gl.createFramebuffer(); + renderTargetProperties.__webglColorRenderbuffer = []; + state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer); + for (let i = 0; i < textures.length; i++) { + const texture2 = textures[i]; + renderTargetProperties.__webglColorRenderbuffer[i] = _gl.createRenderbuffer(); + _gl.bindRenderbuffer(_gl.RENDERBUFFER, renderTargetProperties.__webglColorRenderbuffer[i]); + const glFormat = utils.convert(texture2.format, texture2.colorSpace); + const glType = utils.convert(texture2.type); + const glInternalFormat = getInternalFormat(texture2.internalFormat, glFormat, glType, texture2.colorSpace, renderTarget.isXRRenderTarget === true); + const samples = getRenderTargetSamples(renderTarget); + _gl.renderbufferStorageMultisample(_gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height); + _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0 + i, _gl.RENDERBUFFER, renderTargetProperties.__webglColorRenderbuffer[i]); + } + _gl.bindRenderbuffer(_gl.RENDERBUFFER, null); + if (renderTarget.depthBuffer) { + renderTargetProperties.__webglDepthRenderbuffer = _gl.createRenderbuffer(); + setupRenderBufferStorage(renderTargetProperties.__webglDepthRenderbuffer, renderTarget, true); + } + state.bindFramebuffer(_gl.FRAMEBUFFER, null); + } + } + if (isCube) { + state.bindTexture(_gl.TEXTURE_CUBE_MAP, textureProperties.__webglTexture); + setTextureParameters(_gl.TEXTURE_CUBE_MAP, texture); + for (let i = 0; i < 6; i++) { + if (texture.mipmaps && texture.mipmaps.length > 0) { + for (let level = 0; level < texture.mipmaps.length; level++) { + setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer[i][level], renderTarget, texture, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, level); + } + } else { + setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer[i], renderTarget, texture, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0); + } + } + if (textureNeedsGenerateMipmaps(texture)) { + generateMipmap(_gl.TEXTURE_CUBE_MAP); + } + state.unbindTexture(); + } else if (isMultipleRenderTargets) { + for (let i = 0, il = textures.length; i < il; i++) { + const attachment = textures[i]; + const attachmentProperties = properties.get(attachment); + state.bindTexture(_gl.TEXTURE_2D, attachmentProperties.__webglTexture); + setTextureParameters(_gl.TEXTURE_2D, attachment); + setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer, renderTarget, attachment, _gl.COLOR_ATTACHMENT0 + i, _gl.TEXTURE_2D, 0); + if (textureNeedsGenerateMipmaps(attachment)) { + generateMipmap(_gl.TEXTURE_2D); + } + } + state.unbindTexture(); + } else { + let glTextureType = _gl.TEXTURE_2D; + if (renderTarget.isWebGL3DRenderTarget || renderTarget.isWebGLArrayRenderTarget) { + glTextureType = renderTarget.isWebGL3DRenderTarget ? _gl.TEXTURE_3D : _gl.TEXTURE_2D_ARRAY; + } + state.bindTexture(glTextureType, textureProperties.__webglTexture); + setTextureParameters(glTextureType, texture); + if (texture.mipmaps && texture.mipmaps.length > 0) { + for (let level = 0; level < texture.mipmaps.length; level++) { + setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer[level], renderTarget, texture, _gl.COLOR_ATTACHMENT0, glTextureType, level); + } + } else { + setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer, renderTarget, texture, _gl.COLOR_ATTACHMENT0, glTextureType, 0); + } + if (textureNeedsGenerateMipmaps(texture)) { + generateMipmap(glTextureType); + } + state.unbindTexture(); + } + if (renderTarget.depthBuffer) { + setupDepthRenderbuffer(renderTarget); + } + } + __name(setupRenderTarget, "setupRenderTarget"); + function updateRenderTargetMipmap(renderTarget) { + const textures = renderTarget.textures; + for (let i = 0, il = textures.length; i < il; i++) { + const texture = textures[i]; + if (textureNeedsGenerateMipmaps(texture)) { + const targetType = getTargetType(renderTarget); + const webglTexture = properties.get(texture).__webglTexture; + state.bindTexture(targetType, webglTexture); + generateMipmap(targetType); + state.unbindTexture(); + } + } + } + __name(updateRenderTargetMipmap, "updateRenderTargetMipmap"); + const invalidationArrayRead = []; + const invalidationArrayDraw = []; + function updateMultisampleRenderTarget(renderTarget) { + if (renderTarget.samples > 0) { + if (useMultisampledRTT(renderTarget) === false) { + const textures = renderTarget.textures; + const width = renderTarget.width; + const height = renderTarget.height; + let mask = _gl.COLOR_BUFFER_BIT; + const depthStyle = renderTarget.stencilBuffer ? _gl.DEPTH_STENCIL_ATTACHMENT : _gl.DEPTH_ATTACHMENT; + const renderTargetProperties = properties.get(renderTarget); + const isMultipleRenderTargets = textures.length > 1; + if (isMultipleRenderTargets) { + for (let i = 0; i < textures.length; i++) { + state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer); + _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0 + i, _gl.RENDERBUFFER, null); + state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglFramebuffer); + _gl.framebufferTexture2D(_gl.DRAW_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0 + i, _gl.TEXTURE_2D, null, 0); + } + } + state.bindFramebuffer(_gl.READ_FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer); + state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER, renderTargetProperties.__webglFramebuffer); + for (let i = 0; i < textures.length; i++) { + if (renderTarget.resolveDepthBuffer) { + if (renderTarget.depthBuffer) mask |= _gl.DEPTH_BUFFER_BIT; + if (renderTarget.stencilBuffer && renderTarget.resolveStencilBuffer) mask |= _gl.STENCIL_BUFFER_BIT; + } + if (isMultipleRenderTargets) { + _gl.framebufferRenderbuffer(_gl.READ_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.RENDERBUFFER, renderTargetProperties.__webglColorRenderbuffer[i]); + const webglTexture = properties.get(textures[i]).__webglTexture; + _gl.framebufferTexture2D(_gl.DRAW_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_2D, webglTexture, 0); + } + _gl.blitFramebuffer(0, 0, width, height, 0, 0, width, height, mask, _gl.NEAREST); + if (supportsInvalidateFramebuffer === true) { + invalidationArrayRead.length = 0; + invalidationArrayDraw.length = 0; + invalidationArrayRead.push(_gl.COLOR_ATTACHMENT0 + i); + if (renderTarget.depthBuffer && renderTarget.resolveDepthBuffer === false) { + invalidationArrayRead.push(depthStyle); + invalidationArrayDraw.push(depthStyle); + _gl.invalidateFramebuffer(_gl.DRAW_FRAMEBUFFER, invalidationArrayDraw); + } + _gl.invalidateFramebuffer(_gl.READ_FRAMEBUFFER, invalidationArrayRead); + } + } + state.bindFramebuffer(_gl.READ_FRAMEBUFFER, null); + state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER, null); + if (isMultipleRenderTargets) { + for (let i = 0; i < textures.length; i++) { + state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer); + _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0 + i, _gl.RENDERBUFFER, renderTargetProperties.__webglColorRenderbuffer[i]); + const webglTexture = properties.get(textures[i]).__webglTexture; + state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglFramebuffer); + _gl.framebufferTexture2D(_gl.DRAW_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0 + i, _gl.TEXTURE_2D, webglTexture, 0); + } + } + state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer); + } else { + if (renderTarget.depthBuffer && renderTarget.resolveDepthBuffer === false && supportsInvalidateFramebuffer) { + const depthStyle = renderTarget.stencilBuffer ? _gl.DEPTH_STENCIL_ATTACHMENT : _gl.DEPTH_ATTACHMENT; + _gl.invalidateFramebuffer(_gl.DRAW_FRAMEBUFFER, [depthStyle]); + } + } + } + } + __name(updateMultisampleRenderTarget, "updateMultisampleRenderTarget"); + function getRenderTargetSamples(renderTarget) { + return Math.min(capabilities.maxSamples, renderTarget.samples); + } + __name(getRenderTargetSamples, "getRenderTargetSamples"); + function useMultisampledRTT(renderTarget) { + const renderTargetProperties = properties.get(renderTarget); + return renderTarget.samples > 0 && extensions.has("WEBGL_multisampled_render_to_texture") === true && renderTargetProperties.__useRenderToTexture !== false; + } + __name(useMultisampledRTT, "useMultisampledRTT"); + function updateVideoTexture(texture) { + const frame = info.render.frame; + if (_videoTextures.get(texture) !== frame) { + _videoTextures.set(texture, frame); + texture.update(); + } + } + __name(updateVideoTexture, "updateVideoTexture"); + function verifyColorSpace(texture, image) { + const colorSpace = texture.colorSpace; + const format = texture.format; + const type = texture.type; + if (texture.isCompressedTexture === true || texture.isVideoTexture === true) return image; + if (colorSpace !== LinearSRGBColorSpace && colorSpace !== NoColorSpace) { + if (ColorManagement.getTransfer(colorSpace) === SRGBTransfer) { + if (format !== RGBAFormat || type !== UnsignedByteType) { + console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."); + } + } else { + console.error("THREE.WebGLTextures: Unsupported texture color space:", colorSpace); + } + } + return image; + } + __name(verifyColorSpace, "verifyColorSpace"); + function getDimensions(image) { + if (typeof HTMLImageElement !== "undefined" && image instanceof HTMLImageElement) { + _imageDimensions.width = image.naturalWidth || image.width; + _imageDimensions.height = image.naturalHeight || image.height; + } else if (typeof VideoFrame !== "undefined" && image instanceof VideoFrame) { + _imageDimensions.width = image.displayWidth; + _imageDimensions.height = image.displayHeight; + } else { + _imageDimensions.width = image.width; + _imageDimensions.height = image.height; + } + return _imageDimensions; + } + __name(getDimensions, "getDimensions"); + this.allocateTextureUnit = allocateTextureUnit; + this.resetTextureUnits = resetTextureUnits; + this.setTexture2D = setTexture2D; + this.setTexture2DArray = setTexture2DArray; + this.setTexture3D = setTexture3D; + this.setTextureCube = setTextureCube; + this.rebindTextures = rebindTextures; + this.setupRenderTarget = setupRenderTarget; + this.updateRenderTargetMipmap = updateRenderTargetMipmap; + this.updateMultisampleRenderTarget = updateMultisampleRenderTarget; + this.setupDepthRenderbuffer = setupDepthRenderbuffer; + this.setupFrameBufferTexture = setupFrameBufferTexture; + this.useMultisampledRTT = useMultisampledRTT; +} +__name(WebGLTextures, "WebGLTextures"); +function WebGLUtils(gl, extensions) { + function convert(p, colorSpace = NoColorSpace) { + let extension; + const transfer = ColorManagement.getTransfer(colorSpace); + if (p === UnsignedByteType) return gl.UNSIGNED_BYTE; + if (p === UnsignedShort4444Type) return gl.UNSIGNED_SHORT_4_4_4_4; + if (p === UnsignedShort5551Type) return gl.UNSIGNED_SHORT_5_5_5_1; + if (p === UnsignedInt5999Type) return gl.UNSIGNED_INT_5_9_9_9_REV; + if (p === ByteType) return gl.BYTE; + if (p === ShortType) return gl.SHORT; + if (p === UnsignedShortType) return gl.UNSIGNED_SHORT; + if (p === IntType) return gl.INT; + if (p === UnsignedIntType) return gl.UNSIGNED_INT; + if (p === FloatType) return gl.FLOAT; + if (p === HalfFloatType) return gl.HALF_FLOAT; + if (p === AlphaFormat) return gl.ALPHA; + if (p === RGBFormat) return gl.RGB; + if (p === RGBAFormat) return gl.RGBA; + if (p === LuminanceFormat) return gl.LUMINANCE; + if (p === LuminanceAlphaFormat) return gl.LUMINANCE_ALPHA; + if (p === DepthFormat) return gl.DEPTH_COMPONENT; + if (p === DepthStencilFormat) return gl.DEPTH_STENCIL; + if (p === RedFormat) return gl.RED; + if (p === RedIntegerFormat) return gl.RED_INTEGER; + if (p === RGFormat) return gl.RG; + if (p === RGIntegerFormat) return gl.RG_INTEGER; + if (p === RGBAIntegerFormat) return gl.RGBA_INTEGER; + if (p === RGB_S3TC_DXT1_Format || p === RGBA_S3TC_DXT1_Format || p === RGBA_S3TC_DXT3_Format || p === RGBA_S3TC_DXT5_Format) { + if (transfer === SRGBTransfer) { + extension = extensions.get("WEBGL_compressed_texture_s3tc_srgb"); + if (extension !== null) { + if (p === RGB_S3TC_DXT1_Format) return extension.COMPRESSED_SRGB_S3TC_DXT1_EXT; + if (p === RGBA_S3TC_DXT1_Format) return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT; + if (p === RGBA_S3TC_DXT3_Format) return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT; + if (p === RGBA_S3TC_DXT5_Format) return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT; + } else { + return null; + } + } else { + extension = extensions.get("WEBGL_compressed_texture_s3tc"); + if (extension !== null) { + if (p === RGB_S3TC_DXT1_Format) return extension.COMPRESSED_RGB_S3TC_DXT1_EXT; + if (p === RGBA_S3TC_DXT1_Format) return extension.COMPRESSED_RGBA_S3TC_DXT1_EXT; + if (p === RGBA_S3TC_DXT3_Format) return extension.COMPRESSED_RGBA_S3TC_DXT3_EXT; + if (p === RGBA_S3TC_DXT5_Format) return extension.COMPRESSED_RGBA_S3TC_DXT5_EXT; + } else { + return null; + } + } + } + if (p === RGB_PVRTC_4BPPV1_Format || p === RGB_PVRTC_2BPPV1_Format || p === RGBA_PVRTC_4BPPV1_Format || p === RGBA_PVRTC_2BPPV1_Format) { + extension = extensions.get("WEBGL_compressed_texture_pvrtc"); + if (extension !== null) { + if (p === RGB_PVRTC_4BPPV1_Format) return extension.COMPRESSED_RGB_PVRTC_4BPPV1_IMG; + if (p === RGB_PVRTC_2BPPV1_Format) return extension.COMPRESSED_RGB_PVRTC_2BPPV1_IMG; + if (p === RGBA_PVRTC_4BPPV1_Format) return extension.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; + if (p === RGBA_PVRTC_2BPPV1_Format) return extension.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; + } else { + return null; + } + } + if (p === RGB_ETC1_Format || p === RGB_ETC2_Format || p === RGBA_ETC2_EAC_Format) { + extension = extensions.get("WEBGL_compressed_texture_etc"); + if (extension !== null) { + if (p === RGB_ETC1_Format || p === RGB_ETC2_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ETC2 : extension.COMPRESSED_RGB8_ETC2; + if (p === RGBA_ETC2_EAC_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC : extension.COMPRESSED_RGBA8_ETC2_EAC; + } else { + return null; + } + } + if (p === RGBA_ASTC_4x4_Format || p === RGBA_ASTC_5x4_Format || p === RGBA_ASTC_5x5_Format || p === RGBA_ASTC_6x5_Format || p === RGBA_ASTC_6x6_Format || p === RGBA_ASTC_8x5_Format || p === RGBA_ASTC_8x6_Format || p === RGBA_ASTC_8x8_Format || p === RGBA_ASTC_10x5_Format || p === RGBA_ASTC_10x6_Format || p === RGBA_ASTC_10x8_Format || p === RGBA_ASTC_10x10_Format || p === RGBA_ASTC_12x10_Format || p === RGBA_ASTC_12x12_Format) { + extension = extensions.get("WEBGL_compressed_texture_astc"); + if (extension !== null) { + if (p === RGBA_ASTC_4x4_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR : extension.COMPRESSED_RGBA_ASTC_4x4_KHR; + if (p === RGBA_ASTC_5x4_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR : extension.COMPRESSED_RGBA_ASTC_5x4_KHR; + if (p === RGBA_ASTC_5x5_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR : extension.COMPRESSED_RGBA_ASTC_5x5_KHR; + if (p === RGBA_ASTC_6x5_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR : extension.COMPRESSED_RGBA_ASTC_6x5_KHR; + if (p === RGBA_ASTC_6x6_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR : extension.COMPRESSED_RGBA_ASTC_6x6_KHR; + if (p === RGBA_ASTC_8x5_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR : extension.COMPRESSED_RGBA_ASTC_8x5_KHR; + if (p === RGBA_ASTC_8x6_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR : extension.COMPRESSED_RGBA_ASTC_8x6_KHR; + if (p === RGBA_ASTC_8x8_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR : extension.COMPRESSED_RGBA_ASTC_8x8_KHR; + if (p === RGBA_ASTC_10x5_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR : extension.COMPRESSED_RGBA_ASTC_10x5_KHR; + if (p === RGBA_ASTC_10x6_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR : extension.COMPRESSED_RGBA_ASTC_10x6_KHR; + if (p === RGBA_ASTC_10x8_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR : extension.COMPRESSED_RGBA_ASTC_10x8_KHR; + if (p === RGBA_ASTC_10x10_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR : extension.COMPRESSED_RGBA_ASTC_10x10_KHR; + if (p === RGBA_ASTC_12x10_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR : extension.COMPRESSED_RGBA_ASTC_12x10_KHR; + if (p === RGBA_ASTC_12x12_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR : extension.COMPRESSED_RGBA_ASTC_12x12_KHR; + } else { + return null; + } + } + if (p === RGBA_BPTC_Format || p === RGB_BPTC_SIGNED_Format || p === RGB_BPTC_UNSIGNED_Format) { + extension = extensions.get("EXT_texture_compression_bptc"); + if (extension !== null) { + if (p === RGBA_BPTC_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT : extension.COMPRESSED_RGBA_BPTC_UNORM_EXT; + if (p === RGB_BPTC_SIGNED_Format) return extension.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT; + if (p === RGB_BPTC_UNSIGNED_Format) return extension.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT; + } else { + return null; + } + } + if (p === RED_RGTC1_Format || p === SIGNED_RED_RGTC1_Format || p === RED_GREEN_RGTC2_Format || p === SIGNED_RED_GREEN_RGTC2_Format) { + extension = extensions.get("EXT_texture_compression_rgtc"); + if (extension !== null) { + if (p === RGBA_BPTC_Format) return extension.COMPRESSED_RED_RGTC1_EXT; + if (p === SIGNED_RED_RGTC1_Format) return extension.COMPRESSED_SIGNED_RED_RGTC1_EXT; + if (p === RED_GREEN_RGTC2_Format) return extension.COMPRESSED_RED_GREEN_RGTC2_EXT; + if (p === SIGNED_RED_GREEN_RGTC2_Format) return extension.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT; + } else { + return null; + } + } + if (p === UnsignedInt248Type) return gl.UNSIGNED_INT_24_8; + return gl[p] !== void 0 ? gl[p] : null; + } + __name(convert, "convert"); + return { convert }; +} +__name(WebGLUtils, "WebGLUtils"); +class ArrayCamera extends PerspectiveCamera { + static { + __name(this, "ArrayCamera"); + } + constructor(array = []) { + super(); + this.isArrayCamera = true; + this.cameras = array; + } +} +class Group extends Object3D { + static { + __name(this, "Group"); + } + constructor() { + super(); + this.isGroup = true; + this.type = "Group"; + } +} +const _moveEvent = { type: "move" }; +class WebXRController { + static { + __name(this, "WebXRController"); + } + constructor() { + this._targetRay = null; + this._grip = null; + this._hand = null; + } + getHandSpace() { + if (this._hand === null) { + this._hand = new Group(); + this._hand.matrixAutoUpdate = false; + this._hand.visible = false; + this._hand.joints = {}; + this._hand.inputState = { pinching: false }; + } + return this._hand; + } + getTargetRaySpace() { + if (this._targetRay === null) { + this._targetRay = new Group(); + this._targetRay.matrixAutoUpdate = false; + this._targetRay.visible = false; + this._targetRay.hasLinearVelocity = false; + this._targetRay.linearVelocity = new Vector3(); + this._targetRay.hasAngularVelocity = false; + this._targetRay.angularVelocity = new Vector3(); + } + return this._targetRay; + } + getGripSpace() { + if (this._grip === null) { + this._grip = new Group(); + this._grip.matrixAutoUpdate = false; + this._grip.visible = false; + this._grip.hasLinearVelocity = false; + this._grip.linearVelocity = new Vector3(); + this._grip.hasAngularVelocity = false; + this._grip.angularVelocity = new Vector3(); + } + return this._grip; + } + dispatchEvent(event) { + if (this._targetRay !== null) { + this._targetRay.dispatchEvent(event); + } + if (this._grip !== null) { + this._grip.dispatchEvent(event); + } + if (this._hand !== null) { + this._hand.dispatchEvent(event); + } + return this; + } + connect(inputSource) { + if (inputSource && inputSource.hand) { + const hand = this._hand; + if (hand) { + for (const inputjoint of inputSource.hand.values()) { + this._getHandJoint(hand, inputjoint); + } + } + } + this.dispatchEvent({ type: "connected", data: inputSource }); + return this; + } + disconnect(inputSource) { + this.dispatchEvent({ type: "disconnected", data: inputSource }); + if (this._targetRay !== null) { + this._targetRay.visible = false; + } + if (this._grip !== null) { + this._grip.visible = false; + } + if (this._hand !== null) { + this._hand.visible = false; + } + return this; + } + update(inputSource, frame, referenceSpace) { + let inputPose = null; + let gripPose = null; + let handPose = null; + const targetRay = this._targetRay; + const grip = this._grip; + const hand = this._hand; + if (inputSource && frame.session.visibilityState !== "visible-blurred") { + if (hand && inputSource.hand) { + handPose = true; + for (const inputjoint of inputSource.hand.values()) { + const jointPose = frame.getJointPose(inputjoint, referenceSpace); + const joint = this._getHandJoint(hand, inputjoint); + if (jointPose !== null) { + joint.matrix.fromArray(jointPose.transform.matrix); + joint.matrix.decompose(joint.position, joint.rotation, joint.scale); + joint.matrixWorldNeedsUpdate = true; + joint.jointRadius = jointPose.radius; + } + joint.visible = jointPose !== null; + } + const indexTip = hand.joints["index-finger-tip"]; + const thumbTip = hand.joints["thumb-tip"]; + const distance = indexTip.position.distanceTo(thumbTip.position); + const distanceToPinch = 0.02; + const threshold = 5e-3; + if (hand.inputState.pinching && distance > distanceToPinch + threshold) { + hand.inputState.pinching = false; + this.dispatchEvent({ + type: "pinchend", + handedness: inputSource.handedness, + target: this + }); + } else if (!hand.inputState.pinching && distance <= distanceToPinch - threshold) { + hand.inputState.pinching = true; + this.dispatchEvent({ + type: "pinchstart", + handedness: inputSource.handedness, + target: this + }); + } + } else { + if (grip !== null && inputSource.gripSpace) { + gripPose = frame.getPose(inputSource.gripSpace, referenceSpace); + if (gripPose !== null) { + grip.matrix.fromArray(gripPose.transform.matrix); + grip.matrix.decompose(grip.position, grip.rotation, grip.scale); + grip.matrixWorldNeedsUpdate = true; + if (gripPose.linearVelocity) { + grip.hasLinearVelocity = true; + grip.linearVelocity.copy(gripPose.linearVelocity); + } else { + grip.hasLinearVelocity = false; + } + if (gripPose.angularVelocity) { + grip.hasAngularVelocity = true; + grip.angularVelocity.copy(gripPose.angularVelocity); + } else { + grip.hasAngularVelocity = false; + } + } + } + } + if (targetRay !== null) { + inputPose = frame.getPose(inputSource.targetRaySpace, referenceSpace); + if (inputPose === null && gripPose !== null) { + inputPose = gripPose; + } + if (inputPose !== null) { + targetRay.matrix.fromArray(inputPose.transform.matrix); + targetRay.matrix.decompose(targetRay.position, targetRay.rotation, targetRay.scale); + targetRay.matrixWorldNeedsUpdate = true; + if (inputPose.linearVelocity) { + targetRay.hasLinearVelocity = true; + targetRay.linearVelocity.copy(inputPose.linearVelocity); + } else { + targetRay.hasLinearVelocity = false; + } + if (inputPose.angularVelocity) { + targetRay.hasAngularVelocity = true; + targetRay.angularVelocity.copy(inputPose.angularVelocity); + } else { + targetRay.hasAngularVelocity = false; + } + this.dispatchEvent(_moveEvent); + } + } + } + if (targetRay !== null) { + targetRay.visible = inputPose !== null; + } + if (grip !== null) { + grip.visible = gripPose !== null; + } + if (hand !== null) { + hand.visible = handPose !== null; + } + return this; + } + // private method + _getHandJoint(hand, inputjoint) { + if (hand.joints[inputjoint.jointName] === void 0) { + const joint = new Group(); + joint.matrixAutoUpdate = false; + joint.visible = false; + hand.joints[inputjoint.jointName] = joint; + hand.add(joint); + } + return hand.joints[inputjoint.jointName]; + } +} +const _occlusion_vertex = ` +void main() { + + gl_Position = vec4( position, 1.0 ); + +}`; +const _occlusion_fragment = ` +uniform sampler2DArray depthColor; +uniform float depthWidth; +uniform float depthHeight; + +void main() { + + vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); + + if ( coord.x >= 1.0 ) { + + gl_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; + + } else { + + gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; + + } + +}`; +class WebXRDepthSensing { + static { + __name(this, "WebXRDepthSensing"); + } + constructor() { + this.texture = null; + this.mesh = null; + this.depthNear = 0; + this.depthFar = 0; + } + init(renderer, depthData, renderState) { + if (this.texture === null) { + const texture = new Texture(); + const texProps = renderer.properties.get(texture); + texProps.__webglTexture = depthData.texture; + if (depthData.depthNear != renderState.depthNear || depthData.depthFar != renderState.depthFar) { + this.depthNear = depthData.depthNear; + this.depthFar = depthData.depthFar; + } + this.texture = texture; + } + } + getMesh(cameraXR) { + if (this.texture !== null) { + if (this.mesh === null) { + const viewport = cameraXR.cameras[0].viewport; + const material = new ShaderMaterial({ + vertexShader: _occlusion_vertex, + fragmentShader: _occlusion_fragment, + uniforms: { + depthColor: { value: this.texture }, + depthWidth: { value: viewport.z }, + depthHeight: { value: viewport.w } + } + }); + this.mesh = new Mesh(new PlaneGeometry(20, 20), material); + } + } + return this.mesh; + } + reset() { + this.texture = null; + this.mesh = null; + } + getDepthTexture() { + return this.texture; + } +} +class WebXRManager extends EventDispatcher { + static { + __name(this, "WebXRManager"); + } + constructor(renderer, gl) { + super(); + const scope = this; + let session = null; + let framebufferScaleFactor = 1; + let referenceSpace = null; + let referenceSpaceType = "local-floor"; + let foveation = 1; + let customReferenceSpace = null; + let pose = null; + let glBinding = null; + let glProjLayer = null; + let glBaseLayer = null; + let xrFrame = null; + const depthSensing = new WebXRDepthSensing(); + const attributes = gl.getContextAttributes(); + let initialRenderTarget = null; + let newRenderTarget = null; + const controllers = []; + const controllerInputSources = []; + const currentSize = new Vector2(); + let currentPixelRatio = null; + const cameraL = new PerspectiveCamera(); + cameraL.viewport = new Vector4(); + const cameraR = new PerspectiveCamera(); + cameraR.viewport = new Vector4(); + const cameras = [cameraL, cameraR]; + const cameraXR = new ArrayCamera(); + let _currentDepthNear = null; + let _currentDepthFar = null; + this.cameraAutoUpdate = true; + this.enabled = false; + this.isPresenting = false; + this.getController = function(index) { + let controller = controllers[index]; + if (controller === void 0) { + controller = new WebXRController(); + controllers[index] = controller; + } + return controller.getTargetRaySpace(); + }; + this.getControllerGrip = function(index) { + let controller = controllers[index]; + if (controller === void 0) { + controller = new WebXRController(); + controllers[index] = controller; + } + return controller.getGripSpace(); + }; + this.getHand = function(index) { + let controller = controllers[index]; + if (controller === void 0) { + controller = new WebXRController(); + controllers[index] = controller; + } + return controller.getHandSpace(); + }; + function onSessionEvent(event) { + const controllerIndex = controllerInputSources.indexOf(event.inputSource); + if (controllerIndex === -1) { + return; + } + const controller = controllers[controllerIndex]; + if (controller !== void 0) { + controller.update(event.inputSource, event.frame, customReferenceSpace || referenceSpace); + controller.dispatchEvent({ type: event.type, data: event.inputSource }); + } + } + __name(onSessionEvent, "onSessionEvent"); + function onSessionEnd() { + session.removeEventListener("select", onSessionEvent); + session.removeEventListener("selectstart", onSessionEvent); + session.removeEventListener("selectend", onSessionEvent); + session.removeEventListener("squeeze", onSessionEvent); + session.removeEventListener("squeezestart", onSessionEvent); + session.removeEventListener("squeezeend", onSessionEvent); + session.removeEventListener("end", onSessionEnd); + session.removeEventListener("inputsourceschange", onInputSourcesChange); + for (let i = 0; i < controllers.length; i++) { + const inputSource = controllerInputSources[i]; + if (inputSource === null) continue; + controllerInputSources[i] = null; + controllers[i].disconnect(inputSource); + } + _currentDepthNear = null; + _currentDepthFar = null; + depthSensing.reset(); + renderer.setRenderTarget(initialRenderTarget); + glBaseLayer = null; + glProjLayer = null; + glBinding = null; + session = null; + newRenderTarget = null; + animation.stop(); + scope.isPresenting = false; + renderer.setPixelRatio(currentPixelRatio); + renderer.setSize(currentSize.width, currentSize.height, false); + scope.dispatchEvent({ type: "sessionend" }); + } + __name(onSessionEnd, "onSessionEnd"); + this.setFramebufferScaleFactor = function(value) { + framebufferScaleFactor = value; + if (scope.isPresenting === true) { + console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting."); + } + }; + this.setReferenceSpaceType = function(value) { + referenceSpaceType = value; + if (scope.isPresenting === true) { + console.warn("THREE.WebXRManager: Cannot change reference space type while presenting."); + } + }; + this.getReferenceSpace = function() { + return customReferenceSpace || referenceSpace; + }; + this.setReferenceSpace = function(space) { + customReferenceSpace = space; + }; + this.getBaseLayer = function() { + return glProjLayer !== null ? glProjLayer : glBaseLayer; + }; + this.getBinding = function() { + return glBinding; + }; + this.getFrame = function() { + return xrFrame; + }; + this.getSession = function() { + return session; + }; + this.setSession = async function(value) { + session = value; + if (session !== null) { + initialRenderTarget = renderer.getRenderTarget(); + session.addEventListener("select", onSessionEvent); + session.addEventListener("selectstart", onSessionEvent); + session.addEventListener("selectend", onSessionEvent); + session.addEventListener("squeeze", onSessionEvent); + session.addEventListener("squeezestart", onSessionEvent); + session.addEventListener("squeezeend", onSessionEvent); + session.addEventListener("end", onSessionEnd); + session.addEventListener("inputsourceschange", onInputSourcesChange); + if (attributes.xrCompatible !== true) { + await gl.makeXRCompatible(); + } + currentPixelRatio = renderer.getPixelRatio(); + renderer.getSize(currentSize); + if (session.renderState.layers === void 0) { + const layerInit = { + antialias: attributes.antialias, + alpha: true, + depth: attributes.depth, + stencil: attributes.stencil, + framebufferScaleFactor + }; + glBaseLayer = new XRWebGLLayer(session, gl, layerInit); + session.updateRenderState({ baseLayer: glBaseLayer }); + renderer.setPixelRatio(1); + renderer.setSize(glBaseLayer.framebufferWidth, glBaseLayer.framebufferHeight, false); + newRenderTarget = new WebGLRenderTarget( + glBaseLayer.framebufferWidth, + glBaseLayer.framebufferHeight, + { + format: RGBAFormat, + type: UnsignedByteType, + colorSpace: renderer.outputColorSpace, + stencilBuffer: attributes.stencil + } + ); + } else { + let depthFormat = null; + let depthType = null; + let glDepthFormat = null; + if (attributes.depth) { + glDepthFormat = attributes.stencil ? gl.DEPTH24_STENCIL8 : gl.DEPTH_COMPONENT24; + depthFormat = attributes.stencil ? DepthStencilFormat : DepthFormat; + depthType = attributes.stencil ? UnsignedInt248Type : UnsignedIntType; + } + const projectionlayerInit = { + colorFormat: gl.RGBA8, + depthFormat: glDepthFormat, + scaleFactor: framebufferScaleFactor + }; + glBinding = new XRWebGLBinding(session, gl); + glProjLayer = glBinding.createProjectionLayer(projectionlayerInit); + session.updateRenderState({ layers: [glProjLayer] }); + renderer.setPixelRatio(1); + renderer.setSize(glProjLayer.textureWidth, glProjLayer.textureHeight, false); + newRenderTarget = new WebGLRenderTarget( + glProjLayer.textureWidth, + glProjLayer.textureHeight, + { + format: RGBAFormat, + type: UnsignedByteType, + depthTexture: new DepthTexture(glProjLayer.textureWidth, glProjLayer.textureHeight, depthType, void 0, void 0, void 0, void 0, void 0, void 0, depthFormat), + stencilBuffer: attributes.stencil, + colorSpace: renderer.outputColorSpace, + samples: attributes.antialias ? 4 : 0, + resolveDepthBuffer: glProjLayer.ignoreDepthValues === false + } + ); + } + newRenderTarget.isXRRenderTarget = true; + this.setFoveation(foveation); + customReferenceSpace = null; + referenceSpace = await session.requestReferenceSpace(referenceSpaceType); + animation.setContext(session); + animation.start(); + scope.isPresenting = true; + scope.dispatchEvent({ type: "sessionstart" }); + } + }; + this.getEnvironmentBlendMode = function() { + if (session !== null) { + return session.environmentBlendMode; + } + }; + this.getDepthTexture = function() { + return depthSensing.getDepthTexture(); + }; + function onInputSourcesChange(event) { + for (let i = 0; i < event.removed.length; i++) { + const inputSource = event.removed[i]; + const index = controllerInputSources.indexOf(inputSource); + if (index >= 0) { + controllerInputSources[index] = null; + controllers[index].disconnect(inputSource); + } + } + for (let i = 0; i < event.added.length; i++) { + const inputSource = event.added[i]; + let controllerIndex = controllerInputSources.indexOf(inputSource); + if (controllerIndex === -1) { + for (let i2 = 0; i2 < controllers.length; i2++) { + if (i2 >= controllerInputSources.length) { + controllerInputSources.push(inputSource); + controllerIndex = i2; + break; + } else if (controllerInputSources[i2] === null) { + controllerInputSources[i2] = inputSource; + controllerIndex = i2; + break; + } + } + if (controllerIndex === -1) break; + } + const controller = controllers[controllerIndex]; + if (controller) { + controller.connect(inputSource); + } + } + } + __name(onInputSourcesChange, "onInputSourcesChange"); + const cameraLPos = new Vector3(); + const cameraRPos = new Vector3(); + function setProjectionFromUnion(camera, cameraL2, cameraR2) { + cameraLPos.setFromMatrixPosition(cameraL2.matrixWorld); + cameraRPos.setFromMatrixPosition(cameraR2.matrixWorld); + const ipd = cameraLPos.distanceTo(cameraRPos); + const projL = cameraL2.projectionMatrix.elements; + const projR = cameraR2.projectionMatrix.elements; + const near = projL[14] / (projL[10] - 1); + const far = projL[14] / (projL[10] + 1); + const topFov = (projL[9] + 1) / projL[5]; + const bottomFov = (projL[9] - 1) / projL[5]; + const leftFov = (projL[8] - 1) / projL[0]; + const rightFov = (projR[8] + 1) / projR[0]; + const left = near * leftFov; + const right = near * rightFov; + const zOffset = ipd / (-leftFov + rightFov); + const xOffset = zOffset * -leftFov; + cameraL2.matrixWorld.decompose(camera.position, camera.quaternion, camera.scale); + camera.translateX(xOffset); + camera.translateZ(zOffset); + camera.matrixWorld.compose(camera.position, camera.quaternion, camera.scale); + camera.matrixWorldInverse.copy(camera.matrixWorld).invert(); + if (projL[10] === -1) { + camera.projectionMatrix.copy(cameraL2.projectionMatrix); + camera.projectionMatrixInverse.copy(cameraL2.projectionMatrixInverse); + } else { + const near2 = near + zOffset; + const far2 = far + zOffset; + const left2 = left - xOffset; + const right2 = right + (ipd - xOffset); + const top2 = topFov * far / far2 * near2; + const bottom2 = bottomFov * far / far2 * near2; + camera.projectionMatrix.makePerspective(left2, right2, top2, bottom2, near2, far2); + camera.projectionMatrixInverse.copy(camera.projectionMatrix).invert(); + } + } + __name(setProjectionFromUnion, "setProjectionFromUnion"); + function updateCamera(camera, parent) { + if (parent === null) { + camera.matrixWorld.copy(camera.matrix); + } else { + camera.matrixWorld.multiplyMatrices(parent.matrixWorld, camera.matrix); + } + camera.matrixWorldInverse.copy(camera.matrixWorld).invert(); + } + __name(updateCamera, "updateCamera"); + this.updateCamera = function(camera) { + if (session === null) return; + let depthNear = camera.near; + let depthFar = camera.far; + if (depthSensing.texture !== null) { + if (depthSensing.depthNear > 0) depthNear = depthSensing.depthNear; + if (depthSensing.depthFar > 0) depthFar = depthSensing.depthFar; + } + cameraXR.near = cameraR.near = cameraL.near = depthNear; + cameraXR.far = cameraR.far = cameraL.far = depthFar; + if (_currentDepthNear !== cameraXR.near || _currentDepthFar !== cameraXR.far) { + session.updateRenderState({ + depthNear: cameraXR.near, + depthFar: cameraXR.far + }); + _currentDepthNear = cameraXR.near; + _currentDepthFar = cameraXR.far; + } + cameraL.layers.mask = camera.layers.mask | 2; + cameraR.layers.mask = camera.layers.mask | 4; + cameraXR.layers.mask = cameraL.layers.mask | cameraR.layers.mask; + const parent = camera.parent; + const cameras2 = cameraXR.cameras; + updateCamera(cameraXR, parent); + for (let i = 0; i < cameras2.length; i++) { + updateCamera(cameras2[i], parent); + } + if (cameras2.length === 2) { + setProjectionFromUnion(cameraXR, cameraL, cameraR); + } else { + cameraXR.projectionMatrix.copy(cameraL.projectionMatrix); + } + updateUserCamera(camera, cameraXR, parent); + }; + function updateUserCamera(camera, cameraXR2, parent) { + if (parent === null) { + camera.matrix.copy(cameraXR2.matrixWorld); + } else { + camera.matrix.copy(parent.matrixWorld); + camera.matrix.invert(); + camera.matrix.multiply(cameraXR2.matrixWorld); + } + camera.matrix.decompose(camera.position, camera.quaternion, camera.scale); + camera.updateMatrixWorld(true); + camera.projectionMatrix.copy(cameraXR2.projectionMatrix); + camera.projectionMatrixInverse.copy(cameraXR2.projectionMatrixInverse); + if (camera.isPerspectiveCamera) { + camera.fov = RAD2DEG * 2 * Math.atan(1 / camera.projectionMatrix.elements[5]); + camera.zoom = 1; + } + } + __name(updateUserCamera, "updateUserCamera"); + this.getCamera = function() { + return cameraXR; + }; + this.getFoveation = function() { + if (glProjLayer === null && glBaseLayer === null) { + return void 0; + } + return foveation; + }; + this.setFoveation = function(value) { + foveation = value; + if (glProjLayer !== null) { + glProjLayer.fixedFoveation = value; + } + if (glBaseLayer !== null && glBaseLayer.fixedFoveation !== void 0) { + glBaseLayer.fixedFoveation = value; + } + }; + this.hasDepthSensing = function() { + return depthSensing.texture !== null; + }; + this.getDepthSensingMesh = function() { + return depthSensing.getMesh(cameraXR); + }; + let onAnimationFrameCallback = null; + function onAnimationFrame(time, frame) { + pose = frame.getViewerPose(customReferenceSpace || referenceSpace); + xrFrame = frame; + if (pose !== null) { + const views = pose.views; + if (glBaseLayer !== null) { + renderer.setRenderTargetFramebuffer(newRenderTarget, glBaseLayer.framebuffer); + renderer.setRenderTarget(newRenderTarget); + } + let cameraXRNeedsUpdate = false; + if (views.length !== cameraXR.cameras.length) { + cameraXR.cameras.length = 0; + cameraXRNeedsUpdate = true; + } + for (let i = 0; i < views.length; i++) { + const view = views[i]; + let viewport = null; + if (glBaseLayer !== null) { + viewport = glBaseLayer.getViewport(view); + } else { + const glSubImage = glBinding.getViewSubImage(glProjLayer, view); + viewport = glSubImage.viewport; + if (i === 0) { + renderer.setRenderTargetTextures( + newRenderTarget, + glSubImage.colorTexture, + glProjLayer.ignoreDepthValues ? void 0 : glSubImage.depthStencilTexture + ); + renderer.setRenderTarget(newRenderTarget); + } + } + let camera = cameras[i]; + if (camera === void 0) { + camera = new PerspectiveCamera(); + camera.layers.enable(i); + camera.viewport = new Vector4(); + cameras[i] = camera; + } + camera.matrix.fromArray(view.transform.matrix); + camera.matrix.decompose(camera.position, camera.quaternion, camera.scale); + camera.projectionMatrix.fromArray(view.projectionMatrix); + camera.projectionMatrixInverse.copy(camera.projectionMatrix).invert(); + camera.viewport.set(viewport.x, viewport.y, viewport.width, viewport.height); + if (i === 0) { + cameraXR.matrix.copy(camera.matrix); + cameraXR.matrix.decompose(cameraXR.position, cameraXR.quaternion, cameraXR.scale); + } + if (cameraXRNeedsUpdate === true) { + cameraXR.cameras.push(camera); + } + } + const enabledFeatures = session.enabledFeatures; + if (enabledFeatures && enabledFeatures.includes("depth-sensing")) { + const depthData = glBinding.getDepthInformation(views[0]); + if (depthData && depthData.isValid && depthData.texture) { + depthSensing.init(renderer, depthData, session.renderState); + } + } + } + for (let i = 0; i < controllers.length; i++) { + const inputSource = controllerInputSources[i]; + const controller = controllers[i]; + if (inputSource !== null && controller !== void 0) { + controller.update(inputSource, frame, customReferenceSpace || referenceSpace); + } + } + if (onAnimationFrameCallback) onAnimationFrameCallback(time, frame); + if (frame.detectedPlanes) { + scope.dispatchEvent({ type: "planesdetected", data: frame }); + } + xrFrame = null; + } + __name(onAnimationFrame, "onAnimationFrame"); + const animation = new WebGLAnimation(); + animation.setAnimationLoop(onAnimationFrame); + this.setAnimationLoop = function(callback) { + onAnimationFrameCallback = callback; + }; + this.dispose = function() { + }; + } +} +const _e1 = /* @__PURE__ */ new Euler(); +const _m1 = /* @__PURE__ */ new Matrix4(); +function WebGLMaterials(renderer, properties) { + function refreshTransformUniform(map, uniform) { + if (map.matrixAutoUpdate === true) { + map.updateMatrix(); + } + uniform.value.copy(map.matrix); + } + __name(refreshTransformUniform, "refreshTransformUniform"); + function refreshFogUniforms(uniforms, fog) { + fog.color.getRGB(uniforms.fogColor.value, getUnlitUniformColorSpace(renderer)); + if (fog.isFog) { + uniforms.fogNear.value = fog.near; + uniforms.fogFar.value = fog.far; + } else if (fog.isFogExp2) { + uniforms.fogDensity.value = fog.density; + } + } + __name(refreshFogUniforms, "refreshFogUniforms"); + function refreshMaterialUniforms(uniforms, material, pixelRatio, height, transmissionRenderTarget) { + if (material.isMeshBasicMaterial) { + refreshUniformsCommon(uniforms, material); + } else if (material.isMeshLambertMaterial) { + refreshUniformsCommon(uniforms, material); + } else if (material.isMeshToonMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsToon(uniforms, material); + } else if (material.isMeshPhongMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsPhong(uniforms, material); + } else if (material.isMeshStandardMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsStandard(uniforms, material); + if (material.isMeshPhysicalMaterial) { + refreshUniformsPhysical(uniforms, material, transmissionRenderTarget); + } + } else if (material.isMeshMatcapMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsMatcap(uniforms, material); + } else if (material.isMeshDepthMaterial) { + refreshUniformsCommon(uniforms, material); + } else if (material.isMeshDistanceMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsDistance(uniforms, material); + } else if (material.isMeshNormalMaterial) { + refreshUniformsCommon(uniforms, material); + } else if (material.isLineBasicMaterial) { + refreshUniformsLine(uniforms, material); + if (material.isLineDashedMaterial) { + refreshUniformsDash(uniforms, material); + } + } else if (material.isPointsMaterial) { + refreshUniformsPoints(uniforms, material, pixelRatio, height); + } else if (material.isSpriteMaterial) { + refreshUniformsSprites(uniforms, material); + } else if (material.isShadowMaterial) { + uniforms.color.value.copy(material.color); + uniforms.opacity.value = material.opacity; + } else if (material.isShaderMaterial) { + material.uniformsNeedUpdate = false; + } + } + __name(refreshMaterialUniforms, "refreshMaterialUniforms"); + function refreshUniformsCommon(uniforms, material) { + uniforms.opacity.value = material.opacity; + if (material.color) { + uniforms.diffuse.value.copy(material.color); + } + if (material.emissive) { + uniforms.emissive.value.copy(material.emissive).multiplyScalar(material.emissiveIntensity); + } + if (material.map) { + uniforms.map.value = material.map; + refreshTransformUniform(material.map, uniforms.mapTransform); + } + if (material.alphaMap) { + uniforms.alphaMap.value = material.alphaMap; + refreshTransformUniform(material.alphaMap, uniforms.alphaMapTransform); + } + if (material.bumpMap) { + uniforms.bumpMap.value = material.bumpMap; + refreshTransformUniform(material.bumpMap, uniforms.bumpMapTransform); + uniforms.bumpScale.value = material.bumpScale; + if (material.side === BackSide) { + uniforms.bumpScale.value *= -1; + } + } + if (material.normalMap) { + uniforms.normalMap.value = material.normalMap; + refreshTransformUniform(material.normalMap, uniforms.normalMapTransform); + uniforms.normalScale.value.copy(material.normalScale); + if (material.side === BackSide) { + uniforms.normalScale.value.negate(); + } + } + if (material.displacementMap) { + uniforms.displacementMap.value = material.displacementMap; + refreshTransformUniform(material.displacementMap, uniforms.displacementMapTransform); + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + } + if (material.emissiveMap) { + uniforms.emissiveMap.value = material.emissiveMap; + refreshTransformUniform(material.emissiveMap, uniforms.emissiveMapTransform); + } + if (material.specularMap) { + uniforms.specularMap.value = material.specularMap; + refreshTransformUniform(material.specularMap, uniforms.specularMapTransform); + } + if (material.alphaTest > 0) { + uniforms.alphaTest.value = material.alphaTest; + } + const materialProperties = properties.get(material); + const envMap = materialProperties.envMap; + const envMapRotation = materialProperties.envMapRotation; + if (envMap) { + uniforms.envMap.value = envMap; + _e1.copy(envMapRotation); + _e1.x *= -1; + _e1.y *= -1; + _e1.z *= -1; + if (envMap.isCubeTexture && envMap.isRenderTargetTexture === false) { + _e1.y *= -1; + _e1.z *= -1; + } + uniforms.envMapRotation.value.setFromMatrix4(_m1.makeRotationFromEuler(_e1)); + uniforms.flipEnvMap.value = envMap.isCubeTexture && envMap.isRenderTargetTexture === false ? -1 : 1; + uniforms.reflectivity.value = material.reflectivity; + uniforms.ior.value = material.ior; + uniforms.refractionRatio.value = material.refractionRatio; + } + if (material.lightMap) { + uniforms.lightMap.value = material.lightMap; + uniforms.lightMapIntensity.value = material.lightMapIntensity; + refreshTransformUniform(material.lightMap, uniforms.lightMapTransform); + } + if (material.aoMap) { + uniforms.aoMap.value = material.aoMap; + uniforms.aoMapIntensity.value = material.aoMapIntensity; + refreshTransformUniform(material.aoMap, uniforms.aoMapTransform); + } + } + __name(refreshUniformsCommon, "refreshUniformsCommon"); + function refreshUniformsLine(uniforms, material) { + uniforms.diffuse.value.copy(material.color); + uniforms.opacity.value = material.opacity; + if (material.map) { + uniforms.map.value = material.map; + refreshTransformUniform(material.map, uniforms.mapTransform); + } + } + __name(refreshUniformsLine, "refreshUniformsLine"); + function refreshUniformsDash(uniforms, material) { + uniforms.dashSize.value = material.dashSize; + uniforms.totalSize.value = material.dashSize + material.gapSize; + uniforms.scale.value = material.scale; + } + __name(refreshUniformsDash, "refreshUniformsDash"); + function refreshUniformsPoints(uniforms, material, pixelRatio, height) { + uniforms.diffuse.value.copy(material.color); + uniforms.opacity.value = material.opacity; + uniforms.size.value = material.size * pixelRatio; + uniforms.scale.value = height * 0.5; + if (material.map) { + uniforms.map.value = material.map; + refreshTransformUniform(material.map, uniforms.uvTransform); + } + if (material.alphaMap) { + uniforms.alphaMap.value = material.alphaMap; + refreshTransformUniform(material.alphaMap, uniforms.alphaMapTransform); + } + if (material.alphaTest > 0) { + uniforms.alphaTest.value = material.alphaTest; + } + } + __name(refreshUniformsPoints, "refreshUniformsPoints"); + function refreshUniformsSprites(uniforms, material) { + uniforms.diffuse.value.copy(material.color); + uniforms.opacity.value = material.opacity; + uniforms.rotation.value = material.rotation; + if (material.map) { + uniforms.map.value = material.map; + refreshTransformUniform(material.map, uniforms.mapTransform); + } + if (material.alphaMap) { + uniforms.alphaMap.value = material.alphaMap; + refreshTransformUniform(material.alphaMap, uniforms.alphaMapTransform); + } + if (material.alphaTest > 0) { + uniforms.alphaTest.value = material.alphaTest; + } + } + __name(refreshUniformsSprites, "refreshUniformsSprites"); + function refreshUniformsPhong(uniforms, material) { + uniforms.specular.value.copy(material.specular); + uniforms.shininess.value = Math.max(material.shininess, 1e-4); + } + __name(refreshUniformsPhong, "refreshUniformsPhong"); + function refreshUniformsToon(uniforms, material) { + if (material.gradientMap) { + uniforms.gradientMap.value = material.gradientMap; + } + } + __name(refreshUniformsToon, "refreshUniformsToon"); + function refreshUniformsStandard(uniforms, material) { + uniforms.metalness.value = material.metalness; + if (material.metalnessMap) { + uniforms.metalnessMap.value = material.metalnessMap; + refreshTransformUniform(material.metalnessMap, uniforms.metalnessMapTransform); + } + uniforms.roughness.value = material.roughness; + if (material.roughnessMap) { + uniforms.roughnessMap.value = material.roughnessMap; + refreshTransformUniform(material.roughnessMap, uniforms.roughnessMapTransform); + } + if (material.envMap) { + uniforms.envMapIntensity.value = material.envMapIntensity; + } + } + __name(refreshUniformsStandard, "refreshUniformsStandard"); + function refreshUniformsPhysical(uniforms, material, transmissionRenderTarget) { + uniforms.ior.value = material.ior; + if (material.sheen > 0) { + uniforms.sheenColor.value.copy(material.sheenColor).multiplyScalar(material.sheen); + uniforms.sheenRoughness.value = material.sheenRoughness; + if (material.sheenColorMap) { + uniforms.sheenColorMap.value = material.sheenColorMap; + refreshTransformUniform(material.sheenColorMap, uniforms.sheenColorMapTransform); + } + if (material.sheenRoughnessMap) { + uniforms.sheenRoughnessMap.value = material.sheenRoughnessMap; + refreshTransformUniform(material.sheenRoughnessMap, uniforms.sheenRoughnessMapTransform); + } + } + if (material.clearcoat > 0) { + uniforms.clearcoat.value = material.clearcoat; + uniforms.clearcoatRoughness.value = material.clearcoatRoughness; + if (material.clearcoatMap) { + uniforms.clearcoatMap.value = material.clearcoatMap; + refreshTransformUniform(material.clearcoatMap, uniforms.clearcoatMapTransform); + } + if (material.clearcoatRoughnessMap) { + uniforms.clearcoatRoughnessMap.value = material.clearcoatRoughnessMap; + refreshTransformUniform(material.clearcoatRoughnessMap, uniforms.clearcoatRoughnessMapTransform); + } + if (material.clearcoatNormalMap) { + uniforms.clearcoatNormalMap.value = material.clearcoatNormalMap; + refreshTransformUniform(material.clearcoatNormalMap, uniforms.clearcoatNormalMapTransform); + uniforms.clearcoatNormalScale.value.copy(material.clearcoatNormalScale); + if (material.side === BackSide) { + uniforms.clearcoatNormalScale.value.negate(); + } + } + } + if (material.dispersion > 0) { + uniforms.dispersion.value = material.dispersion; + } + if (material.iridescence > 0) { + uniforms.iridescence.value = material.iridescence; + uniforms.iridescenceIOR.value = material.iridescenceIOR; + uniforms.iridescenceThicknessMinimum.value = material.iridescenceThicknessRange[0]; + uniforms.iridescenceThicknessMaximum.value = material.iridescenceThicknessRange[1]; + if (material.iridescenceMap) { + uniforms.iridescenceMap.value = material.iridescenceMap; + refreshTransformUniform(material.iridescenceMap, uniforms.iridescenceMapTransform); + } + if (material.iridescenceThicknessMap) { + uniforms.iridescenceThicknessMap.value = material.iridescenceThicknessMap; + refreshTransformUniform(material.iridescenceThicknessMap, uniforms.iridescenceThicknessMapTransform); + } + } + if (material.transmission > 0) { + uniforms.transmission.value = material.transmission; + uniforms.transmissionSamplerMap.value = transmissionRenderTarget.texture; + uniforms.transmissionSamplerSize.value.set(transmissionRenderTarget.width, transmissionRenderTarget.height); + if (material.transmissionMap) { + uniforms.transmissionMap.value = material.transmissionMap; + refreshTransformUniform(material.transmissionMap, uniforms.transmissionMapTransform); + } + uniforms.thickness.value = material.thickness; + if (material.thicknessMap) { + uniforms.thicknessMap.value = material.thicknessMap; + refreshTransformUniform(material.thicknessMap, uniforms.thicknessMapTransform); + } + uniforms.attenuationDistance.value = material.attenuationDistance; + uniforms.attenuationColor.value.copy(material.attenuationColor); + } + if (material.anisotropy > 0) { + uniforms.anisotropyVector.value.set(material.anisotropy * Math.cos(material.anisotropyRotation), material.anisotropy * Math.sin(material.anisotropyRotation)); + if (material.anisotropyMap) { + uniforms.anisotropyMap.value = material.anisotropyMap; + refreshTransformUniform(material.anisotropyMap, uniforms.anisotropyMapTransform); + } + } + uniforms.specularIntensity.value = material.specularIntensity; + uniforms.specularColor.value.copy(material.specularColor); + if (material.specularColorMap) { + uniforms.specularColorMap.value = material.specularColorMap; + refreshTransformUniform(material.specularColorMap, uniforms.specularColorMapTransform); + } + if (material.specularIntensityMap) { + uniforms.specularIntensityMap.value = material.specularIntensityMap; + refreshTransformUniform(material.specularIntensityMap, uniforms.specularIntensityMapTransform); + } + } + __name(refreshUniformsPhysical, "refreshUniformsPhysical"); + function refreshUniformsMatcap(uniforms, material) { + if (material.matcap) { + uniforms.matcap.value = material.matcap; + } + } + __name(refreshUniformsMatcap, "refreshUniformsMatcap"); + function refreshUniformsDistance(uniforms, material) { + const light = properties.get(material).light; + uniforms.referencePosition.value.setFromMatrixPosition(light.matrixWorld); + uniforms.nearDistance.value = light.shadow.camera.near; + uniforms.farDistance.value = light.shadow.camera.far; + } + __name(refreshUniformsDistance, "refreshUniformsDistance"); + return { + refreshFogUniforms, + refreshMaterialUniforms + }; +} +__name(WebGLMaterials, "WebGLMaterials"); +function WebGLUniformsGroups(gl, info, capabilities, state) { + let buffers = {}; + let updateList = {}; + let allocatedBindingPoints = []; + const maxBindingPoints = gl.getParameter(gl.MAX_UNIFORM_BUFFER_BINDINGS); + function bind(uniformsGroup, program) { + const webglProgram = program.program; + state.uniformBlockBinding(uniformsGroup, webglProgram); + } + __name(bind, "bind"); + function update(uniformsGroup, program) { + let buffer = buffers[uniformsGroup.id]; + if (buffer === void 0) { + prepareUniformsGroup(uniformsGroup); + buffer = createBuffer(uniformsGroup); + buffers[uniformsGroup.id] = buffer; + uniformsGroup.addEventListener("dispose", onUniformsGroupsDispose); + } + const webglProgram = program.program; + state.updateUBOMapping(uniformsGroup, webglProgram); + const frame = info.render.frame; + if (updateList[uniformsGroup.id] !== frame) { + updateBufferData(uniformsGroup); + updateList[uniformsGroup.id] = frame; + } + } + __name(update, "update"); + function createBuffer(uniformsGroup) { + const bindingPointIndex = allocateBindingPointIndex(); + uniformsGroup.__bindingPointIndex = bindingPointIndex; + const buffer = gl.createBuffer(); + const size = uniformsGroup.__size; + const usage = uniformsGroup.usage; + gl.bindBuffer(gl.UNIFORM_BUFFER, buffer); + gl.bufferData(gl.UNIFORM_BUFFER, size, usage); + gl.bindBuffer(gl.UNIFORM_BUFFER, null); + gl.bindBufferBase(gl.UNIFORM_BUFFER, bindingPointIndex, buffer); + return buffer; + } + __name(createBuffer, "createBuffer"); + function allocateBindingPointIndex() { + for (let i = 0; i < maxBindingPoints; i++) { + if (allocatedBindingPoints.indexOf(i) === -1) { + allocatedBindingPoints.push(i); + return i; + } + } + console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."); + return 0; + } + __name(allocateBindingPointIndex, "allocateBindingPointIndex"); + function updateBufferData(uniformsGroup) { + const buffer = buffers[uniformsGroup.id]; + const uniforms = uniformsGroup.uniforms; + const cache = uniformsGroup.__cache; + gl.bindBuffer(gl.UNIFORM_BUFFER, buffer); + for (let i = 0, il = uniforms.length; i < il; i++) { + const uniformArray = Array.isArray(uniforms[i]) ? uniforms[i] : [uniforms[i]]; + for (let j = 0, jl = uniformArray.length; j < jl; j++) { + const uniform = uniformArray[j]; + if (hasUniformChanged(uniform, i, j, cache) === true) { + const offset = uniform.__offset; + const values = Array.isArray(uniform.value) ? uniform.value : [uniform.value]; + let arrayOffset = 0; + for (let k = 0; k < values.length; k++) { + const value = values[k]; + const info2 = getUniformSize(value); + if (typeof value === "number" || typeof value === "boolean") { + uniform.__data[0] = value; + gl.bufferSubData(gl.UNIFORM_BUFFER, offset + arrayOffset, uniform.__data); + } else if (value.isMatrix3) { + uniform.__data[0] = value.elements[0]; + uniform.__data[1] = value.elements[1]; + uniform.__data[2] = value.elements[2]; + uniform.__data[3] = 0; + uniform.__data[4] = value.elements[3]; + uniform.__data[5] = value.elements[4]; + uniform.__data[6] = value.elements[5]; + uniform.__data[7] = 0; + uniform.__data[8] = value.elements[6]; + uniform.__data[9] = value.elements[7]; + uniform.__data[10] = value.elements[8]; + uniform.__data[11] = 0; + } else { + value.toArray(uniform.__data, arrayOffset); + arrayOffset += info2.storage / Float32Array.BYTES_PER_ELEMENT; + } + } + gl.bufferSubData(gl.UNIFORM_BUFFER, offset, uniform.__data); + } + } + } + gl.bindBuffer(gl.UNIFORM_BUFFER, null); + } + __name(updateBufferData, "updateBufferData"); + function hasUniformChanged(uniform, index, indexArray, cache) { + const value = uniform.value; + const indexString = index + "_" + indexArray; + if (cache[indexString] === void 0) { + if (typeof value === "number" || typeof value === "boolean") { + cache[indexString] = value; + } else { + cache[indexString] = value.clone(); + } + return true; + } else { + const cachedObject = cache[indexString]; + if (typeof value === "number" || typeof value === "boolean") { + if (cachedObject !== value) { + cache[indexString] = value; + return true; + } + } else { + if (cachedObject.equals(value) === false) { + cachedObject.copy(value); + return true; + } + } + } + return false; + } + __name(hasUniformChanged, "hasUniformChanged"); + function prepareUniformsGroup(uniformsGroup) { + const uniforms = uniformsGroup.uniforms; + let offset = 0; + const chunkSize = 16; + for (let i = 0, l = uniforms.length; i < l; i++) { + const uniformArray = Array.isArray(uniforms[i]) ? uniforms[i] : [uniforms[i]]; + for (let j = 0, jl = uniformArray.length; j < jl; j++) { + const uniform = uniformArray[j]; + const values = Array.isArray(uniform.value) ? uniform.value : [uniform.value]; + for (let k = 0, kl = values.length; k < kl; k++) { + const value = values[k]; + const info2 = getUniformSize(value); + const chunkOffset2 = offset % chunkSize; + const chunkPadding = chunkOffset2 % info2.boundary; + const chunkStart = chunkOffset2 + chunkPadding; + offset += chunkPadding; + if (chunkStart !== 0 && chunkSize - chunkStart < info2.storage) { + offset += chunkSize - chunkStart; + } + uniform.__data = new Float32Array(info2.storage / Float32Array.BYTES_PER_ELEMENT); + uniform.__offset = offset; + offset += info2.storage; + } + } + } + const chunkOffset = offset % chunkSize; + if (chunkOffset > 0) offset += chunkSize - chunkOffset; + uniformsGroup.__size = offset; + uniformsGroup.__cache = {}; + return this; + } + __name(prepareUniformsGroup, "prepareUniformsGroup"); + function getUniformSize(value) { + const info2 = { + boundary: 0, + // bytes + storage: 0 + // bytes + }; + if (typeof value === "number" || typeof value === "boolean") { + info2.boundary = 4; + info2.storage = 4; + } else if (value.isVector2) { + info2.boundary = 8; + info2.storage = 8; + } else if (value.isVector3 || value.isColor) { + info2.boundary = 16; + info2.storage = 12; + } else if (value.isVector4) { + info2.boundary = 16; + info2.storage = 16; + } else if (value.isMatrix3) { + info2.boundary = 48; + info2.storage = 48; + } else if (value.isMatrix4) { + info2.boundary = 64; + info2.storage = 64; + } else if (value.isTexture) { + console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."); + } else { + console.warn("THREE.WebGLRenderer: Unsupported uniform value type.", value); + } + return info2; + } + __name(getUniformSize, "getUniformSize"); + function onUniformsGroupsDispose(event) { + const uniformsGroup = event.target; + uniformsGroup.removeEventListener("dispose", onUniformsGroupsDispose); + const index = allocatedBindingPoints.indexOf(uniformsGroup.__bindingPointIndex); + allocatedBindingPoints.splice(index, 1); + gl.deleteBuffer(buffers[uniformsGroup.id]); + delete buffers[uniformsGroup.id]; + delete updateList[uniformsGroup.id]; + } + __name(onUniformsGroupsDispose, "onUniformsGroupsDispose"); + function dispose() { + for (const id2 in buffers) { + gl.deleteBuffer(buffers[id2]); + } + allocatedBindingPoints = []; + buffers = {}; + updateList = {}; + } + __name(dispose, "dispose"); + return { + bind, + update, + dispose + }; +} +__name(WebGLUniformsGroups, "WebGLUniformsGroups"); +class WebGLRenderer { + static { + __name(this, "WebGLRenderer"); + } + constructor(parameters = {}) { + const { + canvas = createCanvasElement(), + context = null, + depth = true, + stencil = false, + alpha = false, + antialias = false, + premultipliedAlpha = true, + preserveDrawingBuffer = false, + powerPreference = "default", + failIfMajorPerformanceCaveat = false, + reverseDepthBuffer = false + } = parameters; + this.isWebGLRenderer = true; + let _alpha; + if (context !== null) { + if (typeof WebGLRenderingContext !== "undefined" && context instanceof WebGLRenderingContext) { + throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163."); + } + _alpha = context.getContextAttributes().alpha; + } else { + _alpha = alpha; + } + const uintClearColor = new Uint32Array(4); + const intClearColor = new Int32Array(4); + let currentRenderList = null; + let currentRenderState = null; + const renderListStack = []; + const renderStateStack = []; + this.domElement = canvas; + this.debug = { + /** + * Enables error checking and reporting when shader programs are being compiled + * @type {boolean} + */ + checkShaderErrors: true, + /** + * Callback for custom error reporting. + * @type {?Function} + */ + onShaderError: null + }; + this.autoClear = true; + this.autoClearColor = true; + this.autoClearDepth = true; + this.autoClearStencil = true; + this.sortObjects = true; + this.clippingPlanes = []; + this.localClippingEnabled = false; + this._outputColorSpace = SRGBColorSpace; + this.toneMapping = NoToneMapping; + this.toneMappingExposure = 1; + const _this = this; + let _isContextLost = false; + let _currentActiveCubeFace = 0; + let _currentActiveMipmapLevel = 0; + let _currentRenderTarget = null; + let _currentMaterialId = -1; + let _currentCamera = null; + const _currentViewport = new Vector4(); + const _currentScissor = new Vector4(); + let _currentScissorTest = null; + const _currentClearColor = new Color(0); + let _currentClearAlpha = 0; + let _width = canvas.width; + let _height = canvas.height; + let _pixelRatio = 1; + let _opaqueSort = null; + let _transparentSort = null; + const _viewport = new Vector4(0, 0, _width, _height); + const _scissor = new Vector4(0, 0, _width, _height); + let _scissorTest = false; + const _frustum2 = new Frustum(); + let _clippingEnabled = false; + let _localClippingEnabled = false; + const _currentProjectionMatrix = new Matrix4(); + const _projScreenMatrix2 = new Matrix4(); + const _vector32 = new Vector3(); + const _vector4 = new Vector4(); + const _emptyScene = { background: null, fog: null, environment: null, overrideMaterial: null, isScene: true }; + let _renderBackground = false; + function getTargetPixelRatio() { + return _currentRenderTarget === null ? _pixelRatio : 1; + } + __name(getTargetPixelRatio, "getTargetPixelRatio"); + let _gl = context; + function getContext(contextName, contextAttributes) { + return canvas.getContext(contextName, contextAttributes); + } + __name(getContext, "getContext"); + try { + const contextAttributes = { + alpha: true, + depth, + stencil, + antialias, + premultipliedAlpha, + preserveDrawingBuffer, + powerPreference, + failIfMajorPerformanceCaveat + }; + if ("setAttribute" in canvas) canvas.setAttribute("data-engine", `three.js r${REVISION}`); + canvas.addEventListener("webglcontextlost", onContextLost, false); + canvas.addEventListener("webglcontextrestored", onContextRestore, false); + canvas.addEventListener("webglcontextcreationerror", onContextCreationError, false); + if (_gl === null) { + const contextName = "webgl2"; + _gl = getContext(contextName, contextAttributes); + if (_gl === null) { + if (getContext(contextName)) { + throw new Error("Error creating WebGL context with your selected attributes."); + } else { + throw new Error("Error creating WebGL context."); + } + } + } + } catch (error) { + console.error("THREE.WebGLRenderer: " + error.message); + throw error; + } + let extensions, capabilities, state, info; + let properties, textures, cubemaps, cubeuvmaps, attributes, geometries, objects; + let programCache, materials, renderLists, renderStates, clipping, shadowMap; + let background, morphtargets, bufferRenderer, indexedBufferRenderer; + let utils, bindingStates, uniformsGroups; + function initGLContext() { + extensions = new WebGLExtensions(_gl); + extensions.init(); + utils = new WebGLUtils(_gl, extensions); + capabilities = new WebGLCapabilities(_gl, extensions, parameters, utils); + state = new WebGLState(_gl, extensions); + if (capabilities.reverseDepthBuffer && reverseDepthBuffer) { + state.buffers.depth.setReversed(true); + } + info = new WebGLInfo(_gl); + properties = new WebGLProperties(); + textures = new WebGLTextures(_gl, extensions, state, properties, capabilities, utils, info); + cubemaps = new WebGLCubeMaps(_this); + cubeuvmaps = new WebGLCubeUVMaps(_this); + attributes = new WebGLAttributes(_gl); + bindingStates = new WebGLBindingStates(_gl, attributes); + geometries = new WebGLGeometries(_gl, attributes, info, bindingStates); + objects = new WebGLObjects(_gl, geometries, attributes, info); + morphtargets = new WebGLMorphtargets(_gl, capabilities, textures); + clipping = new WebGLClipping(properties); + programCache = new WebGLPrograms(_this, cubemaps, cubeuvmaps, extensions, capabilities, bindingStates, clipping); + materials = new WebGLMaterials(_this, properties); + renderLists = new WebGLRenderLists(); + renderStates = new WebGLRenderStates(extensions); + background = new WebGLBackground(_this, cubemaps, cubeuvmaps, state, objects, _alpha, premultipliedAlpha); + shadowMap = new WebGLShadowMap(_this, objects, capabilities); + uniformsGroups = new WebGLUniformsGroups(_gl, info, capabilities, state); + bufferRenderer = new WebGLBufferRenderer(_gl, extensions, info); + indexedBufferRenderer = new WebGLIndexedBufferRenderer(_gl, extensions, info); + info.programs = programCache.programs; + _this.capabilities = capabilities; + _this.extensions = extensions; + _this.properties = properties; + _this.renderLists = renderLists; + _this.shadowMap = shadowMap; + _this.state = state; + _this.info = info; + } + __name(initGLContext, "initGLContext"); + initGLContext(); + const xr = new WebXRManager(_this, _gl); + this.xr = xr; + this.getContext = function() { + return _gl; + }; + this.getContextAttributes = function() { + return _gl.getContextAttributes(); + }; + this.forceContextLoss = function() { + const extension = extensions.get("WEBGL_lose_context"); + if (extension) extension.loseContext(); + }; + this.forceContextRestore = function() { + const extension = extensions.get("WEBGL_lose_context"); + if (extension) extension.restoreContext(); + }; + this.getPixelRatio = function() { + return _pixelRatio; + }; + this.setPixelRatio = function(value) { + if (value === void 0) return; + _pixelRatio = value; + this.setSize(_width, _height, false); + }; + this.getSize = function(target) { + return target.set(_width, _height); + }; + this.setSize = function(width, height, updateStyle = true) { + if (xr.isPresenting) { + console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."); + return; + } + _width = width; + _height = height; + canvas.width = Math.floor(width * _pixelRatio); + canvas.height = Math.floor(height * _pixelRatio); + if (updateStyle === true) { + canvas.style.width = width + "px"; + canvas.style.height = height + "px"; + } + this.setViewport(0, 0, width, height); + }; + this.getDrawingBufferSize = function(target) { + return target.set(_width * _pixelRatio, _height * _pixelRatio).floor(); + }; + this.setDrawingBufferSize = function(width, height, pixelRatio) { + _width = width; + _height = height; + _pixelRatio = pixelRatio; + canvas.width = Math.floor(width * pixelRatio); + canvas.height = Math.floor(height * pixelRatio); + this.setViewport(0, 0, width, height); + }; + this.getCurrentViewport = function(target) { + return target.copy(_currentViewport); + }; + this.getViewport = function(target) { + return target.copy(_viewport); + }; + this.setViewport = function(x, y, width, height) { + if (x.isVector4) { + _viewport.set(x.x, x.y, x.z, x.w); + } else { + _viewport.set(x, y, width, height); + } + state.viewport(_currentViewport.copy(_viewport).multiplyScalar(_pixelRatio).round()); + }; + this.getScissor = function(target) { + return target.copy(_scissor); + }; + this.setScissor = function(x, y, width, height) { + if (x.isVector4) { + _scissor.set(x.x, x.y, x.z, x.w); + } else { + _scissor.set(x, y, width, height); + } + state.scissor(_currentScissor.copy(_scissor).multiplyScalar(_pixelRatio).round()); + }; + this.getScissorTest = function() { + return _scissorTest; + }; + this.setScissorTest = function(boolean) { + state.setScissorTest(_scissorTest = boolean); + }; + this.setOpaqueSort = function(method) { + _opaqueSort = method; + }; + this.setTransparentSort = function(method) { + _transparentSort = method; + }; + this.getClearColor = function(target) { + return target.copy(background.getClearColor()); + }; + this.setClearColor = function() { + background.setClearColor.apply(background, arguments); + }; + this.getClearAlpha = function() { + return background.getClearAlpha(); + }; + this.setClearAlpha = function() { + background.setClearAlpha.apply(background, arguments); + }; + this.clear = function(color = true, depth2 = true, stencil2 = true) { + let bits2 = 0; + if (color) { + let isIntegerFormat = false; + if (_currentRenderTarget !== null) { + const targetFormat = _currentRenderTarget.texture.format; + isIntegerFormat = targetFormat === RGBAIntegerFormat || targetFormat === RGIntegerFormat || targetFormat === RedIntegerFormat; + } + if (isIntegerFormat) { + const targetType = _currentRenderTarget.texture.type; + const isUnsignedType = targetType === UnsignedByteType || targetType === UnsignedIntType || targetType === UnsignedShortType || targetType === UnsignedInt248Type || targetType === UnsignedShort4444Type || targetType === UnsignedShort5551Type; + const clearColor = background.getClearColor(); + const a = background.getClearAlpha(); + const r = clearColor.r; + const g = clearColor.g; + const b = clearColor.b; + if (isUnsignedType) { + uintClearColor[0] = r; + uintClearColor[1] = g; + uintClearColor[2] = b; + uintClearColor[3] = a; + _gl.clearBufferuiv(_gl.COLOR, 0, uintClearColor); + } else { + intClearColor[0] = r; + intClearColor[1] = g; + intClearColor[2] = b; + intClearColor[3] = a; + _gl.clearBufferiv(_gl.COLOR, 0, intClearColor); + } + } else { + bits2 |= _gl.COLOR_BUFFER_BIT; + } + } + if (depth2) { + bits2 |= _gl.DEPTH_BUFFER_BIT; + } + if (stencil2) { + bits2 |= _gl.STENCIL_BUFFER_BIT; + this.state.buffers.stencil.setMask(4294967295); + } + _gl.clear(bits2); + }; + this.clearColor = function() { + this.clear(true, false, false); + }; + this.clearDepth = function() { + this.clear(false, true, false); + }; + this.clearStencil = function() { + this.clear(false, false, true); + }; + this.dispose = function() { + canvas.removeEventListener("webglcontextlost", onContextLost, false); + canvas.removeEventListener("webglcontextrestored", onContextRestore, false); + canvas.removeEventListener("webglcontextcreationerror", onContextCreationError, false); + renderLists.dispose(); + renderStates.dispose(); + properties.dispose(); + cubemaps.dispose(); + cubeuvmaps.dispose(); + objects.dispose(); + bindingStates.dispose(); + uniformsGroups.dispose(); + programCache.dispose(); + xr.dispose(); + xr.removeEventListener("sessionstart", onXRSessionStart); + xr.removeEventListener("sessionend", onXRSessionEnd); + animation.stop(); + }; + function onContextLost(event) { + event.preventDefault(); + console.log("THREE.WebGLRenderer: Context Lost."); + _isContextLost = true; + } + __name(onContextLost, "onContextLost"); + function onContextRestore() { + console.log("THREE.WebGLRenderer: Context Restored."); + _isContextLost = false; + const infoAutoReset = info.autoReset; + const shadowMapEnabled = shadowMap.enabled; + const shadowMapAutoUpdate = shadowMap.autoUpdate; + const shadowMapNeedsUpdate = shadowMap.needsUpdate; + const shadowMapType = shadowMap.type; + initGLContext(); + info.autoReset = infoAutoReset; + shadowMap.enabled = shadowMapEnabled; + shadowMap.autoUpdate = shadowMapAutoUpdate; + shadowMap.needsUpdate = shadowMapNeedsUpdate; + shadowMap.type = shadowMapType; + } + __name(onContextRestore, "onContextRestore"); + function onContextCreationError(event) { + console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ", event.statusMessage); + } + __name(onContextCreationError, "onContextCreationError"); + function onMaterialDispose(event) { + const material = event.target; + material.removeEventListener("dispose", onMaterialDispose); + deallocateMaterial(material); + } + __name(onMaterialDispose, "onMaterialDispose"); + function deallocateMaterial(material) { + releaseMaterialProgramReferences(material); + properties.remove(material); + } + __name(deallocateMaterial, "deallocateMaterial"); + function releaseMaterialProgramReferences(material) { + const programs = properties.get(material).programs; + if (programs !== void 0) { + programs.forEach(function(program) { + programCache.releaseProgram(program); + }); + if (material.isShaderMaterial) { + programCache.releaseShaderCache(material); + } + } + } + __name(releaseMaterialProgramReferences, "releaseMaterialProgramReferences"); + this.renderBufferDirect = function(camera, scene, geometry, material, object, group) { + if (scene === null) scene = _emptyScene; + const frontFaceCW = object.isMesh && object.matrixWorld.determinant() < 0; + const program = setProgram(camera, scene, geometry, material, object); + state.setMaterial(material, frontFaceCW); + let index = geometry.index; + let rangeFactor = 1; + if (material.wireframe === true) { + index = geometries.getWireframeAttribute(geometry); + if (index === void 0) return; + rangeFactor = 2; + } + const drawRange = geometry.drawRange; + const position = geometry.attributes.position; + let drawStart = drawRange.start * rangeFactor; + let drawEnd = (drawRange.start + drawRange.count) * rangeFactor; + if (group !== null) { + drawStart = Math.max(drawStart, group.start * rangeFactor); + drawEnd = Math.min(drawEnd, (group.start + group.count) * rangeFactor); + } + if (index !== null) { + drawStart = Math.max(drawStart, 0); + drawEnd = Math.min(drawEnd, index.count); + } else if (position !== void 0 && position !== null) { + drawStart = Math.max(drawStart, 0); + drawEnd = Math.min(drawEnd, position.count); + } + const drawCount = drawEnd - drawStart; + if (drawCount < 0 || drawCount === Infinity) return; + bindingStates.setup(object, material, program, geometry, index); + let attribute; + let renderer = bufferRenderer; + if (index !== null) { + attribute = attributes.get(index); + renderer = indexedBufferRenderer; + renderer.setIndex(attribute); + } + if (object.isMesh) { + if (material.wireframe === true) { + state.setLineWidth(material.wireframeLinewidth * getTargetPixelRatio()); + renderer.setMode(_gl.LINES); + } else { + renderer.setMode(_gl.TRIANGLES); + } + } else if (object.isLine) { + let lineWidth = material.linewidth; + if (lineWidth === void 0) lineWidth = 1; + state.setLineWidth(lineWidth * getTargetPixelRatio()); + if (object.isLineSegments) { + renderer.setMode(_gl.LINES); + } else if (object.isLineLoop) { + renderer.setMode(_gl.LINE_LOOP); + } else { + renderer.setMode(_gl.LINE_STRIP); + } + } else if (object.isPoints) { + renderer.setMode(_gl.POINTS); + } else if (object.isSprite) { + renderer.setMode(_gl.TRIANGLES); + } + if (object.isBatchedMesh) { + if (object._multiDrawInstances !== null) { + renderer.renderMultiDrawInstances(object._multiDrawStarts, object._multiDrawCounts, object._multiDrawCount, object._multiDrawInstances); + } else { + if (!extensions.get("WEBGL_multi_draw")) { + const starts = object._multiDrawStarts; + const counts = object._multiDrawCounts; + const drawCount2 = object._multiDrawCount; + const bytesPerElement = index ? attributes.get(index).bytesPerElement : 1; + const uniforms = properties.get(material).currentProgram.getUniforms(); + for (let i = 0; i < drawCount2; i++) { + uniforms.setValue(_gl, "_gl_DrawID", i); + renderer.render(starts[i] / bytesPerElement, counts[i]); + } + } else { + renderer.renderMultiDraw(object._multiDrawStarts, object._multiDrawCounts, object._multiDrawCount); + } + } + } else if (object.isInstancedMesh) { + renderer.renderInstances(drawStart, drawCount, object.count); + } else if (geometry.isInstancedBufferGeometry) { + const maxInstanceCount = geometry._maxInstanceCount !== void 0 ? geometry._maxInstanceCount : Infinity; + const instanceCount = Math.min(geometry.instanceCount, maxInstanceCount); + renderer.renderInstances(drawStart, drawCount, instanceCount); + } else { + renderer.render(drawStart, drawCount); + } + }; + function prepareMaterial(material, scene, object) { + if (material.transparent === true && material.side === DoubleSide && material.forceSinglePass === false) { + material.side = BackSide; + material.needsUpdate = true; + getProgram(material, scene, object); + material.side = FrontSide; + material.needsUpdate = true; + getProgram(material, scene, object); + material.side = DoubleSide; + } else { + getProgram(material, scene, object); + } + } + __name(prepareMaterial, "prepareMaterial"); + this.compile = function(scene, camera, targetScene = null) { + if (targetScene === null) targetScene = scene; + currentRenderState = renderStates.get(targetScene); + currentRenderState.init(camera); + renderStateStack.push(currentRenderState); + targetScene.traverseVisible(function(object) { + if (object.isLight && object.layers.test(camera.layers)) { + currentRenderState.pushLight(object); + if (object.castShadow) { + currentRenderState.pushShadow(object); + } + } + }); + if (scene !== targetScene) { + scene.traverseVisible(function(object) { + if (object.isLight && object.layers.test(camera.layers)) { + currentRenderState.pushLight(object); + if (object.castShadow) { + currentRenderState.pushShadow(object); + } + } + }); + } + currentRenderState.setupLights(); + const materials2 = /* @__PURE__ */ new Set(); + scene.traverse(function(object) { + if (!(object.isMesh || object.isPoints || object.isLine || object.isSprite)) { + return; + } + const material = object.material; + if (material) { + if (Array.isArray(material)) { + for (let i = 0; i < material.length; i++) { + const material2 = material[i]; + prepareMaterial(material2, targetScene, object); + materials2.add(material2); + } + } else { + prepareMaterial(material, targetScene, object); + materials2.add(material); + } + } + }); + renderStateStack.pop(); + currentRenderState = null; + return materials2; + }; + this.compileAsync = function(scene, camera, targetScene = null) { + const materials2 = this.compile(scene, camera, targetScene); + return new Promise((resolve) => { + function checkMaterialsReady() { + materials2.forEach(function(material) { + const materialProperties = properties.get(material); + const program = materialProperties.currentProgram; + if (program.isReady()) { + materials2.delete(material); + } + }); + if (materials2.size === 0) { + resolve(scene); + return; + } + setTimeout(checkMaterialsReady, 10); + } + __name(checkMaterialsReady, "checkMaterialsReady"); + if (extensions.get("KHR_parallel_shader_compile") !== null) { + checkMaterialsReady(); + } else { + setTimeout(checkMaterialsReady, 10); + } + }); + }; + let onAnimationFrameCallback = null; + function onAnimationFrame(time) { + if (onAnimationFrameCallback) onAnimationFrameCallback(time); + } + __name(onAnimationFrame, "onAnimationFrame"); + function onXRSessionStart() { + animation.stop(); + } + __name(onXRSessionStart, "onXRSessionStart"); + function onXRSessionEnd() { + animation.start(); + } + __name(onXRSessionEnd, "onXRSessionEnd"); + const animation = new WebGLAnimation(); + animation.setAnimationLoop(onAnimationFrame); + if (typeof self !== "undefined") animation.setContext(self); + this.setAnimationLoop = function(callback) { + onAnimationFrameCallback = callback; + xr.setAnimationLoop(callback); + callback === null ? animation.stop() : animation.start(); + }; + xr.addEventListener("sessionstart", onXRSessionStart); + xr.addEventListener("sessionend", onXRSessionEnd); + this.render = function(scene, camera) { + if (camera !== void 0 && camera.isCamera !== true) { + console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera."); + return; + } + if (_isContextLost === true) return; + if (scene.matrixWorldAutoUpdate === true) scene.updateMatrixWorld(); + if (camera.parent === null && camera.matrixWorldAutoUpdate === true) camera.updateMatrixWorld(); + if (xr.enabled === true && xr.isPresenting === true) { + if (xr.cameraAutoUpdate === true) xr.updateCamera(camera); + camera = xr.getCamera(); + } + if (scene.isScene === true) scene.onBeforeRender(_this, scene, camera, _currentRenderTarget); + currentRenderState = renderStates.get(scene, renderStateStack.length); + currentRenderState.init(camera); + renderStateStack.push(currentRenderState); + _projScreenMatrix2.multiplyMatrices(camera.projectionMatrix, camera.matrixWorldInverse); + _frustum2.setFromProjectionMatrix(_projScreenMatrix2); + _localClippingEnabled = this.localClippingEnabled; + _clippingEnabled = clipping.init(this.clippingPlanes, _localClippingEnabled); + currentRenderList = renderLists.get(scene, renderListStack.length); + currentRenderList.init(); + renderListStack.push(currentRenderList); + if (xr.enabled === true && xr.isPresenting === true) { + const depthSensingMesh = _this.xr.getDepthSensingMesh(); + if (depthSensingMesh !== null) { + projectObject(depthSensingMesh, camera, -Infinity, _this.sortObjects); + } + } + projectObject(scene, camera, 0, _this.sortObjects); + currentRenderList.finish(); + if (_this.sortObjects === true) { + currentRenderList.sort(_opaqueSort, _transparentSort); + } + _renderBackground = xr.enabled === false || xr.isPresenting === false || xr.hasDepthSensing() === false; + if (_renderBackground) { + background.addToRenderList(currentRenderList, scene); + } + this.info.render.frame++; + if (_clippingEnabled === true) clipping.beginShadows(); + const shadowsArray = currentRenderState.state.shadowsArray; + shadowMap.render(shadowsArray, scene, camera); + if (_clippingEnabled === true) clipping.endShadows(); + if (this.info.autoReset === true) this.info.reset(); + const opaqueObjects = currentRenderList.opaque; + const transmissiveObjects = currentRenderList.transmissive; + currentRenderState.setupLights(); + if (camera.isArrayCamera) { + const cameras = camera.cameras; + if (transmissiveObjects.length > 0) { + for (let i = 0, l = cameras.length; i < l; i++) { + const camera2 = cameras[i]; + renderTransmissionPass(opaqueObjects, transmissiveObjects, scene, camera2); + } + } + if (_renderBackground) background.render(scene); + for (let i = 0, l = cameras.length; i < l; i++) { + const camera2 = cameras[i]; + renderScene(currentRenderList, scene, camera2, camera2.viewport); + } + } else { + if (transmissiveObjects.length > 0) renderTransmissionPass(opaqueObjects, transmissiveObjects, scene, camera); + if (_renderBackground) background.render(scene); + renderScene(currentRenderList, scene, camera); + } + if (_currentRenderTarget !== null) { + textures.updateMultisampleRenderTarget(_currentRenderTarget); + textures.updateRenderTargetMipmap(_currentRenderTarget); + } + if (scene.isScene === true) scene.onAfterRender(_this, scene, camera); + bindingStates.resetDefaultState(); + _currentMaterialId = -1; + _currentCamera = null; + renderStateStack.pop(); + if (renderStateStack.length > 0) { + currentRenderState = renderStateStack[renderStateStack.length - 1]; + if (_clippingEnabled === true) clipping.setGlobalState(_this.clippingPlanes, currentRenderState.state.camera); + } else { + currentRenderState = null; + } + renderListStack.pop(); + if (renderListStack.length > 0) { + currentRenderList = renderListStack[renderListStack.length - 1]; + } else { + currentRenderList = null; + } + }; + function projectObject(object, camera, groupOrder, sortObjects) { + if (object.visible === false) return; + const visible = object.layers.test(camera.layers); + if (visible) { + if (object.isGroup) { + groupOrder = object.renderOrder; + } else if (object.isLOD) { + if (object.autoUpdate === true) object.update(camera); + } else if (object.isLight) { + currentRenderState.pushLight(object); + if (object.castShadow) { + currentRenderState.pushShadow(object); + } + } else if (object.isSprite) { + if (!object.frustumCulled || _frustum2.intersectsSprite(object)) { + if (sortObjects) { + _vector4.setFromMatrixPosition(object.matrixWorld).applyMatrix4(_projScreenMatrix2); + } + const geometry = objects.update(object); + const material = object.material; + if (material.visible) { + currentRenderList.push(object, geometry, material, groupOrder, _vector4.z, null); + } + } + } else if (object.isMesh || object.isLine || object.isPoints) { + if (!object.frustumCulled || _frustum2.intersectsObject(object)) { + const geometry = objects.update(object); + const material = object.material; + if (sortObjects) { + if (object.boundingSphere !== void 0) { + if (object.boundingSphere === null) object.computeBoundingSphere(); + _vector4.copy(object.boundingSphere.center); + } else { + if (geometry.boundingSphere === null) geometry.computeBoundingSphere(); + _vector4.copy(geometry.boundingSphere.center); + } + _vector4.applyMatrix4(object.matrixWorld).applyMatrix4(_projScreenMatrix2); + } + if (Array.isArray(material)) { + const groups = geometry.groups; + for (let i = 0, l = groups.length; i < l; i++) { + const group = groups[i]; + const groupMaterial = material[group.materialIndex]; + if (groupMaterial && groupMaterial.visible) { + currentRenderList.push(object, geometry, groupMaterial, groupOrder, _vector4.z, group); + } + } + } else if (material.visible) { + currentRenderList.push(object, geometry, material, groupOrder, _vector4.z, null); + } + } + } + } + const children = object.children; + for (let i = 0, l = children.length; i < l; i++) { + projectObject(children[i], camera, groupOrder, sortObjects); + } + } + __name(projectObject, "projectObject"); + function renderScene(currentRenderList2, scene, camera, viewport) { + const opaqueObjects = currentRenderList2.opaque; + const transmissiveObjects = currentRenderList2.transmissive; + const transparentObjects = currentRenderList2.transparent; + currentRenderState.setupLightsView(camera); + if (_clippingEnabled === true) clipping.setGlobalState(_this.clippingPlanes, camera); + if (viewport) state.viewport(_currentViewport.copy(viewport)); + if (opaqueObjects.length > 0) renderObjects(opaqueObjects, scene, camera); + if (transmissiveObjects.length > 0) renderObjects(transmissiveObjects, scene, camera); + if (transparentObjects.length > 0) renderObjects(transparentObjects, scene, camera); + state.buffers.depth.setTest(true); + state.buffers.depth.setMask(true); + state.buffers.color.setMask(true); + state.setPolygonOffset(false); + } + __name(renderScene, "renderScene"); + function renderTransmissionPass(opaqueObjects, transmissiveObjects, scene, camera) { + const overrideMaterial = scene.isScene === true ? scene.overrideMaterial : null; + if (overrideMaterial !== null) { + return; + } + if (currentRenderState.state.transmissionRenderTarget[camera.id] === void 0) { + currentRenderState.state.transmissionRenderTarget[camera.id] = new WebGLRenderTarget(1, 1, { + generateMipmaps: true, + type: extensions.has("EXT_color_buffer_half_float") || extensions.has("EXT_color_buffer_float") ? HalfFloatType : UnsignedByteType, + minFilter: LinearMipmapLinearFilter, + samples: 4, + stencilBuffer: stencil, + resolveDepthBuffer: false, + resolveStencilBuffer: false, + colorSpace: ColorManagement.workingColorSpace + }); + } + const transmissionRenderTarget = currentRenderState.state.transmissionRenderTarget[camera.id]; + const activeViewport = camera.viewport || _currentViewport; + transmissionRenderTarget.setSize(activeViewport.z, activeViewport.w); + const currentRenderTarget = _this.getRenderTarget(); + _this.setRenderTarget(transmissionRenderTarget); + _this.getClearColor(_currentClearColor); + _currentClearAlpha = _this.getClearAlpha(); + if (_currentClearAlpha < 1) _this.setClearColor(16777215, 0.5); + _this.clear(); + if (_renderBackground) background.render(scene); + const currentToneMapping = _this.toneMapping; + _this.toneMapping = NoToneMapping; + const currentCameraViewport = camera.viewport; + if (camera.viewport !== void 0) camera.viewport = void 0; + currentRenderState.setupLightsView(camera); + if (_clippingEnabled === true) clipping.setGlobalState(_this.clippingPlanes, camera); + renderObjects(opaqueObjects, scene, camera); + textures.updateMultisampleRenderTarget(transmissionRenderTarget); + textures.updateRenderTargetMipmap(transmissionRenderTarget); + if (extensions.has("WEBGL_multisampled_render_to_texture") === false) { + let renderTargetNeedsUpdate = false; + for (let i = 0, l = transmissiveObjects.length; i < l; i++) { + const renderItem = transmissiveObjects[i]; + const object = renderItem.object; + const geometry = renderItem.geometry; + const material = renderItem.material; + const group = renderItem.group; + if (material.side === DoubleSide && object.layers.test(camera.layers)) { + const currentSide = material.side; + material.side = BackSide; + material.needsUpdate = true; + renderObject(object, scene, camera, geometry, material, group); + material.side = currentSide; + material.needsUpdate = true; + renderTargetNeedsUpdate = true; + } + } + if (renderTargetNeedsUpdate === true) { + textures.updateMultisampleRenderTarget(transmissionRenderTarget); + textures.updateRenderTargetMipmap(transmissionRenderTarget); + } + } + _this.setRenderTarget(currentRenderTarget); + _this.setClearColor(_currentClearColor, _currentClearAlpha); + if (currentCameraViewport !== void 0) camera.viewport = currentCameraViewport; + _this.toneMapping = currentToneMapping; + } + __name(renderTransmissionPass, "renderTransmissionPass"); + function renderObjects(renderList, scene, camera) { + const overrideMaterial = scene.isScene === true ? scene.overrideMaterial : null; + for (let i = 0, l = renderList.length; i < l; i++) { + const renderItem = renderList[i]; + const object = renderItem.object; + const geometry = renderItem.geometry; + const material = overrideMaterial === null ? renderItem.material : overrideMaterial; + const group = renderItem.group; + if (object.layers.test(camera.layers)) { + renderObject(object, scene, camera, geometry, material, group); + } + } + } + __name(renderObjects, "renderObjects"); + function renderObject(object, scene, camera, geometry, material, group) { + object.onBeforeRender(_this, scene, camera, geometry, material, group); + object.modelViewMatrix.multiplyMatrices(camera.matrixWorldInverse, object.matrixWorld); + object.normalMatrix.getNormalMatrix(object.modelViewMatrix); + material.onBeforeRender(_this, scene, camera, geometry, object, group); + if (material.transparent === true && material.side === DoubleSide && material.forceSinglePass === false) { + material.side = BackSide; + material.needsUpdate = true; + _this.renderBufferDirect(camera, scene, geometry, material, object, group); + material.side = FrontSide; + material.needsUpdate = true; + _this.renderBufferDirect(camera, scene, geometry, material, object, group); + material.side = DoubleSide; + } else { + _this.renderBufferDirect(camera, scene, geometry, material, object, group); + } + object.onAfterRender(_this, scene, camera, geometry, material, group); + } + __name(renderObject, "renderObject"); + function getProgram(material, scene, object) { + if (scene.isScene !== true) scene = _emptyScene; + const materialProperties = properties.get(material); + const lights = currentRenderState.state.lights; + const shadowsArray = currentRenderState.state.shadowsArray; + const lightsStateVersion = lights.state.version; + const parameters2 = programCache.getParameters(material, lights.state, shadowsArray, scene, object); + const programCacheKey = programCache.getProgramCacheKey(parameters2); + let programs = materialProperties.programs; + materialProperties.environment = material.isMeshStandardMaterial ? scene.environment : null; + materialProperties.fog = scene.fog; + materialProperties.envMap = (material.isMeshStandardMaterial ? cubeuvmaps : cubemaps).get(material.envMap || materialProperties.environment); + materialProperties.envMapRotation = materialProperties.environment !== null && material.envMap === null ? scene.environmentRotation : material.envMapRotation; + if (programs === void 0) { + material.addEventListener("dispose", onMaterialDispose); + programs = /* @__PURE__ */ new Map(); + materialProperties.programs = programs; + } + let program = programs.get(programCacheKey); + if (program !== void 0) { + if (materialProperties.currentProgram === program && materialProperties.lightsStateVersion === lightsStateVersion) { + updateCommonMaterialProperties(material, parameters2); + return program; + } + } else { + parameters2.uniforms = programCache.getUniforms(material); + material.onBeforeCompile(parameters2, _this); + program = programCache.acquireProgram(parameters2, programCacheKey); + programs.set(programCacheKey, program); + materialProperties.uniforms = parameters2.uniforms; + } + const uniforms = materialProperties.uniforms; + if (!material.isShaderMaterial && !material.isRawShaderMaterial || material.clipping === true) { + uniforms.clippingPlanes = clipping.uniform; + } + updateCommonMaterialProperties(material, parameters2); + materialProperties.needsLights = materialNeedsLights(material); + materialProperties.lightsStateVersion = lightsStateVersion; + if (materialProperties.needsLights) { + uniforms.ambientLightColor.value = lights.state.ambient; + uniforms.lightProbe.value = lights.state.probe; + uniforms.directionalLights.value = lights.state.directional; + uniforms.directionalLightShadows.value = lights.state.directionalShadow; + uniforms.spotLights.value = lights.state.spot; + uniforms.spotLightShadows.value = lights.state.spotShadow; + uniforms.rectAreaLights.value = lights.state.rectArea; + uniforms.ltc_1.value = lights.state.rectAreaLTC1; + uniforms.ltc_2.value = lights.state.rectAreaLTC2; + uniforms.pointLights.value = lights.state.point; + uniforms.pointLightShadows.value = lights.state.pointShadow; + uniforms.hemisphereLights.value = lights.state.hemi; + uniforms.directionalShadowMap.value = lights.state.directionalShadowMap; + uniforms.directionalShadowMatrix.value = lights.state.directionalShadowMatrix; + uniforms.spotShadowMap.value = lights.state.spotShadowMap; + uniforms.spotLightMatrix.value = lights.state.spotLightMatrix; + uniforms.spotLightMap.value = lights.state.spotLightMap; + uniforms.pointShadowMap.value = lights.state.pointShadowMap; + uniforms.pointShadowMatrix.value = lights.state.pointShadowMatrix; + } + materialProperties.currentProgram = program; + materialProperties.uniformsList = null; + return program; + } + __name(getProgram, "getProgram"); + function getUniformList(materialProperties) { + if (materialProperties.uniformsList === null) { + const progUniforms = materialProperties.currentProgram.getUniforms(); + materialProperties.uniformsList = WebGLUniforms.seqWithValue(progUniforms.seq, materialProperties.uniforms); + } + return materialProperties.uniformsList; + } + __name(getUniformList, "getUniformList"); + function updateCommonMaterialProperties(material, parameters2) { + const materialProperties = properties.get(material); + materialProperties.outputColorSpace = parameters2.outputColorSpace; + materialProperties.batching = parameters2.batching; + materialProperties.batchingColor = parameters2.batchingColor; + materialProperties.instancing = parameters2.instancing; + materialProperties.instancingColor = parameters2.instancingColor; + materialProperties.instancingMorph = parameters2.instancingMorph; + materialProperties.skinning = parameters2.skinning; + materialProperties.morphTargets = parameters2.morphTargets; + materialProperties.morphNormals = parameters2.morphNormals; + materialProperties.morphColors = parameters2.morphColors; + materialProperties.morphTargetsCount = parameters2.morphTargetsCount; + materialProperties.numClippingPlanes = parameters2.numClippingPlanes; + materialProperties.numIntersection = parameters2.numClipIntersection; + materialProperties.vertexAlphas = parameters2.vertexAlphas; + materialProperties.vertexTangents = parameters2.vertexTangents; + materialProperties.toneMapping = parameters2.toneMapping; + } + __name(updateCommonMaterialProperties, "updateCommonMaterialProperties"); + function setProgram(camera, scene, geometry, material, object) { + if (scene.isScene !== true) scene = _emptyScene; + textures.resetTextureUnits(); + const fog = scene.fog; + const environment = material.isMeshStandardMaterial ? scene.environment : null; + const colorSpace = _currentRenderTarget === null ? _this.outputColorSpace : _currentRenderTarget.isXRRenderTarget === true ? _currentRenderTarget.texture.colorSpace : LinearSRGBColorSpace; + const envMap = (material.isMeshStandardMaterial ? cubeuvmaps : cubemaps).get(material.envMap || environment); + const vertexAlphas = material.vertexColors === true && !!geometry.attributes.color && geometry.attributes.color.itemSize === 4; + const vertexTangents = !!geometry.attributes.tangent && (!!material.normalMap || material.anisotropy > 0); + const morphTargets = !!geometry.morphAttributes.position; + const morphNormals = !!geometry.morphAttributes.normal; + const morphColors = !!geometry.morphAttributes.color; + let toneMapping = NoToneMapping; + if (material.toneMapped) { + if (_currentRenderTarget === null || _currentRenderTarget.isXRRenderTarget === true) { + toneMapping = _this.toneMapping; + } + } + const morphAttribute = geometry.morphAttributes.position || geometry.morphAttributes.normal || geometry.morphAttributes.color; + const morphTargetsCount = morphAttribute !== void 0 ? morphAttribute.length : 0; + const materialProperties = properties.get(material); + const lights = currentRenderState.state.lights; + if (_clippingEnabled === true) { + if (_localClippingEnabled === true || camera !== _currentCamera) { + const useCache = camera === _currentCamera && material.id === _currentMaterialId; + clipping.setState(material, camera, useCache); + } + } + let needsProgramChange = false; + if (material.version === materialProperties.__version) { + if (materialProperties.needsLights && materialProperties.lightsStateVersion !== lights.state.version) { + needsProgramChange = true; + } else if (materialProperties.outputColorSpace !== colorSpace) { + needsProgramChange = true; + } else if (object.isBatchedMesh && materialProperties.batching === false) { + needsProgramChange = true; + } else if (!object.isBatchedMesh && materialProperties.batching === true) { + needsProgramChange = true; + } else if (object.isBatchedMesh && materialProperties.batchingColor === true && object.colorTexture === null) { + needsProgramChange = true; + } else if (object.isBatchedMesh && materialProperties.batchingColor === false && object.colorTexture !== null) { + needsProgramChange = true; + } else if (object.isInstancedMesh && materialProperties.instancing === false) { + needsProgramChange = true; + } else if (!object.isInstancedMesh && materialProperties.instancing === true) { + needsProgramChange = true; + } else if (object.isSkinnedMesh && materialProperties.skinning === false) { + needsProgramChange = true; + } else if (!object.isSkinnedMesh && materialProperties.skinning === true) { + needsProgramChange = true; + } else if (object.isInstancedMesh && materialProperties.instancingColor === true && object.instanceColor === null) { + needsProgramChange = true; + } else if (object.isInstancedMesh && materialProperties.instancingColor === false && object.instanceColor !== null) { + needsProgramChange = true; + } else if (object.isInstancedMesh && materialProperties.instancingMorph === true && object.morphTexture === null) { + needsProgramChange = true; + } else if (object.isInstancedMesh && materialProperties.instancingMorph === false && object.morphTexture !== null) { + needsProgramChange = true; + } else if (materialProperties.envMap !== envMap) { + needsProgramChange = true; + } else if (material.fog === true && materialProperties.fog !== fog) { + needsProgramChange = true; + } else if (materialProperties.numClippingPlanes !== void 0 && (materialProperties.numClippingPlanes !== clipping.numPlanes || materialProperties.numIntersection !== clipping.numIntersection)) { + needsProgramChange = true; + } else if (materialProperties.vertexAlphas !== vertexAlphas) { + needsProgramChange = true; + } else if (materialProperties.vertexTangents !== vertexTangents) { + needsProgramChange = true; + } else if (materialProperties.morphTargets !== morphTargets) { + needsProgramChange = true; + } else if (materialProperties.morphNormals !== morphNormals) { + needsProgramChange = true; + } else if (materialProperties.morphColors !== morphColors) { + needsProgramChange = true; + } else if (materialProperties.toneMapping !== toneMapping) { + needsProgramChange = true; + } else if (materialProperties.morphTargetsCount !== morphTargetsCount) { + needsProgramChange = true; + } + } else { + needsProgramChange = true; + materialProperties.__version = material.version; + } + let program = materialProperties.currentProgram; + if (needsProgramChange === true) { + program = getProgram(material, scene, object); + } + let refreshProgram = false; + let refreshMaterial = false; + let refreshLights = false; + const p_uniforms = program.getUniforms(), m_uniforms = materialProperties.uniforms; + if (state.useProgram(program.program)) { + refreshProgram = true; + refreshMaterial = true; + refreshLights = true; + } + if (material.id !== _currentMaterialId) { + _currentMaterialId = material.id; + refreshMaterial = true; + } + if (refreshProgram || _currentCamera !== camera) { + const reverseDepthBuffer2 = state.buffers.depth.getReversed(); + if (reverseDepthBuffer2) { + _currentProjectionMatrix.copy(camera.projectionMatrix); + toNormalizedProjectionMatrix(_currentProjectionMatrix); + toReversedProjectionMatrix(_currentProjectionMatrix); + p_uniforms.setValue(_gl, "projectionMatrix", _currentProjectionMatrix); + } else { + p_uniforms.setValue(_gl, "projectionMatrix", camera.projectionMatrix); + } + p_uniforms.setValue(_gl, "viewMatrix", camera.matrixWorldInverse); + const uCamPos = p_uniforms.map.cameraPosition; + if (uCamPos !== void 0) { + uCamPos.setValue(_gl, _vector32.setFromMatrixPosition(camera.matrixWorld)); + } + if (capabilities.logarithmicDepthBuffer) { + p_uniforms.setValue( + _gl, + "logDepthBufFC", + 2 / (Math.log(camera.far + 1) / Math.LN2) + ); + } + if (material.isMeshPhongMaterial || material.isMeshToonMaterial || material.isMeshLambertMaterial || material.isMeshBasicMaterial || material.isMeshStandardMaterial || material.isShaderMaterial) { + p_uniforms.setValue(_gl, "isOrthographic", camera.isOrthographicCamera === true); + } + if (_currentCamera !== camera) { + _currentCamera = camera; + refreshMaterial = true; + refreshLights = true; + } + } + if (object.isSkinnedMesh) { + p_uniforms.setOptional(_gl, object, "bindMatrix"); + p_uniforms.setOptional(_gl, object, "bindMatrixInverse"); + const skeleton = object.skeleton; + if (skeleton) { + if (skeleton.boneTexture === null) skeleton.computeBoneTexture(); + p_uniforms.setValue(_gl, "boneTexture", skeleton.boneTexture, textures); + } + } + if (object.isBatchedMesh) { + p_uniforms.setOptional(_gl, object, "batchingTexture"); + p_uniforms.setValue(_gl, "batchingTexture", object._matricesTexture, textures); + p_uniforms.setOptional(_gl, object, "batchingIdTexture"); + p_uniforms.setValue(_gl, "batchingIdTexture", object._indirectTexture, textures); + p_uniforms.setOptional(_gl, object, "batchingColorTexture"); + if (object._colorsTexture !== null) { + p_uniforms.setValue(_gl, "batchingColorTexture", object._colorsTexture, textures); + } + } + const morphAttributes = geometry.morphAttributes; + if (morphAttributes.position !== void 0 || morphAttributes.normal !== void 0 || morphAttributes.color !== void 0) { + morphtargets.update(object, geometry, program); + } + if (refreshMaterial || materialProperties.receiveShadow !== object.receiveShadow) { + materialProperties.receiveShadow = object.receiveShadow; + p_uniforms.setValue(_gl, "receiveShadow", object.receiveShadow); + } + if (material.isMeshGouraudMaterial && material.envMap !== null) { + m_uniforms.envMap.value = envMap; + m_uniforms.flipEnvMap.value = envMap.isCubeTexture && envMap.isRenderTargetTexture === false ? -1 : 1; + } + if (material.isMeshStandardMaterial && material.envMap === null && scene.environment !== null) { + m_uniforms.envMapIntensity.value = scene.environmentIntensity; + } + if (refreshMaterial) { + p_uniforms.setValue(_gl, "toneMappingExposure", _this.toneMappingExposure); + if (materialProperties.needsLights) { + markUniformsLightsNeedsUpdate(m_uniforms, refreshLights); + } + if (fog && material.fog === true) { + materials.refreshFogUniforms(m_uniforms, fog); + } + materials.refreshMaterialUniforms(m_uniforms, material, _pixelRatio, _height, currentRenderState.state.transmissionRenderTarget[camera.id]); + WebGLUniforms.upload(_gl, getUniformList(materialProperties), m_uniforms, textures); + } + if (material.isShaderMaterial && material.uniformsNeedUpdate === true) { + WebGLUniforms.upload(_gl, getUniformList(materialProperties), m_uniforms, textures); + material.uniformsNeedUpdate = false; + } + if (material.isSpriteMaterial) { + p_uniforms.setValue(_gl, "center", object.center); + } + p_uniforms.setValue(_gl, "modelViewMatrix", object.modelViewMatrix); + p_uniforms.setValue(_gl, "normalMatrix", object.normalMatrix); + p_uniforms.setValue(_gl, "modelMatrix", object.matrixWorld); + if (material.isShaderMaterial || material.isRawShaderMaterial) { + const groups = material.uniformsGroups; + for (let i = 0, l = groups.length; i < l; i++) { + const group = groups[i]; + uniformsGroups.update(group, program); + uniformsGroups.bind(group, program); + } + } + return program; + } + __name(setProgram, "setProgram"); + function markUniformsLightsNeedsUpdate(uniforms, value) { + uniforms.ambientLightColor.needsUpdate = value; + uniforms.lightProbe.needsUpdate = value; + uniforms.directionalLights.needsUpdate = value; + uniforms.directionalLightShadows.needsUpdate = value; + uniforms.pointLights.needsUpdate = value; + uniforms.pointLightShadows.needsUpdate = value; + uniforms.spotLights.needsUpdate = value; + uniforms.spotLightShadows.needsUpdate = value; + uniforms.rectAreaLights.needsUpdate = value; + uniforms.hemisphereLights.needsUpdate = value; + } + __name(markUniformsLightsNeedsUpdate, "markUniformsLightsNeedsUpdate"); + function materialNeedsLights(material) { + return material.isMeshLambertMaterial || material.isMeshToonMaterial || material.isMeshPhongMaterial || material.isMeshStandardMaterial || material.isShadowMaterial || material.isShaderMaterial && material.lights === true; + } + __name(materialNeedsLights, "materialNeedsLights"); + this.getActiveCubeFace = function() { + return _currentActiveCubeFace; + }; + this.getActiveMipmapLevel = function() { + return _currentActiveMipmapLevel; + }; + this.getRenderTarget = function() { + return _currentRenderTarget; + }; + this.setRenderTargetTextures = function(renderTarget, colorTexture, depthTexture) { + properties.get(renderTarget.texture).__webglTexture = colorTexture; + properties.get(renderTarget.depthTexture).__webglTexture = depthTexture; + const renderTargetProperties = properties.get(renderTarget); + renderTargetProperties.__hasExternalTextures = true; + renderTargetProperties.__autoAllocateDepthBuffer = depthTexture === void 0; + if (!renderTargetProperties.__autoAllocateDepthBuffer) { + if (extensions.has("WEBGL_multisampled_render_to_texture") === true) { + console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"); + renderTargetProperties.__useRenderToTexture = false; + } + } + }; + this.setRenderTargetFramebuffer = function(renderTarget, defaultFramebuffer) { + const renderTargetProperties = properties.get(renderTarget); + renderTargetProperties.__webglFramebuffer = defaultFramebuffer; + renderTargetProperties.__useDefaultFramebuffer = defaultFramebuffer === void 0; + }; + this.setRenderTarget = function(renderTarget, activeCubeFace = 0, activeMipmapLevel = 0) { + _currentRenderTarget = renderTarget; + _currentActiveCubeFace = activeCubeFace; + _currentActiveMipmapLevel = activeMipmapLevel; + let useDefaultFramebuffer = true; + let framebuffer = null; + let isCube = false; + let isRenderTarget3D = false; + if (renderTarget) { + const renderTargetProperties = properties.get(renderTarget); + if (renderTargetProperties.__useDefaultFramebuffer !== void 0) { + state.bindFramebuffer(_gl.FRAMEBUFFER, null); + useDefaultFramebuffer = false; + } else if (renderTargetProperties.__webglFramebuffer === void 0) { + textures.setupRenderTarget(renderTarget); + } else if (renderTargetProperties.__hasExternalTextures) { + textures.rebindTextures(renderTarget, properties.get(renderTarget.texture).__webglTexture, properties.get(renderTarget.depthTexture).__webglTexture); + } else if (renderTarget.depthBuffer) { + const depthTexture = renderTarget.depthTexture; + if (renderTargetProperties.__boundDepthTexture !== depthTexture) { + if (depthTexture !== null && properties.has(depthTexture) && (renderTarget.width !== depthTexture.image.width || renderTarget.height !== depthTexture.image.height)) { + throw new Error("WebGLRenderTarget: Attached DepthTexture is initialized to the incorrect size."); + } + textures.setupDepthRenderbuffer(renderTarget); + } + } + const texture = renderTarget.texture; + if (texture.isData3DTexture || texture.isDataArrayTexture || texture.isCompressedArrayTexture) { + isRenderTarget3D = true; + } + const __webglFramebuffer = properties.get(renderTarget).__webglFramebuffer; + if (renderTarget.isWebGLCubeRenderTarget) { + if (Array.isArray(__webglFramebuffer[activeCubeFace])) { + framebuffer = __webglFramebuffer[activeCubeFace][activeMipmapLevel]; + } else { + framebuffer = __webglFramebuffer[activeCubeFace]; + } + isCube = true; + } else if (renderTarget.samples > 0 && textures.useMultisampledRTT(renderTarget) === false) { + framebuffer = properties.get(renderTarget).__webglMultisampledFramebuffer; + } else { + if (Array.isArray(__webglFramebuffer)) { + framebuffer = __webglFramebuffer[activeMipmapLevel]; + } else { + framebuffer = __webglFramebuffer; + } + } + _currentViewport.copy(renderTarget.viewport); + _currentScissor.copy(renderTarget.scissor); + _currentScissorTest = renderTarget.scissorTest; + } else { + _currentViewport.copy(_viewport).multiplyScalar(_pixelRatio).floor(); + _currentScissor.copy(_scissor).multiplyScalar(_pixelRatio).floor(); + _currentScissorTest = _scissorTest; + } + const framebufferBound = state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer); + if (framebufferBound && useDefaultFramebuffer) { + state.drawBuffers(renderTarget, framebuffer); + } + state.viewport(_currentViewport); + state.scissor(_currentScissor); + state.setScissorTest(_currentScissorTest); + if (isCube) { + const textureProperties = properties.get(renderTarget.texture); + _gl.framebufferTexture2D(_gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + activeCubeFace, textureProperties.__webglTexture, activeMipmapLevel); + } else if (isRenderTarget3D) { + const textureProperties = properties.get(renderTarget.texture); + const layer = activeCubeFace || 0; + _gl.framebufferTextureLayer(_gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, textureProperties.__webglTexture, activeMipmapLevel || 0, layer); + } + _currentMaterialId = -1; + }; + this.readRenderTargetPixels = function(renderTarget, x, y, width, height, buffer, activeCubeFaceIndex) { + if (!(renderTarget && renderTarget.isWebGLRenderTarget)) { + console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget."); + return; + } + let framebuffer = properties.get(renderTarget).__webglFramebuffer; + if (renderTarget.isWebGLCubeRenderTarget && activeCubeFaceIndex !== void 0) { + framebuffer = framebuffer[activeCubeFaceIndex]; + } + if (framebuffer) { + state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer); + try { + const texture = renderTarget.texture; + const textureFormat = texture.format; + const textureType = texture.type; + if (!capabilities.textureFormatReadable(textureFormat)) { + console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format."); + return; + } + if (!capabilities.textureTypeReadable(textureType)) { + console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type."); + return; + } + if (x >= 0 && x <= renderTarget.width - width && (y >= 0 && y <= renderTarget.height - height)) { + _gl.readPixels(x, y, width, height, utils.convert(textureFormat), utils.convert(textureType), buffer); + } + } finally { + const framebuffer2 = _currentRenderTarget !== null ? properties.get(_currentRenderTarget).__webglFramebuffer : null; + state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer2); + } + } + }; + this.readRenderTargetPixelsAsync = async function(renderTarget, x, y, width, height, buffer, activeCubeFaceIndex) { + if (!(renderTarget && renderTarget.isWebGLRenderTarget)) { + throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget."); + } + let framebuffer = properties.get(renderTarget).__webglFramebuffer; + if (renderTarget.isWebGLCubeRenderTarget && activeCubeFaceIndex !== void 0) { + framebuffer = framebuffer[activeCubeFaceIndex]; + } + if (framebuffer) { + const texture = renderTarget.texture; + const textureFormat = texture.format; + const textureType = texture.type; + if (!capabilities.textureFormatReadable(textureFormat)) { + throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format."); + } + if (!capabilities.textureTypeReadable(textureType)) { + throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type."); + } + if (x >= 0 && x <= renderTarget.width - width && (y >= 0 && y <= renderTarget.height - height)) { + state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer); + const glBuffer = _gl.createBuffer(); + _gl.bindBuffer(_gl.PIXEL_PACK_BUFFER, glBuffer); + _gl.bufferData(_gl.PIXEL_PACK_BUFFER, buffer.byteLength, _gl.STREAM_READ); + _gl.readPixels(x, y, width, height, utils.convert(textureFormat), utils.convert(textureType), 0); + const currFramebuffer = _currentRenderTarget !== null ? properties.get(_currentRenderTarget).__webglFramebuffer : null; + state.bindFramebuffer(_gl.FRAMEBUFFER, currFramebuffer); + const sync = _gl.fenceSync(_gl.SYNC_GPU_COMMANDS_COMPLETE, 0); + _gl.flush(); + await probeAsync(_gl, sync, 4); + _gl.bindBuffer(_gl.PIXEL_PACK_BUFFER, glBuffer); + _gl.getBufferSubData(_gl.PIXEL_PACK_BUFFER, 0, buffer); + _gl.deleteBuffer(glBuffer); + _gl.deleteSync(sync); + return buffer; + } else { + throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range."); + } + } + }; + this.copyFramebufferToTexture = function(texture, position = null, level = 0) { + if (texture.isTexture !== true) { + warnOnce("WebGLRenderer: copyFramebufferToTexture function signature has changed."); + position = arguments[0] || null; + texture = arguments[1]; + } + const levelScale = Math.pow(2, -level); + const width = Math.floor(texture.image.width * levelScale); + const height = Math.floor(texture.image.height * levelScale); + const x = position !== null ? position.x : 0; + const y = position !== null ? position.y : 0; + textures.setTexture2D(texture, 0); + _gl.copyTexSubImage2D(_gl.TEXTURE_2D, level, 0, 0, x, y, width, height); + state.unbindTexture(); + }; + this.copyTextureToTexture = function(srcTexture, dstTexture, srcRegion = null, dstPosition = null, level = 0) { + if (srcTexture.isTexture !== true) { + warnOnce("WebGLRenderer: copyTextureToTexture function signature has changed."); + dstPosition = arguments[0] || null; + srcTexture = arguments[1]; + dstTexture = arguments[2]; + level = arguments[3] || 0; + srcRegion = null; + } + let width, height, depth2, minX, minY, minZ; + let dstX, dstY, dstZ; + const image = srcTexture.isCompressedTexture ? srcTexture.mipmaps[level] : srcTexture.image; + if (srcRegion !== null) { + width = srcRegion.max.x - srcRegion.min.x; + height = srcRegion.max.y - srcRegion.min.y; + depth2 = srcRegion.isBox3 ? srcRegion.max.z - srcRegion.min.z : 1; + minX = srcRegion.min.x; + minY = srcRegion.min.y; + minZ = srcRegion.isBox3 ? srcRegion.min.z : 0; + } else { + width = image.width; + height = image.height; + depth2 = image.depth || 1; + minX = 0; + minY = 0; + minZ = 0; + } + if (dstPosition !== null) { + dstX = dstPosition.x; + dstY = dstPosition.y; + dstZ = dstPosition.z; + } else { + dstX = 0; + dstY = 0; + dstZ = 0; + } + const glFormat = utils.convert(dstTexture.format); + const glType = utils.convert(dstTexture.type); + let glTarget; + if (dstTexture.isData3DTexture) { + textures.setTexture3D(dstTexture, 0); + glTarget = _gl.TEXTURE_3D; + } else if (dstTexture.isDataArrayTexture || dstTexture.isCompressedArrayTexture) { + textures.setTexture2DArray(dstTexture, 0); + glTarget = _gl.TEXTURE_2D_ARRAY; + } else { + textures.setTexture2D(dstTexture, 0); + glTarget = _gl.TEXTURE_2D; + } + _gl.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL, dstTexture.flipY); + _gl.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, dstTexture.premultiplyAlpha); + _gl.pixelStorei(_gl.UNPACK_ALIGNMENT, dstTexture.unpackAlignment); + const currentUnpackRowLen = _gl.getParameter(_gl.UNPACK_ROW_LENGTH); + const currentUnpackImageHeight = _gl.getParameter(_gl.UNPACK_IMAGE_HEIGHT); + const currentUnpackSkipPixels = _gl.getParameter(_gl.UNPACK_SKIP_PIXELS); + const currentUnpackSkipRows = _gl.getParameter(_gl.UNPACK_SKIP_ROWS); + const currentUnpackSkipImages = _gl.getParameter(_gl.UNPACK_SKIP_IMAGES); + _gl.pixelStorei(_gl.UNPACK_ROW_LENGTH, image.width); + _gl.pixelStorei(_gl.UNPACK_IMAGE_HEIGHT, image.height); + _gl.pixelStorei(_gl.UNPACK_SKIP_PIXELS, minX); + _gl.pixelStorei(_gl.UNPACK_SKIP_ROWS, minY); + _gl.pixelStorei(_gl.UNPACK_SKIP_IMAGES, minZ); + const isSrc3D = srcTexture.isDataArrayTexture || srcTexture.isData3DTexture; + const isDst3D = dstTexture.isDataArrayTexture || dstTexture.isData3DTexture; + if (srcTexture.isRenderTargetTexture || srcTexture.isDepthTexture) { + const srcTextureProperties = properties.get(srcTexture); + const dstTextureProperties = properties.get(dstTexture); + const srcRenderTargetProperties = properties.get(srcTextureProperties.__renderTarget); + const dstRenderTargetProperties = properties.get(dstTextureProperties.__renderTarget); + state.bindFramebuffer(_gl.READ_FRAMEBUFFER, srcRenderTargetProperties.__webglFramebuffer); + state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER, dstRenderTargetProperties.__webglFramebuffer); + for (let i = 0; i < depth2; i++) { + if (isSrc3D) { + _gl.framebufferTextureLayer(_gl.READ_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, properties.get(srcTexture).__webglTexture, level, minZ + i); + } + if (srcTexture.isDepthTexture) { + if (isDst3D) { + _gl.framebufferTextureLayer(_gl.DRAW_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, properties.get(dstTexture).__webglTexture, level, dstZ + i); + } + _gl.blitFramebuffer(minX, minY, width, height, dstX, dstY, width, height, _gl.DEPTH_BUFFER_BIT, _gl.NEAREST); + } else if (isDst3D) { + _gl.copyTexSubImage3D(glTarget, level, dstX, dstY, dstZ + i, minX, minY, width, height); + } else { + _gl.copyTexSubImage2D(glTarget, level, dstX, dstY, dstZ + i, minX, minY, width, height); + } + } + state.bindFramebuffer(_gl.READ_FRAMEBUFFER, null); + state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER, null); + } else { + if (isDst3D) { + if (srcTexture.isDataTexture || srcTexture.isData3DTexture) { + _gl.texSubImage3D(glTarget, level, dstX, dstY, dstZ, width, height, depth2, glFormat, glType, image.data); + } else if (dstTexture.isCompressedArrayTexture) { + _gl.compressedTexSubImage3D(glTarget, level, dstX, dstY, dstZ, width, height, depth2, glFormat, image.data); + } else { + _gl.texSubImage3D(glTarget, level, dstX, dstY, dstZ, width, height, depth2, glFormat, glType, image); + } + } else { + if (srcTexture.isDataTexture) { + _gl.texSubImage2D(_gl.TEXTURE_2D, level, dstX, dstY, width, height, glFormat, glType, image.data); + } else if (srcTexture.isCompressedTexture) { + _gl.compressedTexSubImage2D(_gl.TEXTURE_2D, level, dstX, dstY, image.width, image.height, glFormat, image.data); + } else { + _gl.texSubImage2D(_gl.TEXTURE_2D, level, dstX, dstY, width, height, glFormat, glType, image); + } + } + } + _gl.pixelStorei(_gl.UNPACK_ROW_LENGTH, currentUnpackRowLen); + _gl.pixelStorei(_gl.UNPACK_IMAGE_HEIGHT, currentUnpackImageHeight); + _gl.pixelStorei(_gl.UNPACK_SKIP_PIXELS, currentUnpackSkipPixels); + _gl.pixelStorei(_gl.UNPACK_SKIP_ROWS, currentUnpackSkipRows); + _gl.pixelStorei(_gl.UNPACK_SKIP_IMAGES, currentUnpackSkipImages); + if (level === 0 && dstTexture.generateMipmaps) { + _gl.generateMipmap(glTarget); + } + state.unbindTexture(); + }; + this.copyTextureToTexture3D = function(srcTexture, dstTexture, srcRegion = null, dstPosition = null, level = 0) { + if (srcTexture.isTexture !== true) { + warnOnce("WebGLRenderer: copyTextureToTexture3D function signature has changed."); + srcRegion = arguments[0] || null; + dstPosition = arguments[1] || null; + srcTexture = arguments[2]; + dstTexture = arguments[3]; + level = arguments[4] || 0; + } + warnOnce('WebGLRenderer: copyTextureToTexture3D function has been deprecated. Use "copyTextureToTexture" instead.'); + return this.copyTextureToTexture(srcTexture, dstTexture, srcRegion, dstPosition, level); + }; + this.initRenderTarget = function(target) { + if (properties.get(target).__webglFramebuffer === void 0) { + textures.setupRenderTarget(target); + } + }; + this.initTexture = function(texture) { + if (texture.isCubeTexture) { + textures.setTextureCube(texture, 0); + } else if (texture.isData3DTexture) { + textures.setTexture3D(texture, 0); + } else if (texture.isDataArrayTexture || texture.isCompressedArrayTexture) { + textures.setTexture2DArray(texture, 0); + } else { + textures.setTexture2D(texture, 0); + } + state.unbindTexture(); + }; + this.resetState = function() { + _currentActiveCubeFace = 0; + _currentActiveMipmapLevel = 0; + _currentRenderTarget = null; + state.reset(); + bindingStates.reset(); + }; + if (typeof __THREE_DEVTOOLS__ !== "undefined") { + __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe", { detail: this })); + } + } + get coordinateSystem() { + return WebGLCoordinateSystem; + } + get outputColorSpace() { + return this._outputColorSpace; + } + set outputColorSpace(colorSpace) { + this._outputColorSpace = colorSpace; + const gl = this.getContext(); + gl.drawingBufferColorspace = ColorManagement._getDrawingBufferColorSpace(colorSpace); + gl.unpackColorSpace = ColorManagement._getUnpackColorSpace(); + } +} +class FogExp2 { + static { + __name(this, "FogExp2"); + } + constructor(color, density = 25e-5) { + this.isFogExp2 = true; + this.name = ""; + this.color = new Color(color); + this.density = density; + } + clone() { + return new FogExp2(this.color, this.density); + } + toJSON() { + return { + type: "FogExp2", + name: this.name, + color: this.color.getHex(), + density: this.density + }; + } +} +class Fog { + static { + __name(this, "Fog"); + } + constructor(color, near = 1, far = 1e3) { + this.isFog = true; + this.name = ""; + this.color = new Color(color); + this.near = near; + this.far = far; + } + clone() { + return new Fog(this.color, this.near, this.far); + } + toJSON() { + return { + type: "Fog", + name: this.name, + color: this.color.getHex(), + near: this.near, + far: this.far + }; + } +} +class Scene extends Object3D { + static { + __name(this, "Scene"); + } + constructor() { + super(); + this.isScene = true; + this.type = "Scene"; + this.background = null; + this.environment = null; + this.fog = null; + this.backgroundBlurriness = 0; + this.backgroundIntensity = 1; + this.backgroundRotation = new Euler(); + this.environmentIntensity = 1; + this.environmentRotation = new Euler(); + this.overrideMaterial = null; + if (typeof __THREE_DEVTOOLS__ !== "undefined") { + __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe", { detail: this })); + } + } + copy(source, recursive) { + super.copy(source, recursive); + if (source.background !== null) this.background = source.background.clone(); + if (source.environment !== null) this.environment = source.environment.clone(); + if (source.fog !== null) this.fog = source.fog.clone(); + this.backgroundBlurriness = source.backgroundBlurriness; + this.backgroundIntensity = source.backgroundIntensity; + this.backgroundRotation.copy(source.backgroundRotation); + this.environmentIntensity = source.environmentIntensity; + this.environmentRotation.copy(source.environmentRotation); + if (source.overrideMaterial !== null) this.overrideMaterial = source.overrideMaterial.clone(); + this.matrixAutoUpdate = source.matrixAutoUpdate; + return this; + } + toJSON(meta) { + const data = super.toJSON(meta); + if (this.fog !== null) data.object.fog = this.fog.toJSON(); + if (this.backgroundBlurriness > 0) data.object.backgroundBlurriness = this.backgroundBlurriness; + if (this.backgroundIntensity !== 1) data.object.backgroundIntensity = this.backgroundIntensity; + data.object.backgroundRotation = this.backgroundRotation.toArray(); + if (this.environmentIntensity !== 1) data.object.environmentIntensity = this.environmentIntensity; + data.object.environmentRotation = this.environmentRotation.toArray(); + return data; + } +} +class InterleavedBuffer { + static { + __name(this, "InterleavedBuffer"); + } + constructor(array, stride) { + this.isInterleavedBuffer = true; + this.array = array; + this.stride = stride; + this.count = array !== void 0 ? array.length / stride : 0; + this.usage = StaticDrawUsage; + this.updateRanges = []; + this.version = 0; + this.uuid = generateUUID(); + } + onUploadCallback() { + } + set needsUpdate(value) { + if (value === true) this.version++; + } + setUsage(value) { + this.usage = value; + return this; + } + addUpdateRange(start, count) { + this.updateRanges.push({ start, count }); + } + clearUpdateRanges() { + this.updateRanges.length = 0; + } + copy(source) { + this.array = new source.array.constructor(source.array); + this.count = source.count; + this.stride = source.stride; + this.usage = source.usage; + return this; + } + copyAt(index1, attribute, index2) { + index1 *= this.stride; + index2 *= attribute.stride; + for (let i = 0, l = this.stride; i < l; i++) { + this.array[index1 + i] = attribute.array[index2 + i]; + } + return this; + } + set(value, offset = 0) { + this.array.set(value, offset); + return this; + } + clone(data) { + if (data.arrayBuffers === void 0) { + data.arrayBuffers = {}; + } + if (this.array.buffer._uuid === void 0) { + this.array.buffer._uuid = generateUUID(); + } + if (data.arrayBuffers[this.array.buffer._uuid] === void 0) { + data.arrayBuffers[this.array.buffer._uuid] = this.array.slice(0).buffer; + } + const array = new this.array.constructor(data.arrayBuffers[this.array.buffer._uuid]); + const ib = new this.constructor(array, this.stride); + ib.setUsage(this.usage); + return ib; + } + onUpload(callback) { + this.onUploadCallback = callback; + return this; + } + toJSON(data) { + if (data.arrayBuffers === void 0) { + data.arrayBuffers = {}; + } + if (this.array.buffer._uuid === void 0) { + this.array.buffer._uuid = generateUUID(); + } + if (data.arrayBuffers[this.array.buffer._uuid] === void 0) { + data.arrayBuffers[this.array.buffer._uuid] = Array.from(new Uint32Array(this.array.buffer)); + } + return { + uuid: this.uuid, + buffer: this.array.buffer._uuid, + type: this.array.constructor.name, + stride: this.stride + }; + } +} +const _vector$6 = /* @__PURE__ */ new Vector3(); +class InterleavedBufferAttribute { + static { + __name(this, "InterleavedBufferAttribute"); + } + constructor(interleavedBuffer, itemSize, offset, normalized = false) { + this.isInterleavedBufferAttribute = true; + this.name = ""; + this.data = interleavedBuffer; + this.itemSize = itemSize; + this.offset = offset; + this.normalized = normalized; + } + get count() { + return this.data.count; + } + get array() { + return this.data.array; + } + set needsUpdate(value) { + this.data.needsUpdate = value; + } + applyMatrix4(m) { + for (let i = 0, l = this.data.count; i < l; i++) { + _vector$6.fromBufferAttribute(this, i); + _vector$6.applyMatrix4(m); + this.setXYZ(i, _vector$6.x, _vector$6.y, _vector$6.z); + } + return this; + } + applyNormalMatrix(m) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$6.fromBufferAttribute(this, i); + _vector$6.applyNormalMatrix(m); + this.setXYZ(i, _vector$6.x, _vector$6.y, _vector$6.z); + } + return this; + } + transformDirection(m) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$6.fromBufferAttribute(this, i); + _vector$6.transformDirection(m); + this.setXYZ(i, _vector$6.x, _vector$6.y, _vector$6.z); + } + return this; + } + getComponent(index, component) { + let value = this.array[index * this.data.stride + this.offset + component]; + if (this.normalized) value = denormalize(value, this.array); + return value; + } + setComponent(index, component, value) { + if (this.normalized) value = normalize(value, this.array); + this.data.array[index * this.data.stride + this.offset + component] = value; + return this; + } + setX(index, x) { + if (this.normalized) x = normalize(x, this.array); + this.data.array[index * this.data.stride + this.offset] = x; + return this; + } + setY(index, y) { + if (this.normalized) y = normalize(y, this.array); + this.data.array[index * this.data.stride + this.offset + 1] = y; + return this; + } + setZ(index, z) { + if (this.normalized) z = normalize(z, this.array); + this.data.array[index * this.data.stride + this.offset + 2] = z; + return this; + } + setW(index, w) { + if (this.normalized) w = normalize(w, this.array); + this.data.array[index * this.data.stride + this.offset + 3] = w; + return this; + } + getX(index) { + let x = this.data.array[index * this.data.stride + this.offset]; + if (this.normalized) x = denormalize(x, this.array); + return x; + } + getY(index) { + let y = this.data.array[index * this.data.stride + this.offset + 1]; + if (this.normalized) y = denormalize(y, this.array); + return y; + } + getZ(index) { + let z = this.data.array[index * this.data.stride + this.offset + 2]; + if (this.normalized) z = denormalize(z, this.array); + return z; + } + getW(index) { + let w = this.data.array[index * this.data.stride + this.offset + 3]; + if (this.normalized) w = denormalize(w, this.array); + return w; + } + setXY(index, x, y) { + index = index * this.data.stride + this.offset; + if (this.normalized) { + x = normalize(x, this.array); + y = normalize(y, this.array); + } + this.data.array[index + 0] = x; + this.data.array[index + 1] = y; + return this; + } + setXYZ(index, x, y, z) { + index = index * this.data.stride + this.offset; + if (this.normalized) { + x = normalize(x, this.array); + y = normalize(y, this.array); + z = normalize(z, this.array); + } + this.data.array[index + 0] = x; + this.data.array[index + 1] = y; + this.data.array[index + 2] = z; + return this; + } + setXYZW(index, x, y, z, w) { + index = index * this.data.stride + this.offset; + if (this.normalized) { + x = normalize(x, this.array); + y = normalize(y, this.array); + z = normalize(z, this.array); + w = normalize(w, this.array); + } + this.data.array[index + 0] = x; + this.data.array[index + 1] = y; + this.data.array[index + 2] = z; + this.data.array[index + 3] = w; + return this; + } + clone(data) { + if (data === void 0) { + console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data."); + const array = []; + for (let i = 0; i < this.count; i++) { + const index = i * this.data.stride + this.offset; + for (let j = 0; j < this.itemSize; j++) { + array.push(this.data.array[index + j]); + } + } + return new BufferAttribute(new this.array.constructor(array), this.itemSize, this.normalized); + } else { + if (data.interleavedBuffers === void 0) { + data.interleavedBuffers = {}; + } + if (data.interleavedBuffers[this.data.uuid] === void 0) { + data.interleavedBuffers[this.data.uuid] = this.data.clone(data); + } + return new InterleavedBufferAttribute(data.interleavedBuffers[this.data.uuid], this.itemSize, this.offset, this.normalized); + } + } + toJSON(data) { + if (data === void 0) { + console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data."); + const array = []; + for (let i = 0; i < this.count; i++) { + const index = i * this.data.stride + this.offset; + for (let j = 0; j < this.itemSize; j++) { + array.push(this.data.array[index + j]); + } + } + return { + itemSize: this.itemSize, + type: this.array.constructor.name, + array, + normalized: this.normalized + }; + } else { + if (data.interleavedBuffers === void 0) { + data.interleavedBuffers = {}; + } + if (data.interleavedBuffers[this.data.uuid] === void 0) { + data.interleavedBuffers[this.data.uuid] = this.data.toJSON(data); + } + return { + isInterleavedBufferAttribute: true, + itemSize: this.itemSize, + data: this.data.uuid, + offset: this.offset, + normalized: this.normalized + }; + } + } +} +class SpriteMaterial extends Material { + static { + __name(this, "SpriteMaterial"); + } + static get type() { + return "SpriteMaterial"; + } + constructor(parameters) { + super(); + this.isSpriteMaterial = true; + this.color = new Color(16777215); + this.map = null; + this.alphaMap = null; + this.rotation = 0; + this.sizeAttenuation = true; + this.transparent = true; + this.fog = true; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.map = source.map; + this.alphaMap = source.alphaMap; + this.rotation = source.rotation; + this.sizeAttenuation = source.sizeAttenuation; + this.fog = source.fog; + return this; + } +} +let _geometry; +const _intersectPoint = /* @__PURE__ */ new Vector3(); +const _worldScale = /* @__PURE__ */ new Vector3(); +const _mvPosition = /* @__PURE__ */ new Vector3(); +const _alignedPosition = /* @__PURE__ */ new Vector2(); +const _rotatedPosition = /* @__PURE__ */ new Vector2(); +const _viewWorldMatrix = /* @__PURE__ */ new Matrix4(); +const _vA$2 = /* @__PURE__ */ new Vector3(); +const _vB$2 = /* @__PURE__ */ new Vector3(); +const _vC$2 = /* @__PURE__ */ new Vector3(); +const _uvA = /* @__PURE__ */ new Vector2(); +const _uvB = /* @__PURE__ */ new Vector2(); +const _uvC = /* @__PURE__ */ new Vector2(); +class Sprite extends Object3D { + static { + __name(this, "Sprite"); + } + constructor(material = new SpriteMaterial()) { + super(); + this.isSprite = true; + this.type = "Sprite"; + if (_geometry === void 0) { + _geometry = new BufferGeometry(); + const float32Array = new Float32Array([ + -0.5, + -0.5, + 0, + 0, + 0, + 0.5, + -0.5, + 0, + 1, + 0, + 0.5, + 0.5, + 0, + 1, + 1, + -0.5, + 0.5, + 0, + 0, + 1 + ]); + const interleavedBuffer = new InterleavedBuffer(float32Array, 5); + _geometry.setIndex([0, 1, 2, 0, 2, 3]); + _geometry.setAttribute("position", new InterleavedBufferAttribute(interleavedBuffer, 3, 0, false)); + _geometry.setAttribute("uv", new InterleavedBufferAttribute(interleavedBuffer, 2, 3, false)); + } + this.geometry = _geometry; + this.material = material; + this.center = new Vector2(0.5, 0.5); + } + raycast(raycaster, intersects2) { + if (raycaster.camera === null) { + console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'); + } + _worldScale.setFromMatrixScale(this.matrixWorld); + _viewWorldMatrix.copy(raycaster.camera.matrixWorld); + this.modelViewMatrix.multiplyMatrices(raycaster.camera.matrixWorldInverse, this.matrixWorld); + _mvPosition.setFromMatrixPosition(this.modelViewMatrix); + if (raycaster.camera.isPerspectiveCamera && this.material.sizeAttenuation === false) { + _worldScale.multiplyScalar(-_mvPosition.z); + } + const rotation = this.material.rotation; + let sin, cos; + if (rotation !== 0) { + cos = Math.cos(rotation); + sin = Math.sin(rotation); + } + const center = this.center; + transformVertex(_vA$2.set(-0.5, -0.5, 0), _mvPosition, center, _worldScale, sin, cos); + transformVertex(_vB$2.set(0.5, -0.5, 0), _mvPosition, center, _worldScale, sin, cos); + transformVertex(_vC$2.set(0.5, 0.5, 0), _mvPosition, center, _worldScale, sin, cos); + _uvA.set(0, 0); + _uvB.set(1, 0); + _uvC.set(1, 1); + let intersect2 = raycaster.ray.intersectTriangle(_vA$2, _vB$2, _vC$2, false, _intersectPoint); + if (intersect2 === null) { + transformVertex(_vB$2.set(-0.5, 0.5, 0), _mvPosition, center, _worldScale, sin, cos); + _uvB.set(0, 1); + intersect2 = raycaster.ray.intersectTriangle(_vA$2, _vC$2, _vB$2, false, _intersectPoint); + if (intersect2 === null) { + return; + } + } + const distance = raycaster.ray.origin.distanceTo(_intersectPoint); + if (distance < raycaster.near || distance > raycaster.far) return; + intersects2.push({ + distance, + point: _intersectPoint.clone(), + uv: Triangle.getInterpolation(_intersectPoint, _vA$2, _vB$2, _vC$2, _uvA, _uvB, _uvC, new Vector2()), + face: null, + object: this + }); + } + copy(source, recursive) { + super.copy(source, recursive); + if (source.center !== void 0) this.center.copy(source.center); + this.material = source.material; + return this; + } +} +function transformVertex(vertexPosition, mvPosition, center, scale, sin, cos) { + _alignedPosition.subVectors(vertexPosition, center).addScalar(0.5).multiply(scale); + if (sin !== void 0) { + _rotatedPosition.x = cos * _alignedPosition.x - sin * _alignedPosition.y; + _rotatedPosition.y = sin * _alignedPosition.x + cos * _alignedPosition.y; + } else { + _rotatedPosition.copy(_alignedPosition); + } + vertexPosition.copy(mvPosition); + vertexPosition.x += _rotatedPosition.x; + vertexPosition.y += _rotatedPosition.y; + vertexPosition.applyMatrix4(_viewWorldMatrix); +} +__name(transformVertex, "transformVertex"); +const _v1$2 = /* @__PURE__ */ new Vector3(); +const _v2$1 = /* @__PURE__ */ new Vector3(); +class LOD extends Object3D { + static { + __name(this, "LOD"); + } + constructor() { + super(); + this._currentLevel = 0; + this.type = "LOD"; + Object.defineProperties(this, { + levels: { + enumerable: true, + value: [] + }, + isLOD: { + value: true + } + }); + this.autoUpdate = true; + } + copy(source) { + super.copy(source, false); + const levels = source.levels; + for (let i = 0, l = levels.length; i < l; i++) { + const level = levels[i]; + this.addLevel(level.object.clone(), level.distance, level.hysteresis); + } + this.autoUpdate = source.autoUpdate; + return this; + } + addLevel(object, distance = 0, hysteresis = 0) { + distance = Math.abs(distance); + const levels = this.levels; + let l; + for (l = 0; l < levels.length; l++) { + if (distance < levels[l].distance) { + break; + } + } + levels.splice(l, 0, { distance, hysteresis, object }); + this.add(object); + return this; + } + removeLevel(distance) { + const levels = this.levels; + for (let i = 0; i < levels.length; i++) { + if (levels[i].distance === distance) { + const removedElements = levels.splice(i, 1); + this.remove(removedElements[0].object); + return true; + } + } + return false; + } + getCurrentLevel() { + return this._currentLevel; + } + getObjectForDistance(distance) { + const levels = this.levels; + if (levels.length > 0) { + let i, l; + for (i = 1, l = levels.length; i < l; i++) { + let levelDistance = levels[i].distance; + if (levels[i].object.visible) { + levelDistance -= levelDistance * levels[i].hysteresis; + } + if (distance < levelDistance) { + break; + } + } + return levels[i - 1].object; + } + return null; + } + raycast(raycaster, intersects2) { + const levels = this.levels; + if (levels.length > 0) { + _v1$2.setFromMatrixPosition(this.matrixWorld); + const distance = raycaster.ray.origin.distanceTo(_v1$2); + this.getObjectForDistance(distance).raycast(raycaster, intersects2); + } + } + update(camera) { + const levels = this.levels; + if (levels.length > 1) { + _v1$2.setFromMatrixPosition(camera.matrixWorld); + _v2$1.setFromMatrixPosition(this.matrixWorld); + const distance = _v1$2.distanceTo(_v2$1) / camera.zoom; + levels[0].object.visible = true; + let i, l; + for (i = 1, l = levels.length; i < l; i++) { + let levelDistance = levels[i].distance; + if (levels[i].object.visible) { + levelDistance -= levelDistance * levels[i].hysteresis; + } + if (distance >= levelDistance) { + levels[i - 1].object.visible = false; + levels[i].object.visible = true; + } else { + break; + } + } + this._currentLevel = i - 1; + for (; i < l; i++) { + levels[i].object.visible = false; + } + } + } + toJSON(meta) { + const data = super.toJSON(meta); + if (this.autoUpdate === false) data.object.autoUpdate = false; + data.object.levels = []; + const levels = this.levels; + for (let i = 0, l = levels.length; i < l; i++) { + const level = levels[i]; + data.object.levels.push({ + object: level.object.uuid, + distance: level.distance, + hysteresis: level.hysteresis + }); + } + return data; + } +} +const _basePosition = /* @__PURE__ */ new Vector3(); +const _skinIndex = /* @__PURE__ */ new Vector4(); +const _skinWeight = /* @__PURE__ */ new Vector4(); +const _vector3 = /* @__PURE__ */ new Vector3(); +const _matrix4 = /* @__PURE__ */ new Matrix4(); +const _vertex = /* @__PURE__ */ new Vector3(); +const _sphere$4 = /* @__PURE__ */ new Sphere(); +const _inverseMatrix$2 = /* @__PURE__ */ new Matrix4(); +const _ray$2 = /* @__PURE__ */ new Ray(); +class SkinnedMesh extends Mesh { + static { + __name(this, "SkinnedMesh"); + } + constructor(geometry, material) { + super(geometry, material); + this.isSkinnedMesh = true; + this.type = "SkinnedMesh"; + this.bindMode = AttachedBindMode; + this.bindMatrix = new Matrix4(); + this.bindMatrixInverse = new Matrix4(); + this.boundingBox = null; + this.boundingSphere = null; + } + computeBoundingBox() { + const geometry = this.geometry; + if (this.boundingBox === null) { + this.boundingBox = new Box3(); + } + this.boundingBox.makeEmpty(); + const positionAttribute = geometry.getAttribute("position"); + for (let i = 0; i < positionAttribute.count; i++) { + this.getVertexPosition(i, _vertex); + this.boundingBox.expandByPoint(_vertex); + } + } + computeBoundingSphere() { + const geometry = this.geometry; + if (this.boundingSphere === null) { + this.boundingSphere = new Sphere(); + } + this.boundingSphere.makeEmpty(); + const positionAttribute = geometry.getAttribute("position"); + for (let i = 0; i < positionAttribute.count; i++) { + this.getVertexPosition(i, _vertex); + this.boundingSphere.expandByPoint(_vertex); + } + } + copy(source, recursive) { + super.copy(source, recursive); + this.bindMode = source.bindMode; + this.bindMatrix.copy(source.bindMatrix); + this.bindMatrixInverse.copy(source.bindMatrixInverse); + this.skeleton = source.skeleton; + if (source.boundingBox !== null) this.boundingBox = source.boundingBox.clone(); + if (source.boundingSphere !== null) this.boundingSphere = source.boundingSphere.clone(); + return this; + } + raycast(raycaster, intersects2) { + const material = this.material; + const matrixWorld = this.matrixWorld; + if (material === void 0) return; + if (this.boundingSphere === null) this.computeBoundingSphere(); + _sphere$4.copy(this.boundingSphere); + _sphere$4.applyMatrix4(matrixWorld); + if (raycaster.ray.intersectsSphere(_sphere$4) === false) return; + _inverseMatrix$2.copy(matrixWorld).invert(); + _ray$2.copy(raycaster.ray).applyMatrix4(_inverseMatrix$2); + if (this.boundingBox !== null) { + if (_ray$2.intersectsBox(this.boundingBox) === false) return; + } + this._computeIntersections(raycaster, intersects2, _ray$2); + } + getVertexPosition(index, target) { + super.getVertexPosition(index, target); + this.applyBoneTransform(index, target); + return target; + } + bind(skeleton, bindMatrix) { + this.skeleton = skeleton; + if (bindMatrix === void 0) { + this.updateMatrixWorld(true); + this.skeleton.calculateInverses(); + bindMatrix = this.matrixWorld; + } + this.bindMatrix.copy(bindMatrix); + this.bindMatrixInverse.copy(bindMatrix).invert(); + } + pose() { + this.skeleton.pose(); + } + normalizeSkinWeights() { + const vector = new Vector4(); + const skinWeight = this.geometry.attributes.skinWeight; + for (let i = 0, l = skinWeight.count; i < l; i++) { + vector.fromBufferAttribute(skinWeight, i); + const scale = 1 / vector.manhattanLength(); + if (scale !== Infinity) { + vector.multiplyScalar(scale); + } else { + vector.set(1, 0, 0, 0); + } + skinWeight.setXYZW(i, vector.x, vector.y, vector.z, vector.w); + } + } + updateMatrixWorld(force) { + super.updateMatrixWorld(force); + if (this.bindMode === AttachedBindMode) { + this.bindMatrixInverse.copy(this.matrixWorld).invert(); + } else if (this.bindMode === DetachedBindMode) { + this.bindMatrixInverse.copy(this.bindMatrix).invert(); + } else { + console.warn("THREE.SkinnedMesh: Unrecognized bindMode: " + this.bindMode); + } + } + applyBoneTransform(index, vector) { + const skeleton = this.skeleton; + const geometry = this.geometry; + _skinIndex.fromBufferAttribute(geometry.attributes.skinIndex, index); + _skinWeight.fromBufferAttribute(geometry.attributes.skinWeight, index); + _basePosition.copy(vector).applyMatrix4(this.bindMatrix); + vector.set(0, 0, 0); + for (let i = 0; i < 4; i++) { + const weight = _skinWeight.getComponent(i); + if (weight !== 0) { + const boneIndex = _skinIndex.getComponent(i); + _matrix4.multiplyMatrices(skeleton.bones[boneIndex].matrixWorld, skeleton.boneInverses[boneIndex]); + vector.addScaledVector(_vector3.copy(_basePosition).applyMatrix4(_matrix4), weight); + } + } + return vector.applyMatrix4(this.bindMatrixInverse); + } +} +class Bone extends Object3D { + static { + __name(this, "Bone"); + } + constructor() { + super(); + this.isBone = true; + this.type = "Bone"; + } +} +class DataTexture extends Texture { + static { + __name(this, "DataTexture"); + } + constructor(data = null, width = 1, height = 1, format, type, mapping, wrapS, wrapT, magFilter = NearestFilter, minFilter = NearestFilter, anisotropy, colorSpace) { + super(null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, colorSpace); + this.isDataTexture = true; + this.image = { data, width, height }; + this.generateMipmaps = false; + this.flipY = false; + this.unpackAlignment = 1; + } +} +const _offsetMatrix = /* @__PURE__ */ new Matrix4(); +const _identityMatrix$1 = /* @__PURE__ */ new Matrix4(); +class Skeleton { + static { + __name(this, "Skeleton"); + } + constructor(bones = [], boneInverses = []) { + this.uuid = generateUUID(); + this.bones = bones.slice(0); + this.boneInverses = boneInverses; + this.boneMatrices = null; + this.boneTexture = null; + this.init(); + } + init() { + const bones = this.bones; + const boneInverses = this.boneInverses; + this.boneMatrices = new Float32Array(bones.length * 16); + if (boneInverses.length === 0) { + this.calculateInverses(); + } else { + if (bones.length !== boneInverses.length) { + console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."); + this.boneInverses = []; + for (let i = 0, il = this.bones.length; i < il; i++) { + this.boneInverses.push(new Matrix4()); + } + } + } + } + calculateInverses() { + this.boneInverses.length = 0; + for (let i = 0, il = this.bones.length; i < il; i++) { + const inverse = new Matrix4(); + if (this.bones[i]) { + inverse.copy(this.bones[i].matrixWorld).invert(); + } + this.boneInverses.push(inverse); + } + } + pose() { + for (let i = 0, il = this.bones.length; i < il; i++) { + const bone = this.bones[i]; + if (bone) { + bone.matrixWorld.copy(this.boneInverses[i]).invert(); + } + } + for (let i = 0, il = this.bones.length; i < il; i++) { + const bone = this.bones[i]; + if (bone) { + if (bone.parent && bone.parent.isBone) { + bone.matrix.copy(bone.parent.matrixWorld).invert(); + bone.matrix.multiply(bone.matrixWorld); + } else { + bone.matrix.copy(bone.matrixWorld); + } + bone.matrix.decompose(bone.position, bone.quaternion, bone.scale); + } + } + } + update() { + const bones = this.bones; + const boneInverses = this.boneInverses; + const boneMatrices = this.boneMatrices; + const boneTexture = this.boneTexture; + for (let i = 0, il = bones.length; i < il; i++) { + const matrix = bones[i] ? bones[i].matrixWorld : _identityMatrix$1; + _offsetMatrix.multiplyMatrices(matrix, boneInverses[i]); + _offsetMatrix.toArray(boneMatrices, i * 16); + } + if (boneTexture !== null) { + boneTexture.needsUpdate = true; + } + } + clone() { + return new Skeleton(this.bones, this.boneInverses); + } + computeBoneTexture() { + let size = Math.sqrt(this.bones.length * 4); + size = Math.ceil(size / 4) * 4; + size = Math.max(size, 4); + const boneMatrices = new Float32Array(size * size * 4); + boneMatrices.set(this.boneMatrices); + const boneTexture = new DataTexture(boneMatrices, size, size, RGBAFormat, FloatType); + boneTexture.needsUpdate = true; + this.boneMatrices = boneMatrices; + this.boneTexture = boneTexture; + return this; + } + getBoneByName(name) { + for (let i = 0, il = this.bones.length; i < il; i++) { + const bone = this.bones[i]; + if (bone.name === name) { + return bone; + } + } + return void 0; + } + dispose() { + if (this.boneTexture !== null) { + this.boneTexture.dispose(); + this.boneTexture = null; + } + } + fromJSON(json, bones) { + this.uuid = json.uuid; + for (let i = 0, l = json.bones.length; i < l; i++) { + const uuid = json.bones[i]; + let bone = bones[uuid]; + if (bone === void 0) { + console.warn("THREE.Skeleton: No bone found with UUID:", uuid); + bone = new Bone(); + } + this.bones.push(bone); + this.boneInverses.push(new Matrix4().fromArray(json.boneInverses[i])); + } + this.init(); + return this; + } + toJSON() { + const data = { + metadata: { + version: 4.6, + type: "Skeleton", + generator: "Skeleton.toJSON" + }, + bones: [], + boneInverses: [] + }; + data.uuid = this.uuid; + const bones = this.bones; + const boneInverses = this.boneInverses; + for (let i = 0, l = bones.length; i < l; i++) { + const bone = bones[i]; + data.bones.push(bone.uuid); + const boneInverse = boneInverses[i]; + data.boneInverses.push(boneInverse.toArray()); + } + return data; + } +} +class InstancedBufferAttribute extends BufferAttribute { + static { + __name(this, "InstancedBufferAttribute"); + } + constructor(array, itemSize, normalized, meshPerAttribute = 1) { + super(array, itemSize, normalized); + this.isInstancedBufferAttribute = true; + this.meshPerAttribute = meshPerAttribute; + } + copy(source) { + super.copy(source); + this.meshPerAttribute = source.meshPerAttribute; + return this; + } + toJSON() { + const data = super.toJSON(); + data.meshPerAttribute = this.meshPerAttribute; + data.isInstancedBufferAttribute = true; + return data; + } +} +const _instanceLocalMatrix = /* @__PURE__ */ new Matrix4(); +const _instanceWorldMatrix = /* @__PURE__ */ new Matrix4(); +const _instanceIntersects = []; +const _box3 = /* @__PURE__ */ new Box3(); +const _identity = /* @__PURE__ */ new Matrix4(); +const _mesh$1 = /* @__PURE__ */ new Mesh(); +const _sphere$3 = /* @__PURE__ */ new Sphere(); +class InstancedMesh extends Mesh { + static { + __name(this, "InstancedMesh"); + } + constructor(geometry, material, count) { + super(geometry, material); + this.isInstancedMesh = true; + this.instanceMatrix = new InstancedBufferAttribute(new Float32Array(count * 16), 16); + this.instanceColor = null; + this.morphTexture = null; + this.count = count; + this.boundingBox = null; + this.boundingSphere = null; + for (let i = 0; i < count; i++) { + this.setMatrixAt(i, _identity); + } + } + computeBoundingBox() { + const geometry = this.geometry; + const count = this.count; + if (this.boundingBox === null) { + this.boundingBox = new Box3(); + } + if (geometry.boundingBox === null) { + geometry.computeBoundingBox(); + } + this.boundingBox.makeEmpty(); + for (let i = 0; i < count; i++) { + this.getMatrixAt(i, _instanceLocalMatrix); + _box3.copy(geometry.boundingBox).applyMatrix4(_instanceLocalMatrix); + this.boundingBox.union(_box3); + } + } + computeBoundingSphere() { + const geometry = this.geometry; + const count = this.count; + if (this.boundingSphere === null) { + this.boundingSphere = new Sphere(); + } + if (geometry.boundingSphere === null) { + geometry.computeBoundingSphere(); + } + this.boundingSphere.makeEmpty(); + for (let i = 0; i < count; i++) { + this.getMatrixAt(i, _instanceLocalMatrix); + _sphere$3.copy(geometry.boundingSphere).applyMatrix4(_instanceLocalMatrix); + this.boundingSphere.union(_sphere$3); + } + } + copy(source, recursive) { + super.copy(source, recursive); + this.instanceMatrix.copy(source.instanceMatrix); + if (source.morphTexture !== null) this.morphTexture = source.morphTexture.clone(); + if (source.instanceColor !== null) this.instanceColor = source.instanceColor.clone(); + this.count = source.count; + if (source.boundingBox !== null) this.boundingBox = source.boundingBox.clone(); + if (source.boundingSphere !== null) this.boundingSphere = source.boundingSphere.clone(); + return this; + } + getColorAt(index, color) { + color.fromArray(this.instanceColor.array, index * 3); + } + getMatrixAt(index, matrix) { + matrix.fromArray(this.instanceMatrix.array, index * 16); + } + getMorphAt(index, object) { + const objectInfluences = object.morphTargetInfluences; + const array = this.morphTexture.source.data.data; + const len = objectInfluences.length + 1; + const dataIndex = index * len + 1; + for (let i = 0; i < objectInfluences.length; i++) { + objectInfluences[i] = array[dataIndex + i]; + } + } + raycast(raycaster, intersects2) { + const matrixWorld = this.matrixWorld; + const raycastTimes = this.count; + _mesh$1.geometry = this.geometry; + _mesh$1.material = this.material; + if (_mesh$1.material === void 0) return; + if (this.boundingSphere === null) this.computeBoundingSphere(); + _sphere$3.copy(this.boundingSphere); + _sphere$3.applyMatrix4(matrixWorld); + if (raycaster.ray.intersectsSphere(_sphere$3) === false) return; + for (let instanceId = 0; instanceId < raycastTimes; instanceId++) { + this.getMatrixAt(instanceId, _instanceLocalMatrix); + _instanceWorldMatrix.multiplyMatrices(matrixWorld, _instanceLocalMatrix); + _mesh$1.matrixWorld = _instanceWorldMatrix; + _mesh$1.raycast(raycaster, _instanceIntersects); + for (let i = 0, l = _instanceIntersects.length; i < l; i++) { + const intersect2 = _instanceIntersects[i]; + intersect2.instanceId = instanceId; + intersect2.object = this; + intersects2.push(intersect2); + } + _instanceIntersects.length = 0; + } + } + setColorAt(index, color) { + if (this.instanceColor === null) { + this.instanceColor = new InstancedBufferAttribute(new Float32Array(this.instanceMatrix.count * 3).fill(1), 3); + } + color.toArray(this.instanceColor.array, index * 3); + } + setMatrixAt(index, matrix) { + matrix.toArray(this.instanceMatrix.array, index * 16); + } + setMorphAt(index, object) { + const objectInfluences = object.morphTargetInfluences; + const len = objectInfluences.length + 1; + if (this.morphTexture === null) { + this.morphTexture = new DataTexture(new Float32Array(len * this.count), len, this.count, RedFormat, FloatType); + } + const array = this.morphTexture.source.data.data; + let morphInfluencesSum = 0; + for (let i = 0; i < objectInfluences.length; i++) { + morphInfluencesSum += objectInfluences[i]; + } + const morphBaseInfluence = this.geometry.morphTargetsRelative ? 1 : 1 - morphInfluencesSum; + const dataIndex = len * index; + array[dataIndex] = morphBaseInfluence; + array.set(objectInfluences, dataIndex + 1); + } + updateMorphTargets() { + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + if (this.morphTexture !== null) { + this.morphTexture.dispose(); + this.morphTexture = null; + } + return this; + } +} +function ascIdSort(a, b) { + return a - b; +} +__name(ascIdSort, "ascIdSort"); +function sortOpaque(a, b) { + return a.z - b.z; +} +__name(sortOpaque, "sortOpaque"); +function sortTransparent(a, b) { + return b.z - a.z; +} +__name(sortTransparent, "sortTransparent"); +class MultiDrawRenderList { + static { + __name(this, "MultiDrawRenderList"); + } + constructor() { + this.index = 0; + this.pool = []; + this.list = []; + } + push(start, count, z, index) { + const pool = this.pool; + const list = this.list; + if (this.index >= pool.length) { + pool.push({ + start: -1, + count: -1, + z: -1, + index: -1 + }); + } + const item = pool[this.index]; + list.push(item); + this.index++; + item.start = start; + item.count = count; + item.z = z; + item.index = index; + } + reset() { + this.list.length = 0; + this.index = 0; + } +} +const _matrix$1 = /* @__PURE__ */ new Matrix4(); +const _whiteColor = /* @__PURE__ */ new Color(1, 1, 1); +const _frustum = /* @__PURE__ */ new Frustum(); +const _box$1 = /* @__PURE__ */ new Box3(); +const _sphere$2 = /* @__PURE__ */ new Sphere(); +const _vector$5 = /* @__PURE__ */ new Vector3(); +const _forward = /* @__PURE__ */ new Vector3(); +const _temp = /* @__PURE__ */ new Vector3(); +const _renderList = /* @__PURE__ */ new MultiDrawRenderList(); +const _mesh = /* @__PURE__ */ new Mesh(); +const _batchIntersects = []; +function copyAttributeData(src, target, targetOffset = 0) { + const itemSize = target.itemSize; + if (src.isInterleavedBufferAttribute || src.array.constructor !== target.array.constructor) { + const vertexCount = src.count; + for (let i = 0; i < vertexCount; i++) { + for (let c = 0; c < itemSize; c++) { + target.setComponent(i + targetOffset, c, src.getComponent(i, c)); + } + } + } else { + target.array.set(src.array, targetOffset * itemSize); + } + target.needsUpdate = true; +} +__name(copyAttributeData, "copyAttributeData"); +function copyArrayContents(src, target) { + if (src.constructor !== target.constructor) { + const len = Math.min(src.length, target.length); + for (let i = 0; i < len; i++) { + target[i] = src[i]; + } + } else { + const len = Math.min(src.length, target.length); + target.set(new src.constructor(src.buffer, 0, len)); + } +} +__name(copyArrayContents, "copyArrayContents"); +class BatchedMesh extends Mesh { + static { + __name(this, "BatchedMesh"); + } + get maxInstanceCount() { + return this._maxInstanceCount; + } + get instanceCount() { + return this._instanceInfo.length - this._availableInstanceIds.length; + } + get unusedVertexCount() { + return this._maxVertexCount - this._nextVertexStart; + } + get unusedIndexCount() { + return this._maxIndexCount - this._nextIndexStart; + } + constructor(maxInstanceCount, maxVertexCount, maxIndexCount = maxVertexCount * 2, material) { + super(new BufferGeometry(), material); + this.isBatchedMesh = true; + this.perObjectFrustumCulled = true; + this.sortObjects = true; + this.boundingBox = null; + this.boundingSphere = null; + this.customSort = null; + this._instanceInfo = []; + this._geometryInfo = []; + this._availableInstanceIds = []; + this._availableGeometryIds = []; + this._nextIndexStart = 0; + this._nextVertexStart = 0; + this._geometryCount = 0; + this._visibilityChanged = true; + this._geometryInitialized = false; + this._maxInstanceCount = maxInstanceCount; + this._maxVertexCount = maxVertexCount; + this._maxIndexCount = maxIndexCount; + this._multiDrawCounts = new Int32Array(maxInstanceCount); + this._multiDrawStarts = new Int32Array(maxInstanceCount); + this._multiDrawCount = 0; + this._multiDrawInstances = null; + this._matricesTexture = null; + this._indirectTexture = null; + this._colorsTexture = null; + this._initMatricesTexture(); + this._initIndirectTexture(); + } + _initMatricesTexture() { + let size = Math.sqrt(this._maxInstanceCount * 4); + size = Math.ceil(size / 4) * 4; + size = Math.max(size, 4); + const matricesArray = new Float32Array(size * size * 4); + const matricesTexture = new DataTexture(matricesArray, size, size, RGBAFormat, FloatType); + this._matricesTexture = matricesTexture; + } + _initIndirectTexture() { + let size = Math.sqrt(this._maxInstanceCount); + size = Math.ceil(size); + const indirectArray = new Uint32Array(size * size); + const indirectTexture = new DataTexture(indirectArray, size, size, RedIntegerFormat, UnsignedIntType); + this._indirectTexture = indirectTexture; + } + _initColorsTexture() { + let size = Math.sqrt(this._maxInstanceCount); + size = Math.ceil(size); + const colorsArray = new Float32Array(size * size * 4).fill(1); + const colorsTexture = new DataTexture(colorsArray, size, size, RGBAFormat, FloatType); + colorsTexture.colorSpace = ColorManagement.workingColorSpace; + this._colorsTexture = colorsTexture; + } + _initializeGeometry(reference) { + const geometry = this.geometry; + const maxVertexCount = this._maxVertexCount; + const maxIndexCount = this._maxIndexCount; + if (this._geometryInitialized === false) { + for (const attributeName in reference.attributes) { + const srcAttribute = reference.getAttribute(attributeName); + const { array, itemSize, normalized } = srcAttribute; + const dstArray = new array.constructor(maxVertexCount * itemSize); + const dstAttribute = new BufferAttribute(dstArray, itemSize, normalized); + geometry.setAttribute(attributeName, dstAttribute); + } + if (reference.getIndex() !== null) { + const indexArray = maxVertexCount > 65535 ? new Uint32Array(maxIndexCount) : new Uint16Array(maxIndexCount); + geometry.setIndex(new BufferAttribute(indexArray, 1)); + } + this._geometryInitialized = true; + } + } + // Make sure the geometry is compatible with the existing combined geometry attributes + _validateGeometry(geometry) { + const batchGeometry = this.geometry; + if (Boolean(geometry.getIndex()) !== Boolean(batchGeometry.getIndex())) { + throw new Error('BatchedMesh: All geometries must consistently have "index".'); + } + for (const attributeName in batchGeometry.attributes) { + if (!geometry.hasAttribute(attributeName)) { + throw new Error(`BatchedMesh: Added geometry missing "${attributeName}". All geometries must have consistent attributes.`); + } + const srcAttribute = geometry.getAttribute(attributeName); + const dstAttribute = batchGeometry.getAttribute(attributeName); + if (srcAttribute.itemSize !== dstAttribute.itemSize || srcAttribute.normalized !== dstAttribute.normalized) { + throw new Error("BatchedMesh: All attributes must have a consistent itemSize and normalized value."); + } + } + } + setCustomSort(func) { + this.customSort = func; + return this; + } + computeBoundingBox() { + if (this.boundingBox === null) { + this.boundingBox = new Box3(); + } + const boundingBox = this.boundingBox; + const instanceInfo = this._instanceInfo; + boundingBox.makeEmpty(); + for (let i = 0, l = instanceInfo.length; i < l; i++) { + if (instanceInfo[i].active === false) continue; + const geometryId = instanceInfo[i].geometryIndex; + this.getMatrixAt(i, _matrix$1); + this.getBoundingBoxAt(geometryId, _box$1).applyMatrix4(_matrix$1); + boundingBox.union(_box$1); + } + } + computeBoundingSphere() { + if (this.boundingSphere === null) { + this.boundingSphere = new Sphere(); + } + const boundingSphere = this.boundingSphere; + const instanceInfo = this._instanceInfo; + boundingSphere.makeEmpty(); + for (let i = 0, l = instanceInfo.length; i < l; i++) { + if (instanceInfo[i].active === false) continue; + const geometryId = instanceInfo[i].geometryIndex; + this.getMatrixAt(i, _matrix$1); + this.getBoundingSphereAt(geometryId, _sphere$2).applyMatrix4(_matrix$1); + boundingSphere.union(_sphere$2); + } + } + addInstance(geometryId) { + const atCapacity = this._instanceInfo.length >= this.maxInstanceCount; + if (atCapacity && this._availableInstanceIds.length === 0) { + throw new Error("BatchedMesh: Maximum item count reached."); + } + const instanceInfo = { + visible: true, + active: true, + geometryIndex: geometryId + }; + let drawId = null; + if (this._availableInstanceIds.length > 0) { + this._availableInstanceIds.sort(ascIdSort); + drawId = this._availableInstanceIds.shift(); + this._instanceInfo[drawId] = instanceInfo; + } else { + drawId = this._instanceInfo.length; + this._instanceInfo.push(instanceInfo); + } + const matricesTexture = this._matricesTexture; + _matrix$1.identity().toArray(matricesTexture.image.data, drawId * 16); + matricesTexture.needsUpdate = true; + const colorsTexture = this._colorsTexture; + if (colorsTexture) { + _whiteColor.toArray(colorsTexture.image.data, drawId * 4); + colorsTexture.needsUpdate = true; + } + this._visibilityChanged = true; + return drawId; + } + addGeometry(geometry, reservedVertexCount = -1, reservedIndexCount = -1) { + this._initializeGeometry(geometry); + this._validateGeometry(geometry); + const geometryInfo = { + // geometry information + vertexStart: -1, + vertexCount: -1, + reservedVertexCount: -1, + indexStart: -1, + indexCount: -1, + reservedIndexCount: -1, + // draw range information + start: -1, + count: -1, + // state + boundingBox: null, + boundingSphere: null, + active: true + }; + const geometryInfoList = this._geometryInfo; + geometryInfo.vertexStart = this._nextVertexStart; + geometryInfo.reservedVertexCount = reservedVertexCount === -1 ? geometry.getAttribute("position").count : reservedVertexCount; + const index = geometry.getIndex(); + const hasIndex = index !== null; + if (hasIndex) { + geometryInfo.indexStart = this._nextIndexStart; + geometryInfo.reservedIndexCount = reservedIndexCount === -1 ? index.count : reservedIndexCount; + } + if (geometryInfo.indexStart !== -1 && geometryInfo.indexStart + geometryInfo.reservedIndexCount > this._maxIndexCount || geometryInfo.vertexStart + geometryInfo.reservedVertexCount > this._maxVertexCount) { + throw new Error("BatchedMesh: Reserved space request exceeds the maximum buffer size."); + } + let geometryId; + if (this._availableGeometryIds.length > 0) { + this._availableGeometryIds.sort(ascIdSort); + geometryId = this._availableGeometryIds.shift(); + geometryInfoList[geometryId] = geometryInfo; + } else { + geometryId = this._geometryCount; + this._geometryCount++; + geometryInfoList.push(geometryInfo); + } + this.setGeometryAt(geometryId, geometry); + this._nextIndexStart = geometryInfo.indexStart + geometryInfo.reservedIndexCount; + this._nextVertexStart = geometryInfo.vertexStart + geometryInfo.reservedVertexCount; + return geometryId; + } + setGeometryAt(geometryId, geometry) { + if (geometryId >= this._geometryCount) { + throw new Error("BatchedMesh: Maximum geometry count reached."); + } + this._validateGeometry(geometry); + const batchGeometry = this.geometry; + const hasIndex = batchGeometry.getIndex() !== null; + const dstIndex = batchGeometry.getIndex(); + const srcIndex = geometry.getIndex(); + const geometryInfo = this._geometryInfo[geometryId]; + if (hasIndex && srcIndex.count > geometryInfo.reservedIndexCount || geometry.attributes.position.count > geometryInfo.reservedVertexCount) { + throw new Error("BatchedMesh: Reserved space not large enough for provided geometry."); + } + const vertexStart = geometryInfo.vertexStart; + const reservedVertexCount = geometryInfo.reservedVertexCount; + geometryInfo.vertexCount = geometry.getAttribute("position").count; + for (const attributeName in batchGeometry.attributes) { + const srcAttribute = geometry.getAttribute(attributeName); + const dstAttribute = batchGeometry.getAttribute(attributeName); + copyAttributeData(srcAttribute, dstAttribute, vertexStart); + const itemSize = srcAttribute.itemSize; + for (let i = srcAttribute.count, l = reservedVertexCount; i < l; i++) { + const index = vertexStart + i; + for (let c = 0; c < itemSize; c++) { + dstAttribute.setComponent(index, c, 0); + } + } + dstAttribute.needsUpdate = true; + dstAttribute.addUpdateRange(vertexStart * itemSize, reservedVertexCount * itemSize); + } + if (hasIndex) { + const indexStart = geometryInfo.indexStart; + const reservedIndexCount = geometryInfo.reservedIndexCount; + geometryInfo.indexCount = geometry.getIndex().count; + for (let i = 0; i < srcIndex.count; i++) { + dstIndex.setX(indexStart + i, vertexStart + srcIndex.getX(i)); + } + for (let i = srcIndex.count, l = reservedIndexCount; i < l; i++) { + dstIndex.setX(indexStart + i, vertexStart); + } + dstIndex.needsUpdate = true; + dstIndex.addUpdateRange(indexStart, geometryInfo.reservedIndexCount); + } + geometryInfo.start = hasIndex ? geometryInfo.indexStart : geometryInfo.vertexStart; + geometryInfo.count = hasIndex ? geometryInfo.indexCount : geometryInfo.vertexCount; + geometryInfo.boundingBox = null; + if (geometry.boundingBox !== null) { + geometryInfo.boundingBox = geometry.boundingBox.clone(); + } + geometryInfo.boundingSphere = null; + if (geometry.boundingSphere !== null) { + geometryInfo.boundingSphere = geometry.boundingSphere.clone(); + } + this._visibilityChanged = true; + return geometryId; + } + deleteGeometry(geometryId) { + const geometryInfoList = this._geometryInfo; + if (geometryId >= geometryInfoList.length || geometryInfoList[geometryId].active === false) { + return this; + } + const instanceInfo = this._instanceInfo; + for (let i = 0, l = instanceInfo.length; i < l; i++) { + if (instanceInfo[i].geometryIndex === geometryId) { + this.deleteInstance(i); + } + } + geometryInfoList[geometryId].active = false; + this._availableGeometryIds.push(geometryId); + this._visibilityChanged = true; + return this; + } + deleteInstance(instanceId) { + const instanceInfo = this._instanceInfo; + if (instanceId >= instanceInfo.length || instanceInfo[instanceId].active === false) { + return this; + } + instanceInfo[instanceId].active = false; + this._availableInstanceIds.push(instanceId); + this._visibilityChanged = true; + return this; + } + optimize() { + let nextVertexStart = 0; + let nextIndexStart = 0; + const geometryInfoList = this._geometryInfo; + const indices = geometryInfoList.map((e, i) => i).sort((a, b) => { + return geometryInfoList[a].vertexStart - geometryInfoList[b].vertexStart; + }); + const geometry = this.geometry; + for (let i = 0, l = geometryInfoList.length; i < l; i++) { + const index = indices[i]; + const geometryInfo = geometryInfoList[index]; + if (geometryInfo.active === false) { + continue; + } + if (geometry.index !== null) { + if (geometryInfo.indexStart !== nextIndexStart) { + const { indexStart, vertexStart, reservedIndexCount } = geometryInfo; + const index2 = geometry.index; + const array = index2.array; + const elementDelta = nextVertexStart - vertexStart; + for (let j = indexStart; j < indexStart + reservedIndexCount; j++) { + array[j] = array[j] + elementDelta; + } + index2.array.copyWithin(nextIndexStart, indexStart, indexStart + reservedIndexCount); + index2.addUpdateRange(nextIndexStart, reservedIndexCount); + geometryInfo.indexStart = nextIndexStart; + } + nextIndexStart += geometryInfo.reservedIndexCount; + } + if (geometryInfo.vertexStart !== nextVertexStart) { + const { vertexStart, reservedVertexCount } = geometryInfo; + const attributes = geometry.attributes; + for (const key in attributes) { + const attribute = attributes[key]; + const { array, itemSize } = attribute; + array.copyWithin(nextVertexStart * itemSize, vertexStart * itemSize, (vertexStart + reservedVertexCount) * itemSize); + attribute.addUpdateRange(nextVertexStart * itemSize, reservedVertexCount * itemSize); + } + geometryInfo.vertexStart = nextVertexStart; + } + nextVertexStart += geometryInfo.reservedVertexCount; + geometryInfo.start = geometry.index ? geometryInfo.indexStart : geometryInfo.vertexStart; + this._nextIndexStart = geometry.index ? geometryInfo.indexStart + geometryInfo.reservedIndexCount : 0; + this._nextVertexStart = geometryInfo.vertexStart + geometryInfo.reservedVertexCount; + } + return this; + } + // get bounding box and compute it if it doesn't exist + getBoundingBoxAt(geometryId, target) { + if (geometryId >= this._geometryCount) { + return null; + } + const geometry = this.geometry; + const geometryInfo = this._geometryInfo[geometryId]; + if (geometryInfo.boundingBox === null) { + const box = new Box3(); + const index = geometry.index; + const position = geometry.attributes.position; + for (let i = geometryInfo.start, l = geometryInfo.start + geometryInfo.count; i < l; i++) { + let iv = i; + if (index) { + iv = index.getX(iv); + } + box.expandByPoint(_vector$5.fromBufferAttribute(position, iv)); + } + geometryInfo.boundingBox = box; + } + target.copy(geometryInfo.boundingBox); + return target; + } + // get bounding sphere and compute it if it doesn't exist + getBoundingSphereAt(geometryId, target) { + if (geometryId >= this._geometryCount) { + return null; + } + const geometry = this.geometry; + const geometryInfo = this._geometryInfo[geometryId]; + if (geometryInfo.boundingSphere === null) { + const sphere = new Sphere(); + this.getBoundingBoxAt(geometryId, _box$1); + _box$1.getCenter(sphere.center); + const index = geometry.index; + const position = geometry.attributes.position; + let maxRadiusSq = 0; + for (let i = geometryInfo.start, l = geometryInfo.start + geometryInfo.count; i < l; i++) { + let iv = i; + if (index) { + iv = index.getX(iv); + } + _vector$5.fromBufferAttribute(position, iv); + maxRadiusSq = Math.max(maxRadiusSq, sphere.center.distanceToSquared(_vector$5)); + } + sphere.radius = Math.sqrt(maxRadiusSq); + geometryInfo.boundingSphere = sphere; + } + target.copy(geometryInfo.boundingSphere); + return target; + } + setMatrixAt(instanceId, matrix) { + const instanceInfo = this._instanceInfo; + const matricesTexture = this._matricesTexture; + const matricesArray = this._matricesTexture.image.data; + if (instanceId >= instanceInfo.length || instanceInfo[instanceId].active === false) { + return this; + } + matrix.toArray(matricesArray, instanceId * 16); + matricesTexture.needsUpdate = true; + return this; + } + getMatrixAt(instanceId, matrix) { + const instanceInfo = this._instanceInfo; + const matricesArray = this._matricesTexture.image.data; + if (instanceId >= instanceInfo.length || instanceInfo[instanceId].active === false) { + return null; + } + return matrix.fromArray(matricesArray, instanceId * 16); + } + setColorAt(instanceId, color) { + if (this._colorsTexture === null) { + this._initColorsTexture(); + } + const colorsTexture = this._colorsTexture; + const colorsArray = this._colorsTexture.image.data; + const instanceInfo = this._instanceInfo; + if (instanceId >= instanceInfo.length || instanceInfo[instanceId].active === false) { + return this; + } + color.toArray(colorsArray, instanceId * 4); + colorsTexture.needsUpdate = true; + return this; + } + getColorAt(instanceId, color) { + const colorsArray = this._colorsTexture.image.data; + const instanceInfo = this._instanceInfo; + if (instanceId >= instanceInfo.length || instanceInfo[instanceId].active === false) { + return null; + } + return color.fromArray(colorsArray, instanceId * 4); + } + setVisibleAt(instanceId, value) { + const instanceInfo = this._instanceInfo; + if (instanceId >= instanceInfo.length || instanceInfo[instanceId].active === false || instanceInfo[instanceId].visible === value) { + return this; + } + instanceInfo[instanceId].visible = value; + this._visibilityChanged = true; + return this; + } + getVisibleAt(instanceId) { + const instanceInfo = this._instanceInfo; + if (instanceId >= instanceInfo.length || instanceInfo[instanceId].active === false) { + return false; + } + return instanceInfo[instanceId].visible; + } + setGeometryIdAt(instanceId, geometryId) { + const instanceInfo = this._instanceInfo; + const geometryInfoList = this._geometryInfo; + if (instanceId >= instanceInfo.length || instanceInfo[instanceId].active === false) { + return null; + } + if (geometryId >= geometryInfoList.length || geometryInfoList[geometryId].active === false) { + return null; + } + instanceInfo[instanceId].geometryIndex = geometryId; + return this; + } + getGeometryIdAt(instanceId) { + const instanceInfo = this._instanceInfo; + if (instanceId >= instanceInfo.length || instanceInfo[instanceId].active === false) { + return -1; + } + return instanceInfo[instanceId].geometryIndex; + } + getGeometryRangeAt(geometryId, target = {}) { + if (geometryId < 0 || geometryId >= this._geometryCount) { + return null; + } + const geometryInfo = this._geometryInfo[geometryId]; + target.vertexStart = geometryInfo.vertexStart; + target.vertexCount = geometryInfo.vertexCount; + target.reservedVertexCount = geometryInfo.reservedVertexCount; + target.indexStart = geometryInfo.indexStart; + target.indexCount = geometryInfo.indexCount; + target.reservedIndexCount = geometryInfo.reservedIndexCount; + target.start = geometryInfo.start; + target.count = geometryInfo.count; + return target; + } + setInstanceCount(maxInstanceCount) { + const availableInstanceIds = this._availableInstanceIds; + const instanceInfo = this._instanceInfo; + availableInstanceIds.sort(ascIdSort); + while (availableInstanceIds[availableInstanceIds.length - 1] === instanceInfo.length) { + instanceInfo.pop(); + availableInstanceIds.pop(); + } + if (maxInstanceCount < instanceInfo.length) { + throw new Error(`BatchedMesh: Instance ids outside the range ${maxInstanceCount} are being used. Cannot shrink instance count.`); + } + const multiDrawCounts = new Int32Array(maxInstanceCount); + const multiDrawStarts = new Int32Array(maxInstanceCount); + copyArrayContents(this._multiDrawCounts, multiDrawCounts); + copyArrayContents(this._multiDrawStarts, multiDrawStarts); + this._multiDrawCounts = multiDrawCounts; + this._multiDrawStarts = multiDrawStarts; + this._maxInstanceCount = maxInstanceCount; + const indirectTexture = this._indirectTexture; + const matricesTexture = this._matricesTexture; + const colorsTexture = this._colorsTexture; + indirectTexture.dispose(); + this._initIndirectTexture(); + copyArrayContents(indirectTexture.image.data, this._indirectTexture.image.data); + matricesTexture.dispose(); + this._initMatricesTexture(); + copyArrayContents(matricesTexture.image.data, this._matricesTexture.image.data); + if (colorsTexture) { + colorsTexture.dispose(); + this._initColorsTexture(); + copyArrayContents(colorsTexture.image.data, this._colorsTexture.image.data); + } + } + setGeometrySize(maxVertexCount, maxIndexCount) { + const validRanges = [...this._geometryInfo].filter((info) => info.active); + const requiredVertexLength = Math.max(...validRanges.map((range) => range.vertexStart + range.reservedVertexCount)); + if (requiredVertexLength > maxVertexCount) { + throw new Error(`BatchedMesh: Geometry vertex values are being used outside the range ${maxIndexCount}. Cannot shrink further.`); + } + if (this.geometry.index) { + const requiredIndexLength = Math.max(...validRanges.map((range) => range.indexStart + range.reservedIndexCount)); + if (requiredIndexLength > maxIndexCount) { + throw new Error(`BatchedMesh: Geometry index values are being used outside the range ${maxIndexCount}. Cannot shrink further.`); + } + } + const oldGeometry = this.geometry; + oldGeometry.dispose(); + this._maxVertexCount = maxVertexCount; + this._maxIndexCount = maxIndexCount; + if (this._geometryInitialized) { + this._geometryInitialized = false; + this.geometry = new BufferGeometry(); + this._initializeGeometry(oldGeometry); + } + const geometry = this.geometry; + if (oldGeometry.index) { + copyArrayContents(oldGeometry.index.array, geometry.index.array); + } + for (const key in oldGeometry.attributes) { + copyArrayContents(oldGeometry.attributes[key].array, geometry.attributes[key].array); + } + } + raycast(raycaster, intersects2) { + const instanceInfo = this._instanceInfo; + const geometryInfoList = this._geometryInfo; + const matrixWorld = this.matrixWorld; + const batchGeometry = this.geometry; + _mesh.material = this.material; + _mesh.geometry.index = batchGeometry.index; + _mesh.geometry.attributes = batchGeometry.attributes; + if (_mesh.geometry.boundingBox === null) { + _mesh.geometry.boundingBox = new Box3(); + } + if (_mesh.geometry.boundingSphere === null) { + _mesh.geometry.boundingSphere = new Sphere(); + } + for (let i = 0, l = instanceInfo.length; i < l; i++) { + if (!instanceInfo[i].visible || !instanceInfo[i].active) { + continue; + } + const geometryId = instanceInfo[i].geometryIndex; + const geometryInfo = geometryInfoList[geometryId]; + _mesh.geometry.setDrawRange(geometryInfo.start, geometryInfo.count); + this.getMatrixAt(i, _mesh.matrixWorld).premultiply(matrixWorld); + this.getBoundingBoxAt(geometryId, _mesh.geometry.boundingBox); + this.getBoundingSphereAt(geometryId, _mesh.geometry.boundingSphere); + _mesh.raycast(raycaster, _batchIntersects); + for (let j = 0, l2 = _batchIntersects.length; j < l2; j++) { + const intersect2 = _batchIntersects[j]; + intersect2.object = this; + intersect2.batchId = i; + intersects2.push(intersect2); + } + _batchIntersects.length = 0; + } + _mesh.material = null; + _mesh.geometry.index = null; + _mesh.geometry.attributes = {}; + _mesh.geometry.setDrawRange(0, Infinity); + } + copy(source) { + super.copy(source); + this.geometry = source.geometry.clone(); + this.perObjectFrustumCulled = source.perObjectFrustumCulled; + this.sortObjects = source.sortObjects; + this.boundingBox = source.boundingBox !== null ? source.boundingBox.clone() : null; + this.boundingSphere = source.boundingSphere !== null ? source.boundingSphere.clone() : null; + this._geometryInfo = source._geometryInfo.map((info) => ({ + ...info, + boundingBox: info.boundingBox !== null ? info.boundingBox.clone() : null, + boundingSphere: info.boundingSphere !== null ? info.boundingSphere.clone() : null + })); + this._instanceInfo = source._instanceInfo.map((info) => ({ ...info })); + this._maxInstanceCount = source._maxInstanceCount; + this._maxVertexCount = source._maxVertexCount; + this._maxIndexCount = source._maxIndexCount; + this._geometryInitialized = source._geometryInitialized; + this._geometryCount = source._geometryCount; + this._multiDrawCounts = source._multiDrawCounts.slice(); + this._multiDrawStarts = source._multiDrawStarts.slice(); + this._matricesTexture = source._matricesTexture.clone(); + this._matricesTexture.image.data = this._matricesTexture.image.data.slice(); + if (this._colorsTexture !== null) { + this._colorsTexture = source._colorsTexture.clone(); + this._colorsTexture.image.data = this._colorsTexture.image.data.slice(); + } + return this; + } + dispose() { + this.geometry.dispose(); + this._matricesTexture.dispose(); + this._matricesTexture = null; + this._indirectTexture.dispose(); + this._indirectTexture = null; + if (this._colorsTexture !== null) { + this._colorsTexture.dispose(); + this._colorsTexture = null; + } + return this; + } + onBeforeRender(renderer, scene, camera, geometry, material) { + if (!this._visibilityChanged && !this.perObjectFrustumCulled && !this.sortObjects) { + return; + } + const index = geometry.getIndex(); + const bytesPerElement = index === null ? 1 : index.array.BYTES_PER_ELEMENT; + const instanceInfo = this._instanceInfo; + const multiDrawStarts = this._multiDrawStarts; + const multiDrawCounts = this._multiDrawCounts; + const geometryInfoList = this._geometryInfo; + const perObjectFrustumCulled = this.perObjectFrustumCulled; + const indirectTexture = this._indirectTexture; + const indirectArray = indirectTexture.image.data; + if (perObjectFrustumCulled) { + _matrix$1.multiplyMatrices(camera.projectionMatrix, camera.matrixWorldInverse).multiply(this.matrixWorld); + _frustum.setFromProjectionMatrix( + _matrix$1, + renderer.coordinateSystem + ); + } + let multiDrawCount = 0; + if (this.sortObjects) { + _matrix$1.copy(this.matrixWorld).invert(); + _vector$5.setFromMatrixPosition(camera.matrixWorld).applyMatrix4(_matrix$1); + _forward.set(0, 0, -1).transformDirection(camera.matrixWorld).transformDirection(_matrix$1); + for (let i = 0, l = instanceInfo.length; i < l; i++) { + if (instanceInfo[i].visible && instanceInfo[i].active) { + const geometryId = instanceInfo[i].geometryIndex; + this.getMatrixAt(i, _matrix$1); + this.getBoundingSphereAt(geometryId, _sphere$2).applyMatrix4(_matrix$1); + let culled = false; + if (perObjectFrustumCulled) { + culled = !_frustum.intersectsSphere(_sphere$2); + } + if (!culled) { + const geometryInfo = geometryInfoList[geometryId]; + const z = _temp.subVectors(_sphere$2.center, _vector$5).dot(_forward); + _renderList.push(geometryInfo.start, geometryInfo.count, z, i); + } + } + } + const list = _renderList.list; + const customSort = this.customSort; + if (customSort === null) { + list.sort(material.transparent ? sortTransparent : sortOpaque); + } else { + customSort.call(this, list, camera); + } + for (let i = 0, l = list.length; i < l; i++) { + const item = list[i]; + multiDrawStarts[multiDrawCount] = item.start * bytesPerElement; + multiDrawCounts[multiDrawCount] = item.count; + indirectArray[multiDrawCount] = item.index; + multiDrawCount++; + } + _renderList.reset(); + } else { + for (let i = 0, l = instanceInfo.length; i < l; i++) { + if (instanceInfo[i].visible && instanceInfo[i].active) { + const geometryId = instanceInfo[i].geometryIndex; + let culled = false; + if (perObjectFrustumCulled) { + this.getMatrixAt(i, _matrix$1); + this.getBoundingSphereAt(geometryId, _sphere$2).applyMatrix4(_matrix$1); + culled = !_frustum.intersectsSphere(_sphere$2); + } + if (!culled) { + const geometryInfo = geometryInfoList[geometryId]; + multiDrawStarts[multiDrawCount] = geometryInfo.start * bytesPerElement; + multiDrawCounts[multiDrawCount] = geometryInfo.count; + indirectArray[multiDrawCount] = i; + multiDrawCount++; + } + } + } + } + indirectTexture.needsUpdate = true; + this._multiDrawCount = multiDrawCount; + this._visibilityChanged = false; + } + onBeforeShadow(renderer, object, camera, shadowCamera, geometry, depthMaterial) { + this.onBeforeRender(renderer, null, shadowCamera, geometry, depthMaterial); + } +} +class LineBasicMaterial extends Material { + static { + __name(this, "LineBasicMaterial"); + } + static get type() { + return "LineBasicMaterial"; + } + constructor(parameters) { + super(); + this.isLineBasicMaterial = true; + this.color = new Color(16777215); + this.map = null; + this.linewidth = 1; + this.linecap = "round"; + this.linejoin = "round"; + this.fog = true; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.map = source.map; + this.linewidth = source.linewidth; + this.linecap = source.linecap; + this.linejoin = source.linejoin; + this.fog = source.fog; + return this; + } +} +const _vStart = /* @__PURE__ */ new Vector3(); +const _vEnd = /* @__PURE__ */ new Vector3(); +const _inverseMatrix$1 = /* @__PURE__ */ new Matrix4(); +const _ray$1 = /* @__PURE__ */ new Ray(); +const _sphere$1 = /* @__PURE__ */ new Sphere(); +const _intersectPointOnRay = /* @__PURE__ */ new Vector3(); +const _intersectPointOnSegment = /* @__PURE__ */ new Vector3(); +class Line extends Object3D { + static { + __name(this, "Line"); + } + constructor(geometry = new BufferGeometry(), material = new LineBasicMaterial()) { + super(); + this.isLine = true; + this.type = "Line"; + this.geometry = geometry; + this.material = material; + this.updateMorphTargets(); + } + copy(source, recursive) { + super.copy(source, recursive); + this.material = Array.isArray(source.material) ? source.material.slice() : source.material; + this.geometry = source.geometry; + return this; + } + computeLineDistances() { + const geometry = this.geometry; + if (geometry.index === null) { + const positionAttribute = geometry.attributes.position; + const lineDistances = [0]; + for (let i = 1, l = positionAttribute.count; i < l; i++) { + _vStart.fromBufferAttribute(positionAttribute, i - 1); + _vEnd.fromBufferAttribute(positionAttribute, i); + lineDistances[i] = lineDistances[i - 1]; + lineDistances[i] += _vStart.distanceTo(_vEnd); + } + geometry.setAttribute("lineDistance", new Float32BufferAttribute(lineDistances, 1)); + } else { + console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry."); + } + return this; + } + raycast(raycaster, intersects2) { + const geometry = this.geometry; + const matrixWorld = this.matrixWorld; + const threshold = raycaster.params.Line.threshold; + const drawRange = geometry.drawRange; + if (geometry.boundingSphere === null) geometry.computeBoundingSphere(); + _sphere$1.copy(geometry.boundingSphere); + _sphere$1.applyMatrix4(matrixWorld); + _sphere$1.radius += threshold; + if (raycaster.ray.intersectsSphere(_sphere$1) === false) return; + _inverseMatrix$1.copy(matrixWorld).invert(); + _ray$1.copy(raycaster.ray).applyMatrix4(_inverseMatrix$1); + const localThreshold = threshold / ((this.scale.x + this.scale.y + this.scale.z) / 3); + const localThresholdSq = localThreshold * localThreshold; + const step = this.isLineSegments ? 2 : 1; + const index = geometry.index; + const attributes = geometry.attributes; + const positionAttribute = attributes.position; + if (index !== null) { + const start = Math.max(0, drawRange.start); + const end = Math.min(index.count, drawRange.start + drawRange.count); + for (let i = start, l = end - 1; i < l; i += step) { + const a = index.getX(i); + const b = index.getX(i + 1); + const intersect2 = checkIntersection(this, raycaster, _ray$1, localThresholdSq, a, b); + if (intersect2) { + intersects2.push(intersect2); + } + } + if (this.isLineLoop) { + const a = index.getX(end - 1); + const b = index.getX(start); + const intersect2 = checkIntersection(this, raycaster, _ray$1, localThresholdSq, a, b); + if (intersect2) { + intersects2.push(intersect2); + } + } + } else { + const start = Math.max(0, drawRange.start); + const end = Math.min(positionAttribute.count, drawRange.start + drawRange.count); + for (let i = start, l = end - 1; i < l; i += step) { + const intersect2 = checkIntersection(this, raycaster, _ray$1, localThresholdSq, i, i + 1); + if (intersect2) { + intersects2.push(intersect2); + } + } + if (this.isLineLoop) { + const intersect2 = checkIntersection(this, raycaster, _ray$1, localThresholdSq, end - 1, start); + if (intersect2) { + intersects2.push(intersect2); + } + } + } + } + updateMorphTargets() { + const geometry = this.geometry; + const morphAttributes = geometry.morphAttributes; + const keys = Object.keys(morphAttributes); + if (keys.length > 0) { + const morphAttribute = morphAttributes[keys[0]]; + if (morphAttribute !== void 0) { + this.morphTargetInfluences = []; + this.morphTargetDictionary = {}; + for (let m = 0, ml = morphAttribute.length; m < ml; m++) { + const name = morphAttribute[m].name || String(m); + this.morphTargetInfluences.push(0); + this.morphTargetDictionary[name] = m; + } + } + } + } +} +function checkIntersection(object, raycaster, ray, thresholdSq, a, b) { + const positionAttribute = object.geometry.attributes.position; + _vStart.fromBufferAttribute(positionAttribute, a); + _vEnd.fromBufferAttribute(positionAttribute, b); + const distSq = ray.distanceSqToSegment(_vStart, _vEnd, _intersectPointOnRay, _intersectPointOnSegment); + if (distSq > thresholdSq) return; + _intersectPointOnRay.applyMatrix4(object.matrixWorld); + const distance = raycaster.ray.origin.distanceTo(_intersectPointOnRay); + if (distance < raycaster.near || distance > raycaster.far) return; + return { + distance, + // What do we want? intersection point on the ray or on the segment?? + // point: raycaster.ray.at( distance ), + point: _intersectPointOnSegment.clone().applyMatrix4(object.matrixWorld), + index: a, + face: null, + faceIndex: null, + barycoord: null, + object + }; +} +__name(checkIntersection, "checkIntersection"); +const _start = /* @__PURE__ */ new Vector3(); +const _end = /* @__PURE__ */ new Vector3(); +class LineSegments extends Line { + static { + __name(this, "LineSegments"); + } + constructor(geometry, material) { + super(geometry, material); + this.isLineSegments = true; + this.type = "LineSegments"; + } + computeLineDistances() { + const geometry = this.geometry; + if (geometry.index === null) { + const positionAttribute = geometry.attributes.position; + const lineDistances = []; + for (let i = 0, l = positionAttribute.count; i < l; i += 2) { + _start.fromBufferAttribute(positionAttribute, i); + _end.fromBufferAttribute(positionAttribute, i + 1); + lineDistances[i] = i === 0 ? 0 : lineDistances[i - 1]; + lineDistances[i + 1] = lineDistances[i] + _start.distanceTo(_end); + } + geometry.setAttribute("lineDistance", new Float32BufferAttribute(lineDistances, 1)); + } else { + console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry."); + } + return this; + } +} +class LineLoop extends Line { + static { + __name(this, "LineLoop"); + } + constructor(geometry, material) { + super(geometry, material); + this.isLineLoop = true; + this.type = "LineLoop"; + } +} +class PointsMaterial extends Material { + static { + __name(this, "PointsMaterial"); + } + static get type() { + return "PointsMaterial"; + } + constructor(parameters) { + super(); + this.isPointsMaterial = true; + this.color = new Color(16777215); + this.map = null; + this.alphaMap = null; + this.size = 1; + this.sizeAttenuation = true; + this.fog = true; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.map = source.map; + this.alphaMap = source.alphaMap; + this.size = source.size; + this.sizeAttenuation = source.sizeAttenuation; + this.fog = source.fog; + return this; + } +} +const _inverseMatrix = /* @__PURE__ */ new Matrix4(); +const _ray$4 = /* @__PURE__ */ new Ray(); +const _sphere = /* @__PURE__ */ new Sphere(); +const _position$2 = /* @__PURE__ */ new Vector3(); +class Points extends Object3D { + static { + __name(this, "Points"); + } + constructor(geometry = new BufferGeometry(), material = new PointsMaterial()) { + super(); + this.isPoints = true; + this.type = "Points"; + this.geometry = geometry; + this.material = material; + this.updateMorphTargets(); + } + copy(source, recursive) { + super.copy(source, recursive); + this.material = Array.isArray(source.material) ? source.material.slice() : source.material; + this.geometry = source.geometry; + return this; + } + raycast(raycaster, intersects2) { + const geometry = this.geometry; + const matrixWorld = this.matrixWorld; + const threshold = raycaster.params.Points.threshold; + const drawRange = geometry.drawRange; + if (geometry.boundingSphere === null) geometry.computeBoundingSphere(); + _sphere.copy(geometry.boundingSphere); + _sphere.applyMatrix4(matrixWorld); + _sphere.radius += threshold; + if (raycaster.ray.intersectsSphere(_sphere) === false) return; + _inverseMatrix.copy(matrixWorld).invert(); + _ray$4.copy(raycaster.ray).applyMatrix4(_inverseMatrix); + const localThreshold = threshold / ((this.scale.x + this.scale.y + this.scale.z) / 3); + const localThresholdSq = localThreshold * localThreshold; + const index = geometry.index; + const attributes = geometry.attributes; + const positionAttribute = attributes.position; + if (index !== null) { + const start = Math.max(0, drawRange.start); + const end = Math.min(index.count, drawRange.start + drawRange.count); + for (let i = start, il = end; i < il; i++) { + const a = index.getX(i); + _position$2.fromBufferAttribute(positionAttribute, a); + testPoint(_position$2, a, localThresholdSq, matrixWorld, raycaster, intersects2, this); + } + } else { + const start = Math.max(0, drawRange.start); + const end = Math.min(positionAttribute.count, drawRange.start + drawRange.count); + for (let i = start, l = end; i < l; i++) { + _position$2.fromBufferAttribute(positionAttribute, i); + testPoint(_position$2, i, localThresholdSq, matrixWorld, raycaster, intersects2, this); + } + } + } + updateMorphTargets() { + const geometry = this.geometry; + const morphAttributes = geometry.morphAttributes; + const keys = Object.keys(morphAttributes); + if (keys.length > 0) { + const morphAttribute = morphAttributes[keys[0]]; + if (morphAttribute !== void 0) { + this.morphTargetInfluences = []; + this.morphTargetDictionary = {}; + for (let m = 0, ml = morphAttribute.length; m < ml; m++) { + const name = morphAttribute[m].name || String(m); + this.morphTargetInfluences.push(0); + this.morphTargetDictionary[name] = m; + } + } + } + } +} +function testPoint(point, index, localThresholdSq, matrixWorld, raycaster, intersects2, object) { + const rayPointDistanceSq = _ray$4.distanceSqToPoint(point); + if (rayPointDistanceSq < localThresholdSq) { + const intersectPoint = new Vector3(); + _ray$4.closestPointToPoint(point, intersectPoint); + intersectPoint.applyMatrix4(matrixWorld); + const distance = raycaster.ray.origin.distanceTo(intersectPoint); + if (distance < raycaster.near || distance > raycaster.far) return; + intersects2.push({ + distance, + distanceToRay: Math.sqrt(rayPointDistanceSq), + point: intersectPoint, + index, + face: null, + faceIndex: null, + barycoord: null, + object + }); + } +} +__name(testPoint, "testPoint"); +class VideoTexture extends Texture { + static { + __name(this, "VideoTexture"); + } + constructor(video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy) { + super(video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy); + this.isVideoTexture = true; + this.minFilter = minFilter !== void 0 ? minFilter : LinearFilter; + this.magFilter = magFilter !== void 0 ? magFilter : LinearFilter; + this.generateMipmaps = false; + const scope = this; + function updateVideo() { + scope.needsUpdate = true; + video.requestVideoFrameCallback(updateVideo); + } + __name(updateVideo, "updateVideo"); + if ("requestVideoFrameCallback" in video) { + video.requestVideoFrameCallback(updateVideo); + } + } + clone() { + return new this.constructor(this.image).copy(this); + } + update() { + const video = this.image; + const hasVideoFrameCallback = "requestVideoFrameCallback" in video; + if (hasVideoFrameCallback === false && video.readyState >= video.HAVE_CURRENT_DATA) { + this.needsUpdate = true; + } + } +} +class FramebufferTexture extends Texture { + static { + __name(this, "FramebufferTexture"); + } + constructor(width, height) { + super({ width, height }); + this.isFramebufferTexture = true; + this.magFilter = NearestFilter; + this.minFilter = NearestFilter; + this.generateMipmaps = false; + this.needsUpdate = true; + } +} +class CompressedTexture extends Texture { + static { + __name(this, "CompressedTexture"); + } + constructor(mipmaps, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, colorSpace) { + super(null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, colorSpace); + this.isCompressedTexture = true; + this.image = { width, height }; + this.mipmaps = mipmaps; + this.flipY = false; + this.generateMipmaps = false; + } +} +class CompressedArrayTexture extends CompressedTexture { + static { + __name(this, "CompressedArrayTexture"); + } + constructor(mipmaps, width, height, depth, format, type) { + super(mipmaps, width, height, format, type); + this.isCompressedArrayTexture = true; + this.image.depth = depth; + this.wrapR = ClampToEdgeWrapping; + this.layerUpdates = /* @__PURE__ */ new Set(); + } + addLayerUpdate(layerIndex) { + this.layerUpdates.add(layerIndex); + } + clearLayerUpdates() { + this.layerUpdates.clear(); + } +} +class CompressedCubeTexture extends CompressedTexture { + static { + __name(this, "CompressedCubeTexture"); + } + constructor(images, format, type) { + super(void 0, images[0].width, images[0].height, format, type, CubeReflectionMapping); + this.isCompressedCubeTexture = true; + this.isCubeTexture = true; + this.image = images; + } +} +class CanvasTexture extends Texture { + static { + __name(this, "CanvasTexture"); + } + constructor(canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy) { + super(canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy); + this.isCanvasTexture = true; + this.needsUpdate = true; + } +} +class Curve { + static { + __name(this, "Curve"); + } + constructor() { + this.type = "Curve"; + this.arcLengthDivisions = 200; + } + // Virtual base class method to overwrite and implement in subclasses + // - t [0 .. 1] + getPoint() { + console.warn("THREE.Curve: .getPoint() not implemented."); + return null; + } + // Get point at relative position in curve according to arc length + // - u [0 .. 1] + getPointAt(u, optionalTarget) { + const t2 = this.getUtoTmapping(u); + return this.getPoint(t2, optionalTarget); + } + // Get sequence of points using getPoint( t ) + getPoints(divisions = 5) { + const points = []; + for (let d = 0; d <= divisions; d++) { + points.push(this.getPoint(d / divisions)); + } + return points; + } + // Get sequence of points using getPointAt( u ) + getSpacedPoints(divisions = 5) { + const points = []; + for (let d = 0; d <= divisions; d++) { + points.push(this.getPointAt(d / divisions)); + } + return points; + } + // Get total curve arc length + getLength() { + const lengths = this.getLengths(); + return lengths[lengths.length - 1]; + } + // Get list of cumulative segment lengths + getLengths(divisions = this.arcLengthDivisions) { + if (this.cacheArcLengths && this.cacheArcLengths.length === divisions + 1 && !this.needsUpdate) { + return this.cacheArcLengths; + } + this.needsUpdate = false; + const cache = []; + let current, last = this.getPoint(0); + let sum = 0; + cache.push(0); + for (let p = 1; p <= divisions; p++) { + current = this.getPoint(p / divisions); + sum += current.distanceTo(last); + cache.push(sum); + last = current; + } + this.cacheArcLengths = cache; + return cache; + } + updateArcLengths() { + this.needsUpdate = true; + this.getLengths(); + } + // Given u ( 0 .. 1 ), get a t to find p. This gives you points which are equidistant + getUtoTmapping(u, distance) { + const arcLengths = this.getLengths(); + let i = 0; + const il = arcLengths.length; + let targetArcLength; + if (distance) { + targetArcLength = distance; + } else { + targetArcLength = u * arcLengths[il - 1]; + } + let low = 0, high = il - 1, comparison; + while (low <= high) { + i = Math.floor(low + (high - low) / 2); + comparison = arcLengths[i] - targetArcLength; + if (comparison < 0) { + low = i + 1; + } else if (comparison > 0) { + high = i - 1; + } else { + high = i; + break; + } + } + i = high; + if (arcLengths[i] === targetArcLength) { + return i / (il - 1); + } + const lengthBefore = arcLengths[i]; + const lengthAfter = arcLengths[i + 1]; + const segmentLength = lengthAfter - lengthBefore; + const segmentFraction = (targetArcLength - lengthBefore) / segmentLength; + const t2 = (i + segmentFraction) / (il - 1); + return t2; + } + // Returns a unit vector tangent at t + // In case any sub curve does not implement its tangent derivation, + // 2 points a small delta apart will be used to find its gradient + // which seems to give a reasonable approximation + getTangent(t2, optionalTarget) { + const delta = 1e-4; + let t1 = t2 - delta; + let t22 = t2 + delta; + if (t1 < 0) t1 = 0; + if (t22 > 1) t22 = 1; + const pt1 = this.getPoint(t1); + const pt2 = this.getPoint(t22); + const tangent = optionalTarget || (pt1.isVector2 ? new Vector2() : new Vector3()); + tangent.copy(pt2).sub(pt1).normalize(); + return tangent; + } + getTangentAt(u, optionalTarget) { + const t2 = this.getUtoTmapping(u); + return this.getTangent(t2, optionalTarget); + } + computeFrenetFrames(segments, closed) { + const normal = new Vector3(); + const tangents = []; + const normals = []; + const binormals = []; + const vec = new Vector3(); + const mat = new Matrix4(); + for (let i = 0; i <= segments; i++) { + const u = i / segments; + tangents[i] = this.getTangentAt(u, new Vector3()); + } + normals[0] = new Vector3(); + binormals[0] = new Vector3(); + let min = Number.MAX_VALUE; + const tx = Math.abs(tangents[0].x); + const ty = Math.abs(tangents[0].y); + const tz = Math.abs(tangents[0].z); + if (tx <= min) { + min = tx; + normal.set(1, 0, 0); + } + if (ty <= min) { + min = ty; + normal.set(0, 1, 0); + } + if (tz <= min) { + normal.set(0, 0, 1); + } + vec.crossVectors(tangents[0], normal).normalize(); + normals[0].crossVectors(tangents[0], vec); + binormals[0].crossVectors(tangents[0], normals[0]); + for (let i = 1; i <= segments; i++) { + normals[i] = normals[i - 1].clone(); + binormals[i] = binormals[i - 1].clone(); + vec.crossVectors(tangents[i - 1], tangents[i]); + if (vec.length() > Number.EPSILON) { + vec.normalize(); + const theta = Math.acos(clamp(tangents[i - 1].dot(tangents[i]), -1, 1)); + normals[i].applyMatrix4(mat.makeRotationAxis(vec, theta)); + } + binormals[i].crossVectors(tangents[i], normals[i]); + } + if (closed === true) { + let theta = Math.acos(clamp(normals[0].dot(normals[segments]), -1, 1)); + theta /= segments; + if (tangents[0].dot(vec.crossVectors(normals[0], normals[segments])) > 0) { + theta = -theta; + } + for (let i = 1; i <= segments; i++) { + normals[i].applyMatrix4(mat.makeRotationAxis(tangents[i], theta * i)); + binormals[i].crossVectors(tangents[i], normals[i]); + } + } + return { + tangents, + normals, + binormals + }; + } + clone() { + return new this.constructor().copy(this); + } + copy(source) { + this.arcLengthDivisions = source.arcLengthDivisions; + return this; + } + toJSON() { + const data = { + metadata: { + version: 4.6, + type: "Curve", + generator: "Curve.toJSON" + } + }; + data.arcLengthDivisions = this.arcLengthDivisions; + data.type = this.type; + return data; + } + fromJSON(json) { + this.arcLengthDivisions = json.arcLengthDivisions; + return this; + } +} +class EllipseCurve extends Curve { + static { + __name(this, "EllipseCurve"); + } + constructor(aX = 0, aY = 0, xRadius = 1, yRadius = 1, aStartAngle = 0, aEndAngle = Math.PI * 2, aClockwise = false, aRotation = 0) { + super(); + this.isEllipseCurve = true; + this.type = "EllipseCurve"; + this.aX = aX; + this.aY = aY; + this.xRadius = xRadius; + this.yRadius = yRadius; + this.aStartAngle = aStartAngle; + this.aEndAngle = aEndAngle; + this.aClockwise = aClockwise; + this.aRotation = aRotation; + } + getPoint(t2, optionalTarget = new Vector2()) { + const point = optionalTarget; + const twoPi = Math.PI * 2; + let deltaAngle = this.aEndAngle - this.aStartAngle; + const samePoints = Math.abs(deltaAngle) < Number.EPSILON; + while (deltaAngle < 0) deltaAngle += twoPi; + while (deltaAngle > twoPi) deltaAngle -= twoPi; + if (deltaAngle < Number.EPSILON) { + if (samePoints) { + deltaAngle = 0; + } else { + deltaAngle = twoPi; + } + } + if (this.aClockwise === true && !samePoints) { + if (deltaAngle === twoPi) { + deltaAngle = -twoPi; + } else { + deltaAngle = deltaAngle - twoPi; + } + } + const angle = this.aStartAngle + t2 * deltaAngle; + let x = this.aX + this.xRadius * Math.cos(angle); + let y = this.aY + this.yRadius * Math.sin(angle); + if (this.aRotation !== 0) { + const cos = Math.cos(this.aRotation); + const sin = Math.sin(this.aRotation); + const tx = x - this.aX; + const ty = y - this.aY; + x = tx * cos - ty * sin + this.aX; + y = tx * sin + ty * cos + this.aY; + } + return point.set(x, y); + } + copy(source) { + super.copy(source); + this.aX = source.aX; + this.aY = source.aY; + this.xRadius = source.xRadius; + this.yRadius = source.yRadius; + this.aStartAngle = source.aStartAngle; + this.aEndAngle = source.aEndAngle; + this.aClockwise = source.aClockwise; + this.aRotation = source.aRotation; + return this; + } + toJSON() { + const data = super.toJSON(); + data.aX = this.aX; + data.aY = this.aY; + data.xRadius = this.xRadius; + data.yRadius = this.yRadius; + data.aStartAngle = this.aStartAngle; + data.aEndAngle = this.aEndAngle; + data.aClockwise = this.aClockwise; + data.aRotation = this.aRotation; + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.aX = json.aX; + this.aY = json.aY; + this.xRadius = json.xRadius; + this.yRadius = json.yRadius; + this.aStartAngle = json.aStartAngle; + this.aEndAngle = json.aEndAngle; + this.aClockwise = json.aClockwise; + this.aRotation = json.aRotation; + return this; + } +} +class ArcCurve extends EllipseCurve { + static { + __name(this, "ArcCurve"); + } + constructor(aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise) { + super(aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise); + this.isArcCurve = true; + this.type = "ArcCurve"; + } +} +function CubicPoly() { + let c0 = 0, c1 = 0, c2 = 0, c3 = 0; + function init(x0, x1, t0, t1) { + c0 = x0; + c1 = t0; + c2 = -3 * x0 + 3 * x1 - 2 * t0 - t1; + c3 = 2 * x0 - 2 * x1 + t0 + t1; + } + __name(init, "init"); + return { + initCatmullRom: /* @__PURE__ */ __name(function(x0, x1, x2, x3, tension) { + init(x1, x2, tension * (x2 - x0), tension * (x3 - x1)); + }, "initCatmullRom"), + initNonuniformCatmullRom: /* @__PURE__ */ __name(function(x0, x1, x2, x3, dt0, dt1, dt2) { + let t1 = (x1 - x0) / dt0 - (x2 - x0) / (dt0 + dt1) + (x2 - x1) / dt1; + let t2 = (x2 - x1) / dt1 - (x3 - x1) / (dt1 + dt2) + (x3 - x2) / dt2; + t1 *= dt1; + t2 *= dt1; + init(x1, x2, t1, t2); + }, "initNonuniformCatmullRom"), + calc: /* @__PURE__ */ __name(function(t2) { + const t22 = t2 * t2; + const t3 = t22 * t2; + return c0 + c1 * t2 + c2 * t22 + c3 * t3; + }, "calc") + }; +} +__name(CubicPoly, "CubicPoly"); +const tmp = /* @__PURE__ */ new Vector3(); +const px = /* @__PURE__ */ new CubicPoly(); +const py = /* @__PURE__ */ new CubicPoly(); +const pz = /* @__PURE__ */ new CubicPoly(); +class CatmullRomCurve3 extends Curve { + static { + __name(this, "CatmullRomCurve3"); + } + constructor(points = [], closed = false, curveType = "centripetal", tension = 0.5) { + super(); + this.isCatmullRomCurve3 = true; + this.type = "CatmullRomCurve3"; + this.points = points; + this.closed = closed; + this.curveType = curveType; + this.tension = tension; + } + getPoint(t2, optionalTarget = new Vector3()) { + const point = optionalTarget; + const points = this.points; + const l = points.length; + const p = (l - (this.closed ? 0 : 1)) * t2; + let intPoint = Math.floor(p); + let weight = p - intPoint; + if (this.closed) { + intPoint += intPoint > 0 ? 0 : (Math.floor(Math.abs(intPoint) / l) + 1) * l; + } else if (weight === 0 && intPoint === l - 1) { + intPoint = l - 2; + weight = 1; + } + let p0, p3; + if (this.closed || intPoint > 0) { + p0 = points[(intPoint - 1) % l]; + } else { + tmp.subVectors(points[0], points[1]).add(points[0]); + p0 = tmp; + } + const p1 = points[intPoint % l]; + const p2 = points[(intPoint + 1) % l]; + if (this.closed || intPoint + 2 < l) { + p3 = points[(intPoint + 2) % l]; + } else { + tmp.subVectors(points[l - 1], points[l - 2]).add(points[l - 1]); + p3 = tmp; + } + if (this.curveType === "centripetal" || this.curveType === "chordal") { + const pow = this.curveType === "chordal" ? 0.5 : 0.25; + let dt0 = Math.pow(p0.distanceToSquared(p1), pow); + let dt1 = Math.pow(p1.distanceToSquared(p2), pow); + let dt2 = Math.pow(p2.distanceToSquared(p3), pow); + if (dt1 < 1e-4) dt1 = 1; + if (dt0 < 1e-4) dt0 = dt1; + if (dt2 < 1e-4) dt2 = dt1; + px.initNonuniformCatmullRom(p0.x, p1.x, p2.x, p3.x, dt0, dt1, dt2); + py.initNonuniformCatmullRom(p0.y, p1.y, p2.y, p3.y, dt0, dt1, dt2); + pz.initNonuniformCatmullRom(p0.z, p1.z, p2.z, p3.z, dt0, dt1, dt2); + } else if (this.curveType === "catmullrom") { + px.initCatmullRom(p0.x, p1.x, p2.x, p3.x, this.tension); + py.initCatmullRom(p0.y, p1.y, p2.y, p3.y, this.tension); + pz.initCatmullRom(p0.z, p1.z, p2.z, p3.z, this.tension); + } + point.set( + px.calc(weight), + py.calc(weight), + pz.calc(weight) + ); + return point; + } + copy(source) { + super.copy(source); + this.points = []; + for (let i = 0, l = source.points.length; i < l; i++) { + const point = source.points[i]; + this.points.push(point.clone()); + } + this.closed = source.closed; + this.curveType = source.curveType; + this.tension = source.tension; + return this; + } + toJSON() { + const data = super.toJSON(); + data.points = []; + for (let i = 0, l = this.points.length; i < l; i++) { + const point = this.points[i]; + data.points.push(point.toArray()); + } + data.closed = this.closed; + data.curveType = this.curveType; + data.tension = this.tension; + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.points = []; + for (let i = 0, l = json.points.length; i < l; i++) { + const point = json.points[i]; + this.points.push(new Vector3().fromArray(point)); + } + this.closed = json.closed; + this.curveType = json.curveType; + this.tension = json.tension; + return this; + } +} +function CatmullRom(t2, p0, p1, p2, p3) { + const v0 = (p2 - p0) * 0.5; + const v1 = (p3 - p1) * 0.5; + const t22 = t2 * t2; + const t3 = t2 * t22; + return (2 * p1 - 2 * p2 + v0 + v1) * t3 + (-3 * p1 + 3 * p2 - 2 * v0 - v1) * t22 + v0 * t2 + p1; +} +__name(CatmullRom, "CatmullRom"); +function QuadraticBezierP0(t2, p) { + const k = 1 - t2; + return k * k * p; +} +__name(QuadraticBezierP0, "QuadraticBezierP0"); +function QuadraticBezierP1(t2, p) { + return 2 * (1 - t2) * t2 * p; +} +__name(QuadraticBezierP1, "QuadraticBezierP1"); +function QuadraticBezierP2(t2, p) { + return t2 * t2 * p; +} +__name(QuadraticBezierP2, "QuadraticBezierP2"); +function QuadraticBezier(t2, p0, p1, p2) { + return QuadraticBezierP0(t2, p0) + QuadraticBezierP1(t2, p1) + QuadraticBezierP2(t2, p2); +} +__name(QuadraticBezier, "QuadraticBezier"); +function CubicBezierP0(t2, p) { + const k = 1 - t2; + return k * k * k * p; +} +__name(CubicBezierP0, "CubicBezierP0"); +function CubicBezierP1(t2, p) { + const k = 1 - t2; + return 3 * k * k * t2 * p; +} +__name(CubicBezierP1, "CubicBezierP1"); +function CubicBezierP2(t2, p) { + return 3 * (1 - t2) * t2 * t2 * p; +} +__name(CubicBezierP2, "CubicBezierP2"); +function CubicBezierP3(t2, p) { + return t2 * t2 * t2 * p; +} +__name(CubicBezierP3, "CubicBezierP3"); +function CubicBezier(t2, p0, p1, p2, p3) { + return CubicBezierP0(t2, p0) + CubicBezierP1(t2, p1) + CubicBezierP2(t2, p2) + CubicBezierP3(t2, p3); +} +__name(CubicBezier, "CubicBezier"); +class CubicBezierCurve extends Curve { + static { + __name(this, "CubicBezierCurve"); + } + constructor(v0 = new Vector2(), v1 = new Vector2(), v2 = new Vector2(), v3 = new Vector2()) { + super(); + this.isCubicBezierCurve = true; + this.type = "CubicBezierCurve"; + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + this.v3 = v3; + } + getPoint(t2, optionalTarget = new Vector2()) { + const point = optionalTarget; + const v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3; + point.set( + CubicBezier(t2, v0.x, v1.x, v2.x, v3.x), + CubicBezier(t2, v0.y, v1.y, v2.y, v3.y) + ); + return point; + } + copy(source) { + super.copy(source); + this.v0.copy(source.v0); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + this.v3.copy(source.v3); + return this; + } + toJSON() { + const data = super.toJSON(); + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + data.v3 = this.v3.toArray(); + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.v0.fromArray(json.v0); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + this.v3.fromArray(json.v3); + return this; + } +} +class CubicBezierCurve3 extends Curve { + static { + __name(this, "CubicBezierCurve3"); + } + constructor(v0 = new Vector3(), v1 = new Vector3(), v2 = new Vector3(), v3 = new Vector3()) { + super(); + this.isCubicBezierCurve3 = true; + this.type = "CubicBezierCurve3"; + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + this.v3 = v3; + } + getPoint(t2, optionalTarget = new Vector3()) { + const point = optionalTarget; + const v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3; + point.set( + CubicBezier(t2, v0.x, v1.x, v2.x, v3.x), + CubicBezier(t2, v0.y, v1.y, v2.y, v3.y), + CubicBezier(t2, v0.z, v1.z, v2.z, v3.z) + ); + return point; + } + copy(source) { + super.copy(source); + this.v0.copy(source.v0); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + this.v3.copy(source.v3); + return this; + } + toJSON() { + const data = super.toJSON(); + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + data.v3 = this.v3.toArray(); + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.v0.fromArray(json.v0); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + this.v3.fromArray(json.v3); + return this; + } +} +class LineCurve extends Curve { + static { + __name(this, "LineCurve"); + } + constructor(v1 = new Vector2(), v2 = new Vector2()) { + super(); + this.isLineCurve = true; + this.type = "LineCurve"; + this.v1 = v1; + this.v2 = v2; + } + getPoint(t2, optionalTarget = new Vector2()) { + const point = optionalTarget; + if (t2 === 1) { + point.copy(this.v2); + } else { + point.copy(this.v2).sub(this.v1); + point.multiplyScalar(t2).add(this.v1); + } + return point; + } + // Line curve is linear, so we can overwrite default getPointAt + getPointAt(u, optionalTarget) { + return this.getPoint(u, optionalTarget); + } + getTangent(t2, optionalTarget = new Vector2()) { + return optionalTarget.subVectors(this.v2, this.v1).normalize(); + } + getTangentAt(u, optionalTarget) { + return this.getTangent(u, optionalTarget); + } + copy(source) { + super.copy(source); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + return this; + } + toJSON() { + const data = super.toJSON(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + return this; + } +} +class LineCurve3 extends Curve { + static { + __name(this, "LineCurve3"); + } + constructor(v1 = new Vector3(), v2 = new Vector3()) { + super(); + this.isLineCurve3 = true; + this.type = "LineCurve3"; + this.v1 = v1; + this.v2 = v2; + } + getPoint(t2, optionalTarget = new Vector3()) { + const point = optionalTarget; + if (t2 === 1) { + point.copy(this.v2); + } else { + point.copy(this.v2).sub(this.v1); + point.multiplyScalar(t2).add(this.v1); + } + return point; + } + // Line curve is linear, so we can overwrite default getPointAt + getPointAt(u, optionalTarget) { + return this.getPoint(u, optionalTarget); + } + getTangent(t2, optionalTarget = new Vector3()) { + return optionalTarget.subVectors(this.v2, this.v1).normalize(); + } + getTangentAt(u, optionalTarget) { + return this.getTangent(u, optionalTarget); + } + copy(source) { + super.copy(source); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + return this; + } + toJSON() { + const data = super.toJSON(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + return this; + } +} +class QuadraticBezierCurve extends Curve { + static { + __name(this, "QuadraticBezierCurve"); + } + constructor(v0 = new Vector2(), v1 = new Vector2(), v2 = new Vector2()) { + super(); + this.isQuadraticBezierCurve = true; + this.type = "QuadraticBezierCurve"; + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + } + getPoint(t2, optionalTarget = new Vector2()) { + const point = optionalTarget; + const v0 = this.v0, v1 = this.v1, v2 = this.v2; + point.set( + QuadraticBezier(t2, v0.x, v1.x, v2.x), + QuadraticBezier(t2, v0.y, v1.y, v2.y) + ); + return point; + } + copy(source) { + super.copy(source); + this.v0.copy(source.v0); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + return this; + } + toJSON() { + const data = super.toJSON(); + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.v0.fromArray(json.v0); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + return this; + } +} +class QuadraticBezierCurve3 extends Curve { + static { + __name(this, "QuadraticBezierCurve3"); + } + constructor(v0 = new Vector3(), v1 = new Vector3(), v2 = new Vector3()) { + super(); + this.isQuadraticBezierCurve3 = true; + this.type = "QuadraticBezierCurve3"; + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + } + getPoint(t2, optionalTarget = new Vector3()) { + const point = optionalTarget; + const v0 = this.v0, v1 = this.v1, v2 = this.v2; + point.set( + QuadraticBezier(t2, v0.x, v1.x, v2.x), + QuadraticBezier(t2, v0.y, v1.y, v2.y), + QuadraticBezier(t2, v0.z, v1.z, v2.z) + ); + return point; + } + copy(source) { + super.copy(source); + this.v0.copy(source.v0); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + return this; + } + toJSON() { + const data = super.toJSON(); + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.v0.fromArray(json.v0); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + return this; + } +} +class SplineCurve extends Curve { + static { + __name(this, "SplineCurve"); + } + constructor(points = []) { + super(); + this.isSplineCurve = true; + this.type = "SplineCurve"; + this.points = points; + } + getPoint(t2, optionalTarget = new Vector2()) { + const point = optionalTarget; + const points = this.points; + const p = (points.length - 1) * t2; + const intPoint = Math.floor(p); + const weight = p - intPoint; + const p0 = points[intPoint === 0 ? intPoint : intPoint - 1]; + const p1 = points[intPoint]; + const p2 = points[intPoint > points.length - 2 ? points.length - 1 : intPoint + 1]; + const p3 = points[intPoint > points.length - 3 ? points.length - 1 : intPoint + 2]; + point.set( + CatmullRom(weight, p0.x, p1.x, p2.x, p3.x), + CatmullRom(weight, p0.y, p1.y, p2.y, p3.y) + ); + return point; + } + copy(source) { + super.copy(source); + this.points = []; + for (let i = 0, l = source.points.length; i < l; i++) { + const point = source.points[i]; + this.points.push(point.clone()); + } + return this; + } + toJSON() { + const data = super.toJSON(); + data.points = []; + for (let i = 0, l = this.points.length; i < l; i++) { + const point = this.points[i]; + data.points.push(point.toArray()); + } + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.points = []; + for (let i = 0, l = json.points.length; i < l; i++) { + const point = json.points[i]; + this.points.push(new Vector2().fromArray(point)); + } + return this; + } +} +var Curves = /* @__PURE__ */ Object.freeze({ + __proto__: null, + ArcCurve, + CatmullRomCurve3, + CubicBezierCurve, + CubicBezierCurve3, + EllipseCurve, + LineCurve, + LineCurve3, + QuadraticBezierCurve, + QuadraticBezierCurve3, + SplineCurve +}); +class CurvePath extends Curve { + static { + __name(this, "CurvePath"); + } + constructor() { + super(); + this.type = "CurvePath"; + this.curves = []; + this.autoClose = false; + } + add(curve) { + this.curves.push(curve); + } + closePath() { + const startPoint = this.curves[0].getPoint(0); + const endPoint = this.curves[this.curves.length - 1].getPoint(1); + if (!startPoint.equals(endPoint)) { + const lineType = startPoint.isVector2 === true ? "LineCurve" : "LineCurve3"; + this.curves.push(new Curves[lineType](endPoint, startPoint)); + } + return this; + } + // To get accurate point with reference to + // entire path distance at time t, + // following has to be done: + // 1. Length of each sub path have to be known + // 2. Locate and identify type of curve + // 3. Get t for the curve + // 4. Return curve.getPointAt(t') + getPoint(t2, optionalTarget) { + const d = t2 * this.getLength(); + const curveLengths = this.getCurveLengths(); + let i = 0; + while (i < curveLengths.length) { + if (curveLengths[i] >= d) { + const diff = curveLengths[i] - d; + const curve = this.curves[i]; + const segmentLength = curve.getLength(); + const u = segmentLength === 0 ? 0 : 1 - diff / segmentLength; + return curve.getPointAt(u, optionalTarget); + } + i++; + } + return null; + } + // We cannot use the default THREE.Curve getPoint() with getLength() because in + // THREE.Curve, getLength() depends on getPoint() but in THREE.CurvePath + // getPoint() depends on getLength + getLength() { + const lens = this.getCurveLengths(); + return lens[lens.length - 1]; + } + // cacheLengths must be recalculated. + updateArcLengths() { + this.needsUpdate = true; + this.cacheLengths = null; + this.getCurveLengths(); + } + // Compute lengths and cache them + // We cannot overwrite getLengths() because UtoT mapping uses it. + getCurveLengths() { + if (this.cacheLengths && this.cacheLengths.length === this.curves.length) { + return this.cacheLengths; + } + const lengths = []; + let sums = 0; + for (let i = 0, l = this.curves.length; i < l; i++) { + sums += this.curves[i].getLength(); + lengths.push(sums); + } + this.cacheLengths = lengths; + return lengths; + } + getSpacedPoints(divisions = 40) { + const points = []; + for (let i = 0; i <= divisions; i++) { + points.push(this.getPoint(i / divisions)); + } + if (this.autoClose) { + points.push(points[0]); + } + return points; + } + getPoints(divisions = 12) { + const points = []; + let last; + for (let i = 0, curves = this.curves; i < curves.length; i++) { + const curve = curves[i]; + const resolution = curve.isEllipseCurve ? divisions * 2 : curve.isLineCurve || curve.isLineCurve3 ? 1 : curve.isSplineCurve ? divisions * curve.points.length : divisions; + const pts = curve.getPoints(resolution); + for (let j = 0; j < pts.length; j++) { + const point = pts[j]; + if (last && last.equals(point)) continue; + points.push(point); + last = point; + } + } + if (this.autoClose && points.length > 1 && !points[points.length - 1].equals(points[0])) { + points.push(points[0]); + } + return points; + } + copy(source) { + super.copy(source); + this.curves = []; + for (let i = 0, l = source.curves.length; i < l; i++) { + const curve = source.curves[i]; + this.curves.push(curve.clone()); + } + this.autoClose = source.autoClose; + return this; + } + toJSON() { + const data = super.toJSON(); + data.autoClose = this.autoClose; + data.curves = []; + for (let i = 0, l = this.curves.length; i < l; i++) { + const curve = this.curves[i]; + data.curves.push(curve.toJSON()); + } + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.autoClose = json.autoClose; + this.curves = []; + for (let i = 0, l = json.curves.length; i < l; i++) { + const curve = json.curves[i]; + this.curves.push(new Curves[curve.type]().fromJSON(curve)); + } + return this; + } +} +class Path extends CurvePath { + static { + __name(this, "Path"); + } + constructor(points) { + super(); + this.type = "Path"; + this.currentPoint = new Vector2(); + if (points) { + this.setFromPoints(points); + } + } + setFromPoints(points) { + this.moveTo(points[0].x, points[0].y); + for (let i = 1, l = points.length; i < l; i++) { + this.lineTo(points[i].x, points[i].y); + } + return this; + } + moveTo(x, y) { + this.currentPoint.set(x, y); + return this; + } + lineTo(x, y) { + const curve = new LineCurve(this.currentPoint.clone(), new Vector2(x, y)); + this.curves.push(curve); + this.currentPoint.set(x, y); + return this; + } + quadraticCurveTo(aCPx, aCPy, aX, aY) { + const curve = new QuadraticBezierCurve( + this.currentPoint.clone(), + new Vector2(aCPx, aCPy), + new Vector2(aX, aY) + ); + this.curves.push(curve); + this.currentPoint.set(aX, aY); + return this; + } + bezierCurveTo(aCP1x, aCP1y, aCP2x, aCP2y, aX, aY) { + const curve = new CubicBezierCurve( + this.currentPoint.clone(), + new Vector2(aCP1x, aCP1y), + new Vector2(aCP2x, aCP2y), + new Vector2(aX, aY) + ); + this.curves.push(curve); + this.currentPoint.set(aX, aY); + return this; + } + splineThru(pts) { + const npts = [this.currentPoint.clone()].concat(pts); + const curve = new SplineCurve(npts); + this.curves.push(curve); + this.currentPoint.copy(pts[pts.length - 1]); + return this; + } + arc(aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise) { + const x0 = this.currentPoint.x; + const y0 = this.currentPoint.y; + this.absarc( + aX + x0, + aY + y0, + aRadius, + aStartAngle, + aEndAngle, + aClockwise + ); + return this; + } + absarc(aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise) { + this.absellipse(aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise); + return this; + } + ellipse(aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation) { + const x0 = this.currentPoint.x; + const y0 = this.currentPoint.y; + this.absellipse(aX + x0, aY + y0, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation); + return this; + } + absellipse(aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation) { + const curve = new EllipseCurve(aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation); + if (this.curves.length > 0) { + const firstPoint = curve.getPoint(0); + if (!firstPoint.equals(this.currentPoint)) { + this.lineTo(firstPoint.x, firstPoint.y); + } + } + this.curves.push(curve); + const lastPoint = curve.getPoint(1); + this.currentPoint.copy(lastPoint); + return this; + } + copy(source) { + super.copy(source); + this.currentPoint.copy(source.currentPoint); + return this; + } + toJSON() { + const data = super.toJSON(); + data.currentPoint = this.currentPoint.toArray(); + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.currentPoint.fromArray(json.currentPoint); + return this; + } +} +class LatheGeometry extends BufferGeometry { + static { + __name(this, "LatheGeometry"); + } + constructor(points = [new Vector2(0, -0.5), new Vector2(0.5, 0), new Vector2(0, 0.5)], segments = 12, phiStart = 0, phiLength = Math.PI * 2) { + super(); + this.type = "LatheGeometry"; + this.parameters = { + points, + segments, + phiStart, + phiLength + }; + segments = Math.floor(segments); + phiLength = clamp(phiLength, 0, Math.PI * 2); + const indices = []; + const vertices = []; + const uvs = []; + const initNormals = []; + const normals = []; + const inverseSegments = 1 / segments; + const vertex2 = new Vector3(); + const uv = new Vector2(); + const normal = new Vector3(); + const curNormal = new Vector3(); + const prevNormal = new Vector3(); + let dx = 0; + let dy = 0; + for (let j = 0; j <= points.length - 1; j++) { + switch (j) { + case 0: + dx = points[j + 1].x - points[j].x; + dy = points[j + 1].y - points[j].y; + normal.x = dy * 1; + normal.y = -dx; + normal.z = dy * 0; + prevNormal.copy(normal); + normal.normalize(); + initNormals.push(normal.x, normal.y, normal.z); + break; + case points.length - 1: + initNormals.push(prevNormal.x, prevNormal.y, prevNormal.z); + break; + default: + dx = points[j + 1].x - points[j].x; + dy = points[j + 1].y - points[j].y; + normal.x = dy * 1; + normal.y = -dx; + normal.z = dy * 0; + curNormal.copy(normal); + normal.x += prevNormal.x; + normal.y += prevNormal.y; + normal.z += prevNormal.z; + normal.normalize(); + initNormals.push(normal.x, normal.y, normal.z); + prevNormal.copy(curNormal); + } + } + for (let i = 0; i <= segments; i++) { + const phi = phiStart + i * inverseSegments * phiLength; + const sin = Math.sin(phi); + const cos = Math.cos(phi); + for (let j = 0; j <= points.length - 1; j++) { + vertex2.x = points[j].x * sin; + vertex2.y = points[j].y; + vertex2.z = points[j].x * cos; + vertices.push(vertex2.x, vertex2.y, vertex2.z); + uv.x = i / segments; + uv.y = j / (points.length - 1); + uvs.push(uv.x, uv.y); + const x = initNormals[3 * j + 0] * sin; + const y = initNormals[3 * j + 1]; + const z = initNormals[3 * j + 0] * cos; + normals.push(x, y, z); + } + } + for (let i = 0; i < segments; i++) { + for (let j = 0; j < points.length - 1; j++) { + const base = j + i * points.length; + const a = base; + const b = base + points.length; + const c = base + points.length + 1; + const d = base + 1; + indices.push(a, b, d); + indices.push(c, d, b); + } + } + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } + static fromJSON(data) { + return new LatheGeometry(data.points, data.segments, data.phiStart, data.phiLength); + } +} +class CapsuleGeometry extends LatheGeometry { + static { + __name(this, "CapsuleGeometry"); + } + constructor(radius = 1, length = 1, capSegments = 4, radialSegments = 8) { + const path = new Path(); + path.absarc(0, -length / 2, radius, Math.PI * 1.5, 0); + path.absarc(0, length / 2, radius, 0, Math.PI * 0.5); + super(path.getPoints(capSegments), radialSegments); + this.type = "CapsuleGeometry"; + this.parameters = { + radius, + length, + capSegments, + radialSegments + }; + } + static fromJSON(data) { + return new CapsuleGeometry(data.radius, data.length, data.capSegments, data.radialSegments); + } +} +class CircleGeometry extends BufferGeometry { + static { + __name(this, "CircleGeometry"); + } + constructor(radius = 1, segments = 32, thetaStart = 0, thetaLength = Math.PI * 2) { + super(); + this.type = "CircleGeometry"; + this.parameters = { + radius, + segments, + thetaStart, + thetaLength + }; + segments = Math.max(3, segments); + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + const vertex2 = new Vector3(); + const uv = new Vector2(); + vertices.push(0, 0, 0); + normals.push(0, 0, 1); + uvs.push(0.5, 0.5); + for (let s = 0, i = 3; s <= segments; s++, i += 3) { + const segment = thetaStart + s / segments * thetaLength; + vertex2.x = radius * Math.cos(segment); + vertex2.y = radius * Math.sin(segment); + vertices.push(vertex2.x, vertex2.y, vertex2.z); + normals.push(0, 0, 1); + uv.x = (vertices[i] / radius + 1) / 2; + uv.y = (vertices[i + 1] / radius + 1) / 2; + uvs.push(uv.x, uv.y); + } + for (let i = 1; i <= segments; i++) { + indices.push(i, i + 1, 0); + } + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } + static fromJSON(data) { + return new CircleGeometry(data.radius, data.segments, data.thetaStart, data.thetaLength); + } +} +class CylinderGeometry extends BufferGeometry { + static { + __name(this, "CylinderGeometry"); + } + constructor(radiusTop = 1, radiusBottom = 1, height = 1, radialSegments = 32, heightSegments = 1, openEnded = false, thetaStart = 0, thetaLength = Math.PI * 2) { + super(); + this.type = "CylinderGeometry"; + this.parameters = { + radiusTop, + radiusBottom, + height, + radialSegments, + heightSegments, + openEnded, + thetaStart, + thetaLength + }; + const scope = this; + radialSegments = Math.floor(radialSegments); + heightSegments = Math.floor(heightSegments); + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + let index = 0; + const indexArray = []; + const halfHeight = height / 2; + let groupStart = 0; + generateTorso(); + if (openEnded === false) { + if (radiusTop > 0) generateCap(true); + if (radiusBottom > 0) generateCap(false); + } + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + function generateTorso() { + const normal = new Vector3(); + const vertex2 = new Vector3(); + let groupCount = 0; + const slope = (radiusBottom - radiusTop) / height; + for (let y = 0; y <= heightSegments; y++) { + const indexRow = []; + const v = y / heightSegments; + const radius = v * (radiusBottom - radiusTop) + radiusTop; + for (let x = 0; x <= radialSegments; x++) { + const u = x / radialSegments; + const theta = u * thetaLength + thetaStart; + const sinTheta = Math.sin(theta); + const cosTheta = Math.cos(theta); + vertex2.x = radius * sinTheta; + vertex2.y = -v * height + halfHeight; + vertex2.z = radius * cosTheta; + vertices.push(vertex2.x, vertex2.y, vertex2.z); + normal.set(sinTheta, slope, cosTheta).normalize(); + normals.push(normal.x, normal.y, normal.z); + uvs.push(u, 1 - v); + indexRow.push(index++); + } + indexArray.push(indexRow); + } + for (let x = 0; x < radialSegments; x++) { + for (let y = 0; y < heightSegments; y++) { + const a = indexArray[y][x]; + const b = indexArray[y + 1][x]; + const c = indexArray[y + 1][x + 1]; + const d = indexArray[y][x + 1]; + if (radiusTop > 0 || y !== 0) { + indices.push(a, b, d); + groupCount += 3; + } + if (radiusBottom > 0 || y !== heightSegments - 1) { + indices.push(b, c, d); + groupCount += 3; + } + } + } + scope.addGroup(groupStart, groupCount, 0); + groupStart += groupCount; + } + __name(generateTorso, "generateTorso"); + function generateCap(top) { + const centerIndexStart = index; + const uv = new Vector2(); + const vertex2 = new Vector3(); + let groupCount = 0; + const radius = top === true ? radiusTop : radiusBottom; + const sign2 = top === true ? 1 : -1; + for (let x = 1; x <= radialSegments; x++) { + vertices.push(0, halfHeight * sign2, 0); + normals.push(0, sign2, 0); + uvs.push(0.5, 0.5); + index++; + } + const centerIndexEnd = index; + for (let x = 0; x <= radialSegments; x++) { + const u = x / radialSegments; + const theta = u * thetaLength + thetaStart; + const cosTheta = Math.cos(theta); + const sinTheta = Math.sin(theta); + vertex2.x = radius * sinTheta; + vertex2.y = halfHeight * sign2; + vertex2.z = radius * cosTheta; + vertices.push(vertex2.x, vertex2.y, vertex2.z); + normals.push(0, sign2, 0); + uv.x = cosTheta * 0.5 + 0.5; + uv.y = sinTheta * 0.5 * sign2 + 0.5; + uvs.push(uv.x, uv.y); + index++; + } + for (let x = 0; x < radialSegments; x++) { + const c = centerIndexStart + x; + const i = centerIndexEnd + x; + if (top === true) { + indices.push(i, i + 1, c); + } else { + indices.push(i + 1, i, c); + } + groupCount += 3; + } + scope.addGroup(groupStart, groupCount, top === true ? 1 : 2); + groupStart += groupCount; + } + __name(generateCap, "generateCap"); + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } + static fromJSON(data) { + return new CylinderGeometry(data.radiusTop, data.radiusBottom, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength); + } +} +class ConeGeometry extends CylinderGeometry { + static { + __name(this, "ConeGeometry"); + } + constructor(radius = 1, height = 1, radialSegments = 32, heightSegments = 1, openEnded = false, thetaStart = 0, thetaLength = Math.PI * 2) { + super(0, radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength); + this.type = "ConeGeometry"; + this.parameters = { + radius, + height, + radialSegments, + heightSegments, + openEnded, + thetaStart, + thetaLength + }; + } + static fromJSON(data) { + return new ConeGeometry(data.radius, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength); + } +} +class PolyhedronGeometry extends BufferGeometry { + static { + __name(this, "PolyhedronGeometry"); + } + constructor(vertices = [], indices = [], radius = 1, detail = 0) { + super(); + this.type = "PolyhedronGeometry"; + this.parameters = { + vertices, + indices, + radius, + detail + }; + const vertexBuffer = []; + const uvBuffer = []; + subdivide(detail); + applyRadius(radius); + generateUVs(); + this.setAttribute("position", new Float32BufferAttribute(vertexBuffer, 3)); + this.setAttribute("normal", new Float32BufferAttribute(vertexBuffer.slice(), 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvBuffer, 2)); + if (detail === 0) { + this.computeVertexNormals(); + } else { + this.normalizeNormals(); + } + function subdivide(detail2) { + const a = new Vector3(); + const b = new Vector3(); + const c = new Vector3(); + for (let i = 0; i < indices.length; i += 3) { + getVertexByIndex(indices[i + 0], a); + getVertexByIndex(indices[i + 1], b); + getVertexByIndex(indices[i + 2], c); + subdivideFace(a, b, c, detail2); + } + } + __name(subdivide, "subdivide"); + function subdivideFace(a, b, c, detail2) { + const cols = detail2 + 1; + const v = []; + for (let i = 0; i <= cols; i++) { + v[i] = []; + const aj = a.clone().lerp(c, i / cols); + const bj = b.clone().lerp(c, i / cols); + const rows = cols - i; + for (let j = 0; j <= rows; j++) { + if (j === 0 && i === cols) { + v[i][j] = aj; + } else { + v[i][j] = aj.clone().lerp(bj, j / rows); + } + } + } + for (let i = 0; i < cols; i++) { + for (let j = 0; j < 2 * (cols - i) - 1; j++) { + const k = Math.floor(j / 2); + if (j % 2 === 0) { + pushVertex(v[i][k + 1]); + pushVertex(v[i + 1][k]); + pushVertex(v[i][k]); + } else { + pushVertex(v[i][k + 1]); + pushVertex(v[i + 1][k + 1]); + pushVertex(v[i + 1][k]); + } + } + } + } + __name(subdivideFace, "subdivideFace"); + function applyRadius(radius2) { + const vertex2 = new Vector3(); + for (let i = 0; i < vertexBuffer.length; i += 3) { + vertex2.x = vertexBuffer[i + 0]; + vertex2.y = vertexBuffer[i + 1]; + vertex2.z = vertexBuffer[i + 2]; + vertex2.normalize().multiplyScalar(radius2); + vertexBuffer[i + 0] = vertex2.x; + vertexBuffer[i + 1] = vertex2.y; + vertexBuffer[i + 2] = vertex2.z; + } + } + __name(applyRadius, "applyRadius"); + function generateUVs() { + const vertex2 = new Vector3(); + for (let i = 0; i < vertexBuffer.length; i += 3) { + vertex2.x = vertexBuffer[i + 0]; + vertex2.y = vertexBuffer[i + 1]; + vertex2.z = vertexBuffer[i + 2]; + const u = azimuth(vertex2) / 2 / Math.PI + 0.5; + const v = inclination(vertex2) / Math.PI + 0.5; + uvBuffer.push(u, 1 - v); + } + correctUVs(); + correctSeam(); + } + __name(generateUVs, "generateUVs"); + function correctSeam() { + for (let i = 0; i < uvBuffer.length; i += 6) { + const x0 = uvBuffer[i + 0]; + const x1 = uvBuffer[i + 2]; + const x2 = uvBuffer[i + 4]; + const max2 = Math.max(x0, x1, x2); + const min = Math.min(x0, x1, x2); + if (max2 > 0.9 && min < 0.1) { + if (x0 < 0.2) uvBuffer[i + 0] += 1; + if (x1 < 0.2) uvBuffer[i + 2] += 1; + if (x2 < 0.2) uvBuffer[i + 4] += 1; + } + } + } + __name(correctSeam, "correctSeam"); + function pushVertex(vertex2) { + vertexBuffer.push(vertex2.x, vertex2.y, vertex2.z); + } + __name(pushVertex, "pushVertex"); + function getVertexByIndex(index, vertex2) { + const stride = index * 3; + vertex2.x = vertices[stride + 0]; + vertex2.y = vertices[stride + 1]; + vertex2.z = vertices[stride + 2]; + } + __name(getVertexByIndex, "getVertexByIndex"); + function correctUVs() { + const a = new Vector3(); + const b = new Vector3(); + const c = new Vector3(); + const centroid = new Vector3(); + const uvA = new Vector2(); + const uvB = new Vector2(); + const uvC = new Vector2(); + for (let i = 0, j = 0; i < vertexBuffer.length; i += 9, j += 6) { + a.set(vertexBuffer[i + 0], vertexBuffer[i + 1], vertexBuffer[i + 2]); + b.set(vertexBuffer[i + 3], vertexBuffer[i + 4], vertexBuffer[i + 5]); + c.set(vertexBuffer[i + 6], vertexBuffer[i + 7], vertexBuffer[i + 8]); + uvA.set(uvBuffer[j + 0], uvBuffer[j + 1]); + uvB.set(uvBuffer[j + 2], uvBuffer[j + 3]); + uvC.set(uvBuffer[j + 4], uvBuffer[j + 5]); + centroid.copy(a).add(b).add(c).divideScalar(3); + const azi = azimuth(centroid); + correctUV(uvA, j + 0, a, azi); + correctUV(uvB, j + 2, b, azi); + correctUV(uvC, j + 4, c, azi); + } + } + __name(correctUVs, "correctUVs"); + function correctUV(uv, stride, vector, azimuth2) { + if (azimuth2 < 0 && uv.x === 1) { + uvBuffer[stride] = uv.x - 1; + } + if (vector.x === 0 && vector.z === 0) { + uvBuffer[stride] = azimuth2 / 2 / Math.PI + 0.5; + } + } + __name(correctUV, "correctUV"); + function azimuth(vector) { + return Math.atan2(vector.z, -vector.x); + } + __name(azimuth, "azimuth"); + function inclination(vector) { + return Math.atan2(-vector.y, Math.sqrt(vector.x * vector.x + vector.z * vector.z)); + } + __name(inclination, "inclination"); + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } + static fromJSON(data) { + return new PolyhedronGeometry(data.vertices, data.indices, data.radius, data.details); + } +} +class DodecahedronGeometry extends PolyhedronGeometry { + static { + __name(this, "DodecahedronGeometry"); + } + constructor(radius = 1, detail = 0) { + const t2 = (1 + Math.sqrt(5)) / 2; + const r = 1 / t2; + const vertices = [ + // (±1, ±1, ±1) + -1, + -1, + -1, + -1, + -1, + 1, + -1, + 1, + -1, + -1, + 1, + 1, + 1, + -1, + -1, + 1, + -1, + 1, + 1, + 1, + -1, + 1, + 1, + 1, + // (0, ±1/φ, ±φ) + 0, + -r, + -t2, + 0, + -r, + t2, + 0, + r, + -t2, + 0, + r, + t2, + // (±1/φ, ±φ, 0) + -r, + -t2, + 0, + -r, + t2, + 0, + r, + -t2, + 0, + r, + t2, + 0, + // (±φ, 0, ±1/φ) + -t2, + 0, + -r, + t2, + 0, + -r, + -t2, + 0, + r, + t2, + 0, + r + ]; + const indices = [ + 3, + 11, + 7, + 3, + 7, + 15, + 3, + 15, + 13, + 7, + 19, + 17, + 7, + 17, + 6, + 7, + 6, + 15, + 17, + 4, + 8, + 17, + 8, + 10, + 17, + 10, + 6, + 8, + 0, + 16, + 8, + 16, + 2, + 8, + 2, + 10, + 0, + 12, + 1, + 0, + 1, + 18, + 0, + 18, + 16, + 6, + 10, + 2, + 6, + 2, + 13, + 6, + 13, + 15, + 2, + 16, + 18, + 2, + 18, + 3, + 2, + 3, + 13, + 18, + 1, + 9, + 18, + 9, + 11, + 18, + 11, + 3, + 4, + 14, + 12, + 4, + 12, + 0, + 4, + 0, + 8, + 11, + 9, + 5, + 11, + 5, + 19, + 11, + 19, + 7, + 19, + 5, + 14, + 19, + 14, + 4, + 19, + 4, + 17, + 1, + 12, + 14, + 1, + 14, + 5, + 1, + 5, + 9 + ]; + super(vertices, indices, radius, detail); + this.type = "DodecahedronGeometry"; + this.parameters = { + radius, + detail + }; + } + static fromJSON(data) { + return new DodecahedronGeometry(data.radius, data.detail); + } +} +const _v0 = /* @__PURE__ */ new Vector3(); +const _v1$1 = /* @__PURE__ */ new Vector3(); +const _normal = /* @__PURE__ */ new Vector3(); +const _triangle = /* @__PURE__ */ new Triangle(); +class EdgesGeometry extends BufferGeometry { + static { + __name(this, "EdgesGeometry"); + } + constructor(geometry = null, thresholdAngle = 1) { + super(); + this.type = "EdgesGeometry"; + this.parameters = { + geometry, + thresholdAngle + }; + if (geometry !== null) { + const precisionPoints = 4; + const precision = Math.pow(10, precisionPoints); + const thresholdDot = Math.cos(DEG2RAD * thresholdAngle); + const indexAttr = geometry.getIndex(); + const positionAttr = geometry.getAttribute("position"); + const indexCount = indexAttr ? indexAttr.count : positionAttr.count; + const indexArr = [0, 0, 0]; + const vertKeys = ["a", "b", "c"]; + const hashes = new Array(3); + const edgeData = {}; + const vertices = []; + for (let i = 0; i < indexCount; i += 3) { + if (indexAttr) { + indexArr[0] = indexAttr.getX(i); + indexArr[1] = indexAttr.getX(i + 1); + indexArr[2] = indexAttr.getX(i + 2); + } else { + indexArr[0] = i; + indexArr[1] = i + 1; + indexArr[2] = i + 2; + } + const { a, b, c } = _triangle; + a.fromBufferAttribute(positionAttr, indexArr[0]); + b.fromBufferAttribute(positionAttr, indexArr[1]); + c.fromBufferAttribute(positionAttr, indexArr[2]); + _triangle.getNormal(_normal); + hashes[0] = `${Math.round(a.x * precision)},${Math.round(a.y * precision)},${Math.round(a.z * precision)}`; + hashes[1] = `${Math.round(b.x * precision)},${Math.round(b.y * precision)},${Math.round(b.z * precision)}`; + hashes[2] = `${Math.round(c.x * precision)},${Math.round(c.y * precision)},${Math.round(c.z * precision)}`; + if (hashes[0] === hashes[1] || hashes[1] === hashes[2] || hashes[2] === hashes[0]) { + continue; + } + for (let j = 0; j < 3; j++) { + const jNext = (j + 1) % 3; + const vecHash0 = hashes[j]; + const vecHash1 = hashes[jNext]; + const v0 = _triangle[vertKeys[j]]; + const v1 = _triangle[vertKeys[jNext]]; + const hash = `${vecHash0}_${vecHash1}`; + const reverseHash = `${vecHash1}_${vecHash0}`; + if (reverseHash in edgeData && edgeData[reverseHash]) { + if (_normal.dot(edgeData[reverseHash].normal) <= thresholdDot) { + vertices.push(v0.x, v0.y, v0.z); + vertices.push(v1.x, v1.y, v1.z); + } + edgeData[reverseHash] = null; + } else if (!(hash in edgeData)) { + edgeData[hash] = { + index0: indexArr[j], + index1: indexArr[jNext], + normal: _normal.clone() + }; + } + } + } + for (const key in edgeData) { + if (edgeData[key]) { + const { index0, index1 } = edgeData[key]; + _v0.fromBufferAttribute(positionAttr, index0); + _v1$1.fromBufferAttribute(positionAttr, index1); + vertices.push(_v0.x, _v0.y, _v0.z); + vertices.push(_v1$1.x, _v1$1.y, _v1$1.z); + } + } + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + } + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } +} +class Shape extends Path { + static { + __name(this, "Shape"); + } + constructor(points) { + super(points); + this.uuid = generateUUID(); + this.type = "Shape"; + this.holes = []; + } + getPointsHoles(divisions) { + const holesPts = []; + for (let i = 0, l = this.holes.length; i < l; i++) { + holesPts[i] = this.holes[i].getPoints(divisions); + } + return holesPts; + } + // get points of shape and holes (keypoints based on segments parameter) + extractPoints(divisions) { + return { + shape: this.getPoints(divisions), + holes: this.getPointsHoles(divisions) + }; + } + copy(source) { + super.copy(source); + this.holes = []; + for (let i = 0, l = source.holes.length; i < l; i++) { + const hole = source.holes[i]; + this.holes.push(hole.clone()); + } + return this; + } + toJSON() { + const data = super.toJSON(); + data.uuid = this.uuid; + data.holes = []; + for (let i = 0, l = this.holes.length; i < l; i++) { + const hole = this.holes[i]; + data.holes.push(hole.toJSON()); + } + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.uuid = json.uuid; + this.holes = []; + for (let i = 0, l = json.holes.length; i < l; i++) { + const hole = json.holes[i]; + this.holes.push(new Path().fromJSON(hole)); + } + return this; + } +} +const Earcut = { + triangulate: /* @__PURE__ */ __name(function(data, holeIndices, dim = 2) { + const hasHoles = holeIndices && holeIndices.length; + const outerLen = hasHoles ? holeIndices[0] * dim : data.length; + let outerNode = linkedList(data, 0, outerLen, dim, true); + const triangles = []; + if (!outerNode || outerNode.next === outerNode.prev) return triangles; + let minX, minY, maxX, maxY, x, y, invSize; + if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim); + if (data.length > 80 * dim) { + minX = maxX = data[0]; + minY = maxY = data[1]; + for (let i = dim; i < outerLen; i += dim) { + x = data[i]; + y = data[i + 1]; + if (x < minX) minX = x; + if (y < minY) minY = y; + if (x > maxX) maxX = x; + if (y > maxY) maxY = y; + } + invSize = Math.max(maxX - minX, maxY - minY); + invSize = invSize !== 0 ? 32767 / invSize : 0; + } + earcutLinked(outerNode, triangles, dim, minX, minY, invSize, 0); + return triangles; + }, "triangulate") +}; +function linkedList(data, start, end, dim, clockwise) { + let i, last; + if (clockwise === signedArea(data, start, end, dim) > 0) { + for (i = start; i < end; i += dim) last = insertNode(i, data[i], data[i + 1], last); + } else { + for (i = end - dim; i >= start; i -= dim) last = insertNode(i, data[i], data[i + 1], last); + } + if (last && equals(last, last.next)) { + removeNode(last); + last = last.next; + } + return last; +} +__name(linkedList, "linkedList"); +function filterPoints(start, end) { + if (!start) return start; + if (!end) end = start; + let p = start, again; + do { + again = false; + if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) { + removeNode(p); + p = end = p.prev; + if (p === p.next) break; + again = true; + } else { + p = p.next; + } + } while (again || p !== end); + return end; +} +__name(filterPoints, "filterPoints"); +function earcutLinked(ear, triangles, dim, minX, minY, invSize, pass) { + if (!ear) return; + if (!pass && invSize) indexCurve(ear, minX, minY, invSize); + let stop = ear, prev, next; + while (ear.prev !== ear.next) { + prev = ear.prev; + next = ear.next; + if (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear)) { + triangles.push(prev.i / dim | 0); + triangles.push(ear.i / dim | 0); + triangles.push(next.i / dim | 0); + removeNode(ear); + ear = next.next; + stop = next.next; + continue; + } + ear = next; + if (ear === stop) { + if (!pass) { + earcutLinked(filterPoints(ear), triangles, dim, minX, minY, invSize, 1); + } else if (pass === 1) { + ear = cureLocalIntersections(filterPoints(ear), triangles, dim); + earcutLinked(ear, triangles, dim, minX, minY, invSize, 2); + } else if (pass === 2) { + splitEarcut(ear, triangles, dim, minX, minY, invSize); + } + break; + } + } +} +__name(earcutLinked, "earcutLinked"); +function isEar(ear) { + const a = ear.prev, b = ear, c = ear.next; + if (area(a, b, c) >= 0) return false; + const ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y; + const x0 = ax < bx ? ax < cx ? ax : cx : bx < cx ? bx : cx, y0 = ay < by ? ay < cy ? ay : cy : by < cy ? by : cy, x1 = ax > bx ? ax > cx ? ax : cx : bx > cx ? bx : cx, y1 = ay > by ? ay > cy ? ay : cy : by > cy ? by : cy; + let p = c.next; + while (p !== a) { + if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false; + p = p.next; + } + return true; +} +__name(isEar, "isEar"); +function isEarHashed(ear, minX, minY, invSize) { + const a = ear.prev, b = ear, c = ear.next; + if (area(a, b, c) >= 0) return false; + const ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y; + const x0 = ax < bx ? ax < cx ? ax : cx : bx < cx ? bx : cx, y0 = ay < by ? ay < cy ? ay : cy : by < cy ? by : cy, x1 = ax > bx ? ax > cx ? ax : cx : bx > cx ? bx : cx, y1 = ay > by ? ay > cy ? ay : cy : by > cy ? by : cy; + const minZ = zOrder(x0, y0, minX, minY, invSize), maxZ = zOrder(x1, y1, minX, minY, invSize); + let p = ear.prevZ, n = ear.nextZ; + while (p && p.z >= minZ && n && n.z <= maxZ) { + if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== a && p !== c && pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false; + p = p.prevZ; + if (n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== a && n !== c && pointInTriangle(ax, ay, bx, by, cx, cy, n.x, n.y) && area(n.prev, n, n.next) >= 0) return false; + n = n.nextZ; + } + while (p && p.z >= minZ) { + if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== a && p !== c && pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false; + p = p.prevZ; + } + while (n && n.z <= maxZ) { + if (n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== a && n !== c && pointInTriangle(ax, ay, bx, by, cx, cy, n.x, n.y) && area(n.prev, n, n.next) >= 0) return false; + n = n.nextZ; + } + return true; +} +__name(isEarHashed, "isEarHashed"); +function cureLocalIntersections(start, triangles, dim) { + let p = start; + do { + const a = p.prev, b = p.next.next; + if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) { + triangles.push(a.i / dim | 0); + triangles.push(p.i / dim | 0); + triangles.push(b.i / dim | 0); + removeNode(p); + removeNode(p.next); + p = start = b; + } + p = p.next; + } while (p !== start); + return filterPoints(p); +} +__name(cureLocalIntersections, "cureLocalIntersections"); +function splitEarcut(start, triangles, dim, minX, minY, invSize) { + let a = start; + do { + let b = a.next.next; + while (b !== a.prev) { + if (a.i !== b.i && isValidDiagonal(a, b)) { + let c = splitPolygon(a, b); + a = filterPoints(a, a.next); + c = filterPoints(c, c.next); + earcutLinked(a, triangles, dim, minX, minY, invSize, 0); + earcutLinked(c, triangles, dim, minX, minY, invSize, 0); + return; + } + b = b.next; + } + a = a.next; + } while (a !== start); +} +__name(splitEarcut, "splitEarcut"); +function eliminateHoles(data, holeIndices, outerNode, dim) { + const queue = []; + let i, len, start, end, list; + for (i = 0, len = holeIndices.length; i < len; i++) { + start = holeIndices[i] * dim; + end = i < len - 1 ? holeIndices[i + 1] * dim : data.length; + list = linkedList(data, start, end, dim, false); + if (list === list.next) list.steiner = true; + queue.push(getLeftmost(list)); + } + queue.sort(compareX); + for (i = 0; i < queue.length; i++) { + outerNode = eliminateHole(queue[i], outerNode); + } + return outerNode; +} +__name(eliminateHoles, "eliminateHoles"); +function compareX(a, b) { + return a.x - b.x; +} +__name(compareX, "compareX"); +function eliminateHole(hole, outerNode) { + const bridge = findHoleBridge(hole, outerNode); + if (!bridge) { + return outerNode; + } + const bridgeReverse = splitPolygon(bridge, hole); + filterPoints(bridgeReverse, bridgeReverse.next); + return filterPoints(bridge, bridge.next); +} +__name(eliminateHole, "eliminateHole"); +function findHoleBridge(hole, outerNode) { + let p = outerNode, qx = -Infinity, m; + const hx = hole.x, hy = hole.y; + do { + if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) { + const x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y); + if (x <= hx && x > qx) { + qx = x; + m = p.x < p.next.x ? p : p.next; + if (x === hx) return m; + } + } + p = p.next; + } while (p !== outerNode); + if (!m) return null; + const stop = m, mx = m.x, my = m.y; + let tanMin = Infinity, tan; + p = m; + do { + if (hx >= p.x && p.x >= mx && hx !== p.x && pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) { + tan = Math.abs(hy - p.y) / (hx - p.x); + if (locallyInside(p, hole) && (tan < tanMin || tan === tanMin && (p.x > m.x || p.x === m.x && sectorContainsSector(m, p)))) { + m = p; + tanMin = tan; + } + } + p = p.next; + } while (p !== stop); + return m; +} +__name(findHoleBridge, "findHoleBridge"); +function sectorContainsSector(m, p) { + return area(m.prev, m, p.prev) < 0 && area(p.next, m, m.next) < 0; +} +__name(sectorContainsSector, "sectorContainsSector"); +function indexCurve(start, minX, minY, invSize) { + let p = start; + do { + if (p.z === 0) p.z = zOrder(p.x, p.y, minX, minY, invSize); + p.prevZ = p.prev; + p.nextZ = p.next; + p = p.next; + } while (p !== start); + p.prevZ.nextZ = null; + p.prevZ = null; + sortLinked(p); +} +__name(indexCurve, "indexCurve"); +function sortLinked(list) { + let i, p, q, e, tail, numMerges, pSize, qSize, inSize = 1; + do { + p = list; + list = null; + tail = null; + numMerges = 0; + while (p) { + numMerges++; + q = p; + pSize = 0; + for (i = 0; i < inSize; i++) { + pSize++; + q = q.nextZ; + if (!q) break; + } + qSize = inSize; + while (pSize > 0 || qSize > 0 && q) { + if (pSize !== 0 && (qSize === 0 || !q || p.z <= q.z)) { + e = p; + p = p.nextZ; + pSize--; + } else { + e = q; + q = q.nextZ; + qSize--; + } + if (tail) tail.nextZ = e; + else list = e; + e.prevZ = tail; + tail = e; + } + p = q; + } + tail.nextZ = null; + inSize *= 2; + } while (numMerges > 1); + return list; +} +__name(sortLinked, "sortLinked"); +function zOrder(x, y, minX, minY, invSize) { + x = (x - minX) * invSize | 0; + y = (y - minY) * invSize | 0; + x = (x | x << 8) & 16711935; + x = (x | x << 4) & 252645135; + x = (x | x << 2) & 858993459; + x = (x | x << 1) & 1431655765; + y = (y | y << 8) & 16711935; + y = (y | y << 4) & 252645135; + y = (y | y << 2) & 858993459; + y = (y | y << 1) & 1431655765; + return x | y << 1; +} +__name(zOrder, "zOrder"); +function getLeftmost(start) { + let p = start, leftmost = start; + do { + if (p.x < leftmost.x || p.x === leftmost.x && p.y < leftmost.y) leftmost = p; + p = p.next; + } while (p !== start); + return leftmost; +} +__name(getLeftmost, "getLeftmost"); +function pointInTriangle(ax, ay, bx, by, cx, cy, px2, py2) { + return (cx - px2) * (ay - py2) >= (ax - px2) * (cy - py2) && (ax - px2) * (by - py2) >= (bx - px2) * (ay - py2) && (bx - px2) * (cy - py2) >= (cx - px2) * (by - py2); +} +__name(pointInTriangle, "pointInTriangle"); +function isValidDiagonal(a, b) { + return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) && // dones't intersect other edges + (locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b) && // locally visible + (area(a.prev, a, b.prev) || area(a, b.prev, b)) || // does not create opposite-facing sectors + equals(a, b) && area(a.prev, a, a.next) > 0 && area(b.prev, b, b.next) > 0); +} +__name(isValidDiagonal, "isValidDiagonal"); +function area(p, q, r) { + return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y); +} +__name(area, "area"); +function equals(p1, p2) { + return p1.x === p2.x && p1.y === p2.y; +} +__name(equals, "equals"); +function intersects(p1, q1, p2, q2) { + const o1 = sign(area(p1, q1, p2)); + const o2 = sign(area(p1, q1, q2)); + const o3 = sign(area(p2, q2, p1)); + const o4 = sign(area(p2, q2, q1)); + if (o1 !== o2 && o3 !== o4) return true; + if (o1 === 0 && onSegment(p1, p2, q1)) return true; + if (o2 === 0 && onSegment(p1, q2, q1)) return true; + if (o3 === 0 && onSegment(p2, p1, q2)) return true; + if (o4 === 0 && onSegment(p2, q1, q2)) return true; + return false; +} +__name(intersects, "intersects"); +function onSegment(p, q, r) { + return q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y); +} +__name(onSegment, "onSegment"); +function sign(num) { + return num > 0 ? 1 : num < 0 ? -1 : 0; +} +__name(sign, "sign"); +function intersectsPolygon(a, b) { + let p = a; + do { + if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i && intersects(p, p.next, a, b)) return true; + p = p.next; + } while (p !== a); + return false; +} +__name(intersectsPolygon, "intersectsPolygon"); +function locallyInside(a, b) { + return area(a.prev, a, a.next) < 0 ? area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 : area(a, b, a.prev) < 0 || area(a, a.next, b) < 0; +} +__name(locallyInside, "locallyInside"); +function middleInside(a, b) { + let p = a, inside = false; + const px2 = (a.x + b.x) / 2, py2 = (a.y + b.y) / 2; + do { + if (p.y > py2 !== p.next.y > py2 && p.next.y !== p.y && px2 < (p.next.x - p.x) * (py2 - p.y) / (p.next.y - p.y) + p.x) + inside = !inside; + p = p.next; + } while (p !== a); + return inside; +} +__name(middleInside, "middleInside"); +function splitPolygon(a, b) { + const a2 = new Node(a.i, a.x, a.y), b22 = new Node(b.i, b.x, b.y), an = a.next, bp = b.prev; + a.next = b; + b.prev = a; + a2.next = an; + an.prev = a2; + b22.next = a2; + a2.prev = b22; + bp.next = b22; + b22.prev = bp; + return b22; +} +__name(splitPolygon, "splitPolygon"); +function insertNode(i, x, y, last) { + const p = new Node(i, x, y); + if (!last) { + p.prev = p; + p.next = p; + } else { + p.next = last.next; + p.prev = last; + last.next.prev = p; + last.next = p; + } + return p; +} +__name(insertNode, "insertNode"); +function removeNode(p) { + p.next.prev = p.prev; + p.prev.next = p.next; + if (p.prevZ) p.prevZ.nextZ = p.nextZ; + if (p.nextZ) p.nextZ.prevZ = p.prevZ; +} +__name(removeNode, "removeNode"); +function Node(i, x, y) { + this.i = i; + this.x = x; + this.y = y; + this.prev = null; + this.next = null; + this.z = 0; + this.prevZ = null; + this.nextZ = null; + this.steiner = false; +} +__name(Node, "Node"); +function signedArea(data, start, end, dim) { + let sum = 0; + for (let i = start, j = end - dim; i < end; i += dim) { + sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]); + j = i; + } + return sum; +} +__name(signedArea, "signedArea"); +class ShapeUtils { + static { + __name(this, "ShapeUtils"); + } + // calculate area of the contour polygon + static area(contour) { + const n = contour.length; + let a = 0; + for (let p = n - 1, q = 0; q < n; p = q++) { + a += contour[p].x * contour[q].y - contour[q].x * contour[p].y; + } + return a * 0.5; + } + static isClockWise(pts) { + return ShapeUtils.area(pts) < 0; + } + static triangulateShape(contour, holes) { + const vertices = []; + const holeIndices = []; + const faces = []; + removeDupEndPts(contour); + addContour(vertices, contour); + let holeIndex = contour.length; + holes.forEach(removeDupEndPts); + for (let i = 0; i < holes.length; i++) { + holeIndices.push(holeIndex); + holeIndex += holes[i].length; + addContour(vertices, holes[i]); + } + const triangles = Earcut.triangulate(vertices, holeIndices); + for (let i = 0; i < triangles.length; i += 3) { + faces.push(triangles.slice(i, i + 3)); + } + return faces; + } +} +function removeDupEndPts(points) { + const l = points.length; + if (l > 2 && points[l - 1].equals(points[0])) { + points.pop(); + } +} +__name(removeDupEndPts, "removeDupEndPts"); +function addContour(vertices, contour) { + for (let i = 0; i < contour.length; i++) { + vertices.push(contour[i].x); + vertices.push(contour[i].y); + } +} +__name(addContour, "addContour"); +class ExtrudeGeometry extends BufferGeometry { + static { + __name(this, "ExtrudeGeometry"); + } + constructor(shapes = new Shape([new Vector2(0.5, 0.5), new Vector2(-0.5, 0.5), new Vector2(-0.5, -0.5), new Vector2(0.5, -0.5)]), options = {}) { + super(); + this.type = "ExtrudeGeometry"; + this.parameters = { + shapes, + options + }; + shapes = Array.isArray(shapes) ? shapes : [shapes]; + const scope = this; + const verticesArray = []; + const uvArray = []; + for (let i = 0, l = shapes.length; i < l; i++) { + const shape = shapes[i]; + addShape(shape); + } + this.setAttribute("position", new Float32BufferAttribute(verticesArray, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvArray, 2)); + this.computeVertexNormals(); + function addShape(shape) { + const placeholder = []; + const curveSegments = options.curveSegments !== void 0 ? options.curveSegments : 12; + const steps = options.steps !== void 0 ? options.steps : 1; + const depth = options.depth !== void 0 ? options.depth : 1; + let bevelEnabled = options.bevelEnabled !== void 0 ? options.bevelEnabled : true; + let bevelThickness = options.bevelThickness !== void 0 ? options.bevelThickness : 0.2; + let bevelSize = options.bevelSize !== void 0 ? options.bevelSize : bevelThickness - 0.1; + let bevelOffset = options.bevelOffset !== void 0 ? options.bevelOffset : 0; + let bevelSegments = options.bevelSegments !== void 0 ? options.bevelSegments : 3; + const extrudePath = options.extrudePath; + const uvgen = options.UVGenerator !== void 0 ? options.UVGenerator : WorldUVGenerator; + let extrudePts, extrudeByPath = false; + let splineTube, binormal, normal, position2; + if (extrudePath) { + extrudePts = extrudePath.getSpacedPoints(steps); + extrudeByPath = true; + bevelEnabled = false; + splineTube = extrudePath.computeFrenetFrames(steps, false); + binormal = new Vector3(); + normal = new Vector3(); + position2 = new Vector3(); + } + if (!bevelEnabled) { + bevelSegments = 0; + bevelThickness = 0; + bevelSize = 0; + bevelOffset = 0; + } + const shapePoints = shape.extractPoints(curveSegments); + let vertices = shapePoints.shape; + const holes = shapePoints.holes; + const reverse = !ShapeUtils.isClockWise(vertices); + if (reverse) { + vertices = vertices.reverse(); + for (let h = 0, hl = holes.length; h < hl; h++) { + const ahole = holes[h]; + if (ShapeUtils.isClockWise(ahole)) { + holes[h] = ahole.reverse(); + } + } + } + const faces = ShapeUtils.triangulateShape(vertices, holes); + const contour = vertices; + for (let h = 0, hl = holes.length; h < hl; h++) { + const ahole = holes[h]; + vertices = vertices.concat(ahole); + } + function scalePt2(pt, vec, size) { + if (!vec) console.error("THREE.ExtrudeGeometry: vec does not exist"); + return pt.clone().addScaledVector(vec, size); + } + __name(scalePt2, "scalePt2"); + const vlen = vertices.length, flen = faces.length; + function getBevelVec(inPt, inPrev, inNext) { + let v_trans_x, v_trans_y, shrink_by; + const v_prev_x = inPt.x - inPrev.x, v_prev_y = inPt.y - inPrev.y; + const v_next_x = inNext.x - inPt.x, v_next_y = inNext.y - inPt.y; + const v_prev_lensq = v_prev_x * v_prev_x + v_prev_y * v_prev_y; + const collinear0 = v_prev_x * v_next_y - v_prev_y * v_next_x; + if (Math.abs(collinear0) > Number.EPSILON) { + const v_prev_len = Math.sqrt(v_prev_lensq); + const v_next_len = Math.sqrt(v_next_x * v_next_x + v_next_y * v_next_y); + const ptPrevShift_x = inPrev.x - v_prev_y / v_prev_len; + const ptPrevShift_y = inPrev.y + v_prev_x / v_prev_len; + const ptNextShift_x = inNext.x - v_next_y / v_next_len; + const ptNextShift_y = inNext.y + v_next_x / v_next_len; + const sf = ((ptNextShift_x - ptPrevShift_x) * v_next_y - (ptNextShift_y - ptPrevShift_y) * v_next_x) / (v_prev_x * v_next_y - v_prev_y * v_next_x); + v_trans_x = ptPrevShift_x + v_prev_x * sf - inPt.x; + v_trans_y = ptPrevShift_y + v_prev_y * sf - inPt.y; + const v_trans_lensq = v_trans_x * v_trans_x + v_trans_y * v_trans_y; + if (v_trans_lensq <= 2) { + return new Vector2(v_trans_x, v_trans_y); + } else { + shrink_by = Math.sqrt(v_trans_lensq / 2); + } + } else { + let direction_eq = false; + if (v_prev_x > Number.EPSILON) { + if (v_next_x > Number.EPSILON) { + direction_eq = true; + } + } else { + if (v_prev_x < -Number.EPSILON) { + if (v_next_x < -Number.EPSILON) { + direction_eq = true; + } + } else { + if (Math.sign(v_prev_y) === Math.sign(v_next_y)) { + direction_eq = true; + } + } + } + if (direction_eq) { + v_trans_x = -v_prev_y; + v_trans_y = v_prev_x; + shrink_by = Math.sqrt(v_prev_lensq); + } else { + v_trans_x = v_prev_x; + v_trans_y = v_prev_y; + shrink_by = Math.sqrt(v_prev_lensq / 2); + } + } + return new Vector2(v_trans_x / shrink_by, v_trans_y / shrink_by); + } + __name(getBevelVec, "getBevelVec"); + const contourMovements = []; + for (let i = 0, il = contour.length, j = il - 1, k = i + 1; i < il; i++, j++, k++) { + if (j === il) j = 0; + if (k === il) k = 0; + contourMovements[i] = getBevelVec(contour[i], contour[j], contour[k]); + } + const holesMovements = []; + let oneHoleMovements, verticesMovements = contourMovements.concat(); + for (let h = 0, hl = holes.length; h < hl; h++) { + const ahole = holes[h]; + oneHoleMovements = []; + for (let i = 0, il = ahole.length, j = il - 1, k = i + 1; i < il; i++, j++, k++) { + if (j === il) j = 0; + if (k === il) k = 0; + oneHoleMovements[i] = getBevelVec(ahole[i], ahole[j], ahole[k]); + } + holesMovements.push(oneHoleMovements); + verticesMovements = verticesMovements.concat(oneHoleMovements); + } + for (let b = 0; b < bevelSegments; b++) { + const t2 = b / bevelSegments; + const z = bevelThickness * Math.cos(t2 * Math.PI / 2); + const bs2 = bevelSize * Math.sin(t2 * Math.PI / 2) + bevelOffset; + for (let i = 0, il = contour.length; i < il; i++) { + const vert = scalePt2(contour[i], contourMovements[i], bs2); + v(vert.x, vert.y, -z); + } + for (let h = 0, hl = holes.length; h < hl; h++) { + const ahole = holes[h]; + oneHoleMovements = holesMovements[h]; + for (let i = 0, il = ahole.length; i < il; i++) { + const vert = scalePt2(ahole[i], oneHoleMovements[i], bs2); + v(vert.x, vert.y, -z); + } + } + } + const bs = bevelSize + bevelOffset; + for (let i = 0; i < vlen; i++) { + const vert = bevelEnabled ? scalePt2(vertices[i], verticesMovements[i], bs) : vertices[i]; + if (!extrudeByPath) { + v(vert.x, vert.y, 0); + } else { + normal.copy(splineTube.normals[0]).multiplyScalar(vert.x); + binormal.copy(splineTube.binormals[0]).multiplyScalar(vert.y); + position2.copy(extrudePts[0]).add(normal).add(binormal); + v(position2.x, position2.y, position2.z); + } + } + for (let s = 1; s <= steps; s++) { + for (let i = 0; i < vlen; i++) { + const vert = bevelEnabled ? scalePt2(vertices[i], verticesMovements[i], bs) : vertices[i]; + if (!extrudeByPath) { + v(vert.x, vert.y, depth / steps * s); + } else { + normal.copy(splineTube.normals[s]).multiplyScalar(vert.x); + binormal.copy(splineTube.binormals[s]).multiplyScalar(vert.y); + position2.copy(extrudePts[s]).add(normal).add(binormal); + v(position2.x, position2.y, position2.z); + } + } + } + for (let b = bevelSegments - 1; b >= 0; b--) { + const t2 = b / bevelSegments; + const z = bevelThickness * Math.cos(t2 * Math.PI / 2); + const bs2 = bevelSize * Math.sin(t2 * Math.PI / 2) + bevelOffset; + for (let i = 0, il = contour.length; i < il; i++) { + const vert = scalePt2(contour[i], contourMovements[i], bs2); + v(vert.x, vert.y, depth + z); + } + for (let h = 0, hl = holes.length; h < hl; h++) { + const ahole = holes[h]; + oneHoleMovements = holesMovements[h]; + for (let i = 0, il = ahole.length; i < il; i++) { + const vert = scalePt2(ahole[i], oneHoleMovements[i], bs2); + if (!extrudeByPath) { + v(vert.x, vert.y, depth + z); + } else { + v(vert.x, vert.y + extrudePts[steps - 1].y, extrudePts[steps - 1].x + z); + } + } + } + } + buildLidFaces(); + buildSideFaces(); + function buildLidFaces() { + const start = verticesArray.length / 3; + if (bevelEnabled) { + let layer = 0; + let offset = vlen * layer; + for (let i = 0; i < flen; i++) { + const face = faces[i]; + f3(face[2] + offset, face[1] + offset, face[0] + offset); + } + layer = steps + bevelSegments * 2; + offset = vlen * layer; + for (let i = 0; i < flen; i++) { + const face = faces[i]; + f3(face[0] + offset, face[1] + offset, face[2] + offset); + } + } else { + for (let i = 0; i < flen; i++) { + const face = faces[i]; + f3(face[2], face[1], face[0]); + } + for (let i = 0; i < flen; i++) { + const face = faces[i]; + f3(face[0] + vlen * steps, face[1] + vlen * steps, face[2] + vlen * steps); + } + } + scope.addGroup(start, verticesArray.length / 3 - start, 0); + } + __name(buildLidFaces, "buildLidFaces"); + function buildSideFaces() { + const start = verticesArray.length / 3; + let layeroffset = 0; + sidewalls(contour, layeroffset); + layeroffset += contour.length; + for (let h = 0, hl = holes.length; h < hl; h++) { + const ahole = holes[h]; + sidewalls(ahole, layeroffset); + layeroffset += ahole.length; + } + scope.addGroup(start, verticesArray.length / 3 - start, 1); + } + __name(buildSideFaces, "buildSideFaces"); + function sidewalls(contour2, layeroffset) { + let i = contour2.length; + while (--i >= 0) { + const j = i; + let k = i - 1; + if (k < 0) k = contour2.length - 1; + for (let s = 0, sl = steps + bevelSegments * 2; s < sl; s++) { + const slen1 = vlen * s; + const slen2 = vlen * (s + 1); + const a = layeroffset + j + slen1, b = layeroffset + k + slen1, c = layeroffset + k + slen2, d = layeroffset + j + slen2; + f4(a, b, c, d); + } + } + } + __name(sidewalls, "sidewalls"); + function v(x, y, z) { + placeholder.push(x); + placeholder.push(y); + placeholder.push(z); + } + __name(v, "v"); + function f3(a, b, c) { + addVertex(a); + addVertex(b); + addVertex(c); + const nextIndex = verticesArray.length / 3; + const uvs = uvgen.generateTopUV(scope, verticesArray, nextIndex - 3, nextIndex - 2, nextIndex - 1); + addUV(uvs[0]); + addUV(uvs[1]); + addUV(uvs[2]); + } + __name(f3, "f3"); + function f4(a, b, c, d) { + addVertex(a); + addVertex(b); + addVertex(d); + addVertex(b); + addVertex(c); + addVertex(d); + const nextIndex = verticesArray.length / 3; + const uvs = uvgen.generateSideWallUV(scope, verticesArray, nextIndex - 6, nextIndex - 3, nextIndex - 2, nextIndex - 1); + addUV(uvs[0]); + addUV(uvs[1]); + addUV(uvs[3]); + addUV(uvs[1]); + addUV(uvs[2]); + addUV(uvs[3]); + } + __name(f4, "f4"); + function addVertex(index) { + verticesArray.push(placeholder[index * 3 + 0]); + verticesArray.push(placeholder[index * 3 + 1]); + verticesArray.push(placeholder[index * 3 + 2]); + } + __name(addVertex, "addVertex"); + function addUV(vector2) { + uvArray.push(vector2.x); + uvArray.push(vector2.y); + } + __name(addUV, "addUV"); + } + __name(addShape, "addShape"); + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } + toJSON() { + const data = super.toJSON(); + const shapes = this.parameters.shapes; + const options = this.parameters.options; + return toJSON$1(shapes, options, data); + } + static fromJSON(data, shapes) { + const geometryShapes = []; + for (let j = 0, jl = data.shapes.length; j < jl; j++) { + const shape = shapes[data.shapes[j]]; + geometryShapes.push(shape); + } + const extrudePath = data.options.extrudePath; + if (extrudePath !== void 0) { + data.options.extrudePath = new Curves[extrudePath.type]().fromJSON(extrudePath); + } + return new ExtrudeGeometry(geometryShapes, data.options); + } +} +const WorldUVGenerator = { + generateTopUV: /* @__PURE__ */ __name(function(geometry, vertices, indexA, indexB, indexC) { + const a_x = vertices[indexA * 3]; + const a_y = vertices[indexA * 3 + 1]; + const b_x = vertices[indexB * 3]; + const b_y = vertices[indexB * 3 + 1]; + const c_x = vertices[indexC * 3]; + const c_y = vertices[indexC * 3 + 1]; + return [ + new Vector2(a_x, a_y), + new Vector2(b_x, b_y), + new Vector2(c_x, c_y) + ]; + }, "generateTopUV"), + generateSideWallUV: /* @__PURE__ */ __name(function(geometry, vertices, indexA, indexB, indexC, indexD) { + const a_x = vertices[indexA * 3]; + const a_y = vertices[indexA * 3 + 1]; + const a_z = vertices[indexA * 3 + 2]; + const b_x = vertices[indexB * 3]; + const b_y = vertices[indexB * 3 + 1]; + const b_z = vertices[indexB * 3 + 2]; + const c_x = vertices[indexC * 3]; + const c_y = vertices[indexC * 3 + 1]; + const c_z = vertices[indexC * 3 + 2]; + const d_x = vertices[indexD * 3]; + const d_y = vertices[indexD * 3 + 1]; + const d_z = vertices[indexD * 3 + 2]; + if (Math.abs(a_y - b_y) < Math.abs(a_x - b_x)) { + return [ + new Vector2(a_x, 1 - a_z), + new Vector2(b_x, 1 - b_z), + new Vector2(c_x, 1 - c_z), + new Vector2(d_x, 1 - d_z) + ]; + } else { + return [ + new Vector2(a_y, 1 - a_z), + new Vector2(b_y, 1 - b_z), + new Vector2(c_y, 1 - c_z), + new Vector2(d_y, 1 - d_z) + ]; + } + }, "generateSideWallUV") +}; +function toJSON$1(shapes, options, data) { + data.shapes = []; + if (Array.isArray(shapes)) { + for (let i = 0, l = shapes.length; i < l; i++) { + const shape = shapes[i]; + data.shapes.push(shape.uuid); + } + } else { + data.shapes.push(shapes.uuid); + } + data.options = Object.assign({}, options); + if (options.extrudePath !== void 0) data.options.extrudePath = options.extrudePath.toJSON(); + return data; +} +__name(toJSON$1, "toJSON$1"); +class IcosahedronGeometry extends PolyhedronGeometry { + static { + __name(this, "IcosahedronGeometry"); + } + constructor(radius = 1, detail = 0) { + const t2 = (1 + Math.sqrt(5)) / 2; + const vertices = [ + -1, + t2, + 0, + 1, + t2, + 0, + -1, + -t2, + 0, + 1, + -t2, + 0, + 0, + -1, + t2, + 0, + 1, + t2, + 0, + -1, + -t2, + 0, + 1, + -t2, + t2, + 0, + -1, + t2, + 0, + 1, + -t2, + 0, + -1, + -t2, + 0, + 1 + ]; + const indices = [ + 0, + 11, + 5, + 0, + 5, + 1, + 0, + 1, + 7, + 0, + 7, + 10, + 0, + 10, + 11, + 1, + 5, + 9, + 5, + 11, + 4, + 11, + 10, + 2, + 10, + 7, + 6, + 7, + 1, + 8, + 3, + 9, + 4, + 3, + 4, + 2, + 3, + 2, + 6, + 3, + 6, + 8, + 3, + 8, + 9, + 4, + 9, + 5, + 2, + 4, + 11, + 6, + 2, + 10, + 8, + 6, + 7, + 9, + 8, + 1 + ]; + super(vertices, indices, radius, detail); + this.type = "IcosahedronGeometry"; + this.parameters = { + radius, + detail + }; + } + static fromJSON(data) { + return new IcosahedronGeometry(data.radius, data.detail); + } +} +class OctahedronGeometry extends PolyhedronGeometry { + static { + __name(this, "OctahedronGeometry"); + } + constructor(radius = 1, detail = 0) { + const vertices = [ + 1, + 0, + 0, + -1, + 0, + 0, + 0, + 1, + 0, + 0, + -1, + 0, + 0, + 0, + 1, + 0, + 0, + -1 + ]; + const indices = [ + 0, + 2, + 4, + 0, + 4, + 3, + 0, + 3, + 5, + 0, + 5, + 2, + 1, + 2, + 5, + 1, + 5, + 3, + 1, + 3, + 4, + 1, + 4, + 2 + ]; + super(vertices, indices, radius, detail); + this.type = "OctahedronGeometry"; + this.parameters = { + radius, + detail + }; + } + static fromJSON(data) { + return new OctahedronGeometry(data.radius, data.detail); + } +} +class RingGeometry extends BufferGeometry { + static { + __name(this, "RingGeometry"); + } + constructor(innerRadius = 0.5, outerRadius = 1, thetaSegments = 32, phiSegments = 1, thetaStart = 0, thetaLength = Math.PI * 2) { + super(); + this.type = "RingGeometry"; + this.parameters = { + innerRadius, + outerRadius, + thetaSegments, + phiSegments, + thetaStart, + thetaLength + }; + thetaSegments = Math.max(3, thetaSegments); + phiSegments = Math.max(1, phiSegments); + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + let radius = innerRadius; + const radiusStep = (outerRadius - innerRadius) / phiSegments; + const vertex2 = new Vector3(); + const uv = new Vector2(); + for (let j = 0; j <= phiSegments; j++) { + for (let i = 0; i <= thetaSegments; i++) { + const segment = thetaStart + i / thetaSegments * thetaLength; + vertex2.x = radius * Math.cos(segment); + vertex2.y = radius * Math.sin(segment); + vertices.push(vertex2.x, vertex2.y, vertex2.z); + normals.push(0, 0, 1); + uv.x = (vertex2.x / outerRadius + 1) / 2; + uv.y = (vertex2.y / outerRadius + 1) / 2; + uvs.push(uv.x, uv.y); + } + radius += radiusStep; + } + for (let j = 0; j < phiSegments; j++) { + const thetaSegmentLevel = j * (thetaSegments + 1); + for (let i = 0; i < thetaSegments; i++) { + const segment = i + thetaSegmentLevel; + const a = segment; + const b = segment + thetaSegments + 1; + const c = segment + thetaSegments + 2; + const d = segment + 1; + indices.push(a, b, d); + indices.push(b, c, d); + } + } + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } + static fromJSON(data) { + return new RingGeometry(data.innerRadius, data.outerRadius, data.thetaSegments, data.phiSegments, data.thetaStart, data.thetaLength); + } +} +class ShapeGeometry extends BufferGeometry { + static { + __name(this, "ShapeGeometry"); + } + constructor(shapes = new Shape([new Vector2(0, 0.5), new Vector2(-0.5, -0.5), new Vector2(0.5, -0.5)]), curveSegments = 12) { + super(); + this.type = "ShapeGeometry"; + this.parameters = { + shapes, + curveSegments + }; + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + let groupStart = 0; + let groupCount = 0; + if (Array.isArray(shapes) === false) { + addShape(shapes); + } else { + for (let i = 0; i < shapes.length; i++) { + addShape(shapes[i]); + this.addGroup(groupStart, groupCount, i); + groupStart += groupCount; + groupCount = 0; + } + } + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + function addShape(shape) { + const indexOffset = vertices.length / 3; + const points = shape.extractPoints(curveSegments); + let shapeVertices = points.shape; + const shapeHoles = points.holes; + if (ShapeUtils.isClockWise(shapeVertices) === false) { + shapeVertices = shapeVertices.reverse(); + } + for (let i = 0, l = shapeHoles.length; i < l; i++) { + const shapeHole = shapeHoles[i]; + if (ShapeUtils.isClockWise(shapeHole) === true) { + shapeHoles[i] = shapeHole.reverse(); + } + } + const faces = ShapeUtils.triangulateShape(shapeVertices, shapeHoles); + for (let i = 0, l = shapeHoles.length; i < l; i++) { + const shapeHole = shapeHoles[i]; + shapeVertices = shapeVertices.concat(shapeHole); + } + for (let i = 0, l = shapeVertices.length; i < l; i++) { + const vertex2 = shapeVertices[i]; + vertices.push(vertex2.x, vertex2.y, 0); + normals.push(0, 0, 1); + uvs.push(vertex2.x, vertex2.y); + } + for (let i = 0, l = faces.length; i < l; i++) { + const face = faces[i]; + const a = face[0] + indexOffset; + const b = face[1] + indexOffset; + const c = face[2] + indexOffset; + indices.push(a, b, c); + groupCount += 3; + } + } + __name(addShape, "addShape"); + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } + toJSON() { + const data = super.toJSON(); + const shapes = this.parameters.shapes; + return toJSON(shapes, data); + } + static fromJSON(data, shapes) { + const geometryShapes = []; + for (let j = 0, jl = data.shapes.length; j < jl; j++) { + const shape = shapes[data.shapes[j]]; + geometryShapes.push(shape); + } + return new ShapeGeometry(geometryShapes, data.curveSegments); + } +} +function toJSON(shapes, data) { + data.shapes = []; + if (Array.isArray(shapes)) { + for (let i = 0, l = shapes.length; i < l; i++) { + const shape = shapes[i]; + data.shapes.push(shape.uuid); + } + } else { + data.shapes.push(shapes.uuid); + } + return data; +} +__name(toJSON, "toJSON"); +class SphereGeometry extends BufferGeometry { + static { + __name(this, "SphereGeometry"); + } + constructor(radius = 1, widthSegments = 32, heightSegments = 16, phiStart = 0, phiLength = Math.PI * 2, thetaStart = 0, thetaLength = Math.PI) { + super(); + this.type = "SphereGeometry"; + this.parameters = { + radius, + widthSegments, + heightSegments, + phiStart, + phiLength, + thetaStart, + thetaLength + }; + widthSegments = Math.max(3, Math.floor(widthSegments)); + heightSegments = Math.max(2, Math.floor(heightSegments)); + const thetaEnd = Math.min(thetaStart + thetaLength, Math.PI); + let index = 0; + const grid = []; + const vertex2 = new Vector3(); + const normal = new Vector3(); + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + for (let iy = 0; iy <= heightSegments; iy++) { + const verticesRow = []; + const v = iy / heightSegments; + let uOffset = 0; + if (iy === 0 && thetaStart === 0) { + uOffset = 0.5 / widthSegments; + } else if (iy === heightSegments && thetaEnd === Math.PI) { + uOffset = -0.5 / widthSegments; + } + for (let ix = 0; ix <= widthSegments; ix++) { + const u = ix / widthSegments; + vertex2.x = -radius * Math.cos(phiStart + u * phiLength) * Math.sin(thetaStart + v * thetaLength); + vertex2.y = radius * Math.cos(thetaStart + v * thetaLength); + vertex2.z = radius * Math.sin(phiStart + u * phiLength) * Math.sin(thetaStart + v * thetaLength); + vertices.push(vertex2.x, vertex2.y, vertex2.z); + normal.copy(vertex2).normalize(); + normals.push(normal.x, normal.y, normal.z); + uvs.push(u + uOffset, 1 - v); + verticesRow.push(index++); + } + grid.push(verticesRow); + } + for (let iy = 0; iy < heightSegments; iy++) { + for (let ix = 0; ix < widthSegments; ix++) { + const a = grid[iy][ix + 1]; + const b = grid[iy][ix]; + const c = grid[iy + 1][ix]; + const d = grid[iy + 1][ix + 1]; + if (iy !== 0 || thetaStart > 0) indices.push(a, b, d); + if (iy !== heightSegments - 1 || thetaEnd < Math.PI) indices.push(b, c, d); + } + } + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } + static fromJSON(data) { + return new SphereGeometry(data.radius, data.widthSegments, data.heightSegments, data.phiStart, data.phiLength, data.thetaStart, data.thetaLength); + } +} +class TetrahedronGeometry extends PolyhedronGeometry { + static { + __name(this, "TetrahedronGeometry"); + } + constructor(radius = 1, detail = 0) { + const vertices = [ + 1, + 1, + 1, + -1, + -1, + 1, + -1, + 1, + -1, + 1, + -1, + -1 + ]; + const indices = [ + 2, + 1, + 0, + 0, + 3, + 2, + 1, + 3, + 0, + 2, + 3, + 1 + ]; + super(vertices, indices, radius, detail); + this.type = "TetrahedronGeometry"; + this.parameters = { + radius, + detail + }; + } + static fromJSON(data) { + return new TetrahedronGeometry(data.radius, data.detail); + } +} +class TorusGeometry extends BufferGeometry { + static { + __name(this, "TorusGeometry"); + } + constructor(radius = 1, tube = 0.4, radialSegments = 12, tubularSegments = 48, arc = Math.PI * 2) { + super(); + this.type = "TorusGeometry"; + this.parameters = { + radius, + tube, + radialSegments, + tubularSegments, + arc + }; + radialSegments = Math.floor(radialSegments); + tubularSegments = Math.floor(tubularSegments); + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + const center = new Vector3(); + const vertex2 = new Vector3(); + const normal = new Vector3(); + for (let j = 0; j <= radialSegments; j++) { + for (let i = 0; i <= tubularSegments; i++) { + const u = i / tubularSegments * arc; + const v = j / radialSegments * Math.PI * 2; + vertex2.x = (radius + tube * Math.cos(v)) * Math.cos(u); + vertex2.y = (radius + tube * Math.cos(v)) * Math.sin(u); + vertex2.z = tube * Math.sin(v); + vertices.push(vertex2.x, vertex2.y, vertex2.z); + center.x = radius * Math.cos(u); + center.y = radius * Math.sin(u); + normal.subVectors(vertex2, center).normalize(); + normals.push(normal.x, normal.y, normal.z); + uvs.push(i / tubularSegments); + uvs.push(j / radialSegments); + } + } + for (let j = 1; j <= radialSegments; j++) { + for (let i = 1; i <= tubularSegments; i++) { + const a = (tubularSegments + 1) * j + i - 1; + const b = (tubularSegments + 1) * (j - 1) + i - 1; + const c = (tubularSegments + 1) * (j - 1) + i; + const d = (tubularSegments + 1) * j + i; + indices.push(a, b, d); + indices.push(b, c, d); + } + } + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } + static fromJSON(data) { + return new TorusGeometry(data.radius, data.tube, data.radialSegments, data.tubularSegments, data.arc); + } +} +class TorusKnotGeometry extends BufferGeometry { + static { + __name(this, "TorusKnotGeometry"); + } + constructor(radius = 1, tube = 0.4, tubularSegments = 64, radialSegments = 8, p = 2, q = 3) { + super(); + this.type = "TorusKnotGeometry"; + this.parameters = { + radius, + tube, + tubularSegments, + radialSegments, + p, + q + }; + tubularSegments = Math.floor(tubularSegments); + radialSegments = Math.floor(radialSegments); + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + const vertex2 = new Vector3(); + const normal = new Vector3(); + const P1 = new Vector3(); + const P2 = new Vector3(); + const B = new Vector3(); + const T = new Vector3(); + const N = new Vector3(); + for (let i = 0; i <= tubularSegments; ++i) { + const u = i / tubularSegments * p * Math.PI * 2; + calculatePositionOnCurve(u, p, q, radius, P1); + calculatePositionOnCurve(u + 0.01, p, q, radius, P2); + T.subVectors(P2, P1); + N.addVectors(P2, P1); + B.crossVectors(T, N); + N.crossVectors(B, T); + B.normalize(); + N.normalize(); + for (let j = 0; j <= radialSegments; ++j) { + const v = j / radialSegments * Math.PI * 2; + const cx = -tube * Math.cos(v); + const cy = tube * Math.sin(v); + vertex2.x = P1.x + (cx * N.x + cy * B.x); + vertex2.y = P1.y + (cx * N.y + cy * B.y); + vertex2.z = P1.z + (cx * N.z + cy * B.z); + vertices.push(vertex2.x, vertex2.y, vertex2.z); + normal.subVectors(vertex2, P1).normalize(); + normals.push(normal.x, normal.y, normal.z); + uvs.push(i / tubularSegments); + uvs.push(j / radialSegments); + } + } + for (let j = 1; j <= tubularSegments; j++) { + for (let i = 1; i <= radialSegments; i++) { + const a = (radialSegments + 1) * (j - 1) + (i - 1); + const b = (radialSegments + 1) * j + (i - 1); + const c = (radialSegments + 1) * j + i; + const d = (radialSegments + 1) * (j - 1) + i; + indices.push(a, b, d); + indices.push(b, c, d); + } + } + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + function calculatePositionOnCurve(u, p2, q2, radius2, position) { + const cu = Math.cos(u); + const su = Math.sin(u); + const quOverP = q2 / p2 * u; + const cs = Math.cos(quOverP); + position.x = radius2 * (2 + cs) * 0.5 * cu; + position.y = radius2 * (2 + cs) * su * 0.5; + position.z = radius2 * Math.sin(quOverP) * 0.5; + } + __name(calculatePositionOnCurve, "calculatePositionOnCurve"); + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } + static fromJSON(data) { + return new TorusKnotGeometry(data.radius, data.tube, data.tubularSegments, data.radialSegments, data.p, data.q); + } +} +class TubeGeometry extends BufferGeometry { + static { + __name(this, "TubeGeometry"); + } + constructor(path = new QuadraticBezierCurve3(new Vector3(-1, -1, 0), new Vector3(-1, 1, 0), new Vector3(1, 1, 0)), tubularSegments = 64, radius = 1, radialSegments = 8, closed = false) { + super(); + this.type = "TubeGeometry"; + this.parameters = { + path, + tubularSegments, + radius, + radialSegments, + closed + }; + const frames = path.computeFrenetFrames(tubularSegments, closed); + this.tangents = frames.tangents; + this.normals = frames.normals; + this.binormals = frames.binormals; + const vertex2 = new Vector3(); + const normal = new Vector3(); + const uv = new Vector2(); + let P = new Vector3(); + const vertices = []; + const normals = []; + const uvs = []; + const indices = []; + generateBufferData(); + this.setIndex(indices); + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + this.setAttribute("uv", new Float32BufferAttribute(uvs, 2)); + function generateBufferData() { + for (let i = 0; i < tubularSegments; i++) { + generateSegment(i); + } + generateSegment(closed === false ? tubularSegments : 0); + generateUVs(); + generateIndices(); + } + __name(generateBufferData, "generateBufferData"); + function generateSegment(i) { + P = path.getPointAt(i / tubularSegments, P); + const N = frames.normals[i]; + const B = frames.binormals[i]; + for (let j = 0; j <= radialSegments; j++) { + const v = j / radialSegments * Math.PI * 2; + const sin = Math.sin(v); + const cos = -Math.cos(v); + normal.x = cos * N.x + sin * B.x; + normal.y = cos * N.y + sin * B.y; + normal.z = cos * N.z + sin * B.z; + normal.normalize(); + normals.push(normal.x, normal.y, normal.z); + vertex2.x = P.x + radius * normal.x; + vertex2.y = P.y + radius * normal.y; + vertex2.z = P.z + radius * normal.z; + vertices.push(vertex2.x, vertex2.y, vertex2.z); + } + } + __name(generateSegment, "generateSegment"); + function generateIndices() { + for (let j = 1; j <= tubularSegments; j++) { + for (let i = 1; i <= radialSegments; i++) { + const a = (radialSegments + 1) * (j - 1) + (i - 1); + const b = (radialSegments + 1) * j + (i - 1); + const c = (radialSegments + 1) * j + i; + const d = (radialSegments + 1) * (j - 1) + i; + indices.push(a, b, d); + indices.push(b, c, d); + } + } + } + __name(generateIndices, "generateIndices"); + function generateUVs() { + for (let i = 0; i <= tubularSegments; i++) { + for (let j = 0; j <= radialSegments; j++) { + uv.x = i / tubularSegments; + uv.y = j / radialSegments; + uvs.push(uv.x, uv.y); + } + } + } + __name(generateUVs, "generateUVs"); + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } + toJSON() { + const data = super.toJSON(); + data.path = this.parameters.path.toJSON(); + return data; + } + static fromJSON(data) { + return new TubeGeometry( + new Curves[data.path.type]().fromJSON(data.path), + data.tubularSegments, + data.radius, + data.radialSegments, + data.closed + ); + } +} +class WireframeGeometry extends BufferGeometry { + static { + __name(this, "WireframeGeometry"); + } + constructor(geometry = null) { + super(); + this.type = "WireframeGeometry"; + this.parameters = { + geometry + }; + if (geometry !== null) { + const vertices = []; + const edges = /* @__PURE__ */ new Set(); + const start = new Vector3(); + const end = new Vector3(); + if (geometry.index !== null) { + const position = geometry.attributes.position; + const indices = geometry.index; + let groups = geometry.groups; + if (groups.length === 0) { + groups = [{ start: 0, count: indices.count, materialIndex: 0 }]; + } + for (let o = 0, ol = groups.length; o < ol; ++o) { + const group = groups[o]; + const groupStart = group.start; + const groupCount = group.count; + for (let i = groupStart, l = groupStart + groupCount; i < l; i += 3) { + for (let j = 0; j < 3; j++) { + const index1 = indices.getX(i + j); + const index2 = indices.getX(i + (j + 1) % 3); + start.fromBufferAttribute(position, index1); + end.fromBufferAttribute(position, index2); + if (isUniqueEdge(start, end, edges) === true) { + vertices.push(start.x, start.y, start.z); + vertices.push(end.x, end.y, end.z); + } + } + } + } + } else { + const position = geometry.attributes.position; + for (let i = 0, l = position.count / 3; i < l; i++) { + for (let j = 0; j < 3; j++) { + const index1 = 3 * i + j; + const index2 = 3 * i + (j + 1) % 3; + start.fromBufferAttribute(position, index1); + end.fromBufferAttribute(position, index2); + if (isUniqueEdge(start, end, edges) === true) { + vertices.push(start.x, start.y, start.z); + vertices.push(end.x, end.y, end.z); + } + } + } + } + this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + } + } + copy(source) { + super.copy(source); + this.parameters = Object.assign({}, source.parameters); + return this; + } +} +function isUniqueEdge(start, end, edges) { + const hash1 = `${start.x},${start.y},${start.z}-${end.x},${end.y},${end.z}`; + const hash2 = `${end.x},${end.y},${end.z}-${start.x},${start.y},${start.z}`; + if (edges.has(hash1) === true || edges.has(hash2) === true) { + return false; + } else { + edges.add(hash1); + edges.add(hash2); + return true; + } +} +__name(isUniqueEdge, "isUniqueEdge"); +var Geometries = /* @__PURE__ */ Object.freeze({ + __proto__: null, + BoxGeometry, + CapsuleGeometry, + CircleGeometry, + ConeGeometry, + CylinderGeometry, + DodecahedronGeometry, + EdgesGeometry, + ExtrudeGeometry, + IcosahedronGeometry, + LatheGeometry, + OctahedronGeometry, + PlaneGeometry, + PolyhedronGeometry, + RingGeometry, + ShapeGeometry, + SphereGeometry, + TetrahedronGeometry, + TorusGeometry, + TorusKnotGeometry, + TubeGeometry, + WireframeGeometry +}); +class ShadowMaterial extends Material { + static { + __name(this, "ShadowMaterial"); + } + static get type() { + return "ShadowMaterial"; + } + constructor(parameters) { + super(); + this.isShadowMaterial = true; + this.color = new Color(0); + this.transparent = true; + this.fog = true; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.fog = source.fog; + return this; + } +} +class RawShaderMaterial extends ShaderMaterial { + static { + __name(this, "RawShaderMaterial"); + } + static get type() { + return "RawShaderMaterial"; + } + constructor(parameters) { + super(parameters); + this.isRawShaderMaterial = true; + } +} +class MeshStandardMaterial extends Material { + static { + __name(this, "MeshStandardMaterial"); + } + static get type() { + return "MeshStandardMaterial"; + } + constructor(parameters) { + super(); + this.isMeshStandardMaterial = true; + this.defines = { "STANDARD": "" }; + this.color = new Color(16777215); + this.roughness = 1; + this.metalness = 0; + this.map = null; + this.lightMap = null; + this.lightMapIntensity = 1; + this.aoMap = null; + this.aoMapIntensity = 1; + this.emissive = new Color(0); + this.emissiveIntensity = 1; + this.emissiveMap = null; + this.bumpMap = null; + this.bumpScale = 1; + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2(1, 1); + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.roughnessMap = null; + this.metalnessMap = null; + this.alphaMap = null; + this.envMap = null; + this.envMapRotation = new Euler(); + this.envMapIntensity = 1; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = "round"; + this.wireframeLinejoin = "round"; + this.flatShading = false; + this.fog = true; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.defines = { "STANDARD": "" }; + this.color.copy(source.color); + this.roughness = source.roughness; + this.metalness = source.metalness; + this.map = source.map; + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + this.emissive.copy(source.emissive); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy(source.normalScale); + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.roughnessMap = source.roughnessMap; + this.metalnessMap = source.metalnessMap; + this.alphaMap = source.alphaMap; + this.envMap = source.envMap; + this.envMapRotation.copy(source.envMapRotation); + this.envMapIntensity = source.envMapIntensity; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + this.flatShading = source.flatShading; + this.fog = source.fog; + return this; + } +} +class MeshPhysicalMaterial extends MeshStandardMaterial { + static { + __name(this, "MeshPhysicalMaterial"); + } + static get type() { + return "MeshPhysicalMaterial"; + } + constructor(parameters) { + super(); + this.isMeshPhysicalMaterial = true; + this.defines = { + "STANDARD": "", + "PHYSICAL": "" + }; + this.anisotropyRotation = 0; + this.anisotropyMap = null; + this.clearcoatMap = null; + this.clearcoatRoughness = 0; + this.clearcoatRoughnessMap = null; + this.clearcoatNormalScale = new Vector2(1, 1); + this.clearcoatNormalMap = null; + this.ior = 1.5; + Object.defineProperty(this, "reflectivity", { + get: /* @__PURE__ */ __name(function() { + return clamp(2.5 * (this.ior - 1) / (this.ior + 1), 0, 1); + }, "get"), + set: /* @__PURE__ */ __name(function(reflectivity) { + this.ior = (1 + 0.4 * reflectivity) / (1 - 0.4 * reflectivity); + }, "set") + }); + this.iridescenceMap = null; + this.iridescenceIOR = 1.3; + this.iridescenceThicknessRange = [100, 400]; + this.iridescenceThicknessMap = null; + this.sheenColor = new Color(0); + this.sheenColorMap = null; + this.sheenRoughness = 1; + this.sheenRoughnessMap = null; + this.transmissionMap = null; + this.thickness = 0; + this.thicknessMap = null; + this.attenuationDistance = Infinity; + this.attenuationColor = new Color(1, 1, 1); + this.specularIntensity = 1; + this.specularIntensityMap = null; + this.specularColor = new Color(1, 1, 1); + this.specularColorMap = null; + this._anisotropy = 0; + this._clearcoat = 0; + this._dispersion = 0; + this._iridescence = 0; + this._sheen = 0; + this._transmission = 0; + this.setValues(parameters); + } + get anisotropy() { + return this._anisotropy; + } + set anisotropy(value) { + if (this._anisotropy > 0 !== value > 0) { + this.version++; + } + this._anisotropy = value; + } + get clearcoat() { + return this._clearcoat; + } + set clearcoat(value) { + if (this._clearcoat > 0 !== value > 0) { + this.version++; + } + this._clearcoat = value; + } + get iridescence() { + return this._iridescence; + } + set iridescence(value) { + if (this._iridescence > 0 !== value > 0) { + this.version++; + } + this._iridescence = value; + } + get dispersion() { + return this._dispersion; + } + set dispersion(value) { + if (this._dispersion > 0 !== value > 0) { + this.version++; + } + this._dispersion = value; + } + get sheen() { + return this._sheen; + } + set sheen(value) { + if (this._sheen > 0 !== value > 0) { + this.version++; + } + this._sheen = value; + } + get transmission() { + return this._transmission; + } + set transmission(value) { + if (this._transmission > 0 !== value > 0) { + this.version++; + } + this._transmission = value; + } + copy(source) { + super.copy(source); + this.defines = { + "STANDARD": "", + "PHYSICAL": "" + }; + this.anisotropy = source.anisotropy; + this.anisotropyRotation = source.anisotropyRotation; + this.anisotropyMap = source.anisotropyMap; + this.clearcoat = source.clearcoat; + this.clearcoatMap = source.clearcoatMap; + this.clearcoatRoughness = source.clearcoatRoughness; + this.clearcoatRoughnessMap = source.clearcoatRoughnessMap; + this.clearcoatNormalMap = source.clearcoatNormalMap; + this.clearcoatNormalScale.copy(source.clearcoatNormalScale); + this.dispersion = source.dispersion; + this.ior = source.ior; + this.iridescence = source.iridescence; + this.iridescenceMap = source.iridescenceMap; + this.iridescenceIOR = source.iridescenceIOR; + this.iridescenceThicknessRange = [...source.iridescenceThicknessRange]; + this.iridescenceThicknessMap = source.iridescenceThicknessMap; + this.sheen = source.sheen; + this.sheenColor.copy(source.sheenColor); + this.sheenColorMap = source.sheenColorMap; + this.sheenRoughness = source.sheenRoughness; + this.sheenRoughnessMap = source.sheenRoughnessMap; + this.transmission = source.transmission; + this.transmissionMap = source.transmissionMap; + this.thickness = source.thickness; + this.thicknessMap = source.thicknessMap; + this.attenuationDistance = source.attenuationDistance; + this.attenuationColor.copy(source.attenuationColor); + this.specularIntensity = source.specularIntensity; + this.specularIntensityMap = source.specularIntensityMap; + this.specularColor.copy(source.specularColor); + this.specularColorMap = source.specularColorMap; + return this; + } +} +class MeshPhongMaterial extends Material { + static { + __name(this, "MeshPhongMaterial"); + } + static get type() { + return "MeshPhongMaterial"; + } + constructor(parameters) { + super(); + this.isMeshPhongMaterial = true; + this.color = new Color(16777215); + this.specular = new Color(1118481); + this.shininess = 30; + this.map = null; + this.lightMap = null; + this.lightMapIntensity = 1; + this.aoMap = null; + this.aoMapIntensity = 1; + this.emissive = new Color(0); + this.emissiveIntensity = 1; + this.emissiveMap = null; + this.bumpMap = null; + this.bumpScale = 1; + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2(1, 1); + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.specularMap = null; + this.alphaMap = null; + this.envMap = null; + this.envMapRotation = new Euler(); + this.combine = MultiplyOperation; + this.reflectivity = 1; + this.refractionRatio = 0.98; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = "round"; + this.wireframeLinejoin = "round"; + this.flatShading = false; + this.fog = true; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.specular.copy(source.specular); + this.shininess = source.shininess; + this.map = source.map; + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + this.emissive.copy(source.emissive); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy(source.normalScale); + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.specularMap = source.specularMap; + this.alphaMap = source.alphaMap; + this.envMap = source.envMap; + this.envMapRotation.copy(source.envMapRotation); + this.combine = source.combine; + this.reflectivity = source.reflectivity; + this.refractionRatio = source.refractionRatio; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + this.flatShading = source.flatShading; + this.fog = source.fog; + return this; + } +} +class MeshToonMaterial extends Material { + static { + __name(this, "MeshToonMaterial"); + } + static get type() { + return "MeshToonMaterial"; + } + constructor(parameters) { + super(); + this.isMeshToonMaterial = true; + this.defines = { "TOON": "" }; + this.color = new Color(16777215); + this.map = null; + this.gradientMap = null; + this.lightMap = null; + this.lightMapIntensity = 1; + this.aoMap = null; + this.aoMapIntensity = 1; + this.emissive = new Color(0); + this.emissiveIntensity = 1; + this.emissiveMap = null; + this.bumpMap = null; + this.bumpScale = 1; + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2(1, 1); + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.alphaMap = null; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = "round"; + this.wireframeLinejoin = "round"; + this.fog = true; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.map = source.map; + this.gradientMap = source.gradientMap; + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + this.emissive.copy(source.emissive); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy(source.normalScale); + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.alphaMap = source.alphaMap; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + this.fog = source.fog; + return this; + } +} +class MeshNormalMaterial extends Material { + static { + __name(this, "MeshNormalMaterial"); + } + static get type() { + return "MeshNormalMaterial"; + } + constructor(parameters) { + super(); + this.isMeshNormalMaterial = true; + this.bumpMap = null; + this.bumpScale = 1; + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2(1, 1); + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.flatShading = false; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy(source.normalScale); + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.flatShading = source.flatShading; + return this; + } +} +class MeshLambertMaterial extends Material { + static { + __name(this, "MeshLambertMaterial"); + } + static get type() { + return "MeshLambertMaterial"; + } + constructor(parameters) { + super(); + this.isMeshLambertMaterial = true; + this.color = new Color(16777215); + this.map = null; + this.lightMap = null; + this.lightMapIntensity = 1; + this.aoMap = null; + this.aoMapIntensity = 1; + this.emissive = new Color(0); + this.emissiveIntensity = 1; + this.emissiveMap = null; + this.bumpMap = null; + this.bumpScale = 1; + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2(1, 1); + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.specularMap = null; + this.alphaMap = null; + this.envMap = null; + this.envMapRotation = new Euler(); + this.combine = MultiplyOperation; + this.reflectivity = 1; + this.refractionRatio = 0.98; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = "round"; + this.wireframeLinejoin = "round"; + this.flatShading = false; + this.fog = true; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.map = source.map; + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + this.emissive.copy(source.emissive); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy(source.normalScale); + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.specularMap = source.specularMap; + this.alphaMap = source.alphaMap; + this.envMap = source.envMap; + this.envMapRotation.copy(source.envMapRotation); + this.combine = source.combine; + this.reflectivity = source.reflectivity; + this.refractionRatio = source.refractionRatio; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + this.flatShading = source.flatShading; + this.fog = source.fog; + return this; + } +} +class MeshMatcapMaterial extends Material { + static { + __name(this, "MeshMatcapMaterial"); + } + static get type() { + return "MeshMatcapMaterial"; + } + constructor(parameters) { + super(); + this.isMeshMatcapMaterial = true; + this.defines = { "MATCAP": "" }; + this.color = new Color(16777215); + this.matcap = null; + this.map = null; + this.bumpMap = null; + this.bumpScale = 1; + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2(1, 1); + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.alphaMap = null; + this.flatShading = false; + this.fog = true; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.defines = { "MATCAP": "" }; + this.color.copy(source.color); + this.matcap = source.matcap; + this.map = source.map; + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy(source.normalScale); + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.alphaMap = source.alphaMap; + this.flatShading = source.flatShading; + this.fog = source.fog; + return this; + } +} +class LineDashedMaterial extends LineBasicMaterial { + static { + __name(this, "LineDashedMaterial"); + } + static get type() { + return "LineDashedMaterial"; + } + constructor(parameters) { + super(); + this.isLineDashedMaterial = true; + this.scale = 1; + this.dashSize = 3; + this.gapSize = 1; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.scale = source.scale; + this.dashSize = source.dashSize; + this.gapSize = source.gapSize; + return this; + } +} +function convertArray(array, type, forceClone) { + if (!array || // let 'undefined' and 'null' pass + !forceClone && array.constructor === type) return array; + if (typeof type.BYTES_PER_ELEMENT === "number") { + return new type(array); + } + return Array.prototype.slice.call(array); +} +__name(convertArray, "convertArray"); +function isTypedArray(object) { + return ArrayBuffer.isView(object) && !(object instanceof DataView); +} +__name(isTypedArray, "isTypedArray"); +function getKeyframeOrder(times) { + function compareTime(i, j) { + return times[i] - times[j]; + } + __name(compareTime, "compareTime"); + const n = times.length; + const result = new Array(n); + for (let i = 0; i !== n; ++i) result[i] = i; + result.sort(compareTime); + return result; +} +__name(getKeyframeOrder, "getKeyframeOrder"); +function sortedArray(values, stride, order) { + const nValues = values.length; + const result = new values.constructor(nValues); + for (let i = 0, dstOffset = 0; dstOffset !== nValues; ++i) { + const srcOffset = order[i] * stride; + for (let j = 0; j !== stride; ++j) { + result[dstOffset++] = values[srcOffset + j]; + } + } + return result; +} +__name(sortedArray, "sortedArray"); +function flattenJSON(jsonKeys, times, values, valuePropertyName) { + let i = 1, key = jsonKeys[0]; + while (key !== void 0 && key[valuePropertyName] === void 0) { + key = jsonKeys[i++]; + } + if (key === void 0) return; + let value = key[valuePropertyName]; + if (value === void 0) return; + if (Array.isArray(value)) { + do { + value = key[valuePropertyName]; + if (value !== void 0) { + times.push(key.time); + values.push.apply(values, value); + } + key = jsonKeys[i++]; + } while (key !== void 0); + } else if (value.toArray !== void 0) { + do { + value = key[valuePropertyName]; + if (value !== void 0) { + times.push(key.time); + value.toArray(values, values.length); + } + key = jsonKeys[i++]; + } while (key !== void 0); + } else { + do { + value = key[valuePropertyName]; + if (value !== void 0) { + times.push(key.time); + values.push(value); + } + key = jsonKeys[i++]; + } while (key !== void 0); + } +} +__name(flattenJSON, "flattenJSON"); +function subclip(sourceClip, name, startFrame, endFrame, fps = 30) { + const clip = sourceClip.clone(); + clip.name = name; + const tracks = []; + for (let i = 0; i < clip.tracks.length; ++i) { + const track = clip.tracks[i]; + const valueSize = track.getValueSize(); + const times = []; + const values = []; + for (let j = 0; j < track.times.length; ++j) { + const frame = track.times[j] * fps; + if (frame < startFrame || frame >= endFrame) continue; + times.push(track.times[j]); + for (let k = 0; k < valueSize; ++k) { + values.push(track.values[j * valueSize + k]); + } + } + if (times.length === 0) continue; + track.times = convertArray(times, track.times.constructor); + track.values = convertArray(values, track.values.constructor); + tracks.push(track); + } + clip.tracks = tracks; + let minStartTime = Infinity; + for (let i = 0; i < clip.tracks.length; ++i) { + if (minStartTime > clip.tracks[i].times[0]) { + minStartTime = clip.tracks[i].times[0]; + } + } + for (let i = 0; i < clip.tracks.length; ++i) { + clip.tracks[i].shift(-1 * minStartTime); + } + clip.resetDuration(); + return clip; +} +__name(subclip, "subclip"); +function makeClipAdditive(targetClip, referenceFrame = 0, referenceClip = targetClip, fps = 30) { + if (fps <= 0) fps = 30; + const numTracks = referenceClip.tracks.length; + const referenceTime = referenceFrame / fps; + for (let i = 0; i < numTracks; ++i) { + const referenceTrack = referenceClip.tracks[i]; + const referenceTrackType = referenceTrack.ValueTypeName; + if (referenceTrackType === "bool" || referenceTrackType === "string") continue; + const targetTrack = targetClip.tracks.find(function(track) { + return track.name === referenceTrack.name && track.ValueTypeName === referenceTrackType; + }); + if (targetTrack === void 0) continue; + let referenceOffset = 0; + const referenceValueSize = referenceTrack.getValueSize(); + if (referenceTrack.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline) { + referenceOffset = referenceValueSize / 3; + } + let targetOffset = 0; + const targetValueSize = targetTrack.getValueSize(); + if (targetTrack.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline) { + targetOffset = targetValueSize / 3; + } + const lastIndex = referenceTrack.times.length - 1; + let referenceValue; + if (referenceTime <= referenceTrack.times[0]) { + const startIndex = referenceOffset; + const endIndex = referenceValueSize - referenceOffset; + referenceValue = referenceTrack.values.slice(startIndex, endIndex); + } else if (referenceTime >= referenceTrack.times[lastIndex]) { + const startIndex = lastIndex * referenceValueSize + referenceOffset; + const endIndex = startIndex + referenceValueSize - referenceOffset; + referenceValue = referenceTrack.values.slice(startIndex, endIndex); + } else { + const interpolant = referenceTrack.createInterpolant(); + const startIndex = referenceOffset; + const endIndex = referenceValueSize - referenceOffset; + interpolant.evaluate(referenceTime); + referenceValue = interpolant.resultBuffer.slice(startIndex, endIndex); + } + if (referenceTrackType === "quaternion") { + const referenceQuat = new Quaternion().fromArray(referenceValue).normalize().conjugate(); + referenceQuat.toArray(referenceValue); + } + const numTimes = targetTrack.times.length; + for (let j = 0; j < numTimes; ++j) { + const valueStart = j * targetValueSize + targetOffset; + if (referenceTrackType === "quaternion") { + Quaternion.multiplyQuaternionsFlat( + targetTrack.values, + valueStart, + referenceValue, + 0, + targetTrack.values, + valueStart + ); + } else { + const valueEnd = targetValueSize - targetOffset * 2; + for (let k = 0; k < valueEnd; ++k) { + targetTrack.values[valueStart + k] -= referenceValue[k]; + } + } + } + } + targetClip.blendMode = AdditiveAnimationBlendMode; + return targetClip; +} +__name(makeClipAdditive, "makeClipAdditive"); +const AnimationUtils = { + convertArray, + isTypedArray, + getKeyframeOrder, + sortedArray, + flattenJSON, + subclip, + makeClipAdditive +}; +class Interpolant { + static { + __name(this, "Interpolant"); + } + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + this.parameterPositions = parameterPositions; + this._cachedIndex = 0; + this.resultBuffer = resultBuffer !== void 0 ? resultBuffer : new sampleValues.constructor(sampleSize); + this.sampleValues = sampleValues; + this.valueSize = sampleSize; + this.settings = null; + this.DefaultSettings_ = {}; + } + evaluate(t2) { + const pp = this.parameterPositions; + let i1 = this._cachedIndex, t1 = pp[i1], t0 = pp[i1 - 1]; + validate_interval: { + seek: { + let right; + linear_scan: { + forward_scan: if (!(t2 < t1)) { + for (let giveUpAt = i1 + 2; ; ) { + if (t1 === void 0) { + if (t2 < t0) break forward_scan; + i1 = pp.length; + this._cachedIndex = i1; + return this.copySampleValue_(i1 - 1); + } + if (i1 === giveUpAt) break; + t0 = t1; + t1 = pp[++i1]; + if (t2 < t1) { + break seek; + } + } + right = pp.length; + break linear_scan; + } + if (!(t2 >= t0)) { + const t1global = pp[1]; + if (t2 < t1global) { + i1 = 2; + t0 = t1global; + } + for (let giveUpAt = i1 - 2; ; ) { + if (t0 === void 0) { + this._cachedIndex = 0; + return this.copySampleValue_(0); + } + if (i1 === giveUpAt) break; + t1 = t0; + t0 = pp[--i1 - 1]; + if (t2 >= t0) { + break seek; + } + } + right = i1; + i1 = 0; + break linear_scan; + } + break validate_interval; + } + while (i1 < right) { + const mid = i1 + right >>> 1; + if (t2 < pp[mid]) { + right = mid; + } else { + i1 = mid + 1; + } + } + t1 = pp[i1]; + t0 = pp[i1 - 1]; + if (t0 === void 0) { + this._cachedIndex = 0; + return this.copySampleValue_(0); + } + if (t1 === void 0) { + i1 = pp.length; + this._cachedIndex = i1; + return this.copySampleValue_(i1 - 1); + } + } + this._cachedIndex = i1; + this.intervalChanged_(i1, t0, t1); + } + return this.interpolate_(i1, t0, t2, t1); + } + getSettings_() { + return this.settings || this.DefaultSettings_; + } + copySampleValue_(index) { + const result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, offset = index * stride; + for (let i = 0; i !== stride; ++i) { + result[i] = values[offset + i]; + } + return result; + } + // Template methods for derived classes: + interpolate_() { + throw new Error("call to abstract method"); + } + intervalChanged_() { + } +} +class CubicInterpolant extends Interpolant { + static { + __name(this, "CubicInterpolant"); + } + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + super(parameterPositions, sampleValues, sampleSize, resultBuffer); + this._weightPrev = -0; + this._offsetPrev = -0; + this._weightNext = -0; + this._offsetNext = -0; + this.DefaultSettings_ = { + endingStart: ZeroCurvatureEnding, + endingEnd: ZeroCurvatureEnding + }; + } + intervalChanged_(i1, t0, t1) { + const pp = this.parameterPositions; + let iPrev = i1 - 2, iNext = i1 + 1, tPrev = pp[iPrev], tNext = pp[iNext]; + if (tPrev === void 0) { + switch (this.getSettings_().endingStart) { + case ZeroSlopeEnding: + iPrev = i1; + tPrev = 2 * t0 - t1; + break; + case WrapAroundEnding: + iPrev = pp.length - 2; + tPrev = t0 + pp[iPrev] - pp[iPrev + 1]; + break; + default: + iPrev = i1; + tPrev = t1; + } + } + if (tNext === void 0) { + switch (this.getSettings_().endingEnd) { + case ZeroSlopeEnding: + iNext = i1; + tNext = 2 * t1 - t0; + break; + case WrapAroundEnding: + iNext = 1; + tNext = t1 + pp[1] - pp[0]; + break; + default: + iNext = i1 - 1; + tNext = t0; + } + } + const halfDt = (t1 - t0) * 0.5, stride = this.valueSize; + this._weightPrev = halfDt / (t0 - tPrev); + this._weightNext = halfDt / (tNext - t1); + this._offsetPrev = iPrev * stride; + this._offsetNext = iNext * stride; + } + interpolate_(i1, t0, t2, t1) { + const result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, o1 = i1 * stride, o0 = o1 - stride, oP = this._offsetPrev, oN = this._offsetNext, wP = this._weightPrev, wN = this._weightNext, p = (t2 - t0) / (t1 - t0), pp = p * p, ppp = pp * p; + const sP = -wP * ppp + 2 * wP * pp - wP * p; + const s0 = (1 + wP) * ppp + (-1.5 - 2 * wP) * pp + (-0.5 + wP) * p + 1; + const s1 = (-1 - wN) * ppp + (1.5 + wN) * pp + 0.5 * p; + const sN = wN * ppp - wN * pp; + for (let i = 0; i !== stride; ++i) { + result[i] = sP * values[oP + i] + s0 * values[o0 + i] + s1 * values[o1 + i] + sN * values[oN + i]; + } + return result; + } +} +class LinearInterpolant extends Interpolant { + static { + __name(this, "LinearInterpolant"); + } + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + super(parameterPositions, sampleValues, sampleSize, resultBuffer); + } + interpolate_(i1, t0, t2, t1) { + const result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, offset1 = i1 * stride, offset0 = offset1 - stride, weight1 = (t2 - t0) / (t1 - t0), weight0 = 1 - weight1; + for (let i = 0; i !== stride; ++i) { + result[i] = values[offset0 + i] * weight0 + values[offset1 + i] * weight1; + } + return result; + } +} +class DiscreteInterpolant extends Interpolant { + static { + __name(this, "DiscreteInterpolant"); + } + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + super(parameterPositions, sampleValues, sampleSize, resultBuffer); + } + interpolate_(i1) { + return this.copySampleValue_(i1 - 1); + } +} +class KeyframeTrack { + static { + __name(this, "KeyframeTrack"); + } + constructor(name, times, values, interpolation) { + if (name === void 0) throw new Error("THREE.KeyframeTrack: track name is undefined"); + if (times === void 0 || times.length === 0) throw new Error("THREE.KeyframeTrack: no keyframes in track named " + name); + this.name = name; + this.times = convertArray(times, this.TimeBufferType); + this.values = convertArray(values, this.ValueBufferType); + this.setInterpolation(interpolation || this.DefaultInterpolation); + } + // Serialization (in static context, because of constructor invocation + // and automatic invocation of .toJSON): + static toJSON(track) { + const trackType = track.constructor; + let json; + if (trackType.toJSON !== this.toJSON) { + json = trackType.toJSON(track); + } else { + json = { + "name": track.name, + "times": convertArray(track.times, Array), + "values": convertArray(track.values, Array) + }; + const interpolation = track.getInterpolation(); + if (interpolation !== track.DefaultInterpolation) { + json.interpolation = interpolation; + } + } + json.type = track.ValueTypeName; + return json; + } + InterpolantFactoryMethodDiscrete(result) { + return new DiscreteInterpolant(this.times, this.values, this.getValueSize(), result); + } + InterpolantFactoryMethodLinear(result) { + return new LinearInterpolant(this.times, this.values, this.getValueSize(), result); + } + InterpolantFactoryMethodSmooth(result) { + return new CubicInterpolant(this.times, this.values, this.getValueSize(), result); + } + setInterpolation(interpolation) { + let factoryMethod; + switch (interpolation) { + case InterpolateDiscrete: + factoryMethod = this.InterpolantFactoryMethodDiscrete; + break; + case InterpolateLinear: + factoryMethod = this.InterpolantFactoryMethodLinear; + break; + case InterpolateSmooth: + factoryMethod = this.InterpolantFactoryMethodSmooth; + break; + } + if (factoryMethod === void 0) { + const message = "unsupported interpolation for " + this.ValueTypeName + " keyframe track named " + this.name; + if (this.createInterpolant === void 0) { + if (interpolation !== this.DefaultInterpolation) { + this.setInterpolation(this.DefaultInterpolation); + } else { + throw new Error(message); + } + } + console.warn("THREE.KeyframeTrack:", message); + return this; + } + this.createInterpolant = factoryMethod; + return this; + } + getInterpolation() { + switch (this.createInterpolant) { + case this.InterpolantFactoryMethodDiscrete: + return InterpolateDiscrete; + case this.InterpolantFactoryMethodLinear: + return InterpolateLinear; + case this.InterpolantFactoryMethodSmooth: + return InterpolateSmooth; + } + } + getValueSize() { + return this.values.length / this.times.length; + } + // move all keyframes either forwards or backwards in time + shift(timeOffset) { + if (timeOffset !== 0) { + const times = this.times; + for (let i = 0, n = times.length; i !== n; ++i) { + times[i] += timeOffset; + } + } + return this; + } + // scale all keyframe times by a factor (useful for frame <-> seconds conversions) + scale(timeScale) { + if (timeScale !== 1) { + const times = this.times; + for (let i = 0, n = times.length; i !== n; ++i) { + times[i] *= timeScale; + } + } + return this; + } + // removes keyframes before and after animation without changing any values within the range [startTime, endTime]. + // IMPORTANT: We do not shift around keys to the start of the track time, because for interpolated keys this will change their values + trim(startTime, endTime) { + const times = this.times, nKeys = times.length; + let from = 0, to = nKeys - 1; + while (from !== nKeys && times[from] < startTime) { + ++from; + } + while (to !== -1 && times[to] > endTime) { + --to; + } + ++to; + if (from !== 0 || to !== nKeys) { + if (from >= to) { + to = Math.max(to, 1); + from = to - 1; + } + const stride = this.getValueSize(); + this.times = times.slice(from, to); + this.values = this.values.slice(from * stride, to * stride); + } + return this; + } + // ensure we do not get a GarbageInGarbageOut situation, make sure tracks are at least minimally viable + validate() { + let valid = true; + const valueSize = this.getValueSize(); + if (valueSize - Math.floor(valueSize) !== 0) { + console.error("THREE.KeyframeTrack: Invalid value size in track.", this); + valid = false; + } + const times = this.times, values = this.values, nKeys = times.length; + if (nKeys === 0) { + console.error("THREE.KeyframeTrack: Track is empty.", this); + valid = false; + } + let prevTime = null; + for (let i = 0; i !== nKeys; i++) { + const currTime = times[i]; + if (typeof currTime === "number" && isNaN(currTime)) { + console.error("THREE.KeyframeTrack: Time is not a valid number.", this, i, currTime); + valid = false; + break; + } + if (prevTime !== null && prevTime > currTime) { + console.error("THREE.KeyframeTrack: Out of order keys.", this, i, currTime, prevTime); + valid = false; + break; + } + prevTime = currTime; + } + if (values !== void 0) { + if (isTypedArray(values)) { + for (let i = 0, n = values.length; i !== n; ++i) { + const value = values[i]; + if (isNaN(value)) { + console.error("THREE.KeyframeTrack: Value is not a valid number.", this, i, value); + valid = false; + break; + } + } + } + } + return valid; + } + // removes equivalent sequential keys as common in morph target sequences + // (0,0,0,0,1,1,1,0,0,0,0,0,0,0) --> (0,0,1,1,0,0) + optimize() { + const times = this.times.slice(), values = this.values.slice(), stride = this.getValueSize(), smoothInterpolation = this.getInterpolation() === InterpolateSmooth, lastIndex = times.length - 1; + let writeIndex = 1; + for (let i = 1; i < lastIndex; ++i) { + let keep = false; + const time = times[i]; + const timeNext = times[i + 1]; + if (time !== timeNext && (i !== 1 || time !== times[0])) { + if (!smoothInterpolation) { + const offset = i * stride, offsetP = offset - stride, offsetN = offset + stride; + for (let j = 0; j !== stride; ++j) { + const value = values[offset + j]; + if (value !== values[offsetP + j] || value !== values[offsetN + j]) { + keep = true; + break; + } + } + } else { + keep = true; + } + } + if (keep) { + if (i !== writeIndex) { + times[writeIndex] = times[i]; + const readOffset = i * stride, writeOffset = writeIndex * stride; + for (let j = 0; j !== stride; ++j) { + values[writeOffset + j] = values[readOffset + j]; + } + } + ++writeIndex; + } + } + if (lastIndex > 0) { + times[writeIndex] = times[lastIndex]; + for (let readOffset = lastIndex * stride, writeOffset = writeIndex * stride, j = 0; j !== stride; ++j) { + values[writeOffset + j] = values[readOffset + j]; + } + ++writeIndex; + } + if (writeIndex !== times.length) { + this.times = times.slice(0, writeIndex); + this.values = values.slice(0, writeIndex * stride); + } else { + this.times = times; + this.values = values; + } + return this; + } + clone() { + const times = this.times.slice(); + const values = this.values.slice(); + const TypedKeyframeTrack = this.constructor; + const track = new TypedKeyframeTrack(this.name, times, values); + track.createInterpolant = this.createInterpolant; + return track; + } +} +KeyframeTrack.prototype.TimeBufferType = Float32Array; +KeyframeTrack.prototype.ValueBufferType = Float32Array; +KeyframeTrack.prototype.DefaultInterpolation = InterpolateLinear; +class BooleanKeyframeTrack extends KeyframeTrack { + static { + __name(this, "BooleanKeyframeTrack"); + } + // No interpolation parameter because only InterpolateDiscrete is valid. + constructor(name, times, values) { + super(name, times, values); + } +} +BooleanKeyframeTrack.prototype.ValueTypeName = "bool"; +BooleanKeyframeTrack.prototype.ValueBufferType = Array; +BooleanKeyframeTrack.prototype.DefaultInterpolation = InterpolateDiscrete; +BooleanKeyframeTrack.prototype.InterpolantFactoryMethodLinear = void 0; +BooleanKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = void 0; +class ColorKeyframeTrack extends KeyframeTrack { + static { + __name(this, "ColorKeyframeTrack"); + } +} +ColorKeyframeTrack.prototype.ValueTypeName = "color"; +class NumberKeyframeTrack extends KeyframeTrack { + static { + __name(this, "NumberKeyframeTrack"); + } +} +NumberKeyframeTrack.prototype.ValueTypeName = "number"; +class QuaternionLinearInterpolant extends Interpolant { + static { + __name(this, "QuaternionLinearInterpolant"); + } + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + super(parameterPositions, sampleValues, sampleSize, resultBuffer); + } + interpolate_(i1, t0, t2, t1) { + const result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, alpha = (t2 - t0) / (t1 - t0); + let offset = i1 * stride; + for (let end = offset + stride; offset !== end; offset += 4) { + Quaternion.slerpFlat(result, 0, values, offset - stride, values, offset, alpha); + } + return result; + } +} +class QuaternionKeyframeTrack extends KeyframeTrack { + static { + __name(this, "QuaternionKeyframeTrack"); + } + InterpolantFactoryMethodLinear(result) { + return new QuaternionLinearInterpolant(this.times, this.values, this.getValueSize(), result); + } +} +QuaternionKeyframeTrack.prototype.ValueTypeName = "quaternion"; +QuaternionKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = void 0; +class StringKeyframeTrack extends KeyframeTrack { + static { + __name(this, "StringKeyframeTrack"); + } + // No interpolation parameter because only InterpolateDiscrete is valid. + constructor(name, times, values) { + super(name, times, values); + } +} +StringKeyframeTrack.prototype.ValueTypeName = "string"; +StringKeyframeTrack.prototype.ValueBufferType = Array; +StringKeyframeTrack.prototype.DefaultInterpolation = InterpolateDiscrete; +StringKeyframeTrack.prototype.InterpolantFactoryMethodLinear = void 0; +StringKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = void 0; +class VectorKeyframeTrack extends KeyframeTrack { + static { + __name(this, "VectorKeyframeTrack"); + } +} +VectorKeyframeTrack.prototype.ValueTypeName = "vector"; +class AnimationClip { + static { + __name(this, "AnimationClip"); + } + constructor(name = "", duration = -1, tracks = [], blendMode = NormalAnimationBlendMode) { + this.name = name; + this.tracks = tracks; + this.duration = duration; + this.blendMode = blendMode; + this.uuid = generateUUID(); + if (this.duration < 0) { + this.resetDuration(); + } + } + static parse(json) { + const tracks = [], jsonTracks = json.tracks, frameTime = 1 / (json.fps || 1); + for (let i = 0, n = jsonTracks.length; i !== n; ++i) { + tracks.push(parseKeyframeTrack(jsonTracks[i]).scale(frameTime)); + } + const clip = new this(json.name, json.duration, tracks, json.blendMode); + clip.uuid = json.uuid; + return clip; + } + static toJSON(clip) { + const tracks = [], clipTracks = clip.tracks; + const json = { + "name": clip.name, + "duration": clip.duration, + "tracks": tracks, + "uuid": clip.uuid, + "blendMode": clip.blendMode + }; + for (let i = 0, n = clipTracks.length; i !== n; ++i) { + tracks.push(KeyframeTrack.toJSON(clipTracks[i])); + } + return json; + } + static CreateFromMorphTargetSequence(name, morphTargetSequence, fps, noLoop) { + const numMorphTargets = morphTargetSequence.length; + const tracks = []; + for (let i = 0; i < numMorphTargets; i++) { + let times = []; + let values = []; + times.push( + (i + numMorphTargets - 1) % numMorphTargets, + i, + (i + 1) % numMorphTargets + ); + values.push(0, 1, 0); + const order = getKeyframeOrder(times); + times = sortedArray(times, 1, order); + values = sortedArray(values, 1, order); + if (!noLoop && times[0] === 0) { + times.push(numMorphTargets); + values.push(values[0]); + } + tracks.push( + new NumberKeyframeTrack( + ".morphTargetInfluences[" + morphTargetSequence[i].name + "]", + times, + values + ).scale(1 / fps) + ); + } + return new this(name, -1, tracks); + } + static findByName(objectOrClipArray, name) { + let clipArray = objectOrClipArray; + if (!Array.isArray(objectOrClipArray)) { + const o = objectOrClipArray; + clipArray = o.geometry && o.geometry.animations || o.animations; + } + for (let i = 0; i < clipArray.length; i++) { + if (clipArray[i].name === name) { + return clipArray[i]; + } + } + return null; + } + static CreateClipsFromMorphTargetSequences(morphTargets, fps, noLoop) { + const animationToMorphTargets = {}; + const pattern = /^([\w-]*?)([\d]+)$/; + for (let i = 0, il = morphTargets.length; i < il; i++) { + const morphTarget = morphTargets[i]; + const parts = morphTarget.name.match(pattern); + if (parts && parts.length > 1) { + const name = parts[1]; + let animationMorphTargets = animationToMorphTargets[name]; + if (!animationMorphTargets) { + animationToMorphTargets[name] = animationMorphTargets = []; + } + animationMorphTargets.push(morphTarget); + } + } + const clips = []; + for (const name in animationToMorphTargets) { + clips.push(this.CreateFromMorphTargetSequence(name, animationToMorphTargets[name], fps, noLoop)); + } + return clips; + } + // parse the animation.hierarchy format + static parseAnimation(animation, bones) { + if (!animation) { + console.error("THREE.AnimationClip: No animation in JSONLoader data."); + return null; + } + const addNonemptyTrack = /* @__PURE__ */ __name(function(trackType, trackName, animationKeys, propertyName, destTracks) { + if (animationKeys.length !== 0) { + const times = []; + const values = []; + flattenJSON(animationKeys, times, values, propertyName); + if (times.length !== 0) { + destTracks.push(new trackType(trackName, times, values)); + } + } + }, "addNonemptyTrack"); + const tracks = []; + const clipName = animation.name || "default"; + const fps = animation.fps || 30; + const blendMode = animation.blendMode; + let duration = animation.length || -1; + const hierarchyTracks = animation.hierarchy || []; + for (let h = 0; h < hierarchyTracks.length; h++) { + const animationKeys = hierarchyTracks[h].keys; + if (!animationKeys || animationKeys.length === 0) continue; + if (animationKeys[0].morphTargets) { + const morphTargetNames = {}; + let k; + for (k = 0; k < animationKeys.length; k++) { + if (animationKeys[k].morphTargets) { + for (let m = 0; m < animationKeys[k].morphTargets.length; m++) { + morphTargetNames[animationKeys[k].morphTargets[m]] = -1; + } + } + } + for (const morphTargetName in morphTargetNames) { + const times = []; + const values = []; + for (let m = 0; m !== animationKeys[k].morphTargets.length; ++m) { + const animationKey = animationKeys[k]; + times.push(animationKey.time); + values.push(animationKey.morphTarget === morphTargetName ? 1 : 0); + } + tracks.push(new NumberKeyframeTrack(".morphTargetInfluence[" + morphTargetName + "]", times, values)); + } + duration = morphTargetNames.length * fps; + } else { + const boneName = ".bones[" + bones[h].name + "]"; + addNonemptyTrack( + VectorKeyframeTrack, + boneName + ".position", + animationKeys, + "pos", + tracks + ); + addNonemptyTrack( + QuaternionKeyframeTrack, + boneName + ".quaternion", + animationKeys, + "rot", + tracks + ); + addNonemptyTrack( + VectorKeyframeTrack, + boneName + ".scale", + animationKeys, + "scl", + tracks + ); + } + } + if (tracks.length === 0) { + return null; + } + const clip = new this(clipName, duration, tracks, blendMode); + return clip; + } + resetDuration() { + const tracks = this.tracks; + let duration = 0; + for (let i = 0, n = tracks.length; i !== n; ++i) { + const track = this.tracks[i]; + duration = Math.max(duration, track.times[track.times.length - 1]); + } + this.duration = duration; + return this; + } + trim() { + for (let i = 0; i < this.tracks.length; i++) { + this.tracks[i].trim(0, this.duration); + } + return this; + } + validate() { + let valid = true; + for (let i = 0; i < this.tracks.length; i++) { + valid = valid && this.tracks[i].validate(); + } + return valid; + } + optimize() { + for (let i = 0; i < this.tracks.length; i++) { + this.tracks[i].optimize(); + } + return this; + } + clone() { + const tracks = []; + for (let i = 0; i < this.tracks.length; i++) { + tracks.push(this.tracks[i].clone()); + } + return new this.constructor(this.name, this.duration, tracks, this.blendMode); + } + toJSON() { + return this.constructor.toJSON(this); + } +} +function getTrackTypeForValueTypeName(typeName) { + switch (typeName.toLowerCase()) { + case "scalar": + case "double": + case "float": + case "number": + case "integer": + return NumberKeyframeTrack; + case "vector": + case "vector2": + case "vector3": + case "vector4": + return VectorKeyframeTrack; + case "color": + return ColorKeyframeTrack; + case "quaternion": + return QuaternionKeyframeTrack; + case "bool": + case "boolean": + return BooleanKeyframeTrack; + case "string": + return StringKeyframeTrack; + } + throw new Error("THREE.KeyframeTrack: Unsupported typeName: " + typeName); +} +__name(getTrackTypeForValueTypeName, "getTrackTypeForValueTypeName"); +function parseKeyframeTrack(json) { + if (json.type === void 0) { + throw new Error("THREE.KeyframeTrack: track type undefined, can not parse"); + } + const trackType = getTrackTypeForValueTypeName(json.type); + if (json.times === void 0) { + const times = [], values = []; + flattenJSON(json.keys, times, values, "value"); + json.times = times; + json.values = values; + } + if (trackType.parse !== void 0) { + return trackType.parse(json); + } else { + return new trackType(json.name, json.times, json.values, json.interpolation); + } +} +__name(parseKeyframeTrack, "parseKeyframeTrack"); +const Cache = { + enabled: false, + files: {}, + add: /* @__PURE__ */ __name(function(key, file2) { + if (this.enabled === false) return; + this.files[key] = file2; + }, "add"), + get: /* @__PURE__ */ __name(function(key) { + if (this.enabled === false) return; + return this.files[key]; + }, "get"), + remove: /* @__PURE__ */ __name(function(key) { + delete this.files[key]; + }, "remove"), + clear: /* @__PURE__ */ __name(function() { + this.files = {}; + }, "clear") +}; +class LoadingManager { + static { + __name(this, "LoadingManager"); + } + constructor(onLoad, onProgress, onError) { + const scope = this; + let isLoading = false; + let itemsLoaded = 0; + let itemsTotal = 0; + let urlModifier = void 0; + const handlers = []; + this.onStart = void 0; + this.onLoad = onLoad; + this.onProgress = onProgress; + this.onError = onError; + this.itemStart = function(url) { + itemsTotal++; + if (isLoading === false) { + if (scope.onStart !== void 0) { + scope.onStart(url, itemsLoaded, itemsTotal); + } + } + isLoading = true; + }; + this.itemEnd = function(url) { + itemsLoaded++; + if (scope.onProgress !== void 0) { + scope.onProgress(url, itemsLoaded, itemsTotal); + } + if (itemsLoaded === itemsTotal) { + isLoading = false; + if (scope.onLoad !== void 0) { + scope.onLoad(); + } + } + }; + this.itemError = function(url) { + if (scope.onError !== void 0) { + scope.onError(url); + } + }; + this.resolveURL = function(url) { + if (urlModifier) { + return urlModifier(url); + } + return url; + }; + this.setURLModifier = function(transform) { + urlModifier = transform; + return this; + }; + this.addHandler = function(regex, loader) { + handlers.push(regex, loader); + return this; + }; + this.removeHandler = function(regex) { + const index = handlers.indexOf(regex); + if (index !== -1) { + handlers.splice(index, 2); + } + return this; + }; + this.getHandler = function(file2) { + for (let i = 0, l = handlers.length; i < l; i += 2) { + const regex = handlers[i]; + const loader = handlers[i + 1]; + if (regex.global) regex.lastIndex = 0; + if (regex.test(file2)) { + return loader; + } + } + return null; + }; + } +} +const DefaultLoadingManager = /* @__PURE__ */ new LoadingManager(); +class Loader { + static { + __name(this, "Loader"); + } + constructor(manager) { + this.manager = manager !== void 0 ? manager : DefaultLoadingManager; + this.crossOrigin = "anonymous"; + this.withCredentials = false; + this.path = ""; + this.resourcePath = ""; + this.requestHeader = {}; + } + load() { + } + loadAsync(url, onProgress) { + const scope = this; + return new Promise(function(resolve, reject) { + scope.load(url, resolve, onProgress, reject); + }); + } + parse() { + } + setCrossOrigin(crossOrigin) { + this.crossOrigin = crossOrigin; + return this; + } + setWithCredentials(value) { + this.withCredentials = value; + return this; + } + setPath(path) { + this.path = path; + return this; + } + setResourcePath(resourcePath) { + this.resourcePath = resourcePath; + return this; + } + setRequestHeader(requestHeader) { + this.requestHeader = requestHeader; + return this; + } +} +Loader.DEFAULT_MATERIAL_NAME = "__DEFAULT"; +const loading = {}; +class HttpError extends Error { + static { + __name(this, "HttpError"); + } + constructor(message, response) { + super(message); + this.response = response; + } +} +class FileLoader extends Loader { + static { + __name(this, "FileLoader"); + } + constructor(manager) { + super(manager); + } + load(url, onLoad, onProgress, onError) { + if (url === void 0) url = ""; + if (this.path !== void 0) url = this.path + url; + url = this.manager.resolveURL(url); + const cached = Cache.get(url); + if (cached !== void 0) { + this.manager.itemStart(url); + setTimeout(() => { + if (onLoad) onLoad(cached); + this.manager.itemEnd(url); + }, 0); + return cached; + } + if (loading[url] !== void 0) { + loading[url].push({ + onLoad, + onProgress, + onError + }); + return; + } + loading[url] = []; + loading[url].push({ + onLoad, + onProgress, + onError + }); + const req = new Request(url, { + headers: new Headers(this.requestHeader), + credentials: this.withCredentials ? "include" : "same-origin" + // An abort controller could be added within a future PR + }); + const mimeType = this.mimeType; + const responseType = this.responseType; + fetch(req).then((response) => { + if (response.status === 200 || response.status === 0) { + if (response.status === 0) { + console.warn("THREE.FileLoader: HTTP Status 0 received."); + } + if (typeof ReadableStream === "undefined" || response.body === void 0 || response.body.getReader === void 0) { + return response; + } + const callbacks = loading[url]; + const reader = response.body.getReader(); + const contentLength = response.headers.get("X-File-Size") || response.headers.get("Content-Length"); + const total = contentLength ? parseInt(contentLength) : 0; + const lengthComputable = total !== 0; + let loaded = 0; + const stream = new ReadableStream({ + start(controller) { + readData(); + function readData() { + reader.read().then(({ done, value }) => { + if (done) { + controller.close(); + } else { + loaded += value.byteLength; + const event = new ProgressEvent("progress", { lengthComputable, loaded, total }); + for (let i = 0, il = callbacks.length; i < il; i++) { + const callback = callbacks[i]; + if (callback.onProgress) callback.onProgress(event); + } + controller.enqueue(value); + readData(); + } + }, (e) => { + controller.error(e); + }); + } + __name(readData, "readData"); + } + }); + return new Response(stream); + } else { + throw new HttpError(`fetch for "${response.url}" responded with ${response.status}: ${response.statusText}`, response); + } + }).then((response) => { + switch (responseType) { + case "arraybuffer": + return response.arrayBuffer(); + case "blob": + return response.blob(); + case "document": + return response.text().then((text) => { + const parser = new DOMParser(); + return parser.parseFromString(text, mimeType); + }); + case "json": + return response.json(); + default: + if (mimeType === void 0) { + return response.text(); + } else { + const re = /charset="?([^;"\s]*)"?/i; + const exec = re.exec(mimeType); + const label = exec && exec[1] ? exec[1].toLowerCase() : void 0; + const decoder = new TextDecoder(label); + return response.arrayBuffer().then((ab) => decoder.decode(ab)); + } + } + }).then((data) => { + Cache.add(url, data); + const callbacks = loading[url]; + delete loading[url]; + for (let i = 0, il = callbacks.length; i < il; i++) { + const callback = callbacks[i]; + if (callback.onLoad) callback.onLoad(data); + } + }).catch((err2) => { + const callbacks = loading[url]; + if (callbacks === void 0) { + this.manager.itemError(url); + throw err2; + } + delete loading[url]; + for (let i = 0, il = callbacks.length; i < il; i++) { + const callback = callbacks[i]; + if (callback.onError) callback.onError(err2); + } + this.manager.itemError(url); + }).finally(() => { + this.manager.itemEnd(url); + }); + this.manager.itemStart(url); + } + setResponseType(value) { + this.responseType = value; + return this; + } + setMimeType(value) { + this.mimeType = value; + return this; + } +} +class AnimationLoader extends Loader { + static { + __name(this, "AnimationLoader"); + } + constructor(manager) { + super(manager); + } + load(url, onLoad, onProgress, onError) { + const scope = this; + const loader = new FileLoader(this.manager); + loader.setPath(this.path); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(this.withCredentials); + loader.load(url, function(text) { + try { + onLoad(scope.parse(JSON.parse(text))); + } catch (e) { + if (onError) { + onError(e); + } else { + console.error(e); + } + scope.manager.itemError(url); + } + }, onProgress, onError); + } + parse(json) { + const animations = []; + for (let i = 0; i < json.length; i++) { + const clip = AnimationClip.parse(json[i]); + animations.push(clip); + } + return animations; + } +} +class CompressedTextureLoader extends Loader { + static { + __name(this, "CompressedTextureLoader"); + } + constructor(manager) { + super(manager); + } + load(url, onLoad, onProgress, onError) { + const scope = this; + const images = []; + const texture = new CompressedTexture(); + const loader = new FileLoader(this.manager); + loader.setPath(this.path); + loader.setResponseType("arraybuffer"); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(scope.withCredentials); + let loaded = 0; + function loadTexture(i) { + loader.load(url[i], function(buffer) { + const texDatas = scope.parse(buffer, true); + images[i] = { + width: texDatas.width, + height: texDatas.height, + format: texDatas.format, + mipmaps: texDatas.mipmaps + }; + loaded += 1; + if (loaded === 6) { + if (texDatas.mipmapCount === 1) texture.minFilter = LinearFilter; + texture.image = images; + texture.format = texDatas.format; + texture.needsUpdate = true; + if (onLoad) onLoad(texture); + } + }, onProgress, onError); + } + __name(loadTexture, "loadTexture"); + if (Array.isArray(url)) { + for (let i = 0, il = url.length; i < il; ++i) { + loadTexture(i); + } + } else { + loader.load(url, function(buffer) { + const texDatas = scope.parse(buffer, true); + if (texDatas.isCubemap) { + const faces = texDatas.mipmaps.length / texDatas.mipmapCount; + for (let f = 0; f < faces; f++) { + images[f] = { mipmaps: [] }; + for (let i = 0; i < texDatas.mipmapCount; i++) { + images[f].mipmaps.push(texDatas.mipmaps[f * texDatas.mipmapCount + i]); + images[f].format = texDatas.format; + images[f].width = texDatas.width; + images[f].height = texDatas.height; + } + } + texture.image = images; + } else { + texture.image.width = texDatas.width; + texture.image.height = texDatas.height; + texture.mipmaps = texDatas.mipmaps; + } + if (texDatas.mipmapCount === 1) { + texture.minFilter = LinearFilter; + } + texture.format = texDatas.format; + texture.needsUpdate = true; + if (onLoad) onLoad(texture); + }, onProgress, onError); + } + return texture; + } +} +class ImageLoader extends Loader { + static { + __name(this, "ImageLoader"); + } + constructor(manager) { + super(manager); + } + load(url, onLoad, onProgress, onError) { + if (this.path !== void 0) url = this.path + url; + url = this.manager.resolveURL(url); + const scope = this; + const cached = Cache.get(url); + if (cached !== void 0) { + scope.manager.itemStart(url); + setTimeout(function() { + if (onLoad) onLoad(cached); + scope.manager.itemEnd(url); + }, 0); + return cached; + } + const image = createElementNS("img"); + function onImageLoad() { + removeEventListeners(); + Cache.add(url, this); + if (onLoad) onLoad(this); + scope.manager.itemEnd(url); + } + __name(onImageLoad, "onImageLoad"); + function onImageError(event) { + removeEventListeners(); + if (onError) onError(event); + scope.manager.itemError(url); + scope.manager.itemEnd(url); + } + __name(onImageError, "onImageError"); + function removeEventListeners() { + image.removeEventListener("load", onImageLoad, false); + image.removeEventListener("error", onImageError, false); + } + __name(removeEventListeners, "removeEventListeners"); + image.addEventListener("load", onImageLoad, false); + image.addEventListener("error", onImageError, false); + if (url.slice(0, 5) !== "data:") { + if (this.crossOrigin !== void 0) image.crossOrigin = this.crossOrigin; + } + scope.manager.itemStart(url); + image.src = url; + return image; + } +} +class CubeTextureLoader extends Loader { + static { + __name(this, "CubeTextureLoader"); + } + constructor(manager) { + super(manager); + } + load(urls, onLoad, onProgress, onError) { + const texture = new CubeTexture(); + texture.colorSpace = SRGBColorSpace; + const loader = new ImageLoader(this.manager); + loader.setCrossOrigin(this.crossOrigin); + loader.setPath(this.path); + let loaded = 0; + function loadTexture(i) { + loader.load(urls[i], function(image) { + texture.images[i] = image; + loaded++; + if (loaded === 6) { + texture.needsUpdate = true; + if (onLoad) onLoad(texture); + } + }, void 0, onError); + } + __name(loadTexture, "loadTexture"); + for (let i = 0; i < urls.length; ++i) { + loadTexture(i); + } + return texture; + } +} +class DataTextureLoader extends Loader { + static { + __name(this, "DataTextureLoader"); + } + constructor(manager) { + super(manager); + } + load(url, onLoad, onProgress, onError) { + const scope = this; + const texture = new DataTexture(); + const loader = new FileLoader(this.manager); + loader.setResponseType("arraybuffer"); + loader.setRequestHeader(this.requestHeader); + loader.setPath(this.path); + loader.setWithCredentials(scope.withCredentials); + loader.load(url, function(buffer) { + let texData; + try { + texData = scope.parse(buffer); + } catch (error) { + if (onError !== void 0) { + onError(error); + } else { + console.error(error); + return; + } + } + if (texData.image !== void 0) { + texture.image = texData.image; + } else if (texData.data !== void 0) { + texture.image.width = texData.width; + texture.image.height = texData.height; + texture.image.data = texData.data; + } + texture.wrapS = texData.wrapS !== void 0 ? texData.wrapS : ClampToEdgeWrapping; + texture.wrapT = texData.wrapT !== void 0 ? texData.wrapT : ClampToEdgeWrapping; + texture.magFilter = texData.magFilter !== void 0 ? texData.magFilter : LinearFilter; + texture.minFilter = texData.minFilter !== void 0 ? texData.minFilter : LinearFilter; + texture.anisotropy = texData.anisotropy !== void 0 ? texData.anisotropy : 1; + if (texData.colorSpace !== void 0) { + texture.colorSpace = texData.colorSpace; + } + if (texData.flipY !== void 0) { + texture.flipY = texData.flipY; + } + if (texData.format !== void 0) { + texture.format = texData.format; + } + if (texData.type !== void 0) { + texture.type = texData.type; + } + if (texData.mipmaps !== void 0) { + texture.mipmaps = texData.mipmaps; + texture.minFilter = LinearMipmapLinearFilter; + } + if (texData.mipmapCount === 1) { + texture.minFilter = LinearFilter; + } + if (texData.generateMipmaps !== void 0) { + texture.generateMipmaps = texData.generateMipmaps; + } + texture.needsUpdate = true; + if (onLoad) onLoad(texture, texData); + }, onProgress, onError); + return texture; + } +} +class TextureLoader extends Loader { + static { + __name(this, "TextureLoader"); + } + constructor(manager) { + super(manager); + } + load(url, onLoad, onProgress, onError) { + const texture = new Texture(); + const loader = new ImageLoader(this.manager); + loader.setCrossOrigin(this.crossOrigin); + loader.setPath(this.path); + loader.load(url, function(image) { + texture.image = image; + texture.needsUpdate = true; + if (onLoad !== void 0) { + onLoad(texture); + } + }, onProgress, onError); + return texture; + } +} +class Light extends Object3D { + static { + __name(this, "Light"); + } + constructor(color, intensity = 1) { + super(); + this.isLight = true; + this.type = "Light"; + this.color = new Color(color); + this.intensity = intensity; + } + dispose() { + } + copy(source, recursive) { + super.copy(source, recursive); + this.color.copy(source.color); + this.intensity = source.intensity; + return this; + } + toJSON(meta) { + const data = super.toJSON(meta); + data.object.color = this.color.getHex(); + data.object.intensity = this.intensity; + if (this.groundColor !== void 0) data.object.groundColor = this.groundColor.getHex(); + if (this.distance !== void 0) data.object.distance = this.distance; + if (this.angle !== void 0) data.object.angle = this.angle; + if (this.decay !== void 0) data.object.decay = this.decay; + if (this.penumbra !== void 0) data.object.penumbra = this.penumbra; + if (this.shadow !== void 0) data.object.shadow = this.shadow.toJSON(); + if (this.target !== void 0) data.object.target = this.target.uuid; + return data; + } +} +class HemisphereLight extends Light { + static { + __name(this, "HemisphereLight"); + } + constructor(skyColor, groundColor, intensity) { + super(skyColor, intensity); + this.isHemisphereLight = true; + this.type = "HemisphereLight"; + this.position.copy(Object3D.DEFAULT_UP); + this.updateMatrix(); + this.groundColor = new Color(groundColor); + } + copy(source, recursive) { + super.copy(source, recursive); + this.groundColor.copy(source.groundColor); + return this; + } +} +const _projScreenMatrix$1 = /* @__PURE__ */ new Matrix4(); +const _lightPositionWorld$1 = /* @__PURE__ */ new Vector3(); +const _lookTarget$1 = /* @__PURE__ */ new Vector3(); +class LightShadow { + static { + __name(this, "LightShadow"); + } + constructor(camera) { + this.camera = camera; + this.intensity = 1; + this.bias = 0; + this.normalBias = 0; + this.radius = 1; + this.blurSamples = 8; + this.mapSize = new Vector2(512, 512); + this.map = null; + this.mapPass = null; + this.matrix = new Matrix4(); + this.autoUpdate = true; + this.needsUpdate = false; + this._frustum = new Frustum(); + this._frameExtents = new Vector2(1, 1); + this._viewportCount = 1; + this._viewports = [ + new Vector4(0, 0, 1, 1) + ]; + } + getViewportCount() { + return this._viewportCount; + } + getFrustum() { + return this._frustum; + } + updateMatrices(light) { + const shadowCamera = this.camera; + const shadowMatrix = this.matrix; + _lightPositionWorld$1.setFromMatrixPosition(light.matrixWorld); + shadowCamera.position.copy(_lightPositionWorld$1); + _lookTarget$1.setFromMatrixPosition(light.target.matrixWorld); + shadowCamera.lookAt(_lookTarget$1); + shadowCamera.updateMatrixWorld(); + _projScreenMatrix$1.multiplyMatrices(shadowCamera.projectionMatrix, shadowCamera.matrixWorldInverse); + this._frustum.setFromProjectionMatrix(_projScreenMatrix$1); + shadowMatrix.set( + 0.5, + 0, + 0, + 0.5, + 0, + 0.5, + 0, + 0.5, + 0, + 0, + 0.5, + 0.5, + 0, + 0, + 0, + 1 + ); + shadowMatrix.multiply(_projScreenMatrix$1); + } + getViewport(viewportIndex) { + return this._viewports[viewportIndex]; + } + getFrameExtents() { + return this._frameExtents; + } + dispose() { + if (this.map) { + this.map.dispose(); + } + if (this.mapPass) { + this.mapPass.dispose(); + } + } + copy(source) { + this.camera = source.camera.clone(); + this.intensity = source.intensity; + this.bias = source.bias; + this.radius = source.radius; + this.mapSize.copy(source.mapSize); + return this; + } + clone() { + return new this.constructor().copy(this); + } + toJSON() { + const object = {}; + if (this.intensity !== 1) object.intensity = this.intensity; + if (this.bias !== 0) object.bias = this.bias; + if (this.normalBias !== 0) object.normalBias = this.normalBias; + if (this.radius !== 1) object.radius = this.radius; + if (this.mapSize.x !== 512 || this.mapSize.y !== 512) object.mapSize = this.mapSize.toArray(); + object.camera = this.camera.toJSON(false).object; + delete object.camera.matrix; + return object; + } +} +class SpotLightShadow extends LightShadow { + static { + __name(this, "SpotLightShadow"); + } + constructor() { + super(new PerspectiveCamera(50, 1, 0.5, 500)); + this.isSpotLightShadow = true; + this.focus = 1; + } + updateMatrices(light) { + const camera = this.camera; + const fov2 = RAD2DEG * 2 * light.angle * this.focus; + const aspect2 = this.mapSize.width / this.mapSize.height; + const far = light.distance || camera.far; + if (fov2 !== camera.fov || aspect2 !== camera.aspect || far !== camera.far) { + camera.fov = fov2; + camera.aspect = aspect2; + camera.far = far; + camera.updateProjectionMatrix(); + } + super.updateMatrices(light); + } + copy(source) { + super.copy(source); + this.focus = source.focus; + return this; + } +} +class SpotLight extends Light { + static { + __name(this, "SpotLight"); + } + constructor(color, intensity, distance = 0, angle = Math.PI / 3, penumbra = 0, decay = 2) { + super(color, intensity); + this.isSpotLight = true; + this.type = "SpotLight"; + this.position.copy(Object3D.DEFAULT_UP); + this.updateMatrix(); + this.target = new Object3D(); + this.distance = distance; + this.angle = angle; + this.penumbra = penumbra; + this.decay = decay; + this.map = null; + this.shadow = new SpotLightShadow(); + } + get power() { + return this.intensity * Math.PI; + } + set power(power) { + this.intensity = power / Math.PI; + } + dispose() { + this.shadow.dispose(); + } + copy(source, recursive) { + super.copy(source, recursive); + this.distance = source.distance; + this.angle = source.angle; + this.penumbra = source.penumbra; + this.decay = source.decay; + this.target = source.target.clone(); + this.shadow = source.shadow.clone(); + return this; + } +} +const _projScreenMatrix = /* @__PURE__ */ new Matrix4(); +const _lightPositionWorld = /* @__PURE__ */ new Vector3(); +const _lookTarget = /* @__PURE__ */ new Vector3(); +class PointLightShadow extends LightShadow { + static { + __name(this, "PointLightShadow"); + } + constructor() { + super(new PerspectiveCamera(90, 1, 0.5, 500)); + this.isPointLightShadow = true; + this._frameExtents = new Vector2(4, 2); + this._viewportCount = 6; + this._viewports = [ + // These viewports map a cube-map onto a 2D texture with the + // following orientation: + // + // xzXZ + // y Y + // + // X - Positive x direction + // x - Negative x direction + // Y - Positive y direction + // y - Negative y direction + // Z - Positive z direction + // z - Negative z direction + // positive X + new Vector4(2, 1, 1, 1), + // negative X + new Vector4(0, 1, 1, 1), + // positive Z + new Vector4(3, 1, 1, 1), + // negative Z + new Vector4(1, 1, 1, 1), + // positive Y + new Vector4(3, 0, 1, 1), + // negative Y + new Vector4(1, 0, 1, 1) + ]; + this._cubeDirections = [ + new Vector3(1, 0, 0), + new Vector3(-1, 0, 0), + new Vector3(0, 0, 1), + new Vector3(0, 0, -1), + new Vector3(0, 1, 0), + new Vector3(0, -1, 0) + ]; + this._cubeUps = [ + new Vector3(0, 1, 0), + new Vector3(0, 1, 0), + new Vector3(0, 1, 0), + new Vector3(0, 1, 0), + new Vector3(0, 0, 1), + new Vector3(0, 0, -1) + ]; + } + updateMatrices(light, viewportIndex = 0) { + const camera = this.camera; + const shadowMatrix = this.matrix; + const far = light.distance || camera.far; + if (far !== camera.far) { + camera.far = far; + camera.updateProjectionMatrix(); + } + _lightPositionWorld.setFromMatrixPosition(light.matrixWorld); + camera.position.copy(_lightPositionWorld); + _lookTarget.copy(camera.position); + _lookTarget.add(this._cubeDirections[viewportIndex]); + camera.up.copy(this._cubeUps[viewportIndex]); + camera.lookAt(_lookTarget); + camera.updateMatrixWorld(); + shadowMatrix.makeTranslation(-_lightPositionWorld.x, -_lightPositionWorld.y, -_lightPositionWorld.z); + _projScreenMatrix.multiplyMatrices(camera.projectionMatrix, camera.matrixWorldInverse); + this._frustum.setFromProjectionMatrix(_projScreenMatrix); + } +} +class PointLight extends Light { + static { + __name(this, "PointLight"); + } + constructor(color, intensity, distance = 0, decay = 2) { + super(color, intensity); + this.isPointLight = true; + this.type = "PointLight"; + this.distance = distance; + this.decay = decay; + this.shadow = new PointLightShadow(); + } + get power() { + return this.intensity * 4 * Math.PI; + } + set power(power) { + this.intensity = power / (4 * Math.PI); + } + dispose() { + this.shadow.dispose(); + } + copy(source, recursive) { + super.copy(source, recursive); + this.distance = source.distance; + this.decay = source.decay; + this.shadow = source.shadow.clone(); + return this; + } +} +class DirectionalLightShadow extends LightShadow { + static { + __name(this, "DirectionalLightShadow"); + } + constructor() { + super(new OrthographicCamera(-5, 5, 5, -5, 0.5, 500)); + this.isDirectionalLightShadow = true; + } +} +class DirectionalLight extends Light { + static { + __name(this, "DirectionalLight"); + } + constructor(color, intensity) { + super(color, intensity); + this.isDirectionalLight = true; + this.type = "DirectionalLight"; + this.position.copy(Object3D.DEFAULT_UP); + this.updateMatrix(); + this.target = new Object3D(); + this.shadow = new DirectionalLightShadow(); + } + dispose() { + this.shadow.dispose(); + } + copy(source) { + super.copy(source); + this.target = source.target.clone(); + this.shadow = source.shadow.clone(); + return this; + } +} +class AmbientLight extends Light { + static { + __name(this, "AmbientLight"); + } + constructor(color, intensity) { + super(color, intensity); + this.isAmbientLight = true; + this.type = "AmbientLight"; + } +} +class RectAreaLight extends Light { + static { + __name(this, "RectAreaLight"); + } + constructor(color, intensity, width = 10, height = 10) { + super(color, intensity); + this.isRectAreaLight = true; + this.type = "RectAreaLight"; + this.width = width; + this.height = height; + } + get power() { + return this.intensity * this.width * this.height * Math.PI; + } + set power(power) { + this.intensity = power / (this.width * this.height * Math.PI); + } + copy(source) { + super.copy(source); + this.width = source.width; + this.height = source.height; + return this; + } + toJSON(meta) { + const data = super.toJSON(meta); + data.object.width = this.width; + data.object.height = this.height; + return data; + } +} +class SphericalHarmonics3 { + static { + __name(this, "SphericalHarmonics3"); + } + constructor() { + this.isSphericalHarmonics3 = true; + this.coefficients = []; + for (let i = 0; i < 9; i++) { + this.coefficients.push(new Vector3()); + } + } + set(coefficients) { + for (let i = 0; i < 9; i++) { + this.coefficients[i].copy(coefficients[i]); + } + return this; + } + zero() { + for (let i = 0; i < 9; i++) { + this.coefficients[i].set(0, 0, 0); + } + return this; + } + // get the radiance in the direction of the normal + // target is a Vector3 + getAt(normal, target) { + const x = normal.x, y = normal.y, z = normal.z; + const coeff = this.coefficients; + target.copy(coeff[0]).multiplyScalar(0.282095); + target.addScaledVector(coeff[1], 0.488603 * y); + target.addScaledVector(coeff[2], 0.488603 * z); + target.addScaledVector(coeff[3], 0.488603 * x); + target.addScaledVector(coeff[4], 1.092548 * (x * y)); + target.addScaledVector(coeff[5], 1.092548 * (y * z)); + target.addScaledVector(coeff[6], 0.315392 * (3 * z * z - 1)); + target.addScaledVector(coeff[7], 1.092548 * (x * z)); + target.addScaledVector(coeff[8], 0.546274 * (x * x - y * y)); + return target; + } + // get the irradiance (radiance convolved with cosine lobe) in the direction of the normal + // target is a Vector3 + // https://graphics.stanford.edu/papers/envmap/envmap.pdf + getIrradianceAt(normal, target) { + const x = normal.x, y = normal.y, z = normal.z; + const coeff = this.coefficients; + target.copy(coeff[0]).multiplyScalar(0.886227); + target.addScaledVector(coeff[1], 2 * 0.511664 * y); + target.addScaledVector(coeff[2], 2 * 0.511664 * z); + target.addScaledVector(coeff[3], 2 * 0.511664 * x); + target.addScaledVector(coeff[4], 2 * 0.429043 * x * y); + target.addScaledVector(coeff[5], 2 * 0.429043 * y * z); + target.addScaledVector(coeff[6], 0.743125 * z * z - 0.247708); + target.addScaledVector(coeff[7], 2 * 0.429043 * x * z); + target.addScaledVector(coeff[8], 0.429043 * (x * x - y * y)); + return target; + } + add(sh) { + for (let i = 0; i < 9; i++) { + this.coefficients[i].add(sh.coefficients[i]); + } + return this; + } + addScaledSH(sh, s) { + for (let i = 0; i < 9; i++) { + this.coefficients[i].addScaledVector(sh.coefficients[i], s); + } + return this; + } + scale(s) { + for (let i = 0; i < 9; i++) { + this.coefficients[i].multiplyScalar(s); + } + return this; + } + lerp(sh, alpha) { + for (let i = 0; i < 9; i++) { + this.coefficients[i].lerp(sh.coefficients[i], alpha); + } + return this; + } + equals(sh) { + for (let i = 0; i < 9; i++) { + if (!this.coefficients[i].equals(sh.coefficients[i])) { + return false; + } + } + return true; + } + copy(sh) { + return this.set(sh.coefficients); + } + clone() { + return new this.constructor().copy(this); + } + fromArray(array, offset = 0) { + const coefficients = this.coefficients; + for (let i = 0; i < 9; i++) { + coefficients[i].fromArray(array, offset + i * 3); + } + return this; + } + toArray(array = [], offset = 0) { + const coefficients = this.coefficients; + for (let i = 0; i < 9; i++) { + coefficients[i].toArray(array, offset + i * 3); + } + return array; + } + // evaluate the basis functions + // shBasis is an Array[ 9 ] + static getBasisAt(normal, shBasis) { + const x = normal.x, y = normal.y, z = normal.z; + shBasis[0] = 0.282095; + shBasis[1] = 0.488603 * y; + shBasis[2] = 0.488603 * z; + shBasis[3] = 0.488603 * x; + shBasis[4] = 1.092548 * x * y; + shBasis[5] = 1.092548 * y * z; + shBasis[6] = 0.315392 * (3 * z * z - 1); + shBasis[7] = 1.092548 * x * z; + shBasis[8] = 0.546274 * (x * x - y * y); + } +} +class LightProbe extends Light { + static { + __name(this, "LightProbe"); + } + constructor(sh = new SphericalHarmonics3(), intensity = 1) { + super(void 0, intensity); + this.isLightProbe = true; + this.sh = sh; + } + copy(source) { + super.copy(source); + this.sh.copy(source.sh); + return this; + } + fromJSON(json) { + this.intensity = json.intensity; + this.sh.fromArray(json.sh); + return this; + } + toJSON(meta) { + const data = super.toJSON(meta); + data.object.sh = this.sh.toArray(); + return data; + } +} +class MaterialLoader extends Loader { + static { + __name(this, "MaterialLoader"); + } + constructor(manager) { + super(manager); + this.textures = {}; + } + load(url, onLoad, onProgress, onError) { + const scope = this; + const loader = new FileLoader(scope.manager); + loader.setPath(scope.path); + loader.setRequestHeader(scope.requestHeader); + loader.setWithCredentials(scope.withCredentials); + loader.load(url, function(text) { + try { + onLoad(scope.parse(JSON.parse(text))); + } catch (e) { + if (onError) { + onError(e); + } else { + console.error(e); + } + scope.manager.itemError(url); + } + }, onProgress, onError); + } + parse(json) { + const textures = this.textures; + function getTexture(name) { + if (textures[name] === void 0) { + console.warn("THREE.MaterialLoader: Undefined texture", name); + } + return textures[name]; + } + __name(getTexture, "getTexture"); + const material = this.createMaterialFromType(json.type); + if (json.uuid !== void 0) material.uuid = json.uuid; + if (json.name !== void 0) material.name = json.name; + if (json.color !== void 0 && material.color !== void 0) material.color.setHex(json.color); + if (json.roughness !== void 0) material.roughness = json.roughness; + if (json.metalness !== void 0) material.metalness = json.metalness; + if (json.sheen !== void 0) material.sheen = json.sheen; + if (json.sheenColor !== void 0) material.sheenColor = new Color().setHex(json.sheenColor); + if (json.sheenRoughness !== void 0) material.sheenRoughness = json.sheenRoughness; + if (json.emissive !== void 0 && material.emissive !== void 0) material.emissive.setHex(json.emissive); + if (json.specular !== void 0 && material.specular !== void 0) material.specular.setHex(json.specular); + if (json.specularIntensity !== void 0) material.specularIntensity = json.specularIntensity; + if (json.specularColor !== void 0 && material.specularColor !== void 0) material.specularColor.setHex(json.specularColor); + if (json.shininess !== void 0) material.shininess = json.shininess; + if (json.clearcoat !== void 0) material.clearcoat = json.clearcoat; + if (json.clearcoatRoughness !== void 0) material.clearcoatRoughness = json.clearcoatRoughness; + if (json.dispersion !== void 0) material.dispersion = json.dispersion; + if (json.iridescence !== void 0) material.iridescence = json.iridescence; + if (json.iridescenceIOR !== void 0) material.iridescenceIOR = json.iridescenceIOR; + if (json.iridescenceThicknessRange !== void 0) material.iridescenceThicknessRange = json.iridescenceThicknessRange; + if (json.transmission !== void 0) material.transmission = json.transmission; + if (json.thickness !== void 0) material.thickness = json.thickness; + if (json.attenuationDistance !== void 0) material.attenuationDistance = json.attenuationDistance; + if (json.attenuationColor !== void 0 && material.attenuationColor !== void 0) material.attenuationColor.setHex(json.attenuationColor); + if (json.anisotropy !== void 0) material.anisotropy = json.anisotropy; + if (json.anisotropyRotation !== void 0) material.anisotropyRotation = json.anisotropyRotation; + if (json.fog !== void 0) material.fog = json.fog; + if (json.flatShading !== void 0) material.flatShading = json.flatShading; + if (json.blending !== void 0) material.blending = json.blending; + if (json.combine !== void 0) material.combine = json.combine; + if (json.side !== void 0) material.side = json.side; + if (json.shadowSide !== void 0) material.shadowSide = json.shadowSide; + if (json.opacity !== void 0) material.opacity = json.opacity; + if (json.transparent !== void 0) material.transparent = json.transparent; + if (json.alphaTest !== void 0) material.alphaTest = json.alphaTest; + if (json.alphaHash !== void 0) material.alphaHash = json.alphaHash; + if (json.depthFunc !== void 0) material.depthFunc = json.depthFunc; + if (json.depthTest !== void 0) material.depthTest = json.depthTest; + if (json.depthWrite !== void 0) material.depthWrite = json.depthWrite; + if (json.colorWrite !== void 0) material.colorWrite = json.colorWrite; + if (json.blendSrc !== void 0) material.blendSrc = json.blendSrc; + if (json.blendDst !== void 0) material.blendDst = json.blendDst; + if (json.blendEquation !== void 0) material.blendEquation = json.blendEquation; + if (json.blendSrcAlpha !== void 0) material.blendSrcAlpha = json.blendSrcAlpha; + if (json.blendDstAlpha !== void 0) material.blendDstAlpha = json.blendDstAlpha; + if (json.blendEquationAlpha !== void 0) material.blendEquationAlpha = json.blendEquationAlpha; + if (json.blendColor !== void 0 && material.blendColor !== void 0) material.blendColor.setHex(json.blendColor); + if (json.blendAlpha !== void 0) material.blendAlpha = json.blendAlpha; + if (json.stencilWriteMask !== void 0) material.stencilWriteMask = json.stencilWriteMask; + if (json.stencilFunc !== void 0) material.stencilFunc = json.stencilFunc; + if (json.stencilRef !== void 0) material.stencilRef = json.stencilRef; + if (json.stencilFuncMask !== void 0) material.stencilFuncMask = json.stencilFuncMask; + if (json.stencilFail !== void 0) material.stencilFail = json.stencilFail; + if (json.stencilZFail !== void 0) material.stencilZFail = json.stencilZFail; + if (json.stencilZPass !== void 0) material.stencilZPass = json.stencilZPass; + if (json.stencilWrite !== void 0) material.stencilWrite = json.stencilWrite; + if (json.wireframe !== void 0) material.wireframe = json.wireframe; + if (json.wireframeLinewidth !== void 0) material.wireframeLinewidth = json.wireframeLinewidth; + if (json.wireframeLinecap !== void 0) material.wireframeLinecap = json.wireframeLinecap; + if (json.wireframeLinejoin !== void 0) material.wireframeLinejoin = json.wireframeLinejoin; + if (json.rotation !== void 0) material.rotation = json.rotation; + if (json.linewidth !== void 0) material.linewidth = json.linewidth; + if (json.dashSize !== void 0) material.dashSize = json.dashSize; + if (json.gapSize !== void 0) material.gapSize = json.gapSize; + if (json.scale !== void 0) material.scale = json.scale; + if (json.polygonOffset !== void 0) material.polygonOffset = json.polygonOffset; + if (json.polygonOffsetFactor !== void 0) material.polygonOffsetFactor = json.polygonOffsetFactor; + if (json.polygonOffsetUnits !== void 0) material.polygonOffsetUnits = json.polygonOffsetUnits; + if (json.dithering !== void 0) material.dithering = json.dithering; + if (json.alphaToCoverage !== void 0) material.alphaToCoverage = json.alphaToCoverage; + if (json.premultipliedAlpha !== void 0) material.premultipliedAlpha = json.premultipliedAlpha; + if (json.forceSinglePass !== void 0) material.forceSinglePass = json.forceSinglePass; + if (json.visible !== void 0) material.visible = json.visible; + if (json.toneMapped !== void 0) material.toneMapped = json.toneMapped; + if (json.userData !== void 0) material.userData = json.userData; + if (json.vertexColors !== void 0) { + if (typeof json.vertexColors === "number") { + material.vertexColors = json.vertexColors > 0 ? true : false; + } else { + material.vertexColors = json.vertexColors; + } + } + if (json.uniforms !== void 0) { + for (const name in json.uniforms) { + const uniform = json.uniforms[name]; + material.uniforms[name] = {}; + switch (uniform.type) { + case "t": + material.uniforms[name].value = getTexture(uniform.value); + break; + case "c": + material.uniforms[name].value = new Color().setHex(uniform.value); + break; + case "v2": + material.uniforms[name].value = new Vector2().fromArray(uniform.value); + break; + case "v3": + material.uniforms[name].value = new Vector3().fromArray(uniform.value); + break; + case "v4": + material.uniforms[name].value = new Vector4().fromArray(uniform.value); + break; + case "m3": + material.uniforms[name].value = new Matrix3().fromArray(uniform.value); + break; + case "m4": + material.uniforms[name].value = new Matrix4().fromArray(uniform.value); + break; + default: + material.uniforms[name].value = uniform.value; + } + } + } + if (json.defines !== void 0) material.defines = json.defines; + if (json.vertexShader !== void 0) material.vertexShader = json.vertexShader; + if (json.fragmentShader !== void 0) material.fragmentShader = json.fragmentShader; + if (json.glslVersion !== void 0) material.glslVersion = json.glslVersion; + if (json.extensions !== void 0) { + for (const key in json.extensions) { + material.extensions[key] = json.extensions[key]; + } + } + if (json.lights !== void 0) material.lights = json.lights; + if (json.clipping !== void 0) material.clipping = json.clipping; + if (json.size !== void 0) material.size = json.size; + if (json.sizeAttenuation !== void 0) material.sizeAttenuation = json.sizeAttenuation; + if (json.map !== void 0) material.map = getTexture(json.map); + if (json.matcap !== void 0) material.matcap = getTexture(json.matcap); + if (json.alphaMap !== void 0) material.alphaMap = getTexture(json.alphaMap); + if (json.bumpMap !== void 0) material.bumpMap = getTexture(json.bumpMap); + if (json.bumpScale !== void 0) material.bumpScale = json.bumpScale; + if (json.normalMap !== void 0) material.normalMap = getTexture(json.normalMap); + if (json.normalMapType !== void 0) material.normalMapType = json.normalMapType; + if (json.normalScale !== void 0) { + let normalScale = json.normalScale; + if (Array.isArray(normalScale) === false) { + normalScale = [normalScale, normalScale]; + } + material.normalScale = new Vector2().fromArray(normalScale); + } + if (json.displacementMap !== void 0) material.displacementMap = getTexture(json.displacementMap); + if (json.displacementScale !== void 0) material.displacementScale = json.displacementScale; + if (json.displacementBias !== void 0) material.displacementBias = json.displacementBias; + if (json.roughnessMap !== void 0) material.roughnessMap = getTexture(json.roughnessMap); + if (json.metalnessMap !== void 0) material.metalnessMap = getTexture(json.metalnessMap); + if (json.emissiveMap !== void 0) material.emissiveMap = getTexture(json.emissiveMap); + if (json.emissiveIntensity !== void 0) material.emissiveIntensity = json.emissiveIntensity; + if (json.specularMap !== void 0) material.specularMap = getTexture(json.specularMap); + if (json.specularIntensityMap !== void 0) material.specularIntensityMap = getTexture(json.specularIntensityMap); + if (json.specularColorMap !== void 0) material.specularColorMap = getTexture(json.specularColorMap); + if (json.envMap !== void 0) material.envMap = getTexture(json.envMap); + if (json.envMapRotation !== void 0) material.envMapRotation.fromArray(json.envMapRotation); + if (json.envMapIntensity !== void 0) material.envMapIntensity = json.envMapIntensity; + if (json.reflectivity !== void 0) material.reflectivity = json.reflectivity; + if (json.refractionRatio !== void 0) material.refractionRatio = json.refractionRatio; + if (json.lightMap !== void 0) material.lightMap = getTexture(json.lightMap); + if (json.lightMapIntensity !== void 0) material.lightMapIntensity = json.lightMapIntensity; + if (json.aoMap !== void 0) material.aoMap = getTexture(json.aoMap); + if (json.aoMapIntensity !== void 0) material.aoMapIntensity = json.aoMapIntensity; + if (json.gradientMap !== void 0) material.gradientMap = getTexture(json.gradientMap); + if (json.clearcoatMap !== void 0) material.clearcoatMap = getTexture(json.clearcoatMap); + if (json.clearcoatRoughnessMap !== void 0) material.clearcoatRoughnessMap = getTexture(json.clearcoatRoughnessMap); + if (json.clearcoatNormalMap !== void 0) material.clearcoatNormalMap = getTexture(json.clearcoatNormalMap); + if (json.clearcoatNormalScale !== void 0) material.clearcoatNormalScale = new Vector2().fromArray(json.clearcoatNormalScale); + if (json.iridescenceMap !== void 0) material.iridescenceMap = getTexture(json.iridescenceMap); + if (json.iridescenceThicknessMap !== void 0) material.iridescenceThicknessMap = getTexture(json.iridescenceThicknessMap); + if (json.transmissionMap !== void 0) material.transmissionMap = getTexture(json.transmissionMap); + if (json.thicknessMap !== void 0) material.thicknessMap = getTexture(json.thicknessMap); + if (json.anisotropyMap !== void 0) material.anisotropyMap = getTexture(json.anisotropyMap); + if (json.sheenColorMap !== void 0) material.sheenColorMap = getTexture(json.sheenColorMap); + if (json.sheenRoughnessMap !== void 0) material.sheenRoughnessMap = getTexture(json.sheenRoughnessMap); + return material; + } + setTextures(value) { + this.textures = value; + return this; + } + createMaterialFromType(type) { + return MaterialLoader.createMaterialFromType(type); + } + static createMaterialFromType(type) { + const materialLib = { + ShadowMaterial, + SpriteMaterial, + RawShaderMaterial, + ShaderMaterial, + PointsMaterial, + MeshPhysicalMaterial, + MeshStandardMaterial, + MeshPhongMaterial, + MeshToonMaterial, + MeshNormalMaterial, + MeshLambertMaterial, + MeshDepthMaterial, + MeshDistanceMaterial, + MeshBasicMaterial, + MeshMatcapMaterial, + LineDashedMaterial, + LineBasicMaterial, + Material + }; + return new materialLib[type](); + } +} +class LoaderUtils { + static { + __name(this, "LoaderUtils"); + } + static decodeText(array) { + console.warn("THREE.LoaderUtils: decodeText() has been deprecated with r165 and will be removed with r175. Use TextDecoder instead."); + if (typeof TextDecoder !== "undefined") { + return new TextDecoder().decode(array); + } + let s = ""; + for (let i = 0, il = array.length; i < il; i++) { + s += String.fromCharCode(array[i]); + } + try { + return decodeURIComponent(escape(s)); + } catch (e) { + return s; + } + } + static extractUrlBase(url) { + const index = url.lastIndexOf("/"); + if (index === -1) return "./"; + return url.slice(0, index + 1); + } + static resolveURL(url, path) { + if (typeof url !== "string" || url === "") return ""; + if (/^https?:\/\//i.test(path) && /^\//.test(url)) { + path = path.replace(/(^https?:\/\/[^\/]+).*/i, "$1"); + } + if (/^(https?:)?\/\//i.test(url)) return url; + if (/^data:.*,.*$/i.test(url)) return url; + if (/^blob:.*$/i.test(url)) return url; + return path + url; + } +} +class InstancedBufferGeometry extends BufferGeometry { + static { + __name(this, "InstancedBufferGeometry"); + } + constructor() { + super(); + this.isInstancedBufferGeometry = true; + this.type = "InstancedBufferGeometry"; + this.instanceCount = Infinity; + } + copy(source) { + super.copy(source); + this.instanceCount = source.instanceCount; + return this; + } + toJSON() { + const data = super.toJSON(); + data.instanceCount = this.instanceCount; + data.isInstancedBufferGeometry = true; + return data; + } +} +class BufferGeometryLoader extends Loader { + static { + __name(this, "BufferGeometryLoader"); + } + constructor(manager) { + super(manager); + } + load(url, onLoad, onProgress, onError) { + const scope = this; + const loader = new FileLoader(scope.manager); + loader.setPath(scope.path); + loader.setRequestHeader(scope.requestHeader); + loader.setWithCredentials(scope.withCredentials); + loader.load(url, function(text) { + try { + onLoad(scope.parse(JSON.parse(text))); + } catch (e) { + if (onError) { + onError(e); + } else { + console.error(e); + } + scope.manager.itemError(url); + } + }, onProgress, onError); + } + parse(json) { + const interleavedBufferMap = {}; + const arrayBufferMap = {}; + function getInterleavedBuffer(json2, uuid) { + if (interleavedBufferMap[uuid] !== void 0) return interleavedBufferMap[uuid]; + const interleavedBuffers = json2.interleavedBuffers; + const interleavedBuffer = interleavedBuffers[uuid]; + const buffer = getArrayBuffer(json2, interleavedBuffer.buffer); + const array = getTypedArray(interleavedBuffer.type, buffer); + const ib = new InterleavedBuffer(array, interleavedBuffer.stride); + ib.uuid = interleavedBuffer.uuid; + interleavedBufferMap[uuid] = ib; + return ib; + } + __name(getInterleavedBuffer, "getInterleavedBuffer"); + function getArrayBuffer(json2, uuid) { + if (arrayBufferMap[uuid] !== void 0) return arrayBufferMap[uuid]; + const arrayBuffers = json2.arrayBuffers; + const arrayBuffer = arrayBuffers[uuid]; + const ab = new Uint32Array(arrayBuffer).buffer; + arrayBufferMap[uuid] = ab; + return ab; + } + __name(getArrayBuffer, "getArrayBuffer"); + const geometry = json.isInstancedBufferGeometry ? new InstancedBufferGeometry() : new BufferGeometry(); + const index = json.data.index; + if (index !== void 0) { + const typedArray = getTypedArray(index.type, index.array); + geometry.setIndex(new BufferAttribute(typedArray, 1)); + } + const attributes = json.data.attributes; + for (const key in attributes) { + const attribute = attributes[key]; + let bufferAttribute; + if (attribute.isInterleavedBufferAttribute) { + const interleavedBuffer = getInterleavedBuffer(json.data, attribute.data); + bufferAttribute = new InterleavedBufferAttribute(interleavedBuffer, attribute.itemSize, attribute.offset, attribute.normalized); + } else { + const typedArray = getTypedArray(attribute.type, attribute.array); + const bufferAttributeConstr = attribute.isInstancedBufferAttribute ? InstancedBufferAttribute : BufferAttribute; + bufferAttribute = new bufferAttributeConstr(typedArray, attribute.itemSize, attribute.normalized); + } + if (attribute.name !== void 0) bufferAttribute.name = attribute.name; + if (attribute.usage !== void 0) bufferAttribute.setUsage(attribute.usage); + geometry.setAttribute(key, bufferAttribute); + } + const morphAttributes = json.data.morphAttributes; + if (morphAttributes) { + for (const key in morphAttributes) { + const attributeArray = morphAttributes[key]; + const array = []; + for (let i = 0, il = attributeArray.length; i < il; i++) { + const attribute = attributeArray[i]; + let bufferAttribute; + if (attribute.isInterleavedBufferAttribute) { + const interleavedBuffer = getInterleavedBuffer(json.data, attribute.data); + bufferAttribute = new InterleavedBufferAttribute(interleavedBuffer, attribute.itemSize, attribute.offset, attribute.normalized); + } else { + const typedArray = getTypedArray(attribute.type, attribute.array); + bufferAttribute = new BufferAttribute(typedArray, attribute.itemSize, attribute.normalized); + } + if (attribute.name !== void 0) bufferAttribute.name = attribute.name; + array.push(bufferAttribute); + } + geometry.morphAttributes[key] = array; + } + } + const morphTargetsRelative = json.data.morphTargetsRelative; + if (morphTargetsRelative) { + geometry.morphTargetsRelative = true; + } + const groups = json.data.groups || json.data.drawcalls || json.data.offsets; + if (groups !== void 0) { + for (let i = 0, n = groups.length; i !== n; ++i) { + const group = groups[i]; + geometry.addGroup(group.start, group.count, group.materialIndex); + } + } + const boundingSphere = json.data.boundingSphere; + if (boundingSphere !== void 0) { + const center = new Vector3(); + if (boundingSphere.center !== void 0) { + center.fromArray(boundingSphere.center); + } + geometry.boundingSphere = new Sphere(center, boundingSphere.radius); + } + if (json.name) geometry.name = json.name; + if (json.userData) geometry.userData = json.userData; + return geometry; + } +} +class ObjectLoader extends Loader { + static { + __name(this, "ObjectLoader"); + } + constructor(manager) { + super(manager); + } + load(url, onLoad, onProgress, onError) { + const scope = this; + const path = this.path === "" ? LoaderUtils.extractUrlBase(url) : this.path; + this.resourcePath = this.resourcePath || path; + const loader = new FileLoader(this.manager); + loader.setPath(this.path); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(this.withCredentials); + loader.load(url, function(text) { + let json = null; + try { + json = JSON.parse(text); + } catch (error) { + if (onError !== void 0) onError(error); + console.error("THREE:ObjectLoader: Can't parse " + url + ".", error.message); + return; + } + const metadata = json.metadata; + if (metadata === void 0 || metadata.type === void 0 || metadata.type.toLowerCase() === "geometry") { + if (onError !== void 0) onError(new Error("THREE.ObjectLoader: Can't load " + url)); + console.error("THREE.ObjectLoader: Can't load " + url); + return; + } + scope.parse(json, onLoad); + }, onProgress, onError); + } + async loadAsync(url, onProgress) { + const scope = this; + const path = this.path === "" ? LoaderUtils.extractUrlBase(url) : this.path; + this.resourcePath = this.resourcePath || path; + const loader = new FileLoader(this.manager); + loader.setPath(this.path); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(this.withCredentials); + const text = await loader.loadAsync(url, onProgress); + const json = JSON.parse(text); + const metadata = json.metadata; + if (metadata === void 0 || metadata.type === void 0 || metadata.type.toLowerCase() === "geometry") { + throw new Error("THREE.ObjectLoader: Can't load " + url); + } + return await scope.parseAsync(json); + } + parse(json, onLoad) { + const animations = this.parseAnimations(json.animations); + const shapes = this.parseShapes(json.shapes); + const geometries = this.parseGeometries(json.geometries, shapes); + const images = this.parseImages(json.images, function() { + if (onLoad !== void 0) onLoad(object); + }); + const textures = this.parseTextures(json.textures, images); + const materials = this.parseMaterials(json.materials, textures); + const object = this.parseObject(json.object, geometries, materials, textures, animations); + const skeletons = this.parseSkeletons(json.skeletons, object); + this.bindSkeletons(object, skeletons); + this.bindLightTargets(object); + if (onLoad !== void 0) { + let hasImages = false; + for (const uuid in images) { + if (images[uuid].data instanceof HTMLImageElement) { + hasImages = true; + break; + } + } + if (hasImages === false) onLoad(object); + } + return object; + } + async parseAsync(json) { + const animations = this.parseAnimations(json.animations); + const shapes = this.parseShapes(json.shapes); + const geometries = this.parseGeometries(json.geometries, shapes); + const images = await this.parseImagesAsync(json.images); + const textures = this.parseTextures(json.textures, images); + const materials = this.parseMaterials(json.materials, textures); + const object = this.parseObject(json.object, geometries, materials, textures, animations); + const skeletons = this.parseSkeletons(json.skeletons, object); + this.bindSkeletons(object, skeletons); + this.bindLightTargets(object); + return object; + } + parseShapes(json) { + const shapes = {}; + if (json !== void 0) { + for (let i = 0, l = json.length; i < l; i++) { + const shape = new Shape().fromJSON(json[i]); + shapes[shape.uuid] = shape; + } + } + return shapes; + } + parseSkeletons(json, object) { + const skeletons = {}; + const bones = {}; + object.traverse(function(child) { + if (child.isBone) bones[child.uuid] = child; + }); + if (json !== void 0) { + for (let i = 0, l = json.length; i < l; i++) { + const skeleton = new Skeleton().fromJSON(json[i], bones); + skeletons[skeleton.uuid] = skeleton; + } + } + return skeletons; + } + parseGeometries(json, shapes) { + const geometries = {}; + if (json !== void 0) { + const bufferGeometryLoader = new BufferGeometryLoader(); + for (let i = 0, l = json.length; i < l; i++) { + let geometry; + const data = json[i]; + switch (data.type) { + case "BufferGeometry": + case "InstancedBufferGeometry": + geometry = bufferGeometryLoader.parse(data); + break; + default: + if (data.type in Geometries) { + geometry = Geometries[data.type].fromJSON(data, shapes); + } else { + console.warn(`THREE.ObjectLoader: Unsupported geometry type "${data.type}"`); + } + } + geometry.uuid = data.uuid; + if (data.name !== void 0) geometry.name = data.name; + if (data.userData !== void 0) geometry.userData = data.userData; + geometries[data.uuid] = geometry; + } + } + return geometries; + } + parseMaterials(json, textures) { + const cache = {}; + const materials = {}; + if (json !== void 0) { + const loader = new MaterialLoader(); + loader.setTextures(textures); + for (let i = 0, l = json.length; i < l; i++) { + const data = json[i]; + if (cache[data.uuid] === void 0) { + cache[data.uuid] = loader.parse(data); + } + materials[data.uuid] = cache[data.uuid]; + } + } + return materials; + } + parseAnimations(json) { + const animations = {}; + if (json !== void 0) { + for (let i = 0; i < json.length; i++) { + const data = json[i]; + const clip = AnimationClip.parse(data); + animations[clip.uuid] = clip; + } + } + return animations; + } + parseImages(json, onLoad) { + const scope = this; + const images = {}; + let loader; + function loadImage2(url) { + scope.manager.itemStart(url); + return loader.load(url, function() { + scope.manager.itemEnd(url); + }, void 0, function() { + scope.manager.itemError(url); + scope.manager.itemEnd(url); + }); + } + __name(loadImage2, "loadImage"); + function deserializeImage(image) { + if (typeof image === "string") { + const url = image; + const path = /^(\/\/)|([a-z]+:(\/\/)?)/i.test(url) ? url : scope.resourcePath + url; + return loadImage2(path); + } else { + if (image.data) { + return { + data: getTypedArray(image.type, image.data), + width: image.width, + height: image.height + }; + } else { + return null; + } + } + } + __name(deserializeImage, "deserializeImage"); + if (json !== void 0 && json.length > 0) { + const manager = new LoadingManager(onLoad); + loader = new ImageLoader(manager); + loader.setCrossOrigin(this.crossOrigin); + for (let i = 0, il = json.length; i < il; i++) { + const image = json[i]; + const url = image.url; + if (Array.isArray(url)) { + const imageArray = []; + for (let j = 0, jl = url.length; j < jl; j++) { + const currentUrl = url[j]; + const deserializedImage = deserializeImage(currentUrl); + if (deserializedImage !== null) { + if (deserializedImage instanceof HTMLImageElement) { + imageArray.push(deserializedImage); + } else { + imageArray.push(new DataTexture(deserializedImage.data, deserializedImage.width, deserializedImage.height)); + } + } + } + images[image.uuid] = new Source(imageArray); + } else { + const deserializedImage = deserializeImage(image.url); + images[image.uuid] = new Source(deserializedImage); + } + } + } + return images; + } + async parseImagesAsync(json) { + const scope = this; + const images = {}; + let loader; + async function deserializeImage(image) { + if (typeof image === "string") { + const url = image; + const path = /^(\/\/)|([a-z]+:(\/\/)?)/i.test(url) ? url : scope.resourcePath + url; + return await loader.loadAsync(path); + } else { + if (image.data) { + return { + data: getTypedArray(image.type, image.data), + width: image.width, + height: image.height + }; + } else { + return null; + } + } + } + __name(deserializeImage, "deserializeImage"); + if (json !== void 0 && json.length > 0) { + loader = new ImageLoader(this.manager); + loader.setCrossOrigin(this.crossOrigin); + for (let i = 0, il = json.length; i < il; i++) { + const image = json[i]; + const url = image.url; + if (Array.isArray(url)) { + const imageArray = []; + for (let j = 0, jl = url.length; j < jl; j++) { + const currentUrl = url[j]; + const deserializedImage = await deserializeImage(currentUrl); + if (deserializedImage !== null) { + if (deserializedImage instanceof HTMLImageElement) { + imageArray.push(deserializedImage); + } else { + imageArray.push(new DataTexture(deserializedImage.data, deserializedImage.width, deserializedImage.height)); + } + } + } + images[image.uuid] = new Source(imageArray); + } else { + const deserializedImage = await deserializeImage(image.url); + images[image.uuid] = new Source(deserializedImage); + } + } + } + return images; + } + parseTextures(json, images) { + function parseConstant(value, type) { + if (typeof value === "number") return value; + console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.", value); + return type[value]; + } + __name(parseConstant, "parseConstant"); + const textures = {}; + if (json !== void 0) { + for (let i = 0, l = json.length; i < l; i++) { + const data = json[i]; + if (data.image === void 0) { + console.warn('THREE.ObjectLoader: No "image" specified for', data.uuid); + } + if (images[data.image] === void 0) { + console.warn("THREE.ObjectLoader: Undefined image", data.image); + } + const source = images[data.image]; + const image = source.data; + let texture; + if (Array.isArray(image)) { + texture = new CubeTexture(); + if (image.length === 6) texture.needsUpdate = true; + } else { + if (image && image.data) { + texture = new DataTexture(); + } else { + texture = new Texture(); + } + if (image) texture.needsUpdate = true; + } + texture.source = source; + texture.uuid = data.uuid; + if (data.name !== void 0) texture.name = data.name; + if (data.mapping !== void 0) texture.mapping = parseConstant(data.mapping, TEXTURE_MAPPING); + if (data.channel !== void 0) texture.channel = data.channel; + if (data.offset !== void 0) texture.offset.fromArray(data.offset); + if (data.repeat !== void 0) texture.repeat.fromArray(data.repeat); + if (data.center !== void 0) texture.center.fromArray(data.center); + if (data.rotation !== void 0) texture.rotation = data.rotation; + if (data.wrap !== void 0) { + texture.wrapS = parseConstant(data.wrap[0], TEXTURE_WRAPPING); + texture.wrapT = parseConstant(data.wrap[1], TEXTURE_WRAPPING); + } + if (data.format !== void 0) texture.format = data.format; + if (data.internalFormat !== void 0) texture.internalFormat = data.internalFormat; + if (data.type !== void 0) texture.type = data.type; + if (data.colorSpace !== void 0) texture.colorSpace = data.colorSpace; + if (data.minFilter !== void 0) texture.minFilter = parseConstant(data.minFilter, TEXTURE_FILTER); + if (data.magFilter !== void 0) texture.magFilter = parseConstant(data.magFilter, TEXTURE_FILTER); + if (data.anisotropy !== void 0) texture.anisotropy = data.anisotropy; + if (data.flipY !== void 0) texture.flipY = data.flipY; + if (data.generateMipmaps !== void 0) texture.generateMipmaps = data.generateMipmaps; + if (data.premultiplyAlpha !== void 0) texture.premultiplyAlpha = data.premultiplyAlpha; + if (data.unpackAlignment !== void 0) texture.unpackAlignment = data.unpackAlignment; + if (data.compareFunction !== void 0) texture.compareFunction = data.compareFunction; + if (data.userData !== void 0) texture.userData = data.userData; + textures[data.uuid] = texture; + } + } + return textures; + } + parseObject(data, geometries, materials, textures, animations) { + let object; + function getGeometry(name) { + if (geometries[name] === void 0) { + console.warn("THREE.ObjectLoader: Undefined geometry", name); + } + return geometries[name]; + } + __name(getGeometry, "getGeometry"); + function getMaterial(name) { + if (name === void 0) return void 0; + if (Array.isArray(name)) { + const array = []; + for (let i = 0, l = name.length; i < l; i++) { + const uuid = name[i]; + if (materials[uuid] === void 0) { + console.warn("THREE.ObjectLoader: Undefined material", uuid); + } + array.push(materials[uuid]); + } + return array; + } + if (materials[name] === void 0) { + console.warn("THREE.ObjectLoader: Undefined material", name); + } + return materials[name]; + } + __name(getMaterial, "getMaterial"); + function getTexture(uuid) { + if (textures[uuid] === void 0) { + console.warn("THREE.ObjectLoader: Undefined texture", uuid); + } + return textures[uuid]; + } + __name(getTexture, "getTexture"); + let geometry, material; + switch (data.type) { + case "Scene": + object = new Scene(); + if (data.background !== void 0) { + if (Number.isInteger(data.background)) { + object.background = new Color(data.background); + } else { + object.background = getTexture(data.background); + } + } + if (data.environment !== void 0) { + object.environment = getTexture(data.environment); + } + if (data.fog !== void 0) { + if (data.fog.type === "Fog") { + object.fog = new Fog(data.fog.color, data.fog.near, data.fog.far); + } else if (data.fog.type === "FogExp2") { + object.fog = new FogExp2(data.fog.color, data.fog.density); + } + if (data.fog.name !== "") { + object.fog.name = data.fog.name; + } + } + if (data.backgroundBlurriness !== void 0) object.backgroundBlurriness = data.backgroundBlurriness; + if (data.backgroundIntensity !== void 0) object.backgroundIntensity = data.backgroundIntensity; + if (data.backgroundRotation !== void 0) object.backgroundRotation.fromArray(data.backgroundRotation); + if (data.environmentIntensity !== void 0) object.environmentIntensity = data.environmentIntensity; + if (data.environmentRotation !== void 0) object.environmentRotation.fromArray(data.environmentRotation); + break; + case "PerspectiveCamera": + object = new PerspectiveCamera(data.fov, data.aspect, data.near, data.far); + if (data.focus !== void 0) object.focus = data.focus; + if (data.zoom !== void 0) object.zoom = data.zoom; + if (data.filmGauge !== void 0) object.filmGauge = data.filmGauge; + if (data.filmOffset !== void 0) object.filmOffset = data.filmOffset; + if (data.view !== void 0) object.view = Object.assign({}, data.view); + break; + case "OrthographicCamera": + object = new OrthographicCamera(data.left, data.right, data.top, data.bottom, data.near, data.far); + if (data.zoom !== void 0) object.zoom = data.zoom; + if (data.view !== void 0) object.view = Object.assign({}, data.view); + break; + case "AmbientLight": + object = new AmbientLight(data.color, data.intensity); + break; + case "DirectionalLight": + object = new DirectionalLight(data.color, data.intensity); + object.target = data.target || ""; + break; + case "PointLight": + object = new PointLight(data.color, data.intensity, data.distance, data.decay); + break; + case "RectAreaLight": + object = new RectAreaLight(data.color, data.intensity, data.width, data.height); + break; + case "SpotLight": + object = new SpotLight(data.color, data.intensity, data.distance, data.angle, data.penumbra, data.decay); + object.target = data.target || ""; + break; + case "HemisphereLight": + object = new HemisphereLight(data.color, data.groundColor, data.intensity); + break; + case "LightProbe": + object = new LightProbe().fromJSON(data); + break; + case "SkinnedMesh": + geometry = getGeometry(data.geometry); + material = getMaterial(data.material); + object = new SkinnedMesh(geometry, material); + if (data.bindMode !== void 0) object.bindMode = data.bindMode; + if (data.bindMatrix !== void 0) object.bindMatrix.fromArray(data.bindMatrix); + if (data.skeleton !== void 0) object.skeleton = data.skeleton; + break; + case "Mesh": + geometry = getGeometry(data.geometry); + material = getMaterial(data.material); + object = new Mesh(geometry, material); + break; + case "InstancedMesh": + geometry = getGeometry(data.geometry); + material = getMaterial(data.material); + const count = data.count; + const instanceMatrix = data.instanceMatrix; + const instanceColor = data.instanceColor; + object = new InstancedMesh(geometry, material, count); + object.instanceMatrix = new InstancedBufferAttribute(new Float32Array(instanceMatrix.array), 16); + if (instanceColor !== void 0) object.instanceColor = new InstancedBufferAttribute(new Float32Array(instanceColor.array), instanceColor.itemSize); + break; + case "BatchedMesh": + geometry = getGeometry(data.geometry); + material = getMaterial(data.material); + object = new BatchedMesh(data.maxInstanceCount, data.maxVertexCount, data.maxIndexCount, material); + object.geometry = geometry; + object.perObjectFrustumCulled = data.perObjectFrustumCulled; + object.sortObjects = data.sortObjects; + object._drawRanges = data.drawRanges; + object._reservedRanges = data.reservedRanges; + object._visibility = data.visibility; + object._active = data.active; + object._bounds = data.bounds.map((bound) => { + const box = new Box3(); + box.min.fromArray(bound.boxMin); + box.max.fromArray(bound.boxMax); + const sphere = new Sphere(); + sphere.radius = bound.sphereRadius; + sphere.center.fromArray(bound.sphereCenter); + return { + boxInitialized: bound.boxInitialized, + box, + sphereInitialized: bound.sphereInitialized, + sphere + }; + }); + object._maxInstanceCount = data.maxInstanceCount; + object._maxVertexCount = data.maxVertexCount; + object._maxIndexCount = data.maxIndexCount; + object._geometryInitialized = data.geometryInitialized; + object._geometryCount = data.geometryCount; + object._matricesTexture = getTexture(data.matricesTexture.uuid); + if (data.colorsTexture !== void 0) object._colorsTexture = getTexture(data.colorsTexture.uuid); + break; + case "LOD": + object = new LOD(); + break; + case "Line": + object = new Line(getGeometry(data.geometry), getMaterial(data.material)); + break; + case "LineLoop": + object = new LineLoop(getGeometry(data.geometry), getMaterial(data.material)); + break; + case "LineSegments": + object = new LineSegments(getGeometry(data.geometry), getMaterial(data.material)); + break; + case "PointCloud": + case "Points": + object = new Points(getGeometry(data.geometry), getMaterial(data.material)); + break; + case "Sprite": + object = new Sprite(getMaterial(data.material)); + break; + case "Group": + object = new Group(); + break; + case "Bone": + object = new Bone(); + break; + default: + object = new Object3D(); + } + object.uuid = data.uuid; + if (data.name !== void 0) object.name = data.name; + if (data.matrix !== void 0) { + object.matrix.fromArray(data.matrix); + if (data.matrixAutoUpdate !== void 0) object.matrixAutoUpdate = data.matrixAutoUpdate; + if (object.matrixAutoUpdate) object.matrix.decompose(object.position, object.quaternion, object.scale); + } else { + if (data.position !== void 0) object.position.fromArray(data.position); + if (data.rotation !== void 0) object.rotation.fromArray(data.rotation); + if (data.quaternion !== void 0) object.quaternion.fromArray(data.quaternion); + if (data.scale !== void 0) object.scale.fromArray(data.scale); + } + if (data.up !== void 0) object.up.fromArray(data.up); + if (data.castShadow !== void 0) object.castShadow = data.castShadow; + if (data.receiveShadow !== void 0) object.receiveShadow = data.receiveShadow; + if (data.shadow) { + if (data.shadow.intensity !== void 0) object.shadow.intensity = data.shadow.intensity; + if (data.shadow.bias !== void 0) object.shadow.bias = data.shadow.bias; + if (data.shadow.normalBias !== void 0) object.shadow.normalBias = data.shadow.normalBias; + if (data.shadow.radius !== void 0) object.shadow.radius = data.shadow.radius; + if (data.shadow.mapSize !== void 0) object.shadow.mapSize.fromArray(data.shadow.mapSize); + if (data.shadow.camera !== void 0) object.shadow.camera = this.parseObject(data.shadow.camera); + } + if (data.visible !== void 0) object.visible = data.visible; + if (data.frustumCulled !== void 0) object.frustumCulled = data.frustumCulled; + if (data.renderOrder !== void 0) object.renderOrder = data.renderOrder; + if (data.userData !== void 0) object.userData = data.userData; + if (data.layers !== void 0) object.layers.mask = data.layers; + if (data.children !== void 0) { + const children = data.children; + for (let i = 0; i < children.length; i++) { + object.add(this.parseObject(children[i], geometries, materials, textures, animations)); + } + } + if (data.animations !== void 0) { + const objectAnimations = data.animations; + for (let i = 0; i < objectAnimations.length; i++) { + const uuid = objectAnimations[i]; + object.animations.push(animations[uuid]); + } + } + if (data.type === "LOD") { + if (data.autoUpdate !== void 0) object.autoUpdate = data.autoUpdate; + const levels = data.levels; + for (let l = 0; l < levels.length; l++) { + const level = levels[l]; + const child = object.getObjectByProperty("uuid", level.object); + if (child !== void 0) { + object.addLevel(child, level.distance, level.hysteresis); + } + } + } + return object; + } + bindSkeletons(object, skeletons) { + if (Object.keys(skeletons).length === 0) return; + object.traverse(function(child) { + if (child.isSkinnedMesh === true && child.skeleton !== void 0) { + const skeleton = skeletons[child.skeleton]; + if (skeleton === void 0) { + console.warn("THREE.ObjectLoader: No skeleton found with UUID:", child.skeleton); + } else { + child.bind(skeleton, child.bindMatrix); + } + } + }); + } + bindLightTargets(object) { + object.traverse(function(child) { + if (child.isDirectionalLight || child.isSpotLight) { + const uuid = child.target; + const target = object.getObjectByProperty("uuid", uuid); + if (target !== void 0) { + child.target = target; + } else { + child.target = new Object3D(); + } + } + }); + } +} +const TEXTURE_MAPPING = { + UVMapping, + CubeReflectionMapping, + CubeRefractionMapping, + EquirectangularReflectionMapping, + EquirectangularRefractionMapping, + CubeUVReflectionMapping +}; +const TEXTURE_WRAPPING = { + RepeatWrapping, + ClampToEdgeWrapping, + MirroredRepeatWrapping +}; +const TEXTURE_FILTER = { + NearestFilter, + NearestMipmapNearestFilter, + NearestMipmapLinearFilter, + LinearFilter, + LinearMipmapNearestFilter, + LinearMipmapLinearFilter +}; +class ImageBitmapLoader extends Loader { + static { + __name(this, "ImageBitmapLoader"); + } + constructor(manager) { + super(manager); + this.isImageBitmapLoader = true; + if (typeof createImageBitmap === "undefined") { + console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."); + } + if (typeof fetch === "undefined") { + console.warn("THREE.ImageBitmapLoader: fetch() not supported."); + } + this.options = { premultiplyAlpha: "none" }; + } + setOptions(options) { + this.options = options; + return this; + } + load(url, onLoad, onProgress, onError) { + if (url === void 0) url = ""; + if (this.path !== void 0) url = this.path + url; + url = this.manager.resolveURL(url); + const scope = this; + const cached = Cache.get(url); + if (cached !== void 0) { + scope.manager.itemStart(url); + if (cached.then) { + cached.then((imageBitmap) => { + if (onLoad) onLoad(imageBitmap); + scope.manager.itemEnd(url); + }).catch((e) => { + if (onError) onError(e); + }); + return; + } + setTimeout(function() { + if (onLoad) onLoad(cached); + scope.manager.itemEnd(url); + }, 0); + return cached; + } + const fetchOptions = {}; + fetchOptions.credentials = this.crossOrigin === "anonymous" ? "same-origin" : "include"; + fetchOptions.headers = this.requestHeader; + const promise = fetch(url, fetchOptions).then(function(res) { + return res.blob(); + }).then(function(blob) { + return createImageBitmap(blob, Object.assign(scope.options, { colorSpaceConversion: "none" })); + }).then(function(imageBitmap) { + Cache.add(url, imageBitmap); + if (onLoad) onLoad(imageBitmap); + scope.manager.itemEnd(url); + return imageBitmap; + }).catch(function(e) { + if (onError) onError(e); + Cache.remove(url); + scope.manager.itemError(url); + scope.manager.itemEnd(url); + }); + Cache.add(url, promise); + scope.manager.itemStart(url); + } +} +let _context; +class AudioContext { + static { + __name(this, "AudioContext"); + } + static getContext() { + if (_context === void 0) { + _context = new (window.AudioContext || window.webkitAudioContext)(); + } + return _context; + } + static setContext(value) { + _context = value; + } +} +class AudioLoader extends Loader { + static { + __name(this, "AudioLoader"); + } + constructor(manager) { + super(manager); + } + load(url, onLoad, onProgress, onError) { + const scope = this; + const loader = new FileLoader(this.manager); + loader.setResponseType("arraybuffer"); + loader.setPath(this.path); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(this.withCredentials); + loader.load(url, function(buffer) { + try { + const bufferCopy = buffer.slice(0); + const context = AudioContext.getContext(); + context.decodeAudioData(bufferCopy, function(audioBuffer) { + onLoad(audioBuffer); + }).catch(handleError); + } catch (e) { + handleError(e); + } + }, onProgress, onError); + function handleError(e) { + if (onError) { + onError(e); + } else { + console.error(e); + } + scope.manager.itemError(url); + } + __name(handleError, "handleError"); + } +} +const _eyeRight = /* @__PURE__ */ new Matrix4(); +const _eyeLeft = /* @__PURE__ */ new Matrix4(); +const _projectionMatrix = /* @__PURE__ */ new Matrix4(); +class StereoCamera { + static { + __name(this, "StereoCamera"); + } + constructor() { + this.type = "StereoCamera"; + this.aspect = 1; + this.eyeSep = 0.064; + this.cameraL = new PerspectiveCamera(); + this.cameraL.layers.enable(1); + this.cameraL.matrixAutoUpdate = false; + this.cameraR = new PerspectiveCamera(); + this.cameraR.layers.enable(2); + this.cameraR.matrixAutoUpdate = false; + this._cache = { + focus: null, + fov: null, + aspect: null, + near: null, + far: null, + zoom: null, + eyeSep: null + }; + } + update(camera) { + const cache = this._cache; + const needsUpdate = cache.focus !== camera.focus || cache.fov !== camera.fov || cache.aspect !== camera.aspect * this.aspect || cache.near !== camera.near || cache.far !== camera.far || cache.zoom !== camera.zoom || cache.eyeSep !== this.eyeSep; + if (needsUpdate) { + cache.focus = camera.focus; + cache.fov = camera.fov; + cache.aspect = camera.aspect * this.aspect; + cache.near = camera.near; + cache.far = camera.far; + cache.zoom = camera.zoom; + cache.eyeSep = this.eyeSep; + _projectionMatrix.copy(camera.projectionMatrix); + const eyeSepHalf = cache.eyeSep / 2; + const eyeSepOnProjection = eyeSepHalf * cache.near / cache.focus; + const ymax = cache.near * Math.tan(DEG2RAD * cache.fov * 0.5) / cache.zoom; + let xmin, xmax; + _eyeLeft.elements[12] = -eyeSepHalf; + _eyeRight.elements[12] = eyeSepHalf; + xmin = -ymax * cache.aspect + eyeSepOnProjection; + xmax = ymax * cache.aspect + eyeSepOnProjection; + _projectionMatrix.elements[0] = 2 * cache.near / (xmax - xmin); + _projectionMatrix.elements[8] = (xmax + xmin) / (xmax - xmin); + this.cameraL.projectionMatrix.copy(_projectionMatrix); + xmin = -ymax * cache.aspect - eyeSepOnProjection; + xmax = ymax * cache.aspect - eyeSepOnProjection; + _projectionMatrix.elements[0] = 2 * cache.near / (xmax - xmin); + _projectionMatrix.elements[8] = (xmax + xmin) / (xmax - xmin); + this.cameraR.projectionMatrix.copy(_projectionMatrix); + } + this.cameraL.matrixWorld.copy(camera.matrixWorld).multiply(_eyeLeft); + this.cameraR.matrixWorld.copy(camera.matrixWorld).multiply(_eyeRight); + } +} +class Clock { + static { + __name(this, "Clock"); + } + constructor(autoStart = true) { + this.autoStart = autoStart; + this.startTime = 0; + this.oldTime = 0; + this.elapsedTime = 0; + this.running = false; + } + start() { + this.startTime = now(); + this.oldTime = this.startTime; + this.elapsedTime = 0; + this.running = true; + } + stop() { + this.getElapsedTime(); + this.running = false; + this.autoStart = false; + } + getElapsedTime() { + this.getDelta(); + return this.elapsedTime; + } + getDelta() { + let diff = 0; + if (this.autoStart && !this.running) { + this.start(); + return 0; + } + if (this.running) { + const newTime = now(); + diff = (newTime - this.oldTime) / 1e3; + this.oldTime = newTime; + this.elapsedTime += diff; + } + return diff; + } +} +function now() { + return performance.now(); +} +__name(now, "now"); +const _position$1 = /* @__PURE__ */ new Vector3(); +const _quaternion$1 = /* @__PURE__ */ new Quaternion(); +const _scale$1 = /* @__PURE__ */ new Vector3(); +const _orientation$1 = /* @__PURE__ */ new Vector3(); +class AudioListener extends Object3D { + static { + __name(this, "AudioListener"); + } + constructor() { + super(); + this.type = "AudioListener"; + this.context = AudioContext.getContext(); + this.gain = this.context.createGain(); + this.gain.connect(this.context.destination); + this.filter = null; + this.timeDelta = 0; + this._clock = new Clock(); + } + getInput() { + return this.gain; + } + removeFilter() { + if (this.filter !== null) { + this.gain.disconnect(this.filter); + this.filter.disconnect(this.context.destination); + this.gain.connect(this.context.destination); + this.filter = null; + } + return this; + } + getFilter() { + return this.filter; + } + setFilter(value) { + if (this.filter !== null) { + this.gain.disconnect(this.filter); + this.filter.disconnect(this.context.destination); + } else { + this.gain.disconnect(this.context.destination); + } + this.filter = value; + this.gain.connect(this.filter); + this.filter.connect(this.context.destination); + return this; + } + getMasterVolume() { + return this.gain.gain.value; + } + setMasterVolume(value) { + this.gain.gain.setTargetAtTime(value, this.context.currentTime, 0.01); + return this; + } + updateMatrixWorld(force) { + super.updateMatrixWorld(force); + const listener = this.context.listener; + const up = this.up; + this.timeDelta = this._clock.getDelta(); + this.matrixWorld.decompose(_position$1, _quaternion$1, _scale$1); + _orientation$1.set(0, 0, -1).applyQuaternion(_quaternion$1); + if (listener.positionX) { + const endTime = this.context.currentTime + this.timeDelta; + listener.positionX.linearRampToValueAtTime(_position$1.x, endTime); + listener.positionY.linearRampToValueAtTime(_position$1.y, endTime); + listener.positionZ.linearRampToValueAtTime(_position$1.z, endTime); + listener.forwardX.linearRampToValueAtTime(_orientation$1.x, endTime); + listener.forwardY.linearRampToValueAtTime(_orientation$1.y, endTime); + listener.forwardZ.linearRampToValueAtTime(_orientation$1.z, endTime); + listener.upX.linearRampToValueAtTime(up.x, endTime); + listener.upY.linearRampToValueAtTime(up.y, endTime); + listener.upZ.linearRampToValueAtTime(up.z, endTime); + } else { + listener.setPosition(_position$1.x, _position$1.y, _position$1.z); + listener.setOrientation(_orientation$1.x, _orientation$1.y, _orientation$1.z, up.x, up.y, up.z); + } + } +} +class Audio extends Object3D { + static { + __name(this, "Audio"); + } + constructor(listener) { + super(); + this.type = "Audio"; + this.listener = listener; + this.context = listener.context; + this.gain = this.context.createGain(); + this.gain.connect(listener.getInput()); + this.autoplay = false; + this.buffer = null; + this.detune = 0; + this.loop = false; + this.loopStart = 0; + this.loopEnd = 0; + this.offset = 0; + this.duration = void 0; + this.playbackRate = 1; + this.isPlaying = false; + this.hasPlaybackControl = true; + this.source = null; + this.sourceType = "empty"; + this._startedAt = 0; + this._progress = 0; + this._connected = false; + this.filters = []; + } + getOutput() { + return this.gain; + } + setNodeSource(audioNode) { + this.hasPlaybackControl = false; + this.sourceType = "audioNode"; + this.source = audioNode; + this.connect(); + return this; + } + setMediaElementSource(mediaElement) { + this.hasPlaybackControl = false; + this.sourceType = "mediaNode"; + this.source = this.context.createMediaElementSource(mediaElement); + this.connect(); + return this; + } + setMediaStreamSource(mediaStream) { + this.hasPlaybackControl = false; + this.sourceType = "mediaStreamNode"; + this.source = this.context.createMediaStreamSource(mediaStream); + this.connect(); + return this; + } + setBuffer(audioBuffer) { + this.buffer = audioBuffer; + this.sourceType = "buffer"; + if (this.autoplay) this.play(); + return this; + } + play(delay = 0) { + if (this.isPlaying === true) { + console.warn("THREE.Audio: Audio is already playing."); + return; + } + if (this.hasPlaybackControl === false) { + console.warn("THREE.Audio: this Audio has no playback control."); + return; + } + this._startedAt = this.context.currentTime + delay; + const source = this.context.createBufferSource(); + source.buffer = this.buffer; + source.loop = this.loop; + source.loopStart = this.loopStart; + source.loopEnd = this.loopEnd; + source.onended = this.onEnded.bind(this); + source.start(this._startedAt, this._progress + this.offset, this.duration); + this.isPlaying = true; + this.source = source; + this.setDetune(this.detune); + this.setPlaybackRate(this.playbackRate); + return this.connect(); + } + pause() { + if (this.hasPlaybackControl === false) { + console.warn("THREE.Audio: this Audio has no playback control."); + return; + } + if (this.isPlaying === true) { + this._progress += Math.max(this.context.currentTime - this._startedAt, 0) * this.playbackRate; + if (this.loop === true) { + this._progress = this._progress % (this.duration || this.buffer.duration); + } + this.source.stop(); + this.source.onended = null; + this.isPlaying = false; + } + return this; + } + stop(delay = 0) { + if (this.hasPlaybackControl === false) { + console.warn("THREE.Audio: this Audio has no playback control."); + return; + } + this._progress = 0; + if (this.source !== null) { + this.source.stop(this.context.currentTime + delay); + this.source.onended = null; + } + this.isPlaying = false; + return this; + } + connect() { + if (this.filters.length > 0) { + this.source.connect(this.filters[0]); + for (let i = 1, l = this.filters.length; i < l; i++) { + this.filters[i - 1].connect(this.filters[i]); + } + this.filters[this.filters.length - 1].connect(this.getOutput()); + } else { + this.source.connect(this.getOutput()); + } + this._connected = true; + return this; + } + disconnect() { + if (this._connected === false) { + return; + } + if (this.filters.length > 0) { + this.source.disconnect(this.filters[0]); + for (let i = 1, l = this.filters.length; i < l; i++) { + this.filters[i - 1].disconnect(this.filters[i]); + } + this.filters[this.filters.length - 1].disconnect(this.getOutput()); + } else { + this.source.disconnect(this.getOutput()); + } + this._connected = false; + return this; + } + getFilters() { + return this.filters; + } + setFilters(value) { + if (!value) value = []; + if (this._connected === true) { + this.disconnect(); + this.filters = value.slice(); + this.connect(); + } else { + this.filters = value.slice(); + } + return this; + } + setDetune(value) { + this.detune = value; + if (this.isPlaying === true && this.source.detune !== void 0) { + this.source.detune.setTargetAtTime(this.detune, this.context.currentTime, 0.01); + } + return this; + } + getDetune() { + return this.detune; + } + getFilter() { + return this.getFilters()[0]; + } + setFilter(filter) { + return this.setFilters(filter ? [filter] : []); + } + setPlaybackRate(value) { + if (this.hasPlaybackControl === false) { + console.warn("THREE.Audio: this Audio has no playback control."); + return; + } + this.playbackRate = value; + if (this.isPlaying === true) { + this.source.playbackRate.setTargetAtTime(this.playbackRate, this.context.currentTime, 0.01); + } + return this; + } + getPlaybackRate() { + return this.playbackRate; + } + onEnded() { + this.isPlaying = false; + } + getLoop() { + if (this.hasPlaybackControl === false) { + console.warn("THREE.Audio: this Audio has no playback control."); + return false; + } + return this.loop; + } + setLoop(value) { + if (this.hasPlaybackControl === false) { + console.warn("THREE.Audio: this Audio has no playback control."); + return; + } + this.loop = value; + if (this.isPlaying === true) { + this.source.loop = this.loop; + } + return this; + } + setLoopStart(value) { + this.loopStart = value; + return this; + } + setLoopEnd(value) { + this.loopEnd = value; + return this; + } + getVolume() { + return this.gain.gain.value; + } + setVolume(value) { + this.gain.gain.setTargetAtTime(value, this.context.currentTime, 0.01); + return this; + } +} +const _position = /* @__PURE__ */ new Vector3(); +const _quaternion = /* @__PURE__ */ new Quaternion(); +const _scale = /* @__PURE__ */ new Vector3(); +const _orientation = /* @__PURE__ */ new Vector3(); +class PositionalAudio extends Audio { + static { + __name(this, "PositionalAudio"); + } + constructor(listener) { + super(listener); + this.panner = this.context.createPanner(); + this.panner.panningModel = "HRTF"; + this.panner.connect(this.gain); + } + connect() { + super.connect(); + this.panner.connect(this.gain); + } + disconnect() { + super.disconnect(); + this.panner.disconnect(this.gain); + } + getOutput() { + return this.panner; + } + getRefDistance() { + return this.panner.refDistance; + } + setRefDistance(value) { + this.panner.refDistance = value; + return this; + } + getRolloffFactor() { + return this.panner.rolloffFactor; + } + setRolloffFactor(value) { + this.panner.rolloffFactor = value; + return this; + } + getDistanceModel() { + return this.panner.distanceModel; + } + setDistanceModel(value) { + this.panner.distanceModel = value; + return this; + } + getMaxDistance() { + return this.panner.maxDistance; + } + setMaxDistance(value) { + this.panner.maxDistance = value; + return this; + } + setDirectionalCone(coneInnerAngle, coneOuterAngle, coneOuterGain) { + this.panner.coneInnerAngle = coneInnerAngle; + this.panner.coneOuterAngle = coneOuterAngle; + this.panner.coneOuterGain = coneOuterGain; + return this; + } + updateMatrixWorld(force) { + super.updateMatrixWorld(force); + if (this.hasPlaybackControl === true && this.isPlaying === false) return; + this.matrixWorld.decompose(_position, _quaternion, _scale); + _orientation.set(0, 0, 1).applyQuaternion(_quaternion); + const panner = this.panner; + if (panner.positionX) { + const endTime = this.context.currentTime + this.listener.timeDelta; + panner.positionX.linearRampToValueAtTime(_position.x, endTime); + panner.positionY.linearRampToValueAtTime(_position.y, endTime); + panner.positionZ.linearRampToValueAtTime(_position.z, endTime); + panner.orientationX.linearRampToValueAtTime(_orientation.x, endTime); + panner.orientationY.linearRampToValueAtTime(_orientation.y, endTime); + panner.orientationZ.linearRampToValueAtTime(_orientation.z, endTime); + } else { + panner.setPosition(_position.x, _position.y, _position.z); + panner.setOrientation(_orientation.x, _orientation.y, _orientation.z); + } + } +} +class AudioAnalyser { + static { + __name(this, "AudioAnalyser"); + } + constructor(audio, fftSize = 2048) { + this.analyser = audio.context.createAnalyser(); + this.analyser.fftSize = fftSize; + this.data = new Uint8Array(this.analyser.frequencyBinCount); + audio.getOutput().connect(this.analyser); + } + getFrequencyData() { + this.analyser.getByteFrequencyData(this.data); + return this.data; + } + getAverageFrequency() { + let value = 0; + const data = this.getFrequencyData(); + for (let i = 0; i < data.length; i++) { + value += data[i]; + } + return value / data.length; + } +} +class PropertyMixer { + static { + __name(this, "PropertyMixer"); + } + constructor(binding, typeName, valueSize) { + this.binding = binding; + this.valueSize = valueSize; + let mixFunction, mixFunctionAdditive, setIdentity; + switch (typeName) { + case "quaternion": + mixFunction = this._slerp; + mixFunctionAdditive = this._slerpAdditive; + setIdentity = this._setAdditiveIdentityQuaternion; + this.buffer = new Float64Array(valueSize * 6); + this._workIndex = 5; + break; + case "string": + case "bool": + mixFunction = this._select; + mixFunctionAdditive = this._select; + setIdentity = this._setAdditiveIdentityOther; + this.buffer = new Array(valueSize * 5); + break; + default: + mixFunction = this._lerp; + mixFunctionAdditive = this._lerpAdditive; + setIdentity = this._setAdditiveIdentityNumeric; + this.buffer = new Float64Array(valueSize * 5); + } + this._mixBufferRegion = mixFunction; + this._mixBufferRegionAdditive = mixFunctionAdditive; + this._setIdentity = setIdentity; + this._origIndex = 3; + this._addIndex = 4; + this.cumulativeWeight = 0; + this.cumulativeWeightAdditive = 0; + this.useCount = 0; + this.referenceCount = 0; + } + // accumulate data in the 'incoming' region into 'accu' + accumulate(accuIndex, weight) { + const buffer = this.buffer, stride = this.valueSize, offset = accuIndex * stride + stride; + let currentWeight = this.cumulativeWeight; + if (currentWeight === 0) { + for (let i = 0; i !== stride; ++i) { + buffer[offset + i] = buffer[i]; + } + currentWeight = weight; + } else { + currentWeight += weight; + const mix = weight / currentWeight; + this._mixBufferRegion(buffer, offset, 0, mix, stride); + } + this.cumulativeWeight = currentWeight; + } + // accumulate data in the 'incoming' region into 'add' + accumulateAdditive(weight) { + const buffer = this.buffer, stride = this.valueSize, offset = stride * this._addIndex; + if (this.cumulativeWeightAdditive === 0) { + this._setIdentity(); + } + this._mixBufferRegionAdditive(buffer, offset, 0, weight, stride); + this.cumulativeWeightAdditive += weight; + } + // apply the state of 'accu' to the binding when accus differ + apply(accuIndex) { + const stride = this.valueSize, buffer = this.buffer, offset = accuIndex * stride + stride, weight = this.cumulativeWeight, weightAdditive = this.cumulativeWeightAdditive, binding = this.binding; + this.cumulativeWeight = 0; + this.cumulativeWeightAdditive = 0; + if (weight < 1) { + const originalValueOffset = stride * this._origIndex; + this._mixBufferRegion( + buffer, + offset, + originalValueOffset, + 1 - weight, + stride + ); + } + if (weightAdditive > 0) { + this._mixBufferRegionAdditive(buffer, offset, this._addIndex * stride, 1, stride); + } + for (let i = stride, e = stride + stride; i !== e; ++i) { + if (buffer[i] !== buffer[i + stride]) { + binding.setValue(buffer, offset); + break; + } + } + } + // remember the state of the bound property and copy it to both accus + saveOriginalState() { + const binding = this.binding; + const buffer = this.buffer, stride = this.valueSize, originalValueOffset = stride * this._origIndex; + binding.getValue(buffer, originalValueOffset); + for (let i = stride, e = originalValueOffset; i !== e; ++i) { + buffer[i] = buffer[originalValueOffset + i % stride]; + } + this._setIdentity(); + this.cumulativeWeight = 0; + this.cumulativeWeightAdditive = 0; + } + // apply the state previously taken via 'saveOriginalState' to the binding + restoreOriginalState() { + const originalValueOffset = this.valueSize * 3; + this.binding.setValue(this.buffer, originalValueOffset); + } + _setAdditiveIdentityNumeric() { + const startIndex = this._addIndex * this.valueSize; + const endIndex = startIndex + this.valueSize; + for (let i = startIndex; i < endIndex; i++) { + this.buffer[i] = 0; + } + } + _setAdditiveIdentityQuaternion() { + this._setAdditiveIdentityNumeric(); + this.buffer[this._addIndex * this.valueSize + 3] = 1; + } + _setAdditiveIdentityOther() { + const startIndex = this._origIndex * this.valueSize; + const targetIndex = this._addIndex * this.valueSize; + for (let i = 0; i < this.valueSize; i++) { + this.buffer[targetIndex + i] = this.buffer[startIndex + i]; + } + } + // mix functions + _select(buffer, dstOffset, srcOffset, t2, stride) { + if (t2 >= 0.5) { + for (let i = 0; i !== stride; ++i) { + buffer[dstOffset + i] = buffer[srcOffset + i]; + } + } + } + _slerp(buffer, dstOffset, srcOffset, t2) { + Quaternion.slerpFlat(buffer, dstOffset, buffer, dstOffset, buffer, srcOffset, t2); + } + _slerpAdditive(buffer, dstOffset, srcOffset, t2, stride) { + const workOffset = this._workIndex * stride; + Quaternion.multiplyQuaternionsFlat(buffer, workOffset, buffer, dstOffset, buffer, srcOffset); + Quaternion.slerpFlat(buffer, dstOffset, buffer, dstOffset, buffer, workOffset, t2); + } + _lerp(buffer, dstOffset, srcOffset, t2, stride) { + const s = 1 - t2; + for (let i = 0; i !== stride; ++i) { + const j = dstOffset + i; + buffer[j] = buffer[j] * s + buffer[srcOffset + i] * t2; + } + } + _lerpAdditive(buffer, dstOffset, srcOffset, t2, stride) { + for (let i = 0; i !== stride; ++i) { + const j = dstOffset + i; + buffer[j] = buffer[j] + buffer[srcOffset + i] * t2; + } + } +} +const _RESERVED_CHARS_RE = "\\[\\]\\.:\\/"; +const _reservedRe = new RegExp("[" + _RESERVED_CHARS_RE + "]", "g"); +const _wordChar = "[^" + _RESERVED_CHARS_RE + "]"; +const _wordCharOrDot = "[^" + _RESERVED_CHARS_RE.replace("\\.", "") + "]"; +const _directoryRe = /* @__PURE__ */ /((?:WC+[\/:])*)/.source.replace("WC", _wordChar); +const _nodeRe = /* @__PURE__ */ /(WCOD+)?/.source.replace("WCOD", _wordCharOrDot); +const _objectRe = /* @__PURE__ */ /(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC", _wordChar); +const _propertyRe = /* @__PURE__ */ /\.(WC+)(?:\[(.+)\])?/.source.replace("WC", _wordChar); +const _trackRe = new RegExp( + "^" + _directoryRe + _nodeRe + _objectRe + _propertyRe + "$" +); +const _supportedObjectNames = ["material", "materials", "bones", "map"]; +class Composite { + static { + __name(this, "Composite"); + } + constructor(targetGroup, path, optionalParsedPath) { + const parsedPath = optionalParsedPath || PropertyBinding.parseTrackName(path); + this._targetGroup = targetGroup; + this._bindings = targetGroup.subscribe_(path, parsedPath); + } + getValue(array, offset) { + this.bind(); + const firstValidIndex = this._targetGroup.nCachedObjects_, binding = this._bindings[firstValidIndex]; + if (binding !== void 0) binding.getValue(array, offset); + } + setValue(array, offset) { + const bindings = this._bindings; + for (let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++i) { + bindings[i].setValue(array, offset); + } + } + bind() { + const bindings = this._bindings; + for (let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++i) { + bindings[i].bind(); + } + } + unbind() { + const bindings = this._bindings; + for (let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++i) { + bindings[i].unbind(); + } + } +} +class PropertyBinding { + static { + __name(this, "PropertyBinding"); + } + constructor(rootNode, path, parsedPath) { + this.path = path; + this.parsedPath = parsedPath || PropertyBinding.parseTrackName(path); + this.node = PropertyBinding.findNode(rootNode, this.parsedPath.nodeName); + this.rootNode = rootNode; + this.getValue = this._getValue_unbound; + this.setValue = this._setValue_unbound; + } + static create(root, path, parsedPath) { + if (!(root && root.isAnimationObjectGroup)) { + return new PropertyBinding(root, path, parsedPath); + } else { + return new PropertyBinding.Composite(root, path, parsedPath); + } + } + /** + * Replaces spaces with underscores and removes unsupported characters from + * node names, to ensure compatibility with parseTrackName(). + * + * @param {string} name Node name to be sanitized. + * @return {string} + */ + static sanitizeNodeName(name) { + return name.replace(/\s/g, "_").replace(_reservedRe, ""); + } + static parseTrackName(trackName) { + const matches = _trackRe.exec(trackName); + if (matches === null) { + throw new Error("PropertyBinding: Cannot parse trackName: " + trackName); + } + const results = { + // directoryName: matches[ 1 ], // (tschw) currently unused + nodeName: matches[2], + objectName: matches[3], + objectIndex: matches[4], + propertyName: matches[5], + // required + propertyIndex: matches[6] + }; + const lastDot = results.nodeName && results.nodeName.lastIndexOf("."); + if (lastDot !== void 0 && lastDot !== -1) { + const objectName = results.nodeName.substring(lastDot + 1); + if (_supportedObjectNames.indexOf(objectName) !== -1) { + results.nodeName = results.nodeName.substring(0, lastDot); + results.objectName = objectName; + } + } + if (results.propertyName === null || results.propertyName.length === 0) { + throw new Error("PropertyBinding: can not parse propertyName from trackName: " + trackName); + } + return results; + } + static findNode(root, nodeName) { + if (nodeName === void 0 || nodeName === "" || nodeName === "." || nodeName === -1 || nodeName === root.name || nodeName === root.uuid) { + return root; + } + if (root.skeleton) { + const bone = root.skeleton.getBoneByName(nodeName); + if (bone !== void 0) { + return bone; + } + } + if (root.children) { + const searchNodeSubtree = /* @__PURE__ */ __name(function(children) { + for (let i = 0; i < children.length; i++) { + const childNode = children[i]; + if (childNode.name === nodeName || childNode.uuid === nodeName) { + return childNode; + } + const result = searchNodeSubtree(childNode.children); + if (result) return result; + } + return null; + }, "searchNodeSubtree"); + const subTreeNode = searchNodeSubtree(root.children); + if (subTreeNode) { + return subTreeNode; + } + } + return null; + } + // these are used to "bind" a nonexistent property + _getValue_unavailable() { + } + _setValue_unavailable() { + } + // Getters + _getValue_direct(buffer, offset) { + buffer[offset] = this.targetObject[this.propertyName]; + } + _getValue_array(buffer, offset) { + const source = this.resolvedProperty; + for (let i = 0, n = source.length; i !== n; ++i) { + buffer[offset++] = source[i]; + } + } + _getValue_arrayElement(buffer, offset) { + buffer[offset] = this.resolvedProperty[this.propertyIndex]; + } + _getValue_toArray(buffer, offset) { + this.resolvedProperty.toArray(buffer, offset); + } + // Direct + _setValue_direct(buffer, offset) { + this.targetObject[this.propertyName] = buffer[offset]; + } + _setValue_direct_setNeedsUpdate(buffer, offset) { + this.targetObject[this.propertyName] = buffer[offset]; + this.targetObject.needsUpdate = true; + } + _setValue_direct_setMatrixWorldNeedsUpdate(buffer, offset) { + this.targetObject[this.propertyName] = buffer[offset]; + this.targetObject.matrixWorldNeedsUpdate = true; + } + // EntireArray + _setValue_array(buffer, offset) { + const dest = this.resolvedProperty; + for (let i = 0, n = dest.length; i !== n; ++i) { + dest[i] = buffer[offset++]; + } + } + _setValue_array_setNeedsUpdate(buffer, offset) { + const dest = this.resolvedProperty; + for (let i = 0, n = dest.length; i !== n; ++i) { + dest[i] = buffer[offset++]; + } + this.targetObject.needsUpdate = true; + } + _setValue_array_setMatrixWorldNeedsUpdate(buffer, offset) { + const dest = this.resolvedProperty; + for (let i = 0, n = dest.length; i !== n; ++i) { + dest[i] = buffer[offset++]; + } + this.targetObject.matrixWorldNeedsUpdate = true; + } + // ArrayElement + _setValue_arrayElement(buffer, offset) { + this.resolvedProperty[this.propertyIndex] = buffer[offset]; + } + _setValue_arrayElement_setNeedsUpdate(buffer, offset) { + this.resolvedProperty[this.propertyIndex] = buffer[offset]; + this.targetObject.needsUpdate = true; + } + _setValue_arrayElement_setMatrixWorldNeedsUpdate(buffer, offset) { + this.resolvedProperty[this.propertyIndex] = buffer[offset]; + this.targetObject.matrixWorldNeedsUpdate = true; + } + // HasToFromArray + _setValue_fromArray(buffer, offset) { + this.resolvedProperty.fromArray(buffer, offset); + } + _setValue_fromArray_setNeedsUpdate(buffer, offset) { + this.resolvedProperty.fromArray(buffer, offset); + this.targetObject.needsUpdate = true; + } + _setValue_fromArray_setMatrixWorldNeedsUpdate(buffer, offset) { + this.resolvedProperty.fromArray(buffer, offset); + this.targetObject.matrixWorldNeedsUpdate = true; + } + _getValue_unbound(targetArray, offset) { + this.bind(); + this.getValue(targetArray, offset); + } + _setValue_unbound(sourceArray, offset) { + this.bind(); + this.setValue(sourceArray, offset); + } + // create getter / setter pair for a property in the scene graph + bind() { + let targetObject = this.node; + const parsedPath = this.parsedPath; + const objectName = parsedPath.objectName; + const propertyName = parsedPath.propertyName; + let propertyIndex = parsedPath.propertyIndex; + if (!targetObject) { + targetObject = PropertyBinding.findNode(this.rootNode, parsedPath.nodeName); + this.node = targetObject; + } + this.getValue = this._getValue_unavailable; + this.setValue = this._setValue_unavailable; + if (!targetObject) { + console.warn("THREE.PropertyBinding: No target node found for track: " + this.path + "."); + return; + } + if (objectName) { + let objectIndex = parsedPath.objectIndex; + switch (objectName) { + case "materials": + if (!targetObject.material) { + console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.", this); + return; + } + if (!targetObject.material.materials) { + console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.", this); + return; + } + targetObject = targetObject.material.materials; + break; + case "bones": + if (!targetObject.skeleton) { + console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.", this); + return; + } + targetObject = targetObject.skeleton.bones; + for (let i = 0; i < targetObject.length; i++) { + if (targetObject[i].name === objectIndex) { + objectIndex = i; + break; + } + } + break; + case "map": + if ("map" in targetObject) { + targetObject = targetObject.map; + break; + } + if (!targetObject.material) { + console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.", this); + return; + } + if (!targetObject.material.map) { + console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.", this); + return; + } + targetObject = targetObject.material.map; + break; + default: + if (targetObject[objectName] === void 0) { + console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.", this); + return; + } + targetObject = targetObject[objectName]; + } + if (objectIndex !== void 0) { + if (targetObject[objectIndex] === void 0) { + console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.", this, targetObject); + return; + } + targetObject = targetObject[objectIndex]; + } + } + const nodeProperty = targetObject[propertyName]; + if (nodeProperty === void 0) { + const nodeName = parsedPath.nodeName; + console.error("THREE.PropertyBinding: Trying to update property for track: " + nodeName + "." + propertyName + " but it wasn't found.", targetObject); + return; + } + let versioning = this.Versioning.None; + this.targetObject = targetObject; + if (targetObject.needsUpdate !== void 0) { + versioning = this.Versioning.NeedsUpdate; + } else if (targetObject.matrixWorldNeedsUpdate !== void 0) { + versioning = this.Versioning.MatrixWorldNeedsUpdate; + } + let bindingType = this.BindingType.Direct; + if (propertyIndex !== void 0) { + if (propertyName === "morphTargetInfluences") { + if (!targetObject.geometry) { + console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.", this); + return; + } + if (!targetObject.geometry.morphAttributes) { + console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.", this); + return; + } + if (targetObject.morphTargetDictionary[propertyIndex] !== void 0) { + propertyIndex = targetObject.morphTargetDictionary[propertyIndex]; + } + } + bindingType = this.BindingType.ArrayElement; + this.resolvedProperty = nodeProperty; + this.propertyIndex = propertyIndex; + } else if (nodeProperty.fromArray !== void 0 && nodeProperty.toArray !== void 0) { + bindingType = this.BindingType.HasFromToArray; + this.resolvedProperty = nodeProperty; + } else if (Array.isArray(nodeProperty)) { + bindingType = this.BindingType.EntireArray; + this.resolvedProperty = nodeProperty; + } else { + this.propertyName = propertyName; + } + this.getValue = this.GetterByBindingType[bindingType]; + this.setValue = this.SetterByBindingTypeAndVersioning[bindingType][versioning]; + } + unbind() { + this.node = null; + this.getValue = this._getValue_unbound; + this.setValue = this._setValue_unbound; + } +} +PropertyBinding.Composite = Composite; +PropertyBinding.prototype.BindingType = { + Direct: 0, + EntireArray: 1, + ArrayElement: 2, + HasFromToArray: 3 +}; +PropertyBinding.prototype.Versioning = { + None: 0, + NeedsUpdate: 1, + MatrixWorldNeedsUpdate: 2 +}; +PropertyBinding.prototype.GetterByBindingType = [ + PropertyBinding.prototype._getValue_direct, + PropertyBinding.prototype._getValue_array, + PropertyBinding.prototype._getValue_arrayElement, + PropertyBinding.prototype._getValue_toArray +]; +PropertyBinding.prototype.SetterByBindingTypeAndVersioning = [ + [ + // Direct + PropertyBinding.prototype._setValue_direct, + PropertyBinding.prototype._setValue_direct_setNeedsUpdate, + PropertyBinding.prototype._setValue_direct_setMatrixWorldNeedsUpdate + ], + [ + // EntireArray + PropertyBinding.prototype._setValue_array, + PropertyBinding.prototype._setValue_array_setNeedsUpdate, + PropertyBinding.prototype._setValue_array_setMatrixWorldNeedsUpdate + ], + [ + // ArrayElement + PropertyBinding.prototype._setValue_arrayElement, + PropertyBinding.prototype._setValue_arrayElement_setNeedsUpdate, + PropertyBinding.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate + ], + [ + // HasToFromArray + PropertyBinding.prototype._setValue_fromArray, + PropertyBinding.prototype._setValue_fromArray_setNeedsUpdate, + PropertyBinding.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate + ] +]; +class AnimationObjectGroup { + static { + __name(this, "AnimationObjectGroup"); + } + constructor() { + this.isAnimationObjectGroup = true; + this.uuid = generateUUID(); + this._objects = Array.prototype.slice.call(arguments); + this.nCachedObjects_ = 0; + const indices = {}; + this._indicesByUUID = indices; + for (let i = 0, n = arguments.length; i !== n; ++i) { + indices[arguments[i].uuid] = i; + } + this._paths = []; + this._parsedPaths = []; + this._bindings = []; + this._bindingsIndicesByPath = {}; + const scope = this; + this.stats = { + objects: { + get total() { + return scope._objects.length; + }, + get inUse() { + return this.total - scope.nCachedObjects_; + } + }, + get bindingsPerObject() { + return scope._bindings.length; + } + }; + } + add() { + const objects = this._objects, indicesByUUID = this._indicesByUUID, paths = this._paths, parsedPaths = this._parsedPaths, bindings = this._bindings, nBindings = bindings.length; + let knownObject = void 0, nObjects = objects.length, nCachedObjects = this.nCachedObjects_; + for (let i = 0, n = arguments.length; i !== n; ++i) { + const object = arguments[i], uuid = object.uuid; + let index = indicesByUUID[uuid]; + if (index === void 0) { + index = nObjects++; + indicesByUUID[uuid] = index; + objects.push(object); + for (let j = 0, m = nBindings; j !== m; ++j) { + bindings[j].push(new PropertyBinding(object, paths[j], parsedPaths[j])); + } + } else if (index < nCachedObjects) { + knownObject = objects[index]; + const firstActiveIndex = --nCachedObjects, lastCachedObject = objects[firstActiveIndex]; + indicesByUUID[lastCachedObject.uuid] = index; + objects[index] = lastCachedObject; + indicesByUUID[uuid] = firstActiveIndex; + objects[firstActiveIndex] = object; + for (let j = 0, m = nBindings; j !== m; ++j) { + const bindingsForPath = bindings[j], lastCached = bindingsForPath[firstActiveIndex]; + let binding = bindingsForPath[index]; + bindingsForPath[index] = lastCached; + if (binding === void 0) { + binding = new PropertyBinding(object, paths[j], parsedPaths[j]); + } + bindingsForPath[firstActiveIndex] = binding; + } + } else if (objects[index] !== knownObject) { + console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes."); + } + } + this.nCachedObjects_ = nCachedObjects; + } + remove() { + const objects = this._objects, indicesByUUID = this._indicesByUUID, bindings = this._bindings, nBindings = bindings.length; + let nCachedObjects = this.nCachedObjects_; + for (let i = 0, n = arguments.length; i !== n; ++i) { + const object = arguments[i], uuid = object.uuid, index = indicesByUUID[uuid]; + if (index !== void 0 && index >= nCachedObjects) { + const lastCachedIndex = nCachedObjects++, firstActiveObject = objects[lastCachedIndex]; + indicesByUUID[firstActiveObject.uuid] = index; + objects[index] = firstActiveObject; + indicesByUUID[uuid] = lastCachedIndex; + objects[lastCachedIndex] = object; + for (let j = 0, m = nBindings; j !== m; ++j) { + const bindingsForPath = bindings[j], firstActive = bindingsForPath[lastCachedIndex], binding = bindingsForPath[index]; + bindingsForPath[index] = firstActive; + bindingsForPath[lastCachedIndex] = binding; + } + } + } + this.nCachedObjects_ = nCachedObjects; + } + // remove & forget + uncache() { + const objects = this._objects, indicesByUUID = this._indicesByUUID, bindings = this._bindings, nBindings = bindings.length; + let nCachedObjects = this.nCachedObjects_, nObjects = objects.length; + for (let i = 0, n = arguments.length; i !== n; ++i) { + const object = arguments[i], uuid = object.uuid, index = indicesByUUID[uuid]; + if (index !== void 0) { + delete indicesByUUID[uuid]; + if (index < nCachedObjects) { + const firstActiveIndex = --nCachedObjects, lastCachedObject = objects[firstActiveIndex], lastIndex = --nObjects, lastObject = objects[lastIndex]; + indicesByUUID[lastCachedObject.uuid] = index; + objects[index] = lastCachedObject; + indicesByUUID[lastObject.uuid] = firstActiveIndex; + objects[firstActiveIndex] = lastObject; + objects.pop(); + for (let j = 0, m = nBindings; j !== m; ++j) { + const bindingsForPath = bindings[j], lastCached = bindingsForPath[firstActiveIndex], last = bindingsForPath[lastIndex]; + bindingsForPath[index] = lastCached; + bindingsForPath[firstActiveIndex] = last; + bindingsForPath.pop(); + } + } else { + const lastIndex = --nObjects, lastObject = objects[lastIndex]; + if (lastIndex > 0) { + indicesByUUID[lastObject.uuid] = index; + } + objects[index] = lastObject; + objects.pop(); + for (let j = 0, m = nBindings; j !== m; ++j) { + const bindingsForPath = bindings[j]; + bindingsForPath[index] = bindingsForPath[lastIndex]; + bindingsForPath.pop(); + } + } + } + } + this.nCachedObjects_ = nCachedObjects; + } + // Internal interface used by befriended PropertyBinding.Composite: + subscribe_(path, parsedPath) { + const indicesByPath = this._bindingsIndicesByPath; + let index = indicesByPath[path]; + const bindings = this._bindings; + if (index !== void 0) return bindings[index]; + const paths = this._paths, parsedPaths = this._parsedPaths, objects = this._objects, nObjects = objects.length, nCachedObjects = this.nCachedObjects_, bindingsForPath = new Array(nObjects); + index = bindings.length; + indicesByPath[path] = index; + paths.push(path); + parsedPaths.push(parsedPath); + bindings.push(bindingsForPath); + for (let i = nCachedObjects, n = objects.length; i !== n; ++i) { + const object = objects[i]; + bindingsForPath[i] = new PropertyBinding(object, path, parsedPath); + } + return bindingsForPath; + } + unsubscribe_(path) { + const indicesByPath = this._bindingsIndicesByPath, index = indicesByPath[path]; + if (index !== void 0) { + const paths = this._paths, parsedPaths = this._parsedPaths, bindings = this._bindings, lastBindingsIndex = bindings.length - 1, lastBindings = bindings[lastBindingsIndex], lastBindingsPath = path[lastBindingsIndex]; + indicesByPath[lastBindingsPath] = index; + bindings[index] = lastBindings; + bindings.pop(); + parsedPaths[index] = parsedPaths[lastBindingsIndex]; + parsedPaths.pop(); + paths[index] = paths[lastBindingsIndex]; + paths.pop(); + } + } +} +class AnimationAction { + static { + __name(this, "AnimationAction"); + } + constructor(mixer, clip, localRoot = null, blendMode = clip.blendMode) { + this._mixer = mixer; + this._clip = clip; + this._localRoot = localRoot; + this.blendMode = blendMode; + const tracks = clip.tracks, nTracks = tracks.length, interpolants = new Array(nTracks); + const interpolantSettings = { + endingStart: ZeroCurvatureEnding, + endingEnd: ZeroCurvatureEnding + }; + for (let i = 0; i !== nTracks; ++i) { + const interpolant = tracks[i].createInterpolant(null); + interpolants[i] = interpolant; + interpolant.settings = interpolantSettings; + } + this._interpolantSettings = interpolantSettings; + this._interpolants = interpolants; + this._propertyBindings = new Array(nTracks); + this._cacheIndex = null; + this._byClipCacheIndex = null; + this._timeScaleInterpolant = null; + this._weightInterpolant = null; + this.loop = LoopRepeat; + this._loopCount = -1; + this._startTime = null; + this.time = 0; + this.timeScale = 1; + this._effectiveTimeScale = 1; + this.weight = 1; + this._effectiveWeight = 1; + this.repetitions = Infinity; + this.paused = false; + this.enabled = true; + this.clampWhenFinished = false; + this.zeroSlopeAtStart = true; + this.zeroSlopeAtEnd = true; + } + // State & Scheduling + play() { + this._mixer._activateAction(this); + return this; + } + stop() { + this._mixer._deactivateAction(this); + return this.reset(); + } + reset() { + this.paused = false; + this.enabled = true; + this.time = 0; + this._loopCount = -1; + this._startTime = null; + return this.stopFading().stopWarping(); + } + isRunning() { + return this.enabled && !this.paused && this.timeScale !== 0 && this._startTime === null && this._mixer._isActiveAction(this); + } + // return true when play has been called + isScheduled() { + return this._mixer._isActiveAction(this); + } + startAt(time) { + this._startTime = time; + return this; + } + setLoop(mode, repetitions) { + this.loop = mode; + this.repetitions = repetitions; + return this; + } + // Weight + // set the weight stopping any scheduled fading + // although .enabled = false yields an effective weight of zero, this + // method does *not* change .enabled, because it would be confusing + setEffectiveWeight(weight) { + this.weight = weight; + this._effectiveWeight = this.enabled ? weight : 0; + return this.stopFading(); + } + // return the weight considering fading and .enabled + getEffectiveWeight() { + return this._effectiveWeight; + } + fadeIn(duration) { + return this._scheduleFading(duration, 0, 1); + } + fadeOut(duration) { + return this._scheduleFading(duration, 1, 0); + } + crossFadeFrom(fadeOutAction, duration, warp) { + fadeOutAction.fadeOut(duration); + this.fadeIn(duration); + if (warp) { + const fadeInDuration = this._clip.duration, fadeOutDuration = fadeOutAction._clip.duration, startEndRatio = fadeOutDuration / fadeInDuration, endStartRatio = fadeInDuration / fadeOutDuration; + fadeOutAction.warp(1, startEndRatio, duration); + this.warp(endStartRatio, 1, duration); + } + return this; + } + crossFadeTo(fadeInAction, duration, warp) { + return fadeInAction.crossFadeFrom(this, duration, warp); + } + stopFading() { + const weightInterpolant = this._weightInterpolant; + if (weightInterpolant !== null) { + this._weightInterpolant = null; + this._mixer._takeBackControlInterpolant(weightInterpolant); + } + return this; + } + // Time Scale Control + // set the time scale stopping any scheduled warping + // although .paused = true yields an effective time scale of zero, this + // method does *not* change .paused, because it would be confusing + setEffectiveTimeScale(timeScale) { + this.timeScale = timeScale; + this._effectiveTimeScale = this.paused ? 0 : timeScale; + return this.stopWarping(); + } + // return the time scale considering warping and .paused + getEffectiveTimeScale() { + return this._effectiveTimeScale; + } + setDuration(duration) { + this.timeScale = this._clip.duration / duration; + return this.stopWarping(); + } + syncWith(action) { + this.time = action.time; + this.timeScale = action.timeScale; + return this.stopWarping(); + } + halt(duration) { + return this.warp(this._effectiveTimeScale, 0, duration); + } + warp(startTimeScale, endTimeScale, duration) { + const mixer = this._mixer, now2 = mixer.time, timeScale = this.timeScale; + let interpolant = this._timeScaleInterpolant; + if (interpolant === null) { + interpolant = mixer._lendControlInterpolant(); + this._timeScaleInterpolant = interpolant; + } + const times = interpolant.parameterPositions, values = interpolant.sampleValues; + times[0] = now2; + times[1] = now2 + duration; + values[0] = startTimeScale / timeScale; + values[1] = endTimeScale / timeScale; + return this; + } + stopWarping() { + const timeScaleInterpolant = this._timeScaleInterpolant; + if (timeScaleInterpolant !== null) { + this._timeScaleInterpolant = null; + this._mixer._takeBackControlInterpolant(timeScaleInterpolant); + } + return this; + } + // Object Accessors + getMixer() { + return this._mixer; + } + getClip() { + return this._clip; + } + getRoot() { + return this._localRoot || this._mixer._root; + } + // Interna + _update(time, deltaTime, timeDirection, accuIndex) { + if (!this.enabled) { + this._updateWeight(time); + return; + } + const startTime = this._startTime; + if (startTime !== null) { + const timeRunning = (time - startTime) * timeDirection; + if (timeRunning < 0 || timeDirection === 0) { + deltaTime = 0; + } else { + this._startTime = null; + deltaTime = timeDirection * timeRunning; + } + } + deltaTime *= this._updateTimeScale(time); + const clipTime = this._updateTime(deltaTime); + const weight = this._updateWeight(time); + if (weight > 0) { + const interpolants = this._interpolants; + const propertyMixers = this._propertyBindings; + switch (this.blendMode) { + case AdditiveAnimationBlendMode: + for (let j = 0, m = interpolants.length; j !== m; ++j) { + interpolants[j].evaluate(clipTime); + propertyMixers[j].accumulateAdditive(weight); + } + break; + case NormalAnimationBlendMode: + default: + for (let j = 0, m = interpolants.length; j !== m; ++j) { + interpolants[j].evaluate(clipTime); + propertyMixers[j].accumulate(accuIndex, weight); + } + } + } + } + _updateWeight(time) { + let weight = 0; + if (this.enabled) { + weight = this.weight; + const interpolant = this._weightInterpolant; + if (interpolant !== null) { + const interpolantValue = interpolant.evaluate(time)[0]; + weight *= interpolantValue; + if (time > interpolant.parameterPositions[1]) { + this.stopFading(); + if (interpolantValue === 0) { + this.enabled = false; + } + } + } + } + this._effectiveWeight = weight; + return weight; + } + _updateTimeScale(time) { + let timeScale = 0; + if (!this.paused) { + timeScale = this.timeScale; + const interpolant = this._timeScaleInterpolant; + if (interpolant !== null) { + const interpolantValue = interpolant.evaluate(time)[0]; + timeScale *= interpolantValue; + if (time > interpolant.parameterPositions[1]) { + this.stopWarping(); + if (timeScale === 0) { + this.paused = true; + } else { + this.timeScale = timeScale; + } + } + } + } + this._effectiveTimeScale = timeScale; + return timeScale; + } + _updateTime(deltaTime) { + const duration = this._clip.duration; + const loop = this.loop; + let time = this.time + deltaTime; + let loopCount = this._loopCount; + const pingPong = loop === LoopPingPong; + if (deltaTime === 0) { + if (loopCount === -1) return time; + return pingPong && (loopCount & 1) === 1 ? duration - time : time; + } + if (loop === LoopOnce) { + if (loopCount === -1) { + this._loopCount = 0; + this._setEndings(true, true, false); + } + handle_stop: { + if (time >= duration) { + time = duration; + } else if (time < 0) { + time = 0; + } else { + this.time = time; + break handle_stop; + } + if (this.clampWhenFinished) this.paused = true; + else this.enabled = false; + this.time = time; + this._mixer.dispatchEvent({ + type: "finished", + action: this, + direction: deltaTime < 0 ? -1 : 1 + }); + } + } else { + if (loopCount === -1) { + if (deltaTime >= 0) { + loopCount = 0; + this._setEndings(true, this.repetitions === 0, pingPong); + } else { + this._setEndings(this.repetitions === 0, true, pingPong); + } + } + if (time >= duration || time < 0) { + const loopDelta = Math.floor(time / duration); + time -= duration * loopDelta; + loopCount += Math.abs(loopDelta); + const pending = this.repetitions - loopCount; + if (pending <= 0) { + if (this.clampWhenFinished) this.paused = true; + else this.enabled = false; + time = deltaTime > 0 ? duration : 0; + this.time = time; + this._mixer.dispatchEvent({ + type: "finished", + action: this, + direction: deltaTime > 0 ? 1 : -1 + }); + } else { + if (pending === 1) { + const atStart = deltaTime < 0; + this._setEndings(atStart, !atStart, pingPong); + } else { + this._setEndings(false, false, pingPong); + } + this._loopCount = loopCount; + this.time = time; + this._mixer.dispatchEvent({ + type: "loop", + action: this, + loopDelta + }); + } + } else { + this.time = time; + } + if (pingPong && (loopCount & 1) === 1) { + return duration - time; + } + } + return time; + } + _setEndings(atStart, atEnd, pingPong) { + const settings = this._interpolantSettings; + if (pingPong) { + settings.endingStart = ZeroSlopeEnding; + settings.endingEnd = ZeroSlopeEnding; + } else { + if (atStart) { + settings.endingStart = this.zeroSlopeAtStart ? ZeroSlopeEnding : ZeroCurvatureEnding; + } else { + settings.endingStart = WrapAroundEnding; + } + if (atEnd) { + settings.endingEnd = this.zeroSlopeAtEnd ? ZeroSlopeEnding : ZeroCurvatureEnding; + } else { + settings.endingEnd = WrapAroundEnding; + } + } + } + _scheduleFading(duration, weightNow, weightThen) { + const mixer = this._mixer, now2 = mixer.time; + let interpolant = this._weightInterpolant; + if (interpolant === null) { + interpolant = mixer._lendControlInterpolant(); + this._weightInterpolant = interpolant; + } + const times = interpolant.parameterPositions, values = interpolant.sampleValues; + times[0] = now2; + values[0] = weightNow; + times[1] = now2 + duration; + values[1] = weightThen; + return this; + } +} +const _controlInterpolantsResultBuffer = new Float32Array(1); +class AnimationMixer extends EventDispatcher { + static { + __name(this, "AnimationMixer"); + } + constructor(root) { + super(); + this._root = root; + this._initMemoryManager(); + this._accuIndex = 0; + this.time = 0; + this.timeScale = 1; + } + _bindAction(action, prototypeAction) { + const root = action._localRoot || this._root, tracks = action._clip.tracks, nTracks = tracks.length, bindings = action._propertyBindings, interpolants = action._interpolants, rootUuid = root.uuid, bindingsByRoot = this._bindingsByRootAndName; + let bindingsByName = bindingsByRoot[rootUuid]; + if (bindingsByName === void 0) { + bindingsByName = {}; + bindingsByRoot[rootUuid] = bindingsByName; + } + for (let i = 0; i !== nTracks; ++i) { + const track = tracks[i], trackName = track.name; + let binding = bindingsByName[trackName]; + if (binding !== void 0) { + ++binding.referenceCount; + bindings[i] = binding; + } else { + binding = bindings[i]; + if (binding !== void 0) { + if (binding._cacheIndex === null) { + ++binding.referenceCount; + this._addInactiveBinding(binding, rootUuid, trackName); + } + continue; + } + const path = prototypeAction && prototypeAction._propertyBindings[i].binding.parsedPath; + binding = new PropertyMixer( + PropertyBinding.create(root, trackName, path), + track.ValueTypeName, + track.getValueSize() + ); + ++binding.referenceCount; + this._addInactiveBinding(binding, rootUuid, trackName); + bindings[i] = binding; + } + interpolants[i].resultBuffer = binding.buffer; + } + } + _activateAction(action) { + if (!this._isActiveAction(action)) { + if (action._cacheIndex === null) { + const rootUuid = (action._localRoot || this._root).uuid, clipUuid = action._clip.uuid, actionsForClip = this._actionsByClip[clipUuid]; + this._bindAction( + action, + actionsForClip && actionsForClip.knownActions[0] + ); + this._addInactiveAction(action, clipUuid, rootUuid); + } + const bindings = action._propertyBindings; + for (let i = 0, n = bindings.length; i !== n; ++i) { + const binding = bindings[i]; + if (binding.useCount++ === 0) { + this._lendBinding(binding); + binding.saveOriginalState(); + } + } + this._lendAction(action); + } + } + _deactivateAction(action) { + if (this._isActiveAction(action)) { + const bindings = action._propertyBindings; + for (let i = 0, n = bindings.length; i !== n; ++i) { + const binding = bindings[i]; + if (--binding.useCount === 0) { + binding.restoreOriginalState(); + this._takeBackBinding(binding); + } + } + this._takeBackAction(action); + } + } + // Memory manager + _initMemoryManager() { + this._actions = []; + this._nActiveActions = 0; + this._actionsByClip = {}; + this._bindings = []; + this._nActiveBindings = 0; + this._bindingsByRootAndName = {}; + this._controlInterpolants = []; + this._nActiveControlInterpolants = 0; + const scope = this; + this.stats = { + actions: { + get total() { + return scope._actions.length; + }, + get inUse() { + return scope._nActiveActions; + } + }, + bindings: { + get total() { + return scope._bindings.length; + }, + get inUse() { + return scope._nActiveBindings; + } + }, + controlInterpolants: { + get total() { + return scope._controlInterpolants.length; + }, + get inUse() { + return scope._nActiveControlInterpolants; + } + } + }; + } + // Memory management for AnimationAction objects + _isActiveAction(action) { + const index = action._cacheIndex; + return index !== null && index < this._nActiveActions; + } + _addInactiveAction(action, clipUuid, rootUuid) { + const actions = this._actions, actionsByClip = this._actionsByClip; + let actionsForClip = actionsByClip[clipUuid]; + if (actionsForClip === void 0) { + actionsForClip = { + knownActions: [action], + actionByRoot: {} + }; + action._byClipCacheIndex = 0; + actionsByClip[clipUuid] = actionsForClip; + } else { + const knownActions = actionsForClip.knownActions; + action._byClipCacheIndex = knownActions.length; + knownActions.push(action); + } + action._cacheIndex = actions.length; + actions.push(action); + actionsForClip.actionByRoot[rootUuid] = action; + } + _removeInactiveAction(action) { + const actions = this._actions, lastInactiveAction = actions[actions.length - 1], cacheIndex = action._cacheIndex; + lastInactiveAction._cacheIndex = cacheIndex; + actions[cacheIndex] = lastInactiveAction; + actions.pop(); + action._cacheIndex = null; + const clipUuid = action._clip.uuid, actionsByClip = this._actionsByClip, actionsForClip = actionsByClip[clipUuid], knownActionsForClip = actionsForClip.knownActions, lastKnownAction = knownActionsForClip[knownActionsForClip.length - 1], byClipCacheIndex = action._byClipCacheIndex; + lastKnownAction._byClipCacheIndex = byClipCacheIndex; + knownActionsForClip[byClipCacheIndex] = lastKnownAction; + knownActionsForClip.pop(); + action._byClipCacheIndex = null; + const actionByRoot = actionsForClip.actionByRoot, rootUuid = (action._localRoot || this._root).uuid; + delete actionByRoot[rootUuid]; + if (knownActionsForClip.length === 0) { + delete actionsByClip[clipUuid]; + } + this._removeInactiveBindingsForAction(action); + } + _removeInactiveBindingsForAction(action) { + const bindings = action._propertyBindings; + for (let i = 0, n = bindings.length; i !== n; ++i) { + const binding = bindings[i]; + if (--binding.referenceCount === 0) { + this._removeInactiveBinding(binding); + } + } + } + _lendAction(action) { + const actions = this._actions, prevIndex = action._cacheIndex, lastActiveIndex = this._nActiveActions++, firstInactiveAction = actions[lastActiveIndex]; + action._cacheIndex = lastActiveIndex; + actions[lastActiveIndex] = action; + firstInactiveAction._cacheIndex = prevIndex; + actions[prevIndex] = firstInactiveAction; + } + _takeBackAction(action) { + const actions = this._actions, prevIndex = action._cacheIndex, firstInactiveIndex = --this._nActiveActions, lastActiveAction = actions[firstInactiveIndex]; + action._cacheIndex = firstInactiveIndex; + actions[firstInactiveIndex] = action; + lastActiveAction._cacheIndex = prevIndex; + actions[prevIndex] = lastActiveAction; + } + // Memory management for PropertyMixer objects + _addInactiveBinding(binding, rootUuid, trackName) { + const bindingsByRoot = this._bindingsByRootAndName, bindings = this._bindings; + let bindingByName = bindingsByRoot[rootUuid]; + if (bindingByName === void 0) { + bindingByName = {}; + bindingsByRoot[rootUuid] = bindingByName; + } + bindingByName[trackName] = binding; + binding._cacheIndex = bindings.length; + bindings.push(binding); + } + _removeInactiveBinding(binding) { + const bindings = this._bindings, propBinding = binding.binding, rootUuid = propBinding.rootNode.uuid, trackName = propBinding.path, bindingsByRoot = this._bindingsByRootAndName, bindingByName = bindingsByRoot[rootUuid], lastInactiveBinding = bindings[bindings.length - 1], cacheIndex = binding._cacheIndex; + lastInactiveBinding._cacheIndex = cacheIndex; + bindings[cacheIndex] = lastInactiveBinding; + bindings.pop(); + delete bindingByName[trackName]; + if (Object.keys(bindingByName).length === 0) { + delete bindingsByRoot[rootUuid]; + } + } + _lendBinding(binding) { + const bindings = this._bindings, prevIndex = binding._cacheIndex, lastActiveIndex = this._nActiveBindings++, firstInactiveBinding = bindings[lastActiveIndex]; + binding._cacheIndex = lastActiveIndex; + bindings[lastActiveIndex] = binding; + firstInactiveBinding._cacheIndex = prevIndex; + bindings[prevIndex] = firstInactiveBinding; + } + _takeBackBinding(binding) { + const bindings = this._bindings, prevIndex = binding._cacheIndex, firstInactiveIndex = --this._nActiveBindings, lastActiveBinding = bindings[firstInactiveIndex]; + binding._cacheIndex = firstInactiveIndex; + bindings[firstInactiveIndex] = binding; + lastActiveBinding._cacheIndex = prevIndex; + bindings[prevIndex] = lastActiveBinding; + } + // Memory management of Interpolants for weight and time scale + _lendControlInterpolant() { + const interpolants = this._controlInterpolants, lastActiveIndex = this._nActiveControlInterpolants++; + let interpolant = interpolants[lastActiveIndex]; + if (interpolant === void 0) { + interpolant = new LinearInterpolant( + new Float32Array(2), + new Float32Array(2), + 1, + _controlInterpolantsResultBuffer + ); + interpolant.__cacheIndex = lastActiveIndex; + interpolants[lastActiveIndex] = interpolant; + } + return interpolant; + } + _takeBackControlInterpolant(interpolant) { + const interpolants = this._controlInterpolants, prevIndex = interpolant.__cacheIndex, firstInactiveIndex = --this._nActiveControlInterpolants, lastActiveInterpolant = interpolants[firstInactiveIndex]; + interpolant.__cacheIndex = firstInactiveIndex; + interpolants[firstInactiveIndex] = interpolant; + lastActiveInterpolant.__cacheIndex = prevIndex; + interpolants[prevIndex] = lastActiveInterpolant; + } + // return an action for a clip optionally using a custom root target + // object (this method allocates a lot of dynamic memory in case a + // previously unknown clip/root combination is specified) + clipAction(clip, optionalRoot, blendMode) { + const root = optionalRoot || this._root, rootUuid = root.uuid; + let clipObject = typeof clip === "string" ? AnimationClip.findByName(root, clip) : clip; + const clipUuid = clipObject !== null ? clipObject.uuid : clip; + const actionsForClip = this._actionsByClip[clipUuid]; + let prototypeAction = null; + if (blendMode === void 0) { + if (clipObject !== null) { + blendMode = clipObject.blendMode; + } else { + blendMode = NormalAnimationBlendMode; + } + } + if (actionsForClip !== void 0) { + const existingAction = actionsForClip.actionByRoot[rootUuid]; + if (existingAction !== void 0 && existingAction.blendMode === blendMode) { + return existingAction; + } + prototypeAction = actionsForClip.knownActions[0]; + if (clipObject === null) + clipObject = prototypeAction._clip; + } + if (clipObject === null) return null; + const newAction = new AnimationAction(this, clipObject, optionalRoot, blendMode); + this._bindAction(newAction, prototypeAction); + this._addInactiveAction(newAction, clipUuid, rootUuid); + return newAction; + } + // get an existing action + existingAction(clip, optionalRoot) { + const root = optionalRoot || this._root, rootUuid = root.uuid, clipObject = typeof clip === "string" ? AnimationClip.findByName(root, clip) : clip, clipUuid = clipObject ? clipObject.uuid : clip, actionsForClip = this._actionsByClip[clipUuid]; + if (actionsForClip !== void 0) { + return actionsForClip.actionByRoot[rootUuid] || null; + } + return null; + } + // deactivates all previously scheduled actions + stopAllAction() { + const actions = this._actions, nActions = this._nActiveActions; + for (let i = nActions - 1; i >= 0; --i) { + actions[i].stop(); + } + return this; + } + // advance the time and update apply the animation + update(deltaTime) { + deltaTime *= this.timeScale; + const actions = this._actions, nActions = this._nActiveActions, time = this.time += deltaTime, timeDirection = Math.sign(deltaTime), accuIndex = this._accuIndex ^= 1; + for (let i = 0; i !== nActions; ++i) { + const action = actions[i]; + action._update(time, deltaTime, timeDirection, accuIndex); + } + const bindings = this._bindings, nBindings = this._nActiveBindings; + for (let i = 0; i !== nBindings; ++i) { + bindings[i].apply(accuIndex); + } + return this; + } + // Allows you to seek to a specific time in an animation. + setTime(timeInSeconds) { + this.time = 0; + for (let i = 0; i < this._actions.length; i++) { + this._actions[i].time = 0; + } + return this.update(timeInSeconds); + } + // return this mixer's root target object + getRoot() { + return this._root; + } + // free all resources specific to a particular clip + uncacheClip(clip) { + const actions = this._actions, clipUuid = clip.uuid, actionsByClip = this._actionsByClip, actionsForClip = actionsByClip[clipUuid]; + if (actionsForClip !== void 0) { + const actionsToRemove = actionsForClip.knownActions; + for (let i = 0, n = actionsToRemove.length; i !== n; ++i) { + const action = actionsToRemove[i]; + this._deactivateAction(action); + const cacheIndex = action._cacheIndex, lastInactiveAction = actions[actions.length - 1]; + action._cacheIndex = null; + action._byClipCacheIndex = null; + lastInactiveAction._cacheIndex = cacheIndex; + actions[cacheIndex] = lastInactiveAction; + actions.pop(); + this._removeInactiveBindingsForAction(action); + } + delete actionsByClip[clipUuid]; + } + } + // free all resources specific to a particular root target object + uncacheRoot(root) { + const rootUuid = root.uuid, actionsByClip = this._actionsByClip; + for (const clipUuid in actionsByClip) { + const actionByRoot = actionsByClip[clipUuid].actionByRoot, action = actionByRoot[rootUuid]; + if (action !== void 0) { + this._deactivateAction(action); + this._removeInactiveAction(action); + } + } + const bindingsByRoot = this._bindingsByRootAndName, bindingByName = bindingsByRoot[rootUuid]; + if (bindingByName !== void 0) { + for (const trackName in bindingByName) { + const binding = bindingByName[trackName]; + binding.restoreOriginalState(); + this._removeInactiveBinding(binding); + } + } + } + // remove a targeted clip from the cache + uncacheAction(clip, optionalRoot) { + const action = this.existingAction(clip, optionalRoot); + if (action !== null) { + this._deactivateAction(action); + this._removeInactiveAction(action); + } + } +} +class Uniform { + static { + __name(this, "Uniform"); + } + constructor(value) { + this.value = value; + } + clone() { + return new Uniform(this.value.clone === void 0 ? this.value : this.value.clone()); + } +} +let _id = 0; +class UniformsGroup extends EventDispatcher { + static { + __name(this, "UniformsGroup"); + } + constructor() { + super(); + this.isUniformsGroup = true; + Object.defineProperty(this, "id", { value: _id++ }); + this.name = ""; + this.usage = StaticDrawUsage; + this.uniforms = []; + } + add(uniform) { + this.uniforms.push(uniform); + return this; + } + remove(uniform) { + const index = this.uniforms.indexOf(uniform); + if (index !== -1) this.uniforms.splice(index, 1); + return this; + } + setName(name) { + this.name = name; + return this; + } + setUsage(value) { + this.usage = value; + return this; + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + return this; + } + copy(source) { + this.name = source.name; + this.usage = source.usage; + const uniformsSource = source.uniforms; + this.uniforms.length = 0; + for (let i = 0, l = uniformsSource.length; i < l; i++) { + const uniforms = Array.isArray(uniformsSource[i]) ? uniformsSource[i] : [uniformsSource[i]]; + for (let j = 0; j < uniforms.length; j++) { + this.uniforms.push(uniforms[j].clone()); + } + } + return this; + } + clone() { + return new this.constructor().copy(this); + } +} +class InstancedInterleavedBuffer extends InterleavedBuffer { + static { + __name(this, "InstancedInterleavedBuffer"); + } + constructor(array, stride, meshPerAttribute = 1) { + super(array, stride); + this.isInstancedInterleavedBuffer = true; + this.meshPerAttribute = meshPerAttribute; + } + copy(source) { + super.copy(source); + this.meshPerAttribute = source.meshPerAttribute; + return this; + } + clone(data) { + const ib = super.clone(data); + ib.meshPerAttribute = this.meshPerAttribute; + return ib; + } + toJSON(data) { + const json = super.toJSON(data); + json.isInstancedInterleavedBuffer = true; + json.meshPerAttribute = this.meshPerAttribute; + return json; + } +} +class GLBufferAttribute { + static { + __name(this, "GLBufferAttribute"); + } + constructor(buffer, type, itemSize, elementSize, count) { + this.isGLBufferAttribute = true; + this.name = ""; + this.buffer = buffer; + this.type = type; + this.itemSize = itemSize; + this.elementSize = elementSize; + this.count = count; + this.version = 0; + } + set needsUpdate(value) { + if (value === true) this.version++; + } + setBuffer(buffer) { + this.buffer = buffer; + return this; + } + setType(type, elementSize) { + this.type = type; + this.elementSize = elementSize; + return this; + } + setItemSize(itemSize) { + this.itemSize = itemSize; + return this; + } + setCount(count) { + this.count = count; + return this; + } +} +const _matrix = /* @__PURE__ */ new Matrix4(); +class Raycaster { + static { + __name(this, "Raycaster"); + } + constructor(origin, direction, near = 0, far = Infinity) { + this.ray = new Ray(origin, direction); + this.near = near; + this.far = far; + this.camera = null; + this.layers = new Layers(); + this.params = { + Mesh: {}, + Line: { threshold: 1 }, + LOD: {}, + Points: { threshold: 1 }, + Sprite: {} + }; + } + set(origin, direction) { + this.ray.set(origin, direction); + } + setFromCamera(coords, camera) { + if (camera.isPerspectiveCamera) { + this.ray.origin.setFromMatrixPosition(camera.matrixWorld); + this.ray.direction.set(coords.x, coords.y, 0.5).unproject(camera).sub(this.ray.origin).normalize(); + this.camera = camera; + } else if (camera.isOrthographicCamera) { + this.ray.origin.set(coords.x, coords.y, (camera.near + camera.far) / (camera.near - camera.far)).unproject(camera); + this.ray.direction.set(0, 0, -1).transformDirection(camera.matrixWorld); + this.camera = camera; + } else { + console.error("THREE.Raycaster: Unsupported camera type: " + camera.type); + } + } + setFromXRController(controller) { + _matrix.identity().extractRotation(controller.matrixWorld); + this.ray.origin.setFromMatrixPosition(controller.matrixWorld); + this.ray.direction.set(0, 0, -1).applyMatrix4(_matrix); + return this; + } + intersectObject(object, recursive = true, intersects2 = []) { + intersect(object, this, intersects2, recursive); + intersects2.sort(ascSort); + return intersects2; + } + intersectObjects(objects, recursive = true, intersects2 = []) { + for (let i = 0, l = objects.length; i < l; i++) { + intersect(objects[i], this, intersects2, recursive); + } + intersects2.sort(ascSort); + return intersects2; + } +} +function ascSort(a, b) { + return a.distance - b.distance; +} +__name(ascSort, "ascSort"); +function intersect(object, raycaster, intersects2, recursive) { + let propagate = true; + if (object.layers.test(raycaster.layers)) { + const result = object.raycast(raycaster, intersects2); + if (result === false) propagate = false; + } + if (propagate === true && recursive === true) { + const children = object.children; + for (let i = 0, l = children.length; i < l; i++) { + intersect(children[i], raycaster, intersects2, true); + } + } +} +__name(intersect, "intersect"); +class Spherical { + static { + __name(this, "Spherical"); + } + constructor(radius = 1, phi = 0, theta = 0) { + this.radius = radius; + this.phi = phi; + this.theta = theta; + return this; + } + set(radius, phi, theta) { + this.radius = radius; + this.phi = phi; + this.theta = theta; + return this; + } + copy(other) { + this.radius = other.radius; + this.phi = other.phi; + this.theta = other.theta; + return this; + } + // restrict phi to be between EPS and PI-EPS + makeSafe() { + const EPS = 1e-6; + this.phi = Math.max(EPS, Math.min(Math.PI - EPS, this.phi)); + return this; + } + setFromVector3(v) { + return this.setFromCartesianCoords(v.x, v.y, v.z); + } + setFromCartesianCoords(x, y, z) { + this.radius = Math.sqrt(x * x + y * y + z * z); + if (this.radius === 0) { + this.theta = 0; + this.phi = 0; + } else { + this.theta = Math.atan2(x, z); + this.phi = Math.acos(clamp(y / this.radius, -1, 1)); + } + return this; + } + clone() { + return new this.constructor().copy(this); + } +} +class Cylindrical { + static { + __name(this, "Cylindrical"); + } + constructor(radius = 1, theta = 0, y = 0) { + this.radius = radius; + this.theta = theta; + this.y = y; + return this; + } + set(radius, theta, y) { + this.radius = radius; + this.theta = theta; + this.y = y; + return this; + } + copy(other) { + this.radius = other.radius; + this.theta = other.theta; + this.y = other.y; + return this; + } + setFromVector3(v) { + return this.setFromCartesianCoords(v.x, v.y, v.z); + } + setFromCartesianCoords(x, y, z) { + this.radius = Math.sqrt(x * x + z * z); + this.theta = Math.atan2(x, z); + this.y = y; + return this; + } + clone() { + return new this.constructor().copy(this); + } +} +class Matrix2 { + static { + __name(this, "Matrix2"); + } + constructor(n11, n12, n21, n22) { + Matrix2.prototype.isMatrix2 = true; + this.elements = [ + 1, + 0, + 0, + 1 + ]; + if (n11 !== void 0) { + this.set(n11, n12, n21, n22); + } + } + identity() { + this.set( + 1, + 0, + 0, + 1 + ); + return this; + } + fromArray(array, offset = 0) { + for (let i = 0; i < 4; i++) { + this.elements[i] = array[i + offset]; + } + return this; + } + set(n11, n12, n21, n22) { + const te2 = this.elements; + te2[0] = n11; + te2[2] = n12; + te2[1] = n21; + te2[3] = n22; + return this; + } +} +const _vector$4 = /* @__PURE__ */ new Vector2(); +class Box2 { + static { + __name(this, "Box2"); + } + constructor(min = new Vector2(Infinity, Infinity), max2 = new Vector2(-Infinity, -Infinity)) { + this.isBox2 = true; + this.min = min; + this.max = max2; + } + set(min, max2) { + this.min.copy(min); + this.max.copy(max2); + return this; + } + setFromPoints(points) { + this.makeEmpty(); + for (let i = 0, il = points.length; i < il; i++) { + this.expandByPoint(points[i]); + } + return this; + } + setFromCenterAndSize(center, size) { + const halfSize = _vector$4.copy(size).multiplyScalar(0.5); + this.min.copy(center).sub(halfSize); + this.max.copy(center).add(halfSize); + return this; + } + clone() { + return new this.constructor().copy(this); + } + copy(box) { + this.min.copy(box.min); + this.max.copy(box.max); + return this; + } + makeEmpty() { + this.min.x = this.min.y = Infinity; + this.max.x = this.max.y = -Infinity; + return this; + } + isEmpty() { + return this.max.x < this.min.x || this.max.y < this.min.y; + } + getCenter(target) { + return this.isEmpty() ? target.set(0, 0) : target.addVectors(this.min, this.max).multiplyScalar(0.5); + } + getSize(target) { + return this.isEmpty() ? target.set(0, 0) : target.subVectors(this.max, this.min); + } + expandByPoint(point) { + this.min.min(point); + this.max.max(point); + return this; + } + expandByVector(vector) { + this.min.sub(vector); + this.max.add(vector); + return this; + } + expandByScalar(scalar) { + this.min.addScalar(-scalar); + this.max.addScalar(scalar); + return this; + } + containsPoint(point) { + return point.x >= this.min.x && point.x <= this.max.x && point.y >= this.min.y && point.y <= this.max.y; + } + containsBox(box) { + return this.min.x <= box.min.x && box.max.x <= this.max.x && this.min.y <= box.min.y && box.max.y <= this.max.y; + } + getParameter(point, target) { + return target.set( + (point.x - this.min.x) / (this.max.x - this.min.x), + (point.y - this.min.y) / (this.max.y - this.min.y) + ); + } + intersectsBox(box) { + return box.max.x >= this.min.x && box.min.x <= this.max.x && box.max.y >= this.min.y && box.min.y <= this.max.y; + } + clampPoint(point, target) { + return target.copy(point).clamp(this.min, this.max); + } + distanceToPoint(point) { + return this.clampPoint(point, _vector$4).distanceTo(point); + } + intersect(box) { + this.min.max(box.min); + this.max.min(box.max); + if (this.isEmpty()) this.makeEmpty(); + return this; + } + union(box) { + this.min.min(box.min); + this.max.max(box.max); + return this; + } + translate(offset) { + this.min.add(offset); + this.max.add(offset); + return this; + } + equals(box) { + return box.min.equals(this.min) && box.max.equals(this.max); + } +} +const _startP = /* @__PURE__ */ new Vector3(); +const _startEnd = /* @__PURE__ */ new Vector3(); +class Line3 { + static { + __name(this, "Line3"); + } + constructor(start = new Vector3(), end = new Vector3()) { + this.start = start; + this.end = end; + } + set(start, end) { + this.start.copy(start); + this.end.copy(end); + return this; + } + copy(line) { + this.start.copy(line.start); + this.end.copy(line.end); + return this; + } + getCenter(target) { + return target.addVectors(this.start, this.end).multiplyScalar(0.5); + } + delta(target) { + return target.subVectors(this.end, this.start); + } + distanceSq() { + return this.start.distanceToSquared(this.end); + } + distance() { + return this.start.distanceTo(this.end); + } + at(t2, target) { + return this.delta(target).multiplyScalar(t2).add(this.start); + } + closestPointToPointParameter(point, clampToLine) { + _startP.subVectors(point, this.start); + _startEnd.subVectors(this.end, this.start); + const startEnd2 = _startEnd.dot(_startEnd); + const startEnd_startP = _startEnd.dot(_startP); + let t2 = startEnd_startP / startEnd2; + if (clampToLine) { + t2 = clamp(t2, 0, 1); + } + return t2; + } + closestPointToPoint(point, clampToLine, target) { + const t2 = this.closestPointToPointParameter(point, clampToLine); + return this.delta(target).multiplyScalar(t2).add(this.start); + } + applyMatrix4(matrix) { + this.start.applyMatrix4(matrix); + this.end.applyMatrix4(matrix); + return this; + } + equals(line) { + return line.start.equals(this.start) && line.end.equals(this.end); + } + clone() { + return new this.constructor().copy(this); + } +} +const _vector$3 = /* @__PURE__ */ new Vector3(); +class SpotLightHelper extends Object3D { + static { + __name(this, "SpotLightHelper"); + } + constructor(light, color) { + super(); + this.light = light; + this.matrixAutoUpdate = false; + this.color = color; + this.type = "SpotLightHelper"; + const geometry = new BufferGeometry(); + const positions = [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + -1, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + -1, + 1 + ]; + for (let i = 0, j = 1, l = 32; i < l; i++, j++) { + const p1 = i / l * Math.PI * 2; + const p2 = j / l * Math.PI * 2; + positions.push( + Math.cos(p1), + Math.sin(p1), + 1, + Math.cos(p2), + Math.sin(p2), + 1 + ); + } + geometry.setAttribute("position", new Float32BufferAttribute(positions, 3)); + const material = new LineBasicMaterial({ fog: false, toneMapped: false }); + this.cone = new LineSegments(geometry, material); + this.add(this.cone); + this.update(); + } + dispose() { + this.cone.geometry.dispose(); + this.cone.material.dispose(); + } + update() { + this.light.updateWorldMatrix(true, false); + this.light.target.updateWorldMatrix(true, false); + if (this.parent) { + this.parent.updateWorldMatrix(true); + this.matrix.copy(this.parent.matrixWorld).invert().multiply(this.light.matrixWorld); + } else { + this.matrix.copy(this.light.matrixWorld); + } + this.matrixWorld.copy(this.light.matrixWorld); + const coneLength = this.light.distance ? this.light.distance : 1e3; + const coneWidth = coneLength * Math.tan(this.light.angle); + this.cone.scale.set(coneWidth, coneWidth, coneLength); + _vector$3.setFromMatrixPosition(this.light.target.matrixWorld); + this.cone.lookAt(_vector$3); + if (this.color !== void 0) { + this.cone.material.color.set(this.color); + } else { + this.cone.material.color.copy(this.light.color); + } + } +} +const _vector$2 = /* @__PURE__ */ new Vector3(); +const _boneMatrix = /* @__PURE__ */ new Matrix4(); +const _matrixWorldInv = /* @__PURE__ */ new Matrix4(); +class SkeletonHelper extends LineSegments { + static { + __name(this, "SkeletonHelper"); + } + constructor(object) { + const bones = getBoneList(object); + const geometry = new BufferGeometry(); + const vertices = []; + const colors = []; + const color1 = new Color(0, 0, 1); + const color2 = new Color(0, 1, 0); + for (let i = 0; i < bones.length; i++) { + const bone = bones[i]; + if (bone.parent && bone.parent.isBone) { + vertices.push(0, 0, 0); + vertices.push(0, 0, 0); + colors.push(color1.r, color1.g, color1.b); + colors.push(color2.r, color2.g, color2.b); + } + } + geometry.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + geometry.setAttribute("color", new Float32BufferAttribute(colors, 3)); + const material = new LineBasicMaterial({ vertexColors: true, depthTest: false, depthWrite: false, toneMapped: false, transparent: true }); + super(geometry, material); + this.isSkeletonHelper = true; + this.type = "SkeletonHelper"; + this.root = object; + this.bones = bones; + this.matrix = object.matrixWorld; + this.matrixAutoUpdate = false; + } + updateMatrixWorld(force) { + const bones = this.bones; + const geometry = this.geometry; + const position = geometry.getAttribute("position"); + _matrixWorldInv.copy(this.root.matrixWorld).invert(); + for (let i = 0, j = 0; i < bones.length; i++) { + const bone = bones[i]; + if (bone.parent && bone.parent.isBone) { + _boneMatrix.multiplyMatrices(_matrixWorldInv, bone.matrixWorld); + _vector$2.setFromMatrixPosition(_boneMatrix); + position.setXYZ(j, _vector$2.x, _vector$2.y, _vector$2.z); + _boneMatrix.multiplyMatrices(_matrixWorldInv, bone.parent.matrixWorld); + _vector$2.setFromMatrixPosition(_boneMatrix); + position.setXYZ(j + 1, _vector$2.x, _vector$2.y, _vector$2.z); + j += 2; + } + } + geometry.getAttribute("position").needsUpdate = true; + super.updateMatrixWorld(force); + } + dispose() { + this.geometry.dispose(); + this.material.dispose(); + } +} +function getBoneList(object) { + const boneList = []; + if (object.isBone === true) { + boneList.push(object); + } + for (let i = 0; i < object.children.length; i++) { + boneList.push.apply(boneList, getBoneList(object.children[i])); + } + return boneList; +} +__name(getBoneList, "getBoneList"); +class PointLightHelper extends Mesh { + static { + __name(this, "PointLightHelper"); + } + constructor(light, sphereSize, color) { + const geometry = new SphereGeometry(sphereSize, 4, 2); + const material = new MeshBasicMaterial({ wireframe: true, fog: false, toneMapped: false }); + super(geometry, material); + this.light = light; + this.color = color; + this.type = "PointLightHelper"; + this.matrix = this.light.matrixWorld; + this.matrixAutoUpdate = false; + this.update(); + } + dispose() { + this.geometry.dispose(); + this.material.dispose(); + } + update() { + this.light.updateWorldMatrix(true, false); + if (this.color !== void 0) { + this.material.color.set(this.color); + } else { + this.material.color.copy(this.light.color); + } + } +} +const _vector$1 = /* @__PURE__ */ new Vector3(); +const _color1 = /* @__PURE__ */ new Color(); +const _color2 = /* @__PURE__ */ new Color(); +class HemisphereLightHelper extends Object3D { + static { + __name(this, "HemisphereLightHelper"); + } + constructor(light, size, color) { + super(); + this.light = light; + this.matrix = light.matrixWorld; + this.matrixAutoUpdate = false; + this.color = color; + this.type = "HemisphereLightHelper"; + const geometry = new OctahedronGeometry(size); + geometry.rotateY(Math.PI * 0.5); + this.material = new MeshBasicMaterial({ wireframe: true, fog: false, toneMapped: false }); + if (this.color === void 0) this.material.vertexColors = true; + const position = geometry.getAttribute("position"); + const colors = new Float32Array(position.count * 3); + geometry.setAttribute("color", new BufferAttribute(colors, 3)); + this.add(new Mesh(geometry, this.material)); + this.update(); + } + dispose() { + this.children[0].geometry.dispose(); + this.children[0].material.dispose(); + } + update() { + const mesh = this.children[0]; + if (this.color !== void 0) { + this.material.color.set(this.color); + } else { + const colors = mesh.geometry.getAttribute("color"); + _color1.copy(this.light.color); + _color2.copy(this.light.groundColor); + for (let i = 0, l = colors.count; i < l; i++) { + const color = i < l / 2 ? _color1 : _color2; + colors.setXYZ(i, color.r, color.g, color.b); + } + colors.needsUpdate = true; + } + this.light.updateWorldMatrix(true, false); + mesh.lookAt(_vector$1.setFromMatrixPosition(this.light.matrixWorld).negate()); + } +} +class GridHelper extends LineSegments { + static { + __name(this, "GridHelper"); + } + constructor(size = 10, divisions = 10, color1 = 4473924, color2 = 8947848) { + color1 = new Color(color1); + color2 = new Color(color2); + const center = divisions / 2; + const step = size / divisions; + const halfSize = size / 2; + const vertices = [], colors = []; + for (let i = 0, j = 0, k = -halfSize; i <= divisions; i++, k += step) { + vertices.push(-halfSize, 0, k, halfSize, 0, k); + vertices.push(k, 0, -halfSize, k, 0, halfSize); + const color = i === center ? color1 : color2; + color.toArray(colors, j); + j += 3; + color.toArray(colors, j); + j += 3; + color.toArray(colors, j); + j += 3; + color.toArray(colors, j); + j += 3; + } + const geometry = new BufferGeometry(); + geometry.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + geometry.setAttribute("color", new Float32BufferAttribute(colors, 3)); + const material = new LineBasicMaterial({ vertexColors: true, toneMapped: false }); + super(geometry, material); + this.type = "GridHelper"; + } + dispose() { + this.geometry.dispose(); + this.material.dispose(); + } +} +class PolarGridHelper extends LineSegments { + static { + __name(this, "PolarGridHelper"); + } + constructor(radius = 10, sectors = 16, rings = 8, divisions = 64, color1 = 4473924, color2 = 8947848) { + color1 = new Color(color1); + color2 = new Color(color2); + const vertices = []; + const colors = []; + if (sectors > 1) { + for (let i = 0; i < sectors; i++) { + const v = i / sectors * (Math.PI * 2); + const x = Math.sin(v) * radius; + const z = Math.cos(v) * radius; + vertices.push(0, 0, 0); + vertices.push(x, 0, z); + const color = i & 1 ? color1 : color2; + colors.push(color.r, color.g, color.b); + colors.push(color.r, color.g, color.b); + } + } + for (let i = 0; i < rings; i++) { + const color = i & 1 ? color1 : color2; + const r = radius - radius / rings * i; + for (let j = 0; j < divisions; j++) { + let v = j / divisions * (Math.PI * 2); + let x = Math.sin(v) * r; + let z = Math.cos(v) * r; + vertices.push(x, 0, z); + colors.push(color.r, color.g, color.b); + v = (j + 1) / divisions * (Math.PI * 2); + x = Math.sin(v) * r; + z = Math.cos(v) * r; + vertices.push(x, 0, z); + colors.push(color.r, color.g, color.b); + } + } + const geometry = new BufferGeometry(); + geometry.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + geometry.setAttribute("color", new Float32BufferAttribute(colors, 3)); + const material = new LineBasicMaterial({ vertexColors: true, toneMapped: false }); + super(geometry, material); + this.type = "PolarGridHelper"; + } + dispose() { + this.geometry.dispose(); + this.material.dispose(); + } +} +const _v1 = /* @__PURE__ */ new Vector3(); +const _v2 = /* @__PURE__ */ new Vector3(); +const _v3 = /* @__PURE__ */ new Vector3(); +class DirectionalLightHelper extends Object3D { + static { + __name(this, "DirectionalLightHelper"); + } + constructor(light, size, color) { + super(); + this.light = light; + this.matrix = light.matrixWorld; + this.matrixAutoUpdate = false; + this.color = color; + this.type = "DirectionalLightHelper"; + if (size === void 0) size = 1; + let geometry = new BufferGeometry(); + geometry.setAttribute("position", new Float32BufferAttribute([ + -size, + size, + 0, + size, + size, + 0, + size, + -size, + 0, + -size, + -size, + 0, + -size, + size, + 0 + ], 3)); + const material = new LineBasicMaterial({ fog: false, toneMapped: false }); + this.lightPlane = new Line(geometry, material); + this.add(this.lightPlane); + geometry = new BufferGeometry(); + geometry.setAttribute("position", new Float32BufferAttribute([0, 0, 0, 0, 0, 1], 3)); + this.targetLine = new Line(geometry, material); + this.add(this.targetLine); + this.update(); + } + dispose() { + this.lightPlane.geometry.dispose(); + this.lightPlane.material.dispose(); + this.targetLine.geometry.dispose(); + this.targetLine.material.dispose(); + } + update() { + this.light.updateWorldMatrix(true, false); + this.light.target.updateWorldMatrix(true, false); + _v1.setFromMatrixPosition(this.light.matrixWorld); + _v2.setFromMatrixPosition(this.light.target.matrixWorld); + _v3.subVectors(_v2, _v1); + this.lightPlane.lookAt(_v2); + if (this.color !== void 0) { + this.lightPlane.material.color.set(this.color); + this.targetLine.material.color.set(this.color); + } else { + this.lightPlane.material.color.copy(this.light.color); + this.targetLine.material.color.copy(this.light.color); + } + this.targetLine.lookAt(_v2); + this.targetLine.scale.z = _v3.length(); + } +} +const _vector = /* @__PURE__ */ new Vector3(); +const _camera = /* @__PURE__ */ new Camera(); +class CameraHelper extends LineSegments { + static { + __name(this, "CameraHelper"); + } + constructor(camera) { + const geometry = new BufferGeometry(); + const material = new LineBasicMaterial({ color: 16777215, vertexColors: true, toneMapped: false }); + const vertices = []; + const colors = []; + const pointMap = {}; + addLine("n1", "n2"); + addLine("n2", "n4"); + addLine("n4", "n3"); + addLine("n3", "n1"); + addLine("f1", "f2"); + addLine("f2", "f4"); + addLine("f4", "f3"); + addLine("f3", "f1"); + addLine("n1", "f1"); + addLine("n2", "f2"); + addLine("n3", "f3"); + addLine("n4", "f4"); + addLine("p", "n1"); + addLine("p", "n2"); + addLine("p", "n3"); + addLine("p", "n4"); + addLine("u1", "u2"); + addLine("u2", "u3"); + addLine("u3", "u1"); + addLine("c", "t"); + addLine("p", "c"); + addLine("cn1", "cn2"); + addLine("cn3", "cn4"); + addLine("cf1", "cf2"); + addLine("cf3", "cf4"); + function addLine(a, b) { + addPoint(a); + addPoint(b); + } + __name(addLine, "addLine"); + function addPoint(id2) { + vertices.push(0, 0, 0); + colors.push(0, 0, 0); + if (pointMap[id2] === void 0) { + pointMap[id2] = []; + } + pointMap[id2].push(vertices.length / 3 - 1); + } + __name(addPoint, "addPoint"); + geometry.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + geometry.setAttribute("color", new Float32BufferAttribute(colors, 3)); + super(geometry, material); + this.type = "CameraHelper"; + this.camera = camera; + if (this.camera.updateProjectionMatrix) this.camera.updateProjectionMatrix(); + this.matrix = camera.matrixWorld; + this.matrixAutoUpdate = false; + this.pointMap = pointMap; + this.update(); + const colorFrustum = new Color(16755200); + const colorCone = new Color(16711680); + const colorUp = new Color(43775); + const colorTarget = new Color(16777215); + const colorCross = new Color(3355443); + this.setColors(colorFrustum, colorCone, colorUp, colorTarget, colorCross); + } + setColors(frustum, cone, up, target, cross) { + const geometry = this.geometry; + const colorAttribute = geometry.getAttribute("color"); + colorAttribute.setXYZ(0, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(1, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(2, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(3, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(4, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(5, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(6, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(7, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(8, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(9, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(10, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(11, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(12, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(13, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(14, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(15, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(16, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(17, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(18, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(19, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(20, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(21, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(22, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(23, frustum.r, frustum.g, frustum.b); + colorAttribute.setXYZ(24, cone.r, cone.g, cone.b); + colorAttribute.setXYZ(25, cone.r, cone.g, cone.b); + colorAttribute.setXYZ(26, cone.r, cone.g, cone.b); + colorAttribute.setXYZ(27, cone.r, cone.g, cone.b); + colorAttribute.setXYZ(28, cone.r, cone.g, cone.b); + colorAttribute.setXYZ(29, cone.r, cone.g, cone.b); + colorAttribute.setXYZ(30, cone.r, cone.g, cone.b); + colorAttribute.setXYZ(31, cone.r, cone.g, cone.b); + colorAttribute.setXYZ(32, up.r, up.g, up.b); + colorAttribute.setXYZ(33, up.r, up.g, up.b); + colorAttribute.setXYZ(34, up.r, up.g, up.b); + colorAttribute.setXYZ(35, up.r, up.g, up.b); + colorAttribute.setXYZ(36, up.r, up.g, up.b); + colorAttribute.setXYZ(37, up.r, up.g, up.b); + colorAttribute.setXYZ(38, target.r, target.g, target.b); + colorAttribute.setXYZ(39, target.r, target.g, target.b); + colorAttribute.setXYZ(40, cross.r, cross.g, cross.b); + colorAttribute.setXYZ(41, cross.r, cross.g, cross.b); + colorAttribute.setXYZ(42, cross.r, cross.g, cross.b); + colorAttribute.setXYZ(43, cross.r, cross.g, cross.b); + colorAttribute.setXYZ(44, cross.r, cross.g, cross.b); + colorAttribute.setXYZ(45, cross.r, cross.g, cross.b); + colorAttribute.setXYZ(46, cross.r, cross.g, cross.b); + colorAttribute.setXYZ(47, cross.r, cross.g, cross.b); + colorAttribute.setXYZ(48, cross.r, cross.g, cross.b); + colorAttribute.setXYZ(49, cross.r, cross.g, cross.b); + colorAttribute.needsUpdate = true; + } + update() { + const geometry = this.geometry; + const pointMap = this.pointMap; + const w = 1, h = 1; + _camera.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse); + setPoint("c", pointMap, geometry, _camera, 0, 0, -1); + setPoint("t", pointMap, geometry, _camera, 0, 0, 1); + setPoint("n1", pointMap, geometry, _camera, -w, -h, -1); + setPoint("n2", pointMap, geometry, _camera, w, -h, -1); + setPoint("n3", pointMap, geometry, _camera, -w, h, -1); + setPoint("n4", pointMap, geometry, _camera, w, h, -1); + setPoint("f1", pointMap, geometry, _camera, -w, -h, 1); + setPoint("f2", pointMap, geometry, _camera, w, -h, 1); + setPoint("f3", pointMap, geometry, _camera, -w, h, 1); + setPoint("f4", pointMap, geometry, _camera, w, h, 1); + setPoint("u1", pointMap, geometry, _camera, w * 0.7, h * 1.1, -1); + setPoint("u2", pointMap, geometry, _camera, -w * 0.7, h * 1.1, -1); + setPoint("u3", pointMap, geometry, _camera, 0, h * 2, -1); + setPoint("cf1", pointMap, geometry, _camera, -w, 0, 1); + setPoint("cf2", pointMap, geometry, _camera, w, 0, 1); + setPoint("cf3", pointMap, geometry, _camera, 0, -h, 1); + setPoint("cf4", pointMap, geometry, _camera, 0, h, 1); + setPoint("cn1", pointMap, geometry, _camera, -w, 0, -1); + setPoint("cn2", pointMap, geometry, _camera, w, 0, -1); + setPoint("cn3", pointMap, geometry, _camera, 0, -h, -1); + setPoint("cn4", pointMap, geometry, _camera, 0, h, -1); + geometry.getAttribute("position").needsUpdate = true; + } + dispose() { + this.geometry.dispose(); + this.material.dispose(); + } +} +function setPoint(point, pointMap, geometry, camera, x, y, z) { + _vector.set(x, y, z).unproject(camera); + const points = pointMap[point]; + if (points !== void 0) { + const position = geometry.getAttribute("position"); + for (let i = 0, l = points.length; i < l; i++) { + position.setXYZ(points[i], _vector.x, _vector.y, _vector.z); + } + } +} +__name(setPoint, "setPoint"); +const _box = /* @__PURE__ */ new Box3(); +class BoxHelper extends LineSegments { + static { + __name(this, "BoxHelper"); + } + constructor(object, color = 16776960) { + const indices = new Uint16Array([0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7]); + const positions = new Float32Array(8 * 3); + const geometry = new BufferGeometry(); + geometry.setIndex(new BufferAttribute(indices, 1)); + geometry.setAttribute("position", new BufferAttribute(positions, 3)); + super(geometry, new LineBasicMaterial({ color, toneMapped: false })); + this.object = object; + this.type = "BoxHelper"; + this.matrixAutoUpdate = false; + this.update(); + } + update(object) { + if (object !== void 0) { + console.warn("THREE.BoxHelper: .update() has no longer arguments."); + } + if (this.object !== void 0) { + _box.setFromObject(this.object); + } + if (_box.isEmpty()) return; + const min = _box.min; + const max2 = _box.max; + const position = this.geometry.attributes.position; + const array = position.array; + array[0] = max2.x; + array[1] = max2.y; + array[2] = max2.z; + array[3] = min.x; + array[4] = max2.y; + array[5] = max2.z; + array[6] = min.x; + array[7] = min.y; + array[8] = max2.z; + array[9] = max2.x; + array[10] = min.y; + array[11] = max2.z; + array[12] = max2.x; + array[13] = max2.y; + array[14] = min.z; + array[15] = min.x; + array[16] = max2.y; + array[17] = min.z; + array[18] = min.x; + array[19] = min.y; + array[20] = min.z; + array[21] = max2.x; + array[22] = min.y; + array[23] = min.z; + position.needsUpdate = true; + this.geometry.computeBoundingSphere(); + } + setFromObject(object) { + this.object = object; + this.update(); + return this; + } + copy(source, recursive) { + super.copy(source, recursive); + this.object = source.object; + return this; + } + dispose() { + this.geometry.dispose(); + this.material.dispose(); + } +} +class Box3Helper extends LineSegments { + static { + __name(this, "Box3Helper"); + } + constructor(box, color = 16776960) { + const indices = new Uint16Array([0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7]); + const positions = [1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1]; + const geometry = new BufferGeometry(); + geometry.setIndex(new BufferAttribute(indices, 1)); + geometry.setAttribute("position", new Float32BufferAttribute(positions, 3)); + super(geometry, new LineBasicMaterial({ color, toneMapped: false })); + this.box = box; + this.type = "Box3Helper"; + this.geometry.computeBoundingSphere(); + } + updateMatrixWorld(force) { + const box = this.box; + if (box.isEmpty()) return; + box.getCenter(this.position); + box.getSize(this.scale); + this.scale.multiplyScalar(0.5); + super.updateMatrixWorld(force); + } + dispose() { + this.geometry.dispose(); + this.material.dispose(); + } +} +class PlaneHelper extends Line { + static { + __name(this, "PlaneHelper"); + } + constructor(plane, size = 1, hex = 16776960) { + const color = hex; + const positions = [1, -1, 0, -1, 1, 0, -1, -1, 0, 1, 1, 0, -1, 1, 0, -1, -1, 0, 1, -1, 0, 1, 1, 0]; + const geometry = new BufferGeometry(); + geometry.setAttribute("position", new Float32BufferAttribute(positions, 3)); + geometry.computeBoundingSphere(); + super(geometry, new LineBasicMaterial({ color, toneMapped: false })); + this.type = "PlaneHelper"; + this.plane = plane; + this.size = size; + const positions2 = [1, 1, 0, -1, 1, 0, -1, -1, 0, 1, 1, 0, -1, -1, 0, 1, -1, 0]; + const geometry2 = new BufferGeometry(); + geometry2.setAttribute("position", new Float32BufferAttribute(positions2, 3)); + geometry2.computeBoundingSphere(); + this.add(new Mesh(geometry2, new MeshBasicMaterial({ color, opacity: 0.2, transparent: true, depthWrite: false, toneMapped: false }))); + } + updateMatrixWorld(force) { + this.position.set(0, 0, 0); + this.scale.set(0.5 * this.size, 0.5 * this.size, 1); + this.lookAt(this.plane.normal); + this.translateZ(-this.plane.constant); + super.updateMatrixWorld(force); + } + dispose() { + this.geometry.dispose(); + this.material.dispose(); + this.children[0].geometry.dispose(); + this.children[0].material.dispose(); + } +} +const _axis = /* @__PURE__ */ new Vector3(); +let _lineGeometry, _coneGeometry; +class ArrowHelper extends Object3D { + static { + __name(this, "ArrowHelper"); + } + // dir is assumed to be normalized + constructor(dir = new Vector3(0, 0, 1), origin = new Vector3(0, 0, 0), length = 1, color = 16776960, headLength = length * 0.2, headWidth = headLength * 0.2) { + super(); + this.type = "ArrowHelper"; + if (_lineGeometry === void 0) { + _lineGeometry = new BufferGeometry(); + _lineGeometry.setAttribute("position", new Float32BufferAttribute([0, 0, 0, 0, 1, 0], 3)); + _coneGeometry = new CylinderGeometry(0, 0.5, 1, 5, 1); + _coneGeometry.translate(0, -0.5, 0); + } + this.position.copy(origin); + this.line = new Line(_lineGeometry, new LineBasicMaterial({ color, toneMapped: false })); + this.line.matrixAutoUpdate = false; + this.add(this.line); + this.cone = new Mesh(_coneGeometry, new MeshBasicMaterial({ color, toneMapped: false })); + this.cone.matrixAutoUpdate = false; + this.add(this.cone); + this.setDirection(dir); + this.setLength(length, headLength, headWidth); + } + setDirection(dir) { + if (dir.y > 0.99999) { + this.quaternion.set(0, 0, 0, 1); + } else if (dir.y < -0.99999) { + this.quaternion.set(1, 0, 0, 0); + } else { + _axis.set(dir.z, 0, -dir.x).normalize(); + const radians = Math.acos(dir.y); + this.quaternion.setFromAxisAngle(_axis, radians); + } + } + setLength(length, headLength = length * 0.2, headWidth = headLength * 0.2) { + this.line.scale.set(1, Math.max(1e-4, length - headLength), 1); + this.line.updateMatrix(); + this.cone.scale.set(headWidth, headLength, headWidth); + this.cone.position.y = length; + this.cone.updateMatrix(); + } + setColor(color) { + this.line.material.color.set(color); + this.cone.material.color.set(color); + } + copy(source) { + super.copy(source, false); + this.line.copy(source.line); + this.cone.copy(source.cone); + return this; + } + dispose() { + this.line.geometry.dispose(); + this.line.material.dispose(); + this.cone.geometry.dispose(); + this.cone.material.dispose(); + } +} +class AxesHelper extends LineSegments { + static { + __name(this, "AxesHelper"); + } + constructor(size = 1) { + const vertices = [ + 0, + 0, + 0, + size, + 0, + 0, + 0, + 0, + 0, + 0, + size, + 0, + 0, + 0, + 0, + 0, + 0, + size + ]; + const colors = [ + 1, + 0, + 0, + 1, + 0.6, + 0, + 0, + 1, + 0, + 0.6, + 1, + 0, + 0, + 0, + 1, + 0, + 0.6, + 1 + ]; + const geometry = new BufferGeometry(); + geometry.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + geometry.setAttribute("color", new Float32BufferAttribute(colors, 3)); + const material = new LineBasicMaterial({ vertexColors: true, toneMapped: false }); + super(geometry, material); + this.type = "AxesHelper"; + } + setColors(xAxisColor, yAxisColor, zAxisColor) { + const color = new Color(); + const array = this.geometry.attributes.color.array; + color.set(xAxisColor); + color.toArray(array, 0); + color.toArray(array, 3); + color.set(yAxisColor); + color.toArray(array, 6); + color.toArray(array, 9); + color.set(zAxisColor); + color.toArray(array, 12); + color.toArray(array, 15); + this.geometry.attributes.color.needsUpdate = true; + return this; + } + dispose() { + this.geometry.dispose(); + this.material.dispose(); + } +} +class ShapePath { + static { + __name(this, "ShapePath"); + } + constructor() { + this.type = "ShapePath"; + this.color = new Color(); + this.subPaths = []; + this.currentPath = null; + } + moveTo(x, y) { + this.currentPath = new Path(); + this.subPaths.push(this.currentPath); + this.currentPath.moveTo(x, y); + return this; + } + lineTo(x, y) { + this.currentPath.lineTo(x, y); + return this; + } + quadraticCurveTo(aCPx, aCPy, aX, aY) { + this.currentPath.quadraticCurveTo(aCPx, aCPy, aX, aY); + return this; + } + bezierCurveTo(aCP1x, aCP1y, aCP2x, aCP2y, aX, aY) { + this.currentPath.bezierCurveTo(aCP1x, aCP1y, aCP2x, aCP2y, aX, aY); + return this; + } + splineThru(pts) { + this.currentPath.splineThru(pts); + return this; + } + toShapes(isCCW) { + function toShapesNoHoles(inSubpaths) { + const shapes2 = []; + for (let i = 0, l = inSubpaths.length; i < l; i++) { + const tmpPath2 = inSubpaths[i]; + const tmpShape2 = new Shape(); + tmpShape2.curves = tmpPath2.curves; + shapes2.push(tmpShape2); + } + return shapes2; + } + __name(toShapesNoHoles, "toShapesNoHoles"); + function isPointInsidePolygon(inPt, inPolygon) { + const polyLen = inPolygon.length; + let inside = false; + for (let p = polyLen - 1, q = 0; q < polyLen; p = q++) { + let edgeLowPt = inPolygon[p]; + let edgeHighPt = inPolygon[q]; + let edgeDx = edgeHighPt.x - edgeLowPt.x; + let edgeDy = edgeHighPt.y - edgeLowPt.y; + if (Math.abs(edgeDy) > Number.EPSILON) { + if (edgeDy < 0) { + edgeLowPt = inPolygon[q]; + edgeDx = -edgeDx; + edgeHighPt = inPolygon[p]; + edgeDy = -edgeDy; + } + if (inPt.y < edgeLowPt.y || inPt.y > edgeHighPt.y) continue; + if (inPt.y === edgeLowPt.y) { + if (inPt.x === edgeLowPt.x) return true; + } else { + const perpEdge = edgeDy * (inPt.x - edgeLowPt.x) - edgeDx * (inPt.y - edgeLowPt.y); + if (perpEdge === 0) return true; + if (perpEdge < 0) continue; + inside = !inside; + } + } else { + if (inPt.y !== edgeLowPt.y) continue; + if (edgeHighPt.x <= inPt.x && inPt.x <= edgeLowPt.x || edgeLowPt.x <= inPt.x && inPt.x <= edgeHighPt.x) return true; + } + } + return inside; + } + __name(isPointInsidePolygon, "isPointInsidePolygon"); + const isClockWise = ShapeUtils.isClockWise; + const subPaths = this.subPaths; + if (subPaths.length === 0) return []; + let solid, tmpPath, tmpShape; + const shapes = []; + if (subPaths.length === 1) { + tmpPath = subPaths[0]; + tmpShape = new Shape(); + tmpShape.curves = tmpPath.curves; + shapes.push(tmpShape); + return shapes; + } + let holesFirst = !isClockWise(subPaths[0].getPoints()); + holesFirst = isCCW ? !holesFirst : holesFirst; + const betterShapeHoles = []; + const newShapes = []; + let newShapeHoles = []; + let mainIdx = 0; + let tmpPoints; + newShapes[mainIdx] = void 0; + newShapeHoles[mainIdx] = []; + for (let i = 0, l = subPaths.length; i < l; i++) { + tmpPath = subPaths[i]; + tmpPoints = tmpPath.getPoints(); + solid = isClockWise(tmpPoints); + solid = isCCW ? !solid : solid; + if (solid) { + if (!holesFirst && newShapes[mainIdx]) mainIdx++; + newShapes[mainIdx] = { s: new Shape(), p: tmpPoints }; + newShapes[mainIdx].s.curves = tmpPath.curves; + if (holesFirst) mainIdx++; + newShapeHoles[mainIdx] = []; + } else { + newShapeHoles[mainIdx].push({ h: tmpPath, p: tmpPoints[0] }); + } + } + if (!newShapes[0]) return toShapesNoHoles(subPaths); + if (newShapes.length > 1) { + let ambiguous = false; + let toChange = 0; + for (let sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx++) { + betterShapeHoles[sIdx] = []; + } + for (let sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx++) { + const sho = newShapeHoles[sIdx]; + for (let hIdx = 0; hIdx < sho.length; hIdx++) { + const ho = sho[hIdx]; + let hole_unassigned = true; + for (let s2Idx = 0; s2Idx < newShapes.length; s2Idx++) { + if (isPointInsidePolygon(ho.p, newShapes[s2Idx].p)) { + if (sIdx !== s2Idx) toChange++; + if (hole_unassigned) { + hole_unassigned = false; + betterShapeHoles[s2Idx].push(ho); + } else { + ambiguous = true; + } + } + } + if (hole_unassigned) { + betterShapeHoles[sIdx].push(ho); + } + } + } + if (toChange > 0 && ambiguous === false) { + newShapeHoles = betterShapeHoles; + } + } + let tmpHoles; + for (let i = 0, il = newShapes.length; i < il; i++) { + tmpShape = newShapes[i].s; + shapes.push(tmpShape); + tmpHoles = newShapeHoles[i]; + for (let j = 0, jl = tmpHoles.length; j < jl; j++) { + tmpShape.holes.push(tmpHoles[j].h); + } + } + return shapes; + } +} +class Controls extends EventDispatcher { + static { + __name(this, "Controls"); + } + constructor(object, domElement = null) { + super(); + this.object = object; + this.domElement = domElement; + this.enabled = true; + this.state = -1; + this.keys = {}; + this.mouseButtons = { LEFT: null, MIDDLE: null, RIGHT: null }; + this.touches = { ONE: null, TWO: null }; + } + connect() { + } + disconnect() { + } + dispose() { + } + update() { + } +} +class WebGLMultipleRenderTargets extends WebGLRenderTarget { + static { + __name(this, "WebGLMultipleRenderTargets"); + } + // @deprecated, r162 + constructor(width = 1, height = 1, count = 1, options = {}) { + console.warn('THREE.WebGLMultipleRenderTargets has been deprecated and will be removed in r172. Use THREE.WebGLRenderTarget and set the "count" parameter to enable MRT.'); + super(width, height, { ...options, count }); + this.isWebGLMultipleRenderTargets = true; + } + get texture() { + return this.textures; + } +} +if (typeof __THREE_DEVTOOLS__ !== "undefined") { + __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register", { detail: { + revision: REVISION + } })); +} +if (typeof window !== "undefined") { + if (window.__THREE__) { + console.warn("WARNING: Multiple instances of Three.js being imported."); + } else { + window.__THREE__ = REVISION; + } +} +const _changeEvent = { type: "change" }; +const _startEvent = { type: "start" }; +const _endEvent = { type: "end" }; +const _ray = new Ray(); +const _plane = new Plane(); +const _TILT_LIMIT = Math.cos(70 * MathUtils.DEG2RAD); +const _v = new Vector3(); +const _twoPI = 2 * Math.PI; +const _STATE = { + NONE: -1, + ROTATE: 0, + DOLLY: 1, + PAN: 2, + TOUCH_ROTATE: 3, + TOUCH_PAN: 4, + TOUCH_DOLLY_PAN: 5, + TOUCH_DOLLY_ROTATE: 6 +}; +const _EPS = 1e-6; +class OrbitControls extends Controls { + static { + __name(this, "OrbitControls"); + } + constructor(object, domElement = null) { + super(object, domElement); + this.state = _STATE.NONE; + this.enabled = true; + this.target = new Vector3(); + this.cursor = new Vector3(); + this.minDistance = 0; + this.maxDistance = Infinity; + this.minZoom = 0; + this.maxZoom = Infinity; + this.minTargetRadius = 0; + this.maxTargetRadius = Infinity; + this.minPolarAngle = 0; + this.maxPolarAngle = Math.PI; + this.minAzimuthAngle = -Infinity; + this.maxAzimuthAngle = Infinity; + this.enableDamping = false; + this.dampingFactor = 0.05; + this.enableZoom = true; + this.zoomSpeed = 1; + this.enableRotate = true; + this.rotateSpeed = 1; + this.enablePan = true; + this.panSpeed = 1; + this.screenSpacePanning = true; + this.keyPanSpeed = 7; + this.zoomToCursor = false; + this.autoRotate = false; + this.autoRotateSpeed = 2; + this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }; + this.mouseButtons = { LEFT: MOUSE.ROTATE, MIDDLE: MOUSE.DOLLY, RIGHT: MOUSE.PAN }; + this.touches = { ONE: TOUCH.ROTATE, TWO: TOUCH.DOLLY_PAN }; + this.target0 = this.target.clone(); + this.position0 = this.object.position.clone(); + this.zoom0 = this.object.zoom; + this._domElementKeyEvents = null; + this._lastPosition = new Vector3(); + this._lastQuaternion = new Quaternion(); + this._lastTargetPosition = new Vector3(); + this._quat = new Quaternion().setFromUnitVectors(object.up, new Vector3(0, 1, 0)); + this._quatInverse = this._quat.clone().invert(); + this._spherical = new Spherical(); + this._sphericalDelta = new Spherical(); + this._scale = 1; + this._panOffset = new Vector3(); + this._rotateStart = new Vector2(); + this._rotateEnd = new Vector2(); + this._rotateDelta = new Vector2(); + this._panStart = new Vector2(); + this._panEnd = new Vector2(); + this._panDelta = new Vector2(); + this._dollyStart = new Vector2(); + this._dollyEnd = new Vector2(); + this._dollyDelta = new Vector2(); + this._dollyDirection = new Vector3(); + this._mouse = new Vector2(); + this._performCursorZoom = false; + this._pointers = []; + this._pointerPositions = {}; + this._controlActive = false; + this._onPointerMove = onPointerMove.bind(this); + this._onPointerDown = onPointerDown.bind(this); + this._onPointerUp = onPointerUp.bind(this); + this._onContextMenu = onContextMenu.bind(this); + this._onMouseWheel = onMouseWheel.bind(this); + this._onKeyDown = onKeyDown.bind(this); + this._onTouchStart = onTouchStart.bind(this); + this._onTouchMove = onTouchMove.bind(this); + this._onMouseDown = onMouseDown.bind(this); + this._onMouseMove = onMouseMove.bind(this); + this._interceptControlDown = interceptControlDown.bind(this); + this._interceptControlUp = interceptControlUp.bind(this); + if (this.domElement !== null) { + this.connect(); + } + this.update(); + } + connect() { + this.domElement.addEventListener("pointerdown", this._onPointerDown); + this.domElement.addEventListener("pointercancel", this._onPointerUp); + this.domElement.addEventListener("contextmenu", this._onContextMenu); + this.domElement.addEventListener("wheel", this._onMouseWheel, { passive: false }); + const document2 = this.domElement.getRootNode(); + document2.addEventListener("keydown", this._interceptControlDown, { passive: true, capture: true }); + this.domElement.style.touchAction = "none"; + } + disconnect() { + this.domElement.removeEventListener("pointerdown", this._onPointerDown); + this.domElement.removeEventListener("pointermove", this._onPointerMove); + this.domElement.removeEventListener("pointerup", this._onPointerUp); + this.domElement.removeEventListener("pointercancel", this._onPointerUp); + this.domElement.removeEventListener("wheel", this._onMouseWheel); + this.domElement.removeEventListener("contextmenu", this._onContextMenu); + this.stopListenToKeyEvents(); + const document2 = this.domElement.getRootNode(); + document2.removeEventListener("keydown", this._interceptControlDown, { capture: true }); + this.domElement.style.touchAction = "auto"; + } + dispose() { + this.disconnect(); + } + getPolarAngle() { + return this._spherical.phi; + } + getAzimuthalAngle() { + return this._spherical.theta; + } + getDistance() { + return this.object.position.distanceTo(this.target); + } + listenToKeyEvents(domElement) { + domElement.addEventListener("keydown", this._onKeyDown); + this._domElementKeyEvents = domElement; + } + stopListenToKeyEvents() { + if (this._domElementKeyEvents !== null) { + this._domElementKeyEvents.removeEventListener("keydown", this._onKeyDown); + this._domElementKeyEvents = null; + } + } + saveState() { + this.target0.copy(this.target); + this.position0.copy(this.object.position); + this.zoom0 = this.object.zoom; + } + reset() { + this.target.copy(this.target0); + this.object.position.copy(this.position0); + this.object.zoom = this.zoom0; + this.object.updateProjectionMatrix(); + this.dispatchEvent(_changeEvent); + this.update(); + this.state = _STATE.NONE; + } + update(deltaTime = null) { + const position = this.object.position; + _v.copy(position).sub(this.target); + _v.applyQuaternion(this._quat); + this._spherical.setFromVector3(_v); + if (this.autoRotate && this.state === _STATE.NONE) { + this._rotateLeft(this._getAutoRotationAngle(deltaTime)); + } + if (this.enableDamping) { + this._spherical.theta += this._sphericalDelta.theta * this.dampingFactor; + this._spherical.phi += this._sphericalDelta.phi * this.dampingFactor; + } else { + this._spherical.theta += this._sphericalDelta.theta; + this._spherical.phi += this._sphericalDelta.phi; + } + let min = this.minAzimuthAngle; + let max2 = this.maxAzimuthAngle; + if (isFinite(min) && isFinite(max2)) { + if (min < -Math.PI) min += _twoPI; + else if (min > Math.PI) min -= _twoPI; + if (max2 < -Math.PI) max2 += _twoPI; + else if (max2 > Math.PI) max2 -= _twoPI; + if (min <= max2) { + this._spherical.theta = Math.max(min, Math.min(max2, this._spherical.theta)); + } else { + this._spherical.theta = this._spherical.theta > (min + max2) / 2 ? Math.max(min, this._spherical.theta) : Math.min(max2, this._spherical.theta); + } + } + this._spherical.phi = Math.max(this.minPolarAngle, Math.min(this.maxPolarAngle, this._spherical.phi)); + this._spherical.makeSafe(); + if (this.enableDamping === true) { + this.target.addScaledVector(this._panOffset, this.dampingFactor); + } else { + this.target.add(this._panOffset); + } + this.target.sub(this.cursor); + this.target.clampLength(this.minTargetRadius, this.maxTargetRadius); + this.target.add(this.cursor); + let zoomChanged = false; + if (this.zoomToCursor && this._performCursorZoom || this.object.isOrthographicCamera) { + this._spherical.radius = this._clampDistance(this._spherical.radius); + } else { + const prevRadius = this._spherical.radius; + this._spherical.radius = this._clampDistance(this._spherical.radius * this._scale); + zoomChanged = prevRadius != this._spherical.radius; + } + _v.setFromSpherical(this._spherical); + _v.applyQuaternion(this._quatInverse); + position.copy(this.target).add(_v); + this.object.lookAt(this.target); + if (this.enableDamping === true) { + this._sphericalDelta.theta *= 1 - this.dampingFactor; + this._sphericalDelta.phi *= 1 - this.dampingFactor; + this._panOffset.multiplyScalar(1 - this.dampingFactor); + } else { + this._sphericalDelta.set(0, 0, 0); + this._panOffset.set(0, 0, 0); + } + if (this.zoomToCursor && this._performCursorZoom) { + let newRadius = null; + if (this.object.isPerspectiveCamera) { + const prevRadius = _v.length(); + newRadius = this._clampDistance(prevRadius * this._scale); + const radiusDelta = prevRadius - newRadius; + this.object.position.addScaledVector(this._dollyDirection, radiusDelta); + this.object.updateMatrixWorld(); + zoomChanged = !!radiusDelta; + } else if (this.object.isOrthographicCamera) { + const mouseBefore = new Vector3(this._mouse.x, this._mouse.y, 0); + mouseBefore.unproject(this.object); + const prevZoom = this.object.zoom; + this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)); + this.object.updateProjectionMatrix(); + zoomChanged = prevZoom !== this.object.zoom; + const mouseAfter = new Vector3(this._mouse.x, this._mouse.y, 0); + mouseAfter.unproject(this.object); + this.object.position.sub(mouseAfter).add(mouseBefore); + this.object.updateMatrixWorld(); + newRadius = _v.length(); + } else { + console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."); + this.zoomToCursor = false; + } + if (newRadius !== null) { + if (this.screenSpacePanning) { + this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(newRadius).add(this.object.position); + } else { + _ray.origin.copy(this.object.position); + _ray.direction.set(0, 0, -1).transformDirection(this.object.matrix); + if (Math.abs(this.object.up.dot(_ray.direction)) < _TILT_LIMIT) { + this.object.lookAt(this.target); + } else { + _plane.setFromNormalAndCoplanarPoint(this.object.up, this.target); + _ray.intersectPlane(_plane, this.target); + } + } + } + } else if (this.object.isOrthographicCamera) { + const prevZoom = this.object.zoom; + this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)); + if (prevZoom !== this.object.zoom) { + this.object.updateProjectionMatrix(); + zoomChanged = true; + } + } + this._scale = 1; + this._performCursorZoom = false; + if (zoomChanged || this._lastPosition.distanceToSquared(this.object.position) > _EPS || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > _EPS || this._lastTargetPosition.distanceToSquared(this.target) > _EPS) { + this.dispatchEvent(_changeEvent); + this._lastPosition.copy(this.object.position); + this._lastQuaternion.copy(this.object.quaternion); + this._lastTargetPosition.copy(this.target); + return true; + } + return false; + } + _getAutoRotationAngle(deltaTime) { + if (deltaTime !== null) { + return _twoPI / 60 * this.autoRotateSpeed * deltaTime; + } else { + return _twoPI / 60 / 60 * this.autoRotateSpeed; + } + } + _getZoomScale(delta) { + const normalizedDelta = Math.abs(delta * 0.01); + return Math.pow(0.95, this.zoomSpeed * normalizedDelta); + } + _rotateLeft(angle) { + this._sphericalDelta.theta -= angle; + } + _rotateUp(angle) { + this._sphericalDelta.phi -= angle; + } + _panLeft(distance, objectMatrix) { + _v.setFromMatrixColumn(objectMatrix, 0); + _v.multiplyScalar(-distance); + this._panOffset.add(_v); + } + _panUp(distance, objectMatrix) { + if (this.screenSpacePanning === true) { + _v.setFromMatrixColumn(objectMatrix, 1); + } else { + _v.setFromMatrixColumn(objectMatrix, 0); + _v.crossVectors(this.object.up, _v); + } + _v.multiplyScalar(distance); + this._panOffset.add(_v); + } + // deltaX and deltaY are in pixels; right and down are positive + _pan(deltaX, deltaY) { + const element = this.domElement; + if (this.object.isPerspectiveCamera) { + const position = this.object.position; + _v.copy(position).sub(this.target); + let targetDistance = _v.length(); + targetDistance *= Math.tan(this.object.fov / 2 * Math.PI / 180); + this._panLeft(2 * deltaX * targetDistance / element.clientHeight, this.object.matrix); + this._panUp(2 * deltaY * targetDistance / element.clientHeight, this.object.matrix); + } else if (this.object.isOrthographicCamera) { + this._panLeft(deltaX * (this.object.right - this.object.left) / this.object.zoom / element.clientWidth, this.object.matrix); + this._panUp(deltaY * (this.object.top - this.object.bottom) / this.object.zoom / element.clientHeight, this.object.matrix); + } else { + console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."); + this.enablePan = false; + } + } + _dollyOut(dollyScale) { + if (this.object.isPerspectiveCamera || this.object.isOrthographicCamera) { + this._scale /= dollyScale; + } else { + console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."); + this.enableZoom = false; + } + } + _dollyIn(dollyScale) { + if (this.object.isPerspectiveCamera || this.object.isOrthographicCamera) { + this._scale *= dollyScale; + } else { + console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."); + this.enableZoom = false; + } + } + _updateZoomParameters(x, y) { + if (!this.zoomToCursor) { + return; + } + this._performCursorZoom = true; + const rect = this.domElement.getBoundingClientRect(); + const dx = x - rect.left; + const dy = y - rect.top; + const w = rect.width; + const h = rect.height; + this._mouse.x = dx / w * 2 - 1; + this._mouse.y = -(dy / h) * 2 + 1; + this._dollyDirection.set(this._mouse.x, this._mouse.y, 1).unproject(this.object).sub(this.object.position).normalize(); + } + _clampDistance(dist) { + return Math.max(this.minDistance, Math.min(this.maxDistance, dist)); + } + // + // event callbacks - update the object state + // + _handleMouseDownRotate(event) { + this._rotateStart.set(event.clientX, event.clientY); + } + _handleMouseDownDolly(event) { + this._updateZoomParameters(event.clientX, event.clientX); + this._dollyStart.set(event.clientX, event.clientY); + } + _handleMouseDownPan(event) { + this._panStart.set(event.clientX, event.clientY); + } + _handleMouseMoveRotate(event) { + this._rotateEnd.set(event.clientX, event.clientY); + this._rotateDelta.subVectors(this._rotateEnd, this._rotateStart).multiplyScalar(this.rotateSpeed); + const element = this.domElement; + this._rotateLeft(_twoPI * this._rotateDelta.x / element.clientHeight); + this._rotateUp(_twoPI * this._rotateDelta.y / element.clientHeight); + this._rotateStart.copy(this._rotateEnd); + this.update(); + } + _handleMouseMoveDolly(event) { + this._dollyEnd.set(event.clientX, event.clientY); + this._dollyDelta.subVectors(this._dollyEnd, this._dollyStart); + if (this._dollyDelta.y > 0) { + this._dollyOut(this._getZoomScale(this._dollyDelta.y)); + } else if (this._dollyDelta.y < 0) { + this._dollyIn(this._getZoomScale(this._dollyDelta.y)); + } + this._dollyStart.copy(this._dollyEnd); + this.update(); + } + _handleMouseMovePan(event) { + this._panEnd.set(event.clientX, event.clientY); + this._panDelta.subVectors(this._panEnd, this._panStart).multiplyScalar(this.panSpeed); + this._pan(this._panDelta.x, this._panDelta.y); + this._panStart.copy(this._panEnd); + this.update(); + } + _handleMouseWheel(event) { + this._updateZoomParameters(event.clientX, event.clientY); + if (event.deltaY < 0) { + this._dollyIn(this._getZoomScale(event.deltaY)); + } else if (event.deltaY > 0) { + this._dollyOut(this._getZoomScale(event.deltaY)); + } + this.update(); + } + _handleKeyDown(event) { + let needsUpdate = false; + switch (event.code) { + case this.keys.UP: + if (event.ctrlKey || event.metaKey || event.shiftKey) { + this._rotateUp(_twoPI * this.rotateSpeed / this.domElement.clientHeight); + } else { + this._pan(0, this.keyPanSpeed); + } + needsUpdate = true; + break; + case this.keys.BOTTOM: + if (event.ctrlKey || event.metaKey || event.shiftKey) { + this._rotateUp(-_twoPI * this.rotateSpeed / this.domElement.clientHeight); + } else { + this._pan(0, -this.keyPanSpeed); + } + needsUpdate = true; + break; + case this.keys.LEFT: + if (event.ctrlKey || event.metaKey || event.shiftKey) { + this._rotateLeft(_twoPI * this.rotateSpeed / this.domElement.clientHeight); + } else { + this._pan(this.keyPanSpeed, 0); + } + needsUpdate = true; + break; + case this.keys.RIGHT: + if (event.ctrlKey || event.metaKey || event.shiftKey) { + this._rotateLeft(-_twoPI * this.rotateSpeed / this.domElement.clientHeight); + } else { + this._pan(-this.keyPanSpeed, 0); + } + needsUpdate = true; + break; + } + if (needsUpdate) { + event.preventDefault(); + this.update(); + } + } + _handleTouchStartRotate(event) { + if (this._pointers.length === 1) { + this._rotateStart.set(event.pageX, event.pageY); + } else { + const position = this._getSecondPointerPosition(event); + const x = 0.5 * (event.pageX + position.x); + const y = 0.5 * (event.pageY + position.y); + this._rotateStart.set(x, y); + } + } + _handleTouchStartPan(event) { + if (this._pointers.length === 1) { + this._panStart.set(event.pageX, event.pageY); + } else { + const position = this._getSecondPointerPosition(event); + const x = 0.5 * (event.pageX + position.x); + const y = 0.5 * (event.pageY + position.y); + this._panStart.set(x, y); + } + } + _handleTouchStartDolly(event) { + const position = this._getSecondPointerPosition(event); + const dx = event.pageX - position.x; + const dy = event.pageY - position.y; + const distance = Math.sqrt(dx * dx + dy * dy); + this._dollyStart.set(0, distance); + } + _handleTouchStartDollyPan(event) { + if (this.enableZoom) this._handleTouchStartDolly(event); + if (this.enablePan) this._handleTouchStartPan(event); + } + _handleTouchStartDollyRotate(event) { + if (this.enableZoom) this._handleTouchStartDolly(event); + if (this.enableRotate) this._handleTouchStartRotate(event); + } + _handleTouchMoveRotate(event) { + if (this._pointers.length == 1) { + this._rotateEnd.set(event.pageX, event.pageY); + } else { + const position = this._getSecondPointerPosition(event); + const x = 0.5 * (event.pageX + position.x); + const y = 0.5 * (event.pageY + position.y); + this._rotateEnd.set(x, y); + } + this._rotateDelta.subVectors(this._rotateEnd, this._rotateStart).multiplyScalar(this.rotateSpeed); + const element = this.domElement; + this._rotateLeft(_twoPI * this._rotateDelta.x / element.clientHeight); + this._rotateUp(_twoPI * this._rotateDelta.y / element.clientHeight); + this._rotateStart.copy(this._rotateEnd); + } + _handleTouchMovePan(event) { + if (this._pointers.length === 1) { + this._panEnd.set(event.pageX, event.pageY); + } else { + const position = this._getSecondPointerPosition(event); + const x = 0.5 * (event.pageX + position.x); + const y = 0.5 * (event.pageY + position.y); + this._panEnd.set(x, y); + } + this._panDelta.subVectors(this._panEnd, this._panStart).multiplyScalar(this.panSpeed); + this._pan(this._panDelta.x, this._panDelta.y); + this._panStart.copy(this._panEnd); + } + _handleTouchMoveDolly(event) { + const position = this._getSecondPointerPosition(event); + const dx = event.pageX - position.x; + const dy = event.pageY - position.y; + const distance = Math.sqrt(dx * dx + dy * dy); + this._dollyEnd.set(0, distance); + this._dollyDelta.set(0, Math.pow(this._dollyEnd.y / this._dollyStart.y, this.zoomSpeed)); + this._dollyOut(this._dollyDelta.y); + this._dollyStart.copy(this._dollyEnd); + const centerX = (event.pageX + position.x) * 0.5; + const centerY = (event.pageY + position.y) * 0.5; + this._updateZoomParameters(centerX, centerY); + } + _handleTouchMoveDollyPan(event) { + if (this.enableZoom) this._handleTouchMoveDolly(event); + if (this.enablePan) this._handleTouchMovePan(event); + } + _handleTouchMoveDollyRotate(event) { + if (this.enableZoom) this._handleTouchMoveDolly(event); + if (this.enableRotate) this._handleTouchMoveRotate(event); + } + // pointers + _addPointer(event) { + this._pointers.push(event.pointerId); + } + _removePointer(event) { + delete this._pointerPositions[event.pointerId]; + for (let i = 0; i < this._pointers.length; i++) { + if (this._pointers[i] == event.pointerId) { + this._pointers.splice(i, 1); + return; + } + } + } + _isTrackingPointer(event) { + for (let i = 0; i < this._pointers.length; i++) { + if (this._pointers[i] == event.pointerId) return true; + } + return false; + } + _trackPointer(event) { + let position = this._pointerPositions[event.pointerId]; + if (position === void 0) { + position = new Vector2(); + this._pointerPositions[event.pointerId] = position; + } + position.set(event.pageX, event.pageY); + } + _getSecondPointerPosition(event) { + const pointerId = event.pointerId === this._pointers[0] ? this._pointers[1] : this._pointers[0]; + return this._pointerPositions[pointerId]; + } + // + _customWheelEvent(event) { + const mode = event.deltaMode; + const newEvent = { + clientX: event.clientX, + clientY: event.clientY, + deltaY: event.deltaY + }; + switch (mode) { + case 1: + newEvent.deltaY *= 16; + break; + case 2: + newEvent.deltaY *= 100; + break; + } + if (event.ctrlKey && !this._controlActive) { + newEvent.deltaY *= 10; + } + return newEvent; + } +} +function onPointerDown(event) { + if (this.enabled === false) return; + if (this._pointers.length === 0) { + this.domElement.setPointerCapture(event.pointerId); + this.domElement.addEventListener("pointermove", this._onPointerMove); + this.domElement.addEventListener("pointerup", this._onPointerUp); + } + if (this._isTrackingPointer(event)) return; + this._addPointer(event); + if (event.pointerType === "touch") { + this._onTouchStart(event); + } else { + this._onMouseDown(event); + } +} +__name(onPointerDown, "onPointerDown"); +function onPointerMove(event) { + if (this.enabled === false) return; + if (event.pointerType === "touch") { + this._onTouchMove(event); + } else { + this._onMouseMove(event); + } +} +__name(onPointerMove, "onPointerMove"); +function onPointerUp(event) { + this._removePointer(event); + switch (this._pointers.length) { + case 0: + this.domElement.releasePointerCapture(event.pointerId); + this.domElement.removeEventListener("pointermove", this._onPointerMove); + this.domElement.removeEventListener("pointerup", this._onPointerUp); + this.dispatchEvent(_endEvent); + this.state = _STATE.NONE; + break; + case 1: + const pointerId = this._pointers[0]; + const position = this._pointerPositions[pointerId]; + this._onTouchStart({ pointerId, pageX: position.x, pageY: position.y }); + break; + } +} +__name(onPointerUp, "onPointerUp"); +function onMouseDown(event) { + let mouseAction; + switch (event.button) { + case 0: + mouseAction = this.mouseButtons.LEFT; + break; + case 1: + mouseAction = this.mouseButtons.MIDDLE; + break; + case 2: + mouseAction = this.mouseButtons.RIGHT; + break; + default: + mouseAction = -1; + } + switch (mouseAction) { + case MOUSE.DOLLY: + if (this.enableZoom === false) return; + this._handleMouseDownDolly(event); + this.state = _STATE.DOLLY; + break; + case MOUSE.ROTATE: + if (event.ctrlKey || event.metaKey || event.shiftKey) { + if (this.enablePan === false) return; + this._handleMouseDownPan(event); + this.state = _STATE.PAN; + } else { + if (this.enableRotate === false) return; + this._handleMouseDownRotate(event); + this.state = _STATE.ROTATE; + } + break; + case MOUSE.PAN: + if (event.ctrlKey || event.metaKey || event.shiftKey) { + if (this.enableRotate === false) return; + this._handleMouseDownRotate(event); + this.state = _STATE.ROTATE; + } else { + if (this.enablePan === false) return; + this._handleMouseDownPan(event); + this.state = _STATE.PAN; + } + break; + default: + this.state = _STATE.NONE; + } + if (this.state !== _STATE.NONE) { + this.dispatchEvent(_startEvent); + } +} +__name(onMouseDown, "onMouseDown"); +function onMouseMove(event) { + switch (this.state) { + case _STATE.ROTATE: + if (this.enableRotate === false) return; + this._handleMouseMoveRotate(event); + break; + case _STATE.DOLLY: + if (this.enableZoom === false) return; + this._handleMouseMoveDolly(event); + break; + case _STATE.PAN: + if (this.enablePan === false) return; + this._handleMouseMovePan(event); + break; + } +} +__name(onMouseMove, "onMouseMove"); +function onMouseWheel(event) { + if (this.enabled === false || this.enableZoom === false || this.state !== _STATE.NONE) return; + event.preventDefault(); + this.dispatchEvent(_startEvent); + this._handleMouseWheel(this._customWheelEvent(event)); + this.dispatchEvent(_endEvent); +} +__name(onMouseWheel, "onMouseWheel"); +function onKeyDown(event) { + if (this.enabled === false || this.enablePan === false) return; + this._handleKeyDown(event); +} +__name(onKeyDown, "onKeyDown"); +function onTouchStart(event) { + this._trackPointer(event); + switch (this._pointers.length) { + case 1: + switch (this.touches.ONE) { + case TOUCH.ROTATE: + if (this.enableRotate === false) return; + this._handleTouchStartRotate(event); + this.state = _STATE.TOUCH_ROTATE; + break; + case TOUCH.PAN: + if (this.enablePan === false) return; + this._handleTouchStartPan(event); + this.state = _STATE.TOUCH_PAN; + break; + default: + this.state = _STATE.NONE; + } + break; + case 2: + switch (this.touches.TWO) { + case TOUCH.DOLLY_PAN: + if (this.enableZoom === false && this.enablePan === false) return; + this._handleTouchStartDollyPan(event); + this.state = _STATE.TOUCH_DOLLY_PAN; + break; + case TOUCH.DOLLY_ROTATE: + if (this.enableZoom === false && this.enableRotate === false) return; + this._handleTouchStartDollyRotate(event); + this.state = _STATE.TOUCH_DOLLY_ROTATE; + break; + default: + this.state = _STATE.NONE; + } + break; + default: + this.state = _STATE.NONE; + } + if (this.state !== _STATE.NONE) { + this.dispatchEvent(_startEvent); + } +} +__name(onTouchStart, "onTouchStart"); +function onTouchMove(event) { + this._trackPointer(event); + switch (this.state) { + case _STATE.TOUCH_ROTATE: + if (this.enableRotate === false) return; + this._handleTouchMoveRotate(event); + this.update(); + break; + case _STATE.TOUCH_PAN: + if (this.enablePan === false) return; + this._handleTouchMovePan(event); + this.update(); + break; + case _STATE.TOUCH_DOLLY_PAN: + if (this.enableZoom === false && this.enablePan === false) return; + this._handleTouchMoveDollyPan(event); + this.update(); + break; + case _STATE.TOUCH_DOLLY_ROTATE: + if (this.enableZoom === false && this.enableRotate === false) return; + this._handleTouchMoveDollyRotate(event); + this.update(); + break; + default: + this.state = _STATE.NONE; + } +} +__name(onTouchMove, "onTouchMove"); +function onContextMenu(event) { + if (this.enabled === false) return; + event.preventDefault(); +} +__name(onContextMenu, "onContextMenu"); +function interceptControlDown(event) { + if (event.key === "Control") { + this._controlActive = true; + const document2 = this.domElement.getRootNode(); + document2.addEventListener("keyup", this._interceptControlUp, { passive: true, capture: true }); + } +} +__name(interceptControlDown, "interceptControlDown"); +function interceptControlUp(event) { + if (event.key === "Control") { + this._controlActive = false; + const document2 = this.domElement.getRootNode(); + document2.removeEventListener("keyup", this._interceptControlUp, { passive: true, capture: true }); + } +} +__name(interceptControlUp, "interceptControlUp"); +/*! +fflate - fast JavaScript compression/decompression + +Licensed under MIT. https://github.com/101arrowz/fflate/blob/master/LICENSE +version 0.8.2 +*/ +var ch2 = {}; +var wk = /* @__PURE__ */ __name(function(c, id2, msg, transfer, cb) { + var w = new Worker(ch2[id2] || (ch2[id2] = URL.createObjectURL(new Blob([ + c + ';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})' + ], { type: "text/javascript" })))); + w.onmessage = function(e) { + var d = e.data, ed = d.$e$; + if (ed) { + var err2 = new Error(ed[0]); + err2["code"] = ed[1]; + err2.stack = ed[2]; + cb(err2, null); + } else + cb(null, d); + }; + w.postMessage(msg, transfer); + return w; +}, "wk"); +var u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array; +var fleb = new u8([ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 2, + 2, + 2, + 2, + 3, + 3, + 3, + 3, + 4, + 4, + 4, + 4, + 5, + 5, + 5, + 5, + 0, + /* unused */ + 0, + 0, + /* impossible */ + 0 +]); +var fdeb = new u8([ + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 2, + 3, + 3, + 4, + 4, + 5, + 5, + 6, + 6, + 7, + 7, + 8, + 8, + 9, + 9, + 10, + 10, + 11, + 11, + 12, + 12, + 13, + 13, + /* unused */ + 0, + 0 +]); +var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]); +var freb = /* @__PURE__ */ __name(function(eb, start) { + var b = new u16(31); + for (var i = 0; i < 31; ++i) { + b[i] = start += 1 << eb[i - 1]; + } + var r = new i32(b[30]); + for (var i = 1; i < 30; ++i) { + for (var j = b[i]; j < b[i + 1]; ++j) { + r[j] = j - b[i] << 5 | i; + } + } + return { b, r }; +}, "freb"); +var _a = freb(fleb, 2), fl = _a.b, revfl = _a.r; +fl[28] = 258, revfl[258] = 28; +var _b = freb(fdeb, 0), fd = _b.b, revfd = _b.r; +var rev = new u16(32768); +for (var i = 0; i < 32768; ++i) { + var x = (i & 43690) >> 1 | (i & 21845) << 1; + x = (x & 52428) >> 2 | (x & 13107) << 2; + x = (x & 61680) >> 4 | (x & 3855) << 4; + rev[i] = ((x & 65280) >> 8 | (x & 255) << 8) >> 1; +} +var hMap = /* @__PURE__ */ __name(function(cd, mb, r) { + var s = cd.length; + var i = 0; + var l = new u16(mb); + for (; i < s; ++i) { + if (cd[i]) + ++l[cd[i] - 1]; + } + var le = new u16(mb); + for (i = 1; i < mb; ++i) { + le[i] = le[i - 1] + l[i - 1] << 1; + } + var co; + if (r) { + co = new u16(1 << mb); + var rvb = 15 - mb; + for (i = 0; i < s; ++i) { + if (cd[i]) { + var sv = i << 4 | cd[i]; + var r_1 = mb - cd[i]; + var v = le[cd[i] - 1]++ << r_1; + for (var m = v | (1 << r_1) - 1; v <= m; ++v) { + co[rev[v] >> rvb] = sv; + } + } + } + } else { + co = new u16(s); + for (i = 0; i < s; ++i) { + if (cd[i]) { + co[i] = rev[le[cd[i] - 1]++] >> 15 - cd[i]; + } + } + } + return co; +}, "hMap"); +var flt = new u8(288); +for (var i = 0; i < 144; ++i) + flt[i] = 8; +for (var i = 144; i < 256; ++i) + flt[i] = 9; +for (var i = 256; i < 280; ++i) + flt[i] = 7; +for (var i = 280; i < 288; ++i) + flt[i] = 8; +var fdt = new u8(32); +for (var i = 0; i < 32; ++i) + fdt[i] = 5; +var flm = /* @__PURE__ */ hMap(flt, 9, 0), flrm = /* @__PURE__ */ hMap(flt, 9, 1); +var fdm = /* @__PURE__ */ hMap(fdt, 5, 0), fdrm = /* @__PURE__ */ hMap(fdt, 5, 1); +var max = /* @__PURE__ */ __name(function(a) { + var m = a[0]; + for (var i = 1; i < a.length; ++i) { + if (a[i] > m) + m = a[i]; + } + return m; +}, "max"); +var bits = /* @__PURE__ */ __name(function(d, p, m) { + var o = p / 8 | 0; + return (d[o] | d[o + 1] << 8) >> (p & 7) & m; +}, "bits"); +var bits16 = /* @__PURE__ */ __name(function(d, p) { + var o = p / 8 | 0; + return (d[o] | d[o + 1] << 8 | d[o + 2] << 16) >> (p & 7); +}, "bits16"); +var shft = /* @__PURE__ */ __name(function(p) { + return (p + 7) / 8 | 0; +}, "shft"); +var slc = /* @__PURE__ */ __name(function(v, s, e) { + if (s == null || s < 0) + s = 0; + if (e == null || e > v.length) + e = v.length; + return new u8(v.subarray(s, e)); +}, "slc"); +var FlateErrorCode = { + UnexpectedEOF: 0, + InvalidBlockType: 1, + InvalidLengthLiteral: 2, + InvalidDistance: 3, + StreamFinished: 4, + NoStreamHandler: 5, + InvalidHeader: 6, + NoCallback: 7, + InvalidUTF8: 8, + ExtraFieldTooLong: 9, + InvalidDate: 10, + FilenameTooLong: 11, + StreamFinishing: 12, + InvalidZipData: 13, + UnknownCompressionMethod: 14 +}; +var ec = [ + "unexpected EOF", + "invalid block type", + "invalid length/literal", + "invalid distance", + "stream finished", + "no stream handler", + , + "no callback", + "invalid UTF-8 data", + "extra field too long", + "date not in range 1980-2099", + "filename too long", + "stream finishing", + "invalid zip data" + // determined by unknown compression method +]; +; +var err = /* @__PURE__ */ __name(function(ind, msg, nt) { + var e = new Error(msg || ec[ind]); + e.code = ind; + if (Error.captureStackTrace) + Error.captureStackTrace(e, err); + if (!nt) + throw e; + return e; +}, "err"); +var inflt = /* @__PURE__ */ __name(function(dat, st, buf, dict) { + var sl = dat.length, dl = dict ? dict.length : 0; + if (!sl || st.f && !st.l) + return buf || new u8(0); + var noBuf = !buf; + var resize = noBuf || st.i != 2; + var noSt = st.i; + if (noBuf) + buf = new u8(sl * 3); + var cbuf = /* @__PURE__ */ __name(function(l2) { + var bl = buf.length; + if (l2 > bl) { + var nbuf = new u8(Math.max(bl * 2, l2)); + nbuf.set(buf); + buf = nbuf; + } + }, "cbuf"); + var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n; + var tbts = sl * 8; + do { + if (!lm) { + final = bits(dat, pos, 1); + var type = bits(dat, pos + 1, 3); + pos += 3; + if (!type) { + var s = shft(pos) + 4, l = dat[s - 4] | dat[s - 3] << 8, t2 = s + l; + if (t2 > sl) { + if (noSt) + err(0); + break; + } + if (resize) + cbuf(bt + l); + buf.set(dat.subarray(s, t2), bt); + st.b = bt += l, st.p = pos = t2 * 8, st.f = final; + continue; + } else if (type == 1) + lm = flrm, dm = fdrm, lbt = 9, dbt = 5; + else if (type == 2) { + var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4; + var tl = hLit + bits(dat, pos + 5, 31) + 1; + pos += 14; + var ldt = new u8(tl); + var clt = new u8(19); + for (var i = 0; i < hcLen; ++i) { + clt[clim[i]] = bits(dat, pos + i * 3, 7); + } + pos += hcLen * 3; + var clb = max(clt), clbmsk = (1 << clb) - 1; + var clm = hMap(clt, clb, 1); + for (var i = 0; i < tl; ) { + var r = clm[bits(dat, pos, clbmsk)]; + pos += r & 15; + var s = r >> 4; + if (s < 16) { + ldt[i++] = s; + } else { + var c = 0, n = 0; + if (s == 16) + n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1]; + else if (s == 17) + n = 3 + bits(dat, pos, 7), pos += 3; + else if (s == 18) + n = 11 + bits(dat, pos, 127), pos += 7; + while (n--) + ldt[i++] = c; + } + } + var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit); + lbt = max(lt); + dbt = max(dt); + lm = hMap(lt, lbt, 1); + dm = hMap(dt, dbt, 1); + } else + err(1); + if (pos > tbts) { + if (noSt) + err(0); + break; + } + } + if (resize) + cbuf(bt + 131072); + var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1; + var lpos = pos; + for (; ; lpos = pos) { + var c = lm[bits16(dat, pos) & lms], sym = c >> 4; + pos += c & 15; + if (pos > tbts) { + if (noSt) + err(0); + break; + } + if (!c) + err(2); + if (sym < 256) + buf[bt++] = sym; + else if (sym == 256) { + lpos = pos, lm = null; + break; + } else { + var add = sym - 254; + if (sym > 264) { + var i = sym - 257, b = fleb[i]; + add = bits(dat, pos, (1 << b) - 1) + fl[i]; + pos += b; + } + var d = dm[bits16(dat, pos) & dms], dsym = d >> 4; + if (!d) + err(3); + pos += d & 15; + var dt = fd[dsym]; + if (dsym > 3) { + var b = fdeb[dsym]; + dt += bits16(dat, pos) & (1 << b) - 1, pos += b; + } + if (pos > tbts) { + if (noSt) + err(0); + break; + } + if (resize) + cbuf(bt + 131072); + var end = bt + add; + if (bt < dt) { + var shift = dl - dt, dend = Math.min(dt, end); + if (shift + bt < 0) + err(3); + for (; bt < dend; ++bt) + buf[bt] = dict[shift + bt]; + } + for (; bt < end; ++bt) + buf[bt] = buf[bt - dt]; + } + } + st.l = lm, st.p = lpos, st.b = bt, st.f = final; + if (lm) + final = 1, st.m = lbt, st.d = dm, st.n = dbt; + } while (!final); + return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt); +}, "inflt"); +var wbits = /* @__PURE__ */ __name(function(d, p, v) { + v <<= p & 7; + var o = p / 8 | 0; + d[o] |= v; + d[o + 1] |= v >> 8; +}, "wbits"); +var wbits16 = /* @__PURE__ */ __name(function(d, p, v) { + v <<= p & 7; + var o = p / 8 | 0; + d[o] |= v; + d[o + 1] |= v >> 8; + d[o + 2] |= v >> 16; +}, "wbits16"); +var hTree = /* @__PURE__ */ __name(function(d, mb) { + var t2 = []; + for (var i = 0; i < d.length; ++i) { + if (d[i]) + t2.push({ s: i, f: d[i] }); + } + var s = t2.length; + var t22 = t2.slice(); + if (!s) + return { t: et, l: 0 }; + if (s == 1) { + var v = new u8(t2[0].s + 1); + v[t2[0].s] = 1; + return { t: v, l: 1 }; + } + t2.sort(function(a, b) { + return a.f - b.f; + }); + t2.push({ s: -1, f: 25001 }); + var l = t2[0], r = t2[1], i0 = 0, i1 = 1, i2 = 2; + t2[0] = { s: -1, f: l.f + r.f, l, r }; + while (i1 != s - 1) { + l = t2[t2[i0].f < t2[i2].f ? i0++ : i2++]; + r = t2[i0 != i1 && t2[i0].f < t2[i2].f ? i0++ : i2++]; + t2[i1++] = { s: -1, f: l.f + r.f, l, r }; + } + var maxSym = t22[0].s; + for (var i = 1; i < s; ++i) { + if (t22[i].s > maxSym) + maxSym = t22[i].s; + } + var tr = new u16(maxSym + 1); + var mbt = ln(t2[i1 - 1], tr, 0); + if (mbt > mb) { + var i = 0, dt = 0; + var lft = mbt - mb, cst = 1 << lft; + t22.sort(function(a, b) { + return tr[b.s] - tr[a.s] || a.f - b.f; + }); + for (; i < s; ++i) { + var i2_1 = t22[i].s; + if (tr[i2_1] > mb) { + dt += cst - (1 << mbt - tr[i2_1]); + tr[i2_1] = mb; + } else + break; + } + dt >>= lft; + while (dt > 0) { + var i2_2 = t22[i].s; + if (tr[i2_2] < mb) + dt -= 1 << mb - tr[i2_2]++ - 1; + else + ++i; + } + for (; i >= 0 && dt; --i) { + var i2_3 = t22[i].s; + if (tr[i2_3] == mb) { + --tr[i2_3]; + ++dt; + } + } + mbt = mb; + } + return { t: new u8(tr), l: mbt }; +}, "hTree"); +var ln = /* @__PURE__ */ __name(function(n, l, d) { + return n.s == -1 ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1)) : l[n.s] = d; +}, "ln"); +var lc = /* @__PURE__ */ __name(function(c) { + var s = c.length; + while (s && !c[--s]) + ; + var cl = new u16(++s); + var cli = 0, cln = c[0], cls = 1; + var w = /* @__PURE__ */ __name(function(v) { + cl[cli++] = v; + }, "w"); + for (var i = 1; i <= s; ++i) { + if (c[i] == cln && i != s) + ++cls; + else { + if (!cln && cls > 2) { + for (; cls > 138; cls -= 138) + w(32754); + if (cls > 2) { + w(cls > 10 ? cls - 11 << 5 | 28690 : cls - 3 << 5 | 12305); + cls = 0; + } + } else if (cls > 3) { + w(cln), --cls; + for (; cls > 6; cls -= 6) + w(8304); + if (cls > 2) + w(cls - 3 << 5 | 8208), cls = 0; + } + while (cls--) + w(cln); + cls = 1; + cln = c[i]; + } + } + return { c: cl.subarray(0, cli), n: s }; +}, "lc"); +var clen = /* @__PURE__ */ __name(function(cf, cl) { + var l = 0; + for (var i = 0; i < cl.length; ++i) + l += cf[i] * cl[i]; + return l; +}, "clen"); +var wfblk = /* @__PURE__ */ __name(function(out, pos, dat) { + var s = dat.length; + var o = shft(pos + 2); + out[o] = s & 255; + out[o + 1] = s >> 8; + out[o + 2] = out[o] ^ 255; + out[o + 3] = out[o + 1] ^ 255; + for (var i = 0; i < s; ++i) + out[o + i + 4] = dat[i]; + return (o + 4 + s) * 8; +}, "wfblk"); +var wblk = /* @__PURE__ */ __name(function(dat, out, final, syms, lf, df, eb, li, bs, bl, p) { + wbits(out, p++, final); + ++lf[256]; + var _a2 = hTree(lf, 15), dlt = _a2.t, mlb = _a2.l; + var _b2 = hTree(df, 15), ddt = _b2.t, mdb = _b2.l; + var _c = lc(dlt), lclt = _c.c, nlc = _c.n; + var _d = lc(ddt), lcdt = _d.c, ndc = _d.n; + var lcfreq = new u16(19); + for (var i = 0; i < lclt.length; ++i) + ++lcfreq[lclt[i] & 31]; + for (var i = 0; i < lcdt.length; ++i) + ++lcfreq[lcdt[i] & 31]; + var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l; + var nlcc = 19; + for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc) + ; + var flen = bl + 5 << 3; + var ftlen = clen(lf, flt) + clen(df, fdt) + eb; + var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]; + if (bs >= 0 && flen <= ftlen && flen <= dtlen) + return wfblk(out, p, dat.subarray(bs, bs + bl)); + var lm, ll, dm, dl; + wbits(out, p, 1 + (dtlen < ftlen)), p += 2; + if (dtlen < ftlen) { + lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt; + var llm = hMap(lct, mlcb, 0); + wbits(out, p, nlc - 257); + wbits(out, p + 5, ndc - 1); + wbits(out, p + 10, nlcc - 4); + p += 14; + for (var i = 0; i < nlcc; ++i) + wbits(out, p + 3 * i, lct[clim[i]]); + p += 3 * nlcc; + var lcts = [lclt, lcdt]; + for (var it = 0; it < 2; ++it) { + var clct = lcts[it]; + for (var i = 0; i < clct.length; ++i) { + var len = clct[i] & 31; + wbits(out, p, llm[len]), p += lct[len]; + if (len > 15) + wbits(out, p, clct[i] >> 5 & 127), p += clct[i] >> 12; + } + } + } else { + lm = flm, ll = flt, dm = fdm, dl = fdt; + } + for (var i = 0; i < li; ++i) { + var sym = syms[i]; + if (sym > 255) { + var len = sym >> 18 & 31; + wbits16(out, p, lm[len + 257]), p += ll[len + 257]; + if (len > 7) + wbits(out, p, sym >> 23 & 31), p += fleb[len]; + var dst = sym & 31; + wbits16(out, p, dm[dst]), p += dl[dst]; + if (dst > 3) + wbits16(out, p, sym >> 5 & 8191), p += fdeb[dst]; + } else { + wbits16(out, p, lm[sym]), p += ll[sym]; + } + } + wbits16(out, p, lm[256]); + return p + ll[256]; +}, "wblk"); +var deo = /* @__PURE__ */ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]); +var et = /* @__PURE__ */ new u8(0); +var dflt = /* @__PURE__ */ __name(function(dat, lvl, plvl, pre, post, st) { + var s = st.z || dat.length; + var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7e3)) + post); + var w = o.subarray(pre, o.length - post); + var lst = st.l; + var pos = (st.r || 0) & 7; + if (lvl) { + if (pos) + w[0] = st.r >> 3; + var opt = deo[lvl - 1]; + var n = opt >> 13, c = opt & 8191; + var msk_1 = (1 << plvl) - 1; + var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1); + var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1; + var hsh = /* @__PURE__ */ __name(function(i2) { + return (dat[i2] ^ dat[i2 + 1] << bs1_1 ^ dat[i2 + 2] << bs2_1) & msk_1; + }, "hsh"); + var syms = new i32(25e3); + var lf = new u16(288), df = new u16(32); + var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0; + for (; i + 2 < s; ++i) { + var hv = hsh(i); + var imod = i & 32767, pimod = head[hv]; + prev[imod] = pimod; + head[hv] = imod; + if (wi <= i) { + var rem = s - i; + if ((lc_1 > 7e3 || li > 24576) && (rem > 423 || !lst)) { + pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos); + li = lc_1 = eb = 0, bs = i; + for (var j = 0; j < 286; ++j) + lf[j] = 0; + for (var j = 0; j < 30; ++j) + df[j] = 0; + } + var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767; + if (rem > 2 && hv == hsh(i - dif)) { + var maxn = Math.min(n, rem) - 1; + var maxd = Math.min(32767, i); + var ml = Math.min(258, rem); + while (dif <= maxd && --ch_1 && imod != pimod) { + if (dat[i + l] == dat[i + l - dif]) { + var nl = 0; + for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl) + ; + if (nl > l) { + l = nl, d = dif; + if (nl > maxn) + break; + var mmd = Math.min(dif, nl - 2); + var md = 0; + for (var j = 0; j < mmd; ++j) { + var ti = i - dif + j & 32767; + var pti = prev[ti]; + var cd = ti - pti & 32767; + if (cd > md) + md = cd, pimod = ti; + } + } + } + imod = pimod, pimod = prev[imod]; + dif += imod - pimod & 32767; + } + } + if (d) { + syms[li++] = 268435456 | revfl[l] << 18 | revfd[d]; + var lin = revfl[l] & 31, din = revfd[d] & 31; + eb += fleb[lin] + fdeb[din]; + ++lf[257 + lin]; + ++df[din]; + wi = i + l; + ++lc_1; + } else { + syms[li++] = dat[i]; + ++lf[dat[i]]; + } + } + } + for (i = Math.max(i, wi); i < s; ++i) { + syms[li++] = dat[i]; + ++lf[dat[i]]; + } + pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos); + if (!lst) { + st.r = pos & 7 | w[pos / 8 | 0] << 3; + pos -= 7; + st.h = head, st.p = prev, st.i = i, st.w = wi; + } + } else { + for (var i = st.w || 0; i < s + lst; i += 65535) { + var e = i + 65535; + if (e >= s) { + w[pos / 8 | 0] = lst; + e = s; + } + pos = wfblk(w, pos + 1, dat.subarray(i, e)); + } + st.i = s; + } + return slc(o, 0, pre + shft(pos) + post); +}, "dflt"); +var crct = /* @__PURE__ */ function() { + var t2 = new Int32Array(256); + for (var i = 0; i < 256; ++i) { + var c = i, k = 9; + while (--k) + c = (c & 1 && -306674912) ^ c >>> 1; + t2[i] = c; + } + return t2; +}(); +var crc = /* @__PURE__ */ __name(function() { + var c = -1; + return { + p: /* @__PURE__ */ __name(function(d) { + var cr = c; + for (var i = 0; i < d.length; ++i) + cr = crct[cr & 255 ^ d[i]] ^ cr >>> 8; + c = cr; + }, "p"), + d: /* @__PURE__ */ __name(function() { + return ~c; + }, "d") + }; +}, "crc"); +var adler = /* @__PURE__ */ __name(function() { + var a = 1, b = 0; + return { + p: /* @__PURE__ */ __name(function(d) { + var n = a, m = b; + var l = d.length | 0; + for (var i = 0; i != l; ) { + var e = Math.min(i + 2655, l); + for (; i < e; ++i) + m += n += d[i]; + n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16); + } + a = n, b = m; + }, "p"), + d: /* @__PURE__ */ __name(function() { + a %= 65521, b %= 65521; + return (a & 255) << 24 | (a & 65280) << 8 | (b & 255) << 8 | b >> 8; + }, "d") + }; +}, "adler"); +; +var dopt = /* @__PURE__ */ __name(function(dat, opt, pre, post, st) { + if (!st) { + st = { l: 1 }; + if (opt.dictionary) { + var dict = opt.dictionary.subarray(-32768); + var newDat = new u8(dict.length + dat.length); + newDat.set(dict); + newDat.set(dat, dict.length); + dat = newDat; + st.w = dict.length; + } + } + return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? st.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20 : 12 + opt.mem, pre, post, st); +}, "dopt"); +var mrg = /* @__PURE__ */ __name(function(a, b) { + var o = {}; + for (var k in a) + o[k] = a[k]; + for (var k in b) + o[k] = b[k]; + return o; +}, "mrg"); +var wcln = /* @__PURE__ */ __name(function(fn, fnStr, td2) { + var dt = fn(); + var st = fn.toString(); + var ks = st.slice(st.indexOf("[") + 1, st.lastIndexOf("]")).replace(/\s+/g, "").split(","); + for (var i = 0; i < dt.length; ++i) { + var v = dt[i], k = ks[i]; + if (typeof v == "function") { + fnStr += ";" + k + "="; + var st_1 = v.toString(); + if (v.prototype) { + if (st_1.indexOf("[native code]") != -1) { + var spInd = st_1.indexOf(" ", 8) + 1; + fnStr += st_1.slice(spInd, st_1.indexOf("(", spInd)); + } else { + fnStr += st_1; + for (var t2 in v.prototype) + fnStr += ";" + k + ".prototype." + t2 + "=" + v.prototype[t2].toString(); + } + } else + fnStr += st_1; + } else + td2[k] = v; + } + return fnStr; +}, "wcln"); +var ch = []; +var cbfs = /* @__PURE__ */ __name(function(v) { + var tl = []; + for (var k in v) { + if (v[k].buffer) { + tl.push((v[k] = new v[k].constructor(v[k])).buffer); + } + } + return tl; +}, "cbfs"); +var wrkr = /* @__PURE__ */ __name(function(fns, init, id2, cb) { + if (!ch[id2]) { + var fnStr = "", td_1 = {}, m = fns.length - 1; + for (var i = 0; i < m; ++i) + fnStr = wcln(fns[i], fnStr, td_1); + ch[id2] = { c: wcln(fns[m], fnStr, td_1), e: td_1 }; + } + var td2 = mrg({}, ch[id2].e); + return wk(ch[id2].c + ";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=" + init.toString() + "}", id2, td2, cbfs(td2), cb); +}, "wrkr"); +var bInflt = /* @__PURE__ */ __name(function() { + return [u8, u16, i32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gopt]; +}, "bInflt"); +var bDflt = /* @__PURE__ */ __name(function() { + return [u8, u16, i32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; +}, "bDflt"); +var gze = /* @__PURE__ */ __name(function() { + return [gzh, gzhl, wbytes, crc, crct]; +}, "gze"); +var guze = /* @__PURE__ */ __name(function() { + return [gzs, gzl]; +}, "guze"); +var zle = /* @__PURE__ */ __name(function() { + return [zlh, wbytes, adler]; +}, "zle"); +var zule = /* @__PURE__ */ __name(function() { + return [zls]; +}, "zule"); +var pbf = /* @__PURE__ */ __name(function(msg) { + return postMessage(msg, [msg.buffer]); +}, "pbf"); +var gopt = /* @__PURE__ */ __name(function(o) { + return o && { + out: o.size && new u8(o.size), + dictionary: o.dictionary + }; +}, "gopt"); +var cbify = /* @__PURE__ */ __name(function(dat, opts, fns, init, id2, cb) { + var w = wrkr(fns, init, id2, function(err2, dat2) { + w.terminate(); + cb(err2, dat2); + }); + w.postMessage([dat, opts], opts.consume ? [dat.buffer] : []); + return function() { + w.terminate(); + }; +}, "cbify"); +var astrm = /* @__PURE__ */ __name(function(strm) { + strm.ondata = function(dat, final) { + return postMessage([dat, final], [dat.buffer]); + }; + return function(ev) { + if (ev.data.length) { + strm.push(ev.data[0], ev.data[1]); + postMessage([ev.data[0].length]); + } else + strm.flush(); + }; +}, "astrm"); +var astrmify = /* @__PURE__ */ __name(function(fns, strm, opts, init, id2, flush, ext2) { + var t2; + var w = wrkr(fns, init, id2, function(err2, dat) { + if (err2) + w.terminate(), strm.ondata.call(strm, err2); + else if (!Array.isArray(dat)) + ext2(dat); + else if (dat.length == 1) { + strm.queuedSize -= dat[0]; + if (strm.ondrain) + strm.ondrain(dat[0]); + } else { + if (dat[1]) + w.terminate(); + strm.ondata.call(strm, err2, dat[0], dat[1]); + } + }); + w.postMessage(opts); + strm.queuedSize = 0; + strm.push = function(d, f) { + if (!strm.ondata) + err(5); + if (t2) + strm.ondata(err(4, 0, 1), null, !!f); + strm.queuedSize += d.length; + w.postMessage([d, t2 = f], [d.buffer]); + }; + strm.terminate = function() { + w.terminate(); + }; + if (flush) { + strm.flush = function() { + w.postMessage([]); + }; + } +}, "astrmify"); +var b2 = /* @__PURE__ */ __name(function(d, b) { + return d[b] | d[b + 1] << 8; +}, "b2"); +var b4 = /* @__PURE__ */ __name(function(d, b) { + return (d[b] | d[b + 1] << 8 | d[b + 2] << 16 | d[b + 3] << 24) >>> 0; +}, "b4"); +var b8 = /* @__PURE__ */ __name(function(d, b) { + return b4(d, b) + b4(d, b + 4) * 4294967296; +}, "b8"); +var wbytes = /* @__PURE__ */ __name(function(d, b, v) { + for (; v; ++b) + d[b] = v, v >>>= 8; +}, "wbytes"); +var gzh = /* @__PURE__ */ __name(function(c, o) { + var fn = o.filename; + c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; + if (o.mtime != 0) + wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1e3)); + if (fn) { + c[3] = 8; + for (var i = 0; i <= fn.length; ++i) + c[i + 10] = fn.charCodeAt(i); + } +}, "gzh"); +var gzs = /* @__PURE__ */ __name(function(d) { + if (d[0] != 31 || d[1] != 139 || d[2] != 8) + err(6, "invalid gzip data"); + var flg = d[3]; + var st = 10; + if (flg & 4) + st += (d[10] | d[11] << 8) + 2; + for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++]) + ; + return st + (flg & 2); +}, "gzs"); +var gzl = /* @__PURE__ */ __name(function(d) { + var l = d.length; + return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0; +}, "gzl"); +var gzhl = /* @__PURE__ */ __name(function(o) { + return 10 + (o.filename ? o.filename.length + 1 : 0); +}, "gzhl"); +var zlh = /* @__PURE__ */ __name(function(c, o) { + var lv = o.level, fl2 = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2; + c[0] = 120, c[1] = fl2 << 6 | (o.dictionary && 32); + c[1] |= 31 - (c[0] << 8 | c[1]) % 31; + if (o.dictionary) { + var h = adler(); + h.p(o.dictionary); + wbytes(c, 2, h.d()); + } +}, "zlh"); +var zls = /* @__PURE__ */ __name(function(d, dict) { + if ((d[0] & 15) != 8 || d[0] >> 4 > 7 || (d[0] << 8 | d[1]) % 31) + err(6, "invalid zlib data"); + if ((d[1] >> 5 & 1) == +!dict) + err(6, "invalid zlib data: " + (d[1] & 32 ? "need" : "unexpected") + " dictionary"); + return (d[1] >> 3 & 4) + 2; +}, "zls"); +function StrmOpt(opts, cb) { + if (typeof opts == "function") + cb = opts, opts = {}; + this.ondata = cb; + return opts; +} +__name(StrmOpt, "StrmOpt"); +var Deflate = /* @__PURE__ */ function() { + function Deflate2(opts, cb) { + if (typeof opts == "function") + cb = opts, opts = {}; + this.ondata = cb; + this.o = opts || {}; + this.s = { l: 0, i: 32768, w: 32768, z: 32768 }; + this.b = new u8(98304); + if (this.o.dictionary) { + var dict = this.o.dictionary.subarray(-32768); + this.b.set(dict, 32768 - dict.length); + this.s.i = 32768 - dict.length; + } + } + __name(Deflate2, "Deflate"); + Deflate2.prototype.p = function(c, f) { + this.ondata(dopt(c, this.o, 0, 0, this.s), f); + }; + Deflate2.prototype.push = function(chunk, final) { + if (!this.ondata) + err(5); + if (this.s.l) + err(4); + var endLen = chunk.length + this.s.z; + if (endLen > this.b.length) { + if (endLen > 2 * this.b.length - 32768) { + var newBuf = new u8(endLen & -32768); + newBuf.set(this.b.subarray(0, this.s.z)); + this.b = newBuf; + } + var split = this.b.length - this.s.z; + this.b.set(chunk.subarray(0, split), this.s.z); + this.s.z = this.b.length; + this.p(this.b, false); + this.b.set(this.b.subarray(-32768)); + this.b.set(chunk.subarray(split), 32768); + this.s.z = chunk.length - split + 32768; + this.s.i = 32766, this.s.w = 32768; + } else { + this.b.set(chunk, this.s.z); + this.s.z += chunk.length; + } + this.s.l = final & 1; + if (this.s.z > this.s.w + 8191 || final) { + this.p(this.b, final || false); + this.s.w = this.s.i, this.s.i -= 2; + } + }; + Deflate2.prototype.flush = function() { + if (!this.ondata) + err(5); + if (this.s.l) + err(4); + this.p(this.b, false); + this.s.w = this.s.i, this.s.i -= 2; + }; + return Deflate2; +}(); +var AsyncDeflate = /* @__PURE__ */ function() { + function AsyncDeflate2(opts, cb) { + astrmify([ + bDflt, + function() { + return [astrm, Deflate]; + } + ], this, StrmOpt.call(this, opts, cb), function(ev) { + var strm = new Deflate(ev.data); + onmessage = astrm(strm); + }, 6, 1); + } + __name(AsyncDeflate2, "AsyncDeflate"); + return AsyncDeflate2; +}(); +function deflate(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != "function") + err(7); + return cbify(data, opts, [ + bDflt + ], function(ev) { + return pbf(deflateSync(ev.data[0], ev.data[1])); + }, 0, cb); +} +__name(deflate, "deflate"); +function deflateSync(data, opts) { + return dopt(data, opts || {}, 0, 0); +} +__name(deflateSync, "deflateSync"); +var Inflate = /* @__PURE__ */ function() { + function Inflate2(opts, cb) { + if (typeof opts == "function") + cb = opts, opts = {}; + this.ondata = cb; + var dict = opts && opts.dictionary && opts.dictionary.subarray(-32768); + this.s = { i: 0, b: dict ? dict.length : 0 }; + this.o = new u8(32768); + this.p = new u8(0); + if (dict) + this.o.set(dict); + } + __name(Inflate2, "Inflate"); + Inflate2.prototype.e = function(c) { + if (!this.ondata) + err(5); + if (this.d) + err(4); + if (!this.p.length) + this.p = c; + else if (c.length) { + var n = new u8(this.p.length + c.length); + n.set(this.p), n.set(c, this.p.length), this.p = n; + } + }; + Inflate2.prototype.c = function(final) { + this.s.i = +(this.d = final || false); + var bts = this.s.b; + var dt = inflt(this.p, this.s, this.o); + this.ondata(slc(dt, bts, this.s.b), this.d); + this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length; + this.p = slc(this.p, this.s.p / 8 | 0), this.s.p &= 7; + }; + Inflate2.prototype.push = function(chunk, final) { + this.e(chunk), this.c(final); + }; + return Inflate2; +}(); +var AsyncInflate = /* @__PURE__ */ function() { + function AsyncInflate2(opts, cb) { + astrmify([ + bInflt, + function() { + return [astrm, Inflate]; + } + ], this, StrmOpt.call(this, opts, cb), function(ev) { + var strm = new Inflate(ev.data); + onmessage = astrm(strm); + }, 7, 0); + } + __name(AsyncInflate2, "AsyncInflate"); + return AsyncInflate2; +}(); +function inflate(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != "function") + err(7); + return cbify(data, opts, [ + bInflt + ], function(ev) { + return pbf(inflateSync(ev.data[0], gopt(ev.data[1]))); + }, 1, cb); +} +__name(inflate, "inflate"); +function inflateSync(data, opts) { + return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary); +} +__name(inflateSync, "inflateSync"); +var Gzip = /* @__PURE__ */ function() { + function Gzip2(opts, cb) { + this.c = crc(); + this.l = 0; + this.v = 1; + Deflate.call(this, opts, cb); + } + __name(Gzip2, "Gzip"); + Gzip2.prototype.push = function(chunk, final) { + this.c.p(chunk); + this.l += chunk.length; + Deflate.prototype.push.call(this, chunk, final); + }; + Gzip2.prototype.p = function(c, f) { + var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, this.s); + if (this.v) + gzh(raw, this.o), this.v = 0; + if (f) + wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l); + this.ondata(raw, f); + }; + Gzip2.prototype.flush = function() { + Deflate.prototype.flush.call(this); + }; + return Gzip2; +}(); +var AsyncGzip = /* @__PURE__ */ function() { + function AsyncGzip2(opts, cb) { + astrmify([ + bDflt, + gze, + function() { + return [astrm, Deflate, Gzip]; + } + ], this, StrmOpt.call(this, opts, cb), function(ev) { + var strm = new Gzip(ev.data); + onmessage = astrm(strm); + }, 8, 1); + } + __name(AsyncGzip2, "AsyncGzip"); + return AsyncGzip2; +}(); +function gzip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != "function") + err(7); + return cbify(data, opts, [ + bDflt, + gze, + function() { + return [gzipSync]; + } + ], function(ev) { + return pbf(gzipSync(ev.data[0], ev.data[1])); + }, 2, cb); +} +__name(gzip, "gzip"); +function gzipSync(data, opts) { + if (!opts) + opts = {}; + var c = crc(), l = data.length; + c.p(data); + var d = dopt(data, opts, gzhl(opts), 8), s = d.length; + return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d; +} +__name(gzipSync, "gzipSync"); +var Gunzip = /* @__PURE__ */ function() { + function Gunzip2(opts, cb) { + this.v = 1; + this.r = 0; + Inflate.call(this, opts, cb); + } + __name(Gunzip2, "Gunzip"); + Gunzip2.prototype.push = function(chunk, final) { + Inflate.prototype.e.call(this, chunk); + this.r += chunk.length; + if (this.v) { + var p = this.p.subarray(this.v - 1); + var s = p.length > 3 ? gzs(p) : 4; + if (s > p.length) { + if (!final) + return; + } else if (this.v > 1 && this.onmember) { + this.onmember(this.r - p.length); + } + this.p = p.subarray(s), this.v = 0; + } + Inflate.prototype.c.call(this, final); + if (this.s.f && !this.s.l && !final) { + this.v = shft(this.s.p) + 9; + this.s = { i: 0 }; + this.o = new u8(0); + this.push(new u8(0), final); + } + }; + return Gunzip2; +}(); +var AsyncGunzip = /* @__PURE__ */ function() { + function AsyncGunzip2(opts, cb) { + var _this = this; + astrmify([ + bInflt, + guze, + function() { + return [astrm, Inflate, Gunzip]; + } + ], this, StrmOpt.call(this, opts, cb), function(ev) { + var strm = new Gunzip(ev.data); + strm.onmember = function(offset) { + return postMessage(offset); + }; + onmessage = astrm(strm); + }, 9, 0, function(offset) { + return _this.onmember && _this.onmember(offset); + }); + } + __name(AsyncGunzip2, "AsyncGunzip"); + return AsyncGunzip2; +}(); +function gunzip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != "function") + err(7); + return cbify(data, opts, [ + bInflt, + guze, + function() { + return [gunzipSync]; + } + ], function(ev) { + return pbf(gunzipSync(ev.data[0], ev.data[1])); + }, 3, cb); +} +__name(gunzip, "gunzip"); +function gunzipSync(data, opts) { + var st = gzs(data); + if (st + 8 > data.length) + err(6, "invalid gzip data"); + return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary); +} +__name(gunzipSync, "gunzipSync"); +var Zlib = /* @__PURE__ */ function() { + function Zlib2(opts, cb) { + this.c = adler(); + this.v = 1; + Deflate.call(this, opts, cb); + } + __name(Zlib2, "Zlib"); + Zlib2.prototype.push = function(chunk, final) { + this.c.p(chunk); + Deflate.prototype.push.call(this, chunk, final); + }; + Zlib2.prototype.p = function(c, f) { + var raw = dopt(c, this.o, this.v && (this.o.dictionary ? 6 : 2), f && 4, this.s); + if (this.v) + zlh(raw, this.o), this.v = 0; + if (f) + wbytes(raw, raw.length - 4, this.c.d()); + this.ondata(raw, f); + }; + Zlib2.prototype.flush = function() { + Deflate.prototype.flush.call(this); + }; + return Zlib2; +}(); +var AsyncZlib = /* @__PURE__ */ function() { + function AsyncZlib2(opts, cb) { + astrmify([ + bDflt, + zle, + function() { + return [astrm, Deflate, Zlib]; + } + ], this, StrmOpt.call(this, opts, cb), function(ev) { + var strm = new Zlib(ev.data); + onmessage = astrm(strm); + }, 10, 1); + } + __name(AsyncZlib2, "AsyncZlib"); + return AsyncZlib2; +}(); +function zlib(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != "function") + err(7); + return cbify(data, opts, [ + bDflt, + zle, + function() { + return [zlibSync]; + } + ], function(ev) { + return pbf(zlibSync(ev.data[0], ev.data[1])); + }, 4, cb); +} +__name(zlib, "zlib"); +function zlibSync(data, opts) { + if (!opts) + opts = {}; + var a = adler(); + a.p(data); + var d = dopt(data, opts, opts.dictionary ? 6 : 2, 4); + return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d; +} +__name(zlibSync, "zlibSync"); +var Unzlib = /* @__PURE__ */ function() { + function Unzlib2(opts, cb) { + Inflate.call(this, opts, cb); + this.v = opts && opts.dictionary ? 2 : 1; + } + __name(Unzlib2, "Unzlib"); + Unzlib2.prototype.push = function(chunk, final) { + Inflate.prototype.e.call(this, chunk); + if (this.v) { + if (this.p.length < 6 && !final) + return; + this.p = this.p.subarray(zls(this.p, this.v - 1)), this.v = 0; + } + if (final) { + if (this.p.length < 4) + err(6, "invalid zlib data"); + this.p = this.p.subarray(0, -4); + } + Inflate.prototype.c.call(this, final); + }; + return Unzlib2; +}(); +var AsyncUnzlib = /* @__PURE__ */ function() { + function AsyncUnzlib2(opts, cb) { + astrmify([ + bInflt, + zule, + function() { + return [astrm, Inflate, Unzlib]; + } + ], this, StrmOpt.call(this, opts, cb), function(ev) { + var strm = new Unzlib(ev.data); + onmessage = astrm(strm); + }, 11, 0); + } + __name(AsyncUnzlib2, "AsyncUnzlib"); + return AsyncUnzlib2; +}(); +function unzlib(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != "function") + err(7); + return cbify(data, opts, [ + bInflt, + zule, + function() { + return [unzlibSync]; + } + ], function(ev) { + return pbf(unzlibSync(ev.data[0], gopt(ev.data[1]))); + }, 5, cb); +} +__name(unzlib, "unzlib"); +function unzlibSync(data, opts) { + return inflt(data.subarray(zls(data, opts && opts.dictionary), -4), { i: 2 }, opts && opts.out, opts && opts.dictionary); +} +__name(unzlibSync, "unzlibSync"); +var Decompress = /* @__PURE__ */ function() { + function Decompress2(opts, cb) { + this.o = StrmOpt.call(this, opts, cb) || {}; + this.G = Gunzip; + this.I = Inflate; + this.Z = Unzlib; + } + __name(Decompress2, "Decompress"); + Decompress2.prototype.i = function() { + var _this = this; + this.s.ondata = function(dat, final) { + _this.ondata(dat, final); + }; + }; + Decompress2.prototype.push = function(chunk, final) { + if (!this.ondata) + err(5); + if (!this.s) { + if (this.p && this.p.length) { + var n = new u8(this.p.length + chunk.length); + n.set(this.p), n.set(chunk, this.p.length); + } else + this.p = chunk; + if (this.p.length > 2) { + this.s = this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8 ? new this.G(this.o) : (this.p[0] & 15) != 8 || this.p[0] >> 4 > 7 || (this.p[0] << 8 | this.p[1]) % 31 ? new this.I(this.o) : new this.Z(this.o); + this.i(); + this.s.push(this.p, final); + this.p = null; + } + } else + this.s.push(chunk, final); + }; + return Decompress2; +}(); +var AsyncDecompress = /* @__PURE__ */ function() { + function AsyncDecompress2(opts, cb) { + Decompress.call(this, opts, cb); + this.queuedSize = 0; + this.G = AsyncGunzip; + this.I = AsyncInflate; + this.Z = AsyncUnzlib; + } + __name(AsyncDecompress2, "AsyncDecompress"); + AsyncDecompress2.prototype.i = function() { + var _this = this; + this.s.ondata = function(err2, dat, final) { + _this.ondata(err2, dat, final); + }; + this.s.ondrain = function(size) { + _this.queuedSize -= size; + if (_this.ondrain) + _this.ondrain(size); + }; + }; + AsyncDecompress2.prototype.push = function(chunk, final) { + this.queuedSize += chunk.length; + Decompress.prototype.push.call(this, chunk, final); + }; + return AsyncDecompress2; +}(); +function decompress(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != "function") + err(7); + return data[0] == 31 && data[1] == 139 && data[2] == 8 ? gunzip(data, opts, cb) : (data[0] & 15) != 8 || data[0] >> 4 > 7 || (data[0] << 8 | data[1]) % 31 ? inflate(data, opts, cb) : unzlib(data, opts, cb); +} +__name(decompress, "decompress"); +function decompressSync(data, opts) { + return data[0] == 31 && data[1] == 139 && data[2] == 8 ? gunzipSync(data, opts) : (data[0] & 15) != 8 || data[0] >> 4 > 7 || (data[0] << 8 | data[1]) % 31 ? inflateSync(data, opts) : unzlibSync(data, opts); +} +__name(decompressSync, "decompressSync"); +var fltn = /* @__PURE__ */ __name(function(d, p, t2, o) { + for (var k in d) { + var val = d[k], n = p + k, op = o; + if (Array.isArray(val)) + op = mrg(o, val[1]), val = val[0]; + if (val instanceof u8) + t2[n] = [val, op]; + else { + t2[n += "/"] = [new u8(0), op]; + fltn(val, n, t2, o); + } + } +}, "fltn"); +var te = typeof TextEncoder != "undefined" && /* @__PURE__ */ new TextEncoder(); +var td = typeof TextDecoder != "undefined" && /* @__PURE__ */ new TextDecoder(); +var tds = 0; +try { + td.decode(et, { stream: true }); + tds = 1; +} catch (e) { +} +var dutf8 = /* @__PURE__ */ __name(function(d) { + for (var r = "", i = 0; ; ) { + var c = d[i++]; + var eb = (c > 127) + (c > 223) + (c > 239); + if (i + eb > d.length) + return { s: r, r: slc(d, i - 1) }; + if (!eb) + r += String.fromCharCode(c); + else if (eb == 3) { + c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | d[i++] & 63) - 65536, r += String.fromCharCode(55296 | c >> 10, 56320 | c & 1023); + } else if (eb & 1) + r += String.fromCharCode((c & 31) << 6 | d[i++] & 63); + else + r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | d[i++] & 63); + } +}, "dutf8"); +var DecodeUTF8 = /* @__PURE__ */ function() { + function DecodeUTF82(cb) { + this.ondata = cb; + if (tds) + this.t = new TextDecoder(); + else + this.p = et; + } + __name(DecodeUTF82, "DecodeUTF8"); + DecodeUTF82.prototype.push = function(chunk, final) { + if (!this.ondata) + err(5); + final = !!final; + if (this.t) { + this.ondata(this.t.decode(chunk, { stream: true }), final); + if (final) { + if (this.t.decode().length) + err(8); + this.t = null; + } + return; + } + if (!this.p) + err(4); + var dat = new u8(this.p.length + chunk.length); + dat.set(this.p); + dat.set(chunk, this.p.length); + var _a2 = dutf8(dat), s = _a2.s, r = _a2.r; + if (final) { + if (r.length) + err(8); + this.p = null; + } else + this.p = r; + this.ondata(s, final); + }; + return DecodeUTF82; +}(); +var EncodeUTF8 = /* @__PURE__ */ function() { + function EncodeUTF82(cb) { + this.ondata = cb; + } + __name(EncodeUTF82, "EncodeUTF8"); + EncodeUTF82.prototype.push = function(chunk, final) { + if (!this.ondata) + err(5); + if (this.d) + err(4); + this.ondata(strToU8(chunk), this.d = final || false); + }; + return EncodeUTF82; +}(); +function strToU8(str, latin1) { + if (latin1) { + var ar_1 = new u8(str.length); + for (var i = 0; i < str.length; ++i) + ar_1[i] = str.charCodeAt(i); + return ar_1; + } + if (te) + return te.encode(str); + var l = str.length; + var ar = new u8(str.length + (str.length >> 1)); + var ai = 0; + var w = /* @__PURE__ */ __name(function(v) { + ar[ai++] = v; + }, "w"); + for (var i = 0; i < l; ++i) { + if (ai + 5 > ar.length) { + var n = new u8(ai + 8 + (l - i << 1)); + n.set(ar); + ar = n; + } + var c = str.charCodeAt(i); + if (c < 128 || latin1) + w(c); + else if (c < 2048) + w(192 | c >> 6), w(128 | c & 63); + else if (c > 55295 && c < 57344) + c = 65536 + (c & 1023 << 10) | str.charCodeAt(++i) & 1023, w(240 | c >> 18), w(128 | c >> 12 & 63), w(128 | c >> 6 & 63), w(128 | c & 63); + else + w(224 | c >> 12), w(128 | c >> 6 & 63), w(128 | c & 63); + } + return slc(ar, 0, ai); +} +__name(strToU8, "strToU8"); +function strFromU8(dat, latin1) { + if (latin1) { + var r = ""; + for (var i = 0; i < dat.length; i += 16384) + r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384)); + return r; + } else if (td) { + return td.decode(dat); + } else { + var _a2 = dutf8(dat), s = _a2.s, r = _a2.r; + if (r.length) + err(8); + return s; + } +} +__name(strFromU8, "strFromU8"); +; +var dbf = /* @__PURE__ */ __name(function(l) { + return l == 1 ? 3 : l < 6 ? 2 : l == 9 ? 1 : 0; +}, "dbf"); +var slzh = /* @__PURE__ */ __name(function(d, b) { + return b + 30 + b2(d, b + 26) + b2(d, b + 28); +}, "slzh"); +var zh = /* @__PURE__ */ __name(function(d, b, z) { + var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20); + var _a2 = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a2[0], su = _a2[1], off = _a2[2]; + return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off]; +}, "zh"); +var z64e = /* @__PURE__ */ __name(function(d, b) { + for (; b2(d, b) != 1; b += 4 + b2(d, b + 2)) + ; + return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)]; +}, "z64e"); +var exfl = /* @__PURE__ */ __name(function(ex) { + var le = 0; + if (ex) { + for (var k in ex) { + var l = ex[k].length; + if (l > 65535) + err(9); + le += l + 4; + } + } + return le; +}, "exfl"); +var wzh = /* @__PURE__ */ __name(function(d, b, f, fn, u, c, ce, co) { + var fl2 = fn.length, ex = f.extra, col = co && co.length; + var exl = exfl(ex); + wbytes(d, b, ce != null ? 33639248 : 67324752), b += 4; + if (ce != null) + d[b++] = 20, d[b++] = f.os; + d[b] = 20, b += 2; + d[b++] = f.flag << 1 | (c < 0 && 8), d[b++] = u && 8; + d[b++] = f.compression & 255, d[b++] = f.compression >> 8; + var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980; + if (y < 0 || y > 119) + err(10); + wbytes(d, b, y << 25 | dt.getMonth() + 1 << 21 | dt.getDate() << 16 | dt.getHours() << 11 | dt.getMinutes() << 5 | dt.getSeconds() >> 1), b += 4; + if (c != -1) { + wbytes(d, b, f.crc); + wbytes(d, b + 4, c < 0 ? -c - 2 : c); + wbytes(d, b + 8, f.size); + } + wbytes(d, b + 12, fl2); + wbytes(d, b + 14, exl), b += 16; + if (ce != null) { + wbytes(d, b, col); + wbytes(d, b + 6, f.attrs); + wbytes(d, b + 10, ce), b += 14; + } + d.set(fn, b); + b += fl2; + if (exl) { + for (var k in ex) { + var exf = ex[k], l = exf.length; + wbytes(d, b, +k); + wbytes(d, b + 2, l); + d.set(exf, b + 4), b += 4 + l; + } + } + if (col) + d.set(co, b), b += col; + return b; +}, "wzh"); +var wzf = /* @__PURE__ */ __name(function(o, b, c, d, e) { + wbytes(o, b, 101010256); + wbytes(o, b + 8, c); + wbytes(o, b + 10, c); + wbytes(o, b + 12, d); + wbytes(o, b + 16, e); +}, "wzf"); +var ZipPassThrough = /* @__PURE__ */ function() { + function ZipPassThrough2(filename) { + this.filename = filename; + this.c = crc(); + this.size = 0; + this.compression = 0; + } + __name(ZipPassThrough2, "ZipPassThrough"); + ZipPassThrough2.prototype.process = function(chunk, final) { + this.ondata(null, chunk, final); + }; + ZipPassThrough2.prototype.push = function(chunk, final) { + if (!this.ondata) + err(5); + this.c.p(chunk); + this.size += chunk.length; + if (final) + this.crc = this.c.d(); + this.process(chunk, final || false); + }; + return ZipPassThrough2; +}(); +var ZipDeflate = /* @__PURE__ */ function() { + function ZipDeflate2(filename, opts) { + var _this = this; + if (!opts) + opts = {}; + ZipPassThrough.call(this, filename); + this.d = new Deflate(opts, function(dat, final) { + _this.ondata(null, dat, final); + }); + this.compression = 8; + this.flag = dbf(opts.level); + } + __name(ZipDeflate2, "ZipDeflate"); + ZipDeflate2.prototype.process = function(chunk, final) { + try { + this.d.push(chunk, final); + } catch (e) { + this.ondata(e, null, final); + } + }; + ZipDeflate2.prototype.push = function(chunk, final) { + ZipPassThrough.prototype.push.call(this, chunk, final); + }; + return ZipDeflate2; +}(); +var AsyncZipDeflate = /* @__PURE__ */ function() { + function AsyncZipDeflate2(filename, opts) { + var _this = this; + if (!opts) + opts = {}; + ZipPassThrough.call(this, filename); + this.d = new AsyncDeflate(opts, function(err2, dat, final) { + _this.ondata(err2, dat, final); + }); + this.compression = 8; + this.flag = dbf(opts.level); + this.terminate = this.d.terminate; + } + __name(AsyncZipDeflate2, "AsyncZipDeflate"); + AsyncZipDeflate2.prototype.process = function(chunk, final) { + this.d.push(chunk, final); + }; + AsyncZipDeflate2.prototype.push = function(chunk, final) { + ZipPassThrough.prototype.push.call(this, chunk, final); + }; + return AsyncZipDeflate2; +}(); +var Zip = /* @__PURE__ */ function() { + function Zip2(cb) { + this.ondata = cb; + this.u = []; + this.d = 1; + } + __name(Zip2, "Zip"); + Zip2.prototype.add = function(file2) { + var _this = this; + if (!this.ondata) + err(5); + if (this.d & 2) + this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, false); + else { + var f = strToU8(file2.filename), fl_1 = f.length; + var com = file2.comment, o = com && strToU8(com); + var u = fl_1 != file2.filename.length || o && com.length != o.length; + var hl_1 = fl_1 + exfl(file2.extra) + 30; + if (fl_1 > 65535) + this.ondata(err(11, 0, 1), null, false); + var header = new u8(hl_1); + wzh(header, 0, file2, f, u, -1); + var chks_1 = [header]; + var pAll_1 = /* @__PURE__ */ __name(function() { + for (var _i = 0, chks_2 = chks_1; _i < chks_2.length; _i++) { + var chk = chks_2[_i]; + _this.ondata(null, chk, false); + } + chks_1 = []; + }, "pAll_1"); + var tr_1 = this.d; + this.d = 0; + var ind_1 = this.u.length; + var uf_1 = mrg(file2, { + f, + u, + o, + t: /* @__PURE__ */ __name(function() { + if (file2.terminate) + file2.terminate(); + }, "t"), + r: /* @__PURE__ */ __name(function() { + pAll_1(); + if (tr_1) { + var nxt = _this.u[ind_1 + 1]; + if (nxt) + nxt.r(); + else + _this.d = 1; + } + tr_1 = 1; + }, "r") + }); + var cl_1 = 0; + file2.ondata = function(err2, dat, final) { + if (err2) { + _this.ondata(err2, dat, final); + _this.terminate(); + } else { + cl_1 += dat.length; + chks_1.push(dat); + if (final) { + var dd = new u8(16); + wbytes(dd, 0, 134695760); + wbytes(dd, 4, file2.crc); + wbytes(dd, 8, cl_1); + wbytes(dd, 12, file2.size); + chks_1.push(dd); + uf_1.c = cl_1, uf_1.b = hl_1 + cl_1 + 16, uf_1.crc = file2.crc, uf_1.size = file2.size; + if (tr_1) + uf_1.r(); + tr_1 = 1; + } else if (tr_1) + pAll_1(); + } + }; + this.u.push(uf_1); + } + }; + Zip2.prototype.end = function() { + var _this = this; + if (this.d & 2) { + this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, true); + return; + } + if (this.d) + this.e(); + else + this.u.push({ + r: /* @__PURE__ */ __name(function() { + if (!(_this.d & 1)) + return; + _this.u.splice(-1, 1); + _this.e(); + }, "r"), + t: /* @__PURE__ */ __name(function() { + }, "t") + }); + this.d = 3; + }; + Zip2.prototype.e = function() { + var bt = 0, l = 0, tl = 0; + for (var _i = 0, _a2 = this.u; _i < _a2.length; _i++) { + var f = _a2[_i]; + tl += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0); + } + var out = new u8(tl + 22); + for (var _b2 = 0, _c = this.u; _b2 < _c.length; _b2++) { + var f = _c[_b2]; + wzh(out, bt, f, f.f, f.u, -f.c - 2, l, f.o); + bt += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0), l += f.b; + } + wzf(out, bt, this.u.length, tl, l); + this.ondata(null, out, true); + this.d = 2; + }; + Zip2.prototype.terminate = function() { + for (var _i = 0, _a2 = this.u; _i < _a2.length; _i++) { + var f = _a2[_i]; + f.t(); + } + this.d = 2; + }; + return Zip2; +}(); +function zip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != "function") + err(7); + var r = {}; + fltn(data, "", r, opts); + var k = Object.keys(r); + var lft = k.length, o = 0, tot = 0; + var slft = lft, files = new Array(lft); + var term = []; + var tAll = /* @__PURE__ */ __name(function() { + for (var i2 = 0; i2 < term.length; ++i2) + term[i2](); + }, "tAll"); + var cbd = /* @__PURE__ */ __name(function(a, b) { + mt(function() { + cb(a, b); + }); + }, "cbd"); + mt(function() { + cbd = cb; + }); + var cbf = /* @__PURE__ */ __name(function() { + var out = new u8(tot + 22), oe = o, cdl = tot - o; + tot = 0; + for (var i2 = 0; i2 < slft; ++i2) { + var f = files[i2]; + try { + var l = f.c.length; + wzh(out, tot, f, f.f, f.u, l); + var badd = 30 + f.f.length + exfl(f.extra); + var loc = tot + badd; + out.set(f.c, loc); + wzh(out, o, f, f.f, f.u, l, tot, f.m), o += 16 + badd + (f.m ? f.m.length : 0), tot = loc + l; + } catch (e) { + return cbd(e, null); + } + } + wzf(out, o, files.length, cdl, oe); + cbd(null, out); + }, "cbf"); + if (!lft) + cbf(); + var _loop_1 = /* @__PURE__ */ __name(function(i2) { + var fn = k[i2]; + var _a2 = r[fn], file2 = _a2[0], p = _a2[1]; + var c = crc(), size = file2.length; + c.p(file2); + var f = strToU8(fn), s = f.length; + var com = p.comment, m = com && strToU8(com), ms = m && m.length; + var exl = exfl(p.extra); + var compression = p.level == 0 ? 0 : 8; + var cbl = /* @__PURE__ */ __name(function(e, d) { + if (e) { + tAll(); + cbd(e, null); + } else { + var l = d.length; + files[i2] = mrg(p, { + size, + crc: c.d(), + c: d, + f, + m, + u: s != fn.length || m && com.length != ms, + compression + }); + o += 30 + s + exl + l; + tot += 76 + 2 * (s + exl) + (ms || 0) + l; + if (!--lft) + cbf(); + } + }, "cbl"); + if (s > 65535) + cbl(err(11, 0, 1), null); + if (!compression) + cbl(null, file2); + else if (size < 16e4) { + try { + cbl(null, deflateSync(file2, p)); + } catch (e) { + cbl(e, null); + } + } else + term.push(deflate(file2, p, cbl)); + }, "_loop_1"); + for (var i = 0; i < slft; ++i) { + _loop_1(i); + } + return tAll; +} +__name(zip, "zip"); +function zipSync(data, opts) { + if (!opts) + opts = {}; + var r = {}; + var files = []; + fltn(data, "", r, opts); + var o = 0; + var tot = 0; + for (var fn in r) { + var _a2 = r[fn], file2 = _a2[0], p = _a2[1]; + var compression = p.level == 0 ? 0 : 8; + var f = strToU8(fn), s = f.length; + var com = p.comment, m = com && strToU8(com), ms = m && m.length; + var exl = exfl(p.extra); + if (s > 65535) + err(11); + var d = compression ? deflateSync(file2, p) : file2, l = d.length; + var c = crc(); + c.p(file2); + files.push(mrg(p, { + size: file2.length, + crc: c.d(), + c: d, + f, + m, + u: s != fn.length || m && com.length != ms, + o, + compression + })); + o += 30 + s + exl + l; + tot += 76 + 2 * (s + exl) + (ms || 0) + l; + } + var out = new u8(tot + 22), oe = o, cdl = tot - o; + for (var i = 0; i < files.length; ++i) { + var f = files[i]; + wzh(out, f.o, f, f.f, f.u, f.c.length); + var badd = 30 + f.f.length + exfl(f.extra); + out.set(f.c, f.o + badd); + wzh(out, o, f, f.f, f.u, f.c.length, f.o, f.m), o += 16 + badd + (f.m ? f.m.length : 0); + } + wzf(out, o, files.length, cdl, oe); + return out; +} +__name(zipSync, "zipSync"); +var UnzipPassThrough = /* @__PURE__ */ function() { + function UnzipPassThrough2() { + } + __name(UnzipPassThrough2, "UnzipPassThrough"); + UnzipPassThrough2.prototype.push = function(data, final) { + this.ondata(null, data, final); + }; + UnzipPassThrough2.compression = 0; + return UnzipPassThrough2; +}(); +var UnzipInflate = /* @__PURE__ */ function() { + function UnzipInflate2() { + var _this = this; + this.i = new Inflate(function(dat, final) { + _this.ondata(null, dat, final); + }); + } + __name(UnzipInflate2, "UnzipInflate"); + UnzipInflate2.prototype.push = function(data, final) { + try { + this.i.push(data, final); + } catch (e) { + this.ondata(e, null, final); + } + }; + UnzipInflate2.compression = 8; + return UnzipInflate2; +}(); +var AsyncUnzipInflate = /* @__PURE__ */ function() { + function AsyncUnzipInflate2(_, sz) { + var _this = this; + if (sz < 32e4) { + this.i = new Inflate(function(dat, final) { + _this.ondata(null, dat, final); + }); + } else { + this.i = new AsyncInflate(function(err2, dat, final) { + _this.ondata(err2, dat, final); + }); + this.terminate = this.i.terminate; + } + } + __name(AsyncUnzipInflate2, "AsyncUnzipInflate"); + AsyncUnzipInflate2.prototype.push = function(data, final) { + if (this.i.terminate) + data = slc(data, 0); + this.i.push(data, final); + }; + AsyncUnzipInflate2.compression = 8; + return AsyncUnzipInflate2; +}(); +var Unzip = /* @__PURE__ */ function() { + function Unzip2(cb) { + this.onfile = cb; + this.k = []; + this.o = { + 0: UnzipPassThrough + }; + this.p = et; + } + __name(Unzip2, "Unzip"); + Unzip2.prototype.push = function(chunk, final) { + var _this = this; + if (!this.onfile) + err(5); + if (!this.p) + err(4); + if (this.c > 0) { + var len = Math.min(this.c, chunk.length); + var toAdd = chunk.subarray(0, len); + this.c -= len; + if (this.d) + this.d.push(toAdd, !this.c); + else + this.k[0].push(toAdd); + chunk = chunk.subarray(len); + if (chunk.length) + return this.push(chunk, final); + } else { + var f = 0, i = 0, is = void 0, buf = void 0; + if (!this.p.length) + buf = chunk; + else if (!chunk.length) + buf = this.p; + else { + buf = new u8(this.p.length + chunk.length); + buf.set(this.p), buf.set(chunk, this.p.length); + } + var l = buf.length, oc = this.c, add = oc && this.d; + var _loop_2 = /* @__PURE__ */ __name(function() { + var _a2; + var sig = b4(buf, i); + if (sig == 67324752) { + f = 1, is = i; + this_1.d = null; + this_1.c = 0; + var bf = b2(buf, i + 6), cmp_1 = b2(buf, i + 8), u = bf & 2048, dd = bf & 8, fnl = b2(buf, i + 26), es = b2(buf, i + 28); + if (l > i + 30 + fnl + es) { + var chks_3 = []; + this_1.k.unshift(chks_3); + f = 2; + var sc_1 = b4(buf, i + 18), su_1 = b4(buf, i + 22); + var fn_1 = strFromU8(buf.subarray(i + 30, i += 30 + fnl), !u); + if (sc_1 == 4294967295) { + _a2 = dd ? [-2] : z64e(buf, i), sc_1 = _a2[0], su_1 = _a2[1]; + } else if (dd) + sc_1 = -1; + i += es; + this_1.c = sc_1; + var d_1; + var file_1 = { + name: fn_1, + compression: cmp_1, + start: /* @__PURE__ */ __name(function() { + if (!file_1.ondata) + err(5); + if (!sc_1) + file_1.ondata(null, et, true); + else { + var ctr = _this.o[cmp_1]; + if (!ctr) + file_1.ondata(err(14, "unknown compression type " + cmp_1, 1), null, false); + d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1); + d_1.ondata = function(err2, dat3, final2) { + file_1.ondata(err2, dat3, final2); + }; + for (var _i = 0, chks_4 = chks_3; _i < chks_4.length; _i++) { + var dat2 = chks_4[_i]; + d_1.push(dat2, false); + } + if (_this.k[0] == chks_3 && _this.c) + _this.d = d_1; + else + d_1.push(et, true); + } + }, "start"), + terminate: /* @__PURE__ */ __name(function() { + if (d_1 && d_1.terminate) + d_1.terminate(); + }, "terminate") + }; + if (sc_1 >= 0) + file_1.size = sc_1, file_1.originalSize = su_1; + this_1.onfile(file_1); + } + return "break"; + } else if (oc) { + if (sig == 134695760) { + is = i += 12 + (oc == -2 && 8), f = 3, this_1.c = 0; + return "break"; + } else if (sig == 33639248) { + is = i -= 4, f = 3, this_1.c = 0; + return "break"; + } + } + }, "_loop_2"); + var this_1 = this; + for (; i < l - 4; ++i) { + var state_1 = _loop_2(); + if (state_1 === "break") + break; + } + this.p = et; + if (oc < 0) { + var dat = f ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 134695760 && 4)) : buf.subarray(0, i); + if (add) + add.push(dat, !!f); + else + this.k[+(f == 2)].push(dat); + } + if (f & 2) + return this.push(buf.subarray(i), final); + this.p = buf.subarray(i); + } + if (final) { + if (this.c) + err(13); + this.p = null; + } + }; + Unzip2.prototype.register = function(decoder) { + this.o[decoder.compression] = decoder; + }; + return Unzip2; +}(); +var mt = typeof queueMicrotask == "function" ? queueMicrotask : typeof setTimeout == "function" ? setTimeout : function(fn) { + fn(); +}; +function unzip(data, opts, cb) { + if (!cb) + cb = opts, opts = {}; + if (typeof cb != "function") + err(7); + var term = []; + var tAll = /* @__PURE__ */ __name(function() { + for (var i2 = 0; i2 < term.length; ++i2) + term[i2](); + }, "tAll"); + var files = {}; + var cbd = /* @__PURE__ */ __name(function(a, b) { + mt(function() { + cb(a, b); + }); + }, "cbd"); + mt(function() { + cbd = cb; + }); + var e = data.length - 22; + for (; b4(data, e) != 101010256; --e) { + if (!e || data.length - e > 65558) { + cbd(err(13, 0, 1), null); + return tAll; + } + } + ; + var lft = b2(data, e + 8); + if (lft) { + var c = lft; + var o = b4(data, e + 16); + var z = o == 4294967295 || c == 65535; + if (z) { + var ze = b4(data, e - 12); + z = b4(data, ze) == 101075792; + if (z) { + c = lft = b4(data, ze + 32); + o = b4(data, ze + 48); + } + } + var fltr = opts && opts.filter; + var _loop_3 = /* @__PURE__ */ __name(function(i2) { + var _a2 = zh(data, o, z), c_1 = _a2[0], sc = _a2[1], su = _a2[2], fn = _a2[3], no = _a2[4], off = _a2[5], b = slzh(data, off); + o = no; + var cbl = /* @__PURE__ */ __name(function(e2, d) { + if (e2) { + tAll(); + cbd(e2, null); + } else { + if (d) + files[fn] = d; + if (!--lft) + cbd(null, files); + } + }, "cbl"); + if (!fltr || fltr({ + name: fn, + size: sc, + originalSize: su, + compression: c_1 + })) { + if (!c_1) + cbl(null, slc(data, b, b + sc)); + else if (c_1 == 8) { + var infl = data.subarray(b, b + sc); + if (su < 524288 || sc > 0.8 * su) { + try { + cbl(null, inflateSync(infl, { out: new u8(su) })); + } catch (e2) { + cbl(e2, null); + } + } else + term.push(inflate(infl, { size: su }, cbl)); + } else + cbl(err(14, "unknown compression type " + c_1, 1), null); + } else + cbl(null, null); + }, "_loop_3"); + for (var i = 0; i < c; ++i) { + _loop_3(i); + } + } else + cbd(null, {}); + return tAll; +} +__name(unzip, "unzip"); +function unzipSync(data, opts) { + var files = {}; + var e = data.length - 22; + for (; b4(data, e) != 101010256; --e) { + if (!e || data.length - e > 65558) + err(13); + } + ; + var c = b2(data, e + 8); + if (!c) + return {}; + var o = b4(data, e + 16); + var z = o == 4294967295 || c == 65535; + if (z) { + var ze = b4(data, e - 12); + z = b4(data, ze) == 101075792; + if (z) { + c = b4(data, ze + 32); + o = b4(data, ze + 48); + } + } + var fltr = opts && opts.filter; + for (var i = 0; i < c; ++i) { + var _a2 = zh(data, o, z), c_2 = _a2[0], sc = _a2[1], su = _a2[2], fn = _a2[3], no = _a2[4], off = _a2[5], b = slzh(data, off); + o = no; + if (!fltr || fltr({ + name: fn, + size: sc, + originalSize: su, + compression: c_2 + })) { + if (!c_2) + files[fn] = slc(data, b, b + sc); + else if (c_2 == 8) + files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) }); + else + err(14, "unknown compression type " + c_2); + } + } + return files; +} +__name(unzipSync, "unzipSync"); +function findSpan(p, u, U) { + const n = U.length - p - 1; + if (u >= U[n]) { + return n - 1; + } + if (u <= U[p]) { + return p; + } + let low = p; + let high = n; + let mid = Math.floor((low + high) / 2); + while (u < U[mid] || u >= U[mid + 1]) { + if (u < U[mid]) { + high = mid; + } else { + low = mid; + } + mid = Math.floor((low + high) / 2); + } + return mid; +} +__name(findSpan, "findSpan"); +function calcBasisFunctions(span, u, p, U) { + const N = []; + const left = []; + const right = []; + N[0] = 1; + for (let j = 1; j <= p; ++j) { + left[j] = u - U[span + 1 - j]; + right[j] = U[span + j] - u; + let saved = 0; + for (let r = 0; r < j; ++r) { + const rv = right[r + 1]; + const lv = left[j - r]; + const temp = N[r] / (rv + lv); + N[r] = saved + rv * temp; + saved = lv * temp; + } + N[j] = saved; + } + return N; +} +__name(calcBasisFunctions, "calcBasisFunctions"); +function calcBSplinePoint(p, U, P, u) { + const span = findSpan(p, u, U); + const N = calcBasisFunctions(span, u, p, U); + const C = new Vector4(0, 0, 0, 0); + for (let j = 0; j <= p; ++j) { + const point = P[span - p + j]; + const Nj = N[j]; + const wNj = point.w * Nj; + C.x += point.x * wNj; + C.y += point.y * wNj; + C.z += point.z * wNj; + C.w += point.w * Nj; + } + return C; +} +__name(calcBSplinePoint, "calcBSplinePoint"); +function calcBasisFunctionDerivatives(span, u, p, n, U) { + const zeroArr = []; + for (let i = 0; i <= p; ++i) + zeroArr[i] = 0; + const ders = []; + for (let i = 0; i <= n; ++i) + ders[i] = zeroArr.slice(0); + const ndu = []; + for (let i = 0; i <= p; ++i) + ndu[i] = zeroArr.slice(0); + ndu[0][0] = 1; + const left = zeroArr.slice(0); + const right = zeroArr.slice(0); + for (let j = 1; j <= p; ++j) { + left[j] = u - U[span + 1 - j]; + right[j] = U[span + j] - u; + let saved = 0; + for (let r2 = 0; r2 < j; ++r2) { + const rv = right[r2 + 1]; + const lv = left[j - r2]; + ndu[j][r2] = rv + lv; + const temp = ndu[r2][j - 1] / ndu[j][r2]; + ndu[r2][j] = saved + rv * temp; + saved = lv * temp; + } + ndu[j][j] = saved; + } + for (let j = 0; j <= p; ++j) { + ders[0][j] = ndu[j][p]; + } + for (let r2 = 0; r2 <= p; ++r2) { + let s1 = 0; + let s2 = 1; + const a = []; + for (let i = 0; i <= p; ++i) { + a[i] = zeroArr.slice(0); + } + a[0][0] = 1; + for (let k = 1; k <= n; ++k) { + let d = 0; + const rk = r2 - k; + const pk = p - k; + if (r2 >= k) { + a[s2][0] = a[s1][0] / ndu[pk + 1][rk]; + d = a[s2][0] * ndu[rk][pk]; + } + const j1 = rk >= -1 ? 1 : -rk; + const j2 = r2 - 1 <= pk ? k - 1 : p - r2; + for (let j3 = j1; j3 <= j2; ++j3) { + a[s2][j3] = (a[s1][j3] - a[s1][j3 - 1]) / ndu[pk + 1][rk + j3]; + d += a[s2][j3] * ndu[rk + j3][pk]; + } + if (r2 <= pk) { + a[s2][k] = -a[s1][k - 1] / ndu[pk + 1][r2]; + d += a[s2][k] * ndu[r2][pk]; + } + ders[k][r2] = d; + const j = s1; + s1 = s2; + s2 = j; + } + } + let r = p; + for (let k = 1; k <= n; ++k) { + for (let j = 0; j <= p; ++j) { + ders[k][j] *= r; + } + r *= p - k; + } + return ders; +} +__name(calcBasisFunctionDerivatives, "calcBasisFunctionDerivatives"); +function calcBSplineDerivatives(p, U, P, u, nd) { + const du = nd < p ? nd : p; + const CK = []; + const span = findSpan(p, u, U); + const nders = calcBasisFunctionDerivatives(span, u, p, du, U); + const Pw = []; + for (let i = 0; i < P.length; ++i) { + const point = P[i].clone(); + const w = point.w; + point.x *= w; + point.y *= w; + point.z *= w; + Pw[i] = point; + } + for (let k = 0; k <= du; ++k) { + const point = Pw[span - p].clone().multiplyScalar(nders[k][0]); + for (let j = 1; j <= p; ++j) { + point.add(Pw[span - p + j].clone().multiplyScalar(nders[k][j])); + } + CK[k] = point; + } + for (let k = du + 1; k <= nd + 1; ++k) { + CK[k] = new Vector4(0, 0, 0); + } + return CK; +} +__name(calcBSplineDerivatives, "calcBSplineDerivatives"); +function calcKoverI(k, i) { + let nom = 1; + for (let j = 2; j <= k; ++j) { + nom *= j; + } + let denom = 1; + for (let j = 2; j <= i; ++j) { + denom *= j; + } + for (let j = 2; j <= k - i; ++j) { + denom *= j; + } + return nom / denom; +} +__name(calcKoverI, "calcKoverI"); +function calcRationalCurveDerivatives(Pders) { + const nd = Pders.length; + const Aders = []; + const wders = []; + for (let i = 0; i < nd; ++i) { + const point = Pders[i]; + Aders[i] = new Vector3(point.x, point.y, point.z); + wders[i] = point.w; + } + const CK = []; + for (let k = 0; k < nd; ++k) { + const v = Aders[k].clone(); + for (let i = 1; i <= k; ++i) { + v.sub(CK[k - i].clone().multiplyScalar(calcKoverI(k, i) * wders[i])); + } + CK[k] = v.divideScalar(wders[0]); + } + return CK; +} +__name(calcRationalCurveDerivatives, "calcRationalCurveDerivatives"); +function calcNURBSDerivatives(p, U, P, u, nd) { + const Pders = calcBSplineDerivatives(p, U, P, u, nd); + return calcRationalCurveDerivatives(Pders); +} +__name(calcNURBSDerivatives, "calcNURBSDerivatives"); +function calcSurfacePoint(p, q, U, V, P, u, v, target) { + const uspan = findSpan(p, u, U); + const vspan = findSpan(q, v, V); + const Nu = calcBasisFunctions(uspan, u, p, U); + const Nv = calcBasisFunctions(vspan, v, q, V); + const temp = []; + for (let l = 0; l <= q; ++l) { + temp[l] = new Vector4(0, 0, 0, 0); + for (let k = 0; k <= p; ++k) { + const point = P[uspan - p + k][vspan - q + l].clone(); + const w = point.w; + point.x *= w; + point.y *= w; + point.z *= w; + temp[l].add(point.multiplyScalar(Nu[k])); + } + } + const Sw = new Vector4(0, 0, 0, 0); + for (let l = 0; l <= q; ++l) { + Sw.add(temp[l].multiplyScalar(Nv[l])); + } + Sw.divideScalar(Sw.w); + target.set(Sw.x, Sw.y, Sw.z); +} +__name(calcSurfacePoint, "calcSurfacePoint"); +function calcVolumePoint(p, q, r, U, V, W, P, u, v, w, target) { + const uspan = findSpan(p, u, U); + const vspan = findSpan(q, v, V); + const wspan = findSpan(r, w, W); + const Nu = calcBasisFunctions(uspan, u, p, U); + const Nv = calcBasisFunctions(vspan, v, q, V); + const Nw = calcBasisFunctions(wspan, w, r, W); + const temp = []; + for (let m = 0; m <= r; ++m) { + temp[m] = []; + for (let l = 0; l <= q; ++l) { + temp[m][l] = new Vector4(0, 0, 0, 0); + for (let k = 0; k <= p; ++k) { + const point = P[uspan - p + k][vspan - q + l][wspan - r + m].clone(); + const w2 = point.w; + point.x *= w2; + point.y *= w2; + point.z *= w2; + temp[m][l].add(point.multiplyScalar(Nu[k])); + } + } + } + const Sw = new Vector4(0, 0, 0, 0); + for (let m = 0; m <= r; ++m) { + for (let l = 0; l <= q; ++l) { + Sw.add(temp[m][l].multiplyScalar(Nw[m]).multiplyScalar(Nv[l])); + } + } + Sw.divideScalar(Sw.w); + target.set(Sw.x, Sw.y, Sw.z); +} +__name(calcVolumePoint, "calcVolumePoint"); +class NURBSCurve extends Curve { + static { + __name(this, "NURBSCurve"); + } + constructor(degree, knots, controlPoints, startKnot, endKnot) { + super(); + const knotsLength = knots ? knots.length - 1 : 0; + const pointsLength = controlPoints ? controlPoints.length : 0; + this.degree = degree; + this.knots = knots; + this.controlPoints = []; + this.startKnot = startKnot || 0; + this.endKnot = endKnot || knotsLength; + for (let i = 0; i < pointsLength; ++i) { + const point = controlPoints[i]; + this.controlPoints[i] = new Vector4(point.x, point.y, point.z, point.w); + } + } + getPoint(t2, optionalTarget = new Vector3()) { + const point = optionalTarget; + const u = this.knots[this.startKnot] + t2 * (this.knots[this.endKnot] - this.knots[this.startKnot]); + const hpoint = calcBSplinePoint(this.degree, this.knots, this.controlPoints, u); + if (hpoint.w !== 1) { + hpoint.divideScalar(hpoint.w); + } + return point.set(hpoint.x, hpoint.y, hpoint.z); + } + getTangent(t2, optionalTarget = new Vector3()) { + const tangent = optionalTarget; + const u = this.knots[0] + t2 * (this.knots[this.knots.length - 1] - this.knots[0]); + const ders = calcNURBSDerivatives(this.degree, this.knots, this.controlPoints, u, 1); + tangent.copy(ders[1]).normalize(); + return tangent; + } + toJSON() { + const data = super.toJSON(); + data.degree = this.degree; + data.knots = [...this.knots]; + data.controlPoints = this.controlPoints.map((p) => p.toArray()); + data.startKnot = this.startKnot; + data.endKnot = this.endKnot; + return data; + } + fromJSON(json) { + super.fromJSON(json); + this.degree = json.degree; + this.knots = [...json.knots]; + this.controlPoints = json.controlPoints.map((p) => new Vector4(p[0], p[1], p[2], p[3])); + this.startKnot = json.startKnot; + this.endKnot = json.endKnot; + return this; + } +} +let fbxTree; +let connections; +let sceneGraph; +class FBXLoader extends Loader { + static { + __name(this, "FBXLoader"); + } + constructor(manager) { + super(manager); + } + load(url, onLoad, onProgress, onError) { + const scope = this; + const path = scope.path === "" ? LoaderUtils.extractUrlBase(url) : scope.path; + const loader = new FileLoader(this.manager); + loader.setPath(scope.path); + loader.setResponseType("arraybuffer"); + loader.setRequestHeader(scope.requestHeader); + loader.setWithCredentials(scope.withCredentials); + loader.load(url, function(buffer) { + try { + onLoad(scope.parse(buffer, path)); + } catch (e) { + if (onError) { + onError(e); + } else { + console.error(e); + } + scope.manager.itemError(url); + } + }, onProgress, onError); + } + parse(FBXBuffer, path) { + if (isFbxFormatBinary(FBXBuffer)) { + fbxTree = new BinaryParser().parse(FBXBuffer); + } else { + const FBXText = convertArrayBufferToString(FBXBuffer); + if (!isFbxFormatASCII(FBXText)) { + throw new Error("THREE.FBXLoader: Unknown format."); + } + if (getFbxVersion(FBXText) < 7e3) { + throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: " + getFbxVersion(FBXText)); + } + fbxTree = new TextParser().parse(FBXText); + } + const textureLoader = new TextureLoader(this.manager).setPath(this.resourcePath || path).setCrossOrigin(this.crossOrigin); + return new FBXTreeParser(textureLoader, this.manager).parse(fbxTree); + } +} +class FBXTreeParser { + static { + __name(this, "FBXTreeParser"); + } + constructor(textureLoader, manager) { + this.textureLoader = textureLoader; + this.manager = manager; + } + parse() { + connections = this.parseConnections(); + const images = this.parseImages(); + const textures = this.parseTextures(images); + const materials = this.parseMaterials(textures); + const deformers = this.parseDeformers(); + const geometryMap = new GeometryParser().parse(deformers); + this.parseScene(deformers, geometryMap, materials); + return sceneGraph; + } + // Parses FBXTree.Connections which holds parent-child connections between objects (e.g. material -> texture, model->geometry ) + // and details the connection type + parseConnections() { + const connectionMap = /* @__PURE__ */ new Map(); + if ("Connections" in fbxTree) { + const rawConnections = fbxTree.Connections.connections; + rawConnections.forEach(function(rawConnection) { + const fromID = rawConnection[0]; + const toID = rawConnection[1]; + const relationship = rawConnection[2]; + if (!connectionMap.has(fromID)) { + connectionMap.set(fromID, { + parents: [], + children: [] + }); + } + const parentRelationship = { ID: toID, relationship }; + connectionMap.get(fromID).parents.push(parentRelationship); + if (!connectionMap.has(toID)) { + connectionMap.set(toID, { + parents: [], + children: [] + }); + } + const childRelationship = { ID: fromID, relationship }; + connectionMap.get(toID).children.push(childRelationship); + }); + } + return connectionMap; + } + // Parse FBXTree.Objects.Video for embedded image data + // These images are connected to textures in FBXTree.Objects.Textures + // via FBXTree.Connections. + parseImages() { + const images = {}; + const blobs = {}; + if ("Video" in fbxTree.Objects) { + const videoNodes = fbxTree.Objects.Video; + for (const nodeID in videoNodes) { + const videoNode = videoNodes[nodeID]; + const id2 = parseInt(nodeID); + images[id2] = videoNode.RelativeFilename || videoNode.Filename; + if ("Content" in videoNode) { + const arrayBufferContent = videoNode.Content instanceof ArrayBuffer && videoNode.Content.byteLength > 0; + const base64Content = typeof videoNode.Content === "string" && videoNode.Content !== ""; + if (arrayBufferContent || base64Content) { + const image = this.parseImage(videoNodes[nodeID]); + blobs[videoNode.RelativeFilename || videoNode.Filename] = image; + } + } + } + } + for (const id2 in images) { + const filename = images[id2]; + if (blobs[filename] !== void 0) images[id2] = blobs[filename]; + else images[id2] = images[id2].split("\\").pop(); + } + return images; + } + // Parse embedded image data in FBXTree.Video.Content + parseImage(videoNode) { + const content = videoNode.Content; + const fileName = videoNode.RelativeFilename || videoNode.Filename; + const extension = fileName.slice(fileName.lastIndexOf(".") + 1).toLowerCase(); + let type; + switch (extension) { + case "bmp": + type = "image/bmp"; + break; + case "jpg": + case "jpeg": + type = "image/jpeg"; + break; + case "png": + type = "image/png"; + break; + case "tif": + type = "image/tiff"; + break; + case "tga": + if (this.manager.getHandler(".tga") === null) { + console.warn("FBXLoader: TGA loader not found, skipping ", fileName); + } + type = "image/tga"; + break; + default: + console.warn('FBXLoader: Image type "' + extension + '" is not supported.'); + return; + } + if (typeof content === "string") { + return "data:" + type + ";base64," + content; + } else { + const array = new Uint8Array(content); + return window.URL.createObjectURL(new Blob([array], { type })); + } + } + // Parse nodes in FBXTree.Objects.Texture + // These contain details such as UV scaling, cropping, rotation etc and are connected + // to images in FBXTree.Objects.Video + parseTextures(images) { + const textureMap = /* @__PURE__ */ new Map(); + if ("Texture" in fbxTree.Objects) { + const textureNodes = fbxTree.Objects.Texture; + for (const nodeID in textureNodes) { + const texture = this.parseTexture(textureNodes[nodeID], images); + textureMap.set(parseInt(nodeID), texture); + } + } + return textureMap; + } + // Parse individual node in FBXTree.Objects.Texture + parseTexture(textureNode, images) { + const texture = this.loadTexture(textureNode, images); + texture.ID = textureNode.id; + texture.name = textureNode.attrName; + const wrapModeU = textureNode.WrapModeU; + const wrapModeV = textureNode.WrapModeV; + const valueU = wrapModeU !== void 0 ? wrapModeU.value : 0; + const valueV = wrapModeV !== void 0 ? wrapModeV.value : 0; + texture.wrapS = valueU === 0 ? RepeatWrapping : ClampToEdgeWrapping; + texture.wrapT = valueV === 0 ? RepeatWrapping : ClampToEdgeWrapping; + if ("Scaling" in textureNode) { + const values = textureNode.Scaling.value; + texture.repeat.x = values[0]; + texture.repeat.y = values[1]; + } + if ("Translation" in textureNode) { + const values = textureNode.Translation.value; + texture.offset.x = values[0]; + texture.offset.y = values[1]; + } + return texture; + } + // load a texture specified as a blob or data URI, or via an external URL using TextureLoader + loadTexture(textureNode, images) { + const nonNativeExtensions = /* @__PURE__ */ new Set(["tga", "tif", "tiff", "exr", "dds", "hdr", "ktx2"]); + const extension = textureNode.FileName.split(".").pop().toLowerCase(); + const loader = nonNativeExtensions.has(extension) ? this.manager.getHandler(`.${extension}`) : this.textureLoader; + if (!loader) { + console.warn( + `FBXLoader: ${extension.toUpperCase()} loader not found, creating placeholder texture for`, + textureNode.RelativeFilename + ); + return new Texture(); + } + const loaderPath = loader.path; + if (!loaderPath) { + loader.setPath(this.textureLoader.path); + } + const children = connections.get(textureNode.id).children; + let fileName; + if (children !== void 0 && children.length > 0 && images[children[0].ID] !== void 0) { + fileName = images[children[0].ID]; + if (fileName.indexOf("blob:") === 0 || fileName.indexOf("data:") === 0) { + loader.setPath(void 0); + } + } + const texture = loader.load(fileName); + loader.setPath(loaderPath); + return texture; + } + // Parse nodes in FBXTree.Objects.Material + parseMaterials(textureMap) { + const materialMap = /* @__PURE__ */ new Map(); + if ("Material" in fbxTree.Objects) { + const materialNodes = fbxTree.Objects.Material; + for (const nodeID in materialNodes) { + const material = this.parseMaterial(materialNodes[nodeID], textureMap); + if (material !== null) materialMap.set(parseInt(nodeID), material); + } + } + return materialMap; + } + // Parse single node in FBXTree.Objects.Material + // Materials are connected to texture maps in FBXTree.Objects.Textures + // FBX format currently only supports Lambert and Phong shading models + parseMaterial(materialNode, textureMap) { + const ID = materialNode.id; + const name = materialNode.attrName; + let type = materialNode.ShadingModel; + if (typeof type === "object") { + type = type.value; + } + if (!connections.has(ID)) return null; + const parameters = this.parseParameters(materialNode, textureMap, ID); + let material; + switch (type.toLowerCase()) { + case "phong": + material = new MeshPhongMaterial(); + break; + case "lambert": + material = new MeshLambertMaterial(); + break; + default: + console.warn('THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.', type); + material = new MeshPhongMaterial(); + break; + } + material.setValues(parameters); + material.name = name; + return material; + } + // Parse FBX material and return parameters suitable for a three.js material + // Also parse the texture map and return any textures associated with the material + parseParameters(materialNode, textureMap, ID) { + const parameters = {}; + if (materialNode.BumpFactor) { + parameters.bumpScale = materialNode.BumpFactor.value; + } + if (materialNode.Diffuse) { + parameters.color = ColorManagement.toWorkingColorSpace(new Color().fromArray(materialNode.Diffuse.value), SRGBColorSpace); + } else if (materialNode.DiffuseColor && (materialNode.DiffuseColor.type === "Color" || materialNode.DiffuseColor.type === "ColorRGB")) { + parameters.color = ColorManagement.toWorkingColorSpace(new Color().fromArray(materialNode.DiffuseColor.value), SRGBColorSpace); + } + if (materialNode.DisplacementFactor) { + parameters.displacementScale = materialNode.DisplacementFactor.value; + } + if (materialNode.Emissive) { + parameters.emissive = ColorManagement.toWorkingColorSpace(new Color().fromArray(materialNode.Emissive.value), SRGBColorSpace); + } else if (materialNode.EmissiveColor && (materialNode.EmissiveColor.type === "Color" || materialNode.EmissiveColor.type === "ColorRGB")) { + parameters.emissive = ColorManagement.toWorkingColorSpace(new Color().fromArray(materialNode.EmissiveColor.value), SRGBColorSpace); + } + if (materialNode.EmissiveFactor) { + parameters.emissiveIntensity = parseFloat(materialNode.EmissiveFactor.value); + } + parameters.opacity = 1 - (materialNode.TransparencyFactor ? parseFloat(materialNode.TransparencyFactor.value) : 0); + if (parameters.opacity === 1 || parameters.opacity === 0) { + parameters.opacity = materialNode.Opacity ? parseFloat(materialNode.Opacity.value) : null; + if (parameters.opacity === null) { + parameters.opacity = 1 - (materialNode.TransparentColor ? parseFloat(materialNode.TransparentColor.value[0]) : 0); + } + } + if (parameters.opacity < 1) { + parameters.transparent = true; + } + if (materialNode.ReflectionFactor) { + parameters.reflectivity = materialNode.ReflectionFactor.value; + } + if (materialNode.Shininess) { + parameters.shininess = materialNode.Shininess.value; + } + if (materialNode.Specular) { + parameters.specular = ColorManagement.toWorkingColorSpace(new Color().fromArray(materialNode.Specular.value), SRGBColorSpace); + } else if (materialNode.SpecularColor && materialNode.SpecularColor.type === "Color") { + parameters.specular = ColorManagement.toWorkingColorSpace(new Color().fromArray(materialNode.SpecularColor.value), SRGBColorSpace); + } + const scope = this; + connections.get(ID).children.forEach(function(child) { + const type = child.relationship; + switch (type) { + case "Bump": + parameters.bumpMap = scope.getTexture(textureMap, child.ID); + break; + case "Maya|TEX_ao_map": + parameters.aoMap = scope.getTexture(textureMap, child.ID); + break; + case "DiffuseColor": + case "Maya|TEX_color_map": + parameters.map = scope.getTexture(textureMap, child.ID); + if (parameters.map !== void 0) { + parameters.map.colorSpace = SRGBColorSpace; + } + break; + case "DisplacementColor": + parameters.displacementMap = scope.getTexture(textureMap, child.ID); + break; + case "EmissiveColor": + parameters.emissiveMap = scope.getTexture(textureMap, child.ID); + if (parameters.emissiveMap !== void 0) { + parameters.emissiveMap.colorSpace = SRGBColorSpace; + } + break; + case "NormalMap": + case "Maya|TEX_normal_map": + parameters.normalMap = scope.getTexture(textureMap, child.ID); + break; + case "ReflectionColor": + parameters.envMap = scope.getTexture(textureMap, child.ID); + if (parameters.envMap !== void 0) { + parameters.envMap.mapping = EquirectangularReflectionMapping; + parameters.envMap.colorSpace = SRGBColorSpace; + } + break; + case "SpecularColor": + parameters.specularMap = scope.getTexture(textureMap, child.ID); + if (parameters.specularMap !== void 0) { + parameters.specularMap.colorSpace = SRGBColorSpace; + } + break; + case "TransparentColor": + case "TransparencyFactor": + parameters.alphaMap = scope.getTexture(textureMap, child.ID); + parameters.transparent = true; + break; + case "AmbientColor": + case "ShininessExponent": + case "SpecularFactor": + case "VectorDisplacementColor": + default: + console.warn("THREE.FBXLoader: %s map is not supported in three.js, skipping texture.", type); + break; + } + }); + return parameters; + } + // get a texture from the textureMap for use by a material. + getTexture(textureMap, id2) { + if ("LayeredTexture" in fbxTree.Objects && id2 in fbxTree.Objects.LayeredTexture) { + console.warn("THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer."); + id2 = connections.get(id2).children[0].ID; + } + return textureMap.get(id2); + } + // Parse nodes in FBXTree.Objects.Deformer + // Deformer node can contain skinning or Vertex Cache animation data, however only skinning is supported here + // Generates map of Skeleton-like objects for use later when generating and binding skeletons. + parseDeformers() { + const skeletons = {}; + const morphTargets = {}; + if ("Deformer" in fbxTree.Objects) { + const DeformerNodes = fbxTree.Objects.Deformer; + for (const nodeID in DeformerNodes) { + const deformerNode = DeformerNodes[nodeID]; + const relationships = connections.get(parseInt(nodeID)); + if (deformerNode.attrType === "Skin") { + const skeleton = this.parseSkeleton(relationships, DeformerNodes); + skeleton.ID = nodeID; + if (relationships.parents.length > 1) console.warn("THREE.FBXLoader: skeleton attached to more than one geometry is not supported."); + skeleton.geometryID = relationships.parents[0].ID; + skeletons[nodeID] = skeleton; + } else if (deformerNode.attrType === "BlendShape") { + const morphTarget = { + id: nodeID + }; + morphTarget.rawTargets = this.parseMorphTargets(relationships, DeformerNodes); + morphTarget.id = nodeID; + if (relationships.parents.length > 1) console.warn("THREE.FBXLoader: morph target attached to more than one geometry is not supported."); + morphTargets[nodeID] = morphTarget; + } + } + } + return { + skeletons, + morphTargets + }; + } + // Parse single nodes in FBXTree.Objects.Deformer + // The top level skeleton node has type 'Skin' and sub nodes have type 'Cluster' + // Each skin node represents a skeleton and each cluster node represents a bone + parseSkeleton(relationships, deformerNodes) { + const rawBones = []; + relationships.children.forEach(function(child) { + const boneNode = deformerNodes[child.ID]; + if (boneNode.attrType !== "Cluster") return; + const rawBone = { + ID: child.ID, + indices: [], + weights: [], + transformLink: new Matrix4().fromArray(boneNode.TransformLink.a) + // transform: new Matrix4().fromArray( boneNode.Transform.a ), + // linkMode: boneNode.Mode, + }; + if ("Indexes" in boneNode) { + rawBone.indices = boneNode.Indexes.a; + rawBone.weights = boneNode.Weights.a; + } + rawBones.push(rawBone); + }); + return { + rawBones, + bones: [] + }; + } + // The top level morph deformer node has type "BlendShape" and sub nodes have type "BlendShapeChannel" + parseMorphTargets(relationships, deformerNodes) { + const rawMorphTargets = []; + for (let i = 0; i < relationships.children.length; i++) { + const child = relationships.children[i]; + const morphTargetNode = deformerNodes[child.ID]; + const rawMorphTarget = { + name: morphTargetNode.attrName, + initialWeight: morphTargetNode.DeformPercent, + id: morphTargetNode.id, + fullWeights: morphTargetNode.FullWeights.a + }; + if (morphTargetNode.attrType !== "BlendShapeChannel") return; + rawMorphTarget.geoID = connections.get(parseInt(child.ID)).children.filter(function(child2) { + return child2.relationship === void 0; + })[0].ID; + rawMorphTargets.push(rawMorphTarget); + } + return rawMorphTargets; + } + // create the main Group() to be returned by the loader + parseScene(deformers, geometryMap, materialMap) { + sceneGraph = new Group(); + const modelMap = this.parseModels(deformers.skeletons, geometryMap, materialMap); + const modelNodes = fbxTree.Objects.Model; + const scope = this; + modelMap.forEach(function(model) { + const modelNode = modelNodes[model.ID]; + scope.setLookAtProperties(model, modelNode); + const parentConnections = connections.get(model.ID).parents; + parentConnections.forEach(function(connection) { + const parent = modelMap.get(connection.ID); + if (parent !== void 0) parent.add(model); + }); + if (model.parent === null) { + sceneGraph.add(model); + } + }); + this.bindSkeleton(deformers.skeletons, geometryMap, modelMap); + this.addGlobalSceneSettings(); + sceneGraph.traverse(function(node) { + if (node.userData.transformData) { + if (node.parent) { + node.userData.transformData.parentMatrix = node.parent.matrix; + node.userData.transformData.parentMatrixWorld = node.parent.matrixWorld; + } + const transform = generateTransform(node.userData.transformData); + node.applyMatrix4(transform); + node.updateWorldMatrix(); + } + }); + const animations = new AnimationParser().parse(); + if (sceneGraph.children.length === 1 && sceneGraph.children[0].isGroup) { + sceneGraph.children[0].animations = animations; + sceneGraph = sceneGraph.children[0]; + } + sceneGraph.animations = animations; + } + // parse nodes in FBXTree.Objects.Model + parseModels(skeletons, geometryMap, materialMap) { + const modelMap = /* @__PURE__ */ new Map(); + const modelNodes = fbxTree.Objects.Model; + for (const nodeID in modelNodes) { + const id2 = parseInt(nodeID); + const node = modelNodes[nodeID]; + const relationships = connections.get(id2); + let model = this.buildSkeleton(relationships, skeletons, id2, node.attrName); + if (!model) { + switch (node.attrType) { + case "Camera": + model = this.createCamera(relationships); + break; + case "Light": + model = this.createLight(relationships); + break; + case "Mesh": + model = this.createMesh(relationships, geometryMap, materialMap); + break; + case "NurbsCurve": + model = this.createCurve(relationships, geometryMap); + break; + case "LimbNode": + case "Root": + model = new Bone(); + break; + case "Null": + default: + model = new Group(); + break; + } + model.name = node.attrName ? PropertyBinding.sanitizeNodeName(node.attrName) : ""; + model.userData.originalName = node.attrName; + model.ID = id2; + } + this.getTransformData(model, node); + modelMap.set(id2, model); + } + return modelMap; + } + buildSkeleton(relationships, skeletons, id2, name) { + let bone = null; + relationships.parents.forEach(function(parent) { + for (const ID in skeletons) { + const skeleton = skeletons[ID]; + skeleton.rawBones.forEach(function(rawBone, i) { + if (rawBone.ID === parent.ID) { + const subBone = bone; + bone = new Bone(); + bone.matrixWorld.copy(rawBone.transformLink); + bone.name = name ? PropertyBinding.sanitizeNodeName(name) : ""; + bone.userData.originalName = name; + bone.ID = id2; + skeleton.bones[i] = bone; + if (subBone !== null) { + bone.add(subBone); + } + } + }); + } + }); + return bone; + } + // create a PerspectiveCamera or OrthographicCamera + createCamera(relationships) { + let model; + let cameraAttribute; + relationships.children.forEach(function(child) { + const attr = fbxTree.Objects.NodeAttribute[child.ID]; + if (attr !== void 0) { + cameraAttribute = attr; + } + }); + if (cameraAttribute === void 0) { + model = new Object3D(); + } else { + let type = 0; + if (cameraAttribute.CameraProjectionType !== void 0 && cameraAttribute.CameraProjectionType.value === 1) { + type = 1; + } + let nearClippingPlane = 1; + if (cameraAttribute.NearPlane !== void 0) { + nearClippingPlane = cameraAttribute.NearPlane.value / 1e3; + } + let farClippingPlane = 1e3; + if (cameraAttribute.FarPlane !== void 0) { + farClippingPlane = cameraAttribute.FarPlane.value / 1e3; + } + let width = window.innerWidth; + let height = window.innerHeight; + if (cameraAttribute.AspectWidth !== void 0 && cameraAttribute.AspectHeight !== void 0) { + width = cameraAttribute.AspectWidth.value; + height = cameraAttribute.AspectHeight.value; + } + const aspect2 = width / height; + let fov2 = 45; + if (cameraAttribute.FieldOfView !== void 0) { + fov2 = cameraAttribute.FieldOfView.value; + } + const focalLength = cameraAttribute.FocalLength ? cameraAttribute.FocalLength.value : null; + switch (type) { + case 0: + model = new PerspectiveCamera(fov2, aspect2, nearClippingPlane, farClippingPlane); + if (focalLength !== null) model.setFocalLength(focalLength); + break; + case 1: + console.warn("THREE.FBXLoader: Orthographic cameras not supported yet."); + model = new Object3D(); + break; + default: + console.warn("THREE.FBXLoader: Unknown camera type " + type + "."); + model = new Object3D(); + break; + } + } + return model; + } + // Create a DirectionalLight, PointLight or SpotLight + createLight(relationships) { + let model; + let lightAttribute; + relationships.children.forEach(function(child) { + const attr = fbxTree.Objects.NodeAttribute[child.ID]; + if (attr !== void 0) { + lightAttribute = attr; + } + }); + if (lightAttribute === void 0) { + model = new Object3D(); + } else { + let type; + if (lightAttribute.LightType === void 0) { + type = 0; + } else { + type = lightAttribute.LightType.value; + } + let color = 16777215; + if (lightAttribute.Color !== void 0) { + color = ColorManagement.toWorkingColorSpace(new Color().fromArray(lightAttribute.Color.value), SRGBColorSpace); + } + let intensity = lightAttribute.Intensity === void 0 ? 1 : lightAttribute.Intensity.value / 100; + if (lightAttribute.CastLightOnObject !== void 0 && lightAttribute.CastLightOnObject.value === 0) { + intensity = 0; + } + let distance = 0; + if (lightAttribute.FarAttenuationEnd !== void 0) { + if (lightAttribute.EnableFarAttenuation !== void 0 && lightAttribute.EnableFarAttenuation.value === 0) { + distance = 0; + } else { + distance = lightAttribute.FarAttenuationEnd.value; + } + } + const decay = 1; + switch (type) { + case 0: + model = new PointLight(color, intensity, distance, decay); + break; + case 1: + model = new DirectionalLight(color, intensity); + break; + case 2: + let angle = Math.PI / 3; + if (lightAttribute.InnerAngle !== void 0) { + angle = MathUtils.degToRad(lightAttribute.InnerAngle.value); + } + let penumbra = 0; + if (lightAttribute.OuterAngle !== void 0) { + penumbra = MathUtils.degToRad(lightAttribute.OuterAngle.value); + penumbra = Math.max(penumbra, 1); + } + model = new SpotLight(color, intensity, distance, angle, penumbra, decay); + break; + default: + console.warn("THREE.FBXLoader: Unknown light type " + lightAttribute.LightType.value + ", defaulting to a PointLight."); + model = new PointLight(color, intensity); + break; + } + if (lightAttribute.CastShadows !== void 0 && lightAttribute.CastShadows.value === 1) { + model.castShadow = true; + } + } + return model; + } + createMesh(relationships, geometryMap, materialMap) { + let model; + let geometry = null; + let material = null; + const materials = []; + relationships.children.forEach(function(child) { + if (geometryMap.has(child.ID)) { + geometry = geometryMap.get(child.ID); + } + if (materialMap.has(child.ID)) { + materials.push(materialMap.get(child.ID)); + } + }); + if (materials.length > 1) { + material = materials; + } else if (materials.length > 0) { + material = materials[0]; + } else { + material = new MeshPhongMaterial({ + name: Loader.DEFAULT_MATERIAL_NAME, + color: 13421772 + }); + materials.push(material); + } + if ("color" in geometry.attributes) { + materials.forEach(function(material2) { + material2.vertexColors = true; + }); + } + if (geometry.FBX_Deformer) { + model = new SkinnedMesh(geometry, material); + model.normalizeSkinWeights(); + } else { + model = new Mesh(geometry, material); + } + return model; + } + createCurve(relationships, geometryMap) { + const geometry = relationships.children.reduce(function(geo, child) { + if (geometryMap.has(child.ID)) geo = geometryMap.get(child.ID); + return geo; + }, null); + const material = new LineBasicMaterial({ + name: Loader.DEFAULT_MATERIAL_NAME, + color: 3342591, + linewidth: 1 + }); + return new Line(geometry, material); + } + // parse the model node for transform data + getTransformData(model, modelNode) { + const transformData = {}; + if ("InheritType" in modelNode) transformData.inheritType = parseInt(modelNode.InheritType.value); + if ("RotationOrder" in modelNode) transformData.eulerOrder = getEulerOrder(modelNode.RotationOrder.value); + else transformData.eulerOrder = getEulerOrder(0); + if ("Lcl_Translation" in modelNode) transformData.translation = modelNode.Lcl_Translation.value; + if ("PreRotation" in modelNode) transformData.preRotation = modelNode.PreRotation.value; + if ("Lcl_Rotation" in modelNode) transformData.rotation = modelNode.Lcl_Rotation.value; + if ("PostRotation" in modelNode) transformData.postRotation = modelNode.PostRotation.value; + if ("Lcl_Scaling" in modelNode) transformData.scale = modelNode.Lcl_Scaling.value; + if ("ScalingOffset" in modelNode) transformData.scalingOffset = modelNode.ScalingOffset.value; + if ("ScalingPivot" in modelNode) transformData.scalingPivot = modelNode.ScalingPivot.value; + if ("RotationOffset" in modelNode) transformData.rotationOffset = modelNode.RotationOffset.value; + if ("RotationPivot" in modelNode) transformData.rotationPivot = modelNode.RotationPivot.value; + model.userData.transformData = transformData; + } + setLookAtProperties(model, modelNode) { + if ("LookAtProperty" in modelNode) { + const children = connections.get(model.ID).children; + children.forEach(function(child) { + if (child.relationship === "LookAtProperty") { + const lookAtTarget = fbxTree.Objects.Model[child.ID]; + if ("Lcl_Translation" in lookAtTarget) { + const pos = lookAtTarget.Lcl_Translation.value; + if (model.target !== void 0) { + model.target.position.fromArray(pos); + sceneGraph.add(model.target); + } else { + model.lookAt(new Vector3().fromArray(pos)); + } + } + } + }); + } + } + bindSkeleton(skeletons, geometryMap, modelMap) { + const bindMatrices = this.parsePoseNodes(); + for (const ID in skeletons) { + const skeleton = skeletons[ID]; + const parents = connections.get(parseInt(skeleton.ID)).parents; + parents.forEach(function(parent) { + if (geometryMap.has(parent.ID)) { + const geoID = parent.ID; + const geoRelationships = connections.get(geoID); + geoRelationships.parents.forEach(function(geoConnParent) { + if (modelMap.has(geoConnParent.ID)) { + const model = modelMap.get(geoConnParent.ID); + model.bind(new Skeleton(skeleton.bones), bindMatrices[geoConnParent.ID]); + } + }); + } + }); + } + } + parsePoseNodes() { + const bindMatrices = {}; + if ("Pose" in fbxTree.Objects) { + const BindPoseNode = fbxTree.Objects.Pose; + for (const nodeID in BindPoseNode) { + if (BindPoseNode[nodeID].attrType === "BindPose" && BindPoseNode[nodeID].NbPoseNodes > 0) { + const poseNodes = BindPoseNode[nodeID].PoseNode; + if (Array.isArray(poseNodes)) { + poseNodes.forEach(function(poseNode) { + bindMatrices[poseNode.Node] = new Matrix4().fromArray(poseNode.Matrix.a); + }); + } else { + bindMatrices[poseNodes.Node] = new Matrix4().fromArray(poseNodes.Matrix.a); + } + } + } + } + return bindMatrices; + } + addGlobalSceneSettings() { + if ("GlobalSettings" in fbxTree) { + if ("AmbientColor" in fbxTree.GlobalSettings) { + const ambientColor = fbxTree.GlobalSettings.AmbientColor.value; + const r = ambientColor[0]; + const g = ambientColor[1]; + const b = ambientColor[2]; + if (r !== 0 || g !== 0 || b !== 0) { + const color = new Color().setRGB(r, g, b, SRGBColorSpace); + sceneGraph.add(new AmbientLight(color, 1)); + } + } + if ("UnitScaleFactor" in fbxTree.GlobalSettings) { + sceneGraph.userData.unitScaleFactor = fbxTree.GlobalSettings.UnitScaleFactor.value; + } + } + } +} +class GeometryParser { + static { + __name(this, "GeometryParser"); + } + constructor() { + this.negativeMaterialIndices = false; + } + // Parse nodes in FBXTree.Objects.Geometry + parse(deformers) { + const geometryMap = /* @__PURE__ */ new Map(); + if ("Geometry" in fbxTree.Objects) { + const geoNodes = fbxTree.Objects.Geometry; + for (const nodeID in geoNodes) { + const relationships = connections.get(parseInt(nodeID)); + const geo = this.parseGeometry(relationships, geoNodes[nodeID], deformers); + geometryMap.set(parseInt(nodeID), geo); + } + } + if (this.negativeMaterialIndices === true) { + console.warn("THREE.FBXLoader: The FBX file contains invalid (negative) material indices. The asset might not render as expected."); + } + return geometryMap; + } + // Parse single node in FBXTree.Objects.Geometry + parseGeometry(relationships, geoNode, deformers) { + switch (geoNode.attrType) { + case "Mesh": + return this.parseMeshGeometry(relationships, geoNode, deformers); + break; + case "NurbsCurve": + return this.parseNurbsGeometry(geoNode); + break; + } + } + // Parse single node mesh geometry in FBXTree.Objects.Geometry + parseMeshGeometry(relationships, geoNode, deformers) { + const skeletons = deformers.skeletons; + const morphTargets = []; + const modelNodes = relationships.parents.map(function(parent) { + return fbxTree.Objects.Model[parent.ID]; + }); + if (modelNodes.length === 0) return; + const skeleton = relationships.children.reduce(function(skeleton2, child) { + if (skeletons[child.ID] !== void 0) skeleton2 = skeletons[child.ID]; + return skeleton2; + }, null); + relationships.children.forEach(function(child) { + if (deformers.morphTargets[child.ID] !== void 0) { + morphTargets.push(deformers.morphTargets[child.ID]); + } + }); + const modelNode = modelNodes[0]; + const transformData = {}; + if ("RotationOrder" in modelNode) transformData.eulerOrder = getEulerOrder(modelNode.RotationOrder.value); + if ("InheritType" in modelNode) transformData.inheritType = parseInt(modelNode.InheritType.value); + if ("GeometricTranslation" in modelNode) transformData.translation = modelNode.GeometricTranslation.value; + if ("GeometricRotation" in modelNode) transformData.rotation = modelNode.GeometricRotation.value; + if ("GeometricScaling" in modelNode) transformData.scale = modelNode.GeometricScaling.value; + const transform = generateTransform(transformData); + return this.genGeometry(geoNode, skeleton, morphTargets, transform); + } + // Generate a BufferGeometry from a node in FBXTree.Objects.Geometry + genGeometry(geoNode, skeleton, morphTargets, preTransform) { + const geo = new BufferGeometry(); + if (geoNode.attrName) geo.name = geoNode.attrName; + const geoInfo = this.parseGeoNode(geoNode, skeleton); + const buffers = this.genBuffers(geoInfo); + const positionAttribute = new Float32BufferAttribute(buffers.vertex, 3); + positionAttribute.applyMatrix4(preTransform); + geo.setAttribute("position", positionAttribute); + if (buffers.colors.length > 0) { + geo.setAttribute("color", new Float32BufferAttribute(buffers.colors, 3)); + } + if (skeleton) { + geo.setAttribute("skinIndex", new Uint16BufferAttribute(buffers.weightsIndices, 4)); + geo.setAttribute("skinWeight", new Float32BufferAttribute(buffers.vertexWeights, 4)); + geo.FBX_Deformer = skeleton; + } + if (buffers.normal.length > 0) { + const normalMatrix = new Matrix3().getNormalMatrix(preTransform); + const normalAttribute = new Float32BufferAttribute(buffers.normal, 3); + normalAttribute.applyNormalMatrix(normalMatrix); + geo.setAttribute("normal", normalAttribute); + } + buffers.uvs.forEach(function(uvBuffer, i) { + const name = i === 0 ? "uv" : `uv${i}`; + geo.setAttribute(name, new Float32BufferAttribute(buffers.uvs[i], 2)); + }); + if (geoInfo.material && geoInfo.material.mappingType !== "AllSame") { + let prevMaterialIndex = buffers.materialIndex[0]; + let startIndex = 0; + buffers.materialIndex.forEach(function(currentIndex, i) { + if (currentIndex !== prevMaterialIndex) { + geo.addGroup(startIndex, i - startIndex, prevMaterialIndex); + prevMaterialIndex = currentIndex; + startIndex = i; + } + }); + if (geo.groups.length > 0) { + const lastGroup = geo.groups[geo.groups.length - 1]; + const lastIndex = lastGroup.start + lastGroup.count; + if (lastIndex !== buffers.materialIndex.length) { + geo.addGroup(lastIndex, buffers.materialIndex.length - lastIndex, prevMaterialIndex); + } + } + if (geo.groups.length === 0) { + geo.addGroup(0, buffers.materialIndex.length, buffers.materialIndex[0]); + } + } + this.addMorphTargets(geo, geoNode, morphTargets, preTransform); + return geo; + } + parseGeoNode(geoNode, skeleton) { + const geoInfo = {}; + geoInfo.vertexPositions = geoNode.Vertices !== void 0 ? geoNode.Vertices.a : []; + geoInfo.vertexIndices = geoNode.PolygonVertexIndex !== void 0 ? geoNode.PolygonVertexIndex.a : []; + if (geoNode.LayerElementColor) { + geoInfo.color = this.parseVertexColors(geoNode.LayerElementColor[0]); + } + if (geoNode.LayerElementMaterial) { + geoInfo.material = this.parseMaterialIndices(geoNode.LayerElementMaterial[0]); + } + if (geoNode.LayerElementNormal) { + geoInfo.normal = this.parseNormals(geoNode.LayerElementNormal[0]); + } + if (geoNode.LayerElementUV) { + geoInfo.uv = []; + let i = 0; + while (geoNode.LayerElementUV[i]) { + if (geoNode.LayerElementUV[i].UV) { + geoInfo.uv.push(this.parseUVs(geoNode.LayerElementUV[i])); + } + i++; + } + } + geoInfo.weightTable = {}; + if (skeleton !== null) { + geoInfo.skeleton = skeleton; + skeleton.rawBones.forEach(function(rawBone, i) { + rawBone.indices.forEach(function(index, j) { + if (geoInfo.weightTable[index] === void 0) geoInfo.weightTable[index] = []; + geoInfo.weightTable[index].push({ + id: i, + weight: rawBone.weights[j] + }); + }); + }); + } + return geoInfo; + } + genBuffers(geoInfo) { + const buffers = { + vertex: [], + normal: [], + colors: [], + uvs: [], + materialIndex: [], + vertexWeights: [], + weightsIndices: [] + }; + let polygonIndex = 0; + let faceLength = 0; + let displayedWeightsWarning = false; + let facePositionIndexes = []; + let faceNormals = []; + let faceColors = []; + let faceUVs = []; + let faceWeights = []; + let faceWeightIndices = []; + const scope = this; + geoInfo.vertexIndices.forEach(function(vertexIndex, polygonVertexIndex) { + let materialIndex; + let endOfFace = false; + if (vertexIndex < 0) { + vertexIndex = vertexIndex ^ -1; + endOfFace = true; + } + let weightIndices = []; + let weights = []; + facePositionIndexes.push(vertexIndex * 3, vertexIndex * 3 + 1, vertexIndex * 3 + 2); + if (geoInfo.color) { + const data = getData(polygonVertexIndex, polygonIndex, vertexIndex, geoInfo.color); + faceColors.push(data[0], data[1], data[2]); + } + if (geoInfo.skeleton) { + if (geoInfo.weightTable[vertexIndex] !== void 0) { + geoInfo.weightTable[vertexIndex].forEach(function(wt) { + weights.push(wt.weight); + weightIndices.push(wt.id); + }); + } + if (weights.length > 4) { + if (!displayedWeightsWarning) { + console.warn("THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."); + displayedWeightsWarning = true; + } + const wIndex = [0, 0, 0, 0]; + const Weight = [0, 0, 0, 0]; + weights.forEach(function(weight, weightIndex) { + let currentWeight = weight; + let currentIndex = weightIndices[weightIndex]; + Weight.forEach(function(comparedWeight, comparedWeightIndex, comparedWeightArray) { + if (currentWeight > comparedWeight) { + comparedWeightArray[comparedWeightIndex] = currentWeight; + currentWeight = comparedWeight; + const tmp2 = wIndex[comparedWeightIndex]; + wIndex[comparedWeightIndex] = currentIndex; + currentIndex = tmp2; + } + }); + }); + weightIndices = wIndex; + weights = Weight; + } + while (weights.length < 4) { + weights.push(0); + weightIndices.push(0); + } + for (let i = 0; i < 4; ++i) { + faceWeights.push(weights[i]); + faceWeightIndices.push(weightIndices[i]); + } + } + if (geoInfo.normal) { + const data = getData(polygonVertexIndex, polygonIndex, vertexIndex, geoInfo.normal); + faceNormals.push(data[0], data[1], data[2]); + } + if (geoInfo.material && geoInfo.material.mappingType !== "AllSame") { + materialIndex = getData(polygonVertexIndex, polygonIndex, vertexIndex, geoInfo.material)[0]; + if (materialIndex < 0) { + scope.negativeMaterialIndices = true; + materialIndex = 0; + } + } + if (geoInfo.uv) { + geoInfo.uv.forEach(function(uv, i) { + const data = getData(polygonVertexIndex, polygonIndex, vertexIndex, uv); + if (faceUVs[i] === void 0) { + faceUVs[i] = []; + } + faceUVs[i].push(data[0]); + faceUVs[i].push(data[1]); + }); + } + faceLength++; + if (endOfFace) { + scope.genFace(buffers, geoInfo, facePositionIndexes, materialIndex, faceNormals, faceColors, faceUVs, faceWeights, faceWeightIndices, faceLength); + polygonIndex++; + faceLength = 0; + facePositionIndexes = []; + faceNormals = []; + faceColors = []; + faceUVs = []; + faceWeights = []; + faceWeightIndices = []; + } + }); + return buffers; + } + // See https://www.khronos.org/opengl/wiki/Calculating_a_Surface_Normal + getNormalNewell(vertices) { + const normal = new Vector3(0, 0, 0); + for (let i = 0; i < vertices.length; i++) { + const current = vertices[i]; + const next = vertices[(i + 1) % vertices.length]; + normal.x += (current.y - next.y) * (current.z + next.z); + normal.y += (current.z - next.z) * (current.x + next.x); + normal.z += (current.x - next.x) * (current.y + next.y); + } + normal.normalize(); + return normal; + } + getNormalTangentAndBitangent(vertices) { + const normalVector = this.getNormalNewell(vertices); + const up = Math.abs(normalVector.z) > 0.5 ? new Vector3(0, 1, 0) : new Vector3(0, 0, 1); + const tangent = up.cross(normalVector).normalize(); + const bitangent = normalVector.clone().cross(tangent).normalize(); + return { + normal: normalVector, + tangent, + bitangent + }; + } + flattenVertex(vertex2, normalTangent, normalBitangent) { + return new Vector2( + vertex2.dot(normalTangent), + vertex2.dot(normalBitangent) + ); + } + // Generate data for a single face in a geometry. If the face is a quad then split it into 2 tris + genFace(buffers, geoInfo, facePositionIndexes, materialIndex, faceNormals, faceColors, faceUVs, faceWeights, faceWeightIndices, faceLength) { + let triangles; + if (faceLength > 3) { + const vertices = []; + const positions = geoInfo.baseVertexPositions || geoInfo.vertexPositions; + for (let i = 0; i < facePositionIndexes.length; i += 3) { + vertices.push( + new Vector3( + positions[facePositionIndexes[i]], + positions[facePositionIndexes[i + 1]], + positions[facePositionIndexes[i + 2]] + ) + ); + } + const { tangent, bitangent } = this.getNormalTangentAndBitangent(vertices); + const triangulationInput = []; + for (const vertex2 of vertices) { + triangulationInput.push(this.flattenVertex(vertex2, tangent, bitangent)); + } + triangles = ShapeUtils.triangulateShape(triangulationInput, []); + } else { + triangles = [[0, 1, 2]]; + } + for (const [i0, i1, i2] of triangles) { + buffers.vertex.push(geoInfo.vertexPositions[facePositionIndexes[i0 * 3]]); + buffers.vertex.push(geoInfo.vertexPositions[facePositionIndexes[i0 * 3 + 1]]); + buffers.vertex.push(geoInfo.vertexPositions[facePositionIndexes[i0 * 3 + 2]]); + buffers.vertex.push(geoInfo.vertexPositions[facePositionIndexes[i1 * 3]]); + buffers.vertex.push(geoInfo.vertexPositions[facePositionIndexes[i1 * 3 + 1]]); + buffers.vertex.push(geoInfo.vertexPositions[facePositionIndexes[i1 * 3 + 2]]); + buffers.vertex.push(geoInfo.vertexPositions[facePositionIndexes[i2 * 3]]); + buffers.vertex.push(geoInfo.vertexPositions[facePositionIndexes[i2 * 3 + 1]]); + buffers.vertex.push(geoInfo.vertexPositions[facePositionIndexes[i2 * 3 + 2]]); + if (geoInfo.skeleton) { + buffers.vertexWeights.push(faceWeights[i0 * 4]); + buffers.vertexWeights.push(faceWeights[i0 * 4 + 1]); + buffers.vertexWeights.push(faceWeights[i0 * 4 + 2]); + buffers.vertexWeights.push(faceWeights[i0 * 4 + 3]); + buffers.vertexWeights.push(faceWeights[i1 * 4]); + buffers.vertexWeights.push(faceWeights[i1 * 4 + 1]); + buffers.vertexWeights.push(faceWeights[i1 * 4 + 2]); + buffers.vertexWeights.push(faceWeights[i1 * 4 + 3]); + buffers.vertexWeights.push(faceWeights[i2 * 4]); + buffers.vertexWeights.push(faceWeights[i2 * 4 + 1]); + buffers.vertexWeights.push(faceWeights[i2 * 4 + 2]); + buffers.vertexWeights.push(faceWeights[i2 * 4 + 3]); + buffers.weightsIndices.push(faceWeightIndices[i0 * 4]); + buffers.weightsIndices.push(faceWeightIndices[i0 * 4 + 1]); + buffers.weightsIndices.push(faceWeightIndices[i0 * 4 + 2]); + buffers.weightsIndices.push(faceWeightIndices[i0 * 4 + 3]); + buffers.weightsIndices.push(faceWeightIndices[i1 * 4]); + buffers.weightsIndices.push(faceWeightIndices[i1 * 4 + 1]); + buffers.weightsIndices.push(faceWeightIndices[i1 * 4 + 2]); + buffers.weightsIndices.push(faceWeightIndices[i1 * 4 + 3]); + buffers.weightsIndices.push(faceWeightIndices[i2 * 4]); + buffers.weightsIndices.push(faceWeightIndices[i2 * 4 + 1]); + buffers.weightsIndices.push(faceWeightIndices[i2 * 4 + 2]); + buffers.weightsIndices.push(faceWeightIndices[i2 * 4 + 3]); + } + if (geoInfo.color) { + buffers.colors.push(faceColors[i0 * 3]); + buffers.colors.push(faceColors[i0 * 3 + 1]); + buffers.colors.push(faceColors[i0 * 3 + 2]); + buffers.colors.push(faceColors[i1 * 3]); + buffers.colors.push(faceColors[i1 * 3 + 1]); + buffers.colors.push(faceColors[i1 * 3 + 2]); + buffers.colors.push(faceColors[i2 * 3]); + buffers.colors.push(faceColors[i2 * 3 + 1]); + buffers.colors.push(faceColors[i2 * 3 + 2]); + } + if (geoInfo.material && geoInfo.material.mappingType !== "AllSame") { + buffers.materialIndex.push(materialIndex); + buffers.materialIndex.push(materialIndex); + buffers.materialIndex.push(materialIndex); + } + if (geoInfo.normal) { + buffers.normal.push(faceNormals[i0 * 3]); + buffers.normal.push(faceNormals[i0 * 3 + 1]); + buffers.normal.push(faceNormals[i0 * 3 + 2]); + buffers.normal.push(faceNormals[i1 * 3]); + buffers.normal.push(faceNormals[i1 * 3 + 1]); + buffers.normal.push(faceNormals[i1 * 3 + 2]); + buffers.normal.push(faceNormals[i2 * 3]); + buffers.normal.push(faceNormals[i2 * 3 + 1]); + buffers.normal.push(faceNormals[i2 * 3 + 2]); + } + if (geoInfo.uv) { + geoInfo.uv.forEach(function(uv, j) { + if (buffers.uvs[j] === void 0) buffers.uvs[j] = []; + buffers.uvs[j].push(faceUVs[j][i0 * 2]); + buffers.uvs[j].push(faceUVs[j][i0 * 2 + 1]); + buffers.uvs[j].push(faceUVs[j][i1 * 2]); + buffers.uvs[j].push(faceUVs[j][i1 * 2 + 1]); + buffers.uvs[j].push(faceUVs[j][i2 * 2]); + buffers.uvs[j].push(faceUVs[j][i2 * 2 + 1]); + }); + } + } + } + addMorphTargets(parentGeo, parentGeoNode, morphTargets, preTransform) { + if (morphTargets.length === 0) return; + parentGeo.morphTargetsRelative = true; + parentGeo.morphAttributes.position = []; + const scope = this; + morphTargets.forEach(function(morphTarget) { + morphTarget.rawTargets.forEach(function(rawTarget) { + const morphGeoNode = fbxTree.Objects.Geometry[rawTarget.geoID]; + if (morphGeoNode !== void 0) { + scope.genMorphGeometry(parentGeo, parentGeoNode, morphGeoNode, preTransform, rawTarget.name); + } + }); + }); + } + // a morph geometry node is similar to a standard node, and the node is also contained + // in FBXTree.Objects.Geometry, however it can only have attributes for position, normal + // and a special attribute Index defining which vertices of the original geometry are affected + // Normal and position attributes only have data for the vertices that are affected by the morph + genMorphGeometry(parentGeo, parentGeoNode, morphGeoNode, preTransform, name) { + const basePositions = parentGeoNode.Vertices !== void 0 ? parentGeoNode.Vertices.a : []; + const baseIndices = parentGeoNode.PolygonVertexIndex !== void 0 ? parentGeoNode.PolygonVertexIndex.a : []; + const morphPositionsSparse = morphGeoNode.Vertices !== void 0 ? morphGeoNode.Vertices.a : []; + const morphIndices = morphGeoNode.Indexes !== void 0 ? morphGeoNode.Indexes.a : []; + const length = parentGeo.attributes.position.count * 3; + const morphPositions = new Float32Array(length); + for (let i = 0; i < morphIndices.length; i++) { + const morphIndex = morphIndices[i] * 3; + morphPositions[morphIndex] = morphPositionsSparse[i * 3]; + morphPositions[morphIndex + 1] = morphPositionsSparse[i * 3 + 1]; + morphPositions[morphIndex + 2] = morphPositionsSparse[i * 3 + 2]; + } + const morphGeoInfo = { + vertexIndices: baseIndices, + vertexPositions: morphPositions, + baseVertexPositions: basePositions + }; + const morphBuffers = this.genBuffers(morphGeoInfo); + const positionAttribute = new Float32BufferAttribute(morphBuffers.vertex, 3); + positionAttribute.name = name || morphGeoNode.attrName; + positionAttribute.applyMatrix4(preTransform); + parentGeo.morphAttributes.position.push(positionAttribute); + } + // Parse normal from FBXTree.Objects.Geometry.LayerElementNormal if it exists + parseNormals(NormalNode) { + const mappingType = NormalNode.MappingInformationType; + const referenceType = NormalNode.ReferenceInformationType; + const buffer = NormalNode.Normals.a; + let indexBuffer = []; + if (referenceType === "IndexToDirect") { + if ("NormalIndex" in NormalNode) { + indexBuffer = NormalNode.NormalIndex.a; + } else if ("NormalsIndex" in NormalNode) { + indexBuffer = NormalNode.NormalsIndex.a; + } + } + return { + dataSize: 3, + buffer, + indices: indexBuffer, + mappingType, + referenceType + }; + } + // Parse UVs from FBXTree.Objects.Geometry.LayerElementUV if it exists + parseUVs(UVNode) { + const mappingType = UVNode.MappingInformationType; + const referenceType = UVNode.ReferenceInformationType; + const buffer = UVNode.UV.a; + let indexBuffer = []; + if (referenceType === "IndexToDirect") { + indexBuffer = UVNode.UVIndex.a; + } + return { + dataSize: 2, + buffer, + indices: indexBuffer, + mappingType, + referenceType + }; + } + // Parse Vertex Colors from FBXTree.Objects.Geometry.LayerElementColor if it exists + parseVertexColors(ColorNode) { + const mappingType = ColorNode.MappingInformationType; + const referenceType = ColorNode.ReferenceInformationType; + const buffer = ColorNode.Colors.a; + let indexBuffer = []; + if (referenceType === "IndexToDirect") { + indexBuffer = ColorNode.ColorIndex.a; + } + for (let i = 0, c = new Color(); i < buffer.length; i += 4) { + c.fromArray(buffer, i); + ColorManagement.toWorkingColorSpace(c, SRGBColorSpace); + c.toArray(buffer, i); + } + return { + dataSize: 4, + buffer, + indices: indexBuffer, + mappingType, + referenceType + }; + } + // Parse mapping and material data in FBXTree.Objects.Geometry.LayerElementMaterial if it exists + parseMaterialIndices(MaterialNode) { + const mappingType = MaterialNode.MappingInformationType; + const referenceType = MaterialNode.ReferenceInformationType; + if (mappingType === "NoMappingInformation") { + return { + dataSize: 1, + buffer: [0], + indices: [0], + mappingType: "AllSame", + referenceType + }; + } + const materialIndexBuffer = MaterialNode.Materials.a; + const materialIndices = []; + for (let i = 0; i < materialIndexBuffer.length; ++i) { + materialIndices.push(i); + } + return { + dataSize: 1, + buffer: materialIndexBuffer, + indices: materialIndices, + mappingType, + referenceType + }; + } + // Generate a NurbGeometry from a node in FBXTree.Objects.Geometry + parseNurbsGeometry(geoNode) { + const order = parseInt(geoNode.Order); + if (isNaN(order)) { + console.error("THREE.FBXLoader: Invalid Order %s given for geometry ID: %s", geoNode.Order, geoNode.id); + return new BufferGeometry(); + } + const degree = order - 1; + const knots = geoNode.KnotVector.a; + const controlPoints = []; + const pointsValues = geoNode.Points.a; + for (let i = 0, l = pointsValues.length; i < l; i += 4) { + controlPoints.push(new Vector4().fromArray(pointsValues, i)); + } + let startKnot, endKnot; + if (geoNode.Form === "Closed") { + controlPoints.push(controlPoints[0]); + } else if (geoNode.Form === "Periodic") { + startKnot = degree; + endKnot = knots.length - 1 - startKnot; + for (let i = 0; i < degree; ++i) { + controlPoints.push(controlPoints[i]); + } + } + const curve = new NURBSCurve(degree, knots, controlPoints, startKnot, endKnot); + const points = curve.getPoints(controlPoints.length * 12); + return new BufferGeometry().setFromPoints(points); + } +} +class AnimationParser { + static { + __name(this, "AnimationParser"); + } + // take raw animation clips and turn them into three.js animation clips + parse() { + const animationClips = []; + const rawClips = this.parseClips(); + if (rawClips !== void 0) { + for (const key in rawClips) { + const rawClip = rawClips[key]; + const clip = this.addClip(rawClip); + animationClips.push(clip); + } + } + return animationClips; + } + parseClips() { + if (fbxTree.Objects.AnimationCurve === void 0) return void 0; + const curveNodesMap = this.parseAnimationCurveNodes(); + this.parseAnimationCurves(curveNodesMap); + const layersMap = this.parseAnimationLayers(curveNodesMap); + const rawClips = this.parseAnimStacks(layersMap); + return rawClips; + } + // parse nodes in FBXTree.Objects.AnimationCurveNode + // each AnimationCurveNode holds data for an animation transform for a model (e.g. left arm rotation ) + // and is referenced by an AnimationLayer + parseAnimationCurveNodes() { + const rawCurveNodes = fbxTree.Objects.AnimationCurveNode; + const curveNodesMap = /* @__PURE__ */ new Map(); + for (const nodeID in rawCurveNodes) { + const rawCurveNode = rawCurveNodes[nodeID]; + if (rawCurveNode.attrName.match(/S|R|T|DeformPercent/) !== null) { + const curveNode = { + id: rawCurveNode.id, + attr: rawCurveNode.attrName, + curves: {} + }; + curveNodesMap.set(curveNode.id, curveNode); + } + } + return curveNodesMap; + } + // parse nodes in FBXTree.Objects.AnimationCurve and connect them up to + // previously parsed AnimationCurveNodes. Each AnimationCurve holds data for a single animated + // axis ( e.g. times and values of x rotation) + parseAnimationCurves(curveNodesMap) { + const rawCurves = fbxTree.Objects.AnimationCurve; + for (const nodeID in rawCurves) { + const animationCurve = { + id: rawCurves[nodeID].id, + times: rawCurves[nodeID].KeyTime.a.map(convertFBXTimeToSeconds), + values: rawCurves[nodeID].KeyValueFloat.a + }; + const relationships = connections.get(animationCurve.id); + if (relationships !== void 0) { + const animationCurveID = relationships.parents[0].ID; + const animationCurveRelationship = relationships.parents[0].relationship; + if (animationCurveRelationship.match(/X/)) { + curveNodesMap.get(animationCurveID).curves["x"] = animationCurve; + } else if (animationCurveRelationship.match(/Y/)) { + curveNodesMap.get(animationCurveID).curves["y"] = animationCurve; + } else if (animationCurveRelationship.match(/Z/)) { + curveNodesMap.get(animationCurveID).curves["z"] = animationCurve; + } else if (animationCurveRelationship.match(/DeformPercent/) && curveNodesMap.has(animationCurveID)) { + curveNodesMap.get(animationCurveID).curves["morph"] = animationCurve; + } + } + } + } + // parse nodes in FBXTree.Objects.AnimationLayer. Each layers holds references + // to various AnimationCurveNodes and is referenced by an AnimationStack node + // note: theoretically a stack can have multiple layers, however in practice there always seems to be one per stack + parseAnimationLayers(curveNodesMap) { + const rawLayers = fbxTree.Objects.AnimationLayer; + const layersMap = /* @__PURE__ */ new Map(); + for (const nodeID in rawLayers) { + const layerCurveNodes = []; + const connection = connections.get(parseInt(nodeID)); + if (connection !== void 0) { + const children = connection.children; + children.forEach(function(child, i) { + if (curveNodesMap.has(child.ID)) { + const curveNode = curveNodesMap.get(child.ID); + if (curveNode.curves.x !== void 0 || curveNode.curves.y !== void 0 || curveNode.curves.z !== void 0) { + if (layerCurveNodes[i] === void 0) { + const modelID = connections.get(child.ID).parents.filter(function(parent) { + return parent.relationship !== void 0; + })[0].ID; + if (modelID !== void 0) { + const rawModel = fbxTree.Objects.Model[modelID.toString()]; + if (rawModel === void 0) { + console.warn("THREE.FBXLoader: Encountered a unused curve.", child); + return; + } + const node = { + modelName: rawModel.attrName ? PropertyBinding.sanitizeNodeName(rawModel.attrName) : "", + ID: rawModel.id, + initialPosition: [0, 0, 0], + initialRotation: [0, 0, 0], + initialScale: [1, 1, 1] + }; + sceneGraph.traverse(function(child2) { + if (child2.ID === rawModel.id) { + node.transform = child2.matrix; + if (child2.userData.transformData) node.eulerOrder = child2.userData.transformData.eulerOrder; + } + }); + if (!node.transform) node.transform = new Matrix4(); + if ("PreRotation" in rawModel) node.preRotation = rawModel.PreRotation.value; + if ("PostRotation" in rawModel) node.postRotation = rawModel.PostRotation.value; + layerCurveNodes[i] = node; + } + } + if (layerCurveNodes[i]) layerCurveNodes[i][curveNode.attr] = curveNode; + } else if (curveNode.curves.morph !== void 0) { + if (layerCurveNodes[i] === void 0) { + const deformerID = connections.get(child.ID).parents.filter(function(parent) { + return parent.relationship !== void 0; + })[0].ID; + const morpherID = connections.get(deformerID).parents[0].ID; + const geoID = connections.get(morpherID).parents[0].ID; + const modelID = connections.get(geoID).parents[0].ID; + const rawModel = fbxTree.Objects.Model[modelID]; + const node = { + modelName: rawModel.attrName ? PropertyBinding.sanitizeNodeName(rawModel.attrName) : "", + morphName: fbxTree.Objects.Deformer[deformerID].attrName + }; + layerCurveNodes[i] = node; + } + layerCurveNodes[i][curveNode.attr] = curveNode; + } + } + }); + layersMap.set(parseInt(nodeID), layerCurveNodes); + } + } + return layersMap; + } + // parse nodes in FBXTree.Objects.AnimationStack. These are the top level node in the animation + // hierarchy. Each Stack node will be used to create a AnimationClip + parseAnimStacks(layersMap) { + const rawStacks = fbxTree.Objects.AnimationStack; + const rawClips = {}; + for (const nodeID in rawStacks) { + const children = connections.get(parseInt(nodeID)).children; + if (children.length > 1) { + console.warn("THREE.FBXLoader: Encountered an animation stack with multiple layers, this is currently not supported. Ignoring subsequent layers."); + } + const layer = layersMap.get(children[0].ID); + rawClips[nodeID] = { + name: rawStacks[nodeID].attrName, + layer + }; + } + return rawClips; + } + addClip(rawClip) { + let tracks = []; + const scope = this; + rawClip.layer.forEach(function(rawTracks) { + tracks = tracks.concat(scope.generateTracks(rawTracks)); + }); + return new AnimationClip(rawClip.name, -1, tracks); + } + generateTracks(rawTracks) { + const tracks = []; + let initialPosition = new Vector3(); + let initialScale = new Vector3(); + if (rawTracks.transform) rawTracks.transform.decompose(initialPosition, new Quaternion(), initialScale); + initialPosition = initialPosition.toArray(); + initialScale = initialScale.toArray(); + if (rawTracks.T !== void 0 && Object.keys(rawTracks.T.curves).length > 0) { + const positionTrack = this.generateVectorTrack(rawTracks.modelName, rawTracks.T.curves, initialPosition, "position"); + if (positionTrack !== void 0) tracks.push(positionTrack); + } + if (rawTracks.R !== void 0 && Object.keys(rawTracks.R.curves).length > 0) { + const rotationTrack = this.generateRotationTrack(rawTracks.modelName, rawTracks.R.curves, rawTracks.preRotation, rawTracks.postRotation, rawTracks.eulerOrder); + if (rotationTrack !== void 0) tracks.push(rotationTrack); + } + if (rawTracks.S !== void 0 && Object.keys(rawTracks.S.curves).length > 0) { + const scaleTrack = this.generateVectorTrack(rawTracks.modelName, rawTracks.S.curves, initialScale, "scale"); + if (scaleTrack !== void 0) tracks.push(scaleTrack); + } + if (rawTracks.DeformPercent !== void 0) { + const morphTrack = this.generateMorphTrack(rawTracks); + if (morphTrack !== void 0) tracks.push(morphTrack); + } + return tracks; + } + generateVectorTrack(modelName, curves, initialValue, type) { + const times = this.getTimesForAllAxes(curves); + const values = this.getKeyframeTrackValues(times, curves, initialValue); + return new VectorKeyframeTrack(modelName + "." + type, times, values); + } + generateRotationTrack(modelName, curves, preRotation, postRotation, eulerOrder) { + let times; + let values; + if (curves.x !== void 0 && curves.y !== void 0 && curves.z !== void 0) { + const result = this.interpolateRotations(curves.x, curves.y, curves.z, eulerOrder); + times = result[0]; + values = result[1]; + } + const defaultEulerOrder = getEulerOrder(0); + if (preRotation !== void 0) { + preRotation = preRotation.map(MathUtils.degToRad); + preRotation.push(defaultEulerOrder); + preRotation = new Euler().fromArray(preRotation); + preRotation = new Quaternion().setFromEuler(preRotation); + } + if (postRotation !== void 0) { + postRotation = postRotation.map(MathUtils.degToRad); + postRotation.push(defaultEulerOrder); + postRotation = new Euler().fromArray(postRotation); + postRotation = new Quaternion().setFromEuler(postRotation).invert(); + } + const quaternion = new Quaternion(); + const euler = new Euler(); + const quaternionValues = []; + if (!values || !times) return new QuaternionKeyframeTrack(modelName + ".quaternion", [0], [0]); + for (let i = 0; i < values.length; i += 3) { + euler.set(values[i], values[i + 1], values[i + 2], eulerOrder); + quaternion.setFromEuler(euler); + if (preRotation !== void 0) quaternion.premultiply(preRotation); + if (postRotation !== void 0) quaternion.multiply(postRotation); + if (i > 2) { + const prevQuat = new Quaternion().fromArray( + quaternionValues, + (i - 3) / 3 * 4 + ); + if (prevQuat.dot(quaternion) < 0) { + quaternion.set(-quaternion.x, -quaternion.y, -quaternion.z, -quaternion.w); + } + } + quaternion.toArray(quaternionValues, i / 3 * 4); + } + return new QuaternionKeyframeTrack(modelName + ".quaternion", times, quaternionValues); + } + generateMorphTrack(rawTracks) { + const curves = rawTracks.DeformPercent.curves.morph; + const values = curves.values.map(function(val) { + return val / 100; + }); + const morphNum = sceneGraph.getObjectByName(rawTracks.modelName).morphTargetDictionary[rawTracks.morphName]; + return new NumberKeyframeTrack(rawTracks.modelName + ".morphTargetInfluences[" + morphNum + "]", curves.times, values); + } + // For all animated objects, times are defined separately for each axis + // Here we'll combine the times into one sorted array without duplicates + getTimesForAllAxes(curves) { + let times = []; + if (curves.x !== void 0) times = times.concat(curves.x.times); + if (curves.y !== void 0) times = times.concat(curves.y.times); + if (curves.z !== void 0) times = times.concat(curves.z.times); + times = times.sort(function(a, b) { + return a - b; + }); + if (times.length > 1) { + let targetIndex = 1; + let lastValue = times[0]; + for (let i = 1; i < times.length; i++) { + const currentValue = times[i]; + if (currentValue !== lastValue) { + times[targetIndex] = currentValue; + lastValue = currentValue; + targetIndex++; + } + } + times = times.slice(0, targetIndex); + } + return times; + } + getKeyframeTrackValues(times, curves, initialValue) { + const prevValue = initialValue; + const values = []; + let xIndex = -1; + let yIndex = -1; + let zIndex = -1; + times.forEach(function(time) { + if (curves.x) xIndex = curves.x.times.indexOf(time); + if (curves.y) yIndex = curves.y.times.indexOf(time); + if (curves.z) zIndex = curves.z.times.indexOf(time); + if (xIndex !== -1) { + const xValue = curves.x.values[xIndex]; + values.push(xValue); + prevValue[0] = xValue; + } else { + values.push(prevValue[0]); + } + if (yIndex !== -1) { + const yValue = curves.y.values[yIndex]; + values.push(yValue); + prevValue[1] = yValue; + } else { + values.push(prevValue[1]); + } + if (zIndex !== -1) { + const zValue = curves.z.values[zIndex]; + values.push(zValue); + prevValue[2] = zValue; + } else { + values.push(prevValue[2]); + } + }); + return values; + } + // Rotations are defined as Euler angles which can have values of any size + // These will be converted to quaternions which don't support values greater than + // PI, so we'll interpolate large rotations + interpolateRotations(curvex, curvey, curvez, eulerOrder) { + const times = []; + const values = []; + times.push(curvex.times[0]); + values.push(MathUtils.degToRad(curvex.values[0])); + values.push(MathUtils.degToRad(curvey.values[0])); + values.push(MathUtils.degToRad(curvez.values[0])); + for (let i = 1; i < curvex.values.length; i++) { + const initialValue = [ + curvex.values[i - 1], + curvey.values[i - 1], + curvez.values[i - 1] + ]; + if (isNaN(initialValue[0]) || isNaN(initialValue[1]) || isNaN(initialValue[2])) { + continue; + } + const initialValueRad = initialValue.map(MathUtils.degToRad); + const currentValue = [ + curvex.values[i], + curvey.values[i], + curvez.values[i] + ]; + if (isNaN(currentValue[0]) || isNaN(currentValue[1]) || isNaN(currentValue[2])) { + continue; + } + const currentValueRad = currentValue.map(MathUtils.degToRad); + const valuesSpan = [ + currentValue[0] - initialValue[0], + currentValue[1] - initialValue[1], + currentValue[2] - initialValue[2] + ]; + const absoluteSpan = [ + Math.abs(valuesSpan[0]), + Math.abs(valuesSpan[1]), + Math.abs(valuesSpan[2]) + ]; + if (absoluteSpan[0] >= 180 || absoluteSpan[1] >= 180 || absoluteSpan[2] >= 180) { + const maxAbsSpan = Math.max(...absoluteSpan); + const numSubIntervals = maxAbsSpan / 180; + const E1 = new Euler(...initialValueRad, eulerOrder); + const E2 = new Euler(...currentValueRad, eulerOrder); + const Q1 = new Quaternion().setFromEuler(E1); + const Q2 = new Quaternion().setFromEuler(E2); + if (Q1.dot(Q2)) { + Q2.set(-Q2.x, -Q2.y, -Q2.z, -Q2.w); + } + const initialTime = curvex.times[i - 1]; + const timeSpan = curvex.times[i] - initialTime; + const Q = new Quaternion(); + const E = new Euler(); + for (let t2 = 0; t2 < 1; t2 += 1 / numSubIntervals) { + Q.copy(Q1.clone().slerp(Q2.clone(), t2)); + times.push(initialTime + t2 * timeSpan); + E.setFromQuaternion(Q, eulerOrder); + values.push(E.x); + values.push(E.y); + values.push(E.z); + } + } else { + times.push(curvex.times[i]); + values.push(MathUtils.degToRad(curvex.values[i])); + values.push(MathUtils.degToRad(curvey.values[i])); + values.push(MathUtils.degToRad(curvez.values[i])); + } + } + return [times, values]; + } +} +class TextParser { + static { + __name(this, "TextParser"); + } + getPrevNode() { + return this.nodeStack[this.currentIndent - 2]; + } + getCurrentNode() { + return this.nodeStack[this.currentIndent - 1]; + } + getCurrentProp() { + return this.currentProp; + } + pushStack(node) { + this.nodeStack.push(node); + this.currentIndent += 1; + } + popStack() { + this.nodeStack.pop(); + this.currentIndent -= 1; + } + setCurrentProp(val, name) { + this.currentProp = val; + this.currentPropName = name; + } + parse(text) { + this.currentIndent = 0; + this.allNodes = new FBXTree(); + this.nodeStack = []; + this.currentProp = []; + this.currentPropName = ""; + const scope = this; + const split = text.split(/[\r\n]+/); + split.forEach(function(line, i) { + const matchComment = line.match(/^[\s\t]*;/); + const matchEmpty = line.match(/^[\s\t]*$/); + if (matchComment || matchEmpty) return; + const matchBeginning = line.match("^\\t{" + scope.currentIndent + "}(\\w+):(.*){", ""); + const matchProperty = line.match("^\\t{" + scope.currentIndent + "}(\\w+):[\\s\\t\\r\\n](.*)"); + const matchEnd = line.match("^\\t{" + (scope.currentIndent - 1) + "}}"); + if (matchBeginning) { + scope.parseNodeBegin(line, matchBeginning); + } else if (matchProperty) { + scope.parseNodeProperty(line, matchProperty, split[++i]); + } else if (matchEnd) { + scope.popStack(); + } else if (line.match(/^[^\s\t}]/)) { + scope.parseNodePropertyContinued(line); + } + }); + return this.allNodes; + } + parseNodeBegin(line, property) { + const nodeName = property[1].trim().replace(/^"/, "").replace(/"$/, ""); + const nodeAttrs = property[2].split(",").map(function(attr) { + return attr.trim().replace(/^"/, "").replace(/"$/, ""); + }); + const node = { name: nodeName }; + const attrs = this.parseNodeAttr(nodeAttrs); + const currentNode = this.getCurrentNode(); + if (this.currentIndent === 0) { + this.allNodes.add(nodeName, node); + } else { + if (nodeName in currentNode) { + if (nodeName === "PoseNode") { + currentNode.PoseNode.push(node); + } else if (currentNode[nodeName].id !== void 0) { + currentNode[nodeName] = {}; + currentNode[nodeName][currentNode[nodeName].id] = currentNode[nodeName]; + } + if (attrs.id !== "") currentNode[nodeName][attrs.id] = node; + } else if (typeof attrs.id === "number") { + currentNode[nodeName] = {}; + currentNode[nodeName][attrs.id] = node; + } else if (nodeName !== "Properties70") { + if (nodeName === "PoseNode") currentNode[nodeName] = [node]; + else currentNode[nodeName] = node; + } + } + if (typeof attrs.id === "number") node.id = attrs.id; + if (attrs.name !== "") node.attrName = attrs.name; + if (attrs.type !== "") node.attrType = attrs.type; + this.pushStack(node); + } + parseNodeAttr(attrs) { + let id2 = attrs[0]; + if (attrs[0] !== "") { + id2 = parseInt(attrs[0]); + if (isNaN(id2)) { + id2 = attrs[0]; + } + } + let name = "", type = ""; + if (attrs.length > 1) { + name = attrs[1].replace(/^(\w+)::/, ""); + type = attrs[2]; + } + return { id: id2, name, type }; + } + parseNodeProperty(line, property, contentLine) { + let propName = property[1].replace(/^"/, "").replace(/"$/, "").trim(); + let propValue = property[2].replace(/^"/, "").replace(/"$/, "").trim(); + if (propName === "Content" && propValue === ",") { + propValue = contentLine.replace(/"/g, "").replace(/,$/, "").trim(); + } + const currentNode = this.getCurrentNode(); + const parentName = currentNode.name; + if (parentName === "Properties70") { + this.parseNodeSpecialProperty(line, propName, propValue); + return; + } + if (propName === "C") { + const connProps = propValue.split(",").slice(1); + const from = parseInt(connProps[0]); + const to = parseInt(connProps[1]); + let rest = propValue.split(",").slice(3); + rest = rest.map(function(elem) { + return elem.trim().replace(/^"/, ""); + }); + propName = "connections"; + propValue = [from, to]; + append(propValue, rest); + if (currentNode[propName] === void 0) { + currentNode[propName] = []; + } + } + if (propName === "Node") currentNode.id = propValue; + if (propName in currentNode && Array.isArray(currentNode[propName])) { + currentNode[propName].push(propValue); + } else { + if (propName !== "a") currentNode[propName] = propValue; + else currentNode.a = propValue; + } + this.setCurrentProp(currentNode, propName); + if (propName === "a" && propValue.slice(-1) !== ",") { + currentNode.a = parseNumberArray(propValue); + } + } + parseNodePropertyContinued(line) { + const currentNode = this.getCurrentNode(); + currentNode.a += line; + if (line.slice(-1) !== ",") { + currentNode.a = parseNumberArray(currentNode.a); + } + } + // parse "Property70" + parseNodeSpecialProperty(line, propName, propValue) { + const props = propValue.split('",').map(function(prop) { + return prop.trim().replace(/^\"/, "").replace(/\s/, "_"); + }); + const innerPropName = props[0]; + const innerPropType1 = props[1]; + const innerPropType2 = props[2]; + const innerPropFlag = props[3]; + let innerPropValue = props[4]; + switch (innerPropType1) { + case "int": + case "enum": + case "bool": + case "ULongLong": + case "double": + case "Number": + case "FieldOfView": + innerPropValue = parseFloat(innerPropValue); + break; + case "Color": + case "ColorRGB": + case "Vector3D": + case "Lcl_Translation": + case "Lcl_Rotation": + case "Lcl_Scaling": + innerPropValue = parseNumberArray(innerPropValue); + break; + } + this.getPrevNode()[innerPropName] = { + "type": innerPropType1, + "type2": innerPropType2, + "flag": innerPropFlag, + "value": innerPropValue + }; + this.setCurrentProp(this.getPrevNode(), innerPropName); + } +} +class BinaryParser { + static { + __name(this, "BinaryParser"); + } + parse(buffer) { + const reader = new BinaryReader(buffer); + reader.skip(23); + const version = reader.getUint32(); + if (version < 6400) { + throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: " + version); + } + const allNodes = new FBXTree(); + while (!this.endOfContent(reader)) { + const node = this.parseNode(reader, version); + if (node !== null) allNodes.add(node.name, node); + } + return allNodes; + } + // Check if reader has reached the end of content. + endOfContent(reader) { + if (reader.size() % 16 === 0) { + return (reader.getOffset() + 160 + 16 & ~15) >= reader.size(); + } else { + return reader.getOffset() + 160 + 16 >= reader.size(); + } + } + // recursively parse nodes until the end of the file is reached + parseNode(reader, version) { + const node = {}; + const endOffset = version >= 7500 ? reader.getUint64() : reader.getUint32(); + const numProperties = version >= 7500 ? reader.getUint64() : reader.getUint32(); + version >= 7500 ? reader.getUint64() : reader.getUint32(); + const nameLen = reader.getUint8(); + const name = reader.getString(nameLen); + if (endOffset === 0) return null; + const propertyList = []; + for (let i = 0; i < numProperties; i++) { + propertyList.push(this.parseProperty(reader)); + } + const id2 = propertyList.length > 0 ? propertyList[0] : ""; + const attrName = propertyList.length > 1 ? propertyList[1] : ""; + const attrType = propertyList.length > 2 ? propertyList[2] : ""; + node.singleProperty = numProperties === 1 && reader.getOffset() === endOffset ? true : false; + while (endOffset > reader.getOffset()) { + const subNode = this.parseNode(reader, version); + if (subNode !== null) this.parseSubNode(name, node, subNode); + } + node.propertyList = propertyList; + if (typeof id2 === "number") node.id = id2; + if (attrName !== "") node.attrName = attrName; + if (attrType !== "") node.attrType = attrType; + if (name !== "") node.name = name; + return node; + } + parseSubNode(name, node, subNode) { + if (subNode.singleProperty === true) { + const value = subNode.propertyList[0]; + if (Array.isArray(value)) { + node[subNode.name] = subNode; + subNode.a = value; + } else { + node[subNode.name] = value; + } + } else if (name === "Connections" && subNode.name === "C") { + const array = []; + subNode.propertyList.forEach(function(property, i) { + if (i !== 0) array.push(property); + }); + if (node.connections === void 0) { + node.connections = []; + } + node.connections.push(array); + } else if (subNode.name === "Properties70") { + const keys = Object.keys(subNode); + keys.forEach(function(key) { + node[key] = subNode[key]; + }); + } else if (name === "Properties70" && subNode.name === "P") { + let innerPropName = subNode.propertyList[0]; + let innerPropType1 = subNode.propertyList[1]; + const innerPropType2 = subNode.propertyList[2]; + const innerPropFlag = subNode.propertyList[3]; + let innerPropValue; + if (innerPropName.indexOf("Lcl ") === 0) innerPropName = innerPropName.replace("Lcl ", "Lcl_"); + if (innerPropType1.indexOf("Lcl ") === 0) innerPropType1 = innerPropType1.replace("Lcl ", "Lcl_"); + if (innerPropType1 === "Color" || innerPropType1 === "ColorRGB" || innerPropType1 === "Vector" || innerPropType1 === "Vector3D" || innerPropType1.indexOf("Lcl_") === 0) { + innerPropValue = [ + subNode.propertyList[4], + subNode.propertyList[5], + subNode.propertyList[6] + ]; + } else { + innerPropValue = subNode.propertyList[4]; + } + node[innerPropName] = { + "type": innerPropType1, + "type2": innerPropType2, + "flag": innerPropFlag, + "value": innerPropValue + }; + } else if (node[subNode.name] === void 0) { + if (typeof subNode.id === "number") { + node[subNode.name] = {}; + node[subNode.name][subNode.id] = subNode; + } else { + node[subNode.name] = subNode; + } + } else { + if (subNode.name === "PoseNode") { + if (!Array.isArray(node[subNode.name])) { + node[subNode.name] = [node[subNode.name]]; + } + node[subNode.name].push(subNode); + } else if (node[subNode.name][subNode.id] === void 0) { + node[subNode.name][subNode.id] = subNode; + } + } + } + parseProperty(reader) { + const type = reader.getString(1); + let length; + switch (type) { + case "C": + return reader.getBoolean(); + case "D": + return reader.getFloat64(); + case "F": + return reader.getFloat32(); + case "I": + return reader.getInt32(); + case "L": + return reader.getInt64(); + case "R": + length = reader.getUint32(); + return reader.getArrayBuffer(length); + case "S": + length = reader.getUint32(); + return reader.getString(length); + case "Y": + return reader.getInt16(); + case "b": + case "c": + case "d": + case "f": + case "i": + case "l": + const arrayLength = reader.getUint32(); + const encoding = reader.getUint32(); + const compressedLength = reader.getUint32(); + if (encoding === 0) { + switch (type) { + case "b": + case "c": + return reader.getBooleanArray(arrayLength); + case "d": + return reader.getFloat64Array(arrayLength); + case "f": + return reader.getFloat32Array(arrayLength); + case "i": + return reader.getInt32Array(arrayLength); + case "l": + return reader.getInt64Array(arrayLength); + } + } + const data = unzlibSync(new Uint8Array(reader.getArrayBuffer(compressedLength))); + const reader2 = new BinaryReader(data.buffer); + switch (type) { + case "b": + case "c": + return reader2.getBooleanArray(arrayLength); + case "d": + return reader2.getFloat64Array(arrayLength); + case "f": + return reader2.getFloat32Array(arrayLength); + case "i": + return reader2.getInt32Array(arrayLength); + case "l": + return reader2.getInt64Array(arrayLength); + } + break; + default: + throw new Error("THREE.FBXLoader: Unknown property type " + type); + } + } +} +class BinaryReader { + static { + __name(this, "BinaryReader"); + } + constructor(buffer, littleEndian) { + this.dv = new DataView(buffer); + this.offset = 0; + this.littleEndian = littleEndian !== void 0 ? littleEndian : true; + this._textDecoder = new TextDecoder(); + } + getOffset() { + return this.offset; + } + size() { + return this.dv.buffer.byteLength; + } + skip(length) { + this.offset += length; + } + // seems like true/false representation depends on exporter. + // true: 1 or 'Y'(=0x59), false: 0 or 'T'(=0x54) + // then sees LSB. + getBoolean() { + return (this.getUint8() & 1) === 1; + } + getBooleanArray(size) { + const a = []; + for (let i = 0; i < size; i++) { + a.push(this.getBoolean()); + } + return a; + } + getUint8() { + const value = this.dv.getUint8(this.offset); + this.offset += 1; + return value; + } + getInt16() { + const value = this.dv.getInt16(this.offset, this.littleEndian); + this.offset += 2; + return value; + } + getInt32() { + const value = this.dv.getInt32(this.offset, this.littleEndian); + this.offset += 4; + return value; + } + getInt32Array(size) { + const a = []; + for (let i = 0; i < size; i++) { + a.push(this.getInt32()); + } + return a; + } + getUint32() { + const value = this.dv.getUint32(this.offset, this.littleEndian); + this.offset += 4; + return value; + } + // JavaScript doesn't support 64-bit integer so calculate this here + // 1 << 32 will return 1 so using multiply operation instead here. + // There's a possibility that this method returns wrong value if the value + // is out of the range between Number.MAX_SAFE_INTEGER and Number.MIN_SAFE_INTEGER. + // TODO: safely handle 64-bit integer + getInt64() { + let low, high; + if (this.littleEndian) { + low = this.getUint32(); + high = this.getUint32(); + } else { + high = this.getUint32(); + low = this.getUint32(); + } + if (high & 2147483648) { + high = ~high & 4294967295; + low = ~low & 4294967295; + if (low === 4294967295) high = high + 1 & 4294967295; + low = low + 1 & 4294967295; + return -(high * 4294967296 + low); + } + return high * 4294967296 + low; + } + getInt64Array(size) { + const a = []; + for (let i = 0; i < size; i++) { + a.push(this.getInt64()); + } + return a; + } + // Note: see getInt64() comment + getUint64() { + let low, high; + if (this.littleEndian) { + low = this.getUint32(); + high = this.getUint32(); + } else { + high = this.getUint32(); + low = this.getUint32(); + } + return high * 4294967296 + low; + } + getFloat32() { + const value = this.dv.getFloat32(this.offset, this.littleEndian); + this.offset += 4; + return value; + } + getFloat32Array(size) { + const a = []; + for (let i = 0; i < size; i++) { + a.push(this.getFloat32()); + } + return a; + } + getFloat64() { + const value = this.dv.getFloat64(this.offset, this.littleEndian); + this.offset += 8; + return value; + } + getFloat64Array(size) { + const a = []; + for (let i = 0; i < size; i++) { + a.push(this.getFloat64()); + } + return a; + } + getArrayBuffer(size) { + const value = this.dv.buffer.slice(this.offset, this.offset + size); + this.offset += size; + return value; + } + getString(size) { + const start = this.offset; + let a = new Uint8Array(this.dv.buffer, start, size); + this.skip(size); + const nullByte = a.indexOf(0); + if (nullByte >= 0) a = new Uint8Array(this.dv.buffer, start, nullByte); + return this._textDecoder.decode(a); + } +} +class FBXTree { + static { + __name(this, "FBXTree"); + } + add(key, val) { + this[key] = val; + } +} +function isFbxFormatBinary(buffer) { + const CORRECT = "Kaydara FBX Binary \0"; + return buffer.byteLength >= CORRECT.length && CORRECT === convertArrayBufferToString(buffer, 0, CORRECT.length); +} +__name(isFbxFormatBinary, "isFbxFormatBinary"); +function isFbxFormatASCII(text) { + const CORRECT = ["K", "a", "y", "d", "a", "r", "a", "\\", "F", "B", "X", "\\", "B", "i", "n", "a", "r", "y", "\\", "\\"]; + let cursor = 0; + function read(offset) { + const result = text[offset - 1]; + text = text.slice(cursor + offset); + cursor++; + return result; + } + __name(read, "read"); + for (let i = 0; i < CORRECT.length; ++i) { + const num = read(1); + if (num === CORRECT[i]) { + return false; + } + } + return true; +} +__name(isFbxFormatASCII, "isFbxFormatASCII"); +function getFbxVersion(text) { + const versionRegExp = /FBXVersion: (\d+)/; + const match = text.match(versionRegExp); + if (match) { + const version = parseInt(match[1]); + return version; + } + throw new Error("THREE.FBXLoader: Cannot find the version number for the file given."); +} +__name(getFbxVersion, "getFbxVersion"); +function convertFBXTimeToSeconds(time) { + return time / 46186158e3; +} +__name(convertFBXTimeToSeconds, "convertFBXTimeToSeconds"); +const dataArray = []; +function getData(polygonVertexIndex, polygonIndex, vertexIndex, infoObject) { + let index; + switch (infoObject.mappingType) { + case "ByPolygonVertex": + index = polygonVertexIndex; + break; + case "ByPolygon": + index = polygonIndex; + break; + case "ByVertice": + index = vertexIndex; + break; + case "AllSame": + index = infoObject.indices[0]; + break; + default: + console.warn("THREE.FBXLoader: unknown attribute mapping type " + infoObject.mappingType); + } + if (infoObject.referenceType === "IndexToDirect") index = infoObject.indices[index]; + const from = index * infoObject.dataSize; + const to = from + infoObject.dataSize; + return slice(dataArray, infoObject.buffer, from, to); +} +__name(getData, "getData"); +const tempEuler = new Euler(); +const tempVec = new Vector3(); +function generateTransform(transformData) { + const lTranslationM = new Matrix4(); + const lPreRotationM = new Matrix4(); + const lRotationM = new Matrix4(); + const lPostRotationM = new Matrix4(); + const lScalingM = new Matrix4(); + const lScalingPivotM = new Matrix4(); + const lScalingOffsetM = new Matrix4(); + const lRotationOffsetM = new Matrix4(); + const lRotationPivotM = new Matrix4(); + const lParentGX = new Matrix4(); + const lParentLX = new Matrix4(); + const lGlobalT = new Matrix4(); + const inheritType = transformData.inheritType ? transformData.inheritType : 0; + if (transformData.translation) lTranslationM.setPosition(tempVec.fromArray(transformData.translation)); + const defaultEulerOrder = getEulerOrder(0); + if (transformData.preRotation) { + const array = transformData.preRotation.map(MathUtils.degToRad); + array.push(defaultEulerOrder); + lPreRotationM.makeRotationFromEuler(tempEuler.fromArray(array)); + } + if (transformData.rotation) { + const array = transformData.rotation.map(MathUtils.degToRad); + array.push(transformData.eulerOrder || defaultEulerOrder); + lRotationM.makeRotationFromEuler(tempEuler.fromArray(array)); + } + if (transformData.postRotation) { + const array = transformData.postRotation.map(MathUtils.degToRad); + array.push(defaultEulerOrder); + lPostRotationM.makeRotationFromEuler(tempEuler.fromArray(array)); + lPostRotationM.invert(); + } + if (transformData.scale) lScalingM.scale(tempVec.fromArray(transformData.scale)); + if (transformData.scalingOffset) lScalingOffsetM.setPosition(tempVec.fromArray(transformData.scalingOffset)); + if (transformData.scalingPivot) lScalingPivotM.setPosition(tempVec.fromArray(transformData.scalingPivot)); + if (transformData.rotationOffset) lRotationOffsetM.setPosition(tempVec.fromArray(transformData.rotationOffset)); + if (transformData.rotationPivot) lRotationPivotM.setPosition(tempVec.fromArray(transformData.rotationPivot)); + if (transformData.parentMatrixWorld) { + lParentLX.copy(transformData.parentMatrix); + lParentGX.copy(transformData.parentMatrixWorld); + } + const lLRM = lPreRotationM.clone().multiply(lRotationM).multiply(lPostRotationM); + const lParentGRM = new Matrix4(); + lParentGRM.extractRotation(lParentGX); + const lParentTM = new Matrix4(); + lParentTM.copyPosition(lParentGX); + const lParentGRSM = lParentTM.clone().invert().multiply(lParentGX); + const lParentGSM = lParentGRM.clone().invert().multiply(lParentGRSM); + const lLSM = lScalingM; + const lGlobalRS = new Matrix4(); + if (inheritType === 0) { + lGlobalRS.copy(lParentGRM).multiply(lLRM).multiply(lParentGSM).multiply(lLSM); + } else if (inheritType === 1) { + lGlobalRS.copy(lParentGRM).multiply(lParentGSM).multiply(lLRM).multiply(lLSM); + } else { + const lParentLSM = new Matrix4().scale(new Vector3().setFromMatrixScale(lParentLX)); + const lParentLSM_inv = lParentLSM.clone().invert(); + const lParentGSM_noLocal = lParentGSM.clone().multiply(lParentLSM_inv); + lGlobalRS.copy(lParentGRM).multiply(lLRM).multiply(lParentGSM_noLocal).multiply(lLSM); + } + const lRotationPivotM_inv = lRotationPivotM.clone().invert(); + const lScalingPivotM_inv = lScalingPivotM.clone().invert(); + let lTransform = lTranslationM.clone().multiply(lRotationOffsetM).multiply(lRotationPivotM).multiply(lPreRotationM).multiply(lRotationM).multiply(lPostRotationM).multiply(lRotationPivotM_inv).multiply(lScalingOffsetM).multiply(lScalingPivotM).multiply(lScalingM).multiply(lScalingPivotM_inv); + const lLocalTWithAllPivotAndOffsetInfo = new Matrix4().copyPosition(lTransform); + const lGlobalTranslation = lParentGX.clone().multiply(lLocalTWithAllPivotAndOffsetInfo); + lGlobalT.copyPosition(lGlobalTranslation); + lTransform = lGlobalT.clone().multiply(lGlobalRS); + lTransform.premultiply(lParentGX.invert()); + return lTransform; +} +__name(generateTransform, "generateTransform"); +function getEulerOrder(order) { + order = order || 0; + const enums = [ + "ZYX", + // -> XYZ extrinsic + "YZX", + // -> XZY extrinsic + "XZY", + // -> YZX extrinsic + "ZXY", + // -> YXZ extrinsic + "YXZ", + // -> ZXY extrinsic + "XYZ" + // -> ZYX extrinsic + //'SphericXYZ', // not possible to support + ]; + if (order === 6) { + console.warn("THREE.FBXLoader: unsupported Euler Order: Spherical XYZ. Animations and rotations may be incorrect."); + return enums[0]; + } + return enums[order]; +} +__name(getEulerOrder, "getEulerOrder"); +function parseNumberArray(value) { + const array = value.split(",").map(function(val) { + return parseFloat(val); + }); + return array; +} +__name(parseNumberArray, "parseNumberArray"); +function convertArrayBufferToString(buffer, from, to) { + if (from === void 0) from = 0; + if (to === void 0) to = buffer.byteLength; + return new TextDecoder().decode(new Uint8Array(buffer, from, to)); +} +__name(convertArrayBufferToString, "convertArrayBufferToString"); +function append(a, b) { + for (let i = 0, j = a.length, l = b.length; i < l; i++, j++) { + a[j] = b[i]; + } +} +__name(append, "append"); +function slice(a, b, from, to) { + for (let i = from, j = 0; i < to; i++, j++) { + a[j] = b[i]; + } + return a; +} +__name(slice, "slice"); +function computeMikkTSpaceTangents(geometry, MikkTSpace, negateSign = true) { + if (!MikkTSpace || !MikkTSpace.isReady) { + throw new Error("BufferGeometryUtils: Initialized MikkTSpace library required."); + } + if (!geometry.hasAttribute("position") || !geometry.hasAttribute("normal") || !geometry.hasAttribute("uv")) { + throw new Error('BufferGeometryUtils: Tangents require "position", "normal", and "uv" attributes.'); + } + function getAttributeArray(attribute) { + if (attribute.normalized || attribute.isInterleavedBufferAttribute) { + const dstArray = new Float32Array(attribute.count * attribute.itemSize); + for (let i = 0, j = 0; i < attribute.count; i++) { + dstArray[j++] = attribute.getX(i); + dstArray[j++] = attribute.getY(i); + if (attribute.itemSize > 2) { + dstArray[j++] = attribute.getZ(i); + } + } + return dstArray; + } + if (attribute.array instanceof Float32Array) { + return attribute.array; + } + return new Float32Array(attribute.array); + } + __name(getAttributeArray, "getAttributeArray"); + const _geometry2 = geometry.index ? geometry.toNonIndexed() : geometry; + const tangents = MikkTSpace.generateTangents( + getAttributeArray(_geometry2.attributes.position), + getAttributeArray(_geometry2.attributes.normal), + getAttributeArray(_geometry2.attributes.uv) + ); + if (negateSign) { + for (let i = 3; i < tangents.length; i += 4) { + tangents[i] *= -1; + } + } + _geometry2.setAttribute("tangent", new BufferAttribute(tangents, 4)); + if (geometry !== _geometry2) { + geometry.copy(_geometry2); + } + return geometry; +} +__name(computeMikkTSpaceTangents, "computeMikkTSpaceTangents"); +function mergeGeometries(geometries, useGroups = false) { + const isIndexed = geometries[0].index !== null; + const attributesUsed = new Set(Object.keys(geometries[0].attributes)); + const morphAttributesUsed = new Set(Object.keys(geometries[0].morphAttributes)); + const attributes = {}; + const morphAttributes = {}; + const morphTargetsRelative = geometries[0].morphTargetsRelative; + const mergedGeometry = new BufferGeometry(); + let offset = 0; + for (let i = 0; i < geometries.length; ++i) { + const geometry = geometries[i]; + let attributesCount = 0; + if (isIndexed !== (geometry.index !== null)) { + console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + i + ". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."); + return null; + } + for (const name in geometry.attributes) { + if (!attributesUsed.has(name)) { + console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + i + '. All geometries must have compatible attributes; make sure "' + name + '" attribute exists among all geometries, or in none of them.'); + return null; + } + if (attributes[name] === void 0) attributes[name] = []; + attributes[name].push(geometry.attributes[name]); + attributesCount++; + } + if (attributesCount !== attributesUsed.size) { + console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + i + ". Make sure all geometries have the same number of attributes."); + return null; + } + if (morphTargetsRelative !== geometry.morphTargetsRelative) { + console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + i + ". .morphTargetsRelative must be consistent throughout all geometries."); + return null; + } + for (const name in geometry.morphAttributes) { + if (!morphAttributesUsed.has(name)) { + console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + i + ". .morphAttributes must be consistent throughout all geometries."); + return null; + } + if (morphAttributes[name] === void 0) morphAttributes[name] = []; + morphAttributes[name].push(geometry.morphAttributes[name]); + } + if (useGroups) { + let count; + if (isIndexed) { + count = geometry.index.count; + } else if (geometry.attributes.position !== void 0) { + count = geometry.attributes.position.count; + } else { + console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + i + ". The geometry must have either an index or a position attribute"); + return null; + } + mergedGeometry.addGroup(offset, count, i); + offset += count; + } + } + if (isIndexed) { + let indexOffset = 0; + const mergedIndex = []; + for (let i = 0; i < geometries.length; ++i) { + const index = geometries[i].index; + for (let j = 0; j < index.count; ++j) { + mergedIndex.push(index.getX(j) + indexOffset); + } + indexOffset += geometries[i].attributes.position.count; + } + mergedGeometry.setIndex(mergedIndex); + } + for (const name in attributes) { + const mergedAttribute = mergeAttributes(attributes[name]); + if (!mergedAttribute) { + console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + name + " attribute."); + return null; + } + mergedGeometry.setAttribute(name, mergedAttribute); + } + for (const name in morphAttributes) { + const numMorphTargets = morphAttributes[name][0].length; + if (numMorphTargets === 0) break; + mergedGeometry.morphAttributes = mergedGeometry.morphAttributes || {}; + mergedGeometry.morphAttributes[name] = []; + for (let i = 0; i < numMorphTargets; ++i) { + const morphAttributesToMerge = []; + for (let j = 0; j < morphAttributes[name].length; ++j) { + morphAttributesToMerge.push(morphAttributes[name][j][i]); + } + const mergedMorphAttribute = mergeAttributes(morphAttributesToMerge); + if (!mergedMorphAttribute) { + console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + name + " morphAttribute."); + return null; + } + mergedGeometry.morphAttributes[name].push(mergedMorphAttribute); + } + } + return mergedGeometry; +} +__name(mergeGeometries, "mergeGeometries"); +function mergeAttributes(attributes) { + let TypedArray; + let itemSize; + let normalized; + let gpuType = -1; + let arrayLength = 0; + for (let i = 0; i < attributes.length; ++i) { + const attribute = attributes[i]; + if (TypedArray === void 0) TypedArray = attribute.array.constructor; + if (TypedArray !== attribute.array.constructor) { + console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."); + return null; + } + if (itemSize === void 0) itemSize = attribute.itemSize; + if (itemSize !== attribute.itemSize) { + console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."); + return null; + } + if (normalized === void 0) normalized = attribute.normalized; + if (normalized !== attribute.normalized) { + console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."); + return null; + } + if (gpuType === -1) gpuType = attribute.gpuType; + if (gpuType !== attribute.gpuType) { + console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."); + return null; + } + arrayLength += attribute.count * itemSize; + } + const array = new TypedArray(arrayLength); + const result = new BufferAttribute(array, itemSize, normalized); + let offset = 0; + for (let i = 0; i < attributes.length; ++i) { + const attribute = attributes[i]; + if (attribute.isInterleavedBufferAttribute) { + const tupleOffset = offset / itemSize; + for (let j = 0, l = attribute.count; j < l; j++) { + for (let c = 0; c < itemSize; c++) { + const value = attribute.getComponent(j, c); + result.setComponent(j + tupleOffset, c, value); + } + } + } else { + array.set(attribute.array, offset); + } + offset += attribute.count * itemSize; + } + if (gpuType !== void 0) { + result.gpuType = gpuType; + } + return result; +} +__name(mergeAttributes, "mergeAttributes"); +function deepCloneAttribute(attribute) { + if (attribute.isInstancedInterleavedBufferAttribute || attribute.isInterleavedBufferAttribute) { + return deinterleaveAttribute(attribute); + } + if (attribute.isInstancedBufferAttribute) { + return new InstancedBufferAttribute().copy(attribute); + } + return new BufferAttribute().copy(attribute); +} +__name(deepCloneAttribute, "deepCloneAttribute"); +function interleaveAttributes(attributes) { + let TypedArray; + let arrayLength = 0; + let stride = 0; + for (let i = 0, l = attributes.length; i < l; ++i) { + const attribute = attributes[i]; + if (TypedArray === void 0) TypedArray = attribute.array.constructor; + if (TypedArray !== attribute.array.constructor) { + console.error("AttributeBuffers of different types cannot be interleaved"); + return null; + } + arrayLength += attribute.array.length; + stride += attribute.itemSize; + } + const interleavedBuffer = new InterleavedBuffer(new TypedArray(arrayLength), stride); + let offset = 0; + const res = []; + const getters = ["getX", "getY", "getZ", "getW"]; + const setters = ["setX", "setY", "setZ", "setW"]; + for (let j = 0, l = attributes.length; j < l; j++) { + const attribute = attributes[j]; + const itemSize = attribute.itemSize; + const count = attribute.count; + const iba = new InterleavedBufferAttribute(interleavedBuffer, itemSize, offset, attribute.normalized); + res.push(iba); + offset += itemSize; + for (let c = 0; c < count; c++) { + for (let k = 0; k < itemSize; k++) { + iba[setters[k]](c, attribute[getters[k]](c)); + } + } + } + return res; +} +__name(interleaveAttributes, "interleaveAttributes"); +function deinterleaveAttribute(attribute) { + const cons = attribute.data.array.constructor; + const count = attribute.count; + const itemSize = attribute.itemSize; + const normalized = attribute.normalized; + const array = new cons(count * itemSize); + let newAttribute; + if (attribute.isInstancedInterleavedBufferAttribute) { + newAttribute = new InstancedBufferAttribute(array, itemSize, normalized, attribute.meshPerAttribute); + } else { + newAttribute = new BufferAttribute(array, itemSize, normalized); + } + for (let i = 0; i < count; i++) { + newAttribute.setX(i, attribute.getX(i)); + if (itemSize >= 2) { + newAttribute.setY(i, attribute.getY(i)); + } + if (itemSize >= 3) { + newAttribute.setZ(i, attribute.getZ(i)); + } + if (itemSize >= 4) { + newAttribute.setW(i, attribute.getW(i)); + } + } + return newAttribute; +} +__name(deinterleaveAttribute, "deinterleaveAttribute"); +function deinterleaveGeometry(geometry) { + const attributes = geometry.attributes; + const morphTargets = geometry.morphTargets; + const attrMap = /* @__PURE__ */ new Map(); + for (const key in attributes) { + const attr = attributes[key]; + if (attr.isInterleavedBufferAttribute) { + if (!attrMap.has(attr)) { + attrMap.set(attr, deinterleaveAttribute(attr)); + } + attributes[key] = attrMap.get(attr); + } + } + for (const key in morphTargets) { + const attr = morphTargets[key]; + if (attr.isInterleavedBufferAttribute) { + if (!attrMap.has(attr)) { + attrMap.set(attr, deinterleaveAttribute(attr)); + } + morphTargets[key] = attrMap.get(attr); + } + } +} +__name(deinterleaveGeometry, "deinterleaveGeometry"); +function estimateBytesUsed(geometry) { + let mem = 0; + for (const name in geometry.attributes) { + const attr = geometry.getAttribute(name); + mem += attr.count * attr.itemSize * attr.array.BYTES_PER_ELEMENT; + } + const indices = geometry.getIndex(); + mem += indices ? indices.count * indices.itemSize * indices.array.BYTES_PER_ELEMENT : 0; + return mem; +} +__name(estimateBytesUsed, "estimateBytesUsed"); +function mergeVertices(geometry, tolerance = 1e-4) { + tolerance = Math.max(tolerance, Number.EPSILON); + const hashToIndex = {}; + const indices = geometry.getIndex(); + const positions = geometry.getAttribute("position"); + const vertexCount = indices ? indices.count : positions.count; + let nextIndex = 0; + const attributeNames = Object.keys(geometry.attributes); + const tmpAttributes = {}; + const tmpMorphAttributes = {}; + const newIndices = []; + const getters = ["getX", "getY", "getZ", "getW"]; + const setters = ["setX", "setY", "setZ", "setW"]; + for (let i = 0, l = attributeNames.length; i < l; i++) { + const name = attributeNames[i]; + const attr = geometry.attributes[name]; + tmpAttributes[name] = new attr.constructor( + new attr.array.constructor(attr.count * attr.itemSize), + attr.itemSize, + attr.normalized + ); + const morphAttributes = geometry.morphAttributes[name]; + if (morphAttributes) { + if (!tmpMorphAttributes[name]) tmpMorphAttributes[name] = []; + morphAttributes.forEach((morphAttr, i2) => { + const array = new morphAttr.array.constructor(morphAttr.count * morphAttr.itemSize); + tmpMorphAttributes[name][i2] = new morphAttr.constructor(array, morphAttr.itemSize, morphAttr.normalized); + }); + } + } + const halfTolerance = tolerance * 0.5; + const exponent = Math.log10(1 / tolerance); + const hashMultiplier = Math.pow(10, exponent); + const hashAdditive = halfTolerance * hashMultiplier; + for (let i = 0; i < vertexCount; i++) { + const index = indices ? indices.getX(i) : i; + let hash = ""; + for (let j = 0, l = attributeNames.length; j < l; j++) { + const name = attributeNames[j]; + const attribute = geometry.getAttribute(name); + const itemSize = attribute.itemSize; + for (let k = 0; k < itemSize; k++) { + hash += `${~~(attribute[getters[k]](index) * hashMultiplier + hashAdditive)},`; + } + } + if (hash in hashToIndex) { + newIndices.push(hashToIndex[hash]); + } else { + for (let j = 0, l = attributeNames.length; j < l; j++) { + const name = attributeNames[j]; + const attribute = geometry.getAttribute(name); + const morphAttributes = geometry.morphAttributes[name]; + const itemSize = attribute.itemSize; + const newArray = tmpAttributes[name]; + const newMorphArrays = tmpMorphAttributes[name]; + for (let k = 0; k < itemSize; k++) { + const getterFunc = getters[k]; + const setterFunc = setters[k]; + newArray[setterFunc](nextIndex, attribute[getterFunc](index)); + if (morphAttributes) { + for (let m = 0, ml = morphAttributes.length; m < ml; m++) { + newMorphArrays[m][setterFunc](nextIndex, morphAttributes[m][getterFunc](index)); + } + } + } + } + hashToIndex[hash] = nextIndex; + newIndices.push(nextIndex); + nextIndex++; + } + } + const result = geometry.clone(); + for (const name in geometry.attributes) { + const tmpAttribute = tmpAttributes[name]; + result.setAttribute(name, new tmpAttribute.constructor( + tmpAttribute.array.slice(0, nextIndex * tmpAttribute.itemSize), + tmpAttribute.itemSize, + tmpAttribute.normalized + )); + if (!(name in tmpMorphAttributes)) continue; + for (let j = 0; j < tmpMorphAttributes[name].length; j++) { + const tmpMorphAttribute = tmpMorphAttributes[name][j]; + result.morphAttributes[name][j] = new tmpMorphAttribute.constructor( + tmpMorphAttribute.array.slice(0, nextIndex * tmpMorphAttribute.itemSize), + tmpMorphAttribute.itemSize, + tmpMorphAttribute.normalized + ); + } + } + result.setIndex(newIndices); + return result; +} +__name(mergeVertices, "mergeVertices"); +function toTrianglesDrawMode(geometry, drawMode) { + if (drawMode === TrianglesDrawMode) { + console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."); + return geometry; + } + if (drawMode === TriangleFanDrawMode || drawMode === TriangleStripDrawMode) { + let index = geometry.getIndex(); + if (index === null) { + const indices = []; + const position = geometry.getAttribute("position"); + if (position !== void 0) { + for (let i = 0; i < position.count; i++) { + indices.push(i); + } + geometry.setIndex(indices); + index = geometry.getIndex(); + } else { + console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."); + return geometry; + } + } + const numberOfTriangles = index.count - 2; + const newIndices = []; + if (drawMode === TriangleFanDrawMode) { + for (let i = 1; i <= numberOfTriangles; i++) { + newIndices.push(index.getX(0)); + newIndices.push(index.getX(i)); + newIndices.push(index.getX(i + 1)); + } + } else { + for (let i = 0; i < numberOfTriangles; i++) { + if (i % 2 === 0) { + newIndices.push(index.getX(i)); + newIndices.push(index.getX(i + 1)); + newIndices.push(index.getX(i + 2)); + } else { + newIndices.push(index.getX(i + 2)); + newIndices.push(index.getX(i + 1)); + newIndices.push(index.getX(i)); + } + } + } + if (newIndices.length / 3 !== numberOfTriangles) { + console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles."); + } + const newGeometry = geometry.clone(); + newGeometry.setIndex(newIndices); + newGeometry.clearGroups(); + return newGeometry; + } else { + console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", drawMode); + return geometry; + } +} +__name(toTrianglesDrawMode, "toTrianglesDrawMode"); +function computeMorphedAttributes(object) { + const _vA2 = new Vector3(); + const _vB2 = new Vector3(); + const _vC2 = new Vector3(); + const _tempA2 = new Vector3(); + const _tempB = new Vector3(); + const _tempC = new Vector3(); + const _morphA2 = new Vector3(); + const _morphB = new Vector3(); + const _morphC = new Vector3(); + function _calculateMorphedAttributeData(object2, attribute, morphAttribute, morphTargetsRelative2, a2, b3, c2, modifiedAttributeArray) { + _vA2.fromBufferAttribute(attribute, a2); + _vB2.fromBufferAttribute(attribute, b3); + _vC2.fromBufferAttribute(attribute, c2); + const morphInfluences = object2.morphTargetInfluences; + if (morphAttribute && morphInfluences) { + _morphA2.set(0, 0, 0); + _morphB.set(0, 0, 0); + _morphC.set(0, 0, 0); + for (let i2 = 0, il2 = morphAttribute.length; i2 < il2; i2++) { + const influence = morphInfluences[i2]; + const morph = morphAttribute[i2]; + if (influence === 0) continue; + _tempA2.fromBufferAttribute(morph, a2); + _tempB.fromBufferAttribute(morph, b3); + _tempC.fromBufferAttribute(morph, c2); + if (morphTargetsRelative2) { + _morphA2.addScaledVector(_tempA2, influence); + _morphB.addScaledVector(_tempB, influence); + _morphC.addScaledVector(_tempC, influence); + } else { + _morphA2.addScaledVector(_tempA2.sub(_vA2), influence); + _morphB.addScaledVector(_tempB.sub(_vB2), influence); + _morphC.addScaledVector(_tempC.sub(_vC2), influence); + } + } + _vA2.add(_morphA2); + _vB2.add(_morphB); + _vC2.add(_morphC); + } + if (object2.isSkinnedMesh) { + object2.applyBoneTransform(a2, _vA2); + object2.applyBoneTransform(b3, _vB2); + object2.applyBoneTransform(c2, _vC2); + } + modifiedAttributeArray[a2 * 3 + 0] = _vA2.x; + modifiedAttributeArray[a2 * 3 + 1] = _vA2.y; + modifiedAttributeArray[a2 * 3 + 2] = _vA2.z; + modifiedAttributeArray[b3 * 3 + 0] = _vB2.x; + modifiedAttributeArray[b3 * 3 + 1] = _vB2.y; + modifiedAttributeArray[b3 * 3 + 2] = _vB2.z; + modifiedAttributeArray[c2 * 3 + 0] = _vC2.x; + modifiedAttributeArray[c2 * 3 + 1] = _vC2.y; + modifiedAttributeArray[c2 * 3 + 2] = _vC2.z; + } + __name(_calculateMorphedAttributeData, "_calculateMorphedAttributeData"); + const geometry = object.geometry; + const material = object.material; + let a, b, c; + const index = geometry.index; + const positionAttribute = geometry.attributes.position; + const morphPosition = geometry.morphAttributes.position; + const morphTargetsRelative = geometry.morphTargetsRelative; + const normalAttribute = geometry.attributes.normal; + const morphNormal = geometry.morphAttributes.position; + const groups = geometry.groups; + const drawRange = geometry.drawRange; + let i, j, il, jl; + let group; + let start, end; + const modifiedPosition = new Float32Array(positionAttribute.count * positionAttribute.itemSize); + const modifiedNormal = new Float32Array(normalAttribute.count * normalAttribute.itemSize); + if (index !== null) { + if (Array.isArray(material)) { + for (i = 0, il = groups.length; i < il; i++) { + group = groups[i]; + start = Math.max(group.start, drawRange.start); + end = Math.min(group.start + group.count, drawRange.start + drawRange.count); + for (j = start, jl = end; j < jl; j += 3) { + a = index.getX(j); + b = index.getX(j + 1); + c = index.getX(j + 2); + _calculateMorphedAttributeData( + object, + positionAttribute, + morphPosition, + morphTargetsRelative, + a, + b, + c, + modifiedPosition + ); + _calculateMorphedAttributeData( + object, + normalAttribute, + morphNormal, + morphTargetsRelative, + a, + b, + c, + modifiedNormal + ); + } + } + } else { + start = Math.max(0, drawRange.start); + end = Math.min(index.count, drawRange.start + drawRange.count); + for (i = start, il = end; i < il; i += 3) { + a = index.getX(i); + b = index.getX(i + 1); + c = index.getX(i + 2); + _calculateMorphedAttributeData( + object, + positionAttribute, + morphPosition, + morphTargetsRelative, + a, + b, + c, + modifiedPosition + ); + _calculateMorphedAttributeData( + object, + normalAttribute, + morphNormal, + morphTargetsRelative, + a, + b, + c, + modifiedNormal + ); + } + } + } else { + if (Array.isArray(material)) { + for (i = 0, il = groups.length; i < il; i++) { + group = groups[i]; + start = Math.max(group.start, drawRange.start); + end = Math.min(group.start + group.count, drawRange.start + drawRange.count); + for (j = start, jl = end; j < jl; j += 3) { + a = j; + b = j + 1; + c = j + 2; + _calculateMorphedAttributeData( + object, + positionAttribute, + morphPosition, + morphTargetsRelative, + a, + b, + c, + modifiedPosition + ); + _calculateMorphedAttributeData( + object, + normalAttribute, + morphNormal, + morphTargetsRelative, + a, + b, + c, + modifiedNormal + ); + } + } + } else { + start = Math.max(0, drawRange.start); + end = Math.min(positionAttribute.count, drawRange.start + drawRange.count); + for (i = start, il = end; i < il; i += 3) { + a = i; + b = i + 1; + c = i + 2; + _calculateMorphedAttributeData( + object, + positionAttribute, + morphPosition, + morphTargetsRelative, + a, + b, + c, + modifiedPosition + ); + _calculateMorphedAttributeData( + object, + normalAttribute, + morphNormal, + morphTargetsRelative, + a, + b, + c, + modifiedNormal + ); + } + } + } + const morphedPositionAttribute = new Float32BufferAttribute(modifiedPosition, 3); + const morphedNormalAttribute = new Float32BufferAttribute(modifiedNormal, 3); + return { + positionAttribute, + normalAttribute, + morphedPositionAttribute, + morphedNormalAttribute + }; +} +__name(computeMorphedAttributes, "computeMorphedAttributes"); +function mergeGroups(geometry) { + if (geometry.groups.length === 0) { + console.warn("THREE.BufferGeometryUtils.mergeGroups(): No groups are defined. Nothing to merge."); + return geometry; + } + let groups = geometry.groups; + groups = groups.sort((a, b) => { + if (a.materialIndex !== b.materialIndex) return a.materialIndex - b.materialIndex; + return a.start - b.start; + }); + if (geometry.getIndex() === null) { + const positionAttribute = geometry.getAttribute("position"); + const indices = []; + for (let i = 0; i < positionAttribute.count; i += 3) { + indices.push(i, i + 1, i + 2); + } + geometry.setIndex(indices); + } + const index = geometry.getIndex(); + const newIndices = []; + for (let i = 0; i < groups.length; i++) { + const group = groups[i]; + const groupStart = group.start; + const groupLength = groupStart + group.count; + for (let j = groupStart; j < groupLength; j++) { + newIndices.push(index.getX(j)); + } + } + geometry.dispose(); + geometry.setIndex(newIndices); + let start = 0; + for (let i = 0; i < groups.length; i++) { + const group = groups[i]; + group.start = start; + start += group.count; + } + let currentGroup = groups[0]; + geometry.groups = [currentGroup]; + for (let i = 1; i < groups.length; i++) { + const group = groups[i]; + if (currentGroup.materialIndex === group.materialIndex) { + currentGroup.count += group.count; + } else { + currentGroup = group; + geometry.groups.push(currentGroup); + } + } + return geometry; +} +__name(mergeGroups, "mergeGroups"); +function toCreasedNormals(geometry, creaseAngle = Math.PI / 3) { + const creaseDot = Math.cos(creaseAngle); + const hashMultiplier = (1 + 1e-10) * 100; + const verts = [new Vector3(), new Vector3(), new Vector3()]; + const tempVec1 = new Vector3(); + const tempVec2 = new Vector3(); + const tempNorm = new Vector3(); + const tempNorm2 = new Vector3(); + function hashVertex(v) { + const x = ~~(v.x * hashMultiplier); + const y = ~~(v.y * hashMultiplier); + const z = ~~(v.z * hashMultiplier); + return `${x},${y},${z}`; + } + __name(hashVertex, "hashVertex"); + const resultGeometry = geometry.index ? geometry.toNonIndexed() : geometry; + const posAttr = resultGeometry.attributes.position; + const vertexMap = {}; + for (let i = 0, l = posAttr.count / 3; i < l; i++) { + const i3 = 3 * i; + const a = verts[0].fromBufferAttribute(posAttr, i3 + 0); + const b = verts[1].fromBufferAttribute(posAttr, i3 + 1); + const c = verts[2].fromBufferAttribute(posAttr, i3 + 2); + tempVec1.subVectors(c, b); + tempVec2.subVectors(a, b); + const normal = new Vector3().crossVectors(tempVec1, tempVec2).normalize(); + for (let n = 0; n < 3; n++) { + const vert = verts[n]; + const hash = hashVertex(vert); + if (!(hash in vertexMap)) { + vertexMap[hash] = []; + } + vertexMap[hash].push(normal); + } + } + const normalArray = new Float32Array(posAttr.count * 3); + const normAttr = new BufferAttribute(normalArray, 3, false); + for (let i = 0, l = posAttr.count / 3; i < l; i++) { + const i3 = 3 * i; + const a = verts[0].fromBufferAttribute(posAttr, i3 + 0); + const b = verts[1].fromBufferAttribute(posAttr, i3 + 1); + const c = verts[2].fromBufferAttribute(posAttr, i3 + 2); + tempVec1.subVectors(c, b); + tempVec2.subVectors(a, b); + tempNorm.crossVectors(tempVec1, tempVec2).normalize(); + for (let n = 0; n < 3; n++) { + const vert = verts[n]; + const hash = hashVertex(vert); + const otherNormals = vertexMap[hash]; + tempNorm2.set(0, 0, 0); + for (let k = 0, lk = otherNormals.length; k < lk; k++) { + const otherNorm = otherNormals[k]; + if (tempNorm.dot(otherNorm) > creaseDot) { + tempNorm2.add(otherNorm); + } + } + tempNorm2.normalize(); + normAttr.setXYZ(i3 + n, tempNorm2.x, tempNorm2.y, tempNorm2.z); + } + } + resultGeometry.setAttribute("normal", normAttr); + return resultGeometry; +} +__name(toCreasedNormals, "toCreasedNormals"); +class GLTFLoader extends Loader { + static { + __name(this, "GLTFLoader"); + } + constructor(manager) { + super(manager); + this.dracoLoader = null; + this.ktx2Loader = null; + this.meshoptDecoder = null; + this.pluginCallbacks = []; + this.register(function(parser) { + return new GLTFMaterialsClearcoatExtension(parser); + }); + this.register(function(parser) { + return new GLTFMaterialsDispersionExtension(parser); + }); + this.register(function(parser) { + return new GLTFTextureBasisUExtension(parser); + }); + this.register(function(parser) { + return new GLTFTextureWebPExtension(parser); + }); + this.register(function(parser) { + return new GLTFTextureAVIFExtension(parser); + }); + this.register(function(parser) { + return new GLTFMaterialsSheenExtension(parser); + }); + this.register(function(parser) { + return new GLTFMaterialsTransmissionExtension(parser); + }); + this.register(function(parser) { + return new GLTFMaterialsVolumeExtension(parser); + }); + this.register(function(parser) { + return new GLTFMaterialsIorExtension(parser); + }); + this.register(function(parser) { + return new GLTFMaterialsEmissiveStrengthExtension(parser); + }); + this.register(function(parser) { + return new GLTFMaterialsSpecularExtension(parser); + }); + this.register(function(parser) { + return new GLTFMaterialsIridescenceExtension(parser); + }); + this.register(function(parser) { + return new GLTFMaterialsAnisotropyExtension(parser); + }); + this.register(function(parser) { + return new GLTFMaterialsBumpExtension(parser); + }); + this.register(function(parser) { + return new GLTFLightsExtension(parser); + }); + this.register(function(parser) { + return new GLTFMeshoptCompression(parser); + }); + this.register(function(parser) { + return new GLTFMeshGpuInstancing(parser); + }); + } + load(url, onLoad, onProgress, onError) { + const scope = this; + let resourcePath; + if (this.resourcePath !== "") { + resourcePath = this.resourcePath; + } else if (this.path !== "") { + const relativeUrl = LoaderUtils.extractUrlBase(url); + resourcePath = LoaderUtils.resolveURL(relativeUrl, this.path); + } else { + resourcePath = LoaderUtils.extractUrlBase(url); + } + this.manager.itemStart(url); + const _onError = /* @__PURE__ */ __name(function(e) { + if (onError) { + onError(e); + } else { + console.error(e); + } + scope.manager.itemError(url); + scope.manager.itemEnd(url); + }, "_onError"); + const loader = new FileLoader(this.manager); + loader.setPath(this.path); + loader.setResponseType("arraybuffer"); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(this.withCredentials); + loader.load(url, function(data) { + try { + scope.parse(data, resourcePath, function(gltf) { + onLoad(gltf); + scope.manager.itemEnd(url); + }, _onError); + } catch (e) { + _onError(e); + } + }, onProgress, _onError); + } + setDRACOLoader(dracoLoader) { + this.dracoLoader = dracoLoader; + return this; + } + setKTX2Loader(ktx2Loader) { + this.ktx2Loader = ktx2Loader; + return this; + } + setMeshoptDecoder(meshoptDecoder) { + this.meshoptDecoder = meshoptDecoder; + return this; + } + register(callback) { + if (this.pluginCallbacks.indexOf(callback) === -1) { + this.pluginCallbacks.push(callback); + } + return this; + } + unregister(callback) { + if (this.pluginCallbacks.indexOf(callback) !== -1) { + this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(callback), 1); + } + return this; + } + parse(data, path, onLoad, onError) { + let json; + const extensions = {}; + const plugins = {}; + const textDecoder = new TextDecoder(); + if (typeof data === "string") { + json = JSON.parse(data); + } else if (data instanceof ArrayBuffer) { + const magic = textDecoder.decode(new Uint8Array(data, 0, 4)); + if (magic === BINARY_EXTENSION_HEADER_MAGIC) { + try { + extensions[EXTENSIONS.KHR_BINARY_GLTF] = new GLTFBinaryExtension(data); + } catch (error) { + if (onError) onError(error); + return; + } + json = JSON.parse(extensions[EXTENSIONS.KHR_BINARY_GLTF].content); + } else { + json = JSON.parse(textDecoder.decode(data)); + } + } else { + json = data; + } + if (json.asset === void 0 || json.asset.version[0] < 2) { + if (onError) onError(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")); + return; + } + const parser = new GLTFParser(json, { + path: path || this.resourcePath || "", + crossOrigin: this.crossOrigin, + requestHeader: this.requestHeader, + manager: this.manager, + ktx2Loader: this.ktx2Loader, + meshoptDecoder: this.meshoptDecoder + }); + parser.fileLoader.setRequestHeader(this.requestHeader); + for (let i = 0; i < this.pluginCallbacks.length; i++) { + const plugin = this.pluginCallbacks[i](parser); + if (!plugin.name) console.error("THREE.GLTFLoader: Invalid plugin found: missing name"); + plugins[plugin.name] = plugin; + extensions[plugin.name] = true; + } + if (json.extensionsUsed) { + for (let i = 0; i < json.extensionsUsed.length; ++i) { + const extensionName = json.extensionsUsed[i]; + const extensionsRequired = json.extensionsRequired || []; + switch (extensionName) { + case EXTENSIONS.KHR_MATERIALS_UNLIT: + extensions[extensionName] = new GLTFMaterialsUnlitExtension(); + break; + case EXTENSIONS.KHR_DRACO_MESH_COMPRESSION: + extensions[extensionName] = new GLTFDracoMeshCompressionExtension(json, this.dracoLoader); + break; + case EXTENSIONS.KHR_TEXTURE_TRANSFORM: + extensions[extensionName] = new GLTFTextureTransformExtension(); + break; + case EXTENSIONS.KHR_MESH_QUANTIZATION: + extensions[extensionName] = new GLTFMeshQuantizationExtension(); + break; + default: + if (extensionsRequired.indexOf(extensionName) >= 0 && plugins[extensionName] === void 0) { + console.warn('THREE.GLTFLoader: Unknown extension "' + extensionName + '".'); + } + } + } + } + parser.setExtensions(extensions); + parser.setPlugins(plugins); + parser.parse(onLoad, onError); + } + parseAsync(data, path) { + const scope = this; + return new Promise(function(resolve, reject) { + scope.parse(data, path, resolve, reject); + }); + } +} +function GLTFRegistry() { + let objects = {}; + return { + get: /* @__PURE__ */ __name(function(key) { + return objects[key]; + }, "get"), + add: /* @__PURE__ */ __name(function(key, object) { + objects[key] = object; + }, "add"), + remove: /* @__PURE__ */ __name(function(key) { + delete objects[key]; + }, "remove"), + removeAll: /* @__PURE__ */ __name(function() { + objects = {}; + }, "removeAll") + }; +} +__name(GLTFRegistry, "GLTFRegistry"); +const EXTENSIONS = { + KHR_BINARY_GLTF: "KHR_binary_glTF", + KHR_DRACO_MESH_COMPRESSION: "KHR_draco_mesh_compression", + KHR_LIGHTS_PUNCTUAL: "KHR_lights_punctual", + KHR_MATERIALS_CLEARCOAT: "KHR_materials_clearcoat", + KHR_MATERIALS_DISPERSION: "KHR_materials_dispersion", + KHR_MATERIALS_IOR: "KHR_materials_ior", + KHR_MATERIALS_SHEEN: "KHR_materials_sheen", + KHR_MATERIALS_SPECULAR: "KHR_materials_specular", + KHR_MATERIALS_TRANSMISSION: "KHR_materials_transmission", + KHR_MATERIALS_IRIDESCENCE: "KHR_materials_iridescence", + KHR_MATERIALS_ANISOTROPY: "KHR_materials_anisotropy", + KHR_MATERIALS_UNLIT: "KHR_materials_unlit", + KHR_MATERIALS_VOLUME: "KHR_materials_volume", + KHR_TEXTURE_BASISU: "KHR_texture_basisu", + KHR_TEXTURE_TRANSFORM: "KHR_texture_transform", + KHR_MESH_QUANTIZATION: "KHR_mesh_quantization", + KHR_MATERIALS_EMISSIVE_STRENGTH: "KHR_materials_emissive_strength", + EXT_MATERIALS_BUMP: "EXT_materials_bump", + EXT_TEXTURE_WEBP: "EXT_texture_webp", + EXT_TEXTURE_AVIF: "EXT_texture_avif", + EXT_MESHOPT_COMPRESSION: "EXT_meshopt_compression", + EXT_MESH_GPU_INSTANCING: "EXT_mesh_gpu_instancing" +}; +class GLTFLightsExtension { + static { + __name(this, "GLTFLightsExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.KHR_LIGHTS_PUNCTUAL; + this.cache = { refs: {}, uses: {} }; + } + _markDefs() { + const parser = this.parser; + const nodeDefs = this.parser.json.nodes || []; + for (let nodeIndex = 0, nodeLength = nodeDefs.length; nodeIndex < nodeLength; nodeIndex++) { + const nodeDef = nodeDefs[nodeIndex]; + if (nodeDef.extensions && nodeDef.extensions[this.name] && nodeDef.extensions[this.name].light !== void 0) { + parser._addNodeRef(this.cache, nodeDef.extensions[this.name].light); + } + } + } + _loadLight(lightIndex) { + const parser = this.parser; + const cacheKey = "light:" + lightIndex; + let dependency = parser.cache.get(cacheKey); + if (dependency) return dependency; + const json = parser.json; + const extensions = json.extensions && json.extensions[this.name] || {}; + const lightDefs = extensions.lights || []; + const lightDef = lightDefs[lightIndex]; + let lightNode; + const color = new Color(16777215); + if (lightDef.color !== void 0) color.setRGB(lightDef.color[0], lightDef.color[1], lightDef.color[2], LinearSRGBColorSpace); + const range = lightDef.range !== void 0 ? lightDef.range : 0; + switch (lightDef.type) { + case "directional": + lightNode = new DirectionalLight(color); + lightNode.target.position.set(0, 0, -1); + lightNode.add(lightNode.target); + break; + case "point": + lightNode = new PointLight(color); + lightNode.distance = range; + break; + case "spot": + lightNode = new SpotLight(color); + lightNode.distance = range; + lightDef.spot = lightDef.spot || {}; + lightDef.spot.innerConeAngle = lightDef.spot.innerConeAngle !== void 0 ? lightDef.spot.innerConeAngle : 0; + lightDef.spot.outerConeAngle = lightDef.spot.outerConeAngle !== void 0 ? lightDef.spot.outerConeAngle : Math.PI / 4; + lightNode.angle = lightDef.spot.outerConeAngle; + lightNode.penumbra = 1 - lightDef.spot.innerConeAngle / lightDef.spot.outerConeAngle; + lightNode.target.position.set(0, 0, -1); + lightNode.add(lightNode.target); + break; + default: + throw new Error("THREE.GLTFLoader: Unexpected light type: " + lightDef.type); + } + lightNode.position.set(0, 0, 0); + lightNode.decay = 2; + assignExtrasToUserData(lightNode, lightDef); + if (lightDef.intensity !== void 0) lightNode.intensity = lightDef.intensity; + lightNode.name = parser.createUniqueName(lightDef.name || "light_" + lightIndex); + dependency = Promise.resolve(lightNode); + parser.cache.add(cacheKey, dependency); + return dependency; + } + getDependency(type, index) { + if (type !== "light") return; + return this._loadLight(index); + } + createNodeAttachment(nodeIndex) { + const self2 = this; + const parser = this.parser; + const json = parser.json; + const nodeDef = json.nodes[nodeIndex]; + const lightDef = nodeDef.extensions && nodeDef.extensions[this.name] || {}; + const lightIndex = lightDef.light; + if (lightIndex === void 0) return null; + return this._loadLight(lightIndex).then(function(light) { + return parser._getNodeRef(self2.cache, lightIndex, light); + }); + } +} +class GLTFMaterialsUnlitExtension { + static { + __name(this, "GLTFMaterialsUnlitExtension"); + } + constructor() { + this.name = EXTENSIONS.KHR_MATERIALS_UNLIT; + } + getMaterialType() { + return MeshBasicMaterial; + } + extendParams(materialParams, materialDef, parser) { + const pending = []; + materialParams.color = new Color(1, 1, 1); + materialParams.opacity = 1; + const metallicRoughness = materialDef.pbrMetallicRoughness; + if (metallicRoughness) { + if (Array.isArray(metallicRoughness.baseColorFactor)) { + const array = metallicRoughness.baseColorFactor; + materialParams.color.setRGB(array[0], array[1], array[2], LinearSRGBColorSpace); + materialParams.opacity = array[3]; + } + if (metallicRoughness.baseColorTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "map", metallicRoughness.baseColorTexture, SRGBColorSpace)); + } + } + return Promise.all(pending); + } +} +class GLTFMaterialsEmissiveStrengthExtension { + static { + __name(this, "GLTFMaterialsEmissiveStrengthExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_EMISSIVE_STRENGTH; + } + extendMaterialParams(materialIndex, materialParams) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) { + return Promise.resolve(); + } + const emissiveStrength = materialDef.extensions[this.name].emissiveStrength; + if (emissiveStrength !== void 0) { + materialParams.emissiveIntensity = emissiveStrength; + } + return Promise.resolve(); + } +} +class GLTFMaterialsClearcoatExtension { + static { + __name(this, "GLTFMaterialsClearcoatExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_CLEARCOAT; + } + getMaterialType(materialIndex) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) return null; + return MeshPhysicalMaterial; + } + extendMaterialParams(materialIndex, materialParams) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) { + return Promise.resolve(); + } + const pending = []; + const extension = materialDef.extensions[this.name]; + if (extension.clearcoatFactor !== void 0) { + materialParams.clearcoat = extension.clearcoatFactor; + } + if (extension.clearcoatTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "clearcoatMap", extension.clearcoatTexture)); + } + if (extension.clearcoatRoughnessFactor !== void 0) { + materialParams.clearcoatRoughness = extension.clearcoatRoughnessFactor; + } + if (extension.clearcoatRoughnessTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "clearcoatRoughnessMap", extension.clearcoatRoughnessTexture)); + } + if (extension.clearcoatNormalTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "clearcoatNormalMap", extension.clearcoatNormalTexture)); + if (extension.clearcoatNormalTexture.scale !== void 0) { + const scale = extension.clearcoatNormalTexture.scale; + materialParams.clearcoatNormalScale = new Vector2(scale, scale); + } + } + return Promise.all(pending); + } +} +class GLTFMaterialsDispersionExtension { + static { + __name(this, "GLTFMaterialsDispersionExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_DISPERSION; + } + getMaterialType(materialIndex) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) return null; + return MeshPhysicalMaterial; + } + extendMaterialParams(materialIndex, materialParams) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) { + return Promise.resolve(); + } + const extension = materialDef.extensions[this.name]; + materialParams.dispersion = extension.dispersion !== void 0 ? extension.dispersion : 0; + return Promise.resolve(); + } +} +class GLTFMaterialsIridescenceExtension { + static { + __name(this, "GLTFMaterialsIridescenceExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_IRIDESCENCE; + } + getMaterialType(materialIndex) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) return null; + return MeshPhysicalMaterial; + } + extendMaterialParams(materialIndex, materialParams) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) { + return Promise.resolve(); + } + const pending = []; + const extension = materialDef.extensions[this.name]; + if (extension.iridescenceFactor !== void 0) { + materialParams.iridescence = extension.iridescenceFactor; + } + if (extension.iridescenceTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "iridescenceMap", extension.iridescenceTexture)); + } + if (extension.iridescenceIor !== void 0) { + materialParams.iridescenceIOR = extension.iridescenceIor; + } + if (materialParams.iridescenceThicknessRange === void 0) { + materialParams.iridescenceThicknessRange = [100, 400]; + } + if (extension.iridescenceThicknessMinimum !== void 0) { + materialParams.iridescenceThicknessRange[0] = extension.iridescenceThicknessMinimum; + } + if (extension.iridescenceThicknessMaximum !== void 0) { + materialParams.iridescenceThicknessRange[1] = extension.iridescenceThicknessMaximum; + } + if (extension.iridescenceThicknessTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "iridescenceThicknessMap", extension.iridescenceThicknessTexture)); + } + return Promise.all(pending); + } +} +class GLTFMaterialsSheenExtension { + static { + __name(this, "GLTFMaterialsSheenExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_SHEEN; + } + getMaterialType(materialIndex) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) return null; + return MeshPhysicalMaterial; + } + extendMaterialParams(materialIndex, materialParams) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) { + return Promise.resolve(); + } + const pending = []; + materialParams.sheenColor = new Color(0, 0, 0); + materialParams.sheenRoughness = 0; + materialParams.sheen = 1; + const extension = materialDef.extensions[this.name]; + if (extension.sheenColorFactor !== void 0) { + const colorFactor = extension.sheenColorFactor; + materialParams.sheenColor.setRGB(colorFactor[0], colorFactor[1], colorFactor[2], LinearSRGBColorSpace); + } + if (extension.sheenRoughnessFactor !== void 0) { + materialParams.sheenRoughness = extension.sheenRoughnessFactor; + } + if (extension.sheenColorTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "sheenColorMap", extension.sheenColorTexture, SRGBColorSpace)); + } + if (extension.sheenRoughnessTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "sheenRoughnessMap", extension.sheenRoughnessTexture)); + } + return Promise.all(pending); + } +} +class GLTFMaterialsTransmissionExtension { + static { + __name(this, "GLTFMaterialsTransmissionExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_TRANSMISSION; + } + getMaterialType(materialIndex) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) return null; + return MeshPhysicalMaterial; + } + extendMaterialParams(materialIndex, materialParams) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) { + return Promise.resolve(); + } + const pending = []; + const extension = materialDef.extensions[this.name]; + if (extension.transmissionFactor !== void 0) { + materialParams.transmission = extension.transmissionFactor; + } + if (extension.transmissionTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "transmissionMap", extension.transmissionTexture)); + } + return Promise.all(pending); + } +} +class GLTFMaterialsVolumeExtension { + static { + __name(this, "GLTFMaterialsVolumeExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_VOLUME; + } + getMaterialType(materialIndex) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) return null; + return MeshPhysicalMaterial; + } + extendMaterialParams(materialIndex, materialParams) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) { + return Promise.resolve(); + } + const pending = []; + const extension = materialDef.extensions[this.name]; + materialParams.thickness = extension.thicknessFactor !== void 0 ? extension.thicknessFactor : 0; + if (extension.thicknessTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "thicknessMap", extension.thicknessTexture)); + } + materialParams.attenuationDistance = extension.attenuationDistance || Infinity; + const colorArray = extension.attenuationColor || [1, 1, 1]; + materialParams.attenuationColor = new Color().setRGB(colorArray[0], colorArray[1], colorArray[2], LinearSRGBColorSpace); + return Promise.all(pending); + } +} +class GLTFMaterialsIorExtension { + static { + __name(this, "GLTFMaterialsIorExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_IOR; + } + getMaterialType(materialIndex) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) return null; + return MeshPhysicalMaterial; + } + extendMaterialParams(materialIndex, materialParams) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) { + return Promise.resolve(); + } + const extension = materialDef.extensions[this.name]; + materialParams.ior = extension.ior !== void 0 ? extension.ior : 1.5; + return Promise.resolve(); + } +} +class GLTFMaterialsSpecularExtension { + static { + __name(this, "GLTFMaterialsSpecularExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_SPECULAR; + } + getMaterialType(materialIndex) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) return null; + return MeshPhysicalMaterial; + } + extendMaterialParams(materialIndex, materialParams) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) { + return Promise.resolve(); + } + const pending = []; + const extension = materialDef.extensions[this.name]; + materialParams.specularIntensity = extension.specularFactor !== void 0 ? extension.specularFactor : 1; + if (extension.specularTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "specularIntensityMap", extension.specularTexture)); + } + const colorArray = extension.specularColorFactor || [1, 1, 1]; + materialParams.specularColor = new Color().setRGB(colorArray[0], colorArray[1], colorArray[2], LinearSRGBColorSpace); + if (extension.specularColorTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "specularColorMap", extension.specularColorTexture, SRGBColorSpace)); + } + return Promise.all(pending); + } +} +class GLTFMaterialsBumpExtension { + static { + __name(this, "GLTFMaterialsBumpExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.EXT_MATERIALS_BUMP; + } + getMaterialType(materialIndex) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) return null; + return MeshPhysicalMaterial; + } + extendMaterialParams(materialIndex, materialParams) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) { + return Promise.resolve(); + } + const pending = []; + const extension = materialDef.extensions[this.name]; + materialParams.bumpScale = extension.bumpFactor !== void 0 ? extension.bumpFactor : 1; + if (extension.bumpTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "bumpMap", extension.bumpTexture)); + } + return Promise.all(pending); + } +} +class GLTFMaterialsAnisotropyExtension { + static { + __name(this, "GLTFMaterialsAnisotropyExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_ANISOTROPY; + } + getMaterialType(materialIndex) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) return null; + return MeshPhysicalMaterial; + } + extendMaterialParams(materialIndex, materialParams) { + const parser = this.parser; + const materialDef = parser.json.materials[materialIndex]; + if (!materialDef.extensions || !materialDef.extensions[this.name]) { + return Promise.resolve(); + } + const pending = []; + const extension = materialDef.extensions[this.name]; + if (extension.anisotropyStrength !== void 0) { + materialParams.anisotropy = extension.anisotropyStrength; + } + if (extension.anisotropyRotation !== void 0) { + materialParams.anisotropyRotation = extension.anisotropyRotation; + } + if (extension.anisotropyTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "anisotropyMap", extension.anisotropyTexture)); + } + return Promise.all(pending); + } +} +class GLTFTextureBasisUExtension { + static { + __name(this, "GLTFTextureBasisUExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.KHR_TEXTURE_BASISU; + } + loadTexture(textureIndex) { + const parser = this.parser; + const json = parser.json; + const textureDef = json.textures[textureIndex]; + if (!textureDef.extensions || !textureDef.extensions[this.name]) { + return null; + } + const extension = textureDef.extensions[this.name]; + const loader = parser.options.ktx2Loader; + if (!loader) { + if (json.extensionsRequired && json.extensionsRequired.indexOf(this.name) >= 0) { + throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures"); + } else { + return null; + } + } + return parser.loadTextureImage(textureIndex, extension.source, loader); + } +} +class GLTFTextureWebPExtension { + static { + __name(this, "GLTFTextureWebPExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.EXT_TEXTURE_WEBP; + this.isSupported = null; + } + loadTexture(textureIndex) { + const name = this.name; + const parser = this.parser; + const json = parser.json; + const textureDef = json.textures[textureIndex]; + if (!textureDef.extensions || !textureDef.extensions[name]) { + return null; + } + const extension = textureDef.extensions[name]; + const source = json.images[extension.source]; + let loader = parser.textureLoader; + if (source.uri) { + const handler = parser.options.manager.getHandler(source.uri); + if (handler !== null) loader = handler; + } + return this.detectSupport().then(function(isSupported) { + if (isSupported) return parser.loadTextureImage(textureIndex, extension.source, loader); + if (json.extensionsRequired && json.extensionsRequired.indexOf(name) >= 0) { + throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported."); + } + return parser.loadTexture(textureIndex); + }); + } + detectSupport() { + if (!this.isSupported) { + this.isSupported = new Promise(function(resolve) { + const image = new Image(); + image.src = "data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"; + image.onload = image.onerror = function() { + resolve(image.height === 1); + }; + }); + } + return this.isSupported; + } +} +class GLTFTextureAVIFExtension { + static { + __name(this, "GLTFTextureAVIFExtension"); + } + constructor(parser) { + this.parser = parser; + this.name = EXTENSIONS.EXT_TEXTURE_AVIF; + this.isSupported = null; + } + loadTexture(textureIndex) { + const name = this.name; + const parser = this.parser; + const json = parser.json; + const textureDef = json.textures[textureIndex]; + if (!textureDef.extensions || !textureDef.extensions[name]) { + return null; + } + const extension = textureDef.extensions[name]; + const source = json.images[extension.source]; + let loader = parser.textureLoader; + if (source.uri) { + const handler = parser.options.manager.getHandler(source.uri); + if (handler !== null) loader = handler; + } + return this.detectSupport().then(function(isSupported) { + if (isSupported) return parser.loadTextureImage(textureIndex, extension.source, loader); + if (json.extensionsRequired && json.extensionsRequired.indexOf(name) >= 0) { + throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported."); + } + return parser.loadTexture(textureIndex); + }); + } + detectSupport() { + if (!this.isSupported) { + this.isSupported = new Promise(function(resolve) { + const image = new Image(); + image.src = "data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI="; + image.onload = image.onerror = function() { + resolve(image.height === 1); + }; + }); + } + return this.isSupported; + } +} +class GLTFMeshoptCompression { + static { + __name(this, "GLTFMeshoptCompression"); + } + constructor(parser) { + this.name = EXTENSIONS.EXT_MESHOPT_COMPRESSION; + this.parser = parser; + } + loadBufferView(index) { + const json = this.parser.json; + const bufferView = json.bufferViews[index]; + if (bufferView.extensions && bufferView.extensions[this.name]) { + const extensionDef = bufferView.extensions[this.name]; + const buffer = this.parser.getDependency("buffer", extensionDef.buffer); + const decoder = this.parser.options.meshoptDecoder; + if (!decoder || !decoder.supported) { + if (json.extensionsRequired && json.extensionsRequired.indexOf(this.name) >= 0) { + throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files"); + } else { + return null; + } + } + return buffer.then(function(res) { + const byteOffset = extensionDef.byteOffset || 0; + const byteLength = extensionDef.byteLength || 0; + const count = extensionDef.count; + const stride = extensionDef.byteStride; + const source = new Uint8Array(res, byteOffset, byteLength); + if (decoder.decodeGltfBufferAsync) { + return decoder.decodeGltfBufferAsync(count, stride, source, extensionDef.mode, extensionDef.filter).then(function(res2) { + return res2.buffer; + }); + } else { + return decoder.ready.then(function() { + const result = new ArrayBuffer(count * stride); + decoder.decodeGltfBuffer(new Uint8Array(result), count, stride, source, extensionDef.mode, extensionDef.filter); + return result; + }); + } + }); + } else { + return null; + } + } +} +class GLTFMeshGpuInstancing { + static { + __name(this, "GLTFMeshGpuInstancing"); + } + constructor(parser) { + this.name = EXTENSIONS.EXT_MESH_GPU_INSTANCING; + this.parser = parser; + } + createNodeMesh(nodeIndex) { + const json = this.parser.json; + const nodeDef = json.nodes[nodeIndex]; + if (!nodeDef.extensions || !nodeDef.extensions[this.name] || nodeDef.mesh === void 0) { + return null; + } + const meshDef = json.meshes[nodeDef.mesh]; + for (const primitive of meshDef.primitives) { + if (primitive.mode !== WEBGL_CONSTANTS.TRIANGLES && primitive.mode !== WEBGL_CONSTANTS.TRIANGLE_STRIP && primitive.mode !== WEBGL_CONSTANTS.TRIANGLE_FAN && primitive.mode !== void 0) { + return null; + } + } + const extensionDef = nodeDef.extensions[this.name]; + const attributesDef = extensionDef.attributes; + const pending = []; + const attributes = {}; + for (const key in attributesDef) { + pending.push(this.parser.getDependency("accessor", attributesDef[key]).then((accessor) => { + attributes[key] = accessor; + return attributes[key]; + })); + } + if (pending.length < 1) { + return null; + } + pending.push(this.parser.createNodeMesh(nodeIndex)); + return Promise.all(pending).then((results) => { + const nodeObject = results.pop(); + const meshes = nodeObject.isGroup ? nodeObject.children : [nodeObject]; + const count = results[0].count; + const instancedMeshes = []; + for (const mesh of meshes) { + const m = new Matrix4(); + const p = new Vector3(); + const q = new Quaternion(); + const s = new Vector3(1, 1, 1); + const instancedMesh = new InstancedMesh(mesh.geometry, mesh.material, count); + for (let i = 0; i < count; i++) { + if (attributes.TRANSLATION) { + p.fromBufferAttribute(attributes.TRANSLATION, i); + } + if (attributes.ROTATION) { + q.fromBufferAttribute(attributes.ROTATION, i); + } + if (attributes.SCALE) { + s.fromBufferAttribute(attributes.SCALE, i); + } + instancedMesh.setMatrixAt(i, m.compose(p, q, s)); + } + for (const attributeName in attributes) { + if (attributeName === "_COLOR_0") { + const attr = attributes[attributeName]; + instancedMesh.instanceColor = new InstancedBufferAttribute(attr.array, attr.itemSize, attr.normalized); + } else if (attributeName !== "TRANSLATION" && attributeName !== "ROTATION" && attributeName !== "SCALE") { + mesh.geometry.setAttribute(attributeName, attributes[attributeName]); + } + } + Object3D.prototype.copy.call(instancedMesh, mesh); + this.parser.assignFinalMaterial(instancedMesh); + instancedMeshes.push(instancedMesh); + } + if (nodeObject.isGroup) { + nodeObject.clear(); + nodeObject.add(...instancedMeshes); + return nodeObject; + } + return instancedMeshes[0]; + }); + } +} +const BINARY_EXTENSION_HEADER_MAGIC = "glTF"; +const BINARY_EXTENSION_HEADER_LENGTH = 12; +const BINARY_EXTENSION_CHUNK_TYPES = { JSON: 1313821514, BIN: 5130562 }; +class GLTFBinaryExtension { + static { + __name(this, "GLTFBinaryExtension"); + } + constructor(data) { + this.name = EXTENSIONS.KHR_BINARY_GLTF; + this.content = null; + this.body = null; + const headerView = new DataView(data, 0, BINARY_EXTENSION_HEADER_LENGTH); + const textDecoder = new TextDecoder(); + this.header = { + magic: textDecoder.decode(new Uint8Array(data.slice(0, 4))), + version: headerView.getUint32(4, true), + length: headerView.getUint32(8, true) + }; + if (this.header.magic !== BINARY_EXTENSION_HEADER_MAGIC) { + throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header."); + } else if (this.header.version < 2) { + throw new Error("THREE.GLTFLoader: Legacy binary file detected."); + } + const chunkContentsLength = this.header.length - BINARY_EXTENSION_HEADER_LENGTH; + const chunkView = new DataView(data, BINARY_EXTENSION_HEADER_LENGTH); + let chunkIndex = 0; + while (chunkIndex < chunkContentsLength) { + const chunkLength = chunkView.getUint32(chunkIndex, true); + chunkIndex += 4; + const chunkType = chunkView.getUint32(chunkIndex, true); + chunkIndex += 4; + if (chunkType === BINARY_EXTENSION_CHUNK_TYPES.JSON) { + const contentArray = new Uint8Array(data, BINARY_EXTENSION_HEADER_LENGTH + chunkIndex, chunkLength); + this.content = textDecoder.decode(contentArray); + } else if (chunkType === BINARY_EXTENSION_CHUNK_TYPES.BIN) { + const byteOffset = BINARY_EXTENSION_HEADER_LENGTH + chunkIndex; + this.body = data.slice(byteOffset, byteOffset + chunkLength); + } + chunkIndex += chunkLength; + } + if (this.content === null) { + throw new Error("THREE.GLTFLoader: JSON content not found."); + } + } +} +class GLTFDracoMeshCompressionExtension { + static { + __name(this, "GLTFDracoMeshCompressionExtension"); + } + constructor(json, dracoLoader) { + if (!dracoLoader) { + throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided."); + } + this.name = EXTENSIONS.KHR_DRACO_MESH_COMPRESSION; + this.json = json; + this.dracoLoader = dracoLoader; + this.dracoLoader.preload(); + } + decodePrimitive(primitive, parser) { + const json = this.json; + const dracoLoader = this.dracoLoader; + const bufferViewIndex = primitive.extensions[this.name].bufferView; + const gltfAttributeMap = primitive.extensions[this.name].attributes; + const threeAttributeMap = {}; + const attributeNormalizedMap = {}; + const attributeTypeMap = {}; + for (const attributeName in gltfAttributeMap) { + const threeAttributeName = ATTRIBUTES[attributeName] || attributeName.toLowerCase(); + threeAttributeMap[threeAttributeName] = gltfAttributeMap[attributeName]; + } + for (const attributeName in primitive.attributes) { + const threeAttributeName = ATTRIBUTES[attributeName] || attributeName.toLowerCase(); + if (gltfAttributeMap[attributeName] !== void 0) { + const accessorDef = json.accessors[primitive.attributes[attributeName]]; + const componentType = WEBGL_COMPONENT_TYPES[accessorDef.componentType]; + attributeTypeMap[threeAttributeName] = componentType.name; + attributeNormalizedMap[threeAttributeName] = accessorDef.normalized === true; + } + } + return parser.getDependency("bufferView", bufferViewIndex).then(function(bufferView) { + return new Promise(function(resolve, reject) { + dracoLoader.decodeDracoFile(bufferView, function(geometry) { + for (const attributeName in geometry.attributes) { + const attribute = geometry.attributes[attributeName]; + const normalized = attributeNormalizedMap[attributeName]; + if (normalized !== void 0) attribute.normalized = normalized; + } + resolve(geometry); + }, threeAttributeMap, attributeTypeMap, LinearSRGBColorSpace, reject); + }); + }); + } +} +class GLTFTextureTransformExtension { + static { + __name(this, "GLTFTextureTransformExtension"); + } + constructor() { + this.name = EXTENSIONS.KHR_TEXTURE_TRANSFORM; + } + extendTexture(texture, transform) { + if ((transform.texCoord === void 0 || transform.texCoord === texture.channel) && transform.offset === void 0 && transform.rotation === void 0 && transform.scale === void 0) { + return texture; + } + texture = texture.clone(); + if (transform.texCoord !== void 0) { + texture.channel = transform.texCoord; + } + if (transform.offset !== void 0) { + texture.offset.fromArray(transform.offset); + } + if (transform.rotation !== void 0) { + texture.rotation = transform.rotation; + } + if (transform.scale !== void 0) { + texture.repeat.fromArray(transform.scale); + } + texture.needsUpdate = true; + return texture; + } +} +class GLTFMeshQuantizationExtension { + static { + __name(this, "GLTFMeshQuantizationExtension"); + } + constructor() { + this.name = EXTENSIONS.KHR_MESH_QUANTIZATION; + } +} +class GLTFCubicSplineInterpolant extends Interpolant { + static { + __name(this, "GLTFCubicSplineInterpolant"); + } + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + super(parameterPositions, sampleValues, sampleSize, resultBuffer); + } + copySampleValue_(index) { + const result = this.resultBuffer, values = this.sampleValues, valueSize = this.valueSize, offset = index * valueSize * 3 + valueSize; + for (let i = 0; i !== valueSize; i++) { + result[i] = values[offset + i]; + } + return result; + } + interpolate_(i1, t0, t2, t1) { + const result = this.resultBuffer; + const values = this.sampleValues; + const stride = this.valueSize; + const stride2 = stride * 2; + const stride3 = stride * 3; + const td2 = t1 - t0; + const p = (t2 - t0) / td2; + const pp = p * p; + const ppp = pp * p; + const offset1 = i1 * stride3; + const offset0 = offset1 - stride3; + const s2 = -2 * ppp + 3 * pp; + const s3 = ppp - pp; + const s0 = 1 - s2; + const s1 = s3 - pp + p; + for (let i = 0; i !== stride; i++) { + const p0 = values[offset0 + i + stride]; + const m0 = values[offset0 + i + stride2] * td2; + const p1 = values[offset1 + i + stride]; + const m1 = values[offset1 + i] * td2; + result[i] = s0 * p0 + s1 * m0 + s2 * p1 + s3 * m1; + } + return result; + } +} +const _q = new Quaternion(); +class GLTFCubicSplineQuaternionInterpolant extends GLTFCubicSplineInterpolant { + static { + __name(this, "GLTFCubicSplineQuaternionInterpolant"); + } + interpolate_(i1, t0, t2, t1) { + const result = super.interpolate_(i1, t0, t2, t1); + _q.fromArray(result).normalize().toArray(result); + return result; + } +} +const WEBGL_CONSTANTS = { + FLOAT: 5126, + //FLOAT_MAT2: 35674, + FLOAT_MAT3: 35675, + FLOAT_MAT4: 35676, + FLOAT_VEC2: 35664, + FLOAT_VEC3: 35665, + FLOAT_VEC4: 35666, + LINEAR: 9729, + REPEAT: 10497, + SAMPLER_2D: 35678, + POINTS: 0, + LINES: 1, + LINE_LOOP: 2, + LINE_STRIP: 3, + TRIANGLES: 4, + TRIANGLE_STRIP: 5, + TRIANGLE_FAN: 6, + UNSIGNED_BYTE: 5121, + UNSIGNED_SHORT: 5123 +}; +const WEBGL_COMPONENT_TYPES = { + 5120: Int8Array, + 5121: Uint8Array, + 5122: Int16Array, + 5123: Uint16Array, + 5125: Uint32Array, + 5126: Float32Array +}; +const WEBGL_FILTERS = { + 9728: NearestFilter, + 9729: LinearFilter, + 9984: NearestMipmapNearestFilter, + 9985: LinearMipmapNearestFilter, + 9986: NearestMipmapLinearFilter, + 9987: LinearMipmapLinearFilter +}; +const WEBGL_WRAPPINGS = { + 33071: ClampToEdgeWrapping, + 33648: MirroredRepeatWrapping, + 10497: RepeatWrapping +}; +const WEBGL_TYPE_SIZES = { + "SCALAR": 1, + "VEC2": 2, + "VEC3": 3, + "VEC4": 4, + "MAT2": 4, + "MAT3": 9, + "MAT4": 16 +}; +const ATTRIBUTES = { + POSITION: "position", + NORMAL: "normal", + TANGENT: "tangent", + TEXCOORD_0: "uv", + TEXCOORD_1: "uv1", + TEXCOORD_2: "uv2", + TEXCOORD_3: "uv3", + COLOR_0: "color", + WEIGHTS_0: "skinWeight", + JOINTS_0: "skinIndex" +}; +const PATH_PROPERTIES = { + scale: "scale", + translation: "position", + rotation: "quaternion", + weights: "morphTargetInfluences" +}; +const INTERPOLATION = { + CUBICSPLINE: void 0, + // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each + // keyframe track will be initialized with a default interpolation type, then modified. + LINEAR: InterpolateLinear, + STEP: InterpolateDiscrete +}; +const ALPHA_MODES = { + OPAQUE: "OPAQUE", + MASK: "MASK", + BLEND: "BLEND" +}; +function createDefaultMaterial(cache) { + if (cache["DefaultMaterial"] === void 0) { + cache["DefaultMaterial"] = new MeshStandardMaterial({ + color: 16777215, + emissive: 0, + metalness: 1, + roughness: 1, + transparent: false, + depthTest: true, + side: FrontSide + }); + } + return cache["DefaultMaterial"]; +} +__name(createDefaultMaterial, "createDefaultMaterial"); +function addUnknownExtensionsToUserData(knownExtensions, object, objectDef) { + for (const name in objectDef.extensions) { + if (knownExtensions[name] === void 0) { + object.userData.gltfExtensions = object.userData.gltfExtensions || {}; + object.userData.gltfExtensions[name] = objectDef.extensions[name]; + } + } +} +__name(addUnknownExtensionsToUserData, "addUnknownExtensionsToUserData"); +function assignExtrasToUserData(object, gltfDef) { + if (gltfDef.extras !== void 0) { + if (typeof gltfDef.extras === "object") { + Object.assign(object.userData, gltfDef.extras); + } else { + console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + gltfDef.extras); + } + } +} +__name(assignExtrasToUserData, "assignExtrasToUserData"); +function addMorphTargets(geometry, targets, parser) { + let hasMorphPosition = false; + let hasMorphNormal = false; + let hasMorphColor = false; + for (let i = 0, il = targets.length; i < il; i++) { + const target = targets[i]; + if (target.POSITION !== void 0) hasMorphPosition = true; + if (target.NORMAL !== void 0) hasMorphNormal = true; + if (target.COLOR_0 !== void 0) hasMorphColor = true; + if (hasMorphPosition && hasMorphNormal && hasMorphColor) break; + } + if (!hasMorphPosition && !hasMorphNormal && !hasMorphColor) return Promise.resolve(geometry); + const pendingPositionAccessors = []; + const pendingNormalAccessors = []; + const pendingColorAccessors = []; + for (let i = 0, il = targets.length; i < il; i++) { + const target = targets[i]; + if (hasMorphPosition) { + const pendingAccessor = target.POSITION !== void 0 ? parser.getDependency("accessor", target.POSITION) : geometry.attributes.position; + pendingPositionAccessors.push(pendingAccessor); + } + if (hasMorphNormal) { + const pendingAccessor = target.NORMAL !== void 0 ? parser.getDependency("accessor", target.NORMAL) : geometry.attributes.normal; + pendingNormalAccessors.push(pendingAccessor); + } + if (hasMorphColor) { + const pendingAccessor = target.COLOR_0 !== void 0 ? parser.getDependency("accessor", target.COLOR_0) : geometry.attributes.color; + pendingColorAccessors.push(pendingAccessor); + } + } + return Promise.all([ + Promise.all(pendingPositionAccessors), + Promise.all(pendingNormalAccessors), + Promise.all(pendingColorAccessors) + ]).then(function(accessors) { + const morphPositions = accessors[0]; + const morphNormals = accessors[1]; + const morphColors = accessors[2]; + if (hasMorphPosition) geometry.morphAttributes.position = morphPositions; + if (hasMorphNormal) geometry.morphAttributes.normal = morphNormals; + if (hasMorphColor) geometry.morphAttributes.color = morphColors; + geometry.morphTargetsRelative = true; + return geometry; + }); +} +__name(addMorphTargets, "addMorphTargets"); +function updateMorphTargets(mesh, meshDef) { + mesh.updateMorphTargets(); + if (meshDef.weights !== void 0) { + for (let i = 0, il = meshDef.weights.length; i < il; i++) { + mesh.morphTargetInfluences[i] = meshDef.weights[i]; + } + } + if (meshDef.extras && Array.isArray(meshDef.extras.targetNames)) { + const targetNames = meshDef.extras.targetNames; + if (mesh.morphTargetInfluences.length === targetNames.length) { + mesh.morphTargetDictionary = {}; + for (let i = 0, il = targetNames.length; i < il; i++) { + mesh.morphTargetDictionary[targetNames[i]] = i; + } + } else { + console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names."); + } + } +} +__name(updateMorphTargets, "updateMorphTargets"); +function createPrimitiveKey(primitiveDef) { + let geometryKey; + const dracoExtension = primitiveDef.extensions && primitiveDef.extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION]; + if (dracoExtension) { + geometryKey = "draco:" + dracoExtension.bufferView + ":" + dracoExtension.indices + ":" + createAttributesKey(dracoExtension.attributes); + } else { + geometryKey = primitiveDef.indices + ":" + createAttributesKey(primitiveDef.attributes) + ":" + primitiveDef.mode; + } + if (primitiveDef.targets !== void 0) { + for (let i = 0, il = primitiveDef.targets.length; i < il; i++) { + geometryKey += ":" + createAttributesKey(primitiveDef.targets[i]); + } + } + return geometryKey; +} +__name(createPrimitiveKey, "createPrimitiveKey"); +function createAttributesKey(attributes) { + let attributesKey = ""; + const keys = Object.keys(attributes).sort(); + for (let i = 0, il = keys.length; i < il; i++) { + attributesKey += keys[i] + ":" + attributes[keys[i]] + ";"; + } + return attributesKey; +} +__name(createAttributesKey, "createAttributesKey"); +function getNormalizedComponentScale(constructor) { + switch (constructor) { + case Int8Array: + return 1 / 127; + case Uint8Array: + return 1 / 255; + case Int16Array: + return 1 / 32767; + case Uint16Array: + return 1 / 65535; + default: + throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type."); + } +} +__name(getNormalizedComponentScale, "getNormalizedComponentScale"); +function getImageURIMimeType(uri) { + if (uri.search(/\.jpe?g($|\?)/i) > 0 || uri.search(/^data\:image\/jpeg/) === 0) return "image/jpeg"; + if (uri.search(/\.webp($|\?)/i) > 0 || uri.search(/^data\:image\/webp/) === 0) return "image/webp"; + if (uri.search(/\.ktx2($|\?)/i) > 0 || uri.search(/^data\:image\/ktx2/) === 0) return "image/ktx2"; + return "image/png"; +} +__name(getImageURIMimeType, "getImageURIMimeType"); +const _identityMatrix = new Matrix4(); +class GLTFParser { + static { + __name(this, "GLTFParser"); + } + constructor(json = {}, options = {}) { + this.json = json; + this.extensions = {}; + this.plugins = {}; + this.options = options; + this.cache = new GLTFRegistry(); + this.associations = /* @__PURE__ */ new Map(); + this.primitiveCache = {}; + this.nodeCache = {}; + this.meshCache = { refs: {}, uses: {} }; + this.cameraCache = { refs: {}, uses: {} }; + this.lightCache = { refs: {}, uses: {} }; + this.sourceCache = {}; + this.textureCache = {}; + this.nodeNamesUsed = {}; + let isSafari = false; + let safariVersion = -1; + let isFirefox = false; + let firefoxVersion = -1; + if (typeof navigator !== "undefined") { + const userAgent = navigator.userAgent; + isSafari = /^((?!chrome|android).)*safari/i.test(userAgent) === true; + const safariMatch = userAgent.match(/Version\/(\d+)/); + safariVersion = isSafari && safariMatch ? parseInt(safariMatch[1], 10) : -1; + isFirefox = userAgent.indexOf("Firefox") > -1; + firefoxVersion = isFirefox ? userAgent.match(/Firefox\/([0-9]+)\./)[1] : -1; + } + if (typeof createImageBitmap === "undefined" || isSafari && safariVersion < 17 || isFirefox && firefoxVersion < 98) { + this.textureLoader = new TextureLoader(this.options.manager); + } else { + this.textureLoader = new ImageBitmapLoader(this.options.manager); + } + this.textureLoader.setCrossOrigin(this.options.crossOrigin); + this.textureLoader.setRequestHeader(this.options.requestHeader); + this.fileLoader = new FileLoader(this.options.manager); + this.fileLoader.setResponseType("arraybuffer"); + if (this.options.crossOrigin === "use-credentials") { + this.fileLoader.setWithCredentials(true); + } + } + setExtensions(extensions) { + this.extensions = extensions; + } + setPlugins(plugins) { + this.plugins = plugins; + } + parse(onLoad, onError) { + const parser = this; + const json = this.json; + const extensions = this.extensions; + this.cache.removeAll(); + this.nodeCache = {}; + this._invokeAll(function(ext2) { + return ext2._markDefs && ext2._markDefs(); + }); + Promise.all(this._invokeAll(function(ext2) { + return ext2.beforeRoot && ext2.beforeRoot(); + })).then(function() { + return Promise.all([ + parser.getDependencies("scene"), + parser.getDependencies("animation"), + parser.getDependencies("camera") + ]); + }).then(function(dependencies) { + const result = { + scene: dependencies[0][json.scene || 0], + scenes: dependencies[0], + animations: dependencies[1], + cameras: dependencies[2], + asset: json.asset, + parser, + userData: {} + }; + addUnknownExtensionsToUserData(extensions, result, json); + assignExtrasToUserData(result, json); + return Promise.all(parser._invokeAll(function(ext2) { + return ext2.afterRoot && ext2.afterRoot(result); + })).then(function() { + for (const scene of result.scenes) { + scene.updateMatrixWorld(); + } + onLoad(result); + }); + }).catch(onError); + } + /** + * Marks the special nodes/meshes in json for efficient parse. + */ + _markDefs() { + const nodeDefs = this.json.nodes || []; + const skinDefs = this.json.skins || []; + const meshDefs = this.json.meshes || []; + for (let skinIndex = 0, skinLength = skinDefs.length; skinIndex < skinLength; skinIndex++) { + const joints = skinDefs[skinIndex].joints; + for (let i = 0, il = joints.length; i < il; i++) { + nodeDefs[joints[i]].isBone = true; + } + } + for (let nodeIndex = 0, nodeLength = nodeDefs.length; nodeIndex < nodeLength; nodeIndex++) { + const nodeDef = nodeDefs[nodeIndex]; + if (nodeDef.mesh !== void 0) { + this._addNodeRef(this.meshCache, nodeDef.mesh); + if (nodeDef.skin !== void 0) { + meshDefs[nodeDef.mesh].isSkinnedMesh = true; + } + } + if (nodeDef.camera !== void 0) { + this._addNodeRef(this.cameraCache, nodeDef.camera); + } + } + } + /** + * Counts references to shared node / Object3D resources. These resources + * can be reused, or "instantiated", at multiple nodes in the scene + * hierarchy. Mesh, Camera, and Light instances are instantiated and must + * be marked. Non-scenegraph resources (like Materials, Geometries, and + * Textures) can be reused directly and are not marked here. + * + * Example: CesiumMilkTruck sample model reuses "Wheel" meshes. + */ + _addNodeRef(cache, index) { + if (index === void 0) return; + if (cache.refs[index] === void 0) { + cache.refs[index] = cache.uses[index] = 0; + } + cache.refs[index]++; + } + /** Returns a reference to a shared resource, cloning it if necessary. */ + _getNodeRef(cache, index, object) { + if (cache.refs[index] <= 1) return object; + const ref = object.clone(); + const updateMappings = /* @__PURE__ */ __name((original, clone) => { + const mappings = this.associations.get(original); + if (mappings != null) { + this.associations.set(clone, mappings); + } + for (const [i, child] of original.children.entries()) { + updateMappings(child, clone.children[i]); + } + }, "updateMappings"); + updateMappings(object, ref); + ref.name += "_instance_" + cache.uses[index]++; + return ref; + } + _invokeOne(func) { + const extensions = Object.values(this.plugins); + extensions.push(this); + for (let i = 0; i < extensions.length; i++) { + const result = func(extensions[i]); + if (result) return result; + } + return null; + } + _invokeAll(func) { + const extensions = Object.values(this.plugins); + extensions.unshift(this); + const pending = []; + for (let i = 0; i < extensions.length; i++) { + const result = func(extensions[i]); + if (result) pending.push(result); + } + return pending; + } + /** + * Requests the specified dependency asynchronously, with caching. + * @param {string} type + * @param {number} index + * @return {Promise} + */ + getDependency(type, index) { + const cacheKey = type + ":" + index; + let dependency = this.cache.get(cacheKey); + if (!dependency) { + switch (type) { + case "scene": + dependency = this.loadScene(index); + break; + case "node": + dependency = this._invokeOne(function(ext2) { + return ext2.loadNode && ext2.loadNode(index); + }); + break; + case "mesh": + dependency = this._invokeOne(function(ext2) { + return ext2.loadMesh && ext2.loadMesh(index); + }); + break; + case "accessor": + dependency = this.loadAccessor(index); + break; + case "bufferView": + dependency = this._invokeOne(function(ext2) { + return ext2.loadBufferView && ext2.loadBufferView(index); + }); + break; + case "buffer": + dependency = this.loadBuffer(index); + break; + case "material": + dependency = this._invokeOne(function(ext2) { + return ext2.loadMaterial && ext2.loadMaterial(index); + }); + break; + case "texture": + dependency = this._invokeOne(function(ext2) { + return ext2.loadTexture && ext2.loadTexture(index); + }); + break; + case "skin": + dependency = this.loadSkin(index); + break; + case "animation": + dependency = this._invokeOne(function(ext2) { + return ext2.loadAnimation && ext2.loadAnimation(index); + }); + break; + case "camera": + dependency = this.loadCamera(index); + break; + default: + dependency = this._invokeOne(function(ext2) { + return ext2 != this && ext2.getDependency && ext2.getDependency(type, index); + }); + if (!dependency) { + throw new Error("Unknown type: " + type); + } + break; + } + this.cache.add(cacheKey, dependency); + } + return dependency; + } + /** + * Requests all dependencies of the specified type asynchronously, with caching. + * @param {string} type + * @return {Promise>} + */ + getDependencies(type) { + let dependencies = this.cache.get(type); + if (!dependencies) { + const parser = this; + const defs = this.json[type + (type === "mesh" ? "es" : "s")] || []; + dependencies = Promise.all(defs.map(function(def, index) { + return parser.getDependency(type, index); + })); + this.cache.add(type, dependencies); + } + return dependencies; + } + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views + * @param {number} bufferIndex + * @return {Promise} + */ + loadBuffer(bufferIndex) { + const bufferDef = this.json.buffers[bufferIndex]; + const loader = this.fileLoader; + if (bufferDef.type && bufferDef.type !== "arraybuffer") { + throw new Error("THREE.GLTFLoader: " + bufferDef.type + " buffer type is not supported."); + } + if (bufferDef.uri === void 0 && bufferIndex === 0) { + return Promise.resolve(this.extensions[EXTENSIONS.KHR_BINARY_GLTF].body); + } + const options = this.options; + return new Promise(function(resolve, reject) { + loader.load(LoaderUtils.resolveURL(bufferDef.uri, options.path), resolve, void 0, function() { + reject(new Error('THREE.GLTFLoader: Failed to load buffer "' + bufferDef.uri + '".')); + }); + }); + } + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views + * @param {number} bufferViewIndex + * @return {Promise} + */ + loadBufferView(bufferViewIndex) { + const bufferViewDef = this.json.bufferViews[bufferViewIndex]; + return this.getDependency("buffer", bufferViewDef.buffer).then(function(buffer) { + const byteLength = bufferViewDef.byteLength || 0; + const byteOffset = bufferViewDef.byteOffset || 0; + return buffer.slice(byteOffset, byteOffset + byteLength); + }); + } + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#accessors + * @param {number} accessorIndex + * @return {Promise} + */ + loadAccessor(accessorIndex) { + const parser = this; + const json = this.json; + const accessorDef = this.json.accessors[accessorIndex]; + if (accessorDef.bufferView === void 0 && accessorDef.sparse === void 0) { + const itemSize = WEBGL_TYPE_SIZES[accessorDef.type]; + const TypedArray = WEBGL_COMPONENT_TYPES[accessorDef.componentType]; + const normalized = accessorDef.normalized === true; + const array = new TypedArray(accessorDef.count * itemSize); + return Promise.resolve(new BufferAttribute(array, itemSize, normalized)); + } + const pendingBufferViews = []; + if (accessorDef.bufferView !== void 0) { + pendingBufferViews.push(this.getDependency("bufferView", accessorDef.bufferView)); + } else { + pendingBufferViews.push(null); + } + if (accessorDef.sparse !== void 0) { + pendingBufferViews.push(this.getDependency("bufferView", accessorDef.sparse.indices.bufferView)); + pendingBufferViews.push(this.getDependency("bufferView", accessorDef.sparse.values.bufferView)); + } + return Promise.all(pendingBufferViews).then(function(bufferViews) { + const bufferView = bufferViews[0]; + const itemSize = WEBGL_TYPE_SIZES[accessorDef.type]; + const TypedArray = WEBGL_COMPONENT_TYPES[accessorDef.componentType]; + const elementBytes = TypedArray.BYTES_PER_ELEMENT; + const itemBytes = elementBytes * itemSize; + const byteOffset = accessorDef.byteOffset || 0; + const byteStride = accessorDef.bufferView !== void 0 ? json.bufferViews[accessorDef.bufferView].byteStride : void 0; + const normalized = accessorDef.normalized === true; + let array, bufferAttribute; + if (byteStride && byteStride !== itemBytes) { + const ibSlice = Math.floor(byteOffset / byteStride); + const ibCacheKey = "InterleavedBuffer:" + accessorDef.bufferView + ":" + accessorDef.componentType + ":" + ibSlice + ":" + accessorDef.count; + let ib = parser.cache.get(ibCacheKey); + if (!ib) { + array = new TypedArray(bufferView, ibSlice * byteStride, accessorDef.count * byteStride / elementBytes); + ib = new InterleavedBuffer(array, byteStride / elementBytes); + parser.cache.add(ibCacheKey, ib); + } + bufferAttribute = new InterleavedBufferAttribute(ib, itemSize, byteOffset % byteStride / elementBytes, normalized); + } else { + if (bufferView === null) { + array = new TypedArray(accessorDef.count * itemSize); + } else { + array = new TypedArray(bufferView, byteOffset, accessorDef.count * itemSize); + } + bufferAttribute = new BufferAttribute(array, itemSize, normalized); + } + if (accessorDef.sparse !== void 0) { + const itemSizeIndices = WEBGL_TYPE_SIZES.SCALAR; + const TypedArrayIndices = WEBGL_COMPONENT_TYPES[accessorDef.sparse.indices.componentType]; + const byteOffsetIndices = accessorDef.sparse.indices.byteOffset || 0; + const byteOffsetValues = accessorDef.sparse.values.byteOffset || 0; + const sparseIndices = new TypedArrayIndices(bufferViews[1], byteOffsetIndices, accessorDef.sparse.count * itemSizeIndices); + const sparseValues = new TypedArray(bufferViews[2], byteOffsetValues, accessorDef.sparse.count * itemSize); + if (bufferView !== null) { + bufferAttribute = new BufferAttribute(bufferAttribute.array.slice(), bufferAttribute.itemSize, bufferAttribute.normalized); + } + bufferAttribute.normalized = false; + for (let i = 0, il = sparseIndices.length; i < il; i++) { + const index = sparseIndices[i]; + bufferAttribute.setX(index, sparseValues[i * itemSize]); + if (itemSize >= 2) bufferAttribute.setY(index, sparseValues[i * itemSize + 1]); + if (itemSize >= 3) bufferAttribute.setZ(index, sparseValues[i * itemSize + 2]); + if (itemSize >= 4) bufferAttribute.setW(index, sparseValues[i * itemSize + 3]); + if (itemSize >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute."); + } + bufferAttribute.normalized = normalized; + } + return bufferAttribute; + }); + } + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#textures + * @param {number} textureIndex + * @return {Promise} + */ + loadTexture(textureIndex) { + const json = this.json; + const options = this.options; + const textureDef = json.textures[textureIndex]; + const sourceIndex = textureDef.source; + const sourceDef = json.images[sourceIndex]; + let loader = this.textureLoader; + if (sourceDef.uri) { + const handler = options.manager.getHandler(sourceDef.uri); + if (handler !== null) loader = handler; + } + return this.loadTextureImage(textureIndex, sourceIndex, loader); + } + loadTextureImage(textureIndex, sourceIndex, loader) { + const parser = this; + const json = this.json; + const textureDef = json.textures[textureIndex]; + const sourceDef = json.images[sourceIndex]; + const cacheKey = (sourceDef.uri || sourceDef.bufferView) + ":" + textureDef.sampler; + if (this.textureCache[cacheKey]) { + return this.textureCache[cacheKey]; + } + const promise = this.loadImageSource(sourceIndex, loader).then(function(texture) { + texture.flipY = false; + texture.name = textureDef.name || sourceDef.name || ""; + if (texture.name === "" && typeof sourceDef.uri === "string" && sourceDef.uri.startsWith("data:image/") === false) { + texture.name = sourceDef.uri; + } + const samplers = json.samplers || {}; + const sampler = samplers[textureDef.sampler] || {}; + texture.magFilter = WEBGL_FILTERS[sampler.magFilter] || LinearFilter; + texture.minFilter = WEBGL_FILTERS[sampler.minFilter] || LinearMipmapLinearFilter; + texture.wrapS = WEBGL_WRAPPINGS[sampler.wrapS] || RepeatWrapping; + texture.wrapT = WEBGL_WRAPPINGS[sampler.wrapT] || RepeatWrapping; + texture.generateMipmaps = !texture.isCompressedTexture && texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter; + parser.associations.set(texture, { textures: textureIndex }); + return texture; + }).catch(function() { + return null; + }); + this.textureCache[cacheKey] = promise; + return promise; + } + loadImageSource(sourceIndex, loader) { + const parser = this; + const json = this.json; + const options = this.options; + if (this.sourceCache[sourceIndex] !== void 0) { + return this.sourceCache[sourceIndex].then((texture) => texture.clone()); + } + const sourceDef = json.images[sourceIndex]; + const URL2 = self.URL || self.webkitURL; + let sourceURI = sourceDef.uri || ""; + let isObjectURL = false; + if (sourceDef.bufferView !== void 0) { + sourceURI = parser.getDependency("bufferView", sourceDef.bufferView).then(function(bufferView) { + isObjectURL = true; + const blob = new Blob([bufferView], { type: sourceDef.mimeType }); + sourceURI = URL2.createObjectURL(blob); + return sourceURI; + }); + } else if (sourceDef.uri === void 0) { + throw new Error("THREE.GLTFLoader: Image " + sourceIndex + " is missing URI and bufferView"); + } + const promise = Promise.resolve(sourceURI).then(function(sourceURI2) { + return new Promise(function(resolve, reject) { + let onLoad = resolve; + if (loader.isImageBitmapLoader === true) { + onLoad = /* @__PURE__ */ __name(function(imageBitmap) { + const texture = new Texture(imageBitmap); + texture.needsUpdate = true; + resolve(texture); + }, "onLoad"); + } + loader.load(LoaderUtils.resolveURL(sourceURI2, options.path), onLoad, void 0, reject); + }); + }).then(function(texture) { + if (isObjectURL === true) { + URL2.revokeObjectURL(sourceURI); + } + assignExtrasToUserData(texture, sourceDef); + texture.userData.mimeType = sourceDef.mimeType || getImageURIMimeType(sourceDef.uri); + return texture; + }).catch(function(error) { + console.error("THREE.GLTFLoader: Couldn't load texture", sourceURI); + throw error; + }); + this.sourceCache[sourceIndex] = promise; + return promise; + } + /** + * Asynchronously assigns a texture to the given material parameters. + * @param {Object} materialParams + * @param {string} mapName + * @param {Object} mapDef + * @return {Promise} + */ + assignTexture(materialParams, mapName, mapDef, colorSpace) { + const parser = this; + return this.getDependency("texture", mapDef.index).then(function(texture) { + if (!texture) return null; + if (mapDef.texCoord !== void 0 && mapDef.texCoord > 0) { + texture = texture.clone(); + texture.channel = mapDef.texCoord; + } + if (parser.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM]) { + const transform = mapDef.extensions !== void 0 ? mapDef.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM] : void 0; + if (transform) { + const gltfReference = parser.associations.get(texture); + texture = parser.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM].extendTexture(texture, transform); + parser.associations.set(texture, gltfReference); + } + } + if (colorSpace !== void 0) { + texture.colorSpace = colorSpace; + } + materialParams[mapName] = texture; + return texture; + }); + } + /** + * Assigns final material to a Mesh, Line, or Points instance. The instance + * already has a material (generated from the glTF material options alone) + * but reuse of the same glTF material may require multiple threejs materials + * to accommodate different primitive types, defines, etc. New materials will + * be created if necessary, and reused from a cache. + * @param {Object3D} mesh Mesh, Line, or Points instance. + */ + assignFinalMaterial(mesh) { + const geometry = mesh.geometry; + let material = mesh.material; + const useDerivativeTangents = geometry.attributes.tangent === void 0; + const useVertexColors = geometry.attributes.color !== void 0; + const useFlatShading = geometry.attributes.normal === void 0; + if (mesh.isPoints) { + const cacheKey = "PointsMaterial:" + material.uuid; + let pointsMaterial = this.cache.get(cacheKey); + if (!pointsMaterial) { + pointsMaterial = new PointsMaterial(); + Material.prototype.copy.call(pointsMaterial, material); + pointsMaterial.color.copy(material.color); + pointsMaterial.map = material.map; + pointsMaterial.sizeAttenuation = false; + this.cache.add(cacheKey, pointsMaterial); + } + material = pointsMaterial; + } else if (mesh.isLine) { + const cacheKey = "LineBasicMaterial:" + material.uuid; + let lineMaterial = this.cache.get(cacheKey); + if (!lineMaterial) { + lineMaterial = new LineBasicMaterial(); + Material.prototype.copy.call(lineMaterial, material); + lineMaterial.color.copy(material.color); + lineMaterial.map = material.map; + this.cache.add(cacheKey, lineMaterial); + } + material = lineMaterial; + } + if (useDerivativeTangents || useVertexColors || useFlatShading) { + let cacheKey = "ClonedMaterial:" + material.uuid + ":"; + if (useDerivativeTangents) cacheKey += "derivative-tangents:"; + if (useVertexColors) cacheKey += "vertex-colors:"; + if (useFlatShading) cacheKey += "flat-shading:"; + let cachedMaterial = this.cache.get(cacheKey); + if (!cachedMaterial) { + cachedMaterial = material.clone(); + if (useVertexColors) cachedMaterial.vertexColors = true; + if (useFlatShading) cachedMaterial.flatShading = true; + if (useDerivativeTangents) { + if (cachedMaterial.normalScale) cachedMaterial.normalScale.y *= -1; + if (cachedMaterial.clearcoatNormalScale) cachedMaterial.clearcoatNormalScale.y *= -1; + } + this.cache.add(cacheKey, cachedMaterial); + this.associations.set(cachedMaterial, this.associations.get(material)); + } + material = cachedMaterial; + } + mesh.material = material; + } + getMaterialType() { + return MeshStandardMaterial; + } + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials + * @param {number} materialIndex + * @return {Promise} + */ + loadMaterial(materialIndex) { + const parser = this; + const json = this.json; + const extensions = this.extensions; + const materialDef = json.materials[materialIndex]; + let materialType; + const materialParams = {}; + const materialExtensions = materialDef.extensions || {}; + const pending = []; + if (materialExtensions[EXTENSIONS.KHR_MATERIALS_UNLIT]) { + const kmuExtension = extensions[EXTENSIONS.KHR_MATERIALS_UNLIT]; + materialType = kmuExtension.getMaterialType(); + pending.push(kmuExtension.extendParams(materialParams, materialDef, parser)); + } else { + const metallicRoughness = materialDef.pbrMetallicRoughness || {}; + materialParams.color = new Color(1, 1, 1); + materialParams.opacity = 1; + if (Array.isArray(metallicRoughness.baseColorFactor)) { + const array = metallicRoughness.baseColorFactor; + materialParams.color.setRGB(array[0], array[1], array[2], LinearSRGBColorSpace); + materialParams.opacity = array[3]; + } + if (metallicRoughness.baseColorTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "map", metallicRoughness.baseColorTexture, SRGBColorSpace)); + } + materialParams.metalness = metallicRoughness.metallicFactor !== void 0 ? metallicRoughness.metallicFactor : 1; + materialParams.roughness = metallicRoughness.roughnessFactor !== void 0 ? metallicRoughness.roughnessFactor : 1; + if (metallicRoughness.metallicRoughnessTexture !== void 0) { + pending.push(parser.assignTexture(materialParams, "metalnessMap", metallicRoughness.metallicRoughnessTexture)); + pending.push(parser.assignTexture(materialParams, "roughnessMap", metallicRoughness.metallicRoughnessTexture)); + } + materialType = this._invokeOne(function(ext2) { + return ext2.getMaterialType && ext2.getMaterialType(materialIndex); + }); + pending.push(Promise.all(this._invokeAll(function(ext2) { + return ext2.extendMaterialParams && ext2.extendMaterialParams(materialIndex, materialParams); + }))); + } + if (materialDef.doubleSided === true) { + materialParams.side = DoubleSide; + } + const alphaMode = materialDef.alphaMode || ALPHA_MODES.OPAQUE; + if (alphaMode === ALPHA_MODES.BLEND) { + materialParams.transparent = true; + materialParams.depthWrite = false; + } else { + materialParams.transparent = false; + if (alphaMode === ALPHA_MODES.MASK) { + materialParams.alphaTest = materialDef.alphaCutoff !== void 0 ? materialDef.alphaCutoff : 0.5; + } + } + if (materialDef.normalTexture !== void 0 && materialType !== MeshBasicMaterial) { + pending.push(parser.assignTexture(materialParams, "normalMap", materialDef.normalTexture)); + materialParams.normalScale = new Vector2(1, 1); + if (materialDef.normalTexture.scale !== void 0) { + const scale = materialDef.normalTexture.scale; + materialParams.normalScale.set(scale, scale); + } + } + if (materialDef.occlusionTexture !== void 0 && materialType !== MeshBasicMaterial) { + pending.push(parser.assignTexture(materialParams, "aoMap", materialDef.occlusionTexture)); + if (materialDef.occlusionTexture.strength !== void 0) { + materialParams.aoMapIntensity = materialDef.occlusionTexture.strength; + } + } + if (materialDef.emissiveFactor !== void 0 && materialType !== MeshBasicMaterial) { + const emissiveFactor = materialDef.emissiveFactor; + materialParams.emissive = new Color().setRGB(emissiveFactor[0], emissiveFactor[1], emissiveFactor[2], LinearSRGBColorSpace); + } + if (materialDef.emissiveTexture !== void 0 && materialType !== MeshBasicMaterial) { + pending.push(parser.assignTexture(materialParams, "emissiveMap", materialDef.emissiveTexture, SRGBColorSpace)); + } + return Promise.all(pending).then(function() { + const material = new materialType(materialParams); + if (materialDef.name) material.name = materialDef.name; + assignExtrasToUserData(material, materialDef); + parser.associations.set(material, { materials: materialIndex }); + if (materialDef.extensions) addUnknownExtensionsToUserData(extensions, material, materialDef); + return material; + }); + } + /** When Object3D instances are targeted by animation, they need unique names. */ + createUniqueName(originalName) { + const sanitizedName = PropertyBinding.sanitizeNodeName(originalName || ""); + if (sanitizedName in this.nodeNamesUsed) { + return sanitizedName + "_" + ++this.nodeNamesUsed[sanitizedName]; + } else { + this.nodeNamesUsed[sanitizedName] = 0; + return sanitizedName; + } + } + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#geometry + * + * Creates BufferGeometries from primitives. + * + * @param {Array} primitives + * @return {Promise>} + */ + loadGeometries(primitives) { + const parser = this; + const extensions = this.extensions; + const cache = this.primitiveCache; + function createDracoPrimitive(primitive) { + return extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(primitive, parser).then(function(geometry) { + return addPrimitiveAttributes(geometry, primitive, parser); + }); + } + __name(createDracoPrimitive, "createDracoPrimitive"); + const pending = []; + for (let i = 0, il = primitives.length; i < il; i++) { + const primitive = primitives[i]; + const cacheKey = createPrimitiveKey(primitive); + const cached = cache[cacheKey]; + if (cached) { + pending.push(cached.promise); + } else { + let geometryPromise; + if (primitive.extensions && primitive.extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION]) { + geometryPromise = createDracoPrimitive(primitive); + } else { + geometryPromise = addPrimitiveAttributes(new BufferGeometry(), primitive, parser); + } + cache[cacheKey] = { primitive, promise: geometryPromise }; + pending.push(geometryPromise); + } + } + return Promise.all(pending); + } + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#meshes + * @param {number} meshIndex + * @return {Promise} + */ + loadMesh(meshIndex) { + const parser = this; + const json = this.json; + const extensions = this.extensions; + const meshDef = json.meshes[meshIndex]; + const primitives = meshDef.primitives; + const pending = []; + for (let i = 0, il = primitives.length; i < il; i++) { + const material = primitives[i].material === void 0 ? createDefaultMaterial(this.cache) : this.getDependency("material", primitives[i].material); + pending.push(material); + } + pending.push(parser.loadGeometries(primitives)); + return Promise.all(pending).then(function(results) { + const materials = results.slice(0, results.length - 1); + const geometries = results[results.length - 1]; + const meshes = []; + for (let i = 0, il = geometries.length; i < il; i++) { + const geometry = geometries[i]; + const primitive = primitives[i]; + let mesh; + const material = materials[i]; + if (primitive.mode === WEBGL_CONSTANTS.TRIANGLES || primitive.mode === WEBGL_CONSTANTS.TRIANGLE_STRIP || primitive.mode === WEBGL_CONSTANTS.TRIANGLE_FAN || primitive.mode === void 0) { + mesh = meshDef.isSkinnedMesh === true ? new SkinnedMesh(geometry, material) : new Mesh(geometry, material); + if (mesh.isSkinnedMesh === true) { + mesh.normalizeSkinWeights(); + } + if (primitive.mode === WEBGL_CONSTANTS.TRIANGLE_STRIP) { + mesh.geometry = toTrianglesDrawMode(mesh.geometry, TriangleStripDrawMode); + } else if (primitive.mode === WEBGL_CONSTANTS.TRIANGLE_FAN) { + mesh.geometry = toTrianglesDrawMode(mesh.geometry, TriangleFanDrawMode); + } + } else if (primitive.mode === WEBGL_CONSTANTS.LINES) { + mesh = new LineSegments(geometry, material); + } else if (primitive.mode === WEBGL_CONSTANTS.LINE_STRIP) { + mesh = new Line(geometry, material); + } else if (primitive.mode === WEBGL_CONSTANTS.LINE_LOOP) { + mesh = new LineLoop(geometry, material); + } else if (primitive.mode === WEBGL_CONSTANTS.POINTS) { + mesh = new Points(geometry, material); + } else { + throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + primitive.mode); + } + if (Object.keys(mesh.geometry.morphAttributes).length > 0) { + updateMorphTargets(mesh, meshDef); + } + mesh.name = parser.createUniqueName(meshDef.name || "mesh_" + meshIndex); + assignExtrasToUserData(mesh, meshDef); + if (primitive.extensions) addUnknownExtensionsToUserData(extensions, mesh, primitive); + parser.assignFinalMaterial(mesh); + meshes.push(mesh); + } + for (let i = 0, il = meshes.length; i < il; i++) { + parser.associations.set(meshes[i], { + meshes: meshIndex, + primitives: i + }); + } + if (meshes.length === 1) { + if (meshDef.extensions) addUnknownExtensionsToUserData(extensions, meshes[0], meshDef); + return meshes[0]; + } + const group = new Group(); + if (meshDef.extensions) addUnknownExtensionsToUserData(extensions, group, meshDef); + parser.associations.set(group, { meshes: meshIndex }); + for (let i = 0, il = meshes.length; i < il; i++) { + group.add(meshes[i]); + } + return group; + }); + } + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#cameras + * @param {number} cameraIndex + * @return {Promise} + */ + loadCamera(cameraIndex) { + let camera; + const cameraDef = this.json.cameras[cameraIndex]; + const params = cameraDef[cameraDef.type]; + if (!params) { + console.warn("THREE.GLTFLoader: Missing camera parameters."); + return; + } + if (cameraDef.type === "perspective") { + camera = new PerspectiveCamera(MathUtils.radToDeg(params.yfov), params.aspectRatio || 1, params.znear || 1, params.zfar || 2e6); + } else if (cameraDef.type === "orthographic") { + camera = new OrthographicCamera(-params.xmag, params.xmag, params.ymag, -params.ymag, params.znear, params.zfar); + } + if (cameraDef.name) camera.name = this.createUniqueName(cameraDef.name); + assignExtrasToUserData(camera, cameraDef); + return Promise.resolve(camera); + } + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins + * @param {number} skinIndex + * @return {Promise} + */ + loadSkin(skinIndex) { + const skinDef = this.json.skins[skinIndex]; + const pending = []; + for (let i = 0, il = skinDef.joints.length; i < il; i++) { + pending.push(this._loadNodeShallow(skinDef.joints[i])); + } + if (skinDef.inverseBindMatrices !== void 0) { + pending.push(this.getDependency("accessor", skinDef.inverseBindMatrices)); + } else { + pending.push(null); + } + return Promise.all(pending).then(function(results) { + const inverseBindMatrices = results.pop(); + const jointNodes = results; + const bones = []; + const boneInverses = []; + for (let i = 0, il = jointNodes.length; i < il; i++) { + const jointNode = jointNodes[i]; + if (jointNode) { + bones.push(jointNode); + const mat = new Matrix4(); + if (inverseBindMatrices !== null) { + mat.fromArray(inverseBindMatrices.array, i * 16); + } + boneInverses.push(mat); + } else { + console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', skinDef.joints[i]); + } + } + return new Skeleton(bones, boneInverses); + }); + } + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#animations + * @param {number} animationIndex + * @return {Promise} + */ + loadAnimation(animationIndex) { + const json = this.json; + const parser = this; + const animationDef = json.animations[animationIndex]; + const animationName = animationDef.name ? animationDef.name : "animation_" + animationIndex; + const pendingNodes = []; + const pendingInputAccessors = []; + const pendingOutputAccessors = []; + const pendingSamplers = []; + const pendingTargets = []; + for (let i = 0, il = animationDef.channels.length; i < il; i++) { + const channel = animationDef.channels[i]; + const sampler = animationDef.samplers[channel.sampler]; + const target = channel.target; + const name = target.node; + const input = animationDef.parameters !== void 0 ? animationDef.parameters[sampler.input] : sampler.input; + const output = animationDef.parameters !== void 0 ? animationDef.parameters[sampler.output] : sampler.output; + if (target.node === void 0) continue; + pendingNodes.push(this.getDependency("node", name)); + pendingInputAccessors.push(this.getDependency("accessor", input)); + pendingOutputAccessors.push(this.getDependency("accessor", output)); + pendingSamplers.push(sampler); + pendingTargets.push(target); + } + return Promise.all([ + Promise.all(pendingNodes), + Promise.all(pendingInputAccessors), + Promise.all(pendingOutputAccessors), + Promise.all(pendingSamplers), + Promise.all(pendingTargets) + ]).then(function(dependencies) { + const nodes = dependencies[0]; + const inputAccessors = dependencies[1]; + const outputAccessors = dependencies[2]; + const samplers = dependencies[3]; + const targets = dependencies[4]; + const tracks = []; + for (let i = 0, il = nodes.length; i < il; i++) { + const node = nodes[i]; + const inputAccessor = inputAccessors[i]; + const outputAccessor = outputAccessors[i]; + const sampler = samplers[i]; + const target = targets[i]; + if (node === void 0) continue; + if (node.updateMatrix) { + node.updateMatrix(); + } + const createdTracks = parser._createAnimationTracks(node, inputAccessor, outputAccessor, sampler, target); + if (createdTracks) { + for (let k = 0; k < createdTracks.length; k++) { + tracks.push(createdTracks[k]); + } + } + } + return new AnimationClip(animationName, void 0, tracks); + }); + } + createNodeMesh(nodeIndex) { + const json = this.json; + const parser = this; + const nodeDef = json.nodes[nodeIndex]; + if (nodeDef.mesh === void 0) return null; + return parser.getDependency("mesh", nodeDef.mesh).then(function(mesh) { + const node = parser._getNodeRef(parser.meshCache, nodeDef.mesh, mesh); + if (nodeDef.weights !== void 0) { + node.traverse(function(o) { + if (!o.isMesh) return; + for (let i = 0, il = nodeDef.weights.length; i < il; i++) { + o.morphTargetInfluences[i] = nodeDef.weights[i]; + } + }); + } + return node; + }); + } + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#nodes-and-hierarchy + * @param {number} nodeIndex + * @return {Promise} + */ + loadNode(nodeIndex) { + const json = this.json; + const parser = this; + const nodeDef = json.nodes[nodeIndex]; + const nodePending = parser._loadNodeShallow(nodeIndex); + const childPending = []; + const childrenDef = nodeDef.children || []; + for (let i = 0, il = childrenDef.length; i < il; i++) { + childPending.push(parser.getDependency("node", childrenDef[i])); + } + const skeletonPending = nodeDef.skin === void 0 ? Promise.resolve(null) : parser.getDependency("skin", nodeDef.skin); + return Promise.all([ + nodePending, + Promise.all(childPending), + skeletonPending + ]).then(function(results) { + const node = results[0]; + const children = results[1]; + const skeleton = results[2]; + if (skeleton !== null) { + node.traverse(function(mesh) { + if (!mesh.isSkinnedMesh) return; + mesh.bind(skeleton, _identityMatrix); + }); + } + for (let i = 0, il = children.length; i < il; i++) { + node.add(children[i]); + } + return node; + }); + } + // ._loadNodeShallow() parses a single node. + // skin and child nodes are created and added in .loadNode() (no '_' prefix). + _loadNodeShallow(nodeIndex) { + const json = this.json; + const extensions = this.extensions; + const parser = this; + if (this.nodeCache[nodeIndex] !== void 0) { + return this.nodeCache[nodeIndex]; + } + const nodeDef = json.nodes[nodeIndex]; + const nodeName = nodeDef.name ? parser.createUniqueName(nodeDef.name) : ""; + const pending = []; + const meshPromise = parser._invokeOne(function(ext2) { + return ext2.createNodeMesh && ext2.createNodeMesh(nodeIndex); + }); + if (meshPromise) { + pending.push(meshPromise); + } + if (nodeDef.camera !== void 0) { + pending.push(parser.getDependency("camera", nodeDef.camera).then(function(camera) { + return parser._getNodeRef(parser.cameraCache, nodeDef.camera, camera); + })); + } + parser._invokeAll(function(ext2) { + return ext2.createNodeAttachment && ext2.createNodeAttachment(nodeIndex); + }).forEach(function(promise) { + pending.push(promise); + }); + this.nodeCache[nodeIndex] = Promise.all(pending).then(function(objects) { + let node; + if (nodeDef.isBone === true) { + node = new Bone(); + } else if (objects.length > 1) { + node = new Group(); + } else if (objects.length === 1) { + node = objects[0]; + } else { + node = new Object3D(); + } + if (node !== objects[0]) { + for (let i = 0, il = objects.length; i < il; i++) { + node.add(objects[i]); + } + } + if (nodeDef.name) { + node.userData.name = nodeDef.name; + node.name = nodeName; + } + assignExtrasToUserData(node, nodeDef); + if (nodeDef.extensions) addUnknownExtensionsToUserData(extensions, node, nodeDef); + if (nodeDef.matrix !== void 0) { + const matrix = new Matrix4(); + matrix.fromArray(nodeDef.matrix); + node.applyMatrix4(matrix); + } else { + if (nodeDef.translation !== void 0) { + node.position.fromArray(nodeDef.translation); + } + if (nodeDef.rotation !== void 0) { + node.quaternion.fromArray(nodeDef.rotation); + } + if (nodeDef.scale !== void 0) { + node.scale.fromArray(nodeDef.scale); + } + } + if (!parser.associations.has(node)) { + parser.associations.set(node, {}); + } + parser.associations.get(node).nodes = nodeIndex; + return node; + }); + return this.nodeCache[nodeIndex]; + } + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#scenes + * @param {number} sceneIndex + * @return {Promise} + */ + loadScene(sceneIndex) { + const extensions = this.extensions; + const sceneDef = this.json.scenes[sceneIndex]; + const parser = this; + const scene = new Group(); + if (sceneDef.name) scene.name = parser.createUniqueName(sceneDef.name); + assignExtrasToUserData(scene, sceneDef); + if (sceneDef.extensions) addUnknownExtensionsToUserData(extensions, scene, sceneDef); + const nodeIds = sceneDef.nodes || []; + const pending = []; + for (let i = 0, il = nodeIds.length; i < il; i++) { + pending.push(parser.getDependency("node", nodeIds[i])); + } + return Promise.all(pending).then(function(nodes) { + for (let i = 0, il = nodes.length; i < il; i++) { + scene.add(nodes[i]); + } + const reduceAssociations = /* @__PURE__ */ __name((node) => { + const reducedAssociations = /* @__PURE__ */ new Map(); + for (const [key, value] of parser.associations) { + if (key instanceof Material || key instanceof Texture) { + reducedAssociations.set(key, value); + } + } + node.traverse((node2) => { + const mappings = parser.associations.get(node2); + if (mappings != null) { + reducedAssociations.set(node2, mappings); + } + }); + return reducedAssociations; + }, "reduceAssociations"); + parser.associations = reduceAssociations(scene); + return scene; + }); + } + _createAnimationTracks(node, inputAccessor, outputAccessor, sampler, target) { + const tracks = []; + const targetName = node.name ? node.name : node.uuid; + const targetNames = []; + if (PATH_PROPERTIES[target.path] === PATH_PROPERTIES.weights) { + node.traverse(function(object) { + if (object.morphTargetInfluences) { + targetNames.push(object.name ? object.name : object.uuid); + } + }); + } else { + targetNames.push(targetName); + } + let TypedKeyframeTrack; + switch (PATH_PROPERTIES[target.path]) { + case PATH_PROPERTIES.weights: + TypedKeyframeTrack = NumberKeyframeTrack; + break; + case PATH_PROPERTIES.rotation: + TypedKeyframeTrack = QuaternionKeyframeTrack; + break; + case PATH_PROPERTIES.position: + case PATH_PROPERTIES.scale: + TypedKeyframeTrack = VectorKeyframeTrack; + break; + default: + switch (outputAccessor.itemSize) { + case 1: + TypedKeyframeTrack = NumberKeyframeTrack; + break; + case 2: + case 3: + default: + TypedKeyframeTrack = VectorKeyframeTrack; + break; + } + break; + } + const interpolation = sampler.interpolation !== void 0 ? INTERPOLATION[sampler.interpolation] : InterpolateLinear; + const outputArray = this._getArrayFromAccessor(outputAccessor); + for (let j = 0, jl = targetNames.length; j < jl; j++) { + const track = new TypedKeyframeTrack( + targetNames[j] + "." + PATH_PROPERTIES[target.path], + inputAccessor.array, + outputArray, + interpolation + ); + if (sampler.interpolation === "CUBICSPLINE") { + this._createCubicSplineTrackInterpolant(track); + } + tracks.push(track); + } + return tracks; + } + _getArrayFromAccessor(accessor) { + let outputArray = accessor.array; + if (accessor.normalized) { + const scale = getNormalizedComponentScale(outputArray.constructor); + const scaled = new Float32Array(outputArray.length); + for (let j = 0, jl = outputArray.length; j < jl; j++) { + scaled[j] = outputArray[j] * scale; + } + outputArray = scaled; + } + return outputArray; + } + _createCubicSplineTrackInterpolant(track) { + track.createInterpolant = /* @__PURE__ */ __name(function InterpolantFactoryMethodGLTFCubicSpline(result) { + const interpolantType = this instanceof QuaternionKeyframeTrack ? GLTFCubicSplineQuaternionInterpolant : GLTFCubicSplineInterpolant; + return new interpolantType(this.times, this.values, this.getValueSize() / 3, result); + }, "InterpolantFactoryMethodGLTFCubicSpline"); + track.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = true; + } +} +function computeBounds(geometry, primitiveDef, parser) { + const attributes = primitiveDef.attributes; + const box = new Box3(); + if (attributes.POSITION !== void 0) { + const accessor = parser.json.accessors[attributes.POSITION]; + const min = accessor.min; + const max2 = accessor.max; + if (min !== void 0 && max2 !== void 0) { + box.set( + new Vector3(min[0], min[1], min[2]), + new Vector3(max2[0], max2[1], max2[2]) + ); + if (accessor.normalized) { + const boxScale = getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[accessor.componentType]); + box.min.multiplyScalar(boxScale); + box.max.multiplyScalar(boxScale); + } + } else { + console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION."); + return; + } + } else { + return; + } + const targets = primitiveDef.targets; + if (targets !== void 0) { + const maxDisplacement = new Vector3(); + const vector = new Vector3(); + for (let i = 0, il = targets.length; i < il; i++) { + const target = targets[i]; + if (target.POSITION !== void 0) { + const accessor = parser.json.accessors[target.POSITION]; + const min = accessor.min; + const max2 = accessor.max; + if (min !== void 0 && max2 !== void 0) { + vector.setX(Math.max(Math.abs(min[0]), Math.abs(max2[0]))); + vector.setY(Math.max(Math.abs(min[1]), Math.abs(max2[1]))); + vector.setZ(Math.max(Math.abs(min[2]), Math.abs(max2[2]))); + if (accessor.normalized) { + const boxScale = getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[accessor.componentType]); + vector.multiplyScalar(boxScale); + } + maxDisplacement.max(vector); + } else { + console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION."); + } + } + } + box.expandByVector(maxDisplacement); + } + geometry.boundingBox = box; + const sphere = new Sphere(); + box.getCenter(sphere.center); + sphere.radius = box.min.distanceTo(box.max) / 2; + geometry.boundingSphere = sphere; +} +__name(computeBounds, "computeBounds"); +function addPrimitiveAttributes(geometry, primitiveDef, parser) { + const attributes = primitiveDef.attributes; + const pending = []; + function assignAttributeAccessor(accessorIndex, attributeName) { + return parser.getDependency("accessor", accessorIndex).then(function(accessor) { + geometry.setAttribute(attributeName, accessor); + }); + } + __name(assignAttributeAccessor, "assignAttributeAccessor"); + for (const gltfAttributeName in attributes) { + const threeAttributeName = ATTRIBUTES[gltfAttributeName] || gltfAttributeName.toLowerCase(); + if (threeAttributeName in geometry.attributes) continue; + pending.push(assignAttributeAccessor(attributes[gltfAttributeName], threeAttributeName)); + } + if (primitiveDef.indices !== void 0 && !geometry.index) { + const accessor = parser.getDependency("accessor", primitiveDef.indices).then(function(accessor2) { + geometry.setIndex(accessor2); + }); + pending.push(accessor); + } + if (ColorManagement.workingColorSpace !== LinearSRGBColorSpace && "COLOR_0" in attributes) { + console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${ColorManagement.workingColorSpace}" not supported.`); + } + assignExtrasToUserData(geometry, primitiveDef); + computeBounds(geometry, primitiveDef, parser); + return Promise.all(pending).then(function() { + return primitiveDef.targets !== void 0 ? addMorphTargets(geometry, primitiveDef.targets, parser) : geometry; + }); +} +__name(addPrimitiveAttributes, "addPrimitiveAttributes"); +class MTLLoader extends Loader { + static { + __name(this, "MTLLoader"); + } + constructor(manager) { + super(manager); + } + /** + * Loads and parses a MTL asset from a URL. + * + * @param {String} url - URL to the MTL file. + * @param {Function} [onLoad] - Callback invoked with the loaded object. + * @param {Function} [onProgress] - Callback for download progress. + * @param {Function} [onError] - Callback for download errors. + * + * @see setPath setResourcePath + * + * @note In order for relative texture references to resolve correctly + * you must call setResourcePath() explicitly prior to load. + */ + load(url, onLoad, onProgress, onError) { + const scope = this; + const path = this.path === "" ? LoaderUtils.extractUrlBase(url) : this.path; + const loader = new FileLoader(this.manager); + loader.setPath(this.path); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(this.withCredentials); + loader.load(url, function(text) { + try { + onLoad(scope.parse(text, path)); + } catch (e) { + if (onError) { + onError(e); + } else { + console.error(e); + } + scope.manager.itemError(url); + } + }, onProgress, onError); + } + setMaterialOptions(value) { + this.materialOptions = value; + return this; + } + /** + * Parses a MTL file. + * + * @param {String} text - Content of MTL file + * @return {MaterialCreator} + * + * @see setPath setResourcePath + * + * @note In order for relative texture references to resolve correctly + * you must call setResourcePath() explicitly prior to parse. + */ + parse(text, path) { + const lines = text.split("\n"); + let info = {}; + const delimiter_pattern = /\s+/; + const materialsInfo = {}; + for (let i = 0; i < lines.length; i++) { + let line = lines[i]; + line = line.trim(); + if (line.length === 0 || line.charAt(0) === "#") { + continue; + } + const pos = line.indexOf(" "); + let key = pos >= 0 ? line.substring(0, pos) : line; + key = key.toLowerCase(); + let value = pos >= 0 ? line.substring(pos + 1) : ""; + value = value.trim(); + if (key === "newmtl") { + info = { name: value }; + materialsInfo[value] = info; + } else { + if (key === "ka" || key === "kd" || key === "ks" || key === "ke") { + const ss = value.split(delimiter_pattern, 3); + info[key] = [parseFloat(ss[0]), parseFloat(ss[1]), parseFloat(ss[2])]; + } else { + info[key] = value; + } + } + } + const materialCreator = new MaterialCreator(this.resourcePath || path, this.materialOptions); + materialCreator.setCrossOrigin(this.crossOrigin); + materialCreator.setManager(this.manager); + materialCreator.setMaterials(materialsInfo); + return materialCreator; + } +} +class MaterialCreator { + static { + __name(this, "MaterialCreator"); + } + constructor(baseUrl = "", options = {}) { + this.baseUrl = baseUrl; + this.options = options; + this.materialsInfo = {}; + this.materials = {}; + this.materialsArray = []; + this.nameLookup = {}; + this.crossOrigin = "anonymous"; + this.side = this.options.side !== void 0 ? this.options.side : FrontSide; + this.wrap = this.options.wrap !== void 0 ? this.options.wrap : RepeatWrapping; + } + setCrossOrigin(value) { + this.crossOrigin = value; + return this; + } + setManager(value) { + this.manager = value; + } + setMaterials(materialsInfo) { + this.materialsInfo = this.convert(materialsInfo); + this.materials = {}; + this.materialsArray = []; + this.nameLookup = {}; + } + convert(materialsInfo) { + if (!this.options) return materialsInfo; + const converted = {}; + for (const mn in materialsInfo) { + const mat = materialsInfo[mn]; + const covmat = {}; + converted[mn] = covmat; + for (const prop in mat) { + let save = true; + let value = mat[prop]; + const lprop = prop.toLowerCase(); + switch (lprop) { + case "kd": + case "ka": + case "ks": + if (this.options && this.options.normalizeRGB) { + value = [value[0] / 255, value[1] / 255, value[2] / 255]; + } + if (this.options && this.options.ignoreZeroRGBs) { + if (value[0] === 0 && value[1] === 0 && value[2] === 0) { + save = false; + } + } + break; + default: + break; + } + if (save) { + covmat[lprop] = value; + } + } + } + return converted; + } + preload() { + for (const mn in this.materialsInfo) { + this.create(mn); + } + } + getIndex(materialName) { + return this.nameLookup[materialName]; + } + getAsArray() { + let index = 0; + for (const mn in this.materialsInfo) { + this.materialsArray[index] = this.create(mn); + this.nameLookup[mn] = index; + index++; + } + return this.materialsArray; + } + create(materialName) { + if (this.materials[materialName] === void 0) { + this.createMaterial_(materialName); + } + return this.materials[materialName]; + } + createMaterial_(materialName) { + const scope = this; + const mat = this.materialsInfo[materialName]; + const params = { + name: materialName, + side: this.side + }; + function resolveURL(baseUrl, url) { + if (typeof url !== "string" || url === "") + return ""; + if (/^https?:\/\//i.test(url)) return url; + return baseUrl + url; + } + __name(resolveURL, "resolveURL"); + function setMapForType(mapType, value) { + if (params[mapType]) return; + const texParams = scope.getTextureParams(value, params); + const map = scope.loadTexture(resolveURL(scope.baseUrl, texParams.url)); + map.repeat.copy(texParams.scale); + map.offset.copy(texParams.offset); + map.wrapS = scope.wrap; + map.wrapT = scope.wrap; + if (mapType === "map" || mapType === "emissiveMap") { + map.colorSpace = SRGBColorSpace; + } + params[mapType] = map; + } + __name(setMapForType, "setMapForType"); + for (const prop in mat) { + const value = mat[prop]; + let n; + if (value === "") continue; + switch (prop.toLowerCase()) { + case "kd": + params.color = ColorManagement.toWorkingColorSpace(new Color().fromArray(value), SRGBColorSpace); + break; + case "ks": + params.specular = ColorManagement.toWorkingColorSpace(new Color().fromArray(value), SRGBColorSpace); + break; + case "ke": + params.emissive = ColorManagement.toWorkingColorSpace(new Color().fromArray(value), SRGBColorSpace); + break; + case "map_kd": + setMapForType("map", value); + break; + case "map_ks": + setMapForType("specularMap", value); + break; + case "map_ke": + setMapForType("emissiveMap", value); + break; + case "norm": + setMapForType("normalMap", value); + break; + case "map_bump": + case "bump": + setMapForType("bumpMap", value); + break; + case "map_d": + setMapForType("alphaMap", value); + params.transparent = true; + break; + case "ns": + params.shininess = parseFloat(value); + break; + case "d": + n = parseFloat(value); + if (n < 1) { + params.opacity = n; + params.transparent = true; + } + break; + case "tr": + n = parseFloat(value); + if (this.options && this.options.invertTrProperty) n = 1 - n; + if (n > 0) { + params.opacity = 1 - n; + params.transparent = true; + } + break; + default: + break; + } + } + this.materials[materialName] = new MeshPhongMaterial(params); + return this.materials[materialName]; + } + getTextureParams(value, matParams) { + const texParams = { + scale: new Vector2(1, 1), + offset: new Vector2(0, 0) + }; + const items = value.split(/\s+/); + let pos; + pos = items.indexOf("-bm"); + if (pos >= 0) { + matParams.bumpScale = parseFloat(items[pos + 1]); + items.splice(pos, 2); + } + pos = items.indexOf("-s"); + if (pos >= 0) { + texParams.scale.set(parseFloat(items[pos + 1]), parseFloat(items[pos + 2])); + items.splice(pos, 4); + } + pos = items.indexOf("-o"); + if (pos >= 0) { + texParams.offset.set(parseFloat(items[pos + 1]), parseFloat(items[pos + 2])); + items.splice(pos, 4); + } + texParams.url = items.join(" ").trim(); + return texParams; + } + loadTexture(url, mapping, onLoad, onProgress, onError) { + const manager = this.manager !== void 0 ? this.manager : DefaultLoadingManager; + let loader = manager.getHandler(url); + if (loader === null) { + loader = new TextureLoader(manager); + } + if (loader.setCrossOrigin) loader.setCrossOrigin(this.crossOrigin); + const texture = loader.load(url, onLoad, onProgress, onError); + if (mapping !== void 0) texture.mapping = mapping; + return texture; + } +} +const _object_pattern = /^[og]\s*(.+)?/; +const _material_library_pattern = /^mtllib /; +const _material_use_pattern = /^usemtl /; +const _map_use_pattern = /^usemap /; +const _face_vertex_data_separator_pattern = /\s+/; +const _vA = new Vector3(); +const _vB = new Vector3(); +const _vC = new Vector3(); +const _ab = new Vector3(); +const _cb = new Vector3(); +const _color = new Color(); +function ParserState() { + const state = { + objects: [], + object: {}, + vertices: [], + normals: [], + colors: [], + uvs: [], + materials: {}, + materialLibraries: [], + startObject: /* @__PURE__ */ __name(function(name, fromDeclaration) { + if (this.object && this.object.fromDeclaration === false) { + this.object.name = name; + this.object.fromDeclaration = fromDeclaration !== false; + return; + } + const previousMaterial = this.object && typeof this.object.currentMaterial === "function" ? this.object.currentMaterial() : void 0; + if (this.object && typeof this.object._finalize === "function") { + this.object._finalize(true); + } + this.object = { + name: name || "", + fromDeclaration: fromDeclaration !== false, + geometry: { + vertices: [], + normals: [], + colors: [], + uvs: [], + hasUVIndices: false + }, + materials: [], + smooth: true, + startMaterial: /* @__PURE__ */ __name(function(name2, libraries) { + const previous = this._finalize(false); + if (previous && (previous.inherited || previous.groupCount <= 0)) { + this.materials.splice(previous.index, 1); + } + const material = { + index: this.materials.length, + name: name2 || "", + mtllib: Array.isArray(libraries) && libraries.length > 0 ? libraries[libraries.length - 1] : "", + smooth: previous !== void 0 ? previous.smooth : this.smooth, + groupStart: previous !== void 0 ? previous.groupEnd : 0, + groupEnd: -1, + groupCount: -1, + inherited: false, + clone: /* @__PURE__ */ __name(function(index) { + const cloned = { + index: typeof index === "number" ? index : this.index, + name: this.name, + mtllib: this.mtllib, + smooth: this.smooth, + groupStart: 0, + groupEnd: -1, + groupCount: -1, + inherited: false + }; + cloned.clone = this.clone.bind(cloned); + return cloned; + }, "clone") + }; + this.materials.push(material); + return material; + }, "startMaterial"), + currentMaterial: /* @__PURE__ */ __name(function() { + if (this.materials.length > 0) { + return this.materials[this.materials.length - 1]; + } + return void 0; + }, "currentMaterial"), + _finalize: /* @__PURE__ */ __name(function(end) { + const lastMultiMaterial = this.currentMaterial(); + if (lastMultiMaterial && lastMultiMaterial.groupEnd === -1) { + lastMultiMaterial.groupEnd = this.geometry.vertices.length / 3; + lastMultiMaterial.groupCount = lastMultiMaterial.groupEnd - lastMultiMaterial.groupStart; + lastMultiMaterial.inherited = false; + } + if (end && this.materials.length > 1) { + for (let mi = this.materials.length - 1; mi >= 0; mi--) { + if (this.materials[mi].groupCount <= 0) { + this.materials.splice(mi, 1); + } + } + } + if (end && this.materials.length === 0) { + this.materials.push({ + name: "", + smooth: this.smooth + }); + } + return lastMultiMaterial; + }, "_finalize") + }; + if (previousMaterial && previousMaterial.name && typeof previousMaterial.clone === "function") { + const declared = previousMaterial.clone(0); + declared.inherited = true; + this.object.materials.push(declared); + } + this.objects.push(this.object); + }, "startObject"), + finalize: /* @__PURE__ */ __name(function() { + if (this.object && typeof this.object._finalize === "function") { + this.object._finalize(true); + } + }, "finalize"), + parseVertexIndex: /* @__PURE__ */ __name(function(value, len) { + const index = parseInt(value, 10); + return (index >= 0 ? index - 1 : index + len / 3) * 3; + }, "parseVertexIndex"), + parseNormalIndex: /* @__PURE__ */ __name(function(value, len) { + const index = parseInt(value, 10); + return (index >= 0 ? index - 1 : index + len / 3) * 3; + }, "parseNormalIndex"), + parseUVIndex: /* @__PURE__ */ __name(function(value, len) { + const index = parseInt(value, 10); + return (index >= 0 ? index - 1 : index + len / 2) * 2; + }, "parseUVIndex"), + addVertex: /* @__PURE__ */ __name(function(a, b, c) { + const src = this.vertices; + const dst = this.object.geometry.vertices; + dst.push(src[a + 0], src[a + 1], src[a + 2]); + dst.push(src[b + 0], src[b + 1], src[b + 2]); + dst.push(src[c + 0], src[c + 1], src[c + 2]); + }, "addVertex"), + addVertexPoint: /* @__PURE__ */ __name(function(a) { + const src = this.vertices; + const dst = this.object.geometry.vertices; + dst.push(src[a + 0], src[a + 1], src[a + 2]); + }, "addVertexPoint"), + addVertexLine: /* @__PURE__ */ __name(function(a) { + const src = this.vertices; + const dst = this.object.geometry.vertices; + dst.push(src[a + 0], src[a + 1], src[a + 2]); + }, "addVertexLine"), + addNormal: /* @__PURE__ */ __name(function(a, b, c) { + const src = this.normals; + const dst = this.object.geometry.normals; + dst.push(src[a + 0], src[a + 1], src[a + 2]); + dst.push(src[b + 0], src[b + 1], src[b + 2]); + dst.push(src[c + 0], src[c + 1], src[c + 2]); + }, "addNormal"), + addFaceNormal: /* @__PURE__ */ __name(function(a, b, c) { + const src = this.vertices; + const dst = this.object.geometry.normals; + _vA.fromArray(src, a); + _vB.fromArray(src, b); + _vC.fromArray(src, c); + _cb.subVectors(_vC, _vB); + _ab.subVectors(_vA, _vB); + _cb.cross(_ab); + _cb.normalize(); + dst.push(_cb.x, _cb.y, _cb.z); + dst.push(_cb.x, _cb.y, _cb.z); + dst.push(_cb.x, _cb.y, _cb.z); + }, "addFaceNormal"), + addColor: /* @__PURE__ */ __name(function(a, b, c) { + const src = this.colors; + const dst = this.object.geometry.colors; + if (src[a] !== void 0) dst.push(src[a + 0], src[a + 1], src[a + 2]); + if (src[b] !== void 0) dst.push(src[b + 0], src[b + 1], src[b + 2]); + if (src[c] !== void 0) dst.push(src[c + 0], src[c + 1], src[c + 2]); + }, "addColor"), + addUV: /* @__PURE__ */ __name(function(a, b, c) { + const src = this.uvs; + const dst = this.object.geometry.uvs; + dst.push(src[a + 0], src[a + 1]); + dst.push(src[b + 0], src[b + 1]); + dst.push(src[c + 0], src[c + 1]); + }, "addUV"), + addDefaultUV: /* @__PURE__ */ __name(function() { + const dst = this.object.geometry.uvs; + dst.push(0, 0); + dst.push(0, 0); + dst.push(0, 0); + }, "addDefaultUV"), + addUVLine: /* @__PURE__ */ __name(function(a) { + const src = this.uvs; + const dst = this.object.geometry.uvs; + dst.push(src[a + 0], src[a + 1]); + }, "addUVLine"), + addFace: /* @__PURE__ */ __name(function(a, b, c, ua, ub, uc, na, nb, nc) { + const vLen = this.vertices.length; + let ia = this.parseVertexIndex(a, vLen); + let ib = this.parseVertexIndex(b, vLen); + let ic = this.parseVertexIndex(c, vLen); + this.addVertex(ia, ib, ic); + this.addColor(ia, ib, ic); + if (na !== void 0 && na !== "") { + const nLen = this.normals.length; + ia = this.parseNormalIndex(na, nLen); + ib = this.parseNormalIndex(nb, nLen); + ic = this.parseNormalIndex(nc, nLen); + this.addNormal(ia, ib, ic); + } else { + this.addFaceNormal(ia, ib, ic); + } + if (ua !== void 0 && ua !== "") { + const uvLen = this.uvs.length; + ia = this.parseUVIndex(ua, uvLen); + ib = this.parseUVIndex(ub, uvLen); + ic = this.parseUVIndex(uc, uvLen); + this.addUV(ia, ib, ic); + this.object.geometry.hasUVIndices = true; + } else { + this.addDefaultUV(); + } + }, "addFace"), + addPointGeometry: /* @__PURE__ */ __name(function(vertices) { + this.object.geometry.type = "Points"; + const vLen = this.vertices.length; + for (let vi = 0, l = vertices.length; vi < l; vi++) { + const index = this.parseVertexIndex(vertices[vi], vLen); + this.addVertexPoint(index); + this.addColor(index); + } + }, "addPointGeometry"), + addLineGeometry: /* @__PURE__ */ __name(function(vertices, uvs) { + this.object.geometry.type = "Line"; + const vLen = this.vertices.length; + const uvLen = this.uvs.length; + for (let vi = 0, l = vertices.length; vi < l; vi++) { + this.addVertexLine(this.parseVertexIndex(vertices[vi], vLen)); + } + for (let uvi = 0, l = uvs.length; uvi < l; uvi++) { + this.addUVLine(this.parseUVIndex(uvs[uvi], uvLen)); + } + }, "addLineGeometry") + }; + state.startObject("", false); + return state; +} +__name(ParserState, "ParserState"); +class OBJLoader extends Loader { + static { + __name(this, "OBJLoader"); + } + constructor(manager) { + super(manager); + this.materials = null; + } + load(url, onLoad, onProgress, onError) { + const scope = this; + const loader = new FileLoader(this.manager); + loader.setPath(this.path); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(this.withCredentials); + loader.load(url, function(text) { + try { + onLoad(scope.parse(text)); + } catch (e) { + if (onError) { + onError(e); + } else { + console.error(e); + } + scope.manager.itemError(url); + } + }, onProgress, onError); + } + setMaterials(materials) { + this.materials = materials; + return this; + } + parse(text) { + const state = new ParserState(); + if (text.indexOf("\r\n") !== -1) { + text = text.replace(/\r\n/g, "\n"); + } + if (text.indexOf("\\\n") !== -1) { + text = text.replace(/\\\n/g, ""); + } + const lines = text.split("\n"); + let result = []; + for (let i = 0, l = lines.length; i < l; i++) { + const line = lines[i].trimStart(); + if (line.length === 0) continue; + const lineFirstChar = line.charAt(0); + if (lineFirstChar === "#") continue; + if (lineFirstChar === "v") { + const data = line.split(_face_vertex_data_separator_pattern); + switch (data[0]) { + case "v": + state.vertices.push( + parseFloat(data[1]), + parseFloat(data[2]), + parseFloat(data[3]) + ); + if (data.length >= 7) { + _color.setRGB( + parseFloat(data[4]), + parseFloat(data[5]), + parseFloat(data[6]), + SRGBColorSpace + ); + state.colors.push(_color.r, _color.g, _color.b); + } else { + state.colors.push(void 0, void 0, void 0); + } + break; + case "vn": + state.normals.push( + parseFloat(data[1]), + parseFloat(data[2]), + parseFloat(data[3]) + ); + break; + case "vt": + state.uvs.push( + parseFloat(data[1]), + parseFloat(data[2]) + ); + break; + } + } else if (lineFirstChar === "f") { + const lineData = line.slice(1).trim(); + const vertexData = lineData.split(_face_vertex_data_separator_pattern); + const faceVertices = []; + for (let j = 0, jl = vertexData.length; j < jl; j++) { + const vertex2 = vertexData[j]; + if (vertex2.length > 0) { + const vertexParts = vertex2.split("/"); + faceVertices.push(vertexParts); + } + } + const v1 = faceVertices[0]; + for (let j = 1, jl = faceVertices.length - 1; j < jl; j++) { + const v2 = faceVertices[j]; + const v3 = faceVertices[j + 1]; + state.addFace( + v1[0], + v2[0], + v3[0], + v1[1], + v2[1], + v3[1], + v1[2], + v2[2], + v3[2] + ); + } + } else if (lineFirstChar === "l") { + const lineParts = line.substring(1).trim().split(" "); + let lineVertices = []; + const lineUVs = []; + if (line.indexOf("/") === -1) { + lineVertices = lineParts; + } else { + for (let li = 0, llen = lineParts.length; li < llen; li++) { + const parts = lineParts[li].split("/"); + if (parts[0] !== "") lineVertices.push(parts[0]); + if (parts[1] !== "") lineUVs.push(parts[1]); + } + } + state.addLineGeometry(lineVertices, lineUVs); + } else if (lineFirstChar === "p") { + const lineData = line.slice(1).trim(); + const pointData = lineData.split(" "); + state.addPointGeometry(pointData); + } else if ((result = _object_pattern.exec(line)) !== null) { + const name = (" " + result[0].slice(1).trim()).slice(1); + state.startObject(name); + } else if (_material_use_pattern.test(line)) { + state.object.startMaterial(line.substring(7).trim(), state.materialLibraries); + } else if (_material_library_pattern.test(line)) { + state.materialLibraries.push(line.substring(7).trim()); + } else if (_map_use_pattern.test(line)) { + console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.'); + } else if (lineFirstChar === "s") { + result = line.split(" "); + if (result.length > 1) { + const value = result[1].trim().toLowerCase(); + state.object.smooth = value !== "0" && value !== "off"; + } else { + state.object.smooth = true; + } + const material = state.object.currentMaterial(); + if (material) material.smooth = state.object.smooth; + } else { + if (line === "\0") continue; + console.warn('THREE.OBJLoader: Unexpected line: "' + line + '"'); + } + } + state.finalize(); + const container = new Group(); + container.materialLibraries = [].concat(state.materialLibraries); + const hasPrimitives = !(state.objects.length === 1 && state.objects[0].geometry.vertices.length === 0); + if (hasPrimitives === true) { + for (let i = 0, l = state.objects.length; i < l; i++) { + const object = state.objects[i]; + const geometry = object.geometry; + const materials = object.materials; + const isLine = geometry.type === "Line"; + const isPoints = geometry.type === "Points"; + let hasVertexColors = false; + if (geometry.vertices.length === 0) continue; + const buffergeometry = new BufferGeometry(); + buffergeometry.setAttribute("position", new Float32BufferAttribute(geometry.vertices, 3)); + if (geometry.normals.length > 0) { + buffergeometry.setAttribute("normal", new Float32BufferAttribute(geometry.normals, 3)); + } + if (geometry.colors.length > 0) { + hasVertexColors = true; + buffergeometry.setAttribute("color", new Float32BufferAttribute(geometry.colors, 3)); + } + if (geometry.hasUVIndices === true) { + buffergeometry.setAttribute("uv", new Float32BufferAttribute(geometry.uvs, 2)); + } + const createdMaterials = []; + for (let mi = 0, miLen = materials.length; mi < miLen; mi++) { + const sourceMaterial = materials[mi]; + const materialHash = sourceMaterial.name + "_" + sourceMaterial.smooth + "_" + hasVertexColors; + let material = state.materials[materialHash]; + if (this.materials !== null) { + material = this.materials.create(sourceMaterial.name); + if (isLine && material && !(material instanceof LineBasicMaterial)) { + const materialLine = new LineBasicMaterial(); + Material.prototype.copy.call(materialLine, material); + materialLine.color.copy(material.color); + material = materialLine; + } else if (isPoints && material && !(material instanceof PointsMaterial)) { + const materialPoints = new PointsMaterial({ size: 10, sizeAttenuation: false }); + Material.prototype.copy.call(materialPoints, material); + materialPoints.color.copy(material.color); + materialPoints.map = material.map; + material = materialPoints; + } + } + if (material === void 0) { + if (isLine) { + material = new LineBasicMaterial(); + } else if (isPoints) { + material = new PointsMaterial({ size: 1, sizeAttenuation: false }); + } else { + material = new MeshPhongMaterial(); + } + material.name = sourceMaterial.name; + material.flatShading = sourceMaterial.smooth ? false : true; + material.vertexColors = hasVertexColors; + state.materials[materialHash] = material; + } + createdMaterials.push(material); + } + let mesh; + if (createdMaterials.length > 1) { + for (let mi = 0, miLen = materials.length; mi < miLen; mi++) { + const sourceMaterial = materials[mi]; + buffergeometry.addGroup(sourceMaterial.groupStart, sourceMaterial.groupCount, mi); + } + if (isLine) { + mesh = new LineSegments(buffergeometry, createdMaterials); + } else if (isPoints) { + mesh = new Points(buffergeometry, createdMaterials); + } else { + mesh = new Mesh(buffergeometry, createdMaterials); + } + } else { + if (isLine) { + mesh = new LineSegments(buffergeometry, createdMaterials[0]); + } else if (isPoints) { + mesh = new Points(buffergeometry, createdMaterials[0]); + } else { + mesh = new Mesh(buffergeometry, createdMaterials[0]); + } + } + mesh.name = object.name; + container.add(mesh); + } + } else { + if (state.vertices.length > 0) { + const material = new PointsMaterial({ size: 1, sizeAttenuation: false }); + const buffergeometry = new BufferGeometry(); + buffergeometry.setAttribute("position", new Float32BufferAttribute(state.vertices, 3)); + if (state.colors.length > 0 && state.colors[0] !== void 0) { + buffergeometry.setAttribute("color", new Float32BufferAttribute(state.colors, 3)); + material.vertexColors = true; + } + const points = new Points(buffergeometry, material); + container.add(points); + } + } + return container; + } +} +class STLLoader extends Loader { + static { + __name(this, "STLLoader"); + } + constructor(manager) { + super(manager); + } + load(url, onLoad, onProgress, onError) { + const scope = this; + const loader = new FileLoader(this.manager); + loader.setPath(this.path); + loader.setResponseType("arraybuffer"); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(this.withCredentials); + loader.load(url, function(text) { + try { + onLoad(scope.parse(text)); + } catch (e) { + if (onError) { + onError(e); + } else { + console.error(e); + } + scope.manager.itemError(url); + } + }, onProgress, onError); + } + parse(data) { + function isBinary(data2) { + const reader = new DataView(data2); + const face_size = 32 / 8 * 3 + 32 / 8 * 3 * 3 + 16 / 8; + const n_faces = reader.getUint32(80, true); + const expect = 80 + 32 / 8 + n_faces * face_size; + if (expect === reader.byteLength) { + return true; + } + const solid = [115, 111, 108, 105, 100]; + for (let off = 0; off < 5; off++) { + if (matchDataViewAt(solid, reader, off)) return false; + } + return true; + } + __name(isBinary, "isBinary"); + function matchDataViewAt(query, reader, offset) { + for (let i = 0, il = query.length; i < il; i++) { + if (query[i] !== reader.getUint8(offset + i)) return false; + } + return true; + } + __name(matchDataViewAt, "matchDataViewAt"); + function parseBinary(data2) { + const reader = new DataView(data2); + const faces = reader.getUint32(80, true); + let r, g, b, hasColors = false, colors; + let defaultR, defaultG, defaultB, alpha; + for (let index = 0; index < 80 - 10; index++) { + if (reader.getUint32(index, false) == 1129270351 && reader.getUint8(index + 4) == 82 && reader.getUint8(index + 5) == 61) { + hasColors = true; + colors = new Float32Array(faces * 3 * 3); + defaultR = reader.getUint8(index + 6) / 255; + defaultG = reader.getUint8(index + 7) / 255; + defaultB = reader.getUint8(index + 8) / 255; + alpha = reader.getUint8(index + 9) / 255; + } + } + const dataOffset = 84; + const faceLength = 12 * 4 + 2; + const geometry = new BufferGeometry(); + const vertices = new Float32Array(faces * 3 * 3); + const normals = new Float32Array(faces * 3 * 3); + const color = new Color(); + for (let face = 0; face < faces; face++) { + const start = dataOffset + face * faceLength; + const normalX = reader.getFloat32(start, true); + const normalY = reader.getFloat32(start + 4, true); + const normalZ = reader.getFloat32(start + 8, true); + if (hasColors) { + const packedColor = reader.getUint16(start + 48, true); + if ((packedColor & 32768) === 0) { + r = (packedColor & 31) / 31; + g = (packedColor >> 5 & 31) / 31; + b = (packedColor >> 10 & 31) / 31; + } else { + r = defaultR; + g = defaultG; + b = defaultB; + } + } + for (let i = 1; i <= 3; i++) { + const vertexstart = start + i * 12; + const componentIdx = face * 3 * 3 + (i - 1) * 3; + vertices[componentIdx] = reader.getFloat32(vertexstart, true); + vertices[componentIdx + 1] = reader.getFloat32(vertexstart + 4, true); + vertices[componentIdx + 2] = reader.getFloat32(vertexstart + 8, true); + normals[componentIdx] = normalX; + normals[componentIdx + 1] = normalY; + normals[componentIdx + 2] = normalZ; + if (hasColors) { + color.setRGB(r, g, b, SRGBColorSpace); + colors[componentIdx] = color.r; + colors[componentIdx + 1] = color.g; + colors[componentIdx + 2] = color.b; + } + } + } + geometry.setAttribute("position", new BufferAttribute(vertices, 3)); + geometry.setAttribute("normal", new BufferAttribute(normals, 3)); + if (hasColors) { + geometry.setAttribute("color", new BufferAttribute(colors, 3)); + geometry.hasColors = true; + geometry.alpha = alpha; + } + return geometry; + } + __name(parseBinary, "parseBinary"); + function parseASCII(data2) { + const geometry = new BufferGeometry(); + const patternSolid = /solid([\s\S]*?)endsolid/g; + const patternFace = /facet([\s\S]*?)endfacet/g; + const patternName = /solid\s(.+)/; + let faceCounter = 0; + const patternFloat = /[\s]+([+-]?(?:\d*)(?:\.\d*)?(?:[eE][+-]?\d+)?)/.source; + const patternVertex = new RegExp("vertex" + patternFloat + patternFloat + patternFloat, "g"); + const patternNormal = new RegExp("normal" + patternFloat + patternFloat + patternFloat, "g"); + const vertices = []; + const normals = []; + const groupNames = []; + const normal = new Vector3(); + let result; + let groupCount = 0; + let startVertex = 0; + let endVertex = 0; + while ((result = patternSolid.exec(data2)) !== null) { + startVertex = endVertex; + const solid = result[0]; + const name = (result = patternName.exec(solid)) !== null ? result[1] : ""; + groupNames.push(name); + while ((result = patternFace.exec(solid)) !== null) { + let vertexCountPerFace = 0; + let normalCountPerFace = 0; + const text = result[0]; + while ((result = patternNormal.exec(text)) !== null) { + normal.x = parseFloat(result[1]); + normal.y = parseFloat(result[2]); + normal.z = parseFloat(result[3]); + normalCountPerFace++; + } + while ((result = patternVertex.exec(text)) !== null) { + vertices.push(parseFloat(result[1]), parseFloat(result[2]), parseFloat(result[3])); + normals.push(normal.x, normal.y, normal.z); + vertexCountPerFace++; + endVertex++; + } + if (normalCountPerFace !== 1) { + console.error("THREE.STLLoader: Something isn't right with the normal of face number " + faceCounter); + } + if (vertexCountPerFace !== 3) { + console.error("THREE.STLLoader: Something isn't right with the vertices of face number " + faceCounter); + } + faceCounter++; + } + const start = startVertex; + const count = endVertex - startVertex; + geometry.userData.groupNames = groupNames; + geometry.addGroup(start, count, groupCount); + groupCount++; + } + geometry.setAttribute("position", new Float32BufferAttribute(vertices, 3)); + geometry.setAttribute("normal", new Float32BufferAttribute(normals, 3)); + return geometry; + } + __name(parseASCII, "parseASCII"); + function ensureString(buffer) { + if (typeof buffer !== "string") { + return new TextDecoder().decode(buffer); + } + return buffer; + } + __name(ensureString, "ensureString"); + function ensureBinary(buffer) { + if (typeof buffer === "string") { + const array_buffer = new Uint8Array(buffer.length); + for (let i = 0; i < buffer.length; i++) { + array_buffer[i] = buffer.charCodeAt(i) & 255; + } + return array_buffer.buffer || array_buffer; + } else { + return buffer; + } + } + __name(ensureBinary, "ensureBinary"); + const binData = ensureBinary(data); + return isBinary(binData) ? parseBinary(binData) : parseASCII(ensureString(data)); + } +} +async function uploadTempImage(imageData, prefix) { + const blob = await fetch(imageData).then((r) => r.blob()); + const name = `${prefix}_${Date.now()}.png`; + const file2 = new File([blob], name); + const body = new FormData(); + body.append("image", file2); + body.append("subfolder", "threed"); + body.append("type", "temp"); + const resp = await api.fetchApi("/upload/image", { + method: "POST", + body + }); + if (resp.status !== 200) { + const err2 = `Error uploading temp image: ${resp.status} - ${resp.statusText}`; + useToastStore().addAlert(err2); + throw new Error(err2); + } + return await resp.json(); +} +__name(uploadTempImage, "uploadTempImage"); +async function uploadFile$1(load3d, file2, fileInput) { + let uploadPath; + try { + const body = new FormData(); + body.append("image", file2); + body.append("subfolder", "3d"); + const resp = await api.fetchApi("/upload/image", { + method: "POST", + body + }); + if (resp.status === 200) { + const data = await resp.json(); + let path = data.name; + if (data.subfolder) path = data.subfolder + "/" + path; + uploadPath = path; + const modelUrl = api.apiURL( + getResourceURL$1(...splitFilePath$1(path), "input") + ); + await load3d.loadModel(modelUrl, file2.name); + const fileExt = file2.name.split(".").pop()?.toLowerCase(); + if (fileExt === "obj" && fileInput?.files) { + try { + const mtlFile = Array.from(fileInput.files).find( + (f) => f.name.toLowerCase().endsWith(".mtl") + ); + if (mtlFile) { + const mtlFormData = new FormData(); + mtlFormData.append("image", mtlFile); + mtlFormData.append("subfolder", "3d"); + await api.fetchApi("/upload/image", { + method: "POST", + body: mtlFormData + }); + } + } catch (mtlError) { + console.warn("Failed to upload MTL file:", mtlError); + } + } + } else { + useToastStore().addAlert(resp.status + " - " + resp.statusText); + } + } catch (error) { + console.error("Upload error:", error); + useToastStore().addAlert( + error instanceof Error ? error.message : "Upload failed" + ); + } + return uploadPath; +} +__name(uploadFile$1, "uploadFile$1"); +class Load3d { + static { + __name(this, "Load3d"); + } + scene; + perspectiveCamera; + orthographicCamera; + activeCamera; + renderer; + controls; + gltfLoader; + objLoader; + mtlLoader; + fbxLoader; + stlLoader; + currentModel = null; + originalModel = null; + node; + animationFrameId = null; + gridHelper; + lights = []; + clock; + normalMaterial; + standardMaterial; + wireframeMaterial; + depthMaterial; + originalMaterials = /* @__PURE__ */ new WeakMap(); + materialMode = "original"; + currentUpDirection = "original"; + originalRotation = null; + constructor(container) { + this.scene = new Scene(); + this.perspectiveCamera = new PerspectiveCamera(75, 1, 0.1, 1e3); + this.perspectiveCamera.position.set(5, 5, 5); + const frustumSize = 10; + this.orthographicCamera = new OrthographicCamera( + -frustumSize / 2, + frustumSize / 2, + frustumSize / 2, + -frustumSize / 2, + 0.1, + 1e3 + ); + this.orthographicCamera.position.set(5, 5, 5); + this.activeCamera = this.perspectiveCamera; + this.perspectiveCamera.lookAt(0, 0, 0); + this.orthographicCamera.lookAt(0, 0, 0); + this.renderer = new WebGLRenderer({ alpha: true, antialias: true }); + this.renderer.setSize(300, 300); + this.renderer.setClearColor(2631720); + const rendererDomElement = this.renderer.domElement; + container.appendChild(rendererDomElement); + this.controls = new OrbitControls( + this.activeCamera, + this.renderer.domElement + ); + this.controls.enableDamping = true; + this.gltfLoader = new GLTFLoader(); + this.objLoader = new OBJLoader(); + this.mtlLoader = new MTLLoader(); + this.fbxLoader = new FBXLoader(); + this.stlLoader = new STLLoader(); + this.clock = new Clock(); + this.setupLights(); + this.gridHelper = new GridHelper(10, 10); + this.gridHelper.position.set(0, 0, 0); + this.scene.add(this.gridHelper); + this.normalMaterial = new MeshNormalMaterial({ + flatShading: false, + side: DoubleSide, + normalScale: new Vector2(1, 1), + transparent: false, + opacity: 1 + }); + this.wireframeMaterial = new MeshBasicMaterial({ + color: 16777215, + wireframe: true, + transparent: false, + opacity: 1 + }); + this.depthMaterial = new MeshDepthMaterial({ + depthPacking: BasicDepthPacking, + side: DoubleSide + }); + this.standardMaterial = this.createSTLMaterial(); + this.animate(); + this.handleResize(); + this.startAnimation(); + } + setFOV(fov2) { + if (this.activeCamera === this.perspectiveCamera) { + this.perspectiveCamera.fov = fov2; + this.perspectiveCamera.updateProjectionMatrix(); + this.renderer.render(this.scene, this.activeCamera); + } + } + getCameraState() { + const currentType = this.getCurrentCameraType(); + return { + position: this.activeCamera.position.clone(), + target: this.controls.target.clone(), + zoom: this.activeCamera instanceof OrthographicCamera ? this.activeCamera.zoom : this.activeCamera.zoom, + cameraType: currentType + }; + } + setCameraState(state) { + if (this.activeCamera !== (state.cameraType === "perspective" ? this.perspectiveCamera : this.orthographicCamera)) { + this.toggleCamera(state.cameraType); + } + this.activeCamera.position.copy(state.position); + this.controls.target.copy(state.target); + if (this.activeCamera instanceof OrthographicCamera) { + this.activeCamera.zoom = state.zoom; + this.activeCamera.updateProjectionMatrix(); + } else if (this.activeCamera instanceof PerspectiveCamera) { + this.activeCamera.zoom = state.zoom; + this.activeCamera.updateProjectionMatrix(); + } + this.controls.update(); + } + setUpDirection(direction) { + if (!this.currentModel) return; + if (!this.originalRotation && this.currentModel.rotation) { + this.originalRotation = this.currentModel.rotation.clone(); + } + this.currentUpDirection = direction; + if (this.originalRotation) { + this.currentModel.rotation.copy(this.originalRotation); + } + switch (direction) { + case "original": + break; + case "-x": + this.currentModel.rotation.z = Math.PI / 2; + break; + case "+x": + this.currentModel.rotation.z = -Math.PI / 2; + break; + case "-y": + this.currentModel.rotation.x = Math.PI; + break; + case "+y": + break; + case "-z": + this.currentModel.rotation.x = Math.PI / 2; + break; + case "+z": + this.currentModel.rotation.x = -Math.PI / 2; + break; + } + this.renderer.render(this.scene, this.activeCamera); + } + setMaterialMode(mode) { + this.materialMode = mode; + if (this.currentModel) { + if (mode === "depth") { + this.renderer.outputColorSpace = LinearSRGBColorSpace; + } else { + this.renderer.outputColorSpace = SRGBColorSpace; + } + this.currentModel.traverse((child) => { + if (child instanceof Mesh) { + switch (mode) { + case "depth": + if (!this.originalMaterials.has(child)) { + this.originalMaterials.set(child, child.material); + } + const depthMat = new MeshDepthMaterial({ + depthPacking: BasicDepthPacking, + side: DoubleSide + }); + depthMat.onBeforeCompile = (shader) => { + shader.uniforms.cameraType = { + value: this.activeCamera instanceof OrthographicCamera ? 1 : 0 + }; + shader.fragmentShader = ` + uniform float cameraType; + ${shader.fragmentShader} + `; + shader.fragmentShader = shader.fragmentShader.replace( + /gl_FragColor\s*=\s*vec4\(\s*vec3\(\s*1.0\s*-\s*fragCoordZ\s*\)\s*,\s*opacity\s*\)\s*;/, + ` + float depth = 1.0 - fragCoordZ; + if (cameraType > 0.5) { + depth = pow(depth, 400.0); + } else { + depth = pow(depth, 0.6); + } + gl_FragColor = vec4(vec3(depth), opacity); + ` + ); + }; + depthMat.customProgramCacheKey = () => { + return this.activeCamera instanceof OrthographicCamera ? "ortho" : "persp"; + }; + child.material = depthMat; + break; + case "normal": + if (!this.originalMaterials.has(child)) { + this.originalMaterials.set(child, child.material); + } + child.material = new MeshNormalMaterial({ + flatShading: false, + side: DoubleSide, + normalScale: new Vector2(1, 1), + transparent: false, + opacity: 1 + }); + child.geometry.computeVertexNormals(); + break; + case "wireframe": + if (!this.originalMaterials.has(child)) { + this.originalMaterials.set(child, child.material); + } + child.material = new MeshBasicMaterial({ + color: 16777215, + wireframe: true, + transparent: false, + opacity: 1 + }); + break; + case "original": + const originalMaterial = this.originalMaterials.get(child); + if (originalMaterial) { + child.material = originalMaterial; + } else { + child.material = this.standardMaterial; + } + break; + } + } + }); + this.renderer.render(this.scene, this.activeCamera); + } + } + setupLights() { + const ambientLight = new AmbientLight(16777215, 0.5); + this.scene.add(ambientLight); + this.lights.push(ambientLight); + const mainLight = new DirectionalLight(16777215, 0.8); + mainLight.position.set(0, 10, 10); + this.scene.add(mainLight); + this.lights.push(mainLight); + const backLight = new DirectionalLight(16777215, 0.5); + backLight.position.set(0, 10, -10); + this.scene.add(backLight); + this.lights.push(backLight); + const leftFillLight = new DirectionalLight(16777215, 0.3); + leftFillLight.position.set(-10, 0, 0); + this.scene.add(leftFillLight); + this.lights.push(leftFillLight); + const rightFillLight = new DirectionalLight(16777215, 0.3); + rightFillLight.position.set(10, 0, 0); + this.scene.add(rightFillLight); + this.lights.push(rightFillLight); + const bottomLight = new DirectionalLight(16777215, 0.2); + bottomLight.position.set(0, -10, 0); + this.scene.add(bottomLight); + this.lights.push(bottomLight); + } + toggleCamera(cameraType) { + const oldCamera = this.activeCamera; + const position = oldCamera.position.clone(); + const rotation = oldCamera.rotation.clone(); + const target = this.controls.target.clone(); + if (!cameraType) { + this.activeCamera = oldCamera === this.perspectiveCamera ? this.orthographicCamera : this.perspectiveCamera; + } else { + this.activeCamera = cameraType === "perspective" ? this.perspectiveCamera : this.orthographicCamera; + if (oldCamera === this.activeCamera) { + return; + } + } + this.activeCamera.position.copy(position); + this.activeCamera.rotation.copy(rotation); + if (this.materialMode === "depth" && oldCamera !== this.activeCamera) { + this.setMaterialMode("depth"); + } + this.controls.object = this.activeCamera; + this.controls.target.copy(target); + this.controls.update(); + this.handleResize(); + } + getCurrentCameraType() { + return this.activeCamera === this.perspectiveCamera ? "perspective" : "orthographic"; + } + toggleGrid(showGrid) { + if (this.gridHelper) { + this.gridHelper.visible = showGrid; + } + } + setLightIntensity(intensity) { + this.lights.forEach((light) => { + if (light instanceof DirectionalLight) { + if (light === this.lights[1]) { + light.intensity = intensity * 0.8; + } else if (light === this.lights[2]) { + light.intensity = intensity * 0.5; + } else if (light === this.lights[5]) { + light.intensity = intensity * 0.2; + } else { + light.intensity = intensity * 0.3; + } + } else if (light instanceof AmbientLight) { + light.intensity = intensity * 0.5; + } + }); + } + startAnimation() { + const animate = /* @__PURE__ */ __name(() => { + this.animationFrameId = requestAnimationFrame(animate); + this.controls.update(); + this.renderer.render(this.scene, this.activeCamera); + }, "animate"); + animate(); + } + clearModel() { + const objectsToRemove = []; + this.scene.traverse((object) => { + const isEnvironmentObject = object === this.gridHelper || this.lights.includes(object) || object === this.perspectiveCamera || object === this.orthographicCamera; + if (!isEnvironmentObject) { + objectsToRemove.push(object); + } + }); + objectsToRemove.forEach((obj) => { + if (obj.parent && obj.parent !== this.scene) { + obj.parent.remove(obj); + } else { + this.scene.remove(obj); + } + if (obj instanceof Mesh) { + obj.geometry?.dispose(); + if (Array.isArray(obj.material)) { + obj.material.forEach((material) => material.dispose()); + } else { + obj.material?.dispose(); + } + } + }); + this.resetScene(); + } + resetScene() { + this.currentModel = null; + this.originalRotation = null; + const defaultDistance = 10; + this.perspectiveCamera.position.set( + defaultDistance, + defaultDistance, + defaultDistance + ); + this.orthographicCamera.position.set( + defaultDistance, + defaultDistance, + defaultDistance + ); + this.perspectiveCamera.lookAt(0, 0, 0); + this.orthographicCamera.lookAt(0, 0, 0); + const frustumSize = 10; + const aspect2 = this.renderer.domElement.width / this.renderer.domElement.height; + this.orthographicCamera.left = -frustumSize * aspect2 / 2; + this.orthographicCamera.right = frustumSize * aspect2 / 2; + this.orthographicCamera.top = frustumSize / 2; + this.orthographicCamera.bottom = -frustumSize / 2; + this.perspectiveCamera.updateProjectionMatrix(); + this.orthographicCamera.updateProjectionMatrix(); + this.controls.target.set(0, 0, 0); + this.controls.update(); + this.renderer.render(this.scene, this.activeCamera); + this.materialMode = "original"; + this.originalMaterials = /* @__PURE__ */ new WeakMap(); + this.renderer.outputColorSpace = SRGBColorSpace; + } + remove() { + if (this.animationFrameId !== null) { + cancelAnimationFrame(this.animationFrameId); + } + this.controls.dispose(); + this.renderer.dispose(); + this.renderer.domElement.remove(); + this.scene.clear(); + } + async loadModelInternal(url, fileExtension) { + let model = null; + switch (fileExtension) { + case "stl": + const geometry = await this.stlLoader.loadAsync(url); + this.originalModel = geometry; + geometry.computeVertexNormals(); + const mesh = new Mesh(geometry, this.standardMaterial); + const group = new Group(); + group.add(mesh); + model = group; + break; + case "fbx": + const fbxModel = await this.fbxLoader.loadAsync(url); + this.originalModel = fbxModel; + model = fbxModel; + fbxModel.traverse((child) => { + if (child instanceof Mesh) { + this.originalMaterials.set(child, child.material); + } + }); + break; + case "obj": + if (this.materialMode === "original") { + const mtlUrl = url.replace(/\.obj([^.]*$)/, ".mtl$1"); + try { + const materials = await this.mtlLoader.loadAsync(mtlUrl); + materials.preload(); + this.objLoader.setMaterials(materials); + } catch (e) { + console.log( + "No MTL file found or error loading it, continuing without materials" + ); + } + } + model = await this.objLoader.loadAsync(url); + model.traverse((child) => { + if (child instanceof Mesh) { + this.originalMaterials.set(child, child.material); + } + }); + break; + case "gltf": + case "glb": + const gltf = await this.gltfLoader.loadAsync(url); + this.originalModel = gltf; + model = gltf.scene; + gltf.scene.traverse((child) => { + if (child instanceof Mesh) { + child.geometry.computeVertexNormals(); + this.originalMaterials.set(child, child.material); + } + }); + break; + } + return model; + } + async loadModel(url, originalFileName) { + try { + this.clearModel(); + let fileExtension; + if (originalFileName) { + fileExtension = originalFileName.split(".").pop()?.toLowerCase(); + } else { + const filename = new URLSearchParams(url.split("?")[1]).get("filename"); + fileExtension = filename?.split(".").pop()?.toLowerCase(); + } + if (!fileExtension) { + useToastStore().addAlert("Could not determine file type"); + return; + } + let model = await this.loadModelInternal(url, fileExtension); + if (model) { + this.currentModel = model; + await this.setupModel(model); + } + } catch (error) { + console.error("Error loading model:", error); + } + } + async setupModel(model) { + const box = new Box3().setFromObject(model); + const size = box.getSize(new Vector3()); + const center = box.getCenter(new Vector3()); + const maxDim = Math.max(size.x, size.y, size.z); + const targetSize = 5; + const scale = targetSize / maxDim; + model.scale.multiplyScalar(scale); + box.setFromObject(model); + box.getCenter(center); + box.getSize(size); + model.position.set(-center.x, -box.min.y, -center.z); + this.scene.add(model); + if (this.materialMode !== "original") { + this.setMaterialMode(this.materialMode); + } + if (this.currentUpDirection !== "original") { + this.setUpDirection(this.currentUpDirection); + } + await this.setupCamera(size); + } + async setupCamera(size) { + const distance = Math.max(size.x, size.z) * 2; + const height = size.y * 2; + this.perspectiveCamera.position.set(distance, height, distance); + this.orthographicCamera.position.set(distance, height, distance); + if (this.activeCamera === this.perspectiveCamera) { + this.perspectiveCamera.lookAt(0, size.y / 2, 0); + this.perspectiveCamera.updateProjectionMatrix(); + } else { + const frustumSize = Math.max(size.x, size.y, size.z) * 2; + const aspect2 = this.renderer.domElement.width / this.renderer.domElement.height; + this.orthographicCamera.left = -frustumSize * aspect2 / 2; + this.orthographicCamera.right = frustumSize * aspect2 / 2; + this.orthographicCamera.top = frustumSize / 2; + this.orthographicCamera.bottom = -frustumSize / 2; + this.orthographicCamera.lookAt(0, size.y / 2, 0); + this.orthographicCamera.updateProjectionMatrix(); + } + this.controls.target.set(0, size.y / 2, 0); + this.controls.update(); + this.renderer.outputColorSpace = SRGBColorSpace; + this.renderer.toneMapping = ACESFilmicToneMapping; + this.renderer.toneMappingExposure = 1; + this.handleResize(); + } + handleResize() { + const parentElement = this.renderer?.domElement?.parentElement; + if (!parentElement) { + console.warn("Parent element not found"); + return; + } + const width = parentElement?.clientWidth; + const height = parentElement?.clientHeight; + if (this.activeCamera === this.perspectiveCamera) { + this.perspectiveCamera.aspect = width / height; + this.perspectiveCamera.updateProjectionMatrix(); + } else { + const frustumSize = 10; + const aspect2 = width / height; + this.orthographicCamera.left = -frustumSize * aspect2 / 2; + this.orthographicCamera.right = frustumSize * aspect2 / 2; + this.orthographicCamera.top = frustumSize / 2; + this.orthographicCamera.bottom = -frustumSize / 2; + this.orthographicCamera.updateProjectionMatrix(); + } + this.renderer.setSize(width, height); + } + animate = /* @__PURE__ */ __name(() => { + requestAnimationFrame(this.animate); + this.controls.update(); + this.renderer.render(this.scene, this.activeCamera); + }, "animate"); + captureScene(width, height) { + return new Promise(async (resolve, reject) => { + try { + const originalWidth = this.renderer.domElement.width; + const originalHeight = this.renderer.domElement.height; + const originalClearColor = this.renderer.getClearColor( + new Color() + ); + const originalClearAlpha = this.renderer.getClearAlpha(); + this.renderer.setSize(width, height); + if (this.activeCamera === this.perspectiveCamera) { + this.perspectiveCamera.aspect = width / height; + this.perspectiveCamera.updateProjectionMatrix(); + } else { + const frustumSize = 10; + const aspect2 = width / height; + this.orthographicCamera.left = -frustumSize * aspect2 / 2; + this.orthographicCamera.right = frustumSize * aspect2 / 2; + this.orthographicCamera.top = frustumSize / 2; + this.orthographicCamera.bottom = -frustumSize / 2; + this.orthographicCamera.updateProjectionMatrix(); + } + this.renderer.render(this.scene, this.activeCamera); + const sceneData = this.renderer.domElement.toDataURL("image/png"); + this.renderer.setClearColor(0, 0); + this.renderer.render(this.scene, this.activeCamera); + const maskData = this.renderer.domElement.toDataURL("image/png"); + this.renderer.setClearColor(originalClearColor, originalClearAlpha); + this.renderer.setSize(originalWidth, originalHeight); + this.handleResize(); + resolve({ scene: sceneData, mask: maskData }); + } catch (error) { + reject(error); + } + }); + } + createSTLMaterial() { + return new MeshStandardMaterial({ + color: 8421504, + metalness: 0.1, + roughness: 0.8, + flatShading: false, + side: DoubleSide + }); + } + setViewPosition(position) { + if (!this.currentModel) { + return; + } + const box = new Box3(); + let center = new Vector3(); + let size = new Vector3(); + if (this.currentModel) { + box.setFromObject(this.currentModel); + box.getCenter(center); + box.getSize(size); + } + const maxDim = Math.max(size.x, size.y, size.z); + const distance = maxDim * 2; + switch (position) { + case "front": + this.activeCamera.position.set(0, 0, distance); + break; + case "top": + this.activeCamera.position.set(0, distance, 0); + break; + case "right": + this.activeCamera.position.set(distance, 0, 0); + break; + case "isometric": + this.activeCamera.position.set(distance, distance, distance); + break; + } + this.activeCamera.lookAt(center); + this.controls.target.copy(center); + this.controls.update(); + } + setBackgroundColor(color) { + this.renderer.setClearColor(new Color(color)); + this.renderer.render(this.scene, this.activeCamera); + } +} +class Load3dAnimation extends Load3d { + static { + __name(this, "Load3dAnimation"); + } + currentAnimation = null; + animationActions = []; + animationClips = []; + selectedAnimationIndex = 0; + isAnimationPlaying = false; + animationSpeed = 1; + constructor(container) { + super(container); + } + async setupModel(model) { + await super.setupModel(model); + if (this.currentAnimation) { + this.currentAnimation.stopAllAction(); + this.animationActions = []; + } + let animations = []; + if (model.animations?.length > 0) { + animations = model.animations; + } else if (this.originalModel && "animations" in this.originalModel) { + animations = this.originalModel.animations; + } + if (animations.length > 0) { + this.animationClips = animations; + if (model.type === "Scene") { + this.currentAnimation = new AnimationMixer(model); + } else { + this.currentAnimation = new AnimationMixer(this.currentModel); + } + if (this.animationClips.length > 0) { + this.updateSelectedAnimation(0); + } + } + } + setAnimationSpeed(speed) { + this.animationSpeed = speed; + this.animationActions.forEach((action) => { + action.setEffectiveTimeScale(speed); + }); + } + updateSelectedAnimation(index) { + if (!this.currentAnimation || !this.animationClips || index >= this.animationClips.length) { + console.warn("Invalid animation update request"); + return; + } + this.animationActions.forEach((action2) => { + action2.stop(); + }); + this.currentAnimation.stopAllAction(); + this.animationActions = []; + this.selectedAnimationIndex = index; + const clip = this.animationClips[index]; + const action = this.currentAnimation.clipAction(clip); + action.setEffectiveTimeScale(this.animationSpeed); + action.reset(); + action.clampWhenFinished = false; + action.loop = LoopRepeat; + if (this.isAnimationPlaying) { + action.play(); + } else { + action.play(); + action.paused = true; + } + this.animationActions = [action]; + } + clearModel() { + if (this.currentAnimation) { + this.animationActions.forEach((action) => { + action.stop(); + }); + this.currentAnimation = null; + } + this.animationActions = []; + this.animationClips = []; + this.selectedAnimationIndex = 0; + this.isAnimationPlaying = false; + this.animationSpeed = 1; + super.clearModel(); + } + getAnimationNames() { + return this.animationClips.map((clip, index) => { + return clip.name || `Animation ${index + 1}`; + }); + } + toggleAnimation(play) { + if (!this.currentAnimation || this.animationActions.length === 0) { + console.warn("No animation to toggle"); + return; + } + this.isAnimationPlaying = play ?? !this.isAnimationPlaying; + this.animationActions.forEach((action) => { + if (this.isAnimationPlaying) { + action.paused = false; + if (action.time === 0 || action.time === action.getClip().duration) { + action.reset(); + } + } else { + action.paused = true; + } + }); + } + animate = /* @__PURE__ */ __name(() => { + requestAnimationFrame(this.animate); + if (this.currentAnimation && this.isAnimationPlaying) { + const delta = this.clock.getDelta(); + this.currentAnimation.update(delta); + } + this.controls.update(); + this.renderer.render(this.scene, this.activeCamera); + }, "animate"); +} +function splitFilePath$1(path) { + const folder_separator = path.lastIndexOf("/"); + if (folder_separator === -1) { + return ["", path]; + } + return [ + path.substring(0, folder_separator), + path.substring(folder_separator + 1) + ]; +} +__name(splitFilePath$1, "splitFilePath$1"); +function getResourceURL$1(subfolder, filename, type = "input") { + const params = [ + "filename=" + encodeURIComponent(filename), + "type=" + type, + "subfolder=" + subfolder, + app.getRandParam().substring(1) + ].join("&"); + return `/view?${params}`; +} +__name(getResourceURL$1, "getResourceURL$1"); +const load3dCSSCLASS = `display: flex; + flex-direction: column; + background: transparent; + flex: 1; + position: relative; + overflow: hidden;`; +const load3dCanvasCSSCLASS = `display: flex; + width: 100% !important; + height: 100% !important;`; +const containerToLoad3D = /* @__PURE__ */ new Map(); +function configureLoad3D(load3d, loadFolder, modelWidget, showGrid, cameraType, view, material, bgColor, lightIntensity, upDirection, fov2, cameraState, postModelUpdateFunc) { + const createModelUpdateHandler = /* @__PURE__ */ __name(() => { + let isFirstLoad = true; + return async (value) => { + if (!value) return; + const filename = value; + const modelUrl = api.apiURL( + getResourceURL$1(...splitFilePath$1(filename), loadFolder) + ); + await load3d.loadModel(modelUrl, filename); + load3d.setMaterialMode( + material.value + ); + load3d.setUpDirection( + upDirection.value + ); + if (postModelUpdateFunc) { + postModelUpdateFunc(load3d); + } + if (isFirstLoad && cameraState && typeof cameraState === "object") { + try { + load3d.setCameraState(cameraState); + } catch (error) { + console.warn("Failed to restore camera state:", error); + } + isFirstLoad = false; + } + }; + }, "createModelUpdateHandler"); + const onModelWidgetUpdate = createModelUpdateHandler(); + if (modelWidget.value) { + onModelWidgetUpdate(modelWidget.value); + } + modelWidget.callback = onModelWidgetUpdate; + load3d.toggleGrid(showGrid.value); + showGrid.callback = (value) => { + load3d.toggleGrid(value); + }; + load3d.toggleCamera(cameraType.value); + cameraType.callback = (value) => { + load3d.toggleCamera(value); + }; + view.callback = (value) => { + load3d.setViewPosition(value); + }; + material.callback = (value) => { + load3d.setMaterialMode(value); + }; + load3d.setMaterialMode(material.value); + load3d.setBackgroundColor(bgColor.value); + bgColor.callback = (value) => { + load3d.setBackgroundColor(value); + }; + load3d.setLightIntensity(lightIntensity.value); + lightIntensity.callback = (value) => { + load3d.setLightIntensity(value); + }; + upDirection.callback = (value) => { + load3d.setUpDirection(value); + }; + load3d.setUpDirection( + upDirection.value + ); + fov2.callback = (value) => { + load3d.setFOV(value); + }; + load3d.setFOV(fov2.value); +} +__name(configureLoad3D, "configureLoad3D"); +app.registerExtension({ + name: "Comfy.Load3D", + getCustomWidgets(app2) { + return { + LOAD_3D(node, inputName) { + let load3dNode = app2.graph._nodes.filter((wi) => wi.type == "Load3D"); + node.addProperty("Camera Info", ""); + const container = document.createElement("div"); + container.id = `comfy-load-3d-${load3dNode.length}`; + container.classList.add("comfy-load-3d"); + const load3d = new Load3d(container); + containerToLoad3D.set(container.id, load3d); + node.onResize = function() { + if (load3d) { + load3d.handleResize(); + } + }; + const origOnRemoved = node.onRemoved; + node.onRemoved = function() { + if (load3d) { + load3d.remove(); + } + containerToLoad3D.delete(container.id); + origOnRemoved?.apply(this, []); + }; + node.onDrawBackground = function() { + load3d.renderer.domElement.hidden = this.flags.collapsed ?? false; + }; + const fileInput = document.createElement("input"); + fileInput.type = "file"; + fileInput.accept = ".gltf,.glb,.obj,.mtl,.fbx,.stl"; + fileInput.style.display = "none"; + fileInput.onchange = async () => { + if (fileInput.files?.length) { + const modelWidget = node.widgets?.find( + (w) => w.name === "model_file" + ); + const uploadPath = await uploadFile$1( + load3d, + fileInput.files[0], + fileInput + ).catch((error) => { + console.error("File upload failed:", error); + useToastStore().addAlert("File upload failed"); + }); + if (uploadPath && modelWidget) { + if (!modelWidget.options?.values?.includes(uploadPath)) { + modelWidget.options?.values?.push(uploadPath); + } + modelWidget.value = uploadPath; + } + } + }; + node.addWidget("button", "upload 3d model", "upload3dmodel", () => { + fileInput.click(); + }); + node.addWidget("button", "clear", "clear", () => { + load3d.clearModel(); + const modelWidget = node.widgets?.find( + (w) => w.name === "model_file" + ); + if (modelWidget) { + modelWidget.value = ""; + } + }); + return { + widget: node.addDOMWidget(inputName, "LOAD_3D", container) + }; + } + }; + }, + init() { + const style = document.createElement("style"); + style.innerText = ` + .comfy-load-3d { + ${load3dCSSCLASS} + } + + .comfy-load-3d canvas { + ${load3dCanvasCSSCLASS} + } + `; + document.head.appendChild(style); + }, + async nodeCreated(node) { + if (node.constructor.comfyClass !== "Load3D") return; + const [oldWidth, oldHeight] = node.size; + node.setSize([Math.max(oldWidth, 300), Math.max(oldHeight, 600)]); + await nextTick(); + const sceneWidget = node.widgets.find((w2) => w2.name === "image"); + const container = sceneWidget.element; + const load3d = containerToLoad3D.get(container.id); + const modelWidget = node.widgets.find( + (w2) => w2.name === "model_file" + ); + const showGrid = node.widgets.find((w2) => w2.name === "show_grid"); + const cameraType = node.widgets.find( + (w2) => w2.name === "camera_type" + ); + const view = node.widgets.find((w2) => w2.name === "view"); + const material = node.widgets.find((w2) => w2.name === "material"); + const bgColor = node.widgets.find((w2) => w2.name === "bg_color"); + const lightIntensity = node.widgets.find( + (w2) => w2.name === "light_intensity" + ); + const upDirection = node.widgets.find( + (w2) => w2.name === "up_direction" + ); + const fov2 = node.widgets.find((w2) => w2.name === "fov"); + let cameraState; + try { + const cameraInfo = node.properties["Camera Info"]; + if (cameraInfo && typeof cameraInfo === "string" && cameraInfo.trim() !== "") { + cameraState = JSON.parse(cameraInfo); + } + } catch (error) { + console.warn("Failed to parse camera state:", error); + cameraState = void 0; + } + configureLoad3D( + load3d, + "input", + modelWidget, + showGrid, + cameraType, + view, + material, + bgColor, + lightIntensity, + upDirection, + fov2, + cameraState + ); + const w = node.widgets.find((w2) => w2.name === "width"); + const h = node.widgets.find((w2) => w2.name === "height"); + sceneWidget.serializeValue = async () => { + node.properties["Camera Info"] = JSON.stringify(load3d.getCameraState()); + const { scene: imageData, mask: maskData } = await load3d.captureScene( + w.value, + h.value + ); + const [data, dataMask] = await Promise.all([ + uploadTempImage(imageData, "scene"), + uploadTempImage(maskData, "scene_mask") + ]); + return { + image: `threed/${data.name} [temp]`, + mask: `threed/${dataMask.name} [temp]` + }; + }; + } +}); +app.registerExtension({ + name: "Comfy.Load3DAnimation", + getCustomWidgets(app2) { + return { + LOAD_3D_ANIMATION(node, inputName) { + let load3dNode = app2.graph._nodes.filter( + (wi) => wi.type == "Load3DAnimation" + ); + node.addProperty("Camera Info", ""); + const container = document.createElement("div"); + container.id = `comfy-load-3d-animation-${load3dNode.length}`; + container.classList.add("comfy-load-3d-animation"); + const load3d = new Load3dAnimation(container); + containerToLoad3D.set(container.id, load3d); + node.onResize = function() { + if (load3d) { + load3d.handleResize(); + } + }; + const origOnRemoved = node.onRemoved; + node.onRemoved = function() { + if (load3d) { + load3d.remove(); + } + containerToLoad3D.delete(container.id); + origOnRemoved?.apply(this, []); + }; + node.onDrawBackground = function() { + load3d.renderer.domElement.hidden = this.flags.collapsed ?? false; + }; + const fileInput = document.createElement("input"); + fileInput.type = "file"; + fileInput.accept = ".fbx,glb,gltf"; + fileInput.style.display = "none"; + fileInput.onchange = async () => { + if (fileInput.files?.length) { + const modelWidget = node.widgets?.find( + (w) => w.name === "model_file" + ); + const uploadPath = await uploadFile$1( + load3d, + fileInput.files[0], + fileInput + ).catch((error) => { + console.error("File upload failed:", error); + useToastStore().addAlert("File upload failed"); + }); + if (uploadPath && modelWidget) { + if (!modelWidget.options?.values?.includes(uploadPath)) { + modelWidget.options?.values?.push(uploadPath); + } + modelWidget.value = uploadPath; + } + } + }; + node.addWidget("button", "upload 3d model", "upload3dmodel", () => { + fileInput.click(); + }); + node.addWidget("button", "clear", "clear", () => { + load3d.clearModel(); + const modelWidget = node.widgets?.find( + (w) => w.name === "model_file" + ); + if (modelWidget) { + modelWidget.value = ""; + } + const animationSelect2 = node.widgets?.find( + (w) => w.name === "animation" + ); + if (animationSelect2) { + animationSelect2.options.values = []; + animationSelect2.value = ""; + } + const speedSelect = node.widgets?.find( + (w) => w.name === "animation_speed" + ); + if (speedSelect) { + speedSelect.value = "1"; + } + }); + node.addWidget( + "button", + "Play/Pause Animation", + "toggle_animation", + () => { + load3d.toggleAnimation(); + } + ); + const animationSelect = node.addWidget( + "combo", + "animation", + "", + () => "", + { + values: [] + } + ); + animationSelect.callback = (value) => { + const names = load3d.getAnimationNames(); + const index = names.indexOf(value); + if (index !== -1) { + const wasPlaying = load3d.isAnimationPlaying; + if (wasPlaying) { + load3d.toggleAnimation(false); + } + load3d.updateSelectedAnimation(index); + if (wasPlaying) { + load3d.toggleAnimation(true); + } + } + }; + return { + widget: node.addDOMWidget(inputName, "LOAD_3D_ANIMATION", container) + }; + } + }; + }, + init() { + const style = document.createElement("style"); + style.innerText = ` + .comfy-load-3d-animation { + ${load3dCSSCLASS} + } + + .comfy-load-3d-animation canvas { + ${load3dCanvasCSSCLASS} + } + `; + document.head.appendChild(style); + }, + async nodeCreated(node) { + if (node.constructor.comfyClass !== "Load3DAnimation") return; + const [oldWidth, oldHeight] = node.size; + node.setSize([Math.max(oldWidth, 300), Math.max(oldHeight, 700)]); + await nextTick(); + const sceneWidget = node.widgets.find((w2) => w2.name === "image"); + const container = sceneWidget.element; + const load3d = containerToLoad3D.get(container.id); + const modelWidget = node.widgets.find( + (w2) => w2.name === "model_file" + ); + const showGrid = node.widgets.find((w2) => w2.name === "show_grid"); + const cameraType = node.widgets.find( + (w2) => w2.name === "camera_type" + ); + const view = node.widgets.find((w2) => w2.name === "view"); + const material = node.widgets.find((w2) => w2.name === "material"); + const bgColor = node.widgets.find((w2) => w2.name === "bg_color"); + const lightIntensity = node.widgets.find( + (w2) => w2.name === "light_intensity" + ); + const upDirection = node.widgets.find( + (w2) => w2.name === "up_direction" + ); + const speedSelect = node.widgets.find( + (w2) => w2.name === "animation_speed" + ); + speedSelect.callback = (value) => { + const load3d2 = containerToLoad3D.get(container.id); + if (load3d2) { + load3d2.setAnimationSpeed(parseFloat(value)); + } + }; + const fov2 = node.widgets.find((w2) => w2.name === "fov"); + let cameraState; + try { + const cameraInfo = node.properties["Camera Info"]; + if (cameraInfo && typeof cameraInfo === "string" && cameraInfo.trim() !== "") { + cameraState = JSON.parse(cameraInfo); + } + } catch (error) { + console.warn("Failed to parse camera state:", error); + cameraState = void 0; + } + configureLoad3D( + load3d, + "input", + modelWidget, + showGrid, + cameraType, + view, + material, + bgColor, + lightIntensity, + upDirection, + fov2, + cameraState, + (load3d2) => { + const animationLoad3d = load3d2; + const names = animationLoad3d.getAnimationNames(); + const animationSelect = node.widgets.find( + (w2) => w2.name === "animation" + ); + animationSelect.options.values = names; + if (names.length) { + animationSelect.value = names[0]; + } + } + ); + const w = node.widgets.find((w2) => w2.name === "width"); + const h = node.widgets.find((w2) => w2.name === "height"); + sceneWidget.serializeValue = async () => { + node.properties["Camera Info"] = JSON.stringify(load3d.getCameraState()); + const { scene: imageData, mask: maskData } = await load3d.captureScene( + w.value, + h.value + ); + const [data, dataMask] = await Promise.all([ + uploadTempImage(imageData, "scene"), + uploadTempImage(maskData, "scene_mask") + ]); + return { + image: `threed/${data.name} [temp]`, + mask: `threed/${dataMask.name} [temp]` + }; + }; + } +}); +app.registerExtension({ + name: "Comfy.Preview3D", + async beforeRegisterNodeDef(nodeType, nodeData) { + if ( + // @ts-expect-error ComfyNode + ["Preview3D"].includes(nodeType.comfyClass) + ) { + nodeData.input.required.image = ["PREVIEW_3D"]; + } + }, + getCustomWidgets(app2) { + return { + PREVIEW_3D(node, inputName) { + let load3dNode = app2.graph._nodes.filter((wi) => wi.type == "Preview3D"); + const container = document.createElement("div"); + container.id = `comfy-preview-3d-${load3dNode.length}`; + container.classList.add("comfy-preview-3d"); + const load3d = new Load3d(container); + containerToLoad3D.set(container.id, load3d); + node.onResize = function() { + if (load3d) { + load3d.handleResize(); + } + }; + const origOnRemoved = node.onRemoved; + node.onRemoved = function() { + if (load3d) { + load3d.remove(); + } + containerToLoad3D.delete(container.id); + origOnRemoved?.apply(this, []); + }; + node.onDrawBackground = function() { + load3d.renderer.domElement.hidden = this.flags.collapsed ?? false; + }; + return { + widget: node.addDOMWidget(inputName, "PREVIEW_3D", container) + }; + } + }; + }, + init() { + const style = document.createElement("style"); + style.innerText = ` + .comfy-preview-3d { + ${load3dCSSCLASS} + } + + .comfy-preview-3d canvas { + ${load3dCanvasCSSCLASS} + } + `; + document.head.appendChild(style); + }, + async nodeCreated(node) { + if (node.constructor.comfyClass !== "Preview3D") return; + const [oldWidth, oldHeight] = node.size; + node.setSize([Math.max(oldWidth, 300), Math.max(oldHeight, 550)]); + await nextTick(); + const sceneWidget = node.widgets.find((w) => w.name === "image"); + const container = sceneWidget.element; + const load3d = containerToLoad3D.get(container.id); + const modelWidget = node.widgets.find( + (w) => w.name === "model_file" + ); + const showGrid = node.widgets.find((w) => w.name === "show_grid"); + const cameraType = node.widgets.find( + (w) => w.name === "camera_type" + ); + const view = node.widgets.find((w) => w.name === "view"); + const material = node.widgets.find((w) => w.name === "material"); + const bgColor = node.widgets.find((w) => w.name === "bg_color"); + const lightIntensity = node.widgets.find( + (w) => w.name === "light_intensity" + ); + const upDirection = node.widgets.find( + (w) => w.name === "up_direction" + ); + const fov2 = node.widgets.find((w) => w.name === "fov"); + const onExecuted = node.onExecuted; + node.onExecuted = function(message) { + onExecuted?.apply(this, arguments); + let filePath = message.model_file[0]; + if (!filePath) { + const msg = "unable to get model file path."; + console.error(msg); + useToastStore().addAlert(msg); + } + modelWidget.value = filePath.replaceAll("\\", "/"); + configureLoad3D( + load3d, + "output", + modelWidget, + showGrid, + cameraType, + view, + material, + bgColor, + lightIntensity, + upDirection, + fov2 + ); + }; + } +}); +function dataURLToBlob(dataURL) { + const parts = dataURL.split(";base64,"); + const contentType = parts[0].split(":")[1]; + const byteString = atob(parts[1]); + const arrayBuffer = new ArrayBuffer(byteString.length); + const uint8Array = new Uint8Array(arrayBuffer); + for (let i = 0; i < byteString.length; i++) { + uint8Array[i] = byteString.charCodeAt(i); + } + return new Blob([arrayBuffer], { type: contentType }); +} +__name(dataURLToBlob, "dataURLToBlob"); +function loadedImageToBlob(image) { + const canvas = document.createElement("canvas"); + canvas.width = image.width; + canvas.height = image.height; + const ctx = canvas.getContext("2d"); + ctx.drawImage(image, 0, 0); + const dataURL = canvas.toDataURL("image/png", 1); + const blob = dataURLToBlob(dataURL); + return blob; +} +__name(loadedImageToBlob, "loadedImageToBlob"); +function loadImage(imagePath) { + return new Promise((resolve, reject) => { + const image = new Image(); + image.onload = function() { + resolve(image); + }; + image.src = imagePath; + }); +} +__name(loadImage, "loadImage"); +async function uploadMask(filepath, formData) { + await api.fetchApi("/upload/mask", { + method: "POST", + body: formData + }).then((response) => { + }).catch((error) => { + console.error("Error:", error); + }); + ComfyApp.clipspace.imgs[ComfyApp.clipspace["selectedIndex"]] = new Image(); + ComfyApp.clipspace.imgs[ComfyApp.clipspace["selectedIndex"]].src = api.apiURL( + "/view?" + new URLSearchParams(filepath).toString() + app.getPreviewFormatParam() + app.getRandParam() + ); + if (ComfyApp.clipspace.images) + ComfyApp.clipspace.images[ComfyApp.clipspace["selectedIndex"]] = filepath; + ClipspaceDialog.invalidatePreview(); +} +__name(uploadMask, "uploadMask"); +function prepare_mask(image, maskCanvas, maskCtx, maskColor) { + maskCtx.drawImage(image, 0, 0, maskCanvas.width, maskCanvas.height); + const maskData = maskCtx.getImageData( + 0, + 0, + maskCanvas.width, + maskCanvas.height + ); + for (let i = 0; i < maskData.data.length; i += 4) { + if (maskData.data[i + 3] == 255) maskData.data[i + 3] = 0; + else maskData.data[i + 3] = 255; + maskData.data[i] = maskColor.r; + maskData.data[i + 1] = maskColor.g; + maskData.data[i + 2] = maskColor.b; + } + maskCtx.globalCompositeOperation = "source-over"; + maskCtx.putImageData(maskData, 0, 0); +} +__name(prepare_mask, "prepare_mask"); +var PointerType = /* @__PURE__ */ ((PointerType2) => { + PointerType2["Arc"] = "arc"; + PointerType2["Rect"] = "rect"; + return PointerType2; +})(PointerType || {}); +var CompositionOperation$1 = /* @__PURE__ */ ((CompositionOperation2) => { + CompositionOperation2["SourceOver"] = "source-over"; + CompositionOperation2["DestinationOut"] = "destination-out"; + return CompositionOperation2; +})(CompositionOperation$1 || {}); +class MaskEditorDialogOld extends ComfyDialog { + static { + __name(this, "MaskEditorDialogOld"); + } + static instance = null; + static mousedown_x = null; + static mousedown_y = null; + brush; + maskCtx; + maskCanvas; + brush_size_slider; + brush_opacity_slider; + colorButton; + saveButton; + zoom_ratio; + pan_x; + pan_y; + imgCanvas; + last_display_style; + is_visible; + image; + handler_registered; + brush_slider_input; + cursorX; + cursorY; + mousedown_pan_x; + mousedown_pan_y; + last_pressure; + pointer_type; + brush_pointer_type_select; + static getInstance() { + if (!MaskEditorDialogOld.instance) { + MaskEditorDialogOld.instance = new MaskEditorDialogOld(); + } + return MaskEditorDialogOld.instance; + } + is_layout_created = false; + constructor() { + super(); + this.element = $el("div.comfy-modal", { parent: document.body }, [ + $el("div.comfy-modal-content", [...this.createButtons()]) + ]); + } + createButtons() { + return []; + } + createButton(name, callback) { + var button = document.createElement("button"); + button.style.pointerEvents = "auto"; + button.innerText = name; + button.addEventListener("click", callback); + return button; + } + createLeftButton(name, callback) { + var button = this.createButton(name, callback); + button.style.cssFloat = "left"; + button.style.marginRight = "4px"; + return button; + } + createRightButton(name, callback) { + var button = this.createButton(name, callback); + button.style.cssFloat = "right"; + button.style.marginLeft = "4px"; + return button; + } + createLeftSlider(self2, name, callback) { + const divElement = document.createElement("div"); + divElement.id = "maskeditor-slider"; + divElement.style.cssFloat = "left"; + divElement.style.fontFamily = "sans-serif"; + divElement.style.marginRight = "4px"; + divElement.style.color = "var(--input-text)"; + divElement.style.backgroundColor = "var(--comfy-input-bg)"; + divElement.style.borderRadius = "8px"; + divElement.style.borderColor = "var(--border-color)"; + divElement.style.borderStyle = "solid"; + divElement.style.fontSize = "15px"; + divElement.style.height = "25px"; + divElement.style.padding = "1px 6px"; + divElement.style.display = "flex"; + divElement.style.position = "relative"; + divElement.style.top = "2px"; + divElement.style.pointerEvents = "auto"; + self2.brush_slider_input = document.createElement("input"); + self2.brush_slider_input.setAttribute("type", "range"); + self2.brush_slider_input.setAttribute("min", "1"); + self2.brush_slider_input.setAttribute("max", "100"); + self2.brush_slider_input.setAttribute("value", "10"); + const labelElement = document.createElement("label"); + labelElement.textContent = name; + divElement.appendChild(labelElement); + divElement.appendChild(self2.brush_slider_input); + self2.brush_slider_input.addEventListener("change", callback); + return divElement; + } + createOpacitySlider(self2, name, callback) { + const divElement = document.createElement("div"); + divElement.id = "maskeditor-opacity-slider"; + divElement.style.cssFloat = "left"; + divElement.style.fontFamily = "sans-serif"; + divElement.style.marginRight = "4px"; + divElement.style.color = "var(--input-text)"; + divElement.style.backgroundColor = "var(--comfy-input-bg)"; + divElement.style.borderRadius = "8px"; + divElement.style.borderColor = "var(--border-color)"; + divElement.style.borderStyle = "solid"; + divElement.style.fontSize = "15px"; + divElement.style.height = "25px"; + divElement.style.padding = "1px 6px"; + divElement.style.display = "flex"; + divElement.style.position = "relative"; + divElement.style.top = "2px"; + divElement.style.pointerEvents = "auto"; + self2.opacity_slider_input = document.createElement("input"); + self2.opacity_slider_input.setAttribute("type", "range"); + self2.opacity_slider_input.setAttribute("min", "0.1"); + self2.opacity_slider_input.setAttribute("max", "1.0"); + self2.opacity_slider_input.setAttribute("step", "0.01"); + self2.opacity_slider_input.setAttribute("value", "0.7"); + const labelElement = document.createElement("label"); + labelElement.textContent = name; + divElement.appendChild(labelElement); + divElement.appendChild(self2.opacity_slider_input); + self2.opacity_slider_input.addEventListener("input", callback); + return divElement; + } + createPointerTypeSelect(self2) { + const divElement = document.createElement("div"); + divElement.id = "maskeditor-pointer-type"; + divElement.style.cssFloat = "left"; + divElement.style.fontFamily = "sans-serif"; + divElement.style.marginRight = "4px"; + divElement.style.color = "var(--input-text)"; + divElement.style.backgroundColor = "var(--comfy-input-bg)"; + divElement.style.borderRadius = "8px"; + divElement.style.borderColor = "var(--border-color)"; + divElement.style.borderStyle = "solid"; + divElement.style.fontSize = "15px"; + divElement.style.height = "25px"; + divElement.style.padding = "1px 6px"; + divElement.style.display = "flex"; + divElement.style.position = "relative"; + divElement.style.top = "2px"; + divElement.style.pointerEvents = "auto"; + const labelElement = document.createElement("label"); + labelElement.textContent = "Pointer Type:"; + const selectElement = document.createElement("select"); + selectElement.style.borderRadius = "0"; + selectElement.style.borderColor = "transparent"; + selectElement.style.borderStyle = "unset"; + selectElement.style.fontSize = "0.9em"; + const optionArc = document.createElement("option"); + optionArc.value = "arc"; + optionArc.text = "Circle"; + optionArc.selected = true; + const optionRect = document.createElement("option"); + optionRect.value = "rect"; + optionRect.text = "Square"; + selectElement.appendChild(optionArc); + selectElement.appendChild(optionRect); + selectElement.addEventListener("change", (event) => { + const target = event.target; + self2.pointer_type = target.value; + this.setBrushBorderRadius(self2); + }); + divElement.appendChild(labelElement); + divElement.appendChild(selectElement); + return divElement; + } + setBrushBorderRadius(self2) { + if (self2.pointer_type === "rect") { + this.brush.style.borderRadius = "0%"; + this.brush.style.MozBorderRadius = "0%"; + this.brush.style.WebkitBorderRadius = "0%"; + } else { + this.brush.style.borderRadius = "50%"; + this.brush.style.MozBorderRadius = "50%"; + this.brush.style.WebkitBorderRadius = "50%"; + } + } + setlayout(imgCanvas, maskCanvas) { + const self2 = this; + self2.pointer_type = "arc"; + var bottom_panel = document.createElement("div"); + bottom_panel.style.position = "absolute"; + bottom_panel.style.bottom = "0px"; + bottom_panel.style.left = "20px"; + bottom_panel.style.right = "20px"; + bottom_panel.style.height = "50px"; + bottom_panel.style.pointerEvents = "none"; + var brush = document.createElement("div"); + brush.id = "brush"; + brush.style.backgroundColor = "transparent"; + brush.style.outline = "1px dashed black"; + brush.style.boxShadow = "0 0 0 1px white"; + brush.style.position = "absolute"; + brush.style.zIndex = "8889"; + brush.style.pointerEvents = "none"; + this.brush = brush; + this.setBrushBorderRadius(self2); + this.element.appendChild(imgCanvas); + this.element.appendChild(maskCanvas); + this.element.appendChild(bottom_panel); + document.body.appendChild(brush); + var clearButton = this.createLeftButton("Clear", () => { + self2.maskCtx.clearRect( + 0, + 0, + self2.maskCanvas.width, + self2.maskCanvas.height + ); + }); + this.brush_size_slider = this.createLeftSlider( + self2, + "Thickness", + (event) => { + self2.brush_size = event.target.value; + self2.updateBrushPreview(self2); + } + ); + this.brush_opacity_slider = this.createOpacitySlider( + self2, + "Opacity", + (event) => { + self2.brush_opacity = event.target.value; + if (self2.brush_color_mode !== "negative") { + self2.maskCanvas.style.opacity = self2.brush_opacity.toString(); + } + } + ); + this.brush_pointer_type_select = this.createPointerTypeSelect(self2); + this.colorButton = this.createLeftButton(this.getColorButtonText(), () => { + if (self2.brush_color_mode === "black") { + self2.brush_color_mode = "white"; + } else if (self2.brush_color_mode === "white") { + self2.brush_color_mode = "negative"; + } else { + self2.brush_color_mode = "black"; + } + self2.updateWhenBrushColorModeChanged(); + }); + var cancelButton = this.createRightButton("Cancel", () => { + document.removeEventListener("keydown", MaskEditorDialogOld.handleKeyDown); + self2.close(); + }); + this.saveButton = this.createRightButton("Save", () => { + document.removeEventListener("keydown", MaskEditorDialogOld.handleKeyDown); + self2.save(); + }); + this.element.appendChild(imgCanvas); + this.element.appendChild(maskCanvas); + this.element.appendChild(bottom_panel); + bottom_panel.appendChild(clearButton); + bottom_panel.appendChild(this.saveButton); + bottom_panel.appendChild(cancelButton); + bottom_panel.appendChild(this.brush_size_slider); + bottom_panel.appendChild(this.brush_opacity_slider); + bottom_panel.appendChild(this.brush_pointer_type_select); + bottom_panel.appendChild(this.colorButton); + imgCanvas.style.position = "absolute"; + maskCanvas.style.position = "absolute"; + imgCanvas.style.top = "200"; + imgCanvas.style.left = "0"; + maskCanvas.style.top = imgCanvas.style.top; + maskCanvas.style.left = imgCanvas.style.left; + const maskCanvasStyle = this.getMaskCanvasStyle(); + maskCanvas.style.mixBlendMode = maskCanvasStyle.mixBlendMode; + maskCanvas.style.opacity = maskCanvasStyle.opacity.toString(); + } + async show() { + this.zoom_ratio = 1; + this.pan_x = 0; + this.pan_y = 0; + if (!this.is_layout_created) { + const imgCanvas = document.createElement("canvas"); + const maskCanvas = document.createElement("canvas"); + imgCanvas.id = "imageCanvas"; + maskCanvas.id = "maskCanvas"; + this.setlayout(imgCanvas, maskCanvas); + this.imgCanvas = imgCanvas; + this.maskCanvas = maskCanvas; + this.maskCtx = maskCanvas.getContext("2d", { willReadFrequently: true }); + this.setEventHandler(maskCanvas); + this.is_layout_created = true; + const self2 = this; + const observer = new MutationObserver(function(mutations) { + mutations.forEach(function(mutation) { + if (mutation.type === "attributes" && mutation.attributeName === "style") { + if (self2.last_display_style && self2.last_display_style != "none" && self2.element.style.display == "none") { + self2.brush.style.display = "none"; + ComfyApp.onClipspaceEditorClosed(); + } + self2.last_display_style = self2.element.style.display; + } + }); + }); + const config = { attributes: true }; + observer.observe(this.element, config); + } + document.addEventListener("keydown", MaskEditorDialogOld.handleKeyDown); + if (ComfyApp.clipspace_return_node) { + this.saveButton.innerText = "Save to node"; + } else { + this.saveButton.innerText = "Save"; + } + this.saveButton.disabled = false; + this.element.style.display = "block"; + this.element.style.width = "85%"; + this.element.style.margin = "0 7.5%"; + this.element.style.height = "100vh"; + this.element.style.top = "50%"; + this.element.style.left = "42%"; + this.element.style.zIndex = "8888"; + await this.setImages(this.imgCanvas); + this.is_visible = true; + } + isOpened() { + return this.element.style.display == "block"; + } + invalidateCanvas(orig_image, mask_image) { + this.imgCanvas.width = orig_image.width; + this.imgCanvas.height = orig_image.height; + this.maskCanvas.width = orig_image.width; + this.maskCanvas.height = orig_image.height; + let imgCtx = this.imgCanvas.getContext("2d", { willReadFrequently: true }); + let maskCtx = this.maskCanvas.getContext("2d", { + willReadFrequently: true + }); + imgCtx.drawImage(orig_image, 0, 0, orig_image.width, orig_image.height); + prepare_mask(mask_image, this.maskCanvas, maskCtx, this.getMaskColor()); + } + async setImages(imgCanvas) { + let self2 = this; + const imgCtx = imgCanvas.getContext("2d", { willReadFrequently: true }); + const maskCtx = this.maskCtx; + const maskCanvas = this.maskCanvas; + imgCtx.clearRect(0, 0, this.imgCanvas.width, this.imgCanvas.height); + maskCtx.clearRect(0, 0, this.maskCanvas.width, this.maskCanvas.height); + const filepath = ComfyApp.clipspace.images; + const alpha_url = new URL( + ComfyApp.clipspace.imgs[ComfyApp.clipspace["selectedIndex"]].src + ); + alpha_url.searchParams.delete("channel"); + alpha_url.searchParams.delete("preview"); + alpha_url.searchParams.set("channel", "a"); + let mask_image = await loadImage(alpha_url); + const rgb_url = new URL( + ComfyApp.clipspace.imgs[ComfyApp.clipspace["selectedIndex"]].src + ); + rgb_url.searchParams.delete("channel"); + rgb_url.searchParams.set("channel", "rgb"); + this.image = new Image(); + this.image.onload = function() { + maskCanvas.width = self2.image.width; + maskCanvas.height = self2.image.height; + self2.invalidateCanvas(self2.image, mask_image); + self2.initializeCanvasPanZoom(); + }; + this.image.src = rgb_url.toString(); + } + initializeCanvasPanZoom() { + let drawWidth = this.image.width; + let drawHeight = this.image.height; + let width = this.element.clientWidth; + let height = this.element.clientHeight; + if (this.image.width > width) { + drawWidth = width; + drawHeight = drawWidth / this.image.width * this.image.height; + } + if (drawHeight > height) { + drawHeight = height; + drawWidth = drawHeight / this.image.height * this.image.width; + } + this.zoom_ratio = drawWidth / this.image.width; + const canvasX = (width - drawWidth) / 2; + const canvasY = (height - drawHeight) / 2; + this.pan_x = canvasX; + this.pan_y = canvasY; + this.invalidatePanZoom(); + } + invalidatePanZoom() { + let raw_width = this.image.width * this.zoom_ratio; + let raw_height = this.image.height * this.zoom_ratio; + if (this.pan_x + raw_width < 10) { + this.pan_x = 10 - raw_width; + } + if (this.pan_y + raw_height < 10) { + this.pan_y = 10 - raw_height; + } + let width = `${raw_width}px`; + let height = `${raw_height}px`; + let left = `${this.pan_x}px`; + let top = `${this.pan_y}px`; + this.maskCanvas.style.width = width; + this.maskCanvas.style.height = height; + this.maskCanvas.style.left = left; + this.maskCanvas.style.top = top; + this.imgCanvas.style.width = width; + this.imgCanvas.style.height = height; + this.imgCanvas.style.left = left; + this.imgCanvas.style.top = top; + } + setEventHandler(maskCanvas) { + const self2 = this; + if (!this.handler_registered) { + maskCanvas.addEventListener("contextmenu", (event) => { + event.preventDefault(); + }); + this.element.addEventListener( + "wheel", + (event) => this.handleWheelEvent(self2, event) + ); + this.element.addEventListener( + "pointermove", + (event) => this.pointMoveEvent(self2, event) + ); + this.element.addEventListener( + "touchmove", + (event) => this.pointMoveEvent(self2, event) + ); + this.element.addEventListener("dragstart", (event) => { + if (event.ctrlKey) { + event.preventDefault(); + } + }); + maskCanvas.addEventListener( + "pointerdown", + (event) => this.handlePointerDown(self2, event) + ); + maskCanvas.addEventListener( + "pointermove", + (event) => this.draw_move(self2, event) + ); + maskCanvas.addEventListener( + "touchmove", + (event) => this.draw_move(self2, event) + ); + maskCanvas.addEventListener("pointerover", (event) => { + this.brush.style.display = "block"; + }); + maskCanvas.addEventListener("pointerleave", (event) => { + this.brush.style.display = "none"; + }); + document.addEventListener( + "pointerup", + MaskEditorDialogOld.handlePointerUp + ); + this.handler_registered = true; + } + } + getMaskCanvasStyle() { + if (this.brush_color_mode === "negative") { + return { + mixBlendMode: "difference", + opacity: "1" + }; + } else { + return { + mixBlendMode: "initial", + opacity: this.brush_opacity + }; + } + } + getMaskColor() { + if (this.brush_color_mode === "black") { + return { r: 0, g: 0, b: 0 }; + } + if (this.brush_color_mode === "white") { + return { r: 255, g: 255, b: 255 }; + } + if (this.brush_color_mode === "negative") { + return { r: 255, g: 255, b: 255 }; + } + return { r: 0, g: 0, b: 0 }; + } + getMaskFillStyle() { + const maskColor = this.getMaskColor(); + return "rgb(" + maskColor.r + "," + maskColor.g + "," + maskColor.b + ")"; + } + getColorButtonText() { + let colorCaption = "unknown"; + if (this.brush_color_mode === "black") { + colorCaption = "black"; + } else if (this.brush_color_mode === "white") { + colorCaption = "white"; + } else if (this.brush_color_mode === "negative") { + colorCaption = "negative"; + } + return "Color: " + colorCaption; + } + updateWhenBrushColorModeChanged() { + this.colorButton.innerText = this.getColorButtonText(); + const maskCanvasStyle = this.getMaskCanvasStyle(); + this.maskCanvas.style.mixBlendMode = maskCanvasStyle.mixBlendMode; + this.maskCanvas.style.opacity = maskCanvasStyle.opacity.toString(); + const maskColor = this.getMaskColor(); + const maskData = this.maskCtx.getImageData( + 0, + 0, + this.maskCanvas.width, + this.maskCanvas.height + ); + for (let i = 0; i < maskData.data.length; i += 4) { + maskData.data[i] = maskColor.r; + maskData.data[i + 1] = maskColor.g; + maskData.data[i + 2] = maskColor.b; + } + this.maskCtx.putImageData(maskData, 0, 0); + } + brush_opacity = 0.7; + brush_size = 10; + brush_color_mode = "black"; + drawing_mode = false; + lastx = -1; + lasty = -1; + lasttime = 0; + static handleKeyDown(event) { + const self2 = MaskEditorDialogOld.instance; + if (event.key === "]") { + self2.brush_size = Math.min(self2.brush_size + 2, 100); + self2.brush_slider_input.value = self2.brush_size; + } else if (event.key === "[") { + self2.brush_size = Math.max(self2.brush_size - 2, 1); + self2.brush_slider_input.value = self2.brush_size; + } else if (event.key === "Enter") { + self2.save(); + } + self2.updateBrushPreview(self2); + } + static handlePointerUp(event) { + event.preventDefault(); + this.mousedown_x = null; + this.mousedown_y = null; + MaskEditorDialogOld.instance.drawing_mode = false; + } + updateBrushPreview(self2) { + const brush = self2.brush; + var centerX = self2.cursorX; + var centerY = self2.cursorY; + brush.style.width = self2.brush_size * 2 * this.zoom_ratio + "px"; + brush.style.height = self2.brush_size * 2 * this.zoom_ratio + "px"; + brush.style.left = centerX - self2.brush_size * this.zoom_ratio + "px"; + brush.style.top = centerY - self2.brush_size * this.zoom_ratio + "px"; + } + handleWheelEvent(self2, event) { + event.preventDefault(); + if (event.ctrlKey) { + if (event.deltaY < 0) { + this.zoom_ratio = Math.min(10, this.zoom_ratio + 0.2); + } else { + this.zoom_ratio = Math.max(0.2, this.zoom_ratio - 0.2); + } + this.invalidatePanZoom(); + } else { + if (event.deltaY < 0) this.brush_size = Math.min(this.brush_size + 2, 100); + else this.brush_size = Math.max(this.brush_size - 2, 1); + this.brush_slider_input.value = this.brush_size.toString(); + this.updateBrushPreview(this); + } + } + pointMoveEvent(self2, event) { + this.cursorX = event.pageX; + this.cursorY = event.pageY; + self2.updateBrushPreview(self2); + if (event.ctrlKey) { + event.preventDefault(); + self2.pan_move(self2, event); + } + let left_button_down = window.TouchEvent && event instanceof TouchEvent || event.buttons == 1; + if (event.shiftKey && left_button_down) { + self2.drawing_mode = false; + const y = event.clientY; + let delta = (self2.zoom_lasty - y) * 5e-3; + self2.zoom_ratio = Math.max( + Math.min(10, self2.last_zoom_ratio - delta), + 0.2 + ); + this.invalidatePanZoom(); + return; + } + } + pan_move(self2, event) { + if (event.buttons == 1) { + if (MaskEditorDialogOld.mousedown_x) { + let deltaX = MaskEditorDialogOld.mousedown_x - event.clientX; + let deltaY = MaskEditorDialogOld.mousedown_y - event.clientY; + self2.pan_x = this.mousedown_pan_x - deltaX; + self2.pan_y = this.mousedown_pan_y - deltaY; + self2.invalidatePanZoom(); + } + } + } + draw_move(self2, event) { + if (event.ctrlKey || event.shiftKey) { + return; + } + event.preventDefault(); + this.cursorX = event.pageX; + this.cursorY = event.pageY; + self2.updateBrushPreview(self2); + let left_button_down = window.TouchEvent && event instanceof TouchEvent || event.buttons == 1; + let right_button_down = [2, 5, 32].includes(event.buttons); + if (!event.altKey && left_button_down) { + var diff = performance.now() - self2.lasttime; + const maskRect = self2.maskCanvas.getBoundingClientRect(); + var x = event.offsetX; + var y = event.offsetY; + if (event.offsetX == null) { + x = event.targetTouches[0].clientX - maskRect.left; + } + if (event.offsetY == null) { + y = event.targetTouches[0].clientY - maskRect.top; + } + x /= self2.zoom_ratio; + y /= self2.zoom_ratio; + var brush_size = this.brush_size; + if (event instanceof PointerEvent && event.pointerType == "pen") { + brush_size *= event.pressure; + this.last_pressure = event.pressure; + } else if (window.TouchEvent && event instanceof TouchEvent && diff < 20) { + brush_size *= this.last_pressure; + } else { + brush_size = this.brush_size; + } + if (diff > 20 && !this.drawing_mode) + requestAnimationFrame(() => { + self2.init_shape( + self2, + "source-over" + /* SourceOver */ + ); + self2.draw_shape(self2, x, y, brush_size); + self2.lastx = x; + self2.lasty = y; + }); + else + requestAnimationFrame(() => { + self2.init_shape( + self2, + "source-over" + /* SourceOver */ + ); + var dx = x - self2.lastx; + var dy = y - self2.lasty; + var distance = Math.sqrt(dx * dx + dy * dy); + var directionX = dx / distance; + var directionY = dy / distance; + for (var i = 0; i < distance; i += 5) { + var px2 = self2.lastx + directionX * i; + var py2 = self2.lasty + directionY * i; + self2.draw_shape(self2, px2, py2, brush_size); + } + self2.lastx = x; + self2.lasty = y; + }); + self2.lasttime = performance.now(); + } else if (event.altKey && left_button_down || right_button_down) { + const maskRect = self2.maskCanvas.getBoundingClientRect(); + const x2 = (event.offsetX || event.targetTouches[0].clientX - maskRect.left) / self2.zoom_ratio; + const y2 = (event.offsetY || event.targetTouches[0].clientY - maskRect.top) / self2.zoom_ratio; + var brush_size = this.brush_size; + if (event instanceof PointerEvent && event.pointerType == "pen") { + brush_size *= event.pressure; + this.last_pressure = event.pressure; + } else if (window.TouchEvent && event instanceof TouchEvent && diff < 20) { + brush_size *= this.last_pressure; + } else { + brush_size = this.brush_size; + } + if (diff > 20 && !this.drawing_mode) + requestAnimationFrame(() => { + self2.init_shape( + self2, + "destination-out" + /* DestinationOut */ + ); + self2.draw_shape(self2, x2, y2, brush_size); + self2.lastx = x2; + self2.lasty = y2; + }); + else + requestAnimationFrame(() => { + self2.init_shape( + self2, + "destination-out" + /* DestinationOut */ + ); + var dx = x2 - self2.lastx; + var dy = y2 - self2.lasty; + var distance = Math.sqrt(dx * dx + dy * dy); + var directionX = dx / distance; + var directionY = dy / distance; + for (var i = 0; i < distance; i += 5) { + var px2 = self2.lastx + directionX * i; + var py2 = self2.lasty + directionY * i; + self2.draw_shape(self2, px2, py2, brush_size); + } + self2.lastx = x2; + self2.lasty = y2; + }); + self2.lasttime = performance.now(); + } + } + handlePointerDown(self2, event) { + if (event.ctrlKey) { + if (event.buttons == 1) { + MaskEditorDialogOld.mousedown_x = event.clientX; + MaskEditorDialogOld.mousedown_y = event.clientY; + this.mousedown_pan_x = this.pan_x; + this.mousedown_pan_y = this.pan_y; + } + return; + } + var brush_size = this.brush_size; + if (event instanceof PointerEvent && event.pointerType == "pen") { + brush_size *= event.pressure; + this.last_pressure = event.pressure; + } + if ([0, 2, 5].includes(event.button)) { + self2.drawing_mode = true; + event.preventDefault(); + if (event.shiftKey) { + self2.zoom_lasty = event.clientY; + self2.last_zoom_ratio = self2.zoom_ratio; + return; + } + const maskRect = self2.maskCanvas.getBoundingClientRect(); + const x = (event.offsetX || event.targetTouches[0].clientX - maskRect.left) / self2.zoom_ratio; + const y = (event.offsetY || event.targetTouches[0].clientY - maskRect.top) / self2.zoom_ratio; + if (!event.altKey && event.button == 0) { + self2.init_shape( + self2, + "source-over" + /* SourceOver */ + ); + } else { + self2.init_shape( + self2, + "destination-out" + /* DestinationOut */ + ); + } + self2.draw_shape(self2, x, y, brush_size); + self2.lastx = x; + self2.lasty = y; + self2.lasttime = performance.now(); + } + } + init_shape(self2, compositionOperation) { + self2.maskCtx.beginPath(); + if (compositionOperation == "source-over") { + self2.maskCtx.fillStyle = this.getMaskFillStyle(); + self2.maskCtx.globalCompositeOperation = "source-over"; + } else if (compositionOperation == "destination-out") { + self2.maskCtx.globalCompositeOperation = "destination-out"; + } + } + draw_shape(self2, x, y, brush_size) { + if (self2.pointer_type === "rect") { + self2.maskCtx.rect( + x - brush_size, + y - brush_size, + brush_size * 2, + brush_size * 2 + ); + } else { + self2.maskCtx.arc(x, y, brush_size, 0, Math.PI * 2, false); + } + self2.maskCtx.fill(); + } + async save() { + const backupCanvas = document.createElement("canvas"); + const backupCtx = backupCanvas.getContext("2d", { + willReadFrequently: true + }); + backupCanvas.width = this.image.width; + backupCanvas.height = this.image.height; + backupCtx.clearRect(0, 0, backupCanvas.width, backupCanvas.height); + backupCtx.drawImage( + this.maskCanvas, + 0, + 0, + this.maskCanvas.width, + this.maskCanvas.height, + 0, + 0, + backupCanvas.width, + backupCanvas.height + ); + const backupData = backupCtx.getImageData( + 0, + 0, + backupCanvas.width, + backupCanvas.height + ); + for (let i = 0; i < backupData.data.length; i += 4) { + if (backupData.data[i + 3] == 255) backupData.data[i + 3] = 0; + else backupData.data[i + 3] = 255; + backupData.data[i] = 0; + backupData.data[i + 1] = 0; + backupData.data[i + 2] = 0; + } + backupCtx.globalCompositeOperation = "source-over"; + backupCtx.putImageData(backupData, 0, 0); + const formData = new FormData(); + const filename = "clipspace-mask-" + performance.now() + ".png"; + const item = { + filename, + subfolder: "clipspace", + type: "input" + }; + if (ComfyApp.clipspace.images) ComfyApp.clipspace.images[0] = item; + if (ComfyApp.clipspace.widgets) { + const index = ComfyApp.clipspace.widgets.findIndex( + (obj) => obj.name === "image" + ); + if (index >= 0) ComfyApp.clipspace.widgets[index].value = item; + } + const dataURL = backupCanvas.toDataURL(); + const blob = dataURLToBlob(dataURL); + let original_url = new URL(this.image.src); + const original_ref = { + filename: original_url.searchParams.get("filename") + }; + let original_subfolder = original_url.searchParams.get("subfolder"); + if (original_subfolder) original_ref.subfolder = original_subfolder; + let original_type = original_url.searchParams.get("type"); + if (original_type) original_ref.type = original_type; + formData.append("image", blob, filename); + formData.append("original_ref", JSON.stringify(original_ref)); + formData.append("type", "input"); + formData.append("subfolder", "clipspace"); + this.saveButton.innerText = "Saving..."; + this.saveButton.disabled = true; + await uploadMask(item, formData); + ComfyApp.onClipspaceEditorSave(); + this.close(); + } +} +window.comfyAPI = window.comfyAPI || {}; +window.comfyAPI.maskEditorOld = window.comfyAPI.maskEditorOld || {}; +window.comfyAPI.maskEditorOld.MaskEditorDialogOld = MaskEditorDialogOld; +var styles = ` + #maskEditorContainer { + display: fixed; + } + #maskEditor_brush { + position: absolute; + backgroundColor: transparent; + z-index: 8889; + pointer-events: none; + border-radius: 50%; + overflow: visible; + outline: 1px dashed black; + box-shadow: 0 0 0 1px white; + } + #maskEditor_brushPreviewGradient { + position: absolute; + width: 100%; + height: 100%; + border-radius: 50%; + display: none; + } + #maskEditor { + display: block; + width: 100%; + height: 100vh; + left: 0; + z-index: 8888; + position: fixed; + background: rgba(50,50,50,0.75); + backdrop-filter: blur(10px); + overflow: hidden; + user-select: none; + } + #maskEditor_sidePanelContainer { + height: 100%; + width: 220px; + z-index: 8888; + display: flex; + flex-direction: column; + } + #maskEditor_sidePanel { + background: var(--comfy-menu-bg); + height: 100%; + display: flex; + align-items: center; + overflow-y: hidden; + width: 220px; + } + #maskEditor_sidePanelShortcuts { + display: flex; + flex-direction: row; + width: 200px; + margin-top: 10px; + gap: 10px; + justify-content: center; + } + .maskEditor_sidePanelIconButton { + width: 40px; + height: 40px; + pointer-events: auto; + display: flex; + justify-content: center; + align-items: center; + transition: background-color 0.1s; + } + .maskEditor_sidePanelIconButton:hover { + background-color: rgba(0, 0, 0, 0.2); + } + #maskEditor_sidePanelBrushSettings { + display: flex; + flex-direction: column; + gap: 10px; + width: 200px; + padding: 10px; + } + .maskEditor_sidePanelTitle { + text-align: center; + font-size: 15px; + font-family: sans-serif; + color: var(--descrip-text); + margin-top: 10px; + } + #maskEditor_sidePanelBrushShapeContainer { + display: flex; + width: 180px; + height: 50px; + border: 1px solid var(--border-color); + pointer-events: auto; + background: rgba(0, 0, 0, 0.2); + } + #maskEditor_sidePanelBrushShapeCircle { + width: 35px; + height: 35px; + border-radius: 50%; + border: 1px solid var(--border-color); + pointer-events: auto; + transition: background 0.1s; + margin-left: 7.5px; + } + .maskEditor_sidePanelBrushRange { + width: 180px; + -webkit-appearance: none; + appearance: none; + background: transparent; + cursor: pointer; + } + .maskEditor_sidePanelBrushRange::-webkit-slider-thumb { + height: 20px; + width: 20px; + border-radius: 50%; + cursor: grab; + margin-top: -8px; + background: var(--p-surface-700); + border: 1px solid var(--border-color); + } + .maskEditor_sidePanelBrushRange::-moz-range-thumb { + height: 20px; + width: 20px; + border-radius: 50%; + cursor: grab; + background: var(--p-surface-800); + border: 1px solid var(--border-color); + } + .maskEditor_sidePanelBrushRange::-webkit-slider-runnable-track { + background: var(--p-surface-700); + height: 3px; + } + .maskEditor_sidePanelBrushRange::-moz-range-track { + background: var(--p-surface-700); + height: 3px; + } + + #maskEditor_sidePanelBrushShapeSquare { + width: 35px; + height: 35px; + margin: 5px; + border: 1px solid var(--border-color); + pointer-events: auto; + transition: background 0.1s; + } + + .maskEditor_brushShape_dark { + background: transparent; + } + + .maskEditor_brushShape_dark:hover { + background: var(--p-surface-900); + } + + .maskEditor_brushShape_light { + background: transparent; + } + + .maskEditor_brushShape_light:hover { + background: var(--comfy-menu-bg); + } + + #maskEditor_sidePanelImageLayerSettings { + display: flex; + flex-direction: column; + gap: 10px; + width: 200px; + align-items: center; + } + .maskEditor_sidePanelLayer { + display: flex; + width: 200px; + height: 50px; + } + .maskEditor_sidePanelLayerVisibilityContainer { + width: 50px; + height: 50px; + border-radius: 8px; + display: flex; + justify-content: center; + align-items: center; + } + .maskEditor_sidePanelVisibilityToggle { + width: 12px; + height: 12px; + border-radius: 50%; + pointer-events: auto; + } + .maskEditor_sidePanelLayerIconContainer { + width: 60px; + height: 50px; + border-radius: 8px; + display: flex; + justify-content: center; + align-items: center; + fill: var(--input-text); + } + .maskEditor_sidePanelLayerIconContainer svg { + width: 30px; + height: 30px; + } + #maskEditor_sidePanelMaskLayerBlendingContainer { + width: 80px; + height: 50px; + border-radius: 8px; + display: flex; + justify-content: center; + align-items: center; + } + #maskEditor_sidePanelMaskLayerBlendingSelect { + width: 80px; + height: 30px; + border: 1px solid var(--border-color); + background-color: rgba(0, 0, 0, 0.2); + color: var(--input-text); + font-family: sans-serif; + font-size: 15px; + pointer-events: auto; + transition: background-color border 0.1s; + } + #maskEditor_sidePanelClearCanvasButton:hover { + background-color: var(--p-overlaybadge-outline-color); + border: none; + } + #maskEditor_sidePanelClearCanvasButton { + width: 180px; + height: 30px; + border: none; + background: rgba(0, 0, 0, 0.2); + border: 1px solid var(--border-color); + color: var(--input-text); + font-family: sans-serif; + font-size: 15px; + pointer-events: auto; + transition: background-color 0.1s; + } + #maskEditor_sidePanelClearCanvasButton:hover { + background-color: var(--p-overlaybadge-outline-color); + } + #maskEditor_sidePanelHorizontalButtonContainer { + display: flex; + gap: 10px; + height: 40px; + } + .maskEditor_sidePanelBigButton { + width: 85px; + height: 30px; + border: none; + background: rgba(0, 0, 0, 0.2); + border: 1px solid var(--border-color); + color: var(--input-text); + font-family: sans-serif; + font-size: 15px; + pointer-events: auto; + transition: background-color border 0.1s; + } + .maskEditor_sidePanelBigButton:hover { + background-color: var(--p-overlaybadge-outline-color); + border: none; + } + #maskEditor_toolPanel { + height: 100%; + width: var(--sidebar-width); + z-index: 8888; + background: var(--comfy-menu-bg); + display: flex; + flex-direction: column; + } + .maskEditor_toolPanelContainer { + width: var(--sidebar-width); + height: var(--sidebar-width); + display: flex; + justify-content: center; + align-items: center; + position: relative; + transition: background-color 0.2s; + } + .maskEditor_toolPanelContainerSelected svg { + fill: var(--p-button-text-primary-color) !important; + } + .maskEditor_toolPanelContainerSelected .maskEditor_toolPanelIndicator { + display: block; + } + .maskEditor_toolPanelContainer svg { + width: 75%; + aspect-ratio: 1/1; + fill: var(--p-button-text-secondary-color); + } + + .maskEditor_toolPanelContainerDark:hover { + background-color: var(--p-surface-800); + } + + .maskEditor_toolPanelContainerLight:hover { + background-color: var(--p-surface-300); + } + + .maskEditor_toolPanelIndicator { + display: none; + height: 100%; + width: 4px; + position: absolute; + left: 0; + background: var(--p-button-text-primary-color); + } + #maskEditor_sidePanelPaintBucketSettings { + display: flex; + flex-direction: column; + gap: 10px; + width: 200px; + padding: 10px; + } + #canvasBackground { + background: white; + width: 100%; + height: 100%; + } + #maskEditor_sidePanelButtonsContainer { + display: flex; + flex-direction: column; + gap: 10px; + margin-top: 10px; + } + .maskEditor_sidePanelSeparator { + width: 200px; + height: 2px; + background: var(--border-color); + margin-top: 5px; + margin-bottom: 5px; + } + #maskEditor_pointerZone { + width: calc(100% - var(--sidebar-width) - 220px); + height: 100%; + } + #maskEditor_uiContainer { + width: 100%; + height: 100%; + position: absolute; + z-index: 8888; + display: flex; + flex-direction: column; + } + #maskEditorCanvasContainer { + position: absolute; + width: 1000px; + height: 667px; + left: 359px; + top: 280px; + } + #imageCanvas { + width: 100%; + height: 100%; + } + #maskCanvas { + width: 100%; + height: 100%; + } + #maskEditor_uiHorizontalContainer { + width: 100%; + height: 100%; + display: flex; + } + #maskEditor_topBar { + display: flex; + height: 44px; + align-items: center; + background: var(--comfy-menu-bg); + } + #maskEditor_topBarTitle { + margin: 0; + margin-left: 0.5rem; + margin-right: 0.5rem; + font-size: 1.2em; + } + #maskEditor_topBarButtonContainer { + display: flex; + gap: 10px; + margin-right: 0.5rem; + position: absolute; + right: 0; + width: 200px; + } + #maskEditor_topBarShortcutsContainer { + display: flex; + gap: 10px; + margin-left: 5px; + } + + .maskEditor_topPanelIconButton_dark { + width: 50px; + height: 30px; + pointer-events: auto; + display: flex; + justify-content: center; + align-items: center; + transition: background-color 0.1s; + background: var(--p-surface-800); + border: 1px solid var(--p-form-field-border-color); + border-radius: 10px; + } + + .maskEditor_topPanelIconButton_dark:hover { + background-color: var(--p-surface-900); + } + + .maskEditor_topPanelIconButton_dark svg { + width: 25px; + height: 25px; + pointer-events: none; + fill: var(--input-text); + } + + .maskEditor_topPanelIconButton_light { + width: 50px; + height: 30px; + pointer-events: auto; + display: flex; + justify-content: center; + align-items: center; + transition: background-color 0.1s; + background: var(--comfy-menu-bg); + border: 1px solid var(--p-form-field-border-color); + border-radius: 10px; + } + + .maskEditor_topPanelIconButton_light:hover { + background-color: var(--p-surface-300); + } + + .maskEditor_topPanelIconButton_light svg { + width: 25px; + height: 25px; + pointer-events: none; + fill: var(--input-text); + } + + .maskEditor_topPanelButton_dark { + height: 30px; + background: var(--p-surface-800); + border: 1px solid var(--p-form-field-border-color); + border-radius: 10px; + color: var(--input-text); + font-family: sans-serif; + pointer-events: auto; + transition: 0.1s; + width: 60px; + } + + .maskEditor_topPanelButton_dark:hover { + background-color: var(--p-surface-900); + } + + .maskEditor_topPanelButton_light { + height: 30px; + background: var(--comfy-menu-bg); + border: 1px solid var(--p-form-field-border-color); + border-radius: 10px; + color: var(--input-text); + font-family: sans-serif; + pointer-events: auto; + transition: 0.1s; + width: 60px; + } + + .maskEditor_topPanelButton_light:hover { + background-color: var(--p-surface-300); + } + + + #maskEditor_sidePanelColorSelectSettings { + flex-direction: column; + } + + .maskEditor_sidePanel_paintBucket_Container { + width: 180px; + display: flex; + flex-direction: column; + position: relative; + } + + .maskEditor_sidePanel_colorSelect_Container { + display: flex; + width: 180px; + align-items: center; + gap: 5px; + height: 30px; + } + + #maskEditor_sidePanelVisibilityToggle { + position: absolute; + right: 0; + } + + #maskEditor_sidePanelColorSelectMethodSelect { + position: absolute; + right: 0; + height: 30px; + border-radius: 0; + border: 1px solid var(--border-color); + background: rgba(0,0,0,0.2); + } + + #maskEditor_sidePanelVisibilityToggle { + position: absolute; + right: 0; + } + + .maskEditor_sidePanel_colorSelect_tolerance_container { + display: flex; + flex-direction: column; + gap: 10px; + margin-bottom: 10px; + } + + .maskEditor_sidePanelContainerColumn { + display: flex; + flex-direction: column; + gap: 12px; + } + + .maskEditor_sidePanelContainerRow { + display: flex; + flex-direction: row; + gap: 10px; + align-items: center; + min-height: 24px; + position: relative; + } + + .maskEditor_accent_bg_dark { + background: var(--p-surface-800); + } + + .maskEditor_accent_bg_very_dark { + background: var(--p-surface-900); + } + + .maskEditor_accent_bg_light { + background: var(--p-surface-300); + } + + .maskEditor_accent_bg_very_light { + background: var(--comfy-menu-bg); + } + + #maskEditor_paintBucketSettings { + display: none; + } + + #maskEditor_colorSelectSettings { + display: none; + } + + .maskEditor_sidePanelToggleContainer { + cursor: pointer; + display: inline-block; + position: absolute; + right: 0; + } + + .maskEditor_toggle_bg_dark { + background: var(--p-surface-700); + } + + .maskEditor_toggle_bg_light { + background: var(--p-surface-300); + } + + .maskEditor_sidePanelToggleSwitch { + display: inline-block; + border-radius: 16px; + width: 40px; + height: 24px; + position: relative; + vertical-align: middle; + transition: background 0.25s; + } + .maskEditor_sidePanelToggleSwitch:before, .maskEditor_sidePanelToggleSwitch:after { + content: ""; + } + .maskEditor_sidePanelToggleSwitch:before { + display: block; + background: linear-gradient(to bottom, #fff 0%, #eee 100%); + border-radius: 50%; + width: 16px; + height: 16px; + position: absolute; + top: 4px; + left: 4px; + transition: ease 0.2s; + } + .maskEditor_sidePanelToggleContainer:hover .maskEditor_sidePanelToggleSwitch:before { + background: linear-gradient(to bottom, #fff 0%, #fff 100%); + } + .maskEditor_sidePanelToggleCheckbox:checked + .maskEditor_sidePanelToggleSwitch { + background: var(--p-button-text-primary-color); + } + .maskEditor_sidePanelToggleCheckbox:checked + .maskEditor_toggle_bg_dark:before { + background: var(--p-surface-900); + } + .maskEditor_sidePanelToggleCheckbox:checked + .maskEditor_toggle_bg_light:before { + background: var(--comfy-menu-bg); + } + .maskEditor_sidePanelToggleCheckbox:checked + .maskEditor_sidePanelToggleSwitch:before { + left: 20px; + } + + .maskEditor_sidePanelToggleCheckbox { + position: absolute; + visibility: hidden; + } + + .maskEditor_sidePanelDropdown_dark { + border: 1px solid var(--p-form-field-border-color); + background: var(--p-surface-900); + height: 24px; + padding-left: 5px; + padding-right: 5px; + border-radius: 6px; + transition: background 0.1s; + } + + .maskEditor_sidePanelDropdown_dark option { + background: var(--p-surface-900); + } + + .maskEditor_sidePanelDropdown_dark:focus { + outline: 1px solid var(--p-button-text-primary-color); + } + + .maskEditor_sidePanelDropdown_dark option:hover { + background: white; + } + .maskEditor_sidePanelDropdown_dark option:active { + background: var(--p-highlight-background); + } + + .maskEditor_sidePanelDropdown_light { + border: 1px solid var(--p-form-field-border-color); + background: var(--comfy-menu-bg); + height: 24px; + padding-left: 5px; + padding-right: 5px; + border-radius: 6px; + transition: background 0.1s; + } + + .maskEditor_sidePanelDropdown_light option { + background: var(--comfy-menu-bg); + } + + .maskEditor_sidePanelDropdown_light:focus { + outline: 1px solid var(--p-surface-300); + } + + .maskEditor_sidePanelDropdown_light option:hover { + background: white; + } + .maskEditor_sidePanelDropdown_light option:active { + background: var(--p-surface-300); + } + + .maskEditor_layerRow { + height: 50px; + width: 200px; + border-radius: 10px; + } + + .maskEditor_sidePanelLayerPreviewContainer { + width: 40px; + height: 30px; + } + + .maskEditor_sidePanelLayerPreviewContainer > svg{ + width: 100%; + height: 100%; + object-fit: contain; + fill: var(--p-surface-100); + } + + #maskEditor_sidePanelImageLayerImage { + width: 100%; + height: 100%; + object-fit: contain; + } + + .maskEditor_sidePanelSubTitle { + text-align: left; + font-size: 12px; + font-family: sans-serif; + color: var(--descrip-text); + } + + .maskEditor_containerDropdown { + position: absolute; + right: 0; + } + + .maskEditor_sidePanelLayerCheckbox { + margin-left: 15px; + } + + .maskEditor_toolPanelZoomIndicator { + width: var(--sidebar-width); + height: var(--sidebar-width); + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 5px; + color: var(--p-button-text-secondary-color); + position: absolute; + bottom: 0; + transition: background-color 0.2s; + } + + #maskEditor_toolPanelDimensionsText { + font-size: 12px; + } + + #maskEditor_topBarSaveButton { + background: var(--p-primary-color) !important; + color: var(--p-button-primary-color) !important; + } + + #maskEditor_topBarSaveButton:hover { + background: var(--p-primary-hover-color) !important; + } + +`; +var styleSheet = document.createElement("style"); +styleSheet.type = "text/css"; +styleSheet.innerText = styles; +document.head.appendChild(styleSheet); +var BrushShape = /* @__PURE__ */ ((BrushShape2) => { + BrushShape2["Arc"] = "arc"; + BrushShape2["Rect"] = "rect"; + return BrushShape2; +})(BrushShape || {}); +var Tools = /* @__PURE__ */ ((Tools2) => { + Tools2["Pen"] = "pen"; + Tools2["Eraser"] = "eraser"; + Tools2["PaintBucket"] = "paintBucket"; + Tools2["ColorSelect"] = "colorSelect"; + return Tools2; +})(Tools || {}); +var CompositionOperation = /* @__PURE__ */ ((CompositionOperation2) => { + CompositionOperation2["SourceOver"] = "source-over"; + CompositionOperation2["DestinationOut"] = "destination-out"; + return CompositionOperation2; +})(CompositionOperation || {}); +var MaskBlendMode = /* @__PURE__ */ ((MaskBlendMode2) => { + MaskBlendMode2["Black"] = "black"; + MaskBlendMode2["White"] = "white"; + MaskBlendMode2["Negative"] = "negative"; + return MaskBlendMode2; +})(MaskBlendMode || {}); +var ColorComparisonMethod = /* @__PURE__ */ ((ColorComparisonMethod2) => { + ColorComparisonMethod2["Simple"] = "simple"; + ColorComparisonMethod2["HSL"] = "hsl"; + ColorComparisonMethod2["LAB"] = "lab"; + return ColorComparisonMethod2; +})(ColorComparisonMethod || {}); +class MaskEditorDialog extends ComfyDialog { + static { + __name(this, "MaskEditorDialog"); + } + static instance = null; + //new + uiManager; + toolManager; + panAndZoomManager; + brushTool; + paintBucketTool; + colorSelectTool; + canvasHistory; + messageBroker; + keyboardManager; + rootElement; + imageURL; + isLayoutCreated = false; + isOpen = false; + //variables needed? + last_display_style = null; + constructor() { + super(); + this.rootElement = $el( + "div.maskEditor_hidden", + { parent: document.body }, + [] + ); + this.element = this.rootElement; + } + static getInstance() { + if (!ComfyApp.clipspace || !ComfyApp.clipspace.imgs) { + throw new Error("No clipspace images found"); + } + const currentSrc = ComfyApp.clipspace.imgs[ComfyApp.clipspace["selectedIndex"]].src; + if (!MaskEditorDialog.instance || currentSrc !== MaskEditorDialog.instance.imageURL) { + MaskEditorDialog.instance = new MaskEditorDialog(); + } + return MaskEditorDialog.instance; + } + async show() { + this.cleanup(); + if (!this.isLayoutCreated) { + this.messageBroker = new MessageBroker(); + this.canvasHistory = new CanvasHistory(this, 20); + this.paintBucketTool = new PaintBucketTool(this); + this.brushTool = new BrushTool(this); + this.panAndZoomManager = new PanAndZoomManager(this); + this.toolManager = new ToolManager(this); + this.keyboardManager = new KeyboardManager(this); + this.uiManager = new UIManager(this.rootElement, this); + this.colorSelectTool = new ColorSelectTool(this); + const self2 = this; + const observer = new MutationObserver(function(mutations) { + mutations.forEach(function(mutation) { + if (mutation.type === "attributes" && mutation.attributeName === "style") { + if (self2.last_display_style && self2.last_display_style != "none" && self2.element.style.display == "none") { + ComfyApp.onClipspaceEditorClosed(); + } + self2.last_display_style = self2.element.style.display; + } + }); + }); + const config = { attributes: true }; + observer.observe(this.rootElement, config); + this.isLayoutCreated = true; + await this.uiManager.setlayout(); + } + this.rootElement.id = "maskEditor"; + this.rootElement.style.display = "flex"; + this.element.style.display = "flex"; + await this.uiManager.initUI(); + this.paintBucketTool.initPaintBucketTool(); + this.colorSelectTool.initColorSelectTool(); + await this.canvasHistory.saveInitialState(); + this.isOpen = true; + if (ComfyApp.clipspace && ComfyApp.clipspace.imgs) { + this.uiManager.setSidebarImage(); + } + this.keyboardManager.addListeners(); + } + cleanup() { + const maskEditors = document.querySelectorAll('[id^="maskEditor"]'); + maskEditors.forEach((element) => element.remove()); + const brushElements = document.querySelectorAll("#maskEditor_brush"); + brushElements.forEach((element) => element.remove()); + } + isOpened() { + return this.isOpen; + } + async save() { + const backupCanvas = document.createElement("canvas"); + const imageCanvas = this.uiManager.getImgCanvas(); + const maskCanvas = this.uiManager.getMaskCanvas(); + const image = this.uiManager.getImage(); + const backupCtx = backupCanvas.getContext("2d", { + willReadFrequently: true + }); + backupCanvas.width = imageCanvas.width; + backupCanvas.height = imageCanvas.height; + if (!backupCtx) { + return; + } + const maskImageLoaded = new Promise((resolve, reject) => { + const maskImage = new Image(); + maskImage.src = maskCanvas.toDataURL(); + maskImage.onload = () => { + resolve(); + }; + maskImage.onerror = (error) => { + reject(error); + }; + }); + try { + await maskImageLoaded; + } catch (error) { + console.error("Error loading mask image:", error); + return; + } + backupCtx.clearRect(0, 0, backupCanvas.width, backupCanvas.height); + backupCtx.drawImage( + maskCanvas, + 0, + 0, + maskCanvas.width, + maskCanvas.height, + 0, + 0, + backupCanvas.width, + backupCanvas.height + ); + let maskHasContent = false; + const maskData = backupCtx.getImageData( + 0, + 0, + backupCanvas.width, + backupCanvas.height + ); + for (let i = 0; i < maskData.data.length; i += 4) { + if (maskData.data[i + 3] !== 0) { + maskHasContent = true; + break; + } + } + const backupData = backupCtx.getImageData( + 0, + 0, + backupCanvas.width, + backupCanvas.height + ); + let backupHasContent = false; + for (let i = 0; i < backupData.data.length; i += 4) { + if (backupData.data[i + 3] !== 0) { + backupHasContent = true; + break; + } + } + if (maskHasContent && !backupHasContent) { + console.error("Mask appears to be empty"); + alert("Cannot save empty mask"); + return; + } + for (let i = 0; i < backupData.data.length; i += 4) { + const alpha = backupData.data[i + 3]; + backupData.data[i] = 0; + backupData.data[i + 1] = 0; + backupData.data[i + 2] = 0; + backupData.data[i + 3] = 255 - alpha; + } + backupCtx.globalCompositeOperation = "source-over"; + backupCtx.putImageData(backupData, 0, 0); + const formData = new FormData(); + const filename = "clipspace-mask-" + performance.now() + ".png"; + const item = { + filename, + subfolder: "clipspace", + type: "input" + }; + if (ComfyApp?.clipspace?.widgets?.length) { + const index = ComfyApp.clipspace.widgets.findIndex( + (obj) => obj?.name === "image" + ); + if (index >= 0 && item !== void 0) { + try { + ComfyApp.clipspace.widgets[index].value = item; + } catch (err2) { + console.warn("Failed to set widget value:", err2); + } + } + } + const dataURL = backupCanvas.toDataURL(); + const blob = this.dataURLToBlob(dataURL); + let original_url = new URL(image.src); + this.uiManager.setBrushOpacity(0); + const filenameRef = original_url.searchParams.get("filename"); + if (!filenameRef) { + throw new Error("filename parameter is required"); + } + const original_ref = { + filename: filenameRef + }; + let original_subfolder = original_url.searchParams.get("subfolder"); + if (original_subfolder) original_ref.subfolder = original_subfolder; + let original_type = original_url.searchParams.get("type"); + if (original_type) original_ref.type = original_type; + formData.append("image", blob, filename); + formData.append("original_ref", JSON.stringify(original_ref)); + formData.append("type", "input"); + formData.append("subfolder", "clipspace"); + this.uiManager.setSaveButtonText("Saving"); + this.uiManager.setSaveButtonEnabled(false); + this.keyboardManager.removeListeners(); + const maxRetries = 3; + let attempt = 0; + let success = false; + while (attempt < maxRetries && !success) { + try { + await this.uploadMask(item, formData); + success = true; + } catch (error) { + console.error(`Upload attempt ${attempt + 1} failed:`, error); + attempt++; + if (attempt < maxRetries) { + console.log("Retrying upload..."); + } else { + console.log("Max retries reached. Upload failed."); + } + } + } + if (success) { + ComfyApp.onClipspaceEditorSave(); + this.close(); + this.isOpen = false; + } else { + this.uiManager.setSaveButtonText("Save"); + this.uiManager.setSaveButtonEnabled(true); + this.keyboardManager.addListeners(); + } + } + getMessageBroker() { + return this.messageBroker; + } + // Helper function to convert a data URL to a Blob object + dataURLToBlob(dataURL) { + const parts = dataURL.split(";base64,"); + const contentType = parts[0].split(":")[1]; + const byteString = atob(parts[1]); + const arrayBuffer = new ArrayBuffer(byteString.length); + const uint8Array = new Uint8Array(arrayBuffer); + for (let i = 0; i < byteString.length; i++) { + uint8Array[i] = byteString.charCodeAt(i); + } + return new Blob([arrayBuffer], { type: contentType }); + } + async uploadMask(filepath, formData, retries = 3) { + if (retries <= 0) { + throw new Error("Max retries reached"); + return; + } + await api.fetchApi("/upload/mask", { + method: "POST", + body: formData + }).then((response) => { + if (!response.ok) { + console.log("Failed to upload mask:", response); + this.uploadMask(filepath, formData, 2); + } + }).catch((error) => { + console.error("Error:", error); + }); + try { + const selectedIndex = ComfyApp.clipspace?.selectedIndex; + if (ComfyApp.clipspace?.imgs && selectedIndex !== void 0) { + const newImage = new Image(); + newImage.src = api.apiURL( + "/view?" + new URLSearchParams(filepath).toString() + app.getPreviewFormatParam() + app.getRandParam() + ); + ComfyApp.clipspace.imgs[selectedIndex] = newImage; + if (ComfyApp.clipspace.images) { + ComfyApp.clipspace.images[selectedIndex] = filepath; + } + } + } catch (err2) { + console.warn("Failed to update clipspace image:", err2); + } + ClipspaceDialog.invalidatePreview(); + } +} +class CanvasHistory { + static { + __name(this, "CanvasHistory"); + } + maskEditor; + messageBroker; + canvas; + ctx; + states = []; + currentStateIndex = -1; + maxStates = 20; + initialized = false; + constructor(maskEditor, maxStates = 20) { + this.maskEditor = maskEditor; + this.messageBroker = maskEditor.getMessageBroker(); + this.maxStates = maxStates; + this.createListeners(); + } + async pullCanvas() { + this.canvas = await this.messageBroker.pull("maskCanvas"); + this.ctx = await this.messageBroker.pull("maskCtx"); + } + createListeners() { + this.messageBroker.subscribe("saveState", () => this.saveState()); + this.messageBroker.subscribe("undo", () => this.undo()); + this.messageBroker.subscribe("redo", () => this.redo()); + } + clearStates() { + this.states = []; + this.currentStateIndex = -1; + this.initialized = false; + } + async saveInitialState() { + await this.pullCanvas(); + if (!this.canvas.width || !this.canvas.height) { + requestAnimationFrame(() => this.saveInitialState()); + return; + } + this.clearStates(); + const state = this.ctx.getImageData( + 0, + 0, + this.canvas.width, + this.canvas.height + ); + this.states.push(state); + this.currentStateIndex = 0; + this.initialized = true; + } + saveState() { + if (!this.initialized || this.currentStateIndex === -1) { + this.saveInitialState(); + return; + } + this.states = this.states.slice(0, this.currentStateIndex + 1); + const state = this.ctx.getImageData( + 0, + 0, + this.canvas.width, + this.canvas.height + ); + this.states.push(state); + this.currentStateIndex++; + if (this.states.length > this.maxStates) { + this.states.shift(); + this.currentStateIndex--; + } + } + undo() { + if (this.states.length > 1 && this.currentStateIndex > 0) { + this.currentStateIndex--; + this.restoreState(this.states[this.currentStateIndex]); + } else { + alert("No more undo states available"); + } + } + redo() { + if (this.states.length > 1 && this.currentStateIndex < this.states.length - 1) { + this.currentStateIndex++; + this.restoreState(this.states[this.currentStateIndex]); + } else { + alert("No more redo states available"); + } + } + restoreState(state) { + if (state && this.initialized) { + this.ctx.putImageData(state, 0, 0); + } + } +} +class PaintBucketTool { + static { + __name(this, "PaintBucketTool"); + } + maskEditor; + messageBroker; + canvas; + ctx; + width = null; + height = null; + imageData = null; + data = null; + tolerance = 5; + constructor(maskEditor) { + this.maskEditor = maskEditor; + this.messageBroker = maskEditor.getMessageBroker(); + this.createListeners(); + this.addPullTopics(); + } + initPaintBucketTool() { + this.pullCanvas(); + } + async pullCanvas() { + this.canvas = await this.messageBroker.pull("maskCanvas"); + this.ctx = await this.messageBroker.pull("maskCtx"); + } + createListeners() { + this.messageBroker.subscribe( + "setPaintBucketTolerance", + (tolerance) => this.setTolerance(tolerance) + ); + this.messageBroker.subscribe( + "paintBucketFill", + (point) => this.floodFill(point) + ); + this.messageBroker.subscribe("invert", () => this.invertMask()); + } + addPullTopics() { + this.messageBroker.createPullTopic( + "getTolerance", + async () => this.tolerance + ); + } + getPixel(x, y) { + return this.data[(y * this.width + x) * 4 + 3]; + } + setPixel(x, y, alpha, color) { + const index = (y * this.width + x) * 4; + this.data[index] = color.r; + this.data[index + 1] = color.g; + this.data[index + 2] = color.b; + this.data[index + 3] = alpha; + } + shouldProcessPixel(currentAlpha, targetAlpha, tolerance, isFillMode) { + if (currentAlpha === -1) return false; + if (isFillMode) { + return currentAlpha !== 255 && Math.abs(currentAlpha - targetAlpha) <= tolerance; + } else { + return currentAlpha === 255 || Math.abs(currentAlpha - targetAlpha) <= tolerance; + } + } + async floodFill(point) { + let startX = Math.floor(point.x); + let startY = Math.floor(point.y); + this.width = this.canvas.width; + this.height = this.canvas.height; + if (startX < 0 || startX >= this.width || startY < 0 || startY >= this.height) { + return; + } + this.imageData = this.ctx.getImageData(0, 0, this.width, this.height); + this.data = this.imageData.data; + const targetAlpha = this.getPixel(startX, startY); + const isFillMode = targetAlpha !== 255; + if (targetAlpha === -1) return; + const maskColor = await this.messageBroker.pull("getMaskColor"); + const stack = []; + const visited = new Uint8Array(this.width * this.height); + if (this.shouldProcessPixel( + targetAlpha, + targetAlpha, + this.tolerance, + isFillMode + )) { + stack.push([startX, startY]); + } + while (stack.length > 0) { + const [x, y] = stack.pop(); + const visitedIndex = y * this.width + x; + if (visited[visitedIndex]) continue; + const currentAlpha = this.getPixel(x, y); + if (!this.shouldProcessPixel( + currentAlpha, + targetAlpha, + this.tolerance, + isFillMode + )) { + continue; + } + visited[visitedIndex] = 1; + this.setPixel(x, y, isFillMode ? 255 : 0, maskColor); + const checkNeighbor = /* @__PURE__ */ __name((nx, ny) => { + if (nx < 0 || nx >= this.width || ny < 0 || ny >= this.height) return; + if (!visited[ny * this.width + nx]) { + const alpha = this.getPixel(nx, ny); + if (this.shouldProcessPixel( + alpha, + targetAlpha, + this.tolerance, + isFillMode + )) { + stack.push([nx, ny]); + } + } + }, "checkNeighbor"); + checkNeighbor(x - 1, y); + checkNeighbor(x + 1, y); + checkNeighbor(x, y - 1); + checkNeighbor(x, y + 1); + } + this.ctx.putImageData(this.imageData, 0, 0); + this.imageData = null; + this.data = null; + } + setTolerance(tolerance) { + this.tolerance = tolerance; + } + getTolerance() { + return this.tolerance; + } + //invert mask + invertMask() { + const imageData = this.ctx.getImageData( + 0, + 0, + this.canvas.width, + this.canvas.height + ); + const data = imageData.data; + let maskR = 0, maskG = 0, maskB = 0; + for (let i = 0; i < data.length; i += 4) { + if (data[i + 3] > 0) { + maskR = data[i]; + maskG = data[i + 1]; + maskB = data[i + 2]; + break; + } + } + for (let i = 0; i < data.length; i += 4) { + const alpha = data[i + 3]; + data[i + 3] = 255 - alpha; + if (alpha === 0) { + data[i] = maskR; + data[i + 1] = maskG; + data[i + 2] = maskB; + } + } + this.ctx.putImageData(imageData, 0, 0); + this.messageBroker.publish("saveState"); + } +} +class ColorSelectTool { + static { + __name(this, "ColorSelectTool"); + } + maskEditor; + messageBroker; + width = null; + height = null; + canvas; + maskCTX; + imageCTX; + maskData = null; + imageData = null; + tolerance = 20; + livePreview = false; + lastPoint = null; + colorComparisonMethod = "simple"; + applyWholeImage = false; + maskBoundry = false; + maskTolerance = 0; + constructor(maskEditor) { + this.maskEditor = maskEditor; + this.messageBroker = maskEditor.getMessageBroker(); + this.createListeners(); + this.addPullTopics(); + } + async initColorSelectTool() { + await this.pullCanvas(); + } + async pullCanvas() { + this.canvas = await this.messageBroker.pull("imgCanvas"); + this.maskCTX = await this.messageBroker.pull("maskCtx"); + this.imageCTX = await this.messageBroker.pull("imageCtx"); + } + createListeners() { + this.messageBroker.subscribe( + "colorSelectFill", + (point) => this.fillColorSelection(point) + ); + this.messageBroker.subscribe( + "setColorSelectTolerance", + (tolerance) => this.setTolerance(tolerance) + ); + this.messageBroker.subscribe( + "setLivePreview", + (livePreview) => this.setLivePreview(livePreview) + ); + this.messageBroker.subscribe( + "setColorComparisonMethod", + (method) => this.setComparisonMethod(method) + ); + this.messageBroker.subscribe("clearLastPoint", () => this.clearLastPoint()); + this.messageBroker.subscribe( + "setWholeImage", + (applyWholeImage) => this.setApplyWholeImage(applyWholeImage) + ); + this.messageBroker.subscribe( + "setMaskBoundary", + (maskBoundry) => this.setMaskBoundary(maskBoundry) + ); + this.messageBroker.subscribe( + "setMaskTolerance", + (maskTolerance) => this.setMaskTolerance(maskTolerance) + ); + } + async addPullTopics() { + this.messageBroker.createPullTopic( + "getLivePreview", + async () => this.livePreview + ); + } + getPixel(x, y) { + const index = (y * this.width + x) * 4; + return { + r: this.imageData[index], + g: this.imageData[index + 1], + b: this.imageData[index + 2] + }; + } + getMaskAlpha(x, y) { + return this.maskData[(y * this.width + x) * 4 + 3]; + } + isPixelInRange(pixel, target) { + switch (this.colorComparisonMethod) { + case "simple": + return this.isPixelInRangeSimple(pixel, target); + case "hsl": + return this.isPixelInRangeHSL(pixel, target); + case "lab": + return this.isPixelInRangeLab(pixel, target); + default: + return this.isPixelInRangeSimple(pixel, target); + } + } + isPixelInRangeSimple(pixel, target) { + const distance = Math.sqrt( + Math.pow(pixel.r - target.r, 2) + Math.pow(pixel.g - target.g, 2) + Math.pow(pixel.b - target.b, 2) + ); + return distance <= this.tolerance; + } + isPixelInRangeHSL(pixel, target) { + const pixelHSL = this.rgbToHSL(pixel.r, pixel.g, pixel.b); + const targetHSL = this.rgbToHSL(target.r, target.g, target.b); + const hueDiff = Math.abs(pixelHSL.h - targetHSL.h); + const satDiff = Math.abs(pixelHSL.s - targetHSL.s); + const lightDiff = Math.abs(pixelHSL.l - targetHSL.l); + const distance = Math.sqrt( + Math.pow(hueDiff / 360 * 255, 2) + Math.pow(satDiff / 100 * 255, 2) + Math.pow(lightDiff / 100 * 255, 2) + ); + return distance <= this.tolerance; + } + rgbToHSL(r, g, b) { + r /= 255; + g /= 255; + b /= 255; + const max2 = Math.max(r, g, b); + const min = Math.min(r, g, b); + let h = 0, s = 0, l = (max2 + min) / 2; + if (max2 !== min) { + const d = max2 - min; + s = l > 0.5 ? d / (2 - max2 - min) : d / (max2 + min); + switch (max2) { + case r: + h = (g - b) / d + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / d + 2; + break; + case b: + h = (r - g) / d + 4; + break; + } + h /= 6; + } + return { + h: h * 360, + s: s * 100, + l: l * 100 + }; + } + isPixelInRangeLab(pixel, target) { + const pixelLab = this.rgbToLab(pixel); + const targetLab = this.rgbToLab(target); + const deltaE = Math.sqrt( + Math.pow(pixelLab.l - targetLab.l, 2) + Math.pow(pixelLab.a - targetLab.a, 2) + Math.pow(pixelLab.b - targetLab.b, 2) + ); + const normalizedDeltaE = deltaE / 100 * 255; + return normalizedDeltaE <= this.tolerance; + } + rgbToLab(rgb) { + let r = rgb.r / 255; + let g = rgb.g / 255; + let b = rgb.b / 255; + r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92; + g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92; + b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; + r *= 100; + g *= 100; + b *= 100; + const x = r * 0.4124 + g * 0.3576 + b * 0.1805; + const y = r * 0.2126 + g * 0.7152 + b * 0.0722; + const z = r * 0.0193 + g * 0.1192 + b * 0.9505; + const xn = 95.047; + const yn = 100; + const zn = 108.883; + const xyz = [x / xn, y / yn, z / zn]; + for (let i = 0; i < xyz.length; i++) { + xyz[i] = xyz[i] > 8856e-6 ? Math.pow(xyz[i], 1 / 3) : 7.787 * xyz[i] + 16 / 116; + } + return { + l: 116 * xyz[1] - 16, + a: 500 * (xyz[0] - xyz[1]), + b: 200 * (xyz[1] - xyz[2]) + }; + } + setPixel(x, y, alpha, color) { + const index = (y * this.width + x) * 4; + this.maskData[index] = color.r; + this.maskData[index + 1] = color.g; + this.maskData[index + 2] = color.b; + this.maskData[index + 3] = alpha; + } + async fillColorSelection(point) { + this.width = this.canvas.width; + this.height = this.canvas.height; + this.lastPoint = point; + const maskData = this.maskCTX.getImageData(0, 0, this.width, this.height); + this.maskData = maskData.data; + this.imageData = this.imageCTX.getImageData( + 0, + 0, + this.width, + this.height + ).data; + if (this.applyWholeImage) { + const targetPixel = this.getPixel( + Math.floor(point.x), + Math.floor(point.y) + ); + const maskColor = await this.messageBroker.pull("getMaskColor"); + const width = this.width; + const height = this.height; + const CHUNK_SIZE = 1e4; + for (let i = 0; i < width * height; i += CHUNK_SIZE) { + const endIndex = Math.min(i + CHUNK_SIZE, width * height); + for (let pixelIndex = i; pixelIndex < endIndex; pixelIndex++) { + const x = pixelIndex % width; + const y = Math.floor(pixelIndex / width); + if (this.isPixelInRange(this.getPixel(x, y), targetPixel)) { + this.setPixel(x, y, 255, maskColor); + } + } + await new Promise((resolve) => setTimeout(resolve, 0)); + } + } else { + let startX = Math.floor(point.x); + let startY = Math.floor(point.y); + if (startX < 0 || startX >= this.width || startY < 0 || startY >= this.height) { + return; + } + const pixel = this.getPixel(startX, startY); + const stack = []; + const visited = new Uint8Array(this.width * this.height); + stack.push([startX, startY]); + const maskColor = await this.messageBroker.pull("getMaskColor"); + while (stack.length > 0) { + const [x, y] = stack.pop(); + const visitedIndex = y * this.width + x; + if (visited[visitedIndex] || !this.isPixelInRange(this.getPixel(x, y), pixel)) { + continue; + } + visited[visitedIndex] = 1; + this.setPixel(x, y, 255, maskColor); + if (x > 0 && !visited[y * this.width + (x - 1)] && this.isPixelInRange(this.getPixel(x - 1, y), pixel)) { + if (!this.maskBoundry || 255 - this.getMaskAlpha(x - 1, y) > this.maskTolerance) { + stack.push([x - 1, y]); + } + } + if (x < this.width - 1 && !visited[y * this.width + (x + 1)] && this.isPixelInRange(this.getPixel(x + 1, y), pixel)) { + if (!this.maskBoundry || 255 - this.getMaskAlpha(x + 1, y) > this.maskTolerance) { + stack.push([x + 1, y]); + } + } + if (y > 0 && !visited[(y - 1) * this.width + x] && this.isPixelInRange(this.getPixel(x, y - 1), pixel)) { + if (!this.maskBoundry || 255 - this.getMaskAlpha(x, y - 1) > this.maskTolerance) { + stack.push([x, y - 1]); + } + } + if (y < this.height - 1 && !visited[(y + 1) * this.width + x] && this.isPixelInRange(this.getPixel(x, y + 1), pixel)) { + if (!this.maskBoundry || 255 - this.getMaskAlpha(x, y + 1) > this.maskTolerance) { + stack.push([x, y + 1]); + } + } + } + } + this.maskCTX.putImageData(maskData, 0, 0); + this.messageBroker.publish("saveState"); + this.maskData = null; + this.imageData = null; + } + setTolerance(tolerance) { + this.tolerance = tolerance; + if (this.lastPoint && this.livePreview) { + this.messageBroker.publish("undo"); + this.fillColorSelection(this.lastPoint); + } + } + setLivePreview(livePreview) { + this.livePreview = livePreview; + } + setComparisonMethod(method) { + this.colorComparisonMethod = method; + if (this.lastPoint && this.livePreview) { + this.messageBroker.publish("undo"); + this.fillColorSelection(this.lastPoint); + } + } + clearLastPoint() { + this.lastPoint = null; + } + setApplyWholeImage(applyWholeImage) { + this.applyWholeImage = applyWholeImage; + } + setMaskBoundary(maskBoundry) { + this.maskBoundry = maskBoundry; + } + setMaskTolerance(maskTolerance) { + this.maskTolerance = maskTolerance; + } +} +class BrushTool { + static { + __name(this, "BrushTool"); + } + brushSettings; + //this saves the current brush settings + maskBlendMode; + isDrawing = false; + isDrawingLine = false; + lineStartPoint = null; + smoothingPrecision = 10; + smoothingCordsArray = []; + smoothingLastDrawTime; + maskCtx = null; + initialDraw = true; + brushStrokeCanvas = null; + brushStrokeCtx = null; + //brush adjustment + isBrushAdjusting = false; + brushPreviewGradient = null; + initialPoint = null; + useDominantAxis = false; + brushAdjustmentSpeed = 1; + maskEditor; + messageBroker; + constructor(maskEditor) { + this.maskEditor = maskEditor; + this.messageBroker = maskEditor.getMessageBroker(); + this.createListeners(); + this.addPullTopics(); + this.useDominantAxis = app.extensionManager.setting.get( + "Comfy.MaskEditor.UseDominantAxis" + ); + this.brushAdjustmentSpeed = app.extensionManager.setting.get( + "Comfy.MaskEditor.BrushAdjustmentSpeed" + ); + this.brushSettings = { + size: 10, + opacity: 100, + hardness: 1, + type: "arc" + /* Arc */ + }; + this.maskBlendMode = "black"; + } + createListeners() { + this.messageBroker.subscribe( + "setBrushSize", + (size) => this.setBrushSize(size) + ); + this.messageBroker.subscribe( + "setBrushOpacity", + (opacity) => this.setBrushOpacity(opacity) + ); + this.messageBroker.subscribe( + "setBrushHardness", + (hardness) => this.setBrushHardness(hardness) + ); + this.messageBroker.subscribe( + "setBrushShape", + (type) => this.setBrushType(type) + ); + this.messageBroker.subscribe( + "setBrushSmoothingPrecision", + (precision) => this.setBrushSmoothingPrecision(precision) + ); + this.messageBroker.subscribe( + "brushAdjustmentStart", + (event) => this.startBrushAdjustment(event) + ); + this.messageBroker.subscribe( + "brushAdjustment", + (event) => this.handleBrushAdjustment(event) + ); + this.messageBroker.subscribe( + "drawStart", + (event) => this.startDrawing(event) + ); + this.messageBroker.subscribe( + "draw", + (event) => this.handleDrawing(event) + ); + this.messageBroker.subscribe( + "drawEnd", + (event) => this.drawEnd(event) + ); + } + addPullTopics() { + this.messageBroker.createPullTopic( + "brushSize", + async () => this.brushSettings.size + ); + this.messageBroker.createPullTopic( + "brushOpacity", + async () => this.brushSettings.opacity + ); + this.messageBroker.createPullTopic( + "brushHardness", + async () => this.brushSettings.hardness + ); + this.messageBroker.createPullTopic( + "brushType", + async () => this.brushSettings.type + ); + this.messageBroker.createPullTopic( + "maskBlendMode", + async () => this.maskBlendMode + ); + this.messageBroker.createPullTopic( + "brushSettings", + async () => this.brushSettings + ); + } + async createBrushStrokeCanvas() { + if (this.brushStrokeCanvas !== null) { + return; + } + const maskCanvas = await this.messageBroker.pull("maskCanvas"); + const canvas = document.createElement("canvas"); + canvas.width = maskCanvas.width; + canvas.height = maskCanvas.height; + this.brushStrokeCanvas = canvas; + this.brushStrokeCtx = canvas.getContext("2d"); + } + async startDrawing(event) { + this.isDrawing = true; + let compositionOp; + let currentTool = await this.messageBroker.pull("currentTool"); + let coords = { x: event.offsetX, y: event.offsetY }; + let coords_canvas = await this.messageBroker.pull("screenToCanvas", coords); + await this.createBrushStrokeCanvas(); + if (currentTool === "eraser" || event.buttons == 2) { + compositionOp = "destination-out"; + } else { + compositionOp = "source-over"; + } + if (event.shiftKey && this.lineStartPoint) { + this.isDrawingLine = true; + this.drawLine(this.lineStartPoint, coords_canvas, compositionOp); + } else { + this.isDrawingLine = false; + this.init_shape(compositionOp); + this.draw_shape(coords_canvas); + } + this.lineStartPoint = coords_canvas; + this.smoothingCordsArray = [coords_canvas]; + this.smoothingLastDrawTime = /* @__PURE__ */ new Date(); + } + async handleDrawing(event) { + var diff = performance.now() - this.smoothingLastDrawTime.getTime(); + let coords = { x: event.offsetX, y: event.offsetY }; + let coords_canvas = await this.messageBroker.pull("screenToCanvas", coords); + let currentTool = await this.messageBroker.pull("currentTool"); + if (diff > 20 && !this.isDrawing) + requestAnimationFrame(() => { + this.init_shape( + "source-over" + /* SourceOver */ + ); + this.draw_shape(coords_canvas); + this.smoothingCordsArray.push(coords_canvas); + }); + else + requestAnimationFrame(() => { + if (currentTool === "eraser" || event.buttons == 2) { + this.init_shape( + "destination-out" + /* DestinationOut */ + ); + } else { + this.init_shape( + "source-over" + /* SourceOver */ + ); + } + this.drawWithBetterSmoothing(coords_canvas); + }); + this.smoothingLastDrawTime = /* @__PURE__ */ new Date(); + } + async drawEnd(event) { + const coords = { x: event.offsetX, y: event.offsetY }; + const coords_canvas = await this.messageBroker.pull( + "screenToCanvas", + coords + ); + if (this.isDrawing) { + this.isDrawing = false; + this.messageBroker.publish("saveState"); + this.lineStartPoint = coords_canvas; + this.initialDraw = true; + } + } + drawWithBetterSmoothing(point) { + if (!this.smoothingCordsArray) { + this.smoothingCordsArray = []; + } + const opacityConstant = 1 / (1 + Math.exp(3)); + const interpolatedOpacity = 1 / (1 + Math.exp(-6 * (this.brushSettings.opacity - 0.5))) - opacityConstant; + this.smoothingCordsArray.push(point); + const POINTS_NR = 5; + if (this.smoothingCordsArray.length < POINTS_NR) { + return; + } + let totalLength = 0; + const points = this.smoothingCordsArray; + const len = points.length - 1; + let dx, dy; + for (let i = 0; i < len; i++) { + dx = points[i + 1].x - points[i].x; + dy = points[i + 1].y - points[i].y; + totalLength += Math.sqrt(dx * dx + dy * dy); + } + const distanceBetweenPoints = this.brushSettings.size / this.smoothingPrecision * 6; + const stepNr = Math.ceil(totalLength / distanceBetweenPoints); + let interpolatedPoints = points; + if (stepNr > 0) { + interpolatedPoints = this.generateEquidistantPoints( + this.smoothingCordsArray, + distanceBetweenPoints + // Distance between interpolated points + ); + } + if (!this.initialDraw) { + const spliceIndex = interpolatedPoints.findIndex( + (point2) => point2.x === this.smoothingCordsArray[2].x && point2.y === this.smoothingCordsArray[2].y + ); + if (spliceIndex !== -1) { + interpolatedPoints = interpolatedPoints.slice(spliceIndex + 1); + } + } + for (const point2 of interpolatedPoints) { + this.draw_shape(point2, interpolatedOpacity); + } + if (!this.initialDraw) { + this.smoothingCordsArray = this.smoothingCordsArray.slice(2); + } else { + this.initialDraw = false; + } + } + async drawLine(p1, p2, compositionOp) { + const brush_size = await this.messageBroker.pull("brushSize"); + const distance = Math.sqrt((p2.x - p1.x) ** 2 + (p2.y - p1.y) ** 2); + const steps = Math.ceil( + distance / (brush_size / this.smoothingPrecision * 4) + ); + const interpolatedOpacity = 1 / (1 + Math.exp(-6 * (this.brushSettings.opacity - 0.5))) - 1 / (1 + Math.exp(3)); + this.init_shape(compositionOp); + for (let i = 0; i <= steps; i++) { + const t2 = i / steps; + const x = p1.x + (p2.x - p1.x) * t2; + const y = p1.y + (p2.y - p1.y) * t2; + const point = { x, y }; + this.draw_shape(point, interpolatedOpacity); + } + } + //brush adjustment + async startBrushAdjustment(event) { + event.preventDefault(); + const coords = { x: event.offsetX, y: event.offsetY }; + let coords_canvas = await this.messageBroker.pull("screenToCanvas", coords); + this.messageBroker.publish("setBrushPreviewGradientVisibility", true); + this.initialPoint = coords_canvas; + this.isBrushAdjusting = true; + return; + } + async handleBrushAdjustment(event) { + const coords = { x: event.offsetX, y: event.offsetY }; + const brushDeadZone = 5; + let coords_canvas = await this.messageBroker.pull("screenToCanvas", coords); + const delta_x = coords_canvas.x - this.initialPoint.x; + const delta_y = coords_canvas.y - this.initialPoint.y; + const effectiveDeltaX = Math.abs(delta_x) < brushDeadZone ? 0 : delta_x; + const effectiveDeltaY = Math.abs(delta_y) < brushDeadZone ? 0 : delta_y; + let finalDeltaX = effectiveDeltaX; + let finalDeltaY = effectiveDeltaY; + console.log(this.useDominantAxis); + if (this.useDominantAxis) { + const ratio = Math.abs(effectiveDeltaX) / Math.abs(effectiveDeltaY); + const threshold = 2; + if (ratio > threshold) { + finalDeltaY = 0; + } else if (ratio < 1 / threshold) { + finalDeltaX = 0; + } + } + const cappedDeltaX = Math.max(-100, Math.min(100, finalDeltaX)); + const cappedDeltaY = Math.max(-100, Math.min(100, finalDeltaY)); + const sizeDelta = cappedDeltaX / 40; + const hardnessDelta = cappedDeltaY / 800; + const newSize = Math.max( + 1, + Math.min( + 100, + this.brushSettings.size + cappedDeltaX / 35 * this.brushAdjustmentSpeed + ) + ); + const newHardness = Math.max( + 0, + Math.min( + 1, + this.brushSettings.hardness - cappedDeltaY / 4e3 * this.brushAdjustmentSpeed + ) + ); + this.brushSettings.size = newSize; + this.brushSettings.hardness = newHardness; + this.messageBroker.publish("updateBrushPreview"); + } + //helper functions + async draw_shape(point, overrideOpacity) { + const brushSettings = this.brushSettings; + const maskCtx = this.maskCtx || await this.messageBroker.pull("maskCtx"); + const brushType = await this.messageBroker.pull("brushType"); + const maskColor = await this.messageBroker.pull("getMaskColor"); + const size = brushSettings.size; + const sliderOpacity = brushSettings.opacity; + const opacity = overrideOpacity == void 0 ? sliderOpacity : overrideOpacity; + const hardness = brushSettings.hardness; + const x = point.x; + const y = point.y; + const extendedSize = size * (2 - hardness); + let gradient = maskCtx.createRadialGradient(x, y, 0, x, y, extendedSize); + const isErasing = maskCtx.globalCompositeOperation === "destination-out"; + if (hardness === 1) { + console.log(sliderOpacity, opacity); + gradient.addColorStop( + 0, + isErasing ? `rgba(255, 255, 255, ${opacity})` : `rgba(${maskColor.r}, ${maskColor.g}, ${maskColor.b}, ${opacity})` + ); + gradient.addColorStop( + 1, + isErasing ? `rgba(255, 255, 255, ${opacity})` : `rgba(${maskColor.r}, ${maskColor.g}, ${maskColor.b}, ${opacity})` + ); + } else { + let softness = 1 - hardness; + let innerStop = Math.max(0, hardness - softness); + let outerStop = size / extendedSize; + if (isErasing) { + gradient.addColorStop(0, `rgba(255, 255, 255, ${opacity})`); + gradient.addColorStop(innerStop, `rgba(255, 255, 255, ${opacity})`); + gradient.addColorStop(outerStop, `rgba(255, 255, 255, ${opacity / 2})`); + gradient.addColorStop(1, `rgba(255, 255, 255, 0)`); + } else { + gradient.addColorStop( + 0, + `rgba(${maskColor.r}, ${maskColor.g}, ${maskColor.b}, ${opacity})` + ); + gradient.addColorStop( + innerStop, + `rgba(${maskColor.r}, ${maskColor.g}, ${maskColor.b}, ${opacity})` + ); + gradient.addColorStop( + outerStop, + `rgba(${maskColor.r}, ${maskColor.g}, ${maskColor.b}, ${opacity / 2})` + ); + gradient.addColorStop( + 1, + `rgba(${maskColor.r}, ${maskColor.g}, ${maskColor.b}, 0)` + ); + } + } + maskCtx.fillStyle = gradient; + maskCtx.beginPath(); + if (brushType === "rect") { + maskCtx.rect( + x - extendedSize, + y - extendedSize, + extendedSize * 2, + extendedSize * 2 + ); + } else { + maskCtx.arc(x, y, extendedSize, 0, Math.PI * 2, false); + } + maskCtx.fill(); + } + async init_shape(compositionOperation) { + const maskBlendMode = await this.messageBroker.pull("maskBlendMode"); + const maskCtx = this.maskCtx || await this.messageBroker.pull("maskCtx"); + maskCtx.beginPath(); + if (compositionOperation == "source-over") { + maskCtx.fillStyle = maskBlendMode; + maskCtx.globalCompositeOperation = "source-over"; + } else if (compositionOperation == "destination-out") { + maskCtx.globalCompositeOperation = "destination-out"; + } + } + calculateCubicSplinePoints(points, numSegments = 10) { + const result = []; + const xCoords = points.map((p) => p.x); + const yCoords = points.map((p) => p.y); + const xDerivatives = this.calculateSplineCoefficients(xCoords); + const yDerivatives = this.calculateSplineCoefficients(yCoords); + for (let i = 0; i < points.length - 1; i++) { + const p0 = points[i]; + const p1 = points[i + 1]; + const d0x = xDerivatives[i]; + const d1x = xDerivatives[i + 1]; + const d0y = yDerivatives[i]; + const d1y = yDerivatives[i + 1]; + for (let t2 = 0; t2 <= numSegments; t2++) { + const t_normalized = t2 / numSegments; + const h00 = 2 * t_normalized ** 3 - 3 * t_normalized ** 2 + 1; + const h10 = t_normalized ** 3 - 2 * t_normalized ** 2 + t_normalized; + const h01 = -2 * t_normalized ** 3 + 3 * t_normalized ** 2; + const h11 = t_normalized ** 3 - t_normalized ** 2; + const x = h00 * p0.x + h10 * d0x + h01 * p1.x + h11 * d1x; + const y = h00 * p0.y + h10 * d0y + h01 * p1.y + h11 * d1y; + result.push({ x, y }); + } + } + return result; + } + generateEvenlyDistributedPoints(splinePoints, numPoints) { + const distances = [0]; + for (let i = 1; i < splinePoints.length; i++) { + const dx = splinePoints[i].x - splinePoints[i - 1].x; + const dy = splinePoints[i].y - splinePoints[i - 1].y; + const dist = Math.hypot(dx, dy); + distances.push(distances[i - 1] + dist); + } + const totalLength = distances[distances.length - 1]; + const interval = totalLength / (numPoints - 1); + const result = []; + let currentIndex = 0; + for (let i = 0; i < numPoints; i++) { + const targetDistance = i * interval; + while (currentIndex < distances.length - 1 && distances[currentIndex + 1] < targetDistance) { + currentIndex++; + } + const t2 = (targetDistance - distances[currentIndex]) / (distances[currentIndex + 1] - distances[currentIndex]); + const x = splinePoints[currentIndex].x + t2 * (splinePoints[currentIndex + 1].x - splinePoints[currentIndex].x); + const y = splinePoints[currentIndex].y + t2 * (splinePoints[currentIndex + 1].y - splinePoints[currentIndex].y); + result.push({ x, y }); + } + return result; + } + generateEquidistantPoints(points, distance) { + const result = []; + const cumulativeDistances = [0]; + for (let i = 1; i < points.length; i++) { + const dx = points[i].x - points[i - 1].x; + const dy = points[i].y - points[i - 1].y; + const dist = Math.hypot(dx, dy); + cumulativeDistances[i] = cumulativeDistances[i - 1] + dist; + } + const totalLength = cumulativeDistances[cumulativeDistances.length - 1]; + const numPoints = Math.floor(totalLength / distance); + for (let i = 0; i <= numPoints; i++) { + const targetDistance = i * distance; + let idx = 0; + while (idx < cumulativeDistances.length - 1 && cumulativeDistances[idx + 1] < targetDistance) { + idx++; + } + if (idx >= points.length - 1) { + result.push(points[points.length - 1]); + continue; + } + const d0 = cumulativeDistances[idx]; + const d1 = cumulativeDistances[idx + 1]; + const t2 = (targetDistance - d0) / (d1 - d0); + const x = points[idx].x + t2 * (points[idx + 1].x - points[idx].x); + const y = points[idx].y + t2 * (points[idx + 1].y - points[idx].y); + result.push({ x, y }); + } + return result; + } + calculateSplineCoefficients(values) { + const n = values.length - 1; + const matrix = new Array(n + 1).fill(0).map(() => new Array(n + 1).fill(0)); + const rhs = new Array(n + 1).fill(0); + for (let i = 1; i < n; i++) { + matrix[i][i - 1] = 1; + matrix[i][i] = 4; + matrix[i][i + 1] = 1; + rhs[i] = 3 * (values[i + 1] - values[i - 1]); + } + matrix[0][0] = 2; + matrix[0][1] = 1; + matrix[n][n - 1] = 1; + matrix[n][n] = 2; + rhs[0] = 3 * (values[1] - values[0]); + rhs[n] = 3 * (values[n] - values[n - 1]); + for (let i = 1; i <= n; i++) { + const m = matrix[i][i - 1] / matrix[i - 1][i - 1]; + matrix[i][i] -= m * matrix[i - 1][i]; + rhs[i] -= m * rhs[i - 1]; + } + const solution = new Array(n + 1); + solution[n] = rhs[n] / matrix[n][n]; + for (let i = n - 1; i >= 0; i--) { + solution[i] = (rhs[i] - matrix[i][i + 1] * solution[i + 1]) / matrix[i][i]; + } + return solution; + } + setBrushSize(size) { + this.brushSettings.size = size; + } + setBrushOpacity(opacity) { + this.brushSettings.opacity = opacity; + } + setBrushHardness(hardness) { + this.brushSettings.hardness = hardness; + } + setBrushType(type) { + this.brushSettings.type = type; + } + setBrushSmoothingPrecision(precision) { + this.smoothingPrecision = precision; + } +} +class UIManager { + static { + __name(this, "UIManager"); + } + rootElement; + brush; + brushPreviewGradient; + maskCtx; + imageCtx; + maskCanvas; + imgCanvas; + brushSettingsHTML; + paintBucketSettingsHTML; + colorSelectSettingsHTML; + maskOpacitySlider; + brushHardnessSlider; + brushSizeSlider; + brushOpacitySlider; + sidebarImage; + saveButton; + toolPanel; + sidePanel; + pointerZone; + canvasBackground; + canvasContainer; + image; + imageURL; + darkMode = true; + maskEditor; + messageBroker; + mask_opacity = 1; + maskBlendMode = "black"; + zoomTextHTML; + dimensionsTextHTML; + constructor(rootElement, maskEditor) { + this.rootElement = rootElement; + this.maskEditor = maskEditor; + this.messageBroker = maskEditor.getMessageBroker(); + this.addListeners(); + this.addPullTopics(); + } + addListeners() { + this.messageBroker.subscribe( + "updateBrushPreview", + async () => this.updateBrushPreview() + ); + this.messageBroker.subscribe( + "paintBucketCursor", + (isPaintBucket) => this.handlePaintBucketCursor(isPaintBucket) + ); + this.messageBroker.subscribe( + "panCursor", + (isPan) => this.handlePanCursor(isPan) + ); + this.messageBroker.subscribe( + "setBrushVisibility", + (isVisible) => this.setBrushVisibility(isVisible) + ); + this.messageBroker.subscribe( + "setBrushPreviewGradientVisibility", + (isVisible) => this.setBrushPreviewGradientVisibility(isVisible) + ); + this.messageBroker.subscribe("updateCursor", () => this.updateCursor()); + this.messageBroker.subscribe( + "setZoomText", + (text) => this.setZoomText(text) + ); + } + addPullTopics() { + this.messageBroker.createPullTopic( + "maskCanvas", + async () => this.maskCanvas + ); + this.messageBroker.createPullTopic("maskCtx", async () => this.maskCtx); + this.messageBroker.createPullTopic("imageCtx", async () => this.imageCtx); + this.messageBroker.createPullTopic("imgCanvas", async () => this.imgCanvas); + this.messageBroker.createPullTopic( + "screenToCanvas", + async (coords) => this.screenToCanvas(coords) + ); + this.messageBroker.createPullTopic( + "getCanvasContainer", + async () => this.canvasContainer + ); + this.messageBroker.createPullTopic( + "getMaskColor", + async () => this.getMaskColor() + ); + } + async setlayout() { + this.detectLightMode(); + var user_ui = await this.createUI(); + var canvasContainer = this.createBackgroundUI(); + var brush = await this.createBrush(); + await this.setBrushBorderRadius(); + this.setBrushOpacity(1); + this.rootElement.appendChild(canvasContainer); + this.rootElement.appendChild(user_ui); + document.body.appendChild(brush); + } + async createUI() { + var ui_container = document.createElement("div"); + ui_container.id = "maskEditor_uiContainer"; + var top_bar = await this.createTopBar(); + var ui_horizontal_container = document.createElement("div"); + ui_horizontal_container.id = "maskEditor_uiHorizontalContainer"; + var side_panel_container = await this.createSidePanel(); + var pointer_zone = this.createPointerZone(); + var tool_panel = this.createToolPanel(); + ui_horizontal_container.appendChild(tool_panel); + ui_horizontal_container.appendChild(pointer_zone); + ui_horizontal_container.appendChild(side_panel_container); + ui_container.appendChild(top_bar); + ui_container.appendChild(ui_horizontal_container); + return ui_container; + } + createBackgroundUI() { + const canvasContainer = document.createElement("div"); + canvasContainer.id = "maskEditorCanvasContainer"; + const imgCanvas = document.createElement("canvas"); + imgCanvas.id = "imageCanvas"; + const maskCanvas = document.createElement("canvas"); + maskCanvas.id = "maskCanvas"; + const canvas_background = document.createElement("div"); + canvas_background.id = "canvasBackground"; + canvasContainer.appendChild(imgCanvas); + canvasContainer.appendChild(maskCanvas); + canvasContainer.appendChild(canvas_background); + this.imgCanvas = imgCanvas; + this.maskCanvas = maskCanvas; + this.canvasContainer = canvasContainer; + this.canvasBackground = canvas_background; + let maskCtx = maskCanvas.getContext("2d", { willReadFrequently: true }); + if (maskCtx) { + this.maskCtx = maskCtx; + } + let imgCtx = imgCanvas.getContext("2d", { willReadFrequently: true }); + if (imgCtx) { + this.imageCtx = imgCtx; + } + this.setEventHandler(); + this.imgCanvas.style.position = "absolute"; + this.maskCanvas.style.position = "absolute"; + this.imgCanvas.style.top = "200"; + this.imgCanvas.style.left = "0"; + this.maskCanvas.style.top = this.imgCanvas.style.top; + this.maskCanvas.style.left = this.imgCanvas.style.left; + const maskCanvasStyle = this.getMaskCanvasStyle(); + this.maskCanvas.style.mixBlendMode = maskCanvasStyle.mixBlendMode; + this.maskCanvas.style.opacity = maskCanvasStyle.opacity.toString(); + return canvasContainer; + } + async setBrushBorderRadius() { + const brushSettings = await this.messageBroker.pull("brushSettings"); + if (brushSettings.type === "rect") { + this.brush.style.borderRadius = "0%"; + this.brush.style.MozBorderRadius = "0%"; + this.brush.style.WebkitBorderRadius = "0%"; + } else { + this.brush.style.borderRadius = "50%"; + this.brush.style.MozBorderRadius = "50%"; + this.brush.style.WebkitBorderRadius = "50%"; + } + } + async initUI() { + this.saveButton.innerText = "Save"; + this.saveButton.disabled = false; + await this.setImages(this.imgCanvas); + } + async createSidePanel() { + const side_panel = this.createContainer(true); + side_panel.id = "maskEditor_sidePanel"; + const brush_settings = await this.createBrushSettings(); + brush_settings.id = "maskEditor_brushSettings"; + this.brushSettingsHTML = brush_settings; + const paint_bucket_settings = await this.createPaintBucketSettings(); + paint_bucket_settings.id = "maskEditor_paintBucketSettings"; + this.paintBucketSettingsHTML = paint_bucket_settings; + const color_select_settings = await this.createColorSelectSettings(); + color_select_settings.id = "maskEditor_colorSelectSettings"; + this.colorSelectSettingsHTML = color_select_settings; + const image_layer_settings = await this.createImageLayerSettings(); + const separator = this.createSeparator(); + side_panel.appendChild(brush_settings); + side_panel.appendChild(paint_bucket_settings); + side_panel.appendChild(color_select_settings); + side_panel.appendChild(separator); + side_panel.appendChild(image_layer_settings); + return side_panel; + } + async createBrushSettings() { + const shapeColor = this.darkMode ? "maskEditor_brushShape_dark" : "maskEditor_brushShape_light"; + const brush_settings_container = this.createContainer(true); + const brush_settings_title = this.createHeadline("Brush Settings"); + const brush_shape_outer_container = this.createContainer(true); + const brush_shape_title = this.createContainerTitle("Brush Shape"); + const brush_shape_container = this.createContainer(false); + const accentColor = this.darkMode ? "maskEditor_accent_bg_dark" : "maskEditor_accent_bg_light"; + brush_shape_container.classList.add(accentColor); + brush_shape_container.classList.add("maskEditor_layerRow"); + const circle_shape = document.createElement("div"); + circle_shape.id = "maskEditor_sidePanelBrushShapeCircle"; + circle_shape.classList.add(shapeColor); + circle_shape.style.background = "var(--p-button-text-primary-color)"; + circle_shape.addEventListener("click", () => { + this.messageBroker.publish( + "setBrushShape", + "arc" + /* Arc */ + ); + this.setBrushBorderRadius(); + circle_shape.style.background = "var(--p-button-text-primary-color)"; + square_shape.style.background = ""; + }); + const square_shape = document.createElement("div"); + square_shape.id = "maskEditor_sidePanelBrushShapeSquare"; + square_shape.classList.add(shapeColor); + square_shape.style.background = ""; + square_shape.addEventListener("click", () => { + this.messageBroker.publish( + "setBrushShape", + "rect" + /* Rect */ + ); + this.setBrushBorderRadius(); + square_shape.style.background = "var(--p-button-text-primary-color)"; + circle_shape.style.background = ""; + }); + brush_shape_container.appendChild(circle_shape); + brush_shape_container.appendChild(square_shape); + brush_shape_outer_container.appendChild(brush_shape_title); + brush_shape_outer_container.appendChild(brush_shape_container); + const thicknesSliderObj = this.createSlider( + "Thickness", + 1, + 100, + 1, + 10, + (event, value) => { + this.messageBroker.publish("setBrushSize", parseInt(value)); + this.updateBrushPreview(); + } + ); + this.brushSizeSlider = thicknesSliderObj.slider; + const opacitySliderObj = this.createSlider( + "Opacity", + 0, + 1, + 0.01, + 0.7, + (event, value) => { + this.messageBroker.publish("setBrushOpacity", parseFloat(value)); + this.updateBrushPreview(); + } + ); + this.brushOpacitySlider = opacitySliderObj.slider; + const hardnessSliderObj = this.createSlider( + "Hardness", + 0, + 1, + 0.01, + 1, + (event, value) => { + this.messageBroker.publish("setBrushHardness", parseFloat(value)); + this.updateBrushPreview(); + } + ); + this.brushHardnessSlider = hardnessSliderObj.slider; + const brushSmoothingPrecisionSliderObj = this.createSlider( + "Smoothing Precision", + 1, + 100, + 1, + 10, + (event, value) => { + this.messageBroker.publish( + "setBrushSmoothingPrecision", + parseInt(value) + ); + } + ); + brush_settings_container.appendChild(brush_settings_title); + brush_settings_container.appendChild(brush_shape_outer_container); + brush_settings_container.appendChild(thicknesSliderObj.container); + brush_settings_container.appendChild(opacitySliderObj.container); + brush_settings_container.appendChild(hardnessSliderObj.container); + brush_settings_container.appendChild( + brushSmoothingPrecisionSliderObj.container + ); + return brush_settings_container; + } + async createPaintBucketSettings() { + const paint_bucket_settings_container = this.createContainer(true); + const paint_bucket_settings_title = this.createHeadline( + "Paint Bucket Settings" + ); + const tolerance = await this.messageBroker.pull("getTolerance"); + const paintBucketToleranceSliderObj = this.createSlider( + "Tolerance", + 0, + 255, + 1, + tolerance, + (event, value) => { + this.messageBroker.publish("setPaintBucketTolerance", parseInt(value)); + } + ); + paint_bucket_settings_container.appendChild(paint_bucket_settings_title); + paint_bucket_settings_container.appendChild( + paintBucketToleranceSliderObj.container + ); + return paint_bucket_settings_container; + } + async createColorSelectSettings() { + const color_select_settings_container = this.createContainer(true); + const color_select_settings_title = this.createHeadline( + "Color Select Settings" + ); + var tolerance = await this.messageBroker.pull("getTolerance"); + const colorSelectToleranceSliderObj = this.createSlider( + "Tolerance", + 0, + 255, + 1, + tolerance, + (event, value) => { + this.messageBroker.publish("setColorSelectTolerance", parseInt(value)); + } + ); + const livePreviewToggle = this.createToggle( + "Live Preview", + (event, value) => { + this.messageBroker.publish("setLivePreview", value); + } + ); + const wholeImageToggle = this.createToggle( + "Apply to Whole Image", + (event, value) => { + this.messageBroker.publish("setWholeImage", value); + } + ); + const methodOptions = Object.values(ColorComparisonMethod); + const methodSelect = this.createDropdown( + "Method", + methodOptions, + (event, value) => { + this.messageBroker.publish("setColorComparisonMethod", value); + } + ); + const maskBoundaryToggle = this.createToggle( + "Stop at mask", + (event, value) => { + this.messageBroker.publish("setMaskBoundary", value); + } + ); + const maskToleranceSliderObj = this.createSlider( + "Mask Tolerance", + 0, + 255, + 1, + 0, + (event, value) => { + this.messageBroker.publish("setMaskTolerance", parseInt(value)); + } + ); + color_select_settings_container.appendChild(color_select_settings_title); + color_select_settings_container.appendChild( + colorSelectToleranceSliderObj.container + ); + color_select_settings_container.appendChild(livePreviewToggle); + color_select_settings_container.appendChild(wholeImageToggle); + color_select_settings_container.appendChild(methodSelect); + color_select_settings_container.appendChild(maskBoundaryToggle); + color_select_settings_container.appendChild( + maskToleranceSliderObj.container + ); + return color_select_settings_container; + } + async createImageLayerSettings() { + const accentColor = this.darkMode ? "maskEditor_accent_bg_dark" : "maskEditor_accent_bg_light"; + const image_layer_settings_container = this.createContainer(true); + const image_layer_settings_title = this.createHeadline("Layers"); + const mask_layer_title = this.createContainerTitle("Mask Layer"); + const mask_layer_container = this.createContainer(false); + mask_layer_container.classList.add(accentColor); + mask_layer_container.classList.add("maskEditor_layerRow"); + const mask_layer_visibility_checkbox = document.createElement("input"); + mask_layer_visibility_checkbox.setAttribute("type", "checkbox"); + mask_layer_visibility_checkbox.checked = true; + mask_layer_visibility_checkbox.classList.add( + "maskEditor_sidePanelLayerCheckbox" + ); + mask_layer_visibility_checkbox.addEventListener("change", (event) => { + if (!event.target.checked) { + this.maskCanvas.style.opacity = "0"; + } else { + this.maskCanvas.style.opacity = String(this.mask_opacity); + } + }); + var mask_layer_image_container = document.createElement("div"); + mask_layer_image_container.classList.add( + "maskEditor_sidePanelLayerPreviewContainer" + ); + mask_layer_image_container.innerHTML = ' '; + var blending_options = ["black", "white", "negative"]; + const sidePanelDropdownAccent = this.darkMode ? "maskEditor_sidePanelDropdown_dark" : "maskEditor_sidePanelDropdown_light"; + var mask_layer_dropdown = document.createElement("select"); + mask_layer_dropdown.classList.add(sidePanelDropdownAccent); + mask_layer_dropdown.classList.add(sidePanelDropdownAccent); + blending_options.forEach((option) => { + var option_element = document.createElement("option"); + option_element.value = option; + option_element.innerText = option; + mask_layer_dropdown.appendChild(option_element); + if (option == this.maskBlendMode) { + option_element.selected = true; + } + }); + mask_layer_dropdown.addEventListener("change", (event) => { + const selectedValue = event.target.value; + this.maskBlendMode = selectedValue; + this.updateMaskColor(); + }); + mask_layer_container.appendChild(mask_layer_visibility_checkbox); + mask_layer_container.appendChild(mask_layer_image_container); + mask_layer_container.appendChild(mask_layer_dropdown); + const mask_layer_opacity_sliderObj = this.createSlider( + "Mask Opacity", + 0, + 1, + 0.01, + this.mask_opacity, + (event, value) => { + this.mask_opacity = parseFloat(value); + this.maskCanvas.style.opacity = String(this.mask_opacity); + if (this.mask_opacity == 0) { + mask_layer_visibility_checkbox.checked = false; + } else { + mask_layer_visibility_checkbox.checked = true; + } + } + ); + this.maskOpacitySlider = mask_layer_opacity_sliderObj.slider; + const image_layer_title = this.createContainerTitle("Image Layer"); + const image_layer_container = this.createContainer(false); + image_layer_container.classList.add(accentColor); + image_layer_container.classList.add("maskEditor_layerRow"); + const image_layer_visibility_checkbox = document.createElement("input"); + image_layer_visibility_checkbox.setAttribute("type", "checkbox"); + image_layer_visibility_checkbox.classList.add( + "maskEditor_sidePanelLayerCheckbox" + ); + image_layer_visibility_checkbox.checked = true; + image_layer_visibility_checkbox.addEventListener("change", (event) => { + if (!event.target.checked) { + this.imgCanvas.style.opacity = "0"; + } else { + this.imgCanvas.style.opacity = "1"; + } + }); + const image_layer_image_container = document.createElement("div"); + image_layer_image_container.classList.add( + "maskEditor_sidePanelLayerPreviewContainer" + ); + const image_layer_image = document.createElement("img"); + image_layer_image.id = "maskEditor_sidePanelImageLayerImage"; + image_layer_image.src = ComfyApp.clipspace?.imgs?.[ComfyApp.clipspace?.selectedIndex ?? 0]?.src ?? ""; + this.sidebarImage = image_layer_image; + image_layer_image_container.appendChild(image_layer_image); + image_layer_container.appendChild(image_layer_visibility_checkbox); + image_layer_container.appendChild(image_layer_image_container); + image_layer_settings_container.appendChild(image_layer_settings_title); + image_layer_settings_container.appendChild(mask_layer_title); + image_layer_settings_container.appendChild(mask_layer_container); + image_layer_settings_container.appendChild( + mask_layer_opacity_sliderObj.container + ); + image_layer_settings_container.appendChild(image_layer_title); + image_layer_settings_container.appendChild(image_layer_container); + return image_layer_settings_container; + } + createHeadline(title) { + var headline = document.createElement("h3"); + headline.classList.add("maskEditor_sidePanelTitle"); + headline.innerText = title; + return headline; + } + createContainer(flexDirection) { + var container = document.createElement("div"); + if (flexDirection) { + container.classList.add("maskEditor_sidePanelContainerColumn"); + } else { + container.classList.add("maskEditor_sidePanelContainerRow"); + } + return container; + } + createContainerTitle(title) { + var container_title = document.createElement("span"); + container_title.classList.add("maskEditor_sidePanelSubTitle"); + container_title.innerText = title; + return container_title; + } + createSlider(title, min, max2, step, value, callback) { + var slider_container = this.createContainer(true); + var slider_title = this.createContainerTitle(title); + var slider = document.createElement("input"); + slider.classList.add("maskEditor_sidePanelBrushRange"); + slider.setAttribute("type", "range"); + slider.setAttribute("min", String(min)); + slider.setAttribute("max", String(max2)); + slider.setAttribute("step", String(step)); + slider.setAttribute("value", String(value)); + slider.addEventListener("input", (event) => { + callback(event, event.target.value); + }); + slider_container.appendChild(slider_title); + slider_container.appendChild(slider); + return { container: slider_container, slider }; + } + createToggle(title, callback) { + var outer_Container = this.createContainer(false); + var toggle_title = this.createContainerTitle(title); + var toggle_container = document.createElement("label"); + toggle_container.classList.add("maskEditor_sidePanelToggleContainer"); + var toggle_checkbox = document.createElement("input"); + toggle_checkbox.setAttribute("type", "checkbox"); + toggle_checkbox.classList.add("maskEditor_sidePanelToggleCheckbox"); + toggle_checkbox.addEventListener("change", (event) => { + callback(event, event.target.checked); + }); + var toggleAccentColor = this.darkMode ? "maskEditor_toggle_bg_dark" : "maskEditor_toggle_bg_light"; + var toggle_switch = document.createElement("div"); + toggle_switch.classList.add("maskEditor_sidePanelToggleSwitch"); + toggle_switch.classList.add(toggleAccentColor); + toggle_container.appendChild(toggle_checkbox); + toggle_container.appendChild(toggle_switch); + outer_Container.appendChild(toggle_title); + outer_Container.appendChild(toggle_container); + return outer_Container; + } + createDropdown(title, options, callback) { + const sidePanelDropdownAccent = this.darkMode ? "maskEditor_sidePanelDropdown_dark" : "maskEditor_sidePanelDropdown_light"; + var dropdown_container = this.createContainer(false); + var dropdown_title = this.createContainerTitle(title); + var dropdown = document.createElement("select"); + dropdown.classList.add(sidePanelDropdownAccent); + dropdown.classList.add("maskEditor_containerDropdown"); + options.forEach((option) => { + var option_element = document.createElement("option"); + option_element.value = option; + option_element.innerText = option; + dropdown.appendChild(option_element); + }); + dropdown.addEventListener("change", (event) => { + callback(event, event.target.value); + }); + dropdown_container.appendChild(dropdown_title); + dropdown_container.appendChild(dropdown); + return dropdown_container; + } + createSeparator() { + var separator = document.createElement("div"); + separator.classList.add("maskEditor_sidePanelSeparator"); + return separator; + } + //---------------- + async createTopBar() { + const buttonAccentColor = this.darkMode ? "maskEditor_topPanelButton_dark" : "maskEditor_topPanelButton_light"; + const iconButtonAccentColor = this.darkMode ? "maskEditor_topPanelIconButton_dark" : "maskEditor_topPanelIconButton_light"; + var top_bar = document.createElement("div"); + top_bar.id = "maskEditor_topBar"; + var top_bar_title_container = document.createElement("div"); + top_bar_title_container.id = "maskEditor_topBarTitleContainer"; + var top_bar_title = document.createElement("h1"); + top_bar_title.id = "maskEditor_topBarTitle"; + top_bar_title.innerText = "ComfyUI"; + top_bar_title_container.appendChild(top_bar_title); + var top_bar_shortcuts_container = document.createElement("div"); + top_bar_shortcuts_container.id = "maskEditor_topBarShortcutsContainer"; + var top_bar_undo_button = document.createElement("div"); + top_bar_undo_button.id = "maskEditor_topBarUndoButton"; + top_bar_undo_button.classList.add(iconButtonAccentColor); + top_bar_undo_button.innerHTML = ' '; + top_bar_undo_button.addEventListener("click", () => { + this.messageBroker.publish("undo"); + }); + var top_bar_redo_button = document.createElement("div"); + top_bar_redo_button.id = "maskEditor_topBarRedoButton"; + top_bar_redo_button.classList.add(iconButtonAccentColor); + top_bar_redo_button.innerHTML = ' '; + top_bar_redo_button.addEventListener("click", () => { + this.messageBroker.publish("redo"); + }); + var top_bar_invert_button = document.createElement("button"); + top_bar_invert_button.id = "maskEditor_topBarInvertButton"; + top_bar_invert_button.classList.add(buttonAccentColor); + top_bar_invert_button.innerText = "Invert"; + top_bar_invert_button.addEventListener("click", () => { + this.messageBroker.publish("invert"); + }); + var top_bar_clear_button = document.createElement("button"); + top_bar_clear_button.id = "maskEditor_topBarClearButton"; + top_bar_clear_button.classList.add(buttonAccentColor); + top_bar_clear_button.innerText = "Clear"; + top_bar_clear_button.addEventListener("click", () => { + this.maskCtx.clearRect( + 0, + 0, + this.maskCanvas.width, + this.maskCanvas.height + ); + this.messageBroker.publish("saveState"); + }); + var top_bar_save_button = document.createElement("button"); + top_bar_save_button.id = "maskEditor_topBarSaveButton"; + top_bar_save_button.classList.add(buttonAccentColor); + top_bar_save_button.innerText = "Save"; + this.saveButton = top_bar_save_button; + top_bar_save_button.addEventListener("click", () => { + this.maskEditor.save(); + }); + var top_bar_cancel_button = document.createElement("button"); + top_bar_cancel_button.id = "maskEditor_topBarCancelButton"; + top_bar_cancel_button.classList.add(buttonAccentColor); + top_bar_cancel_button.innerText = "Cancel"; + top_bar_cancel_button.addEventListener("click", () => { + this.maskEditor.close(); + }); + top_bar_shortcuts_container.appendChild(top_bar_undo_button); + top_bar_shortcuts_container.appendChild(top_bar_redo_button); + top_bar_shortcuts_container.appendChild(top_bar_invert_button); + top_bar_shortcuts_container.appendChild(top_bar_clear_button); + top_bar_shortcuts_container.appendChild(top_bar_save_button); + top_bar_shortcuts_container.appendChild(top_bar_cancel_button); + top_bar.appendChild(top_bar_title_container); + top_bar.appendChild(top_bar_shortcuts_container); + return top_bar; + } + createToolPanel() { + var tool_panel = document.createElement("div"); + tool_panel.id = "maskEditor_toolPanel"; + this.toolPanel = tool_panel; + var toolPanelHoverAccent = this.darkMode ? "maskEditor_toolPanelContainerDark" : "maskEditor_toolPanelContainerLight"; + var toolElements = []; + var toolPanel_brushToolContainer = document.createElement("div"); + toolPanel_brushToolContainer.classList.add("maskEditor_toolPanelContainer"); + toolPanel_brushToolContainer.classList.add( + "maskEditor_toolPanelContainerSelected" + ); + toolPanel_brushToolContainer.classList.add(toolPanelHoverAccent); + toolPanel_brushToolContainer.innerHTML = ` + + + + + `; + toolElements.push(toolPanel_brushToolContainer); + toolPanel_brushToolContainer.addEventListener("click", () => { + this.messageBroker.publish( + "setTool", + "pen" + /* Pen */ + ); + for (let toolElement of toolElements) { + if (toolElement != toolPanel_brushToolContainer) { + toolElement.classList.remove("maskEditor_toolPanelContainerSelected"); + } else { + toolElement.classList.add("maskEditor_toolPanelContainerSelected"); + this.brushSettingsHTML.style.display = "flex"; + this.colorSelectSettingsHTML.style.display = "none"; + this.paintBucketSettingsHTML.style.display = "none"; + } + } + this.messageBroker.publish( + "setTool", + "pen" + /* Pen */ + ); + this.pointerZone.style.cursor = "none"; + }); + var toolPanel_brushToolIndicator = document.createElement("div"); + toolPanel_brushToolIndicator.classList.add("maskEditor_toolPanelIndicator"); + toolPanel_brushToolContainer.appendChild(toolPanel_brushToolIndicator); + var toolPanel_eraserToolContainer = document.createElement("div"); + toolPanel_eraserToolContainer.classList.add("maskEditor_toolPanelContainer"); + toolPanel_eraserToolContainer.classList.add(toolPanelHoverAccent); + toolPanel_eraserToolContainer.innerHTML = ` + + + + + + + + `; + toolElements.push(toolPanel_eraserToolContainer); + toolPanel_eraserToolContainer.addEventListener("click", () => { + this.messageBroker.publish( + "setTool", + "eraser" + /* Eraser */ + ); + for (let toolElement of toolElements) { + if (toolElement != toolPanel_eraserToolContainer) { + toolElement.classList.remove("maskEditor_toolPanelContainerSelected"); + } else { + toolElement.classList.add("maskEditor_toolPanelContainerSelected"); + this.brushSettingsHTML.style.display = "flex"; + this.colorSelectSettingsHTML.style.display = "none"; + this.paintBucketSettingsHTML.style.display = "none"; + } + } + this.messageBroker.publish( + "setTool", + "eraser" + /* Eraser */ + ); + this.pointerZone.style.cursor = "none"; + }); + var toolPanel_eraserToolIndicator = document.createElement("div"); + toolPanel_eraserToolIndicator.classList.add("maskEditor_toolPanelIndicator"); + toolPanel_eraserToolContainer.appendChild(toolPanel_eraserToolIndicator); + var toolPanel_paintBucketToolContainer = document.createElement("div"); + toolPanel_paintBucketToolContainer.classList.add( + "maskEditor_toolPanelContainer" + ); + toolPanel_paintBucketToolContainer.classList.add(toolPanelHoverAccent); + toolPanel_paintBucketToolContainer.innerHTML = ` + + + + + + `; + toolElements.push(toolPanel_paintBucketToolContainer); + toolPanel_paintBucketToolContainer.addEventListener("click", () => { + this.messageBroker.publish( + "setTool", + "paintBucket" + /* PaintBucket */ + ); + for (let toolElement of toolElements) { + if (toolElement != toolPanel_paintBucketToolContainer) { + toolElement.classList.remove("maskEditor_toolPanelContainerSelected"); + } else { + toolElement.classList.add("maskEditor_toolPanelContainerSelected"); + this.brushSettingsHTML.style.display = "none"; + this.colorSelectSettingsHTML.style.display = "none"; + this.paintBucketSettingsHTML.style.display = "flex"; + } + } + this.messageBroker.publish( + "setTool", + "paintBucket" + /* PaintBucket */ + ); + this.pointerZone.style.cursor = "url('/cursor/paintBucket.png') 30 25, auto"; + this.brush.style.opacity = "0"; + }); + var toolPanel_paintBucketToolIndicator = document.createElement("div"); + toolPanel_paintBucketToolIndicator.classList.add( + "maskEditor_toolPanelIndicator" + ); + toolPanel_paintBucketToolContainer.appendChild( + toolPanel_paintBucketToolIndicator + ); + var toolPanel_colorSelectToolContainer = document.createElement("div"); + toolPanel_colorSelectToolContainer.classList.add( + "maskEditor_toolPanelContainer" + ); + toolPanel_colorSelectToolContainer.classList.add(toolPanelHoverAccent); + toolPanel_colorSelectToolContainer.innerHTML = ` + + + + `; + toolElements.push(toolPanel_colorSelectToolContainer); + toolPanel_colorSelectToolContainer.addEventListener("click", () => { + this.messageBroker.publish("setTool", "colorSelect"); + for (let toolElement of toolElements) { + if (toolElement != toolPanel_colorSelectToolContainer) { + toolElement.classList.remove("maskEditor_toolPanelContainerSelected"); + } else { + toolElement.classList.add("maskEditor_toolPanelContainerSelected"); + this.brushSettingsHTML.style.display = "none"; + this.paintBucketSettingsHTML.style.display = "none"; + this.colorSelectSettingsHTML.style.display = "flex"; + } + } + this.messageBroker.publish( + "setTool", + "colorSelect" + /* ColorSelect */ + ); + this.pointerZone.style.cursor = "url('/cursor/colorSelect.png') 15 25, auto"; + this.brush.style.opacity = "0"; + }); + var toolPanel_colorSelectToolIndicator = document.createElement("div"); + toolPanel_colorSelectToolIndicator.classList.add( + "maskEditor_toolPanelIndicator" + ); + toolPanel_colorSelectToolContainer.appendChild( + toolPanel_colorSelectToolIndicator + ); + var toolPanel_zoomIndicator = document.createElement("div"); + toolPanel_zoomIndicator.classList.add("maskEditor_toolPanelZoomIndicator"); + toolPanel_zoomIndicator.classList.add(toolPanelHoverAccent); + var toolPanel_zoomText = document.createElement("span"); + toolPanel_zoomText.id = "maskEditor_toolPanelZoomText"; + toolPanel_zoomText.innerText = "100%"; + this.zoomTextHTML = toolPanel_zoomText; + var toolPanel_DimensionsText = document.createElement("span"); + toolPanel_DimensionsText.id = "maskEditor_toolPanelDimensionsText"; + toolPanel_DimensionsText.innerText = " "; + this.dimensionsTextHTML = toolPanel_DimensionsText; + toolPanel_zoomIndicator.appendChild(toolPanel_zoomText); + toolPanel_zoomIndicator.appendChild(toolPanel_DimensionsText); + toolPanel_zoomIndicator.addEventListener("click", () => { + this.messageBroker.publish("resetZoom"); + }); + tool_panel.appendChild(toolPanel_brushToolContainer); + tool_panel.appendChild(toolPanel_eraserToolContainer); + tool_panel.appendChild(toolPanel_paintBucketToolContainer); + tool_panel.appendChild(toolPanel_colorSelectToolContainer); + tool_panel.appendChild(toolPanel_zoomIndicator); + return tool_panel; + } + createPointerZone() { + const pointer_zone = document.createElement("div"); + pointer_zone.id = "maskEditor_pointerZone"; + this.pointerZone = pointer_zone; + pointer_zone.addEventListener("pointerdown", (event) => { + this.messageBroker.publish("pointerDown", event); + }); + pointer_zone.addEventListener("pointermove", (event) => { + this.messageBroker.publish("pointerMove", event); + }); + pointer_zone.addEventListener("pointerup", (event) => { + this.messageBroker.publish("pointerUp", event); + }); + pointer_zone.addEventListener("pointerleave", (event) => { + this.brush.style.opacity = "0"; + this.pointerZone.style.cursor = ""; + }); + pointer_zone.addEventListener("touchstart", (event) => { + this.messageBroker.publish("handleTouchStart", event); + }); + pointer_zone.addEventListener("touchmove", (event) => { + this.messageBroker.publish("handleTouchMove", event); + }); + pointer_zone.addEventListener("touchend", (event) => { + this.messageBroker.publish("handleTouchEnd", event); + }); + pointer_zone.addEventListener( + "wheel", + (event) => this.messageBroker.publish("wheel", event) + ); + pointer_zone.addEventListener( + "pointerenter", + async (event) => { + this.updateCursor(); + } + ); + return pointer_zone; + } + async screenToCanvas(clientPoint) { + const zoomRatio = await this.messageBroker.pull("zoomRatio"); + const canvasRect = this.maskCanvas.getBoundingClientRect(); + const offsetX = clientPoint.x - canvasRect.left + this.toolPanel.clientWidth; + const offsetY = clientPoint.y - canvasRect.top + 44; + const x = offsetX / zoomRatio; + const y = offsetY / zoomRatio; + return { x, y }; + } + setEventHandler() { + this.maskCanvas.addEventListener("contextmenu", (event) => { + event.preventDefault(); + }); + this.rootElement.addEventListener("contextmenu", (event) => { + event.preventDefault(); + }); + this.rootElement.addEventListener("dragstart", (event) => { + if (event.ctrlKey) { + event.preventDefault(); + } + }); + } + async createBrush() { + var brush = document.createElement("div"); + const brushSettings = await this.messageBroker.pull("brushSettings"); + brush.id = "maskEditor_brush"; + var brush_preview_gradient = document.createElement("div"); + brush_preview_gradient.id = "maskEditor_brushPreviewGradient"; + brush.appendChild(brush_preview_gradient); + this.brush = brush; + this.brushPreviewGradient = brush_preview_gradient; + return brush; + } + async setImages(imgCanvas) { + const imgCtx = imgCanvas.getContext("2d", { willReadFrequently: true }); + const maskCtx = this.maskCtx; + const maskCanvas = this.maskCanvas; + imgCtx.clearRect(0, 0, this.imgCanvas.width, this.imgCanvas.height); + maskCtx.clearRect(0, 0, this.maskCanvas.width, this.maskCanvas.height); + const alpha_url = new URL( + ComfyApp.clipspace?.imgs?.[ComfyApp.clipspace?.selectedIndex ?? 0]?.src ?? "" + ); + alpha_url.searchParams.delete("channel"); + alpha_url.searchParams.delete("preview"); + alpha_url.searchParams.set("channel", "a"); + let mask_image = await this.loadImage(alpha_url); + if (!ComfyApp.clipspace?.imgs?.[ComfyApp.clipspace?.selectedIndex ?? 0]?.src) { + throw new Error( + "Unable to access image source - clipspace or image is null" + ); + } + const rgb_url = new URL( + ComfyApp.clipspace.imgs[ComfyApp.clipspace.selectedIndex].src + ); + this.imageURL = rgb_url; + console.log(rgb_url); + rgb_url.searchParams.delete("channel"); + rgb_url.searchParams.set("channel", "rgb"); + this.image = new Image(); + this.image = await new Promise((resolve, reject) => { + const img = new Image(); + img.onload = () => resolve(img); + img.onerror = reject; + img.src = rgb_url.toString(); + }); + maskCanvas.width = this.image.width; + maskCanvas.height = this.image.height; + this.dimensionsTextHTML.innerText = `${this.image.width}x${this.image.height}`; + await this.invalidateCanvas(this.image, mask_image); + this.messageBroker.publish("initZoomPan", [this.image, this.rootElement]); + } + async invalidateCanvas(orig_image, mask_image) { + this.imgCanvas.width = orig_image.width; + this.imgCanvas.height = orig_image.height; + this.maskCanvas.width = orig_image.width; + this.maskCanvas.height = orig_image.height; + let imgCtx = this.imgCanvas.getContext("2d", { willReadFrequently: true }); + let maskCtx = this.maskCanvas.getContext("2d", { + willReadFrequently: true + }); + imgCtx.drawImage(orig_image, 0, 0, orig_image.width, orig_image.height); + await this.prepare_mask( + mask_image, + this.maskCanvas, + maskCtx, + await this.getMaskColor() + ); + } + async prepare_mask(image, maskCanvas, maskCtx, maskColor) { + maskCtx.drawImage(image, 0, 0, maskCanvas.width, maskCanvas.height); + const maskData = maskCtx.getImageData( + 0, + 0, + maskCanvas.width, + maskCanvas.height + ); + for (let i = 0; i < maskData.data.length; i += 4) { + const alpha = maskData.data[i + 3]; + maskData.data[i] = maskColor.r; + maskData.data[i + 1] = maskColor.g; + maskData.data[i + 2] = maskColor.b; + maskData.data[i + 3] = 255 - alpha; + } + maskCtx.globalCompositeOperation = "source-over"; + maskCtx.putImageData(maskData, 0, 0); + } + async updateMaskColor() { + const maskCanvasStyle = this.getMaskCanvasStyle(); + this.maskCanvas.style.mixBlendMode = maskCanvasStyle.mixBlendMode; + this.maskCanvas.style.opacity = maskCanvasStyle.opacity.toString(); + const maskColor = await this.getMaskColor(); + this.maskCtx.fillStyle = `rgb(${maskColor.r}, ${maskColor.g}, ${maskColor.b})`; + this.setCanvasBackground(); + const maskData = this.maskCtx.getImageData( + 0, + 0, + this.maskCanvas.width, + this.maskCanvas.height + ); + for (let i = 0; i < maskData.data.length; i += 4) { + maskData.data[i] = maskColor.r; + maskData.data[i + 1] = maskColor.g; + maskData.data[i + 2] = maskColor.b; + } + this.maskCtx.putImageData(maskData, 0, 0); + } + getMaskCanvasStyle() { + if (this.maskBlendMode === "negative") { + return { + mixBlendMode: "difference", + opacity: "1" + }; + } else { + return { + mixBlendMode: "initial", + opacity: this.mask_opacity + }; + } + } + detectLightMode() { + this.darkMode = document.body.classList.contains("dark-theme"); + } + loadImage(imagePath) { + return new Promise((resolve, reject) => { + const image = new Image(); + image.onload = function() { + resolve(image); + }; + image.onerror = function(error) { + reject(error); + }; + image.src = imagePath.href; + }); + } + async updateBrushPreview() { + const cursorPoint = await this.messageBroker.pull("cursorPoint"); + const pan_offset = await this.messageBroker.pull("panOffset"); + const brushSettings = await this.messageBroker.pull("brushSettings"); + const zoom_ratio = await this.messageBroker.pull("zoomRatio"); + const centerX = cursorPoint.x + pan_offset.x; + const centerY = cursorPoint.y + pan_offset.y; + const brush = this.brush; + const hardness = brushSettings.hardness; + const extendedSize = brushSettings.size * (2 - hardness) * 2 * zoom_ratio; + this.brushSizeSlider.value = String(brushSettings.size); + this.brushHardnessSlider.value = String(hardness); + brush.style.width = extendedSize + "px"; + brush.style.height = extendedSize + "px"; + brush.style.left = centerX - extendedSize / 2 + "px"; + brush.style.top = centerY - extendedSize / 2 + "px"; + if (hardness === 1) { + this.brushPreviewGradient.style.background = "rgba(255, 0, 0, 0.5)"; + return; + } + const opacityStop = hardness / 4 + 0.25; + this.brushPreviewGradient.style.background = ` + radial-gradient( + circle, + rgba(255, 0, 0, 0.5) 0%, + rgba(255, 0, 0, ${opacityStop}) ${hardness * 100}%, + rgba(255, 0, 0, 0) 100% + ) + `; + } + getMaskBlendMode() { + return this.maskBlendMode; + } + setSidebarImage() { + this.sidebarImage.src = this.imageURL.href; + } + async getMaskColor() { + if (this.maskBlendMode === "black") { + return { r: 0, g: 0, b: 0 }; + } + if (this.maskBlendMode === "white") { + return { r: 255, g: 255, b: 255 }; + } + if (this.maskBlendMode === "negative") { + return { r: 255, g: 255, b: 255 }; + } + return { r: 0, g: 0, b: 0 }; + } + async getMaskFillStyle() { + const maskColor = await this.getMaskColor(); + return "rgb(" + maskColor.r + "," + maskColor.g + "," + maskColor.b + ")"; + } + async setCanvasBackground() { + if (this.maskBlendMode === "white") { + this.canvasBackground.style.background = "black"; + } else { + this.canvasBackground.style.background = "white"; + } + } + getMaskCanvas() { + return this.maskCanvas; + } + getImgCanvas() { + return this.imgCanvas; + } + getImage() { + return this.image; + } + setBrushOpacity(opacity) { + this.brush.style.opacity = String(opacity); + } + setSaveButtonEnabled(enabled) { + this.saveButton.disabled = !enabled; + } + setSaveButtonText(text) { + this.saveButton.innerText = text; + } + handlePaintBucketCursor(isPaintBucket) { + if (isPaintBucket) { + this.pointerZone.style.cursor = "url('/cursor/paintBucket.png') 30 25, auto"; + } else { + this.pointerZone.style.cursor = "none"; + } + } + handlePanCursor(isPanning) { + if (isPanning) { + this.pointerZone.style.cursor = "grabbing"; + } else { + this.pointerZone.style.cursor = "none"; + } + } + setBrushVisibility(visible) { + this.brush.style.opacity = visible ? "1" : "0"; + } + setBrushPreviewGradientVisibility(visible) { + this.brushPreviewGradient.style.display = visible ? "block" : "none"; + } + async updateCursor() { + const currentTool = await this.messageBroker.pull("currentTool"); + if (currentTool === "paintBucket") { + this.pointerZone.style.cursor = "url('/cursor/paintBucket.png') 30 25, auto"; + this.setBrushOpacity(0); + } else if (currentTool === "colorSelect") { + this.pointerZone.style.cursor = "url('/cursor/colorSelect.png') 15 25, auto"; + this.setBrushOpacity(0); + } else { + this.pointerZone.style.cursor = "none"; + this.setBrushOpacity(1); + } + this.updateBrushPreview(); + this.setBrushPreviewGradientVisibility(false); + } + setZoomText(zoomText) { + this.zoomTextHTML.innerText = zoomText; + } + setDimensionsText(dimensionsText) { + this.dimensionsTextHTML.innerText = dimensionsText; + } +} +class ToolManager { + static { + __name(this, "ToolManager"); + } + maskEditor; + messageBroker; + mouseDownPoint = null; + currentTool = "pen"; + isAdjustingBrush = false; + // is user adjusting brush size or hardness with alt + right mouse button + constructor(maskEditor) { + this.maskEditor = maskEditor; + this.messageBroker = maskEditor.getMessageBroker(); + this.addListeners(); + this.addPullTopics(); + } + addListeners() { + this.messageBroker.subscribe("setTool", async (tool) => { + this.setTool(tool); + }); + this.messageBroker.subscribe("pointerDown", async (event) => { + this.handlePointerDown(event); + }); + this.messageBroker.subscribe("pointerMove", async (event) => { + this.handlePointerMove(event); + }); + this.messageBroker.subscribe("pointerUp", async (event) => { + this.handlePointerUp(event); + }); + this.messageBroker.subscribe("wheel", async (event) => { + this.handleWheelEvent(event); + }); + } + async addPullTopics() { + this.messageBroker.createPullTopic( + "currentTool", + async () => this.getCurrentTool() + ); + } + //tools + setTool(tool) { + this.currentTool = tool; + if (tool != "colorSelect") { + this.messageBroker.publish("clearLastPoint"); + } + } + getCurrentTool() { + return this.currentTool; + } + async handlePointerDown(event) { + event.preventDefault(); + if (event.pointerType == "touch") return; + var isSpacePressed = await this.messageBroker.pull("isKeyPressed", " "); + if (event.buttons === 4 || event.buttons === 1 && isSpacePressed) { + this.messageBroker.publish("panStart", event); + this.messageBroker.publish("setBrushVisibility", false); + return; + } + if (this.currentTool === "paintBucket" && event.button === 0) { + const offset = { x: event.offsetX, y: event.offsetY }; + const coords_canvas = await this.messageBroker.pull( + "screenToCanvas", + offset + ); + this.messageBroker.publish("paintBucketFill", coords_canvas); + this.messageBroker.publish("saveState"); + return; + } + if (this.currentTool === "colorSelect" && event.button === 0) { + const offset = { x: event.offsetX, y: event.offsetY }; + const coords_canvas = await this.messageBroker.pull( + "screenToCanvas", + offset + ); + this.messageBroker.publish("colorSelectFill", coords_canvas); + return; + } + if (event.altKey && event.button === 2) { + this.isAdjustingBrush = true; + this.messageBroker.publish("brushAdjustmentStart", event); + return; + } + var isDrawingTool = [ + "pen", + "eraser" + /* Eraser */ + ].includes(this.currentTool); + if ([0, 2].includes(event.button) && isDrawingTool) { + this.messageBroker.publish("drawStart", event); + return; + } + } + async handlePointerMove(event) { + event.preventDefault(); + if (event.pointerType == "touch") return; + const newCursorPoint = { x: event.clientX, y: event.clientY }; + this.messageBroker.publish("cursorPoint", newCursorPoint); + var isSpacePressed = await this.messageBroker.pull("isKeyPressed", " "); + this.messageBroker.publish("updateBrushPreview"); + if (event.buttons === 4 || event.buttons === 1 && isSpacePressed) { + this.messageBroker.publish("panMove", event); + return; + } + var isDrawingTool = [ + "pen", + "eraser" + /* Eraser */ + ].includes(this.currentTool); + if (!isDrawingTool) return; + if (this.isAdjustingBrush && (this.currentTool === "pen" || this.currentTool === "eraser") && event.altKey && event.buttons === 2) { + this.messageBroker.publish("brushAdjustment", event); + return; + } + if (event.buttons == 1 || event.buttons == 2) { + this.messageBroker.publish("draw", event); + return; + } + } + handlePointerUp(event) { + this.messageBroker.publish("panCursor", false); + if (event.pointerType === "touch") return; + this.messageBroker.publish("updateCursor"); + this.isAdjustingBrush = false; + this.messageBroker.publish("drawEnd", event); + this.mouseDownPoint = null; + } + handleWheelEvent(event) { + this.messageBroker.publish("zoom", event); + const newCursorPoint = { x: event.clientX, y: event.clientY }; + this.messageBroker.publish("cursorPoint", newCursorPoint); + } +} +class PanAndZoomManager { + static { + __name(this, "PanAndZoomManager"); + } + maskEditor; + messageBroker; + DOUBLE_TAP_DELAY = 300; + lastTwoFingerTap = 0; + isTouchZooming = false; + lastTouchZoomDistance = 0; + lastTouchMidPoint = { x: 0, y: 0 }; + lastTouchPoint = { x: 0, y: 0 }; + zoom_ratio = 1; + interpolatedZoomRatio = 1; + pan_offset = { x: 0, y: 0 }; + mouseDownPoint = null; + initialPan = { x: 0, y: 0 }; + canvasContainer = null; + maskCanvas = null; + rootElement = null; + image = null; + imageRootWidth = 0; + imageRootHeight = 0; + cursorPoint = { x: 0, y: 0 }; + constructor(maskEditor) { + this.maskEditor = maskEditor; + this.messageBroker = maskEditor.getMessageBroker(); + this.addListeners(); + this.addPullTopics(); + } + addListeners() { + this.messageBroker.subscribe( + "initZoomPan", + async (args) => { + await this.initializeCanvasPanZoom(args[0], args[1]); + } + ); + this.messageBroker.subscribe("panStart", async (event) => { + this.handlePanStart(event); + }); + this.messageBroker.subscribe("panMove", async (event) => { + this.handlePanMove(event); + }); + this.messageBroker.subscribe("zoom", async (event) => { + this.zoom(event); + }); + this.messageBroker.subscribe("cursorPoint", async (point) => { + this.updateCursorPosition(point); + }); + this.messageBroker.subscribe( + "handleTouchStart", + async (event) => { + this.handleTouchStart(event); + } + ); + this.messageBroker.subscribe( + "handleTouchMove", + async (event) => { + this.handleTouchMove(event); + } + ); + this.messageBroker.subscribe( + "handleTouchEnd", + async (event) => { + this.handleTouchEnd(event); + } + ); + this.messageBroker.subscribe("resetZoom", async () => { + if (this.interpolatedZoomRatio === 1) return; + await this.smoothResetView(); + }); + } + addPullTopics() { + this.messageBroker.createPullTopic( + "cursorPoint", + async () => this.cursorPoint + ); + this.messageBroker.createPullTopic("zoomRatio", async () => this.zoom_ratio); + this.messageBroker.createPullTopic("panOffset", async () => this.pan_offset); + } + handleTouchStart(event) { + event.preventDefault(); + if (event.touches[0].touchType === "stylus") return; + this.messageBroker.publish("setBrushVisibility", false); + if (event.touches.length === 2) { + const currentTime = (/* @__PURE__ */ new Date()).getTime(); + const tapTimeDiff = currentTime - this.lastTwoFingerTap; + if (tapTimeDiff < this.DOUBLE_TAP_DELAY) { + this.handleDoubleTap(); + this.lastTwoFingerTap = 0; + } else { + this.lastTwoFingerTap = currentTime; + this.isTouchZooming = true; + this.lastTouchZoomDistance = this.getTouchDistance(event.touches); + const midpoint = this.getTouchMidpoint(event.touches); + this.lastTouchMidPoint = midpoint; + } + } else if (event.touches.length === 1) { + this.lastTouchPoint = { + x: event.touches[0].clientX, + y: event.touches[0].clientY + }; + } + } + async handleTouchMove(event) { + event.preventDefault(); + if (event.touches[0].touchType === "stylus") return; + this.lastTwoFingerTap = 0; + if (this.isTouchZooming && event.touches.length === 2) { + const newDistance = this.getTouchDistance(event.touches); + const zoomFactor = newDistance / this.lastTouchZoomDistance; + const oldZoom = this.zoom_ratio; + this.zoom_ratio = Math.max( + 0.2, + Math.min(10, this.zoom_ratio * zoomFactor) + ); + const newZoom = this.zoom_ratio; + const midpoint = this.getTouchMidpoint(event.touches); + if (this.lastTouchMidPoint) { + const deltaX = midpoint.x - this.lastTouchMidPoint.x; + const deltaY = midpoint.y - this.lastTouchMidPoint.y; + this.pan_offset.x += deltaX; + this.pan_offset.y += deltaY; + } + if (this.maskCanvas === null) { + this.maskCanvas = await this.messageBroker.pull("maskCanvas"); + } + const rect = this.maskCanvas.getBoundingClientRect(); + const touchX = midpoint.x - rect.left; + const touchY = midpoint.y - rect.top; + const scaleFactor = newZoom / oldZoom; + this.pan_offset.x += touchX - touchX * scaleFactor; + this.pan_offset.y += touchY - touchY * scaleFactor; + this.invalidatePanZoom(); + this.lastTouchZoomDistance = newDistance; + this.lastTouchMidPoint = midpoint; + } else if (event.touches.length === 1) { + this.handleSingleTouchPan(event.touches[0]); + } + } + handleTouchEnd(event) { + event.preventDefault(); + if (event.touches.length === 0 && event.touches[0].touchType === "stylus") { + return; + } + this.isTouchZooming = false; + this.lastTouchMidPoint = { x: 0, y: 0 }; + if (event.touches.length === 0) { + this.lastTouchPoint = { x: 0, y: 0 }; + } else if (event.touches.length === 1) { + this.lastTouchPoint = { + x: event.touches[0].clientX, + y: event.touches[0].clientY + }; + } + } + getTouchDistance(touches) { + const dx = touches[0].clientX - touches[1].clientX; + const dy = touches[0].clientY - touches[1].clientY; + return Math.sqrt(dx * dx + dy * dy); + } + getTouchMidpoint(touches) { + return { + x: (touches[0].clientX + touches[1].clientX) / 2, + y: (touches[0].clientY + touches[1].clientY) / 2 + }; + } + async handleSingleTouchPan(touch) { + if (this.lastTouchPoint === null) { + this.lastTouchPoint = { x: touch.clientX, y: touch.clientY }; + return; + } + const deltaX = touch.clientX - this.lastTouchPoint.x; + const deltaY = touch.clientY - this.lastTouchPoint.y; + this.pan_offset.x += deltaX; + this.pan_offset.y += deltaY; + await this.invalidatePanZoom(); + this.lastTouchPoint = { x: touch.clientX, y: touch.clientY }; + } + updateCursorPosition(clientPoint) { + var cursorX = clientPoint.x - this.pan_offset.x; + var cursorY = clientPoint.y - this.pan_offset.y; + this.cursorPoint = { x: cursorX, y: cursorY }; + } + //prob redundant + handleDoubleTap() { + this.messageBroker.publish("undo"); + } + async zoom(event) { + const cursorPoint = { x: event.clientX, y: event.clientY }; + const oldZoom = this.zoom_ratio; + const zoomFactor = event.deltaY < 0 ? 1.1 : 0.9; + this.zoom_ratio = Math.max( + 0.2, + Math.min(10, this.zoom_ratio * zoomFactor) + ); + const newZoom = this.zoom_ratio; + const maskCanvas = await this.messageBroker.pull("maskCanvas"); + const rect = maskCanvas.getBoundingClientRect(); + const mouseX = cursorPoint.x - rect.left; + const mouseY = cursorPoint.y - rect.top; + console.log(oldZoom, newZoom); + const scaleFactor = newZoom / oldZoom; + this.pan_offset.x += mouseX - mouseX * scaleFactor; + this.pan_offset.y += mouseY - mouseY * scaleFactor; + await this.invalidatePanZoom(); + const newImageWidth = maskCanvas.clientWidth; + const zoomRatio = newImageWidth / this.imageRootWidth; + this.interpolatedZoomRatio = zoomRatio; + this.messageBroker.publish("setZoomText", `${Math.round(zoomRatio * 100)}%`); + this.updateCursorPosition(cursorPoint); + requestAnimationFrame(() => { + this.messageBroker.publish("updateBrushPreview"); + }); + } + async smoothResetView(duration = 500) { + const startZoom = this.zoom_ratio; + const startPan = { ...this.pan_offset }; + const sidePanelWidth = 220; + const toolPanelWidth = 64; + const topBarHeight = 44; + const availableWidth = this.rootElement.clientWidth - sidePanelWidth - toolPanelWidth; + const availableHeight = this.rootElement.clientHeight - topBarHeight; + const zoomRatioWidth = availableWidth / this.image.width; + const zoomRatioHeight = availableHeight / this.image.height; + const targetZoom = Math.min(zoomRatioWidth, zoomRatioHeight); + const aspectRatio = this.image.width / this.image.height; + let finalWidth = 0; + let finalHeight = 0; + const targetPan = { x: toolPanelWidth, y: topBarHeight }; + if (zoomRatioHeight > zoomRatioWidth) { + finalWidth = availableWidth; + finalHeight = finalWidth / aspectRatio; + targetPan.y = (availableHeight - finalHeight) / 2 + topBarHeight; + } else { + finalHeight = availableHeight; + finalWidth = finalHeight * aspectRatio; + targetPan.x = (availableWidth - finalWidth) / 2 + toolPanelWidth; + } + const startTime = performance.now(); + const animate = /* @__PURE__ */ __name((currentTime) => { + const elapsed = currentTime - startTime; + const progress = Math.min(elapsed / duration, 1); + const eased = 1 - Math.pow(1 - progress, 3); + const currentZoom = startZoom + (targetZoom - startZoom) * eased; + this.zoom_ratio = currentZoom; + this.pan_offset.x = startPan.x + (targetPan.x - startPan.x) * eased; + this.pan_offset.y = startPan.y + (targetPan.y - startPan.y) * eased; + this.invalidatePanZoom(); + const interpolatedZoomRatio = startZoom + (1 - startZoom) * eased; + this.messageBroker.publish( + "setZoomText", + `${Math.round(interpolatedZoomRatio * 100)}%` + ); + if (progress < 1) { + requestAnimationFrame(animate); + } + }, "animate"); + requestAnimationFrame(animate); + this.interpolatedZoomRatio = 1; + } + async initializeCanvasPanZoom(image, rootElement) { + let sidePanelWidth = 220; + const toolPanelWidth = 64; + let topBarHeight = 44; + this.rootElement = rootElement; + let availableWidth = rootElement.clientWidth - sidePanelWidth - toolPanelWidth; + let availableHeight = rootElement.clientHeight - topBarHeight; + let zoomRatioWidth = availableWidth / image.width; + let zoomRatioHeight = availableHeight / image.height; + let aspectRatio = image.width / image.height; + let finalWidth = 0; + let finalHeight = 0; + let pan_offset = { x: toolPanelWidth, y: topBarHeight }; + if (zoomRatioHeight > zoomRatioWidth) { + finalWidth = availableWidth; + finalHeight = finalWidth / aspectRatio; + pan_offset.y = (availableHeight - finalHeight) / 2 + topBarHeight; + } else { + finalHeight = availableHeight; + finalWidth = finalHeight * aspectRatio; + pan_offset.x = (availableWidth - finalWidth) / 2 + toolPanelWidth; + } + if (this.image === null) { + this.image = image; + } + this.imageRootWidth = finalWidth; + this.imageRootHeight = finalHeight; + this.zoom_ratio = Math.min(zoomRatioWidth, zoomRatioHeight); + this.pan_offset = pan_offset; + await this.invalidatePanZoom(); + } + async invalidatePanZoom() { + if (!this.image?.width || !this.image?.height || !this.pan_offset || !this.zoom_ratio) { + console.warn("Missing required properties for pan/zoom"); + return; + } + const raw_width = this.image.width * this.zoom_ratio; + const raw_height = this.image.height * this.zoom_ratio; + this.canvasContainer ??= await this.messageBroker?.pull("getCanvasContainer"); + if (!this.canvasContainer) return; + Object.assign(this.canvasContainer.style, { + width: `${raw_width}px`, + height: `${raw_height}px`, + left: `${this.pan_offset.x}px`, + top: `${this.pan_offset.y}px` + }); + } + handlePanStart(event) { + let coords_canvas = this.messageBroker.pull("screenToCanvas", { + x: event.offsetX, + y: event.offsetY + }); + this.mouseDownPoint = { x: event.clientX, y: event.clientY }; + this.messageBroker.publish("panCursor", true); + this.initialPan = this.pan_offset; + return; + } + handlePanMove(event) { + if (this.mouseDownPoint === null) throw new Error("mouseDownPoint is null"); + let deltaX = this.mouseDownPoint.x - event.clientX; + let deltaY = this.mouseDownPoint.y - event.clientY; + let pan_x = this.initialPan.x - deltaX; + let pan_y = this.initialPan.y - deltaY; + this.pan_offset = { x: pan_x, y: pan_y }; + this.invalidatePanZoom(); + } +} +class MessageBroker { + static { + __name(this, "MessageBroker"); + } + pushTopics = {}; + pullTopics = {}; + constructor() { + this.registerListeners(); + } + // Push + registerListeners() { + this.createPushTopic("panStart"); + this.createPushTopic("paintBucketFill"); + this.createPushTopic("saveState"); + this.createPushTopic("brushAdjustmentStart"); + this.createPushTopic("drawStart"); + this.createPushTopic("panMove"); + this.createPushTopic("updateBrushPreview"); + this.createPushTopic("brushAdjustment"); + this.createPushTopic("draw"); + this.createPushTopic("paintBucketCursor"); + this.createPushTopic("panCursor"); + this.createPushTopic("drawEnd"); + this.createPushTopic("zoom"); + this.createPushTopic("undo"); + this.createPushTopic("redo"); + this.createPushTopic("cursorPoint"); + this.createPushTopic("panOffset"); + this.createPushTopic("zoomRatio"); + this.createPushTopic("getMaskCanvas"); + this.createPushTopic("getCanvasContainer"); + this.createPushTopic("screenToCanvas"); + this.createPushTopic("isKeyPressed"); + this.createPushTopic("isCombinationPressed"); + this.createPushTopic("setPaintBucketTolerance"); + this.createPushTopic("setBrushSize"); + this.createPushTopic("setBrushHardness"); + this.createPushTopic("setBrushOpacity"); + this.createPushTopic("setBrushShape"); + this.createPushTopic("initZoomPan"); + this.createPushTopic("setTool"); + this.createPushTopic("pointerDown"); + this.createPushTopic("pointerMove"); + this.createPushTopic("pointerUp"); + this.createPushTopic("wheel"); + this.createPushTopic("initPaintBucketTool"); + this.createPushTopic("setBrushVisibility"); + this.createPushTopic("setBrushPreviewGradientVisibility"); + this.createPushTopic("handleTouchStart"); + this.createPushTopic("handleTouchMove"); + this.createPushTopic("handleTouchEnd"); + this.createPushTopic("colorSelectFill"); + this.createPushTopic("setColorSelectTolerance"); + this.createPushTopic("setLivePreview"); + this.createPushTopic("updateCursor"); + this.createPushTopic("setColorComparisonMethod"); + this.createPushTopic("clearLastPoint"); + this.createPushTopic("setWholeImage"); + this.createPushTopic("setMaskBoundary"); + this.createPushTopic("setMaskTolerance"); + this.createPushTopic("setBrushSmoothingPrecision"); + this.createPushTopic("setZoomText"); + this.createPushTopic("resetZoom"); + this.createPushTopic("invert"); + } + /** + * Creates a new push topic (listener is notified) + * + * @param {string} topicName - The name of the topic to create. + * @throws {Error} If the topic already exists. + */ + createPushTopic(topicName) { + if (this.topicExists(this.pushTopics, topicName)) { + throw new Error("Topic already exists"); + } + this.pushTopics[topicName] = []; + } + /** + * Subscribe a callback function to the given topic. + * + * @param {string} topicName - The name of the topic to subscribe to. + * @param {Callback} callback - The callback function to be subscribed. + * @throws {Error} If the topic does not exist. + */ + subscribe(topicName, callback) { + if (!this.topicExists(this.pushTopics, topicName)) { + throw new Error(`Topic "${topicName}" does not exist!`); + } + this.pushTopics[topicName].push(callback); + } + /** + * Removes a callback function from the list of subscribers for a given topic. + * + * @param {string} topicName - The name of the topic to unsubscribe from. + * @param {Callback} callback - The callback function to remove from the subscribers list. + * @throws {Error} If the topic does not exist in the list of topics. + */ + unsubscribe(topicName, callback) { + if (!this.topicExists(this.pushTopics, topicName)) { + throw new Error("Topic does not exist"); + } + const index = this.pushTopics[topicName].indexOf(callback); + if (index > -1) { + this.pushTopics[topicName].splice(index, 1); + } + } + /** + * Publishes data to a specified topic with variable number of arguments. + * @param {string} topicName - The name of the topic to publish to. + * @param {...any[]} args - Variable number of arguments to pass to subscribers + * @throws {Error} If the specified topic does not exist. + */ + publish(topicName, ...args) { + if (!this.topicExists(this.pushTopics, topicName)) { + throw new Error(`Topic "${topicName}" does not exist!`); + } + this.pushTopics[topicName].forEach((callback) => { + callback(...args); + }); + } + // Pull + /** + * Creates a new pull topic (listener must request data) + * + * @param {string} topicName - The name of the topic to create. + * @param {() => Promise} callBack - The callback function to be called when data is requested. + * @throws {Error} If the topic already exists. + */ + createPullTopic(topicName, callBack) { + if (this.topicExists(this.pullTopics, topicName)) { + throw new Error("Topic already exists"); + } + this.pullTopics[topicName] = callBack; + } + /** + * Requests data from a specified pull topic. + * @param {string} topicName - The name of the topic to request data from. + * @returns {Promise} - The data from the pull topic. + * @throws {Error} If the specified topic does not exist. + */ + async pull(topicName, data) { + if (!this.topicExists(this.pullTopics, topicName)) { + throw new Error("Topic does not exist"); + } + const callBack = this.pullTopics[topicName]; + try { + const result = await callBack(data); + return result; + } catch (error) { + console.error(`Error pulling data from topic "${topicName}":`, error); + throw error; + } + } + // Helper Methods + /** + * Checks if a topic exists in the given topics object. + * @param {Record} topics - The topics object to check. + * @param {string} topicName - The name of the topic to check. + * @returns {boolean} - True if the topic exists, false otherwise. + */ + topicExists(topics, topicName) { + return topics.hasOwnProperty(topicName); + } +} +class KeyboardManager { + static { + __name(this, "KeyboardManager"); + } + keysDown = []; + maskEditor; + messageBroker; + constructor(maskEditor) { + this.maskEditor = maskEditor; + this.messageBroker = maskEditor.getMessageBroker(); + this.addPullTopics(); + } + addPullTopics() { + this.messageBroker.createPullTopic( + "isKeyPressed", + (key) => Promise.resolve(this.isKeyDown(key)) + ); + } + addListeners() { + document.addEventListener("keydown", (event) => this.handleKeyDown(event)); + document.addEventListener("keyup", (event) => this.handleKeyUp(event)); + window.addEventListener("blur", () => this.clearKeys()); + } + removeListeners() { + document.removeEventListener( + "keydown", + (event) => this.handleKeyDown(event) + ); + document.removeEventListener("keyup", (event) => this.handleKeyUp(event)); + } + clearKeys() { + this.keysDown = []; + } + handleKeyDown(event) { + if (!this.keysDown.includes(event.key)) { + this.keysDown.push(event.key); + } + } + handleKeyUp(event) { + this.keysDown = this.keysDown.filter((key) => key !== event.key); + } + isKeyDown(key) { + return this.keysDown.includes(key); + } + // combinations + undoCombinationPressed() { + const combination = ["ctrl", "z"]; + const keysDownLower = this.keysDown.map((key) => key.toLowerCase()); + const result = combination.every((key) => keysDownLower.includes(key)); + if (result) this.messageBroker.publish("undo"); + return result; + } + redoCombinationPressed() { + const combination = ["ctrl", "shift", "z"]; + const keysDownLower = this.keysDown.map((key) => key.toLowerCase()); + const result = combination.every((key) => keysDownLower.includes(key)); + if (result) this.messageBroker.publish("redo"); + return result; + } +} +app.registerExtension({ + name: "Comfy.MaskEditor", + settings: [ + { + id: "Comfy.MaskEditor.UseNewEditor", + category: ["Mask Editor", "NewEditor"], + name: "Use new mask editor", + tooltip: "Switch to the new mask editor interface", + type: "boolean", + defaultValue: true, + experimental: true + }, + { + id: "Comfy.MaskEditor.BrushAdjustmentSpeed", + category: ["Mask Editor", "BrushAdjustment", "Sensitivity"], + name: "Brush adjustment speed multiplier", + tooltip: "Controls how quickly the brush size and hardness change when adjusting. Higher values mean faster changes.", + experimental: true, + type: "slider", + attrs: { + min: 0.1, + max: 2, + step: 0.1 + }, + defaultValue: 1, + versionAdded: "1.0.0" + }, + { + id: "Comfy.MaskEditor.UseDominantAxis", + category: ["Mask Editor", "BrushAdjustment", "UseDominantAxis"], + name: "Lock brush adjustment to dominant axis", + tooltip: "When enabled, brush adjustments will only affect size OR hardness based on which direction you move more", + type: "boolean", + defaultValue: true, + experimental: true + } + ], + init(app2) { + function openMaskEditor() { + const useNewEditor = app2.extensionManager.setting.get( + "Comfy.MaskEditor.UseNewEditor" + ); + if (useNewEditor) { + const dlg = MaskEditorDialog.getInstance(); + if (dlg?.isOpened && !dlg.isOpened()) { + dlg.show(); + } + } else { + const dlg = MaskEditorDialogOld.getInstance(); + if (dlg?.isOpened && !dlg.isOpened()) { + dlg.show(); + } + } + } + __name(openMaskEditor, "openMaskEditor"); + ; + ComfyApp.open_maskeditor = openMaskEditor; + const context_predicate = /* @__PURE__ */ __name(() => { + return !!(ComfyApp.clipspace && ComfyApp.clipspace.imgs && ComfyApp.clipspace.imgs.length > 0); + }, "context_predicate"); + ClipspaceDialog.registerButton( + "MaskEditor", + context_predicate, + openMaskEditor + ); + } +}); +const id = "Comfy.NodeTemplates"; +const file = "comfy.templates.json"; +class ManageTemplates extends ComfyDialog { + static { + __name(this, "ManageTemplates"); + } + templates; + draggedEl; + saveVisualCue; + emptyImg; + importInput; + constructor() { + super(); + this.load().then((v) => { + this.templates = v; + }); + this.element.classList.add("comfy-manage-templates"); + this.draggedEl = null; + this.saveVisualCue = null; + this.emptyImg = new Image(); + this.emptyImg.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="; + this.importInput = $el("input", { + type: "file", + accept: ".json", + multiple: true, + style: { display: "none" }, + parent: document.body, + onchange: /* @__PURE__ */ __name(() => this.importAll(), "onchange") + }); + } + createButtons() { + const btns = super.createButtons(); + btns[0].textContent = "Close"; + btns[0].onclick = (e) => { + clearTimeout(this.saveVisualCue); + this.close(); + }; + btns.unshift( + $el("button", { + type: "button", + textContent: "Export", + onclick: /* @__PURE__ */ __name(() => this.exportAll(), "onclick") + }) + ); + btns.unshift( + $el("button", { + type: "button", + textContent: "Import", + onclick: /* @__PURE__ */ __name(() => { + this.importInput.click(); + }, "onclick") + }) + ); + return btns; + } + async load() { + let templates = []; + const res = await api.getUserData(file); + if (res.status === 200) { + try { + templates = await res.json(); + } catch (error) { + } + } else if (res.status !== 404) { + console.error(res.status + " " + res.statusText); + } + return templates ?? []; + } + async store() { + const templates = JSON.stringify(this.templates, void 0, 4); + try { + await api.storeUserData(file, templates, { stringify: false }); + } catch (error) { + console.error(error); + useToastStore().addAlert(error.message); + } + } + async importAll() { + for (const file2 of this.importInput.files) { + if (file2.type === "application/json" || file2.name.endsWith(".json")) { + const reader = new FileReader(); + reader.onload = async () => { + const importFile = JSON.parse(reader.result); + if (importFile?.templates) { + for (const template of importFile.templates) { + if (template?.name && template?.data) { + this.templates.push(template); + } + } + await this.store(); + } + }; + await reader.readAsText(file2); + } + } + this.importInput.value = null; + this.close(); + } + exportAll() { + if (this.templates.length == 0) { + useToastStore().addAlert("No templates to export."); + return; + } + const json = JSON.stringify({ templates: this.templates }, null, 2); + const blob = new Blob([json], { type: "application/json" }); + const url = URL.createObjectURL(blob); + const a = $el("a", { + href: url, + download: "node_templates.json", + style: { display: "none" }, + parent: document.body + }); + a.click(); + setTimeout(function() { + a.remove(); + window.URL.revokeObjectURL(url); + }, 0); + } + show() { + super.show( + $el( + "div", + {}, + this.templates.flatMap((t2, i) => { + let nameInput; + return [ + $el( + "div", + { + dataset: { id: i.toString() }, + className: "templateManagerRow", + style: { + display: "grid", + gridTemplateColumns: "1fr auto", + border: "1px dashed transparent", + gap: "5px", + backgroundColor: "var(--comfy-menu-bg)" + }, + ondragstart: /* @__PURE__ */ __name((e) => { + this.draggedEl = e.currentTarget; + e.currentTarget.style.opacity = "0.6"; + e.currentTarget.style.border = "1px dashed yellow"; + e.dataTransfer.effectAllowed = "move"; + e.dataTransfer.setDragImage(this.emptyImg, 0, 0); + }, "ondragstart"), + ondragend: /* @__PURE__ */ __name((e) => { + e.target.style.opacity = "1"; + e.currentTarget.style.border = "1px dashed transparent"; + e.currentTarget.removeAttribute("draggable"); + this.element.querySelectorAll(".templateManagerRow").forEach((el, i2) => { + var prev_i = Number.parseInt(el.dataset.id); + if (el == this.draggedEl && prev_i != i2) { + this.templates.splice( + i2, + 0, + this.templates.splice(prev_i, 1)[0] + ); + } + el.dataset.id = i2.toString(); + }); + this.store(); + }, "ondragend"), + ondragover: /* @__PURE__ */ __name((e) => { + e.preventDefault(); + if (e.currentTarget == this.draggedEl) return; + let rect = e.currentTarget.getBoundingClientRect(); + if (e.clientY > rect.top + rect.height / 2) { + e.currentTarget.parentNode.insertBefore( + this.draggedEl, + e.currentTarget.nextSibling + ); + } else { + e.currentTarget.parentNode.insertBefore( + this.draggedEl, + e.currentTarget + ); + } + }, "ondragover") + }, + [ + $el( + "label", + { + textContent: "Name: ", + style: { + cursor: "grab" + }, + onmousedown: /* @__PURE__ */ __name((e) => { + if (e.target.localName == "label") + e.currentTarget.parentNode.draggable = "true"; + }, "onmousedown") + }, + [ + $el("input", { + value: t2.name, + dataset: { name: t2.name }, + style: { + transitionProperty: "background-color", + transitionDuration: "0s" + }, + onchange: /* @__PURE__ */ __name((e) => { + clearTimeout(this.saveVisualCue); + var el = e.target; + var row = el.parentNode.parentNode; + this.templates[row.dataset.id].name = el.value.trim() || "untitled"; + this.store(); + el.style.backgroundColor = "rgb(40, 95, 40)"; + el.style.transitionDuration = "0s"; + this.saveVisualCue = setTimeout(function() { + el.style.transitionDuration = ".7s"; + el.style.backgroundColor = "var(--comfy-input-bg)"; + }, 15); + }, "onchange"), + onkeypress: /* @__PURE__ */ __name((e) => { + var el = e.target; + clearTimeout(this.saveVisualCue); + el.style.transitionDuration = "0s"; + el.style.backgroundColor = "var(--comfy-input-bg)"; + }, "onkeypress"), + $: /* @__PURE__ */ __name((el) => nameInput = el, "$") + }) + ] + ), + $el("div", {}, [ + $el("button", { + textContent: "Export", + style: { + fontSize: "12px", + fontWeight: "normal" + }, + onclick: /* @__PURE__ */ __name((e) => { + const json = JSON.stringify({ templates: [t2] }, null, 2); + const blob = new Blob([json], { + type: "application/json" + }); + const url = URL.createObjectURL(blob); + const a = $el("a", { + href: url, + download: (nameInput.value || t2.name) + ".json", + style: { display: "none" }, + parent: document.body + }); + a.click(); + setTimeout(function() { + a.remove(); + window.URL.revokeObjectURL(url); + }, 0); + }, "onclick") + }), + $el("button", { + textContent: "Delete", + style: { + fontSize: "12px", + color: "red", + fontWeight: "normal" + }, + onclick: /* @__PURE__ */ __name((e) => { + const item = e.target.parentNode.parentNode; + item.parentNode.removeChild(item); + this.templates.splice(item.dataset.id * 1, 1); + this.store(); + var that = this; + setTimeout(function() { + that.element.querySelectorAll(".templateManagerRow").forEach((el, i2) => { + el.dataset.id = i2.toString(); + }); + }, 0); + }, "onclick") + }) + ]) + ] + ) + ]; + }) + ) + ); + } +} +app.registerExtension({ + name: id, + setup() { + const manage = new ManageTemplates(); + const clipboardAction = /* @__PURE__ */ __name(async (cb) => { + const old = localStorage.getItem("litegrapheditor_clipboard"); + await cb(); + localStorage.setItem("litegrapheditor_clipboard", old); + }, "clipboardAction"); + const orig = LGraphCanvas.prototype.getCanvasMenuOptions; + LGraphCanvas.prototype.getCanvasMenuOptions = function() { + const options = orig.apply(this, arguments); + options.push(null); + options.push({ + content: `Save Selected as Template`, + disabled: !Object.keys(app.canvas.selected_nodes || {}).length, + callback: /* @__PURE__ */ __name(async () => { + const name = await useDialogService().prompt({ + title: t("nodeTemplates.saveAsTemplate"), + message: t("nodeTemplates.enterName"), + defaultValue: "" + }); + if (!name?.trim()) return; + clipboardAction(() => { + app.canvas.copyToClipboard(); + let data = localStorage.getItem("litegrapheditor_clipboard"); + data = JSON.parse(data); + const nodeIds = Object.keys(app.canvas.selected_nodes); + for (let i = 0; i < nodeIds.length; i++) { + const node = app.graph.getNodeById(nodeIds[i]); + const nodeData = node?.constructor.nodeData; + let groupData = GroupNodeHandler.getGroupData(node); + if (groupData) { + groupData = groupData.nodeData; + if (!data.groupNodes) { + data.groupNodes = {}; + } + data.groupNodes[nodeData.name] = groupData; + data.nodes[i].type = nodeData.name; + } + } + manage.templates.push({ + name, + data: JSON.stringify(data) + }); + manage.store(); + }); + }, "callback") + }); + const subItems = manage.templates.map((t2) => { + return { + content: t2.name, + callback: /* @__PURE__ */ __name(() => { + clipboardAction(async () => { + const data = JSON.parse(t2.data); + await GroupNodeConfig.registerFromWorkflow(data.groupNodes, {}); + if (!data.reroutes) { + deserialiseAndCreate(t2.data, app.canvas); + } else { + localStorage.setItem("litegrapheditor_clipboard", t2.data); + app.canvas.pasteFromClipboard(); + } + }); + }, "callback") + }; + }); + subItems.push(null, { + content: "Manage", + callback: /* @__PURE__ */ __name(() => manage.show(), "callback") + }); + options.push({ + content: "Node Templates", + submenu: { + options: subItems + } + }); + return options; + }; + } +}); +app.registerExtension({ + name: "Comfy.NoteNode", + registerCustomNodes() { + class NoteNode extends LGraphNode { + static { + __name(this, "NoteNode"); + } + static category; + color = LGraphCanvas.node_colors.yellow.color; + bgcolor = LGraphCanvas.node_colors.yellow.bgcolor; + groupcolor = LGraphCanvas.node_colors.yellow.groupcolor; + isVirtualNode; + collapsable; + title_mode; + constructor(title) { + super(title); + if (!this.properties) { + this.properties = { text: "" }; + } + ComfyWidgets.STRING( + // Should we extends LGraphNode? Yesss + this, + "", + ["", { default: this.properties.text, multiline: true }], + app + ); + this.serialize_widgets = true; + this.isVirtualNode = true; + } + } + LiteGraph.registerNodeType( + "Note", + Object.assign(NoteNode, { + title_mode: LiteGraph.NORMAL_TITLE, + title: "Note", + collapsable: true + }) + ); + NoteNode.category = "utils"; + class MarkdownNoteNode extends LGraphNode { + static { + __name(this, "MarkdownNoteNode"); + } + static title = "Markdown Note"; + color = LGraphCanvas.node_colors.yellow.color; + bgcolor = LGraphCanvas.node_colors.yellow.bgcolor; + groupcolor = LGraphCanvas.node_colors.yellow.groupcolor; + constructor(title) { + super(title); + if (!this.properties) { + this.properties = { text: "" }; + } + ComfyWidgets.MARKDOWN( + this, + "", + ["", { default: this.properties.text }], + app + ); + this.serialize_widgets = true; + this.isVirtualNode = true; + } + } + LiteGraph.registerNodeType("MarkdownNote", MarkdownNoteNode); + MarkdownNoteNode.category = "utils"; + } +}); +app.registerExtension({ + name: "Comfy.RerouteNode", + registerCustomNodes(app2) { + class RerouteNode extends LGraphNode { + static { + __name(this, "RerouteNode"); + } + static category; + static defaultVisibility = false; + constructor(title) { + super(title); + if (!this.properties) { + this.properties = {}; + } + this.properties.showOutputText = RerouteNode.defaultVisibility; + this.properties.horizontal = false; + this.addInput("", "*"); + this.addOutput(this.properties.showOutputText ? "*" : "", "*"); + this.onAfterGraphConfigured = function() { + requestAnimationFrame(() => { + this.onConnectionsChange(LiteGraph.INPUT, null, true, null); + }); + }; + this.onConnectionsChange = (type, index, connected, link_info) => { + if (app2.configuringGraph) return; + this.applyOrientation(); + if (connected && type === LiteGraph.OUTPUT) { + const types = new Set( + this.outputs[0].links.map((l) => app2.graph.links[l].type).filter((t2) => t2 !== "*") + ); + if (types.size > 1) { + const linksToDisconnect = []; + for (let i = 0; i < this.outputs[0].links.length - 1; i++) { + const linkId = this.outputs[0].links[i]; + const link = app2.graph.links[linkId]; + linksToDisconnect.push(link); + } + for (const link of linksToDisconnect) { + const node = app2.graph.getNodeById(link.target_id); + node.disconnectInput(link.target_slot); + } + } + } + let currentNode = this; + let updateNodes = []; + let inputType = null; + let inputNode = null; + while (currentNode) { + updateNodes.unshift(currentNode); + const linkId = currentNode.inputs[0].link; + if (linkId !== null) { + const link = app2.graph.links[linkId]; + if (!link) return; + const node = app2.graph.getNodeById(link.origin_id); + const type2 = node.constructor.type; + if (type2 === "Reroute") { + if (node === this) { + currentNode.disconnectInput(link.target_slot); + currentNode = null; + } else { + currentNode = node; + } + } else { + inputNode = currentNode; + inputType = node.outputs[link.origin_slot]?.type ?? null; + break; + } + } else { + currentNode = null; + break; + } + } + const nodes = [this]; + let outputType = null; + while (nodes.length) { + currentNode = nodes.pop(); + const outputs = (currentNode.outputs ? currentNode.outputs[0].links : []) || []; + if (outputs.length) { + for (const linkId of outputs) { + const link = app2.graph.links[linkId]; + if (!link) continue; + const node = app2.graph.getNodeById(link.target_id); + const type2 = node.constructor.type; + if (type2 === "Reroute") { + nodes.push(node); + updateNodes.push(node); + } else { + const nodeOutType = node.inputs && node.inputs[link?.target_slot] && node.inputs[link.target_slot].type ? node.inputs[link.target_slot].type : null; + if (inputType && !LiteGraph.isValidConnection(inputType, nodeOutType)) { + node.disconnectInput(link.target_slot); + } else { + outputType = nodeOutType; + } + } + } + } else { + } + } + const displayType = inputType || outputType || "*"; + const color = LGraphCanvas.link_type_colors[displayType]; + let widgetConfig; + let targetWidget; + let widgetType; + for (const node of updateNodes) { + node.outputs[0].type = inputType || "*"; + node.__outputType = displayType; + node.outputs[0].name = node.properties.showOutputText ? displayType : ""; + node.size = node.computeSize(); + node.applyOrientation(); + for (const l of node.outputs[0].links || []) { + const link = app2.graph.links[l]; + if (link) { + link.color = color; + if (app2.configuringGraph) continue; + const targetNode = app2.graph.getNodeById(link.target_id); + const targetInput = targetNode.inputs?.[link.target_slot]; + if (targetInput?.widget) { + const config = getWidgetConfig(targetInput); + if (!widgetConfig) { + widgetConfig = config[1] ?? {}; + widgetType = config[0]; + } + if (!targetWidget) { + targetWidget = targetNode.widgets?.find( + (w) => w.name === targetInput.widget.name + ); + } + const merged = mergeIfValid(targetInput, [ + config[0], + widgetConfig + ]); + if (merged.customConfig) { + widgetConfig = merged.customConfig; + } + } + } + } + } + for (const node of updateNodes) { + if (widgetConfig && outputType) { + node.inputs[0].widget = { name: "value" }; + setWidgetConfig( + node.inputs[0], + [widgetType ?? displayType, widgetConfig], + targetWidget + ); + } else { + setWidgetConfig(node.inputs[0], null); + } + } + if (inputNode) { + const link = app2.graph.links[inputNode.inputs[0].link]; + if (link) { + link.color = color; + } + } + }; + this.clone = function() { + const cloned = RerouteNode.prototype.clone.apply(this); + cloned.removeOutput(0); + cloned.addOutput(this.properties.showOutputText ? "*" : "", "*"); + cloned.size = cloned.computeSize(); + return cloned; + }; + this.isVirtualNode = true; + } + getExtraMenuOptions(_, options) { + options.unshift( + { + content: (this.properties.showOutputText ? "Hide" : "Show") + " Type", + callback: /* @__PURE__ */ __name(() => { + this.properties.showOutputText = !this.properties.showOutputText; + if (this.properties.showOutputText) { + this.outputs[0].name = this.__outputType || this.outputs[0].type; + } else { + this.outputs[0].name = ""; + } + this.size = this.computeSize(); + this.applyOrientation(); + app2.graph.setDirtyCanvas(true, true); + }, "callback") + }, + { + content: (RerouteNode.defaultVisibility ? "Hide" : "Show") + " Type By Default", + callback: /* @__PURE__ */ __name(() => { + RerouteNode.setDefaultTextVisibility( + !RerouteNode.defaultVisibility + ); + }, "callback") + }, + { + // naming is inverted with respect to LiteGraphNode.horizontal + // LiteGraphNode.horizontal == true means that + // each slot in the inputs and outputs are laid out horizontally, + // which is the opposite of the visual orientation of the inputs and outputs as a node + content: "Set " + (this.properties.horizontal ? "Horizontal" : "Vertical"), + callback: /* @__PURE__ */ __name(() => { + this.properties.horizontal = !this.properties.horizontal; + this.applyOrientation(); + }, "callback") + } + ); + return []; + } + applyOrientation() { + this.horizontal = this.properties.horizontal; + if (this.horizontal) { + this.inputs[0].pos = [this.size[0] / 2, 0]; + } else { + delete this.inputs[0].pos; + } + app2.graph.setDirtyCanvas(true, true); + } + computeSize() { + return [ + this.properties.showOutputText && this.outputs && this.outputs.length ? Math.max( + 75, + LiteGraph.NODE_TEXT_SIZE * this.outputs[0].name.length * 0.6 + 40 + ) : 75, + 26 + ]; + } + static setDefaultTextVisibility(visible) { + RerouteNode.defaultVisibility = visible; + if (visible) { + localStorage["Comfy.RerouteNode.DefaultVisibility"] = "true"; + } else { + delete localStorage["Comfy.RerouteNode.DefaultVisibility"]; + } + } + } + RerouteNode.setDefaultTextVisibility( + !!localStorage["Comfy.RerouteNode.DefaultVisibility"] + ); + LiteGraph.registerNodeType( + "Reroute", + Object.assign(RerouteNode, { + title_mode: LiteGraph.NO_TITLE, + title: "Reroute", + collapsable: false + }) + ); + RerouteNode.category = "utils"; + } +}); +app.registerExtension({ + name: "Comfy.SaveImageExtraOutput", + async beforeRegisterNodeDef(nodeType, nodeData, app2) { + if (nodeData.name === "SaveImage" || nodeData.name === "SaveAnimatedWEBP") { + const onNodeCreated = nodeType.prototype.onNodeCreated; + nodeType.prototype.onNodeCreated = function() { + const r = onNodeCreated ? onNodeCreated.apply(this, arguments) : void 0; + const widget = this.widgets.find((w) => w.name === "filename_prefix"); + widget.serializeValue = () => { + return applyTextReplacements(app2, widget.value); + }; + return r; + }; + } else { + const onNodeCreated = nodeType.prototype.onNodeCreated; + nodeType.prototype.onNodeCreated = function() { + const r = onNodeCreated ? onNodeCreated.apply(this, arguments) : void 0; + if (!this.properties || !("Node name for S&R" in this.properties)) { + this.addProperty("Node name for S&R", this.constructor.type, "string"); + } + return r; + }; + } + } +}); +let touchZooming; +let touchCount = 0; +app.registerExtension({ + name: "Comfy.SimpleTouchSupport", + setup() { + let touchDist; + let touchTime; + let lastTouch; + let lastScale; + function getMultiTouchPos(e) { + return Math.hypot( + e.touches[0].clientX - e.touches[1].clientX, + e.touches[0].clientY - e.touches[1].clientY + ); + } + __name(getMultiTouchPos, "getMultiTouchPos"); + function getMultiTouchCenter(e) { + return { + clientX: (e.touches[0].clientX + e.touches[1].clientX) / 2, + clientY: (e.touches[0].clientY + e.touches[1].clientY) / 2 + }; + } + __name(getMultiTouchCenter, "getMultiTouchCenter"); + app.canvasEl.parentElement.addEventListener( + "touchstart", + (e) => { + touchCount++; + lastTouch = null; + lastScale = null; + if (e.touches?.length === 1) { + touchTime = /* @__PURE__ */ new Date(); + lastTouch = e.touches[0]; + } else { + touchTime = null; + if (e.touches?.length === 2) { + lastScale = app.canvas.ds.scale; + lastTouch = getMultiTouchCenter(e); + touchDist = getMultiTouchPos(e); + app.canvas.pointer.isDown = false; + } + } + }, + true + ); + app.canvasEl.parentElement.addEventListener("touchend", (e) => { + touchCount--; + if (e.touches?.length !== 1) touchZooming = false; + if (touchTime && !e.touches?.length) { + if ((/* @__PURE__ */ new Date()).getTime() - touchTime > 600) { + if (e.target === app.canvasEl) { + app.canvasEl.dispatchEvent( + new PointerEvent("pointerdown", { + button: 2, + clientX: e.changedTouches[0].clientX, + clientY: e.changedTouches[0].clientY + }) + ); + e.preventDefault(); + } + } + touchTime = null; + } + }); + app.canvasEl.parentElement.addEventListener( + "touchmove", + (e) => { + touchTime = null; + if (e.touches?.length === 2 && lastTouch && !e.ctrlKey && !e.shiftKey) { + e.preventDefault(); + app.canvas.pointer.isDown = false; + touchZooming = true; + LiteGraph.closeAllContextMenus(window); + app.canvas.search_box?.close(); + const newTouchDist = getMultiTouchPos(e); + const center = getMultiTouchCenter(e); + let scale = lastScale * newTouchDist / touchDist; + const newX = (center.clientX - lastTouch.clientX) / scale; + const newY = (center.clientY - lastTouch.clientY) / scale; + if (scale < app.canvas.ds.min_scale) { + scale = app.canvas.ds.min_scale; + } else if (scale > app.canvas.ds.max_scale) { + scale = app.canvas.ds.max_scale; + } + const oldScale = app.canvas.ds.scale; + app.canvas.ds.scale = scale; + if (Math.abs(app.canvas.ds.scale - 1) < 0.01) { + app.canvas.ds.scale = 1; + } + const newScale = app.canvas.ds.scale; + const convertScaleToOffset = /* @__PURE__ */ __name((scale2) => [ + center.clientX / scale2 - app.canvas.ds.offset[0], + center.clientY / scale2 - app.canvas.ds.offset[1] + ], "convertScaleToOffset"); + var oldCenter = convertScaleToOffset(oldScale); + var newCenter = convertScaleToOffset(newScale); + app.canvas.ds.offset[0] += newX + newCenter[0] - oldCenter[0]; + app.canvas.ds.offset[1] += newY + newCenter[1] - oldCenter[1]; + lastTouch.clientX = center.clientX; + lastTouch.clientY = center.clientY; + app.canvas.setDirty(true, true); + } + }, + true + ); + } +}); +const processMouseDown = LGraphCanvas.prototype.processMouseDown; +LGraphCanvas.prototype.processMouseDown = function(e) { + if (touchZooming || touchCount) { + return; + } + app.canvas.pointer.isDown = false; + return processMouseDown.apply(this, arguments); +}; +const processMouseMove = LGraphCanvas.prototype.processMouseMove; +LGraphCanvas.prototype.processMouseMove = function(e) { + if (touchZooming || touchCount > 1) { + return; + } + return processMouseMove.apply(this, arguments); +}; +app.registerExtension({ + name: "Comfy.SlotDefaults", + suggestionsNumber: null, + init() { + LiteGraph.search_filter_enabled = true; + LiteGraph.middle_click_slot_add_default_node = true; + this.suggestionsNumber = app.ui.settings.addSetting({ + id: "Comfy.NodeSuggestions.number", + category: ["Comfy", "Node Search Box", "NodeSuggestions"], + name: "Number of nodes suggestions", + tooltip: "Only for litegraph searchbox/context menu", + type: "slider", + attrs: { + min: 1, + max: 100, + step: 1 + }, + defaultValue: 5, + onChange: /* @__PURE__ */ __name((newVal, oldVal) => { + this.setDefaults(newVal); + }, "onChange") + }); + }, + slot_types_default_out: {}, + slot_types_default_in: {}, + async beforeRegisterNodeDef(nodeType, nodeData, app2) { + var nodeId = nodeData.name; + const inputs = nodeData["input"]?.["required"]; + for (const inputKey in inputs) { + var input = inputs[inputKey]; + if (typeof input[0] !== "string") continue; + var type = input[0]; + if (type in ComfyWidgets) { + var customProperties = input[1]; + if (!customProperties?.forceInput) continue; + } + if (!(type in this.slot_types_default_out)) { + this.slot_types_default_out[type] = ["Reroute"]; + } + if (this.slot_types_default_out[type].includes(nodeId)) continue; + this.slot_types_default_out[type].push(nodeId); + const lowerType = type.toLocaleLowerCase(); + if (!(lowerType in LiteGraph.registered_slot_in_types)) { + LiteGraph.registered_slot_in_types[lowerType] = { nodes: [] }; + } + LiteGraph.registered_slot_in_types[lowerType].nodes.push( + // @ts-expect-error ComfyNode + nodeType.comfyClass + ); + } + var outputs = nodeData["output"] ?? []; + for (const el of outputs) { + const type2 = el; + if (!(type2 in this.slot_types_default_in)) { + this.slot_types_default_in[type2] = ["Reroute"]; + } + this.slot_types_default_in[type2].push(nodeId); + if (!(type2 in LiteGraph.registered_slot_out_types)) { + LiteGraph.registered_slot_out_types[type2] = { nodes: [] }; + } + LiteGraph.registered_slot_out_types[type2].nodes.push(nodeType.comfyClass); + if (!LiteGraph.slot_types_out.includes(type2)) { + LiteGraph.slot_types_out.push(type2); + } + } + var maxNum = this.suggestionsNumber.value; + this.setDefaults(maxNum); + }, + setDefaults(maxNum) { + LiteGraph.slot_types_default_out = {}; + LiteGraph.slot_types_default_in = {}; + for (const type in this.slot_types_default_out) { + LiteGraph.slot_types_default_out[type] = this.slot_types_default_out[type].slice(0, maxNum); + } + for (const type in this.slot_types_default_in) { + LiteGraph.slot_types_default_in[type] = this.slot_types_default_in[type].slice(0, maxNum); + } + } +}); +function splitFilePath(path) { + const folder_separator = path.lastIndexOf("/"); + if (folder_separator === -1) { + return ["", path]; + } + return [ + path.substring(0, folder_separator), + path.substring(folder_separator + 1) + ]; +} +__name(splitFilePath, "splitFilePath"); +function getResourceURL(subfolder, filename, type = "input") { + const params = [ + "filename=" + encodeURIComponent(filename), + "type=" + type, + "subfolder=" + subfolder, + app.getRandParam().substring(1) + ].join("&"); + return `/view?${params}`; +} +__name(getResourceURL, "getResourceURL"); +async function uploadFile(audioWidget, audioUIWidget, file2, updateNode, pasted = false) { + try { + const body = new FormData(); + body.append("image", file2); + if (pasted) body.append("subfolder", "pasted"); + const resp = await api.fetchApi("/upload/image", { + method: "POST", + body + }); + if (resp.status === 200) { + const data = await resp.json(); + let path = data.name; + if (data.subfolder) path = data.subfolder + "/" + path; + if (!audioWidget.options.values.includes(path)) { + audioWidget.options.values.push(path); + } + if (updateNode) { + audioUIWidget.element.src = api.apiURL( + getResourceURL(...splitFilePath(path)) + ); + audioWidget.value = path; + } + } else { + useToastStore().addAlert(resp.status + " - " + resp.statusText); + } + } catch (error) { + useToastStore().addAlert(error); + } +} +__name(uploadFile, "uploadFile"); +app.registerExtension({ + name: "Comfy.AudioWidget", + async beforeRegisterNodeDef(nodeType, nodeData) { + if ( + // @ts-expect-error ComfyNode + ["LoadAudio", "SaveAudio", "PreviewAudio"].includes(nodeType.comfyClass) + ) { + nodeData.input.required.audioUI = ["AUDIO_UI"]; + } + }, + getCustomWidgets() { + return { + AUDIO_UI(node, inputName) { + const audio = document.createElement("audio"); + audio.controls = true; + audio.classList.add("comfy-audio"); + audio.setAttribute("name", "media"); + const audioUIWidget = node.addDOMWidget( + inputName, + /* name=*/ + "audioUI", + audio, + { + serialize: false + } + ); + const isOutputNode = node.constructor.nodeData.output_node; + if (isOutputNode) { + audioUIWidget.element.classList.add("empty-audio-widget"); + const onExecuted = node.onExecuted; + node.onExecuted = function(message) { + onExecuted?.apply(this, arguments); + const audios = message.audio; + if (!audios) return; + const audio2 = audios[0]; + audioUIWidget.element.src = api.apiURL( + getResourceURL(audio2.subfolder, audio2.filename, audio2.type) + ); + audioUIWidget.element.classList.remove("empty-audio-widget"); + }; + } + return { widget: audioUIWidget }; + } + }; + }, + onNodeOutputsUpdated(nodeOutputs) { + for (const [nodeId, output] of Object.entries(nodeOutputs)) { + const node = app.graph.getNodeById(nodeId); + if ("audio" in output) { + const audioUIWidget = node.widgets.find( + (w) => w.name === "audioUI" + ); + const audio = output.audio[0]; + audioUIWidget.element.src = api.apiURL( + getResourceURL(audio.subfolder, audio.filename, audio.type) + ); + audioUIWidget.element.classList.remove("empty-audio-widget"); + } + } + } +}); +app.registerExtension({ + name: "Comfy.UploadAudio", + async beforeRegisterNodeDef(nodeType, nodeData) { + if (nodeData?.input?.required?.audio?.[1]?.audio_upload === true) { + nodeData.input.required.upload = ["AUDIOUPLOAD"]; + } + }, + getCustomWidgets() { + return { + AUDIOUPLOAD(node, inputName) { + const audioWidget = node.widgets.find( + (w) => w.name === "audio" + ); + const audioUIWidget = node.widgets.find( + (w) => w.name === "audioUI" + ); + const onAudioWidgetUpdate = /* @__PURE__ */ __name(() => { + audioUIWidget.element.src = api.apiURL( + getResourceURL(...splitFilePath(audioWidget.value)) + ); + }, "onAudioWidgetUpdate"); + if (audioWidget.value) { + onAudioWidgetUpdate(); + } + audioWidget.callback = onAudioWidgetUpdate; + const onGraphConfigured = node.onGraphConfigured; + node.onGraphConfigured = function() { + onGraphConfigured?.apply(this, arguments); + if (audioWidget.value) { + onAudioWidgetUpdate(); + } + }; + const fileInput = document.createElement("input"); + fileInput.type = "file"; + fileInput.accept = "audio/*"; + fileInput.style.display = "none"; + fileInput.onchange = () => { + if (fileInput.files.length) { + uploadFile(audioWidget, audioUIWidget, fileInput.files[0], true); + } + }; + const uploadWidget = node.addWidget( + "button", + inputName, + /* value=*/ + "", + () => { + fileInput.click(); + }, + { serialize: false } + ); + uploadWidget.label = "choose file to upload"; + return { widget: uploadWidget }; + } + }; + } +}); +app.registerExtension({ + name: "Comfy.UploadImage", + beforeRegisterNodeDef(nodeType, nodeData) { + if (nodeData?.input?.required?.image?.[1]?.image_upload === true) { + nodeData.input.required.upload = ["IMAGEUPLOAD"]; + } + } +}); +const WEBCAM_READY = Symbol(); +app.registerExtension({ + name: "Comfy.WebcamCapture", + getCustomWidgets(app2) { + return { + WEBCAM(node, inputName) { + let res; + node[WEBCAM_READY] = new Promise((resolve) => res = resolve); + const container = document.createElement("div"); + container.style.background = "rgba(0,0,0,0.25)"; + container.style.textAlign = "center"; + const video = document.createElement("video"); + video.style.height = video.style.width = "100%"; + const loadVideo = /* @__PURE__ */ __name(async () => { + try { + const stream = await navigator.mediaDevices.getUserMedia({ + video: true, + audio: false + }); + container.replaceChildren(video); + setTimeout(() => res(video), 500); + video.addEventListener("loadedmetadata", () => res(video), false); + video.srcObject = stream; + video.play(); + } catch (error) { + const label = document.createElement("div"); + label.style.color = "red"; + label.style.overflow = "auto"; + label.style.maxHeight = "100%"; + label.style.whiteSpace = "pre-wrap"; + if (window.isSecureContext) { + label.textContent = "Unable to load webcam, please ensure access is granted:\n" + error.message; + } else { + label.textContent = "Unable to load webcam. A secure context is required, if you are not accessing ComfyUI on localhost (127.0.0.1) you will have to enable TLS (https)\n\n" + error.message; + } + container.replaceChildren(label); + } + }, "loadVideo"); + loadVideo(); + return { widget: node.addDOMWidget(inputName, "WEBCAM", container) }; + } + }; + }, + nodeCreated(node) { + if (node.type, node.constructor.comfyClass !== "WebcamCapture") return; + let video; + const camera = node.widgets.find((w2) => w2.name === "image"); + const w = node.widgets.find((w2) => w2.name === "width"); + const h = node.widgets.find((w2) => w2.name === "height"); + const captureOnQueue = node.widgets.find( + (w2) => w2.name === "capture_on_queue" + ); + const canvas = document.createElement("canvas"); + const capture = /* @__PURE__ */ __name(() => { + canvas.width = w.value; + canvas.height = h.value; + const ctx = canvas.getContext("2d"); + ctx.drawImage(video, 0, 0, w.value, h.value); + const data = canvas.toDataURL("image/png"); + const img = new Image(); + img.onload = () => { + node.imgs = [img]; + app.graph.setDirtyCanvas(true); + requestAnimationFrame(() => { + node.setSizeForImage?.(); + }); + }; + img.src = data; + }, "capture"); + const btn = node.addWidget( + "button", + "waiting for camera...", + "capture", + capture + ); + btn.disabled = true; + btn.serializeValue = () => void 0; + camera.serializeValue = async () => { + if (captureOnQueue.value) { + capture(); + } else if (!node.imgs?.length) { + const err2 = `No webcam image captured`; + useToastStore().addAlert(err2); + throw new Error(err2); + } + const blob = await new Promise((r) => canvas.toBlob(r)); + const name = `${+/* @__PURE__ */ new Date()}.png`; + const file2 = new File([blob], name); + const body = new FormData(); + body.append("image", file2); + body.append("subfolder", "webcam"); + body.append("type", "temp"); + const resp = await api.fetchApi("/upload/image", { + method: "POST", + body + }); + if (resp.status !== 200) { + const err2 = `Error uploading camera image: ${resp.status} - ${resp.statusText}`; + useToastStore().addAlert(err2); + throw new Error(err2); + } + return `webcam/${name} [temp]`; + }; + node[WEBCAM_READY].then((v) => { + video = v; + if (!w.value) { + w.value = video.videoWidth || 640; + h.value = video.videoHeight || 480; + } + btn.disabled = false; + btn.label = "capture"; + }); + } +}); +//# sourceMappingURL=index-Bordpmzt.js.map diff --git a/web/assets/index-DjNHn37O.js b/web/assets/index-DjNHn37O.js new file mode 100644 index 0000000000000000000000000000000000000000..fff8484bd1f307c8a948acef2744a986c7359d4f --- /dev/null +++ b/web/assets/index-DjNHn37O.js @@ -0,0 +1,184725 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphView-HVeNbkaW.js","./index-jXPKy3pP.js","./index-5HFeZax4.js","./index-B-aVupP5.js","./keybindingService-Bx7YdkXn.js","./serverConfigStore-CvyKFVuP.js","./GraphView-CIRWBKTm.css","./UserSelectView-B3jYchWu.js","./BaseViewTemplate-BNGF4K22.js","./ServerStartView-CIDTUh4x.js","./ServerStartView-CnyN4Ib6.css","./InstallView-CAcYt0HL.js","./InstallView-CwQdoH-C.css","./WelcomeView-N0ZXLjdi.js","./WelcomeView-Brz3-luE.css","./NotSupportedView-Drz3x2d-.js","./NotSupportedView-bFzHmqNj.css","./DownloadGitView-DeC7MBzG.js","./ManualConfigurationView-Bi_qHE-n.js","./ManualConfigurationView-B6ecEClB.css","./KeybindingPanel-Dc3C4lG1.js","./index-B5F0uxTQ.js","./KeybindingPanel-DvrUYZ4S.css","./ExtensionPanel-D4Phn0Zr.js","./ServerConfigPanel-Be4StJmv.js","./index-Bordpmzt.js","./index-BRhY6FpL.css"])))=>i.map(i=>d[i]); +var __defProp2 = Object.defineProperty; +var __name = (target, value4) => __defProp2(target, "name", { value: value4, configurable: true }); +(/* @__PURE__ */ __name(function polyfill() { + const relList = document.createElement("link").relList; + if (relList && relList.supports && relList.supports("modulepreload")) { + return; + } + for (const link2 of document.querySelectorAll('link[rel="modulepreload"]')) { + processPreload(link2); + } + new MutationObserver((mutations) => { + for (const mutation of mutations) { + if (mutation.type !== "childList") { + continue; + } + for (const node3 of mutation.addedNodes) { + if (node3.tagName === "LINK" && node3.rel === "modulepreload") + processPreload(node3); + } + } + }).observe(document, { childList: true, subtree: true }); + function getFetchOpts(link2) { + const fetchOpts = {}; + if (link2.integrity) fetchOpts.integrity = link2.integrity; + if (link2.referrerPolicy) fetchOpts.referrerPolicy = link2.referrerPolicy; + if (link2.crossOrigin === "use-credentials") + fetchOpts.credentials = "include"; + else if (link2.crossOrigin === "anonymous") fetchOpts.credentials = "omit"; + else fetchOpts.credentials = "same-origin"; + return fetchOpts; + } + __name(getFetchOpts, "getFetchOpts"); + function processPreload(link2) { + if (link2.ep) + return; + link2.ep = true; + const fetchOpts = getFetchOpts(link2); + fetch(link2.href, fetchOpts); + } + __name(processPreload, "processPreload"); +}, "polyfill"))(); +var __defProp$2 = Object.defineProperty; +var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols; +var __hasOwnProp$1 = Object.prototype.hasOwnProperty; +var __propIsEnum$1 = Object.prototype.propertyIsEnumerable; +var __defNormalProp$2 = /* @__PURE__ */ __name((obj, key, value4) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value: value4 }) : obj[key] = value4, "__defNormalProp$2"); +var __spreadValues$1 = /* @__PURE__ */ __name((a, b) => { + for (var prop2 in b || (b = {})) + if (__hasOwnProp$1.call(b, prop2)) + __defNormalProp$2(a, prop2, b[prop2]); + if (__getOwnPropSymbols$1) + for (var prop2 of __getOwnPropSymbols$1(b)) { + if (__propIsEnum$1.call(b, prop2)) + __defNormalProp$2(a, prop2, b[prop2]); + } + return a; +}, "__spreadValues$1"); +function isEmpty$1(value4) { + return value4 === null || value4 === void 0 || value4 === "" || Array.isArray(value4) && value4.length === 0 || !(value4 instanceof Date) && typeof value4 === "object" && Object.keys(value4).length === 0; +} +__name(isEmpty$1, "isEmpty$1"); +function compare$1(value1, value22, comparator2, order = 1) { + let result = -1; + const emptyValue1 = isEmpty$1(value1); + const emptyValue2 = isEmpty$1(value22); + if (emptyValue1 && emptyValue2) result = 0; + else if (emptyValue1) result = order; + else if (emptyValue2) result = -order; + else if (typeof value1 === "string" && typeof value22 === "string") result = comparator2(value1, value22); + else result = value1 < value22 ? -1 : value1 > value22 ? 1 : 0; + return result; +} +__name(compare$1, "compare$1"); +function deepEquals(obj1, obj2) { + if (obj1 === obj2) return true; + if (obj1 && obj2 && typeof obj1 == "object" && typeof obj2 == "object") { + var arrObj1 = Array.isArray(obj1), arrObj2 = Array.isArray(obj2), i2, length, key; + if (arrObj1 && arrObj2) { + length = obj1.length; + if (length != obj2.length) return false; + for (i2 = length; i2-- !== 0; ) if (!deepEquals(obj1[i2], obj2[i2])) return false; + return true; + } + if (arrObj1 != arrObj2) return false; + var dateObj1 = obj1 instanceof Date, dateObj2 = obj2 instanceof Date; + if (dateObj1 != dateObj2) return false; + if (dateObj1 && dateObj2) return obj1.getTime() == obj2.getTime(); + var regexpObj1 = obj1 instanceof RegExp, regexpObj2 = obj2 instanceof RegExp; + if (regexpObj1 != regexpObj2) return false; + if (regexpObj1 && regexpObj2) return obj1.toString() == obj2.toString(); + var keys2 = Object.keys(obj1); + length = keys2.length; + if (length !== Object.keys(obj2).length) return false; + for (i2 = length; i2-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(obj2, keys2[i2])) return false; + for (i2 = length; i2-- !== 0; ) { + key = keys2[i2]; + if (!deepEquals(obj1[key], obj2[key])) return false; + } + return true; + } + return obj1 !== obj1 && obj2 !== obj2; +} +__name(deepEquals, "deepEquals"); +function isFunction$5(value4) { + return !!(value4 && value4.constructor && value4.call && value4.apply); +} +__name(isFunction$5, "isFunction$5"); +function isNotEmpty(value4) { + return !isEmpty$1(value4); +} +__name(isNotEmpty, "isNotEmpty"); +function resolveFieldData(data24, field) { + if (!data24 || !field) { + return null; + } + try { + const value4 = data24[field]; + if (isNotEmpty(value4)) return value4; + } catch (e2) { + } + if (Object.keys(data24).length) { + if (isFunction$5(field)) { + return field(data24); + } else if (field.indexOf(".") === -1) { + return data24[field]; + } else { + let fields = field.split("."); + let value4 = data24; + for (let i2 = 0, len = fields.length; i2 < len; ++i2) { + if (value4 == null) { + return null; + } + value4 = value4[fields[i2]]; + } + return value4; + } + } + return null; +} +__name(resolveFieldData, "resolveFieldData"); +function equals(obj1, obj2, field) { + if (field) return resolveFieldData(obj1, field) === resolveFieldData(obj2, field); + else return deepEquals(obj1, obj2); +} +__name(equals, "equals"); +function contains(value4, list2) { + if (value4 != null && list2 && list2.length) { + for (let val of list2) { + if (equals(value4, val)) return true; + } + } + return false; +} +__name(contains, "contains"); +function filter(value4, fields, filterValue) { + let filteredItems = []; + if (value4) { + for (let item3 of value4) { + for (let field of fields) { + if (String(resolveFieldData(item3, field)).toLowerCase().indexOf(filterValue.toLowerCase()) > -1) { + filteredItems.push(item3); + break; + } + } + } + } + return filteredItems; +} +__name(filter, "filter"); +function findIndexInList(value4, list2) { + let index2 = -1; + if (list2) { + for (let i2 = 0; i2 < list2.length; i2++) { + if (list2[i2] === value4) { + index2 = i2; + break; + } + } + } + return index2; +} +__name(findIndexInList, "findIndexInList"); +function findLast$1(arr, callback) { + let item3; + if (isNotEmpty(arr)) { + try { + item3 = arr.findLast(callback); + } catch (e2) { + item3 = [...arr].reverse().find(callback); + } + } + return item3; +} +__name(findLast$1, "findLast$1"); +function findLastIndex(arr, callback) { + let index2 = -1; + if (isNotEmpty(arr)) { + try { + index2 = arr.findLastIndex(callback); + } catch (e2) { + index2 = arr.lastIndexOf([...arr].reverse().find(callback)); + } + } + return index2; +} +__name(findLastIndex, "findLastIndex"); +function isObject$7(value4, empty3 = true) { + return value4 instanceof Object && value4.constructor === Object && (empty3 || Object.keys(value4).length !== 0); +} +__name(isObject$7, "isObject$7"); +function resolve$1(obj, ...params) { + return isFunction$5(obj) ? obj(...params) : obj; +} +__name(resolve$1, "resolve$1"); +function isString$8(value4, empty3 = true) { + return typeof value4 === "string" && (empty3 || value4 !== ""); +} +__name(isString$8, "isString$8"); +function toFlatCase(str) { + return isString$8(str) ? str.replace(/(-|_)/g, "").toLowerCase() : str; +} +__name(toFlatCase, "toFlatCase"); +function getKeyValue(obj, key = "", params = {}) { + const fKeys = toFlatCase(key).split("."); + const fKey = fKeys.shift(); + return fKey ? isObject$7(obj) ? getKeyValue(resolve$1(obj[Object.keys(obj).find((k) => toFlatCase(k) === fKey) || ""], params), fKeys.join("."), params) : void 0 : resolve$1(obj, params); +} +__name(getKeyValue, "getKeyValue"); +function insertIntoOrderedArray(item3, index2, arr, sourceArr) { + if (arr.length > 0) { + let injected = false; + for (let i2 = 0; i2 < arr.length; i2++) { + let currentItemIndex = findIndexInList(arr[i2], sourceArr); + if (currentItemIndex > index2) { + arr.splice(i2, 0, item3); + injected = true; + break; + } + } + if (!injected) { + arr.push(item3); + } + } else { + arr.push(item3); + } +} +__name(insertIntoOrderedArray, "insertIntoOrderedArray"); +function isArray$5(value4, empty3 = true) { + return Array.isArray(value4) && (empty3 || value4.length !== 0); +} +__name(isArray$5, "isArray$5"); +function isDate$3(value4) { + return value4 instanceof Date && value4.constructor === Date; +} +__name(isDate$3, "isDate$3"); +function isNumber$5(value4) { + return isNotEmpty(value4) && !isNaN(value4); +} +__name(isNumber$5, "isNumber$5"); +function isPrintableCharacter(char = "") { + return isNotEmpty(char) && char.length === 1 && !!char.match(/\S| /); +} +__name(isPrintableCharacter, "isPrintableCharacter"); +function localeComparator() { + return new Intl.Collator(void 0, { numeric: true }).compare; +} +__name(localeComparator, "localeComparator"); +function matchRegex(str, regex2) { + if (regex2) { + const match2 = regex2.test(str); + regex2.lastIndex = 0; + return match2; + } + return false; +} +__name(matchRegex, "matchRegex"); +function mergeKeys(...args) { + const _mergeKeys = /* @__PURE__ */ __name((target = {}, source = {}) => { + const mergedObj = __spreadValues$1({}, target); + Object.keys(source).forEach((key) => { + if (isObject$7(source[key]) && key in target && isObject$7(target[key])) { + mergedObj[key] = _mergeKeys(target[key], source[key]); + } else { + mergedObj[key] = source[key]; + } + }); + return mergedObj; + }, "_mergeKeys"); + return args.reduce((acc, obj, i2) => i2 === 0 ? obj : _mergeKeys(acc, obj), {}); +} +__name(mergeKeys, "mergeKeys"); +function minifyCSS(css3) { + return css3 ? css3.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g, "").replace(/ {2,}/g, " ").replace(/ ([{:}]) /g, "$1").replace(/([;,]) /g, "$1").replace(/ !/g, "!").replace(/: /g, ":") : css3; +} +__name(minifyCSS, "minifyCSS"); +function nestedKeys(obj = {}, parentKey = "") { + return Object.entries(obj).reduce((o, [key, value4]) => { + const currentKey = parentKey ? `${parentKey}.${key}` : key; + isObject$7(value4) ? o = o.concat(nestedKeys(value4, currentKey)) : o.push(currentKey); + return o; + }, []); +} +__name(nestedKeys, "nestedKeys"); +function removeAccents(str) { + if (str && str.search(/[\xC0-\xFF]/g) > -1) { + str = str.replace(/[\xC0-\xC5]/g, "A").replace(/[\xC6]/g, "AE").replace(/[\xC7]/g, "C").replace(/[\xC8-\xCB]/g, "E").replace(/[\xCC-\xCF]/g, "I").replace(/[\xD0]/g, "D").replace(/[\xD1]/g, "N").replace(/[\xD2-\xD6\xD8]/g, "O").replace(/[\xD9-\xDC]/g, "U").replace(/[\xDD]/g, "Y").replace(/[\xDE]/g, "P").replace(/[\xE0-\xE5]/g, "a").replace(/[\xE6]/g, "ae").replace(/[\xE7]/g, "c").replace(/[\xE8-\xEB]/g, "e").replace(/[\xEC-\xEF]/g, "i").replace(/[\xF1]/g, "n").replace(/[\xF2-\xF6\xF8]/g, "o").replace(/[\xF9-\xFC]/g, "u").replace(/[\xFE]/g, "p").replace(/[\xFD\xFF]/g, "y"); + } + return str; +} +__name(removeAccents, "removeAccents"); +function reorderArray(value4, from2, to) { + if (value4 && from2 !== to) { + if (to >= value4.length) { + to %= value4.length; + from2 %= value4.length; + } + value4.splice(to, 0, value4.splice(from2, 1)[0]); + } +} +__name(reorderArray, "reorderArray"); +function sort(value1, value22, order = 1, comparator2, nullSortOrder = 1) { + const result = compare$1(value1, value22, comparator2, order); + let finalSortOrder = order; + if (isEmpty$1(value1) || isEmpty$1(value22)) { + finalSortOrder = nullSortOrder === 1 ? order : nullSortOrder; + } + return finalSortOrder * result; +} +__name(sort, "sort"); +function stringify(value4, indent = 2, currentIndent = 0) { + const currentIndentStr = " ".repeat(currentIndent); + const nextIndentStr = " ".repeat(currentIndent + indent); + if (isArray$5(value4)) { + return "[" + value4.map((v2) => stringify(v2, indent, currentIndent + indent)).join(", ") + "]"; + } else if (isDate$3(value4)) { + return value4.toISOString(); + } else if (isFunction$5(value4)) { + return value4.toString(); + } else if (isObject$7(value4)) { + return "{\n" + Object.entries(value4).map(([k, v2]) => `${nextIndentStr}${k}: ${stringify(v2, indent, currentIndent + indent)}`).join(",\n") + ` +${currentIndentStr}}`; + } else { + return JSON.stringify(value4); + } +} +__name(stringify, "stringify"); +function toCapitalCase(str) { + return isString$8(str, false) ? str[0].toUpperCase() + str.slice(1) : str; +} +__name(toCapitalCase, "toCapitalCase"); +function toKebabCase(str) { + return isString$8(str) ? str.replace(/(_)/g, "-").replace(/[A-Z]/g, (c, i2) => i2 === 0 ? c : "-" + c.toLowerCase()).toLowerCase() : str; +} +__name(toKebabCase, "toKebabCase"); +function toTokenKey$1(str) { + return isString$8(str) ? str.replace(/[A-Z]/g, (c, i2) => i2 === 0 ? c : "." + c.toLowerCase()).toLowerCase() : str; +} +__name(toTokenKey$1, "toTokenKey$1"); +function EventBus() { + const allHandlers = /* @__PURE__ */ new Map(); + return { + on(type, handler6) { + let handlers2 = allHandlers.get(type); + if (!handlers2) handlers2 = [handler6]; + else handlers2.push(handler6); + allHandlers.set(type, handlers2); + return this; + }, + off(type, handler6) { + let handlers2 = allHandlers.get(type); + if (handlers2) { + handlers2.splice(handlers2.indexOf(handler6) >>> 0, 1); + } + return this; + }, + emit(type, evt) { + let handlers2 = allHandlers.get(type); + if (handlers2) { + handlers2.slice().map((handler6) => { + handler6(evt); + }); + } + }, + clear() { + allHandlers.clear(); + } + }; +} +__name(EventBus, "EventBus"); +var __defProp$1 = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp$1 = /* @__PURE__ */ __name((obj, key, value4) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value: value4 }) : obj[key] = value4, "__defNormalProp$1"); +var __spreadValues = /* @__PURE__ */ __name((a, b) => { + for (var prop2 in b || (b = {})) + if (__hasOwnProp.call(b, prop2)) + __defNormalProp$1(a, prop2, b[prop2]); + if (__getOwnPropSymbols) + for (var prop2 of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop2)) + __defNormalProp$1(a, prop2, b[prop2]); + } + return a; +}, "__spreadValues"); +var __spreadProps = /* @__PURE__ */ __name((a, b) => __defProps(a, __getOwnPropDescs(b)), "__spreadProps"); +var __objRest = /* @__PURE__ */ __name((source, exclude) => { + var target = {}; + for (var prop2 in source) + if (__hasOwnProp.call(source, prop2) && exclude.indexOf(prop2) < 0) + target[prop2] = source[prop2]; + if (source != null && __getOwnPropSymbols) + for (var prop2 of __getOwnPropSymbols(source)) { + if (exclude.indexOf(prop2) < 0 && __propIsEnum.call(source, prop2)) + target[prop2] = source[prop2]; + } + return target; +}, "__objRest"); +function definePreset(...presets) { + return mergeKeys(...presets); +} +__name(definePreset, "definePreset"); +var ThemeService = EventBus(); +var service_default = ThemeService; +function toTokenKey(str) { + return isString$8(str) ? str.replace(/[A-Z]/g, (c, i2) => i2 === 0 ? c : "." + c.toLowerCase()).toLowerCase() : str; +} +__name(toTokenKey, "toTokenKey"); +function merge$1(value1, value22) { + if (isArray$5(value1)) { + value1.push(...value22 || []); + } else if (isObject$7(value1)) { + Object.assign(value1, value22); + } +} +__name(merge$1, "merge$1"); +function toValue$2(value4) { + return isObject$7(value4) && value4.hasOwnProperty("value") && value4.hasOwnProperty("type") ? value4.value : value4; +} +__name(toValue$2, "toValue$2"); +function toUnit(value4, variable = "") { + const excludedProperties = ["opacity", "z-index", "line-height", "font-weight", "flex", "flex-grow", "flex-shrink", "order"]; + if (!excludedProperties.some((property) => variable.endsWith(property))) { + const val = `${value4}`.trim(); + const valArr = val.split(" "); + return valArr.map((v2) => isNumber$5(v2) ? `${v2}px` : v2).join(" "); + } + return value4; +} +__name(toUnit, "toUnit"); +function toNormalizePrefix(prefix2) { + return prefix2.replaceAll(/ /g, "").replace(/[^\w]/g, "-"); +} +__name(toNormalizePrefix, "toNormalizePrefix"); +function toNormalizeVariable(prefix2 = "", variable = "") { + return toNormalizePrefix(`${isString$8(prefix2, false) && isString$8(variable, false) ? `${prefix2}-` : prefix2}${variable}`); +} +__name(toNormalizeVariable, "toNormalizeVariable"); +function getVariableName(prefix2 = "", variable = "") { + return `--${toNormalizeVariable(prefix2, variable)}`; +} +__name(getVariableName, "getVariableName"); +function getVariableValue(value4, variable = "", prefix2 = "", excludedKeyRegexes = [], fallback) { + if (isString$8(value4)) { + const regex2 = /{([^}]*)}/g; + const val = value4.trim(); + if (matchRegex(val, regex2)) { + const _val = val.replaceAll(regex2, (v2) => { + const path = v2.replace(/{|}/g, ""); + const keys2 = path.split(".").filter((_v) => !excludedKeyRegexes.some((_r) => matchRegex(_v, _r))); + return `var(${getVariableName(prefix2, toKebabCase(keys2.join("-")))}${isNotEmpty(fallback) ? `, ${fallback}` : ""})`; + }); + const calculationRegex = /(\d+\s+[\+\-\*\/]\s+\d+)/g; + const cleanedVarRegex = /var\([^)]+\)/g; + return matchRegex(_val.replace(cleanedVarRegex, "0"), calculationRegex) ? `calc(${_val})` : _val; + } + return toUnit(val, variable); + } else if (isNumber$5(value4)) { + return toUnit(value4, variable); + } + return void 0; +} +__name(getVariableValue, "getVariableValue"); +function getComputedValue(obj = {}, value4) { + if (isString$8(value4)) { + const regex2 = /{([^}]*)}/g; + const val = value4.trim(); + return matchRegex(val, regex2) ? val.replaceAll(regex2, (v2) => getKeyValue(obj, v2.replace(/{|}/g, ""))) : val; + } else if (isNumber$5(value4)) { + return value4; + } + return void 0; +} +__name(getComputedValue, "getComputedValue"); +function setProperty(properties, key, value4) { + if (isString$8(key, false)) { + properties.push(`${key}:${value4};`); + } +} +__name(setProperty, "setProperty"); +function getRule(selector, properties) { + if (selector) { + return `${selector}{${properties}}`; + } + return ""; +} +__name(getRule, "getRule"); +function normalizeColor(color2) { + if (color2.length === 4) { + return `#${color2[1]}${color2[1]}${color2[2]}${color2[2]}${color2[3]}${color2[3]}`; + } + return color2; +} +__name(normalizeColor, "normalizeColor"); +function hexToRgb$1(hex) { + var bigint = parseInt(hex.substring(1), 16); + var r = bigint >> 16 & 255; + var g2 = bigint >> 8 & 255; + var b = bigint & 255; + return { r, g: g2, b }; +} +__name(hexToRgb$1, "hexToRgb$1"); +function rgbToHex(r, g2, b) { + return `#${r.toString(16).padStart(2, "0")}${g2.toString(16).padStart(2, "0")}${b.toString(16).padStart(2, "0")}`; +} +__name(rgbToHex, "rgbToHex"); +var mix_default = /* @__PURE__ */ __name((color1, color2, weight) => { + color1 = normalizeColor(color1); + color2 = normalizeColor(color2); + var p2 = weight / 100; + var w = p2 * 2 - 1; + var w1 = (w + 1) / 2; + var w2 = 1 - w1; + var rgb1 = hexToRgb$1(color1); + var rgb2 = hexToRgb$1(color2); + var r = Math.round(rgb1.r * w1 + rgb2.r * w2); + var g2 = Math.round(rgb1.g * w1 + rgb2.g * w2); + var b = Math.round(rgb1.b * w1 + rgb2.b * w2); + return rgbToHex(r, g2, b); +}, "mix_default"); +var shade_default = /* @__PURE__ */ __name((color2, percent) => mix_default("#000000", color2, percent), "shade_default"); +var tint_default = /* @__PURE__ */ __name((color2, percent) => mix_default("#ffffff", color2, percent), "tint_default"); +var scales = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950]; +var palette_default = /* @__PURE__ */ __name((color2) => { + if (/{([^}]*)}/g.test(color2)) { + const token = color2.replace(/{|}/g, ""); + return scales.reduce((acc, scale) => (acc[scale] = `{${token}.${scale}}`, acc), {}); + } + return typeof color2 === "string" ? scales.reduce((acc, scale, i2) => (acc[scale] = i2 <= 5 ? tint_default(color2, (5 - i2) * 19) : shade_default(color2, (i2 - 5) * 15), acc), {}) : color2; +}, "palette_default"); +var $dt = /* @__PURE__ */ __name((tokenPath) => { + var _a2; + const theme40 = config_default.getTheme(); + const variable = dtwt(theme40, tokenPath, void 0, "variable"); + const name2 = (_a2 = variable.match(/--[\w-]+/g)) == null ? void 0 : _a2[0]; + const value4 = dtwt(theme40, tokenPath, void 0, "value"); + return { + name: name2, + variable, + value: value4 + }; +}, "$dt"); +var dt = /* @__PURE__ */ __name((...args) => { + return dtwt(config_default.getTheme(), ...args); +}, "dt"); +var dtwt = /* @__PURE__ */ __name((theme40 = {}, tokenPath, fallback, type = "variable") => { + if (tokenPath) { + const { variable: VARIABLE, options: OPTIONS } = config_default.defaults || {}; + const { prefix: prefix2, transform: transform2 } = (theme40 == null ? void 0 : theme40.options) || OPTIONS || {}; + const regex2 = /{([^}]*)}/g; + const token = matchRegex(tokenPath, regex2) ? tokenPath : `{${tokenPath}}`; + const isStrictTransform = type === "value" || transform2 === "strict"; + return isStrictTransform ? config_default.getTokenValue(tokenPath) : getVariableValue(token, void 0, prefix2, [VARIABLE.excludedKeyRegex], fallback); + } + return ""; +}, "dtwt"); +function css$2(style2) { + return resolve$1(style2, { dt }); +} +__name(css$2, "css$2"); +var $t = /* @__PURE__ */ __name((theme40 = {}) => { + let { preset: _preset, options: _options } = theme40; + return { + preset(value4) { + _preset = _preset ? mergeKeys(_preset, value4) : value4; + return this; + }, + options(value4) { + _options = _options ? __spreadValues(__spreadValues({}, _options), value4) : value4; + return this; + }, + // features + primaryPalette(primary) { + const { semantic } = _preset || {}; + _preset = __spreadProps(__spreadValues({}, _preset), { semantic: __spreadProps(__spreadValues({}, semantic), { primary }) }); + return this; + }, + surfacePalette(surface) { + var _a2, _b; + const { semantic } = _preset || {}; + const lightSurface = (surface == null ? void 0 : surface.hasOwnProperty("light")) ? surface == null ? void 0 : surface.light : surface; + const darkSurface = (surface == null ? void 0 : surface.hasOwnProperty("dark")) ? surface == null ? void 0 : surface.dark : surface; + const newColorScheme = { + colorScheme: { + light: __spreadValues(__spreadValues({}, (_a2 = semantic == null ? void 0 : semantic.colorScheme) == null ? void 0 : _a2.light), !!lightSurface && { surface: lightSurface }), + dark: __spreadValues(__spreadValues({}, (_b = semantic == null ? void 0 : semantic.colorScheme) == null ? void 0 : _b.dark), !!darkSurface && { surface: darkSurface }) + } + }; + _preset = __spreadProps(__spreadValues({}, _preset), { semantic: __spreadValues(__spreadValues({}, semantic), newColorScheme) }); + return this; + }, + // actions + define({ useDefaultPreset = false, useDefaultOptions = false } = {}) { + return { + preset: useDefaultPreset ? config_default.getPreset() : _preset, + options: useDefaultOptions ? config_default.getOptions() : _options + }; + }, + update({ mergePresets = true, mergeOptions: mergeOptions2 = true } = {}) { + const newTheme = { + preset: mergePresets ? mergeKeys(config_default.getPreset(), _preset) : _preset, + options: mergeOptions2 ? __spreadValues(__spreadValues({}, config_default.getOptions()), _options) : _options + }; + config_default.setTheme(newTheme); + return newTheme; + }, + use(options4) { + const newTheme = this.define(options4); + config_default.setTheme(newTheme); + return newTheme; + } + }; +}, "$t"); +function toVariables_default(theme40, options4 = {}) { + const VARIABLE = config_default.defaults.variable; + const { prefix: prefix2 = VARIABLE.prefix, selector = VARIABLE.selector, excludedKeyRegex = VARIABLE.excludedKeyRegex } = options4; + const _toVariables = /* @__PURE__ */ __name((_theme, _prefix = "") => { + return Object.entries(_theme).reduce( + (acc, [key, value4]) => { + const px = matchRegex(key, excludedKeyRegex) ? toNormalizeVariable(_prefix) : toNormalizeVariable(_prefix, toKebabCase(key)); + const v2 = toValue$2(value4); + if (isObject$7(v2)) { + const { variables: variables2, tokens: tokens2 } = _toVariables(v2, px); + merge$1(acc["tokens"], tokens2); + merge$1(acc["variables"], variables2); + } else { + acc["tokens"].push((prefix2 ? px.replace(`${prefix2}-`, "") : px).replaceAll("-", ".")); + setProperty(acc["variables"], getVariableName(px), getVariableValue(v2, px, prefix2, [excludedKeyRegex])); + } + return acc; + }, + { variables: [], tokens: [] } + ); + }, "_toVariables"); + const { variables, tokens } = _toVariables(theme40, prefix2); + return { + value: variables, + tokens, + declarations: variables.join(""), + css: getRule(selector, variables.join("")) + }; +} +__name(toVariables_default, "toVariables_default"); +var themeUtils_default = { + regex: { + rules: { + class: { + pattern: /^\.([a-zA-Z][\w-]*)$/, + resolve(value4) { + return { type: "class", selector: value4, matched: this.pattern.test(value4.trim()) }; + } + }, + attr: { + pattern: /^\[(.*)\]$/, + resolve(value4) { + return { type: "attr", selector: `:root${value4}`, matched: this.pattern.test(value4.trim()) }; + } + }, + media: { + pattern: /^@media (.*)$/, + resolve(value4) { + return { type: "media", selector: `${value4}{:root{[CSS]}}`, matched: this.pattern.test(value4.trim()) }; + } + }, + system: { + pattern: /^system$/, + resolve(value4) { + return { type: "system", selector: "@media (prefers-color-scheme: dark){:root{[CSS]}}", matched: this.pattern.test(value4.trim()) }; + } + }, + custom: { + resolve(value4) { + return { type: "custom", selector: value4, matched: true }; + } + } + }, + resolve(value4) { + const rules = Object.keys(this.rules).filter((k) => k !== "custom").map((r) => this.rules[r]); + return [value4].flat().map((v2) => { + var _a2; + return (_a2 = rules.map((r) => r.resolve(v2)).find((rr) => rr.matched)) != null ? _a2 : this.rules.custom.resolve(v2); + }); + } + }, + _toVariables(theme40, options4) { + return toVariables_default(theme40, { prefix: options4 == null ? void 0 : options4.prefix }); + }, + getCommon({ name: name2 = "", theme: theme40 = {}, params, set: set3, defaults: defaults2 }) { + var _c, _d, _e, _f; + const { preset, options: options4 } = theme40; + let primitive_css, primitive_tokens, semantic_css, semantic_tokens; + if (isNotEmpty(preset)) { + const { primitive, semantic } = preset; + const _a2 = semantic || {}, { colorScheme } = _a2, sRest = __objRest(_a2, ["colorScheme"]); + const _b = colorScheme || {}, { dark: dark2 } = _b, csRest = __objRest(_b, ["dark"]); + const prim_var = isNotEmpty(primitive) ? this._toVariables({ primitive }, options4) : {}; + const sRest_var = isNotEmpty(sRest) ? this._toVariables({ semantic: sRest }, options4) : {}; + const csRest_var = isNotEmpty(csRest) ? this._toVariables({ light: csRest }, options4) : {}; + const dark_var = isNotEmpty(dark2) ? this._toVariables({ dark: dark2 }, options4) : {}; + const [prim_css, prim_tokens] = [(_c = prim_var.declarations) != null ? _c : "", prim_var.tokens]; + const [sRest_css, sRest_tokens] = [(_d = sRest_var.declarations) != null ? _d : "", sRest_var.tokens || []]; + const [csRest_css, csRest_tokens] = [(_e = csRest_var.declarations) != null ? _e : "", csRest_var.tokens || []]; + const [dark_css, dark_tokens] = [(_f = dark_var.declarations) != null ? _f : "", dark_var.tokens || []]; + primitive_css = this.transformCSS(name2, prim_css, "light", "variable", options4, set3, defaults2); + primitive_tokens = prim_tokens; + const semantic_light_css = this.transformCSS(name2, `${sRest_css}${csRest_css}color-scheme:light`, "light", "variable", options4, set3, defaults2); + const semantic_dark_css = this.transformCSS(name2, `${dark_css}color-scheme:dark`, "dark", "variable", options4, set3, defaults2); + semantic_css = `${semantic_light_css}${semantic_dark_css}`; + semantic_tokens = [.../* @__PURE__ */ new Set([...sRest_tokens, ...csRest_tokens, ...dark_tokens])]; + } + return { + primitive: { + css: primitive_css, + tokens: primitive_tokens + }, + semantic: { + css: semantic_css, + tokens: semantic_tokens + } + }; + }, + getPreset({ name: name2 = "", preset = {}, options: options4, params, set: set3, defaults: defaults2, selector }) { + var _c, _d, _e; + const _name = name2.replace("-directive", ""); + const _a2 = preset, { colorScheme } = _a2, vRest = __objRest(_a2, ["colorScheme"]); + const _b = colorScheme || {}, { dark: dark2 } = _b, csRest = __objRest(_b, ["dark"]); + const vRest_var = isNotEmpty(vRest) ? this._toVariables({ [_name]: vRest }, options4) : {}; + const csRest_var = isNotEmpty(csRest) ? this._toVariables({ [_name]: csRest }, options4) : {}; + const dark_var = isNotEmpty(dark2) ? this._toVariables({ [_name]: dark2 }, options4) : {}; + const [vRest_css, vRest_tokens] = [(_c = vRest_var.declarations) != null ? _c : "", vRest_var.tokens || []]; + const [csRest_css, csRest_tokens] = [(_d = csRest_var.declarations) != null ? _d : "", csRest_var.tokens || []]; + const [dark_css, dark_tokens] = [(_e = dark_var.declarations) != null ? _e : "", dark_var.tokens || []]; + const tokens = [.../* @__PURE__ */ new Set([...vRest_tokens, ...csRest_tokens, ...dark_tokens])]; + const light_variable_css = this.transformCSS(_name, `${vRest_css}${csRest_css}`, "light", "variable", options4, set3, defaults2, selector); + const dark_variable_css = this.transformCSS(_name, dark_css, "dark", "variable", options4, set3, defaults2, selector); + return { + css: `${light_variable_css}${dark_variable_css}`, + tokens + }; + }, + getPresetC({ name: name2 = "", theme: theme40 = {}, params, set: set3, defaults: defaults2 }) { + var _a2; + const { preset, options: options4 } = theme40; + const cPreset = (_a2 = preset == null ? void 0 : preset.components) == null ? void 0 : _a2[name2]; + return this.getPreset({ name: name2, preset: cPreset, options: options4, params, set: set3, defaults: defaults2 }); + }, + getPresetD({ name: name2 = "", theme: theme40 = {}, params, set: set3, defaults: defaults2 }) { + var _a2; + const dName = name2.replace("-directive", ""); + const { preset, options: options4 } = theme40; + const dPreset = (_a2 = preset == null ? void 0 : preset.directives) == null ? void 0 : _a2[dName]; + return this.getPreset({ name: dName, preset: dPreset, options: options4, params, set: set3, defaults: defaults2 }); + }, + getColorSchemeOption(options4, defaults2) { + var _a2; + return this.regex.resolve((_a2 = options4.darkModeSelector) != null ? _a2 : defaults2.options.darkModeSelector); + }, + getLayerOrder(name2, options4 = {}, params, defaults2) { + const { cssLayer } = options4; + if (cssLayer) { + const order = resolve$1(cssLayer.order || "primeui", params); + return `@layer ${order}`; + } + return ""; + }, + getCommonStyleSheet({ name: name2 = "", theme: theme40 = {}, params, props = {}, set: set3, defaults: defaults2 }) { + const common = this.getCommon({ name: name2, theme: theme40, params, set: set3, defaults: defaults2 }); + const _props = Object.entries(props).reduce((acc, [k, v2]) => acc.push(`${k}="${v2}"`) && acc, []).join(" "); + return Object.entries(common || {}).reduce((acc, [key, value4]) => { + if (value4 == null ? void 0 : value4.css) { + const _css = minifyCSS(value4 == null ? void 0 : value4.css); + const id3 = `${key}-variables`; + acc.push(``); + } + return acc; + }, []).join(""); + }, + getStyleSheet({ name: name2 = "", theme: theme40 = {}, params, props = {}, set: set3, defaults: defaults2 }) { + var _a2; + const options4 = { name: name2, theme: theme40, params, set: set3, defaults: defaults2 }; + const preset_css = (_a2 = name2.includes("-directive") ? this.getPresetD(options4) : this.getPresetC(options4)) == null ? void 0 : _a2.css; + const _props = Object.entries(props).reduce((acc, [k, v2]) => acc.push(`${k}="${v2}"`) && acc, []).join(" "); + return preset_css ? `` : ""; + }, + createTokens(obj = {}, defaults2, parentKey = "", parentPath = "", tokens = {}) { + Object.entries(obj).forEach(([key, value4]) => { + const currentKey = matchRegex(key, defaults2.variable.excludedKeyRegex) ? parentKey : parentKey ? `${parentKey}.${toTokenKey$1(key)}` : toTokenKey$1(key); + const currentPath = parentPath ? `${parentPath}.${key}` : key; + if (isObject$7(value4)) { + this.createTokens(value4, defaults2, currentKey, currentPath, tokens); + } else { + tokens[currentKey] || (tokens[currentKey] = { + paths: [], + computed(colorScheme, tokenPathMap = {}) { + if (colorScheme) { + const path = this.paths.find((p2) => p2.scheme === colorScheme) || this.paths.find((p2) => p2.scheme === "none"); + return path == null ? void 0 : path.computed(colorScheme, tokenPathMap["binding"]); + } + return this.paths.map((p2) => p2.computed(p2.scheme, tokenPathMap[p2.scheme])); + } + }); + tokens[currentKey].paths.push({ + path: currentPath, + value: value4, + scheme: currentPath.includes("colorScheme.light") ? "light" : currentPath.includes("colorScheme.dark") ? "dark" : "none", + computed(colorScheme, tokenPathMap = {}) { + const regex2 = /{([^}]*)}/g; + let computedValue = value4; + tokenPathMap["name"] = this.path; + tokenPathMap["binding"] || (tokenPathMap["binding"] = {}); + if (matchRegex(value4, regex2)) { + const val = value4.trim(); + const _val = val.replaceAll(regex2, (v2) => { + var _a2, _b; + const path = v2.replace(/{|}/g, ""); + return (_b = (_a2 = tokens[path]) == null ? void 0 : _a2.computed(colorScheme, tokenPathMap)) == null ? void 0 : _b.value; + }); + const calculationRegex = /(\d+\w*\s+[\+\-\*\/]\s+\d+\w*)/g; + const cleanedVarRegex = /var\([^)]+\)/g; + computedValue = matchRegex(_val.replace(cleanedVarRegex, "0"), calculationRegex) ? `calc(${_val})` : _val; + } + isEmpty$1(tokenPathMap["binding"]) && delete tokenPathMap["binding"]; + return { + colorScheme, + path: this.path, + paths: tokenPathMap, + value: computedValue.includes("undefined") ? void 0 : computedValue + }; + } + }); + } + }); + return tokens; + }, + getTokenValue(tokens, path, defaults2) { + var _a2; + const normalizePath = /* @__PURE__ */ __name((str) => { + const strArr = str.split("."); + return strArr.filter((s) => !matchRegex(s.toLowerCase(), defaults2.variable.excludedKeyRegex)).join("."); + }, "normalizePath"); + const token = normalizePath(path); + const colorScheme = path.includes("colorScheme.light") ? "light" : path.includes("colorScheme.dark") ? "dark" : void 0; + const computedValues = [(_a2 = tokens[token]) == null ? void 0 : _a2.computed(colorScheme)].flat().filter((computed2) => computed2); + return computedValues.length === 1 ? computedValues[0].value : computedValues.reduce((acc = {}, computed2) => { + const _a22 = computed2, { colorScheme: cs } = _a22, rest = __objRest(_a22, ["colorScheme"]); + acc[cs] = rest; + return acc; + }, void 0); + }, + transformCSS(name2, css22, mode2, type, options4 = {}, set3, defaults2, selector) { + if (isNotEmpty(css22)) { + const { cssLayer } = options4; + if (type !== "style") { + const colorSchemeOption = this.getColorSchemeOption(options4, defaults2); + const _css = selector ? getRule(selector, css22) : css22; + css22 = mode2 === "dark" ? colorSchemeOption.reduce((acc, { selector: _selector }) => { + if (isNotEmpty(_selector)) { + acc += _selector.includes("[CSS]") ? _selector.replace("[CSS]", _css) : getRule(_selector, _css); + } + return acc; + }, "") : getRule(selector != null ? selector : ":root", css22); + } + if (cssLayer) { + const layerOptions = { + name: "primeui", + order: "primeui" + }; + isObject$7(cssLayer) && (layerOptions.name = resolve$1(cssLayer.name, { name: name2, type })); + if (isNotEmpty(layerOptions.name)) { + css22 = getRule(`@layer ${layerOptions.name}`, css22); + set3 == null ? void 0 : set3.layerNames(layerOptions.name); + } + } + return css22; + } + return ""; + } +}; +var config_default = { + defaults: { + variable: { + prefix: "p", + selector: ":root", + excludedKeyRegex: /^(primitive|semantic|components|directives|variables|colorscheme|light|dark|common|root|states)$/gi + }, + options: { + prefix: "p", + darkModeSelector: "system", + cssLayer: false + } + }, + _theme: void 0, + _layerNames: /* @__PURE__ */ new Set(), + _loadedStyleNames: /* @__PURE__ */ new Set(), + _loadingStyles: /* @__PURE__ */ new Set(), + _tokens: {}, + update(newValues = {}) { + const { theme: theme40 } = newValues; + if (theme40) { + this._theme = __spreadProps(__spreadValues({}, theme40), { + options: __spreadValues(__spreadValues({}, this.defaults.options), theme40.options) + }); + this._tokens = themeUtils_default.createTokens(this.preset, this.defaults); + this.clearLoadedStyleNames(); + } + }, + get theme() { + return this._theme; + }, + get preset() { + var _a2; + return ((_a2 = this.theme) == null ? void 0 : _a2.preset) || {}; + }, + get options() { + var _a2; + return ((_a2 = this.theme) == null ? void 0 : _a2.options) || {}; + }, + get tokens() { + return this._tokens; + }, + getTheme() { + return this.theme; + }, + setTheme(newValue2) { + this.update({ theme: newValue2 }); + service_default.emit("theme:change", newValue2); + }, + getPreset() { + return this.preset; + }, + setPreset(newValue2) { + this._theme = __spreadProps(__spreadValues({}, this.theme), { preset: newValue2 }); + this._tokens = themeUtils_default.createTokens(newValue2, this.defaults); + this.clearLoadedStyleNames(); + service_default.emit("preset:change", newValue2); + service_default.emit("theme:change", this.theme); + }, + getOptions() { + return this.options; + }, + setOptions(newValue2) { + this._theme = __spreadProps(__spreadValues({}, this.theme), { options: newValue2 }); + this.clearLoadedStyleNames(); + service_default.emit("options:change", newValue2); + service_default.emit("theme:change", this.theme); + }, + getLayerNames() { + return [...this._layerNames]; + }, + setLayerNames(layerName) { + this._layerNames.add(layerName); + }, + getLoadedStyleNames() { + return this._loadedStyleNames; + }, + isStyleNameLoaded(name2) { + return this._loadedStyleNames.has(name2); + }, + setLoadedStyleName(name2) { + this._loadedStyleNames.add(name2); + }, + deleteLoadedStyleName(name2) { + this._loadedStyleNames.delete(name2); + }, + clearLoadedStyleNames() { + this._loadedStyleNames.clear(); + }, + getTokenValue(tokenPath) { + return themeUtils_default.getTokenValue(this.tokens, tokenPath, this.defaults); + }, + getCommon(name2 = "", params) { + return themeUtils_default.getCommon({ name: name2, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); + }, + getComponent(name2 = "", params) { + const options4 = { name: name2, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }; + return themeUtils_default.getPresetC(options4); + }, + getDirective(name2 = "", params) { + const options4 = { name: name2, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }; + return themeUtils_default.getPresetD(options4); + }, + getCustomPreset(name2 = "", preset, selector, params) { + const options4 = { name: name2, preset, options: this.options, selector, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }; + return themeUtils_default.getPreset(options4); + }, + getLayerOrderCSS(name2 = "") { + return themeUtils_default.getLayerOrder(name2, this.options, { names: this.getLayerNames() }, this.defaults); + }, + transformCSS(name2 = "", css22, type = "style", mode2) { + return themeUtils_default.transformCSS(name2, css22, mode2, type, this.options, { layerNames: this.setLayerNames.bind(this) }, this.defaults); + }, + getCommonStyleSheet(name2 = "", params, props = {}) { + return themeUtils_default.getCommonStyleSheet({ name: name2, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); + }, + getStyleSheet(name2, params, props = {}) { + return themeUtils_default.getStyleSheet({ name: name2, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); + }, + onStyleMounted(name2) { + this._loadingStyles.add(name2); + }, + onStyleUpdated(name2) { + this._loadingStyles.add(name2); + }, + onStyleLoaded(event, { name: name2 }) { + if (this._loadingStyles.size) { + this._loadingStyles.delete(name2); + service_default.emit(`theme:${name2}:load`, event); + !this._loadingStyles.size && service_default.emit("theme:load"); + } + } +}; +function updatePreset(...presets) { + const newPreset = mergeKeys(config_default.getPreset(), ...presets); + config_default.setPreset(newPreset); + return newPreset; +} +__name(updatePreset, "updatePreset"); +function updatePrimaryPalette(primary) { + return $t().primaryPalette(primary).update().preset; +} +__name(updatePrimaryPalette, "updatePrimaryPalette"); +function updateSurfacePalette(palette) { + return $t().surfacePalette(palette).update().preset; +} +__name(updateSurfacePalette, "updateSurfacePalette"); +function usePreset(...presets) { + const newPreset = mergeKeys(...presets); + config_default.setPreset(newPreset); + return newPreset; +} +__name(usePreset, "usePreset"); +function useTheme(theme40) { + return $t(theme40).update({ mergePresets: false }); +} +__name(useTheme, "useTheme"); +var index$1n = { + root: { + transitionDuration: "{transition.duration}" + }, + panel: { + borderWidth: "0 0 1px 0", + borderColor: "{content.border.color}" + }, + header: { + color: "{text.muted.color}", + hoverColor: "{text.color}", + activeColor: "{text.color}", + padding: "1.125rem", + fontWeight: "600", + borderRadius: "0", + borderWidth: "0", + borderColor: "{content.border.color}", + background: "{content.background}", + hoverBackground: "{content.background}", + activeBackground: "{content.background}", + activeHoverBackground: "{content.background}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + toggleIcon: { + color: "{text.muted.color}", + hoverColor: "{text.color}", + activeColor: "{text.color}", + activeHoverColor: "{text.color}" + }, + first: { + topBorderRadius: "{content.border.radius}", + borderWidth: "0" + }, + last: { + bottomBorderRadius: "{content.border.radius}", + activeBottomBorderRadius: "0" + } + }, + content: { + borderWidth: "0", + borderColor: "{content.border.color}", + background: "{content.background}", + color: "{text.color}", + padding: "0 1.125rem 1.125rem 1.125rem" + } +}; +var index$1m = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}" + }, + overlay: { + background: "{overlay.select.background}", + borderColor: "{overlay.select.border.color}", + borderRadius: "{overlay.select.border.radius}", + color: "{overlay.select.color}", + shadow: "{overlay.select.shadow}" + }, + list: { + padding: "{list.padding}", + gap: "{list.gap}" + }, + option: { + focusBackground: "{list.option.focus.background}", + selectedBackground: "{list.option.selected.background}", + selectedFocusBackground: "{list.option.selected.focus.background}", + color: "{list.option.color}", + focusColor: "{list.option.focus.color}", + selectedColor: "{list.option.selected.color}", + selectedFocusColor: "{list.option.selected.focus.color}", + padding: "{list.option.padding}", + borderRadius: "{list.option.border.radius}" + }, + optionGroup: { + background: "{list.option.group.background}", + color: "{list.option.group.color}", + fontWeight: "{list.option.group.font.weight}", + padding: "{list.option.group.padding}" + }, + dropdown: { + width: "2.5rem", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.border.color}", + activeBorderColor: "{form.field.border.color}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + chip: { + borderRadius: "{border.radius.sm}" + }, + emptyMessage: { + padding: "{list.option.padding}" + }, + colorScheme: { + light: { + dropdown: { + background: "{surface.100}", + hoverBackground: "{surface.200}", + activeBackground: "{surface.300}", + color: "{surface.600}", + hoverColor: "{surface.700}", + activeColor: "{surface.800}" + } + }, + dark: { + dropdown: { + background: "{surface.800}", + hoverBackground: "{surface.700}", + activeBackground: "{surface.600}", + color: "{surface.300}", + hoverColor: "{surface.200}", + activeColor: "{surface.100}" + } + } + } +}; +var index$1l = { + root: { + width: "2rem", + height: "2rem", + fontSize: "1rem", + background: "{content.border.color}", + borderRadius: "{content.border.radius}" + }, + group: { + borderColor: "{content.background}", + offset: "-1rem" + }, + lg: { + width: "3rem", + height: "3rem", + fontSize: "1.5rem" + }, + xl: { + width: "4rem", + height: "4rem", + fontSize: "2rem" + } +}; +var index$1k = { + root: { + borderRadius: "{border.radius.md}", + padding: "0 0.5rem", + fontSize: "0.75rem", + fontWeight: "700", + minWidth: "1.5rem", + height: "1.5rem" + }, + dot: { + size: "0.5rem" + }, + sm: { + fontSize: "0.625rem", + minWidth: "1.25rem", + height: "1.25rem" + }, + lg: { + fontSize: "0.875rem", + minWidth: "1.75rem", + height: "1.75rem" + }, + xl: { + fontSize: "1rem", + minWidth: "2rem", + height: "2rem" + }, + colorScheme: { + light: { + primary: { + background: "{primary.color}", + color: "{primary.contrast.color}" + }, + secondary: { + background: "{surface.100}", + color: "{surface.600}" + }, + success: { + background: "{green.500}", + color: "{surface.0}" + }, + info: { + background: "{sky.500}", + color: "{surface.0}" + }, + warn: { + background: "{orange.500}", + color: "{surface.0}" + }, + danger: { + background: "{red.500}", + color: "{surface.0}" + }, + contrast: { + background: "{surface.950}", + color: "{surface.0}" + } + }, + dark: { + primary: { + background: "{primary.color}", + color: "{primary.contrast.color}" + }, + secondary: { + background: "{surface.800}", + color: "{surface.300}" + }, + success: { + background: "{green.400}", + color: "{green.950}" + }, + info: { + background: "{sky.400}", + color: "{sky.950}" + }, + warn: { + background: "{orange.400}", + color: "{orange.950}" + }, + danger: { + background: "{red.400}", + color: "{red.950}" + }, + contrast: { + background: "{surface.0}", + color: "{surface.950}" + } + } + } +}; +var index$1j = { + root: { + borderRadius: "{content.border.radius}" + } +}; +var index$1i = { + root: { + padding: "1rem", + background: "{content.background}", + gap: "0.5rem", + transitionDuration: "{transition.duration}" + }, + item: { + color: "{text.muted.color}", + hoverColor: "{text.color}", + borderRadius: "{content.border.radius}", + gap: "{navigation.item.gap}", + icon: { + color: "{navigation.item.icon.color}", + hoverColor: "{navigation.item.icon.focus.color}" + }, + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + separator: { + color: "{navigation.item.icon.color}" + } +}; +var index$1h = { + root: { + borderRadius: "{form.field.border.radius}", + roundedBorderRadius: "2rem", + gap: "0.5rem", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + iconOnlyWidth: "2.5rem", + sm: { + fontSize: "0.875rem", + paddingX: "0.625rem", + paddingY: "0.375rem" + }, + lg: { + fontSize: "1.125rem", + paddingX: "0.875rem", + paddingY: "0.625rem" + }, + label: { + fontWeight: "500" + }, + raisedShadow: "0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + offset: "{focus.ring.offset}" + }, + badgeSize: "1rem", + transitionDuration: "{form.field.transition.duration}" + }, + colorScheme: { + light: { + root: { + primary: { + background: "{primary.color}", + hoverBackground: "{primary.hover.color}", + activeBackground: "{primary.active.color}", + borderColor: "{primary.color}", + hoverBorderColor: "{primary.hover.color}", + activeBorderColor: "{primary.active.color}", + color: "{primary.contrast.color}", + hoverColor: "{primary.contrast.color}", + activeColor: "{primary.contrast.color}", + focusRing: { + color: "{primary.color}", + shadow: "none" + } + }, + secondary: { + background: "{surface.100}", + hoverBackground: "{surface.200}", + activeBackground: "{surface.300}", + borderColor: "{surface.100}", + hoverBorderColor: "{surface.200}", + activeBorderColor: "{surface.300}", + color: "{surface.600}", + hoverColor: "{surface.700}", + activeColor: "{surface.800}", + focusRing: { + color: "{surface.600}", + shadow: "none" + } + }, + info: { + background: "{sky.500}", + hoverBackground: "{sky.600}", + activeBackground: "{sky.700}", + borderColor: "{sky.500}", + hoverBorderColor: "{sky.600}", + activeBorderColor: "{sky.700}", + color: "#ffffff", + hoverColor: "#ffffff", + activeColor: "#ffffff", + focusRing: { + color: "{sky.500}", + shadow: "none" + } + }, + success: { + background: "{green.500}", + hoverBackground: "{green.600}", + activeBackground: "{green.700}", + borderColor: "{green.500}", + hoverBorderColor: "{green.600}", + activeBorderColor: "{green.700}", + color: "#ffffff", + hoverColor: "#ffffff", + activeColor: "#ffffff", + focusRing: { + color: "{green.500}", + shadow: "none" + } + }, + warn: { + background: "{orange.500}", + hoverBackground: "{orange.600}", + activeBackground: "{orange.700}", + borderColor: "{orange.500}", + hoverBorderColor: "{orange.600}", + activeBorderColor: "{orange.700}", + color: "#ffffff", + hoverColor: "#ffffff", + activeColor: "#ffffff", + focusRing: { + color: "{orange.500}", + shadow: "none" + } + }, + help: { + background: "{purple.500}", + hoverBackground: "{purple.600}", + activeBackground: "{purple.700}", + borderColor: "{purple.500}", + hoverBorderColor: "{purple.600}", + activeBorderColor: "{purple.700}", + color: "#ffffff", + hoverColor: "#ffffff", + activeColor: "#ffffff", + focusRing: { + color: "{purple.500}", + shadow: "none" + } + }, + danger: { + background: "{red.500}", + hoverBackground: "{red.600}", + activeBackground: "{red.700}", + borderColor: "{red.500}", + hoverBorderColor: "{red.600}", + activeBorderColor: "{red.700}", + color: "#ffffff", + hoverColor: "#ffffff", + activeColor: "#ffffff", + focusRing: { + color: "{red.500}", + shadow: "none" + } + }, + contrast: { + background: "{surface.950}", + hoverBackground: "{surface.900}", + activeBackground: "{surface.800}", + borderColor: "{surface.950}", + hoverBorderColor: "{surface.900}", + activeBorderColor: "{surface.800}", + color: "{surface.0}", + hoverColor: "{surface.0}", + activeColor: "{surface.0}", + focusRing: { + color: "{surface.950}", + shadow: "none" + } + } + }, + outlined: { + primary: { + hoverBackground: "{primary.50}", + activeBackground: "{primary.100}", + borderColor: "{primary.200}", + color: "{primary.color}" + }, + secondary: { + hoverBackground: "{surface.50}", + activeBackground: "{surface.100}", + borderColor: "{surface.200}", + color: "{surface.500}" + }, + success: { + hoverBackground: "{green.50}", + activeBackground: "{green.100}", + borderColor: "{green.200}", + color: "{green.500}" + }, + info: { + hoverBackground: "{sky.50}", + activeBackground: "{sky.100}", + borderColor: "{sky.200}", + color: "{sky.500}" + }, + warn: { + hoverBackground: "{orange.50}", + activeBackground: "{orange.100}", + borderColor: "{orange.200}", + color: "{orange.500}" + }, + help: { + hoverBackground: "{purple.50}", + activeBackground: "{purple.100}", + borderColor: "{purple.200}", + color: "{purple.500}" + }, + danger: { + hoverBackground: "{red.50}", + activeBackground: "{red.100}", + borderColor: "{red.200}", + color: "{red.500}" + }, + contrast: { + hoverBackground: "{surface.50}", + activeBackground: "{surface.100}", + borderColor: "{surface.700}", + color: "{surface.950}" + }, + plain: { + hoverBackground: "{surface.50}", + activeBackground: "{surface.100}", + borderColor: "{surface.200}", + color: "{surface.700}" + } + }, + text: { + primary: { + hoverBackground: "{primary.50}", + activeBackground: "{primary.100}", + color: "{primary.color}" + }, + secondary: { + hoverBackground: "{surface.50}", + activeBackground: "{surface.100}", + color: "{surface.500}" + }, + success: { + hoverBackground: "{green.50}", + activeBackground: "{green.100}", + color: "{green.500}" + }, + info: { + hoverBackground: "{sky.50}", + activeBackground: "{sky.100}", + color: "{sky.500}" + }, + warn: { + hoverBackground: "{orange.50}", + activeBackground: "{orange.100}", + color: "{orange.500}" + }, + help: { + hoverBackground: "{purple.50}", + activeBackground: "{purple.100}", + color: "{purple.500}" + }, + danger: { + hoverBackground: "{red.50}", + activeBackground: "{red.100}", + color: "{red.500}" + }, + plain: { + hoverBackground: "{surface.50}", + activeBackground: "{surface.100}", + color: "{surface.700}" + } + }, + link: { + color: "{primary.color}", + hoverColor: "{primary.color}", + activeColor: "{primary.color}" + } + }, + dark: { + root: { + primary: { + background: "{primary.color}", + hoverBackground: "{primary.hover.color}", + activeBackground: "{primary.active.color}", + borderColor: "{primary.color}", + hoverBorderColor: "{primary.hover.color}", + activeBorderColor: "{primary.active.color}", + color: "{primary.contrast.color}", + hoverColor: "{primary.contrast.color}", + activeColor: "{primary.contrast.color}", + focusRing: { + color: "{primary.color}", + shadow: "none" + } + }, + secondary: { + background: "{surface.800}", + hoverBackground: "{surface.700}", + activeBackground: "{surface.600}", + borderColor: "{surface.800}", + hoverBorderColor: "{surface.700}", + activeBorderColor: "{surface.600}", + color: "{surface.300}", + hoverColor: "{surface.200}", + activeColor: "{surface.100}", + focusRing: { + color: "{surface.300}", + shadow: "none" + } + }, + info: { + background: "{sky.400}", + hoverBackground: "{sky.300}", + activeBackground: "{sky.200}", + borderColor: "{sky.400}", + hoverBorderColor: "{sky.300}", + activeBorderColor: "{sky.200}", + color: "{sky.950}", + hoverColor: "{sky.950}", + activeColor: "{sky.950}", + focusRing: { + color: "{sky.400}", + shadow: "none" + } + }, + success: { + background: "{green.400}", + hoverBackground: "{green.300}", + activeBackground: "{green.200}", + borderColor: "{green.400}", + hoverBorderColor: "{green.300}", + activeBorderColor: "{green.200}", + color: "{green.950}", + hoverColor: "{green.950}", + activeColor: "{green.950}", + focusRing: { + color: "{green.400}", + shadow: "none" + } + }, + warn: { + background: "{orange.400}", + hoverBackground: "{orange.300}", + activeBackground: "{orange.200}", + borderColor: "{orange.400}", + hoverBorderColor: "{orange.300}", + activeBorderColor: "{orange.200}", + color: "{orange.950}", + hoverColor: "{orange.950}", + activeColor: "{orange.950}", + focusRing: { + color: "{orange.400}", + shadow: "none" + } + }, + help: { + background: "{purple.400}", + hoverBackground: "{purple.300}", + activeBackground: "{purple.200}", + borderColor: "{purple.400}", + hoverBorderColor: "{purple.300}", + activeBorderColor: "{purple.200}", + color: "{purple.950}", + hoverColor: "{purple.950}", + activeColor: "{purple.950}", + focusRing: { + color: "{purple.400}", + shadow: "none" + } + }, + danger: { + background: "{red.400}", + hoverBackground: "{red.300}", + activeBackground: "{red.200}", + borderColor: "{red.400}", + hoverBorderColor: "{red.300}", + activeBorderColor: "{red.200}", + color: "{red.950}", + hoverColor: "{red.950}", + activeColor: "{red.950}", + focusRing: { + color: "{red.400}", + shadow: "none" + } + }, + contrast: { + background: "{surface.0}", + hoverBackground: "{surface.100}", + activeBackground: "{surface.200}", + borderColor: "{surface.0}", + hoverBorderColor: "{surface.100}", + activeBorderColor: "{surface.200}", + color: "{surface.950}", + hoverColor: "{surface.950}", + activeColor: "{surface.950}", + focusRing: { + color: "{surface.0}", + shadow: "none" + } + } + }, + outlined: { + primary: { + hoverBackground: "color-mix(in srgb, {primary.color}, transparent 96%)", + activeBackground: "color-mix(in srgb, {primary.color}, transparent 84%)", + borderColor: "{primary.700}", + color: "{primary.color}" + }, + secondary: { + hoverBackground: "rgba(255,255,255,0.04)", + activeBackground: "rgba(255,255,255,0.16)", + borderColor: "{surface.700}", + color: "{surface.400}" + }, + success: { + hoverBackground: "color-mix(in srgb, {green.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {green.400}, transparent 84%)", + borderColor: "{green.700}", + color: "{green.400}" + }, + info: { + hoverBackground: "color-mix(in srgb, {sky.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {sky.400}, transparent 84%)", + borderColor: "{sky.700}", + color: "{sky.400}" + }, + warn: { + hoverBackground: "color-mix(in srgb, {orange.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {orange.400}, transparent 84%)", + borderColor: "{orange.700}", + color: "{orange.400}" + }, + help: { + hoverBackground: "color-mix(in srgb, {purple.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {purple.400}, transparent 84%)", + borderColor: "{purple.700}", + color: "{purple.400}" + }, + danger: { + hoverBackground: "color-mix(in srgb, {red.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {red.400}, transparent 84%)", + borderColor: "{red.700}", + color: "{red.400}" + }, + contrast: { + hoverBackground: "{surface.800}", + activeBackground: "{surface.700}", + borderColor: "{surface.500}", + color: "{surface.0}" + }, + plain: { + hoverBackground: "{surface.800}", + activeBackground: "{surface.700}", + borderColor: "{surface.600}", + color: "{surface.0}" + } + }, + text: { + primary: { + hoverBackground: "color-mix(in srgb, {primary.color}, transparent 96%)", + activeBackground: "color-mix(in srgb, {primary.color}, transparent 84%)", + color: "{primary.color}" + }, + secondary: { + hoverBackground: "{surface.800}", + activeBackground: "{surface.700}", + color: "{surface.400}" + }, + success: { + hoverBackground: "color-mix(in srgb, {green.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {green.400}, transparent 84%)", + color: "{green.400}" + }, + info: { + hoverBackground: "color-mix(in srgb, {sky.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {sky.400}, transparent 84%)", + color: "{sky.400}" + }, + warn: { + hoverBackground: "color-mix(in srgb, {orange.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {orange.400}, transparent 84%)", + color: "{orange.400}" + }, + help: { + hoverBackground: "color-mix(in srgb, {purple.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {purple.400}, transparent 84%)", + color: "{purple.400}" + }, + danger: { + hoverBackground: "color-mix(in srgb, {red.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {red.400}, transparent 84%)", + color: "{red.400}" + }, + plain: { + hoverBackground: "{surface.800}", + activeBackground: "{surface.700}", + color: "{surface.0}" + } + }, + link: { + color: "{primary.color}", + hoverColor: "{primary.color}", + activeColor: "{primary.color}" + } + } + } +}; +var index$1g = { + root: { + background: "{content.background}", + borderRadius: "{border.radius.xl}", + color: "{content.color}", + shadow: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)" + }, + body: { + padding: "1.25rem", + gap: "0.5rem" + }, + caption: { + gap: "0.5rem" + }, + title: { + fontSize: "1.25rem", + fontWeight: "500" + }, + subtitle: { + color: "{text.muted.color}" + } +}; +var index$1f = { + root: { + transitionDuration: "{transition.duration}" + }, + content: { + gap: "0.25rem" + }, + indicatorList: { + padding: "1rem", + gap: "0.5rem" + }, + indicator: { + width: "2rem", + height: "0.5rem", + borderRadius: "{content.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + colorScheme: { + light: { + indicator: { + background: "{surface.200}", + hoverBackground: "{surface.300}", + activeBackground: "{primary.color}" + } + }, + dark: { + indicator: { + background: "{surface.700}", + hoverBackground: "{surface.600}", + activeBackground: "{primary.color}" + } + } + } +}; +var index$1e = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}" + }, + dropdown: { + width: "2.5rem", + color: "{form.field.icon.color}" + }, + overlay: { + background: "{overlay.select.background}", + borderColor: "{overlay.select.border.color}", + borderRadius: "{overlay.select.border.radius}", + color: "{overlay.select.color}", + shadow: "{overlay.select.shadow}" + }, + list: { + padding: "{list.padding}", + gap: "{list.gap}" + }, + option: { + focusBackground: "{list.option.focus.background}", + selectedBackground: "{list.option.selected.background}", + selectedFocusBackground: "{list.option.selected.focus.background}", + color: "{list.option.color}", + focusColor: "{list.option.focus.color}", + selectedColor: "{list.option.selected.color}", + selectedFocusColor: "{list.option.selected.focus.color}", + padding: "{list.option.padding}", + borderRadius: "{list.option.border.radius}", + icon: { + color: "{list.option.icon.color}", + focusColor: "{list.option.icon.focus.color}", + size: "0.875rem" + } + } +}; +var index$1d = { + root: { + borderRadius: "{border.radius.sm}", + width: "1.25rem", + height: "1.25rem", + background: "{form.field.background}", + checkedBackground: "{primary.color}", + checkedHoverBackground: "{primary.hover.color}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.border.color}", + checkedBorderColor: "{primary.color}", + checkedHoverBorderColor: "{primary.hover.color}", + checkedFocusBorderColor: "{primary.color}", + checkedDisabledBorderColor: "{form.field.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + shadow: "{form.field.shadow}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}" + }, + icon: { + size: "0.875rem", + color: "{form.field.color}", + checkedColor: "{primary.contrast.color}", + checkedHoverColor: "{primary.contrast.color}", + disabledColor: "{form.field.disabled.color}" + } +}; +var index$1c = { + root: { + borderRadius: "16px", + paddingX: "0.75rem", + paddingY: "0.5rem", + gap: "0.5rem", + transitionDuration: "{transition.duration}" + }, + image: { + width: "2rem", + height: "2rem" + }, + icon: { + size: "1rem" + }, + removeIcon: { + size: "1rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + } + }, + colorScheme: { + light: { + root: { + background: "{surface.100}", + color: "{surface.800}" + }, + icon: { + color: "{surface.800}" + }, + removeIcon: { + color: "{surface.800}" + } + }, + dark: { + root: { + background: "{surface.800}", + color: "{surface.0}" + }, + icon: { + color: "{surface.0}" + }, + removeIcon: { + color: "{surface.0}" + } + } + } +}; +var index$1b = { + root: { + transitionDuration: "{transition.duration}" + }, + preview: { + width: "1.5rem", + height: "1.5rem", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + panel: { + shadow: "{overlay.popover.shadow}", + borderRadius: "{overlay.popover.borderRadius}" + }, + colorScheme: { + light: { + panel: { + background: "{surface.800}", + borderColor: "{surface.900}" + }, + handle: { + color: "{surface.0}" + } + }, + dark: { + panel: { + background: "{surface.900}", + borderColor: "{surface.700}" + }, + handle: { + color: "{surface.0}" + } + } + } +}; +var index$1a = { + icon: { + size: "2rem", + color: "{overlay.modal.color}" + }, + content: { + gap: "1rem" + } +}; +var index$19 = { + root: { + background: "{overlay.popover.background}", + borderColor: "{overlay.popover.border.color}", + color: "{overlay.popover.color}", + borderRadius: "{overlay.popover.border.radius}", + shadow: "{overlay.popover.shadow}", + gutter: "10px", + arrowOffset: "1.25rem" + }, + content: { + padding: "{overlay.popover.padding}", + gap: "1rem" + }, + icon: { + size: "1.5rem", + color: "{overlay.popover.color}" + }, + footer: { + gap: "0.5rem", + padding: "0 {overlay.popover.padding} {overlay.popover.padding} {overlay.popover.padding}" + } +}; +var index$18 = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + borderRadius: "{content.border.radius}", + shadow: "{overlay.navigation.shadow}", + transitionDuration: "{transition.duration}" + }, + list: { + padding: "{navigation.list.padding}", + gap: "{navigation.list.gap}" + }, + item: { + focusBackground: "{navigation.item.focus.background}", + activeBackground: "{navigation.item.active.background}", + color: "{navigation.item.color}", + focusColor: "{navigation.item.focus.color}", + activeColor: "{navigation.item.active.color}", + padding: "{navigation.item.padding}", + borderRadius: "{navigation.item.border.radius}", + gap: "{navigation.item.gap}", + icon: { + color: "{navigation.item.icon.color}", + focusColor: "{navigation.item.icon.focus.color}", + activeColor: "{navigation.item.icon.active.color}" + } + }, + submenuIcon: { + size: "{navigation.submenu.icon.size}", + color: "{navigation.submenu.icon.color}", + focusColor: "{navigation.submenu.icon.focus.color}", + activeColor: "{navigation.submenu.icon.active.color}" + }, + separator: { + borderColor: "{content.border.color}" + } +}; +var index$17 = { + root: { + transitionDuration: "{transition.duration}" + }, + header: { + background: "{content.background}", + borderColor: "{datatable.border.color}", + color: "{content.color}", + borderWidth: "0 0 1px 0", + padding: "0.75rem 1rem" + }, + headerCell: { + background: "{content.background}", + hoverBackground: "{content.hover.background}", + selectedBackground: "{highlight.background}", + borderColor: "{datatable.border.color}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + selectedColor: "{highlight.color}", + gap: "0.5rem", + padding: "0.75rem 1rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "-1px", + shadow: "{focus.ring.shadow}" + } + }, + columnTitle: { + fontWeight: "600" + }, + row: { + background: "{content.background}", + hoverBackground: "{content.hover.background}", + selectedBackground: "{highlight.background}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + selectedColor: "{highlight.color}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "-1px", + shadow: "{focus.ring.shadow}" + } + }, + bodyCell: { + borderColor: "{datatable.border.color}", + padding: "0.75rem 1rem" + }, + footerCell: { + background: "{content.background}", + borderColor: "{datatable.border.color}", + color: "{content.color}", + padding: "0.75rem 1rem" + }, + columnFooter: { + fontWeight: "600" + }, + footer: { + background: "{content.background}", + borderColor: "{datatable.border.color}", + color: "{content.color}", + borderWidth: "0 0 1px 0", + padding: "0.75rem 1rem" + }, + dropPointColor: "{primary.color}", + columnResizerWidth: "0.5rem", + resizeIndicator: { + width: "1px", + color: "{primary.color}" + }, + sortIcon: { + color: "{text.muted.color}", + hoverColor: "{text.hover.muted.color}" + }, + loadingIcon: { + size: "2rem" + }, + rowToggleButton: { + hoverBackground: "{content.hover.background}", + selectedHoverBackground: "{content.background}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + selectedHoverColor: "{primary.color}", + size: "1.75rem", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + filter: { + inlineGap: "0.5rem", + overlaySelect: { + background: "{overlay.select.background}", + borderColor: "{overlay.select.border.color}", + borderRadius: "{overlay.select.border.radius}", + color: "{overlay.select.color}", + shadow: "{overlay.select.shadow}" + }, + overlayPopover: { + background: "{overlay.popover.background}", + borderColor: "{overlay.popover.border.color}", + borderRadius: "{overlay.popover.border.radius}", + color: "{overlay.popover.color}", + shadow: "{overlay.popover.shadow}", + padding: "{overlay.popover.padding}", + gap: "0.5rem" + }, + rule: { + borderColor: "{content.border.color}" + }, + constraintList: { + padding: "{list.padding}", + gap: "{list.gap}" + }, + constraint: { + focusBackground: "{list.option.focus.background}", + selectedBackground: "{list.option.selected.background}", + selectedFocusBackground: "{list.option.selected.focus.background}", + color: "{list.option.color}", + focusColor: "{list.option.focus.color}", + selectedColor: "{list.option.selected.color}", + selectedFocusColor: "{list.option.selected.focus.color}", + separator: { + borderColor: "{content.border.color}" + }, + padding: "{list.option.padding}", + borderRadius: "{list.option.border.radius}" + } + }, + paginatorTop: { + borderColor: "{datatable.border.color}", + borderWidth: "0 0 1px 0" + }, + paginatorBottom: { + borderColor: "{datatable.border.color}", + borderWidth: "0 0 1px 0" + }, + colorScheme: { + light: { + root: { + borderColor: "{content.border.color}" + }, + row: { + stripedBackground: "{surface.50}" + }, + bodyCell: { + selectedBorderColor: "{primary.100}" + } + }, + dark: { + root: { + borderColor: "{surface.800}" + }, + row: { + stripedBackground: "{surface.950}" + }, + bodyCell: { + selectedBorderColor: "{primary.900}" + } + } + } +}; +var index$16 = { + root: { + borderColor: "transparent", + borderWidth: "0", + borderRadius: "0", + padding: "0" + }, + header: { + background: "{content.background}", + color: "{content.color}", + borderColor: "{content.border.color}", + borderWidth: "0 0 1px 0", + padding: "0.75rem 1rem", + borderRadius: "0" + }, + content: { + background: "{content.background}", + color: "{content.color}", + borderColor: "transparent", + borderWidth: "0", + padding: "0", + borderRadius: "0" + }, + footer: { + background: "{content.background}", + color: "{content.color}", + borderColor: "{content.border.color}", + borderWidth: "1px 0 0 0", + padding: "0.75rem 1rem", + borderRadius: "0" + }, + paginatorTop: { + borderColor: "{content.border.color}", + borderWidth: "0 0 1px 0" + }, + paginatorBottom: { + borderColor: "{content.border.color}", + borderWidth: "1px 0 0 0" + } +}; +var index$15 = { + root: { + transitionDuration: "{transition.duration}" + }, + panel: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + borderRadius: "{content.border.radius}", + shadow: "{overlay.popover.shadow}", + padding: "{overlay.popover.padding}" + }, + header: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + padding: "0 0 0.5rem 0", + fontWeight: "500", + gap: "0.5rem" + }, + title: { + gap: "0.5rem", + fontWeight: "500" + }, + dropdown: { + width: "2.5rem", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.border.color}", + activeBorderColor: "{form.field.border.color}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + inputIcon: { + color: "{form.field.icon.color}" + }, + selectMonth: { + hoverBackground: "{content.hover.background}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + padding: "0.25rem 0.5rem", + borderRadius: "{content.border.radius}" + }, + selectYear: { + hoverBackground: "{content.hover.background}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + padding: "0.25rem 0.5rem", + borderRadius: "{content.border.radius}" + }, + group: { + borderColor: "{content.border.color}", + gap: "{overlay.popover.padding}" + }, + dayView: { + margin: "0.5rem 0 0 0" + }, + weekDay: { + padding: "0.25rem", + fontWeight: "500", + color: "{content.color}" + }, + date: { + hoverBackground: "{content.hover.background}", + selectedBackground: "{primary.color}", + rangeSelectedBackground: "{highlight.background}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + selectedColor: "{primary.contrast.color}", + rangeSelectedColor: "{highlight.color}", + width: "2rem", + height: "2rem", + borderRadius: "50%", + padding: "0.25rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + monthView: { + margin: "0.5rem 0 0 0" + }, + month: { + borderRadius: "{content.border.radius}" + }, + yearView: { + margin: "0.5rem 0 0 0" + }, + year: { + borderRadius: "{content.border.radius}" + }, + buttonbar: { + padding: "0.5rem 0 0 0", + borderColor: "{content.border.color}" + }, + timePicker: { + padding: "0.5rem 0 0 0", + borderColor: "{content.border.color}", + gap: "0.5rem", + buttonGap: "0.25rem" + }, + colorScheme: { + light: { + dropdown: { + background: "{surface.100}", + hoverBackground: "{surface.200}", + activeBackground: "{surface.300}", + color: "{surface.600}", + hoverColor: "{surface.700}", + activeColor: "{surface.800}" + }, + today: { + background: "{surface.200}", + color: "{surface.900}" + } + }, + dark: { + dropdown: { + background: "{surface.800}", + hoverBackground: "{surface.700}", + activeBackground: "{surface.600}", + color: "{surface.300}", + hoverColor: "{surface.200}", + activeColor: "{surface.100}" + }, + today: { + background: "{surface.700}", + color: "{surface.0}" + } + } + } +}; +var index$14 = { + root: { + background: "{overlay.modal.background}", + borderColor: "{overlay.modal.border.color}", + color: "{overlay.modal.color}", + borderRadius: "{overlay.modal.border.radius}", + shadow: "{overlay.modal.shadow}" + }, + header: { + padding: "{overlay.modal.padding}", + gap: "0.5rem" + }, + title: { + fontSize: "1.25rem", + fontWeight: "600" + }, + content: { + padding: "0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}" + }, + footer: { + padding: "0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}", + gap: "0.5rem" + } +}; +var index$13 = { + root: { + borderColor: "{content.border.color}" + }, + content: { + background: "{content.background}", + color: "{text.color}" + }, + horizontal: { + margin: "1rem 0", + padding: "0 1rem", + content: { + padding: "0 0.5rem" + } + }, + vertical: { + margin: "0 1rem", + padding: "0.5rem 0", + content: { + padding: "0.5rem 0" + } + } +}; +var index$12 = { + root: { + background: "rgba(255, 255, 255, 0.1)", + borderColor: "rgba(255, 255, 255, 0.2)", + padding: "0.5rem", + borderRadius: "{border.radius.xl}" + }, + item: { + borderRadius: "{content.border.radius}", + padding: "0.5rem", + size: "3rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + } +}; +var index$11 = { + root: { + background: "{overlay.modal.background}", + borderColor: "{overlay.modal.border.color}", + color: "{overlay.modal.color}", + borderRadius: "{overlay.modal.border.radius}", + shadow: "{overlay.modal.shadow}" + }, + header: { + padding: "{overlay.modal.padding}" + }, + title: { + fontSize: "1.5rem", + fontWeight: "600" + }, + content: { + padding: "0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}" + } +}; +var index$10 = { + toolbar: { + background: "{content.background}", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}" + }, + toolbarItem: { + color: "{text.muted.color}", + hoverColor: "{text.color}", + activeColor: "{primary.color}" + }, + overlay: { + background: "{overlay.select.background}", + borderColor: "{overlay.select.border.color}", + borderRadius: "{overlay.select.border.radius}", + color: "{overlay.select.color}", + shadow: "{overlay.select.shadow}", + padding: "{list.padding}" + }, + overlayOption: { + focusBackground: "{list.option.focus.background}", + color: "{list.option.color}", + focusColor: "{list.option.focus.color}", + padding: "{list.option.padding}", + borderRadius: "{list.option.border.radius}" + }, + content: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + borderRadius: "{content.border.radius}" + } +}; +var index$$ = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}", + color: "{content.color}", + padding: "0 1.125rem 1.125rem 1.125rem", + transitionDuration: "{transition.duration}" + }, + legend: { + background: "{content.background}", + hoverBackground: "{content.hover.background}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + borderRadius: "{content.border.radius}", + borderWidth: "1px", + borderColor: "transparent", + padding: "0.5rem 0.75rem", + gap: "0.5rem", + fontWeight: "600", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + toggleIcon: { + color: "{text.muted.color}", + hoverColor: "{text.hover.muted.color}" + }, + content: { + padding: "0" + } +}; +var index$_ = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + borderRadius: "{content.border.radius}", + transitionDuration: "{transition.duration}" + }, + header: { + background: "transparent", + color: "{text.color}", + padding: "1.125rem", + borderWidth: "0", + borderRadius: "0", + gap: "0.5rem" + }, + content: { + highlightBorderColor: "{primary.color}", + padding: "0 1.125rem 1.125rem 1.125rem" + }, + file: { + padding: "1rem", + gap: "1rem", + borderColor: "{content.border.color}", + info: { + gap: "0.5rem" + } + }, + progressbar: { + height: "0.25rem" + }, + basic: { + gap: "0.5rem" + } +}; +var index$Z = { + root: { + color: "{form.field.float.label.color}", + focusColor: "{form.field.float.label.focus.color}", + invalidColor: "{form.field.float.label.invalid.color}", + transitionDuration: "0.2s" + } +}; +var index$Y = { + root: { + borderWidth: "1px", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}", + transitionDuration: "{transition.duration}" + }, + navButton: { + background: "rgba(255, 255, 255, 0.1)", + hoverBackground: "rgba(255, 255, 255, 0.2)", + color: "{surface.100}", + hoverColor: "{surface.0}", + size: "3rem", + gutter: "0.5rem", + prev: { + borderRadius: "50%" + }, + next: { + borderRadius: "50%" + }, + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + navIcon: { + size: "1.5rem" + }, + thumbnailsContent: { + background: "{content.background}", + padding: "1rem 0.25rem" + }, + thumbnailNavButton: { + size: "2rem", + borderRadius: "{content.border.radius}", + gutter: "0.5rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + thumbnailNavButtonIcon: { + size: "1rem" + }, + caption: { + background: "rgba(0, 0, 0, 0.5)", + color: "{surface.100}", + padding: "1rem" + }, + indicatorList: { + gap: "0.5rem", + padding: "1rem" + }, + indicatorButton: { + width: "1rem", + height: "1rem", + activeBackground: "{primary.color}", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + insetIndicatorList: { + background: "rgba(0, 0, 0, 0.5)" + }, + insetIndicatorButton: { + background: "rgba(255, 255, 255, 0.4)", + hoverBackground: "rgba(255, 255, 255, 0.6)", + activeBackground: "rgba(255, 255, 255, 0.9)" + }, + mask: { + background: "{mask.background}", + color: "{mask.color}" + }, + closeButton: { + size: "3rem", + gutter: "0.5rem", + background: "rgba(255, 255, 255, 0.1)", + hoverBackground: "rgba(255, 255, 255, 0.2)", + color: "{surface.50}", + hoverColor: "{surface.0}", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + closeButtonIcon: { + size: "1.5rem" + }, + colorScheme: { + light: { + thumbnailNavButton: { + hoverBackground: "{surface.100}", + color: "{surface.600}", + hoverColor: "{surface.700}" + }, + indicatorButton: { + background: "{surface.200}", + hoverBackground: "{surface.300}" + } + }, + dark: { + thumbnailNavButton: { + hoverBackground: "{surface.700}", + color: "{surface.400}", + hoverColor: "{surface.0}" + }, + indicatorButton: { + background: "{surface.700}", + hoverBackground: "{surface.600}" + } + } + } +}; +var index$X = { + icon: { + color: "{form.field.icon.color}" + } +}; +var index$W = { + root: { + transitionDuration: "{transition.duration}" + }, + preview: { + icon: { + size: "1.5rem" + }, + mask: { + background: "{mask.background}", + color: "{mask.color}" + } + }, + toolbar: { + position: { + left: "auto", + right: "1rem", + top: "1rem", + bottom: "auto" + }, + blur: "8px", + background: "rgba(255,255,255,0.1)", + borderColor: "rgba(255,255,255,0.2)", + borderWidth: "1px", + borderRadius: "30px", + padding: ".5rem", + gap: "0.5rem" + }, + action: { + hoverBackground: "rgba(255,255,255,0.1)", + color: "{surface.50}", + hoverColor: "{surface.0}", + size: "3rem", + iconSize: "1.5rem", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + } +}; +var index$V = { + root: { + padding: "{form.field.padding.y} {form.field.padding.x}", + borderRadius: "{content.border.radius}", + gap: "0.5rem" + }, + text: { + fontWeight: "500" + }, + icon: { + size: "1rem" + }, + colorScheme: { + light: { + info: { + background: "color-mix(in srgb, {blue.50}, transparent 5%)", + borderColor: "{blue.200}", + color: "{blue.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)" + }, + success: { + background: "color-mix(in srgb, {green.50}, transparent 5%)", + borderColor: "{green.200}", + color: "{green.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)" + }, + warn: { + background: "color-mix(in srgb,{yellow.50}, transparent 5%)", + borderColor: "{yellow.200}", + color: "{yellow.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)" + }, + error: { + background: "color-mix(in srgb, {red.50}, transparent 5%)", + borderColor: "{red.200}", + color: "{red.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)" + }, + secondary: { + background: "{surface.100}", + borderColor: "{surface.200}", + color: "{surface.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)" + }, + contrast: { + background: "{surface.900}", + borderColor: "{surface.950}", + color: "{surface.50}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)" + } + }, + dark: { + info: { + background: "color-mix(in srgb, {blue.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {blue.700}, transparent 64%)", + color: "{blue.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)" + }, + success: { + background: "color-mix(in srgb, {green.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {green.700}, transparent 64%)", + color: "{green.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)" + }, + warn: { + background: "color-mix(in srgb, {yellow.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {yellow.700}, transparent 64%)", + color: "{yellow.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)" + }, + error: { + background: "color-mix(in srgb, {red.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {red.700}, transparent 64%)", + color: "{red.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)" + }, + secondary: { + background: "{surface.800}", + borderColor: "{surface.700}", + color: "{surface.300}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)" + }, + contrast: { + background: "{surface.0}", + borderColor: "{surface.100}", + color: "{surface.950}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)" + } + } + } +}; +var index$U = { + root: { + padding: "{form.field.padding.y} {form.field.padding.x}", + borderRadius: "{content.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + transitionDuration: "{transition.duration}" + }, + display: { + hoverBackground: "{content.hover.background}", + hoverColor: "{content.hover.color}" + } +}; +var index$T = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}" + }, + chip: { + borderRadius: "{border.radius.sm}" + }, + colorScheme: { + light: { + chip: { + focusBackground: "{surface.200}", + color: "{surface.800}" + } + }, + dark: { + chip: { + focusBackground: "{surface.700}", + color: "{surface.0}" + } + } + } +}; +var index$S = { + addon: { + background: "{form.field.background}", + borderColor: "{form.field.border.color}", + color: "{form.field.icon.color}", + borderRadius: "{form.field.border.radius}" + } +}; +var index$R = { + root: { + transitionDuration: "{transition.duration}" + }, + button: { + width: "2.5rem", + borderRadius: "{form.field.border.radius}", + verticalPadding: "{form.field.padding.y}" + }, + colorScheme: { + light: { + button: { + background: "transparent", + hoverBackground: "{surface.100}", + activeBackground: "{surface.200}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.border.color}", + activeBorderColor: "{form.field.border.color}", + color: "{surface.400}", + hoverColor: "{surface.500}", + activeColor: "{surface.600}" + } + }, + dark: { + button: { + background: "transparent", + hoverBackground: "{surface.800}", + activeBackground: "{surface.700}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.border.color}", + activeBorderColor: "{form.field.border.color}", + color: "{surface.400}", + hoverColor: "{surface.300}", + activeColor: "{surface.200}" + } + } + } +}; +var index$Q = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}", + sm: { + fontSize: "0.875rem", + paddingX: "0.625rem", + paddingY: "0.375rem" + }, + lg: { + fontSize: "1.125rem", + paddingX: "0.875rem", + paddingY: "0.625rem" + } + } +}; +var index$P = { + root: { + transitionDuration: "{transition.duration}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + value: { + background: "{primary.color}" + }, + range: { + background: "{content.border.color}" + }, + text: { + color: "{text.muted.color}" + } +}; +var index$O = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + shadow: "{form.field.shadow}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}" + }, + list: { + padding: "{list.padding}", + gap: "{list.gap}", + header: { + padding: "{list.header.padding}" + } + }, + option: { + focusBackground: "{list.option.focus.background}", + selectedBackground: "{list.option.selected.background}", + selectedFocusBackground: "{list.option.selected.focus.background}", + color: "{list.option.color}", + focusColor: "{list.option.focus.color}", + selectedColor: "{list.option.selected.color}", + selectedFocusColor: "{list.option.selected.focus.color}", + padding: "{list.option.padding}", + borderRadius: "{list.option.border.radius}" + }, + optionGroup: { + background: "{list.option.group.background}", + color: "{list.option.group.color}", + fontWeight: "{list.option.group.font.weight}", + padding: "{list.option.group.padding}" + }, + checkmark: { + color: "{list.option.color}", + gutterStart: "-0.375rem", + gutterEnd: "0.375rem" + }, + emptyMessage: { + padding: "{list.option.padding}" + }, + colorScheme: { + light: { + option: { + stripedBackground: "{surface.50}" + } + }, + dark: { + option: { + stripedBackground: "{surface.900}" + } + } + } +}; +var index$N = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}", + color: "{content.color}", + gap: "0.5rem", + verticalOrientation: { + padding: "{navigation.list.padding}", + gap: "0" + }, + horizontalOrientation: { + padding: "0.5rem 0.75rem" + }, + transitionDuration: "{transition.duration}" + }, + baseItem: { + borderRadius: "{content.border.radius}", + padding: "{navigation.item.padding}" + }, + item: { + focusBackground: "{navigation.item.focus.background}", + activeBackground: "{navigation.item.active.background}", + color: "{navigation.item.color}", + focusColor: "{navigation.item.focus.color}", + activeColor: "{navigation.item.active.color}", + padding: "{navigation.item.padding}", + borderRadius: "{navigation.item.border.radius}", + gap: "{navigation.item.gap}", + icon: { + color: "{navigation.item.icon.color}", + focusColor: "{navigation.item.icon.focus.color}", + activeColor: "{navigation.item.icon.active.color}" + } + }, + overlay: { + padding: "0", + background: "{content.background}", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}", + color: "{content.color}", + shadow: "{overlay.navigation.shadow}", + gap: "0.5rem" + }, + submenu: { + padding: "{navigation.list.padding}", + gap: "{navigation.list.gap}" + }, + submenuLabel: { + padding: "{navigation.submenu.label.padding}", + fontWeight: "{navigation.submenu.label.font.weight}", + background: "{navigation.submenu.label.background.}", + color: "{navigation.submenu.label.color}" + }, + submenuIcon: { + size: "{navigation.submenu.icon.size}", + color: "{navigation.submenu.icon.color}", + focusColor: "{navigation.submenu.icon.focus.color}", + activeColor: "{navigation.submenu.icon.active.color}" + }, + separator: { + borderColor: "{content.border.color}" + }, + mobileButton: { + borderRadius: "50%", + size: "1.75rem", + color: "{text.muted.color}", + hoverColor: "{text.muted.hover.color}", + hoverBackground: "{content.hover.background}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + } +}; +var index$M = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + borderRadius: "{content.border.radius}", + shadow: "{overlay.navigation.shadow}", + transitionDuration: "{transition.duration}" + }, + list: { + padding: "{navigation.list.padding}", + gap: "{navigation.list.gap}" + }, + item: { + focusBackground: "{navigation.item.focus.background}", + color: "{navigation.item.color}", + focusColor: "{navigation.item.focus.color}", + padding: "{navigation.item.padding}", + borderRadius: "{navigation.item.border.radius}", + gap: "{navigation.item.gap}", + icon: { + color: "{navigation.item.icon.color}", + focusColor: "{navigation.item.icon.focus.color}" + } + }, + submenuLabel: { + padding: "{navigation.submenu.label.padding}", + fontWeight: "{navigation.submenu.label.font.weight}", + background: "{navigation.submenu.label.background}", + color: "{navigation.submenu.label.color}" + }, + separator: { + borderColor: "{content.border.color}" + } +}; +var index$L = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}", + color: "{content.color}", + gap: "0.5rem", + padding: "0.5rem 0.75rem", + transitionDuration: "{transition.duration}" + }, + baseItem: { + borderRadius: "{content.border.radius}", + padding: "{navigation.item.padding}" + }, + item: { + focusBackground: "{navigation.item.focus.background}", + activeBackground: "{navigation.item.active.background}", + color: "{navigation.item.color}", + focusColor: "{navigation.item.focus.color}", + activeColor: "{navigation.item.active.color}", + padding: "{navigation.item.padding}", + borderRadius: "{navigation.item.border.radius}", + gap: "{navigation.item.gap}", + icon: { + color: "{navigation.item.icon.color}", + focusColor: "{navigation.item.icon.focus.color}", + activeColor: "{navigation.item.icon.active.color}" + } + }, + submenu: { + padding: "{navigation.list.padding}", + gap: "{navigation.list.gap}", + background: "{content.background}", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}", + shadow: "{overlay.navigation.shadow}", + mobileIndent: "1rem" + }, + submenuIcon: { + size: "{navigation.submenu.icon.size}", + color: "{navigation.submenu.icon.color}", + focusColor: "{navigation.submenu.icon.focus.color}", + activeColor: "{navigation.submenu.icon.active.color}" + }, + separator: { + borderColor: "{content.border.color}" + }, + mobileButton: { + borderRadius: "50%", + size: "1.75rem", + color: "{text.muted.color}", + hoverColor: "{text.muted.hover.color}", + hoverBackground: "{content.hover.background}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + } +}; +var index$K = { + root: { + borderRadius: "{content.border.radius}", + borderWidth: "1px", + transitionDuration: "{transition.duration}" + }, + content: { + padding: "0.5rem 0.75rem", + gap: "0.5rem" + }, + text: { + fontSize: "1rem", + fontWeight: "500" + }, + icon: { + size: "1.125rem" + }, + closeButton: { + width: "1.75rem", + height: "1.75rem", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + offset: "{focus.ring.offset}" + } + }, + closeIcon: { + size: "1rem" + }, + colorScheme: { + light: { + info: { + background: "color-mix(in srgb, {blue.50}, transparent 5%)", + borderColor: "{blue.200}", + color: "{blue.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)", + closeButton: { + hoverBackground: "{blue.100}", + focusRing: { + color: "{blue.600}", + shadow: "none" + } + } + }, + success: { + background: "color-mix(in srgb, {green.50}, transparent 5%)", + borderColor: "{green.200}", + color: "{green.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)", + closeButton: { + hoverBackground: "{green.100}", + focusRing: { + color: "{green.600}", + shadow: "none" + } + } + }, + warn: { + background: "color-mix(in srgb,{yellow.50}, transparent 5%)", + borderColor: "{yellow.200}", + color: "{yellow.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)", + closeButton: { + hoverBackground: "{yellow.100}", + focusRing: { + color: "{yellow.600}", + shadow: "none" + } + } + }, + error: { + background: "color-mix(in srgb, {red.50}, transparent 5%)", + borderColor: "{red.200}", + color: "{red.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)", + closeButton: { + hoverBackground: "{red.100}", + focusRing: { + color: "{red.600}", + shadow: "none" + } + } + }, + secondary: { + background: "{surface.100}", + borderColor: "{surface.200}", + color: "{surface.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.200}", + focusRing: { + color: "{surface.600}", + shadow: "none" + } + } + }, + contrast: { + background: "{surface.900}", + borderColor: "{surface.950}", + color: "{surface.50}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.800}", + focusRing: { + color: "{surface.50}", + shadow: "none" + } + } + } + }, + dark: { + info: { + background: "color-mix(in srgb, {blue.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {blue.700}, transparent 64%)", + color: "{blue.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{blue.500}", + shadow: "none" + } + } + }, + success: { + background: "color-mix(in srgb, {green.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {green.700}, transparent 64%)", + color: "{green.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{green.500}", + shadow: "none" + } + } + }, + warn: { + background: "color-mix(in srgb, {yellow.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {yellow.700}, transparent 64%)", + color: "{yellow.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{yellow.500}", + shadow: "none" + } + } + }, + error: { + background: "color-mix(in srgb, {red.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {red.700}, transparent 64%)", + color: "{red.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{red.500}", + shadow: "none" + } + } + }, + secondary: { + background: "{surface.800}", + borderColor: "{surface.700}", + color: "{surface.300}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.700}", + focusRing: { + color: "{surface.300}", + shadow: "none" + } + } + }, + contrast: { + background: "{surface.0}", + borderColor: "{surface.100}", + color: "{surface.950}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.100}", + focusRing: { + color: "{surface.950}", + shadow: "none" + } + } + } + } + } +}; +var index$J = { + root: { + borderRadius: "{content.border.radius}", + gap: "1rem" + }, + meters: { + background: "{content.border.color}", + size: "0.5rem" + }, + label: { + gap: "0.5rem" + }, + labelMarker: { + size: "0.5rem" + }, + labelIcon: { + size: "1rem" + }, + labelList: { + verticalGap: "0.5rem", + horizontalGap: "1rem" + } +}; +var index$I = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}" + }, + dropdown: { + width: "2.5rem", + color: "{form.field.icon.color}" + }, + overlay: { + background: "{overlay.select.background}", + borderColor: "{overlay.select.border.color}", + borderRadius: "{overlay.select.border.radius}", + color: "{overlay.select.color}", + shadow: "{overlay.select.shadow}" + }, + list: { + padding: "{list.padding}", + gap: "{list.gap}", + header: { + padding: "{list.header.padding}" + } + }, + option: { + focusBackground: "{list.option.focus.background}", + selectedBackground: "{list.option.selected.background}", + selectedFocusBackground: "{list.option.selected.focus.background}", + color: "{list.option.color}", + focusColor: "{list.option.focus.color}", + selectedColor: "{list.option.selected.color}", + selectedFocusColor: "{list.option.selected.focus.color}", + padding: "{list.option.padding}", + borderRadius: "{list.option.border.radius}", + gap: "0.5rem" + }, + optionGroup: { + background: "{list.option.group.background}", + color: "{list.option.group.color}", + fontWeight: "{list.option.group.font.weight}", + padding: "{list.option.group.padding}" + }, + chip: { + borderRadius: "{border.radius.sm}" + }, + emptyMessage: { + padding: "{list.option.padding}" + } +}; +var index$H = { + root: { + gap: "1.125rem" + }, + controls: { + gap: "0.5rem" + } +}; +var index$G = { + root: { + gutter: "0.75rem", + transitionDuration: "{transition.duration}" + }, + node: { + background: "{content.background}", + hoverBackground: "{content.hover.background}", + selectedBackground: "{highlight.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + selectedColor: "{highlight.color}", + hoverColor: "{content.hover.color}", + padding: "0.75rem 1rem", + toggleablePadding: "0.75rem 1rem 1.25rem 1rem", + borderRadius: "{content.border.radius}" + }, + nodeToggleButton: { + background: "{content.background}", + hoverBackground: "{content.hover.background}", + borderColor: "{content.border.color}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + size: "1.5rem", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + connector: { + color: "{content.border.color}", + borderRadius: "{content.border.radius}", + height: "24px" + } +}; +var index$F = { + root: { + outline: { + width: "2px", + color: "{content.background}" + } + } +}; +var index$E = { + root: { + padding: "0.5rem 1rem", + gap: "0.25rem", + borderRadius: "{content.border.radius}", + background: "{content.background}", + color: "{content.color}", + transitionDuration: "{transition.duration}" + }, + navButton: { + background: "transparent", + hoverBackground: "{content.hover.background}", + selectedBackground: "{highlight.background}", + color: "{text.muted.color}", + hoverColor: "{text.hover.muted.color}", + selectedColor: "{highlight.color}", + width: "2.5rem", + height: "2.5rem", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + currentPageReport: { + color: "{text.muted.color}" + }, + jumpToPageInput: { + maxWidth: "2.5rem" + } +}; +var index$D = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + borderRadius: "{content.border.radius}" + }, + header: { + background: "transparent", + color: "{text.color}", + padding: "1.125rem", + borderColor: "{content.border.color}", + borderWidth: "0", + borderRadius: "0" + }, + toggleableHeader: { + padding: "0.375rem 1.125rem" + }, + title: { + fontWeight: "600" + }, + content: { + padding: "0 1.125rem 1.125rem 1.125rem" + }, + footer: { + padding: "0 1.125rem 1.125rem 1.125rem" + } +}; +var index$C = { + root: { + gap: "0.5rem", + transitionDuration: "{transition.duration}" + }, + panel: { + background: "{content.background}", + borderColor: "{content.border.color}", + borderWidth: "1px", + color: "{content.color}", + padding: "0.25rem 0.25rem", + borderRadius: "{content.border.radius}", + first: { + borderWidth: "1px", + topBorderRadius: "{content.border.radius}" + }, + last: { + borderWidth: "1px", + bottomBorderRadius: "{content.border.radius}" + } + }, + item: { + focusBackground: "{navigation.item.focus.background}", + color: "{navigation.item.color}", + focusColor: "{navigation.item.focus.color}", + gap: "0.5rem", + padding: "{navigation.item.padding}", + borderRadius: "{content.border.radius}", + icon: { + color: "{navigation.item.icon.color}", + focusColor: "{navigation.item.icon.focus.color}" + } + }, + submenu: { + indent: "1rem" + }, + submenuIcon: { + color: "{navigation.submenu.icon.color}", + focusColor: "{navigation.submenu.icon.focus.color}" + } +}; +var index$B = { + meter: { + background: "{content.border.color}", + borderRadius: "{content.border.radius}", + height: ".75rem" + }, + icon: { + color: "{form.field.icon.color}" + }, + overlay: { + background: "{overlay.popover.background}", + borderColor: "{overlay.popover.border.color}", + borderRadius: "{overlay.popover.border.radius}", + color: "{overlay.popover.color}", + padding: "{overlay.popover.padding}", + shadow: "{overlay.popover.shadow}" + }, + content: { + gap: "0.5rem" + }, + colorScheme: { + light: { + strength: { + weakBackground: "{red.500}", + mediumBackground: "{amber.500}", + strongBackground: "{green.500}" + } + }, + dark: { + strength: { + weakBackground: "{red.400}", + mediumBackground: "{amber.400}", + strongBackground: "{green.400}" + } + } + } +}; +var index$A = { + root: { + gap: "1.125rem" + }, + controls: { + gap: "0.5rem" + } +}; +var index$z = { + root: { + background: "{overlay.popover.background}", + borderColor: "{overlay.popover.border.color}", + color: "{overlay.popover.color}", + borderRadius: "{overlay.popover.border.radius}", + shadow: "{overlay.popover.shadow}", + gutter: "10px", + arrowOffset: "1.25rem" + }, + content: { + padding: "{overlay.popover.padding}" + } +}; +var index$y = { + root: { + background: "{content.border.color}", + borderRadius: "{content.border.radius}", + height: "1.25rem" + }, + value: { + background: "{primary.color}" + }, + label: { + color: "{primary.contrast.color}", + fontSize: "0.75rem", + fontWeight: "600" + } +}; +var index$x = { + colorScheme: { + light: { + root: { + "color.1": "{red.500}", + "color.2": "{blue.500}", + "color.3": "{green.500}", + "color.4": "{yellow.500}" + } + }, + dark: { + root: { + "color.1": "{red.400}", + "color.2": "{blue.400}", + "color.3": "{green.400}", + "color.4": "{yellow.400}" + } + } + } +}; +var index$w = { + root: { + width: "1.25rem", + height: "1.25rem", + background: "{form.field.background}", + checkedBackground: "{primary.color}", + checkedHoverBackground: "{primary.hover.color}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.border.color}", + checkedBorderColor: "{primary.color}", + checkedHoverBorderColor: "{primary.hover.color}", + checkedFocusBorderColor: "{primary.color}", + checkedDisabledBorderColor: "{form.field.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + shadow: "{form.field.shadow}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}" + }, + icon: { + size: "0.75rem", + checkedColor: "{primary.contrast.color}", + checkedHoverColor: "{primary.contrast.color}", + disabledColor: "{form.field.disabled.color}" + } +}; +var index$v = { + root: { + gap: "0.25rem", + transitionDuration: "{transition.duration}" + }, + icon: { + size: "1rem", + color: "{text.muted.color}", + hoverColor: "{primary.color}", + activeColor: "{primary.color}" + } +}; +var index$u = { + colorScheme: { + light: { + root: { + background: "rgba(0,0,0,0.1)" + } + }, + dark: { + root: { + background: "rgba(255,255,255,0.3)" + } + } + } +}; +var index$t = { + root: { + transitionDuration: "{transition.duration}" + }, + bar: { + size: "9px", + borderRadius: "{border.radius.sm}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + colorScheme: { + light: { + bar: { + background: "{surface.100}" + } + }, + dark: { + bar: { + background: "{surface.800}" + } + } + } +}; +var index$s = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}" + }, + dropdown: { + width: "2.5rem", + color: "{form.field.icon.color}" + }, + overlay: { + background: "{overlay.select.background}", + borderColor: "{overlay.select.border.color}", + borderRadius: "{overlay.select.border.radius}", + color: "{overlay.select.color}", + shadow: "{overlay.select.shadow}" + }, + list: { + padding: "{list.padding}", + gap: "{list.gap}", + header: { + padding: "{list.header.padding}" + } + }, + option: { + focusBackground: "{list.option.focus.background}", + selectedBackground: "{list.option.selected.background}", + selectedFocusBackground: "{list.option.selected.focus.background}", + color: "{list.option.color}", + focusColor: "{list.option.focus.color}", + selectedColor: "{list.option.selected.color}", + selectedFocusColor: "{list.option.selected.focus.color}", + padding: "{list.option.padding}", + borderRadius: "{list.option.border.radius}" + }, + optionGroup: { + background: "{list.option.group.background}", + color: "{list.option.group.color}", + fontWeight: "{list.option.group.font.weight}", + padding: "{list.option.group.padding}" + }, + clearIcon: { + color: "{form.field.icon.color}" + }, + checkmark: { + color: "{list.option.color}", + gutterStart: "-0.375rem", + gutterEnd: "0.375rem" + }, + emptyMessage: { + padding: "{list.option.padding}" + } +}; +var index$r = { + root: { + borderRadius: "{form.field.border.radius}" + }, + colorScheme: { + light: { + root: { + invalidBorderColor: "{form.field.invalid.border.color}" + } + }, + dark: { + root: { + invalidBorderColor: "{form.field.invalid.border.color}" + } + } + } +}; +var index$q = { + root: { + borderRadius: "{content.border.radius}" + }, + colorScheme: { + light: { + root: { + background: "{surface.200}", + animationBackground: "rgba(255,255,255,0.4)" + } + }, + dark: { + root: { + background: "rgba(255, 255, 255, 0.06)", + animationBackground: "rgba(255, 255, 255, 0.04)" + } + } + } +}; +var index$p = { + root: { + transitionDuration: "{transition.duration}" + }, + track: { + background: "{content.border.color}", + borderRadius: "{content.border.radius}", + size: "3px" + }, + range: { + background: "{primary.color}" + }, + handle: { + width: "20px", + height: "20px", + borderRadius: "50%", + background: "{content.border.color}", + hoverBackground: "{content.border.color}", + content: { + borderRadius: "50%", + hoverBackground: "{content.background}", + width: "16px", + height: "16px", + shadow: "0px 0.5px 0px 0px rgba(0, 0, 0, 0.08), 0px 1px 1px 0px rgba(0, 0, 0, 0.14)" + }, + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + colorScheme: { + light: { + handle: { + contentBackground: "{surface.0}" + } + }, + dark: { + handle: { + contentBackground: "{surface.950}" + } + } + } +}; +var index$o = { + root: { + gap: "0.5rem", + transitionDuration: "{transition.duration}" + } +}; +var index$n = { + root: { + borderRadius: "{form.field.border.radius}", + roundedBorderRadius: "2rem", + raisedShadow: "0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)" + } +}; +var index$m = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + transitionDuration: "{transition.duration}" + }, + gutter: { + background: "{content.border.color}" + }, + handle: { + size: "24px", + background: "transparent", + borderRadius: "{content.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + } +}; +var index$l = { + root: { + transitionDuration: "{transition.duration}" + }, + separator: { + background: "{content.border.color}", + activeBackground: "{primary.color}", + margin: "0 0 0 1.625rem", + size: "2px" + }, + step: { + padding: "0.5rem", + gap: "1rem" + }, + stepHeader: { + padding: "0", + borderRadius: "{content.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + gap: "0.5rem" + }, + stepTitle: { + color: "{text.muted.color}", + activeColor: "{primary.color}", + fontWeight: "500" + }, + stepNumber: { + background: "{content.background}", + activeBackground: "{content.background}", + borderColor: "{content.border.color}", + activeBorderColor: "{content.border.color}", + color: "{text.muted.color}", + activeColor: "{primary.color}", + size: "2rem", + fontSize: "1.143rem", + fontWeight: "500", + borderRadius: "50%", + shadow: "0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)" + }, + steppanels: { + padding: "0.875rem 0.5rem 1.125rem 0.5rem" + }, + steppanel: { + background: "{content.background}", + color: "{content.color}", + padding: "0 0 0 1rem" + } +}; +var index$k = { + root: { + transitionDuration: "{transition.duration}" + }, + separator: { + background: "{content.border.color}" + }, + itemLink: { + borderRadius: "{content.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + gap: "0.5rem" + }, + itemLabel: { + color: "{text.muted.color}", + activeColor: "{primary.color}", + fontWeight: "500" + }, + itemNumber: { + background: "{content.background}", + activeBackground: "{content.background}", + borderColor: "{content.border.color}", + activeBorderColor: "{content.border.color}", + color: "{text.muted.color}", + activeColor: "{primary.color}", + size: "2rem", + fontSize: "1.143rem", + fontWeight: "500", + borderRadius: "50%", + shadow: "0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)" + } +}; +var index$j = { + root: { + transitionDuration: "{transition.duration}" + }, + tablist: { + borderWidth: "0 0 1px 0", + background: "{content.background}", + borderColor: "{content.border.color}" + }, + item: { + background: "transparent", + hoverBackground: "transparent", + activeBackground: "transparent", + borderWidth: "0 0 1px 0", + borderColor: "{content.border.color}", + hoverBorderColor: "{content.border.color}", + activeBorderColor: "{primary.color}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + activeColor: "{primary.color}", + padding: "1rem 1.125rem", + fontWeight: "600", + margin: "0 0 -1px 0", + gap: "0.5rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + itemIcon: { + color: "{text.muted.color}", + hoverColor: "{text.color}", + activeColor: "{primary.color}" + }, + activeBar: { + height: "1px", + bottom: "-1px", + background: "{primary.color}" + } +}; +var index$i = { + root: { + transitionDuration: "{transition.duration}" + }, + tablist: { + borderWidth: "0 0 1px 0", + background: "{content.background}", + borderColor: "{content.border.color}" + }, + tab: { + background: "transparent", + hoverBackground: "transparent", + activeBackground: "transparent", + borderWidth: "0 0 1px 0", + borderColor: "{content.border.color}", + hoverBorderColor: "{content.border.color}", + activeBorderColor: "{primary.color}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + activeColor: "{primary.color}", + padding: "1rem 1.125rem", + fontWeight: "600", + margin: "0 0 -1px 0", + gap: "0.5rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "-1px", + shadow: "{focus.ring.shadow}" + } + }, + tabpanel: { + background: "{content.background}", + color: "{content.color}", + padding: "0.875rem 1.125rem 1.125rem 1.125rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "inset {focus.ring.shadow}" + } + }, + navButton: { + background: "{content.background}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + width: "2.5rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "-1px", + shadow: "{focus.ring.shadow}" + } + }, + activeBar: { + height: "1px", + bottom: "-1px", + background: "{primary.color}" + }, + colorScheme: { + light: { + navButton: { + shadow: "0px 0px 10px 50px rgba(255, 255, 255, 0.6)" + } + }, + dark: { + navButton: { + shadow: "0px 0px 10px 50px color-mix(in srgb, {content.background}, transparent 50%)" + } + } + } +}; +var index$h = { + root: { + transitionDuration: "{transition.duration}" + }, + tabList: { + background: "{content.background}", + borderColor: "{content.border.color}" + }, + tab: { + borderColor: "{content.border.color}", + activeBorderColor: "{primary.color}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + activeColor: "{primary.color}" + }, + tabPanel: { + background: "{content.background}", + color: "{content.color}" + }, + navButton: { + background: "{content.background}", + color: "{text.muted.color}", + hoverColor: "{text.color}" + }, + colorScheme: { + light: { + navButton: { + shadow: "0px 0px 10px 50px rgba(255, 255, 255, 0.6)" + } + }, + dark: { + navButton: { + shadow: "0px 0px 10px 50px color-mix(in srgb, {content.background}, transparent 50%)" + } + } + } +}; +var index$g = { + root: { + fontSize: "0.875rem", + fontWeight: "700", + padding: "0.25rem 0.5rem", + gap: "0.25rem", + borderRadius: "{content.border.radius}", + roundedBorderRadius: "{border.radius.xl}" + }, + icon: { + size: "0.75rem" + }, + colorScheme: { + light: { + primary: { + background: "{primary.100}", + color: "{primary.700}" + }, + secondary: { + background: "{surface.100}", + color: "{surface.600}" + }, + success: { + background: "{green.100}", + color: "{green.700}" + }, + info: { + background: "{sky.100}", + color: "{sky.700}" + }, + warn: { + background: "{orange.100}", + color: "{orange.700}" + }, + danger: { + background: "{red.100}", + color: "{red.700}" + }, + contrast: { + background: "{surface.950}", + color: "{surface.0}" + } + }, + dark: { + primary: { + background: "color-mix(in srgb, {primary.500}, transparent 84%)", + color: "{primary.300}" + }, + secondary: { + background: "{surface.800}", + color: "{surface.300}" + }, + success: { + background: "color-mix(in srgb, {green.500}, transparent 84%)", + color: "{green.300}" + }, + info: { + background: "color-mix(in srgb, {sky.500}, transparent 84%)", + color: "{sky.300}" + }, + warn: { + background: "color-mix(in srgb, {orange.500}, transparent 84%)", + color: "{orange.300}" + }, + danger: { + background: "color-mix(in srgb, {red.500}, transparent 84%)", + color: "{red.300}" + }, + contrast: { + background: "{surface.0}", + color: "{surface.950}" + } + } + } +}; +var index$f = { + root: { + background: "{form.field.background}", + borderColor: "{form.field.border.color}", + color: "{form.field.color}", + height: "18rem", + padding: "{form.field.padding.y} {form.field.padding.x}", + borderRadius: "{form.field.border.radius}" + }, + prompt: { + gap: "0.25rem" + }, + commandResponse: { + margin: "2px 0" + } +}; +var index$e = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}" + } +}; +var index$d = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + borderRadius: "{content.border.radius}", + shadow: "{overlay.navigation.shadow}", + transitionDuration: "{transition.duration}" + }, + list: { + padding: "{navigation.list.padding}", + gap: "{navigation.list.gap}" + }, + item: { + focusBackground: "{navigation.item.focus.background}", + activeBackground: "{navigation.item.active.background}", + color: "{navigation.item.color}", + focusColor: "{navigation.item.focus.color}", + activeColor: "{navigation.item.active.color}", + padding: "{navigation.item.padding}", + borderRadius: "{navigation.item.border.radius}", + gap: "{navigation.item.gap}", + icon: { + color: "{navigation.item.icon.color}", + focusColor: "{navigation.item.icon.focus.color}", + activeColor: "{navigation.item.icon.active.color}" + } + }, + submenuLabel: { + padding: "{navigation.submenu.label.padding}", + fontWeight: "{navigation.submenu.label.font.weight}", + background: "{navigation.submenu.label.background.}", + color: "{navigation.submenu.label.color}" + }, + submenuIcon: { + size: "{navigation.submenu.icon.size}", + color: "{navigation.submenu.icon.color}", + focusColor: "{navigation.submenu.icon.focus.color}", + activeColor: "{navigation.submenu.icon.active.color}" + }, + separator: { + borderColor: "{content.border.color}" + } +}; +var index$c = { + event: { + minHeight: "5rem" + }, + horizontal: { + eventContent: { + padding: "1rem 0" + } + }, + vertical: { + eventContent: { + padding: "0 1rem" + } + }, + eventMarker: { + size: "1.125rem", + borderRadius: "50%", + borderWidth: "2px", + background: "{content.background}", + borderColor: "{content.border.color}", + content: { + borderRadius: "50%", + size: "0.375rem", + background: "{primary.color}", + insetShadow: "0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)" + } + }, + eventConnector: { + color: "{content.border.color}", + size: "2px" + } +}; +var index$b = { + root: { + width: "25rem", + borderRadius: "{content.border.radius}", + borderWidth: "1px", + transitionDuration: "{transition.duration}" + }, + icon: { + size: "1.125rem" + }, + content: { + padding: "{overlay.popover.padding}", + gap: "0.5rem" + }, + text: { + gap: "0.5rem" + }, + summary: { + fontWeight: "500", + fontSize: "1rem" + }, + detail: { + fontWeight: "500", + fontSize: "0.875rem" + }, + closeButton: { + width: "1.75rem", + height: "1.75rem", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + offset: "{focus.ring.offset}" + } + }, + closeIcon: { + size: "1rem" + }, + colorScheme: { + light: { + blur: "1.5px", + info: { + background: "color-mix(in srgb, {blue.50}, transparent 5%)", + borderColor: "{blue.200}", + color: "{blue.600}", + detailColor: "{surface.700}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)", + closeButton: { + hoverBackground: "{blue.100}", + focusRing: { + color: "{blue.600}", + shadow: "none" + } + } + }, + success: { + background: "color-mix(in srgb, {green.50}, transparent 5%)", + borderColor: "{green.200}", + color: "{green.600}", + detailColor: "{surface.700}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)", + closeButton: { + hoverBackground: "{green.100}", + focusRing: { + color: "{green.600}", + shadow: "none" + } + } + }, + warn: { + background: "color-mix(in srgb,{yellow.50}, transparent 5%)", + borderColor: "{yellow.200}", + color: "{yellow.600}", + detailColor: "{surface.700}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)", + closeButton: { + hoverBackground: "{yellow.100}", + focusRing: { + color: "{yellow.600}", + shadow: "none" + } + } + }, + error: { + background: "color-mix(in srgb, {red.50}, transparent 5%)", + borderColor: "{red.200}", + color: "{red.600}", + detailColor: "{surface.700}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)", + closeButton: { + hoverBackground: "{red.100}", + focusRing: { + color: "{red.600}", + shadow: "none" + } + } + }, + secondary: { + background: "{surface.100}", + borderColor: "{surface.200}", + color: "{surface.600}", + detailColor: "{surface.700}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.200}", + focusRing: { + color: "{surface.600}", + shadow: "none" + } + } + }, + contrast: { + background: "{surface.900}", + borderColor: "{surface.950}", + color: "{surface.50}", + detailColor: "{surface.0}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.800}", + focusRing: { + color: "{surface.50}", + shadow: "none" + } + } + } + }, + dark: { + blur: "10px", + info: { + background: "color-mix(in srgb, {blue.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {blue.700}, transparent 64%)", + color: "{blue.500}", + detailColor: "{surface.0}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{blue.500}", + shadow: "none" + } + } + }, + success: { + background: "color-mix(in srgb, {green.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {green.700}, transparent 64%)", + color: "{green.500}", + detailColor: "{surface.0}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{green.500}", + shadow: "none" + } + } + }, + warn: { + background: "color-mix(in srgb, {yellow.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {yellow.700}, transparent 64%)", + color: "{yellow.500}", + detailColor: "{surface.0}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{yellow.500}", + shadow: "none" + } + } + }, + error: { + background: "color-mix(in srgb, {red.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {red.700}, transparent 64%)", + color: "{red.500}", + detailColor: "{surface.0}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{red.500}", + shadow: "none" + } + } + }, + secondary: { + background: "{surface.800}", + borderColor: "{surface.700}", + color: "{surface.300}", + detailColor: "{surface.0}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.700}", + focusRing: { + color: "{surface.300}", + shadow: "none" + } + } + }, + contrast: { + background: "{surface.0}", + borderColor: "{surface.100}", + color: "{surface.950}", + detailColor: "{surface.950}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.100}", + focusRing: { + color: "{surface.950}", + shadow: "none" + } + } + } + } + } +}; +var index$a = { + root: { + padding: "0.5rem 1rem", + borderRadius: "{content.border.radius}", + gap: "0.5rem", + fontWeight: "500", + disabledBackground: "{form.field.disabled.background}", + disabledBorderColor: "{form.field.disabled.background}", + disabledColor: "{form.field.disabled.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}" + }, + icon: { + disabledColor: "{form.field.disabled.color}" + }, + content: { + left: "0.25rem", + top: "0.25rem", + checkedShadow: "0px 1px 2px 0px rgba(0, 0, 0, 0.02), 0px 1px 2px 0px rgba(0, 0, 0, 0.04)" + }, + colorScheme: { + light: { + root: { + background: "{surface.100}", + checkedBackground: "{surface.100}", + hoverBackground: "{surface.100}", + borderColor: "{surface.100}", + color: "{surface.500}", + hoverColor: "{surface.700}", + checkedColor: "{surface.900}", + checkedBorderColor: "{surface.100}" + }, + content: { + checkedBackground: "{surface.0}" + }, + icon: { + color: "{surface.500}", + hoverColor: "{surface.700}", + checkedColor: "{surface.900}" + } + }, + dark: { + root: { + background: "{surface.950}", + checkedBackground: "{surface.950}", + hoverBackground: "{surface.950}", + borderColor: "{surface.950}", + color: "{surface.400}", + hoverColor: "{surface.300}", + checkedColor: "{surface.0}", + checkedBorderColor: "{surface.950}" + }, + content: { + checkedBackground: "{surface.800}" + }, + icon: { + color: "{surface.400}", + hoverColor: "{surface.300}", + checkedColor: "{surface.0}" + } + } + } +}; +var index$9 = { + root: { + width: "2.5rem", + height: "1.5rem", + borderRadius: "30px", + gap: "0.25rem", + shadow: "{form.field.shadow}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + borderWidth: "1px", + borderColor: "transparent", + hoverBorderColor: "transparent", + checkedBorderColor: "transparent", + checkedHoverBorderColor: "transparent", + invalidBorderColor: "{form.field.invalid.border.color}", + transitionDuration: "{form.field.transition.duration}", + slideDuration: "0.2s", + disabledBackground: "{form.field.disabled.background}" + }, + handle: { + borderRadius: "50%", + size: "1rem", + disabledBackground: "{form.field.disabled.color}" + }, + colorScheme: { + light: { + root: { + background: "{surface.300}", + hoverBackground: "{surface.400}", + checkedBackground: "{primary.color}", + checkedHoverBackground: "{primary.hover.color}" + }, + handle: { + background: "{surface.0}", + hoverBackground: "{surface.0}", + checkedBackground: "{surface.0}", + checkedHoverBackground: "{surface.0}" + } + }, + dark: { + root: { + background: "{surface.700}", + hoverBackground: "{surface.600}", + checkedBackground: "{primary.color}", + checkedHoverBackground: "{primary.hover.color}" + }, + handle: { + background: "{surface.400}", + hoverBackground: "{surface.300}", + checkedBackground: "{surface.900}", + checkedHoverBackground: "{surface.900}" + } + } + } +}; +var index$8 = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}", + color: "{content.color}", + gap: "0.5rem", + padding: "0.75rem" + } +}; +var index$7 = { + root: { + maxWidth: "12.5rem", + gutter: "0.25rem", + shadow: "{overlay.popover.shadow}", + padding: "0.5rem 0.75rem", + borderRadius: "{overlay.popover.border.radius}" + }, + colorScheme: { + light: { + root: { + background: "{surface.700}", + color: "{surface.0}" + } + }, + dark: { + root: { + background: "{surface.700}", + color: "{surface.0}" + } + } + } +}; +var index$6 = { + root: { + background: "{content.background}", + color: "{content.color}", + padding: "1rem", + gap: "2px", + indent: "1rem", + transitionDuration: "{transition.duration}" + }, + node: { + padding: "0.25rem 0.5rem", + borderRadius: "{content.border.radius}", + hoverBackground: "{content.hover.background}", + selectedBackground: "{highlight.background}", + color: "{text.color}", + hoverColor: "{text.hover.color}", + selectedColor: "{highlight.color}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "-1px", + shadow: "{focus.ring.shadow}" + }, + gap: "0.25rem" + }, + nodeIcon: { + color: "{text.muted.color}", + hoverColor: "{text.hover.muted.color}", + selectedColor: "{highlight.color}" + }, + nodeToggleButton: { + borderRadius: "50%", + size: "1.75rem", + hoverBackground: "{content.hover.background}", + selectedHoverBackground: "{content.background}", + color: "{text.muted.color}", + hoverColor: "{text.hover.muted.color}", + selectedHoverColor: "{primary.color}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + loadingIcon: { + size: "2rem" + } +}; +var index$5 = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}" + }, + dropdown: { + width: "2.5rem", + color: "{form.field.icon.color}" + }, + overlay: { + background: "{overlay.select.background}", + borderColor: "{overlay.select.border.color}", + borderRadius: "{overlay.select.border.radius}", + color: "{overlay.select.color}", + shadow: "{overlay.select.shadow}" + }, + tree: { + padding: "{list.padding}" + }, + emptyMessage: { + padding: "{list.option.padding}" + }, + chip: { + borderRadius: "{border.radius.sm}" + } +}; +var index$4 = { + root: { + transitionDuration: "{transition.duration}" + }, + header: { + background: "{content.background}", + borderColor: "{treetable.border.color}", + color: "{content.color}", + borderWidth: "0 0 1px 0", + padding: "0.75rem 1rem" + }, + headerCell: { + background: "{content.background}", + hoverBackground: "{content.hover.background}", + selectedBackground: "{highlight.background}", + borderColor: "{treetable.border.color}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + selectedColor: "{highlight.color}", + gap: "0.5rem", + padding: "0.75rem 1rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "-1px", + shadow: "{focus.ring.shadow}" + } + }, + columnTitle: { + fontWeight: "600" + }, + row: { + background: "{content.background}", + hoverBackground: "{content.hover.background}", + selectedBackground: "{highlight.background}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + selectedColor: "{highlight.color}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "-1px", + shadow: "{focus.ring.shadow}" + } + }, + bodyCell: { + borderColor: "{treetable.border.color}", + padding: "0.75rem 1rem", + gap: "0.5rem" + }, + footerCell: { + background: "{content.background}", + borderColor: "{treetable.border.color}", + color: "{content.color}", + padding: "0.75rem 1rem" + }, + columnFooter: { + fontWeight: "600" + }, + footer: { + background: "{content.background}", + borderColor: "{treetable.border.color}", + color: "{content.color}", + borderWidth: "0 0 1px 0", + padding: "0.75rem 1rem" + }, + columnResizerWidth: "0.5rem", + resizeIndicator: { + width: "1px", + color: "{primary.color}" + }, + sortIcon: { + color: "{text.muted.color}", + hoverColor: "{text.hover.muted.color}" + }, + loadingIcon: { + size: "2rem" + }, + nodeToggleButton: { + hoverBackground: "{content.hover.background}", + selectedHoverBackground: "{content.background}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + selectedHoverColor: "{primary.color}", + size: "1.75rem", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + paginatorTop: { + borderColor: "{content.border.color}", + borderWidth: "0 0 1px 0" + }, + paginatorBottom: { + borderColor: "{content.border.color}", + borderWidth: "0 0 1px 0" + }, + colorScheme: { + light: { + root: { + borderColor: "{content.border.color}" + }, + bodyCell: { + selectedBorderColor: "{primary.100}" + } + }, + dark: { + root: { + borderColor: "{surface.800}" + }, + bodyCell: { + selectedBorderColor: "{primary.900}" + } + } + } +}; +var index$3 = { + loader: { + mask: { + background: "{content.background}", + color: "{text.muted.color}" + }, + icon: { + size: "2rem" + } + } +}; +var index$2 = { + primitive: { + borderRadius: { + none: "0", + xs: "2px", + sm: "4px", + md: "6px", + lg: "8px", + xl: "12px" + }, + emerald: { + 50: "#ecfdf5", + 100: "#d1fae5", + 200: "#a7f3d0", + 300: "#6ee7b7", + 400: "#34d399", + 500: "#10b981", + 600: "#059669", + 700: "#047857", + 800: "#065f46", + 900: "#064e3b", + 950: "#022c22" + }, + green: { + 50: "#f0fdf4", + 100: "#dcfce7", + 200: "#bbf7d0", + 300: "#86efac", + 400: "#4ade80", + 500: "#22c55e", + 600: "#16a34a", + 700: "#15803d", + 800: "#166534", + 900: "#14532d", + 950: "#052e16" + }, + lime: { + 50: "#f7fee7", + 100: "#ecfccb", + 200: "#d9f99d", + 300: "#bef264", + 400: "#a3e635", + 500: "#84cc16", + 600: "#65a30d", + 700: "#4d7c0f", + 800: "#3f6212", + 900: "#365314", + 950: "#1a2e05" + }, + red: { + 50: "#fef2f2", + 100: "#fee2e2", + 200: "#fecaca", + 300: "#fca5a5", + 400: "#f87171", + 500: "#ef4444", + 600: "#dc2626", + 700: "#b91c1c", + 800: "#991b1b", + 900: "#7f1d1d", + 950: "#450a0a" + }, + orange: { + 50: "#fff7ed", + 100: "#ffedd5", + 200: "#fed7aa", + 300: "#fdba74", + 400: "#fb923c", + 500: "#f97316", + 600: "#ea580c", + 700: "#c2410c", + 800: "#9a3412", + 900: "#7c2d12", + 950: "#431407" + }, + amber: { + 50: "#fffbeb", + 100: "#fef3c7", + 200: "#fde68a", + 300: "#fcd34d", + 400: "#fbbf24", + 500: "#f59e0b", + 600: "#d97706", + 700: "#b45309", + 800: "#92400e", + 900: "#78350f", + 950: "#451a03" + }, + yellow: { + 50: "#fefce8", + 100: "#fef9c3", + 200: "#fef08a", + 300: "#fde047", + 400: "#facc15", + 500: "#eab308", + 600: "#ca8a04", + 700: "#a16207", + 800: "#854d0e", + 900: "#713f12", + 950: "#422006" + }, + teal: { + 50: "#f0fdfa", + 100: "#ccfbf1", + 200: "#99f6e4", + 300: "#5eead4", + 400: "#2dd4bf", + 500: "#14b8a6", + 600: "#0d9488", + 700: "#0f766e", + 800: "#115e59", + 900: "#134e4a", + 950: "#042f2e" + }, + cyan: { + 50: "#ecfeff", + 100: "#cffafe", + 200: "#a5f3fc", + 300: "#67e8f9", + 400: "#22d3ee", + 500: "#06b6d4", + 600: "#0891b2", + 700: "#0e7490", + 800: "#155e75", + 900: "#164e63", + 950: "#083344" + }, + sky: { + 50: "#f0f9ff", + 100: "#e0f2fe", + 200: "#bae6fd", + 300: "#7dd3fc", + 400: "#38bdf8", + 500: "#0ea5e9", + 600: "#0284c7", + 700: "#0369a1", + 800: "#075985", + 900: "#0c4a6e", + 950: "#082f49" + }, + blue: { + 50: "#eff6ff", + 100: "#dbeafe", + 200: "#bfdbfe", + 300: "#93c5fd", + 400: "#60a5fa", + 500: "#3b82f6", + 600: "#2563eb", + 700: "#1d4ed8", + 800: "#1e40af", + 900: "#1e3a8a", + 950: "#172554" + }, + indigo: { + 50: "#eef2ff", + 100: "#e0e7ff", + 200: "#c7d2fe", + 300: "#a5b4fc", + 400: "#818cf8", + 500: "#6366f1", + 600: "#4f46e5", + 700: "#4338ca", + 800: "#3730a3", + 900: "#312e81", + 950: "#1e1b4b" + }, + violet: { + 50: "#f5f3ff", + 100: "#ede9fe", + 200: "#ddd6fe", + 300: "#c4b5fd", + 400: "#a78bfa", + 500: "#8b5cf6", + 600: "#7c3aed", + 700: "#6d28d9", + 800: "#5b21b6", + 900: "#4c1d95", + 950: "#2e1065" + }, + purple: { + 50: "#faf5ff", + 100: "#f3e8ff", + 200: "#e9d5ff", + 300: "#d8b4fe", + 400: "#c084fc", + 500: "#a855f7", + 600: "#9333ea", + 700: "#7e22ce", + 800: "#6b21a8", + 900: "#581c87", + 950: "#3b0764" + }, + fuchsia: { + 50: "#fdf4ff", + 100: "#fae8ff", + 200: "#f5d0fe", + 300: "#f0abfc", + 400: "#e879f9", + 500: "#d946ef", + 600: "#c026d3", + 700: "#a21caf", + 800: "#86198f", + 900: "#701a75", + 950: "#4a044e" + }, + pink: { + 50: "#fdf2f8", + 100: "#fce7f3", + 200: "#fbcfe8", + 300: "#f9a8d4", + 400: "#f472b6", + 500: "#ec4899", + 600: "#db2777", + 700: "#be185d", + 800: "#9d174d", + 900: "#831843", + 950: "#500724" + }, + rose: { + 50: "#fff1f2", + 100: "#ffe4e6", + 200: "#fecdd3", + 300: "#fda4af", + 400: "#fb7185", + 500: "#f43f5e", + 600: "#e11d48", + 700: "#be123c", + 800: "#9f1239", + 900: "#881337", + 950: "#4c0519" + }, + slate: { + 50: "#f8fafc", + 100: "#f1f5f9", + 200: "#e2e8f0", + 300: "#cbd5e1", + 400: "#94a3b8", + 500: "#64748b", + 600: "#475569", + 700: "#334155", + 800: "#1e293b", + 900: "#0f172a", + 950: "#020617" + }, + gray: { + 50: "#f9fafb", + 100: "#f3f4f6", + 200: "#e5e7eb", + 300: "#d1d5db", + 400: "#9ca3af", + 500: "#6b7280", + 600: "#4b5563", + 700: "#374151", + 800: "#1f2937", + 900: "#111827", + 950: "#030712" + }, + zinc: { + 50: "#fafafa", + 100: "#f4f4f5", + 200: "#e4e4e7", + 300: "#d4d4d8", + 400: "#a1a1aa", + 500: "#71717a", + 600: "#52525b", + 700: "#3f3f46", + 800: "#27272a", + 900: "#18181b", + 950: "#09090b" + }, + neutral: { + 50: "#fafafa", + 100: "#f5f5f5", + 200: "#e5e5e5", + 300: "#d4d4d4", + 400: "#a3a3a3", + 500: "#737373", + 600: "#525252", + 700: "#404040", + 800: "#262626", + 900: "#171717", + 950: "#0a0a0a" + }, + stone: { + 50: "#fafaf9", + 100: "#f5f5f4", + 200: "#e7e5e4", + 300: "#d6d3d1", + 400: "#a8a29e", + 500: "#78716c", + 600: "#57534e", + 700: "#44403c", + 800: "#292524", + 900: "#1c1917", + 950: "#0c0a09" + } + }, + semantic: { + transitionDuration: "0.2s", + focusRing: { + width: "1px", + style: "solid", + color: "{primary.color}", + offset: "2px", + shadow: "none" + }, + disabledOpacity: "0.6", + iconSize: "1rem", + anchorGutter: "2px", + primary: { + 50: "{emerald.50}", + 100: "{emerald.100}", + 200: "{emerald.200}", + 300: "{emerald.300}", + 400: "{emerald.400}", + 500: "{emerald.500}", + 600: "{emerald.600}", + 700: "{emerald.700}", + 800: "{emerald.800}", + 900: "{emerald.900}", + 950: "{emerald.950}" + }, + formField: { + paddingX: "0.75rem", + paddingY: "0.5rem", + borderRadius: "{border.radius.md}", + focusRing: { + width: "0", + style: "none", + color: "transparent", + offset: "0", + shadow: "none" + }, + transitionDuration: "{transition.duration}" + }, + list: { + padding: "0.25rem 0.25rem", + gap: "2px", + header: { + padding: "0.5rem 1rem 0.25rem 1rem" + }, + option: { + padding: "0.5rem 0.75rem", + borderRadius: "{border.radius.sm}" + }, + optionGroup: { + padding: "0.5rem 0.75rem", + fontWeight: "600" + } + }, + content: { + borderRadius: "{border.radius.md}" + }, + mask: { + transitionDuration: "0.15s" + }, + navigation: { + list: { + padding: "0.25rem 0.25rem", + gap: "2px" + }, + item: { + padding: "0.5rem 0.75rem", + borderRadius: "{border.radius.sm}", + gap: "0.5rem" + }, + submenuLabel: { + padding: "0.5rem 0.75rem", + fontWeight: "600" + }, + submenuIcon: { + size: "0.875rem" + } + }, + overlay: { + select: { + borderRadius: "{border.radius.md}", + shadow: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)" + }, + popover: { + borderRadius: "{border.radius.md}", + padding: "0.75rem", + shadow: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)" + }, + modal: { + borderRadius: "{border.radius.xl}", + padding: "1.25rem", + shadow: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)" + }, + navigation: { + shadow: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)" + } + }, + colorScheme: { + light: { + surface: { + 0: "#ffffff", + 50: "{slate.50}", + 100: "{slate.100}", + 200: "{slate.200}", + 300: "{slate.300}", + 400: "{slate.400}", + 500: "{slate.500}", + 600: "{slate.600}", + 700: "{slate.700}", + 800: "{slate.800}", + 900: "{slate.900}", + 950: "{slate.950}" + }, + primary: { + color: "{primary.500}", + contrastColor: "#ffffff", + hoverColor: "{primary.600}", + activeColor: "{primary.700}" + }, + highlight: { + background: "{primary.50}", + focusBackground: "{primary.100}", + color: "{primary.700}", + focusColor: "{primary.800}" + }, + mask: { + background: "rgba(0,0,0,0.4)", + color: "{surface.200}" + }, + formField: { + background: "{surface.0}", + disabledBackground: "{surface.200}", + filledBackground: "{surface.50}", + filledFocusBackground: "{surface.50}", + borderColor: "{surface.300}", + hoverBorderColor: "{surface.400}", + focusBorderColor: "{primary.color}", + invalidBorderColor: "{red.400}", + color: "{surface.700}", + disabledColor: "{surface.500}", + placeholderColor: "{surface.500}", + floatLabelColor: "{surface.500}", + floatLabelFocusColor: "{surface.500}", + floatLabelInvalidColor: "{red.400}", + iconColor: "{surface.400}", + shadow: "0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgba(18, 18, 23, 0.05)" + }, + text: { + color: "{surface.700}", + hoverColor: "{surface.800}", + mutedColor: "{surface.500}", + hoverMutedColor: "{surface.600}" + }, + content: { + background: "{surface.0}", + hoverBackground: "{surface.100}", + borderColor: "{surface.200}", + color: "{text.color}", + hoverColor: "{text.hover.color}" + }, + overlay: { + select: { + background: "{surface.0}", + borderColor: "{surface.200}", + color: "{text.color}" + }, + popover: { + background: "{surface.0}", + borderColor: "{surface.200}", + color: "{text.color}" + }, + modal: { + background: "{surface.0}", + borderColor: "{surface.200}", + color: "{text.color}" + } + }, + list: { + option: { + focusBackground: "{surface.100}", + selectedBackground: "{highlight.background}", + selectedFocusBackground: "{highlight.focus.background}", + color: "{text.color}", + focusColor: "{text.hover.color}", + selectedColor: "{highlight.color}", + selectedFocusColor: "{highlight.focus.color}", + icon: { + color: "{surface.400}", + focusColor: "{surface.500}" + } + }, + optionGroup: { + background: "transparent", + color: "{text.muted.color}" + } + }, + navigation: { + item: { + focusBackground: "{surface.100}", + activeBackground: "{surface.100}", + color: "{text.color}", + focusColor: "{text.hover.color}", + activeColor: "{text.hover.color}", + icon: { + color: "{surface.400}", + focusColor: "{surface.500}", + activeColor: "{surface.500}" + } + }, + submenuLabel: { + background: "transparent", + color: "{text.muted.color}" + }, + submenuIcon: { + color: "{surface.400}", + focusColor: "{surface.500}", + activeColor: "{surface.500}" + } + } + }, + dark: { + surface: { + 0: "#ffffff", + 50: "{zinc.50}", + 100: "{zinc.100}", + 200: "{zinc.200}", + 300: "{zinc.300}", + 400: "{zinc.400}", + 500: "{zinc.500}", + 600: "{zinc.600}", + 700: "{zinc.700}", + 800: "{zinc.800}", + 900: "{zinc.900}", + 950: "{zinc.950}" + }, + primary: { + color: "{primary.400}", + contrastColor: "{surface.900}", + hoverColor: "{primary.300}", + activeColor: "{primary.200}" + }, + highlight: { + background: "color-mix(in srgb, {primary.400}, transparent 84%)", + focusBackground: "color-mix(in srgb, {primary.400}, transparent 76%)", + color: "rgba(255,255,255,.87)", + focusColor: "rgba(255,255,255,.87)" + }, + mask: { + background: "rgba(0,0,0,0.6)", + color: "{surface.200}" + }, + formField: { + background: "{surface.950}", + disabledBackground: "{surface.700}", + filledBackground: "{surface.800}", + filledFocusBackground: "{surface.800}", + borderColor: "{surface.700}", + hoverBorderColor: "{surface.600}", + focusBorderColor: "{primary.color}", + invalidBorderColor: "{red.300}", + color: "{surface.0}", + disabledColor: "{surface.400}", + placeholderColor: "{surface.400}", + floatLabelColor: "{surface.400}", + floatLabelFocusColor: "{surface.400}", + floatLabelInvalidColor: "{red.300}", + iconColor: "{surface.400}", + shadow: "0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgba(18, 18, 23, 0.05)" + }, + text: { + color: "{surface.0}", + hoverColor: "{surface.0}", + mutedColor: "{surface.400}", + hoverMutedColor: "{surface.300}" + }, + content: { + background: "{surface.900}", + hoverBackground: "{surface.800}", + borderColor: "{surface.700}", + color: "{text.color}", + hoverColor: "{text.hover.color}" + }, + overlay: { + select: { + background: "{surface.900}", + borderColor: "{surface.700}", + color: "{text.color}" + }, + popover: { + background: "{surface.900}", + borderColor: "{surface.700}", + color: "{text.color}" + }, + modal: { + background: "{surface.900}", + borderColor: "{surface.700}", + color: "{text.color}" + } + }, + list: { + option: { + focusBackground: "{surface.800}", + selectedBackground: "{highlight.background}", + selectedFocusBackground: "{highlight.focus.background}", + color: "{text.color}", + focusColor: "{text.hover.color}", + selectedColor: "{highlight.color}", + selectedFocusColor: "{highlight.focus.color}", + icon: { + color: "{surface.500}", + focusColor: "{surface.400}" + } + }, + optionGroup: { + background: "transparent", + color: "{text.muted.color}" + } + }, + navigation: { + item: { + focusBackground: "{surface.800}", + activeBackground: "{surface.800}", + color: "{text.color}", + focusColor: "{text.hover.color}", + activeColor: "{text.hover.color}", + icon: { + color: "{surface.500}", + focusColor: "{surface.400}", + activeColor: "{surface.400}" + } + }, + submenuLabel: { + background: "transparent", + color: "{text.muted.color}" + }, + submenuIcon: { + color: "{surface.500}", + focusColor: "{surface.400}", + activeColor: "{surface.400}" + } + } + } + } + }, + components: { + accordion: index$1n, + autocomplete: index$1m, + avatar: index$1l, + badge: index$1k, + blockui: index$1j, + breadcrumb: index$1i, + button: index$1h, + datepicker: index$15, + card: index$1g, + carousel: index$1f, + cascadeselect: index$1e, + checkbox: index$1d, + chip: index$1c, + colorpicker: index$1b, + confirmdialog: index$1a, + confirmpopup: index$19, + contextmenu: index$18, + dataview: index$16, + datatable: index$17, + dialog: index$14, + divider: index$13, + dock: index$12, + drawer: index$11, + editor: index$10, + fieldset: index$$, + fileupload: index$_, + floatlabel: index$Z, + galleria: index$Y, + iconfield: index$X, + image: index$W, + inlinemessage: index$V, + inplace: index$U, + inputchips: index$T, + inputgroup: index$S, + inputnumber: index$R, + inputtext: index$Q, + knob: index$P, + listbox: index$O, + megamenu: index$N, + menu: index$M, + menubar: index$L, + message: index$K, + metergroup: index$J, + multiselect: index$I, + orderlist: index$H, + organizationchart: index$G, + overlaybadge: index$F, + popover: index$z, + paginator: index$E, + password: index$B, + panel: index$D, + panelmenu: index$C, + picklist: index$A, + progressbar: index$y, + progressspinner: index$x, + radiobutton: index$w, + rating: index$v, + scrollpanel: index$t, + select: index$s, + selectbutton: index$r, + skeleton: index$q, + slider: index$p, + speeddial: index$o, + splitter: index$m, + splitbutton: index$n, + stepper: index$l, + steps: index$k, + tabmenu: index$j, + tabs: index$i, + tabview: index$h, + textarea: index$e, + tieredmenu: index$d, + tag: index$g, + terminal: index$f, + timeline: index$c, + togglebutton: index$a, + toggleswitch: index$9, + tree: index$6, + treeselect: index$5, + treetable: index$4, + toast: index$b, + toolbar: index$8, + virtualscroller: index$3 + }, + directives: { + tooltip: index$7, + ripple: index$u + } +}; +/** +* @vue/shared v3.4.31 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function makeMap(str, expectsLowerCase) { + const set3 = new Set(str.split(",")); + return expectsLowerCase ? (val) => set3.has(val.toLowerCase()) : (val) => set3.has(val); +} +__name(makeMap, "makeMap"); +const EMPTY_OBJ = false ? Object.freeze({}) : {}; +const EMPTY_ARR = false ? Object.freeze([]) : []; +const NOOP = /* @__PURE__ */ __name(() => { +}, "NOOP"); +const NO = /* @__PURE__ */ __name(() => false, "NO"); +const isOn = /* @__PURE__ */ __name((key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter +(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97), "isOn"); +const isModelListener = /* @__PURE__ */ __name((key) => key.startsWith("onUpdate:"), "isModelListener"); +const extend$1 = Object.assign; +const remove$1 = /* @__PURE__ */ __name((arr, el) => { + const i2 = arr.indexOf(el); + if (i2 > -1) { + arr.splice(i2, 1); + } +}, "remove$1"); +const hasOwnProperty$3 = Object.prototype.hasOwnProperty; +const hasOwn$3 = /* @__PURE__ */ __name((val, key) => hasOwnProperty$3.call(val, key), "hasOwn$3"); +const isArray$4 = Array.isArray; +const isMap = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object Map]", "isMap"); +const isSet = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object Set]", "isSet"); +const isDate$2 = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object Date]", "isDate$2"); +const isRegExp$4 = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object RegExp]", "isRegExp$4"); +const isFunction$4 = /* @__PURE__ */ __name((val) => typeof val === "function", "isFunction$4"); +const isString$7 = /* @__PURE__ */ __name((val) => typeof val === "string", "isString$7"); +const isSymbol$1 = /* @__PURE__ */ __name((val) => typeof val === "symbol", "isSymbol$1"); +const isObject$6 = /* @__PURE__ */ __name((val) => val !== null && typeof val === "object", "isObject$6"); +const isPromise$1 = /* @__PURE__ */ __name((val) => { + return (isObject$6(val) || isFunction$4(val)) && isFunction$4(val.then) && isFunction$4(val.catch); +}, "isPromise$1"); +const objectToString$1 = Object.prototype.toString; +const toTypeString$1 = /* @__PURE__ */ __name((value4) => objectToString$1.call(value4), "toTypeString$1"); +const toRawType = /* @__PURE__ */ __name((value4) => { + return toTypeString$1(value4).slice(8, -1); +}, "toRawType"); +const isPlainObject$4 = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object Object]", "isPlainObject$4"); +const isIntegerKey = /* @__PURE__ */ __name((key) => isString$7(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key, "isIntegerKey"); +const isReservedProp = /* @__PURE__ */ makeMap( + // the leading comma is intentional so empty string "" is also included + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" +); +const isBuiltInDirective = /* @__PURE__ */ makeMap( + "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo" +); +const cacheStringFunction$1 = /* @__PURE__ */ __name((fn) => { + const cache2 = /* @__PURE__ */ Object.create(null); + return (str) => { + const hit = cache2[str]; + return hit || (cache2[str] = fn(str)); + }; +}, "cacheStringFunction$1"); +const camelizeRE$1 = /-(\w)/g; +const camelize$1 = cacheStringFunction$1((str) => { + return str.replace(camelizeRE$1, (_2, c) => c ? c.toUpperCase() : ""); +}); +const hyphenateRE$1 = /\B([A-Z])/g; +const hyphenate$1 = cacheStringFunction$1( + (str) => str.replace(hyphenateRE$1, "-$1").toLowerCase() +); +const capitalize$1 = cacheStringFunction$1((str) => { + return str.charAt(0).toUpperCase() + str.slice(1); +}); +const toHandlerKey = cacheStringFunction$1((str) => { + const s = str ? `on${capitalize$1(str)}` : ``; + return s; +}); +const hasChanged = /* @__PURE__ */ __name((value4, oldValue2) => !Object.is(value4, oldValue2), "hasChanged"); +const invokeArrayFns = /* @__PURE__ */ __name((fns, ...arg) => { + for (let i2 = 0; i2 < fns.length; i2++) { + fns[i2](...arg); + } +}, "invokeArrayFns"); +const def = /* @__PURE__ */ __name((obj, key, value4, writable = false) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + writable, + value: value4 + }); +}, "def"); +const looseToNumber = /* @__PURE__ */ __name((val) => { + const n = parseFloat(val); + return isNaN(n) ? val : n; +}, "looseToNumber"); +const toNumber = /* @__PURE__ */ __name((val) => { + const n = isString$7(val) ? Number(val) : NaN; + return isNaN(n) ? val : n; +}, "toNumber"); +let _globalThis$1; +const getGlobalThis$1 = /* @__PURE__ */ __name(() => { + return _globalThis$1 || (_globalThis$1 = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); +}, "getGlobalThis$1"); +const identRE = /^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/; +function genPropsAccessExp(name2) { + return identRE.test(name2) ? `__props.${name2}` : `__props[${JSON.stringify(name2)}]`; +} +__name(genPropsAccessExp, "genPropsAccessExp"); +const PatchFlags = { + "TEXT": 1, + "1": "TEXT", + "CLASS": 2, + "2": "CLASS", + "STYLE": 4, + "4": "STYLE", + "PROPS": 8, + "8": "PROPS", + "FULL_PROPS": 16, + "16": "FULL_PROPS", + "NEED_HYDRATION": 32, + "32": "NEED_HYDRATION", + "STABLE_FRAGMENT": 64, + "64": "STABLE_FRAGMENT", + "KEYED_FRAGMENT": 128, + "128": "KEYED_FRAGMENT", + "UNKEYED_FRAGMENT": 256, + "256": "UNKEYED_FRAGMENT", + "NEED_PATCH": 512, + "512": "NEED_PATCH", + "DYNAMIC_SLOTS": 1024, + "1024": "DYNAMIC_SLOTS", + "DEV_ROOT_FRAGMENT": 2048, + "2048": "DEV_ROOT_FRAGMENT", + "HOISTED": -1, + "-1": "HOISTED", + "BAIL": -2, + "-2": "BAIL" +}; +const PatchFlagNames = { + [1]: `TEXT`, + [2]: `CLASS`, + [4]: `STYLE`, + [8]: `PROPS`, + [16]: `FULL_PROPS`, + [32]: `NEED_HYDRATION`, + [64]: `STABLE_FRAGMENT`, + [128]: `KEYED_FRAGMENT`, + [256]: `UNKEYED_FRAGMENT`, + [512]: `NEED_PATCH`, + [1024]: `DYNAMIC_SLOTS`, + [2048]: `DEV_ROOT_FRAGMENT`, + [-1]: `HOISTED`, + [-2]: `BAIL` +}; +const ShapeFlags = { + "ELEMENT": 1, + "1": "ELEMENT", + "FUNCTIONAL_COMPONENT": 2, + "2": "FUNCTIONAL_COMPONENT", + "STATEFUL_COMPONENT": 4, + "4": "STATEFUL_COMPONENT", + "TEXT_CHILDREN": 8, + "8": "TEXT_CHILDREN", + "ARRAY_CHILDREN": 16, + "16": "ARRAY_CHILDREN", + "SLOTS_CHILDREN": 32, + "32": "SLOTS_CHILDREN", + "TELEPORT": 64, + "64": "TELEPORT", + "SUSPENSE": 128, + "128": "SUSPENSE", + "COMPONENT_SHOULD_KEEP_ALIVE": 256, + "256": "COMPONENT_SHOULD_KEEP_ALIVE", + "COMPONENT_KEPT_ALIVE": 512, + "512": "COMPONENT_KEPT_ALIVE", + "COMPONENT": 6, + "6": "COMPONENT" +}; +const SlotFlags = { + "STABLE": 1, + "1": "STABLE", + "DYNAMIC": 2, + "2": "DYNAMIC", + "FORWARDED": 3, + "3": "FORWARDED" +}; +const slotFlagsText = { + [1]: "STABLE", + [2]: "DYNAMIC", + [3]: "FORWARDED" +}; +const GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error"; +const isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED); +const isGloballyWhitelisted = isGloballyAllowed; +const range = 2; +function generateCodeFrame$1(source, start2 = 0, end = source.length) { + start2 = Math.max(0, Math.min(start2, source.length)); + end = Math.max(0, Math.min(end, source.length)); + if (start2 > end) return ""; + let lines = source.split(/(\r?\n)/); + const newlineSequences = lines.filter((_2, idx) => idx % 2 === 1); + lines = lines.filter((_2, idx) => idx % 2 === 0); + let count = 0; + const res = []; + for (let i2 = 0; i2 < lines.length; i2++) { + count += lines[i2].length + (newlineSequences[i2] && newlineSequences[i2].length || 0); + if (count >= start2) { + for (let j = i2 - range; j <= i2 + range || end > count; j++) { + if (j < 0 || j >= lines.length) continue; + const line = j + 1; + res.push( + `${line}${" ".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}` + ); + const lineLength = lines[j].length; + const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0; + if (j === i2) { + const pad = start2 - (count - (lineLength + newLineSeqLength)); + const length = Math.max( + 1, + end > count ? lineLength - pad : end - start2 + ); + res.push(` | ` + " ".repeat(pad) + "^".repeat(length)); + } else if (j > i2) { + if (end > count) { + const length = Math.max(Math.min(end - count, lineLength), 1); + res.push(` | ` + "^".repeat(length)); + } + count += lineLength + newLineSeqLength; + } + } + break; + } + } + return res.join("\n"); +} +__name(generateCodeFrame$1, "generateCodeFrame$1"); +function normalizeStyle(value4) { + if (isArray$4(value4)) { + const res = {}; + for (let i2 = 0; i2 < value4.length; i2++) { + const item3 = value4[i2]; + const normalized = isString$7(item3) ? parseStringStyle(item3) : normalizeStyle(item3); + if (normalized) { + for (const key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else if (isString$7(value4) || isObject$6(value4)) { + return value4; + } +} +__name(normalizeStyle, "normalizeStyle"); +const listDelimiterRE = /;(?![^(]*\))/g; +const propertyDelimiterRE = /:([^]+)/; +const styleCommentRE = /\/\*[^]*?\*\//g; +function parseStringStyle(cssText) { + const ret = {}; + cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item3) => { + if (item3) { + const tmp = item3.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; +} +__name(parseStringStyle, "parseStringStyle"); +function stringifyStyle(styles) { + let ret = ""; + if (!styles || isString$7(styles)) { + return ret; + } + for (const key in styles) { + const value4 = styles[key]; + if (isString$7(value4) || typeof value4 === "number") { + const normalizedKey = key.startsWith(`--`) ? key : hyphenate$1(key); + ret += `${normalizedKey}:${value4};`; + } + } + return ret; +} +__name(stringifyStyle, "stringifyStyle"); +function normalizeClass(value4) { + let res = ""; + if (isString$7(value4)) { + res = value4; + } else if (isArray$4(value4)) { + for (let i2 = 0; i2 < value4.length; i2++) { + const normalized = normalizeClass(value4[i2]); + if (normalized) { + res += normalized + " "; + } + } + } else if (isObject$6(value4)) { + for (const name2 in value4) { + if (value4[name2]) { + res += name2 + " "; + } + } + } + return res.trim(); +} +__name(normalizeClass, "normalizeClass"); +function normalizeProps(props) { + if (!props) return null; + let { class: klass, style: style2 } = props; + if (klass && !isString$7(klass)) { + props.class = normalizeClass(klass); + } + if (style2) { + props.style = normalizeStyle(style2); + } + return props; +} +__name(normalizeProps, "normalizeProps"); +const HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; +const SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,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,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; +const MATH_TAGS = "annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics"; +const VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"; +const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS); +const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS); +const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS); +const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS); +const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; +const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs); +const isBooleanAttr = /* @__PURE__ */ makeMap( + specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected` +); +function includeBooleanAttr(value4) { + return !!value4 || value4 === ""; +} +__name(includeBooleanAttr, "includeBooleanAttr"); +const unsafeAttrCharRE = /[>/="'\u0009\u000a\u000c\u0020]/; +const attrValidationCache = {}; +function isSSRSafeAttrName(name2) { + if (attrValidationCache.hasOwnProperty(name2)) { + return attrValidationCache[name2]; + } + const isUnsafe = unsafeAttrCharRE.test(name2); + if (isUnsafe) { + console.error(`unsafe attribute name: ${name2}`); + } + return attrValidationCache[name2] = !isUnsafe; +} +__name(isSSRSafeAttrName, "isSSRSafeAttrName"); +const propsToAttrMap = { + acceptCharset: "accept-charset", + className: "class", + htmlFor: "for", + httpEquiv: "http-equiv" +}; +const isKnownHtmlAttr = /* @__PURE__ */ makeMap( + `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap` +); +const isKnownSvgAttr = /* @__PURE__ */ makeMap( + `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan` +); +function isRenderableAttrValue(value4) { + if (value4 == null) { + return false; + } + const type = typeof value4; + return type === "string" || type === "number" || type === "boolean"; +} +__name(isRenderableAttrValue, "isRenderableAttrValue"); +const escapeRE$2 = /["'&<>]/; +function escapeHtml$2(string) { + const str = "" + string; + const match2 = escapeRE$2.exec(str); + if (!match2) { + return str; + } + let html = ""; + let escaped; + let index2; + let lastIndex2 = 0; + for (index2 = match2.index; index2 < str.length; index2++) { + switch (str.charCodeAt(index2)) { + case 34: + escaped = """; + break; + case 38: + escaped = "&"; + break; + case 39: + escaped = "'"; + break; + case 60: + escaped = "<"; + break; + case 62: + escaped = ">"; + break; + default: + continue; + } + if (lastIndex2 !== index2) { + html += str.slice(lastIndex2, index2); + } + lastIndex2 = index2 + 1; + html += escaped; + } + return lastIndex2 !== index2 ? html + str.slice(lastIndex2, index2) : html; +} +__name(escapeHtml$2, "escapeHtml$2"); +const commentStripRE = /^-?>||--!>| looseEqual(item3, val)); +} +__name(looseIndexOf, "looseIndexOf"); +const isRef$1 = /* @__PURE__ */ __name((val) => { + return !!(val && val.__v_isRef === true); +}, "isRef$1"); +const toDisplayString$1 = /* @__PURE__ */ __name((val) => { + return isString$7(val) ? val : val == null ? "" : isArray$4(val) || isObject$6(val) && (val.toString === objectToString$1 || !isFunction$4(val.toString)) ? isRef$1(val) ? toDisplayString$1(val.value) : JSON.stringify(val, replacer, 2) : String(val); +}, "toDisplayString$1"); +const replacer = /* @__PURE__ */ __name((_key, val) => { + if (isRef$1(val)) { + return replacer(_key, val.value); + } else if (isMap(val)) { + return { + [`Map(${val.size})`]: [...val.entries()].reduce( + (entries, [key, val2], i2) => { + entries[stringifySymbol(key, i2) + " =>"] = val2; + return entries; + }, + {} + ) + }; + } else if (isSet(val)) { + return { + [`Set(${val.size})`]: [...val.values()].map((v2) => stringifySymbol(v2)) + }; + } else if (isSymbol$1(val)) { + return stringifySymbol(val); + } else if (isObject$6(val) && !isArray$4(val) && !isPlainObject$4(val)) { + return String(val); + } + return val; +}, "replacer"); +const stringifySymbol = /* @__PURE__ */ __name((v2, i2 = "") => { + var _a2; + return ( + // Symbol.description in es2019+ so we need to cast here to pass + // the lib: es2016 check + isSymbol$1(v2) ? `Symbol(${(_a2 = v2.description) != null ? _a2 : i2})` : v2 + ); +}, "stringifySymbol"); +/** +* @vue/reactivity v3.4.31 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +function warn$4(msg, ...args) { + console.warn(`[Vue warn] ${msg}`, ...args); +} +__name(warn$4, "warn$4"); +let activeEffectScope; +class EffectScope { + static { + __name(this, "EffectScope"); + } + constructor(detached = false) { + this.detached = detached; + this._active = true; + this.effects = []; + this.cleanups = []; + this.parent = activeEffectScope; + if (!detached && activeEffectScope) { + this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( + this + ) - 1; + } + } + get active() { + return this._active; + } + run(fn) { + if (this._active) { + const currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } finally { + activeEffectScope = currentEffectScope; + } + } else if (false) { + warn$4(`cannot run an inactive effect scope.`); + } + } + /** + * This should only be called on non-detached scopes + * @internal + */ + on() { + activeEffectScope = this; + } + /** + * This should only be called on non-detached scopes + * @internal + */ + off() { + activeEffectScope = this.parent; + } + stop(fromParent) { + if (this._active) { + let i2, l; + for (i2 = 0, l = this.effects.length; i2 < l; i2++) { + this.effects[i2].stop(); + } + for (i2 = 0, l = this.cleanups.length; i2 < l; i2++) { + this.cleanups[i2](); + } + if (this.scopes) { + for (i2 = 0, l = this.scopes.length; i2 < l; i2++) { + this.scopes[i2].stop(true); + } + } + if (!this.detached && this.parent && !fromParent) { + const last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = void 0; + this._active = false; + } + } +} +function effectScope(detached) { + return new EffectScope(detached); +} +__name(effectScope, "effectScope"); +function recordEffectScope(effect2, scope = activeEffectScope) { + if (scope && scope.active) { + scope.effects.push(effect2); + } +} +__name(recordEffectScope, "recordEffectScope"); +function getCurrentScope() { + return activeEffectScope; +} +__name(getCurrentScope, "getCurrentScope"); +function onScopeDispose(fn) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } else if (false) { + warn$4( + `onScopeDispose() is called when there is no active effect scope to be associated with.` + ); + } +} +__name(onScopeDispose, "onScopeDispose"); +let activeEffect; +class ReactiveEffect { + static { + __name(this, "ReactiveEffect"); + } + constructor(fn, trigger2, scheduler, scope) { + this.fn = fn; + this.trigger = trigger2; + this.scheduler = scheduler; + this.active = true; + this.deps = []; + this._dirtyLevel = 4; + this._trackId = 0; + this._runnings = 0; + this._shouldSchedule = false; + this._depsLength = 0; + recordEffectScope(this, scope); + } + get dirty() { + if (this._dirtyLevel === 2 || this._dirtyLevel === 3) { + this._dirtyLevel = 1; + pauseTracking(); + for (let i2 = 0; i2 < this._depsLength; i2++) { + const dep = this.deps[i2]; + if (dep.computed) { + triggerComputed(dep.computed); + if (this._dirtyLevel >= 4) { + break; + } + } + } + if (this._dirtyLevel === 1) { + this._dirtyLevel = 0; + } + resetTracking(); + } + return this._dirtyLevel >= 4; + } + set dirty(v2) { + this._dirtyLevel = v2 ? 4 : 0; + } + run() { + this._dirtyLevel = 0; + if (!this.active) { + return this.fn(); + } + let lastShouldTrack = shouldTrack; + let lastEffect = activeEffect; + try { + shouldTrack = true; + activeEffect = this; + this._runnings++; + preCleanupEffect(this); + return this.fn(); + } finally { + postCleanupEffect(this); + this._runnings--; + activeEffect = lastEffect; + shouldTrack = lastShouldTrack; + } + } + stop() { + if (this.active) { + preCleanupEffect(this); + postCleanupEffect(this); + this.onStop && this.onStop(); + this.active = false; + } + } +} +function triggerComputed(computed2) { + return computed2.value; +} +__name(triggerComputed, "triggerComputed"); +function preCleanupEffect(effect2) { + effect2._trackId++; + effect2._depsLength = 0; +} +__name(preCleanupEffect, "preCleanupEffect"); +function postCleanupEffect(effect2) { + if (effect2.deps.length > effect2._depsLength) { + for (let i2 = effect2._depsLength; i2 < effect2.deps.length; i2++) { + cleanupDepEffect(effect2.deps[i2], effect2); + } + effect2.deps.length = effect2._depsLength; + } +} +__name(postCleanupEffect, "postCleanupEffect"); +function cleanupDepEffect(dep, effect2) { + const trackId = dep.get(effect2); + if (trackId !== void 0 && effect2._trackId !== trackId) { + dep.delete(effect2); + if (dep.size === 0) { + dep.cleanup(); + } + } +} +__name(cleanupDepEffect, "cleanupDepEffect"); +function effect(fn, options4) { + if (fn.effect instanceof ReactiveEffect) { + fn = fn.effect.fn; + } + const _effect = new ReactiveEffect(fn, NOOP, () => { + if (_effect.dirty) { + _effect.run(); + } + }); + if (options4) { + extend$1(_effect, options4); + if (options4.scope) recordEffectScope(_effect, options4.scope); + } + if (!options4 || !options4.lazy) { + _effect.run(); + } + const runner = _effect.run.bind(_effect); + runner.effect = _effect; + return runner; +} +__name(effect, "effect"); +function stop(runner) { + runner.effect.stop(); +} +__name(stop, "stop"); +let shouldTrack = true; +let pauseScheduleStack = 0; +const trackStack = []; +function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; +} +__name(pauseTracking, "pauseTracking"); +function enableTracking() { + trackStack.push(shouldTrack); + shouldTrack = true; +} +__name(enableTracking, "enableTracking"); +function resetTracking() { + const last = trackStack.pop(); + shouldTrack = last === void 0 ? true : last; +} +__name(resetTracking, "resetTracking"); +function pauseScheduling() { + pauseScheduleStack++; +} +__name(pauseScheduling, "pauseScheduling"); +function resetScheduling() { + pauseScheduleStack--; + while (!pauseScheduleStack && queueEffectSchedulers.length) { + queueEffectSchedulers.shift()(); + } +} +__name(resetScheduling, "resetScheduling"); +function trackEffect(effect2, dep, debuggerEventExtraInfo) { + var _a2; + if (dep.get(effect2) !== effect2._trackId) { + dep.set(effect2, effect2._trackId); + const oldDep = effect2.deps[effect2._depsLength]; + if (oldDep !== dep) { + if (oldDep) { + cleanupDepEffect(oldDep, effect2); + } + effect2.deps[effect2._depsLength++] = dep; + } else { + effect2._depsLength++; + } + if (false) { + (_a2 = effect2.onTrack) == null ? void 0 : _a2.call(effect2, extend$1({ effect: effect2 }, debuggerEventExtraInfo)); + } + } +} +__name(trackEffect, "trackEffect"); +const queueEffectSchedulers = []; +function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) { + var _a2; + pauseScheduling(); + for (const effect2 of dep.keys()) { + let tracking; + if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { + effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0); + effect2._dirtyLevel = dirtyLevel; + } + if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { + if (false) { + (_a2 = effect2.onTrigger) == null ? void 0 : _a2.call(effect2, extend$1({ effect: effect2 }, debuggerEventExtraInfo)); + } + effect2.trigger(); + if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) { + effect2._shouldSchedule = false; + if (effect2.scheduler) { + queueEffectSchedulers.push(effect2.scheduler); + } + } + } + } + resetScheduling(); +} +__name(triggerEffects, "triggerEffects"); +const createDep = /* @__PURE__ */ __name((cleanup, computed2) => { + const dep = /* @__PURE__ */ new Map(); + dep.cleanup = cleanup; + dep.computed = computed2; + return dep; +}, "createDep"); +const targetMap = /* @__PURE__ */ new WeakMap(); +const ITERATE_KEY = Symbol(false ? "iterate" : ""); +const MAP_KEY_ITERATE_KEY = Symbol(false ? "Map key iterate" : ""); +function track(target, type, key) { + if (shouldTrack && activeEffect) { + let depsMap = targetMap.get(target); + if (!depsMap) { + targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); + } + let dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = createDep(() => depsMap.delete(key))); + } + trackEffect( + activeEffect, + dep, + false ? { + target, + type, + key + } : void 0 + ); + } +} +__name(track, "track"); +function trigger(target, type, key, newValue2, oldValue2, oldTarget) { + const depsMap = targetMap.get(target); + if (!depsMap) { + return; + } + let deps = []; + if (type === "clear") { + deps = [...depsMap.values()]; + } else if (key === "length" && isArray$4(target)) { + const newLength = Number(newValue2); + depsMap.forEach((dep, key2) => { + if (key2 === "length" || !isSymbol$1(key2) && key2 >= newLength) { + deps.push(dep); + } + }); + } else { + if (key !== void 0) { + deps.push(depsMap.get(key)); + } + switch (type) { + case "add": + if (!isArray$4(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (isIntegerKey(key)) { + deps.push(depsMap.get("length")); + } + break; + case "delete": + if (!isArray$4(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } + break; + case "set": + if (isMap(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + } + break; + } + } + pauseScheduling(); + for (const dep of deps) { + if (dep) { + triggerEffects( + dep, + 4, + false ? { + target, + type, + key, + newValue: newValue2, + oldValue: oldValue2, + oldTarget + } : void 0 + ); + } + } + resetScheduling(); +} +__name(trigger, "trigger"); +function getDepFromReactive(object, key) { + const depsMap = targetMap.get(object); + return depsMap && depsMap.get(key); +} +__name(getDepFromReactive, "getDepFromReactive"); +const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); +const builtInSymbols = new Set( + /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol$1) +); +const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations(); +function createArrayInstrumentations() { + const instrumentations = {}; + ["includes", "indexOf", "lastIndexOf"].forEach((key) => { + instrumentations[key] = function(...args) { + const arr = toRaw(this); + for (let i2 = 0, l = this.length; i2 < l; i2++) { + track(arr, "get", i2 + ""); + } + const res = arr[key](...args); + if (res === -1 || res === false) { + return arr[key](...args.map(toRaw)); + } else { + return res; + } + }; + }); + ["push", "pop", "shift", "unshift", "splice"].forEach((key) => { + instrumentations[key] = function(...args) { + pauseTracking(); + pauseScheduling(); + const res = toRaw(this)[key].apply(this, args); + resetScheduling(); + resetTracking(); + return res; + }; + }); + return instrumentations; +} +__name(createArrayInstrumentations, "createArrayInstrumentations"); +function hasOwnProperty$2(key) { + if (!isSymbol$1(key)) key = String(key); + const obj = toRaw(this); + track(obj, "has", key); + return obj.hasOwnProperty(key); +} +__name(hasOwnProperty$2, "hasOwnProperty$2"); +class BaseReactiveHandler { + static { + __name(this, "BaseReactiveHandler"); + } + constructor(_isReadonly = false, _isShallow = false) { + this._isReadonly = _isReadonly; + this._isShallow = _isShallow; + } + get(target, key, receiver) { + const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_isShallow") { + return isShallow2; + } else if (key === "__v_raw") { + if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype + // this means the reciever is a user proxy of the reactive proxy + Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { + return target; + } + return; + } + const targetIsArray = isArray$4(target); + if (!isReadonly2) { + if (targetIsArray && hasOwn$3(arrayInstrumentations, key)) { + return Reflect.get(arrayInstrumentations, key, receiver); + } + if (key === "hasOwnProperty") { + return hasOwnProperty$2; + } + } + const res = Reflect.get(target, key, receiver); + if (isSymbol$1(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { + return res; + } + if (!isReadonly2) { + track(target, "get", key); + } + if (isShallow2) { + return res; + } + if (isRef(res)) { + return targetIsArray && isIntegerKey(key) ? res : res.value; + } + if (isObject$6(res)) { + return isReadonly2 ? readonly(res) : reactive(res); + } + return res; + } +} +class MutableReactiveHandler extends BaseReactiveHandler { + static { + __name(this, "MutableReactiveHandler"); + } + constructor(isShallow2 = false) { + super(false, isShallow2); + } + set(target, key, value4, receiver) { + let oldValue2 = target[key]; + if (!this._isShallow) { + const isOldValueReadonly = isReadonly(oldValue2); + if (!isShallow(value4) && !isReadonly(value4)) { + oldValue2 = toRaw(oldValue2); + value4 = toRaw(value4); + } + if (!isArray$4(target) && isRef(oldValue2) && !isRef(value4)) { + if (isOldValueReadonly) { + return false; + } else { + oldValue2.value = value4; + return true; + } + } + } + const hadKey = isArray$4(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn$3(target, key); + const result = Reflect.set(target, key, value4, receiver); + if (target === toRaw(receiver)) { + if (!hadKey) { + trigger(target, "add", key, value4); + } else if (hasChanged(value4, oldValue2)) { + trigger(target, "set", key, value4, oldValue2); + } + } + return result; + } + deleteProperty(target, key) { + const hadKey = hasOwn$3(target, key); + const oldValue2 = target[key]; + const result = Reflect.deleteProperty(target, key); + if (result && hadKey) { + trigger(target, "delete", key, void 0, oldValue2); + } + return result; + } + has(target, key) { + const result = Reflect.has(target, key); + if (!isSymbol$1(key) || !builtInSymbols.has(key)) { + track(target, "has", key); + } + return result; + } + ownKeys(target) { + track( + target, + "iterate", + isArray$4(target) ? "length" : ITERATE_KEY + ); + return Reflect.ownKeys(target); + } +} +class ReadonlyReactiveHandler extends BaseReactiveHandler { + static { + __name(this, "ReadonlyReactiveHandler"); + } + constructor(isShallow2 = false) { + super(true, isShallow2); + } + set(target, key) { + if (false) { + warn$4( + `Set operation on key "${String(key)}" failed: target is readonly.`, + target + ); + } + return true; + } + deleteProperty(target, key) { + if (false) { + warn$4( + `Delete operation on key "${String(key)}" failed: target is readonly.`, + target + ); + } + return true; + } +} +const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler(); +const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(); +const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler( + true +); +const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true); +const toShallow = /* @__PURE__ */ __name((value4) => value4, "toShallow"); +const getProto = /* @__PURE__ */ __name((v2) => Reflect.getPrototypeOf(v2), "getProto"); +function get$3(target, key, isReadonly2 = false, isShallow2 = false) { + target = target["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly2) { + if (hasChanged(key, rawKey)) { + track(rawTarget, "get", key); + } + track(rawTarget, "get", rawKey); + } + const { has: has2 } = getProto(rawTarget); + const wrap2 = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive$1; + if (has2.call(rawTarget, key)) { + return wrap2(target.get(key)); + } else if (has2.call(rawTarget, rawKey)) { + return wrap2(target.get(rawKey)); + } else if (target !== rawTarget) { + target.get(key); + } +} +__name(get$3, "get$3"); +function has$1(key, isReadonly2 = false) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly2) { + if (hasChanged(key, rawKey)) { + track(rawTarget, "has", key); + } + track(rawTarget, "has", rawKey); + } + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); +} +__name(has$1, "has$1"); +function size(target, isReadonly2 = false) { + target = target["__v_raw"]; + !isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY); + return Reflect.get(target, "size", target); +} +__name(size, "size"); +function add$1(value4) { + value4 = toRaw(value4); + const target = toRaw(this); + const proto = getProto(target); + const hadKey = proto.has.call(target, value4); + if (!hadKey) { + target.add(value4); + trigger(target, "add", value4, value4); + } + return this; +} +__name(add$1, "add$1"); +function set$4(key, value4) { + value4 = toRaw(value4); + const target = toRaw(this); + const { has: has2, get: get22 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } else if (false) { + checkIdentityKeys(target, has2, key); + } + const oldValue2 = get22.call(target, key); + target.set(key, value4); + if (!hadKey) { + trigger(target, "add", key, value4); + } else if (hasChanged(value4, oldValue2)) { + trigger(target, "set", key, value4, oldValue2); + } + return this; +} +__name(set$4, "set$4"); +function deleteEntry(key) { + const target = toRaw(this); + const { has: has2, get: get22 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } else if (false) { + checkIdentityKeys(target, has2, key); + } + const oldValue2 = get22 ? get22.call(target, key) : void 0; + const result = target.delete(key); + if (hadKey) { + trigger(target, "delete", key, void 0, oldValue2); + } + return result; +} +__name(deleteEntry, "deleteEntry"); +function clear() { + const target = toRaw(this); + const hadItems = target.size !== 0; + const oldTarget = false ? isMap(target) ? new Map(target) : new Set(target) : void 0; + const result = target.clear(); + if (hadItems) { + trigger(target, "clear", void 0, void 0, oldTarget); + } + return result; +} +__name(clear, "clear"); +function createForEach(isReadonly2, isShallow2) { + return /* @__PURE__ */ __name(function forEach3(callback, thisArg) { + const observed = this; + const target = observed["__v_raw"]; + const rawTarget = toRaw(target); + const wrap2 = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive$1; + !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value4, key) => { + return callback.call(thisArg, wrap2(value4), wrap2(key), observed); + }); + }, "forEach"); +} +__name(createForEach, "createForEach"); +function createIterableMethod(method, isReadonly2, isShallow2) { + return function(...args) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const targetIsMap = isMap(rawTarget); + const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; + const isKeyOnly = method === "keys" && targetIsMap; + const innerIterator = target[method](...args); + const wrap2 = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive$1; + !isReadonly2 && track( + rawTarget, + "iterate", + isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY + ); + return { + // iterator protocol + next() { + const { value: value4, done } = innerIterator.next(); + return done ? { value: value4, done } : { + value: isPair ? [wrap2(value4[0]), wrap2(value4[1])] : wrap2(value4), + done + }; + }, + // iterable protocol + [Symbol.iterator]() { + return this; + } + }; + }; +} +__name(createIterableMethod, "createIterableMethod"); +function createReadonlyMethod(type) { + return function(...args) { + if (false) { + const key = args[0] ? `on key "${args[0]}" ` : ``; + warn$4( + `${capitalize$1(type)} operation ${key}failed: target is readonly.`, + toRaw(this) + ); + } + return type === "delete" ? false : type === "clear" ? void 0 : this; + }; +} +__name(createReadonlyMethod, "createReadonlyMethod"); +function createInstrumentations() { + const mutableInstrumentations2 = { + get(key) { + return get$3(this, key); + }, + get size() { + return size(this); + }, + has: has$1, + add: add$1, + set: set$4, + delete: deleteEntry, + clear, + forEach: createForEach(false, false) + }; + const shallowInstrumentations2 = { + get(key) { + return get$3(this, key, false, true); + }, + get size() { + return size(this); + }, + has: has$1, + add: add$1, + set: set$4, + delete: deleteEntry, + clear, + forEach: createForEach(false, true) + }; + const readonlyInstrumentations2 = { + get(key) { + return get$3(this, key, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has$1.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, false) + }; + const shallowReadonlyInstrumentations2 = { + get(key) { + return get$3(this, key, true, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has$1.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, true) + }; + const iteratorMethods = [ + "keys", + "values", + "entries", + Symbol.iterator + ]; + iteratorMethods.forEach((method) => { + mutableInstrumentations2[method] = createIterableMethod(method, false, false); + readonlyInstrumentations2[method] = createIterableMethod(method, true, false); + shallowInstrumentations2[method] = createIterableMethod(method, false, true); + shallowReadonlyInstrumentations2[method] = createIterableMethod( + method, + true, + true + ); + }); + return [ + mutableInstrumentations2, + readonlyInstrumentations2, + shallowInstrumentations2, + shallowReadonlyInstrumentations2 + ]; +} +__name(createInstrumentations, "createInstrumentations"); +const [ + mutableInstrumentations, + readonlyInstrumentations, + shallowInstrumentations, + shallowReadonlyInstrumentations +] = /* @__PURE__ */ createInstrumentations(); +function createInstrumentationGetter(isReadonly2, shallow) { + const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations; + return (target, key, receiver) => { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_raw") { + return target; + } + return Reflect.get( + hasOwn$3(instrumentations, key) && key in target ? instrumentations : target, + key, + receiver + ); + }; +} +__name(createInstrumentationGetter, "createInstrumentationGetter"); +const mutableCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, false) +}; +const shallowCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, true) +}; +const readonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, false) +}; +const shallowReadonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, true) +}; +function checkIdentityKeys(target, has2, key) { + const rawKey = toRaw(key); + if (rawKey !== key && has2.call(target, rawKey)) { + const type = toRawType(target); + warn$4( + `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.` + ); + } +} +__name(checkIdentityKeys, "checkIdentityKeys"); +const reactiveMap = /* @__PURE__ */ new WeakMap(); +const shallowReactiveMap = /* @__PURE__ */ new WeakMap(); +const readonlyMap = /* @__PURE__ */ new WeakMap(); +const shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); +function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": + return 1; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2; + default: + return 0; + } +} +__name(targetTypeMap, "targetTypeMap"); +function getTargetType(value4) { + return value4["__v_skip"] || !Object.isExtensible(value4) ? 0 : targetTypeMap(toRawType(value4)); +} +__name(getTargetType, "getTargetType"); +function reactive(target) { + if (isReadonly(target)) { + return target; + } + return createReactiveObject( + target, + false, + mutableHandlers, + mutableCollectionHandlers, + reactiveMap + ); +} +__name(reactive, "reactive"); +function shallowReactive(target) { + return createReactiveObject( + target, + false, + shallowReactiveHandlers, + shallowCollectionHandlers, + shallowReactiveMap + ); +} +__name(shallowReactive, "shallowReactive"); +function readonly(target) { + return createReactiveObject( + target, + true, + readonlyHandlers, + readonlyCollectionHandlers, + readonlyMap + ); +} +__name(readonly, "readonly"); +function shallowReadonly(target) { + return createReactiveObject( + target, + true, + shallowReadonlyHandlers, + shallowReadonlyCollectionHandlers, + shallowReadonlyMap + ); +} +__name(shallowReadonly, "shallowReadonly"); +function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!isObject$6(target)) { + if (false) { + warn$4( + `value cannot be made ${isReadonly2 ? "readonly" : "reactive"}: ${String( + target + )}` + ); + } + return target; + } + if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { + return target; + } + const existingProxy = proxyMap.get(target); + if (existingProxy) { + return existingProxy; + } + const targetType = getTargetType(target); + if (targetType === 0) { + return target; + } + const proxy = new Proxy( + target, + targetType === 2 ? collectionHandlers : baseHandlers + ); + proxyMap.set(target, proxy); + return proxy; +} +__name(createReactiveObject, "createReactiveObject"); +function isReactive(value4) { + if (isReadonly(value4)) { + return isReactive(value4["__v_raw"]); + } + return !!(value4 && value4["__v_isReactive"]); +} +__name(isReactive, "isReactive"); +function isReadonly(value4) { + return !!(value4 && value4["__v_isReadonly"]); +} +__name(isReadonly, "isReadonly"); +function isShallow(value4) { + return !!(value4 && value4["__v_isShallow"]); +} +__name(isShallow, "isShallow"); +function isProxy(value4) { + return value4 ? !!value4["__v_raw"] : false; +} +__name(isProxy, "isProxy"); +function toRaw(observed) { + const raw = observed && observed["__v_raw"]; + return raw ? toRaw(raw) : observed; +} +__name(toRaw, "toRaw"); +function markRaw(value4) { + if (Object.isExtensible(value4)) { + def(value4, "__v_skip", true); + } + return value4; +} +__name(markRaw, "markRaw"); +const toReactive$1 = /* @__PURE__ */ __name((value4) => isObject$6(value4) ? reactive(value4) : value4, "toReactive$1"); +const toReadonly = /* @__PURE__ */ __name((value4) => isObject$6(value4) ? readonly(value4) : value4, "toReadonly"); +const COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`; +class ComputedRefImpl { + static { + __name(this, "ComputedRefImpl"); + } + constructor(getter, _setter, isReadonly2, isSSR) { + this.getter = getter; + this._setter = _setter; + this.dep = void 0; + this.__v_isRef = true; + this["__v_isReadonly"] = false; + this.effect = new ReactiveEffect( + () => getter(this._value), + () => triggerRefValue( + this, + this.effect._dirtyLevel === 2 ? 2 : 3 + ) + ); + this.effect.computed = this; + this.effect.active = this._cacheable = !isSSR; + this["__v_isReadonly"] = isReadonly2; + } + get value() { + const self2 = toRaw(this); + if ((!self2._cacheable || self2.effect.dirty) && hasChanged(self2._value, self2._value = self2.effect.run())) { + triggerRefValue(self2, 4); + } + trackRefValue(self2); + if (self2.effect._dirtyLevel >= 2) { + if (false) { + warn$4(COMPUTED_SIDE_EFFECT_WARN, ` + +getter: `, this.getter); + } + triggerRefValue(self2, 2); + } + return self2._value; + } + set value(newValue2) { + this._setter(newValue2); + } + // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x + get _dirty() { + return this.effect.dirty; + } + set _dirty(v2) { + this.effect.dirty = v2; + } + // #endregion +} +function computed$1(getterOrOptions, debugOptions, isSSR = false) { + let getter; + let setter; + const onlyGetter = isFunction$4(getterOrOptions); + if (onlyGetter) { + getter = getterOrOptions; + setter = false ? () => { + warn$4("Write operation failed: computed value is readonly"); + } : NOOP; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR); + if (false) { + cRef.effect.onTrack = debugOptions.onTrack; + cRef.effect.onTrigger = debugOptions.onTrigger; + } + return cRef; +} +__name(computed$1, "computed$1"); +function trackRefValue(ref2) { + var _a2; + if (shouldTrack && activeEffect) { + ref2 = toRaw(ref2); + trackEffect( + activeEffect, + (_a2 = ref2.dep) != null ? _a2 : ref2.dep = createDep( + () => ref2.dep = void 0, + ref2 instanceof ComputedRefImpl ? ref2 : void 0 + ), + false ? { + target: ref2, + type: "get", + key: "value" + } : void 0 + ); + } +} +__name(trackRefValue, "trackRefValue"); +function triggerRefValue(ref2, dirtyLevel = 4, newVal, oldVal) { + ref2 = toRaw(ref2); + const dep = ref2.dep; + if (dep) { + triggerEffects( + dep, + dirtyLevel, + false ? { + target: ref2, + type: "set", + key: "value", + newValue: newVal, + oldValue: oldVal + } : void 0 + ); + } +} +__name(triggerRefValue, "triggerRefValue"); +function isRef(r) { + return !!(r && r.__v_isRef === true); +} +__name(isRef, "isRef"); +function ref(value4) { + return createRef(value4, false); +} +__name(ref, "ref"); +function shallowRef(value4) { + return createRef(value4, true); +} +__name(shallowRef, "shallowRef"); +function createRef(rawValue, shallow) { + if (isRef(rawValue)) { + return rawValue; + } + return new RefImpl(rawValue, shallow); +} +__name(createRef, "createRef"); +class RefImpl { + static { + __name(this, "RefImpl"); + } + constructor(value4, __v_isShallow) { + this.__v_isShallow = __v_isShallow; + this.dep = void 0; + this.__v_isRef = true; + this._rawValue = __v_isShallow ? value4 : toRaw(value4); + this._value = __v_isShallow ? value4 : toReactive$1(value4); + } + get value() { + trackRefValue(this); + return this._value; + } + set value(newVal) { + const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal); + newVal = useDirectValue ? newVal : toRaw(newVal); + if (hasChanged(newVal, this._rawValue)) { + const oldVal = this._rawValue; + this._rawValue = newVal; + this._value = useDirectValue ? newVal : toReactive$1(newVal); + triggerRefValue(this, 4, newVal, oldVal); + } + } +} +function triggerRef(ref2) { + triggerRefValue(ref2, 4, false ? ref2.value : void 0); +} +__name(triggerRef, "triggerRef"); +function unref(ref2) { + return isRef(ref2) ? ref2.value : ref2; +} +__name(unref, "unref"); +function toValue$1(source) { + return isFunction$4(source) ? source() : unref(source); +} +__name(toValue$1, "toValue$1"); +const shallowUnwrapHandlers = { + get: /* @__PURE__ */ __name((target, key, receiver) => unref(Reflect.get(target, key, receiver)), "get"), + set: /* @__PURE__ */ __name((target, key, value4, receiver) => { + const oldValue2 = target[key]; + if (isRef(oldValue2) && !isRef(value4)) { + oldValue2.value = value4; + return true; + } else { + return Reflect.set(target, key, value4, receiver); + } + }, "set") +}; +function proxyRefs(objectWithRefs) { + return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); +} +__name(proxyRefs, "proxyRefs"); +class CustomRefImpl { + static { + __name(this, "CustomRefImpl"); + } + constructor(factory) { + this.dep = void 0; + this.__v_isRef = true; + const { get: get22, set: set22 } = factory( + () => trackRefValue(this), + () => triggerRefValue(this) + ); + this._get = get22; + this._set = set22; + } + get value() { + return this._get(); + } + set value(newVal) { + this._set(newVal); + } +} +function customRef(factory) { + return new CustomRefImpl(factory); +} +__name(customRef, "customRef"); +function toRefs$1(object) { + if (false) { + warn$4(`toRefs() expects a reactive object but received a plain one.`); + } + const ret = isArray$4(object) ? new Array(object.length) : {}; + for (const key in object) { + ret[key] = propertyToRef(object, key); + } + return ret; +} +__name(toRefs$1, "toRefs$1"); +class ObjectRefImpl { + static { + __name(this, "ObjectRefImpl"); + } + constructor(_object, _key, _defaultValue) { + this._object = _object; + this._key = _key; + this._defaultValue = _defaultValue; + this.__v_isRef = true; + } + get value() { + const val = this._object[this._key]; + return val === void 0 ? this._defaultValue : val; + } + set value(newVal) { + this._object[this._key] = newVal; + } + get dep() { + return getDepFromReactive(toRaw(this._object), this._key); + } +} +class GetterRefImpl { + static { + __name(this, "GetterRefImpl"); + } + constructor(_getter) { + this._getter = _getter; + this.__v_isRef = true; + this.__v_isReadonly = true; + } + get value() { + return this._getter(); + } +} +function toRef$1(source, key, defaultValue) { + if (isRef(source)) { + return source; + } else if (isFunction$4(source)) { + return new GetterRefImpl(source); + } else if (isObject$6(source) && arguments.length > 1) { + return propertyToRef(source, key, defaultValue); + } else { + return ref(source); + } +} +__name(toRef$1, "toRef$1"); +function propertyToRef(source, key, defaultValue) { + const val = source[key]; + return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue); +} +__name(propertyToRef, "propertyToRef"); +const deferredComputed = computed$1; +const TrackOpTypes = { + "GET": "get", + "HAS": "has", + "ITERATE": "iterate" +}; +const TriggerOpTypes = { + "SET": "set", + "ADD": "add", + "DELETE": "delete", + "CLEAR": "clear" +}; +const ReactiveFlags = { + "SKIP": "__v_skip", + "IS_REACTIVE": "__v_isReactive", + "IS_READONLY": "__v_isReadonly", + "IS_SHALLOW": "__v_isShallow", + "RAW": "__v_raw" +}; +/** +* @vue/runtime-core v3.4.31 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +const stack = []; +function pushWarningContext(vnode) { + stack.push(vnode); +} +__name(pushWarningContext, "pushWarningContext"); +function popWarningContext() { + stack.pop(); +} +__name(popWarningContext, "popWarningContext"); +function warn$1$1(msg, ...args) { + pauseTracking(); + const instance = stack.length ? stack[stack.length - 1].component : null; + const appWarnHandler = instance && instance.appContext.config.warnHandler; + const trace = getComponentTrace(); + if (appWarnHandler) { + callWithErrorHandling( + appWarnHandler, + instance, + 11, + [ + // eslint-disable-next-line no-restricted-syntax + msg + args.map((a) => { + var _a2, _b; + return (_b = (_a2 = a.toString) == null ? void 0 : _a2.call(a)) != null ? _b : JSON.stringify(a); + }).join(""), + instance && instance.proxy, + trace.map( + ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>` + ).join("\n"), + trace + ] + ); + } else { + const warnArgs = [`[Vue warn]: ${msg}`, ...args]; + if (trace.length && // avoid spamming console during tests + true) { + warnArgs.push(` +`, ...formatTrace(trace)); + } + console.warn(...warnArgs); + } + resetTracking(); +} +__name(warn$1$1, "warn$1$1"); +function getComponentTrace() { + let currentVNode = stack[stack.length - 1]; + if (!currentVNode) { + return []; + } + const normalizedStack = []; + while (currentVNode) { + const last = normalizedStack[0]; + if (last && last.vnode === currentVNode) { + last.recurseCount++; + } else { + normalizedStack.push({ + vnode: currentVNode, + recurseCount: 0 + }); + } + const parentInstance = currentVNode.component && currentVNode.component.parent; + currentVNode = parentInstance && parentInstance.vnode; + } + return normalizedStack; +} +__name(getComponentTrace, "getComponentTrace"); +function formatTrace(trace) { + const logs = []; + trace.forEach((entry, i2) => { + logs.push(...i2 === 0 ? [] : [` +`], ...formatTraceEntry(entry)); + }); + return logs; +} +__name(formatTrace, "formatTrace"); +function formatTraceEntry({ vnode, recurseCount }) { + const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; + const isRoot = vnode.component ? vnode.component.parent == null : false; + const open2 = ` at <${formatComponentName( + vnode.component, + vnode.type, + isRoot + )}`; + const close5 = `>` + postfix; + return vnode.props ? [open2, ...formatProps(vnode.props), close5] : [open2 + close5]; +} +__name(formatTraceEntry, "formatTraceEntry"); +function formatProps(props) { + const res = []; + const keys2 = Object.keys(props); + keys2.slice(0, 3).forEach((key) => { + res.push(...formatProp(key, props[key])); + }); + if (keys2.length > 3) { + res.push(` ...`); + } + return res; +} +__name(formatProps, "formatProps"); +function formatProp(key, value4, raw) { + if (isString$7(value4)) { + value4 = JSON.stringify(value4); + return raw ? value4 : [`${key}=${value4}`]; + } else if (typeof value4 === "number" || typeof value4 === "boolean" || value4 == null) { + return raw ? value4 : [`${key}=${value4}`]; + } else if (isRef(value4)) { + value4 = formatProp(key, toRaw(value4.value), true); + return raw ? value4 : [`${key}=Ref<`, value4, `>`]; + } else if (isFunction$4(value4)) { + return [`${key}=fn${value4.name ? `<${value4.name}>` : ``}`]; + } else { + value4 = toRaw(value4); + return raw ? value4 : [`${key}=`, value4]; + } +} +__name(formatProp, "formatProp"); +function assertNumber(val, type) { + if (true) return; + if (val === void 0) { + return; + } else if (typeof val !== "number") { + warn$1$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`); + } else if (isNaN(val)) { + warn$1$1(`${type} is NaN - the duration expression might be incorrect.`); + } +} +__name(assertNumber, "assertNumber"); +const ErrorCodes = { + "SETUP_FUNCTION": 0, + "0": "SETUP_FUNCTION", + "RENDER_FUNCTION": 1, + "1": "RENDER_FUNCTION", + "WATCH_GETTER": 2, + "2": "WATCH_GETTER", + "WATCH_CALLBACK": 3, + "3": "WATCH_CALLBACK", + "WATCH_CLEANUP": 4, + "4": "WATCH_CLEANUP", + "NATIVE_EVENT_HANDLER": 5, + "5": "NATIVE_EVENT_HANDLER", + "COMPONENT_EVENT_HANDLER": 6, + "6": "COMPONENT_EVENT_HANDLER", + "VNODE_HOOK": 7, + "7": "VNODE_HOOK", + "DIRECTIVE_HOOK": 8, + "8": "DIRECTIVE_HOOK", + "TRANSITION_HOOK": 9, + "9": "TRANSITION_HOOK", + "APP_ERROR_HANDLER": 10, + "10": "APP_ERROR_HANDLER", + "APP_WARN_HANDLER": 11, + "11": "APP_WARN_HANDLER", + "FUNCTION_REF": 12, + "12": "FUNCTION_REF", + "ASYNC_COMPONENT_LOADER": 13, + "13": "ASYNC_COMPONENT_LOADER", + "SCHEDULER": 14, + "14": "SCHEDULER" +}; +const ErrorTypeStrings$1 = { + ["sp"]: "serverPrefetch hook", + ["bc"]: "beforeCreate hook", + ["c"]: "created hook", + ["bm"]: "beforeMount hook", + ["m"]: "mounted hook", + ["bu"]: "beforeUpdate hook", + ["u"]: "updated", + ["bum"]: "beforeUnmount hook", + ["um"]: "unmounted hook", + ["a"]: "activated hook", + ["da"]: "deactivated hook", + ["ec"]: "errorCaptured hook", + ["rtc"]: "renderTracked hook", + ["rtg"]: "renderTriggered hook", + [0]: "setup function", + [1]: "render function", + [2]: "watcher getter", + [3]: "watcher callback", + [4]: "watcher cleanup function", + [5]: "native event handler", + [6]: "component event handler", + [7]: "vnode hook", + [8]: "directive hook", + [9]: "transition hook", + [10]: "app errorHandler", + [11]: "app warnHandler", + [12]: "ref function", + [13]: "async component loader", + [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ." +}; +function callWithErrorHandling(fn, instance, type, args) { + try { + return args ? fn(...args) : fn(); + } catch (err) { + handleError(err, instance, type); + } +} +__name(callWithErrorHandling, "callWithErrorHandling"); +function callWithAsyncErrorHandling(fn, instance, type, args) { + if (isFunction$4(fn)) { + const res = callWithErrorHandling(fn, instance, type, args); + if (res && isPromise$1(res)) { + res.catch((err) => { + handleError(err, instance, type); + }); + } + return res; + } + if (isArray$4(fn)) { + const values = []; + for (let i2 = 0; i2 < fn.length; i2++) { + values.push(callWithAsyncErrorHandling(fn[i2], instance, type, args)); + } + return values; + } else if (false) { + warn$1$1( + `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}` + ); + } +} +__name(callWithAsyncErrorHandling, "callWithAsyncErrorHandling"); +function handleError(err, instance, type, throwInDev = true) { + const contextVNode = instance ? instance.vnode : null; + if (instance) { + let cur = instance.parent; + const exposedInstance = instance.proxy; + const errorInfo = false ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`; + while (cur) { + const errorCapturedHooks = cur.ec; + if (errorCapturedHooks) { + for (let i2 = 0; i2 < errorCapturedHooks.length; i2++) { + if (errorCapturedHooks[i2](err, exposedInstance, errorInfo) === false) { + return; + } + } + } + cur = cur.parent; + } + const appErrorHandler = instance.appContext.config.errorHandler; + if (appErrorHandler) { + pauseTracking(); + callWithErrorHandling( + appErrorHandler, + null, + 10, + [err, exposedInstance, errorInfo] + ); + resetTracking(); + return; + } + } + logError(err, type, contextVNode, throwInDev); +} +__name(handleError, "handleError"); +function logError(err, type, contextVNode, throwInDev = true) { + if (false) { + const info = ErrorTypeStrings$1[type]; + if (contextVNode) { + pushWarningContext(contextVNode); + } + warn$1$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`); + if (contextVNode) { + popWarningContext(); + } + if (throwInDev) { + throw err; + } else { + console.error(err); + } + } else { + console.error(err); + } +} +__name(logError, "logError"); +let isFlushing = false; +let isFlushPending = false; +const queue = []; +let flushIndex = 0; +const pendingPostFlushCbs = []; +let activePostFlushCbs = null; +let postFlushIndex = 0; +const resolvedPromise = /* @__PURE__ */ Promise.resolve(); +let currentFlushPromise = null; +const RECURSION_LIMIT = 100; +function nextTick(fn) { + const p2 = currentFlushPromise || resolvedPromise; + return fn ? p2.then(this ? fn.bind(this) : fn) : p2; +} +__name(nextTick, "nextTick"); +function findInsertionIndex$1(id3) { + let start2 = flushIndex + 1; + let end = queue.length; + while (start2 < end) { + const middle = start2 + end >>> 1; + const middleJob = queue[middle]; + const middleJobId = getId(middleJob); + if (middleJobId < id3 || middleJobId === id3 && middleJob.pre) { + start2 = middle + 1; + } else { + end = middle; + } + } + return start2; +} +__name(findInsertionIndex$1, "findInsertionIndex$1"); +function queueJob(job) { + if (!queue.length || !queue.includes( + job, + isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex + )) { + if (job.id == null) { + queue.push(job); + } else { + queue.splice(findInsertionIndex$1(job.id), 0, job); + } + queueFlush(); + } +} +__name(queueJob, "queueJob"); +function queueFlush() { + if (!isFlushing && !isFlushPending) { + isFlushPending = true; + currentFlushPromise = resolvedPromise.then(flushJobs); + } +} +__name(queueFlush, "queueFlush"); +function invalidateJob(job) { + const i2 = queue.indexOf(job); + if (i2 > flushIndex) { + queue.splice(i2, 1); + } +} +__name(invalidateJob, "invalidateJob"); +function queuePostFlushCb(cb) { + if (!isArray$4(cb)) { + if (!activePostFlushCbs || !activePostFlushCbs.includes( + cb, + cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex + )) { + pendingPostFlushCbs.push(cb); + } + } else { + pendingPostFlushCbs.push(...cb); + } + queueFlush(); +} +__name(queuePostFlushCb, "queuePostFlushCb"); +function flushPreFlushCbs(instance, seen2, i2 = isFlushing ? flushIndex + 1 : 0) { + if (false) { + seen2 = seen2 || /* @__PURE__ */ new Map(); + } + for (; i2 < queue.length; i2++) { + const cb = queue[i2]; + if (cb && cb.pre) { + if (instance && cb.id !== instance.uid) { + continue; + } + if (false) { + continue; + } + queue.splice(i2, 1); + i2--; + cb(); + } + } +} +__name(flushPreFlushCbs, "flushPreFlushCbs"); +function flushPostFlushCbs(seen2) { + if (pendingPostFlushCbs.length) { + const deduped = [...new Set(pendingPostFlushCbs)].sort( + (a, b) => getId(a) - getId(b) + ); + pendingPostFlushCbs.length = 0; + if (activePostFlushCbs) { + activePostFlushCbs.push(...deduped); + return; + } + activePostFlushCbs = deduped; + if (false) { + seen2 = seen2 || /* @__PURE__ */ new Map(); + } + for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { + const cb = activePostFlushCbs[postFlushIndex]; + if (false) { + continue; + } + if (cb.active !== false) cb(); + } + activePostFlushCbs = null; + postFlushIndex = 0; + } +} +__name(flushPostFlushCbs, "flushPostFlushCbs"); +const getId = /* @__PURE__ */ __name((job) => job.id == null ? Infinity : job.id, "getId"); +const comparator = /* @__PURE__ */ __name((a, b) => { + const diff2 = getId(a) - getId(b); + if (diff2 === 0) { + if (a.pre && !b.pre) return -1; + if (b.pre && !a.pre) return 1; + } + return diff2; +}, "comparator"); +function flushJobs(seen2) { + isFlushPending = false; + isFlushing = true; + if (false) { + seen2 = seen2 || /* @__PURE__ */ new Map(); + } + queue.sort(comparator); + const check = false ? (job) => checkRecursiveUpdates(seen2, job) : NOOP; + try { + for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job && job.active !== false) { + if (false) { + continue; + } + callWithErrorHandling(job, null, 14); + } + } + } finally { + flushIndex = 0; + queue.length = 0; + flushPostFlushCbs(seen2); + isFlushing = false; + currentFlushPromise = null; + if (queue.length || pendingPostFlushCbs.length) { + flushJobs(seen2); + } + } +} +__name(flushJobs, "flushJobs"); +function checkRecursiveUpdates(seen2, fn) { + if (!seen2.has(fn)) { + seen2.set(fn, 1); + } else { + const count = seen2.get(fn); + if (count > RECURSION_LIMIT) { + const instance = fn.ownerInstance; + const componentName = instance && getComponentName(instance.type); + handleError( + `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, + null, + 10 + ); + return true; + } else { + seen2.set(fn, count + 1); + } + } +} +__name(checkRecursiveUpdates, "checkRecursiveUpdates"); +let isHmrUpdating = false; +const hmrDirtyComponents = /* @__PURE__ */ new Set(); +if (false) { + getGlobalThis$1().__VUE_HMR_RUNTIME__ = { + createRecord: tryWrap(createRecord), + rerender: tryWrap(rerender), + reload: tryWrap(reload) + }; +} +const map$1 = /* @__PURE__ */ new Map(); +function registerHMR(instance) { + const id3 = instance.type.__hmrId; + let record = map$1.get(id3); + if (!record) { + createRecord(id3, instance.type); + record = map$1.get(id3); + } + record.instances.add(instance); +} +__name(registerHMR, "registerHMR"); +function unregisterHMR(instance) { + map$1.get(instance.type.__hmrId).instances.delete(instance); +} +__name(unregisterHMR, "unregisterHMR"); +function createRecord(id3, initialDef) { + if (map$1.has(id3)) { + return false; + } + map$1.set(id3, { + initialDef: normalizeClassComponent(initialDef), + instances: /* @__PURE__ */ new Set() + }); + return true; +} +__name(createRecord, "createRecord"); +function normalizeClassComponent(component) { + return isClassComponent(component) ? component.__vccOpts : component; +} +__name(normalizeClassComponent, "normalizeClassComponent"); +function rerender(id3, newRender) { + const record = map$1.get(id3); + if (!record) { + return; + } + record.initialDef.render = newRender; + [...record.instances].forEach((instance) => { + if (newRender) { + instance.render = newRender; + normalizeClassComponent(instance.type).render = newRender; + } + instance.renderCache = []; + isHmrUpdating = true; + instance.effect.dirty = true; + instance.update(); + isHmrUpdating = false; + }); +} +__name(rerender, "rerender"); +function reload(id3, newComp) { + const record = map$1.get(id3); + if (!record) return; + newComp = normalizeClassComponent(newComp); + updateComponentDef(record.initialDef, newComp); + const instances = [...record.instances]; + for (const instance of instances) { + const oldComp = normalizeClassComponent(instance.type); + if (!hmrDirtyComponents.has(oldComp)) { + if (oldComp !== record.initialDef) { + updateComponentDef(oldComp, newComp); + } + hmrDirtyComponents.add(oldComp); + } + instance.appContext.propsCache.delete(instance.type); + instance.appContext.emitsCache.delete(instance.type); + instance.appContext.optionsCache.delete(instance.type); + if (instance.ceReload) { + hmrDirtyComponents.add(oldComp); + instance.ceReload(newComp.styles); + hmrDirtyComponents.delete(oldComp); + } else if (instance.parent) { + instance.parent.effect.dirty = true; + queueJob(() => { + instance.parent.update(); + hmrDirtyComponents.delete(oldComp); + }); + } else if (instance.appContext.reload) { + instance.appContext.reload(); + } else if (typeof window !== "undefined") { + window.location.reload(); + } else { + console.warn( + "[HMR] Root or manually mounted instance modified. Full reload required." + ); + } + } + queuePostFlushCb(() => { + for (const instance of instances) { + hmrDirtyComponents.delete( + normalizeClassComponent(instance.type) + ); + } + }); +} +__name(reload, "reload"); +function updateComponentDef(oldComp, newComp) { + extend$1(oldComp, newComp); + for (const key in oldComp) { + if (key !== "__file" && !(key in newComp)) { + delete oldComp[key]; + } + } +} +__name(updateComponentDef, "updateComponentDef"); +function tryWrap(fn) { + return (id3, arg) => { + try { + return fn(id3, arg); + } catch (e2) { + console.error(e2); + console.warn( + `[HMR] Something went wrong during Vue component hot-reload. Full reload required.` + ); + } + }; +} +__name(tryWrap, "tryWrap"); +let devtools$1; +let buffer = []; +let devtoolsNotInstalled = false; +function emit$1(event, ...args) { + if (devtools$1) { + devtools$1.emit(event, ...args); + } else if (!devtoolsNotInstalled) { + buffer.push({ event, args }); + } +} +__name(emit$1, "emit$1"); +function setDevtoolsHook$1(hook, target) { + var _a2, _b; + devtools$1 = hook; + if (devtools$1) { + devtools$1.enabled = true; + buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args)); + buffer = []; + } else if ( + // handle late devtools injection - only do this if we are in an actual + // browser environment to avoid the timer handle stalling test runner exit + // (#4815) + typeof window !== "undefined" && // some envs mock window but not fully + window.HTMLElement && // also exclude jsdom + // eslint-disable-next-line no-restricted-syntax + !((_b = (_a2 = window.navigator) == null ? void 0 : _a2.userAgent) == null ? void 0 : _b.includes("jsdom")) + ) { + const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; + replay.push((newHook) => { + setDevtoolsHook$1(newHook, target); + }); + setTimeout(() => { + if (!devtools$1) { + target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; + devtoolsNotInstalled = true; + buffer = []; + } + }, 3e3); + } else { + devtoolsNotInstalled = true; + buffer = []; + } +} +__name(setDevtoolsHook$1, "setDevtoolsHook$1"); +function devtoolsInitApp(app2, version2) { + emit$1("app:init", app2, version2, { + Fragment: Fragment$1, + Text: Text$4, + Comment, + Static + }); +} +__name(devtoolsInitApp, "devtoolsInitApp"); +function devtoolsUnmountApp(app2) { + emit$1("app:unmount", app2); +} +__name(devtoolsUnmountApp, "devtoolsUnmountApp"); +const devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook( + "component:added" + /* COMPONENT_ADDED */ +); +const devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook( + "component:updated" + /* COMPONENT_UPDATED */ +); +const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook( + "component:removed" + /* COMPONENT_REMOVED */ +); +const devtoolsComponentRemoved = /* @__PURE__ */ __name((component) => { + if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && // remove the component if it wasn't buffered + !devtools$1.cleanupBuffer(component)) { + _devtoolsComponentRemoved(component); + } +}, "devtoolsComponentRemoved"); +/*! #__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function createDevtoolsComponentHook(hook) { + return (component) => { + emit$1( + hook, + component.appContext.app, + component.uid, + component.parent ? component.parent.uid : void 0, + component + ); + }; +} +__name(createDevtoolsComponentHook, "createDevtoolsComponentHook"); +const devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook( + "perf:start" + /* PERFORMANCE_START */ +); +const devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook( + "perf:end" + /* PERFORMANCE_END */ +); +function createDevtoolsPerformanceHook(hook) { + return (component, type, time) => { + emit$1(hook, component.appContext.app, component.uid, component, type, time); + }; +} +__name(createDevtoolsPerformanceHook, "createDevtoolsPerformanceHook"); +function devtoolsComponentEmit(component, event, params) { + emit$1( + "component:emit", + component.appContext.app, + component, + event, + params + ); +} +__name(devtoolsComponentEmit, "devtoolsComponentEmit"); +function emit(instance, event, ...rawArgs) { + if (instance.isUnmounted) return; + const props = instance.vnode.props || EMPTY_OBJ; + if (false) { + const { + emitsOptions, + propsOptions: [propsOptions] + } = instance; + if (emitsOptions) { + if (!(event in emitsOptions) && true) { + if (!propsOptions || !(toHandlerKey(event) in propsOptions)) { + warn$1$1( + `Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.` + ); + } + } else { + const validator3 = emitsOptions[event]; + if (isFunction$4(validator3)) { + const isValid2 = validator3(...rawArgs); + if (!isValid2) { + warn$1$1( + `Invalid event arguments: event validation failed for event "${event}".` + ); + } + } + } + } + } + let args = rawArgs; + const isModelListener2 = event.startsWith("update:"); + const modelArg = isModelListener2 && event.slice(7); + if (modelArg && modelArg in props) { + const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`; + const { number: number2, trim: trim2 } = props[modifiersKey] || EMPTY_OBJ; + if (trim2) { + args = rawArgs.map((a) => isString$7(a) ? a.trim() : a); + } + if (number2) { + args = rawArgs.map(looseToNumber); + } + } + if (false) { + devtoolsComponentEmit(instance, event, args); + } + if (false) { + const lowerCaseEvent = event.toLowerCase(); + if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) { + warn$1$1( + `Event "${lowerCaseEvent}" is emitted in component ${formatComponentName( + instance, + instance.type + )} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate$1( + event + )}" instead of "${event}".` + ); + } + } + let handlerName; + let handler6 = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249) + props[handlerName = toHandlerKey(camelize$1(event))]; + if (!handler6 && isModelListener2) { + handler6 = props[handlerName = toHandlerKey(hyphenate$1(event))]; + } + if (handler6) { + callWithAsyncErrorHandling( + handler6, + instance, + 6, + args + ); + } + const onceHandler = props[handlerName + `Once`]; + if (onceHandler) { + if (!instance.emitted) { + instance.emitted = {}; + } else if (instance.emitted[handlerName]) { + return; + } + instance.emitted[handlerName] = true; + callWithAsyncErrorHandling( + onceHandler, + instance, + 6, + args + ); + } +} +__name(emit, "emit"); +function normalizeEmitsOptions(comp, appContext, asMixin = false) { + const cache2 = appContext.emitsCache; + const cached = cache2.get(comp); + if (cached !== void 0) { + return cached; + } + const raw = comp.emits; + let normalized = {}; + let hasExtends = false; + if (!isFunction$4(comp)) { + const extendEmits = /* @__PURE__ */ __name((raw2) => { + const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); + if (normalizedFromExtend) { + hasExtends = true; + extend$1(normalized, normalizedFromExtend); + } + }, "extendEmits"); + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendEmits); + } + if (comp.extends) { + extendEmits(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendEmits); + } + } + if (!raw && !hasExtends) { + if (isObject$6(comp)) { + cache2.set(comp, null); + } + return null; + } + if (isArray$4(raw)) { + raw.forEach((key) => normalized[key] = null); + } else { + extend$1(normalized, raw); + } + if (isObject$6(comp)) { + cache2.set(comp, normalized); + } + return normalized; +} +__name(normalizeEmitsOptions, "normalizeEmitsOptions"); +function isEmitListener(options4, key) { + if (!options4 || !isOn(key)) { + return false; + } + key = key.slice(2).replace(/Once$/, ""); + return hasOwn$3(options4, key[0].toLowerCase() + key.slice(1)) || hasOwn$3(options4, hyphenate$1(key)) || hasOwn$3(options4, key); +} +__name(isEmitListener, "isEmitListener"); +let currentRenderingInstance = null; +let currentScopeId = null; +function setCurrentRenderingInstance(instance) { + const prev2 = currentRenderingInstance; + currentRenderingInstance = instance; + currentScopeId = instance && instance.type.__scopeId || null; + return prev2; +} +__name(setCurrentRenderingInstance, "setCurrentRenderingInstance"); +function pushScopeId(id3) { + currentScopeId = id3; +} +__name(pushScopeId, "pushScopeId"); +function popScopeId() { + currentScopeId = null; +} +__name(popScopeId, "popScopeId"); +const withScopeId = /* @__PURE__ */ __name((_id2) => withCtx, "withScopeId"); +function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { + if (!ctx) return fn; + if (fn._n) { + return fn; + } + const renderFnWithContext = /* @__PURE__ */ __name((...args) => { + if (renderFnWithContext._d) { + setBlockTracking(-1); + } + const prevInstance = setCurrentRenderingInstance(ctx); + let res; + try { + res = fn(...args); + } finally { + setCurrentRenderingInstance(prevInstance); + if (renderFnWithContext._d) { + setBlockTracking(1); + } + } + if (false) { + devtoolsComponentUpdated(ctx); + } + return res; + }, "renderFnWithContext"); + renderFnWithContext._n = true; + renderFnWithContext._c = true; + renderFnWithContext._d = true; + return renderFnWithContext; +} +__name(withCtx, "withCtx"); +let accessedAttrs = false; +function markAttrsAccessed() { + accessedAttrs = true; +} +__name(markAttrsAccessed, "markAttrsAccessed"); +function renderComponentRoot(instance) { + const { + type: Component, + vnode, + proxy, + withProxy, + propsOptions: [propsOptions], + slots, + attrs: attrs4, + emit: emit2, + render: render2, + renderCache, + props, + data: data24, + setupState, + ctx, + inheritAttrs + } = instance; + const prev2 = setCurrentRenderingInstance(instance); + let result; + let fallthroughAttrs; + if (false) { + accessedAttrs = false; + } + try { + if (vnode.shapeFlag & 4) { + const proxyToUse = withProxy || proxy; + const thisProxy = false ? new Proxy(proxyToUse, { + get(target, key, receiver) { + warn$1$1( + `Property '${String( + key + )}' was accessed via 'this'. Avoid using 'this' in templates.` + ); + return Reflect.get(target, key, receiver); + } + }) : proxyToUse; + result = normalizeVNode( + render2.call( + thisProxy, + proxyToUse, + renderCache, + false ? shallowReadonly(props) : props, + setupState, + data24, + ctx + ) + ); + fallthroughAttrs = attrs4; + } else { + const render22 = Component; + if (false) { + markAttrsAccessed(); + } + result = normalizeVNode( + render22.length > 1 ? render22( + false ? shallowReadonly(props) : props, + false ? { + get attrs() { + markAttrsAccessed(); + return shallowReadonly(attrs4); + }, + slots, + emit: emit2 + } : { attrs: attrs4, slots, emit: emit2 } + ) : render22( + false ? shallowReadonly(props) : props, + null + ) + ); + fallthroughAttrs = Component.props ? attrs4 : getFunctionalFallthrough(attrs4); + } + } catch (err) { + blockStack.length = 0; + handleError(err, instance, 1); + result = createVNode(Comment); + } + let root24 = result; + let setRoot = void 0; + if (false) { + [root24, setRoot] = getChildRoot(result); + } + if (fallthroughAttrs && inheritAttrs !== false) { + const keys2 = Object.keys(fallthroughAttrs); + const { shapeFlag } = root24; + if (keys2.length) { + if (shapeFlag & (1 | 6)) { + if (propsOptions && keys2.some(isModelListener)) { + fallthroughAttrs = filterModelListeners( + fallthroughAttrs, + propsOptions + ); + } + root24 = cloneVNode(root24, fallthroughAttrs, false, true); + } else if (false) { + const allAttrs = Object.keys(attrs4); + const eventAttrs = []; + const extraAttrs = []; + for (let i2 = 0, l = allAttrs.length; i2 < l; i2++) { + const key = allAttrs[i2]; + if (isOn(key)) { + if (!isModelListener(key)) { + eventAttrs.push(key[2].toLowerCase() + key.slice(3)); + } + } else { + extraAttrs.push(key); + } + } + if (extraAttrs.length) { + warn$1$1( + `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.` + ); + } + if (eventAttrs.length) { + warn$1$1( + `Extraneous non-emits event listeners (${eventAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.` + ); + } + } + } + } + if (vnode.dirs) { + if (false) { + warn$1$1( + `Runtime directive used on component with non-element root node. The directives will not function as intended.` + ); + } + root24 = cloneVNode(root24, null, false, true); + root24.dirs = root24.dirs ? root24.dirs.concat(vnode.dirs) : vnode.dirs; + } + if (vnode.transition) { + if (false) { + warn$1$1( + `Component inside renders non-element root node that cannot be animated.` + ); + } + root24.transition = vnode.transition; + } + if (false) { + setRoot(root24); + } else { + result = root24; + } + setCurrentRenderingInstance(prev2); + return result; +} +__name(renderComponentRoot, "renderComponentRoot"); +const getChildRoot = /* @__PURE__ */ __name((vnode) => { + const rawChildren = vnode.children; + const dynamicChildren = vnode.dynamicChildren; + const childRoot = filterSingleRoot(rawChildren, false); + if (!childRoot) { + return [vnode, void 0]; + } else if (false) { + return getChildRoot(childRoot); + } + const index2 = rawChildren.indexOf(childRoot); + const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1; + const setRoot = /* @__PURE__ */ __name((updatedRoot) => { + rawChildren[index2] = updatedRoot; + if (dynamicChildren) { + if (dynamicIndex > -1) { + dynamicChildren[dynamicIndex] = updatedRoot; + } else if (updatedRoot.patchFlag > 0) { + vnode.dynamicChildren = [...dynamicChildren, updatedRoot]; + } + } + }, "setRoot"); + return [normalizeVNode(childRoot), setRoot]; +}, "getChildRoot"); +function filterSingleRoot(children, recurse = true) { + let singleRoot; + for (let i2 = 0; i2 < children.length; i2++) { + const child = children[i2]; + if (isVNode$1(child)) { + if (child.type !== Comment || child.children === "v-if") { + if (singleRoot) { + return; + } else { + singleRoot = child; + if (false) { + return filterSingleRoot(singleRoot.children); + } + } + } + } else { + return; + } + } + return singleRoot; +} +__name(filterSingleRoot, "filterSingleRoot"); +const getFunctionalFallthrough = /* @__PURE__ */ __name((attrs4) => { + let res; + for (const key in attrs4) { + if (key === "class" || key === "style" || isOn(key)) { + (res || (res = {}))[key] = attrs4[key]; + } + } + return res; +}, "getFunctionalFallthrough"); +const filterModelListeners = /* @__PURE__ */ __name((attrs4, props) => { + const res = {}; + for (const key in attrs4) { + if (!isModelListener(key) || !(key.slice(9) in props)) { + res[key] = attrs4[key]; + } + } + return res; +}, "filterModelListeners"); +const isElementRoot = /* @__PURE__ */ __name((vnode) => { + return vnode.shapeFlag & (6 | 1) || vnode.type === Comment; +}, "isElementRoot"); +function shouldUpdateComponent(prevVNode, nextVNode, optimized) { + const { props: prevProps, children: prevChildren, component } = prevVNode; + const { props: nextProps, children: nextChildren, patchFlag } = nextVNode; + const emits = component.emitsOptions; + if (false) { + return true; + } + if (nextVNode.dirs || nextVNode.transition) { + return true; + } + if (optimized && patchFlag >= 0) { + if (patchFlag & 1024) { + return true; + } + if (patchFlag & 16) { + if (!prevProps) { + return !!nextProps; + } + return hasPropsChanged(prevProps, nextProps, emits); + } else if (patchFlag & 8) { + const dynamicProps = nextVNode.dynamicProps; + for (let i2 = 0; i2 < dynamicProps.length; i2++) { + const key = dynamicProps[i2]; + if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) { + return true; + } + } + } + } else { + if (prevChildren || nextChildren) { + if (!nextChildren || !nextChildren.$stable) { + return true; + } + } + if (prevProps === nextProps) { + return false; + } + if (!prevProps) { + return !!nextProps; + } + if (!nextProps) { + return true; + } + return hasPropsChanged(prevProps, nextProps, emits); + } + return false; +} +__name(shouldUpdateComponent, "shouldUpdateComponent"); +function hasPropsChanged(prevProps, nextProps, emitsOptions) { + const nextKeys = Object.keys(nextProps); + if (nextKeys.length !== Object.keys(prevProps).length) { + return true; + } + for (let i2 = 0; i2 < nextKeys.length; i2++) { + const key = nextKeys[i2]; + if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) { + return true; + } + } + return false; +} +__name(hasPropsChanged, "hasPropsChanged"); +function updateHOCHostEl({ vnode, parent }, el) { + while (parent) { + const root24 = parent.subTree; + if (root24.suspense && root24.suspense.activeBranch === vnode) { + root24.el = vnode.el; + } + if (root24 === vnode) { + (vnode = parent.vnode).el = el; + parent = parent.parent; + } else { + break; + } + } +} +__name(updateHOCHostEl, "updateHOCHostEl"); +const COMPONENTS = "components"; +const DIRECTIVES = "directives"; +function resolveComponent(name2, maybeSelfReference) { + return resolveAsset(COMPONENTS, name2, true, maybeSelfReference) || name2; +} +__name(resolveComponent, "resolveComponent"); +const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc"); +function resolveDynamicComponent(component) { + if (isString$7(component)) { + return resolveAsset(COMPONENTS, component, false) || component; + } else { + return component || NULL_DYNAMIC_COMPONENT; + } +} +__name(resolveDynamicComponent, "resolveDynamicComponent"); +function resolveDirective(name2) { + return resolveAsset(DIRECTIVES, name2); +} +__name(resolveDirective, "resolveDirective"); +function resolveAsset(type, name2, warnMissing = true, maybeSelfReference = false) { + const instance = currentRenderingInstance || currentInstance; + if (instance) { + const Component = instance.type; + if (type === COMPONENTS) { + const selfName = getComponentName( + Component, + false + ); + if (selfName && (selfName === name2 || selfName === camelize$1(name2) || selfName === capitalize$1(camelize$1(name2)))) { + return Component; + } + } + const res = ( + // local registration + // check instance[type] first which is resolved for options API + resolve(instance[type] || Component[type], name2) || // global registration + resolve(instance.appContext[type], name2) + ); + if (!res && maybeSelfReference) { + return Component; + } + if (false) { + const extra = type === COMPONENTS ? ` +If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; + warn$1$1(`Failed to resolve ${type.slice(0, -1)}: ${name2}${extra}`); + } + return res; + } else if (false) { + warn$1$1( + `resolve${capitalize$1(type.slice(0, -1))} can only be used in render() or setup().` + ); + } +} +__name(resolveAsset, "resolveAsset"); +function resolve(registry, name2) { + return registry && (registry[name2] || registry[camelize$1(name2)] || registry[capitalize$1(camelize$1(name2))]); +} +__name(resolve, "resolve"); +const isSuspense = /* @__PURE__ */ __name((type) => type.__isSuspense, "isSuspense"); +let suspenseId = 0; +const SuspenseImpl = { + name: "Suspense", + // In order to make Suspense tree-shakable, we need to avoid importing it + // directly in the renderer. The renderer checks for the __isSuspense flag + // on a vnode's type and calls the `process` method, passing in renderer + // internals. + __isSuspense: true, + process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { + if (n1 == null) { + mountSuspense( + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + } else { + if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) { + n2.suspense = n1.suspense; + n2.suspense.vnode = n2; + n2.el = n1.el; + return; + } + patchSuspense( + n1, + n2, + container, + anchor, + parentComponent, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + } + }, + hydrate: hydrateSuspense, + normalize: normalizeSuspenseChildren +}; +const Suspense = SuspenseImpl; +function triggerEvent(vnode, name2) { + const eventListener = vnode.props && vnode.props[name2]; + if (isFunction$4(eventListener)) { + eventListener(); + } +} +__name(triggerEvent, "triggerEvent"); +function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { + const { + p: patch2, + o: { createElement: createElement2 } + } = rendererInternals; + const hiddenContainer = createElement2("div"); + const suspense = vnode.suspense = createSuspenseBoundary( + vnode, + parentSuspense, + parentComponent, + container, + hiddenContainer, + anchor, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + patch2( + null, + suspense.pendingBranch = vnode.ssContent, + hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds + ); + if (suspense.deps > 0) { + triggerEvent(vnode, "onPending"); + triggerEvent(vnode, "onFallback"); + patch2( + null, + vnode.ssFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds + ); + setActiveBranch(suspense, vnode.ssFallback); + } else { + suspense.resolve(false, true); + } +} +__name(mountSuspense, "mountSuspense"); +function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch2, um: unmount, o: { createElement: createElement2 } }) { + const suspense = n2.suspense = n1.suspense; + suspense.vnode = n2; + n2.el = n1.el; + const newBranch = n2.ssContent; + const newFallback = n2.ssFallback; + const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense; + if (pendingBranch) { + suspense.pendingBranch = newBranch; + if (isSameVNodeType(newBranch, pendingBranch)) { + patch2( + pendingBranch, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else if (isInFallback) { + if (!isHydrating) { + patch2( + activeBranch, + newFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newFallback); + } + } + } else { + suspense.pendingId = suspenseId++; + if (isHydrating) { + suspense.isHydrating = false; + suspense.activeBranch = pendingBranch; + } else { + unmount(pendingBranch, parentComponent, suspense); + } + suspense.deps = 0; + suspense.effects.length = 0; + suspense.hiddenContainer = createElement2("div"); + if (isInFallback) { + patch2( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else { + patch2( + activeBranch, + newFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newFallback); + } + } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) { + patch2( + activeBranch, + newBranch, + container, + anchor, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + suspense.resolve(true); + } else { + patch2( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } + } + } + } else { + if (activeBranch && isSameVNodeType(newBranch, activeBranch)) { + patch2( + activeBranch, + newBranch, + container, + anchor, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newBranch); + } else { + triggerEvent(n2, "onPending"); + suspense.pendingBranch = newBranch; + if (newBranch.shapeFlag & 512) { + suspense.pendingId = newBranch.component.suspenseId; + } else { + suspense.pendingId = suspenseId++; + } + patch2( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else { + const { timeout, pendingId } = suspense; + if (timeout > 0) { + setTimeout(() => { + if (suspense.pendingId === pendingId) { + suspense.fallback(newFallback); + } + }, timeout); + } else if (timeout === 0) { + suspense.fallback(newFallback); + } + } + } + } +} +__name(patchSuspense, "patchSuspense"); +let hasWarned$1 = false; +function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) { + if (false) { + hasWarned$1 = true; + console[console.info ? "info" : "log"]( + ` is an experimental feature and its API will likely change.` + ); + } + const { + p: patch2, + m: move, + um: unmount, + n: next2, + o: { parentNode: parentNode2, remove: remove22 } + } = rendererInternals; + let parentSuspenseId; + const isSuspensible = isVNodeSuspensible(vnode); + if (isSuspensible) { + if (parentSuspense && parentSuspense.pendingBranch) { + parentSuspenseId = parentSuspense.pendingId; + parentSuspense.deps++; + } + } + const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0; + if (false) { + assertNumber(timeout, `Suspense timeout`); + } + const initialAnchor = anchor; + const suspense = { + vnode, + parent: parentSuspense, + parentComponent, + namespace, + container, + hiddenContainer, + deps: 0, + pendingId: suspenseId++, + timeout: typeof timeout === "number" ? timeout : -1, + activeBranch: null, + pendingBranch: null, + isInFallback: !isHydrating, + isHydrating, + isUnmounted: false, + effects: [], + resolve(resume = false, sync = false) { + if (false) { + if (!resume && !suspense.pendingBranch) { + throw new Error( + `suspense.resolve() is called without a pending branch.` + ); + } + if (suspense.isUnmounted) { + throw new Error( + `suspense.resolve() is called on an already unmounted suspense boundary.` + ); + } + } + const { + vnode: vnode2, + activeBranch, + pendingBranch, + pendingId, + effects, + parentComponent: parentComponent2, + container: container2 + } = suspense; + let delayEnter = false; + if (suspense.isHydrating) { + suspense.isHydrating = false; + } else if (!resume) { + delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in"; + if (delayEnter) { + activeBranch.transition.afterLeave = () => { + if (pendingId === suspense.pendingId) { + move( + pendingBranch, + container2, + anchor === initialAnchor ? next2(activeBranch) : anchor, + 0 + ); + queuePostFlushCb(effects); + } + }; + } + if (activeBranch) { + if (parentNode2(activeBranch.el) !== suspense.hiddenContainer) { + anchor = next2(activeBranch); + } + unmount(activeBranch, parentComponent2, suspense, true); + } + if (!delayEnter) { + move(pendingBranch, container2, anchor, 0); + } + } + setActiveBranch(suspense, pendingBranch); + suspense.pendingBranch = null; + suspense.isInFallback = false; + let parent = suspense.parent; + let hasUnresolvedAncestor = false; + while (parent) { + if (parent.pendingBranch) { + parent.effects.push(...effects); + hasUnresolvedAncestor = true; + break; + } + parent = parent.parent; + } + if (!hasUnresolvedAncestor && !delayEnter) { + queuePostFlushCb(effects); + } + suspense.effects = []; + if (isSuspensible) { + if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) { + parentSuspense.deps--; + if (parentSuspense.deps === 0 && !sync) { + parentSuspense.resolve(); + } + } + } + triggerEvent(vnode2, "onResolve"); + }, + fallback(fallbackVNode) { + if (!suspense.pendingBranch) { + return; + } + const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense; + triggerEvent(vnode2, "onFallback"); + const anchor2 = next2(activeBranch); + const mountFallback = /* @__PURE__ */ __name(() => { + if (!suspense.isInFallback) { + return; + } + patch2( + null, + fallbackVNode, + container2, + anchor2, + parentComponent2, + null, + // fallback tree will not have suspense context + namespace2, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, fallbackVNode); + }, "mountFallback"); + const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in"; + if (delayEnter) { + activeBranch.transition.afterLeave = mountFallback; + } + suspense.isInFallback = true; + unmount( + activeBranch, + parentComponent2, + null, + // no suspense so unmount hooks fire now + true + // shouldRemove + ); + if (!delayEnter) { + mountFallback(); + } + }, + move(container2, anchor2, type) { + suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type); + suspense.container = container2; + }, + next() { + return suspense.activeBranch && next2(suspense.activeBranch); + }, + registerDep(instance, setupRenderEffect, optimized2) { + const isInPendingSuspense = !!suspense.pendingBranch; + if (isInPendingSuspense) { + suspense.deps++; + } + const hydratedEl = instance.vnode.el; + instance.asyncDep.catch((err) => { + handleError(err, instance, 0); + }).then((asyncSetupResult) => { + if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) { + return; + } + instance.asyncResolved = true; + const { vnode: vnode2 } = instance; + if (false) { + pushWarningContext(vnode2); + } + handleSetupResult(instance, asyncSetupResult, false); + if (hydratedEl) { + vnode2.el = hydratedEl; + } + const placeholder = !hydratedEl && instance.subTree.el; + setupRenderEffect( + instance, + vnode2, + // component may have been moved before resolve. + // if this is not a hydration, instance.subTree will be the comment + // placeholder. + parentNode2(hydratedEl || instance.subTree.el), + // anchor will not be used if this is hydration, so only need to + // consider the comment placeholder case. + hydratedEl ? null : next2(instance.subTree), + suspense, + namespace, + optimized2 + ); + if (placeholder) { + remove22(placeholder); + } + updateHOCHostEl(instance, vnode2.el); + if (false) { + popWarningContext(); + } + if (isInPendingSuspense && --suspense.deps === 0) { + suspense.resolve(); + } + }); + }, + unmount(parentSuspense2, doRemove) { + suspense.isUnmounted = true; + if (suspense.activeBranch) { + unmount( + suspense.activeBranch, + parentComponent, + parentSuspense2, + doRemove + ); + } + if (suspense.pendingBranch) { + unmount( + suspense.pendingBranch, + parentComponent, + parentSuspense2, + doRemove + ); + } + } + }; + return suspense; +} +__name(createSuspenseBoundary, "createSuspenseBoundary"); +function hydrateSuspense(node3, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) { + const suspense = vnode.suspense = createSuspenseBoundary( + vnode, + parentSuspense, + parentComponent, + node3.parentNode, + // eslint-disable-next-line no-restricted-globals + document.createElement("div"), + null, + namespace, + slotScopeIds, + optimized, + rendererInternals, + true + ); + const result = hydrateNode( + node3, + suspense.pendingBranch = vnode.ssContent, + parentComponent, + suspense, + slotScopeIds, + optimized + ); + if (suspense.deps === 0) { + suspense.resolve(false, true); + } + return result; +} +__name(hydrateSuspense, "hydrateSuspense"); +function normalizeSuspenseChildren(vnode) { + const { shapeFlag, children } = vnode; + const isSlotChildren = shapeFlag & 32; + vnode.ssContent = normalizeSuspenseSlot( + isSlotChildren ? children.default : children + ); + vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment); +} +__name(normalizeSuspenseChildren, "normalizeSuspenseChildren"); +function normalizeSuspenseSlot(s) { + let block3; + if (isFunction$4(s)) { + const trackBlock = isBlockTreeEnabled && s._c; + if (trackBlock) { + s._d = false; + openBlock(); + } + s = s(); + if (trackBlock) { + s._d = true; + block3 = currentBlock; + closeBlock(); + } + } + if (isArray$4(s)) { + const singleChild = filterSingleRoot(s); + if (false) { + warn$1$1(` slots expect a single root node.`); + } + s = singleChild; + } + s = normalizeVNode(s); + if (block3 && !s.dynamicChildren) { + s.dynamicChildren = block3.filter((c) => c !== s); + } + return s; +} +__name(normalizeSuspenseSlot, "normalizeSuspenseSlot"); +function queueEffectWithSuspense(fn, suspense) { + if (suspense && suspense.pendingBranch) { + if (isArray$4(fn)) { + suspense.effects.push(...fn); + } else { + suspense.effects.push(fn); + } + } else { + queuePostFlushCb(fn); + } +} +__name(queueEffectWithSuspense, "queueEffectWithSuspense"); +function setActiveBranch(suspense, branch) { + suspense.activeBranch = branch; + const { vnode, parentComponent } = suspense; + let el = branch.el; + while (!el && branch.component) { + branch = branch.component.subTree; + el = branch.el; + } + vnode.el = el; + if (parentComponent && parentComponent.subTree === vnode) { + parentComponent.vnode.el = el; + updateHOCHostEl(parentComponent, el); + } +} +__name(setActiveBranch, "setActiveBranch"); +function isVNodeSuspensible(vnode) { + const suspensible = vnode.props && vnode.props.suspensible; + return suspensible != null && suspensible !== false; +} +__name(isVNodeSuspensible, "isVNodeSuspensible"); +function injectHook(type, hook, target = currentInstance, prepend2 = false) { + if (target) { + const hooks = target[type] || (target[type] = []); + const wrappedHook = hook.__weh || (hook.__weh = (...args) => { + pauseTracking(); + const reset2 = setCurrentInstance(target); + const res = callWithAsyncErrorHandling(hook, target, type, args); + reset2(); + resetTracking(); + return res; + }); + if (prepend2) { + hooks.unshift(wrappedHook); + } else { + hooks.push(wrappedHook); + } + return wrappedHook; + } else if (false) { + const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, "")); + warn$1$1( + `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` + ); + } +} +__name(injectHook, "injectHook"); +const createHook = /* @__PURE__ */ __name((lifecycle2) => (hook, target = currentInstance) => { + if (!isInSSRComponentSetup || lifecycle2 === "sp") { + injectHook(lifecycle2, (...args) => hook(...args), target); + } +}, "createHook"); +const onBeforeMount = createHook("bm"); +const onMounted = createHook("m"); +const onBeforeUpdate = createHook("bu"); +const onUpdated = createHook("u"); +const onBeforeUnmount = createHook("bum"); +const onUnmounted = createHook("um"); +const onServerPrefetch = createHook("sp"); +const onRenderTriggered = createHook( + "rtg" +); +const onRenderTracked = createHook( + "rtc" +); +function onErrorCaptured(hook, target = currentInstance) { + injectHook("ec", hook, target); +} +__name(onErrorCaptured, "onErrorCaptured"); +function validateDirectiveName(name2) { + if (isBuiltInDirective(name2)) { + warn$1$1("Do not use built-in directive ids as custom directive id: " + name2); + } +} +__name(validateDirectiveName, "validateDirectiveName"); +function withDirectives(vnode, directives) { + if (currentRenderingInstance === null) { + return vnode; + } + const instance = getComponentPublicInstance(currentRenderingInstance); + const bindings = vnode.dirs || (vnode.dirs = []); + for (let i2 = 0; i2 < directives.length; i2++) { + let [dir, value4, arg, modifiers2 = EMPTY_OBJ] = directives[i2]; + if (dir) { + if (isFunction$4(dir)) { + dir = { + mounted: dir, + updated: dir + }; + } + if (dir.deep) { + traverse(value4); + } + bindings.push({ + dir, + instance, + value: value4, + oldValue: void 0, + arg, + modifiers: modifiers2 + }); + } + } + return vnode; +} +__name(withDirectives, "withDirectives"); +function invokeDirectiveHook(vnode, prevVNode, instance, name2) { + const bindings = vnode.dirs; + const oldBindings = prevVNode && prevVNode.dirs; + for (let i2 = 0; i2 < bindings.length; i2++) { + const binding = bindings[i2]; + if (oldBindings) { + binding.oldValue = oldBindings[i2].value; + } + let hook = binding.dir[name2]; + if (hook) { + pauseTracking(); + callWithAsyncErrorHandling(hook, instance, 8, [ + vnode.el, + binding, + vnode, + prevVNode + ]); + resetTracking(); + } + } +} +__name(invokeDirectiveHook, "invokeDirectiveHook"); +function renderList(source, renderItem, cache2, index2) { + let ret; + const cached = cache2 && cache2[index2]; + if (isArray$4(source) || isString$7(source)) { + ret = new Array(source.length); + for (let i2 = 0, l = source.length; i2 < l; i2++) { + ret[i2] = renderItem(source[i2], i2, void 0, cached && cached[i2]); + } + } else if (typeof source === "number") { + if (false) { + warn$1$1(`The v-for range expect an integer value but got ${source}.`); + } + ret = new Array(source); + for (let i2 = 0; i2 < source; i2++) { + ret[i2] = renderItem(i2 + 1, i2, void 0, cached && cached[i2]); + } + } else if (isObject$6(source)) { + if (source[Symbol.iterator]) { + ret = Array.from( + source, + (item3, i2) => renderItem(item3, i2, void 0, cached && cached[i2]) + ); + } else { + const keys2 = Object.keys(source); + ret = new Array(keys2.length); + for (let i2 = 0, l = keys2.length; i2 < l; i2++) { + const key = keys2[i2]; + ret[i2] = renderItem(source[key], key, i2, cached && cached[i2]); + } + } + } else { + ret = []; + } + if (cache2) { + cache2[index2] = ret; + } + return ret; +} +__name(renderList, "renderList"); +function createSlots(slots, dynamicSlots) { + for (let i2 = 0; i2 < dynamicSlots.length; i2++) { + const slot = dynamicSlots[i2]; + if (isArray$4(slot)) { + for (let j = 0; j < slot.length; j++) { + slots[slot[j].name] = slot[j].fn; + } + } else if (slot) { + slots[slot.name] = slot.key ? (...args) => { + const res = slot.fn(...args); + if (res) res.key = slot.key; + return res; + } : slot.fn; + } + } + return slots; +} +__name(createSlots, "createSlots"); +/*! #__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function defineComponent(options4, extraOptions) { + return isFunction$4(options4) ? ( + // #8326: extend call and options.name access are considered side-effects + // by Rollup, so we have to wrap it in a pure-annotated IIFE. + /* @__PURE__ */ (() => extend$1({ name: options4.name }, extraOptions, { setup: options4 }))() + ) : options4; +} +__name(defineComponent, "defineComponent"); +const isAsyncWrapper = /* @__PURE__ */ __name((i2) => !!i2.type.__asyncLoader, "isAsyncWrapper"); +/*! #__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function defineAsyncComponent(source) { + if (isFunction$4(source)) { + source = { loader: source }; + } + const { + loader, + loadingComponent, + errorComponent, + delay = 200, + timeout, + // undefined = never times out + suspensible = true, + onError: userOnError + } = source; + let pendingRequest = null; + let resolvedComp; + let retries = 0; + const retry = /* @__PURE__ */ __name(() => { + retries++; + pendingRequest = null; + return load2(); + }, "retry"); + const load2 = /* @__PURE__ */ __name(() => { + let thisRequest; + return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { + err = err instanceof Error ? err : new Error(String(err)); + if (userOnError) { + return new Promise((resolve2, reject3) => { + const userRetry = /* @__PURE__ */ __name(() => resolve2(retry()), "userRetry"); + const userFail = /* @__PURE__ */ __name(() => reject3(err), "userFail"); + userOnError(err, userRetry, userFail, retries + 1); + }); + } else { + throw err; + } + }).then((comp) => { + if (thisRequest !== pendingRequest && pendingRequest) { + return pendingRequest; + } + if (false) { + warn$1$1( + `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.` + ); + } + if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { + comp = comp.default; + } + if (false) { + throw new Error(`Invalid async component load result: ${comp}`); + } + resolvedComp = comp; + return comp; + })); + }, "load"); + return /* @__PURE__ */ defineComponent({ + name: "AsyncComponentWrapper", + __asyncLoader: load2, + get __asyncResolved() { + return resolvedComp; + }, + setup() { + const instance = currentInstance; + if (resolvedComp) { + return () => createInnerComp(resolvedComp, instance); + } + const onError = /* @__PURE__ */ __name((err) => { + pendingRequest = null; + handleError( + err, + instance, + 13, + !errorComponent + ); + }, "onError"); + if (suspensible && instance.suspense || isInSSRComponentSetup) { + return load2().then((comp) => { + return () => createInnerComp(comp, instance); + }).catch((err) => { + onError(err); + return () => errorComponent ? createVNode(errorComponent, { + error: err + }) : null; + }); + } + const loaded = ref(false); + const error2 = ref(); + const delayed = ref(!!delay); + if (delay) { + setTimeout(() => { + delayed.value = false; + }, delay); + } + if (timeout != null) { + setTimeout(() => { + if (!loaded.value && !error2.value) { + const err = new Error( + `Async component timed out after ${timeout}ms.` + ); + onError(err); + error2.value = err; + } + }, timeout); + } + load2().then(() => { + loaded.value = true; + if (instance.parent && isKeepAlive(instance.parent.vnode)) { + instance.parent.effect.dirty = true; + queueJob(instance.parent.update); + } + }).catch((err) => { + onError(err); + error2.value = err; + }); + return () => { + if (loaded.value && resolvedComp) { + return createInnerComp(resolvedComp, instance); + } else if (error2.value && errorComponent) { + return createVNode(errorComponent, { + error: error2.value + }); + } else if (loadingComponent && !delayed.value) { + return createVNode(loadingComponent); + } + }; + } + }); +} +__name(defineAsyncComponent, "defineAsyncComponent"); +function createInnerComp(comp, parent) { + const { ref: ref22, props, children, ce } = parent.vnode; + const vnode = createVNode(comp, props, children); + vnode.ref = ref22; + vnode.ce = ce; + delete parent.vnode.ce; + return vnode; +} +__name(createInnerComp, "createInnerComp"); +function renderSlot(slots, name2, props = {}, fallback, noSlotted) { + if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) { + if (name2 !== "default") props.name = name2; + return createVNode("slot", props, fallback && fallback()); + } + let slot = slots[name2]; + if (false) { + warn$1$1( + `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.` + ); + slot = /* @__PURE__ */ __name(() => [], "slot"); + } + if (slot && slot._c) { + slot._d = false; + } + openBlock(); + const validSlotContent = slot && ensureValidVNode(slot(props)); + const rendered = createBlock( + Fragment$1, + { + key: props.key || // slot content array of a dynamic conditional slot may have a branch + // key attached in the `createSlots` helper, respect that + validSlotContent && validSlotContent.key || `_${name2}` + }, + validSlotContent || (fallback ? fallback() : []), + validSlotContent && slots._ === 1 ? 64 : -2 + ); + if (!noSlotted && rendered.scopeId) { + rendered.slotScopeIds = [rendered.scopeId + "-s"]; + } + if (slot && slot._c) { + slot._d = true; + } + return rendered; +} +__name(renderSlot, "renderSlot"); +function ensureValidVNode(vnodes) { + return vnodes.some((child) => { + if (!isVNode$1(child)) return true; + if (child.type === Comment) return false; + if (child.type === Fragment$1 && !ensureValidVNode(child.children)) + return false; + return true; + }) ? vnodes : null; +} +__name(ensureValidVNode, "ensureValidVNode"); +function toHandlers(obj, preserveCaseIfNecessary) { + const ret = {}; + if (false) { + warn$1$1(`v-on with no argument expects an object value.`); + return ret; + } + for (const key in obj) { + ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key]; + } + return ret; +} +__name(toHandlers, "toHandlers"); +const getPublicInstance = /* @__PURE__ */ __name((i2) => { + if (!i2) return null; + if (isStatefulComponent(i2)) return getComponentPublicInstance(i2); + return getPublicInstance(i2.parent); +}, "getPublicInstance"); +const publicPropertiesMap = ( + // Move PURE marker to new line to workaround compiler discarding it + // due to type annotation + /* @__PURE__ */ extend$1(/* @__PURE__ */ Object.create(null), { + $: /* @__PURE__ */ __name((i2) => i2, "$"), + $el: /* @__PURE__ */ __name((i2) => i2.vnode.el, "$el"), + $data: /* @__PURE__ */ __name((i2) => i2.data, "$data"), + $props: /* @__PURE__ */ __name((i2) => false ? shallowReadonly(i2.props) : i2.props, "$props"), + $attrs: /* @__PURE__ */ __name((i2) => false ? shallowReadonly(i2.attrs) : i2.attrs, "$attrs"), + $slots: /* @__PURE__ */ __name((i2) => false ? shallowReadonly(i2.slots) : i2.slots, "$slots"), + $refs: /* @__PURE__ */ __name((i2) => false ? shallowReadonly(i2.refs) : i2.refs, "$refs"), + $parent: /* @__PURE__ */ __name((i2) => getPublicInstance(i2.parent), "$parent"), + $root: /* @__PURE__ */ __name((i2) => getPublicInstance(i2.root), "$root"), + $emit: /* @__PURE__ */ __name((i2) => i2.emit, "$emit"), + $options: /* @__PURE__ */ __name((i2) => true ? resolveMergedOptions(i2) : i2.type, "$options"), + $forceUpdate: /* @__PURE__ */ __name((i2) => i2.f || (i2.f = () => { + i2.effect.dirty = true; + queueJob(i2.update); + }), "$forceUpdate"), + $nextTick: /* @__PURE__ */ __name((i2) => i2.n || (i2.n = nextTick.bind(i2.proxy)), "$nextTick"), + $watch: /* @__PURE__ */ __name((i2) => true ? instanceWatch.bind(i2) : NOOP, "$watch") + }) +); +const isReservedPrefix = /* @__PURE__ */ __name((key) => key === "_" || key === "$", "isReservedPrefix"); +const hasSetupBinding = /* @__PURE__ */ __name((state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn$3(state, key), "hasSetupBinding"); +const PublicInstanceProxyHandlers = { + get({ _: instance }, key) { + if (key === "__v_skip") { + return true; + } + const { ctx, setupState, data: data24, props, accessCache, type, appContext } = instance; + if (false) { + return true; + } + let normalizedProps; + if (key[0] !== "$") { + const n = accessCache[key]; + if (n !== void 0) { + switch (n) { + case 1: + return setupState[key]; + case 2: + return data24[key]; + case 4: + return ctx[key]; + case 3: + return props[key]; + } + } else if (hasSetupBinding(setupState, key)) { + accessCache[key] = 1; + return setupState[key]; + } else if (data24 !== EMPTY_OBJ && hasOwn$3(data24, key)) { + accessCache[key] = 2; + return data24[key]; + } else if ( + // only cache other properties when instance has declared (thus stable) + // props + (normalizedProps = instance.propsOptions[0]) && hasOwn$3(normalizedProps, key) + ) { + accessCache[key] = 3; + return props[key]; + } else if (ctx !== EMPTY_OBJ && hasOwn$3(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if (shouldCacheAccess) { + accessCache[key] = 0; + } + } + const publicGetter = publicPropertiesMap[key]; + let cssModule, globalProperties; + if (publicGetter) { + if (key === "$attrs") { + track(instance.attrs, "get", ""); + } else if (false) { + track(instance, "get", key); + } + return publicGetter(instance); + } else if ( + // css module (injected by vue-loader) + (cssModule = type.__cssModules) && (cssModule = cssModule[key]) + ) { + return cssModule; + } else if (ctx !== EMPTY_OBJ && hasOwn$3(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if ( + // global properties + globalProperties = appContext.config.globalProperties, hasOwn$3(globalProperties, key) + ) { + { + return globalProperties[key]; + } + } else if (false) { + if (data24 !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn$3(data24, key)) { + warn$1$1( + `Property ${JSON.stringify( + key + )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.` + ); + } else if (instance === currentRenderingInstance) { + warn$1$1( + `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.` + ); + } + } + }, + set({ _: instance }, key, value4) { + const { data: data24, setupState, ctx } = instance; + if (hasSetupBinding(setupState, key)) { + setupState[key] = value4; + return true; + } else if (false) { + warn$1$1(`Cannot mutate + + + +

+ + diff --git a/web/materialdesignicons.min.css b/web/materialdesignicons.min.css new file mode 100644 index 0000000000000000000000000000000000000000..e2ea8930ce0294937024a24f0112bc45ffacb834 --- /dev/null +++ b/web/materialdesignicons.min.css @@ -0,0 +1,3 @@ +@font-face{font-family:"Material Design Icons";src:url("fonts/materialdesignicons-webfont.eot?v=7.4.47");src:url("fonts/materialdesignicons-webfont.eot?#iefix&v=7.4.47") format("embedded-opentype"),url("fonts/materialdesignicons-webfont.woff2?v=7.4.47") format("woff2"),url("fonts/materialdesignicons-webfont.woff?v=7.4.47") format("woff"),url("fonts/materialdesignicons-webfont.ttf?v=7.4.47") format("truetype");font-weight:normal;font-style:normal}.mdi:before,.mdi-set{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mdi-ab-testing::before{content:"\F01C9"}.mdi-abacus::before{content:"\F16E0"}.mdi-abjad-arabic::before{content:"\F1328"}.mdi-abjad-hebrew::before{content:"\F1329"}.mdi-abugida-devanagari::before{content:"\F132A"}.mdi-abugida-thai::before{content:"\F132B"}.mdi-access-point::before{content:"\F0003"}.mdi-access-point-check::before{content:"\F1538"}.mdi-access-point-minus::before{content:"\F1539"}.mdi-access-point-network::before{content:"\F0002"}.mdi-access-point-network-off::before{content:"\F0BE1"}.mdi-access-point-off::before{content:"\F1511"}.mdi-access-point-plus::before{content:"\F153A"}.mdi-access-point-remove::before{content:"\F153B"}.mdi-account::before{content:"\F0004"}.mdi-account-alert::before{content:"\F0005"}.mdi-account-alert-outline::before{content:"\F0B50"}.mdi-account-arrow-down::before{content:"\F1868"}.mdi-account-arrow-down-outline::before{content:"\F1869"}.mdi-account-arrow-left::before{content:"\F0B51"}.mdi-account-arrow-left-outline::before{content:"\F0B52"}.mdi-account-arrow-right::before{content:"\F0B53"}.mdi-account-arrow-right-outline::before{content:"\F0B54"}.mdi-account-arrow-up::before{content:"\F1867"}.mdi-account-arrow-up-outline::before{content:"\F186A"}.mdi-account-badge::before{content:"\F1B0A"}.mdi-account-badge-outline::before{content:"\F1B0B"}.mdi-account-box::before{content:"\F0006"}.mdi-account-box-edit-outline::before{content:"\F1CC8"}.mdi-account-box-minus-outline::before{content:"\F1CC9"}.mdi-account-box-multiple::before{content:"\F0934"}.mdi-account-box-multiple-outline::before{content:"\F100A"}.mdi-account-box-outline::before{content:"\F0007"}.mdi-account-box-plus-outline::before{content:"\F1CCA"}.mdi-account-cancel::before{content:"\F12DF"}.mdi-account-cancel-outline::before{content:"\F12E0"}.mdi-account-card::before{content:"\F1BA4"}.mdi-account-card-outline::before{content:"\F1BA5"}.mdi-account-cash::before{content:"\F1097"}.mdi-account-cash-outline::before{content:"\F1098"}.mdi-account-check::before{content:"\F0008"}.mdi-account-check-outline::before{content:"\F0BE2"}.mdi-account-child::before{content:"\F0A89"}.mdi-account-child-circle::before{content:"\F0A8A"}.mdi-account-child-outline::before{content:"\F10C8"}.mdi-account-circle::before{content:"\F0009"}.mdi-account-circle-outline::before{content:"\F0B55"}.mdi-account-clock::before{content:"\F0B56"}.mdi-account-clock-outline::before{content:"\F0B57"}.mdi-account-cog::before{content:"\F1370"}.mdi-account-cog-outline::before{content:"\F1371"}.mdi-account-convert::before{content:"\F000A"}.mdi-account-convert-outline::before{content:"\F1301"}.mdi-account-cowboy-hat::before{content:"\F0E9B"}.mdi-account-cowboy-hat-outline::before{content:"\F17F3"}.mdi-account-credit-card::before{content:"\F1BA6"}.mdi-account-credit-card-outline::before{content:"\F1BA7"}.mdi-account-details::before{content:"\F0631"}.mdi-account-details-outline::before{content:"\F1372"}.mdi-account-edit::before{content:"\F06BC"}.mdi-account-edit-outline::before{content:"\F0FFB"}.mdi-account-eye::before{content:"\F0420"}.mdi-account-eye-outline::before{content:"\F127B"}.mdi-account-file::before{content:"\F1CA7"}.mdi-account-file-outline::before{content:"\F1CA8"}.mdi-account-file-text::before{content:"\F1CA9"}.mdi-account-file-text-outline::before{content:"\F1CAA"}.mdi-account-filter::before{content:"\F0936"}.mdi-account-filter-outline::before{content:"\F0F9D"}.mdi-account-group::before{content:"\F0849"}.mdi-account-group-outline::before{content:"\F0B58"}.mdi-account-hard-hat::before{content:"\F05B5"}.mdi-account-hard-hat-outline::before{content:"\F1A1F"}.mdi-account-heart::before{content:"\F0899"}.mdi-account-heart-outline::before{content:"\F0BE3"}.mdi-account-injury::before{content:"\F1815"}.mdi-account-injury-outline::before{content:"\F1816"}.mdi-account-key::before{content:"\F000B"}.mdi-account-key-outline::before{content:"\F0BE4"}.mdi-account-lock::before{content:"\F115E"}.mdi-account-lock-open::before{content:"\F1960"}.mdi-account-lock-open-outline::before{content:"\F1961"}.mdi-account-lock-outline::before{content:"\F115F"}.mdi-account-minus::before{content:"\F000D"}.mdi-account-minus-outline::before{content:"\F0AEC"}.mdi-account-multiple::before{content:"\F000E"}.mdi-account-multiple-check::before{content:"\F08C5"}.mdi-account-multiple-check-outline::before{content:"\F11FE"}.mdi-account-multiple-minus::before{content:"\F05D3"}.mdi-account-multiple-minus-outline::before{content:"\F0BE5"}.mdi-account-multiple-outline::before{content:"\F000F"}.mdi-account-multiple-plus::before{content:"\F0010"}.mdi-account-multiple-plus-outline::before{content:"\F0800"}.mdi-account-multiple-remove::before{content:"\F120A"}.mdi-account-multiple-remove-outline::before{content:"\F120B"}.mdi-account-music::before{content:"\F0803"}.mdi-account-music-outline::before{content:"\F0CE9"}.mdi-account-network::before{content:"\F0011"}.mdi-account-network-off::before{content:"\F1AF1"}.mdi-account-network-off-outline::before{content:"\F1AF2"}.mdi-account-network-outline::before{content:"\F0BE6"}.mdi-account-off::before{content:"\F0012"}.mdi-account-off-outline::before{content:"\F0BE7"}.mdi-account-outline::before{content:"\F0013"}.mdi-account-plus::before{content:"\F0014"}.mdi-account-plus-outline::before{content:"\F0801"}.mdi-account-question::before{content:"\F0B59"}.mdi-account-question-outline::before{content:"\F0B5A"}.mdi-account-reactivate::before{content:"\F152B"}.mdi-account-reactivate-outline::before{content:"\F152C"}.mdi-account-remove::before{content:"\F0015"}.mdi-account-remove-outline::before{content:"\F0AED"}.mdi-account-school::before{content:"\F1A20"}.mdi-account-school-outline::before{content:"\F1A21"}.mdi-account-search::before{content:"\F0016"}.mdi-account-search-outline::before{content:"\F0935"}.mdi-account-settings::before{content:"\F0630"}.mdi-account-settings-outline::before{content:"\F10C9"}.mdi-account-star::before{content:"\F0017"}.mdi-account-star-outline::before{content:"\F0BE8"}.mdi-account-supervisor::before{content:"\F0A8B"}.mdi-account-supervisor-circle::before{content:"\F0A8C"}.mdi-account-supervisor-circle-outline::before{content:"\F14EC"}.mdi-account-supervisor-outline::before{content:"\F112D"}.mdi-account-switch::before{content:"\F0019"}.mdi-account-switch-outline::before{content:"\F04CB"}.mdi-account-sync::before{content:"\F191B"}.mdi-account-sync-outline::before{content:"\F191C"}.mdi-account-tag::before{content:"\F1C1B"}.mdi-account-tag-outline::before{content:"\F1C1C"}.mdi-account-tie::before{content:"\F0CE3"}.mdi-account-tie-hat::before{content:"\F1898"}.mdi-account-tie-hat-outline::before{content:"\F1899"}.mdi-account-tie-outline::before{content:"\F10CA"}.mdi-account-tie-voice::before{content:"\F1308"}.mdi-account-tie-voice-off::before{content:"\F130A"}.mdi-account-tie-voice-off-outline::before{content:"\F130B"}.mdi-account-tie-voice-outline::before{content:"\F1309"}.mdi-account-tie-woman::before{content:"\F1A8C"}.mdi-account-voice::before{content:"\F05CB"}.mdi-account-voice-off::before{content:"\F0ED4"}.mdi-account-wrench::before{content:"\F189A"}.mdi-account-wrench-outline::before{content:"\F189B"}.mdi-adjust::before{content:"\F001A"}.mdi-advertisements::before{content:"\F192A"}.mdi-advertisements-off::before{content:"\F192B"}.mdi-air-conditioner::before{content:"\F001B"}.mdi-air-filter::before{content:"\F0D43"}.mdi-air-horn::before{content:"\F0DAC"}.mdi-air-humidifier::before{content:"\F1099"}.mdi-air-humidifier-off::before{content:"\F1466"}.mdi-air-purifier::before{content:"\F0D44"}.mdi-air-purifier-off::before{content:"\F1B57"}.mdi-airbag::before{content:"\F0BE9"}.mdi-airballoon::before{content:"\F001C"}.mdi-airballoon-outline::before{content:"\F100B"}.mdi-airplane::before{content:"\F001D"}.mdi-airplane-alert::before{content:"\F187A"}.mdi-airplane-check::before{content:"\F187B"}.mdi-airplane-clock::before{content:"\F187C"}.mdi-airplane-cog::before{content:"\F187D"}.mdi-airplane-edit::before{content:"\F187E"}.mdi-airplane-landing::before{content:"\F05D4"}.mdi-airplane-marker::before{content:"\F187F"}.mdi-airplane-minus::before{content:"\F1880"}.mdi-airplane-off::before{content:"\F001E"}.mdi-airplane-plus::before{content:"\F1881"}.mdi-airplane-remove::before{content:"\F1882"}.mdi-airplane-search::before{content:"\F1883"}.mdi-airplane-settings::before{content:"\F1884"}.mdi-airplane-takeoff::before{content:"\F05D5"}.mdi-airport::before{content:"\F084B"}.mdi-alarm::before{content:"\F0020"}.mdi-alarm-bell::before{content:"\F078E"}.mdi-alarm-check::before{content:"\F0021"}.mdi-alarm-light::before{content:"\F078F"}.mdi-alarm-light-off::before{content:"\F171E"}.mdi-alarm-light-off-outline::before{content:"\F171F"}.mdi-alarm-light-outline::before{content:"\F0BEA"}.mdi-alarm-multiple::before{content:"\F0022"}.mdi-alarm-note::before{content:"\F0E71"}.mdi-alarm-note-off::before{content:"\F0E72"}.mdi-alarm-off::before{content:"\F0023"}.mdi-alarm-panel::before{content:"\F15C4"}.mdi-alarm-panel-outline::before{content:"\F15C5"}.mdi-alarm-plus::before{content:"\F0024"}.mdi-alarm-snooze::before{content:"\F068E"}.mdi-album::before{content:"\F0025"}.mdi-alert::before{content:"\F0026"}.mdi-alert-box::before{content:"\F0027"}.mdi-alert-box-outline::before{content:"\F0CE4"}.mdi-alert-circle::before{content:"\F0028"}.mdi-alert-circle-check::before{content:"\F11ED"}.mdi-alert-circle-check-outline::before{content:"\F11EE"}.mdi-alert-circle-outline::before{content:"\F05D6"}.mdi-alert-decagram::before{content:"\F06BD"}.mdi-alert-decagram-outline::before{content:"\F0CE5"}.mdi-alert-minus::before{content:"\F14BB"}.mdi-alert-minus-outline::before{content:"\F14BE"}.mdi-alert-octagon::before{content:"\F0029"}.mdi-alert-octagon-outline::before{content:"\F0CE6"}.mdi-alert-octagram::before{content:"\F0767"}.mdi-alert-octagram-outline::before{content:"\F0CE7"}.mdi-alert-outline::before{content:"\F002A"}.mdi-alert-plus::before{content:"\F14BA"}.mdi-alert-plus-outline::before{content:"\F14BD"}.mdi-alert-remove::before{content:"\F14BC"}.mdi-alert-remove-outline::before{content:"\F14BF"}.mdi-alert-rhombus::before{content:"\F11CE"}.mdi-alert-rhombus-outline::before{content:"\F11CF"}.mdi-alien::before{content:"\F089A"}.mdi-alien-outline::before{content:"\F10CB"}.mdi-align-horizontal-center::before{content:"\F11C3"}.mdi-align-horizontal-distribute::before{content:"\F1962"}.mdi-align-horizontal-left::before{content:"\F11C2"}.mdi-align-horizontal-right::before{content:"\F11C4"}.mdi-align-vertical-bottom::before{content:"\F11C5"}.mdi-align-vertical-center::before{content:"\F11C6"}.mdi-align-vertical-distribute::before{content:"\F1963"}.mdi-align-vertical-top::before{content:"\F11C7"}.mdi-all-inclusive::before{content:"\F06BE"}.mdi-all-inclusive-box::before{content:"\F188D"}.mdi-all-inclusive-box-outline::before{content:"\F188E"}.mdi-allergy::before{content:"\F1258"}.mdi-alpha::before{content:"\F002B"}.mdi-alpha-a::before{content:"\F0AEE"}.mdi-alpha-a-box::before{content:"\F0B08"}.mdi-alpha-a-box-outline::before{content:"\F0BEB"}.mdi-alpha-a-circle::before{content:"\F0BEC"}.mdi-alpha-a-circle-outline::before{content:"\F0BED"}.mdi-alpha-b::before{content:"\F0AEF"}.mdi-alpha-b-box::before{content:"\F0B09"}.mdi-alpha-b-box-outline::before{content:"\F0BEE"}.mdi-alpha-b-circle::before{content:"\F0BEF"}.mdi-alpha-b-circle-outline::before{content:"\F0BF0"}.mdi-alpha-c::before{content:"\F0AF0"}.mdi-alpha-c-box::before{content:"\F0B0A"}.mdi-alpha-c-box-outline::before{content:"\F0BF1"}.mdi-alpha-c-circle::before{content:"\F0BF2"}.mdi-alpha-c-circle-outline::before{content:"\F0BF3"}.mdi-alpha-d::before{content:"\F0AF1"}.mdi-alpha-d-box::before{content:"\F0B0B"}.mdi-alpha-d-box-outline::before{content:"\F0BF4"}.mdi-alpha-d-circle::before{content:"\F0BF5"}.mdi-alpha-d-circle-outline::before{content:"\F0BF6"}.mdi-alpha-e::before{content:"\F0AF2"}.mdi-alpha-e-box::before{content:"\F0B0C"}.mdi-alpha-e-box-outline::before{content:"\F0BF7"}.mdi-alpha-e-circle::before{content:"\F0BF8"}.mdi-alpha-e-circle-outline::before{content:"\F0BF9"}.mdi-alpha-f::before{content:"\F0AF3"}.mdi-alpha-f-box::before{content:"\F0B0D"}.mdi-alpha-f-box-outline::before{content:"\F0BFA"}.mdi-alpha-f-circle::before{content:"\F0BFB"}.mdi-alpha-f-circle-outline::before{content:"\F0BFC"}.mdi-alpha-g::before{content:"\F0AF4"}.mdi-alpha-g-box::before{content:"\F0B0E"}.mdi-alpha-g-box-outline::before{content:"\F0BFD"}.mdi-alpha-g-circle::before{content:"\F0BFE"}.mdi-alpha-g-circle-outline::before{content:"\F0BFF"}.mdi-alpha-h::before{content:"\F0AF5"}.mdi-alpha-h-box::before{content:"\F0B0F"}.mdi-alpha-h-box-outline::before{content:"\F0C00"}.mdi-alpha-h-circle::before{content:"\F0C01"}.mdi-alpha-h-circle-outline::before{content:"\F0C02"}.mdi-alpha-i::before{content:"\F0AF6"}.mdi-alpha-i-box::before{content:"\F0B10"}.mdi-alpha-i-box-outline::before{content:"\F0C03"}.mdi-alpha-i-circle::before{content:"\F0C04"}.mdi-alpha-i-circle-outline::before{content:"\F0C05"}.mdi-alpha-j::before{content:"\F0AF7"}.mdi-alpha-j-box::before{content:"\F0B11"}.mdi-alpha-j-box-outline::before{content:"\F0C06"}.mdi-alpha-j-circle::before{content:"\F0C07"}.mdi-alpha-j-circle-outline::before{content:"\F0C08"}.mdi-alpha-k::before{content:"\F0AF8"}.mdi-alpha-k-box::before{content:"\F0B12"}.mdi-alpha-k-box-outline::before{content:"\F0C09"}.mdi-alpha-k-circle::before{content:"\F0C0A"}.mdi-alpha-k-circle-outline::before{content:"\F0C0B"}.mdi-alpha-l::before{content:"\F0AF9"}.mdi-alpha-l-box::before{content:"\F0B13"}.mdi-alpha-l-box-outline::before{content:"\F0C0C"}.mdi-alpha-l-circle::before{content:"\F0C0D"}.mdi-alpha-l-circle-outline::before{content:"\F0C0E"}.mdi-alpha-m::before{content:"\F0AFA"}.mdi-alpha-m-box::before{content:"\F0B14"}.mdi-alpha-m-box-outline::before{content:"\F0C0F"}.mdi-alpha-m-circle::before{content:"\F0C10"}.mdi-alpha-m-circle-outline::before{content:"\F0C11"}.mdi-alpha-n::before{content:"\F0AFB"}.mdi-alpha-n-box::before{content:"\F0B15"}.mdi-alpha-n-box-outline::before{content:"\F0C12"}.mdi-alpha-n-circle::before{content:"\F0C13"}.mdi-alpha-n-circle-outline::before{content:"\F0C14"}.mdi-alpha-o::before{content:"\F0AFC"}.mdi-alpha-o-box::before{content:"\F0B16"}.mdi-alpha-o-box-outline::before{content:"\F0C15"}.mdi-alpha-o-circle::before{content:"\F0C16"}.mdi-alpha-o-circle-outline::before{content:"\F0C17"}.mdi-alpha-p::before{content:"\F0AFD"}.mdi-alpha-p-box::before{content:"\F0B17"}.mdi-alpha-p-box-outline::before{content:"\F0C18"}.mdi-alpha-p-circle::before{content:"\F0C19"}.mdi-alpha-p-circle-outline::before{content:"\F0C1A"}.mdi-alpha-q::before{content:"\F0AFE"}.mdi-alpha-q-box::before{content:"\F0B18"}.mdi-alpha-q-box-outline::before{content:"\F0C1B"}.mdi-alpha-q-circle::before{content:"\F0C1C"}.mdi-alpha-q-circle-outline::before{content:"\F0C1D"}.mdi-alpha-r::before{content:"\F0AFF"}.mdi-alpha-r-box::before{content:"\F0B19"}.mdi-alpha-r-box-outline::before{content:"\F0C1E"}.mdi-alpha-r-circle::before{content:"\F0C1F"}.mdi-alpha-r-circle-outline::before{content:"\F0C20"}.mdi-alpha-s::before{content:"\F0B00"}.mdi-alpha-s-box::before{content:"\F0B1A"}.mdi-alpha-s-box-outline::before{content:"\F0C21"}.mdi-alpha-s-circle::before{content:"\F0C22"}.mdi-alpha-s-circle-outline::before{content:"\F0C23"}.mdi-alpha-t::before{content:"\F0B01"}.mdi-alpha-t-box::before{content:"\F0B1B"}.mdi-alpha-t-box-outline::before{content:"\F0C24"}.mdi-alpha-t-circle::before{content:"\F0C25"}.mdi-alpha-t-circle-outline::before{content:"\F0C26"}.mdi-alpha-u::before{content:"\F0B02"}.mdi-alpha-u-box::before{content:"\F0B1C"}.mdi-alpha-u-box-outline::before{content:"\F0C27"}.mdi-alpha-u-circle::before{content:"\F0C28"}.mdi-alpha-u-circle-outline::before{content:"\F0C29"}.mdi-alpha-v::before{content:"\F0B03"}.mdi-alpha-v-box::before{content:"\F0B1D"}.mdi-alpha-v-box-outline::before{content:"\F0C2A"}.mdi-alpha-v-circle::before{content:"\F0C2B"}.mdi-alpha-v-circle-outline::before{content:"\F0C2C"}.mdi-alpha-w::before{content:"\F0B04"}.mdi-alpha-w-box::before{content:"\F0B1E"}.mdi-alpha-w-box-outline::before{content:"\F0C2D"}.mdi-alpha-w-circle::before{content:"\F0C2E"}.mdi-alpha-w-circle-outline::before{content:"\F0C2F"}.mdi-alpha-x::before{content:"\F0B05"}.mdi-alpha-x-box::before{content:"\F0B1F"}.mdi-alpha-x-box-outline::before{content:"\F0C30"}.mdi-alpha-x-circle::before{content:"\F0C31"}.mdi-alpha-x-circle-outline::before{content:"\F0C32"}.mdi-alpha-y::before{content:"\F0B06"}.mdi-alpha-y-box::before{content:"\F0B20"}.mdi-alpha-y-box-outline::before{content:"\F0C33"}.mdi-alpha-y-circle::before{content:"\F0C34"}.mdi-alpha-y-circle-outline::before{content:"\F0C35"}.mdi-alpha-z::before{content:"\F0B07"}.mdi-alpha-z-box::before{content:"\F0B21"}.mdi-alpha-z-box-outline::before{content:"\F0C36"}.mdi-alpha-z-circle::before{content:"\F0C37"}.mdi-alpha-z-circle-outline::before{content:"\F0C38"}.mdi-alphabet-aurebesh::before{content:"\F132C"}.mdi-alphabet-cyrillic::before{content:"\F132D"}.mdi-alphabet-greek::before{content:"\F132E"}.mdi-alphabet-latin::before{content:"\F132F"}.mdi-alphabet-piqad::before{content:"\F1330"}.mdi-alphabet-tengwar::before{content:"\F1337"}.mdi-alphabetical::before{content:"\F002C"}.mdi-alphabetical-off::before{content:"\F100C"}.mdi-alphabetical-variant::before{content:"\F100D"}.mdi-alphabetical-variant-off::before{content:"\F100E"}.mdi-altimeter::before{content:"\F05D7"}.mdi-ambulance::before{content:"\F002F"}.mdi-ammunition::before{content:"\F0CE8"}.mdi-ampersand::before{content:"\F0A8D"}.mdi-amplifier::before{content:"\F0030"}.mdi-amplifier-off::before{content:"\F11B5"}.mdi-anchor::before{content:"\F0031"}.mdi-android::before{content:"\F0032"}.mdi-android-studio::before{content:"\F0034"}.mdi-angle-acute::before{content:"\F0937"}.mdi-angle-obtuse::before{content:"\F0938"}.mdi-angle-right::before{content:"\F0939"}.mdi-angular::before{content:"\F06B2"}.mdi-angularjs::before{content:"\F06BF"}.mdi-animation::before{content:"\F05D8"}.mdi-animation-outline::before{content:"\F0A8F"}.mdi-animation-play::before{content:"\F093A"}.mdi-animation-play-outline::before{content:"\F0A90"}.mdi-ansible::before{content:"\F109A"}.mdi-antenna::before{content:"\F1119"}.mdi-anvil::before{content:"\F089B"}.mdi-apache-kafka::before{content:"\F100F"}.mdi-api::before{content:"\F109B"}.mdi-api-off::before{content:"\F1257"}.mdi-apple::before{content:"\F0035"}.mdi-apple-finder::before{content:"\F0036"}.mdi-apple-icloud::before{content:"\F0038"}.mdi-apple-ios::before{content:"\F0037"}.mdi-apple-keyboard-caps::before{content:"\F0632"}.mdi-apple-keyboard-command::before{content:"\F0633"}.mdi-apple-keyboard-control::before{content:"\F0634"}.mdi-apple-keyboard-option::before{content:"\F0635"}.mdi-apple-keyboard-shift::before{content:"\F0636"}.mdi-apple-safari::before{content:"\F0039"}.mdi-application::before{content:"\F08C6"}.mdi-application-array::before{content:"\F10F5"}.mdi-application-array-outline::before{content:"\F10F6"}.mdi-application-braces::before{content:"\F10F7"}.mdi-application-braces-outline::before{content:"\F10F8"}.mdi-application-brackets::before{content:"\F0C8B"}.mdi-application-brackets-outline::before{content:"\F0C8C"}.mdi-application-cog::before{content:"\F0675"}.mdi-application-cog-outline::before{content:"\F1577"}.mdi-application-edit::before{content:"\F00AE"}.mdi-application-edit-outline::before{content:"\F0619"}.mdi-application-export::before{content:"\F0DAD"}.mdi-application-import::before{content:"\F0DAE"}.mdi-application-outline::before{content:"\F0614"}.mdi-application-parentheses::before{content:"\F10F9"}.mdi-application-parentheses-outline::before{content:"\F10FA"}.mdi-application-settings::before{content:"\F0B60"}.mdi-application-settings-outline::before{content:"\F1555"}.mdi-application-variable::before{content:"\F10FB"}.mdi-application-variable-outline::before{content:"\F10FC"}.mdi-approximately-equal::before{content:"\F0F9E"}.mdi-approximately-equal-box::before{content:"\F0F9F"}.mdi-apps::before{content:"\F003B"}.mdi-apps-box::before{content:"\F0D46"}.mdi-arch::before{content:"\F08C7"}.mdi-archive::before{content:"\F003C"}.mdi-archive-alert::before{content:"\F14FD"}.mdi-archive-alert-outline::before{content:"\F14FE"}.mdi-archive-arrow-down::before{content:"\F1259"}.mdi-archive-arrow-down-outline::before{content:"\F125A"}.mdi-archive-arrow-up::before{content:"\F125B"}.mdi-archive-arrow-up-outline::before{content:"\F125C"}.mdi-archive-cancel::before{content:"\F174B"}.mdi-archive-cancel-outline::before{content:"\F174C"}.mdi-archive-check::before{content:"\F174D"}.mdi-archive-check-outline::before{content:"\F174E"}.mdi-archive-clock::before{content:"\F174F"}.mdi-archive-clock-outline::before{content:"\F1750"}.mdi-archive-cog::before{content:"\F1751"}.mdi-archive-cog-outline::before{content:"\F1752"}.mdi-archive-edit::before{content:"\F1753"}.mdi-archive-edit-outline::before{content:"\F1754"}.mdi-archive-eye::before{content:"\F1755"}.mdi-archive-eye-outline::before{content:"\F1756"}.mdi-archive-lock::before{content:"\F1757"}.mdi-archive-lock-open::before{content:"\F1758"}.mdi-archive-lock-open-outline::before{content:"\F1759"}.mdi-archive-lock-outline::before{content:"\F175A"}.mdi-archive-marker::before{content:"\F175B"}.mdi-archive-marker-outline::before{content:"\F175C"}.mdi-archive-minus::before{content:"\F175D"}.mdi-archive-minus-outline::before{content:"\F175E"}.mdi-archive-music::before{content:"\F175F"}.mdi-archive-music-outline::before{content:"\F1760"}.mdi-archive-off::before{content:"\F1761"}.mdi-archive-off-outline::before{content:"\F1762"}.mdi-archive-outline::before{content:"\F120E"}.mdi-archive-plus::before{content:"\F1763"}.mdi-archive-plus-outline::before{content:"\F1764"}.mdi-archive-refresh::before{content:"\F1765"}.mdi-archive-refresh-outline::before{content:"\F1766"}.mdi-archive-remove::before{content:"\F1767"}.mdi-archive-remove-outline::before{content:"\F1768"}.mdi-archive-search::before{content:"\F1769"}.mdi-archive-search-outline::before{content:"\F176A"}.mdi-archive-settings::before{content:"\F176B"}.mdi-archive-settings-outline::before{content:"\F176C"}.mdi-archive-star::before{content:"\F176D"}.mdi-archive-star-outline::before{content:"\F176E"}.mdi-archive-sync::before{content:"\F176F"}.mdi-archive-sync-outline::before{content:"\F1770"}.mdi-arm-flex::before{content:"\F0FD7"}.mdi-arm-flex-outline::before{content:"\F0FD6"}.mdi-arrange-bring-forward::before{content:"\F003D"}.mdi-arrange-bring-to-front::before{content:"\F003E"}.mdi-arrange-send-backward::before{content:"\F003F"}.mdi-arrange-send-to-back::before{content:"\F0040"}.mdi-arrow-all::before{content:"\F0041"}.mdi-arrow-bottom-left::before{content:"\F0042"}.mdi-arrow-bottom-left-bold-box::before{content:"\F1964"}.mdi-arrow-bottom-left-bold-box-outline::before{content:"\F1965"}.mdi-arrow-bottom-left-bold-outline::before{content:"\F09B7"}.mdi-arrow-bottom-left-thick::before{content:"\F09B8"}.mdi-arrow-bottom-left-thin::before{content:"\F19B6"}.mdi-arrow-bottom-left-thin-circle-outline::before{content:"\F1596"}.mdi-arrow-bottom-right::before{content:"\F0043"}.mdi-arrow-bottom-right-bold-box::before{content:"\F1966"}.mdi-arrow-bottom-right-bold-box-outline::before{content:"\F1967"}.mdi-arrow-bottom-right-bold-outline::before{content:"\F09B9"}.mdi-arrow-bottom-right-thick::before{content:"\F09BA"}.mdi-arrow-bottom-right-thin::before{content:"\F19B7"}.mdi-arrow-bottom-right-thin-circle-outline::before{content:"\F1595"}.mdi-arrow-collapse::before{content:"\F0615"}.mdi-arrow-collapse-all::before{content:"\F0044"}.mdi-arrow-collapse-down::before{content:"\F0792"}.mdi-arrow-collapse-horizontal::before{content:"\F084C"}.mdi-arrow-collapse-left::before{content:"\F0793"}.mdi-arrow-collapse-right::before{content:"\F0794"}.mdi-arrow-collapse-up::before{content:"\F0795"}.mdi-arrow-collapse-vertical::before{content:"\F084D"}.mdi-arrow-decision::before{content:"\F09BB"}.mdi-arrow-decision-auto::before{content:"\F09BC"}.mdi-arrow-decision-auto-outline::before{content:"\F09BD"}.mdi-arrow-decision-outline::before{content:"\F09BE"}.mdi-arrow-down::before{content:"\F0045"}.mdi-arrow-down-bold::before{content:"\F072E"}.mdi-arrow-down-bold-box::before{content:"\F072F"}.mdi-arrow-down-bold-box-outline::before{content:"\F0730"}.mdi-arrow-down-bold-circle::before{content:"\F0047"}.mdi-arrow-down-bold-circle-outline::before{content:"\F0048"}.mdi-arrow-down-bold-hexagon-outline::before{content:"\F0049"}.mdi-arrow-down-bold-outline::before{content:"\F09BF"}.mdi-arrow-down-box::before{content:"\F06C0"}.mdi-arrow-down-circle::before{content:"\F0CDB"}.mdi-arrow-down-circle-outline::before{content:"\F0CDC"}.mdi-arrow-down-drop-circle::before{content:"\F004A"}.mdi-arrow-down-drop-circle-outline::before{content:"\F004B"}.mdi-arrow-down-left::before{content:"\F17A1"}.mdi-arrow-down-left-bold::before{content:"\F17A2"}.mdi-arrow-down-right::before{content:"\F17A3"}.mdi-arrow-down-right-bold::before{content:"\F17A4"}.mdi-arrow-down-thick::before{content:"\F0046"}.mdi-arrow-down-thin::before{content:"\F19B3"}.mdi-arrow-down-thin-circle-outline::before{content:"\F1599"}.mdi-arrow-expand::before{content:"\F0616"}.mdi-arrow-expand-all::before{content:"\F004C"}.mdi-arrow-expand-down::before{content:"\F0796"}.mdi-arrow-expand-horizontal::before{content:"\F084E"}.mdi-arrow-expand-left::before{content:"\F0797"}.mdi-arrow-expand-right::before{content:"\F0798"}.mdi-arrow-expand-up::before{content:"\F0799"}.mdi-arrow-expand-vertical::before{content:"\F084F"}.mdi-arrow-horizontal-lock::before{content:"\F115B"}.mdi-arrow-left::before{content:"\F004D"}.mdi-arrow-left-bold::before{content:"\F0731"}.mdi-arrow-left-bold-box::before{content:"\F0732"}.mdi-arrow-left-bold-box-outline::before{content:"\F0733"}.mdi-arrow-left-bold-circle::before{content:"\F004F"}.mdi-arrow-left-bold-circle-outline::before{content:"\F0050"}.mdi-arrow-left-bold-hexagon-outline::before{content:"\F0051"}.mdi-arrow-left-bold-outline::before{content:"\F09C0"}.mdi-arrow-left-bottom::before{content:"\F17A5"}.mdi-arrow-left-bottom-bold::before{content:"\F17A6"}.mdi-arrow-left-box::before{content:"\F06C1"}.mdi-arrow-left-circle::before{content:"\F0CDD"}.mdi-arrow-left-circle-outline::before{content:"\F0CDE"}.mdi-arrow-left-drop-circle::before{content:"\F0052"}.mdi-arrow-left-drop-circle-outline::before{content:"\F0053"}.mdi-arrow-left-right::before{content:"\F0E73"}.mdi-arrow-left-right-bold::before{content:"\F0E74"}.mdi-arrow-left-right-bold-outline::before{content:"\F09C1"}.mdi-arrow-left-thick::before{content:"\F004E"}.mdi-arrow-left-thin::before{content:"\F19B1"}.mdi-arrow-left-thin-circle-outline::before{content:"\F159A"}.mdi-arrow-left-top::before{content:"\F17A7"}.mdi-arrow-left-top-bold::before{content:"\F17A8"}.mdi-arrow-oscillating::before{content:"\F1C91"}.mdi-arrow-oscillating-off::before{content:"\F1C92"}.mdi-arrow-projectile::before{content:"\F1840"}.mdi-arrow-projectile-multiple::before{content:"\F183F"}.mdi-arrow-right::before{content:"\F0054"}.mdi-arrow-right-bold::before{content:"\F0734"}.mdi-arrow-right-bold-box::before{content:"\F0735"}.mdi-arrow-right-bold-box-outline::before{content:"\F0736"}.mdi-arrow-right-bold-circle::before{content:"\F0056"}.mdi-arrow-right-bold-circle-outline::before{content:"\F0057"}.mdi-arrow-right-bold-hexagon-outline::before{content:"\F0058"}.mdi-arrow-right-bold-outline::before{content:"\F09C2"}.mdi-arrow-right-bottom::before{content:"\F17A9"}.mdi-arrow-right-bottom-bold::before{content:"\F17AA"}.mdi-arrow-right-box::before{content:"\F06C2"}.mdi-arrow-right-circle::before{content:"\F0CDF"}.mdi-arrow-right-circle-outline::before{content:"\F0CE0"}.mdi-arrow-right-drop-circle::before{content:"\F0059"}.mdi-arrow-right-drop-circle-outline::before{content:"\F005A"}.mdi-arrow-right-thick::before{content:"\F0055"}.mdi-arrow-right-thin::before{content:"\F19B0"}.mdi-arrow-right-thin-circle-outline::before{content:"\F1598"}.mdi-arrow-right-top::before{content:"\F17AB"}.mdi-arrow-right-top-bold::before{content:"\F17AC"}.mdi-arrow-split-horizontal::before{content:"\F093B"}.mdi-arrow-split-vertical::before{content:"\F093C"}.mdi-arrow-top-left::before{content:"\F005B"}.mdi-arrow-top-left-bold-box::before{content:"\F1968"}.mdi-arrow-top-left-bold-box-outline::before{content:"\F1969"}.mdi-arrow-top-left-bold-outline::before{content:"\F09C3"}.mdi-arrow-top-left-bottom-right::before{content:"\F0E75"}.mdi-arrow-top-left-bottom-right-bold::before{content:"\F0E76"}.mdi-arrow-top-left-thick::before{content:"\F09C4"}.mdi-arrow-top-left-thin::before{content:"\F19B5"}.mdi-arrow-top-left-thin-circle-outline::before{content:"\F1593"}.mdi-arrow-top-right::before{content:"\F005C"}.mdi-arrow-top-right-bold-box::before{content:"\F196A"}.mdi-arrow-top-right-bold-box-outline::before{content:"\F196B"}.mdi-arrow-top-right-bold-outline::before{content:"\F09C5"}.mdi-arrow-top-right-bottom-left::before{content:"\F0E77"}.mdi-arrow-top-right-bottom-left-bold::before{content:"\F0E78"}.mdi-arrow-top-right-thick::before{content:"\F09C6"}.mdi-arrow-top-right-thin::before{content:"\F19B4"}.mdi-arrow-top-right-thin-circle-outline::before{content:"\F1594"}.mdi-arrow-u-down-left::before{content:"\F17AD"}.mdi-arrow-u-down-left-bold::before{content:"\F17AE"}.mdi-arrow-u-down-right::before{content:"\F17AF"}.mdi-arrow-u-down-right-bold::before{content:"\F17B0"}.mdi-arrow-u-left-bottom::before{content:"\F17B1"}.mdi-arrow-u-left-bottom-bold::before{content:"\F17B2"}.mdi-arrow-u-left-top::before{content:"\F17B3"}.mdi-arrow-u-left-top-bold::before{content:"\F17B4"}.mdi-arrow-u-right-bottom::before{content:"\F17B5"}.mdi-arrow-u-right-bottom-bold::before{content:"\F17B6"}.mdi-arrow-u-right-top::before{content:"\F17B7"}.mdi-arrow-u-right-top-bold::before{content:"\F17B8"}.mdi-arrow-u-up-left::before{content:"\F17B9"}.mdi-arrow-u-up-left-bold::before{content:"\F17BA"}.mdi-arrow-u-up-right::before{content:"\F17BB"}.mdi-arrow-u-up-right-bold::before{content:"\F17BC"}.mdi-arrow-up::before{content:"\F005D"}.mdi-arrow-up-bold::before{content:"\F0737"}.mdi-arrow-up-bold-box::before{content:"\F0738"}.mdi-arrow-up-bold-box-outline::before{content:"\F0739"}.mdi-arrow-up-bold-circle::before{content:"\F005F"}.mdi-arrow-up-bold-circle-outline::before{content:"\F0060"}.mdi-arrow-up-bold-hexagon-outline::before{content:"\F0061"}.mdi-arrow-up-bold-outline::before{content:"\F09C7"}.mdi-arrow-up-box::before{content:"\F06C3"}.mdi-arrow-up-circle::before{content:"\F0CE1"}.mdi-arrow-up-circle-outline::before{content:"\F0CE2"}.mdi-arrow-up-down::before{content:"\F0E79"}.mdi-arrow-up-down-bold::before{content:"\F0E7A"}.mdi-arrow-up-down-bold-outline::before{content:"\F09C8"}.mdi-arrow-up-drop-circle::before{content:"\F0062"}.mdi-arrow-up-drop-circle-outline::before{content:"\F0063"}.mdi-arrow-up-left::before{content:"\F17BD"}.mdi-arrow-up-left-bold::before{content:"\F17BE"}.mdi-arrow-up-right::before{content:"\F17BF"}.mdi-arrow-up-right-bold::before{content:"\F17C0"}.mdi-arrow-up-thick::before{content:"\F005E"}.mdi-arrow-up-thin::before{content:"\F19B2"}.mdi-arrow-up-thin-circle-outline::before{content:"\F1597"}.mdi-arrow-vertical-lock::before{content:"\F115C"}.mdi-artboard::before{content:"\F1B9A"}.mdi-artstation::before{content:"\F0B5B"}.mdi-aspect-ratio::before{content:"\F0A24"}.mdi-assistant::before{content:"\F0064"}.mdi-asterisk::before{content:"\F06C4"}.mdi-asterisk-circle-outline::before{content:"\F1A27"}.mdi-at::before{content:"\F0065"}.mdi-atlassian::before{content:"\F0804"}.mdi-atm::before{content:"\F0D47"}.mdi-atom::before{content:"\F0768"}.mdi-atom-variant::before{content:"\F0E7B"}.mdi-attachment::before{content:"\F0066"}.mdi-attachment-check::before{content:"\F1AC1"}.mdi-attachment-lock::before{content:"\F19C4"}.mdi-attachment-minus::before{content:"\F1AC2"}.mdi-attachment-off::before{content:"\F1AC3"}.mdi-attachment-plus::before{content:"\F1AC4"}.mdi-attachment-remove::before{content:"\F1AC5"}.mdi-atv::before{content:"\F1B70"}.mdi-audio-input-rca::before{content:"\F186B"}.mdi-audio-input-stereo-minijack::before{content:"\F186C"}.mdi-audio-input-xlr::before{content:"\F186D"}.mdi-audio-video::before{content:"\F093D"}.mdi-audio-video-off::before{content:"\F11B6"}.mdi-augmented-reality::before{content:"\F0850"}.mdi-aurora::before{content:"\F1BB9"}.mdi-auto-download::before{content:"\F137E"}.mdi-auto-fix::before{content:"\F0068"}.mdi-auto-mode::before{content:"\F1C20"}.mdi-auto-upload::before{content:"\F0069"}.mdi-autorenew::before{content:"\F006A"}.mdi-autorenew-off::before{content:"\F19E7"}.mdi-av-timer::before{content:"\F006B"}.mdi-awning::before{content:"\F1B87"}.mdi-awning-outline::before{content:"\F1B88"}.mdi-aws::before{content:"\F0E0F"}.mdi-axe::before{content:"\F08C8"}.mdi-axe-battle::before{content:"\F1842"}.mdi-axis::before{content:"\F0D48"}.mdi-axis-arrow::before{content:"\F0D49"}.mdi-axis-arrow-info::before{content:"\F140E"}.mdi-axis-arrow-lock::before{content:"\F0D4A"}.mdi-axis-lock::before{content:"\F0D4B"}.mdi-axis-x-arrow::before{content:"\F0D4C"}.mdi-axis-x-arrow-lock::before{content:"\F0D4D"}.mdi-axis-x-rotate-clockwise::before{content:"\F0D4E"}.mdi-axis-x-rotate-counterclockwise::before{content:"\F0D4F"}.mdi-axis-x-y-arrow-lock::before{content:"\F0D50"}.mdi-axis-y-arrow::before{content:"\F0D51"}.mdi-axis-y-arrow-lock::before{content:"\F0D52"}.mdi-axis-y-rotate-clockwise::before{content:"\F0D53"}.mdi-axis-y-rotate-counterclockwise::before{content:"\F0D54"}.mdi-axis-z-arrow::before{content:"\F0D55"}.mdi-axis-z-arrow-lock::before{content:"\F0D56"}.mdi-axis-z-rotate-clockwise::before{content:"\F0D57"}.mdi-axis-z-rotate-counterclockwise::before{content:"\F0D58"}.mdi-babel::before{content:"\F0A25"}.mdi-baby::before{content:"\F006C"}.mdi-baby-bottle::before{content:"\F0F39"}.mdi-baby-bottle-outline::before{content:"\F0F3A"}.mdi-baby-buggy::before{content:"\F13E0"}.mdi-baby-buggy-off::before{content:"\F1AF3"}.mdi-baby-carriage::before{content:"\F068F"}.mdi-baby-carriage-off::before{content:"\F0FA0"}.mdi-baby-face::before{content:"\F0E7C"}.mdi-baby-face-outline::before{content:"\F0E7D"}.mdi-backburger::before{content:"\F006D"}.mdi-backspace::before{content:"\F006E"}.mdi-backspace-outline::before{content:"\F0B5C"}.mdi-backspace-reverse::before{content:"\F0E7E"}.mdi-backspace-reverse-outline::before{content:"\F0E7F"}.mdi-backup-restore::before{content:"\F006F"}.mdi-bacteria::before{content:"\F0ED5"}.mdi-bacteria-outline::before{content:"\F0ED6"}.mdi-badge-account::before{content:"\F0DA7"}.mdi-badge-account-alert::before{content:"\F0DA8"}.mdi-badge-account-alert-outline::before{content:"\F0DA9"}.mdi-badge-account-horizontal::before{content:"\F0E0D"}.mdi-badge-account-horizontal-outline::before{content:"\F0E0E"}.mdi-badge-account-outline::before{content:"\F0DAA"}.mdi-badminton::before{content:"\F0851"}.mdi-bag-carry-on::before{content:"\F0F3B"}.mdi-bag-carry-on-check::before{content:"\F0D65"}.mdi-bag-carry-on-off::before{content:"\F0F3C"}.mdi-bag-checked::before{content:"\F0F3D"}.mdi-bag-personal::before{content:"\F0E10"}.mdi-bag-personal-off::before{content:"\F0E11"}.mdi-bag-personal-off-outline::before{content:"\F0E12"}.mdi-bag-personal-outline::before{content:"\F0E13"}.mdi-bag-personal-plus::before{content:"\F1CA4"}.mdi-bag-personal-plus-outline::before{content:"\F1CA5"}.mdi-bag-personal-tag::before{content:"\F1B0C"}.mdi-bag-personal-tag-outline::before{content:"\F1B0D"}.mdi-bag-suitcase::before{content:"\F158B"}.mdi-bag-suitcase-off::before{content:"\F158D"}.mdi-bag-suitcase-off-outline::before{content:"\F158E"}.mdi-bag-suitcase-outline::before{content:"\F158C"}.mdi-baguette::before{content:"\F0F3E"}.mdi-balcony::before{content:"\F1817"}.mdi-balloon::before{content:"\F0A26"}.mdi-ballot::before{content:"\F09C9"}.mdi-ballot-outline::before{content:"\F09CA"}.mdi-ballot-recount::before{content:"\F0C39"}.mdi-ballot-recount-outline::before{content:"\F0C3A"}.mdi-bandage::before{content:"\F0DAF"}.mdi-bank::before{content:"\F0070"}.mdi-bank-check::before{content:"\F1655"}.mdi-bank-circle::before{content:"\F1C03"}.mdi-bank-circle-outline::before{content:"\F1C04"}.mdi-bank-minus::before{content:"\F0DB0"}.mdi-bank-off::before{content:"\F1656"}.mdi-bank-off-outline::before{content:"\F1657"}.mdi-bank-outline::before{content:"\F0E80"}.mdi-bank-plus::before{content:"\F0DB1"}.mdi-bank-remove::before{content:"\F0DB2"}.mdi-bank-transfer::before{content:"\F0A27"}.mdi-bank-transfer-in::before{content:"\F0A28"}.mdi-bank-transfer-out::before{content:"\F0A29"}.mdi-barcode::before{content:"\F0071"}.mdi-barcode-off::before{content:"\F1236"}.mdi-barcode-scan::before{content:"\F0072"}.mdi-barley::before{content:"\F0073"}.mdi-barley-off::before{content:"\F0B5D"}.mdi-barn::before{content:"\F0B5E"}.mdi-barrel::before{content:"\F0074"}.mdi-barrel-outline::before{content:"\F1A28"}.mdi-baseball::before{content:"\F0852"}.mdi-baseball-bat::before{content:"\F0853"}.mdi-baseball-diamond::before{content:"\F15EC"}.mdi-baseball-diamond-outline::before{content:"\F15ED"}.mdi-baseball-outline::before{content:"\F1C5A"}.mdi-bash::before{content:"\F1183"}.mdi-basket::before{content:"\F0076"}.mdi-basket-check::before{content:"\F18E5"}.mdi-basket-check-outline::before{content:"\F18E6"}.mdi-basket-fill::before{content:"\F0077"}.mdi-basket-minus::before{content:"\F1523"}.mdi-basket-minus-outline::before{content:"\F1524"}.mdi-basket-off::before{content:"\F1525"}.mdi-basket-off-outline::before{content:"\F1526"}.mdi-basket-outline::before{content:"\F1181"}.mdi-basket-plus::before{content:"\F1527"}.mdi-basket-plus-outline::before{content:"\F1528"}.mdi-basket-remove::before{content:"\F1529"}.mdi-basket-remove-outline::before{content:"\F152A"}.mdi-basket-unfill::before{content:"\F0078"}.mdi-basketball::before{content:"\F0806"}.mdi-basketball-hoop::before{content:"\F0C3B"}.mdi-basketball-hoop-outline::before{content:"\F0C3C"}.mdi-bat::before{content:"\F0B5F"}.mdi-bathtub::before{content:"\F1818"}.mdi-bathtub-outline::before{content:"\F1819"}.mdi-battery::before{content:"\F0079"}.mdi-battery-10::before{content:"\F007A"}.mdi-battery-10-bluetooth::before{content:"\F093E"}.mdi-battery-20::before{content:"\F007B"}.mdi-battery-20-bluetooth::before{content:"\F093F"}.mdi-battery-30::before{content:"\F007C"}.mdi-battery-30-bluetooth::before{content:"\F0940"}.mdi-battery-40::before{content:"\F007D"}.mdi-battery-40-bluetooth::before{content:"\F0941"}.mdi-battery-50::before{content:"\F007E"}.mdi-battery-50-bluetooth::before{content:"\F0942"}.mdi-battery-60::before{content:"\F007F"}.mdi-battery-60-bluetooth::before{content:"\F0943"}.mdi-battery-70::before{content:"\F0080"}.mdi-battery-70-bluetooth::before{content:"\F0944"}.mdi-battery-80::before{content:"\F0081"}.mdi-battery-80-bluetooth::before{content:"\F0945"}.mdi-battery-90::before{content:"\F0082"}.mdi-battery-90-bluetooth::before{content:"\F0946"}.mdi-battery-alert::before{content:"\F0083"}.mdi-battery-alert-bluetooth::before{content:"\F0947"}.mdi-battery-alert-variant::before{content:"\F10CC"}.mdi-battery-alert-variant-outline::before{content:"\F10CD"}.mdi-battery-arrow-down::before{content:"\F17DE"}.mdi-battery-arrow-down-outline::before{content:"\F17DF"}.mdi-battery-arrow-up::before{content:"\F17E0"}.mdi-battery-arrow-up-outline::before{content:"\F17E1"}.mdi-battery-bluetooth::before{content:"\F0948"}.mdi-battery-bluetooth-variant::before{content:"\F0949"}.mdi-battery-charging::before{content:"\F0084"}.mdi-battery-charging-10::before{content:"\F089C"}.mdi-battery-charging-100::before{content:"\F0085"}.mdi-battery-charging-20::before{content:"\F0086"}.mdi-battery-charging-30::before{content:"\F0087"}.mdi-battery-charging-40::before{content:"\F0088"}.mdi-battery-charging-50::before{content:"\F089D"}.mdi-battery-charging-60::before{content:"\F0089"}.mdi-battery-charging-70::before{content:"\F089E"}.mdi-battery-charging-80::before{content:"\F008A"}.mdi-battery-charging-90::before{content:"\F008B"}.mdi-battery-charging-high::before{content:"\F12A6"}.mdi-battery-charging-low::before{content:"\F12A4"}.mdi-battery-charging-medium::before{content:"\F12A5"}.mdi-battery-charging-outline::before{content:"\F089F"}.mdi-battery-charging-wireless::before{content:"\F0807"}.mdi-battery-charging-wireless-10::before{content:"\F0808"}.mdi-battery-charging-wireless-20::before{content:"\F0809"}.mdi-battery-charging-wireless-30::before{content:"\F080A"}.mdi-battery-charging-wireless-40::before{content:"\F080B"}.mdi-battery-charging-wireless-50::before{content:"\F080C"}.mdi-battery-charging-wireless-60::before{content:"\F080D"}.mdi-battery-charging-wireless-70::before{content:"\F080E"}.mdi-battery-charging-wireless-80::before{content:"\F080F"}.mdi-battery-charging-wireless-90::before{content:"\F0810"}.mdi-battery-charging-wireless-alert::before{content:"\F0811"}.mdi-battery-charging-wireless-outline::before{content:"\F0812"}.mdi-battery-check::before{content:"\F17E2"}.mdi-battery-check-outline::before{content:"\F17E3"}.mdi-battery-clock::before{content:"\F19E5"}.mdi-battery-clock-outline::before{content:"\F19E6"}.mdi-battery-heart::before{content:"\F120F"}.mdi-battery-heart-outline::before{content:"\F1210"}.mdi-battery-heart-variant::before{content:"\F1211"}.mdi-battery-high::before{content:"\F12A3"}.mdi-battery-lock::before{content:"\F179C"}.mdi-battery-lock-open::before{content:"\F179D"}.mdi-battery-low::before{content:"\F12A1"}.mdi-battery-medium::before{content:"\F12A2"}.mdi-battery-minus::before{content:"\F17E4"}.mdi-battery-minus-outline::before{content:"\F17E5"}.mdi-battery-minus-variant::before{content:"\F008C"}.mdi-battery-negative::before{content:"\F008D"}.mdi-battery-off::before{content:"\F125D"}.mdi-battery-off-outline::before{content:"\F125E"}.mdi-battery-outline::before{content:"\F008E"}.mdi-battery-plus::before{content:"\F17E6"}.mdi-battery-plus-outline::before{content:"\F17E7"}.mdi-battery-plus-variant::before{content:"\F008F"}.mdi-battery-positive::before{content:"\F0090"}.mdi-battery-remove::before{content:"\F17E8"}.mdi-battery-remove-outline::before{content:"\F17E9"}.mdi-battery-sync::before{content:"\F1834"}.mdi-battery-sync-outline::before{content:"\F1835"}.mdi-battery-unknown::before{content:"\F0091"}.mdi-battery-unknown-bluetooth::before{content:"\F094A"}.mdi-beach::before{content:"\F0092"}.mdi-beaker::before{content:"\F0CEA"}.mdi-beaker-alert::before{content:"\F1229"}.mdi-beaker-alert-outline::before{content:"\F122A"}.mdi-beaker-check::before{content:"\F122B"}.mdi-beaker-check-outline::before{content:"\F122C"}.mdi-beaker-minus::before{content:"\F122D"}.mdi-beaker-minus-outline::before{content:"\F122E"}.mdi-beaker-outline::before{content:"\F0690"}.mdi-beaker-plus::before{content:"\F122F"}.mdi-beaker-plus-outline::before{content:"\F1230"}.mdi-beaker-question::before{content:"\F1231"}.mdi-beaker-question-outline::before{content:"\F1232"}.mdi-beaker-remove::before{content:"\F1233"}.mdi-beaker-remove-outline::before{content:"\F1234"}.mdi-bed::before{content:"\F02E3"}.mdi-bed-clock::before{content:"\F1B94"}.mdi-bed-double::before{content:"\F0FD4"}.mdi-bed-double-outline::before{content:"\F0FD3"}.mdi-bed-empty::before{content:"\F08A0"}.mdi-bed-king::before{content:"\F0FD2"}.mdi-bed-king-outline::before{content:"\F0FD1"}.mdi-bed-outline::before{content:"\F0099"}.mdi-bed-queen::before{content:"\F0FD0"}.mdi-bed-queen-outline::before{content:"\F0FDB"}.mdi-bed-single::before{content:"\F106D"}.mdi-bed-single-outline::before{content:"\F106E"}.mdi-bee::before{content:"\F0FA1"}.mdi-bee-flower::before{content:"\F0FA2"}.mdi-beehive-off-outline::before{content:"\F13ED"}.mdi-beehive-outline::before{content:"\F10CE"}.mdi-beekeeper::before{content:"\F14E2"}.mdi-beer::before{content:"\F0098"}.mdi-beer-outline::before{content:"\F130C"}.mdi-bell::before{content:"\F009A"}.mdi-bell-alert::before{content:"\F0D59"}.mdi-bell-alert-outline::before{content:"\F0E81"}.mdi-bell-badge::before{content:"\F116B"}.mdi-bell-badge-outline::before{content:"\F0178"}.mdi-bell-cancel::before{content:"\F13E7"}.mdi-bell-cancel-outline::before{content:"\F13E8"}.mdi-bell-check::before{content:"\F11E5"}.mdi-bell-check-outline::before{content:"\F11E6"}.mdi-bell-circle::before{content:"\F0D5A"}.mdi-bell-circle-outline::before{content:"\F0D5B"}.mdi-bell-cog::before{content:"\F1A29"}.mdi-bell-cog-outline::before{content:"\F1A2A"}.mdi-bell-minus::before{content:"\F13E9"}.mdi-bell-minus-outline::before{content:"\F13EA"}.mdi-bell-off::before{content:"\F009B"}.mdi-bell-off-outline::before{content:"\F0A91"}.mdi-bell-outline::before{content:"\F009C"}.mdi-bell-plus::before{content:"\F009D"}.mdi-bell-plus-outline::before{content:"\F0A92"}.mdi-bell-remove::before{content:"\F13EB"}.mdi-bell-remove-outline::before{content:"\F13EC"}.mdi-bell-ring::before{content:"\F009E"}.mdi-bell-ring-outline::before{content:"\F009F"}.mdi-bell-sleep::before{content:"\F00A0"}.mdi-bell-sleep-outline::before{content:"\F0A93"}.mdi-bench::before{content:"\F1C21"}.mdi-bench-back::before{content:"\F1C22"}.mdi-beta::before{content:"\F00A1"}.mdi-betamax::before{content:"\F09CB"}.mdi-biathlon::before{content:"\F0E14"}.mdi-bicycle::before{content:"\F109C"}.mdi-bicycle-basket::before{content:"\F1235"}.mdi-bicycle-cargo::before{content:"\F189C"}.mdi-bicycle-electric::before{content:"\F15B4"}.mdi-bicycle-penny-farthing::before{content:"\F15E9"}.mdi-bike::before{content:"\F00A3"}.mdi-bike-fast::before{content:"\F111F"}.mdi-bike-pedal::before{content:"\F1C23"}.mdi-bike-pedal-clipless::before{content:"\F1C24"}.mdi-bike-pedal-mountain::before{content:"\F1C25"}.mdi-billboard::before{content:"\F1010"}.mdi-billiards::before{content:"\F0B61"}.mdi-billiards-rack::before{content:"\F0B62"}.mdi-binoculars::before{content:"\F00A5"}.mdi-bio::before{content:"\F00A6"}.mdi-biohazard::before{content:"\F00A7"}.mdi-bird::before{content:"\F15C6"}.mdi-bitbucket::before{content:"\F00A8"}.mdi-bitcoin::before{content:"\F0813"}.mdi-black-mesa::before{content:"\F00A9"}.mdi-blender::before{content:"\F0CEB"}.mdi-blender-outline::before{content:"\F181A"}.mdi-blender-software::before{content:"\F00AB"}.mdi-blinds::before{content:"\F00AC"}.mdi-blinds-horizontal::before{content:"\F1A2B"}.mdi-blinds-horizontal-closed::before{content:"\F1A2C"}.mdi-blinds-open::before{content:"\F1011"}.mdi-blinds-vertical::before{content:"\F1A2D"}.mdi-blinds-vertical-closed::before{content:"\F1A2E"}.mdi-block-helper::before{content:"\F00AD"}.mdi-blood-bag::before{content:"\F0CEC"}.mdi-bluetooth::before{content:"\F00AF"}.mdi-bluetooth-audio::before{content:"\F00B0"}.mdi-bluetooth-connect::before{content:"\F00B1"}.mdi-bluetooth-off::before{content:"\F00B2"}.mdi-bluetooth-settings::before{content:"\F00B3"}.mdi-bluetooth-transfer::before{content:"\F00B4"}.mdi-blur::before{content:"\F00B5"}.mdi-blur-linear::before{content:"\F00B6"}.mdi-blur-off::before{content:"\F00B7"}.mdi-blur-radial::before{content:"\F00B8"}.mdi-bolt::before{content:"\F0DB3"}.mdi-bomb::before{content:"\F0691"}.mdi-bomb-off::before{content:"\F06C5"}.mdi-bone::before{content:"\F00B9"}.mdi-bone-off::before{content:"\F19E0"}.mdi-book::before{content:"\F00BA"}.mdi-book-account::before{content:"\F13AD"}.mdi-book-account-outline::before{content:"\F13AE"}.mdi-book-alert::before{content:"\F167C"}.mdi-book-alert-outline::before{content:"\F167D"}.mdi-book-alphabet::before{content:"\F061D"}.mdi-book-arrow-down::before{content:"\F167E"}.mdi-book-arrow-down-outline::before{content:"\F167F"}.mdi-book-arrow-left::before{content:"\F1680"}.mdi-book-arrow-left-outline::before{content:"\F1681"}.mdi-book-arrow-right::before{content:"\F1682"}.mdi-book-arrow-right-outline::before{content:"\F1683"}.mdi-book-arrow-up::before{content:"\F1684"}.mdi-book-arrow-up-outline::before{content:"\F1685"}.mdi-book-cancel::before{content:"\F1686"}.mdi-book-cancel-outline::before{content:"\F1687"}.mdi-book-check::before{content:"\F14F3"}.mdi-book-check-outline::before{content:"\F14F4"}.mdi-book-clock::before{content:"\F1688"}.mdi-book-clock-outline::before{content:"\F1689"}.mdi-book-cog::before{content:"\F168A"}.mdi-book-cog-outline::before{content:"\F168B"}.mdi-book-cross::before{content:"\F00A2"}.mdi-book-edit::before{content:"\F168C"}.mdi-book-edit-outline::before{content:"\F168D"}.mdi-book-education::before{content:"\F16C9"}.mdi-book-education-outline::before{content:"\F16CA"}.mdi-book-heart::before{content:"\F1A1D"}.mdi-book-heart-outline::before{content:"\F1A1E"}.mdi-book-information-variant::before{content:"\F106F"}.mdi-book-lock::before{content:"\F079A"}.mdi-book-lock-open::before{content:"\F079B"}.mdi-book-lock-open-outline::before{content:"\F168E"}.mdi-book-lock-outline::before{content:"\F168F"}.mdi-book-marker::before{content:"\F1690"}.mdi-book-marker-outline::before{content:"\F1691"}.mdi-book-minus::before{content:"\F05D9"}.mdi-book-minus-multiple::before{content:"\F0A94"}.mdi-book-minus-multiple-outline::before{content:"\F090B"}.mdi-book-minus-outline::before{content:"\F1692"}.mdi-book-multiple::before{content:"\F00BB"}.mdi-book-multiple-outline::before{content:"\F0436"}.mdi-book-music::before{content:"\F0067"}.mdi-book-music-outline::before{content:"\F1693"}.mdi-book-off::before{content:"\F1694"}.mdi-book-off-outline::before{content:"\F1695"}.mdi-book-open::before{content:"\F00BD"}.mdi-book-open-blank-variant::before{content:"\F00BE"}.mdi-book-open-blank-variant-outline::before{content:"\F1CCB"}.mdi-book-open-outline::before{content:"\F0B63"}.mdi-book-open-page-variant::before{content:"\F05DA"}.mdi-book-open-page-variant-outline::before{content:"\F15D6"}.mdi-book-open-variant::before{content:"\F14F7"}.mdi-book-open-variant-outline::before{content:"\F1CCC"}.mdi-book-outline::before{content:"\F0B64"}.mdi-book-play::before{content:"\F0E82"}.mdi-book-play-outline::before{content:"\F0E83"}.mdi-book-plus::before{content:"\F05DB"}.mdi-book-plus-multiple::before{content:"\F0A95"}.mdi-book-plus-multiple-outline::before{content:"\F0ADE"}.mdi-book-plus-outline::before{content:"\F1696"}.mdi-book-refresh::before{content:"\F1697"}.mdi-book-refresh-outline::before{content:"\F1698"}.mdi-book-remove::before{content:"\F0A97"}.mdi-book-remove-multiple::before{content:"\F0A96"}.mdi-book-remove-multiple-outline::before{content:"\F04CA"}.mdi-book-remove-outline::before{content:"\F1699"}.mdi-book-search::before{content:"\F0E84"}.mdi-book-search-outline::before{content:"\F0E85"}.mdi-book-settings::before{content:"\F169A"}.mdi-book-settings-outline::before{content:"\F169B"}.mdi-book-sync::before{content:"\F169C"}.mdi-book-sync-outline::before{content:"\F16C8"}.mdi-book-variant::before{content:"\F00BF"}.mdi-bookmark::before{content:"\F00C0"}.mdi-bookmark-box::before{content:"\F1B75"}.mdi-bookmark-box-multiple::before{content:"\F196C"}.mdi-bookmark-box-multiple-outline::before{content:"\F196D"}.mdi-bookmark-box-outline::before{content:"\F1B76"}.mdi-bookmark-check::before{content:"\F00C1"}.mdi-bookmark-check-outline::before{content:"\F137B"}.mdi-bookmark-minus::before{content:"\F09CC"}.mdi-bookmark-minus-outline::before{content:"\F09CD"}.mdi-bookmark-multiple::before{content:"\F0E15"}.mdi-bookmark-multiple-outline::before{content:"\F0E16"}.mdi-bookmark-music::before{content:"\F00C2"}.mdi-bookmark-music-outline::before{content:"\F1379"}.mdi-bookmark-off::before{content:"\F09CE"}.mdi-bookmark-off-outline::before{content:"\F09CF"}.mdi-bookmark-outline::before{content:"\F00C3"}.mdi-bookmark-plus::before{content:"\F00C5"}.mdi-bookmark-plus-outline::before{content:"\F00C4"}.mdi-bookmark-remove::before{content:"\F00C6"}.mdi-bookmark-remove-outline::before{content:"\F137A"}.mdi-bookshelf::before{content:"\F125F"}.mdi-boom-gate::before{content:"\F0E86"}.mdi-boom-gate-alert::before{content:"\F0E87"}.mdi-boom-gate-alert-outline::before{content:"\F0E88"}.mdi-boom-gate-arrow-down::before{content:"\F0E89"}.mdi-boom-gate-arrow-down-outline::before{content:"\F0E8A"}.mdi-boom-gate-arrow-up::before{content:"\F0E8C"}.mdi-boom-gate-arrow-up-outline::before{content:"\F0E8D"}.mdi-boom-gate-outline::before{content:"\F0E8B"}.mdi-boom-gate-up::before{content:"\F17F9"}.mdi-boom-gate-up-outline::before{content:"\F17FA"}.mdi-boombox::before{content:"\F05DC"}.mdi-boomerang::before{content:"\F10CF"}.mdi-bootstrap::before{content:"\F06C6"}.mdi-border-all::before{content:"\F00C7"}.mdi-border-all-variant::before{content:"\F08A1"}.mdi-border-bottom::before{content:"\F00C8"}.mdi-border-bottom-variant::before{content:"\F08A2"}.mdi-border-color::before{content:"\F00C9"}.mdi-border-horizontal::before{content:"\F00CA"}.mdi-border-inside::before{content:"\F00CB"}.mdi-border-left::before{content:"\F00CC"}.mdi-border-left-variant::before{content:"\F08A3"}.mdi-border-none::before{content:"\F00CD"}.mdi-border-none-variant::before{content:"\F08A4"}.mdi-border-outside::before{content:"\F00CE"}.mdi-border-radius::before{content:"\F1AF4"}.mdi-border-right::before{content:"\F00CF"}.mdi-border-right-variant::before{content:"\F08A5"}.mdi-border-style::before{content:"\F00D0"}.mdi-border-top::before{content:"\F00D1"}.mdi-border-top-variant::before{content:"\F08A6"}.mdi-border-vertical::before{content:"\F00D2"}.mdi-bottle-soda::before{content:"\F1070"}.mdi-bottle-soda-classic::before{content:"\F1071"}.mdi-bottle-soda-classic-outline::before{content:"\F1363"}.mdi-bottle-soda-outline::before{content:"\F1072"}.mdi-bottle-tonic::before{content:"\F112E"}.mdi-bottle-tonic-outline::before{content:"\F112F"}.mdi-bottle-tonic-plus::before{content:"\F1130"}.mdi-bottle-tonic-plus-outline::before{content:"\F1131"}.mdi-bottle-tonic-skull::before{content:"\F1132"}.mdi-bottle-tonic-skull-outline::before{content:"\F1133"}.mdi-bottle-wine::before{content:"\F0854"}.mdi-bottle-wine-outline::before{content:"\F1310"}.mdi-bow-arrow::before{content:"\F1841"}.mdi-bow-tie::before{content:"\F0678"}.mdi-bowl::before{content:"\F028E"}.mdi-bowl-mix::before{content:"\F0617"}.mdi-bowl-mix-outline::before{content:"\F02E4"}.mdi-bowl-outline::before{content:"\F02A9"}.mdi-bowling::before{content:"\F00D3"}.mdi-box::before{content:"\F00D4"}.mdi-box-cutter::before{content:"\F00D5"}.mdi-box-cutter-off::before{content:"\F0B4A"}.mdi-box-shadow::before{content:"\F0637"}.mdi-boxing-glove::before{content:"\F0B65"}.mdi-braille::before{content:"\F09D0"}.mdi-brain::before{content:"\F09D1"}.mdi-bread-slice::before{content:"\F0CEE"}.mdi-bread-slice-outline::before{content:"\F0CEF"}.mdi-bridge::before{content:"\F0618"}.mdi-briefcase::before{content:"\F00D6"}.mdi-briefcase-account::before{content:"\F0CF0"}.mdi-briefcase-account-outline::before{content:"\F0CF1"}.mdi-briefcase-arrow-left-right::before{content:"\F1A8D"}.mdi-briefcase-arrow-left-right-outline::before{content:"\F1A8E"}.mdi-briefcase-arrow-up-down::before{content:"\F1A8F"}.mdi-briefcase-arrow-up-down-outline::before{content:"\F1A90"}.mdi-briefcase-check::before{content:"\F00D7"}.mdi-briefcase-check-outline::before{content:"\F131E"}.mdi-briefcase-clock::before{content:"\F10D0"}.mdi-briefcase-clock-outline::before{content:"\F10D1"}.mdi-briefcase-download::before{content:"\F00D8"}.mdi-briefcase-download-outline::before{content:"\F0C3D"}.mdi-briefcase-edit::before{content:"\F0A98"}.mdi-briefcase-edit-outline::before{content:"\F0C3E"}.mdi-briefcase-eye::before{content:"\F17D9"}.mdi-briefcase-eye-outline::before{content:"\F17DA"}.mdi-briefcase-minus::before{content:"\F0A2A"}.mdi-briefcase-minus-outline::before{content:"\F0C3F"}.mdi-briefcase-off::before{content:"\F1658"}.mdi-briefcase-off-outline::before{content:"\F1659"}.mdi-briefcase-outline::before{content:"\F0814"}.mdi-briefcase-plus::before{content:"\F0A2B"}.mdi-briefcase-plus-outline::before{content:"\F0C40"}.mdi-briefcase-remove::before{content:"\F0A2C"}.mdi-briefcase-remove-outline::before{content:"\F0C41"}.mdi-briefcase-search::before{content:"\F0A2D"}.mdi-briefcase-search-outline::before{content:"\F0C42"}.mdi-briefcase-upload::before{content:"\F00D9"}.mdi-briefcase-upload-outline::before{content:"\F0C43"}.mdi-briefcase-variant::before{content:"\F1494"}.mdi-briefcase-variant-off::before{content:"\F165A"}.mdi-briefcase-variant-off-outline::before{content:"\F165B"}.mdi-briefcase-variant-outline::before{content:"\F1495"}.mdi-brightness-1::before{content:"\F00DA"}.mdi-brightness-2::before{content:"\F00DB"}.mdi-brightness-3::before{content:"\F00DC"}.mdi-brightness-4::before{content:"\F00DD"}.mdi-brightness-5::before{content:"\F00DE"}.mdi-brightness-6::before{content:"\F00DF"}.mdi-brightness-7::before{content:"\F00E0"}.mdi-brightness-auto::before{content:"\F00E1"}.mdi-brightness-percent::before{content:"\F0CF2"}.mdi-broadcast::before{content:"\F1720"}.mdi-broadcast-off::before{content:"\F1721"}.mdi-broom::before{content:"\F00E2"}.mdi-brush::before{content:"\F00E3"}.mdi-brush-off::before{content:"\F1771"}.mdi-brush-outline::before{content:"\F1A0D"}.mdi-brush-variant::before{content:"\F1813"}.mdi-bucket::before{content:"\F1415"}.mdi-bucket-outline::before{content:"\F1416"}.mdi-buffet::before{content:"\F0578"}.mdi-bug::before{content:"\F00E4"}.mdi-bug-check::before{content:"\F0A2E"}.mdi-bug-check-outline::before{content:"\F0A2F"}.mdi-bug-outline::before{content:"\F0A30"}.mdi-bug-pause::before{content:"\F1AF5"}.mdi-bug-pause-outline::before{content:"\F1AF6"}.mdi-bug-play::before{content:"\F1AF7"}.mdi-bug-play-outline::before{content:"\F1AF8"}.mdi-bug-stop::before{content:"\F1AF9"}.mdi-bug-stop-outline::before{content:"\F1AFA"}.mdi-bugle::before{content:"\F0DB4"}.mdi-bulkhead-light::before{content:"\F1A2F"}.mdi-bulldozer::before{content:"\F0B22"}.mdi-bullet::before{content:"\F0CF3"}.mdi-bulletin-board::before{content:"\F00E5"}.mdi-bullhorn::before{content:"\F00E6"}.mdi-bullhorn-outline::before{content:"\F0B23"}.mdi-bullhorn-variant::before{content:"\F196E"}.mdi-bullhorn-variant-outline::before{content:"\F196F"}.mdi-bullseye::before{content:"\F05DD"}.mdi-bullseye-arrow::before{content:"\F08C9"}.mdi-bulma::before{content:"\F12E7"}.mdi-bunk-bed::before{content:"\F1302"}.mdi-bunk-bed-outline::before{content:"\F0097"}.mdi-bus::before{content:"\F00E7"}.mdi-bus-alert::before{content:"\F0A99"}.mdi-bus-articulated-end::before{content:"\F079C"}.mdi-bus-articulated-front::before{content:"\F079D"}.mdi-bus-clock::before{content:"\F08CA"}.mdi-bus-double-decker::before{content:"\F079E"}.mdi-bus-electric::before{content:"\F191D"}.mdi-bus-marker::before{content:"\F1212"}.mdi-bus-multiple::before{content:"\F0F3F"}.mdi-bus-school::before{content:"\F079F"}.mdi-bus-side::before{content:"\F07A0"}.mdi-bus-sign::before{content:"\F1CC1"}.mdi-bus-stop::before{content:"\F1012"}.mdi-bus-stop-covered::before{content:"\F1013"}.mdi-bus-stop-uncovered::before{content:"\F1014"}.mdi-bus-wrench::before{content:"\F1CC2"}.mdi-butterfly::before{content:"\F1589"}.mdi-butterfly-outline::before{content:"\F158A"}.mdi-button-cursor::before{content:"\F1B4F"}.mdi-button-pointer::before{content:"\F1B50"}.mdi-cabin-a-frame::before{content:"\F188C"}.mdi-cable-data::before{content:"\F1394"}.mdi-cached::before{content:"\F00E8"}.mdi-cactus::before{content:"\F0DB5"}.mdi-cake::before{content:"\F00E9"}.mdi-cake-layered::before{content:"\F00EA"}.mdi-cake-variant::before{content:"\F00EB"}.mdi-cake-variant-outline::before{content:"\F17F0"}.mdi-calculator::before{content:"\F00EC"}.mdi-calculator-variant::before{content:"\F0A9A"}.mdi-calculator-variant-outline::before{content:"\F15A6"}.mdi-calendar::before{content:"\F00ED"}.mdi-calendar-account::before{content:"\F0ED7"}.mdi-calendar-account-outline::before{content:"\F0ED8"}.mdi-calendar-alert::before{content:"\F0A31"}.mdi-calendar-alert-outline::before{content:"\F1B62"}.mdi-calendar-arrow-left::before{content:"\F1134"}.mdi-calendar-arrow-right::before{content:"\F1135"}.mdi-calendar-badge::before{content:"\F1B9D"}.mdi-calendar-badge-outline::before{content:"\F1B9E"}.mdi-calendar-blank::before{content:"\F00EE"}.mdi-calendar-blank-multiple::before{content:"\F1073"}.mdi-calendar-blank-outline::before{content:"\F0B66"}.mdi-calendar-check::before{content:"\F00EF"}.mdi-calendar-check-outline::before{content:"\F0C44"}.mdi-calendar-clock::before{content:"\F00F0"}.mdi-calendar-clock-outline::before{content:"\F16E1"}.mdi-calendar-collapse-horizontal::before{content:"\F189D"}.mdi-calendar-collapse-horizontal-outline::before{content:"\F1B63"}.mdi-calendar-cursor::before{content:"\F157B"}.mdi-calendar-cursor-outline::before{content:"\F1B64"}.mdi-calendar-edit::before{content:"\F08A7"}.mdi-calendar-edit-outline::before{content:"\F1B65"}.mdi-calendar-end::before{content:"\F166C"}.mdi-calendar-end-outline::before{content:"\F1B66"}.mdi-calendar-expand-horizontal::before{content:"\F189E"}.mdi-calendar-expand-horizontal-outline::before{content:"\F1B67"}.mdi-calendar-export::before{content:"\F0B24"}.mdi-calendar-export-outline::before{content:"\F1B68"}.mdi-calendar-filter::before{content:"\F1A32"}.mdi-calendar-filter-outline::before{content:"\F1A33"}.mdi-calendar-heart::before{content:"\F09D2"}.mdi-calendar-heart-outline::before{content:"\F1B69"}.mdi-calendar-import::before{content:"\F0B25"}.mdi-calendar-import-outline::before{content:"\F1B6A"}.mdi-calendar-lock::before{content:"\F1641"}.mdi-calendar-lock-open::before{content:"\F1B5B"}.mdi-calendar-lock-open-outline::before{content:"\F1B5C"}.mdi-calendar-lock-outline::before{content:"\F1642"}.mdi-calendar-minus::before{content:"\F0D5C"}.mdi-calendar-minus-outline::before{content:"\F1B6B"}.mdi-calendar-month::before{content:"\F0E17"}.mdi-calendar-month-outline::before{content:"\F0E18"}.mdi-calendar-multiple::before{content:"\F00F1"}.mdi-calendar-multiple-check::before{content:"\F00F2"}.mdi-calendar-multiselect::before{content:"\F0A32"}.mdi-calendar-multiselect-outline::before{content:"\F1B55"}.mdi-calendar-outline::before{content:"\F0B67"}.mdi-calendar-plus::before{content:"\F00F3"}.mdi-calendar-plus-outline::before{content:"\F1B6C"}.mdi-calendar-question::before{content:"\F0692"}.mdi-calendar-question-outline::before{content:"\F1B6D"}.mdi-calendar-range::before{content:"\F0679"}.mdi-calendar-range-outline::before{content:"\F0B68"}.mdi-calendar-refresh::before{content:"\F01E1"}.mdi-calendar-refresh-outline::before{content:"\F0203"}.mdi-calendar-remove::before{content:"\F00F4"}.mdi-calendar-remove-outline::before{content:"\F0C45"}.mdi-calendar-search::before{content:"\F094C"}.mdi-calendar-search-outline::before{content:"\F1B6E"}.mdi-calendar-star::before{content:"\F09D3"}.mdi-calendar-star-four-points::before{content:"\F1C1F"}.mdi-calendar-star-outline::before{content:"\F1B53"}.mdi-calendar-start::before{content:"\F166D"}.mdi-calendar-start-outline::before{content:"\F1B6F"}.mdi-calendar-sync::before{content:"\F0E8E"}.mdi-calendar-sync-outline::before{content:"\F0E8F"}.mdi-calendar-text::before{content:"\F00F5"}.mdi-calendar-text-outline::before{content:"\F0C46"}.mdi-calendar-today::before{content:"\F00F6"}.mdi-calendar-today-outline::before{content:"\F1A30"}.mdi-calendar-week::before{content:"\F0A33"}.mdi-calendar-week-begin::before{content:"\F0A34"}.mdi-calendar-week-begin-outline::before{content:"\F1A31"}.mdi-calendar-week-outline::before{content:"\F1A34"}.mdi-calendar-weekend::before{content:"\F0ED9"}.mdi-calendar-weekend-outline::before{content:"\F0EDA"}.mdi-call-made::before{content:"\F00F7"}.mdi-call-merge::before{content:"\F00F8"}.mdi-call-missed::before{content:"\F00F9"}.mdi-call-received::before{content:"\F00FA"}.mdi-call-split::before{content:"\F00FB"}.mdi-camcorder::before{content:"\F00FC"}.mdi-camcorder-off::before{content:"\F00FF"}.mdi-camera::before{content:"\F0100"}.mdi-camera-account::before{content:"\F08CB"}.mdi-camera-burst::before{content:"\F0693"}.mdi-camera-control::before{content:"\F0B69"}.mdi-camera-document::before{content:"\F1871"}.mdi-camera-document-off::before{content:"\F1872"}.mdi-camera-enhance::before{content:"\F0101"}.mdi-camera-enhance-outline::before{content:"\F0B6A"}.mdi-camera-flip::before{content:"\F15D9"}.mdi-camera-flip-outline::before{content:"\F15DA"}.mdi-camera-front::before{content:"\F0102"}.mdi-camera-front-variant::before{content:"\F0103"}.mdi-camera-gopro::before{content:"\F07A1"}.mdi-camera-image::before{content:"\F08CC"}.mdi-camera-iris::before{content:"\F0104"}.mdi-camera-lock::before{content:"\F1A14"}.mdi-camera-lock-open::before{content:"\F1C0D"}.mdi-camera-lock-open-outline::before{content:"\F1C0E"}.mdi-camera-lock-outline::before{content:"\F1A15"}.mdi-camera-marker::before{content:"\F19A7"}.mdi-camera-marker-outline::before{content:"\F19A8"}.mdi-camera-metering-center::before{content:"\F07A2"}.mdi-camera-metering-matrix::before{content:"\F07A3"}.mdi-camera-metering-partial::before{content:"\F07A4"}.mdi-camera-metering-spot::before{content:"\F07A5"}.mdi-camera-off::before{content:"\F05DF"}.mdi-camera-off-outline::before{content:"\F19BF"}.mdi-camera-outline::before{content:"\F0D5D"}.mdi-camera-party-mode::before{content:"\F0105"}.mdi-camera-plus::before{content:"\F0EDB"}.mdi-camera-plus-outline::before{content:"\F0EDC"}.mdi-camera-rear::before{content:"\F0106"}.mdi-camera-rear-variant::before{content:"\F0107"}.mdi-camera-retake::before{content:"\F0E19"}.mdi-camera-retake-outline::before{content:"\F0E1A"}.mdi-camera-switch::before{content:"\F0108"}.mdi-camera-switch-outline::before{content:"\F084A"}.mdi-camera-timer::before{content:"\F0109"}.mdi-camera-wireless::before{content:"\F0DB6"}.mdi-camera-wireless-outline::before{content:"\F0DB7"}.mdi-campfire::before{content:"\F0EDD"}.mdi-cancel::before{content:"\F073A"}.mdi-candelabra::before{content:"\F17D2"}.mdi-candelabra-fire::before{content:"\F17D3"}.mdi-candle::before{content:"\F05E2"}.mdi-candy::before{content:"\F1970"}.mdi-candy-off::before{content:"\F1971"}.mdi-candy-off-outline::before{content:"\F1972"}.mdi-candy-outline::before{content:"\F1973"}.mdi-candycane::before{content:"\F010A"}.mdi-cannabis::before{content:"\F07A6"}.mdi-cannabis-off::before{content:"\F166E"}.mdi-caps-lock::before{content:"\F0A9B"}.mdi-car::before{content:"\F010B"}.mdi-car-2-plus::before{content:"\F1015"}.mdi-car-3-plus::before{content:"\F1016"}.mdi-car-arrow-left::before{content:"\F13B2"}.mdi-car-arrow-right::before{content:"\F13B3"}.mdi-car-back::before{content:"\F0E1B"}.mdi-car-battery::before{content:"\F010C"}.mdi-car-brake-abs::before{content:"\F0C47"}.mdi-car-brake-alert::before{content:"\F0C48"}.mdi-car-brake-fluid-level::before{content:"\F1909"}.mdi-car-brake-hold::before{content:"\F0D5E"}.mdi-car-brake-low-pressure::before{content:"\F190A"}.mdi-car-brake-parking::before{content:"\F0D5F"}.mdi-car-brake-retarder::before{content:"\F1017"}.mdi-car-brake-temperature::before{content:"\F190B"}.mdi-car-brake-worn-linings::before{content:"\F190C"}.mdi-car-child-seat::before{content:"\F0FA3"}.mdi-car-clock::before{content:"\F1974"}.mdi-car-clutch::before{content:"\F1018"}.mdi-car-cog::before{content:"\F13CC"}.mdi-car-connected::before{content:"\F010D"}.mdi-car-convertible::before{content:"\F07A7"}.mdi-car-coolant-level::before{content:"\F1019"}.mdi-car-cruise-control::before{content:"\F0D60"}.mdi-car-defrost-front::before{content:"\F0D61"}.mdi-car-defrost-rear::before{content:"\F0D62"}.mdi-car-door::before{content:"\F0B6B"}.mdi-car-door-lock::before{content:"\F109D"}.mdi-car-door-lock-open::before{content:"\F1C81"}.mdi-car-electric::before{content:"\F0B6C"}.mdi-car-electric-outline::before{content:"\F15B5"}.mdi-car-emergency::before{content:"\F160F"}.mdi-car-esp::before{content:"\F0C49"}.mdi-car-estate::before{content:"\F07A8"}.mdi-car-hatchback::before{content:"\F07A9"}.mdi-car-info::before{content:"\F11BE"}.mdi-car-key::before{content:"\F0B6D"}.mdi-car-lifted-pickup::before{content:"\F152D"}.mdi-car-light-alert::before{content:"\F190D"}.mdi-car-light-dimmed::before{content:"\F0C4A"}.mdi-car-light-fog::before{content:"\F0C4B"}.mdi-car-light-high::before{content:"\F0C4C"}.mdi-car-limousine::before{content:"\F08CD"}.mdi-car-multiple::before{content:"\F0B6E"}.mdi-car-off::before{content:"\F0E1C"}.mdi-car-outline::before{content:"\F14ED"}.mdi-car-parking-lights::before{content:"\F0D63"}.mdi-car-pickup::before{content:"\F07AA"}.mdi-car-search::before{content:"\F1B8D"}.mdi-car-search-outline::before{content:"\F1B8E"}.mdi-car-seat::before{content:"\F0FA4"}.mdi-car-seat-cooler::before{content:"\F0FA5"}.mdi-car-seat-heater::before{content:"\F0FA6"}.mdi-car-select::before{content:"\F1879"}.mdi-car-settings::before{content:"\F13CD"}.mdi-car-shift-pattern::before{content:"\F0F40"}.mdi-car-side::before{content:"\F07AB"}.mdi-car-speed-limiter::before{content:"\F190E"}.mdi-car-sports::before{content:"\F07AC"}.mdi-car-tire-alert::before{content:"\F0C4D"}.mdi-car-traction-control::before{content:"\F0D64"}.mdi-car-turbocharger::before{content:"\F101A"}.mdi-car-wash::before{content:"\F010E"}.mdi-car-windshield::before{content:"\F101B"}.mdi-car-windshield-outline::before{content:"\F101C"}.mdi-car-wireless::before{content:"\F1878"}.mdi-car-wrench::before{content:"\F1814"}.mdi-carabiner::before{content:"\F14C0"}.mdi-caravan::before{content:"\F07AD"}.mdi-card::before{content:"\F0B6F"}.mdi-card-account-details::before{content:"\F05D2"}.mdi-card-account-details-outline::before{content:"\F0DAB"}.mdi-card-account-details-star::before{content:"\F02A3"}.mdi-card-account-details-star-outline::before{content:"\F06DB"}.mdi-card-account-mail::before{content:"\F018E"}.mdi-card-account-mail-outline::before{content:"\F0E98"}.mdi-card-account-phone::before{content:"\F0E99"}.mdi-card-account-phone-outline::before{content:"\F0E9A"}.mdi-card-bulleted::before{content:"\F0B70"}.mdi-card-bulleted-off::before{content:"\F0B71"}.mdi-card-bulleted-off-outline::before{content:"\F0B72"}.mdi-card-bulleted-outline::before{content:"\F0B73"}.mdi-card-bulleted-settings::before{content:"\F0B74"}.mdi-card-bulleted-settings-outline::before{content:"\F0B75"}.mdi-card-minus::before{content:"\F1600"}.mdi-card-minus-outline::before{content:"\F1601"}.mdi-card-multiple::before{content:"\F17F1"}.mdi-card-multiple-outline::before{content:"\F17F2"}.mdi-card-off::before{content:"\F1602"}.mdi-card-off-outline::before{content:"\F1603"}.mdi-card-outline::before{content:"\F0B76"}.mdi-card-plus::before{content:"\F11FF"}.mdi-card-plus-outline::before{content:"\F1200"}.mdi-card-remove::before{content:"\F1604"}.mdi-card-remove-outline::before{content:"\F1605"}.mdi-card-search::before{content:"\F1074"}.mdi-card-search-outline::before{content:"\F1075"}.mdi-card-text::before{content:"\F0B77"}.mdi-card-text-outline::before{content:"\F0B78"}.mdi-cards::before{content:"\F0638"}.mdi-cards-club::before{content:"\F08CE"}.mdi-cards-club-outline::before{content:"\F189F"}.mdi-cards-diamond::before{content:"\F08CF"}.mdi-cards-diamond-outline::before{content:"\F101D"}.mdi-cards-heart::before{content:"\F08D0"}.mdi-cards-heart-outline::before{content:"\F18A0"}.mdi-cards-outline::before{content:"\F0639"}.mdi-cards-playing::before{content:"\F18A1"}.mdi-cards-playing-club::before{content:"\F18A2"}.mdi-cards-playing-club-multiple::before{content:"\F18A3"}.mdi-cards-playing-club-multiple-outline::before{content:"\F18A4"}.mdi-cards-playing-club-outline::before{content:"\F18A5"}.mdi-cards-playing-diamond::before{content:"\F18A6"}.mdi-cards-playing-diamond-multiple::before{content:"\F18A7"}.mdi-cards-playing-diamond-multiple-outline::before{content:"\F18A8"}.mdi-cards-playing-diamond-outline::before{content:"\F18A9"}.mdi-cards-playing-heart::before{content:"\F18AA"}.mdi-cards-playing-heart-multiple::before{content:"\F18AB"}.mdi-cards-playing-heart-multiple-outline::before{content:"\F18AC"}.mdi-cards-playing-heart-outline::before{content:"\F18AD"}.mdi-cards-playing-outline::before{content:"\F063A"}.mdi-cards-playing-spade::before{content:"\F18AE"}.mdi-cards-playing-spade-multiple::before{content:"\F18AF"}.mdi-cards-playing-spade-multiple-outline::before{content:"\F18B0"}.mdi-cards-playing-spade-outline::before{content:"\F18B1"}.mdi-cards-spade::before{content:"\F08D1"}.mdi-cards-spade-outline::before{content:"\F18B2"}.mdi-cards-variant::before{content:"\F06C7"}.mdi-carrot::before{content:"\F010F"}.mdi-cart::before{content:"\F0110"}.mdi-cart-arrow-down::before{content:"\F0D66"}.mdi-cart-arrow-right::before{content:"\F0C4E"}.mdi-cart-arrow-up::before{content:"\F0D67"}.mdi-cart-check::before{content:"\F15EA"}.mdi-cart-heart::before{content:"\F18E0"}.mdi-cart-minus::before{content:"\F0D68"}.mdi-cart-off::before{content:"\F066B"}.mdi-cart-outline::before{content:"\F0111"}.mdi-cart-percent::before{content:"\F1BAE"}.mdi-cart-plus::before{content:"\F0112"}.mdi-cart-remove::before{content:"\F0D69"}.mdi-cart-variant::before{content:"\F15EB"}.mdi-case-sensitive-alt::before{content:"\F0113"}.mdi-cash::before{content:"\F0114"}.mdi-cash-100::before{content:"\F0115"}.mdi-cash-check::before{content:"\F14EE"}.mdi-cash-clock::before{content:"\F1A91"}.mdi-cash-edit::before{content:"\F1CAB"}.mdi-cash-fast::before{content:"\F185C"}.mdi-cash-lock::before{content:"\F14EA"}.mdi-cash-lock-open::before{content:"\F14EB"}.mdi-cash-marker::before{content:"\F0DB8"}.mdi-cash-minus::before{content:"\F1260"}.mdi-cash-multiple::before{content:"\F0116"}.mdi-cash-off::before{content:"\F1C79"}.mdi-cash-plus::before{content:"\F1261"}.mdi-cash-refund::before{content:"\F0A9C"}.mdi-cash-register::before{content:"\F0CF4"}.mdi-cash-remove::before{content:"\F1262"}.mdi-cash-sync::before{content:"\F1A92"}.mdi-cassette::before{content:"\F09D4"}.mdi-cast::before{content:"\F0118"}.mdi-cast-audio::before{content:"\F101E"}.mdi-cast-audio-variant::before{content:"\F1749"}.mdi-cast-connected::before{content:"\F0119"}.mdi-cast-education::before{content:"\F0E1D"}.mdi-cast-off::before{content:"\F078A"}.mdi-cast-variant::before{content:"\F001F"}.mdi-castle::before{content:"\F011A"}.mdi-cat::before{content:"\F011B"}.mdi-cctv::before{content:"\F07AE"}.mdi-cctv-off::before{content:"\F185F"}.mdi-ceiling-fan::before{content:"\F1797"}.mdi-ceiling-fan-light::before{content:"\F1798"}.mdi-ceiling-light::before{content:"\F0769"}.mdi-ceiling-light-multiple::before{content:"\F18DD"}.mdi-ceiling-light-multiple-outline::before{content:"\F18DE"}.mdi-ceiling-light-outline::before{content:"\F17C7"}.mdi-cellphone::before{content:"\F011C"}.mdi-cellphone-arrow-down::before{content:"\F09D5"}.mdi-cellphone-arrow-down-variant::before{content:"\F19C5"}.mdi-cellphone-basic::before{content:"\F011E"}.mdi-cellphone-charging::before{content:"\F1397"}.mdi-cellphone-check::before{content:"\F17FD"}.mdi-cellphone-cog::before{content:"\F0951"}.mdi-cellphone-dock::before{content:"\F011F"}.mdi-cellphone-information::before{content:"\F0F41"}.mdi-cellphone-key::before{content:"\F094E"}.mdi-cellphone-link::before{content:"\F0121"}.mdi-cellphone-link-off::before{content:"\F0122"}.mdi-cellphone-lock::before{content:"\F094F"}.mdi-cellphone-marker::before{content:"\F183A"}.mdi-cellphone-message::before{content:"\F08D3"}.mdi-cellphone-message-off::before{content:"\F10D2"}.mdi-cellphone-nfc::before{content:"\F0E90"}.mdi-cellphone-nfc-off::before{content:"\F12D8"}.mdi-cellphone-off::before{content:"\F0950"}.mdi-cellphone-play::before{content:"\F101F"}.mdi-cellphone-remove::before{content:"\F094D"}.mdi-cellphone-screenshot::before{content:"\F0A35"}.mdi-cellphone-settings::before{content:"\F0123"}.mdi-cellphone-sound::before{content:"\F0952"}.mdi-cellphone-text::before{content:"\F08D2"}.mdi-cellphone-wireless::before{content:"\F0815"}.mdi-centos::before{content:"\F111A"}.mdi-certificate::before{content:"\F0124"}.mdi-certificate-outline::before{content:"\F1188"}.mdi-chair-rolling::before{content:"\F0F48"}.mdi-chair-school::before{content:"\F0125"}.mdi-chandelier::before{content:"\F1793"}.mdi-charity::before{content:"\F0C4F"}.mdi-charity-search::before{content:"\F1C82"}.mdi-chart-arc::before{content:"\F0126"}.mdi-chart-areaspline::before{content:"\F0127"}.mdi-chart-areaspline-variant::before{content:"\F0E91"}.mdi-chart-bar::before{content:"\F0128"}.mdi-chart-bar-stacked::before{content:"\F076A"}.mdi-chart-bell-curve::before{content:"\F0C50"}.mdi-chart-bell-curve-cumulative::before{content:"\F0FA7"}.mdi-chart-box::before{content:"\F154D"}.mdi-chart-box-multiple::before{content:"\F1CCD"}.mdi-chart-box-multiple-outline::before{content:"\F1CCE"}.mdi-chart-box-outline::before{content:"\F154E"}.mdi-chart-box-plus-outline::before{content:"\F154F"}.mdi-chart-bubble::before{content:"\F05E3"}.mdi-chart-donut::before{content:"\F07AF"}.mdi-chart-donut-variant::before{content:"\F07B0"}.mdi-chart-gantt::before{content:"\F066C"}.mdi-chart-histogram::before{content:"\F0129"}.mdi-chart-line::before{content:"\F012A"}.mdi-chart-line-stacked::before{content:"\F076B"}.mdi-chart-line-variant::before{content:"\F07B1"}.mdi-chart-multiline::before{content:"\F08D4"}.mdi-chart-multiple::before{content:"\F1213"}.mdi-chart-pie::before{content:"\F012B"}.mdi-chart-pie-outline::before{content:"\F1BDF"}.mdi-chart-ppf::before{content:"\F1380"}.mdi-chart-sankey::before{content:"\F11DF"}.mdi-chart-sankey-variant::before{content:"\F11E0"}.mdi-chart-scatter-plot::before{content:"\F0E92"}.mdi-chart-scatter-plot-hexbin::before{content:"\F066D"}.mdi-chart-timeline::before{content:"\F066E"}.mdi-chart-timeline-variant::before{content:"\F0E93"}.mdi-chart-timeline-variant-shimmer::before{content:"\F15B6"}.mdi-chart-tree::before{content:"\F0E94"}.mdi-chart-waterfall::before{content:"\F1918"}.mdi-chat::before{content:"\F0B79"}.mdi-chat-alert::before{content:"\F0B7A"}.mdi-chat-alert-outline::before{content:"\F12C9"}.mdi-chat-minus::before{content:"\F1410"}.mdi-chat-minus-outline::before{content:"\F1413"}.mdi-chat-outline::before{content:"\F0EDE"}.mdi-chat-plus::before{content:"\F140F"}.mdi-chat-plus-outline::before{content:"\F1412"}.mdi-chat-processing::before{content:"\F0B7B"}.mdi-chat-processing-outline::before{content:"\F12CA"}.mdi-chat-question::before{content:"\F1738"}.mdi-chat-question-outline::before{content:"\F1739"}.mdi-chat-remove::before{content:"\F1411"}.mdi-chat-remove-outline::before{content:"\F1414"}.mdi-chat-sleep::before{content:"\F12D1"}.mdi-chat-sleep-outline::before{content:"\F12D2"}.mdi-check::before{content:"\F012C"}.mdi-check-all::before{content:"\F012D"}.mdi-check-bold::before{content:"\F0E1E"}.mdi-check-circle::before{content:"\F05E0"}.mdi-check-circle-outline::before{content:"\F05E1"}.mdi-check-decagram::before{content:"\F0791"}.mdi-check-decagram-outline::before{content:"\F1740"}.mdi-check-network::before{content:"\F0C53"}.mdi-check-network-outline::before{content:"\F0C54"}.mdi-check-outline::before{content:"\F0855"}.mdi-check-underline::before{content:"\F0E1F"}.mdi-check-underline-circle::before{content:"\F0E20"}.mdi-check-underline-circle-outline::before{content:"\F0E21"}.mdi-checkbook::before{content:"\F0A9D"}.mdi-checkbook-arrow-left::before{content:"\F1C1D"}.mdi-checkbook-arrow-right::before{content:"\F1C1E"}.mdi-checkbox-blank::before{content:"\F012E"}.mdi-checkbox-blank-badge::before{content:"\F1176"}.mdi-checkbox-blank-badge-outline::before{content:"\F0117"}.mdi-checkbox-blank-circle::before{content:"\F012F"}.mdi-checkbox-blank-circle-outline::before{content:"\F0130"}.mdi-checkbox-blank-off::before{content:"\F12EC"}.mdi-checkbox-blank-off-outline::before{content:"\F12ED"}.mdi-checkbox-blank-outline::before{content:"\F0131"}.mdi-checkbox-intermediate::before{content:"\F0856"}.mdi-checkbox-intermediate-variant::before{content:"\F1B54"}.mdi-checkbox-marked::before{content:"\F0132"}.mdi-checkbox-marked-circle::before{content:"\F0133"}.mdi-checkbox-marked-circle-auto-outline::before{content:"\F1C26"}.mdi-checkbox-marked-circle-minus-outline::before{content:"\F1C27"}.mdi-checkbox-marked-circle-outline::before{content:"\F0134"}.mdi-checkbox-marked-circle-plus-outline::before{content:"\F1927"}.mdi-checkbox-marked-outline::before{content:"\F0135"}.mdi-checkbox-multiple-blank::before{content:"\F0136"}.mdi-checkbox-multiple-blank-circle::before{content:"\F063B"}.mdi-checkbox-multiple-blank-circle-outline::before{content:"\F063C"}.mdi-checkbox-multiple-blank-outline::before{content:"\F0137"}.mdi-checkbox-multiple-marked::before{content:"\F0138"}.mdi-checkbox-multiple-marked-circle::before{content:"\F063D"}.mdi-checkbox-multiple-marked-circle-outline::before{content:"\F063E"}.mdi-checkbox-multiple-marked-outline::before{content:"\F0139"}.mdi-checkbox-multiple-outline::before{content:"\F0C51"}.mdi-checkbox-outline::before{content:"\F0C52"}.mdi-checkerboard::before{content:"\F013A"}.mdi-checkerboard-minus::before{content:"\F1202"}.mdi-checkerboard-plus::before{content:"\F1201"}.mdi-checkerboard-remove::before{content:"\F1203"}.mdi-cheese::before{content:"\F12B9"}.mdi-cheese-off::before{content:"\F13EE"}.mdi-chef-hat::before{content:"\F0B7C"}.mdi-chemical-weapon::before{content:"\F013B"}.mdi-chess-bishop::before{content:"\F085C"}.mdi-chess-king::before{content:"\F0857"}.mdi-chess-knight::before{content:"\F0858"}.mdi-chess-pawn::before{content:"\F0859"}.mdi-chess-queen::before{content:"\F085A"}.mdi-chess-rook::before{content:"\F085B"}.mdi-chevron-double-down::before{content:"\F013C"}.mdi-chevron-double-left::before{content:"\F013D"}.mdi-chevron-double-right::before{content:"\F013E"}.mdi-chevron-double-up::before{content:"\F013F"}.mdi-chevron-down::before{content:"\F0140"}.mdi-chevron-down-box::before{content:"\F09D6"}.mdi-chevron-down-box-outline::before{content:"\F09D7"}.mdi-chevron-down-circle::before{content:"\F0B26"}.mdi-chevron-down-circle-outline::before{content:"\F0B27"}.mdi-chevron-left::before{content:"\F0141"}.mdi-chevron-left-box::before{content:"\F09D8"}.mdi-chevron-left-box-outline::before{content:"\F09D9"}.mdi-chevron-left-circle::before{content:"\F0B28"}.mdi-chevron-left-circle-outline::before{content:"\F0B29"}.mdi-chevron-right::before{content:"\F0142"}.mdi-chevron-right-box::before{content:"\F09DA"}.mdi-chevron-right-box-outline::before{content:"\F09DB"}.mdi-chevron-right-circle::before{content:"\F0B2A"}.mdi-chevron-right-circle-outline::before{content:"\F0B2B"}.mdi-chevron-triple-down::before{content:"\F0DB9"}.mdi-chevron-triple-left::before{content:"\F0DBA"}.mdi-chevron-triple-right::before{content:"\F0DBB"}.mdi-chevron-triple-up::before{content:"\F0DBC"}.mdi-chevron-up::before{content:"\F0143"}.mdi-chevron-up-box::before{content:"\F09DC"}.mdi-chevron-up-box-outline::before{content:"\F09DD"}.mdi-chevron-up-circle::before{content:"\F0B2C"}.mdi-chevron-up-circle-outline::before{content:"\F0B2D"}.mdi-chili-alert::before{content:"\F17EA"}.mdi-chili-alert-outline::before{content:"\F17EB"}.mdi-chili-hot::before{content:"\F07B2"}.mdi-chili-hot-outline::before{content:"\F17EC"}.mdi-chili-medium::before{content:"\F07B3"}.mdi-chili-medium-outline::before{content:"\F17ED"}.mdi-chili-mild::before{content:"\F07B4"}.mdi-chili-mild-outline::before{content:"\F17EE"}.mdi-chili-off::before{content:"\F1467"}.mdi-chili-off-outline::before{content:"\F17EF"}.mdi-chip::before{content:"\F061A"}.mdi-church::before{content:"\F0144"}.mdi-church-outline::before{content:"\F1B02"}.mdi-cigar::before{content:"\F1189"}.mdi-cigar-off::before{content:"\F141B"}.mdi-circle::before{content:"\F0765"}.mdi-circle-box::before{content:"\F15DC"}.mdi-circle-box-outline::before{content:"\F15DD"}.mdi-circle-double::before{content:"\F0E95"}.mdi-circle-edit-outline::before{content:"\F08D5"}.mdi-circle-expand::before{content:"\F0E96"}.mdi-circle-half::before{content:"\F1395"}.mdi-circle-half-full::before{content:"\F1396"}.mdi-circle-medium::before{content:"\F09DE"}.mdi-circle-multiple::before{content:"\F0B38"}.mdi-circle-multiple-outline::before{content:"\F0695"}.mdi-circle-off-outline::before{content:"\F10D3"}.mdi-circle-opacity::before{content:"\F1853"}.mdi-circle-outline::before{content:"\F0766"}.mdi-circle-slice-1::before{content:"\F0A9E"}.mdi-circle-slice-2::before{content:"\F0A9F"}.mdi-circle-slice-3::before{content:"\F0AA0"}.mdi-circle-slice-4::before{content:"\F0AA1"}.mdi-circle-slice-5::before{content:"\F0AA2"}.mdi-circle-slice-6::before{content:"\F0AA3"}.mdi-circle-slice-7::before{content:"\F0AA4"}.mdi-circle-slice-8::before{content:"\F0AA5"}.mdi-circle-small::before{content:"\F09DF"}.mdi-circular-saw::before{content:"\F0E22"}.mdi-city::before{content:"\F0146"}.mdi-city-switch::before{content:"\F1C28"}.mdi-city-variant::before{content:"\F0A36"}.mdi-city-variant-outline::before{content:"\F0A37"}.mdi-clipboard::before{content:"\F0147"}.mdi-clipboard-account::before{content:"\F0148"}.mdi-clipboard-account-outline::before{content:"\F0C55"}.mdi-clipboard-alert::before{content:"\F0149"}.mdi-clipboard-alert-outline::before{content:"\F0CF7"}.mdi-clipboard-arrow-down::before{content:"\F014A"}.mdi-clipboard-arrow-down-outline::before{content:"\F0C56"}.mdi-clipboard-arrow-left::before{content:"\F014B"}.mdi-clipboard-arrow-left-outline::before{content:"\F0CF8"}.mdi-clipboard-arrow-right::before{content:"\F0CF9"}.mdi-clipboard-arrow-right-outline::before{content:"\F0CFA"}.mdi-clipboard-arrow-up::before{content:"\F0C57"}.mdi-clipboard-arrow-up-outline::before{content:"\F0C58"}.mdi-clipboard-check::before{content:"\F014E"}.mdi-clipboard-check-multiple::before{content:"\F1263"}.mdi-clipboard-check-multiple-outline::before{content:"\F1264"}.mdi-clipboard-check-outline::before{content:"\F08A8"}.mdi-clipboard-clock::before{content:"\F16E2"}.mdi-clipboard-clock-outline::before{content:"\F16E3"}.mdi-clipboard-edit::before{content:"\F14E5"}.mdi-clipboard-edit-outline::before{content:"\F14E6"}.mdi-clipboard-file::before{content:"\F1265"}.mdi-clipboard-file-outline::before{content:"\F1266"}.mdi-clipboard-flow::before{content:"\F06C8"}.mdi-clipboard-flow-outline::before{content:"\F1117"}.mdi-clipboard-list::before{content:"\F10D4"}.mdi-clipboard-list-outline::before{content:"\F10D5"}.mdi-clipboard-minus::before{content:"\F1618"}.mdi-clipboard-minus-outline::before{content:"\F1619"}.mdi-clipboard-multiple::before{content:"\F1267"}.mdi-clipboard-multiple-outline::before{content:"\F1268"}.mdi-clipboard-off::before{content:"\F161A"}.mdi-clipboard-off-outline::before{content:"\F161B"}.mdi-clipboard-outline::before{content:"\F014C"}.mdi-clipboard-play::before{content:"\F0C59"}.mdi-clipboard-play-multiple::before{content:"\F1269"}.mdi-clipboard-play-multiple-outline::before{content:"\F126A"}.mdi-clipboard-play-outline::before{content:"\F0C5A"}.mdi-clipboard-plus::before{content:"\F0751"}.mdi-clipboard-plus-outline::before{content:"\F131F"}.mdi-clipboard-pulse::before{content:"\F085D"}.mdi-clipboard-pulse-outline::before{content:"\F085E"}.mdi-clipboard-remove::before{content:"\F161C"}.mdi-clipboard-remove-outline::before{content:"\F161D"}.mdi-clipboard-search::before{content:"\F161E"}.mdi-clipboard-search-outline::before{content:"\F161F"}.mdi-clipboard-text::before{content:"\F014D"}.mdi-clipboard-text-clock::before{content:"\F18F9"}.mdi-clipboard-text-clock-outline::before{content:"\F18FA"}.mdi-clipboard-text-multiple::before{content:"\F126B"}.mdi-clipboard-text-multiple-outline::before{content:"\F126C"}.mdi-clipboard-text-off::before{content:"\F1620"}.mdi-clipboard-text-off-outline::before{content:"\F1621"}.mdi-clipboard-text-outline::before{content:"\F0A38"}.mdi-clipboard-text-play::before{content:"\F0C5B"}.mdi-clipboard-text-play-outline::before{content:"\F0C5C"}.mdi-clipboard-text-search::before{content:"\F1622"}.mdi-clipboard-text-search-outline::before{content:"\F1623"}.mdi-clippy::before{content:"\F014F"}.mdi-clock::before{content:"\F0954"}.mdi-clock-alert::before{content:"\F0955"}.mdi-clock-alert-outline::before{content:"\F05CE"}.mdi-clock-check::before{content:"\F0FA8"}.mdi-clock-check-outline::before{content:"\F0FA9"}.mdi-clock-digital::before{content:"\F0E97"}.mdi-clock-edit::before{content:"\F19BA"}.mdi-clock-edit-outline::before{content:"\F19BB"}.mdi-clock-end::before{content:"\F0151"}.mdi-clock-fast::before{content:"\F0152"}.mdi-clock-in::before{content:"\F0153"}.mdi-clock-minus::before{content:"\F1863"}.mdi-clock-minus-outline::before{content:"\F1864"}.mdi-clock-out::before{content:"\F0154"}.mdi-clock-outline::before{content:"\F0150"}.mdi-clock-plus::before{content:"\F1861"}.mdi-clock-plus-outline::before{content:"\F1862"}.mdi-clock-remove::before{content:"\F1865"}.mdi-clock-remove-outline::before{content:"\F1866"}.mdi-clock-star-four-points::before{content:"\F1C29"}.mdi-clock-star-four-points-outline::before{content:"\F1C2A"}.mdi-clock-start::before{content:"\F0155"}.mdi-clock-time-eight::before{content:"\F1446"}.mdi-clock-time-eight-outline::before{content:"\F1452"}.mdi-clock-time-eleven::before{content:"\F1449"}.mdi-clock-time-eleven-outline::before{content:"\F1455"}.mdi-clock-time-five::before{content:"\F1443"}.mdi-clock-time-five-outline::before{content:"\F144F"}.mdi-clock-time-four::before{content:"\F1442"}.mdi-clock-time-four-outline::before{content:"\F144E"}.mdi-clock-time-nine::before{content:"\F1447"}.mdi-clock-time-nine-outline::before{content:"\F1453"}.mdi-clock-time-one::before{content:"\F143F"}.mdi-clock-time-one-outline::before{content:"\F144B"}.mdi-clock-time-seven::before{content:"\F1445"}.mdi-clock-time-seven-outline::before{content:"\F1451"}.mdi-clock-time-six::before{content:"\F1444"}.mdi-clock-time-six-outline::before{content:"\F1450"}.mdi-clock-time-ten::before{content:"\F1448"}.mdi-clock-time-ten-outline::before{content:"\F1454"}.mdi-clock-time-three::before{content:"\F1441"}.mdi-clock-time-three-outline::before{content:"\F144D"}.mdi-clock-time-twelve::before{content:"\F144A"}.mdi-clock-time-twelve-outline::before{content:"\F1456"}.mdi-clock-time-two::before{content:"\F1440"}.mdi-clock-time-two-outline::before{content:"\F144C"}.mdi-close::before{content:"\F0156"}.mdi-close-box::before{content:"\F0157"}.mdi-close-box-multiple::before{content:"\F0C5D"}.mdi-close-box-multiple-outline::before{content:"\F0C5E"}.mdi-close-box-outline::before{content:"\F0158"}.mdi-close-circle::before{content:"\F0159"}.mdi-close-circle-multiple::before{content:"\F062A"}.mdi-close-circle-multiple-outline::before{content:"\F0883"}.mdi-close-circle-outline::before{content:"\F015A"}.mdi-close-network::before{content:"\F015B"}.mdi-close-network-outline::before{content:"\F0C5F"}.mdi-close-octagon::before{content:"\F015C"}.mdi-close-octagon-outline::before{content:"\F015D"}.mdi-close-outline::before{content:"\F06C9"}.mdi-close-thick::before{content:"\F1398"}.mdi-closed-caption::before{content:"\F015E"}.mdi-closed-caption-outline::before{content:"\F0DBD"}.mdi-cloud::before{content:"\F015F"}.mdi-cloud-alert::before{content:"\F09E0"}.mdi-cloud-alert-outline::before{content:"\F1BE0"}.mdi-cloud-arrow-down::before{content:"\F1BE1"}.mdi-cloud-arrow-down-outline::before{content:"\F1BE2"}.mdi-cloud-arrow-left::before{content:"\F1BE3"}.mdi-cloud-arrow-left-outline::before{content:"\F1BE4"}.mdi-cloud-arrow-right::before{content:"\F1BE5"}.mdi-cloud-arrow-right-outline::before{content:"\F1BE6"}.mdi-cloud-arrow-up::before{content:"\F1BE7"}.mdi-cloud-arrow-up-outline::before{content:"\F1BE8"}.mdi-cloud-braces::before{content:"\F07B5"}.mdi-cloud-cancel::before{content:"\F1BE9"}.mdi-cloud-cancel-outline::before{content:"\F1BEA"}.mdi-cloud-check::before{content:"\F1BEB"}.mdi-cloud-check-outline::before{content:"\F1BEC"}.mdi-cloud-check-variant::before{content:"\F0160"}.mdi-cloud-check-variant-outline::before{content:"\F12CC"}.mdi-cloud-circle::before{content:"\F0161"}.mdi-cloud-circle-outline::before{content:"\F1BED"}.mdi-cloud-clock::before{content:"\F1BEE"}.mdi-cloud-clock-outline::before{content:"\F1BEF"}.mdi-cloud-cog::before{content:"\F1BF0"}.mdi-cloud-cog-outline::before{content:"\F1BF1"}.mdi-cloud-download::before{content:"\F0162"}.mdi-cloud-download-outline::before{content:"\F0B7D"}.mdi-cloud-key::before{content:"\F1CA1"}.mdi-cloud-key-outline::before{content:"\F1CA2"}.mdi-cloud-lock::before{content:"\F11F1"}.mdi-cloud-lock-open::before{content:"\F1BF2"}.mdi-cloud-lock-open-outline::before{content:"\F1BF3"}.mdi-cloud-lock-outline::before{content:"\F11F2"}.mdi-cloud-minus::before{content:"\F1BF4"}.mdi-cloud-minus-outline::before{content:"\F1BF5"}.mdi-cloud-off::before{content:"\F1BF6"}.mdi-cloud-off-outline::before{content:"\F0164"}.mdi-cloud-outline::before{content:"\F0163"}.mdi-cloud-percent::before{content:"\F1A35"}.mdi-cloud-percent-outline::before{content:"\F1A36"}.mdi-cloud-plus::before{content:"\F1BF7"}.mdi-cloud-plus-outline::before{content:"\F1BF8"}.mdi-cloud-print::before{content:"\F0165"}.mdi-cloud-print-outline::before{content:"\F0166"}.mdi-cloud-question::before{content:"\F0A39"}.mdi-cloud-question-outline::before{content:"\F1BF9"}.mdi-cloud-refresh::before{content:"\F1BFA"}.mdi-cloud-refresh-outline::before{content:"\F1BFB"}.mdi-cloud-refresh-variant::before{content:"\F052A"}.mdi-cloud-refresh-variant-outline::before{content:"\F1BFC"}.mdi-cloud-remove::before{content:"\F1BFD"}.mdi-cloud-remove-outline::before{content:"\F1BFE"}.mdi-cloud-search::before{content:"\F0956"}.mdi-cloud-search-outline::before{content:"\F0957"}.mdi-cloud-sync::before{content:"\F063F"}.mdi-cloud-sync-outline::before{content:"\F12D6"}.mdi-cloud-tags::before{content:"\F07B6"}.mdi-cloud-upload::before{content:"\F0167"}.mdi-cloud-upload-outline::before{content:"\F0B7E"}.mdi-clouds::before{content:"\F1B95"}.mdi-clover::before{content:"\F0816"}.mdi-clover-outline::before{content:"\F1C62"}.mdi-coach-lamp::before{content:"\F1020"}.mdi-coach-lamp-variant::before{content:"\F1A37"}.mdi-coat-rack::before{content:"\F109E"}.mdi-code-array::before{content:"\F0168"}.mdi-code-block-braces::before{content:"\F1C83"}.mdi-code-block-brackets::before{content:"\F1C84"}.mdi-code-block-parentheses::before{content:"\F1C85"}.mdi-code-block-tags::before{content:"\F1C86"}.mdi-code-braces::before{content:"\F0169"}.mdi-code-braces-box::before{content:"\F10D6"}.mdi-code-brackets::before{content:"\F016A"}.mdi-code-equal::before{content:"\F016B"}.mdi-code-greater-than::before{content:"\F016C"}.mdi-code-greater-than-or-equal::before{content:"\F016D"}.mdi-code-json::before{content:"\F0626"}.mdi-code-less-than::before{content:"\F016E"}.mdi-code-less-than-or-equal::before{content:"\F016F"}.mdi-code-not-equal::before{content:"\F0170"}.mdi-code-not-equal-variant::before{content:"\F0171"}.mdi-code-parentheses::before{content:"\F0172"}.mdi-code-parentheses-box::before{content:"\F10D7"}.mdi-code-string::before{content:"\F0173"}.mdi-code-tags::before{content:"\F0174"}.mdi-code-tags-check::before{content:"\F0694"}.mdi-codepen::before{content:"\F0175"}.mdi-coffee::before{content:"\F0176"}.mdi-coffee-maker::before{content:"\F109F"}.mdi-coffee-maker-check::before{content:"\F1931"}.mdi-coffee-maker-check-outline::before{content:"\F1932"}.mdi-coffee-maker-outline::before{content:"\F181B"}.mdi-coffee-off::before{content:"\F0FAA"}.mdi-coffee-off-outline::before{content:"\F0FAB"}.mdi-coffee-outline::before{content:"\F06CA"}.mdi-coffee-to-go::before{content:"\F0177"}.mdi-coffee-to-go-outline::before{content:"\F130E"}.mdi-coffin::before{content:"\F0B7F"}.mdi-cog::before{content:"\F0493"}.mdi-cog-box::before{content:"\F0494"}.mdi-cog-clockwise::before{content:"\F11DD"}.mdi-cog-counterclockwise::before{content:"\F11DE"}.mdi-cog-off::before{content:"\F13CE"}.mdi-cog-off-outline::before{content:"\F13CF"}.mdi-cog-outline::before{content:"\F08BB"}.mdi-cog-pause::before{content:"\F1933"}.mdi-cog-pause-outline::before{content:"\F1934"}.mdi-cog-play::before{content:"\F1935"}.mdi-cog-play-outline::before{content:"\F1936"}.mdi-cog-refresh::before{content:"\F145E"}.mdi-cog-refresh-outline::before{content:"\F145F"}.mdi-cog-stop::before{content:"\F1937"}.mdi-cog-stop-outline::before{content:"\F1938"}.mdi-cog-sync::before{content:"\F1460"}.mdi-cog-sync-outline::before{content:"\F1461"}.mdi-cog-transfer::before{content:"\F105B"}.mdi-cog-transfer-outline::before{content:"\F105C"}.mdi-cogs::before{content:"\F08D6"}.mdi-collage::before{content:"\F0640"}.mdi-collapse-all::before{content:"\F0AA6"}.mdi-collapse-all-outline::before{content:"\F0AA7"}.mdi-color-helper::before{content:"\F0179"}.mdi-comma::before{content:"\F0E23"}.mdi-comma-box::before{content:"\F0E2B"}.mdi-comma-box-outline::before{content:"\F0E24"}.mdi-comma-circle::before{content:"\F0E25"}.mdi-comma-circle-outline::before{content:"\F0E26"}.mdi-comment::before{content:"\F017A"}.mdi-comment-account::before{content:"\F017B"}.mdi-comment-account-outline::before{content:"\F017C"}.mdi-comment-alert::before{content:"\F017D"}.mdi-comment-alert-outline::before{content:"\F017E"}.mdi-comment-arrow-left::before{content:"\F09E1"}.mdi-comment-arrow-left-outline::before{content:"\F09E2"}.mdi-comment-arrow-right::before{content:"\F09E3"}.mdi-comment-arrow-right-outline::before{content:"\F09E4"}.mdi-comment-bookmark::before{content:"\F15AE"}.mdi-comment-bookmark-outline::before{content:"\F15AF"}.mdi-comment-check::before{content:"\F017F"}.mdi-comment-check-outline::before{content:"\F0180"}.mdi-comment-edit::before{content:"\F11BF"}.mdi-comment-edit-outline::before{content:"\F12C4"}.mdi-comment-eye::before{content:"\F0A3A"}.mdi-comment-eye-outline::before{content:"\F0A3B"}.mdi-comment-flash::before{content:"\F15B0"}.mdi-comment-flash-outline::before{content:"\F15B1"}.mdi-comment-minus::before{content:"\F15DF"}.mdi-comment-minus-outline::before{content:"\F15E0"}.mdi-comment-multiple::before{content:"\F085F"}.mdi-comment-multiple-outline::before{content:"\F0181"}.mdi-comment-off::before{content:"\F15E1"}.mdi-comment-off-outline::before{content:"\F15E2"}.mdi-comment-outline::before{content:"\F0182"}.mdi-comment-plus::before{content:"\F09E5"}.mdi-comment-plus-outline::before{content:"\F0183"}.mdi-comment-processing::before{content:"\F0184"}.mdi-comment-processing-outline::before{content:"\F0185"}.mdi-comment-question::before{content:"\F0817"}.mdi-comment-question-outline::before{content:"\F0186"}.mdi-comment-quote::before{content:"\F1021"}.mdi-comment-quote-outline::before{content:"\F1022"}.mdi-comment-remove::before{content:"\F05DE"}.mdi-comment-remove-outline::before{content:"\F0187"}.mdi-comment-search::before{content:"\F0A3C"}.mdi-comment-search-outline::before{content:"\F0A3D"}.mdi-comment-text::before{content:"\F0188"}.mdi-comment-text-multiple::before{content:"\F0860"}.mdi-comment-text-multiple-outline::before{content:"\F0861"}.mdi-comment-text-outline::before{content:"\F0189"}.mdi-compare::before{content:"\F018A"}.mdi-compare-horizontal::before{content:"\F1492"}.mdi-compare-remove::before{content:"\F18B3"}.mdi-compare-vertical::before{content:"\F1493"}.mdi-compass::before{content:"\F018B"}.mdi-compass-off::before{content:"\F0B80"}.mdi-compass-off-outline::before{content:"\F0B81"}.mdi-compass-outline::before{content:"\F018C"}.mdi-compass-rose::before{content:"\F1382"}.mdi-compost::before{content:"\F1A38"}.mdi-cone::before{content:"\F194C"}.mdi-cone-off::before{content:"\F194D"}.mdi-connection::before{content:"\F1616"}.mdi-console::before{content:"\F018D"}.mdi-console-line::before{content:"\F07B7"}.mdi-console-network::before{content:"\F08A9"}.mdi-console-network-outline::before{content:"\F0C60"}.mdi-consolidate::before{content:"\F10D8"}.mdi-contactless-payment::before{content:"\F0D6A"}.mdi-contactless-payment-circle::before{content:"\F0321"}.mdi-contactless-payment-circle-outline::before{content:"\F0408"}.mdi-contacts::before{content:"\F06CB"}.mdi-contacts-outline::before{content:"\F05B8"}.mdi-contain::before{content:"\F0A3E"}.mdi-contain-end::before{content:"\F0A3F"}.mdi-contain-start::before{content:"\F0A40"}.mdi-content-copy::before{content:"\F018F"}.mdi-content-cut::before{content:"\F0190"}.mdi-content-duplicate::before{content:"\F0191"}.mdi-content-paste::before{content:"\F0192"}.mdi-content-save::before{content:"\F0193"}.mdi-content-save-alert::before{content:"\F0F42"}.mdi-content-save-alert-outline::before{content:"\F0F43"}.mdi-content-save-all::before{content:"\F0194"}.mdi-content-save-all-outline::before{content:"\F0F44"}.mdi-content-save-check::before{content:"\F18EA"}.mdi-content-save-check-outline::before{content:"\F18EB"}.mdi-content-save-cog::before{content:"\F145B"}.mdi-content-save-cog-outline::before{content:"\F145C"}.mdi-content-save-edit::before{content:"\F0CFB"}.mdi-content-save-edit-outline::before{content:"\F0CFC"}.mdi-content-save-minus::before{content:"\F1B43"}.mdi-content-save-minus-outline::before{content:"\F1B44"}.mdi-content-save-move::before{content:"\F0E27"}.mdi-content-save-move-outline::before{content:"\F0E28"}.mdi-content-save-off::before{content:"\F1643"}.mdi-content-save-off-outline::before{content:"\F1644"}.mdi-content-save-outline::before{content:"\F0818"}.mdi-content-save-plus::before{content:"\F1B41"}.mdi-content-save-plus-outline::before{content:"\F1B42"}.mdi-content-save-settings::before{content:"\F061B"}.mdi-content-save-settings-outline::before{content:"\F0B2E"}.mdi-contrast::before{content:"\F0195"}.mdi-contrast-box::before{content:"\F0196"}.mdi-contrast-circle::before{content:"\F0197"}.mdi-controller::before{content:"\F02B4"}.mdi-controller-classic::before{content:"\F0B82"}.mdi-controller-classic-outline::before{content:"\F0B83"}.mdi-controller-off::before{content:"\F02B5"}.mdi-cookie::before{content:"\F0198"}.mdi-cookie-alert::before{content:"\F16D0"}.mdi-cookie-alert-outline::before{content:"\F16D1"}.mdi-cookie-check::before{content:"\F16D2"}.mdi-cookie-check-outline::before{content:"\F16D3"}.mdi-cookie-clock::before{content:"\F16E4"}.mdi-cookie-clock-outline::before{content:"\F16E5"}.mdi-cookie-cog::before{content:"\F16D4"}.mdi-cookie-cog-outline::before{content:"\F16D5"}.mdi-cookie-edit::before{content:"\F16E6"}.mdi-cookie-edit-outline::before{content:"\F16E7"}.mdi-cookie-lock::before{content:"\F16E8"}.mdi-cookie-lock-outline::before{content:"\F16E9"}.mdi-cookie-minus::before{content:"\F16DA"}.mdi-cookie-minus-outline::before{content:"\F16DB"}.mdi-cookie-off::before{content:"\F16EA"}.mdi-cookie-off-outline::before{content:"\F16EB"}.mdi-cookie-outline::before{content:"\F16DE"}.mdi-cookie-plus::before{content:"\F16D6"}.mdi-cookie-plus-outline::before{content:"\F16D7"}.mdi-cookie-refresh::before{content:"\F16EC"}.mdi-cookie-refresh-outline::before{content:"\F16ED"}.mdi-cookie-remove::before{content:"\F16D8"}.mdi-cookie-remove-outline::before{content:"\F16D9"}.mdi-cookie-settings::before{content:"\F16DC"}.mdi-cookie-settings-outline::before{content:"\F16DD"}.mdi-coolant-temperature::before{content:"\F03C8"}.mdi-copyleft::before{content:"\F1939"}.mdi-copyright::before{content:"\F05E6"}.mdi-cordova::before{content:"\F0958"}.mdi-corn::before{content:"\F07B8"}.mdi-corn-off::before{content:"\F13EF"}.mdi-cosine-wave::before{content:"\F1479"}.mdi-counter::before{content:"\F0199"}.mdi-countertop::before{content:"\F181C"}.mdi-countertop-outline::before{content:"\F181D"}.mdi-cow::before{content:"\F019A"}.mdi-cow-off::before{content:"\F18FC"}.mdi-cpu-32-bit::before{content:"\F0EDF"}.mdi-cpu-64-bit::before{content:"\F0EE0"}.mdi-cradle::before{content:"\F198B"}.mdi-cradle-outline::before{content:"\F1991"}.mdi-crane::before{content:"\F0862"}.mdi-creation::before{content:"\F0674"}.mdi-creation-outline::before{content:"\F1C2B"}.mdi-creative-commons::before{content:"\F0D6B"}.mdi-credit-card::before{content:"\F0FEF"}.mdi-credit-card-check::before{content:"\F13D0"}.mdi-credit-card-check-outline::before{content:"\F13D1"}.mdi-credit-card-chip::before{content:"\F190F"}.mdi-credit-card-chip-outline::before{content:"\F1910"}.mdi-credit-card-clock::before{content:"\F0EE1"}.mdi-credit-card-clock-outline::before{content:"\F0EE2"}.mdi-credit-card-edit::before{content:"\F17D7"}.mdi-credit-card-edit-outline::before{content:"\F17D8"}.mdi-credit-card-fast::before{content:"\F1911"}.mdi-credit-card-fast-outline::before{content:"\F1912"}.mdi-credit-card-lock::before{content:"\F18E7"}.mdi-credit-card-lock-outline::before{content:"\F18E8"}.mdi-credit-card-marker::before{content:"\F06A8"}.mdi-credit-card-marker-outline::before{content:"\F0DBE"}.mdi-credit-card-minus::before{content:"\F0FAC"}.mdi-credit-card-minus-outline::before{content:"\F0FAD"}.mdi-credit-card-multiple::before{content:"\F0FF0"}.mdi-credit-card-multiple-outline::before{content:"\F019C"}.mdi-credit-card-off::before{content:"\F0FF1"}.mdi-credit-card-off-outline::before{content:"\F05E4"}.mdi-credit-card-outline::before{content:"\F019B"}.mdi-credit-card-plus::before{content:"\F0FF2"}.mdi-credit-card-plus-outline::before{content:"\F0676"}.mdi-credit-card-refresh::before{content:"\F1645"}.mdi-credit-card-refresh-outline::before{content:"\F1646"}.mdi-credit-card-refund::before{content:"\F0FF3"}.mdi-credit-card-refund-outline::before{content:"\F0AA8"}.mdi-credit-card-remove::before{content:"\F0FAE"}.mdi-credit-card-remove-outline::before{content:"\F0FAF"}.mdi-credit-card-scan::before{content:"\F0FF4"}.mdi-credit-card-scan-outline::before{content:"\F019D"}.mdi-credit-card-search::before{content:"\F1647"}.mdi-credit-card-search-outline::before{content:"\F1648"}.mdi-credit-card-settings::before{content:"\F0FF5"}.mdi-credit-card-settings-outline::before{content:"\F08D7"}.mdi-credit-card-sync::before{content:"\F1649"}.mdi-credit-card-sync-outline::before{content:"\F164A"}.mdi-credit-card-wireless::before{content:"\F0802"}.mdi-credit-card-wireless-off::before{content:"\F057A"}.mdi-credit-card-wireless-off-outline::before{content:"\F057B"}.mdi-credit-card-wireless-outline::before{content:"\F0D6C"}.mdi-cricket::before{content:"\F0D6D"}.mdi-crop::before{content:"\F019E"}.mdi-crop-free::before{content:"\F019F"}.mdi-crop-landscape::before{content:"\F01A0"}.mdi-crop-portrait::before{content:"\F01A1"}.mdi-crop-rotate::before{content:"\F0696"}.mdi-crop-square::before{content:"\F01A2"}.mdi-cross::before{content:"\F0953"}.mdi-cross-bolnisi::before{content:"\F0CED"}.mdi-cross-celtic::before{content:"\F0CF5"}.mdi-cross-outline::before{content:"\F0CF6"}.mdi-crosshairs::before{content:"\F01A3"}.mdi-crosshairs-gps::before{content:"\F01A4"}.mdi-crosshairs-off::before{content:"\F0F45"}.mdi-crosshairs-question::before{content:"\F1136"}.mdi-crowd::before{content:"\F1975"}.mdi-crown::before{content:"\F01A5"}.mdi-crown-circle::before{content:"\F17DC"}.mdi-crown-circle-outline::before{content:"\F17DD"}.mdi-crown-outline::before{content:"\F11D0"}.mdi-cryengine::before{content:"\F0959"}.mdi-crystal-ball::before{content:"\F0B2F"}.mdi-cube::before{content:"\F01A6"}.mdi-cube-off::before{content:"\F141C"}.mdi-cube-off-outline::before{content:"\F141D"}.mdi-cube-outline::before{content:"\F01A7"}.mdi-cube-scan::before{content:"\F0B84"}.mdi-cube-send::before{content:"\F01A8"}.mdi-cube-unfolded::before{content:"\F01A9"}.mdi-cup::before{content:"\F01AA"}.mdi-cup-off::before{content:"\F05E5"}.mdi-cup-off-outline::before{content:"\F137D"}.mdi-cup-outline::before{content:"\F130F"}.mdi-cup-water::before{content:"\F01AB"}.mdi-cupboard::before{content:"\F0F46"}.mdi-cupboard-outline::before{content:"\F0F47"}.mdi-cupcake::before{content:"\F095A"}.mdi-curling::before{content:"\F0863"}.mdi-currency-bdt::before{content:"\F0864"}.mdi-currency-brl::before{content:"\F0B85"}.mdi-currency-btc::before{content:"\F01AC"}.mdi-currency-cny::before{content:"\F07BA"}.mdi-currency-eth::before{content:"\F07BB"}.mdi-currency-eur::before{content:"\F01AD"}.mdi-currency-eur-off::before{content:"\F1315"}.mdi-currency-fra::before{content:"\F1A39"}.mdi-currency-gbp::before{content:"\F01AE"}.mdi-currency-ils::before{content:"\F0C61"}.mdi-currency-inr::before{content:"\F01AF"}.mdi-currency-jpy::before{content:"\F07BC"}.mdi-currency-krw::before{content:"\F07BD"}.mdi-currency-kzt::before{content:"\F0865"}.mdi-currency-mnt::before{content:"\F1512"}.mdi-currency-ngn::before{content:"\F01B0"}.mdi-currency-php::before{content:"\F09E6"}.mdi-currency-rial::before{content:"\F0E9C"}.mdi-currency-rub::before{content:"\F01B1"}.mdi-currency-rupee::before{content:"\F1976"}.mdi-currency-sign::before{content:"\F07BE"}.mdi-currency-thb::before{content:"\F1C05"}.mdi-currency-try::before{content:"\F01B2"}.mdi-currency-twd::before{content:"\F07BF"}.mdi-currency-uah::before{content:"\F1B9B"}.mdi-currency-usd::before{content:"\F01C1"}.mdi-currency-usd-off::before{content:"\F067A"}.mdi-current-ac::before{content:"\F1480"}.mdi-current-dc::before{content:"\F095C"}.mdi-cursor-default::before{content:"\F01C0"}.mdi-cursor-default-click::before{content:"\F0CFD"}.mdi-cursor-default-click-outline::before{content:"\F0CFE"}.mdi-cursor-default-gesture::before{content:"\F1127"}.mdi-cursor-default-gesture-outline::before{content:"\F1128"}.mdi-cursor-default-outline::before{content:"\F01BF"}.mdi-cursor-move::before{content:"\F01BE"}.mdi-cursor-pointer::before{content:"\F01BD"}.mdi-cursor-text::before{content:"\F05E7"}.mdi-curtains::before{content:"\F1846"}.mdi-curtains-closed::before{content:"\F1847"}.mdi-cylinder::before{content:"\F194E"}.mdi-cylinder-off::before{content:"\F194F"}.mdi-dance-ballroom::before{content:"\F15FB"}.mdi-dance-pole::before{content:"\F1578"}.mdi-data-matrix::before{content:"\F153C"}.mdi-data-matrix-edit::before{content:"\F153D"}.mdi-data-matrix-minus::before{content:"\F153E"}.mdi-data-matrix-plus::before{content:"\F153F"}.mdi-data-matrix-remove::before{content:"\F1540"}.mdi-data-matrix-scan::before{content:"\F1541"}.mdi-database::before{content:"\F01BC"}.mdi-database-alert::before{content:"\F163A"}.mdi-database-alert-outline::before{content:"\F1624"}.mdi-database-arrow-down::before{content:"\F163B"}.mdi-database-arrow-down-outline::before{content:"\F1625"}.mdi-database-arrow-left::before{content:"\F163C"}.mdi-database-arrow-left-outline::before{content:"\F1626"}.mdi-database-arrow-right::before{content:"\F163D"}.mdi-database-arrow-right-outline::before{content:"\F1627"}.mdi-database-arrow-up::before{content:"\F163E"}.mdi-database-arrow-up-outline::before{content:"\F1628"}.mdi-database-check::before{content:"\F0AA9"}.mdi-database-check-outline::before{content:"\F1629"}.mdi-database-clock::before{content:"\F163F"}.mdi-database-clock-outline::before{content:"\F162A"}.mdi-database-cog::before{content:"\F164B"}.mdi-database-cog-outline::before{content:"\F164C"}.mdi-database-edit::before{content:"\F0B86"}.mdi-database-edit-outline::before{content:"\F162B"}.mdi-database-export::before{content:"\F095E"}.mdi-database-export-outline::before{content:"\F162C"}.mdi-database-eye::before{content:"\F191F"}.mdi-database-eye-off::before{content:"\F1920"}.mdi-database-eye-off-outline::before{content:"\F1921"}.mdi-database-eye-outline::before{content:"\F1922"}.mdi-database-import::before{content:"\F095D"}.mdi-database-import-outline::before{content:"\F162D"}.mdi-database-lock::before{content:"\F0AAA"}.mdi-database-lock-outline::before{content:"\F162E"}.mdi-database-marker::before{content:"\F12F6"}.mdi-database-marker-outline::before{content:"\F162F"}.mdi-database-minus::before{content:"\F01BB"}.mdi-database-minus-outline::before{content:"\F1630"}.mdi-database-off::before{content:"\F1640"}.mdi-database-off-outline::before{content:"\F1631"}.mdi-database-outline::before{content:"\F1632"}.mdi-database-plus::before{content:"\F01BA"}.mdi-database-plus-outline::before{content:"\F1633"}.mdi-database-refresh::before{content:"\F05C2"}.mdi-database-refresh-outline::before{content:"\F1634"}.mdi-database-remove::before{content:"\F0D00"}.mdi-database-remove-outline::before{content:"\F1635"}.mdi-database-search::before{content:"\F0866"}.mdi-database-search-outline::before{content:"\F1636"}.mdi-database-settings::before{content:"\F0D01"}.mdi-database-settings-outline::before{content:"\F1637"}.mdi-database-sync::before{content:"\F0CFF"}.mdi-database-sync-outline::before{content:"\F1638"}.mdi-death-star::before{content:"\F08D8"}.mdi-death-star-variant::before{content:"\F08D9"}.mdi-deathly-hallows::before{content:"\F0B87"}.mdi-debian::before{content:"\F08DA"}.mdi-debug-step-into::before{content:"\F01B9"}.mdi-debug-step-out::before{content:"\F01B8"}.mdi-debug-step-over::before{content:"\F01B7"}.mdi-decagram::before{content:"\F076C"}.mdi-decagram-outline::before{content:"\F076D"}.mdi-decimal::before{content:"\F10A1"}.mdi-decimal-comma::before{content:"\F10A2"}.mdi-decimal-comma-decrease::before{content:"\F10A3"}.mdi-decimal-comma-increase::before{content:"\F10A4"}.mdi-decimal-decrease::before{content:"\F01B6"}.mdi-decimal-increase::before{content:"\F01B5"}.mdi-delete::before{content:"\F01B4"}.mdi-delete-alert::before{content:"\F10A5"}.mdi-delete-alert-outline::before{content:"\F10A6"}.mdi-delete-circle::before{content:"\F0683"}.mdi-delete-circle-outline::before{content:"\F0B88"}.mdi-delete-clock::before{content:"\F1556"}.mdi-delete-clock-outline::before{content:"\F1557"}.mdi-delete-empty::before{content:"\F06CC"}.mdi-delete-empty-outline::before{content:"\F0E9D"}.mdi-delete-forever::before{content:"\F05E8"}.mdi-delete-forever-outline::before{content:"\F0B89"}.mdi-delete-off::before{content:"\F10A7"}.mdi-delete-off-outline::before{content:"\F10A8"}.mdi-delete-outline::before{content:"\F09E7"}.mdi-delete-restore::before{content:"\F0819"}.mdi-delete-sweep::before{content:"\F05E9"}.mdi-delete-sweep-outline::before{content:"\F0C62"}.mdi-delete-variant::before{content:"\F01B3"}.mdi-delta::before{content:"\F01C2"}.mdi-desk::before{content:"\F1239"}.mdi-desk-lamp::before{content:"\F095F"}.mdi-desk-lamp-off::before{content:"\F1B1F"}.mdi-desk-lamp-on::before{content:"\F1B20"}.mdi-deskphone::before{content:"\F01C3"}.mdi-desktop-classic::before{content:"\F07C0"}.mdi-desktop-tower::before{content:"\F01C5"}.mdi-desktop-tower-monitor::before{content:"\F0AAB"}.mdi-details::before{content:"\F01C6"}.mdi-dev-to::before{content:"\F0D6E"}.mdi-developer-board::before{content:"\F0697"}.mdi-deviantart::before{content:"\F01C7"}.mdi-devices::before{content:"\F0FB0"}.mdi-dharmachakra::before{content:"\F094B"}.mdi-diabetes::before{content:"\F1126"}.mdi-dialpad::before{content:"\F061C"}.mdi-diameter::before{content:"\F0C63"}.mdi-diameter-outline::before{content:"\F0C64"}.mdi-diameter-variant::before{content:"\F0C65"}.mdi-diamond::before{content:"\F0B8A"}.mdi-diamond-outline::before{content:"\F0B8B"}.mdi-diamond-stone::before{content:"\F01C8"}.mdi-diaper-outline::before{content:"\F1CCF"}.mdi-dice-1::before{content:"\F01CA"}.mdi-dice-1-outline::before{content:"\F114A"}.mdi-dice-2::before{content:"\F01CB"}.mdi-dice-2-outline::before{content:"\F114B"}.mdi-dice-3::before{content:"\F01CC"}.mdi-dice-3-outline::before{content:"\F114C"}.mdi-dice-4::before{content:"\F01CD"}.mdi-dice-4-outline::before{content:"\F114D"}.mdi-dice-5::before{content:"\F01CE"}.mdi-dice-5-outline::before{content:"\F114E"}.mdi-dice-6::before{content:"\F01CF"}.mdi-dice-6-outline::before{content:"\F114F"}.mdi-dice-d10::before{content:"\F1153"}.mdi-dice-d10-outline::before{content:"\F076F"}.mdi-dice-d12::before{content:"\F1154"}.mdi-dice-d12-outline::before{content:"\F0867"}.mdi-dice-d20::before{content:"\F1155"}.mdi-dice-d20-outline::before{content:"\F05EA"}.mdi-dice-d4::before{content:"\F1150"}.mdi-dice-d4-outline::before{content:"\F05EB"}.mdi-dice-d6::before{content:"\F1151"}.mdi-dice-d6-outline::before{content:"\F05ED"}.mdi-dice-d8::before{content:"\F1152"}.mdi-dice-d8-outline::before{content:"\F05EC"}.mdi-dice-multiple::before{content:"\F076E"}.mdi-dice-multiple-outline::before{content:"\F1156"}.mdi-digital-ocean::before{content:"\F1237"}.mdi-dip-switch::before{content:"\F07C1"}.mdi-directions::before{content:"\F01D0"}.mdi-directions-fork::before{content:"\F0641"}.mdi-disc::before{content:"\F05EE"}.mdi-disc-alert::before{content:"\F01D1"}.mdi-disc-player::before{content:"\F0960"}.mdi-dishwasher::before{content:"\F0AAC"}.mdi-dishwasher-alert::before{content:"\F11B8"}.mdi-dishwasher-off::before{content:"\F11B9"}.mdi-disqus::before{content:"\F01D2"}.mdi-distribute-horizontal-center::before{content:"\F11C9"}.mdi-distribute-horizontal-left::before{content:"\F11C8"}.mdi-distribute-horizontal-right::before{content:"\F11CA"}.mdi-distribute-vertical-bottom::before{content:"\F11CB"}.mdi-distribute-vertical-center::before{content:"\F11CC"}.mdi-distribute-vertical-top::before{content:"\F11CD"}.mdi-diversify::before{content:"\F1877"}.mdi-diving::before{content:"\F1977"}.mdi-diving-flippers::before{content:"\F0DBF"}.mdi-diving-helmet::before{content:"\F0DC0"}.mdi-diving-scuba::before{content:"\F1B77"}.mdi-diving-scuba-flag::before{content:"\F0DC2"}.mdi-diving-scuba-mask::before{content:"\F0DC1"}.mdi-diving-scuba-tank::before{content:"\F0DC3"}.mdi-diving-scuba-tank-multiple::before{content:"\F0DC4"}.mdi-diving-snorkel::before{content:"\F0DC5"}.mdi-division::before{content:"\F01D4"}.mdi-division-box::before{content:"\F01D5"}.mdi-dlna::before{content:"\F0A41"}.mdi-dna::before{content:"\F0684"}.mdi-dns::before{content:"\F01D6"}.mdi-dns-outline::before{content:"\F0B8C"}.mdi-dock-bottom::before{content:"\F10A9"}.mdi-dock-left::before{content:"\F10AA"}.mdi-dock-right::before{content:"\F10AB"}.mdi-dock-top::before{content:"\F1513"}.mdi-dock-window::before{content:"\F10AC"}.mdi-docker::before{content:"\F0868"}.mdi-doctor::before{content:"\F0A42"}.mdi-dog::before{content:"\F0A43"}.mdi-dog-service::before{content:"\F0AAD"}.mdi-dog-side::before{content:"\F0A44"}.mdi-dog-side-off::before{content:"\F16EE"}.mdi-dolby::before{content:"\F06B3"}.mdi-dolly::before{content:"\F0E9E"}.mdi-dolphin::before{content:"\F18B4"}.mdi-domain::before{content:"\F01D7"}.mdi-domain-off::before{content:"\F0D6F"}.mdi-domain-plus::before{content:"\F10AD"}.mdi-domain-remove::before{content:"\F10AE"}.mdi-domain-switch::before{content:"\F1C2C"}.mdi-dome-light::before{content:"\F141E"}.mdi-domino-mask::before{content:"\F1023"}.mdi-donkey::before{content:"\F07C2"}.mdi-door::before{content:"\F081A"}.mdi-door-closed::before{content:"\F081B"}.mdi-door-closed-cancel::before{content:"\F1C93"}.mdi-door-closed-lock::before{content:"\F10AF"}.mdi-door-open::before{content:"\F081C"}.mdi-door-sliding::before{content:"\F181E"}.mdi-door-sliding-lock::before{content:"\F181F"}.mdi-door-sliding-open::before{content:"\F1820"}.mdi-doorbell::before{content:"\F12E6"}.mdi-doorbell-video::before{content:"\F0869"}.mdi-dot-net::before{content:"\F0AAE"}.mdi-dots-circle::before{content:"\F1978"}.mdi-dots-grid::before{content:"\F15FC"}.mdi-dots-hexagon::before{content:"\F15FF"}.mdi-dots-horizontal::before{content:"\F01D8"}.mdi-dots-horizontal-circle::before{content:"\F07C3"}.mdi-dots-horizontal-circle-outline::before{content:"\F0B8D"}.mdi-dots-square::before{content:"\F15FD"}.mdi-dots-triangle::before{content:"\F15FE"}.mdi-dots-vertical::before{content:"\F01D9"}.mdi-dots-vertical-circle::before{content:"\F07C4"}.mdi-dots-vertical-circle-outline::before{content:"\F0B8E"}.mdi-download::before{content:"\F01DA"}.mdi-download-box::before{content:"\F1462"}.mdi-download-box-outline::before{content:"\F1463"}.mdi-download-circle::before{content:"\F1464"}.mdi-download-circle-outline::before{content:"\F1465"}.mdi-download-lock::before{content:"\F1320"}.mdi-download-lock-outline::before{content:"\F1321"}.mdi-download-multiple::before{content:"\F09E9"}.mdi-download-multiple-outline::before{content:"\F1CD0"}.mdi-download-network::before{content:"\F06F4"}.mdi-download-network-outline::before{content:"\F0C66"}.mdi-download-off::before{content:"\F10B0"}.mdi-download-off-outline::before{content:"\F10B1"}.mdi-download-outline::before{content:"\F0B8F"}.mdi-drag::before{content:"\F01DB"}.mdi-drag-horizontal::before{content:"\F01DC"}.mdi-drag-horizontal-variant::before{content:"\F12F0"}.mdi-drag-variant::before{content:"\F0B90"}.mdi-drag-vertical::before{content:"\F01DD"}.mdi-drag-vertical-variant::before{content:"\F12F1"}.mdi-drama-masks::before{content:"\F0D02"}.mdi-draw::before{content:"\F0F49"}.mdi-draw-pen::before{content:"\F19B9"}.mdi-drawing::before{content:"\F01DE"}.mdi-drawing-box::before{content:"\F01DF"}.mdi-dresser::before{content:"\F0F4A"}.mdi-dresser-outline::before{content:"\F0F4B"}.mdi-drone::before{content:"\F01E2"}.mdi-dropbox::before{content:"\F01E3"}.mdi-drupal::before{content:"\F01E4"}.mdi-duck::before{content:"\F01E5"}.mdi-dumbbell::before{content:"\F01E6"}.mdi-dump-truck::before{content:"\F0C67"}.mdi-ear-hearing::before{content:"\F07C5"}.mdi-ear-hearing-loop::before{content:"\F1AEE"}.mdi-ear-hearing-off::before{content:"\F0A45"}.mdi-earbuds::before{content:"\F184F"}.mdi-earbuds-off::before{content:"\F1850"}.mdi-earbuds-off-outline::before{content:"\F1851"}.mdi-earbuds-outline::before{content:"\F1852"}.mdi-earth::before{content:"\F01E7"}.mdi-earth-arrow-down::before{content:"\F1C87"}.mdi-earth-arrow-left::before{content:"\F1C88"}.mdi-earth-arrow-right::before{content:"\F1311"}.mdi-earth-arrow-up::before{content:"\F1C89"}.mdi-earth-box::before{content:"\F06CD"}.mdi-earth-box-minus::before{content:"\F1407"}.mdi-earth-box-off::before{content:"\F06CE"}.mdi-earth-box-plus::before{content:"\F1406"}.mdi-earth-box-remove::before{content:"\F1408"}.mdi-earth-minus::before{content:"\F1404"}.mdi-earth-off::before{content:"\F01E8"}.mdi-earth-plus::before{content:"\F1403"}.mdi-earth-remove::before{content:"\F1405"}.mdi-egg::before{content:"\F0AAF"}.mdi-egg-easter::before{content:"\F0AB0"}.mdi-egg-fried::before{content:"\F184A"}.mdi-egg-off::before{content:"\F13F0"}.mdi-egg-off-outline::before{content:"\F13F1"}.mdi-egg-outline::before{content:"\F13F2"}.mdi-eiffel-tower::before{content:"\F156B"}.mdi-eight-track::before{content:"\F09EA"}.mdi-eject::before{content:"\F01EA"}.mdi-eject-circle::before{content:"\F1B23"}.mdi-eject-circle-outline::before{content:"\F1B24"}.mdi-eject-outline::before{content:"\F0B91"}.mdi-electric-switch::before{content:"\F0E9F"}.mdi-electric-switch-closed::before{content:"\F10D9"}.mdi-electron-framework::before{content:"\F1024"}.mdi-elephant::before{content:"\F07C6"}.mdi-elevation-decline::before{content:"\F01EB"}.mdi-elevation-rise::before{content:"\F01EC"}.mdi-elevator::before{content:"\F01ED"}.mdi-elevator-down::before{content:"\F12C2"}.mdi-elevator-passenger::before{content:"\F1381"}.mdi-elevator-passenger-off::before{content:"\F1979"}.mdi-elevator-passenger-off-outline::before{content:"\F197A"}.mdi-elevator-passenger-outline::before{content:"\F197B"}.mdi-elevator-up::before{content:"\F12C1"}.mdi-ellipse::before{content:"\F0EA0"}.mdi-ellipse-outline::before{content:"\F0EA1"}.mdi-email::before{content:"\F01EE"}.mdi-email-alert::before{content:"\F06CF"}.mdi-email-alert-outline::before{content:"\F0D42"}.mdi-email-arrow-left::before{content:"\F10DA"}.mdi-email-arrow-left-outline::before{content:"\F10DB"}.mdi-email-arrow-right::before{content:"\F10DC"}.mdi-email-arrow-right-outline::before{content:"\F10DD"}.mdi-email-box::before{content:"\F0D03"}.mdi-email-check::before{content:"\F0AB1"}.mdi-email-check-outline::before{content:"\F0AB2"}.mdi-email-edit::before{content:"\F0EE3"}.mdi-email-edit-outline::before{content:"\F0EE4"}.mdi-email-fast::before{content:"\F186F"}.mdi-email-fast-outline::before{content:"\F1870"}.mdi-email-heart-outline::before{content:"\F1C5B"}.mdi-email-lock::before{content:"\F01F1"}.mdi-email-lock-outline::before{content:"\F1B61"}.mdi-email-mark-as-unread::before{content:"\F0B92"}.mdi-email-minus::before{content:"\F0EE5"}.mdi-email-minus-outline::before{content:"\F0EE6"}.mdi-email-multiple::before{content:"\F0EE7"}.mdi-email-multiple-outline::before{content:"\F0EE8"}.mdi-email-newsletter::before{content:"\F0FB1"}.mdi-email-off::before{content:"\F13E3"}.mdi-email-off-outline::before{content:"\F13E4"}.mdi-email-open::before{content:"\F01EF"}.mdi-email-open-heart-outline::before{content:"\F1C5C"}.mdi-email-open-multiple::before{content:"\F0EE9"}.mdi-email-open-multiple-outline::before{content:"\F0EEA"}.mdi-email-open-outline::before{content:"\F05EF"}.mdi-email-outline::before{content:"\F01F0"}.mdi-email-plus::before{content:"\F09EB"}.mdi-email-plus-outline::before{content:"\F09EC"}.mdi-email-remove::before{content:"\F1661"}.mdi-email-remove-outline::before{content:"\F1662"}.mdi-email-seal::before{content:"\F195B"}.mdi-email-seal-outline::before{content:"\F195C"}.mdi-email-search::before{content:"\F0961"}.mdi-email-search-outline::before{content:"\F0962"}.mdi-email-sync::before{content:"\F12C7"}.mdi-email-sync-outline::before{content:"\F12C8"}.mdi-email-variant::before{content:"\F05F0"}.mdi-ember::before{content:"\F0B30"}.mdi-emby::before{content:"\F06B4"}.mdi-emoticon::before{content:"\F0C68"}.mdi-emoticon-angry::before{content:"\F0C69"}.mdi-emoticon-angry-outline::before{content:"\F0C6A"}.mdi-emoticon-confused::before{content:"\F10DE"}.mdi-emoticon-confused-outline::before{content:"\F10DF"}.mdi-emoticon-cool::before{content:"\F0C6B"}.mdi-emoticon-cool-outline::before{content:"\F01F3"}.mdi-emoticon-cry::before{content:"\F0C6C"}.mdi-emoticon-cry-outline::before{content:"\F0C6D"}.mdi-emoticon-dead::before{content:"\F0C6E"}.mdi-emoticon-dead-outline::before{content:"\F069B"}.mdi-emoticon-devil::before{content:"\F0C6F"}.mdi-emoticon-devil-outline::before{content:"\F01F4"}.mdi-emoticon-excited::before{content:"\F0C70"}.mdi-emoticon-excited-outline::before{content:"\F069C"}.mdi-emoticon-frown::before{content:"\F0F4C"}.mdi-emoticon-frown-outline::before{content:"\F0F4D"}.mdi-emoticon-happy::before{content:"\F0C71"}.mdi-emoticon-happy-outline::before{content:"\F01F5"}.mdi-emoticon-kiss::before{content:"\F0C72"}.mdi-emoticon-kiss-outline::before{content:"\F0C73"}.mdi-emoticon-lol::before{content:"\F1214"}.mdi-emoticon-lol-outline::before{content:"\F1215"}.mdi-emoticon-minus::before{content:"\F1CB2"}.mdi-emoticon-minus-outline::before{content:"\F1CB3"}.mdi-emoticon-neutral::before{content:"\F0C74"}.mdi-emoticon-neutral-outline::before{content:"\F01F6"}.mdi-emoticon-outline::before{content:"\F01F2"}.mdi-emoticon-plus::before{content:"\F1CB4"}.mdi-emoticon-plus-outline::before{content:"\F1CB5"}.mdi-emoticon-poop::before{content:"\F01F7"}.mdi-emoticon-poop-outline::before{content:"\F0C75"}.mdi-emoticon-remove::before{content:"\F1CB6"}.mdi-emoticon-remove-outline::before{content:"\F1CB7"}.mdi-emoticon-sad::before{content:"\F0C76"}.mdi-emoticon-sad-outline::before{content:"\F01F8"}.mdi-emoticon-sick::before{content:"\F157C"}.mdi-emoticon-sick-outline::before{content:"\F157D"}.mdi-emoticon-tongue::before{content:"\F01F9"}.mdi-emoticon-tongue-outline::before{content:"\F0C77"}.mdi-emoticon-wink::before{content:"\F0C78"}.mdi-emoticon-wink-outline::before{content:"\F0C79"}.mdi-engine::before{content:"\F01FA"}.mdi-engine-off::before{content:"\F0A46"}.mdi-engine-off-outline::before{content:"\F0A47"}.mdi-engine-outline::before{content:"\F01FB"}.mdi-epsilon::before{content:"\F10E0"}.mdi-equal::before{content:"\F01FC"}.mdi-equal-box::before{content:"\F01FD"}.mdi-equalizer::before{content:"\F0EA2"}.mdi-equalizer-outline::before{content:"\F0EA3"}.mdi-eraser::before{content:"\F01FE"}.mdi-eraser-variant::before{content:"\F0642"}.mdi-escalator::before{content:"\F01FF"}.mdi-escalator-box::before{content:"\F1399"}.mdi-escalator-down::before{content:"\F12C0"}.mdi-escalator-up::before{content:"\F12BF"}.mdi-eslint::before{content:"\F0C7A"}.mdi-et::before{content:"\F0AB3"}.mdi-ethereum::before{content:"\F086A"}.mdi-ethernet::before{content:"\F0200"}.mdi-ethernet-cable::before{content:"\F0201"}.mdi-ethernet-cable-off::before{content:"\F0202"}.mdi-ethernet-off::before{content:"\F1CD1"}.mdi-ev-plug-ccs1::before{content:"\F1519"}.mdi-ev-plug-ccs2::before{content:"\F151A"}.mdi-ev-plug-chademo::before{content:"\F151B"}.mdi-ev-plug-tesla::before{content:"\F151C"}.mdi-ev-plug-type1::before{content:"\F151D"}.mdi-ev-plug-type2::before{content:"\F151E"}.mdi-ev-station::before{content:"\F05F1"}.mdi-evernote::before{content:"\F0204"}.mdi-excavator::before{content:"\F1025"}.mdi-exclamation::before{content:"\F0205"}.mdi-exclamation-thick::before{content:"\F1238"}.mdi-exit-run::before{content:"\F0A48"}.mdi-exit-to-app::before{content:"\F0206"}.mdi-expand-all::before{content:"\F0AB4"}.mdi-expand-all-outline::before{content:"\F0AB5"}.mdi-expansion-card::before{content:"\F08AE"}.mdi-expansion-card-variant::before{content:"\F0FB2"}.mdi-exponent::before{content:"\F0963"}.mdi-exponent-box::before{content:"\F0964"}.mdi-export::before{content:"\F0207"}.mdi-export-variant::before{content:"\F0B93"}.mdi-eye::before{content:"\F0208"}.mdi-eye-arrow-left::before{content:"\F18FD"}.mdi-eye-arrow-left-outline::before{content:"\F18FE"}.mdi-eye-arrow-right::before{content:"\F18FF"}.mdi-eye-arrow-right-outline::before{content:"\F1900"}.mdi-eye-check::before{content:"\F0D04"}.mdi-eye-check-outline::before{content:"\F0D05"}.mdi-eye-circle::before{content:"\F0B94"}.mdi-eye-circle-outline::before{content:"\F0B95"}.mdi-eye-closed::before{content:"\F1CA3"}.mdi-eye-lock::before{content:"\F1C06"}.mdi-eye-lock-open::before{content:"\F1C07"}.mdi-eye-lock-open-outline::before{content:"\F1C08"}.mdi-eye-lock-outline::before{content:"\F1C09"}.mdi-eye-minus::before{content:"\F1026"}.mdi-eye-minus-outline::before{content:"\F1027"}.mdi-eye-off::before{content:"\F0209"}.mdi-eye-off-outline::before{content:"\F06D1"}.mdi-eye-outline::before{content:"\F06D0"}.mdi-eye-plus::before{content:"\F086B"}.mdi-eye-plus-outline::before{content:"\F086C"}.mdi-eye-refresh::before{content:"\F197C"}.mdi-eye-refresh-outline::before{content:"\F197D"}.mdi-eye-remove::before{content:"\F15E3"}.mdi-eye-remove-outline::before{content:"\F15E4"}.mdi-eye-settings::before{content:"\F086D"}.mdi-eye-settings-outline::before{content:"\F086E"}.mdi-eyedropper::before{content:"\F020A"}.mdi-eyedropper-minus::before{content:"\F13DD"}.mdi-eyedropper-off::before{content:"\F13DF"}.mdi-eyedropper-plus::before{content:"\F13DC"}.mdi-eyedropper-remove::before{content:"\F13DE"}.mdi-eyedropper-variant::before{content:"\F020B"}.mdi-face-agent::before{content:"\F0D70"}.mdi-face-man::before{content:"\F0643"}.mdi-face-man-outline::before{content:"\F0B96"}.mdi-face-man-profile::before{content:"\F0644"}.mdi-face-man-shimmer::before{content:"\F15CC"}.mdi-face-man-shimmer-outline::before{content:"\F15CD"}.mdi-face-mask::before{content:"\F1586"}.mdi-face-mask-outline::before{content:"\F1587"}.mdi-face-recognition::before{content:"\F0C7B"}.mdi-face-woman::before{content:"\F1077"}.mdi-face-woman-outline::before{content:"\F1078"}.mdi-face-woman-profile::before{content:"\F1076"}.mdi-face-woman-shimmer::before{content:"\F15CE"}.mdi-face-woman-shimmer-outline::before{content:"\F15CF"}.mdi-facebook::before{content:"\F020C"}.mdi-facebook-gaming::before{content:"\F07DD"}.mdi-facebook-messenger::before{content:"\F020E"}.mdi-facebook-workplace::before{content:"\F0B31"}.mdi-factory::before{content:"\F020F"}.mdi-family-tree::before{content:"\F160E"}.mdi-fan::before{content:"\F0210"}.mdi-fan-alert::before{content:"\F146C"}.mdi-fan-auto::before{content:"\F171D"}.mdi-fan-chevron-down::before{content:"\F146D"}.mdi-fan-chevron-up::before{content:"\F146E"}.mdi-fan-clock::before{content:"\F1A3A"}.mdi-fan-minus::before{content:"\F1470"}.mdi-fan-off::before{content:"\F081D"}.mdi-fan-plus::before{content:"\F146F"}.mdi-fan-remove::before{content:"\F1471"}.mdi-fan-speed-1::before{content:"\F1472"}.mdi-fan-speed-2::before{content:"\F1473"}.mdi-fan-speed-3::before{content:"\F1474"}.mdi-fast-forward::before{content:"\F0211"}.mdi-fast-forward-10::before{content:"\F0D71"}.mdi-fast-forward-15::before{content:"\F193A"}.mdi-fast-forward-30::before{content:"\F0D06"}.mdi-fast-forward-45::before{content:"\F1B12"}.mdi-fast-forward-5::before{content:"\F11F8"}.mdi-fast-forward-60::before{content:"\F160B"}.mdi-fast-forward-outline::before{content:"\F06D2"}.mdi-faucet::before{content:"\F1B29"}.mdi-faucet-variant::before{content:"\F1B2A"}.mdi-fax::before{content:"\F0212"}.mdi-feather::before{content:"\F06D3"}.mdi-feature-search::before{content:"\F0A49"}.mdi-feature-search-outline::before{content:"\F0A4A"}.mdi-fedora::before{content:"\F08DB"}.mdi-fence::before{content:"\F179A"}.mdi-fence-electric::before{content:"\F17F6"}.mdi-fencing::before{content:"\F14C1"}.mdi-ferris-wheel::before{content:"\F0EA4"}.mdi-ferry::before{content:"\F0213"}.mdi-file::before{content:"\F0214"}.mdi-file-account::before{content:"\F073B"}.mdi-file-account-outline::before{content:"\F1028"}.mdi-file-alert::before{content:"\F0A4B"}.mdi-file-alert-outline::before{content:"\F0A4C"}.mdi-file-arrow-left-right::before{content:"\F1A93"}.mdi-file-arrow-left-right-outline::before{content:"\F1A94"}.mdi-file-arrow-up-down::before{content:"\F1A95"}.mdi-file-arrow-up-down-outline::before{content:"\F1A96"}.mdi-file-cabinet::before{content:"\F0AB6"}.mdi-file-cad::before{content:"\F0EEB"}.mdi-file-cad-box::before{content:"\F0EEC"}.mdi-file-cancel::before{content:"\F0DC6"}.mdi-file-cancel-outline::before{content:"\F0DC7"}.mdi-file-certificate::before{content:"\F1186"}.mdi-file-certificate-outline::before{content:"\F1187"}.mdi-file-chart::before{content:"\F0215"}.mdi-file-chart-check::before{content:"\F19C6"}.mdi-file-chart-check-outline::before{content:"\F19C7"}.mdi-file-chart-outline::before{content:"\F1029"}.mdi-file-check::before{content:"\F0216"}.mdi-file-check-outline::before{content:"\F0E29"}.mdi-file-clock::before{content:"\F12E1"}.mdi-file-clock-outline::before{content:"\F12E2"}.mdi-file-cloud::before{content:"\F0217"}.mdi-file-cloud-outline::before{content:"\F102A"}.mdi-file-code::before{content:"\F022E"}.mdi-file-code-outline::before{content:"\F102B"}.mdi-file-cog::before{content:"\F107B"}.mdi-file-cog-outline::before{content:"\F107C"}.mdi-file-compare::before{content:"\F08AA"}.mdi-file-delimited::before{content:"\F0218"}.mdi-file-delimited-outline::before{content:"\F0EA5"}.mdi-file-document::before{content:"\F0219"}.mdi-file-document-alert::before{content:"\F1A97"}.mdi-file-document-alert-outline::before{content:"\F1A98"}.mdi-file-document-arrow-right::before{content:"\F1C0F"}.mdi-file-document-arrow-right-outline::before{content:"\F1C10"}.mdi-file-document-check::before{content:"\F1A99"}.mdi-file-document-check-outline::before{content:"\F1A9A"}.mdi-file-document-edit::before{content:"\F0DC8"}.mdi-file-document-edit-outline::before{content:"\F0DC9"}.mdi-file-document-minus::before{content:"\F1A9B"}.mdi-file-document-minus-outline::before{content:"\F1A9C"}.mdi-file-document-multiple::before{content:"\F1517"}.mdi-file-document-multiple-outline::before{content:"\F1518"}.mdi-file-document-outline::before{content:"\F09EE"}.mdi-file-document-plus::before{content:"\F1A9D"}.mdi-file-document-plus-outline::before{content:"\F1A9E"}.mdi-file-document-refresh::before{content:"\F1C7A"}.mdi-file-document-refresh-outline::before{content:"\F1C7B"}.mdi-file-document-remove::before{content:"\F1A9F"}.mdi-file-document-remove-outline::before{content:"\F1AA0"}.mdi-file-download::before{content:"\F0965"}.mdi-file-download-outline::before{content:"\F0966"}.mdi-file-edit::before{content:"\F11E7"}.mdi-file-edit-outline::before{content:"\F11E8"}.mdi-file-excel::before{content:"\F021B"}.mdi-file-excel-box::before{content:"\F021C"}.mdi-file-excel-box-outline::before{content:"\F102C"}.mdi-file-excel-outline::before{content:"\F102D"}.mdi-file-export::before{content:"\F021D"}.mdi-file-export-outline::before{content:"\F102E"}.mdi-file-eye::before{content:"\F0DCA"}.mdi-file-eye-outline::before{content:"\F0DCB"}.mdi-file-find::before{content:"\F021E"}.mdi-file-find-outline::before{content:"\F0B97"}.mdi-file-gif-box::before{content:"\F0D78"}.mdi-file-hidden::before{content:"\F0613"}.mdi-file-image::before{content:"\F021F"}.mdi-file-image-marker::before{content:"\F1772"}.mdi-file-image-marker-outline::before{content:"\F1773"}.mdi-file-image-minus::before{content:"\F193B"}.mdi-file-image-minus-outline::before{content:"\F193C"}.mdi-file-image-outline::before{content:"\F0EB0"}.mdi-file-image-plus::before{content:"\F193D"}.mdi-file-image-plus-outline::before{content:"\F193E"}.mdi-file-image-remove::before{content:"\F193F"}.mdi-file-image-remove-outline::before{content:"\F1940"}.mdi-file-import::before{content:"\F0220"}.mdi-file-import-outline::before{content:"\F102F"}.mdi-file-jpg-box::before{content:"\F0225"}.mdi-file-key::before{content:"\F1184"}.mdi-file-key-outline::before{content:"\F1185"}.mdi-file-link::before{content:"\F1177"}.mdi-file-link-outline::before{content:"\F1178"}.mdi-file-lock::before{content:"\F0221"}.mdi-file-lock-open::before{content:"\F19C8"}.mdi-file-lock-open-outline::before{content:"\F19C9"}.mdi-file-lock-outline::before{content:"\F1030"}.mdi-file-marker::before{content:"\F1774"}.mdi-file-marker-outline::before{content:"\F1775"}.mdi-file-minus::before{content:"\F1AA1"}.mdi-file-minus-outline::before{content:"\F1AA2"}.mdi-file-move::before{content:"\F0AB9"}.mdi-file-move-outline::before{content:"\F1031"}.mdi-file-multiple::before{content:"\F0222"}.mdi-file-multiple-outline::before{content:"\F1032"}.mdi-file-music::before{content:"\F0223"}.mdi-file-music-outline::before{content:"\F0E2A"}.mdi-file-outline::before{content:"\F0224"}.mdi-file-pdf-box::before{content:"\F0226"}.mdi-file-percent::before{content:"\F081E"}.mdi-file-percent-outline::before{content:"\F1033"}.mdi-file-phone::before{content:"\F1179"}.mdi-file-phone-outline::before{content:"\F117A"}.mdi-file-plus::before{content:"\F0752"}.mdi-file-plus-outline::before{content:"\F0EED"}.mdi-file-png-box::before{content:"\F0E2D"}.mdi-file-powerpoint::before{content:"\F0227"}.mdi-file-powerpoint-box::before{content:"\F0228"}.mdi-file-powerpoint-box-outline::before{content:"\F1034"}.mdi-file-powerpoint-outline::before{content:"\F1035"}.mdi-file-presentation-box::before{content:"\F0229"}.mdi-file-question::before{content:"\F086F"}.mdi-file-question-outline::before{content:"\F1036"}.mdi-file-refresh::before{content:"\F0918"}.mdi-file-refresh-outline::before{content:"\F0541"}.mdi-file-remove::before{content:"\F0B98"}.mdi-file-remove-outline::before{content:"\F1037"}.mdi-file-replace::before{content:"\F0B32"}.mdi-file-replace-outline::before{content:"\F0B33"}.mdi-file-restore::before{content:"\F0670"}.mdi-file-restore-outline::before{content:"\F1038"}.mdi-file-rotate-left::before{content:"\F1A3B"}.mdi-file-rotate-left-outline::before{content:"\F1A3C"}.mdi-file-rotate-right::before{content:"\F1A3D"}.mdi-file-rotate-right-outline::before{content:"\F1A3E"}.mdi-file-search::before{content:"\F0C7C"}.mdi-file-search-outline::before{content:"\F0C7D"}.mdi-file-send::before{content:"\F022A"}.mdi-file-send-outline::before{content:"\F1039"}.mdi-file-settings::before{content:"\F1079"}.mdi-file-settings-outline::before{content:"\F107A"}.mdi-file-sign::before{content:"\F19C3"}.mdi-file-star::before{content:"\F103A"}.mdi-file-star-four-points::before{content:"\F1C2D"}.mdi-file-star-four-points-outline::before{content:"\F1C2E"}.mdi-file-star-outline::before{content:"\F103B"}.mdi-file-swap::before{content:"\F0FB4"}.mdi-file-swap-outline::before{content:"\F0FB5"}.mdi-file-sync::before{content:"\F1216"}.mdi-file-sync-outline::before{content:"\F1217"}.mdi-file-table::before{content:"\F0C7E"}.mdi-file-table-box::before{content:"\F10E1"}.mdi-file-table-box-multiple::before{content:"\F10E2"}.mdi-file-table-box-multiple-outline::before{content:"\F10E3"}.mdi-file-table-box-outline::before{content:"\F10E4"}.mdi-file-table-outline::before{content:"\F0C7F"}.mdi-file-tree::before{content:"\F0645"}.mdi-file-tree-outline::before{content:"\F13D2"}.mdi-file-undo::before{content:"\F08DC"}.mdi-file-undo-outline::before{content:"\F103C"}.mdi-file-upload::before{content:"\F0A4D"}.mdi-file-upload-outline::before{content:"\F0A4E"}.mdi-file-video::before{content:"\F022B"}.mdi-file-video-outline::before{content:"\F0E2C"}.mdi-file-word::before{content:"\F022C"}.mdi-file-word-box::before{content:"\F022D"}.mdi-file-word-box-outline::before{content:"\F103D"}.mdi-file-word-outline::before{content:"\F103E"}.mdi-file-xml-box::before{content:"\F1B4B"}.mdi-film::before{content:"\F022F"}.mdi-filmstrip::before{content:"\F0230"}.mdi-filmstrip-box::before{content:"\F0332"}.mdi-filmstrip-box-multiple::before{content:"\F0D18"}.mdi-filmstrip-off::before{content:"\F0231"}.mdi-filter::before{content:"\F0232"}.mdi-filter-check::before{content:"\F18EC"}.mdi-filter-check-outline::before{content:"\F18ED"}.mdi-filter-cog::before{content:"\F1AA3"}.mdi-filter-cog-outline::before{content:"\F1AA4"}.mdi-filter-menu::before{content:"\F10E5"}.mdi-filter-menu-outline::before{content:"\F10E6"}.mdi-filter-minus::before{content:"\F0EEE"}.mdi-filter-minus-outline::before{content:"\F0EEF"}.mdi-filter-multiple::before{content:"\F1A3F"}.mdi-filter-multiple-outline::before{content:"\F1A40"}.mdi-filter-off::before{content:"\F14EF"}.mdi-filter-off-outline::before{content:"\F14F0"}.mdi-filter-outline::before{content:"\F0233"}.mdi-filter-plus::before{content:"\F0EF0"}.mdi-filter-plus-outline::before{content:"\F0EF1"}.mdi-filter-remove::before{content:"\F0234"}.mdi-filter-remove-outline::before{content:"\F0235"}.mdi-filter-settings::before{content:"\F1AA5"}.mdi-filter-settings-outline::before{content:"\F1AA6"}.mdi-filter-variant::before{content:"\F0236"}.mdi-filter-variant-minus::before{content:"\F1112"}.mdi-filter-variant-plus::before{content:"\F1113"}.mdi-filter-variant-remove::before{content:"\F103F"}.mdi-finance::before{content:"\F081F"}.mdi-find-replace::before{content:"\F06D4"}.mdi-fingerprint::before{content:"\F0237"}.mdi-fingerprint-off::before{content:"\F0EB1"}.mdi-fire::before{content:"\F0238"}.mdi-fire-alert::before{content:"\F15D7"}.mdi-fire-circle::before{content:"\F1807"}.mdi-fire-extinguisher::before{content:"\F0EF2"}.mdi-fire-hydrant::before{content:"\F1137"}.mdi-fire-hydrant-alert::before{content:"\F1138"}.mdi-fire-hydrant-off::before{content:"\F1139"}.mdi-fire-off::before{content:"\F1722"}.mdi-fire-station::before{content:"\F1CC3"}.mdi-fire-truck::before{content:"\F08AB"}.mdi-firebase::before{content:"\F0967"}.mdi-firefox::before{content:"\F0239"}.mdi-fireplace::before{content:"\F0E2E"}.mdi-fireplace-off::before{content:"\F0E2F"}.mdi-firewire::before{content:"\F05BE"}.mdi-firework::before{content:"\F0E30"}.mdi-firework-off::before{content:"\F1723"}.mdi-fish::before{content:"\F023A"}.mdi-fish-off::before{content:"\F13F3"}.mdi-fishbowl::before{content:"\F0EF3"}.mdi-fishbowl-outline::before{content:"\F0EF4"}.mdi-fit-to-page::before{content:"\F0EF5"}.mdi-fit-to-page-outline::before{content:"\F0EF6"}.mdi-fit-to-screen::before{content:"\F18F4"}.mdi-fit-to-screen-outline::before{content:"\F18F5"}.mdi-flag::before{content:"\F023B"}.mdi-flag-checkered::before{content:"\F023C"}.mdi-flag-minus::before{content:"\F0B99"}.mdi-flag-minus-outline::before{content:"\F10B2"}.mdi-flag-off::before{content:"\F18EE"}.mdi-flag-off-outline::before{content:"\F18EF"}.mdi-flag-outline::before{content:"\F023D"}.mdi-flag-plus::before{content:"\F0B9A"}.mdi-flag-plus-outline::before{content:"\F10B3"}.mdi-flag-remove::before{content:"\F0B9B"}.mdi-flag-remove-outline::before{content:"\F10B4"}.mdi-flag-triangle::before{content:"\F023F"}.mdi-flag-variant::before{content:"\F0240"}.mdi-flag-variant-minus::before{content:"\F1BB4"}.mdi-flag-variant-minus-outline::before{content:"\F1BB5"}.mdi-flag-variant-off::before{content:"\F1BB0"}.mdi-flag-variant-off-outline::before{content:"\F1BB1"}.mdi-flag-variant-outline::before{content:"\F023E"}.mdi-flag-variant-plus::before{content:"\F1BB2"}.mdi-flag-variant-plus-outline::before{content:"\F1BB3"}.mdi-flag-variant-remove::before{content:"\F1BB6"}.mdi-flag-variant-remove-outline::before{content:"\F1BB7"}.mdi-flare::before{content:"\F0D72"}.mdi-flash::before{content:"\F0241"}.mdi-flash-alert::before{content:"\F0EF7"}.mdi-flash-alert-outline::before{content:"\F0EF8"}.mdi-flash-auto::before{content:"\F0242"}.mdi-flash-off::before{content:"\F0243"}.mdi-flash-off-outline::before{content:"\F1B45"}.mdi-flash-outline::before{content:"\F06D5"}.mdi-flash-red-eye::before{content:"\F067B"}.mdi-flash-triangle::before{content:"\F1B1D"}.mdi-flash-triangle-outline::before{content:"\F1B1E"}.mdi-flashlight::before{content:"\F0244"}.mdi-flashlight-off::before{content:"\F0245"}.mdi-flask::before{content:"\F0093"}.mdi-flask-empty::before{content:"\F0094"}.mdi-flask-empty-minus::before{content:"\F123A"}.mdi-flask-empty-minus-outline::before{content:"\F123B"}.mdi-flask-empty-off::before{content:"\F13F4"}.mdi-flask-empty-off-outline::before{content:"\F13F5"}.mdi-flask-empty-outline::before{content:"\F0095"}.mdi-flask-empty-plus::before{content:"\F123C"}.mdi-flask-empty-plus-outline::before{content:"\F123D"}.mdi-flask-empty-remove::before{content:"\F123E"}.mdi-flask-empty-remove-outline::before{content:"\F123F"}.mdi-flask-minus::before{content:"\F1240"}.mdi-flask-minus-outline::before{content:"\F1241"}.mdi-flask-off::before{content:"\F13F6"}.mdi-flask-off-outline::before{content:"\F13F7"}.mdi-flask-outline::before{content:"\F0096"}.mdi-flask-plus::before{content:"\F1242"}.mdi-flask-plus-outline::before{content:"\F1243"}.mdi-flask-remove::before{content:"\F1244"}.mdi-flask-remove-outline::before{content:"\F1245"}.mdi-flask-round-bottom::before{content:"\F124B"}.mdi-flask-round-bottom-empty::before{content:"\F124C"}.mdi-flask-round-bottom-empty-outline::before{content:"\F124D"}.mdi-flask-round-bottom-outline::before{content:"\F124E"}.mdi-fleur-de-lis::before{content:"\F1303"}.mdi-flip-horizontal::before{content:"\F10E7"}.mdi-flip-to-back::before{content:"\F0247"}.mdi-flip-to-front::before{content:"\F0248"}.mdi-flip-vertical::before{content:"\F10E8"}.mdi-floor-lamp::before{content:"\F08DD"}.mdi-floor-lamp-dual::before{content:"\F1040"}.mdi-floor-lamp-dual-outline::before{content:"\F17CE"}.mdi-floor-lamp-outline::before{content:"\F17C8"}.mdi-floor-lamp-torchiere::before{content:"\F1747"}.mdi-floor-lamp-torchiere-outline::before{content:"\F17D6"}.mdi-floor-lamp-torchiere-variant::before{content:"\F1041"}.mdi-floor-lamp-torchiere-variant-outline::before{content:"\F17CF"}.mdi-floor-plan::before{content:"\F0821"}.mdi-floppy::before{content:"\F0249"}.mdi-floppy-variant::before{content:"\F09EF"}.mdi-flower::before{content:"\F024A"}.mdi-flower-outline::before{content:"\F09F0"}.mdi-flower-pollen::before{content:"\F1885"}.mdi-flower-pollen-outline::before{content:"\F1886"}.mdi-flower-poppy::before{content:"\F0D08"}.mdi-flower-tulip::before{content:"\F09F1"}.mdi-flower-tulip-outline::before{content:"\F09F2"}.mdi-focus-auto::before{content:"\F0F4E"}.mdi-focus-field::before{content:"\F0F4F"}.mdi-focus-field-horizontal::before{content:"\F0F50"}.mdi-focus-field-vertical::before{content:"\F0F51"}.mdi-folder::before{content:"\F024B"}.mdi-folder-account::before{content:"\F024C"}.mdi-folder-account-outline::before{content:"\F0B9C"}.mdi-folder-alert::before{content:"\F0DCC"}.mdi-folder-alert-outline::before{content:"\F0DCD"}.mdi-folder-arrow-down::before{content:"\F19E8"}.mdi-folder-arrow-down-outline::before{content:"\F19E9"}.mdi-folder-arrow-left::before{content:"\F19EA"}.mdi-folder-arrow-left-outline::before{content:"\F19EB"}.mdi-folder-arrow-left-right::before{content:"\F19EC"}.mdi-folder-arrow-left-right-outline::before{content:"\F19ED"}.mdi-folder-arrow-right::before{content:"\F19EE"}.mdi-folder-arrow-right-outline::before{content:"\F19EF"}.mdi-folder-arrow-up::before{content:"\F19F0"}.mdi-folder-arrow-up-down::before{content:"\F19F1"}.mdi-folder-arrow-up-down-outline::before{content:"\F19F2"}.mdi-folder-arrow-up-outline::before{content:"\F19F3"}.mdi-folder-cancel::before{content:"\F19F4"}.mdi-folder-cancel-outline::before{content:"\F19F5"}.mdi-folder-check::before{content:"\F197E"}.mdi-folder-check-outline::before{content:"\F197F"}.mdi-folder-clock::before{content:"\F0ABA"}.mdi-folder-clock-outline::before{content:"\F0ABB"}.mdi-folder-cog::before{content:"\F107F"}.mdi-folder-cog-outline::before{content:"\F1080"}.mdi-folder-download::before{content:"\F024D"}.mdi-folder-download-outline::before{content:"\F10E9"}.mdi-folder-edit::before{content:"\F08DE"}.mdi-folder-edit-outline::before{content:"\F0DCE"}.mdi-folder-eye::before{content:"\F178A"}.mdi-folder-eye-outline::before{content:"\F178B"}.mdi-folder-file::before{content:"\F19F6"}.mdi-folder-file-outline::before{content:"\F19F7"}.mdi-folder-google-drive::before{content:"\F024E"}.mdi-folder-heart::before{content:"\F10EA"}.mdi-folder-heart-outline::before{content:"\F10EB"}.mdi-folder-hidden::before{content:"\F179E"}.mdi-folder-home::before{content:"\F10B5"}.mdi-folder-home-outline::before{content:"\F10B6"}.mdi-folder-image::before{content:"\F024F"}.mdi-folder-information::before{content:"\F10B7"}.mdi-folder-information-outline::before{content:"\F10B8"}.mdi-folder-key::before{content:"\F08AC"}.mdi-folder-key-network::before{content:"\F08AD"}.mdi-folder-key-network-outline::before{content:"\F0C80"}.mdi-folder-key-outline::before{content:"\F10EC"}.mdi-folder-lock::before{content:"\F0250"}.mdi-folder-lock-open::before{content:"\F0251"}.mdi-folder-lock-open-outline::before{content:"\F1AA7"}.mdi-folder-lock-outline::before{content:"\F1AA8"}.mdi-folder-marker::before{content:"\F126D"}.mdi-folder-marker-outline::before{content:"\F126E"}.mdi-folder-minus::before{content:"\F1B49"}.mdi-folder-minus-outline::before{content:"\F1B4A"}.mdi-folder-move::before{content:"\F0252"}.mdi-folder-move-outline::before{content:"\F1246"}.mdi-folder-multiple::before{content:"\F0253"}.mdi-folder-multiple-image::before{content:"\F0254"}.mdi-folder-multiple-outline::before{content:"\F0255"}.mdi-folder-multiple-plus::before{content:"\F147E"}.mdi-folder-multiple-plus-outline::before{content:"\F147F"}.mdi-folder-music::before{content:"\F1359"}.mdi-folder-music-outline::before{content:"\F135A"}.mdi-folder-network::before{content:"\F0870"}.mdi-folder-network-outline::before{content:"\F0C81"}.mdi-folder-off::before{content:"\F19F8"}.mdi-folder-off-outline::before{content:"\F19F9"}.mdi-folder-open::before{content:"\F0770"}.mdi-folder-open-outline::before{content:"\F0DCF"}.mdi-folder-outline::before{content:"\F0256"}.mdi-folder-play::before{content:"\F19FA"}.mdi-folder-play-outline::before{content:"\F19FB"}.mdi-folder-plus::before{content:"\F0257"}.mdi-folder-plus-outline::before{content:"\F0B9D"}.mdi-folder-pound::before{content:"\F0D09"}.mdi-folder-pound-outline::before{content:"\F0D0A"}.mdi-folder-question::before{content:"\F19CA"}.mdi-folder-question-outline::before{content:"\F19CB"}.mdi-folder-refresh::before{content:"\F0749"}.mdi-folder-refresh-outline::before{content:"\F0542"}.mdi-folder-remove::before{content:"\F0258"}.mdi-folder-remove-outline::before{content:"\F0B9E"}.mdi-folder-search::before{content:"\F0968"}.mdi-folder-search-outline::before{content:"\F0969"}.mdi-folder-settings::before{content:"\F107D"}.mdi-folder-settings-outline::before{content:"\F107E"}.mdi-folder-star::before{content:"\F069D"}.mdi-folder-star-multiple::before{content:"\F13D3"}.mdi-folder-star-multiple-outline::before{content:"\F13D4"}.mdi-folder-star-outline::before{content:"\F0B9F"}.mdi-folder-swap::before{content:"\F0FB6"}.mdi-folder-swap-outline::before{content:"\F0FB7"}.mdi-folder-sync::before{content:"\F0D0B"}.mdi-folder-sync-outline::before{content:"\F0D0C"}.mdi-folder-table::before{content:"\F12E3"}.mdi-folder-table-outline::before{content:"\F12E4"}.mdi-folder-text::before{content:"\F0C82"}.mdi-folder-text-outline::before{content:"\F0C83"}.mdi-folder-upload::before{content:"\F0259"}.mdi-folder-upload-outline::before{content:"\F10ED"}.mdi-folder-wrench::before{content:"\F19FC"}.mdi-folder-wrench-outline::before{content:"\F19FD"}.mdi-folder-zip::before{content:"\F06EB"}.mdi-folder-zip-outline::before{content:"\F07B9"}.mdi-font-awesome::before{content:"\F003A"}.mdi-food::before{content:"\F025A"}.mdi-food-apple::before{content:"\F025B"}.mdi-food-apple-outline::before{content:"\F0C84"}.mdi-food-croissant::before{content:"\F07C8"}.mdi-food-drumstick::before{content:"\F141F"}.mdi-food-drumstick-off::before{content:"\F1468"}.mdi-food-drumstick-off-outline::before{content:"\F1469"}.mdi-food-drumstick-outline::before{content:"\F1420"}.mdi-food-fork-drink::before{content:"\F05F2"}.mdi-food-halal::before{content:"\F1572"}.mdi-food-hot-dog::before{content:"\F184B"}.mdi-food-kosher::before{content:"\F1573"}.mdi-food-off::before{content:"\F05F3"}.mdi-food-off-outline::before{content:"\F1915"}.mdi-food-outline::before{content:"\F1916"}.mdi-food-steak::before{content:"\F146A"}.mdi-food-steak-off::before{content:"\F146B"}.mdi-food-takeout-box::before{content:"\F1836"}.mdi-food-takeout-box-outline::before{content:"\F1837"}.mdi-food-turkey::before{content:"\F171C"}.mdi-food-variant::before{content:"\F025C"}.mdi-food-variant-off::before{content:"\F13E5"}.mdi-foot-print::before{content:"\F0F52"}.mdi-football::before{content:"\F025D"}.mdi-football-australian::before{content:"\F025E"}.mdi-football-helmet::before{content:"\F025F"}.mdi-forest::before{content:"\F1897"}.mdi-forest-outline::before{content:"\F1C63"}.mdi-forklift::before{content:"\F07C9"}.mdi-form-dropdown::before{content:"\F1400"}.mdi-form-select::before{content:"\F1401"}.mdi-form-textarea::before{content:"\F1095"}.mdi-form-textbox::before{content:"\F060E"}.mdi-form-textbox-lock::before{content:"\F135D"}.mdi-form-textbox-password::before{content:"\F07F5"}.mdi-format-align-bottom::before{content:"\F0753"}.mdi-format-align-center::before{content:"\F0260"}.mdi-format-align-justify::before{content:"\F0261"}.mdi-format-align-left::before{content:"\F0262"}.mdi-format-align-middle::before{content:"\F0754"}.mdi-format-align-right::before{content:"\F0263"}.mdi-format-align-top::before{content:"\F0755"}.mdi-format-annotation-minus::before{content:"\F0ABC"}.mdi-format-annotation-plus::before{content:"\F0646"}.mdi-format-bold::before{content:"\F0264"}.mdi-format-clear::before{content:"\F0265"}.mdi-format-color-fill::before{content:"\F0266"}.mdi-format-color-highlight::before{content:"\F0E31"}.mdi-format-color-marker-cancel::before{content:"\F1313"}.mdi-format-color-text::before{content:"\F069E"}.mdi-format-columns::before{content:"\F08DF"}.mdi-format-float-center::before{content:"\F0267"}.mdi-format-float-left::before{content:"\F0268"}.mdi-format-float-none::before{content:"\F0269"}.mdi-format-float-right::before{content:"\F026A"}.mdi-format-font::before{content:"\F06D6"}.mdi-format-font-size-decrease::before{content:"\F09F3"}.mdi-format-font-size-increase::before{content:"\F09F4"}.mdi-format-header-1::before{content:"\F026B"}.mdi-format-header-2::before{content:"\F026C"}.mdi-format-header-3::before{content:"\F026D"}.mdi-format-header-4::before{content:"\F026E"}.mdi-format-header-5::before{content:"\F026F"}.mdi-format-header-6::before{content:"\F0270"}.mdi-format-header-decrease::before{content:"\F0271"}.mdi-format-header-equal::before{content:"\F0272"}.mdi-format-header-increase::before{content:"\F0273"}.mdi-format-header-pound::before{content:"\F0274"}.mdi-format-horizontal-align-center::before{content:"\F061E"}.mdi-format-horizontal-align-left::before{content:"\F061F"}.mdi-format-horizontal-align-right::before{content:"\F0620"}.mdi-format-indent-decrease::before{content:"\F0275"}.mdi-format-indent-increase::before{content:"\F0276"}.mdi-format-italic::before{content:"\F0277"}.mdi-format-letter-case::before{content:"\F0B34"}.mdi-format-letter-case-lower::before{content:"\F0B35"}.mdi-format-letter-case-upper::before{content:"\F0B36"}.mdi-format-letter-ends-with::before{content:"\F0FB8"}.mdi-format-letter-matches::before{content:"\F0FB9"}.mdi-format-letter-spacing::before{content:"\F1956"}.mdi-format-letter-spacing-variant::before{content:"\F1AFB"}.mdi-format-letter-starts-with::before{content:"\F0FBA"}.mdi-format-line-height::before{content:"\F1AFC"}.mdi-format-line-spacing::before{content:"\F0278"}.mdi-format-line-style::before{content:"\F05C8"}.mdi-format-line-weight::before{content:"\F05C9"}.mdi-format-list-bulleted::before{content:"\F0279"}.mdi-format-list-bulleted-square::before{content:"\F0DD0"}.mdi-format-list-bulleted-triangle::before{content:"\F0EB2"}.mdi-format-list-bulleted-type::before{content:"\F027A"}.mdi-format-list-checkbox::before{content:"\F096A"}.mdi-format-list-checks::before{content:"\F0756"}.mdi-format-list-group::before{content:"\F1860"}.mdi-format-list-group-plus::before{content:"\F1B56"}.mdi-format-list-numbered::before{content:"\F027B"}.mdi-format-list-numbered-rtl::before{content:"\F0D0D"}.mdi-format-list-text::before{content:"\F126F"}.mdi-format-overline::before{content:"\F0EB3"}.mdi-format-page-break::before{content:"\F06D7"}.mdi-format-page-split::before{content:"\F1917"}.mdi-format-paint::before{content:"\F027C"}.mdi-format-paragraph::before{content:"\F027D"}.mdi-format-paragraph-spacing::before{content:"\F1AFD"}.mdi-format-pilcrow::before{content:"\F06D8"}.mdi-format-pilcrow-arrow-left::before{content:"\F0286"}.mdi-format-pilcrow-arrow-right::before{content:"\F0285"}.mdi-format-quote-close::before{content:"\F027E"}.mdi-format-quote-close-outline::before{content:"\F11A8"}.mdi-format-quote-open::before{content:"\F0757"}.mdi-format-quote-open-outline::before{content:"\F11A7"}.mdi-format-rotate-90::before{content:"\F06AA"}.mdi-format-section::before{content:"\F069F"}.mdi-format-size::before{content:"\F027F"}.mdi-format-strikethrough::before{content:"\F0280"}.mdi-format-strikethrough-variant::before{content:"\F0281"}.mdi-format-subscript::before{content:"\F0282"}.mdi-format-superscript::before{content:"\F0283"}.mdi-format-text::before{content:"\F0284"}.mdi-format-text-rotation-angle-down::before{content:"\F0FBB"}.mdi-format-text-rotation-angle-up::before{content:"\F0FBC"}.mdi-format-text-rotation-down::before{content:"\F0D73"}.mdi-format-text-rotation-down-vertical::before{content:"\F0FBD"}.mdi-format-text-rotation-none::before{content:"\F0D74"}.mdi-format-text-rotation-up::before{content:"\F0FBE"}.mdi-format-text-rotation-vertical::before{content:"\F0FBF"}.mdi-format-text-variant::before{content:"\F0E32"}.mdi-format-text-variant-outline::before{content:"\F150F"}.mdi-format-text-wrapping-clip::before{content:"\F0D0E"}.mdi-format-text-wrapping-overflow::before{content:"\F0D0F"}.mdi-format-text-wrapping-wrap::before{content:"\F0D10"}.mdi-format-textbox::before{content:"\F0D11"}.mdi-format-title::before{content:"\F05F4"}.mdi-format-underline::before{content:"\F0287"}.mdi-format-underline-wavy::before{content:"\F18E9"}.mdi-format-vertical-align-bottom::before{content:"\F0621"}.mdi-format-vertical-align-center::before{content:"\F0622"}.mdi-format-vertical-align-top::before{content:"\F0623"}.mdi-format-wrap-inline::before{content:"\F0288"}.mdi-format-wrap-square::before{content:"\F0289"}.mdi-format-wrap-tight::before{content:"\F028A"}.mdi-format-wrap-top-bottom::before{content:"\F028B"}.mdi-forum::before{content:"\F028C"}.mdi-forum-minus::before{content:"\F1AA9"}.mdi-forum-minus-outline::before{content:"\F1AAA"}.mdi-forum-outline::before{content:"\F0822"}.mdi-forum-plus::before{content:"\F1AAB"}.mdi-forum-plus-outline::before{content:"\F1AAC"}.mdi-forum-remove::before{content:"\F1AAD"}.mdi-forum-remove-outline::before{content:"\F1AAE"}.mdi-forward::before{content:"\F028D"}.mdi-forwardburger::before{content:"\F0D75"}.mdi-fountain::before{content:"\F096B"}.mdi-fountain-pen::before{content:"\F0D12"}.mdi-fountain-pen-tip::before{content:"\F0D13"}.mdi-fraction-one-half::before{content:"\F1992"}.mdi-freebsd::before{content:"\F08E0"}.mdi-french-fries::before{content:"\F1957"}.mdi-frequently-asked-questions::before{content:"\F0EB4"}.mdi-fridge::before{content:"\F0290"}.mdi-fridge-alert::before{content:"\F11B1"}.mdi-fridge-alert-outline::before{content:"\F11B2"}.mdi-fridge-bottom::before{content:"\F0292"}.mdi-fridge-industrial::before{content:"\F15EE"}.mdi-fridge-industrial-alert::before{content:"\F15EF"}.mdi-fridge-industrial-alert-outline::before{content:"\F15F0"}.mdi-fridge-industrial-off::before{content:"\F15F1"}.mdi-fridge-industrial-off-outline::before{content:"\F15F2"}.mdi-fridge-industrial-outline::before{content:"\F15F3"}.mdi-fridge-off::before{content:"\F11AF"}.mdi-fridge-off-outline::before{content:"\F11B0"}.mdi-fridge-outline::before{content:"\F028F"}.mdi-fridge-top::before{content:"\F0291"}.mdi-fridge-variant::before{content:"\F15F4"}.mdi-fridge-variant-alert::before{content:"\F15F5"}.mdi-fridge-variant-alert-outline::before{content:"\F15F6"}.mdi-fridge-variant-off::before{content:"\F15F7"}.mdi-fridge-variant-off-outline::before{content:"\F15F8"}.mdi-fridge-variant-outline::before{content:"\F15F9"}.mdi-fruit-cherries::before{content:"\F1042"}.mdi-fruit-cherries-off::before{content:"\F13F8"}.mdi-fruit-citrus::before{content:"\F1043"}.mdi-fruit-citrus-off::before{content:"\F13F9"}.mdi-fruit-grapes::before{content:"\F1044"}.mdi-fruit-grapes-outline::before{content:"\F1045"}.mdi-fruit-pear::before{content:"\F1A0E"}.mdi-fruit-pineapple::before{content:"\F1046"}.mdi-fruit-watermelon::before{content:"\F1047"}.mdi-fuel::before{content:"\F07CA"}.mdi-fuel-cell::before{content:"\F18B5"}.mdi-fullscreen::before{content:"\F0293"}.mdi-fullscreen-exit::before{content:"\F0294"}.mdi-function::before{content:"\F0295"}.mdi-function-variant::before{content:"\F0871"}.mdi-furigana-horizontal::before{content:"\F1081"}.mdi-furigana-vertical::before{content:"\F1082"}.mdi-fuse::before{content:"\F0C85"}.mdi-fuse-alert::before{content:"\F142D"}.mdi-fuse-blade::before{content:"\F0C86"}.mdi-fuse-off::before{content:"\F142C"}.mdi-gamepad::before{content:"\F0296"}.mdi-gamepad-circle::before{content:"\F0E33"}.mdi-gamepad-circle-down::before{content:"\F0E34"}.mdi-gamepad-circle-left::before{content:"\F0E35"}.mdi-gamepad-circle-outline::before{content:"\F0E36"}.mdi-gamepad-circle-right::before{content:"\F0E37"}.mdi-gamepad-circle-up::before{content:"\F0E38"}.mdi-gamepad-down::before{content:"\F0E39"}.mdi-gamepad-left::before{content:"\F0E3A"}.mdi-gamepad-outline::before{content:"\F1919"}.mdi-gamepad-right::before{content:"\F0E3B"}.mdi-gamepad-round::before{content:"\F0E3C"}.mdi-gamepad-round-down::before{content:"\F0E3D"}.mdi-gamepad-round-left::before{content:"\F0E3E"}.mdi-gamepad-round-outline::before{content:"\F0E3F"}.mdi-gamepad-round-right::before{content:"\F0E40"}.mdi-gamepad-round-up::before{content:"\F0E41"}.mdi-gamepad-square::before{content:"\F0EB5"}.mdi-gamepad-square-outline::before{content:"\F0EB6"}.mdi-gamepad-up::before{content:"\F0E42"}.mdi-gamepad-variant::before{content:"\F0297"}.mdi-gamepad-variant-outline::before{content:"\F0EB7"}.mdi-gamma::before{content:"\F10EE"}.mdi-gantry-crane::before{content:"\F0DD1"}.mdi-garage::before{content:"\F06D9"}.mdi-garage-alert::before{content:"\F0872"}.mdi-garage-alert-variant::before{content:"\F12D5"}.mdi-garage-lock::before{content:"\F17FB"}.mdi-garage-open::before{content:"\F06DA"}.mdi-garage-open-variant::before{content:"\F12D4"}.mdi-garage-variant::before{content:"\F12D3"}.mdi-garage-variant-lock::before{content:"\F17FC"}.mdi-gas-burner::before{content:"\F1A1B"}.mdi-gas-cylinder::before{content:"\F0647"}.mdi-gas-station::before{content:"\F0298"}.mdi-gas-station-in-use::before{content:"\F1CC4"}.mdi-gas-station-in-use-outline::before{content:"\F1CC5"}.mdi-gas-station-off::before{content:"\F1409"}.mdi-gas-station-off-outline::before{content:"\F140A"}.mdi-gas-station-outline::before{content:"\F0EB8"}.mdi-gate::before{content:"\F0299"}.mdi-gate-alert::before{content:"\F17F8"}.mdi-gate-and::before{content:"\F08E1"}.mdi-gate-arrow-left::before{content:"\F17F7"}.mdi-gate-arrow-right::before{content:"\F1169"}.mdi-gate-buffer::before{content:"\F1AFE"}.mdi-gate-nand::before{content:"\F08E2"}.mdi-gate-nor::before{content:"\F08E3"}.mdi-gate-not::before{content:"\F08E4"}.mdi-gate-open::before{content:"\F116A"}.mdi-gate-or::before{content:"\F08E5"}.mdi-gate-xnor::before{content:"\F08E6"}.mdi-gate-xor::before{content:"\F08E7"}.mdi-gatsby::before{content:"\F0E43"}.mdi-gauge::before{content:"\F029A"}.mdi-gauge-empty::before{content:"\F0873"}.mdi-gauge-full::before{content:"\F0874"}.mdi-gauge-low::before{content:"\F0875"}.mdi-gavel::before{content:"\F029B"}.mdi-gender-female::before{content:"\F029C"}.mdi-gender-male::before{content:"\F029D"}.mdi-gender-male-female::before{content:"\F029E"}.mdi-gender-male-female-variant::before{content:"\F113F"}.mdi-gender-non-binary::before{content:"\F1140"}.mdi-gender-transgender::before{content:"\F029F"}.mdi-generator-mobile::before{content:"\F1C8A"}.mdi-generator-portable::before{content:"\F1C8B"}.mdi-generator-stationary::before{content:"\F1C8C"}.mdi-gentoo::before{content:"\F08E8"}.mdi-gesture::before{content:"\F07CB"}.mdi-gesture-double-tap::before{content:"\F073C"}.mdi-gesture-pinch::before{content:"\F0ABD"}.mdi-gesture-spread::before{content:"\F0ABE"}.mdi-gesture-swipe::before{content:"\F0D76"}.mdi-gesture-swipe-down::before{content:"\F073D"}.mdi-gesture-swipe-horizontal::before{content:"\F0ABF"}.mdi-gesture-swipe-left::before{content:"\F073E"}.mdi-gesture-swipe-right::before{content:"\F073F"}.mdi-gesture-swipe-up::before{content:"\F0740"}.mdi-gesture-swipe-vertical::before{content:"\F0AC0"}.mdi-gesture-tap::before{content:"\F0741"}.mdi-gesture-tap-box::before{content:"\F12A9"}.mdi-gesture-tap-button::before{content:"\F12A8"}.mdi-gesture-tap-hold::before{content:"\F0D77"}.mdi-gesture-two-double-tap::before{content:"\F0742"}.mdi-gesture-two-tap::before{content:"\F0743"}.mdi-ghost::before{content:"\F02A0"}.mdi-ghost-off::before{content:"\F09F5"}.mdi-ghost-off-outline::before{content:"\F165C"}.mdi-ghost-outline::before{content:"\F165D"}.mdi-gift::before{content:"\F0E44"}.mdi-gift-off::before{content:"\F16EF"}.mdi-gift-off-outline::before{content:"\F16F0"}.mdi-gift-open::before{content:"\F16F1"}.mdi-gift-open-outline::before{content:"\F16F2"}.mdi-gift-outline::before{content:"\F02A1"}.mdi-git::before{content:"\F02A2"}.mdi-github::before{content:"\F02A4"}.mdi-gitlab::before{content:"\F0BA0"}.mdi-glass-cocktail::before{content:"\F0356"}.mdi-glass-cocktail-off::before{content:"\F15E6"}.mdi-glass-flute::before{content:"\F02A5"}.mdi-glass-fragile::before{content:"\F1873"}.mdi-glass-mug::before{content:"\F02A6"}.mdi-glass-mug-off::before{content:"\F15E7"}.mdi-glass-mug-variant::before{content:"\F1116"}.mdi-glass-mug-variant-off::before{content:"\F15E8"}.mdi-glass-pint-outline::before{content:"\F130D"}.mdi-glass-stange::before{content:"\F02A7"}.mdi-glass-tulip::before{content:"\F02A8"}.mdi-glass-wine::before{content:"\F0876"}.mdi-glasses::before{content:"\F02AA"}.mdi-globe-light::before{content:"\F066F"}.mdi-globe-light-outline::before{content:"\F12D7"}.mdi-globe-model::before{content:"\F08E9"}.mdi-gmail::before{content:"\F02AB"}.mdi-gnome::before{content:"\F02AC"}.mdi-go-kart::before{content:"\F0D79"}.mdi-go-kart-track::before{content:"\F0D7A"}.mdi-gog::before{content:"\F0BA1"}.mdi-gold::before{content:"\F124F"}.mdi-golf::before{content:"\F0823"}.mdi-golf-cart::before{content:"\F11A4"}.mdi-golf-tee::before{content:"\F1083"}.mdi-gondola::before{content:"\F0686"}.mdi-goodreads::before{content:"\F0D7B"}.mdi-google::before{content:"\F02AD"}.mdi-google-ads::before{content:"\F0C87"}.mdi-google-analytics::before{content:"\F07CC"}.mdi-google-assistant::before{content:"\F07CD"}.mdi-google-cardboard::before{content:"\F02AE"}.mdi-google-chrome::before{content:"\F02AF"}.mdi-google-circles::before{content:"\F02B0"}.mdi-google-circles-communities::before{content:"\F02B1"}.mdi-google-circles-extended::before{content:"\F02B2"}.mdi-google-circles-group::before{content:"\F02B3"}.mdi-google-classroom::before{content:"\F02C0"}.mdi-google-cloud::before{content:"\F11F6"}.mdi-google-downasaur::before{content:"\F1362"}.mdi-google-drive::before{content:"\F02B6"}.mdi-google-earth::before{content:"\F02B7"}.mdi-google-fit::before{content:"\F096C"}.mdi-google-glass::before{content:"\F02B8"}.mdi-google-hangouts::before{content:"\F02C9"}.mdi-google-keep::before{content:"\F06DC"}.mdi-google-lens::before{content:"\F09F6"}.mdi-google-maps::before{content:"\F05F5"}.mdi-google-my-business::before{content:"\F1048"}.mdi-google-nearby::before{content:"\F02B9"}.mdi-google-play::before{content:"\F02BC"}.mdi-google-plus::before{content:"\F02BD"}.mdi-google-podcast::before{content:"\F0EB9"}.mdi-google-spreadsheet::before{content:"\F09F7"}.mdi-google-street-view::before{content:"\F0C88"}.mdi-google-translate::before{content:"\F02BF"}.mdi-gradient-horizontal::before{content:"\F174A"}.mdi-gradient-vertical::before{content:"\F06A0"}.mdi-grain::before{content:"\F0D7C"}.mdi-graph::before{content:"\F1049"}.mdi-graph-outline::before{content:"\F104A"}.mdi-graphql::before{content:"\F0877"}.mdi-grass::before{content:"\F1510"}.mdi-grave-stone::before{content:"\F0BA2"}.mdi-grease-pencil::before{content:"\F0648"}.mdi-greater-than::before{content:"\F096D"}.mdi-greater-than-or-equal::before{content:"\F096E"}.mdi-greenhouse::before{content:"\F002D"}.mdi-grid::before{content:"\F02C1"}.mdi-grid-large::before{content:"\F0758"}.mdi-grid-off::before{content:"\F02C2"}.mdi-grill::before{content:"\F0E45"}.mdi-grill-outline::before{content:"\F118A"}.mdi-group::before{content:"\F02C3"}.mdi-guitar-acoustic::before{content:"\F0771"}.mdi-guitar-electric::before{content:"\F02C4"}.mdi-guitar-pick::before{content:"\F02C5"}.mdi-guitar-pick-outline::before{content:"\F02C6"}.mdi-guy-fawkes-mask::before{content:"\F0825"}.mdi-gymnastics::before{content:"\F1A41"}.mdi-hail::before{content:"\F0AC1"}.mdi-hair-dryer::before{content:"\F10EF"}.mdi-hair-dryer-outline::before{content:"\F10F0"}.mdi-halloween::before{content:"\F0BA3"}.mdi-hamburger::before{content:"\F0685"}.mdi-hamburger-check::before{content:"\F1776"}.mdi-hamburger-minus::before{content:"\F1777"}.mdi-hamburger-off::before{content:"\F1778"}.mdi-hamburger-plus::before{content:"\F1779"}.mdi-hamburger-remove::before{content:"\F177A"}.mdi-hammer::before{content:"\F08EA"}.mdi-hammer-screwdriver::before{content:"\F1322"}.mdi-hammer-sickle::before{content:"\F1887"}.mdi-hammer-wrench::before{content:"\F1323"}.mdi-hand-back-left::before{content:"\F0E46"}.mdi-hand-back-left-off::before{content:"\F1830"}.mdi-hand-back-left-off-outline::before{content:"\F1832"}.mdi-hand-back-left-outline::before{content:"\F182C"}.mdi-hand-back-right::before{content:"\F0E47"}.mdi-hand-back-right-off::before{content:"\F1831"}.mdi-hand-back-right-off-outline::before{content:"\F1833"}.mdi-hand-back-right-outline::before{content:"\F182D"}.mdi-hand-clap::before{content:"\F194B"}.mdi-hand-clap-off::before{content:"\F1A42"}.mdi-hand-coin::before{content:"\F188F"}.mdi-hand-coin-outline::before{content:"\F1890"}.mdi-hand-cycle::before{content:"\F1B9C"}.mdi-hand-extended::before{content:"\F18B6"}.mdi-hand-extended-outline::before{content:"\F18B7"}.mdi-hand-front-left::before{content:"\F182B"}.mdi-hand-front-left-outline::before{content:"\F182E"}.mdi-hand-front-right::before{content:"\F0A4F"}.mdi-hand-front-right-outline::before{content:"\F182F"}.mdi-hand-heart::before{content:"\F10F1"}.mdi-hand-heart-outline::before{content:"\F157E"}.mdi-hand-okay::before{content:"\F0A50"}.mdi-hand-peace::before{content:"\F0A51"}.mdi-hand-peace-variant::before{content:"\F0A52"}.mdi-hand-pointing-down::before{content:"\F0A53"}.mdi-hand-pointing-left::before{content:"\F0A54"}.mdi-hand-pointing-right::before{content:"\F02C7"}.mdi-hand-pointing-up::before{content:"\F0A55"}.mdi-hand-saw::before{content:"\F0E48"}.mdi-hand-wash::before{content:"\F157F"}.mdi-hand-wash-outline::before{content:"\F1580"}.mdi-hand-water::before{content:"\F139F"}.mdi-hand-wave::before{content:"\F1821"}.mdi-hand-wave-outline::before{content:"\F1822"}.mdi-handball::before{content:"\F0F53"}.mdi-handcuffs::before{content:"\F113E"}.mdi-hands-pray::before{content:"\F0579"}.mdi-handshake::before{content:"\F1218"}.mdi-handshake-outline::before{content:"\F15A1"}.mdi-hanger::before{content:"\F02C8"}.mdi-hard-hat::before{content:"\F096F"}.mdi-harddisk::before{content:"\F02CA"}.mdi-harddisk-plus::before{content:"\F104B"}.mdi-harddisk-remove::before{content:"\F104C"}.mdi-hat-fedora::before{content:"\F0BA4"}.mdi-hazard-lights::before{content:"\F0C89"}.mdi-hdmi-port::before{content:"\F1BB8"}.mdi-hdr::before{content:"\F0D7D"}.mdi-hdr-off::before{content:"\F0D7E"}.mdi-head::before{content:"\F135E"}.mdi-head-alert::before{content:"\F1338"}.mdi-head-alert-outline::before{content:"\F1339"}.mdi-head-check::before{content:"\F133A"}.mdi-head-check-outline::before{content:"\F133B"}.mdi-head-cog::before{content:"\F133C"}.mdi-head-cog-outline::before{content:"\F133D"}.mdi-head-dots-horizontal::before{content:"\F133E"}.mdi-head-dots-horizontal-outline::before{content:"\F133F"}.mdi-head-flash::before{content:"\F1340"}.mdi-head-flash-outline::before{content:"\F1341"}.mdi-head-heart::before{content:"\F1342"}.mdi-head-heart-outline::before{content:"\F1343"}.mdi-head-lightbulb::before{content:"\F1344"}.mdi-head-lightbulb-outline::before{content:"\F1345"}.mdi-head-minus::before{content:"\F1346"}.mdi-head-minus-outline::before{content:"\F1347"}.mdi-head-outline::before{content:"\F135F"}.mdi-head-plus::before{content:"\F1348"}.mdi-head-plus-outline::before{content:"\F1349"}.mdi-head-question::before{content:"\F134A"}.mdi-head-question-outline::before{content:"\F134B"}.mdi-head-remove::before{content:"\F134C"}.mdi-head-remove-outline::before{content:"\F134D"}.mdi-head-snowflake::before{content:"\F134E"}.mdi-head-snowflake-outline::before{content:"\F134F"}.mdi-head-sync::before{content:"\F1350"}.mdi-head-sync-outline::before{content:"\F1351"}.mdi-headphones::before{content:"\F02CB"}.mdi-headphones-bluetooth::before{content:"\F0970"}.mdi-headphones-box::before{content:"\F02CC"}.mdi-headphones-off::before{content:"\F07CE"}.mdi-headphones-settings::before{content:"\F02CD"}.mdi-headset::before{content:"\F02CE"}.mdi-headset-dock::before{content:"\F02CF"}.mdi-headset-off::before{content:"\F02D0"}.mdi-heart::before{content:"\F02D1"}.mdi-heart-box::before{content:"\F02D2"}.mdi-heart-box-outline::before{content:"\F02D3"}.mdi-heart-broken::before{content:"\F02D4"}.mdi-heart-broken-outline::before{content:"\F0D14"}.mdi-heart-circle::before{content:"\F0971"}.mdi-heart-circle-outline::before{content:"\F0972"}.mdi-heart-cog::before{content:"\F1663"}.mdi-heart-cog-outline::before{content:"\F1664"}.mdi-heart-flash::before{content:"\F0EF9"}.mdi-heart-half::before{content:"\F06DF"}.mdi-heart-half-full::before{content:"\F06DE"}.mdi-heart-half-outline::before{content:"\F06E0"}.mdi-heart-minus::before{content:"\F142F"}.mdi-heart-minus-outline::before{content:"\F1432"}.mdi-heart-multiple::before{content:"\F0A56"}.mdi-heart-multiple-outline::before{content:"\F0A57"}.mdi-heart-off::before{content:"\F0759"}.mdi-heart-off-outline::before{content:"\F1434"}.mdi-heart-outline::before{content:"\F02D5"}.mdi-heart-plus::before{content:"\F142E"}.mdi-heart-plus-outline::before{content:"\F1431"}.mdi-heart-pulse::before{content:"\F05F6"}.mdi-heart-remove::before{content:"\F1430"}.mdi-heart-remove-outline::before{content:"\F1433"}.mdi-heart-search::before{content:"\F1C8D"}.mdi-heart-settings::before{content:"\F1665"}.mdi-heart-settings-outline::before{content:"\F1666"}.mdi-heat-pump::before{content:"\F1A43"}.mdi-heat-pump-outline::before{content:"\F1A44"}.mdi-heat-wave::before{content:"\F1A45"}.mdi-heating-coil::before{content:"\F1AAF"}.mdi-helicopter::before{content:"\F0AC2"}.mdi-help::before{content:"\F02D6"}.mdi-help-box::before{content:"\F078B"}.mdi-help-box-multiple::before{content:"\F1C0A"}.mdi-help-box-multiple-outline::before{content:"\F1C0B"}.mdi-help-box-outline::before{content:"\F1C0C"}.mdi-help-circle::before{content:"\F02D7"}.mdi-help-circle-outline::before{content:"\F0625"}.mdi-help-network::before{content:"\F06F5"}.mdi-help-network-outline::before{content:"\F0C8A"}.mdi-help-rhombus::before{content:"\F0BA5"}.mdi-help-rhombus-outline::before{content:"\F0BA6"}.mdi-hexadecimal::before{content:"\F12A7"}.mdi-hexagon::before{content:"\F02D8"}.mdi-hexagon-multiple::before{content:"\F06E1"}.mdi-hexagon-multiple-outline::before{content:"\F10F2"}.mdi-hexagon-outline::before{content:"\F02D9"}.mdi-hexagon-slice-1::before{content:"\F0AC3"}.mdi-hexagon-slice-2::before{content:"\F0AC4"}.mdi-hexagon-slice-3::before{content:"\F0AC5"}.mdi-hexagon-slice-4::before{content:"\F0AC6"}.mdi-hexagon-slice-5::before{content:"\F0AC7"}.mdi-hexagon-slice-6::before{content:"\F0AC8"}.mdi-hexagram::before{content:"\F0AC9"}.mdi-hexagram-outline::before{content:"\F0ACA"}.mdi-high-definition::before{content:"\F07CF"}.mdi-high-definition-box::before{content:"\F0878"}.mdi-highway::before{content:"\F05F7"}.mdi-hiking::before{content:"\F0D7F"}.mdi-history::before{content:"\F02DA"}.mdi-hockey-puck::before{content:"\F0879"}.mdi-hockey-sticks::before{content:"\F087A"}.mdi-hololens::before{content:"\F02DB"}.mdi-home::before{content:"\F02DC"}.mdi-home-account::before{content:"\F0826"}.mdi-home-alert::before{content:"\F087B"}.mdi-home-alert-outline::before{content:"\F15D0"}.mdi-home-analytics::before{content:"\F0EBA"}.mdi-home-assistant::before{content:"\F07D0"}.mdi-home-automation::before{content:"\F07D1"}.mdi-home-battery::before{content:"\F1901"}.mdi-home-battery-outline::before{content:"\F1902"}.mdi-home-circle::before{content:"\F07D2"}.mdi-home-circle-outline::before{content:"\F104D"}.mdi-home-city::before{content:"\F0D15"}.mdi-home-city-outline::before{content:"\F0D16"}.mdi-home-clock::before{content:"\F1A12"}.mdi-home-clock-outline::before{content:"\F1A13"}.mdi-home-edit::before{content:"\F1159"}.mdi-home-edit-outline::before{content:"\F115A"}.mdi-home-export-outline::before{content:"\F0F9B"}.mdi-home-flood::before{content:"\F0EFA"}.mdi-home-floor-0::before{content:"\F0DD2"}.mdi-home-floor-1::before{content:"\F0D80"}.mdi-home-floor-2::before{content:"\F0D81"}.mdi-home-floor-3::before{content:"\F0D82"}.mdi-home-floor-a::before{content:"\F0D83"}.mdi-home-floor-b::before{content:"\F0D84"}.mdi-home-floor-g::before{content:"\F0D85"}.mdi-home-floor-l::before{content:"\F0D86"}.mdi-home-floor-negative-1::before{content:"\F0DD3"}.mdi-home-group::before{content:"\F0DD4"}.mdi-home-group-minus::before{content:"\F19C1"}.mdi-home-group-plus::before{content:"\F19C0"}.mdi-home-group-remove::before{content:"\F19C2"}.mdi-home-heart::before{content:"\F0827"}.mdi-home-import-outline::before{content:"\F0F9C"}.mdi-home-lightbulb::before{content:"\F1251"}.mdi-home-lightbulb-outline::before{content:"\F1252"}.mdi-home-lightning-bolt::before{content:"\F1903"}.mdi-home-lightning-bolt-outline::before{content:"\F1904"}.mdi-home-lock::before{content:"\F08EB"}.mdi-home-lock-open::before{content:"\F08EC"}.mdi-home-map-marker::before{content:"\F05F8"}.mdi-home-minus::before{content:"\F0974"}.mdi-home-minus-outline::before{content:"\F13D5"}.mdi-home-modern::before{content:"\F02DD"}.mdi-home-off::before{content:"\F1A46"}.mdi-home-off-outline::before{content:"\F1A47"}.mdi-home-outline::before{content:"\F06A1"}.mdi-home-percent::before{content:"\F1C7C"}.mdi-home-percent-outline::before{content:"\F1C7D"}.mdi-home-plus::before{content:"\F0975"}.mdi-home-plus-outline::before{content:"\F13D6"}.mdi-home-remove::before{content:"\F1247"}.mdi-home-remove-outline::before{content:"\F13D7"}.mdi-home-roof::before{content:"\F112B"}.mdi-home-search::before{content:"\F13B0"}.mdi-home-search-outline::before{content:"\F13B1"}.mdi-home-silo::before{content:"\F1BA0"}.mdi-home-silo-outline::before{content:"\F1BA1"}.mdi-home-sound-in::before{content:"\F1C2F"}.mdi-home-sound-in-outline::before{content:"\F1C30"}.mdi-home-sound-out::before{content:"\F1C31"}.mdi-home-sound-out-outline::before{content:"\F1C32"}.mdi-home-switch::before{content:"\F1794"}.mdi-home-switch-outline::before{content:"\F1795"}.mdi-home-thermometer::before{content:"\F0F54"}.mdi-home-thermometer-outline::before{content:"\F0F55"}.mdi-home-variant::before{content:"\F02DE"}.mdi-home-variant-outline::before{content:"\F0BA7"}.mdi-hook::before{content:"\F06E2"}.mdi-hook-off::before{content:"\F06E3"}.mdi-hoop-house::before{content:"\F0E56"}.mdi-hops::before{content:"\F02DF"}.mdi-horizontal-rotate-clockwise::before{content:"\F10F3"}.mdi-horizontal-rotate-counterclockwise::before{content:"\F10F4"}.mdi-horse::before{content:"\F15BF"}.mdi-horse-human::before{content:"\F15C0"}.mdi-horse-variant::before{content:"\F15C1"}.mdi-horse-variant-fast::before{content:"\F186E"}.mdi-horseshoe::before{content:"\F0A58"}.mdi-hospital::before{content:"\F0FF6"}.mdi-hospital-box::before{content:"\F02E0"}.mdi-hospital-box-outline::before{content:"\F0FF7"}.mdi-hospital-building::before{content:"\F02E1"}.mdi-hospital-marker::before{content:"\F02E2"}.mdi-hot-tub::before{content:"\F0828"}.mdi-hours-12::before{content:"\F1C94"}.mdi-hours-24::before{content:"\F1478"}.mdi-hub::before{content:"\F1C95"}.mdi-hub-outline::before{content:"\F1C96"}.mdi-hubspot::before{content:"\F0D17"}.mdi-hulu::before{content:"\F0829"}.mdi-human::before{content:"\F02E6"}.mdi-human-baby-changing-table::before{content:"\F138B"}.mdi-human-cane::before{content:"\F1581"}.mdi-human-capacity-decrease::before{content:"\F159B"}.mdi-human-capacity-increase::before{content:"\F159C"}.mdi-human-child::before{content:"\F02E7"}.mdi-human-dolly::before{content:"\F1980"}.mdi-human-edit::before{content:"\F14E8"}.mdi-human-female::before{content:"\F0649"}.mdi-human-female-boy::before{content:"\F0A59"}.mdi-human-female-dance::before{content:"\F15C9"}.mdi-human-female-female::before{content:"\F0A5A"}.mdi-human-female-female-child::before{content:"\F1C8E"}.mdi-human-female-girl::before{content:"\F0A5B"}.mdi-human-greeting::before{content:"\F17C4"}.mdi-human-greeting-proximity::before{content:"\F159D"}.mdi-human-greeting-variant::before{content:"\F064A"}.mdi-human-handsdown::before{content:"\F064B"}.mdi-human-handsup::before{content:"\F064C"}.mdi-human-male::before{content:"\F064D"}.mdi-human-male-board::before{content:"\F0890"}.mdi-human-male-board-poll::before{content:"\F0846"}.mdi-human-male-boy::before{content:"\F0A5C"}.mdi-human-male-child::before{content:"\F138C"}.mdi-human-male-female::before{content:"\F02E8"}.mdi-human-male-female-child::before{content:"\F1823"}.mdi-human-male-girl::before{content:"\F0A5D"}.mdi-human-male-height::before{content:"\F0EFB"}.mdi-human-male-height-variant::before{content:"\F0EFC"}.mdi-human-male-male::before{content:"\F0A5E"}.mdi-human-male-male-child::before{content:"\F1C8F"}.mdi-human-non-binary::before{content:"\F1848"}.mdi-human-pregnant::before{content:"\F05CF"}.mdi-human-queue::before{content:"\F1571"}.mdi-human-scooter::before{content:"\F11E9"}.mdi-human-walker::before{content:"\F1B71"}.mdi-human-wheelchair::before{content:"\F138D"}.mdi-human-white-cane::before{content:"\F1981"}.mdi-humble-bundle::before{content:"\F0744"}.mdi-hvac::before{content:"\F1352"}.mdi-hvac-off::before{content:"\F159E"}.mdi-hydraulic-oil-level::before{content:"\F1324"}.mdi-hydraulic-oil-temperature::before{content:"\F1325"}.mdi-hydro-power::before{content:"\F12E5"}.mdi-hydrogen-station::before{content:"\F1894"}.mdi-ice-cream::before{content:"\F082A"}.mdi-ice-cream-off::before{content:"\F0E52"}.mdi-ice-pop::before{content:"\F0EFD"}.mdi-id-card::before{content:"\F0FC0"}.mdi-identifier::before{content:"\F0EFE"}.mdi-ideogram-cjk::before{content:"\F1331"}.mdi-ideogram-cjk-variant::before{content:"\F1332"}.mdi-image::before{content:"\F02E9"}.mdi-image-album::before{content:"\F02EA"}.mdi-image-area::before{content:"\F02EB"}.mdi-image-area-close::before{content:"\F02EC"}.mdi-image-auto-adjust::before{content:"\F0FC1"}.mdi-image-broken::before{content:"\F02ED"}.mdi-image-broken-variant::before{content:"\F02EE"}.mdi-image-check::before{content:"\F1B25"}.mdi-image-check-outline::before{content:"\F1B26"}.mdi-image-edit::before{content:"\F11E3"}.mdi-image-edit-outline::before{content:"\F11E4"}.mdi-image-filter-black-white::before{content:"\F02F0"}.mdi-image-filter-center-focus::before{content:"\F02F1"}.mdi-image-filter-center-focus-strong::before{content:"\F0EFF"}.mdi-image-filter-center-focus-strong-outline::before{content:"\F0F00"}.mdi-image-filter-center-focus-weak::before{content:"\F02F2"}.mdi-image-filter-drama::before{content:"\F02F3"}.mdi-image-filter-drama-outline::before{content:"\F1BFF"}.mdi-image-filter-frames::before{content:"\F02F4"}.mdi-image-filter-hdr::before{content:"\F02F5"}.mdi-image-filter-hdr-outline::before{content:"\F1C64"}.mdi-image-filter-none::before{content:"\F02F6"}.mdi-image-filter-tilt-shift::before{content:"\F02F7"}.mdi-image-filter-vintage::before{content:"\F02F8"}.mdi-image-frame::before{content:"\F0E49"}.mdi-image-lock::before{content:"\F1AB0"}.mdi-image-lock-outline::before{content:"\F1AB1"}.mdi-image-marker::before{content:"\F177B"}.mdi-image-marker-outline::before{content:"\F177C"}.mdi-image-minus::before{content:"\F1419"}.mdi-image-minus-outline::before{content:"\F1B47"}.mdi-image-move::before{content:"\F09F8"}.mdi-image-multiple::before{content:"\F02F9"}.mdi-image-multiple-outline::before{content:"\F02EF"}.mdi-image-off::before{content:"\F082B"}.mdi-image-off-outline::before{content:"\F11D1"}.mdi-image-outline::before{content:"\F0976"}.mdi-image-plus::before{content:"\F087C"}.mdi-image-plus-outline::before{content:"\F1B46"}.mdi-image-refresh::before{content:"\F19FE"}.mdi-image-refresh-outline::before{content:"\F19FF"}.mdi-image-remove::before{content:"\F1418"}.mdi-image-remove-outline::before{content:"\F1B48"}.mdi-image-search::before{content:"\F0977"}.mdi-image-search-outline::before{content:"\F0978"}.mdi-image-size-select-actual::before{content:"\F0C8D"}.mdi-image-size-select-large::before{content:"\F0C8E"}.mdi-image-size-select-small::before{content:"\F0C8F"}.mdi-image-sync::before{content:"\F1A00"}.mdi-image-sync-outline::before{content:"\F1A01"}.mdi-image-text::before{content:"\F160D"}.mdi-import::before{content:"\F02FA"}.mdi-inbox::before{content:"\F0687"}.mdi-inbox-arrow-down::before{content:"\F02FB"}.mdi-inbox-arrow-down-outline::before{content:"\F1270"}.mdi-inbox-arrow-up::before{content:"\F03D1"}.mdi-inbox-arrow-up-outline::before{content:"\F1271"}.mdi-inbox-full::before{content:"\F1272"}.mdi-inbox-full-outline::before{content:"\F1273"}.mdi-inbox-multiple::before{content:"\F08B0"}.mdi-inbox-multiple-outline::before{content:"\F0BA8"}.mdi-inbox-outline::before{content:"\F1274"}.mdi-inbox-remove::before{content:"\F159F"}.mdi-inbox-remove-outline::before{content:"\F15A0"}.mdi-incognito::before{content:"\F05F9"}.mdi-incognito-circle::before{content:"\F1421"}.mdi-incognito-circle-off::before{content:"\F1422"}.mdi-incognito-off::before{content:"\F0075"}.mdi-induction::before{content:"\F184C"}.mdi-infinity::before{content:"\F06E4"}.mdi-information::before{content:"\F02FC"}.mdi-information-box::before{content:"\F1C65"}.mdi-information-box-outline::before{content:"\F1C66"}.mdi-information-off::before{content:"\F178C"}.mdi-information-off-outline::before{content:"\F178D"}.mdi-information-outline::before{content:"\F02FD"}.mdi-information-slab-box::before{content:"\F1C67"}.mdi-information-slab-box-outline::before{content:"\F1C68"}.mdi-information-slab-circle::before{content:"\F1C69"}.mdi-information-slab-circle-outline::before{content:"\F1C6A"}.mdi-information-slab-symbol::before{content:"\F1C6B"}.mdi-information-symbol::before{content:"\F1C6C"}.mdi-information-variant::before{content:"\F064E"}.mdi-information-variant-box::before{content:"\F1C6D"}.mdi-information-variant-box-outline::before{content:"\F1C6E"}.mdi-information-variant-circle::before{content:"\F1C6F"}.mdi-information-variant-circle-outline::before{content:"\F1C70"}.mdi-instagram::before{content:"\F02FE"}.mdi-instrument-triangle::before{content:"\F104E"}.mdi-integrated-circuit-chip::before{content:"\F1913"}.mdi-invert-colors::before{content:"\F0301"}.mdi-invert-colors-off::before{content:"\F0E4A"}.mdi-invoice::before{content:"\F1CD2"}.mdi-invoice-arrow-left::before{content:"\F1CD3"}.mdi-invoice-arrow-left-outline::before{content:"\F1CD4"}.mdi-invoice-arrow-right::before{content:"\F1CD5"}.mdi-invoice-arrow-right-outline::before{content:"\F1CD6"}.mdi-invoice-check::before{content:"\F1CD7"}.mdi-invoice-check-outline::before{content:"\F1CD8"}.mdi-invoice-clock::before{content:"\F1CD9"}.mdi-invoice-clock-outline::before{content:"\F1CDA"}.mdi-invoice-edit::before{content:"\F1CDB"}.mdi-invoice-edit-outline::before{content:"\F1CDC"}.mdi-invoice-export-outline::before{content:"\F1CDD"}.mdi-invoice-fast::before{content:"\F1CDE"}.mdi-invoice-fast-outline::before{content:"\F1CDF"}.mdi-invoice-import::before{content:"\F1CE0"}.mdi-invoice-import-outline::before{content:"\F1CE1"}.mdi-invoice-list::before{content:"\F1CE2"}.mdi-invoice-list-outline::before{content:"\F1CE3"}.mdi-invoice-minus::before{content:"\F1CE4"}.mdi-invoice-minus-outline::before{content:"\F1CE5"}.mdi-invoice-multiple::before{content:"\F1CE6"}.mdi-invoice-multiple-outline::before{content:"\F1CE7"}.mdi-invoice-outline::before{content:"\F1CE8"}.mdi-invoice-plus::before{content:"\F1CE9"}.mdi-invoice-plus-outline::before{content:"\F1CEA"}.mdi-invoice-remove::before{content:"\F1CEB"}.mdi-invoice-remove-outline::before{content:"\F1CEC"}.mdi-invoice-send::before{content:"\F1CED"}.mdi-invoice-send-outline::before{content:"\F1CEE"}.mdi-invoice-text::before{content:"\F1CEF"}.mdi-invoice-text-arrow-left::before{content:"\F1CF0"}.mdi-invoice-text-arrow-left-outline::before{content:"\F1CF1"}.mdi-invoice-text-arrow-right::before{content:"\F1CF2"}.mdi-invoice-text-arrow-right-outline::before{content:"\F1CF3"}.mdi-invoice-text-check::before{content:"\F1CF4"}.mdi-invoice-text-check-outline::before{content:"\F1CF5"}.mdi-invoice-text-clock::before{content:"\F1CF6"}.mdi-invoice-text-clock-outline::before{content:"\F1CF7"}.mdi-invoice-text-edit::before{content:"\F1CF8"}.mdi-invoice-text-edit-outline::before{content:"\F1CF9"}.mdi-invoice-text-fast::before{content:"\F1CFA"}.mdi-invoice-text-fast-outline::before{content:"\F1CFB"}.mdi-invoice-text-minus::before{content:"\F1CFC"}.mdi-invoice-text-minus-outline::before{content:"\F1CFD"}.mdi-invoice-text-multiple::before{content:"\F1CFE"}.mdi-invoice-text-multiple-outline::before{content:"\F1CFF"}.mdi-invoice-text-outline::before{content:"\F1D00"}.mdi-invoice-text-plus::before{content:"\F1D01"}.mdi-invoice-text-plus-outline::before{content:"\F1D02"}.mdi-invoice-text-remove::before{content:"\F1D03"}.mdi-invoice-text-remove-outline::before{content:"\F1D04"}.mdi-invoice-text-send::before{content:"\F1D05"}.mdi-invoice-text-send-outline::before{content:"\F1D06"}.mdi-iobroker::before{content:"\F12E8"}.mdi-ip::before{content:"\F0A5F"}.mdi-ip-network::before{content:"\F0A60"}.mdi-ip-network-outline::before{content:"\F0C90"}.mdi-ip-outline::before{content:"\F1982"}.mdi-ipod::before{content:"\F0C91"}.mdi-iron::before{content:"\F1824"}.mdi-iron-board::before{content:"\F1838"}.mdi-iron-outline::before{content:"\F1825"}.mdi-island::before{content:"\F104F"}.mdi-island-variant::before{content:"\F1CC6"}.mdi-iv-bag::before{content:"\F10B9"}.mdi-jabber::before{content:"\F0DD5"}.mdi-jeepney::before{content:"\F0302"}.mdi-jellyfish::before{content:"\F0F01"}.mdi-jellyfish-outline::before{content:"\F0F02"}.mdi-jira::before{content:"\F0303"}.mdi-jquery::before{content:"\F087D"}.mdi-jsfiddle::before{content:"\F0304"}.mdi-jump-rope::before{content:"\F12FF"}.mdi-kabaddi::before{content:"\F0D87"}.mdi-kangaroo::before{content:"\F1558"}.mdi-karate::before{content:"\F082C"}.mdi-kayaking::before{content:"\F08AF"}.mdi-keg::before{content:"\F0305"}.mdi-kettle::before{content:"\F05FA"}.mdi-kettle-alert::before{content:"\F1317"}.mdi-kettle-alert-outline::before{content:"\F1318"}.mdi-kettle-off::before{content:"\F131B"}.mdi-kettle-off-outline::before{content:"\F131C"}.mdi-kettle-outline::before{content:"\F0F56"}.mdi-kettle-pour-over::before{content:"\F173C"}.mdi-kettle-steam::before{content:"\F1319"}.mdi-kettle-steam-outline::before{content:"\F131A"}.mdi-kettlebell::before{content:"\F1300"}.mdi-key::before{content:"\F0306"}.mdi-key-alert::before{content:"\F1983"}.mdi-key-alert-outline::before{content:"\F1984"}.mdi-key-arrow-right::before{content:"\F1312"}.mdi-key-chain::before{content:"\F1574"}.mdi-key-chain-variant::before{content:"\F1575"}.mdi-key-change::before{content:"\F0307"}.mdi-key-link::before{content:"\F119F"}.mdi-key-minus::before{content:"\F0308"}.mdi-key-outline::before{content:"\F0DD6"}.mdi-key-plus::before{content:"\F0309"}.mdi-key-remove::before{content:"\F030A"}.mdi-key-star::before{content:"\F119E"}.mdi-key-variant::before{content:"\F030B"}.mdi-key-wireless::before{content:"\F0FC2"}.mdi-keyboard::before{content:"\F030C"}.mdi-keyboard-backspace::before{content:"\F030D"}.mdi-keyboard-caps::before{content:"\F030E"}.mdi-keyboard-close::before{content:"\F030F"}.mdi-keyboard-close-outline::before{content:"\F1C00"}.mdi-keyboard-esc::before{content:"\F12B7"}.mdi-keyboard-f1::before{content:"\F12AB"}.mdi-keyboard-f10::before{content:"\F12B4"}.mdi-keyboard-f11::before{content:"\F12B5"}.mdi-keyboard-f12::before{content:"\F12B6"}.mdi-keyboard-f2::before{content:"\F12AC"}.mdi-keyboard-f3::before{content:"\F12AD"}.mdi-keyboard-f4::before{content:"\F12AE"}.mdi-keyboard-f5::before{content:"\F12AF"}.mdi-keyboard-f6::before{content:"\F12B0"}.mdi-keyboard-f7::before{content:"\F12B1"}.mdi-keyboard-f8::before{content:"\F12B2"}.mdi-keyboard-f9::before{content:"\F12B3"}.mdi-keyboard-off::before{content:"\F0310"}.mdi-keyboard-off-outline::before{content:"\F0E4B"}.mdi-keyboard-outline::before{content:"\F097B"}.mdi-keyboard-return::before{content:"\F0311"}.mdi-keyboard-settings::before{content:"\F09F9"}.mdi-keyboard-settings-outline::before{content:"\F09FA"}.mdi-keyboard-space::before{content:"\F1050"}.mdi-keyboard-tab::before{content:"\F0312"}.mdi-keyboard-tab-reverse::before{content:"\F0325"}.mdi-keyboard-variant::before{content:"\F0313"}.mdi-khanda::before{content:"\F10FD"}.mdi-kickstarter::before{content:"\F0745"}.mdi-kite::before{content:"\F1985"}.mdi-kite-outline::before{content:"\F1986"}.mdi-kitesurfing::before{content:"\F1744"}.mdi-klingon::before{content:"\F135B"}.mdi-knife::before{content:"\F09FB"}.mdi-knife-military::before{content:"\F09FC"}.mdi-knob::before{content:"\F1B96"}.mdi-koala::before{content:"\F173F"}.mdi-kodi::before{content:"\F0314"}.mdi-kubernetes::before{content:"\F10FE"}.mdi-label::before{content:"\F0315"}.mdi-label-multiple::before{content:"\F1375"}.mdi-label-multiple-outline::before{content:"\F1376"}.mdi-label-off::before{content:"\F0ACB"}.mdi-label-off-outline::before{content:"\F0ACC"}.mdi-label-outline::before{content:"\F0316"}.mdi-label-percent::before{content:"\F12EA"}.mdi-label-percent-outline::before{content:"\F12EB"}.mdi-label-variant::before{content:"\F0ACD"}.mdi-label-variant-outline::before{content:"\F0ACE"}.mdi-ladder::before{content:"\F15A2"}.mdi-ladybug::before{content:"\F082D"}.mdi-lambda::before{content:"\F0627"}.mdi-lamp::before{content:"\F06B5"}.mdi-lamp-outline::before{content:"\F17D0"}.mdi-lamps::before{content:"\F1576"}.mdi-lamps-outline::before{content:"\F17D1"}.mdi-lan::before{content:"\F0317"}.mdi-lan-check::before{content:"\F12AA"}.mdi-lan-connect::before{content:"\F0318"}.mdi-lan-disconnect::before{content:"\F0319"}.mdi-lan-pending::before{content:"\F031A"}.mdi-land-fields::before{content:"\F1AB2"}.mdi-land-plots::before{content:"\F1AB3"}.mdi-land-plots-circle::before{content:"\F1AB4"}.mdi-land-plots-circle-variant::before{content:"\F1AB5"}.mdi-land-plots-marker::before{content:"\F1C5D"}.mdi-land-rows-horizontal::before{content:"\F1AB6"}.mdi-land-rows-vertical::before{content:"\F1AB7"}.mdi-landslide::before{content:"\F1A48"}.mdi-landslide-outline::before{content:"\F1A49"}.mdi-language-c::before{content:"\F0671"}.mdi-language-cpp::before{content:"\F0672"}.mdi-language-csharp::before{content:"\F031B"}.mdi-language-css3::before{content:"\F031C"}.mdi-language-fortran::before{content:"\F121A"}.mdi-language-go::before{content:"\F07D3"}.mdi-language-haskell::before{content:"\F0C92"}.mdi-language-html5::before{content:"\F031D"}.mdi-language-java::before{content:"\F0B37"}.mdi-language-javascript::before{content:"\F031E"}.mdi-language-kotlin::before{content:"\F1219"}.mdi-language-lua::before{content:"\F08B1"}.mdi-language-markdown::before{content:"\F0354"}.mdi-language-markdown-outline::before{content:"\F0F5B"}.mdi-language-php::before{content:"\F031F"}.mdi-language-python::before{content:"\F0320"}.mdi-language-r::before{content:"\F07D4"}.mdi-language-ruby::before{content:"\F0D2D"}.mdi-language-ruby-on-rails::before{content:"\F0ACF"}.mdi-language-rust::before{content:"\F1617"}.mdi-language-swift::before{content:"\F06E5"}.mdi-language-typescript::before{content:"\F06E6"}.mdi-language-xaml::before{content:"\F0673"}.mdi-laptop::before{content:"\F0322"}.mdi-laptop-account::before{content:"\F1A4A"}.mdi-laptop-off::before{content:"\F06E7"}.mdi-laravel::before{content:"\F0AD0"}.mdi-laser-pointer::before{content:"\F1484"}.mdi-lasso::before{content:"\F0F03"}.mdi-lastpass::before{content:"\F0446"}.mdi-latitude::before{content:"\F0F57"}.mdi-launch::before{content:"\F0327"}.mdi-lava-lamp::before{content:"\F07D5"}.mdi-layers::before{content:"\F0328"}.mdi-layers-edit::before{content:"\F1892"}.mdi-layers-minus::before{content:"\F0E4C"}.mdi-layers-off::before{content:"\F0329"}.mdi-layers-off-outline::before{content:"\F09FD"}.mdi-layers-outline::before{content:"\F09FE"}.mdi-layers-plus::before{content:"\F0E4D"}.mdi-layers-remove::before{content:"\F0E4E"}.mdi-layers-search::before{content:"\F1206"}.mdi-layers-search-outline::before{content:"\F1207"}.mdi-layers-triple::before{content:"\F0F58"}.mdi-layers-triple-outline::before{content:"\F0F59"}.mdi-lead-pencil::before{content:"\F064F"}.mdi-leaf::before{content:"\F032A"}.mdi-leaf-circle::before{content:"\F1905"}.mdi-leaf-circle-outline::before{content:"\F1906"}.mdi-leaf-maple::before{content:"\F0C93"}.mdi-leaf-maple-off::before{content:"\F12DA"}.mdi-leaf-off::before{content:"\F12D9"}.mdi-leak::before{content:"\F0DD7"}.mdi-leak-off::before{content:"\F0DD8"}.mdi-lectern::before{content:"\F1AF0"}.mdi-led-off::before{content:"\F032B"}.mdi-led-on::before{content:"\F032C"}.mdi-led-outline::before{content:"\F032D"}.mdi-led-strip::before{content:"\F07D6"}.mdi-led-strip-variant::before{content:"\F1051"}.mdi-led-strip-variant-off::before{content:"\F1A4B"}.mdi-led-variant-off::before{content:"\F032E"}.mdi-led-variant-on::before{content:"\F032F"}.mdi-led-variant-outline::before{content:"\F0330"}.mdi-leek::before{content:"\F117D"}.mdi-less-than::before{content:"\F097C"}.mdi-less-than-or-equal::before{content:"\F097D"}.mdi-library::before{content:"\F0331"}.mdi-library-outline::before{content:"\F1A22"}.mdi-library-shelves::before{content:"\F0BA9"}.mdi-license::before{content:"\F0FC3"}.mdi-lifebuoy::before{content:"\F087E"}.mdi-light-flood-down::before{content:"\F1987"}.mdi-light-flood-up::before{content:"\F1988"}.mdi-light-recessed::before{content:"\F179B"}.mdi-light-switch::before{content:"\F097E"}.mdi-light-switch-off::before{content:"\F1A24"}.mdi-lightbulb::before{content:"\F0335"}.mdi-lightbulb-alert::before{content:"\F19E1"}.mdi-lightbulb-alert-outline::before{content:"\F19E2"}.mdi-lightbulb-auto::before{content:"\F1800"}.mdi-lightbulb-auto-outline::before{content:"\F1801"}.mdi-lightbulb-cfl::before{content:"\F1208"}.mdi-lightbulb-cfl-off::before{content:"\F1209"}.mdi-lightbulb-cfl-spiral::before{content:"\F1275"}.mdi-lightbulb-cfl-spiral-off::before{content:"\F12C3"}.mdi-lightbulb-fluorescent-tube::before{content:"\F1804"}.mdi-lightbulb-fluorescent-tube-outline::before{content:"\F1805"}.mdi-lightbulb-group::before{content:"\F1253"}.mdi-lightbulb-group-off::before{content:"\F12CD"}.mdi-lightbulb-group-off-outline::before{content:"\F12CE"}.mdi-lightbulb-group-outline::before{content:"\F1254"}.mdi-lightbulb-multiple::before{content:"\F1255"}.mdi-lightbulb-multiple-off::before{content:"\F12CF"}.mdi-lightbulb-multiple-off-outline::before{content:"\F12D0"}.mdi-lightbulb-multiple-outline::before{content:"\F1256"}.mdi-lightbulb-night::before{content:"\F1A4C"}.mdi-lightbulb-night-outline::before{content:"\F1A4D"}.mdi-lightbulb-off::before{content:"\F0E4F"}.mdi-lightbulb-off-outline::before{content:"\F0E50"}.mdi-lightbulb-on::before{content:"\F06E8"}.mdi-lightbulb-on-10::before{content:"\F1A4E"}.mdi-lightbulb-on-20::before{content:"\F1A4F"}.mdi-lightbulb-on-30::before{content:"\F1A50"}.mdi-lightbulb-on-40::before{content:"\F1A51"}.mdi-lightbulb-on-50::before{content:"\F1A52"}.mdi-lightbulb-on-60::before{content:"\F1A53"}.mdi-lightbulb-on-70::before{content:"\F1A54"}.mdi-lightbulb-on-80::before{content:"\F1A55"}.mdi-lightbulb-on-90::before{content:"\F1A56"}.mdi-lightbulb-on-outline::before{content:"\F06E9"}.mdi-lightbulb-outline::before{content:"\F0336"}.mdi-lightbulb-question::before{content:"\F19E3"}.mdi-lightbulb-question-outline::before{content:"\F19E4"}.mdi-lightbulb-spot::before{content:"\F17F4"}.mdi-lightbulb-spot-off::before{content:"\F17F5"}.mdi-lightbulb-variant::before{content:"\F1802"}.mdi-lightbulb-variant-outline::before{content:"\F1803"}.mdi-lighthouse::before{content:"\F09FF"}.mdi-lighthouse-on::before{content:"\F0A00"}.mdi-lightning-bolt::before{content:"\F140B"}.mdi-lightning-bolt-circle::before{content:"\F0820"}.mdi-lightning-bolt-outline::before{content:"\F140C"}.mdi-line-scan::before{content:"\F0624"}.mdi-lingerie::before{content:"\F1476"}.mdi-link::before{content:"\F0337"}.mdi-link-box::before{content:"\F0D1A"}.mdi-link-box-outline::before{content:"\F0D1B"}.mdi-link-box-variant::before{content:"\F0D1C"}.mdi-link-box-variant-outline::before{content:"\F0D1D"}.mdi-link-circle::before{content:"\F1CAC"}.mdi-link-circle-outline::before{content:"\F1CAD"}.mdi-link-edit::before{content:"\F1CAE"}.mdi-link-lock::before{content:"\F10BA"}.mdi-link-off::before{content:"\F0338"}.mdi-link-plus::before{content:"\F0C94"}.mdi-link-variant::before{content:"\F0339"}.mdi-link-variant-minus::before{content:"\F10FF"}.mdi-link-variant-off::before{content:"\F033A"}.mdi-link-variant-plus::before{content:"\F1100"}.mdi-link-variant-remove::before{content:"\F1101"}.mdi-linkedin::before{content:"\F033B"}.mdi-linux::before{content:"\F033D"}.mdi-linux-mint::before{content:"\F08ED"}.mdi-lipstick::before{content:"\F13B5"}.mdi-liquid-spot::before{content:"\F1826"}.mdi-liquor::before{content:"\F191E"}.mdi-list-box::before{content:"\F1B7B"}.mdi-list-box-outline::before{content:"\F1B7C"}.mdi-list-status::before{content:"\F15AB"}.mdi-litecoin::before{content:"\F0A61"}.mdi-loading::before{content:"\F0772"}.mdi-location-enter::before{content:"\F0FC4"}.mdi-location-exit::before{content:"\F0FC5"}.mdi-lock::before{content:"\F033E"}.mdi-lock-alert::before{content:"\F08EE"}.mdi-lock-alert-outline::before{content:"\F15D1"}.mdi-lock-check::before{content:"\F139A"}.mdi-lock-check-outline::before{content:"\F16A8"}.mdi-lock-clock::before{content:"\F097F"}.mdi-lock-minus::before{content:"\F16A9"}.mdi-lock-minus-outline::before{content:"\F16AA"}.mdi-lock-off::before{content:"\F1671"}.mdi-lock-off-outline::before{content:"\F1672"}.mdi-lock-open::before{content:"\F033F"}.mdi-lock-open-alert::before{content:"\F139B"}.mdi-lock-open-alert-outline::before{content:"\F15D2"}.mdi-lock-open-check::before{content:"\F139C"}.mdi-lock-open-check-outline::before{content:"\F16AB"}.mdi-lock-open-minus::before{content:"\F16AC"}.mdi-lock-open-minus-outline::before{content:"\F16AD"}.mdi-lock-open-outline::before{content:"\F0340"}.mdi-lock-open-plus::before{content:"\F16AE"}.mdi-lock-open-plus-outline::before{content:"\F16AF"}.mdi-lock-open-remove::before{content:"\F16B0"}.mdi-lock-open-remove-outline::before{content:"\F16B1"}.mdi-lock-open-variant::before{content:"\F0FC6"}.mdi-lock-open-variant-outline::before{content:"\F0FC7"}.mdi-lock-outline::before{content:"\F0341"}.mdi-lock-pattern::before{content:"\F06EA"}.mdi-lock-percent::before{content:"\F1C12"}.mdi-lock-percent-open::before{content:"\F1C13"}.mdi-lock-percent-open-outline::before{content:"\F1C14"}.mdi-lock-percent-open-variant::before{content:"\F1C15"}.mdi-lock-percent-open-variant-outline::before{content:"\F1C16"}.mdi-lock-percent-outline::before{content:"\F1C17"}.mdi-lock-plus::before{content:"\F05FB"}.mdi-lock-plus-outline::before{content:"\F16B2"}.mdi-lock-question::before{content:"\F08EF"}.mdi-lock-remove::before{content:"\F16B3"}.mdi-lock-remove-outline::before{content:"\F16B4"}.mdi-lock-reset::before{content:"\F0773"}.mdi-lock-smart::before{content:"\F08B2"}.mdi-locker::before{content:"\F07D7"}.mdi-locker-multiple::before{content:"\F07D8"}.mdi-login::before{content:"\F0342"}.mdi-login-variant::before{content:"\F05FC"}.mdi-logout::before{content:"\F0343"}.mdi-logout-variant::before{content:"\F05FD"}.mdi-longitude::before{content:"\F0F5A"}.mdi-looks::before{content:"\F0344"}.mdi-lotion::before{content:"\F1582"}.mdi-lotion-outline::before{content:"\F1583"}.mdi-lotion-plus::before{content:"\F1584"}.mdi-lotion-plus-outline::before{content:"\F1585"}.mdi-loupe::before{content:"\F0345"}.mdi-lumx::before{content:"\F0346"}.mdi-lungs::before{content:"\F1084"}.mdi-mace::before{content:"\F1843"}.mdi-magazine-pistol::before{content:"\F0324"}.mdi-magazine-rifle::before{content:"\F0323"}.mdi-magic-staff::before{content:"\F1844"}.mdi-magnet::before{content:"\F0347"}.mdi-magnet-on::before{content:"\F0348"}.mdi-magnify::before{content:"\F0349"}.mdi-magnify-close::before{content:"\F0980"}.mdi-magnify-expand::before{content:"\F1874"}.mdi-magnify-minus::before{content:"\F034A"}.mdi-magnify-minus-cursor::before{content:"\F0A62"}.mdi-magnify-minus-outline::before{content:"\F06EC"}.mdi-magnify-plus::before{content:"\F034B"}.mdi-magnify-plus-cursor::before{content:"\F0A63"}.mdi-magnify-plus-outline::before{content:"\F06ED"}.mdi-magnify-remove-cursor::before{content:"\F120C"}.mdi-magnify-remove-outline::before{content:"\F120D"}.mdi-magnify-scan::before{content:"\F1276"}.mdi-mail::before{content:"\F0EBB"}.mdi-mailbox::before{content:"\F06EE"}.mdi-mailbox-open::before{content:"\F0D88"}.mdi-mailbox-open-outline::before{content:"\F0D89"}.mdi-mailbox-open-up::before{content:"\F0D8A"}.mdi-mailbox-open-up-outline::before{content:"\F0D8B"}.mdi-mailbox-outline::before{content:"\F0D8C"}.mdi-mailbox-up::before{content:"\F0D8D"}.mdi-mailbox-up-outline::before{content:"\F0D8E"}.mdi-manjaro::before{content:"\F160A"}.mdi-map::before{content:"\F034D"}.mdi-map-check::before{content:"\F0EBC"}.mdi-map-check-outline::before{content:"\F0EBD"}.mdi-map-clock::before{content:"\F0D1E"}.mdi-map-clock-outline::before{content:"\F0D1F"}.mdi-map-legend::before{content:"\F0A01"}.mdi-map-marker::before{content:"\F034E"}.mdi-map-marker-account::before{content:"\F18E3"}.mdi-map-marker-account-outline::before{content:"\F18E4"}.mdi-map-marker-alert::before{content:"\F0F05"}.mdi-map-marker-alert-outline::before{content:"\F0F06"}.mdi-map-marker-check::before{content:"\F0C95"}.mdi-map-marker-check-outline::before{content:"\F12FB"}.mdi-map-marker-circle::before{content:"\F034F"}.mdi-map-marker-distance::before{content:"\F08F0"}.mdi-map-marker-down::before{content:"\F1102"}.mdi-map-marker-left::before{content:"\F12DB"}.mdi-map-marker-left-outline::before{content:"\F12DD"}.mdi-map-marker-minus::before{content:"\F0650"}.mdi-map-marker-minus-outline::before{content:"\F12F9"}.mdi-map-marker-multiple::before{content:"\F0350"}.mdi-map-marker-multiple-outline::before{content:"\F1277"}.mdi-map-marker-off::before{content:"\F0351"}.mdi-map-marker-off-outline::before{content:"\F12FD"}.mdi-map-marker-outline::before{content:"\F07D9"}.mdi-map-marker-path::before{content:"\F0D20"}.mdi-map-marker-plus::before{content:"\F0651"}.mdi-map-marker-plus-outline::before{content:"\F12F8"}.mdi-map-marker-question::before{content:"\F0F07"}.mdi-map-marker-question-outline::before{content:"\F0F08"}.mdi-map-marker-radius::before{content:"\F0352"}.mdi-map-marker-radius-outline::before{content:"\F12FC"}.mdi-map-marker-remove::before{content:"\F0F09"}.mdi-map-marker-remove-outline::before{content:"\F12FA"}.mdi-map-marker-remove-variant::before{content:"\F0F0A"}.mdi-map-marker-right::before{content:"\F12DC"}.mdi-map-marker-right-outline::before{content:"\F12DE"}.mdi-map-marker-star::before{content:"\F1608"}.mdi-map-marker-star-outline::before{content:"\F1609"}.mdi-map-marker-up::before{content:"\F1103"}.mdi-map-minus::before{content:"\F0981"}.mdi-map-outline::before{content:"\F0982"}.mdi-map-plus::before{content:"\F0983"}.mdi-map-search::before{content:"\F0984"}.mdi-map-search-outline::before{content:"\F0985"}.mdi-mapbox::before{content:"\F0BAA"}.mdi-margin::before{content:"\F0353"}.mdi-marker::before{content:"\F0652"}.mdi-marker-cancel::before{content:"\F0DD9"}.mdi-marker-check::before{content:"\F0355"}.mdi-mastodon::before{content:"\F0AD1"}.mdi-material-design::before{content:"\F0986"}.mdi-material-ui::before{content:"\F0357"}.mdi-math-compass::before{content:"\F0358"}.mdi-math-cos::before{content:"\F0C96"}.mdi-math-integral::before{content:"\F0FC8"}.mdi-math-integral-box::before{content:"\F0FC9"}.mdi-math-log::before{content:"\F1085"}.mdi-math-norm::before{content:"\F0FCA"}.mdi-math-norm-box::before{content:"\F0FCB"}.mdi-math-sin::before{content:"\F0C97"}.mdi-math-tan::before{content:"\F0C98"}.mdi-matrix::before{content:"\F0628"}.mdi-medal::before{content:"\F0987"}.mdi-medal-outline::before{content:"\F1326"}.mdi-medical-bag::before{content:"\F06EF"}.mdi-medical-cotton-swab::before{content:"\F1AB8"}.mdi-medication::before{content:"\F1B14"}.mdi-medication-outline::before{content:"\F1B15"}.mdi-meditation::before{content:"\F117B"}.mdi-memory::before{content:"\F035B"}.mdi-memory-arrow-down::before{content:"\F1CA6"}.mdi-menorah::before{content:"\F17D4"}.mdi-menorah-fire::before{content:"\F17D5"}.mdi-menu::before{content:"\F035C"}.mdi-menu-close::before{content:"\F1C90"}.mdi-menu-down::before{content:"\F035D"}.mdi-menu-down-outline::before{content:"\F06B6"}.mdi-menu-left::before{content:"\F035E"}.mdi-menu-left-outline::before{content:"\F0A02"}.mdi-menu-open::before{content:"\F0BAB"}.mdi-menu-right::before{content:"\F035F"}.mdi-menu-right-outline::before{content:"\F0A03"}.mdi-menu-swap::before{content:"\F0A64"}.mdi-menu-swap-outline::before{content:"\F0A65"}.mdi-menu-up::before{content:"\F0360"}.mdi-menu-up-outline::before{content:"\F06B7"}.mdi-merge::before{content:"\F0F5C"}.mdi-message::before{content:"\F0361"}.mdi-message-alert::before{content:"\F0362"}.mdi-message-alert-outline::before{content:"\F0A04"}.mdi-message-arrow-left::before{content:"\F12F2"}.mdi-message-arrow-left-outline::before{content:"\F12F3"}.mdi-message-arrow-right::before{content:"\F12F4"}.mdi-message-arrow-right-outline::before{content:"\F12F5"}.mdi-message-badge::before{content:"\F1941"}.mdi-message-badge-outline::before{content:"\F1942"}.mdi-message-bookmark::before{content:"\F15AC"}.mdi-message-bookmark-outline::before{content:"\F15AD"}.mdi-message-bulleted::before{content:"\F06A2"}.mdi-message-bulleted-off::before{content:"\F06A3"}.mdi-message-check::before{content:"\F1B8A"}.mdi-message-check-outline::before{content:"\F1B8B"}.mdi-message-cog::before{content:"\F06F1"}.mdi-message-cog-outline::before{content:"\F1172"}.mdi-message-draw::before{content:"\F0363"}.mdi-message-fast::before{content:"\F19CC"}.mdi-message-fast-outline::before{content:"\F19CD"}.mdi-message-flash::before{content:"\F15A9"}.mdi-message-flash-outline::before{content:"\F15AA"}.mdi-message-image::before{content:"\F0364"}.mdi-message-image-outline::before{content:"\F116C"}.mdi-message-lock::before{content:"\F0FCC"}.mdi-message-lock-outline::before{content:"\F116D"}.mdi-message-minus::before{content:"\F116E"}.mdi-message-minus-outline::before{content:"\F116F"}.mdi-message-off::before{content:"\F164D"}.mdi-message-off-outline::before{content:"\F164E"}.mdi-message-outline::before{content:"\F0365"}.mdi-message-plus::before{content:"\F0653"}.mdi-message-plus-outline::before{content:"\F10BB"}.mdi-message-processing::before{content:"\F0366"}.mdi-message-processing-outline::before{content:"\F1170"}.mdi-message-question::before{content:"\F173A"}.mdi-message-question-outline::before{content:"\F173B"}.mdi-message-reply::before{content:"\F0367"}.mdi-message-reply-outline::before{content:"\F173D"}.mdi-message-reply-text::before{content:"\F0368"}.mdi-message-reply-text-outline::before{content:"\F173E"}.mdi-message-settings::before{content:"\F06F0"}.mdi-message-settings-outline::before{content:"\F1171"}.mdi-message-star::before{content:"\F069A"}.mdi-message-star-outline::before{content:"\F1250"}.mdi-message-text::before{content:"\F0369"}.mdi-message-text-clock::before{content:"\F1173"}.mdi-message-text-clock-outline::before{content:"\F1174"}.mdi-message-text-fast::before{content:"\F19CE"}.mdi-message-text-fast-outline::before{content:"\F19CF"}.mdi-message-text-lock::before{content:"\F0FCD"}.mdi-message-text-lock-outline::before{content:"\F1175"}.mdi-message-text-outline::before{content:"\F036A"}.mdi-message-video::before{content:"\F036B"}.mdi-meteor::before{content:"\F0629"}.mdi-meter-electric::before{content:"\F1A57"}.mdi-meter-electric-outline::before{content:"\F1A58"}.mdi-meter-gas::before{content:"\F1A59"}.mdi-meter-gas-outline::before{content:"\F1A5A"}.mdi-metronome::before{content:"\F07DA"}.mdi-metronome-tick::before{content:"\F07DB"}.mdi-micro-sd::before{content:"\F07DC"}.mdi-microphone::before{content:"\F036C"}.mdi-microphone-message::before{content:"\F050A"}.mdi-microphone-message-off::before{content:"\F050B"}.mdi-microphone-minus::before{content:"\F08B3"}.mdi-microphone-off::before{content:"\F036D"}.mdi-microphone-outline::before{content:"\F036E"}.mdi-microphone-plus::before{content:"\F08B4"}.mdi-microphone-question::before{content:"\F1989"}.mdi-microphone-question-outline::before{content:"\F198A"}.mdi-microphone-settings::before{content:"\F036F"}.mdi-microphone-variant::before{content:"\F0370"}.mdi-microphone-variant-off::before{content:"\F0371"}.mdi-microscope::before{content:"\F0654"}.mdi-microsoft::before{content:"\F0372"}.mdi-microsoft-access::before{content:"\F138E"}.mdi-microsoft-azure::before{content:"\F0805"}.mdi-microsoft-azure-devops::before{content:"\F0FD5"}.mdi-microsoft-bing::before{content:"\F00A4"}.mdi-microsoft-dynamics-365::before{content:"\F0988"}.mdi-microsoft-edge::before{content:"\F01E9"}.mdi-microsoft-excel::before{content:"\F138F"}.mdi-microsoft-internet-explorer::before{content:"\F0300"}.mdi-microsoft-office::before{content:"\F03C6"}.mdi-microsoft-onedrive::before{content:"\F03CA"}.mdi-microsoft-onenote::before{content:"\F0747"}.mdi-microsoft-outlook::before{content:"\F0D22"}.mdi-microsoft-powerpoint::before{content:"\F1390"}.mdi-microsoft-sharepoint::before{content:"\F1391"}.mdi-microsoft-teams::before{content:"\F02BB"}.mdi-microsoft-visual-studio::before{content:"\F0610"}.mdi-microsoft-visual-studio-code::before{content:"\F0A1E"}.mdi-microsoft-windows::before{content:"\F05B3"}.mdi-microsoft-windows-classic::before{content:"\F0A21"}.mdi-microsoft-word::before{content:"\F1392"}.mdi-microsoft-xbox::before{content:"\F05B9"}.mdi-microsoft-xbox-controller::before{content:"\F05BA"}.mdi-microsoft-xbox-controller-battery-alert::before{content:"\F074B"}.mdi-microsoft-xbox-controller-battery-charging::before{content:"\F0A22"}.mdi-microsoft-xbox-controller-battery-empty::before{content:"\F074C"}.mdi-microsoft-xbox-controller-battery-full::before{content:"\F074D"}.mdi-microsoft-xbox-controller-battery-low::before{content:"\F074E"}.mdi-microsoft-xbox-controller-battery-medium::before{content:"\F074F"}.mdi-microsoft-xbox-controller-battery-unknown::before{content:"\F0750"}.mdi-microsoft-xbox-controller-menu::before{content:"\F0E6F"}.mdi-microsoft-xbox-controller-off::before{content:"\F05BB"}.mdi-microsoft-xbox-controller-view::before{content:"\F0E70"}.mdi-microwave::before{content:"\F0C99"}.mdi-microwave-off::before{content:"\F1423"}.mdi-middleware::before{content:"\F0F5D"}.mdi-middleware-outline::before{content:"\F0F5E"}.mdi-midi::before{content:"\F08F1"}.mdi-midi-port::before{content:"\F08F2"}.mdi-mine::before{content:"\F0DDA"}.mdi-minecraft::before{content:"\F0373"}.mdi-mini-sd::before{content:"\F0A05"}.mdi-minidisc::before{content:"\F0A06"}.mdi-minus::before{content:"\F0374"}.mdi-minus-box::before{content:"\F0375"}.mdi-minus-box-multiple::before{content:"\F1141"}.mdi-minus-box-multiple-outline::before{content:"\F1142"}.mdi-minus-box-outline::before{content:"\F06F2"}.mdi-minus-circle::before{content:"\F0376"}.mdi-minus-circle-multiple::before{content:"\F035A"}.mdi-minus-circle-multiple-outline::before{content:"\F0AD3"}.mdi-minus-circle-off::before{content:"\F1459"}.mdi-minus-circle-off-outline::before{content:"\F145A"}.mdi-minus-circle-outline::before{content:"\F0377"}.mdi-minus-network::before{content:"\F0378"}.mdi-minus-network-outline::before{content:"\F0C9A"}.mdi-minus-thick::before{content:"\F1639"}.mdi-mirror::before{content:"\F11FD"}.mdi-mirror-rectangle::before{content:"\F179F"}.mdi-mirror-variant::before{content:"\F17A0"}.mdi-mixed-martial-arts::before{content:"\F0D8F"}.mdi-mixed-reality::before{content:"\F087F"}.mdi-molecule::before{content:"\F0BAC"}.mdi-molecule-co::before{content:"\F12FE"}.mdi-molecule-co2::before{content:"\F07E4"}.mdi-monitor::before{content:"\F0379"}.mdi-monitor-account::before{content:"\F1A5B"}.mdi-monitor-arrow-down::before{content:"\F19D0"}.mdi-monitor-arrow-down-variant::before{content:"\F19D1"}.mdi-monitor-cellphone::before{content:"\F0989"}.mdi-monitor-cellphone-star::before{content:"\F098A"}.mdi-monitor-dashboard::before{content:"\F0A07"}.mdi-monitor-edit::before{content:"\F12C6"}.mdi-monitor-eye::before{content:"\F13B4"}.mdi-monitor-lock::before{content:"\F0DDB"}.mdi-monitor-multiple::before{content:"\F037A"}.mdi-monitor-off::before{content:"\F0D90"}.mdi-monitor-screenshot::before{content:"\F0E51"}.mdi-monitor-share::before{content:"\F1483"}.mdi-monitor-shimmer::before{content:"\F1104"}.mdi-monitor-small::before{content:"\F1876"}.mdi-monitor-speaker::before{content:"\F0F5F"}.mdi-monitor-speaker-off::before{content:"\F0F60"}.mdi-monitor-star::before{content:"\F0DDC"}.mdi-monitor-vertical::before{content:"\F1C33"}.mdi-moon-first-quarter::before{content:"\F0F61"}.mdi-moon-full::before{content:"\F0F62"}.mdi-moon-last-quarter::before{content:"\F0F63"}.mdi-moon-new::before{content:"\F0F64"}.mdi-moon-waning-crescent::before{content:"\F0F65"}.mdi-moon-waning-gibbous::before{content:"\F0F66"}.mdi-moon-waxing-crescent::before{content:"\F0F67"}.mdi-moon-waxing-gibbous::before{content:"\F0F68"}.mdi-moped::before{content:"\F1086"}.mdi-moped-electric::before{content:"\F15B7"}.mdi-moped-electric-outline::before{content:"\F15B8"}.mdi-moped-outline::before{content:"\F15B9"}.mdi-more::before{content:"\F037B"}.mdi-mortar-pestle::before{content:"\F1748"}.mdi-mortar-pestle-plus::before{content:"\F03F1"}.mdi-mosque::before{content:"\F0D45"}.mdi-mosque-outline::before{content:"\F1827"}.mdi-mother-heart::before{content:"\F1314"}.mdi-mother-nurse::before{content:"\F0D21"}.mdi-motion::before{content:"\F15B2"}.mdi-motion-outline::before{content:"\F15B3"}.mdi-motion-pause::before{content:"\F1590"}.mdi-motion-pause-outline::before{content:"\F1592"}.mdi-motion-play::before{content:"\F158F"}.mdi-motion-play-outline::before{content:"\F1591"}.mdi-motion-sensor::before{content:"\F0D91"}.mdi-motion-sensor-off::before{content:"\F1435"}.mdi-motorbike::before{content:"\F037C"}.mdi-motorbike-electric::before{content:"\F15BA"}.mdi-motorbike-off::before{content:"\F1B16"}.mdi-mouse::before{content:"\F037D"}.mdi-mouse-bluetooth::before{content:"\F098B"}.mdi-mouse-left-click::before{content:"\F1D07"}.mdi-mouse-left-click-outline::before{content:"\F1D08"}.mdi-mouse-move-down::before{content:"\F1550"}.mdi-mouse-move-up::before{content:"\F1551"}.mdi-mouse-move-vertical::before{content:"\F1552"}.mdi-mouse-off::before{content:"\F037E"}.mdi-mouse-outline::before{content:"\F1D09"}.mdi-mouse-right-click::before{content:"\F1D0A"}.mdi-mouse-right-click-outline::before{content:"\F1D0B"}.mdi-mouse-scroll-wheel::before{content:"\F1D0C"}.mdi-mouse-variant::before{content:"\F037F"}.mdi-mouse-variant-off::before{content:"\F0380"}.mdi-move-resize::before{content:"\F0655"}.mdi-move-resize-variant::before{content:"\F0656"}.mdi-movie::before{content:"\F0381"}.mdi-movie-check::before{content:"\F16F3"}.mdi-movie-check-outline::before{content:"\F16F4"}.mdi-movie-cog::before{content:"\F16F5"}.mdi-movie-cog-outline::before{content:"\F16F6"}.mdi-movie-edit::before{content:"\F1122"}.mdi-movie-edit-outline::before{content:"\F1123"}.mdi-movie-filter::before{content:"\F1124"}.mdi-movie-filter-outline::before{content:"\F1125"}.mdi-movie-minus::before{content:"\F16F7"}.mdi-movie-minus-outline::before{content:"\F16F8"}.mdi-movie-off::before{content:"\F16F9"}.mdi-movie-off-outline::before{content:"\F16FA"}.mdi-movie-open::before{content:"\F0FCE"}.mdi-movie-open-check::before{content:"\F16FB"}.mdi-movie-open-check-outline::before{content:"\F16FC"}.mdi-movie-open-cog::before{content:"\F16FD"}.mdi-movie-open-cog-outline::before{content:"\F16FE"}.mdi-movie-open-edit::before{content:"\F16FF"}.mdi-movie-open-edit-outline::before{content:"\F1700"}.mdi-movie-open-minus::before{content:"\F1701"}.mdi-movie-open-minus-outline::before{content:"\F1702"}.mdi-movie-open-off::before{content:"\F1703"}.mdi-movie-open-off-outline::before{content:"\F1704"}.mdi-movie-open-outline::before{content:"\F0FCF"}.mdi-movie-open-play::before{content:"\F1705"}.mdi-movie-open-play-outline::before{content:"\F1706"}.mdi-movie-open-plus::before{content:"\F1707"}.mdi-movie-open-plus-outline::before{content:"\F1708"}.mdi-movie-open-remove::before{content:"\F1709"}.mdi-movie-open-remove-outline::before{content:"\F170A"}.mdi-movie-open-settings::before{content:"\F170B"}.mdi-movie-open-settings-outline::before{content:"\F170C"}.mdi-movie-open-star::before{content:"\F170D"}.mdi-movie-open-star-outline::before{content:"\F170E"}.mdi-movie-outline::before{content:"\F0DDD"}.mdi-movie-play::before{content:"\F170F"}.mdi-movie-play-outline::before{content:"\F1710"}.mdi-movie-plus::before{content:"\F1711"}.mdi-movie-plus-outline::before{content:"\F1712"}.mdi-movie-remove::before{content:"\F1713"}.mdi-movie-remove-outline::before{content:"\F1714"}.mdi-movie-roll::before{content:"\F07DE"}.mdi-movie-search::before{content:"\F11D2"}.mdi-movie-search-outline::before{content:"\F11D3"}.mdi-movie-settings::before{content:"\F1715"}.mdi-movie-settings-outline::before{content:"\F1716"}.mdi-movie-star::before{content:"\F1717"}.mdi-movie-star-outline::before{content:"\F1718"}.mdi-mower::before{content:"\F166F"}.mdi-mower-bag::before{content:"\F1670"}.mdi-mower-bag-on::before{content:"\F1B60"}.mdi-mower-on::before{content:"\F1B5F"}.mdi-muffin::before{content:"\F098C"}.mdi-multicast::before{content:"\F1893"}.mdi-multimedia::before{content:"\F1B97"}.mdi-multiplication::before{content:"\F0382"}.mdi-multiplication-box::before{content:"\F0383"}.mdi-mushroom::before{content:"\F07DF"}.mdi-mushroom-off::before{content:"\F13FA"}.mdi-mushroom-off-outline::before{content:"\F13FB"}.mdi-mushroom-outline::before{content:"\F07E0"}.mdi-music::before{content:"\F075A"}.mdi-music-accidental-double-flat::before{content:"\F0F69"}.mdi-music-accidental-double-sharp::before{content:"\F0F6A"}.mdi-music-accidental-flat::before{content:"\F0F6B"}.mdi-music-accidental-natural::before{content:"\F0F6C"}.mdi-music-accidental-sharp::before{content:"\F0F6D"}.mdi-music-box::before{content:"\F0384"}.mdi-music-box-multiple::before{content:"\F0333"}.mdi-music-box-multiple-outline::before{content:"\F0F04"}.mdi-music-box-outline::before{content:"\F0385"}.mdi-music-circle::before{content:"\F0386"}.mdi-music-circle-outline::before{content:"\F0AD4"}.mdi-music-clef-alto::before{content:"\F0F6E"}.mdi-music-clef-bass::before{content:"\F0F6F"}.mdi-music-clef-treble::before{content:"\F0F70"}.mdi-music-note::before{content:"\F0387"}.mdi-music-note-bluetooth::before{content:"\F05FE"}.mdi-music-note-bluetooth-off::before{content:"\F05FF"}.mdi-music-note-eighth::before{content:"\F0388"}.mdi-music-note-eighth-dotted::before{content:"\F0F71"}.mdi-music-note-half::before{content:"\F0389"}.mdi-music-note-half-dotted::before{content:"\F0F72"}.mdi-music-note-minus::before{content:"\F1B89"}.mdi-music-note-off::before{content:"\F038A"}.mdi-music-note-off-outline::before{content:"\F0F73"}.mdi-music-note-outline::before{content:"\F0F74"}.mdi-music-note-plus::before{content:"\F0DDE"}.mdi-music-note-quarter::before{content:"\F038B"}.mdi-music-note-quarter-dotted::before{content:"\F0F75"}.mdi-music-note-sixteenth::before{content:"\F038C"}.mdi-music-note-sixteenth-dotted::before{content:"\F0F76"}.mdi-music-note-whole::before{content:"\F038D"}.mdi-music-note-whole-dotted::before{content:"\F0F77"}.mdi-music-off::before{content:"\F075B"}.mdi-music-rest-eighth::before{content:"\F0F78"}.mdi-music-rest-half::before{content:"\F0F79"}.mdi-music-rest-quarter::before{content:"\F0F7A"}.mdi-music-rest-sixteenth::before{content:"\F0F7B"}.mdi-music-rest-whole::before{content:"\F0F7C"}.mdi-mustache::before{content:"\F15DE"}.mdi-nail::before{content:"\F0DDF"}.mdi-nas::before{content:"\F08F3"}.mdi-nativescript::before{content:"\F0880"}.mdi-nature::before{content:"\F038E"}.mdi-nature-outline::before{content:"\F1C71"}.mdi-nature-people::before{content:"\F038F"}.mdi-nature-people-outline::before{content:"\F1C72"}.mdi-navigation::before{content:"\F0390"}.mdi-navigation-outline::before{content:"\F1607"}.mdi-navigation-variant::before{content:"\F18F0"}.mdi-navigation-variant-outline::before{content:"\F18F1"}.mdi-near-me::before{content:"\F05CD"}.mdi-necklace::before{content:"\F0F0B"}.mdi-needle::before{content:"\F0391"}.mdi-needle-off::before{content:"\F19D2"}.mdi-netflix::before{content:"\F0746"}.mdi-network::before{content:"\F06F3"}.mdi-network-off::before{content:"\F0C9B"}.mdi-network-off-outline::before{content:"\F0C9C"}.mdi-network-outline::before{content:"\F0C9D"}.mdi-network-pos::before{content:"\F1ACB"}.mdi-network-strength-1::before{content:"\F08F4"}.mdi-network-strength-1-alert::before{content:"\F08F5"}.mdi-network-strength-2::before{content:"\F08F6"}.mdi-network-strength-2-alert::before{content:"\F08F7"}.mdi-network-strength-3::before{content:"\F08F8"}.mdi-network-strength-3-alert::before{content:"\F08F9"}.mdi-network-strength-4::before{content:"\F08FA"}.mdi-network-strength-4-alert::before{content:"\F08FB"}.mdi-network-strength-4-cog::before{content:"\F191A"}.mdi-network-strength-off::before{content:"\F08FC"}.mdi-network-strength-off-outline::before{content:"\F08FD"}.mdi-network-strength-outline::before{content:"\F08FE"}.mdi-new-box::before{content:"\F0394"}.mdi-newspaper::before{content:"\F0395"}.mdi-newspaper-check::before{content:"\F1943"}.mdi-newspaper-minus::before{content:"\F0F0C"}.mdi-newspaper-plus::before{content:"\F0F0D"}.mdi-newspaper-remove::before{content:"\F1944"}.mdi-newspaper-variant::before{content:"\F1001"}.mdi-newspaper-variant-multiple::before{content:"\F1002"}.mdi-newspaper-variant-multiple-outline::before{content:"\F1003"}.mdi-newspaper-variant-outline::before{content:"\F1004"}.mdi-nfc::before{content:"\F0396"}.mdi-nfc-search-variant::before{content:"\F0E53"}.mdi-nfc-tap::before{content:"\F0397"}.mdi-nfc-variant::before{content:"\F0398"}.mdi-nfc-variant-off::before{content:"\F0E54"}.mdi-ninja::before{content:"\F0774"}.mdi-nintendo-game-boy::before{content:"\F1393"}.mdi-nintendo-switch::before{content:"\F07E1"}.mdi-nintendo-wii::before{content:"\F05AB"}.mdi-nintendo-wiiu::before{content:"\F072D"}.mdi-nix::before{content:"\F1105"}.mdi-nodejs::before{content:"\F0399"}.mdi-noodles::before{content:"\F117E"}.mdi-not-equal::before{content:"\F098D"}.mdi-not-equal-variant::before{content:"\F098E"}.mdi-note::before{content:"\F039A"}.mdi-note-alert::before{content:"\F177D"}.mdi-note-alert-outline::before{content:"\F177E"}.mdi-note-check::before{content:"\F177F"}.mdi-note-check-outline::before{content:"\F1780"}.mdi-note-edit::before{content:"\F1781"}.mdi-note-edit-outline::before{content:"\F1782"}.mdi-note-minus::before{content:"\F164F"}.mdi-note-minus-outline::before{content:"\F1650"}.mdi-note-multiple::before{content:"\F06B8"}.mdi-note-multiple-outline::before{content:"\F06B9"}.mdi-note-off::before{content:"\F1783"}.mdi-note-off-outline::before{content:"\F1784"}.mdi-note-outline::before{content:"\F039B"}.mdi-note-plus::before{content:"\F039C"}.mdi-note-plus-outline::before{content:"\F039D"}.mdi-note-remove::before{content:"\F1651"}.mdi-note-remove-outline::before{content:"\F1652"}.mdi-note-search::before{content:"\F1653"}.mdi-note-search-outline::before{content:"\F1654"}.mdi-note-text::before{content:"\F039E"}.mdi-note-text-outline::before{content:"\F11D7"}.mdi-notebook::before{content:"\F082E"}.mdi-notebook-check::before{content:"\F14F5"}.mdi-notebook-check-outline::before{content:"\F14F6"}.mdi-notebook-edit::before{content:"\F14E7"}.mdi-notebook-edit-outline::before{content:"\F14E9"}.mdi-notebook-heart::before{content:"\F1A0B"}.mdi-notebook-heart-outline::before{content:"\F1A0C"}.mdi-notebook-minus::before{content:"\F1610"}.mdi-notebook-minus-outline::before{content:"\F1611"}.mdi-notebook-multiple::before{content:"\F0E55"}.mdi-notebook-outline::before{content:"\F0EBF"}.mdi-notebook-plus::before{content:"\F1612"}.mdi-notebook-plus-outline::before{content:"\F1613"}.mdi-notebook-remove::before{content:"\F1614"}.mdi-notebook-remove-outline::before{content:"\F1615"}.mdi-notification-clear-all::before{content:"\F039F"}.mdi-npm::before{content:"\F06F7"}.mdi-nuke::before{content:"\F06A4"}.mdi-null::before{content:"\F07E2"}.mdi-numeric::before{content:"\F03A0"}.mdi-numeric-0::before{content:"\F0B39"}.mdi-numeric-0-box::before{content:"\F03A1"}.mdi-numeric-0-box-multiple::before{content:"\F0F0E"}.mdi-numeric-0-box-multiple-outline::before{content:"\F03A2"}.mdi-numeric-0-box-outline::before{content:"\F03A3"}.mdi-numeric-0-circle::before{content:"\F0C9E"}.mdi-numeric-0-circle-outline::before{content:"\F0C9F"}.mdi-numeric-1::before{content:"\F0B3A"}.mdi-numeric-1-box::before{content:"\F03A4"}.mdi-numeric-1-box-multiple::before{content:"\F0F0F"}.mdi-numeric-1-box-multiple-outline::before{content:"\F03A5"}.mdi-numeric-1-box-outline::before{content:"\F03A6"}.mdi-numeric-1-circle::before{content:"\F0CA0"}.mdi-numeric-1-circle-outline::before{content:"\F0CA1"}.mdi-numeric-10::before{content:"\F0FE9"}.mdi-numeric-10-box::before{content:"\F0F7D"}.mdi-numeric-10-box-multiple::before{content:"\F0FEA"}.mdi-numeric-10-box-multiple-outline::before{content:"\F0FEB"}.mdi-numeric-10-box-outline::before{content:"\F0F7E"}.mdi-numeric-10-circle::before{content:"\F0FEC"}.mdi-numeric-10-circle-outline::before{content:"\F0FED"}.mdi-numeric-2::before{content:"\F0B3B"}.mdi-numeric-2-box::before{content:"\F03A7"}.mdi-numeric-2-box-multiple::before{content:"\F0F10"}.mdi-numeric-2-box-multiple-outline::before{content:"\F03A8"}.mdi-numeric-2-box-outline::before{content:"\F03A9"}.mdi-numeric-2-circle::before{content:"\F0CA2"}.mdi-numeric-2-circle-outline::before{content:"\F0CA3"}.mdi-numeric-3::before{content:"\F0B3C"}.mdi-numeric-3-box::before{content:"\F03AA"}.mdi-numeric-3-box-multiple::before{content:"\F0F11"}.mdi-numeric-3-box-multiple-outline::before{content:"\F03AB"}.mdi-numeric-3-box-outline::before{content:"\F03AC"}.mdi-numeric-3-circle::before{content:"\F0CA4"}.mdi-numeric-3-circle-outline::before{content:"\F0CA5"}.mdi-numeric-4::before{content:"\F0B3D"}.mdi-numeric-4-box::before{content:"\F03AD"}.mdi-numeric-4-box-multiple::before{content:"\F0F12"}.mdi-numeric-4-box-multiple-outline::before{content:"\F03B2"}.mdi-numeric-4-box-outline::before{content:"\F03AE"}.mdi-numeric-4-circle::before{content:"\F0CA6"}.mdi-numeric-4-circle-outline::before{content:"\F0CA7"}.mdi-numeric-5::before{content:"\F0B3E"}.mdi-numeric-5-box::before{content:"\F03B1"}.mdi-numeric-5-box-multiple::before{content:"\F0F13"}.mdi-numeric-5-box-multiple-outline::before{content:"\F03AF"}.mdi-numeric-5-box-outline::before{content:"\F03B0"}.mdi-numeric-5-circle::before{content:"\F0CA8"}.mdi-numeric-5-circle-outline::before{content:"\F0CA9"}.mdi-numeric-6::before{content:"\F0B3F"}.mdi-numeric-6-box::before{content:"\F03B3"}.mdi-numeric-6-box-multiple::before{content:"\F0F14"}.mdi-numeric-6-box-multiple-outline::before{content:"\F03B4"}.mdi-numeric-6-box-outline::before{content:"\F03B5"}.mdi-numeric-6-circle::before{content:"\F0CAA"}.mdi-numeric-6-circle-outline::before{content:"\F0CAB"}.mdi-numeric-7::before{content:"\F0B40"}.mdi-numeric-7-box::before{content:"\F03B6"}.mdi-numeric-7-box-multiple::before{content:"\F0F15"}.mdi-numeric-7-box-multiple-outline::before{content:"\F03B7"}.mdi-numeric-7-box-outline::before{content:"\F03B8"}.mdi-numeric-7-circle::before{content:"\F0CAC"}.mdi-numeric-7-circle-outline::before{content:"\F0CAD"}.mdi-numeric-8::before{content:"\F0B41"}.mdi-numeric-8-box::before{content:"\F03B9"}.mdi-numeric-8-box-multiple::before{content:"\F0F16"}.mdi-numeric-8-box-multiple-outline::before{content:"\F03BA"}.mdi-numeric-8-box-outline::before{content:"\F03BB"}.mdi-numeric-8-circle::before{content:"\F0CAE"}.mdi-numeric-8-circle-outline::before{content:"\F0CAF"}.mdi-numeric-9::before{content:"\F0B42"}.mdi-numeric-9-box::before{content:"\F03BC"}.mdi-numeric-9-box-multiple::before{content:"\F0F17"}.mdi-numeric-9-box-multiple-outline::before{content:"\F03BD"}.mdi-numeric-9-box-outline::before{content:"\F03BE"}.mdi-numeric-9-circle::before{content:"\F0CB0"}.mdi-numeric-9-circle-outline::before{content:"\F0CB1"}.mdi-numeric-9-plus::before{content:"\F0FEE"}.mdi-numeric-9-plus-box::before{content:"\F03BF"}.mdi-numeric-9-plus-box-multiple::before{content:"\F0F18"}.mdi-numeric-9-plus-box-multiple-outline::before{content:"\F03C0"}.mdi-numeric-9-plus-box-outline::before{content:"\F03C1"}.mdi-numeric-9-plus-circle::before{content:"\F0CB2"}.mdi-numeric-9-plus-circle-outline::before{content:"\F0CB3"}.mdi-numeric-negative-1::before{content:"\F1052"}.mdi-numeric-off::before{content:"\F19D3"}.mdi-numeric-positive-1::before{content:"\F15CB"}.mdi-nut::before{content:"\F06F8"}.mdi-nutrition::before{content:"\F03C2"}.mdi-nuxt::before{content:"\F1106"}.mdi-oar::before{content:"\F067C"}.mdi-ocarina::before{content:"\F0DE0"}.mdi-oci::before{content:"\F12E9"}.mdi-ocr::before{content:"\F113A"}.mdi-octagon::before{content:"\F03C3"}.mdi-octagon-outline::before{content:"\F03C4"}.mdi-octagram::before{content:"\F06F9"}.mdi-octagram-edit::before{content:"\F1C34"}.mdi-octagram-edit-outline::before{content:"\F1C35"}.mdi-octagram-minus::before{content:"\F1C36"}.mdi-octagram-minus-outline::before{content:"\F1C37"}.mdi-octagram-outline::before{content:"\F0775"}.mdi-octagram-plus::before{content:"\F1C38"}.mdi-octagram-plus-outline::before{content:"\F1C39"}.mdi-octahedron::before{content:"\F1950"}.mdi-octahedron-off::before{content:"\F1951"}.mdi-odnoklassniki::before{content:"\F03C5"}.mdi-offer::before{content:"\F121B"}.mdi-office-building::before{content:"\F0991"}.mdi-office-building-cog::before{content:"\F1949"}.mdi-office-building-cog-outline::before{content:"\F194A"}.mdi-office-building-marker::before{content:"\F1520"}.mdi-office-building-marker-outline::before{content:"\F1521"}.mdi-office-building-minus::before{content:"\F1BAA"}.mdi-office-building-minus-outline::before{content:"\F1BAB"}.mdi-office-building-outline::before{content:"\F151F"}.mdi-office-building-plus::before{content:"\F1BA8"}.mdi-office-building-plus-outline::before{content:"\F1BA9"}.mdi-office-building-remove::before{content:"\F1BAC"}.mdi-office-building-remove-outline::before{content:"\F1BAD"}.mdi-oil::before{content:"\F03C7"}.mdi-oil-lamp::before{content:"\F0F19"}.mdi-oil-level::before{content:"\F1053"}.mdi-oil-temperature::before{content:"\F0FF8"}.mdi-om::before{content:"\F0973"}.mdi-omega::before{content:"\F03C9"}.mdi-one-up::before{content:"\F0BAD"}.mdi-onepassword::before{content:"\F0881"}.mdi-opacity::before{content:"\F05CC"}.mdi-open-in-app::before{content:"\F03CB"}.mdi-open-in-new::before{content:"\F03CC"}.mdi-open-source-initiative::before{content:"\F0BAE"}.mdi-openid::before{content:"\F03CD"}.mdi-opera::before{content:"\F03CE"}.mdi-orbit::before{content:"\F0018"}.mdi-orbit-variant::before{content:"\F15DB"}.mdi-order-alphabetical-ascending::before{content:"\F020D"}.mdi-order-alphabetical-descending::before{content:"\F0D07"}.mdi-order-bool-ascending::before{content:"\F02BE"}.mdi-order-bool-ascending-variant::before{content:"\F098F"}.mdi-order-bool-descending::before{content:"\F1384"}.mdi-order-bool-descending-variant::before{content:"\F0990"}.mdi-order-numeric-ascending::before{content:"\F0545"}.mdi-order-numeric-descending::before{content:"\F0546"}.mdi-origin::before{content:"\F0B43"}.mdi-ornament::before{content:"\F03CF"}.mdi-ornament-variant::before{content:"\F03D0"}.mdi-outdoor-lamp::before{content:"\F1054"}.mdi-overscan::before{content:"\F1005"}.mdi-owl::before{content:"\F03D2"}.mdi-pac-man::before{content:"\F0BAF"}.mdi-package::before{content:"\F03D3"}.mdi-package-check::before{content:"\F1B51"}.mdi-package-down::before{content:"\F03D4"}.mdi-package-up::before{content:"\F03D5"}.mdi-package-variant::before{content:"\F03D6"}.mdi-package-variant-closed::before{content:"\F03D7"}.mdi-package-variant-closed-check::before{content:"\F1B52"}.mdi-package-variant-closed-minus::before{content:"\F19D4"}.mdi-package-variant-closed-plus::before{content:"\F19D5"}.mdi-package-variant-closed-remove::before{content:"\F19D6"}.mdi-package-variant-minus::before{content:"\F19D7"}.mdi-package-variant-plus::before{content:"\F19D8"}.mdi-package-variant-remove::before{content:"\F19D9"}.mdi-page-first::before{content:"\F0600"}.mdi-page-last::before{content:"\F0601"}.mdi-page-layout-body::before{content:"\F06FA"}.mdi-page-layout-footer::before{content:"\F06FB"}.mdi-page-layout-header::before{content:"\F06FC"}.mdi-page-layout-header-footer::before{content:"\F0F7F"}.mdi-page-layout-sidebar-left::before{content:"\F06FD"}.mdi-page-layout-sidebar-right::before{content:"\F06FE"}.mdi-page-next::before{content:"\F0BB0"}.mdi-page-next-outline::before{content:"\F0BB1"}.mdi-page-previous::before{content:"\F0BB2"}.mdi-page-previous-outline::before{content:"\F0BB3"}.mdi-pail::before{content:"\F1417"}.mdi-pail-minus::before{content:"\F1437"}.mdi-pail-minus-outline::before{content:"\F143C"}.mdi-pail-off::before{content:"\F1439"}.mdi-pail-off-outline::before{content:"\F143E"}.mdi-pail-outline::before{content:"\F143A"}.mdi-pail-plus::before{content:"\F1436"}.mdi-pail-plus-outline::before{content:"\F143B"}.mdi-pail-remove::before{content:"\F1438"}.mdi-pail-remove-outline::before{content:"\F143D"}.mdi-palette::before{content:"\F03D8"}.mdi-palette-advanced::before{content:"\F03D9"}.mdi-palette-outline::before{content:"\F0E0C"}.mdi-palette-swatch::before{content:"\F08B5"}.mdi-palette-swatch-outline::before{content:"\F135C"}.mdi-palette-swatch-variant::before{content:"\F195A"}.mdi-palm-tree::before{content:"\F1055"}.mdi-pan::before{content:"\F0BB4"}.mdi-pan-bottom-left::before{content:"\F0BB5"}.mdi-pan-bottom-right::before{content:"\F0BB6"}.mdi-pan-down::before{content:"\F0BB7"}.mdi-pan-horizontal::before{content:"\F0BB8"}.mdi-pan-left::before{content:"\F0BB9"}.mdi-pan-right::before{content:"\F0BBA"}.mdi-pan-top-left::before{content:"\F0BBB"}.mdi-pan-top-right::before{content:"\F0BBC"}.mdi-pan-up::before{content:"\F0BBD"}.mdi-pan-vertical::before{content:"\F0BBE"}.mdi-panda::before{content:"\F03DA"}.mdi-pandora::before{content:"\F03DB"}.mdi-panorama::before{content:"\F03DC"}.mdi-panorama-fisheye::before{content:"\F03DD"}.mdi-panorama-horizontal::before{content:"\F1928"}.mdi-panorama-horizontal-outline::before{content:"\F03DE"}.mdi-panorama-outline::before{content:"\F198C"}.mdi-panorama-sphere::before{content:"\F198D"}.mdi-panorama-sphere-outline::before{content:"\F198E"}.mdi-panorama-variant::before{content:"\F198F"}.mdi-panorama-variant-outline::before{content:"\F1990"}.mdi-panorama-vertical::before{content:"\F1929"}.mdi-panorama-vertical-outline::before{content:"\F03DF"}.mdi-panorama-wide-angle::before{content:"\F195F"}.mdi-panorama-wide-angle-outline::before{content:"\F03E0"}.mdi-paper-cut-vertical::before{content:"\F03E1"}.mdi-paper-roll::before{content:"\F1157"}.mdi-paper-roll-outline::before{content:"\F1158"}.mdi-paperclip::before{content:"\F03E2"}.mdi-paperclip-check::before{content:"\F1AC6"}.mdi-paperclip-lock::before{content:"\F19DA"}.mdi-paperclip-minus::before{content:"\F1AC7"}.mdi-paperclip-off::before{content:"\F1AC8"}.mdi-paperclip-plus::before{content:"\F1AC9"}.mdi-paperclip-remove::before{content:"\F1ACA"}.mdi-parachute::before{content:"\F0CB4"}.mdi-parachute-outline::before{content:"\F0CB5"}.mdi-paragliding::before{content:"\F1745"}.mdi-parking::before{content:"\F03E3"}.mdi-party-popper::before{content:"\F1056"}.mdi-passport::before{content:"\F07E3"}.mdi-passport-alert::before{content:"\F1CB8"}.mdi-passport-biometric::before{content:"\F0DE1"}.mdi-passport-cancel::before{content:"\F1CB9"}.mdi-passport-check::before{content:"\F1CBA"}.mdi-passport-minus::before{content:"\F1CBB"}.mdi-passport-plus::before{content:"\F1CBC"}.mdi-passport-remove::before{content:"\F1CBD"}.mdi-pasta::before{content:"\F1160"}.mdi-patio-heater::before{content:"\F0F80"}.mdi-patreon::before{content:"\F0882"}.mdi-pause::before{content:"\F03E4"}.mdi-pause-box::before{content:"\F00BC"}.mdi-pause-box-outline::before{content:"\F1B7A"}.mdi-pause-circle::before{content:"\F03E5"}.mdi-pause-circle-outline::before{content:"\F03E6"}.mdi-pause-octagon::before{content:"\F03E7"}.mdi-pause-octagon-outline::before{content:"\F03E8"}.mdi-paw::before{content:"\F03E9"}.mdi-paw-off::before{content:"\F0657"}.mdi-paw-off-outline::before{content:"\F1676"}.mdi-paw-outline::before{content:"\F1675"}.mdi-peace::before{content:"\F0884"}.mdi-peanut::before{content:"\F0FFC"}.mdi-peanut-off::before{content:"\F0FFD"}.mdi-peanut-off-outline::before{content:"\F0FFF"}.mdi-peanut-outline::before{content:"\F0FFE"}.mdi-pen::before{content:"\F03EA"}.mdi-pen-lock::before{content:"\F0DE2"}.mdi-pen-minus::before{content:"\F0DE3"}.mdi-pen-off::before{content:"\F0DE4"}.mdi-pen-plus::before{content:"\F0DE5"}.mdi-pen-remove::before{content:"\F0DE6"}.mdi-pencil::before{content:"\F03EB"}.mdi-pencil-box::before{content:"\F03EC"}.mdi-pencil-box-multiple::before{content:"\F1144"}.mdi-pencil-box-multiple-outline::before{content:"\F1145"}.mdi-pencil-box-outline::before{content:"\F03ED"}.mdi-pencil-circle::before{content:"\F06FF"}.mdi-pencil-circle-outline::before{content:"\F0776"}.mdi-pencil-lock::before{content:"\F03EE"}.mdi-pencil-lock-outline::before{content:"\F0DE7"}.mdi-pencil-minus::before{content:"\F0DE8"}.mdi-pencil-minus-outline::before{content:"\F0DE9"}.mdi-pencil-off::before{content:"\F03EF"}.mdi-pencil-off-outline::before{content:"\F0DEA"}.mdi-pencil-outline::before{content:"\F0CB6"}.mdi-pencil-plus::before{content:"\F0DEB"}.mdi-pencil-plus-outline::before{content:"\F0DEC"}.mdi-pencil-remove::before{content:"\F0DED"}.mdi-pencil-remove-outline::before{content:"\F0DEE"}.mdi-pencil-ruler::before{content:"\F1353"}.mdi-pencil-ruler-outline::before{content:"\F1C11"}.mdi-penguin::before{content:"\F0EC0"}.mdi-pentagon::before{content:"\F0701"}.mdi-pentagon-outline::before{content:"\F0700"}.mdi-pentagram::before{content:"\F1667"}.mdi-percent::before{content:"\F03F0"}.mdi-percent-box::before{content:"\F1A02"}.mdi-percent-box-outline::before{content:"\F1A03"}.mdi-percent-circle::before{content:"\F1A04"}.mdi-percent-circle-outline::before{content:"\F1A05"}.mdi-percent-outline::before{content:"\F1278"}.mdi-periodic-table::before{content:"\F08B6"}.mdi-perspective-less::before{content:"\F0D23"}.mdi-perspective-more::before{content:"\F0D24"}.mdi-ph::before{content:"\F17C5"}.mdi-phone::before{content:"\F03F2"}.mdi-phone-alert::before{content:"\F0F1A"}.mdi-phone-alert-outline::before{content:"\F118E"}.mdi-phone-bluetooth::before{content:"\F03F3"}.mdi-phone-bluetooth-outline::before{content:"\F118F"}.mdi-phone-cancel::before{content:"\F10BC"}.mdi-phone-cancel-outline::before{content:"\F1190"}.mdi-phone-check::before{content:"\F11A9"}.mdi-phone-check-outline::before{content:"\F11AA"}.mdi-phone-classic::before{content:"\F0602"}.mdi-phone-classic-off::before{content:"\F1279"}.mdi-phone-clock::before{content:"\F19DB"}.mdi-phone-dial::before{content:"\F1559"}.mdi-phone-dial-outline::before{content:"\F155A"}.mdi-phone-forward::before{content:"\F03F4"}.mdi-phone-forward-outline::before{content:"\F1191"}.mdi-phone-hangup::before{content:"\F03F5"}.mdi-phone-hangup-outline::before{content:"\F1192"}.mdi-phone-in-talk::before{content:"\F03F6"}.mdi-phone-in-talk-outline::before{content:"\F1182"}.mdi-phone-incoming::before{content:"\F03F7"}.mdi-phone-incoming-outgoing::before{content:"\F1B3F"}.mdi-phone-incoming-outgoing-outline::before{content:"\F1B40"}.mdi-phone-incoming-outline::before{content:"\F1193"}.mdi-phone-lock::before{content:"\F03F8"}.mdi-phone-lock-outline::before{content:"\F1194"}.mdi-phone-log::before{content:"\F03F9"}.mdi-phone-log-outline::before{content:"\F1195"}.mdi-phone-message::before{content:"\F1196"}.mdi-phone-message-outline::before{content:"\F1197"}.mdi-phone-minus::before{content:"\F0658"}.mdi-phone-minus-outline::before{content:"\F1198"}.mdi-phone-missed::before{content:"\F03FA"}.mdi-phone-missed-outline::before{content:"\F11A5"}.mdi-phone-off::before{content:"\F0DEF"}.mdi-phone-off-outline::before{content:"\F11A6"}.mdi-phone-outgoing::before{content:"\F03FB"}.mdi-phone-outgoing-outline::before{content:"\F1199"}.mdi-phone-outline::before{content:"\F0DF0"}.mdi-phone-paused::before{content:"\F03FC"}.mdi-phone-paused-outline::before{content:"\F119A"}.mdi-phone-plus::before{content:"\F0659"}.mdi-phone-plus-outline::before{content:"\F119B"}.mdi-phone-refresh::before{content:"\F1993"}.mdi-phone-refresh-outline::before{content:"\F1994"}.mdi-phone-remove::before{content:"\F152F"}.mdi-phone-remove-outline::before{content:"\F1530"}.mdi-phone-return::before{content:"\F082F"}.mdi-phone-return-outline::before{content:"\F119C"}.mdi-phone-ring::before{content:"\F11AB"}.mdi-phone-ring-outline::before{content:"\F11AC"}.mdi-phone-rotate-landscape::before{content:"\F0885"}.mdi-phone-rotate-portrait::before{content:"\F0886"}.mdi-phone-settings::before{content:"\F03FD"}.mdi-phone-settings-outline::before{content:"\F119D"}.mdi-phone-sync::before{content:"\F1995"}.mdi-phone-sync-outline::before{content:"\F1996"}.mdi-phone-voip::before{content:"\F03FE"}.mdi-pi::before{content:"\F03FF"}.mdi-pi-box::before{content:"\F0400"}.mdi-pi-hole::before{content:"\F0DF1"}.mdi-piano::before{content:"\F067D"}.mdi-piano-off::before{content:"\F0698"}.mdi-pickaxe::before{content:"\F08B7"}.mdi-picture-in-picture-bottom-right::before{content:"\F0E57"}.mdi-picture-in-picture-bottom-right-outline::before{content:"\F0E58"}.mdi-picture-in-picture-top-right::before{content:"\F0E59"}.mdi-picture-in-picture-top-right-outline::before{content:"\F0E5A"}.mdi-pier::before{content:"\F0887"}.mdi-pier-crane::before{content:"\F0888"}.mdi-pig::before{content:"\F0401"}.mdi-pig-variant::before{content:"\F1006"}.mdi-pig-variant-outline::before{content:"\F1678"}.mdi-piggy-bank::before{content:"\F1007"}.mdi-piggy-bank-outline::before{content:"\F1679"}.mdi-pill::before{content:"\F0402"}.mdi-pill-multiple::before{content:"\F1B4C"}.mdi-pill-off::before{content:"\F1A5C"}.mdi-pillar::before{content:"\F0702"}.mdi-pin::before{content:"\F0403"}.mdi-pin-off::before{content:"\F0404"}.mdi-pin-off-outline::before{content:"\F0930"}.mdi-pin-outline::before{content:"\F0931"}.mdi-pine-tree::before{content:"\F0405"}.mdi-pine-tree-box::before{content:"\F0406"}.mdi-pine-tree-fire::before{content:"\F141A"}.mdi-pine-tree-variant::before{content:"\F1C73"}.mdi-pine-tree-variant-outline::before{content:"\F1C74"}.mdi-pinterest::before{content:"\F0407"}.mdi-pinwheel::before{content:"\F0AD5"}.mdi-pinwheel-outline::before{content:"\F0AD6"}.mdi-pipe::before{content:"\F07E5"}.mdi-pipe-disconnected::before{content:"\F07E6"}.mdi-pipe-leak::before{content:"\F0889"}.mdi-pipe-valve::before{content:"\F184D"}.mdi-pipe-wrench::before{content:"\F1354"}.mdi-pirate::before{content:"\F0A08"}.mdi-pistol::before{content:"\F0703"}.mdi-piston::before{content:"\F088A"}.mdi-pitchfork::before{content:"\F1553"}.mdi-pizza::before{content:"\F0409"}.mdi-plane-car::before{content:"\F1AFF"}.mdi-plane-train::before{content:"\F1B00"}.mdi-play::before{content:"\F040A"}.mdi-play-box::before{content:"\F127A"}.mdi-play-box-edit-outline::before{content:"\F1C3A"}.mdi-play-box-lock::before{content:"\F1A16"}.mdi-play-box-lock-open::before{content:"\F1A17"}.mdi-play-box-lock-open-outline::before{content:"\F1A18"}.mdi-play-box-lock-outline::before{content:"\F1A19"}.mdi-play-box-multiple::before{content:"\F0D19"}.mdi-play-box-multiple-outline::before{content:"\F13E6"}.mdi-play-box-outline::before{content:"\F040B"}.mdi-play-circle::before{content:"\F040C"}.mdi-play-circle-outline::before{content:"\F040D"}.mdi-play-network::before{content:"\F088B"}.mdi-play-network-outline::before{content:"\F0CB7"}.mdi-play-outline::before{content:"\F0F1B"}.mdi-play-pause::before{content:"\F040E"}.mdi-play-protected-content::before{content:"\F040F"}.mdi-play-speed::before{content:"\F08FF"}.mdi-playlist-check::before{content:"\F05C7"}.mdi-playlist-edit::before{content:"\F0900"}.mdi-playlist-minus::before{content:"\F0410"}.mdi-playlist-music::before{content:"\F0CB8"}.mdi-playlist-music-outline::before{content:"\F0CB9"}.mdi-playlist-play::before{content:"\F0411"}.mdi-playlist-plus::before{content:"\F0412"}.mdi-playlist-remove::before{content:"\F0413"}.mdi-playlist-star::before{content:"\F0DF2"}.mdi-plex::before{content:"\F06BA"}.mdi-pliers::before{content:"\F19A4"}.mdi-plus::before{content:"\F0415"}.mdi-plus-box::before{content:"\F0416"}.mdi-plus-box-multiple::before{content:"\F0334"}.mdi-plus-box-multiple-outline::before{content:"\F1143"}.mdi-plus-box-outline::before{content:"\F0704"}.mdi-plus-circle::before{content:"\F0417"}.mdi-plus-circle-multiple::before{content:"\F034C"}.mdi-plus-circle-multiple-outline::before{content:"\F0418"}.mdi-plus-circle-outline::before{content:"\F0419"}.mdi-plus-lock::before{content:"\F1A5D"}.mdi-plus-lock-open::before{content:"\F1A5E"}.mdi-plus-minus::before{content:"\F0992"}.mdi-plus-minus-box::before{content:"\F0993"}.mdi-plus-minus-variant::before{content:"\F14C9"}.mdi-plus-network::before{content:"\F041A"}.mdi-plus-network-outline::before{content:"\F0CBA"}.mdi-plus-outline::before{content:"\F0705"}.mdi-plus-thick::before{content:"\F11EC"}.mdi-pocket::before{content:"\F1CBE"}.mdi-podcast::before{content:"\F0994"}.mdi-podium::before{content:"\F0D25"}.mdi-podium-bronze::before{content:"\F0D26"}.mdi-podium-gold::before{content:"\F0D27"}.mdi-podium-silver::before{content:"\F0D28"}.mdi-point-of-sale::before{content:"\F0D92"}.mdi-pokeball::before{content:"\F041D"}.mdi-pokemon-go::before{content:"\F0A09"}.mdi-poker-chip::before{content:"\F0830"}.mdi-polaroid::before{content:"\F041E"}.mdi-police-badge::before{content:"\F1167"}.mdi-police-badge-outline::before{content:"\F1168"}.mdi-police-station::before{content:"\F1839"}.mdi-poll::before{content:"\F041F"}.mdi-polo::before{content:"\F14C3"}.mdi-polymer::before{content:"\F0421"}.mdi-pool::before{content:"\F0606"}.mdi-pool-thermometer::before{content:"\F1A5F"}.mdi-popcorn::before{content:"\F0422"}.mdi-post::before{content:"\F1008"}.mdi-post-lamp::before{content:"\F1A60"}.mdi-post-outline::before{content:"\F1009"}.mdi-postage-stamp::before{content:"\F0CBB"}.mdi-pot::before{content:"\F02E5"}.mdi-pot-mix::before{content:"\F065B"}.mdi-pot-mix-outline::before{content:"\F0677"}.mdi-pot-outline::before{content:"\F02FF"}.mdi-pot-steam::before{content:"\F065A"}.mdi-pot-steam-outline::before{content:"\F0326"}.mdi-pound::before{content:"\F0423"}.mdi-pound-box::before{content:"\F0424"}.mdi-pound-box-outline::before{content:"\F117F"}.mdi-power::before{content:"\F0425"}.mdi-power-cycle::before{content:"\F0901"}.mdi-power-off::before{content:"\F0902"}.mdi-power-on::before{content:"\F0903"}.mdi-power-plug::before{content:"\F06A5"}.mdi-power-plug-battery::before{content:"\F1C3B"}.mdi-power-plug-battery-outline::before{content:"\F1C3C"}.mdi-power-plug-off::before{content:"\F06A6"}.mdi-power-plug-off-outline::before{content:"\F1424"}.mdi-power-plug-outline::before{content:"\F1425"}.mdi-power-settings::before{content:"\F0426"}.mdi-power-sleep::before{content:"\F0904"}.mdi-power-socket::before{content:"\F0427"}.mdi-power-socket-au::before{content:"\F0905"}.mdi-power-socket-ch::before{content:"\F0FB3"}.mdi-power-socket-de::before{content:"\F1107"}.mdi-power-socket-eu::before{content:"\F07E7"}.mdi-power-socket-fr::before{content:"\F1108"}.mdi-power-socket-it::before{content:"\F14FF"}.mdi-power-socket-jp::before{content:"\F1109"}.mdi-power-socket-uk::before{content:"\F07E8"}.mdi-power-socket-us::before{content:"\F07E9"}.mdi-power-standby::before{content:"\F0906"}.mdi-powershell::before{content:"\F0A0A"}.mdi-prescription::before{content:"\F0706"}.mdi-presentation::before{content:"\F0428"}.mdi-presentation-play::before{content:"\F0429"}.mdi-pretzel::before{content:"\F1562"}.mdi-printer::before{content:"\F042A"}.mdi-printer-3d::before{content:"\F042B"}.mdi-printer-3d-nozzle::before{content:"\F0E5B"}.mdi-printer-3d-nozzle-alert::before{content:"\F11C0"}.mdi-printer-3d-nozzle-alert-outline::before{content:"\F11C1"}.mdi-printer-3d-nozzle-heat::before{content:"\F18B8"}.mdi-printer-3d-nozzle-heat-outline::before{content:"\F18B9"}.mdi-printer-3d-nozzle-off::before{content:"\F1B19"}.mdi-printer-3d-nozzle-off-outline::before{content:"\F1B1A"}.mdi-printer-3d-nozzle-outline::before{content:"\F0E5C"}.mdi-printer-3d-off::before{content:"\F1B0E"}.mdi-printer-alert::before{content:"\F042C"}.mdi-printer-check::before{content:"\F1146"}.mdi-printer-eye::before{content:"\F1458"}.mdi-printer-off::before{content:"\F0E5D"}.mdi-printer-off-outline::before{content:"\F1785"}.mdi-printer-outline::before{content:"\F1786"}.mdi-printer-pos::before{content:"\F1057"}.mdi-printer-pos-alert::before{content:"\F1BBC"}.mdi-printer-pos-alert-outline::before{content:"\F1BBD"}.mdi-printer-pos-cancel::before{content:"\F1BBE"}.mdi-printer-pos-cancel-outline::before{content:"\F1BBF"}.mdi-printer-pos-check::before{content:"\F1BC0"}.mdi-printer-pos-check-outline::before{content:"\F1BC1"}.mdi-printer-pos-cog::before{content:"\F1BC2"}.mdi-printer-pos-cog-outline::before{content:"\F1BC3"}.mdi-printer-pos-edit::before{content:"\F1BC4"}.mdi-printer-pos-edit-outline::before{content:"\F1BC5"}.mdi-printer-pos-minus::before{content:"\F1BC6"}.mdi-printer-pos-minus-outline::before{content:"\F1BC7"}.mdi-printer-pos-network::before{content:"\F1BC8"}.mdi-printer-pos-network-outline::before{content:"\F1BC9"}.mdi-printer-pos-off::before{content:"\F1BCA"}.mdi-printer-pos-off-outline::before{content:"\F1BCB"}.mdi-printer-pos-outline::before{content:"\F1BCC"}.mdi-printer-pos-pause::before{content:"\F1BCD"}.mdi-printer-pos-pause-outline::before{content:"\F1BCE"}.mdi-printer-pos-play::before{content:"\F1BCF"}.mdi-printer-pos-play-outline::before{content:"\F1BD0"}.mdi-printer-pos-plus::before{content:"\F1BD1"}.mdi-printer-pos-plus-outline::before{content:"\F1BD2"}.mdi-printer-pos-refresh::before{content:"\F1BD3"}.mdi-printer-pos-refresh-outline::before{content:"\F1BD4"}.mdi-printer-pos-remove::before{content:"\F1BD5"}.mdi-printer-pos-remove-outline::before{content:"\F1BD6"}.mdi-printer-pos-star::before{content:"\F1BD7"}.mdi-printer-pos-star-outline::before{content:"\F1BD8"}.mdi-printer-pos-stop::before{content:"\F1BD9"}.mdi-printer-pos-stop-outline::before{content:"\F1BDA"}.mdi-printer-pos-sync::before{content:"\F1BDB"}.mdi-printer-pos-sync-outline::before{content:"\F1BDC"}.mdi-printer-pos-wrench::before{content:"\F1BDD"}.mdi-printer-pos-wrench-outline::before{content:"\F1BDE"}.mdi-printer-search::before{content:"\F1457"}.mdi-printer-settings::before{content:"\F0707"}.mdi-printer-wireless::before{content:"\F0A0B"}.mdi-priority-high::before{content:"\F0603"}.mdi-priority-low::before{content:"\F0604"}.mdi-professional-hexagon::before{content:"\F042D"}.mdi-progress-alert::before{content:"\F0CBC"}.mdi-progress-check::before{content:"\F0995"}.mdi-progress-clock::before{content:"\F0996"}.mdi-progress-close::before{content:"\F110A"}.mdi-progress-download::before{content:"\F0997"}.mdi-progress-helper::before{content:"\F1BA2"}.mdi-progress-pencil::before{content:"\F1787"}.mdi-progress-question::before{content:"\F1522"}.mdi-progress-star::before{content:"\F1788"}.mdi-progress-star-four-points::before{content:"\F1C3D"}.mdi-progress-tag::before{content:"\F1D0D"}.mdi-progress-upload::before{content:"\F0998"}.mdi-progress-wrench::before{content:"\F0CBD"}.mdi-projector::before{content:"\F042E"}.mdi-projector-off::before{content:"\F1A23"}.mdi-projector-screen::before{content:"\F042F"}.mdi-projector-screen-off::before{content:"\F180D"}.mdi-projector-screen-off-outline::before{content:"\F180E"}.mdi-projector-screen-outline::before{content:"\F1724"}.mdi-projector-screen-variant::before{content:"\F180F"}.mdi-projector-screen-variant-off::before{content:"\F1810"}.mdi-projector-screen-variant-off-outline::before{content:"\F1811"}.mdi-projector-screen-variant-outline::before{content:"\F1812"}.mdi-propane-tank::before{content:"\F1357"}.mdi-propane-tank-outline::before{content:"\F1358"}.mdi-protocol::before{content:"\F0FD8"}.mdi-publish::before{content:"\F06A7"}.mdi-publish-off::before{content:"\F1945"}.mdi-pulse::before{content:"\F0430"}.mdi-pump::before{content:"\F1402"}.mdi-pump-off::before{content:"\F1B22"}.mdi-pumpkin::before{content:"\F0BBF"}.mdi-purse::before{content:"\F0F1C"}.mdi-purse-outline::before{content:"\F0F1D"}.mdi-puzzle::before{content:"\F0431"}.mdi-puzzle-check::before{content:"\F1426"}.mdi-puzzle-check-outline::before{content:"\F1427"}.mdi-puzzle-edit::before{content:"\F14D3"}.mdi-puzzle-edit-outline::before{content:"\F14D9"}.mdi-puzzle-heart::before{content:"\F14D4"}.mdi-puzzle-heart-outline::before{content:"\F14DA"}.mdi-puzzle-minus::before{content:"\F14D1"}.mdi-puzzle-minus-outline::before{content:"\F14D7"}.mdi-puzzle-outline::before{content:"\F0A66"}.mdi-puzzle-plus::before{content:"\F14D0"}.mdi-puzzle-plus-outline::before{content:"\F14D6"}.mdi-puzzle-remove::before{content:"\F14D2"}.mdi-puzzle-remove-outline::before{content:"\F14D8"}.mdi-puzzle-star::before{content:"\F14D5"}.mdi-puzzle-star-outline::before{content:"\F14DB"}.mdi-pyramid::before{content:"\F1952"}.mdi-pyramid-off::before{content:"\F1953"}.mdi-qi::before{content:"\F0999"}.mdi-qqchat::before{content:"\F0605"}.mdi-qrcode::before{content:"\F0432"}.mdi-qrcode-edit::before{content:"\F08B8"}.mdi-qrcode-minus::before{content:"\F118C"}.mdi-qrcode-plus::before{content:"\F118B"}.mdi-qrcode-remove::before{content:"\F118D"}.mdi-qrcode-scan::before{content:"\F0433"}.mdi-quadcopter::before{content:"\F0434"}.mdi-quality-high::before{content:"\F0435"}.mdi-quality-low::before{content:"\F0A0C"}.mdi-quality-medium::before{content:"\F0A0D"}.mdi-queue-first-in-last-out::before{content:"\F1CAF"}.mdi-quora::before{content:"\F0D29"}.mdi-rabbit::before{content:"\F0907"}.mdi-rabbit-variant::before{content:"\F1A61"}.mdi-rabbit-variant-outline::before{content:"\F1A62"}.mdi-racing-helmet::before{content:"\F0D93"}.mdi-racquetball::before{content:"\F0D94"}.mdi-radar::before{content:"\F0437"}.mdi-radiator::before{content:"\F0438"}.mdi-radiator-disabled::before{content:"\F0AD7"}.mdi-radiator-off::before{content:"\F0AD8"}.mdi-radio::before{content:"\F0439"}.mdi-radio-am::before{content:"\F0CBE"}.mdi-radio-fm::before{content:"\F0CBF"}.mdi-radio-handheld::before{content:"\F043A"}.mdi-radio-off::before{content:"\F121C"}.mdi-radio-tower::before{content:"\F043B"}.mdi-radioactive::before{content:"\F043C"}.mdi-radioactive-circle::before{content:"\F185D"}.mdi-radioactive-circle-outline::before{content:"\F185E"}.mdi-radioactive-off::before{content:"\F0EC1"}.mdi-radiobox-blank::before{content:"\F043D"}.mdi-radiobox-indeterminate-variant::before{content:"\F1C5E"}.mdi-radiobox-marked::before{content:"\F043E"}.mdi-radiology-box::before{content:"\F14C5"}.mdi-radiology-box-outline::before{content:"\F14C6"}.mdi-radius::before{content:"\F0CC0"}.mdi-radius-outline::before{content:"\F0CC1"}.mdi-railroad-light::before{content:"\F0F1E"}.mdi-rake::before{content:"\F1544"}.mdi-raspberry-pi::before{content:"\F043F"}.mdi-raw::before{content:"\F1A0F"}.mdi-raw-off::before{content:"\F1A10"}.mdi-ray-end::before{content:"\F0440"}.mdi-ray-end-arrow::before{content:"\F0441"}.mdi-ray-start::before{content:"\F0442"}.mdi-ray-start-arrow::before{content:"\F0443"}.mdi-ray-start-end::before{content:"\F0444"}.mdi-ray-start-vertex-end::before{content:"\F15D8"}.mdi-ray-vertex::before{content:"\F0445"}.mdi-razor-double-edge::before{content:"\F1997"}.mdi-razor-single-edge::before{content:"\F1998"}.mdi-react::before{content:"\F0708"}.mdi-read::before{content:"\F0447"}.mdi-receipt::before{content:"\F0824"}.mdi-receipt-clock::before{content:"\F1C3E"}.mdi-receipt-clock-outline::before{content:"\F1C3F"}.mdi-receipt-outline::before{content:"\F04F7"}.mdi-receipt-send::before{content:"\F1C40"}.mdi-receipt-send-outline::before{content:"\F1C41"}.mdi-receipt-text::before{content:"\F0449"}.mdi-receipt-text-arrow-left::before{content:"\F1C42"}.mdi-receipt-text-arrow-left-outline::before{content:"\F1C43"}.mdi-receipt-text-arrow-right::before{content:"\F1C44"}.mdi-receipt-text-arrow-right-outline::before{content:"\F1C45"}.mdi-receipt-text-check::before{content:"\F1A63"}.mdi-receipt-text-check-outline::before{content:"\F1A64"}.mdi-receipt-text-clock::before{content:"\F1C46"}.mdi-receipt-text-clock-outline::before{content:"\F1C47"}.mdi-receipt-text-edit::before{content:"\F1C48"}.mdi-receipt-text-edit-outline::before{content:"\F1C49"}.mdi-receipt-text-minus::before{content:"\F1A65"}.mdi-receipt-text-minus-outline::before{content:"\F1A66"}.mdi-receipt-text-outline::before{content:"\F19DC"}.mdi-receipt-text-plus::before{content:"\F1A67"}.mdi-receipt-text-plus-outline::before{content:"\F1A68"}.mdi-receipt-text-remove::before{content:"\F1A69"}.mdi-receipt-text-remove-outline::before{content:"\F1A6A"}.mdi-receipt-text-send::before{content:"\F1C4A"}.mdi-receipt-text-send-outline::before{content:"\F1C4B"}.mdi-record::before{content:"\F044A"}.mdi-record-circle::before{content:"\F0EC2"}.mdi-record-circle-outline::before{content:"\F0EC3"}.mdi-record-player::before{content:"\F099A"}.mdi-record-rec::before{content:"\F044B"}.mdi-rectangle::before{content:"\F0E5E"}.mdi-rectangle-outline::before{content:"\F0E5F"}.mdi-recycle::before{content:"\F044C"}.mdi-recycle-variant::before{content:"\F139D"}.mdi-reddit::before{content:"\F044D"}.mdi-redhat::before{content:"\F111B"}.mdi-redo::before{content:"\F044E"}.mdi-redo-variant::before{content:"\F044F"}.mdi-reflect-horizontal::before{content:"\F0A0E"}.mdi-reflect-vertical::before{content:"\F0A0F"}.mdi-refresh::before{content:"\F0450"}.mdi-refresh-auto::before{content:"\F18F2"}.mdi-refresh-circle::before{content:"\F1377"}.mdi-regex::before{content:"\F0451"}.mdi-registered-trademark::before{content:"\F0A67"}.mdi-reiterate::before{content:"\F1588"}.mdi-relation-many-to-many::before{content:"\F1496"}.mdi-relation-many-to-one::before{content:"\F1497"}.mdi-relation-many-to-one-or-many::before{content:"\F1498"}.mdi-relation-many-to-only-one::before{content:"\F1499"}.mdi-relation-many-to-zero-or-many::before{content:"\F149A"}.mdi-relation-many-to-zero-or-one::before{content:"\F149B"}.mdi-relation-one-or-many-to-many::before{content:"\F149C"}.mdi-relation-one-or-many-to-one::before{content:"\F149D"}.mdi-relation-one-or-many-to-one-or-many::before{content:"\F149E"}.mdi-relation-one-or-many-to-only-one::before{content:"\F149F"}.mdi-relation-one-or-many-to-zero-or-many::before{content:"\F14A0"}.mdi-relation-one-or-many-to-zero-or-one::before{content:"\F14A1"}.mdi-relation-one-to-many::before{content:"\F14A2"}.mdi-relation-one-to-one::before{content:"\F14A3"}.mdi-relation-one-to-one-or-many::before{content:"\F14A4"}.mdi-relation-one-to-only-one::before{content:"\F14A5"}.mdi-relation-one-to-zero-or-many::before{content:"\F14A6"}.mdi-relation-one-to-zero-or-one::before{content:"\F14A7"}.mdi-relation-only-one-to-many::before{content:"\F14A8"}.mdi-relation-only-one-to-one::before{content:"\F14A9"}.mdi-relation-only-one-to-one-or-many::before{content:"\F14AA"}.mdi-relation-only-one-to-only-one::before{content:"\F14AB"}.mdi-relation-only-one-to-zero-or-many::before{content:"\F14AC"}.mdi-relation-only-one-to-zero-or-one::before{content:"\F14AD"}.mdi-relation-zero-or-many-to-many::before{content:"\F14AE"}.mdi-relation-zero-or-many-to-one::before{content:"\F14AF"}.mdi-relation-zero-or-many-to-one-or-many::before{content:"\F14B0"}.mdi-relation-zero-or-many-to-only-one::before{content:"\F14B1"}.mdi-relation-zero-or-many-to-zero-or-many::before{content:"\F14B2"}.mdi-relation-zero-or-many-to-zero-or-one::before{content:"\F14B3"}.mdi-relation-zero-or-one-to-many::before{content:"\F14B4"}.mdi-relation-zero-or-one-to-one::before{content:"\F14B5"}.mdi-relation-zero-or-one-to-one-or-many::before{content:"\F14B6"}.mdi-relation-zero-or-one-to-only-one::before{content:"\F14B7"}.mdi-relation-zero-or-one-to-zero-or-many::before{content:"\F14B8"}.mdi-relation-zero-or-one-to-zero-or-one::before{content:"\F14B9"}.mdi-relative-scale::before{content:"\F0452"}.mdi-reload::before{content:"\F0453"}.mdi-reload-alert::before{content:"\F110B"}.mdi-reminder::before{content:"\F088C"}.mdi-remote::before{content:"\F0454"}.mdi-remote-desktop::before{content:"\F08B9"}.mdi-remote-off::before{content:"\F0EC4"}.mdi-remote-tv::before{content:"\F0EC5"}.mdi-remote-tv-off::before{content:"\F0EC6"}.mdi-rename::before{content:"\F1C18"}.mdi-rename-box::before{content:"\F0455"}.mdi-rename-box-outline::before{content:"\F1C19"}.mdi-rename-outline::before{content:"\F1C1A"}.mdi-reorder-horizontal::before{content:"\F0688"}.mdi-reorder-vertical::before{content:"\F0689"}.mdi-repeat::before{content:"\F0456"}.mdi-repeat-off::before{content:"\F0457"}.mdi-repeat-once::before{content:"\F0458"}.mdi-repeat-variant::before{content:"\F0547"}.mdi-replay::before{content:"\F0459"}.mdi-reply::before{content:"\F045A"}.mdi-reply-all::before{content:"\F045B"}.mdi-reply-all-outline::before{content:"\F0F1F"}.mdi-reply-circle::before{content:"\F11AE"}.mdi-reply-outline::before{content:"\F0F20"}.mdi-reproduction::before{content:"\F045C"}.mdi-resistor::before{content:"\F0B44"}.mdi-resistor-nodes::before{content:"\F0B45"}.mdi-resize::before{content:"\F0A68"}.mdi-resize-bottom-right::before{content:"\F045D"}.mdi-responsive::before{content:"\F045E"}.mdi-restart::before{content:"\F0709"}.mdi-restart-alert::before{content:"\F110C"}.mdi-restart-off::before{content:"\F0D95"}.mdi-restore::before{content:"\F099B"}.mdi-restore-alert::before{content:"\F110D"}.mdi-rewind::before{content:"\F045F"}.mdi-rewind-10::before{content:"\F0D2A"}.mdi-rewind-15::before{content:"\F1946"}.mdi-rewind-30::before{content:"\F0D96"}.mdi-rewind-45::before{content:"\F1B13"}.mdi-rewind-5::before{content:"\F11F9"}.mdi-rewind-60::before{content:"\F160C"}.mdi-rewind-outline::before{content:"\F070A"}.mdi-rhombus::before{content:"\F070B"}.mdi-rhombus-medium::before{content:"\F0A10"}.mdi-rhombus-medium-outline::before{content:"\F14DC"}.mdi-rhombus-outline::before{content:"\F070C"}.mdi-rhombus-split::before{content:"\F0A11"}.mdi-rhombus-split-outline::before{content:"\F14DD"}.mdi-ribbon::before{content:"\F0460"}.mdi-rice::before{content:"\F07EA"}.mdi-rickshaw::before{content:"\F15BB"}.mdi-rickshaw-electric::before{content:"\F15BC"}.mdi-ring::before{content:"\F07EB"}.mdi-rivet::before{content:"\F0E60"}.mdi-road::before{content:"\F0461"}.mdi-road-variant::before{content:"\F0462"}.mdi-robber::before{content:"\F1058"}.mdi-robot::before{content:"\F06A9"}.mdi-robot-angry::before{content:"\F169D"}.mdi-robot-angry-outline::before{content:"\F169E"}.mdi-robot-confused::before{content:"\F169F"}.mdi-robot-confused-outline::before{content:"\F16A0"}.mdi-robot-dead::before{content:"\F16A1"}.mdi-robot-dead-outline::before{content:"\F16A2"}.mdi-robot-excited::before{content:"\F16A3"}.mdi-robot-excited-outline::before{content:"\F16A4"}.mdi-robot-happy::before{content:"\F1719"}.mdi-robot-happy-outline::before{content:"\F171A"}.mdi-robot-industrial::before{content:"\F0B46"}.mdi-robot-industrial-outline::before{content:"\F1A1A"}.mdi-robot-love::before{content:"\F16A5"}.mdi-robot-love-outline::before{content:"\F16A6"}.mdi-robot-mower::before{content:"\F11F7"}.mdi-robot-mower-outline::before{content:"\F11F3"}.mdi-robot-off::before{content:"\F16A7"}.mdi-robot-off-outline::before{content:"\F167B"}.mdi-robot-outline::before{content:"\F167A"}.mdi-robot-vacuum::before{content:"\F070D"}.mdi-robot-vacuum-alert::before{content:"\F1B5D"}.mdi-robot-vacuum-off::before{content:"\F1C01"}.mdi-robot-vacuum-variant::before{content:"\F0908"}.mdi-robot-vacuum-variant-alert::before{content:"\F1B5E"}.mdi-robot-vacuum-variant-off::before{content:"\F1C02"}.mdi-rocket::before{content:"\F0463"}.mdi-rocket-launch::before{content:"\F14DE"}.mdi-rocket-launch-outline::before{content:"\F14DF"}.mdi-rocket-outline::before{content:"\F13AF"}.mdi-rodent::before{content:"\F1327"}.mdi-roller-shade::before{content:"\F1A6B"}.mdi-roller-shade-closed::before{content:"\F1A6C"}.mdi-roller-skate::before{content:"\F0D2B"}.mdi-roller-skate-off::before{content:"\F0145"}.mdi-rollerblade::before{content:"\F0D2C"}.mdi-rollerblade-off::before{content:"\F002E"}.mdi-rollupjs::before{content:"\F0BC0"}.mdi-rolodex::before{content:"\F1AB9"}.mdi-rolodex-outline::before{content:"\F1ABA"}.mdi-roman-numeral-1::before{content:"\F1088"}.mdi-roman-numeral-10::before{content:"\F1091"}.mdi-roman-numeral-2::before{content:"\F1089"}.mdi-roman-numeral-3::before{content:"\F108A"}.mdi-roman-numeral-4::before{content:"\F108B"}.mdi-roman-numeral-5::before{content:"\F108C"}.mdi-roman-numeral-6::before{content:"\F108D"}.mdi-roman-numeral-7::before{content:"\F108E"}.mdi-roman-numeral-8::before{content:"\F108F"}.mdi-roman-numeral-9::before{content:"\F1090"}.mdi-room-service::before{content:"\F088D"}.mdi-room-service-outline::before{content:"\F0D97"}.mdi-rotate-360::before{content:"\F1999"}.mdi-rotate-3d::before{content:"\F0EC7"}.mdi-rotate-3d-variant::before{content:"\F0464"}.mdi-rotate-left::before{content:"\F0465"}.mdi-rotate-left-variant::before{content:"\F0466"}.mdi-rotate-orbit::before{content:"\F0D98"}.mdi-rotate-right::before{content:"\F0467"}.mdi-rotate-right-variant::before{content:"\F0468"}.mdi-rounded-corner::before{content:"\F0607"}.mdi-router::before{content:"\F11E2"}.mdi-router-network::before{content:"\F1087"}.mdi-router-network-wireless::before{content:"\F1C97"}.mdi-router-wireless::before{content:"\F0469"}.mdi-router-wireless-off::before{content:"\F15A3"}.mdi-router-wireless-settings::before{content:"\F0A69"}.mdi-routes::before{content:"\F046A"}.mdi-routes-clock::before{content:"\F1059"}.mdi-rowing::before{content:"\F0608"}.mdi-rss::before{content:"\F046B"}.mdi-rss-box::before{content:"\F046C"}.mdi-rss-off::before{content:"\F0F21"}.mdi-rug::before{content:"\F1475"}.mdi-rugby::before{content:"\F0D99"}.mdi-ruler::before{content:"\F046D"}.mdi-ruler-square::before{content:"\F0CC2"}.mdi-ruler-square-compass::before{content:"\F0EBE"}.mdi-run::before{content:"\F070E"}.mdi-run-fast::before{content:"\F046E"}.mdi-rv-truck::before{content:"\F11D4"}.mdi-sack::before{content:"\F0D2E"}.mdi-sack-outline::before{content:"\F1C4C"}.mdi-sack-percent::before{content:"\F0D2F"}.mdi-safe::before{content:"\F0A6A"}.mdi-safe-square::before{content:"\F127C"}.mdi-safe-square-outline::before{content:"\F127D"}.mdi-safety-goggles::before{content:"\F0D30"}.mdi-sail-boat::before{content:"\F0EC8"}.mdi-sail-boat-sink::before{content:"\F1AEF"}.mdi-sale::before{content:"\F046F"}.mdi-sale-outline::before{content:"\F1A06"}.mdi-salesforce::before{content:"\F088E"}.mdi-sass::before{content:"\F07EC"}.mdi-satellite::before{content:"\F0470"}.mdi-satellite-uplink::before{content:"\F0909"}.mdi-satellite-variant::before{content:"\F0471"}.mdi-sausage::before{content:"\F08BA"}.mdi-sausage-off::before{content:"\F1789"}.mdi-saw-blade::before{content:"\F0E61"}.mdi-sawtooth-wave::before{content:"\F147A"}.mdi-saxophone::before{content:"\F0609"}.mdi-scale::before{content:"\F0472"}.mdi-scale-balance::before{content:"\F05D1"}.mdi-scale-bathroom::before{content:"\F0473"}.mdi-scale-off::before{content:"\F105A"}.mdi-scale-unbalanced::before{content:"\F19B8"}.mdi-scan-helper::before{content:"\F13D8"}.mdi-scanner::before{content:"\F06AB"}.mdi-scanner-off::before{content:"\F090A"}.mdi-scatter-plot::before{content:"\F0EC9"}.mdi-scatter-plot-outline::before{content:"\F0ECA"}.mdi-scent::before{content:"\F1958"}.mdi-scent-off::before{content:"\F1959"}.mdi-school::before{content:"\F0474"}.mdi-school-outline::before{content:"\F1180"}.mdi-scissors-cutting::before{content:"\F0A6B"}.mdi-scooter::before{content:"\F15BD"}.mdi-scooter-electric::before{content:"\F15BE"}.mdi-scoreboard::before{content:"\F127E"}.mdi-scoreboard-outline::before{content:"\F127F"}.mdi-screen-rotation::before{content:"\F0475"}.mdi-screen-rotation-lock::before{content:"\F0478"}.mdi-screw-flat-top::before{content:"\F0DF3"}.mdi-screw-lag::before{content:"\F0DF4"}.mdi-screw-machine-flat-top::before{content:"\F0DF5"}.mdi-screw-machine-round-top::before{content:"\F0DF6"}.mdi-screw-round-top::before{content:"\F0DF7"}.mdi-screwdriver::before{content:"\F0476"}.mdi-script::before{content:"\F0BC1"}.mdi-script-outline::before{content:"\F0477"}.mdi-script-text::before{content:"\F0BC2"}.mdi-script-text-key::before{content:"\F1725"}.mdi-script-text-key-outline::before{content:"\F1726"}.mdi-script-text-outline::before{content:"\F0BC3"}.mdi-script-text-play::before{content:"\F1727"}.mdi-script-text-play-outline::before{content:"\F1728"}.mdi-sd::before{content:"\F0479"}.mdi-seal::before{content:"\F047A"}.mdi-seal-variant::before{content:"\F0FD9"}.mdi-search-web::before{content:"\F070F"}.mdi-seat::before{content:"\F0CC3"}.mdi-seat-flat::before{content:"\F047B"}.mdi-seat-flat-angled::before{content:"\F047C"}.mdi-seat-individual-suite::before{content:"\F047D"}.mdi-seat-legroom-extra::before{content:"\F047E"}.mdi-seat-legroom-normal::before{content:"\F047F"}.mdi-seat-legroom-reduced::before{content:"\F0480"}.mdi-seat-outline::before{content:"\F0CC4"}.mdi-seat-passenger::before{content:"\F1249"}.mdi-seat-recline-extra::before{content:"\F0481"}.mdi-seat-recline-normal::before{content:"\F0482"}.mdi-seatbelt::before{content:"\F0CC5"}.mdi-security::before{content:"\F0483"}.mdi-security-network::before{content:"\F0484"}.mdi-seed::before{content:"\F0E62"}.mdi-seed-off::before{content:"\F13FD"}.mdi-seed-off-outline::before{content:"\F13FE"}.mdi-seed-outline::before{content:"\F0E63"}.mdi-seed-plus::before{content:"\F1A6D"}.mdi-seed-plus-outline::before{content:"\F1A6E"}.mdi-seesaw::before{content:"\F15A4"}.mdi-segment::before{content:"\F0ECB"}.mdi-select::before{content:"\F0485"}.mdi-select-all::before{content:"\F0486"}.mdi-select-arrow-down::before{content:"\F1B59"}.mdi-select-arrow-up::before{content:"\F1B58"}.mdi-select-color::before{content:"\F0D31"}.mdi-select-compare::before{content:"\F0AD9"}.mdi-select-drag::before{content:"\F0A6C"}.mdi-select-group::before{content:"\F0F82"}.mdi-select-inverse::before{content:"\F0487"}.mdi-select-marker::before{content:"\F1280"}.mdi-select-multiple::before{content:"\F1281"}.mdi-select-multiple-marker::before{content:"\F1282"}.mdi-select-off::before{content:"\F0488"}.mdi-select-place::before{content:"\F0FDA"}.mdi-select-remove::before{content:"\F17C1"}.mdi-select-search::before{content:"\F1204"}.mdi-selection::before{content:"\F0489"}.mdi-selection-drag::before{content:"\F0A6D"}.mdi-selection-ellipse::before{content:"\F0D32"}.mdi-selection-ellipse-arrow-inside::before{content:"\F0F22"}.mdi-selection-ellipse-remove::before{content:"\F17C2"}.mdi-selection-marker::before{content:"\F1283"}.mdi-selection-multiple::before{content:"\F1285"}.mdi-selection-multiple-marker::before{content:"\F1284"}.mdi-selection-off::before{content:"\F0777"}.mdi-selection-remove::before{content:"\F17C3"}.mdi-selection-search::before{content:"\F1205"}.mdi-semantic-web::before{content:"\F1316"}.mdi-send::before{content:"\F048A"}.mdi-send-check::before{content:"\F1161"}.mdi-send-check-outline::before{content:"\F1162"}.mdi-send-circle::before{content:"\F0DF8"}.mdi-send-circle-outline::before{content:"\F0DF9"}.mdi-send-clock::before{content:"\F1163"}.mdi-send-clock-outline::before{content:"\F1164"}.mdi-send-lock::before{content:"\F07ED"}.mdi-send-lock-outline::before{content:"\F1166"}.mdi-send-outline::before{content:"\F1165"}.mdi-send-variant::before{content:"\F1C4D"}.mdi-send-variant-clock::before{content:"\F1C7E"}.mdi-send-variant-clock-outline::before{content:"\F1C7F"}.mdi-send-variant-outline::before{content:"\F1C4E"}.mdi-serial-port::before{content:"\F065C"}.mdi-server::before{content:"\F048B"}.mdi-server-minus::before{content:"\F048C"}.mdi-server-minus-outline::before{content:"\F1C98"}.mdi-server-network::before{content:"\F048D"}.mdi-server-network-off::before{content:"\F048E"}.mdi-server-network-outline::before{content:"\F1C99"}.mdi-server-off::before{content:"\F048F"}.mdi-server-outline::before{content:"\F1C9A"}.mdi-server-plus::before{content:"\F0490"}.mdi-server-plus-outline::before{content:"\F1C9B"}.mdi-server-remove::before{content:"\F0491"}.mdi-server-security::before{content:"\F0492"}.mdi-set-all::before{content:"\F0778"}.mdi-set-center::before{content:"\F0779"}.mdi-set-center-right::before{content:"\F077A"}.mdi-set-left::before{content:"\F077B"}.mdi-set-left-center::before{content:"\F077C"}.mdi-set-left-right::before{content:"\F077D"}.mdi-set-merge::before{content:"\F14E0"}.mdi-set-none::before{content:"\F077E"}.mdi-set-right::before{content:"\F077F"}.mdi-set-split::before{content:"\F14E1"}.mdi-set-square::before{content:"\F145D"}.mdi-set-top-box::before{content:"\F099F"}.mdi-settings-helper::before{content:"\F0A6E"}.mdi-shaker::before{content:"\F110E"}.mdi-shaker-outline::before{content:"\F110F"}.mdi-shape::before{content:"\F0831"}.mdi-shape-circle-plus::before{content:"\F065D"}.mdi-shape-outline::before{content:"\F0832"}.mdi-shape-oval-plus::before{content:"\F11FA"}.mdi-shape-plus::before{content:"\F0495"}.mdi-shape-plus-outline::before{content:"\F1C4F"}.mdi-shape-polygon-plus::before{content:"\F065E"}.mdi-shape-rectangle-plus::before{content:"\F065F"}.mdi-shape-square-plus::before{content:"\F0660"}.mdi-shape-square-rounded-plus::before{content:"\F14FA"}.mdi-share::before{content:"\F0496"}.mdi-share-all::before{content:"\F11F4"}.mdi-share-all-outline::before{content:"\F11F5"}.mdi-share-circle::before{content:"\F11AD"}.mdi-share-off::before{content:"\F0F23"}.mdi-share-off-outline::before{content:"\F0F24"}.mdi-share-outline::before{content:"\F0932"}.mdi-share-variant::before{content:"\F0497"}.mdi-share-variant-outline::before{content:"\F1514"}.mdi-shark::before{content:"\F18BA"}.mdi-shark-fin::before{content:"\F1673"}.mdi-shark-fin-outline::before{content:"\F1674"}.mdi-shark-off::before{content:"\F18BB"}.mdi-sheep::before{content:"\F0CC6"}.mdi-shield::before{content:"\F0498"}.mdi-shield-account::before{content:"\F088F"}.mdi-shield-account-outline::before{content:"\F0A12"}.mdi-shield-account-variant::before{content:"\F15A7"}.mdi-shield-account-variant-outline::before{content:"\F15A8"}.mdi-shield-airplane::before{content:"\F06BB"}.mdi-shield-airplane-outline::before{content:"\F0CC7"}.mdi-shield-alert::before{content:"\F0ECC"}.mdi-shield-alert-outline::before{content:"\F0ECD"}.mdi-shield-bug::before{content:"\F13DA"}.mdi-shield-bug-outline::before{content:"\F13DB"}.mdi-shield-car::before{content:"\F0F83"}.mdi-shield-check::before{content:"\F0565"}.mdi-shield-check-outline::before{content:"\F0CC8"}.mdi-shield-cross::before{content:"\F0CC9"}.mdi-shield-cross-outline::before{content:"\F0CCA"}.mdi-shield-crown::before{content:"\F18BC"}.mdi-shield-crown-outline::before{content:"\F18BD"}.mdi-shield-edit::before{content:"\F11A0"}.mdi-shield-edit-outline::before{content:"\F11A1"}.mdi-shield-half::before{content:"\F1360"}.mdi-shield-half-full::before{content:"\F0780"}.mdi-shield-home::before{content:"\F068A"}.mdi-shield-home-outline::before{content:"\F0CCB"}.mdi-shield-key::before{content:"\F0BC4"}.mdi-shield-key-outline::before{content:"\F0BC5"}.mdi-shield-link-variant::before{content:"\F0D33"}.mdi-shield-link-variant-outline::before{content:"\F0D34"}.mdi-shield-lock::before{content:"\F099D"}.mdi-shield-lock-open::before{content:"\F199A"}.mdi-shield-lock-open-outline::before{content:"\F199B"}.mdi-shield-lock-outline::before{content:"\F0CCC"}.mdi-shield-moon::before{content:"\F1828"}.mdi-shield-moon-outline::before{content:"\F1829"}.mdi-shield-off::before{content:"\F099E"}.mdi-shield-off-outline::before{content:"\F099C"}.mdi-shield-outline::before{content:"\F0499"}.mdi-shield-plus::before{content:"\F0ADA"}.mdi-shield-plus-outline::before{content:"\F0ADB"}.mdi-shield-refresh::before{content:"\F00AA"}.mdi-shield-refresh-outline::before{content:"\F01E0"}.mdi-shield-remove::before{content:"\F0ADC"}.mdi-shield-remove-outline::before{content:"\F0ADD"}.mdi-shield-search::before{content:"\F0D9A"}.mdi-shield-star::before{content:"\F113B"}.mdi-shield-star-outline::before{content:"\F113C"}.mdi-shield-sun::before{content:"\F105D"}.mdi-shield-sun-outline::before{content:"\F105E"}.mdi-shield-sword::before{content:"\F18BE"}.mdi-shield-sword-outline::before{content:"\F18BF"}.mdi-shield-sync::before{content:"\F11A2"}.mdi-shield-sync-outline::before{content:"\F11A3"}.mdi-shimmer::before{content:"\F1545"}.mdi-ship-wheel::before{content:"\F0833"}.mdi-shipping-pallet::before{content:"\F184E"}.mdi-shoe-ballet::before{content:"\F15CA"}.mdi-shoe-cleat::before{content:"\F15C7"}.mdi-shoe-formal::before{content:"\F0B47"}.mdi-shoe-heel::before{content:"\F0B48"}.mdi-shoe-print::before{content:"\F0DFA"}.mdi-shoe-sneaker::before{content:"\F15C8"}.mdi-shopping::before{content:"\F049A"}.mdi-shopping-music::before{content:"\F049B"}.mdi-shopping-outline::before{content:"\F11D5"}.mdi-shopping-search::before{content:"\F0F84"}.mdi-shopping-search-outline::before{content:"\F1A6F"}.mdi-shore::before{content:"\F14F9"}.mdi-shovel::before{content:"\F0710"}.mdi-shovel-off::before{content:"\F0711"}.mdi-shower::before{content:"\F09A0"}.mdi-shower-head::before{content:"\F09A1"}.mdi-shredder::before{content:"\F049C"}.mdi-shuffle::before{content:"\F049D"}.mdi-shuffle-disabled::before{content:"\F049E"}.mdi-shuffle-variant::before{content:"\F049F"}.mdi-shuriken::before{content:"\F137F"}.mdi-sickle::before{content:"\F18C0"}.mdi-sigma::before{content:"\F04A0"}.mdi-sigma-lower::before{content:"\F062B"}.mdi-sign-caution::before{content:"\F04A1"}.mdi-sign-direction::before{content:"\F0781"}.mdi-sign-direction-minus::before{content:"\F1000"}.mdi-sign-direction-plus::before{content:"\F0FDC"}.mdi-sign-direction-remove::before{content:"\F0FDD"}.mdi-sign-language::before{content:"\F1B4D"}.mdi-sign-language-outline::before{content:"\F1B4E"}.mdi-sign-pole::before{content:"\F14F8"}.mdi-sign-real-estate::before{content:"\F1118"}.mdi-sign-text::before{content:"\F0782"}.mdi-sign-yield::before{content:"\F1BAF"}.mdi-signal::before{content:"\F04A2"}.mdi-signal-2g::before{content:"\F0712"}.mdi-signal-3g::before{content:"\F0713"}.mdi-signal-4g::before{content:"\F0714"}.mdi-signal-5g::before{content:"\F0A6F"}.mdi-signal-cellular-1::before{content:"\F08BC"}.mdi-signal-cellular-2::before{content:"\F08BD"}.mdi-signal-cellular-3::before{content:"\F08BE"}.mdi-signal-cellular-outline::before{content:"\F08BF"}.mdi-signal-distance-variant::before{content:"\F0E64"}.mdi-signal-hspa::before{content:"\F0715"}.mdi-signal-hspa-plus::before{content:"\F0716"}.mdi-signal-off::before{content:"\F0783"}.mdi-signal-variant::before{content:"\F060A"}.mdi-signature::before{content:"\F0DFB"}.mdi-signature-freehand::before{content:"\F0DFC"}.mdi-signature-image::before{content:"\F0DFD"}.mdi-signature-text::before{content:"\F0DFE"}.mdi-silo::before{content:"\F1B9F"}.mdi-silo-outline::before{content:"\F0B49"}.mdi-silverware::before{content:"\F04A3"}.mdi-silverware-clean::before{content:"\F0FDE"}.mdi-silverware-fork::before{content:"\F04A4"}.mdi-silverware-fork-knife::before{content:"\F0A70"}.mdi-silverware-spoon::before{content:"\F04A5"}.mdi-silverware-variant::before{content:"\F04A6"}.mdi-sim::before{content:"\F04A7"}.mdi-sim-alert::before{content:"\F04A8"}.mdi-sim-alert-outline::before{content:"\F15D3"}.mdi-sim-off::before{content:"\F04A9"}.mdi-sim-off-outline::before{content:"\F15D4"}.mdi-sim-outline::before{content:"\F15D5"}.mdi-simple-icons::before{content:"\F131D"}.mdi-sina-weibo::before{content:"\F0ADF"}.mdi-sine-wave::before{content:"\F095B"}.mdi-sitemap::before{content:"\F04AA"}.mdi-sitemap-outline::before{content:"\F199C"}.mdi-size-l::before{content:"\F13A6"}.mdi-size-m::before{content:"\F13A5"}.mdi-size-s::before{content:"\F13A4"}.mdi-size-xl::before{content:"\F13A7"}.mdi-size-xs::before{content:"\F13A3"}.mdi-size-xxl::before{content:"\F13A8"}.mdi-size-xxs::before{content:"\F13A2"}.mdi-size-xxxl::before{content:"\F13A9"}.mdi-skate::before{content:"\F0D35"}.mdi-skate-off::before{content:"\F0699"}.mdi-skateboard::before{content:"\F14C2"}.mdi-skateboarding::before{content:"\F0501"}.mdi-skew-less::before{content:"\F0D36"}.mdi-skew-more::before{content:"\F0D37"}.mdi-ski::before{content:"\F1304"}.mdi-ski-cross-country::before{content:"\F1305"}.mdi-ski-water::before{content:"\F1306"}.mdi-skip-backward::before{content:"\F04AB"}.mdi-skip-backward-outline::before{content:"\F0F25"}.mdi-skip-forward::before{content:"\F04AC"}.mdi-skip-forward-outline::before{content:"\F0F26"}.mdi-skip-next::before{content:"\F04AD"}.mdi-skip-next-circle::before{content:"\F0661"}.mdi-skip-next-circle-outline::before{content:"\F0662"}.mdi-skip-next-outline::before{content:"\F0F27"}.mdi-skip-previous::before{content:"\F04AE"}.mdi-skip-previous-circle::before{content:"\F0663"}.mdi-skip-previous-circle-outline::before{content:"\F0664"}.mdi-skip-previous-outline::before{content:"\F0F28"}.mdi-skull::before{content:"\F068C"}.mdi-skull-crossbones::before{content:"\F0BC6"}.mdi-skull-crossbones-outline::before{content:"\F0BC7"}.mdi-skull-outline::before{content:"\F0BC8"}.mdi-skull-scan::before{content:"\F14C7"}.mdi-skull-scan-outline::before{content:"\F14C8"}.mdi-skype::before{content:"\F04AF"}.mdi-skype-business::before{content:"\F04B0"}.mdi-slack::before{content:"\F04B1"}.mdi-slash-forward::before{content:"\F0FDF"}.mdi-slash-forward-box::before{content:"\F0FE0"}.mdi-sledding::before{content:"\F041B"}.mdi-sleep::before{content:"\F04B2"}.mdi-sleep-off::before{content:"\F04B3"}.mdi-slide::before{content:"\F15A5"}.mdi-slope-downhill::before{content:"\F0DFF"}.mdi-slope-uphill::before{content:"\F0E00"}.mdi-slot-machine::before{content:"\F1114"}.mdi-slot-machine-outline::before{content:"\F1115"}.mdi-smart-card::before{content:"\F10BD"}.mdi-smart-card-off::before{content:"\F18F7"}.mdi-smart-card-off-outline::before{content:"\F18F8"}.mdi-smart-card-outline::before{content:"\F10BE"}.mdi-smart-card-reader::before{content:"\F10BF"}.mdi-smart-card-reader-outline::before{content:"\F10C0"}.mdi-smog::before{content:"\F0A71"}.mdi-smoke::before{content:"\F1799"}.mdi-smoke-detector::before{content:"\F0392"}.mdi-smoke-detector-alert::before{content:"\F192E"}.mdi-smoke-detector-alert-outline::before{content:"\F192F"}.mdi-smoke-detector-off::before{content:"\F1809"}.mdi-smoke-detector-off-outline::before{content:"\F180A"}.mdi-smoke-detector-outline::before{content:"\F1808"}.mdi-smoke-detector-variant::before{content:"\F180B"}.mdi-smoke-detector-variant-alert::before{content:"\F1930"}.mdi-smoke-detector-variant-off::before{content:"\F180C"}.mdi-smoking::before{content:"\F04B4"}.mdi-smoking-off::before{content:"\F04B5"}.mdi-smoking-pipe::before{content:"\F140D"}.mdi-smoking-pipe-off::before{content:"\F1428"}.mdi-snail::before{content:"\F1677"}.mdi-snake::before{content:"\F150E"}.mdi-snapchat::before{content:"\F04B6"}.mdi-snowboard::before{content:"\F1307"}.mdi-snowflake::before{content:"\F0717"}.mdi-snowflake-alert::before{content:"\F0F29"}.mdi-snowflake-check::before{content:"\F1A70"}.mdi-snowflake-melt::before{content:"\F12CB"}.mdi-snowflake-off::before{content:"\F14E3"}.mdi-snowflake-thermometer::before{content:"\F1A71"}.mdi-snowflake-variant::before{content:"\F0F2A"}.mdi-snowman::before{content:"\F04B7"}.mdi-snowmobile::before{content:"\F06DD"}.mdi-snowshoeing::before{content:"\F1A72"}.mdi-soccer::before{content:"\F04B8"}.mdi-soccer-field::before{content:"\F0834"}.mdi-social-distance-2-meters::before{content:"\F1579"}.mdi-social-distance-6-feet::before{content:"\F157A"}.mdi-sofa::before{content:"\F04B9"}.mdi-sofa-outline::before{content:"\F156D"}.mdi-sofa-single::before{content:"\F156E"}.mdi-sofa-single-outline::before{content:"\F156F"}.mdi-solar-panel::before{content:"\F0D9B"}.mdi-solar-panel-large::before{content:"\F0D9C"}.mdi-solar-power::before{content:"\F0A72"}.mdi-solar-power-variant::before{content:"\F1A73"}.mdi-solar-power-variant-outline::before{content:"\F1A74"}.mdi-soldering-iron::before{content:"\F1092"}.mdi-solid::before{content:"\F068D"}.mdi-sony-playstation::before{content:"\F0414"}.mdi-sort::before{content:"\F04BA"}.mdi-sort-alphabetical-ascending::before{content:"\F05BD"}.mdi-sort-alphabetical-ascending-variant::before{content:"\F1148"}.mdi-sort-alphabetical-descending::before{content:"\F05BF"}.mdi-sort-alphabetical-descending-variant::before{content:"\F1149"}.mdi-sort-alphabetical-variant::before{content:"\F04BB"}.mdi-sort-ascending::before{content:"\F04BC"}.mdi-sort-bool-ascending::before{content:"\F1385"}.mdi-sort-bool-ascending-variant::before{content:"\F1386"}.mdi-sort-bool-descending::before{content:"\F1387"}.mdi-sort-bool-descending-variant::before{content:"\F1388"}.mdi-sort-calendar-ascending::before{content:"\F1547"}.mdi-sort-calendar-descending::before{content:"\F1548"}.mdi-sort-clock-ascending::before{content:"\F1549"}.mdi-sort-clock-ascending-outline::before{content:"\F154A"}.mdi-sort-clock-descending::before{content:"\F154B"}.mdi-sort-clock-descending-outline::before{content:"\F154C"}.mdi-sort-descending::before{content:"\F04BD"}.mdi-sort-numeric-ascending::before{content:"\F1389"}.mdi-sort-numeric-ascending-variant::before{content:"\F090D"}.mdi-sort-numeric-descending::before{content:"\F138A"}.mdi-sort-numeric-descending-variant::before{content:"\F0AD2"}.mdi-sort-numeric-variant::before{content:"\F04BE"}.mdi-sort-reverse-variant::before{content:"\F033C"}.mdi-sort-variant::before{content:"\F04BF"}.mdi-sort-variant-lock::before{content:"\F0CCD"}.mdi-sort-variant-lock-open::before{content:"\F0CCE"}.mdi-sort-variant-off::before{content:"\F1ABB"}.mdi-sort-variant-remove::before{content:"\F1147"}.mdi-soundbar::before{content:"\F17DB"}.mdi-soundcloud::before{content:"\F04C0"}.mdi-source-branch::before{content:"\F062C"}.mdi-source-branch-check::before{content:"\F14CF"}.mdi-source-branch-minus::before{content:"\F14CB"}.mdi-source-branch-plus::before{content:"\F14CA"}.mdi-source-branch-refresh::before{content:"\F14CD"}.mdi-source-branch-remove::before{content:"\F14CC"}.mdi-source-branch-sync::before{content:"\F14CE"}.mdi-source-commit::before{content:"\F0718"}.mdi-source-commit-end::before{content:"\F0719"}.mdi-source-commit-end-local::before{content:"\F071A"}.mdi-source-commit-local::before{content:"\F071B"}.mdi-source-commit-next-local::before{content:"\F071C"}.mdi-source-commit-start::before{content:"\F071D"}.mdi-source-commit-start-next-local::before{content:"\F071E"}.mdi-source-fork::before{content:"\F04C1"}.mdi-source-merge::before{content:"\F062D"}.mdi-source-pull::before{content:"\F04C2"}.mdi-source-repository::before{content:"\F0CCF"}.mdi-source-repository-multiple::before{content:"\F0CD0"}.mdi-soy-sauce::before{content:"\F07EE"}.mdi-soy-sauce-off::before{content:"\F13FC"}.mdi-spa::before{content:"\F0CD1"}.mdi-spa-outline::before{content:"\F0CD2"}.mdi-space-invaders::before{content:"\F0BC9"}.mdi-space-station::before{content:"\F1383"}.mdi-spade::before{content:"\F0E65"}.mdi-speaker::before{content:"\F04C3"}.mdi-speaker-bluetooth::before{content:"\F09A2"}.mdi-speaker-message::before{content:"\F1B11"}.mdi-speaker-multiple::before{content:"\F0D38"}.mdi-speaker-off::before{content:"\F04C4"}.mdi-speaker-pause::before{content:"\F1B73"}.mdi-speaker-play::before{content:"\F1B72"}.mdi-speaker-stop::before{content:"\F1B74"}.mdi-speaker-wireless::before{content:"\F071F"}.mdi-spear::before{content:"\F1845"}.mdi-speedometer::before{content:"\F04C5"}.mdi-speedometer-medium::before{content:"\F0F85"}.mdi-speedometer-slow::before{content:"\F0F86"}.mdi-spellcheck::before{content:"\F04C6"}.mdi-sphere::before{content:"\F1954"}.mdi-sphere-off::before{content:"\F1955"}.mdi-spider::before{content:"\F11EA"}.mdi-spider-outline::before{content:"\F1C75"}.mdi-spider-thread::before{content:"\F11EB"}.mdi-spider-web::before{content:"\F0BCA"}.mdi-spirit-level::before{content:"\F14F1"}.mdi-spoon-sugar::before{content:"\F1429"}.mdi-spotify::before{content:"\F04C7"}.mdi-spotlight::before{content:"\F04C8"}.mdi-spotlight-beam::before{content:"\F04C9"}.mdi-spray::before{content:"\F0665"}.mdi-spray-bottle::before{content:"\F0AE0"}.mdi-sprinkler::before{content:"\F105F"}.mdi-sprinkler-fire::before{content:"\F199D"}.mdi-sprinkler-variant::before{content:"\F1060"}.mdi-sprout::before{content:"\F0E66"}.mdi-sprout-outline::before{content:"\F0E67"}.mdi-square::before{content:"\F0764"}.mdi-square-circle::before{content:"\F1500"}.mdi-square-circle-outline::before{content:"\F1C50"}.mdi-square-edit-outline::before{content:"\F090C"}.mdi-square-medium::before{content:"\F0A13"}.mdi-square-medium-outline::before{content:"\F0A14"}.mdi-square-off::before{content:"\F12EE"}.mdi-square-off-outline::before{content:"\F12EF"}.mdi-square-opacity::before{content:"\F1854"}.mdi-square-outline::before{content:"\F0763"}.mdi-square-root::before{content:"\F0784"}.mdi-square-root-box::before{content:"\F09A3"}.mdi-square-rounded::before{content:"\F14FB"}.mdi-square-rounded-badge::before{content:"\F1A07"}.mdi-square-rounded-badge-outline::before{content:"\F1A08"}.mdi-square-rounded-outline::before{content:"\F14FC"}.mdi-square-small::before{content:"\F0A15"}.mdi-square-wave::before{content:"\F147B"}.mdi-squeegee::before{content:"\F0AE1"}.mdi-ssh::before{content:"\F08C0"}.mdi-stack-exchange::before{content:"\F060B"}.mdi-stack-overflow::before{content:"\F04CC"}.mdi-stackpath::before{content:"\F0359"}.mdi-stadium::before{content:"\F0FF9"}.mdi-stadium-outline::before{content:"\F1B03"}.mdi-stadium-variant::before{content:"\F0720"}.mdi-stairs::before{content:"\F04CD"}.mdi-stairs-box::before{content:"\F139E"}.mdi-stairs-down::before{content:"\F12BE"}.mdi-stairs-up::before{content:"\F12BD"}.mdi-stamper::before{content:"\F0D39"}.mdi-standard-definition::before{content:"\F07EF"}.mdi-star::before{content:"\F04CE"}.mdi-star-box::before{content:"\F0A73"}.mdi-star-box-multiple::before{content:"\F1286"}.mdi-star-box-multiple-outline::before{content:"\F1287"}.mdi-star-box-outline::before{content:"\F0A74"}.mdi-star-check::before{content:"\F1566"}.mdi-star-check-outline::before{content:"\F156A"}.mdi-star-circle::before{content:"\F04CF"}.mdi-star-circle-outline::before{content:"\F09A4"}.mdi-star-cog::before{content:"\F1668"}.mdi-star-cog-outline::before{content:"\F1669"}.mdi-star-crescent::before{content:"\F0979"}.mdi-star-david::before{content:"\F097A"}.mdi-star-face::before{content:"\F09A5"}.mdi-star-four-points::before{content:"\F0AE2"}.mdi-star-four-points-box::before{content:"\F1C51"}.mdi-star-four-points-box-outline::before{content:"\F1C52"}.mdi-star-four-points-circle::before{content:"\F1C53"}.mdi-star-four-points-circle-outline::before{content:"\F1C54"}.mdi-star-four-points-outline::before{content:"\F0AE3"}.mdi-star-four-points-small::before{content:"\F1C55"}.mdi-star-half::before{content:"\F0246"}.mdi-star-half-full::before{content:"\F04D0"}.mdi-star-minus::before{content:"\F1564"}.mdi-star-minus-outline::before{content:"\F1568"}.mdi-star-off::before{content:"\F04D1"}.mdi-star-off-outline::before{content:"\F155B"}.mdi-star-outline::before{content:"\F04D2"}.mdi-star-plus::before{content:"\F1563"}.mdi-star-plus-outline::before{content:"\F1567"}.mdi-star-remove::before{content:"\F1565"}.mdi-star-remove-outline::before{content:"\F1569"}.mdi-star-settings::before{content:"\F166A"}.mdi-star-settings-outline::before{content:"\F166B"}.mdi-star-shooting::before{content:"\F1741"}.mdi-star-shooting-outline::before{content:"\F1742"}.mdi-star-three-points::before{content:"\F0AE4"}.mdi-star-three-points-outline::before{content:"\F0AE5"}.mdi-state-machine::before{content:"\F11EF"}.mdi-steam::before{content:"\F04D3"}.mdi-steering::before{content:"\F04D4"}.mdi-steering-off::before{content:"\F090E"}.mdi-step-backward::before{content:"\F04D5"}.mdi-step-backward-2::before{content:"\F04D6"}.mdi-step-forward::before{content:"\F04D7"}.mdi-step-forward-2::before{content:"\F04D8"}.mdi-stethoscope::before{content:"\F04D9"}.mdi-sticker::before{content:"\F1364"}.mdi-sticker-alert::before{content:"\F1365"}.mdi-sticker-alert-outline::before{content:"\F1366"}.mdi-sticker-check::before{content:"\F1367"}.mdi-sticker-check-outline::before{content:"\F1368"}.mdi-sticker-circle-outline::before{content:"\F05D0"}.mdi-sticker-emoji::before{content:"\F0785"}.mdi-sticker-minus::before{content:"\F1369"}.mdi-sticker-minus-outline::before{content:"\F136A"}.mdi-sticker-outline::before{content:"\F136B"}.mdi-sticker-plus::before{content:"\F136C"}.mdi-sticker-plus-outline::before{content:"\F136D"}.mdi-sticker-remove::before{content:"\F136E"}.mdi-sticker-remove-outline::before{content:"\F136F"}.mdi-sticker-text::before{content:"\F178E"}.mdi-sticker-text-outline::before{content:"\F178F"}.mdi-stocking::before{content:"\F04DA"}.mdi-stomach::before{content:"\F1093"}.mdi-stool::before{content:"\F195D"}.mdi-stool-outline::before{content:"\F195E"}.mdi-stop::before{content:"\F04DB"}.mdi-stop-circle::before{content:"\F0666"}.mdi-stop-circle-outline::before{content:"\F0667"}.mdi-storage-tank::before{content:"\F1A75"}.mdi-storage-tank-outline::before{content:"\F1A76"}.mdi-store::before{content:"\F04DC"}.mdi-store-24-hour::before{content:"\F04DD"}.mdi-store-alert::before{content:"\F18C1"}.mdi-store-alert-outline::before{content:"\F18C2"}.mdi-store-check::before{content:"\F18C3"}.mdi-store-check-outline::before{content:"\F18C4"}.mdi-store-clock::before{content:"\F18C5"}.mdi-store-clock-outline::before{content:"\F18C6"}.mdi-store-cog::before{content:"\F18C7"}.mdi-store-cog-outline::before{content:"\F18C8"}.mdi-store-edit::before{content:"\F18C9"}.mdi-store-edit-outline::before{content:"\F18CA"}.mdi-store-marker::before{content:"\F18CB"}.mdi-store-marker-outline::before{content:"\F18CC"}.mdi-store-minus::before{content:"\F165E"}.mdi-store-minus-outline::before{content:"\F18CD"}.mdi-store-off::before{content:"\F18CE"}.mdi-store-off-outline::before{content:"\F18CF"}.mdi-store-outline::before{content:"\F1361"}.mdi-store-plus::before{content:"\F165F"}.mdi-store-plus-outline::before{content:"\F18D0"}.mdi-store-remove::before{content:"\F1660"}.mdi-store-remove-outline::before{content:"\F18D1"}.mdi-store-search::before{content:"\F18D2"}.mdi-store-search-outline::before{content:"\F18D3"}.mdi-store-settings::before{content:"\F18D4"}.mdi-store-settings-outline::before{content:"\F18D5"}.mdi-storefront::before{content:"\F07C7"}.mdi-storefront-check::before{content:"\F1B7D"}.mdi-storefront-check-outline::before{content:"\F1B7E"}.mdi-storefront-edit::before{content:"\F1B7F"}.mdi-storefront-edit-outline::before{content:"\F1B80"}.mdi-storefront-minus::before{content:"\F1B83"}.mdi-storefront-minus-outline::before{content:"\F1B84"}.mdi-storefront-outline::before{content:"\F10C1"}.mdi-storefront-plus::before{content:"\F1B81"}.mdi-storefront-plus-outline::before{content:"\F1B82"}.mdi-storefront-remove::before{content:"\F1B85"}.mdi-storefront-remove-outline::before{content:"\F1B86"}.mdi-stove::before{content:"\F04DE"}.mdi-strategy::before{content:"\F11D6"}.mdi-stretch-to-page::before{content:"\F0F2B"}.mdi-stretch-to-page-outline::before{content:"\F0F2C"}.mdi-string-lights::before{content:"\F12BA"}.mdi-string-lights-off::before{content:"\F12BB"}.mdi-subdirectory-arrow-left::before{content:"\F060C"}.mdi-subdirectory-arrow-right::before{content:"\F060D"}.mdi-submarine::before{content:"\F156C"}.mdi-subtitles::before{content:"\F0A16"}.mdi-subtitles-outline::before{content:"\F0A17"}.mdi-subway::before{content:"\F06AC"}.mdi-subway-alert-variant::before{content:"\F0D9D"}.mdi-subway-variant::before{content:"\F04DF"}.mdi-summit::before{content:"\F0786"}.mdi-sun-angle::before{content:"\F1B27"}.mdi-sun-angle-outline::before{content:"\F1B28"}.mdi-sun-clock::before{content:"\F1A77"}.mdi-sun-clock-outline::before{content:"\F1A78"}.mdi-sun-compass::before{content:"\F19A5"}.mdi-sun-snowflake::before{content:"\F1796"}.mdi-sun-snowflake-variant::before{content:"\F1A79"}.mdi-sun-thermometer::before{content:"\F18D6"}.mdi-sun-thermometer-outline::before{content:"\F18D7"}.mdi-sun-wireless::before{content:"\F17FE"}.mdi-sun-wireless-outline::before{content:"\F17FF"}.mdi-sunglasses::before{content:"\F04E0"}.mdi-surfing::before{content:"\F1746"}.mdi-surround-sound::before{content:"\F05C5"}.mdi-surround-sound-2-0::before{content:"\F07F0"}.mdi-surround-sound-2-1::before{content:"\F1729"}.mdi-surround-sound-3-1::before{content:"\F07F1"}.mdi-surround-sound-5-1::before{content:"\F07F2"}.mdi-surround-sound-5-1-2::before{content:"\F172A"}.mdi-surround-sound-7-1::before{content:"\F07F3"}.mdi-svg::before{content:"\F0721"}.mdi-swap-horizontal::before{content:"\F04E1"}.mdi-swap-horizontal-bold::before{content:"\F0BCD"}.mdi-swap-horizontal-circle::before{content:"\F0FE1"}.mdi-swap-horizontal-circle-outline::before{content:"\F0FE2"}.mdi-swap-horizontal-hidden::before{content:"\F1D0E"}.mdi-swap-horizontal-variant::before{content:"\F08C1"}.mdi-swap-vertical::before{content:"\F04E2"}.mdi-swap-vertical-bold::before{content:"\F0BCE"}.mdi-swap-vertical-circle::before{content:"\F0FE3"}.mdi-swap-vertical-circle-outline::before{content:"\F0FE4"}.mdi-swap-vertical-variant::before{content:"\F08C2"}.mdi-swim::before{content:"\F04E3"}.mdi-switch::before{content:"\F04E4"}.mdi-sword::before{content:"\F04E5"}.mdi-sword-cross::before{content:"\F0787"}.mdi-syllabary-hangul::before{content:"\F1333"}.mdi-syllabary-hiragana::before{content:"\F1334"}.mdi-syllabary-katakana::before{content:"\F1335"}.mdi-syllabary-katakana-halfwidth::before{content:"\F1336"}.mdi-symbol::before{content:"\F1501"}.mdi-symfony::before{content:"\F0AE6"}.mdi-synagogue::before{content:"\F1B04"}.mdi-synagogue-outline::before{content:"\F1B05"}.mdi-sync::before{content:"\F04E6"}.mdi-sync-alert::before{content:"\F04E7"}.mdi-sync-circle::before{content:"\F1378"}.mdi-sync-off::before{content:"\F04E8"}.mdi-tab::before{content:"\F04E9"}.mdi-tab-minus::before{content:"\F0B4B"}.mdi-tab-plus::before{content:"\F075C"}.mdi-tab-remove::before{content:"\F0B4C"}.mdi-tab-search::before{content:"\F199E"}.mdi-tab-unselected::before{content:"\F04EA"}.mdi-table::before{content:"\F04EB"}.mdi-table-account::before{content:"\F13B9"}.mdi-table-alert::before{content:"\F13BA"}.mdi-table-arrow-down::before{content:"\F13BB"}.mdi-table-arrow-left::before{content:"\F13BC"}.mdi-table-arrow-right::before{content:"\F13BD"}.mdi-table-arrow-up::before{content:"\F13BE"}.mdi-table-border::before{content:"\F0A18"}.mdi-table-cancel::before{content:"\F13BF"}.mdi-table-chair::before{content:"\F1061"}.mdi-table-check::before{content:"\F13C0"}.mdi-table-clock::before{content:"\F13C1"}.mdi-table-cog::before{content:"\F13C2"}.mdi-table-column::before{content:"\F0835"}.mdi-table-column-plus-after::before{content:"\F04EC"}.mdi-table-column-plus-before::before{content:"\F04ED"}.mdi-table-column-remove::before{content:"\F04EE"}.mdi-table-column-width::before{content:"\F04EF"}.mdi-table-edit::before{content:"\F04F0"}.mdi-table-eye::before{content:"\F1094"}.mdi-table-eye-off::before{content:"\F13C3"}.mdi-table-filter::before{content:"\F1B8C"}.mdi-table-furniture::before{content:"\F05BC"}.mdi-table-headers-eye::before{content:"\F121D"}.mdi-table-headers-eye-off::before{content:"\F121E"}.mdi-table-heart::before{content:"\F13C4"}.mdi-table-key::before{content:"\F13C5"}.mdi-table-large::before{content:"\F04F1"}.mdi-table-large-plus::before{content:"\F0F87"}.mdi-table-large-remove::before{content:"\F0F88"}.mdi-table-lock::before{content:"\F13C6"}.mdi-table-merge-cells::before{content:"\F09A6"}.mdi-table-minus::before{content:"\F13C7"}.mdi-table-multiple::before{content:"\F13C8"}.mdi-table-network::before{content:"\F13C9"}.mdi-table-of-contents::before{content:"\F0836"}.mdi-table-off::before{content:"\F13CA"}.mdi-table-picnic::before{content:"\F1743"}.mdi-table-pivot::before{content:"\F183C"}.mdi-table-plus::before{content:"\F0A75"}.mdi-table-question::before{content:"\F1B21"}.mdi-table-refresh::before{content:"\F13A0"}.mdi-table-remove::before{content:"\F0A76"}.mdi-table-row::before{content:"\F0837"}.mdi-table-row-height::before{content:"\F04F2"}.mdi-table-row-plus-after::before{content:"\F04F3"}.mdi-table-row-plus-before::before{content:"\F04F4"}.mdi-table-row-remove::before{content:"\F04F5"}.mdi-table-search::before{content:"\F090F"}.mdi-table-settings::before{content:"\F0838"}.mdi-table-split-cell::before{content:"\F142A"}.mdi-table-star::before{content:"\F13CB"}.mdi-table-sync::before{content:"\F13A1"}.mdi-table-tennis::before{content:"\F0E68"}.mdi-tablet::before{content:"\F04F6"}.mdi-tablet-cellphone::before{content:"\F09A7"}.mdi-tablet-dashboard::before{content:"\F0ECE"}.mdi-taco::before{content:"\F0762"}.mdi-tag::before{content:"\F04F9"}.mdi-tag-arrow-down::before{content:"\F172B"}.mdi-tag-arrow-down-outline::before{content:"\F172C"}.mdi-tag-arrow-left::before{content:"\F172D"}.mdi-tag-arrow-left-outline::before{content:"\F172E"}.mdi-tag-arrow-right::before{content:"\F172F"}.mdi-tag-arrow-right-outline::before{content:"\F1730"}.mdi-tag-arrow-up::before{content:"\F1731"}.mdi-tag-arrow-up-outline::before{content:"\F1732"}.mdi-tag-check::before{content:"\F1A7A"}.mdi-tag-check-outline::before{content:"\F1A7B"}.mdi-tag-edit::before{content:"\F1C9C"}.mdi-tag-edit-outline::before{content:"\F1C9D"}.mdi-tag-faces::before{content:"\F04FA"}.mdi-tag-heart::before{content:"\F068B"}.mdi-tag-heart-outline::before{content:"\F0BCF"}.mdi-tag-hidden::before{content:"\F1C76"}.mdi-tag-minus::before{content:"\F0910"}.mdi-tag-minus-outline::before{content:"\F121F"}.mdi-tag-multiple::before{content:"\F04FB"}.mdi-tag-multiple-outline::before{content:"\F12F7"}.mdi-tag-off::before{content:"\F1220"}.mdi-tag-off-outline::before{content:"\F1221"}.mdi-tag-outline::before{content:"\F04FC"}.mdi-tag-plus::before{content:"\F0722"}.mdi-tag-plus-outline::before{content:"\F1222"}.mdi-tag-remove::before{content:"\F0723"}.mdi-tag-remove-outline::before{content:"\F1223"}.mdi-tag-search::before{content:"\F1907"}.mdi-tag-search-outline::before{content:"\F1908"}.mdi-tag-text::before{content:"\F1224"}.mdi-tag-text-outline::before{content:"\F04FD"}.mdi-tailwind::before{content:"\F13FF"}.mdi-tally-mark-1::before{content:"\F1ABC"}.mdi-tally-mark-2::before{content:"\F1ABD"}.mdi-tally-mark-3::before{content:"\F1ABE"}.mdi-tally-mark-4::before{content:"\F1ABF"}.mdi-tally-mark-5::before{content:"\F1AC0"}.mdi-tangram::before{content:"\F04F8"}.mdi-tank::before{content:"\F0D3A"}.mdi-tanker-truck::before{content:"\F0FE5"}.mdi-tape-drive::before{content:"\F16DF"}.mdi-tape-measure::before{content:"\F0B4D"}.mdi-target::before{content:"\F04FE"}.mdi-target-account::before{content:"\F0BD0"}.mdi-target-variant::before{content:"\F0A77"}.mdi-taxi::before{content:"\F04FF"}.mdi-tea::before{content:"\F0D9E"}.mdi-tea-outline::before{content:"\F0D9F"}.mdi-teamviewer::before{content:"\F0500"}.mdi-teddy-bear::before{content:"\F18FB"}.mdi-telescope::before{content:"\F0B4E"}.mdi-television::before{content:"\F0502"}.mdi-television-ambient-light::before{content:"\F1356"}.mdi-television-box::before{content:"\F0839"}.mdi-television-classic::before{content:"\F07F4"}.mdi-television-classic-off::before{content:"\F083A"}.mdi-television-guide::before{content:"\F0503"}.mdi-television-off::before{content:"\F083B"}.mdi-television-pause::before{content:"\F0F89"}.mdi-television-play::before{content:"\F0ECF"}.mdi-television-shimmer::before{content:"\F1110"}.mdi-television-speaker::before{content:"\F1B1B"}.mdi-television-speaker-off::before{content:"\F1B1C"}.mdi-television-stop::before{content:"\F0F8A"}.mdi-temperature-celsius::before{content:"\F0504"}.mdi-temperature-fahrenheit::before{content:"\F0505"}.mdi-temperature-kelvin::before{content:"\F0506"}.mdi-temple-buddhist::before{content:"\F1B06"}.mdi-temple-buddhist-outline::before{content:"\F1B07"}.mdi-temple-hindu::before{content:"\F1B08"}.mdi-temple-hindu-outline::before{content:"\F1B09"}.mdi-tennis::before{content:"\F0DA0"}.mdi-tennis-ball::before{content:"\F0507"}.mdi-tennis-ball-outline::before{content:"\F1C5F"}.mdi-tent::before{content:"\F0508"}.mdi-terraform::before{content:"\F1062"}.mdi-terrain::before{content:"\F0509"}.mdi-test-tube::before{content:"\F0668"}.mdi-test-tube-empty::before{content:"\F0911"}.mdi-test-tube-off::before{content:"\F0912"}.mdi-text::before{content:"\F09A8"}.mdi-text-account::before{content:"\F1570"}.mdi-text-box::before{content:"\F021A"}.mdi-text-box-check::before{content:"\F0EA6"}.mdi-text-box-check-outline::before{content:"\F0EA7"}.mdi-text-box-edit::before{content:"\F1A7C"}.mdi-text-box-edit-outline::before{content:"\F1A7D"}.mdi-text-box-minus::before{content:"\F0EA8"}.mdi-text-box-minus-outline::before{content:"\F0EA9"}.mdi-text-box-multiple::before{content:"\F0AB7"}.mdi-text-box-multiple-outline::before{content:"\F0AB8"}.mdi-text-box-outline::before{content:"\F09ED"}.mdi-text-box-plus::before{content:"\F0EAA"}.mdi-text-box-plus-outline::before{content:"\F0EAB"}.mdi-text-box-remove::before{content:"\F0EAC"}.mdi-text-box-remove-outline::before{content:"\F0EAD"}.mdi-text-box-search::before{content:"\F0EAE"}.mdi-text-box-search-outline::before{content:"\F0EAF"}.mdi-text-long::before{content:"\F09AA"}.mdi-text-recognition::before{content:"\F113D"}.mdi-text-search::before{content:"\F13B8"}.mdi-text-search-variant::before{content:"\F1A7E"}.mdi-text-shadow::before{content:"\F0669"}.mdi-text-short::before{content:"\F09A9"}.mdi-texture::before{content:"\F050C"}.mdi-texture-box::before{content:"\F0FE6"}.mdi-theater::before{content:"\F050D"}.mdi-theme-light-dark::before{content:"\F050E"}.mdi-thermometer::before{content:"\F050F"}.mdi-thermometer-alert::before{content:"\F0E01"}.mdi-thermometer-auto::before{content:"\F1B0F"}.mdi-thermometer-bluetooth::before{content:"\F1895"}.mdi-thermometer-check::before{content:"\F1A7F"}.mdi-thermometer-chevron-down::before{content:"\F0E02"}.mdi-thermometer-chevron-up::before{content:"\F0E03"}.mdi-thermometer-high::before{content:"\F10C2"}.mdi-thermometer-lines::before{content:"\F0510"}.mdi-thermometer-low::before{content:"\F10C3"}.mdi-thermometer-minus::before{content:"\F0E04"}.mdi-thermometer-off::before{content:"\F1531"}.mdi-thermometer-plus::before{content:"\F0E05"}.mdi-thermometer-probe::before{content:"\F1B2B"}.mdi-thermometer-probe-off::before{content:"\F1B2C"}.mdi-thermometer-water::before{content:"\F1A80"}.mdi-thermostat::before{content:"\F0393"}.mdi-thermostat-auto::before{content:"\F1B17"}.mdi-thermostat-box::before{content:"\F0891"}.mdi-thermostat-box-auto::before{content:"\F1B18"}.mdi-thermostat-cog::before{content:"\F1C80"}.mdi-thought-bubble::before{content:"\F07F6"}.mdi-thought-bubble-outline::before{content:"\F07F7"}.mdi-thumb-down::before{content:"\F0511"}.mdi-thumb-down-outline::before{content:"\F0512"}.mdi-thumb-up::before{content:"\F0513"}.mdi-thumb-up-outline::before{content:"\F0514"}.mdi-thumbs-up-down::before{content:"\F0515"}.mdi-thumbs-up-down-outline::before{content:"\F1914"}.mdi-ticket::before{content:"\F0516"}.mdi-ticket-account::before{content:"\F0517"}.mdi-ticket-confirmation::before{content:"\F0518"}.mdi-ticket-confirmation-outline::before{content:"\F13AA"}.mdi-ticket-outline::before{content:"\F0913"}.mdi-ticket-percent::before{content:"\F0724"}.mdi-ticket-percent-outline::before{content:"\F142B"}.mdi-tie::before{content:"\F0519"}.mdi-tilde::before{content:"\F0725"}.mdi-tilde-off::before{content:"\F18F3"}.mdi-timelapse::before{content:"\F051A"}.mdi-timeline::before{content:"\F0BD1"}.mdi-timeline-alert::before{content:"\F0F95"}.mdi-timeline-alert-outline::before{content:"\F0F98"}.mdi-timeline-check::before{content:"\F1532"}.mdi-timeline-check-outline::before{content:"\F1533"}.mdi-timeline-clock::before{content:"\F11FB"}.mdi-timeline-clock-outline::before{content:"\F11FC"}.mdi-timeline-minus::before{content:"\F1534"}.mdi-timeline-minus-outline::before{content:"\F1535"}.mdi-timeline-outline::before{content:"\F0BD2"}.mdi-timeline-plus::before{content:"\F0F96"}.mdi-timeline-plus-outline::before{content:"\F0F97"}.mdi-timeline-question::before{content:"\F0F99"}.mdi-timeline-question-outline::before{content:"\F0F9A"}.mdi-timeline-remove::before{content:"\F1536"}.mdi-timeline-remove-outline::before{content:"\F1537"}.mdi-timeline-text::before{content:"\F0BD3"}.mdi-timeline-text-outline::before{content:"\F0BD4"}.mdi-timer::before{content:"\F13AB"}.mdi-timer-10::before{content:"\F051C"}.mdi-timer-3::before{content:"\F051D"}.mdi-timer-alert::before{content:"\F1ACC"}.mdi-timer-alert-outline::before{content:"\F1ACD"}.mdi-timer-cancel::before{content:"\F1ACE"}.mdi-timer-cancel-outline::before{content:"\F1ACF"}.mdi-timer-check::before{content:"\F1AD0"}.mdi-timer-check-outline::before{content:"\F1AD1"}.mdi-timer-cog::before{content:"\F1925"}.mdi-timer-cog-outline::before{content:"\F1926"}.mdi-timer-edit::before{content:"\F1AD2"}.mdi-timer-edit-outline::before{content:"\F1AD3"}.mdi-timer-lock::before{content:"\F1AD4"}.mdi-timer-lock-open::before{content:"\F1AD5"}.mdi-timer-lock-open-outline::before{content:"\F1AD6"}.mdi-timer-lock-outline::before{content:"\F1AD7"}.mdi-timer-marker::before{content:"\F1AD8"}.mdi-timer-marker-outline::before{content:"\F1AD9"}.mdi-timer-minus::before{content:"\F1ADA"}.mdi-timer-minus-outline::before{content:"\F1ADB"}.mdi-timer-music::before{content:"\F1ADC"}.mdi-timer-music-outline::before{content:"\F1ADD"}.mdi-timer-off::before{content:"\F13AC"}.mdi-timer-off-outline::before{content:"\F051E"}.mdi-timer-outline::before{content:"\F051B"}.mdi-timer-pause::before{content:"\F1ADE"}.mdi-timer-pause-outline::before{content:"\F1ADF"}.mdi-timer-play::before{content:"\F1AE0"}.mdi-timer-play-outline::before{content:"\F1AE1"}.mdi-timer-plus::before{content:"\F1AE2"}.mdi-timer-plus-outline::before{content:"\F1AE3"}.mdi-timer-refresh::before{content:"\F1AE4"}.mdi-timer-refresh-outline::before{content:"\F1AE5"}.mdi-timer-remove::before{content:"\F1AE6"}.mdi-timer-remove-outline::before{content:"\F1AE7"}.mdi-timer-sand::before{content:"\F051F"}.mdi-timer-sand-complete::before{content:"\F199F"}.mdi-timer-sand-empty::before{content:"\F06AD"}.mdi-timer-sand-full::before{content:"\F078C"}.mdi-timer-sand-paused::before{content:"\F19A0"}.mdi-timer-settings::before{content:"\F1923"}.mdi-timer-settings-outline::before{content:"\F1924"}.mdi-timer-star::before{content:"\F1AE8"}.mdi-timer-star-outline::before{content:"\F1AE9"}.mdi-timer-stop::before{content:"\F1AEA"}.mdi-timer-stop-outline::before{content:"\F1AEB"}.mdi-timer-sync::before{content:"\F1AEC"}.mdi-timer-sync-outline::before{content:"\F1AED"}.mdi-timetable::before{content:"\F0520"}.mdi-tire::before{content:"\F1896"}.mdi-toaster::before{content:"\F1063"}.mdi-toaster-off::before{content:"\F11B7"}.mdi-toaster-oven::before{content:"\F0CD3"}.mdi-toggle-switch::before{content:"\F0521"}.mdi-toggle-switch-off::before{content:"\F0522"}.mdi-toggle-switch-off-outline::before{content:"\F0A19"}.mdi-toggle-switch-outline::before{content:"\F0A1A"}.mdi-toggle-switch-variant::before{content:"\F1A25"}.mdi-toggle-switch-variant-off::before{content:"\F1A26"}.mdi-toilet::before{content:"\F09AB"}.mdi-toolbox::before{content:"\F09AC"}.mdi-toolbox-outline::before{content:"\F09AD"}.mdi-tools::before{content:"\F1064"}.mdi-tooltip::before{content:"\F0523"}.mdi-tooltip-account::before{content:"\F000C"}.mdi-tooltip-cellphone::before{content:"\F183B"}.mdi-tooltip-check::before{content:"\F155C"}.mdi-tooltip-check-outline::before{content:"\F155D"}.mdi-tooltip-edit::before{content:"\F0524"}.mdi-tooltip-edit-outline::before{content:"\F12C5"}.mdi-tooltip-image::before{content:"\F0525"}.mdi-tooltip-image-outline::before{content:"\F0BD5"}.mdi-tooltip-minus::before{content:"\F155E"}.mdi-tooltip-minus-outline::before{content:"\F155F"}.mdi-tooltip-outline::before{content:"\F0526"}.mdi-tooltip-plus::before{content:"\F0BD6"}.mdi-tooltip-plus-outline::before{content:"\F0527"}.mdi-tooltip-question::before{content:"\F1BBA"}.mdi-tooltip-question-outline::before{content:"\F1BBB"}.mdi-tooltip-remove::before{content:"\F1560"}.mdi-tooltip-remove-outline::before{content:"\F1561"}.mdi-tooltip-text::before{content:"\F0528"}.mdi-tooltip-text-outline::before{content:"\F0BD7"}.mdi-tooth::before{content:"\F08C3"}.mdi-tooth-outline::before{content:"\F0529"}.mdi-toothbrush::before{content:"\F1129"}.mdi-toothbrush-electric::before{content:"\F112C"}.mdi-toothbrush-paste::before{content:"\F112A"}.mdi-torch::before{content:"\F1606"}.mdi-tortoise::before{content:"\F0D3B"}.mdi-toslink::before{content:"\F12B8"}.mdi-touch-text-outline::before{content:"\F1C60"}.mdi-tournament::before{content:"\F09AE"}.mdi-tow-truck::before{content:"\F083C"}.mdi-tower-beach::before{content:"\F0681"}.mdi-tower-fire::before{content:"\F0682"}.mdi-town-hall::before{content:"\F1875"}.mdi-toy-brick::before{content:"\F1288"}.mdi-toy-brick-marker::before{content:"\F1289"}.mdi-toy-brick-marker-outline::before{content:"\F128A"}.mdi-toy-brick-minus::before{content:"\F128B"}.mdi-toy-brick-minus-outline::before{content:"\F128C"}.mdi-toy-brick-outline::before{content:"\F128D"}.mdi-toy-brick-plus::before{content:"\F128E"}.mdi-toy-brick-plus-outline::before{content:"\F128F"}.mdi-toy-brick-remove::before{content:"\F1290"}.mdi-toy-brick-remove-outline::before{content:"\F1291"}.mdi-toy-brick-search::before{content:"\F1292"}.mdi-toy-brick-search-outline::before{content:"\F1293"}.mdi-track-light::before{content:"\F0914"}.mdi-track-light-off::before{content:"\F1B01"}.mdi-trackpad::before{content:"\F07F8"}.mdi-trackpad-lock::before{content:"\F0933"}.mdi-tractor::before{content:"\F0892"}.mdi-tractor-variant::before{content:"\F14C4"}.mdi-trademark::before{content:"\F0A78"}.mdi-traffic-cone::before{content:"\F137C"}.mdi-traffic-light::before{content:"\F052B"}.mdi-traffic-light-outline::before{content:"\F182A"}.mdi-train::before{content:"\F052C"}.mdi-train-bus::before{content:"\F1CC7"}.mdi-train-car::before{content:"\F0BD8"}.mdi-train-car-autorack::before{content:"\F1B2D"}.mdi-train-car-box::before{content:"\F1B2E"}.mdi-train-car-box-full::before{content:"\F1B2F"}.mdi-train-car-box-open::before{content:"\F1B30"}.mdi-train-car-caboose::before{content:"\F1B31"}.mdi-train-car-centerbeam::before{content:"\F1B32"}.mdi-train-car-centerbeam-full::before{content:"\F1B33"}.mdi-train-car-container::before{content:"\F1B34"}.mdi-train-car-flatbed::before{content:"\F1B35"}.mdi-train-car-flatbed-car::before{content:"\F1B36"}.mdi-train-car-flatbed-tank::before{content:"\F1B37"}.mdi-train-car-gondola::before{content:"\F1B38"}.mdi-train-car-gondola-full::before{content:"\F1B39"}.mdi-train-car-hopper::before{content:"\F1B3A"}.mdi-train-car-hopper-covered::before{content:"\F1B3B"}.mdi-train-car-hopper-full::before{content:"\F1B3C"}.mdi-train-car-intermodal::before{content:"\F1B3D"}.mdi-train-car-passenger::before{content:"\F1733"}.mdi-train-car-passenger-door::before{content:"\F1734"}.mdi-train-car-passenger-door-open::before{content:"\F1735"}.mdi-train-car-passenger-variant::before{content:"\F1736"}.mdi-train-car-tank::before{content:"\F1B3E"}.mdi-train-variant::before{content:"\F08C4"}.mdi-tram::before{content:"\F052D"}.mdi-tram-side::before{content:"\F0FE7"}.mdi-transcribe::before{content:"\F052E"}.mdi-transcribe-close::before{content:"\F052F"}.mdi-transfer::before{content:"\F1065"}.mdi-transfer-down::before{content:"\F0DA1"}.mdi-transfer-left::before{content:"\F0DA2"}.mdi-transfer-right::before{content:"\F0530"}.mdi-transfer-up::before{content:"\F0DA3"}.mdi-transit-connection::before{content:"\F0D3C"}.mdi-transit-connection-horizontal::before{content:"\F1546"}.mdi-transit-connection-variant::before{content:"\F0D3D"}.mdi-transit-detour::before{content:"\F0F8B"}.mdi-transit-skip::before{content:"\F1515"}.mdi-transit-transfer::before{content:"\F06AE"}.mdi-transition::before{content:"\F0915"}.mdi-transition-masked::before{content:"\F0916"}.mdi-translate::before{content:"\F05CA"}.mdi-translate-off::before{content:"\F0E06"}.mdi-translate-variant::before{content:"\F1B99"}.mdi-transmission-tower::before{content:"\F0D3E"}.mdi-transmission-tower-export::before{content:"\F192C"}.mdi-transmission-tower-import::before{content:"\F192D"}.mdi-transmission-tower-off::before{content:"\F19DD"}.mdi-trash-can::before{content:"\F0A79"}.mdi-trash-can-outline::before{content:"\F0A7A"}.mdi-tray::before{content:"\F1294"}.mdi-tray-alert::before{content:"\F1295"}.mdi-tray-arrow-down::before{content:"\F0120"}.mdi-tray-arrow-up::before{content:"\F011D"}.mdi-tray-full::before{content:"\F1296"}.mdi-tray-minus::before{content:"\F1297"}.mdi-tray-plus::before{content:"\F1298"}.mdi-tray-remove::before{content:"\F1299"}.mdi-treasure-chest::before{content:"\F0726"}.mdi-treasure-chest-outline::before{content:"\F1C77"}.mdi-tree::before{content:"\F0531"}.mdi-tree-outline::before{content:"\F0E69"}.mdi-trello::before{content:"\F0532"}.mdi-trending-down::before{content:"\F0533"}.mdi-trending-neutral::before{content:"\F0534"}.mdi-trending-up::before{content:"\F0535"}.mdi-triangle::before{content:"\F0536"}.mdi-triangle-down::before{content:"\F1C56"}.mdi-triangle-down-outline::before{content:"\F1C57"}.mdi-triangle-outline::before{content:"\F0537"}.mdi-triangle-small-down::before{content:"\F1A09"}.mdi-triangle-small-up::before{content:"\F1A0A"}.mdi-triangle-wave::before{content:"\F147C"}.mdi-triforce::before{content:"\F0BD9"}.mdi-trophy::before{content:"\F0538"}.mdi-trophy-award::before{content:"\F0539"}.mdi-trophy-broken::before{content:"\F0DA4"}.mdi-trophy-outline::before{content:"\F053A"}.mdi-trophy-variant::before{content:"\F053B"}.mdi-trophy-variant-outline::before{content:"\F053C"}.mdi-truck::before{content:"\F053D"}.mdi-truck-alert::before{content:"\F19DE"}.mdi-truck-alert-outline::before{content:"\F19DF"}.mdi-truck-cargo-container::before{content:"\F18D8"}.mdi-truck-check::before{content:"\F0CD4"}.mdi-truck-check-outline::before{content:"\F129A"}.mdi-truck-delivery::before{content:"\F053E"}.mdi-truck-delivery-outline::before{content:"\F129B"}.mdi-truck-fast::before{content:"\F0788"}.mdi-truck-fast-outline::before{content:"\F129C"}.mdi-truck-flatbed::before{content:"\F1891"}.mdi-truck-minus::before{content:"\F19AE"}.mdi-truck-minus-outline::before{content:"\F19BD"}.mdi-truck-off-road::before{content:"\F1C9E"}.mdi-truck-off-road-off::before{content:"\F1C9F"}.mdi-truck-outline::before{content:"\F129D"}.mdi-truck-plus::before{content:"\F19AD"}.mdi-truck-plus-outline::before{content:"\F19BC"}.mdi-truck-remove::before{content:"\F19AF"}.mdi-truck-remove-outline::before{content:"\F19BE"}.mdi-truck-snowflake::before{content:"\F19A6"}.mdi-truck-trailer::before{content:"\F0727"}.mdi-trumpet::before{content:"\F1096"}.mdi-tshirt-crew::before{content:"\F0A7B"}.mdi-tshirt-crew-outline::before{content:"\F053F"}.mdi-tshirt-v::before{content:"\F0A7C"}.mdi-tshirt-v-outline::before{content:"\F0540"}.mdi-tsunami::before{content:"\F1A81"}.mdi-tumble-dryer::before{content:"\F0917"}.mdi-tumble-dryer-alert::before{content:"\F11BA"}.mdi-tumble-dryer-off::before{content:"\F11BB"}.mdi-tune::before{content:"\F062E"}.mdi-tune-variant::before{content:"\F1542"}.mdi-tune-vertical::before{content:"\F066A"}.mdi-tune-vertical-variant::before{content:"\F1543"}.mdi-tunnel::before{content:"\F183D"}.mdi-tunnel-outline::before{content:"\F183E"}.mdi-turbine::before{content:"\F1A82"}.mdi-turkey::before{content:"\F171B"}.mdi-turnstile::before{content:"\F0CD5"}.mdi-turnstile-outline::before{content:"\F0CD6"}.mdi-turtle::before{content:"\F0CD7"}.mdi-twitch::before{content:"\F0543"}.mdi-twitter::before{content:"\F0544"}.mdi-two-factor-authentication::before{content:"\F09AF"}.mdi-typewriter::before{content:"\F0F2D"}.mdi-ubisoft::before{content:"\F0BDA"}.mdi-ubuntu::before{content:"\F0548"}.mdi-ufo::before{content:"\F10C4"}.mdi-ufo-outline::before{content:"\F10C5"}.mdi-ultra-high-definition::before{content:"\F07F9"}.mdi-umbraco::before{content:"\F0549"}.mdi-umbrella::before{content:"\F054A"}.mdi-umbrella-beach::before{content:"\F188A"}.mdi-umbrella-beach-outline::before{content:"\F188B"}.mdi-umbrella-closed::before{content:"\F09B0"}.mdi-umbrella-closed-outline::before{content:"\F13E2"}.mdi-umbrella-closed-variant::before{content:"\F13E1"}.mdi-umbrella-outline::before{content:"\F054B"}.mdi-underwear-outline::before{content:"\F1D0F"}.mdi-undo::before{content:"\F054C"}.mdi-undo-variant::before{content:"\F054D"}.mdi-unfold-less-horizontal::before{content:"\F054E"}.mdi-unfold-less-vertical::before{content:"\F0760"}.mdi-unfold-more-horizontal::before{content:"\F054F"}.mdi-unfold-more-vertical::before{content:"\F0761"}.mdi-ungroup::before{content:"\F0550"}.mdi-unicode::before{content:"\F0ED0"}.mdi-unicorn::before{content:"\F15C2"}.mdi-unicorn-variant::before{content:"\F15C3"}.mdi-unicycle::before{content:"\F15E5"}.mdi-unity::before{content:"\F06AF"}.mdi-unreal::before{content:"\F09B1"}.mdi-update::before{content:"\F06B0"}.mdi-upload::before{content:"\F0552"}.mdi-upload-box::before{content:"\F1D10"}.mdi-upload-box-outline::before{content:"\F1D11"}.mdi-upload-circle::before{content:"\F1D12"}.mdi-upload-circle-outline::before{content:"\F1D13"}.mdi-upload-lock::before{content:"\F1373"}.mdi-upload-lock-outline::before{content:"\F1374"}.mdi-upload-multiple::before{content:"\F083D"}.mdi-upload-multiple-outline::before{content:"\F1D14"}.mdi-upload-network::before{content:"\F06F6"}.mdi-upload-network-outline::before{content:"\F0CD8"}.mdi-upload-off::before{content:"\F10C6"}.mdi-upload-off-outline::before{content:"\F10C7"}.mdi-upload-outline::before{content:"\F0E07"}.mdi-usb::before{content:"\F0553"}.mdi-usb-c-port::before{content:"\F1CBF"}.mdi-usb-flash-drive::before{content:"\F129E"}.mdi-usb-flash-drive-outline::before{content:"\F129F"}.mdi-usb-port::before{content:"\F11F0"}.mdi-vacuum::before{content:"\F19A1"}.mdi-vacuum-outline::before{content:"\F19A2"}.mdi-valve::before{content:"\F1066"}.mdi-valve-closed::before{content:"\F1067"}.mdi-valve-open::before{content:"\F1068"}.mdi-van-passenger::before{content:"\F07FA"}.mdi-van-utility::before{content:"\F07FB"}.mdi-vanish::before{content:"\F07FC"}.mdi-vanish-quarter::before{content:"\F1554"}.mdi-vanity-light::before{content:"\F11E1"}.mdi-variable::before{content:"\F0AE7"}.mdi-variable-box::before{content:"\F1111"}.mdi-vector-arrange-above::before{content:"\F0554"}.mdi-vector-arrange-below::before{content:"\F0555"}.mdi-vector-bezier::before{content:"\F0AE8"}.mdi-vector-circle::before{content:"\F0556"}.mdi-vector-circle-variant::before{content:"\F0557"}.mdi-vector-combine::before{content:"\F0558"}.mdi-vector-curve::before{content:"\F0559"}.mdi-vector-difference::before{content:"\F055A"}.mdi-vector-difference-ab::before{content:"\F055B"}.mdi-vector-difference-ba::before{content:"\F055C"}.mdi-vector-ellipse::before{content:"\F0893"}.mdi-vector-intersection::before{content:"\F055D"}.mdi-vector-line::before{content:"\F055E"}.mdi-vector-link::before{content:"\F0FE8"}.mdi-vector-point::before{content:"\F01C4"}.mdi-vector-point-edit::before{content:"\F09E8"}.mdi-vector-point-minus::before{content:"\F1B78"}.mdi-vector-point-plus::before{content:"\F1B79"}.mdi-vector-point-select::before{content:"\F055F"}.mdi-vector-polygon::before{content:"\F0560"}.mdi-vector-polygon-variant::before{content:"\F1856"}.mdi-vector-polyline::before{content:"\F0561"}.mdi-vector-polyline-edit::before{content:"\F1225"}.mdi-vector-polyline-minus::before{content:"\F1226"}.mdi-vector-polyline-plus::before{content:"\F1227"}.mdi-vector-polyline-remove::before{content:"\F1228"}.mdi-vector-radius::before{content:"\F074A"}.mdi-vector-rectangle::before{content:"\F05C6"}.mdi-vector-selection::before{content:"\F0562"}.mdi-vector-square::before{content:"\F0001"}.mdi-vector-square-close::before{content:"\F1857"}.mdi-vector-square-edit::before{content:"\F18D9"}.mdi-vector-square-minus::before{content:"\F18DA"}.mdi-vector-square-open::before{content:"\F1858"}.mdi-vector-square-plus::before{content:"\F18DB"}.mdi-vector-square-remove::before{content:"\F18DC"}.mdi-vector-triangle::before{content:"\F0563"}.mdi-vector-union::before{content:"\F0564"}.mdi-vhs::before{content:"\F0A1B"}.mdi-vibrate::before{content:"\F0566"}.mdi-vibrate-off::before{content:"\F0CD9"}.mdi-video::before{content:"\F0567"}.mdi-video-2d::before{content:"\F1A1C"}.mdi-video-3d::before{content:"\F07FD"}.mdi-video-3d-off::before{content:"\F13D9"}.mdi-video-3d-variant::before{content:"\F0ED1"}.mdi-video-4k-box::before{content:"\F083E"}.mdi-video-account::before{content:"\F0919"}.mdi-video-box::before{content:"\F00FD"}.mdi-video-box-off::before{content:"\F00FE"}.mdi-video-check::before{content:"\F1069"}.mdi-video-check-outline::before{content:"\F106A"}.mdi-video-high-definition::before{content:"\F152E"}.mdi-video-image::before{content:"\F091A"}.mdi-video-input-antenna::before{content:"\F083F"}.mdi-video-input-component::before{content:"\F0840"}.mdi-video-input-hdmi::before{content:"\F0841"}.mdi-video-input-scart::before{content:"\F0F8C"}.mdi-video-input-svideo::before{content:"\F0842"}.mdi-video-marker::before{content:"\F19A9"}.mdi-video-marker-outline::before{content:"\F19AA"}.mdi-video-minus::before{content:"\F09B2"}.mdi-video-minus-outline::before{content:"\F02BA"}.mdi-video-off::before{content:"\F0568"}.mdi-video-off-outline::before{content:"\F0BDB"}.mdi-video-outline::before{content:"\F0BDC"}.mdi-video-plus::before{content:"\F09B3"}.mdi-video-plus-outline::before{content:"\F01D3"}.mdi-video-stabilization::before{content:"\F091B"}.mdi-video-standard-definition::before{content:"\F1CA0"}.mdi-video-switch::before{content:"\F0569"}.mdi-video-switch-outline::before{content:"\F0790"}.mdi-video-vintage::before{content:"\F0A1C"}.mdi-video-wireless::before{content:"\F0ED2"}.mdi-video-wireless-outline::before{content:"\F0ED3"}.mdi-view-agenda::before{content:"\F056A"}.mdi-view-agenda-outline::before{content:"\F11D8"}.mdi-view-array::before{content:"\F056B"}.mdi-view-array-outline::before{content:"\F1485"}.mdi-view-carousel::before{content:"\F056C"}.mdi-view-carousel-outline::before{content:"\F1486"}.mdi-view-column::before{content:"\F056D"}.mdi-view-column-outline::before{content:"\F1487"}.mdi-view-comfy::before{content:"\F0E6A"}.mdi-view-comfy-outline::before{content:"\F1488"}.mdi-view-compact::before{content:"\F0E6B"}.mdi-view-compact-outline::before{content:"\F0E6C"}.mdi-view-dashboard::before{content:"\F056E"}.mdi-view-dashboard-edit::before{content:"\F1947"}.mdi-view-dashboard-edit-outline::before{content:"\F1948"}.mdi-view-dashboard-outline::before{content:"\F0A1D"}.mdi-view-dashboard-variant::before{content:"\F0843"}.mdi-view-dashboard-variant-outline::before{content:"\F1489"}.mdi-view-day::before{content:"\F056F"}.mdi-view-day-outline::before{content:"\F148A"}.mdi-view-gallery::before{content:"\F1888"}.mdi-view-gallery-outline::before{content:"\F1889"}.mdi-view-grid::before{content:"\F0570"}.mdi-view-grid-compact::before{content:"\F1C61"}.mdi-view-grid-outline::before{content:"\F11D9"}.mdi-view-grid-plus::before{content:"\F0F8D"}.mdi-view-grid-plus-outline::before{content:"\F11DA"}.mdi-view-headline::before{content:"\F0571"}.mdi-view-list::before{content:"\F0572"}.mdi-view-list-outline::before{content:"\F148B"}.mdi-view-module::before{content:"\F0573"}.mdi-view-module-outline::before{content:"\F148C"}.mdi-view-parallel::before{content:"\F0728"}.mdi-view-parallel-outline::before{content:"\F148D"}.mdi-view-quilt::before{content:"\F0574"}.mdi-view-quilt-outline::before{content:"\F148E"}.mdi-view-sequential::before{content:"\F0729"}.mdi-view-sequential-outline::before{content:"\F148F"}.mdi-view-split-horizontal::before{content:"\F0BCB"}.mdi-view-split-vertical::before{content:"\F0BCC"}.mdi-view-stream::before{content:"\F0575"}.mdi-view-stream-outline::before{content:"\F1490"}.mdi-view-week::before{content:"\F0576"}.mdi-view-week-outline::before{content:"\F1491"}.mdi-vimeo::before{content:"\F0577"}.mdi-violin::before{content:"\F060F"}.mdi-virtual-reality::before{content:"\F0894"}.mdi-virus::before{content:"\F13B6"}.mdi-virus-off::before{content:"\F18E1"}.mdi-virus-off-outline::before{content:"\F18E2"}.mdi-virus-outline::before{content:"\F13B7"}.mdi-vlc::before{content:"\F057C"}.mdi-voicemail::before{content:"\F057D"}.mdi-volcano::before{content:"\F1A83"}.mdi-volcano-outline::before{content:"\F1A84"}.mdi-volleyball::before{content:"\F09B4"}.mdi-volume-equal::before{content:"\F1B10"}.mdi-volume-high::before{content:"\F057E"}.mdi-volume-low::before{content:"\F057F"}.mdi-volume-medium::before{content:"\F0580"}.mdi-volume-minus::before{content:"\F075E"}.mdi-volume-mute::before{content:"\F075F"}.mdi-volume-off::before{content:"\F0581"}.mdi-volume-plus::before{content:"\F075D"}.mdi-volume-source::before{content:"\F1120"}.mdi-volume-variant-off::before{content:"\F0E08"}.mdi-volume-vibrate::before{content:"\F1121"}.mdi-vote::before{content:"\F0A1F"}.mdi-vote-outline::before{content:"\F0A20"}.mdi-vpn::before{content:"\F0582"}.mdi-vuejs::before{content:"\F0844"}.mdi-vuetify::before{content:"\F0E6D"}.mdi-walk::before{content:"\F0583"}.mdi-wall::before{content:"\F07FE"}.mdi-wall-fire::before{content:"\F1A11"}.mdi-wall-sconce::before{content:"\F091C"}.mdi-wall-sconce-flat::before{content:"\F091D"}.mdi-wall-sconce-flat-outline::before{content:"\F17C9"}.mdi-wall-sconce-flat-variant::before{content:"\F041C"}.mdi-wall-sconce-flat-variant-outline::before{content:"\F17CA"}.mdi-wall-sconce-outline::before{content:"\F17CB"}.mdi-wall-sconce-round::before{content:"\F0748"}.mdi-wall-sconce-round-outline::before{content:"\F17CC"}.mdi-wall-sconce-round-variant::before{content:"\F091E"}.mdi-wall-sconce-round-variant-outline::before{content:"\F17CD"}.mdi-wallet::before{content:"\F0584"}.mdi-wallet-bifold::before{content:"\F1C58"}.mdi-wallet-bifold-outline::before{content:"\F1C59"}.mdi-wallet-giftcard::before{content:"\F0585"}.mdi-wallet-membership::before{content:"\F0586"}.mdi-wallet-outline::before{content:"\F0BDD"}.mdi-wallet-plus::before{content:"\F0F8E"}.mdi-wallet-plus-outline::before{content:"\F0F8F"}.mdi-wallet-travel::before{content:"\F0587"}.mdi-wallpaper::before{content:"\F0E09"}.mdi-wan::before{content:"\F0588"}.mdi-wardrobe::before{content:"\F0F90"}.mdi-wardrobe-outline::before{content:"\F0F91"}.mdi-warehouse::before{content:"\F0F81"}.mdi-washing-machine::before{content:"\F072A"}.mdi-washing-machine-alert::before{content:"\F11BC"}.mdi-washing-machine-off::before{content:"\F11BD"}.mdi-watch::before{content:"\F0589"}.mdi-watch-export::before{content:"\F058A"}.mdi-watch-export-variant::before{content:"\F0895"}.mdi-watch-import::before{content:"\F058B"}.mdi-watch-import-variant::before{content:"\F0896"}.mdi-watch-variant::before{content:"\F0897"}.mdi-watch-vibrate::before{content:"\F06B1"}.mdi-watch-vibrate-off::before{content:"\F0CDA"}.mdi-water::before{content:"\F058C"}.mdi-water-alert::before{content:"\F1502"}.mdi-water-alert-outline::before{content:"\F1503"}.mdi-water-boiler::before{content:"\F0F92"}.mdi-water-boiler-alert::before{content:"\F11B3"}.mdi-water-boiler-auto::before{content:"\F1B98"}.mdi-water-boiler-off::before{content:"\F11B4"}.mdi-water-check::before{content:"\F1504"}.mdi-water-check-outline::before{content:"\F1505"}.mdi-water-circle::before{content:"\F1806"}.mdi-water-minus::before{content:"\F1506"}.mdi-water-minus-outline::before{content:"\F1507"}.mdi-water-off::before{content:"\F058D"}.mdi-water-off-outline::before{content:"\F1508"}.mdi-water-opacity::before{content:"\F1855"}.mdi-water-outline::before{content:"\F0E0A"}.mdi-water-percent::before{content:"\F058E"}.mdi-water-percent-alert::before{content:"\F1509"}.mdi-water-plus::before{content:"\F150A"}.mdi-water-plus-outline::before{content:"\F150B"}.mdi-water-polo::before{content:"\F12A0"}.mdi-water-pump::before{content:"\F058F"}.mdi-water-pump-off::before{content:"\F0F93"}.mdi-water-remove::before{content:"\F150C"}.mdi-water-remove-outline::before{content:"\F150D"}.mdi-water-sync::before{content:"\F17C6"}.mdi-water-thermometer::before{content:"\F1A85"}.mdi-water-thermometer-outline::before{content:"\F1A86"}.mdi-water-well::before{content:"\F106B"}.mdi-water-well-outline::before{content:"\F106C"}.mdi-waterfall::before{content:"\F1849"}.mdi-watering-can::before{content:"\F1481"}.mdi-watering-can-outline::before{content:"\F1482"}.mdi-watermark::before{content:"\F0612"}.mdi-wave::before{content:"\F0F2E"}.mdi-wave-arrow-down::before{content:"\F1CB0"}.mdi-wave-arrow-up::before{content:"\F1CB1"}.mdi-wave-undercurrent::before{content:"\F1CC0"}.mdi-waveform::before{content:"\F147D"}.mdi-waves::before{content:"\F078D"}.mdi-waves-arrow-left::before{content:"\F1859"}.mdi-waves-arrow-right::before{content:"\F185A"}.mdi-waves-arrow-up::before{content:"\F185B"}.mdi-waze::before{content:"\F0BDE"}.mdi-weather-cloudy::before{content:"\F0590"}.mdi-weather-cloudy-alert::before{content:"\F0F2F"}.mdi-weather-cloudy-arrow-right::before{content:"\F0E6E"}.mdi-weather-cloudy-clock::before{content:"\F18F6"}.mdi-weather-dust::before{content:"\F1B5A"}.mdi-weather-fog::before{content:"\F0591"}.mdi-weather-hail::before{content:"\F0592"}.mdi-weather-hazy::before{content:"\F0F30"}.mdi-weather-hurricane::before{content:"\F0898"}.mdi-weather-hurricane-outline::before{content:"\F1C78"}.mdi-weather-lightning::before{content:"\F0593"}.mdi-weather-lightning-rainy::before{content:"\F067E"}.mdi-weather-moonset::before{content:"\F1D15"}.mdi-weather-moonset-down::before{content:"\F1D16"}.mdi-weather-moonset-up::before{content:"\F1D17"}.mdi-weather-night::before{content:"\F0594"}.mdi-weather-night-partly-cloudy::before{content:"\F0F31"}.mdi-weather-partly-cloudy::before{content:"\F0595"}.mdi-weather-partly-lightning::before{content:"\F0F32"}.mdi-weather-partly-rainy::before{content:"\F0F33"}.mdi-weather-partly-snowy::before{content:"\F0F34"}.mdi-weather-partly-snowy-rainy::before{content:"\F0F35"}.mdi-weather-pouring::before{content:"\F0596"}.mdi-weather-rainy::before{content:"\F0597"}.mdi-weather-snowy::before{content:"\F0598"}.mdi-weather-snowy-heavy::before{content:"\F0F36"}.mdi-weather-snowy-rainy::before{content:"\F067F"}.mdi-weather-sunny::before{content:"\F0599"}.mdi-weather-sunny-alert::before{content:"\F0F37"}.mdi-weather-sunny-off::before{content:"\F14E4"}.mdi-weather-sunset::before{content:"\F059A"}.mdi-weather-sunset-down::before{content:"\F059B"}.mdi-weather-sunset-up::before{content:"\F059C"}.mdi-weather-tornado::before{content:"\F0F38"}.mdi-weather-windy::before{content:"\F059D"}.mdi-weather-windy-variant::before{content:"\F059E"}.mdi-web::before{content:"\F059F"}.mdi-web-box::before{content:"\F0F94"}.mdi-web-cancel::before{content:"\F1790"}.mdi-web-check::before{content:"\F0789"}.mdi-web-clock::before{content:"\F124A"}.mdi-web-minus::before{content:"\F10A0"}.mdi-web-off::before{content:"\F0A8E"}.mdi-web-plus::before{content:"\F0033"}.mdi-web-refresh::before{content:"\F1791"}.mdi-web-remove::before{content:"\F0551"}.mdi-web-sync::before{content:"\F1792"}.mdi-webcam::before{content:"\F05A0"}.mdi-webcam-off::before{content:"\F1737"}.mdi-webhook::before{content:"\F062F"}.mdi-webpack::before{content:"\F072B"}.mdi-webrtc::before{content:"\F1248"}.mdi-wechat::before{content:"\F0611"}.mdi-weight::before{content:"\F05A1"}.mdi-weight-gram::before{content:"\F0D3F"}.mdi-weight-kilogram::before{content:"\F05A2"}.mdi-weight-lifter::before{content:"\F115D"}.mdi-weight-pound::before{content:"\F09B5"}.mdi-whatsapp::before{content:"\F05A3"}.mdi-wheel-barrow::before{content:"\F14F2"}.mdi-wheelchair::before{content:"\F1A87"}.mdi-wheelchair-accessibility::before{content:"\F05A4"}.mdi-whistle::before{content:"\F09B6"}.mdi-whistle-outline::before{content:"\F12BC"}.mdi-white-balance-auto::before{content:"\F05A5"}.mdi-white-balance-incandescent::before{content:"\F05A6"}.mdi-white-balance-iridescent::before{content:"\F05A7"}.mdi-white-balance-sunny::before{content:"\F05A8"}.mdi-widgets::before{content:"\F072C"}.mdi-widgets-outline::before{content:"\F1355"}.mdi-wifi::before{content:"\F05A9"}.mdi-wifi-alert::before{content:"\F16B5"}.mdi-wifi-arrow-down::before{content:"\F16B6"}.mdi-wifi-arrow-left::before{content:"\F16B7"}.mdi-wifi-arrow-left-right::before{content:"\F16B8"}.mdi-wifi-arrow-right::before{content:"\F16B9"}.mdi-wifi-arrow-up::before{content:"\F16BA"}.mdi-wifi-arrow-up-down::before{content:"\F16BB"}.mdi-wifi-cancel::before{content:"\F16BC"}.mdi-wifi-check::before{content:"\F16BD"}.mdi-wifi-cog::before{content:"\F16BE"}.mdi-wifi-lock::before{content:"\F16BF"}.mdi-wifi-lock-open::before{content:"\F16C0"}.mdi-wifi-marker::before{content:"\F16C1"}.mdi-wifi-minus::before{content:"\F16C2"}.mdi-wifi-off::before{content:"\F05AA"}.mdi-wifi-plus::before{content:"\F16C3"}.mdi-wifi-refresh::before{content:"\F16C4"}.mdi-wifi-remove::before{content:"\F16C5"}.mdi-wifi-settings::before{content:"\F16C6"}.mdi-wifi-star::before{content:"\F0E0B"}.mdi-wifi-strength-1::before{content:"\F091F"}.mdi-wifi-strength-1-alert::before{content:"\F0920"}.mdi-wifi-strength-1-lock::before{content:"\F0921"}.mdi-wifi-strength-1-lock-open::before{content:"\F16CB"}.mdi-wifi-strength-2::before{content:"\F0922"}.mdi-wifi-strength-2-alert::before{content:"\F0923"}.mdi-wifi-strength-2-lock::before{content:"\F0924"}.mdi-wifi-strength-2-lock-open::before{content:"\F16CC"}.mdi-wifi-strength-3::before{content:"\F0925"}.mdi-wifi-strength-3-alert::before{content:"\F0926"}.mdi-wifi-strength-3-lock::before{content:"\F0927"}.mdi-wifi-strength-3-lock-open::before{content:"\F16CD"}.mdi-wifi-strength-4::before{content:"\F0928"}.mdi-wifi-strength-4-alert::before{content:"\F0929"}.mdi-wifi-strength-4-lock::before{content:"\F092A"}.mdi-wifi-strength-4-lock-open::before{content:"\F16CE"}.mdi-wifi-strength-alert-outline::before{content:"\F092B"}.mdi-wifi-strength-lock-open-outline::before{content:"\F16CF"}.mdi-wifi-strength-lock-outline::before{content:"\F092C"}.mdi-wifi-strength-off::before{content:"\F092D"}.mdi-wifi-strength-off-outline::before{content:"\F092E"}.mdi-wifi-strength-outline::before{content:"\F092F"}.mdi-wifi-sync::before{content:"\F16C7"}.mdi-wikipedia::before{content:"\F05AC"}.mdi-wind-power::before{content:"\F1A88"}.mdi-wind-power-outline::before{content:"\F1A89"}.mdi-wind-turbine::before{content:"\F0DA5"}.mdi-wind-turbine-alert::before{content:"\F19AB"}.mdi-wind-turbine-check::before{content:"\F19AC"}.mdi-window-close::before{content:"\F05AD"}.mdi-window-closed::before{content:"\F05AE"}.mdi-window-closed-variant::before{content:"\F11DB"}.mdi-window-maximize::before{content:"\F05AF"}.mdi-window-minimize::before{content:"\F05B0"}.mdi-window-open::before{content:"\F05B1"}.mdi-window-open-variant::before{content:"\F11DC"}.mdi-window-restore::before{content:"\F05B2"}.mdi-window-shutter::before{content:"\F111C"}.mdi-window-shutter-alert::before{content:"\F111D"}.mdi-window-shutter-auto::before{content:"\F1BA3"}.mdi-window-shutter-cog::before{content:"\F1A8A"}.mdi-window-shutter-open::before{content:"\F111E"}.mdi-window-shutter-settings::before{content:"\F1A8B"}.mdi-windsock::before{content:"\F15FA"}.mdi-wiper::before{content:"\F0AE9"}.mdi-wiper-wash::before{content:"\F0DA6"}.mdi-wiper-wash-alert::before{content:"\F18DF"}.mdi-wizard-hat::before{content:"\F1477"}.mdi-wordpress::before{content:"\F05B4"}.mdi-wrap::before{content:"\F05B6"}.mdi-wrap-disabled::before{content:"\F0BDF"}.mdi-wrench::before{content:"\F05B7"}.mdi-wrench-check::before{content:"\F1B8F"}.mdi-wrench-check-outline::before{content:"\F1B90"}.mdi-wrench-clock::before{content:"\F19A3"}.mdi-wrench-clock-outline::before{content:"\F1B93"}.mdi-wrench-cog::before{content:"\F1B91"}.mdi-wrench-cog-outline::before{content:"\F1B92"}.mdi-wrench-outline::before{content:"\F0BE0"}.mdi-xamarin::before{content:"\F0845"}.mdi-xml::before{content:"\F05C0"}.mdi-xmpp::before{content:"\F07FF"}.mdi-yahoo::before{content:"\F0B4F"}.mdi-yeast::before{content:"\F05C1"}.mdi-yin-yang::before{content:"\F0680"}.mdi-yoga::before{content:"\F117C"}.mdi-youtube::before{content:"\F05C3"}.mdi-youtube-gaming::before{content:"\F0848"}.mdi-youtube-studio::before{content:"\F0847"}.mdi-youtube-subscription::before{content:"\F0D40"}.mdi-youtube-tv::before{content:"\F0448"}.mdi-yurt::before{content:"\F1516"}.mdi-z-wave::before{content:"\F0AEA"}.mdi-zend::before{content:"\F0AEB"}.mdi-zigbee::before{content:"\F0D41"}.mdi-zip-box::before{content:"\F05C4"}.mdi-zip-box-outline::before{content:"\F0FFA"}.mdi-zip-disk::before{content:"\F0A23"}.mdi-zodiac-aquarius::before{content:"\F0A7D"}.mdi-zodiac-aries::before{content:"\F0A7E"}.mdi-zodiac-cancer::before{content:"\F0A7F"}.mdi-zodiac-capricorn::before{content:"\F0A80"}.mdi-zodiac-gemini::before{content:"\F0A81"}.mdi-zodiac-leo::before{content:"\F0A82"}.mdi-zodiac-libra::before{content:"\F0A83"}.mdi-zodiac-pisces::before{content:"\F0A84"}.mdi-zodiac-sagittarius::before{content:"\F0A85"}.mdi-zodiac-scorpio::before{content:"\F0A86"}.mdi-zodiac-taurus::before{content:"\F0A87"}.mdi-zodiac-virgo::before{content:"\F0A88"}.mdi-blank::before{content:"\F68C";visibility:hidden}.mdi-18px.mdi-set,.mdi-18px.mdi:before{font-size:18px}.mdi-24px.mdi-set,.mdi-24px.mdi:before{font-size:24px}.mdi-36px.mdi-set,.mdi-36px.mdi:before{font-size:36px}.mdi-48px.mdi-set,.mdi-48px.mdi:before{font-size:48px}.mdi-dark:before{color:rgba(0,0,0,0.54)}.mdi-dark.mdi-inactive:before{color:rgba(0,0,0,0.26)}.mdi-light:before{color:#fff}.mdi-light.mdi-inactive:before{color:rgba(255,255,255,0.3)}.mdi-rotate-45:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.mdi-rotate-90:before{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.mdi-rotate-135:before{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.mdi-rotate-180:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.mdi-rotate-225:before{-webkit-transform:rotate(225deg);-ms-transform:rotate(225deg);transform:rotate(225deg)}.mdi-rotate-270:before{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.mdi-rotate-315:before{-webkit-transform:rotate(315deg);-ms-transform:rotate(315deg);transform:rotate(315deg)}.mdi-flip-h:before{-webkit-transform:scaleX(-1);transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mdi-flip-v:before{-webkit-transform:scaleY(-1);transform:scaleY(-1);filter:FlipV;-ms-filter:"FlipV"}.mdi-spin:before{-webkit-animation:mdi-spin 2s infinite linear;animation:mdi-spin 2s infinite linear}@-webkit-keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} + +/*# sourceMappingURL=materialdesignicons.css.map */ diff --git a/web/scripts/api.js b/web/scripts/api.js new file mode 100644 index 0000000000000000000000000000000000000000..e022d4e16a51b0363bb836358d085e77f536cf11 --- /dev/null +++ b/web/scripts/api.js @@ -0,0 +1,3 @@ +// Shim for scripts/api.ts +export const ComfyApi = window.comfyAPI.api.ComfyApi; +export const api = window.comfyAPI.api.api; diff --git a/web/scripts/app.js b/web/scripts/app.js new file mode 100644 index 0000000000000000000000000000000000000000..3ae1a239d9d3e1c76cded267eb96e18f16c5058c --- /dev/null +++ b/web/scripts/app.js @@ -0,0 +1,4 @@ +// Shim for scripts/app.ts +export const ANIM_PREVIEW_WIDGET = window.comfyAPI.app.ANIM_PREVIEW_WIDGET; +export const ComfyApp = window.comfyAPI.app.ComfyApp; +export const app = window.comfyAPI.app.app; diff --git a/web/scripts/changeTracker.js b/web/scripts/changeTracker.js new file mode 100644 index 0000000000000000000000000000000000000000..c4c391cf2e4e2be29e3b3f708f358a3d03c50a02 --- /dev/null +++ b/web/scripts/changeTracker.js @@ -0,0 +1,2 @@ +// Shim for scripts/changeTracker.ts +export const ChangeTracker = window.comfyAPI.changeTracker.ChangeTracker; diff --git a/web/scripts/defaultGraph.js b/web/scripts/defaultGraph.js new file mode 100644 index 0000000000000000000000000000000000000000..eaefc5b0c5f53c92f70b436c1a2b1231b98011c5 --- /dev/null +++ b/web/scripts/defaultGraph.js @@ -0,0 +1,4 @@ +// Shim for scripts/defaultGraph.ts +export const defaultGraph = window.comfyAPI.defaultGraph.defaultGraph; +export const defaultGraphJSON = window.comfyAPI.defaultGraph.defaultGraphJSON; +export const blankGraph = window.comfyAPI.defaultGraph.blankGraph; diff --git a/web/scripts/metadata/flac.js b/web/scripts/metadata/flac.js new file mode 100644 index 0000000000000000000000000000000000000000..3b247b43cb08db7b69424450a61b8ea2bd15c10b --- /dev/null +++ b/web/scripts/metadata/flac.js @@ -0,0 +1,3 @@ +// Shim for scripts/metadata/flac.ts +export const getFromFlacBuffer = window.comfyAPI.flac.getFromFlacBuffer; +export const getFromFlacFile = window.comfyAPI.flac.getFromFlacFile; diff --git a/web/scripts/metadata/png.js b/web/scripts/metadata/png.js new file mode 100644 index 0000000000000000000000000000000000000000..789ef4f0ff28e8b2840ed9708258f905d72ec4ec --- /dev/null +++ b/web/scripts/metadata/png.js @@ -0,0 +1,3 @@ +// Shim for scripts/metadata/png.ts +export const getFromPngBuffer = window.comfyAPI.png.getFromPngBuffer; +export const getFromPngFile = window.comfyAPI.png.getFromPngFile; diff --git a/web/scripts/pnginfo.js b/web/scripts/pnginfo.js new file mode 100644 index 0000000000000000000000000000000000000000..991d2929c6d10fde1bbea111b9ff2eb45efbe8ac --- /dev/null +++ b/web/scripts/pnginfo.js @@ -0,0 +1,6 @@ +// Shim for scripts/pnginfo.ts +export const getPngMetadata = window.comfyAPI.pnginfo.getPngMetadata; +export const getFlacMetadata = window.comfyAPI.pnginfo.getFlacMetadata; +export const getWebpMetadata = window.comfyAPI.pnginfo.getWebpMetadata; +export const getLatentMetadata = window.comfyAPI.pnginfo.getLatentMetadata; +export const importA1111 = window.comfyAPI.pnginfo.importA1111; diff --git a/web/scripts/ui.js b/web/scripts/ui.js new file mode 100644 index 0000000000000000000000000000000000000000..948a039b8de1d7c1c53b74183908a68acd48c864 --- /dev/null +++ b/web/scripts/ui.js @@ -0,0 +1,4 @@ +// Shim for scripts/ui.ts +export const ComfyDialog = window.comfyAPI.ui.ComfyDialog; +export const $el = window.comfyAPI.ui.$el; +export const ComfyUI = window.comfyAPI.ui.ComfyUI; diff --git a/web/scripts/ui/components/asyncDialog.js b/web/scripts/ui/components/asyncDialog.js new file mode 100644 index 0000000000000000000000000000000000000000..43a8e19e696ade2104c64fff2f0acfca5d7b5f65 --- /dev/null +++ b/web/scripts/ui/components/asyncDialog.js @@ -0,0 +1,2 @@ +// Shim for scripts/ui/components/asyncDialog.ts +export const ComfyAsyncDialog = window.comfyAPI.asyncDialog.ComfyAsyncDialog; diff --git a/web/scripts/ui/components/button.js b/web/scripts/ui/components/button.js new file mode 100644 index 0000000000000000000000000000000000000000..7fe39ee29bde796cdb8e191ce8856b49c884d1d5 --- /dev/null +++ b/web/scripts/ui/components/button.js @@ -0,0 +1,2 @@ +// Shim for scripts/ui/components/button.ts +export const ComfyButton = window.comfyAPI.button.ComfyButton; diff --git a/web/scripts/ui/components/buttonGroup.js b/web/scripts/ui/components/buttonGroup.js new file mode 100644 index 0000000000000000000000000000000000000000..5fa0021ab1c5076750a05db26f9ce393e6764955 --- /dev/null +++ b/web/scripts/ui/components/buttonGroup.js @@ -0,0 +1,2 @@ +// Shim for scripts/ui/components/buttonGroup.ts +export const ComfyButtonGroup = window.comfyAPI.buttonGroup.ComfyButtonGroup; diff --git a/web/scripts/ui/components/popup.js b/web/scripts/ui/components/popup.js new file mode 100644 index 0000000000000000000000000000000000000000..93f9f093dc323d70c241cbe499c5393a9a2f00a5 --- /dev/null +++ b/web/scripts/ui/components/popup.js @@ -0,0 +1,2 @@ +// Shim for scripts/ui/components/popup.ts +export const ComfyPopup = window.comfyAPI.popup.ComfyPopup; diff --git a/web/scripts/ui/components/splitButton.js b/web/scripts/ui/components/splitButton.js new file mode 100644 index 0000000000000000000000000000000000000000..53a21b69b7fbbcd02e42aa7e311b82c4b31b1ae1 --- /dev/null +++ b/web/scripts/ui/components/splitButton.js @@ -0,0 +1,2 @@ +// Shim for scripts/ui/components/splitButton.ts +export const ComfySplitButton = window.comfyAPI.splitButton.ComfySplitButton; diff --git a/web/scripts/ui/dialog.js b/web/scripts/ui/dialog.js new file mode 100644 index 0000000000000000000000000000000000000000..7475d42fa90c456f45815c9e0732d5ec3b644f85 --- /dev/null +++ b/web/scripts/ui/dialog.js @@ -0,0 +1,2 @@ +// Shim for scripts/ui/dialog.ts +export const ComfyDialog = window.comfyAPI.dialog.ComfyDialog; diff --git a/web/scripts/ui/draggableList.js b/web/scripts/ui/draggableList.js new file mode 100644 index 0000000000000000000000000000000000000000..2c9596550ef8301a4da3e2c8d9d5c158286aff91 --- /dev/null +++ b/web/scripts/ui/draggableList.js @@ -0,0 +1,2 @@ +// Shim for scripts/ui/draggableList.ts +export const DraggableList = window.comfyAPI.draggableList.DraggableList; diff --git a/web/scripts/ui/imagePreview.js b/web/scripts/ui/imagePreview.js new file mode 100644 index 0000000000000000000000000000000000000000..4153bbf5fbfad97c8f744ab2175e4f404428c3c6 --- /dev/null +++ b/web/scripts/ui/imagePreview.js @@ -0,0 +1,3 @@ +// Shim for scripts/ui/imagePreview.ts +export const calculateImageGrid = window.comfyAPI.imagePreview.calculateImageGrid; +export const createImageHost = window.comfyAPI.imagePreview.createImageHost; diff --git a/web/scripts/ui/menu/index.js b/web/scripts/ui/menu/index.js new file mode 100644 index 0000000000000000000000000000000000000000..777b5b9930b40b630b6bbe3a2b9a1a1505e1353d --- /dev/null +++ b/web/scripts/ui/menu/index.js @@ -0,0 +1,2 @@ +// Shim for scripts/ui/menu/index.ts +export const ComfyAppMenu = window.comfyAPI.index.ComfyAppMenu; diff --git a/web/scripts/ui/settings.js b/web/scripts/ui/settings.js new file mode 100644 index 0000000000000000000000000000000000000000..3fd01c755fa8ea7ffa7c10701ff508491e063c85 --- /dev/null +++ b/web/scripts/ui/settings.js @@ -0,0 +1,2 @@ +// Shim for scripts/ui/settings.ts +export const ComfySettingsDialog = window.comfyAPI.settings.ComfySettingsDialog; diff --git a/web/scripts/ui/toggleSwitch.js b/web/scripts/ui/toggleSwitch.js new file mode 100644 index 0000000000000000000000000000000000000000..21be93d173e49405bc2d21b2500a5ee70c002d89 --- /dev/null +++ b/web/scripts/ui/toggleSwitch.js @@ -0,0 +1,2 @@ +// Shim for scripts/ui/toggleSwitch.ts +export const toggleSwitch = window.comfyAPI.toggleSwitch.toggleSwitch; diff --git a/web/scripts/ui/utils.js b/web/scripts/ui/utils.js new file mode 100644 index 0000000000000000000000000000000000000000..cd4b49137358530c255cd8c8ef21b297174fac0c --- /dev/null +++ b/web/scripts/ui/utils.js @@ -0,0 +1,3 @@ +// Shim for scripts/ui/utils.ts +export const applyClasses = window.comfyAPI.utils.applyClasses; +export const toggleElement = window.comfyAPI.utils.toggleElement; diff --git a/web/scripts/utils.js b/web/scripts/utils.js new file mode 100644 index 0000000000000000000000000000000000000000..8bff241fa04904340d68501e43c0c65ddbad5aac --- /dev/null +++ b/web/scripts/utils.js @@ -0,0 +1,9 @@ +// Shim for scripts/utils.ts +export const clone = window.comfyAPI.utils.clone; +export const applyTextReplacements = window.comfyAPI.utils.applyTextReplacements; +export const addStylesheet = window.comfyAPI.utils.addStylesheet; +export const downloadBlob = window.comfyAPI.utils.downloadBlob; +export const uploadFile = window.comfyAPI.utils.uploadFile; +export const prop = window.comfyAPI.utils.prop; +export const getStorageValue = window.comfyAPI.utils.getStorageValue; +export const setStorageValue = window.comfyAPI.utils.setStorageValue; diff --git a/web/scripts/widgets.js b/web/scripts/widgets.js new file mode 100644 index 0000000000000000000000000000000000000000..dd4dcb4e375b39ff9944d063ed3576ca097632de --- /dev/null +++ b/web/scripts/widgets.js @@ -0,0 +1,6 @@ +// Shim for scripts/widgets.ts +export const updateControlWidgetLabel = window.comfyAPI.widgets.updateControlWidgetLabel; +export const IS_CONTROL_WIDGET = window.comfyAPI.widgets.IS_CONTROL_WIDGET; +export const addValueControlWidget = window.comfyAPI.widgets.addValueControlWidget; +export const addValueControlWidgets = window.comfyAPI.widgets.addValueControlWidgets; +export const ComfyWidgets = window.comfyAPI.widgets.ComfyWidgets; diff --git a/web/templates/default.jpg b/web/templates/default.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a2b870cef72112082e940fbf9fa00ee05ce62d37 Binary files /dev/null and b/web/templates/default.jpg differ diff --git a/web/templates/default.json b/web/templates/default.json new file mode 100644 index 0000000000000000000000000000000000000000..657ac107cc1310589cfcd0c950e5c4c78b82cf87 --- /dev/null +++ b/web/templates/default.json @@ -0,0 +1,356 @@ +{ + "last_node_id": 9, + "last_link_id": 9, + "nodes": [ + { + "id": 7, + "type": "CLIPTextEncode", + "pos": [ + 413, + 389 + ], + "size": [ + 425.27801513671875, + 180.6060791015625 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 5 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6 + ], + "slot_index": 0 + } + ], + "properties": {}, + "widgets_values": [ + "text, watermark" + ] + }, + { + "id": 6, + "type": "CLIPTextEncode", + "pos": [ + 415, + 186 + ], + "size": [ + 422.84503173828125, + 164.31304931640625 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 3 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 4 + ], + "slot_index": 0 + } + ], + "properties": {}, + "widgets_values": [ + "beautiful scenery nature glass bottle landscape, , purple galaxy bottle," + ] + }, + { + "id": 5, + "type": "EmptyLatentImage", + "pos": [ + 473, + 609 + ], + "size": [ + 315, + 106 + ], + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 2 + ], + "slot_index": 0 + } + ], + "properties": {}, + "widgets_values": [ + 512, + 512, + 1 + ] + }, + { + "id": 3, + "type": "KSampler", + "pos": [ + 863, + 186 + ], + "size": [ + 315, + 262 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 4 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 6 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 2 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ], + "slot_index": 0 + } + ], + "properties": {}, + "widgets_values": [ + 156680208700286, + true, + 20, + 8, + "euler", + "normal", + 1 + ] + }, + { + "id": 8, + "type": "VAEDecode", + "pos": [ + 1209, + 188 + ], + "size": [ + 210, + 46 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 7 + }, + { + "name": "vae", + "type": "VAE", + "link": 8 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 9 + ], + "slot_index": 0 + } + ], + "properties": {} + }, + { + "id": 9, + "type": "SaveImage", + "pos": [ + 1451, + 189 + ], + "size": [ + 210, + 26 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 9 + } + ], + "properties": {} + }, + { + "id": 4, + "type": "CheckpointLoaderSimple", + "pos": [ + 26, + 474 + ], + "size": [ + 315, + 98 + ], + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1 + ], + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 3, + 5 + ], + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 8 + ], + "slot_index": 2 + } + ], + "properties": {}, + "widgets_values": [ + "v1-5-pruned-emaonly.safetensors" + ] + } + ], + "links": [ + [ + 1, + 4, + 0, + 3, + 0, + "MODEL" + ], + [ + 2, + 5, + 0, + 3, + 3, + "LATENT" + ], + [ + 3, + 4, + 1, + 6, + 0, + "CLIP" + ], + [ + 4, + 6, + 0, + 3, + 1, + "CONDITIONING" + ], + [ + 5, + 4, + 1, + 7, + 0, + "CLIP" + ], + [ + 6, + 7, + 0, + 3, + 2, + "CONDITIONING" + ], + [ + 7, + 3, + 0, + 8, + 0, + "LATENT" + ], + [ + 8, + 4, + 2, + 8, + 1, + "VAE" + ], + [ + 9, + 8, + 0, + 9, + 0, + "IMAGE" + ] + ], + "groups": [], + "config": {}, + "extra": {}, + "version": 0.4, + "models": [{ + "name": "v1-5-pruned-emaonly.safetensors", + "url": "https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly.safetensors?download=true", + "directory": "checkpoints" + }] +} diff --git a/web/templates/flux_schnell.jpg b/web/templates/flux_schnell.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a0663c04120b6efc2f1d1e910da423eecf622f70 Binary files /dev/null and b/web/templates/flux_schnell.jpg differ diff --git a/web/templates/flux_schnell.json b/web/templates/flux_schnell.json new file mode 100644 index 0000000000000000000000000000000000000000..9a6858faf66256ab2e5bc3ed22a1fa2ce3574021 --- /dev/null +++ b/web/templates/flux_schnell.json @@ -0,0 +1,420 @@ +{ + "last_node_id": 36, + "last_link_id": 58, + "nodes": [ + { + "id": 33, + "type": "CLIPTextEncode", + "pos": [ + 390, + 400 + ], + "size": { + "0": 422.84503173828125, + "1": 164.31304931640625 + }, + "flags": { + "collapsed": true + }, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 54, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 55 + ], + "slot_index": 0 + } + ], + "title": "CLIP Text Encode (Negative Prompt)", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 27, + "type": "EmptySD3LatentImage", + "pos": [ + 471, + 455 + ], + "size": { + "0": 315, + "1": 106 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 51 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptySD3LatentImage" + }, + "widgets_values": [ + 1024, + 1024, + 1 + ], + "color": "#323", + "bgcolor": "#535" + }, + { + "id": 8, + "type": "VAEDecode", + "pos": [ + 1151, + 195 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 52 + }, + { + "name": "vae", + "type": "VAE", + "link": 46 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 9 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + } + }, + { + "id": 9, + "type": "SaveImage", + "pos": [ + 1375, + 194 + ], + "size": { + "0": 985.3012084960938, + "1": 1060.3828125 + }, + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 9 + } + ], + "properties": {}, + "widgets_values": [ + "ComfyUI" + ] + }, + { + "id": 31, + "type": "KSampler", + "pos": [ + 816, + 192 + ], + "size": { + "0": 315, + "1": 262 + }, + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 47 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 58 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 55 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 51 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 52 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 173805153958730, + "randomize", + 4, + 1, + "euler", + "simple", + 1 + ] + }, + { + "id": 30, + "type": "CheckpointLoaderSimple", + "pos": [ + 48, + 192 + ], + "size": { + "0": 315, + "1": 98 + }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 47 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 45, + 54 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 46 + ], + "shape": 3, + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "flux1-schnell-fp8.safetensors" + ] + }, + { + "id": 6, + "type": "CLIPTextEncode", + "pos": [ + 384, + 192 + ], + "size": { + "0": 422.84503173828125, + "1": 164.31304931640625 + }, + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 45 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 58 + ], + "slot_index": 0 + } + ], + "title": "CLIP Text Encode (Positive Prompt)", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "a bottle with a beautiful rainbow galaxy inside it on top of a wooden table in the middle of a modern kitchen beside a plate of vegetables and mushrooms and a wine glasse that contains a planet earth with a plate with a half eaten apple pie on it" + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 34, + "type": "Note", + "pos": [ + 831, + 501 + ], + "size": { + "0": 282.8617858886719, + "1": 164.08004760742188 + }, + "flags": {}, + "order": 2, + "mode": 0, + "properties": { + "text": "" + }, + "widgets_values": [ + "Note that Flux dev and schnell do not have any negative prompt so CFG should be set to 1.0. Setting CFG to 1.0 means the negative prompt is ignored.\n\nThe schnell model is a distilled model that can generate a good image with only 4 steps." + ], + "color": "#432", + "bgcolor": "#653" + } + ], + "links": [ + [ + 9, + 8, + 0, + 9, + 0, + "IMAGE" + ], + [ + 45, + 30, + 1, + 6, + 0, + "CLIP" + ], + [ + 46, + 30, + 2, + 8, + 1, + "VAE" + ], + [ + 47, + 30, + 0, + 31, + 0, + "MODEL" + ], + [ + 51, + 27, + 0, + 31, + 3, + "LATENT" + ], + [ + 52, + 31, + 0, + 8, + 0, + "LATENT" + ], + [ + 54, + 30, + 1, + 33, + 0, + "CLIP" + ], + [ + 55, + 33, + 0, + 31, + 2, + "CONDITIONING" + ], + [ + 58, + 6, + 0, + 31, + 1, + "CONDITIONING" + ] + ], + "groups": [], + "config": {}, + "extra": { + "ds": { + "scale": 1.1, + "offset": [ + 0.6836674124529055, + 1.8290357611967831 + ] + } + }, + "models": [ + { + "name": "flux1-schnell-fp8.safetensors", + "url": "https://huggingface.co/Comfy-Org/flux1-schnell/resolve/main/flux1-schnell-fp8.safetensors?download=true", + "directory": "checkpoints" + } + ], + "version": 0.4 + } diff --git a/web/templates/image2image.jpg b/web/templates/image2image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fc8e3ab61cfbd4316bd08730222b636c4c4eee92 Binary files /dev/null and b/web/templates/image2image.jpg differ diff --git a/web/templates/image2image.json b/web/templates/image2image.json new file mode 100644 index 0000000000000000000000000000000000000000..81da539d0f35445afd7aa862e06aa55efccfb44b --- /dev/null +++ b/web/templates/image2image.json @@ -0,0 +1,447 @@ +{ + "last_node_id": 14, + "last_link_id": 17, + "nodes": [ + { + "id": 7, + "type": "CLIPTextEncode", + "pos": [ + 413, + 389 + ], + "size": { + "0": 425.27801513671875, + "1": 180.6060791015625 + }, + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 15 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "watermark, text\n" + ] + }, + { + "id": 6, + "type": "CLIPTextEncode", + "pos": [ + 415, + 186 + ], + "size": { + "0": 422.84503173828125, + "1": 164.31304931640625 + }, + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 14 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 4 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "photograph of victorian woman with wings, sky clouds, meadow grass\n" + ] + }, + { + "id": 8, + "type": "VAEDecode", + "pos": [ + 1209, + 188 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 7 + }, + { + "name": "vae", + "type": "VAE", + "link": 17 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 9 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + } + }, + { + "id": 9, + "type": "SaveImage", + "pos": [ + 1451, + 189 + ], + "size": { + "0": 210, + "1": 58 + }, + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 9 + } + ], + "properties": {}, + "widgets_values": [ + "ComfyUI" + ] + }, + { + "id": 10, + "type": "LoadImage", + "pos": [ + 215.9799597167969, + 703.6800268554688 + ], + "size": [ + 315, + 314.00002670288086 + ], + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 10 + ], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "example.png", + "image" + ] + }, + { + "id": 12, + "type": "VAEEncode", + "pos": [ + 614.979959716797, + 707.6800268554688 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "pixels", + "type": "IMAGE", + "link": 10 + }, + { + "name": "vae", + "type": "VAE", + "link": 16 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 11 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEEncode" + } + }, + { + "id": 3, + "type": "KSampler", + "pos": [ + 863, + 186 + ], + "size": { + "0": 315, + "1": 262 + }, + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 13 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 4 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 6 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 11 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 280823642470253, + "randomize", + 20, + 8, + "dpmpp_2m", + "normal", + 0.8700000000000001 + ] + }, + { + "id": 14, + "type": "CheckpointLoaderSimple", + "pos": [ + 19, + 433 + ], + "size": { + "0": 315, + "1": 98 + }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 13 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 14, + 15 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 16, + 17 + ], + "shape": 3, + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "v1-5-pruned-emaonly.safetensors" + ] + } + ], + "links": [ + [ + 4, + 6, + 0, + 3, + 1, + "CONDITIONING" + ], + [ + 6, + 7, + 0, + 3, + 2, + "CONDITIONING" + ], + [ + 7, + 3, + 0, + 8, + 0, + "LATENT" + ], + [ + 9, + 8, + 0, + 9, + 0, + "IMAGE" + ], + [ + 10, + 10, + 0, + 12, + 0, + "IMAGE" + ], + [ + 11, + 12, + 0, + 3, + 3, + "LATENT" + ], + [ + 13, + 14, + 0, + 3, + 0, + "MODEL" + ], + [ + 14, + 14, + 1, + 6, + 0, + "CLIP" + ], + [ + 15, + 14, + 1, + 7, + 0, + "CLIP" + ], + [ + 16, + 14, + 2, + 12, + 1, + "VAE" + ], + [ + 17, + 14, + 2, + 8, + 1, + "VAE" + ] + ], + "groups": [ + { + "title": "Loading images", + "bounding": [ + 150, + 630, + 726, + 171 + ], + "color": "#3f789e" + } + ], + "config": {}, + "extra": {}, + "version": 0.4, + "models": [{ + "name": "v1-5-pruned-emaonly.safetensors", + "url": "https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly.safetensors?download=true", + "directory": "checkpoints" + }] +} diff --git a/web/templates/upscale.jpg b/web/templates/upscale.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e8523535f84128e9d7d894c9a760462c444d0e86 Binary files /dev/null and b/web/templates/upscale.jpg differ diff --git a/web/templates/upscale.json b/web/templates/upscale.json new file mode 100644 index 0000000000000000000000000000000000000000..5d568b1c50ce1436326341e97ca3e962372a52d4 --- /dev/null +++ b/web/templates/upscale.json @@ -0,0 +1,652 @@ +{ + "last_node_id": 16, + "last_link_id": 23, + "nodes": [ + { + "id": 8, + "type": "VAEDecode", + "pos": [ + 1235.7215957031258, + 577.1878720703122 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 7 + }, + { + "name": "vae", + "type": "VAE", + "link": 21 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 9 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + } + }, + { + "id": 10, + "type": "LatentUpscale", + "pos": [ + 1238, + 170 + ], + "size": { + "0": 315, + "1": 130 + }, + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 10 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 14 + ] + } + ], + "properties": { + "Node name for S&R": "LatentUpscale" + }, + "widgets_values": [ + "nearest-exact", + 1152, + 1152, + "disabled" + ] + }, + { + "id": 13, + "type": "VAEDecode", + "pos": [ + 1961, + 125 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 15 + }, + { + "name": "vae", + "type": "VAE", + "link": 22 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 17 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + } + }, + { + "id": 6, + "type": "CLIPTextEncode", + "pos": [ + 374, + 171 + ], + "size": { + "0": 422.84503173828125, + "1": 164.31304931640625 + }, + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 19 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 4, + 12 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "masterpiece HDR victorian portrait painting of woman, blonde hair, mountain nature, blue sky\n" + ] + }, + { + "id": 7, + "type": "CLIPTextEncode", + "pos": [ + 377, + 381 + ], + "size": { + "0": 425.27801513671875, + "1": 180.6060791015625 + }, + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 20 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6, + 13 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "bad hands, text, watermark\n" + ] + }, + { + "id": 5, + "type": "EmptyLatentImage", + "pos": [ + 435, + 600 + ], + "size": { + "0": 315, + "1": 106 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 2 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyLatentImage" + }, + "widgets_values": [ + 768, + 768, + 1 + ] + }, + { + "id": 11, + "type": "KSampler", + "pos": [ + 1585, + 114 + ], + "size": { + "0": 315, + "1": 262 + }, + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 23, + "slot_index": 0 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 12, + "slot_index": 1 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 13, + "slot_index": 2 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 14, + "slot_index": 3 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 15 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 469771404043268, + "randomize", + 14, + 8, + "dpmpp_2m", + "simple", + 0.5 + ] + }, + { + "id": 12, + "type": "SaveImage", + "pos": [ + 2203, + 123 + ], + "size": { + "0": 407.53717041015625, + "1": 468.13226318359375 + }, + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 17 + } + ], + "properties": {}, + "widgets_values": [ + "ComfyUI" + ] + }, + { + "id": 3, + "type": "KSampler", + "pos": [ + 845, + 172 + ], + "size": { + "0": 315, + "1": 262 + }, + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 18 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 4 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 6 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 2 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7, + 10 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 89848141647836, + "randomize", + 12, + 8, + "dpmpp_sde", + "normal", + 1 + ] + }, + { + "id": 16, + "type": "CheckpointLoaderSimple", + "pos": [ + 24, + 315 + ], + "size": { + "0": 315, + "1": 98 + }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 18, + 23 + ], + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 19, + 20 + ], + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 21, + 22 + ], + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "v2-1_768-ema-pruned.safetensors" + ] + }, + { + "id": 9, + "type": "SaveImage", + "pos": [ + 1495.7215957031258, + 576.1878720703122 + ], + "size": [ + 232.9403301043692, + 282.4336258387117 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 9 + } + ], + "properties": {}, + "widgets_values": [ + "ComfyUI" + ] + } + ], + "links": [ + [ + 2, + 5, + 0, + 3, + 3, + "LATENT" + ], + [ + 4, + 6, + 0, + 3, + 1, + "CONDITIONING" + ], + [ + 6, + 7, + 0, + 3, + 2, + "CONDITIONING" + ], + [ + 7, + 3, + 0, + 8, + 0, + "LATENT" + ], + [ + 9, + 8, + 0, + 9, + 0, + "IMAGE" + ], + [ + 10, + 3, + 0, + 10, + 0, + "LATENT" + ], + [ + 12, + 6, + 0, + 11, + 1, + "CONDITIONING" + ], + [ + 13, + 7, + 0, + 11, + 2, + "CONDITIONING" + ], + [ + 14, + 10, + 0, + 11, + 3, + "LATENT" + ], + [ + 15, + 11, + 0, + 13, + 0, + "LATENT" + ], + [ + 17, + 13, + 0, + 12, + 0, + "IMAGE" + ], + [ + 18, + 16, + 0, + 3, + 0, + "MODEL" + ], + [ + 19, + 16, + 1, + 6, + 0, + "CLIP" + ], + [ + 20, + 16, + 1, + 7, + 0, + "CLIP" + ], + [ + 21, + 16, + 2, + 8, + 1, + "VAE" + ], + [ + 22, + 16, + 2, + 13, + 1, + "VAE" + ], + [ + 23, + 16, + 0, + 11, + 0, + "MODEL" + ] + ], + "groups": [ + { + "title": "Txt2Img", + "bounding": [ + -1, + 30, + 1211, + 708 + ], + "color": "#a1309b" + }, + { + "title": "Save Intermediate Image", + "bounding": [ + 1225, + 500, + 516, + 196 + ], + "color": "#3f789e" + }, + { + "title": "Hires Fix", + "bounding": [ + 1224, + 29, + 710, + 464 + ], + "color": "#b58b2a" + }, + { + "title": "Save Final Image", + "bounding": [ + 1949, + 31, + 483, + 199 + ], + "color": "#3f789e" + } + ], + "config": {}, + "extra": {}, + "version": 0.4, + "models": [ + { + "name": "v2-1_768-ema-pruned.safetensors", + "url": "https://huggingface.co/stabilityai/stable-diffusion-2-1/resolve/main/v2-1_768-ema-pruned.safetensors?download=true", + "directory": "checkpoints" + } + ] + } diff --git a/web/user.css b/web/user.css new file mode 100644 index 0000000000000000000000000000000000000000..8b1af38689e5853fb065714d6a6d322c52f17e72 --- /dev/null +++ b/web/user.css @@ -0,0 +1 @@ +/* Put custom styles here */ \ No newline at end of file